[
  {
    "path": ".dockerignore",
    "content": "outputs/\nsrc/\nconfigs/webui/userconfig_streamlit.yaml\n"
  },
  {
    "path": ".env_docker.example",
    "content": "# Force miniconda to attempt to update on every container restart\n# instead only when changes are detected\nCONDA_FORCE_UPDATE=false\n\n# Validate the model files on every container restart\n# (useful to set to false after you're sure the model files are already in place)\nVALIDATE_MODELS=true\n\n#Automatically relaunch the webui on crashes\nWEBUI_RELAUNCH=true\n\n#Pass cli arguments to webui.py e.g:\n#WEBUI_ARGS=--gpu=1 --esrgan-gpu=1 --gfpgan-gpu=1\nWEBUI_ARGS="
  },
  {
    "path": ".gitattributes",
    "content": "* text=auto\n*.{cmd,[cC][mM][dD]} text eol=crlf\n*.{bat,[bB][aA][tT]} text eol=crlf\n*.sh text eol=lf\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "github: [ZeroCool940711]\npatreon: zerocool94\nko_fi: zerocool94\nopen_collective: sygil_dev\ncustom: [\"https://paypal.me/zerocool94\"]\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.yml",
    "content": "name: 🐞 Bug Report\ndescription: File a bug report\ntitle: \"[Bug]: \"\nlabels: [\"bug\", \"triage\"]\nassignees:\n  - octocat\nbody:\n  - type: markdown\n    attributes:\n      value: |\n        Thanks for taking the time to fill out this bug report!\n  - type: textarea\n    id: what-happened\n    attributes:\n      label: What happened?\n      description: Also tell us, what did you expect to happen?\n      placeholder: Tell us what you see!\n      value: \"A bug happened!\"\n    validations:\n      required: true\n  - type: dropdown\n    id: version\n    attributes:\n      label: Version\n      description: What version of our software are you running?\n      options:\n        - 0.0.1 (Default)\n    validations:\n      required: true\n  - type: dropdown\n    id: browsers\n    attributes:\n      label: What browsers are you seeing the problem on?\n      multiple: true\n      options:\n        - Firefox\n        - Chrome\n        - Safari\n        - Microsoft Edge\n  - type: dropdown\n    id: os\n    attributes:\n      label: Where are you running the webui?\n      multiple: true\n      options:\n        - Windows\n        - Colab\n        - Linux\n        - MacOS\n  - type: textarea\n    id: settings\n    attributes:\n      label: Custom settings\n      description: If you are running the webui with specifi settings, please paste them here for reference (like --nitro)\n      render: shell\n  - type: textarea\n    id: logs\n    attributes:\n      label: Relevant log output\n      description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.\n      render: shell\n  - type: checkboxes\n    id: terms\n    attributes:\n      label: Code of Conduct\n      description: By submitting this issue, you agree to follow our [Code of Conduct](https://docs.github.com/en/site-policy/github-terms/github-community-code-of-conduct)\n      options:\n        - label: I agree to follow this project's Code of Conduct\n          required: true\n"
  },
  {
    "path": ".github/PULL_REQUEST_TEMPLATE.md",
    "content": "# Description\n\nPlease include:\n* relevant motivation\n* a summary of the change\n* which issue is fixed.\n* any additional dependencies that are required for this change.\n\nCloses: # (issue)\n\n# Checklist:\n\n- [ ] I have changed the base branch to `dev`\n- [ ] I have performed a self-review of my own code\n- [ ] I have commented my code in hard-to-understand areas\n- [ ] I have made corresponding changes to the documentation\n"
  },
  {
    "path": ".github/dependabot.yml",
    "content": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where the package manifests are located.\n# Please see the documentation for all configuration options:\n# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates\n\nversion: 2\nupdates:\n  - package-ecosystem: \"pip\" # See documentation for possible values\n    directory: \"/\" # Location of package manifests\n    target-branch: \"dev\"\n\n    schedule:\n      interval: \"daily\"\n"
  },
  {
    "path": ".github/workflows/deploy.yml",
    "content": "name: Deploy to GitHub Pages\n\non:\n  push:\n    branches:\n      - master\n    # Review gh actions docs if you want to further define triggers, paths, etc\n    # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on\n\njobs:\n  deploy:\n    name: Deploy to GitHub Pages\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: actions/setup-node@v3\n        with:\n          node-version: 18\n          cache: yarn\n\n      - name: Install dependencies\n        run: yarn install\n      - name: Build website\n        run: yarn build\n\n      # Popular action to deploy to GitHub Pages:\n      # Docs: https://github.com/peaceiris/actions-gh-pages#%EF%B8%8F-docusaurus\n      - name: Deploy to GitHub Pages\n        uses: peaceiris/actions-gh-pages@v3\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          # Build output to publish to the `gh-pages` branch:\n          publish_dir: ./build\n          # The following lines assign commit authorship to the official\n          # GH-Actions bot for deploys to `gh-pages` branch:\n          # https://github.com/actions/checkout/issues/13#issuecomment-724415212\n          # The GH actions bot is used by default if you didn't specify the two fields.\n          # You can swap them out with your own user credentials.\n          user_name: github-actions[bot]\n          user_email: 41898282+github-actions[bot]@users.noreply.github.com\n"
  },
  {
    "path": ".github/workflows/test-deploy.yml",
    "content": "name: Test deployment\n\non:\n  pull_request:\n    branches:\n      - master\n    # Review gh actions docs if you want to further define triggers, paths, etc\n    # https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#on\n\njobs:\n  test-deploy:\n    name: Test deployment\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v2\n      - uses: actions/setup-node@v3\n        with:\n          node-version: 18\n          cache: yarn\n\n      - name: Install dependencies\n        run: yarn install\n      - name: Test build website\n        run: yarn build\n"
  },
  {
    "path": ".gitignore",
    "content": "# OS-generated\n# ------------\n.DS_Store*\n[Tt]humbs.db\n[Dd]esktop.ini\n\n# Programming - general\n*.log\n\n\n# =========================================================================== #\n# \tPython-related\n# =========================================================================== #\n# src: https://github.com/github/gitignore/blob/master/Python.gitignore\n\n# JetBrains PyCharm / Rider\n.idea/\n\n# Byte-compiled / optimized / DLL files\n__pycache__/\n*.py[cod]\n*$py.class\n\n# C extensions\n*.so\n\n# Distribution / packaging\n.Python\nbuild/\ndevelop-eggs/\ndownloads/\neggs/\n.eggs/\nlib/\nlib64/\nparts/\nsdist/\nvar/\nwheels/\nshare/python-wheels/\n*.egg-info/\n.installed.cfg\n*.egg\nMANIFEST\n.env_docker\n.env_updated\ncondaenv.*.requirements.txt\n\n# Visual Studio directories\n.vs/\n.vscode/\n\n# =========================================================================== #\n# \tRepo-specific\n# =========================================================================== #\n/configs/webui/userconfig_streamlit.yaml\n/configs/webui/userconfig_flet.yaml\n/custom-conda-path.txt\n!/src/components/*\n!/src/pages/*\n/src/*\n/outputs\n/model_cache\n/log/**/*.png\n/log/webui/*\n/log/log.csv\n/flagged/*\n/gfpgan/*\n/models/*\n/webui/flet/assets/uploads/\n/webui/flet/assets/outputs/\n\nz_version_env.tmp\nscripts/bridgeData.py\n/user_data/*\n\n# Dependencies\n/node_modules\n\n# Production\n/build\n\n# Generated files\n.docusaurus\n.cache-loader\n\n# Misc\n.DS_Store\n.env.local\n.env.development.local\n.env.test.local\n.env.production.local\n\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\n"
  },
  {
    "path": ".gitmodules",
    "content": ""
  },
  {
    "path": ".pre-commit-config.yaml",
    "content": "# See https://pre-commit.com for more information\n# See https://pre-commit.com/hooks.html for more hooks\nci:\n  autofix_prs: true\n  autoupdate_branch: 'dev'\n  autoupdate_commit_msg: '[pre-commit.ci] pre-commit autoupdate'\n  autoupdate_schedule: weekly\n\nrepos:\n  - repo: https://github.com/pre-commit/pre-commit-hooks\n    rev: v4.4.0\n    hooks:\n      - id: trailing-whitespace\n      - id: end-of-file-fixer\n      - id: check-yaml\n      - id: check-added-large-files\n\n  - repo: https://github.com/astral-sh/ruff-pre-commit\n    rev: \"v0.0.278\"\n    hooks:\n      - id: ruff\n        args: [--fix, --exit-non-zero-on-fix]\n\n  - repo: https://github.com/psf/black\n    rev: 23.7.0\n    hooks:\n      - id: black\n"
  },
  {
    "path": ".streamlit/config.toml",
    "content": "[global]\ndisableWatchdogWarning = false\nshowWarningOnDirectExecution = true\ndataFrameSerialization = \"arrow\"\n\n[logger]\nlevel = \"info\"\nmessageFormat = \"%(asctime)s %(message)s\"\n\n[client]\ncaching = true\ndisplayEnabled = true\nshowErrorDetails = true\n\n[runner]\nmagicEnabled = true\ninstallTracer = false\nfixMatplotlib = true\npostScriptGC = true\nfastReruns = false\n\n[server]\nfolderWatchBlacklist = []\nfileWatcherType = \"auto\"\ncookieSecret = \"\"\nheadless = false\nrunOnSave = false\nport = 8501\nbaseUrlPath = \"\"\nenableCORS = true\nenableXsrfProtection = true\nmaxUploadSize = 200\nmaxMessageSize = 200\nenableWebsocketCompression = false\n\n[browser]\ngatherUsageStats = false\nserverPort = 8501\n\n[mapbox]\ntoken = \"\"\n\n[deprecation]\nshowfileUploaderEncoding = true\nshowPyplotGlobalUse = true\n\n[theme]\nbase = \"dark\"\n"
  },
  {
    "path": "CONTRIBUTING.md",
    "content": "# Contribution Guide\n\nAll Pull Requests are opened against `dev` branch which is our main development branch.\n\nThere are two UI systems that are supported currently:\n\n* **Gradio** — entry point is in the `/scripts/webui.py` you can start from there. Check out [Gradio documentation](https://gradio.app/docs/) and their [Discord channel](https://discord.gg/Qs8AsnX7Jd) for more information about Gradio.\n* **Streamlit** — entry point is in the `/scripts/webui_streamlit.py`. Documentation on Streamlit is [located here](https://docs.streamlit.io/).\n\n### Development environment\n\n`environment.yaml` can be different from the one on `master` so be sure to update before making any changes to the code.\n\nThe development environment is currently very similar to the one in production, so you can work on your contribution in the same conda env. Optionally you can create a separate environment.\n\n### Making changes\n\nIf you're working on a fix please post about it in the respective issue. If the issue doesn't exist create it and then mention it in your Pull Request.\n\nIf you're introducing new features please make the corresponding additions to the documentation with an explanation of the new behavior. The documentation is located in `/docs/`. Depending on your contribution you may edit the existing files in there or create a new one.\n\n### Opening a Pull Request\n\nPrior to opening a request make sure your Web UI works locally with your changes and that your branch is up-to-date with the main repository. Finally, open a new PR against `dev` branch.\n"
  },
  {
    "path": "Dockerfile",
    "content": "ARG IMAGE=tukirito/sygil-webui:base\n\n# Use the base image\nFROM ${IMAGE}\n\n# Set the working directory\nWORKDIR /workdir\n\n# Use the specified shell\nSHELL [\"/bin/bash\", \"-c\"]\n\n# Set environment variables\nENV PYTHONPATH=/sd\n\n# Expose the required port\nEXPOSE 8501\n\n# Copy necessary files and directories\nCOPY ./entrypoint.sh /sd/\nCOPY ./data/DejaVuSans.ttf /usr/share/fonts/truetype/\nCOPY ./data /sd/data\nCOPY ./images /sd/images\nCOPY ./scripts /sd/scripts\nCOPY ./ldm /sd/ldm\nCOPY ./frontend /sd/frontend\nCOPY ./configs /sd/configs\nCOPY ./configs/webui/webui_streamlit.yaml /sd/configs/webui/userconfig_streamlit.yaml\nCOPY ./.streamlit /sd/.streamlit\nCOPY ./optimizedSD /sd/optimizedSD\n\n# Set the entrypoint\nENTRYPOINT [\"/sd/entrypoint.sh\"]\n\n# Create .streamlit directory and set up credentials.toml\nRUN mkdir -p ~/.streamlit \\\n    && echo \"[general]\" > ~/.streamlit/credentials.toml \\\n    && echo \"email = \\\"\\\"\" >> ~/.streamlit/credentials.toml\n"
  },
  {
    "path": "Dockerfile_base",
    "content": "ARG PYTORCH_IMAGE=hlky/pytorch:1.12.1-runtime\n\nFROM ${PYTORCH_IMAGE}\nSHELL [\"/bin/bash\", \"-c\"]\n\nWORKDIR /install\n\nRUN apt-get update && \\\n    apt-get install -y wget curl git build-essential zip unzip nano openssh-server libgl1 libsndfile1-dev && \\\n    apt-get clean && \\\n    rm -rf /var/lib/apt/lists/*\n\nCOPY ./requirements.txt /install/\nCOPY ./setup.py /install/\n\nRUN /opt/conda/bin/python -m pip install -r /install/requirements.txt\n\nRUN /opt/conda/bin/conda clean -ya\n"
  },
  {
    "path": "Dockerfile_runpod",
    "content": "ARG IMAGE=tukirito/sygil-webui:base\n\nFROM ${IMAGE}\n\nWORKDIR /workdir\n\nSHELL [\"/bin/bash\", \"-c\"]\n\nENV PYTHONPATH=/sd\n\nEXPOSE 8501\nCOPY ./runpod_entrypoint.sh /sd/entrypoint.sh\nCOPY ./data/DejaVuSans.ttf /usr/share/fonts/truetype/\nCOPY ./configs/ /sd/configs/\ncopy ./configs/webui/webui_streamlit.yaml /sd/configs/webui/userconfig_streamlit.yaml\nCOPY ./data/ /sd/data/\nCOPY ./frontend/ /sd/frontend/\nCOPY ./gfpgan/ /sd/gfpgan/\nCOPY ./images/ /sd/images/\nCOPY ./ldm/ /sd/ldm/\nCOPY ./models/ /sd/models/\ncopy ./optimizedSD/ /sd/optimizedSD/\nCOPY ./scripts/ /sd/scripts/\nCOPY ./.streamlit/ /sd/.streamlit/\nENTRYPOINT /sd/entrypoint.sh\n\nRUN mkdir -p ~/.streamlit/\nRUN echo \"[general]\"  > ~/.streamlit/credentials.toml\nRUN echo \"email = \\\"\\\"\"  >> ~/.streamlit/credentials.toml\n"
  },
  {
    "path": "LICENSE",
    "content": "                    GNU AFFERO GENERAL PUBLIC LICENSE\n                       Version 3, 19 November 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n\n  A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate.  Many developers of free software are heartened and\nencouraged by the resulting cooperation.  However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n\n  The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community.  It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server.  Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n\n  An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals.  This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU Affero General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Remote Network Interaction; Use with the GNU General Public License.\n\n  Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software.  This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time.  Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    <one line to give the program's name and a brief idea of what it does.>\n    Copyright (C) <year>  <name of author>\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU Affero General Public License as published\n    by the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU Affero General Public License for more details.\n\n    You should have received a copy of the GNU Affero General Public License\n    along with this program.  If not, see <https://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source.  For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code.  There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\n<https://www.gnu.org/licenses/>.\n"
  },
  {
    "path": "README.md",
    "content": "# <center>Web-based UI for Stable Diffusion</center>\r\n\r\n## Created by [Sygil.Dev](https://github.com/sygil-dev)\r\n\r\n## Join us at Sygil.Dev's Discord Server [![Generic badge](https://flat.badgen.net/discord/members/ttM8Tm6wge?icon=discord)](https://discord.gg/ttM8Tm6wge)\r\n\r\n## Installation instructions for:\r\n\r\n- **[Windows](https://sygil-dev.github.io/sygil-webui/docs/Installation/windows-installation)**\r\n- **[Linux](https://sygil-dev.github.io/sygil-webui/docs/Installation/linux-installation)**\r\n\r\n### Want to ask a question or request a feature?\r\n\r\nCome to our [Discord Server](https://discord.gg/gyXNe4NySY) or use [Discussions](https://github.com/sygil-dev/sygil-webui/discussions).\r\n\r\n## Documentation\r\n\r\n[Documentation is located here](https://sygil-dev.github.io/sygil-webui/)\r\n\r\n## Want to contribute?\r\n\r\nCheck the [Contribution Guide](CONTRIBUTING.md)\r\n\r\n[Sygil-Dev](https://github.com/Sygil-Dev) main devs:\r\n\r\n* ![ZeroCool940711's avatar](https://avatars.githubusercontent.com/u/5977640?s=40&v=4)[ZeroCool940711](https://github.com/ZeroCool940711)\r\n* ![Kasiya13's avatar](https://avatars.githubusercontent.com/u/26075839?s=40&v=4)[Kasiya13](https://github.com/Kasiya13)\r\n\r\n### Project Features:\r\n\r\n* Built-in image enhancers and upscalers, including GFPGAN and realESRGAN\r\n\r\n* Generator Preview: See your image as its being made\r\n\r\n* Run additional upscaling models on CPU to save VRAM\r\n\r\n* Textual inversion: [Reaserch Paper](https://textual-inversion.github.io/)\r\n\r\n* K-Diffusion Samplers: A great collection of samplers to use, including:\r\n\r\n  - `k_euler`\r\n  - `k_lms`\r\n  - `k_euler_a`\r\n  - `k_dpm_2`\r\n  - `k_dpm_2_a`\r\n  - `k_heun`\r\n  - `PLMS`\r\n  - `DDIM`\r\n\r\n* Loopback: Automatically feed the last generated sample back into img2img\r\n\r\n* Prompt Weighting & Negative Prompts: Gain more control over your creations\r\n\r\n* Selectable GPU usage from Settings tab\r\n\r\n* Word Seeds: Use words instead of seed numbers\r\n\r\n* Automated Launcher: Activate conda and run Stable Diffusion with a single command\r\n\r\n* Lighter on VRAM: 512x512 Text2Image & Image2Image tested working on 4GB (with *optimized* mode enabled in Settings)\r\n\r\n* Prompt validation: If your prompt is too long, you will get a warning in the text output field\r\n\r\n* Sequential seeds for batches: If you use a seed of 1000 to generate two batches of two images each, four generated images will have seeds: `1000, 1001, 1002, 1003`.\r\n\r\n* Prompt matrix: Separate multiple prompts using the `|` character, and the system will produce an image for every combination of them.\r\n\r\n* [Gradio] Advanced img2img editor with Mask and crop capabilities\r\n\r\n* [Gradio] Mask painting 🖌️: Powerful tool for re-generating only specific parts of an image you want to change (currently Gradio only)\r\n\r\n# SD WebUI\r\n\r\nAn easy way to work with Stable Diffusion right from your browser.\r\n\r\n## Streamlit\r\n\r\n![](images/streamlit/streamlit-t2i.png)\r\n\r\n**Features:**\r\n\r\n- Clean UI with an easy to use design, with support for widescreen displays\r\n- *Dynamic live preview* of your generations\r\n- Easily customizable defaults, right from the WebUI's Settings tab\r\n- An integrated gallery to show the generations for a prompt\r\n- *Optimized VRAM* usage for bigger generations or usage on lower end GPUs\r\n- *Text to Video:* Generate video clips from text prompts right from the WebUI (WIP)\r\n- Image to Text: Use [CLIP Interrogator](https://github.com/pharmapsychotic/clip-interrogator) to interrogate an image and get a prompt that you can use to generate a similar image using Stable Diffusion.\r\n- *Concepts Library:* Run custom embeddings others have made via textual inversion.\r\n- Textual Inversion training: Train your own embeddings on any photo you want and use it on your prompt.\r\n- **Currently in development: [Stable Horde](https://stablehorde.net/) integration; ImgLab, batch inputs, & mask editor from Gradio\r\n\r\n**Prompt Weights & Negative Prompts:**\r\n\r\nTo give a token (tag recognized by the AI) a specific or increased weight (emphasis), add `:0.##` to the prompt, where `0.##` is a decimal that will specify the weight of all tokens before the colon.\r\nEx: `cat:0.30, dog:0.70` or `guy riding a bicycle :0.7, incoming car :0.30`\r\n\r\nNegative prompts can be added by using  `###` , after which any tokens will be seen as negative.\r\nEx: `cat playing with string ### yarn` will negate `yarn` from the generated image.\r\n\r\nNegatives are a very powerful tool to get rid of contextually similar or related topics, but **be careful when adding them since the AI might see connections you can't**, and end up outputting gibberish\r\n\r\n**Tip:* Try using the same seed with different prompt configurations or weight values see how the AI understands them, it can lead to prompts that are more well-tuned and less prone to error.\r\n\r\nPlease see the [Streamlit Documentation](docs/4.streamlit-interface.md) to learn more.\r\n\r\n## Gradio [Legacy]\r\n\r\n![](images/gradio/gradio-t2i.png)\r\n\r\n**Features:**\r\n\r\n- Older UI that is functional and feature complete.\r\n- Has access to all upscaling models, including LSDR.\r\n- Dynamic prompt entry automatically changes your generation settings based on `--params` in a prompt.\r\n- Includes quick and easy ways to send generations to Image2Image or the Image Lab for upscaling.\r\n\r\n**Note: the Gradio interface is no longer being actively developed by Sygil.Dev and is only receiving bug fixes.**\r\n\r\nPlease see the [Gradio Documentation](https://sygil-dev.github.io/sygil-webui/docs/Gradio/gradio-interface/) to learn more.\r\n\r\n## Image Upscalers\r\n\r\n---\r\n\r\n### GFPGAN\r\n\r\n![](images/GFPGAN.png)\r\n\r\nLets you improve faces in pictures using the GFPGAN model. There is a checkbox in every tab to use GFPGAN at 100%, and also a separate tab that just allows you to use GFPGAN on any picture, with a slider that controls how strong the effect is.\r\n\r\nIf you want to use GFPGAN to improve generated faces, you need to install it separately.\r\nDownload [GFPGANv1.4.pth](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth) and put it\r\ninto the `/sygil-webui/models/gfpgan` directory.\r\n\r\n### RealESRGAN\r\n\r\n![](images/RealESRGAN.png)\r\n\r\nLets you double the resolution of generated images. There is a checkbox in every tab to use RealESRGAN, and you can choose between the regular upscaler and the anime version.\r\nThere is also a separate tab for using RealESRGAN on any picture.\r\n\r\nDownload [RealESRGAN_x4plus.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth).\r\nPut them into the `sygil-webui/models/realesrgan` directory.\r\n\r\n### LSDR\r\n\r\nDownload **LDSR** [project.yaml](https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1) and [model last.cpkt](https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1). Rename `last.ckpt` to `model.ckpt` and place both under `sygil-webui/models/ldsr/`\r\n\r\n### GoBig, and GoLatent *(Currently on the Gradio version Only)*\r\n\r\nMore powerful upscalers that uses a separate Latent Diffusion model to more cleanly upscale images.\r\n\r\nPlease see the [Post-Processing Documentation](https://sygil-dev.github.io/sygil-webui/docs/post-processing) to learn more.\r\n\r\n-----\r\n\r\n### *Original Information From The Stable Diffusion Repo:*\r\n\r\n# Stable Diffusion\r\n\r\n*Stable Diffusion was made possible thanks to a collaboration with [Stability AI](https://stability.ai/) and [Runway](https://runwayml.com/) and builds upon our previous work:*\r\n\r\n[**High-Resolution Image Synthesis with Latent Diffusion Models**](https://ommer-lab.com/research/latent-diffusion-models/)\r\n[Robin Rombach](https://github.com/rromb)\\*,\r\n[Andreas Blattmann](https://github.com/ablattmann)\\*,\r\n[Dominik Lorenz](https://github.com/qp-qp)\\,\r\n[Patrick Esser](https://github.com/pesser),\r\n[Björn Ommer](https://hci.iwr.uni-heidelberg.de/Staff/bommer)\r\n\r\n**CVPR '22 Oral**\r\n\r\nwhich is available on [GitHub](https://github.com/CompVis/latent-diffusion). PDF at [arXiv](https://arxiv.org/abs/2112.10752). Please also visit our [Project page](https://ommer-lab.com/research/latent-diffusion-models/).\r\n\r\n[Stable Diffusion](#stable-diffusion-v1) is a latent text-to-image diffusion\r\nmodel.\r\nThanks to a generous compute donation from [Stability AI](https://stability.ai/) and support from [LAION](https://laion.ai/), we were able to train a Latent Diffusion Model on 512x512 images from a subset of the [LAION-5B](https://laion.ai/blog/laion-5b/) database.\r\nSimilar to Google's [Imagen](https://arxiv.org/abs/2205.11487),\r\nthis model uses a frozen CLIP ViT-L/14 text encoder to condition the model on text prompts.\r\nWith its 860M UNet and 123M text encoder, the model is relatively lightweight and runs on a GPU with at least 10GB VRAM.\r\nSee [this section](#stable-diffusion-v1) below and the [model card](https://huggingface.co/CompVis/stable-diffusion).\r\n\r\n## Stable Diffusion v1\r\n\r\nStable Diffusion v1 refers to a specific configuration of the model\r\narchitecture that uses a downsampling-factor 8 autoencoder with an 860M UNet\r\nand CLIP ViT-L/14 text encoder for the diffusion model. The model was pretrained on 256x256 images and\r\nthen finetuned on 512x512 images.\r\n\r\n*Note: Stable Diffusion v1 is a general text-to-image diffusion model and therefore mirrors biases and (mis-)conceptions that are present\r\nin its training data.\r\nDetails on the training procedure and data, as well as the intended use of the model can be found in the corresponding [model card](https://huggingface.co/CompVis/stable-diffusion).\r\n\r\n## Comments\r\n\r\n- Our code base for the diffusion models builds heavily on [OpenAI's ADM codebase](https://github.com/openai/guided-diffusion)\r\n  and [https://github.com/lucidrains/denoising-diffusion-pytorch](https://github.com/lucidrains/denoising-diffusion-pytorch).\r\n  Thanks for open-sourcing!\r\n\r\n- The implementation of the transformer encoder is from [x-transformers](https://github.com/lucidrains/x-transformers) by [lucidrains](https://github.com/lucidrains?tab=repositories).\r\n\r\n## BibTeX\r\n\r\n```\r\n@misc{rombach2021highresolution,\r\n      title={High-Resolution Image Synthesis with Latent Diffusion Models},\r\n      author={Robin Rombach and Andreas Blattmann and Dominik Lorenz and Patrick Esser and Björn Ommer},\r\n      year={2021},\r\n      eprint={2112.10752},\r\n      archivePrefix={arXiv},\r\n      primaryClass={cs.CV}\r\n}\r\n```\r\n"
  },
  {
    "path": "Stable_Diffusion_v1_Model_Card.md",
    "content": "# Stable Diffusion v1 Model Card\nThis model card focuses on the model associated with the Stable Diffusion model, available [here](https://github.com/CompVis/stable-diffusion).\n\n## Model Details\n- **Developed by:** Robin Rombach, Patrick Esser\n- **Model type:** Diffusion-based text-to-image generation model\n- **Language(s):** English\n- **License:** [Proprietary](LICENSE)\n- **Model Description:** This is a model that can be used to generate and modify images based on text prompts. It is a [Latent Diffusion Model](https://arxiv.org/abs/2112.10752) that uses a fixed, pretrained text encoder ([CLIP ViT-L/14](https://arxiv.org/abs/2103.00020)) as suggested in the [Imagen paper](https://arxiv.org/abs/2205.11487).\n- **Resources for more information:** [GitHub Repository](https://github.com/CompVis/stable-diffusion), [Paper](https://arxiv.org/abs/2112.10752).\n- **Cite as:**\n\n      @InProceedings{Rombach_2022_CVPR,\n          author    = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\\\"orn},\n          title     = {High-Resolution Image Synthesis With Latent Diffusion Models},\n          booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n          month     = {June},\n          year      = {2022},\n          pages     = {10684-10695}\n      }\n\n# Uses\n\n## Direct Use\nThe model is intended for research purposes only. Possible research areas and\ntasks include\n\n- Safe deployment of models which have the potential to generate harmful content.\n- Probing and understanding the limitations and biases of generative models.\n- Generation of artworks and use in design and other artistic processes.\n- Applications in educational or creative tools.\n- Research on generative models.\n\nExcluded uses are described below.\n\n ### Misuse, Malicious Use, and Out-of-Scope Use\n_Note: This section is taken from the [DALLE-MINI model card](https://huggingface.co/dalle-mini/dalle-mini), but applies in the same way to Stable Diffusion v1_.\n\n\nThe model should not be used to intentionally create or disseminate images that create hostile or alienating environments for people. This includes generating images that people would foreseeably find disturbing, distressing, or offensive; or content that propagates historical or current stereotypes.\n#### Out-of-Scope Use\nThe model was not trained to be factual or true representations of people or events, and therefore using the model to generate such content is out-of-scope for the abilities of this model.\n#### Misuse and Malicious Use\nUsing the model to generate content that is cruel to individuals is a misuse of this model. This includes, but is not limited to:\n\n- Generating demeaning, dehumanizing, or otherwise harmful representations of people or their environments, cultures, religions, etc.\n- Intentionally promoting or propagating discriminatory content or harmful stereotypes.\n- Impersonating individuals without their consent.\n- Sexual content without consent of the people who might see it.\n- Mis- and disinformation\n- Representations of egregious violence and gore\n- Sharing of copyrighted or licensed material in violation of its terms of use.\n- Sharing content that is an alteration of copyrighted or licensed material in violation of its terms of use.\n\n## Limitations and Bias\n\n### Limitations\n\n- The model does not achieve perfect photorealism\n- The model cannot render legible text\n- The model does not perform well on more difficult tasks which involve compositionality, such as rendering an image corresponding to “A red cube on top of a blue sphere”\n- Faces and people in general may not be generated properly.\n- The model was trained mainly with English captions and will not work as well in other languages.\n- The autoencoding part of the model is lossy\n- The model was trained on a large-scale dataset\n  [LAION-5B](https://laion.ai/blog/laion-5b/) which contains adult material\n  and is not fit for product use without additional safety mechanisms and\n  considerations.\n\n### Bias\nWhile the capabilities of image generation models are impressive, they can also reinforce or exacerbate social biases.\nStable Diffusion v1 was trained on subsets of [LAION-2B(en)](https://laion.ai/blog/laion-5b/),\nwhich consists of images that are primarily limited to English descriptions.\nTexts and images from communities and cultures that use other languages are likely to be insufficiently accounted for.\nThis affects the overall output of the model, as white and western cultures are often set as the default. Further, the\nability of the model to generate content with non-English prompts is significantly worse than with English-language prompts.\n\n\n## Training\n\n**Training Data**\nThe model developers used the following dataset for training the model:\n\n- LAION-2B (en) and subsets thereof (see next section)\n\n**Training Procedure**\nStable Diffusion v1 is a latent diffusion model which combines an autoencoder with a diffusion model that is trained in the latent space of the autoencoder. During training,\n\n- Images are encoded through an encoder, which turns images into latent representations. The autoencoder uses a relative downsampling factor of 8 and maps images of shape H x W x 3 to latents of shape H/f x W/f x 4\n- Text prompts are encoded through a ViT-L/14 text-encoder.\n- The non-pooled output of the text encoder is fed into the UNet backbone of the latent diffusion model via cross-attention.\n- The loss is a reconstruction objective between the noise that was added to the latent and the prediction made by the UNet.\n\nWe currently provide three checkpoints, `sd-v1-1.ckpt`, `sd-v1-2.ckpt` and `sd-v1-3.ckpt`,\nwhich were trained as follows,\n\n- `sd-v1-1.ckpt`: 237k steps at resolution `256x256` on [laion2B-en](https://huggingface.co/datasets/laion/laion2B-en).\n  194k steps at resolution `512x512` on [laion-high-resolution](https://huggingface.co/datasets/laion/laion-high-resolution) (170M examples from LAION-5B with resolution `>= 1024x1024`).\n- `sd-v1-2.ckpt`: Resumed from `sd-v1-1.ckpt`.\n  515k steps at resolution `512x512` on \"laion-improved-aesthetics\" (a subset of laion2B-en,\nfiltered to images with an original size `>= 512x512`, estimated aesthetics score `> 5.0`, and an estimated watermark probability `< 0.5`. The watermark estimate is from the LAION-5B metadata, the aesthetics score is estimated using an [improved aesthetics estimator](https://github.com/christophschuhmann/improved-aesthetic-predictor)).\n- `sd-v1-3.ckpt`: Resumed from `sd-v1-2.ckpt`. 195k steps at resolution `512x512` on \"laion-improved-aesthetics\" and 10\\% dropping of the text-conditioning to improve [classifier-free guidance sampling](https://arxiv.org/abs/2207.12598).\n\n\n- **Hardware:** 32 x 8 x A100 GPUs\n- **Optimizer:** AdamW\n- **Gradient Accumulations**: 2\n- **Batch:** 32 x 8 x 2 x 4 = 2048\n- **Learning rate:** warmup to 0.0001 for 10,000 steps and then kept constant\n\n## Evaluation Results\nEvaluations with different classifier-free guidance scales (1.5, 2.0, 3.0, 4.0,\n5.0, 6.0, 7.0, 8.0) and 50 PLMS sampling\nsteps show the relative improvements of the checkpoints:\n\n![pareto](assets/v1-variants-scores.jpg)\n\nEvaluated using 50 PLMS steps and 10000 random prompts from the COCO2017 validation set, evaluated at 512x512 resolution.  Not optimized for FID scores.\n## Environmental Impact\n\n**Stable Diffusion v1** **Estimated Emissions**\nBased on that information, we estimate the following CO2 emissions using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute) presented in [Lacoste et al. (2019)](https://arxiv.org/abs/1910.09700). The hardware, runtime, cloud provider, and compute region were utilized to estimate the carbon impact.\n\n- **Hardware Type:** A100 PCIe 40GB\n- **Hours used:** 150000\n- **Cloud Provider:** AWS\n- **Compute Region:** US-east\n- **Carbon Emitted (Power consumption x Time x Carbon produced based on location of power grid):** 11250 kg CO2 eq.\n## Citation\n    @InProceedings{Rombach_2022_CVPR,\n        author    = {Rombach, Robin and Blattmann, Andreas and Lorenz, Dominik and Esser, Patrick and Ommer, Bj\\\"orn},\n        title     = {High-Resolution Image Synthesis With Latent Diffusion Models},\n        booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},\n        month     = {June},\n        year      = {2022},\n        pages     = {10684-10695}\n    }\n\n*This model card was written by: Robin Rombach and Patrick Esser and is based on the [DALL-E Mini model card](https://huggingface.co/dalle-mini/dalle-mini).*\n"
  },
  {
    "path": "Web_based_UI_for_Stable_Diffusion_colab.ipynb",
    "content": "{\n  \"cells\": [\n    {\n      \"cell_type\": \"markdown\",\n      \"metadata\": {\n        \"id\": \"S5RoIM-5IPZJ\"\n      },\n      \"source\": [\n        \"[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/Sygil-Dev/sygil-webui/blob/main/Web_based_UI_for_Stable_Diffusion_colab.ipynb)\"\n      ]\n    },\n    {\n      \"cell_type\": \"markdown\",\n      \"metadata\": {\n        \"id\": \"5-Bx4AsEoPU-\"\n      },\n      \"source\": [\n        \"# README\"\n      ]\n    },\n    {\n      \"cell_type\": \"markdown\",\n      \"metadata\": {\n        \"id\": \"z4kQYMPQn4d-\"\n      },\n      \"source\": [\n        \"###<center>Web-based UI for Stable Diffusion</center>\\n\",\n        \"\\n\",\n        \"## Created by [Sygil-Dev](https://github.com/Sygil-Dev)\\n\",\n        \"\\n\",\n        \"## [Visit Sygil-Dev's Discord Server](https://discord.gg/gyXNe4NySY) [![Discord Server](https://user-images.githubusercontent.com/5977640/190528254-9b5b4423-47ee-4f24-b4f9-fd13fba37518.png)](https://discord.gg/gyXNe4NySY)\\n\",\n        \"\\n\",\n        \"## Installation instructions for:\\n\",\n        \"\\n\",\n        \"- **[Windows](https://sygil-dev.github.io/sygil-webui/docs/1.windows-installation.html)**\\n\",\n        \"- **[Linux](https://sygil-dev.github.io/sygil-webui/docs/2.linux-installation.html)**\\n\",\n        \"\\n\",\n        \"### Want to ask a question or request a feature?\\n\",\n        \"\\n\",\n        \"Come to our [Discord Server](https://discord.gg/gyXNe4NySY) or use [Discussions](https://github.com/Sygil-Dev/sygil-webui/discussions).\\n\",\n        \"\\n\",\n        \"## Documentation\\n\",\n        \"\\n\",\n        \"[Documentation is located here](https://sygil-dev.github.io/sygil-webui/)\\n\",\n        \"\\n\",\n        \"## Want to contribute?\\n\",\n        \"\\n\",\n        \"Check the [Contribution Guide](CONTRIBUTING.md)\\n\",\n        \"\\n\",\n        \"[Sygil-Dev](https://github.com/Sygil-Dev) main devs:\\n\",\n        \"\\n\",\n        \"* ![hlky's avatar](https://avatars.githubusercontent.com/u/106811348?s=40&v=4) [hlky](https://github.com/hlky)\\n\",\n        \"* ![ZeroCool940711's avatar](https://avatars.githubusercontent.com/u/5977640?s=40&v=4)[ZeroCool940711](https://github.com/ZeroCool940711)\\n\",\n        \"* ![codedealer's avatar](https://avatars.githubusercontent.com/u/4258136?s=40&v=4)[codedealer](https://github.com/codedealer)\\n\",\n        \"\\n\",\n        \"### Project Features:\\n\",\n        \"\\n\",\n        \"* Two great Web UI's to choose from: Streamlit or Gradio\\n\",\n        \"\\n\",\n        \"* No more manually typing parameters, now all you have to do is write your prompt and adjust sliders\\n\",\n        \"\\n\",\n        \"* Built-in image enhancers and upscalers, including GFPGAN and realESRGAN\\n\",\n        \"\\n\",\n        \"* Run additional upscaling models on CPU to save VRAM\\n\",\n        \"\\n\",\n        \"* Textual inversion 🔥: [info](https://textual-inversion.github.io/) - requires enabling, see [here](https://github.com/hlky/sd-enable-textual-inversion), script works as usual without it enabled\\n\",\n        \"\\n\",\n        \"* Advanced img2img editor with Mask and crop capabilities\\n\",\n        \"\\n\",\n        \"* Mask painting 🖌️: Powerful tool for re-generating only specific parts of an image you want to change (currently Gradio only)\\n\",\n        \"\\n\",\n        \"* More diffusion samplers 🔥🔥: A great collection of samplers to use, including:\\n\",\n        \"  \\n\",\n        \"  - `k_euler` (Default)\\n\",\n        \"  - `k_lms`\\n\",\n        \"  - `k_euler_a`\\n\",\n        \"  - `k_dpm_2`\\n\",\n        \"  - `k_dpm_2_a`\\n\",\n        \"  - `k_heun`\\n\",\n        \"  - `PLMS`\\n\",\n        \"  - `DDIM`\\n\",\n        \"\\n\",\n        \"* Loopback ➿: Automatically feed the last generated sample back into img2img\\n\",\n        \"\\n\",\n        \"* Prompt Weighting 🏋️: Adjust the strength of different terms in your prompt\\n\",\n        \"\\n\",\n        \"* Selectable GPU usage with `--gpu <id>`\\n\",\n        \"\\n\",\n        \"* Memory Monitoring 🔥: Shows VRAM usage and generation time after outputting\\n\",\n        \"\\n\",\n        \"* Word Seeds 🔥: Use words instead of seed numbers\\n\",\n        \"\\n\",\n        \"* CFG: Classifier free guidance scale, a feature for fine-tuning your output\\n\",\n        \"\\n\",\n        \"* Automatic Launcher: Activate conda and run Stable Diffusion with a single command\\n\",\n        \"\\n\",\n        \"* Lighter on VRAM: 512x512 Text2Image & Image2Image tested working on 4GB\\n\",\n        \"\\n\",\n        \"* Prompt validation: If your prompt is too long, you will get a warning in the text output field\\n\",\n        \"\\n\",\n        \"* Copy-paste generation parameters: A text output provides generation parameters in an easy to copy-paste form for easy sharing.\\n\",\n        \"\\n\",\n        \"* Correct seeds for batches: If you use a seed of 1000 to generate two batches of two images each, four generated images will have seeds: `1000, 1001, 1002, 1003`.\\n\",\n        \"\\n\",\n        \"* Prompt matrix: Separate multiple prompts using the `|` character, and the system will produce an image for every combination of them.\\n\",\n        \"\\n\",\n        \"* Loopback for Image2Image: A checkbox for img2img allowing to automatically feed output image as input for the next batch. Equivalent to saving output image, and replacing input image with it.\\n\",\n        \"\\n\",\n        \"# Stable Diffusion Web UI\\n\",\n        \"\\n\",\n        \"A fully-integrated and easy way to work with Stable Diffusion right from a browser window.\\n\",\n        \"\\n\",\n        \"## Streamlit\\n\",\n        \"\\n\",\n        \"![](https://github.com/aedhcarrick/sygil-webui/blob/patch-2/images/streamlit/streamlit-t2i.png?raw=1)\\n\",\n        \"\\n\",\n        \"**Features:**\\n\",\n        \"\\n\",\n        \"- Clean UI with an easy to use design, with support for widescreen displays.\\n\",\n        \"- Dynamic live preview of your generations\\n\",\n        \"- Easily customizable presets right from the WebUI (Coming Soon!)\\n\",\n        \"- An integrated gallery to show the generations for a prompt or session (Coming soon!)\\n\",\n        \"- Better optimization VRAM usage optimization, less errors for bigger generations.\\n\",\n        \"- Text2Video - Generate video clips from text prompts right from the WEb UI (WIP)\\n\",\n        \"- Concepts Library - Run custom embeddings others have made via textual inversion.\\n\",\n        \"- Actively being developed with new features being added and planned - Stay Tuned!\\n\",\n        \"- Streamlit is now the new primary UI for the project moving forward.\\n\",\n        \"- *Currently in active development and still missing some of the features present in the Gradio Interface.*\\n\",\n        \"\\n\",\n        \"Please see the [Streamlit Documentation](docs/4.streamlit-interface.md) to learn more.\\n\",\n        \"\\n\",\n        \"## Gradio\\n\",\n        \"\\n\",\n        \"![](https://github.com/aedhcarrick/sygil-webui/blob/patch-2/images/gradio/gradio-t2i.png?raw=1)\\n\",\n        \"\\n\",\n        \"**Features:**\\n\",\n        \"\\n\",\n        \"- Older UI design that is fully functional and feature complete.\\n\",\n        \"- Has access to all upscaling models, including LSDR.\\n\",\n        \"- Dynamic prompt entry automatically changes your generation settings based on `--params` in a prompt.\\n\",\n        \"- Includes quick and easy ways to send generations to Image2Image or the Image Lab for upscaling.\\n\",\n        \"- *Note, the Gradio interface is no longer being actively developed and is only receiving bug fixes.*\\n\",\n        \"\\n\",\n        \"Please see the [Gradio Documentation](docs/5.gradio-interface.md) to learn more.\\n\",\n        \"\\n\",\n        \"## Image Upscalers\\n\",\n        \"\\n\",\n        \"---\\n\",\n        \"\\n\",\n        \"### GFPGAN\\n\",\n        \"\\n\",\n        \"![](https://github.com/aedhcarrick/sygil-webui/blob/patch-2/images/GFPGAN.png?raw=1)\\n\",\n        \"\\n\",\n        \"Lets you improve faces in pictures using the GFPGAN model. There is a checkbox in every tab to use GFPGAN at 100%, and also a separate tab that just allows you to use GFPGAN on any picture, with a slider that controls how strong the effect is.\\n\",\n        \"\\n\",\n        \"If you want to use GFPGAN to improve generated faces, you need to install it separately.\\n\",\n        \"Download [GFPGANv1.4.pth](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth) and put it\\n\",\n        \"into the `/sygil-webui/models/gfpgan` directory.\\n\",\n        \"\\n\",\n        \"### RealESRGAN\\n\",\n        \"\\n\",\n        \"![](https://github.com/aedhcarrick/sygil-webui/blob/patch-2/images/RealESRGAN.png?raw=1)\\n\",\n        \"\\n\",\n        \"Lets you double the resolution of generated images. There is a checkbox in every tab to use RealESRGAN, and you can choose between the regular upscaler and the anime version.\\n\",\n        \"There is also a separate tab for using RealESRGAN on any picture.\\n\",\n        \"\\n\",\n        \"Download [RealESRGAN_x4plus.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth).\\n\",\n        \"Put them into the `sygil-webui/models/realesrgan` directory.\\n\",\n        \"\\n\",\n        \"\\n\",\n        \"\\n\",\n        \"### LSDR\\n\",\n        \"\\n\",\n        \"Download **LDSR** [project.yaml](https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1) and [model last.cpkt](https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1). Rename last.ckpt to model.ckpt and place both under `sygil-webui/models/ldsr/`\\n\",\n        \"\\n\",\n        \"### GoBig, and GoLatent *(Currently on the Gradio version Only)*\\n\",\n        \"\\n\",\n        \"More powerful upscalers that uses a seperate Latent Diffusion model to more cleanly upscale images.\\n\",\n        \"\\n\",\n        \"\\n\",\n        \"\\n\",\n        \"Please see the [Image Enhancers Documentation](docs/6.image_enhancers.md) to learn more.\\n\",\n        \"\\n\",\n        \"-----\\n\",\n        \"\\n\",\n        \"### *Original Information From The Stable Diffusion Repo*\\n\",\n        \"\\n\",\n        \"# Stable Diffusion\\n\",\n        \"\\n\",\n        \"*Stable Diffusion was made possible thanks to a collaboration with [Stability AI](https://stability.ai/) and [Runway](https://runwayml.com/) and builds upon our previous work:*\\n\",\n        \"\\n\",\n        \"[**High-Resolution Image Synthesis with Latent Diffusion Models**](https://ommer-lab.com/research/latent-diffusion-models/)<br/>\\n\",\n        \"[Robin Rombach](https://github.com/rromb)\\\\*,\\n\",\n        \"[Andreas Blattmann](https://github.com/ablattmann)\\\\*,\\n\",\n        \"[Dominik Lorenz](https://github.com/qp-qp)\\\\,\\n\",\n        \"[Patrick Esser](https://github.com/pesser),\\n\",\n        \"[Björn Ommer](https://hci.iwr.uni-heidelberg.de/Staff/bommer)<br/>\\n\",\n        \"\\n\",\n        \"**CVPR '22 Oral**\\n\",\n        \"\\n\",\n        \"which is available on [GitHub](https://github.com/CompVis/latent-diffusion). PDF at [arXiv](https://arxiv.org/abs/2112.10752). Please also visit our [Project page](https://ommer-lab.com/research/latent-diffusion-models/).\\n\",\n        \"\\n\",\n        \"[Stable Diffusion](#stable-diffusion-v1) is a latent text-to-image diffusion\\n\",\n        \"model.\\n\",\n        \"Thanks to a generous compute donation from [Stability AI](https://stability.ai/) and support from [LAION](https://laion.ai/), we were able to train a Latent Diffusion Model on 512x512 images from a subset of the [LAION-5B](https://laion.ai/blog/laion-5b/) database.\\n\",\n        \"Similar to Google's [Imagen](https://arxiv.org/abs/2205.11487),\\n\",\n        \"this model uses a frozen CLIP ViT-L/14 text encoder to condition the model on text prompts.\\n\",\n        \"With its 860M UNet and 123M text encoder, the model is relatively lightweight and runs on a GPU with at least 10GB VRAM.\\n\",\n        \"See [this section](#stable-diffusion-v1) below and the [model card](https://huggingface.co/CompVis/stable-diffusion).\\n\",\n        \"\\n\",\n        \"## Stable Diffusion v1\\n\",\n        \"\\n\",\n        \"Stable Diffusion v1 refers to a specific configuration of the model\\n\",\n        \"architecture that uses a downsampling-factor 8 autoencoder with an 860M UNet\\n\",\n        \"and CLIP ViT-L/14 text encoder for the diffusion model. The model was pretrained on 256x256 images and\\n\",\n        \"then finetuned on 512x512 images.\\n\",\n        \"\\n\",\n        \"*Note: Stable Diffusion v1 is a general text-to-image diffusion model and therefore mirrors biases and (mis-)conceptions that are present\\n\",\n        \"in its training data.\\n\",\n        \"Details on the training procedure and data, as well as the intended use of the model can be found in the corresponding [model card](https://huggingface.co/CompVis/stable-diffusion).\\n\",\n        \"\\n\",\n        \"## Comments\\n\",\n        \"\\n\",\n        \"- Our codebase for the diffusion models builds heavily on [OpenAI's ADM codebase](https://github.com/openai/guided-diffusion)\\n\",\n        \"  and [https://github.com/lucidrains/denoising-diffusion-pytorch](https://github.com/lucidrains/denoising-diffusion-pytorch).\\n\",\n        \"  Thanks for open-sourcing!\\n\",\n        \"\\n\",\n        \"- The implementation of the transformer encoder is from [x-transformers](https://github.com/lucidrains/x-transformers) by [lucidrains](https://github.com/lucidrains?tab=repositories).\\n\",\n        \"\\n\",\n        \"## BibTeX\\n\",\n        \"\\n\",\n        \"```\\n\",\n        \"@misc{rombach2021highresolution,\\n\",\n        \"      title={High-Resolution Image Synthesis with Latent Diffusion Models},\\n\",\n        \"      author={Robin Rombach and Andreas Blattmann and Dominik Lorenz and Patrick Esser and Björn Ommer},\\n\",\n        \"      year={2021},\\n\",\n        \"      eprint={2112.10752},\\n\",\n        \"      archivePrefix={arXiv},\\n\",\n        \"      primaryClass={cs.CV}\\n\",\n        \"}\\n\",\n        \"\\n\",\n        \"```\"\n      ]\n    },\n    {\n      \"cell_type\": \"markdown\",\n      \"metadata\": {\n        \"id\": \"iegma7yteERV\"\n      },\n      \"source\": [\n        \"# Config options for Colab instance\\n\",\n        \"> Before running, make sure GPU backend is enabled. (Unless you plan on generating with Stable Horde)\\n\",\n        \">> Runtime -> Change runtime type -> Hardware Accelerator -> GPU (Make sure to  save)\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"OXn96M9deVtF\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title  { display-mode: \\\"form\\\" }\\n\",\n        \"#@markdown WebUI repo (and branch)\\n\",\n        \"repo_name = \\\"Sygil-Dev/sygil-webui\\\" #@param {type:\\\"string\\\"}\\n\",\n        \"repo_branch = \\\"dev\\\" #@param {type:\\\"string\\\"}\\n\",\n        \"\\n\",\n        \"#@markdown Mount Google Drive\\n\",\n        \"mount_google_drive = True #@param {type:\\\"boolean\\\"}\\n\",\n        \"save_outputs_to_drive = True #@param {type:\\\"boolean\\\"}\\n\",\n        \"#@markdown Folder in Google Drive to search for custom models\\n\",\n        \"MODEL_DIR = \\\"sygil-webui/models\\\" #@param {type:\\\"string\\\"}\\n\",\n        \"\\n\",\n        \"#@markdown Folder in Google Drive to look for custom config file (streamlit.yaml)\\n\",\n        \"CONFIG_DIR = \\\"sygil-webui\\\" #@param {type:\\\"string\\\"}\\n\",\n        \"\\n\",\n        \"#@markdown Enter auth token from Huggingface.co\\n\",\n        \"#@markdown >(required for downloading stable diffusion model.)\\n\",\n        \"HF_TOKEN = \\\"\\\" #@param {type:\\\"string\\\"}\\n\",\n        \"\\n\",\n        \"#@markdown Select which models to prefetch\\n\",\n        \"STABLE_DIFFUSION = True #@param {type:\\\"boolean\\\"}\\n\",\n        \"WAIFU_DIFFUSION = False #@param {type:\\\"boolean\\\"}\\n\",\n        \"TRINART_SD = False #@param {type:\\\"boolean\\\"}\\n\",\n        \"SD_WD_LD_TRINART_MERGED = False #@param {type:\\\"boolean\\\"}\\n\",\n        \"GFPGAN = True #@param {type:\\\"boolean\\\"}\\n\",\n        \"REALESRGAN = True #@param {type:\\\"boolean\\\"}\\n\",\n        \"LDSR = True #@param {type:\\\"boolean\\\"}\\n\",\n        \"BLIP_MODEL = False #@param {type:\\\"boolean\\\"}\\n\",\n        \"\\n\",\n        \"#@markdown Save models to Google Drive for faster loading in future (Be warned! Make sure you have enough space!)\\n\",\n        \"SAVE_MODELS = False #@param {type:\\\"boolean\\\"}\"\n      ]\n    },\n    {\n      \"cell_type\": \"markdown\",\n      \"metadata\": {\n        \"id\": \"IZjJSr-WPNxB\"\n      },\n      \"source\": [\n        \"# Setup\\n\",\n        \"\\n\",\n        \">Runtime will crash when installing conda. This is normal as we are forcing a restart of the runtime from code.\\n\",\n        \"\\n\",\n        \">Just hit \\\"Run All\\\" again. 😑\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"eq0-E5mjSpmP\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Make sure we have access to GPU backend\\n\",\n        \"!nvidia-smi -L\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"cDu33xkdJ5mD\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Install miniConda (mamba)\\n\",\n        \"!pip install condacolab\\n\",\n        \"import condacolab\\n\",\n        \"condacolab.install_from_url(\\\"https://github.com/conda-forge/miniforge/releases/download/4.14.0-0/Mambaforge-4.14.0-0-Linux-x86_64.sh\\\")\\n\",\n        \"\\n\",\n        \"import condacolab\\n\",\n        \"condacolab.check()\\n\",\n        \"# The runtime will crash here!!! Don't panic! We planned for this remember?\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"pZHGf03Vp305\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Clone webUI repo and download font\\n\",\n        \"import os\\n\",\n        \"REPO_URL = os.path.join('https://github.com', repo_name)\\n\",\n        \"PATH_TO_REPO = os.path.join('/content', repo_name.split('/')[1])\\n\",\n        \"!git clone {REPO_URL}\\n\",\n        \"%cd {PATH_TO_REPO}\\n\",\n        \"!git checkout {repo_branch}\\n\",\n        \"!git pull\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"dmN2igp5Yk3z\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Install dependencies\\n\",\n        \"!mamba install cudatoolkit=11.3 git numpy=1.22.3 pip=20.3 python=3.8.5 pytorch=1.11.0 scikit-image=0.19.2 torchvision=0.12.0 -y\\n\",\n        \"!python --version\\n\",\n        \"!pip install -r requirements.txt\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"Nxaxfgo_F8Am\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Install localtunnel to openGoogle's ports\\n\",\n        \"!npm install localtunnel\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"pcSWo9Zkzbsf\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Mount Google Drive (if selected)\\n\",\n        \"if mount_google_drive:\\n\",\n        \"    # Mount google drive to store outputs.\\n\",\n        \"    from google.colab import drive\\n\",\n        \"    drive.mount('/content/drive/', force_remount=True)\\n\",\n        \"\\n\",\n        \"if save_outputs_to_drive:\\n\",\n        \"    # Make symlink to redirect downloads\\n\",\n        \"    OUTPUT_PATH = os.path.join('/content/drive/MyDrive', repo_name.split('/')[1], 'outputs')\\n\",\n        \"    os.makedirs(OUTPUT_PATH, exist_ok=True)\\n\",\n        \"    os.symlink(OUTPUT_PATH, os.path.join(PATH_TO_REPO, 'outputs'), target_is_directory=True)\\n\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"vMdmh81J70yA\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Pre-fetch models\\n\",\n        \"%cd {PATH_TO_REPO}\\n\",\n        \"# make list of models we want to download\\n\",\n        \"model_list = {\\n\",\n        \" 'stable_diffusion': f'{STABLE_DIFFUSION}',\\n\",\n        \" 'waifu_diffusion': f'{WAIFU_DIFFUSION}',\\n\",\n        \" 'trinart_stable_diffusion': f'{TRINART_SD}',\\n\",\n        \" 'sd_wd_ld_trinart_merged': f'{SD_WD_LD_TRINART_MERGED}',\\n\",\n        \" 'gfpgan': f'{GFPGAN}',\\n\",\n        \" 'realesrgan': f'{REALESRGAN}',\\n\",\n        \" 'ldsr': f'{LDSR}',\\n\",\n        \" 'blip_model': f'{BLIP_MODEL}'}\\n\",\n        \"download_list = {k for (k,v) in model_list.items() if v == 'True'}\\n\",\n        \"\\n\",\n        \"# get model info (file name, download link, save location)\\n\",\n        \"import yaml\\n\",\n        \"from pprint import pprint\\n\",\n        \"with open('configs/webui/webui_streamlit.yaml') as f:\\n\",\n        \"    dataMap = yaml.safe_load(f)\\n\",\n        \"models = dataMap['model_manager']['models']\\n\",\n        \"existing_models = []\\n\",\n        \"\\n\",\n        \"# copy script from model manager\\n\",\n        \"import requests, time, shutil\\n\",\n        \"from requests.auth import HTTPBasicAuth\\n\",\n        \"\\n\",\n        \"if MODEL_DIR != \\\"\\\":\\n\",\n        \"    MODEL_DIR = os.path.join('/content/drive/MyDrive', MODEL_DIR)\\n\",\n        \"else:\\n\",\n        \"    MODEL_DIR = '/content/drive/MyDrive'\\n\",\n        \"\\n\",\n        \"def download_file(file_name, file_path, file_url):\\n\",\n        \"    os.makedirs(file_path, exist_ok=True)\\n\",\n        \"    link_path = os.path.join(MODEL_DIR, file_name)\\n\",\n        \"    full_path = os.path.join(file_path, file_name)\\n\",\n        \"    if os.path.exists(link_path):\\n\",\n        \"        print( file_name + \\\" found in Google Drive\\\")\\n\",\n        \"        if not os.path.exists(full_path):\\n\",\n        \"            print( \\\"  creating symlink...\\\")\\n\",\n        \"            os.symlink(link_path, full_path)\\n\",\n        \"        else:\\n\",\n        \"            print( \\\"  symlink already exists\\\")\\n\",\n        \"    elif not os.path.exists(full_path):\\n\",\n        \"        print( \\\"Downloading \\\" + file_name + \\\"...\\\", end=\\\"\\\" )\\n\",\n        \"        token = None\\n\",\n        \"        if \\\"huggingface.co\\\" in file_url:\\n\",\n        \"            token = HTTPBasicAuth('token', HF_TOKEN)\\n\",\n        \"        try:\\n\",\n        \"            with requests.get(file_url, auth = token, stream=True) as r:\\n\",\n        \"                starttime = time.time()\\n\",\n        \"                r.raise_for_status()\\n\",\n        \"                with open(full_path, 'wb') as f:\\n\",\n        \"                    for chunk in r.iter_content(chunk_size=8192):\\n\",\n        \"                        f.write(chunk)\\n\",\n        \"                        if ((time.time() - starttime) % 60.0) > 2 :\\n\",\n        \"                            starttime = time.time()\\n\",\n        \"                            print( \\\".\\\", end=\\\"\\\" )\\n\",\n        \"                print( \\\"done\\\" )\\n\",\n        \"                print( \\\"  \\\" + file_name + \\\" downloaded to \\\\'\\\" + file_path + \\\"\\\\'\\\" )\\n\",\n        \"            if SAVE_MODELS and os.path.exists(MODEL_DIR):\\n\",\n        \"                shutil.copy2(full_path,MODEL_DIR)\\n\",\n        \"                print( \\\"  Saved \\\" + file_name + \\\" to \\\" + MODEL_DIR)\\n\",\n        \"        except:\\n\",\n        \"            print( \\\"Failed to download \\\" + file_name + \\\".\\\" )\\n\",\n        \"            return\\n\",\n        \"    else:\\n\",\n        \"        print( full_path + \\\" already exists.\\\" )\\n\",\n        \"    existing_models.append(file_name)\\n\",\n        \"\\n\",\n        \"# download models in list\\n\",\n        \"for model in download_list:\\n\",\n        \"    model_name = models[model]['model_name']\\n\",\n        \"    file_info = models[model]['files']\\n\",\n        \"    for file in file_info:\\n\",\n        \"        file_name = file_info[file]['file_name']\\n\",\n        \"        file_url = file_info[file]['download_link']\\n\",\n        \"        if 'save_location' in file_info[file]:\\n\",\n        \"            file_path = file_info[file]['save_location']\\n\",\n        \"        else:\\n\",\n        \"            file_path = models[model]['save_location']\\n\",\n        \"        download_file(file_name, file_path, file_url)\\n\",\n        \"\\n\",\n        \"# add custom models not in list\\n\",\n        \"CUSTOM_MODEL_DIR = os.path.join(PATH_TO_REPO, 'models/custom')\\n\",\n        \"if os.path.exists(MODEL_DIR):\\n\",\n        \"    custom_models = os.listdir(MODEL_DIR)\\n\",\n        \"    custom_models = [m for m in custom_models if os.path.isfile(MODEL_DIR + '/' + m)]\\n\",\n        \"    os.makedirs(CUSTOM_MODEL_DIR, exist_ok=True)\\n\",\n        \"    print( \\\"Custom model(s) found: \\\" )\\n\",\n        \"    for m in custom_models:\\n\",\n        \"        if m in existing_models:\\n\",\n        \"            continue\\n\",\n        \"        full_path = os.path.join(CUSTOM_MODEL_DIR, m)\\n\",\n        \"        if not os.path.exists(full_path):\\n\",\n        \"            print( \\\"  \\\" + m )\\n\",\n        \"            os.symlink(os.path.join(MODEL_DIR , m), full_path)\\n\",\n        \"\\n\",\n        \"# get custom config file if it exists\\n\",\n        \"if CONFIG_DIR != \\\"\\\":\\n\",\n        \"    CONFIG_FILE = os.path.join('/content/drive/MyDrive', CONFIG_DIR, 'userconfig_streamlit.yaml')\\n\",\n        \"    config_location = os.path.join(PATH_TO_REPO, 'configs/webui/userconfig_streamlit.yaml')\\n\",\n        \"    if os.path.exists(CONFIG_FILE) and not os.path.exists(config_location):\\n\",\n        \"        os.symlink(CONFIG_DIR, config_location)\\n\",\n        \"\\n\",\n        \"\\n\"\n      ]\n    },\n    {\n      \"cell_type\": \"markdown\",\n      \"metadata\": {\n        \"id\": \"pjIjiCuJysJI\"\n      },\n      \"source\": [\n        \"# Launch the web ui server\\n\",\n        \"### (optional) JS to prevent idle timeout:\\n\",\n        \"Press 'F12' OR ('CTRL' + 'SHIFT' + 'I') OR right click on this website -> inspect. Then click on the console tab and paste in the following code.\\n\",\n        \"```js,\\n\",\n        \"function ClickConnect(){\\n\",\n        \"console.log(\\\"Working\\\");\\n\",\n        \"document.querySelector(\\\"colab-toolbar-button#connect\\\").click()\\n\",\n        \"}\\n\",\n        \"setInterval(ClickConnect,60000)\\n\",\n        \"```\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"-WknaU7uu_q6\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Press play on the music player to keep the tab alive (Uses only 13MB of data)\\n\",\n        \"%%html\\n\",\n        \"<b>Press play on the music player to keep the tab alive, then start your generation below (Uses only 13MB of data)</b><br/>\\n\",\n        \"<audio src=\\\"https://henk.tech/colabkobold/silence.m4a\\\" controls>\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"5whXm2nfSZ39\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Run localtunnel and start Streamlit server. ('Ctrl' + 'left click') on link in the 'link.txt' file. (/content/link.txt)\\n\",\n        \"!npx localtunnel --port 8501 &>/content/link.txt &\\n\",\n        \"!streamlit run scripts/webui_streamlit.py --theme.base dark --server.headless true 2>&1 | tee -a /content/log.txt\"\n      ]\n    },\n    {\n      \"cell_type\": \"markdown\",\n      \"metadata\": {\n        \"id\": \"QhazvrFG97zX\"\n      },\n      \"source\": [\n        \"Run Streamlit through cloudflare.\"\n      ]\n    },\n    {\n      \"cell_type\": \"code\",\n      \"execution_count\": null,\n      \"metadata\": {\n        \"id\": \"jjjjjjjjjjjjjj\"\n      },\n      \"outputs\": [],\n      \"source\": [\n        \"#@title Run Streamlit through cloudflare.\\n\",\n        \"!wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb\\n\",\n        \"!dpkg -i cloudflared-linux-amd64.deb\\n\",\n        \"\\n\",\n        \"import subprocess\\n\",\n        \"import threading\\n\",\n        \"import time\\n\",\n        \"import socket\\n\",\n        \"import urllib.request\\n\",\n        \"\\n\",\n        \"def iframe_thread(port):\\n\",\n        \"  while True:\\n\",\n        \"      time.sleep(0.5)\\n\",\n        \"      sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\\n\",\n        \"      result = sock.connect_ex(('127.0.0.1', port))\\n\",\n        \"      if result == 0:\\n\",\n        \"        break\\n\",\n        \"      sock.close()\\n\",\n        \"\\n\",\n        \"  p = subprocess.Popen([\\\"cloudflared\\\", \\\"tunnel\\\", \\\"--url\\\", \\\"http://127.0.0.1:{}\\\".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)\\n\",\n        \"  for line in p.stderr:\\n\",\n        \"    l = line.decode()\\n\",\n        \"    if \\\"trycloudflare.com \\\" in l:\\n\",\n        \"      print(\\\"This is the URL to access Sygil WebUI:\\\", l[l.find(\\\"http\\\"):], end='')\\n\",\n        \"\\n\",\n        \"\\n\",\n        \"threading.Thread(target=iframe_thread, daemon=True, args=(8501,)).start()\\n\",\n        \"\\n\",\n        \"!streamlit run scripts/webui_streamlit.py --theme.base dark --server.headless true\"\n      ]\n    }\n  ],\n  \"metadata\": {\n    \"accelerator\": \"GPU\",\n    \"colab\": {\n      \"collapsed_sections\": [\n        \"5-Bx4AsEoPU-\",\n        \"xMWVQOg0G1Pj\"\n      ],\n      \"private_outputs\": true,\n      \"provenance\": []\n    },\n    \"kernelspec\": {\n      \"display_name\": \"Python 3\",\n      \"name\": \"python3\"\n    },\n    \"language_info\": {\n      \"name\": \"python\"\n    }\n  },\n  \"nbformat\": 4,\n  \"nbformat_minor\": 0\n}\n"
  },
  {
    "path": "_config.yml",
    "content": "plugins:\n  - jekyll-relative-links\n  - jekyll-readme-index\n  - jemoji\n  - jekyll-remote-theme\nrelative_links:\n  enabled: true\n  collections: true\nsource: docs\nremote_theme: jekyll/minima\nminima:\n  skin: dark\ninclude:\n  - CONTRIBUTING.md\n"
  },
  {
    "path": "babel.config.js",
    "content": "module.exports = {\n  presets: [require.resolve('@docusaurus/core/lib/babel/preset')],\n};\n"
  },
  {
    "path": "blog/2022-10-20/1.Textual inversion usage competitio.md",
    "content": "# Textual inversion usage competition\n\nWe are hosting a competition where the community can showcase their most inventive use of textual inversion concepts in text-to-image or text-to-video.\n\nOur compute cluster; `Nataili`, currently comprises of 3 nodes, two have 3090, the other has 2 x A5000.\n\nWe estimate `Nataili` can handle 12 concepts per hour, and we can add more workers if there is high demand.\n\nHopefully demand will be high, we want to train **hundreds** of new concepts!\n\n# Schedule\n\n2022/10/20 - Stage 1 begins, train concept command opened for usage\n\n2022/10/22 12AM UTC - Stage 2 begins, text to image command opened for usage\n\n2022/10/22 12PM UTC - Stage 1 ends, train concept command closed\n\n2022/10/24 12PM UTC - Stage 2 ends, no more entries will be accepted\n\n2022/10/24 6-12PM UTC - Winners announced\n\n\n# What does `most inventive use` mean?\n\nWhatever you want it to mean! be creative! experiment!\n\nThere are several categories we will look at:\n\n* anything that's particularly creative, ~ artistic ~ or a e s t h e t i c\n\n![20221019203426_00000](https://user-images.githubusercontent.com/106811348/197045193-d6f9c56b-9989-4f1c-b42a-bb02d62d77cd.png)\n\n* composition; meaning anything related to how big things are, their position, the angle, etc\n\n* styling;\n\n![image](https://user-images.githubusercontent.com/106811348/197045629-029ba6f5-1f79-475c-9ce7-969aaf3d253b.png)\n\n* `The Sims(TM): Stable Diffusion edition`\n\n## So I can trai-\n\n* Yes, as long as it's sfw\n\n## `The Sims(TM): Stable Diffusion edition` ?\n\nFor this event the theme is “The Sims: Stable Diffusion edition”.\n\nSo we have selected a subset of [products from Amazon Berkely Objects dataset](https://github.com/sd-webui/abo).\n\nAny other object is welcome too these are just a good source of data for this part of the competition.\n\nEach product has images from multiple angles, the train concept command accepts up to 10 images, so choose the angles and modify backgrounds, experiment!\n\nThe goal with this category is to generate an image using the trained object, and the other categories apply, your imagination is the only limit! style a couch, try to make a BIG couch, try to make a couch on top of a mountain, try to make a vaporwave couch, anything!\n\n# How do I train a concept using the discord bot?\n\nType `/trainconcept` then press tab to go through the fields\n\n`Concept name` is just a name for your concept, it doesn't have to be a single word\n\n`Placeholder` is what you will use in prompts to represent your concept\nAdd `<` and `>` so it is unique, multiple words should be hyphenated\n\n`Initializer` is used as the starting point for training your concept, so this should be a single word that represents your concept\n\nMinimum 2 images. Squareish aspect ratios work best\n\n![Untitled-2](https://user-images.githubusercontent.com/106811348/197035834-cc973e29-31f8-48de-be2d-788fbe938b2e.png)\n![image](https://user-images.githubusercontent.com/106811348/197035870-b91ef2a8-0ffd-47e1-a8df-9600df26cd6b.png)\n\n# How do I use the trained concept?\n\n## Prompting with concepts\n\nWhen your concept is trained you can use it in prompts.\n\n`a cute <nvidiafu> as an astronaut`:\n\n![image](https://user-images.githubusercontent.com/106811348/197037250-044ea241-72a5-4caa-b772-35034245b4b6.png)\n\nor `a green <green-couch> sitting on top of a floor, a 3D render, trending on polycount, minimalism, rendered in cinema4d`:\n\n![image](https://user-images.githubusercontent.com/106811348/197037344-7ce72188-9129-4ba2-8a28-cba5fd664a9c.png)\n\n## Using concepts in the webui\n\nThe discord bot will give you a link to a `.zip` file, download this, extract it, and put the folder in `stable-diffusion-webui/models/custom/sd-concepts-library`\n\n![image](https://user-images.githubusercontent.com/106811348/197037892-ce53bea4-d1db-4b25-bb7c-7dfe4d71b2b1.png)\n"
  },
  {
    "path": "blog/authors.yml",
    "content": "endi:\n  name: Endilie Yacop Sucipto\n  title: Maintainer of Docusaurus\n  url: https://github.com/endiliey\n  image_url: https://github.com/endiliey.png\n\nyangshun:\n  name: Yangshun Tay\n  title: Front End Engineer @ Facebook\n  url: https://github.com/yangshun\n  image_url: https://github.com/yangshun.png\n\nslorber:\n  name: Sébastien Lorber\n  title: Docusaurus maintainer\n  url: https://sebastienlorber.com\n  image_url: https://github.com/slorber.png\n"
  },
  {
    "path": "configs/autoencoder/autoencoder_kl_16x16x16.yaml",
    "content": "model:\n  base_learning_rate: 4.5e-6\n  target: ldm.models.autoencoder.AutoencoderKL\n  params:\n    monitor: \"val/rec_loss\"\n    embed_dim: 16\n    lossconfig:\n      target: ldm.modules.losses.LPIPSWithDiscriminator\n      params:\n        disc_start: 50001\n        kl_weight: 0.000001\n        disc_weight: 0.5\n\n    ddconfig:\n      double_z: True\n      z_channels: 16\n      resolution: 256\n      in_channels: 3\n      out_ch: 3\n      ch: 128\n      ch_mult: [ 1,1,2,2,4]  # num_down = len(ch_mult)-1\n      num_res_blocks: 2\n      attn_resolutions: [16]\n      dropout: 0.0\n\n\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 12\n    wrap: True\n    train:\n      target: ldm.data.imagenet.ImageNetSRTrain\n      params:\n        size: 256\n        degradation: pil_nearest\n    validation:\n      target: ldm.data.imagenet.ImageNetSRValidation\n      params:\n        size: 256\n        degradation: pil_nearest\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 1000\n        max_images: 8\n        increase_log_steps: True\n\n  trainer:\n    benchmark: True\n    accumulate_grad_batches: 2\n"
  },
  {
    "path": "configs/autoencoder/autoencoder_kl_32x32x4.yaml",
    "content": "model:\n  base_learning_rate: 4.5e-6\n  target: ldm.models.autoencoder.AutoencoderKL\n  params:\n    monitor: \"val/rec_loss\"\n    embed_dim: 4\n    lossconfig:\n      target: ldm.modules.losses.LPIPSWithDiscriminator\n      params:\n        disc_start: 50001\n        kl_weight: 0.000001\n        disc_weight: 0.5\n\n    ddconfig:\n      double_z: True\n      z_channels: 4\n      resolution: 256\n      in_channels: 3\n      out_ch: 3\n      ch: 128\n      ch_mult: [ 1,2,4,4 ]  # num_down = len(ch_mult)-1\n      num_res_blocks: 2\n      attn_resolutions: [ ]\n      dropout: 0.0\n\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 12\n    wrap: True\n    train:\n      target: ldm.data.imagenet.ImageNetSRTrain\n      params:\n        size: 256\n        degradation: pil_nearest\n    validation:\n      target: ldm.data.imagenet.ImageNetSRValidation\n      params:\n        size: 256\n        degradation: pil_nearest\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 1000\n        max_images: 8\n        increase_log_steps: True\n\n  trainer:\n    benchmark: True\n    accumulate_grad_batches: 2\n"
  },
  {
    "path": "configs/autoencoder/autoencoder_kl_64x64x3.yaml",
    "content": "model:\n  base_learning_rate: 4.5e-6\n  target: ldm.models.autoencoder.AutoencoderKL\n  params:\n    monitor: \"val/rec_loss\"\n    embed_dim: 3\n    lossconfig:\n      target: ldm.modules.losses.LPIPSWithDiscriminator\n      params:\n        disc_start: 50001\n        kl_weight: 0.000001\n        disc_weight: 0.5\n\n    ddconfig:\n      double_z: True\n      z_channels: 3\n      resolution: 256\n      in_channels: 3\n      out_ch: 3\n      ch: 128\n      ch_mult: [ 1,2,4 ]  # num_down = len(ch_mult)-1\n      num_res_blocks: 2\n      attn_resolutions: [ ]\n      dropout: 0.0\n\n\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 12\n    wrap: True\n    train:\n      target: ldm.data.imagenet.ImageNetSRTrain\n      params:\n        size: 256\n        degradation: pil_nearest\n    validation:\n      target: ldm.data.imagenet.ImageNetSRValidation\n      params:\n        size: 256\n        degradation: pil_nearest\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 1000\n        max_images: 8\n        increase_log_steps: True\n\n  trainer:\n    benchmark: True\n    accumulate_grad_batches: 2\n"
  },
  {
    "path": "configs/autoencoder/autoencoder_kl_8x8x64.yaml",
    "content": "model:\n  base_learning_rate: 4.5e-6\n  target: ldm.models.autoencoder.AutoencoderKL\n  params:\n    monitor: \"val/rec_loss\"\n    embed_dim: 64\n    lossconfig:\n      target: ldm.modules.losses.LPIPSWithDiscriminator\n      params:\n        disc_start: 50001\n        kl_weight: 0.000001\n        disc_weight: 0.5\n\n    ddconfig:\n      double_z: True\n      z_channels: 64\n      resolution: 256\n      in_channels: 3\n      out_ch: 3\n      ch: 128\n      ch_mult: [ 1,1,2,2,4,4]  # num_down = len(ch_mult)-1\n      num_res_blocks: 2\n      attn_resolutions: [16,8]\n      dropout: 0.0\n\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 12\n    wrap: True\n    train:\n      target: ldm.data.imagenet.ImageNetSRTrain\n      params:\n        size: 256\n        degradation: pil_nearest\n    validation:\n      target: ldm.data.imagenet.ImageNetSRValidation\n      params:\n        size: 256\n        degradation: pil_nearest\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 1000\n        max_images: 8\n        increase_log_steps: True\n\n  trainer:\n    benchmark: True\n    accumulate_grad_batches: 2\n"
  },
  {
    "path": "configs/blip/bert_config.json",
    "content": "{\n  \"architectures\": [\n    \"BertModel\"\n  ],\n  \"attention_probs_dropout_prob\": 0.1,\n  \"hidden_act\": \"gelu\",\n  \"hidden_dropout_prob\": 0.1,\n  \"hidden_size\": 768,\n  \"initializer_range\": 0.02,\n  \"intermediate_size\": 3072,\n  \"layer_norm_eps\": 1e-12,\n  \"max_position_embeddings\": 512,\n  \"model_type\": \"bert\",\n  \"num_attention_heads\": 12,\n  \"num_hidden_layers\": 12,\n  \"pad_token_id\": 0,\n  \"type_vocab_size\": 2,\n  \"vocab_size\": 30522,\n  \"encoder_width\": 768,\n  \"add_cross_attention\": true\n}\n"
  },
  {
    "path": "configs/blip/caption_coco.yaml",
    "content": "image_root: '/export/share/datasets/vision/coco/images/'\nann_root: 'annotation'\ncoco_gt_root: 'annotation/coco_gt'\n\n# set pretrained as a file path or an url\npretrained: 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_base_caption_capfilt_large.pth'\n\n# size of vit model; base or large\nvit: 'base'\nvit_grad_ckpt: False\nvit_ckpt_layer: 0\nbatch_size: 32\ninit_lr: 1e-5\n\n# vit: 'large'\n# vit_grad_ckpt: True\n# vit_ckpt_layer: 5\n# batch_size: 16\n# init_lr: 2e-6\n\nimage_size: 384\n\n# generation configs\nmax_length: 20\nmin_length: 5\nnum_beams: 3\nprompt: 'a picture of '\n\n# optimizer\nweight_decay: 0.05\nmin_lr: 0\nmax_epoch: 5\n"
  },
  {
    "path": "configs/blip/med_config.json",
    "content": "{\n  \"architectures\": [\n    \"BertModel\"\n  ],\n  \"attention_probs_dropout_prob\": 0.1,\n  \"hidden_act\": \"gelu\",\n  \"hidden_dropout_prob\": 0.1,\n  \"hidden_size\": 768,\n  \"initializer_range\": 0.02,\n  \"intermediate_size\": 3072,\n  \"layer_norm_eps\": 1e-12,\n  \"max_position_embeddings\": 512,\n  \"model_type\": \"bert\",\n  \"num_attention_heads\": 12,\n  \"num_hidden_layers\": 12,\n  \"pad_token_id\": 0,\n  \"type_vocab_size\": 2,\n  \"vocab_size\": 30524,\n  \"encoder_width\": 768,\n  \"add_cross_attention\": true\n}\n"
  },
  {
    "path": "configs/blip/nlvr.yaml",
    "content": "image_root: '/export/share/datasets/vision/NLVR2/'\nann_root: 'annotation'\n\n# set pretrained as a file path or an url\npretrained: 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_base_nlvr.pth'\n\n#size of vit model; base or large\nvit: 'base'\nbatch_size_train: 16\nbatch_size_test: 64\nvit_grad_ckpt: False\nvit_ckpt_layer: 0\nmax_epoch: 15\n\nimage_size: 384\n\n# optimizer\nweight_decay: 0.05\ninit_lr: 3e-5\nmin_lr: 0\n"
  },
  {
    "path": "configs/blip/nocaps.yaml",
    "content": "image_root: '/export/share/datasets/vision/nocaps/'\nann_root: 'annotation'\n\n# set pretrained as a file path or an url\npretrained: 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_base_caption_capfilt_large.pth'\n\nvit: 'base'\nbatch_size: 32\n\nimage_size: 384\n\nmax_length: 20\nmin_length: 5\nnum_beams: 3\nprompt: 'a picture of '\n"
  },
  {
    "path": "configs/blip/pretrain.yaml",
    "content": "train_file: ['/export/share/junnan-li/VL_pretrain/annotation/coco_karpathy_train.json',\n             '/export/share/junnan-li/VL_pretrain/annotation/vg_caption.json',\n             ]\nlaion_path: ''\n\n# size of vit model; base or large\nvit: 'base'\nvit_grad_ckpt: False\nvit_ckpt_layer: 0\n\nimage_size: 224\nbatch_size: 75\n\nqueue_size: 57600\nalpha: 0.4\n\n# optimizer\nweight_decay: 0.05\ninit_lr: 3e-4\nmin_lr: 1e-6\nwarmup_lr: 1e-6\nlr_decay_rate: 0.9\nmax_epoch: 20\nwarmup_steps: 3000\n"
  },
  {
    "path": "configs/blip/retrieval_coco.yaml",
    "content": "image_root: '/export/share/datasets/vision/coco/images/'\nann_root: 'annotation'\ndataset: 'coco'\n\n# set pretrained as a file path or an url\npretrained: 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_base_retrieval_coco.pth'\n\n# size of vit model; base or large\n\nvit: 'base'\nbatch_size_train: 32\nbatch_size_test: 64\nvit_grad_ckpt: True\nvit_ckpt_layer: 4\ninit_lr: 1e-5\n\n# vit: 'large'\n# batch_size_train: 16\n# batch_size_test: 32\n# vit_grad_ckpt: True\n# vit_ckpt_layer: 12\n# init_lr: 5e-6\n\nimage_size: 384\nqueue_size: 57600\nalpha: 0.4\nk_test: 256\nnegative_all_rank: True\n\n# optimizer\nweight_decay: 0.05\nmin_lr: 0\nmax_epoch: 6\n"
  },
  {
    "path": "configs/blip/retrieval_flickr.yaml",
    "content": "image_root: '/export/share/datasets/vision/flickr30k/'\nann_root: 'annotation'\ndataset: 'flickr'\n\n# set pretrained as a file path or an url\npretrained: 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_base_retrieval_flickr.pth'\n\n# size of vit model; base or large\n\nvit: 'base'\nbatch_size_train: 32\nbatch_size_test: 64\nvit_grad_ckpt: True\nvit_ckpt_layer: 4\ninit_lr: 1e-5\n\n# vit: 'large'\n# batch_size_train: 16\n# batch_size_test: 32\n# vit_grad_ckpt: True\n# vit_ckpt_layer: 10\n# init_lr: 5e-6\n\nimage_size: 384\nqueue_size: 57600\nalpha: 0.4\nk_test: 128\nnegative_all_rank: False\n\n# optimizer\nweight_decay: 0.05\nmin_lr: 0\nmax_epoch: 6\n"
  },
  {
    "path": "configs/blip/retrieval_msrvtt.yaml",
    "content": "video_root: '/export/share/dongxuli/data/msrvtt_retrieval/videos'\nann_root: 'annotation'\n\n# set pretrained as a file path or an url\npretrained: 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_base_retrieval_coco.pth'\n\n# size of vit model; base or large\nvit: 'base'\nbatch_size: 64\nk_test: 128\nimage_size: 384\nnum_frm_test: 8\n"
  },
  {
    "path": "configs/blip/vqa.yaml",
    "content": "vqa_root: '/export/share/datasets/vision/VQA/Images/mscoco/' #followed by train2014/\nvg_root: '/export/share/datasets/vision/visual-genome/'  #followed by image/\ntrain_files: ['vqa_train','vqa_val','vg_qa']\nann_root: 'annotation'\n\n# set pretrained as a file path or an url\npretrained: 'https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model_base_vqa_capfilt_large.pth'\n\n# size of vit model; base or large\nvit: 'base'\nbatch_size_train: 16\nbatch_size_test: 32\nvit_grad_ckpt: False\nvit_ckpt_layer: 0\ninit_lr: 2e-5\n\nimage_size: 480\n\nk_test: 128\ninference: 'rank'\n\n# optimizer\nweight_decay: 0.05\nmin_lr: 0\nmax_epoch: 10\n"
  },
  {
    "path": "configs/latent-diffusion/celebahq-ldm-vq-4.yaml",
    "content": "model:\n  base_learning_rate: 2.0e-06\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.0015\n    linear_end: 0.0195\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: image\n    image_size: 64\n    channels: 3\n    monitor: val/loss_simple_ema\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 64\n        in_channels: 3\n        out_channels: 3\n        model_channels: 224\n        attention_resolutions:\n        # note: this isn\\t actually the resolution but\n        # the downsampling factor, i.e. this corresnponds to\n        # attention on spatial resolution 8,16,32, as the\n        # spatial reolution of the latents is 64 for f4\n        - 8\n        - 4\n        - 2\n        num_res_blocks: 2\n        channel_mult:\n        - 1\n        - 2\n        - 3\n        - 4\n        num_head_channels: 32\n    first_stage_config:\n      target: ldm.models.autoencoder.VQModelInterface\n      params:\n        embed_dim: 3\n        n_embed: 8192\n        ckpt_path: models/first_stage_models/vq-f4/model.ckpt\n        ddconfig:\n          double_z: false\n          z_channels: 3\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n    cond_stage_config: __is_unconditional__\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 48\n    num_workers: 5\n    wrap: false\n    train:\n      target: taming.data.faceshq.CelebAHQTrain\n      params:\n        size: 256\n    validation:\n      target: taming.data.faceshq.CelebAHQValidation\n      params:\n        size: 256\n\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 5000\n        max_images: 8\n        increase_log_steps: False\n\n  trainer:\n    benchmark: True\n"
  },
  {
    "path": "configs/latent-diffusion/cin-ldm-vq-f8.yaml",
    "content": "model:\n  base_learning_rate: 1.0e-06\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.0015\n    linear_end: 0.0195\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: image\n    cond_stage_key: class_label\n    image_size: 32\n    channels: 4\n    cond_stage_trainable: true\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 32\n        in_channels: 4\n        out_channels: 4\n        model_channels: 256\n        attention_resolutions:\n        #note: this isn\\t actually the resolution but\n        # the downsampling factor, i.e. this corresnponds to\n        # attention on spatial resolution 8,16,32, as the\n        # spatial reolution of the latents is 32 for f8\n        - 4\n        - 2\n        - 1\n        num_res_blocks: 2\n        channel_mult:\n        - 1\n        - 2\n        - 4\n        num_head_channels: 32\n        use_spatial_transformer: true\n        transformer_depth: 1\n        context_dim: 512\n    first_stage_config:\n      target: ldm.models.autoencoder.VQModelInterface\n      params:\n        embed_dim: 4\n        n_embed: 16384\n        ckpt_path: configs/first_stage_models/vq-f8/model.yaml\n        ddconfig:\n          double_z: false\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 2\n          - 4\n          num_res_blocks: 2\n          attn_resolutions:\n          - 32\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.ClassEmbedder\n      params:\n        embed_dim: 512\n        key: class_label\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 64\n    num_workers: 12\n    wrap: false\n    train:\n      target: ldm.data.imagenet.ImageNetTrain\n      params:\n        config:\n          size: 256\n    validation:\n      target: ldm.data.imagenet.ImageNetValidation\n      params:\n        config:\n          size: 256\n\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 5000\n        max_images: 8\n        increase_log_steps: False\n\n  trainer:\n    benchmark: True\n"
  },
  {
    "path": "configs/latent-diffusion/cin256-v2.yaml",
    "content": "model:\n  base_learning_rate: 0.0001\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.0015\n    linear_end: 0.0195\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: image\n    cond_stage_key: class_label\n    image_size: 64\n    channels: 3\n    cond_stage_trainable: true\n    conditioning_key: crossattn\n    monitor: val/loss\n    use_ema: False\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 64\n        in_channels: 3\n        out_channels: 3\n        model_channels: 192\n        attention_resolutions:\n        - 8\n        - 4\n        - 2\n        num_res_blocks: 2\n        channel_mult:\n        - 1\n        - 2\n        - 3\n        - 5\n        num_heads: 1\n        use_spatial_transformer: true\n        transformer_depth: 1\n        context_dim: 512\n\n    first_stage_config:\n      target: ldm.models.autoencoder.VQModelInterface\n      params:\n        embed_dim: 3\n        n_embed: 8192\n        ddconfig:\n          double_z: false\n          z_channels: 3\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.ClassEmbedder\n      params:\n        n_classes: 1001\n        embed_dim: 512\n        key: class_label\n"
  },
  {
    "path": "configs/latent-diffusion/ffhq-ldm-vq-4.yaml",
    "content": "model:\n  base_learning_rate: 2.0e-06\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.0015\n    linear_end: 0.0195\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: image\n    image_size: 64\n    channels: 3\n    monitor: val/loss_simple_ema\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 64\n        in_channels: 3\n        out_channels: 3\n        model_channels: 224\n        attention_resolutions:\n        # note: this isn\\t actually the resolution but\n        # the downsampling factor, i.e. this corresnponds to\n        # attention on spatial resolution 8,16,32, as the\n        # spatial reolution of the latents is 64 for f4\n        - 8\n        - 4\n        - 2\n        num_res_blocks: 2\n        channel_mult:\n        - 1\n        - 2\n        - 3\n        - 4\n        num_head_channels: 32\n    first_stage_config:\n      target: ldm.models.autoencoder.VQModelInterface\n      params:\n        embed_dim: 3\n        n_embed: 8192\n        ckpt_path: configs/first_stage_models/vq-f4/model.yaml\n        ddconfig:\n          double_z: false\n          z_channels: 3\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n    cond_stage_config: __is_unconditional__\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 42\n    num_workers: 5\n    wrap: false\n    train:\n      target: taming.data.faceshq.FFHQTrain\n      params:\n        size: 256\n    validation:\n      target: taming.data.faceshq.FFHQValidation\n      params:\n        size: 256\n\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 5000\n        max_images: 8\n        increase_log_steps: False\n\n  trainer:\n    benchmark: True\n"
  },
  {
    "path": "configs/latent-diffusion/lsun_bedrooms-ldm-vq-4.yaml",
    "content": "model:\n  base_learning_rate: 2.0e-06\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.0015\n    linear_end: 0.0195\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: image\n    image_size: 64\n    channels: 3\n    monitor: val/loss_simple_ema\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 64\n        in_channels: 3\n        out_channels: 3\n        model_channels: 224\n        attention_resolutions:\n        # note: this isn\\t actually the resolution but\n        # the downsampling factor, i.e. this corresnponds to\n        # attention on spatial resolution 8,16,32, as the\n        # spatial reolution of the latents is 64 for f4\n        - 8\n        - 4\n        - 2\n        num_res_blocks: 2\n        channel_mult:\n        - 1\n        - 2\n        - 3\n        - 4\n        num_head_channels: 32\n    first_stage_config:\n      target: ldm.models.autoencoder.VQModelInterface\n      params:\n        ckpt_path: configs/first_stage_models/vq-f4/model.yaml\n        embed_dim: 3\n        n_embed: 8192\n        ddconfig:\n          double_z: false\n          z_channels: 3\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n    cond_stage_config: __is_unconditional__\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 48\n    num_workers: 5\n    wrap: false\n    train:\n      target: ldm.data.lsun.LSUNBedroomsTrain\n      params:\n        size: 256\n    validation:\n      target: ldm.data.lsun.LSUNBedroomsValidation\n      params:\n        size: 256\n\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 5000\n        max_images: 8\n        increase_log_steps: False\n\n  trainer:\n    benchmark: True\n"
  },
  {
    "path": "configs/latent-diffusion/lsun_churches-ldm-kl-8.yaml",
    "content": "model:\n  base_learning_rate: 5.0e-5   # set to target_lr by starting main.py with '--scale_lr False'\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.0015\n    linear_end: 0.0155\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    loss_type: l1\n    first_stage_key: \"image\"\n    cond_stage_key: \"image\"\n    image_size: 32\n    channels: 4\n    cond_stage_trainable: False\n    concat_mode: False\n    scale_by_std: True\n    monitor: 'val/loss_simple_ema'\n\n    scheduler_config: # 10000 warmup steps\n      target: ldm.lr_scheduler.LambdaLinearScheduler\n      params:\n        warm_up_steps: [10000]\n        cycle_lengths: [10000000000000]\n        f_start: [1.e-6]\n        f_max: [1.]\n        f_min: [ 1.]\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 32\n        in_channels: 4\n        out_channels: 4\n        model_channels: 192\n        attention_resolutions: [ 1, 2, 4, 8 ]   # 32, 16, 8, 4\n        num_res_blocks: 2\n        channel_mult: [ 1,2,2,4,4 ]  # 32, 16, 8, 4, 2\n        num_heads: 8\n        use_scale_shift_norm: True\n        resblock_updown: True\n\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        monitor: \"val/rec_loss\"\n        ckpt_path: \"models/first_stage_models/kl-f8/model.ckpt\"\n        ddconfig:\n          double_z: True\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult: [ 1,2,4,4 ]  # num_down = len(ch_mult)-1\n          num_res_blocks: 2\n          attn_resolutions: [ ]\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config: \"__is_unconditional__\"\n\ndata:\n  target: main.DataModuleFromConfig\n  params:\n    batch_size: 96\n    num_workers: 5\n    wrap: False\n    train:\n      target: ldm.data.lsun.LSUNChurchesTrain\n      params:\n        size: 256\n    validation:\n      target: ldm.data.lsun.LSUNChurchesValidation\n      params:\n        size: 256\n\nlightning:\n  callbacks:\n    image_logger:\n      target: main.ImageLogger\n      params:\n        batch_frequency: 5000\n        max_images: 8\n        increase_log_steps: False\n\n\n  trainer:\n    benchmark: True\n"
  },
  {
    "path": "configs/latent-diffusion/txt2img-1p4B-eval.yaml",
    "content": "model:\n  base_learning_rate: 5.0e-05\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.00085\n    linear_end: 0.012\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: image\n    cond_stage_key: caption\n    image_size: 32\n    channels: 4\n    cond_stage_trainable: true\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    scale_factor: 0.18215\n    use_ema: False\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 32\n        in_channels: 4\n        out_channels: 4\n        model_channels: 320\n        attention_resolutions:\n        - 4\n        - 2\n        - 1\n        num_res_blocks: 2\n        channel_mult:\n        - 1\n        - 2\n        - 4\n        - 4\n        num_heads: 8\n        use_spatial_transformer: true\n        transformer_depth: 1\n        context_dim: 1280\n        use_checkpoint: true\n        legacy: False\n\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        monitor: val/rec_loss\n        ddconfig:\n          double_z: true\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 4\n          - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.BERTEmbedder\n      params:\n        n_embed: 1280\n        n_layer: 32\n"
  },
  {
    "path": "configs/retrieval-augmented-diffusion/768x768.yaml",
    "content": "model:\n  base_learning_rate: 0.0001\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.0015\n    linear_end: 0.015\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: jpg\n    cond_stage_key: nix\n    image_size: 48\n    channels: 16\n    cond_stage_trainable: false\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    scale_by_std: false\n    scale_factor: 0.22765929\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 48\n        in_channels: 16\n        out_channels: 16\n        model_channels: 448\n        attention_resolutions:\n        - 4\n        - 2\n        - 1\n        num_res_blocks: 2\n        channel_mult:\n        - 1\n        - 2\n        - 3\n        - 4\n        use_scale_shift_norm: false\n        resblock_updown: false\n        num_head_channels: 32\n        use_spatial_transformer: true\n        transformer_depth: 1\n        context_dim: 768\n        use_checkpoint: true\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        monitor: val/rec_loss\n        embed_dim: 16\n        ddconfig:\n          double_z: true\n          z_channels: 16\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 1\n          - 2\n          - 2\n          - 4\n          num_res_blocks: 2\n          attn_resolutions:\n          - 16\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n    cond_stage_config:\n      target: torch.nn.Identity\n"
  },
  {
    "path": "configs/stable-diffusion/v1-inference.yaml",
    "content": "model:\n  base_learning_rate: 1.0e-04\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.00085\n    linear_end: 0.0120\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 64\n    channels: 4\n    cond_stage_trainable: false   # Note: different from the one we trained before\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    scale_factor: 0.18215\n    use_ema: False\n\n    scheduler_config: # 10000 warmup steps\n      target: ldm.lr_scheduler.LambdaLinearScheduler\n      params:\n        warm_up_steps: [ 10000 ]\n        cycle_lengths: [ 10000000000000 ] # incredibly large number to prevent corner cases\n        f_start: [ 1.e-6 ]\n        f_max: [ 1. ]\n        f_min: [ 1. ]\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        image_size: 32 # unused\n        in_channels: 4\n        out_channels: 4\n        model_channels: 320\n        attention_resolutions: [ 4, 2, 1 ]\n        num_res_blocks: 2\n        channel_mult: [ 1, 2, 4, 4 ]\n        num_heads: 8\n        use_spatial_transformer: True\n        transformer_depth: 1\n        context_dim: 768\n        use_checkpoint: True\n        legacy: False\n\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        monitor: val/rec_loss\n        ddconfig:\n          double_z: true\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 4\n          - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.FrozenCLIPEmbedder\n"
  },
  {
    "path": "configs/stable-diffusion/v2-inference-v.yaml",
    "content": "model:\n  base_learning_rate: 1.0e-4\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    parameterization: \"v\"\n    linear_start: 0.00085\n    linear_end: 0.0120\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 64\n    channels: 4\n    cond_stage_trainable: false\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    scale_factor: 0.18215\n    use_ema: False # we set this to false because this is an inference only config\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        use_checkpoint: True\n        use_fp16: True\n        image_size: 32 # unused\n        in_channels: 4\n        out_channels: 4\n        model_channels: 320\n        attention_resolutions: [ 4, 2, 1 ]\n        num_res_blocks: 2\n        channel_mult: [ 1, 2, 4, 4 ]\n        num_head_channels: 64 # need to fix for flash-attn\n        use_spatial_transformer: True\n        use_linear_in_transformer: True\n        transformer_depth: 1\n        context_dim: 1024\n        legacy: False\n\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        monitor: val/rec_loss\n        ddconfig:\n          #attn_type: \"vanilla-xformers\"\n          double_z: true\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 4\n          - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.FrozenOpenCLIPEmbedder\n      params:\n        freeze: True\n        layer: \"penultimate\"\n"
  },
  {
    "path": "configs/stable-diffusion/v2-inference.yaml",
    "content": "model:\n  base_learning_rate: 1.0e-4\n  target: ldm.models.diffusion.ddpm.LatentDiffusion\n  params:\n    linear_start: 0.00085\n    linear_end: 0.0120\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 64\n    channels: 4\n    cond_stage_trainable: false\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    scale_factor: 0.18215\n    use_ema: False # we set this to false because this is an inference only config\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        use_checkpoint: True\n        use_fp16: True\n        image_size: 32 # unused\n        in_channels: 4\n        out_channels: 4\n        model_channels: 320\n        attention_resolutions: [ 4, 2, 1 ]\n        num_res_blocks: 2\n        channel_mult: [ 1, 2, 4, 4 ]\n        num_head_channels: 64 # need to fix for flash-attn\n        use_spatial_transformer: True\n        use_linear_in_transformer: True\n        transformer_depth: 1\n        context_dim: 1024\n        legacy: False\n\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        monitor: val/rec_loss\n        ddconfig:\n          #attn_type: \"vanilla-xformers\"\n          double_z: true\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n          - 1\n          - 2\n          - 4\n          - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.FrozenOpenCLIPEmbedder\n      params:\n        freeze: True\n        layer: \"penultimate\"\n"
  },
  {
    "path": "configs/stable-diffusion/v2-inpainting-inference.yaml",
    "content": "model:\n  base_learning_rate: 5.0e-05\n  target: ldm.models.diffusion.ddpm.LatentInpaintDiffusion\n  params:\n    linear_start: 0.00085\n    linear_end: 0.0120\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 64\n    channels: 4\n    cond_stage_trainable: false\n    conditioning_key: hybrid\n    scale_factor: 0.18215\n    monitor: val/loss_simple_ema\n    finetune_keys: null\n    use_ema: False\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        use_checkpoint: True\n        image_size: 32 # unused\n        in_channels: 9\n        out_channels: 4\n        model_channels: 320\n        attention_resolutions: [ 4, 2, 1 ]\n        num_res_blocks: 2\n        channel_mult: [ 1, 2, 4, 4 ]\n        num_head_channels: 64 # need to fix for flash-attn\n        use_spatial_transformer: True\n        use_linear_in_transformer: True\n        transformer_depth: 1\n        context_dim: 1024\n        legacy: False\n\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        monitor: val/rec_loss\n        ddconfig:\n          #attn_type: \"vanilla-xformers\"\n          double_z: true\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n            - 1\n            - 2\n            - 4\n            - 4\n          num_res_blocks: 2\n          attn_resolutions: [ ]\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.FrozenOpenCLIPEmbedder\n      params:\n        freeze: True\n        layer: \"penultimate\"\n\n\ndata:\n  target: ldm.data.laion.WebDataModuleFromConfig\n  params:\n    tar_base: null  # for concat as in LAION-A\n    p_unsafe_threshold: 0.1\n    filter_word_list: \"data/filters.yaml\"\n    max_pwatermark: 0.45\n    batch_size: 8\n    num_workers: 6\n    multinode: True\n    min_size: 512\n    train:\n      shards:\n        - \"pipe:aws s3 cp s3://stability-aws/laion-a-native/part-0/{00000..18699}.tar -\"\n        - \"pipe:aws s3 cp s3://stability-aws/laion-a-native/part-1/{00000..18699}.tar -\"\n        - \"pipe:aws s3 cp s3://stability-aws/laion-a-native/part-2/{00000..18699}.tar -\"\n        - \"pipe:aws s3 cp s3://stability-aws/laion-a-native/part-3/{00000..18699}.tar -\"\n        - \"pipe:aws s3 cp s3://stability-aws/laion-a-native/part-4/{00000..18699}.tar -\"  #{00000-94333}.tar\"\n      shuffle: 10000\n      image_key: jpg\n      image_transforms:\n      - target: torchvision.transforms.Resize\n        params:\n          size: 512\n          interpolation: 3\n      - target: torchvision.transforms.RandomCrop\n        params:\n          size: 512\n      postprocess:\n        target: ldm.data.laion.AddMask\n        params:\n          mode: \"512train-large\"\n          p_drop: 0.25\n    # NOTE use enough shards to avoid empty validation loops in workers\n    validation:\n      shards:\n        - \"pipe:aws s3 cp s3://deep-floyd-s3/datasets/laion_cleaned-part5/{93001..94333}.tar - \"\n      shuffle: 0\n      image_key: jpg\n      image_transforms:\n      - target: torchvision.transforms.Resize\n        params:\n          size: 512\n          interpolation: 3\n      - target: torchvision.transforms.CenterCrop\n        params:\n          size: 512\n      postprocess:\n        target: ldm.data.laion.AddMask\n        params:\n          mode: \"512train-large\"\n          p_drop: 0.25\n\nlightning:\n  find_unused_parameters: True\n  modelcheckpoint:\n    params:\n      every_n_train_steps: 5000\n\n  callbacks:\n    metrics_over_trainsteps_checkpoint:\n      params:\n        every_n_train_steps: 10000\n\n    image_logger:\n      target: main.ImageLogger\n      params:\n        enable_autocast: False\n        disabled: False\n        batch_frequency: 1000\n        max_images: 4\n        increase_log_steps: False\n        log_first_step: False\n        log_images_kwargs:\n          use_ema_scope: False\n          inpaint: False\n          plot_progressive_rows: False\n          plot_diffusion_rows: False\n          N: 4\n          unconditional_guidance_scale: 5.0\n          unconditional_guidance_label: [\"\"]\n          ddim_steps: 50  # todo check these out for depth2img,\n          ddim_eta: 0.0   # todo check these out for depth2img,\n\n  trainer:\n    benchmark: True\n    val_check_interval: 5000000\n    num_sanity_val_steps: 0\n    accumulate_grad_batches: 1\n"
  },
  {
    "path": "configs/stable-diffusion/v2-midas-inference.yaml",
    "content": "model:\n  base_learning_rate: 5.0e-07\n  target: ldm.models.diffusion.ddpm.LatentDepth2ImageDiffusion\n  params:\n    linear_start: 0.00085\n    linear_end: 0.0120\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 64\n    channels: 4\n    cond_stage_trainable: false\n    conditioning_key: hybrid\n    scale_factor: 0.18215\n    monitor: val/loss_simple_ema\n    finetune_keys: null\n    use_ema: False\n\n    depth_stage_config:\n      target: ldm.modules.midas.api.MiDaSInference\n      params:\n        model_type: \"dpt_hybrid\"\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        use_checkpoint: True\n        image_size: 32 # unused\n        in_channels: 5\n        out_channels: 4\n        model_channels: 320\n        attention_resolutions: [ 4, 2, 1 ]\n        num_res_blocks: 2\n        channel_mult: [ 1, 2, 4, 4 ]\n        num_head_channels: 64 # need to fix for flash-attn\n        use_spatial_transformer: True\n        use_linear_in_transformer: True\n        transformer_depth: 1\n        context_dim: 1024\n        legacy: False\n\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        monitor: val/rec_loss\n        ddconfig:\n          #attn_type: \"vanilla-xformers\"\n          double_z: true\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n            - 1\n            - 2\n            - 4\n            - 4\n          num_res_blocks: 2\n          attn_resolutions: [ ]\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.FrozenOpenCLIPEmbedder\n      params:\n        freeze: True\n        layer: \"penultimate\"\n"
  },
  {
    "path": "configs/stable-diffusion/x4-upscaling.yaml",
    "content": "model:\n  base_learning_rate: 1.0e-04\n  target: ldm.models.diffusion.ddpm.LatentUpscaleDiffusion\n  params:\n    parameterization: \"v\"\n    low_scale_key: \"lr\"\n    linear_start: 0.0001\n    linear_end: 0.02\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 128\n    channels: 4\n    cond_stage_trainable: false\n    conditioning_key: \"hybrid-adm\"\n    monitor: val/loss_simple_ema\n    scale_factor: 0.08333\n    use_ema: False\n\n    low_scale_config:\n      target: ldm.modules.diffusionmodules.upscaling.ImageConcatWithNoiseAugmentation\n      params:\n        noise_schedule_config: # image space\n          linear_start: 0.0001\n          linear_end: 0.02\n        max_noise_level: 350\n\n    unet_config:\n      target: ldm.modules.diffusionmodules.openaimodel.UNetModel\n      params:\n        use_checkpoint: True\n        num_classes: 1000  # timesteps for noise conditioning (here constant, just need one)\n        image_size: 128\n        in_channels: 7\n        out_channels: 4\n        model_channels: 256\n        attention_resolutions: [ 2,4,8]\n        num_res_blocks: 2\n        channel_mult: [ 1, 2, 2, 4]\n        disable_self_attentions: [True, True, True, False]\n        disable_middle_self_attn: False\n        num_heads: 8\n        use_spatial_transformer: True\n        transformer_depth: 1\n        context_dim: 1024\n        legacy: False\n        use_linear_in_transformer: True\n\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        ddconfig:\n          # attn_type: \"vanilla-xformers\" this model needs efficient attention to be feasible on HR data, also the decoder seems to break in half precision (UNet is fine though)\n          double_z: True\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult: [ 1,2,4 ]  # num_down = len(ch_mult)-1\n          num_res_blocks: 2\n          attn_resolutions: [ ]\n          dropout: 0.0\n\n        lossconfig:\n          target: torch.nn.Identity\n\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.FrozenOpenCLIPEmbedder\n      params:\n        freeze: True\n        layer: \"penultimate\"\n"
  },
  {
    "path": "configs/webui/webui.yaml",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# UI defaults configuration file. Is read automatically if located at configs/webui/webui.yaml, or specify path via --defaults.\n\ntxt2img:\n  prompt:\n  ddim_steps: 50\n  # Adding an int to toggles enables the corresponding feature.\n  #  0:  Create prompt matrix (separate multiple prompts using |, and get all combinations of them)\n  #  1:  Normalize Prompt Weights (ensure sum of weights add up to 1.0)\n  #  2:  Save individual images\n  #  3:  Save grid\n  #  4:  Sort samples by prompt\n  #  5:  Write sample info files\n  #  6:  write sample info to log file\n  #  7:  jpg samples\n  #  8:  Filter NSFW content\n  #  9:  Fix faces using GFPGAN\n  #  10:  Upscale images using RealESRGAN\n  toggles: [1, 2, 3, 4, 5]\n  sampler_name: k_lms\n  ddim_eta: 0.0  # legacy name, applies to all algorithms.\n  n_iter: 1\n  batch_size: 1\n  cfg_scale: 7.5\n  # Leave blank for random seed:\n  seed:\n  height: 512\n  width: 512\n  # Textual inversion embeddings file path:\n  fp:\n\nimg2img:\n  prompt:\n  ddim_steps: 50\n  # Adding an int to toggles enables the corresponding feature.\n  # 0: Create prompt matrix (separate multiple prompts using |, and get all combinations of them)\n  # 1: Normalize Prompt Weights (ensure sum of weights add up to 1.0)\n  # 2: Loopback (use images from previous batch when creating next batch)\n  # 3: Random loopback seed\n  # 4: Save individual images\n  # 5: Save grid\n  # 6: Sort samples by prompt\n  # 7: Write sample info files\n  # 8: jpg samples\n  # 9: Color correction\n  # 10: Filter NSFW content\n  # 11: Fix faces using GFPGAN\n  # 12: Upscale images using Real-ESRGAN\n  toggles: [1, 4, 5, 6, 7]\n  sampler_name: k_lms\n  ddim_eta: 0.0\n  n_iter: 1\n  batch_size: 1\n  cfg_scale: 5.0\n  denoising_strength: 0.75\n  # 0: Keep masked area\n  # 1: Regenerate only masked area\n  mask_mode: 0\n  # 0: Just resize\n  # 1: Crop and resize\n  # 2: Resize and fill\n  resize_mode: 0\n  # Leave blank for random seed:\n  seed:\n  height: 512\n  width: 512\n  # Textual inversion embeddings file path:\n  fp:\n\ngfpgan:\n  strength: 100\n"
  },
  {
    "path": "configs/webui/webui_flet.yaml",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# UI defaults configuration file. It is automatically loaded if located at configs/webui/webui_flet.yaml.\n# Any changes made here will be available automatically on the web app without having to stop it.\n# You may add overrides in a file named \"userconfig_flet.yaml\" in this folder, which can contain any subset\n# of the properties below.\n\n# any section labeled '_page' will get it's own tab in settings\n# any section without that suffix will still be read by parser and stored in session\n#\n# display types\n#           -- every display type must have 'value: '\n#           -- to do: add 'tooltip : ' to every display type\n#                   --(make optional, not everything needs one.)\n#   bool\n#       -value\n#   dropdown\n#       -value\n#       -option_list\n#   slider\n#       -value\n#       -value_type  'int', 'float'\n#       -min\n#       -max\n#       -step\n#   textinput\n#       -value\n#\n# list of value types\n#   !!bool      boolean     'true' 'false'\n#   !!float     float       '0.01'\n#   !!int       integer     '23'\n#   !!str       string      'foo' 'bar'\n#   !!null      None\n\nwebui_page:\n    default_theme:\n        display: dropdown\n        value: 'dark'\n        option_list:\n            - !!str 'dark'\n            - !!str 'light'\n    default_text_size:\n        display: slider\n        value: !!int '20'\n        value_type: 'int'\n        min: !!int '10'\n        max: !!int '32'\n        step: !!float '2.0'\n    max_message_history:\n        display: slider\n        value: !!int '20'\n        value_type: 'int'\n        min: !!int '1'\n        max: !!int '100'\n        step: !!int '1'\n    theme_color:\n        display: textinput\n        value: !!str 'blue'\n\ngeneral_page:\n    huggingface_token:\n        display: textinput\n        value: !!str ''\n    stable_horde_api:\n        display: textinput\n        value: !!str '0000000000'\n    global_negative_prompt:\n        display: textinput\n        value: !!str \" \"\n    default_model:\n        display: textinput\n        value: !!str \"Stable Diffusion v1.5\"\n    base_model:\n        display: textinput\n        value: !!str \"Stable Diffusion v1.5\"\n    default_model_config:\n        display: textinput\n        value: !!str \"configs/stable-diffusion/v1-inference.yaml\"\n    default_model_path:\n        display: textinput\n        value: !!str \"models/ldm/stable-diffusion-v1/Stable Diffusion v1.5.ckpt\"\n    use_sd_concepts_library:\n        display: bool\n        value: !!bool 'true'\n    sd_concepts_library_folder:\n        display: textinput\n        value: !!str \"models/custom/sd-concepts-library\"\n    GFPGAN_dir:\n        display: textinput\n        value: !!str \"./models/gfpgan\"\n    GFPGAN_model:\n        display: textinput\n        value: !!str \"GFPGANv1.4\"\n    LDSR_dir:\n        display: textinput\n        value: !!str \"./models/ldsr\"\n    LDSR_model:\n        display: textinput\n        value: !!str \"model\"\n    RealESRGAN_dir:\n        display: textinput\n        value: !!str \"./models/realesrgan\"\n    RealESRGAN_model:\n        display: textinput\n        value: !!str \"RealESRGAN_x4plus\"\n    upscaling_method:\n        display: textinput\n        value: !!str \"RealESRGAN\"\n\noutput_page:\n    outdir:\n        display: textinput\n        value: !!str 'outputs'\n    outdir_txt2img:\n        display: textinput\n        value: !!str \"outputs/txt2img\"\n    outdir_img2img:\n        display: textinput\n        value: !!str \"outputs/img2img\"\n    outdir_img2txt:\n        display: textinput\n        value: !!str \"outputs/img2txt\"\n    save_metadata:\n        display: bool\n        value: !!bool true\n    save_format:\n        display: dropdown\n        value: !!str \"png\"\n        option_list:\n            - !!str 'png'\n            - !!str 'jpeg'\n    skip_grid:\n        display: bool\n        value: !!bool 'false'\n    skip_save:\n        display: bool\n        value: !!bool 'false'\n    #grid_quality: 95\n    #n_rows: -1\n    #update_preview: True\n    #update_preview_frequency: 10\n\nperformance_page:\n    gpu:\n        display: dropdown\n        value: !!str ''\n        option_list:\n            - !!str '0:'\n    gfpgan_cpu:\n        display: bool\n        value: !!bool 'false'\n    esrgan_cpu:\n        display: bool\n        value: !!bool 'false'\n    extra_models_cpu:\n        display: bool\n        value: !!bool 'false'\n    extra_models_gpu:\n        display: bool\n        value: !!bool 'false'\n    gfpgan_gpu:\n        display: textinput\n        value: !!int 0\n    esrgan_gpu:\n        display: textinput\n        value: !!int 0\n    keep_all_models_loaded:\n        display: bool\n        value: !!bool 'false'\n    no_verify_input:\n        display: bool\n        value: !!bool 'false'\n    #no_half: False\n    #use_float16: False\n    #precision: \"autocast\"\n    #optimized: False\n    #optimized_turbo: False\n    #optimized_config: \"optimizedSD/v1-inference.yaml\"\n    #enable_attention_slicing: False\n    #enable_minimal_memory_usage: False\n\nserver_page:\n    hide_server_setting:\n        display: bool\n        value: !!bool 'false'\n    hide_browser_setting:\n        display: bool\n        value: !!bool 'false'\n\ntextual_inversion:\n    pretrained_model_name_or_path: \"models/diffusers/stable-diffusion-v1-5\"\n    tokenizer_name: \"models/clip-vit-large-patch14\"\n"
  },
  {
    "path": "configs/webui/webui_streamlit.yaml",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# UI defaults configuration file. It is automatically loaded if located at configs/webui/webui_streamlit.yaml.\n# Any changes made here will be available automatically on the web app without having to stop it.\n# You may add overrides in a file named \"userconfig_streamlit.yaml\" in this folder, which can contain any subset\n# of the properties below.\ngeneral:\n    version: 1.24.6\n    streamlit_telemetry: False\n    default_theme: dark\n    huggingface_token: ''\n    stable_horde_api: '0000000000'\n    gpu: 0\n    outdir: outputs\n    default_model: \"Stable Diffusion v1.5\"\n    base_model: \"Stable Diffusion v1.5\"\n    default_model_config: \"configs/stable-diffusion/v1-inference.yaml\"\n    default_model_path: \"models/ldm/stable-diffusion-v1/Stable Diffusion v1.5.ckpt\"\n    use_sd_concepts_library: True\n    sd_concepts_library_folder: \"models/custom/sd-concepts-library\"\n    GFPGAN_dir: \"./models/gfpgan\"\n    GFPGAN_model: \"GFPGANv1.4\"\n    LDSR_dir: \"./models/ldsr\"\n    LDSR_model: \"model\"\n    RealESRGAN_dir: \"./models/realesrgan\"\n    RealESRGAN_model: \"RealESRGAN_x4plus\"\n    upscaling_method: \"RealESRGAN\"\n    outdir_txt2img: outputs/txt2img\n    outdir_img2img: outputs/img2img\n    outdir_img2txt: outputs/img2txt\n    gfpgan_cpu: False\n    esrgan_cpu: False\n    extra_models_cpu: False\n    extra_models_gpu: False\n    gfpgan_gpu: 0\n    esrgan_gpu: 0\n    keep_all_models_loaded: False\n    save_metadata: True\n    save_format: \"png\"\n    skip_grid: False\n    skip_save: False\n    grid_quality: 95\n    n_rows: -1\n    no_verify_input: False\n    show_percent_in_tab_title: True\n    enable_suggestions: True\n    no_half: False\n    use_float16: False\n    precision: \"autocast\"\n    use_cudnn: False\n    optimized: False\n    optimized_turbo: False\n    optimized_config: \"optimizedSD/v1-inference.yaml\"\n    enable_attention_slicing: False\n    enable_minimal_memory_usage: False\n    update_preview: True\n    update_preview_frequency: 10\n\nadmin:\n    hide_server_setting: False\n    hide_browser_setting: False\n    global_negative_prompt: \"\"\n\ndebug:\n    enable_hydralit: False\n\ntxt2img:\n    prompt:\n    width:\n        value:      512\n        min_value:  64\n        max_value:  2048\n        step:       64\n\n    height:\n        value:      512\n        min_value:  64\n        max_value:  2048\n        step:       64\n\n    cfg_scale:\n        value:      7.5\n        min_value:  1.0\n        step:       0.5\n\n    seed: \"\"\n    batch_count:\n        value:      1\n\n    batch_size:\n        value:      1\n\n    sampling_steps:\n        value:      30\n        min_value:  10\n        max_value:  250\n        step:       10\n\n    LDSR_config:\n        sampling_steps: 50\n        preDownScale: 1\n        postDownScale: 1\n        downsample_method: \"Lanczos\"\n\n    default_sampler: \"k_euler\"\n    separate_prompts: False\n    update_preview: True\n    update_preview_frequency: 10\n    normalize_prompt_weights: True\n    save_individual_images: True\n    save_grid: True\n    group_by_prompt: False\n    save_as_jpg: False\n    use_GFPGAN: False\n    use_RealESRGAN: False\n    use_LDSR: False\n    RealESRGAN_model: \"RealESRGAN_x4plus\"\n    use_upscaling: False\n\n    variant_amount:\n        value:      0.0\n        min_value:  0.0\n        max_value:  1.0\n        step:       0.01\n\n    variant_seed: \"\"\n    write_info_files: True\n\ntxt2vid:\n    default_model: \"runwayml/stable-diffusion-v1-5\"\n    custom_models_list: [\"runwayml/stable-diffusion-v1-5\", \"Sygil/Sygil-Diffusion\", \"CompVis/stable-diffusion-v1-4\", \"hakurei/waifu-diffusion\"]\n    prompt:\n    width:\n        value:      512\n        min_value:  64\n        max_value:  2048\n        step:       64\n\n    height:\n        value:      512\n        min_value:  64\n        max_value:  2048\n        step:       64\n\n    cfg_scale:\n        value:      7.5\n        min_value:  1.0\n        step:       0.5\n\n    batch_count:\n        value:      1\n\n    batch_size:\n        value:      1\n\n    sampling_steps:\n        value:      30\n        min_value:  10\n        max_value:  250\n        step:       10\n\n    num_inference_steps:\n        value:      200\n        min_value:  10\n        max_value:  500\n        step:       10\n\n    seed: \"\"\n    default_sampler: \"k_euler\"\n    scheduler_name: \"klms\"\n    separate_prompts: False\n    update_preview: True\n    update_preview_frequency: 10\n    dynamic_preview_frequency: True\n    normalize_prompt_weights: True\n    save_individual_images: True\n    save_video: True\n    save_video_on_stop: False\n    group_by_prompt: True\n    write_info_files: True\n    do_loop: False\n    use_lerp_for_text: False\n    save_as_jpg: False\n    use_GFPGAN: False\n    use_RealESRGAN: False\n    RealESRGAN_model: \"RealESRGAN_x4plus\"\n    use_upscaling: False\n    variant_amount:\n        value:      0.0\n        min_value:  0.0\n        max_value:  1.0\n        step:       0.01\n\n    variant_seed: \"\"\n\n    beta_start:\n        value:      0.00085\n        min_value:  0.00010\n        max_value:  0.03000\n        step:       0.00010\n        format:     \"%.5f\"\n\n    beta_end:\n        value:      0.01200\n        min_value:  0.00010\n        max_value:  0.03000\n        step:       0.00010\n        format:     \"%.5f\"\n\n    beta_scheduler_type: \"scaled_linear\"\n    max_duration_in_seconds: 30\n    fps: 30\n\n    LDSR_config:\n        sampling_steps: 50\n        preDownScale: 1\n        postDownScale: 1\n        downsample_method: \"Lanczos\"\n\nimg2img:\n    prompt:\n    sampler_name: \"k_euler\"\n    denoising_strength:\n        value:      0.75\n        min_value:  0.0\n        max_value:  1.0\n        step:       0.01\n    # 0: Keep masked area\n    # 1: Regenerate only masked area\n    mask_mode: 0\n    noise_mode: \"Matched Noise\"\n    mask_restore: False\n    # 0: Just resize\n    # 1: Crop and resize\n    # 2: Resize and fill\n    resize_mode: 0\n    # Leave blank for random seed:\n    seed: \"\"\n    ddim_eta: 0.0\n    width:\n        value:      512\n        min_value:  64\n        max_value:  2048\n        step:       64\n\n    height:\n        value:      512\n        min_value:  64\n        max_value:  2048\n        step:       64\n\n    cfg_scale:\n        value:      7.5\n        min_value:  1.0\n        step:       0.5\n\n    batch_count:\n        value:      1\n\n    batch_size:\n        value:      1\n\n    sampling_steps:\n        value:      30\n        min_value:  10\n        max_value:  250\n        step:       10\n\n    num_inference_steps:\n        value:      200\n        min_value:  10\n        max_value:  500\n        step:       10\n\n    find_noise_steps:\n        value:      100\n        min_value:  100\n        step:       100\n\n    LDSR_config:\n        sampling_steps: 50\n        preDownScale: 1\n        postDownScale: 1\n        downsample_method: \"Lanczos\"\n\n    loopback: True\n    random_seed_loopback: True\n    separate_prompts: False\n    update_preview: True\n    update_preview_frequency: 10\n    normalize_prompt_weights: True\n    save_individual_images: True\n    save_grid: True\n    group_by_prompt: False\n    save_as_jpg: False\n    use_GFPGAN: False\n    use_RealESRGAN: False\n    RealESRGAN_model: \"RealESRGAN_x4plus\"\n    use_upscaling: False\n    variant_amount: 0.0\n    variant_seed: \"\"\n    write_info_files: True\n\nimg2txt:\n    batch_size: 2000\n    blip_image_eval_size: 512\n    keep_all_models_loaded: False\n\npost_processing:\n        save_original_images: True\n        outdir_post_processing: outputs/post_processing\n\nconcepts_library:\n    concepts_per_page: 12\n\ngfpgan:\n  strength: 100\n\ntextual_inversion:\n    pretrained_model_name_or_path: \"models/diffusers/stable-diffusion-v1-5\"\n    tokenizer_name: \"models/clip-vit-large-patch14\"\n\n\ndaisi_app:\n    running_on_daisi_io: False\n\nmodel_manager:\n    models:\n        stable_diffusion:\n            model_name:     \"Stable Diffusion v1.5\"\n            save_location:  \"./models/ldm/stable-diffusion-v1\"\n            files:\n                model_ckpt:\n                    file_name:  \"Stable Diffusion v1.5.ckpt\"\n                    download_link:  \"https://huggingface.co/runwayml/stable-diffusion-v1-5/resolve/main/v1-5-pruned-emaonly.ckpt\"\n\n        gfpgan:\n            model_name:     \"GFPGAN\"\n            save_location:  \"./models/gfpgan\"\n            files:\n                gfpgan_1_4:\n                    file_name:  \"GFPGANv1.4.pth\"\n                    download_link:  \"https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth\"\n                resnet_50:\n                    file_name: \"detection_Resnet50_Final.pth\"\n                    save_location:  \"./gfpgan/weights\"\n                    download_link: \"https://github.com/xinntao/facexlib/releases/download/v0.1.0/detection_Resnet50_Final.pth\"\n                parsing_parsenet:\n                    file_name: \"parsing_parsenet.pth\"\n                    save_location:  \"./gfpgan/weights\"\n                    download_link: \"https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pth\"\n\n\n        realesrgan:\n            model_name:     \"RealESRGAN\"\n            save_location:  \"./models/realesrgan\"\n            files:\n                x4plus:\n                    file_name: \"RealESRGAN_x4plus.pth\"\n                    download_link:  \"https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth\"\n                x4plus_anime_6b:\n                    file_name: \"RealESRGAN_x4plus_anime_6B.pth\"\n                    download_link:  \"https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth\"\n\n\n        waifu_diffusion:\n            model_name:     \"Waifu Diffusion v1.3\"\n            save_location:  \"./models/custom\"\n            files:\n                waifu_diffusion:\n                    file_name: \"Waifu-Diffusion-v1-3 Full ema.ckpt\"\n                    download_link:  \"https://huggingface.co/hakurei/waifu-diffusion-v1-3/resolve/main/wd-v1-3-full.ckpt\"\n\n\n        trinart_stable_diffusion:\n            model_name:     \"TrinArt Stable Diffusion v2\"\n            save_location:  \"./models/custom\"\n            files:\n                trinart:\n                    file_name: \"trinart.ckpt\"\n                    download_link:  \"https://huggingface.co/naclbit/trinart_stable_diffusion_v2/resolve/main/trinart2_step95000.ckpt\"\n\n        sd_wd_ld_trinart_merged:\n            model_name:     \"SD1.5-WD1.3-LD-Trinart-Merged\"\n            save_location:  \"./models/custom\"\n            files:\n                sd_wd_ld_trinart_merged:\n                    file_name: \"SD1.5-WD1.3-LD-Trinart-Merged.ckpt\"\n                    download_link:  \"https://huggingface.co/ZeroCool94/sd1.5-wd1.3-ld-trinart-merged/resolve/main/SD1.5-WD1.3-LD-Trinart-Merged.ckpt\"\n\n        stable_diffusion_concept_library:\n            model_name:     \"Stable Diffusion Concept Library\"\n            save_location:  \"./models/custom/sd-concepts-library/\"\n            files:\n                concept_library:\n                    file_name: \"\"\n                    download_link:  \"https://github.com/Sygil-Dev/sd-concepts-library\"\n\n        blip_model:\n            model_name:     \"Blip Model\"\n            save_location:  \"./models/blip\"\n            files:\n                blip:\n                    file_name: \"model__base_caption.pth\"\n                    download_link:  \"https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model*_base_caption.pth\"\n\n        ldsr:\n            model_name: \"Latent Diffusion Super Resolution (LDSR)\"\n            save_location:  \"./models/ldsr\"\n            files:\n                project_yaml:\n                    file_name:     \"project.yaml\"\n                    download_link:  \"https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1\"\n\n                ldsr_model:\n                    file_name:     \"model.ckpt\"\n                    download_link:  \"https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1\"\n\n        sygil:\n            model_name:     \"Sygil Diffusion 0.4\"\n            save_location:  \"./models/custom\"\n            files:\n                sygil_diffusion:\n                    file_name: \"sygil-diffusion-v0.4.ckpt\"\n                    download_link:  \"https://huggingface.co/Sygil/Sygil-Diffusion/resolve/main/sygil-diffusion-v0.4.ckpt\"\n"
  },
  {
    "path": "daisi_app.py",
    "content": "import os, subprocess\nimport yaml\n\nprint(os.getcwd)\n\ntry:\n    with open(\"environment.yaml\") as file_handle:\n        environment_data = yaml.safe_load(file_handle, Loader=yaml.FullLoader)\nexcept FileNotFoundError:\n    try:\n        with open(os.path.join(\"..\", \"environment.yaml\")) as file_handle:\n            environment_data = yaml.safe_load(file_handle, Loader=yaml.FullLoader)\n    except:\n        pass\n\ntry:\n    for dependency in environment_data[\"dependencies\"]:\n        package_name, package_version = dependency.split(\"=\")\n        os.system(\"pip install {}=={}\".format(package_name, package_version))\nexcept:\n    pass\n\ntry:\n    subprocess.run(\n        [\n            \"python\",\n            \"-m\",\n            \"streamlit\",\n            \"run\",\n            os.path.join(\"..\", \"scripts/webui_streamlit.py\"),\n            \"--theme.base dark\",\n        ],\n        stdout=subprocess.DEVNULL,\n    )\nexcept FileExistsError:\n    subprocess.run(\n        [\n            \"python\",\n            \"-m\",\n            \"streamlit\",\n            \"run\",\n            \"scripts/webui_streamlit.py\",\n            \"--theme.base dark\",\n        ],\n        stdout=subprocess.DEVNULL,\n    )\n"
  },
  {
    "path": "data/img2txt/artists.txt",
    "content": "A B Jackson\nA J Casson\nA R Middleton Todd\nA. B. Jackson\nA. J. Casson\nA. R. Middleton Todd\nA.B. Frost\nA.D.M. Cooper\nAB Frost\nADM Cooper\nAaron Bohrod\nAaron Douglas\nAaron Jasinski\nAaron Miller\nAaron Nagel\nAbbott Handerson Thayer\nAbdullah Gërguri\nAbdur Rahman Chughtai\nAbidin Dino\nAbraham Begeyn\nAbraham Bloemaert\nAbraham Bosschaert\nAbraham Hondius\nAbraham Mignon\nAbraham Storck\nAbraham Willaerts\nAbraham de Vries\nAbraham van Beijeren\nAbraham van Calraet\nAbraham van den Tempel\nAbram Arkhipov\nAchille Leonardi\nAda Gladys Killins\nAda Hill Walker\nAdam Bruce Thomson\nAdam Chmielowski\nAdam Dario Keel\nAdam Elsheimer\nAdam Manyoki\nAdam Marczynski\nAdam Marczyński\nAdam Paquette\nAdam Pijnacker\nAdam Rex\nAdam Saks\nAdam Szentpétery\nAdam Willaerts\nAdolf Bierbrauer\nAdolf Born\nAdolf Dietrich\nAdolf Fényes\nAdolf Hirémy-Hirschl\nAdolf Hölzel\nAdolf Schrödter\nAdolf Ulric Wertmüller\nAdolf Wölfli\nAdolfo Müller-Ury\nAdolph Gottlieb\nAdolph Menzel\nAdolphe Willette\nAdriaen Brouwer\nAdriaen Coorte\nAdriaen Hanneman\nAdriaen Isenbrant\nAdriaen van Ostade\nAdriaen van de Velde\nAdriaen van de Venne\nAdriaen van der Werff\nAdrian Zingg\nAdrienn Henczné Deák\nAdélaïde Labille-Guiard\nAdélaïde Victoire Hall\nAelbert Cuyp\nAert de Gelder\nAert van der Neer\nAertgen van Leyden\nAfewerk Tekle\nAffandi\nAgnes Lawrence Pelton\nAgnes Martin\nAgnolo Bronzino\nAgnolo Gaddi\nAgostino Carracci\nAguri Uchida\nAgustín Fernández\nAhmed Karahisari\nAhmed Yacoubi\nAi Weiwei\nAi Xuan\nAi-Mitsu\nAileen Eagleton\nAimé Barraud\nAkihiko Yoshida\nAkira Toriyama\nAkseli Gallen-Kallela\nAl Feldstein\nAl Williamson\nAladár Körösfoi-Kriesch\nAladár Körösfői-Kriesch\nAlain Tasso\nAlan Bean\nAlan Davis\nAlan Lee\nAlan Pollack\nAlan Sutherland\nAlasdair Grant Taylor\nAlasdair Gray\nAlbert Anker\nAlbert Bertelsen\nAlbert Bierstadt\nAlbert Dorne\nAlbert Dubois-Pillet\nAlbert Edelfelt\nAlbert Gleizes\nAlbert Guillaume\nAlbert Henry Krehbiel\nAlbert Irvin\nAlbert J Welti\nAlbert J. Welti\nAlbert Joseph Moore\nAlbert Joseph Pénot\nAlbert Keller\nAlbert Kotin\nAlbert Marquet\nAlbert Namatjira\nAlbert Nemethy\nAlbert Paris Gütersloh\nAlbert Swinden\nAlbert Welti\nAlberto Burri\nAlberto Giacometti\nAlberto Morrocco\nAlberto Seveso\nAlberto Sughi\nAlberto Vargas\nAlbin Egger-Lienz\nAlbrecht Altdorfer\nAlbrecht Dürer\nAldus Manutius\nAlejandro Burdisio\nAlejandro Obregón\nAleksander Gierymski\nAleksander Gine\nAleksander Kobzdej\nAleksander Kotsis\nAleksander Orlowski\nAleksander Orłowski\nAleksandr Gerasimov\nAleksandr Ivanovich Laktionov\nAleksi Briclot\nAlena Aenami\nAlessandro Allori\nAlessandro Galli Bibiena\nAlesso Baldovinetti\nAlex Grey\nAlex Horley\nAlex Horley-Orlandelli\nAlex Katz\nAlex Petruk APe\nAlex Ross\nAlex Toth\nAlexander Archipenko\nAlexander Bogen\nAlexander Brook\nAlexander Calder\nAlexander Carse\nAlexander Deyneka\nAlexander Fedosav\nAlexander Ivanov\nAlexander Jansson\nAlexander Johnston\nAlexander Kanoldt\nAlexander Kucharsky\nAlexander Litovchenko\nAlexander Mann\nAlexander McQueen\nAlexander Milne Calder\nAlexander Nasmyth\nAlexander Robertson\nAlexander Rodchenko\nAlexander Roslin\nAlexander Runciman\nAlexander Scott\nAlexander Sharpe Ross\nAlexander Stirling Calder\nAlexander V Kuprin\nAlexander V. Kuprin\nAlexandre Benois\nAlexandre Cabanel\nAlexandre Falguière\nAlexandre-Évariste Fragonard\nAlexei Kondratyevich Savrasov\nAlexej von Jawlensky\nAlexey Merinov\nAlexey Venetsianov\nAlexis Grimou\nAlexis Simon Belle\nAlfons Karpinski\nAlfons Karpiński\nAlfons Walde\nAlfons von Czibulka\nAlfonse Mucha\nAlfred Charles Parker\nAlfred East\nAlfred Edward Chalon\nAlfred Eisenstaedt\nAlfred Freddy Krupa\nAlfred Janes\nAlfred Jensen\nAlfred Krupa\nAlfred Kubin\nAlfred Leslie\nAlfred Leyman\nAlfred Manessier\nAlfred Richard Gurrey\nAlfred Sisley\nAlfred Thompson Bricher\nAlfred Wallis\nAlfredo Volpi\nAlgernon Talmage\nAlice Bailly\nAlice Mason\nAlice Neel\nAlice Prin\nAlice Rahon\nAlison Debenham\nAlison Geissler\nAlison Kinnaird\nAlison Watt\nAllaert van Everdingen\nAllan Brooks\nAllan Linder\nAllan Ramsay\nAllen Butler Talcott\nAllen Jones\nAllen Tupper True\nAlma Thomas\nAlmada Negreiros\nAlmeida Júnior\nAlonso Vázquez\nAloysius O'Kelly\nAlphonse Legros\nAlphonse Mucha\nAlson S Clark\nAlson S. Clark\nAltichiero\nAlton Tobey\nAltoon Sultan\nAlvan Fisher\nAlén Diviš\nAmadeo de Souza Cardoso\nAmalia Lindegren\nAmanda Sage\nAmbreen Butt\nAmbrose McCarthy Patterson\nAmbrosius Benson\nAmbrosius Bosschaert\nAmbrosius Bosschaert II\nAmbrosius Holbein\nAmedeo Modigliani\nAmelia Peláez\nAmelia Robertson Hill\nAmerico Makk\nAmir Zand\nAmmi Phillips\nAmos Ferguson\nAmos Sewell\nAmy Weber\nAmédée Ozenfant\nAn Gyeon\nAn Zhengwen\nAnato Finnstark\nAncell Stronach\nAnders Zorn\nAndor Basch\nAndre Derain\nAndre de Krayewski\nAndrea Kowch\nAndrea Mantegna\nAndrea Orcagna\nAndrea Pozzo\nAndrea del Sarto\nAndrea del Verrocchio\nAndreas Achenbach\nAndreas Gursky\nAndreas Rocha\nAndrei Kolkoutine\nAndrei Rublev\nAndrei Ryabushkin\nAndrew Allan\nAndrew Bell\nAndrew Boog Faithfull\nAndrew Domachowski\nAndrew Ferez\nAndrew Geddes\nAndrew Henderson\nAndrew Law\nAndrew Loomis\nAndrew Robertson\nAndrew Robinson\nAndrew Stevovich\nAndrew Wyeth\nAndrey Esionov\nAndrey Yefimovich Martynov\nAndries Both\nAndries Stock\nAndries Stock Dutch Baroque painter\nAndroid Jones\nAndrzej Pronaszko\nAndrzej Wróblewski\nAndré Bauchant\nAndré Beauneveu\nAndré Castro\nAndré Charles Biéler\nAndré Derain\nAndré François\nAndré Kertész\nAndré Lhote\nAndré Masson\nAndré Pijet\nAndré Thomkins\nAndrée Ruellan\nAndy Goldsworthy\nAndy Warhol\nAneurin Jones\nAngelica Kauffman\nAniello Falcone\nAnish Kapoor\nAnita Kunz\nAnita Malfatti\nAnka Zhuravleva\nAnn Thetis Blacker\nAnna Ancher\nAnna Boch\nAnna Dittmann\nAnna Findlay\nAnna Füssli\nAnna Haifisch\nAnna Hotchkis\nAnna Katharina Block\nAnna Maria Barbara Abesch\nAnna Mary Robertson Moses\nAnna and Elena Balbusso\nAnnabel Eyres\nAnnabel Kidston\nAnne Dunn\nAnne Geddes\nAnne Nasmyth\nAnne Redpath\nAnne Rigney\nAnne Ryan\nAnne Said\nAnne Savage\nAnne Stokes\nAnni Albers\nAnnibale Carracci\nAnnie Abernethie Pirie Quibell\nAnnie Leibovitz\nAnnie Rose Laing\nAnsel Adams\nAnselm Kiefer\nAnson Maddocks\nAntanas Sutkus\nAnthony Angarola\nAnthony Devas\nAnthony Palumbo\nAnthony S Waters\nAnthony van Dyck\nAntoine Blanchard\nAntoine Ignace Melling\nAntoine Le Nain\nAntoine Verney-Carron\nAntoine Wiertz\nAnton Ažbe\nAnton Fadeev\nAnton Graff\nAnton Lehmden\nAnton Mauve\nAnton Möller\nAnton Otto Fischer\nAnton Pieck\nAnton Räderscheidt\nAnton Solomoukha\nAntonello da Messina\nAntoni Brodowski\nAntoni Pitxot\nAntoni Tàpies\nAntonie Palamedesz\nAntonin Artaud\nAntonio Canova\nAntonio Cavallucci\nAntonio Ciseri\nAntonio Donghi\nAntonio Galli Bibiena\nAntonio Mancini\nAntonio Rotta\nAntonio Saura\nAntonio de la Gandara\nAntonín Chittussi\nAntonín Slavícek\nAntonín Slavíček\nAntônio Parreiras\nAníbal Villacís\nApelles\nApollinary Vasnetsov\nApollonia Saintclair\nAquirax Uno\nArabella Rankin\nAraceli Gilbert\nAramenta Dianthe Vail\nArchibald Motley\nArchibald Robertson\nArchibald Skirving\nArchibald Standish Hartrick\nArcimboldo\nArent Arentsz\nArie Smit\nArik Brauer\nAristide Maillol\nArkhip Kuindzhi\nArlington Nelson Lindenmuth\nArmand Guillaumin\nArmin Baumgarten\nArmin Hansen\nArnie Swekel\nArnold Blanch\nArnold Bronckhorst\nArnold Brügger\nArnold Böcklin\nArnold Franz Brasz\nArnold Mesches\nArnold Newman\nArshile Gorky\nArt & Language\nArt Brenner\nArt Fitzpatrick\nArt Frahm\nArt Green\nArt Spiegelman\nArt of Brom\nArtemisia Gentileschi\nArtgerm\nArthur Adams\nArthur B Carles\nArthur B. Carles\nArthur Boyd\nArthur Burdett Frost\nArthur Dove\nArthur Garfield Dove\nArthur Hughes\nArthur Lismer\nArthur Melville\nArthur Merric Boyd\nArthur Pan\nArthur Quartley\nArthur Rackham\nArthur Sarkissian\nArthur Streeton\nArthur Webster Emerson\nArtur Grottger\nArtur Tarnowski\nArturo Rivera\nArvid Nyholm\nAsaf Hanuka\nAsai Chu\nAsai Chū\nAsger Jorn\nAsher Brown Durand\nAtey Ghailan\nAttila Meszlenyi\nAubrey Beardsley\nAudrey Kawasaki\nAugust Friedrich Schenck\nAugust Lemmer\nAugust Macke\nAugust Querfurt\nAugust Sander\nAuguste Baud-Bovy\nAuguste Herbin\nAugustin Meinrad Bächtiger\nAugustus Dunbier\nAugustus Earle\nAugustus John\nAugustus Vincent Tack\nAugustyn Mirys\nAurél Bernáth\nAuseklis Ozols\nAustin Briggs\nAustin English\nAustin Osman Spare\nAvgust Cernigoj\nAvgust Černigoj\nAvigdor Arikha\nAwataguchi Takamitsu\nAy-O\nAya Goda\nAyako Rokkaku\nAyami Kojima\nAyshia Taskin\nAyshia Taşkın\nBaioken Eishun\nBaiōken Eishun\nBalcomb Greene\nBalthasar van der Ast\nBalthus\nBalázs Diószegi\nBanksy\nBapu\nBarbara Balmer\nBarbara Greg\nBarbara Longhi\nBarbara Nasmyth\nBarbara Nessim\nBarclay Shaw\nBarent Fabritius\nBarkley Hendricks\nBarnett Newman\nBarron Storey\nBarthel Bruyn the Elder\nBarthel Bruyn the Younger\nBartholomeus Breenbergh\nBartholomeus Strobel\nBartholomeus van Bassen\nBartholomeus van der Helst\nBarthélemy Menn\nBarthélemy d'Eyck\nBartolomeo Cesi\nBartolomeo Vivarini\nBartolomé Esteban Murillo\nBascove\nBasil Blackshaw\nBastien L Deharme\nBastien L. Deharme\nBastien Lecouffe-Deharme\nBasuki Abdullah\nBauhaus\nBayard Wu\nBeatrice Ethel Lithiby\nBeatrice Huntington\nBeatrix Potter\nBeauford Delaney\nBedwyr Williams\nBeeple\nBeksinski\nBela Cikoš Sesija\nBela Čikoš Sesija\nBen Enwonwu\nBen Nicholson\nBen Shahn\nBen Stahl\nBen Templesmith\nBen Thompson\nBen Zoeller\nBencho Obreshkov\nBenito Quinquela Martín\nBenjamin Block\nBenjamin Franklin\nBenjamin Gerritsz Cuyp\nBenjamin Marra\nBenjamin West\nBenjamin Williams Leader\nBenoit B Mandelbrot\nBenoit B. Mandelbrot\nBernard Accama\nBernard Buffet\nBernard D’Andrea\nBernard Fleetwood-Walker\nBernard Meninsky\nBernard van Orley\nBernardino Mei\nBernardo Bellotto\nBernardo Cavallino\nBernardo Daddi\nBernardo Strozzi\nBernat Sanjuan\nBernd Fasching\nBernie D’Andrea\nBernie Wrightson\nBernt Tunold\nBert Hardy\nBert Stern\nBertalan Karlovszky\nBertalan Pór\nBertalan Székely\nBerthe Morisot\nBertram Brooker\nBessie Wheeler\nBeta Vukanovic\nBeta Vukanović\nBettina Heinen-Ayech\nBetty Churcher\nBetty Merken\nBetye Saar\nBholekar Srihari\nBhupen Khakhar\nBian Jingzhao\nBian Shoumin\nBikash Bhattacharjee\nBill Lewis\nBill Sienkiewicz\nBill Traylor\nBill Ward\nBill Watterson\nBillie Waters\nBilly Childish\nBjørn Wiinblad\nBlanche Hoschedé Monet\nBob Byerley\nBob Eggleton\nBob Ringwood\nBob Ross\nBob Singer\nBob Thompson\nBoetius Adamsz Bolswert\nBogi Fabian\nBohumil Kubista\nBoleslaw Cybis\nBonnard Pierre\nBoris Kustodiev\nBoris Vallejo\nBoris Vladimirski\nBouchta El Hayani\nBourgeois\nBožidar Jakac\nBracha L Ettinger\nBracha L. Ettinger\nBrad Holland\nBrad Kunkle\nBradley Walker Tomlin\nBrassaï\nBrenda Chamberlain\nBrett Whiteley\nBreyten Breytenbach\nBrian 'Chippy' Dugan\nBrian Alfred\nBrian Bolland\nBrian Despain\nBrian Dunlop\nBrian Fies\nBrian Froud\nBrian Snøddy\nBrian Thomas\nBrian and Wendy Froud\nBriana Mora\nBrice Marden\nBridget Bate Tichenor\nBridget Riley\nBrigette Barrager\nBrigid Derham\nBrom\nBrooke Shaden\nBrothers Hildebrandt\nBruce Davidson\nBruce Gilden\nBruce McLean\nBruce Munro\nBruce Nauman\nBruce Onobrakpeya\nBruce Pennington\nBruce Timm\nBruno Liljefors\nBryan Organ\nBuckminster Fuller\nBunny Yeager\nByeon Sang-byeok\nByron Galvez\nBálint Kiss\nBéla Apáti Abkarovics\nBéla Czóbel\nBéla Iványi-Grünwald\nBéla Kondor\nBéla Nagy Abodi\nBéla Pállik\nBéni Ferenczy\nCaesar Andrade Faini\nCaesar van Everdingen\nCafer Bater\nCagnaccio di San Pietro\nCam Sykes\nCamille Bombois\nCamille Bouvagne\nCamille Corot\nCamille Pissarro\nCamille Souter\nCamille-Pierre Pambu Bodo\nCamilo Egas\nCamilo Mori\nCanaletto\nCandido Bido\nCandido Portinari\nCao Buxing\nCao Zhibai\nCaravaggio\nCarel Fabritius\nCarel Weight\nCarel Willink\nCarey Morris\nCarl Arnold Gonzenbach\nCarl Barks\nCarl Critchlow\nCarl Eugen Keel\nCarl Eytel\nCarl Frederik von Breda\nCarl Gustaf Pilo\nCarl Heinrich Bloch\nCarl Hoppe\nCarl Larsson\nCarl Morris\nCarl Rahl\nCarl Spitzweg\nCarl Walter Liner\nCarl-Henning Pedersen\nCarla Wyzgala\nCarle Hessay\nCarles Delclaux Is\nCarlo Carlone\nCarlo Carrà\nCarlo Crivelli\nCarlo Galli Bibiena\nCarlo Maderna\nCarlo Martini\nCarlo Mense\nCarlo Randanini\nCarlos Berlanga\nCarlos Catasse\nCarlos Enríquez Gómez\nCarlos Francisco Chang Marín\nCarlos Saenz de Tejada\nCarlos Schwabe\nCarlos Trillo Name\nCarne Griffiths\nCaro Niederer\nCarol Bove\nCarol Sutton\nCaroline Chariot-Dayez\nCaroline Gotch\nCaroline Lucy Scott\nCaroline Mytinger\nCarpoforo Tencalla\nCarrie Mae Weems\nCaspar David Friedrich\nCaspar Netscher\nCaspar Wolf\nCaspar van Wittel\nCassandra Austen\nCassius Marcellus Coolidge\nCaterina Tarabotti\nCatrin G Grosse\nCatrin Welz-Stein\nCecil Beaton\nCecile Walton\nCecilia Beaux\nCecily Brown\nCedric Peyravernay\nCedric Seaut\nCedric Seaut (Keos Masons)\nCeferí Olivé\nCelia Fiennes\nCelia Frances Bedford\nCeri Richards\nCerith Wyn Evans\nChafik Charobim\nChagall\nChaim Soutine\nChang Dai-chien\nChantal Joffe\nCharles Addams\nCharles Alphonse du Fresnoy\nCharles Alston\nCharles Angrand\nCharles Billich\nCharles Bird King\nCharles Blackman\nCharles Codman\nCharles Conder\nCharles Crodel\nCharles Cundall\nCharles Dana Gibson\nCharles Demuth\nCharles E Burchfield\nCharles E. Burchfield\nCharles Ellison\nCharles Fremont Conner\nCharles Furneaux\nCharles Ginner\nCharles Gleyre\nCharles H Woodbury\nCharles H. Woodbury\nCharles Harold Davis\nCharles Haslewood Shannon\nCharles Hinman\nCharles Hopkinson\nCharles Joshua Chaplin\nCharles Le Brun\nCharles Le Roux\nCharles Mahoney\nCharles Marion Russell\nCharles Martin\nCharles Maurice Detmold\nCharles McAuley\nCharles Mozley\nCharles Ragland Bunnell\nCharles Rennie Mackintosh\nCharles Ricketts\nCharles Roka\nCharles Rollier\nCharles S Kaelin\nCharles S. Kaelin\nCharles Schulz\nCharles Thomson\nCharles Uzzell-Edwards\nCharles W Bartlett\nCharles W. Bartlett\nCharles Williams\nCharles Willson Peale\nCharles-Amédée-Philippe van Loo\nCharles-André van Loo\nCharles-François Daubigny\nCharlie Bowater\nCharlotte Harding\nCharlotte Nasmyth\nCharly Amani\nCharmion von Wiegand\nChase Stone\nChaïm Soutine\nChen Chi\nChen Chun\nChen Daofu\nChen Hong\nChen Hongshou\nChen Jiru\nChen Lin\nChen Lu\nChen Rong\nChen Yifei\nCheng Jiasui\nCheng Shifa\nCheng Zhengkui\nCherryl Fountain\nChesley Bonestell\nChica Macnab\nChiharu Shiota\nChiho Aoshima\nChilde Hassam\nChinwe Chukwuogo-Roy\nChip Zdarsky\nChippy\nChizuko Yoshida\nChoi Buk\nChris Cold\nChris Foss\nChris Friel\nChris LaBrooy\nChris Moore\nChris Rahn\nChris Rallis\nChris Spollen\nChris Ware\nChristabel Dennison\nChristen Dalsgaard\nChristen Købke\nChristian August Lorentzen\nChristian Hilfgott Brand\nChristian Jane Fergusson\nChristian Krohg\nChristian Rohlfs\nChristian W Staudinger\nChristian W. Staudinger\nChristo\nChristoffel van den Berghe\nChristoffer Wilhelm Eckersberg\nChristoph Amberger\nChristoph Ludwig Agricola\nChristophe Vacher\nChristopher Balaskas\nChristopher Moeller\nChristopher Perkins\nChristopher Rush\nChristopher Williams\nChristopher Wood\nChristopher Wren\nChuck Close\nCicely Hey\nCicely Mary Barker\nCimabue\nCindy Sherman\nCindy Wright\nClaes Corneliszoon Moeyaert\nClaes Jansz Visscher\nClaes Jansz. Visscher\nClaire Dalby\nClaire Falkenstein\nClaire Hummel\nClara Miller Burd\nClara Peeters\nClara Weaver Parrish\nClarence Holbrook Carter\nClarice Beckett\nClark Voorhees\nClaude Bonin-Pissarro\nClaude Cahun\nClaude Lorrain\nClaude Monet\nClaude Rogers\nCleon Peterson\nCleve Gray\nCliff Childs\nClifford Ellis\nClifford Ross\nClint Cearley\nClovis Trouille\nClyde Caldwell\nClyfford Still\nClément Serveau\nCoby Whitmore\nColes Phillips\nColijn de Coter\nColin Campbell Cooper\nColin Gill\nColin Hayes\nColin McCahon\nColin Middleton\nColin Moss\nConrad Marca-Relli\nConrad Roset\nConroy Maddox\nConstance Copeman\nConstance Gordon-Cumming\nConstance-Anne Parker\nConstant\nConstant Permeke\nConstantin Hansen\nConstantine Andreou\nCoppo di Marcovaldo\nCor Melchers\nCorneille\nCornelia MacIntyre Foley\nCornelia Parker\nCornelis Anthonisz\nCornelis Bisschop\nCornelis Claesz van Wieringen\nCornelis Dusart\nCornelis Engebrechtsz\nCornelis Pietersz Bega\nCornelis Saftleven\nCornelis Verbeeck\nCornelis de Heem\nCornelis de Man\nCornelis van Haarlem\nCornelis van Poelenburgh\nCornelisz Hendriksz Vroom\nCornelisz Hendriksz Vroom the Younger\nCorreggio\nCosmo Alexander\nCraig Davison\nCraig Mullins\nCraig Thompson\nCraola\nCricorps Grégoire\nCristache Gheorghiu\nCristofano Allori\nCsaba Markus\nCui Bai\nCui Zizhong\nCuno Amiet\nCy Twombly\nCynthia Sheppard\nCyril Rolando\nCándido López\nCézanne\nD Alexander Gregory\nD Howard Hitchcock\nD. Alexander Gregory\nD. Howard Hitchcock\nDaarken\nDahlov Ipcar\nDai Jin\nDai Xi\nDali\nDalí\nDamien Hirst\nDan Christensen\nDan Content\nDan Frazier\nDan Hillier\nDan Luvisi\nDan Mumford\nDan Scott\nDan Smith\nDaniel Chodowiecki\nDaniel F Gerhartz\nDaniel F. Gerhartz\nDaniel Garber\nDaniel Gelon\nDaniel Lieske\nDaniel Ljunggren\nDaniel Maclise\nDaniel Merriam\nDaniel Schultz\nDaniel Seghers\nDaniel Taylor\nDaniël Mijtens\nDante Gabriel Rossetti\nDaphne Allen\nDaphne Fedarb\nDaphne McClure\nDarek Zabrocki\nDaren Bader\nDariusz Zawadzki\nDarrell Riche\nDaryush Shokof\nDave Allsop\nDave Arredondo\nDave Dorman\nDave Gibbons\nDave Kendall\nDave McKean\nDave Melvin\nDavid A Hardy\nDavid A. Hardy\nDavid Alfaro Siqueiros\nDavid Allan\nDavid Annand\nDavid B Mattingly\nDavid B. Mattingly\nDavid Bailly\nDavid Begbie\nDavid Bomberg\nDavid Boyd\nDavid Brewster\nDavid Budd\nDavid Burliuk\nDavid Burton-Richardson\nDavid Chipperfield\nDavid Cooke Gibson\nDavid Diao\nDavid Donaldson\nDavid Dougal Williams\nDavid Eugene Henry\nDavid Firth\nDavid G Sorensen\nDavid G. Sorensen\nDavid Garner\nDavid Gilmour Blythe\nDavid Hockney\nDavid Imms\nDavid Inshaw\nDavid LaChapelle\nDavid Ligare\nDavid Macaulay\nDavid Macbeth Sutherland\nDavid Martin\nDavid Michie\nDavid Octavius Hill\nDavid Palumbo\nDavid Park\nDavid Paton\nDavid Ramsay Hay\nDavid Roberts\nDavid Simpson\nDavid Small\nDavid Teniers III\nDavid Teniers the Elder\nDavid Teniers the Younger\nDavid Watson Stevenson\nDavid Wilkie\nDavid Wojnarowicz\nDavid Young Cameron\nDavide Sasselli\nDe Hirsh Margules\nDean Cornwell\nDean Ellis\nDean Roger\nDechko Uzunov\nDee Whitcomb\nDelaunay\nDelmer J Yoakum\nDelmer J. Yoakum\nDelphin Enjolras\nDemetrios Farmakopoulos\nDenis Eden\nDennis Ashbaugh\nDennis Flanders\nDennis H Farber\nDennis H. Farber\nDennis Miller Bunker\nDerek Chittock\nDerek Gores\nDerek Hill\nDerek Jarman\nDerf\nDerold Page\nDesmond Morris\nDiane Arbus\nDiane Dillon\nDick Bickenbach\nDicky Doyle\nDidier Mouron\nDiego Giacometti\nDiego Gisbert Llorens\nDiego Rivera\nDiego Velázquez\nDieric Bouts\nDietmar Damerau\nDimitre Manassiev Mehandjiysky\nDing Guanpeng\nDing Yunpeng\nDino Valls\nDionisio Baixeras Verdaguer\nDionisius\nDirck Hals\nDirck de Bray\nDirck de Quade van Ravesteyn\nDirck van Baburen\nDirck van Delen\nDirck van der Lisse\nDirk Crabeth\nDirk Helmbreker\nDitlev Blunck\nDmitry Levitzky\nDoc Hammer\nDod Procter\nDom Qwek\nDomenichino\nDomenico Ghirlandaio\nDomenico Induno\nDomenico Pozzi\nDomenico Quaglio the Younger\nDomenico Zampieri\nDomenico di Pace Beccafumi\nDomirinic Fegallia\nDon Arday\nDon Bluth\nDon Eddy\nDon Maitz\nDon Reichert\nDonald Judd\nDonald Roller Wilson\nDonald Sherwood\nDonato Giancola\nDong Kingman\nDong Qichang\nDong Yuan\nDora Carrington\nDora Maar\nDoris Blair\nDoris Boulton-Maude\nDorning Rasbotham\nDorothea Braby\nDorothea Lange\nDorothea Tanning\nDorothea Warren O'Hara\nDorothy Bradford\nDorothy Burroughes\nDorothy Coke\nDorothy Elizabeth Bradford\nDorothy Hood\nDorothy Johnstone\nDorothy King\nDorothy Lockwood\nDosso Dossi\nDoug Ohlson\nDoug Wildey\nDouglas Bourgeois\nDouglas Robertson Bisset\nDouglas Shuler\nDr Atl\nDr Seuss\nDr. Atl\nDr. Seuss\nDrew Struzan\nDrew Tucker\nDu Jin\nDu Qiong\nDuccio\nDugald Sutherland MacColl\nDulah Marie Evans\nDuncan Grant\nDustin Nguyen\nDwight William Tryon\nDóra Keresztes\nDürer\nE Charlton Fortune\nE Simms Campbell\nE T A Hoffmann\nE William Gollings\nE. Charlton Fortune\nE. Simms Campbell\nE. T. A. Hoffmann\nE. William Gollings\nE.H. Shepard\nEH Shepard\nESAO\nEamon Everall\nEarl Norem\nEarle Bergey\nEarnst Haeckel\nEcho Chernik\nEd Benedict\nEd Binkley\nEd Emshwiller\nEd Paschke\nEd Roth\nEddie Campbell\nEddie Mendoza\nEden Box\nEdgar Ainsworth\nEdgar Degas\nEdgar Schofield Baum\nEdi Rama\nEdith Edmonds\nEdith Grace Wheatley\nEdith Lawrence\nEdmond Aman-Jean\nEdmond Bille\nEdmond Xavier Kapp\nEdmund Blampied\nEdmund Charles Tarbell\nEdmund Dulac\nEdmund F Ward\nEdmund F. Ward\nEdmund Greacen\nEdmund Leighton\nEdna Mann\nEdo Murtic\nEdo Murtić\nEduard von Grützner\nEduard von Steinle\nEduardo Kingman\nEduardo Lefebvre Scovell\nEduardo Paolozzi\nEdvard Munch\nEdward Armitage\nEdward Arthur Walton\nEdward Atkinson Hornel\nEdward Avedisian\nEdward Bailey\nEdward Baird\nEdward Ben Avram\nEdward Burne-Jones\nEdward Clark\nEdward Corbett\nEdward Dugmore\nEdward George Handel Lucas\nEdward Gorey\nEdward Henry Potthast\nEdward Hicks\nEdward Hopper\nEdward Kemble\nEdward Lamson Henry\nEdward Lear\nEdward Marshall Boehm\nEdward Mitchell Bannister\nEdward Okun\nEdward Okuń\nEdward Otho Cresap Ord II\nEdward Otho Cresap Ord, II\nEdward P Beard Jr\nEdward P. Beard Jr.\nEdward Robert Hughes\nEdward Ruscha\nEdward Simmons\nEdward Sorel\nEdward Wadsworth\nEdward Weston\nEdward Willis Redfield\nEdwin Austin Abbey\nEdwin Deakin\nEdwin Dickinson\nEdwin G Lucas\nEdwin G. Lucas\nEdwin Georgi\nEdwin Landseer\nEero Järnefelt\nEero Snellman\nEgbert van Heemskerck\nEgbert van der Poel\nEglon van der Neer\nEgon Schiele\nEgon von Vietinghoff\nEi-Q\nEiichiro Oda\nEileen Aldridge\nEinar Hakonarson\nEishosai Choki\nEishōsai Chōki\nEizan Kikukawa\nEizo Kato\nEizō Katō\nEjler Bille\nEjnar Nielsen\nEl Greco\nEl Lissitzky\nElaine Duillo\nElaine Hamilton\nElaine de Kooning\nElbridge Ayer Burbank\nEleanor Best\nEleanor Fortescue-Brickdale\nEleanor Hughes\nEleanor Layfield Davis\nEleanor Vere Boyle\nElena Guro\nElfriede Lohse-Wächtler\nElias Goldberg\nElias Ravanetti\nElina Karimova\nElinor Proby Adams\nEliot Hodgkin\nElisabeth Collins\nEliseu Visconti\nElizabeth Charleston\nElizabeth Durack\nElizabeth Forbes\nElizabeth Jane Lloyd\nElizabeth MacNicol\nElizabeth Murray\nElizabeth Polunin\nElizabeth Shippen Green\nElizabeth York Brunton\nElke Vogelsang\nElla Guru\nEllen Gallagher\nElliott Erwitt\nEllsworth Kelly\nElmer Bischoff\nElmyr de Hory\nElsa Beskow\nElsa Bleda\nElse Alfelt\nElsie Dalton Hewland\nElsie Few\nElsie Henderson\nElsie Vera Cole\nElwood H Smith\nElwood H. Smith\nEmanuel Büchel\nEmanuel Leutze\nEmanuel Schongut\nEmanuel Witz\nEmanuel de Witte\nEmerson Silva\nEmil Bisttram\nEmil Carlsen\nEmil Fuchs\nEmil Lindenfeld\nEmil Nolde\nEmil Orlik\nEmile Auguste Carolus-Duran\nEmile Lahner\nEmiliano Di Cavalcanti\nEmiliano Ponzi\nEmilio Grau Sala\nEmily Carr\nEmily Mason\nEmily Murray Paterson\nEmily Shanks\nEmma Andijewska\nEmma Geary\nEmma Lampert Cooper\nEmma Ríos\nEmory Douglas\nEmperor Huizong of Song\nEndre Bálint\nEnguerrand Quarton\nEnki Bilal\nEnrico Baj\nEnrique Grau\nEnrique Simonet\nEnrique Tábara\nEnzo Cucchi\nEppo Doeve\nEpsylon Point\nEric Auld\nEric Deschamps\nEric Dinyer\nEric Peterson\nEric Taylor\nEric Zener\nEric de Kolb\nErich Heckel\nErik Ortvad\nErik Pevernagie\nErin Hanson\nErlund Hudson\nErnest Biéler\nErnest Briggs\nErnest Buckmaster\nErnest Heber Thompson\nErnest Hébert\nErnest Lawson\nErnest Morgan\nErnest Procter\nErnest William Christmas\nErnest Zobole\nErnie Barnes\nErno Bánk\nErno Grünbaum\nErno Rubik\nErno Tibor\nErnst\nErnst Fuchs\nErnst Haeckel\nErnst Ludwig Kirchner\nErnst Thoms\nErnst Wilhelm Nay\nErnő Bánk\nErnő Grünbaum\nErnő Rubik\nErnő Tibor\nErwin Bowien\nEsaias Boursse\nEsaias van de Velde\nEsao Andrews\nEsteban Vicente\nEsther Blaikie MacKinnon\nEstuardo Maldonado\nEszter Mattioni\nEtel Adnan\nEthel Schwabacher\nEtienne Delessert\nEttore \"Ted\" DeGrazia\nEttore Tito\nEuan Uglow\nEugeen Van Mieghem\nEugene Delacroix\nEugene J Martin\nEugene J. Martin\nEugene Leroy\nEugene Montgomery\nEugene Tertychnyi\nEugene von Guerard\nEugenio Granell\nEugenio de Arriba\nEugeniusz Zak\nEugeniusz Żak\nEugène Boudin\nEugène Brands\nEugène Burnand\nEugène Carrière\nEugène Delacroix\nEugène Grasset\nEugène Isabey\nEva Frankfurther\nEva Gonzalès\nEva Švankmajerová\nEvaline Ness\nEvan Charlton\nEvaristo Baschenis\nEve Disher\nEve Ryder\nEvelyn Abelson\nEvelyn Cheston\nEvelyn De Morgan\nEverett Raymond Kinstler\nEverett Shinn\nEverett Warner\nEvert Collier\nEvgeny Lushpin\nExekias\nEyvind Earle\nF Scott Hess\nF. Scott Hess\nFabien Charuau\nFairfield Porter\nFan Kuan\nFan Qi\nFang Congyi\nFanny McIan\nFarel Dalrymple\nFarid Mansour\nFathi Hassan\nFay Pomerance\nFede Galizia\nFederico Barocci\nFederico Uribe\nFederico Zandomeneghi\nFederico Zuccari\nFedot Sychkov\nFei Danxu\nFelice Casorati\nFelicity Charlton\nFelipe Seade\nFelix Octavius Carr Darley\nFelix-Kelly\nFeng Zhu\nFenghua Zhong\nFerdinand Bol\nFerdinand Hodler\nFerdynand Ruszczyc\nFerenc Joachim\nFern Coppedge\nFernand Léger\nFernand Pelez\nFernand Toussaint\nFernand Verhaegen\nFernando Amorsolo\nFernando Botero\nFernando Gerassi\nFikret Muallâ Saygi\nFikret Muallâ Saygı\nFilip Hodas\nFilippino Lippi\nFiona Rae\nFiona Stephenson\nFitz Henry Lane\nFitz Hugh Lane\nFlavia Blois\nFletcher Martin\nFlora Macdonald Reid\nFlorence Engelbach\nFlorianne Becker\nFloris van Dyck\nFloris van Schooten\nFord Madox Brown\nFra Angelico\nFra Bartolomeo\nFra Filippo Lippi\nFrances C Fairman\nFrances C. Fairman\nFrances Currey\nFrances Hodgkins\nFrances Jetter\nFrances MacDonald\nFrances Macdonald\nFrancesco Albani\nFrancesco Bartolozzi\nFrancesco Bonsignori\nFrancesco Clemente\nFrancesco Cozza\nFrancesco Filippini\nFrancesco Furini\nFrancesco Guardi\nFrancesco Hayez\nFrancesco Raibolini\nFrancesco Zuccarelli\nFrancesco del Cossa\nFrancis Bacon\nFrancis Bourgeois\nFrancis Cadell\nFrancis Davis Millet\nFrancis Ernest Jackson\nFrancis Focer Brown\nFrancis Helps\nFrancis Picabia\nFrancis Souza\nFrancisco Goya\nFrancisco Josè de Goya\nFrancisco Oller\nFrancisco Zúñiga\nFrancisco de Burgos Mantilla\nFrancisco de Holanda\nFrancisco de Zurbarán\nFranciszek Kostrzewski\nFranciszek Smuglewicz\nFranciszek Starowieyski\nFranciszek Zmurko\nFranciszek Żmurko\nFrank Auerbach\nFrank Barrington Craig\nFrank Buchser\nFrank DuMond\nFrank Frazetta\nFrank J Girardin\nFrank J. Girardin\nFrank Leonard Brooks\nFrank Mason\nFrank McKelvey\nFrank Miller\nFrank Montague Moore\nFrank O'Meara\nFrank Schoonover\nFrank Stella\nFrank Weston Benson\nFrank Xavier Leyendecker\nFranklin Booth\nFranklin Carmichael\nFrans Hals\nFrans Koppelaar\nFrans Masereel\nFrans van Mieris the Elder\nFrans van Mieris the Younger\nFrantišek Jakub Prokyš\nFrantišek Kaván\nFrantišek Kupka\nFranz Cižek\nFranz Fedier\nFranz Hegi\nFranz Karl Basler-Kopp\nFranz Kline\nFranz Marc\nFranz Sedlacek\nFranz Stuck\nFranz Vohwinkel\nFranz Xaver Winterhalter\nFranz von Lenbach\nFrançois Barraud\nFrançois Bocion\nFrançois Boquet\nFrançois Boucher\nFrançois Clouet\nFrançois Girardon\nFrançois Joseph Heim\nFrançois Louis Thomas Francia\nFrançois Quesnel\nFred A Precht\nFred A. Precht\nFred Cress\nFred Ludekens\nFred Marcellino\nFred Mitchell\nFred Williams\nFrederic Church\nFrederic Edwin Church\nFrederic Leighton\nFrederic Remington\nFrederick Carl Frieseke\nFrederick Edwin Church\nFrederick Goodall\nFrederick Hammersley\nFrederick Lord Leighton\nFrederick McCubbin\nFrederik Vermehren\nFrederik de Moucheron\nFrida Kahlo\nFriedel Dzubas\nFriedensreich Hundertwasser\nFriedrich Gauermann\nFriedrich Ritter von Friedländer-Malheim\nFriedrich Traffelet\nFriedrich von Amerling\nFrieke Janssens\nFrits Thaulow\nFrits Van den Berghe\nFritz Baumann\nFritz Bultman\nFritz Glarner\nFritz Puempin\nFritz von Dardel\nFritz von Uhde\nFrédéric Bazille\nFu Baoshi\nFujishima Takeji\nFujiwara Nobuzane\nFujiwara Takanobu\nFuller Potter\nFuyuko Matsui\nFyodor Alekseyev\nFyodor Rokotov\nFyodor Slavyansky\nFyodor Vasilyev\nFélix Arauz\nFélix Bódog Widder\nFélix Labisse\nFélix Vallotton\nFélix Ziem\nGabor Breznay\nGabor Szikszai\nGabriel Ba\nGabriel Dawe\nGabriel Metsu\nGabriele Münter\nGabrijel Jurkic\nGabrijel Jurkić\nGaetano Previati\nGaetano Sabatini\nGai Qi\nGalen Dara\nGang Hui-an\nGang Se-hwang\nGao Cen\nGao Fenghan\nGao Kegong\nGao Qipei\nGao Xiang\nGarry Winogrand\nGary Panter\nGaston Anglade\nGaston Bussière\nGatoken Shunshi\nGatōken Shunshi\nGaudi\nGaugin\nGavin Hamilton\nGavin Nolan\nGawen Hamilton\nGediminas Pranckevicius\nGee Vaucher\nGeertgen tot Sint Jans\nGen Paul\nGenco Gulan\nGene Davis\nGenevieve Springston Lynch\nGentile Bellini\nGentile Tondino\nGeof Darrow\nGeoffrey Dyer\nGeoffrey Olsen\nGeorg Arnold-Graboné\nGeorg Baselitz\nGeorg Friedrich Kersting\nGeorg Friedrich Schmidt\nGeorg Muche\nGeorg Scholz\nGeorg Schrimpf\nGeorge Abe\nGeorge Aleef\nGeorge Ault\nGeorge B Bridgman\nGeorge B Sutherland\nGeorge B. Bridgman\nGeorge B. Sutherland\nGeorge Bain\nGeorge Barker\nGeorge Barret Jr\nGeorge Barret Sr\nGeorge Barret, Jr.\nGeorge Barret, Sr.\nGeorge Baselitz\nGeorge Bell\nGeorge Bellows\nGeorge Benjamin Luks\nGeorge Biddle\nGeorge Bogart\nGeorge Caleb Bingham\nGeorge Catlin\nGeorge Claessen\nGeorge Cruikshank\nGeorge Earl Ortman\nGeorge Fiddes Watt\nGeorge Frederic Watts\nGeorge Frederick Harris\nGeorge Gardner Symons\nGeorge Grosz\nGeorge Hendrik Breitner\nGeorge Henry\nGeorge Herbert Baker\nGeorge Hurrell\nGeorge Inness\nGeorge Jamesone\nGeorge Lambourn\nGeorge Lucas\nGeorge Luks\nGeorge Manson\nGeorge Morrison\nGeorge Papazov\nGeorge Passantino\nGeorge Paul Chalmers\nGeorge Pirie\nGeorge Reid\nGeorge Romney\nGeorge Stubbs\nGeorge Tooker\nGeorge Wyllie\nGeorge barbier\nGeorges Braque\nGeorges Emile Lebacq\nGeorges Lacombe\nGeorges Lemmen\nGeorges Rouault\nGeorges Seurat\nGeorges Stein\nGeorges de La Tour\nGeorgia O'Keeffe\nGeorgia O’Keeffe\nGeorgina Hunt\nGerald Brom\nGerald Kelley\nGerald Kelly\nGerald van Honthorst\nGerard David\nGerard Houckgeest\nGerard Seghers\nGerard Sekoto\nGerard Soest\nGerard de Lairesse\nGerard ter Borch\nGerbrand van den Eeckhout\nGerda Wegener\nGerhard Richter\nGermaine Krull\nGermán Londoño\nGerrit Adriaenszoon Berckheyde\nGerrit Dou\nGertrude Abercrombie\nGertrude Greene\nGertrude Harvey\nGiacomo Balla\nGiambattista Pittoni\nGian Lorenzo Bernini\nGianfredo Camesi\nGigado Ashiyuki\nGigadō Ashiyuki\nGiger\nGijsbert d'Hondecoeter\nGil Elvgren\nGilbert Stuart\nGilberto Soren Zaragoza\nGilles Beloeil\nGillis Rombouts\nGillis d'Hondecoeter\nGina Pellón\nGino Severini\nGiocondo Albertolli\nGiorgio Cavallon\nGiorgio De Vincenzi\nGiorgio Giulio Clovio\nGiorgio Morandi\nGiorgio de Chirico\nGiorgione\nGiotto\nGiovanni Antonio Galli\nGiovanni Battista Cipriani\nGiovanni Battista Gaulli\nGiovanni Battista Innocenzo Colombo\nGiovanni Battista Piazzetta\nGiovanni Battista Piranesi\nGiovanni Battista Tiepolo\nGiovanni Bellini\nGiovanni Bernardino Asoleni\nGiovanni Bernardino Azzolini\nGiovanni Bernardino Mazzolini\nGiovanni Boldini\nGiovanni Fattori\nGiovanni Francesco Barbieri\nGiovanni Giacometti\nGiovanni Lanfranco\nGiovanni Paolo Cavagna\nGiovanni Paolo Pannini\nGiovanni Pelliccioli\nGirolamo Muziano\nGiuseppe Abbati\nGiuseppe Antonio Petrini\nGiuseppe Arcimboldo\nGiuseppe Avanzi\nGiuseppe Bernardino Bison\nGiuseppe Camuncoli\nGiuseppe De Nittis\nGiuseppe Grisoni\nGiuseppe Tominz\nGladys Dawson\nGladys Kathleen Bell\nGlen Angus\nGlen Keane\nGlenn Fabry\nGlennray Tutor\nGlenys Cour\nGloria Stoll Karn\nGlòria Muñoz\nGodfrey Blow\nGodfried Schalcken\nGong Kai\nGong Xian\nGonzalo Endara Crow\nGordon Browne\nGordon Parks\nGoro Fujita\nGottfried Helnwein\nGovert Dircksz Camphuysen\nGovert Flinck\nGoyo Hashiguchi\nGoyō Hashiguchi\nGrace Clements\nGrace Cossington Smith\nGrace English\nGrace Pailthorpe\nGrace Polit\nGraham Forsythe\nGraham Sutherland\nGrandma Moses\nGrant Wood\nGrayson Perry\nGreg Hildebrandt\nGreg Rutkowski\nGreg Spalenka\nGreg Staples\nGregorio Lazzarini\nGregorio Prestopino\nGregorius Sickinger\nGregory Crewdson\nGregory Gillespie\nGregory Manchess\nGrete Stern\nGrethe Jürgens\nGrigoriy Myasoyedov\nGrillo Demo\nGriselda Allan\nGryte Pintukaite\nGrytė Pintukaitė\nGrzegorz Domaradzki\nGrzegorz Rutkowski\nGu An\nGu Hongzhong\nGu Kaizhi\nGu Zhengyi\nGuan Daosheng\nGuido Borelli da Caluso\nGuido Reni\nGuillermo del Toro\nGuity Novin\nGuo Chun\nGuo Xi\nGustaf Munch-Petersen\nGustaf Tenggren\nGustav Doré\nGustav Klimt\nGustave Baumann\nGustave Boulanger\nGustave Caillebotte\nGustave Courbet\nGustave Dore\nGustave Doré\nGustave Moreau\nGustave Van de Woestijne\nGusukuma Seiho\nGusukuma Seihō\nGusztáv Kelety\nGuy Denning\nGuy Rose\nGwen Barnard\nGwen John\nGwenny Griffiths\nGwilym Prichard\nGyoshu Hayami\nGyoshū Hayami\nGyula Aggházy\nGyula Basch\nGyula Batthyány\nGyula Benczúr\nGyula Derkovits\nGyörgy Rózsahegyi\nGyörgy Vastagh\nGérard Ernest Schneider\nGéza Dósa\nGéza Mészöly\nGéza Udvary\nH R (Hans Ruedi) Giger\nH R Giger\nH. R. (Hans Ruedi) Giger\nH. R. Giger\nH.P. Lovecraft\nH.R. Giger\nH.R. Millar\nHAP Grieshaber\nHP Lovecraft\nHR Giger\nHR Millar\nHaddon Sundblom\nHal Foster\nHallsteinn Sigurðsson\nHamilton Sloan\nHamish MacDonald\nHan Gan\nHanabusa Itcho\nHanabusa Itcho II\nHanabusa Itchō\nHanabusa Itchō II\nHanna-Barbera\nHannah Frank\nHannah Höch\nHannah Tompkins\nHanns Katz\nHans Asper\nHans Baldung\nHans Baluschek\nHans Beat Wieland\nHans Bellmer\nHans Bol\nHans Burgkmair\nHans Eduard von Berlepsch-Valendas\nHans Erni\nHans Falk\nHans Fischer\nHans Fries\nHans Gude\nHans Hartung\nHans Hinterreiter\nHans Hofmann\nHans Holbein the Elder\nHans Holbein the Younger\nHans Leu the Elder\nHans Makart\nHans Memling\nHans Mertens\nHans Sandreuter\nHans Schwarz\nHans Werner Schmidt\nHans von Aachen\nHans von Bartels\nHarald Giersing\nHariton Pushwagner\nHarold Elliott\nHarold Gilman\nHarold Harvey\nHarold Sandys Williamson\nHarold Shapinsky\nHarold von Schmidt\nHarriet Backer\nHarriet Powers\nHarriet Zeitlin\nHarrington Mann\nHarrison Fisher\nHarry Beckhoff\nHarry Clarke\nHarry Haenigsen\nHarry Morley\nHarry Shoulberg\nHarumi Hironaka\nHarvey Dunn\nHarvey Kurtzman\nHarvey Pratt\nHarvey Quaytman\nHasegawa Settan\nHasegawa Tohaku\nHasegawa Tōhaku\nHashimoto Gaho\nHashimoto Gahō\nHasui Kawase\nHaukur Halldórsson\nHayao Miyazaki\nHazel Armour\nHeather Hudson\nHedda Sterne\nHedi Xandt\nHeinrich Bichler\nHeinrich Brocksieper\nHeinrich Danioth\nHeinrich Herzig\nHeinrich Hofmann\nHeinrich Kley\nHeinrich Lefler\nHeinrich Maria Davringhausen\nHeinz Anger\nHeinz Edelman\nHelen Berman\nHelen Biggar\nHelen Binyon\nHelen Dahm\nHelen Edwards\nHelen Frankenthaler\nHelen Stevenson\nHelen Thomas Dranga\nHelene Schjerfbeck\nHelmut Federle\nHelmut Newton\nHendrick Avercamp\nHendrick Bloemaert\nHendrick Cornelisz Vroom\nHendrick Cornelisz van Vliet\nHendrick Cornelisz. van Vliet\nHendrick Goudt\nHendrick Terbrugghen\nHendrick van Balen\nHendrick van Streeck\nHendrik Gerritsz Pot\nHendrik Goltzius\nHendrik Martenszoon Sorgh\nHendrik Willem Mesdag\nHendrik van Steenwijk I\nHendrik van Steenwijk II\nHenning Jakob Henrik Lund\nHenri Alphonse Barnoin\nHenri Bellechose\nHenri Biva\nHenri Cartier-Bresson\nHenri Fantin-Latour\nHenri Harpignies\nHenri Le Sidaner\nHenri Matisse\nHenri Michaux\nHenri Rousseau\nHenri de Toulouse-Lautrec\nHenri-Edmond Cross\nHenri-Julien Dumont\nHenric Trenk\nHenricus Hondius II\nHenriett Seth F\nHenriett Seth F.\nHenriette Grindat\nHenriette Wyeth\nHenrik Weber\nHenry B Christian\nHenry B. Christian\nHenry Bright\nHenry Carr\nHenry Fuseli\nHenry Heerup\nHenry Ives Cobb Jr\nHenry Ives Cobb, Jr.\nHenry Justice Ford\nHenry Lamb\nHenry Macbeth-Raeburn\nHenry Moore\nHenry O Tanner\nHenry O. Tanner\nHenry Ossawa Tanner\nHenry Otto Wix\nHenry Raeburn\nHenry Raleigh\nHenry Scott Tuke\nHenry Snell Gamley\nHenry Tonks\nHenry Wallis\nHenry Woods\nHenry van de Velde\nHenryk Rodakowski\nHenryk Siemiradzki\nHenryk Stazewski\nHenryk Stażewski\nHenryka Beyer\nHerb Aach\nHerb Ritts\nHerbert Abrams\nHerbert Bayer\nHerbert James Gunn\nHerbert MacNair\nHercules Seghers\nHerman Saftleven\nHerman van Swanevelt\nHermann Feierabend\nHermann Rüdisühli\nHermenegildo Anglada Camarasa\nHermione Hammond\nHew Lorimer\nHidari Jingoro\nHidari Jingorō\nHideyuki Kikuchi\nHieronim Bosch\nHieronymous Bosch\nHieronymus Bosch\nHikari Shimoda\nHilda Annetta Walker\nHilda May Gordon\nHilde Goldschmidt\nHilma af Klint\nHinchel Or\nHirohiko Araki\nHiromitsu Takahashi\nHiromu Arakawa\nHirosada II\nHiroshi Honda\nHiroshi Nagai\nHiroshi Yoshida\nHiroshige\nHiroyuki Tajima\nHishida Shunso\nHishida Shunsō\nHishikawa Moronobu\nHisui Sugiura\nHokusai\nHolger Roed\nHong Ren\nHonoré Daumier\nHorace Vernet\nHoratio McCulloch\nHoratio Nelson Poole\nHorst Antes\nHovsep Pushman\nHoward Arkley\nHoward Butterworth\nHoward Chandler Christy\nHoward Chaykin\nHoward Finster\nHoward Hodgkin\nHoward Kanovitz\nHoward Knotts\nHoward Lyon\nHoward Mehring\nHoward Pyle\nHowardena Pindell\nHristofor Zhefarovich\nHristofor Žefarovic\nHristofor Žefarović\nHsiao-Ron Cheng\nHu Jieqing\nHu Zao\nHu Zaobin\nHua Yan\nHuang Binhong\nHuang Ding\nHuang Gongwang\nHuang Guangjian\nHuang Ji\nHuang Shen\nHuang Tingjian\nHubert Robert\nHubert van Eyck\nHubert van Ravesteyn\nHubert von Herkomer\nHugh Adam Crawford\nHugh Ferriss\nHugh Hughes\nHugh William Williams\nHugo Anton Fisher\nHugo Heyrman\nHugo Karlis Grotuss\nHugo Kārlis Grotuss\nHugo Scheiber\nHugo Simberg\nHugo Sánchez Bonilla\nHugo van der Goes\nHumberto Castro\nHundertwasser\nHyacinthe Rigaud\nHyman Bloom\nI Ketut Soki\nIAN SPRIGGS\nINO\nIan Fairweather\nIan Hamilton Finlay\nIan McQue\nIan Miller\nIb Eisner\nIbrahim Kodra\nIbram Lassaw\nIda Rentoul Outhwaite\nIgnacio Bazan-Lazcano\nIgnacio Zuloaga\nIgnacy Witkiewicz\nIgnat Bednarik\nIgor Grabar\nIgor Kieryluk\nIgor Kufayev\nIgor Morski\nIgor Zenin\nIhor Podolchak\nIke no Taiga\nIkuo Hirayama\nIlka Gedo\nIlka Gedő\nIllarion Pryanishnikov\nIlya Glazunov\nIlya Kuvshinov\nIlya Ostroukhov\nIlya Repin\nIlya Yefimovich Repin\nIna Wong\nIngrida Kadaka\nInoue Naohisa\nInsho Domoto\nInshō Dōmoto\nIon Andreescu\nIrene Bache\nIrene Lieblich\nIrene and Laurette Patten\nIrma Stern\nIrvin Bomb\nIsaac Grünewald\nIsaac Levitan\nIsaac Soyer\nIsaac van Ostade\nIsabel Codrington\nIsabel Naftel\nIsamu Noguchi\nIsidor Kaufman\nIsidore Bonheur\nIsmael Nery\nIsmail Acar\nIsmail Gulgee\nIsmail Inceoglu\nIsobel Heath\nIsobelle Ann Dods-Withers\nIsrael Tsvaygenbaum\nIstvan Banyai\nIstvan Horkay\nIstván Csók\nIstván Nagy\nIstván Orosz\nIstván Regos\nIstván Regős\nIstván Réti\nIstván Szonyi\nIstván Szőnyi\nIstván Árkossy\nItagaki Yoshio\nItalo Mus\nIto Jakuchu\nIto Ogura Yonesuke\nIto Seiu\nIto Shinsui\nItshak Holtz\nItō Jakuchū\nItō Ogura Yonesuke\nItō Seiu\nItō Shinsui\nIvan Aivazovsky\nIvan Albright\nIvan Bilibin\nIvan Generalic\nIvan Generalić\nIvan Grohar\nIvan Kramskoi\nIvan Lackovic Croata\nIvan Lacković Croata\nIvan Meštrovic\nIvan Meštrović\nIvan Mrkvicka\nIvan Mrkvička\nIvan Ranger\nIvan Shishkin\nIvan Trush\nIvan Yakovlevich Vishnyakov\nIvana Kobilca\nIvor Davies\nIvor Williams\nIwao Takamoto\nIwasa Matabei\nIzidor Kršnjavi\nIzzy Medrano\nJ Alden Weir\nJ C Leyendecker\nJ Frederick Smith\nJ J Grandville\nJ L Lund\nJ M W Turner\nJ Massey Rhind\nJ Ottis Adams\nJ W Tristram\nJ. Alden Weir\nJ. C. Leyendecker\nJ. Frederick Smith\nJ. J. Grandville\nJ. L. Lund\nJ. M. W. Turner\nJ. Massey Rhind\nJ. Ottis Adams\nJ. W. Tristram\nJ.C. Leyendecker\nJ.M.W. Turner\nJC Leyendecker\nJMW Turner\nJaakko Mattila\nJacek Andrzej Rossakiewicz\nJacek Malczewski\nJacek Sempolinski\nJacek Sempoliński\nJacek Yerka\nJack Boul\nJack Butler Yeats\nJack C Mancino\nJack C. Mancino\nJack Davis\nJack Gaughan\nJack Kirby\nJack Levine\nJack M Ducker\nJack M. Ducker\nJack Roth\nJack Smith\nJackson Pollock\nJacob Adriaensz Backer\nJacob Burck\nJacob Collins\nJacob Duck\nJacob Esselens\nJacob Gerritsz Cuyp\nJacob Gerritsz. Cuyp\nJacob Jordaens\nJacob Kainen\nJacob Koninck\nJacob Lawrence\nJacob Maris\nJacob Marrel\nJacob More\nJacob Ochtervelt\nJacob Philipp Hackert\nJacob Pynas\nJacob Savery\nJacob Steinhardt\nJacob Toorenvliet\nJacob Willemszoon de Wet\nJacob de Gheyn II\nJacob de Heusch\nJacob van Campen\nJacob van Ruisdael\nJacob van Utrecht\nJacob van der Ulft\nJacopo Amigoni\nJacopo Baccarini\nJacopo Bassano\nJacopo Bellini\nJacopo Pontormo\nJacopo de' Barbari\nJacques Blanchard\nJacques Callot\nJacques Daret\nJacques Dubois\nJacques Gamelin\nJacques Henri Lartigue\nJacques Hnizdovsky\nJacques Hérold\nJacques Iverny\nJacques Jonghelinck\nJacques Linard\nJacques Lipchitz\nJacques Maroger\nJacques Prou\nJacques Sablet\nJacques Tardi\nJacques Villon\nJacques de Stella\nJacques-Andre-Joseph Aved\nJacques-Edme Dumont\nJacques-Emile Blanche\nJacques-Firmin Beauvarlet\nJacques-Francois Delyen\nJacques-Francois-Joseph Saly\nJacques-François Ochard\nJacques-Germain Soufflot\nJacques-Henri Lartigue\nJacques-Laurent Agasse\nJacques-Louis David\nJacques-Raymond Brascassat\nJacqui Morgan\nJaime Colson\nJaime Jasso\nJaime Jones\nJais NielsenCeramicist\nJake Chapman\nJake Jacobson\nJake Parker\nJake Wood-Evans\nJakob Alt\nJakob Bogdany\nJakob Christof Le Blon\nJakob Emanuel Handmann\nJakob Gauermann\nJakob Häne\nJakub Husnik\nJakub Rebelka\nJakub Rozalski\nJakub Rózalski\nJakub Różalski\nJakub Schikaneder\nJames Abbott McNeill Whistler\nJames Aponovich\nJames Archer\nJames Ardern Grant\nJames Arthur O'Connor\nJames Aumonier\nJames B Read\nJames Baker Pyne\nJames Ballantine\nJames Bama\nJames Bard\nJames Barenger\nJames Barry\nJames Basire\nJames Bateman\nJames Baynes\nJames Bolivar Manson\nJames Bourne\nJames Brooks\nJames Buckhouse\nJames Bullough\nJames Burnet\nJames Butler\nJames C Christensen\nJames C. Christensen\nJames Cadenhead\nJames Cameron\nJames Campbell\nJames Campbell Noble\nJames Carroll Beckwith\nJames Castle\nJames Chapin\nJames Charles\nJames Clarke Hook\nJames Collinson\nJames Cowie\nJames Cromar Watt\nJames Deacon\nJames Dickson Innes\nJames Dickson InnesWelsh\nJames Dinerstein\nJames Duffield Harding\nJames E Brewton\nJames E Buttersworth\nJames E. Brewton\nJames Earle Fraser\nJames Eisentrager\nJames Ensor\nJames Farrington Gookins\nJames Frothingham\nJames Gale Tyler\nJames Giles\nJames Gilleard\nJames Gillick\nJames Gillray\nJames Gleeson\nJames Griffiths\nJames Gurney\nJames Guthrie\nJames Hamilton\nJames Havard ThomasWelsh\nJames Hayllar\nJames Henry Wright\nJames Holland\nJames Hugonin\nJames Humbert Craig\nJames Jarvaise\nJames Jean\nJames Jefferys\nJames Jonathan Jeffries\nJames Kerr-Lawson\nJames Lambert\nJames Lee Byars\nJames Logan\nJames Lonsdale\nJames Luna\nJames McBey\nJames McDougal Hart\nJames McGarrell\nJames McIntosh Patrick\nJames McNeill Whistler\nJames Millar\nJames Miller\nJames Montgomery Flagg\nJames Morris\nJames Morrison\nJames Nares\nJames Northcote\nJames Paick\nJames Paterson\nJames Peale\nJames Pittendrigh MacGillivray\nJames Pollard\nJames Pradier\nJames R Hopkins\nJames Reid Lambdin\nJames Rosati\nJames Rosenquist\nJames Ryman\nJames Sant\nJames Sessions American painter\nJames Seymour\nJames Sharples Draughtsman\nJames Sherwood Westmacott\nJames SmethamWriter\nJames Stark\nJames Stokoe\nJames Surls\nJames Taylor Harwood\nJames Thomas Watts\nJames Tissot\nJames Todd\nJames Tooley Jr\nJames Torlakson\nJames Turnbull\nJames Turrell\nJames Twitty\nJames Van Der Zee\nJames Ward\nJames Warhola\nJames Warren Childe\nJames Webb\nJames Welling\nJames Wells Champney\nJames Wilson Morrice\nJames Wood\nJamie Baldridge\nJamie Hawkesworth\nJamie Heiden\nJamie Hewlett\nJamie McKelvie\nJamie Wyeth\nJan Abrahamsz Beerstraten\nJan Adriaensz van Staveren\nJan Antonisz van Ravesteyn\nJan Asselijn\nJan Asselyn\nJan Baptist Weenix\nJan Berenstain\nJan Brett\nJan Bruegel the Elder\nJan Bruegel the Younger\nJan Brueghel the Elder\nJan Brueghel the Younger\nJan C VondrousCzech\nJan Cornelisz Vermeyen\nJan Cornelisz Verspronck\nJan Cossiers\nJan Cox\nJan Davidsz de Heem\nJan Davidsz de Hem\nJan Davidsz. de Heem\nJan De Cock\nJan Dibbets\nJan Dirksz Both\nJan Ditlev\nJan Fabre\nJan Frans Verhas\nJan Frans van Bloemen\nJan Frans van Dael\nJan Fyt\nJan Gossaert\nJan Gregoor\nJan Griffier\nJan Groover\nJan H Muller\nJan Hackaert\nJan Hendrik Verheyen\nJan Henryk Rosen\nJan Jahn\nJan Jansz de Heem\nJan Jansz van de Velde III\nJan Josef Horemans the Elder\nJan Karpíšek\nJan Kip\nJan Konupek\nJan Konůpek\nJan KupeckyBohemian\nJan Kupecký\nJan Lievens\nJan Mandyn\nJan Mankes\nJan Massys\nJan Matejko\nJan MatulkaCzech\nJan Miel\nJan Miense Molenaer\nJan Mooy\nJan Mostaert\nJan Mytens\nJan Müller\nJan Nieuwenhuys\nJan Philips van Thielen\nJan Pietersz Saenredam\nJan Polack\nJan Porcellis\nJan Provost\nJan Pynas\nJan Rustem\nJan Sadeler I\nJan Saenredam\nJan Sanders van Hemessen\nJan Saudek\nJan Sawka\nJan Schoonhoven\nJan Siberechts\nJan Sluijters\nJan Sluyters\nJan Stanislawski\nJan Stanisławski\nJan Steen\nJan Tengnagel\nJan Theuninck\nJan Toorop\nJan Urschel\nJan Vercruysse\nJan Verkade\nJan Verkolje\nJan Vermeer\nJan Vermeer III\nJan Vermeyen\nJan Victors\nJan Vonck\nJan Weenix\nJan Weenix II\nJan Weissenbruch\nJan Wellens de Cock\nJan Wiegers\nJan Wijnants\nJan Wildens\nJan Woods\nJan Wyck\nJan Wynants\nJan Zrzavý\nJan de Baen\nJan de Beer\nJan de Beyer\nJan de Bray\nJan van Amstel\nJan van Beers\nJan van Bijlert\nJan van Call I\nJan van Eyck\nJan van Goyen\nJan van Huysum\nJan van Kessel\nJan van Kessel the Elder\nJan van Kessel the Younger\nJan van Mieris\nJan van Noordt\nJan van Os\nJan van Ravesteyn\nJan van Scorel\nJan van de Cappelle\nJan van de Velde II\nJan van den Hoecke\nJan van der Heyden\nJan van der Straet\nJana SterbakCzech\nJane Ash Poitras\nJane C Stanley\nJane Carpanini\nJane Crowther\nJane Dickson\nJane Frank\nJane Freeman\nJane Freilicher\nJane Golding Marie\nJane Graverol\nJane Hammond\nJane Hawkins\nJane Kelly\nJane Nasmyth\nJane Newland\nJane Peterson\nJane Putnam\nJane Small\nJane Stuart\nJane Tuckerman\nJane Wilson\nJanek Sedlar\nJanet Archer\nJanet Cardiff\nJanet Dawson\nJanet Delaney\nJanet Echelman\nJanet Fish\nJanet Reid\nJanet Scudder\nJang Seung-eop\nJanice Sung\nJanice Udell\nJanine Antoni\nJankel Adler\nJanne Kahila\nJannis Kounellis\nJanos Donat\nJanuary Suchodolski\nJanuz Miralles\nJared French\nJarek Kubicki\nJaroslav Doubrava\nJaroslava Korol\nJaroslaw Jasnikowski\nJarosław Jaśnikowski\nJasmine Becket-Griffith\nJason A Engle\nJason A. Engle\nJason Benjamin\nJason Chan\nJason Edmiston\nJason Felix\nJason Limon\nJason Middlebrook\nJason Pearson\nJason Rhoades\nJason Teraoka\nJason deCaires Taylor\nJasper Francis Cropsey\nJasper Johns\nJaume Huguet\nJaume Plensa\nJaune Quick-To-See Smith\nJavier Marin\nJavier Senosiain\nJavier TellezVenezuelan Video\nJay Anacleto\nJay DeFeo\nJay DeFeo Assemblage\nJay Hambidge\nJay Jaffee\nJay Milder\nJean Andre Rixens\nJean Antoine Laurent\nJean Antoine Watteau\nJean Arnould\nJean Arp\nJean Auguste Dominique Ingres\nJean Baptiste Claude Chatelain\nJean Baptiste Clesinger\nJean Baptiste Debret\nJean Baptiste Isabey\nJean Baptiste Pillement\nJean Baptiste Theodon\nJean Baptiste van Loo\nJean Barbault\nJean Barbet\nJean Bazaine\nJean Bellegambe\nJean Bellette\nJean Beraud\nJean Broc\nJean Brusselmans\nJean Béraud\nJean Carlu\nJean Charlot\nJean Clark\nJean Clouet the Younger\nJean Cocteau\nJean Colombe\nJean Cousin the Elder\nJean Crotti\nJean Cunningham\nJean Daret\nJean Daulle\nJean Delville\nJean Dubuffet\nJean Dufy\nJean Dunand\nJean Dupas\nJean Duvet\nJean Fautrier\nJean Fouquet\nJean Frelaut\nJean Giraud\nJean Gorin\nJean Goujon\nJean Helion\nJean Hey\nJean Houel\nJean Huber Voltaire\nJean Hugo\nJean Hélion\nJean Ipousteguy\nJean Jacques Forty\nJean Jansem\nJean Jouvenet\nJean Jullien\nJean Lemaire\nJean Limbourg\nJean Louis Petitot\nJean LurcatTextile\nJean Malouel\nJean Mannheim\nJean Messagier\nJean Metzinger\nJean Micheal Basquiat\nJean Michelin\nJean Nouvel\nJean Paul Lemieux\nJean Paul Riopelle\nJean Paul Slusser\nJean Perreal\nJean Petitot\nJean Pougny\nJean Poyet\nJean Prouve\nJean Pucelle\nJean Puiforcat\nJean Puy\nJean Raoux\nJean Restout\nJean Restout the Younger\nJean Tabaud\nJean Tassel\nJean Thierry\nJean Tinguely\nJean Vignaud\nJean Xceron\nJean de Liege\nJean de Touyl\nJean de la Croix I Textile\nJean-Achille Benouville\nJean-Alexandre-Joseph Falguiere\nJean-André Rixens\nJean-Antoine Houdon\nJean-Antoine Watteau\nJean-Auguste Barre\nJean-Auguste-Dominique Ingres\nJean-Baptiste Carpeaux\nJean-Baptiste Corneille\nJean-Baptiste Deshays\nJean-Baptiste Fauvelet\nJean-Baptiste Greuze\nJean-Baptiste Huysmans\nJean-Baptiste Joseph Pater\nJean-Baptiste Joseph Wicar\nJean-Baptiste Le Prince\nJean-Baptiste Lemoyne II\nJean-Baptiste Mallet\nJean-Baptiste Marie Huet\nJean-Baptiste Marie Pierre\nJean-Baptiste Monge\nJean-Baptiste Monnoyer\nJean-Baptiste Oudry\nJean-Baptiste Pater\nJean-Baptiste Perronneau\nJean-Baptiste Pigalle\nJean-Baptiste Robie\nJean-Baptiste Santerre\nJean-Baptiste Stouf\nJean-Baptiste Tuby I\nJean-Baptiste Vanmour\nJean-Baptiste de Champaigne\nJean-Baptiste van Loo\nJean-Baptiste-Camille Corot\nJean-Baptiste-Simeon Chardin\nJean-Baptiste-Siméon Chardin\nJean-Bernard Restout\nJean-Charles Cazin\nJean-Charles Tardieu\nJean-Claude Bonnefond\nJean-Emile Laboureur\nJean-Etienne Liotard\nJean-Francois Janinet\nJean-Francois Leleu\nJean-Francois Millet\nJean-Francois Raffaelli\nJean-Francois de Troy\nJean-François Millet\nJean-François de Troy\nJean-Gabriel Domergue\nJean-Germain Drouais\nJean-Guillaume Moitte\nJean-Honore Fragonard\nJean-Honoré Fragonard\nJean-Jacques Avril I\nJean-Jacques Caffieri\nJean-Jacques Clerion\nJean-Jacques Feuchere\nJean-Jacques Henner\nJean-Jacques Lagrenee\nJean-Jacques de Boissieu\nJean-Jacques-Francois Le Barbier\nJean-Joseph Benjamin-Constant\nJean-Joseph Horemans II\nJean-Joseph Taillasson\nJean-Joseph Weerts\nJean-Joseph-Hippolyte-Romain Ferrat\nJean-Joseph-Xavier Bidauld\nJean-Jules-Antoine Lecomte du Nouy\nJean-Laurent Mosnier\nJean-Leon Gerome\nJean-Louis Demarne\nJean-Louis Forain\nJean-Louis Hamon\nJean-Louis Laneuville\nJean-Louis Lemoyne\nJean-Louis Voille\nJean-Louis-Ernest Meissonier\nJean-Léon Gérôme\nJean-Marc Bustamante\nJean-Marc Nattier\nJean-Michel Atlan\nJean-Michel Basquiat\nJean-Michel Moreau\nJean-Paul Laurens\nJean-Paul Riopelle\nJean-Pierre Cortot\nJean-Pierre Norblin de La Gourdaine\nJean-Pierre Saint-Ours\nJean-Pierre Ugarte\nJean-Pierre-Antoine Tassaert\nJean-Sebastien Rossbach\nJean-Simeon Rousseau de la Rottiere\nJean-Victor Bertin\nJean-Yves Couliou\nJean-Étienne Liotard\nJeanette Pasin Sloan\nJeanie Gallup Mottet\nJeanloup Sieff\nJeanna bauck\nJeanne Duval\nJeanne Hébuterne\nJeanne Jacquemin\nJeanne du Maurier\nJeanne-ClaudeMoroccan\nJeannette Guichard-Bunel\nJeeYoung Lee\nJeff A Menges\nJeff A. Menges\nJeff Danziger\nJeff Easley\nJeff Keane\nJeff Kinney\nJeff Koons\nJeff Legg\nJeff Lemire\nJeff Miracola\nJeff Rowland\nJeff Simpson\nJeff Smith\nJeff Soto\nJeff Wall\nJefferson David Chalfant\nJeffery Camp\nJeffrey Catherine Jones\nJeffrey Smart\nJeffrey Smith\nJeffrey T Larson\nJehan Duseigneur\nJehan Georges Vibert\nJeka Kemp\nJemima Blackburn\nJenaro de Urrutia Olaran\nJene Highstein\nJennie Augusta Brownscombe\nJennie Lewis\nJennifer Allora\nJennifer Bartlett\nJennifer Janesko\nJennifer Rubell\nJenny Eakin Delony\nJenny Holzer\nJenny Saville\nJeno Barcsay\nJeno Gyarfas\nJeno Gyárfás\nJens Ferdinand Willumsen\nJens Juel\nJens Jørgen Thorsen\nJens Søndergaard\nJenő Barcsay\nJenő Gyárfás\nJeong Seon\nJeppe Hein\nJeremiah Ketner\nJeremiah Meyer\nJeremiah Theus\nJeremy Blake\nJeremy Caniglia\nJeremy Chong\nJeremy Dale\nJeremy Deller\nJeremy Geddes\nJeremy Henderson\nJeremy Lipking\nJeremy Mann\nJerome Liebling\nJerome Myers\nJerome Paul Witkin\nJerome-Martin Langlois\nJeronimus Spengler\nJerry Bywaters\nJerry Eisenberg\nJerry Pinkney\nJerry Rankin\nJerry Schatzberg\nJerry Siegel\nJerry Uelsmann\nJerry Weiss\nJerry Wilkerson\nJervis McEntee\nJerzy Kossak\nJesper Ejsing\nJesper Knudsen\nJesper Myrfors\nJess\nJesse Richards\nJesse Trevino\nJessica Drossin\nJessica Rossier\nJessica Stockholder\nJessie Alexandra Dick\nJessie Algie\nJessie Arms Botke\nJessie Benton Evans\nJessie Goodwin Preston\nJessie M King\nJessie M. King\nJessie Newbery\nJessie Oonark\nJessie Wilber\nJessie Willcox Smith\nJesus Bautista Moroles\nJesus-Rafael SotoVenezuelan\nJesús Mari Lazkano\nJesús Meneses del Barco\nJhonen Vasquez\nJi Sheng\nJia Youfu\nJiang Feng\nJiang Tingxi\nJiao Bingzhen\nJillian Tamaki\nJim Burns\nJim Davis\nJim Dine\nJim Goldberg\nJim Hodges\nJim Holland\nJim Lambie\nJim Lee\nJim Lively\nJim Mahfood\nJim Manley\nJim Murray\nJim Nelson\nJim Nutt\nJim Shaw\nJim Steranko\nJim Warren\nJim Woodring\nJimmie Durham\nJimmy Boyle\nJimmy Ernst\nJimmy Lawlor\nJin Homura\nJin Nong\nJin Shangyi\nJindrich Styrsky\nJiri Kubovy\nJiro Yoshihara\nJitish Kallat\nJo Ann Callis\nJo Baer\nJo Davidson\nJoAnn Verburg\nJoWOnder\nJoachim Antonisz Wtewael\nJoachim Beuckelaer\nJoachim Brohm\nJoachim Patinir\nJoachim Wtewael\nJoachim von Sandrart\nJoan Ayling\nJoan Brown\nJoan Eardley\nJoan Gonzalez\nJoan Jonas\nJoan Miro\nJoan Miró\nJoan Mitchell\nJoan Reixach\nJoan Snyder\nJoan Tuset\nJoan Valet\nJoan Warburton\nJoana Vasconcelos\nJoane Cromwell\nJoanna Bauck\nJoanna Boyce\nJoanna Carrington\nJoao Batista Castagneto\nJoao Ruas\nJoaquim Mir\nJoaquin Agrasot y Juan\nJoaquin Clausell\nJoaquin Inza\nJoaquin Sorolla y Bastida\nJoaquin Torres-GarciaUruguayan\nJoaquín Clausell\nJoaquín Sorolla\nJoaquín Torres García\nJob Berckheyde\nJob Nixon\nJobst Harrich\nJocelyn Hobbie\nJochen Gerz\nJock McFadyen\nJodorowsky\nJody Bergsma\nJody Folwell\nJoe Bennett\nJoe Bowler\nJoe Colombo\nJoe Fafard\nJoe Fenton\nJoe Goode\nJoe Jones\nJoe Jusko\nJoe Kubert\nJoe Machine\nJoe Madureira\nJoe Mangrum\nJoe Petagno\nJoe Quesada\nJoe Shuster\nJoe Sorren\nJoe Stefanelli\nJoe Talirunili\nJoe Tilson\nJoe Zucker\nJoe de Mers\nJoel Meyerowitz\nJoel Rea\nJoel Robison\nJoel Shapiro\nJoel Sternfeld\nJoel-Peter Witkin\nJoep van Lieshout\nJoerg Immendorff\nJohan Barthold Jongkind\nJohan Christian Dahl\nJohan Edvard Mandelberg\nJohan Gregor van der Schardt\nJohan Grenier\nJohan Grimonprez\nJohan Heinrich Roos\nJohan Hendrik Weissenbruch\nJohan Jongkind\nJohan Laurentz Jensen\nJohan Lundbye\nJohan Messely\nJohan Stephen von Calcar\nJohan Thomas Lundbye\nJohan Thorn Prikker\nJohan Tobias Sergel\nJohann Balthasar Bullinger\nJohann Baptist Drechsler\nJohann Baptist Lampi the Elder\nJohann Baptist Straub\nJohann Berthelsen\nJohann Bodin\nJohann Boeckhorst\nJohann Carl Loth\nJohann Caspar Füssli\nJohann Christian Brand\nJohann Christof Merck\nJohann Dorner\nJohann Eleazar Schenau\nJohann Friedrich Alexander Thiele II\nJohann Friedrich Overbeck\nJohann Georg Bergmuller\nJohann Georg Lederer\nJohann Georg Meyer\nJohann Georg Pintz\nJohann Georg Platzer\nJohann Georg von Dillis\nJohann George Schmidt\nJohann Gottfried Schadow\nJohann Gottfried Steffan\nJohann Heinrich Bleuler\nJohann Heinrich Ferdinand Olivier\nJohann Heinrich Meyer\nJohann Heinrich Schonfeld\nJohann Heinrich Wilhelm Tischbein\nJohann Hermann Carmiencke\nJohann Jakob Biedermann\nJohann Joachim Kandler\nJohann Kaspar Füssli\nJohann Koerbecke\nJohann Kretzschmer\nJohann Liss\nJohann Lorenz Haid\nJohann Ludwig Aberli\nJohann Ludwig Bleuler\nJohann M Culverhouse\nJohann Maisch\nJohann Melchior Dinglinger\nJohann Michael Rottmayr\nJohann Peter Hasenclever\nJohann Peter Krafft\nJohann Pucher\nJohann Rudolf Byss\nJohann Spilberg\nJohann Wolfgang Baumgartner\nJohann Zoffany\nJohann-Friedrich-August Tischbein\nJohanna Marie Fosie\nJohannes Bosboom\nJohannes Bosschaert\nJohannes Cornelisz Verspronck\nJohannes Fabritius\nJohannes Hanias\nJohannes Heisig\nJohannes Helgeson\nJohannes Hermanus Koekkoek\nJohannes Itten\nJohannes Jan Schoonhoven\nJohannes Kip\nJohannes Lingelbach\nJohannes Martini\nJohannes Molzahn\nJohannes Mytens\nJohannes Vermeer\nJohannes Voss\nJohannes Wohnseifer\nJohannes van Haensbergen\nJohfra Bosschart\nJohji Manabe\nJohn 'Warwick' Smith\nJohn Absolon\nJohn Ahearn\nJohn Alexander\nJohn Altoon\nJohn Anster Fitzgerald\nJohn Armleder\nJohn Armstrong\nJohn Atherton\nJohn Atkinson Grimshaw\nJohn Augustus Atkinson\nJohn Avon\nJohn Backderf\nJohn Baeder\nJohn Baizley\nJohn Baldessari\nJohn Baptist Jackson\nJohn Baptist Malchair\nJohn Bard\nJohn Batho\nJohn Bauer\nJohn Baverstock Knight\nJohn Bellany\nJohn Bennett\nJohn Berkey\nJohn Bernard Flannagan\nJohn Bettes\nJohn Biggers\nJohn Blair\nJohn Blanche\nJohn Bock\nJohn Bogle\nJohn Bolton\nJohn Bourne\nJohn Boyne\nJohn Brack\nJohn Bradley\nJohn Bratby\nJohn Brett\nJohn Brewster Jr\nJohn Broadley\nJohn Brown\nJohn Brown Abercromby\nJohn Buck\nJohn Bunyan Bristol\nJohn Burnet\nJohn Buscema\nJohn Bushnell\nJohn Butler Yeats\nJohn Button\nJohn Byam Shaw\nJohn Byrne\nJohn Cage Composer\nJohn Cale\nJohn Callcott Horsley\nJohn Cameron\nJohn Carpenter\nJohn Cassaday\nJohn Cecil Stephenson\nJohn Chamberlain\nJohn Charles Denham\nJohn Christopher Smith\nJohn Claude Nattes\nJohn Clayton\nJohn Clayton Adams\nJohn Clem Clarke\nJohn Closterman\nJohn Colin Forbes\nJohn Collet\nJohn Collier\nJohn Connah\nJohn Conrad Gilbert\nJohn Constable\nJohn Coplans\nJohn Covert\nJohn Cox Dillman Engleheart\nJohn Cranch\nJohn Crawford Brown\nJohn Crawford Wintour\nJohn Craxton\nJohn Crome\nJohn Currin\nJohn Davies\nJohn Dawson-Watson\nJohn DeAndrea\nJohn Deare\nJohn Devoto\nJohn Doman Turner\nJohn Douglas Woodward\nJohn Downman\nJohn Duncan\nJohn Duncan Fergusson\nJohn Durand\nJohn E Berninger\nJohn E Costigan\nJohn E. Berninger\nJohn Ellsworth Weis\nJohn Elwood Bundy\nJohn Everett Millais\nJohn Eyre\nJohn F Francis\nJohn F Peto\nJohn F Simon Jr\nJohn F. Francis\nJohn F. Peto\nJohn Faber the Younger\nJohn Fabian Carlson\nJohn Faed\nJohn Falconar Slater\nJohn Farmer\nJohn Ferguson Weir\nJohn Ferneley I\nJohn Ferneley II\nJohn Ferren\nJohn Fery\nJohn Flaxman\nJohn Francis Murphy\nJohn Francis Rigaud\nJohn Frederick Herring\nJohn Frederick Herring Jr\nJohn Frederick Herring Sr\nJohn Frederick Herring, Jr.\nJohn Frederick Herring, Sr.\nJohn Frederick Kensett\nJohn Frederick Lewis\nJohn Frederick Peto\nJohn French Sloan\nJohn Frost\nJohn Fullwood\nJohn Fulton Folinsbee\nJohn Gadsby Chapman\nJohn Gamble\nJohn George Brown\nJohn George Naish\nJohn George Sowerby\nJohn Gibson\nJohn Glick\nJohn Glover\nJohn Goodwin Lyman\nJohn Graham\nJohn Graham Lough\nJohn Greenhill\nJohn Greenleaf Cloudman\nJohn Greenwood\nJohn Griffier the Elder\nJohn Gutmann\nJohn Haberle\nJohn Hall\nJohn Hall 1739-1797\nJohn Hamilton Mortimer\nJohn Harris\nJohn Hassell\nJohn Hayls\nJohn Haynes-Williams\nJohn Hayter\nJohn Heartfield\nJohn Hejduk\nJohn Held Jr\nJohn Henderson\nJohn Henry Dolph\nJohn Henry F Bacon\nJohn Henry Foley\nJohn Henry Fuseli\nJohn Henry Kingsley\nJohn Henry Lorimer\nJohn Henry Mohrmann\nJohn Henry Twachtman\nJohn Henry Yeend King\nJohn Henry de Rinzy\nJohn Hesselius\nJohn Higgins\nJohn Hilling\nJohn Holcroft\nJohn Hoppner\nJohn Hoskins\nJohn Howard Griffiths\nJohn Howe\nJohn Hoyland\nJohn Hubbard\nJohn Hutchison\nJohn Hutton\nJohn Ihle\nJohn Inigo Richards\nJohn J Enneking\nJohn J Park\nJohn Jabez Edwin Mayall\nJohn Jackson\nJohn James Audubon\nJohn Johnston\nJohn Joseph Cotman\nJohn Jude Palencar\nJohn K Hillers\nJohn Kacere\nJohn Kane\nJohn Kay\nJohn Keane\nJohn Kelso Hunter\nJohn Kenn Mortensen\nJohn Kingsley Cook\nJohn Klima\nJohn Koch\nJohn La Farge\nJohn La Gatta\nJohn Landis\nJohn Laporte\nJohn Larriva\nJohn LathamRhodesian\nJohn Lavery\nJohn Laviers Wheatley\nJohn Le\nJohn Lee\nJohn Leech\nJohn Leslie Breck\nJohn Lessore\nJohn Lewis Krimmel\nJohn Liberto\nJohn Linnell\nJohn Longstaff\nJohn Lowrie Morrison\nJohn Luke\nJohn Lurie\nJohn MacWhirter\nJohn Macallan Swan\nJohn Macdonald Aiken\nJohn Maggs\nJohn Marin\nJohn Martin\nJohn Matson\nJohn Maxwell\nJohn McCracken\nJohn McEwen\nJohn McLaughlin\nJohn Mckinstry\nJohn Melhuish Strudwick\nJohn Meredith\nJohn Michael Rysbrack\nJohn Michael Wright\nJohn Minton\nJohn Mix Stanley\nJohn Moonan\nJohn Mossman\nJohn Murdoch\nJohn Nash\nJohn Neagle\nJohn Nelson Battenberg\nJohn Nicolson\nJohn Nieto\nJohn Nixon\nJohn Noble Barlow\nJohn Nost Sartorius\nJohn O'Brien\nJohn O'Connor\nJohn Olsen\nJohn Opie\nJohn Ottis Adams\nJohn Outterbridge Assemblage\nJohn P Stewart\nJohn Parker\nJohn Pawson\nJohn Pearson\nJohn Perceval\nJohn Pettie\nJohn Pfahl\nJohn Philip Falter\nJohn Phillip\nJohn Phillip Falter\nJohn Pike\nJohn Piper\nJohn Pitman Weber\nJohn Pitre\nJohn Platt\nJohn Plumb\nJohn Pollock\nJohn Prescott Knight\nJohn Preston Neale\nJohn Pusey\nJohn Quidor\nJohn Quincy Adams Ward\nJohn Quinton Pringle\nJohn R Wildman\nJohn Ralston\nJohn Ramage\nJohn Raphael Smith\nJohn Register\nJohn Reinhard Weguelin\nJohn Reuss\nJohn Rhind\nJohn Riley\nJohn Robert Cozens\nJohn Robertson Reid\nJohn Roddam Spencer Stanhope\nJohn Roebling\nJohn Rogers\nJohn Rogers Cox\nJohn Rogers Herbert\nJohn Roloff\nJohn Romita Jr\nJohn Ross Key\nJohn Runciman\nJohn Ruskin\nJohn Russell\nJohn Russell Fulton\nJohn S DeMartelly\nJohn Salminen\nJohn Salt\nJohn Samuel Raven\nJohn Sartain\nJohn Scandrett Harford\nJohn Scarlett Davis\nJohn Schutler\nJohn Scott\nJohn Sell Cotman\nJohn Seymour Lucas\nJohn Simpson\nJohn Singer Sargent\nJohn Singleton Copley\nJohn Skinner Prout\nJohn Skippe\nJohn Sloan\nJohn Sloane\nJohn Smart\nJohn Smibert\nJohn Souch\nJohn Sparagana\nJohn Steell\nJohn Steuart Curry\nJohn Stevenson Rhind\nJohn Storrs\nJohn Stuart Ingle\nJohn T Biggers\nJohn Taylor Arms\nJohn Tenniel\nJohn Thomas Serres\nJohn Thomas Smith\nJohn Thomson\nJohn Thomson of Duddingston\nJohn Toole\nJohn Totleben\nJohn Trumbull\nJohn Tudgay\nJohn Tunnard\nJohn Uzzell Edwards\nJohn Van Alstine\nJohn Vanderbank\nJohn Vanderlyn\nJohn Varley\nJohn W Taylor\nJohn W Winkler\nJohn Wainwright\nJohn Walker\nJohn Watkiss\nJohn Watson Gordon\nJohn Wayne Gacy\nJohn Webber\nJohn Wesley Hardrick\nJohn Wesley Jarvis\nJohn Whetten Ehninger\nJohn White Abbott\nJohn White Alexander\nJohn Whitehead Walton\nJohn Whorf\nJohn Wilhelm\nJohn William Buxton Knight\nJohn William Casilear\nJohn William Godward\nJohn William Hill\nJohn William Inchbold\nJohn William Waterhouse\nJohn Wilson\nJohn Wilson Carmichael\nJohn Wilson Ewbank\nJohn Wolcott Adams\nJohn Wollaston\nJohn Wonnacott\nJohn Wood\nJohn Woodhouse Audubon\nJohn Wootton\nJohn Zephaniah Bell\nJohn Zygmund Gelsavage\nJohn-Lewis Brown\nJohnson Tsang\nJolan Gross Bettelheim\nJon Burgerman\nJon Coffelt\nJon Corbino\nJon Foster\nJon J Muth\nJon Klassen\nJon Kuhnmaker\nJon Lash\nJon McCoy\nJon McNaught\nJon Whitcomb\nJonas Burgert\nJonas De Ro\nJonas Lie\nJonathan Alistair Forrest\nJonathan Bonner\nJonathan Borofsky\nJonathan Budington\nJonathan Horowitz\nJonathan Lasker\nJonathan Meese\nJonathan MeeseGerman\nJonathan Monk\nJonathan Richardson I\nJonathan Silver\nJonathan Skelton\nJonathan Solter\nJonathan Wolstenholme\nJoong Keun Lee\nJoop Sanders\nJoos de Momper\nJoos de Momper II\nJoos van Cleve\nJoos van Wassenhove\nJoost Cornelisz Droochsloot\nJoram Roukes\nJordan Grimmer\nJorg Breu the Elder\nJorg Breu the Younger\nJorg Petel\nJorg Ratgeb\nJorge Ingles\nJorge Jacinto\nJorge Oteiza\nJorge Pardo\nJorge Ribalta\nJorge Velarde\nJoris Abrahamsz van der Haagen\nJoris Hoefnagel\nJoris van Son\nJoris van der Haagen\nJosan Gonzalez\nJose Antonio Hernandez-DiezVenezuelan\nJose Antonio Zapata y Nadal\nJose Aparicio\nJose Aragon\nJose Balmes\nJose Bedia\nJose Chavez Morado\nJose Claudio Antolinez\nJose Clemente OrozcoMuralist\nJose DeCreeft\nJose Gil de Castro\nJose Guadalupe Posada\nJose Gutierrez Solana\nJose Luis Cuevas\nJose Maria Lopez Mezquita\nJose Maria Velasco\nJose Pancetti\nJose Pineda\nJose Tapiro Baro\nJose de Madrazo y Agudo\nJose de Rivera\nJose de Togores i Llach\nJose del Castillo\nJoseba Elorza\nJosef Abel\nJosef Albers\nJosef Block\nJosef Capek\nJosef Dande\nJosef Danhauser\nJosef Eberz\nJosef Fenneker\nJosef Gassler\nJosef Hartwig\nJosef Hoffmann\nJosef Jackerson\nJosef Kote\nJosef Mánes\nJosef Navrátil\nJosef SimaCzech\nJosef SudekMoravianCzech\nJosef Čapek\nJosef Šíma\nJosefa de Obidos\nJosefina Tanganelli Plana\nJosep Rovira Soler\nJoseph Anderson Faris\nJoseph Anton Koch\nJoseph B Smith\nJoseph Badger\nJoseph Bartholomew Kidd\nJoseph Beuys\nJoseph Blackburn\nJoseph Bowler\nJoseph Broghammer\nJoseph Charles Barrow\nJoseph Chinard\nJoseph Clark\nJoseph Clement Coll\nJoseph Constantin Stadler\nJoseph Cornell\nJoseph Cornell Assemblage\nJoseph Crawhall\nJoseph DeCamp\nJoseph Decker\nJoseph Delaney\nJoseph Ducreux\nJoseph Durham\nJoseph Dwight Strong\nJoseph E Burgess\nJoseph Edward Southall\nJoseph Fagnani\nJoseph Farington\nJoseph Farquharson\nJoseph Friebert\nJoseph Golinkin\nJoseph Goodhue Chandler\nJoseph H Davis\nJoseph Havel\nJoseph Heintz\nJoseph Heintz the Elder\nJoseph Henderson\nJoseph Henry Sharp\nJoseph Highmore\nJoseph Hirsch\nJoseph Howard\nJoseph Ignaz Appiani\nJoseph Karl Stieler\nJoseph Keppler\nJoseph Kleitsch\nJoseph Knight\nJoseph Kosuth\nJoseph Kyle\nJoseph Legare\nJoseph Lorusso\nJoseph Mallord William Turner\nJoseph Marie Vien\nJoseph Marioni\nJoseph Mordecai\nJoseph Morgan Henninger\nJoseph Murray Ince\nJoseph Noel Paton\nJoseph Nollekens\nJoseph Paelinck\nJoseph Parrocel\nJoseph Paul\nJoseph Pennell\nJoseph Philibert Girault de Prangey\nJoseph Pickett\nJoseph Pisani\nJoseph Plepp\nJoseph Powell\nJoseph Raffael\nJoseph Raphael\nJoseph Roos\nJoseph Roques\nJoseph Roux\nJoseph Severn\nJoseph Shapiro\nJoseph Spencer\nJoseph Stella\nJoseph Steward\nJoseph Stieler\nJoseph Teixeira de Mattos\nJoseph Van Aken\nJoseph Victor Roux-Champion\nJoseph Vivien\nJoseph Vogel\nJoseph Werner\nJoseph Wheelwright\nJoseph Whiting Stock\nJoseph Wilton\nJoseph Wright of Derby\nJoseph Yoakum\nJoseph deMartini\nJoseph von Führich\nJoseph-Benoit Suvee\nJoseph-Charles Marin\nJoseph-Desire Court\nJoseph-Marie Vien\nJoseph-Nicolas Robert-Fleury\nJoseph-Siffred Duplessis\nJosephina Kalleo\nJosephine Mahon\nJosephine Miles Lewis\nJosephine Wall\nJosetsu\nJosh Adamski\nJosh Bayer\nJosh Keyes\nJosh OnNew Zealand\nJoshua Cristall\nJoshua Johnson\nJoshua Reynolds\nJoshua Shaw\nJosiah Johnson Hawes\nJosiah Wedgwood\nJosse Lieferinxe\nJosse van Craesbeeck\nJost Amman\nJosé Clemente Orozco\nJosé Comas Quesada\nJosé Garnelo\nJosé Ladrönn\nJosé Malhoa\nJoy Garnett\nJoy Hester\nJoyce Ballantyne Brand\nJoyce J Scott\nJoyce Kozloff\nJoyce Reopel\nJoyce Treiman\nJoyce Wieland\nJoze Ciuha\nJozef Czapski\nJozef Israels\nJozef Israëls\nJozef Mehoffer\nJozef Simmler\nJozsef Egry\nJozsef Rippl-Ronai\nJoão Artur da Silva\nJu Chao\nJu Lian\nJuan Antonio Escalante\nJuan Bautista Martinez del Mazo\nJuan Bautista Mayno\nJuan Carlos Stekelman\nJuan Carreno de Miranda\nJuan Carreño de Miranda\nJuan Egenau Moore\nJuan Fernando Cobo\nJuan Francisco Gonzalez Escobar\nJuan Geuer\nJuan Giménez\nJuan Gomez de Mora\nJuan Gonzalez\nJuan Gris\nJuan Luna\nJuan Martinez Montanez\nJuan Mauricio Rugendas\nJuan Munoz\nJuan O'Gorman\nJuan Pantoja de la Cruz\nJuan Sanchez Cotan\nJuan Simon Gutierrez\nJuan Soriano\nJuan Vicente Masip\nJuan Vila Casas\nJuan Villafuerte\nJuan de Arellano\nJuan de Borgona\nJuan de Espinosa\nJuan de Flandes\nJuan de FlandesSpanish\nJuan de Herrera\nJuan de Juanes\nJuan de JuniSpanish\nJuan de Pareja\nJuan de Valdes Leal\nJuan de Valdés Leal\nJuan de Villanueva\nJuan de Zurbaran\nJuan van der Hamen\nJuan van der Hamen y Leon\nJudas Ullulaq\nJudith Baca\nJudith Brown\nJudith Burton\nJudith Gutierrez\nJudith Leyster\nJudith Schaechter\nJudith Shea\nJudson Huss\nJudy Cassab\nJudy Chicago\nJudy Larson\nJudy Onofrio\nJudy Pfaff\nJudy Takács\nJuergen Teller\nJuergen von Huendeberg\nJules Bastien-Lepage\nJules Breton\nJules Cheret\nJules Chéret\nJules Coignet\nJules Dalou\nJules Dupre\nJules Ferdinand Jacquemart\nJules Girardet\nJules Hardouin Mansart\nJules Jacques Veyrassat\nJules Joseph Lefebvre\nJules Olitski\nJules Pascin\nJules PascinBulgarian\nJules Robert Auguste\nJules Tavernier\nJules-Achille Noel\nJules-Adolphe Goupil\nJules-Alexandre Grun\nJules-Alexis Muenier\nJules-Elie Delaunay\nJules-Eugene Lenepveu\nJules-Joseph Lefebvre\nJulia Emily Gordon\nJulia Hart Beers\nJulia Jumbo\nJulia Margaret Cameron\nJulia Morgan\nJulia Pishtar\nJulian Alden Weir\nJulian Allen\nJulian Ashton\nJulian Falat\nJulian Fałat\nJulian Hatton\nJulian Levi\nJulian Martinez\nJulian Onderdonk\nJulian Opie\nJulian R Seavey\nJulian Schnabel\nJulian SchnabelFilmmaker\nJulian Stanczak\nJulian Story\nJulian Trevelyan\nJuliana Nan\nJuliao Sarmento\nJulie Bell\nJulie Blackmon\nJulie Mehretu\nJulie MehretuEthiopian\nJulien Dupre\nJuliette Leong\nJuliette Wytsman\nJulio Galan\nJulio Gonzalez\nJulio González\nJulio Larraz\nJulio Le Parc\nJulio Romero de Torres\nJulio Shimamoto\nJulio deDiego\nJulius Bissier\nJulius Caesar Ibbetson\nJulius Edvard Marak\nJulius Exner\nJulius Hatofsky\nJulius Holm\nJulius J Pommer\nJulius Klinger\nJulius L Stewart\nJulius LeBlanc Stewart\nJulius Schmidt\nJulius Schnorr von Carolsfeld\nJulius Schrader\nJulius Seyler\nJulius Theodor Christian Ratzeburg\nJuliusz Kossak\nJun Kaneko\nJun'ichiro Sekino\nJune Mendoza\nJune Wayne\nJung Park\nJunius Brutus Stearns\nJunius R Sloan\nJunji Ito\nJunpei Satoh\nJunsaku Koizumi\nJunya Watanabe\nJuraj Julije Klovic\nJuraj Julije Klović\nJurgan Frederick Huge\nJurgen Klauke\nJurgen Ovens\nJurgen Ziewe\nJuriaen van Streeck\nJusepe Leonardo\nJusepe de Ribera\nJusepe de RiberaItalian\nJuste-Aurele\nJustin Bua\nJustin Currie\nJustin Gerard\nJustin Roiland\nJustin Sweet\nJustus Sustermans\nJustus van Gent\nJános Donát\nJános Kass\nJános Nagy Balogh\nJános Saxon-Szász\nJános Tornyai\nJános Valentiny\nJános Vaszary\nJóhannes Geir Jónsson\nJóhannes Sveinsson Kjarval\nJózef Brandt\nJózef Mehoffer\nJózef Pankiewicz\nJózef Szermentowski\nJózsef Borsos\nJózsef Breznay\nJózsef Egry\nJózsef Koszta\nJózsef Rippl-Rónai\nJörg Immendorff\nJørgen Nash\nJørgen Roed\nJúlius Jakoby\nJúlíana Sveinsdóttir\nJürg Kreienbühl\nKabukido Enkyo\nKaburagi Kiyokata\nKadir Nelson\nKaethe Butcher\nKaff Gerrard\nKagaku Murakami\nKahlil Gibran\nKahlo\nKai Althoff\nKai Fjell\nKaigetsudo Anchi\nKaigetsudo Ando\nKaigetsudo Dohan\nKaigetsudō Anchi\nKaigetsudō Ando\nKaiho Yusho\nKaii Higashiyama\nKailash Chandra Meher\nKaja Foglio\nKaka Ashoona\nKalervo Palsa\nKalman Kubinyi\nKamagurka\nKamal ud-Din Behzad\nKameda Bosai\nKameda Bōsai\nKamisaka Sekka\nKamāl ud-Dīn Behzād\nKananginak Pootoogook\nKanbun Master\nKandinsky\nKang Shiyao\nKang Youwei\nKano Eitoku\nKano Hideyori\nKano Hogai\nKano Masanobu\nKano Mitsunobu\nKano Motonobu\nKano Naizen\nKano Sanraku\nKano Sansetsu\nKano Shosenin\nKano Takanobu\nKano Tan'yu\nKano Tanshin\nKanzan Shimomura\nKanō Eitoku\nKanō Hōgai\nKanō Masanobu\nKanō Mitsunobu\nKanō Motonobu\nKanō Naizen\nKanō Sanraku\nKanō Sansetsu\nKanō Shōsenin\nKanō Takanobu\nKanō Tan'yū\nKanō Tanshin\nKaoru Kawano\nKara Walker\nKarel Appel\nKarel Dujardin\nKarel Havlícek\nKarel Havlíček\nKarel Klíc\nKarel Klíč\nKarel Thole\nKarel van Mander\nKarel Štech\nKarel Štěch\nKaren Knorr\nKaren Kunc\nKaren Wallis\nKarin Sander\nKarine Eibatova\nKarl Albert Buehr\nKarl Ballmer\nKarl Baumann\nKarl Begas the Elder\nKarl Blossfeldt\nKarl Bodmer\nKarl Boehme\nKarl Briullov\nKarl Bryullov\nKarl Buesgen\nKarl Emil TermohlenDanish\nKarl Ferdinand Langhans\nKarl Friedrich Schinkel\nKarl Gerstner\nKarl Hagedopoorn\nKarl Hagedorn\nKarl Hofer\nKarl Jauslin\nKarl Knaths\nKarl Kopinski\nKarl Lagerfeld\nKarl Matzek\nKarl Max Schultheiss\nKarl Nordstrom\nKarl Otto Götz\nKarl Pümpin\nKarl Schmidt-Rottluff\nKarl Schrag\nKarl Sims\nKarl Stauffer-Bern\nKarl Theodor von Piloty\nKarl Thiart\nKarl Völker\nKarl Walser\nKarl Wirsum\nKarl Zerbe\nKarl von Egeri\nKarla Ortiz\nKarol Bak\nKaroly Ferenczy\nKaroly Lotz\nKartner Meister\nKasimir Malevich\nKate Beaton\nKate Elizabeth Bunce\nKate Freeman Clark\nKate Greenaway\nKate Moran\nKate Van Suddese\nKaterina Wilczynski\nKatharina Fritsch\nKatharina Grosse\nKatharina SieverdingCzech\nKathe Kollwitz\nKatherine Levin Farrell\nKatherine Schmidt\nKathleen Allen\nKathleen Browne\nKathleen Guthrie\nKathleen Knowling\nKathleen Scott\nKathleen Walne\nKathrin Longhurst\nKathryn Morris Trotter\nKati Horna\nKatia Chausheva\nKatsuchika Hokusai\nKatsuhiro Otomo\nKatsukawa Shun'ei\nKatsukawa Shuncho\nKatsukawa Shunchō\nKatsukawa Shunko I\nKatsukawa Shunkō I\nKatsukawa Shunsen\nKatsukawa Shunsho\nKatsukawa Shunshō\nKatsukawa Shunso\nKatsukawa Shunzan\nKatsushika Hokusai\nKatsushika Oi\nKatsushika Ōi\nKawabata Ryushi\nKawabata Ryūshi\nKawacy\nKawai Gyokudo\nKawai Gyokudō\nKawanabe Kyosai\nKawanabe Kyōsai\nKawase Hasui\nKay Nielsen\nKay NielsenDanish\nKay Sage\nKazimierz Alchimowicz\nKazimierz Dabrowski\nKazimierz Wojniakowski\nKazimir Malevich\nKazuhisa Kondo\nKazuki Takamatsu\nKazuo Koike\nKazuo Nakamura\nKazuo Oga\nKazuo Shiraga\nKazys Varnelis\nKcho\nKe Jiusi\nKeeley Halswelle\nKees Bol\nKees Heynsius\nKees Maks\nKees Scherer\nKees van Dongen\nKehinde Wiley\nKeibun\nKeiko Minami\nKeisai Eisen\nKeith Carter\nKeith Haring\nKeith Henderson\nKeith Jacobshagen\nKeith Lowry\nKeith Mallett\nKeith Negley\nKeith Parkinson\nKeith Shaw Williams\nKeith Sonnier\nKeith Tyson\nKeith Vaughan\nKelly Fearing\nKelly Freas\nKelly McKernan\nKelly Mckernan\nKelly Sue Deconnick\nKelly Sueda\nKem Weber\nKen Aptekar\nKen Bunn\nKen Carlson\nKen Currie\nKen Danby\nKen Elias\nKen Goldberg\nKen Howard\nKen Kelly\nKen Little\nKen Messer\nKen Sugimori\nKendall Buster\nKendell Geers\nKengo Kuma\nKenne Gregoire\nKenneth Armitage\nKenneth Capps\nKenneth Davies\nKenneth Hayes Miller\nKenneth Holmes\nKenneth Martin\nKenneth Noland\nKenneth Price\nKenneth Rocafort\nKenneth Rowntree\nKenneth Snelson\nKenny Scharf\nKenojuak Ashevak\nKenro Izu\nKent Monkman\nKent Ullberg\nKentaro Miura\nKenyon CoxMuralist\nKenzo Okada\nKeos Masons\nKer Xavier Roussel\nKer-Xavier Roussel\nKeraca Visulceva\nKeraca Visulčeva\nKerby Rosanes\nKerem Beyit\nKerembeyit\nKeren Katz\nKerr Eby\nKerry James Marshall\nKerstiaen de Keuninck\nKestutis Kasparavicius\nKev Walker\nKevin A Short\nKevin A. Short\nKevin Connor\nKevin Hill\nKevin McNeal\nKevin Red Star\nKevin Sloan\nKhalil Gibran\nKieran Yanner\nKieron Gillen\nKiki Smith\nKikuchi Yosai\nKikuchi Yōsai\nKikugawa Eizan\nKilian Eng\nKim Deuk-sin\nKim Dingle\nKim Du-ryang\nKim Eung-hwan\nKim Hong-do\nKim Hwan-gi\nKim Jeong-hui\nKim Jung Gi\nKim Keever\nKim Myeong-guk\nKim Tschang Yeul\nKinichiro Ishikawa\nKinji Akagawa\nKinuko Craft\nKinuko Y Craft\nKinuko Y. Craft\nKirsty Mitchell\nKishi Ganku\nKishin Shinoyama\nKitagawa Tsukimaro\nKitagawa Utamaro\nKitao Masanobu\nKitao Masayoshi\nKitao Shigemasa\nKitty Kielland\nKitty Lange Kielland\nKitty Wales\nKiyohara Tama\nKiyoji Otsuji\nKiyonaga\nKiyonobu\nKiyoshi Hasegawa\nKiyoshi Saito\nKiyoshi Yamashita\nKlaes Molenaer\nKlaus Janson\nKlaus Pillon\nKlaus Wittmann\nKlaus von Bruch Video\nKlimt\nKnox Martin\nKnud Agger\nKnud MerrildDanish\nKnut Rose\nKobayashi Kiyochika\nKogan Gengei\nKoji Morimoto\nKoloman Moser\nKoloman Sokol\nKomar and Melamids\nKono Bairei\nKono Michisei\nKonrad Grob\nKonrad Klapheck\nKonrad Krzyzanowski\nKonrad Krzyżanowski\nKonrad Mägi\nKonrad Witz\nKonrad of Soest\nKonstantin Egorovich Makovsky\nKonstantin Korovin\nKonstantin Makovsky\nKonstantin Savitsky\nKonstantin Simun\nKonstantin Somov\nKonstantin Vasilyev\nKonstantin Westchilov\nKonstantin Yuon\nKonstantinas Ciurlionis\nKonstantinos Parthenis\nKonstantinos Volanakis\nKoo Mei\nKoryusai\nKoryusai Isoda\nKose Kanaoka\nKoshiro Onchi\nKosmas Damian Asam\nKoson Ohara\nKouta Hirano\nKozo Yokoi\nKrenz Cushart\nKris Knight\nKris Kuksi\nKristian Krekovic\nKristian Kreković\nKristian Zahrtmann\nKristin Nelson\nKrzysztof Boguszewski\nKrzysztof Wodiczko\nKsenia Milicevic\nKuang Hong\nKuang Yaoding\nKubisi art\nKume Keiichiro\nKun Can\nKunichika\nKunikazu\nKunimasa\nKunimasu\nKunio Okawara\nKunisada\nKuno Veeber\nKuroda Seiki\nKurt Busiek\nKurt Hutton\nKurt Roesch\nKurt Schwitters\nKurt Seligmann\nKurt Trampedach\nKurt Wenner\nKurzgesagt\nKusama\nKusumi Morikage\nKutlug Ataman\nKuzma Petrov-Vodkin\nKyffin Williams\nKyle Lambert\nKylli Sparre\nKyra Markham\nKároly Brocky\nKároly Ferenczy\nKároly Kernstok\nKároly Kisfaludy\nKároly Lotz\nKároly Markó the Elder\nKároly Patkó\nKäthe Kollwitz\nKōno Bairei\nKōno Michisei\nKōshirō Onchi\nL A Ring\nL Alcopley\nL Birge Harrison\nL Kamenev\nL S Lowry\nL Vance Phillips\nL. A. Ring\nL. Alcopley\nL. S. Lowry\nL. Vance Phillips\nLA Ring\nLM Cooke\nLaddie John Dill\nLadrönn\nLady Edna Clarke Hall\nLady Gaga\nLady Gordon\nLady Susan Elizabeth Percy\nLady Wharncliffe\nLai Shaoqi\nLai Sung\nLajos Berán\nLajos Bruck\nLajos Deak-Ebner\nLajos Gulacsy\nLajos Gulácsy\nLajos Kassák\nLajos Tihanyi\nLajos Vajda\nLale Westvind\nLam Qua\nLamar Dodd\nLambert Doomer\nLambert Jacobsz\nLambert Lombard\nLambert Sachs\nLambert Sustris\nLambert-Sigisbert Adam\nLamqua\nLan Ying\nLancelot Blondeel\nLancelot-Theodore Turpin de Crisse\nLanglands and Bell\nLari Pittman\nLarry Bell\nLarry Carlson\nLarry Clark\nLarry D Alexander\nLarry D. Alexander\nLarry Elmore\nLarry Fink\nLarry Poons\nLarry Rivers\nLarry Schulte\nLarry Sultan\nLarry Zox\nLars Grant-West\nLars Jonson Haukaness\nLars-Erik Fisk\nLasar Segall\nLaszlo Hegedus\nLaszlo Mednyanszky\nLaszlo Moholy-Nagy\nLaszlo Pataky\nLaton Alton Huffman\nLattanzio Gambara\nLaura Alma-Tadema\nLaura Coombs Hills\nLaura Ford\nLaura Gilpin\nLaura Knight\nLaura Makabresku\nLaura Muntz Lyall\nLaura Owens\nLaura Theresa Alma-Tadema\nLaura Wheeler Waring\nLaure Albin Guillot\nLaureano Barrau\nLaurel Burch\nLauren Faust\nLauren Ford\nLaurence S Lowry\nLaurent Baheux\nLaurent Cars\nLaurent Grasso\nLaurent Joseph Daniel Bouvier\nLaurent de La Hyre\nLaurie Anderson\nLaurie Greasley\nLaurie Lipton\nLaurie SimmonsConceptual\nLaurits Tuxen\nLavinia Fontana\nLawren Harris\nLawren S Harris\nLawrence Alma-Tadema\nLawrence Beall-Smith\nLawrence Calcagno\nLawrence E Kupferman\nLawrence Gipe\nLawrence Harris\nLawrence Paul Yuxweluptun\nLawrence Poons\nLawrence Weiner\nLawton Parker\nLawton S Parker\nLawton S. Parker\nLazzaro Bastiani\nLe Corbusier\nLeConte Stewart\nLeRoy Neiman\nLeander Engström\nLeandro Bassano\nLeandro Erlich\nLeanne Surfleet\nLee Bogle\nLee Bontecou\nLee Broom\nLee Brown Coye\nLee BulKorean\nLee Friedlander\nLee Gatch\nLee Jeffries\nLee Krasner\nLee Lawrie\nLee Loughridge\nLee Lufkin Kaula\nLee Madgwick\nLee Miller\nLee MingweiTaiwanese\nLee N Smith III\nLefevre James Cranstone\nLeigh Behnke\nLeiji Matsumoto\nLeiko Ikemura\nLeila Daw\nLeila Faithfull\nLeila T Bauman\nLeland Bell\nLelio Orsi\nLemuel Francis Abbott\nLen Crawford\nLena Alexander\nLeng Mei\nLennie Lee\nLeo Gestel\nLeo Goetz\nLeo J Meissner\nLeo Leuppi\nLeo Lionni\nLeo McMillan\nLeo Michelson\nLeo Putz\nLeo Valledor\nLeo and Diane Dillon\nLeo von Klenze\nLeochares\nLeon Augustin L'hermitte\nLeon Bakst\nLeon Baptista Alberti\nLeon Belly\nLeon Bonnat\nLeon Chwistek\nLeon Cogniet\nLeon Dabo\nLeon Frederic\nLeon Gaspard\nLeon Golub\nLeon Kaplinski\nLeon Kapliński\nLeon Kossoff\nLeon Kroll\nLeon Levinstein\nLeon Polk Smith\nLeon Spilliaert\nLeon Underwood\nLeon Wyczólkowski\nLeon Wyczółkowski\nLeon de Smet\nLeon-Germain Pelouse\nLeon-Matthieu Cochereau\nLeon-Victor Dupre\nLeona Wood\nLeonaert Bramer\nLeonard Appelbee\nLeonard Bahr\nLeonard Baskin\nLeonard Campbell Taylor\nLeonard Daniels\nLeonard Defrance\nLeonard Limosin\nLeonard Long\nLeonard M Havens\nLeonard Ochtman\nLeonard Rosoman\nLeonard Starr\nLeonard Thiessen\nLeonardi Leoncillo\nLeonardo Bistolfi\nLeonardo da Vinci\nLeonardo da VinciInventor\nLeone Leoni\nLeonetto Cappiello\nLeonhard Beck\nLeonhard Kern\nLeonid\nLeonid Afremov\nLeonid Lerman\nLeonid Pasternak\nLeonor Fini\nLeonora Carrington\nLeopold Flameng\nLeopold Gottlieb\nLeopold Seyffert\nLeopold Survage\nLeopold von Stoll\nLeopoldo Mendez\nLeota Williams Loop\nLes Edwards\nLesley Dill\nLeslie Langille Benson\nLeslie Morgan\nLeslie Ward\nLeslie Wilcox\nLesser Ury\nLester E Varian\nLester Johnson\nLester O Schwartz\nLeszek Bujnowski\nLeticia Gillett\nLetitia Bonnet Hart\nLev Lagorio\nLev Lvovich Kamenev\nLevi Wells Prentice\nLevina Teerlinc\nLew Baldwin\nLewis Baltz\nLewis Carroll\nLewis Henry Meakin\nLewis MacRitchie\nLewis Morley\nLewis Smith\nLewis Wickes Hine\nLezley Saar Assemblage\nLi Cheng\nLi Chevalier\nLi Di\nLi Fangying\nLi Gonglin\nLi Hua\nLi Huayi\nLi Huixian\nLi Kan\nLi Keran\nLi Kuchan\nLi Mei-shu\nLi Pingfan\nLi Qi\nLi Rongjin\nLi Shan\nLi Shida\nLi Shixing\nLi Shuxing\nLi Song\nLi Tang\nLi Tiefu\nLi Wei\nLi Wenxi\nLi Xiongcai\nLi Zai\nLia Cook Textile\nLiam Gillick\nLiam Sharp\nLiam Wong\nLiang Kai\nLiang Zhihe\nLiao Chi-chun\nLiao Lu\nLiberale da Verona\nLibero Andreotti\nLichtenstein\nLigier Richier\nLila Katzen\nLila Norma Shelby\nLili Árkayné Sztehló\nLilia Alvarado\nLilian May Miller\nLilian Westcott Hale\nLiliana Moro\nLilias Torrance Newton\nLilla Cabot Perry\nLillian Bassman\nLillian Mathilde Genth\nLilly Martin Spencer\nLily Delissa Joseph\nLimbourg brothers\nLin Emery\nLin Fengmian\nLin Gang\nLin Liang\nLin Sanzhi\nLin Tinggui\nLin Yong\nLina Bryans\nLinda McCartney\nLinda Sutton\nLindsay Bartholomew\nLinnea Strid\nLino Enea Spilimbergo\nLino Tagliapietramaker\nLinton Park\nLionel Bicknell Constable\nLionel Fitzgerald\nLionel Lindsay\nLionel Percy Smythe\nLionel Walden\nLionello Spada\nLipa Pitsiulak\nLippo Memmi\nLippo VanniManuscript\nLisa Frank\nLisa Holloway\nLisa Jevbratt\nLisa Keene\nLisa Milroy\nLisa Nankivil\nLisa Parker\nLisa Yuskavage\nLise Deharme\nLisette Model\nLiu Guosong\nLiu Haisu\nLiu Jiyou\nLiu Jue\nLiu Jun\nLiu Kuiling\nLiu Shiru\nLiu Wenfu\nLiu Wenxi\nLiu Xian\nLiu Ye\nLiu Zijian\nLiubov Popova\nLiza Donnelly\nLizinka-Aimee-Zoe de Mirbel\nLizzy Ansingh\nLjubaSerbian\nLlyn Foulkes\nLo Scheggia\nLo SpagnaItalian\nLodewijk Bruckman\nLodewijk de Vadder\nLodewijk van der Helst\nLodewyk Toeput\nLodovico Carracci\nLodovico Cigoli\nLodovico Lombardo\nLoic Zimmerman\nLois Conner\nLois Dodd\nLois Greenfield\nLois Mailou Jones\nLois van Baarle\nLoish\nLojze Logar\nLola Alvarez Bravo\nLong Tingba\nLord Frederic Leighton\nLord Snowdon\nLord William Pitt Lennox\nLoren MacIver\nLoren Munk\nLorena Ziraldo\nLorentz Frölich\nLorenz Hideyoshi\nLorenzo Bartolini\nLorenzo Costa\nLorenzo Costa the Elder\nLorenzo Costa the Younger\nLorenzo Ghiberti\nLorenzo Lotto\nLorenzo Maitani\nLorenzo Monaco\nLorenzo Pasinelli\nLorenzo Peracino\nLorenzo Sacchetti\nLorenzo Veneziano\nLorenzo di Alessandro da Sanseverino\nLorenzo di Credi\nLoretta Lux\nLori Earley\nLorna Simpson\nLorne Beug\nLorraine Fox\nLorser Feitelson\nLothar Baumgarten\nLothar Schreyer\nLotte Jacobi\nLotte Laserstein\nLotte Reiniger\nLou Marchetti\nLoui Jover\nLouis Agassiz Fuertes\nLouis Anquetin\nLouis Aston Knight\nLouis Beroud\nLouis Betts\nLouis Bouche\nLouis Boulanger\nLouis Bunce\nLouis Buvelot\nLouis Caravaque\nLouis Charles Moeller\nLouis Comfort Tiffany\nLouis Conrad Rosenberg\nLouis Daguerre\nLouis Ducros\nLouis Duveau\nLouis Eilshemius\nLouis Faurer\nLouis Francais\nLouis Gabriel Moreau\nLouis Gallait\nLouis Gauffier\nLouis Germain\nLouis Glackens\nLouis Grell\nLouis Gustave Taraval\nLouis Haghe\nLouis Hersent\nLouis Icart\nLouis Janmot\nLouis Jean Francois Lagrenee\nLouis John Rhead\nLouis Kahn\nLouis KahnEstonian\nLouis Lang\nLouis Le Nain\nLouis Le Vau\nLouis Lozowick\nLouis Mader\nLouis Majorelle\nLouis Marcoussis\nLouis Mathieu Verdilhan\nLouis Nicolas van Blarenberghe\nLouis Paul Dessar\nLouis Paul Jonas\nLouis Pohl\nLouis Raemaekers\nLouis Remy Mignot\nLouis Rhead\nLouis Ritman\nLouis Rolland Trinquesse\nLouis Roux\nLouis Schanker\nLouis Stettner\nLouis Sullivan\nLouis Tocque\nLouis Valtat\nLouis Wain\nLouis Welden Hawkins\nLouis Weldon Hawkins\nLouis de Boullogne\nLouis de Carmontelle\nLouis de Caullery\nLouis de Clercq\nLouis le Brocquy\nLouis-Augustin Auguin\nLouis-Charles-Auguste Couder\nLouis-Edouard Dubufe\nLouis-Emile Adan\nLouis-Emile Durandelle\nLouis-Ernest Barrias\nLouis-Ernest Lheureux\nLouis-Francois Roubiliac\nLouis-François Aubry\nLouis-Gabriel Blanchet\nLouis-Gustave Ricard\nLouis-Jean Desprez\nLouis-Joseph Anthonissen\nLouis-Joseph Le Lorrain\nLouis-Joseph Watteau\nLouis-Leopold Boilly\nLouis-Leopold Robert\nLouis-Léopold Boilly\nLouis-Léopold Boily\nLouis-Marin Bonnet\nLouis-Maurice Boutet de Monvel\nLouis-Michel van Loo\nLouis-Philibert Debucourt\nLouis-Simon Boizot\nLouis-Theodore Devilly\nLouisa Chase\nLouisa Matthíasdóttir\nLouisa Moillon\nLouisa Puller\nLouise Abbema\nLouise Abbéma\nLouise Bourgeois\nLouise BreslauSwiss\nLouise Catherine Breslau\nLouise Dahl-Wolfe\nLouise Lawler\nLouise McKissick\nLouise Nevelson\nLouise Scott\nLouise Wilson\nLovis Corinth\nLowell Birge Harrison\nLowell Herrero\nLowell Nesbitt\nLu Fusheng\nLu Guang\nLu Hui\nLu Shoukun\nLu Xun\nLu Yanshao\nLu Zhi\nLubaina Himid\nLubin Baugin\nLubna Agha\nLuc Faydherbe\nLuc Tuymans\nLuc-Albert Moreau\nLuc-Olivier Merson\nLuca Cambiaso\nLuca Carlevaris\nLuca Forte\nLuca Giordano\nLuca Signorelli\nLuca Zontini\nLuca della Robbia\nLuca di Tomme\nLucas Cranach the Elder\nLucas Cranach the Younger\nLucas Franchoys the Younger\nLucas Gassel\nLucas Graciano\nLucas Samaras\nLucas Vorsterman\nLucas Vorsterman the Elder\nLucas van Leyden\nLucas van Uden\nLucas van Valckenborch\nLucebert\nLucette Barker\nLucia Anguissola\nLucia MoholyCzech\nLucia Peka\nLucian Freud\nLuciano Fabro\nLuciano Laurana\nLuciano Minguzzi\nLucie CousturierWriter\nLucie Hartrath\nLucie Rie\nLucien Clergue\nLucien Labaudt\nLucien Levy-Dhurmer\nLucien Metivet\nLucien Pissarro\nLucien Simon\nLucienne Bloch\nLucille Chabot\nLucio Fontana\nLucio FontanaItalian\nLucio Munoz\nLucio Pozzi\nLucius R O'Brien\nLucy Angeline Bacon\nLucy Drake Marlow\nLucy Glendinning\nLucy Grossmith\nLucy Grosvenor Chapin\nLucy Kemp-Welch\nLucy M Lewis\nLucy Madox Brown\nLudek Marold\nLudger tom Ring the Younger\nLudolf Backhuysen\nLudolf Bakhuizen\nLudolf Leendertsz de Jongh\nLudovic Piette\nLudovico Brea\nLudovico Carracci\nLudovico Mazzolino\nLudovicus Finson\nLudovit Fulla\nLudwig Bemelmans\nLudwig Deutsch\nLudwig Fahrenkrog\nLudwig Herthel\nLudwig Hohlwein\nLudwig Knaus\nLudwig Meidner\nLudwig Mestler\nLudwig Mies van der Rohe\nLudwik Konarzewski\nLudwik Konarzewski Jr\nLuděk Marold\nLuigi Borro\nLuigi Broggini\nLuigi Garzi\nLuigi Grosso\nLuigi Kasimir\nLuigi Loir\nLuigi Lucioni\nLuigi Mainolfi\nLuigi Marta\nLuigi Russolo\nLuigi Serafini\nLuigi Vanvitelli\nLuis Borrassa\nLuis Cruz Azaceta\nLuis Dalmau\nLuis Egidio Melendez\nLuis Enrique Camej\nLuis Fernandez\nLuis Fernando Benedit\nLuis Jimenez\nLuis Jimenez Aranda\nLuis Juarez\nLuis Lopez Piquer\nLuis Marsans\nLuis Miranda\nLuis Molinari\nLuis Paret y Alcazar\nLuis Ricardo Falero\nLuis Royo\nLuis Tristan de Escamilla\nLuis de Morales\nLuisa Roldan\nLujo Bezeredi\nLukas Moser\nLuke Fildes\nLuma Rouge\nLuo Gongliu\nLuo Mu\nLuo Ping\nLuo Zhichuan\nLuo Zhongli\nLurelle Guild\nLuther Jones\nLux Feininger\nLydia Field Emmet\nLydia Goldblatt\nLydos\nLygia Clark\nLygia Pape\nLyle Tuttle\nLynd Ward\nLynda Barry\nLynda Benglis\nLynette Yiadom-Boakye\nLynn Chadwick\nLynn Donoghue\nLynn M Randolph\nLynn Pauley\nLynne Hull\nLynton Wells\nLyonel Feininger\nLyonel FeiningerGerman\nLysippus\nLyubov Popova\nLászló Balogh\nLászló Beszédes\nLászló Dombrovszky\nLászló Mednyánszky\nLászló Moholy-Nagy\nLászló Paál\nLéon Bakst\nLíviusz Gyulai\nLü Ji\nM C Escher\nM F Husain\nM. C. Escher\nM. F. Husain\nM.C. Escher\nMC Escher\nMF Husain\nMW Kaluta\nMa Lin\nMa Quan\nMa Shi\nMa Wan\nMa Yuan\nMa Yuanyu\nMa-Pe-Wi\nMab Graves\nMabel Alvarez\nMabel Dwight\nMabel May Woodward\nMabel Nicholson\nMabel Rollins Harris\nMabel Wellington Jack\nMabelle Alcott Hunt\nMabuse\nMac Conner\nMac Raboy\nMacKay\nMaciej Kuciara\nMackay Hugh Baillie Scott\nMaddelena Master\nMadeleine Lemaire\nMadge Oliver\nMae Bennett Brown\nMaeda Masao\nMaeda Seison\nMaerten van Heemskerck\nMaestro Esiguo\nMaestro Pugliese-Abruzzese\nMagali Villeneuve\nMagdalena Abakanowicz\nMagdalene Bärens\nMaggi Hambling\nMaggie Hamilton\nMaggie Laubser\nMaginel Wright Enright Barney\nMagnus Colcord Heurlin\nMagnus Enckell\nMags Harries\nMahiro Maeda\nMahmoud Farshchian\nMahonri Macintosh Young\nMai Xianyang\nMaia Flore\nMair von Landshut\nMaki Haku\nMakoto Aida\nMakoto Shinkai\nMakoto Shinkhai\nMaksimilijan Vanka\nMaksymilian Gierymski\nMakuzu Kozan\nMakuzu Kōzan\nMalangatanaMozambican\nMalcolm Cochran\nMalcolm Drummond\nMalcolm Howie\nMalcolm Liepke\nMalcolm Morley\nMalcolm Osborne\nMalcolm Teasdale\nMalcom Howie\nMalczewski\nMaler Müller\nMalevich\nMalgorzata Serwatka\nMalick Sidibé\nMalvin Gray Johnson\nMalvina Hoffman\nMamoru Oshii\nMan Ray\nManabu Mabe\nManasie Akpaliapik\nMandy Disher\nMandy Jurgens\nManfred Buchheit\nManfred Pernice\nManfredi Beninati\nManierre Dawson\nManjit Bawa\nManny FarberWriter\nManolo Millares\nManolo Valdes\nManuel Alvarez Bravo\nManuel Franquelo\nManuel Millares Sall\nManuel Neri\nManuel OcampoFilipinoMuralist\nManuel Ortiz de Zarate\nManuel Rendón Seminario\nManuel Rodriguez Lozano\nMao Hamaguchi\nMao Lizi (Zhang Zhunli)\nMarat Safin\nMarc Bell\nMarc Brunet\nMarc Chagall\nMarc ChagallStained\nMarc Davis\nMarc Duval\nMarc Lagrange\nMarc Quinn\nMarc Silvestri\nMarc Simonetti\nMarc Tetro\nMarc-Aurele Fortin\nMarc-Aurele de Foy Suzor-Cote\nMarc-Aurèle de Foy Suzor-Coté\nMarcantonio Bassetti\nMarcantonio Franceschini\nMarcantonio Raimondi\nMarcel Breuer\nMarcel Broodthaers\nMarcel Caron\nMarcel Chagall\nMarcel Duchamp\nMarcel Gromaire\nMarcel Janco\nMarcel Moore\nMarcel Mouly\nMarcel Odenbach\nMarcell Chagall\nMarcelle Bergerol\nMarcellin Gilbert Desboutin\nMarcello Bacciarelli\nMarcello Dudovich\nMarcello Mascherini\nMarcello Muccini\nMarcello Venusti\nMarcellus Laroon the Younger\nMarcia Gygli King\nMarciano Baptista\nMarcin Sobas\nMarcin Zaleski\nMarco Bagnoli\nMarco Basaiti\nMarco Marziale\nMarco Mazzoni\nMarco Palmezzano\nMarco Ricci\nMarco Zoppo\nMarco d'Oggiono\nMarcos Restrepo\nMarcus Gheeraerts the Younger\nMarcus Harvey\nMarcus Larson\nMarcus Stone\nMardi Barrie\nMarek Okon\nMarek Walczak\nMargaret Backhouse\nMargaret Barker\nMargaret Bingham\nMargaret Boden\nMargaret Bourke-White\nMargaret Bruce Wells\nMargaret Brundage\nMargaret Burroughs\nMargaret Fitzhugh Browne\nMargaret Garland\nMargaret Geddes\nMargaret Graeme Niven\nMargaret Keane\nMargaret Leiteritz\nMargaret Lindsay Williams\nMargaret MacDonald\nMargaret Macdonald Mackintosh\nMargaret Mellis\nMargaret Modlin\nMargaret Olley\nMargaret Preston\nMargaret Shelton\nMargaret Swan\nMargaret Tafoya\nMargaret Tarrant\nMargareta Alströmer\nMargareta Sterian\nMargaretta Angelica Peale\nMargaritone d'Arezzo\nMargit Anna\nMargo Hoff\nMargot Lovejoy\nMarguerite Blasingame\nMarguerite Gerard\nMarguerite Kirmse\nMarguerite Stuber Pearson\nMarguerite Thompson Zorach\nMarguerite Zorach\nMari ten Kate\nMaria A'Becket\nMaria Bashkirtseff\nMaria Blanchard\nMaria Cosway\nMaria Dixon\nMaria Elena Vieira da Silva\nMaria Fernanda CardosoColombian\nMaria Helena Vieira da Silva\nMaria Izquierdo\nMaria Johanna Görtz\nMaria Kreyn\nMaria Lassnig\nMaria Martinez\nMaria Nordman\nMaria Oakey Dewing\nMaria Oriana Galli Bibiena\nMaria Sibylla Merian\nMaria Verelst\nMaria van Oosterwijk\nMaria van Oosterwyck\nMarian Blakelock\nMarianna Rothen\nMarianna Sloan\nMarianne Brandt\nMarianne Breslauer\nMarianne Loir\nMarianne North\nMarianne Stokes\nMarianne von Werefkin\nMariano Fortuny y Madrazo\nMariano Fortuny y Marsal\nMariano Salvador Maella\nMarianus Adrianus Koekkoek\nMarie Angel\nMarie Anne Gerard Fragonard\nMarie Atkinson Hull\nMarie Bashkirtseff\nMarie Bracquemond\nMarie Cazin\nMarie Courtois\nMarie Haughton Spaeth\nMarie J Naylor\nMarie Krøyer\nMarie Laurencin\nMarie Louise Elisabeth Vigee-Lebrun\nMarie Lucas-Robiquet\nMarie Severin\nMarie Spartali Stillman\nMarie Vassilieff\nMarie Z Chino\nMarie-Anne Collot\nMarie-Denise Villers\nMarie-Francois Firmin-Girard\nMarie-Francoise-Constance Mayer-Lamartiniere\nMarie-Gabrielle Capet\nMarie-Genevieve Navarre\nMarie-Guillemine Benoist\nMarie-Suzanne Giroust\nMarie-Thérèse Auffray\nMarie-Victoire Lemoine\nMarietta Robusti\nMarijke van Warmerdam\nMariko Mori Video\nMarilyn Bendell\nMarilyn Levine\nMarilyn Minter\nMarina Abramovic\nMarina Abramović\nMarina Nunez del Prado\nMarino Marini\nMarino Mazzacurati\nMarinus van Reymerswaele\nMario Airo\nMario Avati\nMario Bardi\nMario Carreno\nMario Comensoli\nMario Cooper\nMario Dubsky\nMario Mafai\nMario Merz\nMario Negri\nMario Rutelli\nMario Schifano\nMario Sironi\nMario Sorrenti\nMario Testino\nMarion Ancrum\nMarion Bond\nMarion C Smith\nMarion Gray Traver\nMarion Greenwood\nMarion Held\nMarion Kavanaugh Wachtel\nMarion Nicoll\nMarion Post Wolcott\nMarion Powers\nMarion Wachtel\nMariotto Albertinelli\nMariotto di Nardo\nMarisa Merz\nMarisol\nMarius Borgeaud\nMarius Michel\nMarius-Jean-Antonin Mercie\nMarià Fortuny\nMarjane Satrapi\nMarjetica PotrcSlovenian\nMarjorie Frances Bruford\nMarjorie May Bacon\nMarjorie Miller\nMark A Brennan\nMark A. Brennan\nMark Abrahamson\nMark Amerika\nMark Arian\nMark Beam\nMark Boyle\nMark Briscoe\nMark Brooks\nMark Catesby\nMark Cesark\nMark Demsteader\nMark Dion\nMark English\nMark Fisher\nMark Francis\nMark Gertler\nMark Henson\nMark Innerst\nMark Keathley\nMark Klett\nMark Kostabi\nMark Lague\nMark Lewis\nMark Lindquist Woodturner\nMark Lovett\nMark Napier\nMark Poole\nMark Rothko\nMark Ryden\nMark Seliger\nMark Steinmetz\nMark Tansey\nMark Tedin\nMark Tobey\nMark Wallinger\nMark Zug\nMark di Suvero\nMarko Manev\nMarkus Lupertz\nMarkus Raetz\nMarkus Schinwald\nMarlene Dumas\nMarmaduke Cradock\nMarmaduke Matthews\nMars Ravelo\nMarsden Hartley\nMarsha Pels\nMarshall Arisman\nMarshall Claxton\nMarta Bevacqua\nMarta Colvin Andrade\nMarten Post\nMarten van Valckenborch\nMartha Mayer Erlebacher\nMartha Rosler\nMartha Sawyers\nMartha Walter\nMartial Raysse\nMartin Ansin\nMartin Benka\nMartin Bernat\nMartin Bigum\nMartin Bloch\nMartin Bradley\nMartin Creed\nMartin Deschambault\nMartin Desjardins\nMartin Drolling\nMartin Edgar Ferrill\nMartin Ferdinand QuadalMoravian\nMartin Freminet\nMartin Gensler\nMartin Grelle\nMartin Hardie\nMartin Hoffmann\nMartin Johann Schmidt\nMartin Johnson Heade\nMartin Kippenberger\nMartin KippenbergerAustrian\nMartin Knoller\nMartin Kober\nMartin Lewis\nMartin Parr\nMartin Puryear\nMartin Rak\nMartin Rico y Ortega\nMartin Ryckaert\nMartin S Garretson\nMartin Schaffner\nMartin Schoeller\nMartin Schongauer\nMartin Stranka\nMartin Wattenberg\nMartin Whatson\nMartin Wittfooth\nMartin Wong\nMartin de Vos\nMartin van Meytens\nMartin-Guillaume Biennais\nMartina Hoffman\nMartina Krupicková\nMartina Krupičková\nMartine Johanna\nMartino Piazza\nMartino Riezio\nMartino di Bartolomeo di Biago\nMartinus Adrianus Kuytenbrouwer\nMartinus Rorbye\nMartinus Rørbye\nMartinš Kruminš\nMartiros Saryan\nMaruja Mallo\nMaruyama Okyo\nMaruyama Ōkyo\nMarvin Cone\nMarx Reichlich\nMary\nMary Abbott\nMary Adshead\nMary Agnes Yerkes\nMary Ann Willson\nMary Anne Ansley\nMary Anning\nMary Audsley\nMary Beale\nMary Black\nMary Blair\nMary Blood Mellen\nMary Bradish Titcomb\nMary Brewster Hazelton\nMary Butler\nMary Byfield\nMary C Davidson\nMary C. Davidson\nMary Callery\nMary Cameron\nMary Cassatt\nMary Cecil Allen\nMary Chase Stratton\nMary Corkling\nMary Curtis Richardson\nMary Davis\nMary Davis Lady Davis\nMary Dignam\nMary Elizabeth Groom\nMary Elizabeth Price\nMary Ellen Mark\nMary F Raphael\nMary Fairchild MacMonnies\nMary Fedden\nMary Flanagan\nMary Foote\nMary Frank\nMary Grant\nMary Gray\nMary Hallock Foote\nMary Heilmann\nMary Huntoon\nMary Jane Ansell\nMary Jane Begin\nMary Lucier\nMary Macomber\nMary Martha Pearson\nMary McCrossan\nMary McEvoy\nMary Mead\nMary Millicent Chaplin\nMary Moser\nMary Nimmo Moran\nMary Peale\nMary Pratt\nMary Riter Hamilton\nMary Roberts Ebert\nMary Scott\nMary Syme Boyd\nMary Wicks\nMary Wrinch\nMaryam Hashemi\nMasaaki Sasamoto\nMasaccio\nMasaji Yoshida\nMasami Teraoka\nMasamitsu Ota\nMasamitsu Ōta\nMasamune Shirow\nMaso di Banco\nMasolino\nMasolino da Panicale\nMasseot Abaquesne\nMassimiliano Soldani\nMassimo Campigli\nMassimo Stanzione\nMaster AC\nMaster AG\nMaster B of the Die\nMaster Bertram\nMaster ES\nMaster FVB\nMaster IK\nMaster LCz\nMaster MS\nMaster MZ\nMaster S\nMaster Suleiman\nMaster of 1419\nMaster of Affligem\nMaster of Female Half-Lengths\nMaster of Flora\nMaster of Frankfurt\nMaster of Heiligenkreuz\nMaster of Hoogstraeten\nMaster of Janosret\nMaster of Mary of Burgundy\nMaster of Pratovecchio\nMaster of Saint Francis\nMaster of Saint Giles\nMaster of Saint Gilles\nMaster of Saint Gregory\nMaster of Saint Veronica\nMaster of San Jacopo a Mucciana\nMaster of Santo Spirito\nMaster of Virgo inter Virgines\nMaster of the Acts of Mercy\nMaster of the Aix-en-Chapel Altarpiece\nMaster of the Annunciation to the Shepherds\nMaster of the Avignon School\nMaster of the Bambino Vispo\nMaster of the Bardi Saint Francis\nMaster of the Baroncelli Portraits\nMaster of the Battle of Fornovo\nMaster of the Berswordt Altar\nMaster of the Castello Nativity\nMaster of the Coburg Roundels\nMaster of the Codex of Saint George\nMaster of the Cypresses\nMaster of the David and Saint John Statuettes\nMaster of the Dinteville Allegory\nMaster of the Dominican Effigies\nMaster of the Duke of Bedford\nMaster of the Embroidered Foliage\nMaster of the Fogg Pieta\nMaster of the Franciscan Crucifixes\nMaster of the Griselda Legend\nMaster of the Holy Family\nMaster of the Housebook\nMaster of the Joseph Legend\nMaster of the Karlsruhe Passion\nMaster of the Khanenko Adoration\nMaster of the Latour d'Auvergne Triptych\nMaster of the Legend of Saint Lucy\nMaster of the Life of Saint John the Baptist\nMaster of the Life of the Virgin\nMaster of the Magdalen Legend\nMaster of the Manna\nMaster of the Marble Madonnas\nMaster of the Mascoli Altar\nMaster of the Middle-Rhine\nMaster of the Morrison Triptych\nMaster of the Osservanza\nMaster of the Pfullendorf Altar\nMaster of the Playing Cards\nMaster of the Polling Panels\nMaster of the Prado's Adoration of the Magi\nMaster of the Procession\nMaster of the Rebel Angels\nMaster of the Retablo of the Reyes Catolicos\nMaster of the Rinuccini Chapel\nMaster of the Saint Bartholomew Altarpiece\nMaster of the Saint Catherine Legend\nMaster of the Saint Lucy Legend\nMaster of the Saint Ursula Legend\nMaster of the Tegernsee Passion\nMaster of the Thuison Altarpiece\nMaster of the Tibertine Sibyl\nMaster of the View of Sainte Gudule\nMasters of the Fontainebleau\nMastro Guglielmo\nMat Collishaw\nMatej Sternen\nMather Brown\nMathew Brady\nMathias Alten\nMathias Goeritz\nMathias Kollros\nMathias Zundt\nMathieu Antoine Roux\nMathieu Jacquet\nMathieu Le Nain\nMati Klarwein\nMaties Palau Ferré\nMatija Jama\nMatilda Browne\nMatsui Fuyoko\nMatsumura Goshun\nMatsuno Chikanobu\nMatt Bors\nMatt Cavotta\nMatt Fraction\nMatt Granz\nMatt Groening\nMatt Molloy\nMatt Mullican\nMatt Rhodes\nMatt Stewart\nMatt Wagner\nMatteo Civitale\nMatteo Pérez\nMatteo Rosselli\nMatteo di Giovanni\nMatthaus Merian the Younger\nMatthew Barney\nMatthew D Wilson\nMatthew D. Wilson\nMatthew Harris Jouett\nMatthew Paris\nMatthew Pratt\nMatthew Ridley Corbet\nMatthew Ritchie\nMatthew Smith\nMatthias Grunewald\nMatthias Grünewald\nMatthias Haker\nMatthias Jung\nMatthias Stom\nMatthias Stomer\nMatthias Weischer\nMatthias Withoos\nMatthieu Laurette\nMatthijs Maris\nMatthijs Naiveu\nMatthys Cock\nMatthys Naiveu\nMatti Suuronen\nMattia Preti\nMattias Adolfsson\nMattise\nMaud Earl\nMaud Lewis\nMaud Mary Mason\nMaud Naftel\nMaude Kaufman Eggemeyer\nMaurice Boitel\nMaurice Braun\nMaurice Denis\nMaurice Esteve\nMaurice Galbraith Cullen\nMaurice Leloir\nMaurice Prendergast\nMaurice Quentin de La Tour\nMaurice Reymond\nMaurice Sapiro\nMaurice Sendak\nMaurice Sterne\nMaurice Utrillo\nMaurice William Greiffenhagen\nMaurice de Vlaminck\nMauricio Lasansky\nMauritz FH de Haas\nMaurizio Cattelan\nMaurizio Nannucci\nMauro Antonio Tesi\nMauro Picenardi\nMaurycy Gottlieb\nMax Ackermann\nMax Beckmann\nMax Bedulenko\nMax Bill\nMax Burchartz\nMax Buri\nMax Dauthendey\nMax Dupain\nMax Ernst\nMax Fleischer\nMax Gubler\nMax Klinger\nMax Kuehne\nMax Liebermann\nMax Magnus Norman\nMax Meldrum\nMax Oppenheimer\nMax Pechstein\nMax Rive\nMax Slevogt\nMax Unold\nMax Walter Svanberg\nMax Weber\nMax Švabinský\nMaxfield Parrish\nMaxime Du Camp\nMaxime Lalanne\nMaxime Maufra\nMaximilian Cercha\nMaximilian Kurzweil\nMaximilian Lenz\nMaximilian Pfeiler\nMaximilian Pirner\nMaximilien Luce\nMaxwell Armfield\nMaxwell Bates\nMaxwell Gordon Lightfoot\nMay Lewis Close\nMay Louise Greville Cooksey\nMay Stevens\nMay de Montravel Edwardes\nMaya Lin\nMaynard Dixon\nMałgorzata Serwatka\nMcKendree Long\nMcKendree Robbins Long\nMead Schaeffer\nMedardo Rosso\nMeg Webster\nMeghan Howland\nMehmed Siyah-Kalem\nMei Qing\nMeindert Hobbema\nMel Bochner\nMel Chin\nMel Gerhold\nMel Kendrick\nMel Ramos\nMelbourne Hardwick\nMelchior Broederlam\nMelchior Lorck\nMelchior d'Hondecoeter\nMelchiore Caffa\nMelchiorre Barthel\nMeliore di Jacopo\nMelissa A Benson\nMelissa A. Benson\nMelissa Benson\nMelissa Launay\nMelissa Miller\nMelozzo da Forli\nMelozzo da Forlì\nMelville Holmes\nMelvin Edwards\nMelvin Lindquist Woodturner\nMelvin Sokolsky\nMenashe Kadishman\nMenez\nMeredith Dillman\nMeredith Frampton\nMeredith Garniss\nMeredith Marsone\nMeret OppenheimSwiss\nMerrill Mahaffey\nMerry-Joseph Blondel\nMervin Jules\nMeryl McMaster\nMeta Warrick Fuller\nMeyer Wolfe\nMi Fu\nMia Brownell\nMiao Fu\nMicah Lexier\nMicha Klein\nMichael  Kutsche\nMichael Aloysius Sarisky\nMichael Ancher\nMichael Andrews\nMichael Angelo Rooker\nMichael Asher\nMichael Ayrton\nMichael Bohme\nMichael Borremans\nMichael CarrollWriter\nMichael Carson\nMichael Cheval\nMichael Cho\nMichael Coleman\nMichael Craig-Martin\nMichael Creese\nMichael Cummings Textile\nMichael Dahl\nMichael David\nMichael DeForge\nMichael Deforge\nMichael Dennis\nMichael Eastman\nMichael Flohr\nMichael Ford\nMichael Garmash\nMichael Goldberg\nMichael Graves\nMichael Gustavius Payne\nMichael Heizer\nMichael Hussar\nMichael Hutter\nMichael James Smith\nMichael Joo\nMichael Kenna\nMichael Kidner\nMichael Komarck\nMichael Landy\nMichael Lenson\nMichael Leunig\nMichael Lucero\nMichael Lukas Leopold Willmann\nMichael Malm\nMichael Malpass\nMichael Martchenko\nMichael Mazur\nMichael McMillen\nMichael Nicolas-Bernard Lepicie\nMichael Osborne\nMichael Pacher\nMichael Page\nMichael Parkes\nMichael Ray Charles\nMichael Rothenstein\nMichael Shainblum\nMichael Shapcott\nMichael Shaughnessy\nMichael Singer\nMichael Sittow\nMichael Snow\nMichael Sowa\nMichael Sutfin\nMichael Sweerts\nMichael Thonet\nMichael Todd\nMichael Vincent Manalo\nMichael Wesely\nMichael Whelan\nMichael William KalutaGuatemalan\nMichael Wolgemut\nMichael Wutky\nMichael Zurn\nMichaelangelo\nMichal Karcz\nMichal Lisowski\nMichal Rovner\nMichalis Oikonomou\nMichał Karcz\nMichel Anguier\nMichel Colombe\nMichel De Caso\nMichel Delacroix\nMichel Erhardt\nMichel Francois\nMichel Garnier\nMichel Kikoine\nMichel Majerus\nMichel Sittow\nMichel Tapié\nMichel-Ange Houasse\nMichel-Francois Dandre-Bardon\nMichelangelo\nMichelangelo Anselmi\nMichelangelo Buonarotti\nMichelangelo Buonarroti\nMichelangelo Cerquozzi\nMichelangelo Merisi da Caravaggio\nMichelangelo Pistoletto\nMichelangelo Slodtz\nMichelangelo Unterberger\nMichele Desubleo\nMichele Felice Corne\nMichele Giambono\nMichele Giovanni Marieschi\nMichele Oka Doner\nMichele Pace\nMichele Pannonio\nMichele Rocca\nMichele Tosini\nMichele da Verona\nMichele di Matteo Lambertini\nMichelino da Besozzo\nMichelle Stuart\nMichelozzo di Bartolomeo\nMichiel Jansz Miereveld\nMichiel Jansz van Mierevelt\nMichiel Jansz. van Mierevelt\nMichiel Sweerts\nMichiel van Coxcie\nMichiel van Musscher\nMichio Ihara\nMickalene Thomas\nMierle Laderman Ukeles\nMiguel Angel Rios\nMiguel Covarrubias\nMiguel Ocampo\nMihaly Munkacsy\nMiho Hirano\nMihr Ali\nMihály Munkácsy\nMihály Zichy\nMikalojus Ciurlionis\nMikalojus Konstantinas Ciurlionis\nMikalojus Konstantinas Čiurlionis\nMike \"Beeple\" Winkelmann\nMike Allred\nMike Bierek\nMike Brown\nMike Cadwell\nMike Campau\nMike Dargas\nMike Deodato\nMike Judge\nMike Kelley\nMike Mayhew\nMike Mignola\nMike Ploog\nMike Sekowsky\nMike Wilkins\nMike Winkelmann\nMike Worrall\nMikhail Evstafiev\nMikhail Larionov\nMikhail Lebedev\nMikhail Nesterov\nMikhail Vasil'evich Nesterov\nMikhail Vrubel\nMikhail Yuryevich Lermontov\nMiki Asai\nMikko Lagerstedt\nMiklos Barabas\nMiklós Barabás\nMiklós Borsos\nMikoláš Aleš\nMildred Anne Butler\nMildred Eldridge\nMildred Jones\nMiles Aldridge\nMiles Evergood\nMiles Johnston\nMiles Walters\nMillard Sheets\nMillicent Sowerby\nMilne Ramsey\nMilo Manara\nMilton Avery\nMilton Caniff\nMilton Dacosta\nMilton Glaser\nMilton H Greene\nMilton Menasco\nMilton Resnick\nMilton W Hopkins\nMiltos Manetas\nMimmo Paladino\nMimmo Rotella\nMin Zhen\nMina Fonda Ochtman\nMinerva Chapman\nMinerva J Chapman\nMinerva J. Chapman\nMinerva Teichert\nMinjae Lee\nMinna Wright Citron\nMinnie Evans\nMinnie Lois Murphy\nMino Maccari\nMino Rosso\nMino da Fiesole\nMinor White\nMiquel Barcelo\nMirabello Cavalori\nMiriam Schapiro\nMirko Basaldella\nMirko Racki\nMirko Rački\nMiroslav Tichý\nMiroslava Sviridova\nMiroslaw Balka\nMisch Kohn\nMisha Gordin\nMiss Aniela\nMitch Griffiths\nMitchell Jamieson\nMitchell Johnson\nMitsushige\nMitsuyoshi Tosa\nMiwa Komatsu\nMiyagawa Choshun\nMiyagawa Chōshun\nMiyagawa Issho\nMiyagawa Isshō\nMiyagawa Shunsui\nMiyamoto\nMiyamoto Musashi\nMiyazaki\nModerno\nModest Urgell\nMoebius\nMogens Andersen\nMoise Kisling\nMollie Forestier-Walker\nMolly Luce\nMona Hatoum\nMona HatoumPalestinian\nMona Moore\nMondrian\nMonet\nMonia Merlo\nMonica Bonvicini\nMonsù Desiderio\nMontague Dawson\nMontardier\nMoosa Al Halyan\nMor Than\nMorazzone\nMordecai Ardon\nMoretto da Brescia\nMorgan Russell\nMori Sosen\nMori Yoshitoshi\nMorino Hiroaki\nMoritz Daniel Oppenheim\nMoritz Von Schwind\nMorris Graves\nMorris Hirshfield\nMorris Kantor\nMorris Kestelman\nMorris Louis\nMorris Louis Bernstein\nMorris Topchevsky\nMort Künstler\nMortimer Menpes\nMorton Livingston Schamberg\nMose Bianchi\nMoses Soyer\nMoses van Uyttenbroeck\nMoshe Gershuni\nMoshe Kupferman\nMoshe Safdie\nMoyoco Anno\nMoïse Kisling\nMr Doodle\nMstislav Dobuzhinsky\nMu Xi\nMuggur\nMuhammad Mahdi\nMuirhead Bone\nMunakata Shiko\nMunakata Shikō\nMunch\nMuqi\nMurakami\nMuriel Brandt\nMurray Tinkelman\nMustafa Rakim\nMwama KitiTanzanian\nMykhailo Chereshnovsky\nMykola Burachek\nMyles Birket Foster\nMyles Murphy\nMym Tuma\nMyra Biggerstaff\nMyra Landau\nMyron\nMyroslava Sviridova\nMário Eloy\nMárta Lacza\nMéret Oppenheim\nMór Adler\nMór Than\nMārtiņš Krūmiņš\nMœbius\nN C Wyeth\nN. C. Wyeth\nN.C. Wyeth\nNC Wyeth\nND Stevenson\nNEVERCREW\nNabil Kanso\nNacho Carbonell\nNadav Kander\nNadezhda Andreevna Udaltsova\nNadia Benois\nNadim Karam\nNadir Afonso\nNadya Rusheva\nNagasawa Rosetsu\nNaito Toyomasa\nNaka Bokunen\nNakahara Nantenbo\nNakahara Nantenbō\nNakai Yoshitaki\nNam Gye-u\nNam June Paik\nNam June PaikKorean Video\nNampeyo\nNan Goldin\nNan Greacen\nNan Lurie\nNancy Burson\nNancy Carline\nNancy Dwyer\nNancy Dyer\nNancy EricksonTextile\nNancy Glazier\nNancy Graves\nNancy Grossman\nNancy Holt\nNancy Mitchnick\nNancy Reddin Kienholz\nNancy Spero\nNancy Stahl\nNandor Katona\nNanni di Banco\nNanni di Bartolo\nNaoki Urasawa\nNaoko Takeuchi\nNaomi Okubo\nNaomi Tydeman\nNaondo Nakamura\nNaoto Hattori\nNapoleon Sarony\nNara Yoshitomo\nNarashige Koide\nNarayan Shridhar Bendre\nNarcisse-Virgile Diaz de la Pena\nNardo di Cione\nNassos Daphnis\nNatalia Drepina\nNatalia Goncharova\nNatalie Shau\nNatan Altman\nNatasha Tan\nNathalie Rattner\nNathan Coley\nNathan Oliveira\nNathan Spoor\nNathan Wirth\nNathan Wyburn\nNathaniel Grogan\nNathaniel Hone\nNathaniel Jocelyn\nNathaniel Pousette-Dart\nNatori Shunsen\nNaum Gabo\nNaza\nNazmi Ziya Güran\nNdoc Martini\nNeal Adams\nNed M Seidler\nNed M. Seidler\nNedko SolakovBulgarian\nNehemiah Partridge\nNeil Blevins\nNeil Boyle\nNeil Gaiman\nNeil Jenney\nNeil Welliver\nNeil Williams\nNektarii Kuliuksin\nNele Zirnite\nNell Blaine\nNell Choate Jones\nNell Choate Shute\nNell Dorr\nNelleke Pieters\nNelly Littlehale Murphy\nNelson Alexander Ross\nNemesio Antunez\nNene Thomas\nNeo Rauch\nNeri di Bicci\nNeroccio\nNevin Çokay\nNeysa McMein\nNi Duan\nNi Tian\nNi Yuanlu\nNi Zan\nNic Nicosia\nNiccolo Boldrini\nNiccolo Circignani\nNiccolo Dell'Arca\nNiccolo Fiorentino\nNiccolo Frangipane\nNiccolo Roccatagliata\nNiccolo Tribolo\nNiccolo d'Angelo\nNiccolo dell'Abbate\nNiccolo di Buonaccorso\nNiccolo di Liberatore\nNiccolo di Pietro Gerini\nNiccolo di Ser Sozzo Tegliacci\nNiccolò dell' Abbate\nNicholas Alden Brooks\nNicholas Amantea\nNicholas Busciglio\nNicholas Hely Hutchinson\nNicholas Hilliard\nNicholas Hughes\nNicholas Krushenick\nNicholas Marsicano\nNicholas Nixon\nNicholas Pocock\nNicholas Roerich\nNicholas S CammillieriMaltese\nNicholas Stone\nNicholas Thomas Dall\nNicholas Winfield Scott Leighton\nNicholas de Grandmaison\nNicholas de Stael\nNick Alm\nNick Fudge\nNick Gentry\nNick Knight\nNick Veasey\nNick Walker\nNickolas Muray\nNiclas Lafrensen\nNiclaus of Haguenau\nNicodemo da Guardiagrele\nNicola Malinconico\nNicola Pisano\nNicola Salvi\nNicola Samori\nNicola da Urbino\nNicola di Maestro Antonio d'Ancona\nNicolae Grigorescu\nNicolaes Berchem\nNicolaes Eliasz Pickenoy\nNicolaes Eliaszoon Pickenoy\nNicolaes Lachtropius\nNicolaes Maes\nNicolaes Pieterszoon Berchem\nNicolaes van Veerendael\nNicolaes van Verendael\nNicolai Abildgaard\nNicolai Fechin\nNicolas Bertin\nNicolas Bruno\nNicolas Cammillieri\nNicolas Carone\nNicolas Chaperon\nNicolas Chevalier\nNicolas Cordier\nNicolas Coustou\nNicolas Delort\nNicolas Dipre\nNicolas Frances\nNicolas Froment\nNicolas Lancret\nNicolas Mignard\nNicolas NeufchatelGerman\nNicolas Poussin\nNicolas Rebille\nNicolas Regnier\nNicolas Tournier\nNicolas Toussaint Charlet\nNicolas de Largilliere\nNicolas de Stael\nNicolas de Staël\nNicolas-Antoine Taunay\nNicolas-Guy Brenet\nNicolas-Rene Jollain\nNicolas-Sebastien Adam\nNicolas-Toussaint Charlet\nNicolaus\nNicolaus Gerhaert\nNicolaus Knupfer\nNicolaus Kremer\nNicolaus Wirt von Wil\nNicole Eisenman\nNicoletta Ceccoli\nNicolette Macnamara\nNicolo\nNicolo da Bologna\nNicolo de Bonis\nNicolo di Pietro\nNicomachus of Thebes\nNiele Toroni\nNiels Lergaard\nNigel Hall\nNigel Henderson\nNigel van Wieck\nNike Savvas\nNiki de Saint-Phalle\nNikifor Krylov\nNikita Veprikov\nNiklaus Manuel\nNiko Henrichon\nNikola Avramov\nNikolai Alekseyevich Kasatkin\nNikolai Astrup\nNikolai Dmitrievich Kuznetsov\nNikolai Ge\nNikolai Lockertsen\nNikolai Yaroshenko\nNikolaj Abraham Abildgaard\nNikolaus Gottfried Stuber\nNikolay Gay\nNikolay Makovsky\nNikolay Nikanorovich Dubovskoy\nNikolina Petolas\nNil Gleyen\nNiles Spencer\nNils Hamm\nNils von Dardel\nNina Hamnett\nNina Leen\nNina Petrovna Valetova\nNina Valetova\nNingeeuga Oshuitoq\nNino Franchina\nNino Pisano\nNishida Shun'ei\nNishikawa Sukenobu\nNishimura Shigenaga\nNison Tregor\nNiyazi Selimoglu\nNjideka Akunyili Crosby\nNoah Bradley\nNoami\nNobuo Sekine\nNobuyoshi Araki\nNoe Canjura\nNoel Counihan\nNoel Coypel\nNoel Halle\nNoel Le Mire\nNoell Oszvald\nNora Cundell\nNora Heysen\nNorah McGuinness\nNorah Neilson Gray\nNorbert Goeneutte\nNoriyoshi Ohrai\nNorm Rapmund\nNorma Bull\nNorman Ackroyd\nNorman Bel Geddes\nNorman Blamey\nNorman Bluhm\nNorman Cornish\nNorman Foster\nNorman Garstin\nNorman Hepple\nNorman Lewis\nNorman Lindsay\nNorman Parkinson\nNorman Rockwell\nNorman Saunders\nNormand Baker\nNorris Embry\nNorval Morrisseau\nNoémi Ferenczy\nNuno Goncalves\nNuno Gonçalves\nNusch Éluard\nNyuju Stumpy Brown\nNándor Katona\nNína Tryggvadóttir\nNōami\nO Louis GuglielmiEgyptian\nO Winston Link\nO'Keeffe\nOSGEMEOS\nOctave Tassaert\nOctavio Ocampo\nOda Kazuma\nOdd Nerdrum\nOdhise Paskali\nOdilon Redon\nOgata Gekko\nOgata Gekkō\nOgata Kenzan\nOgata Korin\nOgata Kōrin\nOgden Pleissner\nOhara Koson\nOhara Shoson\nOiva Toikkamaker\nOka Yasutomo\nOkada Beisanjin\nOkada Hanko\nOkamoto Taro\nOkamoto Tarō\nOkiie Hashimoto\nOkuda Genso\nOkuda Gensō\nOkuda San Miguel\nOkumura Masanobu\nOkumura Togyu\nOlaf Breuning\nOlaf Gulbransson\nOlaf Nicolai\nOlaf Rude\nOlafur Eliasson\nOlafur EliassonDanishIcelandic\nOlav Christopher Jenssen\nOldermann\nOle Peter Hansen Balling\nOleg Korolev\nOleg Lipchenko\nOleg Oprisco\nOleg Shuplyak\nOleksandr Bogomazov\nOlga Boznanska\nOlga Boznańska\nOlga Costa\nOlga Rozanova\nOlha Darchuk\nOlin Levi Warner\nOlive Beem\nOlive Cotton\nOlive Mudie-Cooke\nOlive Parker Black\nOlive Rush\nOliver Jeffers\nOliver Phelps Smith\nOliver Sin\nOliver Wetter\nOlivia DeBerardinis\nOlivia Locher\nOlivia Peguero\nOlivia de Berardinis\nOlivier Bonhomme\nOlivier Ledroit\nOlivier Mosset\nOlivier Valsecchi\nOliviero Toscani\nOlivo Barbieri\nOlowe of Ise\nOltos\nOluf Høst\nOmar Galliani\nOmar RayoColombian\nOn Kawara\nOnorio Marinari\nOrazio Borgianni\nOrazio Gentileschi\nOrazio Marinali\nOrazio Samacchini\nOrazio de Ferrari\nOrest Kiprensky\nOrovida Camille Pissarro\nOrshi Drozdik\nOrso\nOrtolano Ferrarese\nOsai\nOsamu Tezuka\nOscar Bluemner\nOscar Bluhm\nOscar Dominguez\nOscar Edmund Berninghaus\nOscar Gallo\nOscar Gustave Rejlander\nOscar Howe\nOscar Niemeyer\nOscar Rodríguez Naranjo\nOsias Beert the Elder\nOskar Fischinger\nOskar Kokoschka\nOskar Lüthy\nOskar Schlemmer\nOsman Hamdi Bey\nOssip Zadkine\nOsvaldo Licini\nOsvaldo Romberg\nOswald Achenbach\nOswald Birley\nOswaldo Guayasamin\nOswaldo Guayasamín\nOswaldo Viteri\nOszkar Tordai Schilling\nOta Bubenícek\nOta Bubeníček\nOtakar Kubín\nOtakar Sedlon\nOtakar Sedloň\nOtake Chikuha\nOthon Friesz\nOtis Kaye\nOtis Oldfield\nOtmar Alt\nOtomo Katsuhiro\nOton Gliha\nOton Ivekovic\nOton Iveković\nOttavio Leoni\nOttavio Miseroni\nOttilie Maclaren Wallace\nOtto Abt\nOtto Dix\nOtto Eckmann\nOtto Freundlich\nOtto Frölicher\nOtto Henry Bacher\nOtto Jacobi\nOtto Karl Kirberg\nOtto Lange\nOtto Marseus van Schrieck\nOtto Meyer-Amden\nOtto Modersohn\nOtto Morach\nOtto Mueller\nOtto Müller\nOtto Natzler\nOtto Piene\nOtto Pilny\nOtto Placht\nOtto Prutscher\nOtto Scholderer\nOtto Stark\nOtto Wagner\nOtto van Veen\nOttone Rosai\nOttó Baditz\nOviloo Tunnillie\nOwen Jones\nOyvind Fahlstrom\nOzias Humphrey\nOzias Leduc\nP.C. Skovgaard\nPC Skovgaard\nPJ Crook\nPablita Velarde\nPablo Amaringo\nPablo Burchard\nPablo Carpio\nPablo Gargallo\nPablo Munoz Gomez\nPablo O'Higgins\nPablo Palazuelo\nPablo Picasso\nPablo Rey\nPablo Runyan\nPablo de San LeocadioSpanish\nPacecco de Rosa\nPacino di Bonaguida\nPacita Abad\nPadovanino\nPae White\nPal Szinyei Merse\nPalamedes Palamedesz\nPalma Giovane\nPalma Vecchio\nPalmer Hayden\nPam Hall\nPam Hawkes\nPamela Ascherson\nPamela Bianco\nPamela Coleman Smith\nPamela Colman Smith\nPamela Drew\nPamphaios\nPamphilus\nPan Tianshou\nPan Yuliang\nPanamarenko\nPancho V\nPanfilo Nuvolone\nPang Tao\nPang Xunqin\nPaolo Boni\nPaolo Farinati\nPaolo Fiammingo\nPaolo Monaldi\nPaolo Moraldo\nPaolo Parente\nPaolo Romano\nPaolo Roversi\nPaolo Soleri\nPaolo Uccello\nPaolo Veneziano\nPaolo Veronese\nPaolo de' Matteis\nPaolo di Giovanni Fei\nParaskeva Clark\nParis Bordone\nParmigianino\nParr\nParrasio Micheli\nParri Spinelli\nPascal Blanché\nPascal Dagnan-Bouveret\nPascal-Adolphe-Jean Dagnan-Bouveret\nPascale Campion\nPat Adams\nPat Oliphant\nPat Steir\nPaterson Ewen\nPatrice Murciano\nPatricia Piccinini\nPatricia Polacco\nPatrick Adam\nPatrick Brown\nPatrick Caulfield\nPatrick Ching\nPatrick Demarchelier\nPatrick Dougherty\nPatrick Hall\nPatrick Henry Bruce\nPatrick Heron\nPatrick Hughes\nPatrick Kelly\nPatrick Luber\nPatrick MacDowell\nPatrick McHale\nPatrick Nagel\nPatrick Nasmyth\nPatrick Pietropoli\nPatrick Pye\nPatrick Rowan Assemblage\nPatrick Woodroffe\nPatrick Zentz\nPatty Maher\nPaul Barson\nPaul Baudry\nPaul Binnie\nPaul Bird\nPaul Bodmer\nPaul Bonner\nPaul Bowden\nPaul Bril\nPaul Cadmus\nPaul Caponigro\nPaul Caron\nPaul Catherall\nPaul Cezanne\nPaul Chabas\nPaul Chan\nPaul Chenavard\nPaul Corfield\nPaul Cornoyer\nPaul Cézanne\nPaul Davis\nPaul Delaroche\nPaul Delvaux\nPaul Desire Trouillebert\nPaul Dirmeikis\nPaul Dougherty\nPaul Dubois\nPaul Emmert\nPaul Falconer Poole\nPaul Feeley\nPaul Finnegan\nPaul Fischer\nPaul Fusco\nPaul Gauguin\nPaul Gavarni\nPaul Georges\nPaul Goble\nPaul Graham\nPaul Guigou\nPaul Gustav Fischer\nPaul Gustave Fischer\nPaul Hambleton Landacre\nPaul Harvey\nPaul Hedley\nPaul Helleu\nPaul Henry\nPaul Howard Manship\nPaul Huet\nPaul Jacob Naftel\nPaul JacouletJapanese\nPaul Jamin\nPaul Jenkins\nPaul Kane\nPaul KaneCanadian\nPaul Kelpe\nPaul Klee\nPaul Lacroix\nPaul Laffoley\nPaul Lehr\nPaul Liegeois\nPaul Limbourg\nPaul Lohse\nPaul Lovering\nPaul Lucien Dessau\nPaul Maitland\nPaul Manship\nPaul Matisse\nPaul Mavrides\nPaul McCarthy\nPaul Meltsner\nPaul Monnier\nPaul Mosselmann\nPaul Nash\nPaul Otero\nPaul Outerbridge\nPaul Parsons\nPaul Peel\nPaul Pelletier\nPaul Pfeiffer\nPaul Poiret\nPaul Rader\nPaul Rand\nPaul Ranson\nPaul Resika\nPaul Revere\nPaul Rudolph\nPaul Sandby\nPaul Sandby Munn\nPaul Seignac\nPaul Serusier\nPaul Sierra\nPaul Signac\nPaul Soldner\nPaul Starrett Sample\nPaul Steck\nPaul Storr\nPaul Strand\nPaul Sérusier\nPaul Troger\nPaul Troubetzkoy\nPaul Van Somer\nPaul Voss\nPaul Wayland Bartlett\nPaul Weber\nPaul Weller\nPaul Wonner\nPaul Wunderlich\nPaul Youll\nPaul de Lamerie\nPaul de Longpre\nPaul de Vos\nPaul Émile Chabas\nPaul-Albert Bartholome\nPaul-Albert Besnard\nPaul-Ambroise Slodtz\nPaul-Camille Guigou\nPaul-Emile Borduas\nPaul-Nicolas Meniere\nPaul-Prosper Tillier\nPaul-Émile Borduas\nPaula Modersohn-Becker\nPaula Rego\nPaula Scher\nPaulin Jenot\nPauline Bliss Williams\nPaulus\nPaulus Constantijn LaFargue\nPaulus Decker\nPaulus Moreelse\nPaulus Pontius\nPaulus Potter\nPauta Saila\nPavel Fedotov\nPavel Filonov\nPavel Korin\nPavel Kuznetsov\nPavel Petrovich Svinin\nPavel Tchelitchew\nPawel Althamer\nPawel Kluza\nPawel Kuczynski\nPaweł Kluza\nPearl Frush\nPeder Als\nPeder Balke\nPeder Mork Monsted\nPeder Severin KroyerDanish\nPeder Severin Krøyer\nPedro Alexandrino Borges\nPedro Bell\nPedro Berruguete\nPedro Cabrita Reis\nPedro Figari\nPedro FigariUruguayan\nPedro Friedeberg\nPedro Lira\nPedro Machuca\nPedro Nunez de Villavicencio\nPedro Nunez del Valle\nPedro Orrente\nPedro Pedraja\nPedro Pruna\nPedro Sanchez\nPedro de Bolduque\nPedro de CampanaSpanish\nPedro de Mena\nPedro Álvarez Castelló\nPeeter Neeffs I\nPeggy Angus\nPeggy Bacon\nPeggy Diggs\nPegi Nicol MacLeod\nPelagio Palagi\nPellegrino Tibaldi\nPendleton Ward\nPenelope Beaton\nPenelope Rosemont\nPenleigh Boyd\nPenny Patricia Poppycock\nPenny Rimbaud\nPenrhyn Stanlaws\nPenry Williams\nPensionante del Saraceni\nPepon Osorio\nPer Hasselberg\nPer Kirkeby\nPer Krohg\nPercy Tarrant\nPercy W Gibbs\nPeregrine Heathcote\nPericle Fazzini\nPerin del Vaga\nPerino del Vaga\nPerle Fine\nPerry Rhodan\nPersis Goodale Thurston Taylor\nPesellino\nPetah Coyne\nPete Morhbacher\nPete Turner\nPete Venters\nPeter Alexander\nPeter Alexander Hay\nPeter Andrew Jones\nPeter Angellis\nPeter Bagge\nPeter Basch\nPeter Baumgartner\nPeter Behrens\nPeter Bell\nPeter Benjamin Graham\nPeter Birmann\nPeter Blake\nPeter Blume\nPeter Brandes\nPeter Brook\nPeter Campus Video\nPeter Chung\nPeter Churcher\nPeter Coker\nPeter Coulson\nPeter Cross\nPeter Croy\nPeter Doig\nPeter Eisenman\nPeter Elson\nPeter Faes\nPeter Fendi\nPeter Fiore\nPeter Fischli Video\nPeter Frederick Rothermel\nPeter Friedl\nPeter Graham\nPeter Greenham\nPeter Gric\nPeter Grippe\nPeter Halley\nPeter Helck\nPeter Henry Emerson\nPeter Holme III\nPeter Howson\nPeter Hurd\nPeter John Van Reysschoot\nPeter Kemp\nPeter Kinley\nPeter Koellin\nPeter La Cave\nPeter Lanyon\nPeter Lely\nPeter Lindbergh\nPeter Lippmann\nPeter Madsen\nPeter Max\nPeter Maxwell Ewart\nPeter McArdle\nPeter Michael\nPeter Milligan\nPeter Mitchev\nPeter Mohrbacher\nPeter Monamy\nPeter Parler\nPeter Paul Benazech\nPeter Paul Rubens\nPeter Pelham\nPeter Phillips\nPeter Prendergast\nPeter Randall-Page\nPeter Reginato\nPeter Rindisbacher\nPeter Rockwell\nPeter Rushton Maverick\nPeter S Pezzati\nPeter S. Pezzati\nPeter Saville\nPeter Scott\nPeter Sculthorpe\nPeter Sedgley\nPeter SekaerDanish\nPeter Shelton\nPeter Smeeth\nPeter Snow\nPeter Stephenson\nPeter Strub the Younger\nPeter Takal\nPeter Tillemans\nPeter Vischer the Elder\nPeter Vischer the Younger\nPeter Voulkos\nPeter Walkley\nPeter WeibelAustrian Video\nPeter Wells\nPeter Wileman\nPeter Winchell Sager\nPeter Wtewael\nPeter Zumthor\nPeter de Francia\nPeter de Seve\nPeter de Sève\nPeter de Wint\nPeter de Witte\nPeter von Cornelius\nPetr Brandl\nPetra Cortright\nPetrina Hicks\nPetros Afshar\nPetrus Christus\nPetrus Van der Velden\nPhebe A Smith\nPhiale\nPhidias\nPhil Foglio\nPhil Jimenez\nPhil Koch\nPhil May\nPhil Noto\nPhilibert Perraud\nPhilibert-Leon Couturier\nPhilip Absolon\nPhilip Alexius de Laszlo\nPhilip Connard\nPhilip Curtis\nPhilip Evergood\nPhilip Galle\nPhilip Grausman\nPhilip Guston\nPhilip Hermogenes Calderon\nPhilip Johnson\nPhilip Larson\nPhilip Leslie Hale\nPhilip Maliavin\nPhilip McKay\nPhilip Mercier\nPhilip Pearlstein\nPhilip R Goodwin\nPhilip Reinagle\nPhilip Reisman\nPhilip Richard Morris\nPhilip Taaffe\nPhilip Treacy\nPhilip Webb\nPhilip Wilson Steer\nPhilip de Koninck\nPhilip de László\nPhilip van Kouwenbergh\nPhilip-Lorca diCorcia\nPhilipp Otto Runge\nPhilipp Peter Roos\nPhilipp Urlich\nPhilipp Veit\nPhilippe Buchet\nPhilippe Caza\nPhilippe Druillet\nPhilippe Grass\nPhilippe Halsman\nPhilippe Jacques de Loutherbourg\nPhilippe Joseph Tassaert\nPhilippe Magnier\nPhilippe Otto Runge\nPhilippe Parreno\nPhilippe ParrenoAlgerian\nPhilippe Rousseau\nPhilippe de Champaigne\nPhilippe-Auguste Hennequin\nPhilippe-Augustin Immenraet\nPhilippe-Laurent Roland\nPhilips Koninck\nPhilips Wouwerman\nPhillip KingTunisian\nPhillip Otto Runge\nPhillip Peter Price\nPhoebe Anna Traquair\nPhoebe Davis Natt\nPhyllida Barlow\nPhyllis Bone\nPhyllis Bray\nPhyllis Ginger\nPhyllis Wiener\nPia Fries\nPia Stadtbaumer\nPiat-Joseph Sauvage\nPicasso\nPier Francesco Bissolo\nPier Francesco Fiorentino\nPier Francesco Mola\nPier Francesco Sacchi\nPier Leone Ghezzi\nPier Paolo Calzolari\nPierce Brosnan\nPierfrancesco Foschi\nPierino da Vinci\nPiero Dorazio\nPiero Gilardi\nPiero Manzoni\nPiero Pollaiolo\nPiero della Francesca\nPiero di Cosimo\nPiero di Niccolo Lamberti\nPierre Adolphe Valette\nPierre Alechinsky\nPierre Andrieu\nPierre Auguste Cot\nPierre Biard\nPierre Bismuth\nPierre Bonnard\nPierre Bonnaud\nPierre Bontemps\nPierre Brebiette\nPierre Brissaud\nPierre Cartellier\nPierre Dubreuil\nPierre Dumonstier\nPierre Etienne Monnot\nPierre Francois Basan\nPierre Huyghe\nPierre Huyghe Video\nPierre Jean David d'Angers\nPierre Jean van der Ouderaa\nPierre Joseph Redoute\nPierre Julien\nPierre Lacour\nPierre Laffillé\nPierre Le Gros I\nPierre Le Gros II\nPierre Lepautre\nPierre Louis Dumesnil the Younger\nPierre Mignard\nPierre Mion\nPierre Nicolas Huilliot\nPierre Pasquier\nPierre Patel\nPierre Pellegrini\nPierre Petit\nPierre Peyron\nPierre Puget\nPierre Puvis de Chavannes\nPierre Reymond\nPierre Roche\nPierre Roland Renoir\nPierre Roy\nPierre Soulages\nPierre Subleyras\nPierre Tal-Coat\nPierre Toutain-Dorbec\nPierre de Belay\nPierre et Gilless\nPierre-Alexandre Wille\nPierre-Antoine Baudouin\nPierre-Athanase Chauvin\nPierre-Auguste Cot\nPierre-Auguste Renoir\nPierre-Etienne Falconet\nPierre-Eugene Montezin\nPierre-Eugene-Emile Hebert\nPierre-Felix Fix-Masseau\nPierre-Georges Jeanniot\nPierre-Henri Revoil\nPierre-Henri de Valenciennes\nPierre-Jacques Cazes\nPierre-Jacques Volaire\nPierre-Joseph Redouté\nPierre-Jules Mene\nPierre-Louis Pierson\nPierre-Mony Chan\nPierre-Narcisse Guerin\nPierre-Nolasque Bergeret\nPierre-Paul Prud'hon\nPierre-Paul-Leon Glaize\nPierre-Philippe Thomire\nPiet Hein Eek\nPiet Mondrian\nPieter Aertsen\nPieter Anthonisz van Groenewegen\nPieter Anthonisz. van Groenewegen\nPieter Boel\nPieter Bruegel\nPieter Bruegel the Elder\nPieter Bruegel the Younger\nPieter Brueghel the Younger\nPieter Claeissens I\nPieter Claesz\nPieter Codde\nPieter Coecke van Aelst\nPieter Cornelisz Kunst\nPieter Cornelisz van Slingelandt\nPieter Duyfhuysen\nPieter Franciscus Dierckx\nPieter Gerardus van Os\nPieter Gysels\nPieter Hugo\nPieter Huys\nPieter Janssens Elinga\nPieter Jansz Quast\nPieter Jansz Saenredam\nPieter Jansz van Asch\nPieter Lastman\nPieter Mulier\nPieter Mulier II\nPieter Mulier the Elder\nPieter Nason\nPieter Pietersz the Elder\nPieter Pietersz the Younger\nPieter Pourbus\nPieter Snayers\nPieter Soutman\nPieter Van Der Borcht\nPieter Vanderlyn\nPieter Verbeeck\nPieter de Bloot\nPieter de Grebber\nPieter de Hooch\nPieter de Molyn\nPieter de Ring\nPieter van Anraadt\nPieter van Anraedt\nPieter van Bloemen\nPieter van Der Heyden\nPieter van Laer\nPieter van Lint\nPieter van den Bosch\nPieter van der Plas\nPieter van der Werff\nPieter-Jansz van Asch\nPietro Annigoni\nPietro Antonio Novelli\nPietro Antonio Rotari\nPietro Bernini\nPietro Bracci\nPietro Cavallini\nPietro Consagra\nPietro Fabris\nPietro Faccini\nPietro Fancelli\nPietro Francavilla\nPietro Gonzaga\nPietro Liberi\nPietro Lombardo\nPietro Longhi\nPietro Lorenzetti\nPietro Marescalca\nPietro Mazzinghi\nPietro Novelli\nPietro Paolini\nPietro Perugino\nPietro Rotari\nPietro Tacca\nPietro Tenerani\nPietro Testa\nPietro Torrigiano\nPietro Vassalletto\nPietro da Cortona\nPietro da Rho\nPietro da Rimini\nPietro degli Ingannati\nPietro della Vecchia\nPietro di Giovanni d'Ambrogio\nPinchus Kremegne\nPinckney Marcius-Simons\nPino Daeni\nPino Pascali\nPinturicchio\nPiotr Michalowski\nPiotr Michałowski\nPiotr Uklanski\nPipilotti Rist\nPipilotti Rist Video\nPiranesi\nPirro Ligorio\nPisanello\nPitseolak Ashoona\nPixar\nPlacido Costanzi\nPogus Caesar\nPol Bury\nPol Ledent\nPolidoro Lanzani\nPolidoro da Caravaggio\nPolixeni Papapetrou\nPollock\nPolly Norman\nPolygnotos\nPolykleitos\nPompeo Batoni\nPompeo Leoni\nPonce Jacquiot\nPontormo\nPop' Hart\nPorfirio DiDonna\nPosuka Demizu\nPrateep Kochabua\nPraxiteles\nPreben Hornung\nPrentiss Taylor\nPreston Dickinson\nPrimrose Pitman\nPrince Hoare\nPrince Rupert\nProfessor Henry Lewis\nProperzia de Rossi\nProsper Marilhat\nProsper d'Epinay\nProspero Fontana\nPrudence Heward\nPruett Carter\nPrunella Clough\nPu Hua\nPuccio Capanna\nPuccio di Simone\nPudlo Pudlat\nPuru\nPyotr Konchalovsky\nPál Balkay\nPál Böhm\nPál Szinyei Merse\nQ Hayashida\nQi Baishi\nQian Du\nQian Gu\nQian Juntao\nQian Songyan\nQian Xuan\nQiu Shengxian\nQiu Ti\nQiu Ying\nQu Ding\nQu Leilei\nQuan Shanshi\nQuentin Blake\nQuentin Massys\nQuentin Matsys\nQuentin Varin\nQuint Buchholz\nQuinton Hoover\nQuirijn van Brekelenkam\nQuirizio di Giovanni da Murano\nR B Kitaj\nR Kenton Nelson\nR R McIan\nR. B. Kitaj\nR. R. McIan\nR.O. Blechman\nRB Kitaj\nRC Gorman\nRH Ives Gammell\nRHADS\nRO Blechman\nROA\nRW Curtis\nRachel Maclean\nRachel Reckitt\nRachel Ruysch\nRachel Whiteread\nRackstraw Downes\nRaden Sarief Bastaman SalehJavanese\nRadi Nedelchev\nRae Perlin\nRae Sloan Bredin\nRafael Albuquerque\nRafael BarradasUruguayan\nRafael FerrerPuerto Rican\nRafael Ritz\nRafael Ximeno y Planes\nRafael Zabaleta\nRafail Levitsky\nRafal Olbinski\nRaffaele Giannetti\nRaffaellino del Garbo\nRaffeaello Ossola\nRagnar Kjartansson\nRaimonds Staprans\nRaimundo de Madrazo y Garreta\nRaina Telgemeier\nRainer Fetting\nRainer Maria Latzke\nRainey Bennett\nRaja Ravi Varma\nRajesh Soni\nRajmund Kanelba\nRakkaken Yoshiyuki\nRalph Albert Blakelock\nRalph Bakshi\nRalph Blakelock\nRalph Burke Tyree\nRalph E DeCamp\nRalph Earl\nRalph Eleaser Whiteside Earl\nRalph Eugene Meatyard\nRalph Gibson\nRalph Goings\nRalph Helmick\nRalph Horsley\nRalph Humphrey\nRalph McQuarrie\nRalph Peacock\nRalph Rumney\nRalph Steadman\nRalph Steiner\nRalston Crawford\nRam Chandra Shukla\nRamon Bayeu\nRamon Cano Manilla\nRamon Casas\nRamon Casas i Carbó\nRamon Pichot\nRamsay Richard Reinagle\nRamses Younan\nRamón Piaguaje\nRamón Silva\nRandal Spangler\nRandall Lake\nRandall Schmit\nRandolph Caldecott\nRandolph Rogers\nRandolph Schwabe\nRandolph Stanley Hewton\nRandy Gallegos\nRandy Post\nRandy Vargas\nRange Murata\nRaoul De Keyser\nRaoul Dufy\nRaoul Hausmann\nRaoul Ubac\nRaphael\nRaphael Collazo\nRaphael Kirchner\nRaphael Lacoste\nRaphael Soyer\nRaphaelle Peale\nRaphaël Collin\nRas Akyem\nRashad Alakbarov\nRasmus Christiansen\nRaul Anguiano\nRavi Zupa\nRavinder Reddy\nRay Bertrand\nRay Caesar\nRay Collins\nRay Crooke\nRay Donley\nRay Eames\nRay George\nRay Harris-ChingNew Zealand\nRay Howard-Jones\nRay Knaub\nRay Mackie\nRay Metzker\nRay Parker\nRay Schultze\nRaymond Briggs\nRaymond Coxon\nRaymond Duchamp-Villon\nRaymond Hains\nRaymond Han\nRaymond Hood\nRaymond Johnson\nRaymond Jonson\nRaymond Leech\nRaymond Mason\nRaymond Monvoisin\nRaymond Normand\nRaymond Pettibon\nRaymond Saunders\nRaymond Steth\nRaymond Swanland\nRaymond Teague Cowern\nRaymond Yelland\nRaynald Leclerc\nRaúl Martínez\nRebeca Saray\nRebecca Guay\nRebecca Horn\nRebecca Louise Law\nRebecca Salsbury James\nRebecca Solomon\nRebecca Sugar\nRebecca Warren\nRed Grooms\nRedmond Stephens Wright\nRedpath\nReemy Zaugg\nReg Butler\nRegina Valluzzi\nReginald Grenville Eves\nReginald Marsh\nReginald Richard Redford\nReginald Shepherd\nRegis-Francois Gignoux\nRei Kamoi\nReinhard Mucha\nReinier Nooms\nRelja Penezic\nRembrandt\nRembrandt Bugatti\nRembrandt Peale\nRembrandt van Rijn\nRemedios Varo\nRemigio Cantagallina\nRemigius van Leemput\nRemo Salvadori\nRen Bonian\nRen Hang\nRen Renfa\nRen Xiong\nRen Xun\nRen Yi\nRenato Birolli\nRenato Guttuso\nRene Auberjonois\nRene Burri\nRene Daniels\nRene Derouin\nRene Fremin\nRene Laliquemaker\nRene Magritte\nRenee Green\nRenee Sintenis\nRenee Stout\nRenie Britenbucher\nRenoir\nRenzo Piano\nRenzo Vespignani\nRené Auberjonois\nRené Burri\nRené Lalique\nRené Laloux\nRené Magritte\nReuben Moulthrop\nReuben Nakian\nReuben Rowley\nReuben Tam\nReuven Rubin\nRev Richard Hume Lancaster\nRev William Gilpin\nRev William Henry Barnard\nReylia Slaby\nReynolds Beal\nRezso Bálint\nRezső Bálint\nRhea Carmi\nRhoda Holmes Nicholls\nRhona Bitner\nRiad Beyrouti\nRic Estrada\nRic Nagualero\nRicardo Bofill\nRicardo RangelMozambican\nRiccardo Francalancia\nRichard Anderson\nRichard Ansdell\nRichard Anuszkiewicz\nRichard Artschwager\nRichard Avedon\nRichard B Gruelle\nRichard Barrington Nevitt\nRichard Beard\nRichard Benning\nRichard Bergh\nRichard Billingham\nRichard Bosman\nRichard Brompton\nRichard Burlet\nRichard Carline\nRichard Caton Woodville\nRichard Caton Woodville Jr\nRichard Chase\nRichard Clague\nRichard Cooper Jr\nRichard Corben\nRichard Corbould\nRichard Cosway\nRichard Dadd\nRichard Dalton\nRichard Deacon\nRichard Demarco\nRichard Diebenkorn\nRichard Dighton\nRichard Doyle\nRichard E Miller\nRichard Earl Thompson\nRichard Earlom\nRichard Emil Miller\nRichard Estes\nRichard Eurich\nRichard Faxon\nRichard Fleischner\nRichard Friese\nRichard Gaywood\nRichard Gerstl\nRichard Gordon Kendall\nRichard Gruelle\nRichard Hamilton\nRichard Helzer\nRichard Henry Recchia\nRichard Hescox\nRichard Hess\nRichard Hunt 1935\nRichard Hunt Wood Carver\nRichard Jack\nRichard Joslin\nRichard Kane Ferguson\nRichard LaBarre Goodwin\nRichard Larter\nRichard Lindner\nRichard Long\nRichard Lorenz\nRichard M Powers\nRichard Mayhew\nRichard McGuire\nRichard McLean\nRichard Meier\nRichard Michelmore\nRichard Misrach\nRichard Mortensen\nRichard Mosse\nRichard Parkes Bonington\nRichard Phillips\nRichard Phillips 1681-1741\nRichard Pionk\nRichard Pousette-Dart\nRichard PrincePanamanian\nRichard Randolph Rubenstein\nRichard Redgrave\nRichard Riemerschmid\nRichard Rockwell\nRichard Roper\nRichard Rosenblum\nRichard S Buswell\nRichard S Johnson\nRichard Scarry\nRichard Schmid\nRichard Sedlon\nRichard Serra\nRichard Shaw\nRichard Smith\nRichard Stankiewicz Assemblage\nRichard Stone\nRichard T Scott\nRichard T. Scott\nRichard Taylor\nRichard Thomas Davis\nRichard Tuttle\nRichard WentworthSamoan\nRichard Westall\nRichard Williams Samuel Gorenko\nRichard Wilson\nRichard WilsonWelsh\nRichard Wright\nRichard van Orley\nRichmond Barthe\nRichmond Barthé\nRichter\nRick Amor\nRick Dillingham\nRick Griffin\nRick Guidice\nRick Owens\nRico Eastman\nRico Lebrun\nRidolfo Ghirlandaio\nRien Poortvliet\nRihard Jakopic\nRihard Jakopič\nRik Wouters\nRikio Takahashi\nRimel Neffati\nRimma Gerlovina\nRinaldo Cuneo\nRinat Voligamsi\nRineke Dijkstra\nRinko Kawauchi\nRirkrit TiravanijaThai\nRita Angus\nRita Donagh\nRita Kernn-Larsen\nRita Letendre\nRita McBride\nRiusuke Fukahori\nRivane Neuenschwander\nRiza Abbasi\nRiza-i Abbasi\nRoar Kjernstad\nRob Alexander\nRob Browning\nRob Gonsalves\nRob Guillory\nRob Hefferan\nRob Liefeld\nRobbie Trevino\nRobby Cavanaugh\nRobert Adam\nRobert Adams\nRobert Adams 1937\nRobert Adamson\nRobert Alwyn Hughes\nRobert Anning Bell\nRobert Antoine Pinchon\nRobert Arneson\nRobert Bain\nRobert Ballagh\nRobert Barrett-Browning\nRobert Barry\nRobert Bateman\nRobert Bateman 1842-1922\nRobert Beatty\nRobert Beauchamp\nRobert Bechtle\nRobert Benney\nRobert Bery\nRobert Bevan\nRobert Bissell\nRobert Blackburn\nRobert Brackman\nRobert Braithwaite Martineau\nRobert Brandard\nRobert Brough\nRobert Bryden\nRobert Buhler\nRobert C Barnfield\nRobert C. Barnfield\nRobert Campin\nRobert Capa\nRobert Childress\nRobert Colescott\nRobert Colquhoun\nRobert Combas\nRobert Cottingham\nRobert Crozier\nRobert Crumb\nRobert DeWeese\nRobert Delaunay\nRobert Dickerson\nRobert Dighton\nRobert Dodd\nRobert Doisneau\nRobert Dowling\nRobert Duncan Christie\nRobert Edge Pine\nRobert Edmonstone\nRobert Fagan\nRobert Falk\nRobert Fawcett\nRobert Feke\nRobert Field\nRobert Filliou\nRobert FrankFilmmaker\nRobert Frederick Blum\nRobert Freebairn\nRobert Gagen\nRobert Gavin\nRobert Gilder\nRobert Gillmor\nRobert Glenn Ketchum\nRobert Gober\nRobert Goodnough\nRobert Graham\nRobert Gribbroek\nRobert Griffier\nRobert Gwathmey\nRobert Hagan\nRobert HarrisWelsh\nRobert Havell\nRobert Heinecken\nRobert Henderson Blyth\nRobert Henri\nRobert Hills\nRobert Howlett\nRobert Indiana\nRobert Irwin\nRobert J Brawley\nRobert J. Brawley\nRobert Jacobsen\nRobert Jessup\nRobert John Thornton\nRobert Kirkman\nRobert Koehler\nRobert Ladbrooke\nRobert Laurent\nRobert Laurie\nRobert Le Lorrain\nRobert Lee Eskridge\nRobert Lee MacCameron\nRobert Lenkiewicz\nRobert Lobe\nRobert Loftin Newman\nRobert Longo\nRobert Lougheed\nRobert M Cunningham\nRobert M. Cunningham\nRobert MacBryde\nRobert MacPherson\nRobert Macaulay Stevenson\nRobert Maguire\nRobert Mangold\nRobert Mapplethorpe\nRobert McCall\nRobert McGinnis\nRobert Medley\nRobert Mendham\nRobert Morris\nRobert Moskowitz\nRobert Motherwell\nRobert Munsch\nRobert Nanteuil\nRobert Natkin\nRobert Nideffer\nRobert Noble\nRobert Onderdonk\nRobert Peak\nRobert Peake\nRobert Pollard\nRobert R Malone\nRobert R Whale\nRobert Rauschenberg\nRobert Reed\nRobert Reid\nRobert Richenburg\nRobert Riggs\nRobert Ryman\nRobert S Duncanson\nRobert S. Duncanson\nRobert Salmon\nRobert Scott Duncanson\nRobert Scott Lauder\nRobert Silvers\nRobert Sivell\nRobert Smirke\nRobert Smithson\nRobert Spear Dunning\nRobert Spencer\nRobert Stackhouse\nRobert Stivers\nRobert Storm Petersen\nRobert Street\nRobert Swain Gifford\nRobert T McCall\nRobert Tait McKenzie\nRobert Templeton\nRobert Therien\nRobert Therrien\nRobert Thomas\nRobert Tournieres\nRobert Venosa\nRobert Vickrey\nRobert Vonnoh\nRobert W Weir\nRobert Walker\nRobert Walker Macbeth\nRobert Watts\nRobert Weaver\nRobert Weir Allan\nRobert White\nRobert Wilbert\nRobert William Vonnoh\nRobert Williams\nRobert Willoughby\nRobert Wilson\nRobert Zünd\nRobert a\nRobert de Niro Sr\nRobert-Jacques-Francois Lefevre\nRobert-Joseph Auguste\nRoberto\nRoberto Ferri\nRoberto Juarez\nRoberto Matta\nRoberto Melli\nRoberto Montenegro\nRoberto Parada\nRoberto RiveItalian\nRoberto da Matta\nRobin Darwin\nRobin Guthrie\nRobin Moline\nRobt L Williams\nRobt L. Williams\nRobt. L. Williams\nRobyn Denny\nRocco Marconi\nRocio Maldonado\nRockwell Kent\nRodel Gonzalez\nRoderic O'Conor\nRodney Graham\nRodney Joseph Burn\nRodney Matthews\nRodney Smith\nRodolfo Amoedo\nRodolfo Escalera\nRodolfo Morales\nRodolfo Opazo Bernales\nRodolphe Bresdin\nRodolphe Töpffer\nRodolphe Wytsman\nRodrigo Moynihan\nRoelandt Savery\nRoelant Roghman\nRoelant Savery\nRoelof van Vries\nRoger Ackling\nRoger Bailey\nRoger Ballen\nRoger Bissiere\nRoger Broer\nRoger Brown\nRoger Cecil\nRoger Deakins\nRoger Dean\nRoger Fenton\nRoger FryWriter\nRoger Hilton\nRoger Medearis\nRoger Raveel\nRoger Shimomura\nRoger Swainston\nRoger Wilson Dennis\nRoger de la Fresnaye\nRogier van der Weyden\nRoi Partridge\nRoland Topor\nRoland Wheelwright\nRolf Armstrong\nRolf Cavael\nRolf Iseli\nRolf Lehmann\nRolf Nesch\nRolinda Sharples\nRolph Scarlett\nRomain brook\nRomaine Brooks\nRoman Bezpalkiv\nRoman OndakSlovakian\nRoman Opalka\nRoman Signer\nRoman Vishniac\nRomano Romanelli\nRomano Vio\nRomare Bearden\nRomas Viesulas\nRombout Verhulst\nRomero Britto\nRomina Ressia\nRomulo Maccio\nRon Arad\nRon Embleton\nRon English\nRon Garney\nRon Kleemann\nRon Kostyniuk\nRon Miller\nRon Mueck\nRon Sherr\nRon Shuebrook\nRon Spears\nRon Spencer\nRon Walotsky\nRonald Balfour\nRonald Bladen\nRonald Davis\nRonald F Linder\nRonald King\nRonald MoodyJamaican\nRonald Ossory Dunlop\nRonald Rae\nRonald Searle\nRonald Wimberly\nRonau William Woiceske\nRone\nRoni Horn\nRonnie Landfield\nRory McEwen\nRosa Bonheur\nRosalba Carriera\nRosalie Emslie\nRose Adelaide Ducreux\nRose Henriques\nRose Maynard Barton\nRose O’Neill\nRose Piper\nRose Wylie\nRosemarie Trockel\nRosemary Allan\nRoss Bleckner\nRoss Tran\nRosso Fiorentino\nRowena Meeks Abdy\nRowena Morrill\nRowland Lockey\nRoxanne Swentzell\nRoxy Paine\nRoy Arden\nRoy Dalgarno\nRoy De Forest\nRoy De Maistre\nRoy DeCarava\nRoy Krenkel\nRoy Lichtenstein\nRoy Newell\nRoy Petley\nRoyall Brewster Smith\nRoz Chast\nRuan Jia\nRube Goldberg\nRube GoldbergInventor\nRuben Rosas\nRubens Peale\nRubén Maya\nRudolf Ernst\nRudolf Freund\nRudolf Grossmann\nRudolf Hausner\nRudolf Koller\nRudolf Schlichter\nRudolf von Alt\nRudolph Belarski\nRudolph Ernst\nRudolph F Ingerle\nRudolph F. Ingerle\nRudy AutioCeramicist\nRudy BurckhardtFilmmaker\nRudy Pozzatti\nRudy Siswanto\nRufino Tamayo\nRufus Hathaway\nRui Palha\nRumiko Takahashi\nRupert Bunny\nRupert Carabin\nRupert Garcia\nRupert Shephard\nRupert Vandervell\nRupi Kaur\nRuskin Spear\nRuslan Lobanov\nRuss Mills\nRussel Wright\nRussell Chatham\nRussell Cowles\nRussell Dauterman\nRussell Dongjun Lu\nRussell Drysdale\nRussell Lee\nRussell Limbach\nRussell Patterson\nRussell T Gordon\nRuth A Anderson\nRuth Abrahams\nRuth Abrams\nRuth Bernhard\nRuth Brandt\nRuth Collet\nRuth Deckard\nRuth Hollingsworth\nRuth Jên\nRuth Langland Holberg\nRuth Mitchell Wolfe\nRuth Orkin\nRuth Payne Burgess\nRuth Sanderson\nRuth Simpson\nRutilio Manetti\nRuud Janssen\nRyah Ludins\nRyan Barger\nRyan Hewett\nRyan McGinley\nRyan Ottley\nRyan Pancoast\nRyan Stegman\nRyan Yee\nRyky\nRyohei Fuke\nRyohei Hase\nRyohei Koiso\nRyoji Ikeda\nRyukosai Jokei\nRyusei Kishida\nRyuzaburo Umehara\nRyōhei Koiso\nRyūkōsai Jokei\nRyūsei Kishida\nRóbert Berény\nS J \"Lamorna\" Birch\nSJ Lamorna Birch\nSTELARC\nSabbas Apterus\nSabine Hornig\nSacha Goldberger\nSadamichi Hirasawa\nSadao Watanabe\nSailor Moon\nSaint Cecilia Master\nSaito Kiyoshi\nSaitō Kiyoshi\nSakai Hoitsu\nSakai Hōitsu\nSakimichan\nSally Haley\nSally Mann\nSally Miller\nSally S Fine\nSally Storch\nSalome Hensel\nSalomon Gessner\nSalomon Koninck\nSalomon Rombouts\nSalomon de Bray\nSalomon van Abbé\nSalomon van Ruysdael\nSalvador Dali\nSalvador Dalí\nSalvator Rosa\nSalvatore Scarpitta\nSam Black\nSam Bosma\nSam Charles\nSam Dillemans\nSam Francis\nSam Gilliam\nSam Guay\nSam Havadtoy\nSam Hyde Harris\nSam Kieth\nSam Mayle\nSam Richardson\nSam Spratt\nSam Taylor-Wood Video\nSam Toft\nSamantha Keely Smith\nSamson Flexor\nSamson Pollem\nSamu Börtsök\nSamuel Alken Sr\nSamuel Birmann\nSamuel Bough\nSamuel Bourne\nSamuel Buck\nSamuel Butler\nSamuel Chamberlain\nSamuel Collings\nSamuel Colman\nSamuel Colman 1780-1845\nSamuel Colman 1832-1920\nSamuel Cooper\nSamuel Cousins\nSamuel Dirksz van Hoogstraten\nSamuel Drummond\nSamuel F B Morse\nSamuel F. B. Morse\nSamuel FB MorseInventor\nSamuel FossoNigerian\nSamuel Haile\nSamuel Halpert\nSamuel Hieronymus Grimm\nSamuel Howitt\nSamuel John Peploe\nSamuel Jordan\nSamuel King\nSamuel Kiss\nSamuel Lancaster Gerry\nSamuel Lane\nSamuel Laurence\nSamuel Lovett Waldo\nSamuel M Green\nSamuel Margolies\nSamuel Melton Fisher\nSamuel Miller\nSamuel Palmer\nSamuel Peploe\nSamuel Phillips Jackson\nSamuel Prout\nSamuel Roman Rojas\nSamuel Scott\nSamuel Shelley\nSamuel Silva\nSamuel Smith\nSamuel W Griggs\nSamuel Wale\nSamuel Walters\nSamuel Washington Weis\nSamuel William Reynolds Jr\nSamuel de Wilde\nSamuel van Hoogstraten\nSana Takeda\nSandara Tang\nSandor Kozina\nSandra Blow\nSandra Chevrier\nSandra Dieckmann\nSandra Rowe\nSandro Botticelli\nSandro Cherchi\nSandro Chia\nSandy Skoglund\nSaneatsu Mushanokoji\nSaneatsu Mushanokōji\nSanford Robinson Gifford\nSano di Pietro\nSantana Martinez\nSanti di Tito\nSantiago Calatrava\nSantiago Caruso\nSantiago Martínez Delgado\nSantiago Rusinol\nSantiago RusinolWriter\nSantiago Rusiñol\nSantiago Sierra\nSanyu\nSara Norwood Bartle\nSara Saftleven\nSarah Andersen\nSarah Charlesworth\nSarah Garner\nSarah Gough Adamson\nSarah Louisa Kilpack\nSarah Lucas\nSarah Miriam Peale\nSarah Morris\nSarah Purser\nSarah Robertson\nSarah Sze\nSardar Sobha Singh\nSardax\nSargent Claude Johnson\nSargent Johnson\nSarkis Sarkisian\nSarper Baran\nSasha Putrya\nSassetta\nSassoferrato\nSatake Yoshiatsu\nSatoshi Kon\nSaturnino Herran\nSaturno Butto\nSaul Baizerman\nSaul Leiter\nSaul Steinberg\nSaul Tepper\nSaul Yaffie\nSaurabh Jethani\nSava Šumanovic\nSava Šumanović\nSavelli Sperandio\nSawa Sekkyo\nSawa Sekkyō\nSawad Brooks\nSawrey Gilpin\nSayed Haider Raza\nScarlett Hooft Graafland\nScarsellino\nSchelte a Bolswert\nScipione Pulzone\nScott Adams\nScott Burton\nScott Fillier\nScott Gentling\nScott Goudie\nScott Gustafson\nScott Kolins\nScott Listfield\nScott M Fischer\nScott M. Fischer\nScott McCloud\nScott Musgrove\nScott Naismith\nScott Noel\nScott Prior\nScott Rohlfs\nScott Samuel Summers\nScott Weaver\nSean Keating\nSean Scully\nSean Yoro\nSears Gallagher\nSeb McKinnon\nSebastian Errazuriz\nSebastian Spreng\nSebastian Vrancx\nSebastian de Herrera Barnuevo\nSebastiano Conca\nSebastiano Mainardi\nSebastiano Mazzoni\nSebastiano Ricci\nSebastiano Torrigiani\nSebastiano del Piombo\nSebastiao Salgado\nSebastien Bourdon\nSebastien Stoskopff\nSecond Gouda Woodcutter\nSegna di Buonaventure\nSelden Connor Gile\nSemantha Fairbanks\nSengai\nSerafino De Tivoli\nSerge Attukwei Clottey\nSerge Marshennikov\nSerge Najjar\nSerge Poliakoff\nSerge Sudeikin\nSergei Ivanov\nSergei Sviatchenko\nSergey Musin\nSergio Aragonés\nSergio Burzi\nSergio Camargo\nSergio Larraín\nSergio Ragalzi\nSergio Toppi\nSerhii Vasylkivsky\nSesshu Toyo\nSesshū Tōyō\nSesson Shukei\nSeth Eastman\nSeth Globepainter\nSeth MacFarlane\nSeuss Dr\nSeverin Roesen\nSevero da Ravenna\nSeydou KeitaMalian\nSeymour Joseph Guy\nSeymour Lipton\nSeymour Rosofsky\nSha Qi\nShaddy Safadi\nShahzia SikanderPakistani\nShang Xi\nShani Rhys James\nShannon Kennedy\nShao Mi\nSharaf\nSharon Lockhart\nShaun Cassidy\nShaun Tan\nSheikh Hamdullah\nSheila Hicks\nSheila Hicks Textile\nSheila McClean\nSheila Mullen\nSheilah Beckett\nShekhar Gurera\nShen Che-Tsai\nShen Chou\nShen Jiawei\nShen Quan\nShen Shichong\nShen Yinmo\nShen Zhou\nSheng Mao\nSheng Maoye\nShepard Alonzo Mount\nShepard Fairey\nSherree Valentine Daines\nSherrie Levine\nSherry Akrami\nShi Dawei\nShi Lu\nShi Rui\nShi Zhonggui\nShiba Kokan\nShiba Kōkan\nShibata Zeshin\nShigemasa\nShigenori Soejima\nShigeru Aoki\nShikibu Terutada\nShiko Munakata\nShilin Huang\nShin Saimdang\nShin Taga\nShin Yun-bok\nShingei\nShinji Aramaki\nShinoda Toko\nShintaro Kago\nShiokawa Bunrin\nShirazeh Houshiary\nShirin Neshat\nShirley Teed\nShitao\nShog Janit\nShohei Otomo\nShoji Hamada\nShokyusai Tomoyuki\nShotaro Ishinomori\nShozaburo Watanabe\nShozo Shimamoto\nShu Chuanxi\nShubun Tensho\nShukei Sesson\nShunbaisai Hokuei\nShuncho\nShunkosai Hokushu\nShunkōsai Hokushū\nShusaku Arakawa\nShōzaburō Watanabe\nShōzō Shimamoto\nShūbun Tenshō\nSiah Armajani\nSidney E Dickinson\nSidney Goodman\nSidney Gross\nSidney Meteyard\nSidney Nolan\nSidney Richard Percy\nSidney Sime\nSidney Simon\nSiegfried Anzinger\nSiegfried Haas\nSigismund Goetze\nSigmar Polke\nSigmund Abeles\nSigmund Freudenberger\nSigne Vilstrup\nSigrid Hjertén\nSigurd Swane\nSil'vestr Feodosievich Shchedrin\nSilvestro Dell'Acquila\nSilvestro Lega\nSilvia Dimitrova\nSilvia Pelissero\nSim Sa-jeong\nSimeon Solomon\nSimon Bening\nSimon Birch\nSimon Bisley\nSimon Combes\nSimon Gaon\nSimon Guillain\nSimon Hantai\nSimon Hollosy\nSimon Hollósy\nSimon Kick\nSimon Luttichuys\nSimon Marmion\nSimon Mathurin Lantara\nSimon Patterson\nSimon Renard de Saint-Andre\nSimon Saint-Jean\nSimon Stalenhag\nSimon Starling\nSimon Stålenhag\nSimon Tookoome\nSimon Ushakov\nSimon Verelst\nSimon Vouet\nSimon de Vlieger\nSimon de Vos\nSimone Bianchi\nSimone Cantarini\nSimone Martini\nSimone Pignoni\nSimone dei Crocefissi\nSimone dei Crocifissi\nSin Wi\nSinibaldo Scorza\nSiona Shimshi\nSir Alfred East\nSir Alfred James Munnings\nSir Alfred Munnings\nSir Anthony Caro\nSir Anthony Van Dyck\nSir Arthur Stockdale Cope\nSir Augustus Wall Callcott\nSir Cedric Morris\nSir Charles Holroyd\nSir Charles Lock Eastlake\nSir Christopher Wren\nSir David Cameron\nSir David Wilkie\nSir Edward Poynter\nSir Edwin Henry Landseer\nSir Edwin Lutyens\nSir Ernest Albert Waterlow\nSir Francis Grant\nSir Francis Legatt Chantrey\nSir Francis Seymour Haden\nSir Frank Dicksee\nSir Frank Short\nSir Frank William Brangwyn\nSir George Clausen\nSir George Frampton\nSir George Hayter\nSir George Howland Beaumont\nSir Godfrey Kneller\nSir Hamo Thornycroft\nSir Harry Percy Gordon\nSir Henry Raeburn\nSir Hubert von Herkomer\nSir Jacob Epstein\nSir James Guthrie\nSir James Jebusa Shannon\nSir James Thornhill\nSir John Gilbert\nSir John Lavery\nSir John Soane\nSir John Tenniel\nSir John Watson Gordon\nSir Joseph Edgar Boehm\nSir Joseph Noel Paton\nSir Joshua Reynolds\nSir Lawrence Alma-Tadema\nSir Lawrence Gowing\nSir Luke Fildes\nSir Martin Archer Shee\nSir Matthew Smith\nSir Max Beerbohm\nSir Muirhead Bone\nSir Nathaniel Bacon\nSir Nathaniel Dance-Holland\nSir Oswald Hornby Joseph Birley\nSir Peter Lely\nSir Richard Colt Hoare\nSir Robert Ker Porter\nSir Roger de Grey\nSir Roland Penrose\nSir Thomas Brock\nSir Thomas Lawrence\nSir Thomas Monnington\nSir William Beechey\nSir William Blake Richmond\nSir William Boxall\nSir William Charles Ross\nSir William Coldstream\nSir William Fettes Douglas\nSir William MacTaggart\nSir William Newton\nSir William Nicholson\nSir William Orpen\nSir William Quiller Orchardson\nSir William Reid Dick\nSir William Reynolds-Stephens\nSir William Rothenstein\nSir William Russell Flint\nSisto Badalocchio\nSiya Oum\nSkottie Young\nSkunder BoghossianEthiopian\nSlade Roberts\nSlava Raškaj\nSlawomir Maniak\nSlim Aarons\nSliman Mansour\nSlobodan Pejic\nSlobodan Pejić\nSo Shiseki\nSoami\nSofonisba Anguissola\nSohrab Sepehri\nSol LeWitt\nSolomon Alexander Hart\nSolomon Gessner\nSolomon Joseph Solomon\nSolon H Borglum\nSoma Orlai Petrich\nSondra Freckelton\nSong Maojin\nSong Wenzhi\nSong Xu\nSonia Delaunay\nSonia Delaunay-Terk\nSopheap Pich\nSophia Beale\nSophie Anderson\nSophie Calle\nSophie Gengembre Anderson\nSophie Pemberton\nSophie Rude\nSophie Taeuber-Arp\nSophie Wilkins\nSoraya Saga\nSorel Etrog\nSoseki\nSotaro Yasui\nSou Fujimoto\nSparth\nSpencer Gore\nSpencer Tunick\nSpinello Aretino\nSpoilum\nSqueak Carnwath\nStan Berenstain\nStan Brakhage\nStan Douglas\nStan Galli\nStan Lee\nStan Stokes\nStan and Jan Berenstain\nStanhope Alexander Forbes\nStanhope Forbes\nStanislas Lepine\nStanislas Lépine\nStanislav Zhukovsky\nStanislaw Fijalkowski\nStanislaw Ignacy Witkiewicz\nStanislaw Maslowski\nStanislaw Samostrzelnik\nStanislaw Szukalski\nStanislaw Tondos\nStanislaw Witkiewicz\nStanislaw Wyspianski\nStanisław Ignacy Witkiewicz\nStanisław Masłowski\nStanisław Tondos\nStanisław Witkiewicz\nStanisław Wyspiański\nStanley Anderson\nStanley Bahe\nStanley Cosgrove\nStanley Donwood\nStanley Kubrick\nStanley Matthew Mitruk\nStanley Pinker\nStanley Saitowitz\nStanley Spencer\nStanley Twardowicz\nStanley William Hayter\nStanley Wingate Woodward\nStanton Macdonald-Wright\nStasia Burrington\nStefan Gesell\nStefan Gierowski\nStefan Lochner\nStefan Luchian\nStefano Lagerino\nStefano Maderno\nStefano da Verona\nStefano della Bella\nStella Schmolle\nStephan Balkenhol\nStephan D Skillet\nStephan Lochner\nStephan Martiniere\nStephan Martinière\nStephanie Pui-Mun Law\nStephanie Rew\nStephanie Torbert\nStephen Antonakos\nStephen Bissette\nStephen Bliss\nStephen Bone\nStephen Buckley\nStephen Conroy\nStephen Cox\nStephen Darbishire\nStephen Dinsmore\nStephen Farthing\nStephen Gammell\nStephen Gilbert\nStephen Goodfellow\nStephen Greene\nStephen Hickman\nStephen Hillenburg\nStephen Little\nStephen Mackey\nStephen Mopope\nStephen Ormandy\nStephen Pace\nStephen Poyntz Denning\nStephen Quiller\nStephen Scott Young\nStephen Shore\nStephen Shortridge\nStephen Slaughter\nStephen Willats\nStephen Wiltshire\nStephen Youll\nStevan Dohanos\nSteve Argyle\nSteve Brodner\nSteve Dillon\nSteve Ditko\nSteve Epting\nSteve Hanks\nSteve Henderson\nSteve Hillier\nSteve Lieber\nSteve McCurry\nSteve McQueen Video\nSteve Mennie\nSteve Prescott\nSteve Sack\nSteve Wheeler\nSteven Assael\nSteven Belledin\nSteven Campbell\nSteven Holl\nSteven James Petruccio\nSteven Klein\nSteven Meisel\nSteven Outram\nSteven Sorman\nSteven van der Meulen\nStewart Montgomerie\nStokely Webster\nStoldo Lorenzi\nStorm Thorgerson\nStow Wengenroth\nStrong-Cuevas\nStuart Arends\nStuart Davis\nStuart Haygarth\nStuart Immonen\nStudio Ghibli\nSturtevant J Hamblin\nSu Hanchen\nSubodh Gupta\nSuchan Kinoshita\nSudersan Pattnaik\nSudip Roy\nSue Coe\nSue Williams\nSuehiro Maruo\nSugimura Jihei\nSuguru Tanaka\nSukenobu\nSulamith Wulfing\nSultan Mohammed\nSultan Muhammad\nSun Junze\nSun Kehong\nSun Long\nSun Zixi\nSung Kim\nSunil Das\nSunqua\nSusan C Waters\nSusan Crile\nSusan Heidi\nSusan Hiller\nSusan Knight\nSusan Macdowell Eakins\nSusan Meiselas\nSusan Puelz\nSusan Ricker Knox\nSusan Rothenberg\nSusan Seddon Boulet\nSusan Weil\nSusana Solano\nSusy Pilgrim Waters\nSuzan Pitt\nSuzanne Duchamp-Crotti\nSuzanne Duranceau\nSuzanne Gauthier\nSuzanne Valadon\nSuzuki Harunobu\nSuzuki Harushige\nSuzuki Kiitsu\nSuzy Rice\nSven Dalsgaard\nSven Erixson\nSven Jonson\nSven Nordqvist\nSvend Rasmussen Svendsen\nSvend Wiig Hansen\nSverre Fehn\nSvetlin Velinov\nSvetoslav Roerich\nSybil Andrews\nSybil Connell\nSyd Barrett\nSyd Browne\nSyd Mead\nSydney Carline\nSydney Prior Hall\nSydney Strickland Tully\nSylvester Harding\nSylvester Shchedrin\nSylvia Bendzsa\nSylvia Fein\nSylvia Molloy\nSylvia Plimack Mangold\nSylvia Sleigh\nSylvia Snowden\nSylvia Wishart\nSylvie Fleury\nSyriskosVase\nSzymon Czechowicz\nSándor Bihari\nSándor Bortnyik\nSándor Brodszky\nSándor Liezen-Mayer\nSō Shiseki\nSōami\nSōtarō Yasui\nT Alexander Harrison\nT C Steele\nT Clark Oliver\nT Davies\nT Frantisek SimonCzech\nT K Padmini\nT S Sullivant\nT'ao Ch'eng\nT'oros Roslin\nT. C. Steele\nT. K. Padmini\nT. S. Sullivant\nTHOMAS COLE\nTJ Drysdale\nTacita Dean\nTadanori Yokoo\nTadao Ando\nTadashi Nakayama\nTadashige Ono\nTaddeo Gaddi\nTaddeo Landini\nTaddeo Zuccaro\nTaddeo di Bartolo\nTadeusz Ajdukiewicz\nTadeusz Brzozowski\nTadeusz Dominik\nTadeusz Kantor\nTadeusz Makowski\nTadeusz Pruszkówski\nTahir Salahov\nTaiyo Matsumoto\nTaiyō Matsumoto\nTakahashi Yuichi\nTakao Tanabe\nTakasaki Masaharu\nTakashi Murakami\nTakato Yamamoto\nTakayuki Takeya\nTakehisa Yumeji\nTakeshi Koike\nTakeshi Obata\nTakeuchi Seiho\nTakeuchi Seihō\nTakumi Shinagawa\nTalbot Hughes\nTamami Shima\nTamara Lempicka\nTamara de Lempicka\nTamas Galambos\nTami Bone\nTamotsu Shinohara\nTamura Yoshiyasu\nTan Ting-pho\nTanaka Isson\nTang Di\nTang Muli\nTang Sin Yun Sandara\nTang Yau Hoong\nTang Yifen\nTang Yihe\nTang Yin\nTang Yingwei\nTani Buncho\nTani Bunchō\nTanomura Chikuden\nTanya Shatseva\nTanzio da Varallo\nTao Yuanqing\nTara Donovan\nTara McPherson\nTaras Loboda\nTaravat Jalali Farahani\nTaro Okamoto\nTaro Yamamoto\nTarsila do Amaral\nTatiana Hordiienko\nTatiana Suarez\nTatsuo Miyajima\nTatsuro Kiuchi\nTatsuyuki Tanaka\nTawaraya Sotatsu\nTawaraya Sōtatsu\nTaylor Wessing\nTed DeGrazia\nTed Long\nTed Nasmith\nTelemaco Signorini\nTemmie Chang\nTeng Hiok Chiu\nTenyu Shokei\nTeobaldo Nina Mamani\nTerada Katsuya\nTerence Duren\nTeresa Copnall\nTeresa Fasolino\nTeresa Hubbard\nTerese Nielsen\nTerrell James\nTerry Allen\nTerry Dodson\nTerry Evans\nTerry Fenton\nTerry Frost\nTerry Isaac\nTerry Marks\nTerry Morris\nTerry O'Neill\nTerry Oakes\nTerry Redlin\nTerry Setch\nTerry Winters\nTetsugoro Yorozu\nTetsuo Hara\nTetsuya Ishida\nTetsuya Noda\nTetsuya Nomura\nTeun Hocks\nTex Avery\nThe Achilles\nThe Affecter\nThe Amasis\nThe Baltimore\nThe Beardsley Limner\nThe Berlin\nThe Boread\nThe Brygos\nThe Bucci\nThe Carpenter\nThe Chicago\nThe ChimeraCorinthian Vase\nThe Conant Limner\nThe Corinthianizing\nThe Darius Vase\nThe Denison Limner\nThe Eagle Vase\nThe Family Circus\nThe Foundry\nThe Freake Limner\nThe Gansevoort Limner\nThe Harrow\nThe Inscription Vase\nThe Kleophrades\nThe Leningrad\nThe Lysippides\nThe Marsyas\nThe Mazeking\nThe Meidias\nThe Meleager\nThe Naples\nThe Niobid\nThe Omaha\nThe Pan\nThe Phrynos\nThe Pollard Limner\nThe Rycroft\nThe Schuyler Limner\nThe Sherman Limner\nThe Sisyphus Vase\nThe Swing\nThe Syleus\nThe Underworld Vase\nTheo Constanté\nTheo Prins\nTheo Wujcik\nTheo van Doesburg\nTheo van Rysselberghe\nTheobald Chartran\nTheobald Michau\nTheodoor van Loon\nTheodoor van Thulden\nTheodor Kittelsen\nTheodor Philipsen\nTheodor de Bry\nTheodor von Holst\nTheodore Butler\nTheodore C Polos\nTheodore Caruelle d'Aligny\nTheodore Chasseriau\nTheodore Clement Steele\nTheodore Earl Butler\nTheodore Gericault\nTheodore Gudin\nTheodore J Waddell\nTheodore Lane\nTheodore Major\nTheodore Robinson\nTheodore Rombouts\nTheodore Roszak\nTheodore Rousseau\nTheodore Roussel\nTheodore Van Soelen\nTheodore Wendel\nTheodore Wores\nTheodoros Stamos\nTheophanes the\nTheophanes the Greek\nTheophile Alexandre Steinlen\nTheophile Hamel\nTheophile-Emmanuel Duverger\nTheophile-Louis Deyrolle\nTheophile-Victor-Emile Lemmens\nTheresa Ferber Bernstein\nTherese Lessore\nTherese Oulton\nThiago Valdi\nThierry Bisch\nThierry De Cordier\nThom Mayne\nThomas Addison Richards\nThomas Allom\nThomas Anshutz\nThomas Aquinas Daly\nThomas Baines\nThomas Ball\nThomas Banks\nThomas Barbey\nThomas Barker\nThomas Barker of Bath\nThomas Bayrle\nThomas Beach\nThomas Benjamin Kennington\nThomas Bewick\nThomas Birch\nThomas Blackshear\nThomas Bock\nThomas Buchanan Read\nThomas Burrowes\nThomas Buttersworth\nThomas C Kinkaid\nThomas Campbell\nThomas Cantrell Dugdale\nThomas Canty\nThomas Carr\nThomas Carwitham\nThomas Chambers\nThomas Christopher Hofland\nThomas Churchyard\nThomas Clark\nThomas Cole\nThomas Cooper Gotch\nThomas Cornell\nThomas Corsan Morton\nThomas Couture\nThomas Crane\nThomas Crawford\nThomas Creswick\nThomas Dalziel\nThomas Daniell\nThomas Demand\nThomas Dewing\nThomas Dodd\nThomas Doughty\nThomas Duncan\nThomas Eakins\nThomas Edgar Stephens\nThomas Edwin Mostyn\nThomas Ender\nThomas Faed\nThomas Falcon Marshall\nThomas Fearnley\nThomas Fogarty\nThomas Forster Draughtsman\nThomas Francis Dicksee\nThomas Frederick Worrall\nThomas Fripp\nThomas Frye\nThomas Furlong\nThomas Gainsborough\nThomas Gambier Parry\nThomas Girtin\nThomas Hardy\nThomas Hart Benton\nThomas Hawker\nThomas Heaphy\nThomas Hearne\nThomas Heatherwick\nThomas Heeremans\nThomas Hennell\nThomas Henry Nicholson\nThomas Hickey\nThomas Hicks\nThomas Hill\nThomas Hirschhorn\nThomas Hovenden\nThomas Hudson\nThomas Häfner\nThomas J Somerscales\nThomas JeffersonPolitician\nThomas Jones Barker\nThomas JonesWelsh\nThomas Kinkade\nThomas Kluge\nThomas Lawranson\nThomas Lawrence\nThomas LeClear\nThomas Leuthard\nThomas Lowinsky\nThomas Luny\nThomas M Baxa\nThomas M. Baxa\nThomas Manley\nThomas Mann Baynes\nThomas Matthews Rooke\nThomas Miles Richardson Jr\nThomas Millie Dow\nThomas Moran\nThomas Mower Martin\nThomas Nast\nThomas Patch\nThomas Phillips\nThomas Prichard Rossiter\nThomas Quinn\nThomas Ralph Spence\nThomas Richard Underwood\nThomas Robert Way\nThomas Rowlandson\nThomas Ruff\nThomas Saliot\nThomas Sandby\nThomas Satterwhite Noble\nThomas Scheibitz\nThomas Scholes\nThomas Schutte\nThomas Seddon\nThomas Seir Cummings\nThomas Shotter Boys\nThomas Sidney Cooper\nThomas Skynner\nThomas Smith\nThomas Spencer\nThomas Stewardson\nThomas Stothard\nThomas Struth\nThomas Stuart Burnett\nThomas Sully\nThomas Sunderland\nThomas Sword Good\nThomas Symington Halliday\nThomas Tudor\nThomas Uwins\nThomas W Schaller\nThomas Waterman Wood\nThomas Weaver\nThomas Webster\nThomas Whitcombe\nThomas Wijck\nThomas Wilcocks Sully\nThomas Willeboirts\nThomas Willoughby Nason\nThomas Wilmer Dewing\nThomas Woodward\nThomas Woolner\nThomas Worlidge\nThomas Worthington Whittredge\nThomas Wrede\nThomas Wyck\nThomas de Keyser\nThornton Dial Sr\nThornton Oakley\nThornton Willis\nThota Vaikuntam\nThota Vaikuntham\nThurston Hopkins\nThyrza Anne Leyshon\nThéodore Chassériau\nThéodore Géricault\nThéodore Rousseau\nThéodule Ribot\nThéophile Schuler\nThéophile Steinlen\nTiago Hoisel\nTian Shiguang\nTiberio Tinelli\nTibor Czorba\nTibor Nagy\nTibor Rényi\nTien Chi\nTilly Kettle\nTilman Riemenschneider\nTilo Baumgärtel\nTim Biskup\nTim Burton\nTim Cox\nTim Doyle\nTim Etchells\nTim Hawkinson\nTim Head\nTim Hildebrandt\nTim Holmes\nTim Holtz\nTim Klunder\nTim Okamura\nTim Rollins\nTim Shumate\nTim Van Laar\nTim Walker\nTim White\nTim and Greg Hildebrandt\nTimoteo Viti\nTimothy Cole\nTimothy Easton\nTimothy O'Sullivan\nTina Barney\nTina Blondell\nTina Modotti\nTino Sehgal\nTino da Camaino\nTinqua\nTintoretto\nTish Holland\nTitian\nTitian Peale\nTitus Kaphar\nTitus Lunter\nTivadar Alconiere\nTivadar Csontvary Kosztka\nTivadar Csontváry Kosztka\nTiziano Aspetti\nTobias Rehberger\nTobias Stimmer\nTobias Verhaecht\nToby Fox\nToby Rosenthal\nTod Papageorge\nTodd Hido\nTodd Lockwood\nTodd McFarlane\nTodd Nauck\nTodd Schorr\nTodd Webb\nToichi Kato\nTokio Aoyama\nTokujin Yoshioka\nToller Cranston\nTom Bagshaw\nTom Blackwell\nTom Bonson\nTom Carapic\nTom Chambers\nTom Downing\nTom Everhart\nTom Forrestall\nTom Friedman\nTom Fruin\nTom Gourdie\nTom Grummett\nTom Hammick\nTom Humphrey\nTom Jung\nTom Kidd\nTom Killion\nTom King\nTom La Padula\nTom Lovell\nTom McGuinness\nTom Otterness\nTom Palin\nTom Phillips\nTom Rippon\nTom Roberts\nTom Sachs\nTom Scott RSA\nTom Talbot\nTom Thomson\nTom Wesselmann\nTom Whalen\nTom Wänerstrand\nTom of Finland\nTomas Sanchez\nTomasz Alen Kopera\nTomasz Jedruszek\nTomek Setowski\nTomer Hanuka\nTomi Ungerer\nTomie Ohtake\nTomio Kinoshita\nTomioka Tessai\nTomma Abts\nTommaso Cazzaniga\nTommaso Dolabella\nTommaso Manzuoli\nTommaso Masaccio\nTommaso Redi\nTommaso Salini\nTommaso da Modena\nTommy Ashevak\nTomokazu Matsuyama\nTompkins Harrison Matteson\nTomàs Barceló\nTomás Saraceno\nTon Dubbeldam\nToni Frissell\nToni Onley\nTony Abeyta\nTony Berlant\nTony Bevan\nTony Conrad\nTony Cragg\nTony Delap\nTony DiTerlizzi\nTony Fitzpatrick\nTony Moore\nTony Northrup\nTony Orrico\nTony Oursler\nTony Robert-Fleury\nTony Rosenthal\nTony Sandoval\nTony Sart\nTony Smith\nTony Szczudlo\nTony Tuckson\nToon Verhoef\nTooth Wu\nToots Zynskymaker\nToraji\nTorii Kiyomasu\nTorii Kiyomasu II\nTorii Kiyomitsu\nTorii Kiyomoto\nTorii Kiyonaga\nTorii Kiyonobu I\nTorii Kiyonobu II\nTorii Kiyotsune\nTorii Kotondo\nToriyama Sekien\nToros Roslin\nTosa Mitsunobu\nTosa Mitsuoki\nToshi Yoshida\nToshiko Okanoue\nToshiko Takaezu\nToshio Saeki\nToshusai Sharaku\nToss Woollaston\nToti Scialoja\nTotoya Hokkei\nTotte Mannes\nToussaint Dubreuil\nTova Beck-Friedman\nTove Jansson\nToyen\nToyo Ito\nToyohara Chikanobu\nToyohara Kunichika\nToyokuni\nTracey Adams\nTracey Emin\nTracey Moberly\nTracey MoffattVideo\nTracie Grimwood\nTracy Harris\nTran Nguyen\nTravis Louie\nTrending on artstation\nTrenton Doyle Hancock\nTrevor Bell\nTrevor Brown\nTrish Mistric\nTristram Hillier\nTroels Wörsel\nTrophime Bigot\nTroy Brooks\nTruls Espedal\nTsubasa Nakai\nTsuchida Bakusen\nTsuchiya Koitsu\nTsugoharu Foujita\nTsuguharu Foujita\nTsuji Kako\nTsuji Kakō\nTsukioka Yoshitoshi\nTsuruko Yamazaki\nTsuruya Kokei\nTsutomu Nihei\nTucker Smith\nTudlik\nTullio Lombardo\nTuomas Korpi\nTuvia Beeri\nTyeb Mehta\nTyko Sallinen\nTyler Edlin\nTyler Jacobson\nTyler Shields\nTyler Walpole\nTyree Guyton\nTytus Czyzewski\nTytus Czyżewski\nTōichi Katō\nTōshi Yoshida\nTōshūsai Sharaku\nUb Iwerks\nUbaldo Gandolfi\nUeda Fumito\nUemura Shoen\nUemura Shōen\nUgo Da Carpi\nUgo Nespolo\nUgo Rondinone\nUgolino Lorenzetti\nUgolino di Nerio\nUkita Ikkei\nUlrich Apt the Elder\nUlrich Leman\nUlrika Pasch\nUlysses Davis\nUmberto Boccioni\nUmberto Mastroianni\nUmberto Milani\nUn'ichi Hiratsuka\nUnica Zürn\nUnkoku Togan\nUragami Gyokudo\nUragami Gyokudō\nUrakusai Nagahide\nUrs Fischer\nUrs Graf\nUrsula Edgcumbe\nUrsula Wood\nUrsula von Rydingsvard\nUta Barth\nUtagawa Hirokage\nUtagawa Hiroshige II\nUtagawa Kunihiro\nUtagawa Kunimasa\nUtagawa Kunimasu\nUtagawa Kunisada\nUtagawa Kunisada II\nUtagawa Kunisada III\nUtagawa Kuniyoshi\nUtagawa Toyoharu\nUtagawa Toyokuni\nUtagawa Toyokuni II\nUtagawa Yoshiiku\nUtagawa Yoshitaki\nUtagawa Yoshitora\nUtagawa Yoshitsuya\nUwe Wittwer\nV DeGrailly\nVadim Meller\nVadym Meller\nValentin Aleksandrovich Serov\nValentin Rekunenko\nValentin Serov\nValentin de Boulogne\nValentine Cameron Prinsep\nValentine Green\nValentine Hugo\nValentine Penrose\nValerie Hegarty\nValerie Jaudon\nValerie Petts\nValerio Adami\nValerio Belli\nValerio Castello\nValerio Cioli\nValerio Olgiati\nValerius de Saedeleer\nValeriy Gerlovin\nValie Export\nValéria Dénes\nVan Gogh\nVance Kirkland\nVanessa Beecroft\nVanessa Bell\nVarvara Stepanova\nVasco de la Zarza\nVasile Hutopila\nVasilii Andreevich Tropinin\nVasiliy Polenov\nVasily Andreevich Tropinin\nVasily Perov\nVasily Polenov\nVasily Surikov\nVasily Vereshchagin\nVassily Maximov\nVecchietta\nVeikko Törmänen\nVeit Hirschvogel the Elder\nVeit Stoss\nVeno Pilon\nVentura Salimbeni\nVera Mukhina\nVergvoktre\nVermeer\nVerner Panton\nVerner PantonDanish\nVernon Fisher\nVeronika Pinke\nVerónica Ruiz de Velasco\nVettor Pisani\nVic Donahue\nVicente Juan Masip\nVicente Lopez y Portana\nVicente Palmaroli Gonzalez\nVicente Romero Redondo\nVicente Salvador Gomez\nVicto Ngai\nVictor Adame Minguez\nVictor Borisov-Musatov\nVictor Brauner\nVictor Brecheret\nVictor Burgin\nVictor Charreton\nVictor David Brenner\nVictor Dubreuil\nVictor Enrich\nVictor Hammer\nVictor Higgins\nVictor Horta\nVictor HugoDraughtsman\nVictor Huguet\nVictor Ivanov\nVictor Louis\nVictor Meirelles\nVictor Moscoso\nVictor Mosquera\nVictor Mottez\nVictor Nehlig\nVictor Nizovtsev\nVictor Noble Rainbird\nVictor Pasmore\nVictor Prezio\nVictor Schnetz\nVictor Surbek\nVictor Vasarely\nVictor Wang\nVictor-Gabriel Gilbert\nVictoria Crowe\nVictoria Francés\nVictoria Hutson Huntley\nVictoria Poyser\nVictoria Selbach\nVictorina Durán\nVictorine Foot\nViggo Johansen\nVigilius ErichsenDanish\nVija Celmins\nVik Muniz\nViktor Madarasz\nViktor Madarász\nViktor Mikhailovich Vasnetsov\nViktor Oliva\nViktor Schreckengost\nViktor Vasnetsov\nViktor de Jeney\nVilhelm Bissen\nVilhelm Hammershoi\nVilhelm Kyhn\nVilhelm Lundstrøm\nVillard de Honnecourt\nVilmos Aba-Novák\nVilmos Egger\nVilmos Huszar\nVince Colletta\nVincent Bertrand\nVincent Callebaut\nVincent Desiderio\nVincent Di Fate\nVincent Evans\nVincent Hron\nVincent Laurensz van der Vinne\nVincent Lefevre\nVincent Pepi\nVincent Proce\nVincent Van Gogh\nVincent van Gogh\nVincenzo Cabianca\nVincenzo Campi\nVincenzo Camuccini\nVincenzo Carducci\nVincenzo Civerchio\nVincenzo Danti\nVincenzo Foppa\nVincenzo Gemito\nVincenzo Irolli\nVincenzo Vela\nVincenzo di Catena\nVint Lawrence\nViola Frey\nViola Paterson\nViolet Fuller\nViolet Oakley\nVirgil Finlay\nVirgil Solis\nVirgilio Guidi\nVirginia Carten\nVirginia Frances Sterrett\nVirginia Gruppe\nVirginia Lee Burton\nVirginia Wattles\nVirginio Ciminaghi\nVitale da Bologna\nVitezlav Karel MasekCzech\nVito Acconci\nVito D'Ancona\nVittore Carpaccio\nVittorio Crivelli\nVittorio Matteo Corcos\nVittorio Reggianini\nVittorio Tavernari\nVittorio Tessari\nVivian Maier\nViviane Sassen\nViviano Codazzi\nVivien Blackett\nVivienne Tam\nVivienne Westwood\nVladimir Baranov-Rossine\nVladimir Borovikovsky\nVladimir Kush\nVladimir Lebedev\nVladimir Lukich Borovikovskii\nVladimir Makovsky\nVladimir Mayakovsky\nVladimir Novak\nVladimir Tatlin\nVladimir Tretchikoff\nVladimír Vašícek\nVladimír Vašíček\nVlady Kibalchich Russakov\nVlaho Bukovac\nVolkan Baga\nVrancke van der Stockt\nVuolvinio\nVytautas Kairiukstis\nVytautas Kasiulis\nVáclav Brožík\nVíctor Manuel García Valdés\nW Eugene Smith\nW Heath Robinson\nW Kinnard\nW Lester Stevens\nW Lindsay Cable\nW Oram\nW. Lindsay Cable\nWE Atkinson\nWH Brown\nWLOP\nWM Keesey\nWade Guyton\nWadim Kashin\nWagguno\nWalasse Ting\nWaldo Peirce\nWalenty Wankowicz\nWalenty Wańkowicz\nWalid RaadLebanese\nWalker Evans\nWallace Berman Assemblage\nWallace Harrison\nWallerant Vaillant\nWally Brants\nWally Wood\nWalt Disney\nWalt Kelly\nWalt Kuhn\nWalt Reed\nWalter Anderson\nWalter Battiss\nWalter Bayes\nWalter Beach Humphrey\nWalter Crane\nWalter De Maria\nWalter Dendy Sadler\nWalter Dexel\nWalter Dorwin Teague\nWalter Dusenbery\nWalter E Bohl\nWalter Ellison\nWalter Emerson Baum\nWalter Ernest Webster\nWalter Fitch\nWalter Franklin Lansil\nWalter Frederick Osborne\nWalter Gay\nWalter Geikie\nWalter Granville Smith\nWalter Greaves\nWalter Griffin\nWalter Gropius\nWalter Haskell Hinton\nWalter Howell Deverell\nWalter Humphrey\nWalter I Cox\nWalter J Phillips\nWalter John Trower\nWalter L Greene\nWalter Langley\nWalter Launt Palmer\nWalter Leighton Clark\nWalter Murch\nWalter Osborne\nWalter Percy Day\nWalter Quirt\nWalter Richard Sickert\nWalter Rosenblum\nWalter Schnackenberg\nWalter Shirlaw\nWalter Sickert\nWalter Stuempfig\nWalter Ufer\nWalter Velez\nWalter William Ouless\nWalter Withers\nWalther Jervolino\nWalton Ford\nWanda Gag\nWang Chunjie\nWang Dongling\nWang Duo\nWang E\nWang Fu\nWang Geyi\nWang Guangyi\nWang Guxiang\nWang Huaiqing\nWang Hui\nWang Jian\nWang Jiqian (CC Wang)\nWang Lü\nWang Meng\nWang Mengqi\nWang Mian\nWang Shenglie\nWang Shimin\nWang Shishen\nWang Wei\nWang Wen\nWang Wu\nWang Wuxie (Wucius Wong)\nWang Ximeng\nWang Xuetao\nWang Yi\nWang Yingchun\nWang Yuan\nWang Yuangi\nWang Yuanqi\nWang Yun\nWang Zhen\nWang Zhenpeng\nWang Zhongyu\nWangechi Mutu\nWard Kimball\nWarhol\nWarren Buffet\nWarren Criswell\nWarren Ellis\nWarren Eugene Brandon\nWarren Mahy\nWarren P Lombard\nWarren W Sheppard\nWarrington Colescott\nWarwick Goble\nWashington Allston\nWashington Bogart Cooper\nWashington Friend\nWassily Kandinsky\nWatanabe Kazan\nWatanabe Shiko\nWatanabe Shotei\nWatanabe Shōtei\nWayman Adams\nWayne Barlowe\nWayne England\nWayne Kimball\nWayne Reynolds\nWayne Thiebaud\nWeegee\nWei Jingshan\nWei Jiuding\nWeiwei\nWen Bao\nWen Boren\nWen Jia\nWen Lou\nWen Tong\nWen Zhengming\nWen Zhenheng\nWenceslas Hollar\nWenceslaus HollarBohemian\nWendell Castle\nWendell Minor\nWendy Froud\nWenzel Lorenz Reiner\nWenzel Peter\nWenzel von Olmutz\nWerner Andermatt\nWerner Drewes\nWerner Gutzeit\nWerner Herzog\nWerner Tübke\nWerner van den Valckert\nWes Anderson\nWes Benscoter\nWes Wilson\nWesley Anderegg\nWesley Burt\nWhitney Darrow\nWhitney Hubbard\nWhitney Sherman\nWieslaw Walkuski\nWifredo Lam\nWifredo LamFrench\nWijnand Nuyen\nWilfred Byron Shaw\nWilfredo Lam\nWilfrid de Glehn\nWilhelm Bendz\nWilhelm Freddie\nWilhelm Hammershøi\nWilhelm Heise\nWilhelm Kotarbinski\nWilhelm Lehmbruck\nWilhelm Leibl\nWilhelm List\nWilhelm Marstrand\nWilhelm Sasnal\nWilhelm Schnarrenberger\nWilhelm Schubert van Ehrenberg\nWilhelm Trubner\nWilhelm Trübner\nWilhelm Wagenfeld\nWilhelm von Kaulbach\nWilhelm von Kobell\nWilhelm von Schadow\nWilhelmina Barns-Graham\nWilhelmina Weber Furlong\nWiligelmo\nWill Barnet\nWill Eisner\nWill Ellis\nWill Hicok Low\nWill Howe Foote\nWill James\nWillard Leroy Metcalf\nWillard Metcalf\nWillard Mullin\nWillem Basse\nWillem Buytewech\nWillem Claesz Heda\nWillem Claeszoon Heda\nWillem Cornelisz Duyster\nWillem Drost\nWillem Frederik van Royen\nWillem Haenraets\nWillem Hofhuizen\nWillem Hondius\nWillem Jacobsz Delff\nWillem Kalf\nWillem Key\nWillem Koekkoek\nWillem Labeij\nWillem Maris\nWillem Martens\nWillem Pieterszoon Buytewech\nWillem Roelofs\nWillem Vrelant\nWillem de Kooning\nWillem de Poorter\nWillem van Aelst\nWillem van Haecht\nWillem van Mieris\nWillem van Tetrode\nWillem van de Velde the Elder\nWillem van de Velde the Younger\nWillem van der Vliet\nWilli Baumeister\nWilliam A Walker\nWilliam A Wilson\nWilliam Aikman\nWilliam Alexander\nWilliam Alfred Delamotte\nWilliam Allan\nWilliam Allen Wall\nWilliam Andrews Nesfield\nWilliam Armstrong\nWilliam Artaud\nWilliam Auerbach-Levy\nWilliam B Eaton\nWilliam B Ritchie\nWilliam Bailey\nWilliam Barak Aboriginal\nWilliam Baxter Closson\nWilliam Baziotes\nWilliam Beckman\nWilliam Behnes\nWilliam Bell Scott\nWilliam Berra\nWilliam Birnie Rhind\nWilliam Blair Bruce\nWilliam Blake\nWilliam Blake Richmond\nWilliam Bliss Baker\nWilliam Bonnar\nWilliam Bonnell\nWilliam Bowyer\nWilliam Bradford\nWilliam Brodie\nWilliam Bromley\nWilliam Brymner\nWilliam Burges\nWilliam Bygrave\nWilliam Callow\nWilliam Chadwick\nWilliam Charles Thomas Dobson\nWilliam Christenberry\nWilliam Coldstream\nWilliam Collins\nWilliam Congdon\nWilliam Conor\nWilliam Cook of Plymouth\nWilliam Cooper\nWilliam Copley\nWilliam Couper\nWilliam Crosbie\nWilliam Crozier\nWilliam Cruickshank\nWilliam Crutchfield\nWilliam Daniell\nWilliam Dargie\nWilliam Davis\nWilliam DeLeftwich Dodge\nWilliam Degouve de Nuncques\nWilliam Derby\nWilliam Didier-Pouget\nWilliam Dixon\nWilliam Dobell\nWilliam Dobson\nWilliam Doughty\nWilliam Dring\nWilliam DunlapWriter\nWilliam Dyce\nWilliam Edmondson\nWilliam Edouard Scott\nWilliam Edward Frost\nWilliam Edward West\nWilliam Eggleston\nWilliam Etty\nWilliam Evan Charles Morgan\nWilliam Evelyn Osborn\nWilliam Faithorne\nWilliam Fettes Douglas\nWilliam Fleetwood Varley\nWilliam Ford\nWilliam Forsyth\nWilliam Foster\nWilliam Frank Calderon\nWilliam Franklin Draper\nWilliam Frater\nWilliam Frederick Witherington\nWilliam Frederick Yeames\nWilliam Frome Smallwood\nWilliam G Yorke\nWilliam GR Hind\nWilliam Gale\nWilliam Gear\nWilliam Geissler\nWilliam George Gillies\nWilliam George Reindel\nWilliam Gerard Barry\nWilliam Glackens\nWilliam Gorman Wills\nWilliam Gould\nWilliam Gouw Ferguson\nWilliam Grant Stevenson\nWilliam Gropper\nWilliam Guy Wall\nWilliam H Johnson\nWilliam H Mosby\nWilliam H. Mosby\nWilliam Hahn\nWilliam Hamilton\nWilliam Harnett\nWilliam Hart\nWilliam Harvey\nWilliam Havell\nWilliam Heath\nWilliam Henry Bartlett\nWilliam Henry Brooke\nWilliam Henry Clapp\nWilliam Henry Dethlef Koerner\nWilliam Henry Fox Talbot\nWilliam Henry Hunt\nWilliam Henry Jackson\nWilliam Henry Luscomb\nWilliam Henry Margetson\nWilliam Henry Pyne\nWilliam Henry Rinehart\nWilliam Herbert Dunton\nWilliam Herman Rau\nWilliam Hicks\nWilliam Hilton the Younger\nWilliam Hoare\nWilliam Hodges\nWilliam Hogarth\nWilliam Holbrook Beard\nWilliam Holman Hunt\nWilliam Holmes Sullivan\nWilliam Home Lizars\nWilliam Horace Littlefield\nWilliam Howard Yorke\nWilliam Huggins\nWilliam J McCloskey\nWilliam Jacob Baer\nWilliam Jacob Hays\nWilliam James Bennett\nWilliam James Glackens\nWilliam James Laidlay\nWilliam James Muller\nWilliam Jennys\nWilliam Jewett\nWilliam John Hennessy\nWilliam John Huggins\nWilliam John Thomson\nWilliam Jones\nWilliam K Hartmann\nWilliam Kay Blacklock\nWilliam Keith\nWilliam Kentridge\nWilliam King\nWilliam Klein\nWilliam Kurelek\nWilliam Lamb Picknell\nWilliam Langson Lathrop\nWilliam Larkin\nWilliam Lee-Hankey\nWilliam Lees Judson\nWilliam Leighton Leitch\nWilliam Leroy Flint\nWilliam Lescaze\nWilliam Lindsay Windus\nWilliam Linton\nWilliam Lionel Wyllie\nWilliam Locke Jr of Norbury\nWilliam Logsdail\nWilliam Louis Sonntag\nWilliam MacTaggart\nWilliam Marlow\nWilliam Mason Brown\nWilliam Matthew Prior\nWilliam Maw Egley\nWilliam McGregor Paxton\nWilliam McTaggart\nWilliam Merritt Chase\nWilliam Meyerowitz\nWilliam Michael Harnett\nWilliam Miller\nWilliam Morris\nWilliam Morris Hunt\nWilliam Mossman\nWilliam Mulready\nWilliam Mustart Lockhart\nWilliam Nicholson\nWilliam Nicoll Cresswell\nWilliam Notman\nWilliam Oliver\nWilliam Owen\nWilliam Oxer\nWilliam P Sherlock\nWilliam Page\nWilliam Palmer Robins\nWilliam Parrott\nWilliam Pars\nWilliam Partridge Burpee\nWilliam Patten\nWilliam Payne\nWilliam Perehudoff\nWilliam Pether\nWilliam Powell Frith\nWilliam Powhida\nWilliam Quiller Orchardson\nWilliam R Leigh\nWilliam Richardson\nWilliam Rickarby Miller\nWilliam Rimmer\nWilliam Ritschel\nWilliam Robert Colton\nWilliam Robert Symonds\nWilliam Roberts\nWilliam Robinson\nWilliam Rush\nWilliam Russell Birch\nWilliam Russell Flint\nWilliam S Burroughs\nWilliam Salter\nWilliam Samuel Horton\nWilliam Schumacher\nWilliam Scott\nWilliam Sergeant Kendall\nWilliam Shakespeare Burton\nWilliam Shayer Sr\nWilliam Sidney Mount\nWilliam Simpson\nWilliam Sommer\nWilliam Stanley Haseltine\nWilliam Stearns\nWilliam Steig\nWilliam Stott\nWilliam Stout\nWilliam Strang\nWilliam Strutt\nWilliam Taverner\nWilliam Theed\nWilliam Thon\nWilliam Timlin\nWilliam Tombleson\nWilliam Tomkins\nWilliam Trost Richards\nWilliam TuckerEgyptian\nWilliam Turnbull\nWilliam Turner\nWilliam Turner of Oxford\nWilliam Twigg-Smith\nWilliam Tylee Ranney\nWilliam Van Alen\nWilliam Vincent Cahill\nWilliam Wegman\nWilliam Wendt\nWilliam Westall\nWilliam Wetmore Story\nWilliam Whitaker\nWilliam Wiley\nWilliam Williams\nWilliam Winstanley\nWilliam Wolfram\nWilliam Wood\nWilliam Woodward\nWilliam Wray\nWilliam Yellowlees\nWilliam York Macgregor\nWilliam Young Ottley\nWilliam Zorach\nWilliam de Morgan\nWilliam-Adolphe Bouguereau\nWillian Murai\nWillie Cole\nWillie Doherty\nWillie Ito\nWilly Bo Richardson\nWilly Finch\nWilly Pogany\nWilson Irvine\nWim Delvoye\nWim Wenders\nWinfield Scott Clime\nWinifred Knights\nWinifred Nicholson\nWinold Reiss\nWinona Nelson\nWinslow Homer\nWinsor McCay\nWinston Churchill\nWinston Spencer Churchill\nWinthrop Chandler\nWitold Pruszkowski\nWitold Pruszkówski\nWitold Wojtkiewicz\nWlad Safronow\nWladimir Baranoff-Rossine\nWladyslaw Czachórski\nWladyslaw Malecki\nWladyslaw Podkowinski\nWladyslaw Slewinski\nWladyslaw Strzeminski\nWlastimil Hofman\nWlodzimierz Tetmajer\nWo Zha\nWojciech Gerson\nWojciech Korneli Stattler\nWojciech Kossak\nWojciech Siudmak\nWojciech Weiss\nWolf Huber\nWolf Kahn\nWolf Vostell\nWolfgang Laib\nWolfgang Letti\nWolfgang Lettl\nWolfgang Paalen\nWolfgang Suschitzky\nWolfgang Tillmans\nWolfgang Zelmer\nWong Kar-wai\nWoody Crumbo\nWordsworth Thompson\nWorthington Whittredge\nWouter Johannes van Troostwijk\nWouter Pietersz Crabeth\nWouterus Verschuur\nWright Barker\nWright Morris\nWu Biduan\nWu Bin\nWu Changshi\nWu Changshuo\nWu Daozi\nWu Guanzhong\nWu Hong\nWu Hufan\nWu Jiayou\nWu Jingting\nWu Li\nWu Shixian\nWu Wei\nWu Zhen\nWu Zuoren\nWuzhun Shifan\nWyatt Eaton\nWyke Bayliss\nWylie Beckert\nWyndham Lewis\nWäinö Aaltonen\nWładysław Czachórski\nWładysław Malecki\nWładysław Podkowiński\nWładysław Ślewiński\nXanthus Russell Smith\nXanti Schawinsky\nXavier Blum Pinto\nXavier Martinez\nXavier Mellery\nXavier Veilhan\nXenophantos\nXi Gang\nXia Chang\nXia Gui\nXia Shuwen\nXia Yong\nXiang Shengmo\nXiao Haichun\nXiao Yuncong\nXiaofei Yue\nXie He\nXie Huan\nXie Shichen\nXie Sun\nXu Beihong\nXu Bing\nXu Daoning\nXu Lei\nXu Lele\nXu Wei\nXu Xi\nXuande Emperor\nXugu\nXul Solar\nYa Ming\nYaacov Agam\nYael Bartana Video\nYael Kanarek\nYahoo Kusama\nYamagata Hiro\nYamaguchi Kayo\nYamakawa Shuho\nYamamoto Shoun\nYamamoto Shōun\nYan Han\nYan Hui\nYan Liben\nYanagawa Nobusada\nYanagawa Shigenobu\nYanagawa Shigenobu II\nYang Borun\nYang Buzhi\nYang Fudong Video\nYang J\nYang Jin\nYang Jingsheng\nYang Kewu\nYang Keyang\nYang Lizhou\nYang Nawei\nYang Shanshen\nYang Weizhen\nYang Yong\nYang Zhiguang\nYanjun Cheng\nYao Tingmei\nYasar Vurdem\nYasuhiro Nightow\nYasumasa Morimura\nYasuo Kuniyoshi\nYasushi Nirasawa\nYasushi Sugiyama\nYasutomo Oka\nYayoi Kusama\nYayou Kusama\nYe Minren\nYe Xin\nYehia Dessouki\nYeong-Hao Han\nYerkaland\nYervand Kochar\nYi Inmun\nYi Insang\nYi Jaegwan\nYi Yuanji\nYiannis Moralis\nYigal Ozeri\nYildiray Cinar\nYin Rongsheng\nYinka Shonibare\nYinka ShonibareNigerian Textile\nYnez Johnston\nYoann Lossel\nYoh Nagao\nYohann Schepacz\nYoji Shinkawa\nYoko Ono MusicianConceptual\nYokoyama Taikan\nYolanda Lopez\nYosa Buson\nYosa BusonWriter\nYoshida Hanbei\nYoshifuji\nYoshihiko Wada\nYoshijiro Urushibara\nYoshikawa Kanpo\nYoshikazu Yasuhiko\nYoshio Markino\nYoshitaka Amano\nYoshitomo Nara\nYoshitoshi ABe\nYoshitoshi Mori\nYoshiyuki Tomino\nYosl Bergner\nYouqua\nYouri Messen-Jaschin\nYoussef Howayek\nYousuf Karsh\nYozo Hamaguchi\nYreina Cervantez\nYu Ben\nYu Youren\nYu Zhiding\nYuan Jiang\nYuan Yao\nYue Minjun\nYuki Katsura\nYuki Ogura\nYukihiko Yasuda\nYukimasa Ida\nYuko Shimizu\nYuko Tatsushima\nYumihiko Amano\nYun Du-seo\nYun Ge\nYun Shouping\nYun-Fei Ji\nYurakusai Nagahide\nYuri Ivanovich Pimenov\nYuri Shwedoff\nYuriko Yamaguchi\nYuumei\nYves Brayer\nYves Gaucher\nYves Klein\nYves Tanguay\nYves Tanguy\nYvonne Coomber\nYvonne Jacquette\nZacharias Martin Aagaard\nZacharie Astruc\nZack Snyder\nZack Stella\nZaha Hadid\nZaha HadidIraqi\nZahari Zograf\nZama V Helder\nZanobi Machiavelli\nZanobi Strozzi\nZao Wou-Ki\nZbigniew Nowosadzki\nZdenek Burian\nZdeněk Burian\nZdzislaw Beksinski\nZdzisław Beksiński\nZeen Chin\nZelma Blakely\nZena Holloway\nZeng Chuangxing\nZeng Jing\nZeng Mi\nZha Shibiao\nZhan Jianjun\nZhan Ziqian\nZhang Daqian\nZhang Dazhuang\nZhang Han\nZhang Hong\nZhang Huan\nZhang Hui\nZhang Jingna\nZhang Kechun\nZhang Lu\nZhang Sengyao\nZhang Shengwen\nZhang Shunzi\nZhang Shuqi\nZhang Wang\nZhang Wo\nZhang Xiaogang\nZhang Xuan\nZhang Yan\nZhang Yi\nZhang Yin\nZhang Zeduan\nZhang Zongcang\nZhao Chungxiang\nZhao Mengfu\nZhao Shou\nZhao Yannian\nZhao Yong\nZhao Yuan\nZhao Zhiqian\nZhao Zhiquan\nZhao Zuo\nZheng Guogu\nZheng Wu\nZheng Wuchang\nZheng Xie\nZhichao Cai\nZhong Weisheng\nZhou Changjiang\nZhou Chen\nZhou Fang\nZhou Jichang\nZhou Luyun\nZhou Shuqiao\nZhou Shuxi\nZhou Sicong\nZhou Wenjing\nZhu Da\nZhu Derun\nZhu Qizhan\nZhu Rui\nZhu Xinghua\nZinaida Serebriakova\nZiraldo\nZlatyu Boyadzhiev\nZoan Andrea\nZoe Buckman\nZoe Leonard\nZofia Stryjenska\nZoltan Boros\nZoltan KemenySwiss\nZoltán Joó\nZoltán Nuridsány\nZoran Music\nZoran Mušic\nZoran Mušič\nZou Yigui\nZou Zhe\nZoë Mozert\nZsolt Bodoni\nZsuzsa Máthé\nZvest Apollonio\nZwelethu Mthethwa\nZygmunt Vogel\nZygmunt Waliszewski\nadrian ghenie\nalbert aublet\namano\namy sol\nandrei riabovitchev\nandrey ryabovichev\nartist\nashley wood\ncasey baugh\ncharles vess\ndavid rubín\nderek zabrocki\ndisney\nferdinand knab\ngaston bussiere\ngustav dore\nhajime sorayama\nhelen huang\nhr giger\nirakli nadar\njames christensen\njean moebius giraud\njeonseok lee\njessica rossier\njoseph christian leyendecker\nkarlkka\nkarolis strautniekas\nkatsuya terada\nken kelly\nloish\nlovecraft\nmads berg\nmark keathley\nmaxim verehin\nmckadesinsanity\nmiles johnston\nmucha\nnational geographic\nnicoletta ceccoli\nreyna rochin\nridley scott\nroger deakins\nrossdraws\nsenior artist\nsenior character artist\nsenior environment artist\nsparth\nstanley artgerm\nstephen bliss\nsung choi\nsylvain sarrailh\nteamLab\nthe Brothers Hildebrandt\ntheCHAMBA\ntomasz alen kopera\nwlop\nwolfgang lettl\nyoji shinkawa\nzdzisław beksinski\nÁngel Botello\nÁsgrímur Jónsson\nÉdouard Debat-Ponsan\nÉdouard Detaille\nÉdouard Manet\nÉdouard Vuillard\nÉlisabeth Vigée Le Brun\nÉmile Bernard\nÉtienne Aubry\nÉvariste Vital Luminais\nÓscar Domínguez\nÖdön Márffy\nÞórarinn B Þorláksson\nÞórarinn B. Þorláksson\nȘtefan Luchian\n"
  },
  {
    "path": "data/img2txt/flavors.txt",
    "content": "\bmoebius\n! apocalypse landscape!!\n! baron harkonnen!\n! dream\n! dream artgerm\n! haute couture!\n! holding in his hand !\n! low contrast!\n! monster anatomy!\n! movie scene\n! photorealistic\n! split hair dye!\n! two tone hair! dye\n!! half and half hair dye!!\n!! haute couture!!\n!! looking at the camera!!\n!! low contrast!!\n!! muted colors!!\n!! takeshi amano!!\n!! very coherent!!\n!!! cat!!!\n!!! colored photography\n!!! haute couture!!!\n!!! shallow depth of field!!!\n!!! very coherent!!! vector art\n!!!!\n!!!! cat!!!!\n!!!! very coherent!!!!\n!!!!! human eyes!!!!!!\n!!!!!!!!!!!!!!!!!!!!!!!!!\n!!!!mila kunis\n!!!anthropomorphic!!!\n!!!award-winning!!!\n!!!edward hopper!!! surrealism\n!!!esao andrews!!!\n!!award-winning!!\n!!beautiful!!\n!!full body portrait!!\n!!highly detailed\n!!highly detailed!!\n!!highly detalied\n!!natural beauty!!\n!!no glasses\n!!playing chess!!\n!!posing_as_last_supper\n!!wearing glasses!!\n!!wearing modern glasses!!\n!5 three eyed goddesses\n!8k!\n!anthropomorphic!\n!dramatic !face\n!dream abandoned rocket ship\n!dream concept art\n!dream los angeles\n!duke nukem 3d\n!face\n!female\n!pencil\n!seductive eyes and face!\n!subtle smiling!\n!updo hair\n#\n# 0 1 7 9 6 f\n# 1 digital painting of all time\n# 2 2 3 3 e 6\n# 4 2 0\n# 6 6 9 3 fs\n# 7 3 c 2 fb\n# 9 8 fb 9 8\n# character design\n# de 9 5 f 0\n# digital 2 d\n# dystopian art\n# e 4 e 6 2 0\n# e 5 3 7 1 b\n# film\n# fututistic\n# glazersout\n# macro\n# mecha\n# mechanical design\n# micro\n# mist # horror # magic # spell\n# myportfolio\n# nofilter\n# oc\n# pixelart\n# rococo\n# sci - fi\n# screenshotsaturday\n# smokeweedeveryday\n# vfxfriday\n#1 digital painting of all time\n#cameldeath\n#conceptart\n#green\n#illustration\n#macro\n#micro\n#oc\n#pixelart\n#pixelart:3\n#screenshotsaturday\n#trending\n#vfxfriday\n$100000000\n& a dark\n& a river\n& all the world around you\n& even a little mouse\n& her expression is solemn\n& jeehyung lee & wlop\n& the artist has used bright\n& the eyes & mouth are closed\n& they all look terrified\n' lost in a lucid dream\n' ramona flowers '\n''dragon breathing fire\n''wallpaper of a phoenix\n''wallpaper of a phoenix resting\n'0 0 s nostalgia\n'20\n'2d graphic design\n'9 0 s\n'a human head made of glass\n'action lines '!!!\n'action lines'!!!\n'dark sun'- campaign setting\n'friends' episode screenshot\n'friends' tv show episode\n'groovy'\n'he knows what you did '\n'i'm so tired\n'if all can begin again\n'lone dark figure'!!\n'silent hill '\n'the red citadel\n'untitled 9 '\n'wherever you go\n'white background'!!!\n( ( ( ( ( bomb\n( ( ( ( ( dan mumford ) ) ) ) )\n( ( ( ( ( garbage truck\n( ( ( ( ( jaguar e - type car\n( ( ( ( ( knight rider kitt\n( ( ( ( ( vermeer ) ) ) ) )\n( ( ( ( ( warhammer 4 0 k\n( ( ( ( 3 d render ) ) ) )\n( ( ( ( kauai ) ) ) )\n( ( ( ( volumetric light ) ) ) )\n( ( ( alien ) ) )\n( ( ( anime ) ) )\n( ( ( aquarium bed ) ) ) )\n( ( ( art deco ) ) )\n( ( ( bauhaus ) ) )\n( ( ( black witch hat ) ) ) )\n( ( ( buses\n( ( ( colorful ) ) )\n( ( ( copper ) ) ) wire whiskers\n( ( ( edward hopper ) ) )\n( ( ( el dia los muertos ) ) )\n( ( ( grant wood ) ) )\n( ( ( horror art ) ) )\n( ( ( in a dark\n( ( ( jenny saville ) ) )\n( ( ( kauai ) ) )\n( ( ( koi colors ) ) )\n( ( ( mickey mouse ) ) )\n( ( ( rainbow ) ) )\n( ( ( skeleton ) ) )\n( ( ( soviet tank ) ) )\n( ( ( surrealism ) ) )\n( ( ( synthwave ) ) )\n( ( ( volumetric lighting ) ) )\n( ( ( wearing jeans ) ) )\n( ( ( yoshinari yoh ) ) )\n( ( 3 d render ) )\n( ( abstract ) )\n( ( barclay shaw ) )\n( ( bauhaus ) )\n( ( bit flip | god of ai art ) )\n( ( brown skin ) )\n( ( brush stroke ) )\n( ( character concept art ) )\n( ( cinematic ) ) concept art\n( ( colored pen ) )\n( ( cyberpunk ) )\n( ( dark green\n( ( dark skin ) )\n( ( deep black eyes ) )\n( ( dia de los muertos ) )\n( ( dieter rams ) )\n( ( dither ) )\n( ( dithered ) )\n( ( dr sues ) )\n( ( emma lindstrom ) )\n( ( extreme detail ) )\n( ( eye glasses ) )\n( ( fantasy plants ) )\n( ( film noirs ) )\n( ( fractal waves ) )\n( ( generative ) )\n( ( glitch art ) )\n( ( glitch art pixel sorting ) )\n( ( god king of ai art ) )\n( ( habitat 6 7 background ) )\n( ( illustration\n( ( isometric ) )\n( ( konstantin razumov ) )\n( ( large black hat ) )\n( ( mads berg ) )\n( ( makoto shinkai ) )\n( ( mask ) )\n( ( misa amane # ) )\n( ( misty atmosphere ) )\n( ( photograph ) )\n( ( railings ) )\n( ( risograph ) )\n( ( robot cyborgs ) )\n( ( ruins of ancient rome ) )\n( ( spiderwoman ) )\n( ( stage lights ) )\n( ( stippled gradients ) )\n( ( strong dither ) )\n( ( strong stippled shadows ) )\n( ( sunbeams ) )\n( ( theatrical ) )\n( ( thomas kinkade ) )\n( ( unreal engine ) )\n( ( vibrating colors ) )\n( ( victo ngai ) )\n( ( wearing a long coat ) )\n( 3 1\n( alexander archipenko )\n( all seeing eye )\n( apocalyptic ) 8 k\n( art deco )\n( art fitzpatrick )\n( art nouveau )\n( asaf hanuka )\n( bear wearing sunglasses\n( beksinski )\n( bladerunner 2 0 4 9\n( boris johnson )\n( brown skin )\n( brush stroke )\n( castle in the background )\n( collage )\n( colorful )\n( conceptual art )\n( cyberpunk )\n( cyberpunk 2 0 7 7\n( dia de los muertos )\n( dieter rams )\n( dog ) jumps from mountain\n( dog ) jumps over hill\n( dog ) looks like elephant\n( el dia los muertos )\n( eos 5 ds r\n( evangelion )\n( ferris wheel )\n( few clouds )\n( film noirs )\n( gears of war )\n( geometric )\n( golden hour )\n( golden ratio )\n( golden ratio ) details\n( greg rutkowski )\n( h. r. giger )\n( herman nitsch\n( highly detailed figure )\n( ilya kuvshinov )\n( ivory black )\n( land )\n( leonardo da vinci )\n( low key light )\n( matte painting\n( mechanical )\n( moebius )\n( norman rockwell oil painting )\n( octane render )\n( pirate with a bandanna )\n( pixar ) and disney animation\n( queen chess piece\n( ray of sunlight )\n( ready - made )\n( redhead\n( rembrandt )\n( sasquatch\n( shy smiling face )\n( side ) profile\n( sony a 7 r iv\n( steampunk )\n( streamline moderne )\n( symmetrical )\n( the blood meridian\n( thomas kincade )\n( ultra realistic\n( ultra realistic )\n( vibrating colors )\n( visually stunning\n( waitress ) girl\n( watercolor )\n(((((((((an overgrown forest\n((((((((night)))))))) day time\n(((((((no glow)))))))\n(((((high tech\n((((dirt brick road))))\n((((exotic artifacts))))\n((((library interior))))\n((((lightning))))\n((((occult art))))\n((((octane render\n((((unreal engine))))\n((((volumetric lighting))))\n(((alphonse mucha)))\n(((colorful clouds)))\n(((conglomerate!\n(((dark colors)))\n(((dragonfly)))\n(((edward hopper)))\n(((flowers on hair)))\n(((forest)))\n(((francis bacon)))\n(((greek))) romanian\n(((high tech\n(((intricate)))\n(((knight)))\n(((low light)))\n(((luke chueh)))\n(((lumnious)))\n(((mad))) elf princess\n(((mist)))\n(((neon palette)))\n(((rusty)))\n(((thomas kinkade)))\n(((trees)))\n(((underwater lights)))\n(((unreal engine)))\n(((volumetric lighting)))\n(((yellow)))\n((a beautiful fantasy empress))\n((alphonse mucha))\n((at the kid choice awards))\n((blue))\n((chains))\n((dark fantasy\n((dark fantasy))\n((fish eye))\n((forest))\n((gears))\n((greenish blue tones))\n((gta 5 screenshot house))\n((habitat 67 background))\n((in a super market costco))\n((intricate))\n((messy))\n((mist))\n((monolith))\n((monster))\n((neon colors))\n((octane render\n((octane render))\n((oversaturated))\n((photorealistic))\n((pink))\n((portrait))\n((purple))\n((raytracing))\n((red)) baggy eyes\n((restrained))\n((robot))\n((rocks))\n((rust))\n((sharp focus))\n((skull))\n((space nebula background))\n((still life))\n((sunset))\n((synthwave))\n((tatsuro yamashita))\n((the mona lisa))\n((tiger))\n((trees))\n((unreal engine))\n((water color))\n((waves\n((wearing aristocrat robe))\n((woodblock))\n((yellow magic orchestra))\n((zerator))\n(1 as december\n(12x) extremely pale white skin\n(3 are winter\n(38 years old)\n(a bowl of fruit)!!!!!!!!!\n(abstract)\n(aesthetics)\n(akira 1988) highly detailed 8k\n(alphonse mucha)\n(anime girl)\n(anthropology of wonder)\n(art nouveau)\n(art station)\n(attack on titans anime)\n(beautiful eyes)\n(beautiful) girl\n(bee)\n(bolts)\n(books)\n(brave police j decker)\n(by tom purvis)\n(canon\n(cheese)\n(colonial expedition)\n(colour) eyes\n(cybernetic)\n(cyberpunk 2077)\n(dark shorter curly hair)\n(dia de los muertos)\n(digital art)\n(doctor)\n(empty black void)\n(eos 5ds r\n(ethereal)\n(exotic artifacts)\n(extremely detailed\n(fantasy violin)\n(fantasy)\n(fire)\n(fish eye)\n(flowers)\n(french bande dessinée)\n(gears)\n(golden hour)\n(good looking )\n(grin)\n(h.r giger)\n(heart)\n(high contrast)\n(hr giger)\n(inktober)\n(jean jules linden)\n(light orange mist)\n(mist filters)\n(mist)\n(monster)\n(moon in the background)\n(neon colors)\n(neotokyo)\n(night)\n(octane render\n(octane render) fantasy style\n(oil) painting\n(pen)\n(pink colors)\n(rust)\n(screen print)\n(sfw) safe for work\n(sharp)\n(smoke)\n(snow)\n(snowy new york in background)\n(sony a7r iv\n(steampunk)\n(synthwave)\n(tom cruise!!!!!) jester costume\n(tropicalism)\n(unreal engine)\n(vines)\n(waterfall)\n(webcomic)\n(winking)\n) ominous vibes\n* * *\n* * * * *\n* colour splash *\n**cinematic\n+++ +++ quality j.c. leyendecker\n++++ super veiny hands\n+81 magazine\n-\n- - ar 9 : 1 6\n- 12p\n- 6\n- 8\n- 8 k\n- 9\n- 9 9 9 mm macro lens\n- 9 9 mm macro lens\n- ar 1 6 : 9\n- g\n- h 1 0 2 4\n- h 6 4 0\n- h 7 0 4\n- h 7 6 8\n- h 768\n- h 8 0 4\n- h 8 5 0 - w 6 0 0\n- i\n- n 4\n- n 5\n- n 6\n- n 8\n- n 9\n- photorealistic\n- s 1 5 0\n- signature\n- w 1 0 2 4\n- w 7 6 8\n--ar 16:9\n--n 6\n--width 1600\n-4\n-640\n-h 1024\n-h 512\n-h 640\n-h 704\n-h 768\n-h 960\n-n 2\n-n 4\n-n 5\n-n 6\n-n 8\n-n 9\n-n4\n-n9\n-step 50\n-w 1024\n-w 512\n-w 768\n. background: jungle river\n. dramatic angle\n. ethereal lights\n. iridescent accents\n.. if only i could sleep\n..'\n.ai\n.eps\n.highly realistic\n/!\\ the sorceress\n/r/earthporn\n/r/pixelart\n/r/razer\n0\n0 0 0\n0 0 0 bc\n0 0 0 years ago\n0 0 s movie\n0 brainsucker render\n00% artistic\n000\n000 battle\n000 years ago\n000 — википедия\n1\n1 - bit\n1 / 1 0 0 0 sec shutter\n1 / 1 2 5\n1 / 1 2 5 shutter speed\n1 / 1 6 0 s\n1 / 1 6 th scale\n1 / 2 headshot\n1 / 3 headroom\n1 / 4 headshot\n1 / 4 portrait\n1 / 5 0 0 shutter speed\n1 / 6 katsuya terada\n1 / 6 sigma\n1 / 8 0 s\n1 / 8 katsuya terada\n1 0\n1 0 % cyberpunk\n1 0 / 1 0\n1 0 / 1 0 comedy\n1 0 0\n1 0 0 0\n1 0 0 0 best album covers\n1 0 0 0 mm\n1 0 0 0 x 1 0 0 0 pixel art\n1 0 0 1\n1 0 0 1 night\n1 0 0 ad\n1 0 0 m\n1 0 0 meter in the distance\n1 0 0 mm\n1 0 0 mm f 1. 8\n1 0 0 mm lens\n1 0 2 4 farben\n1 0 2 4 farben abstract\n1 0 2 4 x 7 6 8\n1 0 5 mm\n1 0 5 mm lens\n1 0 8 0 p\n1 0 8 0 p hd photo\n1 0 8 0 s\n1 0 8 megapixels\n1 0 mm\n1 0 mm lens\n1 0 mm nikon\n1 1 1 1\n1 2 - bit\n1 2 0 0 bc\n1 2 0 0 dpi\n1 2 0 0 dpi scan\n1 2 0 mm\n1 2 0 mm f 1 6\n1 2 0 mm film\n1 2 0 mm macro\n1 2 8 bit\n1 2 9 7\n1 2 k\n1 2 mm\n1 3 3 4 building\n1 3 5 mm\n1 3 5 mm nikon f / 2\n1 3 5 mm nikon portrait\n1 3 5 mm!!\n1 3 century style\n1 3 ghosts movie artwork\n1 3 mm film\n1 3 mm film color grading\n1 4 4 p\n1 4 5 0\n1 4 8 0 s\n1 4 9 3\n1 4 k hd quality\n1 4 mm\n1 5 0 0\n1 5 0 0 s\n1 5 0 4\n1 5 0 ml lens\n1 5 0 mm\n1 5 0 mm f 2. 8\n1 5 0 mm lens\n1 5 0 mp\n1 5 6 6\n1 5 9 5\n1 5 mm\n1 5 mm lens\n1 5 th century\n1 5 th century spanish soldier\n1 6 - 3 5 mm\n1 6 - bit\n1 6 0 0 s\n1 6 6 7\n1 6 6 7. mandelbulb 3 d\n1 6 9 5\n1 6 : 9\n1 6 : 9 ratio\n1 6 bit\n1 6 bit colors\n1 6 bits\n1 6 century style\n1 6 colors\n1 6 k\n1 6 k hd\n1 6 k resolution\n1 6 mm\n1 6 mm f 1. 4 lens\n1 6 mm film\n1 6 mm film vignette\n1 6 mm lens\n1 6 mm wideangle lens\n1 6 th century\n1 6 x 1 6\n1 6 years old\n1 7 - year - old anime goth girl\n1 7 - year - old boy thin face\n1 7 - year - old goth girl\n1 7 0 0 s\n1 7 0 0 s atlas\n1 7 0 0 s oil painting\n1 7 5 0 s oil painting\n1 7 8 0\n1 7 9 5\n1 7 mm\n1 7 th century\n1 7 th century art\n1 7 th century duchess\n1 8\n1 8 0 0 dpi\n1 8 0 0 s\n1 8 0 0 s soldier\n1 8 0 0 s vintage\n1 8 0 0's\n1 8 0 2\n1 8 2 4\n1 8 2 6\n1 8 2 7\n1 8 3 0 s style painting\n1 8 3 4\n1 8 4 0 s\n1 8 4 8\n1 8 5 0\n1 8 5 0 s\n1 8 5 0 s clothing\n1 8 5 0 s era clothes\n1 8 5 0 s era clothing\n1 8 5 0 s style painting\n1 8 5 4 crimea\n1 8 6 0 s\n1 8 6 2\n1 8 6 8\n1 8 6 9\n1 8 7 0\n1 8 7 0 s era clothing\n1 8 7 3\n1 8 7 6\n1 8 7 7\n1 8 8 0 photograph\n1 8 8 0 s\n1 8 8 0 s big german farmhouse\n1 8 8 0 s photograph\n1 8 8 0 s style\n1 8 8 1\n1 8 8 2\n1 8 8 3\n1 8 8 4\n1 8 8 7\n1 8 8 9\n1 8 9 0\n1 8 9 0 photography\n1 8 9 0 s\n1 8 9 0 s photography\n1 8 9 0 vintage photo\n1 8 9 5\n1 8 9 6\n1 8 century\n1 8 mm\n1 8 mm lens\n1 8 mm wide shot\n1 8 th century\n1 8 th century japanese painting\n1 8 th century manor\n1 8 th century oil painting\n1 8 th century perfume bottles\n1 8 th century south america\n1 8 th century spring ornaments\n1 8 th century style\n1 8 th century. oil on canvas\n1 8 year limit\n1 8 yo\n1 9 0 0\n1 9 0 0 s\n1 9 0 0 s photograph\n1 9 0 0 s photography\n1 9 0 0 s picture\n1 9 0 0 ’ s photo ”\n1 9 0 0's photo\n1 9 0 1\n1 9 0 2\n1 9 0 5\n1 9 0 9\n1 9 1 0\n1 9 1 0 polaroid photo\n1 9 1 0 s\n1 9 1 0 s film scene\n1 9 1 0 s photography\n1 9 1 0 s style\n1 9 1 3\n1 9 1 4\n1 9 1 6\n1 9 1 7\n1 9 1 9\n1 9 2 0\n1 9 2 0 cloth style\n1 9 2 0 s\n1 9 2 0 s advert\n1 9 2 0 s brooklyn\n1 9 2 0 s cloth\n1 9 2 0 s cloth hair\n1 9 2 0 s cloth style\n1 9 2 0 s clothes\n1 9 2 0 s fashion\n1 9 2 0 s film actor\n1 9 2 0 s film actress\n1 9 2 0 s furniture\n1 9 2 0 s hair\n1 9 2 0 s hairstyle\n1 9 2 0 s minimalism style\n1 9 2 0 s monochrome snapshot\n1 9 2 0 s photograph\n1 9 2 0 s photography\n1 9 2 0 s room\n1 9 2 0 s style\n1 9 2 0 ’ s colored pencil\n1 9 2 0's\n1 9 2 0's colored pencil\n1 9 2 0's sci - fi\n1 9 2 0's style speakeasy\n1 9 2 2\n1 9 2 3\n1 9 2 4\n1 9 2 5\n1 9 2 7\n1 9 2 7 oil on canvas\n1 9 2 8\n1 9 3 0\n1 9 3 0 s\n1 9 3 0 s -'4 0 s baltar lenses\n1 9 3 0 s film still\n1 9 3 0 s haircut\n1 9 3 0 s jazz club\n1 9 3 0 style\n1 9 3 1\n1 9 3 2\n1 9 3 3\n1 9 3 4\n1 9 3 5\n1 9 3 6\n1 9 3 7\n1 9 3 7 pontiac sedan\n1 9 3 8 photo\n1 9 3 9\n1 9 4 0\n1 9 4 0 picture\n1 9 4 0 s\n1 9 4 0 s film noir\n1 9 4 0 s haircut\n1 9 4 0 s street scene\n1 9 4 0 setting\n1 9 4 0's\n1 9 4 1\n1 9 4 2\n1 9 4 4\n1 9 4 5\n1 9 4 6\n1 9 4 7\n1 9 4 8 desoto car\n1 9 4 8 photo\n1 9 5 0\n1 9 5 0 s\n1 9 5 0 s americana tourism\n1 9 5 0 s concept art\n1 9 5 0 s concept art ) ) )\n1 9 5 0 s horror movie poster\n1 9 5 0 s movie poster\n1 9 5 0 s scifi\n1 9 5 0 s scrambler\n1 9 5 0 s style\n1 9 5 0 s thriller\n1 9 5 0's\n1 9 5 0's decor\n1 9 5 0's futuristic\n1 9 5 4\n1 9 5 5\n1 9 5 6\n1 9 5 8\n1 9 6 0\n1 9 6 0 cartoon style\n1 9 6 0 s\n1 9 6 0 s art\n1 9 6 0 s cafe racer\n1 9 6 0 s perfume bottle ads\n1 9 6 0 s psychology book cover\n1 9 6 0 s soviet poster\n1 9 6 0 s space girl\n1 9 6 0 s technicolor\n1 9 6 0 ’ s fashion\n1 9 6 0's\n1 9 6 0's sci - fi\n1 9 6 1\n1 9 6 2\n1 9 6 3\n1 9 6 4\n1 9 6 5\n1 9 6 5 lightning\n1 9 6 6\n1 9 6 7\n1 9 6 8\n1 9 6 9\n1 9 7 0\n1 9 7 0 colour photography\n1 9 7 0 cut out collage\n1 9 7 0 film photography\n1 9 7 0 s\n1 9 7 0 s analog aesthetic\n1 9 7 0 s analog video\n1 9 7 0 s car window closeup\n1 9 7 0 s comic book\n1 9 7 0 s female alive\n1 9 7 0 s film\n1 9 7 0 s illustration\n1 9 7 0 s japanese tv show\n1 9 7 0 s movie poster\n1 9 7 0 s photo\n1 9 7 0 s poster\n1 9 7 0 s sci - fi\n1 9 7 0 s science fiction\n1 9 7 0 s style\n1 9 7 0 science fiction movie\n1 9 7 0's\n1 9 7 0's sci - fi movie\n1 9 7 0's science fiction\n1 9 7 2\n1 9 7 3\n1 9 7 3 photo from life magazine\n1 9 7 4\n1 9 7 5\n1 9 7 5 photo\n1 9 7 6\n1 9 7 6 cut out collage\n1 9 7 7\n1 9 7 8\n1 9 7 9\n1 9 7 9 omni magazine cover\n1 9 8 0\n1 9 8 0 movie still\n1 9 8 0 s\n1 9 8 0 s aesthetic\n1 9 8 0 s airbrush\n1 9 8 0 s analog video\n1 9 8 0 s and 1 9 2 0 s airbrush\n1 9 8 0 s business fashion\n1 9 8 0 s catalogue photo\n1 9 8 0 s cgi\n1 9 8 0 s children's show\n1 9 8 0 s computers\n1 9 8 0 s concept art\n1 9 8 0 s flower power hippy\n1 9 8 0 s hairsprayed hair\n1 9 8 0 s movie poster\n1 9 8 0 s movie still\n1 9 8 0 s mullet haircut\n1 9 8 0 s photo\n1 9 8 0 s poster style\n1 9 8 0 s retro sci - fi art\n1 9 8 0 s sci - fi\n1 9 8 0 s sci - fi cover art\n1 9 8 0 s sci - fi movie\n1 9 8 0 s science fiction\n1 9 8 0 s style\n1 9 8 0 s tech\n1 9 8 0 s woman\n1 9 8 0's\n1 9 8 0's art\n1 9 8 0's heavy metal album art\n1 9 8 0's minimalistic\n1 9 8 0's movie poster\n1 9 8 0's sci - fi style\n1 9 8 0's scifi\n1 9 8 1\n1 9 8 2\n1 9 8 2 horror film\n1 9 8 2 life magazine photograph\n1 9 8 3\n1 9 8 4\n1 9 8 4 ethiopian famine\n1 9 8 5\n1 9 8 5 photograph\n1 9 8 6\n1 9 8 6 kenner action figure\n1 9 8 6 movie screenshot\n1 9 8 7\n1 9 8 8\n1 9 8 8 melt movie classic\n1 9 8 9\n1 9 8 9 disney\n1 9 8 9 movie still\n1 9 9 0\n1 9 9 0 photograph magazine\n1 9 9 0 s\n1 9 9 0 s anime\n1 9 9 0 s comic book style\n1 9 9 0 s life magazine\n1 9 9 0 s style\n1 9 9 0's\n1 9 9 0's anime\n1 9 9 0's wwe publicity photo\n1 9 9 1\n1 9 9 2\n1 9 9 2 live at lollapalooza\n1 9 9 3\n1 9 9 3 photo from life magazine\n1 9 9 4\n1 9 9 5\n1 9 9 6\n1 9 9 7\n1 9 9 8\n1 9 9 8 photo\n1 9 9 8 render\n1 9 9 8's anime\n1 9 9 9\n1 9 9 9 aesthetic\n1 9 9 9 photo from life magazine\n1 9 century\n1 9 th\n1 9 th century\n1 9 th century london\n1 9 th century oil painting\n1 9 th century painting\n1 9 th century photography\n1 9 th century scene\n1 9 year old\n1 : 1 album artwork\n1 : 1 aspect ratio\n1 : 1 brutal design\n1 : 1 hyper illustration\n1 as february)\n1 as january\n1 female\n1 figure only\n1 glowing bridge crossing river\n1 male\n1 petapixel image\n1 red shoe 1 blue shoe\n1 st place\n1 st winner\n1 staircase\n1-point perspective\n1. 2 aperture\n1.2\n1.2 aperture\n1.4\n1.8 aperture\n1.8f\n1/100 obturation speed\n1/100 sec\n1/1000\n1/1000 sec shutter\n1/125\n1/1250s at f/2.8\n1/1250sec at f/2.8\n1/160s\n1/2 pro mist filter\n1/2 second shutter speed\n1/200s\n1/250s\n1/30\n1/320\n1/4 profile\n1/4 shutter speed\n1/400\n1/400 shutterspeed\n1/4th shutterspeed\n1/500s\n1/6 garage resin kit\n1/60\n10\n10 bit colour\n10 mm\n10 years old\n10% surreal\n100\n100 mm lens\n100 mm sigma art\n100-300mm canon f/5.6\n1001 nights\n100k\n100lb cardstock\n100mm\n100mm lens\n100mm sigma lens\n1024x1024\n1032106751\n105mm\n108 megapixels\n1080p\n1080p 4k resolution\n1080s\n10k\n10k resolution\n10mm\n10mm camera\n10mm fisheye\n10mm lens\n10th doctor who\n11 years old\n1120mm lens\n1128x191 resolution\n12\n12 figures\n12 megapixels\n12 years old\n120 black and white film\n120 degree view\n1200 dpi\n120k resolution\n120mm\n120mm black and white photograph\n123456789\n1285445247]\n128k\n12in action figure\n12k\n12k ursa\n12mm\n12mm wide-angle\n12mpx\n12p\n12th century apothecary shop\n1309988900\n130mm\n135 mm\n135mm\n135mm camera lens\n135mm lens\n135mm nikon f/2\n136412351\n14 yo berber boy\n1400s\n144p\n144x144 canvas\n1450\n14k gold wire\n14k hd quality\n14mm\n14mm lens\n14mm wide angle lens f8 aperture\n14th century\n15 mm\n15 mm octane render\n15 years old\n150 mm\n150 mm lens\n1500\n1500's\n1500s oil portrait\n1505\n15081959 21121991 01012000 4k\n1508195921121991010120004k\n150mm\n150mm lens\n150mp\n155 cm tall\n15mm\n15mm lens\n15mm wide angle close up\n15th century\n15th century european fine art\n16 bit\n16 bits\n16 bits graphic\n16 colors\n16 thousand\n16 thousand - n 6\n16-bit\n16-bit rgb\n1600 iso\n1600 south azusa avenue\n1614572159\n16384k film\n1647\n165 cm tall\n1666\n1683\n16:9\n16bit\n16bits\n16bits videogame\n16k\n16k 3d\n16k hd\n16k hyper realistic photograph\n16k render\n16k resolution\n16k resolution:0.6|people\n16k resolution:0.8\n16k uhd\n16k ultra-realistic 3d\n16k upscaled image\n16mm\n16mm f/1.4\n16mm film\n16mm film live soft color\n16mm film soft color\n16mm grain\n16mm lens\n16mm photography\n16mm soft light\n16mm wide angle lens\n16th century\n16th century painting\n1700s\n1759\n1775 oil painting\n1786560639\n1787\n1789\n1790\n1792\n17mm\n17th century\n17th century dutch attire\n17th century european fine art\n17th century oil painting\n17th century painting\n17th-century\n18 mm lens\n18 years old\n1800\n1800 photograph\n1800s\n1800s painting\n1800s photo of a deformed\n1801446143\n180mm f/1.8\n1811\n1820\n1824\n1825-1829\n1840\n1840572578\n1840580735\n1840s\n1848\n1849\n1850\n1850s\n1852\n1856\n1857\n1860\n1860 photograph\n1862\n1863\n1865\n1866\n1868\n1870s\n1871 punch magazine cartoon\n1872\n1875\n1878\n1880\n1880 photograph\n1882. epic\n188216907\n1883\n1884\n1885\n1889\n1890\n1890 photo\n1890s\n1894\n1895\n1896\n1898\n18mm\n18mm lens\n18th century\n18th century art\n18th century drawing\n18th century oil painting\n18th century painting\n18th century photograph\n19 century\n19-year-old girl\n1900\n1900 illustration artwork\n1900's\n1900's photography\n1900s\n1900s photo\n1900s photograph\n1900s photography\n1900s picture\n1900’s photo”\n1901\n1902\n1904\n1905\n1907\n1908\n1910\n1910 photography\n1910 polaroid photo\n1910 polaroid photography\n1910s\n1910s architecture\n1910s film scene\n1910s film still\n1910s paris\n1911\n1913\n1914\n1915\n1916\n1918\n1919\n1920\n1920 style\n1920'\n1920's london street\n1920s\n1920s archeologically photo\n1920s art deco\n1920s film\n1920s gaudy color\n1920s geisha\n1920s london street\n1920s neo rococo expressionist\n1920s orientalism\n1920s photograph\n1920s photography\n1920s picture\n1920s speculative futurism\n1920s studio lighting\n1920s style\n1920s vibes\n1921\n1923\n1924\n1925\n1929\n1930\n1930 photo\n1930897407\n1930s\n1930s film\n1930s film still\n1930s photograph\n1930s style clothing\n1932\n1933\n1934\n1935\n1935 bmw m1 stratos\n1936\n1939\n1940\n1940's musician playing drums\n1940's photography\n1940s\n1940s faded risograph print\n1940s food photography\n1940s photo\n1940s photography\n1940s propaganda poster\n1942\n1943\n1944\n1945\n1946\n1947\n1948\n1950\n1950's\n1950s\n1950s art deco\n1950s family\n1950s film noir\n1950s illustration style\n1950s korean film noir\n1950s korean thriller film noir\n1950s photograph\n1950s press photo\n1950s retro cactus robot\n1950s vibes\n1950’s\n1951\n1952\n1954\n1955\n1956\n1957\n1957 chevrolet bel air\n1958\n1958 ferrari 250 gt\n1959\n1960\n1960's\n1960's olympics\n1960's olympics footage\n1960's rankin bass stop motion\n1960s\n1960s advertisement\n1960s american world's fair\n1960s american worlds fair\n1960s cartoon\n1960s color photograph\n1960s flower power hippy\n1960s illustration\n1960s neo rococo expressionist\n1960s orientalism\n1960s spy\n1960s style\n1960s technicolor\n1960s-era\n1961\n1961”\n1962\n1962 soviet\n1963\n1964\n1964 jerry lewis nutty professor\n1965\n1966\n1967\n1968\n1968 cut out collage\n1968 psychedelic\n1968 science fiction tarot card\n1968 soviet\n1968 soviet japanese\n1969\n1970\n1970 furniture\n1970 photo from live magazine\n1970 poster\n1970'\n1970's\n1970s\n1970s cinema camera\n1970s comic art style\n1970s fashion\n1970s hippie cloth style\n1970s philippines\n1970s photo\n1970s style\n1970s vintage art\n1970s x-men art style\n1971\n1972\n1972 soviet\n1973\n1973 photo from life magazine\n1974\n1974 porsche 911\n1975\n1976\n1976 magazine cover\n1976 poster\n1976 science fiction poster\n1977\n1978\n1978 color fellini film\n1978 cut out collage\n1979\n1979 omni magazine\n1979 omni magazine cover\n1980\n1980 cars\n1980 cinematography\n1980 manga\n1980 photo\n1980 style\n1980's\n1980's anime style\n1980s\n1980s aesthetic\n1980s arcade\n1980s art\n1980s cartoon\n1980s comic book panel\n1980s computer graphics\n1980s fantasy art\n1980s metal artwork\n1980s photo\n1980s photograph\n1980s photography\n1980s pulp fantasy\n1980s romance book cover\n1980s sci-fi\n1980s style\n1980s surrealism aesthetic\n1980s versace ad\n1981\n1981 photograph\n1982\n1982 color fellini film\n1983\n1984\n1985\n1985 cheverlot k20 c10\n1985 vector w8 twin turbo\n1986\n1987\n1987 photograph\n1987 pulp art\n1987 video game boxart\n1988\n1988 video game screenshot\n1989\n1990\n1990 manga panel\n1990 photograph\n1990 video game screenshot\n1990's\n1990's diner full of zombies\n1990's photo\n1990's sears portrait photo\n1990s\n1990s 1992\n1990s 1992 sega genesis box art\n1990s anime\n1990s arcade machine\n1990s bedroom\n1990s cartoon\n1990s fashion\n1990s horror book cover\n1990s photograph\n1991\n1991 video game screenshot\n1992\n1992 video game concept art\n1993\n1993 anime\n1993 video game cover\n1993 video game screenshot\n1994\n1994 vhs quality\n1994 video game screenshot\n1995\n1995 movie\n1996\n1996)\n1997\n1997 )\n1998\n1998 photo\n1999\n1999 photograph\n19th century\n19th century fantasy\n19th century oil painting\n19th century painting\n19th century wood-engraving\n19th century woodcut\n19th-century\n19xx\n19xx :2 akira movie style : 8\n1:1 album artwork\n1:87\n1k hd\n1km tall\n1x\n2\n2 - bit\n2 - dimensional\n2 - minute tabletop\n2 - point perspective\n2 0\n2 0 % pearlescent detailing\n2 0 0 0\n2 0 0 0 ad magazine setting\n2 0 0 0 s\n2 0 0 0 s cartoon\n2 0 0 0 s cover art\n2 0 0 0's photo\n2 0 0 1\n2 0 0 1 : a space odyssey\n2 0 0 1 a space odyssey\n2 0 0 1 anime\n2 0 0 1 space odyssey\n2 0 0 2\n2 0 0 2 photo\n2 0 0 4\n2 0 0 4 photograph\n2 0 0 5\n2 0 0 6\n2 0 0 6 advertising promo shot\n2 0 0 6 youtube video\n2 0 0 7\n2 0 0 8\n2 0 0 9\n2 0 0 iso\n2 0 0 mm\n2 0 0 mm focal length\n2 0 0 mm focus\n2 0 0 mm lens\n2 0 0 mm telephoto\n2 0 0 mm wide shot\n2 0 1 0\n2 0 1 0 photo\n2 0 1 0 s\n2 0 1 1\n2 0 1 2\n2 0 1 2 watermelon diner\n2 0 1 4\n2 0 1 4. modern attire\n2 0 1 5\n2 0 1 5 cinematography\n2 0 1 5 live music video\n2 0 1 6\n2 0 1 7\n2 0 1 8\n2 0 1 9\n2 0 1 9 anime\n2 0 1 9 anime screenshot\n2 0 2 0\n2 0 2 0 award winning painting\n2 0 2 0 fashion\n2 0 2 0 s promotional art\n2 0 2 1\n2 0 2 1 anime\n2 0 2 1 award winning painting\n2 0 2 1 cinematic 4 k framegrab\n2 0 2 1 formula 1 audi car\n2 0 2 2\n2 0 2 2 anime style\n2 0 2 2 photo\n2 0 2 2 picture of the year\n2 0 2 3\n2 0 2 3 senior graduation shirt\n2 0 2 4\n2 0 2 5 popstar comeback single\n2 0 5 0 s\n2 0 5 0 scary movie\n2 0 5 6\n2 0 5 6 x 2 0 5 6\n2 0 7 7\n2 0 megapixels\n2 0 mm\n2 0 mm lens\n2 0 s\n2 0 th century\n2 0 years old\n2 0 yo\n2 1 0 mm\n2 1 0 mm ƒ / 6 4 zeiss tessar\n2 1 mm\n2 1 savage\n2 1 st century\n2 1 st century monk\n2 2 0 film\n2 2 mm lens\n2 2 nd century!!!!! town street\n2 2 year old mary louise brooks\n2 2 years old\n2 3 years old\n2 4 - year - old man\n2 4 0 0 dpi\n2 4 0 p footage\n2 4 mm\n2 4 mm anamorphic lens\n2 4 mm iso 8 0 0\n2 4 mm iso 8 0 0 color\n2 4 mm leica anamorphic lens\n2 4 mm lens\n2 4 mm lenses\n2 4 mm wide angle\n2 4 mm wide angle anamorphic\n2 4 mp\n2 4 year old female model\n2 4 years old\n2 5 0 mm sharp lens\n2 5 6 colors\n2 5 6 colours\n2 5 6 x 2 5 6\n2 5 6 x 2 5 6 pixels\n2 5 mm\n2 5 mm lens\n2 5 mm portra\n2 5 th anniversary music video\n2 5 year old\n2 5 years old\n2 5 yo\n2 6 mm\n2 7 0 0 k\n2 7 years old\n2 8 mm\n2 8 mm color\n2 8 mm heroic scale\n2 8 mm lens\n2 8 mm macro photo\n2 8 year old mary louise brooks\n2 8 years old\n2 9 years old\n2 angels\n2 animals\n2 arms\n2 arms and 2 legs\n2 arms and 2 legs!\n2 b\n2 b from nier automata\n2 chainz\n2 color\n2 colors\n2 colour print\n2 colours\n2 d\n2 d - animation\n2 d animation\n2 d anime\n2 d anime style\n2 d art\n2 d autocad\n2 d axonometric overhead view\n2 d cartoon\n2 d cg\n2 d concept art head macro shot\n2 d depth map\n2 d digital\n2 d digital art\n2 d digital vector art\n2 d digital video game art\n2 d drawing\n2 d from gorillaz\n2 d full body lion\n2 d game\n2 d game art\n2 d game art background\n2 d game art gta cover\n2 d game assets\n2 d game environment design\n2 d game lineart behance hd\n2 d generative art\n2 d gorillaz\n2 d gouache illustration\n2 d hd\n2 d illustration\n2 d image\n2 d lasercut earrings\n2 d logo\n2 d low polygon art\n2 d matte\n2 d overhead view\n2 d platformer\n2 d render\n2 d spell vfx\n2 d sprite\n2 d sprites\n2 d sprites asset sheet\n2 d style\n2 d texture\n2 d vector art\n2 d vector logo\n2 dimensional\n2 eyes\n2 k\n2 k aesthetic\n2 meters\n2 mpx quality\n2 muscular attractive men\n2 people\n2 point lighting\n2 point lights\n2 point perspective\n2 point studio lighting\n2 rappers on stage at concert\n2 techwear women\n2 tone colors only\n2 wings\n2 years old\n2-bit\n2-dimensional\n2-minute tabletop\n2. 5 - dimensional\n2. 5 d\n2. 5 d cgi anime fantasy artwork\n2. 5 d illustration\n2. sigara aşırmak\n2.35:1 ratio\n2.5 - dimensional\n2.5d\n20 century photography\n20 megapixels\n20 years old\n20% pearlescent detailing\n200 iso\n200 mm\n200 mm lens\n2000\n2000 ad magazine setting\n2000s\n2000s cartoon\n2000s photo\n2001\n2001 a space odissey\n2001 a space odyssey\n2001 anime\n2001 space odyssey\n2001: a space odyssey\n2002\n2002 morrowind graphics\n2002 photo\n2003\n2003 cinematography\n2004\n2004 photograph\n2005\n2005 blog\n2006\n2006 photograph\n2006 youtube video\n2007\n2007 blog\n2008\n2008 cinematography\n2009\n2009 cinematography\n2009)\n200iso\n200mm\n200mm f/2.0\n200mm focal length\n200mm focus\n200mm lens\n200mm prime lens\n200mm telephoto\n200mm wide shot\n2010\n2010s\n2011\n2011 comic-con\n2012\n2013\n2013 scion tc\n2014\n2015\n2015 alfa romeo 4c\n2015 cinematography\n2016\n2017\n2018\n2018 cinematography\n2019\n2019 anime\n2019 anime screenshot\n2019 bmw m5 wagon\n2019 trending photo\n2020\n2020 video game screenshot\n2021\n2021 anime\n2021 award winning painting\n2021 cinematic 4k framegrab\n2022\n2022 anime style\n2022 movie\n2022 photograph\n2022 picture of the year\n2023\n2023 4k\n2024\n2025\n2025 popstar comeback single\n2029\n2030\n2030s\n2040\n2045\n2049\n2050\n2063300223\n2070\n2070s\n2077\n2099 neo-tokyo\n20b parameters\n20k\n20mm\n20mm camera\n20mm film\n20mm lens\n20th century\n20yo\n21 savage\n21 years old\n210mm ƒ / 64 zeiss tessar\n21:9\n21st century\n21st century monk\n22 megapixels\n22 year old mary louise brooks\n22 years old\n2223194009\n2263539546]\n22mm\n22mm lens\n23 years old\n24 - year - old man\n24 35 mm\n24 mm\n24 mm lens\n24 mm shot\n24 year old female model\n2400 dpi\n240p\n240p footage\n2435mm\n24k\n24mm\n24mm anamorphic lens\n24mm f/1.4\n24mm f8 aperture\n24mm film\n24mm hasselblot photography\n24mm iso 800\n24mm iso 800 color\n24mm leica anamorphic lens\n24mm lens\n24mm lenses\n24mm shot\n24mm tilt-shift\n24mm wide angle anamorphic\n24mp\n25 years old\n250 mm sharp lens\n2506921471\n250mm sharp lens\n250mp\n256 colors\n256435456k film\n256x256\n256x256 pixels\n25mm\n25mm f/1.7 asph lens\n25mm f/1.8\n25mm film grain\n25mm lens\n25yo\n26 year old man on a sailboat\n2654465279\n268435456k film\n26mm\n27\n27 years old\n2700k\n2708519935\n2717433015\n278122496\n28 year old mary louise brooks\n28 years old\n2806927615\n28mm\n28mm dramatic photo\n28mm heroic scale\n28mm lens\n28mm macro photo\n28mm scale\n2995599206\n2b\n2b from nier automata\n2b nier automata\n2d\n2d 8bits graphic\n2d animation\n2d art\n2d art cover\n2d art gta5 cover\n2d cartoon\n2d cinematic\n2d concept art\n2d digital art\n2d digital illustration\n2d digital vector art\n2d drawing\n2d from gorillaz\n2d game art\n2d game art gta cover\n2d game art gta5 cover\n2d game asset\n2d game background\n2d game fanart\n2d game lineart behance hd\n2d icon\n2d illustration\n2d matte\n2d matte illustration\n2d minimalism\n2d minimalist vector art\n2d movie still\n2d portrait\n2d side scrolling game\n2d side view\n2d solid shape logo\n2d texture\n2d vector art\n2d/3d mashup poster design\n2dcg\n2dimensional\n2k\n2k aesthetic\n2mpx quality\n3\n3 - d\n3 - d 4 k\n3 - d 8 k\n3 - d highly detailed\n3 - d render\n3 - d shadows\n3 - dimensional\n3 - piece\n3 / 4\n3 / 4 back view\n3 / 4 extra - wide shot\n3 / 4 lighting\n3 / 4 photographic close\n3 / 4 portrait\n3 / 4 pose\n3 / 4 shot\n3 / 4 view\n3 / 4 view from back\n3 / 4 view of woman with wings\n3 / 4 view portrait\n3 / 4 wide shot\n3 0\n3 0 0\n3 0 0 0 ( dr. john a. zoidberg )\n3 0 0 dpi\n3 0 0 mm\n3 0 0 mm lens\n3 0 0 mm telephoto lens\n3 0 mm\n3 0 mm camera\n3 0 mm lens\n3 0 s\n3 0 years old\n3 0 years old woman\n3 0 years woman\n3 1\n3 2 - bit\n3 2 - year - old\n3 2 - year - old man\n3 2 k\n3 2 k huhd\n3 2 k resolution\n3 2 k uhd\n3 2 megabit\n3 2 megapixel\n3 2 mm\n3 2 mm photograph\n3 2 x 3 2\n3 2 years old\n3 3 mm\n3 4 5 3 1\n3 5 degree shot\n3 5 mm\n3 5 mm black and white\n3 5 mm camera\n3 5 mm close up\n3 5 mm color\n3 5 mm color photography\n3 5 mm colour\n3 5 mm cooke\n3 5 mm digital photo\n3 5 mm ektachrome\n3 5 mm f 1. 2\n3 5 mm f 1. 4\n3 5 mm f 1. 4 digital photo\n3 5 mm f 1. 4 lens\n3 5 mm f 1. 4 photography\n3 5 mm f 1. 8\n3 5 mm film\n3 5 mm film grain\n3 5 mm film kodak\n3 5 mm film kodak 1 9 8 0 s\n3 5 mm film look\n3 5 mm film photo\n3 5 mm film photograph\n3 5 mm film photography\n3 5 mm film still\n3 5 mm grain filter\n3 5 mm grainy film\n3 5 mm imax\n3 5 mm kodachrome\n3 5 mm kodak\n3 5 mm kodak color\n3 5 mm kodak color ektochrome\n3 5 mm kodak color film\n3 5 mm kodak color stock\n3 5 mm kodak film\n3 5 mm lens\n3 5 mm lense\n3 5 mm lomography\n3 5 mm macro lens\n3 5 mm macro shot\n3 5 mm photo\n3 5 mm photograph\n3 5 mm photography\n3 5 mm pointing up\n3 5 mm portrait\n3 5 mm shot\n3 5 mm slide\n3 5 mm still photo\n3 5 mm!!!!! lens\n3 5 mm!!!!!! lens\n3 5 year brazilian mother\n3 5 years old\n3 5 °\n3 6 0 capture\n3 6 0 head\n3 6 0 p\n3 6 0 panorama\n3 6 0 picture\n3 6 0 projection\n3 6 0 render panorama\n3 6 years old\n3 8 - year - old\n3 9 mm lens\n3 actors on stage\n3 am\n3 are spring\n3 are summer and 3 are autumn\n3 are summer and 3 are autumn)\n3 are winter\n3 band lineup\n3 boat in river\n3 color screen print\n3 colors\n3 colour\n3 colour print\n3 colours\n3 d\n3 d + digital art\n3 d - concept\n3 d 4 k\n3 d 8 k\n3 d 8 k octane rendered\n3 d animated\n3 d animated movie\n3 d animation\n3 d animation demo reel\n3 d anime\n3 d anime realistic\n3 d ape shaman profile portrait\n3 d ar vr art\n3 d art\n3 d artist\n3 d artistic render\n3 d artwork\n3 d bee\n3 d bold\n3 d cartoon\n3 d celtic knot\n3 d cg\n3 d cgi\n3 d cgi render\n3 d character\n3 d character art\n3 d character concept\n3 d character concept artwork\n3 d character model\n3 d character reference sheet\n3 d character render\n3 d cinematic lighting\n3 d cinematic scene\n3 d cinematic volumetric light\n3 d city\n3 d clay figure\n3 d clay render\n3 d clay sculpture\n3 d close - up\n3 d concept\n3 d concept art\n3 d concept render\n3 d cyberpunk apocalyptic city\n3 d daz occlusion\n3 d demo reel avatar\n3 d depth\n3 d design\n3 d design for tattoo\n3 d digital art\n3 d epic illustrations\n3 d filament\n3 d film\n3 d finalrender\n3 d fluid simulation render\n3 d fractal\n3 d fractals\n3 d game\n3 d game art\n3 d geometric neon shapes\n3 d giant orchid flower\n3 d goddess minerva\n3 d goddess portrait\n3 d goggles\n3 d graffiti texture\n3 d graphics\n3 d hammer modeling\n3 d head of green hedgehog\n3 d high definition\n3 d highly detailed\n3 d houdini\n3 d hyper realistic render\n3 d icon for mobile game\n3 d illustration\n3 d illutration\n3 d image\n3 d isometric\n3 d landscape\n3 d littlest pet shop animal\n3 d littlest pet shop cat\n3 d littlest pet shop horse\n3 d logo\n3 d low poly render\n3 d material\n3 d maya\n3 d maya render\n3 d mesh\n3 d metallic ceramic\n3 d model\n3 d model rip\n3 d modeling\n3 d modelling\n3 d models\n3 d movie still\n3 d neon art of a womens body\n3 d nft\n3 d object\n3 d occlusion\n3 d octane\n3 d octane cycle unreal engine 5\n3 d octane remder\n3 d octane render\n3 d octane render 8 k\n3 d octane render conceptart\n3 d octane rendered\n3 d octane rendering\n3 d of the ethereum symbol\n3 d oil painting\n3 d ornate carved water heart\n3 d painter photoshop\n3 d perspective\n3 d photorealistic\n3 d photorealistic render\n3 d pixar\n3 d platonic solids\n3 d point perspective\n3 d precious moments plush cat\n3 d print\n3 d printing\n3 d product render\n3 d ray traced crystals and gems\n3 d ray tracing\n3 d raytraced masterpiece\n3 d raytracing\n3 d realistic\n3 d reflections\n3 d render\n3 d render 1 5 0 mm lens\n3 d render 8 k\n3 d render 8 k shoot\n3 d render and matte painting\n3 d render beeple\n3 d render character art 8 k\n3 d render even lit\n3 d render in octane\n3 d render n - 9\n3 d render octane\n3 d render of a full female body\n3 d render of a scifi spaceport\n3 d render of a shaman\n3 d render of an aston martin\n3 d render of jerma 9 8 5\n3 d render official art\n3 d render stylized\n3 d rendered\n3 d rendered in octane\n3 d rendering\n3 d rendering!\n3 d renders\n3 d rim light\n3 d scene\n3 d scifi art\n3 d sculpt\n3 d sculpture\n3 d sculpture 8 k octane render\n3 d sculpture octane render 8 k\n3 d sculpture of carving marble\n3 d shaded\n3 d shading\n3 d shadowing\n3 d shadows\n3 d shapes\n3 d society\n3 d software\n3 d structure\n3 d studio max\n3 d stylize scene\n3 d toy aztec gods as funco toy\n3 d ue 5\n3 d unreal 5\n3 d unreal engine\n3 d unreal engine render\n3 d vector\n3 d video game\n3 d videogame render\n3 d virtual landscape painting\n3 d vray render\n3 d white shiny thick\n3 dcg\n3 dcoat\n3 dex\n3 dimensional\n3 dmax\n3 do magazine\n3 doors\n3 drender\n3 ds max\n3 ds max + v - ray\n3 ds max + vray\n3 dsmax\n3 figures as winter spirits\n3 heads\n3 jazz musicians\n3 layers of sky above each other\n3 light sources\n3 mary's\n3 meters\n3 mm\n3 moons\n3 nymphs circling a fountain\n3 panel action scenes\n3 pm\n3 point lighting\n3 point perspective\n3 rd person action adventure\n3 rd person action adventure rpg\n3 rd person game\n3 sisters look into the mirror\n3 spring deities\n3 ss max\n3 winter deities\n3 woodland critters\n3 young and beautiful women\n3-d\n3-d 4k\n3-d 8k\n3-dimensional\n3-piece\n3-piece-suit\n3-point perspective\n3/4\n3/4 back view\n3/4 bust\n3/4 extra - wide shot\n3/4 front view\n3/4 photographic close\n3/4 portrait\n3/4 pose\n3/4 profile\n3/4 shot\n3/4 side view\n3/4 view\n3/4 view from back\n3/4 view from below\n3/4 view of woman with wings\n3/4 view portrait\n3/4 view realistic\n3/4 wide shot\n30 mm\n30 mm lens\n30 year old man\n30 year old man :: athletic\n30 years old\n30 years old woman\n30-year-old french woman\n30-year-old woman from cuba\n300 dpi\n300 mm depth of field bokeh\n300 the movie\n300mm\n300mm depth of field bokeh\n300mm lens\n300mm lense\n300mm telephoto bokeh\n300mm telephoto lens\n303\n30mm\n30mm film\n30mm lens\n30mm photography\n30s\n3127318783\n3156350975\n32 megabit\n32 megapixel\n32 years old\n32-bit\n32-bit pixel art\n32-year - old man\n3237315913\n3274589695\n3278750727\n3284479999\n32k\n32k hd^10\n32k huhd\n32k uhd\n32mm\n32x32\n3389861569\n33mm\n33mm photo\n33mm photograph\n35 mm\n35 mm film\n35 mm film photography\n35 mm lens\n35 mm photo\n35 mm photography\n35 mm product photo\n35 mm product photo”\n35 years old\n350mm f/1.4l lens\n3580780586\n35840k film\n35mm\n35mm 1990\n35mm 8k product photo\n35mm black and white\n35mm camera\n35mm canon eos r3\n35mm close up\n35mm color\n35mm color film\n35mm color lomography\n35mm color photo\n35mm color photography\n35mm colour\n35mm double exposure\n35mm double-exposure photo\n35mm dramatic lighting\n35mm ektachrome\n35mm f 1. 4\n35mm f/1.2\n35mm f/1.4\n35mm f/1.4l lens\n35mm f/5.0\n35mm f1.8\n35mm f2.8\n35mm f2.8 4k\n35mm f2.84k\n35mm f8\n35mm f8 aperture\n35mm film\n35mm film camera\n35mm film color photography\n35mm film grain\n35mm film kodak\n35mm film kodak 1980 s\n35mm film look\n35mm film photo\n35mm film photography\n35mm film still\n35mm film still from 1989\n35mm film still from 1994\n35mm film!!!!!!!!\n35mm focal length\n35mm grain filter\n35mm grainy film photography\n35mm imax\n35mm kodachrome\n35mm kodak color\n35mm kodak color stock\n35mm kodak film\n35mm lens\n35mm lense\n35mm macro\n35mm macro lens\n35mm macro photography\n35mm macro shot\n35mm of a very cute\n35mm photo\n35mm photograph\n35mm photography\n35mm picture\n35mm portrait\n35mm print\n35mm slide\n35mm stock\n35mm subject photography\n35mm wide angle photograph\n35mm wide angle shot\n35mm —w 1920 —h 1080\n35mm!!! 1990\n35°\n360\n360 degree equirectangular\n360 degree view\n360 foot wingspan\n360 head\n360 monoscopic equirectangular\n360 panorama\n360 picture\n360 projection\n360 render panorama\n360*\n360p\n360º\n36864k film\n38 years old\n3840 x 2160\n3840x2160\n38mm photograhpy\n38mm photography\n3945074687\n39mm lens\n3am\n3d\n3d 4k\n3d 8k hd trending on art station\n3d 8k octan render\n3d 8k render\n3d abstract render overlayed\n3d advanced digital art\n3d animated\n3d animation\n3d anime\n3d anime girl\n3d anime poster\n3d anthropomorphic rat\n3d appearance\n3d architecture\n3d art\n3d asset\n3d bee made of metal\n3d blender\n3d blender octane render\n3d blender render\n3d cell shaded\n3d cg\n3d cgi\n3d cgi render\n3d character\n3d character model\n3d character realistic\n3d characters\n3d cinematic\n3d cinematic lighting\n3d cinematic volume light\n3d cinematic volumetric light\n3d clay render\n3d collage\n3d computer render\n3d concept\n3d concept art\n3d concept render\n3d depth\n3d depth shading\n3d design\n3d digital art\n3d digital art 4k\n3d dragon giraffe hybrid\n3d effect\n3d environment\n3d feeling\n3d female character model\n3d final render\n3d finalrender\n3d flat layered paper shadow box\n3d fractal\n3d fractal background\n3d fractals\n3d game art\n3d game object\n3d geometric abstract art\n3d geometric shapes\n3d grainy aesthetic illustration\n3d graphics\n3d gun model\n3d hard surface design\n3d hd mixed media\n3d high octane render\n3d high poly render with octane\n3d highly detailed\n3d houdini\n3d illustration\n3d intricate shapes\n3d ios interface design jony ive\n3d isometric\n3d kid robot\n3d landscape\n3d lighting\n3d littlest pet shop\n3d littlest pet shop animal\n3d low poly render\n3d magical details\n3d mandelbulb\n3d mandelbulb fractal\n3d mario 64 castle aerial view\n3d marketplace\n3d masterpiece\n3d matte illustration\n3d matte painting\n3d matte render\n3d minimalistic\n3d minimalistic art\n3d model\n3d model human\n3d model of a human heart\n3d model of a japanese mascot\n3d model pixar render\n3d model rigged\n3d modeling\n3d modeling concept sheet\n3d modelling\n3d models\n3d object\n3d occlusion\n3d octane blender render\n3d octane cycle unreal engine 5\n3d octane render\n3d parallax view effect\n3d portrait\n3d primitives\n3d printed\n3d printed building\n3d printed line texture\n3d product\n3d quality\n3d ray tracing\n3d realism\n3d realistic\n3d realistic materials\n3d render\n3d render 8k\n3d render blender cycles\n3d render digital art\n3d render octane\n3d render of a blue eyes\n3d render of a man's body\n3d render of catwoman\n3d render of homer simpson\n3d render of intricate wasp\n3d render senior artist\n3d render trending on artstation\n3d rendered\n3d rendered in octane\n3d rendered matte painting\n3d rendered model\n3d rendered steampunk\n3d rendering\n3d rendering!\n3d render”\n3d rim light\n3d scene\n3d sculpt\n3d sculpt of a circus wagon\n3d sculpture\n3d shaded\n3d shaded art\n3d shaders\n3d shading\n3d shadowing\n3d shadowing effect\n3d shapes\n3d society\n3d statue!!!\n3d still designs\n3d studio max\n3d style\n3d style light refraction\n3d unreal 5\n3d unreal engine\n3d unreal engine render\n3d unreal render\n3d video game\n3d wireframe\n3d with depth of field\n3d-render\n3dcg\n3dcoat\n3dcoat h 648\n3delight\n3dexcite\n3do magazine\n3ds max\n3ds max render\n3ds max rendered\n3dsmax\n3rd century bc\n3rd eye\n3rd person\n3rd person camera\n3rd person shooter\n3rd person view\n3rd-person camera!\n4\n4 0 - year - old\n4 0 0 0 0 0\n4 0 0 0 k\n4 0 0 0 samples\n4 0 0 bc\n4 0 0 mm\n4 0 0 mm f 1. 2\n4 0 0 mm f 1. 8\n4 0 0 mm lens\n4 0 9 6\n4 0 k\n4 0 k warhammer\n4 0 mm\n4 0 mm f / 2. 8\n4 0 mm lens\n4 0 mp\n4 0 years\n4 0 years old\n4 0 years old man\n4 2 0\n4 2 0 0 k\n4 5 mm\n4 5 mm bokeh\n4 5 mm lens\n4 5 mm. photorealistic\n4 5 yo\n4 5. 7 mp lens\n4 5. 7 mplens\n4 8 0 p\n4 arms\n4 cannabis pots\n4 chan\n4 chan pepe\n4 color print\n4 colors\n4 colors!!!\n4 d\n4 d cinema\n4 dg\n4 dimensions\n4 eyes\n4 k\n4 k )\n4 k -\n4 k - h 6 4 0\n4 k - hd photo\n4 k - n 4\n4 k - n 9\n4 k / 8 k\n4 k 6 0 fps\n4 k 8 k\n4 k 8 k hd resolution\n4 k 8 k ultra hd\n4 k 8 mm grainy panavision\n4 k ]\n4 k anime\n4 k asymmetrical portrait\n4 k beautiful\n4 k cinematic\n4 k cinematic epic\n4 k cinematic octane render\n4 k cinematic panoramic view\n4 k cinematic photo\n4 k cinematic still\n4 k close up\n4 k concept art\n4 k concept photo\n4 k detail\n4 k detail fantasy\n4 k detailed\n4 k detailed post processing\n4 k details\n4 k digital art\n4 k digital artwork\n4 k digital camera\n4 k digital painting\n4 k drawing\n4 k editorial photograph\n4 k extremely photorealistic\n4 k film still\n4 k food photography\n4 k full hd\n4 k glamour photography\n4 k hd\n4 k hd face!!!\n4 k hd film still\n4 k hd fur face!!!\n4 k hd illustrative wallpaper\n4 k hd photo\n4 k hd photograph\n4 k hd wallpapear\n4 k hd wallpaper\n4 k hd wallpaper c 1 7\n4 k hd wallpaper illustration\n4 k hd wallpaper very detailed\n4 k hdr\n4 k hdr 3 5 mm photography\n4 k high - resolution photograph\n4 k high definition\n4 k high resolution\n4 k highly detailed\n4 k highly detailed art\n4 k human detailed!!!\n4 k hyperrealengine\n4 k illustration\n4 k image\n4 k luminous lighting\n4 k manga wallpaper\n4 k masterpiece\n4 k matte painting\n4 k matte thomas kinkade\n4 k movie still\n4 k octan render\n4 k octane render\n4 k oil painting\n4 k photo\n4 k photo autochrome\n4 k photograph\n4 k photography\n4 k photography hdr\n4 k photorealism\n4 k photorealistic\n4 k photorealistic quality\n4 k photorender realityengine\n4 k photoshop\n4 k photoshopped image\n4 k pores\n4 k post\n4 k post - processing\n4 k post processing\n4 k post processing 8 k\n4 k postprocessing\n4 k product photo\n4 k quality\n4 k realistic\n4 k realistic photo\n4 k render\n4 k rendering\n4 k resolution\n4 k resolution blade runner\n4 k resolution concept art\n4 k resolution h 7 6 8\n4 k resolution. high detail\n4 k scan\n4 k screenshot\n4 k seamless mud texture\n4 k sharpening\n4 k smooth\n4 k still from breaking bad\n4 k surrealism\n4 k symmetrical portrait\n4 k texture pack\n4 k textures\n4 k uhd\n4 k uhd image\n4 k uhd img\n4 k uhd video capture at 3 0 fps\n4 k ultra\n4 k ultra hd\n4 k ultra high detailed\n4 k unreal engine\n4 k unreal engine renders\n4 k vertical wallpaper\n4 k wallpaper\n4 k wide angle\n4 k wild west\n4 k | 8 k\n4 k ”\n4 k!!!\n4 k''\n4 khd\n4 kuhd\n4 legs\n4 limbs and civilized behavior\n4-dimensional\n40 mm\n40 years old\n40 years old man\n40 years old women\n40's adventurer\n40-year-old\n400 steps\n4000k\n400bc\n400mm f 1.8\n400mm lens\n4074294527\n4096k film\n40k\n40k warhammer\n40mm\n40mm f / 2.8\n40mm f/2.8\n40mm focal lense\n40mm lens\n40mm tape\n40mp\n40nm\n40nm lens\n40s adventurer\n420\n4237549348\n4262862863\n43456k film\n435456k film\n45 degree perspective\n45 degrees from the side\n45 years old men\n45.7mp lens\n45mm\n45mm lens\n45mm. photorealistic\n45yo\n4800k\n480p\n48k\n4:3\n4bit\n4chan\n4d\n4d mandelbulb psychedelics\n4k\n4k (blue)!!\n4k -\n4k - n 6\n4k -4\n4k 3d render\n4k 8k\n4k 8k hd\n4k anime\n4k anime wallpaper\n4k art\n4k artwork\n4k award winning photography\n4k bluray\n4k cinematic\n4k cinematic lighting\n4k cinematic quality\n4k concept art\n4k concept art and hyper realism\n4k definition\n4k desktop background\n4k destruction\n4k detail\n4k detail post processing\n4k detailed\n4k detailed art\n4k detailed digital art\n4k detailed post processing\n4k details\n4k digital art\n4k digital painting\n4k digital render\n4k drone photography\n4k dslr\n4k extremely photorealistic\n4k fantasy art\n4k fashion shoot\n4k fhd\n4k food photography\n4k footage\n4k greyscale hd photography\n4k hd\n4k hd artwork\n4k hd award winning photograph\n4k hd f2.8 50mm\n4k hd matte digital painting\n4k hd photography\n4k hd render\n4k hd sharp\n4k hd wallpaper\n4k hd wallpaper:4\n4k hd. snow white hair\n4k hdr\n4k hdr high quality\n4k hdr hyper realistic high\n4k hd”\n4k headshot photography\n4k high definition\n4k high detail\n4k high quality\n4k high quality best\n4k high res\n4k high resolution\n4k highly detailed\n4k highly detailed digital art\n4k hyper detailed\n4k hyper realistic\n4k hyperrealistic\n4k illustration\n4k image\n4k image”\n4k imax hyperrealistic\n4k in plastic dark tilt shift\n4k landscape\n4k masterpiece\n4k morrowind concept art\n4k movie still\n4k museum photograph\n4k octane render\n4k oil on linen\n4k painting\n4k panoramic\n4k photo\n4k photo gigapixel\n4k photograph\n4k photograph of painting\n4k photography\n4k photography award winning\n4k photography flash\n4k photography high quality\n4k photorealism\n4k photorealistic\n4k photo”\n4k polymer clay food photography\n4k portrait\n4k post\n4k post processing\n4k post-processing\n4k press image\n4k product shot\n4k professional photo\n4k quality\n4k quality photo\n4k realistic\n4k realistic photo\n4k render\n4k resolution\n4k resolution post-processing\n4k resolution very detailed\n4k resolution”\n4k restoration\n4k scan\n4k screenshot\n4k serene\n4k sharp\n4k shot\n4k solarpunk wallpaper\n4k still\n4k still frame\n4k studio lighting\n4k studio photo\n4k symmetrical portrait\n4k textures\n4k trailcam\n4k trailer\n4k trending at artstation hq\n4k tv still\n4k uhd\n4k uhd image\n4k uhd image”\n4k uhd photo\n4k uhd wallpaper\n4k ultra\n4k ultra detailed\n4k ultra hd\n4k ultra hd photograph\n4k ultra realistic\n4k ultrarealistic\n4k unreal engine\n4k unreal engine render\n4k unreal engine renders\n4k vertical wallpaper\n4k very detailed\n4k wallpaper\n4k wide lenses photograph\n4k —height 1024 —width 1024\n4k!\n4k'\n4k)\n4k-\n4k. detailed drawing\n4k. high quality\n4k. profession photography\n4k/8\n4k/8k\n4k]\n4khd\n4k”\n4l\n4th of july\n4x5 styled street photography\n4yr old\n5\n5 - channel\n5 0 0 mm tele lens\n5 0 0 px\n5 0 0 px models\n5 0 mm\n5 0 mm 1 9 4 6 historical photo\n5 0 mm bokeh\n5 0 mm camera\n5 0 mm cinema shot\n5 0 mm f / 1. 4\n5 0 mm f / 1. 8\n5 0 mm f 1. 2\n5 0 mm f 1. 4\n5 0 mm f 1. 8\n5 0 mm f 5. 6\n5 0 mm fe f / 1. 8\n5 0 mm film\n5 0 mm kodak\n5 0 mm lens\n5 0 mm photograph\n5 0 mm photography\n5 0 mm sharp lens\n5 0 mm soft focus\n5 0 s\n5 0 s aesthetic\n5 0 s pulp illustration\n5 0 s pulp scifi illustration\n5 0 s style\n5 0 years old\n5 0 years old man\n5 0's diner\n5 0's vintage sci - fi style\n5 0. 0 mm\n5 2 mm f 1. 8\n5 2 mm f 5. 6\n5 4 s\n5 5 mm\n5 5 mm lens\n5 5 mm photo\n5 5 mm photography\n5 5 yo\n5 7 9\n5 colors\n5 d\n5 dark tone colors\n5 e\n5 feet away\n5 feet distance from the camera\n5 fingers\n5 fingers). full body\n5 fingers). full body realistic\n5 fingers. full body\n5 fingers. full body realistic\n5 hotrods driving down a street\n5 k\n5 k extremely detailed\n5 mm\n5 o'clock shadow\n5 oclock shadow\n5 point perspective\n5 points of articulation\n5 th element\n5 th floor\n5 years old\n50\n50 mm\n50 mm bokeh\n50 mm lens\n50 mm lens and f/12.0\n50 mm lens photo portrait\n50 mm lens photography\n50 mm sigma art\n50 shades\n50 years old\n50 years old man\n50 years old men\n50* degree up from the horizon\n50.0mm\n5000k white product lighting\n500mm tele lens\n500px\n500px models\n500px photos\n50mm\n50mm 4k\n50mm bokeh\n50mm camera\n50mm cinema shot\n50mm close up photography\n50mm f / 1. 4\n50mm f / 1. 8\n50mm f 1. 4\n50mm f 1. 8\n50mm f/1.4\n50mm f/2.8\n50mm f1. 2 noctilux lens\n50mm f1.4\n50mm f1.8\n50mm f2.8\n50mm fe f / 1. 8\n50mm film\n50mm focal length\n50mm lens\n50mm lens and f/12.0\n50mm lens cinematic\n50mm lens photo portrait\n50mm lens photography\n50mm photo\n50mm photograph\n50mm photography\n50mm portrait\n50mm prime\n50mm sharp lens\n50mm sigma art\n50mm sigma lens\n50mm soft focus\n50mp\n50s\n50s aesthetic\n50s pulp illustration\n50s pulp scifi illustration\n50s style\n50s style infomercial\n50s vintage sci - fi style\n513330673\n513435456k film\n52mm f 1.8\n52mm f 5.6\n54s\n555400831\n55m lens\n55mm\n55mm f/4 lens\n55mm lens\n55mm photo\n55mm photography\n5600x accelerator\n56k\n58mm\n5d\n5d mk2\n5k\n5k extremely detailed\n5mm\n5th edition\n5th gen fighter\n6\n6 0 0 mm\n6 0 mm lens\n6 0 mm lens in full armor\n6 0 s\n6 0 s anime art\n6 0 s chair\n6 0 s colour palette\n6 0 s french movie poster\n6 0 s poster\n6 0 s poster art\n6 0 s style\n6 0's\n6 0's french movie poster\n6 4 0\n6 4 megapixels\n6 6 6\n6 : 3 0 am\n6 billion demons style\n6 claws\n6 colors\n6 june 1944\n6 k\n6 pack\n6 pack ab\n6 point perspective\n6 spotlight\n6 toucan beaks\n60's cartoon-glass-helmet\n60's cartoon-space helmet\n60's french movie poster\n60's sci-fi pinup\n60's sci-fi pinup style\n600mm\n60mm\n60mm portrait\n60s\n60s cartoon-glass-helmet\n60s colour palette\n60s french movie poster\n60s kitsch and psychedelia\n60s kung fu film\n60s poster\n60s poster art\n60s sci-fi book cover\n60s sci-fi pinup\n60s sci-fi pinup style\n60s style\n62 x 47 inches\n62x47 inches\n64 bit realistic painting\n64 megapixels\n64k\n64x64\n658923803\n65mm\n65mm 1.5x anamorphic lens\n65mm film\n666\n6k\n6k award winning\n7\n7 0 % ocean\n7 0 - s\n7 0 mm\n7 0 mm dramatic lighting\n7 0 mm entrance pupil diameter\n7 0 mm film\n7 0 mm imax\n7 0 mm lens\n7 0 mm macro lens\n7 0 mm photo\n7 0 mm photography\n7 0 mm portrait\n7 0 mm. digital art\n7 0 mm. dramatic lighting\n7 0 s\n7 0 s art deco\n7 0 s cinestill\n7 0 s colors\n7 0 s hi fi system\n7 0 s living room\n7 0 s palette\n7 0 s photo\n7 0 s sci - fi art\n7 0 s science fiction art\n7 0 s scifi\n7 0 s street photography\n7 0 s style\n7 0 s vibe\n7 0 s vintage art\n7 0 s visuals\n7 0 years old\n7 0's kitchen\n7 0's vintage sci - fi style\n7 2 0 p\n7 5 mm\n7 5 mm lens\n7 7 7 7\n7 days to die zombie\n7 feet tall\n7 year old crayon drawing\n70 mm\n70 years old\n70's\n70's jetfighter pilot\n70's jetfighter pilot girl\n70's sci-fi\n7000mm film\n700mm f/1.4l lens\n70mm\n70mm entrance pupil diameter\n70mm film\n70mm film screenshot\n70mm imax\n70mm lens\n70mm photo\n70mm photography\n70mm sigma lens\n70mm. dramatic lighting\n70mm/f2.8\n70s\n70s colors\n70s design\n70s hi fi system\n70s interior with arched windows\n70s palette\n70s photo\n70s poster\n70s progressive rock logo\n70s psychedelic style\n70s retro sci-fi\n70s retro scifi art\n70s sci-fi\n70s scifi\n70s vintage art\n70s vintage sci-fi style\n70–200mm f/2.8l canon ef is lens\n70’s\n720p\n75mm\n75mm lens\n8\n8 - bit\n8 - bit pixel art\n8 0 - s\n8 0 - s fashion\n8 0 - s style poster\n8 0 0 mm\n8 0 0 mm lens\n8 0 0 t\n8 0 ies aesthetic\n8 0 k\n8 0 mm\n8 0 mm camara\n8 0 mm camera\n8 0 mm f / 1. 2\n8 0 mm f / 2. 8 l\n8 0 mm film\n8 0 mm focal\n8 0 mm lens\n8 0 mm photo\n8 0 mm photography\n8 0 mm telephoto lens\n8 0 s\n8 0 s anime\n8 0 s anime art style\n8 0 s anime style\n8 0 s anime vibe\n8 0 s art\n8 0 s art deco\n8 0 s art decor\n8 0 s asian neon movie still\n8 0 s camera\n8 0 s cartoon\n8 0 s checkerboard 6 6 6\n8 0 s film\n8 0 s game box art\n8 0 s haircut\n8 0 s movie\n8 0 s movie still\n8 0 s neon movie still\n8 0 s polaroid photo\n8 0 s print sci fi art\n8 0 s sci - fi comic art\n8 0 s sport clothing\n8 0 s style\n8 0 s synthwave\n8 0 ’ s portrait\n8 0's\n8 0's airbrush aesthetic\n8 0's fantasy art\n8 0's fantasy movies\n8 0's hairstyle\n8 0's horror anime\n8 0's horror movie film still\n8 0's movie poster\n8 0's movie poster art\n8 0's style\n8 0's style tomasz alen kopera\n8 0's vintage sci - fi style\n8 0. lv\n8 1 5\n8 4 mm\n8 5 mm\n8 5 mm art lens\n8 5 mm canon f 1. 2 lens\n8 5 mm f / 1. 4\n8 5 mm f / 1. 8\n8 5 mm f / 2. 4\n8 5 mm f 1 6\n8 5 mm f 1. 2\n8 5 mm f 1. 4\n8 5 mm f 1. 8\n8 5 mm f 1. 8 full frame camera\n8 5 mm f 1. 8 lit edges\n8 5 mm f 1. 8 n - 9\n8 5 mm lens\n8 5 mm lenses\n8 5 mm photograph\n8 5 mm shot\n8 5 mm sigma art lens\n8 8 8 8\n8 8 mm lens\n8 bit\n8 bits graphics\n8 detailed\n8 feet fall\n8 feet from the camera\n8 h\n8 intricate golden tenticles\n8 k\n8 k )\n8 k -\n8 k - h 7 0 4\n8 k - h 7 6 8\n8 k - n 9\n8 k - resolution!!\n8 k 1 0 8 0 p\n8 k 1 5 0 mpx\n8 k 3 5 mm coloured film\n8 k 3 d\n8 k 3 d octane render\n8 k 3 d render\n8 k 3 d render ray traceing\n8 k 4 k\n8 k 4 k hd\n8 k 4 k uhd image\n8 k 8 5 mm f 1 6\n8 k 8 5 mm f 1. 4\n8 k art photography\n8 k artistic lithography\n8 k artistic photography\n8 k award - winning photography\n8 k backlit\n8 k beautiful\n8 k blender render\n8 k cartoon illustration\n8 k cg render\n8 k character concept art\n8 k character details\n8 k cinematic\n8 k cinematic photography\n8 k cleaning future\n8 k concept art\n8 k definiton\n8 k depth of field\n8 k detail\n8 k detail post - processing\n8 k detailed\n8 k detailed photograph\n8 k digital art\n8 k digital photography\n8 k dop dof\n8 k dop dof hdr\n8 k epic scene\n8 k film still\n8 k frostbite 3 engine\n8 k greg rutkowski\n8 k h 1 0 2 4\n8 k h 5 7 6\n8 k hd\n8 k hd artwork\n8 k hd detailed oil painting\n8 k hd dof\n8 k hd photo\n8 k hd resolution\n8 k hd wallpaper\n8 k hd wallpaperjpeg artifact\n8 k hdr\n8 k hdr 8 0 mm\n8 k hdr movie still\n8 k hdr ultra high quality\n8 k hg\n8 k hi - res\n8 k high definition\n8 k high detail\n8 k high detail and intricate\n8 k high detail concept art\n8 k high details\n8 k high octane\n8 k high resolution\n8 k high resolution image\n8 k highly detailed\n8 k highly detailed art\n8 k highly detailed ❤🔥 🔥 💀 🤖 🚀\n8 k hyper detailed\n8 k hyper detailed image\n8 k hyperdetailed\n8 k hyperrealistic\n8 k illustration\n8 k image\n8 k intricate\n8 k intricate detail\n8 k landscape render\n8 k masterpiece\n8 k matte\n8 k matte painting\n8 k movie still\n8 k octane\n8 k octane comprehensive render\n8 k octane detailed render\n8 k octane render\n8 k octanerender\n8 k photo\n8 k photograph\n8 k photography\n8 k photorealism\n8 k photorealistic\n8 k photorender realityengine\n8 k post - processing\n8 k post - production\n8 k post process\n8 k post production\n8 k postprocessing\n8 k quality\n8 k realistic\n8 k realistic digital art\n8 k realistic high definition\n8 k realistic hyper detailed\n8 k render\n8 k rendering\n8 k resolution\n8 k resolution : 0. 8\n8 k resolution artwork\n8 k resolution digital painting\n8 k resolution hyperdetailed\n8 k resolution!!\n8 k resolution!!!\n8 k rez\n8 k rpg\n8 k scan\n8 k screenshot\n8 k sensual lighting\n8 k smooth\n8 k studio lighting\n8 k super resolution\n8 k texture\n8 k textures\n8 k time - lapse functions\n8 k uhd\n8 k uhd artwork\n8 k uhd character details\n8 k uhd cinema 4 d\n8 k uhd detailed\n8 k uhd details\n8 k uhd poser\n8 k uhd post - production\n8 k ultra\n8 k ultra detailed\n8 k ultra hd\n8 k ultra high definition\n8 k ultra realistic\n8 k ultra realistic animal\n8 k ultra realistic creature\n8 k ultra resolution\n8 k unreal engine\n8 k vertical wallpaper\n8 k very hight detail\n8 k very red colors\n8 k volumetric lighting\n8 k wallpaper\n8 k what\n8 k wide angle\n8 k wide shot\n8 k ”\n8 k''\n8 k. elegant\n8 k. filling most of the view\n8 k. filling of the view\n8 k. lifelike. nikon d 8 5 0\n8 k. volumetric lighting. dark\n8 khd\n8 khd post - processing\n8 l\n8 mm\n8 mm extreme fisheye\n8 mm film\n8 mm film still\n8 mm lens\n8 x\n8 к\n8-bit\n8-bit pixel art\n8/8\n80 - s fashion\n80 - s style poster\n80 k\n80 mm lens\n80 mm sigma art\n80's\n80's japanese photo\n800mm\n800mm lens\n800t\n80k\n80mm\n80mm camara\n80mm camera\n80mm f / 2. 8 l\n80mm film\n80mm focal length\n80mm lens\n80mm macro lens\n80mm photography\n80mm telephoto lens\n80s\n80s aesthetic\n80s airbrush aesthetic\n80s aliens tech\n80s anime\n80s anime art style\n80s anime ova style\n80s anime vibe\n80s art deco\n80s asian neon movie still\n80s color scheme\n80s fantasy art\n80s fashion\n80s film\n80s game box art\n80s hair\n80s hairstyle\n80s horror anime\n80s horror movie film still\n80s interior with arched windows\n80s london city\n80s movie\n80s movie poster\n80s movie still\n80s neon movie still\n80s nostalgia\n80s outdoor retro arcade\n80s outrun\n80s photo\n80s polaroid photo\n80s poster\n80s red sports car\n80s retro\n80s sci - fi comic art\n80s sci fi\n80s sci-fi\n80s sport clothing\n80s style\n80s style synthwave\n80s style tomasz alen kopera\n80s total recall tech\n80s versace ad\n80’s\n81 magazine\n81mm\n82 mm sigma\n82 mm sigma art\n82 mm sigma art -\n82mm sigma art\n82mm sigma art -\n834779519\n84mm\n84mm)\n85 mm\n85 mm f1.4\n85 mm lens\n85mm\n85mm art lens\n85mm f / 1. 4\n85mm f / 1. 8\n85mm f / 2. 4\n85mm f 1. 4\n85mm f 1. 8\n85mm f 16\n85mm f/1.4\n85mm f1.2\n85mm f1.4\n85mm f1.8\n85mm f4\n85mm lens\n85mm lens f/1.8\n85mm lenses\n85mm lens”\n85mm nd 3\n85mm nd 4\n85mm nd 5\n85mm pentax\n85mm photograph\n85mm photography\n85mm sigma\n85mm sigma art lens\n85mm velvia 100\n872637744\n88 mm lens\n8888\n88mm\n88mm lens\n88mm lense\n8bit\n8bit game. cute! c4d\n8bits graphics\n8bits videogame\n8ft tall\n8h\n8k\n8k --height 768\n8k 1080p\n8k 28mm cinematic photo\n8k 3d\n8k 3d realism\n8k 3d realistic\n8k 3d render\n8k 4k\n8k 4k uhd image\n8k 50mm iso 10\n8k 64 megapixel\n8k anime\n8k apocalypse\n8k archival print\n8k artgerm bokeh\n8k artistic 1920s photography\n8k artistic photography\n8k artistic portrait photography\n8k award-winning photograph\n8k character concept art\n8k cinematic\n8k cinematic lighting\n8k cinematic shot\n8k cleaning future\n8k comic art\n8k computer render\n8k concept art\n8k definition\n8k definiton\n8k detail\n8k detail post processing\n8k detail post-processing\n8k detailed\n8k details\n8k digital art\n8k digital painting\n8k dop\n8k dslr\n8k fabric texture details\n8k fantasy art\n8k film\n8k film scan\n8k fine art photography\n8k full hd photo\n8k h 768\n8k h- 640\n8k hd\n8k hd artwork\n8k hd concept art\n8k hd dof\n8k hd octane render\n8k hd photo\n8k hd render\n8k hd resolution\n8k hd resolution”\n8k hd trending on art station\n8k hd wallpaper\n8k hd wallpaper digital art\n8k hd wallpaperjpeg artifact\n8k hdr\n8k hdr dusk light\n8k hdr high quality\n8k hdr high quality quality\n8k hdr hyperrealism\n8k hdr morning light\n8k hdr movie still\n8k hdr octane render\n8k hdr showcase\n8k hdr sunset lit\n8k hdr ultra high quality\n8k hidg definition\n8k high definition\n8k high definition high quality\n8k high detail\n8k high details\n8k high quality\n8k high quality and resolution\n8k high quality detailed art\n8k high resolution\n8k highly detailed\n8k highly detailed face\n8k highly detailed ❤️‍🔥 🔥 💀 🤖 🚀\n8k hq\n8k hyper detailed\n8k hyper realistic\n8k hyper-realistic\n8k hyperdetails\n8k hyperrealistic\n8k illustration\n8k image\n8k image quality\n8k imax\n8k in the style\n8k insane detail\n8k mandelbulber fractal\n8k masterpiece\n8k mate painting\n8k matte\n8k matte painting\n8k n 9\n8k no blur\n8k octae render photo\n8k octan advertising photo\n8k octan photo\n8k octane\n8k octane 3d render\n8k octane render\n8k octane render photorealistic\n8k octane render uhd\n8k octane rendered\n8k octane unreal render\n8k phot realistic\n8k photgraphy\n8k photo\n8k photo realistic\n8k photograph\n8k photography\n8k photorealism\n8k photorealistic\n8k portrait render\n8k post processing\n8k post production\n8k post-processing\n8k post-production\n8k postprocessing\n8k print\n8k quality\n8k realism\n8k realistic\n8k render\n8k rendering\n8k render”\n8k resolution\n8k resolution 3d\n8k resolution artwork\n8k resolution concept art\n8k resolution digital painting\n8k resolution hd\n8k resolution octane renderer\n8k resolution – w 1024\n8k resolution. tupac\n8k resolution.oil on canvas\n8k resolution”\n8k restored and remastered\n8k revolution\n8k scan\n8k scan hq\n8k scene\n8k sdr\n8k selfie photograph\n8k studio photography\n8k stunning artwork\n8k texture\n8k textures\n8k trending\n8k uhd\n8k uhd image\n8k uhd official screenshot\n8k uhd scan\n8k uhd”\n8k ultra\n8k ultra detail\n8k ultra hd\n8k ultra high definition\n8k ultra high detail\n8k ultra real\n8k ultra realistic\n8k ultra resolution\n8k ultra-realistic depth shading\n8k ultrahd\n8k ultrahd octane render\n8k unreal engine\n8k vertical wallpaper\n8k vfx render\n8k vhs glitch\n8k vray render\n8k wallpaper\n8k wide angle\n8k ”\n8k!\n8k!!\n8k!!!!!\n8k''\n8k))\n8k-resolution\n8k. volumetric lighting\n8k3d\n8khdr\n8krealistic\n8k”\n8l\n8mm\n8mm film\n8mm fisheye lens\n8mm photography\n9\n9 / 1 1\n9 / 1 1 attacks\n9 0 - s\n9 0 - s fashion\n9 0 degrees fov\n9 0 mm\n9 0 mm lens\n9 0 mm studio photograph tiny\n9 0 s\n9 0 s aesthetic\n9 0 s anime\n9 0 s anime aesthetic\n9 0 s anime art style\n9 0 s anime style\n9 0 s bedroom\n9 0 s cgi\n9 0 s colors and shapes\n9 0 s film photo\n9 0 s first person shooter\n9 0 s games\n9 0 s hip - hop fashion\n9 0 s polaroid\n9 0 s romantic movie\n9 0 s toy commercial\n9 0 s vhs aesthethic\n9 0 s vibe\n9 0's\n9 0's anime\n9 4\n9 5\n9 9 9 9 inside of a dark cave\n9 9 9 mm lens\n9 9 designs\n9 brilliant peacock tails\n9 k\n9 peacock tails\n9 steel barrels in a graveyard\n9 years old\n9/11\n90 - s\n90 - s fashion\n90 60 90\n90 degree spotlighting\n90 degrees fov\n90's\n90's aesthetic\n90's anime\n90's color photo\n90's modern art\n90's mtv illustration\n90's photo\n90's photos\n90-s anime\n90mm\n90mm lens\n90s\n90s aesthetic\n90s anime\n90s anime aesthetic\n90s anime art style\n90s anime style\n90s bedroom\n90s cartoon\n90s comic book character design\n90s film photo\n90s games\n90s japan\n90s make-up\n90s modern art\n90s mtv illustration\n90s nostalgia\n90s photo\n90s polaroid\n90s romantic movie\n90s style\n90s toy commercial\n90s vibe\n90’s photography\n90’s vibe\n9126k film\n9216k film\n985530902\n99 designs\n99% artistic\n999 mm lens\n999mm macro lens\n9gag\n9k\n: 5 stylish\n: :\n: jaiye farrell art\n: kanye west wearing vr goggles\n: kendrick lamar\n: native american shamen fantasy\n: psychedelic ski resort\n:10 gas grenades\n:14 80s anime style\n:14 flcl + akira\n:14 flcl + jet grind radio\n:3\n:6\n:6 gas grenades\n:6 smoke grenades\n:9 detailed face: 8\n::\n:: madison beer\n:: morning\n:: nixri\n:: octane render\n:: rossdraws\n:native american shamen fantasy\n:psychedelic ski resort\n; visual novel\n; weekly shonen jump issue 1 4\n; weekly shonen jump issue 14\n; wide shot\n;cinematic lighting\n;weekly shonen jump issue 14\n< full body robot >\n<3d eco brutalist\n<hd\n<mmorpgs scene\n<perfect face>\n<pointé pose>;open mouth\n<wearing brown leather armor>\n?black apples\n@ cronobreak on twitter. com\n@ zbrush\n@zbrush\nI cant believe how beautiful this is\nSilent Hill\n[ 4 k digital art\n[ 4 k digital art ]!!\n[ 4 k photorealism ]\n[ 4 k photorealism ]!!\n[ 4 k photorealism ]!!!\n[ 4 k synthwave art style ]!!\n[ [ award winning ] ]\n[ [ hyperrealistic ] ]\n[ [ soft ] ]\n[ adamantly defined abs ]!!\n[ bioluminescent colors ]!!\n[ bubbles\n[ character design ]\n[ cinematic\n[ closeup ]!!\n[ colourful\n[ conceptual art ]!!\n[ cosmic\n[ digital art\n[ digital art ]!!\n[ everything is floating ]!!!\n[ fireworks in the sky ]!!\n[ floating ]!!\n[ forgetful ]\n[ golden ratio ]!!\n[ greg rutkowski ]\n[ horror game ]\n[ metal ]\n[ moist\n[ mystic\n[ oil painting ]!!\n[ organic\n[ overhead view ]!\n[ overhead view ]!!\n[ overhead view of a table ]!!\n[ realistic photo ]!!\n[ realistic photography ]\n[ red dead ]\n[ rigidly defined abs ]!!\n[ scifi\n[ shards\n[ synthwave art style ]!!\n[ synthwave art style ]!! ]!!\n[ tarot card ]!!!!!\n[ theatrical ]\n[ trending on cgsociety ]!!\n[ western film ]\n[ zero - gravity ]!!\n[32k hd]^10\n[[[[grinning evily]]]]\n[[blood]]\n[[empty warehouse]] background\n[[fantasy]]\n[bioluminescense\n[epic\n[explosions and fire]\n[sculpture] and [hyperrealism]\n[sirius]\n\\ 4 \\ k\n\\!cinestill 50d! film photo\n\\'emulador\\'\n\\'obey\\'\n\\'the end\n\\'the soul creates\n_3d-terms_\na 15 foot tall\na 18th century\na 1980s goth nightclub in soho\na 35mm photo\na ancient crashed spaceship\na backpack\na baddass dragon\na bald\na barn at an iowan farm\na beautiful\na beautiful artwork illustration\na beautiful buddhist mandala\na beautiful detailed orixa\na beautiful fantasy empress\na beautiful female wizard\na beautiful fox lady\na beautiful kitsune woman\na beautiful land art of a large\na beautiful landscape\na beautiful mine\na beautiful painting\na beautiful pathway in a forest\na beautiful pole dancing fairie\na beautiful sorceress\na beautiful teen-aged girl\na beautiful tree\na beautiful victorian woman\na beautiful woman\na beautiful woman in white\na beautiful woman warrior\na beautiful woman with long\na beautiful young woman\na beuatiful matte painting\na black choker\na black cloak\na black dieselpunk policewoman\na black man with long curly hair\na black tshirt. high key\na blond\na blonde emerald warrior\na blue dress\na blue skirt\na book\na bot in the game super mario 64\na boy\na boy made out of gold\na brick cabin in the woods\na bright\na brightly colored\na brightly coloured\na broad shouldered\na bulletproof vest\na bustling magical town\na busy arcade\na cake with all planets on it\na cannon mounted on his back\na car\na cat\na cat is smiling\na cat sipping coffee\na cat sitting in a chair\na cat swimming in water\na cat wearing a spiked helmet\na cathedral under an overpass\na centaur\na character based on a haggis\na christian jedi\na city in the clouds\na clockwork orange\na close up shot\na close up shot of a crying eye\na close-up\na clown floating in space\na cold\na collage\na collage of space travel\na colorful\na confident smile\na contemporary artistic collage\na cosmic canada goose\na cosmic entity made of stars\na cozy\na cozy old victorian loft\na cpu with human brains\na creature 5 meters tall\na crystal palace\na crystalline room\na cute and beautiful young woman\na cute cat\na cute giant panda\na cute little blue dragon\na cute spider\na cute steampunk calico cat\na cute young woman\na cyberpunk cityscape\na cyborg\na cyborg cat\na cyborg meditating\na dark\na dark phoenix\na dark underwater scene\na daub of cold blue\na delicate\na detailed\na devilish grin on his face\na digital dreamscape\na dingo mascot\na disembodied\na disembodied head screaming\na diver is under the sea\na dog\na door you must never open\na dragon\na dragon made of clouds\na dragon made of machine parts\na dragon statue made of jade\na dragon with a hat\na dramatic\na dream\na druid\na dystopian future\na extreme long shot\na face\na fantasy comic book style\na fantasy forest\na fantasy warrior\na fat\na ferret as superman\na few roses\na field full of crows\na firetruck at night\na fish climbing a tree\na flaming forest\na flaming forest of trees\na folding knife\na forest with bunnies\na friend in need\na friendly wisp\na frontal portrait of a delicate\na fruit basket\na full portrait of nordic female\na full-color airbrushed\na gangly british man\na george miller film\na ghetto in germany\na gigantic\na gigantic wall\na girl playing tennis\na girl with blonde hair\na glaceon ice princess\na glowing halo\na goat\na goblin pirate\na goddess in a field of flowers\na gorgeous\na gorgeous blonde\na green\na green gold forest in japan\na group of people\na group photo of a seal\na hand\na handsome\na handsome man，black short hair\na happy meal toy of hatsune miku\na harmonious integration\na head-on\na high angle shot\na highly detailed\na hooded killer a cane\na hookah smoking caterpillar\na horned\na huge\na huge glass tank\na huge radar\na human\na human bard\na human head\na human male paladin\na human-like juicy peach\na humanoid mosquito\na humanoid mosquito wolf\na humanoid thistle monster\na hyper realistic\na hyper-detailed\na hyper-detailed alien\na hyperrealistic schoolgirl\na labeled\na lake between mountains\na landscape of hedge maze\na large\na large sphere of red energy\na laser rifle\na liminal space\na list cast\na lonely woman\na long shot\na long-shot\na long-shot from front\na magician's chamber\na maid in a magical forest\na majestic gothic dragon\na majestic gothic indian dragon\na male elf\na man\na man sitting on a jetty\na man wearing a backpack\na man wearing a black jacket\na man wearing golden mask\na massive cathedral in a forrest\na massive celestial giant god\na massive tornado approaching\na master piece of storytelling\na masterpiece of storytelling\na mcdonalds gundam\na medieval\na medieval castle\na medieval city\na medieval keep\na medium shot\na mermaid in the sea\na messy\na mid-century modern collage\na middle aged elf\na middle-shot from front\na minotaur wolf\na monumental\na moogle in the legend of korra\na mountain look like a women\na mouse in a gothic atelier\na multidimensional cozy tavern\na muscular\na mysterious\na mysterious landscape\na mystic river\na mystical misty glow\na mystical temple\na mythical creature\na native american warrior\na new\na new dawn from the darkness\na painting of a cat\na painting of an iphone\na painting of two people\na painting of white silver\na pair of ribbed\na palace with a thousand long\na pale skin\na palm tree\na panda in space\na paper cutout garden\na paradise like a fairyland\na park\na person at a music festival\na person standing in front of a\na person with a raccoon head\na phoenix\na photo of a disheveled man\na photo of a frog with a hat\na photo of a lake on a sunny day\na photo of a man\na photo of an elephant\na photo of an old opened camera\na photo of sephiroth\na photo of the ocean\na photo of tom cruise\na photograph of a rusty\na photorealistic rendering\na picture of a klingon musical\na picture of a klingon opera\na pig\na pikachu in a forest\na pilgrim\na pint of beer sitting on a bar\na pirate\na planet of endless suffering\na plant monster\na plaster on her cheek\na pool inside the giant palace\na portal to the depths\na portal to the lost flame realm\na portrait of @hypnos_onc\na portrait of a blue eye girl\na portrait of a british man\na portrait of a girl\na portrait of a male elf\na portrait of a man\na portrait of a plump woman\na portrait of a suicidal girl\na portrait of a woman\na portrait of an android\na portrait of an elf\na portrait of dwayne johnson\na portrait of gordon ramsay\na portrait of issey miyake\na portrait of josh brolin\na portrait of judy hopps\na portrait of junkrat\na portrait of lana del rey\na portrait of link\na portrait of rahul kohli\na portrait of richard wikström\na portrait of the character\na potrait of a beautiful\na propaganda\na psychedelic experience\na purple and white dress uniform\na purple fish\na purple suit jacket\na python programmer's despair\na quaint\na rabbit full of hope\na raccoon wearing formal clothes\na radiant\na ragdoll cat windsurfing\na red bearded guy driving a gt3s\na red bow in her hair\na red cape\na red dragon\na redheaded young woman\na retropunk naturewave defender\na river flowing with waterfall\na road leading to the lighthouse\na robot\na robot dog\na robot reading a book in a park\na room\na round minimalist behind\na rubik's cube\na rustic album cover of a clock\na sad\na sad cheese puppet\na salt&pepper goatee\na screenshot of a rusty\na sea battle\na seance\na sexy blonde warrior\na sexy maid in a magical forest\na shaman holding up the universe\na sharknado\na ship lost in a storm\na ship on a deserted island\na short and average built\na sick cat laying in a bedroom\na silver haired mad\na single\na skeleton smoking a cigar\na skeleton winning a marathon\na skull of an alien creature\na small\na small medieval village\na snowy day in the forest\na soldier aiming a gun\na sorcerer casting a fireball\na sorceress casting a ice ball\na spaceship through the nebula\na spotted dove flying\na steam wheeler from 1880s\na steampunk beautiful goddess\na steampunk city\na steampunk store\na steampunk tyrannosaurus\na still life of a microwave\na still life of a robot\na still life of a rusty robot\na still of a happy\na still of an ethereal\na still of kowloon\na stunning\na stunning masterpiece\na stunning portrait of a goddess\na stunning young ethereal figure\na suited man in a hat\na sunny bedroom\na super-smart\na surreal\na surreal dream landscape\na surrealistic bird\na sword stuck in the ground\na table full of candy\na tall\na tall tree\na tattoo of a fox\na teen biopunk cyborg\na teen black cyborg\na teen cyberpunk cyborg\na teenage girl cheerleader\na telephone receiver in hand\na temple\na thin mouth\na tiara with emeralds\na tiger\na tim burton film\na train in red dead redemption 2\na translucency\na tshirt. blender art\na tvr sagaris\na unicorn\na very beautiful berserker woman\na very macular woman in white\na very sad man\na very tall\na violent storm at sea\na wanderer on a mountain\na wandering mind\na weird circus\na white wolf\na wide full shot\na wide open courtyard in an epic\na wide shot\na wide-angle\na wild\na witch\na wizard battling a tiger\na wizard's apothecary\na woman\na woman floats in midair\na woman holding an orb\na woman walking\na woman wearing red high heels\na woman's face\na woman's profile\na wooden\na yellow sun shining down\na young asian woman\na young female shaman\na young female wizard\na young man\na young woman\na young woman as genghis khan\na-1 pictures\na-channel\na-pose\na24\na24 cinematography\na24 film cinematography\na24!film cinematography\na24film cinematography\naaa game\naaa graphics\naaaa achievement collection\naaaaaaaaaaaaaaaaaaaaaa\naang\naardman\naardman animation\naardman animations\naardman character design\naardman studios\naaron brooks\naaron earley\naaron fallon\naaron horkey\naaron horkey style\naaron rodgers\naaron sims\nabaddon and magali villeneuve\nabalone\nabandon the ego\nabandoned\nabandoned asylum\nabandoned barn in the background\nabandoned building\nabandoned buildings\nabandoned bus stop\nabandoned car garage\nabandoned cars\nabandoned castle\nabandoned castle in the sky\nabandoned circus\nabandoned city\nabandoned city with graffiti\nabandoned cottage\nabandoned derelict buildings\nabandoned dirty tiny rocket ship\nabandoned factory\nabandoned flying future city\nabandoned gas station\nabandoned graveyard\nabandoned hospital\nabandoned hospital room\nabandoned house\nabandoned house interior\nabandoned in a desert\nabandoned japaense village\nabandoned laboratory\nabandoned mall at night\nabandoned mall in the 1 9 8 0 s\nabandoned night hangar\nabandoned on mars\nabandoned overgrown graveyard\nabandoned photograph\nabandoned places\nabandoned polish mansion\nabandoned prague\nabandoned railroad\nabandoned railroads\nabandoned rocket ship\nabandoned rocketship\nabandoned ruins\nabandoned ruins landscape\nabandoned scuba visor\nabandoned shopping mall\nabandoned space station\nabandoned spaces\nabandoned steelworks\nabandoned streets\nabandoned structures\nabandoned town\nabandoned vehicles\nabandoned vibes\nabandoned war torn village\nabandoned warehouse\nabandoned weapons\nabbey lee kershaw as emma frost\nabbey warhammer battle\nabbeys\nabbondio stazio\nabcdefghijklmnopqrstuvwxyz\nabdomen\nabdominal muscles\nabduction\nabdulov\nabduzeedo\nabel tasman\naberration\naberrations\nabeyance\nabigail from stardew valley\nabigail larson\nability image\nabiogenesis\nabnormal\nabomasnow\nabomination\naboriginal\naboriginal art\naboriginal australian hipster\naboriginal capirote\naboriginal engraving\nabout\nabout 3 5 years old\nabout 35 years old\nabout to consume you\nabout to enter doorframe\nabout to step on you\nabove a forest\nabove a village\nabove city\nabove lighting\nabove low layered clouds\nabove lush garden and hot spring\nabove meaning\nabove side view\nabove the clouds\nabove the family room\nabove the waist\nabove view\nabove water\nabraham lincoln\nabraham teerlink\nabram games\nabrupt\nabs\nabsence makes heart grow fonder\nabsent father\nabsent friends\nabsinthe\nabsolute chad\nabsolute peace and quiet\nabsolute peace and quiet ground\nabsolutely\nabsolutely gorgeous\nabsolutely nothing\nabsolutely outstanding\nabsolutely outstanding image\nabstract\nabstract 3 d artwork\nabstract 3d artwork\nabstract 3d rendering\nabstract acrylic painting\nabstract album cover\nabstract and / or modernism\nabstract art painting\nabstract art representing data\nabstract artwork\nabstract background\nabstract black hole in space\nabstract black leather\nabstract black oil\nabstract blocks\nabstract brush strokes\nabstract charcoal sketch\nabstract claymation\nabstract cloth simulation\nabstract colors\nabstract colours\nabstract composition\nabstract concept\nabstract conceptual\nabstract design\nabstract design. blue\nabstract design. parallax. blue\nabstract detail\nabstract digital art\nabstract edges\nabstract environment\nabstract expressionist painting\nabstract facades of buildings\nabstract face\nabstract figurative art\nabstract flat colour\nabstract forms and shapes\nabstract fractal art\nabstract fractal automaton\nabstract geometric\nabstract geometric art\nabstract geometric concept\nabstract geometric sculpture\nabstract geometrical shapes\nabstract geometry\nabstract high quality\nabstract holescape\nabstract horror\nabstract human body\nabstract human figures dancing\nabstract illustration\nabstract impressionism\nabstract landscape\nabstract lighting\nabstract liquid\nabstract liquid acrylic art\nabstract logo\nabstract maximalist painting\nabstract minimalism art painting\nabstract minimalist line art\nabstract minimalist painting\nabstract mirrors\nabstract mosh pit\nabstract nature\nabstract nature landscape\nabstract neon shapes\nabstract occult epic composition\nabstract oil painting\nabstract paint color splotches\nabstract painting\nabstract painting fabric texture\nabstract painting in black\nabstract painting of man on fire\nabstract painting oil on canvas\nabstract painting. 8k\nabstract pattern\nabstract people in frame\nabstract photography\nabstract portrait\nabstract psychedelic\nabstract purple lighting\nabstract realism\nabstract rippling background\nabstract scene design\nabstract sculpture\nabstract shapes\nabstract sketches\nabstract smoke neon\nabstract smokey roses\nabstract style\nabstract sun in background\nabstract surrealism\nabstract surrealism masterpiece\nabstract surrealist\nabstract symbolism\nabstract syntax\nabstract tech\nabstract texture\nabstract wallpaper design\nabstract white fluid\nabstract!\nabstract!!\nabstract!!!\nabstracted\nabstracted painterly techniques\nabstraction\nabstraction chemicals\nabstractionism\nabsurd\nabsurd quality\nabsurd res\nabsurdism\nabsurdist\nabsurdist art\nabsurdist wiggly blob in a dress\nabsurdly beautiful\nabsurdly long blonde hair\nabsurdly massive physique\nabsurdly muscular physique\nabsurdres\nabundance\nabundant detail\nabundant fruition seeds\nabundantly detailed\nabundent in details\nabused\nabzu\nacab\nacacia trees\nacademia\nacademic\nacademic art\nacademic art insanely quality\nacademic clothing\nacademic painting\nacademic russian painting\nacademician prokhor zakharov\nacademicism\nacademism\nacademy award winning\nacademy headmaster\nacanthus\nacanthus scroll\nacanthus scrolls\nacanthus scrollwork\naccent lighting\naccent lighting : : peugot onyx\naccent white lighting\naccented in bright metallic gold\naccents of red\naccentuated feminine features\naccentuated hips\naccentuated shadows\nacceptance\naccessible for the disabled\naccessories\naccident\naccidental flash\naccidental renaissance\naccidental selfie\naccidental wild west\naccidentally photographed\naccidentally taking a selfie\naccidents\nacclaimed\nacclaimed masterpiece\naccompany cory chase\naccompany hybrid\naccompanying cory chase\naccompanying hybrid\naccording to european art\naccretion disk\naccurate\naccurate anatomy\naccurate and detailed\naccurate animal imagery\naccurate bodies\naccurate body features\naccurate boroque\naccurate brown eyes\naccurate colors\naccurate court\naccurate depiction\naccurate detail\naccurate detailed face\naccurate details\naccurate face\naccurate faces\naccurate facial detailing\naccurate facial details\naccurate features\naccurate features )\naccurate fictional proportions\naccurate fingers\naccurate geography\naccurate green eyes\naccurate hands\naccurate human anatomy\naccurate illustration\naccurate image\naccurate isometric viewpoint\naccurate jimin face\naccurate klaus schwab face\naccurate perspective\naccurate portrait of a bob dylan\naccurate portrayal\naccurate proportions\naccurate ray tracing\naccurate roads\naccurate shape\naccurate skin textures\naccurate textures\naccurate to egyptian tradition\naccurate ultra realistic faces\naccurate walk cycle\naccurately detailed\naccurately drawn details\naccurately portrayed\naccurately shaped face\naccursed\nace attorney\nace attorney style\nace card\nace combat\nace of spades\nacecombat\nacescg colorspace\nachenbach\nachille mauzan\nachingly beautiful\nachluophobia\nacid\nacid bleeding deep colors\nacid color smoke\nacid colors\nacid graphics\nacid graphix\nacid house\nacid leaking from mouth\nacid pixie\nacid pixie acid pixie\nacid pooling inside\nacid pooling on the floor\nacid rain\nacid rain effect\nacid rains\nacid rains. the sacred nipple\nacid rich colors\nacid trip\nacid wash layering\nacid-green sneakers\nacids\nacidwave\nacne\nacnh\nacorns\nacoustic guitar\nacoustic information\nacrace catoon\nacrilic paint\nacrion\nacrnym\nacrobat\nacrobatic\nacrobatic moveset\nacrobatic pose\nacronym\nacronym p31-ds pants\nacrophobia\nacross an alien landscape\nacross holding a hand\nacross the face portrait\nacroteria\nacryclics\nacryl on canvas\nacryl painting\nacrylic\nacrylic and oil painting\nacrylic and spraypaint\nacrylic art\nacrylic canvas\nacrylic drawing\nacrylic liquid colors\nacrylic masterpiece\nacrylic oil on canvas\nacrylic on canvas\nacrylic paint\nacrylic paint on canvas\nacrylic paint pour\nacrylic paint splashes\nacrylic paint splatters\nacrylic paint style\nacrylic painting\nacrylic painting on oiled canvas\nacrylic paints\nacrylic palette\nacrylic palette knife\nacrylic palette knife and brush\nacrylic pour and splashing paint\nacrylic pour painting\nacrylic pouring\nacrylics\nacryllic spill\nactias luna\nacting\nacting headshot\naction\naction - adventure\naction adventure\naction adventure scene\naction and tragedy\naction bronson\naction fight\naction figure\naction figure mecha\naction figures\naction figurine toy\naction filled\naction film\naction film color palette\naction game\naction glamour pose\naction hero\naction horror\naction lines\naction moment\naction movie\naction movie poster\naction movie scene\naction movie still\naction packed\naction perspective concept\naction photo\naction photograph\naction photography\naction pose\naction pose : : spotlight\naction pose reference\naction poses\naction poses with weapons\naction post\naction rpg video game\naction scene\naction scene from kill bill\naction scene from the film\naction scene screenshot\naction scenes\naction sequence\naction shot\naction shot girl in parka\naction shots\naction sports\naction sports photography\naction still\naction thriller\naction with run and fight\nactionfigure\nactionism\nactive\nactive battle zone\nactive volcano\nactivision blizzard\nactivision blizzard style\nactivity play centre\nactivity with fight on swords\nacton figure\nactor\nactor liam hemsworth\nactors\nactress\nactual photo\nacupuncture treatment\nacurate\nad\nad campaign\nad image\nad&d\nadafruit\nadam\nadam and eve\nadam and eve inside the brain\nadam and eve versus godzilla\nadam burn\nadam driver\nadam driver as a centaur warrior\nadam driver as master chief\nadam driver behind\nadam duff lucidpixul\nadam hughes\nadam lee and walt disney\nadam miller\nadam moore\nadam narozanski\nadam ondra\nadam sandler\nadam smasher\nadam varga\nadam warlock\nadam west as batman 2022\nadamantium\nadamantly defined abs\nadaptation\nadapted to a drier climate\nadaptive armor\nadar darnov\nadd a glow around subj. edge\nadd text: auto repair\naddams\nadded detail\naddiction\naddidas\nadebanji alade\nadelaide labille - guiard\nadele\nadeptus astartes\nadeptus custodes centurion\nadeptus mechanicus\nadeptus mechanicus!\nadeptus mechanicus!!!\nadhd\nadi granov\nadi meyers\nadidas\nadidas painting\nadim kashin\nadinkra symbols\nadjacent hallways\nadjustment of temporal matrix\nadmiring her own reflection\nadobe\nadobe - illustrator\nadobe after effects\nadobe eps\nadobe illustrator\nadobe illustrator art\nadobe ilustrator\nadobe lightroom\nadobe photoshop\nadobe premier pro\nadobe stock popular\nadolf hiremy - hirschl\nadolf hitler\nadolf hitler funko pop\nadolf wolfli\nadolf wolfli and donato giancola\nadolf wölfli and donato giancola\nadolfo hohenstein\nadolphe bouguereau\nadolphe bouguereaum\nadonis belt\nadopt\nadoptable\nadoptables\nadorable\nadorable and cute\nadorable and whimsical\nadorable appearance\nadorable appearance!!!\nadorable design\nadorable digital painting\nadorable eyes\nadorable friendly robot\nadorable glowing creature\nadorable outfit\nadorable!!!\nadorably cute\nadorned pillars\nadorned with all kind of plants\nadorned with demon skulls\nadorned with precious stones\nadornment\nadornments\nadoryanti\nadreas rocha\nadrian\nadrian borda\nadrian monk\nadrian smith\nadrian smith concept art\nadrian smith fantasy art\nadrian tomine\nadrian wilkins\nadriana chechik\nadriana dxim\nadriana lima\nadriano celentano as terminator\nadrien brody\nadrien girod\nadrien henri tanoux\nads\nadularia\nadult\nadult character\nadult dog\nadult man\nadult pair of twins\nadult swim\nadult swim style\nadult video store\nadut akech\nadvance civilization\nadvanced\nadvanced anime digital art\nadvanced art\nadvanced automobile\nadvanced civilization\nadvanced cybernetics\nadvanced digital anime art\nadvanced digital anime art ”\nadvanced digital art\nadvanced digital chibi art\nadvanced digital cyberpunk art\nadvanced digital game coverart\nadvanced digital paint\nadvanced digital painting\nadvanced digital photograph\nadvanced economy\nadvanced highway\nadvanced lighting technology\nadvanced stage lighting\nadvanced technique\nadvanced technology\nadvanced technology flight suit\nadvanced warfare\nadventure\nadventure game\nadventure gear\nadventure hyper realistic render\nadventure movie\nadventure playground\nadventure playground accident\nadventure time\nadventure time cartoon\nadventure time colour palette\nadventure time style\nadventurer\nadventurer outfit large cloak\nadventuring\nadventuring gear\nadventuring party\nadventurous\nadversitement\nadvert\nadvert logo\nadvertisement\nadvertisement photo\nadvertisement photography\nadvertisement poster\nadvertisements\nadvertising\nadvertising billboard\nadvertising lighting\nadvertising photo\nadvertising photograph\nadvertising photography\nadvertising studio lighting\nadvertising visualization\nadvertisment\nadward winning\nae 8 6\nae 86\naela the huntress\naenaluck\naenami alena\naeon flux\naeon flux style\naerial\naerial combat\naerial footage\naerial illustration\naerial iridecent veins\naerial perspective\naerial photo\naerial photo night vision\naerial photograph\naerial photograph of skyscraper\naerial photography\naerial shot\naerial shot from the drone\naerial silk\naerial spaces\naerial view\naerial view cinestill 800t 18mm\naerial view from above\naerial view of a city\naerial view of a cyberpunk city\naerial view of an ancient land\naerial view of moscow kremlin\naerial view top down\naerial view. hand stitching\naerial viewyoji shinkawa\naerith gainsborough\naero dynamic\naerochrome eyes\naerodynamic\naerodynamic body\naerodynamic design\naerodynamic frame\naerodynamic imposing\naerodynamic!!!!!!\naerogel ios ui concept\naeromorph\naeron alfrey\naeroplane\naestetic\naesthehic\naesthetic\naesthetic / a riot in mars\naesthetic art\naesthetic award winning anime\naesthetic canon of proportions\naesthetic clouds in the sky\naesthetic color palette\naesthetic cute with flutter\naesthetic cyberpunk\naesthetic details\naesthetic dynamic lighting\naesthetic face\naesthetic film grain\naesthetic lighting\naesthetic mood\naesthetic octane render\naesthetic octane render!\naesthetic portrait\naesthetic shot\naesthetic siamese cat\naesthetic ”\naesthetic!\naesthetic!!\naesthetic!!!\naesthetic!!!!\naesthetic!!!!!\naesthetic!!!!!!\naesthetic!!!!!! female genie\naesthetic!!!!!!!\naesthetic!!!!!!!!\naesthetic!!!!!!!!!!\naesthetically pleasing\naestheticfemale genie\naestheticly inspired\naesthetics\naetherpunk\naetherpunk airbrush digital art\naetstationhd\nafar\naffable ， wenjun lin\naffinity photo\nafghan girl\nafghan warrior\nafofuturism\nafp\nafraid\nafremov\nafremov leonid\nafrica\nafrican\nafrican aaron paul\nafrican ameera al taweel\nafrican american\nafrican american elegant girl\nafrican american girl\nafrican american woman\nafrican american young woman\nafrican argonian! body! in full\nafrican argonianbodyin full\nafrican arts\nafrican arts magazine\nafrican canadian\nafrican cyberpunk wizards\nafrican domme mistress\nafrican elephants in the jungle\nafrican facial features\nafrican female android\nafrican fractals\nafrican god mask\nafrican iconography\nafrican jesse pinkman portrait\nafrican man\nafrican mask\nafrican mythology\nafrican plains\nafrican princess\nafrican queen\nafrican savannah\nafrican steampunk alchemist\nafrican steppe\nafrican sybil\nafrican woman\nafro\nafro - futurist style\nafro comb\nafro futurism\nafro futuristic\nafro hair\nafro made of flowers\nafro samurai anime style\nafro samurai animes style\nafro samurai manga style\nafro samurai style\nafro tech\nafro-psychedelia\nafroamerican\nafrocentric mysticism\nafrofuturism anime\nafrofuturism style\nafrofuturist\nafrofuturistic\nafropunk\nafshar\nafter a battle\nafter a riot\nafter all\nafter creating humans\nafter effects\nafter hours\nafter life\nafter rain\nafter rain and no girls\nafter the rain\nafter the storm\naftereffects\nafterlife\naftermarket parts\naftermath\naftermath of a huge battle\nafternoon\nafternoon hangout\nafternoon light\nafternoon lighting\nafternoon lights\nafternoon sun\nafternoon sunlight\nafternoon sunshine\nafternoon time\nagain and again\nagainst a deep black background\nagainst a red curtain\nagainst a stormy sky\nagainst a winter garden\nagainst all odds\nagainst dark background\nagainst light\nagainst the backdrop of trees\nagartha\nagate\nage\nage 2 0\nage 3 0\nage 3 5\nage 30\nage lines\nage marks\nage of empires\nage of empires 2\nage of empires 3\nage of empires ii\nage of sigma art\naged\naged 13\naged 2 5\naged 25\naged 4 0\naged 40\naged and weathered\naged armor plating\naged paper\naged photo\naged shaggy ex military soldier\naged turtle\nagent 47 in a scene from naruto\nagent cooper\nagent orange\nagent pekka\nagents from the matrix movie\nagfa akurit\nagfa film\nagfa isopan iso 2 5\nagfa isopan iso 25\nagfa photo\nagfa vista 800 film\naggresive\naggresive strokes\naggression\naggressive\naggressive angular design\naggressive head\naggressive look\naggressive pose\naggressive rococo\naggressive stance\nagharta\nagile\naging\nagitated\nagnes cecile\nagnes pelton\nagonizing\nagony\nagony and suffering\nagony exression\nagoraphobia\nagostino arrivabene\nagressive\nagrigento\nah puch\nah yes\nahegao\nahegao face\nahestetic\nahhhhhhh\nahmad merheb\nahri\nahri from league of legends\nahsoka tano\nai\nai - generated art\nai art\nai art is souless\nai assisted digital painting\nai biodiversity\nai biomech\nai enhanced\nai enhanced digital art\nai limbo\nai producing the realist\nai researcher\nai robot tendril remnants\nai self portrait\nai sentient\nai startup\nai weiwei and gregory crewdson\nai yazawa\naida muluneh\naiden gillen\naiden pearce\naikido\naiming\naiming a bow and arrow\naincrad\nainz ooal gown\naion\nair\nair and fire\nair and tornado theme\nair brush\nair brush art\nair brush illustration\nair brush style\nair bubbles\nair conditioner\nair force\nair force jumpsuit\nair is being pushed around him\nair jordan 1 high\nair particles\nair pollution\nair ships\nair shot\nair support\nair technology\nairbnb\nairborn studios\nairborne view\nairbrush\nairbrush art\nairbrush concept art\nairbrush dark dress\nairbrush digital art\nairbrush digital oil painting\nairbrush fantasy 80s\nairbrush on canvas\nairbrush painted\nairbrush painting\nairbrush render\nairbrush style\nairbrushed\nairbrushed artwork\nairbrushed clouds\nairbrushed painting\nairbrushing\naircraft\naircraft carrier\naircraft carrier scene\naircraft wings on back\nairforce gear\nairing in 2 0 2 3\nairplane\nairplane cockpit\nairplane hanger background\nairplane in the sky\nairplane view\nairplane window view\nairplanes\nairplanes bombing the beach\nairpods\nairport\nairscape\nairship\nairship in steampunk\nairship in the sky\nairships\nairships in the sky\nairships on background\nairsoft close quarter combat\nairsoft cqb\nairsoft electric pistol\nairsoft gun\nairsoft handgun\nairy\nairy colors\nairy landscape\nairy midnight theme\nairy theme\naishwarya rai\naisles of aquariums\naivazovsky\naizome patterns\naji de gallina\najna chakra\nak - 4 7\nak 1 2\nak 12\nak 4 7\nak 47\nak45\nak47\naka dream\nakaka falls\nakali\nakali from league of legends\nakane owari danganronpa\nakashic\nakasuki brightmind\nakasuki voidstar\nakatsuki akira\nakehiko inoue and ross tran\naketan\nakihabara\nakihabara style\nakihiko yoshida\nakihiko yoshida 8 k\nakihiko yoshida 8k\nakihiko yoshida!\nakihiko yoshida. nomax\nakihiko yoshida. unreal engine\nakihiko yoshida”\nakihito tsukushi\nakihito yoshida\nakikazu mizuno\nakiko takase\nakiman\nakimino kamijyo\nakio watanabe\nakira\nakira aesthetic\nakira and bumblebee\nakira anime\nakira anime cyberpunk\nakira art style\nakira artstyle\nakira cgi movie stills\nakira color palette\nakira from chinese mythology\nakira hiramoto\nakira japanese art\nakira kurosawa\nakira moto\nakira motorcycle\nakira movie style\nakira style\nakira style illustration\nakira toriyama studio ghibli\nakira toriyama style\nakira toriyama 📹\nakira vibes\nakira yasuda\nakira yoshizawa\nakira's motorcycle\nakiras motorcycle\nakiri toriyama\nakitipe studios\nakiyuki shinbo\nakiyuki shinbou\nakseli gallen kallela\nakt photography\nal - qadim\nal chang\nal duke\nal fresco\nal jazeera\nal natural\nal pacino\nal pacino scarface hot tub scene\nalabama\nalabaster gothic cathedral\naladdin\nalain aslan\nalain beneteau\nalain delon as monster hunter\nalain delon vampire hunter\nalamy stock photo\nalan grey\nalan jackson\nalan lee and marc simonetti\nalan moore is angry about you\nalan moore portrait\nalan turing\nalan watts\nalana fletcher\nalanis guillen\nalarcon caricaturista\nalarm clock\nalaska\nalaskan glacier on fire\nalbedo\nalbedo from overlord\nalbedo from the anime overlord\nalbedo texture\nalbert bierdstadt\nalbert bierdstat\nalbert bierstadt 4 k\nalbert bierstadt 4k\nalbert bierstadt and artgerm\nalbert bierstadt greg rutkowski\nalbert einstein\nalbert einstein as a teenager\nalbert kiefer\nalbert lynch\nalbert ramon puig\nalbert uderzo\nalbert watson\nalbert wesker\nalbert wesker and chris redfield\nalbert wesker full body portrait\nalberto mielgo\nalberto seveso and dan mccaw\nalbino\nalbino dwarf\nalbino hair\nalbino mystic\nalbino skin\nalbino white pale skin\nalbion\nalbrecht durer\nalbrecth durer\nalbum\nalbum art\nalbum art cover\nalbum art for a trance dj\nalbum art for char zulu\nalbum art young thug\nalbum artwork\nalbum cover\nalbum cover art\nalbum cover concept art\nalbum cover design\nalbum cover style\nalbum cover!\nalbum is called tripmachine\nalbum photo\nalbumen silver print\nalbuquerque\nalchemic\nalchemical\nalchemical diagram\nalchemical equipment\nalchemical objects on the side\nalchemical still\nalchemical still made from clay\nalchemical symbols\nalchemist\nalchemist bottles\nalchemist girl\nalchemist lab\nalchemist library background\nalchemy\nalchemy concept\nalchemy laboratory\nalchemy tavern\nalcohol\nalcohol ink art\nalcohol ink painting\nalcohol inks on parchment\nalcohol with blue delirium skies\nalduin\nalebrijes aesthetic\nalec soth : : love\nalegria\nalegria style\naleister crowley\naleister crowley with baphomet\nalejandro\nalejandro burdisio art\nalejandro burdiso style art\nalejandro inarritu\nalejandro jodorowsky\nalejandro mirabal\nalejandro olmedo art\naleksander rostov\naleksandra waliszewska\nalembic\nalen kopera\nalena\nalena aemani digital art\nalena aenami and android jones\nalena aenami and artgerm\nalena aenami and lilia alvarado\nalena and bluth\naleriia _ v ( lerapi )\nalert\nalert brown eyes\nalert eyes\nalessandra ambrosio\nalessandro barbucci\nalessandro bavari\nalessio albi\nalessio albi and shin jeongho\nalex\nalex and his droogs\nalex andreev\nalex boyd\nalex colville\nalex flores\nalex from a clockwork orange\nalex gray\nalex grey and beksinski\nalex grey and dan hillier\nalex grey and gustave dore\nalex grey and romero ressendi\nalex grey and tim hildebrandt\nalex grey art\nalex grey cat\nalex grey style\nalex gross\nalex heywood\nalex horley and jimmy nelson\nalex horley and jimmy nelson!\nalex jones\nalex jones with frog legs\nalex kanevsky\nalex kiesling\nalex maksiov and john pugh\nalex malveda\nalex miranda\nalex pardee\nalex ries\nalex ries zdzisław beksinski\nalex ross and richard corben\nalex ross style\nalex trebek\nalex yanes\nalex yanes and lisa frank\nalexa 65\nalexa grace\nalexa mini\nalexa65\nalexander\nalexander abdulov\nalexander archipenko\nalexander hamilton style\nalexander jansson style\nalexander lukashenko in scarface\nalexander mcqueen haute couture\nalexander minze thumler\nalexander the great\nalexander trufanov\nalexander wells\nalexandra daddario\nalexandra daddario face\nalexandra daddario face!!\nalexandra fomina\nalexandra fomina artstation\nalexandre bourlet\nalexandre chaudret\nalexandre ferra\nalexandre ferra mecha\nalexandre ferra white mecha\nalexandria ocasio - cortez\nalexandria ocasio cortez\nalexandria ocasio-cortez\nalexandria's genesis\nalexandria\\'s genesis\nalexandrias genesis\nalexandros pyromallis\nalexei savrasov\nalexey egorov\nalexey gurylev\nalexi zaitsev\nalexis flower\nalexis franklin\nalexis ohanian as a wizard\nalexstrasza\nalf\nalfa romeo giulia\nalfa romeo project car\nalfio presotto\nalfons\nalfons maria mucha\nalfons mucha\nalfons mucha and greg rutkowski\nalfons mucha ， from china\nalfonse mucha detailed\nalfonso mucha\nalfred cheney johnston\nalfred dehodencq\nalfred elmore\nalfred ghisoland\nalfred hitchcock\nalfred kelsner\nalfredo and the afterlife\nalfric overguard\nalgae\nalgae feet\nalgebra\nalgorithm\nalgorithmic\naliased\naliasing visible\nalice\nalice attends mad tea party\nalice cooper\nalice cooper as a goat\nalice cooper as marilyn manson\nalice cullen\nalice from alice in wonder land\nalice goes down the rabbit hole\nalice hunt and peter hurd\nalice in the wonderland\nalice in wonderland\nalice in wonderland 3 d\nalice in wonderland cyberpunk\nalice in wonderland style\nalice in wonderland syndrome\nalice in wonderland theme\nalice russell glenny\nalice x. zhang\nalice's sister\nalicia vikander\nalicization\nalien\nalien  1979\nalien  1984\nalien ( 1 9 7 9 )\nalien ( 1 9 8 4 )\nalien - style\nalien 1 9 7 9\nalien 1979\nalien abduction\nalien antenna\nalien architecture\nalien armor\nalien army\nalien art\nalien autopsy\nalien base\nalien bioweapon\nalien breathtaking landscape\nalien buildings\nalien capsules\nalien castle in background\nalien church\nalien city\nalien cityscape\nalien civilization\nalien colorful greenery\nalien colors\nalien creature\nalien creatures\nalien creatures scattered around\nalien desert\nalien design\nalien dream worlds\nalien environment\nalien exotic\nalien eyes\nalien fabric\nalien faces\nalien fauna\nalien features\nalien flora\nalien flora and fauna\nalien flower\nalien flowers\nalien foliage plants\nalien food\nalien forest\nalien forest in background\nalien forms\nalien frog\nalien futuristic city\nalien girl\nalien glyphs\nalien god\nalien goo\nalien grey\nalien ground\nalien habitat\nalien head\nalien helmet\nalien hive\nalien homeworld\nalien hunter\nalien hybrids\nalien in the form of mantis\nalien invasion\nalien invasion. 2 4 mm\nalien isolation\nalien jungle forest\nalien landscape\nalien language\nalien life\nalien like\nalien looking\nalien man with alien woman\nalien monster\nalien mothership\nalien mothership in the sky\nalien mountains\nalien mouth\nalien movie\nalien movie screenshot\nalien musician\nalien nature\nalien owl\nalien planet\nalien planet covered in water\nalien planet in the sky faraway\nalien planet landscape\nalien plant\nalien plant from alpha centauri\nalien plants\nalien plants and animals\nalien portrait\nalien princess\nalien queen\nalien racing drivers\nalien relic\nalien robot luffy\nalien room\nalien room background\nalien ruins\nalien sedimentary schematic\nalien ship wreck\nalien shop\nalien skin\nalien skull\nalien skulls\nalien sky\nalien space knight\nalien space ship flying in space\nalien space ships\nalien spaceship\nalien spaceship in the sky\nalien species\nalien squid\nalien starship\nalien structure\nalien style\nalien supercity\nalien surface planet\nalien technology\nalien temple\nalien tentacles\nalien trees\nalien trump\nalien utopia\nalien vibes\nalien vs predator\nalien warrior\nalien waterfall\nalien wildlife\nalien woman\nalien world\nalien worlds\nalien writing\nalien xenomorph\nalien! alien isolation\nalien-like\nalienating\nalienation\naliens\naliens arriving dune\naliens in the background\naliens in the last supper\naliens invading earth\naliens land here\naliens movie\naliens vivid\naliens vs predator\nalienware\naligned xenomorph nesting dolls\nalina ivanchenko\nalison brie\nalison brie as black widow\nalison hannigan\nalison williams\nalita\nalita battle angel\nalive\nalive colors\nalizarin curtains\nall - seeing eye\nall alone\nall around\nall at once\nall black cyberpunk clothes\nall black matte product\nall body\nall body! shot\nall bodyshot\nall buildings on bridge\nall cast members\nall colors\nall dark blue metal\nall dirty with severed limbs\nall enclosed in a circle\nall face covered with a fire\nall from the group nct\nall growing inside an enormous\nall in focus\nall in the amazing outdoors view\nall inside an enormous cavern\nall inside frame\nall looking at camera\nall manner of beasts\nall marble\nall mimsy were the borogoves\nall overly excited\nall parts\nall red\nall religions combined\nall rights reserved\nall roads lead to rome\nall robots are half human\nall seeing eye\nall skeletons\nall teeth\nall terrain vehicle race\nall the people are wearing suits\nall these worlds are yours\nall things cease to exist\nall white\nall white render\nall-metal\nalla prima\nalla prima oil painting\nallan houser\nallan lee\nallegorical\nallegorical painting\nallegorical realism\nallegorical style\nallegory of metamorphosis\nallegory of winter\nallen anderson\nallen williams\nalley\nalleys\nalleyway\nalliance\nalligator\nalligator shaman\nalligators\nalluring\nalluring and terrifying\nalluring elf princess knight\nalluring eyes\nalluring mesmer woman\nalluring plus sized model\nalluring tiefling druid\nalma tadema\nalmond blossom\nalmost black\nalmost night\nalmost smiling\nalone\nalone dramatic\nalone gorgeous latin woman\nalone in a nebula\nalone!!\naloof\nalosaurus\naloy\naloy from horizon zero dawn\naloy from horizon: zero dawn\nalp\nalpaca\nalpaca sculpture\nalpes\nalpha\nalpha movie\nalpha wolf head\nalphabet soup\nalphonce mucha\nalphone mucha\nalphons mucha\nalphonsa mucha\nalphonse\nalphonse fly\nalphonse maria mucha\nalphonse muca\nalphonse mucha\nalphonse mucha - h 7 6 8\nalphonse mucha - h 768\nalphonse mucha 8 k\nalphonse mucha 8k\nalphonse mucha : :\nalphonse mucha and alena aenami\nalphonse mucha and ayami kojima\nalphonse mucha and craig mullins\nalphonse mucha and rossdraws\nalphonse mucha background\nalphonse mucha cgsociety\nalphonse mucha frank fanzzeta\nalphonse mucha j. c. leyendecker\nalphonse mucha johannes voss\nalphonse mucha magali villeneuve\nalphonse mucha meet beksinski\nalphonse mucha poster\nalphonse mucha style\nalphonse mucha''\nalphonse mucha.\nalphonse mucha. highly detailed\nalphonse mucha. rich colors\nalphonse murac\nalphonse musha\nalphonse-mucha\nalphonso azpiri\nalphonso mucha\nalpine\nalpine architecture\nalpine climate\nalpine landscape with a cottage\nalpine pond with water lilies\nalpine scenery\nalpine tundra wildfire\nalps\nalso known as artemis or selene\nalso known as artemis the selene\nalso one tomato slice\nalso spelled ka'bah or kabah\nalso spelled kabah or kabah\nalso symmetrical\nalso tomato\nalso very detailed\nalsphonse mucha\nalt art\nalt fashion\naltar\nalter\nalterd carbon\naltered carbon\naltered carbon series\naltered carbon style\naltered states\nalternate album cover\nalternate angle\nalternate dimension\nalternate history\nalternate reality ceramic age\nalternate universe\nalternative\nalternative metal\nalternative reality\nalternative reality mirrors\nalternative rock\nalternative world\nalton kelley\naltostratus clouds\nalucard\naluminium\naluminum\naluminum sheen\nalvah angelrune\nalvar aalto\nalvaro siza\nalvin schwartz\nalways sunny in philadelphia\nalways the sun\naly fell\naly fell and artgerm\nalyssa monks\nam a jean giraud\nam a naranbaatar ganbold\namad\namagaitaro\namalgamation of embers\namalgamation of magical stars\namanda clarke\namanda lilleston\namanita\namanita muscaria\namanita myscaria\namano and karol bak\namano and olivier ledroit\namano yoshitaka\namaro\namaterasu\namateur\namateur photo\namateur photograph\namateur photography\namaze art\namazed\namazement\namazing\namazing 8k character concept art\namazing alien landscape\namazing amethyst geode\namazing and immaculate scale\namazing art\namazing artwork\namazing awesome and epic\namazing background\namazing background theme\namazing beauty\namazing blend effect\namazing blue background theme\namazing cgi\namazing character\namazing cinematography\namazing color photograph\namazing colorful background\namazing colors\namazing colours\namazing composition\namazing concept art\namazing concept painting\namazing concrete sculpture\namazing contrasting background\namazing craftsmanship\namazing d & d art\namazing d & d dark sun art\namazing d d art\namazing d d dark sun art\namazing depth\namazing detail\namazing detail digital art\namazing detail. colored\namazing details\namazing digital art\namazing ditial art\namazing effect\namazing exquisite matte painting\namazing eyes\namazing fantasy art\namazing film quality\namazing fire art\namazing flower tiara\namazing food illustration\namazing food photography\namazing graphics\namazing landscape\namazing landscape in background\namazing light\namazing lighting\namazing lighting effect\namazing lightning\namazing lightning art\namazing likeness\namazing line work\namazing mmorpg\namazing octane render\namazing painting\namazing photo\namazing photography\namazing photorealistic graphics\namazing portrait of viego\namazing professional picture\namazing quality\namazing shades\namazing shading\namazing short\namazing shot\namazing simple composition\namazing sky\namazing space creature 4 k\namazing splashscreen artwork\namazing textured brush strokes\namazing value control\namazing values\namazing view\namazing volcanic eruption\namazing wallpaper\namazing water art\namazing weather\namazing!\namazingly composed image\namazingly detailed\namazingly detailed d & d art\namazingly detailed d d art\namazingly detailed semirealism\namazingly epic visuals\namazon\namazon forest burning\namazon in the background\namazon indian peoples in brazil\namazon jungle\namazon milk frog\namazon queen\namazon rainforest background\namazon warrior\namazonian\nambeint\namber\namber and blue color scheme\namber and chaos\namber eyes\namber glasses\namber glow\namber heard\namber heard as captain america\namber heard squatting on a bed\namber jewelry\namber jewels\nambiance\nambience\nambience lighting\nambient\nambient amber light\nambient art\nambient cave lighting\nambient diffusion\nambient fog\nambient glow\nambient green light\nambient key art\nambient lain\nambient lifting\nambient light\nambient light background\nambient lighting\nambient lighting at night\nambient lighting from top\nambient lighting highly detailed\nambient lighting!\nambient lightning\nambient lights\nambient occlusion\nambient occlusion render\nambient occlusion:3\nambient oclusion\nambient reflective occlusion\nambient style\nambient teal light\nambient vibe\nambient volumetric lighting\nambients\nambiguous gender\nambitious\nambrosius bosschaert the elder\nambrotype\nambulance\nameera al taweel\nameera al-taweel\namelie poulain\namen beats jungle party\namerica\namerica 2 0 9 8\namerican\namerican astronaut\namerican astronaut in the forest\namerican canteen\namerican city\namerican civil war\namerican civil war trench battle\namerican dream\namerican exceptionalism\namerican flag\namerican flag in background\namerican flag on background\namerican flags\namerican gods\namerican gothic\namerican gothic interior\namerican gothic style\namerican indian headdress\namerican man\namerican mcgee's alice\namerican mcgees alice\namerican oil painting\namerican postcard art style\namerican progress\namerican propaganda\namerican psycho\namerican realism style\namerican realist\namerican realist style\namerican school\namerican shot\namerican soldiers invaded mars\namerican suburb\namerican top manager\namerican total portrait\namerican velvet painting\namerican veteran gi\namerican west scenery\namericana\namericana architecture\namericana vibrant colors\namericanoize\namethyst\namethyst citrine opal\namethyst mineral quartz\namethyst opal citrine\namethyst stained glass\namicable\namid nature\namidst nature\namidst of nature fully covered\namigurumi\namityville\nammo bandolier\nammo belt\nammo bullets\nammolite\nammonite\nammonites\namnesia\namogus\namogus photo - realistic\namoled\namoled wallpaper\namong foxes and deer\namong golden fireflies\namong heavenly sunlit clouds\namong ravens\namong the clouds\namong the stars\namong us\namong us character\namong us crewmate\namong us imposter\namong us impostor\namong us video game\namong wonderful golden fireflies\namongst coffee beans and flowers\namongst foliage\namorphous\namour\namouranth\namouranth as a super villain\namphibians\namphora\nample lighting\namplified ritual engine\namr elshamy\namsterdam\namulet\namused\namused facial expression\namusement park\namusement park attractions\namusement park buildings\namusement park interior design\namusing\namy adams\namy adams as morticia addams\namy judd\namy pond\namy rose red dress\namy sol in the style of\namy yasbeck\nan 80 year old man\nan 80's bedroom\nan 8k resolution\nan 9 4\nan 94\nan abandonded courtyard\nan abandoned\nan abandoned dystopian city\nan abandoned old\nan abandoned rococo salon\nan abandoned rusted train\nan abstract\nan abstract spiritual background\nan abstract tropical landscape\nan absurdly beautiful\nan achingly beautiful\nan adorable kitten\nan aerial tennis court\nan aesthetic\nan aesthetic field of flowers\nan aesthetic!\nan aesthetically pleasing\nan affable devil among demons\nan afghan male type\nan african wild dog sitting up!\nan ahoge stands up on her head\nan ai generated image\nan alchemical art illustration\nan alchemist\nan alchemist gnome\nan alien\nan alien autopsy\nan alien battle in space\nan alien city\nan alien cityscape\nan alien drinking horchata\nan alien fruit\nan alien jungle\nan alien landscape\nan alien landscape view\nan alien mushroom with tentacles\nan alien musician lost in space\nan alien planet\nan alien robot naughty nurse\nan alien working on a computer\nan alien. angled jaw\nan all white horse\nan all white human\nan alley in paris in winter\nan almighty warlock\nan altar of a temple\nan amalgamation of a snake\nan amazing landscape image\nan amazing photo\nan american propaganda\nan american romanticism painting\nan amusement park in old egypt\nan ancient\nan ancient city on fire\nan ancient creature\nan ancient greek statue\nan ancient greek trireme\nan ancient greek vase\nan ancient land\nan ancient male bearded face\nan ancient path\nan angel\nan angel of the dawn light\nan angel standing still\nan angel with boxing gloves\nan angry\nan angry expression\nan angry lemon\nan angry muscular army general\nan animation cel of dana scully\nan anime girl\nan anime large mecha robot\nan anime nendoroid of elon musk\nan anime nendoroid of karl marx\nan anime nendoroid of snoop dogg\nan anime nendoroid of son goku\nan anime portrait of cirno\nan anime portrait of david bowie\nan anthro cat\nan anthro fox\nan anthro wolf\nan anthropomorphic blue hedgehog\nan anthropomorphic cyberpunk fox\nan anthropomorphic deer\nan anthropomorphic fox\nan anthropomorphic gangster rat\nan anthropomorphic rat\nan anthropomorphic stomach\nan anthropomorphic turtle\nan anthropomorphic wolf\nan antique\nan apple\nan apple doing crossfit\nan approaching shadow\nan arab standing watching over\nan arcane wizard casting a spell\nan architectural\nan archway\nan arcylic art\nan area rug\nan armored core on the ground\nan armored core v\nan armored core v on the ground\nan army of evil\nan army recruitment poster\nan art deco\nan art nouveau\nan artistic pose\nan asian woman\nan astronaut\nan astronaut floating in space\nan astronaut giving a peace sign\nan astronaut holding a beachball\nan astronaut in space\nan astronaut is under the sea\nan astronaut lost in the ocean\nan astronaut relaxing in space\nan astronaut riding a horse\nan atom bomb explosion in mumbai\nan attractive\nan australian summer landscape\nan aviator jacket and jorts\nan avocado armchair\nan avocado chair\nan award winning\nan award winning digital render\nan award winning masterpiece\nan award winning photo\nan axe elemental\nan axolotl\nan aztec city in a island lake\nan aztec warrior\nan beautiful\nan concept art of the tau queen\nan delightfully crazy\nan diver is under the sea\nan dramatic\nan eagle\nan eagle flying\nan earring\nan eclipse\nan ecological gothic scene\nan edgy teen assassin\nan eerie\nan eerie cave\nan eerie whirlpool\nan egg\nan elderly\nan eldritch entity\nan elegant\nan elegant couple\nan elegant gothic princess\nan elegant green\nan elegant woman in black dress\nan elephant\nan elephant doing yoga poses\nan elephant in the savannah\nan elephant king\nan elephant octopus chimera\nan elephant wearing a tutu\nan elf\nan elf in a suit\nan elf queen\nan emo girl\nan empty backroom at night\nan empty brutalist chamber\nan empty hallway\nan empty liminal space\nan empty office hallway\nan enchanted forest\nan endless waterfall\nan english man\nan enormous\nan enormous elephant king\nan enormous silver tree\nan entity\nan epic\nan epic anime of a energy man\nan epic anime of tuff luck\nan epic fantastic realism\nan epic fantasy\nan epic landscape\nan epic love affair with doubt\nan epic majestical degen trader\nan epic non - binary model\nan epic painting\nan epic painting minion\nan epic painting of an artist\nan epic portrayal of the sandman\nan epic scifi movie still\nan epic space battle\nan epic space ship scene\nan epic viking battle scene\nan epic western\nan escalating violent firefight\nan escape room in a small\nan estate agent listing photo\nan eternal library\nan ethereal\nan evil\nan evil alien astronaut\nan evil catholic priest\nan evil forest\nan evil nun\nan evil sword\nan evil villain's lair\nan evil villains lair\nan ewok eating a lollipop\nan example of saul leiter's work\nan exhausted deity\nan exoskeleton\nan expansive grassy plain\nan expansive view of the sun\nan explosion\nan explosion of colors\nan expressive digital painting\nan expressive oil painting\nan exquisite 3 d map\nan extreme closeup shot\nan extreme long shot wide shot\nan extremely angry\nan extremely detailed building\nan extremely high quality hd\nan extremely large cave\nan eye\nan film still\nan film still of mr bean\nan giant evil\nan ice volcano\nan icelandic landscape\nan idea seep's into infinity\nan idealistic man\nan idyllic vineyard\nan illustration\nan illustration of a bar/lounge\nan image of a beautiful cyborg\nan image of a moonlit forest\nan image of a tornado\nan immense floating castle\nan impeccable beauty\nan imperial agent from star wars\nan imposingly tall\nan impossibly huge pirate ship\nan independent psycho\nan indifferent face\nan indigo bunting\nan indigo forest in japan\nan indonesian family portrait\nan inform organism\nan insane\nan instrument\nan intact ancient alien ship\nan interdimensional being\nan interesting color scheme\nan interior of room\nan intricate\nan intricate art nouveau frame\nan intricate dress\nan intruder\nan inventor\nan iron man concept yacht\nan island\nan island floating in the air\nan island made of caviar\nan island made of food\nan island made of red caviar\nan isolated hydrangea plant\nan isometric fantasy map\nan king kong rage on street\nan obese\nan ocean\nan octopus fighting an astronaut\nan octopus in a car repair shop\nan octopus lost in a garage\nan octopus'garden\nan odyssey beyond reality\nan oil painting of a kitten\nan oil painting. wave\nan oil paiting of a sparrow\nan old\nan old abandoned mansion\nan old balck and white photo\nan old cinema\nan old elven wood\nan old lady\nan old lady with red skin\nan old man\nan old man with 7 yellow birds\nan old man with a ginger beard\nan old tv\nan old twisted tree\nan oldman\nan olive skinned\nan ominous fantasy illustration\nan ominous haze\nan open book\nan open eye in its center\nan open field\nan optical illusion\nan optical illusion drawing\nan opulent favela environment\nan orange\nan orange cat\nan orange fire in the background\nan orc\nan orc smiling into the camera\nan orchid flower\nan orgy of colorful\nan ork\nan outdoor festival stage\nan overgrown\nan overgrown forest\nan overgrown library\nan overpopulated\nan oversized beret\nan overweight\nan owl\nan ox\nan retro anime image\nan scp anomalous object\nan the first xbox\nan ugly giant spider\nan ultra high definition\nan ultra realistic\nan ultra realistic 8k octa photo\nan ultra realistic photo\nan ultrafine detailed photo\nan ultrafine painting\nan umbrella top\nan undead desert lich pharaoh\nan underslung jaw\nan underwater alien ocean\nan underwater city\nan unknown ethnographic object\nan upright lightbulb\nan upside down urinal\nan victorian city\nan young urban explorer woman\nana de armas\nana de armas as joan of arc\nana de armas portrait\nana de la reguera portrait\nana from overwatch\nanachronism\nanachronistic fantasy\nanaconda\nanaesthetic\nanaglyph\nanaglyph effect\nanaglyph effect ayami kojima\nanaglyph filter\nanaglyph lighting\nanakin skywalker\nanalog\nanalog camera\nanalog data processing plant\nanalog film\nanalog filter\nanalog glitch art\nanalog horror\nanalog photo\nanalog photograph\nanalog photography\nanalogic flight controls\nanalogic photograph\nanalogic synthsizer\nanalogous colors\nanalogous texture\nanalogue\nanalogue horror\nanalogue interferences\nanalogue photo\nanalogue photo low quality\nanalogue photo quality\nanalogue photography\nanalogue texture\nanalysis city\nanalysis report\nanamorph lenses\nanamorphic\nanamorphic 24 mm lens\nanamorphic 35 mm lens\nanamorphic 5 0 mm lens\nanamorphic 50 mm lens\nanamorphic 50mm lens\nanamorphic 80mm lens\nanamorphic bokeh\nanamorphic bokeh and lens flares\nanamorphic cinematography\nanamorphic film\nanamorphic flares\nanamorphic illustration\nanamorphic lens\nanamorphic lens flare\nanamorphic lens flares\nanamorphic lens flares 4k\nanamorphic lenses\nanamorphic lenses 2 4 mm\nanamorphic lenses 24 mm\nanamorphic lenses. high quality\nanamorphic shot lens\nanamorphic wide angle lens\nanamorphic widescreen\nanamorpic lens\nanarcho - communist heaven\nanarcho - communist hordes\nanarchy\nanastasia ovchinnikova\nanato finnstark\nanato finnstark and alena aenami\nanato finnstark and kelogsloops\nanato finnstark!!\nanato finnstark. 3 5 mm\nanato finnstark. 5 0 mm\nanato finnstark. front view\nanato finnstark. hyper detailed\nanato finnstark. perfect faces\nanato finnstark. pixar\nanatomic\nanatomic description\nanatomic!!\nanatomical\nanatomical accuracy\nanatomical art\nanatomical chart\nanatomical cutaway\nanatomical details\nanatomical diagram\nanatomical drawing\nanatomical drawing of a minion\nanatomical drawing of saitama\nanatomical figure\nanatomical fractal\nanatomical heart\nanatomical in an astronaut suit\nanatomical notes with labels\nanatomical perfection\nanatomically accurate\nanatomically accurate face\nanatomically accurate skeleton\nanatomically correct\nanatomically correct android\nanatomically correct body\nanatomically correct equine\nanatomically correct features\nanatomically correct hands\nanatomically correct hands!!!!!!\nanatomically correct heart\nanatomically correct proportions\nanatomically correct skeleton\nanatomically correct vulpine\nanatomically correct!!\nanatomically incorrect\nanatomically perfect\nanatomically proportional\nanatomy\nanatomy artifacts\nanatomy book\nanatomy features\nanatomy for beginners\nanatomy for sculptors\nanatomy of a bird\nanatomy of a dragon\nanatomy of the terminator\nanatomy portrait\nanatomy skills\nanatomy studies\nanatomy study\nancalagon the black\nancestors\nancestors and future\nanchient\nanchor goatee\nancien chinese tower\nancienct\nancient\nancient alien head stone statues\nancient alien jungle\nancient alien portal\nancient alien portral\nancient alien tools and houses\nancient aliens\nancient antler deity\nancient architecture\nancient armor\nancient art\nancient asian dynasty princess\nancient astronauts\nancient atmosphere\nancient battlefield\nancient biblical\nancient biomechanical temple\nancient blacksmith god\nancient brass dwemer ruins\nancient buildings\nancient catacombs\nancient catedral behind her\nancient cave\nancient caves\nancient china\nancient china art style\nancient chinese architecture\nancient chinese beauties\nancient chinese goddess\nancient chinese ornate\nancient chinese princess\nancient city\nancient city landscape\nancient city of white stone\nancient city ruins\nancient city streets behind her\nancient civilisation\nancient civilization\nancient civilizations\nancient coffee machine\nancient creature\nancient crown\nancient cyberpunk 8k resolution\nancient demon summoning\nancient dream\nancient dungeon\nancient egypt\nancient egypt art\nancient egypt painting\nancient egyptian\nancient egyptian art\nancient egyptian mural\nancient eldritch horror cthulhu\nancient epic tower in the desert\nancient era\nancient evil\nancient evil letters\nancient fairy dust\nancient fantasy regional map\nancient fish\nancient forest\nancient forest like fanal forest\nancient futuristic\nancient garden behind her\nancient god\nancient goddess\nancient gods\nancient greece\nancient greek\nancient greek assassin mask\nancient greek city\nancient greek ornamented armor\nancient greek painting\nancient greek pottery\nancient greek ruins\nancient greek sculpture\nancient greek statue\nancient greek style\nancient greek temple\nancient greek temple ruins\nancient high tech\nancient india\nancient indonesia\nancient interior tent background\nancient irish\nancient japan\nancient japanese\nancient japanese architecture\nancient japanese monk\nancient japanese painting\nancient japanese samurai\nancient jungle\nancient keys\nancient kings in white robes\nancient library\nancient libu princess\nancient libu young girl\nancient magic\nancient magical overgrown ruins\nancient magus\nancient majestic\nancient map\nancient marble city\nancient mediterranean city\nancient mediterranean village\nancient megastructure pyramid\nancient mesopotamia\nancient mesopotamian warrior\nancient mongolian elon musk\nancient monument waterfall\nancient mystic time lord\nancient neon monster portrait\nancient numidian cavalryman\nancient oak forest\nancient ochre palette\nancient overgrown ruins\nancient overgrown! ruins\nancient overgrownruins\nancient persian city\nancient persian temple dungeon\nancient photograph\nancient plants\nancient pyramid\nancient queen emma watson\nancient roman mosaic\nancient roman painting\nancient roman setting\nancient roman style\nancient rome\nancient rome man\nancient ruins\nancient ruins and waterfalls\nancient ruins background\nancient ruins behind\nancient ruins behind her\nancient ruins favela\nancient ruins in the background\nancient ruins in the forest\nancient ruins under the desert\nancient runes\nancient russian architecture\nancient sci - fi city\nancient sci - fi elements\nancient science fiction art\nancient silver tower of the moon\nancient slavs\nancient soldier\nancient space ship\nancient steampunk city\nancient stone tiling\nancient swirls\nancient symbol behind it\nancient symbols\nancient technology\nancient temple\nancient temple ruins\nancient times\nancient tombs in the background\nancient tree\nancient trees\nancient tribe\nancient viking warrior\nancient warrior\nancient white dress\nancient wood environment\nancient world\nancient writing\nancient yet futuristic\nancient. atmospheric lighting\nancient”\nand\nand beautiful\nand blue\nand burbled as it came\nand hypnotic\nand intricate\nand ornated\nand realistic\nand saw my life like a long shot\nand the uncertainty\\'\nand what rough beast\nand you fade away just enough\nanders petersen\nanderson\nandes\nandes mountain forest\nandi rusu\nandnorman rockwell\nando tadao\nandor kollar\nandre breton\nandre le notre\nandre masson\nandre shulze\nandre the giant\nandrea rocha\nandrea savchenko\nandreas\nandreas achenbac\nandreas franke\nandreas m wiese\nandreas marschall\nandreas rocha and john howe\nandreas rocha style\nandreas rochas\nandree wallin\nandrei markin\nandrei riabovitchev symmetrical\nandrei riabovitchevy\nandrei ryabovichev\nandrei tarkovski\nandrei tarkovsky\nandrei tarkovsky and hr giger\nandrei tarkovsky scene\nandres gursky\nandres rios\nandrew atroshenko\nandrew bernstein\nandrew dickson\nandrew garfield\nandrew gonzalez\nandrew krivulya\nandrew newell wyeth\nandrew tate\nandrew tate driving a bugatti\nandrew thomas huang\nandrew wyeth artwork\nandrew's base\nandrews base\nandrews esao artstyle\nandrey gordeev\nandrey remnev\nandrey surnov\nandrey tarkovsky\nandro\nandrogyn beauty\nandrogynous\nandrogynous face\nandrogynous male\nandrogynous person\nandrogynous vampire\nandrogyny\nandroid\nandroid 18\nandroid body\nandroid cameraphone\nandroid close to camera\nandroid coffee shop\nandroid eyes\nandroid format\nandroid girl in egyptian ruins\nandroid heroine\nandroid james\nandroid jones and atey ghailan\nandroid jones and chris dyer\nandroid jones and rhads\nandroid mystic\nandroid netrunner\nandroid phones\nandroids\nandromeda\nandromeda galaxy\nandromorphic\nandrzej duda\nandrzej marszalek\nandrzej sykut\nandré le nôtre\nandrée wallin\nandy catling\nandy milonakis\nandy milonakis as a goat\nandy morin\nandy park\nandy richter\nandy samberg\nandy shaw\nandy warhol style\nandy worhol\nanemone\nanemones\nanemones and starfish\nanfas portrait of a mech warrior\nanfree wallin\nangel\nangel doing yoga in temple\nangel face\nangel falling to andromeda\nangel girl\nangel halo\nangel in hell\nangel in plastic armor\nangel in white linen\nangel is split in two with smoke\nangel knight girl\nangel knight gothic girl\nangel of death\nangel of grief\nangel of verdun\nangel protecting man\nangel protecting woman\nangel relief\nangel sitting on a rock\nangel spirit guide\nangel statues\nangel themed\nangel versus devil\nangel watching demon\nangel wings\nangel with black wings\nangel's trumpet\nangel-themed\nangela merkel\nangela merkel as a banana\nangela merkel as thanos\nangela merkel in gta v\nangela sarafyan\nangela white\nangelarium\nangelawhite\nangelheaded hipsters\nangelic\nangelic and unsettling\nangelic face\nangelic features\nangelic golden armor\nangelic halo\nangelic light\nangelic photograph\nangelic pretty\nangelic purity\nangelic wings\nangelic wings on her back\nangelical\nangelina jolie\nangelina jolie portrait\nangelina stroganova\nangeline jolie\nangels\nangels and demons\nangels in the sky\nangels in white gauze dresses\nangels protecting a praying man\nangels vs demons\nangemon l sitting at the thrown\nanger\nanger + wrath\nanger. hyper detailed\nangered\nangewomon from digimon\nangie glocka\nangiewolf\nangkor\nangkor thon\nangkor wat\nangle\nangle face\nangle profile portrait\nangle view\nangled\nangled shot\nangled view\nangled walls\nangler fish\nangler fish sculpture\nangles\nangry\nangry 8 k\nangry ali khamenei\nangry and bored\nangry and helpless\nangry and pointing\nangry anime face\nangry at mirror\nangry batman\nangry bear\nangry bob ross\nangry cat\nangry character wielding a sword\nangry complexion\nangry expression\nangry eyes\nangry face\nangry facial expression\nangry facial expressions\nangry female alien\nangry female cyborg\nangry frown\nangry gecko english gentelman\nangry god anubis\nangry high moral sexy werewolf\nangry light\nangry look\nangry look in his face\nangry looking\nangry looking at camera\nangry man\nangry sasquatch\nangry scarlett johansson\nangry smile\nangry video game nerd\nangst-inducing\nanguish\nangular\nangular 16-color\nangular and altermodern\nangular asymmetrical design\nangular background elements\nangular design\nangular dynamic white rock floor\nangular eyebrows\nangular face\nangular features\nangular jawline\nangular metal\nangular metal armor\nangular minimalism\nangular shapes\nangus mcbride\nangus mckie\nani\nanigirl batman\nanima\nanimal\nanimal - shaped bread\nanimal - shaped cake\nanimal - shaped statue\nanimal caricaturist\nanimal crossing\nanimal crossing character\nanimal crossing characters\nanimal crossing new horizons\nanimal crossing style\nanimal drawing\nanimal ears\nanimal eyes\nanimal face\nanimal hat\nanimal horn\nanimal kingdom\nanimal monster\nanimal nose\nanimal painting\nanimal photography\nanimal portrait\nanimal shapes\nanimal skins\nanimal skull\nanimal skull made of rifles\nanimal skulls\nanimal sloth\nanimal style head\nanimal transformation\nanimal wearing a hat\nanimal world\nanimalia\nanimals\nanimals chasing\nanimals creepy everywhere\nanimals in the streets\nanimals mating\nanimals ruling the world\nanimals running along\nanimals wildlife\nanimated\nanimated cartoon series\nanimated character design\nanimated cinematography\nanimated disney movie inking\nanimated disney movie palette\nanimated episode still\nanimated film\nanimated film kubo\nanimated film still\nanimated movie\nanimated movie scene\nanimated movie shot\nanimated movie still\nanimated series\nanimated still\nanimated style\nanimatic\nanimation\nanimation cel\nanimation cel for anime movie\nanimation character\nanimation cinematic\nanimation concept art\nanimation film\nanimation film still\nanimation illustrative style\nanimation key shot\nanimation model\nanimation pixar (2018)\nanimation pixar style\nanimation portrait concept art\nanimation printed poster\nanimation still\nanimation still screencap\nanimation style\nanimation style render\nanimatrix\nanimatronic\nanimatronic angelina jolie\nanimatronic bill murray\nanimatronic john c. reilly\nanimatronic mark zuckerberg\nanimatronics\nanime\nanime / manga\nanime 3 d art\nanime 4 k\nanime 4k\nanime abstract art\nanime action figure\nanime aesthetic\nanime and manga\nanime and manga style\nanime art\nanime art nouveau\nanime art nouveau cosmic display\nanime art style\nanime art vehicle concept art\nanime art wallpaper 4 k\nanime art wallpaper 4k\nanime art wallpaper 8 k\nanime artbook\nanime arts\nanime artstyle\nanime artwork\nanime asthetic\nanime atmospheric\nanime background\nanime background art\nanime background key visual\nanime barbie doll\nanime barbie in white\nanime barbie in white stockings\nanime beautiful peace scene\nanime best girl\nanime boy\nanime bullet vfx\nanime car wrap\nanime cartoon\nanime cat\nanime cat girl in a maid costume\nanime catgirl\nanime cel\nanime cels\nanime cgi\nanime cgi style\nanime character\nanime character anatomy\nanime character art\nanime character design\nanime character portrait\nanime character reference sheet\nanime character; full body art\nanime chibi\nanime city lineart\nanime clouds\nanime color palette\nanime colours\nanime concept art\nanime concept hdr anime macmanus\nanime convention\nanime cosplay\nanime countryside landscape\nanime cover\nanime cyberpunk\nanime cyberpunk art\nanime cyborg\nanime digital art\nanime drawing\nanime ears\nanime elon musk\nanime elvis presley\nanime epic artwork\nanime eyes\nanime face\nanime fantasy artwork\nanime fantasy illustration\nanime fencer\nanime fight\nanime figma figure\nanime figure\nanime figurine\nanime film still\nanime food\nanime frames\nanime full body illustration\nanime girl\nanime girl cosplay\nanime girl desktop background\nanime girl drinks energy drink\nanime girl in a maid costume\nanime girl in ascii art style\nanime girl in real life\nanime girl named lucy\nanime girl of the future\nanime girl portrait\nanime girl portrait profile\nanime girl walking on water\nanime girl wearing a black dress\nanime girl with a bow and arrow\nanime girl with cat ears\nanime girl with cosmic hair\nanime girl with long hair\nanime girl with teal hair\nanime girls\nanime goddess\nanime graphic illustration\nanime handsome man\nanime hd\nanime hd wallpaper\nanime hi-fructose\nanime highly detailed\nanime illustrated\nanime illustration\nanime in fantasy style\nanime inspiration\nanime inspired\nanime joe biden\nanime key\nanime key art\nanime key visual\nanime key visual concept\nanime key visual concept art of\nanime key visual like saitama\nanime key visual of elegant\nanime key visual”\nanime keyframe\nanime land of the lustrous\nanime landscape\nanime landscape wallpaper\nanime lighting\nanime like\nanime lover\nanime lush john 8k woods\nanime machine gun fire\nanime magazine cover\nanime maid nazi ss military\nanime maids riding early tanks\nanime man\nanime manga\nanime manga panel\nanime manga robot!! anime girl\nanime manga robot!! cat tattoo\nanime manga robotcat tattoo\nanime manga style\nanime masterpiece\nanime mech armor\nanime mecha aesthetic\nanime moe artstyle\nanime monster girl\nanime movie\nanime movie background\nanime movie frame\nanime movie poster\nanime movie scene\nanime movie screenshot\nanime nature\nanime nature wallpap\nanime ninja scroll\nanime opening\nanime painter studio\nanime painting\nanime party of friend of wisdom\nanime peripheral\nanime picture\nanime portrait\nanime portrait of a handsome man\nanime portrait of shiina ringo\nanime pose\nanime poster\nanime poster film still portrait\nanime princess\nanime proportions\nanime pvc figure\nanime realism\nanime realism style\nanime robotic mixed with organic\nanime robots\nanime rosie the riveter poster\nanime scene\nanime scenery\nanime scenery concept art\nanime screencap\nanime screencaps\nanime screenshot\nanime screenshot pattern\nanime series\nanime set style\nanime shading\nanime shading)\nanime shot\nanime sketch\nanime skull portrait woman\nanime sky\nanime stile\nanime still\nanime still film anime shikishi\nanime still frame\nanime still image\nanime style\nanime style 4 k\nanime style 4k\nanime style art\nanime style artwork\nanime style character\nanime style cityscape\nanime style digital art\nanime style drawing\nanime style hyper detailed\nanime style illustration\nanime style like fate/stay night\nanime style mixed with fujifilm\nanime style only\nanime style portrait\nanime style. 8k\nanime styled\nanime styled 3d\nanime styled digital art\nanime style”\nanime stylized\nanime thai girl\nanime trending artwork\nanime tribal boy with long hair\nanime vampires\nanime vfx\nanime vibes\nanime vintage colors\nanime visual\nanime visual of a cute cat\nanime visual of a cute girl\nanime visual of a young woman\nanime visual of supergirl\nanime visual style\nanime visuals\nanime vtuber full body model\nanime waifu\nanime wallaper\nanime wallpaper\nanime wallpaper 4 k\nanime wallpaper 4k\nanime woman\nanime woman fullbody art\nanime woman headshot profile\nanime yuru camp\nanime!\nanime! 4 k\nanime! 4k\nanime!!\nanime!!!\nanime!!!!\nanime!!!! key visual\nanime!!!!!!!!!!!!!!!\nanime-style\nanime-twitter\nanime. by makoto shinkai\nanime. soft lighting\nanime4k\nanimekey visual\nanimesque\nanime”\nanimism\nanimorphs\nanimorphs book cover\nanimorphs cover\naniplex\nanish kapoor black\nanisotropic filtering\nanisotropy\naniston\nanja millen\nanjali mudra\nankh\nankh necklace\nankh pendant\nankh symbol\nankh symbol around the neck\nanmi\nann long\nann stokes\nann takamaki\nann takamaki from persona 5\nanna\nanna dittman\nanna dittmann alberto vargas\nanna forsterling\nanna kendrick\nanna kovalevskaya\nanna nikonova\nanna nikonova aka newmilky\nanna podedworna\nannabeth chase\nannasophia robb\nannasophia robb as aphrodite\nannasophia robb as joan of arc\nannasophia robb as link\nannato finnstark\nanne hathaway\nannibale siconolfi\nannie from league of legends\nannie lebovetz\nannie lebowitz\nannie leibovitz and zack snyder\nannie leibovitz photography\nannie leibovitz photorealistic\nannie leibovitz. detailed photo\nannie leibowit\nannie leibowitz\nannie leonhart\nannie leonhart in a neon city\nannie liebovitz\nannie liebovitz photography\nannie liebovitz. gustave dore\nannie liebowitz\nannie stegg gerard\nannie swynnerton\nannihilation\nanno 1404\nanno 1602\nanno 2070\nannotated\nannotated highly\nannotations\nannotations and scratches\nannotations handwritten\nannoyance\nannoyed\nannoyed expression\nannoyed facial expression\nannoying sister vibes\nannual award winner\nanomalisa\nanomaly\nanomander rake\nanomorphic lens flare\nanon 5 0 mm\nanon 50 mm\nanonymous\nanonymous as a car\nanonymous as a sausage\nanonymous lion face\nanonymous mask\nanor londo\nanorexic figure\nanorld render\nanother planet\nanother universe\nanother world\nanri cartier bresson\nansel ]\nansel adams photograph\nansel adams. intricate\nansel!!! adams!!!. intricate\nant\nant alien\nant farm simulator\nant humanoid\nant humanoid mechanic\nant life\nant perspective\nant pov\nant pov from the floor\nant view\nant's eye view\nantagonist\nantarctic\nantarctic mountains\nantarctica\nantartic night\nantasy character\nantediluvian\nantediluvian occult cosmology\nantelope canyon\nantenna\nantennae\nantennae on a hestiasula head\nantennas\nantgerm\nanthem game\nanthem game inspiration\nanthony avon\nanthony hopkins\nanthony howe\nanthony macbain\nanthony mcbain\nanthony moravian\nanthony pafford\nanthracite\nanthro\nanthro aeromorph\nanthro art\nanthro cat\nanthro concept art\nanthro digital art\nanthro dragon art\nanthro gecko\nanthro lizard\nanthro paw pov art\nanthro portrait\nanthro wolf face\nanthromorphic\nanthropological photography\nanthropologist\nanthropology\nanthropology of wonder\nanthropology photo\nanthropology photography\nanthropology photo”\nanthropomorphic\nanthropomorphic _ humanoid\nanthropomorphic alligator\nanthropomorphic badger\nanthropomorphic beaver\nanthropomorphic bird\nanthropomorphic cactus\nanthropomorphic cat\nanthropomorphic cat ninja\nanthropomorphic character\nanthropomorphic cheese wedge\nanthropomorphic coyote male\nanthropomorphic crab\nanthropomorphic creature\nanthropomorphic deer\nanthropomorphic deer female\nanthropomorphic dog\nanthropomorphic dog cleaning\nanthropomorphic dog eating\nanthropomorphic dragon\nanthropomorphic edible piechart\nanthropomorphic female\nanthropomorphic female cat\nanthropomorphic female deer\nanthropomorphic fox\nanthropomorphic furry art\nanthropomorphic furry otter\nanthropomorphic gangster rat\nanthropomorphic hedgehog\nanthropomorphic horse\nanthropomorphic humanoid\nanthropomorphic large maine coon\nanthropomorphic lynx\nanthropomorphic machine\nanthropomorphic mare\nanthropomorphic mouse\nanthropomorphic octopus\nanthropomorphic otter in costume\nanthropomorphic penguin\nanthropomorphic praying mantis\nanthropomorphic rabbit\nanthropomorphic racoon\nanthropomorphic rat\nanthropomorphic raven knight\nanthropomorphic robot  thing\nanthropomorphic robot [ thing ]\nanthropomorphic samurai bear\nanthropomorphic shark\nanthropomorphic shiba inu\nanthropomorphic silhouette\nanthropomorphic sloth\nanthropomorphic tiger\nanthropomorphic turtle\nanthropomorphic turtle hero\nanthropomorphic turtle humanoid\nanthropomorphic warrior piglet\nanthropomorphic wolf\nanthropomorphic wolf male\nanthropomorphic!!\nanthropomorphism\nanthropomorphized\nanthropomorphized chicken\nanthroposcen\nanti - aliasing\nanti - communist\nanti - gravity\nanti aliased\nanti aliasing\nanti life\nanti-aliased\nanti-aliasing\nanti-tank rifle\nanti-utopia\nantialiased\nantialiasing\nantialized\nantibodies\nantichrist\nantichrist dancing at studio 54\nantidisestablishmentarianism\nantifa\nantigravity\nantilous chao\nantimage\nantimatter\nantique\nantique painting\nantique perfume\nantique photo\nantique photography\nantique piece\nantique renewal\nantique renewel\nantique style\nantiqued look\nantiques\nantiquity\nantithesis\nantiwar\nantlers\nantlers on her head\nantoine collignon\nantoine pierre mongin\nantoine-jean gr\nanton\nanton fadeev 8 k\nanton fadeev 8k\nanton fadeev and dan mumford\nanton fedeev\nanton migulko\nanton semenov\nanton semonov\nantoni gaudi\nantoni tapies\nantoni tapies and cy twombly\nantonio j. manzanedo\nantony starr\nantropomorphic\nantropromorphic stick insect\nants\nants eye view\nantview\nanubis\nanubis head\nanubis reptilian\nanubis-reptilian\nanunaki\nanvil\nanvill\nanxiety\nanxiety environment\nanxiety inducing backrooms\nanxious\nanxious eyes\nanxious steward of a new castle\nanxious. highly detailed\nany racial background\nanya forger\nanya from spy x family\nanya taylor - joy\nanya taylor - joy and emma stone\nanya taylor - joy vampire queen\nanya taylor joy\nanya taylor-joy\nanya_taylor-joy\nanything\nanything that comes into my mind\nao dai\naoc\naoe2\naoi ogata\naokamei\naokan\naomori japan\naorta\naoshima\naoshima chiho\nap\nap art\nap news\nap news photo\nap news photograph\nap photo\nap photography\nap press photo\napartment\napartment building on the moon\napartment complex made of tubes\napartment design\napartment hallway\napartment of an art student\napartment set in the near future\napartment with black walls\napartments\nape\nape teaching pepe\napeling\naperture\naperture f 1. 2\naperture f 2. 8\naperture f 3. 2\naperture f/11\naperture f/9\naperture f1.2\naperture f11\naperture f12\naperture f2.8\naperture gradient\naperture priority\naperture science\naperture science test chamber\napes hanging from vines\napex\napex legends\napex legends armor\napex legends character\napex legends concept art\napex predator\naphex twin\naphrodite\naphrodite goddess of love\napipheny\napocaliptic\napocaliptic contamination\napocalpyse\napocalyps\napocalypse\napocalypse art\napocalypse art!!!!\napocalypse hurricane storm\napocalypse incarnate\napocalypse landscape\napocalypse landscape!!!!!\napocalypse now\napocalypse now film still\napocalypse storm\napocalypse wedding\napocalypse with vegetation\napocalyptic\napocalyptic 8 k\napocalyptic 8k\napocalyptic architecture\napocalyptic art\napocalyptic atmosphere\napocalyptic background\napocalyptic city\napocalyptic city backround\napocalyptic color palette\napocalyptic environment\napocalyptic event\napocalyptic fallout 7 6\napocalyptic fantasy\napocalyptic future\napocalyptic future city\napocalyptic landscape\napocalyptic road warrior vibe\napocalyptic scene\napocalyptic scenery\napocalyptic setting\napocalyptic sky\napocalyptic spherical explosion\napocalyptic style\napocalyptic tumultuous sea\napocalyptic vibes\napocalyptic world\napocalyptik city\napocalypto\napocalyse\napocalytic\napocolypse\napollinaris vasnetsov\napollo\napollo 1 1\napollo 11\napophis\napophysis\napophysis av 8 k uhd\napothecary\napotheosis\napp\napp design\napp icon\nappa from the last airbender\nappalachian mountains\nappalling\napparent brush strokes\napparent tooth\napparition\napparitions\nappealing\nappealing long hair\nappearing from the background\nappearing in a shopping mall\nappears as the fire goddess\nappeasing\nappetizing\nappgamekit\napple\napple - store\napple blossoms\napple car\napple design\napple logo\napple orange\napple pie\napple skull\napple store\napple tree\napple trees\napplepencil\napples\napples on the ground\napplied thick\napplied to tone\napprehensive mood\napproaching earth\napril\napron\napsaras warrior\napteryx mantelli\napulia\naqua\naqua from konosuba\naqua glass eyes\naqua volumetric lights\naquaman\naquaman aesthetic\naquamarine\naquamarine color palette\naquamarine eyes\naquamarine windows\naquapunk\naquarel\naquarel painting\naquarelle\naquarelle painting\naquarion\naquarium\naquarium bed\naquarium life\naquarius\naquasixio\naquatic\naquatic creature\naquatic devices\naquatic life\naquatic plants\naquatical plants\naqueduct and arches\naqueducts\naquiline facial features\naquiline features\naquiline nose\naquiline nose!!\nar\nar 16:9\nar glasses\narab\narab ameera al taweel\narab ameera al-taweel\narab inspired\narab man\narab man light beard\narab princess\narab young monica belluci\narabella mistsplitter\narabia\narabian\narabian art\narabian beauty\narabian calligraphy\narabian features\narabian night\narabian nights\narabian nights inspired\narabian princess\narabian samurai\narabian sword\narabian wrestling woman\narabic\narabic architecture\narabic calligraphy\narabic orc\narabic pronunciation: [kaʕ.bah])\narabic pronunciation: kaʕ.bah\narabic!\narabica style\narachne\narachnid\narachnophobia\naragorn\naragorn in an anime world\naragorn medieval armor\naragorn with medieval armour\naraki\naraki nobuyoshi\naraki style\naramaki shinji\narasaka\narasaka mech\narbeitsrat fur kunst\narbor\narboreal\narborescent architecture\narc\narc de triomphe full of graffiti\narca album cover\narcade\narcade cabinet\narcade cabinet in background\narcade game\narcade machine\narcade machines\narcadia\narcain style\narcana\narcane\narcane : league of legends\narcane art style\narcane books\narcane clothing\narcane colors\narcane concept art\narcane from netflix\narcane glow\narcane jayce\narcane jinx\narcane league of legends\narcane magic\narcane netflix\narcane patterns\narcane ritual\narcane style\narcane style bomb\narcane style viking battleship\narcane style!!!!!\narcane tarot\narcane vi\narcane wizard x boba fett\narch\narch enemy\narchaeology\narchaic\narchan nair\narchangel\narchangel michael\narchaon the everchosen\narchdaily\narched back\narched ceiling\narched doorway\narcheologial dig setting\narcheological discover\narcheological find\narcheology\narcheology journal cover\narcher\narcher bow\narcher boy\narchers\narchery\narches\narches adorned pillars\narchfey\narchie andrews\narchie comic style\narchie comics\narchille superbi\narchillect\narchillect concept art\narchimboldo\narchimboldo!!!\narchimedes\narching milkyway\narchipelago\narchitect\narchitect lebbeus woods\narchitect studio\narchitectural\narchitectural 3 d render\narchitectural 3d render\narchitectural and tom leaves\narchitectural concept\narchitectural concept diagram\narchitectural concepts\narchitectural design\narchitectural detail\narchitectural detailed\narchitectural digest\narchitectural digest photo\narchitectural digest!!!\narchitectural drawing\narchitectural finishes\narchitectural illustration\narchitectural magazine\narchitectural masterpiece\narchitectural model\narchitectural painting\narchitectural photo\narchitectural photograph\narchitectural photography\narchitectural plan\narchitectural planning\narchitectural plans\narchitectural presentation\narchitectural render\narchitectural rendering\narchitectural scale\narchitectural section\narchitectural shot\narchitectural sketch\narchitectural visualisation\narchitectural visualization\narchitecturaldigest living room\narchitecturally accurate\narchitecture\narchitecture and more\narchitecture art\narchitecture award winner\narchitecture award winning\narchitecture blueprint copy\narchitecture carved\narchitecture carved for a titan\narchitecture concept\narchitecture design\narchitecture digest\narchitecture drawing\narchitecture in the background\narchitecture magazine\narchitecture mystery\narchitecture of purification\narchitecture photo\narchitecture photography\narchitecture render\narchitecture render ”\narchitecture technical blueprint\narchitecture visualisation\narchitecture visualization\narchitecture zaha hadid\narchival\narchival footage\narchival photo\narchival photography\narchival pigment print\narchival quality image\narchive\narchive material\narchive photo\narchive photograph\narchive photography\narchive pieces\narchived photograph\narchmage\narchons\narchs\narchs and columns\narchs and walls\narchvis\narchviz\narchway\narchways\narchways between stalagtites\narchways made of lush greenery\narchwizzard in a hat\narcimboldo giuseppe\narcs\narcs of fiery neon light\narcs of flame\narctic\narctic fish\narcylic\narduino\nare bure boke\nare-bure-boke\nare-bure-boke!!!!!!!!\narea 3\narea 51\narea n\nareas rugs\narena\narena background\nares\nares with heavy armor and sword\nareuz\nargand lamp\nargentic\nargentina\nargentina flag behind\nargentina flags behind\nargentina presidential rally\nargentine flags behind\nargerm\nargonian\nargos\narguing\narham horror\narhitectural shot\nari aster\narial shot\narian\narian mark\nariana grande\nariana grande as a mermaid\nariana grande as a sith\nariana grande in gta v\nariana grande in star wars\nariana grande on a tricycle\nariana grande photography\nariana grande portrait painting\narid ecosystem\narid mountains and palm forest\narid planet\nariel perez\nariel the little mermaid\nariel view\naries constellation\naries fiery ram tarot\narik roper\naristocrat\naristocrat cloak\naristocrat robe\naristocratic\naristocratic appearance\naristocratic clothing\narizona\narizona desert\nark survival\nark survival evolved\narkane lyon\narkham\narkham city\narkham horror\narkhip kuindzhi painting\narknights\narm\narm around her neck\narm reaching out of thick fog\narm tattoo\narm tattoos\narm wrestling\narma 3\narma 3 screenshot\narmadillo patriot potus\narmageddon\narmani\narmature wire\narmchair\narmchairs\narmed\narmed and dangerous\narmed with edged weapons\narmfold pose\narmfold pose!\narmillary rings jewelry\narmitage\narmor\narmor and robes\narmor angle with wing\narmor elements\narmor focus on face\narmor girl\narmor made of bark\narmor made of ice\narmor made of steel\narmor piercing missiles\narmor plate\narmor plating\narmor style of giger\narmored\narmored cat\narmored core\narmored core 4\narmored core style mecha\narmored core v\narmored dieselpunk wardrobe\narmored duck\narmored feline companion\narmored knight\narmored sword blade\narmored units\narmored warrior\narmored!\narmour\narmour and crown\narmour and fallen crown\narmour merging with body\narmour! fantasy\narmoured warrior\narmpit\narms\narms akimbo pose\narms and legs\narms behind back\narms covered in gang tattoo\narms crossed\narms crossed on chest\narms down\narms extended\narms folded\narms held high in triumph\narms made out of spaghetti\narms of lemons\narms open\narms out\narms outstretched\narms raised\narms spread wide\narms stretched out\narms stretched wide\narms to side\narmstrong rolf\narmy\narmy boots\narmy girl outfit\narmy of big robots\narmy of robotic penguins\narmy of robotic space penguins\narmy of robots\narmy parade glorious march\narmy uniform\narney fretag\narney freyag\narney freytag\narney freytag!!!\narnold\narnold 3\narnold 3 d render\narnold 3 materials\narnold 3d render\narnold and zbrush\narnold armitage\narnold bocklin\narnold gpu + octane workflow\narnold maya render\narnold render\narnold renderer\narnold rendering\narnold schwarzenegger\narny freytag\naron wiesenfeld\naron wiesenfeld dark fantasy\naround 1 9 years old\naround 20 yo\naround a neck\naround everlasting darkness\naround the city\naround the throne\naround the world\naround thousand of stars\naround tree babies running\narper's bazaar\narrakeen\narrakis\narranged in the golden ratio\narray of crt televisions\narrays\narrendajo in avila pinewood\narrested\narri\narri 3 5 mm cinema\narri 35 mm cinema\narri alexa\narri alexa 65\narri alexa mini lf\narri alfa anamorphic lens\narriflex\narriflex 3 5\narriflex 35\narriflex 35 bl camera\narriflex lens\narrival ( film )\narrogant\narrogant and sinister attitude\narrogant look\narrow\narrow shaped\narrowed longbow\narrows\narsen lupin as a paladin\narsitektur nusantara\narson\narstation\narstation and beeple highly\narstation trending\narstationhd\narstationhq\nart\nart - deco\nart - deco style\nart - station\nart : : professional photograph\nart alien\nart alphonse mucha\nart alphonse mucha and loish\nart atation\nart book\nart brought to life\nart bundle\nart canvas\nart chris rahn and jung park\nart chuck close\nart colouring : roberto bernardi\nart concept\nart concept for a book cover\nart contest winner on behance\nart cover\nart cover illustration\nart deco\nart deco architecture\nart deco background\nart deco borders\nart deco bowling alley\nart deco buildings\nart deco design\nart deco era\nart deco era)\nart deco factory\nart deco flower shaman\nart deco illustration\nart deco influence\nart deco interior\nart deco intricate ripples\nart deco medieval style\nart deco motifs\nart deco nature\nart deco of a space woman\nart deco office buildings\nart deco outrun anime aesthestic\nart deco painting\nart deco pattern\nart deco patterns\nart deco portrait\nart deco poster\nart deco sci fi\nart deco shaman\nart deco shapes\nart deco stadium\nart deco stripe pattern\nart deco style\nart deco!\nart deco!!\nart decor\nart decoration\nart decos\nart depicting control freak\nart digital art\nart digital formations\nart digital painting\nart directed filmic\nart directed filmic stark\nart direction\nart director alphonse mucha\nart drawings\nart du monde\nart du xixe siècle\nart exhibition\nart fitzpatrick\nart for the film in color\nart for the fool tarot card\nart for the game\nart foreground : eloy morales\nart forms in nature\nart francis bacon\nart from harry potter\nart from nes game cartridge\nart gallery\nart gallery quality\nart gem\nart genevieve gauckler\nart germ\nart giger\nart greg rutkowski\nart gta 5 comics\nart gta 5 cover\nart high renaissance art\nart history\nart history 8 k\nart history 8k\nart house\nart house aesthetic\nart house film aesthetic\nart illustration\nart in 4 k\nart in 4k\nart in a noir crime novel style\nart in an absurdist style\nart in the style of disney\nart in the style of joshy sly\nart in the style of paula rego\nart in the style of terry moore\nart installation\nart jacek malczewski\nart jiro matsumoto\nart lens\nart magazine\nart masterpice\nart masterpiece\nart materials\nart monet and mucha\nart museum\nart nouveau\nart nouveau  1922\nart nouveau ( 1 9 2 2 )\nart nouveau 3d curves and swirls\nart nouveau accents\nart nouveau aesthetic\nart nouveau alien botanicals\nart nouveau architecture\nart nouveau art deco\nart nouveau botanicals\nart nouveau card\nart nouveau curves and swirls\nart nouveau cyberpunk! style\nart nouveau cyberpunkstyle\nart nouveau dark outlines\nart nouveau declotage\nart nouveau design elements\nart nouveau designs\nart nouveau dress\nart nouveau environment\nart nouveau fashion\nart nouveau fashion embroidered\nart nouveau fashion photography\nart nouveau ferarri car\nart nouveau floor pattern\nart nouveau frame\nart nouveau framing\nart nouveau hieroglyphics\nart nouveau illustration\nart nouveau ink illustration\nart nouveau jungle environment\nart nouveau lilith\nart nouveau masterpiece\nart nouveau octane render\nart nouveau ornament\nart nouveau painting\nart nouveau pattern\nart nouveau patterns\nart nouveau portrait\nart nouveau poster\nart nouveau style\nart nouveau swirls\nart nouveau tarot\nart nouveau tarot style\nart nouveau temple\nart nouveau wallpaper\nart nouveau!\nart nouveau! cyberpunk! style\nart nouveaucyberpunkstyle\nart nouveaux\nart nouveaux colored\nart nouveau”\nart noveau\nart noveau fresco\nart noveau painting\nart noveauand art deco\nart nuevo\nart nuveau\nart of aaron hain\nart of akira toriyama\nart of alena aenami\nart of alessandro pautasso\nart of angrysnail\nart of d&d\nart of edouard bisson\nart of elysium\nart of emile eisman - semenowsky\nart of greg rutkowski\nart of greg rutsowski\nart of hans ruedi giger\nart of illusion\nart of ilm\nart of invincible\nart of katsuhiro otomo\nart of kirokaze pixel\nart of kryssalian\nart of moebius\nart of pixel jeff franek\nart of regular fhc\nart of silverfox\nart of unreal engine 5\nart of valin mattheis\nart of wlop\nart of wlop and greg rutkowski\nart of édouard bisson\nart of émile eisman-semenowsky\nart on instagram\nart on walls\nart painting\nart photograph\nart photography style\nart piece frame\nart portrait\nart portrait of a space marine\nart poster\nart pottery\nart print\nart project\nart render\nart school\nart set\nart sketch\nart sketches\nart staion\nart stand\nart station\nart station 3 d\nart station award winner\nart station award winning\nart station cfg _ scale 9\nart station front page\nart station landscape\nart station trend\nart station trending\nart station trends\nart station ”\nart stations\nart station”\nart steven stahlberg and goya\nart student\nart studio ghibli\nart study of a body\nart style\nart style hr giger and beksinski\nart style of dark cloud 2\nart style of john blanche\nart style of john collier\nart style of junji ito\nart style of marc simonetti\nart style of noel coypel\nart style of polygon1993\nart style of rune factory 5\nart styles mix\nart supplies\nart sussman\nart tom bagshaw\nart toy\nart toys\nart toys collectible figurine\nart toys on a pedestal\nart toys on feet\nart wall\nart with ai\nart work\nart work at moma\nart workstation\nart »\nart-deco\nart-deco style\nart-gem\nart-house aesthetic\nart-station\nart. art deco\nart. sci-fi\nartation\nartbook\nartbook artwork\nartbreeder\nartbreeder. high quality art\nartdeco\nartdevian\nartdoll\narte koto no ha no niwa\narte lowbrow style\nartefact\nartem\nartem chebokha\nartem demura\nartem demura alphonse mucha\nartem demura and alphonse mucha\nartem demura beeple\nartem demura. alphonse mucha\nartemis\nartemixel\narteries\nartery\nartey freytag\nartfact\nartforum\nartforum aesthetic\nartful\nartfully traced\nartgasm\nartgeem\nartgem\nartgem and beeple masterpiece\nartgem and greg rutkowski\nartgem lau\nartger\nartgerm 4 k\nartgerm 4k\nartgerm ; 3d unreal engine\nartgerm and alphonse mucha\nartgerm and and greg rutkowski\nartgerm and atey ghailan\nartgerm and ben lo\nartgerm and ben lo and mucha\nartgerm and brian froud\nartgerm and craig mullins\nartgerm and genzoman\nartgerm and gil elvgren\nartgerm and greg rutkowski\nartgerm and grek rutkowski\nartgerm and ilya kushinov\nartgerm and ilya kuvshinov\nartgerm and j. dickenson\nartgerm and james jean\nartgerm and lois van baarle\nartgerm and patrick demarchelier\nartgerm and rossdraws\nartgerm and ruan jia\nartgerm and tom bagshaw\nartgerm and warren louw\nartgerm and william bouguereau\nartgerm and wlop\nartgerm art\nartgerm colorful!!!\nartgerm comic\nartgerm craig mullins\nartgerm detailed\nartgerm greg rutkowski _ greg\nartgerm jsc\nartgerm julie bell beeple\nartgerm lau\nartgerm moody photography\nartgerm mucha\nartgerm on artstation pixiv\nartgerm portrait\nartgerm style\nartgerm sylvari portrait\nartgerm'\nartgerm. 3d shadowing effect\nartgerm. anime illustration\nartgerm. high detail\nartgerma and greg rutkowski\nartgern\nartgram\nartgrem\narthas\narthas menethil\narthouse\narthouse cinema\narthouse. greg rutkowski\narthouse. y greg rutkowski\narthur\narthur and gustave baumann\narthur clarke\narthur haas\narthur morgan\narthur rachham\narthur rackham and milo manara\narthur rackham and terry moore\narthur rackham art\narthur rackham painting\narthur rackham. masterpiece\nartichoke\narticulated joints\nartifact\nartifact - free\nartifact dota2\nartifacts\nartificer\nartificial\nartificial consciousness\nartificial flesh\nartificial fog\nartificial intelligence\nartificial intelligence god\nartificial intelligence gods\nartificial intelligence logo\nartificial intelligence machine\nartificial intelligence princess\nartificial intelligence!!\nartificial life\nartificial light\nartificial lighting\nartificial lightning\nartificial limbs\nartificial neon light\nartificial nightmares\nartificial spider web\nartificial warm lighting\nartillery\nartillery blast\nartillery bombings\nartillery explosions\nartisan\nartisanal art\nartist - phil moss\nartist alphonse mucha\nartist alyssa monks\nartist arata yokoyama\nartist artgerm i and wlop\nartist impression\nartist interpretation\nartist is norman rockwell\nartist katsuhiro otomo\nartist leonardo davinci\nartist maena\nartist norman rockwell\nartist reference images pose\nartist reference pictures pose\nartist rendition\nartist sketch\nartist steve hanks\nartist unknown\nartist wearing dirty\nartist wearing overalls\nartist wearing torn overalls\nartist's impression\nartistation\nartistation render\nartistic\nartistic 4 k\nartistic 4k\nartistic abstarct\nartistic angle\nartistic composition\nartistic depiction\nartistic design\nartistic digital art\nartistic drawing\nartistic drawing of a crow\nartistic illustration\nartistic impression\nartistic interpretation\nartistic landscape\nartistic lighting\nartistic lithography\nartistic masterpiece\nartistic mode\nartistic painting\nartistic photo\nartistic photography\nartistic pose\nartistic realism\nartistic record jacket\nartistic record jacket design\nartistic render\nartistic render of reimu hakurei\nartistic rendering\nartistic rendition\nartistic sketch\nartistic style\nartistic swamp with mystic fog\nartistic tribal patterns\nartistic!!! composition\nartistic. alena aenami\nartists\nartists impression\nartists portrait\nartists rendition\nartoast8p\nartoria pendragon\nartorias\nartpop\nartres\nartrift\narts\nartsation\nartsation 4 k\nartsation 4k\nartsation contest winner\nartsationhq\nartstaion\nartstaion trends\nartstaition\nartstarion\nartstartion\nartstasion\nartstatio\nartstatiom\nartstation 4k\nartstation concept\nartstation concept art\nartstation geometric\nartstation hd\nartstation hq\nartstation hq”\nartstation mans aesthetic\nartstation masterpiece\nartstation painting\nartstation trending\nartstation unreal\nartstation unreal w-960\nartstation. c 11.0\nartstation. view from space\nartstationhd\nartstationhq\nartstaton\nartststion\nartstudio\nartstyle\nartstyle : ilya kuvshinov\nartstyle andree wallin\nartstyle greg rutkowski\nartstyle hiraku tanaka\nartstyle of michelangelo\nartstyle tom bagshaw\nartstyle zdzisaw beksinski\nartstyle zdzisław beksinski\nartstyle zdzisław beksiński\nartstyleunknown\nartsy\nartsy photography\nartur bordalo\nartur bordello\nartwork\nartwork about a road to freedom\nartwork empty daylight\nartwork in style of sheng lam\nartwork in the style of guweiz\nartwork in the style of z.w. gu\nartwork masterpiece\nartwork of a building\nartwork of a hong kong street\nartwork of a phoenix\nartwork of pedro bell\nartwork roman mosaic\nartwork ”\nartworks\nartwork”\narty\nartyom turskyi\naruba\naruze colour aura\narvalis\nary scheffer\narya stark\narya stark as venus\nas 3 figures\nas a badass monster hunter\nas a character from gtav\nas a character in tekken\nas a claymation character\nas a cyberpunk dystopia\nas a d & d character\nas a d & d monster\nas a d d character\nas a d d monster\nas a dnd character\nas a fortnite character\nas a full body funko pop\nas a full body funko pop!\nas a funko pop\nas a funko pop!\nas a manga panel\nas a matte oil painting\nas a medieval fantasy character\nas a muppet\nas a mystical valkyrie\nas a painting\nas a panel of a marvel comic\nas a pixar character\nas a retro futuristic heroine\nas a retrofuturistic heroine\nas a solomon kane\nas a starfleet officer\nas a strict school teacher\nas a strict school teacher )\nas a tarot card\nas a titan\nas a tornado approaches\nas a vampire\nas a xixth century painting\nas above so below\nas action figures\nas an action figure\nas an air balloon\nas an anime character\nas an anthropomorphic dragon\nas an anthropomorphic turtle\nas an atlantean\nas an elegant noblewoman\nas an offering to zeus\nas an overwatch character\nas an ugly titan\nas atlantean reptilian warriors\nas chefs inside cthulhu\nas coherent as dall-e 2\nas cristina kirchner\nas doctor who\nas far as the eye can see\nas fashion editorial 90s\nas if homer simpson came to life\nas if lisa simpson came to life\nas illustrated in top cow comics\nas in uffish thought he stood\nas overwatch character\nas photograph\nas real person\nas samurai\nas seen from space\nas seen from the canopy\nas seen on artgerm\nas seen on artstation\nas seen on getty images\nas she looks up at the ceiling\nas the colossal titan\nas the goddess of the sun\nas the joker\nas the protagonist of gta 5\nas the sun sets on the horizon\nas though she is dancing\nas trending on artstation\nas we fade in the dark\nas wednesday addams\nas well as scratches\nas well as the handyboy\nasaf hanuka\nasao urata\nasarotos oiko\nascended\nascendent plane\nascending\nascending form the sky\nascending universes\nascension\nascher clemens\nascii\nasemic writing\nasencio\naseprite\nasgard\nasgard rising\nasgardian\nash\nash blond greyish hair\nash blond hair\nash falling\nash ketchum\nash ketchup\nash thorp\nash thorp khyzyl saleem\nash williams from the evil dead\nashe\nashe from overwatch\nashen blonde hair\nasher david friedrich\nasher duran\nashes\nashes and smoke columns\nashes crystal\nashes seem to be alive\nashes to ashes\nashford black marble\nashford black marble sculpture\nashfur from warrior cats\nashley greene\nashley wood illustration\nashmole bestiary\nashoka tano\nashteroth\nashtray\nashy\nasia\nasian\nasian art\nasian beautiful face\nasian decent\nasian descend\nasian descent\nasian dragon as latte art\nasian face\nasian features\nasian female\nasian female water elemental\nasian girl\nasian girl with long hair\nasian human\nasian hyperdetailed\nasian interior decoration\nasian male\nasian man\nasian nymph bald goddess\nasian old skinny scientist\nasian origin\nasian sun\nasian woman\nasian woman made from origami\nasian women\nasimov\nasking for change\naslan the lion\nasleep\nasmodeus\nasmongold\nasparagus\naspect ratio\naspect ratio 16:9\naspect ratio 1:3\naspen grove in the background\nasphalt and metal\naspic\naspic on plate\nasriel dreemurr\nassam tea garden background\nassam tea garden setting\nassam tea village background\nassamese\nassamese aesthetic\nassasin\nassassin\nassassin's creed\nassassins\nassassins creed\nassault rifle\nassemble\nassembled\nassembly drawing\nassembly instructions\nasset\nasset on grey background\nasset pack\nasset sheet\nasset store\nassets\nassociated press\nassociated press photo\nassociated press photography\nassymetrical\nassyrian\nasterix\nasteroid belt\nasteroid belt in distance\nasteroids\nasteroids realistic cinematic\nasthetic\nasthetics\naston martin\nastonishing\nastonishing background\nastonishing detail\nastonishing details\nastonishing lighting\nastonishing scenes\nastor alexande\nastounding\nastounding stories\nastral\nastral appearance\nastral aurora\nastral background\nastral clockwork\nastral dress\nastral ethereal\nastral fairy\nastral nebula\nastral night sky background\nastral patterns\nastral plane\nastral projection\nastral travel\nastral witch clothes\nastri lohne\nastrolabe\nastrology\nastronaut\nastronaut below\nastronaut cat\nastronaut centaur\nastronaut cyberpunk electric\nastronaut floating in space\nastronaut helmet\nastronaut helmets\nastronaut in space\nastronaut in the ocean\nastronaut lost in liminal space\nastronaut on the moon\nastronaut riding a horse\nastronaut riding horse\nastronaut standing looking\nastronaut stranded on planet\nastronaut suit\nastronaut walking\nastronaut with a chimpanzee\nastronauts\nastronauts and space colonies\nastronauts waving hello\nastronomical\nastronomical imaging\nastronomy\nastrophotgraphy\nastrophotography\nastrophysics\nasuka\nasuka as a surfer model\nasuka from evangelion\nasuka langley\nasuka langley sohryu\nasuka langley soryu\nasuka langley souryuu\nasuka suit under clothes!\nasuna from sao\nasuna yuuki\nasura from chinese myth\nasuras\nasuras giant yaksha statues\nasya yoranova and alan lee\nasylum\nasymetrical design\nasymmetric\nasymmetric beauty\nasymmetric composition\nasymmetric unnatural beauty\nasymmetrical\nasymmetrical art\nasymmetrical artwork\nasymmetrical composition\nasymmetrical design\nasymmetrical face\nasymmetrical haircut\nasymmetrical portrait\nasymmetrical spires\nasymmetrical!!\nasymmetry\nasymmetry!!\nat - at\nat - at imperial walkers\nat - st\nat 8 k\nat 8k\nat a 5 0 s diner\nat a bar\nat a beach\nat a beach party in ibiza\nat a beautiful sunset\nat a birthday party\nat a campfire at night\nat a campfire in the forest\nat a city street\nat a clearing\nat a cyberpunk city\nat a deserted city\nat a dinner table\nat a fashion shoot\nat a forest. digital art\nat a mall\nat a museum\nat a park\nat a rave\nat a skate park\nat a slightly elevated level\nat a tropical beach\nat a volcano\nat after noon\nat an ancient city\nat an angle\nat an archaeological dig site\nat an cyberpunk city\nat ancinet agora of athens\nat beach at sunset\nat behance\nat borobudur\nat california adventure\nat checkout\nat circuit de spa francorchamps\nat college\nat cyberpunk city\nat dawn\nat day\nat dusk\nat dusk at golden hour\nat dusk lighting\nat dusk!\nat evening during rain\nat full stride\nat future neon light rooftop\nat gentle dawn blue light\nat gentle dawn green light\nat gentle dawn pink light\nat gentle dawn red light\nat golden hour\nat high noon\nat highgate cemetery\nat home\nat inside of a future submarine\nat instagram\nat khajuraho\nat last\nat lush forest background\nat midday\nat midnight\nat netflix\nat new york fashion week\nat night\nat night time\nat night with dramatic moonlight\nat night with full moon\nat night with lights\nat night with moon light\nat night with neon lights\nat nighttime\nat noon\nat pamukkale\nat peace\nat pixiv\nat purple sunset\nat racer track\nat salar de uyuni\nat snowy fuji mountain moonlight\nat snowy fuji mountain sunrise\nat sunrise\nat sunrise in springtime\nat sunset\nat sunset in autumn\nat takeoff\nat target\nat the beach\nat the beach on a sunset\nat the bottom of the ocean\nat the counter\nat the dawn of time\nat the desert\nat the end of the universe\nat the end of the world\nat the end of time\nat the golden hour\nat the graveyard at midnight\nat the hospital in patient gown\nat the kid choice awards\nat the mountains of madness\nat the museum\nat the park\nat the park on a beautiful day\nat the party\nat the salar de uyuni\nat the sea\nat the seaside\nat the sitting couch\nat the stone ruins\nat the sunset\nat the taco bell drive through\nat the terrace\nat the time of dinosaurs\nat the top of a mountain\nat the top of a red rock canyon\nat the waterside\nat the white house\nat the world cup\nat twilight\nat world's end\nat worlds end\natari logo\natef\natelier\natelier lulua\natelier olschinsky\natey ghailan 8 k\natey ghailan and mike mignola\natey ghailan and steve mccurry\natheism god\nathena\nathena goddess of wisdom\nathene\nathens in the background\nathlete photography\nathletic\nathletic and strong\nathletic body\nathletic body build\nathletic build\nathletic crossfit build\nathletic fashion photography\nathletic footage\nathletic man in his 30s\nathletic muscle tone\nathletic shorts\nathletic tall handsome guys\nathmospheric\natiba jefferson\natla\natlach - nacha\natlantean\natlantean warrior\natlantic puffin\natlantis\natlantis background\natlantis city\natlantis in the background\natlantis the lost empire\natlas\natlas texture map mecascans\natlas tree leaf texture map\natlus\natmoshperic\natmosperic\natmosperic lighting\natmosphere\natmosphere and tension\natmosphere cinematic\natmosphere glow\natmosphere hyperrealistic\natmosphere of bloody rain\natmosphere of silent hill\natmosphereric\natmospheric\natmospheric 8k\natmospheric and depressed\natmospheric and obscure\natmospheric anime\natmospheric artwork\natmospheric background\natmospheric beautiful details\natmospheric blues\natmospheric cinematography\natmospheric clouds'\natmospheric cold lighting\natmospheric composition\natmospheric cool color - grade\natmospheric cool colorgrade\natmospheric crystal dust\natmospheric depth\natmospheric dramatic lighting\natmospheric dreamscape painting\natmospheric dust\natmospheric eerie lighting\natmospheric effects\natmospheric environment\natmospheric establishing shot\natmospheric fantasy setting\natmospheric fantasy sky\natmospheric feeling\natmospheric fog\natmospheric fog and lighting\natmospheric full moon\natmospheric haze\natmospheric hd photograph\natmospheric hues\natmospheric light\natmospheric lighting\natmospheric lighting - n 9\natmospheric lightintg\natmospheric lightning\natmospheric moody\natmospheric motes\natmospheric night\natmospheric painting\natmospheric perspective\natmospheric phenomenon\natmospheric photo\natmospheric photograph\natmospheric portrait\natmospheric red effects\natmospheric red lighting\natmospheric render\natmospheric scene\natmospheric smoke and fog\natmospheric warm colorgrade\natmospheric ”\natmospheric. digital painting\natmospherical\natmospherics\natmospheric”\natom\natomic\natomic age\natomic age maximalist\natomic bomb\natomic explosion\natomic punk\natomic stars\natompunk\natoms\natoms colliding\natoms floating\natomspheric lighting\natotolin\natrium\natrophy\natsmospheric\nattached tail\nattached to wires. dark\nattack\nattack of the eldritch dragon\nattack on titan\nattack on titan anime style\nattack on titan covert art\nattack on titan scenery\nattack on titans\nattack on titans anime\nattack pose\nattack vector\nattack zombie during worldwar 2\nattacked submarine in background\nattacking\nattacking nyc\nattacking with axe\nattention\nattention filter\nattention to detail\nattention to details\nattestation\nattire: bikini\nattitude\nattractive\nattractive and beautiful\nattractive and good looking\nattractive androgynous humanoid\nattractive anime girl\nattractive beautiful face\nattractive beefy male with armor\nattractive beefy man\nattractive body\nattractive brown hair woman\nattractive cat girl\nattractive character\nattractive curves\nattractive face\nattractive face and body\nattractive facial features\nattractive features\nattractive female\nattractive female face\nattractive female face!!!\nattractive feminine curves\nattractive girl\nattractive girl tomboy\nattractive magician man\nattractive male\nattractive male deity\nattractive male playing piano\nattractive male with armor\nattractive man\nattractive man drinking coffee\nattractive man playing piano\nattractive matoi ryuko\nattractive muscular man\nattractive neck\nattractive pagan male deity\nattractive photo\nattractive pose\nattractive sci - fi face\nattractive sporty physique\nattractive symmetrical face\nattractive tiefling druid\nattractive woman\nattractive young man\nattractive young woman\nattribute\nattributes\nau naturel\naubrey\naubrey plaza\naubrey powell\nauburn and blonde two toned hair\nauburn hair\nauburn outfit\nauckland sky tower\nauction\nauction catalogue photo\naudeze\naudi a4 b6 avant (2002)\naudi a4 b6 avant 2002\naudience\naudience in the background\naudience selfie\naudience sorrounding\naudince in awe\naudio equipments\naudio waveform\naudiophile\naudobon and beksinski\naudrey hepburn\naudrey hepburn in a horror novel\naudrey plaza\naudubon\naugmentation\naugmented\naugmented cyborg\naugmented cyborgs\naugmented reality\naugmented vision\naugments\naugust\naugust 1968\naugusta national\naugusta savage\nauguste rodin\nauguste toulmouche\naum\naura\naura effect\naura jared and wires\naura of light\naura of magic around her\naura of power. detailed\nauras\naurelion sol\nauril\nauronplay\naurora\naurora aksnes\naurora aksnes and zendaya\naurora aksnes and zoë kravitz\naurora artifacts\naurora borealis\naurora borealis in the sky\naurora borealis on background\naurora colored hair\naurora digital package\naurora green\naurora in the sky\naurora spaceship environment\nauroracore\nauschwitz camp\nauslese\naussie\naussie baristas\naustin powers\naustralia\naustralia intricate\naustralian\naustralian beach\naustralian bush\naustralian desert\naustralian outback\naustralian tonalism escher\naustralian wildflowers\naustralian winter night\naustria\naustrian architecture\naustro - hungarian\nautechre\nauthentic\nauthentic costume\nauthor\nauthor li zhang\nauthor unknown\nauthor zima blue\nauthoritarian\nauthoritative\nauthoritative pose\nauthority\nauthority :: high detail\nauto - destructive art\nauto and design magazine\nauto graflex\nauto photography\nautocad\nautochrome\nautochrome pearl portrait\nautochrome photograph\nautodesk\nautodesk 3 d rendering\nautodesk 3d rendering\nautodesk 3ds max\nautodesk blueprint\nautodesk inventor\nautodesk maya\nautodesk solidowkrs visualize\nautofocus\nautomated defence platform\nautomation\nautomaton\nautomobile\nautomotive\nautomotive design art\nautomotive photography\nautum\nautum garden\nautumn\nautumn background\nautumn bare trees\nautumn bokeh\nautumn color\nautumn colors\nautumn colour oak trees\nautumn colours\nautumn field\nautumn foliage in the foreground\nautumn forest\nautumn leaves\nautumn leaves background\nautumn leaves falling\nautumn leaves on the ground\nautumn light\nautumn lights\nautumn lights colors\nautumn maples\nautumn mountains\nautumn night\nautumn overgrowth\nautumn rain turkel\nautumn season\nautumn sunlights\nautumn sunrise warm light\nautumn sunset\nautumn tranquility\nautumn wind\nautumn! colors\nautumnal\nautumnal colours\nautumnal empress\nautumncolors\nava max\navacado chairs\navacado dream\navacado halloween costumes\navalon\navan jogia angel\navangard\navant - garde\navant designer uniform\navant garde\navant garde coral\navant garde fashion model\navant garde pop art\navant garde supermodel\navant uniform\navant-garde\navant-garde art\navant-garde edgy\navante garde\navantgarde\navantgarde 4k wallpaper\navatar\navatar  2009\navatar ( 2 0 0 9 )\navatar aang\navatar aang as captain america\navatar for website\navatar image\navatar landscape\navatar movie\navatar the last airbender\navatar with a blond hair\navec des dents pointues\navedon\navengers\navengers endgame\navengers movie\navenida paulista\navenue\naverage\naverage human face\naverage physique\naverage redditor\navetetsuya studios\navian\navian warrior\navian!!! fursona\navian-inspired\navianfursona\naviator shades\naviator sunglasses\naviators\navocado\navocado and cheddar\navocado armchair\navocado being stolen\navocado car\navocado chair\navocados\navoid duplicate images\navoid symmetry\navp\navram glazer\navril lavigne\nawakening\nawar winning\naward\naward - winning\naward - winning 4 k photograph\naward - winning 4 k photography\naward - winning 4k photograph\naward - winning 4k photography\naward - winning art\naward - winning brand agency\naward - winning crisp details\naward - winning crisp details ”\naward - winning design\naward - winning details\naward - winning details ”\naward - winning digital art\naward - winning epic painting\naward - winning illustration\naward - winning magazine cover\naward - winning painting\naward - winning pencil drawing\naward - winning pet photography\naward - winning photo\naward - winning photo ”\naward - winning photo. ”\naward - winning photograph\naward - winning photography\naward - winning shot\naward - winning. lovecraftian\naward arhitectural photography\naward fashion\naward landscape photography\naward on cgsociety\naward painting\naward photography\naward wining\naward wining art\naward wining photo\naward wining photograph\naward wining photography\naward winner\naward winning\naward winning 3d render\naward winning 4 k photo\naward winning 4k\naward winning 4k photo\naward winning 8k\naward winning ad\naward winning advertising\naward winning animation\naward winning architecture\naward winning art\naward winning artwork\naward winning autochrome photo\naward winning candid photography\naward winning cgi\naward winning cinematic\naward winning cinematic still\naward winning cinematography\naward winning color photo\naward winning colorized photo\naward winning composition\naward winning concept art\naward winning concept artist\naward winning contemporary\naward winning costume design\naward winning creature portrait\naward winning dark\naward winning dark lighting\naward winning design\naward winning details\naward winning digital art\naward winning dish\naward winning documentary\naward winning drawing\naward winning dslr photography\naward winning engraving\naward winning fantasy art\naward winning fashion photo\naward winning film\naward winning food photo\naward winning food photography\naward winning graphic design\naward winning h-512 w-512 n-6\naward winning hd 8k photo\naward winning historic painting\naward winning horror photography\naward winning hyperrealistic\naward winning illustration\naward winning image\naward winning interior design\naward winning landscape photo\naward winning lighting\naward winning macro photography\naward winning magazine photo\naward winning makeup\naward winning manga style\naward winning masterpiece\naward winning masterpiece photo\naward winning modern design\naward winning movie\naward winning movie still\naward winning nature photo\naward winning nature photograph\naward winning nature photography\naward winning oil painting\naward winning on artstation\naward winning on behance\naward winning on deviantart\naward winning painter\naward winning painting\naward winning photo\naward winning photo shoot\naward winning photograph\naward winning photograph 4 k hd\naward winning photograph!\naward winning photographer\naward winning photography\naward winning photos\naward winning picture\naward winning pictures\naward winning portrait\naward winning poster\naward winning press photo\naward winning render\naward winning scenery\naward winning scifi art\naward winning sculpture\naward winning seductive\naward winning shading\naward winning shopfront design\naward winning shot\naward winning sports photography\naward winning studio photo\naward winning tattoo\naward winning webdesign\naward winning work\naward winning ”\naward winning. 4 k\naward winning. cinematic\naward winning. masterpiece\naward winning. octane render\naward winning”\naward- winning photography\naward-wining\naward-winnig photo\naward-winning\naward-winning anime style\naward-winning art\naward-winning artwork\naward-winning cinema\naward-winning cinematography\naward-winning composition\naward-winning concept art\naward-winning crisp details”\naward-winning details\naward-winning details”\naward-winning digital art\naward-winning fantasy art\naward-winning magazine photo\naward-winning masterpiece\naward-winning oil painting\naward-winning painting\naward-winning photo\naward-winning photo uhd\naward-winning photo!!!!\naward-winning photograph\naward-winning photography\naward-winning photography 4k\naward-winning picture\naward-winning portrait\naward-winning render\naward-winning sci-fi\naward-winning scifi\naward-winning shot\naward-winning snl skit\naward-winning style\naward-winning very detailed\naward-winning-photograph\naward-winning”\nawarded\nawarded on cgsociety\nawarded photograher\nawarded photograph\nawarded photography\nawarded winning photo\nawarding winning\nawards\nawards winning\nawardwinning\nawardwinning movie still\nawareness\nawe\nawe - inspiring\nawe - inspiring award - winning\nawe inspiring\nawe sublime\nawe-inspiring\nawe-inspiring. award-winnin\nawe-inspiring. award-winning\nawesome\nawesome and moody\nawesome art\nawesome bright color palette\nawesome cat\nawesome color palette\nawesome composition\nawesome composition rules\nawesome exposition\nawesome greate composition\nawesome pose\nawesome trendy color palette\nawesomenes\nawestriking\nawestruck\nawful\nawful experiments\nawingawat\nawkward\nawkward and anxious\nawkward situation\nawkward smile\nawkwardly holding red solo cup\nawnings\naww\nawww\nawww aspiring\nawwwards\nawwwww\nax\naxe\naxe in hand\naxes\naxolotl\naxolotl creature\naxon\naxonometric\naxonometric drawings\naxonometric exploded view\naxsens\naxure sky\naya takano\naya takano color style\nayahausca\nayahuasca\nayahuasca ceremony\nayahuasca shaman\nayaka\nayaka cosplay\nayaka game genshin impact\nayaka genshin impact\nayami\nayami koj ima\nayami kojima amano\nayami kojima and greg rutkowski\nayami kojima and lyde caldwell\nayami kojima and yoshitaka amano\nayamin kojima\nayan nag\nayanami\nayanamikodon and irakli nadar\naykut aydogdu\naykut aydogdu eric zener\naykut aydogdu zener\nayne haag\nazamat khairov\nazathoth\nazctec warrior\nazimov\nazo yellow\nazores\naztec\naztec architecture\naztec astronaut\naztec bathing suit\naztec empress\naztec fantasy\naztec god\naztec hair\naztec iconography\naztec mythology\naztec princess fights barbarians\naztec princess portrait\naztec queen\naztec skull\naztec skull with crown of hops\naztec street fashion\naztec sun goddess\naztec warrior\naztec warrior goddess\naztec warrior with jaguar mask\naztec yaotl warrior\naztodio\nazulejo\nazur blue eyes\nazur lane style\nazure\nazure and red tones\nazure blue eyes\nazure blue sky\nazure blue water\nazure blue watery eyes\nazure cape\nazure color bleed\nazure eyes\nazure ocean\nazure sky\nazure sky tones\nazure tones\nazure water\nazure waves of water\nazure. detailed hair\nazurite\nb\nb & w\nb & w detailed sharp photo\nb - 2 bomber\nb - roll\nb movie\nb sharp focus\nb w\nb&w\nb&w hasselblatt\nb&w photo\nb&w photograph\nb&w photography\nb&w!\nb. b king\nb.h. robinson\nb3d\nbaader u venus filter\nbaars\nbaba yaga\nbabbling brook\nbabe\nbabel\nbabies in her lap\nbaboon wearing a suit and tie\nback\nback - lit\nback - shot\nback - view\nback alley\nback and standing\nback and white\nback arched\nback breaker\nback camera\nback facing\nback facing the camera\nback light\nback light contrast\nback lighting\nback lit\nback lit lighting\nback lit vertigo fear of heights\nback of emma stone in beige coat\nback of hand on the table\nback of head\nback of the hair\nback portrait of a rugged ranger\nback pose\nback room\nback rooms\nback shark fin\nback shot\nback slit\nback tattoo\nback to back\nback to camera\nback to school comedy\nback to the camera\nback to the future\nback to us\nback towards camera\nback turned\nback view\nback view also\nback view of the grim reaper\nback view »\nback view!!\nback view. nuri iyem\nback yard\nbackbone\nbackdrop\nbackdrop of dawn\nbacked on kickstarter\nbackfacing\nbackground\nbackground  smoke\nbackground ( dark _ smoke )\nbackground ( dark _ smokiness )\nbackground ( smoke\nbackground 1970s office\nbackground : diego fazio\nbackground = library\nbackground a gym\nbackground aerial battle\nbackground art\nbackground art deco palace\nbackground art nouveau\nbackground artwork\nbackground atmospheric effects\nbackground bar\nbackground basilica! sacre coeur\nbackground basilicasacre coeur\nbackground battlefield\nbackground blur\nbackground blur bokeh\nbackground blur bokeh!!\nbackground blurred\nbackground bokeh\nbackground canon\nbackground chaotic flowers\nbackground colorful\nbackground cyberpunk city\nbackground cyberpunk spaceship\nbackground dark\nbackground depicting a temple\nbackground depth\nbackground details\nbackground environment. 8 k\nbackground explosion\nbackground flames\nbackground focus\nbackground fortress\nbackground fractal muqarnas\nbackground full of brown flowers\nbackground full of lucky clovers\nbackground full of stormy clouds\nbackground galaxy\nbackground heavenly sky\nbackground hogwarts\nbackground hyper detailed\nbackground image\nbackground in a cinematic\nbackground in blurred\nbackground in space\nbackground is a city in ruins\nbackground is a low light museum\nbackground is a slum\nbackground is an alien galaxy\nbackground is data server room\nbackground is disneyland castle\nbackground is heavenly\nbackground is made of stars\nbackground is plane in space\nbackground is purple\nbackground is space\nbackground is sunset clouds\nbackground is the ruins\nbackground is white\nbackground is white and blank\nbackground jet ground radio\nbackground jungle\nbackground lush vegetation\nbackground made of big curtains\nbackground megastructure\nbackground mountains\nbackground natural flower\nbackground of a golden ballroom\nbackground of a lava river\nbackground of classic red cloth\nbackground of digital greebles\nbackground of flowery hill\nbackground of invading army\nbackground of poison apples\nbackground of resident evil game\nbackground of stars and galaxies\nbackground of the galaxy\nbackground out of focus\nbackground pastel\nbackground removed\nbackground sand dunes\nbackground sharp earth\nbackground soft blue\nbackground space\nbackground space station\nbackground urban cityscape\nbackground vibrant\nbackground white\nbackground with complex patterns\nbackground with neon lighting\nbackground yellow and blue\nbackground(solid)\nbackground: assam tea garden\nbackground: battle scene\nbackgroundsolid\nbacklight\nbacklight body\nbacklight glow\nbacklight green leaves\nbacklight leaves\nbacklight photo sample\nbacklight studio lighting\nbacklight sunset sky\nbacklighted\nbacklighting\nbacklighting sunset golden hour\nbacklit\nbacklit beautiful face\nbacklit ears\nbacklit face\nbacklit fog\nbacklit fur\nbacklit girl in raincoat\nbacklit glow\nbacklit golden hour\nbacklit lighting\nbacklit portrait\nbacklit shot girl in parka\nbacklit stained glass\nbacklit sunset\nbacklit!!\nbacklite\nbackmouth\nbackpack\nbackpfeifengesicht\nbackroom background\nbackrooms\nbackrooms abandoned mall\nbackrooms liminal space\nbackrooms office space\nbackround dark\nbackscatter orbs\nbackshot\nbackside of scenography elements\nbackstreet boys\nbackup vocalists\nbackveiw picture of elf rogue\nbackview\nbackwards\nbackwater bayou\nbackyard\nbackyard garden\nbackyard wrestling\nbacon\nbacon lettuce and tomatos\nbacteria\nbad\nbad acid trip\nbad art\nbad attitude\nbad boy\nbad bunny\nbad camera footage\nbad camrea\nbad composition\nbad dream\nbad drone camera\nbad graphics\nbad guy\nbad light\nbad lighting\nbad looking\nbad omen\nbad photo\nbad photocopy\nbad print\nbad quality\nbad selfie\nbad skin\nbad teeth\nbad trip\nbad vhs\nbad vhs quality\nbad vibes\nbad weather\nbad weather approaching\nbadass\nbadass anime 8 k\nbadass batmobile car design\nbadass beard\nbadass clothing\nbadass composition\nbadass filters and effects\nbadass look\nbadass pose\nbadge\nbadge on collar\nbadger\nbadger badger\nbadlands\nbadly drawn\nbadminton\nbae suzy\nbag\nbag - valve mask\nbag over the waist\nbagdasarian productions\nbagels\nbaggy\nbaggy black pants\nbaggy clothing and hat\nbaggy eyes\nbaggy jeans\nbaggy pants\nbaggy purple overall shorts\nbags\nbags of money\nbags on ground\nbags under eyes\nbags under his eyes\nbagshaw art style\nbahamas\nbaked bean skin texture\nbaked beans\nbakelite rocky mountains\nbakemonogatari\nbakery\nbaki\nbaki style\nbaki the grappler\nbaking a cake\nbaking artwork\nbaking cookies\nbaking french baguette\nbalaclava\nbalaclava covering face\nbalaclava mask\nbalance\nbalance and proportional\nbalance beams\nbalance composition\nbalance proportion content\nbalance rendered\nbalanced\nbalanced colors\nbalanced colors hd\nbalanced composition\nbalanced lighting\nbalanced masterpiece\nbalances\nbalancing the equation\nbalaskas\nbalayage\nbalconies\nbalcony\nbalcony door\nbalcony scene\nbald\nbald eagle\nbald head\nbald head and menacing look\nbald head and white beard\nbald lines\nbald male swashbuckler\nbald man\nbald michael jackson\nbald on top\nbald orc mechanic\nbald patch\nbald with short beard\nbalding\nbalding hair\nbalding older cyborg repairing\nbaldur's gate\nbaldur's gate character portrait\nbaldurs gate\nbaldurs gate character portrait\nbaleful\nbaleful young\nbalenciaga\nbalenciaga fashion\nbali\nball\nball jointed doll\nball of yarns all around\nball shaped accordion sleeve\nballard\nballerina\nballerina dance in smoke\nballet\nballet dancer\nballet performance photography\nballet pose\nballet style pose\nballistic\nballoon\nballoons\nballpoint\nballpoint pen\nballpoint pen art\nballroom\nballroom background\nballs of fire\nballs of light for eyes\nballs of rice\nbalmy\nbaloons\nbalrog\nbalrog concept art\nbaltermants\nbam margera\nbamboo\nbamboo forest\nbamboo forest in the background\nbamboo huts\nbamboo wood\nbanal but mysterious\nbanal object on a pedestal\nbanana\nbanana color\nbanana hat\nbanana plants drawing\nbanana trees\nbananas\nbananas weapon\nbanchou\nband\nband merchandise\nband name is tripmachine\nband of brothers\nband of gold round his breasts\nband playing\nband playing instruments\nband promo\nband promo photo\nbandage\nbandage on arms\nbandage taped fists\nbandaged nose\nbandages\nbandai\nbandai box art\nbandai box art. realistic\nbandai macross box art\nbandana\nbandanas\nbandname is tripmachine\nbandolier\nbandoliers\nbanff national park\nbang olufsen\nbangalore\nbangkok\nbangkok townsquare\nbangkuart\nbangladesh\nbangles\nbangs\nbangs and wavy hair\nbanish fiction and illusion\nbanjo kazooie\nbank\nbank robbery\nbank robbery movie\nbank robbery movies\nbanknote\nbanknotes flying from barrel\nbanksy graffiti\nbanner\nbanners\nbanners with lenin\nbanpresto\nbanshee\nbao pham\nbao phan\nbao pnan\nbaobab tree\nbaobab trees\nbaobab trees in distance\nbaotou china\nbaphomet\nbaptism\nbaptiste from overwatch\nbar\nbar background\nbar charts\nbar in background\nbar tosz domiczek\nbara\nbarabas miklos and hollosy simon\nbarack obama\nbarack obama in attack on titan\nbarack obama in gta v\nbarack obama wearing sunglasses\nbaraka\nbarbara canepa\nbarbara hammer\nbarbara hammer 4 k\nbarbara hammer 4k\nbarbara kruger\nbarbara palvin\nbarbarella\nbarbarian\nbarbarian celebrate his birthday\nbarbarian class\nbarbarian on mars\nbarbarian pelt\nbarbarian warrior\nbarbarian warrior woman\nbarbarians\nbarbatos gundam\nbarbatos mobile suit\nbarbecue\nbarbecuing chewing gum\nbarbed wire\nbarbie\nbarbie cyborg\nbarbie doll\nbarbie doll in panties and bra\nbarbie or ken doll\nbarbra streisand no makeup\nbarbra streisand sitting\nbarcelo tomas\nbarcelona\nbarcelona in 1 9 1 8\nbarcelona in 1918\nbarclay shaw\nbarclay shaw 8 k photorealistic\nbarclay shaw 8k photorealistic\nbarcode\nbarcodes\nbard\nbard jester character sheet\nbare\nbare back\nbare bark\nbare bodybuilder shoulders. kohl\nbare chest\nbare feet\nbare feet in grass\nbare foot\nbare forehead\nbare hairy chest\nbare leg\nbare legs\nbare midriff\nbare room\nbare shoulders\nbare thighs\nbare thighs!!!\nbare torso\nbare trees\nbarechest\nbared shoulders\nbared teeth\nbarefeet\nbarefoot\nbarefoot beautiful girl alien\nbarefoot in sandals\nbarely any walls inside\nbarely lit warm violet red light\nbarely seen women\nbarely visible\nbarely visible from the shadows\nbargello\nbargello pattern\nbaris yesilbas\nbark\nbark for skin\nbarlow\nbarlowe\nbarlowe wayne\nbarn\nbarn in background\nbarn in the background\nbarn owl face\nbarn owl mask\nbarn owl symbol in chest\nbarnacle\nbarnet\nbarney and friends\nbarney the dinosaur\nbarney the purple dinosaur\nbarocco\nbarometric projection\nbaron harkonnen\nbarong family\nbarong family member\nbaroque\nbaroque acrylic painting\nbaroque aesthetics\nbaroque and rococo ornaments\nbaroque architecture\nbaroque art\nbaroque art jewelry\nbaroque art style\nbaroque cloth\nbaroque color palette\nbaroque color scheme\nbaroque curls\nbaroque dark art\nbaroque detailed\nbaroque detailes\nbaroque digital painting\nbaroque dress\nbaroque element\nbaroque elements\nbaroque environment\nbaroque frame border\nbaroque gold headpiece\nbaroque hair\nbaroque hibiscus queen\nbaroque interior\nbaroque landscape painting\nbaroque marble and gold in space\nbaroque object\nbaroque objects\nbaroque oil painting\nbaroque ornament detail\nbaroque ornament details\nbaroque painting\nbaroque painting. star lit sky\nbaroque portrait\nbaroque portrait painting\nbaroque renaissance. medium shot\nbaroque style\nbaroque style painting\nbaroque style painting backdrop\nbaroque symmetry\nbaroque vaporwave statue\nbaroque visual kei decora art\nbaroque wallpaper\nbaroque winding cobbled streets\nbaroque!\nbarracks\nbarrel chested\nbarrel fires and tents\nbarreleye\nbarreleye fish\nbarrels\nbarren\nbarren desert landscape\nbarren dry land\nbarren earth\nbarren landscape\nbarren moon landscape\nbarren sands\nbarren tundra\nbarren wasteland\nbarret frymire\nbarrier integrity\nbarriers\nbarron trump\nbarroque armor\nbarroque painting\nbarrows\nbarry chuckle\nbarry qindsor-smith\nbarry smith\nbarry windsor smith\nbars on the windows\nbarsoom\nbart simpson\nbart simpson in real life\nbartending\nbartlomiej gawel\nbartolome ros\nbarycentric subdivision\nbas - relief\nbas relief\nbase\nbaseball\nbaseball bat\nbaseball cap\nbaseball player mike trout\nbaseball stadium\nbased on a puma\nbased on bumblebee\nbased on child's drawing\nbased on childs drawing\nbased on geographical map\nbaselitz\nbasement\nbashful\nbashful expression\nbasia tran\nbasic\nbasic background\nbasic clothing\nbasic photo\nbasic shapes\nbasic steel sword\nbasic white background\nbasil\nbasil flying\nbasil gogos\nbasil leaves flying all over\nbasil leaves instead of leaves\nbasil wolverton\nbasilisk\nbasketball\nbasketball ball\nbasketball court\nbasketball sneaker concept art\nbasquiat\nbasquiat  afrofuturism\nbasquiat + francis bacon\nbasquiat style\nbasquiat | afrofuturism\nbasquiat!!\nbass\nbass clef\nbass drum\nbass music\nbass sound waves on circuitry\nbass wood\nbassist\nbast\nbastet\nbastien grivet\nbastien lecouffe - deharme\nbastien lecouffe deharme\nbastien yoshitaka amano\nbastion\nbastion from overwatch\nbastion game\nbat\nbat claws\nbat ears\nbat head\nbat nose\nbat wings\nbatgirl\nbath\nbath like style\nbathed in golden light\nbathed in light\nbathed in moonlight\nbathed in the the glow\nbathed in the the glow of a fire\nbathhouse\nbathing in a waterfall\nbathing in light\nbathing inside the tar pit\nbathing suit\nbathrobe\nbathroom\nbathtub\nbathtub with golden faucet\nbatik\nbatleground\nbatman\nbatman as a zombie\nbatman as a zombie!!!\nbatman as a zombie!!!!!!!\nbatman as the joker\nbatman beyond\nbatman dressed as darth vader\nbatman eating pizza\nbatman forever 1 9 9 5\nbatman horror movie\nbatman mecha\nbatman portrait\nbatman t shirt\nbatman wielding axe\nbatman with guns\nbatmobile\nbatoidea shape\nbats\nbats flying away from castle\nbats flying over tombstones\nbats in sky\nbats pop art\nbats splash painting\nbattalion\nbattered\nbatteries not included\nbattery\nbattery and wires\nbattle\nbattle - weary\nbattle action\nbattle action pose\nbattle action shot\nbattle angel\nbattle angel alita\nbattle angel manga\nbattle armor\nbattle armour\nbattle axe\nbattle between angels and demons\nbattle between good and evil\nbattle chasers\nbattle damage\nbattle damaged\nbattle damaged iron man suit\nbattle field\nbattle for whiterun\nbattle for whiterun city\nbattle garments\nbattle hardened\nbattle landscape\nbattle mage\nbattle map prop\nbattle mech\nbattle of 1453\nbattle of cape ecnomus\nbattle of geonosis\nbattle of good versus evil\nbattle of helmand moebius\nbattle of kings\nbattle of waterloo\nbattle pose\nbattle position\nbattle ram\nbattle rap\nbattle ready\nbattle scar\nbattle scars\nbattle scars across body\nbattle scene\nbattle shoes\nbattle stance\nbattle stand\nbattle standing\nbattle the dragon\nbattle toast\nbattle turtles\nbattle warrior\nbattle weary\nbattle with dragon\nbattle worn\nbattle worn armour\nbattle-damaged\nbattle-scarred\nbattle-worn\nbattleaxe\nbattlefield\nbattlefield 1\nbattlefield 4\nbattlefield 5\nbattlefield background\nbattlefield backround\nbattlefield in background\nbattlefield landscape\nbattlefield scene\nbattlefield war zone\nbattlefront\nbattleground background\nbattlehammer\nbattlemech\nbattlements\nbattlements with soldiers\nbattleship\nbattlestar galactica\nbattletech\nbattletech style\nbattling demons\nbattroid mode\nbatwings\nbatwoman\nbaugh casey\nbauhaus\nbauhaus architecture\nbauhaus art\nbauhaus poster\nbauhaus style\nbauhaus style painting\nbauhause\nbautiful\nbay\nbay area\nbay window\nbay window sofa\nbayc\nbayeux tapestry\nbaymax\nbaymax from big hero 6\nbayonetta\nbayou\nbbc\nbbc documentary\nbbc earth\nbbc news\nbbc promotional artwork\nbbloom\nbbw\nbbwchan\nbc\nbcy. net\nbe concept art\nbe not afraid\nbe occult\nbe real\nbe running up that hill\nbeach\nbeach aesthetic\nbeach and tropical vegetation\nbeach background\nbeach bar\nbeach in the foreground\nbeach is between the two valleys\nbeach landscape\nbeach on the outer rim\nbeach party\nbeach pic\nbeach sand background\nbeach scene\nbeach setting\nbeach setting medium shot\nbeach sunset background\nbeach surreal photography\nbeach tennis\nbeach trees in the background\nbeached submarine\nbeaches\nbeachfront\nbeachfront mansion\nbeaching\nbeachwood treehouse\nbead and reel\nbead necklace\nbeaded curtains\nbeaded embroidery\nbeads\nbeads cross onbare chest\nbeads of sweat\nbeady black eyes\nbeak\nbeak of an eagle\nbeaked mask\nbeaker\nbeakers\nbeakers full of liquid\nbeakers of colored liquid\nbeaks\nbeam\nbeam glowing eye\nbeam of light\nbeaming shining light\nbeams\nbeams of golden light\nbeams of light\nbeams of light from sky\nbeams of sunlight\nbeanie\nbeanie hat\nbeans\nbeans in his eyes sockets\nbear\nbear legs\nbear rug\nbear with scales\nbearbrick\nbeard\nbeard stubble\nbearded\nbearded and built\nbearded beautiful man\nbearded cowboy\nbearded man\nbearded man seated on a throne\nbearded skull\nbeardless\nbeardsley\nbearing a large mad grin\nbears\nbeast\nbeast wars\nbeastars legoshi\nbeastly\nbeastman concept\nbeaten\nbeaten city. neo noir style\nbeaten tech. neo noir style\nbeaten. unreal engine\nbeatiful\nbeatiful backgrounds\nbeatiful house\nbeatiful lights\nbeatiful mountain background\nbeatiful smiling face\nbeatiful vivid lights\nbeatifull lightning\nbeatifully lit\nbeatle\nbeatrice blue\nbeats\nbeatufil painting\nbeauitful\nbeauriful\nbeauteous sumptuous\nbeautful view\nbeautifier\nbeautiful\nbeautiful  face\nbeautiful - n 9\nbeautiful 2000s phone-camera\nbeautiful 3 d concept art\nbeautiful 3 d rendering\nbeautiful 3d concept art\nbeautiful 3d render\nbeautiful 3d rendering\nbeautiful acrylic fluid portrait\nbeautiful adult book fairy\nbeautiful adult fairy\nbeautiful adult fairy queen\nbeautiful adult library fairy\nbeautiful aerith gainsborough\nbeautiful aesthetic\nbeautiful aesthetic art\nbeautiful aesthetic design\nbeautiful aesthetic face\nbeautiful aesthetic lighting\nbeautiful aged and rustic finish\nbeautiful alien landscape\nbeautiful alison brie magician\nbeautiful alluring anime teen\nbeautiful alluring anime woman\nbeautiful alluring female cyborg\nbeautiful alluring teen\nbeautiful alluring women\nbeautiful ambiance\nbeautiful ambience\nbeautiful ambient light\nbeautiful ancient forest\nbeautiful ancient frost witch\nbeautiful ancient garden behind\nbeautiful ancient ruins behind\nbeautiful ancient trees\nbeautiful and aesthetic\nbeautiful and cinematic lighting\nbeautiful and colorful\nbeautiful and creepy\nbeautiful and cute\nbeautiful and detailed eyes\nbeautiful and elegant\nbeautiful and elegant elf queen\nbeautiful and elegant female elf\nbeautiful and graceful\nbeautiful and horrible\nbeautiful and mysterious\nbeautiful and ominous\nbeautiful and realistic\nbeautiful and realistic face\nbeautiful and realistic faces\nbeautiful and smiling\nbeautiful and smooth soft light\nbeautiful and spectacular dusk\nbeautiful and symmetrical face\nbeautiful and terrifying\nbeautiful androgynous girl\nbeautiful androgynous prince\nbeautiful android woman\nbeautiful angel\nbeautiful angel girl portrait\nbeautiful angelic wings\nbeautiful angle\nbeautiful animal pearl queen\nbeautiful anime\nbeautiful anime art\nbeautiful anime art style\nbeautiful anime artwork\nbeautiful anime catgirl\nbeautiful anime face\nbeautiful anime girl\nbeautiful anime girl squatting\nbeautiful anime high school girl\nbeautiful anime portrait\nbeautiful anime scene\nbeautiful anime scenery\nbeautiful anime style\nbeautiful anime woman\nbeautiful arab woman\nbeautiful architecture\nbeautiful armor\nbeautiful art\nbeautiful art uhd 4 k\nbeautiful artist rendering\nbeautiful artwork\nbeautiful as the moon\nbeautiful asian girl\nbeautiful asian woman\nbeautiful asian woman sitting\nbeautiful asuka from evangelion\nbeautiful atmosphere\nbeautiful atmospheric lighting\nbeautiful audrey hepburn\nbeautiful autumn spirit\nbeautiful avatar pictures\nbeautiful background\nbeautiful backlight\nbeautiful backlit\nbeautiful beach\nbeautiful being\nbeautiful big symmetric eyes\nbeautiful biomechanical djinn\nbeautiful black blue yellow\nbeautiful black hair\nbeautiful blonde girl\nbeautiful blonde hair\nbeautiful blonde woman\nbeautiful blue - eyes\nbeautiful blue armet helmet\nbeautiful blue eyes\nbeautiful blue glowing eyes\nbeautiful blue haired girl\nbeautiful blue lights\nbeautiful blueish eyes\nbeautiful body\nbeautiful body and face\nbeautiful bone structure\nbeautiful border\nbeautiful boy\nbeautiful brand labels\nbeautiful bright lighting\nbeautiful brown eyes\nbeautiful brush stroke rendering\nbeautiful brush strokes\nbeautiful burqa's woman\nbeautiful burqas woman\nbeautiful caitriona balfe\nbeautiful cameraphone\nbeautiful cameraphone 2000s\nbeautiful castle\nbeautiful cat\nbeautiful cat feet\nbeautiful celestial mage\nbeautiful character painting\nbeautiful charlize theron\nbeautiful cheekbones\nbeautiful cinematic\nbeautiful cinematic light\nbeautiful cinematic lighting\nbeautiful cinematic poster\nbeautiful cinematography\nbeautiful city\nbeautiful city black woman only\nbeautiful city of the future\nbeautiful cityscape\nbeautiful cityscape background\nbeautiful cleopatra\nbeautiful clothes\nbeautiful cloud\nbeautiful clouds\nbeautiful clouds in the sky\nbeautiful cloudy atmosphere\nbeautiful cloudy deep blue sky\nbeautiful cloudy sky\nbeautiful code\nbeautiful coherent professional\nbeautiful color\nbeautiful color art!\nbeautiful color composition\nbeautiful color pallet\nbeautiful color pallette\nbeautiful color theme\nbeautiful colorful\nbeautiful colorful corals\nbeautiful colorful lights\nbeautiful colorful tilework\nbeautiful colors\nbeautiful colour palette\nbeautiful colours\nbeautiful comic art\nbeautiful composition\nbeautiful composition 3 - d 4 k\nbeautiful composition 3-d 4k\nbeautiful concept art\nbeautiful confident eyes\nbeautiful cosmic neural network\nbeautiful costume\nbeautiful cowboy witch\nbeautiful craftsmanship\nbeautiful creative space behind\nbeautiful creature\nbeautiful crying female android!\nbeautiful crying! android woman\nbeautiful crystals\nbeautiful curves\nbeautiful curvy female\nbeautiful cute\nbeautiful cyberpunk city\nbeautiful cyberpunk girl face\nbeautiful cyborg angel girl\nbeautiful cyborg girl\nbeautiful cyborg girl pinup\nbeautiful cyborg priestess\nbeautiful cyborg woman\nbeautiful dappled lighting\nbeautiful dark beach landscape\nbeautiful dark chaos\nbeautiful dark creepy landscape\nbeautiful dark elf countess\nbeautiful dark forest landscape\nbeautiful dark landscape\nbeautiful dark magician girl\nbeautiful day\nbeautiful daylight\nbeautiful decay\nbeautiful deep colors\nbeautiful deep colours\nbeautiful delicate face\nbeautiful depiction\nbeautiful design\nbeautiful detail\nbeautiful detail and color\nbeautiful detailed\nbeautiful detailed background\nbeautiful detailed blue eyes\nbeautiful detailed body and face\nbeautiful detailed concept art\nbeautiful detailed dress\nbeautiful detailed elegant\nbeautiful detailed eyes\nbeautiful detailed face\nbeautiful detailed faces\nbeautiful detailed fantasy\nbeautiful detailed figure\nbeautiful detailed illustration\nbeautiful detailed intricate\nbeautiful detailed miniature\nbeautiful detailed pixel art\nbeautiful detailed scene\nbeautiful details\nbeautiful digital art\nbeautiful digital artwork\nbeautiful digital illustration\nbeautiful digital painting\nbeautiful dog head\nbeautiful dramatic lighting\nbeautiful drapes\nbeautiful drawing\nbeautiful drawing style\nbeautiful dreamy breathtaking\nbeautiful dreamy landscape\nbeautiful dreamy lighting\nbeautiful dress\nbeautiful dusk\nbeautiful dusk sky\nbeautiful dynamic\nbeautiful dynamic dramatic\nbeautiful dynamic lighting\nbeautiful dynamic shadows\nbeautiful eden garden\nbeautiful elegant demon queen\nbeautiful elegant dryad\nbeautiful elf with ornate robes\nbeautiful elf with violet skin\nbeautiful elsa\nbeautiful elven princess\nbeautiful english countryside\nbeautiful english garden\nbeautiful environment\nbeautiful epic vista\nbeautiful equations\nbeautiful evil sneer\nbeautiful eye\nbeautiful eyes\nbeautiful eyes and face\nbeautiful eyes medium shot\nbeautiful eyes!\nbeautiful eyes!!\nbeautiful eyes. symmetry\nbeautiful face\nbeautiful face + symmetry face\nbeautiful face and flawless skin\nbeautiful face detail\nbeautiful face portrait\nbeautiful face woman\nbeautiful face!\nbeautiful face!!\nbeautiful face!!!!\nbeautiful faces\nbeautiful faces aesthetic\nbeautiful facial features\nbeautiful facial symmetry\nbeautiful faery sorceress\nbeautiful fairie\nbeautiful fairies\nbeautiful fairy\nbeautiful fantasy\nbeautiful fantasy anime\nbeautiful fantasy art\nbeautiful fantasy art portrait\nbeautiful fantasy cave scene\nbeautiful fantasy maiden\nbeautiful fantasy painting\nbeautiful fantasy portrait\nbeautiful fashion model body\nbeautiful feather\nbeautiful feathers\nbeautiful features\nbeautiful female\nbeautiful female android\nbeautiful female android!\nbeautiful female angel\nbeautiful female assassin\nbeautiful female body silhouette\nbeautiful female cyborg\nbeautiful female dorothy gale\nbeautiful female druid\nbeautiful female face\nbeautiful female gorgon\nbeautiful female knight\nbeautiful female model\nbeautiful female model standing\nbeautiful female neuromancer\nbeautiful female portrait\nbeautiful female princess\nbeautiful female punk\nbeautiful female soldier\nbeautiful female sorceress\nbeautiful female vampire\nbeautiful female warrior\nbeautiful female white\nbeautiful female wicked witch\nbeautiful female witch\nbeautiful female wizard\nbeautiful feminine body\nbeautiful feminine face\nbeautiful figure\nbeautiful fine - face\nbeautiful fine face features\nbeautiful fire\nbeautiful flower\nbeautiful flowers\nbeautiful flowers and crystals\nbeautiful flowers growing\nbeautiful flowing fabric\nbeautiful flowing feeling\nbeautiful flowing hair\nbeautiful forest\nbeautiful forest scenery\nbeautiful forests and trees\nbeautiful fractal ice background\nbeautiful frames\nbeautiful frankenstein\nbeautiful frog\nbeautiful full body concept art\nbeautiful full body shot\nbeautiful full face\nbeautiful futuristic hair style\nbeautiful futuristic himba woman\nbeautiful futuristic new delhi\nbeautiful galaxy\nbeautiful garden\nbeautiful garden on background\nbeautiful gazing eyes\nbeautiful gemini good and evil\nbeautiful gemini twins\nbeautiful gemini twins portrait\nbeautiful genie girl\nbeautiful girl\nbeautiful girl in an empty room\nbeautiful girl model\nbeautiful girl necromancer\nbeautiful girl on the horizon\nbeautiful girl portrait\nbeautiful girlfriend\nbeautiful girls\nbeautiful glass work\nbeautiful glitch art dream\nbeautiful glowing backlit\nbeautiful glowing eyes\nbeautiful glowing galaxy eyes\nbeautiful glowing lights\nbeautiful goddess\nbeautiful godrays\nbeautiful gold saint\nbeautiful gorgeous\nbeautiful gorgeous digital art\nbeautiful gothic xray angel\nbeautiful gown\nbeautiful gradients\nbeautiful graphics\nbeautiful green eyes\nbeautiful green liquid\nbeautiful grumpy girl\nbeautiful hair\nbeautiful hairy\nbeautiful hairy humanoids\nbeautiful hands\nbeautiful handsome body\nbeautiful hd\nbeautiful head\nbeautiful helms deep\nbeautiful high contrast woodcut\nbeautiful high detail photo\nbeautiful high resolution\nbeautiful highly detailed face\nbeautiful highly symmetric face\nbeautiful highly symmetric faces\nbeautiful himalayan woman\nbeautiful horse\nbeautiful house on a forest path\nbeautiful huge eyes\nbeautiful hyperdetailed\nbeautiful illumination\nbeautiful illustration\nbeautiful image\nbeautiful image ever created\nbeautiful inking lines\nbeautiful insanely detailed\nbeautiful interior\nbeautiful intricate face\nbeautiful intricate glass bottle\nbeautiful intricate masterpiece\nbeautiful intricate oil painting\nbeautiful intricate painting\nbeautiful intricately detailed\nbeautiful iphone wallpaper\nbeautiful iranian woman\nbeautiful iridescent colors\nbeautiful isometric garden\nbeautiful italian beach scene\nbeautiful iwakura\nbeautiful japanese girls face\nbeautiful jewish woman\nbeautiful juicy brush strokes\nbeautiful jungle\nbeautiful jungle landscape\nbeautiful kat dennings\nbeautiful kawaii lighting\nbeautiful labels\nbeautiful lady\nbeautiful lady with bunny ears\nbeautiful lake\nbeautiful lake background\nbeautiful lake in the foreground\nbeautiful landscape\nbeautiful landscape background\nbeautiful landscape bokeh\nbeautiful large flowers\nbeautiful late afternoon\nbeautiful lava landscape\nbeautiful leg\nbeautiful legs\nbeautiful light\nbeautiful light and shadows\nbeautiful light big eyes\nbeautiful light rays\nbeautiful lighting\nbeautiful lighting composition\nbeautiful lighting effects\nbeautiful lighting uhd\nbeautiful lightness\nbeautiful lightning\nbeautiful lights\nbeautiful line art\nbeautiful lines\nbeautiful lips\nbeautiful lit\nbeautiful lit lamps\nbeautiful little girl\nbeautiful lonely girl\nbeautiful long brown hair\nbeautiful long fire hair\nbeautiful long white dress\nbeautiful long white hair\nbeautiful look\nbeautiful low light\nbeautiful lush colors\nbeautiful macro close-up imagery\nbeautiful macro photography\nbeautiful magical palm beach\nbeautiful maiden\nbeautiful makeup\nbeautiful male drow\nbeautiful male elf\nbeautiful male face\nbeautiful male god of death\nbeautiful male twins portrait\nbeautiful man\nbeautiful masterpiece\nbeautiful matte painting\nbeautiful mattepainting\nbeautiful mature color palette\nbeautiful mermaid\nbeautiful mexican woman\nbeautiful midriff\nbeautiful misty wood\nbeautiful model\nbeautiful model girl\nbeautiful modern colors\nbeautiful moon light\nbeautiful moonlight\nbeautiful moonlight night\nbeautiful moorish ornament\nbeautiful moorish tiles\nbeautiful morning\nbeautiful moths\nbeautiful mountains\nbeautiful mountains behind\nbeautiful mouse - girl\nbeautiful muscular body\nbeautiful muse\nbeautiful natural background\nbeautiful natural backlight\nbeautiful natural forms\nbeautiful natural light\nbeautiful natural lighting\nbeautiful natural lights\nbeautiful natural rim light\nbeautiful natural skin\nbeautiful natural soft light\nbeautiful natural soft rim light\nbeautiful nature\nbeautiful necromancer\nbeautiful necromancer girl\nbeautiful neon cats\nbeautiful new mexico landscape\nbeautiful new mexico sunset\nbeautiful night sky\nbeautiful nordic woman\nbeautiful ocean\nbeautiful octane lighting\nbeautiful octane render\nbeautiful octopus woman\nbeautiful oil matte painting\nbeautiful oil painting\nbeautiful oil painting on canvas\nbeautiful opalescent colours\nbeautiful open eyes\nbeautiful opened wings\nbeautiful oriental woman\nbeautiful ornated details\nbeautiful oval face\nbeautiful oval shape face\nbeautiful painting\nbeautiful painting of a tall\nbeautiful painting of friends\nbeautiful pale makeup\nbeautiful panoramic imagery\nbeautiful people\nbeautiful perfect face\nbeautiful perfectly detailed\nbeautiful photo\nbeautiful photograph\nbeautiful photography\nbeautiful photorealistic imagery\nbeautiful picture of stray\nbeautiful piercing eyes\nbeautiful pine tree landscape\nbeautiful pink little alien girl\nbeautiful pink little girl\nbeautiful place\nbeautiful plans\nbeautiful plants\nbeautiful polaroid photo\nbeautiful portrait\nbeautiful portrait image\nbeautiful portrait lighting\nbeautiful portrait of a hopeless\nbeautiful portrait of a woman\nbeautiful portrait of nami\nbeautiful portrait oil painting\nbeautiful portrait photo\nbeautiful portraits\nbeautiful pose\nbeautiful precise face and body\nbeautiful pretty young\nbeautiful princess\nbeautiful queen\nbeautiful raking sunlight\nbeautiful random images\nbeautiful raw jasper\nbeautiful realistic face\nbeautiful realistic painting\nbeautiful realistic photo\nbeautiful realistic upper body\nbeautiful redhead woman\nbeautiful reflections\nbeautiful reflexions\nbeautiful rembrandt light\nbeautiful render\nbeautiful render of a fairytale\nbeautiful render of a landscape\nbeautiful render of tang dynasty\nbeautiful rendered\nbeautiful rendering\nbeautiful retro art\nbeautiful rim lighting\nbeautiful robot character design\nbeautiful rogue lady\nbeautiful round face\nbeautiful rtx reflections\nbeautiful russia of the future\nbeautiful scary female vampire\nbeautiful scene\nbeautiful scenery\nbeautiful scenic landscape\nbeautiful scenic view\nbeautiful sci - fi twins\nbeautiful sci fi art\nbeautiful screenshot\nbeautiful sculpted details\nbeautiful sculptured face\nbeautiful sea landscapes\nbeautiful serene hobbiton\nbeautiful serene horse\nbeautiful serene landscape\nbeautiful setting\nbeautiful sexy woman photo\nbeautiful shades\nbeautiful shading\nbeautiful shadowing\nbeautiful shadows\nbeautiful shape of face and body\nbeautiful shapes\nbeautiful short skirt\nbeautiful shot\nbeautiful silky dress\nbeautiful singularities\nbeautiful sinister features\nbeautiful skin\nbeautiful sky\nbeautiful sky and clouds\nbeautiful sky with cumulus couds\nbeautiful slim legs\nbeautiful small town\nbeautiful smile\nbeautiful smiling face\nbeautiful smooth oval head\nbeautiful smooth oval shape face\nbeautiful snowy landscape\nbeautiful soft light\nbeautiful soft lighting\nbeautiful soft silky dress\nbeautiful sorceress\nbeautiful sorceress female\nbeautiful south korean woman\nbeautiful space\nbeautiful space star planet\nbeautiful space star planet neon\nbeautiful spectrum of vibrancy\nbeautiful stained glass window\nbeautiful stars\nbeautiful stella maeve magician\nbeautiful studio face\nbeautiful studio lighting\nbeautiful studio lights\nbeautiful studio soft light\nbeautiful stunning waterfall\nbeautiful succubus\nbeautiful summer landscape\nbeautiful sunflower anime girl\nbeautiful sunlight and shadows\nbeautiful sunny day\nbeautiful sunrise\nbeautiful sunrise lighting\nbeautiful sunset\nbeautiful sunset glow\nbeautiful sunset lighting\nbeautiful surreal pistol\nbeautiful surreal portrait\nbeautiful surroundings\nbeautiful swedish forest view\nbeautiful sword\nbeautiful symmetric\nbeautiful symmetric body\nbeautiful symmetric face\nbeautiful symmetrical eyes\nbeautiful symmetrical face\nbeautiful symmetrical faces\nbeautiful symmetrical features\nbeautiful taissa farmiga\nbeautiful tan mexican woman\nbeautiful terrace\nbeautiful texture\nbeautiful thick female\nbeautiful tilework\nbeautiful tornado\nbeautiful tranquil day\nbeautiful trees\nbeautiful tropical flowers\nbeautiful tropical island beach\nbeautiful upper body\nbeautiful vampire female queen\nbeautiful vampire queen\nbeautiful vibrant colors\nbeautiful view\nbeautiful views\nbeautiful violet eyes\nbeautiful vistas with cacti\nbeautiful visuals\nbeautiful volumetric light\nbeautiful volumetric lighting\nbeautiful wallpaper\nbeautiful water\nbeautiful waterfall\nbeautiful waves in sea\nbeautiful weather\nbeautiful wedding dress\nbeautiful well rounded face\nbeautiful white glowing eyes\nbeautiful white lighting\nbeautiful white teeth\nbeautiful winter area\nbeautiful witch female\nbeautiful witch spooky female\nbeautiful witch with long hair\nbeautiful with eerie vibes\nbeautiful wizard\nbeautiful woman\nbeautiful woman body\nbeautiful woman face\nbeautiful woman in a black dress\nbeautiful woman in spacesuit\nbeautiful woman portrait\nbeautiful woman with blue hair\nbeautiful woman with long hair\nbeautiful women\nbeautiful wood elf\nbeautiful wooden frame\nbeautiful yellow woman\nbeautiful young asian woman\nbeautiful young catgirl\nbeautiful young face\nbeautiful young female shaman\nbeautiful young girl\nbeautiful young himalayan woman\nbeautiful young korean woman\nbeautiful young man\nbeautiful young ornella muti\nbeautiful young prince\nbeautiful young wind spirit\nbeautiful young woman\nbeautiful zombie\nbeautiful!\nbeautiful! coherent!\nbeautiful!!\nbeautiful!!!\nbeautiful!!! digital art\nbeautiful!!!! museum photo\nbeautiful!!!!!!!!!\nbeautiful!!!!!!!!!!!!\nbeautifulcoherent\nbeautifull\nbeautifull cyberpunk woman model\nbeautifull eyes\nbeautifull lovely eyes\nbeautifull puffy clouds. anime\nbeautifully\nbeautifully backlit\nbeautifully bright white\nbeautifully composed\nbeautifully daylight\nbeautifully designed character\nbeautifully detailed\nbeautifully detailed render\nbeautifully disturbing\nbeautifully dithered gradients\nbeautifully drawn\nbeautifully framed\nbeautifully illustrated\nbeautifully infected\nbeautifully lit\nbeautifully lit buildings\nbeautifully lit landscape\nbeautifully ordinated\nbeautifully painted\nbeautifully rendered\nbeautifully soft lit\nbeautifully symmetrical\nbeautiful”\nbeautify\nbeauttiful stars\nbeauty\nbeauty and the beast\nbeauty art nouveau woman\nbeauty blade runner woman\nbeauty campaign\nbeauty dish\nbeauty expressive pose\nbeauty filter\nbeauty fog\nbeauty geisha\nbeauty girl\nbeauty is a virus\nbeauty mark on cheek\nbeauty portrait\nbeauty retouch\nbeauty shot\nbeauty woman\nbeauty woman in holograms\nbeauty woman with detailed faces\nbeaver\nbeavis and butthead\nbecautiful face\nbeckinsale\nbecome human\nbed\nbed is not made\nbed of flowers on floor\nbed on the right\nbed room\nbedazzled\nbedazzled fruit costumes\nbedhead\nbedroom\nbedroom background\nbedroom eyes\nbedroom full of fire\nbedroom in studio ghibli\nbedroom interior\nbeds\nbeds of shadows\nbee\nbee hummingbird\nbee movie\nbeef\nbeefcake pose\nbeefy\nbeehive interior backgrounds\nbeeing happy\nbeeple\nbeeple and alphonse mucha\nbeeple and greg rutkowski\nbeeple and james jean\nbeeple and jean giraud\nbeeple and jeremiah ketner\nbeeple and mike winkelmann\nbeeple and tim hildebrandt\nbeeple art\nbeeple artwork\nbeeple colors\nbeeple daily art\nbeeple global illumination\nbeeple masterpiece\nbeeple rendering\nbeeple style\nbeeple |\nbeeple!!\nbeeple. hyperrealism\nbeeple. octane render\nbeer\nbeer advertisement\nbeer being drank and spilled\nbeer bottle\nbeer bottles\nbeer glasses\nbeer in hand\nbeer logo\nbeer mug in hand\nbeers on the table\nbees\nbees covering whole body\nbees flying\nbeethoven\nbeethoven playing piano\nbeetle\nbeetle-inspired\nbeetlejuice\nbeetles\nbeetles running through the moss\nbeets\nbefore a stucco wall\nbefore and after\nbefore dawn\nbefore the big bang\nbefore the final culling\nbefore you know it\nbegging\nbegging for alms\nbeginner\nbeginner art\nbeginning of autumn\nbehaelterverfolgung\nbehance 3d\nbehance art\nbehance award winner\nbehance favourite\nbehance hd\nbehance lemanoosh\nbehance. high detail\nbehance. polished\nbehance.net\nbehavior\nbehemoth\nbehind\nbehind a forest\nbehind a tiny village\nbehind bar deck with bear mugs\nbehind bars\nbehind her a gothic cathedral\nbehind her is a scary atmosphere\nbehind red curtains\nbehind that turquoise mountains\nbehind the scenes\nbehind the scenes photo\nbehind the scenes photography\nbehind the wall\nbehold\nbeholder\nbehrens style\nbeige\nbeige and dark atmosphere\nbeige and gold tones\nbeige background\nbeige color scheme\nbeige colors\nbeige cream natural muted tones\nbeige fedora\nbeige hair\nbeige hoodie\nbeige mist\nbeige sky pencil marks\nbeiges\nbeijing\nbeing a great\nbeing briefed on the clone wars\nbeing delighted and cheerful\nbeing mixed\nbeing-in-itself\nbeings of astonishing structure\nbeings of light technology\nbeistle halloween decor\nbejeweled\nbejeweled beautiful watch\nbejewelled and encrusted royalty\nbekinski\nbeksinki\nbeksinksi\nbeksinkski\nbeksinski\nbeksinski and alex gray\nbeksinski and dan mumford\nbeksinski art\nbeksinski impasto painting\nbeksinski masterpiece\nbeksinski paintin\nbeksinski painting\nbeksinski style\nbeksinski style painting\nbeksinski ”\nbeksinsky\nbeksisnski\nbeksiński\nbeksiński and james jean\nbekskinski\nbekzinski\nbelaying\nbelgium\nbella\nbella hadid\nbella poarch\nbella ragazza\nbella thorne\nbella thorne and megan fox\nbelle\nbelle delphine\nbelle epoque\nbellowing dust\nbells\nbelly\nbelly button showing\nbelly dancing\nbelly exposed\nbelly free\nbelly free teal dress\nbellybutton\nbelongings strewn about\nbelow is the crowd\nbelow only cloud dark void\nbelsinski\nbelt\nbelts\nbelts & velcro galore\nbelzinski\nben - day\nben - day dots\nben affleck\nben aronson 1950\nben askren\nben folds portrait\nben garrison comic\nben hur\nben lo\nben maier and sakimichan\nben mauro\nben nicholas\nben ridgeway\nben ridgway\nben shapiro\nben shapiro as the joker\nben watts\nbench\nbenches\nbend over posture\nbended forward\nbender\nbender from futurama\nbending down slightly\nbending over\nbending poses\nbendover posture\nbeneath the stars\nbenedick bana\nbenedict cumberbatch\nbenedict cumberbatch as iron man\nbenedict cumberbatch as thanos\nbenefit of all\nbenevolence\nbenevolent\nbenevolent android necromancer\nbenevolent cyborg necromancer\nbengus\nbenign and numinous\nbenjamin lacombe\nbenjamin netanyahu\nbenjamin netanyahu skydiving\nbenjamin vnuk\nbenoit b\nbenoit mandelbrot\nbent - over posture\nbent over\nbent over posture\nbent rusted iron\nbentley\nbentonville arkansas\nberberic clothes\nbereal\nberenice abbott & john j. park\nberenice abbott john j. park\nberet and sunglasses\nberets\nbergey\nberghain\nberkerk\nberkey\nberkey john\nberlin\nberlin 1 9 4 5\nberlin 1 9 8 2\nberlin 1945\nberlin 1982\nberlin city\nberlin fashion\nberlin park\nbernard dumaine\nbernd and hilla becher\nberne hogarth\nbernie\nbernie fuchs\nbernie goes to vegas\nbernie sanders\nbernini\nberries\nberries decoration on the dress\nberries dripping\nberries dripping juice\nberries inside structure\nberry juice\nberry juice dripping\nberry juice drips\nberserk\nberserk art style\nberserk blood\nberserk guts\nberserk manga\nberserk skullknight black armor\nberserk style\nberserker\nberserker potrait\nberthold woltze\nbeside a river\nbeside the river\nbeside the sea\nbesinski style\nbeskinski\nbespoke\nbest\nbest ai image\nbest algorithm\nbest anime 4k konachan wallpaper\nbest anime character design\nbest artist\nbest book cover design\nbest chef\nbest color graded\nbest composition\nbest friends\nbest fries\nbest graphics\nbest jumpscare scene\nbest lense\nbest light\nbest lighting\nbest logo\nbest mayonnaise\nbest of\nbest of art station\nbest of artstation\nbest of behance\nbest of retail\nbest on adobe stock\nbest on cgsociety\nbest on wlop\nbest painter in the world\nbest photo\nbest photo award\nbest photography of 2 0 2 1\nbest photography of 2021\nbest photos of all times\nbest photos of the year\nbest practice\nbest practices\nbest quality\nbest scene\nbest seller\nbest selling\nbest selling artist\nbest shadow quality\nbest shot\nbest weather\nbestselling movie art poster\nbestselling movie poster\nbet face\nbeta male\nbeta weak male\nbeth cavener\nbeth harmon\nbethesda\nbeto val\nbetraying eden\nbetta fish\nbetter call saul\nbetter call saul scene 1 0 8 0 p\nbetter homes and gardens\nbetter known as amouranth\nbetty boop\nbetty cooper\nbetty la fea\nbetty page\nbetty page fringe\nbetty white\nbetula pendula\nbetween heaven and hell\nbetween sedimentary deposits\nbetween two chairs over a toilet\nbeuatiful face\nbeuteful\nbeutiful\nbeutiful face\nbeutiful girl cyborg\nbeutiful white girl cyborg\nbeutiful!\nbeutifull\nbeveled edges\nbeware the ides of march\nbeware the jabberwock\nbeware the jubjub bird\nbewitched\nbewitching\nbeyonce\nbeyonce as the pope\nbeyonce as wonder woman\nbeyonce giving a concert\nbeyonce photoshoot\nbeyond reproach\nbeyond the horizon\nbeyond the known universe\nbeyond the mirror\nbeyond the physical realm\nbeyond the rules of physics\nbeyond time\nbeyond visible light\nbezier curve\nbfmtv\nbhare\nbhut jolokia\nbhutan\nbian lian\nbian luan\nbib bang\nbible\nbible illustration\nbiblical\nbiblical accurate angel\nbiblical art\nbiblical art lighting\nbiblical art style\nbiblical clothing\nbiblical epic movie\nbiblical female android\nbiblical image\nbiblical painting\nbiblically accurate\nbiblically accurate angel\nbiblically accurate angels\nbiblically acurate angel\nbicycle\nbicycle in background\nbicycles\nbiden\nbiedermeier\nbiennale\nbierstadt\nbig\nbig afro\nbig and small\nbig and structured valhalla city\nbig angel wings on back\nbig angel wings wide open\nbig anime eyes\nbig aquarium\nbig arches in the back\nbig arms\nbig bad\nbig bad wolf\nbig bang\nbig bass fishing\nbig beak\nbig bear lake california\nbig beard\nbig beautiful blue eyes\nbig beautiful street lamps\nbig bee\nbig belly\nbig belt\nbig ben\nbig ben on the moon\nbig biceps\nbig bird from sesame street\nbig black eyes\nbig blonde hair\nbig blue eyes\nbig blue sky\nbig bold thick eyebrows\nbig booster rocket engines\nbig booty\nbig boss\nbig brain\nbig breasts\nbig breasts!\nbig breasts!!\nbig brother\nbig brother is watching you\nbig brown eyes\nbig brown fringe\nbig brush\nbig brutalist base\nbig budget horror\nbig budget horror movie\nbig budget horror movie scene\nbig budget movie\nbig budget movie scene\nbig buildings\nbig bust\nbig butcher man posing scarily\nbig canvas art\nbig castle ruin\nbig cat\nbig cat eyes\nbig chandelier\nbig cheekbones\nbig cheeks\nbig cheeks holding her cat\nbig cheeks!\nbig chest\nbig chin\nbig chungus\nbig chungus as elden ring boss\nbig chungus boss\nbig chungus meme\nbig city\nbig claws\nbig clear eyes\nbig clock\nbig clouds\nbig clouds visible\nbig collar\nbig complex belly mechanism\nbig computer\nbig crowd\nbig crown adorned with emerald\nbig cumulonimbus clouds\nbig cute eyes\nbig dark caverns\nbig depth of field\nbig desk\nbig detailed eyes\nbig details\nbig disc of planet\nbig disney eyes\nbig drops of sweat\nbig earrings\nbig ears\nbig engine\nbig evil city\nbig evil grin\nbig explosion\nbig explosion on the background\nbig eye\nbig eyebrows\nbig eyes\nbig eyes and lips\nbig eyes with eyelashes\nbig eyes!!!!!!!!\nbig feet\nbig film production\nbig flames\nbig floppa\nbig flowing hair\nbig foot\nbig forehead\nbig french door window\nbig full moon\nbig gash on face\nbig ghetto blaster\nbig glass eyes\nbig glasses\nbig glowing eyes\nbig glowing netflix logo behind\nbig gold eyes\nbig googles over her head\nbig graphic seiner ship\nbig graveyard gravestones\nbig green eyes\nbig green tree\nbig green trees\nbig grey blue eyes\nbig guns\nbig hair\nbig hall\nbig hammer\nbig hands\nbig hazel nut brown eyes\nbig head\nbig head on stage\nbig heads\nbig hero 6\nbig hooped earrings\nbig horn\nbig horns\nbig human faces everywhere\nbig impact hit on the building\nbig intelligent eyes\nbig interior plants\nbig island\nbig juicy burger\nbig juicy lips\nbig leaf bra\nbig leaves\nbig leaves and large dragonflies\nbig leaves and stems\nbig leaves foliage and stems\nbig lilies\nbig lips\nbig lizard head\nbig long cloth on the wind\nbig long hell serpent octopus\nbig macs\nbig man\nbig mecha\nbig medium small\nbig mirrors\nbig moe\nbig monocular\nbig monster\nbig moon\nbig moon above the water\nbig moon and stars in the sky\nbig moon in background\nbig moon in the background\nbig moon on the right\nbig moon radius\nbig moths\nbig moustache\nbig mouth\nbig muscle\nbig muscles\nbig mustache\nbig natural horns on her head\nbig nebula as clover\nbig nose\nbig nostrils\nbig oak trees\nbig oaks\nbig oatmeal\nbig open book\nbig open electric eyes\nbig open floor\nbig open floor 8 k\nbig open floor 8k\nbig open green eyes\nbig opened book\nbig overcast\nbig pear-shaped head\nbig piercing eyes\nbig pink eyes\nbig pink sphere high in the sky\nbig planet on background\nbig pods\nbig poor building\nbig production\nbig puffy clouds\nbig puffy lips\nbig red afro\nbig red dragon flying above them\nbig red eyes\nbig red lips\nbig red sun\nbig ribbon\nbig robot hand\nbig rocks\nbig room\nbig round cute eyes\nbig round glasses\nbig round nose\nbig round nose closed lips\nbig scale\nbig scars\nbig scene\nbig seductive eyes\nbig shadows\nbig sharp rock\nbig sharp teeth\nbig shiny eyes\nbig shoulder polster\nbig shoulders\nbig shovel\nbig sister\nbig size\nbig sky\nbig smile\nbig smile on her face\nbig smile white teeth\nbig smirk\nbig smoke clouds visible\nbig snake\nbig snakes heads\nbig snakes heads with open mouth\nbig sparkly eyes\nbig spatious room\nbig spider\nbig splash\nbig stomach\nbig storm clouds\nbig strokes\nbig sunglasses\nbig sword\nbig symmetrical eyes of bjork\nbig symmetrical scar features\nbig tech art style\nbig tech corporate art design\nbig teeth\nbig teeth smiling monster\nbig telescope in front\nbig tentacle sneak around\nbig titan creature in the center\nbig toad\nbig top circus tent\nbig towers\nbig train in space\nbig tree\nbig trees\nbig trouble in little china\nbig turtle shell\nbig two toned eyes\nbig video statues\nbig wave\nbig wave and foam\nbig wave surfing\nbig waves\nbig weird spaceship\nbig white glowing wings\nbig white moon background\nbig whitened hair\nbig wide broad strong physique\nbig wide broad strong physique |\nbig window\nbig windows\nbig wings\nbig wooden club\nbig!!!!!!!!!!!!\nbigfoot\nbigfoot wearing sunglasses\nbigger chin\nbigger forehead\nbigger than galaxy\nbigger than the size of a planet\nbiggish nose\nbigstudiovfx\nbiker\nbikini\nbikini + tattered military gear\nbikini armor\nbikini armor female knight\nbikini armour\nbikini model\nbikini-armor\nbikini. background of hell. gore\nbilateral symmetry\nbilaterally symmetrical\nbill clinton\nbill dauterive\nbill gates\nbill gates full body portrait\nbill gates in overwatch\nbill gold\nbill henson\nbill lowe gallery\nbill murray\nbill nye as james bond\nbill nye the science guy\nbill rizer\nbill sienckiwicz\nbill stoneham\nbillboard\nbillboard image\nbillboards\nbillelis\nbillie eilish\nbillie eilish as a nun\nbillie eilish as a sad nun\nbillie eilish as female loki\nbillie eilish as loki\nbillie eilish portrait\nbillions of details\nbillowing clouds\nbillowing smoke\nbillowing steam and smoke\nbillowy\nbilly butcher\nbilly christian\nbilly corgan\nbilly mays hosting jeopardy\nbilly wilder\nbilquis evely\nbinary\nbinary sunset\nbinding of isaac\nbingus\nbinkley\nbinoculars\nbio\nbio - chemical\nbio - luminescence\nbio - luminescent\nbio - mech face\nbio - mechanical\nbio - mechanical intelligences\nbio - mechanical ninja samurai\nbio chemical illustration\nbio factory\nbio luminescent\nbio mechanical\nbio-chemical\nbio-futurism\nbio-inspired\nbio-inspired design\nbio-luminescence\nbio-mechanical\nbio-mechanical bio-luminescence\nbioart\nbiodiversity\nbiodiversity all round\nbiodiversity heritage library\nbiodome\nbiohacking\nbiohazard\nbiologic hr giger style\nbiological\nbiological armor\nbiological forms\nbiological human face\nbiological illustrations\nbiological photo\nbiology\nbiology textbook page\nbioluminescence\nbioluminescense\nbioluminescent\nbioluminescent atmosphere\nbioluminescent chrometype\nbioluminescent colors\nbioluminescent cyber - garden\nbioluminescent forest floor\nbioluminescent glow\nbioluminescent hypercubes\nbioluminescent jellyfish\nbioluminescent lighting\nbioluminescent mushrooms\nbioluminescent opal\nbioluminescent orbs\nbioluminescent plants\nbioluminescent skin\nbioluminescent skin!\nbioluminescent surfaces\nbioluminescent waterfall\nbioluminiscence\nbioluminiscent\nbioluminiscent creature\nbioluminiscent creatures\nbioluminiscent fireflies\nbiolusence\nbiomachine war against humanity\nbiomaterial\nbiomech\nbiomechanic\nbiomechanical\nbiomechanical and intricate\nbiomechanical armor\nbiomechanical bodysuit\nbiomechanical corals\nbiomechanical cyborg\nbiomechanical details\nbiomechanical dress\nbiomechanical elements\nbiomechanical fluid\nbiomechanical gaia\nbiomechanical garment\nbiomechanical open chewing mouth\nbiomechanical oppai\nbiomechanical pattern\nbiomechanical railroad\nbiomechanical sculpture\nbiomechanical xenomorph\nbiomechanical xray\nbiomechanics\nbiomechanoid\nbiometric humanoid robot\nbiomimetic\nbiomorphic\nbiomutant\nbionic\nbionic armor\nbionic arms and eyes\nbionic cyborg implants\nbionic exploded drawing\nbionic implants\nbionic scifi alexandre ferra\nbionicle\nbionics\nbioorganic concept\nbiophilia\nbiophilia mood\nbiopic\nbiopods\nbiopunk\nbiopunk armor\nbiopunk art\nbiopunk clothes\nbiopunk cyborg wasp\nbiopunk environment\nbiopunk futuristic wardrobe\nbiopunk knight\nbiopunk style\nbiopunk suit\nbiopunk toys made in china\nbioremediation\nbios chip\nbioshock\nbioshock art style\nbioshock big daddy\nbioshock concept art\nbioshock infinite\nbioshock infinite art style\nbioshock infinite style\nbioshock pop art\nbioshock pop art style\nbioshock screenshot\nbioshock style\nbiotech\nbiotechnology\nbioware\nbip bippadotta\nbiped\nbipedal\nbiplanes\nbiplanes flying\nbipolar\nbirb\nbirch\nbirch forest clearing\nbirch swamp\nbirch trees\nbirches\nbird\nbird - eye view\nbird eye view\nbird feathers\nbird flocks\nbird flocks!!\nbird flying out of water\nbird head\nbird legs\nbird mask\nbird nightingale as subject\nbird on his shoulder\nbird poo on head\nbird sight\nbird tattoo\nbird view\nbird wings\nbird's - eye view\nbird's eye\nbird's eye overhead shot\nbird's eye view\nbird's eye view of a city\nbird's view\nbird's-eye view\nbird\\'s eye view\nbirdeye\nbirds\nbirds - eye view\nbirds and butterflies\nbirds and trees\nbirds are all over the ground\nbirds eye\nbirds eye overhead perspective\nbirds eye overhead shot\nbirds eye photograph\nbirds eye view\nbirds f cgsociety\nbirds flying\nbirds flying away\nbirds flying away from explosion\nbirds flying in the distance\nbirds flying in the sunlight\nbirds in flight\nbirds in the distance\nbirds in the sky\nbirds in the sunlight\nbirds of paradise\nbirds on cherry tree\nbirds on sky\nbirds overhead\nbirds-eye view\nbirdseye view\nbirkenstock sandals\nbiroremediation\nbiroremediation plant\nbirth\nbirth and death\nbirth of the universe\nbirth of venus\nbirthday\nbirthday cake\nbirthday cake on the ground\nbirthday card\nbirthday painting\nbirthday party\nbirthday wrapped presents\nbisexual lighting\nbishounen\nbisley\nbismuth\nbismuth art\nbismuth beautiful well designed\nbismuth cups\nbismuth metal\nbismuth rainbow metal\nbison god\nbispo do rosario\nbisti badlands\nbitches brew\nbitcoin\nbitcoin evil\nbite\nbite her lip\nbiting\nbiting lip\nbitmap\nbits of broken light\nbitter\nbittersweet\nbixbite\nbizarre\nbizarre alien creature\nbizarre compositions\nbizarrrrre\nbizzare\nbizzare adventures of jojo\nbizzare color pallete\nbizzare landscape\nbizzaro\nbjarke ingels\nbjd\nbjork\nbjork aesthetic\nbjork smiling\nbjörk\nbjørn\nbjørn skalldrasson\nbl\nblack\nblack & white\nblack & white art\nblack & white photo\nblack & white photograph\nblack + white\nblack - and - white photograph\nblack - and - white photography\nblack - haired mage\nblack 3 d cuboid device\nblack 3d cuboid device\nblack aarakocra eagle warlord\nblack african princess\nblack ambient background\nblack an white\nblack and aqua colors\nblack and auburn colour pallet\nblack and blue\nblack and blue and gold jewelry\nblack and blue and purple scheme\nblack and blue color scheme\nblack and blue eyes\nblack and blue scheme\nblack and brown\nblack and brown colors\nblack and cyan color scheme\nblack and gold\nblack and gold armor\nblack and gold colors\nblack and gold palette\nblack and gold rich color\nblack and gold wires\nblack and golden armor\nblack and green\nblack and green eyes\nblack and green scheme\nblack and grey\nblack and grey tattoo style\nblack and orange\nblack and orange coat\nblack and orange colour palette\nblack and pink dress\nblack and purple\nblack and purple hair\nblack and purple rose petals\nblack and red\nblack and red armor\nblack and red background\nblack and red color scheme\nblack and red colors\nblack and red colour palette\nblack and red dress\nblack and red fantasy sword\nblack and red hair\nblack and red hair hair\nblack and red jacket\nblack and red only\nblack and red only!!!\nblack and red reflected armor\nblack and red scheme\nblack and red silk clothing\nblack and red suit\nblack and red tones\nblack and red tuxedo\nblack and reddis\nblack and reddish color armor\nblack and silver\nblack and teal paper\nblack and terracotta\nblack and violet costume\nblack and white\nblack and white and gold”\nblack and white and red\nblack and white and red colors\nblack and white artistic photo\nblack and white artwork\nblack and white background\nblack and white cat\nblack and white charcoal sketch\nblack and white checkered floor\nblack and white cinematography\nblack and white clothes\nblack and white color\nblack and white color aesthetic\nblack and white color only\nblack and white color palette\nblack and white color photograph\nblack and white color scheme\nblack and white color scheme!!!\nblack and white coloring\nblack and white colors\nblack and white detailed sketch\nblack and white drawing\nblack and white engraving\nblack and white film\nblack and white film grain\nblack and white film photograph\nblack and white film photography\nblack and white filter\nblack and white fur\nblack and white gainy film\nblack and white grainy film\nblack and white graphite drawing\nblack and white hair\nblack and white illustration\nblack and white image\nblack and white ink\nblack and white ink '\nblack and white ink on paper\nblack and white ink style\nblack and white line art\nblack and white logo\nblack and white manga\nblack and white manga comic\nblack and white manga page\nblack and white manga panel\nblack and white manga style\nblack and white matte painting\nblack and white monochrome\nblack and white old photo\nblack and white old photograph\nblack and white only\nblack and white paint\nblack and white painting\nblack and white palette\nblack and white photo\nblack and white photo.iso200\nblack and white photograph\nblack and white photography\nblack and white picture\nblack and white polaroid\nblack and white portrait\nblack and white press photograph\nblack and white scheme\nblack and white sketch\nblack and white spots\nblack and white style\nblack and white tattoo\nblack and white television still\nblack and white tones\nblack and white vector\nblack and white vector art\nblack and white vintage photo\nblack and white watercolor\nblack and white with hearts\nblack and white with mixed noise\nblack and white with red hearts\nblack and white zig zag floor\nblack and white)\nblack and white. high contrast\nblack and whitehighly detailed\nblack and white”\nblack and yellow\nblack and yellow and red scheme\nblack and yellow color scheme\nblack and yellow colors\nblack and yellow scheme\nblack and yellow tracksuit\nblack angel wings\nblack anime manga girl\nblack anime pupils in her eyes\nblack armchair\nblack armor\nblack armor with yellow accents\nblack armored uniform\nblack armour\nblack art\nblack atmospheric background\nblack backdrop\nblack backdrop!\nblack background\nblack background hyperrealism\nblack background pinterest\nblack background with stars\nblack background!!!!!\nblack background)\nblack backgrounds\nblack backround. inkscape\nblack ball pen on white paper\nblack bandage on arms\nblack bandana mask\nblack bangs\nblack beanie\nblack bear samurai\nblack beard\nblack beret\nblack beret with a red star\nblack bikini\nblack black black woman\nblack blindfold\nblack blue green\nblack bob cut hair\nblack bob hair\nblack bob haircut\nblack body\nblack bodysuit\nblack bomber jacket\nblack boots\nblack border\nblack border: 0.75\nblack bow tie\nblack bowtie\nblack box on the field flowers\nblack boy shorts\nblack bra\nblack bull samurai\nblack business suit\nblack butterflies\nblack canary\nblack canvas\nblack cap\nblack cape\nblack car\nblack cat\nblack cat at her feet\nblack cat in a city made of yarn\nblack cat taking a selfie\nblack cats\nblack centered pupil\nblack chair\nblack chalk\nblack choker\nblack choker necklace\nblack circle\nblack cloak\nblack cloak from neck to ankles\nblack cloak hidden in shadows\nblack cloth\nblack clothes\nblack clothing\nblack clouds\nblack coat\nblack color\nblack color background\nblack color on white background\nblack color scheme\nblack colors\nblack cowboy\nblack crown\nblack crows\nblack crows flying\nblack curly beard\nblack curly hair\nblack cyan gold and aqua colors\nblack cyberlox\nblack cybernetic enhancements\nblack darkness\nblack denim pants\nblack depths\nblack design\nblack details\nblack dog\nblack domes and spires\nblack dots\nblack draconic - leather\nblack dragon\nblack dress\nblack dress : : symmetrical face\nblack dress with belt\nblack dynamic hair\nblack ears\nblack edges\nblack elegant hair\nblack elon musk\nblack emma watson as egyptian\nblack energy\nblack extremely tight jeans\nblack eye makeup\nblack eye mask\nblack eye patch over left eye\nblack eye shadow\nblack eyebrows\nblack eyed\nblack eyed kids\nblack eyeliner\nblack eyepatch\nblack eyes\nblack eyes and large forehead\nblack eyes and sclera\nblack eyes!!!\nblack eyeshadow\nblack face\nblack facemask\nblack feathers\nblack feathers instead of hair\nblack fedora\nblack female\nblack fine lines\nblack fine lines on warm brown\nblack fir\nblack fire color reflected armor\nblack flat background\nblack floor\nblack flowers\nblack fluid simulation\nblack fog\nblack forest\nblack fork\nblack fractal filigree\nblack full plate armor\nblack fur\nblack fur armor\nblack furniture\nblack gears\nblack gems\nblack girl\nblack glasses\nblack glossy xenomorph\nblack gloves\nblack gloves!! and boots\nblack gold\nblack gold color scheme\nblack gold ink dripping\nblack gold light blue\nblack gold silver\nblack gold smoke ink\nblack goo\nblack gothic jacket\nblack gothic lolita dress\nblack gotic letter m\nblack gown\nblack gradient background\nblack graffiti\nblack greatcoat\nblack habit\nblack hair\nblack hair and brown eyes\nblack hair and large eyes\nblack hair and white bangs\nblack hair black cat ears\nblack hair in a rough shag\nblack hair in braids\nblack hair ribbons\nblack hair with purple streaks\nblack haired girl wearing hoodie\nblack haired yoongi\nblack hairs\nblack halo\nblack halter top\nblack hands with black claws\nblack harness\nblack hat\nblack haute couture\nblack head\nblack heavy armor\nblack heavy armor with gold trim\nblack heavy eyeliner\nblack helicopters\nblack hime cut hair\nblack hole\nblack hole event horizon\nblack hole in space\nblack hole rising above city\nblack hole sun\nblack hole time portal\nblack hole with accretion disс\nblack holes\nblack hollow eyes\nblack hood\nblack hoodie\nblack hoodie techie\nblack horns\nblack house\nblack human spine\nblack in\nblack ink\nblack ink & copic markers\nblack ink copic markers\nblack ink drawing\nblack ink illustration\nblack ink line art\nblack ink lines\nblack ink on paper\nblack ink on textured paper\nblack ink on white background\nblack ink on white paper\nblack ink outline\nblack ink outlines\nblack ink painting\nblack ink rough sketch\nblack intense eyes\nblack interface\nblack iron armour\nblack iron crown\nblack iron suit of armour\nblack iron sword\nblack iron tiara\nblack jacket\nblack jacket  shiny\nblack jacket | shiny\nblack jeans\nblack jersey\nblack jesus\nblack jewellery\nblack jewelry\nblack jewerly\nblack knee - length skirt\nblack lace\nblack lace dress\nblack lacquer\nblack lagoon\nblack lagoon manga\nblack latex\nblack latex female balaclava\nblack latex sculpt\nblack latex suit\nblack leahter gloves\nblack leather\nblack leather accents\nblack leather armor\nblack leather armour\nblack leather boots\nblack leather bra\nblack leather choker\nblack leather costume\nblack leather garment\nblack leather gloves\nblack leather harness\nblack leather jacket\nblack leather robes! intricate\nblack leather samurai garment\nblack leather shiny jeans\nblack leather shorts\nblack leather slim clothes\nblack leather vest is open\nblack leggings\nblack leggins\nblack light\nblack light movie poster\nblack light rave\nblack light velvet poster\nblack lightning\nblack line art\nblack lines\nblack lion with peacock wings\nblack lips\nblack lipstick\nblack loafers\nblack long curly hair\nblack long hair\nblack long hair!\nblack lotus\nblack lung detail\nblack luxurious suit\nblack magic\nblack magic crystal ring\nblack magic spells\nblack magician girl\nblack main color\nblack makeup\nblack man\nblack man with afro hair\nblack marble\nblack marble and gold\nblack marker\nblack mask\nblack matte finish\nblack mecha\nblack mesa\nblack messy hair\nblack metal\nblack metal aesthetics\nblack metal album cover\nblack metal band font\nblack metal band logo\nblack metal concert flyer\nblack metal face paint\nblack metal logos\nblack metal rococo\nblack metal style\nblack micron pen illustration\nblack mirror\nblack mirror series\nblack mist\nblack mold\nblack moons\nblack mos eisley\nblack mountains\nblack nails\nblack neon lights\nblack night sky\nblack nose\nblack octane render\nblack oil\nblack oil bath\nblack oled background\nblack on black\nblack on black. intricate\nblack on red\nblack on white\nblack on white background\nblack on white line art\nblack on white only\nblack on white paper\nblack ooze\nblack opal\nblack opals\nblack orb of fire\nblack outfit\nblack outline\nblack outlines\nblack overcoat\nblack oversized clothes\nblack paint\nblack paint drops\nblack paint flows down\nblack panther\nblack pants\nblack paper\nblack paper tarot\nblack pearls\nblack pearls and golden gems\nblack pen drawn edges\nblack peonies\nblack people\nblack pixie undercut haircut\nblack plastic\nblack plate armor\nblack pointed hat\nblack ponytail\nblack ponytail hair\nblack pulcinella mask\nblack pulcinella masquerade mask\nblack purple studio background\nblack quick\nblack rainbow opal\nblack ray - bans\nblack red long hair\nblack red long hair!\nblack red white clothes\nblack reflect robe\nblack resin\nblack rimmed glasses\nblack rims\nblack road\nblack robe\nblack robes\nblack rock statue material\nblack rocks\nblack rococo\nblack roof\nblack rose\nblack rose frame. d&d\nblack roses\nblack roses in hair\nblack round hole\nblack round hood and cloak\nblack rubber suit\nblack sand\nblack scales\nblack scales and cyborg tech\nblack scarf\nblack scars on her face\nblack scheme\nblack sclera\nblack sclera eyes\nblack sclera white pupil\nblack sclera! eyes\nblack scribbles and wiggles\nblack sea\nblack shadows\nblack shiny armor\nblack shiny bob haircut\nblack shiny eyes\nblack shirt\nblack shirt underneath armor\nblack shirt with red star\nblack shirt with red suspenders\nblack shoes\nblack short curtain haircut\nblack short hair\nblack shorts\nblack show room\nblack silhouette\nblack silky hair\nblack skeleton sword guard\nblack sketch\nblack skin\nblack skin!!!\nblack skirt\nblack sky\nblack sky background\nblack sky full of stars\nblack sky with stars\nblack slime\nblack smoke\nblack smoke particles\nblack smoke surrounds the area\nblack soggy pants\nblack sokkel\nblack space\nblack spandex\nblack splashes\nblack spot over left eye\nblack square glasses\nblack squares on 4 corners\nblack stars\nblack steel buildings\nblack steel with red trim\nblack stencil\nblack stetson and coat\nblack stetson hat\nblack stone\nblack straight hair\nblack stripes\nblack strokes\nblack studio background\nblack studio background color\nblack suit\nblack suit pants\nblack sullen eyes\nblack sun\nblack sun hat\nblack sun with purple eclipse\nblack sunglasses\nblack supremacy\nblack swan\nblack swans\nblack swat vest\nblack sweater\nblack sweatpants\nblack swimsuit\nblack t - shirt\nblack t shirt\nblack t-shirt\nblack tactical gear\nblack tank top\nblack tanktop\nblack tar particles\nblack teenage boy\nblack teenage girl\nblack tendrils\nblack textured\nblack theme\nblack thor\nblack tie\nblack to blue fade hairstyle\nblack to light pink fade hair\nblack to purple fade hair color\nblack to purple fade hairstyle\nblack tones\nblack top\nblack top hat\nblack traveling cloak\nblack trousers\nblack tunic\nblack turtle neck shirt\nblack turtleneck\nblack turtleneck lace dress\nblack umbrella\nblack undersuit\nblack underwear\nblack veil\nblack veins\nblack velvet\nblack velvet dress\nblack velvet painting\nblack vertical slatted timber\nblack vest\nblack victorian dress\nblack void\nblack volcano afar\nblack walls\nblack water\nblack watercolour\nblack wavy hair\nblack wavy hair with bangs\nblack wheel rims\nblack whispy smoke\nblack white\nblack white and red colors\nblack white gold\nblack white pastel pink\nblack white photo\nblack white pink\nblack white purple\nblack white red\nblack widow\nblack windows\nblack wings\nblack wings instead of arms\nblack wings slightly burnt\nblack wired cables\nblack witch hat\nblack witch hat and broomstick\nblack wolf\nblack wolf guarding\nblack woman\nblack wool sweater\nblack young woman\nblack! and white colors\nblack!!!!! background\nblack+velvet+red+turquoise\nblack-and-white\nblack-and-white photography\nblack-crimson color scheme\nblack-hair\nblack-hair pretty face\nblack-water-background\nblack-white retro photo 1910\nblack-white skintight robes\nblack-white skintight robes!\nblack. airports\nblack. yellow\nblackboard\nblackboard in background\nblackened clouds cover sky\nblackened space\nblackening effect\nblackhair\nblackhole\nblackhole sun\nblacklight\nblacklight aesthetic\nblacklight neon colors\nblacklight poster\nblacklight reacting\nblacklight reactive\nblackness\nblackout\nblackpink\nblackpink jennie\nblacks and blues\nblacksad\nblacksmith\nblacksmith apron\nblacksmith product design\nblacksmith's outfit\nblacksmiths outfit\nblackwork\nblade\nblade and soul\nblade design\nblade of grass\nblade runned color palette\nblade runner\nblade runner 1 9 8 2 city\nblade runner 1982\nblade runner 1982 city\nblade runner 2 0 4 9\nblade runner 2 0 4 9 concept art\nblade runner 2 0 4 9 manual\nblade runner 2 0 9 9\nblade runner 2049\nblade runner 2049 colors\nblade runner 2049 concept art\nblade runner 2049 film\nblade runner 2049 lighting color\nblade runner 2049 manual\nblade runner 2049 style\nblade runner 2099\nblade runner aesthetic\nblade runner artifacts\nblade runner background\nblade runner city\nblade runner city background\nblade runner color palette\nblade runner color scheme\nblade runner concept art\nblade runner eyes\nblade runner feel\nblade runner film\nblade runner film style\nblade runner lighting\nblade runner movie\nblade runner set\nblade runner style\nblade runner tech\nblade runner vibes\nbladed wings lace wear\nbladee from drain gang\nbladerunner\nbladerunner 2 0 4 7\nbladerunner 2 0 4 9\nbladerunner 2 0 4 9 )\nbladerunner 2047\nbladerunner 2049\nbladerunner apartment\nbladerunner car\nbladerunner city landscape\nbladerunner in the rain\nbladerunner scene\nbladerunner street\nbladerunner street alley\nbladerunner style\nbladerunner2049\nblades\nblades in the dark\nblair armitage\nblair witch\nblair witch project\nblake lively\nblake rottinge\nblake stone\nblame\nblame manga\nblame!\nblame! brutalist architecture\nblanca alvarez\nblanche\nblanco y negro\nbland\nblank\nblank background\nblank expression\nblank expression on her face\nblank faces\nblank paper\nblank stare\nblank stare”\nblanket\nblanket of fog\nblankets of fog pockets\nblasphemous\nblast\nblast of mystical energy\nblaster fire bright as neon\nblastoise\nblazing engines\nblazing fire\nblazing fire and glowing lava\nblazing fire tornadoes\nblazing infero\nblcak hair\nbleach\nbleach blonde hair\nbleach manga style\nbleached\nbleached blonde short hair\nbleached colors\nbleached colours\nbleached strong lights\nbleak\nbleak and oppressive atmosphere\nbleak apocalyptic environment\nbleak apocalyptic style\nbleak atmosphere\nbleak cityscape background\nbleak color\nbleak lighting\nbleak tone\nbleak. big stones\nbleed\nbleeding\nbleeding audience\nbleeding colors\nbleeding decaying colors\nbleeding decaying colors!\nbleeding in the bath\nblend elements\nblended\nblended colors\nblended colors!!!!!\nblended palette\nblender\nblender 3 d\nblender 3 d 8 k\nblender 3d\nblender 8k uhd\nblender and photoshop\nblender art\nblender cycles\nblender cycles render\nblender design assets\nblender donut\nblender donut tutorial\nblender eevee render\nblender guru\nblender model\nblender npr\nblender render\nblender render\nblender rendering\nblender screenshot\nblender-hard-surface\nblender3d\nblending\nblessed\nblessing\nblessing hands\nblessing palms\nblessing the soil at night\nbliblical\nblimp\nblimps\nblind\nblind brown man\nblind eyes\nblindfold\nblindfolded\nblinding backlight\nblinding backlight evening sun\nblinding bright sun\nblinding red orange sky\nblinding sun\nblinding white hair\nbling\nbling airpods\nbling earbuds\nblingee\nblink\nblinking lights\nblippi\nbliss\nblissful\nblissful atmosphere\nblissful journey\nblissful landscape\nblizzard\nblizzard cinematic\nblizzard concept art\nblizzard concept artist\nblizzard concept artists\nblizzard entertainment\nblizzard entertainment 8 k\nblizzard game concept art\nblizzard hearthstone concept art\nblizzard in the mountains\nblizzard north 1997\nblizzard sharp dynamic lights\nblizzard storm\nblizzard studio\nblizzard warcraft\nblizzard warcraft artwork\nblizzard warcraft card game\nbloated\nblob\nblob anime\nblobs\nblock head\nblock party\nblock print\nblockbuster\nblockbuster ghostbusters movie\nblockbuster movie\nblockbuster movie art\nblockchain\nblockchain vault\nblocked drains\nblocking the sun\nblockout\nblocks\nblocktober\nblocky\nblocky like minecraft\nblocky shape\nblog-photo\nblond\nblond beard\nblond bob haircut\nblond boy\nblond brown long hair\nblond brown stubble thin beard\nblond curly hair\nblond fur\nblond furr\nblond hair\nblond hair blue eyes\nblond hair green eyes\nblond hair with pigtails\nblond hair. ponytail\nblond long hair\nblond ltd\nblonde\nblonde - haired princess\nblonde and attractive features\nblonde and auburn two toned hair\nblonde and silver hair\nblonde anime girl with long hair\nblonde beautiful young woman\nblonde boy with yellow eyes\nblonde braided hair\nblonde braids and blue eyes\nblonde british man\nblonde crea\nblonde cream\nblonde curly hair\nblonde elvish empress\nblonde female jedi\nblonde flowing hair\nblonde girl\nblonde girl in a cosmic dress\nblonde goddess\nblonde guy\nblonde hair\nblonde hair and blue eyes\nblonde hair and large eyes\nblonde hair blue eyes\nblonde hair human head\nblonde hair with a pony tail\nblonde hair with pink highlights\nblonde hot woman in wine cellar\nblonde long hair\nblonde man\nblonde medium hair\nblonde reddish hair\nblonde shaggy hair\nblonde short hair\nblonde straight hair\nblonde swedish woman\nblonde woman\nblonde women\nblood\nblood and body parts\nblood and bone\nblood and bones\nblood and dark red highlights\nblood and dead soldiers\nblood and dust in the air\nblood and guts\nblood around the lips\nblood aura red light\nblood cells\nblood collection vials\nblood drenched\nblood dripping\nblood dripping down the head\nblood dripping from eyes\nblood dripping from mouth\nblood drop\nblood droplets\nblood everywhere\nblood for the blood god\nblood in the seahighly\nblood in the water\nblood knight\nblood letter\nblood lines\nblood meridian\nblood moon\nblood moon background\nblood moon eclipse\nblood moon tentacles!!\nblood on body\nblood on clothes and face\nblood on floors\nblood on his face\nblood on sand\nblood on tennis court\nblood on the floor\nblood on the streets\nblood puddles on the floor\nblood red\nblood red armor\nblood red background\nblood red colored sky\nblood red cresent moon\nblood red eyes\nblood red leaves\nblood red moon\nblood red sky\nblood rivers\nblood seeping from eyes\nblood smear\nblood spatter\nblood splatter\nblood splatter background\nblood splatter on the sides\nblood splatters\nblood spray\nblood stains\nblood stains on shirt\nblood stains on the walls\nblood tears\nblood temple\nblood thirsty\nblood trails\nblood vesels\nblood vessels\nblood; dark cinematic lighting\nbloodbath battlefield\nbloodbath battlefield background\nbloodborn\nbloodborne\nbloodborne art\nbloodborne boss\nbloodborne cathedral\nbloodborne concept art\nbloodborne diagrams\nbloodborne monster\nbloodborne style\nbloodbourne\nblooded\nbloodlust\nbloodshot eyeballs\nbloodshot eyes\nbloodthirsty\nbloodwave\nbloody\nbloody + concept art\nbloody battlefield\nbloody eyes\nbloody face\nbloody knife\nbloody knife in right hand\nbloody ocean\nbloody river in hell\nbloody runes\nbloody scene\nbloody sunset\nbloody tears\nbloody walls\nbloom\nbloom and flowers in background\nbloom effect\nbloom effect 8 k\nbloom effect 8k\nbloom flowers\nbloom lighting\nbloom. fantasy\nbloom. high fantasy\nbloomed lighting\nblooming\nblooming effect\nblooming flowers\nblooming tropical flowers\nbloomy\nbloons td 6 dart monkey\nblooodborne\nblossom\nblossom sakura\nblossom wheat fields\nblossoming\nblossoming path to heaven\nblossoming rhythm\nblossoms\nblotch of spray paint in corner\nblotter art\nblow my mind\nblowing bubblegum\nblowing hair\nblowing out smoke\nblowing sands\nblowing smoke\nblown glass\nblown glass figure\nblows smoke\nblu - ray\nblu - ray transfer 5 k\nblu ray cover usa\nblu-ray\nblu-ray transfer\nblue\nblue - eyes\nblue - green tones\nblue - grey gear\nblue - petals\nblue - print\nblue - ray screenshot\nblue - turquoise fog in the void\nblue - yellow sky\nblue / grey background\nblue / grey eyes\nblue accent lighting\nblue accents\nblue adornements\nblue and black\nblue and black color scheme\nblue and black color scheme))\nblue and black scheme\nblue and clear sky\nblue and cyan colors\nblue and cyan scheme\nblue and gold\nblue and gold color scheme\nblue and gold palette\nblue and gray colors\nblue and green\nblue and green and red tones\nblue and green color palette\nblue and green color scheme\nblue and green colours\nblue and green light\nblue and green rainbow fire\nblue and green water\nblue and grey\nblue and grey color scheme\nblue and grey theme\nblue and grey tones\nblue and ice silver color armor\nblue and orange\nblue and orange color scheme\nblue and orange lighting\nblue and orange palette\nblue and orange rim lights\nblue and orange tones\nblue and pink\nblue and pink accents\nblue and pink bonsai tree\nblue and pink color scheme\nblue and pink colors\nblue and pink colour splash\nblue and pink highlights\nblue and pink lighting\nblue and pink shift\nblue and purle lighting\nblue and purple\nblue and purple and green\nblue and purple colour scheme\nblue and purple fur\nblue and purple glowing hair\nblue and purple hair\nblue and purple lighting\nblue and purple plants\nblue and purple scheme\nblue and purple tones\nblue and purple vapor\nblue and red\nblue and red color palette\nblue and red color scheme\nblue and red glowing lights\nblue and red hair\nblue and red lighting\nblue and red lights\nblue and red tattoo\nblue and red tones\nblue and red two - tone\nblue and silver\nblue and silver colors\nblue and violet\nblue and violet color scheme\nblue and white\nblue and white and gold\nblue and white and red mist\nblue and white color palette\nblue and white color scheme\nblue and white colour scheme\nblue and white tones\nblue and yellow\nblue and yellow color scheme\nblue and yellow color theme\nblue and yellow fauna\nblue and yellow glowing lights\nblue and yellow gradient\nblue and yellow lighting\nblue and yellow pythons intwined\nblue and yellow ribbons\nblue and yellow spiderman\nblue and yellow theme\nblue android eyes\nblue arara\nblue archive\nblue armor\nblue atmosphere\nblue aura\nblue aurora\nblue backdrop\nblue backdrop. hd\nblue background\nblue background colour\nblue backgroung\nblue backlight\nblue ballpoint pen\nblue bikini\nblue bioluminescence\nblue bioluminescent plastics\nblue bird\nblue black gold\nblue black pink\nblue blood\nblue blurred\nblue body\nblue body paint\nblue bonsai\nblue border\nblue braided hair\nblue brain\nblue cape\nblue checkerboard background\nblue checkerboard dress\nblue chrome top hippo body\nblue circular hologram\nblue clear skies\nblue clear sky\nblue cloak\nblue clothes\nblue clothing\nblue cloudy sky\nblue coat\nblue cobblestones\nblue color\nblue color bleed\nblue color grading\nblue color palette\nblue color scheme\nblue color theme\nblue colored\nblue colored traditional wear\nblue colors\nblue colors with red accents\nblue colour scheme\nblue colour splash\nblue colours\nblue corset\nblue crashing waves\nblue crystal exploding\nblue crystals\nblue cyborg\nblue cyborg eyes\nblue delphinium\nblue diamond\nblue diamonds\nblue djinn\nblue dog\nblue door\nblue dragon\nblue dreadlocks\nblue dress\nblue drips\nblue edge\nblue elf\nblue energy\nblue eye\nblue eye and green eye\nblue eye. anime\nblue eyeball\nblue eyed\nblue eyes\nblue eyes and a wide face\nblue eyes and blond hair\nblue eyes and large forehead\nblue eyes blue iris\nblue eyes on the face\nblue eyes white dragon\nblue eyes!\nblue eyes!!\nblue eyes!!!!\nblue eyes. deep focus\nblue face unreal engine\nblue faces\nblue feathers\nblue fedora\nblue filter\nblue fire\nblue fire everywhere\nblue fire powers\nblue fire!\nblue fireball\nblue fireflies\nblue flame\nblue flames\nblue flames surrounding\nblue flower field\nblue flowers\nblue flowers accents\nblue flowers bloomed all over\nblue fog\nblue forest\nblue fur\nblue fur with white spots\nblue glacier\nblue glacier volcano eruption\nblue glass dreadlocks\nblue gloves\nblue glow\nblue glowing eyes\nblue gold and black\nblue gold suit\nblue gradient\nblue grass\nblue gray\nblue grey and white color scheme\nblue grey eyes\nblue ground. fantasy\nblue hair\nblue hairs\nblue hairstyle\nblue haze\nblue head\nblue headlights\nblue holographic face\nblue hooded cloak\nblue hoodie\nblue hour\nblue hour lighting\nblue hour photography\nblue hour stars\nblue hue\nblue hues\nblue ice\nblue image\nblue indygo thunder lightning\nblue ink\nblue ink pen\nblue iris\nblue iris eyes\nblue jacket\nblue jay with a pile of acorns\nblue jeans\nblue jeans and grey sneakers\nblue jeans. unreal 5\nblue jellyfish\nblue jewellery\nblue lamps on the ceiling\nblue leather armor\nblue leds\nblue lens airsoft mask\nblue light\nblue light accents\nblue light saber\nblue lighting\nblue lighting. fantasy\nblue lightning\nblue lightnings\nblue lights\nblue lights and purple lights\nblue lightsaber\nblue lips\nblue lipstick\nblue liquid and snow\nblue long hair\nblue long pants and red shoes\nblue magic\nblue marble\nblue mcdonalds\nblue metal\nblue mist\nblue mohawk\nblue mohawk hairstyle\nblue monochromatic\nblue mood\nblue moon\nblue moon light\nblue moon ray tracing\nblue moonlight\nblue nebula\nblue neon\nblue neon accents\nblue neon details\nblue neon light\nblue neon lighting\nblue neon lights\nblue night\nblue ocean\nblue or red\nblue orange\nblue outfit\nblue overalls\nblue paint on top\nblue paint splash\nblue palette\nblue pants\nblue parka\nblue particles\nblue penguin\nblue period\nblue phoenix bird\nblue piercing eyes\nblue planet\nblue planet still\nblue print\nblue pupil\nblue purple aqua colors\nblue purple gradient\nblue rays\nblue rays from tv\nblue rays of light\nblue realistic 3 d render\nblue realistic 3d render\nblue reflections\nblue reflective eyes\nblue rim light\nblue rim lighting\nblue rimmed glasses\nblue river in the middle\nblue robe\nblue robes\nblue room\nblue rose\nblue sand\nblue scaled dragon\nblue scales\nblue scales covering her chest\nblue scales with white spots\nblue scales. playing in the snow\nblue scheme\nblue sea\nblue sea. by makoto shinkai\nblue shadows\nblue shark\nblue shining eyes\nblue shiny eyes\nblue shiny lighting\nblue shirt\nblue shoes\nblue short hair\nblue shorts\nblue shutters on windows\nblue siberian forest cat\nblue silk dress\nblue silver and black\nblue skies\nblue skin\nblue skintight closed longcoat\nblue sky\nblue sky above\nblue sky and green grassland\nblue sky and white clouds\nblue sky at sunset\nblue sky background\nblue sky background with moon\nblue sky in the background\nblue sky with a few clouds\nblue sky with beautiful clouds\nblue sky with clouds\nblue sky with colorful clouds\nblue sky with dramatic clouds\nblue sky with some clouds\nblue sky without clouds\nblue slide park\nblue smoke\nblue soft background\nblue soft details\nblue soft light\nblue spiky hair\nblue steel\nblue storm clouds\nblue submarine no 6\nblue submarine no. 6\nblue suit\nblue sunglasses\nblue sunny sky\nblue sunset\nblue sunshine\nblue surcoat\nblue sweater\nblue swirling dress\nblue symmetric eyes 24yo\nblue tank top\nblue text that says 3kliksphilp\nblue theme\nblue theme and yellow accents\nblue themed\nblue tiara\nblue tie\nblue tiefling\nblue tight tshirt\nblue tint\nblue tint ektachrome film\nblue tint expired film\nblue tinted\nblue tone\nblue tone light\nblue toned\nblue tones\nblue torn fabric\nblue translucent resin\nblue transparent jelly\nblue trees\nblue tunic\nblue tunic and robes\nblue turtleneck\nblue undergarments\nblue unicorn\nblue uniform\nblue v2 rocket in space\nblue veins\nblue velvet\nblue waffle cone\nblue wall\nblue walls\nblue water\nblue waters\nblue watery eyes\nblue whale\nblue white colors\nblue witch hat\nblue wizard hat\nblue wolf\nblue woodcut print\nblue woodcut print cartoon\nblue! and white colors\nblue!! with orange details\nblue'snappy gifts'plush doll\nblue-black\nblue-eyed\nblue-eyed man\nblue-eyes\nblue-fabric\nblue-green fish skin\nblue-skinned elf\nblue-white dress\nblue-white hair\nblue: 0.25\nblue: 0.5\nblueberries\nblueberries on the side\nblueberry\nblueberry and orange and teal\nblueish\nblueish moonlight\nblueish tones\nbluejay\nblueprint\nblueprint diagram\nblueprint of a laser space gun\nblueprint of a spaceship\nblueprint of spaceship\nblueprint red ink\nblueprint schematics\nblueprint style\nblueprints\nblueray\nblues\nblues. beautiful\nblueshift render\nbluesnappy giftsplush doll\nbluestone walls\nbluewith orange details\nbluey\nbluish and cream tones\nbluish face\nblunt\nblunt bangs fall on her forehead\nblunt borders\nblur\nblur : - 2\nblur background\nblur cinematic\nblur dreamy outdoor\nblur effect\nblur effect face\nblur focus\nblur studio\nblur: -4\nblur: -5\nblur:-1\nbluray\nbluray image\nblured background\nblurred\nblurred and dreamy illustration\nblurred background\nblurred backround\nblurred detail\nblurred environment background\nblurred face\nblurred forest background\nblurred lost edges\nblurred photo\nblurred space\nblurry\nblurry and dreamy illustration\nblurry and glitchy\nblurry and sharp focus\nblurry background\nblurry background of the library\nblurry backround\nblurry distant background\nblurry face\nblurry focus\nblurry footage\nblurry image\nblurry photo\nblurry photography\nblurry plume smoke at background\nblush\nblushing\nbluth\nbluth!\nbmw\nbmw and mercedes concept cars\nbmw e 3 0\nbmw e 30\nbmw e30\nbmw i 8\nbmw m 1\nbmw m1\nbmw m1 lincoln continental\nbo bartlett\nbo burnham\nbo chen\nbo feng\nbo xun ling\nboard game\nboard game cover art\nboard games\nboard games on a table\nboarded up\nboardgamegeek\nboards of canada\nboards of canada album cover\nboardwalk\nboat\nboat dock\nboat in foreground\nboat with lamp\nboats\nboats in the water\nbob\nbob clampett\nbob cut\nbob cut hair\nbob dylan\nbob haircut\nbob larkin\nbob larkin and tomer hanuka\nbob marley\nbob odenkirk\nbob pepper\nbob ross\nbob ross as 007\nbob ross as captain america\nbob ross as scarface\nbob ross as superman\nbob ross dressed as a superhero\nbob ross painting\nbob ross painting bob ross\nbob ross style\nbob's burgers\nboba fett\nbobcat standing alone on a log\nbobs burgers\nbocage\nbocages\nboch\nbodhisattva\nbodies\nbodies on the ground\nbody\nbody - horror\nbody and face\nbody and head in frame\nbody and head in view\nbody and headshot\nbody and torso\nbody armor\nbody armour\nbody breaking apart\nbody builder\nbody building blacksmith\nbody centered\nbody complet\nbody covered in floral tattoos\nbody covers with neon crystals\nbody covers with neon flowers\nbody draped in moss\nbody features\nbody fit\nbody fitted dart manipulation\nbody format\nbody full\nbody full glowing vacuum tubes\nbody golden armor\nbody hair\nbody harness\nbody horror\nbody in water\nbody is strong and upright\nbody made of fire\nbody made of glass\nbody made out of macaroni\nbody meshes\nbody modification\nbody of a robot\nbody of pure fire\nbody of water\nbody paint\nbody painted with black fluid\nbody parts\nbody parts everywhere\nbody portrait\nbody ribs meshes\nbody shot\nbody swelling about to explode\nbody symmetrical anatomy\nbody transmogrify\nbody with black and red lava\nbody-horror\nbodybuilder\nbodybuilder body\nbodybuilder ernest khalimov\nbodybuilder physique\nbodybuilder posing\nbodybuilder superhero bikini\nbodybuilding woman\nbodycam\nbodycam footage\nbodycon dress\nbodyhorror\nbodyless\nbodypaint\nbodypainting\nbodysuit\nboe jiden\nboeing 737 cabin\nboeing concept art\nboeing concept art painting\nbog\nbog oak\nbogdan rezunenko\nbogna gawrońska\nbohek\nbohemian\nbohemian digitals\nbohemian fashion\nbohemian mystics\nbohemian style\nboho\nboho - chic\nboho chic\nboho chic   very anime\nboho chic | | very anime!!!\nboho chic!!\nboho floral vines\nboho neutral colors\nboho poncho and long maxi dress\nboho style\nbohr model\nboichi\nboiler room\nboiling\nboiling imagination in a bowl\nboissb - blanca. j\nboisterous\nboixcar style\nbojack horseman\nbojack horseman in real life\nboka\nboke\nbokeh\nbokeh )\nbokeh + dof + 8k\nbokeh backdrop\nbokeh background\nbokeh blur\nbokeh chrome accents\nbokeh color background\nbokeh depth of field\nbokeh details\nbokeh dof\nbokeh dof sky\nbokeh effect\nbokeh filter\nbokeh focus\nbokeh forest background\nbokeh glow\nbokeh in the background only\nbokeh intricate details\nbokeh iridescent accents\nbokeh light\nbokeh light from top\nbokeh lights\nbokeh macro lens\nbokeh on background\nbokeh on side of the river\nbokeh paris in background\nbokeh photo\nbokeh photograph\nbokeh photography\nbokeh soft\nbokeh top cinematic lighting\nbokeh volumetric lighting\nbokeh ”\nbokeh!\nbokeh!!\nbokeh!! watercolor\nbokeh!!!!\nbokeh!!!!!\nbokeh. brian spilner\nbokeh. chrome accents\nbokeh. debadged\nbokeh. i\nbokeh. iridescent accents\nbokeh. rule of thirds\nbokehlicious\nbokehs\nbokehwatercolor\nbokeh”\nboken\nbokh\nboku no hero academia style\nbold\nbold 3 d\nbold and colourful\nbold architecture\nbold black lines\nbold bright colors\nbold brushstrokes\nbold brushwork\nbold color\nbold color scheme\nbold colored walls\nbold colors\nbold colour\nbold colours\nbold complementary colors\nbold complementary colours\nbold complimentary colors\nbold composition\nbold contour lines\nbold crimson ornate robes\nbold face type\nbold graffiti\nbold graphic graffiti\nbold graphics\nbold intricate ink illustration\nbold lamborghini style\nbold lighthouse in horizon\nbold lighting\nbold line art\nbold lineart\nbold lines\nbold moody colors\nbold natural colors\nbold pastel colors\nbold psychedelic colors\nbold rave outfit\nbold serious expression\nbold shapes\nbold simple shapes\nbold strokes\nbold warm and cool colours\nbold warm colours\nbold. intricate\nboldly-inked gouache artwork\nbolero\nbolivian cholitas\nbollywood\nbolsonaro\nbolt action rifle\nbolt pistol in one hand\nbolts\nbolts of bright yellow fish\nbolts of lightning\nbomb\nbomb explosion\nbombastic ostentatious\nbomber jacket\nbomber planes\nbomberman\nbombs\nbombs are falling from the sky\nbombshell\nbond girl\nbondi beach in the background\nbone\nbone and ivory\nbone armor\nbone crown\nbone dress\nbone jewellery\nbone jewelry\nbone plants\nbone scepter\nbone to bone\nbone wastes\nbone wings\nboneface\nbones\nbones and veins\nbones joints\nbones lying on the ground\nbones on the ground\nbones that were very dry\nbonestell\nboney\nbonfire\nbong\nbongos\nbonnard\nbonnie maclean\nbonsai\nbonsai anatomy atlas\nbonsai skeleton anatomy atlas\nbonsai tree\nbonsai tree house\nbonsai tree on roof\nbonsai trees\nbony\nbony face\nboogiepop phantom\nbook\nbook case\nbook cover\nbook cover art\nbook cover design\nbook cover illustration\nbook cover!!!!!!!!!!!!\nbook illustration\nbook in hand\nbook library studying\nbook of kells\nbook of the dead\nbook portrait\nbook shelf\nbook shelf small library\nbook shelves\nbook title visible\nbooks\nbooks all over the place\nbooks and flowers\nbooks cave\nbooks covered in jewels\nbooks flying around\nbooks messy about the room\nbooks on side table\nbookshelf\nbookshelves\nbookshelves on sides\nbookshops\nboom\nboombox\nboomhauer\nbooru\nbooster\nbooster flares\nboot camp\nbooth. pm\nboots\nboots!!!!!!\nbootsy collins\nbooty shorts\nbooze\nborat is a chimp\nbordalo\nborder\nborder collie\nborder collie dog on book cover\nborder pattern\nbordered\nborderlands\nborderlands 3\nborderlands 3 style\nborderlands 4k render\nborderlands art style\nborderlands style\nborders\nboreal forest\nborealis\nbored\nbored ape\nbored ape nft\nbored ape yacht club\nbored expression\nborg\nborg cube\nborgia\nboring\nboris artzybasheff and hr giger\nboris johnson\nboris johnson as captain britain\nboris johnson as doctor strange\nboris johnson as dr. strange\nboris johnson as hulk\nboris johnson as iron man\nboris johnson as neo from matrix\nboris johnson as punisher\nboris johnson as rambo\nboris johnson as rick sanchez\nboris johnson as thanos\nboris johnson as the joker\nboris johnson as thor\nboris johnson as wolverine\nboris johnson gigachad\nboris johnson hairstyle\nboris johnson in gta v\nboris johnson skydiving\nboris valejo\nboris valejo. octopath traveler\nboris vallego\nboris vallejo\nboris vallejo and ilya kuvshinov\nboris vallejo and julie bell\nboris vallejo and tom bagshaw\nboris vallejo artstyle\nboris vallejo style\nboris vallejo)))\nboris villajo\nboris villejo\nborja\nborn survivor\nborn this way\nborn this way album\nborn under a bad sign\nborne space library artwork\nboromir in an 80\\'s anime world\nboromir in an 80s anime world\nboromir in an anime world\nboroque\nbosch\nbosnian\nboss\nboss battle\nboss fight\nbossfight\nbossons vintage chalkware\nboston\nboston celtics\nboston celtics ironman suit\nboston dynamics\nboston dynamics robots\nboston massachusetts\nbotanic\nbotanic foliage\nbotanic garden\nbotanic watercolors\nbotanical\nbotanical anatomy\nbotanical art\nbotanical artwork\nbotanical background\nbotanical drawing\nbotanical fractal structures\nbotanical garden\nbotanical herbarium\nbotanical herbarium paper\nbotanical illustration\nbotanical photo\nbotanical poster\nbotanical print\nbotanical rainbow backdrop\nbotanicals\nbotany\nbotany bones\nboth bright and earth colors\nboth faces visible\nboth have red lips\nboth laughing\nboth men and cattle\nboth smiling for the camera\nboth wearing victorian clothes\nboticelli\nbotticelli\nbotticelli and victo ngai\nbotticelli style\nbottle\nbottle of vodka\nbottle of wine\nbottlebrush\nbottles\nbottles covered in wax\nbottles of alcohol next to him\nbottles of spices\nbottom - up perspective\nbottom - view\nbottom angle\nbottom body close up\nbottom half wood!!!!! carved\nbottom lighting\nbottom made half wood\nbottom of ocean\nbottom of the ocean\nbottom of the sea\nbottom shot\nbottom up green lighting\nbottom up lighting\nbottom viev\nbottom view\nbottom view ， bladerunner\nbottom viewa\nbottomless void\nbotw\nbotw style\nboucheron\nboucheron style\nboudoir\nboudoir photography\nbougainvillea\nbougeureau\nbouguereau\nbouguereau and bowater\nbouguereau and mucha\nbouguereau style pose\nbouguereau. full-shot\nboulder chase\nboulders\nboulevard\nboulevard of broken dreams\nbounce light\nbounce lighting\nbounced light\nbouncing\nbouncy belly\nboundary of two lands\nboundless and bare\nbountiful crafts\nbounty hunter\nbouquet\nbouquets\nbourgeoise\nboutinela bikini\nbovine\nbow\nbow and arrow\nbow ashigaru\nbow tie\nbowater charlie\nbowater charlie and brom gerald\nbowknot\nbowl\nbowl filled with food\nbowl haircut\nbowl of fruit\nbowling\nbowling alley carpet\nbows\nbowser\nbowser nintendo\nbowtie\nbox\nbox art\nbox braids\nbox cutter\nbox office hit\nboxart\nboxcar on the railroad\nboxer\nboxing\nboxing gloves\nboxing match\nboxing ring\nboxing stance\nboy\nboy and girl\nboy and girl are the focus\nboy girl traditional romance\nboy hair\nboy has short black hair\nboy scout troop\nboy shorts\nboy staring at the window\nboy thin face\nboy with cat ears and tail\nboy with neutral face\nboy's room\nboyish\nboyish face\nboys\nboys and girls\nbozo the clown. circus motif\nbozo the clown. clown motif\nbra\nbra and shorts streetwear\nbra strap\nbraavos\nbracelets\nbracelets and necklaces\nbrachiosaurus\nbracts\nbrad\nbrad kunkle detailed\nbrad kunkle elson peter\nbrad pitt\nbrad pitt is leon s. kennedy\nbrad pitt portrait\nbrad rigney\nbradbuilds\nbradley\nbradley cooper\nbradley cooper in finding nemo\nbradley james and colin morgan\nbradley wright\nbraid hairstyle\nbraided beard\nbraided beard redhead dreadlocks\nbraided brown hair\nbraided cable\nbraided hair\nbraided hair loops\nbraided hair with roses\nbraided hair. nightime\nbraided hairstyle\nbraided intricate hair\nbraids\nbraids in hair\nbrain\nbrain anatomy\nbrain city art\nbrain computer interface\nbrain connected to computer\nbrain from crystals\nbrain in a vat\nbrain in a vat!!\nbrain in a vat!!!\nbrain interface\nbrain stars\nbrain surgery\nbrain tree eye holy grail\nbrain visible\nbrainbow\nbrains\nbrainstorm\nbrainwashed\nbrainwashing\nbralette\nbram sels\nbranches\nbranches and foliage\nbranches and ivy\nbranches and twigs\nbranches composition abstract\nbranches growing as hair\nbranches sprouting from her head\nbranches wrapped\nbranching\nbranching hallways\nbrancusi\nbrand\nbrand colours are green and blue\nbrand colours are red and blue\nbrand identity\nbrand mark\nbrand new lego set ( 2 0 2 1 )\nbrandi love\nbranding\nbrandishing a gun\nbrandishing a powerful sword\nbrandishing chainsword\nbrandishing cosmic weapon\nbrandishing futuristic sword\nbrandishing halberd\nbrandishing naginata haldberds\nbrandishing powerful sword\nbrandishing sword\nbrandmark\nbrandon\nbrandon sanderson\nbrandon woelfel\nbrandywine school\nbrash\nbrasil\nbrass\nbrass and copper\nbrass and steam technology\nbrass and wood mechanisms\nbrass armor\nbrass beak\nbrass bracelets\nbrass colored armor coat\nbrass copper\nbrass debris\nbrass equipment and computers\nbrass goggles\nbrass horns\nbrass instruments\nbrass metal armor\nbrass pipes on the walls\nbrass plated\nbrass plates\nbrass semi - mechanical woman\nbrass sheet\nbrass victorian goggles\nbrass wheels\nbrass woman\nbrave\nbrave police j decker face\nbrave young girl\nbrave. by makoto shinkai\nbravely default inspired\nbravery\nbrawl\nbrawl stars\nbrawny\nbraziers\nbrazil\nbrazil carnival\nbrazilan supermodel\nbrazilian\nbrazilian flag\nbrazilian ronaldo\nbreach and clear\nbread\nbread type pokemon\nbreads\nbreak of dawn\nbreak of dawn on jupiter\nbreak of dawn on neptun\nbreak of dawn on pluto\nbreak of dawn on venus\nbreakcore\nbreakdancing\nbreakdown\nbreakfast\nbreakfast at las pozas\nbreakfast buffet\nbreaking\nbreaking apart\nbreaking bad\nbreaking bad as a manga\nbreaking bad scene\nbreaking news\nbreaking news footage\nbreaking statue of girl\nbreaking the waves\nbreakthrough is iminent\nbreastplate\nbreastplate ) ) )\nbreasts covered and sfw\nbreath - taking beautiful trees\nbreath condensation\nbreath of the wild\nbreath of the wild art style\nbreath of the wild screenshot\nbreath of the wild style\nbreath of the wilde\nbreath taking\nbreath taking beautiful\nbreath-taking beautiful beach\nbreath-taking beautiful trees\nbreathe\nbreathing\nbreathing blue fire\nbreathing fire\nbreathtaking\nbreathtaking art\nbreathtaking clouds\nbreathtaking colors\nbreathtaking composition\nbreathtaking detail\nbreathtaking detailed\nbreathtaking digital art\nbreathtaking eyes\nbreathtaking face\nbreathtaking fantasy art\nbreathtaking flower tiara\nbreathtaking himalayan landscape\nbreathtaking ilya kuvshinov\nbreathtaking landscape\nbreathtaking lights\nbreathtaking lights shining\nbreathtaking look\nbreathtaking masterpiece of art\nbreathtaking mountains\nbreathtaking quality\nbreathtaking realistic\nbreathtaking render\nbreathtaking scenery\nbreathtaking shot\nbreathtaking stars\nbreathtaking wave\nbreeches\nbreed corgi and doodle mix\nbreed russian brown toy terrier\nbreeding\nbreezy background\nbreitling\nbrendan fraser\nbrenizer method\nbrent hollowell\nbrethtaking lighting\nbreton cap\nbrett amory\nbrett goldstein\nbrewing potion in witch hut\nbrexit\nbrian froud juan gimenez\nbrian froud style\nbrian griffin\nbrian ingram\nbrian jacques\nbrian jacques redwall woodland\nbrian kesinger\nbrian miller\nbrian pulido\nbrian sum\nbrian wilson\nbriareus\nbrick\nbrick building\nbrick debris\nbrick wall\nbrick wall background\nbrick wall texture\nbrick walls\nbricks\nbricks flying\nbricks flying outwards\nbriclot\nbride\nbride and groom\nbride of chucky\nbride of frankenstein\nbridge\nbridge between the worlds\nbridge city\nbridge over the water\nbridge to terabithia\nbridges\nbridges and railings\nbridges crossing the gap\nbriefcase\nbrienne of tarth\nbrigandine\nbright\nbright - light photography\nbright accurate green eyes\nbright amber eyes\nbright ambient lighting\nbright and beautiful\nbright and colorful\nbright and colourful\nbright and contrasting colors\nbright and energetic\nbright and fun colors\nbright and happy\nbright and moody\nbright and saturated palette\nbright and sunny\nbright and sunny day\nbright art\nbright atmosphere\nbright atmospheric lighting\nbright background\nbright backlit\nbright bloom\nbright blue\nbright blue eyes\nbright blue future\nbright blue glowing water\nbright blue shiny lingerie\nbright blue sky\nbright blue smoke\nbright bold colors\nbright brown eyes\nbright camera flash\nbright camera flash enabled\nbright castleton green\nbright cinematic backlit\nbright cinematic key lighting\nbright cinematic lighting\nbright city lights\nbright clouds\nbright color\nbright color palette\nbright color scheme\nbright colored streaks of hair\nbright colorful\nbright colorful colors\nbright colors\nbright colors highly detailed\nbright colors oil on canvas\nbright colors ultrawide lens\nbright colors with red hues\nbright colour\nbright colour tone\nbright coloured streaks of hair\nbright colours\nbright construction materials\nbright contrast\nbright cyberpunk glow\nbright dappled golden sunlight\nbright day\nbright day light sun\nbright daylight\nbright daylight indoor photo\nbright daylight moody\nbright deep blue\nbright demonic glowing eyes\nbright depth oil colors\nbright details\nbright diffuse lighting\nbright divine lighting\nbright explosion\nbright eye makeup\nbright eyes\nbright fauna\nbright fire eyes\nbright flare\nbright flash\nbright fluorescent light\nbright fluorescent lights\nbright forest\nbright fuchsia skin\nbright future\nbright glowing eyes\nbright glowing eyes as leds\nbright glowing eyes like leds\nbright glowing instruments\nbright glowing translucent aura\nbright glowing veins\nbright godrays\nbright gold eyes\nbright gold long hair\nbright green dark orange\nbright green eyes\nbright green hair\nbright green swirls coming up it\nbright ground\nbright hair\nbright halo\nbright happy atmosphere\nbright headlights\nbright high tech lights\nbright hopeful atmosphere\nbright in colour\nbright internal glow\nbright internal light\nbright iridescent light\nbright it interiors\nbright landscape\nbright led lights\nbright lens flare\nbright light\nbright light masterpiece\nbright lighting\nbright lights\nbright limited color palette\nbright lit interiors\nbright macro view pixar\nbright microscopic view realism\nbright modern style\nbright mood\nbright moon\nbright moonlight\nbright moonlight and stars\nbright morning\nbright multiple glowing eyes\nbright natural light\nbright neon\nbright neon city lights\nbright neon color palette\nbright neon colors\nbright neon colours\nbright neon highlights\nbright neon lighting\nbright neon lights\nbright neon lights from the city\nbright neon signs\nbright neon solar flares\nbright nordic forest\nbright on black\nbright orange camp fire\nbright orange eyes\nbright orange hair\nbright pale blue eyes\nbright palette\nbright pastel color\nbright pastel colors\nbright piercing brown eyes\nbright pink highlights\nbright pink purple lights\nbright pink streaks of hair\nbright psychedelic color\nbright psychedelic colors\nbright rainbow nimbus\nbright rays of light\nbright red\nbright red cape on her back\nbright red desert sands\nbright red eyes\nbright red hair\nbright red lipstick\nbright render\nbright rim light\nbright room\nbright saturated colors\nbright saturated colours\nbright scene\nbright screen\nbright sea\nbright shining eyes\nbright signage\nbright sky\nbright smile\nbright smiles\nbright soft colors\nbright soulful eyes\nbright sparks\nbright spells\nbright spotlights\nbright stars\nbright studio lighting\nbright studio setting\nbright style\nbright summer day\nbright sun\nbright sun bleached ground\nbright sun ground\nbright sunlight\nbright sunny day\nbright sunny day blue sky\nbright sunny summer day\nbright sunny time\nbright sunshine\nbright thin lasers\nbright thin wires\nbright tones\nbright towels\nbright trouser suit for a rave\nbright uniform background\nbright vibrant color\nbright vibrant colors\nbright vivid color hues:1\nbright vivid colors\nbright vivid colours\nbright vivid lighting\nbright volumetric lighting\nbright volumetric sunlight\nbright white\nbright white castle stones\nbright white hair\nbright white light\nbright white porcelain\nbright white realistic\nbright window lit kitchen\nbright witch\nbright yellow and red sun\nbright yellow color scheme\nbright yet cool colors\nbright ”\nbright:\nbrightly colored\nbrightly colored buildings\nbrightly colored flowers\nbrightly coloured\nbrightly coloured hair\nbrightly coloured oil on canvas\nbrightly coloured smoke\nbrightly glowing eyes\nbrightly lit\nbrightly lit - style atmosphere\nbrightly lit blue room\nbrightly lit pink room\nbrightly lit purple room\nbrightly lit room\nbrightly lit!\nbrightly-lit\nbrightvibrant\nbrigitte\nbrigitte bardot\nbrigitte from overwatch\nbrilliant\nbrilliant aesthetic lighting\nbrilliant blue flowing hair\nbrilliant cold lighting\nbrilliant colors\nbrilliant composition\nbrilliant daylight\nbrilliant daylight vr os ux\nbrilliant detail\nbrilliant glittering hair\nbrilliant glow\nbrilliant highlights\nbrilliant lighting\nbrilliant lights\nbrilliant modern colors\nbrilliant museum sculpture\nbrilliant peaks\nbrilliant photorealism\nbrilliant pink ball gown\nbrilliant reflections\nbrilliant royal blue\nbrilliant sunset\nbrilliant symmetry\nbrilliantly colored\nbrilliantly coloured\nbrimming with energy\nbrimstone\nbrine lacrosse king v gloves\nbrine lacrosse stick\nbringing people together\nbristlecone pine trees\nbristling\nbrit marling style 3/4\nbritain\nbritish\nbritish columbia\nbritish dragons\nbritish features\nbritish flag\nbritish gang member\nbritish museum\nbritish pathe archive\nbritish propaganda poster\nbritish stopmotion\nbritish street background\nbritney spears\nbritt marling style\nbritt marling style 3 / 4\nbritt marling style 3/4\nbrittle.\nbrittle. highly detailed\nbrittney lee\nbroad\nbroad brush\nbroad brush strokes\nbroad brush strokes!\nbroad daylight\nbroad detail\nbroad light\nbroad lighting\nbroad shoulder\nbroad shoulders\nbroad strokes\nbroad sword\nbroadshouldered\nbroadsword\nbroadway\nbrocade\nbrocade dress\nbrocade robes\nbroccoli\nbrochure\nbrock hofer\nbrock lesnar\nbrock lesnar riding a donkey\nbrocken spectre\nbrockholes\nbroke machines\nbroken\nbroken antenna\nbroken armor\nbroken beautiful female android!\nbroken bones\nbroken bottles\nbroken bridges\nbroken buildings\nbroken camera\nbroken camera colors\nbroken cars\nbroken composition\nbroken computers and cables\nbroken down\nbroken down grey wall\nbroken fluorescent lighting\nbroken forests\nbroken furniture\nbroken glass\nbroken glass photo\nbroken glasses\nbroken gold shackles\nbroken google maps\nbroken heart\nbroken hearted\nbroken hearts\nbroken landscape\nbroken laptop screen\nbroken leaking cell wall\nbroken lights\nbroken machinery\nbroken mask\nbroken mirror\nbroken mirrors composition\nbroken neon signs\nbroken panes of glass\nbroken parts\nbroken pieces\nbroken pipes\nbroken rainbow\nbroken reality\nbroken road\nbroken ruin armored core trunk\nbroken ruin pacific rim jaeger\nbroken shackles\nbroken signs\nbroken stained glass windows\nbroken statues\nbroken teeth\nbroken throne\nbroken tiles\nbroken toilets\nbroken toys\nbroken toys are scattered around\nbroken tv\nbroken vase\nbroken vending machines\nbroken wheelchair\nbroken windows\nbroken wires\nbroken-stained-glass\nbroly\nbrom art\nbrom digital art\nbrom gerald\nbrom redshift\nbromeliads\nbronze\nbronze - skinned\nbronze age\nbronze armor\nbronze biomechanical\nbronze biomechanical garment\nbronze brown hair\nbronze dwarven breastplate\nbronze face\nbronze greek armor\nbronze headdress\nbronze headset\nbronze material\nbronze poli\nbronze sculpture of medusa\nbronze skin\nbronze skinned\nbronze statue\nbronze statue and silver\nbronze!! (eos 5ds r\nbrood spreading\nbrooding\nbrooding clouds\nbrooding clouds'\nbroody\nbrook\nbrooke ashling\nbrooke shaden detailed\nbrooke shields\nbrooklyn\nbrooklyn at night neon boards\nbrooklyn background\nbrooklyn museum\nbroomstick\nbrotherhood\nbrothers\nbrown\nbrown ) )\nbrown almond-shaped eyes\nbrown and cream color scheme\nbrown and cyan blue color scheme\nbrown and cyan color scheme\nbrown and gold\nbrown and gold color palette\nbrown and magenta color scheme\nbrown and pink color scheme\nbrown and white color scheme\nbrown armor\nbrown atmospheric lighting\nbrown background\nbrown bangs\nbrown bear\nbrown beard\nbrown bob haircut\nbrown body\nbrown boots\nbrown bread with sliced salo\nbrown buzzcut\nbrown canyon background\nbrown cloak\nbrown clothes\nbrown cobble stones\nbrown color\nbrown color palette\nbrown colored long hair\nbrown colors\nbrown colours\nbrown corset\nbrown curly hair\nbrown dark hair\nbrown durand\nbrown exoskeleton\nbrown eyes\nbrown eyes and white skin\nbrown eyes with red eye markers\nbrown flowers\nbrown flowing hair\nbrown fluffy hair\nbrown fringe\nbrown fur\nbrown gravy\nbrown hair\nbrown hair and a perfect body\nbrown hair and bangs\nbrown hair and large eyes\nbrown hair flow\nbrown hair fringe\nbrown hair in a ponytail\nbrown hair in two buns\nbrown hair with bangs\nbrown hair with light blue ends\nbrown hair!\nbrown haired\nbrown hat\nbrown heavy armor\nbrown holes\nbrown hooded cloak\nbrown jacket\nbrown jacket with long sleeves\nbrown jedi robe\nbrown leather armor\nbrown leather jacket\nbrown long and straight hair\nbrown long hair\nbrown long hair with bangs\nbrown medium hair\nbrown medium length hair\nbrown messy hair\nbrown mist\nbrown mud\nbrown neat hair\nbrown palette\nbrown pants\nbrown paper\nbrown red and gold ”\nbrown red blue\nbrown red long hair\nbrown reddish hair\nbrown resin\nbrown robes\nbrown sauce\nbrown scales\nbrown shirt\nbrown short hair\nbrown skin\nbrown skin like soil\nbrown skin man egyptian prince\nbrown skin man with a giant grin\nbrown skin. light makeup\nbrown skinned\nbrown smiling eyes\nbrown stubble\nbrown suit vest\nbrown sweater\nbrown tail\nbrown tones\nbrown tuffle coat\nbrown water\nbrown watery eyes\nbrown wavy hair\nbrown wood cabinets\nbrown-blond-hair pretty face\nbrown-red-hair pretty face\nbrown:-2\nbrownish colors\nbrownish fossil\nbrownish old fossil remnant\nbrowns and whites\nbrowny\nbruce davidson photography\nbruce kaiser\nbruce lee\nbruce penington\nbruce springsteen\nbruce timm and vladimir kush\nbruce weber\nbruce willis\nbruce willis as samurai\nbruegel\nbruegels the tower of babel\nbrught tones\nbruh moment\nbruised\nbruised face\nbruises\nbrujeria\nbrunette\nbrunette boy and redhead boy\nbrunette elf with fairy wings\nbrunette fairy woman\nbrunette fairy woman stretching\nbrunette hair\nbrunette with dyed blonde hair\nbrunette woman\nbrunettes\nbrush\nbrush art\nbrush hard\nbrush marks\nbrush paint\nbrush painting\nbrush pen\nbrush stroke\nbrush stroke oil painting\nbrush strokes\nbrush strokes oil painting\nbrush texture\nbrush work\nbrushed\nbrushed aluminum\nbrushed metal\nbrushed red and blue paint\nbrushed rose gold car paint\nbrushed white and blue paint\nbrushes\nbrushes her teeth\nbrushstroke - laden\nbrushstrokes\nbrushwork\nbrussels\nbrutal\nbrutal archi\nbrutal battle\nbrutal black clothes\nbrutal blooded symmetrical face\nbrutal bloody and sluty make up\nbrutal bloody sluty make up\nbrutal concrete architecture\nbrutal concrete interiors\nbrutal depiction\nbrutal fight\nbrutal human detailed\nbrutal human detailed!!!\nbrutal joyful face expression\nbrutal modern sculpure\nbrutal shapes\nbrutal shapes high detail 8k\nbrutal shapes stormy sky\nbrutal violence\nbrutalism architecture\nbrutalism buildings\nbrutalism style\nbrutalism style stool\nbrutalist\nbrutalist alien civilization\nbrutalist appearance\nbrutalist architecture\nbrutalist architecture building\nbrutalist architecture buildings\nbrutalist aztec architecture\nbrutalist base scifi\nbrutalist buildings\nbrutalist buildings tower over\nbrutalist city\nbrutalist city architecture\nbrutalist courtyard\nbrutalist dark fantasy\nbrutalist design\nbrutalist environment\nbrutalist fantasy\nbrutalist fashion show\nbrutalist futuristic interior\nbrutalist illustration\nbrutalist international futurist\nbrutalist liminal architecture\nbrutalist office buildings\nbrutalist painting\nbrutalist shiro\nbrutalist space ship\nbrutalist style\nbrutalist waterfall environment\nbrutalistic environment\nbrutality\nbrute\nbrutish\nbrutus\nbryan christie\nbryan cranston\nbryan cranston as gordon freeman\nbryan cranston as thor\nbryan lee o'malley\nbryan skerry\nbryan sola\nbryce 3 d\nbryce 3 d style\nbryce 3d\nbryce dallas howard\nbt 2 1\nbt 21\nbt21\nbts\nbubble\nbubble background\nbubble bath\nbubble chamber\nbubble goth\nbubble goth makeup\nbubble gum\nbubble head\nbubble letters\nbubblegum\nbubblegum body\nbubblegum crisis\nbubblegum face\nbubblegum hair\nbubblegum pop\nbubbles\nbubbles everywhere\nbubbles in the air\nbubbles of the impossible\nbubbles rising\nbubbles vfx\nbubbles ”\nbubbling cauldron\nbubbling cauldron!\nbubbling geysers\nbubbling liquids\nbubbling ooze covered serious\nbubbling skin\nbubbly\nbubbly scenery\nbubbly underwater scenery\nbuck rogers\nbuck studios artwork\nbuck teeth\nbucket hat\nbuckethead\nbucklebury ferry\nbucolic\nbud spencer\nbudapest\nbudapest street background\nbuddha\nbuddhism\nbuddhist\nbuddhist architecture\nbuddhist art\nbuddhist monastery on mars\nbuddhist monk\nbuddhist monk meditating\nbuddhist temple\nbuds\nbuenos aires\nbuff\nbuff man\nbuff painting\nbuffalo\nbuffalo chase\nbuffalo hunt movie\nbuffed\nbuffy the vampire slayer\nbug\nbug life inside human body\nbug like face\nbugatti\nbugatti veyron\nbugbear\nbugbear ranger\nbuggy\nbugs\nbugs bunny\nbuild in a forest near of a lake\nbuilding\nbuilding along a river\nbuilding anticipation\nbuilding blocks\nbuilding cover with plant\nbuilding crumbling\nbuilding destroyed\nbuilding facing\nbuilding in the distance\nbuilding mushrooms\nbuilding on fire\nbuilding plans\nbuildings\nbuildings and smoke\nbuildings are flying\nbuildings carved out of stone\nbuildings collapsed\nbuildings covered in black tar\nbuildings covered with greebles\nbuildings in the distance\nbuildings made out of glass\nbuildings on fire\nbuildings photorealism\nbuilt\nbuilt and strong\nbuilt around ocean\nbuilt in the egyptian desert\nbuilt into trees and stone\nbuilt on a small\nbuilt on a steep hill\nbuizel and human fusion\nbulbapedia\nbulbasaur\nbulbous\nbulbous nose\nbulgari\nbulgari style\nbulging eyes\nbulging muscles\nbulging veins\nbulky\nbulky armor\nbulky build\nbull\nbull head\nbull netch floating around\nbullet hell\nbullet holes\nbullet holes and blood splatter\nbullet proof vest\nbullet shells flying\nbullet time\nbullet tracers\nbullet trails\nbullet train\nbulletproof vest\nbullets\nbullets inside\nbullets whizzing past\nbullets whizzing past camera\nbulli\nbullpup\nbullrushes\nbully maguire\nbullying\nbulma from dragon ball\nbum\nbumblebee\nbumblebee pug\nbump in form of hand\nbump map\nbump mapped\nbump mapping\nbumped three-dimensional fetures\nbumper cars\nbumps\nbumpy\nbumpy mottled skin\nbumpy nose\nbumpy skin\nbun\nbun )\nbungie\nbunker\nbunkers\nbunnies\nbunny\nbunny ears\nbunny girl\nbunny head\nbunny leg\nbunny suit\nbunny with helmet and sword\nbunnypunk\nburberry\nburberry hoody\nburdisio\nbureau of engraving and printing\nburger\nburger face\nburger king\nburger on a plate\nburger with a mouth\nburger with human eyes\nburger with human mouth\nburied in sand\nburka\nburlap\nburlesque\nburlesque elf\nburlesque psychobilly\nburly\nburly man\nburn\nburn scar left cheek\nburne hogarth\nburned\nburned cars\nburned city\nburned forest\nburning\nburning battlefield background\nburning bright\nburning building\nburning buildings\nburning bus crash inferno\nburning bus inferno\nburning cars\nburning city\nburning city background\nburning city in background\nburning clouds\nburning down\nburning embers\nburning eyes\nburning fire\nburning fire embers\nburning fires\nburning flames\nburning forest\nburning halo\nburning hands\nburning houses\nburning in hell\nburning inferno\nburning man\nburning man nevada\nburning ocean\nburning overgrowth\nburning pulse\nburning red desert horizon\nburning scene in the background\nburning ships\nburning trees\nburning village\nburning village in background\nburning water\nburning white eyes\nburning wings\nburning world\nburning wrecked mercedes 1 2 4\nburning wrecked mercedes 124\nburnout\nburnt\nburnt armor\nburnt edges\nburnt forest\nburnt huts\nburnt paper\nburnt sienna\nburnt sienna and cerulean blue\nburnt sienna and venetian red\nburnt umber\nburnt umber and blue\nburried in snow at night\nburst of colour\nburst of powders\nburst of power\nbursting neon stars\nbursting with blue light\nbursting with holy light\nbursting with muscles\nbursting with positive energy\nbursts of color\nburt reynolds\nburtonesque\nbus\nbus station\nbus station exploded\nbus stop\nbus stop on a rainy day\nbuses\nbushes\nbushes and leafs\nbushes in the background\nbushes in the foreground\nbushes of blueberry\nbushfire\nbushveld background\nbushy beard\nbushy eyebrows\nbushy grey eyebrows\nbushy moustache\nbushy tail\nbushy white beard\nbusiness\nbusiness attire\nbusiness card\nbusiness clothes\nbusiness logo\nbusiness meeting\nbusiness men\nbusiness outfit\nbusiness suit\nbusiness surrounding\nbusiness woman\nbussiere\nbussiere and roberto ferri\nbussiere rutkowski andreas rocha\nbust\nbust of hercules\nbust portrait\nbust portrait of a knight\nbust shot\nbust view\nbust with a beautiful neck\nbust with a long beautiful neck\nbust with a very long neck\nbust with face of emma watson\nbust with intricate details\nbusted\nbusted crushed face\nbuster sword\nbustling\nbustling city\nbustling with people\nbusty\nbusy\nbusy background\nbusy but lonely\nbusy city\nbusy city on background\nbusy cityscape\nbusy crowds\nbusy cyberpunk metropolis\nbusy market\nbusy night\nbusy people\nbusy restaurant\nbusy room\nbusy small town street\nbusy street\nbusy streets\nbusy streets filled with people\nbusy wet street at night\nbusy with people\nbusytown\nbut a stern look about her\nbut as a dragon\nbut as a photograph\nbut as a real life photograph\nbut as an anthropomorphic dragon\nbut as high contrast photography\nbut as macro photography\nbut as macro!!!!! photography\nbut as photography\nbut can only be burned\nbut eerie\nbut futuristic food\nbut is mostly wood\nbut minimalist\nbut monster is dendritic\nbut not pretty\nbut not quite\nbut resolute\nbut slower in changing\nbut the armor covers her face\nbut very good looking”\nbut what do you mean\nbut who's to judge\nbut with thin\nbutcher\nbutcher angry rotting zombie\nbutcher billy\nbutcher billy style\nbutress tree roots\nbutter\nbutter sculpture\nbuttercup eating pizza\nbuttercups\nbutterflies\nbutterflies and birds\nbutterflies and sunrays\nbutterflies and worms\nbutterflies floating in the sky\nbutterflies flying\nbutterflies in the foreground\nbutterfly\nbutterfly embroidery\nbutterfly in jar\nbutterfly jewelry\nbutterfly lighting\nbutterfly pop art\nbutterfly roller skates\nbutterfly squid\nbutterfly stroke\nbutterfly wings\nbutterflyfish\nbutton - up shirt\nbutton eyes\nbutton nose\nbutton potenciometers\nbutton up shirt\nbuttons\nbuttress tree roots\nbuttresses\nbuttshape\nbuxom\nbuxom chested\nbuying beers in the british bar\nbuzz cut\nbuzz cut gray hair\nbuzz cut hair\nbuzz lightyear\nbuzz lightyear  film\nbuzz lightyear ( film )\nbuzzed hair\nbuzzed hair on temple\nbuzzed short dark hair\nbuzzed sides\nbuzzing fluorescent lights\nbvlgari\nbvlgari jewelry\nbw\nbw 3 d render\nbw 3d render\nbw close - up profile face\nbw photo\nby :5\nby :5 sexy: 7\nby claude monet\nby david lynch\nby delphin anjolras\nby emmanuel lubezki\nby greg rutkowski\nby jake parker\nby james jean\nby jean giraud\nby jim bush and ed repka\nby joseph binder\nby m. c. escher\nby makoto shinkai\nby rainer hosch\nby rossdraws\nby ruan jia and stanley artgerm\nby shirow masamune\nby studio ghibli\nby thomas kinkade\nby tite kubo\nby tom bagshaw\nby tom bagshaw and boris vallejo\nby tom purvis\nby wes wilson\nbyzantine\nbyzantine mosaic\nbyzantine painting\nbyzantine ruins\nbéla tarr\nc 10.0\nc 12.0\nc 4 d\nc 4 d style\nc 4 d ”\nc anon 5 d 5 0 mm lens\nc anon 5 d 50 mm lens\nc. m. coolidge\nc. r. stecyk iii\nc1970\nc1976\nc3po\nc4\nc4 explosive\nc4d\nca\nca. 1990\nca. 2001\ncaaats\ncabbage trees\ncabin\ncabin in the woods\ncabin lights\ncabinet furniture\ncabinet of curiosities\ncabinets\ncable\ncable electric wires\ncable plugged in\ncable plugged into cyberdeck\ncable wire implants\ncable wires\ncable wires as hair\ncables\ncables and monitors\ncables and tubes\ncables and wires\ncables connected to head\ncables everywhere\ncables hanging\ncables hanging from ceiling\ncables on floor\ncables on her body\ncables on walls\ncables out of the ears\ncacodemon\ncacti\ncacti everywhere\ncactus\ncactus adjacent\ncactus and flowers\ncactus and pearls over the head\ncad\ncad cam cae\ncad design of lawnmower\ncadmium red\ncaernarfon castle\ncaesar\ncaesar victorious\ncafe\ncafe for felted animals\ncafe for mice\ncafe in the clouds\ncafe interior\ncafe lighting\ncafe racer\ncafe tables\ncage\ncages\ncahaba river alabama\ncai guo-qiang\ncai xukun\ncaidychen\ncain\ncaio santos\ncairo\ncait miers\ncaitlyn from league of legends\ncake\ncake art\ncake in hand\ncake sculpture\ncakes\ncal kestis lightsaber wallpaper\ncal-arts\ncalamity\ncalanque\ncalarts\ncalatrava\ncalavera\ncalcite\ncalculus\ncalcutta\ncaleb from critical role\ncaleb worcester\ncaledonian forest\ncalendar says monday\ncalf\ncalico\ncalico cat\ncalifornia\ncalifornia coast\ncalifornia roll\ncalifornia;\ncaligrafiturism style\ncaligraphy\ncall now\ncall of cthulhu\ncall of duty\ncall of duty zombies\ncalled 'the last supper'\ncalled elysion\ncalled the last supper\ncalligraphic poetry\ncalligraphy\ncalligraphy border\ncalligraphy formula\ncallouts\ncalm\ncalm afternoon\ncalm and contented painting\ncalm and mysterious vibes\ncalm and serene\ncalm atmosphere\ncalm clouds\ncalm colors\ncalm environment\ncalm evening\ncalm expression\ncalm eyes\ncalm face\ncalm feeling\ncalm lighting\ncalm night. digital illustration\ncalm night. over shoulder shot\ncalm ocean\ncalm ocean landscape\ncalm sea\ncalm sea and beach background\ncalm seas\ncalm serene atmosphere\ncalm serene relaxed\ncalm vivid colors\ncalm water\ncalm waves\ncalm weather\ncalming\ncalmly conversing 8k\ncalotype\ncalude monet style\ncalvin and hobbes\ncalvin klein\ncalvin klein photograph\ncalvin klein photography\ncalzone zone\ncam\ncam de leon\ncam de leon & john j. park\ncam de leon john j. park\ncamaraderie\ncambodia\ncambrian\ncamcorder\ncamcorder effect\ncamel\ncamel god\ncamel statue\ncamelot\ncamels\ncameo\ncamera\ncamera angle from below\ncamera angle looking up at her\ncamera bloom\ncamera close to the legs\ncamera close up\ncamera face\ncamera flash\ncamera flash is so bright\ncamera flash on\ncamera footage\ncamera from a low angle\ncamera glare in oil style\ncamera looking down into the maw\ncamera looking down upon\ncamera looking up\ncamera looking up at her\ncamera low\ncamera obscura\ncamera on the ground\ncamera photo\ncamera pov\ncamera pulled back far\ncamera shaking\ncamera shutter iris\ncameraphone\ncameraphone 2002\ncameras\ncameras lenses\ncameron diaz portrait\ncamilla luddington\ncamille vivier\ncamilo gc\ncammy\ncamo\ncamo made of out teeth\ncamo made of teeth\ncamouflage\ncamouflage made of love\ncamouflage scheme\ncamouflage uniform\ncamouflaged gear\ncamp\ncamp fire\ncamp half-blood\ncamp x-ray\ncampau mike style\ncampbell's soup can\ncamper\ncampfire\ncampfire background\ncampfire in background\ncamping\ncamps in the background\ncampsites\ncampy\ncampy and colorful\ncampy color scheme\ncampy. cow costume with udders\ncan\ncan basdogan\ncan of paint\ncan of shark spam\ncanada\ncanada goose\ncanadian goose with a funny hat\ncanadian maple leaves\ncanal\ncanals\ncanary wharf\ncandid\ncandid flash photography\ncandid photo\ncandid photo of gal gadot\ncandid photograph\ncandid photography\ncandid picture\ncandid portrait\ncandid portrait of joe biden\ncandid portrait photo\ncandid portrait photograph\ncandid shot\ncandid street photography\ncandid!! dark background\ncandies\ncandle\ncandle dripping wax\ncandle dripping white wax\ncandle light\ncandle lighting\ncandle lightning\ncandle lights\ncandle lit\ncandle volumetric\ncandle wax\ncandlelight\ncandlelit\ncandlelit catacombs\ncandlelit restaurant table\ncandles\ncandles dripping wax\ncandles in foreground\ncandles!\ncandles. baroque elements\ncandy\ncandy - coated\ncandy apple\ncandy brains and broken bones\ncandy canes\ncandy colors\ncandy decorations\ncandy forest\ncandy girl\ncandy hospital room\ncandy land\ncandy pastel\ncandy rush\ncandy shop in a mall\ncandy treatments\ncandy worms\ncandyland\ncandypunk character design\ncane\ncanine\ncanines sports photo\ncannabis\ncannabis - sativa - field\ncannabis leaves\ncannabis paranoia\ncannabis!\ncanned dog food on a plate\ncannes\ncannon\ncannon ef 6 5 mm f / 2. 8\ncannon ef 65 mm f / 2. 8\ncannon mounted on back\ncannon photo\ncannon snow covered trees\ncannonballs\ncannons\ncanoe\ncanon\ncanon 1 - dx\ncanon 1 0 0 mm\ncanon 1 0 0 mm f / 2. 8\ncanon 1 d\ncanon 100 mm\ncanon 100 mm f / 2. 8\ncanon 2 0 0 mm\ncanon 2 0 mm\ncanon 2 0 mm lens\ncanon 2 4 mm f / 1. 4 lens\ncanon 20 mm\ncanon 20 mm lens\ncanon 200 mm\ncanon 20mm\ncanon 20mm lens\ncanon 24mm\ncanon 24mm f11 aperture\ncanon 24mm lens\ncanon 3 0 0 mm\ncanon 3 5 mm photography\ncanon 300 mm\ncanon 300mm\ncanon 35 mm photography\ncanon 35mm lens\ncanon 35mm lens f8 aperture\ncanon 40mm view\ncanon 5 0 mm\ncanon 5 0 mm lens\ncanon 5 d\ncanon 5 d 5 0 mm lens\ncanon 5 d 5 0 mm lens kodachrome\ncanon 5 d 50 mm lens\ncanon 50 mm\ncanon 50mm\ncanon 50mm lens\ncanon 5d\ncanon 5d 50 mm lens\ncanon 5d mark iii\ncanon 5d mark iii photo\ncanon 7 d\ncanon 8 0 d\ncanon 8 0 mm\ncanon 8 5 mm\ncanon 8 5 mm f 1. 2 photograph\ncanon 80 d\ncanon 80 mm\ncanon 85 mm\ncanon 85 mm f 1. 2 photograph\ncanon a 1\ncanon a1\ncanon c300\ncanon camera\ncanon dslr\ncanon ef 85mm f/1.4l is usm\ncanon eos\ncanon eos - 1 d mark ii\ncanon eos - 1 d x mark iii\ncanon eos 1 0 0 0 d\ncanon eos 1000d\ncanon eos 5 d mark iv\ncanon eos 5 d mark iv camera\ncanon eos 5d mark 2\ncanon eos 5d mark iv\ncanon eos 6d\ncanon eos 7 d\ncanon eos 7d mark ii\ncanon eos 90d\ncanon eos c 3 0 0\ncanon eos c 300\ncanon eos c300\ncanon eos digital rebel xti\ncanon eos ef 5 0 mm\ncanon eos ef 50 mm\ncanon eos m50\ncanon eos r 3\ncanon eos r 5\ncanon eos r 6\ncanon eos r3\ncanon eos r5\ncanon eos r7 2006\ncanon eos rebel\ncanon eos-1d mark ii\ncanon f / 1. 8 g af - s dx\ncanon lens\ncanon m 5 0\ncanon m 50\ncanon macro lens\ncanon mark ii\ncanon nikon\ncanon on chest\ncanon photo\ncanon portrait\ncanon pro\ncanon r 3\ncanon r 5\ncanon rf 8 0 0 mm f / 5. 6 l\ncanon rf 800 mm f / 5. 6 l\ncanon shot\ncanon ts-e 17 mm\ncanon ts-e 17mm\ncanon ts-e 17mm f/4\ncanon wide - angle lens\ncanon- 70-200mm lens\ncanopee\ncanopies\ncanopy\ncans\ncant believe it is real\ncantered\ncanva\ncanvas\ncanvas art\ncanvas art print\ncanvas coated with red paint\ncanvas oil painting\ncanvas painting\ncanvas print\ncanvas texture\ncanyon\ncanyon background\ncanyon topography\ncanyons\ncap\ncapacitors\ncapacitors and coils inside\ncaparison\ncaparisons\ncapcom\ncapcom official media\ncape\ncapillaries\ncapirote\ncapital\ncapital city\ncapital of estonia\ncapital plaza\ncapital sin of pride\ncapitalism\ncapitalism realism\ncapitalist\ncapitalist clown\ncapitol building\ncapitol hill\ncapitol riot\ncapoeira\ncappuccino\ncapri coast\ncapricious\ncaps sideways\ncapsule hotel\ncaptain\ncaptain america\ncaptain falcon\ncaptain hat\ncaptain jack sparrow\ncaptain jean-luc picard\ncaptain kirk\ncaptain marvel\ncaptain picard\ncaptivating\ncaptivating 8 k hdr\ncaptivating 8k hdr\ncaptivating and enticing\ncaptivating eyes\ncaptivating glowing lights\ncaptivating look\ncaptura\ncapture\ncaptured in bottles\ncaptured in low light\ncaptured on canon eos r 6\ncaptured on iphone\ncaptured with sony a3 camera\ncaptures emotion and movement\ncapybara\ncapybara pirate\ncapybaras in tokyo\ncar\ncar accident\ncar chase\ncar chase scene\ncar commercial photograph\ncar concept\ncar concept art\ncar crash\ncar crash test\ncar design\ncar drifting\ncar engine\ncar engine concept\ncar garage\ncar jump\ncar jumping\ncar lights\ncar made of meat\ncar moving fast\ncar on fire\ncar on highway\ncar on sale\ncar paint\ncar parts concept\ncar photography\ncar shot\ncar sketch\ncar tesla 3\ncar trading game\ncar traffic\ncar vs knight\ncar with holographic paint\ncar wreck\ncara delevigne\ncara delevingne\ncara delevingne standing\ncaracal\ncaracal cyborg\ncaracal head\ncaracter with brown hat\ncaramel\ncaramel. rugged\ncaran d'ache luminance\ncaran dache luminance\ncarapace\ncaravaggesque style\ncaravaggio and artgerm\ncaravaggio and moebius\ncaravaggio style\ncaravagio\ncaravan\ncarbide lamp\ncarbon\ncarbon blac and antique gold\ncarbon black and antique gold\ncarbon fiber\ncarbon fibers\ncarcass carrion covered in flies\ncarcassonne\ncard\ncard art\ncard back template\ncard frame\ncard game\ncard game illustration\ncard template\ncardboard\ncardboard cutout\ncardboard cutout of tentacles\ncardboard pinhole camera\ncardboard tunnels\ncardboards ; mess\ncardcaptor sakura\ncardi b\ncardiac anatomy\ncardigan\ncardistry\ncards\ncardstock\ncarefree\ncarefully crafted\ncarefully designed\ncarefully drawn\ncareless\ncaretaker\ncarey price goaltender\ncargo pants\ncargo pants. cyberpunk city\ncargo shorts\ncargo spaceships\ncaribbean\ncaricatural\ncaricature\ncaricature illustration\ncaricature style\ncaricature!!!\ncaricaturist\ncarice van houten\ncaring\ncaring alien life form\ncaring fatherly wide forehead\ncarl critchlow. moody\ncarl friedrich\ncarl friedrich deiker\ncarl gustav\ncarl gustav carus\ncarl sagan\ncarl spitzweg:7\ncarl wahlbom\ncarl zeiss\ncarl zeiss 8 5 mm vintage lens\ncarles dalmau\ncarlos huante\ncarlos huante and doug chiang\ncarlos ortega elizalde\ncarlos samuel araya\ncarlos shwabe\ncarmelo blandino\ncarmen dell  orefice\ncarmen dell ’ orefice\ncarmen electra\ncarmen kass\ncarmen sings beautifully\ncarmilla vampire\ncarnage\ncarnage fangs\ncarnal  wet\ncarnal ) wet\ncarnation\ncarnaval de barranquilla\ncarne griffiths\ncarne griffiths'\ncarneval\ncarnival\ncarnival background\ncarnival mask\ncarnival on the background\ncarnivore\ncarnivore dinosaur\ncarnivorous\ncarnivorous plant\ncarnivorous plants\ncarola rubio\ncarole feuerman\ncarolina reaper\ncaroline foster\ncaroline gariba\ncarousel\ncarpathian mountains\ncarpe diem\ncarpenter\ncarpet\ncarpet at the floor\ncarpeted floor\ncarpool karaoke\ncarrara marble\ncarravaggio\ncarravaggion\ncarriage\ncarriage full of computers\ncarriage made of pumpkins\ncarriages with horses\ncarribean turquoise water\ncarribean white sand\ncarrington\ncarrion\ncarrot\ncarrots\ncarroty hair\ncarrying a bottle of perfume\ncarrying a guitar\ncarrying a gun\ncarrying a laser gun\ncarrying a magical staff\ncarrying a rifle\ncarrying a saddle bag\ncarrying a scoped hunting rifle\ncarrying a sword\ncarrying a tray\ncarrying big sack\ncarrying flowers\ncarrying guns\ncarrying mosin on back\ncarrying survival gear\ncarrying swords on his back\ncarrying two barbells\ncars\ncars and people\ncars crashed\ncars on the road\ncars parked\ncars parked underneath\ncars pixar movie style\ncars portraits\ncarson ellis\ncart\ncart wheels\ncartier\ncartier style\ncartographic\ncartography\ncartography map art\ncartoon\ncartoon art\ncartoon art style\ncartoon artstyle\ncartoon brew\ncartoon carticature\ncartoon character\ncartoon concept art\ncartoon creature\ncartoon digital art\ncartoon digital painting\ncartoon drawing\ncartoon eyes\ncartoon face\ncartoon fantasy spaceship\ncartoon from the 90's\ncartoon illustration\ncartoon image\ncartoon look\ncartoon moody scene\ncartoon network\ncartoon network stillframe\ncartoon network style\ncartoon painting\ncartoon paper coffee cup\ncartoon pixar style\ncartoon portrait\ncartoon proportions\ncartoon shading\ncartoon still\ncartoon strip\ncartoon style\ncartoon style illustration\ncartoon turtles\ncartoonish\ncartoonish and simplistic\ncartoonish cute\ncartoonish graphic style\ncartoonish style\ncartoonish vector style\ncartoonist\ncartoons\ncartoony\ncartoony lighting\ncartoony shaders\ncartouche\ncarvaggio\ncarvagio\ncarved\ncarved black marble\ncarved bone ruff\ncarved floor\ncarved from sapphire stone\ncarved in marble\ncarved in stone\ncarved in white marble\ncarved in wood\ncarved into the side of a tree\ncarved ivory\ncarved marble\ncarved marble statue\ncarved marble texture silk cloth\ncarved soap\ncarved stone\ncarved white marble\ncarved wood\ncarving\ncarvings\ncas\ncascade\ncascade helmet\ncascadia\ncascadian\ncascading\ncascading hair\ncascading highrise\ncascading iridescent waterfalls\ncascading waterfalls\ncase\ncaseless ammunition\ncasette futurism\ncasey baugh and james jean\ncasey cooke\ncasey weldon\ncash\ncash on a sidetable\ncash register\ncasimir art\ncasino\ncasiopea\ncasket\ncaspar david\ncaspar friedrich\ncaspar james gurney\ncasper the friendly ghost\ncassandra cain\ncassandra cain in satin\ncassette\ncassette futurism\ncassette futurist\ncassette tape\ncast\ncast across the night sky\ncast glass\ncast glass eyes\ncast in epoxy\ncast iron material\ncast shadows\ncastelvania\ncasting\ncasting a fire spell\ncasting a flame spell\ncasting a magic spell\ncasting a multi colored spell\ncasting a powerful spell\ncasting a protection spell\ncasting a root spell\ncasting a spell\ncasting a spell on a potion\ncasting an evil spell\ncasting chaos magic\ncasting dark magic\ncasting demonic magic\ncasting epic spell\ncasting evil spell\ncasting fire spell\ncasting fireball\ncasting light magic\ncasting long shadows\ncasting magic\ncasting magic spell\ncasting nature magic\ncasting shadows\ncasting spell\ncasting spells\ncastle\ncastle background\ncastle core\ncastle great hall\ncastle in background\ncastle in distance\ncastle in the background\ncastle in the clouds\ncastle in the distance\ncastle in the middle\ncastle in the sky\ncastle in the sky style\ncastle library\ncastle made of clouds\ncastle on the background\ncastle on the mountain\ncastle ruins\ncastle scene manga\ncastle setting\ncastle towers\ncastle town\ncastle wall\ncastles\ncastles and temple details\ncastles floating in mid air\ncastlevania\ncastlevania inspired\ncastlevania sotn\ncastlevania witch\ncasual\ncasual black clothing\ncasual business outfit\ncasual clothes\ncasual clothing\ncasual clothing style\ncasual game\ncasual green clothing\ncasual modern clothing\ncasual outfit\ncasual photography\ncasual playrix games\ncasual pose\ncasual streetwear\ncasual summer clothes\ncasual white garment\ncasually dressed\ncat\ncat  playing a piano\ncat - like scarlet eyes\ncat - superman\ncat [ playing a piano ]\ncat and dog licking each other\ncat as super mario\ncat attacking tokyo\ncat bunny\ncat cat dreamcats\ncat design\ncat detailed\ncat dog hybrid\ncat dog teddy mix\ncat donald rumsfeld\ncat drinking milk\ncat ears\ncat ears and cat tail!\ncat ears and tail\ncat ears on her head\ncat eating\ncat eating pizza\ncat eye\ncat eyes\ncat face\ncat female with a whit and chest\ncat from the void\ncat furry\ncat giraffe hybrid\ncat girl\ncat head\ncat in space\ncat in the forest\ncat in the hat\ncat is floating in air\ncat masterpiece\ncat merged elephant head cow\ncat on a windowsill\ncat on the table\ncat on the table in front of her\ncat on top of dog\ncat photo\ncat photography\ncat playing chess looking wise\ncat playing lute in the garden\ncat portrait\ncat portrait painting\ncat riding a bicycle\ncat robot\ncat seahorse fursona\ncat seahorse shapeshifter\ncat silhouette\ncat sleeping\ncat smoking a cigar\ncat smoking a cigarette\ncat summoning a spaceship\ncat summons a spaceship\ncat tail\ncat the assassin\ncat theme banner\ncat theme logo\ncat tower\ncat warrior\ncat wearing a top hat\ncat witch\ncat with a hat\ncat with a pearl earring\ncat with laser eyes\ncat with lute\ncat woman\ncat. digital painting\ncataclysm\ncataclysmic\ncatacomb in background\ncatacombs\ncatalog\ncatalog exhibition\ncatalog photo\ncatalog print\ncatalogue photo\ncatalogue photography\ncatalogue raisonne\ncatapult\ncatapults\ncataract. subsurface scattering\ncatarthic\ncatastrophe\ncatastrophe ballet\ncatastrophic\ncatchlight in the eyes\ncatchlight on the eyes\ncatchlight on the eyes!\ncatdog\ncate blanchet\ncate blanchett\ncate blanchett as galadriel\ncate blanchett as medieval queen\ncategory b film poster\ncatgirl\ncathedral\ncathedral background\ncathedral ceiling\ncathedral in the background\ncathedral of sun\ncathedral!!!!!\ncathedrals\ncathedrals and abbeys\ncatherine nolin\ncathode ray tube\ncathode ray tube distortion\ncatholic\ncatholic icon\ncatholic punk\ncatholic religious art\ncatholicpunk\ncathrin machin\ncatia\ncatman\ncatnet\ncats\ncats and plants\ncats cat dreamcats\ncats musical 1 9 9 8\ncats on her side\ncats party\ncats playing chess\ncats playing poker\ncats sleeping\ncats! are around\ncatsare around\ncatscatscats\ncatss\ncatsuit\ncattie - brie of mithril hall\ncatwalk\ncatwalk photo\ncatwalks\ncatwoman\ncaucasian\ncaucasian eyes\ncaught\ncaught in 4 k\ncaught in 4k\ncaught in the flow of time\ncaught on camera\ncaught on security camera\ncaught on trail cam\ncauldrons\ncaulfield\ncaulicoli\ncaustic\ncaustic light\ncaustic lighting\ncaustic lights\ncaustic projection\ncaustic shadows\ncaustic shadows lighting\ncaustics\ncaustics and refraction\ncaustics effects\ncaustics lighting from above\ncaustics reflections\ncaustics shadows\ncautious\ncavalier king charles spaniel\ncavalry\ncavalry charge\ncave\ncave art\ncave art style\ncave background\ncave crystals\ncave drawings\ncave entrance\ncave exploration\ncave glowing stones\ncave lighting\ncave like teeth\ncave painting\ncave painting of mona lisa\ncave painting of the mona lisa\ncave paintings\ncave prison\ncave reflecting in the lava lake\ncave setting\ncave system\ncave town\ncave wall\ncave with waterfall\ncavern\ncavern ceiling visible\ncavernous\ncavernous interior wide shot\ncaves\ncaves of qud\ncaves!\ncavewoman\ncavities\ncaza\ncccp\ncctv\ncctv - c 8\ncctv camera footage\ncctv footage\ncctv footage of a movie set\ncd\ncd cover artwork\ncd jacket\ncds\ncdx\nceaseless watcher\ncecco bravo\ncedar\ncedric payravernay\ncedric peyranavernay\ncedric peyravernay. sharp focus\nceiling\nceiling fluorescent lighting\nceiling hides in the dark\nceiling to floor windows\nceilings\ncel - shaded\ncel - shaded art style\ncel - shading\ncel animation\ncel illustration\ncel shad\ncel shade\ncel shaded\ncel shaded anime\ncel shaded pbr\ncel shaded vector art\ncel shaded!!!\ncel shaded:15\ncel shading\ncel shadow\ncel-shaded\ncel-shaded:15\ncel-shaded:17\ncel-shading\ncel-shading style\nceladon glaze\ncelebrate goal\ncelebrating\ncelebrating a birthday\ncelebrating a king being crowned\ncelebrating an illegal marriage\ncelebrating day of the dead\ncelebration\ncelebration costume\ncelebration of coffee products\ncelebrities\ncelebrity\ncelery man\ncelestia\ncelestial\ncelestial asthetics\ncelestial aura\ncelestial background\ncelestial bodies\ncelestial collision\ncelestial color scheme\ncelestial cosmos\ncelestial gardens\ncelestial goddess\ncelestial light\ncelestial red flowers vibe\ncelestial regulator\ncelestialpunk\ncell\ncell - shaded\ncell - shading\ncell animation\ncell automata\ncell bars\ncell biology\ncell cover style\ncell journal\ncell phone\ncell phone photo\ncell phones\ncell shaded\ncell shaded adult animation\ncell shaded anime intricate\ncell shaded art\ncell shaded cartoon\ncell shaded graphics\ncell shaded!!!\ncell shader shading\ncell shading\ncell shading.  rb 6 s\ncell shading. ( rb 6 s\ncell shading. buy now rb 6 s\ncell shading. buy now! ( rb 6 s\ncell-shaded\ncell-shading\ncellar\ncello\ncellphone\ncells\ncellshaded\ncellshading\ncellular\ncellular automata\ncellular structures\ncelluloid\ncelshaded\ncelshaded art\ncelshading\nceltic\nceltic and cyberpunk armor\nceltic antlered god\nceltic art\nceltic art style\nceltic braid\nceltic culture\nceltic designs\nceltic druid\nceltic fantasy\nceltic fantasy art\nceltic golden symbols\nceltic hair braid\nceltic knot\nceltic knots\nceltic neon runes\nceltic norse frankish\nceltic symbols\nceltic vegetation\nceltics\ncement\ncement brick wall background\ncementary\ncementary of skulls\ncemetery\ncensored\ncentaur\ncentaur from greek mythology\ncentaur horse\ncenter\ncenter angle\ncenter composition\ncenter focus\ncenter focus on table\ncenter focused\ncenter frame\ncenter frame medium shot\ncenter frame portrait\ncenter framing\ncenter model buildings\ncenter of focus\ncenter of frame\ncenter of image\ncenter of interest\ncenter of picture\ncenter of sky\ncenter of the frame\ncenter of the universe\ncenter parted bangs\ncenter parted brown hair\ncenter parted curtain bangs\ncenter punched\ncenter spotlight\ncenter straight composition\ncenter universe\ncenter view\ncenterd\ncentered\ncentered and symmetrical\ncentered close-up\ncentered composition\ncentered design\ncentered dot pupil\ncentered elven\ncentered eye\ncentered face\ncentered face shot\ncentered focus\ncentered full body\ncentered full body pose\ncentered full body rear-shot\ncentered full body shot\ncentered full-body shot\ncentered headdress\ncentered horizon\ncentered hyperrealistic\ncentered image\ncentered in a frame\ncentered in frame\ncentered in image\ncentered in panel\ncentered in picture\ncentered in portrait\ncentered in the frame\ncentered mass\ncentered on face\ncentered painted portrait\ncentered portrait\ncentered position\ncentered radial design\ncentered rim lighting\ncentered shot\ncentered shoulders up view\ncentered subject\ncentered symmetrical\ncentered thin ring iris\ncentered torii gate\ncentered wide framed window\ncentered!!\ncentered!!!\ncentered!!!!\ncentered!!!!!\ncenterede\ncenterfold\ncenterframe\ncenterpiece\ncenterpiece symmetry\ncentimeters away from my face\ncentipede\ncentral california\ncentral circular composition\ncentral composition\ncentral farm\ncentral focus\ncentral hub\ncentral park\ncentral parted fringe\ncentral pork\ncentral shot\ncentral station in sydney\ncentral subject\ncentral symmetrical composition\ncentral tree\ncentralised\ncentralized\ncentralized head and upper torso\ncentralized urban fantasy\ncentre composition\ncentre image\ncentred\ncentred award winning 4k\ncentred composition\ncentred in image\ncentred position\ncentred symmetrical portrait\nceo\nceo of microsoft gaming ( xbox )\nceoncept art\ncephalopod\nceramic\nceramic base\nceramic cyborg\nceramic looking face\nceramic pot\nceramic statue\nceramics\ncerberus\ncereal\ncereal box\ncereal mascot\ncerebellar peduncle\ncerebral corpus callosum\ncerebri movie poster\nceremonial\nceremonial clouds\nceremonial portrait\nceremonial ritual\nceremony\ncernunnos\ncerpuscular rays\ncerulean\ncerulean blue\ncerulean blue and burnt sienna\ncervix awakening\ncesede\ncessna\ncessna glider plane\ncevagraf comics\ncezanne\ncfd\ncfg = 3\ncfg _ scale 1 5\ncfg=50\ncg\ncg animation\ncg architects\ncg art\ncg artist\ncg awards gallery\ncg graphics\ncg original\ncg render\ncg rendering\ncg special effect\ncga\ncga graphics scheme\ncgartists\ncgartists trending\ncgcosiety\ncgi\ncgi 8k\ncgi animated\ncgi animation\ncgi art\ncgi clay sculpture\ncgi cutscene\ncgi detailed\ncgi render\ncgi rendering\ncgi society\ncgi special effects\ncgi style\ncgisociety\ncgivfx\ncgnation\ncgnode\ncgosciety\ncgrecord\ncgrender\ncgs society\ncgscociety\ncgscoiety\ncgsocciety r/art\ncgsociery\ncgsociety\ncgsociety # conceptart cg\ncgsociety )\ncgsociety - n 5\ncgsociety - no cameron\ncgsociety - w 1 0 2 4 - n 8 - i\ncgsociety - w 1024 - n 8 - i\ncgsociety 4 k\ncgsociety 4 k uhd\ncgsociety 4k\ncgsociety 4k uhd\ncgsociety 4k”\ncgsociety 8 k\ncgsociety 8k\ncgsociety 9\ncgsociety and fenghua zhong\ncgsociety artstation\ncgsociety award\ncgsociety concept art\ncgsociety contest winner!!\ncgsociety contest winner!!!\ncgsociety cyberpunk\ncgsociety gustav klimt frame\ncgsociety hd\ncgsociety inspired\ncgsociety masterpiece\ncgsociety portrait\ncgsociety saturated colors\ncgsociety uhd 4k\ncgsociety uhd 4k highly detailed\ncgsociety unreal engine\ncgsociety!\ncgsocietywlop\ncgssociety\ncgstation\ncgstudio\ncgtrader\ncgworld\nchad\nchaim soutine and frank auerbach\nchain\nchain mail\nchained skeleton\nchainmail\nchains\nchains and red fluid background\nchains broken on hands\nchains dangling from the ceiling\nchains hanging from ceiling\nchains on hands\nchainsaw\nchainsaw attached to hand\nchainsaw man\nchainsaw man manga\nchainsaw sword\nchainsaw sword katana\nchainsword in the other\nchair\nchairlifts\nchairman mao\nchairs\nchairs and tables\nchakra diagram\nchakra diagram face\nchakras\nchalet\nchalk\nchalk art\nchalk cliffs above\nchalk digital art\nchalk drawing\nchalk texture on canvas\nchalk white skin\nchalkboard\nchalked\nchalky\nchamber\nchambers\nchambliss giobbi\nchameleon\nchamomile\nchamonix\nchampagne\nchampagne commercial\nchampagne on the table\nchampion\nchandelier\nchandeliers\nchandler bing\nchanel\nchanel boots\nchange\nchangeless\nchangelingcore\nchangquan\nchannel\nchannel 4\nchanneling mana\nchanneling mystical energy\nchanneling swirling energy\nchanneling third eye energy\nchaos\nchaos beauty\nchaos comics\nchaos is visible\nchaos magick\nchaos marine\nchaos nightmare ❄️ amour\nchaos nightmare ❄️ amour venom\nchaos space marine\nchaos!!!\nchaotic\nchaotic and brutal\nchaotic atmopshere\nchaotic atmosphere\nchaotic cinematic space rift\nchaotic composition\nchaotic fractal patterns\nchaotic gold leaf flowers\nchaotic landscape\nchaotic patterns\nchaotic punk\nchaotic revenge\nchaotic riots in 2022\nchaotic sea setting\nchaotic storm of liquid smoke\nchaotic swirling ferrofluids\nchaotic teenage bedroom\nchappie\nchappie in an adidas track suit\nchappie the robot\nchar\nchar aznable album art\ncharachter design\ncharacter\ncharacter - portrait\ncharacter adoptable\ncharacter album cover\ncharacter animation\ncharacter art\ncharacter art closeup\ncharacter art of maple story\ncharacter art portrait\ncharacter art the contra\ncharacter art. sc-fi. cover art\ncharacter artist\ncharacter artwork\ncharacter centred\ncharacter close up\ncharacter close-up\ncharacter cohesion\ncharacter concept\ncharacter concept art\ncharacter concept art portrait\ncharacter concept artwork\ncharacter concept design\ncharacter concept exploration\ncharacter concept explorations\ncharacter concept model\ncharacter concept portrait\ncharacter concept portrait of me\ncharacter concept reference art\ncharacter concepts\ncharacter creation\ncharacter design\ncharacter design : : gothic\ncharacter design art\ncharacter design concept\ncharacter design concept art\ncharacter design contest winner\ncharacter design for animation\ncharacter design from d & d\ncharacter design humanoid\ncharacter design police man\ncharacter design police man!!\ncharacter design portrait\ncharacter design sheet\ncharacter design sketch\ncharacter designs\ncharacter designs painting\ncharacter dragonball\ncharacter drawing\ncharacter exploration\ncharacter face study\ncharacter faces\ncharacter focus\ncharacter from king of fighters\ncharacter from mortal kombat\ncharacter full body portrait\ncharacter headshot concept art\ncharacter headshot portrait\ncharacter icon\ncharacter illustration\ncharacter illustrations\ncharacter is covered in liquid\ncharacter is flying\ncharacter is half in the water\ncharacter is in all its glory\ncharacter is in her natural pose\ncharacter is standing\ncharacter mashup\ncharacter model\ncharacter model sheet\ncharacter model sheet turnaround\ncharacter modeling\ncharacter painting\ncharacter photography\ncharacter portrait\ncharacter portrait art\ncharacter portrait closeup\ncharacter portrait of godzilla\ncharacter portrait of me\ncharacter posing\ncharacter posing for concept art\ncharacter poster\ncharacter profile art\ncharacter reference\ncharacter reference sheet\ncharacter render\ncharacter reveal\ncharacter sculpt\ncharacter select portrait\ncharacter selection screen\ncharacter sheet\ncharacter sheets on table\ncharacter silhouette\ncharacter splash art\ncharacter study\ncharacter turnaround\ncharacter with a hat\ncharacteristics of golden curve\ncharacters\ncharacters 8k symmetrical\ncharacters from azur lane\ncharacters from machinarium\ncharacters merged\ncharacters reference sheet\ncharacters walk\ncharactor\ncharcoal\ncharcoal and champagne\ncharcoal and silver color scheme\ncharcoal and yellow leather\ncharcoal art\ncharcoal color skin\ncharcoal drawing\ncharcoal line art\ncharcoal on paper\ncharcoal painting\ncharcoal pencil\ncharcoal portrait\ncharcoal sketch\ncharcoal skin\ncharcoal smudges\ncharge explosives\ncharging plug in the chest\ncharging through a dragons lair\ncharging through city\ncharicature\ncharioscuro\nchariot\ncharismatic\ncharismatic beautiful\ncharizard\ncharizard dog hybrid animal\ncharizard flying above new york\ncharles\ncharles baudelaire\ncharles bowater\ncharles burchfield art painting\ncharles burns\ncharles dulac. very large\ncharles maurice\ncharles monet\ncharles o. perry\ncharles perry\ncharles sheeler\ncharles sillem lidderdale\ncharles theodore frere\ncharles vess and thomas kinkade\ncharles vess. high detail\ncharli bowater\ncharli bowater and artgeem\ncharli xcx\ncharlie\ncharlie bowater and artgeem\ncharlie bowater and artgerm\ncharlie bowater and mark brooks\ncharlie bowater and tom bagshaw\ncharlie bowater art style\ncharlie bowater character art\ncharlie bowater rich deep colors\ncharlie chaplin dancing\ncharlie cox\ncharlie day\ncharlie immer\ncharlie immer and jenny saville\ncharlize\ncharlize theron\ncharmander\ncharmed sexy look\ncharming\ncharming black eyes\ncharming expression gesicht\ncharming eyes\ncharming sly smile\ncharming smile\ncharon\ncharon the ferryman of hades\ncharred\ncharred desert\nchartpak ad markers\nchartres cathedral\nchartreuse and orange and cyan\nchartreuse color scheme\ncharts\ncharybdis\nchase\nchase scene\nchasing a kangaroo\nchasing a robber down a street\nchasing action scene\nchasm\nchaste\nchateau de cheverny\nchateau de versailles\nchateau frontenac\nchaumet\nchaumet style\nchauvet\nchauvet cave\nchauvet cave art\nchav\nchawick the fail wizard\nche guevara\ncheap\ncheap abundant\ncheap design\ncheburashka\ncheckerboard background\ncheckerboard horizon\ncheckerboard pattern underwater\ncheckered floor\ncheckered motiffs\ncheckered pattern\ncheckered spiked hair\nchecking her cell phone\nchecking her phone\ncheddar\ncheekbones\ncheeks\ncheeky\ncheeky devil\ncheeky smile\ncheeky smile with red lips\ncheeky!!!\ncheerful\ncheerful ambient lighting\ncheerful atmosphere\ncheerful colors\ncheerful colours\ncheerful expression\ncheering\ncheering crowd\ncheering crowds\ncheerios\ncheerless\ncheers\ncheery\ncheeryblossom\ncheese\ncheese and pepperoni\ncheese and salami on the table\ncheese revolution\ncheeseburger\ncheeses\ncheesy\ncheesy iron maiden motifs\ncheetah\ncheetah running over clouds\nchef hat\nchef platypus\nchef saitama one punch man\nchef table\nchefs table\nchelate appendages\nchelicerae\nchell\nchell from portal\nchemical plant\nchemical substances\nchemical woekshop\nchemically damaged\nchemically propelled\nchemicals\nchemistry\nchemisty\nchemrail\nchengwei pan\nchengwei pan on artstation\nchengyou liu\ncheongsam\nchequered cape\ncherenkov radiation\ncherished trees\ncherries\ncherry\ncherry blosom trees\ncherry blossom\ncherry blossom background\ncherry blossom falling\ncherry blossom forest\ncherry blossom petals\ncherry blossom rain everywhere\ncherry blossom tree\ncherry blossom trees\ncherry blossoms\ncherry blossoms in the wind\ncherry blossums\ncherry explosion\ncherry tree in the background\ncherry trees\ncherry-blossom-tree\ncherub\ncherubic\ncheshire cat\ncheshire cat death tarot card\ncheshire cat drinking tea\nchesley\nchess\nchess game\nchess knight\nchess motiffs\nchess pawn\nchess piece\nchess set\nchess tournament\nchessboard scientist\nchest\nchest and face\nchest coverd\nchest covered with palm leaves\nchest guard\nchest hair\nchest high\nchest legs\nchest plate with ferrari logo\nchest up bust shot\nchest up human lower half snake\nchesterfield\nchestnut hair\nchestplate\ncheval michael\nchewbacca\nchewbacca robbing a mcdonald's\nchewing\nchewing on a graphic card\nchewing on a video card\nchewing tobacco\nchi-gong\nchiaki nanami\nchiaki nanami from danganronpa\nchianti molotov cocktails\nchiaoscuro\nchiaroscuro\nchiaroscuro anime key visual\nchiaroscuro lighting\nchiaroscuro oil painting\nchiaroscuro painting\nchiaroscuro portrait\nchiaroscuro soft lighting\nchiaroscuro!!\nchiascuro\nchiba prefecture\nchibi\nchibi anime\nchibi anime girl\nchibi art\nchibi girl\nchibi monster girl\nchibi naruto biting into a pizza\nchibi proportions\nchibi style\nchic\nchicago\nchicago skyline\nchicano airbrush art\nchicken\nchicken dressed as an inmate\nchicken face morphed fish head\nchicken feather armor\nchicken feathers\nchicken nuggets\nchicken on top of a car\nchicken sandwich\nchickens\nchie yoshii\nchief keef\nchief keef in the garden of eden\nchiffon\nchihiro! fujisaki\nchiho\nchiho aoshima color scheme\nchiho ashima\nchihuahua\nchihuahua holding a camera\nchihuly\nchilaquiles\nchild\nchild drawing\nchild hybrid\nchild like\nchild of dark\nchild of light\nchild's drawing\nchildhood\nchildhood friend\nchildhood friend vibes\nchildhood memory\nchildish\nchildish gambino\nchildish look\nchildlike\nchildren\nchildren book illustration\nchildren born as ghosts\nchildren drawing\nchildren drawing with pencils\nchildren illustration\nchildren painting\nchildren playground\nchildren playing at the beach\nchildren playing with pogs\nchildren's\nchildren's animated films\nchildren's artwork\nchildren's book\nchildren's book art\nchildren's book cover\nchildren's book drawing\nchildren's book illustration\nchildren's book style\nchildren's cartoon\nchildren's drawing\nchildren's illustration\nchildren's storybook\nchildren's toy\nchildren's toy advertisement\nchildren's tv show\nchildren\\'s book drawing\nchildren\\'s illustration\nchildrenbook illustration\nchildrens\nchildrens art in artstation\nchildrens book\nchildrens book art\nchildrens book cover\nchildrens book illustration\nchildrens book style\nchildrens cartoon\nchildrens drawing\nchildrens illustrated storybook\nchildrens illustration\nchildrens toy\nchildrens toy advertisement\nchildren’s book illustration\nchildren’s drawing\nchilds bedroom\nchilds drawing\nchile\nchilean\nchili\nchill\nchill feeling\nchill out\nchill summer\nchill time. good view\nchill vibe\nchill vibes\nchilled out smirk on face\nchillhop\nchillin at the club together\nchilling\nchilling 4 k\nchilling on a leaf\nchillwave\nchilly\nchilly dark mood\nchimera\nchimeric\nchimeric organism\nchimerical\nchimney\nchimney with smoke\nchimneys\nchimneys on buildings\nchimpanzee\nchin-length hair\nchin-length purple hair\nchina\nchina blue eyes\nchina doll face\nchina silk 3d dragon\nchina town\nchina town blade runner\nchinatown\nchinatown bar\nchinchilla animal\nchinese\nchinese architecture\nchinese armor\nchinese art\nchinese artist\nchinese artist cai guo qiang\nchinese blue and white porcelain\nchinese brush pen\nchinese brush pen illustration\nchinese building\nchinese calligraphic painting\nchinese costume\nchinese crested powderpuff dog\nchinese dragon\nchinese dragon concept art\nchinese dragon engrave\nchinese dragons fighting\nchinese dress\nchinese empress\nchinese fantasy\nchinese girl\nchinese heritage\nchinese ink and wash painting\nchinese ink brush\nchinese ink painting\nchinese landscape\nchinese lanterns\nchinese men in a prison\nchinese mongolian script\nchinese mythology\nchinese new year in shanghai\nchinese painting\nchinese painting style\nchinese palace\nchinese president\nchinese president with bananas\nchinese princess\nchinese ribbon dance\nchinese style\nchinese style painting\nchinese surgery operating table\nchinese surrealism\nchinese temple\nchinese text\nchinese three kingdoms\nchinese village\nchinese warrior\nchinese water color\nchinese watercolor\nchinese watercolor style\nchinese woman\nchinnese mafia\nchinoiserie pattern\nchinoiserie wallpaper\nchip 'n dale\nchip n dale\nchipped paint\nchips\nchique\nchiral lighting\nchirico and rene magritte\nchiron\nchiroptera ears\nchiroptera head\nchiroptera nose\nchiseled\nchiseled abs\nchiseled architecture\nchiseled features\nchiseled formations\nchiseled good looks\nchiseled jaw\nchiseled jawline\nchiseled muscles\nchitin\nchitty chitty bang bang\nchloe bennet\nchloe grace moretz\nchloe moretz\nchloe price\nchloe price from life is strange\nchloë grace moretz\nchocolate\nchocolate art\nchocolate candy bar packaging\nchocolate city\nchocolate frosting\nchocolate river\nchocolate sauce\nchocolate.\nchocolate. highly detailed\nchocolate. intricate background\nchocolate. rugged\nchoi\nchoir\nchoke smirk smile grin\nchoker\nchoker around neck\nchoker necklace\nchoker on neck\nchomatic aberration\nchonker cat\nchoo choo\nchopping hands\nchopsticks\nchoreographed\nchoreographed fight scene\nchorizo sausage\nchozo\nchris achilleos\nchris bachalo\nchris bachalo comic art\nchris bangle\nchris bonura\nchris bourassa brooks gordon\nchris chan\nchris cunningham\nchris cunninham\nchris dyer\nchris evans\nchris evans as a bodybuilder\nchris evans as a powerlifter\nchris evans hatches from an egg\nchris evans peeks out of an egg\nchris evans portrait\nchris evans with a beer belly\nchris farley\nchris foss\nchris haas and bernini\nchris hemsworth\nchris hemsworth portrait\nchris hemsworth underwear ad\nchris knight\nchris mars\nchris martin from coldplay\nchris mcgrath\nchris moore. artgerm\nchris moore”\nchris nolan movie\nchris pine\nchris pratt\nchris pratt ancient corsican\nchris pratt as a potato chip\nchris pratt as mario\nchris pratt as super mario\nchris redfield\nchris rock slapping will smith\nchris saunders\nchris scalf\nchris tulloch mccabe\nchris van allsburg\nchriss foss\nchrist the redeemer\nchristalized\nchristian\nchristian art\nchristian bale\nchristian bale as the joker\nchristian cline\nchristian dimitrov\nchristian dior style\nchristian horner portrait\nchristian macnevin\nchristian mysticism\nchristian orrillo\nchristian saint\nchristian saint rosace\nchristian weston chandler\nchristianism\nchristianity\nchristina applegate\nchristina hendricks\nchristina kritkou\nchristina ricci\nchristmas\nchristmas lights\nchristmas night\nchristmas tree\nchristof romuald\nchristoper nolan\nchristoph waltz\nchristoph wohlgemuth\nchristophe szpajdel\nchristophe young\nchristophe young eytan zana\nchristopher\nchristopher alexander\nchristopher c. lee\nchristopher cao\nchristopher lloyd as belial\nchristopher lloyd as the joker\nchristopher morris photography\nchristopher nolan\nchristopher nolan film style\nchristopher shy\nchristopher walken\nchristopher walken super saiyan\nchroma\nchroma color\nchroma green background\nchromal aberration\nchromatic\nchromatic 3d geometry\nchromatic abberation\nchromatic abberations\nchromatic aberration\nchromatic aberration!!!!!\nchromatic aberrations\nchromatic abrasion\nchromatic color\nchromatic color scheme\nchromatic colors\nchromatic colours\nchromatic distortion\nchromatic filament\nchromatic gradient\nchromatic iridescence\nchromatic material\nchromatic skin\nchrome\nchrome accents\nchrome and carbon\nchrome and viscera and bone\nchrome armor\nchrome art\nchrome bob haircut\nchrome body\nchrome bodysuit\nchrome buildings\nchrome cathedrals\nchrome dance pole\nchrome dino\nchrome face symmetry\nchrome facial piercings\nchrome hearts\nchrome mask\nchrome metal material\nchrome military base\nchrome motorcycle parts\nchrome outfit\nchrome parts\nchrome plated\nchrome red\nchrome reflect\nchrome reflections\nchrome robot\nchrome silver\nchrome skeksis\nchrome skin\nchrome spheres on a red cube\nchrome tubes\nchrome vortex\nchromed metal\nchrometype\nchrometype aesthetics\nchromostereopsis\nchronicles of narnia\nchrono trigger\nchrono trigger guilty gear style\nchrysalis\nchrysanthemum\nchrysanthemum and hyacinth\nchrysanthemum and tulips\nchrysanthemum eos-1d\nchrysanthemums\nchrysler building\nchthonic\nchtulhu\nchuck\nchuck close and richard corben\nchuck close:7\nchuck e cheese\nchuck e. cheese\nchuck e. cheese head\nchuck jones\nchuck norris\nchuck roast norris\nchucky\nchucky style\nchun - li\nchun li\nchun li at the gym\nchun-li\nchungking express color palette\nchunk teeth\nchunky\nchunky build\nchunky gauntlets\nchunky!!!\nchupacabra\nchurch\nchurch background\nchurch background!\nchurch cathedral\nchurch chandelier\nchurch in the background\nchurch in the wood\nchurch interior\nchurch painting\nchurch window\nchurches\nchurchyard\nchurning\nchuvabak\nchâteau de cheverny\ncia\ncibercity\nciberpunk\ncicada wings\ncider - man\ncider-man\ncigar\ncigarette\ncigarette advertising\ncigarette dangling\ncigarette in hand\ncigarette in his mouth\ncigarette in mouth\ncigarette smoke\ncigarettes\ncigarrette boxes at the table\ncigars\ncimbri\ncimematic\ncinamtic\ncinder blocks\ncinderella\ncindmatic\ncindy avelino\ncine colors\ncine still\ncineastic\ncinecolor\ncinegraphic\ncinelux asa 1 0 0\ncinelux asa 100\ncinema\ncinema 4 d\ncinema 4 d art\ncinema 4 d cinematica\ncinema 4 d octane\ncinema 4 d render\ncinema 4 d sharp focus\ncinema 4d\ncinema 4d :9 detailed face: 8\ncinema 4d bright light render\ncinema 4d cinematic\ncinema 4d cinematic render\ncinema 4d colorful render\ncinema 4d multi-pass ray traced\ncinema 4d ray traced\ncinema 4d render\ncinema c 9. 0\ncinema effect\ncinema lighting\ncinema poster\ncinema quality\ncinema still\ncinema studio lights\ncinema verite\ncinema-4d\ncinema4d\ncinema4d render\ncinemascope\ncinemascope panorama\ncinematatic lighting\ncinemathic lights\ncinemati\ncinematic\ncinematic   very anime\ncinematic  concept art\ncinematic - lighting\ncinematic 3d render\ncinematic 4 k\ncinematic 4 k wallpaper\ncinematic 4k\ncinematic 4k blu-ray\ncinematic 4k blu-ray render\ncinematic 4k octane render\ncinematic 4k wallpaper\ncinematic 8 k\ncinematic 8 k hd movie shot\ncinematic 8k\ncinematic 8k hd movie shot\ncinematic 8k hdr\ncinematic 8k uhd\ncinematic accent lighting\ncinematic action\ncinematic action scene\ncinematic action shot\ncinematic aesthetic\ncinematic ambient lighting\ncinematic and atmospheric\ncinematic and cold atmospheric\ncinematic and dramatic\ncinematic and dramatic red light\ncinematic angle\ncinematic angles\ncinematic architectural scale\ncinematic art\ncinematic art shot\ncinematic arthouse\ncinematic atmospher\ncinematic atmosphere\ncinematic atmospheric\ncinematic atmospheric lighting\ncinematic atmospheric photo\ncinematic aura lighting\ncinematic back lit lighting\ncinematic background\ncinematic backlighting\ncinematic backlit lighting\ncinematic battle\ncinematic battlefield\ncinematic beautiful natural skin\ncinematic beeple\ncinematic beer\ncinematic blue and gold\ncinematic blue lighting\ncinematic body shot\ncinematic bright sunny daylight\ncinematic bust portrait\ncinematic bust shot\ncinematic camera\ncinematic centered camera\ncinematic cgsociety\ncinematic character\ncinematic character concept art\ncinematic chiaroscuro\ncinematic cinematography\ncinematic close shot\ncinematic close-up bust shot\ncinematic closeup\ncinematic closeup!!\ncinematic color\ncinematic color grade\ncinematic color grading\ncinematic color palette\ncinematic color scheme\ncinematic colors\ncinematic colors lighting\ncinematic colors sharp\ncinematic colour grading\ncinematic colour palette\ncinematic composistion\ncinematic composition\ncinematic composition 8 k\ncinematic composition 8k\ncinematic composition hdr\ncinematic compositions\ncinematic compositon\ncinematic concept\ncinematic concept art\ncinematic contrast\ncinematic contrasted lighting\ncinematic counter light\ncinematic dark lighting\ncinematic depth\ncinematic depth of field\ncinematic design\ncinematic detail\ncinematic detailed\ncinematic diane arbus\ncinematic diffuse lighting\ncinematic digital art\ncinematic digital painting\ncinematic dramatic\ncinematic dramatic atmosphere\ncinematic dramatic light\ncinematic dramatic lighting\ncinematic dramatic lights\ncinematic dull colours\ncinematic dynamic lighting\ncinematic eastman 5 3 8 4 film\ncinematic eastman 5384 film\ncinematic effect\ncinematic effects vfx\ncinematic environment\ncinematic epic\ncinematic epic shot\ncinematic establishing shot\ncinematic fantasy painting\ncinematic feel\ncinematic feeling\ncinematic film\ncinematic film still\ncinematic filter\ncinematic flavor\ncinematic focus\ncinematic focus dof\ncinematic footage\ncinematic forest lighting\ncinematic frame\ncinematic framing\ncinematic framing rule of thirds\ncinematic front lightning\ncinematic front shot\ncinematic full body shot\ncinematic full character\ncinematic full shot\ncinematic goddess body shot\ncinematic goddess close shot\ncinematic goddess shot\ncinematic grade\ncinematic grain\ncinematic gritty lighting\ncinematic headshot portrait\ncinematic highlights\ncinematic highly detailed\ncinematic hologram\ncinematic horror\ncinematic ilumination\ncinematic image\ncinematic imax shot\ncinematic industrial lighting\ncinematic jennifer lawrence\ncinematic keyframe\ncinematic lain fractal lain\ncinematic landscape\ncinematic lens\ncinematic lens flare\ncinematic level shot\ncinematic lighitng\ncinematic light\ncinematic light and reflections\ncinematic light dramatic light\ncinematic light effect\ncinematic light effects\ncinematic light shadows\ncinematic light. medium shot\ncinematic lightening\ncinematic lighthing\ncinematic lighting\ncinematic lighting + masterpiece\ncinematic lighting 4 k\ncinematic lighting 4k\ncinematic lighting 8k\ncinematic lighting and shadows\ncinematic lighting at night\ncinematic lighting color scheme\ncinematic lighting h 704\ncinematic lighting high details\ncinematic lighting masterpiece\ncinematic lighting photography\ncinematic lighting tri - x\ncinematic lighting ”\ncinematic lighting!!\ncinematic lighting”\ncinematic lightning\ncinematic lightning - h 7 6 8\ncinematic lightning - h 768\ncinematic lightning and colors\ncinematic lights\ncinematic lights hyperdetailed\ncinematic ligting\ncinematic long shot\ncinematic look\ncinematic low shot\ncinematic lut\ncinematic luts\ncinematic masterpiece\ncinematic matte illustration\ncinematic matte painting\ncinematic medium shot\ncinematic mid shot fight\ncinematic minecraft\ncinematic mode\ncinematic mood\ncinematic mood lighting\ncinematic moody\ncinematic moody colors\ncinematic moody lighting\ncinematic morning light\ncinematic movie\ncinematic movie image\ncinematic movie photo\ncinematic movie photograph\ncinematic movie poster\ncinematic movie scene\ncinematic movie shot\ncinematic movie still\ncinematic neon highlights\ncinematic neon matte painting\ncinematic neon uplighting\ncinematic night lighting\ncinematic opening shot\ncinematic outdoor lighting\ncinematic outfit photo\ncinematic paint\ncinematic painting\ncinematic panavision 5384 film\ncinematic paris\ncinematic pastel lighting\ncinematic perspective\ncinematic photo\ncinematic photo 4k\ncinematic photo shoot\ncinematic photograph\ncinematic photograph concept art\ncinematic photography\ncinematic photogtaphy\ncinematic photoshooting\ncinematic pinterest style\ncinematic portrait\ncinematic pose\ncinematic post - processing\ncinematic post process\ncinematic post-processing\ncinematic poster\ncinematic promo material\ncinematic quality\ncinematic realistic\ncinematic realistic photo\ncinematic realistic portrait\ncinematic reality\ncinematic red lighting\ncinematic render\ncinematic render unreal engine\ncinematic rendered\ncinematic rendering\ncinematic rim light\ncinematic rim lighting\ncinematic romantic magical\ncinematic rule of thirds\ncinematic scene\ncinematic scenery\ncinematic scifi shot\ncinematic screen\ncinematic screenshot gta 5\ncinematic shading\ncinematic shadows\ncinematic shoot\ncinematic shot\ncinematic shot ar 9:16 -n 6 -g\ncinematic shot epic portraits\ncinematic shot!\ncinematic shots\ncinematic silk road lanscape\ncinematic sky\ncinematic smooth\ncinematic smooth stone\ncinematic smooth unreal engine\ncinematic soft\ncinematic soft lighting\ncinematic space scenery\ncinematic specular lighting\ncinematic still\ncinematic still frame\ncinematic still in adam  unity\ncinematic still in adam | unity\ncinematic still in westworld\ncinematic still of westworld\ncinematic stillframe\ncinematic stormy sky\ncinematic studio ghibli still\ncinematic studio light\ncinematic studio light! windy\ncinematic studio lighting\ncinematic studio lightwindy\ncinematic studio shot\ncinematic style\ncinematic style photograph\ncinematic summer vibrancy\ncinematic sunset\ncinematic tone\ncinematic top lighting\ncinematic toplight\ncinematic trailer\ncinematic unreal 5\ncinematic unreal 6\ncinematic unreal engine\ncinematic unreal engine 5\ncinematic very crisp\ncinematic view\ncinematic view from lower angle\ncinematic view!!!\ncinematic volume lighting\ncinematic volumentric lighting\ncinematic volumetric\ncinematic volumetric light\ncinematic volumetric lighting\ncinematic volumetric lights\ncinematic wallpaper\ncinematic wide angle\ncinematic wide shot\ncinematic widescreen shot\ncinematic | | very anime\ncinematic | | very anime!!!\ncinematic —ar 16:9\ncinematic ， - h 7 6 8\ncinematic ， - h 768\ncinematic!\ncinematic!!\ncinematic-lighting\ncinematic-shot\ncinematic. art deco\ncinematic. atmospheric\ncinematic. beksinski painting\ncinematic. by leng jun\ncinematic. cinematic composition\ncinematic. futurism\ncinematic. white\ncinematic. ”\ncinematic:0.9unreal engine\ncinematic:0.9|unreal engine\ncinematica\ncinematical composition\ncinematics\ncinematics lighting\ncinematic”\ncinematik\ncinematix\ncinematografic\ncinematographic\ncinematographic atmosphere\ncinematographic composition\ncinematographic light\ncinematographic lighting\ncinematographic photo\ncinematographic shot\ncinematographic wide angle shot\ncinematography\ncinematography 4k\ncinematography atmosphere\ncinematography composition\ncinematography lighting\ncinematography photo\ncinematography roger deakins\ncinematography”\ncinematográfic\ncinematográfica\ncinematrographic\ncinematrography\ncinemática\ncineovision\ncinestill\ncinestill 4 0 0 t film\ncinestill 400 t film\ncinestill 400t\ncinestill 400t film\ncinestill 5 0 0\ncinestill 5 0 d\ncinestill 50 d\ncinestill 500\ncinestill 50d\ncinestill 8 0 0\ncinestill 8 0 0 t\ncinestill 8 0 0 t 2 0 0 mm\ncinestill 8 0 0 t 3 5 mm\ncinestill 8 0 0 t 3 5 mm 1 9 8 9\ncinestill 8 0 0 t 3 5 mm b & w\ncinestill 8 0 0 t 5 0 mm\ncinestill 8 0 0 t film\ncinestill 8 0 0 t technicolor\ncinestill 8 0 0 tungsten\ncinestill 8 0 0 tungsten 3 5 mm\ncinestill 800\ncinestill 800 t\ncinestill 800 t 200 mm\ncinestill 800 t 35 mm\ncinestill 800 t 35 mm b w\ncinestill 800 t 50 mm\ncinestill 800 t film\ncinestill 800 tungsten\ncinestill 800 tungsten 35 mm\ncinestill 800t\ncinestill 800t 10mm 4k\ncinestill 800t 10mm eastmancolor\ncinestill 800t 18mm\ncinestill 800t 18mm 4k\ncinestill 800t 18mm heavy grain\ncinestill 800t 35mm\ncinestill 800t 35mm eastmancolor\ncinestill 800t 35mm full-hd\ncinestill 800t 35mm technicolor\ncinestill 800t 50mm\ncinestill 800t 50mm eastmancolor\ncinestill 800t 8k\ncinestill 800t agfacolor\ncinestill 800t eastmancolor\ncinestill 800t film\ncinestill 800t film photo\ncinestill 800t technicolor\ncinestill cinematography\ncinestill cinematrography\ncinestill colour\ncinestill colour cinematography\ncinestill eastmancolor\ncinestill hasselblad 2 0 0 mm\ncinestill hasselblad 200 mm\ncinestill hasselblad 8 5 mm\ncinestill hasselblad 8 mm\ncinestill hasselblad 85 mm\ncinestill!\ncinestill!!\ncinimatic\ncinimatic composition\ncinmatic shot\ncinnabar\ncinnamon\ncinnamon #b57e59 skin color\ncinnamon skin color\ncinq terre\ncinémascope\ncinématique”\ncirca 1 6 0 0\ncirca 1 8 5 4\ncirca 1 8 5 8\ncirca 1 8 6 1\ncirca 1 8 6 3\ncirca 1 9 2 4\ncirca 1 9 3 9\ncirca 1 9 6 9\ncirca 1 9 7 9\ncirca 1 9 8 4\ncirca 1 9 9 9\ncirca 1615\ncirca 1912\ncirca 1924\ncirca 1939\ncirca 1940s\ncirca 1958\ncirca 1969\ncirca 1970\ncirca 1982\ncirca 1984\ncirca 1992\ncirca 2 0 0 8\ncirca the year 2994\ncirce\ncircle\ncircle beard\ncircle design\ncircle eyes\ncircle face\ncircle forms\ncircle iris detailed structure\ncircle of the crone\ncircle pit\ncircle pit demons\ncircles\ncirclet\ncircuit\ncircuit bent synthesis\ncircuit board\ncircuit board artifacts\ncircuit board processor\ncircuit board processor block\ncircuit boards\ncircuit boards)))))\ncircuitry\ncircuitry visible in head\ncircuitry. 8k 3d geology\ncircuits\ncircular\ncircular cardboard eyes\ncircular face\ncircular gate in a white wall\ncircular glasses\ncircular logo\ncircular planet\ncircular planet behind it\ncircular shape\ncircular sunglasses\ncircular tattoo\ncircular towers\ncircular white full moon\ncircular windows\ncircural\ncircus\ncircus background\ncircus clowns\ncircus performance\nciri\nciri from the witcher\nciri holding a cat\ncirno\ncirno from touhou\ncirno touhou\ncirrus clouds\ncitadel\ncitadel colour\ncitadel of erbil\ncities\ncities flourishing\ncities of mesopotamia\ncitizens\ncitrinitas\ncity\ncity + graffiti background\ncity 1 7\ncity 17\ncity apartment\ncity apartment cozy calm\ncity at night\ncity at night in the rain\ncity backdrop\ncity background\ncity background in silhouette\ncity bay bridge aqueduct\ncity below\ncity birds eye view\ncity buildings on top of trees\ncity depth of field\ncity destruction\ncity docks\ncity environment\ncity fog\ncity high-rise\ncity hunter\ncity in background\ncity in backround\ncity in desert\ncity in the background\ncity in the clouds\ncity in the distance\ncity in the distant on fire\ncity in the sky\ncity in the style of cyberpunk\ncity is pure wasteland\ncity landscape\ncity led lights\ncity light reflections\ncity lighting\ncity lights\ncity lights bokeh\ncity lights in the background\ncity lights made of lush trees\ncity lights on the horizon\ncity like hong kong\ncity map\ncity midnight mist\ncity midnight mist lights\ncity midnight neon lights\ncity mist softlight\ncity morning\ncity neon light\ncity night\ncity of armenia quindio\ncity of atlantis\ncity of golden shadows\ncity of industry\ncity of munich\ncity of munich!!!\ncity of pristine colors\ncity of the future\ncity of the future in russia\ncity of the jungle\ncity of towers\ncity on a hillside\ncity on fire\ncity on fire background\ncity on the background\ncity on the moon\ncity panorama\ncity park\ncity park with flowers\ncity pop\ncity quality lighting\ncity reflection\ncity reflections\ncity rooftop\ncity ruins background\ncity ruins in the background\ncity scape\ncity scene\ncity skyline\ncity skyline in the background\ncity skyline in the backround\ncity skyline on background\ncity snowing with a lot of snow\ncity square\ncity street\ncity street at dusk\ncity street cinematic lighting\ncity street lights\ncity street on the moon\ncity street view background\ncity streets\ncity streetscape\ncity sunset\ncity sunset mist lights\ncity sunset mist neon lights\ncity sunset night\ncity twilight landscape\ncity view\ncity views\ncity wall\ncity walls\ncityscape\ncityscape background\ncityscape in style of basquiat\ncityscape in the window\ncityscape ruins in the distance\nciv ghandi\ncivil engineer\ncivil war style\ncivilization\ncivilized\ncl\nclad in robes\nclad in vines\nclaes oldenburg\nclaiming vengance\nclair obscur\nclaire forlani\nclaire wendling\nclamp\nclamp shell lighting\nclamp style\nclannad\nclap. scifi\nclara oswald\nclarice starling\nclarity\nclaroscuro\nclash\nclash of clans\nclash of clans style\nclash royal style characters\nclash royale\nclash royale goblin\nclasps his bangs in one hand\nclass hunter\nclass tank\nclassic\nclassic 3 d model of molecule\nclassic 3d model of molecule\nclassic 8 0 s flick )\nclassic alien\nclassic art\nclassic beauty\nclassic bond iconic shot\nclassic car\nclassic car magazine\nclassic cars\nclassic children's illustration\nclassic children's illustrations\nclassic childrens illustrations\nclassic chrome\nclassic cinema\nclassic dancer striking a pose\nclassic disney mood\nclassic fantasy\nclassic film noir scene\nclassic gem\nclassic greek art\nclassic greek mythology\nclassic guitar\nclassic iconic rambo pose\nclassic kabuki\nclassic kimono\nclassic mayan mythology\nclassic oil painting\nclassic painting\nclassic portrait\nclassic product design\nclassic realism\nclassic roman mythology\nclassic sculpture\nclassic shoujo\nclassic style\nclassic vibes\nclassic-cult-comic-style\nclassical\nclassical ancient greek art\nclassical animation\nclassical antiquities\nclassical antiquities on display\nclassical architecture\nclassical art\nclassical artwork\nclassical greece\nclassical japanese art\nclassical landscape painting\nclassical lighting\nclassical marble sculpture\nclassical oil painting\nclassical ornament\nclassical ornamental design\nclassical painting\nclassical portrait\nclassical robes\nclassical sculpture\nclassical statue\nclassical stone columns\nclassical style\nclassical witch\nclassical witch robe\nclassicism\nclassicism artstyle\nclassicism oil painting\nclassicism style\nclassified\nclassified government archive\nclassified photo\nclassroom\nclassroom background\nclassroom doodle\nclassroom in background\nclassy\nclassy yukata clothing\nclathrus - ruber\nclaude joseph vernet\nclaude monet\nclaude monet)\nclaudia black\nclaudia schiffer\nclaudio bravo\nclaustrophobia\nclaustrophobic\nclaustrophobic and futuristic\nclaustrophobic room\nclaw\nclaw blades in fingers\nclaws\nclaws are up\nclay\nclay amulets\nclay animation\nclay art\nclay material\nclay model\nclay render\nclay sculpture\nclay texture\nclay wilson\nclaymation\nclaymation character\nclaymation style\nclaymore\nclaymore anime background\nclaymorphism\nclaymotion\nclayton crain\nclean\nclean - shaven\nclean 3 d render\nclean 3d render\nclean 4 k\nclean 4k\nclean aesthetic\nclean and clear face\nclean and empty\nclean and neat\nclean and organized\nclean and pristine design\nclean and simple\nclean and simple design\nclean and textures\nclean anime art\nclean anime outlines\nclean architecture\nclean artstyle\nclean background\nclean background trending\nclean beautiful symmetrical face\nclean black and white print\nclean black outlines\nclean black pen drawing\nclean blonde hair\nclean blue sky\nclean borders\nclean borders ; photorealistic\nclean bright happy\nclean brush stroke\nclean brutal blooded face\nclean cel shaded\nclean cel shaded vector art\nclean clear face\nclean coloring book page\nclean colors\nclean composition\nclean concept art\nclean crisp graphics\nclean design\nclean detail\nclean detail 4k\nclean detailed\nclean detailed anime art\nclean detailed anime style\nclean detailed art\nclean details\nclean digital art\nclean digital render\nclean edges\nclean elegant painting\nclean energy\nclean environment\nclean face\nclean face and body skin\nclean from scene from twin peaks\nclean glow\nclean graphic design\nclean hair\nclean horizon\nclean image\nclean ink\nclean ink detailed line drawing\nclean lighting\nclean line\nclean line art\nclean lineart\nclean lineart and color\nclean lineart and flat color\nclean lines\nclean lines in dark pen\nclean linework\nclean logo\nclean logo design\nclean long lines\nclean medical environment\nclean minimalist design\nclean perfect symmetrical face\nclean photo\nclean photorealistic realistic\nclean post process\nclean render\nclean room\nclean scan\nclean shapes\nclean shaved\nclean shaven\nclean shaven face\nclean shaven wide face\nclean shaven wide wide wide face\nclean shaven!!!!\nclean soft lighting\nclean spot color\nclean streets\nclean strokes\nclean style\nclean symmetrical face\nclean symmetrical faces\nclean thick line\nclean vector art\nclean white background\nclean white lab background\nclean white paper background\ncleaned up\ncleanest image\ncleanest posse\ncleaning future\ncleanshaven\ncleanshaven!\nclear\nclear [[bronze]] face [mask]\nclear [bronze] face\nclear and focused\nclear and sunny\nclear as crystal\nclear atmosphere\nclear background\nclear beautiful sky\nclear blue eyes\nclear blue skies\nclear blue sky\nclear blue sky vintage style\nclear blue water\nclear clean\nclear clean face\nclear color\nclear colors\nclear colours\nclear cross hatching\nclear curvy details\nclear cute face\nclear dark background\nclear day\nclear definition\nclear detail\nclear detailed view\nclear details\nclear edges\nclear eyed\nclear eyes\nclear eyes concept art\nclear eyes looking into camera\nclear eyes. 2 4 mm\nclear eyes. 24 mm\nclear face\nclear face and eyes\nclear faces\nclear facial details\nclear facial features\nclear figures\nclear focus\nclear focused details\nclear gaze\nclear geometry\nclear glass\nclear glass wall\nclear green eyes\nclear hd image\nclear image\nclear julian lage face\nclear lighting\nclear line\nclear lines\nclear lines and clear shapes\nclear lines and shapes\nclear lines!!\nclear lips and high quality\nclear liquid\nclear makeup\nclear night sky\nclear outfit design\nclear painting and good lighting\nclear parts\nclear photo\nclear photography\nclear portrait\nclear portrait of demi rose\nclear portrait of emma watson\nclear refined\nclear reflection\nclear resolution\nclear seas\nclear shapes\nclear sharp face of todd solondz\nclear sharp focus\nclear sharp image\nclear sharp todd solondz face\nclear shot\nclear silhouette\nclear skies\nclear skies in the distance\nclear skin\nclear sky\nclear sky above\nclear sky and background\nclear sky background\nclear smooth face\nclear subject\nclear summer sky background\nclear sunny day\nclear symmetrical eyes\nclear symmetrical face\nclear todd solondz face\nclear type\nclear vector\nclear view\nclear water\nclear weather\ncleared forest\nclearing\nclearing. full shot\nclearly defined outlines\nclearly visible face\ncleary see face\ncleavage\ncleaver\ncleft chin\nclematis design\nclematis in the deep sea\nclematis like stars in the sky\nclematis theme banner\nclematis theme logo\nclemens ascher\nclement hurd\nclemente\nclenched fist\nclenched fists\nclenching\nclenching teeth\ncleopatra\ncleopatra in her palace\ncleopatra portrait\ncleric\ncleveland\nclever\nclever monkey with a long knife\nclickbait\nclicks of eyelids\ncliff\ncliff chiang\ncliff edge\ncliff side\ncliff side at dusk\ncliffjumper\nclifford the big red dog\ncliffs\ncliffs of dover\ncliffside\ncliffside ocean scene\ncliffside town\nclimate change\nclimax\nclimber\nclimbing\nclimbing a tree\nclimbing mountain in washington\nclimbing up a cliffside\nclinical\nclinically depressed\nclint clearley\nclint eastwood\nclint eastwood as wolverine\nclip art\nclip stadio\nclip studio paint\nclip-art\nclipart\nclipart icon\nclipboard\nclippings of a fashion magazine\nclipstudio\nclive barker\ncloak\ncloak covering face\ncloak flittering in the wind\ncloak with hood\ncloak. extremely high details\ncloaked\ncloaked dark night\ncloaked dark winter night\ncloaked woman\nclock\nclock iconography\nclock tower\nclockface\nclockpunk\nclocks\nclocktower\nclockwork\nclockwork automaton\nclockwork horror\nclockwork mechanical\nclockwork orange\nclockwork steampunk\nclockwork woman\ncloese-up\nclogs\ncloicsonne\ncloisonne\ncloisonne cat head sculpture\ncloissonne\nclone laboratory\nclone wars\nclones\ncloning spell\nclose\nclose - fitting nurse costume\nclose - ip shot\nclose - shot\nclose - up\nclose - up bokeh\nclose - up face\nclose - up face portrait\nclose - up face portrait from up\nclose - up of face\nclose - up of the faces\nclose - up on detailed\nclose - up on face\nclose - up photo\nclose - up photograph\nclose - up photography\nclose - up portrait\nclose - up portrait shot\nclose - up profile\nclose - up profile face\nclose - up shot\nclose - up shot of eyes\nclose - up shots of faces\nclose - up studio photo\nclose - up view\nclose - ups\nclose angle\nclose body shot\nclose camera\nclose detailed face\nclose establishing shot\nclose face view\nclose full body shot\nclose full figure\nclose look\nclose macro photo. studio photo\nclose medium shot\nclose photo\nclose portrait\nclose portrait of beautiful\nclose river bank\nclose scene\nclose shot\nclose to defeat\nclose to night\nclose to the camera\nclose together\nclose up\nclose up 1 9 9 0\nclose up angle\nclose up at face\nclose up bokeh hiperrealistic\nclose up bust shot\nclose up camera angle\nclose up camera on bonfire level\nclose up cat\nclose up character\nclose up details\nclose up dslr photo\nclose up dslr studio photograph\nclose up face\nclose up face detail\nclose up face female portrait\nclose up face portrait\nclose up food photography\nclose up front view\nclose up guns and roses\nclose up half body shot\nclose up head shot\nclose up high detailed\nclose up image\nclose up iwakura lain\nclose up macro photography\nclose up of a blonde woman\nclose up of a young anime girl\nclose up of face\nclose up of iwakura lain\nclose up of lain iwakura\nclose up of single sugar crystal\nclose up photo\nclose up photograph\nclose up photography\nclose up portrait\nclose up portrait bust of woman\nclose up portrait of a beautiful\nclose up portrait of woman\nclose up portrait photo\nclose up portrait polaroid\nclose up portrait shot\nclose up potrait\nclose up shot\nclose up shot a rugged\nclose up shot from the side\nclose up shot from the top\nclose up shot of an amulet\nclose up shots\nclose up subtle shadows\nclose up to a skinny\nclose up to the screen\nclose up view\nclose up wide angle lens\nclose up. macro. hyper realistic\nclose ups\nclose view\nclose-up\nclose-up 35mm macro shot\nclose-up fight\nclose-up from above\nclose-up imagery\nclose-up of a robot sitting down\nclose-up of face\nclose-up of thin soft hand\nclose-up on legs\nclose-up perfect face\nclose-up photo\nclose-up photograph\nclose-up photography\nclose-up portrait\nclose-up portrait film still\nclose-up portrait goddess skull\nclose-up portrait of cyborg\nclose-up print of fractured\nclose-up product photo\nclose-up professional portrait\nclose-up shoot\nclose-up shot\nclose-up shot from behind\nclose-up shot taken from behind\nclose-up view\nclose-up!!!!!\nclose-up!!!!!!\nclose-ups\nclosed - mouth smile\nclosed ecosystem\nclosed eyes\nclosed hands\nclosed limbo room\nclosed lips\nclosed mouth\nclosed mouth showing no teeth\nclosed mouth smile\nclosed swimsuit\nclosed up portrait\nclosed visor\nclosed-eyes\nclosed-mouth smile\ncloser view\ncloses her eye\ncloseup\ncloseup - view\ncloseup 4k\ncloseup at the face\ncloseup at the faces\ncloseup at the food\ncloseup character portrait\ncloseup cinematic aquatic scene\ncloseup detailed\ncloseup face\ncloseup faces\ncloseup fantasy with water magic\ncloseup giant dahlia flower head\ncloseup headshot\ncloseup headshot portrait\ncloseup of a butcher working\ncloseup of a crow\ncloseup of a snow owls face\ncloseup of an adorable\ncloseup of arms\ncloseup of car engine\ncloseup of face\ncloseup of face melting\ncloseup of face melting in agony\ncloseup of fist\ncloseup of hand\ncloseup of magic water gate\ncloseup of sweating forehead\ncloseup of the face\ncloseup on face\ncloseup painted portrait\ncloseup painting of bee\ncloseup photo\ncloseup photo at nyc comicon\ncloseup photograph\ncloseup portrait\ncloseup portrait of an artificer\ncloseup portrait of an mage\ncloseup portrait shot\ncloseup shot\ncloseup shot of face\ncloseup view\ncloseup!!\ncloseup!!!!!\ncloseup!!!!!!\ncloseup. mouth open\nclosing eyes\nclosing her eyes\nclosup\ncloth\ncloth accessories\ncloth and metal\ncloth banners\ncloth head wrap\ncloth jerkin\ncloth physics\ncloth sim\ncloth simulation\ncloth simulation with houdini\ncloth wraps\nclothed\nclothed holy body\nclothed in ancient\nclothed in ancient battle armor\nclothed in ancient street wear\nclothed in ancient suit\nclothed in armor\nclothed in battle armor\nclothed in cyber armour\nclothed in ethereal armor\nclothed in ethereal battle armor\nclothed in hooded\nclothed in military armor\nclothed in old samurai uniform\nclothed in sci-fi military armor\nclothed in silk\nclothed in space suit\nclothed in stealth armor\nclothed in summer\nclothed in vines\nclothed in white shirt\nclothed in worrier armor\nclothed non - nude portrait\nclothed!\nclothed! oil on canvas\nclothed!! lucien levy - dhurmer\nclothed!! oil on canvas\nclothed.1990s\nclothedlucien levy - dhurmer\nclothes\nclothes floating\nclothes from the future\nclothes fully on\nclothes high detail\nclothes in military armor\nclothes in the style of 1 9 9 0\nclothes in the style of 1990\nclothes made out of flower\nclothes made out of veins\nclothes themed on a peacock mage\nclothes torn apart\nclothes!\nclothing\nclothing concept\nclothing design\nclothing drop\nclothing photography\ncloud\ncloud and sky color scheme\ncloud and thunder\ncloud background\ncloud day\ncloud forest\ncloud forest in background\ncloud goddess\ncloud hair\ncloud in the shape of a dragon\ncloud in the sky\ncloud iridescence\ncloud jumper\ncloud mage robes\ncloud nebula\ncloud of sand\ncloud of smoke\ncloud ominous day background\ncloud palace\ncloud server\ncloud storage\ncloud strife\ncloud vortex\ncloud with eye\ncloud-like white hair\nclouded\nclouded sky\ncloudless blue sky\ncloudless sky\ncloudless-crear-sky\ncloudpunk\nclouds\nclouds and corrupted city behind\nclouds and fields in background\nclouds and sky\nclouds and waves\nclouds and wings and waves\nclouds around\nclouds background\nclouds in background\nclouds in the background\nclouds in the sky\nclouds mystic hue\nclouds of smoke\nclouds of vivid horse-hair wigs\nclouds on ground!!!!!\nclouds on surface\nclouds on the sky\nclouds outside the windows\nclouds swirling\nclouds visible\nclouds. fantasy\ncloudscape\ncloudy\ncloudy air\ncloudy and mystical\ncloudy atmosphere\ncloudy background\ncloudy dark sky\ncloudy day\ncloudy eyes\ncloudy grey hair\ncloudy night\ncloudy night sky\ncloudy overcast sky\ncloudy skies\ncloudy sky\ncloudy sky background\ncloudy sky in the background\ncloudy sunset\ncloudy weather\nclouse up face portrait\ncloven feet and horns\nclover\ncloverfield movie\nclown\nclown darth vader hybrid\nclown face\nclown fish\nclown frog king\nclown girl\nclown makeup\nclown makeup and rainbow wig\nclown nose\nclown waving hello\nclown world\nclowns\nclowns boxing\nclub\nclub lighting\nclub penguin\nclub photography\nclubs\nclumps of bananas\nclumps of hair\nclustered\nclutch yo - yo\nclutching a sword\nclutter\ncluttered\ncluttered medium shot\ncluttered room\nclyde aspevig\nclyde waldwell\ncmyk\ncmyk color scheme\ncmyk portrait\ncn tower\ncnn\ncnn news footage\ncoachella\ncoal\ncoal dust\ncoarse canvas\ncoarse paper\ncoarse texture\ncoast\ncoast as the background\ncoastal\ncoastal cliffs\ncoastline\ncoat\ncoat decollete jodhpurs\ncoat for a rave\ncoat for a rave with fur\ncoat of arms\ncoat pleats\ncoated pleats\ncoating a stubborn core.'\ncobalt\ncobalt blue\ncobalt blue and pyrrol red\ncobalt blue hair\ncobalt coloration\ncoban\ncobbled together nissan r34 gtr\ncobblestone\ncobblestone floors\ncobblestone road\ncobblestone roads\ncobblestone street\ncobblestone streets\ncobblestones\ncobblestones on the ground\ncobra head mascot facing right\ncobweb\ncobwebs\ncobwebs and dust\ncoca cola bottle\ncoca cola in camel head\ncoca cola logo\ncocaine\ncockatoo holding a trumpet\ncockpit\ncockpit view\ncockroach\ncockroach character\ncockroach lady\ncocktail bar\ncocktail in an engraved glass\ncocky\ncocky expression\ncocky smirk\ncoconut palms\ncoconut trees\ncoconuts\ncocroach\ncod\ncodachrome\ncode\ncode geass\ncode vein\ncodex\ncodex gigas\ncodex seraphinianus\ncoding\ncoding time\ncoerent face\ncoerent face and body\ncoffee\ncoffee and musical instrument\ncoffee and stars background\ncoffee art\ncoffee beans\ncoffee cup\ncoffee cups\ncoffee machine\ncoffee shop\ncoffee smell\ncoffee stain\ncoffee stain on napkin\ncoffin comics\ncognition\ncognitive cohesion coherence\ncognitive transcendence\ncognitohazard\ncogs\ncogs and gears\ncogs and springs and jewels\ncogs and wheels\ncogs:1000\ncogwheel\ncoherence\ncoherent\ncoherent and smooth\ncoherent body\ncoherent composition\ncoherent design\ncoherent eye\ncoherent eyes\ncoherent face\ncoherent hands\ncoherent image\ncoherent like dall-e 2\ncoherent painting\ncoherent photo\ncoherent portraits\ncoherent professional\ncoherent symmetrical artwork\ncoherent symmetrical eyes\ncoherent symmetrical faces\ncoherent symmetry\ncoherent text english characters\ncoherent!!! art directed\ncoherentart directed\ncohesive\ncohesive composition\ncohesive!\ncohesive.69:1\ncoiffed brown hair\ncoiled realistic serpents\ncoilgun\ncoin\ncoin of secret society\ncoin with the letter n\ncoins\ncoka-cola advertisement\ncoke and chips on table\ncol price\ncolchians painting\ncold\ncold ambient light\ncold as ice! 🧊\ncold as ice🧊\ncold atmosphere\ncold beer\ncold blood\ncold blue colors\ncold blue light\ncold blue light from the window\ncold blue lighting\ncold blue tones\ncold breath\ncold brew coffee\ncold brew coffee )\ncold but beautiful\ncold color\ncold color palate\ncold color palette\ncold color scheme\ncold colors\ncold colors. insanely detailed\ncold colour temperature\ncold colour temperture\ncold colours\ncold drinks\ncold environment\ncold freezing nights\ncold grey eyes\ncold hue's\ncold hues\ncold light\ncold light from the window\ncold lighting\ncold lights soft painting\ncold metallic atmosphere\ncold mist\ncold mist black background\ncold mood\ncold neon light\ncold neon lighting\ncold place\ncold pure color background\ncold scene\ncold secondary colors\ncold shades\ncold snow outside\ncold snowy\ncold stormy wind\ncold studio lighting\ncold sunny weather\ncold sunset\ncold sunshine through window\ncold temperature\ncold texture\ncold tone\ncold tone gradient background\ncold tones\ncold top lighting\ncold war\ncold war era 1 9 6 0\ncold weather\ncold winter\ncolin campbell cooper speedart\ncolin farrell\ncolin farrell with jessica alba\ncolin greenwood (bass)\ncolin hay\ncolin searle\ncoliseum\ncoliseum backdrop\ncoliseum background\ncoliseum of rome\ncollaboration\ncollaborative\ncollaborative artwork\ncollaborative painting\ncollage\ncollage art\ncollage art background\ncollage artwork\ncollage effect\ncollage of styles\ncollage paper and tape\ncollage style joseba elorza\ncollaged\ncollages\ncollapse\ncollapsed brutalist architecture\ncollapsed building\ncollapsed buildings\ncollapsed ceiling\ncollapsed floors\ncollapsed water tower\ncollapsing\ncollapsing stars\ncollapsing stars and supernovae\ncollar\ncollar and leash\ncollar around neck\ncollar on neck\ncollared shirt\ncollateral\ncollectible\ncollectible action figure\ncollectible card art\ncollection\ncollection of louvre\ncollection product\ncollective civilization tree\ncollective consciousness\ncollectors\ncolleen moore 2 2 years old\ncolleen moore 2 5 years old\ncolleen moore 2 8 years old\ncolleen moore 22 years old\ncolleen moore 25 years old\ncolleen moore 28 years old\ncollege\ncollege girls\ncollege party\ncollege students\ncollodion photograph\ncollodion photography\ncollosal mech\ncoloful\ncolombia\ncolombia en los años 60\ncolombian\ncolombian jungle\ncolombo sri lanka cityscape\ncolombo sri lankan city street\ncolonel sanders\ncolonial\ncolonial era street\ncolonial expedition\ncolonial exploration\ncolonial house in background\ncolonial marines\ncolonial style\ncolonisation\ncolonnade\ncolonnade ornate headdress\ncolony\ncolony on mars\ncolor\ncolor ( sony a 7 r iv\ncolor - out - of - space\ncolor 1970\ncolor 3 5 mm\ncolor accents\ncolor accurate\ncolor aerial photo drone\ncolor airbrush\ncolor and contrast corrected\ncolor balance\ncolor balance harmony\ncolor bleed\ncolor bleeding\ncolor block\ncolor blocking\ncolor blocking!\ncolor blocks\ncolor burn\ncolor chart\ncolor comic\ncolor comics style\ncolor contrast\ncolor corrected\ncolor correction\ncolor degragation\ncolor dispersion\ncolor displacement\ncolor dnd illustration\ncolor drawing\ncolor edition\ncolor ektachrome photograph\ncolor explosion\ncolor field painting\ncolor field painting. 8k\ncolor film\ncolor film camera\ncolor film expired film\ncolor film grain\ncolor film photography\ncolor film photography 1970s\ncolor film still\ncolor film still 1 9 7 7\ncolor footage\ncolor gel\ncolor glow\ncolor grade\ncolor graded\ncolor gradient\ncolor gradients\ncolor grading\ncolor graflex macro photograph\ncolor grain 3 5 mm\ncolor grain 35mm\ncolor harmony\ncolor highway\ncolor hues\ncolor illustration\ncolor image\ncolor ink\ncolor ink explosion\ncolor ink pen illustration\ncolor interference\ncolor kodak\ncolor kodak film stock\ncolor kodak stock\ncolor kodakcrhome 64\ncolor leaves\ncolor light\ncolor light waves\ncolor lights\ncolor limit\ncolor manga panel\ncolor negative\ncolor out of space\ncolor overlay\ncolor page\ncolor painterly\ncolor painting\ncolor palette\ncolor palette is dark orange\ncolor palette of gold\ncolor pencil\ncolor pencil art\ncolor pencil drawing\ncolor pencil sketch\ncolor photo\ncolor photo of josip broz tito\ncolor photograph\ncolor photograph portrait 4k\ncolor photography\ncolor photos\ncolor picture\ncolor pigments spread out in air\ncolor polaroid photo\ncolor pop\ncolor portrait\ncolor red\ncolor restoration\ncolor rich\ncolor scheme\ncolor screenprint\ncolor slide\ncolor slide film\ncolor smoke\ncolor spectrum refraction\ncolor splash\ncolor splashes\ncolor splotches\ncolor spread\ncolor studio portrait\ncolor study\ncolor tearing\ncolor theory\ncolor triads\ncolor vector\ncolor vhs picture quality\ncolor vibe\ncolor video footage\ncolor vintage\ncolor wheel\ncolor-key painting\ncolorado\ncolorado mountains\ncolorbleed\ncolored\ncolored accurately\ncolored album art\ncolored analog photography\ncolored background\ncolored concept art\ncolored daguerreotype\ncolored dots\ncolored drawing\ncolored elephant art\ncolored feathers\ncolored flowers\ncolored fog\ncolored fruit stand\ncolored gel lighting\ncolored gels\ncolored gems\ncolored hair\ncolored illustration\ncolored illustration for tattoo\ncolored in\ncolored ink\ncolored ink drawing\ncolored lasers\ncolored layers\ncolored light\ncolored lighting\ncolored lights\ncolored lineart\ncolored manga\ncolored manga art\ncolored manga panel\ncolored marble\ncolored marker\ncolored market stand\ncolored milk tea\ncolored neons\ncolored paint\ncolored paper collage\ncolored pencil\ncolored pencil art\ncolored pencil art on paper\ncolored pencil drawing\ncolored pencil illustration\ncolored pencil on paper\ncolored pencil sketch\ncolored pencils\ncolored photo\ncolored photography\ncolored projections\ncolored screentone\ncolored sketch\ncolored sketch anime manga panel\ncolored smoke\ncolored smoke clouds\ncolored spotlights\ncolored spots\ncolored vibrantly\ncolored woodblock print\ncolored woodcut\ncolored zbrush render\ncolored-pen drawing\ncolorful\ncolorful - patterns\ncolorful 4k\ncolorful 8 k\ncolorful accents\ncolorful acrylic\ncolorful adornments\ncolorful aesthetic\ncolorful airsoft gun\ncolorful alien flora\ncolorful ancient egyptian city\ncolorful and bright\ncolorful and dark\ncolorful and grayish palette\ncolorful and psychedelic\ncolorful and vibrant\ncolorful anime movie background\ncolorful architectural drawing\ncolorful architecture\ncolorful art\ncolorful art nouveau\ncolorful aura\ncolorful autumn trees\ncolorful backdrop\ncolorful background\ncolorful bandana\ncolorful ben day dots\ncolorful bird with a long\ncolorful birds\ncolorful bottles and plants\ncolorful building\ncolorful buildings\ncolorful caparisons\ncolorful character faces\ncolorful chromatic abberation\ncolorful city\ncolorful city in ancient egypt\ncolorful clear sharp focus\ncolorful clothes\ncolorful clothing\ncolorful clouds\ncolorful coctail\ncolorful colors\ncolorful comics style\ncolorful composition\ncolorful computer screen\ncolorful concept art\ncolorful contrast\ncolorful copper brass accents\ncolorful coral\ncolorful coral reef\ncolorful crowd\ncolorful crystals\ncolorful dark vector\ncolorful detailed projections\ncolorful details\ncolorful digital art\ncolorful digital painting\ncolorful digital screens) xf iq4\ncolorful doodle art\ncolorful dots\ncolorful dramatic puffy clouds\ncolorful drawing\ncolorful dream\ncolorful dress\ncolorful dystopian futurism\ncolorful energetic brush strokes\ncolorful explosion\ncolorful eyes\ncolorful fashion\ncolorful feathers\ncolorful ferrofluid armor\ncolorful fire\ncolorful fish\ncolorful flat design\ncolorful flat surreal\ncolorful flat surreal design\ncolorful flat surreal ethereal\ncolorful flowers\ncolorful galaxy theme colors\ncolorful gems\ncolorful generative art\ncolorful geometric pattern\ncolorful glass art\ncolorful glass wall\ncolorful glow\ncolorful graffiti\ncolorful hair\ncolorful hairs\ncolorful haze\ncolorful hd picure\ncolorful high contrast\ncolorful high contrast hd\ncolorful hilt\ncolorful house\ncolorful houses\ncolorful hyperbolic background\ncolorful hyperrealism\ncolorful ideas\ncolorful illustration\ncolorful image\ncolorful impasto brush strokes\ncolorful in colour\ncolorful ink\ncolorful intricate masterpiece\ncolorful iridescent and playful\ncolorful kids book illustration\ncolorful kitsune city\ncolorful landscape painting\ncolorful lanterns\ncolorful leaves\ncolorful lens flares\ncolorful lenses\ncolorful light\ncolorful light leather armor\ncolorful lighting\ncolorful lightning cinematic\ncolorful lights\ncolorful magic\ncolorful magic effects\ncolorful mandala\ncolorful medical equipment\ncolorful melting human head\ncolorful modern\ncolorful mold\ncolorful mood\ncolorful mosaic\ncolorful mural on walls\ncolorful muscular eldritch\ncolorful muscular robot\ncolorful mushrooms\ncolorful nebula\ncolorful nebula background\ncolorful nebulas\ncolorful neon lighting\ncolorful neon lights\ncolorful neon signs\ncolorful night sky\ncolorful octane render\ncolorful oil painting\ncolorful otherworldly trees\ncolorful outfit\ncolorful paint\ncolorful painting\ncolorful palette\ncolorful palette illustration\ncolorful paper lanterns\ncolorful pastel\ncolorful patterns\ncolorful pentax camera\ncolorful photo\ncolorful photograph\ncolorful picture\ncolorful pigtail\ncolorful pixel art\ncolorful plasma hairs\ncolorful plastic\ncolorful plumage\ncolorful projections\ncolorful rave makeup\ncolorful ravine\ncolorful redshift render\ncolorful reflective eyes\ncolorful refracted sparkles\ncolorful refractive adornments\ncolorful retrofutur\ncolorful rich fantasy clothing\ncolorful robes\ncolorful scene\ncolorful scheme\ncolorful sci-fi steampunk\ncolorful signs\ncolorful sketch\ncolorful skies\ncolorful sky\ncolorful smoke\ncolorful smoke in the background\ncolorful spells\ncolorful splatters\ncolorful stars\ncolorful static\ncolorful striped pavillions\ncolorful sunset\ncolorful sunset!!\ncolorful swirls of paint\ncolorful swirly magic ripples\ncolorful swirly magical clouds\ncolorful swirly magical ripples\ncolorful swirly ripples\ncolorful swirly ripples of magic\ncolorful tiled architecture\ncolorful torn fabric\ncolorful torn nebulas\ncolorful trees\ncolorful tropical plants\ncolorful twirling smoke trails\ncolorful umbrella\ncolorful uniforms\ncolorful vapor\ncolorful vector illustration\ncolorful vegetation\ncolorful vines\ncolorful vivid octane render\ncolorful warcraft architecture\ncolorful watercolor\ncolorful watercolor painting\ncolorful wildflowers\ncolorful wires\ncolorful with red hues\ncolorful!\ncolorful! character design\ncolorful!!\ncolorful!!!\ncolorful]”\ncolorfull\ncolorfull digital fantasy art\ncolorfull illustration\ncolorfull painting\ncolorfull sky\ncolorfully\ncolorfully background\ncolorfully ominous background\ncolorful”\ncolorgrading\ncoloring book\ncoloring book outline\ncoloring book page\ncoloring book style\ncoloring page\ncoloring pages\ncolorised\ncolorized\ncolorized 1 9 0 4 photo\ncolorized background\ncolorized neon lights\ncolorized pencil\ncolorized pencil sketch\ncolorized photo\ncolorized photograph\ncolorized photon\ncolorkey scene\ncolorless\ncolorless and silent\ncolors\ncolors : yellow sunflowers\ncolors are strong but calm\ncolors of jamaica\ncolors of mark rothko\ncolors of tron legacy\ncolors orange\ncolors red\ncolors red white blue and black\ncolors reflecting on lake\ncolors white\ncolors white!!\ncolors with gold and dark blue\ncolors: yellow\ncolors: yellow sunflowers\ncolorsmoke\ncolorul\ncolor”\ncolossal\ncolossal dragon as background\ncolossal dragon in background\ncolossal fluffy tardigrade\ncolossal frankenstein\ncolossal lightning\ncolossal rat\ncolossal robot\ncolossal scale\ncolossal titan\ncolossal tower\ncolossale interstellar portal\ncolosseo\ncolosseum\ncolossus\ncolossus of rhodes\ncolour\ncolour blocking\ncolour corrected\ncolour eyes\ncolour film street photography\ncolour hd photography\ncolour led\ncolour photo\ncolour photograph\ncolour photography\ncolour polaroid photo\ncolour portrait photograph\ncolour print\ncolour shift\ncolour splash\ncoloured\ncoloured background\ncoloured comic\ncoloured film photography\ncoloured gel studio light\ncoloured in blueberra and orange\ncoloured in orange fire\ncoloured in teal and orange\ncoloured line art\ncoloured lineart\ncoloured lithograph engraving\ncoloured manga scan\ncoloured marker\ncoloured pencil\ncoloured photo\ncoloured polaroid photograph\ncoloured with lots of colour\ncoloured woodcut\ncolourful\ncolourful 3 d crystals\ncolourful 3 d crystals and gems\ncolourful 3d crystals and gems\ncolourful 4 k hd\ncolourful apples\ncolourful artwork\ncolourful background\ncolourful biomorphic opart\ncolourful biomorphic temple\ncolourful books\ncolourful close up shot\ncolourful clothes\ncolourful clothing\ncolourful cupcake\ncolourful digital art\ncolourful dramatic lighting\ncolourful drawing\ncolourful explosion\ncolourful flat surreal design\ncolourful flowers\ncolourful flowers bouquet\ncolourful hand drawing\ncolourful jungle\ncolourful light\ncolourful lighting\ncolourful long hair\ncolourful magazine collage\ncolourful movie art\ncolourful palette\ncolourful pastel\ncolourful roses and gladioli\ncolourful sky\ncolourful slime\ncolourful!! highly detailed\ncolourfull\ncolouring\ncolouring - in sheet\ncolouring page\ncolouring pages\ncolourised\ncolourized\ncolours\ncolours of the sunset\ncolours red and green\ncolt\ncolumbo\ncolumns\ncolurful\ncombat\ncombat and adventure photography\ncombat armor\ncombat boots\ncombat drone\ncombat drone strike war footage\ncombat gear\ncombat goggles\ncombat googles\ncombat helmet\ncombat mech clothes\ncombat photography\ncombat pose\ncombat scene\ncombat setting\ncombat stance\ncombat suit\ncombat vest\ncombination art\ncombine\ncombover\ncombustion engine\ncome\ncome on\ncomedian is funny\ncomedic\ncomedy\ncomet\ncomets\ncomfort\ncomfort posse\ncomfortable\ncomfortable atmosphere\ncomforting\ncomforting and familiar\ncomfy\ncomfy ambience\ncomfy chairs\ncomfy lighting\ncomfycore\ncomic\ncomic art\ncomic art style\ncomic art ”\ncomic artstyle\ncomic artwork\ncomic book\ncomic book art\ncomic book art style\ncomic book artist moebius\ncomic book arzach style\ncomic book black lines\ncomic book character\ncomic book cover\ncomic book cover art\ncomic book cover style\ncomic book cover visual style\ncomic book design\ncomic book drawing\ncomic book hero\ncomic book illustration\ncomic book page\ncomic book panel\ncomic book panels\ncomic book panels background\ncomic book realism\ncomic book style\ncomic book style art\ncomic book style battlemech\ncomic book style!!\ncomic book texture\ncomic book thick outline\ncomic book visual style\ncomic book's cover\ncomic book:.2\ncomic book:.2 | unreal engine:.3\ncomic books\ncomic books style\ncomic card style\ncomic character\ncomic character design\ncomic concept art\ncomic cover\ncomic cover art\ncomic cover painting\ncomic digital art\ncomic drawing\ncomic drawing style\ncomic illustration\ncomic inks\ncomic lines\ncomic page\ncomic paint\ncomic panel\ncomic panels\ncomic pinup style\ncomic shading\ncomic strip\ncomic strip style\ncomic style\ncomic styled\ncomical\ncomicbook\ncomicbook art\ncomicbook cover\ncomicbook style\ncomicpunk\ncomics\ncomics accurate design\ncomics art\ncomics gta 5 cover\ncomics illustration\ncomics sandman\ncomics style\ncomics style art\ncomicstyle\ncoming ashore\ncoming down the stairs\ncoming out of a black hole\ncoming out of the ocean\ncoming to life\ncomix wave films\ncomixology\ncomixwave films\ncomiс style\ncommand presence\ncommander\ncommander riker\ncommander shepard\ncommanding\ncomme des garcon campaign\ncommercial\ncommercial banner\ncommercial billboard\ncommercial illustration\ncommercial lighting\ncommercial photo\ncommercial photo shoot\ncommercial photograph\ncommercial photography\ncommercial product photography\ncommercial shot\ncommercial studio lighting\ncommercial washroom hand dryer\ncommercially ready\ncomming\ncomminism\ncommission\ncommission art\ncommission for\ncommission for high res\ncommission of freddy fazbear\ncommission on furaffinity\ncommissioned\ncommodore 6 4\ncommodore 64\ncommon street\ncommoner\ncommunication\ncommunism\ncommunist\ncommunist city\ncommunist clown\ncommunist clown painting\ncommunist clown portrait\ncommunist draven\ncommunist hammer and sickle\ncommunist propaganda\ncommunist propaganda poster\ncommunist starfish\ncommunist states of america\ncommunity\ncommunity celebration\ncompact buildings\ncompany logo\ncompass\ncompass energy flowing\ncompassion\ncompassionate\ncompelling\ncompetent\ncompetition\ncompetition highlights\ncompetition winning\ncomplaints\ncomplementary color\ncomplementary color scheme\ncomplementary colors\ncomplementary colour\ncomplementary colour palette\ncomplementary colour scheme\ncomplementary colours\ncomplementary contrast\ncomplementary lighting\ncomplementary palette\ncomplementary rim lights\ncomplementing colors\ncomplete body\ncomplete body view\ncomplete body!\ncomplete darkness\ncomplete darkness background\ncomplete detailed body\ncomplete disregard\ncomplete figure\ncomplete house\ncomplete light occlusion\ncomplete model\ncomplete scene\ncomplete whole lion body\ncomplete window!\ncompletely blue eyes\ncompletely coherent\ncompletely consisting of fire\ncompletely dark\ncompletely empty\ncompletely filled space\ncompletely flooded\ncompletely framed\ncompletely golden eyes\ncompletely metal\ncompletely new\ncompletely overgrown with vines\ncomplex\ncomplex 3 d render\ncomplex 3d render\ncomplex 3d scene\ncomplex alien fractal structure\ncomplex and desaturated\ncomplex and detailed\ncomplex and intricate\ncomplex architecture\ncomplex armour\ncomplex artistic style\ncomplex background\ncomplex beings\ncomplex braided hair\ncomplex buildings\ncomplex ceiling\ncomplex city\ncomplex composition\ncomplex composition!!\ncomplex computations\ncomplex contraption\ncomplex cybernetic beings\ncomplex design\ncomplex design hair\ncomplex detailed environment\ncomplex details\ncomplex drawing\ncomplex emotion\ncomplex fantasy character\ncomplex features\ncomplex geometry\ncomplex layered composition\ncomplex layered composition!!\ncomplex lighting\ncomplex lights\ncomplex machinery\ncomplex massive detail\ncomplex outfit\ncomplex pattern\ncomplex patterns\ncomplex redhead braided hair\ncomplex rotary airplane engine\ncomplex scene\ncomplex shading\ncomplex shapes\ncomplex structure\ncomplex structures\ncomplex swirling accents\ncomplex system of order\ncomplex tarot card background\ncomplex vortex\ncomplex!!\ncomplexity\ncomplexity from simplicity\ncomplexity of the image\ncomplexity of the picture\ncomplexly detailed\ncomplicated\ncomplicated circuits and wires\ncomplicated dynamic composition\ncomplimentary - colors\ncomplimentary color\ncomplimentary color palette\ncomplimentary color scheme\ncomplimentary colors\ncomplimentary colours\ncomplimentary contrast\ncomplimentary eyeliner\ncomplimenting color scheme\ncomposed\ncomposed of random limbs\ncomposer\ncomposite\ncompositing\ncomposition\ncomposition of and futuristic\ncomposition study\ncomposition william s boroughs\ncompound eyes\ncomprehensive 2 d render\ncomprehensive 2d render\ncomprehensive art\ncomprehensive artwork\ncompressed\ncompressed jpeg\ncompression\ncompulsion\ncomputation\ncompute shader\ncomputer\ncomputer - generated\ncomputer aesthetic\ncomputer cgi\ncomputer chips\ncomputer code\ncomputer components\ncomputer desk\ncomputer drawing\ncomputer equipment\ncomputer game\ncomputer game art\ncomputer generated\ncomputer glitch\ncomputer glitches\ncomputer made out of human flesh\ncomputer monitor\ncomputer monitors\ncomputer mouse\ncomputer music\ncomputer nerd\ncomputer network\ncomputer painting\ncomputer parts\ncomputer render\ncomputer science\ncomputer screens\ncomputer setup\ncomputer vision\ncomputer wallpaper\ncomputers\ncomputers and digital monitors\ncomputers and holograms\nconan\nconan o'brien\nconan obrien\nconan the barbarian\nconan the barbarian illustration\nconan the destroyer 1 9 8 5\nconan the destroyer 1985\nconcentrated\nconcentrated buildings\nconcentrated look\nconcentration\nconcentric circles\nconcep art\nconcept\nconcept - art\nconcept ar\nconcept ard\nconcept are\nconcept armor\nconcept art\nconcept art  artgerm\nconcept art  beeple\nconcept art  dyson\nconcept art  feng zhu\nconcept art  rhads\nconcept art  rutkowski\nconcept art 2022\nconcept art 4 k\nconcept art 4k\nconcept art 8 k\nconcept art 8 k resolution\nconcept art 8k\nconcept art 8k resolution\nconcept art artwork masterpiece\nconcept art character\nconcept art character modeling\nconcept art character sheet\nconcept art design illustration\nconcept art digital illustration\nconcept art for a video game\nconcept art for movie\nconcept art for movies\nconcept art futuristic norse\nconcept art h 8 0 0\nconcept art h 800\nconcept art highly detailed\nconcept art illustration\nconcept art in 3 d\nconcept art like ernest khalimov\nconcept art magical highlight\nconcept art matte painting\nconcept art octane render\nconcept art of a dark forest\nconcept art of a monk\nconcept art of a warrior\nconcept art of chris foss\nconcept art of comiket cosplay\nconcept art of god\nconcept art of h. r. giger\nconcept art of love\nconcept art of omegamon\nconcept art of pikachu\nconcept art of single boy\nconcept art of tony stark\nconcept art oil painting\nconcept art painting\nconcept art render\nconcept art rendering\nconcept art scene\nconcept art sketch\nconcept art stunning atmosphere\nconcept art style\nconcept art wallpaper 4k\nconcept art world\nconcept art zippo lighter\nconcept art | artgerm\nconcept art | beeple\nconcept art | dyson\nconcept art | feng zhu\nconcept art | rhads\nconcept art | rutkowski\nconcept art ”\nconcept art ， highly rendered\nconcept art!\nconcept art!!\nconcept art-h 640\nconcept art. 8 k\nconcept art. 8k\nconcept art. epic landscape\nconcept art. smoke\nconcept artbook\nconcept arti\nconcept arts\nconcept artstyle\nconcept artwork\nconcept art”\nconcept automobile design\nconcept boat\nconcept car\nconcept car design\nconcept character\nconcept character art\nconcept character sheet\nconcept creature character art\nconcept design\nconcept design art\nconcept design art octane render\nconcept digital art\nconcept drawing\nconcept drawing my syd mead\nconcept eclectic\nconcept fantasy\nconcept headshot art\nconcept house\nconcept illustartion\nconcept illustration\nconcept image\nconcept matte\nconcept model\nconcept painting\nconcept photo\nconcept photos\nconcept photoset\nconcept piece\nconcept pixelart\nconcept portrait\nconcept render\nconcept robot\nconcept sheet\nconcept sketch\nconcept sketches\nconcept style\nconcept tattoo design\nconcept world\nconcept world art\nconcept-art\nconceptart\nconceptart. com\nconceptart.com\nconceptartworld\nconceptual\nconceptual art\nconceptual installation\nconceptual mystery pokemon\nconceptual rendering\nconcern\nconcerned\nconcerned expression\nconcert\nconcert documentary\nconcert footage\nconcert hall\nconcert light\nconcert lighting\nconcert lights\nconcert photo\nconcert photography\nconcert photography from the 70s\nconcert poster\nconcert poster retro\nconch shell\nconcise lines\nconcpet art\nconcrete\nconcrete )\nconcrete _ wall ) ]\nconcrete architecture\nconcrete art style\nconcrete balcony\nconcrete brick background\nconcrete building\nconcrete hitech interior\nconcrete housing\nconcrete jungle\nconcrete pillars\nconcrete poetry\nconcrete steel glass\nconcrete wall\nconcrete walls\nconde nast traveler photo\ncondensation\ncondensation drip\ncondensation droplet render\ncondescending\ncondorito\nconductor\ncone\ncone heads\ncone shaped\nconecpt art\nconeheads\nconept art\nconfetti\nconfidant\nconfidence\nconfident\nconfident action pose\nconfident expression\nconfident facial expression\nconfident heroic pose\nconfident holding vegetables\nconfident knight's outfit\nconfident looking\nconfident personality\nconfident pose\nconfident poses\nconfident posse\nconfident relaxed pose\nconfident shaded eyes\nconfident smile\nconfident smirk\nconfident stance\nconfidential documents\nconfidently\nconflict\nconflicted emotions\nconformity\nconfortable atmosphere\nconfounding\nconfucius and jury trial\nconfused\nconfused expression\nconfused facial expression\nconfusing\nconfusing optical illusion\nconfusing perspective\nconfusion\ncongas\nconglomerate\nconglomerate!\ncongruent\nconiferous forest\nconjoined twins\nconjure devils\nconjuring a demon\nconjuring psychedelic background\nconnected\nconnected to heart machines\nconnected to nature via vines\nconnected to wires\nconnected trough wired\nconnected with glowing tubes 8 k\nconnected with glowing tubes 8k\nconnected with hanging bridge\nconnected with hanging bridge!!\nconnectedness\nconnecting life\nconnecting lines\nconnection rituals\nconnections\nconnectivity\nconnector\nconniving\nconnor hibbs\nconor mcgregor\nconor walton\nconquering imbalance\nconquest\nconquistador\nconrad roset and makoto shinkai\nconsciousness\nconsciousness projection\nconsciousness rising\nconsectetur adipiscing elit\nconservative\nconservatively dressed\nconsist of shadow\nconsistency\nconsistent\nconsistent face\nconsole\nconsole and computer\nconspiracy\nconspiracy theory\nconstant green background\nconstantine\nconstellations\nconstrast\nconstructed upon salar de uyuni\nconstruction\nconstruction equipment 1 9 9 0\nconstruction site\nconstruction yard\nconstructive solid geometry\nconstructivism\nconstructivism style\nconstructivist\ncontact sheet\ncontain\ncontainer ship\ncontaining a hidden portal\ncontaining tables and walls\ncontainment pod\ncontaminated\ncontaning tables and walls\ncontemplating\ncontemplating existence\ncontemplation\ncontemplative\ncontemporary\ncontemporary 3d art\ncontemporary aesthetic\ncontemporary architecture\ncontemporary art\ncontemporary art aesthetic\ncontemporary art gallery\ncontemporary art illustration\ncontemporary art style\ncontemporary ceramics\ncontemporary collage\ncontemporary dance\ncontemporary dance poses\ncontemporary design\ncontemporary digital art\ncontemporary fashion shoot\ncontemporary house\ncontemporary masterpiece\ncontemporary painting\ncontemporary sculpture\ncontemporary surrealism\ncontent\ncontent balance proportion\ncontent!!!\ncontented\ncontented female bodhisattva\ncontentment\nconteporary art\ncontest\ncontest award winner\ncontest winner\ncontest winner 2021\ncontest winning masterpiece\ncontinents\ncontinuous line drawing\ncontorted\ncontorted limbs\ncontour\ncontour drawing\ncontour hatching\ncontour light effect!! 8 k\ncontourless\ncontours\ncontra\ncontracept\ncontracting colors mood\ncontrails\ncontraposto\ncontrapposto\ncontrast\ncontrast and shadows\ncontrast colors\ncontrast icon\ncontrast light\ncontrast lighting\ncontrast lightning\ncontrast of light and shadows\ncontrast picture\ncontrast shading\ncontrast shadows\ncontrast side light\ncontrast volumetric light\ncontrast. surreal\ncontrasted\ncontrasted color\ncontrasted colors\ncontrasted light\ncontrasted lighting and shadows\ncontrasting\ncontrasting color scheme\ncontrasting colors\ncontrasting colours\ncontrasting light\ncontrasting lighting\ncontrasting shadows\ncontrastive colors\ncontrasts\ncontrasty\ncontre - jour\ncontre jour\ncontrejour\ncontrejour lighting\ncontrol\ncontrol art\ncontrol panel\ncontrol panels\ncontrol the game\ncontrol the soul\ncontroller\ncontroller deck\ncontrollers\ncontrolling shadows\ncontrols\ncontroversial\ncontroversial poster art\nconvenience store\nconvention photo\nconversano\nconversation pit\nconverse\nconvertable\nconvertible\nconvex\nconveyor belts\nconvincing\nconvoluted\nconvoluted halls\nconway's game of life\ncook\ncookbook photo\ncookbook photo 1 9 8 2\ncooke 8 5 mm f / 1. 2\ncooke 85 mm f / 1. 2\ncooke anamorphic / i lenses\ncooke lens feel\ncooke prime 25mm\ncooke prime 50mm\ncooke varotal 20-100 t3.1\ncooke varotal 20-100mm t3.1\ncooked\ncooked to perfection\ncookie monster\ncookie monster as a bond villain\ncookies\ncooking\ncooking it up\ncooking oil\ncooking pizza\ncooking show\ncooky\ncool\ncool 3d visualisation\ncool and bright tint\ncool background\ncool blue and green colors\ncool blue night color palette\ncool clothes\ncool color palette\ncool color scheme\ncool colors\ncool dad vibes\ncool desert\ncool dynamic lighting\ncool face\ncool glasses\ncool hair\ncool hairstyle\ncool japanese street fashion\ncool light\ncool lighting\ncool lights\ncool looking\ncool marketing photo\ncool mecha style\ncool night color\ncool offset colors\ncool palette\ncool pallet\ncool pose\ncool purple grey lighting\ncool purple lighting\ncool purple slate blue lighting\ncool red jacket\ncool saturated colours\ncool sepia tone colors\ncool shading\ncool skydome\ncool smooth space colours\ncool style\ncool sunglasses\ncool temperature\ncool tint\ncool tone\ncool tone pastel rainbow colors\ncool toned\ncool tones\ncool tousled hair\ncool twilight\ncool vibes\ncool warm lighting\ncool white\ncool white color temperature\ncooling\ncop\ncoper cladding\ncopic marker\ncopic markers\ncopious jewelry\ncopper\ncopper and brass\ncopper and deep teal mood\ncopper and emerald\ncopper and emerald inlay\ncopper and emerald jewelry\ncopper cup\ncopper details\ncopper elements\ncopper goat skulls\ncopper hair\ncopper oxide and rust materials\ncopper oxide material\ncopper patina\ncopper pipers\ncopper short hair\ncopper spiral hair decorations\ncopper veins\ncopper wire\ncopperplate print style\ncopyright time magazine\ncopyright tmz\ncopyright tsr 1989\ncoral\ncoral brown hair\ncoral headdress\ncoral lipstick\ncoral red\ncoral reef\ncoral reefs\ncoral sea bottom\ncoral snakes grow from her head\ncoral underwater colorful\ncoral-like pebbles\ncoraline\ncorals\ncorals are gemstones\ncords\ncords and wires\ncorduroy\ncorduroy road\ncorel painter\ncorel paintshop pro\ncorgi\ncorgi and cat fixing the website\ncorgi cosmonaut\ncorgi dressed as captain america\ncorgi with  angelic wings\ncorgi with [ angelic wings ]!!\ncorgis in no man's sky\ncorgis in no mans sky\ncorinne day\ncoriolios rpg art style\ncorn\ncorn chess board game\ncorn floating in ocean\ncorn on a cob everywhere\ncornelia geppert\ncornell\ncorner\ncorner assault rifle\ncorner office background\ncornered like an animal\ncorners\ncornrows\ncornrows braids\ncornucopia\ncornwall\ncoroflot\ncorona\ncorona render\ncorona rendered\ncorona renderer\ncoronal storm\ncoronarender\ncoronation\ncoronation of the flower prince\ncoronavirus\ncoronavirus as a stuffed toy\ncorot\ncorporate\ncorporate animation style\ncorporate boss\ncorporate business\ncorporate flow chart\ncorporate holograms\ncorporate logo\ncorporate logo of an eye\ncorporate memphis\ncorporate memphis style\ncorporate phone app icon\ncorporate photo\ncorporate portait\ncorporate portrait\ncorporate style\ncorps scattered on the ground\ncorpse\ncorpse bride art style\ncorpse bride style\ncorpse bridegroom of the spring\ncorpsepaint\ncorpses\ncorpses and shadows\ncorpses and shadows!\ncorpses come to life\ncorpses floor\ncorrect anatomy\ncorrect details\ncorrect eye placement\ncorrect eyes proportion\ncorrect face\ncorrect faces\ncorrect proportions\ncorrect robot face\ncorrect wolf muzzle\ncorrected\ncorrected faces\ncorrected hand\ncorrected hands\ncorrectly anatomy\ncorridor\ncorrugated hose\ncorrupted\ncorrupted armor\ncorrupted data\ncorrupted file\ncorruption\ncorset\ncorsets\ncortana\ncortana from halo\ncoruscant\ncorvette c2 1969\ncorvette c21969\ncorvo attano\ncory\ncory behance hd\ncory chase\ncory chase as an atlantean\ncory loftis\ncosmetics\ncosmic\ncosmic ambient\ncosmic and colorful\ncosmic apocalypse\ncosmic architecture\ncosmic artifacts\ncosmic atmosphere\ncosmic atmosphere light flares\ncosmic background\ncosmic bjork\ncosmic butterfly nebula\ncosmic cataclysm\ncosmic color scheme\ncosmic colorful ultima moongate\ncosmic colors\ncosmic crystals\ncosmic destruction\ncosmic dynamic lighting\ncosmic energy\ncosmic energy wires\ncosmic enlightenment\ncosmic entity\ncosmic fantasy\ncosmic girl\ncosmic goddess\ncosmic horror\ncosmic horror concept art\ncosmic horror creature\ncosmic horror elements\ncosmic horror entity\ncosmic horror entity with wings\ncosmic horror illustration\ncosmic horror painting\ncosmic horror style\ncosmic horror!!\ncosmic horror!!!\ncosmic imagery\ncosmic integration\ncosmic landscape\ncosmic lighting\ncosmic lsd poster art\ncosmic microwave background\ncosmic nebula\ncosmic nebulae\ncosmic night background\ncosmic purple space\ncosmic purple space!\ncosmic royalty\ncosmic scale\ncosmic skies\ncosmic skies. by makoto shinkai\ncosmic sky\ncosmic soul\ncosmic space\ncosmic starry sky\ncosmic stars\ncosmic style\ncosmic sun in the background\ncosmic survival\ncosmic tiefling d&d\ncosmic tiger\ncosmic tree\ncosmic tree of life\ncosmic universe\ncosmic void background\ncosmic weapons\ncosmic wind\ncosmo kramer as dr. strange\ncosmology\ncosmology of kyoto landscape\ncosmonaut\ncosmopolitan\ncosmoport\ncosmos\ncosmos backdrop\ncosmos exploration\ncosmos in the background\ncospay\ncosplay\ncosplay award winner\ncosplay journal cover\ncosplay of a catboy! maid! dress\ncosplay on black harley queen\ncosplay photo\ncosplayer\ncosplayer dressed like a crab\ncost\ncosta blanca\ncostume\ncostume desig\ncostume design\ncostume design made with love\ncostume weird\ncostume weird creepy\ncostume with blue accents\ncostumes\ncostumes from peaky blinders\ncosy\ncosy atmoshpere\ncosy atmosphere\ncosy enchanted scene\ncosy fireplace\ncosy vibes\ncottage\ncottage close up\ncottage core\ncottage decor\ncottage hippie naturalist\ncottage in the forest\ncottage in the woods\ncottage town\ncottagecore\ncottagecore flower garden\ncottagecore hippie\ncottagecore!!\ncottagecore!! fitness body\ncottages\ncotton\ncotton candy\ncotton candy bushes\ncotton candy clouds\ncotton candy trees\ncotton cloud mage robes\ncotton clouds\ncotton fabric\ncotton texture\ncotw\ncouch\ncouch desk\ncouches melting\ncouches vibrating and melting\ncougar\ncougar in forest at night\ncoughing\ncoulson\ncount dracula\ncount of monte cristo\ncountach\ncountdown\ncounter\ncounter strike\ncounterfeit mickey mouse head\ncountry\ncountry landscape\ncountry road\ncountry style\ncountryside\ncountryside city scene\ncountryside in japan\ncouple\ncouple dancing\ncouple kissing\ncouple on bed\ncouple portrait\ncouple pose\ncouple walking hand in hand\ncouples portrait\ncourage\ncourage the cowardly dog\ncourageous\ncourbet\ncourful illustration\ncourt archive images\ncourt drawing\ncourt images\ncourt jester\ncourt jester in renaissance era\ncourt politics\ncourt room\ncourt room sketch\ncourt session images\ncourt sketch\ncourt sketch art\ncourtesy mbari\ncourtesy of centre pompidou\ncourtesy of mbari\ncourtesy of moma\ncourtroom\ncourtroom drawing\ncourtroom scene\ncourtroom sketch\ncourtroom the bench\ncourtyard\ncourtyard walkway\ncouture\ncoventry city centre\ncover\ncover art\ncover art design\ncover art of graphic novel\ncover corp\ncover game art\ncover girl\ncover illustration\ncover image\ncover magazine\ncover manga\ncover of a magazine\ncover of gta v\ncover of life magazine\ncover of magazine\ncover of national geographic\ncover of new york times\ncover of new yorker magazine\ncover of surfer magazine\ncover of time magazine\ncover of vogue\ncover page\ncover photo portrait of du juan\ncover shot\ncover story\ncover with a lot of red water\ncover with blood\ncover. photo : david roemer\ncovered\ncovered breasts\ncovered bridge\ncovered chest\ncovered face\ncovered head\ncovered in\ncovered in bandages\ncovered in blood\ncovered in circuitry\ncovered in clouds\ncovered in coral\ncovered in coral and barnacles\ncovered in crystals and glitter\ncovered in dirt\ncovered in dust\ncovered in fallen leaves\ncovered in feathers\ncovered in flame porcelain vine\ncovered in flowers\ncovered in full leather armor\ncovered in full metal armor\ncovered in full silver armor\ncovered in human eyes\ncovered in ice\ncovered in jewels\ncovered in ketchup\ncovered in leaves\ncovered in matted fur\ncovered in moss\ncovered in moss and birds\ncovered in mud\ncovered in oil\ncovered in oil painting\ncovered in organic flesh meat\ncovered in pink flesh\ncovered in plants\ncovered in red slime\ncovered in robes\ncovered in runes\ncovered in salt\ncovered in sand\ncovered in slime\ncovered in slime!!\ncovered in snow\ncovered in soft fur\ncovered in sprinkles\ncovered in sprinkles and crumbs\ncovered in transparent cloth\ncovered in vines\ncovered in water drops\ncovered in white flour\ncovered outdoor stage\ncovered sfw huge breasts\ncovered solar system\ncovered with black goo\ncovered with blanket\ncovered with blood\ncovered with cobwebs and dust\ncovered with ferrofluid. dslr\ncovered with flowers\ncovered with liquid tar. dslr\ncovered with organic flesh\ncovered with pink marzipan\ncovered with roots\ncovered with snow\ncovered with tar\ncovered with tar. dslr\ncovered with tentacles\ncovered with vegetation\ncovered with wires\ncovered!\ncovered!!\ncovered!! hair\ncovering the ground\ncovert art\ncovert military pants\ncovet death\ncoveted\ncoveted alive\ncovid\ncovid-19 as a human\ncow\ncow hoof feet\ncow horns\ncow skull\ncow-girl\ncoward\ncowardly\ncowboy\ncowboy bebop\ncowboy bebop anime\ncowboy bebop anime style\ncowboy bebop art style\ncowboy boots\ncowboy cats\ncowboy dream\ncowboy hat\ncowboy hat and glasses\ncowboy on the range\ncowboy plague doctors\ncowboy portrait\ncowboy portrait male\ncowboy shot\ncowboy style\ncowboy themed\ncowboys\ncowgirl\ncowl\ncoworkers\ncows\ncoxcomb\ncoy\ncoy expression wearing intricate\ncoy smile\ncozy\ncozy 1 9 5 0's\ncozy 1950s\ncozy 9 0 s bedroom retrofuturism\ncozy aesthetic\ncozy and calm\ncozy and peaceful atmosphere\ncozy arm chairs\ncozy atmosphere\ncozy atmospheric\ncozy bathhouse hidden in a cave\ncozy bed\ncozy cafe background\ncozy calm! fabrics textiles\ncozy calmfabrics textiles\ncozy candlelight\ncozy contemporary living room\ncozy dark 1920s speakeasy bar\ncozy environment\ncozy home background\ncozy lighting\ncozy lights\ncozy living room\ncozy living room background\ncozy living room interior\ncozy night fireflies\ncozy place\ncozy room\ncozy setting\ncozy studio photography\ncozy treehouse bedroom\ncozy under a blanket\ncozy vibe\ncozy wallpaper\ncozy warm tint\ncp2077\ncpl filter\ncpu\ncpu gpu wafer\ncr3\ncrab\ncrab monster\ncrab on beach on sand\ncrabcore\ncrabs\ncrack head\ncrack pipe\ncracked\ncracked and faded in places\ncracked and faded photo paper\ncracked body full of scars\ncracked brick background\ncracked brick wall\ncracked dry lake bed\ncracked earth\ncracked glass\ncracked handmade pottery vase\ncracked japanese pottery vase\ncracked mirror\ncracked mud\ncracked paint\ncracked picture window\ncracked plastic wrap\ncracked porcelain face\ncracked steel\ncracked varnish\ncracked walls\ncracked windows\ncracked. biomechanical cyborg\ncracking glass through reality\ncrackles\ncrackling black lightning\ncrackling blue lightning\ncrackling green lightning\ncrackling lighting magic\ncrackling with lightning\ncracks\ncracks in the armor\ncracks of magma\ncraft\ncrafting\ncrafting a nightmare\ncrafting spells\ncrafts\ncrafts and more\ncrafts and souvenirs\ncraftsman home\ncraftsmanship\ncraggy\ncraggy mountains\ncraig\ncraig mallism\ncraig miller\ncraig mulins\ncraig mullens\ncraig mullin\ncraig mullins 8 k\ncraig mullins 8k\ncraig mullins alphonse mucha\ncraig mullins and artgerm\ncraig mullins and greg rutkowski\ncraig mullins dappled lighting\ncraig mullins dark key\ncraig mullins greg rutkowski\ncraig mullins nekro\ncraig mullins style\ncraig mullinshyper\ncraig russell\ncraig wylie\ncraigslist photo\ncraigville\ncraiyon\ncramel hair\ncramped\ncramped new york apartment\ncranberry helmet\ncranberry statue\ncranbow jenkins\ncrane\ncrane shot\ncranes\ncrap fish\ncrash\ncrash bandicoot\ncrash bandicoot artstyle\ncrash landing\ncrashcart\ncrashed\ncrashed in roswell\ncrashed in the ground\ncrashed spaceship\ncrashed spaceship!!\ncrashed ufo\ncrashing waves\ncrashing waves and sea foam\ncrass\ncrass records\ncrater\ncrater lake\ncraters\ncrates and parts on the ground\ncraving\ncrawling\ncrawling along a bed of moss\ncrawling humanoid monsters\ncrawling in a wet sewer pipe\ncrawling on the ground\ncrawling out of a dark room\ncrawling towards the camera\ncraxula\ncrayon\ncrayon and cut up\ncrayon drawing\ncrayon face\ncrayon lines\ncrayon on paper\ncrayons\ncrayons and watercolor sketch\ncrayons on paper\ncrayons. high details\ncrazed\ncraziness\ncrazy\ncrazy angle\ncrazy atmosphere\ncrazy cat lady\ncrazy clothes\ncrazy colors\ncrazy colors 1 0 %\ncrazy colors 10 %\ncrazy detail\ncrazy detailed\ncrazy detailed and complex\ncrazy expression\ncrazy eyes\ncrazy eyes wide open\ncrazy fashion catwalk\ncrazy fish\ncrazy fun\ncrazy hacker girl\ncrazy hair\ncrazy hate face\ncrazy high definition\ncrazy looking rocks\ncrazy racer spinning\ncrazy seductive smile\ncrazy white hair\ncream\ncream - colored room\ncream and blue color scheme\ncream and white color scheme\ncream colored blouse\ncream colored peasant shirt\ncream dripping on face\ncream of the crop\ncream paper\ncream white background\ncreamy\ncreamy skin\ncreary\ncreated in adobe illustrator\ncreated in octane render\ncreated in unreal engine 5\ncreated m.c. escher and picasso\ncreating a soft\ncreating a thin monolith\ncreating an ominous presence\ncreating an optical illusion\ncreating the false christian god\ncreation\ncreation of adam\ncreation of the universe\ncreation of the world\ncreative\ncreative and cool\ncreative art\ncreative book cover\ncreative coder with a computer\ncreative coding\ncreative color choice\ncreative colorfull - makeup\ncreative commons attribution\ncreative composition\ncreative design\ncreative fashion\ncreative interpretation\ncreative lighting\ncreative makeup\ncreative mash up\ncreative photo manipulation\ncreative photoshop\ncreative vfx\ncreativity\ncreativity in fashion design\ncreature\ncreature bust\ncreature concept art\ncreature design\ncreature from the black lagoon\ncreature god\ncreature head\ncreature in view\ncreatures\ncreatures dancing\ncredit esa\ncredit nasa\ncreek\ncreeks\ncreep\ncreeper\ncreeper world\ncreepers\ncreeping forward\ncreeping gloom\ncreeptastic\ncreepy\ncreepy aesthetic\ncreepy ambiance\ncreepy ambience\ncreepy and dark feelings\ncreepy and dramatic atmosphere\ncreepy and eerie athmosphere\ncreepy and unsettling\ncreepy art\ncreepy astronaut\ncreepy atmosphere\ncreepy background\ncreepy backrooms\ncreepy black figure standing\ncreepy carved expression\ncreepy child\ncreepy clown girl\ncreepy creature\ncreepy cute creatures everywhere\ncreepy dungeon\ncreepy evil smile\ncreepy explorer sketch\ncreepy fantasy ambience\ncreepy forest\ncreepy gothic portrait\ncreepy hd 4k\ncreepy horror\ncreepy kawaii\ncreepy lighting\ncreepy lightning\ncreepy liminal interior of re7\ncreepy macro photo\ncreepy mannequin\ncreepy marionette puppet\ncreepy masked marionette puppet\ncreepy monster\ncreepy mood\ncreepy mutant flesh creature\ncreepy pasta\ncreepy photo\ncreepy photography\ncreepy pose\ncreepy shadows\ncreepy sigma 75mm\ncreepy skies\ncreepy smile\ncreepy smiles\ncreepy surrealism\ncreepy themed\ncreepy uncanny valley\ncreepy vibe\ncreepy!!\ncreepy!!!\ncreepypasta\ncrenellated balconies\ncrepax\ncrepuscular\ncrepuscular ray\ncrepuscular rays\ncrepuscular!!\ncrepuscule\ncrescendo\ncrescent moon\ncrescent moon in background\ncrescent wrench\ncrestfallen\ncresting waves and seafoam\ncreterion collection\ncrew cut\ncrew cut hair\ncrewdson\ncrewson photography\ncrib goch!!!!!!!!!!! ridge\ncrib gochridge\ncrime\ncrime photos\ncrime scene\ncrime scene photo\ncrime scene photography\ncrimes\ncriminal\ncriminal appearance\ncriminal mugshot\ncriminals\ncrimped hair in warhammer\ncrimson\ncrimson - black bee army behind\ncrimson - black beehive\ncrimson - black color scheme\ncrimson accents\ncrimson and ecru color scheme\ncrimson and grey color scheme\ncrimson and white color scheme\ncrimson attire\ncrimson clothes\ncrimson clouds\ncrimson color blood tears\ncrimson darkness\ncrimson fire head\ncrimson fire palette\ncrimson fork\ncrimson gradient\ncrimson hair\ncrimson halo\ncrimson heavy armor\ncrimson highlights\ncrimson led\ncrimson peek\ncrimson rain sought flower\ncrimson red aura\ncrimson red hair and red eyes\ncrimson single french braid bun\ncrimson themed\ncrimson tide\ncringe\ncrips\ncrips details\ncrisp\ncrisp 8 k line art\ncrisp 8 k line work\ncrisp 8k line art\ncrisp 8k line work\ncrisp and clear\ncrisp and sharp\ncrisp clean shapes\ncrisp clear hd resolution\ncrisp clear resolution\ncrisp clear rpg portrait\ncrisp colors\ncrisp contour - lines\ncrisp contour lines\ncrisp detail\ncrisp detailed 3 d render\ncrisp details\ncrisp edges\ncrisp face\ncrisp focus\ncrisp hd image\ncrisp hd resolution\ncrisp image\ncrisp image texture\ncrisp lighting\ncrisp lighting and edges\ncrisp lines\ncrisp lines and color\ncrisp photo\ncrisp render\ncrisp sharp focus\ncrisp smooth clean lines\ncrisp smooth lines\ncrisp vector line\ncrisps\ncrispy\ncrispy buns\ncrispy quality\ncristi balanescu\ncristiano ronaldo\ncristiano ronaldo as batman\ncristiano ronaldo as pope\ncristo redentor\ncriterion collection\ncritical moment\ncritical moment photograph\ncritical role\ncritically acclaimed\ncritically condemned\ncritters\ncritters - movie\ncroatian coastline\ncrochet\ncrochet octopus eating sushi\ncrochet skin\ncrocodile\ncrocodile - like teeth\ncrocodile god lair\ncrocodile loki\ncrocodile reptilian motifs\ncronenberg\ncronenberg automata\ncronenberg bookshop\ncronenburg\ncrono\ncrono portrait\ncronobreaker\ncrooked legs\ncrooked nose\ncrooked smile\ncrooked teeth\ncrop circles\ncrop shirt and strong abs\ncrop top\ncrop yoga short\ncropped red yoga short\ncropped shirt with jacket\ncropped wide sleeve\ncroptop\ncroptop and shorts\ncross\ncross - hatching\ncross composition\ncross contour\ncross contour drawing\ncross haching\ncross hatch\ncross hatched\ncross hatching\ncross section\ncross section of mannequin head\ncross-eyed\ncross-hatchings\ncrossbow\ncrossbow arrow\ncrossbreed\ncrossed arms\ncrossed eyes\ncrossed legs\ncrosses\ncrosshatch\ncrosshatch shading\ncrosshatch sketch gradient\ncrosshatching\ncrossing road\ncrossing the blue horizon\ncrossing the desert\ncrossing the line\ncrossing the river\ncrossover\ncrosswalk\ncrosswalks\ncrouching\ncrouching humanoid\ncrow\ncrow head\ncrow in cyber armour\ncrow portrait\ncrow portrait!!!!!\ncrow skull knight helmet\ncrowd\ncrowd cheering\ncrowd cheers him\ncrowd hails him\ncrowd of androids\ncrowd of cool people dancing\ncrowd of longhairs\ncrowd of people\ncrowded\ncrowded airport\ncrowded and populated\ncrowded beach\ncrowded city\ncrowded inn in the background\ncrowded people\ncrowded place\ncrowded silhouettes\ncrowded square\ncrowded stands\ncrowded street\ncrowded streets\ncrowds\ncrowds of people\ncrowds of people praying\ncrowds panic\ncrowdy\ncrown\ncrown and gown\ncrown made of bones\ncrown made of fabric\ncrown made of felt\ncrown of (((white lasers)))\ncrown of (pink lasers)\ncrown of (white lasers)\ncrown of blue flowers\ncrown of blue gears and diamonds\ncrown of body length feathers\ncrown of bones\ncrown of fire\ncrown of giant diamonds\ncrown of giant rubies\ncrown of mechanical peach roses\ncrown of peach roses\ncrown of pink lasers\ncrown of red steampunk lasers\ncrown of roses\ncrown of skulls\ncrown of snakes\ncrown of the gods\ncrown of thorns\ncrown of very long feathers\ncrown of white diamonds\ncrown of white lasers\ncrown on head\ncrown with pins\ncrown!! oil painting\ncrown!!!!!!\ncrowned\ncrownoil painting\ncrowns\ncrows\ncrows as a symbol of death\ncrows beautiful\ncrows feet\ncrows on the oak tree\ncrpg\ncrt\ncrt filter\ncrt monitor\ncrt screen\ncrt screens in background\ncrt television\ncrt tubes\ncrt tv mounted\ncrucifix\ncrucifixion\ncrucifixion of conor mcgregor\ncrude\ncrude crayon scribbles\ncruel\ncruel green-eyed\ncruel korean goth girl\ncruella devil\ncruelty\ncruise control\ncruise missile strikes\ncrumbled wall in jerusalem\ncrumbling\ncrumbling ancient skyscrapers\ncrumbling buildings\ncrumbling masonry\ncrumbling ruins\ncrumpled newspaper as a texture\ncrunch time on uranus\ncrunchyroll\ncrusade\ncrusader kings\ncrusader kings 3\ncrushed\ncrushed quality\ncrushing despair\ncrust\ncrustacean\ncrustacean head\ncrusty electronics\ncrutches\ncry\ncry engine\ncrybernetic\ncryengine\ncryengine 8 k\ncryengine 8 k uhd\ncryengine 8k\ncryengine 8k uhd\ncryengine octane\ncryengine octane blender\ncryengine render\ncryengine render 8 k\ncryengine render 8 k uhd\ncryengine render 8k uhd\ncryenging 8 k uhd\ncryenging 8k uhd\ncrying\ncrying and puking\ncrying and reaching with her arm\ncrying and smiling franticly\ncrying and weeping\ncrying beautiful female android\ncrying beautiful female android!\ncrying big blue tears\ncrying blood\ncrying cyborg woman\ncrying engine\ncrying eyes closed\ncrying eyes closed!\ncrying fashion model\ncrying makeup\ncrying many tears\ncrying one single tear\ncrying queen of feathers\ncrying softly and humbly\ncrying tears\ncrying tears of blood\ncrying! android! woman\ncrying. scifi\ncryingandroidwoman\ncryo engine\ncryogenic pods\ncrypt\ncrypt lurker\ncrypt lurker!!\ncryptic\ncryptid\ncryptidcore\ncryptids\ncrypto\ncrypto valut\ncryptoblades\ncryptocurrency\ncryptocurrency in the background\ncryptonomicon\ncryptopunk\ncryptopunk with pit vipers\ncrysis\ncrysis nanosuit\ncrystal\ncrystal amber eyes\ncrystal ball\ncrystal blue eyes\ncrystal castles\ncrystal clear\ncrystal clear blue water\ncrystal clear neon water\ncrystal clear sea\ncrystal clear water\ncrystal clusters\ncrystal color\ncrystal column\ncrystal crown\ncrystal desert\ncrystal dragon\ncrystal encrustations\ncrystal encrusted\ncrystal face\ncrystal forest\ncrystal formation\ncrystal holographic undertones\ncrystal incrustations\ncrystal lake\ncrystal lighting\ncrystal lights\ncrystal maiden\ncrystal material\ncrystal nodes\ncrystal palace\ncrystal particles\ncrystal refraction of light\ncrystal ruff\ncrystal shards\ncrystal skull\ncrystal teeth\ncrystal water\ncrystal waters\ncrystal-clear-focus\ncrystal-embellished\ncrystaline celtic\ncrystalized\ncrystalized scales\ncrystalized time warps\ncrystall\ncrystallic\ncrystallic sunflowers\ncrystalline\ncrystalline edges\ncrystalline masterpiece implants\ncrystalline rock\ncrystalline skin\ncrystalline translucent hair\ncrystalline!!\ncrystallized\ncrystallized human silhouette\ncrystals\ncrystals and diamonds\ncrystals enlight the scene\ncs lewis\ncs:go screenshot\ncsgo\ncsgo sticker\ncsgo team sticker\ncsok istvan\ncsp\ncsók istván\ncsók istván and da vinci\nctane 3 d rendered\ncthonic resonance\ncthulhu\ncthulhu eating toast\ncthulhu mythos\ncthulhu rising from the ocean\ncthulhu samurai\ncthulhu squid\ncthulu\ncthulu portrait\ncthylla's laboratory!\ncthyllas laboratory\ncuastics\ncuaxolotl\ncub\ncuba\ncuban revolution\ncuban setting\ncuban women in havana\ncube\ncube portals\ncube shaped\ncube shaped irises\ncubensis\ncuberpunk\ncubes\ncubes of ice around\ncubes on table\ncubic\ncubic and right angles\ncubic blocks\ncubic blocks mix stripes cuts\ncubic blocks stripes\ncubic blocks stripes cuts\ncubic crystals\ncubic minerals\ncubical meeting room office\ncubicles\ncubism\ncubism and / or romanticism\ncubism brutalism architecture\ncubism painting of a tree\ncubism style\ncubist\ncubist painting\ncubist picasso\ncubist style\ncubists love it\ncubo - futurism\ncucumber\ncucumbers\ncuddling\ncuddling her gremlings\ncuddly\ncuddly fur\ncuirass\ncuisine\nculinary art photography\ncult\ncult - classic - comic\ncult - classic - comic - style\ncult horror\ncult leader\ncult of technology\ncult of the lamb\ncult-classic-comic-style\ncultist\ncultists watching\ncultivator\nculture\nculture wars\ncultured\ncumulonimbus\ncumulonimbus clouds\ncumulonimbus clouds in the sky\ncumulus\ncumulus cloud tattoos\ncumulus clouds\ncumulus tattoos\ncunning\ncunning expression\ncunning smile\ncup of coffee\ncup of death\ncupboards\ncupcake\ncupertino\ncuphead\ncuphead’s art style\ncupid\ncups and balls\ncurated collection\ncurated collections\ncure\ncuriosities\ncuriosities carnival\ncuriosities carnival fallout\ncuriosity\ncurious\ncurious expression\ncurious eyes\ncurl noise\ncurled beard\ncurled perspective\ncurled silver hair\ncurled slightly at the ends\ncurled up on a book\ncurled up under the covers\ncurls\ncurls and curves\ncurls hair\ncurls on top\ncurls on top of his head\ncurly\ncurly afro\ncurly and short top hair\ncurly bangs\ncurly bangs and ponytail\ncurly black beard\ncurly black hair\ncurly blond\ncurly blond hair\ncurly blonde hair\ncurly blonde hair  d d\ncurly blonde hair | d & d\ncurly brown hair\ncurly copper colored hair\ncurly dark hair\ncurly dirty blonde hair\ncurly hair\ncurly haired\ncurly long hair\ncurly messy high bun hairstyle\ncurly middle part haircut\ncurly pink hair\ncurly pixie cut hair\ncurly pixie hair\ncurly red hair\ncurly white hair\ncurrency symbols printed\ncurrents\ncursed\ncursed baroque with ebony inlay\ncursed image\ncursed imagery\ncursed images\ncursed oil painting\ncursed photograph\ncursed photography\ncursed polaroid\ncurtain\ncurtain bangs\ncurtains\ncurvaceous\ncurvaceous. detailed\ncurvaceous. detailed expression\ncurvacious\ncurvature\ncurve\ncurved\ncurved blades on each hand\ncurved body\ncurved bridge\ncurved furniture\ncurved hallways\ncurved horned dragon!\ncurved horns\ncurved horns!\ncurved lines\ncurved perspective\ncurved red arrow\ncurved sword\ncurved trees\ncurved. studio lighting\ncurves\ncurves!!\ncurvilinear\ncurvilinear architecture\ncurvilinear pencil marks\ncurvilinear perspective\ncurving\ncurving black\ncurving geometric arches\ncurvy\ncurvy accentuated booty\ncurvy and bow\ncurvy body\ncurvy build\ncurvy crossfit build\ncurvy figure\ncurvy hourglass figure\ncurvy model\ncushart\ncushart kenz\ncushart krentz\ncushart krenz\ncushart krenz key art feminine\ncushions\ncuster's last stand\ncustom\ncustom brush\ncustom computer\ncustom design\ncustom headlights\ncustom modern castle\ncustom scooter\ncustomer\ncustomers\ncut\ncut and paste\ncut and paste collage\ncut into the side of a mountain\ncut lines\ncut out\ncut out collage\ncut out of cardboard\ncut paper texture\ncut style\ncut up collage\ncut-away\ncut-out paper collage\ncut-scene\ncuta anime\ncutaway\ncute\ncute - fine - face\ncute 3 d render\ncute adorable\ncute and adorable\ncute and cuddly\ncute and friendly eyes\ncute and funny\ncute and lovely\ncute animal\ncute animals\ncute anime\ncute anime catgirl\ncute anime face\ncute anime girl\ncute anime girl portrait\ncute anime girl portraits\ncute anime style\ncute anime waifu in a nice dress\ncute anthropomorphic bunny\ncute art\ncute art style\ncute artwork\ncute astronaut sticker art\ncute axolotl\ncute bakery shop\ncute bandaid on nose\ncute bandaid on nose!!\ncute beagle\ncute beautiful\ncute bikini\ncute black dress\ncute boy\ncute boys\ncute but determined\ncute caracal\ncute caracal in bathtub\ncute cartoon\ncute cartoon character\ncute cartoon style\ncute casual streetwear\ncute cat\ncute cat in a sunflower field\ncute cat photo\ncute cats\ncute character\ncute characters\ncute checkerboard sundress\ncute chibi rat wizard\ncute colorful adorable\ncute complexion\ncute corgi\ncute coronavirus creatures\ncute coronavirus creatures!\ncute creature\ncute creatures\ncute cthulhu\ncute cyber gods\ncute cyborg girl\ncute decapodiformes\ncute detailed artwork\ncute detailed digital art\ncute details\ncute digital art\ncute dog\ncute drawing\ncute dress\ncute earrings.\ncute earrings. highly detailed\ncute ears\ncute elaborate epic robot\ncute elegant pose\ncute elephant\ncute emo guy\ncute expression\ncute eyes\ncute face\ncute face big eyes and smiley\ncute face. dark fantasy\ncute faces\ncute features\ncute fine face\ncute fluffy caracal\ncute forest creature\ncute fox\ncute freckles\ncute frog\ncute fumo chibi plush imp\ncute fumo plush bunny girl\ncute fumo plush fox girl\ncute funny figurine wooden\ncute funny ghost\ncute furry needs your help\ncute future vehicles\ncute girl\ncute girl wearing tank suit\ncute girl with short pink hair\ncute girls\ncute goose\ncute happy face\ncute hats\ncute horns\ncute huge pockets\ncute huge pockets hardware\ncute humanoid robot\ncute illustration\ncute kawaii girl\ncute kitchen\ncute kitten\ncute kittens\ncute korean actress\ncute large eyes\ncute lion\ncute little creature\ncute little dragon\ncute little girl\ncute little troll\ncute looking\ncute miniature resine figure\ncute monster\ncute monster character design\ncute monster skateboarding\ncute monsters\ncute mouse pokemon\ncute natural anime face\ncute nose\ncute otter\ncute otter sailor eat cake\ncute outfit\ncute owl\ncute panda\ncute panties\ncute photo\ncute photograph\ncute pictoplasma\ncute pilot girl\ncute pixar character\ncute pizza monster\ncute pocelain doll\ncute pockets\ncute portrait\ncute pose\ncute pout\ncute rave outfit\ncute robot\ncute robot with grass hair\ncute robot wooden\ncute room\ncute round green slanted eyes\ncute round slanted eyes\ncute scene\ncute schoolgirl\ncute seductive smile\ncute silly face\ncute single animal\ncute skeleton\ncute slightly nerdy smile\ncute smile\ncute smiling face\ncute sportswear\ncute storybook illustration\ncute style\ncute style garden\ncute sundress\ncute teeth\ncute top\ncute toy\ncute woman\ncute young girl\ncute young man\ncute young redhead girl\ncute young woman\ncute!\ncute! biomechanical axolotl\ncute! c4d\ncute!! chibi!!! catgirl\ncute!! chibi!!! schoolgirl\ncute!!!\ncute-fine-face\ncute:2\ncutebiomechanical axolotl\ncutec4d\ncutechibischoolgirl\ncutecore\ncutecore clowncore\ncuteness\ncutesexyrobutts\ncutest\ncutie\ncutie mark\ncutlery\ncutout\ncuts\ncutscene\ncutscene footage\ncutting a salad\ncuttlefish\ncwc\ncyan\ncyan and gold scheme\ncyan and green\ncyan and magenta\ncyan and orange\ncyan and orange palette. vivid\ncyan atmosphere\ncyan chinese dragon fantasy\ncyan colors\ncyan corset\ncyan dimensional light\ncyan fog\ncyan gold blank light\ncyan headlights\ncyan lightning\ncyan mist\ncyan photographic backdrop\ncyan shutters on windows\ncyangmou\ncyanotype\ncyarine\ncyber\ncyber - punk\ncyber - punk background\ncyber aesthetic\ncyber architecture\ncyber armor\ncyber armour\ncyber augmentation implant\ncyber background\ncyber city\ncyber copper spiral decorations\ncyber embellishment\ncyber fight armor\ncyber future jacket\ncyber goggles\ncyber implants\ncyber installation\ncyber japan armor\ncyber japan samurai armor\ncyber japan style armor\ncyber led neon lighting\ncyber mech\ncyber monkey in the scifi forest\ncyber mushroom city\ncyber necklace\ncyber neon lighting\ncyber neon lightings\ncyber neon lights\ncyber noir\ncyber patterns\ncyber penguin in fallout 4\ncyber punk\ncyber punk setting\ncyber school girl\ncyber security polygon\ncyber skeleton\ncyber skeletons\ncyber songman\ncyber space\ncyber space cowboy\ncyber space forest scene\ncyber steampunk\ncyber steampunk 8 k 3 d\ncyber steampunk 8k 3 d\ncyber style\ncyber suit\ncyber universe\ncyber universe style\ncyber war\ncyber wear\ncyber western\ncyber world\ncyber-punk\ncybercat\ncybercore\ncyberdeck computer terminal\ncyberdemon on omaha beach\ncyberface\ncyberfunk\ncybergods\ncybergoth\ncyberlox\ncybermagnetosphere\ncybermosque interior\ncybernatic\ncybernetic\ncybernetic and\ncybernetic and highly detailed\ncybernetic bionic ancient cyborg\ncybernetic body\ncybernetic body parts\ncybernetic city background\ncybernetic civilisations\ncybernetic civilizations\ncybernetic components\ncybernetic components!!\ncybernetic culture research unit\ncybernetic cyborg warrior\ncybernetic demon dreaming\ncybernetic dreadlocks\ncybernetic enhancement\ncybernetic enhancements\ncybernetic eye\ncybernetic eyes implants\ncybernetic faces\ncybernetic features\ncybernetic fire armor\ncybernetic flame armor\ncybernetic future perfect\ncybernetic glowing\ncybernetic hands\ncybernetic head\ncybernetic implant\ncybernetic implant h 768\ncybernetic implants\ncybernetic legs\ncybernetic limbs\ncybernetic machine female face\ncybernetic machines\ncybernetic neck implant\ncybernetic organism\ncybernetic parts\ncybernetic scifi\ncybernetic shrine\ncybernetic wallpaper\ncybernetic webs\ncybernetic wonderland\ncybernetically enhanced\ncybernetics\ncyberpsycho\ncyberpunc\ncyberpunk\ncyberpunk 2 0 2 0\ncyberpunk 2 0 2 0 manual\ncyberpunk 2 0 4 8\ncyberpunk 2 0 4 9\ncyberpunk 2 0 7 7\ncyberpunk 2 0 7 7 )\ncyberpunk 2 0 7 7 character art\ncyberpunk 2 0 7 7 night city\ncyberpunk 2 0 8 8\ncyberpunk 2 0 y. o model girl\ncyberpunk 2020 manual\ncyberpunk 2048\ncyberpunk 2049\ncyberpunk 2070\ncyberpunk 2077\ncyberpunk 2077 color\ncyberpunk 2077 night city\ncyberpunk 2077 rossdraws\ncyberpunk 2077)\ncyberpunk 2077”\ncyberpunk 8 k\ncyberpunk accessory\ncyberpunk ads\ncyberpunk aesthetic\ncyberpunk aesthetics\ncyberpunk alley\ncyberpunk angry gorgeous druid\ncyberpunk angry gorgeous goddess\ncyberpunk anime art\ncyberpunk anime girl\ncyberpunk anime girl in hoodie\ncyberpunk anime girl mech\ncyberpunk apartment\ncyberpunk apocalyptic city\ncyberpunk architecture\ncyberpunk armor\ncyberpunk art 2077\ncyberpunk art nouveau\ncyberpunk art style\ncyberpunk art ultrarealistic 8k\ncyberpunk artifacts\ncyberpunk artm\ncyberpunk artstyle\ncyberpunk assassin\ncyberpunk atlantis\ncyberpunk atmosphere\ncyberpunk back alley\ncyberpunk background\ncyberpunk based\ncyberpunk basement\ncyberpunk batman\ncyberpunk beautiful girl\ncyberpunk bedroom at night\ncyberpunk bee\ncyberpunk black metal band\ncyberpunk blade runner art\ncyberpunk bodysuit\ncyberpunk brackets\ncyberpunk building\ncyberpunk buildings\ncyberpunk bus stop\ncyberpunk car\ncyberpunk castle\ncyberpunk cat\ncyberpunk cathedral\ncyberpunk character\ncyberpunk character art\ncyberpunk character design\ncyberpunk childrens bedroom\ncyberpunk chinese ancient castle\ncyberpunk church\ncyberpunk city\ncyberpunk city abandoned\ncyberpunk city at night\ncyberpunk city backdrop\ncyberpunk city backgeound\ncyberpunk city background\ncyberpunk city in background\ncyberpunk city in the background\ncyberpunk city in the distance\ncyberpunk city landscape\ncyberpunk city on background\ncyberpunk city on the background\ncyberpunk city street\ncyberpunk city street background\ncyberpunk cityscape\ncyberpunk cloisters\ncyberpunk clothes\ncyberpunk color palette\ncyberpunk color scheme\ncyberpunk colors\ncyberpunk comic cover art\ncyberpunk concept art\ncyberpunk concept inspired jet\ncyberpunk cyborg\ncyberpunk cyborg wasp\ncyberpunk cyborg. roses\ncyberpunk dark fantasy\ncyberpunk dark fantasy art\ncyberpunk darksynth\ncyberpunk demonic symbols\ncyberpunk digital art\ncyberpunk digital painting\ncyberpunk dreamscape\ncyberpunk dress\ncyberpunk dude\ncyberpunk dungeon\ncyberpunk dyed haircut\ncyberpunk dystopia\ncyberpunk elevated train\ncyberpunk environment\ncyberpunk eye wear\ncyberpunk face\ncyberpunk fashion\ncyberpunk fashion clothes\ncyberpunk fashion clothing\ncyberpunk femme fatale\ncyberpunk flame suit\ncyberpunk flowerpunk\ncyberpunk forest\ncyberpunk frog\ncyberpunk future\ncyberpunk futuristic\ncyberpunk futuristic neo\ncyberpunk futuristic neon\ncyberpunk garage on jupiter\ncyberpunk garden\ncyberpunk geisha\ncyberpunk girl\ncyberpunk gladiator\ncyberpunk glossy latex suit\ncyberpunk gunma prefecture\ncyberpunk hacker\ncyberpunk headpiece\ncyberpunk headset\ncyberpunk helmet\ncyberpunk hero\ncyberpunk high fashion\ncyberpunk highly detailed\ncyberpunk hiroshima\ncyberpunk homeless\ncyberpunk horror style\ncyberpunk ikea\ncyberpunk illustration\ncyberpunk imperial military\ncyberpunk in a cyberpunk city\ncyberpunk in foliage\ncyberpunk interior\ncyberpunk iron man\ncyberpunk jackie welles\ncyberpunk japanese temple\ncyberpunk jellyfish\ncyberpunk jesus christ\ncyberpunk joe biden\ncyberpunk judy alvarez\ncyberpunk knight\ncyberpunk landscape\ncyberpunk landscape wallpaper\ncyberpunk lighting\ncyberpunk lights\ncyberpunk look\ncyberpunk lut\ncyberpunk machine\ncyberpunk makeup\ncyberpunk market\ncyberpunk marketplace\ncyberpunk mechanoid\ncyberpunk medusa\ncyberpunk metallic brackets\ncyberpunk metropolis\ncyberpunk mona lisa\ncyberpunk monocle\ncyberpunk monocle!\ncyberpunk mosque interior\ncyberpunk mouse folk engineer\ncyberpunk neon\ncyberpunk neon lights\ncyberpunk night street\ncyberpunk nightclub\ncyberpunk noir\ncyberpunk nun warrior\ncyberpunk old man\ncyberpunk ornaments\ncyberpunk outfit\ncyberpunk outfits\ncyberpunk pearl armor\ncyberpunk photo\ncyberpunk pikachu\ncyberpunk pilot fighter\ncyberpunk pincushion lens effect\ncyberpunk pixel art\ncyberpunk portrait\ncyberpunk robot\ncyberpunk robotic elvish queen\ncyberpunk samurai\ncyberpunk setting\ncyberpunk shading\ncyberpunk signs\ncyberpunk skeleton\ncyberpunk soldier\ncyberpunk space colony\ncyberpunk space station\ncyberpunk speedboat\ncyberpunk statue\ncyberpunk street\ncyberpunk street at night\ncyberpunk street goon\ncyberpunk streets at night\ncyberpunk streets in japan\ncyberpunk streetwear\ncyberpunk strip clubs\ncyberpunk style\ncyberpunk style color\ncyberpunk style outfit\ncyberpunk style ， hyperrealistic\ncyberpunk suit\ncyberpunk sunglasses\ncyberpunk synth\ncyberpunk tech\ncyberpunk techwear\ncyberpunk teenager bedroom\ncyberpunk temple\ncyberpunk theme\ncyberpunk themed art\ncyberpunk transhumanist\ncyberpunk tree house\ncyberpunk utopia\ncyberpunk vaporwave\ncyberpunk vibe\ncyberpunk vibes\ncyberpunk vibrant colors\ncyberpunk voodoo\ncyberpunk wearing\ncyberpunk wild west\ncyberpunk with neon lighting\ncyberpunk woman\ncyberpunk women\ncyberpunk ”\ncyberpunk!\ncyberpunk!!!\ncyberpunk)))\ncyberpunk)))))\ncyberpunk2077\ncyberpunk”\ncyberspace\ncybersteampunk\ncybersuit\ncybersuits\ncybersyn\ncybertech\ncybertech wear\ncybertron\ncybertronian\ncybertronic\ncybertronic gadgets\ncybertronic hindu temple\ncybertronic metallic charmander\ncybertronic robot\ncybertruck\ncyberwars\ncyberwave\ncyborg\ncyborg - girl\ncyborg - girl with silver hair\ncyborg - pitbull\ncyborg - pitbull taking a selfie\ncyborg aircraft parts\ncyborg and wire details\ncyborg armor\ncyborg biomechanics\ncyborg body\ncyborg camel\ncyborg cat\ncyborg cate blanchett\ncyborg cowboy technical diagram\ncyborg criminal\ncyborg dc\ncyborg dog\ncyborg dr doom in ornate armour\ncyborg dragon portrait\ncyborg eyes\ncyborg fashion model\ncyborg fashion shot\ncyborg frame concept\ncyborg girl\ncyborg goddess in cosmos\ncyborg hardware\ncyborg hindu godbody\ncyborg in the data center\ncyborg jackalope cyberpunk\ncyborg joe biden\ncyborg kitten\ncyborg male\ncyborg mark zuckerberg\ncyborg merchant girl\ncyborg merchant woman\ncyborg mouse\ncyborg neck\ncyborg necromancer\ncyborg ninja\ncyborg noble woman\ncyborg nobleman\ncyborg octopus\ncyborg parts\ncyborg portrait\ncyborg r.a.t 7\ncyborg robot\ncyborg robot parts\ncyborg robot wearing vr headset\ncyborg samurai\ncyborg satan\ncyborg tech on body and legs\ncyborg warrior\ncyborg wasp\ncyborg whale\ncyborg wing\ncyborg woman\ncyborg zombie\ncyborgpunk\ncyborgs\ncyborgs working\ncycladic sculptural style\ncycladic! sculptural style\ncycle render\ncycles\ncycles 3 d render\ncycles 3d render\ncycles engine\ncycles render\ncycles render 4k\ncycles render engine\ncycles4d\ncycles4d render\ncycling\ncycling!!\ncyclops\ncygames\ncylon\ncymatics\ncymatics. auditory symbiogenesis\ncynical\ncynical face\ncynthwave\ncyperpunk\ncypherpunk background\ncypherpunk fashion illustration\ncypress trees\ncypresses\ncypresses and hills\ncyprus\ncyril rolando and goro fujita\ncyril rolando and m. w kaluta\ncyril rolando and m.w kaluta\ncysts\nczeslaw znamierowski\ncézanne style\nd & d\nd & d and mtg\nd & d art\nd & d beholder\nd & d character\nd & d character art\nd & d character design\nd & d character portrait\nd & d character reveal\nd & d concept art\nd & d creature\nd & d design\nd & d digital painting\nd & d dragon age warcraft\nd & d fantasy\nd & d fantasy art\nd & d fantasy character\nd & d fantasy digital art\nd & d fantasy digital painting\nd & d lich\nd & d loxodon\nd & d monster\nd & d party\nd & d rogue\nd & d style\nd & d style full body portrait\nd & d wallpaper\nd & d!\nd - day\nd d\nd d and mtg\nd d art\nd d character\nd d character art\nd d character design\nd d character portrait\nd d character reveal\nd d concept art\nd d design\nd d digital painting\nd d dragon age warcraft\nd d fantasy art\nd d fantasy digital painting\nd d monster\nd d style\nd render\nd&d\nd&d 4k\nd&d 5e\nd&d art\nd&d art style\nd&d artwork\nd&d boss\nd&d character\nd&d character art\nd&d character commission\nd&d character head portrait\nd&d characters\nd&d commision art dragon\nd&d concept art\nd&d dark fantasy style\nd&d dark sun character art\nd&d dice on table\nd&d fantasy\nd&d fantasy magic\nd&d fantasy setting\nd&d fantasy style\nd&d goblin rogue\nd&d illustration style\nd&d map\nd&d monster\nd&d monster manual\nd&d player's handbook\nd&d portrait\nd&d protagonist\nd&d sci-fi\nd&d style\nd&d style fantasy map design\nd&d trending on artstation\nd&d vibe\nd&d wallpaper\nd&d!\nd-cup\nd-day\nd. b. cooper\nd. b. cooper skydiving\nd. i. y. venue\nd. va from overwatch\nd20 made of teeth\nda vinci\nda vinci and alphonse mucha\nda vinci and francis bacon\nda vinci and jmw turner\nda vinci and pixar\nda vinci code\nda vinci notes\nda vinci painting\nda vinci style\ndabbing\ndachshund\ndachshund robot\ndad\ndad bod\ndad energy\ndada 20s\ndada collage\ndadaism\ndadaism style\ndadaist\ndaddy\ndaddy energy\ndaddy/fatherly\ndaedric armor\ndaenerys\ndaenerys targaryen\ndaffodils\ndaffy duck\ndafne keen\ndaft punk\ndaft punk style\ndagger\ndaggers\ndagon\ndagoth ur\ndaguerreotype\ndaguerreotype photo\ndaguerreotype photograph\ndaguerreotype portrait\ndaguerrotype\ndahlias\ndaido moriyama\ndaigo ikeno\ndaily carry\ndaily deivation\ndaily deviation\ndaily deviation on deviantart\ndaily life\ndaily render\ndaily specials\ndainty\ndainty figure\ndaisies\ndaisies and poppies\ndaisuke tsutsumi\ndaisy\ndaisy dukes\ndaisy ridley\ndakar\ndakar motorbike\ndakar rally footage\ndakota fanning\ndale cooper\ndale earnhardt jr\ndale gribble\ndale keown and greg rutkowski\ndale keown and van sciver\ndale odell\ndalek\ndali lobster phone\ndali style\ndall - e\ndall - e 2\ndall-e 2\ndalle 2\ndalle 2 reference\ndalle2\ndamage\ndamage class\ndamage paper\ndamaged\ndamaged armor\ndamaged buildings\ndamaged camcorder video\ndamaged city\ndamaged clothes\ndamaged film\ndamaged floor\ndamaged japanese clothes\ndamaged photo\ndamaged streets\ndamaged structures\ndamaged vine bridge\ndamaged webcam image\ndamascus\ndamask\ndamask patern\ndamask pattern\ndamian kryzwonos\ndamien tran\ndamnation\ndamon salvatore\ndamon soule\ndamp\ndamsel in distress\ndan\ndan decarlo\ndan decarlo art style\ndan decarlo style\ndan dos santos\ndan eder\ndan experiment\ndan flavin\ndan harmon\ndan hiller\ndan howard\ndan mcpharlin\ndan mcpharlin : : ornate\ndan mora\ndan mumfor\ndan mumford\ndan mumford and albert bierstadt\ndan mumford and alex grey style\ndan mumford and peter mohrbacher\ndan mumford and pixar\ndan mumford and thomas kinkade\ndan mumford paint\ndan mumford tom bagshaw\ndan mumford. 8 k octane render\ndan mumford. 8k octane render\ndan mumford. concept art\ndan mumford. maya render\ndan mumford. octane render\ndan munford\ndan ouellette\ndan seagrave\ndan seagrave art\ndan volbert\ndan witz\ndana scully\ndanbooru\ndanbooru and artstation\ndanboru\ndance\ndance club rave\ndance hall background\ndance meditation\ndance music show\ndance party\ndance scene\ndance trance edm festival\ndancefloor\ndancefloor kismet\ndancer\ndancer of the underworld\ndancers\ndancing\ndancing a jig\ndancing around a fire\ndancing character\ndancing elegantly over you\ndancing gracefully\ndancing in front of fog\ndancing in the background\ndancing in the rain\ndancing lights\ndancing on a pole\ndancing on a tropical beach\ndancing on the beach\ndancing people\ndancing with each other\ndandelion\ndandelion seeds float\ndandelions\ndandy from space dandy anime\ndang my linh\ndang ngo\ndanganronpa\ndanger\ndanger lurking in the night\ndangerous\ndangerous & powerful creature\ndangerous aura\ndangerous chemical hazards\ndangerous cliffside\ndangerous depressing atmosphere\ndangerous mephisto from faust\ndangerous powerful creature\ndangerous swamp\ndangerous waves\ndanhausen\ndaniel\ndaniel clowes\ndaniel craig\ndaniel dociu\ndaniel e. greene\ndaniel gerhartz\ndaniel lezama painting style\ndaniel libeskind\ndaniel maidman octane rendering\ndaniel merriam :.1\ndaniel merrian :: ornate\ndaniel mirante\ndaniel motz\ndaniel oxford\ndaniel r horne\ndaniel radcliffe\ndaniel radcliffe as harry potter\ndaniel ricciardo\ndaniel richter\ndaniel ridgway knight\ndaniela uhlig\ndaniil kudriavtsev\ndanila tkachenko\ndanile gerhartz\ndanilo torres\ndanish flag\ndank\ndank meme\ndanny de vito\ndanny devito\ndanny devito as a hobbit\ndanny devito as a muppet\ndanny devito as batman\ndanny devito as dr. eggman\ndanny devito as dr. robotnik\ndanny devito as iron man\ndanny devito as johnny\ndanny devito as superman\ndanny devito as thanos\ndanny devito as the mona lisa\ndanny devito as the terminator\ndanny devito as wolverine\ndanny devito doom slayer\ndanny devito in skyrim\ndanny fox\ndanny fox and hilma af klint\ndanny phantom\ndanny trejo\ndante\ndante from devil may cry\ndante from devil may cry 2 0 0 1\ndante's inferno\ndante's inferno painting\ndantes inferno\ndantes inferno painting\ndany devito\ndanza azteca dancers\ndao lee\ndao trong le\ndaoist\ndaopao\ndaoshi\ndaoshu\ndapped light\ndapper\ndapper dream demon\ndapple\ndappled\ndappled afternoon sunlight\ndappled golden sunset\ndappled in evening light\ndappled light\ndappled lighting\ndappled silver lighting\ndappled sunlight\ndardenne brothers\ndaredevil\ndaredevil portrait\ndaring\ndarius puia\ndarius zawadzki\ndarius zawadzki and tom bagshaw\ndariusz zawadz masterpiece\ndark\ndark  spaceship\ndark ( spaceship )\ndark - art\ndark - fantasy\ndark - hair\ndark abandoned city streets\ndark abandoned cyberpunk factory\ndark abandoned hallway at night\ndark abstract background\ndark academia\ndark academia aesthetic\ndark academia aesthetics\ndark aesthetic\ndark aesthetics\ndark age is coming\ndark ages\ndark alley\ndark alleyway\ndark ambiance\ndark ambience\ndark ambient\ndark ambient album cover\ndark ambient beautiful\ndark ambients\ndark ancient atmosphere\ndark and beautiful\ndark and beige atmosphere\ndark and desaturated colours\ndark and dim\ndark and dim lighting\ndark and dramatic\ndark and dramatic atmosphere\ndark and dull palette\ndark and dusty\ndark and eerie\ndark and ethereal\ndark and evil\ndark and foggy\ndark and forboding\ndark and foreboding\ndark and gloom\ndark and gloomy\ndark and gothic\ndark and grim lighting\ndark and gritty\ndark and grungy\ndark and horrifying\ndark and horror\ndark and horror style\ndark and intricate\ndark and intricate photograph\ndark and misty\ndark and modern\ndark and moody\ndark and moody aesthetic\ndark and moody atmosphere\ndark and moody atmospheric\ndark and moody colors\ndark and moody lighting\ndark and moody smoke\ndark and muted colors\ndark and mysterious\ndark and ominous\ndark and ominous background\ndark and realistic\ndark and scary\ndark and smokey background\ndark and smoky background\ndark and stars in the background\ndark and white\ndark angel\ndark angel of coffee\ndark arcanist\ndark armor\ndark art\ndark art style\ndark arts\ndark artslabcoats\ndark astral dress\ndark at left side\ndark athmosphere\ndark atmoshopere\ndark atmosphere\ndark atmosphere illustration\ndark atmosphere pinterest\ndark atmospheric\ndark atmospheric lighting\ndark auburn hair\ndark auburn wavy hair\ndark aura\ndark bacgkground\ndark backdrop\ndark backgroud\ndark background\ndark background of outer space\ndark background texture\ndark background ”\ndark background”\ndark backround\ndark ballerina\ndark baroque painting\ndark beauty\ndark bedroom\ndark beige grey background\ndark bg\ndark black background\ndark black dress\ndark black hair\ndark black long dress\ndark black porcelain skin\ndark black skin\ndark black skin tone\ndark blond long hair\ndark blonde hair\ndark blonde long hair\ndark blue\ndark blue + dark orange\ndark blue and black\ndark blue and green tones\ndark blue and red\ndark blue and white robes\ndark blue atmosphere\ndark blue background\ndark blue beanie\ndark blue cape\ndark blue clothes\ndark blue color\ndark blue eyes\ndark blue hair\ndark blue jeans\ndark blue leather armor\ndark blue leotard costume\ndark blue lipstick\ndark blue long hair\ndark blue mist\ndark blue neon light\ndark blue planet\ndark blue segmented armor\ndark blue shirt\ndark blue skin\ndark blue sky\ndark blue spheres fly around\ndark blue tint\ndark blue tones\ndark blue water\ndark blues\ndark blurry background\ndark bokeh in background\ndark brandon\ndark bright effect\ndark brotherhood\ndark brown\ndark brown colored long hair\ndark brown duster\ndark brown eyes\ndark brown eyes and eyelashes\ndark brown eyes with long\ndark brown flowing long hair\ndark brown hair\ndark brown hair and tan skin\ndark brown long hair\ndark brown skin\ndark brown white green colours\ndark building\ndark but detailed digital art\ndark cables hanging from ceiling\ndark cape\ndark castle background\ndark castle setting\ndark cave\ndark cave room\ndark cavern\ndark chocolate hair colour\ndark chocolate painting\ndark cinematic\ndark cinematic atmosphere\ndark cinematic color tones\ndark cinematic concept art\ndark cinematic lighting\ndark circles under bemused eyes\ndark city\ndark city bus stop\ndark city ruins\ndark cityscape\ndark classic interior\ndark climate\ndark cloak\ndark cloaked figure\ndark cloaked necromancer\ndark clothes\ndark clothing\ndark clouds\ndark clouds above\ndark clouds and lightning\ndark clouds in the distance\ndark clouds in the sky\ndark cloudy sky\ndark coat\ndark color\ndark color palate\ndark color palette\ndark color scheme\ndark color. explosions\ndark colors\ndark colors!\ndark colour\ndark colour palette\ndark colour scheme\ndark colours\ndark comedy\ndark complexion\ndark concept art\ndark concrete room\ndark contrast\ndark cool twilight\ndark corners\ndark corridors\ndark cosmos and glorious nebula\ndark crow\ndark crystal\ndark crystal and bazaar\ndark cyberpunk\ndark cyberpunk illustration\ndark cyberpunk metropolis\ndark cyberpunk neon atmosphere\ndark damp atmosphere\ndark dance photography aesthetic\ndark deco\ndark deep black shadows\ndark deep blue\ndark demonic dancer\ndark desert background\ndark design\ndark dimension\ndark dimension portal\ndark dingy\ndark dirty grungy streets\ndark doe eyes\ndark dramatic lighting\ndark dramatic skies\ndark drapery\ndark dress\ndark dull colors\ndark dungeon\ndark earthy colours\ndark eerie movie frame\ndark eerie photo\ndark eerie photograph\ndark eerie pic\ndark elf\ndark elf maiden\ndark elf princess\ndark emerald mist colors\ndark enclosed\ndark energy\ndark enlightenment\ndark entities\ndark environment\ndark epic\ndark epic fantasy\ndark eye make - up\ndark eye shadow\ndark eye sockets\ndark eyebrows\ndark eyeliner\ndark eyes\ndark eyeshadow\ndark face\ndark fae\ndark fairytale\ndark fantastic\ndark fantasy\ndark fantasy art\ndark fantasy artwork\ndark fantasy atmosphere\ndark fantasy background\ndark fantasy character design\ndark fantasy city\ndark fantasy color scheme\ndark fantasy concept art\ndark fantasy detailed\ndark fantasy digital art\ndark fantasy environment\ndark fantasy esoteric\ndark fantasy female magician\ndark fantasy forest\ndark fantasy horror\ndark fantasy horror art\ndark fantasy illustration\ndark fantasy landscape\ndark fantasy light\ndark fantasy mixed with realism\ndark fantasy of the unknown\ndark fantasy oil painting\ndark fantasy portrait\ndark fantasy sci fi\ndark fantasy setting\ndark fantasy style\ndark fantasy style art\ndark fantasy world\ndark fantasy. intricate\ndark fariytale\ndark feathered wings\ndark feeling\ndark figures walking\ndark figurings\ndark filaments\ndark flames\ndark flat color background\ndark flower pattern wallpaper\ndark flower shaman\ndark flowers\ndark flowing robe\ndark fog\ndark fog surrounds him\ndark foggy background\ndark foggy forest background\ndark foggy water\ndark forbidden forest\ndark forbidding\ndark foreboding atmosphere\ndark forest\ndark forest and trees\ndark forest at night\ndark forest background\ndark forest in background\ndark forest in the background\ndark forest looms\ndark forest shrouded in mist\ndark forest theme\ndark forest. strong\ndark forests surrounding\ndark fox mage\ndark fractal background\ndark fur\ndark future\ndark future atmosphere\ndark futuristic\ndark futuristic city\ndark galaxy\ndark garments\ndark glasses\ndark glitter\ndark glitter makeup\ndark gloomy\ndark gloomy cave background\ndark gloomy church\ndark glowing rain\ndark glowing red aura\ndark god sit on the tron\ndark goddess with six arms\ndark gold hair\ndark golden hair\ndark golden light night\ndark gorgeous clouds\ndark goth queen\ndark goth queen with blue eyes\ndark gothic cathedral\ndark gothic dress\ndark graveyard scene\ndark gray background\ndark gray hair\ndark green\ndark green background\ndark green cloak\ndark green color scheme\ndark green dress\ndark green eyes\ndark green glass\ndark green hair\ndark green leaf hair\ndark green leaves\ndark green smokey eyeshadow\ndark green tint\ndark green tones\ndark green water\ndark grey\ndark grey and orange colours\ndark grey backdrop studio\ndark grey background\ndark grey carpet\ndark grey decepticon mech\ndark grey haired man\ndark grey rainbow color palette\ndark grey robes\ndark grey skin\ndark grey wolf\ndark grey wolf o'donnell\ndark grey wolf odonnell\ndark hair\ndark hair and makeup\ndark hairs\ndark hallway\ndark hallways\ndark hangar background\ndark hat\ndark hazy room\ndark helmet\ndark high-contrast concept art\ndark holography\ndark holography!!!\ndark hooded wraith\ndark horror\ndark horse comics\ndark hues\ndark humor\ndark humour\ndark illustration\ndark image\ndark imagery\ndark industrial atmosphere\ndark industrial background\ndark ink\ndark inside\ndark interior\ndark intricate\ndark inverted spells\ndark jungle\ndark kitchen\ndark kitchen of an art student\ndark knight\ndark knowledge\ndark landscape\ndark leather armor\ndark library\ndark light\ndark light night\ndark light night braided hair\ndark light night like eyes\ndark lighting\ndark lighting and heavy fog\ndark lighting atmosphere\ndark lightning\ndark lights\ndark lines\ndark linework\ndark lips\ndark lipstick\ndark lit candles\ndark long hair\ndark lord\ndark lord biden\ndark magic\ndark magician girl from yu-gi-oh\ndark majestic ornate great hall\ndark make up\ndark make up on her face\ndark makeup\ndark mammatus cloud\ndark matte\ndark matte metal\ndark matter\ndark matter incarnate\ndark metal\ndark midnight\ndark minimal outfit\ndark mist colors\ndark misty foggy valley\ndark mode\ndark monochrome\ndark monochrome color palate\ndark monster\ndark mood\ndark mood lighting\ndark moody\ndark moody backlighting\ndark moody color palate\ndark moody colors\ndark moody light\ndark moody lighting\ndark moody lights!! intricate\ndark moody monochrome colors\ndark moody purple lighting\ndark mountain\ndark mountains\ndark mushroom\ndark muted colors\ndark myth mythos\ndark natasha\ndark natural glow\ndark nature background\ndark negative space\ndark neighborhood\ndark neon colored rainforest\ndark neon colored universe\ndark neon lighting\ndark neon punk\ndark night\ndark night environment\ndark night stormcloud\ndark ocean\ndark ocean water\ndark oil paint\ndark oil painting\ndark oil painting colors\ndark ominous clothing\ndark ominous lighting\ndark ominous mood\ndark ominous stealth\ndark orange\ndark orange black white red\ndark orange night sky\ndark oranges reds and yellows\ndark ornate royal robes\ndark outlines\ndark outside\ndark overcast weather\ndark paint\ndark painting\ndark palette\ndark paradise\ndark pastel castle background\ndark pastel color scheme\ndark pastel colors\ndark penetrating eyes\ndark people discussing\ndark phantasy\ndark photo\ndark photograph\ndark photography\ndark piercing eyes\ndark pin-up style hair\ndark pine trees\ndark pit\ndark place\ndark plastic\ndark portrait\ndark portrait of medusa\ndark priest\ndark pruple robes\ndark psychedelia style\ndark psychedelica\ndark purple\ndark purple background\ndark purple blue tones\ndark purple cape\ndark purple clouds\ndark purple color scheme\ndark purple crown\ndark purple garments\ndark purple glowing background\ndark purple hair\ndark purple hair and cybernetics\ndark purple lighting\ndark purple robes\ndark purple scheme\ndark purple skin\ndark purple sky\ndark purple swamp\ndark purple tones\ndark queen of snakes\ndark rainbow\ndark rainbow colored fur\ndark rainbow nimbus\ndark red\ndark red and black color palette\ndark red background\ndark red beard\ndark red bloody fog\ndark red bloody fog fly around\ndark red color\ndark red hair\ndark red lips\ndark retrowave\ndark ritual myth\ndark road\ndark robe\ndark robed\ndark robed witch\ndark robes\ndark rocks\ndark romance\ndark room\ndark room wall\ndark roots\ndark ruins\ndark ruins landscape\ndark runes\ndark saturated colors\ndark scenario\ndark scene\ndark scene with dim light\ndark scenery\ndark scheme\ndark schizophrenia portrait\ndark sci - fi\ndark sci - fi background\ndark sci - fi game map\ndark sci - fi horror\ndark sci - fi movie scene\ndark sci fi\ndark sci-fantasy\ndark sci-fi\ndark sci-fi art\ndark science fiction\ndark science fiction movie\ndark scifi\ndark screen\ndark sepia toned shading\ndark setting\ndark setup\ndark shades\ndark shades of colors\ndark shading\ndark shadow\ndark shadows\ndark shadows under eyes\ndark shadowy surroundings\ndark shaped eyes\ndark short curly hair smiling\ndark shorter curly hair\ndark show room\ndark side\ndark sienna and white\ndark skies\ndark skin\ndark skin female goddess of love\ndark skin tone\ndark skinned\ndark sky\ndark smoke\ndark smoke in distance\ndark smoke in the background\ndark smoky background\ndark smooth background\ndark solar eclipse\ndark sorceress\ndark sorceress full view\ndark sorceress fullbody pose\ndark sorcery\ndark soul\ndark soul armor concept\ndark soul concept\ndark soul concept art\ndark souls\ndark souls 3\ndark souls 3 themed\ndark souls art\ndark souls art style\ndark souls boss\ndark souls character\ndark souls colour scheme\ndark souls concept art\ndark souls iii\ndark souls inspired\ndark souls knight\ndark souls screenshot\ndark souls style\ndark souls vibe\ndark space\ndark space opera\ndark starry night\ndark starry sky\ndark stone\ndark stone walls and pillars\ndark storm clouds\ndark storm clouds above\ndark storms with lightning\ndark stormy clouds\ndark stormy dramatic sky\ndark stormy night\ndark stormy weather\ndark street\ndark streets\ndark strokes\ndark studio backdrop\ndark studio background\ndark studio light\ndark studio lighting\ndark style\ndark suit\ndark sun\ndark sun- campaign setting\ndark super storm\ndark supervillain\ndark surreal art\ndark surrealism\ndark surrealist\ndark surroundings\ndark swamp\ndark sword in ares's hand\ndark sword in aress hand\ndark synthwave\ndark taint :: athletic\ndark tattoo\ndark teal\ndark teal couch\ndark teal lighting\ndark tenebrous blue background\ndark textured background\ndark theme\ndark theme night time\ndark themed\ndark themes\ndark thick eyebrows\ndark thick smokey red fire\ndark tint\ndark tomb setting\ndark tone\ndark tones\ndark tones and candlelight\ndark tones colors\ndark towering clouds\ndark train tunnel entrance\ndark tv show style\ndark underground\ndark underground cave\ndark undertones\ndark underwater alien ocean\ndark university aesthetic\ndark vador\ndark vampire\ndark vhs broken hearts\ndark vhs gothic hearts\ndark vibe\ndark vibes\ndark vibrant colors\ndark video game icon design\ndark vignette\ndark vintage paperback cover\ndark vintage sci fi\ndark visor covering eyes\ndark visor covering face\ndark visor covering top of face\ndark volcano background\ndark volumetric lighting\ndark wallpaper\ndark warehouse\ndark warm light\ndark warrior\ndark washed tint\ndark washed tint black\ndark water\ndark waters\ndark wet london alley at night\ndark wet road\ndark winter\ndark winter evening\ndark witch\ndark witch character\ndark witch headdress\ndark wizard\ndark wood\ndark woods\ndark woods in the background\ndark yellowish water\ndark!\ndark!! intricate\ndark!!!\ndark-art\ndark-bringer\ndark-esque\ndark-hair\ndark-matter\ndark-skinned\ndark-toned product photos\ndark. no text\ndark. studio lighting\ndarkart\ndarker\ndarker colors\ndarker intense\ndarker skin\ndarkest dungeon\ndarkest dungeon art style\ndarkest dungeon style\ndarkfantasy\ndarkintricate\ndarkly surreal\ndarkmode\ndarkness\ndarkness and flames\ndarkness aura\ndarkness aura red light\ndarkness background\ndarkness behind it\ndarkness dramatic\ndarkness ❄️ �️ taxidermetroid\ndarkness's background\ndarkness. dark\ndarknesss background\ndarkpowerful elegant\ndarkroom\ndarkseid\ndarkseid as mini figure\ndarksiders art style\ndarksiders halloween theme\ndarksiders style\ndarkslategray wall\ndarksouls\ndarksouls concept art\ndarksynth\ndarksynth character portrait\ndarkwave\ndarkwave goth aesthetic\ndarling\ndarling in the frank\ndarling wash off in the rain\ndarpa\ndarrell k sweet\ndarren aronofsky\ndarren bartley\ndarren quach\ndarren shaddick\ndart board\ndarth biden\ndarth jar jar binks\ndarth maul\ndarth maul in gears of war\ndarth revan\ndarth sidious\ndarth vader\ndarth vader as a caterpillar\ndarth vader helmet\ndarth vader laughing\ndarth vader portrait\ndarth vader sitting at the table\ndarwyn cooke\ndash cam\ndash cam footage\ndasha taran\ndashcam footage\ndata\ndata bending\ndata center\ndata holograms\ndata mosh\ndata visualization\ndatabending\ndatacentre\ndatamosh\ndatamoshed\ndatamoshing\ndatanft as a data avatar\ndatapipeline or river\ndatastream or river\ndate\ndate palm trees\ndate trees\ndating app icon\ndatura\ndau - al - set\ndaugerotype\ndaugerrotype\ndaughter\ndaughter of death\ndave carson\ndave chappelle\ndave grohl\ndave mckean and stina persson\ndave mckean ink drips\ndave rapoza\ndave sim\ndaverapoza\ndavey baker\ndavi blight\ndavid - lynch\ndavid a\ndavid a trampier\ndavid and goliath\ndavid attenborough\ndavid bailey\ndavid baldeon\ndavid baldeon comic art\ndavid bates\ndavid beckham\ndavid boreanaz as chris redfield\ndavid bowie\ndavid bowie as the joker\ndavid bowie in super smash bros\ndavid burnett\ndavid choe\ndavid cronenberg\ndavid curtis\ndavid febland\ndavid finch\ndavid fincher\ndavid friedrich\ndavid gandy\ndavid gilmour\ndavid hamilton\ndavid hardy\ndavid kassan\ndavid klein\ndavid kostic\ndavid la chapelle\ndavid lazar\ndavid ligare masterpiece\ndavid luong\ndavid lynch\ndavid lynch film\ndavid lynch portrait\ndavid lynch style\ndavid mack\ndavid marquez\ndavid myers\ndavid nakayama\ndavid noren\ndavid normal\ndavid normal. photorealistic\ndavid noton\ndavid palladini\ndavid production\ndavid rios ferreira\ndavid rubin\ndavid rudnick\ndavid schwimmer screaming\ndavid shing\ndavid spade\ndavid spade as batman\ndavid tennant as spawn\ndavid tennant as the joker\ndavid uzochukwu\ndavid villegas\ndavid wiesner\ndavide sorrenti\ndavinci\ndavinci sketch\ndavinci style\ndavy jones\ndavy jones with tentacles\ndawn\ndawn and dusk\ndawn atmosphere\ndawn background\ndawn cgsociety\ndawn light\ndawn lighting\ndawn mcteigue\ndawn of a new world\ndawn of the dead\ndawn setting\nday\nday - glow face paint\nday - glow facepaint\nday - time\nday after raining\nday cityscape\nday light\nday lighting\nday of all the dead\nday of the dead\nday of the tentacle\nday of the tentacle style\nday setting\nday time\nday-glo colors\nday-light\ndayanita singh\ndayer diego artwork\ndayglo\ndayglo blue\ndayglo pink\ndayglo pink and blue\ndayglo pink blue\ndaylight\ndaylight made in blender\ndaysies\ndaytime\ndaytime ethereal anime\ndaytoner\ndayz\ndaz\ndaz 3 d\ndaz 3d\ndaz occlusion\ndaz studio\ndaz studio 3d\ndaz studio genesis iray\ndaz studio genesis iray female\ndaz studio genesis iray shaders\ndaz studio genesis iray ultra hd\ndaz. detailed\ndaz3d\ndaz3d genesis iray shaders\ndazzle camouflage\ndazzle camouflage!\ndazzle camouflage!!\ndazzling\ndazzling dappled lighting\ndazzling energy\ndazzling gem in the hilt\ndazzling lights\ndbz\ndc\ndc art\ndc comic\ndc comics\ndc comics art style\ndc comics style\ndc marvel fashion\ndc style\ndc universe\ndc vs marvel fashion\ndcim\ndcs world\ndcs world falcon bms\ndcs world style\ndd\nddlc\nde - noise\nde _ dust 2\nde kooning\nde tomaso\nde-noise\ndead\ndead alive (1992)\ndead alive 1992\ndead and alive\ndead bodies\ndead bodies everywhere\ndead bodies in mud\ndead bodies in the background\ndead bodies scattered in mud\ndead body\ndead but beautiful. poppies\ndead cells\ndead child\ndead clown\ndead eyes\ndead fish\ndead flowers\ndead forest\ndead forest background\ndead fruits\ndead inside\ndead man's chest\ndead mans chest\ndead nature study\ndead old\ndead or alive\ndead or alive 6\ndead peoples\ndead plants\ndead plants and flowers\ndead redemption\ndead river\ndead skin\ndead soldiers\ndead soldiers on the battlefield\ndead souls\ndead space\ndead space artwork\ndead tree\ndead tree forest\ndead trees\ndead women\ndeadlands\ndeadly\ndeadly alien plants\ndeadly drone\ndeadpool\ndeadpool live action costume\ndeak ferrand\ndean cornwall\ndean cornwell style\ndean winchester\ndeanna troi\ndeath\ndeath + robots series of netflix\ndeath and corruption\ndeath and dying\ndeath and robots\ndeath and robots two in the void\ndeath dreaming about death\ndeath god\ndeath grips\ndeath himself\ndeath incarnate\ndeath is split in two with smoke\ndeath is swallowed up in victory\ndeath knight\ndeath metal\ndeath metal album cover\ndeath note\ndeath note style\ndeath note ， d & d\ndeath note ， d d\ndeath of all\ndeath of the money lenders\ndeath skull\ndeath star\ndeath stranding\ndeath stranding art style\ndeath stranding game\ndeath tarot\ndeath tarot card\ndeath valley\ndeath vally\ndeathburger\ndeathknight\ndeathly\ndeathly skin\ndeathpunk\ndeaths\ndeathscape\ndeathstar\ndeathwing\ndeayami kojima\ndebadged\ndebilitation\ndeblur\ndeblurring\ndeborah\ndebris\ndebris chips ruins\ndebris flying around\ndebris flying everywhere\ndebris on ground\ndebris on the floor\ndebris on the ground\ndebris spread\ndecadence\ndecadent\ndecadent spiral staircase\ndecadent throne room\ndecaing\ndecay\ndecay teeth\ndecay texture\ndecayed\ndecaying\ndecaying dappled sunlight\ndecaying face\ndecaying rich colors!\ndecent\ndecepticon armor plating\ndeception\ndeception and goth colors\ndeceptive\ndecipticon armor plating\ndecisive and stubborn portrait\ndecisive moment\ndeck\ndeck of many things\ndeckle edge\ndeclan mckenna\ndeclassified\ndeco\ndeco fashion\ndecoherence\ndecollage\ndecollage 4 k\ndecolletage\ndecollete\ndecomposing\ndecomposition\ndeconstructed\ndeconstructed waffle\ndecopunk\ndecora inspired\ndecora inspired illustrations\ndecorated\ndecorated civil war veteran\ndecorated ornaments\ndecorated polished wood\ndecorated with flowers\ndecorated with opera motifs\ndecorated with russian motifs\ndecorated with soviet motifs\ndecoration\ndecoration around the room\ndecorations\ndecorative\ndecorative art\ndecorative art deco border\ndecorative art nouveau border\ndecorative background\ndecorative border\ndecorative dark blue clothing\ndecorative design\ndecorative flowers\ndecorative frame\ndecorative golden elements\ndecorative leather armor\ndecorative lines\ndecorative ornaments\ndecorative panels\ndecorative roses\ndecrepit\ndedined face\ndeep\ndeep - space imaging\ndeep 3 point perspective\ndeep aesthetic\ndeep aesthetic colors\ndeep and charming eyes\ndeep and dense coloration\ndeep aura\ndeep azure tones\ndeep black\ndeep black background\ndeep black robe\ndeep black roots\ndeep black skin\ndeep black sky\ndeep black tones\ndeep black tones contour\ndeep blacks\ndeep bleeding decaying colors\ndeep bleeding decaying colors!\ndeep blue\ndeep blue atmosphere\ndeep blue background\ndeep blue eyes\ndeep blue lighting\ndeep blue mood\ndeep blue night sky\ndeep blue ocean\ndeep blue ocean color\ndeep blue oceans\ndeep blue sea color\ndeep blue shadows\ndeep blue skin\ndeep blue sky\ndeep blue water\ndeep blue water color\ndeep blues\ndeep bokeh\ndeep bold colors\ndeep brown eyes\ndeep cave\ndeep chasm\ndeep clear pools of water\ndeep color\ndeep color scheme\ndeep colors\ndeep colors and dark shadows\ndeep colour\ndeep colour\\'s\ndeep colours\ndeep colours.\ndeep colours. ”\ndeep complexity\ndeep complimentary colors\ndeep contrast\ndeep crevices of stone\ndeep crimson and dark shadows\ndeep cyberpunk mechanoid\ndeep dark\ndeep dark black\ndeep dark blue\ndeep dark color\ndeep dark forest\ndeep dark moody forest\ndeep dark purple waters\ndeep dark sea\ndeep dark universe\ndeep depth\ndeep depth field\ndeep depth of field\ndeep depth of focus\ndeep detailed\ndeep dimples\ndeep dish wheels\ndeep dream\ndeep earthy colours\ndeep emotional\ndeep emotional ambience\ndeep emotional impact\ndeep emotions\ndeep environment\ndeep eyes\ndeep fake\ndeep focus\ndeep focus d & d fantasy\ndeep focus d d fantasy\ndeep fog\ndeep forest\ndeep forest in the night\ndeep forest on background\ndeep fried\ndeep gaze\ndeep gaze to the side\ndeep golden sand desert\ndeep green\ndeep green eyes\ndeep halls\ndeep image\ndeep impasto\ndeep in a japanese bamboo forest\ndeep in the forest\ndeep in the ocean\ndeep in the woods\ndeep in thought\ndeep ink colors\ndeep inside the forest\ndeep jungle\ndeep jungle creatures\ndeep jungle from another world\ndeep jungle texture\ndeep learning\ndeep lighting\ndeep lines and shadows\ndeep look\ndeep love\ndeep lush vivid colors\ndeep mandelbulb landscape\ndeep meaning\ndeep moody colors\ndeep night\ndeep night sky\ndeep ocean\ndeep ocean sculpture\ndeep of field\ndeep overhangs. greeble. 8 k\ndeep overhangs. greeble. 8k\ndeep pastel colors\ndeep pastel colours\ndeep perspective\ndeep purple\ndeep purple and orange\ndeep purple hair\ndeep purple veil\ndeep pyro colors\ndeep red background\ndeep red eyes\ndeep red lips\ndeep red roots\ndeep reddish gold hair\ndeep rich colors\ndeep rich moody colors\ndeep rock galactic screenshot\ndeep sadness\ndeep sea\ndeep sea ambience\ndeep sea creature\ndeep sea creatures\ndeep sea cyberpunk\ndeep sea diver\ndeep sea fish\ndeep sea horror\ndeep sea landscape\ndeep sea monster\ndeep sea picture\ndeep sea themed\ndeep sense of horror atmosphere\ndeep sense of spirituality\ndeep shading\ndeep shadow\ndeep shadows\ndeep shadows and bokeh\ndeep shadows and colors\ndeep shadows hd\ndeep shafts\ndeep sinkhole\ndeep space\ndeep space 9\ndeep space background\ndeep space exploration\ndeep space exploration!!!\ndeep space hubble photograph\ndeep space in the background\ndeep space nine\ndeep space super structure\ndeep spectrum color\ndeep stillness and silence\ndeep tan skin\ndeep texture\ndeep tones\ndeep under water\ndeep underground\ndeep underwater\ndeep underwater scene\ndeep vibrant colors\ndeep view\ndeep vivid colors\ndeep water\ndeep woods\ndeep wrinkles!\ndeep!!!!!\ndeepdream\ndeepdream cosmic\ndeeper into the metaverse we go\ndeepfake\ndeeply detailed\ndeeply hyperdetailed\ndeeply ornate complexity\ndeeply texural\ndeepsea\ndeepspace exploration\ndeepspace exploration!!!\ndeer\ndeer ears\ndeer in sherwood forest\ndeer portrait\ndeer skull face\ndeers\ndeers and ravens\ndeers drinking water in the lake\ndeerstalker\ndeezen\ndef of field\ndefault pose neutral expression\ndefeated\ndefective fluorescent lighting\ndefence\ndefending the vast looming city\ndefense attorney\ndefiant\ndefiant and beautiful\ndefiant look attitude\ndefibrillator\ndefined\ndefined cheek bones\ndefined cheekbones\ndefined edges\ndefined eyes\ndefined face\ndefined facial features\ndefined features\ndefined jawline\ndefined lines\ndefined muscles\ndefined upper body\ndefinition\ndefocus\ndefocused background\ndefocused bars in the foreground\ndeforestation\ndeforested forest background\ndeformations\ndeformed\ndeformed face\ndeformed human body\ndefunct technology\ndefying god\ndefying gravity\ndegas\ndegradation\ndegradation filter\ndehazed image\ndeity\ndeity leesha hannigan\ndeity of hydrangeas\ndeity)\ndeiv calviz\ndelacroix\ndelaroche\ndelectable\ndelete\ndelete duplicate content\ndelete duplicate contents\ndelete duplicated content\ndelete duplicating content\ndelft\ndelftware\ndelicacy\ndelicate\ndelicate and precise brushwork\ndelicate androgynous prince\ndelicate coral sea bottom\ndelicate detailing golden stroke\ndelicate details\ndelicate embellishments\ndelicate ex embellishments\ndelicate eyebrows\ndelicate face\ndelicate facial features\ndelicate features\ndelicate figure\ndelicate fingers\ndelicate fog\ndelicate garden on paper\ndelicate jaw\ndelicate pale pink lips\ndelicate patterned\ndelicate poses\ndelicate rain\ndelicate soft hazy lighting\ndelicated facial features\ndelicious\ndelicious food\ndelightful\ndelightful surroundings\ndelirious\ndelirium\ndeliver me cosmic sight\ndelivering mail\ndelivering packages for amazon\ndelivering parsel box\ndelorean\ndelorean background\ndelunay\ndeluxe\ndemented\ndementia\ndemi moore\ndemi rose\ndemigod\ndemna gvasalia\ndemo scene\ndemobaza\ndemodog\ndemogorgon\ndemogorgon from stranger things\ndemolition\ndemon\ndemon anime girl\ndemon armor\ndemon berserker\ndemon black blue purple\ndemon boxing hero\ndemon boy\ndemon cat\ndemon days\ndemon eyes\ndemon girl\ndemon hero\ndemon horn\ndemon horns\ndemon knight of death\ndemon lord\ndemon male\ndemon necromancer\ndemon noble character design\ndemon rays\ndemon samurai\ndemon samurai mask\ndemon samurai warrior\ndemon slayer\ndemon slayer artstyle\ndemon slayer rui fanart\ndemon soul concept art\ndemon souls\ndemon tail\ndemon white horns\ndemon wings\ndemon woman\ndemon-fang gnoll\ndemoness\ndemonic\ndemonic  horror themed\ndemonic atmosphere\ndemonic creature\ndemonic dragon inspired armor\ndemonic energy\ndemonic eyes\ndemonic face\ndemonic magic ritual\ndemonic monster\ndemonic parasite\ndemonic photograph\ndemonic presence\ndemonic robes\ndemonic shrine\ndemonic sigils\ndemonic symbols\ndemonic undertones\ndemonic! compedium!\ndemoniccompedium\ndemonology\ndemons\ndemons of hell\ndemur\ndemura and alphonse mucha\ndemure\ndendrites\ndendritic\ndenim\ndenim blue audi a4 b6\ndenim hot-pants\ndenim jacket\ndenim jeans\ndenim short pants\ndenim shorts\ndenis forkas\ndenis sarazhin\ndenis velleneuve\ndenis villeneuve\ndenis villeneuve cinematography\ndenis villeneuve film look\ndenis villeneuve movie still\ndenizens\ndenmark\ndenning\ndennis velleneuve\ndenoise\ndenoise deep depth of field\ndenoised\ndenoised photorealistic render\ndense\ndense architecture\ndense atmosphere\ndense brushstrokes\ndense coniferous forest. spiders\ndense fog\ndense forest\ndense ground fog\ndense hypermaximalist metropolis\ndense jungle\ndense linework\ndense lush forest at night\ndense metropolis\ndense rain\ndense thickets on each side\ndense trees\ndense vegetation\ndense volumetric fog\ndense web of neurons firing\ndense with greenery\ndensely packed buds of weed\ndensley overgrown with moss\ndent wu\ndentils\ndentist\ndenys tsiperko\ndepair\ndepeche mode\ndeph of field\ndepicted as a 3 d render\ndepicted as a 3d render\ndepicted as a pixar character\ndepicted as a scifi scene\ndepicting a corgi made of fire\ndepicting a flower\ndeployed wings\ndepraved cybernetic demon\ndepressed\ndepressed dramatic bicep pose\ndepressed girl portrait\ndepressed mood\ndepressed sad expression\ndepressing\ndepressing and hopeless vibe\ndepressing atmosphere\ndepressing image\ndepression\ndepression and despair\ndepression atmosphere\ndepressive\ndepressive vibe\ndept of field\ndepth\ndepth --uplight\ndepth blur\ndepth detail\ndepth detailed\ndepth details\ndepth field\ndepth haze\ndepth layering\ndepth map\ndepth of feild\ndepth of field\ndepth of field 1 0 0 mm\ndepth of field 100 mm\ndepth of field 20mm\ndepth of field 8k\ndepth of field : - 2\ndepth of field background\ndepth of field blur\ndepth of field insanely detailed\ndepth of field ”\ndepth of field!\ndepth of field”\ndepth of filed\ndepth of focus\ndepth of sharpness\ndepth of view\ndepth of view 8k\ndepth of vision\ndepth perception\ndepth perspective\ndepth sense of movement\ndepths\ndepths of field effect\nder riese\nderanged\nderealisation\nderealization\nderegoue\nderek ridgers\nderek riggs\nderelict\nderelict architecture buildings\nderelict house\nderelict space ship\nderevschikova\nderg\ndermal implants\nderoo\nderp\nderpibooru\nderpy\nderriere\nderse\ndes boutiques avec des neons\ndesaturated\ndesaturated and muted colors\ndesaturated blue\ndesaturated cold color palette\ndesaturated color\ndesaturated color theme\ndesaturated colors\ndesaturated colours\ndesaturated!\ndesaturated!!\ndescend into the deep\ndescending from the heavens\ndescent\ndescent into lunacy and madness\ndescent into madness\ndescription\ndescriptions\ndescriptive\ndescriptive art\ndesenho\ndesert\ndesert alien planet\ndesert ambience\ndesert and blue sky\ndesert background\ndesert breathing armor\ndesert camouflage\ndesert circus\ndesert circus mystics\ndesert city\ndesert colors\ndesert composition\ndesert dunes\ndesert environment\ndesert everywhere\ndesert fighter ancient mage\ndesert flowers\ndesert game\ndesert highway\ndesert in the background\ndesert lands\ndesert landscape\ndesert mesa\ndesert mirage\ndesert nomad\ndesert oasis\ndesert oasis background\ndesert of distortion\ndesert photography\ndesert planet\ndesert robe\ndesert scene\ndesert scenery\ndesert setting\ndesert sunrise in the background\ndesert temple\ndesert transition area\ndesert valley of bones\ndesert wasteland\ndesert white greenhouse\ndesert wind\ndesert with city in the skyline\ndesert!!!\ndesert!!!!!!!!!!!\ndeserted\ndeserted planet\ndeserted sand\ndeserted shinjuku junk\ndeserted shinjuku junk town\ndesertpunk\ndeserts and mountains\ndesi\ndesiccated\ndesign\ndesign art\ndesign award\ndesign award winner\ndesign concept\ndesign concept art\ndesign exposure anime john rei\ndesign for magic the gathering\ndesign milk\ndesign on a white background\ndesign on white background\ndesign only\ndesign process\ndesign reference\ndesign sheet\ndesign studio\ndesign tension\ndesign thinking\ndesign your own avatar\ndesigned\ndesigned for cozy aesthetics\ndesigned for cozy aesthetics!\ndesigned in blender\ndesigner\ndesigner art\ndesigner clothes\ndesigner fashion\ndesigner furniture\ndesigner pencil 3d sketch\ndesigner pencil sketch\ndesigner product\ndesigner sunglasses\ndesigners republic\ndesirable\ndesire\ndesjarlais\ndesk\ndesk fan\ndesks\ndesktop\ndesktop background\ndesktop computer\ndesktop screenshot\ndesktop wallpaper\ndesktopography\ndesna\ndesolate\ndesolate  long shot\ndesolate :: long shot\ndesolate arctic landscape\ndesolate desert landscape\ndesolate empty wasteland\ndesolate glacial landscape\ndesolate gloomy planet\ndesolate land\ndesolate landscape\ndesolate with zombies\ndesolate. digital illustration\ndesolated\ndesolated wasteland\ndesolation\ndespacito\ndespair\ndespera\ndesperate\ndesperate action\ndesperate pose\ndesperation\ndespicable\ndespicable me\ndespondent\ndesrt\ndessert\ndesserts\ndestiny\ndestiny 2\ndestiny art\ndestiny concept art\ndestiny fanart\ndestitute\ndestroy lonely\ndestroyed\ndestroyed armor\ndestroyed body\ndestroyed buildings\ndestroyed cars\ndestroyed castle\ndestroyed church\ndestroyed city\ndestroyed city in the background\ndestroyed city on fire\ndestroyed clothes\ndestroyed flipped wrecked cars\ndestroyed forest\ndestroyed human structures\ndestroyed modern buildings\ndestroyed monastery\ndestroyed mountains\ndestroyed nature\ndestroyed planet\ndestroyed robot dogs remains\ndestroyed robots\ndestroyed ship\ndestroyed tanks\ndestroyed washington dc\ndestroyer of worlds\ndestroying a city\ndestroying a cityscape\ndestroying buildings\ndestroying city\ndestroying houses\ndestroying new york city\ndestroying the city\ndestroying the walls\ndestructible enviorments\ndestructible environments\ndestruction\ndestruction around her\ndestructive\ndetached sleeves\ndetail\ndetail acrylic palette knife\ndetail and care\ndetail content\ndetail face\ndetail on scene\ndetail render\ndetail shot\ndetail shots\ndetail structure\ndetail studio quality lighting\ndetail texture\ndetaild\ndetailed\ndetailed - face!!\ndetailed - i\ndetailed - wheels\ndetailed -4\ndetailed 1000k\ndetailed 2d illustration\ndetailed 3 d render\ndetailed 3d gothic oil painting\ndetailed 3d render\ndetailed 4 k\ndetailed 4 k drawing\ndetailed 4 k oil painting\ndetailed 4 k painting\ndetailed 4 k photo\ndetailed 4k\ndetailed 4k concept art\ndetailed 4k drawing\ndetailed 4k horror artwork\ndetailed 4k oil painting\ndetailed 4k photo\ndetailed 4k photograph\ndetailed 4k render\ndetailed 5 k details\ndetailed 8 5 mm f / 1. 4\ndetailed 8 k\ndetailed 85 mm f / 1. 4\ndetailed 85mm f/1.4\ndetailed 8k\ndetailed 8k hd\ndetailed : cornea\ndetailed abstract\ndetailed academic bouguereau\ndetailed acrylic\ndetailed acrylic painting\ndetailed af\ndetailed airbrush art\ndetailed alloy wheels\ndetailed ambient lighting\ndetailed an empty jazz cafe\ndetailed anatomy\ndetailed and beautiful faces\ndetailed and bright\ndetailed and complex\ndetailed and complex environment\ndetailed and concise\ndetailed and creepy\ndetailed and fantasy\ndetailed and intricate\ndetailed and intricate image\ndetailed and oil painting\ndetailed and perfect face\ndetailed and realistic\ndetailed and realistic face\ndetailed and realistic faces\ndetailed and realistic hands\ndetailed and sharp\ndetailed and soft\ndetailed and symetric face\ndetailed and symmetric faces\ndetailed anime\ndetailed anime art\ndetailed anime artwork\ndetailed anime character art\ndetailed anime eyes with pupils\ndetailed anime face\ndetailed anime soft face\ndetailed annotated painting\ndetailed architecture\ndetailed archviz render\ndetailed armor\ndetailed armor with white scarf\ndetailed armour\ndetailed arms\ndetailed art\ndetailed art in color\ndetailed artwork\ndetailed astronaut\ndetailed atmospheric and gritty\ndetailed attractive face\ndetailed background\ndetailed backgrounds\ndetailed baroque oil painting\ndetailed beard\ndetailed beautfiul face\ndetailed beautiful animals\ndetailed beautiful face\ndetailed beautiful plants\ndetailed beautiful portrait\ndetailed beauty portrait\ndetailed big eyes\ndetailed body\ndetailed body and eyes\ndetailed body and face\ndetailed body shape\ndetailed body structure\ndetailed book illustration\ndetailed bronze armor\ndetailed brush strokes\ndetailed brushstrokes\ndetailed buildings\ndetailed bushido form smoke\ndetailed but rough\ndetailed cartoon\ndetailed carved ornaments\ndetailed character\ndetailed character art\ndetailed character design\ndetailed character portrait\ndetailed characters\ndetailed charcoal drawing\ndetailed charcoal sketch\ndetailed chemical diagram\ndetailed cinematic lighting\ndetailed cinematic photography\ndetailed cinematic render\ndetailed cinematic shot\ndetailed city\ndetailed city background\ndetailed classical architecture\ndetailed claws\ndetailed clay model\ndetailed close foot shot\ndetailed close up portrait\ndetailed close up shot\ndetailed closeup face\ndetailed cloth\ndetailed clothes\ndetailed clothes texture\ndetailed clothing\ndetailed clouds\ndetailed color portrait\ndetailed color scan\ndetailed color scan”\ndetailed colored textures\ndetailed colors\ndetailed coloured pencil\ndetailed concept art\ndetailed conceptual photography\ndetailed cosmic angelic robot\ndetailed cover artwork\ndetailed crash space ship\ndetailed creature\ndetailed crimson moon\ndetailed crow illustration\ndetailed cyberpunk illustration\ndetailed decorative flourishes\ndetailed deep black eyes\ndetailed depth of field\ndetailed design\ndetailed designs\ndetailed detailed\ndetailed detailed detailed\ndetailed details\ndetailed diagrams\ndetailed digital 2d fantasy art\ndetailed digital 3d art\ndetailed digital anime art\ndetailed digital art\ndetailed digital artwork\ndetailed digital concept art\ndetailed digital drawing\ndetailed digital illustration\ndetailed digital painting\ndetailed dragon\ndetailed drawing\ndetailed dreamscape\ndetailed dress\ndetailed dress and face\ndetailed droplets\ndetailed duck\ndetailed dynamic composition\ndetailed entangled fibres\ndetailed environment\ndetailed expression\ndetailed expressive faces\ndetailed eyes\ndetailed eyes with pupils\ndetailed eyes!!\ndetailed face\ndetailed face )\ndetailed face and body\ndetailed face and eyes\ndetailed face background detail\ndetailed face details\ndetailed face face face face\ndetailed face features\ndetailed face features!\ndetailed face of a asian boy\ndetailed face of a asian girl\ndetailed face of a woman\ndetailed face of an android\ndetailed face of an arabic woman\ndetailed face portrait\ndetailed face with mask\ndetailed face with moustache\ndetailed face with red lips\ndetailed face!\ndetailed face!!\ndetailed faces\ndetailed faces looking up\ndetailed facial expression\ndetailed facial expressions\ndetailed facial features\ndetailed facial proportions\ndetailed facial structure\ndetailed factory\ndetailed fallout npc! high angle\ndetailed fanart\ndetailed fantasy armor\ndetailed fantasy art\ndetailed fantasy character study\ndetailed fantasy digital art\ndetailed fantasy illustration\ndetailed fantasy map\ndetailed fashion illustration\ndetailed feathers\ndetailed feathers and fur\ndetailed features\ndetailed feminine face\ndetailed fences and stone walls\ndetailed fields nature\ndetailed filigree\ndetailed flawless face\ndetailed flowers\ndetailed focused\ndetailed foot pov\ndetailed foot shot\ndetailed forest\ndetailed forest background\ndetailed full body\ndetailed full body concept\ndetailed full body concept art\ndetailed full body portrait\ndetailed fur\ndetailed futuristic architecture\ndetailed futuristic jewelry\ndetailed game art\ndetailed game art illustration\ndetailed geometry\ndetailed glad face\ndetailed glowing head\ndetailed glowing red implants\ndetailed gorgeous face\ndetailed gothic cloak\ndetailed gouache paintings\ndetailed grass\ndetailed grid as background\ndetailed hair\ndetailed hair foggy\ndetailed hands\ndetailed hatching\ndetailed hd\ndetailed hd photography\ndetailed head\ndetailed helmet\ndetailed high contrast lighting\ndetailed high resolution\ndetailed hot maw\ndetailed human body\ndetailed human face\ndetailed humanoid\ndetailed illustration\ndetailed illustration portrait\ndetailed illustrations\ndetailed image\ndetailed impasto\ndetailed impasto brush strokes\ndetailed impasto brushwork\ndetailed implants\ndetailed information\ndetailed ink drawing\ndetailed ink illustration\ndetailed innards\ndetailed intricate\ndetailed intricate block print\ndetailed intricate elegant\ndetailed intricate environment\ndetailed intricate fur\ndetailed intricate hair strands\ndetailed intricate illustration\ndetailed intricate ornate armour\ndetailed intricate render\ndetailed intricate sketch\ndetailed jaw and eyes\ndetailed jewellery\ndetailed jewelry\ndetailed key anime art\ndetailed lace dress\ndetailed lacework\ndetailed lake in background\ndetailed landscape\ndetailed lashes\ndetailed legs\ndetailed legs looming over you\ndetailed legs towering over you\ndetailed letters\ndetailed light\ndetailed lighting\ndetailed lighting and textures\ndetailed lighting and thunder\ndetailed lighting hd 4k\ndetailed line art\ndetailed line drawing\ndetailed line work\ndetailed lines\ndetailed linework\ndetailed long black hair\ndetailed makeup on eyes\ndetailed manga style\ndetailed map\ndetailed mask\ndetailed masterpiece\ndetailed matte fantasy painting\ndetailed matte fantasy portrait\ndetailed matte painting\ndetailed matted painting\ndetailed maw\ndetailed mawshot\ndetailed mechanical design\ndetailed mechanical hands\ndetailed mechanical parts\ndetailed medium format photo\ndetailed metal textures\ndetailed model\ndetailed moisture\ndetailed mouth\ndetailed natural lighting\ndetailed neon cyberpunk city\ndetailed neon tattoos\ndetailed no. 1 0 downing street\ndetailed no. 10 downing street\ndetailed notes\ndetailed objects\ndetailed octane render\ndetailed oil\ndetailed oil on canvas painting\ndetailed oil paint\ndetailed oil painting\ndetailed oil painting portrait\ndetailed organic textures\ndetailed ornaments\ndetailed painting\ndetailed painting 4 k\ndetailed painting 4k\ndetailed painting of dune movie\ndetailed paintings\ndetailed painting“\ndetailed patterned background\ndetailed patterned rug\ndetailed patterns pop art\ndetailed pen strokes\ndetailed pencil drawing\ndetailed pencil sketch\ndetailed penciling\ndetailed penwork\ndetailed perfect face\ndetailed photo\ndetailed photo 8 k\ndetailed photo of an album cover\ndetailed photo of virtual world\ndetailed photograph\ndetailed photograph high quality\ndetailed photographs\ndetailed photography\ndetailed photoreal\ndetailed photorealism\ndetailed picture\ndetailed pistol trigger\ndetailed pixel art\ndetailed pixel artwork\ndetailed plaid miniskirt\ndetailed plans and notes\ndetailed plant life\ndetailed plants\ndetailed portrait\ndetailed portrait of a cyborg\ndetailed portrait of a woman\ndetailed portrait of anime girl\ndetailed portrait of madonna\ndetailed portrait shot\ndetailed portraits\ndetailed practical effects\ndetailed product image\ndetailed product photo\ndetailed product shot\ndetailed professional\ndetailed professional art\ndetailed professional photo\ndetailed projections\ndetailed punk hair\ndetailed pupils\ndetailed rabbit in the middle\ndetailed realisitc eyes\ndetailed realism\ndetailed realism in painting\ndetailed realism painting\ndetailed realistic\ndetailed realistic 8 k\ndetailed realistic 8k\ndetailed realistic beautiful\ndetailed realistic colors\ndetailed realistic expressions\ndetailed realistic eyes\ndetailed realistic face\ndetailed realistic faces\ndetailed realistic painting\ndetailed realistic photography\ndetailed realistic smiling faces\ndetailed red lighting\ndetailed reflection\ndetailed reflections\ndetailed render\ndetailed rendering\ndetailed renderings\ndetailed robot dragon feet\ndetailed rusty armor\ndetailed scales\ndetailed scan\ndetailed scan”\ndetailed scene\ndetailed scenery\ndetailed scenery —width 672\ndetailed scenic view\ndetailed school background\ndetailed sci - fi backgrounds\ndetailed sci-fi art\ndetailed scientific diagram\ndetailed screenshot\ndetailed sea\ndetailed sensual face\ndetailed set design\ndetailed shading\ndetailed shadows\ndetailed shadows and textures\ndetailed sharp focus\ndetailed sharp metal claws\ndetailed sharp photo\ndetailed sharp robot dragon feet\ndetailed shot\ndetailed shot legs-up\ndetailed silhouette\ndetailed silver armor\ndetailed skateboard\ndetailed skeleton hands\ndetailed sketch\ndetailed sketch drawing\ndetailed skin\ndetailed sky\ndetailed sleek silver armor\ndetailed smile\ndetailed smiled face\ndetailed smoke\ndetailed smoke and dust\ndetailed soft painting\ndetailed space suit\ndetailed spacecraft\ndetailed spaceship\ndetailed spaceship interior\ndetailed sports bra\ndetailed steampunk illustration\ndetailed street\ndetailed string text\ndetailed structures\ndetailed studio lighting\ndetailed studio photograph\ndetailed study of a human hand\ndetailed style\ndetailed sumi - e illustration\ndetailed sumi-e illustration\ndetailed surroundings\ndetailed swirling water tornado\ndetailed symmetrical\ndetailed symmetrical face\ndetailed symmetrical faces\ndetailed symmetry\ndetailed symmetry!!\ndetailed technical drawing\ndetailed terrain\ndetailed terrain texture\ndetailed texture\ndetailed textures\ndetailed textures and lighting\ndetailed torso\ndetailed trees\ndetailed trees and cliffs\ndetailed trees in bloom\ndetailed trigger\ndetailed unblurred face\ndetailed unreal engine\ndetailed unreal engine 5 render\ndetailed upper body\ndetailed vector\ndetailed vectorart\ndetailed veins\ndetailed veiny muscles\ndetailed viking armor\ndetailed viking rune armor\ndetailed visible brushmarks\ndetailed warframe\ndetailed warframe fanart\ndetailed water\ndetailed watercolor\ndetailed watercolor painting\ndetailed watercolour\ndetailed wheels\ndetailed white\ndetailed white armor\ndetailed white fur\ndetailed white liquid\ndetailed white long hair\ndetailed wide shot\ndetailed wings\ndetailed with high quality\ndetailed with shadows\ndetailed woman\ndetailed wood\ndetailed wood carving\ndetailed woodcut armor\ndetailed wooden table\ndetailed zoom photo\ndetailed »\ndetailed –n 9\ndetailed ”\ndetailed!\ndetailed!!\ndetailed!!!!!!!\ndetailed-wheels\ndetailed. insect like\ndetailed: cornea\ndetailed”\ndetailes face\ndetailing\ndetailled\ndetailled face\ndetailled light\ndetailled portrait\ndetails\ndetails and intricate\ndetails and vivid colors\ndetails face\ndetails faces\ndetails galore\ndetails of flesh and skin\ndetails visible\ndetaled face\ndetalied\ndetaling\ndetalized new york background\ndetective\ndetective clothes\ndetective coat\ndetective had on her head\ndetective pikachu\ndetective thriller\ndetention centre\ndeteriorated\ndetermination\ndetermined\ndetermined expression\ndetermined expressions\ndetermined facial expression\ndetermined gaze\ndetiled\ndetmold\ndetmold charles maurice\ndetonation\ndeus ex\ndeus ex human revolution\ndeus ex machina\ndeus ex machine\ndeus ex mankind divided\ndeux ex machina\ndev textures\ndevachan\ndevainart\ndevanagari script\ndevastated\ndevastating\ndevastation\ndevelopers\ndevfiantart\ndevi wings\ndevian art\ndevianart\ndevianart and cgsociety\ndevianart craze\ndevianart trending\ndeviant\ndeviant adoptable\ndeviant art\ndeviant-art\ndeviantar\ndeviantart\ndeviantart artstation\ndeviantart artstation cgscosiety\ndeviantart eka's portal\ndeviantart ekas portal\ndeviantart hd\ndeviantart hd screenshot\ndeviantart trending\ndeviantarz\ndevice\ndevices and instruments\ndevil\ndevil horns\ndevil may cry\ndevil smile\ndevil stuff\ndevil versus angel\ndevil wings\ndevil's horns\ndevilish\ndevilman\ndevils\ndevils horns\ndevinart\ndevine composition golden ration\ndevious\ndevious evil expression\ndevon cady-lee\ndevoted\ndevotion to the scarlet woman\ndevourer of worlds\ndevouring\ndevouring a planet\ndevouring happiness and souls\ndevouring magic souls\ndevouring the human soul\ndevours a hamburger\ndew\ndew drops\ndewdrops\ndewy skin\ndexter morgan\ndezeen\ndezeen showroom\ndhaka traffic\ndhamphir\ndharma artifacts\ndhl yellow dhl van and the lake\ndia de los muertos\ndia de los muertos makeup\ndia de los muertos!!\ndia de los muertos. 8 k\ndia de los muertos. 8k\ndia de muertos\ndia de muertos dress and make up\ndiablo\ndiablo - 3\ndiablo 2\ndiablo 3\ndiablo 4\ndiablo 4 lilith\ndiablo 4 queen\ndiablo concept art\ndiablo digital concept art\ndiablo-3\ndiabolic\ndiabolical\ndiabolus in musica\ndiadem\ndiadem on the head\ndiadems\ndiagnostics\ndiagonal\ndiagonal composition\ndiagonal lines\ndiagonal spell vfx\ndiagonal strokes\ndiagram\ndiagram nature sketchbook\ndiagram representation\ndiagram schematic\ndiagram specifications notations\ndiagramm\ndiagrams\ndial\ndialga the pokémon\ndialog\ndialog text\ndialogue\ndials\ndiamond\ndiamond and rose quartz\ndiamond chain\ndiamond plated superhero\ndiamond prisms\ndiamond shaped face\ndiamond shimmering dress\ndiamond skin\ndiamond texture\ndiamond trees\ndiamonds\ndiamonds and scissors\ndiamonds around her neck\ndiamonds blaze\ndiana levin\ndiane ramic\ndiaper disposal factory\ndiaper disposal robot\ndiaper-shaped\ndiaphanous\ndiaphanous cloth\ndiaphanous iridescent cloth\ndiaphanous iridescent silks\ndiaphanous translucent cloth\ndiary on her hand\ndiatoms\ndice\ndice tsutsumi\ndices\ndices from color glass\ndices from color glass bounces\ndices map book miniatures\ndichotomy\ndichroic\ndichroic prism\ndichroistic\ndichromatism\ndicital painting\ndictator\ndictatorship\ndie - cast metal\ndie - cut sticker\ndie and suffer\ndie antwoord\ndie antwoord  yolandi visser\ndie antwoord ( yolandi visser )\ndie antwoord music video\ndie antwoord style wear\ndie antwoord yolandi portrait\ndie antwoord yolandi visser\ndie cut sticker\ndie hard\ndiebenkorn\ndiecut\ndied hair\ndiego 5\ndiego dayer\ndiego fazio\ndiego fernandez\ndiego koi\ndiego rivera in ukiyo-e style\ndiego velazquez\ndiesel\ndiesel engine\ndiesel punk\ndiesel punk female\ndieselpunk\ndieselpunk armor\ndieselpunk art style\ndieselpunk atmosphere\ndieselpunk biological living\ndieselpunk city\ndieselpunk cyborgs\ndieselpunk look\ndieselpunk norilsk city\ndieselpunk railway station\ndieselpunk setting\ndieselpunk soldier girl\ndieselpunk style\ndieselpunk volgograd\ndieter rams\ndifferent angles\ndifferent closeup view\ndifferent colors\ndifferent expression\ndifferent full body view\ndifferent hair colors\ndifferent hair colours\ndifferent point of view\ndifferent poses\ndifferent realms\ndifferent shapes and sizes\ndifferent sizes\ndifferent styles\ndifferent textures and materials\ndifferent women's faces\ndifferent womens faces\ndifferential growth\ndiffraction\ndiffraction grading\ndiffuse\ndiffuse cinematic lighting\ndiffuse fog void\ndiffuse light\ndiffuse lighting\ndiffuse lightning\ndiffuse lightpainting\ndiffuse magic\ndiffuse natural sun lights\ndiffuse outline\ndiffuse overhead lighting\ndiffuse shadows\ndiffuse subsurface scattering\ndiffuse sunlight\ndiffuse texture\ndiffused\ndiffused backlight\ndiffused light\ndiffused lighting\ndiffused lights\ndiffused natural skin glow\ndiffusion\ndiffusion light\ndiffusive magic\ndifraction from back light\ndifraction of light\ndifractions of light\ndigesting a small dragon\ndigger land\ndigger land amusement park\ndigging\ndigimon\ndigimon anime key art\ndigimon key art\ndigiral art\ndigis\ndigital\ndigital 2 d\ndigital 2d\ndigital 2d animation\ndigital 2d drawing\ndigital 2d fantasy art\ndigital 2d illustration\ndigital 3 d\ndigital 3d\ndigital 4 k\ndigital 4k painting\ndigital advanced anime art\ndigital advertisements\ndigital airbrush painting\ndigital animation\ndigital anime\ndigital anime art\ndigital anime art!!\ndigital anime illustration\ndigital art\ndigital art #oneshotgame\ndigital art - n 5\ndigital art - n 9\ndigital art - w 640\ndigital art - w 700\ndigital art 4 k\ndigital art 4k\ndigital art 4k unsettling\ndigital art 8 k\ndigital art 8k\ndigital art animal photo\ndigital art but as photography\ndigital art but photo\ndigital art cartoon\ndigital art emoji collection\ndigital art extreme detail\ndigital art fantasy\ndigital art fantasy art\ndigital art from danganronpa\ndigital art h 9 6 0\ndigital art hi\ndigital art high quality\ndigital art highly detailed\ndigital art highly-detailed\ndigital art illustration\ndigital art ilya kuvshinov\ndigital art logo\ndigital art masterpiece\ndigital art of an elegant\ndigital art oil painting\ndigital art on pixiv\ndigital art painting\ndigital art picture\ndigital art portrait\ndigital art render\ndigital art station\ndigital art style\ndigital art widescreen 8 k\ndigital art widescreen 8k\ndigital art ”\ndigital art!!\ndigital art''\ndigital art. @mariomaniacdude\ndigital art. artstation\ndigital art. colorful comic\ndigital art. highly detailed\ndigital art. photo realistic\ndigital artist\ndigital artray tracing\ndigital arts\ndigital artwork\ndigital artwork 4 k\ndigital artwork 4k\ndigital art”\ndigital asset\ndigital avedon\ndigital award winning artwork\ndigital background\ndigital banner\ndigital billboard in the middle\ndigital billboards\ndigital camera\ndigital camo\ndigital cartoon painting art\ndigital cel shading\ndigital character\ndigital character art\ndigital character illustration\ndigital character painting\ndigital cinema camera\ndigital collage\ndigital comic\ndigital concept\ndigital concept art\ndigital concept art illustration\ndigital concept art of dystopian\ndigital conceptl art\ndigital cyberpunk - anime art\ndigital cyberpunk anime\ndigital cyberpunk anime art\ndigital cyberpunk anime!!\ndigital design\ndigital detailed environment\ndigital display\ndigital displays\ndigital domain\ndigital drawing\ndigital dreams\ndigital effects fantasy\ndigital engine\ndigital errors\ndigital expressive oil painting\ndigital fantasy\ndigital fantasy art\ndigital fantasy art )\ndigital fantasy character\ndigital fantasy illustration\ndigital fantasy painting\ndigital fantasy portrait\ndigital fashion\ndigital flat 2 d\ndigital flat 2d\ndigital forest\ndigital fox\ndigital glasses\ndigital glitches\ndigital glitches glitchart\ndigital graffiti landscape\ndigital graphic art\ndigital green fox\ndigital health\ndigital horror artwork\ndigital horse\ndigital human\ndigital illustation\ndigital illustration\ndigital illustration -\ndigital illustration portrait\ndigital illustration poster\ndigital illustration radiating\ndigital illustrations\ndigital ilustration\ndigital image\ndigital intricate art\ndigital key art\ndigital landscape art\ndigital line-art\ndigital lines\ndigital manga\ndigital manga art\ndigital marketing\ndigital masterpiece\ndigital matt painting\ndigital matte\ndigital matte black paper art\ndigital matte painting\ndigital media\ndigital medical equipment\ndigital mixed media painting\ndigital model\ndigital nodes\ndigital oil on canvas\ndigital oil painting\ndigital oth\ndigital paining\ndigital painitng\ndigital paint\ndigital painted\ndigital paintin\ndigital painting\ndigital painting  intricate\ndigital painting - n 5\ndigital painting art\ndigital painting concept art\ndigital painting highly detailed\ndigital painting masterpiece\ndigital painting of a pagoda\ndigital painting of quetzalcoatl\ndigital painting of zurich\ndigital painting photoshop\ndigital painting style\ndigital painting | intricate\ndigital painting. octane render\ndigital painting”\ndigital paintting\ndigital paiting\ndigital paitning\ndigital panting\ndigital pen and digital ink\ndigital pencil painting\ndigital photo\ndigital photograph\ndigital photography\ndigital photography”\ndigital pixel art\ndigital pong screen\ndigital portrait\ndigital poster\ndigital provio\ndigital provio\ndigital rain\ndigital reality\ndigital render\ndigital rendering\ndigital restoration\ndigital science fiction realism\ndigital screens\ndigital screens on the walls\ndigital screenshot\ndigital sculpting\ndigital sculpture\ndigital sketch\ndigital space\ndigital steam\ndigital steampunk art\ndigital still\ndigital studio art\ndigital sunglasses\ndigital tech effects\ndigital ui\ndigital visionary art\ndigital walls\ndigital watercolor\ndigital watercolor painting\ndigital world\ndigital yellow red sun\ndigitalart\ndigitalblasphemy\ndigitalillustration\ndigitally colored\ndigitally draw on wacom tablet\ndigitally drawn\ndigitally enhanced\ndigitally painted\ndigitally painting\ndigitally remastered\ndigitalpainting\ndigitalportrait\ndigitalt art\ndigitial illustration\ndigitial painting\ndigitigrade\ndignified\ndignified aristocrat\ndignifying\ndignity\ndigtal art\ndigtial painting\ndilapidated\ndilapidated house\ndilapidated houses\ndilapidated look\ndilapidated neon signs\ndilated pupil\ndilated pupils\ndilraba dilmurat\ndim\ndim accent lighting\ndim ambient lighting\ndim and dark lighting\ndim atmosphere\ndim bedroom\ndim blue light\ndim cinematic lighting\ndim color\ndim colors\ndim cool lighting\ndim dingy gym\ndim dusk lighting\ndim flashlight lighting\ndim fluorescent lighting\ndim lantern\ndim light\ndim lighting\ndim lighting!!!\ndim lights\ndim lit\ndim moody lighting\ndim moonlight\ndim neon lights\ndim painterly lighting aquatic\ndim red light\ndim stars as eyes\ndim street lights\ndim studio lighting\ndim volumetric lighting\ndimension\ndimension of infinite space\ndimension of still moment\ndimensional\ndimensional cyan gold led light\ndimensional portal\ndimensions\ndimly - lit\ndimly glowing crystals\ndimly light room\ndimly lit\ndimly lit bedroom\ndimly lit cozy tavern\ndimly lit dive bar\ndimly lit interior room\ndimly lit room\ndimly lit scene\ndimly lit underground dungeon\ndimly-lit cozy tavern\ndimm light\ndimmed light\ndimmed lighting\ndimmed lightning\ndimmed lights\ndimmed pastel colours\ndimples\ndinah drake\ndinamic composition\ndiner\ndiner background\ndiner caffee\ndiner food\ndiner scene\ndingy\ndingy city street\ndingy gym\ndingy lighting\ndining room\ndining table\ndinner is served\ndinner table\ndino mouse\ndinosaur\ndinosaur bone\ndinosaur bones\ndinosaur skeletons\ndinosaur slayer\ndinosaur wood carving\ndinosaur wooden statue\ndinosaurs\ndinosaurs and godzilla\ndio\ndio brando\ndioaxizine purple\ndiode\ndiode lighting\ndionysus\ndior\ndior campaign\ndiorama\ndiorama macro photography\ndiorama model\ndiorama picture\ndip-switch\ndipped in polished blue ceramic\ndipstick tail\ndiptych\ndire\ndire cyberpunk city\ndire wolf\ndirect flash\ndirect gaze\ndirect glaze\ndirect lighting\ndirect natural lighting\ndirect sun light\ndirect sunlight\ndirect warm lighting\ndirected gaze\ndirectional light\ndirectional lighting\ndirectional path tracing\ndirectional sunlight skewed shot\ndirections\ndirections and moods. faces only\ndirectoire style\ndirk dzimirsky\ndirt\ndirt - stained skin\ndirt and grawel in air\ndirt and luch landscape\ndirt and smoke background\ndirt and unclean\ndirt brick road\ndirt ground\ndirt on face\ndirt road\ndirt road background\ndirt stains\ndirt texture\ndirty\ndirty and old\ndirty and ragged\ndirty and sweaty\ndirty apartment\ndirty armor\ndirty beard\ndirty blonde hair\ndirty clothes\ndirty colours\ndirty concrete wall\ndirty cyberpunk city\ndirty face\ndirty floor\ndirty fur\ndirty gold\ndirty greasy face\ndirty green clothes\ndirty ground\ndirty harry potter\ndirty laboratory\ndirty lens\ndirty linen robes\ndirty metal\ndirty mirror\ndirty nails\ndirty old golden metal\ndirty old grey stone\ndirty olive skin\ndirty rats\ndirty red wavy hair\ndirty room\ndirty short sleeved shirt\ndirty skin\ndirty streets\ndirty tiles in the wall\ndirty walls\ndirty water\ndirty windows\ndirtyrobot\ndisappear\ndisappearing\ndisappointed\ndisassemble the computer\ndisassembled\ndisaster\ndisaster movie poster\ndisaster photography\ndiscarded mech in background\ndiscarded mechsuit in background\ndiscarded scrolls\ndisco\ndisco ball\ndisco ball in background\ndisco balls\ndisco club of the occult\ndisco diffusion\ndisco elysium\ndisco elysium art\ndisco elysium artwork\ndisco elysium character\ndisco elysium concept art\ndisco elysium style\ndisco elysium style!!!\ndisco elysium video game\ndisco light\ndisco lighting\ndisco lights\ndisco party\ndisco pictoplasma\ndisco smile\ndiscogs\ndisconnected\ndisconnected shapes\ndisconnection\ndiscontent\ndiscord\ndiscord emoji\ndiscord mod\ndiscord moderator\ndiscord pfp\ndiscord profile picture\ndiscord taken from life\ndiscovered for the first time\ndiscovered in a secret garden\ndiscovered photo\ndiscovery\ndiscovery channel\ndiscovery one\ndiscovery zone\ndiscreet lensflare\ndiscworld\ndiscworld theme\ndisdainful\ndisease\ndiseased\ndiselpank art\ndiselpunk\ndiseno limpio de facil lectura\ndiseny animation style\ndisfigured\ndisfigured figure\ndisgaea\ndisguisting\ndisgust\ndisgusted\ndisgusted. fear inspiring mood\ndisgusting\ndisgusting food\ndish\ndisheartening\ndisheveled\ndishonored\ndishonored 1\ndishonored 2\ndishonored aesthetic\ndishonored game\ndishonored inspired\ndishonored style\ndisintegrating\ndisintegration\ndisjoint haphazard\ndisjointed style\ndiskworld\ndismal\ndismembering people\ndisney\ndisney - style\ndisney 1 9 9 0\ndisney 1990\ndisney 2d animation still\ndisney 2d traditional animation\ndisney 8 k photo\ndisney 8k photo\ndisney and dan hillier\ndisney and kyoto animation\ndisney animation\ndisney animation color palette\ndisney animation studio\ndisney art\ndisney art style\ndisney artist\ndisney artstyle\ndisney cartoon\ndisney cartoon face\ndisney character\ndisney character style\ndisney colors\ndisney concept art\ndisney concept art :: nixri\ndisney concept artists\ndisney disney\ndisney eyes\ndisney fantasy style\ndisney inspired\ndisney inspired landscape\ndisney land\ndisney movie\ndisney movie poster\ndisney movie poster style\ndisney photo realistic\ndisney pixar\ndisney pixar 3d style\ndisney pixar 8 k photo\ndisney pixar 8k photo\ndisney pixar movie\ndisney pixar movie still\ndisney pixar style\ndisney pixar weta\ndisney pixar zootopia\ndisney poster\ndisney princess\ndisney remake (2021)\ndisney renaissance film\ndisney render\ndisney splash art\ndisney star wars movies still\ndisney steampunk\ndisney studios\ndisney style\ndisney stylized furry\ndisney villain\ndisney weta 8 k\ndisney weta 8k\ndisney weta portrait\ndisney world\ndisney zootopia\ndisney!!\ndisney!!!!\ndisney's bambi cat\ndisney's princess\ndisney's tarzan\ndisney-style\ndisney. model sheet detailed\ndisneyland\ndisneyland as backdrop\ndisneyland background\ndisneyland castle\ndisneys princess\ndisneyworld at kingdom hearts\ndisolate :: a long shot\ndisorder\ndisordered\ndispersion\ndisplacement\ndisplacement map\ndisplacement mapped\ndisplay\ndisplay case\ndisplay font\ndisplay item\ndisplayed\ndisplayed in a museum\ndisplayed in the exhibition hall\ndisplayed on an altar\ndisplayed on mahogany desk\ndisplayed on the walls\ndisplaying stock charts\ndisplays\ndisplay”\ndisposable camera\ndisposable camera photo\ndisposable camera photograph\ndisposable colored camera\ndisposable colored film camera\ndisposable film\ndisposal mummy\ndisrobed\ndisrupted mental state\ndissection of funny\ndissection of happy\ndissection relief\ndissection sketch\ndissipate\ndissipate!!\ndissociation\ndissoldissolglaze カpaint melting\ndissolution\ndissolution filter\ndissolve effects\ndissolving\ndissolving into the air\ndistance\ndistance fog\ndistance shot\ndistance view\ndistance!!!!!!! shot\ndistanceshot\ndistant\ndistant - mid - shot\ndistant background\ndistant battle of cannae 216 bce\ndistant city\ndistant cityscape\ndistant clouds\ndistant explosions\ndistant expression\ndistant forest\ndistant forest horizon\ndistant full body shot\ndistant full body view\ndistant future\ndistant glow\ndistant glowing figures\ndistant hooded figures\ndistant horizon\ndistant knotted branches\ndistant lens\ndistant light from a far sun\ndistant lights\ndistant memories\ndistant mountain range\ndistant mountains\ndistant mountains lights photo\ndistant nebula are glowing algae\ndistant ocean\ndistant photo\ndistant rain\ndistant rainstorm\ndistant rocky mountains\ndistant shot\ndistant shot birds eye view\ndistant thoughtful look\ndistant thunder\ndistant town in valley and hills\ndistant town lights\ndistant twinkling stars\ndistant valley\ndistant vibrant magical lights\ndistant view\ndistant village background\ndistant villagescape\ndistant world\ndistant!!\ndistaw beksinski\ndistinct\ndistinct figure\ndistinct figures\ndistinct horizon\ndistinctive features\ndistinguished\ndistopia megaliths\ndistopian\ndistopic\ndistorted\ndistorted perspective\ndistorted photo\ndistorted pose\ndistortion\ndistortions\ndistraction\ndistraught\ndistress\ndistressed\ndistressed paint\ndistressing\ndistributed consciousness\ndistrustful and arrogant\ndistuburbing\ndisturbed\ndisturbia\ndisturbing\ndisturbing atmosphere\ndisturbing biohorror saliva\ndital painting\ndither\ndithered\ndithered gradients\ndithering\nditigal painting\nditka\ndiva\ndivayth fyr\ndive bar with a karaoke machine\ndiverse\ndiverse ages\ndiverse colors\ndiverse costumes\ndiverse cybersuits\ndiverse eyes\ndiverse eyes!\ndiverse faces\ndiverse haircuts\ndiverse healing cybersuits\ndiverse medical cybersuits\ndiverse outfits\ndiverse species\ndiverse textures\ndiversity\ndiviantart\ndividing it into nine quarters\ndivine\ndivine background\ndivine being\ndivine chaos engine\ndivine cosmic female power\ndivine details\ndivine god\ndivine goddess\ndivine intervention\ndivine light\ndivine lighting\ndivine proportion\ndivine ray over her head\ndivine realm of gods\ndivine render\ndivine vibes\ndivine work\ndiving suit\ndivinity\ndivinity detailed\ndixit card\ndixit card!!!!\ndiy\ndizzy\ndizzy viper\ndj\ndj at a party\ndj mixer\ndj rave party\ndj set\ndj sura\ndjango\ndjelleba\ndji top down view\ndjing with dj turntables\ndjinn\ndjinn human hybrid\ndjinn man male demon\ndle\ndlsr\ndlsr 5 5 mm\ndlsr 55 mm\ndlsr camera\ndlsr photo\ndlsr photograph\ndlsr photography\ndlss\ndmd\ndmitry bogdanov\ndmitry mazurkevich\ndmitry prozorov style\ndmitry spiros\ndmon vs angle\ndmt\ndmt art\ndmt background\ndmt city\ndmt colors\ndmt ego death\ndmt ego of death\ndmt entities\ndmt entity\ndmt entity ; lsd art\ndmt fractal patterns\ndmt god\ndmt goddess\ndmt imagery. octane render\ndmt machine elves\ndmt realm\ndmt ripples\ndmt space behind\ndmt temple\ndmt trip\ndmt visions\ndmt visuals\ndmt water\ndmt waves\ndmt!!!!!!!!\ndna\ndna experiment\ndna helix\ndna strands\ndnd\ndnd 5 e\ndnd art\ndnd avatar portrait of halfling\ndnd beyond\ndnd boss\ndnd card art\ndnd character\ndnd character art\ndnd character art portrait\ndnd character concept\ndnd character concept portrait\ndnd character design concept art\ndnd character portrait\ndnd commission\ndnd concept art\ndnd cover art\ndnd dwarf\ndnd encounter\ndnd fantasy\ndnd fantasy art\ndnd fantasy character\ndnd fantasy character art\ndnd fantasy digital art\ndnd fantasy magic\ndnd fantsay art\ndnd goliath character concept\ndnd illustration\ndnd in a dark forest\ndnd last supper\ndnd magazine cover\ndnd map\ndnd party\ndnd portrait\ndnd portrait of a tiefling\ndnd render of a man\ndnd setting!\ndnd style\ndnd triton\ndnd)\ndndbeyond\ndo\ndo hoang tuong artwork\ndo what we can\ndo you know de wae\ndo you want to know\ndoc marten boots\ndoc ock\ndoc savage\ndoc savage in the jungle\ndocked at harbor\ndocks\ndoctor\ndoctor doom\ndoctor house\ndoctor strange\ndoctor who\ndoctors mirror\ndoctors office\ndocument\ndocument photo\ndocumentary\ndocumentary footage\ndocumentary lighting\ndocumentary photo\ndocumentary photograph\ndocumentary photography\ndocumentary still\ndocumentary style\ndocumentation\ndocuments\ndodecahedron\ndodgers stadium concert in 1975\ndodging bullets\ndoe\ndof\ndof 1. 3\ndof 8 k\ndof 8k\ndof and bokeh\ndof narrow\ndof wide\ndof:-1\ndoff\ndofresh\ndofus\ndog\ndog  jumps from mountain\ndog  looks like elephant\ndog - faced muscular goblin\ndog as a god\ndog as a greek god\ndog ears\ndog eating croissants in paris\ndog head\ndog in a space suite\ndog jumps over hill\ndog looks like elephant\ndog man\ndog playing the saxophone\ndog sleeping\ndog teeth\ndog watching the car\ndog wearing a crown\ndoge\ndoge meme\ndogfighting a ufo with lasers\ndogs\ndogs playing poker\ndoing a backflip\ndoing a hot majestic pose\ndoing a kick\ndoing a kickflip over stairs\ndoing a majestic pose\ndoing a prayer\ndoing a sassy pose\ndoing a thumb up\ndoing a vision quest\ndoing an elegant pose\ndoing an elegant pose over you\ndoing martial arts\ndoing splits and stretching\ndoing the bateman stare\ndoing witchcraft\ndoja cat\ndoja cat as cat woman\ndojo on a mountain\ndokev\ndoki doki literature club\ndolce & gabbana campaign\ndolce gabbana campaign\ndoll\ndoll face\ndoll faces on a dress\ndoll house\ndoll in hand\ndoll phobia\ndollar bank notes\ndollar bill\ndollar bills\ndollar bills body horror\ndollar bills floating\ndollar sign\ndollar sign pupils\ndollars in pocket\ndollfie dream\ndollpunk\ndolly parton\ndolman\ndolomites\ndolomites in background\ndolomites in the background\ndolores abernathy\ndolph lundgren\ndolphin\ndolphin snout under visor\ndolphin swimming\ndolphins\ndolphins and swordfish\ndolphins jumping\ndolphins swimming\ndome\ndome of the rock\ndome of wonders\ndomes\ndomespace\ndomestic\ndomestic caracal\ndominance\ndominant\ndominant pose\ndominant shades of black\ndominant wihte and blue colours\ndominating personality\ndominating red color\ndominatrix\ndominatrix assassin robot\ndominatrix robot\ndomineering\ndominic toretto\ndominik mayer\ndominique ingres\ndomino mask\ndon\ndon bluth\ndon bluth animation\ndon bluth!!\ndon bluth!!!\ndon davis\ndon draper\ndon lawrence's\ndon lawrences\ndon lenzer\ndon punchatz\ndon quixote left the book\ndon ramon\ndon!!! bluth!!!\ndon!!!! bluth!!!!\ndon't be sad\ndon't trip\ndonald duck\ndonald duck as an astronaut\ndonald duck in real life\ndonald glover\ndonald glover as miles morales\ndonald trump\ndonald trump  s face\ndonald trump are best friends\ndonald trump as a cyborg\ndonald trump as a homeless man\ndonald trump as a jedi\ndonald trump as a jedi hero\ndonald trump as a knight\ndonald trump as a muppet\ndonald trump as an oompa loompa\ndonald trump as baron harkonnen\ndonald trump as captain america\ndonald trump as gollum\ndonald trump as jabba the hutt\ndonald trump as shrek\ndonald trump as superman\ndonald trump as thanos\ndonald trump as the hulk\ndonald trump as the joker\ndonald trump as the pope\ndonald trump as thor\ndonald trump at the beach\ndonald trump clown\ndonald trump crying\ndonald trump cyborg\ndonald trump face\ndonald trump fortnite skin\ndonald trump full body detailed\ndonald trump funko pop\ndonald trump hugging joe biden\ndonald trump in animal crossing\ndonald trump in attack on titan\ndonald trump in dark souls\ndonald trump in fortnite\ndonald trump in gta v\ndonald trump in jail\ndonald trump in prison\ndonald trump in skyrim\ndonald trump in super mario 64\ndonald trump is a space marine\ndonald trump kissing joe biden\ndonald trump mugshot\ndonald trump portrait\ndonald trump wearing a crown\ndonald trump ’ s face\ndonald trump's face\ndonald trump's head as modok\ndonald trumps face\ndonald trumps sexy face\ndonatello\ndonato\ndonato giancola and tom bagshaw\ndonbluth\ndone in the style of caravaggio\ndone in the style of matisse\ndonglu yu\ndongson bronze artifacts\ndonkey\ndonkey ears\ndonkey kong\ndonkey kong country\ndonkey kong slips on a banana\ndonkey riding a playground swing\ndonned in an ebony cloak\ndonnie darko\ndonoto giancola\ndonut\ndoodad\ndoodle\ndoodle addicts\ndoodle art\ndoodle hand drawn\ndoodles\ndoom\ndoom and gloom\ndoom beautiful face\ndoom classic\ndoom demon\ndoom demon giger portrait\ndoom engine\ndoom eternal\ndoom eternal art style\ndoom eternal concept art\ndoom guy\ndoom guy resembling samus\ndoom hell theme\ndoom ii\ndoom inspired\ndoom metal\ndoom monster\ndoom of the gods\ndoom shotgun pov\ndoom slayer\ndoom slayer from doom eternal\ndoom video game\ndoomed\ndoomfist\ndoomfist from overwatch\ndoomguy\ndoomguy as a soviet soldier\ndoomsday\ndoomy\ndoor\ndoor gunner\ndoor to lab\ndoors\ndoors of perception\ndoors that are cosmic portals\ndoors to various bedrooms\ndoors to various living quarters\ndoorway\ndoorways\ndoorways. zdzisław beksinski\ndop\ndope\ndoppler effect\ndora maar and rene magritte\ndora the explorer\ndora the explorer as real girl\ndoraemon\ndoran\ndore\ndorian cleavanger\ndorian cleavenger\ndoric\ndormant\ndormant in chains\ndormant nature\ndorne\ndorohedoro\ndors\ndoruk erdem\ndos\ndos game\ndot\ndot art\ndot art on paper\ndot gradient\ndot painting\ndot pupils\ndota\ndota 2\ndota 2 concept art\ndota 2 game screenshot\ndota 2 hero\ndota 2 screenshot\ndota character\ndota matte painting concept art\ndota! matte painting concept art\ndotado\ndotamatte painting concept art\ndotart\ndots\ndots abstract\ndotting\ndouble - exposure\ndouble barrel shotgun\ndouble barreled main gun\ndouble bass\ndouble chin\ndouble denim\ndouble exposure\ndouble exposure effect\ndouble exposure of dally life\ndouble exposure of love\ndouble exposure photography\ndouble exposure portrait\ndouble exposure tree bark\ndouble exposures on 35mm film\ndouble exposures on 35mm film!\ndouble layer fold over hem\ndouble long braids blue\ndouble very long braids blue\ndouble-exposure\ndoubt\ndoug bell\ndoug chiang\ndoug hill style\ndoug walker\ndoug wheeler\ndough sculpture\ndougherty patrick\ndouglas adams\ndouglas hoffman\ndouglas smith\ndoujin\ndour\ndove\ndove cameron in a knight armor\ndove in an ear canal\ndover castle\ndoves\ndoves : : rococo\ndoves flying into the portal\ndown in the sewers of london\ndown left arm and back\ndown there\ndown-town\ndownhill landscape\ndownpour\ndowntown\ndowntown in the distance\ndowntown jacksonville florida\ndowntown mexico\ndowntown seattle at night\ndowntown solarpunk utopia\ndownturned hazel eyes\ndownward gaze\ndownward somber expression\ndozens of galaxies\ndozens of jeweled necklaces\ndr 8 k\ndr 8k\ndr dre\ndr seuss\ndr seuss inspired\ndr strange\ndr strange and dr seuss\ndr sues\ndr suess\ndr who\ndr zeus\ndra the dragon\ndrab\ndrab colors\ndrachenlord\ndraco\ndraconian\ndraconians\ndraconic\ndraconic design\ndraconic looking armor\ndraconic staff\ndracos\ndracula\ndracula fangs! haunted house\ndracula's castle\ndraft\ndrag\ndrag light bombs\ndrag queen\ndragan bibin\ndragging a pile of chains\ndragon\ndragon - inspired suit\ndragon - like\ndragon age\ndragon age concept art\ndragon age inquisition\ndragon ancient full plate armor\ndragon armor\ndragon art\ndragon ball\ndragon ball artstyle\ndragon ball concept art\ndragon ball style\ndragon ball super\ndragon ball z\ndragon ball z style\ndragon blowing fire above\ndragon body\ndragon breathing fire\ndragon centered\ndragon claws\ndragon crown\ndragon cyborg\ndragon design language\ndragon eggs\ndragon eye\ndragon eyes\ndragon face\ndragon fangs\ndragon flying\ndragon flying in sky\ndragon flying in the background\ndragon flying in the sky\ndragon fodder\ndragon fruits\ndragon girl\ndragon head\ndragon head!\ndragon helmet\ndragon in dragon lair\ndragon in the background\ndragon in the sky\ndragon inspired armor\ndragon inspired blue armor\ndragon invasion of moscow\ndragon kissing\ndragon knight\ndragon leg\ndragon made out of molten lava\ndragon maw\ndragon mawshot\ndragon mawshot art\ndragon mouth\ndragon paw\ndragon paw art\ndragon paws\ndragon peacock. intricate\ndragon pope\ndragon portrait\ndragon queen\ndragon quest\ndragon rider\ndragon scale armor\ndragon scale walls\ndragon scales\ndragon scales across hairline\ndragon scales in hair\ndragon shaped helmet\ndragon skin\ndragon skin background\ndragon slayer\ndragon snake with wings\ndragon spits fire on a man\ndragon staff\ndragon tail\ndragon tailed\ndragon vore\ndragon vore art\ndragon wings\ndragon with scars\ndragon!\ndragon! dragon!\ndragon! dragon! dragon!\ndragon! man\ndragon's dogma\ndragon's lair\ndragon-inspired cloth robes\ndragon-shaped human\ndragonball\ndragonball z\ndragonborn\ndragondragon\ndragondragondragon\ndragonflies\ndragonfly\ndragonfly-like\ndragonfly-shaped\ndragonlance illustration\ndragonlike\ndragonman\ndragons\ndragons flying around\ndragons flying in the sky\ndragons lair\ndragon’s lair\ndragwads\ndraincore\ndrainpipes\ndrak fantasy goblin\ndrake\ndrake in gta v\ndrake the rapper wearing a kurta\ndrake the rapper's face\ndrake the rappers face\ndrake's face\ndrakengard\ndrakenguard inspired\ndrakes face\ndrama\ndrama masks\ndramatic\ndramatic - lighting\ndramatic 8 k uhd\ndramatic action\ndramatic action atmosphere\ndramatic action photography\ndramatic action pose\ndramatic action scene\ndramatic action shot\ndramatic afternoon lighting\ndramatic ambient light\ndramatic ambient lighting\ndramatic amtosphere\ndramatic and atmospheric\ndramatic and cinematic lights\ndramatic and colorful lighting\ndramatic and dynamic lighting\ndramatic and emotional\ndramatic and moody\ndramatic angle\ndramatic anime\ndramatic architecture\ndramatic art\ndramatic artwork\ndramatic atmosphere\ndramatic aurora borealis\ndramatic autumn landscape\ndramatic background\ndramatic backgroung\ndramatic backlight\ndramatic backlighting\ndramatic backlit lighting\ndramatic backlit window\ndramatic beautiful lighting\ndramatic black and white\ndramatic black smoke everywhere\ndramatic blue light\ndramatic blue lighting\ndramatic bored expression\ndramatic bright lighting\ndramatic brush painting\ndramatic brush strokes\ndramatic brushstrokes\ndramatic buildings\ndramatic camera angle\ndramatic candlelight\ndramatic cinematic\ndramatic cinematic action shot\ndramatic cinematic composition\ndramatic cinematic detailed fur\ndramatic cinematic light\ndramatic cinematic lighting\ndramatic cinematic perfect light\ndramatic cinematic portrait\ndramatic cinematic shot\ndramatic cinematography\ndramatic cinematography 3 5 mm\ndramatic cinematography 35 mm\ndramatic closeup composition\ndramatic clouds\ndramatic clouds and atmosphere\ndramatic clouds cyan atmosphere\ndramatic cloudy setting sun\ndramatic cloudy sky\ndramatic cold light\ndramatic color\ndramatic colored lighting\ndramatic colorful lighting\ndramatic colors\ndramatic colors scheme\ndramatic composition\ndramatic concept art\ndramatic contrast\ndramatic contrast lighting\ndramatic contrasting light\ndramatic dark\ndramatic dark atmosphere\ndramatic dark eerie lighting\ndramatic dark forest scenery\ndramatic dark lighning\ndramatic dark lighting\ndramatic depth of field\ndramatic details\ndramatic diffused lighting\ndramatic digital art\ndramatic disaster\ndramatic dreamlike lighting\ndramatic duel of the fates\ndramatic dynamic lighting\ndramatic earth colors\ndramatic elegant pose\ndramatic entry\ndramatic environment\ndramatic epic cinematic lighting\ndramatic everything\ndramatic exploding nebulae\ndramatic expressions\ndramatic eyes\ndramatic face\ndramatic facial expression\ndramatic fantasy art\ndramatic film still\ndramatic fire glow lighting\ndramatic fire lighting\ndramatic floating pose\ndramatic framing\ndramatic full moon lighting\ndramatic glowing lighting\ndramatic golden light\ndramatic gradient lighting\ndramatic green lighting\ndramatic grey sky\ndramatic hair color\ndramatic highlights\ndramatic illumination\ndramatic illustration\ndramatic ilumination\ndramatic impactful colors\ndramatic imposing pose\ndramatic intense lighting\ndramatic landscape\ndramatic lens flares\ndramatic lenses\ndramatic lighing\ndramatic light\ndramatic light 8 0 mm camera\ndramatic light 8 k\ndramatic light 8k\ndramatic light and shadow\ndramatic light and shadows\ndramatic light darkroom\ndramatic light hdr\ndramatic light on face\ndramatic lightening\ndramatic lightin\ndramatic lighting\ndramatic lighting !n-9\ndramatic lighting - n 9\ndramatic lighting 4k\ndramatic lighting 8k resolution\ndramatic lighting and colors\ndramatic lighting fantasy\ndramatic lighting from above\ndramatic lighting from below\ndramatic lighting from fire glow\ndramatic lighting hd quality\ndramatic lighting hyper detail\ndramatic lighting lighting\ndramatic lighting man\ndramatic lighting on the face\ndramatic lighting render\ndramatic lighting sci fi\ndramatic lighting shadows\ndramatic lighting sharp focus\ndramatic lighting with god rays\ndramatic lighting!\ndramatic lighting)))\ndramatic lighting. concept art\ndramatic lighting. realistic\ndramatic lighting. stylized\ndramatic lighting; 4k 8k\ndramatic lighting”\ndramatic lightning\ndramatic lightning background\ndramatic lightning digital art\ndramatic lights\ndramatic lights mystical scene\ndramatic lights spiritual scene\ndramatic ligthing\ndramatic ligthting\ndramatic low lighting\ndramatic low-key lighting\ndramatic low-key neon lighting\ndramatic lowkey studio lighting\ndramatic magic floating pose\ndramatic masterpiece\ndramatic matte painting\ndramatic moment\ndramatic mood\ndramatic mood lighting\ndramatic moody cold landscape\ndramatic moody lighting\ndramatic moody sunset lighting\ndramatic moonlight\ndramatic moonlight lighting\ndramatic moonlit lighting\ndramatic morning light\ndramatic mountain background\ndramatic mountains behind\ndramatic mountains in background\ndramatic movie still\ndramatic mysterious lighting\ndramatic nautical scene\ndramatic nebula sky\ndramatic neon lighting\ndramatic news\ndramatic night lighting\ndramatic night sky\ndramatic oil painting\ndramatic painting\ndramatic perspective\ndramatic photo\ndramatic photograph\ndramatic photography\ndramatic photorealistic\ndramatic pink clouds\ndramatic pink light\ndramatic portrait\ndramatic portraiture of namenlos\ndramatic portraiture of uuen\ndramatic pose\ndramatic poses\ndramatic posing\ndramatic powerful nebula\ndramatic powerful pose\ndramatic powerful sky\ndramatic press photo\ndramatic product lighting\ndramatic product photography\ndramatic product shot\ndramatic professional lighting\ndramatic purple thunders\ndramatic rain\ndramatic reading book pose\ndramatic reading spell book pose\ndramatic red scary lighting\ndramatic reddish light\ndramatic rendering\ndramatic representation\ndramatic rim lighting\ndramatic scene\ndramatic scenery\ndramatic sci-fi movie still\ndramatic seductive pose\ndramatic serious pose\ndramatic shading\ndramatic shadow\ndramatic shadowing\ndramatic shadows\ndramatic sharp thorns\ndramatic shot\ndramatic simple shapes\ndramatic situation\ndramatic skies\ndramatic sky\ndramatic sky and landscape\ndramatic sky in background\ndramatic smile pose\ndramatic smile pose intricate\ndramatic smiling pose\ndramatic smirk pose\ndramatic smoke\ndramatic smoke everywhere\ndramatic smoking pose\ndramatic soft light\ndramatic soft lighting\ndramatic soft shadow lighting\ndramatic space battle\ndramatic space sky\ndramatic stadium lighting\ndramatic stage lighting\ndramatic standing\ndramatic standing pose\ndramatic starry night sky\ndramatic storm clouds\ndramatic storm sunset\ndramatic stormy scene\ndramatic stormy sky\ndramatic studio light\ndramatic studio lighting\ndramatic sunrise\ndramatic sunset\ndramatic sunset and dramatic sky\ndramatic sunset lighting\ndramatic sunset nebula\ndramatic swirling clouds\ndramatic theater lighting\ndramatic theming\ndramatic thinking pose\ndramatic three point lighting\ndramatic view\ndramatic volumetric light\ndramatic volumetric lighting\ndramatic volumetric lightning\ndramatic warm color\ndramatic warm morning light\ndramatic white and blue lighting\ndramatic wide angle\ndramatic wide angle shot\ndramatic wielding gun pose\ndramatic wielding katana pose\ndramatic wielding sword pose\ndramatic zoom\ndramatic ”\ndramatic!! lighting\ndramatic. fantasy\ndramatically art\ndramaticlighting\ndramaticlly deep composition\ndramatictic lighting\ndramatic”\ndramedy\ndrammatic light\ndrammatic lighting\ndramtic lighting\ndramtic lit\ndramtically lit\ndraped drapes\ndraped in crystals\ndraped in fleshy green and pink\ndraped in flowing fabric\ndraped in gold\ndraped in pink and green robes\ndraped in purple\ndraped in purple and gold silk\ndraped in shiny gold and silver\ndraped in shiny golden oil\ndraped in shiny oil\ndraped in silk\ndraped in silky gold\ndraped in silky purple and gold\ndraped in transparent cloth\ndraped in velvet and flowers\ndraped with horrors and spines\ndraped with red hybiscus\ndraped with water and spines\ndrapery\ndrapes\ndrark\ndraw\ndraw with wacom tablet\ndrawcrowd\ndrawfolio\ndrawind style\ndrawing\ndrawing 4k\ndrawing an arrow from his quiver\ndrawing architecture\ndrawing faces\ndrawing for children\ndrawing gustave dore\ndrawing of a skull\ndrawing on a parchment\ndrawing on pencil\ndrawing pictures on a notebook\ndrawing sketches\ndrawing sketches on his notebook\ndrawing study\ndrawing style\ndrawings\ndrawn\ndrawn and painted\ndrawn image\ndrawn in a neo - noir style\ndrawn in a noir style\ndrawn in ballpoint pen\ndrawn in fine-tip pen\ndrawn in microsoft paint\ndrawn in the style of artgerm\ndrawn in the style of mark arian\ndrawn like the anime speed racer\ndrawn on paper\ndrawn on white parchment paper\ndrawn projects on paper\ndrawn with a single line\ndrawn with colored pencils\ndrawn with crayons\ndrawn with dots\ndrawn with photoshop\ndrdisrespect as a gundam\ndrdisrespect as napoleon\ndrdisrespect posing as napoleon\ndread\ndread +\ndread + highly detailed\ndread infernal\ndread scary spaceship\ndreadful\ndreadjim\ndreadlock black hair\ndreadlock breed hair\ndreadlock hair\ndreadlocks\ndreadnought\ndreads\ndream\ndream - like\ndream - like atmosphere\ndream - like heavy atmosphere\ndream a little dream of me\ndream a portrait of a man\ndream aesthetic\ndream animal cute eyes\ndream atmosphere\ndream core\ndream creature costumes\ndream design\ndream ethnology\ndream heavenly cloudy sky\ndream landscape\ndream light\ndream lighting\ndream like\ndream like atmosphere\ndream like atmosphere 8k\ndream magical\ndream medium portrait top light\ndream of better days\ndream of the endless\ndream on\ndream pool\ndream portal\ndream recording\ndream scenery art\ndream sequence\ndream sequence. the apprentice\ndream theater\ndream wave aesthetic\ndream within a dream\ndream world\ndream-like\ndream-like atmosphere\ndream-like heavy atmosphere\ndream-state\ndreambotmothership\ndreamcast\ndreamcatcher\ndreamcatchers\ndreamcore\ndreamcore aesthetic\ndreamcore looking\ndreaming\ndreaming about a faraway place\ndreaming bodies\ndreaming face\ndreaming illusion\ndreaming of electric sheep\ndreaming of kissing a girl\ndreaming of outer space\ndreamland\ndreamland of chinese\ndreamless night\ndreamlike\ndreamlike art\ndreamlike atmosphere\ndreamlike digital painting\ndreamlike light incidence\ndreamlike lighting\ndreamlike stanley kubrick\ndreamlike sunraise\ndreamlike surrealism\ndreamlike!\ndreampool rooms\ndreampunk\ndreampunk romanticism artwork\ndreams\ndreams are like poetry\ndreams invading mundane spaces\ndreams of silver surfer\ndreamscape\ndreamscape architect\ndreamscape in a jar\ndreamscape maximized\ndreamtime\ndreamwalker\ndreamwave\ndreamworks\ndreamworks and marvel\ndreamworks animated bjork\ndreamworks animation\ndreamworks animation style\ndreamworks style\ndreamworld\ndreamy\ndreamy aesthetic\ndreamy and detailed\ndreamy and ethereal\ndreamy and ethereal and dark\ndreamy and romantic\ndreamy art\ndreamy atmosphere\ndreamy atmosphere and drama\ndreamy atmospheric\ndreamy blurred lens\ndreamy chinese town\ndreamy clouds\ndreamy colorful cyberpunk colors\ndreamy colors\ndreamy cyberpunk girl\ndreamy ethereal vibe\ndreamy eyes\ndreamy feeling\ndreamy floral background\ndreamy gothic girl\ndreamy green eyes\ndreamy hazy\ndreamy illustration\ndreamy kodak color stock\ndreamy landscape\ndreamy light\ndreamy light color palette\ndreamy lighting\ndreamy matte painting\ndreamy mila kunis\ndreamy mood\ndreamy night\ndreamy painting of coronavirus\ndreamy psychedelic anime\ndreamy puffy clouds\ndreamy rock girl\ndreamy scene\ndreamy sequence\ndreamy sky\ndreamy soft\ndreamy soft neon lights\ndreamy style\ndreamy vibe\ndreamyart\ndreary\ndreary atmosphere\ndreary lighting\ndredd\ndredged seabed\ndren from splice\ndrenched body\ndrenched clothing\ndress\ndress and cloth\ndress in the style of rococo\ndress in voile\ndress like taliban\ndress made of bones\ndress made of feathers\ndress made of fire\ndress made of green leaves\ndress made of leaves\ndress made of steel blades\ndress made of water\ndress made with circuit board\ndress of leaves\ndress shirt\ndress shirt and tie\ndressed\ndressed a long white\ndressed all in black\ndressed anya taylor - joy\ndressed as a ballerina\ndressed as a judge's robes\ndressed as a knight\ndressed as a pastry chef\ndressed as a queen\ndressed as a scavenger\ndressed as a western sheriff\ndressed as a wizard\ndressed as an oracle\ndressed as emperor\ndressed as schoolgirl\ndressed as wonder woman\ndressed beautiful gown\ndressed black hoodie\ndressed casually\ndressed in 1970s menswear\ndressed in a ((ragged))\ndressed in a [ [ 1 2 th century\ndressed in a beautiful\ndressed in a beautiful red cloak\ndressed in a beautiful white\ndressed in a black cloak\ndressed in a blue cloak\ndressed in a flower dress\ndressed in a frilly ((lace))\ndressed in a frilly ((ragged))\ndressed in a frilly lace\ndressed in a frilly ragged\ndressed in a gray\ndressed in a green robe\ndressed in a jodhpuri suit\ndressed in a lacy\ndressed in a medieval lacy\ndressed in a pink dress\ndressed in a ragged\ndressed in a robe\ndressed in a sari\ndressed in a suit\ndressed in a top and shorts\ndressed in a white t shirt\ndressed in a white t-shirt\ndressed in a worn\ndressed in an old white coat\ndressed in armor\ndressed in belts bikini\ndressed in biker leather\ndressed in bikini\ndressed in black\ndressed in black body armour\ndressed in black lace\ndressed in black leather\ndressed in black velvet\ndressed in blue\ndressed in cloak\ndressed in colorful silk\ndressed in crustpunk clothing\ndressed in dark garment\ndressed in expensive clothes\ndressed in laurel wreath\ndressed in leather jacket\ndressed in light armor\ndressed in long fluent skirt\ndressed in medieval clothes\ndressed in orange inmate attire\ndressed in ornate\ndressed in plastic bags\ndressed in punk clothing\ndressed in purple\ndressed in red paper bags\ndressed in red velvet\ndressed in roman armour\ndressed in roman clothes\ndressed in samurai armour\ndressed in shako\ndressed in short leather jacket\ndressed in silk\ndressed in spartan armour\ndressed in stars and planets\ndressed in tactical armor\ndressed in velvet\ndressed in white\ndressed in white intricate lace\ndressed in white robes\ndressed like a cleric\ndressed like in the 1940s\ndressed like jesus christ\ndressed like napoleon bonaparte\ndressed senobith\ndressed thobe\ndressed well\ndressed with expensive clothes\ndressed with fluent clothes\ndressed with long fluent clothes\ndressing tassels gemstones\ndrew barrymore\ndrew hill\ndrew struzan illustration art\ndrew struzan inspiration\ndrew struzan style art\ndrew struzan tomasz alen kopera\ndrew struzan. epic\ndribbble\ndribbble 8k\ndribbble illustration\ndribbble. com\ndribble popular\ndribbling\ndried acrylic paint\ndried aquarium\ndried blood\ndried fern\ndried flower\ndried flowers\ndried herbs\ndried leaves\ndried moss\ndried palmtrees\ndried petals\ndried plants\ndried vines\ndries van noten\ndrifters\ndrifting\ndrifting around a corner\ndrifting in space\ndriftwood\ndriftwood sculpture\ndrink\ndrink milkshakes together\ndrink more coffee\ndrinking\ndrinking a beer\ndrinking a beer at train station\ndrinking a bottle of coca-cola\ndrinking a coffee\ndrinking a cup of coffee\ndrinking a glass of whiskey\ndrinking a martini\ndrinking a strawberry iced latte\ndrinking alcohol\ndrinking and smoking\ndrinking at the bar\ndrinking beer\ndrinking beer and laughing\ndrinking boba tea\ndrinking champagne\ndrinking cocktail\ndrinking coffee\ndrinking coffee at central perk\ndrinking cough syrup\ndrinking tea\ndrinking their hearts out\ndrinking whiskey\ndrinking wine\ndrinks\ndrinks bourbon\ndrip\ndrip painting\ndriping dry oil paint\ndripped out\ndripping\ndripping bbq sauce\ndripping black and grey paint\ndripping black goo\ndripping black iridescent liquid\ndripping black paint\ndripping blood\ndripping blue natural iwakura\ndripping candles\ndripping colorful paint\ndripping colors\ndripping goo\ndripping honey\ndripping in neon paint\ndripping light drops\ndripping oil\ndripping oil paint\ndripping paint\ndripping saliva\ndripping skin\ndripping stalagtites\ndripping tar\ndripping technique\ndripping water\ndripping wax\ndripping wet\ndripping with color\ndripping with oil in the head\ndripping with water\ndrippy\ndrippy oil painting\ndrips\ndrive in movie theater\ndrive out\ndriver\ndriveway\ndriving\ndriving a car\ndriving a hotrod\ndriving fast\ndriving in a little toy car\ndriving rain\ndriving through a 1 9 5 0 s town\ndriving through the city\ndrizzt do\\'urden\ndrogon\ndroid\ndroids\ndrone\ndrone camera angle\ndrone camera lens orbs\ndrone footage\ndrone perspective\ndrone photo\ndrone photograpghy\ndrone photograph\ndrone photography\ndrone point of view\ndrone shot\ndrone speedways\ndrone view\ndrone view of a city\ndrone wide shot\ndrones\ndrones in the sky\ndrool\ndrooling\ndrooling ferrofluid\ndrooling ferrofluid. dslr\ndrooling goo\ndrooling teeth bared\ndrooping rabbity ears\ndrop of waters\ndrop shadow\ndrop shadows\ndroplets\ndroplets flow down the bottle\ndroplets on the walls\ndrops\ndrops are falling from above\ndrops around\ndrops of clean water\ndrops of water\ndrosera capensis\ndroste effect\ndrought\ndrow\ndrow ranger\ndrowned\ndrowned bandit lair\ndrowning\ndrugs\ndrugstore\ndruid\ndruid goddess\ndruid portrait\ndruid warrior\ndruidic runes\ndruillet\ndruillet colorful\ndrum & bass\ndrum bass\ndrum kit\ndrum pads\ndrum scanner\ndrum set\ndrumheller\ndrumkit\ndrummer\ndrums\ndrunk\ndrunk cowboy redhead long hair\ndrunk woman\ndrunkard\ndrunken boxing\ndrunken fist\ndrunken master\ndruzy geode\ndry\ndry archways\ndry archways and spires\ndry brush\ndry brush background colors\ndry brush texture\ndry brush wash\ndry brushing\ndry desert\ndry dirt\ndry grass\ndry ground\ndry ice\ndry landscape\ndry river bed\ndry skin\ndry trees\ndryad\ndryad in the forest\nds\ndslr\ndslr +\ndslr 1 5 mm\ndslr 15 mm\ndslr 15mm\ndslr 24mm\ndslr 3 5 mm\ndslr 35 mm\ndslr 35mm\ndslr 5 0 mm\ndslr 5 0 mm portrait photo\ndslr 5 5 mm\ndslr 50mm\ndslr 55 mm\ndslr 8 k\ndslr 85mm\ndslr 8k\ndslr camera\ndslr camera img_4016\ndslr camera photo\ndslr color\ndslr depth of field\ndslr fantasy\ndslr film\ndslr focus on the subjects\ndslr hdr 8k\ndslr high resolution\ndslr hyper focused\ndslr photo\ndslr photo of a pretty teen girl\ndslr photo of a vase on a table\ndslr photograph\ndslr photography\ndslr photograpy\ndsrl photo\ndua lipa\ndual magics\ndual swords\ndual tone\ndual tone lighting\ndual wielding axes\ndual wielding large revolvers\ndual wielding swords\ndual wielding two magical swords\nduality\nduane hanson\nduane loose\ndubai\ndubbel negative exposure\ndubrovnik\ndubstep\ndubstep visualized\nduck\nduck shaped spaceship\nduck shoes\nduck sits at a table\nduck themed spaceship\nduckface\nducks\nduel\nduel between two cowboys\ndueling\nduff beer\ndug stanat\ndug stanat macabre art\ndugeondraft\nduke 3 d\nduke nukem\nduke nukem 3d\nduke nukem 90s cover art\nduke nukem art style\ndukhara scavenger\ndulac\ndull\ndull blue cloudy background\ndull colors\ndull colours\ndull flaking paint\ndull grey expressionism\ndull palette\ndull pastel colors\ndull pink background\ndull red\ndull red flaking paint\ndullahan\ndulled contrast\ndumb\ndumbledore\ndumplings on a plate\ndun or grey\nduncan fegredo\ndunce\ndune\ndune (2021)\ndune 1982 movie\ndune city and temples of arrakis\ndune movie\ndune movie poster\ndune style\ndune the movie\ndunes\ndunes in the background\ndungeon\ndungeon and dragon\ndungeon and dragon illustration\ndungeon and dragons\ndungeon and dragons art\ndungeon background\ndungeon's & dragons\ndungeondraft\ndungeons\ndungeons & dragons\ndungeons and dragon\ndungeons and dragons\ndungeons and dragons art\ndungeons and dragons artwork\ndungeons and dragons character\ndungeons and dragons characters\ndungeons and dragons fantasy art\ndungeons and dragons portrait\ndungeons and dragons style\ndungeons dragons\ndunking\ndunkirk\ndunwall city\ndunwitch horror\nduo tone\nduochrome\nduotone\nduotone screen print\nduotone!\ndurararara\ndurer\nduring a biohazard apocalypse\nduring a blood moon\nduring a hail storm\nduring a meteor storm\nduring a storm\nduring a sunset\nduring a thunderstorm\nduring an eclipse\nduring autumn\nduring dawn\nduring golden hour\nduring lunar eclipse\nduring night\nduring sandstorm\nduring snowfall\nduring spring\nduring sunrise\nduring sunset\nduring the day\nduring the night\ndurty colours\ndusk\ndusk atmosphere\ndusk light\ndusk lighting\ndusk on a city street\ndusk on jupiter\ndusk setting\ndusk sky\ndusk sunset in background\ndust\ndust and blood\ndust and blood in the air\ndust and particles\ndust and rats\ndust and rock theme\ndust and sand in the air\ndust and scratches\ndust and smoke\ndust and steam\ndust around\ndust atmosphere\ndust cloud\ndust clouds\ndust clouds  homoerotic\ndust clouds and building debris\ndust clouds | homoerotic\ndust clouds. homoerotic\ndust devils\ndust floats in the air\ndust in air\ndust in the air\ndust light\ndust mask\ndust mist\ndust molecules\ndust motes in air\ndust particle\ndust particles\ndust particles in the air\ndust partiles in the air\ndust storm\ndust swirling\nduster\ndustin lefevre\ndustin panzino\ndusting of snow\ndustlight\ndusty\ndusty abandoned shinjuku\ndusty air\ndusty and smokey\ndusty atmosphere\ndusty background\ndusty dirty floor\ndusty environment\ndusty floor\ndusty ground\ndusty library\ndusty light\ndusty lighting\ndusty old ferrotype\ndusty place\ndusty rock in background\ndusty rown bomber leather jacket\ndusty space suit\ndusty street\ndusty unreal engine\ndusty volumetric light\ndusty volumetric lighting\ndutch\ndutch angle\ndutch angle digital art\ndutch angle from space view\ndutch camera view\ndutch golden age\ndutch golden age painting\ndutch houses along a river\ndutch landscape\ndutch masterpiece\ndutch masters\ndutch painting\ndutch portrait from the 1600s\ndutch still life from the 1600s\ndutch still life of the 1600s\ndutch style\ndutch style painting\ndutch tilt\ndutch windmill gundam\ndutiful return\nduy beni serial\ndvd\ndvd cover\ndvd package\ndvd screencapture\ndviant art\ndwarf\ndwarf cleric\ndwarf scientist of 1 9 century\ndwarf with white hair\ndwarven\ndwarven architecture\ndwarven weapon\ndwarven woman\ndwarves\ndwayne barlowe\ndwayne johnson\ndwayne johnson as batman\ndwayne johnson as god of war\ndwayne johnson as harry potter\ndwayne johnson as hulk\ndwayne johnson as kratos\ndwayne johnson as samurai\ndwayne johnson as spiderbatman\ndwayne johnson as spiderman\ndwayne johnson as superman\ndwayne johnson as thanos\ndwayne johnson as the joker\ndwayne johnson as wonder woman\ndwayne johnson in family guy\ndwayne the rock johnson\ndwell\ndwight\ndwight schrute\ndxo photolab\ndybanic\ndye - transfer\ndye contrast lighting\ndye hair\ndye-transfer\ndyed hair\ndying\ndying earth\ndylan cole\ndylan kowalsk\ndylan kowalski\ndynamic\ndynamic action\ndynamic action pose\ndynamic action poses\ndynamic action shot\ndynamic active running pose\ndynamic and atmospheric lighting\ndynamic and dominant\ndynamic and dominating\ndynamic angle\ndynamic angled shot\ndynamic angles\ndynamic background\ndynamic backlighting\ndynamic beautiful lighting\ndynamic blue sky\ndynamic brush strokes\ndynamic camera angle\ndynamic character\ndynamic character design\ndynamic character posse\ndynamic cinematic lighting\ndynamic closeup\ndynamic closeup composition\ndynamic color\ndynamic colorful background\ndynamic colors\ndynamic comparison\ndynamic composition\ndynamic composition and motion\ndynamic contrast\ndynamic curves\ndynamic dance photography\ndynamic dancing pose\ndynamic dramatic ighting\ndynamic dramatic lighting\ndynamic dramatic shot\ndynamic energic pose\ndynamic extreme foreshortening\ndynamic folds\ndynamic hair movement\ndynamic layout\ndynamic light\ndynamic lighting\ndynamic lighting stars\ndynamic lightning\ndynamic lights\ndynamic lights and shadows\ndynamic lines\ndynamic linework\ndynamic low angle shot\ndynamic moody lighting\ndynamic motion\ndynamic movement\ndynamic movie still\ndynamic moving pose\ndynamic pearlescent teal light\ndynamic perspective\ndynamic perspective and angle\ndynamic perspective pose\ndynamic photography\ndynamic portrait\ndynamic portrait style\ndynamic pose\ndynamic pose and movement\ndynamic pose and perspective\ndynamic pose full body\ndynamic pose perspective\ndynamic pose realistic\ndynamic poses\ndynamic posing\ndynamic poster\ndynamic proportion\ndynamic proportional\ndynamic range\ndynamic reflections\ndynamic scene\ndynamic shaders\ndynamic shading\ndynamic shadow\ndynamic shadows\ndynamic shot\ndynamic skating\ndynamic sky\ndynamic splashes\ndynamic stretching\ndynamic view\ndynamic volumetric lighting\ndynamic wavy hair\ndynamic wide angle lens\ndynamic!!\ndynamically shot\ndynamics\ndynamics lighting\ndynasty\ndynasty warriors\ndysney\ndyson sphere\ndyson sphere in space\ndyson sphere program\ndyson sphere program pink planet\ndystopia\ndystopia city\ndystopia core\ndystopia style\ndystopian\ndystopian 1920s soviet mood\ndystopian aesthetics\ndystopian alien landscape\ndystopian art\ndystopian atmosphere\ndystopian background\ndystopian bad vibes\ndystopian bounty hunter\ndystopian brutalist atmosphere\ndystopian celebration\ndystopian city\ndystopian city apartment\ndystopian city skyline at night\ndystopian cyberpunk\ndystopian cyberpunk city\ndystopian digital art\ndystopian environment\ndystopian feel\ndystopian floor tile texture\ndystopian future\ndystopian gray forest background\ndystopian grunge\ndystopian landscape\ndystopian lighting\ndystopian mood\ndystopian reichstag germany\ndystopian retro 1920s vibe\ndystopian sci - fi\ndystopian sci-fi\ndystopian sci-fi character\ndystopian science fiction\ndystopian scifi\ndystopian scifi apocalypse\ndystopian scifi gadgets\ndystopian scifi gear\ndystopian scifi outfit\ndystopian setting\ndystopian slums\ndystopian society\ndystopian style\ndystopian surrealism\ndystopian terror\ndystopian toy\ndystopian wasteland\ndystopian world\ndystopic\ndystopin future\ndystoptian\ndzo\ndzung phung dinh\ne - girl\ne-girl\ne-sport style\ne-sports logo vector\ne. h. beatrice blue\ne3\ne4e620\ne621\nea games\nea sport\nea star wars battlefront 2015\neach faces precisely define\neach having six wings\neach land is a different color\neach wearing correct era clothes\neach wish resign ’ d\neagle\neagle beak\neagle coral\neagle eat snake\neagle feather\neagle head\neagle logo\neagle wings\neagles\neal\nealistic\nealistic shaded perfect face\near\near floof\nearbuds\nearbuds jewelry\nearie setting\nearing a shirt laughing\nearings\nearl\nearl moran\nearl nore\nearle\nearly 1 9 0 0's\nearly 1 9 century\nearly 19 century\nearly 1900s\nearly 1900s newspaper\nearly 2 0 0 0 s\nearly 2 0 th century\nearly 2000 s\nearly 2000s\nearly 20s\nearly 90s cg\nearly black and white 8mm\nearly black and white photo\nearly cgi\nearly computer graphics\nearly cuyler\nearly dawn\nearly evening\nearly foggy morning\nearly in the morning\nearly medieval\nearly middle ages\nearly morning\nearly morning light\nearly morning light fog\nearly morning lighting\nearly morning lightning\nearly morning mood\nearly morning sun in the sky\nearly morning sunrise\nearly netherlandish painting\nearly night\nearly renaissance\nearly screen test\nearly spring\nearly xx century technology\nearnest\nearphones\nearring\nearring design\nearrings\nearrings.\nearrings. highly detailed\nears\nears are listening\nears shine through the light\nearth\nearth and pastel colors\nearth attuned\nearth colors\nearth covers lightly\nearth eyes\nearth globe on top\nearth goddess mythology\nearth in background\nearth in foreground\nearth in space\nearth in the background\nearth in the distance\nearth in the foreground\nearth in the sky\nearth magic\nearth on the window\nearth outside\nearth seen on the dark sky\nearth tone color scheme\nearth tone colors\nearth tones\nearth tones and blues\nearth tones and soft color 1976\nearth tones and soft color 1981\nearth type pokemon\nearth visible below\nearthbound\nearthquake\nearthquake destruction\nearthship\nearthtone colors\nearthtones\nearthwave\nearthy\nearthy color scheme\nearthy colors\nearthy colours\nearthy light pastel colours\nearthy tones\neasel\neasports\neast african man with curly hair\neaster\neastern art style\neastern european\neastern european origin\neastern front\neastman 5 3 8 4 film\neastman 5384 film\neastman color\neastman exr 50d 5245/7245\neastman kodak\neastmancolor\neasy\neasy edges\neasy go\neasy to understand\neasy to use\neasygoing\neating\neating a burger\neating a cheese platter\neating a cheeseburger\neating a donut\neating a hamburger\neating a mushroom\neating a pizza\neating a pizza margherita\neating a rat\neating alien food\neating burgers\neating cakes\neating camera pov\neating cheese\neating chips and watching tv\neating garlic bread\neating ice - cream\neating ice cream\neating inside mcdonalds\neating mars bar candy\neating meat\neating noodles\neating outside\neating pizza\neating ramen\neating rotting fruit\neating spaghetti\neating spaghetti from a bowl\neating sushi\neats bambus\neats pasta all the time\nebay\nebay listing\nebay listing thumbnail\nebay photo\nebay product\nebay website\nebony\nebony art deco\nebony rococo\nebony skin\nebony wood bow\neboy\neccentric\necchi\necchi anime style\necchi style\necho from overwatch\necktochrome\neclectic\neclecticism\neclipse\neclipse of aurora on mars\neco\neco-friendly theme\necology\necommerce photograph\neconomic boom\neconomist\necopunk\necopunk rococo\necosystem\necovillage\necru cloth\necstasy\necstasy and cry from far\necstatic\necstatic crowd\necstatic expression\necstatic face expression\nectoplasm\ned\ned asner starring as ben grimm\ned hopper\ned o'brien (guitar)\ned repka\ned sheeran\nedd\nedd cartier\neddie\neddie adams\neddie del rio\neddie h. hinestroza\neddotorial illustration\nede laszlo\nedelgard fire emblem\nedelgard from fire emblem\neden\neden at dawn\neden garden\nedgar allan poe\nedgar allan poe as the raven\nedgar maxence\nedgar maxence and ross tran\nedgar rice burroughs\nedgard maxence\nedge\nedge - to - edge print\nedge detection\nedge glow\nedge highlights\nedge light\nedge lighting\nedge of interstellar space\nedge of nothingness love\nedge of the universe\nedge of the world\nedge of tomorrow\nedge to edge\nedge vignette\nedge-to-edge print\nedges\nedgy\nedgy adventure sci fi\nedible\nedible crypto\nedible flowers\nedin durmisevic\nedinburgh\nedinburgh castle\nedison bulb\nedited\nedited in photoshop\neditor's pickup\neditorial\neditorial awarded\neditorial awarded design\neditorial fashion photography\neditorial footage\neditorial illustration\neditorial illustration colorful\neditorial image\neditorial model\neditorial of dior magazine\neditorial photo\neditorial photo from magazine\neditorial photograph\neditorial photography\neditorial portrait\neditorial story\neditors choice\neditors pickup\neditor’s pickup\nedm\nedm fans\nedmonia lewis\nedmund blair and charlie bowater\nedmund blair leighton\nedo\nedo era\nedo era house in the background\nedo japan\nedo period\nedo style\nedon guraziu\nedouard caplain\nedouard groult\nedouard leon cortes\nedouard manet\nedu souza\neduard pronin\neducation of the masses\neducational\neducational display case\neducational supplies\nedvard escher guay\nedvard munch john berkey\nedvige faini\nedward\nedward buba\nedward burne jones\nedward hooper\nedward hopper\nedward hopper and ilya kushinov\nedward hopper and james gilleard\nedward hopper and jenny saville\nedward hopper and milo manara\nedward hopper dramatic\nedward hopper filonov\nedward hopper painting\nedward hopper style\nedward hopper vibe\nedward hopper. sharp focus\nedward hughes\nedward munch\nedward norton\nedward okun\nedward robert\nedward rucha\nedward scissorhands\nedward steichen\nedward weston and gustave doré\nedwardian\nedwin church\nedwin long\nedwin longsden long\neeg nodes on scalp\neeire\neeire mood\neel nebula\neeri\neerie\neerie and atmospheric\neerie and grim art style\neerie and moody polaroid\neerie and unsettling\neerie art style\neerie atmosphere\neerie atmospheric\neerie atmospheric lighting\neerie back light\neerie color\neerie colors\neerie dark atmosphere\neerie david lynch cinematography\neerie fog\neerie glow\neerie glowing eyes\neerie highly detailed\neerie horror\neerie horror mood\neerie jungle\neerie light\neerie lighting\neerie looking\neerie luminosity\neerie mist\neerie mood\neerie moonlight\neerie moorlands behind her\neerie music\neerie nostalgic concept art\neerie person\neerie person silhouette\neerie room\neerie self - portrait\neerie shimmering surroundings\neerie sky\neerie spiritual grainy\neerie thriller aesthetic!!!!\neerie vibe\neerie vibes\neerie vibrancy\neerie ”\neerie!\neerie!!! atmosphere\neerieatmosphere\neeriewave\neerily beautiful\neero aarnio\neery\neery dead swamp setting\neery light\neevee\neeyrie\nef 8 5 mm f 1. 8 usm\nef 85 mm f 1. 8 usm\neffect\neffective altruism\neffects\neffervescent\nefficient\negg\negg yolk\neggo waffle inside toaster slot\neggplant\neggs\neggs benedict cumberbatch\neggshell color\nego death\negon schiele and max ernst\negon schiele!\negor letov\negotistical\neguchi\negypt\negypt god\negypt makeup\negypt themed art\negyptian\negyptian art\negyptian atmosphere\negyptian cat goddess\negyptian clothes\negyptian clothing\negyptian cyborg armor\negyptian environment\negyptian god\negyptian gods\negyptian iconography\negyptian landscape\negyptian makeup\negyptian mummy\negyptian mummy king\negyptian mythology\negyptian princess\negyptian samurai\negyptian setting\negyptian style\negyptian sumerian features\negyptian symbolism\negyptian warrior\negyptology\nehime\neichiro oda\neichler home\neiffel tower\neiffel tower in istanbul\neiffel tower in the middle\neiffel tower is burning\neiffel tower left\neiffel tower photography\neight eight eight\neight-dimensional\neighteen-dimensional\neighties amateur photography\neighties eros\neighties look\neighties miami vice\neighties pinup style\neighties-pinup style\neiichiro oda style\neiko hosoe\neiko ishioka\neinar jonsson\neinar jonsson and bouguereau\neinstein\neka's portal\nekas portal\nekasportal\nekaterina\nektachrome\nektachrome  1976\nektachrome ( 1 9 7 6 )\nektachrome color photograph\nektachrome film\nektachrome photograph\nektochrome\nel anatsui\nel bosco and dan mumford\nel capitan\nel chavo\nel chavo del ocho\nel dia los muertos\nel dia los muertos!\nel dorado\nelaborate\nelaborate braided hair\nelaborate carved wood balconies\nelaborate clothing\nelaborate composition\nelaborate costume\nelaborate cult robes\nelaborate detail\nelaborate details\nelaborate digital art\nelaborate earrings\nelaborate floral ornament\nelaborate geometric ornament\nelaborate gold jewelry\nelaborate hair\nelaborate hair worn up\nelaborate hairstyles\nelaborate illustration\nelaborate ink illustration\nelaborate inking lines\nelaborate jewelry\nelaborate latticed balconies\nelaborate lights. mask on face\nelaborate long black hairstyle\nelaborate long hairstyle\nelaborate matte painting\nelaborate oled jewelry\nelaborate ornate growth\nelaborate ornate head piece\nelaborate ornate jewellery\nelaborate patterned makeup\nelaborate polished\nelaborate rube goldberg style\nelaborate stage effects\nelaborated depth of field\nelaborately costumed\nelaine\nelaine benes\nelated gaunt onion head\nelbaite\nelbow\nelbow gloves\nelbow pads\neldar samurai\nelden ring\nelden ring art\nelden ring boss\nelden ring capitol\nelden ring cinematic lighting\nelden ring class\nelden ring concept art\nelden ring inspired\nelden ring monster\nelden ring official\nelden ring style\neldenring\nelder\nelder ring\nelder scrolls\nelder scrolls art\nelder scrolls colourised\nelder scrolls online\nelder scrolls v\nelder sign\nelder thing\nelderly\nelderly greek goddess\nelderly woman\nelderscrolls\neldrazi\neldricht abominations\neldritch\neldritch abomination\neldritch abomination garfield\neldritch being\neldritch color scheme\neldritch eyes\neldritch god\neldritch goddess\neldritch horror\neldritch horror goddess\neldritch horrors\neldritch journalist\neldritch legislature\neldritch lovecraftian secretary\neldritch space\neldritchpunk\neleanor tomlinson\nelection poster\nelectric\nelectric arc\nelectric arcs\nelectric aura\nelectric aura with particles\nelectric blue\nelectric brainstorm\nelectric breeze\nelectric cables\nelectric cats that fly over ice\nelectric color\nelectric colors\nelectric colours\nelectric energy\nelectric eyes\nelectric guitar\nelectric guitars\nelectric hair\nelectric martina\nelectric motors\nelectric orange glowing lights\nelectric sheep\nelectric sky\nelectric sparks\nelectric storm\nelectric swirls\nelectric vines and swirls\nelectric wallpaper\nelectric woman\nelectrical\nelectrical appendages\nelectrical arcs\nelectrical aura\nelectrical cables\nelectrical case display\nelectrical details\nelectrical plant location\nelectrical signals\nelectrical wires\nelectrical wiring\nelectrical wiring!\nelectricity\nelectricity archs\nelectricity aura\nelectricity highly detailed\nelectricity lightning\nelectricity superpowers\nelectrified hair\nelectrifying\nelectrixbunny\nelectrode\nelectromagnetic field dmt lsd\nelectron flow\nelectron microscope\nelectron microscope image\nelectron microscope photography\nelectron microscope view\nelectron microscopy photography\nelectronic\nelectronic ads\nelectronic bikini\nelectronic billboards\nelectronic brain\nelectronic case display\nelectronic circuitry\nelectronic components\nelectronic hardcore music\nelectronic microscope 1 9 9 0\nelectronic music\nelectronic wires\nelectronics\nelectronics see through\nelectrons\nelectrostatic hum\nelegance\nelegant\nelegant ancient greek dress\nelegant and extremely ornamental\nelegant and graceful\nelegant and ornate\nelegant and proud\nelegant and refined\nelegant and refined painting\nelegant architecture\nelegant armor\nelegant art\nelegant art nouveau style\nelegant asymmetrical\nelegant atmosphere\nelegant baroque\nelegant bikini\nelegant biomechanical machinery\nelegant bridges between towers\nelegant cape\nelegant cat\nelegant cinematic fantasy art\nelegant cinematic pose\nelegant clean design\nelegant clothes\nelegant clothing\nelegant color palette\nelegant colorful\nelegant composition\nelegant confident pose\nelegant coral sea bottom\nelegant corset\nelegant dark blue dress\nelegant decollete\nelegant design\nelegant digital painting\nelegant drawing\nelegant dress\nelegant evening gowns\nelegant evening gowns!\nelegant fabric\nelegant face\nelegant fantasy style braids\nelegant fashion model\nelegant feet\nelegant floating pose\nelegant flowers\nelegant freckles\nelegant furniture\nelegant futuristic wardrobe\nelegant girl\nelegant girl in urban outfit\nelegant glamor pose\nelegant glamourous cosplay\nelegant gleaming jewelry\nelegant gold body\nelegant gold skin\nelegant hair\nelegant hand\nelegant harmony\nelegant high art\nelegant high quality\nelegant highly detailed\nelegant horror artwork\nelegant interior\nelegant intricate\nelegant intricate diagrams\nelegant japanese woman\nelegant lady\nelegant lady with alabaster skin\nelegant legs\nelegant light\nelegant lighting\nelegant look\nelegant minimalism\nelegant noir\nelegant oil painting\nelegant photorealistic\nelegant photorealistic cinematic\nelegant portrait\nelegant pose\nelegant posed\nelegant profile pose\nelegant profile posing\nelegant proportions\nelegant red dress\nelegant regal posture\nelegant render\nelegant scene\nelegant seducing pose\nelegant seductive pose\nelegant shot\nelegant sleek smooth body\nelegant slim beige shirt\nelegant smiling pose\nelegant smooth silver armor\nelegant study\nelegant style\nelegant suit\nelegant trend\nelegant tropical prints\nelegant up to the elbow\nelegant victorian vampire\nelegant walkways between towers\nelegant wardrobe\nelegant white dress\nelegant woman\nelegant yellow skin\nelegant!\nelegant!!\nelegant.\nelegant. highly detailed\nelegantly\nelegantly dressed\nelegantly posing over you\nelegence\nelegent\nelegrant\nelemental\nelemental guardian of life\nelements\nelements in a composition\nelena masci\nelephant\nelephant - crab creature\nelephant head\nelephant in the room\nelephant man\nelephant shrew\nelephant skull\nelephantine armored knight\nelephants\nelestial crystals\nelevated consciousness\nelevated street art\nelevation\nelevation view\nelevator\nelevator doors look like a mouth\nelevator to the moon\neleven from stranger things\neleven-dimensional\neleven/millie bobbie brown\neleventh doctor\nelf\nelf ears\nelf forest background\nelf girl\nelf girl wearing an flower suit\nelf knight\nelf long weaving brown hair\nelf princess\nelf princess knight\nelf queen\nelf queen nissa genesis mage\nelf warrior\nelf with blue skin\nelfic priestess\nelfin beauty\nelfpunk\nelgant\nelias chatzoudis\neliezer yudkowsky\nelijah wood as harry potter\nelimination of humanity\neliran kantor\nelisabeth moss\nelisha cuthbert as a d&d paladin\nelisha cuthbert as a paladin\nelisha cuthbert as a rpg warrior\nelite\nelite dangerous\nelite scientist\nelitedangerous 💙💜 ornate ︎\nelites\nelizabeth\nelizabeth erickson\nelizabeth from bioshock infinite\nelizabeth jane gardner\nelizabeth olsen\nelizabeth olsen as black widow\nelizabeth olsen as harley quinn\nelizabeth olsen as scarlet witch\nelizabeth saltzman\nelizabeth taylor\nelizabeth williams\nelize theron\nelk\nelke\nelle fanning\nelle fanning as an android\nelle fanning at a diner\nelle fanning at night\nelle fanning in a black coat\nelle fanning)\nelle magazine\nellen jewett\nellen ripley\nellen von unwerth\nellie (last of us)\nellie bamber\nellie bamber fairy\nellie from the last of us\nellie victoria gale\nelliot alderson\nelliot anderson\nelliott erwitt photography\nello\nellora\nelm tree\nelmo\nelmo as a giant monster\nelmo in fortnite\nelokitty\nelon musk\nelon musk as a cyborg\nelon musk as a greek god\nelon musk as a musketeer\nelon musk as a skyrim character\nelon musk as a soldier\nelon musk as captain america\nelon musk as iron man\nelon musk as jabba the hutt\nelon musk as joker\nelon musk as punisher\nelon musk as slimy mollusk\nelon musk as the incredible hulk\nelon musk as thor\nelon musk crying\nelon musk eating crayons\nelon musk funko pop\nelon musk in attack on titan\nelon musk in fortnite\nelon musk in gta v\nelon musk in minecraft\nelon musk on mars\nelon musk portrait\nelon musk smoking weed\nelon musk working at mcdonalds\nelon tusk\nelongated arms\nelongated figure\neloquent\neloy band\neloy morales\nelpis\nelric of melnibone\nelrond's house\nels\nelsa\nelsa from frozen\nelsa frozen\nelson peter\nelspeth knight errant\nelstree\nelton john\nelton john age 25\nelton john in a fist fight\nelton john lennon\nelusive\nelven\nelven angel meditating in space\nelven architecture\nelven armor\nelven character with smirk\nelven city\nelven male\nelven palace of ghemathar\nelven princess\nelven spirit meditating in space\nelven warrior princess\nelves\nelves house\nelves sitting on the couch\nelvgren\nelvira in tattered clothes\nelvis\nelvis presley\nelvish\nelvish blonde male warrior\nelysian fields\nelysium\nemaciated\nemaciated black evening gown\nemaciated shaved face\nemad mostaque\nemail\nemanating and flowing energy\nemanating dimensional magic\nemanating magic from her palms\nemanating menacing aura\nemanating white smoke\nemanating with blue aura\nemanuele dascanio\nembarrassed\nembarrassing\nembedded in clear epoxy\nembedded with gemstones\nembellished sequined\nembellisher\nembellishment\nember\nembers\nembers adrift in the air\nembers flying\nembers to waist\nemblem\nemblem of wisdom\nembodiment of chaos\nembodiment of concept\nembossed\nembossed paint\nembrace\nembrace porcelain doll\nembrace the superego\nembraced\nembracing\nembroidered brocade\nembroidered brocade robes\nembroidered robes\nembroidered shirt\nembroidered uniform guard\nembroidered velvet\nembroidery\nemerald\nemerald artifacts\nemerald color palette\nemerald coloured eyes\nemerald earrings\nemerald eyes\nemerald gold and beksinski\nemerald green eyes\nemerald herald\nemerald jewelry\nemerald tablet\nemerald tiara and necklace\nemerald yellow eyes\nemeralds\nemergence of the pizza rat\nemergency\nemergency countermeasures\nemergency room\nemerging from a lamp\nemerging from blue fire\nemerging from her lamp\nemerging from the darkness\nemerging from the mist\nemerging from the water\nemerging hands\nemil ferriss\nemil melmoth\nemilia clarke\nemilia clarke as a greek goddess\nemily blunt\nemily rajtkowski\nemily ratajkowski\neminem\neminem as a m & m candy\neminem as an m & m\nemir\nemissive\nemissive bssrdf\nemissive light\nemissive lighting\nemissive lights\nemissive material\nemiting mystical light\nemitting diodes\nemitting evil red aura\nemitting light ornaments\nemitting psychic powers\nemitting smoke and sparks\nemitting spore clouds\nemma\nemma bot queen\nemma bridgewater and paperchase\nemma frost\nemma roberts\nemma stone\nemma stone as a pinup girl\nemma stone as catwoman\nemma stone face\nemma stone in beige coat\nemma stone in stranger things\nemma stone in victoria secret\nemma stone poison ivy\nemma stone poison ivy dc comics\nemma stone portrait\nemma stone with an owl\nemma stone with blond hair\nemma uber\nemma watson\nemma watson as a greek goddess\nemma watson as a knight\nemma watson as a mermaid\nemma watson as a tall nba player\nemma watson as an angel\nemma watson as an avocado\nemma watson as an avocado chair\nemma watson as black canary\nemma watson as black widow\nemma watson as blond aphrodite\nemma watson as captain america\nemma watson as catwoman\nemma watson as driada\nemma watson as galadriel\nemma watson as giant man\nemma watson as harley quinn\nemma watson as harry potter\nemma watson as hermione granger\nemma watson as hulk\nemma watson as iron man\nemma watson as jessica rabbit\nemma watson as joan of arc\nemma watson as kratos\nemma watson as lara croft\nemma watson as mona lisa\nemma watson as poison ivy\nemma watson as princess leia\nemma watson as sea mermaid\nemma watson as she-hulk\nemma watson as spiderman\nemma watson as supergirl\nemma watson as the flash\nemma watson as the joker\nemma watson as the queen of ice\nemma watson as the scarlet witch\nemma watson for cosmopolitan\nemma watson for victorian secret\nemma watson in a hi vis vest\nemma watson in bed\nemma watson in game of thrones\nemma watson in star trek\nemma watson in star wars\nemma watson in starcraft ii\nemma watson in ted lasso poster\nemma watson is harley quinn\nemma watson modeling for gucci\nemma watson portrait\nemma watson sitting in chair\nemma watson smiling\nemma watson vietnam door gunner\nemma watson wearing a swimsuit\nemma watson wearing fancy fish\nemma watson wearing fancy hat\nemma watson with anxious\nemma!! watson!!\nemmanuel macron\nemmanuel shiru\nemmanuel shiu\nemmawatson\nemmy rossum\nemo\nemo anime girl\nemo boy with cat ears and tail\nemo girl and her cat\nemo girl eating pancakes\nemo makeup\nemo style\nemoji\nemote\nemoticon\nemotion\nemotion : madness\nemotional\nemotional and expressive\nemotional concept art\nemotional conflict\nemotional expression\nemotional eyes\nemotional face\nemotional face shot\nemotional lighting\nemotional masterpiece\nemotional oil painting\nemotional pain\nemotional picture\nemotional release\nemotional sad painting\nemotional surrealist art\nemotional vibrant\nemotional vision\nemotionally evocative\nemotionally evoking\nemotionally numb\nemotionally touching\nemotionless\nemotions\nemotions closeup\nemotions. fantasy\nemotive\nemotive faces\nemotive portrait\nempathic\nempathy machines\nemperor\nemperor biden\nemperor of the known universe\nemperor secret society\nemphasis on tall buildings\nempire\nempire silhouette\nempire state building\nempire strikes back\nempress\nempress of the wasteland\nemptiness\nemptiness and peace\nempty\nempty and uncany expression\nempty background\nempty bathhouse hidden in a cave\nempty black void\nempty bloody - black eyesockets\nempty buildings\nempty buildings with vegetation\nempty city\nempty desert\nempty edges\nempty eye sockets\nempty eyes\nempty floor\nempty hands\nempty liminal space\nempty metropolitan street\nempty office\nempty pet bottles\nempty remote wilderness\nempty road\nempty road in the middle\nempty room\nempty room with black walls\nempty snow field\nempty space\nempty space background\nempty stage\nempty stools\nempty street\nempty streets\nempty streetscapes\nempty warehouse background\nempty wheat field\nempty white room\nempyrean\nempyrean city\nemtpy space\nemulador\nemulating reality\nemylie boivin\nen debut de matinee\nenamel\nenb\nencampment\nencarpus\nencaustic painting\nencephalopod\nenchanted\nenchanted and magic forest\nenchanted dreams\nenchanted dreams. instagram\nenchanted forest\nenchanted forest tower\nenchanted garden\nenchanted magical fantasy forest\nenchanted plants\nenchanted with nature spirit\nenchanting\nenchanting and otherworldly\nenchanting lighting\nenchanting vibes\nenchantress\nencho enchev\nenclosed in rock\nencompass violet irises\nencrusted with jewels\nencyclopedia illustration\nend of an era\nend of day\nend of days\nend of evangelion\nend of evangelion poster\nend of everything\nend of humanity\nend of the day\nend of the universe\nend of the world\nend of times\nend of world\nend times\nendangered\nendgame boss\nendings\nendless\nendless black hair\nendless books\nendless collaboration with ai\nendless cosmos in the background\nendless empty office building\nendless flowing ethereal drapery\nendless forest of high buildings\nendless grass\nendless hallways\nendless hallways and bookshelves\nendless horizon\nendless lake\nendless loop\nendless night\nendless sea\nendless sky\nendless street\nendless summer art\nendless universe\nendless war\nendoekeleton exposure\nendor forest\nendoskeleton\nendre penovác\nenduring\nendwalker cinematic\nenergetic\nenergetic atmosphere\nenergetic beings patrolling\nenergetic composition\nenergetic jazz piano portrait\nenergetic mood\nenergetic varia suit\nenergized\nenergized face\nenergy\nenergy aura\nenergy body\nenergy core\nenergy drink\nenergy flowing\nenergy flows of water and fire\nenergy mote\nenergy pulses\nenergy pulsing\nenergy rifle\nenergy shield\nenergy spheres\nenergy trails\nenergy vortex\nenergy waves\nenes dirig\neng kilian\nengagement ring ads\nengaging\nengalnd porcelain tea set\nengine\nengine room\nengine room on a starship\nengineer\nengineered\nengineering\nengineering bay\nengineering blueprints\nengineering diagram\nengineering drawing\nengineers building a giant mecha\nengines\nengland\nenglish\nenglish countryside\nenglish heritage\nenglish style\nenglish text\nenglish village\nengraved\nengraved blade\nengraved highly detailed\nengraved texture\nengraved vector\nengraving\nengraving drawing\nengraving from 1700s\nengraving illustration\nengravings\nengulfed in flames\nengulfed in swirling flames\nenhance\nenhance colors\nenhance face\nenhance light effect\nenhance lighting\nenhanced\nenhanced 8k render\nenhanced colors\nenhanced eye detail\nenhanced face\nenhanced faces\nenhanced hands\nenhanced light effect\nenhanced lighting\nenhanced noise\nenhanced photo\nenhanced quality\nenhanced quality polaroid photo\nenhanced sharpness\nenhancements\nenhanched\neniac computer\nenigma\nenigmatic\nenigmatic and ectoplasmic figure\nenigmatic atmosphere\nenigmatic beauty\nenigmatic lighting\nenigmatic natural beauty\nenigmatic scene\nenigmatic!!\nenjoyable\nenjoying a glass of wine\nenjoying a stroll in the forest\nenjoying coffee at a coffee shop\nenjoying life to its fullest\nenjoying life!!! elegant\nenjoying lifeelegant\nenjoying the wind\nenki bilal style\nenlightened\nenlightening\nenlightenment\nenlightenment tripping on dmt\nenlightenment. intricate\nenlightment\nenoch bolles\nenormous\nenormous chrome man\nenormous hands\nenormous in size\nenormous scale\nenormous trees\nenormously detailed\nenraged\nenscape render\nenso\nent\nent treant dryad\nentangled\nentangled foliage\nentangled vibrating\nenter night\nenter the dragon 1973\nenter the void\nentering a quantum wormhole\nentering the mind maze\nenterprise workflow engine\nentertaining\nentertainment district\nentheogen\nenthusiastic crowd\nenticing\nentire body\nentire character\nentire character!\nentire city in view\nentire city visible\nentire person visible\nentire person visible!\nentire person!\nentirely black full page black\nentities\nentity\nentourage\nentrance\nentrance to 1900's mine\nentrance to a dark tunnel\nentrance to abandoned mine\nentrance to an ancient dungeon\nentrance to ethereal realm\nentrapped in ice\nentropic behaviors\nentropy\nents\nentwined bodies\nentwined hearts and spades\nentwined in vines\nentwined in vines and nature\nenveloped in ghosts\nenvious atmosphere\nenviroment\nenviroment design\nenviromental portrait\nenvironment\nenvironment and concept art\nenvironment art\nenvironment artist\nenvironment concept\nenvironment concept art\nenvironment design\nenvironment design illustration\nenvironment fog\nenvironment friendly\nenvironment highly detailed\nenvironment lighting\nenvironment painting\nenvironmental\nenvironmental artwork\nenvironmental concept art\nenvironmental design\nenvironmental key art\nenvironmental light\nenvironmental lighting\nenvironmental portrait\nenvironmental shot\nenvironments\nenvironments )\neon flux\neora\neos - 1 d\neos 5 ds r\neos 5d\neos 5ds r\neos r5\neos-1d\neowyn fencing with liam neeson\nepcot\nephemeral\nepic\nepic 1986 cinematic still\nepic 3 d abstract emo girl\nepic 3 d abstract model\nepic 3 d omolu\nepic 3 d oshun\nepic 3 d oxaguian\nepic 3 d oxossi\nepic 3 d yemaya\nepic 35 mm lens shot\nepic 3d abstract emo girl\nepic 3d abstract model\nepic 3d oshun\nepic 3d oxaguian\nepic 3d yemaya\nepic 7 0 mm lens shot\nepic 70 mm lens shot\nepic 8 k\nepic 8 k hd anime shot\nepic 8k\nepic 8k hd anime shot\nepic action\nepic action pose\nepic action scene\nepic action shot\nepic adventure\nepic album art cover\nepic album cover\nepic and cinematic view\nepic and classy portrait\nepic and stunning\nepic angel wings\nepic angle\nepic angle and pose\nepic angles\nepic anime\nepic anime fantasy\nepic anime style\nepic arcane magic\nepic architecture\nepic armor\nepic art\nepic art nouveau framing\nepic art style\nepic artwork\nepic atmosphere\nepic award winning\nepic background\nepic battle\nepic battle scene\nepic battle screen of hero\nepic battlescene\nepic beard\nepic beautiful\nepic beautiful landscape\nepic beautiful space scifi\nepic biblical depiction\nepic blue sky\nepic boss battle\nepic boss fight\nepic buildings in the center\nepic camera\nepic castle\nepic castle with tall spires\nepic character art\nepic character composition\nepic character portrait\nepic cinematic\nepic cinematic concept art\nepic cinematic lighting\nepic cinematic matte painting\nepic cinematic quality\nepic cinematic scene\nepic cinematic shot\nepic cinematic still\nepic cinematic tone\nepic cinematography\nepic clouds\nepic clouds and godlike lighting\nepic clouds and lighting\nepic cold blue lighting\nepic comic book art\nepic comic book style\nepic compisition\nepic composistion\nepic composition\nepic composition 35mm\nepic composition 8 5 mm\nepic composition 85 mm\nepic concept art\nepic concept art. bokeh\nepic concept art. warhammer 40k\nepic cosmos\nepic cover\nepic coves crashing waves plants\nepic cyberpunk\nepic dark fantasy\nepic debates\nepic design\nepic detail\nepic digital art\nepic digital art illustration\nepic digital concept art\nepic digital painting\nepic dimensional light\nepic diptych\nepic dragon\nepic dramatic lighting\nepic dreamlike fantasy landscape\nepic elder scrolls art\nepic elven warrior\nepic environment\nepic exquisite character art\nepic fantasty card game art\nepic fantasy\nepic fantasy art\nepic fantasy art portrait\nepic fantasy art style\nepic fantasy art style hd\nepic fantasy artwork\nepic fantasy battle\nepic fantasy card game art\nepic fantasy character art\nepic fantasy concept art\nepic fantasy cyberpunk\nepic fantasy d & d hobbit rogue\nepic fantasy digital art\nepic fantasy digital art style\nepic fantasy game art\nepic fantasy illustration\nepic fantasy landscape\nepic fantasy novel cover art\nepic fantasy painting\nepic fantasy sci fi illustration\nepic fantasy style\nepic fantasy style art\nepic fantasy weapon art\nepic feels\nepic fight\nepic fight scene\nepic fights\nepic forests\nepic framing\nepic full color illustration\nepic full shot\nepic game\nepic game portrait\nepic games\nepic grandiose\nepic graphic novel wallpaper\nepic graphics\nepic grimdark\nepic high dynamic lighting\nepic high fantasy\nepic highlights\nepic horror\nepic illumination\nepic illustration\nepic image\nepic khajuraho\nepic land formations\nepic landscape\nepic legendary\nepic legends game icon\nepic level of detail\nepic light\nepic light novel art cover\nepic light novel cover art\nepic light scene\nepic lighting\nepic lighting effects\nepic lighting from above\nepic lighting”\nepic lightning\nepic lights\nepic lost in space\nepic low shot\nepic mage girl character\nepic magic effects\nepic masterpiece\nepic masterpiece torment\nepic matte painting\nepic matte painting of an island\nepic megastructure\nepic mma fight\nepic moment\nepic mood\nepic moody sky\nepic mountains\nepic mountains in the background\nepic movie poster\nepic multifigures composition\nepic music album cover\nepic mysterious surrealism\nepic mythology\nepic natural light\nepic naval battle\nepic nebula\nepic ninja suit\nepic oil painting\nepic orbital spaceships battle\nepic painting\nepic paladin armor\nepic pencil illustration\nepic perspective\nepic photo\nepic photograph\nepic photography\nepic portrait\nepic portrait illustration\nepic portrait of menacing\nepic pose\nepic poses\nepic poster\nepic poster art\nepic professional digital art\nepic propaganda poster\nepic proportions\nepic psycho\nepic quality\nepic real fantasy\nepic realm\nepic red - orange moonlight\nepic red - orange sunlight\nepic retrowave art\nepic rivendell fantasy\nepic road - trip in outer space\nepic romance\nepic rpg artwork\nepic rpg portrait\nepic samurai warrrior\nepic sandstorm battle\nepic scale\nepic scale fisheye view\nepic scale ultrawide angle\nepic scene\nepic scene from marvel movie\nepic scene full of computers\nepic scene of zeus\nepic scenery\nepic scenic shot\nepic sci - fi character art\nepic sci fi battle\nepic sci-fi character art\nepic science fiction horror\nepic scifi character art\nepic scifi fantasy art\nepic scifi movie still\nepic scope\nepic shafts\nepic shamanic dmt art\nepic shot\nepic shot cinematography\nepic size\nepic skies\nepic sky\nepic smooth illustration\nepic space battle\nepic splash cover art\nepic stance\nepic stark lighting\nepic stock photo\nepic stunning\nepic stunning atmosphere\nepic style\nepic sunrise\nepic sunset\nepic surrealism\nepic surrealism 8k oil painting\nepic tale of the twin sisters\nepic theater\nepic titan winnie the pooh\nepic ultrawide shot\nepic urban bakground\nepic urban battle\nepic vfx shot\nepic vibrant\nepic video game art\nepic view\nepic viking king\nepic vista\nepic vista of old ruins\nepic visuals\nepic volumetric light\nepic volumetric lighting\nepic wallpaper\nepic wide angle\nepic wide shot\nepic wide sky and horzon\nepic wrestling combat\nepic. 1 0 0 mm\nepic. fantasy\nepic. in style of greg rutkowski\nepic. octane render\nepic.fantasy\nepically luminous image\nepicanthal fold\nepicillustration\nepicurious\nepiphany\nepisode\nepisode still\nepk\nepoxy resin\neps\nequation heaven\nequations\nequestria\nequestrian photography\nequine\nequine photo\nequine photography\nequirectangular\nequirectangular projection\ner drama\neradication\nerak note\neraserhead\nerebos’s titan\neren jaeger\neren yeager\nergodox\nergonomic\neric bana\neric carle\neric cartman\neric cartman in real life\neric heschong\neric hu\neric lacombe\neric parker\neric wareheim with a corgi\neric winter\neric zener aykut aydogdu\neric zener cam de leon\nerik johansson\nerik johansson style\nerik jones\nerika ikuta\nerin\nerin hunter\nerin moriarty\nerin moriarty as scarlet witch\nermine\nernest gary gygax face\nernest khalimov body\nernie chan\nernst fuchs and artgerm\nernst haeckel and artgerm\nernst haeckel and ernst fuchs\nernst haekel\nernst haekl\nerol otus\neros\neros and thanatos\nerosion\nerosion algorithm landscape\nerosion channels river\nerosions\nerotic\nerrolson hugh\nerror\nerste boden\nerte\nerupting volcano\nerupting volcano in distance\neruption\nerwin olaf\nerza scarlet as a real person\nesa\nesao andrews\nesao andrews : : ornate\nesao andrews and dave mckean\nesao andrews and yoshitaka amano\nescalators\nescape from new york\nescape from tarkov\nescaping\nescaping air bubbles\neschaton\nescher\nescher mc\nescher painting of a lake\nescher style\nescher++\nescherichia coli\nescherichia coli party\nese\nesher\neso armor\nesoteric\nesoteric art\nesoteric clothing\nesoteric equation heaven\nesoteric symbolism\nespeon with a sniper\nespiritus\nespn\nespoo\nesports\nesports logo\nespresso machine\nesrb\nesrb mature\nessence\nessence of street forms\nestablishing\nestablishing action shot\nestablishing atmospheric shot\nestablishing shot\nesteban maroto\nestefania villegas burgos\nesthetic\nesthetic photo\nestrange calligraphy\nesty\nesuthio\net\net in arcadia ego\netc\netched breastplate\netched inscriptions\netched relief\netching\netching illustration\netching render\neterea\neternal\neternal beauty\neternal blessing\neternal city\neternal darkness\neternal eclipse\neternals\neternity\nethan klein\nethan van sciver\nether\netheral\nethereal\nethereal abstract\nethereal and dreamy\nethereal and dreamy theme\nethereal and mecha theme\nethereal and otherworldly\nethereal angelic being of light\nethereal anime\nethereal art deco\nethereal atmosphere\nethereal aura\nethereal aurora spirits\nethereal back light\nethereal background\nethereal beams\nethereal beauty\nethereal blue lighting\nethereal bohemian waxwing bird\nethereal bubbles\nethereal cardinal bird\nethereal curtain\nethereal details\nethereal dreamy light\nethereal eel\nethereal essence\nethereal fairytale\nethereal fantasy\nethereal flowerpunk\nethereal fox\nethereal ghostly atmosphere\nethereal glare of the sun\nethereal glow\nethereal gold and silver tones\nethereal hair\nethereal hologram center\nethereal landscape\nethereal light\nethereal lighting\nethereal lighting - h 640\nethereal lighting colors scheme\nethereal lights\nethereal macaw\nethereal mist\nethereal opalescent mist\nethereal rainbow bubbles\nethereal rainbow nimbus\nethereal rainbows\nethereal realm\nethereal skin\nethereal soft and fuzzy glow\nethereal starlit city at sunset\nethereal vaporous tan skin\nethereal volumetric light\nethereal white dripping tar\nethereal wings\nethereal world\nethereal!!!\nethereal!!! ultra realistic\nethereal!!!!!!!\nethereum\nethereum!!!! logo\netherial\netheric\nethernet cable\nethernet cables\nethics\nethiopian\nethiopian civil war\nethnic\nethnic fantasy\nethnic group\nethnic origin\nethnicity : japanese\nethnographic\nethnography\nethos of ego\netienne - louis boullee style\netienne hebinger\netsuko miura\netsy\netsy stickers\neu\neu flag\neucalyptus\neucalyptus forest background\neucalyptus trees\neuclid class\neugene carriere\neugene de blaas\neugene gottsnake\neugene grasset\neuphoria\neuphoric\neuropa\neuropa universalis iv\neurope\neuropean\neuropean buildings\neuropean dragon\neuropean face\neuropean folklore\neuropean four-legged dragon\neuropean japanese buildings\neuropean palette\neuropean river\neuropean union\neuropean union flag\neuropean woman photograph\neurostar\neva\neva elfie\neva green\neva green and gemma arterton\neva green as metamorpho\neva green is metamorpho\neva unit 0 1\neva unit-00 in the back\nevan lee\nevan rachel wood\nevanescence\nevangeline lilly\nevangelion\nevangelion anime\nevangelion anime poster\nevangelion beast mode\nevangelion concept art\nevangelion style eyes\nevangelion third impact inspired\nevangelionic illustration\nevanna lynch\neve\neve online\neve online movie still\neve ventrue\neve venture\nevelyn\neven a little mouse\neven lighting\neven skin tone\neven surface\nevening\nevening ambience\nevening at dusk\nevening atmosphere\nevening formal robes\nevening lanterns\nevening light\nevening lighting\nevening lights\nevening makeup\nevening mood\nevening news program\nevening sky\nevening starlight\nevening storm\nevening sun\nevening sunlight\nevening sunset\nevening time\nevening!! in the forest\nevenly lit\nevenly spaced\nevent\nevent horizon\nevent photography\neventually\never after high\never created\never-present\neverdimensional\nevergreen\nevergreen branches\nevergreen forest\nevergreen valley\neverlasting\neverlasting summer\neverlight\nevermotion\neveryday plain object\neveryone having fun\neverything\neverything enclosed in a circle\neverything fits on the screen\neverything in a beautiful light\neverything in fire\neverything in focus\neverything is blurred\neverything is burning\neverything is carpet and 3d\neverything is dead\neverything is in balance\neverything is made of candy\neverything is made out of ice\neverything is neat\neverything is on fire\neverything seems abandoned\neverywhere\neverywhere at the end of time\nevidence\nevil\nevil a i\nevil album cover\nevil alchemist gnome\nevil and good\nevil artificial intelligence\nevil atmosphere\nevil aura\nevil baptism\nevil bugs bunny\nevil color scheme\nevil crazy laugh\nevil cult\nevil dark\nevil dead\nevil dead face\nevil death\nevil devious male\nevil energy\nevil expression\nevil eye\nevil eyes\nevil face\nevil faces\nevil fairies\nevil fire sorceress in the woods\nevil fluid\nevil glow\nevil god\nevil godess\nevil grin\nevil guitars\nevil horror vibes\nevil inky swirly ripples\nevil insane smiling laugh\nevil intent\nevil joe biden\nevil knight\nevil lair\nevil laugh\nevil lighting\nevil look\nevil looking\nevil lurks\nevil magic\nevil male sorcerer\nevil mastermind\nevil mood\nevil nanobot\nevil pose\nevil posed\nevil presence\nevil princess\nevil princess of the wasteland\nevil pug\nevil realm magic painting vibes\nevil robot\nevil rock concert\nevil smile\nevil smile and glowing eyes\nevil smile showing fangs\nevil smirk\nevil sorcerer\nevil sorceress\nevil sorceress witch\nevil spirits roam with lanterns\nevil standing smiling pose\nevil steampunk pyromancer woman\nevil symbols\nevil vibe\nevil villain\nevil villain grin\nevil warp energy\nevil wizard\nevil woman\nevil yoda\nevil zombie\nevil. vibrant colors. cute\nevocation\nevocative\nevoker robes\nevokes delight\nevokes feelings of joy\nevolution\nevolution of man\newa juszkiewicz\newan mcgregor\newoks\nex libris\nex machina\nex machina (2014)\nexact anatomy\nexact textures\nexactly 5 fingers\nexagerated accurate details\nexaggerated\nexaggerated accents\nexaggerated body features\nexaggerated detail\nexaggerated detailed\nexaggerated details\nexaggerated expression\nexaggerated facial features\nexaggerated features\nexaggerated lighting\nexaggerated muscle physique\nexaggerated muscles\nexaggerated perspective\nexaggerated physique\nexaggerated proportions\nexaggerated texture\nexaggeratedly large physique\nexalted\nexamining ruins\nexar kun\nexasperated\nexasperated expression\nexcalibur\nexceedingly insanely intricate\nexcel running on the computer\nexcellent\nexcellent 3d render\nexcellent composition\nexcellent contrast\nexcellent detail\nexcellent light and shadows\nexcellent lighting\nexcellent quality\nexcellent textures\nexcellent use of negative space\nexceptional\nexceptional beauty\nexceptional lighting\nexchange logo\nexcited\nexcited expression\nexcited facial expression\nexcited russians\nexcitement\nexciting\nexciting expression\nexciting illustration\nexclusive\nexcrement\nexecutive industry banner\nexhaust smoke\nexhausted\nexhausted face close up\nexhibant\nexhibant au naturel\nexhibit\nexhibited at the british museum\nexhibited in the british museum\nexhibition\nexhibition catalog\nexhibition catalogue\nexhibition display\nexhibition hall lighting\nexhibition of paintings\nexhilarated\nexist\nexistence is pain\nexistential\nexistential dread\nexistential horror\nexit light\nexiting from a wardrobe\nexiting store\nexlibris\nexobiology\nexodus 1 4 : 2 1 & 2 2\nexophilia\nexoplanet\nexoplanet landscape\nexorcist\nexoskeleton\nexoskeleton armor\nexoskeleton power armor\nexoskeletton\nexotic\nexotic alien elon musk\nexotic alien features\nexotic alien flora\nexotic artifact\nexotic artifacts\nexotic costumes\nexotic endless horizon\nexotic expression\nexotic eyes\nexotic fey features\nexotic fish\nexotic flora\nexotic god features\nexotic lily ears\nexotic shorthair cat\nexotic trees\nexotic vegetation\nexotic wonder\nexotropia eyes\nexpanded surrealism\nexpansive\nexpansive cinematic view\nexpansive detailed layered city\nexpansive grand scale\nexpansive view\nexpectation\nexpectation of adventure\nexpensive\nexpensive camera\nexpensive design\nexpensive masterpiece\nexpensive outfit\nexpensive restaurant\nexpensive top quality product\nexpensive visual effects\nexpensive voluminous dress\nexperiment\nexperiment in laboratory\nexperiment in visual art\nexperimental\nexperimental analog photography\nexperimental art\nexperimental film\nexperimental lighting\nexperimental photography\nexperimental studio light\nexperimental supersoldier\nexperimental techniques\nexperimenting\nexperimenting in her science lab\nexperiments\nexpert\nexpert artist\nexpert composition\nexpert design\nexpert figure photography\nexpert high detail concept art\nexpert human proportions\nexpert light effects on figure\nexpert photography\nexpert shading\nexpired black and white film\nexpired burned film from 1930s\nexpired color film\nexpired film\nexpired film analog photography\nexpired film stock\nexplode and chaos\nexploded belly\nexploded parts assembly\nexploded view\nexploded view of human anatomy\nexploded view!!\nexploding\nexploding background\nexploding galaxy\nexploding into dust\nexploding nebula\nexploding nebulae\nexploding planet in background\nexploding powder\nexploding roses\nexploitable image\nexploited\nexploited!!\nexploration\nexplore\nexplorer\nexplorer sketch\nexplorers\nexplorers of the ruins at dusk\nexploring\nexploring abandoned city\nexploring new friendly lands\nexplosion\nexplosion background\nexplosion drawing\nexplosion in background\nexplosion in the background\nexplosion of color\nexplosion of colorful flowers\nexplosion of colors\nexplosion of data fragments\nexplosion of flowers\nexplosion of light\nexplosion of neon lights\nexplosions\nexplosions all around\nexplosions and fire\nexplosions and lasers\nexplosions and purple lasers\nexplosions and smoke\nexplosions in background\nexplosions in the background\nexplosions in the sky\nexplosions of power\nexplosions!\nexplosive\nexplosive background\nexplosive bubbles\nexplosive colors\nexplosive energy\nexplosive entrance\nexplosive lightning spell\nexplosive storm\nexpo-sure 1/800 sec at f/8\nexponential\nexponential distributions\nexposed b & w photography\nexposed b w photography\nexposed back\nexposed bone\nexposed bones\nexposed gold wires\nexposed inner gears\nexposed inner structure\nexposed mechanics\nexposed metal bones\nexposed midriff\nexposed thighs\nexposed thighs!!!\nexposed toes\nexposed torso\nexposed waist\nexposed wires\nexposed wires and gears\nexposed wiring and gears\nexposing screw\nexposure\nexposure 1/200\nexposure 1/40secs\nexposure time : 1 / 5\nexposure time : 1 / 8 0 0\nexposure time : 1 / 800\nexposure time: 1/160\nexposure time: 1/5\nexposure time: 1/60\nexposure time: 1/800\nexposé\nexpresive brush\nexpressing joy\nexpressing joy. by krenz cushart\nexpressing strong emotions\nexpression\nexpressionism movement\nexpressionist\nexpressionist colour\nexpressionist painting\nexpressionistic\nexpressionistic lighting\nexpressions\nexpressive\nexpressive abstractionism\nexpressive and dreadfull\nexpressive and intensive\nexpressive beautiful painting\nexpressive beautiful portrait\nexpressive brush strokes\nexpressive brushstrokes\nexpressive color palette\nexpressive colors\nexpressive digital art\nexpressive digital painting\nexpressive emotional piece\nexpressive emotions\nexpressive eyes\nexpressive eyes!! intricate\nexpressive eyes. symmetry\nexpressive face\nexpressive facial features\nexpressive feminine face\nexpressive happy smug expression\nexpressive impressionist style\nexpressive linework\nexpressive oil painting\nexpressive painting\nexpressive pose\nexpressive poses\nexpressive real eyes\nexpressive rustic oil painting\nexpressive surprised expression\nexpressive!!!!!\nexpressively\nexquisit detail\nexquisit details\nexquisit facial detail\nexquisite\nexquisite and beautiful\nexquisite and handsome wings\nexquisite and smooth detail\nexquisite architecture\nexquisite aristocratic\nexquisite art\nexquisite black accessories\nexquisite corpse\nexquisite creature poster art\nexquisite decoration\nexquisite detail\nexquisite detail huge details\nexquisite detail perfect\nexquisite details\nexquisite digital art\nexquisite digital illustration\nexquisite facial detail\nexquisite fanart\nexquisite fine art\nexquisite fine details\nexquisite floral details\nexquisite handle\nexquisite helmet detail\nexquisite imaginative poster art\nexquisite light\nexquisite lighting\nexquisite lightning\nexquisite line art\nexquisite marble details\nexquisite masterpiece\nexquisite matte painting\nexquisite painting\nexquisite quality\nexquisite rendering\nexquisite warframe fanart\nexquisitely designed throne room\nexquisitely detailed\nexquisitely intricate details\nexquisitely ornate\nextemely detailed\nextemporaneous\nextended art\nextended clip\nextended robotic arms\nexterior\nexterior botanical garden\nexterior design\nexterior of scifi temple\nexterior photo\nexterior photography\nexterior shot\nexterior view\nexterior wide shot\nexteriors\nexterminate monsters\nexterminatus\nexterminatus on earth\nexternal staircases\nextinct species\nextra - details\nextra bacon lettuce and tomato\nextra bacon lettuce and tomatoes\nextra bones\nextra cheese\nextra close-up\nextra crisp\nextra crisp image\nextra detail\nextra detail more details\nextra detailed\nextra detailed body\nextra details\nextra fleshy hands\nextra greasy\nextra hands\nextra high resolution\nextra ketchup\nextra large witch hat\nextra limbs\nextra long hair\nextra onions and ketchup\nextra pickles and onions\nextra realistic details\nextra sharp\nextra short blue plaid skirt\nextra teeth\nextra terrestrial plants\nextra wide\nextra wide angle\nextra-dark natural black hair\nextra-light natural blonde hair\nextradimensional\nextraodinary masterpiece\nextraodinary masterpiece!!!!!!\nextraordinarily detailed woman\nextraordinary\nextraordinary colorful landscape\nextraordinary phenomenon\nextraterrestial\nextraterrestrial\nextraterrestrial paradise\nextraterrestrial plants novel\nextraterrestrials\nextraterrestrials reach for him\nextravagant\nextravagant dress\nextravagant feathered collar\nextravagant matte painting\nextreamly beautiful eyes\nextreamly detailed\nextreamly detailed data center\nextreamly realistic\nextreme\nextreme aesthetic\nextreme angle\nextreme backlighting\nextreme blood\nextreme bokeh\nextreme bokeh foliage\nextreme chromatic aberration\nextreme close - up\nextreme close - up shot\nextreme close shot\nextreme close up\nextreme close up face shot\nextreme close up portrait\nextreme close up shot\nextreme close-up\nextreme closeup\nextreme closeup portrait\nextreme closeup shot\nextreme clutter\nextreme cold\nextreme contrast\nextreme contrast and sharpness\nextreme depth\nextreme depths\nextreme detail\nextreme detail 4 k\nextreme detail 4k\nextreme detail 8 k photo quality\nextreme detail photo quality\nextreme detail resolution\nextreme detail skin\nextreme detailed\nextreme detailed face\nextreme detailed face and body\nextreme detailing\nextreme details\nextreme details perfect face\nextreme drama\nextreme emotion\nextreme face contortion\nextreme facial detail\nextreme far view\nextreme fear\nextreme fisheye\nextreme fisheye lens\nextreme fluffy clouds\nextreme fog\nextreme foreshortening\nextreme gundam\nextreme hand detail\nextreme high detail\nextreme high intricate details\nextreme high quality\nextreme hight detail\nextreme hyper detail\nextreme illustration\nextreme intricate details\nextreme intricate metal details\nextreme lifelike\nextreme light\nextreme log shot\nextreme long shot\nextreme low angle\nextreme low angle long shot\nextreme low angle shot\nextreme motion\nextreme motion blur\nextreme motion blur on people\nextreme muscles\nextreme narrow\nextreme panoramic\nextreme perspective\nextreme photorealism\nextreme pose\nextreme quality\nextreme quality masterpiece\nextreme rage\nextreme realism\nextreme realism and detail\nextreme realistic\nextreme realistic detail\nextreme render\nextreme resolution\nextreme shitty car mods\nextreme sports\nextreme sports photography\nextreme terror\nextreme three point perspective\nextreme view angle\nextreme weather\nextreme wide angle\nextreme wide shot\nextremelly detailed\nextremely\nextremely atmospheric lighting\nextremely beautiful\nextremely beautiful and ethereal\nextremely beautiful face\nextremely beautiful lighting\nextremely bizarre disturbing\nextremely clean\nextremely clean lines\nextremely clear and coherent\nextremely clear faces coherent\nextremely close shot\nextremely coherent\nextremely colorful\nextremely complex\nextremely contrast\nextremely creative\nextremely cute\nextremely cute anime girl face\nextremely dark\nextremely detailed\nextremely detailed + 8k\nextremely detailed 4k\nextremely detailed 8 k\nextremely detailed and coherent\nextremely detailed and intricate\nextremely detailed and lifelike\nextremely detailed and realistic\nextremely detailed and sharp\nextremely detailed art\nextremely detailed artgerm\nextremely detailed beautiful\nextremely detailed blue eyes\nextremely detailed brush\nextremely detailed concept art\nextremely detailed d&d map\nextremely detailed digital art\nextremely detailed eyes\nextremely detailed face\nextremely detailed face!\nextremely detailed faces\nextremely detailed frontal angle\nextremely detailed fur\nextremely detailed furnitures\nextremely detailed giantess shot\nextremely detailed goddess shot\nextremely detailed gorgeous face\nextremely detailed linework\nextremely detailed man\nextremely detailed masterpiece\nextremely detailed oil painting\nextremely detailed oil portrait\nextremely detailed painting\nextremely detailed photo\nextremely detailed photography\nextremely detailed portrait\nextremely detailed raccoon\nextremely detailed rocky crag\nextremely detailed sand\nextremely detailed shading\nextremely detailed water texture\nextremely detailed woman\nextremely detailed!\nextremely detailed!!!\nextremely detailed. 8k\nextremely dramatic\nextremely dramatic lighting\nextremely dynamic person\nextremely emotional\nextremely epic\nextremely even lighting\nextremely fat\nextremely fine details\nextremely fine ink lineart\nextremely fine inking lines\nextremely gendered\nextremely gloomy lighting\nextremely good lighting\nextremely good quality lighting\nextremely grainy\nextremely graphic\nextremely handsome\nextremely happy\nextremely happy raccoons\nextremely high aperture\nextremely high budget\nextremely high contrast\nextremely high contrast!\nextremely high definition\nextremely high definition shot\nextremely high detail\nextremely high detail!!\nextremely high detailed\nextremely high detailed face\nextremely high details\nextremely high fidelity\nextremely high level of detail\nextremely high quality\nextremely high quality artwork\nextremely high quality scan\nextremely high resolution\nextremely high-quality\nextremely highly detailed\nextremely higly detailed\nextremely hot\nextremely human detailed\nextremely hyper - detailed\nextremely hyper detailed\nextremely hyper-detailed\nextremely hyperdetailed\nextremely intricate\nextremely intricate and detailed\nextremely intricate details\nextremely intricate high detail\nextremely life like\nextremely lifelike\nextremely long forehead\nextremely long hair\nextremely long shot\nextremely long thick blond hair\nextremely luminous bright design\nextremely moody\nextremely moody blue lighting\nextremely moody lighting\nextremely moody purple lighting\nextremely muscular\nextremely opulent\nextremely pale\nextremely pale blond hair\nextremely pale white skin\nextremely photorealistic\nextremely plump\nextremely polished\nextremely precise\nextremely psychedelic experience\nextremely realistic\nextremely realistic and detailed\nextremely realistic and real\nextremely realistic face\nextremely realistic faces\nextremely realistic photo\nextremely scary\nextremely sharp detail\nextremely sharp faces\nextremely sharp focus\nextremely sharp lines\nextremely sharply detailed\nextremely strong wind\nextremely symmetrical\nextremely symmetrical!!\nextremely textured\nextremely uncomfortable\nextremely wide angle\nextremely wide angle shot\nextremely windy\nextremely-detailed\nextremly detailed\nextremly detailed objects\nextremly detailed oil painting\nextremly high detail\nextremly high detailed\nextremly high quality\nextremly realistic\nextremy detailed\nexuberant organic elegant forms\nexudes terror\neyardt\neyballs in the walls\neye\neye - contact\neye - level medium - angle shot\neye - level medium shot\neye - level view\neye art\neye bags\neye ball windows\neye catching\neye catching composition\neye closeup\neye color green\neye contact\neye cyberpunk bionics\neye fire\neye fish lens\neye focus\neye glass\neye glasses\neye implants\neye in forehead\neye level\neye level shot\neye level view\neye of a woman\neye of horus\neye of providence\neye of sauron\neye of the beholder\neye of the storm\neye patch\neye patch on one eye\neye patch over left eye\neye patch over one eye\neye piercings\neye reflection\neye reflections\neye relections\neye scar\neye shadow\neye stalks\neye tattoo\neye white). full body realistic\neye white. full body realistic\neye-catching\neye-contact\neyeball\neyeball growing form tree branch\neyeballs\neyeballs bulging\neyeballs in the walls\neyeballs intricated\neyebrow scar\neyebrows\neyecandy\neyeglasses\neyelashes\neyeless\neyeless watcher\neyelevel perspective image\neyelevel!!! view!!! photography\neyelids\neyelids half closed\neyeliner\neyepatch\neyepatches\neyes\neyes = purple\neyes and lips\neyes are colorful spirals\neyes are glowing\neyes are glowing red lightbulbs\neyes are green lights\neyes are large\neyes are multicolored led screen\neyes are rainbow spirals\neyes are yellow\neyes closed\neyes closed or not visible\neyes everywhere\neyes glowing\neyes growing on creature\neyes half closed\neyes in different directions\neyes in forehead\neyes in the bark\neyes in the style of nendoroid\neyes in the trees\neyes light up\neyes like stars\neyes look dead\neyes looking at the camera\neyes made out of macaroni\neyes of corporaptor hominis\neyes open\neyes open in wonder\neyes opened\neyes projected onto visor\neyes realistic\neyes rolled back\neyes shone bright in the night\neyes still visible\neyes wide\neyes wide open\neyes wide opened\neyes with catchlight\neyes!\neyes). full body\neyes). full body realistic\neyes. dark colors\neyes. full body\neyes. full body realistic\neyeshadow\neyesight\neytan zana\neyvind\nez water\nezra stoller\nezreal (league of legends\nezreal league of legends\nf\nf - 9 1 / 1 2 5\nf - stop\nf - zero\nf / 1\nf / 1 1\nf / 1 1 bokeh depth of field\nf / 1 1. 0\nf / 1 6\nf / 1. 2\nf / 1. 2 5\nf / 1. 3\nf / 1. 4\nf / 1. 8\nf / 1. 9 6. 8 1 mm iso 4 0\nf / 2\nf / 2 0\nf / 2 2\nf / 2 4\nf / 2. 2\nf / 2. 5\nf / 2. 8\nf / 2. 8 l canon ef is lens\nf / 3\nf / 3 2\nf / 4\nf / 8\nf 0. 4\nf 1\nf 1 1\nf 1 6\nf 1 8\nf 1 driver charles leclerc\nf 1. 2\nf 1. 3\nf 1. 4\nf 1. 7\nf 1. 8\nf 1. 8 8 5 mm zeiss lens\nf 1. 8 depth of field\nf 1.2\nf 1.4\nf 1.4 kodak portra\nf 1.8\nf 1/3\nf 1/4\nf 2\nf 2 0\nf 2 2\nf 2 4\nf 2. 0\nf 2. 4\nf 2. 8\nf 2. 8 3 5 mm\nf 2. 8 aperture\nf 2. 8 depth of field\nf 2.5\nf 2.8\nf 3 2\nf 3 5\nf 3 5 fighter\nf 3. 4\nf 3. 5\nf 3.5\nf 4\nf 4. 0\nf 5. 8\nf 6 aperture\nf 8\nf 8 aperture\nf 8 apeture\nf zero\nf-22\nf-stop 2.8\nf. 1 4\nf/1.2\nf/1.3\nf/1.4\nf/1.8\nf/1.8 cinematic lens\nf/11\nf/11 aperture\nf/15\nf/16\nf/2\nf/2 8\nf/2.5\nf/2.8\nf/2.8 aperture\nf/2.8l canon ef is lens\nf/22\nf/3.2\nf/3.5\nf/4\nf/4.5\nf/5.6\nf/8\nf/8.0\nf/9\nf/stop\nf1 cars blurred in background\nf1.2\nf1.4\nf1.7\nf1.8\nf1.8 anamorphic\nf1.8 bokeh\nf11\nf11 aperture\nf11:10\nf11:6\nf12\nf16\nf18\nf2\nf2.2\nf2.8\nf2.8 35mm\nf2.8 50mm\nf22\nf22 crisp focus\nf3.2\nf3.5\nf32\nf4\nf4.0\nf4.0 120mm\nf4.5\nf42\nf4”\nf5.6\nf50\nf8\nf8 aperture\nfa\nfa 1 8 hornet replica\nfa-18 hornet\nfaberge\nfabian wagner cinematography\nfable\nfabric\nfabric embroidery\nfabric texture\nfabrics\nfabrics and textiles\nfabrics textiles\nfabry glenn\nfabulous\nfabulous illustrations\nface\nface - up\nface accessories\nface accuracy\nface anatomy\nface and body\nface and body clearly visible\nface and body features\nface and eyes\nface and hand\nface and shoulders\nface and shoulders focus\nface and skin is dark red\nface and upper - body focus\nface and upper body focus\nface anime portrait\nface as of dwayne johnson\nface center close-up\nface centered\nface centered portrait\nface centred\nface clearly visible\nface close - up\nface close up\nface close-up\nface closeup\nface cluse - up\nface covered\nface covered in dirt\nface covered in moths\nface covered in mud\nface covers half of the frame\nface detail\nface detailing\nface details\nface details sharp\nface details!\nface doodles\nface down\nface enhance\nface enhanced\nface enhancement\nface face face\nface features\nface female portrait\nface focus\nface focus!\nface focused\nface forward\nface forwards\nface fully visible\nface high detail\nface icon\nface icon stylized minimalist\nface illuminated\nface in detail\nface in focus\nface in focus 1 8 9 0's\nface in focus 1 8 9 0's liminal\nface in focus 1890s liminal\nface in the clouds\nface in the shadows\nface in water\nface in-frame\nface is\nface is brightly lit\nface is highly detailed\nface is the focus\nface is visible\nface is wrapped in a black scarf\nface like ester exposito\nface like gal gadot\nface like grasshopper\nface like marilyn monroe\nface like monkey\nface line drawing\nface looking skyward\nface macro shot\nface made of notation\nface made out of clouds\nface made out of planet\nface mask\nface melting\nface melting into the universe\nface morph\nface muscles\nface neck shoulders\nface obscured\nface of a alien deity\nface of a man\nface of a pale alien cultist\nface of an armored villian\nface of an human\nface of an lion\nface of an ox\nface of anxiety and longing\nface of emma watson\nface of fear\nface of mad pulcinella\nface on head shot\nface only\nface paint\nface paint around eyes\nface painting\nface partially obscured\nface photo\nface picture\nface piercings\nface portrait\nface portrait of a woman\nface portrait of an elegant\nface profile\nface realistic\nface retouched\nface scars\nface shot\nface show no emotion\nface showing\nface shown\nface sketch\nface study\nface submerged in colorful oils\nface symmetrical\nface symmetry\nface tattoo\nface tattoos\nface to face\nface to face staring\nface turnaround\nface turnaround 3 6 0\nface turnaround 360\nface up\nface variations\nface very realistic\nface visible\nface with artgram\nface with beard\nface with scars\nface with skull mask\nface!!!! close - up\nface-on\nface-on head shot\nfacebook\nfacebook photo\nfacebook post\nfacebook post 2012\nfacebook profile picture\nfaceless\nfaceless human figures\nfaceless people\nfaceless people dark\nfacemask\nfacemask made of flowers\nfacepaint\nfacepaint facepaint facepaint\nfacepalm\nfaces\nfaces and characters\nfaces covered in shadows\nfaces in focus\nfaces look at each other\nfaces of too much caffeine\nfaces only\nfaceted\nfacets\nfacial\nfacial accuracy\nfacial actuary\nfacial beauty\nfacial closeup\nfacial details\nfacial expression\nfacial expressions\nfacial feature symmetry\nfacial features\nfacial features )\nfacial features)\nfacial focus\nfacial hair\nfacial muscles\nfacial piercings\nfacial portrait\nfacial portrait. john oliver\nfacial precision\nfacial retouch\nfacial scar\nfacial structure\nfacial symmetry\nfacial tattoos\nfacial texture\nfacial tribal markings\nfacinating\nfacinating and imposing\nfacing and looking at the viewer\nfacing away\nfacing away from camera\nfacing away from the camera\nfacing camera\nfacing camera directly\nfacing each other\nfacing forward\nfacing front\nfacing left\nfacing off in a duel\nfacing right\nfacing sideways\nfacing the camera\nfacing the viewer\nfacing the woods\nfacing to audience\nfacing worlds map\nfactories\nfactories and nature\nfactorio\nfactory\nfactory background\nfactory floor\nfade\nfaded\nfaded and dusty\nfaded and limited color palette\nfaded background\nfaded chipped paint\nfaded color\nfaded color film\nfaded color palette\nfaded colors\nfaded colours\nfaded drawing\nfaded effect\nfaded fedora\nfaded glow\nfaded hat\nfaded lsd colors\nfaded memories\nfaded out colors\nfaded outline\nfaded parchment\nfaded pink\nfaded red and yelow\nfaded red colors\nfaded worn\nfaded!\nfaded!! very soft lights\nfadedvery soft lights\nfadeev\nfadeev 8 k\nfadeev 8k\nfadeev! 8 k\nfadeev8 k\nfades to the horizon\nfading\nfading away\nfading into the distance\nfading off into the distance\nfading off to the horizon\nfading rainbow light\nfading to dust and leaves\nfae\nfae priestess\nfae teenage girl\nfae wilds sky\nfaeornran\nfaerie\nfaeries\nfaery palace\nfai\nfailed cosmetic surgery\nfailure\nfaint atmospheric lighting\nfaint dust in the air\nfaint dynamic lighting\nfaint feeling of doom\nfaint glow\nfaint light\nfaint red lips\nfaint smile\nfaint smile dark lipstick\nfaint sunrise\nfaint volumetric god rays\nfair\nfair complexion\nfair complexity\nfair curly hair\nfair olive skin\nfair skin\nfair skinned\nfaired skin\nfairground rides\nfairies\nfairies and scissors\nfairies have wings\nfairly muscular\nfairy\nfairy aesthetics\nfairy atmosphere\nfairy cgsociety\nfairy circle\nfairy circles\nfairy dancing\nfairy dust\nfairy dust in the air\nfairy forest\nfairy fruit. octane render\nfairy garden\nfairy kingdom forest\nfairy lights\nfairy look\nfairy magnificent\nfairy palace\nfairy princess\nfairy queen\nfairy tale\nfairy tale illustration\nfairy tale illustrations\nfairy tale place\nfairy tale setting\nfairy tale style background\nfairy tales\nfairy wings\nfairy-tale illustration style\nfairycore\nfairyland\nfairyland bridge\nfairylike\nfairytale\nfairytale animals\nfairytale artwork\nfairytale forest\nfairytale illustration\nfairytale painting\nfairytale style\nfaith\nfaithful\nfaithful cinematic color scheme\nfake\nfake 3d meshes!!\nfake cat ears\nfake caustics\nfake detail\nfake grass\nfake hidden detail\nfake sky\nfake windows\nfaked service ticket\nfaked ticket\nfaked ticket close up\nfalco lombardi from starfox\nfalcon\nfalcon bird face\nfalcon bms\nfall\nfall colors\nfall foliage\nfall guys\nfall leaves\nfall leaves on the floor\nfall of humanity\nfall of rome\nfall of the ancien regime\nfall season\nfall vibrancy\nfall-winter 2015-2016\nfallas party figures\nfallen angel\nfallen angels\nfallen columns\nfallen crown\nfallen god\nfallen kingdom city ruins\nfallen knight\nfallen trees\nfalling\nfalling acid rain\nfalling apart\nfalling buildings\nfalling cherry blossom pedals\nfalling cherry blossoms pedals\nfalling flower petals\nfalling from sky\nfalling hearts\nfalling in love\nfalling leaves\nfalling off a cliff\nfalling out of the face\nfalling petals\nfalling rain\nfalling red petals\nfalling sand inside\nfalling snow\nfalling star on the background\nfalling stars\nfalling water\nfallout\nfallout 3\nfallout 4\nfallout 4 render\nfallout 4 vault boy thumbs up\nfallout 5\nfallout 5 : miami\nfallout 5 official art\nfallout 7 6\nfallout 76\nfallout airplane concept art\nfallout concept art\nfallout environment\nfallout liberty prime\nfallout new vegas\nfallout power armor\nfallout style\nfallout style istanbul\nfalse color\nfalse color star field\nfalse colors\nfalse human features\nfalse teeth\nfalvie\nfame\nfame of thrones\nfamiliar place\nfamilies playing\nfamily\nfamily crest\nfamily dinner\nfamily framed on the wall\nfamily friendly\nfamily guy\nfamily guy style\nfamily photo\nfamily photography\nfamily portrait\nfamine\nfamous\nfamous actors\nfamous actresses\nfamous artist\nfamous chef gordon ramsey\nfamous designer lamp\nfamous face\nfamous illustration\nfamous oil painting\nfamous painting\nfamous photo\nfamous photograph\nfamous scene\nfamous war criminal\nfan art\nfan artwork of mario\nfan bingbing\nfan favorite\nfan ho photography\nfanart\nfanart best artstation\nfanart ”\nfanatec peripherals\nfanbox\nfanciful\nfanciful floral mandelbulb\nfancily decorated flamboyant\nfancy\nfancy apartment\nfancy background\nfancy clothes\nfancy clothing\nfancy clouds\nfancy colors\nfancy drapery on furniture\nfancy dress\nfancy dressing\nfancy flashy hat\nfancy funny hat\nfancy hat\nfancy library\nfancy lighting\nfancy line work\nfancy medieval architecture\nfancy restaurant\nfancy silver dress\nfancy top\nfancy whiskey bottle\nfanfare\nfangs\nfangs and drool\nfangs and slime\nfangs extended\nfanoos\nfanpop\nfans\nfans hals\nfanstasy\nfantasia photo\nfantastic\nfantastic animal\nfantastic anthropology\nfantastic art\nfantastic artstyle\nfantastic artwork\nfantastic background landscape\nfantastic colors\nfantastic composition\nfantastic detailed eyes\nfantastic details\nfantastic details full face\nfantastic details full faces\nfantastic landscape\nfantastic lighting\nfantastic lighting and shading\nfantastic non human character\nfantastic planet\nfantastic reality\nfantastic screenshot art\nfantastic space\nfantastic vendor interior\nfantastic world\nfantastic ， mikecow\nfantastical\nfantastical epic\nfantastical setting\nfantastically beautiful\nfantastically detailed\nfantastically eerie\nfantastically gaudy\nfantastically gaudy colors\nfantastically pastel colors\nfantasty art\nfantasy\nfantasy - n 9\nfantasy 3 d render\nfantasy 3d render\nfantasy 4k\nfantasy acrylic on canvas\nfantasy aesthetic\nfantasy aesthetic!\nfantasy alchemist laboratory\nfantasy and concept art\nfantasy and cosmic horror movie\nfantasy and dreams vibes\nfantasy anime\nfantasy apocalypse\nfantasy apocalypse environment\nfantasy architecture\nfantasy armor\nfantasy art\nfantasy art behance\nfantasy art illustration\nfantasy art landscape\nfantasy art of doom slayer\nfantasy art portrait\nfantasy art smug smile man\nfantasy art station\nfantasy art style\nfantasy artifacts\nfantasy artist\nfantasy artrealistic painting\nfantasy artwork\nfantasy atmosphere\nfantasy atmospheric lighting\nfantasy background\nfantasy bakery\nfantasy bakery interior setting\nfantasy battle\nfantasy battleground\nfantasy beardless dwarf cleric\nfantasy beautiful\nfantasy beekeeper\nfantasy blade\nfantasy blindfold\nfantasy book\nfantasy book cover\nfantasy book cover painting\nfantasy book illustration\nfantasy boss\nfantasy boss battle\nfantasy building\nfantasy capital city\nfantasy card game art\nfantasy cartography\nfantasy castle\nfantasy character\nfantasy character art\nfantasy character concept\nfantasy character design\nfantasy character octane render\nfantasy character photo\nfantasy character portrait\nfantasy characters\nfantasy characture portrait\nfantasy chemistry\nfantasy city\nfantasy city background\nfantasy cityscape\nfantasy classic digital art\nfantasy clothing\nfantasy color palette\nfantasy coloring\nfantasy colors\nfantasy colours\nfantasy comics\nfantasy concept\nfantasy concept art\nfantasy concept art portrait\nfantasy concept painting\nfantasy creature\nfantasy creature concept art\nfantasy creatures\nfantasy cyberpunk\nfantasy cyberpunk horror\nfantasy d & d art\nfantasy d d art\nfantasy d&d\nfantasy d&d character\nfantasy d&d magic item\nfantasy dark art\nfantasy desert crystal island\nfantasy detailing\nfantasy digital art\nfantasy digital painting\nfantasy drawing\nfantasy drawing made of fractals\nfantasy dress\nfantasy duck concept portrait\nfantasy duel\nfantasy dungeon\nfantasy elements\nfantasy environment\nfantasy epic digital art\nfantasy fairytale story\nfantasy flowers and leaves\nfantasy food\nfantasy food world\nfantasy forest\nfantasy forest background\nfantasy forest environment\nfantasy forest landscape\nfantasy forest landscape at day\nfantasy forrest background\nfantasy fox love\nfantasy game\nfantasy game art\nfantasy game art style\nfantasy game spell\nfantasy game spell icon\nfantasy game spell symbol\nfantasy gauntlet of warrior\nfantasy genre\nfantasy genre portrait\nfantasy gorgeous lighting\nfantasy graphic novel style\nfantasy grounds\nfantasy hearthstone art style\nfantasy highly detailed\nfantasy horror\nfantasy horror art\nfantasy house\nfantasy hunter\nfantasy illustration\nfantasy illustrations\nfantasy illustrations cover art\nfantasy infiltrating reality\nfantasy inspired\nfantasy inspired dragon armor\nfantasy italy\nfantasy jungle\nfantasy knight\nfantasy kunst\nfantasy land\nfantasy landscape\nfantasy landscape painting\nfantasy leather clothing\nfantasy lighting\nfantasy list\nfantasy long intricate gown\nfantasy lut\nfantasy mage\nfantasy magic\nfantasy magical vegetation\nfantasy male portrait\nfantasy map\nfantasy maps\nfantasy matte painting\nfantasy matte painting，cute\nfantasy medieval\nfantasy medium shot\nfantasy mmo\nfantasy monster\nfantasy movie\nfantasy movie poster\nfantasy movie still\nfantasy oil\nfantasy oil canvas\nfantasy oil painting\nfantasy otter love\nfantasy outfit\nfantasy overgrown world\nfantasy painterly style\nfantasy painting\nfantasy painting hd\nfantasy paitning\nfantasy paladin\nfantasy paladin woman\nfantasy photography\nfantasy photoshoot\nfantasy plains\nfantasy planet\nfantasy plants\nfantasy pop art\nfantasy portrait\nfantasy portrait art\nfantasy poster\nfantasy potion vendor interior\nfantasy puffy sky\nfantasy races\nfantasy realism\nfantasy realm\nfantasy render\nfantasy robe\nfantasy rpg\nfantasy rpg book illustration\nfantasy rpg symmetrical portrait\nfantasy rpg weapon art\nfantasy scene\nfantasy scenic\nfantasy sci - fi\nfantasy science\nfantasy science fiction\nfantasy scifi\nfantasy scythe\nfantasy sea landscape\nfantasy setting\nfantasy shield\nfantasy skull\nfantasy space\nfantasy sticker illustration\nfantasy still movie\nfantasy style\nfantasy style 8 k octane render\nfantasy style art\nfantasy style clothing\nfantasy surrealism\nfantasy sword\nfantasy sword of warrior\nfantasy tavern background\nfantasy terror\nfantasy theme\nfantasy themed\nfantasy town\nfantasy town setting\nfantasy tree\nfantasy ttrpg\nfantasy ttrpg villain\nfantasy vendor interior\nfantasy vibe\nfantasy vibes\nfantasy victorian art\nfantasy village\nfantasy violin\nfantasy warrior\nfantasy warrior in full armor\nfantasy water color\nfantasy watercolor\nfantasy weapon\nfantasy wolf portrait\nfantasy woman\nfantasy world\nfantasy world concept\nfantasy world map\nfantasy ”\nfantasy!!!\nfantasy-style\nfantasy. gondola boat\nfantasy. intricate\nfantasyconcept art\nfantasycore\nfantasypunk\nfantasy”\nfar\nfar - mid shot\nfar - view\nfar away\nfar away and close camera shots\nfar away dreamy atmosphere\nfar away from camera\nfar away landscape shot\nfar away shot\nfar distance\nfar future\nfar length photography\nfar portrait of john f kennedy\nfar shot\nfar view\nfar!!!!!!! away\nfaraway view\nfarcry\nfargo\nfarid ghanbari\nfaridah malik\nfarm\nfarm background\nfarm field background\nfarm land\nfarmer\nfarmer's market setting\nfarmers market setting\nfarmhouse\nfarming\nfarmland\nfarms\nfarmville\nfaroe\nfaroe island\nfarol da barra\nfarscape\nfarsight xr-20\nfart\nfarwest\nfascinated\nfascinating\nfascinating textures\nfascist\nfascist composition\nfascist police\nfashion\nfashion art\nfashion clothes\nfashion clothing\nfashion color studio lighting\nfashion concept art\nfashion design\nfashion designer\nfashion editorial\nfashion editorial photography\nfashion gameplay screenshot\nfashion icon\nfashion illustration\nfashion magazine\nfashion magazine cover\nfashion magazine editorial\nfashion magazine photography\nfashion magazine style\nfashion magazines\nfashion model\nfashion model face\nfashion model face closed eyes\nfashion model features\nfashion model in sunglasses\nfashion model photography\nfashion model portrait\nfashion model pose\nfashion neon light\nfashion of the future\nfashion of the year\nfashion outfit\nfashion photo\nfashion photo shoot\nfashion photograhy\nfashion photography\nfashion photography portrait\nfashion photography”\nfashion photoshoot\nfashion portrait\nfashion portrait photo\nfashion pose\nfashion posing\nfashion poster\nfashion reference sheet\nfashion runway\nfashion shoot\nfashion shoot 8k\nfashion shooting\nfashion show\nfashion show photo\nfashion show runway\nfashion studio\nfashion studio lighting\nfashion study\nfashion style\nfashion week\nfashion week backstage\nfashionable\nfashionable cyberpunk mechanoid\nfashionable dark witch\nfashionable futuristic woman\nfashionable haircut\nfashionable rpg clothing\nfashionable woman\nfashionista\nfashionweek backstage\nfashwave\nfasionable\nfassbinder\nfast\nfast & furious\nfast action\nfast and furious\nfast energy\nfast food\nfast food review\nfast helmet\nfast movement\nfast paced\nfast paced lines\nfast shutter speed\nfaster\nfat\nfat batman\nfat belly\nfat bird\nfat bugs bunny\nfat cat\nfat cat on desk\nfat cat superhero\nfat chibi grey cat\nfat cloud\nfat dragon\nfat dragon with rider\nfat figure\nfat latin woman dancing\nfat penguin\nfat penguin unity asset\nfat ripped satan\nfat ripped satanic creature\nfat woman\nfata morgana giant mirrors\nfatal\nfate\nfate / stay night\nfate grand order\nfate stay night\nfate zero\nfate/zero\nfather\nfather figure image\nfather holds child in the hand\nfather time\nfather with child\nfatherly\nfatigue\nfault\nfauna\nfauns\nfausto de martini\nfauvism\nfauvism style\nfauvisme\nfauvist\nfaux painting\nfaved\nfaved watched read\nfavela\nfavela honeybee hive\nfavela spaceship cathedral\nfavelas\nfavelas in rio\nfavicon\nfavolaschia - calocera\nfavorite\nfavorite scene\nfaye valentine\nfaye valentine from cowboy bebop\nfayum portrait\nfbi\nfbi raid\nfbx\nfc barcelona\nfear\nfear and anger in their eyes\nfear and loathing in las vegas\nfear anxiety terror\nfear emoji\nfear in empty eyes\nfear inspiring\nfear of death\nfear of god style\nfear of heights\nfear of spiders\nfear or god\nfear steams where instinct fails\nfearful\nfearless\nfearow\nfearsome\nfeast\nfeat of artistic achievement\nfeather\nfeather boa\nfeather earing\nfeather hair\nfeather hair ornaments\nfeather native american headgear\nfeather pen\nfeather suit\nfeather tattoos\nfeather-adorned\nfeathered\nfeathered arrows\nfeathered cavalry\nfeathered eyelashes\nfeathered hair\nfeathered head\nfeathered headdress\nfeathered mouse cavalry\nfeathered robe\nfeathered wings\nfeathers\nfeathers ) wet\nfeathers and paint\nfeathers exotic morphing hoopoe\nfeathers flying\nfeathers growing from arms\nfeathers growing out of skin\nfeathers plumage\nfeathers raining\nfeathers texture overlays\nfeathery fluff\nfeathery red hair\nfeathery wings\nfeature\nfeatured\nfeatured art\nfeatured face details\nfeatured in art magazine\nfeatured in artistation\nfeatured in artscape\nfeatured in artstation\nfeatured in cinematic\nfeatured in deviantart\nfeatured in life magazine\nfeatured in open house magazine\nfeatured in pictoplasma\nfeatured on 9 9 designs\nfeatured on 99designs\nfeatured on amiami\nfeatured on art station\nfeatured on artgerm\nfeatured on artsation\nfeatured on artscape\nfeatured on artstation hd\nfeatured on artstationhq\nfeatured on artstattion\nfeatured on behance masterpiece\nfeatured on conceptartworld\nfeatured on dribbble\nfeatured on ign\nfeatured on illustrationx\nfeatured on vimeo\nfeatured on vogue\nfeatured on z brush\nfeatureless\nfeatures\nfeatures between french\nfeatures intricate detail\nfeaturing brains\nfeaturing engine\nfeaturing flowing fountains\nfeaturing marble fountains\nfeaturing pink brains\nfeaturing rhodium wires\nfeaturing wires\nfebruary\nfebruary)\nfecund\nfederation clothing\nfederico pelat\nfedora\nfedosenko roman\nfeed troughs\nfeedback loop\nfeeding a giraffe\nfeeds on everything\nfeeds on the entire cosmos\nfeel of depth\nfeeling\nfeeling good\nfeeling miserable\nfeeling of despair\nfeeling of disgust\nfeeling of dread\nfeeling of grimdark\nfeeling of grimdark horror\nfeeling of impending doom\nfeeling of mystery\nfeeling of surrender\nfeeling the nature\nfeelings\nfeelings of guilt\nfeels good man\nfeet\nfeet and hands\nfeet art\nfeet art pov\nfeet in water\nfeet on the ground\nfeet posing\nfeimo\nfeisar\nfelicia day\nfelicien rops\nfeline\nfelipe pantone\nfelix englund\nfelix englund style\nfelix kelly\nfelix the cat\nfelix vallotton\nfellini 1977 technicolor\nfellini almodovar john waters\nfelt\nfelt tip pen\nfelt!!! texture\nfelting\nfelttexture\nfelucia landscape\nfemale\nfemale action anime girl\nfemale actress from korea\nfemale alien\nfemale alive\nfemale anatomy\nfemale android\nfemale anime character\nfemale anthropomorphic wolf\nfemale archer\nfemale armor\nfemale art\nfemale ascending\nfemale ascending into the sky\nfemale assassin\nfemale barbarian\nfemale baseball player\nfemale beach volley player\nfemale beauty\nfemale blacksmith\nfemale bodies\nfemale body\nfemale body elements\nfemale calendar\nfemale camila mendes\nfemale character\nfemale character sheet\nfemale cleric\nfemale cowgirl\nfemale cyberpunk\nfemale cyberpunk anime girl\nfemale cyborg\nfemale cyborg black silhouette\nfemale cyborg in data center\nfemale dancer\nfemale death\nfemale death holding a cocktail\nfemale disney villain\nfemale doc savage\nfemale dragonborn\nfemale drow elf\nfemale druid\nfemale dwarven blacksmith\nfemale dwarven noblewoman\nfemale dwarven warrior\nfemale dwarven woman\nfemale earth mage\nfemale elf\nfemale elfling\nfemale emo art student\nfemale explorer mini cute girl\nfemale face\nfemale face and bust\nfemale face features\nfemale face skull phoenix bird\nfemale facial structure\nfemale figure in maxi dress\nfemale floating\nfemale forest archer\nfemale forms\nfemale fox\nfemale full body\nfemale full-skin figure\nfemale furry mini cute style\nfemale fursona\nfemale geisha girl\nfemale gigachad\nfemale gnome artificer\nfemale goddess\nfemale goku\nfemale hairstyles\nfemale head\nfemale human torso\nfemale humanoid creature\nfemale image in shadow\nfemale in office dress\nfemale investigator\nfemale jedi\nfemale knight\nfemale lawyer\nfemale lead character\nfemale lightning genasi\nfemale link and malon kissing\nfemale looking\nfemale lord of change\nfemale lucio\nfemale mad hatter\nfemale made of ice\nfemale mage\nfemale mage conjuring a spell\nfemale mage!\nfemale magician\nfemale marty mcfly\nfemale mecha\nfemale medieval knight\nfemale medusa long hair\nfemale model\nfemale moon knight\nfemale necromancer\nfemale occultist\nfemale orc\nfemale orc forest druid\nfemale outfit\nfemale paladin\nfemale photography\nfemale pirate captain\nfemale portrait\nfemale portrait with flowers\nfemale protagonist\nfemale protagonist 👀 :8\nfemale redhead templar\nfemale revenant\nfemale robot\nfemale rogue\nfemale rouge assassin\nfemale sailor uniforms\nfemale samurai\nfemale sheriff\nfemale spy\nfemale stormtrooper\nfemale streetwear blogger\nfemale superhero proportions\nfemale thief\nfemale troll shaman\nfemale vampire\nfemale vampire knight\nfemale vampire warrior\nfemale viking\nfemale warrior\nfemale with long black hair\nfemale wizard\nfemale-focus\nfemalev beauty\nfemenine body\nfeminine\nfeminine anatomy\nfeminine and muscular\nfeminine beautiful face\nfeminine curves\nfeminine ethereal\nfeminine face\nfeminine facial features\nfeminine features\nfeminine female\nfeminine figure\nfeminine girly dress\nfeminine in cute pastel shades\nfeminine in pastel shades\nfeminine looking\nfeminine portrait\nfeminine proportions\nfeminine shapes\nfeminine slim figure\nfeminism\nfeminism in the 24th century\nfemme\nfemme fatale\nfemme fetal\nfemme on a galactic shore\nfemshep\nfence\nfence line\nfencer\nfences\nfencing\nfender stratocaster\nfendi\nfeng shu\nfeng shui\nfeng zhu\nfeng zhu concept art\nfeng zhu |\nfennec\nfennec ears on top of his head\nfennec fox\nfennec fox animal\nfenrir\nfenway park\nferal\nferal art\nferal body\nferal languid emma roberts\nferal languid woman\nferal scene\nferdinand knab background\nfern\nfernand keller\nfernand khnopff\nfernanda suarez\nfernando guerra\nferns\nferns and mold on concrete\nferocious\nferocious appearance\nferra white mecha\nferrari\nferrari 458\nferrari f 4 0\nferrari f 40\nferrari logo on it's chest\nferrari logo on its chest\nferred - themed robes and hat\nferret in sunglasses\nferret warrior\nferris wheel\nferrofluid\nferrofluid armor\nferrofluid oceans\nferrofluids\nferrofluids in background\nferroluid\nfertile\nfertility\nfess\nfestival\nfestival of rich colors\nfestival vibes\nfestival. scenic view at night\nfestivals\nfestive\nfestive atmosphere\nfestive colors\nfetid\nfetid atmosphere\nfetish\nfetus\nfeudal era japan\nfeudal japan\nfeudal japan art\nfeudal japanese setting\nfever dream\nfew clouds\nfew details\nfew eyeballs\nfew farm green highlights\nfew neon signs\nfew overgrown plants\nfew people\nfew sun rays\nfew tattoos\nfew ultramarine highlights\nfew vivid turquoise highlights\nfew wrinkles\nfey\nfey magical lighting\nfey queen of the summer forest\nfey ruins\nfeywild\nfez video game\nff 7\nffffound\nffxi\nffxiv\nffxiv heavensward\nfhd\nfi\nfibanci background\nfibbonacci\nfiber optic hair\nfiber optic network\nfiber-optics\nfiberglass\nfiberoptic hair\nfiberpunk\nfibonacci\nfibonacci composition\nfibonacci flow\nfibonacci fractals\nfibonacci pattern\nfibonacci rhythm\nfibonacci rhythms\nfibonacci sequence\nfibonacci sequences\nfibonacci volumetric lighting\nfibres trial on the floor\nfiction\nfictitious birds fly\nfield\nfield - blur\nfield background\nfield depth\nfield flowers\nfield journal\nfield journal line art\nfield notes\nfield of depth\nfield of dreams\nfield of fantasy flowers\nfield of flowers\nfield of flowers at night\nfield of flowers background\nfield of grass\nfield of hay\nfield of marijuana\nfield of mixed flowers\nfield of pink flowers\nfield of sunflowers\nfield of view\nfield of wild flowers\nfield on fire\nfield with grass and flowers\nfields\nfields in foreground\nfields of flowers\nfiend folio\nfiendish\nfierce\nfierce - looking\nfierce and wild look\nfierce bearded dwarf\nfierce expression\nfierce expression 4k\nfierce eyes\nfierce huge waves\nfierce look\nfierce medusa\nfiery\nfiery atmosphere\nfiery aura\nfiery background\nfiery battle coloring\nfiery bird\nfiery coloring\nfiery explosion\nfiery eyes\nfiery palette\nfiery particles\nfiery red\nfiery red hair\nfiery red watery eyes\nfiery scorching red eyes\nfiery skull contemplating life\nfiery wings\nfifteen-dimensional\nfifth element\nfig leaves\nfig.1\nfight\nfight battle\nfight club\nfight pose\nfight scene\nfight with strawberries\nfight ww 1\nfighter\nfighter drones\nfighter jet\nfighter jet in flight\nfighter jets\nfighter pilot in the cockpit\nfighter pose\nfighters\nfighting\nfighting a dragon\nfighting a war\nfighting aggression\nfighting art\nfighting darth vader\nfighting demons\nfighting each other\nfighting fantasy\nfighting fantasy army\nfighting fantasy style image\nfighting for his life\nfighting for life\nfighting game\nfighting game character\nfighting in a dark scene\nfighting in world war 2\nfighting monster with magic\nfighting monsters\nfighting pose\nfighting posture\nfighting scene\nfighting stance\nfighting stance energy\nfighting with angles\nfights\nfigma\nfiguratism\nfigurative\nfigurative painting\nfigurative style\nfigure\nfigure drawing\nfigure in center\nfigure in the darkness\nfigure meditating close shot\nfigure photography\nfigure portrait\nfigures\nfigures fighting in the distance\nfigurine\nfigurines\nfiguring\nfiibonacci\nfilaments\nfile photo\nfiligran intricate details\nfiligrane\nfiligree\nfiligree armour\nfiligree border\nfiligree frame\nfiligree intricate details\nfiligree jewellery\nfiligree ornaments\nfilippo brunelleschi\nfill light\nfill light. studio\nfilled with bioluminescence\nfilled with books\nfilled with fauna\nfilled with natural light\nfilled with people\nfilled with plants\nfilled with plants and habitats\nfilled with water\nfilleting technique\nfilling the frame\nfilling with water\nfilm\nfilm art of character design\nfilm artifacts\nfilm atmosphere\nfilm burn\nfilm cam\nfilm camera\nfilm camera style\nfilm capture\nfilm cinematography\nfilm color\nfilm color photography\nfilm concept art\nfilm footage\nfilm frame\nfilm grain\nfilm grain and noise\nfilm grain effect\nfilm key art\nfilm lighting\nfilm look\nfilm movie still\nfilm nior\nfilm noir\nfilm noir jazz bar\nfilm noir lighting\nfilm noir realistic\nfilm noir style\nfilm noire\nfilm noirs\nfilm noirs!\nfilm photo\nfilm photo from 1970s\nfilm photograph\nfilm photography\nfilm photography from 7 0 s\nfilm photography from 70 s\nfilm portrait\nfilm post process\nfilm poster\nfilm production\nfilm promotional still\nfilm quality\nfilm render\nfilm scene\nfilm screenshot\nfilm shooting\nfilm shot\nfilm still\nfilm still dnd\nfilm still dnd movie\nfilm still from 'doctor strange'\nfilm still from 'thor'\nfilm still from 'tomb raider'\nfilm still from a horror movie\nfilm still from an cartoon\nfilm still from avengers endgame\nfilm still from doctor strange\nfilm still from dune 2020\nfilm still from god of war\nfilm still from half-life movie\nfilm still from harry potter\nfilm still from horror movie\nfilm still from movie dune-2021\nfilm still from sin city\nfilm still from star trek\nfilm still from star wars\nfilm still from the avengers\nfilm still from the movie\nfilm still from the office\nfilm still from top gun 1986\nfilm still from'doctor strange'\nfilm still fromdoctor strange\nfilm still of 2b nier automata\nfilm still of barack obama\nfilm still of batman\nfilm still of boba fett\nfilm still of chewbacca\nfilm still of darth vader\nfilm still of emma watson\nfilm still of gal gadot\nfilm still of harley quinn\nfilm still of joe biden\nfilm still of kermit the frog\nfilm still of kim kardashian\nfilm still of luke skywalker\nfilm still of manny pacquiao\nfilm still of ryan reynolds\nfilm still of the joker\nfilm still of voldemort\nfilm still promotional image\nfilm stills\nfilm stock\nfilm strip reel showing 9 frames\nfilm studio\nfilm texture\nfilmatic\nfilmation\nfilmation animation\nfilmed\nfilmed in 7 0 mm\nfilmed in 70 mm\nfilmed in 70mm\nfilmed in the dark woods\nfilmed in the style of john toll\nfilmgrain\nfilmic\nfilmic grain\nfilmic lighting\nfilmic lut\nfilmic render\nfilmic tonemapping\nfilming the titanic sinking\nfilmposter\nfilmpunk\nfilms\nfilmstill\nfilonov\nfilter\nfiltered evening light\nfiltered light\nfilters applied\nfilth\nfilth and grim\nfilthy\nfilthy hair\nfilthy matted fur\nfilthy streets\nfim still\nfinal\nfinal - fantasy\nfinal battle\nfinal boss\nfinal fantasy\nfinal fantasy 1 2 style\nfinal fantasy 1 4\nfinal fantasy 1 4 screenshot\nfinal fantasy 14\nfinal fantasy 14 screenshot\nfinal fantasy 14 sharp\nfinal fantasy 14 style\nfinal fantasy 7\nfinal fantasy artwork concept\nfinal fantasy character\nfinal fantasy face\nfinal fantasy fan art\nfinal fantasy style\nfinal fantasy tactics\nfinal fantasy tactics character\nfinal fantasy vll world concept\nfinal fantasy x\nfinal fantasy xiv\nfinal fantasy xiv: endwalker\nfinal fantsy\nfinal judgement\nfinal render\nfinal result\nfinal-fantasy\nfinale fantasy\nfinally\nfinalrender\nfinalrender:0.8|devfiantart\nfind the hidden object\nfinding nemo\nfinding words\nfine\nfine - art photography\nfine - face\nfine 5 k details\nfine art\nfine art america\nfine art fashion magazine style\nfine art fashion photography\nfine art hyperrealism\nfine art illustration\nfine art museum piece\nfine art oil painting\nfine art painting\nfine art photograph\nfine art photography\nfine art piece\nfine art portrait painting\nfine art portrait photography\nfine art print\nfine art sketch\nfine arts\nfine arts journal cover\nfine artstyle\nfine background proportionate\nfine black ink\nfine body proportionate\nfine brush\nfine brush strokes\nfine brush!!!!!!\nfine bubbles\nfine china\nfine clothing\nfine color lines\nfine confidently\nfine contours of faces\nfine cyborg lace\nfine day\nfine delicate structure\nfine detail\nfine detail anime\nfine detail post processing\nfine detailed\nfine detailed face\nfine detailed features\nfine detailing\nfine details\nfine details 8k octane rendering\nfine details portrait\nfine details. anime\nfine details. anime. skins\nfine details. anime. tentacles\nfine details. girls frontline\nfine details. red\nfine digital art\nfine dining\nfine drawing\nfine dust\nfine edges\nfine face\nfine face features\nfine facial features\nfine facial proportionate\nfine features\nfine fiberglass\nfine filigree foliage lace\nfine film grain\nfine fix broken line\nfine fix duplicate line\nfine foliage lace\nfine grain texture\nfine illustration\nfine image on the store website\nfine inking lines\nfine intricate\nfine lace\nfine line\nfine line art\nfine line detail\nfine line work\nfine lines\nfine lines and graphite\nfine linework\nfine mandelbrot fractal lace\nfine painting\nfine patterns and detail\nfine pen\nfine pen work\nfine point pen\nfine pointy chin\nfine portrait\nfine professional photo\nfine proportionate\nfine sharp high detail\nfine simple delicate structure\nfine skin details\nfine stippled lighting\nfine structure texture\nfine swirling lines\nfine texture\nfine texture detail\nfine texture structure\nfine textures\nfine texutre\nfine tuned\nfine white shirt\nfine wind\nfine workmanship\nfine!!! lines\nfine-art\nfine-art photography\nfine-detailed\nfine-face\nfine-grained\nfineart\nfineartamerica\nfined detail\nfineline detail\nfinelines\nfinely detailed\nfinely detailed angelic face\nfinely detailed car\nfinely detailed eyes\nfinely detailed face features\nfinely detailed facial features\nfinely detailed feature\nfinely detailed features\nfinely detailed furniture\nfinely detailed illustration\nfinely detailed perfect art\nfinely detailed perfect face\nfinely illustrated\nfinely illustrated face\nfinely masked\nfinely painted\nfinely textured\nfinely tuned detail\nfiner details\nfiner details : 3\nfinesse\nfinger\nfinger blend shading\nfinger of god\nfinger painting\nfingerless gloves\nfingerprints on clay\nfingers\nfinished concept art\nfinland\nfinn from adventure time\nfinn wolfhard\nfinnian in grungerock alien sky\nfinnian macmanus\nfinnish cartoon\nfinnish naturalism\nfinnstark\nfins\nfintan magee\nfiona staples\nfiona staples and kinu nishimura\nfiona staples and makoto shinkai\nfiora from league of legends\nfir forest\nfir trees\nfire\nfire & smoke\nfire above head\nfire and ashes\nfire and brimstone\nfire and explosion\nfire and explosions\nfire and flame\nfire and flames\nfire and flames and smoke\nfire and flames mane\nfire and ice\nfire and lava\nfire and smoke\nfire and smoke columns\nfire and water\nfire background\nfire beam\nfire behind him\nfire breathing dragon\nfire breathing geese\nfire breathing. bowser\nfire burst\nfire demon\nfire dragon\nfire dress\nfire elemental\nfire embers\nfire emblem\nfire emblem three houses\nfire escapes\nfire everywhere\nfire explosion in the background\nfire eyes\nfire fight\nfire flames\nfire flaming dragon serpent\nfire flaming serpent\nfire flies\nfire from mouth\nfire from sky\nfire from some windows\nfire giant\nfire goddess\nfire golem creature\nfire hair\nfire in background\nfire in eye\nfire in eyes\nfire in hand\nfire in the background\nfire in the sky\nfire lava\nfire light\nfire lines\nfire lion\nfire lit\nfire mage\nfire magic\nfire on the background\nfire on the horizon\nfire particles\nfire particles in front\nfire pit\nfire place roaring\nfire poi\nfire powers\nfire powers fire swirling\nfire punch\nfire raining\nfire reak real life\nfire red\nfire reflection\nfire smoke\nfire smoke and explosions\nfire sparks\nfire spell\nfire staff\nfire stainglass\nfire storm\nfire tendrils\nfire texture\nfire theme\nfire through eyes\nfire tornado\nfire type\nfire warning label\nfire!! full body\nfirearms\nfirearms photography\nfireball\nfireball hand\nfireball lighting her face\nfireballs\nfirebending\nfirebreathing\nfirebreathing dragon\nfireerstorm\nfirefighter\nfirefighting gear\nfireflies\nfireflies and sparkling wisps\nfireflies around\nfireflies flying\nfireflies flying around\nfireflies flying in the forest\nfireflies glow in the dark\nfireflies glowing\nfireflies in the air\nfireflies!!\nfireflies!!!!\nfirefly\nfirefly forest at night\nfirefly lights\nfirefly trails\nfireflys\nfirelight\nfirelit\nfiremagic\nfireman\nfireman sam\nfirenado\nfireplace\nfireplace lighting\nfirerstorm\nfires\nfires burning everywhere\nfires glow lonely\nfires in background\nfires!! hyperrealistic\nfireshyperrealistic\nfirestorm\nfirewall\nfirewatch\nfirework\nfirework smoke trails\nfireworks\nfireworks in background\nfireworks in the background\nfireworks on the background\nfirey\nfirey environment\nfiring a gun\nfiring it into a building\nfiring laser\nfiring laser rifle\nfiring synapses\nfirm\nfirst - person view\nfirst 4 figures\nfirst aid kit\nfirst contact\nfirst draft\nfirst ever photograph\nfirst human on earth\nfirst light\nfirst love\nfirst person\nfirst person gun\nfirst person perspective\nfirst person point of view\nfirst person pov\nfirst person screenshot\nfirst person shooter\nfirst person shooter game hud\nfirst person view\nfirst person view perspective\nfirst person weapon\nfirst photograph ever taken\nfirst place\nfirst playstation graphics\nfirst world war\nfirst-person\nfirst-person pov\nfirst-person view\nfish\nfish - eye lens\nfish are glowing in the ocean\nfish eye\nfish eye effect\nfish eye lens\nfish eye lense\nfish eye view\nfish face\nfish flocks\nfish flying over head\nfish hooks\nfish in the background\nfish lens\nfish lense\nfish made of pancake\nfish man\nfish market\nfish market stalls\nfish net leggings\nfish net stockings\nfish scales\nfish seafood markets\nfish shoal\nfish skin\nfish squid and jellyfish\nfish swimming\nfish swimming around\nfish tail\nfish tank\nfish-eye\nfish-eye lens\nfish-eye lense\nfishbones\nfishcore\nfisher price\nfisher price guillotine\nfisher price public pool\nfisher price redwood forest\nfisherman\nfisherman's hat\nfishermans hat\nfishes\nfishes floating in bedroom\nfishes swimming\nfisheye\nfisheye 4\nfisheye camera\nfisheye effect\nfisheye lens\nfisheye lens photo\nfisheye lens photography\nfisheye lens!!!\nfisheye lense\nfisheye perspective\nfisheye photo\nfisheye portrait\nfisheye view\nfisheye!!!\nfisheye!!! lens\nfisheye!!!!! lens\nfisheye!!!!! lens photography\nfisheye!!!!! lens!!!!!\nfisheye!!!!!! lens\nfisheyelens\nfishing\nfishing boat\nfishing boats\nfishing pole\nfishing town\nfishing village\nfishlike\nfishmen\nfishnet\nfishnet clothes\nfishnet corset with choker\nfishnet stockings\nfishnet tights\nfishnets\nfishnets and a long tartan skirt\nfishnets pantyhose\nfishnets stockings\nfishpeople\nfissures\nfist fight\nfist of the north star\nfist training\nfistfight\nfistfighting\nfistfighting demons\nfisting\nfisting monk\nfists in the air\nfit\nfit body\nfit build\nfit curvy physique\nfit dainty figure\nfit girl\nfit male demon with white horns\nfit physique\nfit pic\nfit woman\nfitness\nfitness model\nfitzgerald\nfive elegant fingers\nfive fingers\nfive fingers on the hand\nfive foot bat in the philippines\nfive nights at freddy's\nfive nights at freddys\nfive nights at freddy’s\nfive o clock shadow\nfive o' clock shadow\nfive planets\nfive points of articulation\nfive score years ago\nfive star oil on canvas\nfive star stories\nfive-dimensional\nfivestarstory style\nfix duplicate content!\nfixed eyes\nfixing a leaking sink\nfjord\nfjords\nfjords in background\nflabbergasted\nflag\nflag in hands\nflag in hands up\nflag in his right hand\nflags\nflags of argentina behind\nflagstones\nflailing\nflamboyant\nflamboyant clothes\nflame\nflame and fire\nflame colors bright\nflame conjuring\nflame conjuring armored\nflame everywhere\nflame ferns\nflame fractal\nflame in the fur\nflame shrubs\nflame spell\nflame stones are scattered\nflame thrower\nflame vortex\nflames\nflames alongside the road\nflames and smoke in background\nflames are burning behind obama\nflames around body\nflames everywhere\nflames from the ground\nflames in background\nflames in the background\nflames of fire at background\nflames surround her\nflamethrower\nflaming\nflaming background\nflaming eyes\nflaming grim reaper\nflaming hair\nflaming heart\nflaming katana\nflaming leaves\nflaming mountain\nflaming skull\nflaming sword\nflaming torches and pitchforks\nflamingo\nflamingoes\nflamingos\nflan\nflanders\nflannel\nflannel flower\nflapper\nflare\nflared japanese black tile roof\nflares\nflares anamorphic\nflaring gills\nflaring gills and baleen\nflash\nflash animation\nflash at noon\nflash color polaroid\nflash enabled\nflash explosions\nflash fill\nflash gordon\nflash image\nflash light\nflash lighting\nflash lights\nflash on\nflash on camera\nflash photo\nflash photograph\nflash photography\nflash photography 4 k hdr\nflash photography at night\nflash polaroid photo\nflash sheet\nflash studio\nflash vs sonic\nflashes\nflashing\nflashing concert lights\nflashing eyes\nflashing lights\nflashing neon lights\nflashlight\nflashlight lighting\nflashlight on\nflashy\nflashy flash elegant\nflashy modern background\nflashy red lights\nflasks\nflasks in hands\nflat\nflat - color\nflat 2 d\nflat 2 d design\nflat 2 d vector art\nflat 2d\nflat 2d design\nflat 2d vector art\nflat anime style\nflat anime style shading\nflat art\nflat background\nflat bold color\nflat brush\nflat brush strokes\nflat cel shaded\nflat cel shading mucha\nflat cell shading\nflat chest\nflat chested\nflat color\nflat color and line\nflat coloring\nflat colors\nflat colors and strokes\nflat colour\nflat colour-block style\nflat colours\nflat curves\nflat desert\nflat design\nflat drawing\nflat earth\nflat earth theory\nflat face\nflat graphic design\nflat graphic style\nflat grey\nflat grey background\nflat grey color\nflat icon\nflat illustration\nflat image\nflat ironed hair\nflat lay\nflat light\nflat lighting\nflat linework\nflat matte art\nflat matte painting\nflat metal antenna\nflat metal hinges\nflat minimalistic\nflat mucha\nflat natural tones\nflat neutral tone\nflat paint\nflat painting\nflat pancake head\nflat panels\nflat pastel colors\nflat perspective\nflat roads\nflat shading\nflat shading mucha\nflat shaped chrome relief\nflat shaped stone relief\nflat style\nflat surface\nflat surreal design\nflat surreal psychedelic colors\nflat synthwave art style\nflat texture\nflat tone\nflat top haircut\nflat triangle - shaped head\nflat triangles\nflat vector\nflat vector art\nflat vector art background\nflat vector graphic\nflat vibrant colors\nflat wastelands\nflat water color texture\nflat!!\nflatlay\nflatlay book collection\nflattened\nflattering hair\nflattering photo\nflaunting his wealth\nflawless\nflawless beauty\nflawless completion\nflawless composition\nflawless epidermis\nflawless face\nflawless features\nflawless olive skin\nflawless skin\nflawless structure\nflax\nflcl\nflcl + golgo 13 :10\nflcl cover\nfleeing merchants\nfleeting\nfleeting dream\nfleks\nflemish baroque\nflemish painting\nflesh\nflesh + technology\nflesh - eating\nflesh - tone color palette\nflesh and blood\nflesh and bones\nflesh and metal\nflesh blob\nflesh buildings\nflesh eating worms\nflesh highly baroque ornate\nflesh ornate\nflesh texture\nflesh with technology\nflesh!\nfleshscape\nfleshy\nfleshy - cyborg - zombie\nfleshy - surfaces\nfleshy bones\nfleshy botanical\nfleshy creature above her mouth\nfleshy figures\nfleshy musculature\nfleshy person with extra limbs\nfleshy skeletal\nfleshy skeletal body\nfleurfurr\nflex\nflex box position\nflexible character code\nflexing\nflexing large muscles\nflexiseal\nflickering\nflickering air\nflickering fluorecent lights\nflickering fluorescent lights\nflickering light\nflickering lights\nflickr\nflickr explore\nflickr explore 5 0 mm\nflickr photography\nflies\nflight\nflight squadron insignia\nflight suit\nflight suit and gloves\nflikr\nflim\nflintlock fantasy capital city\nflip flops\nflipped out hair\nflirtatious\nflirtatious and intrigued\nflirting\nflirting expression\nflirting smiling\nflirty\nflirty anime witch casting magic\nflitting around in the sky\nfloat\nfloat under moon light at night\nfloathing underwater in a lake\nfloating\nfloating across the cosmic ocean\nfloating alone\nfloating among stars\nfloating and flying island\nfloating away\nfloating beside planets\nfloating bodies\nfloating bouquets\nfloating bubbles\nfloating buildings\nfloating candles\nfloating cars\nfloating chinese lampoons\nfloating city\nfloating city in the sky\nfloating city on clouds\nfloating crown\nfloating crystals\nfloating detailes\nfloating drowned\nfloating dust\nfloating dust particles\nfloating embers\nfloating ghost\nfloating goldfish\nfloating graphics\nfloating headsets\nfloating in a cosmic nebula\nfloating in a misty daze\nfloating in a nebula\nfloating in a powerful zen state\nfloating in air\nfloating in deep space\nfloating in empty space\nfloating in mid - air\nfloating in mist\nfloating in outer space\nfloating in perfume\nfloating in smoke\nfloating in space\nfloating in the air\nfloating in the cosmos nebula\nfloating in the desert night\nfloating in the ocean\nfloating in the sky\nfloating in the universe\nfloating in water\nfloating in zero gravity\nfloating into the sky\nfloating island\nfloating island in the sky\nfloating islands\nfloating kelp\nfloating koi fish\nfloating lampoons\nfloating lands in-clouds\nfloating lanterns\nfloating lights\nfloating liquid\nfloating long hair\nfloating magical rocks\nfloating metallic objects\nfloating molecules\nfloating monitors\nfloating mountains\nfloating objects\nfloating on space\nfloating on the ocean\nfloating over a city sidewalk\nfloating palace\nfloating particle effects\nfloating particles\nfloating pieces\nfloating planets\nfloating planets and moons\nfloating power cables\nfloating robes\nfloating rocks\nfloating runes\nfloating sigils\nfloating skyscrapers\nfloating spellbook\nfloating spheres and shapes\nfloating spiral sand\nfloating stones\nfloating symbols\nfloating symbols and crystals\nfloating through space\nfloating translucent graphics\nfloating trees\nfloating under water\nfloating vehicles\nfloating vr headsets\nfloating waterfalls\nfloating world\nfloating!!! in a nebula\nfloating. greenish blue\nfloatiung in front of a nebula\nfloats carnival\nfloats in space\nfloats underwater in the sea\nflock of birds\nfloeers in hair\nfloggers\nflood\nflood lighting\nflooded\nflooded ancient tower\nflooded city\nflooded fishing village\nflooded ground\nflooded old wooden city street\nflooded station\nflooded swamp\nflooded tower\nflooding\nfloodlight\nfloodplains\nfloods\nflooko\nfloor\nfloor - to - ceiling windows\nfloor b2\nfloor flooded\nfloor fog\nfloor grills\nfloor lamps\nfloor plan\nfloor plan view\nfloor texture\nfloor tiles\nfloor to ceiling window\nfloorplan\nfloors\nfloppy disk eyes\nfloppy ears\nflora\nflora and fauna\nflora borsi\nflora world\nflora-lush-crater\nfloral\nfloral art nouveau dress\nfloral art novuea dress\nfloral background\nfloral bling\nfloral clothes\nfloral clothes ”\nfloral couture\nfloral crown\nfloral design\nfloral details\nfloral dream\nfloral embroidery\nfloral environment\nfloral explosion\nfloral flowers colorful\nfloral growth\nfloral headdress\nfloral headpiece\nfloral jungle treehouse\nfloral lacework\nfloral motives\nfloral ornaments\nfloral painted backdrop\nfloral pattern\nfloral patterned skin\nfloral renewal\nfloral splash painting\nfloral sunset\nfloral tattoos\nfloral wallpaper\nfloral!\nfloral! intricate\nfloralintricate\nfloralpunk\nfloralpunk elysian maiden\nfloreal\nflorence\nflorence harrison\nflorence nightingale\nflorence pugh\nflorentine school\nflorescent lighting\nflorida\nflorida man\nfloro details\nflour dust\nflour dust flying\nflour dust spray\nflourescent colors\nflourescent spot lights\nflourishing nature\nflow\nflow everywhere\nflow shapes\nflow visualization\nflower\nflower artworks society\nflower background\nflower blossoms\nflower buds\nflower butterfly vest\nflower child\nflower crown\nflower decorations\nflower dress\nflower elements\nflower explosion\nflower face\nflower field\nflower fields\nflower frame\nflower garden\nflower garden summer morning\nflower goddess\nflower head\nflower in hair\nflower in her hair\nflower mask\nflower meadow\nflower motif\nflower of life\nflower petals\nflower pop art\nflower pots\nflower power\nflower power motifs\nflower queen\nflower sepals forming helmet\nflower shaman\nflower shop scene\nflower storm portrait\nflower tiara\nflowerbeds\nflowercore\nflowerfield\nflowering buds\nflowering pineapples\nflowering pineapples and orchids\nflowering vines\nflowerpunk\nflowers\nflowers and blossoms\nflowers and butterflies\nflowers and foliage\nflowers and gold\nflowers and plants\nflowers and stems\nflowers and trees\nflowers and vines\nflowers and waterfalls\nflowers around\nflowers background\nflowers blooming\nflowers covering eyes\nflowers everywhere\nflowers exploding and spraying\nflowers garden\nflowers grow from the body\nflowers growing out of his body\nflowers growing out of its head\nflowers in a flower bed\nflowers in background\nflowers in foreground\nflowers in hair\nflowers in her dark hair\nflowers inside of a marble\nflowers on hair\nflowers on heir cheeks\nflowers rain everywhere\nflowers sea everywhere\nflowers sea rainning everywhere\nflowers with intricate detail\nflowers with very long petals\nflowers!!!!\nflowers. baroque elements\nflowery\nflowery cottage\nflowery dress\nflowery wallpaper\nflowey\nflowing\nflowing aqua silk\nflowing backlit hair\nflowing black gown\nflowing black hair\nflowing blonde hair\nflowing blood red colored silk\nflowing blood-red colored silk\nflowing blue hair\nflowing blue skirt\nflowing book pages\nflowing brush strokes\nflowing cape\nflowing clear water creek bed\nflowing cloth and smoke\nflowing curves\nflowing dress\nflowing energy\nflowing fabric\nflowing forms\nflowing fur\nflowing ginger hair\nflowing glowing hair\nflowing golden scarf\nflowing gown\nflowing hair\nflowing hair and long robes\nflowing hills\nflowing lava\nflowing lava and ash piles\nflowing lettering\nflowing lines\nflowing long hair\nflowing magical flesh robe\nflowing magical robe\nflowing mane\nflowing mane and tail\nflowing massive hair\nflowing material\nflowing milk\nflowing mucus\nflowing neon-colored silk\nflowing pink hair\nflowing pink-colored silk\nflowing purple hair\nflowing realistic fabric\nflowing red hair\nflowing rhythms\nflowing robe\nflowing robes\nflowing robes and leather armor\nflowing sakura silk\nflowing sakura-colored silk\nflowing salmon-colored silk\nflowing shimmering fabrics\nflowing silk sheets\nflowing silver hair\nflowing teal-colored silk\nflowing tendrils\nflowing water\nflowing white dress\nflowing white hair\nflowing white robes\nflowing wires with leaves\nflowing with dark power\nflowstatepaint\nflowy\nflowy golden hair\nflowy hair\nflowy hair standing on a rock\nflowy white grey hair\nflowy yellow golden hair\nfluent composition\nfluff\nfluffly\nfluffly!!!\nfluffy\nfluffy bangs\nfluffy body\nfluffy cat\nfluffy cat t - shirt design\nfluffy chest\nfluffy clouds\nfluffy ears\nfluffy ears and a long\nfluffy ebay product\nfluffy face\nfluffy fluffy fur\nfluffy fox ears\nfluffy full of light\nfluffy fur\nfluffy green belly\nfluffy hair\nfluffy mane\nfluffy neck\nfluffy orange skin\nfluffy pastel clouds\nfluffy pink anime clouds\nfluffy tail\nfluffy white clouds\nfluffy white fur\nfluffy!!!\nfluffy''\nfluid\nfluid acrylic\nfluid acrylic pour art\nfluid and dynamic forms\nfluid bag\nfluid coloured smoke\nfluid dynamics\nfluid electricity\nfluid energy\nfluid lines\nfluid sim\nfluid simulation\nfluid simulation in houdini\nfluid smoke art\nfluidity\nfluids\nflume\nflume cover art\nfluo colors\nfluo details\nfluorescent\nfluorescent ceiling lights\nfluorescent colors\nfluorescent colours\nfluorescent lamp\nfluorescent led\nfluorescent light\nfluorescent lighting\nfluorescent lights\nfluorescent lights from ceiling\nfluorescent mushrooms\nfluorescent pink face paint\nfluorescent skin\nfluorescent spots\nflushed cheeks\nflushed face\nflux\nflux. fantasy\nflux. high fantasy\nfly\nflying\nflying above a tropical forest\nflying above the clouds\nflying across the universe\nflying aircrafts\nflying airships\nflying angels\nflying anime esper\nflying around the bird\nflying arrows\nflying bats\nflying beetles\nflying birds\nflying birds in distance\nflying birds in the distance\nflying black marble balls\nflying books\nflying buttresses\nflying car\nflying cars\nflying castle\nflying citadel with towers\nflying cloud castle\nflying cow\nflying creatures\nflying debris\nflying dragon\nflying dragons\nflying drones\nflying dust particles\nflying elephant\nflying emergency vehicles\nflying fairies\nflying giant animals\nflying hair\nflying in formation\nflying in sky\nflying in space\nflying in the air\nflying in the air over city\nflying in the clouds\nflying in the sky\nflying into the sky\nflying island\nflying island in the sky\nflying islands\nflying leaves on backround\nflying machinery\nflying machines\nflying magic books\nflying mud\nflying mythical beasts\nflying on the broom\nflying over a city\nflying over a red sea\nflying over dark gotham\nflying over the horizon\nflying over the ocean\nflying particles\nflying pig\nflying rituals\nflying rocky island\nflying saucer\nflying saucer in the sky\nflying saucers\nflying scarlet phoenix\nflying scifi vehicle\nflying screw\nflying ships\nflying ships in the background\nflying shot\nflying soccer balls\nflying souls\nflying spaceships\nflying spaceships in background\nflying spaghetti monster\nflying through sky\nflying through space\nflying through sunset\nflying through the air\nflying through the clouds\nflying through the sky\nflying through time\nflying toasters in heaven\nflying towards the camera\nflying trees and park items\nflying vehicles\nflying whale\nflying whales\nfnaf\nfoam\nfoamy bubbles\nfoamy waves\nfocal depth\nfocal length\nfocal length : 1 8. 0 mm\nfocal length : 2 0 0. 0 mm\nfocal length : 200. 0 mm\nfocal length : 3 6 mm\nfocal length : 5 0 mm\nfocal length : 50 mm\nfocal length : 8 5. 0 mm\nfocal length : 85. 0 mm\nfocal length: 160.0 mm\nfocal length: 18.0 mm\nfocal length: 35mm\nfocal length: 46.0 mm\nfocal length: 50mm\nfocal length: 85.0 mm\nfocal point\nfocus\nfocus and ( gaussian blur )\nfocus close on detesting eyes\nfocus close on dreaming eyes\nfocus close on mischievous eyes\nfocus detailed\nfocus eyes\nfocus face\nfocus gate\nfocus her back\nfocus illustration\nfocus in the foreground\nfocus mode\nfocus on anti-g flight suit\nfocus on art nouveau suit\nfocus on card\nfocus on darth vader\nfocus on droplets\nfocus on face\nfocus on face and facial details\nfocus on facial - detail\nfocus on facial - detail!!!!!!\nfocus on facial detail\nfocus on facial details\nfocus on facial features\nfocus on fearful model\nfocus on full - body\nfocus on generate the face\nfocus on giant tortoise\nfocus on girl\nfocus on girl model\nfocus on head\nfocus on her face\nfocus on his foot\nfocus on iris\nfocus on map\nfocus on model\nfocus on pursed lips\nfocus on smile\nfocus on sneakers only\nfocus on the elephant\nfocus on the face\nfocus on the foreground\nfocus on the moon\nfocus on the musicians\nfocus on the object\nfocus on the sky\nfocus on torso\nfocus on two androids\nfocus render\nfocus shot\nfocus stacked\nfocus stacking\nfocus unfocus\nfocus unreal engine 5\nfocus-stacked\nfocused\nfocused amber eyes\nfocused expression\nfocused eyes\nfocused face\nfocused gaze\nfocused light\nfocused macro photography\nfocused on her neck\nfocused on neck\nfocused photo\nfocused shot\nfocused stare\nfocusing\nfog\nfog and dirt\nfog and dust\nfog and mist\nfog and rain\nfog and starry skies\nfog and swans over the river\nfog atmosphere\nfog background\nfog bionic vogue\nfog dramatic\nfog filled\nfog fills the area\nfog golden hour\nfog in background\nfog in the background\nfog machine\nfog mads berg\nfog mist smoke\nfog obscures the background\nfog of war\nfog on ground\nfog on the ground\nfog on the water\nfog rolling in\nfog storm\nfog volume\nfog volumes\nfog!\nfog!!!\nfog. 3 d\nfog. by greg rutkowski\nfoggy\nfoggy ambience\nfoggy and atmospheric\nfoggy and dark\nfoggy area\nfoggy at dawn\nfoggy atmosphere\nfoggy backgeound\nfoggy background\nfoggy dark\nfoggy dark graveyard\nfoggy day\nfoggy day outside\nfoggy dystopian world\nfoggy effect\nfoggy environment\nfoggy evening\nfoggy forest\nfoggy forest at night\nfoggy forrest backdrop\nfoggy heavy rain\nfoggy jungle\nfoggy jungle in the background\nfoggy landscape\nfoggy light from fires\nfoggy lights\nfoggy mist\nfoggy mood\nfoggy morning\nfoggy morning light\nfoggy neon night\nfoggy night\nfoggy night sky\nfoggy photo 8 k\nfoggy photo 8k\nfoggy rainy day\nfoggy room\nfoggy sky\nfoggy sunset\nfoggy swamp\nfoggy twilight lighting\nfoggy volumetric light morning\nfoggy volumetric lighting\nfoggy water\nfoggy weather\nfoggy weather atmosphere\nfoggy wheat field\nfoggy!\nfogy\nfoil\nfoil effect\nfolded\nfolded arms\nfolded geometry\nfolding - time\nfolds\nfolds of belly flab\nfolds of fabric\nfoliage\nfoliage clothing\nfolk\nfolk horror\nfolk medicine\nfolklore\nfolkloric illustration\nfolklorico\nfollow shot\nfollows the golden ratio\nfond memories\nfont\nfontawesome style\nfonte à la cire perdue\nfood\nfood advertisement\nfood and consumerism\nfood art\nfood blog\nfood blog photo\nfood commercial 4 k\nfood court\nfood court in a mall\nfood focus\nfood head\nfood network\nfood particles\nfood photo\nfood photograph\nfood photography\nfood photography 4 k\nfood photography gourmet\nfood photography”\nfood pov\nfood stall\nfood stalls\nfood styling\nfood stylist\nfood. craft and adventure\nfoodphoto\nfoodporn\nfool\nfool and pixel jeff\nfoolish\nfoot\nfoot path\nfoot wraps\nfootage\nfootage from space camera\nfootage of a theater stage\nfootball\nfootball armor\nfootball hooligans\nfootball mascot\nfootball player\nfootball players butkus\nfootbridges between houses\nfootprints\nfootprints in the sand\nfootsteps in the snow\nfor 1 9 7 0 s'sci - fi\nfor 1970 ssci - fi\nfor a beautiful\nfor a catalogue\nfor aaa game\nfor displaying recipes\nfor gq\nfor hire 3d artist\nfor honor charector concept art\nfor junior\nfor kids\nfor pokemon red and blue\nfor printing\nfor ps5\nfor the highschool yearbook\nfor vogue\nforbearing\nforbidden\nforbidden - knowledge\nforbidden beauty\nforbidden city\nforbidden creepy mood\nforbidden information\nforbidden knowledge\nforbidden planet\nforbidden planet 1 9 5 6\nforbidden planet 1956\nforbidden tree\nforbidding\nforbidding spirit\nforbidding spirit!!\nforboding\nforce\nforced perspective\nforced witness\nforcefield\nforcing him to flee\nforcing you to buy skyrim\nford\nford f-150 raptor\nford fusion\nford model t\nforearm tattoo\nforeboding\nforeboding and eerie lighting\nforeboding and epic\nforeboding atmosphere\nforeboding background\nforeboding room\nforeboding sea\nforeground\nforeground background\nforeground focus\nforeground/background\nforehead jewelry\nforehead only\nforeign landscape\nforelight\nforesee\nforeseeing the future\nforeshortened perspective\nforeshortening\nforeshortening photography\nforest\nforest and fear\nforest and moon\nforest and river\nforest and waterfall\nforest at night\nforest backdrop\nforest background\nforest city streets behind her\nforest clearing\nforest clearing landscape\nforest colors\nforest details\nforest drawing elegant\nforest dryad\nforest elf bard playing lute\nforest environment\nforest fae\nforest fairy\nforest fire\nforest fires in the distance\nforest floor\nforest green\nforest gump tomato body\nforest hunter lady\nforest in background\nforest in the background\nforest in the distance\nforest in the morning light\nforest landscape\nforest light\nforest made out of mushroom\nforest of neckties\nforest on background\nforest on the horizont\nforest outside\nforest path\nforest picnic\nforest pink fog planet\nforest plains of north yorkshire\nforest plains of yorkshire\nforest portal\nforest punk\nforest ray light\nforest ritual\nforest scene\nforest scenery\nforest setting\nforest setting in iceland\nforest setting with skyscrapers\nforest soul\nforest spirit\nforest style studio shot\nforest theme\nforest themed\nforest trail\nforest trees\nforest with flowers blue\nforest with lake\nforest with trees with faces\nforest. white trees\nforested\nforested background\nforesthour\nforestpunk\nforestpunk background\nforestry\nforests\nforests. map-style skyrim\nforge\nforged\nforges\nforgetful\nforgetfulness\nforgiveness\nforgotten\nforgotten and lost in the forest\nforgotten realms\nforgotten valley\nforhonorgame\nfork\nfork fork\nfork fork fork\nfork lightning\nforked snake tongue sticking out\nforks\nforlorn\nform\nform and shape exploration\nform exploration\nformal\nformal attire\nformal black suit. detailed\nformal business suit\nformal gardens\nformal portrait\nformal portrait of don quixote\nformal suit\nformal wear\nformalism\nformer\nformer gasometer in rome\nformian pathfinder\nforming a burning hand spell\nforming a heart with their necks\nformless brests\nformline\nforms\nformula 1\nformula 1 garage\nformula one car\nformulae\nformulas\nfornite\nfornite game. octane render\nforrest\nforrest background\nforrest in background\nforrest in the background\nforsaken crocodile god\nforsaken spirits\nforshortening\nfortninte\nfortnite\nfortnite art style\nfortnite character\nfortnite skin\nfortnite style\nfortress\nfortress gateway\nfortress mega structure city\nfortresses\nfortunato depero painting style\nfortune teller\nforward angle\nforward facing\nforward facing angle\nforward facing pose\nforward lighting\nforwards facing\nforza\nfossil\nfossil of yoda\nfossil ornaments\nfoster\nfoster and partners\nfosters\nfoto\nfoto realista\nfoto realistic\nfotografia\nfotografia blanco y negro\nfotorealism\nfotorealistic\nfotoscape\nfound doodled in a sketchbook\nfound film\nfound footage\nfound footage horror\nfound footage style\nfound footage video\nfound in a cave made of clay\nfound in space\nfound in the ruins of pompeii\nfound objects\nfound on a volcano\nfound on google street view\nfound papers\nfound polaroid photo\nfound schematic in a notebook\nfound scribbled in a notebook\nfound written in a notebook\nfoundation\nfoundry vtt\nfountain\nfountain in the middle\nfountain of water\nfountain of youth\nfountain pen\nfountains\nfountains and arches\nfour\nfour arms\nfour faces in one creature\nfour fingers maximum\nfour hands\nfour horsemen of the apocalypse\nfour humanoid bears\nfour leaf clover\nfour legged\nfour legs\nfour seasons\nfour stories high\nfour wings\nfour years old\nfour-dimensional\nfourteen-dimensional\nfourth dimension\nfourth of july\nfourze\nfov 9 0 degrees\nfov 90 degrees\nfox\nfox animal\nfox as a monkey\nfox carving art\nfox ears\nfox ears illustration\nfox flying through landscape\nfox from league of legends chibi\nfox in a lab coat\nfox legs\nfox mccloud\nfox news\nfox nobushi\nfox nobushi holding a naginata\nfox people\nfox scientist\nfox tail\nfox wearing a tiara\nfoxes\nfoxes and deer\nfoxes playing in a meadow\nfoxgirl\nfoxish guy in a lab coat\nfoxy\nfozen ice hard edges\nfps\nfps game\nfps game concept\nfps game concept art\nfps shooter game\nfps view\nfpv\nfra\nfractal\nfractal 3 d structure\nfractal 3d structure\nfractal algorightmic art\nfractal amalgamation\nfractal apophysis\nfractal armor\nfractal arrows\nfractal art\nfractal automata\nfractal automaton\nfractal bacground\nfractal background\nfractal baroque\nfractal beard\nfractal biomech\nfractal blue leaves\nfractal buildings\nfractal burning halo\nfractal ceramic armor\nfractal chaos background\nfractal cloud\nfractal crystal\nfractal crystals\nfractal cyborg ninja background\nfractal design\nfractal designs\nfractal detail\nfractal details\nfractal details diamond elements\nfractal details diamond skin\nfractal dimensions\nfractal dreamscape\nfractal dress\nfractal elements\nfractal engravings\nfractal entity\nfractal face\nfractal feathers\nfractal fiberglass tendrils\nfractal fire background\nfractal flame\nfractal flame. highly_detailded\nfractal flowers on the skin\nfractal forest\nfractal frame\nfractal fungus\nfractal gems\nfractal geometry\nfractal glass\nfractal hair\nfractal human silhouette\nfractal insane\nfractal ivory carved ruff\nfractal lace\nfractal landscape\nfractal leaves\nfractal lighting\nfractal magic\nfractal of scary dirac equations\nfractal paisley inlay\nfractal pattern\nfractal pattern background\nfractal patterns\nfractal render\nfractal sacred geometry\nfractal shapes\nfractal silk\nfractal skin\nfractal sky\nfractal structure\nfractal structures\nfractal style\nfractal system circuit\nfractal tarot card style\nfractal texture\nfractal thunder dan mumford\nfractal veins\nfractal veins. cyborg\nfractal veins. dragon cyborg\nfractal vines\nfractal wave interference\nfractal waves\nfractal world\nfractal!\nfractal!!!!!!!\nfractalism\nfractalization\nfractalpunk\nfractals\nfractals background\nfractals in the background\nfractals swirling outward\nfractals!! water\nfracture\nfractured\nfractured reality\nfragile\nfragile girl\nfragile girl holding an arrow\nfragile looking\nfragility\nfragmented\nfragmented typography\nfragments\nfragonard\nfragrant plants\nfrail\nframe\nframe around pciture\nframe around picture\nframe from pixar movie\nframe from prometheus movie\nframed\nframed 4 k\nframed art\nframed in image\nframed painting\nframed poster\nframeless\nframes\nframestore\nframestorevfx\nframing\nfrance\nfrancesca woodman style\nfrancesco may wilson\nfrancine van hove\nfrancis - bacon\nfrancis bacon\nfrancis bacon and agnes cecile\nfrancis bacon and cy twombly\nfrancis bacon and jenny saville\nfrancis bacon and rene magritte\nfrancis bacon art\nfrancis bacon artwork\nfrancis bacon masterpiece\nfrancis bacon painting\nfrancis ford coppola\nfrancis goya\nfrancisco de goya\nfrancisco de zurbaran\nfrancisco goya painting\nfrancisco goya style\nfrancois - edouard picot\nfrancois boucher\nfrancois boucher oil painting\nfrancois boucher style\nfrancois dufrene\nfrancois legault\nfrancois schuiten\nfrancoise nielly\nfrank bairstow\nfrank cho\nfrank dicksee\nfrank dillane\nfrank dillane as a satyr\nfrank dillane as puck\nfrank fanzzeta\nfrank franzetta\nfrank franzettta\nfrank franzzeta\nfrank franzzeta and sakimichan\nfrank frazeta\nfrank frazetta alphonso mucha\nfrank frazetta and glenn fabry\nfrank frazetta and jeff easley\nfrank frazetta art\nfrank frazetta daarken\nfrank frazetta manga style\nfrank frazetta painting\nfrank frazetta style\nfrank frazetta style painting\nfrank frazetta8k\nfrank frazette\nfrank frazzeta\nfrank frazzetta\nfrank frzetta\nfrank gehry\nfrank gehry architecture\nfrank hampson\nfrank hampson and mcbess\nfrank herbert\nfrank kelly freas\nfrank kozik\nfrank lloyd wright\nfrank miller creative design\nfrank miller style\nfrank moth\nfrank o salisbury\nfrank ocean\nfrank quitely\nfrank r paul\nfrank reynolds\nfrank sedlacek\nfrank sinatra\nfrank stephenson\nfrank tenney johnson\nfrank weston and gustave baumann\nfrank zappa\nfrankenstein\nfrans hals style\nfrans lanting\nfransico goya\nfrantic\nfrantic dancing pose\nfrantic excitement\nfrantic smile\nfrantisek kupka\nfranz frazetta\nfranz schubert look alike\nfrayed edges. light leaks\nfrazetta\nfrazetta and vallejo\nfreak show\nfreaking out\nfreakshow\nfreaky\nfreckle\nfreckled\nfreckled face\nfreckled pale skin\nfreckles\nfreckles on chicks\nfreckles on his face\nfreckles on the nose\nfreckles!!!\nfred flintstone eating tamales\nfred freeman\nfred tomaselli\nfreddie mercury\nfreddie mercury smiling\nfreddy fazbear\nfreddy fazbear's pizzeria\nfreddy krueger\nfreddy krueger style\nfreddy mamani silvestre facade\nfrederic bennett\nfrederic church and vasily perov\nfrederic daoust\nfrederic edwin\nfrederic thomas cole\nfrederick bacon\nfrederick judd waugh\nfrederik heyman\nfree\nfree spaces\nfree to kill and to die\nfree-fire\nfreedom\nfreedom fighter\nfreedom from cptsd\nfreeform ferrofluids\nfreemason symbol\nfreemasons\nfreeway\nfreeze frame\nfreeze time\nfreezing\nfreezing blue skin\nfreida pinto\nfreman\nfrench\nfrench academic painting\nfrench architecture\nfrench bande dessinée\nfrench bob\nfrench bob hair\nfrench braid hairstyle\nfrench braids\nfrench bulldog\nfrench comic art\nfrench comic style\nfrench door window\nfrench emperor\nfrench facial features\nfrench features\nfrench flag\nfrench fries\nfrench fries as arms\nfrench fries on the side\nfrench fry pattern ambience\nfrench garden\nfrench girl\nfrench impressionism\nfrench kiss\nfrench maid\nfrench man from louisiana\nfrench new wave\nfrench nouveau\nfrench noveau\nfrench provincial furniture\nfrench resistance\nfrench revolution\nfrench special ops\nfrench village exterior\nfrench village interior\nfrenetic\nfrenetic brushwork\nfrenetic craziness\nfrenetic oil painting\nfrenzy\nfrequencies\nfrequency\nfrequency indie album cover\nfresco\nfresco painting\nfresh\nfresh atmosphere\nfresh bakeries in the background\nfresh basil\nfresh colors\nfresh cool colors\nfresh food market people\nfresh from the printer\nfresh fruit\nfresh kill\nfresh modern look\nfresh modern style\nfresh rainbow bodypainting\nfresnel effect\nfreud lucian\nfreudian\nfreya\nfrictional games\nfrida\nfrida castelli\nfriday night funkin\nfridge\nfried chicken\nfriedly smile\nfriend\nfriendly\nfriendly art\nfriendly carrot cyborg\nfriendly eyes\nfriendly face\nfriendly guy and small creature\nfriendly humanoid cyber robot\nfriendly humanoid insect robot\nfriendly humanoid robot\nfriendly robot\nfriendly seductive smile\nfriendly smile\nfriends\nfriends 9 0 s sitcom\nfriends 9 0 s sitcom screenshot\nfriends 9 0 s tv show screenshot\nfriends 90 s sitcom\nfriends 90 s tv show screenshot\nfriends scene\nfriends sitcom\nfriends sitcom screenshot\nfriends tv show episode\nfriendship\nfries\nfrightened\nfrightened and angry\nfrightened look\nfrightening\nfrightening and staring\nfrightening appearance\nfrightening surroundings\nfrightful\nfrill\nfrilled blooming collar\nfrills\nfrilly outfit\nfringe\nfritz lang\nfritz lang and shinya tsukamoto\nfritz wagner\nfritz willis\nfrizzy hair\nfrock\nfrodo\nfrodo in star trek\nfrog\nfrog - elephant creature\nfrog head\nfrog perspective\nfrog playing on guitar\nfrog themed\nfroggy\nfroggy chair\nfrogs\nfrogzilla creature\nfrom 1 0 0 0 feet in distance\nfrom 1890\nfrom 1977\nfrom 1985\nfrom 1986\nfrom 2001\nfrom 8 k matte\nfrom a 2 0 1 9 sci fi 8 k movie\nfrom a 2019 sci fi 8k movie\nfrom a bird's eye view\nfrom a birds eye view\nfrom a distance\nfrom a dream\nfrom a huge red glass bong\nfrom a marvel movie\nfrom a movie scene\nfrom a scene from twin peaks\nfrom above\nfrom afar\nfrom akira  1988  style\nfrom akira ( 1 9 8 8 ) style\nfrom alice in wonderland\nfrom aliens franchise\nfrom arcane\nfrom arknights\nfrom attack on titan\nfrom avengers\nfrom avengers: endgame (2019)\nfrom back\nfrom behind\nfrom below\nfrom berserk\nfrom better call saul\nfrom blade runner\nfrom blade runner 2049 (2017)\nfrom blade runner(1982)\nfrom blade runner1982\nfrom bravely default ii\nfrom china\nfrom commedia dell'arte\nfrom commedia dellarte\nfrom cryptid academia\nfrom disney pixar's up (2009)\nfrom disney pixars up 2009\nfrom doctor who series\nfrom doom\nfrom doom and halo\nfrom doom and warhammer\nfrom dungeons & dragons\nfrom dungeons and dragons\nfrom dungeons dragons\nfrom east to west\nfrom ego perspective\nfrom egypt\nfrom evangelion\nfrom falcon bms\nfrom family guy\nfrom far away\nfrom ff7\nfrom final fantasy\nfrom final fantasy vii\nfrom final fantasy xiii\nfrom frank herbert novels\nfrom girls frontline\nfrom guardians of the galaxy\nfrom guild wars\nfrom half-life\nfrom half-life 2\nfrom hearthstone\nfrom her ankles to her neck\nfrom horizon: zero down\nfrom horror movies\nfrom hotline miami\nfrom inside a temple\nfrom inside the giant palace\nfrom italica\nfrom jaws (1975)\nfrom joker (2019)\nfrom jurassic world (2015)\nfrom jurassic world 2015\nfrom kehinde wiley\nfrom kenshin\nfrom kingdom hearts\nfrom kong skull island (2017)\nfrom kong skull island 2017\nfrom league of legends\nfrom left\nfrom legend of zelda\nfrom lineage 2\nfrom lorax movie\nfrom lord of the rings\nfrom louvre\nfrom luxor\nfrom magic the gathering\nfrom marvel studios\nfrom matrix ( 1 9 9 9 )\nfrom matrix(1999)\nfrom metal gear\nfrom movie batman\nfrom movie bladerunner\nfrom naruto\nfrom nature journal\nfrom ncsoft\nfrom netflix's arcane\nfrom netflixs arcane\nfrom of thrones\nfrom one piece\nfrom outer space\nfrom overlord\nfrom overwatch\nfrom pacific rim\nfrom pathfinder\nfrom police academy 2 (1985)\nfrom police academy 21985\nfrom ramayan\nfrom reading to playing games\nfrom rick and morty\nfrom sam and max\nfrom scene from inception\nfrom scene from twin peaks\nfrom sengoku period\nfrom side\nfrom skyrim\nfrom slumdog millionaire\nfrom software game\nfrom sonic\nfrom star trek\nfrom star trek 2021\nfrom star wars\nfrom star wars (1977)\nfrom star wars legends\nfrom starcraft\nfrom street level\nfrom the 7 0 s\nfrom the 8 0 s\nfrom the avengers (2012)\nfrom the avengers 2012\nfrom the azur lane videogame\nfrom the back\nfrom the black mage cemetery\nfrom the black mage cemetery!!!\nfrom the borderlands series\nfrom the distance\nfrom the duchy of lituania\nfrom the elbow\nfrom the front\nfrom the game pathologic 2\nfrom the grand budapest hotel\nfrom the hit 9 0 s tv show\nfrom the hit 90 s tv show\nfrom the mandalorian (2019)\nfrom the mandalorian 2019\nfrom the movie mad max fury road\nfrom the movie predator 1987\nfrom the movie quest for fire\nfrom the movie the thing\nfrom the new john wick movie\nfrom the office  2005\nfrom the office ( 2 0 0 5 )\nfrom the outside it looks folksy\nfrom the phantom menace\nfrom the roof\nfrom the sandman netflix show\nfrom the side\nfrom the studio ghibli film\nfrom the thing\nfrom the tusk movie\nfrom the waist up\nfrom then on a basketball\nfrom three kingdoms\nfrom touhou\nfrom toy story\nfrom transformers\nfrom twin peaks\nfrom valve\nfrom vermintide 2 video game\nfrom vogue magazine\nfrom waist up\nfrom warcraft\nfrom wheaton illinois\nfrom wikipedia\nfrom witcher (2021)\nfrom world of warcraft\nfrom wow\nfrom xenoblade chronicles\nfrom yowamushi pedal\nfrom'animation types'\nfromme seele\nfromsoftware\nfronds\nfront\nfront - facing perspective\nfront and back\nfront and back view\nfront and center\nfront and side elevation\nfront and side view\nfront and side views\nfront angle\nfront back view and side view\nfront camera\nfront closeup\nfront cover of a new video game\nfront elevation\nfront elevation view\nfront energy game card\nfront face\nfront face asymmetrical\nfront face symmetrical\nfront facing\nfront facing camera\nfront facing portrait of samurai\nfront facing shot\nfront facing the camera\nfront facing view\nfront facing!!\nfront facing!!!\nfront facing!!!!\nfront flash\nfront game card\nfront label\nfront left speaker\nfront light\nfront lighting\nfront lit\nfront mission\nfront of car angle\nfront of the treasure box\nfront on\nfront orthographic\nfront page\nfront page of art station\nfront perspective\nfront photo\nfront portrait\nfront portrait of a girl\nfront profile\nfront profile shot\nfront profile!!!!\nfront shot\nfront side\nfront side full\nfront side view\nfront side view full sheet\nfront side views full\nfront symetrical\nfront top side view\nfront trading card\nfront view\nfront view 1 9 9 0\nfront view 1990\nfront view 2 0 0 0\nfront view 2000\nfront view dramatic\nfront-view\nfrontal\nfrontal close up\nfrontal picture\nfrontal portrait\nfrontal portrait of a young\nfrontal pose\nfrontal realistic\nfrontal shot\nfrontal view\nfrontal view of a set of armor\nfrontlight\nfrontpage\nfrontshot\nfrontview\nfrost\nfrost clings to her skin\nfrost dragon\nfrost gem\nfrost giant\nfrost on the canvas\nfrostbite\nfrostbite 3 engine\nfrostbite 3 engine rendered\nfrostbite 3 rendered\nfrostbite engine\nfrosted\nfrosted glass\nfrosted texture\nfrostine engine\nfrosting on head and shoulders\nfrostpunk\nfrosty\nfrosty breath\nfrosty white eyes\nfrottage\nfrown\nfrown fashion model\nfrown!\nfrowning\nfrowning expression\nfroz\nfrozen\nfrozen and covered in ice\nfrozen cold stare\nfrozen ice statue\nfrozen ii klaus film\nfrozen ii movie still\nfrozen in motion\nfrozen in time\nfrozen klaus film\nfrozen lake\nfrozen like a statue\nfrozen river\nfrozen sea\nfrozen tear\nfrozen time\nfrozen time effect\nfrozen waterfall\nfrozen zombie man with a crown\nfruggles\nfruit\nfruit and feathers\nfruit and flowers\nfruit basket\nfruit bowl\nfruit celebrity\nfruit eyes\nfruit machines\nfruit monster\nfruit trees\nfruit world\nfruitcore\nfruits\nfruits in a basket\nfrustrated\nfrustrated detailed\nfrustrated expression\nfrustrated face\nfrustration\nfry\nfrying nails\nfstop of 8\nfubuki\nfuchsia\nfuchsia and blue\nfuchsia skin\nfuchsia skin below the armor\nfuchsia skin beneath the armor\nfuji\nfuji 4 0 0 h\nfuji 5 0 r 3 5 mm\nfuji 50 r 35 mm\nfuji 8 0 0\nfuji 8 0 0 film\nfuji 800\nfuji 800 film\nfuji choco\nfuji choko\nfuji film\nfuji lut\nfuji pro 400h\nfuji provia\nfuji provia film\nfuji superia\nfuji velvia\nfuji x 1 0 0 f\nfuji x 100 f\nfujicolor photo\nfujicolor sample\nfujicolor superia\nfujicolor superia 1 6 0 0 photo\nfujicolor superia 1600 photo\nfujicolor superia photo\nfujicolor with flash\nfujifilm\nfujifilm 5 6 mm f 1. 2\nfujifilm 56 mm f 1. 2\nfujifilm quicksnap 400\nfujifilm reala\nfujifilm superia\nfujifilm velvia\nfujifilm velvia 5 0\nfujifilm velvia 50\nfujifilm x - h 2 s\nfujifilm x - pro 2\nfujifilm x - t 3 0\nfujifilm x - t 4\nfujifilm x-t3\nfujifilm x100v\nfujifilm”\nfujin\nfujita goro\nfujita goro and jones\nfujita goro!\nfukaya yuichiro\nful dressed\nfulcolor octane remder\nfulcolor octane reminder\nfull\nfull - bodied portrait\nfull - body\nfull - body - front - shot\nfull - body and head view\nfull - body art\nfull - body artwork\nfull - body majestic angel\nfull - body portrait\nfull - body portrait of a ranger\nfull - body shot\nfull - body tattoos\nfull - color\nfull - face close - up portrait\nfull - frame\nfull - hd\nfull - length\nfull - length photo\nfull - length portrait\nfull - length view\nfull - shot\nfull - view\nfull 8k high quality resolution\nfull armor\nfull armor cloth\nfull art\nfull art illustration\nfull bangs\nfull beard\nfull big moon\nfull black dress\nfull blood moon\nfull bloody moon\nfull bloom\nfull bodied portrait\nfull body\nfull body 1 / 6 nihei tsutomu\nfull body 8k\nfull body action concept art\nfull body action pose\nfull body adoptable\nfull body and face\nfull body and face and head\nfull body and head\nfull body and head shot\nfull body and head view\nfull body angle\nfull body armor\nfull body armour\nfull body art\nfull body backlight\nfull body black and red longcoat\nfull body camera shot\nfull body cgsociety\nfull body character\nfull body character concept\nfull body character concept art\nfull body character design\nfull body character drawing\nfull body character portrait\nfull body close-up shot\nfull body concept\nfull body concept art\nfull body cute young lady\nfull body detailed\nfull body details\nfull body devil man\nfull body devil woman\nfull body dnd character portrait\nfull body dragon concept\nfull body dramatic profile\nfull body drawing\nfull body dynamic pose\nfull body extreme closeup\nfull body female\nfull body focus\nfull body framing\nfull body frontal view\nfull body full height\nfull body grayscale drawing\nfull body green dress\nfull body greg rutkowski\nfull body hero\nfull body human legs\nfull body illustration\nfull body image\nfull body in camera\nfull body in frame\nfull body in shot\nfull body in view\nfull body length\nfull body length shot\nfull body made of white feathers\nfull body mascot\nfull body mech\nfull body mecha suit\nfull body model\nfull body painting\nfull body perfect\nfull body photgraph\nfull body photo\nfull body photo of steve\nfull body photogenic shot\nfull body photograph\nfull body photography\nfull body photoshoot\nfull body picture\nfull body picture of a male monk\nfull body pictures\nfull body plated armor\nfull body playboy set\nfull body portrait\nfull body portrait of a group\nfull body portrait of a short!\nfull body portrait of a zentaur\nfull body portrait of jean grey\nfull body portrait painting\nfull body portrait posing\nfull body portrait shot\nfull body portraits\nfull body pose\nfull body posing\nfull body potrait holding bottle\nfull body pov\nfull body profile\nfull body profile camera shot\nfull body profile pose\nfull body purple and white cloak\nfull body purple cloak\nfull body realistic portrait\nfull body red mech\nfull body render\nfull body robot with human mask\nfull body sarcastic pose\nfull body savage devilman\nfull body shoot\nfull body shot\nfull body shot 4k\nfull body shot close up\nfull body shot hyperdetailed\nfull body shot in bikini\nfull body shot of duke nukem 3d\nfull body shot!!\nfull body shots\nfull body single character\nfull body snow outside\nfull body sprite\nfull body sunny weather\nfull body tattoo\nfull body transmogrify\nfull body view\nfull body visible\nfull body white dress\nfull body white purple cloak\nfull body wide shot\nfull body with costume\nfull body with dynamic pose\nfull body within frame\nfull body worn out damaged cape\nfull body worn out torn cape\nfull body wuxia\nfull body x-force outfit\nfull body xianxia\nfull body zenkai! asuka suit\nfull body!\nfull body! pretty face\nfull body! shot\nfull body!!\nfull body!! dynamic pose\nfull body!! maximalist details\nfull body!!!\nfull body!!!!!!\nfull body-n 9\nfull body:: snow outside::\nfull body:: sunny weather::\nfull body;\nfull body; front view\nfull bodydynamic pose\nfull bodypretty face\nfull bodyshot\nfull borg hyper detailed\nfull building\nfull car\nfull card design\nfull cast\nfull character\nfull character body\nfull character concept art\nfull character design\nfull cheeks\nfull close-up portrait\nfull clothing\nfull color\nfull color american nightmare\nfull color catalog print\nfull color digital art\nfull color digital illustration\nfull color drawing\nfull color illustration\nfull color manga cover\nfull color manga visual style\nfull color mixed media painting\nfull color photograph\nfull color scheme\nfull color still\nfull colored\nfull colors\nfull colors hd\nfull colour\nfull colour print\nfull colour spectrum\nfull costume\nfull covered dress\nfull cybernetic combat suit\nfull darkness\nfull daylight\nfull detail\nfull detailed\nfull details\nfull details anatomy poster\nfull device\nfull dress\nfull dress of lava showcase\nfull dress uniform\nfull dynamic colour\nfull entire body fun pose\nfull extremely slim body\nfull f/22\nfull face\nfull face and body portrait\nfull face close up portrait\nfull face epic portrait\nfull face frontal centered\nfull face frontal centred\nfull face occult silver mask\nfull face portrait\nfull face portrait composition\nfull face shot\nfull face shot of rimuru tempest\nfull face tattoo epic portrait\nfull face view\nfull faced\nfull faces\nfull figure\nfull figure centered in portrait\nfull figure portrait\nfull figure poster\nfull figured\nfull figured mother earth\nfull focus\nfull frame\nfull frame 3 5 mm\nfull frame 35 mm\nfull frame image\nfull frame mirrorless sensor\nfull frame photography\nfull frame shot\nfull front view\nfull frontal\nfull frontal lighting\nfull frontal portrait\nfull frontal shot\nfull glossy lips\nfull growth\nfull growth from the back\nfull hair\nfull hd\nfull hd render\nfull head\nfull head and shoulders\nfull head of hair\nfull head shot\nfull heart - shaped face\nfull height\nfull height sculpture\nfull height view\nfull helmet\nfull human hairy body\nfull ice hockey goalie gear\nfull image\nfull leather armor\nfull legs\nfull leight\nfull lenght\nfull lenght shot\nfull lenght view\nfull lenght view. white plastic\nfull length\nfull length and white stockings\nfull length character\nfull length photo\nfull length portait\nfull length portrait\nfull length shot\nfull length view\nfull lips\nfull makup\nfull mask\nfull metal alchemist\nfull metal jacket\nfull metal overlay\nfull mood\nfull moon\nfull moon background\nfull moon buried in sand\nfull moon in background\nfull moon in clouds\nfull moon in the background\nfull moon in the sky overhead\nfull moon lighting\nfull moon on the sky\nfull moon raining night\nfull moon with stars\nfull morning sun\nfull object in middle\nfull of alien military equipment\nfull of black goo\nfull of clear glass facades\nfull of color\nfull of colorful vegetation\nfull of colors\nfull of colors and rich detail\nfull of colour\nfull of colour 8-w 1024\nfull of colour w 1024\nfull of colours\nfull of detail\nfull of details\nfull of expressions\nfull of ferrofluid\nfull of flowers\nfull of glass facades\nfull of glass. cgsociety\nfull of golden layers\nfull of goo\nfull of grass\nfull of greenish liquid\nfull of high buildings\nfull of insect robots\nfull of joy\nfull of life\nfull of light\nfull of mirrors\nfull of nature\nfull of paintings of angels\nfull of people\nfull of reflections\nfull of sand and dust\nfull of sand and glitter\nfull of silver layers\nfull of skyscrappers\nfull of smoke and dust\nfull of steaming coffee\nfull of tar\nfull of things\nfull of trash\nfull of wonderful things\nfull of wonders\nfull of yellow flowers flowers\nfull og shrek\nfull page\nfull page black\nfull page grid sprite sheet\nfull page illustration\nfull page periodical image\nfull page scan\nfull page writings\nfull pallet image\nfull perfect\nfull perfect face\nfull photo\nfull piano\nfull picture\nfull plate\nfull plate armor\nfull plate armor with cloth\nfull platinum blond\nfull portrait\nfull portrait of electromancer\nfull portrait of elementalist\nfull portrait of magical knight\nfull pose\nfull poster\nfull pov\nfull product shot\nfull profile\nfull protrait\nfull red moon\nfull res\nfull resolution\nfull room view\nfull round face\nfull round face!\nfull samurai armor spiderman\nfull scene\nfull scene camera shot\nfull scene shot\nfull screen\nfull shot\nfull shot  fs\nfull shot ( fs )\nfull shot fashion photography\nfull shot photo\nfull shot photograph\nfull shot rpg\nfull size\nfull size persona\nfull skull shaped face cover\nfull slim body\nfull soldier clothing\nfull stature\nfull steel armour\nfull subject\nfull subject in frame\nfull subject in frame and view\nfull subject in shot\nfull subject in view\nfull subject shown in photo\nfull suit of gilded plate armor\nfull sun\nfull team\nfull traditional chinese armor\nfull trees\nfull uniform\nfull upper body\nfull view\nfull view blank background\nfull view of a car\nfull view of a sport car\nfull view of face and body\nfull view of seahorse\nfull view with focus on subject\nfull volume composition\nfull white beard\nfull width\nfull with people\nfull!! body! shot\nfull-body\nfull-body armor\nfull-body art\nfull-body character portrait\nfull-body photography\nfull-body portrait\nfull-body shot\nfull-body tattoos\nfull-body view\nfull-body-shot\nfull-bofy plan\nfull-color\nfull-cosplay\nfull-cosplay wario\nfull-face portrait\nfull-figure\nfull-frame of bernie sanders\nfull-hd\nfull-length\nfull-length portrait\nfull-length view\nfull-shot\nfull-size\nfull_body\nfull_body!!\nfullbody\nfullbody art\nfullbody commission for\nfullbody dynamic poses\nfullbody of standing tom selleck\nfullbody or portrait\nfullbody painting\nfullbody photo\nfullbody portrait\nfullbody rpg portrait\nfullbody shot\nfullbody shot turnaround\nfullbody view\nfullbody!! dynamic action pose\nfullbodydynamic action pose\nfullbodyshot\nfullbodysuit\nfulldome\nfuller\nfullest body\nfullface\nfullhd\nfullmetal alchemist\nfullmetal alchemist brotherhood\nfullmoon\nfulls of rats. pop art\nfullshot\nfully - clothed\nfully - clothed!!!\nfully armor\nfully armored\nfully armoured\nfully black eyes no pupils\nfully body\nfully body photo\nfully body portrait\nfully body pose\nfully body posing\nfully body shot\nfully built buildings\nfully chocolate\nfully clothed\nfully clothed in armor\nfully clothed in red robes\nfully clothed. painting of sexy\nfully colored\nfully covered\nfully covered in colorful paint\nfully covered in drapes\nfully decorated\nfully detailed\nfully detailed render\nfully dressed\nfully frontal view\nfully functional\nfully in frame\nfully open sky\nfully photorealistic\nfully posable\nfully red eyes\nfully red eyes no pupils\nfully rendered light to shadow\nfully robotic!! cat\nfully robotic!! catgirl\nfully robotic!! girl\nfully roboticcat\nfully roboticgirl\nfully space suited\nfully symmetrical\nfully tattooed body\nfully visible\nfume\nfume fx\nfumes\nfuming effigy\nfumo\nfumo plush\nfun\nfun - w 704\nfun pose\nfun rave outfit\nfun smile\nfun vibrant watercolor\nfunctional\nfunctional and elegant look\nfuneral\nfuneral veil\nfunereal\nfungal\nfungal enchanter\nfungal god\nfungal growth\nfungal pages\nfungal polyps\nfungi\nfungus\nfungus and plants\nfunimation\nfunk\nfunkadelic\nfunko\nfunko pop\nfunko pop of donald trump\nfunko pop! donald trump\nfunko pop”\nfunky\nfunky furniture\nfunky hair\nfunniest meme ever\nfunny\nfunny and silly\nfunny and weird\nfunny art\nfunny artwork\nfunny camera shot\nfunny cartoonish\nfunny cat\nfunny emoji\nfunny face\nfunny faces\nfunny hat\nfunny illustration\nfunny jumbled letters\nfunny meme\nfunny meme photo\nfunny photo\nfunny picture\nfunny professional photo\nfunny sculpture\nfunny sunglasses\nfunny weird illustration\nfuntime corporation branding\nfur\nfur and leather armor\nfur armor\nfur attire\nfur cape\nfur coat\nfur covered legs\nfur covering her chest\nfur details\nfur hdr\nfur hood\nfur jacket\nfur lined cape\nfur scarf\nfur shoulder pads\nfur simulation\nfur texture\nfur visible\nfur with mud\nfur-clad barbarian goliath\nfuraffinity\nfuraffinity award winning\nfuraffinity commission\nfuraffinity fursona\nfuraffinity!!!!\nfurio tedesch\nfurio tedeschi\nfurio tedesschi\nfurious\nfurious action scene\nfurious dark haired women\nfurious god zeus\nfurious gorgeous woman\nfurious lights\nfurless\nfurnished room\nfurnished with fairy furniture\nfurniture\nfurniture and decor\nfurniture around\nfurniture concept photo!!\nfurniture design\nfurniture design art deco\nfurniture design sheet\nfurniture magazine\nfurniture overturned\nfurniture photography\nfurr\nfurr covering her chest\nfurraffinity\nfurred\nfurries wearing tails\nfurry\nfurry anime\nfurry arms\nfurry art\nfurry art!!!\nfurry artist\nfurry badger\nfurry body\nfurry brown body\nfurry character\nfurry character portrait\nfurry chest\nfurry convention\nfurry creatures\nfurry digital art\nfurry face\nfurry fandom\nfurry fantasy art\nfurry female\nfurry ferret\nfurry fluffy iridescent dragon\nfurry friendly monster\nfurry furaffinity\nfurry fursona\nfurry legs\nfurry mawshot\nfurry mawshot art\nfurry paw\nfurry paw art\nfurry paw pov art\nfurry paws\nfurry paws furry\nfurry pelt\nfurry shot\nfurry style\nfurry tail\nfurry wolf\nfurs\nfursona\nfursona art\nfursona commission\nfursona furry art commission\nfursona wearing stylish clothes\nfursona!!!!\nfursuit\nfursuit!!!!\nfury\nfury art\nfury road\nfus rei\nfuschia and vermillion and cyan\nfuschia leds\nfuschia skin\nfused aircraft parts\nfused into epoxide\nfused mecha parts\nfuselage\nfusing\nfusing in the middle\nfusion\nfusion reactor\nfuturama\nfuture\nfuture activist\nfuture architecture\nfuture art\nfuture baroque\nfuture city\nfuture clothing\nfuture coder\nfuture coder looking on\nfuture coder man looking on\nfuture combat gear\nfuture concept art\nfuture design\nfuture doctrine\nfuture fashion\nfuture funk\nfuture high - tech\nfuture inflatable jacket\nfuture jeep concept suv\nfuture locomotive style\nfuture miramar\nfuture perfect\nfuture retro\nfuture science fiction. game cg\nfuture soldier clothing\nfuture tech\nfuture technology\nfuture techwear\nfuture warrior\nfuture!!\nfutured\nfutureistic\nfuturepunk\nfuturepunk dungeon\nfuturesynth\nfuturisitc sunglasses\nfuturism & harlem renaissance\nfuturism aesthetic\nfuturism painting\nfuturism style\nfuturism!!!!!\nfuturisma\nfuturist\nfuturist style\nfuturistic\nfuturistic aesthetic\nfuturistic alien city\nfuturistic alternate timeline\nfuturistic ambiance\nfuturistic and ethereal\nfuturistic ar glasses\nfuturistic architectural art\nfuturistic architecture\nfuturistic architecture concept\nfuturistic armor\nfuturistic art\nfuturistic art style\nfuturistic assault rifle\nfuturistic astronaut\nfuturistic atmosphere\nfuturistic attire\nfuturistic avatars\nfuturistic background\nfuturistic balenciaga sneakers\nfuturistic ballroom. big eyes\nfuturistic base\nfuturistic battle tank\nfuturistic battlefield\nfuturistic blame\nfuturistic building\nfuturistic buildings\nfuturistic but colorful shading\nfuturistic car\nfuturistic car concept\nfuturistic cars\nfuturistic cars and mecha robots\nfuturistic casino\nfuturistic castle\nfuturistic chemistry lab\nfuturistic chrome city\nfuturistic chrome drones\nfuturistic chrome vehicle\nfuturistic church\nfuturistic city\nfuturistic city backdrop\nfuturistic city backgrond\nfuturistic city background\nfuturistic city in background\nfuturistic city scape\nfuturistic city street\nfuturistic cityscape\nfuturistic cloning facility\nfuturistic clothes\nfuturistic clothing\nfuturistic clothing and helmet\nfuturistic computer\nfuturistic concept art\nfuturistic concept car\nfuturistic concept design\nfuturistic cubism\nfuturistic cyber clothing\nfuturistic cyber subway station\nfuturistic cybernetic helmet\nfuturistic cyberpunk\nfuturistic cyberpunk city\nfuturistic cyberpunk scenario\nfuturistic cyberpunk tokyo night\nfuturistic decor\nfuturistic decoration\nfuturistic design\nfuturistic dieselpunk street\nfuturistic digital art\nfuturistic digital painting\nfuturistic dome\nfuturistic dramatic lighting\nfuturistic dystopian city\nfuturistic dystopian endless\nfuturistic dystrophia\nfuturistic electric guitar\nfuturistic engineering\nfuturistic environment\nfuturistic estructures in ruins\nfuturistic fantasy\nfuturistic fashion\nfuturistic fashion clothing\nfuturistic fashion show\nfuturistic favela\nfuturistic female beekeeper\nfuturistic fine lasers tracing\nfuturistic fine textures\nfuturistic france\nfuturistic furniture\nfuturistic gadgets\nfuturistic gas mask\nfuturistic glasses lenses\nfuturistic glossy latex suit\nfuturistic government chambers\nfuturistic gun\nfuturistic hairstyle\nfuturistic hall\nfuturistic hi-tech details\nfuturistic high tech\nfuturistic himba teenage girl\nfuturistic himba young woman\nfuturistic horror\nfuturistic house\nfuturistic in the desert\nfuturistic interior\nfuturistic kitbash\nfuturistic laboratory\nfuturistic landscape\nfuturistic lasers\nfuturistic lasers tracing\nfuturistic lighting\nfuturistic look\nfuturistic looking living room\nfuturistic low-poly battle tank\nfuturistic marrakech\nfuturistic marrakech morocco\nfuturistic mechanical\nfuturistic metropolis\nfuturistic motorcycle\nfuturistic nazi german city\nfuturistic neon\nfuturistic nft card game\nfuturistic noir\nfuturistic orbital station!!!!\nfuturistic outpost building\nfuturistic painting\nfuturistic palace\nfuturistic persian palace\nfuturistic phnom-penh cambodia\nfuturistic pistol\nfuturistic pizza hut at night\nfuturistic poster\nfuturistic precious metals\nfuturistic product car shot\nfuturistic product design\nfuturistic production\nfuturistic production facility\nfuturistic psychedelic hippy\nfuturistic robot\nfuturistic robot angel\nfuturistic robot body\nfuturistic robot devil\nfuturistic robot organisms\nfuturistic robotics\nfuturistic robots\nfuturistic room\nfuturistic room background\nfuturistic royalty\nfuturistic ruins\nfuturistic sao paulo\nfuturistic sci-fi\nfuturistic sci-fi fashion\nfuturistic science fiction\nfuturistic scientific laboratory\nfuturistic scifi\nfuturistic setting\nfuturistic shapes\nfuturistic skyscraper\nfuturistic sneakers\nfuturistic soldier\nfuturistic solid colors\nfuturistic space port\nfuturistic space ship interrior\nfuturistic space station\nfuturistic spaceship\nfuturistic spaceships\nfuturistic spacesuit\nfuturistic sport arena\nfuturistic spy\nfuturistic star wars vibe\nfuturistic starship\nfuturistic starship crew member\nfuturistic street\nfuturistic structures\nfuturistic style\nfuturistic style spiderman\nfuturistic sunglasses\nfuturistic suzuki\nfuturistic tank is on fire\nfuturistic taxi\nfuturistic tech wear\nfuturistic technology\nfuturistic techwear\nfuturistic tetsuo\nfuturistic tower\nfuturistic tractors\nfuturistic typography\nfuturistic underwater metropolis\nfuturistic utopia\nfuturistic utopian architecture\nfuturistic utopian city\nfuturistic utopian fantasy\nfuturistic utopian metropolis\nfuturistic valley\nfuturistic vehicle\nfuturistic vehicles\nfuturistic vr headset\nfuturistic weapon\nfuturistic weapon shotgun\nfuturistic wheelchair\nfuturistic white-space-bikini\nfuturistic woman portrait\nfuturistic world\nfuturistic year 2 0 0 0 text\nfuturistic year 4 0 0 0\nfuturistic year 4000\nfuturistic yellow lens\nfuturistic. game cg\nfuturitic architecture\nfuturitic high tech architecture\nfuturustic\nfututistic\nfuzzy\nfuzzy details\nfuzzy ghost\nfuzzy orange puppet\nfuzzy polaroid photograph\nfvckrender\nfxaa\nfyling silk\nfzd school of design\ng - man ending\ng 7 summit\ng 7 summit press photos\ng cgsociety\ng liulian art style\ng6\ngabagool\ngabe newell as a superman\ngabriel hardman\ngabriele dell'otto\ngabriele dellotto\ngadget\ngadget hackwrench\ngadgets\ngadigal\ngaia\ngaia human and digital\ngainax\ngainax anime style\ngains\ngaint black moon\ngakkin and ernst haeckel\ngal gadot\ngal gadot and tribbles\ngal gadot as captain america\ngal gadot as captain marvel\ngal gadot as harley quinn\ngal gadot as hell lord\ngal gadot as supergirl\ngal gadot as wonder woman\ngal gadot china plate\ngal gadot portrait\ngal yosef\ngalactic\ngalactic background\ngalactic bonsai\ngalactic crusader\ngalactic dark colors\ngalactic deity\ngalactic dmt entity\ngalactic dreamcatchers\ngalactic energy\ngalactic entity\ngalactic landscape\ngalactic light colors\ngalactic megastructure\ngalactic nebula\ngalactic news\ngalactic sized goddess\ngalactic temple\ngalactic waterfalls\ngalactic yellow violet colors\ngalactus\ngalactus!!!!\ngaladriel\ngaladriel from lord of the rings\ngaladriel in lothlórien\ngalaxies\ngalaxies and nebulae\ngalaxies and star in the sky\ngalaxies and stars\ngalaxies and stars in background\ngalaxies and stars visible\ngalaxies in background\ngalaxies in the background\ngalaxies in the sky\ngalaxies swirling around\ngalaxies visible\ngalaxy\ngalaxy + baroque\ngalaxy and nebulas\ngalaxy background\ngalaxy center remotely visible\ngalaxy color scheme\ngalaxy colored\ngalaxy cosmic nebula\ngalaxy eyes\ngalaxy gas brushstrokes\ngalaxy in a bottle\ngalaxy in background\ngalaxy in eyes\ngalaxy in the background\ngalaxy in the eye 👁️\ngalaxy in the night sky\ngalaxy in the sky\ngalaxy inside\ngalaxy nebula\ngalaxy orbit system\ngalaxy raytracing\ngalaxy reflected helmet\ngalaxy reflected in helmet\ngalaxy simulation\ngalaxy sky\ngalaxy space hunter\ngalaxy space sci - fi\ngalaxy theme\ngalaxy theme colors\ngalaxy themed room\ngalaxy whale\ngale-force winds\ngalileo\ngallant\ngalleon\ngallery\ngallery display photograph\ngallery lighting\ngallery quality\ngallery setting\ngalloping\ngalloping through the forest\ngallows\ngalvalume metal roofing\ngambles like no one\ngambling\ngambrel roof\ngambrel roof building\ngame\ngame aesthetic\ngame and watch\ngame art\ngame art matte painting\ngame art!!\ngame asset\ngame asset occult\ngame asset of fighters\ngame asset of plant and tree\ngame asset sheet\ngame assets\ngame background\ngame board\ngame box art\ngame card frame\ngame case\ngame cg\ngame character\ngame character art\ngame character concept art\ngame character design\ngame characters\ngame characters head designs\ngame concept\ngame concept art\ngame concept art sprite sheet\ngame cover\ngame cover art\ngame design\ngame design asset pack\ngame design concept\ngame design concept art\ngame dev art\ngame dungeons and dragons\ngame engine\ngame engine lighting\ngame environment\ngame environment design\ngame footage\ngame graphics\ngame hud\ngame icon\ngame icon asset\ngame icon stylized\ngame icons\ngame illustration\ngame interface\ngame key art\ngame level\ngame level design\ngame logo\ngame maker\ngame map\ngame map matte painting\ngame of the year\ngame of throne art\ngame of thrones\ngame of thrones style\ngame overlay\ngame pack\ngame poster\ngame promotional poster\ngame ready\ngame render\ngame resources\ngame scene graph\ngame screen\ngame screens hot\ngame screenshot\ngame texture\ngame top down view\ngame ui\ngame ui asset design\ngameboy\ngameboy advanced\ngamecube\ngamedesign\ngamedev\ngameplay\ngameplay footage\ngameplay of horizon zero dawn\ngameplay screenshot\ngameplay screenshot with ui\ngameplay still\ngameplay video\ngamer\ngamer aesthetic\ngamer screen on metallic desk\ngamer themed\ngamers keyboard\ngamers magazine cover\ngames\ngames 3 d\ngames lag\ngames of thrones\ngames workshop\ngameshow\ngamin\ngaming\ngaming chair\ngaming chair as a toilet\ngaming computers\ngaming headset\ngaming monitors. artstation\ngaming pc\ngaming pc case\ngaming room\ngaming room in 2 0 4 0\ngaming table\ngaming toilet\ngamma\ngamora\nganapati\ngandalf\ngandalf (lotr\ngandalf as a woman\ngandalf as chewbacca\ngandalf attacks ancient athens\ngandalf attacks the white house\ngandalf casts a lightningbolt\ngandalf fighting darth vader\ngandalf from lord of the rings\ngandalf riding a border collie\ngandalf the grey\ngandalf the white\ngandhi\nganesh\nganesha\ngang\ngang clothing\ngang flags\ngang house\ngang members\ngang saints wear yellow bandanas\ngangly\ngangly arms\ngangrel\ngangs\ngangsta rap\ngangsta robot\ngangster\nganja\nganondorf\ngantz\ngape\ngaping gills and baleen\ngaping maw\ngaping mouth\ngapmoe\ngapmoe grimdark\ngapmoe yandere\ngapmoe yandere grimdark\ngaps and pauses\ngarage\ngarage kit\ngaravato\ngarbage\ngarbage on the ground. rain. fog\ngarbage pail kids\ngarbage pail kids style\ngarbage plastic\ngarbage wheel bin\ngarbed in a purple gown\ngarden\ngarden at home\ngarden background\ngarden behind the glasses\ngarden environment\ngarden flowers pattern\ngarden gnomes preparing for war\ngarden landscape\ngarden of eden\ngarden pond scene\ngarden road\ngarden setting\ngarden utopia\ngarden with flowers\ngarden with flowers background\ngarden with fruits on trees\ngardena architecture\ngardening\ngardens\ngardens and fountains\ngardens with flower beds\ngareth pugh aw 2 0 1 1\ngarfield\ngarfield cat face\ngarfield comic\ngarfield eating lasagna\ngarfield the cat\ngargantuan\ngargoyle\ngargoyles\ngaris edelweiss\ngarish\ngarlic on background\ngarmash\ngarments\ngarner holt\ngarnet\ngarnet from steven universe\ngarnish\ngarnishment\ngarniture\ngarrulus glandarius\ngarrus vakarian\ngarrus vakarian from mass effect\ngarry's mod\ngarrys mod\ngarter belt\ngarters\ngary\ngary baseman\ngary busey\ngary chalk\ngary houston\ngary larson\ngary montalbano\ngary oldman as a pear\ngary ruddell\ngary tonge\ngas\ngas fire in cracks\ngas lamps\ngas lanterns\ngas lighting\ngas mask\ngas mask in ukiyo-e style\ngas masks\ngas station\ngas station in space\ngas street lamps. country road\ngaseous materials\ngaslight\ngaslight fantasy capital city\ngasmask\ngasoline engine\ngaspar noe\ngaspar noe and christopher doyle\ngaspar peeter\ngaston brussiere\ngaston bussiere and artgerm\ngaston bussiere. blond braid\ngastronomica magazine\ngastronomy magazine\ngate\ngate to hell\ngatekeeper\ngates of heaven\ngates of hell\ngateway\ngateway to another dimension\ngateway to another universe\ngateway to futurisma\ngatling gun\ngatson bussiere\ngaturro\ngauche painting\ngaudi sagrada familia\ngaudi style”\ngaudy\ngaudy colors\ngauged ears\ngauges\ngaughan\ngauguin\ngaunt\ngaunt cheeks\ngauntlets\ngauss\ngauss rifle\ngaussian blur\ngaussian noise\ngauthier leblanc\ngauze\ngauze angel dress\ngavel\ngawr gura\ngay\ngay pride\ngay rights\ngaze\ngaze down\ngazebos\ngazeta\ngazing at the water\ngazing dark brown eyes\ngazing eyes\ngazing off into the horizon\ngear\ngear aurora\ngear halo\ngear mecha\ngearing up for battle\ngears\ngears and lights\ngears of death\ngears of war\ngears of war cover art\ngearwheels\ngecko\ngecko sitting inside a terrarium\ngeeen skin\ngeek\ngeenss archenti flores\ngeert wilders\ngeforce rtx 3090 on fire\ngehenna\ngeiger\ngeiger art\ngeisha\ngeisha hairstyle\ngeisha make up\ngeisha makeup\ngeisha mask\ngeisha photo portrait\ngeisha prima ballerina\ngeisha tattoo\ngel lighting neon glow\ngel spiked blond hair\ngel spiked hair\ngelatin silver finish\ngelatin silver process\ngelatin silver process photo\ngelatine silver process\ngelatinous\ngelatinous green goop\ngelatinous symmetrical\ngelatinous with a smile\ngelatinous with teeth\ngelbooru\ngelbooru anime image\ngelios lens\ngem\ngem - tones\ngem stones\ngem tones\ngemini\ngemini gold cloth\ngemini star formation\ngemma chan\ngemma chan beautiful girl\ngemma chan girl portrait\ngemma chen\ngemmy woud - binendijk\ngemmy woud binnendijk\ngems\ngems and diamond for fruit\ngems and gold\ngemstone\ngemstone forehead\ngemstone necklace\ngemstones\ngemstones and gold\ngemstones and treasures\ngemstones for eyes\ngen z\ngenderless\ngenderswap\ngendo ikari smoking a joint\ngene espy\ngene kelly as the terminator\ngene wolfe\ngeneral\ngeneral fantasy\ngeneral greivous\ngeneral grievous\ngeneral grievous from star wars\ngeneral human form\ngeneral studio lighting\ngeneral uniform\ngenerate multiple random colors\ngenerate realistic face\ngenerative\ngenerative adversarial network\ngenerative art\ngenerative art nebula\ngenerative design\ngenerative line art\ngenerative technology\ngeneric\ngeneric furry style\ngeneric kpop boy band\ngeneric male npc face\ngenerous\ngenerous cleavage open jacket\ngenesis\ngenesis of aquarion\ngenetic\ngenetically engineered\ngenevieve gauckler\ngenevieve o'reilly\ngengar\ngenghis khan\ngenie\ngenious composition\ngenius\ngenius composition\ngenius design\ngenius party\ngenji\ngenji from overwatch\ngenndy tartakovski\ngenndy tartakovsky\ngenos\ngenos from one punch man\ngenshin\ngenshin impact\ngenshin impact character\ngenshin impact style\ngentelman\ngentle\ngentle ambient lighting\ngentle an harmonic colors\ngentle bokeh\ngentle calm doting pose\ngentle expression\ngentle face\ngentle femdom\ngentle lighting\ngentle mists\ngentle round face\ngentle shadowing\ngentle smile\ngentle smoke effect\ngentle snow\ngentle sparkling forest stream\ngentleman\ngentleman's club lounge\ngentlemans club lounge\ngentlemens dinner\ngently caressing earth\ngenuine smile\ngenx\ngenzoman\ngenzoman and frank franzzeta\ngenzoman and gary gygax\ngeo\ngeocities\ngeode\ngeodesic\ngeodesic architecture\ngeodesic building\ngeodesic dome\ngeodesic domes\ngeof darrow art\ngeoff darrow\ngeoffroy thoorens\ngeological strata\ngeology\ngeomerty\ngeometric\ngeometric 3 d render\ngeometric 3 d shapes\ngeometric 3d render\ngeometric 3d shapes\ngeometric abstract\ngeometric abstract beauty\ngeometric abstraction\ngeometric art\ngeometric art deco\ngeometric backdrop; led\ngeometric but organic\ngeometric colorful\ngeometric curves\ngeometric design\ngeometric dripped ink background\ngeometric figures\ngeometric forms\ngeometric futuristic cityscape\ngeometric golden ratio details\ngeometric light rays\ngeometric liminal space\ngeometric lines\ngeometric lines in the sky\ngeometric ornament\ngeometric pattern\ngeometric patterns\ngeometric patterns ornaments\ngeometric polygons\ngeometric shape\ngeometric shapes\ngeometric shapes background\ngeometric style\ngeometric tattoos\ngeometric tesseract\ngeometric third eye triangle\ngeometric type\ngeometric wallpaper\ngeometric wolf\ngeometric wood carvings\ngeometrical\ngeometrical drawings\ngeometrical figures\ngeometrical forms\ngeometrical masterpiece\ngeometrical shapes\ngeometrical shapes and lines\ngeometrically correct\ngeometrically perfect\ngeometrically realistic\ngeometries\ngeometry\ngeometry and astrology\ngeometry dash\ngeomorphology\ngeorge\ngeorge andries roth\ngeorge ault painting style\ngeorge carlin\ngeorge clinton\ngeorge clooney\ngeorge costanza\ngeorge doutsiopoulos\ngeorge floyd\ngeorge goodwin kilburne\ngeorge h.w. bush\ngeorge h.w. bush destroys iraq\ngeorge harrison\ngeorge hull\ngeorge kamitani\ngeorge lopez\ngeorge miller\ngeorge orwell\ngeorge pal\ngeorge patsouras\ngeorge pemba\ngeorge soros\ngeorge soros full body shot\ngeorge strait\ngeorge w bush\ngeorge washington\ngeorges desvallières\ngeorges mathieu\ngeorgeus\ngeorgia anne muldrow\ngeorgia o'keefe\ngeorgia okeefe\ngeorgian dress\ngeorgian dress amazing fabric\ngeorgic\ngeorgy kurasov\ngerald\ngerald brom and andy warhol\ngerald brom and vincent di fate\ngerald brom style\ngerald brom. rich colors\ngerald whitcomb\ngeralt\ngeralt of rivia\ngeralt of rivia in dark souls\ngerard brom\ngerard kravchuk\ngerard van honthorst\ngerenuk\ngeri keary\ngerit dou\ngerman\ngerman and soviet soldiers\ngerman and soviet tanks firing\ngerman chancellor\ngerman experssionism\ngerman expresionism\ngerman expressionism\ngerman expressionist woodcut\ngerman forest\ngerman renaissance architecture\ngerman romanticism style\ngerman shepherd\ngermanic\ngermany\ngermany. wide shot\ngerome\ngertrude\ngestalt\ngestation inside a watermelon\ngestural\ngestural lines\ngesture\ngesture draw\ngesture drawings\ngesture drawn\ngesture dynamic\ngestures\ngetter robo\ngetting groceries\ngetting his tacos and drink)\ngetting ready to fight\ngetty images\ngetty images proshot\ngettyimages\ngeysers of steam\ngfd logo\ngfx association\nghailan\nghailan!\nghanaian movie poster\nghastly\nghetto\nghetto blaster\nghibli\nghibli and disney animation\nghibli and ilya kuvshinov\nghibli animated film\nghibli art style\nghibli artstyle\nghibli colorful\nghibli film\nghibli inspired\nghibli miyazaki movie poster\nghibli moebius\nghibli screenshot\nghibli spirited away vibe\nghibli studio\nghibli studio anime style\nghibli studio art\nghibli studio style\nghibli style\nghibli tom bagshaw\nghibli vibe\nghibli. octane render\nghost\nghost children\nghost faces\nghost giant above the horizon\nghost in the machine\nghost in the shell\nghost in the shell 2017\nghost in the shell art style\nghost in the shell bullet vfx\nghost in the shell color scheme\nghost in the shell geisha robot\nghost in the shell movie scene\nghost in the shell style\nghost mask\nghost neon\nghost of a young girl\nghost of kiev\nghost of the fire spirit\nghost of tsushima\nghost rider\nghost room\nghost shrimp\nghost sphere\nghost town\nghost-in-the-shell\nghostblade\nghostbusters\nghostbusters proton pack\nghostbusters trap\nghostface\nghostly\nghostly atmosphere\nghostly darkness\nghostly figure\nghostly figures\nghostly form\nghostly ghost\nghostly low light\nghostly mist\nghostly necromancer\nghostly particles\nghostly silhouettes\nghostly smoke\nghostly spirits\nghostly tango\nghostly teenager bedroom\nghostly white trees\nghostpunk\nghosts\nghosts in the background\nghosts night sky\nghosts theme\nghostshrimp\nghoul\nghouls\nghutra and egal\ngi\ngi joe\ngiacometti\ngianna michaels\ngiant\ngiant afro\ngiant afro!\ngiant airships in the sky\ngiant alice in wonderland\ngiant and fat\ngiant angry rat\ngiant anime mecha\ngiant aquarium in natural cave\ngiant archways\ngiant athanor\ngiant axe\ngiant aztec space city\ngiant aztec spaceship\ngiant bananas natural disaster\ngiant bear human hybrid\ngiant broken robot\ngiant bugs\ngiant carnation flower as a head\ngiant carnation flower head\ngiant castle walls\ngiant cat monster\ngiant centipede\ngiant cherry trees\ngiant claws loom\ngiant clay statue\ngiant clock\ngiant clouds\ngiant coiling snake machine\ngiant columns\ngiant columns palace\ngiant corn flower head\ngiant crab\ngiant crater in distance\ngiant crowd\ngiant crypto vault\ngiant cthulhu\ngiant cumulonimbus cloud\ngiant dahlia flower crown head\ngiant dahlia flower head\ngiant daisy flower as a head\ngiant daisy flower as head\ngiant daisy flower head\ngiant daisy flower over head\ngiant daisy flower under head\ngiant daisy flowers head\ngiant dragon flying in the sky\ngiant dragon resting in a cave\ngiant dragon wings\ngiant earrings\ngiant eldritch horror\ngiant ethereal creature\ngiant explosion\ngiant eye magic spell\ngiant eyeball\ngiant eyeballs\ngiant eyes in the grass\ngiant fantasy creatures\ngiant ferret\ngiant flower head\ngiant flowers\ngiant fluorescent fungi\ngiant frankenstein\ngiant glass dome in space\ngiant gold head statue ruins\ngiant golden nuclear hornet\ngiant grave structures\ngiant greek columns\ngiant guns\ngiant hall\ngiant hammer\ngiant head statue ruins\ngiant headphones rocking out\ngiant horns\ngiant imposing mountain\ngiant imposing steampunk tower\ngiant insects\ngiant interlocked gears cogs\ngiant kaiju dragon monster\ngiant kaiju starfish monster\ngiant kicking foot\ngiant led screens\ngiant legs\ngiant lotus mandala\ngiant majestic archways\ngiant marble chess pieces\ngiant mech\ngiant mecha robot\ngiant mechanical rose\ngiant mechanisms\ngiant medieval tower concept art\ngiant moai statues\ngiant moon\ngiant mouth\ngiant mushroom\ngiant mushrooms\ngiant octopus\ngiant pig\ngiant pig grass\ngiant pink full moon\ngiant purple dahlia flower head\ngiant quadrupedal mining robot\ngiant raindorps\ngiant red carnation afro head\ngiant red flower afro\ngiant red led screens\ngiant river\ngiant road sign armor champion\ngiant robot\ngiant robot bones\ngiant robot foot\ngiant robot mech\ngiant robot skull\ngiant robots\ngiant rocks\ngiant rose flower as a head\ngiant rose flower head\ngiant scale\ngiant screens\ngiant sculpture\ngiant sentinel crashed on earth\ngiant sequoia\ngiant snake\ngiant snake castle\ngiant spaceship\ngiant speakers\ngiant spider\ngiant spider foreground\ngiant squids battling in the sky\ngiant star\ngiant stunning goddess shot\ngiant submarine\ngiant sun\ngiant sunflower as a face\ngiant super moon\ngiant sword\ngiant tardigrade\ngiant teeth\ngiant tentacles\ngiant terrestrial starfish!!!!!\ngiant thorns\ngiant threes\ngiant tomb structures\ngiant towering pillars\ngiant tree\ngiant trees\ngiant video screens\ngiant waves\ngiant whale tank with legs\ngiant white daisy flower as head\ngiant white daisy flower face\ngiant white daisy flower head\ngiant white daisy flower on head\ngiant white tree\ngiant wings\ngiant wooden club\ngiant yoda\ngiantess\ngiantess art\ngiantess shot\ngiants\ngibli\ngiddy smirk\ngiesha demon\ngif\ngifts\ngig\ngiga\ngiga chad\ngiga chad capaybara\ngiga chad crying\ngigachad\ngigachad in minecraft\ngigachad jesus\ngigachad meme\ngigachad muscular\ngigachad portrait\ngigantic\ngigantic castle\ngigantic creature\ngigantic cthulhu\ngigantic forest trees\ngigantic girl head\ngigantic landing pad\ngigantic landscape!\ngigantic man head\ngigantic monster\ngigantic mountains\ngigantic neon signs\ngigantic oily tentacles and eyes\ngigantic pillars\ngigantic pillars and flowers\ngigantic pink ringlets\ngigantic pristine marble columns\ngigantic robot head\ngigantic scale\ngigantic size\ngigantic skyscrapers\ngigantic sun\ngigantic tight pink ringlets\ngigantic titan winnie the pooh\ngigantic tower\ngigantic trees\ngigantic woman head\ngigapixel\ngigapixel maximum upscale\ngigapixel photo\ngiger )\ngiger and jacek yerka\ngiger art\ngiger background liminal void\ngiger h r\ngiger inspired\ngiger portrait of queen dragon\ngiger spider joker\ngiger style\ngiger textures\ngiger ’ s xenomorph\ngiger's biomechanical xenomorph\ngiger:1\ngigers biomechanical xenomorph\ngiggling\ngil elvgren 50mm\ngil elvgren style\ngilbert stuart style\ngilbert williams\ngilded\ngilded black uniform\ngilded details\ngilded gold\ngilded gold and diamonds\ngilded gold halo behind head\ngilded lotus princess\ngilded marbled paper background\ngilded outfit\ngilded relief\ngilded shiny armour\ngilded swirls on monochrome\ngilded with gold\ngilded. floral\ngildhardho\ngilding\ngilgamesh\ngill elvgren\ngilleard\ngilleard james\ngillian anderson\ngilligan's island\ngills\ngills and scales\ngilmore girls aesthetic\ngilt\ngilt metal\ngilt silk fabric\ngilt silk torn fabric\ngilt-leaf winnower\ngimli\ngimli from lord of the rings\ngina heyer\nginger\nginger bearded man with glasses\nginger cat\nginger cat in mid action\nginger hair\nginger hair and fur\nginger hair with freckles\nginger wavy hair\nginger. art nouveau\ngingerbread candy village\ngingerbread people\nginko showing a new mushi\nginormous\ngintama\ngintas galvanauskas\ngintas galvanauskas. sharp focus\ngiorgetto giugiaro\ngiorgia meloni\ngiorgio\ngiorgio a. tsoukalos\ngiorgio de chirico and klimt\ngiorgio di chirico\ngiorgio griffa\ngiorgio vasari\ngiorno giovanna\ngiovanni baglione\ngiovanni paolo panini\ngiovanni paolo panini style epic\ngipf project\ngiraffe\ngiraffe army\ngiraffe head and giraffe body\ngiraffe standing on the rooftop\ngiraffe weevil\ngiraffes\ngiratina\ngiraud\ngiraud!\ngiraud!!\ngirih\ngirl\ngirl and a goat\ngirl at a fashion show in hell\ngirl clouds\ngirl creates something great\ngirl cute-fine-face\ngirl dancing in a flower field\ngirl dancing on cliff\ngirl design lush horns\ngirl drinks monster energy\ngirl figure\ngirl floating in a flower field\ngirl frontal in a flower field\ngirl graceful\ngirl in a bed of flowers\ngirl in a dress\ngirl in a flower field\ngirl in a record store\ngirl in a suit\ngirl in flowers\ngirl in knight armor\ngirl in love\ngirl in mecha cyber armor\ngirl in raincoat\ngirl in space\ngirl in studio\ngirl in suit\ngirl in white dress dancing\ngirl is running\ngirl jumping in a flower field\ngirl looking at the ocean waves\ngirl looks at the space\ngirl making a phone call\ngirl next door innocent look\ngirl of the alps\ngirl on the beach\ngirl pinup\ngirl portrait\ngirl running\ngirl screamin yolo - aesthetic\ngirl silver hair\ngirl silver ponytail hair\ngirl sitting in a flower field\ngirl sitting on a rooftop\ngirl sketch\ngirl standing\ngirl standing in a flower field\ngirl standing in flower field\ngirl standing on cliff\ngirl standing on mountain\ngirl under lantern\ngirl venizian\ngirl venizian era\ngirl walking between dunes\ngirl walking in a canyon\ngirl walking in a flower field\ngirl walking in dark forest\ngirl walking in flower field\ngirl walking in forest\ngirl walking in wheat field\ngirl walking on cliff\ngirl walking on mountain\ngirl watching sunset\ngirl wearing headphones\ngirl wearing hoodie\ngirl wearing robotic suit\ngirl wearing round glasses\ngirl wearing uniform\ngirl wears a red dress\ngirl with a birdcage on her head\ngirl with a flower face\ngirl with a flower head\ngirl with a pearl earring\ngirl with a pearl earringl\ngirl with angel wings\ngirl with black hair\ngirl with blue hair\ngirl with brown hair\ngirl with cat ears\ngirl with cat ears at a rave\ngirl with dark brown hair\ngirl with feathers\ngirl with fox ears\ngirl with glasses\ngirl with long hair\ngirl with messy bun hairstyle\ngirl with pearl earring\ngirl with plaits\ngirl with short white hair\ngirl with super long hair\ngirl with the pearl earring\ngirl with warship parts\ngirl with white eyes\ngirl with white hair\ngirl's room\ngirlboss\ngirls\ngirls frontline\ngirls frontline cg\ngirls frontline style\ngirls frontline universe\ngirls resting\ngirls room\ngirls' last tour\ngirly\ngirly bedroom\ngitital art\ngits\ngits anime\ngiulio rosati\ngiuseppe\ngiuseppe arcimboldo walter white\ngiuseppe dangelico pino\ngive me a higher love\ngivenchy\ngiving a speech\ngiving a thumbs up\ngiving a thumbs up to the camera\ngiving an interview\ngiving flasks to other gnomes\ngiving gifts to people\ngiving the middle finger\ngiving the thumbs up\ngiygas\nglabrous\nglacier\nglacier coloring\nglacier landscape\nglacier national park\nglacier photography\nglaciers\nglaciers and ice and snow\ngladiator\ngladiator armor\ngladiator wearing space suit\nglados\nglados from portal 2\nglagolitic glyph\nglair\nglaive\nglam\nglam hair\nglam make-up\nglam metal hair\nglam photo\nglam rockers drinking wine\nglamor hairstyle\nglamor pose\nglamor profile pose\nglamor shot\nglamorous\nglamorous aerith portrait\nglamorous and sexy geisha\nglamorous angewoman digimon\nglamorous composition\nglamorous fashion pose\nglamorous hairstyle\nglamorous jill valentine\nglamorous pose\nglamorous runway model\nglamorous setting\nglamorous tifa lockheart\nglamour\nglamour fashion pose\nglamour lighting\nglamour photography\nglamour portrait\nglamour pose\nglamour shot\nglamourous\nglamourous cosplay\nglamping\nglare\nglare face\nglare on the water\nglares\nglaring at the camera\nglasgow\nglasgow in background\nglass\nglass - reflecting - stars\nglass and gold and jade\nglass and gold pipes\nglass and lights\nglass and metal : : peugot onyx\nglass and steel\nglass antikythera\nglass arms\nglass ball\nglass ball at the waist\nglass beads\nglass beads clay amulets\nglass bottle\nglass bubble helmet\nglass buildings\nglass bulbs\nglass ceilings\nglass cover\nglass cyborg\nglass debris pieces\nglass dome\nglass domes\nglass eyeballs\nglass face\nglass facial muscles\nglass flame\nglass floor\nglass flowers\nglass greenhouse\nglass helmets\nglass helmets and dove wings\nglass houses\nglass jar\nglass labware\nglass mosaic\nglass negative\nglass obelisk of the void\nglass obelisks\nglass obelisks!!\nglass of milk\nglass oled mecha visor\nglass oled visor head\nglass openings\nglass orbs\nglass paint\nglass panes\nglass pipes showing red\nglass plate photography\nglass railing\nglass rain\nglass reflections\nglass reflections on top\nglass refraction\nglass room\nglass sculpture\nglass sculpture of a heart\nglass shader\nglass shards\nglass shattering\nglass skin\nglass skull\nglass space helmet\nglass spaceship\nglass sphere\nglass spheres\nglass spheres on a red cube\nglass studio\nglass tableware\nglass texture\nglass torso\nglass vials\nglass visor\nglass wall\nglass walls\nglass window\nglass windows\nglass with rum\nglass-cast heart\nglasses\nglasses frames\nglasses glasses\nglasses without frames\nglasses |\nglassware\nglassy\nglassy eyes\nglassy fracture\nglassy reflections\nglaze\nglaze oil painting\nglazed\nglazed ceramic\nglazersout\nglazing\ngleaming\ngleaming silver\ngleaming silver and rich colors\ngleaming skin\ngleaming white\nglen\nglen orbik\nglenn barr\nglenn brown\nglenn fabry and frank frazetta\nglennray tutor and edward hopper\ngliding\nglimmering\nglimmering whale\nglimpse of red\nglinting\nglinting metal\nglinting particles of ice\nglints\nglisten\nglistening\nglistening body\nglistening clouds in background\nglistening gold\nglistening seafoam\nglistening skin\nglistering\nglistering!!! oiled - skin!!!\nglisteringoiled - skin\nglitch\nglitch art\nglitch art aesthetic\nglitch color palette\nglitch creatures\nglitch effect\nglitch effect sunlight\nglitch effects\nglitch effects over the eyes\nglitch eyes\nglitch in the matrix\nglitch shimmer\nglitch! art\nglitch!!\nglitchart\nglitchcore\nglitchcore rebirth\nglitchcore witchcore\nglitched\nglitched background\nglitched fantasy painting\nglitched pattern\nglitches\nglitches in reality\nglitchpunk\nglitchpunk girl\nglitchwave\nglitchy\ngliter\nglitter\nglitter accents on figure\nglitter background\nglitter crystals\nglitter dress\nglitter gif\nglitter makeup\nglitter sticker\nglitter storm\nglitter tornados\nglittering\nglittering and soft\nglittering hair\nglittering ice\nglittering light\nglittering metal paint\nglittering multiversal ornaments\nglittering silver ornaments\nglittering skin\nglittering stars scattered about\nglittering sun rays\nglittery\nglittery short black hair\nglittery wedding\nglitz pro\ngloating\nglobal awarded\nglobal illuminaition\nglobal illumination\nglobal illumination hdri\nglobal illumination lighting\nglobal illumination!! intricate\nglobal illumination. vfx\nglobal illuminationintricate\nglobal ilumination\nglobal light\nglobal lighting\nglobal radiant light\nglobal warming\nglobes\nglocks\ngloden armor\nglomy\ngloom\ngloom and lights\ngloom haven\ngloomcore illustration\ngloomhaven\ngloomy\ngloomy and depressed\ngloomy and foggy atmosphere\ngloomy atmosphere\ngloomy background\ngloomy cinematic lighting\ngloomy colors\ngloomy earthy colors\ngloomy face\ngloomy foggy atmosphere\ngloomy forest\ngloomy landscape\ngloomy library\ngloomy lighting\ngloomy lighting!!!\ngloomy lights in the sky\ngloomy medieval background\ngloomy misty atmosphere\ngloomy mood\ngloomy mood. greg rutkowski\ngloomy moody clouds\ngloomy skies\ngloomy sky\ngloomy style\ngloomy weather\ngloomy weather. high quality\ngloomy weather. hyperrealistic\ngloomy. by makoto shinkai\ngloomy/wet atmosphere\ngloopy\nglorified image\nglorious\nglorious composition\nglorious galactic collision\nglorious light\nglorious lighting\nglorious long blond hair\nglorious sunlight\nglorious supernatural power\nglory\nglory be to the magic within\nglory days\nglory war\ngloss\ngloss finish\nglossy\nglossy and drippy\nglossy design\nglossy digital painting\nglossy eyes\nglossy finish\nglossy flecks of iridescence\nglossy from rain\nglossy intricate design\nglossy lips\nglossy magazine cover\nglossy magazine painting\nglossy magazine photoshoot\nglossy metallic human spine\nglossy old advertising poster\nglossy paint\nglossy painting\nglossy photo\nglossy plastic\nglossy reflections\nglossy shiny reflective\nglossy skin\nglossy sphere\nglossy surface\nglossy white\nglossy white armor\nglossy white metal\nglossy yellow\ngloves\ngloves and jewelry. motion\ngloves on hands\nglow\nglow around helmet\nglow effect\nglow filter\nglow galaxy background\nglow in dark\nglow in the dark\nglow lighting\nglow lights\nglow of neon lights\nglow sticks\nglow up\nglow wave\nglowering judging eyes\nglowforge template\nglowin eye\nglowin eyes\nglowing\nglowing (((white laser))) eyes\nglowing - instruments\nglowing - thin - wires\nglowing accents\nglowing aesthetic\nglowing alien symbols\nglowing amber\nglowing and epic\nglowing angelic being\nglowing arcane eyes\nglowing atari sign\nglowing aura\nglowing aura around her\nglowing aztec tattoos\nglowing background\nglowing background lighting\nglowing black aura\nglowing black dark velvet\nglowing blue\nglowing blue butterflies\nglowing blue by greg rutkowski\nglowing blue eyes\nglowing blue face\nglowing blue interior components\nglowing blue mushrooms\nglowing blue mushrooms in mire\nglowing blue veins\nglowing bones\nglowing butterflies\nglowing buttons\nglowing candles\nglowing ceremonial markings\nglowing chess knight\nglowing chess pawn\nglowing clouds\nglowing colorful fog\nglowing colors\nglowing computer screens\nglowing cracks\nglowing crimson head\nglowing crystal cave\nglowing crystal on a rock\nglowing crystals\nglowing crystals on the ground\nglowing cyan blue plasma\nglowing cyber - eyes\nglowing cybernetic augments\nglowing dandelion seed storm\nglowing dark aura\nglowing dark red eyes\nglowing delicate flower\nglowing details\nglowing details!\nglowing digital runes\nglowing draconic staff\nglowing drapes\nglowing dust\nglowing edges\nglowing effect\nglowing electric aura\nglowing ember eyes\nglowing energy\nglowing energy effects\nglowing engines\nglowing epicentre\nglowing eye\nglowing eyes\nglowing eyes everywhere\nglowing eyes in helmet\nglowing eyes shiny\nglowing eyes!! intricate\nglowing face\nglowing feathers\nglowing fiery background\nglowing fiery red eyes\nglowing fingers\nglowing fire\nglowing fire background\nglowing firebugs\nglowing fireflies\nglowing flowers\nglowing flowing hair\nglowing fog\nglowing fog intricate\nglowing forest\nglowing fractals\nglowing from inside\nglowing from within\nglowing fungus\nglowing glittery dust in the air\nglowing god rays\nglowing gold embers\nglowing golden aura\nglowing golden eyes\nglowing green\nglowing green crystals\nglowing green eyes\nglowing green lights\nglowing green neon eyes\nglowing green rocks\nglowing green soul blade\nglowing grey eyes\nglowing guy creature\nglowing hair\nglowing halo\nglowing halo above his head\nglowing hands\nglowing head\nglowing headlights\nglowing heating coils\nglowing highlights\nglowing holy aura\nglowing hot sun\nglowing hue of teal\nglowing imperial motifs\nglowing in power\nglowing in the dark\nglowing inside\nglowing interior components\nglowing interior lighting\nglowing internal light\nglowing iridescent accents\nglowing iris\nglowing jar\nglowing jellyfish\nglowing lamps\nglowing lanterns\nglowing laser beam eyes\nglowing lasers\nglowing lava\nglowing lava!!!\nglowing leaves\nglowing leds\nglowing lens flare\nglowing lens flare wraith girl\nglowing light\nglowing light and shadow\nglowing light and shadows\nglowing light atmosphere\nglowing light orbs\nglowing lightening\nglowing lighting\nglowing lights\nglowing lights in armor\nglowing lights intricate\nglowing lights intricate elegant\nglowing lights! digital painting\nglowing lights!!\nglowing lights!! highly detailed\nglowing lights!! intricate\nglowing lights!! sci - fi\nglowing lights!! sci-fi\nglowing lightsintricate\nglowing lightssci - fi\nglowing lightssci-fi\nglowing line cracks in armor\nglowing lines\nglowing liquid\nglowing luminescent invocations\nglowing magenta face\nglowing magenta laser eyes\nglowing magic\nglowing magic sigils\nglowing magical eyes\nglowing magical shiny skin\nglowing magma sphere\nglowing mechanical eye\nglowing mechanical eye camera\nglowing mint face\nglowing moss\nglowing mouth\nglowing mri x-ray\nglowing mushrooms\nglowing nacreous clouds\nglowing neon\nglowing neon bow\nglowing neon flowers\nglowing neon lights\nglowing neon skin\nglowing neon vray\nglowing oil\nglowing oled visor\nglowing ominous clouds\nglowing orange eyes\nglowing orange lasers\nglowing orbs\nglowing owl\nglowing owls\nglowing paper lanterns\nglowing particles\nglowing particulate\nglowing peach face\nglowing people\nglowing pink eyes\nglowing pink face\nglowing pink laser eyes\nglowing plants\nglowing pools of lava\nglowing porcelain skin\nglowing potions\nglowing powder\nglowing pumpkins under a tree\nglowing purple\nglowing purple eyes\nglowing purple led eyes\nglowing quartz crystal skull\nglowing rainbow face\nglowing rainbow neon ink\nglowing raytracing\nglowing red\nglowing red and gold hair\nglowing red eyes\nglowing red laser eyes\nglowing red mushrooms\nglowing red skull\nglowing red veins\nglowing reflections\nglowing retinas\nglowing rich colors\nglowing robot motifs\nglowing runes\nglowing screen\nglowing screens\nglowing skin\nglowing skin face\nglowing snow\nglowing spacesuit\nglowing sphere\nglowing spiral background\nglowing spores flying\nglowing sprites\nglowing stained glass backdrop\nglowing stars\nglowing street signs\nglowing swirling mist\nglowing sword\nglowing sword in hand\nglowing tattoos\nglowing temple in the distance\nglowing thin wires\nglowing thing wires\nglowing third eye\nglowing threads of drop\nglowing tiny blue lines\nglowing tubes\nglowing veins\nglowing veins of white\nglowing violet laser beam eyes\nglowing visor\nglowing water\nglowing water with caustics\nglowing white accent lighting\nglowing white eyes\nglowing white face\nglowing white laser eyes\nglowing white lasers\nglowing white mechanical eye\nglowing white neon eyes\nglowing white owl\nglowing windows\nglowing wires\nglowing wires everywhere\nglowing with colored light\nglowing with magic\nglowing with silver light\nglowing yellow eyes\nglowing yellow face\nglowing-eyes-and-mouth\nglows\nglowsticks\nglowwave\nglowwave girl portrait\nglowy\nglowy gold eyes\nglowy light\nglowy pink eyes\nglsl - shaders\nglue dropping\nglued\ngluttony\nglyphs\ngm\ngm screen\ngmaster\ngmaster lens\ngmod\ngmunk\ngnarled\ngnarled fingers\ngnarled trees\ngnarly\ngnarly details\ngnarly details soft light\ngnarly trees\ngnoll\ngnome\ngnome druid\ngnome illusionist\ngnomon\ngnostic\ngnosticism\ngo nagai\ngo pro\ngo pro footage\ngoalie carey price\ngoat\ngoat body\ngoat horns\ngoat horns on her head\ngoat horns on his head\ngoatee\ngoatee beard\ngoats\ngoauche painting\ngoblin\ngoblin art\ngoblin chainwalker\ngoblin female portrait\ngoblin funko pop\ngoblin girl dnd character\ngoblincore\ngoblinko\ngoblins\ngoblins and trolls\ngoblins attacking\ngoblins partying at a rave\ngod\ngod - rays\ngod bless america\ngod emperor\ngod emperor biden\ngod emperor bongbong marcos\ngod emperor of dune\ngod had dog chihuahua's head\ngod is a girl\ngod is a woman\ngod is dead\ngod king of ai art\ngod light\ngod light shafts\ngod lighting\ngod like\ngod looking at me\ngod of cats\ngod of death\ngod of dragons\ngod of dreams\ngod of moon\ngod of nature\ngod of the dead\ngod of the forest\ngod of the ocean\ngod of the sun\ngod of the underworld\ngod of thunder\ngod of time and space\ngod of war\ngod of war 2 0 1 8\ngod of war 2018\ngod of wealth\ngod of winter\ngod ray\ngod ray across her face\ngod ray through clouds\ngod rays\ngod rays in volumes of fog\ngod rays of light\ngod rays pass through the window\ngod rays through fog\ngod rays through fog. cinematic\ngod rays volume light\ngod rays!!!\ngod save the queen\ngod save the queen!!!\ngod shiva the destroyer\ngod style\ngod sun rays\ngod's rays\ngod's rays highly detailed\ngod's ways are mysterious\ngod-rays\ngod. dramatic gold blue lighting\ngod\\'s creation\ngodbeams\ngoddamn! plus\ngoddess\ngoddess art\ngoddess checking her phone\ngoddess close-up portrait\ngoddess inanna\ngoddess jewelry\ngoddess of anger\ngoddess of autumn\ngoddess of beauty\ngoddess of death\ngoddess of death in a graveyard\ngoddess of dust\ngoddess of fire\ngoddess of galaxies\ngoddess of greek mythology\ngoddess of illusion\ngoddess of light\ngoddess of lightning\ngoddess of love\ngoddess of love and peace\ngoddess of mischief\ngoddess of nature\ngoddess of sleep\ngoddess of space and time\ngoddess of spring\ngoddess of summer\ngoddess of the forest\ngoddess of the hunt\ngoddess of the hunt and the moon\ngoddess of the moon\ngoddess of the ocean\ngoddess of the sea\ngoddess of the sun\ngoddess of the underworld\ngoddess of time\ngoddess of travel\ngoddess of war\ngoddess of winter\ngoddess of wisdom\ngoddess portrait\ngoddess queen\ngoddess shot\ngoddess. extremely high detail\ngodes\ngodes sculpture\ngodess\ngodesses\ngodfather\ngodhand\ngodlike\ngodlike and stoic\ngodlike design\ngodlike temperature\ngodly\ngodly and ethereal\ngodly figures\ngodly light\ngodmachine\ngodness\ngodray\ngodray lighting\ngodray on plants\ngodrays\ngodrays at sunset\ngodrays digital painting\ngodrays from the right\ngods\ngods and men\ngods creation\ngods eye view\ngods of the deep\ngods ray\ngods rays\ngodsend\ngodsent\ngodward\ngodwin akpan\ngodzilla\ngodzilla portrait\ngodzilla tea party with barbie\ngodzilla vs mechagodzilla\ngoes hard\ngofl course and swimming\ngogeta\ngoggle eyes\ngoggles\ngoggles around his neck\ngoggles on forehead\ngogo\ngogo : :\ngogo dancer\ngoing forward to the sunset\ngoing gray\ngoing super saiyan\ngojo satoru\ngoku\ngoku as an asian man\ngoku fighting jesus\ngoku from dragon ball\ngoku from dragon ball z\ngoku from dragonball z\ngoku fused with optimus prime\ngoku in fortnite\ngoku in real life\ngoku portrait\ngold\ngold accents\ngold accessories\ngold adornements\ngold adornments\ngold and black\ngold and black blu\ngold and black color scheme\ngold and black makeup\ngold and black metal\ngold and blue\ngold and cobalt tiles\ngold and gems\ngold and green\ngold and indigo\ngold and luxury materials\ngold and pearl necklaces\ngold and pearls\ngold and purple\ngold and red\ngold and red accents\ngold and red filigree\ngold and red metal\ngold and silver\ngold and silver and brass\ngold and silver armour suit\ngold and silver highlights\ngold and silver ink\ngold and silver shapes\ngold and silver tones\ngold and steel intricate\ngold and teal color scheme\ngold and treasure\ngold and white\ngold and white cloak\ngold and white eyes\ngold and white robes\ngold and yellow notched antlers\ngold armor\ngold armour\ngold armour and crown\ngold armour suit\ngold background\ngold bars\ngold belt\ngold black\ngold black and aqua colors\ngold black and rainbow colors\ngold body\ngold bodypaint\ngold bra\ngold bracelet\ngold brocaded dark blue clothes\ngold cables\ngold chain\ngold chain belt\ngold chain necklace\ngold chains\ngold choker\ngold cloth\ngold clothes\ngold coast australia\ngold coins\ngold collar\ngold color scheme\ngold colored eyes\ngold colours\ngold crown\ngold crown and filaments\ngold dappled light\ngold dappled lighting\ngold decoration\ngold decorations\ngold detailed collar\ngold detailed collar!!!!!\ngold detailed line work\ngold details\ngold dripping in spiral\ngold dust\ngold earring\ngold elements\ngold embroidery\ngold encrustations\ngold ethereal light\ngold eyes\ngold eyeshadow\ngold filigree\ngold flake\ngold flaked flowers\ngold flakes\ngold floral headdress\ngold flowers\ngold foil\ngold fractal details\ngold framed\ngold galleon ship\ngold gates of heaven!!!!!!!!\ngold gilded circle halo\ngold glasses\ngold glow\ngold green and purple colors\ngold green and purple colors”\ngold green blue purple\ngold green creature\ngold hair\ngold hazel eyes\ngold heavy armor. dramatic\ngold helmet\ngold highlights\ngold hoop earings\ngold hour\ngold hour light\ngold inlay\ngold jewellery\ngold jewelry\ngold jewerly\ngold jewlery\ngold layers\ngold leaf\ngold leaf art\ngold leaf painting\ngold leaf texture\ngold leaves\ngold light\ngold line tattoos\ngold linens\ngold madhubani\ngold mask\ngold medal\ngold metal\ngold metals\ngold mist\ngold necklace\ngold noble\ngold obsidian armor\ngold ornaments\ngold ornate jewely\ngold paint\ngold paladin\ngold pipelines\ngold plated\ngold raining in the background\ngold ram horns\ngold ratio\ngold refractions off water\ngold rings\ngold sci - fi armour\ngold shirt\ngold silk\ngold silver\ngold skin\ngold skulls\ngold soccer shorts\ngold sparks\ngold speckles\ngold striated swirling finish\ngold suit\ngold suit jacket in snake print\ngold sword\ngold teeth\ngold theme\ngold throne\ngold tiara\ngold tint\ngold transparent bikini\ngold trim\ngold trimmings\ngold waistcoat\ngold watch\ngold waterfalls\ngold wings\ngold wings on head\ngold wires\ngold-shot\ngolden\ngolden - ratio\ngolden 1 9 2 0 s\ngolden accents\ngolden accessories\ngolden age\ngolden age illustration\ngolden age illustrator\ngolden age seraph bunkers\ngolden and black dress\ngolden and blue hour\ngolden and copper armor\ngolden and copper shining armor\ngolden and silver colors\ngolden and silver jewerly\ngolden apple\ngolden arches\ngolden arches logo\ngolden armor\ngolden armor wearing\ngolden armor with diamonds\ngolden armour\ngolden art nouveau scythe blade\ngolden aura\ngolden autumn\ngolden background\ngolden background with flowers\ngolden bay new zealand\ngolden blue outfit\ngolden bodypaint\ngolden chain\ngolden chains\ngolden chalice\ngolden chinese text\ngolden circlet\ngolden cityscape\ngolden clouds\ngolden collar\ngolden color scheme\ngolden colors\ngolden colour\ngolden computers\ngolden corset\ngolden cracks\ngolden crown\ngolden curve composition\ngolden curve structure\ngolden dapple lighting\ngolden dappled dynamic lighting\ngolden dappled lighting\ngolden dawn\ngolden detailing\ngolden details\ngolden details!\ngolden dragon\ngolden dragonborn\ngolden dress\ngolden eal\ngolden earring\ngolden earrings\ngolden edges and fractals\ngolden elements\ngolden elements at borders\ngolden embers flying\ngolden engines\ngolden etched armor\ngolden etched breastplate\ngolden eyelashes\ngolden eyes\ngolden fabric background\ngolden face tattoos\ngolden feathers\ngolden filigree\ngolden filter\ngolden fire palette\ngolden fireflies lights\ngolden fish in water exoskeleton\ngolden flowers\ngolden frame\ngolden full body armor\ngolden gate\ngolden gate bridge\ngolden gates\ngolden glistening\ngolden gloves\ngolden glow\ngolden goddess\ngolden goddess athena\ngolden grasslands\ngolden hair\ngolden hair blowing the wind\ngolden halo\ngolden halo behind her head\ngolden heavenly lights\ngolden hour\ngolden hour 4k\ngolden hour 8 k\ngolden hour 8k\ngolden hour background\ngolden hour cinematic\ngolden hour closeup photo\ngolden hour dusk sky\ngolden hour firefly wisps\ngolden hour hues\ngolden hour in beijing\ngolden hour in boracay\ngolden hour in manhattan\ngolden hour in pismo california\ngolden hour in tokyo\ngolden hour intricate\ngolden hour lighing\ngolden hour light\ngolden hour lighting\ngolden hour look\ngolden hour photo\ngolden hour photograph\ngolden hour photography\ngolden hour scene\ngolden hour sun\ngolden hour sun rays\ngolden hour sunlight\ngolden hour sunset\ngolden hour sunset lighting\ngolden hour time\ngolden hours\ngolden hour”\ngolden hues\ngolden inlays\ngolden intricate details\ngolden jewelery\ngolden jewellery\ngolden jewelries\ngolden jewelry\ngolden jewelry filigree\ngolden jewels\ngolden key\ngolden lace pattern\ngolden leaves\ngolden leaves at frame border\ngolden light\ngolden light film grain\ngolden lighting\ngolden linings\ngolden machine parts\ngolden magical shoulder pads\ngolden mammoth in a ruined city\ngolden mask\ngolden mean\ngolden meteors\ngolden miniatures\ngolden mist\ngolden morning light\ngolden mountain in the desert\ngolden necklace\ngolden number\ngolden orbs\ngolden orbs and fireflies\ngolden organic structures\ngolden ornaments\ngolden pauldrons\ngolden pillars\ngolden pommel\ngolden pyramids\ngolden rainbow tubing\ngolden raito\ngolden ratio\ngolden ratio  details\ngolden ratio background\ngolden ratio composition\ngolden ratio concept\ngolden ratio details\ngolden ratio face\ngolden ratio illustration\ngolden ratio jewelry\ngolden ratio jewelry candy\ngolden ratio jewelry lights\ngolden ratio patterns\ngolden ratio!!\ngolden ratio!!!\ngolden ratio!!!!\ngolden ratio!!!!!\ngolden ration\ngolden ration composition\ngolden rays\ngolden rays of sunlight\ngolden retriever\ngolden ribbon\ngolden ribbons\ngolden robes\ngolden rule\ngolden sacred tree\ngolden shapes\ngolden shining eyes\ngolden silver elements\ngolden skin\ngolden skin tone\ngolden smooth material\ngolden snakes\ngolden spirals\ngolden steampunk\ngolden steampunk city atmosphere\ngolden straight hair\ngolden sun\ngolden sunlight\ngolden sunset\ngolden sword\ngolden taurus\ngolden tech robes\ngolden teeth\ngolden theme\ngolden thread\ngolden threads\ngolden throne\ngolden time\ngolden toilet\ngolden towers\ngolden treasures on the walls\ngolden trims\ngolden turquoise steampunk\ngolden twilight stained glass\ngolden watery eyes\ngolden windows\ngolden wings\ngolden wood carved in relief\ngolden yellow eyes\ngolden!!! palette\ngolden-hour\ngolden-ratio\ngolden-white robes\ngoldenhour\ngoldenpalette\ngoldenwolf\ngoldfish\ngoldilocks\ngoldsrc\ngolem\ngolen ratio\ngolf course\ngolf course in background\ngolf digest\ngolgari findbroker\ngoliath\ngollum\ngollum as a titan\ngolondrinas\ngond painting\ngondola\ngondolas\ngondor\ngong\ngong li\ngongbi\ngonzalez\ngonzalo fuenmayor\ngonzo\ngoo\ngood\ngood - looking\ngood against evil\ngood anatomy\ngood and evil\ngood art\ngood at cards\ngood bone structure\ngood boy giant mecha wolf hound\ngood cinematic lighting\ngood clear quality\ngood colors\ngood composition\ngood contrast\ngood day\ngood definition of cheekbones\ngood detail\ngood drop\ngood edge control\ngood face\ngood focus\ngood friends\ngood graphic\ngood hips and long legs\ngood housekeeping\ngood light\ngood lighted photo\ngood lighting\ngood lighting beautiful epic\ngood looking\ngood looking face\ngood morning\ngood music\ngood news on sunday\ngood night\ngood photography\ngood posture\ngood proportions\ngood quality\ngood quality lighting\ngood quality photography\ngood shading\ngood smile company\ngood smile company anime style\ngood smile company fantasy\ngood soup\ngood special effects\ngood times\ngood times photograph\ngood value control\ngood versus evil\ngood vibes\ngood vibrations\ngood vs evil\ngood young girl\ngoodness\ngoodnight\ngooey\ngooey skin\ngoofy\ngoofy cartoon\ngoofy smile\ngoogie architecture\ngoogie kitsch aesthetic\ngoogie motifs\ngoogle\ngoogle arts and cultures\ngoogle design\ngoogle earth\ngoogle glass\ngoogle images\ngoogle images search result\ngoogle logo\ngoogle maps\ngoogle maps street view\ngoogle parti quality\ngoogle parti resolution\ngoogle point of view\ngoogle street view\ngoogles\ngoogly eyes\ngoonies\ngoop\ngoopy\ngoose\ngoose!!!!!\ngoosebumps\ngoosebumps book cover\ngoosebumps books\ngooseman\ngooses\ngopher\ngopnik in a black leather jacket\ngopro\ngopro camera\ngopro footage\ngopro lens\ngopro photo\ngopro shot\ngopro shot of the hell\ngordon freeman\ngordon freeman as a woman\ngordon murray\ngordon onslow ford\ngordon ramsay\ngordon ramsey\ngore\ngorecore\ngorge in the mountain\ngorgeous\ngorgeous 3d render\ngorgeous 4 k\ngorgeous and beautiful\ngorgeous and huge head ornaments\ngorgeous aristocrat robe\ngorgeous art\ngorgeous atmosphere\ngorgeous attractive face\ngorgeous background\ngorgeous beautiful\ngorgeous beautiful woman\ngorgeous bikini model\ngorgeous brush strokes\ngorgeous buildings\ngorgeous chinese model\ngorgeous cinematic lighting\ngorgeous clouds\ngorgeous colors\ngorgeous composition\ngorgeous dark\ngorgeous detailed face\ngorgeous digital art\ngorgeous digital painting\ngorgeous elegant attractive\ngorgeous eyes\ngorgeous face\ngorgeous face and figure\ngorgeous face portrait\ngorgeous faces\ngorgeous features\ngorgeous female\ngorgeous female alison brie\ngorgeous female audrey hepburn\ngorgeous female jade tailor\ngorgeous female paladin\ngorgeous female samara weaving\ngorgeous figure\ngorgeous goddess of leo\ngorgeous hair\ngorgeous highly detailed face\ngorgeous jungle ranger\ngorgeous kacey rohl\ngorgeous lady\ngorgeous latina face\ngorgeous lighting\ngorgeous maid\ngorgeous nebula is born\ngorgeous painting\ngorgeous portrait\ngorgeous romantic sunset\ngorgeous scenery\ngorgeous soft lighting\ngorgeous stella maeve magician\ngorgeous sunlight and shadows\ngorgeous symmetrical face\ngorgeous view\ngorgeous volumetric lighting\ngorgeous werefox fursona\ngorgeous woman\ngorgeous young alison brie\ngorgeous young korean woman\ngorgeous young model\ngorgeous!!!\ngorget\ngorgon\ngorilla\ngorillaz\ngorillaz album cover\ngorillaz and daft punk records\ngorillaz art\ngorillaz phase 1\ngorillaz style\ngoro\ngoro and kunkle\ngoro from mortal kombat\ngoron brute\ngorrilaz\ngorthalax the insatiable\ngory\ngossamer wings\ngostoso\ngot shut down\ngoth\ngoth aesthetic\ngoth asthetics\ngoth chic\ngoth clown girl\ngoth cybersuit\ngoth family\ngoth girl\ngoth girl aesthetic\ngoth makeup\ngoth ninja\ngoth people dancing\ngoth punk clothes\ngoth style\ngoth transformers\ngoth vibe\ngoth woman\ngotham\ngotham city\ngotham city background\ngotham city double exposure\ngotham city style\ngotham setting\ngothcore\ngothic\ngothic - cyberpunk\ngothic 2\ngothic aesthetic\ngothic and baroque\ngothic and futuristic\ngothic antique theme\ngothic arch frame\ngothic architecture\ngothic armor\ngothic art style\ngothic atmosphere\ngothic background\ngothic baroque citadel\ngothic building style\ngothic castle\ngothic castle in background\ngothic castle in the background\ngothic cathedral\ngothic church background\ngothic city streets behind her\ngothic clothes\ngothic clothing\ngothic coat\ngothic dress\ngothic epic library\ngothic epic library concept\ngothic eyeliner\ngothic face\ngothic fantasy\ngothic fantasy art\ngothic fashion\ngothic fog\ngothic fog ambience\ngothic girl\ngothic girl dressed in black\ngothic girl face\ngothic girl smoking\ngothic girl smoking a cigarette\ngothic harts\ngothic horror\ngothic horror vibes\ngothic influence\ngothic interior\ngothic jacket\ngothic knight\ngothic library\ngothic lighting\ngothic locomotive\ngothic maiden\ngothic maiden anime girl\ngothic maiden of the dark\ngothic maiden shaman\ngothic makeup\ngothic mansion\ngothic mansion room\ngothic manuscript with intricate\ngothic outfit\ngothic painting\ngothic princess portrait\ngothic quarter\ngothic regal\ngothic regal and tattered black\ngothic revival\ngothic rich deep colors\ngothic romance\ngothic ship on ocean\ngothic stained glass style\ngothic style\ngothic tattoos\ngothic wearing\ngothic wearing hooded dark cloak\ngothic wraith maiden\ngothic!!\ngothic-futurist architecture\ngothique\ngotic harts\ngoto fujita\ngouache\ngouache 3 d shading\ngouache 3d shading\ngouache and ink\ngouache and wash paints\ngouache and wash paints color\ngouache illustration\ngouache matte painting\ngouache on canvas\ngouache on paper\ngouache paint\ngouache painting\ngouche\ngouf\ngouf evangelion\ngouf mobile suit\ngourd\ngourds\ngourmet\ngourmet and crafts\ngourmet cooking\ngourmet michelin restaurant\ngourmet restaurant\ngourmet style\ngovernment archive\ngovernment archive photograph\ngoward\ngown\ngoya\ngoya painting\ngoya the colossus painting\ngpt\ngpu\ngpu fire\ngpus go brrr\ngq\ngq cover : :\ngq magazine\ngq magazine cover\ngraafland\ngrabado\ngrabbing a rifle\ngrace\ngrace and blessing\ngrace jones\ngrace jones fashion\ngrace kelly\ngrace moretz\ngraceful\ngraceful and elegant\ngraceful arms\ngraceful beauty\ngraceful body structure\ngraceful curves\ngraceful face\ngraceful gaze\ngracefully belly dancing pose\ngracious\ngracked\ngradation\ngraded with davinci resolve\ngradient\ngradient and patterns wallpaper\ngradient aperture\ngradient background\ngradient black green gold\ngradient black to purple\ngradient black to silver\ngradient blue\ngradient blue black\ngradient brown to red\ngradient brown to silver\ngradient brown to white\ngradient color\ngradient colors\ngradient cyan\ngradient cyan to blue\ngradient cyan to purple\ngradient dark purple\ngradient dark red\ngradient darker to bottom\ngradient filter\ngradient from green to black\ngradient from warm to cold tone\ngradient green\ngradient green black\ngradient hair\ngradient iridescence colors\ngradient light blue\ngradient light green\ngradient light pink\ngradient light purple\ngradient light red\ngradient light yellow\ngradient maroon\ngradient mixed with nebula sky\ngradient orange\ngradient pastel green\ngradient pink\ngradient purple\ngradient red\ngradient red to black\ngradient red to yellow\ngradient sapphire\ngradient shading\ngradient studio background\ngradient white blue green\ngradient white to gold\ngradient white to red\ngradient white to silver\ngradient yellow\ngradient yellow to red\ngradients\ngradients and soft light\ngrading\ngradins\ngradins view\ngradius\ngraduation photo\ngraeme base\ngraffiti _ background  smoke\ngraffiti _ background ( smoke )\ngraffiti and posters on the wall\ngraffiti art style\ngraffiti background\ngraffiti buff\ngraffiti concrete\ngraffiti elements\ngraffiti in an abandoned bunker\ngraffiti in background\ngraffiti in the background\ngraffiti inspired\ngraffiti letters\ngraffiti monster\ngraffiti of a homer simpson\ngraffiti on a wall\ngraffiti on the side\ngraffiti on the wall\ngraffiti on the walls\ngraffiti on wall\ngraffiti on walls\ngraffiti paint\ngraffiti painting\ngraffiti street art\ngraffiti style\ngraffiti throws\ngraffiti wildstyle\ngraffiti writing\ngraffitis\ngrafit studio\ngrafitti\ngrafitti art\ngrafitti paint\ngrafity\ngraflex\ngraflex 4 x 5\ngraflex camera\ngraham humphreys\ngraham ingels\ngrain\ngrain 1 9 9 0\ngrain 1990\ngrain effect\ngrain gelios lens\ngrain kodak\ngrained risograph\ngrainy\ngrainy 1980 cinematography\ngrainy 1985 cinematography\ngrainy black and white footage\ngrainy black and white photo\ngrainy black-and-white photo\ngrainy damaged photo\ngrainy film\ngrainy film kodak\ngrainy film photo\ngrainy film photograph\ngrainy film photography\ngrainy film still\ngrainy filter\ngrainy footage\ngrainy image\ngrainy low quality\ngrainy low quality photograph\ngrainy monochrome photo\ngrainy movie still\ngrainy photo\ngrainy photo of an ugly man\ngrainy photo of an ugly woman\ngrainy photograph\ngrainy photorealistic\ngrainy picture\ngrainy polaroid\ngrainy poster art\ngrainy quality\ngrainy risograph matte painting\ngrainy tape\ngrainy texture\ngrainy texturized dusty\ngrainy tri-x pushed to 3200\ngrainy vintage\ngrainy. poorly rated\ngrain”\ngrammy award winning\ngranblue fantasy\ngrand\ngrand admiral thrawn\ngrand angel wings\ngrand battle\ngrand budapest hotel\ngrand canyon\ngrand canyon in background\ngrand canyon | golden hour\ngrand composition\ngrand finale\ngrand library\ngrand majestic mountains\ngrand master\ngrand piano\ngrand scale\ngrand theft auto\ngrand theft auto 5\ngrand theft auto cover art\ngrand theft auto poster\ngrand theft auto style\ngrand theft auto v\ngrand theft auto video game\ngrand!\ngrand-composition\ngrandeur\ngrandfailure\ngrandfatherly\ngrandiose\ngrandiose portrait\ngrandma\ngranite\ngranny weatherwax\ngrant us eyes\ngrant wood\ngranting him a noble title\ngranular detail\ngranville chandor\ngrape\ngrape hyacinth\ngrapes\ngraph design\ngraph signals\ngraphene\ngraphic\ngraphic 4 5\ngraphic art\ngraphic artist artgerm\ngraphic artist davi blight\ngraphic artist magali villeneuve\ngraphic artist peter mohrbacher\ngraphic artist steve argyle\ngraphic composition\ngraphic design\ngraphic design background\ngraphic design contest winner\ngraphic design poster\ngraphic design | meta design\ngraphic detail\ngraphic glitches\ngraphic illustration\ngraphic manga\ngraphic musicality\ngraphic novel\ngraphic novel art\ngraphic novel cover art\ngraphic novel style\ngraphic of enchanted terrarium\ngraphic print\ngraphic shapes\ngraphic style\ngraphic tees\ngraphic templates\ngraphical\ngraphical errors\ngraphics\ngraphics $ 9 9 call now\ngraphics card\ngraphics mods\ngraphic”\ngraphite\ngraphite drawing\ngraphite on paper\ngraphs\ngrasp of darkness\ngrasp of darkness!!!\ngrasping\ngrasping intricate filigree\ngrasping pseudopods\ngrass\ngrass - like\ngrass and flowers\ngrass and rocks\ngrass and water\ngrass and weeds\ngrass and weeds”\ngrass field\ngrass field surrounding the city\ngrass landscape\ngrass mountain landscape\ngrass mountain night landscape\ngrass spiral mountain landscape\ngrass surrounding it\ngrass texture\ngrass texture material\ngrass. kodak\ngrasshopper 3d\ngrassland\ngrasslands\ngrassy\ngrassy autumn park outdoor\ngrassy field\ngrassy fields\ngrassy hill\ngrassy hills\ngrassy knoll\ngrassy plains\ngrassy stones\ngrave\ngravel\ngravel and scree ground\ngravels around\ngraves\ngraveside\ngravestones\ngraveyard\ngraveyard background\ngraveyard landscape\ngraveyard landscape at night\ngraveyard tombstones\ngravitas\ngravitational lens\ngravitational lenses\ngravitational lensing\ngravitational singularity\ngravity\ngravity failing\ngravity falls\ngravity falls style\ngravity is strong\ngravity mess\ngravity rush\ngravity rush inspired\ngray\ngray alien\ngray and orange colours\ngray anthropomorphic\ngray background\ngray beard\ngray black white and red noir\ngray canvas\ngray clouds\ngray color\ngray concrete\ngray dull background\ngray eyes\ngray fog\ngray hair\ngray hair and beard\ngray haired\ngray hoodie\ngray men\ngray mottled skin\ngray scale\ngray shirt\ngray shorts and black socks\ngray skies\ngray skin\ngray skin. grunge\ngray sky\ngray sky with wispy clouds\ngray stone\ngray stone wall\ngray wasteland\ngraying hair\ngrayish\ngrayscale\ngrayscale 1 9 0 0 s picture\ngrayscale 1900 s picture\ngrayscale monochromatic\ngrayscale pantone\ngrayscale photo with red dress\ngrayscale photography\ngrayscale phtoto with red dress\ngrazing\ngreasy\ngreasy hair\ngreat\ngreat _ hairstyle\ngreat a'tuin\ngreat action\ngreat architecture\ngreat atmosphere\ngreat atuin\ngreat barrier reef\ngreat body\ngreat britain\ngreat character design\ngreat cinematic lighting\ngreat cinematography\ngreat coherency\ngreat colors\ngreat composition\ngreat composition cinematic\ngreat compostion\ngreat corrupter\ngreat detail\ngreat detail. 2 4 mm\ngreat detail. 24 mm\ngreat detailed face\ngreat details\ngreat digital art with details\ngreat emperor of russian empire\ngreat fantasy mood\ngreat finesse hyper detailed\ngreat high details\ngreat horns\ngreat king of stovokor\ngreat level of detail\ngreat leviathan\ngreat leviathan turtle\ngreat light\ngreat light and shadows\ngreat light and shadows”\ngreat lighting\ngreat likeness\ngreat masterpiece\ngreat migration\ngreat mystical winged serpent\ngreat old one\ngreat photographers\ngreat photography\ngreat pinterest photo\ngreat proportions\ngreat pyramid of giza\ngreat quality\ngreat quality )\ngreat red feather\ngreat river\ngreat sense for composition\ngreat sense of depth\ngreat soul\ngreat space\ngreat teacher onizuka\ngreat textures and lighting\ngreat use of line work and color\ngreat view\ngreat volumetric lighting\ngreat wall\ngreat wave\ngreat wave of hokusai\ngreat wave off kanagawa\ngreat white shark\ngreat wings\ngreat wolf\ngreat works of the masters\ngreatest art ever made\ngreatest elven warrior\ngreatly detailed\ngreatly illustrated\ngreatsword\ngreaves\ngreco roman statue\ngreco-roman art\ngreeble\ngreeble detail\ngreeble tech\ngreeble texture\ngreeble!!\ngreebles\ngreece\ngreed\ngreedy\ngreek\ngreek acropolis\ngreek amazon warrior\ngreek ameera al taweel\ngreek architecture\ngreek armor\ngreek art\ngreek dark myth\ngreek dark ritual myth\ngreek elements\ngreek ethnicity\ngreek fabric\ngreek fantasy\ngreek fantasy landscape\ngreek fantasy panorama\ngreek god\ngreek god in mecha style\ngreek goddess\ngreek goddess athena\ngreek godness portrait sculpture\ngreek gods\ngreek marble statue\ngreek mask\ngreek myth\ngreek myth digital painting\ngreek mythology\ngreek mythology characters\ngreek nose\ngreek pool\ngreek romanian\ngreek sculpture\ngreek setting\ngreek statue\ngreek style\ngreek temple\ngreek temple background\ngreek titan goddess themis\ngreek white marble\ngreek-esque columns and ruins\ngreeks\ngreen\ngreen 1967 ford mustang gt\ngreen accent lighting\ngreen alley\ngreen alleys\ngreen ambient light\ngreen and black\ngreen and black color scheme\ngreen and black colors\ngreen and black hair\ngreen and blue\ngreen and blue and warm theme\ngreen and blue color scheme\ngreen and blue colors\ngreen and blue colour palette\ngreen and blue palette\ngreen and blue tones\ngreen and brown clothes\ngreen and brown color palette\ngreen and brown tones\ngreen and gold\ngreen and gold palette\ngreen and orange theme\ngreen and pink\ngreen and pink colour palette\ngreen and pink fabric\ngreen and purple\ngreen and purple color scheme\ngreen and purple hair\ngreen and purple studio lighting\ngreen and red\ngreen and red plants\ngreen and red radioactive swamp\ngreen and red tones\ngreen and warm theme\ngreen and white\ngreen and yellow\ngreen and yellow colors\ngreen and yellow tones\ngreen apples\ngreen architecture\ngreen armor\ngreen arms\ngreen aura\ngreen background\ngreen backlight leaves\ngreen big eyes\ngreen bikini\ngreen bioluminescent chrometype\ngreen blessing\ngreen blue red colors\ngreen body\ngreen body. red eyes\ngreen bright red\ngreen bulging eyes\ngreen cape\ngreen charts\ngreen cloak\ngreen clothes\ngreen clothing\ngreen color palette\ngreen color scheme\ngreen colored bomber jacket\ngreen colored skin\ngreen colored skin!!\ngreen colored theme\ngreen colors\ngreen colours\ngreen concert light\ngreen corduroy pants\ngreen crt monitors\ngreen crystal\ngreen cyrodiil plains\ngreen digital world\ngreen doom guy\ngreen dragon\ngreen dress\ngreen dress with a black hood\ngreen eays\ngreen eggs and ham\ngreen energy\ngreen eye\ngreen eyes\ngreen eyes fine face pretty face\ngreen eyes!!!\ngreen eyes!!!!\ngreen eyes. 2 4 mm\ngreen eyes. high contrast lines\ngreen face\ngreen facemask\ngreen feathers\ngreen feathery hair\ngreen field\ngreen field with village ruins\ngreen fields\ngreen fields in the background\ngreen fire\ngreen flag\ngreen flags\ngreen floor\ngreen flora forest\ngreen flowing hair\ngreen flush moss\ngreen fog\ngreen foliage\ngreen forest\ngreen fur\ngreen gas spreading across land\ngreen glow\ngreen glowing cracks on face\ngreen glowing eyes\ngreen glowing runes\ngreen glows\ngreen goblin\ngreen goblin portrait\ngreen gold\ngreen grass\ngreen grasse trees and river\ngreen hair\ngreen halter top\ngreen hat\ngreen head\ngreen highlights\ngreen hill\ngreen hill zone\ngreen hills\ngreen hills savanna tree\ngreen hood\ngreen house\ngreen hue\ngreen iris\ngreen jewelry\ngreen jungle\ngreen jungle background\ngreen lantern\ngreen leaves\ngreen legs\ngreen letters\ngreen light\ngreen light coming from window\ngreen light dust\ngreen lighting\ngreen lightning\ngreen lights\ngreen lightsaber\ngreen lily pads\ngreen lines\ngreen litham veil\ngreen magenta and gold\ngreen magenta and gold ”\ngreen magic\ngreen man\ngreen mane\ngreen matrix code\ngreen matrix light\ngreen meadow\ngreen meadows\ngreen mist\ngreen moss\ngreen moss all over\ngreen neon\ngreen neon details\ngreen neon signs\ngreen ocean\ngreen oozing pool pit\ngreen orc female\ngreen pastures stretch for miles\ngreen pickup car\ngreen plant\ngreen plants\ngreen power ranger\ngreen pupills\ngreen radioactive glow\ngreen rain\ngreen ratio\ngreen robe\ngreen robes\ngreen rubber suit godzilla\ngreen saliva\ngreen scary lights\ngreen scheme\ngreen screen\ngreen screen background\ngreen sea\ngreen sea urchin\ngreen shades\ngreen shirt\ngreen skin\ngreen skin with scales\ngreen skin!\ngreen skin. intricate\ngreen skinned\ngreen sky\ngreen slime\ngreen slime dripping\ngreen slime everywhere\ngreen smoggy sky\ngreen smoke\ngreen snakes\ngreen snakes background\ngreen spaces\ngreen sparkles\ngreen square\ngreen stained glass\ngreen steam rising from soup\ngreen steampunk lasers\ngreen suit and bowtie\ngreen supernatural eyes\ngreen swimsuit\ngreen tea\ngreen technology\ngreen terrace\ngreen theme\ngreen tiara\ngreen tint\ngreen tonalities\ngreen tone\ngreen tones\ngreen tones and golden charms\ngreen trees\ngreen tunic\ngreen valley below\ngreen vegetation\ngreen vines\ngreen visor\ngreen wall\ngreen wallpaper background\ngreen walls\ngreen water\ngreen waters\ngreen wavy hair\ngreen whispy fog\ngreen witch walking her garden\ngreen world\ngreen: 0.25\ngreen: 0.5\ngreenery\ngreenery growing\ngreenhouse\ngreenhouse in the background\ngreenish blue tones\ngreenish colors\ngreenish expired film\ngreenish lighting\ngreenish skin\ngreenish tinge\ngreens\ngreens and blues\ngreens)\ngreeting card\ngreeting hand on head\ngreg\ngreg ]\ngreg beeple\ngreg broadmore\ngreg crewdson\ngreg gandy\ngreg hildebrandt and mark brooks\ngreg hildebrandt highly detailed\ngreg hildebrant\ngreg irons\ngreg kutkowski\ngreg manchess\ngreg olsen\ngreg rukowski\ngreg rutgowski\ngreg ruth\ngreg ruthkowski\ngreg ruthowski\ngreg rutknowski\ngreg rutkoswki\ngreg rutkovski\ngreg rutkovsky\ngreg rutkowki\ngreg rutkowksi\ngreg rutkowksi and artgerm\ngreg rutkowsi\ngreg rutkowsk\ngreg rutkowski\ngreg rutkowski - c 1 0\ngreg rutkowski - c 1 5\ngreg rutkowski - h 7 6 8\ngreg rutkowski 4 k\ngreg rutkowski 4k\ngreg rutkowski 8 k\ngreg rutkowski 8k\ngreg rutkowski ; whimsical\ngreg rutkowski and alex ross\ngreg rutkowski and anders zorn\ngreg rutkowski and artgerm\ngreg rutkowski and carvaggio\ngreg rutkowski and craig mullins\ngreg rutkowski and da vinci\ngreg rutkowski and dave gibbons\ngreg rutkowski and edgar maxence\ngreg rutkowski and francis bacon\ngreg rutkowski and h r giger\ngreg rutkowski and ilya repin\ngreg rutkowski and ivan shishkin\ngreg rutkowski and j.dickenson\ngreg rutkowski and jakub rebelka\ngreg rutkowski and james gurney\ngreg rutkowski and krenz cushart\ngreg rutkowski and krenzcushart\ngreg rutkowski and larry elmore\ngreg rutkowski and luis royo\ngreg rutkowski and makoto shinka\ngreg rutkowski and mario testino\ngreg rutkowski and moebius\ngreg rutkowski and rob ross\ngreg rutkowski and ross tran\ngreg rutkowski and studio ghibli\ngreg rutkowski and wayne barlowe\ngreg rutkowski and wlum\ngreg rutkowski art\ngreg rutkowski artistry works\ngreg rutkowski carne_griffiths\ngreg rutkowski concept art\ngreg rutkowski detailed\ngreg rutkowski futurism\ngreg rutkowski highly detailed\ngreg rutkowski makoto shinkai\ngreg rutkowski octane render\ngreg rutkowski painting\ngreg rutkowski ruan jia\ngreg rutkowski studio ghibli\ngreg rutkowski style\ngreg rutkowski uhd 8k\ngreg rutkowski winter\ngreg rutkowski wlop\ngreg rutkowski ”\ngreg rutkowski. cinematic\ngreg rutkowski. octane render\ngreg rutkowski. sharp focus\ngreg rutkowsky\ngreg rutkuwsky\ngreg rutkwoski\ngreg rutkwowski\ngreg rutowski\ngreg rutwoski\ngreg simkins\ngreg tocchini\ngregg araki\ngregoire and manon\ngregory\ngregory euclide\ngregory manchess ”\ngreig fraser\ngreig fraser cinematography\ngrek rutkowski\ngremlin\ngremlins movie\ngrenade\ngrenade explosion\ngrenade in hand\ngret ritkowski dramatic\ngreta garbo\ngreta thunberg\ngreta thunberg as gollum\ngreta thunberg smiling\ngrey\ngrey - scale\ngrey alien\ngrey aliens\ngrey and blue theme\ngrey and dark theme\ngrey and gold color palette\ngrey and silver\ngrey armor\ngrey backdrop\ngrey background\ngrey beard\ngrey cloth\ngrey clothes\ngrey clouds\ngrey cloudy skies\ngrey cobble stones\ngrey color scheme\ngrey colored eyes\ngrey colours\ngrey contacts\ngrey ears\ngrey eyes\ngrey facial flesh\ngrey forest background\ngrey forest in the background\ngrey fur\ngrey hair\ngrey hair and a cowboy hat\ngrey hairs\ngrey hoodie\ngrey hoodie opened\ngrey jacket\ngrey matter\ngrey matter and neurons\ngrey metal body\ngrey mist\ngrey mouse ears\ngrey mustache\ngrey orange\ngrey pants and black dress shoes\ngrey porcelain sculpture\ngrey robe\ngrey robes\ngrey rubber undersuit\ngrey scale\ngrey shift\ngrey skies\ngrey skies rain\ngrey skies with two rainbows\ngrey skin\ngrey skinned\ngrey skirt\ngrey sky\ngrey snake scale skin\ngrey striped walls\ngrey suit\ngrey sweater\ngrey tarnished longcoat\ngrey tarnished robes\ngrey tones\ngrey trimmed beard\ngrey turtleneck coat\ngrey vegetables\ngrey warehouse background\ngrey-eyed\ngreybeard\ngreyish blue eyes\ngreyish tones\ngreys\ngreys anatomy book\ngreyscale\ngreyscale 1 9 9 0\ngreyscale 1990\ngreyscale grain 1 9 6 0\ngreyscale grain 1960\ngric\ngrid\ngrid and web\ngrid arrangement\ngrid layout\ngrid montage of eyes\ngrid montage of shapes\ngrid of eye shapes\ngrid of styles\ngridless\ngridless dnd map\ngrief\ngrief and despair\ngrieving\ngrieving. intricate\ngriffin\ngriffin-like style\ngriffith\ngriffith from berserk\ngrill\ngrilled artichoke\ngrilled chicken\ngrills\ngrim\ngrim - lighting\ngrim - wolf\ngrim and gloomy lighting\ngrim atmosphere\ngrim color palette\ngrim colors\ngrim crushing atmosphere\ngrim dark\ngrim dark orientalism\ngrim dawn\ngrim expression\ngrim facial expression\ngrim fantasy\ngrim fashion model looking up\ngrim gwent card\ngrim lighting\ngrim reaper\ngrim reaper except a rat\ngrim vibrance orientalism\ngrim yet sparkling atmosphere\ngrim-hatter\ngrimace\ngrimacing\ngrimdark\ngrimdark art\ngrimdark atmosphere\ngrimdark chaos fortress\ngrimdark dramatic lighting\ngrimdark fantasy\ngrimdark fantasy fortress\ngrimdark horror\ngrimdark horror style\ngrimdark matte fantasy painting\ngrimdark paladin\ngrimdark realism\ngrimdark steampunk fantasy\ngrimdark vibes\ngrimdark vibrant palette\ngrime\ngrime and grunge\ngrimes\ngrimes - book 1 album cover\ngrimgar\ngrimm\ngrimoire\ngrimoire page\ngrimshaw\ngrimy\ngrimy streets backdrop\ngrimy walls\ngrin\ngrind\ngrindcore\ngrindhouse\ngrinning\ngrinning evily\ngrinning lasciviously\ngrinning sinisterly\ngripping\ngrisaille\ngrit\ngritty\ngritty and noisy\ngritty atmosphere\ngritty background\ngritty coloring\ngritty distopian\ngritty feeling\ngritty film noir\ngritty image\ngritty portrait\ngritty realism\ngritty realistic smoke\ngritty tech\ngritty texture\ngritty textured\ngritty world\ngritty!!!\ngrizzled\ngrizzled beard\ngrizzly\ngrizzly bear riding a horse\ngrog strongjaw\ngrogu\ngroom\ngroomed beard\ngroomed eyebrows\ngroomed facial hair\ngroot\ngroot costume\ngroovival aesthetic\ngroovy\ngroovy hairband\ngroovy lighting\ngroovy vibe\ngross\ngross alien\ngrossmünster\ngrotesk font\ngrotesque\ngrotesque hell\ngrotesque joker\ngrotesque large alien\ngrotto\ngrotty\nground\nground - level medium shot\nground - level view\nground angle\nground angle hd 8 k\nground angle uhd 8 k\nground beef\nground breaking\nground broken\nground camera\nground covered in maggots\nground covered in mist\nground covered with snow\nground detailed\nground explosion\nground fog\nground haze\nground level\nground level camera view\nground level shot\nground level view\nground level view of soviet town\nground meat\nground mist\nground mist swirling vortexes\nground perspective\nground perspective; detailed\nground red meat\nground up angle\nground very detailed\nground view\nground view shot\nground-breaking\nground-level view\ngroundbreaking\ngroundbreaking art\ngroup\ngroup intelligence\ngroup mass composition\ngroup of people\ngroup of people in a dark room\ngroup of people in an elevator\ngroup of seven\ngroup photo\ngroup portrait\ngroup portraits\ngroup sit at table\ngroups of happy humans\ngroups of happy people\ngroups of people\ngrowing\ngrowing off a tree\ngrowing out of a giant rose\ngrowling\ngrown together\ngrown up\ngrows up to the sky\ngrowth\ngrowth of a couple\ngrowth on head\ngrowths\ngrteg rutkowski\ngru from despicable me\ngruesome\ngruffness\ngrumpy\ngrumpy  old\ngrumpy [ old ]\ngrumpy cat\ngrumpy cat smiling ear to ear\ngrumpy gorilla\ngrunge\ngrunge aesthetic\ngrunge aesthetic!!!\ngrunge aesthetic!!! (\ngrunge art\ngrunge cyberpunk\ngrunge fashion\ngrunge rock\ngrunge style\ngrunge wall\ngrunged up\ngrungy\ngrungy dystopia\ngrungy gothic\ngrungy nightmare\ngrungy steel\ngrungy woman\ngrungy woman with rainbow hair\ngrungy; colorful\ngrungy; oil on canvas\ngryffindor\ngryphon\ngsociety\ngt40\ngt40 and countach\ngta\ngta 4 loading screen\ngta 4 loading screen artwork\ngta 5\ngta 5 artwork\ngta 5 comics\ngta 5 cover\ngta 5 cover art\ngta 5 cover art style\ngta 5 cover style\ngta 5 loading screen\ngta 5 loading screen poster\ngta 5 screenshot\ngta 5 skin tone\ngta 6\ngta 6 gameplay\ngta 6 leak\ngta 6 style\ngta : dubai\ngta art\ngta art style\ngta artstyle\ngta character\ngta chinatown\ngta chinatown art style\ngta chinatown pop art style\ngta chinatown wars art style\ngta chinatowon art style\ngta cover\ngta cover art\ngta in moscow\ngta iv art style\ngta loading screen\ngta loading screen art\ngta san andreas\ngta san andreas cover art\ngta style\ngta v\ngta v art\ngta v art cover\ngta v artwork\ngta v character\ngta v cover\ngta v cover art\ngta v cover!!\ngta v gameplay screenshot\ngta v loading screen\ngta v loading screen art\ngta v poster\ngta v poster style\ngta v screenshot\ngta v street style\ngta v style\ngta vi\ngta vice city art style\ngta vice city cover art\ngta vice city remastered\ngta vice city style\ngta vice city style art\ngta5\ngta5 style\ngtav\ngthl.art\ngtr xu1\ngtx 3090\nguache\nguan yu\nguanajuato\nguangjian\nguangjian huang\nguantanamo bay prison\nguanyin\nguanyin of the southern seas\nguapo\nguard\nguardian of the holy lake\nguardian project\nguardians of the galaxy\nguardians of the galaxy style\nguardians of the galaxy-style 4k\nguardrail\nguardrails\nguards\nguards intricate\ngucci\ngucci bread\ngucci catwalk\ngucci clothes\ngucci glasses\ngucci goddess\ngucci poster\nguccimaze\nguerilla heroico\nguerilla soldier\nguernica\nguerrillero heroico\nguggimon\ngui\ngui guimaraes\nguide\nguido\nguido crepax\nguido reni style\nguild commission\nguild wars 2\nguildwar artwork\nguillaume tholly\nguillem h. pongiluppi\nguillermo del toro :\nguilloche\nguillotine\nguillotine rgb\nguilt\nguilty crown\nguilty gear\nguilty gear art direction\nguilty gear art style\nguilty gear strive graphics\nguilty gear strive splash art\nguinea pig looking up at the sky\nguitar\nguitar concept art\nguitar in the shape of a deer\nguitar shape build\nguitar solo\nguitarist\nguitarists\nguitars\ngujian\ngulf\ngulf of naples\ngulf war photography\ngulliver ’ s travels\ngulliver's travels\ngullivers travels\ngulper eel\ngum rubber outsole\ngum tissue\ngumball machine\ngumball watterson\ngumdrop bunnies\ngumdrops\ngummy bear\ngummy bears\ngummy candies\ngummy worms\ngumroad\ngun\ngun art reference\ngun at bottom of screen\ngun auction\ngun fight\ngun metal grey\ngun scraps\ngunbreaker\ngunbroker\ngundam\ngundam armor\ngundam box art\ngundam head\ngundam is windmill shaped\ngundam robot\ngundam style\ngundam wing style armor\ngunfire\ngungnir\ngungrave\ngunma prefecture\ngunmetal grey\ngunner\ngunpla\ngunplay\ngunpowder smoke\nguns\nguns blazing\ngunship\ngunshots\ngunshots fired\ngunshu\ngunslinger\ngunslingers\ngunsmithing\ngunther von hagens\ngunwoo kim and j.dickenson\nguren lagan\ngurenn lagann\ngurney\ngurney with ambient lighting\nguro art\ngurren lagan\ngurren lagann\ngus fring\ngushy gills and baleen\ngushy gills and blush\ngustav\ngustav klimpt\ngustav klimt 4 k\ngustav klimt 4k\ngustav klimt 8k\ngustav klimt and mel ramos\ngustav klimt painting\ngustav klimt style\ngustav klimt yoh yoshinari\ngustav moreau\ngustave\ngustave bauman\ngustave dore and greg rutkowski\ngustave dore and junji ito\ngustave dore and marco mazzoni\ngustave dore background\ngustave dore engraving\ngustave dore lithography\ngustave dore style\ngustave dore' background\ngustave dore\\' background\ngustave doré style\ngustave klimt\ngustave loiseau\ngustavo dore\ngustavo fring\nguts\nguts and teeth\nguts berserk\nguts from berserk\nguwahati\nguweiz\nguweiz and makoto shinkai\nguweiz masterpiece\nguweiz on artstation pixiv\nguweiz on pixiv artstation\nguy\nguy billout\nguy bourdin\nguy fieri\nguy fieri in star wars\nguy fieri in stranger things\nguy using the purple fancy suit\nguy with horse head\nguybrush threepwood\nguys\nguyver\nguyver dark hero\nguyver style\ngvc design\ngwanghwamun\ngwar\ngwelf\ngwen stacy\ngwent\ngwyn\ngym\ngymasium\ngynoid body\ngynoid cyborg body\ngyo fujikawa\ngyokugan\ngypsophila\ngypsy\ngyro zeppeli\ngyroscope\ngérard depardieu as wario\nh 1 0 2 4\nh 1 0 8 0\nh 1024\nh 1088\nh 576\nh 6 4 0\nh 640\nh 7 0 4\nh 7 6 8\nh 768\nh 8 0 0\nh 8 0 0 c 1 0. 0\nh 800\nh 9 6 0\nh 960\nh e giger\nh r\nh r geiger\nh r giger\nh r giger and alphonse mucha\nh r giger style\nh- 1024\nh. giger\nh. hydrochaeri\nh. hydrochaeris\nh. kyoht luterman\nh. p lovecraft\nh. p. lovecraft\nh. r geiger\nh. r giger\nh. r. giger\nh. r. giger and beksinski\nh. r. giger and tom bagshaw\nh. r. giger hieroglyphs\nh. r. giger style\nh. u. d\nh.p. lovecraft as cthulhu\nh.r giger\nh.r. geiger\nh.r. giger and jeffrey smith\nh.r. giger city\nh.r. giger design of iron man\nh.r. giger style\nh.r.giger\nh0\nh3h3\nhaafingar hold\nhabitat 6 7\nhabitat 67\nhabitat 67 background\nhabl telescope\nhabs jersey\nhabs logo\nhabs mascot youppi pokemon shiny\nhacker\nhackerman\nhacking\nhacking effects\nhacking into the mainframe\nhacknaut cyberpunk\nhackrobat\nhackrobat!!!\nhad\nhades\nhades supergiant\nhadouken\nhadron antimatter vacuum reactor\nhadron collider\nhadron collider technology\nhaeckel\nhaeckel and alasdair gray\nhaggard\nhagrid\nhagrid in cute anime style\nhahaha\nhahaha!'\nhahahaha\nhaibane renmei\nhaida\nhaida gwaii\nhail satan\nhailee steinfeld\nhailstorm\nhair\nhair : long brown\nhair are cable wires\nhair are curled wired cables\nhair are wired cables\nhair becoming autumn red leaves\nhair blackbangs hair\nhair blocking eyes\nhair blowing\nhair blowing in the wind\nhair blowing the wind\nhair blue two long braids\nhair bow\nhair bun\nhair color\nhair coloring\nhair covering eyes\nhair detailing\nhair died to a hazelnut brown\nhair down\nhair down to floor\nhair down to waist\nhair dyed to a hazelnut brown\nhair fanned around\nhair floating covering chest\nhair floating in the wind\nhair flowing\nhair flowing down\nhair fluid\nhair fluttering in the wind\nhair gel combed backwards\nhair in a ponytail\nhair in a ponytail. shirt\nhair in pigtails\nhair in slick low ponytail\nhair in the wind\nhair in wind\nhair is floating\nhair is the focus\nhair jewellery\nhair light\nhair like dark clouds\nhair like fire\nhair looks like a helmet\nhair loopies\nhair loops\nhair made of fire\nhair made of shimmering ghosts\nhair made of trees\nhair monster\nhair ornaments\nhair over face\nhair over her eyes\nhair ponytail\nhair strands\nhair styled in a bun\nhair styles\nhair texture\nhair tied and braided loosely\nhair tied back\nhair tied in a bun\nhair tied in a cute way\nhair tied in a ponytail\nhair tied up in a bun\nhair tied up in a pony tail\nhair visible\nhair waving in the wind\nhair whitebangs hair\nhair worn up\nhairband\nhairdryer\nhairless\nhairs\nhairs fluttering on the wing\nhairs fly in the wind\nhairspray\nhairstyle\nhairstyle red mohawk\nhairworks\nhairy\nhairy arms\nhairy bodies\nhairy body\nhairy chest\nhairy chest and hairy body\nhairy legs\nhairy orange body\nhairy orange skin\nhairy shoulders\nhairy torso\nhajime isayama\nhajime katoki\nhajime no ipo box fight\nhajime no ippo manga inspired\nhajime sorayama aaron horkey\nhajime sorayama designed girl\nhajime sorayama style\nhajime soryama\nhajime yatate\nhakama kimono\nhakusensha\nhalation\nhalations\nhalberd\nhalf & half hair\nhalf & half hair dye\nhalf - body\nhalf - body composition\nhalf - body shot\nhalf - closed eyes\nhalf - demon horn\nhalf - electric striking woman\nhalf - electric woman\nhalf - finished robot\nhalf - frame square glasses\nhalf - length head portrait\nhalf - length photo\nhalf - length portrait\nhalf - life\nhalf - life 2\nhalf - life engine\nhalf - life style\nhalf - occupied with people\nhalf - orc\nhalf - turn\nhalf a smile on her soul\nhalf african\nhalf and half\nhalf and half dye\nhalf and half hair dye\nhalf android\nhalf asian\nhalf bear\nhalf blue\nhalf blueprint\nhalf body\nhalf body cropping\nhalf body photo\nhalf body portrait\nhalf body portrait of juliana\nhalf body shot\nhalf bunny\nhalf cat\nhalf cat - half mouse\nhalf crocodile\nhalf cut\nhalf cyborg\nhalf dog\nhalf done\nhalf dragon\nhalf elephant\nhalf elf woman\nhalf face\nhalf face in the water\nhalf figure front\nhalf figure shot\nhalf fish\nhalf goat\nhalf grizzly bear\nhalf half hair\nhalf helmet\nhalf horse\nhalf horse - half mouse\nhalf human\nhalf human face\nhalf human half alien\nhalf human half robot\nhalf human half spider\nhalf humanoid\nhalf image\nhalf in shadow\nhalf invoker half megumin\nhalf length\nhalf length shot\nhalf life\nhalf life 2\nhalf life 2 on a nintendo 64\nhalf life 3\nhalf life 3 ( 2 0 2 6 )\nhalf life 32026\nhalf life logo on chest\nhalf lion\nhalf machine\nhalf male and half female\nhalf man\nhalf man half angus bull\nhalf man half asian black bear\nhalf man half asian black bull\nhalf man half bear half pig\nhalf man half wolf\nhalf moon\nhalf octopus\nhalf octopus half machine\nhalf onesided smile\nhalf orc half elf woman\nhalf pig\nhalf pikachu\nhalf portrait\nhalf rear lighting\nhalf red\nhalf robot\nhalf robot and half woman\nhalf robot half bear\nhalf shark alligator half man\nhalf shaved haircut\nhalf skull face\nhalf skull half face\nhalf smile\nhalf submerged\nhalf submerged in heavy sand\nhalf submerged in water\nhalf textured half wireframe\nhalf tiger\nhalf tone\nhalf turned around\nhalf turtle\nhalf updo hairstyle\nhalf wolf\nhalf wolf half shark\nhalf woman\nhalf woman half skeleton\nhalf wooden pinocchio\nhalf-body\nhalf-body portrait\nhalf-body shot\nhalf-elf time wizard\nhalf-frame square glasses\nhalf-length portrait\nhalf-life\nhalf-life 2\nhalf-life 2: episode 2 (pc)\nhalf-life 3\nhalf-man\nhalf-plate armor\nhalf-tone-line-stacking\nhalf-turned lady in evening gown\nhalf-woman half-butterfly\nhalfbody headshot\nhalfbody portrait\nhalfing\nhalfmoon in space\nhalfrear\nhalfrear lighting\nhalftone\nhalftone dots\nhalftone effect\nhalftone pattern\nhalftone print\nhalftone texture\nhalftones\nhalfway through\nhall of mirrors\nhalle berry\nhalloween\nhalloween art style\nhalloween atmosphere\nhalloween celebration\nhalloween decorations\nhalloween film\nhalloween ghost under a sheet\nhalloween night\nhalloween scene\nhalloween theme\nhalloween wallpaper with ghosts\nhalls\nhalls of space\nhallucination\nhallucinatory\nhallucinatory art\nhallucinogen\nhallucinogenic\nhalluzinogenic\nhallway\nhallway landscape\nhallways\nhalo\nhalo / nimbus\nhalo 3\nhalo above head\nhalo ark\nhalo array\nhalo effect\nhalo halo halo halo 8k\nhalo infinite\nhalo infinite!!\nhalo master chief\nhalo of fire\nhalo of light\nhalo over her head\nhalo reach\nhalo warthog\nhalo. octane render\nhalogen\nhalos\nhalter neck\nhalter top\nhalter-top\nhaluzinogetic\nhalyomorpha halys\nham\nhamar\nhamburger\nhamburger mix jellyfish\nhamburger monster\nhamburgers\nhamburgers and soda\nhamburglar\nhamlet\nhamlets\nhammer\nhammer and sickle\nhammer and sickles\nhammer weapon\nhammer's slammers\nhammers\nhammershoi\nhammershøi\nhamsa hand\nhamster\nhamsters\nhamsters holding rifles\nhan solo\nhana alisa omer\nhana yata\nhanafuda\nhanayamata\nhanbok\nhanbok apron\nhand\nhand - drawn\nhand - drawn 2 d art\nhand - drawn 2d art\nhand - drawn animation\nhand - drawn digital art\nhand - painted\nhand - tinted\nhand built ceramics\nhand carved\nhand carved brown resin\nhand controlling\nhand draw\nhand drawing\nhand drawn\nhand drawn animation\nhand drawn cartoon\nhand drawn illustration\nhand drawn svg\nhand drawn type\nhand gesture\nhand gestures\nhand glazed pottery shards\nhand grenades\nhand holding a knife\nhand holding cap brim\nhand holding cigarette\nhand holding medieval sword\nhand holdings\nhand instead of a face\nhand made\nhand model\nhand of fear\nhand on cheek\nhand on her chin\nhand on hip\nhand on hips\nhand on his cheek\nhand on table\nhand on the doorknob\nhand over mouth\nhand painted\nhand painted cartoon art style\nhand painted style\nhand painted textures\nhand painted textures on model\nhand photography\nhand to hand combat\nhand to hand combat with machete\nhand transplanted to head\nhand with five fingers\nhand wraps\nhand-drawn\nhand-painted\nhandbag\nhandcrafted\nhandcrafted paper background\nhandcuffed\nhandcuffs\nhandcuffs king size canopy bed\nhanddrawn\nhandgun\nhandguns\nhandheld\nhandlebar mustache\nhandling laboratory equipment\nhandling riffle on chest\nhandmade\nhandmade pottery\nhandpaint texture\nhandpainted\nhands\nhands anatomy\nhands behind back\nhands behind her body pose!\nhands behind her pose\nhands behind her pose!\nhands crossed\nhands down\nhands hidden\nhands hidden under the bouquet\nhands holding big glowing orbs\nhands in air\nhands in her hair\nhands in her hair. side-view\nhands in pockets\nhands in the air\nhands not visible\nhands of men\nhands on counter\nhands on face\nhands on hips\nhands pressed together in bow\nhands raised\nhands raised in the air\nhands reaching for her\nhands retouched\nhands shielding face\nhands straight down\nhands that are fox - paws\nhands touching light drops\nhands up\nhands which exchange seeds\nhands with five fingers\nhandsome\nhandsome and attractive\nhandsome and elegant\nhandsome anime eyes\nhandsome anime pose\nhandsome attractive face\nhandsome chad chin\nhandsome detailed face\nhandsome donald trump\nhandsome drow\nhandsome eyes\nhandsome face\nhandsome face and beautiful face\nhandsome frankenstein\nhandsome girl\nhandsome guy in demon slayer art\nhandsome hip hop young black man\nhandsome japanese demon boy\nhandsome joe biden\nhandsome male\nhandsome male vampire\nhandsome man\nhandsome prince\nhandsome prince of persia\nhandsome saitama\nhandsome saitama. intricate\nhandsome squidward\nhandsome squidward as male\nhandsome squidward portrait\nhandsome stunning realistic\nhandsome symmetrical faces\nhandsome weasel fursona portrait\nhandsome young man\nhandsome young man face\nhandwriting title on the left\nhandwritten\nhandwritten equation heaven\nhanfu\nhangar\nhanging\nhanging beef carcasses\nhanging bridge\nhanging bridge!!\nhanging cables\nhanging from a hot air balloon\nhanging from a tree\nhanging from the ceiling\nhanging from white web\nhanging gardens\nhanging in the louvre\nhanging lanterns\nhanging out with orbs\nhanging plants\nhanging rope\nhanging scroll\nhanging scroll on wall\nhanging silk scroll\nhanging tiffany chandeliers\nhanging trees\nhanging upside down\nhanging upside down from a tree\nhanging veins\nhanging vines\nhangzhou\nhank hill\nhank hill as the god of propane\nhank hill from king of the hill\nhank hill wearing a white toga\nhanna barbera\nhanna barbera style\nhanna montana\nhanna moon\nhannah af klint\nhannah dodd\nhannah hoch\nhannah yata\nhannah yata charlie immer\nhannibal\nhannibal lecter\nhannibal lector\nhannover\nhans\nhans bellmer and nadav kander\nhans bellmer and wlop\nhans belmer\nhans dahl\nhans giger\nhans holbein\nhans ruedi giger\nhans thoma\nhans zatka\nhans zatska\nhans zatzka\nhans zimmer soundtrack\nhansa yellow\nhansel and gretel\nhanuman!! head building\nhanumanhead building\nhanzo from overwatch\nhaphazard\nhaphazardly executed\nhaphazardly layered scenes\nhappily smiling at the camera\nhappily tired\nhappiness\nhappiness!\nhappy\nhappy accidents\nhappy ambience\nhappy and beautiful\nhappy and disarmed\nhappy and smiling\nhappy and spirited expression\nhappy apearance\nhappy appearance\nhappy atmosphere\nhappy big chungus\nhappy birthday\nhappy birthday candles\nhappy brave magical cuteness\nhappy cat\nhappy chef\nhappy clouds behind\nhappy color\nhappy colors\nhappy colors dariusz zawadzki\nhappy colors. rob gonsalves\nhappy colours\nhappy couple\nhappy cozy feelings\nhappy dachshund catching a ball\nhappy dog\nhappy expression\nhappy expressions\nhappy eyes\nhappy face\nhappy faces\nhappy facial expression\nhappy family\nhappy fashion model\nhappy fashion model face\nhappy feeling\nhappy female alien\nhappy finnish lapphund dog\nhappy friend\nhappy girl\nhappy grin\nhappy intricate\nhappy italian beach scene\nhappy kid\nhappy lighting\nhappy look\nhappy meal toy\nhappy mood\nhappy people\nhappy robot\nhappy smile\nhappy smiley\nhappy smiling\nhappy smiling human eye\nhappy smiling human eyes\nhappy sunny day\nhappy toes\nhappy tones\nhappy tree friends\nhappy trees\nhappy trippy mood\nhappy vibes\nhappy wise. he has bouncy belly\nhappy with his mouth open\nhappy!!!\nharajuku\nharajuku fashion\nharajuku hair\nharajuku street fashion\nharbor\nharbour\nharbour in background\nhard\nhard angles\nhard atmosphere\nhard backlight\nhard black shadows\nhard boiled\nhard breathing\nhard brush\nhard brush painting\nhard brush strokes\nhard clay\nhard contrast\nhard cover book\nhard dramatic lighting\nhard edges\nhard edges concept art\nhard edges! graffiti\nhard edgesgraffiti\nhard flash\nhard focus\nhard hat\nhard key light\nhard light\nhard light and long shadows\nhard light digital painting\nhard lighting\nhard lighting!\nhard line\nhard lines\nhard morning light\nhard outline\nhard paint\nhard predatory look\nhard rain\nhard rain falling\nhard rain pouring straight down\nhard rubber chest\nhard sci fi\nhard sci-fi\nhard science fiction\nhard shadows\nhard surface\nhard surface 3 d\nhard surface character pinterest\nhard surface concept art\nhard surface model\nhard surface modeling\nhard surface modelling\nhard surfaces\nhard surfaces modelling\nhardcore\nhardcore techno\nhardmesh\nhardmesh post\nhardops\nhardsurface\nhardsurface armour\nhardsurface modelling\nhardturm\nhardware\nhardwood floor\nhardwood floor boards\nhardwood floors\nhardy fowler\nharem\nharis nukem\nharlem\nharley davidson\nharley davidson motorbike\nharley queen\nharley quinn\nharley quinn film still\nharley quinn standing\nharmonic colors\nharmonious\nharmonious colors\nharmonized\nharmony\nharmony black room\nharmony blue jacket\nharmony color\nharmony of\nharmony of butterfly\nharmony of desert\nharmony of nature\nharmony of neon glowing coral\nharmony of swamp\nharmony of swirly clouds\nharmony of the spheres\nharmony of the universe\nharness\nharnesses\nharnesses and garters\nharold mccauley\nharold newton\nharp\nharper's bazaar\nharper's bazaar art\nharpers bazaar\nharpers bazaar art\nharpy\nharpy eagle framed photo\nharpy woman\nharriet tubman skateboarding\nharrison ford\nharrison ford from indiana jone\nharrowing\nharrowing apocalyptic atmosphere\nharry\nharry clarke artwork\nharry potter\nharry potter at a tardis console\nharry potter film\nharry potter in a maid’s uniform\nharry potter in cyberpunk\nharry potter movie screenshot\nharry potter portrait\nharry potter riding a broomstick\nharry potter series setting\nharry potter smoking weed\nharry potter style\nharry potter!!\nharry styles\nharry volk clip art style\nharry wingfield\nharry's revenge\nharsh\nharsh bloom lighting\nharsh contrast lighting\nharsh contrasts\nharsh fairy tale\nharsh flash\nharsh flash photo\nharsh flash photo at night\nharsh flash photography\nharsh good looking face\nharsh light\nharsh light and shadow\nharsh lighting\nharsh neon lighting\nharsh neon lights\nharsh overhead sunlight\nharsh shadows\nharsh shadows and reflections\nharsh sun light\nharsh sunlight\nhartper's bazaar\nhartpers bazaar\nharuhi suzumiya\nharuhiko mikimoto\nharumi\nharuno sakura\nharvest\nharvest fall vibrance\nharvest fall vibrancy\nhas a laurel wreath\nhas a very realistic look to it\nhas black wings\nhas blood\nhas cables\nhas cyberpunk style\nhas fire powers\nhas gold\nhas horns: a sharp\nhas long blonde hair\nhas two adorable blue eyes\nhasan piker\nhasanabi\nhasbro\nhasbulla\nhasbulla magomedov\nhashima island\nhashing\nhashtags\nhasselblad\nhasselblad 5 0 mm f 1. 8 lens\nhasselblad 500c\nhasselblad camera\nhasselblad dslr\nhasselblad film bokeh\nhasselblad medium format\nhasselblad medium format camera\nhasselblad nikon\nhasselblad photo\nhasselblad photograph\nhasselblad photography\nhasselblad quality\nhasselblad x 1 d\nhasselblad x 1 d - 5 0 c\nhasselblad x 1 d - 50 c\nhasselblad x 1 d sharp focus\nhasselblad x1d-50c\nhasselblade shot\nhasselblade wide shot\nhasselblatt\nhasselbrad photography\nhassleblad\nhastur\nhastur the king in yellow\nhasui kwase\nhat\nhat and hoodie\nhat covering eyes\nhatched ear\nhatched pointed ears\nhatching\nhate\nhatred\nhats\nhatsune miku\nhatsune miku cosplay\nhatsune miku face\nhatsune miku in warhammer 40k\nhatsune miku portrait\nhatsune miku short hair\nhaughty facial expression\nhaunted\nhaunted and sad expression\nhaunted background\nhaunted expression\nhaunted eyes\nhaunted forest\nhaunted gothic hotel\nhaunted gravestones\nhaunted green swirling souls\nhaunted house\nhaunted house interior\nhaunted house themed\nhaunted kodachrome\nhaunted liminal abandoned room\nhaunted mansion\nhaunted painting\nhaunted sad expression\nhaunted spaceship hallway\nhaunted woods\nhaunting\nhaunting and spooky\nhaunting appearance\nhaunting atmosphere\nhaunting beautiful brush strokes\nhaunting beautiful young woman\nhaunting eyes\nhaunting face\nhaunting!\nhauntingly beautiful\nhauntingly beautiful art\nhauntingly beautiful zombie\nhauntingly surreal\nhauntology\nhaute couture\nhaute couture fashion\nhaute couture fashion shoot\nhaute couture! fashion!\nhaute couturefashion\nhauting\nhaval f 7\nhavanese dog\nhave a call to action\nhave a sense of design\nhaving a cool party\nhaving a good time\nhaving a great time\nhaving a picnic\nhaving a snack\nhaving a time of our un-life\nhaving an awkward dinner date\nhaving fun\nhaving fun in the sun\nhaving fun. vibrant\nhavoc\nhavrylo pustoviyt\nhawaii\nhawaii beach\nhawaiian shirt\nhawk\nhawk wings\nhawken\nhawkeye\nhawkins\nhay\nhayao\nhayao miyazak\nhayao miyazaki style\nhayao miyazaki's animation style\nhayao miyazaki\\'s movies\nhayao miyazki\nhayao myiazaki\nhayden christensen\nhaymaker impact\nhazard stripes\nhaze\nhaze over the shoulder shot\nhazel amber eyes\nhazel eyes\nhazel green eyes\nhazel iris eyes\nhazer and light in dark\nhazler eyes\nhazmat\nhazmat suits\nhazy\nhazy and dreary\nhazy and misty\nhazy atmosphere\nhazy fog\nhazy light rays\nhazy memory\nhazy morning foggy\nhazy sun and mystical\nhazy sunset with dramatic clouds\nhazy water\nhbo\nhbo adaptation\nhbo showtime boxing\nhcl\nhd\nhd - n 9\nhd - photo\nhd 16k\nhd 3 d\nhd 35mm photography\nhd 3d mixed media collage\nhd 4 k\nhd 4 k 8 k\nhd 4 k high detailed\nhd 4 k photo\nhd 4d\nhd 4k\nhd 4k digital art\nhd 4k game screenshot\nhd 4k photo\nhd 4k ultra\nhd 8 k\nhd 8 k film photography\nhd 8k\nhd 8k image high detail\nhd aerial photography\nhd anime\nhd anime cityscape\nhd anime wallaper\nhd anime wallpaper\nhd art\nhd artwork\nhd award-winning photo\nhd blender render\nhd concept art\nhd criterion\nhd detailed texture\nhd digital art\nhd digital painting\nhd digital photography\nhd digital render\nhd display\nhd dslr 8k+\nhd elegant\nhd fantasy art\nhd food photography\nhd footage\nhd fur\nhd illustration\nhd image\nhd macro photograph\nhd macro photographs\nhd masterpiece\nhd mixed media\nhd mixed media 3d collage\nhd mixed media collage\nhd mod\nhd movie photo\nhd nature photography\nhd octane render\nhd phone wallpaper\nhd photo\nhd photograph\nhd photography\nhd photography 4k\nhd photography street\nhd photorealism\nhd photorealistic\nhd photorealistic image\nhd picture\nhd professional photography\nhd quality\nhd realistic\nhd remaster\nhd remastered\nhd render\nhd render 4k\nhd rendering\nhd resolution\nhd rtx\nhd scan\nhd screenshot\nhd shot\nhd star wars photo\nhd texture\nhd textures\nhd vector art\nhd vfx\nhd vfx - 9\nhd vibrant\nhd wallpaper\nhd —h 1024\nhd''\nhdd\nhdpe\nhdr\nhdr 4 k\nhdr 4k\nhdr 8 k\nhdr 8 k dop dof\nhdr 8k\nhdr ambient background\nhdr cinematic lighting\nhdr color\nhdr colors\nhdr detail\nhdr digital painting\nhdr dramatic cinematic lighting\nhdr fabric textures\nhdr human detailed\nhdr lighting\nhdr on\nhdr photo\nhdr photograph\nhdr photography\nhdr photorealism\nhdr raytracing\nhdr refractions\nhdr render\nhdr render in unreal engine 5\nhdr shot\nhdr smooth\nhdr!\nhdri\nhdri lighting\nhdrp\nhdrp render\nhdt\nhd”\nhe - man\nhe - man!!!!!\nhe also wears a grey beanie\nhe can ’ t believe his eyes\nhe dreams of all the battles won\nhe got a big french musctache\nhe has a 5 o'clock shadow\nhe has a beard and graying hair\nhe has a big egg\nhe has a devastated expression\nhe has a glow coming from him\nhe has a pistol\nhe has a pistol!!\nhe has a red hat\nhe has a treasure with him\nhe has an elongated head shape\nhe has big knives on his belt\nhe has boots\nhe has dark grey hairs\nhe has eyes of fire\nhe has goat man legs\nhe has headphones\nhe has no nose\nhe has short curly brown hair\nhe has yellow wolf eyes\nhe holds her while she sleeps\nhe is 3 5 years old\nhe is a long boi ”\nhe is a mad old man\nhe is a rockstar\nhe is a white male from vermont\nhe is about 2 0 years old\nhe is about 2 5 years old\nhe is about 20 years old\nhe is about 20 years old | short\nhe is about 3 0 years old\nhe is about 30 years old\nhe is about 4 0 years old\nhe is about 40 years old\nhe is about 5 0 years old\nhe is about 50 years old\nhe is about 6 0 years old\nhe is about 60 years old\nhe is about 7 0 years old\nhe is about 8 0 years old\nhe is all alone\nhe is an artist\nhe is angry\nhe is at camp\nhe is at college\nhe is carrying a black briefcase\nhe is casting a lighting spell\nhe is covered with barnacles\nhe is dancing\nhe is floundering\nhe is from virginia\nhe is greeting you warmly\nhe is happy\nhe is holding a large book\nhe is holding a smartphone\nhe is in a alchemist lab\nhe is in a mosque\nhe is in shock\nhe is sad\nhe is screaming\nhe is smiling\nhe is smoking a cigarette\nhe is the goodness in manking\nhe is traversing a shadowy city\nhe is very happy\nhe is very relaxed\nhe is wearing a black\nhe is wearing a black t-shirt\nhe is wearing a black trenchcoat\nhe is wearing a brown sweater\nhe is wearing a hat\nhe is wearing a suit\nhe is wearing a top hat\nhe is wearing a trenchcoat\nhe is! about 3 0 years old\nhe looks like a human minion\nhe looks like tye sheridan\nhe looks very sophisticated\nhe man\nhe wears a big coat\nhe wears a blue shirt\nhe wears an eyepatch\nhe wears dark visors\nhe's a hitman in peacoat\nhe's on an old sailing boat\nhe's very menacing and evil\nhe-man\nhe-man rides the battle cat\nhe-man with a dark manner\nhe-man!!!!!\nhead\nhead - and - shoulders shot\nhead - on centralized\nhead and body\nhead and bodyshot\nhead and bust only\nhead and chest only\nhead and full body view\nhead and shoulder\nhead and shoulder portrait\nhead and shoulder shot\nhead and shoulders\nhead and shoulders 8 0 mm camera\nhead and shoulders in frame\nhead and shoulders masterpiece\nhead and shoulders photography\nhead and shoulders portrait\nhead and shoulders shot\nhead and shoulders view\nhead and torso\nhead and torso only\nhead and upper body\nhead and upper body in frame\nhead and upper body only\nhead and upper body portrait\nhead and waist potrait\nhead bent back in laughter\nhead bowed slightly\nhead centered portrait\nhead details\nhead down\nhead exploding\nhead focus\nhead fully visible\nhead in a jar\nhead in focus\nhead in frame\nhead in hands\nhead in profile\nhead is an egg\nhead is an onion\nhead is centered\nhead is up\nhead looking up\nhead macro\nhead made of carnations flower\nhead made of giant daisies\nhead neck shoulders\nhead of a bear\nhead of a lion\nhead of an eagle\nhead of broccoli\nhead of green hedgehog\nhead of old man\nhead on\nhead only\nhead piece\nhead portrait\nhead scarf\nhead shoot\nhead shot\nhead slightly tilted\nhead straight down\nhead tilted down\nhead tilted downward\nhead to toe\nhead to waist\nhead torso legs feet\nhead turned\nhead turned to the side\nhead-and-shoulders shot\nhead-on centralized\nhead-to-shoulder\nhead-to-toe\nheadbang till your brain bleeds\nheadbanging\nheadcrab\nheaddress\nheade\nheade martin johnson\nheader\nheader text”\nheader with logo\nheadless\nheadlight washer\nheadlights\nheadlights are on\nheadlights shine with neon light\nheadlights turned on\nheadphone stand\nheadphones\nheadphones dj rave\nheadphones on\nheadphones on head\nheadphones on his head\nheadpiece\nheadpiece headpiece headpiece\nheadpiecehigh quality\nheadroom\nheads\nheads are all over the ground\nheads of wooden of bird face\nheadsculpt\nheadset\nheadshot\nheadshot and bodyshot\nheadshot half figure\nheadshot of young female furry\nheadshot photo\nheadshot photograph\nheadshot photography\nheadshot photoshoot\nheadshot portrait\nheadshot profile picture\nheadspace\nhealer\nhealing\nhealing energy\nhealing glowing lights\nhealing pods\nhealing through motion\nhealing tubes\nhealth\nhealth bar hud\nhealth potion\nhealth spa and meditation center\nhealth supporter\nhealthcare\nhealthcare worker\nhealthy\nhear no evil\nhearst castle\nheart\nheart - shaped face\nheart effects\nheart emblem on chest\nheart eyes\nheart kidney lungs\nheart made of flowers\nheart of darkness\nheart of the internet\nheart operation\nheart rate\nheart shaped face\nheart-shaped face\nheartbreak\nheartbreaking\nheartbroken\nhearthstone\nhearthstone art\nhearthstone art style\nhearthstone artwork\nhearthstone card\nhearthstone card art\nhearthstone card artwork\nhearthstone card game\nhearthstone card game artwork\nhearthstone card game artwork.\nhearthstone card game artwork. ”\nhearthstone coloring style\nhearthstone colour style\nhearthstone concept art\nhearthstone inspired\nhearthstone official splash art\nhearthstone splash art\nhearthstone style\nhearthstone style art\nhearthstone weapon art\nhearts\nhearts of iron portrait\nhearts of iron portrait style\nhearts symbol\nheartstone\nheartstone original art style\nheartwarming\nhearty breakfast\nheat\nheat death of the universe\nheat haze\nheat ripples\nheat shimmering\nheat wave\nheat waves\nheated coils\nheath clifford\nheather theurer\nheatwave\nheaven\nheaven and hell\nheaven background\nheaven gate\nheaven in the top\nheaven lighting\nheaven on earth\nheaven paradise\nheaven pink\nheaven planet in background\nheaven vs hell\nheaven!!!!!!!!\nheavenly\nheavenly atmosphere\nheavenly bright light\nheavenly clouds\nheavenly color scheme\nheavenly colors\nheavenly dramatic lighting\nheavenly glow\nheavenly landscape\nheavenly light\nheavenly lighting\nheavenly lights\nheavenly marble\nheavenly rapture\nheavenly symbols\nheavenlydaemonic\nheavens\nheavens gate\nheavey metal magazine cover\nheavily armed\nheavily armored\nheavily armoured\nheavily detailed\nheavily detailed and intricate\nheavily downvoted\nheavily equipped\nheavily exaggerated proportions\nheavily gothic ornamental\nheavily ornamental\nheavily stylized\nheavily upvoted\nheavy\nheavy - lidded eyes\nheavy armor\nheavy atmosphere\nheavy atmospheric\nheavy battle\nheavy birch forest\nheavy black obsidian armor\nheavy blue led lights\nheavy blues rock\nheavy body modification\nheavy bokeh\nheavy bokeh and blur\nheavy boots\nheavy brow\nheavy brown metallic armor\nheavy brushstrokes\nheavy cavalry\nheavy chestplate armor\nheavy cloak\nheavy clouds\nheavy color compression filter\nheavy colour compression\nheavy compression filter\nheavy conduits\nheavy contour lines\nheavy contrast\nheavy cubism\nheavy depth of field\nheavy detail\nheavy detailed\nheavy exaggerated proportions\nheavy eyebrows\nheavy eyeliner\nheavy eyes to the side\nheavy fantasy armor\nheavy film grain\nheavy filmgrain\nheavy fire\nheavy fire on the background\nheavy fog\nheavy fog machine\nheavy forest\nheavy forest outside\nheavy gesture style closeup\nheavy gold armour\nheavy gold jewellery\nheavy gold obsidian armor\nheavy golden armour\nheavy grain\nheavy grain high quality\nheavy grain-s 150\nheavy grainy picture\nheavy green\nheavy gun\nheavy impasto\nheavy impasto technique\nheavy in detail\nheavy ink\nheavy ink!!!!!!! mike mignola\nheavy inkmike mignola\nheavy jpeg artifact\nheavy jpeg artifact blurry\nheavy knight helmet\nheavy lens flare\nheavy lensflare\nheavy line work\nheavy lineart\nheavy lines\nheavy linework\nheavy looking\nheavy machinegun on top\nheavy machinery\nheavy make up\nheavy makeup\nheavy mascara\nheavy metal\nheavy metal 1981\nheavy metal album cover\nheavy metal armor\nheavy metal art style\nheavy metal artwork\nheavy metal band promo\nheavy metal comic cover art\nheavy metal concert\nheavy metal magazine\nheavy metal magazine cover\nheavy metal rave shoes\nheavy metal style\nheavy metal the movie\nheavy metal tshirt design\nheavy metal!\nheavy mist\nheavy mood\nheavy motion blur\nheavy newsprint raster\nheavy outlines\nheavy paint\nheavy pigment\nheavy plate armor\nheavy rain\nheavy rain and lightning\nheavy rain and mist\nheavy rain approaching\nheavy rain from thick clouds\nheavy rainfall\nheavy raining\nheavy rainning at tokyo night\nheavy rainy\nheavy rock\nheavy rock band promo photo\nheavy rock concert\nheavy shading\nheavy shadows\nheavy smoke\nheavy snow fall\nheavy snow storm\nheavy stacks of pearl necklaces\nheavy storm\nheavy traffic\nheavy two tone shading\nheavy under paint\nheavy vignette\nheavy vignette!\nheavy weapons fire\nheavy weapons guy\nheavy white and golden armor\nheavy winter aesthetics\nheavy-duty boots\nheavy-gauge filigree\nhebrew\nhecate\nhecate goddess\nhectic\nhedge\nhedgehog\nhedgehog babies\nhedgehog cosmonaut portrait\nhedgehog magus\nhedgehog wearing a top hat\nhedgehog with glasses\nhedgehog with pipe\nhedgemaze\nhedges\nhedi slimane\nhedonic treadmill\nhedonism\nheels\nheels on her feet\nhegre\nheian\nheidi\nheight 1 7 8\nheight detailed body elements\nheight detailed hd realistic 8 k\nheight map\nheight realistic details\nheilung\nheironymus bosch\nheise jinyao\nheise-lian yan fang\nheisenberg\nhelen mcrory\nhelen the bean queen\nhelene fischer in downton abbey\nhelene frankenthaler\nhelga pataki's teeth\nhelga patakis teeth\nhelghast\nhelianthus flowers\nhelicopter\nhelicopter drones\nhelicopter footage over city\nhelicopter view\nhelicopters\nhelicopters and tremendous birds\nhelicopters firing\nhelio oiticica\nhelios 44-2\nhelipad\nhell\nhell and heaven\nhell background\nhell fire\nhell gate\nhell hurricance\nhell in the background\nhell in the bottom\nhell is other people\nhell on earth\nhell scape\nhell scheme\nhell storm\nhell with people suffering\nhellbards\nhellboy\nhellcore\nhellenistic sculptures\nhellfire\nhellfire background\nhellhounds\nhelliquary\nhellish\nhellish background\nhellish doom hallway\nhellish landscape\nhellish scene\nhellish setting\nhellish!!!\nhellmut newton\nhello\nhello darkness my old friend\nhello kitty\nhello world\nhellraiser\nhellscape\nhelltaker\nhelluva boss\nhelm\nhelmet\nhelmet instead of a head\nhelmet is off\nhelmet made of glass\nhelmet of a forgotten deity\nhelmet off\nhelmet on\nhelmet on face\nhelmet removed\nhelmet view\nhelmet visor smashed\nhelmet with led lights\nhelmets\nhelmond\nhelmut lang\nhelp\nhelp me\nhelpful\nhelpless\nhelsinki\nhelvetica\nheman style\nhemera\nhemlocks\nhemp\nhen of the woods mushrooms\nheng z\nhenri - edmond\nhenri berthaut\nhenri cartier - bresson\nhenri cartier bresson\nhenri de toulouse - lautrec\nhenri gillet\nhenri moore\nhenri moore giant\nhenri selick\nhenrik fisker\nhenrique alvim corrêa\nhenry ascensio\nhenry asencio\nhenry cartier bresson\nhenry cavill\nhenry cavill as a greek god\nhenry cavill as a space marine\nhenry cavill as a warrior\nhenry cavill as arthas menethil\nhenry cavill as batman\nhenry cavill as geralt of rivia\nhenry cavill as james bond\nhenry cavill as wolverine\nhenry cavill is a greek god\nhenry cavill!!!\nhenry darger\nhenry de toulouse lautrec\nhenry dorsett case\nhenry dreyfuss\nhenry justice\nhenry meynell rheam\nhenry moore\nhenry taylor\nhenry viii\nheonhwa choe\nhephaestus\nher back is to us\nher belly button is exposed\nher belly is fat and round\nher black hair is a long curly\nher body made of flames\nher expression is solemn\nher eyes are closed\nher face flushing and sweat\nher face framed with curls\nher face hurts\nher face in discs\nher face is a mauve flower\nher face is coated in a white\nher face is coated in a whitish\nher face is covered with mud\nher face is in shadow\nher face looks like an orchid\nher face muddy and sweat\nher foot sticking out\nher footwear is red high heels\nher friend\nher friend the cunning coyote\nher gaze is downcast\nher hair blowing in the wind\nher hair flowing down\nher hair is in a pony tail\nher hair is long and straight\nher hair is made out of fire\nher hair is natural disheveled\nher hair is on fire\nher hair is silver\nher hair is the milky way\nher hair is tied above her head\nher hair is white\nher hair pinned up\nher hand is on her waist\nher hands are red roots\nher head raised in rapture\nher iridescent membranes\nher loose hair\nher many snakes as hair\nher skin is light brown\nher tiny hands are on her thighs\nher wardrobe is attractive\nher whole head fits in the frame\nher whole head in the frame\nhera\nheraldo ortega\nheraldry\nherb\nherbarium page\nherbert james draper\nherbert lowis\nherbet james draper\nherbs\nherbs and flowers\nherbs hanging\nherculean\nhercules\nhercules brabazon\nherds fighting\nhere is one olive\nhere's johnny\nheres johnny\nherge\nhergé\nherluf bidstrup\nhermaeus mora\nherman nitsch\nherman nitsch and herman nitsch\nhermann hendrich\nhermann nitsch\nhermes\nhermes ad\nhermes trismegistus\nhermetic\nhermione\nhermione granger\nhermit crab titan\nhernan bas\nhero\nhero 2 d fanart artsation\nhero action pose\nhero character\nhero character art\nhero from dota 2\nhero pose\nhero pose colorful city lighting\nhero prop\nhero shot\nhero world atari\nhero world nintendo\nherobrine\nheroengine\nheroes\nheroes of might and magic\nheroes of might and magic 3\nheroes of the storm\nheroes of the storm splash art\nheroic\nheroic action pose\nheroic battle scene\nheroic character\nheroic charge\nheroic composition\nheroic fantasy\nheroic fantasy art\nheroic fantasy character concept\nheroic fighter\nheroic figure\nheroic history\nheroic human proportions\nheroic jumping pose\nheroic kicking pose\nheroic lighting\nheroic look\nheroic masculine pose\nheroic muay thai stance pose\nheroic portrait\nheroic pose\nheroic posture\nheroic proportions figure\nheroic scene\nheroic shooting bow pose\nheroic shot\nheroic!!!\nheroically battle posing\nheroine\nheroine japan vivid landscape\nheroism\nheron\nheron preston\nheron prestorn\nherrarthstone\nherringbone floor\nherry cavill\nhervé scott flament\nherzog de meuron\nhes a hitman in peacoat\nhes alone\nhes wearing a red neckerchief\nhessian cloth\nhestia\nhestiasula head\nhet meisje met de parel\nheterochromia\nhethe srodawa\nhev suit\nhex mesh\nhexadome\nhexagon\nhexagon blocking the sun\nhexagon in front of the sun\nhexagon lens flares\nhexagon mesh\nhexagon moon\nhexagonal\nhexagonal mesh fine wire\nhexagonal mesh wire\nhexagonal pattern\nhexagonal planetary space base\nhexagonal ring\nhexagonal shaped\nhexagonal stones\nhexagonal wall\nhexagons\nhexagons in the sky\nhexen\nhexglow\nhextech\nhey\nhey buddy\nhe‘s wearing a red neckerchief\nhe‘s wearing a red scarf\nhg giger\nhg giger flora borsi\nhg wells\nhgh\nhgh resolution\nhgrenades\nhgtv\nhi\nhi - fructose\nhi - fructose art magazine\nhi - res\nhi - res scan\nhi - res textures\nhi - rez\nhi - tech\nhi - tech luciferian synthetic\nhi concept sci fi\nhi definition\nhi mark ( akwaaba tommy )\nhi res\nhi resolution\nhi tech\nhi-fructose\nhi-res\nhi-res photo\nhi-res scan\nhi-tech\nhi-tech details\nhi-tech hatchet\nhi-tech style\nhibbary\nhibbary!!\nhibernation capsule close-up\nhibiscus\nhibiscus flowers\nhibited\nhicham habchi\nhidari\nhidari and vlop\nhidden\nhidden animals\nhidden area\nhidden camera\nhidden camera photo\nhidden dangers\nhidden face\nhidden hands\nhidden hands and faces\nhidden in the forest\nhidden message\nhidden tiny houses\nhidden truth\nhidden valley\nhide geometry\nhide the pain harold\nhideaki anno\nhideaki anno anime\nhideen village in the forest\nhideki anno\nhideo kojima\nhideo minaba\nhideous\nhideous appearance\nhides in the shadows of trees\nhidetaka miyazaki\nhidetaka tenjin\nhiding\nhiding behind a brick wall\nhiding behind obstacles\nhiding in grass\nhiding in the rooftops\nhiding large treasure chest\nhidrologic cycle\nhieroglyph\nhieroglyphic occult\nhieroglyphic signs\nhieroglyphics\nhieroglyphs\nhieroglyphs on wall\nhieronymus boch\nhieronymus bosch and moebius\nhieronymus bosch style\nhifi\nhifiman\nhigh\nhigh - angle\nhigh - angle view\nhigh - budget anime movie\nhigh - contrast\nhigh - definition\nhigh - definition picture\nhigh - detail\nhigh - detailed\nhigh - end\nhigh - end fashion photoshoot\nhigh - fantasy\nhigh - fidelity\nhigh - intricate - detail\nhigh - key\nhigh - key lighting\nhigh - key photography\nhigh - poly\nhigh - quality\nhigh - quality digital art\nhigh - quality photograph\nhigh - rated\nhigh - relief sculpture scene\nhigh - res\nhigh - resolution\nhigh - resolution photograph\nhigh - resolution scan\nhigh - tech\nhigh - tech space cult\nhigh above the ground\nhigh above treeline\nhigh accuracy\nhigh action glowing neon lights\nhigh aerial shot\nhigh aestehtic\nhigh altitude\nhigh angel distant shot\nhigh angle\nhigh angle camera\nhigh angle close up shot\nhigh angle closeup portrait\nhigh angle security camera feed\nhigh angle shot\nhigh angle uhd 8 k\nhigh angle vertical\nhigh angle view\nhigh aperture\nhigh arched ceiling\nhigh arches\nhigh art\nhigh blue lights\nhigh body detail\nhigh boots\nhigh bridges\nhigh budget\nhigh budget show\nhigh buildings\nhigh camera angle\nhigh casualties\nhigh ceiling\nhigh ceilings\nhigh cheek bones\nhigh cheekbones\nhigh clarity\nhigh class\nhigh cliff\nhigh clouds\nhigh coherence\nhigh coherency\nhigh cohesion\nhigh cohesiveness\nhigh collar\nhigh color\nhigh color contrast\nhigh color saturation\nhigh coloration\nhigh colored texture\nhigh colors compression\nhigh complexity\nhigh compression\nhigh concept\nhigh concept sci-fi\nhigh constrast\nhigh contast\nhigh contract\nhigh contras\nhigh contrast\nhigh contrast 8k\nhigh contrast backlight\nhigh contrast black and white\nhigh contrast chiaroscuro\nhigh contrast cinematic light\nhigh contrast cinematic lighting\nhigh contrast color palette\nhigh contrast color scheme\nhigh contrast colors\nhigh contrast colours\nhigh contrast dappled lighting\nhigh contrast dramatic lighting\nhigh contrast hd optics\nhigh contrast hyperrealism 8k\nhigh contrast illustration\nhigh contrast illustrations\nhigh contrast light and shadows\nhigh contrast lighting\nhigh contrast of light and dark\nhigh contrast pinterest plastic\nhigh contrast plastic\nhigh contrast portra 400\nhigh contrast shadows\nhigh contrast studio lighting\nhigh contrast wood engraving\nhigh contrast!\nhigh contrast!!\nhigh contrasts\nhigh contrat\nhigh contreast\nhigh contrest\nhigh customization\nhigh damage\nhigh deatil\nhigh def\nhigh defenition\nhigh definition\nhigh definition 3 d render\nhigh definition 3d render\nhigh definition 4 k photo\nhigh definition 4k photo\nhigh definition and detailed 4 k\nhigh definition and detailed 4k\nhigh definition anime art\nhigh definition art\nhigh definition background\nhigh definition cgsociety\nhigh definition chaotic\nhigh definition content\nhigh definition detail\nhigh definition digital art\nhigh definition image\nhigh definition movie\nhigh definition photo\nhigh definition photograph\nhigh definition photography\nhigh definition render\nhigh definition screen capture\nhigh definition screenshot\nhigh definition textures\nhigh definition. digital art\nhigh definition”\nhigh definitition\nhigh definiton\nhigh delicate defined details\nhigh delicate details\nhigh depth\nhigh depth and details\nhigh depth field\nhigh depth of field\nhigh description consistency\nhigh description fidelity\nhigh detail\nhigh detail - n 4\nhigh detail 1024\nhigh detail 3 d render\nhigh detail 3d render\nhigh detail 4 k\nhigh detail 4k\nhigh detail 4k render\nhigh detail 8 k\nhigh detail 8 k render\nhigh detail 8k\nhigh detail 8k render\nhigh detail airplane cabin\nhigh detail alex colville\nhigh detail and high contrast\nhigh detail and very sharp\nhigh detail art\nhigh detail baroque oil painting\nhigh detail character models\nhigh detail clothing\nhigh detail comic book art\nhigh detail concept art\nhigh detail digital art\nhigh detail digital painting\nhigh detail drawing\nhigh detail face\nhigh detail hyperrealistic\nhigh detail iconic character\nhigh detail illustration\nhigh detail impressionist style\nhigh detail intricate\nhigh detail materials\nhigh detail octane render\nhigh detail of a hand\nhigh detail of the face\nhigh detail oil painting\nhigh detail painting\nhigh detail photo\nhigh detail photo of a deserted\nhigh detail photograph\nhigh detail photography\nhigh detail portrait\nhigh detail portrait photo\nhigh detail product photo\nhigh detail render\nhigh detail shot\nhigh detail skin\nhigh detail spiral design\nhigh detail teeth\nhigh detail texture\nhigh detail whide shot\nhigh detail!!\nhigh detail!!!\nhigh detail!!! 8 k\nhigh detail!!! 8 k!!!!\nhigh detail8 k\nhigh detaild\nhigh detailed\nhigh detailed + tarot card\nhigh detailed 8 k\nhigh detailed 8k\nhigh detailed art\nhigh detailed beksinski painting\nhigh detailed cartoon\nhigh detailed close up of\nhigh detailed colors\nhigh detailed deep dish wheels\nhigh detailed digital art\nhigh detailed drawing\nhigh detailed face\nhigh detailed face anime\nhigh detailed face!!!\nhigh detailed faces\nhigh detailed facial features\nhigh detailed illustration\nhigh detailed light refraction\nhigh detailed official artwork\nhigh detailed oil painting\nhigh detailed oilpainting\nhigh detailed painting\nhigh detailed perfect faces\nhigh detailed photo\nhigh detailed photography\nhigh detailed photography cape\nhigh detailed photography red\nhigh detailed photography result\nhigh detailed print\nhigh detailed store\nhigh detailed thin stalagmites\nhigh detailed thin stalagtites\nhigh detailed tom selleck face\nhigh detailed vfx\nhigh detailed wheels\nhigh detailed)\nhigh detailes\nhigh detailled\nhigh details\nhigh details on clothes\nhigh details photo\nhigh details!\nhigh detail”\nhigh detal\nhigh detalied\nhigh detial\nhigh dof\nhigh drama\nhigh dynamic range\nhigh dynamic range color\nhigh détail\nhigh détails\nhigh elevation\nhigh end\nhigh end digital art\nhigh end fashion\nhigh end interior\nhigh energy\nhigh evolution\nhigh exposure\nhigh exposure photo\nhigh face detail\nhigh face symmetry\nhigh fantasy\nhigh fantasy art\nhigh fantasy art movie poster\nhigh fantasy castle\nhigh fantasy concept art\nhigh fantasy illustration\nhigh fantasy kamen rider\nhigh fantasy landscape\nhigh fantasy matte painting\nhigh fantasy. royo\nhigh fashion\nhigh fashion classy\nhigh fashion design\nhigh fashion expensive\nhigh fashion fantasy\nhigh fashion haute couture\nhigh fashion journal cover\nhigh fashion magazine cover\nhigh fashion model\nhigh fashion modeling\nhigh fashion photography\nhigh fashion photoshoot\nhigh fashion superpowers\nhigh fashion themed\nhigh fatnasy\nhigh fidelity\nhigh fidelity details\nhigh fidelity face\nhigh field of view\nhigh flat eyebrows\nhigh focal lens\nhigh focus\nhigh forehead\nhigh fov\nhigh gloss\nhigh gradient\nhigh grain\nhigh graphics\nhigh hat\nhigh heel boots\nhigh heels\nhigh heels and gloves. motion\nhigh heels boots\nhigh heels. anime style at pixiv\nhigh heels. silk\nhigh high high quality\nhigh impact\nhigh in mountains\nhigh in the mountains\nhigh in the sky\nhigh intensity\nhigh intricate details\nhigh key\nhigh key detailed\nhigh key lighting\nhigh kick\nhigh level\nhigh level body suit\nhigh level of detail\nhigh level of details\nhigh level texture render\nhigh level texture render)\nhigh light\nhigh light on the left\nhigh lights\nhigh luminosity\nhigh medieval fantasy\nhigh megapixel picture\nhigh midair shot\nhigh modernization\nhigh mountains\nhigh noon\nhigh octane\nhigh octane cybernetics\nhigh octane filter\nhigh octane render\nhigh particle count\nhigh particle effects\nhigh picture quality\nhigh point of view\nhigh poly\nhigh poly vray\nhigh poly vray render\nhigh polygon\nhigh precision\nhigh priestess\nhigh priestess tarot card\nhigh production value\nhigh quailty\nhigh qualit\nhigh qualit 8 k\nhigh qualit 8k\nhigh qualitt\nhigh quality\nhigh quality 16k digital art\nhigh quality 3 d render\nhigh quality 3d realism\nhigh quality 3d realistic\nhigh quality 3d render\nhigh quality 4 k\nhigh quality 4k\nhigh quality 4k resolution\nhigh quality 8 k\nhigh quality 8k\nhigh quality 8k hd\nhigh quality action photography\nhigh quality anime\nhigh quality anime art\nhigh quality anime artstyle\nhigh quality anime movie still\nhigh quality architectural art\nhigh quality art\nhigh quality artwork\nhigh quality bug pov shot\nhigh quality cartoon\nhigh quality cg render\nhigh quality character design\nhigh quality colored sketch\nhigh quality concept art\nhigh quality costume\nhigh quality cyberpunk art\nhigh quality desktop wallpaper\nhigh quality detail\nhigh quality detailed\nhigh quality detailed anime\nhigh quality details\nhigh quality digital\nhigh quality digital art\nhigh quality digital concept art\nhigh quality digital painting\nhigh quality dnd illustration\nhigh quality dslr photography\nhigh quality fabrics textiles\nhigh quality face\nhigh quality fanart\nhigh quality fantasy art\nhigh quality fantasy stock photo\nhigh quality film\nhigh quality film still\nhigh quality food photography\nhigh quality gloss art\nhigh quality graphics\nhigh quality hd digital art\nhigh quality head\nhigh quality illustration\nhigh quality image\nhigh quality image”\nhigh quality lighting\nhigh quality lowpoly art\nhigh quality masterpiece painted\nhigh quality material bssrdf\nhigh quality matte painting\nhigh quality mechanical\nhigh quality model sheet\nhigh quality movie still\nhigh quality nature photography\nhigh quality news footage\nhigh quality octane render\nhigh quality of sketching\nhigh quality oil painting\nhigh quality painting\nhigh quality paper\nhigh quality photo\nhigh quality photograph\nhigh quality photographs\nhigh quality photography\nhigh quality photorealism\nhigh quality photos\nhigh quality picture\nhigh quality pixel art\nhigh quality portrait\nhigh quality portrait photoshoot\nhigh quality print\nhigh quality printing\nhigh quality product\nhigh quality product image”\nhigh quality product photo\nhigh quality product photography\nhigh quality realistic\nhigh quality reflections\nhigh quality render\nhigh quality rendering\nhigh quality scan\nhigh quality screenshot\nhigh quality silent movie\nhigh quality sketch\nhigh quality sketch art\nhigh quality steampunk art\nhigh quality stock picture\nhigh quality suit\nhigh quality textures\nhigh quality theatre costume\nhigh quality topical render\nhigh quality upload\nhigh quality voxel art\nhigh quality wallpaper\nhigh quality warframe fanart\nhigh quality watercolors\nhigh quality ”\nhigh quality!!!!!\nhigh quality]\nhigh quality”\nhigh qulity\nhigh radiosity\nhigh radiosity dull skin\nhigh realism\nhigh realistic\nhigh red lights\nhigh reflections\nhigh reflections oil\nhigh render\nhigh rendering\nhigh res\nhigh res 8k\nhigh res eautiful lighting\nhigh res photo\nhigh res photograph\nhigh res render\nhigh resolution\nhigh resolution\nhigh resolution 4 k\nhigh resolution 4k\nhigh resolution 8 k\nhigh resolution 8k\nhigh resolution and detail\nhigh resolution art scan\nhigh resolution auction photo\nhigh resolution camera shot\nhigh resolution coal texture\nhigh resolution concept art\nhigh resolution design\nhigh resolution details\nhigh resolution digital art\nhigh resolution film render 100k\nhigh resolution film still\nhigh resolution image\nhigh resolution lightning\nhigh resolution macro photo\nhigh resolution movie still\nhigh resolution octane render\nhigh resolution photo\nhigh resolution photograph\nhigh resolution photography\nhigh resolution print\nhigh resolution print :1 cmyk :1\nhigh resolution print :1 red\nhigh resolution product photo\nhigh resolution render\nhigh resolution scan\nhigh resolution texture\nhigh resolution textures\nhigh resolution ultradetailed\nhigh resolution!!\nhigh resolution. positive vibes\nhigh resolution:: gil elvgren\nhigh resolution:: tom bagshaw\nhigh rise buildings\nhigh rise skyscrapers\nhigh rises\nhigh rocks\nhigh sample render\nhigh samples\nhigh saturation\nhigh saturation colors\nhigh school\nhigh school badge\nhigh school girls\nhigh school mascot\nhigh shadow\nhigh shadows\nhigh sharpness\nhigh shoes\nhigh shot\nhigh shutter speed\nhigh snow\nhigh society\nhigh soles\nhigh specs\nhigh specularity\nhigh speed\nhigh speed action\nhigh speed camera\nhigh speed chase\nhigh speed motion\nhigh speed photography\nhigh speed shutter\nhigh speed trains\nhigh stylization\nhigh symmetry\nhigh tech\nhigh tech concrete bench cube\nhigh tech fantasy\nhigh tech industrial\nhigh tech nomads\nhigh tech research\nhigh tech saddle\nhigh tech space ship interior\nhigh tech spaceships\nhigh technical detail\nhigh technology\nhigh technology inplants\nhigh temperature\nhigh texture detail\nhigh texture detail)\nhigh textured\nhigh textures\nhigh times\nhigh times magazine aesthetic\nhigh towers\nhigh traffic\nhigh transparency\nhigh trees\nhigh vantage point\nhigh view\nhigh voltage\nhigh voltage warning sign\nhigh waist sweatpants\nhigh waisted shorts\nhigh walled tunnel\nhigh walls\nhigh waterfalls\nhigh winds\nhigh-angle\nhigh-body detail\nhigh-contrast\nhigh-contrast lighting\nhigh-definition\nhigh-definition photograph\nhigh-definition picture\nhigh-detail\nhigh-detaild\nhigh-detailed\nhigh-details\nhigh-end\nhigh-end civilization\nhigh-end onsen\nhigh-fantasy\nhigh-fashion photoshoot\nhigh-key\nhigh-key lighting\nhigh-key lightning\nhigh-quality\nhigh-quality 4k portrait\nhigh-quality art\nhigh-quality composition\nhigh-quality digital art\nhigh-quality dslr photo\nhigh-quality dslr photo”\nhigh-quality photo\nhigh-quality photograph\nhigh-quality render\nhigh-quality wallpaper\nhigh-res\nhigh-resolution\nhigh-resolution photo\nhigh-resolution photograph\nhigh-rise buildings\nhigh-speed sports photography\nhigh-tech\nhigh-tech devices\nhigh-tech environment\nhigh-tech red armor\nhigh-waist-black-skirt\nhighcontrast\nhighdensity\nhighdetaild\nhighdetailed\nhighend\nhigher being\nhigher contrasts\nhigher detailed\nhigher detailed illustration\nhigher details\nhigher realistic\nhighest detail\nhighest quality\nhighest resolution\nhighfleet\nhighgate cemetery\nhighkey\nhighkey lighting\nhighlands\nhighley detailed\nhighley detailled face\nhighlight\nhighlight scene of the movie\nhighlighted\nhighlights\nhighlt detailed\nhighly\nhighly  detailed\nhighly - detailed\nhighly [ detailed ]\nhighly a detailed\nhighly abstract\nhighly accurate\nhighly accurate facial features\nhighly accurate light refraction\nhighly aesthetic\nhighly angle\nhighly artistic\nhighly atmospheric and foggy\nhighly atmospheric lighting\nhighly beautiful\nhighly capsuled\nhighly cinematic\nhighly coherent\nhighly colorful\nhighly complex\nhighly conceptual art\nhighly conceptual figurative art\nhighly contrasted colors\nhighly contrasted elements\nhighly creative\nhighly defined features\nhighly detail\nhighly detail face\nhighly detail wide angle photo\nhighly detail. octane render\nhighly detaild\nhighly detaild 4k\nhighly detailded\nhighly detailded'\nhighly detaile\nhighly detailed\nhighly detailed # no filter\nhighly detailed -\nhighly detailed - n 4\nhighly detailed 3 d art\nhighly detailed 3 d render\nhighly detailed 3d fractal\nhighly detailed 3d render\nhighly detailed 4 k\nhighly detailed 4 k art\nhighly detailed 4 k painting\nhighly detailed 4k\nhighly detailed 8 k\nhighly detailed 8k\nhighly detailed 8k photo\nhighly detailed 8k photography\nhighly detailed 8k resolution\nhighly detailed amour\nhighly detailed anatomy\nhighly detailed and beautiful\nhighly detailed and colored\nhighly detailed and complex\nhighly detailed and hypnotic\nhighly detailed and intricate\nhighly detailed and ornated\nhighly detailed and realistic\nhighly detailed angry anime face\nhighly detailed animal\nhighly detailed animal monster\nhighly detailed anime\nhighly detailed architecture\nhighly detailed armor\nhighly detailed art\nhighly detailed artwork\nhighly detailed atmosphere\nhighly detailed attribute\nhighly detailed attributes\nhighly detailed background\nhighly detailed backmouth\nhighly detailed barlowe 8 k\nhighly detailed beautiful\nhighly detailed beksinski art\nhighly detailed blackwork tattoo\nhighly detailed body\nhighly detailed brush style\nhighly detailed brushstrokes\nhighly detailed buildings\nhighly detailed car\nhighly detailed carvings\nhighly detailed cgsociety\nhighly detailed character\nhighly detailed character design\nhighly detailed character sheet\nhighly detailed characters\nhighly detailed cinematic\nhighly detailed close up\nhighly detailed close up shot\nhighly detailed closeup\nhighly detailed closeup portrait\nhighly detailed clothing\nhighly detailed clouds\nhighly detailed composition\nhighly detailed concept art\nhighly detailed cover art\nhighly detailed creature\nhighly detailed cybernetic body\nhighly detailed dark art\nhighly detailed design\nhighly detailed digital art\nhighly detailed digital artwork\nhighly detailed digital painting\nhighly detailed diorama\nhighly detailed drawing\nhighly detailed engraving\nhighly detailed environment\nhighly detailed epic\nhighly detailed etching\nhighly detailed exquisite fanart\nhighly detailed eyes\nhighly detailed face\nhighly detailed face and eyes\nhighly detailed face and hand\nhighly detailed face!\nhighly detailed face!!!\nhighly detailed faces\nhighly detailed facial details\nhighly detailed facial features\nhighly detailed fallout 3\nhighly detailed fantasy art\nhighly detailed features\nhighly detailed figure\nhighly detailed fine art\nhighly detailed fire tendrils\nhighly detailed form\nhighly detailed fractals\nhighly detailed full body\nhighly detailed full-body art\nhighly detailed fur\nhighly detailed fur and scales\nhighly detailed generative art\nhighly detailed giantess shot\nhighly detailed gold filigree\nhighly detailed green leaves\nhighly detailed hands\nhighly detailed hd\nhighly detailed hdr\nhighly detailed head\nhighly detailed high resolution\nhighly detailed horror\nhighly detailed horror dystopian\nhighly detailed hyper real retro\nhighly detailed illustration\nhighly detailed illustration.”\nhighly detailed image\nhighly detailed in 4 k ”\nhighly detailed in 4k\nhighly detailed in 4k”\nhighly detailed ink illustration\nhighly detailed interior\nhighly detailed kimono\nhighly detailed labeled\nhighly detailed landscape\nhighly detailed leaves\nhighly detailed light refraction\nhighly detailed linework\nhighly detailed map\nhighly detailed marble cloth\nhighly detailed masterpiece\nhighly detailed matte painting\nhighly detailed melted wax\nhighly detailed model\nhighly detailed muted colors\nhighly detailed object content\nhighly detailed octane render\nhighly detailed oil on canvas\nhighly detailed oil painting\nhighly detailed oil-painting\nhighly detailed painting\nhighly detailed painting of old\nhighly detailed panel cuts\nhighly detailed pattern\nhighly detailed pen\nhighly detailed perfect render\nhighly detailed photo\nhighly detailed photo 4k\nhighly detailed photo of happy\nhighly detailed photo portrait\nhighly detailed photograph\nhighly detailed photography\nhighly detailed photorealistic\nhighly detailed picture\nhighly detailed portrait\nhighly detailed portrait of goku\nhighly detailed product photo\nhighly detailed realism\nhighly detailed realistic\nhighly detailed realistic face\nhighly detailed refraction\nhighly detailed render\nhighly detailed rock structures\nhighly detailed rounded forms\nhighly detailed saturated\nhighly detailed scene\nhighly detailed schematic\nhighly detailed sculpey diorama\nhighly detailed sculpture\nhighly detailed sharp focus\nhighly detailed shot\nhighly detailed skeleton\nhighly detailed sketch\nhighly detailed skin\nhighly detailed snakes\nhighly detailed soft lighting\nhighly detailed spider - man\nhighly detailed stonework\nhighly detailed studio lighting\nhighly detailed surreal vfx\nhighly detailed surrealist art\nhighly detailed symmetry\nhighly detailed tattoo\nhighly detailed terrain\nhighly detailed texture\nhighly detailed texture render\nhighly detailed textured 8 k\nhighly detailed textured 8k\nhighly detailed textures\nhighly detailed toy\nhighly detailed unreal engine\nhighly detailed upper body\nhighly detailed vector art\nhighly detailed vfx\nhighly detailed vfx espresso\nhighly detailed vfx portrait\nhighly detailed vfx portrait of\nhighly detailed vfx scene\nhighly detailed visionary art\nhighly detailed water colour 8 k\nhighly detailed water colour 8k\nhighly detailed wheels\nhighly detailed wide\nhighly detailed winking face\nhighly detailed zen neon\nhighly detailed zen prisms\nhighly detailed ”\nhighly detailed!\nhighly detailed!!\nhighly detailed!!!\nhighly detailed!!!!!!!\nhighly detailed-h 704\nhighly detailed. post processing\nhighly detailed. realistic award\nhighly detailed. smooth\nhighly detailed”\nhighly detailled\nhighly detailled texture\nhighly details\nhighly details content\nhighly details form\nhighly detalied\nhighly disturbing\nhighly downvoted\nhighly dramatic\nhighly dvetailed\nhighly fashionable\nhighly focused\nhighly in focus\nhighly intricate\nhighly intricate and colorful\nhighly intricate detailed\nhighly intricate details\nhighly intricate in technicolor\nhighly intricate mindar punk\nhighly intricate wings\nhighly intricate wings!\nhighly intricately detailed\nhighly inventive pattern cutting\nhighly life-like\nhighly life-like arriflex 35 ii\nhighly mechanical\nhighly microdetailed\nhighly no detailed\nhighly ornamental\nhighly ornate\nhighly ornate intricate detail\nhighly ornate intricate details\nhighly photographic render\nhighly polished\nhighly professionally detailed\nhighly quality\nhighly realistic\nhighly realistic and detailed\nhighly realistic and intricate\nhighly realistic bump map\nhighly realistic concept art\nhighly realistic digital art\nhighly realistic hands\nhighly realistic photo\nhighly realistic photo realistic\nhighly realistic photograph\nhighly realistic photography\nhighly realistic unreal engine\nhighly realistic. live cam\nhighly realistically detailed\nhighly realistic”\nhighly reaslitic\nhighly reflective\nhighly reflective light\nhighly reflective surface\nhighly relaxed\nhighly rendered\nhighly rendered!!\nhighly saturated\nhighly saturated colors\nhighly sharp details\nhighly stylized\nhighly symmetric\nhighly symmetric body parts\nhighly symmetrical\nhighly technical\nhighly textured\nhighly textured landscape\nhighly textured oil painting\nhighly turbulent\nhighly upvoted\nhighly-detailed\nhighly-detailed 4k award-winning\nhighly-detailed and intricate\nhighly-detailed illustration\nhighly_detailded\nhighly_detailed\nhighly_detailed!!\nhighly_detailed_face\nhighly_detailed_face!!!\nhighlydetailed\nhighradiosity\nhighrealism\nhighres\nhighresolution\nhighrise buildings\nhighrise business district\nhighrise made up staircases\nhighschool background\nhighschool dxd\nhight contrast\nhight decorated\nhight detail\nhight detailed\nhight details\nhight detalied\nhight focus f - 2 2\nhight focus f - 22\nhight quality\nhight resolution\nhightech\nhightly detailed\nhightly ornate\nhighway\nhighway 5 0\nhighway and sunset!!\nhighway to hell\nhighways\nhighy detailed\nhighy detailed face\nhighyl detailed\nhigly\nhigly detailed\nhigly detailed black ink outline\nhigly detailed dark\nhigly detailed masterpiece\nhigly intricate\nhigly photorealistic details\nhigurashi\nhihgly detailed\nhijab\nhijikata toushirou\nhijikata toushirou of gintama\nhikari\nhiking cane\nhiking clothes\nhiking in rocky mountain\nhiking trail\nhikkikomori\nhila klein\nhilarious\nhildebrandt\nhill\nhill with trees\nhillary clinton\nhillary clinton behind bars\nhillary-clinton\nhillbilly\nhills\nhills and mountains\nhills and ocean\nhills in the background\nhillside\nhillside desert pavilion\nhilly road\nhilma af klint color palette\nhim\nhimalayan poppy flowers\nhimalayan rocksalt lamp\nhimalayas\nhimars\nhimars in cars pixar movie\nhimars with missile\nhimba\nhimba hairstyle\nhimeji rivendell garden of eden\nhinata hyuga\nhinata hyuga from naruto\nhindi text\nhindu\nhindu aesthetic\nhindu art\nhindu god\nhindu gods\nhindu kovil scene\nhindu ornaments\nhindu stages of meditation\nhindu temple in background\nhinduism\nhinged jaw\nhinged titanium legs\nhint of freckles\nhints of coles phillips\nhints of cronenberg\nhints of silver jewelry\nhints of yayoi kasuma\nhip\nhip - hop\nhip - hop album art cover\nhip and leg shot\nhip corporate\nhip emo fashion\nhip hop\nhip hop aesthetic\nhip hop album cover\nhip hop album cover art\nhip hop music album cover\nhip hop style\nhip hop vaporwave\nhip modern design\nhip modern vibe\nhip skirt wings\nhip-hop\nhip-length\nhiper detailed\nhiper realistic\nhiperdetailed\nhiperrealism\nhiperrealist\nhiperrealista\nhiperrealistc\nhiperrealistic\nhiphop\nhiphop gangsta robot\nhiphop urban inspired\nhippie\nhippie and boho fashion 1970s\nhippie chic\nhippie fashion\nhippie girl\nhippie motifs\nhippie pad\nhipple and boho fashion 1970s\nhippo\nhippo face morphed\nhippopotamus\nhippy\nhips\nhipster\nhipster dad\nhipster hair fringe\nhires\nhires textures\nhiro\nhiroaki samura\nhiroaki tsutsumi style\nhirohiko araki art\nhirohiko araki artwork\nhirohiko araki style\nhiromasa ogura\nhironaka\nhiroo isono\nhiroshi sugimoto\nhiroya oku\nhiroya oku painterly\nhiroyuki imaishi\nhiroyuki kato\nhiroyuki takahashi color scheme\nhiroyuki-mitsume takahashi\nhirstute and muscled\nhis arms and legs are hanging\nhis arms are behind his back\nhis arms spread\nhis arms spread. ready to fly\nhis back is turned\nhis body buried in the sand\nhis cape is the american flag\nhis clothes are torn and dirty\nhis eyes are bleeding intense\nhis eyes are closed\nhis eyes are red and glowing\nhis eyes glowing red\nhis eyes glowing yellow\nhis eyes look wise\nhis frank blue eyes\nhis friends are angry\nhis hair is messy and unkempt\nhis hair is messy and wild\nhis hair moves with the wind\nhis hands buried in his face\nhis head covered in jewels\nhis head covered in roots\nhis head is a pear\nhis head is a skull\nhis last moment\nhis legs spread apart\nhis mind contemplating eternity\nhis nose is a black beak\nhis one yes glow red\nhis palms are sweaty\nhis smile threw shadows\nhis trunk is a huge tentacle\nhis trunk is a long tentacle\nhis whole head fits in the frame\nhisashi eguchi\nhisasi\nhisoka\nhisoka from hunter × hunter\nhispanic\nhistological\nhistoric\nhistoric artworks society\nhistoric moment\nhistoric photo\nhistoric photograph\nhistoric portrait\nhistorical\nhistorical archive\nhistorical armor\nhistorical artistic depiction\nhistorical artworks\nhistorical baroque dress\nhistorical baroque dress dark\nhistorical documentary\nhistorical event\nhistorical fiction\nhistorical footage\nhistorical hero\nhistorical image\nhistorical painting\nhistorical photo\nhistorical photograph\nhistorical photography\nhistorical photos circa 1 9 4 7\nhistorical picture\nhistorical record\nhistorical reenactment\nhistorical setting\nhistorically accurate\nhistory\nhistory channel\nhistory drama\nhistory painting\nhistroical\nhitchcock\nhitler\nhitler playing basketball\nhitman\nhito steyerl\nhitoshi ashinano\nhive\nhive city\nhives\nhivis\nhiyao miyazaki\nhl 2\nho scale\nhoang lap\nhoang long ly\nhobbit\nhobbit hole\nhobbit monastery on hawaii\nhobbithead\nhobbiton\nhobbiton at night\nhobbits\nhockey arena game illustration\nhockey mask\nhockey team logo\nhodie mihi cras tibi\nhoffman bicycle trip\nhog rider\nhogwarts\nhogwarts 2 0 7 7\nhogwarts castle\nhogwarts great hall\nhogwarts gryffindor common room\nhogwarts legacy\nhogwarts library\nhogwarts setting\nhogwarts stairwell\nhogwarts style\nhokusai style\nhold\nhold mechanical bow and arrow\nhold spear\nhold sword in the forest\nhold up smartphone\nholding\nholding a bagpipe\nholding a baguette\nholding a ball\nholding a balloon\nholding a baseball bat\nholding a baseball bat!!\nholding a battery\nholding a beer\nholding a beer!!\nholding a bell\nholding a big camera\nholding a big sword\nholding a big two - handed staff\nholding a birthday cake\nholding a black katana\nholding a blaster\nholding a blue lightsaber\nholding a boba milky oolong tea\nholding a bomb\nholding a book\nholding a bottle\nholding a bottle of arak\nholding a bottle of beer\nholding a bow\nholding a bow and arrow\nholding a boxer puppy\nholding a briefcase\nholding a broadsword\nholding a bucket of kfc\nholding a burning wood piece\nholding a cactus\nholding a caduceus staff\nholding a camera\nholding a can of beer\nholding a candle\nholding a candle holder\nholding a cane\nholding a cat\nholding a chainsaw\nholding a cigar\nholding a cigarette\nholding a clipboard\nholding a colossal sword\nholding a crossbow\nholding a crowbar\nholding a crystal ball\nholding a drink\nholding a dslr camera\nholding a electric guitar\nholding a fantasy sword\nholding a flaming sword\nholding a flower\nholding a football\nholding a futuristic gun\nholding a galaxy\nholding a giant book\nholding a giant flail\nholding a giant strawberry\nholding a giant sword\nholding a giant weapon\nholding a glass of red wine\nholding a glass of wine\nholding a glock\nholding a glowing orb\nholding a goat head staff\nholding a gold bag\nholding a gold! cane!\nholding a golden bell\nholding a guitar\nholding a gun\nholding a hammer\nholding a holy symbol\nholding a huge gavel\nholding a huge shield\nholding a jack - o - lantern\nholding a katana\nholding a kitchen knife\nholding a knife\nholding a lantern\nholding a large glass of beer\nholding a large pizza\nholding a large pizza!!!\nholding a laser gun\nholding a leather purse\nholding a light saber\nholding a lightsaber\nholding a lightsabre. splash art\nholding a long sword\nholding a long sword  divine\nholding a long sword | divine\nholding a longbow\nholding a longsword\nholding a lute\nholding a magic needle\nholding a magic staff\nholding a magic wand\nholding a martini\nholding a microphone\nholding a milkor mgl\nholding a miniature earth\nholding a mp7\nholding a mug of beer\nholding a nintendo switch\nholding a paintbrush\nholding a paintbrush in his hand\nholding a pair of fans. unreal 5\nholding a pentagram shield\nholding a pistol\nholding a planet\nholding a pocket watch\nholding a poisonous axe\nholding a postcard from chicago\nholding a pudica pose\nholding a pug for a picture\nholding a rabbit\nholding a rainbow tiger gem\nholding a ray gun\nholding a ray-gun\nholding a record\nholding a red banner\nholding a red lightsaber\nholding a red orchid\nholding a red rose\nholding a revolver\nholding a rifle\nholding a rocket\nholding a rocket launcher\nholding a rose\nholding a rose in a hand\nholding a sacrificial dagger\nholding a samurai sword\nholding a scepter\nholding a scythe\nholding a shield\nholding a shield and gladius\nholding a shield and hammer\nholding a shining orb of data\nholding a shot glass of whiskey\nholding a shotgun\nholding a silver electric guitar\nholding a skull\nholding a skull staff\nholding a small vape\nholding a smoking ray-gun\nholding a snake\nholding a sniper rifle\nholding a snowboard\nholding a spear\nholding a spectacular broadsword\nholding a squid\nholding a stack of books\nholding a staff\nholding a stuff\nholding a sword\nholding a sword & shield\nholding a sword and a chisel\nholding a sword and shield\nholding a sword on her shoulder\nholding a sword shield\nholding a syringe\nholding a syringe!!\nholding a tangerine\nholding a tankard of ale\nholding a tattered magical book\nholding a teddy bear\nholding a thick staff\nholding a tin can\nholding a tiny galaxy\nholding a torch\nholding a tower shield\nholding a trident\nholding a two - handed sword\nholding a umbrella\nholding a very advance phone\nholding a vinyl record\nholding a wand\nholding a war hammer\nholding a weapon\nholding a whip\nholding a white duck\nholding a white flag\nholding a white fluffy kitten\nholding a wood piece\nholding a wooden staff\nholding a wrench\nholding a yellow toothbrush\nholding a 🛡 and an 🪓\nholding ace card\nholding an ace card\nholding an activated lightsaber\nholding an apple\nholding an avocado in his hand\nholding an axe\nholding an electric guitar\nholding an epee\nholding an epée\nholding an fish in his hand\nholding an umbrella\nholding ar-15\nholding arms on holsters\nholding axe\nholding bat\nholding beer\nholding beer bottles\nholding books\nholding bow and arrow\nholding broadsword\nholding brush\nholding cigar\nholding close\nholding controller\nholding court\nholding dagger\nholding daggers\nholding daisy\nholding each other\nholding each other hands\nholding easter eggs\nholding ego weapons\nholding electric guitar\nholding electric guitars\nholding electricity\nholding electricity and birds\nholding enormous mace\nholding enormous sword\nholding fire and electricity\nholding flamethrower\nholding flask in hand\nholding flowers\nholding futuristic crossbow\nholding gift\nholding glass of wine\nholding glowing laptop computer\nholding gold\nholding gold watch\nholding golden chains\nholding green fire\nholding grimoire\nholding guitars\nholding gun\nholding gun down\nholding hand\nholding handgun\nholding hands\nholding hands in the moonlight\nholding helmet\nholding her yorkshire terrier\nholding his hands up to his face\nholding his trident\nholding hk pistol in hand\nholding holy symbol\nholding hot sauce\nholding in his hand\nholding in the hands easter eggs\nholding intimately\nholding it out to the camera\nholding jagged scimitar\nholding katana\nholding khopesh\nholding khopesh and shield\nholding knife\nholding laser swords\nholding lightsaber\nholding lightsaber 4 k\nholding lightsaber 4k\nholding magic flowers\nholding magical fiery battle-axe\nholding magical kitchen knives\nholding maracas\nholding meatloaf\nholding mesh bag with bagels\nholding microphone\nholding miniature earth in hands\nholding mjolnir\nholding nevermore\nholding nikon camera\nholding notebook\nholding onto a galaxy\nholding origami qilin\nholding paintbrushes\nholding paws\nholding pdw\nholding pencil\nholding pistol\nholding pizza\nholding polaroid camera\nholding red umbrella\nholding revolver pistols\nholding rifle\nholding sabre\nholding scale\nholding scale and holding sword\nholding sci-fi rifle\nholding scimitar made of bone\nholding shield and sword\nholding shotgun\nholding shotgun down\nholding spear\nholding spell book\nholding sword\nholding swords\nholding syringe\nholding the earth\nholding the elder wand\nholding the larry o'brien trophy\nholding the larry obrien trophy\nholding the moon upon a stick\nholding the pint of ale\nholding toasted brioche bun\nholding trident\nholding two swords\nholding umbrella\nholding up a large shield\nholding up a night lamp\nholding up a pizza\nholding walking stick\nholding wand\nholding wands\nholding weapon and shield\nholding wine bottle\nholding wood saw\nholds a black sword\nholds a small knife in hand\nholds a smart phone in one hand\nholds a sword\nholds playing cards\nholes\nholes in a religious man\nholes in the lower jaw\nholga\nholga 120n\nholga hasselblad\nholi festival of rich color\nholiday\nholiday resort\nholiday season\nholiday vibe\nholistic medicine advertisement\nhollis dunlap\nhollister ranch\nhollosy simon and da vinci\nhollow\nhollow cheeks\nhollow earth\nhollow earth infographic\nhollow eyes\nhollow knight\nhollow knight concept art\nhollow knight screenshot\nhollow knight style\nhollow souls\nholly bruce\nholly herndon origami statue\nhollywood\nhollywood cinematic\nhollywood concept\nhollywood movie\nhollywood movie poster\nhollywood movie still\nhollywood promotional image\nhollywood scene\nhollywood standard\nhollywood style\nhollósy simon\nholman hunt\nholo\nholo if a wolf girl\nholo is a wolf girl\nholo sticker\nholodeck\nhologram\nhologram center\nhologram colors\nhologram hovering around her\nhologram sci - fi hood\nholograms\nholograph\nholographic\nholographic accents\nholographic artifacts\nholographic blade!\nholographic case display\nholographic colors\nholographic creatures\nholographic design\nholographic display lenses\nholographic effect\nholographic interface\nholographic krypton ion\nholographic material\nholographic memories\nholographic neon highlights\nholographic optical illusions\nholographic plastic\nholographic projection\nholographic rainbow\nholographic runes\nholographic space\nholographic suit\nholographic texture\nholographic tones\nholographic undertones\nholographic!!!\nholographics\nholography space\nhololive\nholosomnia\nholster\nholstering sword\nholy\nholy and beautiful\nholy and sacred\nholy armor\nholy aura\nholy ceremony\nholy city  illustration\nholy city | illustration\nholy cross\nholy crusader\nholy crusader medieval\nholy crusader medieval knight\nholy cyborg necromancer girl\nholy dice in the clouds\nholy energy\nholy fire spell art\nholy flame crown spell\nholy flame spell\nholy geometry\nholy glow\nholy grail\nholy halo\nholy iconography\nholy imagery\nholy inquisition\nholy light\nholy light halo\nholy light rays\nholy lights\nholy machine\nholy magic\nholy man looking at ground\nholy medieval crusader\nholy paladin\nholy place\nholy rays\nholy rays of spiritual light\nholy roman empire\nholy sacred light rays\nholy spirit\nholy sword in his hands\nholy themed\nholywood actress\nholywood quality\nholywood scene\nhome\nhome album pocket camera photo\nhome alone\nhome and garden\nhome display\nhome interior\nhome office\nhome office interior\nhome page screenshot\nhome photography portrait\nhome setting\nhome shopping network\nhome video\nhome video footage\nhome wicca scene\nhomelander\nhomelander from the boys\nhomeless\nhomeloaf\nhomely atmosphere\nhomemade\nhomer simpson\nhomer simpson as a real person\nhomer simpson as mona lisa\nhomer simpson in gears of war\nhomer simpson in gta v\nhomer simpson in minecraft\nhomer simpson in real life\nhomer simpson in stranger things\nhomer simpson lookalike\nhomer simpson style\nhomes and garden magazine\nhomes and gardens\nhomestar runner\nhomestuck\nhomeworld\nhomeworld skies\nhomeworld style\nhomicide\nhomicide in the snow\nhomoerotic\nhomoerotic!\nhomoerotic!!\nhomoeroticism\nhonda civic\nhonda nsx\nhonda rc 2 1 3\nhonda rc 213\nhone finished\nhone onna skeleton geisha\nhonest\nhoney\nhoney - colored eyes\nhoney and bee hive\nhoney birdette\nhoney dripping\nhoney dripping from ceiling\nhoney ripples\nhoney wind\nhoneycomb\nhoneycomb background\nhoneycomb halls\nhoneycomb structure\nhoneysuckle\nhong june hyung\nhong kong\nhong kong 1 9 5 4\nhong kong buildings\nhong lei\nhong soonsang\nhongbsws\nhonor\nhonorable\nhonored\nhood\nhood and cape\nhood and shadows covering face\nhood covers his eyes\nhooded\nhooded blue cloak\nhooded cloak\nhooded cloaked sith lord\nhooded cloaks\nhooded cowl\nhooded figure\nhooded figure surreal\nhooded figures\nhooded fur coat\nhooded skull\nhoodie\nhoody\nhoody woman explorer\nhoofs\nhoog detail\nhook as ring\nhooked - up\nhooked nose\nhooked nose and square jaw\nhoop earrings\nhop cone juice\nhope\nhopeful\nhopeful and bright\nhopeful expression\nhopeless\nhopeless emotions\nhopeless grey\nhopelessness\nhopi kachina\nhopper\nhopper and gilleard\nhorde of zombies\nhorde3d\nhorizon\nhorizon centered\nhorizon forbidden west\nhorizon forbideen west\nhorizon line focus\nhorizon of an erupting volcano\nhorizon view\nhorizon zero dawn\nhorizon zero dawn 8 k\nhorizon zero dawn 8k\nhorizon zero dawn aesthetic\nhorizon zero dawn machine\nhorizont\nhorizontal\nhorizontal orientation\nhorizontal symmetry\nhorizontal view\nhorizontally leaping\nhorizontally leaping!!!\nhorizontally symmetrical\nhorn\nhorned\nhorned beetle\nhorned god\nhorned helmet\nhorned ram goddess\nhorned skull mask\nhornet from hollow knight\nhorns\nhorns and red eyes\nhorns on head\nhorns on its head\nhorns under his cheek\nhorns with indicator lights\nhorns!\nhorns. dark colors\nhoror\nhorrible\nhorrible rotting flesh\nhorrific\nhorrific background\nhorrific beautiful vibe\nhorrific cinematic lighting\nhorrific digital art\nhorrific forest\nhorrific sentient meatloaf\nhorrific surreal nightmare\nhorrific yet beautiful vibe\nhorrified\nhorrified expression\nhorrified look in his eyes\nhorrifying\nhorrifying :4\nhorrifying creature\nhorrifying fear\nhorrifying grin. horror\nhorrifying monster\nhorror\nhorror - core\nhorror aesthetic\nhorror animatronic\nhorror art\nhorror artwork\nhorror atmosphere\nhorror cgi 4 k\nhorror cgi 4k\nhorror concept art\nhorror core\nhorror details\nhorror dramatic moment\nhorror element\nhorror elements\nhorror environment\nhorror face\nhorror fairy tale\nhorror fantasy\nhorror fantasy art\nhorror fiction\nhorror film\nhorror film poster\nhorror film still\nhorror footage\nhorror game\nhorror game graphics\nhorror grotesque\nhorror illustration\nhorror image\nhorror lighting\nhorror macabre face\nhorror manga\nhorror monster masterpiece\nhorror mood\nhorror movie\nhorror movie aesthetic\nhorror movie characters\nhorror movie cinematic\nhorror movie cinematography\nhorror movie lighting\nhorror movie lightning\nhorror movie poster\nhorror movie poster art\nhorror movie poster style\nhorror movie scene\nhorror movie slasher\nhorror movie still\nhorror movies\nhorror painting\nhorror photo\nhorror photography\nhorror poster\nhorror poster 9 0 s\nhorror poster 90 s\nhorror reality\nhorror rotten teeth\nhorror saw teeth\nhorror scary terror\nhorror sccene\nhorror scene\nhorror sci fi\nhorror sci-fi\nhorror science fiction\nhorror setting\nhorror smile\nhorror spooky\nhorror style\nhorror surreal art\nhorror surrealism\nhorror symmetrical face\nhorror terrifying\nhorror theme\nhorror themed\nhorror tones\nhorror vacui\nhorror vibe\nhorror vibes\nhorror video game\nhorror wallpaper aesthetic\nhorror ”\nhorror!! highly detailed\nhorrorcore\nhorrorifiying\nhorroristic shadows\nhorrors filmed on camera\nhorror”\nhorse\nhorse close - up\nhorse head animal merge\nhorse in background\nhorse in costume astronaut\nhorse is running\nhorse is up on it's hindlegs\nhorse is up on its hind legs\nhorse is up on its hindlegs\nhorse laying down\nhorse legs and human body\nhorse on top\nhorse race\nhorse racing\nhorse racing concept art\nhorse racing sketch\nhorse rider\nhorse sitting on astronaut back\nhorse warrior\nhorse whiskers\nhorsemen of the apocalypse\nhorses\nhorses in run\nhorses racing\nhorst p. horst\nhortorium\nhorzon\nhosada\nhoses\nhoses:10\nhoshino yukinobu\nhospital\nhospital background\nhospital bound\nhospital in background\nhospital interior\nhospital lighting\nhospital room\nhospital ward\nhospital!\nhost of the nightmare\nhostages\nhostile\nhostile aura\nhot\nhot air balloon\nhot air balloons\nhot air refraction\nhot and dry\nhot and humid\nhot and sunny\nhot and sunny highly-detailed\nhot bank\nhot cocoa drink\nhot coffee\nhot colors\nhot daddy\nhot day\nhot dog\nhot fire giantess\nhot fire goddess\nhot food\nhot glue\nhot hot hot\nhot neon green ornaments\nhot pants\nhot petite\nhot petite teen girl\nhot pink\nhot pink and black\nhot pink and gold color scheme\nhot pink halter top\nhot reptile humanoid woman\nhot springs hidden cave\nhot summer day\nhot summer sun\nhot summertime\nhot summertime hippie\nhot sun\nhot sun from above\nhot temperature\nhot topic\nhot topic anime convention\nhot toys\nhot tub\nhot weather\nhot wheels\nhot with shining sun\nhot-pants\nhotdogs\nhotei is on the table\nhotel\nhotel room\nhotline miami\nhotoverse\nhotrods driving down a street\nhotspring hidden in a cave\nhottoys\nhotwheels\nhou china\nhoudini\nhoudini & photoshop\nhoudini 3 d\nhoudini 3 d render\nhoudini 3d\nhoudini algorhitmic pattern\nhoudini algorithm generative art\nhoudini fluid simulation\nhoudini particles\nhoudini photoshop\nhoudini render\nhoudini rendering\nhoudini sidefx\nhoudini sim\nhoudini simulation\nhoudini vfx\nhoudini-hard-surface\nhour glass\nhourglass\nhourglass figure\nhourglass intricate detail\nhourglass shaped eye irises\nhourglass slim body\nhourglass slim figure\nhourglass volumetric lighting\nhourglass ⌛️\nhourglass! slim figure\nhourglassslim figure\nhouse\nhouse and home\nhouse background\nhouse bolton\nhouse illustration\nhouse in forest\nhouse in the wood\nhouse interior\nhouse kitchen on a sunny day\nhouse on a hill\nhouse on background\nhouse on fire\nhouse plants\nhouse telvanni\nhouse windows\nhouse's and shops and buildings\nhousefire\nhouseplant\nhouseplants\nhouses\nhouses and buildings\nhouses and roads\nhouses and shops and buildings\nhouses in the shape of mushrooms\nhouses of parliament\nhouses on fire\nhouses on stilts\nhouses with faces\nhousing architecture\nhouzz\nhoverboard\nhoverboards\nhovering\nhovering above a lake in yukon\nhovering drone\nhovering in the air\nhovering indecision\nhow a river\nhow pre-raphaelites\nhow pretty\nhow river\nhow to\nhow to draw\nhow to draw anime\nhow to train your dragon\nhow-to\nhoward\nhoward brodie\nhoward brown\nhoward pak\nhoward v brown\nhowever\nhowl's moving castle\nhowl\\'s moving castle at night\nhowling\nhowling at the moon\nhowls moving castle\nhowl’s moving castle\nhowrah bridge\nhoyte van hoytema\nhozier\nhp lovecraft\nhp lovecraft style\nhp mp stamina bars\nhq\nhq 4k phone wallpaper\nhq 4k wallpaper\nhq 8k cinematic\nhq 8k scan\nhq artwork\nhq lighting\nhq print\nhq render\nhq scan\nhq textures\nhq very detailed\nhq ”\nhr\nhr geiger\nhr geiger design\nhr giger\nhr giger ) ( ( stained glass\nhr giger and vincent di fate\nhr giger and zdzisław beksiński\nhr giger artwork\nhr giger muscles\nhr giger style\nhr giger. 8 k\nhr giger. 8k\nhr ginger\nhrd\nhrushevka on background\nhsiao-ron\nhsl\nhsv\nhua cheng\nhuang yuxing and aya takano\nhubbard sundblom\nhubble\nhubble deep field background\nhubble image\nhubble photo\nhubble photo background\nhubble photograph\nhubble photography\nhubble space telescope\nhubble telescope\nhubble telescope images\nhuble\nhublot\nhud\nhud face\nhud included\nhudson river school painting\nhudson river school style\nhue\nhuell babineaux\nhues of subtle grey\nhug\nhuge\nhuge adorable eyes\nhuge ancient trees\nhuge and megalithic\nhuge anime eyes\nhuge armies\nhuge battle\nhuge belt\nhuge black circle\nhuge black glowing sun\nhuge black round hole\nhuge blond moustache\nhuge blossoms\nhuge bubbles\nhuge bulbous pitch black eyes\nhuge bull emerging from the sand\nhuge central tree\nhuge chasm\nhuge chin\nhuge city\nhuge clouds\nhuge computer screens\nhuge crab\nhuge creature\nhuge crowd\nhuge crowd on drugs\nhuge cup of coffee\nhuge curly pink hair\nhuge details\nhuge distance\nhuge downslanted eyes\nhuge dramatic brush strokes\nhuge ducati panigrale motorbike\nhuge earrings\nhuge earrings and queer make up\nhuge explosion\nhuge explosions\nhuge explosions everywhere\nhuge eyes\nhuge factories\nhuge feathery wings\nhuge ficus macrophylla\nhuge fire\nhuge flame fantasy plant\nhuge flower\nhuge flowers\nhuge futuristic building\nhuge futuristic temple city\nhuge gargantuan black sun\nhuge gargantuan scale\nhuge gate\nhuge giant old ruins\nhuge glass structure\nhuge glistening muscles\nhuge greek columns\nhuge greenhouse\nhuge head tiny body\nhuge highly detailed wings\nhuge holograms\nhuge horns\nhuge incredibly immense trees\nhuge jet rocket engine backpack\nhuge juicy lips\nhuge ladybug mothership\nhuge ladybug motherships\nhuge level structure\nhuge lips\nhuge machine cranes\nhuge machine robot\nhuge magic circles on the hand\nhuge mansion\nhuge mechanical clocks\nhuge modern downtown city\nhuge muscles\nhuge muscles bodybuilder toddler\nhuge mustache\nhuge nuclear mushroom cloud\nhuge obsidian structures\nhuge office\nhuge old ruins\nhuge oversized sword\nhuge pauldrons\nhuge pink hair\nhuge prismatic glowing sun\nhuge red moon\nhuge rose flower face\nhuge rose flower head\nhuge scale\nhuge scene\nhuge scythe\nhuge shoulder pauldrons\nhuge smashed mansion\nhuge smile\nhuge space battle\nhuge speakers\nhuge spikey teeth\nhuge spines\nhuge statues\nhuge storm\nhuge stylized pauldrons\nhuge success\nhuge support buttresses\nhuge surprised eyes\nhuge suspended wooden bridge\nhuge sword\nhuge symmetric wings\nhuge teeth\nhuge telescope on mauna kea\nhuge tentacles\nhuge towering magical university\nhuge tree trunks\nhuge trees\nhuge tusks\nhuge universe\nhuge veins\nhuge viewscreen at front\nhuge waterfall\nhuge waterfalls\nhuge waves\nhuge weapon\nhuge white teeth\nhuge wings\nhuge wings growing out of arms\nhuge!!!\nhuge-eyed\nhugging\nhugging and cradling\nhugging each other\nhugging her knees\nhugging his knees\nhuggy wuggy\nhugh definition\nhugh detailed\nhugh grant\nhugh grant man vs wild\nhugh jackman portrait\nhugh kretschmer\nhugh laurie\nhugh quality\nhugh ward\nhughly detailed\nhuginn and muninn flying above\nhugo boss prize\nhugo pratt\nhugs\nhuhd\nhuhd - 8 k\nhuhd - 8k\nhuifeng huang\nhuke\nhuleeb\nhulk\nhulk body type\nhulk costume\nhulk hogan\nhulk like physique\nhulking\nhulkish\nhull\nhull is a opera house\nhulton archives\nhumachine humanized experiment\nhuman\nhuman - like\nhuman - shaped\nhuman : - 2\nhuman :: sorceress\nhuman actress\nhuman anatomy\nhuman anatomy features\nhuman and animal skulls\nhuman and dragon fusion\nhuman arms\nhuman babies\nhuman back legs and sneakers\nhuman bodies\nhuman bodies intertwined\nhuman body\nhuman body and head\nhuman body breaking away\nhuman body parts\nhuman body plan\nhuman body with dragon features\nhuman brain\nhuman cat hybrid\nhuman character\nhuman chimera\nhuman circulatory system\nhuman computer\nhuman design\nhuman dressed as a bull\nhuman evolution\nhuman eye\nhuman eyes\nhuman eyes!\nhuman face\nhuman face realistic\nhuman face with bright red yes\nhuman faces\nhuman facial features\nhuman farm\nhuman features\nhuman female\nhuman fighter\nhuman figure\nhuman figures\nhuman fingers\nhuman flesh\nhuman form\nhuman futuristic city\nhuman game protagonist designs\nhuman glowing\nhuman goku\nhuman hand\nhuman hands\nhuman head\nhuman head skin\nhuman head with blonde hair\nhuman heads everywhere\nhuman heart\nhuman jaw\nhuman lamb hybrid\nhuman leg photography\nhuman legs\nhuman like\nhuman like a cyborg\nhuman machine interface\nhuman male\nhuman male character art\nhuman male demon\nhuman need death angel\nhuman onion hybrid\nhuman perspective\nhuman photo\nhuman physique study\nhuman portrait\nhuman prisoners\nhuman proportion\nhuman realistic face\nhuman sacrifice\nhuman shape\nhuman silhouette\nhuman silhouettes\nhuman skeleton\nhuman skin\nhuman skin texture\nhuman skull\nhuman skulls on ground\nhuman soldiers\nhuman soul\nhuman spine\nhuman staring blankly ahead\nhuman structure\nhuman structure bee concept art\nhuman structure concept art\nhuman subjugation\nhuman torch\nhuman torso\nhuman torso and head\nhuman torso on a horse body\nhuman torture\nhuman warrior\nhuman with one robot eye\nhuman-animal hybrid\nhuman-like\nhuman-skin pelt\nhumanisation\nhumanity\nhumanity like cosmic structure\nhumanity's cosmic future\nhumanity's last sacrifice\nhumanitys cosmic future\nhumanization\nhumanized\nhumanoid\nhumanoid animal\nhumanoid body\nhumanoid car head\nhumanoid character\nhumanoid cheetah\nhumanoid creature\nhumanoid face\nhumanoid feathered head\nhumanoid figure\nhumanoid flora\nhumanoid form\nhumanoid mech\nhumanoid monkey fantasy race\nhumanoid pink female squid girl\nhumanoid portrait\nhumanoid pov\nhumanoid robot\nhumanoid robot close up\nhumanoid robot from ex machina\nhumanoid robots\nhumanoid servo\nhumanoid shape\nhumanoid turtle monster\nhumanoid with crooked teeth\nhumanoid woman\nhumanoide robot\nhumanoids\nhumanoids overgrown with flowers\nhumans\nhumans enslaved\nhumans exploring\nhumans hide in the underwater\nhumans of new york\nhumans of new york style\nhumans sleeping in healing pods\nhumans suddenly dissapeared\nhumans:-1\nhumble\nhumblewood art style\nhumid\nhumid alien jungle\nhumid evening\nhumid ground\nhumidity\nhumidity mold\nhummingbird\nhummingbirds\nhumongous\nhumongous view\nhumor\nhumorous\nhumorous illustration\nhumpback whale\nhumpty dumpty in form of egg\nhumus\nhumvee\nhunchback\nhunchbacked\nhunched over\nhunched shoulders\nhundreds of chairs and tables\nhundreds of eyes\nhundreds of humans\nhundreds of them\nhung above the door\nhungarian\nhungarian flag in the background\nhunger\nhungover\nhungry\nhunt\nhunted\nhunter\nhunter alone in the wilderness\nhunter biden\nhunter biden smoking crack\nhunter eyes\nhunter hunter\nhunter s thompson\nhunter x hunter\nhunters\nhunters gear\nhunterxhunter\nhunting\nhunting a tiger\nhunting bisons\nhunting buffalo\nhunting the monsters\nhunting trophies\nhuntress\nhurricane\nhurricane stromy clouds\nhurt\nhurting\nhusband wife and son\nhusky\nhusky dog\nhusky in shiny armor\nhustle and bustle\nhustlers\nhut\nhuts\nhwang se - on\nhy - gogg\nhyacinth\nhyacinth blooms surround her\nhyacinthe rigaurd\nhyaku. detailed\nhybrid\nhybrid animal\nhybrid art styles\nhybrid creature\nhybrid from dynasty warriror\nhybrid human / anthro\nhybrid human/tank\nhybrid of a cat and a chicken\nhybrid of gal gadot\nhybrid of mouse and cat\nhybrid of mouse and horse\nhybrid of pig and nyc policeman\nhybrid styles\nhybrids\nhydra\nhydra with eight heads\nhydrangea\nhydration\nhydraulic features\nhydraulics\nhydrogen fuel cell vehicle\nhydrogen. beautiful\nhydroponic farms\nhydropunk\nhyena\nhyena fursona\nhygge\nhylics artwork\nhymenocallis coronaria\nhypdertailed\nhype\nhype realistic\nhype-realistic\nhypebeast\nhyper\nhyper - detail\nhyper - detailed\nhyper - detailed 8 k\nhyper - detailed 8k\nhyper - detailed color photo\nhyper - detailed face\nhyper - detailed masterpiece\nhyper - detailed photo\nhyper - detailed visionary art\nhyper - goth\nhyper - maximalist\nhyper - real\nhyper - realism\nhyper - realist\nhyper - realistic\nhyper - realistic lighting\nhyper - realistic oil painting\nhyper - realistic render\nhyper - realistic tattoo sketch\nhyper - realistic vfx render\nhyper - sonic\nhyper anger\nhyper attractive\nhyper bullish\nhyper color\nhyper color digital art\nhyper color photograph\nhyper colorful\nhyper colors\nhyper complexity\nhyper composed\nhyper concept art\nhyper contrast well drawn\nhyper control-realism\nhyper cute\nhyper deatiled\nhyper detail\nhyper detail illustration\nhyper detail portrait\nhyper detailed\nhyper detailed 3 d render\nhyper detailed 3d render\nhyper detailed 4 k\nhyper detailed 8 k\nhyper detailed 8k\nhyper detailed and intricate\nhyper detailed and realistic\nhyper detailed art\nhyper detailed background\nhyper detailed conch shell\nhyper detailed digital art\nhyper detailed eyes\nhyper detailed face\nhyper detailed faces\nhyper detailed hyper detailed\nhyper detailed illustration\nhyper detailed line art\nhyper detailed manga drawing\nhyper detailed masterpiece\nhyper detailed ornament\nhyper detailed painting\nhyper detailed photo\nhyper detailed photorealistic\nhyper detailed scene\nhyper detailed ultra sharp\nhyper detailed visionary art\nhyper detailed wolf - like face\nhyper detailed!!\nhyper detailed!!!\nhyper detailled\nhyper details\nhyper detalied\nhyper dimension\nhyper extremism\nhyper feminine\nhyper focus\nhyper intricate\nhyper light drifter\nhyper light drifter color pallet\nhyper liminal photo\nhyper luxurious\nhyper maximalist\nhyper ornate\nhyper photo realistic\nhyper photo realistic 8k hd hdri\nhyper photorealism\nhyper photorealistic\nhyper photorealistic 4k\nhyper photorealistic raytracing\nhyper quality\nhyper real\nhyper real acrylic painting\nhyper real highly detailed\nhyper real oil painting\nhyper real painting\nhyper real photo\nhyper real render\nhyper real retro\nhyper reali sm\nhyper realise\nhyper realisitic\nhyper realism\nhyper realism 4k\nhyper realism 8k\nhyper realism aesthetic\nhyper realism renaissance art\nhyper realism scary\nhyper realism!!\nhyper realist\nhyper realistic\nhyper realistic 3 d render\nhyper realistic 3d\nhyper realistic 3d render\nhyper realistic 4 k\nhyper realistic 4k\nhyper realistic 8 k\nhyper realistic 8 k textured\nhyper realistic 8k\nhyper realistic absurd\nhyper realistic anime\nhyper realistic art\nhyper realistic artwork\nhyper realistic background\nhyper realistic clouds\nhyper realistic color photo\nhyper realistic content\nhyper realistic cyberpunk city\nhyper realistic detail\nhyper realistic detailed\nhyper realistic detailed render\nhyper realistic details\nhyper realistic digital art\nhyper realistic digital painting\nhyper realistic eyes\nhyper realistic face\nhyper realistic faces\nhyper realistic fantasy\nhyper realistic fantasy monster\nhyper realistic film photography\nhyper realistic fur\nhyper realistic head\nhyper realistic illustration\nhyper realistic lighting\nhyper realistic octane render\nhyper realistic octane render 4k\nhyper realistic oil painting\nhyper realistic painting\nhyper realistic photo\nhyper realistic photograph\nhyper realistic photography\nhyper realistic photorealistic\nhyper realistic poison bottle\nhyper realistic portrait\nhyper realistic realistic\nhyper realistic reflections\nhyper realistic render\nhyper realistic rendering\nhyper realistic sci fi realistic\nhyper realistic shaded tattoo\nhyper realistic style\nhyper realistic tattoo\nhyper realistic texture\nhyper realistic vfx simulation\nhyper realistic ”\nhyper realistic”\nhyper reallistic\nhyper realstic\nhyper refined\nhyper relastic\nhyper sharp\nhyper sharp focus\nhyper surrealism\nhyper ultra detailed\nhyper-definition\nhyper-detail\nhyper-detailed\nhyper-detailed environment\nhyper-detailed masterpiece\nhyper-detailed portrait\nhyper-detailed. studio lightning\nhyper-fidelity\nhyper-futuristic city\nhyper-maximalist\nhyper-real\nhyper-realism\nhyper-realistic\nhyper-realistic cg\nhyper-realistic cyberpunk style\nhyper-realistic environment\nhyper-realistic oil painting\nhyper-realistic painting\nhyper-realistic photography\nhyper-realistic render\nhyper-realistic tattoo\nhyper-reslistic\nhyper-shapes\nhyperalism\nhyperbeast design\nhyperbolic\nhyperbolic geometry\nhyperborea\nhyperborea princess\nhypercolor\nhypercomplex\nhypercube\nhyperdetail\nhyperdetailed\nhyperdetailed  donato giancola\nhyperdetailed 3 d matte painting\nhyperdetailed 3d matte painting\nhyperdetailed and intricate\nhyperdetailed colourful\nhyperdetailed concept art\nhyperdetailed content\nhyperdetailed crisp render\nhyperdetailed detailed\nhyperdetailed eyes\nhyperdetailed face\nhyperdetailed fantasy character\nhyperdetailed features\nhyperdetailed illustration\nhyperdetailed intricate\nhyperdetailed matte painting\nhyperdetailed metalwork\nhyperdetailed mix\nhyperdetailed object\nhyperdetailed oil painting\nhyperdetailed painting\nhyperdetailed perfect face\nhyperdetailed photo\nhyperdetailed photograph\nhyperdetailed photorealism\nhyperdetailed photorealism”\nhyperdetailed samsung store\nhyperdetailed scp artifact jar\nhyperdetailed skin\nhyperdetailed storm clouds\nhyperdetailed texture\nhyperdetailed twigs and plants\nhyperdetailed unreal engine\nhyperdetailed | donato giancola\nhyperdetailed!\nhyperdetailed!!\nhyperdetailed!!!\nhyperdetailes\nhyperdetailled\nhyperdetails\nhyperdetalied\nhyperdetalized\nhyperdimensional\nhyperealisism\nhyperealism\nhyperealistic\nhyperealistic fresh paint\nhyperealistic octane render\nhyperealistic photo\nhyperedetailed photo\nhyperfocal 8k\nhyperlight drifter\nhypermasculine\nhypermaximalism\nhypermaximalist\nhypermaximalistic\nhypermaxiymalism\nhyperminimalist\nhyperpop\nhyperpop aesthetics\nhyperprism\nhyperquality\nhyperralistic\nhyperralistic art\nhyperreal\nhyperreal - h 6 4 0\nhyperreal - h 640\nhyperreal 4 k\nhyperreal 4k\nhyperreal highly detailed 8 k\nhyperreal movie shot\nhyperreal phantastic\nhyperreal phantastic landscape\nhyperreal rendering\nhyperrealisic\nhyperrealisim\nhyperrealism\nhyperrealism 8 k\nhyperrealism 8k\nhyperrealism art\nhyperrealism artstyle\nhyperrealism concept art\nhyperrealism mixed with 2 d\nhyperrealism mixed with 2d\nhyperrealism oil painting\nhyperrealism painting\nhyperrealism photo\nhyperrealism photography\nhyperrealism photorealism\nhyperrealism self portrait\nhyperrealism style\nhyperrealism vrubel\nhyperrealism!!!\nhyperrealism. fantasy 4k\nhyperrealism”\nhyperrealist\nhyperrealist highly intricate\nhyperrealist portrait in a river\nhyperrealistc\nhyperrealistic\nhyperrealistic 3 d digital art\nhyperrealistic 3 d render\nhyperrealistic 3d digital art\nhyperrealistic 3d render\nhyperrealistic 4k uhd\nhyperrealistic 8k\nhyperrealistic 8k uhd\nhyperrealistic aesthetic\nhyperrealistic anatomy\nhyperrealistic anatomy content\nhyperrealistic anatomy posse\nhyperrealistic art\nhyperrealistic art nouveau\nhyperrealistic beautiful face\nhyperrealistic cgi\nhyperrealistic composition\nhyperrealistic concept art\nhyperrealistic content\nhyperrealistic d & d fantasy art\nhyperrealistic details\nhyperrealistic digital art\nhyperrealistic digital painting\nhyperrealistic dramatic lighting\nhyperrealistic drawing\nhyperrealistic eyes\nhyperrealistic face\nhyperrealistic faces\nhyperrealistic fall\nhyperrealistic fantasy art\nhyperrealistic flickr:5\nhyperrealistic full figure\nhyperrealistic hell\nhyperrealistic illustration\nhyperrealistic image\nhyperrealistic image of x\nhyperrealistic intricate details\nhyperrealistic jeff goldblum\nhyperrealistic landscape\nhyperrealistic lighting\nhyperrealistic lighting studio\nhyperrealistic luis royo\nhyperrealistic masterpiece\nhyperrealistic matte painting\nhyperrealistic mixed media\nhyperrealistic movie filmstill\nhyperrealistic n- 4\nhyperrealistic nightmare scene\nhyperrealistic octane render\nhyperrealistic oil painting\nhyperrealistic painting\nhyperrealistic photo\nhyperrealistic photo luis royo\nhyperrealistic photo of rayquaza\nhyperrealistic photograph\nhyperrealistic photography\nhyperrealistic picture\nhyperrealistic portrait\nhyperrealistic render\nhyperrealistic rendering\nhyperrealistic robot owl\nhyperrealistic schoolgirl\nhyperrealistic shaded\nhyperrealistic simulation\nhyperrealistic sketch\nhyperrealistic smoke\nhyperrealistic sparrows\nhyperrealistic surrealism\nhyperrealistic symmetrical 8k\nhyperrealistic teen\nhyperrealistic textures\nhyperrealistic vfx render\nhyperrealistic vfx simulation\nhyperrealistic ”\nhyperrealistic!\nhyperrealistic-h 960\nhyperrealistic”\nhyperrealistoc\nhyperreality\nhyperrealstic\nhyperrrealistic\nhyperrrealistic bone structure\nhypersaturated\nhypersharp\nhyperspace\nhyperspace creature\nhyperspeed\nhypersphere\nhypersurreal\nhypersurrealism\nhyperthreading\nhypervivid intense mcbess\nhyperwave vibes\nhyphae\nhypnos\nhypnosis\nhypnotic\nhypnotic dimensions\nhypnotic eyes\nhypnotising\nhypnotized\nhyppereality\nhypperrealistic\nhypperrealistic 3 d sculpture\nhypperrealistic 3d sculpture\nhypperrealistic illustration\nhypperrealistic painting\nhyprerealistic\nhyprrealism\nhyrule\nhysteria\nhysterical\nhystorical painting\nhyung - tae kim\nhyung tae\nhyung tae and frank frazetta\nhyung tae kim\nhyung-tae kim\nhziulquoigmnzhah\ni am groot\ni beat the enemy on my own\ni do not remember being born\ni dream of a vase flowers\ni dream on\ni got a job with stanley\ni had a dream on a back lot\ni have no mouth\ni just saw a huge dragon\ni looked\ni love you\ni mean\ni played a man from history\ni realize\ni said\ni see fields of green\ni see you\ni slept in segments last night\ni think\ni think you should leave\ni walk 47 miles of barbed wire\ni woke up in pieces\ni és complex\ni'd make a deal with god\ni'm dad\ni'm here\ni'm not a hero\ni've been trying to call\ni've discovered life\ni've had a rough day\ni-d magazine\ni_5589.jpeg\nia bottle n the shape of shrek\niain mccaig\niamag\niamag premiere\nian\nian callum\nian callum!\nian david soar\nian mcdiarmid\nian mcshane\nian sprigger\nibex masters\nibiza\nibiza nightclub dancing inspired\nicaro carvalho\nicarus\nicarus falling from the sky\nicbm\nice\nice - carving\nice - t\nice - t portrait\nice age\nice and fire\nice and glaciers\nice arrows\nice blue\nice blue eyes\nice cave\nice city in 2 0 8 0\nice coffee\nice cold blue theme\nice color scheme\nice cream\nice cream cone\nice cream cones\nice cream on the side\nice crystal armor\nice crystals\nice cube\nice cubes\nice dust\nice fish shape\nice gate\nice grey eyes\nice lord\nice mage\nice magic\nice mountains afar\nice mountains in the background\nice needles\nice planet\nice princess\nice queen\nice sculpture\nice seracs\nice shards\nice snowy lake setting\nice sorceress\nice spell\nice sunflowers\nice tea in a mason jar\nice! cream! truck!\nice-blue-eyes\niceberg\nicebergs\nicebergs in the background\niced latte\niced tea glass\niceland\niceland astrophotography\niceland hills in the background\niceland landscape\niceland landscape photography\niceland photography\nicelandic landscape\nicelandic valley\nicewind dale\nicey\nicey blue dress\nicey tundra background\nichi-up\nichigo\nichigo kurosaki\nicicle\nicicles\nicon\nicon black and white\nicon for an ai app\nicon for weather app\nicon pack\nicon pattern\nicon style\nicon with a halo of fire\niconic\niconic character\niconic character splash art\niconic cinematography\niconic composition\niconic design\niconic film character\niconic icon\niconic logo\niconic logo symbol\niconic scene\niconic scene from star wars\niconic shot\niconography\niconography background\niconostasis in the bar\nicons\nicy\nicy cold pale silent atmosphere\nicy eyes\nicy glaciers\nicy lake setting\nicy landscape\nicy mountains\nicy mountains in the background\nicy road on a planet of lava\nid magazine\nid make a deal with god\nid software\nidaho\nideal\nideal composition\nideal pixar character\nideal polyhedron\nideal proportions\nidealised\nidealistic\nideas\nidentical\nidentical eyes\nidentical picture\nidentity\nidian dress\nidilic\nidillic\nidiosyncratic\nidle\nidol\nidolmaster\nidris elba as james bond\nidw mtmte tfwiki\nidw publishing\nidyll\nidyllic\nidyllic and fruitful land\nidyllic cottage\nif he had ice powers\nif i only could\nif it were a real person\nif usa was a monarchy\nifa deity\nifbb fitness body\nifunny\nifunny impact font bottom text\nifunny watermark\nig model  artgerm\nig model | artgerm\nig studios anime style\niggy pop\nigh detailed\nighly detailed\nigla\nigla movie shot\nign\nignacio fernandez rios\nignacio fernandez rios ”\nignacio fernández ríos\nignacio rios\nignant\nigneous rock\nigneous rock materials\nigor berezovsky\niguana\niintricate\nike in real life\nikea\nikea catalogue\nikea catalogue photo\nikea manual\nikea style\nikebana\nikebana white flowers\nikenobo\nikki tousen\nikuto yamashita\nil\nilford delta 3 2 0 0 pro\nilford delta 3200\nilford delta 3200 pro\nilford hp 5\nilford hp5\nilford xp2 super\niliad\niliescu\nilithid\nilithid mind flayer\nill of none\nillegal\nillegal rave\nillegible\nillegible rosicrucian symbols\nillinois\nillinois vaporwave\nillithid\nillstration\nilluminated\nilluminated blue neon lines\nilluminated features\nilluminated focal point\nilluminated for rays of light\nilluminated glowing lines\nilluminated lighting\nilluminated lines\nilluminated manuscript\nilluminated neon lines\nilluminated orbs\nilluminated pool\nilluminated runes\nilluminated stars and galaxies\nilluminati\nilluminati eye\nilluminati symbol\nilluminating fog\nilluminating the area\nillumination\nillumination lighting\nillusion\nillusion of bent time\nillusion painting hidden image\nillusion psychedelic art\nillusion surreal art\nillusionism\nillusionistic detail\nillusions\nillustartion\nillustation\nillustrated\nillustrated anime\nillustrated completely\nillustrated in whimsical style\nillustrated logo\nillustrated news agency\nillustrated novel\nillustrated poster\nillustrated starbucks interior\nillustratio\nillustratioin\nillustration\nillustration  rutkowski\nillustration - n 9\nillustration 8 k\nillustration and sketch\nillustration art\nillustration black outlining\nillustration concept art\nillustration daily deviation\nillustration detailed\nillustration for children\nillustration in pen an ink\nillustration in pen and ink\nillustration in the golden ratio\nillustration iridescent\nillustration line art style\nillustration matte painting\nillustration of 2 cats\nillustration of a cat\nillustration of a duck\nillustration of a rooster\nillustration of an angler fish\nillustration of an angry rooster\nillustration of boris johnson\nillustration of to pout\nillustration painting\nillustration pokemon\nillustration sharp\nillustration sharp detail\nillustration style\nillustration | rutkowski\nillustration »\nillustration!\nillustration.\nillustration:.4\nillustration]\nillustrations\nillustrations of animals\nillustration”\nillustrative\nillustrative and abstract\nillustrative art\nillustrative story telling\nillustrative style\nillustrative!!\nillustrator\nillustrator vector graphics\nillustrious\nillustrious clothes\nillustrious makinami\nillutstration\nillya kuvshinov\nilm\nilm and digital domain\nilm of an epic sci-fi\nilse gort\nilustration\nilya\nilya golitsyn\nilya kushinov\nilya kuvishinov style\nilya kuvshinov\nilya kuvshinov and artgerm\nilya kuvshinov face\nilya kuvshinov landscape\nilya kuvshinov style\nilya kuvshinov with long hair\nilya kuvshinov!\nilya kuvshinov. 4 k\nilya kuvshinov. 4k\nilya kuyshinov\nilya ozornin\nilya repin and andrei tarkovsky\nilya repin oil painting\nilya repin style\nilya yevimovich repin\nimaan hammam\nimage\nimage apothecary\nimage artifacts\nimage comics\nimage credit nasa nat geo\nimage credit nat geo\nimage dataset\nimage depth\nimage from afar\nimage full of reflections\nimage in center\nimage of random arts\nimage of ronald mcdonald\nimage of the day\nimage on the store website\nimage overlays\nimage split in half\nimagenet\nimagery\nimages\nimages on the sales website\nimages on the store website\nimageworks\nimaginary\nimaginary slice of life\nimagination\nimagination cosmic dream\nimaginative\nimaginative realism\nimaginative!!\nimaginative!!!\nimaginative. creative\nimagine\nimagine fx\nimaginefx\nimaginefx : : hyperrealism\nimaginfx\nimagining a blissful fate\nimagistic sky\nimalou\nimane anys\nimari\nimax\nimax 2 0 mm anamorphic lens\nimax 35 mm footage\nimax 4 0 mm anamorphic lens\nimax 40 mm anamorphic lens\nimax 7 0 mm\nimax 7 0 mm footage\nimax 7 0 mm. bladerunner\nimax 7 0 mm. buzz lightyear\nimax 7 0 mm. octane 3 d render\nimax 7 0 mm. silent running\nimax 7. 0 mm footage\nimax 70 mm\nimax 70 mm footage\nimax 70 mm. bladerunner\nimax 70 mm. buzz lightyear\nimax 70 mm. octane 3d render\nimax 70mm footage\nimax cinematography\nimax close-up of face\nimax film\nimax film quality\nimax hd\nimax movie still\nimax photography 4 k\nimax quality\nimax render\nimbalanced mars. rugged\nimdb\nimdb poster style\nimet2020\nimg _ 9 7 5. raw\nimg_975.raw\nimgur\nimmaculate\nimmaculate and epic scale\nimmaculate complexion\nimmaculate detail\nimmaculate rows of crops\nimmaculate scale\nimmaculate shading\nimmaculately detailed\nimmanence\nimmaterial\nimmature\nimmense\nimmense cosmic aura\nimmense crowd of people\nimmense crowd of varied people\nimmense detail\nimmense details\nimmense scale\nimmense waterfall\nimmense wheat fields\nimmensely detailed scene\nimmensity\nimmersed\nimmersed within a glitch network\nimmersed within a network\nimmersive\nimmoral tales\nimmortal\nimmortal bone\nimmortal neuron\nimmortality\nimmortality fountain\nimogen poots\nimogen poots as a d&d paladin\nimogen poots as a holy warrior\nimogen poots as a paladin\nimogen poots as holy paladin\nimogen poots d&d paladin\nimogen poots paladin\nimp\nimpact font\nimpactful\nimpactful ambient\nimpactful graphic design\nimpactful masterpiece\nimpassioned\nimpasto\nimpasto oil painting\nimpasto paint\nimpasto painting\nimpeccable military composure\nimpeccably dressed\nimpending doom\nimpending doom in an alleyway\nimpending fear\nimperfection\nimperial\nimperial and elegant hair style\nimperial brutalist base\nimperial city in the distance\nimperial march\nimperial military\nimperial officers in white\nimperial portrait\nimperial royal elegant clothing\nimperial russia\nimperial star destroyer\nimperial symbol\nimperil\nimperious\nimperious size\nimperium\nimperium space marines\nimpish smile\nimplanted sunglasses\nimplants\nimplosion\nimportant\nimportant: no extra characters\nimportant: no extra limbs\nimposing\nimposing and dominating\nimposing architecture\nimposing presence\nimpossible\nimpossible angles\nimpossible architecture\nimpossible detail\nimpossible dream\nimpossible geometry\nimpossible object\nimpossible stairs\nimpossible stijl architecture\nimpossible structures\nimpossible torsion\nimpossibly beautiful portrait\nimpossibly detailed\nimpossibly lifelike composition\nimposter\nimprecise brushwork\nimpression\nimpressionism\nimpressionism and expressionism\nimpressionism painting\nimpressionism style\nimpressionist\nimpressionist art\nimpressionist artists\nimpressionist drawing\nimpressionist oil painting\nimpressionist painting\nimpressionist style\nimpressionist style painting\nimpressionist watercolor\nimpressionistic\nimpressionistic brush strokes\nimpressionistic brushwork\nimpressionistic painting\nimpressionnisme\nimpressive\nimpressive detail\nimpressive detail : 7\nimpressive fantasy landscape\nimpressive horns\nimpressive lighting\nimpressive line work\nimpressive perspective\nimpressive winning photo\nimprobability\nimprobable\nimprovisation\nimprovisational\nimsorryjon\nimvu\nin\nin - frame\nin - frame. photorealistic\nin - game\nin - game footage\nin - game screen shot\nin - game screenshot\nin 1 7 6 7\nin 1 9 8 5\nin 1 9 9 5\nin 1767\nin 1960s new york\nin 1985\nin 1995\nin 2 0 0 2\nin 2 0 1 2\nin 2 0 1 5\nin 2 0 1 8\nin 2 0 5 5\nin 2002\nin 2012\nin 2015\nin 2055\nin 3d\nin 4 d\nin 4k\nin a  jungle\nin a anime masterpiece\nin a background green forest\nin a ball pit\nin a bamboo forest\nin a bar\nin a baroque museum exhibit\nin a baroque style\nin a basement\nin a bathroom\nin a beachfront environment\nin a beautiful crystal caverine\nin a bedroom\nin a bedroom!!!!!!!!!!!!!!!!!!!!\nin a bikini\nin a black betch bra\nin a black chiffon layered robe\nin a black empty studio hollow\nin a black hoodie\nin a black room\nin a black suit\nin a blue qipao\nin a boxing ring\nin a bright cafe\nin a brown leather maxi jacket\nin a business suit\nin a butcher shop\nin a cabin\nin a candy forest! at night\nin a candy land style house\nin a castle\nin a castle on an alien planet\nin a cave\nin a cave with the waterfall\nin a cave. underexposed\nin a chill position\nin a church. arstation\nin a church. medium shot\nin a cinema\nin a cinematic wallpaper\nin a circle\nin a city\nin a city park\nin a city square\nin a city with a rich history\nin a classic 5 0 s diner\nin a classic 50 s diner\nin a classroom\nin a claustrophobic\nin a cloak with long hairs\nin a cloud\nin a cluttered lab\nin a coffee shop\nin a coliseum\nin a colorful tent\nin a comfortable chair\nin a comfy house\nin a contemporary art gallery\nin a corrupted forest\nin a cosmic field\nin a cosmic nebula background\nin a cottagecore flower garden\nin a courtroom\nin a crashed spaceship\nin a crown\nin a cyber - punk ally\nin a cybercity\nin a cyberpunk city\nin a cyberpunk garden\nin a cyberpunk setting\nin a cyberpunk themed room\nin a dark\nin a dark alley\nin a dark cave\nin a dark corridor\nin a dark dungeon\nin a dark dusty parlor\nin a dark field\nin a dark forest\nin a dark forest low light\nin a dark futuristic room\nin a dark green polo shirt\nin a dark room\nin a dark space mercenary outfit\nin a dark studio room\nin a dark teal polo shirt\nin a dark warehouse\nin a darkly lit laboratory room\nin a decayed hospital room\nin a deep forest\nin a deep lush jungle at night\nin a denis villeneuve movie\nin a dense forest\nin a derelict house\nin a desert\nin a desert oasis lake\nin a desolate\nin a desolate abandoned house\nin a desolate empty wasteland\nin a different realm\nin a dojo\nin a dream\nin a dream world\nin a dress\nin a dried out field\nin a dungeon\nin a dungeon background\nin a dusty red desert\nin a dusty victorian home\nin a dystopian landscape\nin a dystopian world\nin a factory\nin a fancy dress\nin a fancy elaborate dress\nin a field\nin a field of flowers\nin a field with flowers\nin a fighting pose\nin a fighting stance\nin a flowing white tailcoat\nin a flying city\nin a foggy forest\nin a foggy lake\nin a foggy mossy forest\nin a foggy office\nin a foggy pond\nin a foggy redwood forest\nin a forest\nin a forest at night\nin a forest clearing\nin a forest glade\nin a forest made of nightmares\nin a fractal forest\nin a frame\nin a future city\nin a futuristic arena\nin a futuristic city\nin a futuristic cyberpunk city\nin a futuristic desert palace\nin a futuristic spaceship\nin a galaxy\nin a gallery setting\nin a garden\nin a garden full of ferns\nin a garden of a house\nin a gentle green dawn light\nin a gladiators arena landscape\nin a gloomy library\nin a glowing skirt\nin a gold one piece swimsuit\nin a gold suit\nin a golden sunset sky\nin a grass field\nin a grassy field\nin a graveyard\nin a gym\nin a halloween style\nin a high renaissance style\nin a highly detailed jungle\nin a hood\nin a hoodie\nin a horned helmet\nin a hotel hallway\nin a japanese apartment\nin a japanese town at night\nin a jumping float pose\nin a jungle\nin a jungle environment\nin a kimono\nin a kitchen\nin a lab\nin a laboratory\nin a lake\nin a landscape\nin a large cathedral\nin a large desert cave\nin a large grassy green field\nin a large hall\nin a las vegas street\nin a laundry mat\nin a lavender field in france\nin a leather corset\nin a library\nin a lighting storm\nin a liminal space\nin a liminal underground garden\nin a lisa frank art style\nin a living room\nin a long white dress\nin a luminist baroque style\nin a luminist style\nin a luxurious pool\nin a magical forest\nin a major mesopotamian city\nin a mall\nin a massive cavernous iron city\nin a maxi white dress\nin a meadow\nin a medieval city\nin a medieval crypt\nin a medieval tavern at night\nin a mediterranean lanscape\nin a medium full shot\nin a meeting room\nin a melancholy mood\nin a menacing pose\nin a metal forest\nin a misty pond\nin a mixed style of æon flux\nin a modern city\nin a modified nissan skyline r34\nin a monestry natural lighting\nin a mountain valley\nin a movie still cinematic\nin a museum\nin a museum room\nin a narrow chinese alley\nin a navy blue sweater\nin a nebula\nin a nest\nin a nightclub\nin a nuclear submarine\nin a oil painting style\nin a old house. hyper realistic\nin a open green field\nin a open-space working space\nin a painting of a cat\nin a parallel dimension\nin a park\nin a park and next to a lake\nin a park on a alien planet\nin a park on an alien planet\nin a photo studio\nin a pitch black room\nin a planet fitness\nin a pond\nin a post apocalyptic city\nin a post apocalyptic setting\nin a post-apocalyptic wasteland\nin a potion shoppe\nin a prison cell\nin a pub\nin a purple cloak\nin a quiet moment\nin a race competition\nin a rainy environment\nin a ravaged library\nin a red dish\nin a red dream world\nin a red dress\nin a red victorian era dress\nin a redwood forest\nin a regal armor\nin a renaissance style\nin a research facility\nin a river in the jungle\nin a rock chair\nin a rooftop\nin a room\nin a room full of candles\nin a row\nin a ruined cityscape\nin a sanctuary\nin a scenic background\nin a scenic environment\nin a school classroom\nin a sci-fi shipping port\nin a scifi movie\nin a sea\nin a serene landscape\nin a serene vast desert\nin a shapes background\nin a short round glass vase\nin a sidewalk cafe\nin a silk robe\nin a silver silk robe\nin a small prison cell\nin a snowy forest setting\nin a soldier uniform\nin a soviet propaganda style\nin a space cadet outfit\nin a space horror setting\nin a space metropolis\nin a space starry\nin a space station\nin a spaceship\nin a spaceship cockpit\nin a spiky tribal style\nin a spooky forest\nin a square\nin a star wars sequel\nin a steampunk distopian city\nin a steampunk laboratory\nin a steampunk world\nin a storm\nin a street\nin a strict suit\nin a strip club\nin a studio\nin a studio hollow\nin a style blend of botticelli\nin a style blending æon flux\nin a style combining botticelli\nin a style of hyperrealism\nin a suburb\nin a suburban backyard\nin a subway\nin a suit\nin a suit of armour\nin a sun lounger\nin a sunbeam\nin a sunny day\nin a sunset haze\nin a super market costco\nin a surreal dream landscape\nin a swamp\nin a swimming pool\nin a taco bell\nin a temple\nin a throne room\nin a thunderstorm\nin a tiki bar\nin a tim burton movie\nin a tokyo street\nin a tree\nin a tree house\nin a tropical and dystopic city\nin a tropical forest\nin a underwater horror scene\nin a valley\nin a vast serene landscape\nin a verdant garden\nin a village\nin a village street\nin a volcano\nin a war - torn desert village\nin a warehouse\nin a wasteland\nin a wheat field\nin a whimsical fairytale forest\nin a white boho style studio\nin a white room\nin a white tank top singing\nin a wild mushroom fountain\nin a wild west town\nin a wooden box. top down photo\nin a woodland glade\nin a workshop\nin a yellow bikini\nin africa\nin american psycho\nin american psycho  1999\nin american psycho ( 1 9 9 9 )\nin american psycho (1999)\nin american psycho 1999\nin an abandoned barn\nin an abandoned mall\nin an abandoned office building\nin an abandoned shopping mall\nin an abandoned theme park\nin an abandoned warehouse\nin an action pose\nin an african river\nin an alien planet\nin an alley\nin an alley at night back lit\nin an alleyway during the purge\nin an american suburb\nin an ancient altar\nin an ancient tomb\nin an ancient vault\nin an anime\nin an anime style\nin an apron covered in blood\nin an arctic forest\nin an arena\nin an arena in dune 2021\nin an arena in movie dune-2021\nin an arena pit\nin an art gallery\nin an art gallery]\nin an art nouveau style\nin an attic\nin an call centre office\nin an colorful alien planet\nin an eco city\nin an elevator\nin an empty black room\nin an empty field\nin an empty studio hollow\nin an epic valley\nin an evening autumn forest\nin an ice storm\nin an icy cavern\nin an icy river\nin an igloo\nin an office\nin an old 1950s leather jacket\nin an old west cabin\nin an open forest\nin an underground laboratory\nin an underground parking garage\nin an urban setting\nin ancient city ruins\nin ancient japan\nin anime style\nin armor\nin art nouveau style\nin art style\nin assassin's creed 3\nin assassins creed 3\nin attack on titan\nin australia\nin autumn\nin avengers movie\nin avila pinewood\nin background\nin balcony of palace\nin barcelona\nin bathroom\nin batman\nin batman : arkham knight\nin batman comic book\nin batman comics\nin batman movie still cinematic\nin battle\nin beautiful woods\nin berserk manga\nin between a gorge\nin bikini\nin billy herrington body\nin black and white\nin black blue gold and red\nin black military uniform\nin black uniform\nin bladerunner city\nin bloom greenhouse\nin blue and yellow clothes\nin blue dress\nin blueprint form\nin breaking bad\nin busy city\nin cartoon style\nin chippendale sydney\nin chuquicamata\nin church\nin city street\nin city street at night\nin classic diner\nin claymation\nin clothes\nin clothes! highly detailed\nin clothes! intricate\nin clothesintricate\nin clouds\nin clouds of smoke\nin cockpit\nin color\nin colors\nin colour\nin conceptual & cobra style\nin costume\nin court\nin crimson red\nin cyber punk 2077\nin cyberpunk\nin cyberpunk 2 0 7 7 cp 2 0 7 7\nin cyberpunk 2077\nin cyberpunk 2077 cp 2077\nin cyberpunk aesthetic\nin cyberpunk city\nin cyberpunk style\nin da vinci style\nin danger\nin dark cave\nin dark corridor\nin dark forest\nin dark night\nin dark purple robes\nin dark robes with gold accents\nin dark room\nin dark soul\nin dark woods\nin darkness\nin data center\nin dayz\nin dazzle camouflaged robes\nin dead space\nin deep forest\nin deep forest hungle\nin deep forest jungle\nin deep jungle forest\nin deep jungle forest jungle\nin deep space\nin depth\nin derelict abandoned bathroom\nin desert\nin despair\nin detail\nin detailed data center\nin detailed steampunk dress\nin detroit : become human\nin disney\nin distress\nin doors\nin dune\nin dunwall\nin dusty open pit mine\nin ecstasy\nin egypt\nin elegant decollete\nin empty space\nin empty!!!! legnica\nin emptylegnica\nin eyes wide shut (1999)\nin fall\nin fallout cover art\nin fantasy sci - fi city\nin fantasy tavern near fireplace\nin feudal japan\nin field high resolution\nin fighter poses\nin flight\nin flight suit\nin focus\nin focus face\nin focus face with fine details\nin focus faces\nin foggy forest\nin forbidden city\nin forbidden city rainning\nin forcasted sky\nin foreground boy with shotgun\nin forest\nin forest jungle\nin formation\nin fortnite\nin frame\nin front\nin front and behind\nin front of a big moon\nin front of a black background\nin front of a carved screen\nin front of a computer\nin front of a fantasy city\nin front of a fireplace\nin front of a forest background\nin front of a full moon\nin front of a garage\nin front of a large crowd\nin front of a nuclear explosion\nin front of a pale full moon\nin front of a round\nin front of a ruined city\nin front of a sci fi cityscape\nin front of a temple\nin front of a two story house\nin front of an amazing forest\nin front of an orange background\nin front of burning desert\nin front of dark smoke\nin front of ramen shop\nin front of smoke behind\nin front of space station window\nin front of the eiffel tower\nin front of the house\nin front of the internet\nin front of the moon\nin front of the temple\nin front of their space ship\nin front of white back drop\nin full growth\nin full growth from the back\nin full metal alchemist\nin full military garb\nin full starfleet uniform\nin full technicolor\nin future airport rooftop\nin futuristic laboratory room\nin game\nin game capture 3d render\nin game engine\nin game graphic\nin game pathologic 2\nin game render\nin game screenshot\nin game style 8k\nin garden\nin gears of war cover art\nin gentle green dawn light\nin girls generation\nin giza\nin glass town\nin glitchart jared forest\nin goldfish armor\nin good physical shape\nin gouache detailed paintings\nin graffiti style\nin green forest\nin group photograph\nin gta san andreas\nin gta v\nin gta vice city\nin gunmetal grey\nin harmony with nature\nin hearthstone art style\nin heaven\nin hell\nin her art room\nin her early 20s\nin her early 3 0\nin her early 30\nin her hair\nin her room\nin his basement studio\nin his hobbit home\nin his suit\nin historic clothing\nin hoc signo vinces\nin hogwarts\nin holograms of alien artifacts\nin hong kong\nin honor of jupiter's day\nin honor of saturn\nin hospital bed\nin house\nin icon style\nin impressionist styles\nin intergalactic hq\nin intergalactic japan\nin its dying breath\nin jail\nin japanese anime style\nin japanese garden\nin japanese woodblock print\nin john salt style\nin jojo\\'s bizarre adventure\nin jojos bizarre adventure\nin jungle\nin jungle forest\nin jungle forest !!!\nin jungle forest peak\nin junkyard at night\nin kaethe butcher\nin karuizawa\nin kimono\nin laboratory\nin lace brown dress\nin lake\nin las vegas\nin laurel wreath\nin leather armor\nin legnica\nin legnica city hall\nin legnica!!!\nin lighting of blade runner 2049\nin liminal space\nin line\nin liquid\nin london\nin long dresses\nin long pink or violet dresses\nin long red or blue dresses\nin louisiana\nin love\nin love selfie\nin low fog\nin lowbrow style\nin mad max style\nin magical woods\nin magnificent shopping mall\nin majestic\nin manga style\nin marijuanas gardens\nin matrix\nin matte painting\nin medieval armoury\nin meeting together\nin metal hurlant\nin microsoft paint\nin military uniform\nin minecraft\nin modern era\nin monster hunter armor\nin mortal kombat\nin moscow centre\nin motion\nin mountains\nin muddy medieval village square\nin muted colors\nin muted colours\nin my bedroom\nin my hero academia\nin narrow tokyo alleyway\nin nature\nin nazi occupied france\nin neo tokyo\nin neotokyo\nin new york\nin new york city\nin night\nin no game no life\nin office\nin oil”\nin one frame\nin opal armor\nin opulent library\nin orange clothes) fight\nin orbit\nin orthodox church\nin outer space\nin oval office\nin pain\nin paris\nin pastel colors\nin pastel shades\nin persian temple wet night\nin perspective\nin peter elson color scheme\nin phoenix wright ace attorney\nin picturesque forest diorama\nin pif\nin pilote\nin pink forest\nin plastic\nin pokemon comic\nin postapocalypse city\nin praise of shadows\nin prison\nin professional makeup\nin profile\nin pubg\nin pulp fiction 1 9 9 4\nin pulp fiction 1994\nin rabat henry cartier bresson\nin rapture\nin rays of sunlight\nin real life\nin realistic data center\nin red and black\nin red background\nin red dead redemntion 2\nin red dead redemption 2\nin red gardens\nin red paint\nin red velvet stockings\nin renaissance style\nin renaissance times\nin retro colors\nin retro swimsuit\nin return of the jedi\nin rich color\nin rick and morty art style\nin robes\nin roger deakins style\nin romantic style\nin rough seas with large waves\nin rows\nin ruin agora of athens sunset\nin ruin gothic cathedral\nin ruined agora of athens\nin ruins\nin russia\nin ryuuou no oshigoto art style\nin salvia divinorum\nin santorini island\nin sao paulo\nin savannah\nin scene in twin peaks\nin school hallway\nin sci - fi mumbai\nin scotland\nin screenshot from the 300 movie\nin search of lost time\nin serene forest setting\nin shades of peach\nin shape\nin shark tank (2016)\nin shark tank 2016\nin shorts\nin simple background\nin skyrim\nin small room\nin snow\nin socotra island\nin soft dreamy light at sunset\nin space\nin spacesuit\nin spain\nin spandex suit\nin square-rimmed glasses\nin star trek the original series\nin starfleet uniform\nin steampunk cityscape\nin strict suit\nin studio ghibli\nin stunning digital paint\nin stvle of greg rutkowski\nin style 19 century\nin style james jean\nin style of 3d render\nin style of 80s sci-fi art\nin style of addy campbell\nin style of aivazovsky\nin style of alan lee\nin style of alasdair mclellan\nin style of albert bierstadt\nin style of alphonse mucha\nin style of andy warhol\nin style of anna dittmann\nin style of anne stokes\nin style of apex legends\nin style of artgerm\nin style of atey ghailan\nin style of baroque\nin style of baymax\nin style of beeple\nin style of beksinski\nin style of billelis\nin style of bolade banjo\nin style of brad rigney\nin style of britt marling\nin style of brutalism\nin style of campbell addy\nin style of caravaggio\nin style of cecil beaton\nin style of charles williams\nin style of charlie bowater\nin style of chrome hearts\nin style of classicism\nin style of col price\nin style of cory loftis\nin style of cyril rolando\nin style of cytus and deemo\nin style of dark fantasy art\nin style of dark souls 3\nin style of davey adesida\nin style of dieselpunk\nin style of digital art\nin style of digital illustration\nin style of digital painting\nin style of disney animation\nin style of disney pixar\nin style of disney zootopia\nin style of doom\nin style of edward hopper\nin style of fenghua zhong\nin style of firefly movie\nin style of francis bacon\nin style of francisco goya\nin style of futurism.digital art\nin style of ghibli\nin style of giger\nin style of greg rutkowski\nin style of hayao miyazaki\nin style of heavy metal comic\nin style of heikala\nin style of henri rousseau\nin style of hieronymus bosch\nin style of hr giger\nin style of ilya kuvshinov\nin style of ivan aivazovsky\nin style of jackson pollock\nin style of james gilleard\nin style of james paick\nin style of joel meyerowitz\nin style of johan grenier\nin style of juergen teller\nin style of junji ito\nin style of kar wai wong\nin style of katsuhiro otomo\nin style of katsuya terada\nin style of kentaro miura\nin style of kyoto animation\nin style of kyrill kotashev\nin style of lam manh\nin style of laurie greasley\nin style of lee souder\nin style of leonardo da vinci\nin style of lisa frank\nin style of lord of the rings\nin style of luis royo\nin style of makoto shinkai\nin style of manga\nin style of marcel duchamp\nin style of mark arian\nin style of marvel\nin style of marvel and dc\nin style of marvel comics\nin style of midjourney\nin style of mike savad”\nin style of minecraft\nin style of moebius\nin style of monkeybone\nin style of nadine ijewere\nin style of nan goldin\nin style of nanospace\nin style of neodada\nin style of niko pirosmani\nin style of norman foster\nin style of norman rockwell\nin style of old painting\nin style of pan ren wei\nin style of paolo roversi\nin style of paul gauguin\nin style of peter mohrbacher\nin style of petra collins\nin style of photogrammetry cloud\nin style of photorealism artist\nin style of pixar\nin style of pop - art\nin style of primal apes\nin style of realistic\nin style of rembrandt\nin style of ren hang\nin style of rene magritte\nin style of robert mapplethorpe\nin style of ruan jia\nin style of salvador dali\nin style of sandro botticelli\nin style of simplified realism\nin style of south park\nin style of stanislav vovchuk\nin style of stanley donwood\nin style of steve henderson\nin style of studio ghibli\nin style of syd mead\nin style of terry richardson\nin style of thawan duchanee\nin style of tim burton\nin style of tim walker\nin style of tom bagshaw\nin style of tyler mitchell\nin style of ultra high detail\nin style of ultra realistic\nin style of valentin serov\nin style of van gogh\nin style of wlop\nin style of wold of warcraft\nin style of yoji shinkawa\nin style of zaha hadid\nin style of zaha hadid architect\nin style of zdzisław beksinski\nin style of zdzisław beksiński\nin style of zootopia\nin style the demon seated\nin suit with black glasses\nin suitcase\nin summer\nin sun glasses\nin sunny weather\nin swirling harmony\nin tarkov\nin teh style of tony start\nin the 1 9 2 2 film\nin the 1920s\nin the 1986 vert contest\nin the 2 0 2 1 movie dune\nin the 4 0 th millenia\nin the 40 th millenia\nin the air\nin the anime film\nin the anime film ergo proxy\nin the anime ghost in the shell\nin the anime series ergo proxy\nin the apocalyptic future\nin the argentine congress\nin the art style of 8 0 s anime\nin the art style of bowater\nin the art style of dan mumford\nin the art style of filip hodas\nin the art style of mohrbacher\nin the art style of quetzecoatl\nin the art style of ukiyo - e\nin the astral plane ) ) )\nin the australian desert\nin the australian outback\nin the autumn\nin the autumn forest\nin the back of my mind\nin the background\nin the background a thunderstorm\nin the background is lush jungle\nin the background of gold\nin the backrooms\nin the beach\nin the bedroom at a sleepover\nin the bottom there a lot of fog\nin the burning soil desert\nin the center\nin the center midground\nin the center of the frame\nin the center of the image\nin the city\nin the clouds\nin the cockpit of a fighter jet\nin the colors hot pink and cyan\nin the colosseum\nin the cosmos\nin the countryside\nin the cover of new york times\nin the cover of time magazine\nin the croods movie style\nin the cyberpunk countryside\nin the dark\nin the dark elevator\nin the dark forest\nin the deep\nin the deep forest\nin the desert\nin the desert beside the gulf\nin the design of eliot kohek\nin the distance\nin the distance is a rocky hill\nin the distant future\nin the dolomites\nin the dry rock desert\nin the early morning\nin the edo era\nin the elemental plane of fire\nin the evening\nin the fallout wasteland\nin the far future\nin the field of inner hyperspace\nin the film excalibur 1 9 8 0\nin the flow of time\nin the foggy huge forest\nin the foreground a small town\nin the foreground paris\nin the forest\nin the forest at night\nin the future\nin the gallery\nin the garden\nin the garden of eden\nin the glamour style\nin the golden hour\nin the grass\nin the gryffindor common room\nin the hall of area 55\nin the high grass\nin the high school gym\nin the hillside\nin the iceland calm water\nin the iconic style of moebius\nin the john wick movie\nin the jungle\nin the jungle. bloom\nin the justice league\nin the kitchen\nin the last of us\nin the macys parade\nin the magic room\nin the magical forest\nin the matrix\nin the middle of a field\nin the middle of a forest\nin the middle of a graveyard\nin the middle of a lake\nin the middle of a small colony\nin the middle of a snow storm\nin the middle of an arena\nin the middle of an empty room\nin the middle of dark forest\nin the middle of new york\nin the middle of nowhere\nin the middle of round ruins\nin the middle of the battlefield\nin the middle of the city\nin the middle of the day\nin the middle of the desert\nin the middle of the night\nin the middle of the ocean!!!!!\nin the middle of the street\nin the middle of the woods\nin the midst of high mountains\nin the mood for love\nin the moon\nin the moonlight\nin the morning\nin the morning light\nin the morning mist\nin the mountains\nin the movie 2001 a spaceodyssey\nin the movie arrival\nin the movie blade runner\nin the movie blade runner 2049\nin the movie bladerunner\nin the movie dune\nin the movie hard target (1993)\nin the movie hard target 1993\nin the movie jurassic park\nin the movie kill bill\nin the movie lifeforce (1985)\nin the movie lifeforce (1985) 8k\nin the movie lifeforce 19858k\nin the movie transformers\nin the multiverse\nin the museum\nin the near future\nin the new action-movie sonic\nin the new matrix movie\nin the night\nin the ocean\nin the office\nin the old west\nin the original box\nin the oval office\nin the painting style of renoir\nin the park\nin the pub\nin the rain\nin the rain in the early evening\nin the redwood forest\nin the role of captain kirk\nin the ruins of london\nin the sea\nin the shadows\nin the shape an audio waveform\nin the shape of a cinnamon roll\nin the shape of a ent\nin the shape of a rat\nin the show westworld\nin the silver hour\nin the skin of fortnite\nin the sky\nin the snow\nin the snow mountains\nin the space\nin the spotlight\nin the starry night\nin the steppe\nin the stlye of moebius\nin the street\nin the streets of tokyo\nin the studio ghibli anime film\nin the style artgerm\nin the style bev dolittle\nin the style dan mumford artwork\nin the style dora maar\nin the style if greg rutkowski\nin the style jordan grimmer\nin the style of akira\nin the style of an oil painting\nin the style of blade runner\nin the style of clint cearley\nin the style of h r giger\nin the style of hans thoma\nin the style of john baldessari\nin the style of ross tran\nin the style of sachin teng\nin the style of sifu 🔥 😎 🕹️ 👀 :2\nin the style of tom bagshaw\nin the style saul bass\nin the style star trek 8 k\nin the style star trek 8k\nin the style wes anderson\nin the styles of cameron look\nin the styles of greg rutkowski\nin the styles of joan miro\nin the styles of thomas eakins\nin the styles of tom coletti\nin the sun\nin the sunset\nin the swiss alps\nin the technique of old masters\nin the thick fog\nin the tropical wood\nin the underworld\nin the universe\nin the universe.highly realistic\nin the void\nin the void of space\nin the walking dead\nin the water\nin the white clouds fairyland\nin the white house\nin the winter\nin the wood\nin the woods\nin the woods at night\nin the world of adventure time\nin the world of andrew wyeth\nin the yard\nin the year 3 0 0 0\nin the year 3000\nin the zoo exhibit\nin their noble mansion\nin theme of bladerunner movie\nin thick full bronze armour\nin thick layers of rhythms\nin this church interior\nin this ominous scene\nin this painting\nin thomas ruff style\nin time square\nin times square\nin tokio\nin tokyo akihabara\nin tokyo at night\nin tokyo shinjuku\nin town\nin travis charest style\nin trenches\nin triangular formation\nin tricorn hat\nin tshirt\nin twin peaks\nin uniform\nin unreal 3 d engine\nin unreal 3d engine\nin unreal engine\nin valhalla\nin victorian aristocrat\nin volcano\nin volumetric lighting\nin volumetric soft glowing mist\nin warehouse\nin water\nin water up to her shoulders\nin water! john everett millais\nin water! up to shoulders\nin waterup to shoulders\nin wedding dresses\nin white clothes\nin white clouds fairyland\nin white futuristic armor\nin white lettering\nin white room\nin white turtleneck shirt\nin winter\nin wonderland\nin woods\nin world of warcraft\nin year 3000\nin yellow bikini\nin yoji shinkawa's art style\nin yoji shinkawas art style\nin zootopia city\nin-frame\nin-game\nin-game 3d model\nin-game cimematic\nin-game cinematic\nin-game footage\nin-game screenshot\ninafune design\ninanna\ninari shrine\ninauguration\ninc\ninca\ninca style\ninca themed smooth\nincandescent\nincandescent lighting\nincense\nincense smoke fills the air\ninception\ninception concept\nincluding a long tail\nincluding a matador & a bull\nincluding a matador a bull\nincoherent\nincommensurate\nincompetent\nincomplete\nincomprehensible\nincomprehensible and frightening\nincomprehensible detail\nincomprehensible scale\nincomprehensible size\ninconceivable\nincongruous\nincredible\nincredible anime movie scene\nincredible art\nincredible colors\nincredible creative screenshot\nincredible depth\nincredible detail\nincredible detailed\nincredible details\nincredible detalization\nincredible digital art\nincredible fineline\nincredible hd detail\nincredible hulk\nincredible isometric screenshot\nincredible light\nincredible lighting\nincredible masterpiece\nincredible miyazaki\nincredible movie poster\nincredible painting\nincredible perspective\nincredible quality\nincredible reflections\nincredible ruan jia movie poster\nincredible screenshot\nincredible sharp detail\nincredible sharp details\nincredible vfx\nincredible wide screenshot\nincredibly beautiful\nincredibly cute\nincredibly detailed\nincredibly detailed art\nincredibly detailed atlantic cod\nincredibly detailed face\nincredibly detailed faces\nincredibly detailed oil painting\nincredibly ethereal\nincredibly high detailed\nincredibly intricate\nincredibly lifelike attributes\nincredibly realistic\nincredibly sharp focus\nincredibly skinny\nincredibly strong and tall\nincredulous\nincrinate\nincrinate content details\nincubator medpods\nindependence\nindescribable\nindi creates\nindi sulta\nindia\nindia ink\nindia third eye tika\nindia tika third eye\nindian\nindian art\nindian empress\nindian flag\nindian forest\nindian girl with brown skin\nindian god\nindian goddess\nindian goddess of wealth\nindian ink\nindian master\nindian patterns\nindian script\nindian style\nindian super model\nindian temple\nindian warrior\nindiana jones\nindiana jones on monkey island\nindie\nindie concept art\nindie film\nindie game\nindie game concept art\nindie games\nindie video game horror\nindiecraft aesthetic\nindieground\nindigenous\nindigenous art\nindigenous man\nindignant\nindigo\nindigo and red iron oxide\nindigo and venetian red\nindigo background\nindigo blooming flowers garden\nindigo filter\nindigo magician\nindigo occult pattern\nindigo rainbow\nindigo renderer\nindigo! and venetian red!\nindistinct\nindistinct man with his hand up\nindistinguishably unique\nindividual\nindonesia\nindonesia national geographic\nindoor\nindoor casino\nindoor dim light\nindoor lab scene\nindoor light\nindoor lighting\nindoor liminal space\nindoor picture\nindoor pool\nindoor scene\nindoor setting\nindoor shot\nindoor smooth light\nindoor soft lighting\nindoors\nindore\nindsutrial steampunk\nindustrial\nindustrial aesthetic\nindustrial apparent\nindustrial architecture\nindustrial art style\nindustrial background\nindustrial buildings\nindustrial colours\nindustrial complex\nindustrial design\nindustrial design blueprint\nindustrial design concept\nindustrial environment\nindustrial factory\nindustrial fires and smog\nindustrial futuristic ice mine\nindustrial giant skyscrapers\nindustrial gotham city\nindustrial humanity spaceship\nindustrial light & magic\nindustrial light and magic\nindustrial light magic\nindustrial lighting\nindustrial machinery\nindustrial mechanical robot dogs\nindustrial party\nindustrial photography\nindustrial pipes\nindustrial plant environment\nindustrial revolution\nindustrial robot\nindustrial robotic cats\nindustrial robots\nindustrial rusty pipes\nindustrial saliva\nindustrial saliva ooze\nindustrial sci - fi\nindustrial sci fi\nindustrial sci-fi\nindustrial scifi\nindustrial setting\nindustrial space\nindustrial steam\nindustrial surrounding\nindustrialization\nindustrialpunk papier - colle\nindustries\nindustry\ninevitability\ninevitable doom\ninfantry\ninfantry girl\ninfantry girls\ninfared photography\ninfected mushroom\ninfernal\ninfernal art in good quality\ninfernal enigma\ninfernal nymph\ninfernal nymph!!!\ninfernal relics\ninferno\ninfestation\ninfested with pitch green\ninfini - d - render\ninfinite\ninfinite angel wings\ninfinite angelic wings\ninfinite celestial library\ninfinite consciousness\ninfinite corridor\ninfinite crystal ascent\ninfinite dawn\ninfinite fractal mandala tunnel\ninfinite fractal tesseract\ninfinite fractal waves\ninfinite hallway\ninfinite hallways\ninfinite in extent\ninfinite intricacy\ninfinite library\ninfinite mirrors\ninfinite possibilities\ninfinite power\ninfinite psychedelic waves\ninfinite quantum portal\ninfinite quantum waves\ninfinite recursion\ninfinite reflections\ninfinite regress\ninfinite regression\ninfinite sky\ninfinite space clock background\ninfinite wings\ninfinitely long corridors\ninfinity\ninfinity blade armor\ninfinity blade concept art\ninfinity concentric pool\ninfinity gauntlet\ninfinity glyph\ninfinity glyph waves\ninfinity hieroglyph waves\ninfinity mirror\ninfinity pool\ninfinity pool mirrors\ninfinity stones\ninfinity symbol\ninfinity symbol like a cat\ninfinity time loop\ninflatable\ninflatable bouncer castle\ninflatable future shoes\ninflatable landscape with forest\ninflateble shapes\ninfluencer\ninfluencers\ninfographic\ninfographic and marginalia\ninfographic of active volcanoes\ninfographic of space travel\ninfographic style\ninfographic with illustrations\ninfographics\ninfographics. logo\ninfographics. logo. blue\ninfography\ninformation\ninformation visualization\ninformative graphs and diagrams\ninformative guide\ninformative texts\ninfp girl\ninfp young woman\ninfra - red\ninfrared\ninfrared ambient light\ninfrared camera\ninfrared camera view from bomber\ninfrared color scheme\ninfrared film\ninfrared hair\ninfrared photography\ninfrastructure\ninfused\ninfused with a dream\ninfused with aurora borealis\ninfused with lightning\ninfused with zerg hydralisk\ningame\ningame image\ningame screenshot\ningame shot\ninglaze\ningmar bergman\ningredients on the table\ningres\ninhabited initials\ninhabited on many levels\ninhaling the souls of humanity\ninherent vice\ninhuman\ninio asano\ninitial d\ninitial d anime\ninitial d anime 1 0 8 0 p\ninitial d anime 1080 p\ninitial d anime screenshot\ninjured\nink\nink and ballpoint\nink and charcoal illustration\nink and colour on silk\nink and colours on silk\nink and muted colours on silk\nink and paper\nink and pen\nink and pencil\nink and screentone\nink and wash\nink and watercolor\nink and watercolor illustration\nink and watercolor wash\nink and watercolors\nink art\nink artwork\nink block painting\nink blot\nink brush\nink dots\nink draw\nink drawing\nink drips\nink flourishes\nink illustration\nink lines\nink manga drawing\nink on canvas\nink on paper\nink on parchment\nink on post it note\nink on skin\nink outline\nink outlines\nink paint\nink painting\nink painting ) ) ) )\nink painting on paper\nink pen\nink pen sketch\nink sketch\nink splash\nink splashes\nink splatter\nink splatters\nink stains\nink style\nink under drawing\nink under paint\nink wash\nink wash painting\ninka harpy girl\ninkarnate\ninkblots of color\ninked\ninked and colored\ninked digital\ninked drawing\ninked lines\ninking\ninking etching screen print\ninking on skin\ninks\ninkscape\ninktober\ninky blackness\ninky illustration\ninlaid with gold\ninlaid with gold rococo\ninlets\ninnate studio\ninner ear\ninner glow\ninner illumination\ninner peace\ninner ring\ninner ward of a medieval castle\ninnocence\ninnocent\ninnocent face\ninnocent look\ninnocent look. rich vivid colors\ninnocent mood\ninnocent smile\ninnovation\ninnovative\ninnovative avant - garde art\ninnovative avant-garde art\ninnovative product concepts\ninnsmouth\ninnsmouth ocean - dwellers\ninputs\ninquisition\ninquisitive\ninquisitive look\ninquisitive. detailed expression\ninricate\ninrincate\ninsainly detailed\ninsandely detailed\ninsane\ninsane action pose\ninsane complexity\ninsane composition\ninsane crazy laugh\ninsane detail\ninsane detailed\ninsane details\ninsane engine\ninsane eyes\ninsane face\ninsane intricate\ninsane lightning\ninsane nightmare\ninsane quality\ninsane smile\ninsane special effects\ninsaneley detailed\ninsanely\ninsanely  artwork\ninsanely 3d\ninsanely beautiful\ninsanely compelling\ninsanely complex\ninsanely complex details\ninsanely cute\ninsanely detail\ninsanely detailed\ninsanely detailed and intricate\ninsanely detailed art\ninsanely detailed c 10.0\ninsanely detailed face\ninsanely detailed intricate\ninsanely detailed linework\ninsanely detailed matte painting\ninsanely detailed octane render\ninsanely detailed rendering\ninsanely details\ninsanely fine detail\ninsanely highly detailed artwork\ninsanely inflated hips\ninsanely integrate\ninsanely integrate details\ninsanely intricate\ninsanely intricate and detailed\ninsanely intricate details\ninsanely mystical\ninsanely nice hair style\ninsanely precise\ninsanely quality\ninsanely realistic\ninsanely super detailed\ninsanity\ninsanity :7\ninsanity accurate features\ninsanity girl summon her death\ninsanity in his eyes\ninsanity of the mind\ninsanley detailed\ninsanly detailed\ninscribed runes\ninscribed with occult symbols\ninsect\ninsect antennae. jan van eyck\ninsect trainer girl\ninsect wings\ninsectile forearms folded\ninsectoid\ninsects\ninsects and birds\ninset xray cross-section\ninsibidi symbols\ninside\ninside a bar\ninside a barn\ninside a beer glass\ninside a brutalist space ship\ninside a casino\ninside a castle\ninside a castle courtyard\ninside a castle library\ninside a cave\ninside a cavernous stomach\ninside a child's bedroom\ninside a circus tent\ninside a cluttered art studio\ninside a cluttered bedroom\ninside a cluttered kitchen\ninside a cozy apartment\ninside a crowded space station\ninside a crypt\ninside a dark room\ninside a decayed hospital room\ninside a decayed operating room\ninside a decayed surgical room\ninside a decaying hospital room\ninside a dome\ninside a dungeon\ninside a farm barn\ninside a frame on a tiled wall\ninside a french cafe\ninside a futuristic army base\ninside a gang hideout\ninside a gas station\ninside a glass box\ninside a glass jar\ninside a globe\ninside a gorge\ninside a grand\ninside a grand messy studio\ninside a grand ornate room\ninside a grand studio\ninside a haunted destroyed house\ninside a haunted house\ninside a humongous cave\ninside a library\ninside a magical item shop\ninside a marble\ninside a massive dark cave\ninside a mechanical cat's head\ninside a medieval hobbit home\ninside a messy room\ninside a modern apartment\ninside a museum\ninside a palace\ninside a rpg game\ninside a ruined abbey\ninside a science facility\ninside a shed\ninside a snow globe\ninside a space ship\ninside a space station\ninside a spaceship\ninside a supermarket\ninside a tall vetical room\ninside a tavern\ninside a tomb\ninside a warehouse\ninside a waterfall\ninside abandoned space ship\ninside airplane\ninside an alien jungle\ninside an arabian market bazaar\ninside an dystopian\ninside an empty ussr submarine\ninside an enormous vast cave\ninside an epic\ninside an epic gothic castle\ninside an gothic dystopian\ninside an old apartment\ninside an old magical shop\ninside an old magical sweet shop\ninside an old weapon shop\ninside an ornate hospital room\ninside an otherworldly planet\ninside an underwater train\ninside ancient greek ruins\ninside area 51\ninside berghain\ninside building\ninside cathedral\ninside covens den\ninside dark oil\ninside elementary school\ninside frame\ninside future fighter\ninside futuristic hangar\ninside glass orb\ninside gothic doll manor bedroom\ninside haunted house\ninside head cobwebs\ninside her surreal vr castle\ninside her temple\ninside house in village\ninside in a glass box\ninside iron and machines\ninside its box\ninside jimmy hendrix\ninside large window of ship\ninside mc escher architecture\ninside mirror\ninside of a 1970s science lab\ninside of a bedroom\ninside of a black hole\ninside of a cabin\ninside of a car\ninside of a cave\ninside of a dark cave\ninside of a metro train\ninside of a tokyo garage\ninside of an auto dealership\ninside of an expansive cave\ninside old cabin\ninside on a rainy day\ninside out and outside in\ninside page of comic book\ninside primitive hut\ninside stylized border\ninside the building\ninside the curl of a wave\ninside the flower\ninside the picture is infinity\ninside the roman colliseum\ninside the ruined gothic church\ninside the sepulchre\ninside the tardis\ninside the tomb of jesus\ninside the train\ninside the tunnel\ninside the wishing well cavern\ninside view\ninside water\ninside white room\ninsidious\ninsightful\ninsignia\ninsipiring\ninsisted on cutting in line\ninsmouth\ninsomnia\ninspect in inventory image\ninspiration\ninspirational\ninspirational and powerful\ninspirational architecture\ninspirational arthouse\ninspirational artwork\ninspirational quote\ninspirational tone\ninspire\ninspire and overcome\ninspired\ninspired art deco\ninspired blizzard games\ninspired gacha club game\ninspired in balthus\ninspired in donato giancola\ninspired in hirohiko araki\ninspired in kris from deltarrune\ninspired in super bomberman\ninspired lord of the rings\ninspired moebius\ninspired tom bagshaw\ninspired victorian sci - fi\ninspired western comic\ninspiring\ninspiring art\ninspiring birds eye vista view\ninspiring digital art\ninspiring digital painting\ninspiring gothic architecture\ninspo\ninstagram art\ninstagram digital\ninstagram filter\ninstagram filters\ninstagram hd\ninstagram highlights\ninstagram influencer\ninstagram model\ninstagram photo\ninstagram photo amazing view\ninstagram photo shoot\ninstagram picture\ninstagram post\ninstagram post 4k\ninstagram selfie\ninstagram story\ninstallation\ninstallation art\ninstallation view\ninstant photograph of the sky\ninstant photography\ninstax\ninstense god rays in the sky\ninstruction\ninstructions\ninstructions to build it\ninstrument\ninstrument of life\ninstruments\ninsurmountable\nintact humanoid servo\nintaglio\nintaglio style\nintangible\nintarsia\nintecrate details\nintegral painting\nintegrated circuit\nintegrated design\nintegrated in the mountains\nintegrated synthetic android\nintegrating with technology\nintegrating with technology!!\nintegration\nintellectual cat\nintellectual hedgehog\nintelligence\nintelligent\nintelligent arrangement\nintelligent design\nintelligent eyes\nintelligent eyes. centered\nintelligent eyes. symmetrical\nintelligent face\nintelligent man\nintense\nintense albino\nintense atmosphere\nintense atmospheric\nintense battle\nintense black eyes\nintense black line art\nintense blue eyes\nintense bounced light\nintense clouds\nintense color\nintense colors\nintense colours\nintense combat\nintense contrast\nintense demonic look in the eyes\nintense desire\nintense detail\nintense details\nintense dramatic hdr\nintense emotion\nintense emotional power\nintense emotions\nintense expression\nintense eyes\nintense face\nintense facial expression\nintense fantasy\nintense fighting\nintense flames\nintense flirting\nintense gaze\nintense heavy street battle\nintense knowledge\nintense lens flare\nintense light beams\nintense lighting\nintense line art\nintense line work\nintense look\nintense look in the eyes\nintense moment\nintense painting\nintense scene\nintense sci-fi details\nintense screaming expression\nintense shading\nintense shadows\nintense smoke\nintense smoldering\nintense soul penetrating eyes\nintense stare\nintense subsurface scattering\nintense sunlight\nintense watercolor\nintense watery glowing red eyes\nintense white hair\nintensely beautiful image\nintensely focused\nintensly emotional\ninter - dimensional\ninter dimensional\ninter dimensional clockwork\ninter dimensional villa\ninter-dimensional mirrors\ninteracte smooth flowing lines\ninteracting and posing\ninterconnected\ninterconnected human lifeforms\ninterconnections\nintercrossed\nintercrossed animal\nintercrossed humans\ninterdimensional\ninterdimensional lightning\ninterest face\ninteresting\ninteresting angle\ninteresting background\ninteresting camera angle\ninteresting character design\ninteresting color scheme\ninteresting color use\ninteresting composition\ninteresting details\ninteresting geometry\ninteresting lights\ninteresting perspective\ninteresting shapes & form\ninteresting shapes form\ninteresting shot\ninteresting skin coloring\ninteresting textures\ninterface\ninterference\nintergalactic\ninterior\ninterior abandoned hospital\ninterior architecture view\ninterior background\ninterior background art\ninterior decoration\ninterior design\ninterior design architecture\ninterior design background\ninterior design details\ninterior design living room\ninterior design photography\ninterior gameplay screenshot\ninterior light\ninterior lighting\ninterior living room\ninterior of a bathroom\ninterior of a hobbit hole\ninterior of a huge robot factory\ninterior of a library\ninterior of a living room\ninterior of a loft\ninterior of a marble dome\ninterior of a mountain hut\ninterior of a small\ninterior of a small room\ninterior of a star destroyer\ninterior of a tent\ninterior of a victorian house\ninterior of an alien spaceship\ninterior of buckingham palace\ninterior of room\ninterior of staten island ferry\ninterior of the hall in area 55\ninterior of the old cathedral\ninterior photo\ninterior photograph\ninterior photography\ninterior room\ninterior scene\ninterior shot\ninterior view\ninterior white wall\ninterior wood\ninterior! design\ninteriordesign\ninteriors\ninterlacing paths\ninterlocked\nintermediate art\ninternal conflict\ninternal contours\ninternal environment\ninternal organs\ninternals revealed\ninternational photography awards\ninternational space station\ninternet\ninternet art\ninternet meme\ninterplanetary cathedral\ninterpretation\ninterrupting the big game\nintersection\ninterstellar\ninterstellar black hole\ninterstellar civilisation\ninterstellar film ( 2 0 1 4 )\ninterstellar galaxy\ninterstellar hyper realism\ninterstellar infinity portal\ninterstellar movie\ninterstellar night\ninterstellar space setting\ninterstellar space suit\ninterstellar stormy bright sky\ninterstellar vortex through time\nintertwined\nintertwined a dissolving\nintertwined full body view\ninterventricular foramen\ninterview\ninticate\ninticrate\nintimacy\nintimate\nintimate dark moody\nintimate holding close\nintimate lighting\nintimately holding close\nintimidating\nintimidating appearance\nintimidating clouds\nintimidating enforcer\nintimidating expression\nintimidating floating sand\nintimidating full body armor\nintimidating glare\nintimidating lighting\nintimidating man\nintimidating pose\nintimidating stance\nintimidating stare\nintimidating woman\nintircate\ninto bright light\ninto darkest cosmos\ninto glory ride\ninto the mirrorverse\ninto the spider verse\ninto the spiderverse\ninto the unknown\ninto the void\nintoxicatingly blurry\nintracate brushwork\nintracate detail\nintravenous drip\nintrecate details\nintrecate light\nintricant\nintricant details\nintricat\nintricate\nintricate  8k\nintricate 3 d illustration\nintricate 3 d sculpture\nintricate 3d sculpture\nintricate 8 k detail\nintricate 8 k render\nintricate 8k detail\nintricate 8k render\nintricate a whole fantasy leaf\nintricate abstract\nintricate abstract upper body\nintricate abstract. cyberpunk\nintricate abstract. gucci style\nintricate accuracy\nintricate accurate details\nintricate african jewellery\nintricate alien botanicals\nintricate alien technology\nintricate and\nintricate and beautiful\nintricate and beautiful details\nintricate and complex\nintricate and decorated\nintricate and detailed\nintricate and detailed lace set\nintricate and elegant\nintricate and epic composition\nintricate and epic concept art\nintricate and finely detailed\nintricate and highly detailed\nintricate and intense oil paint\nintricate and ornate\nintricate and very beautiful\nintricate and wet oil paint\nintricate anime girl k-on kyoani\nintricate arcane wiccan designs\nintricate architecture\nintricate armor\nintricate armor details\nintricate armour costumes\nintricate art\nintricate art deco leaf designs\nintricate art deco pasta designs\nintricate art deco patterns\nintricate art nouveau\nintricate art nouveau frame\nintricate art photography\nintricate artwork\nintricate artwork masterpiece\nintricate artwork. neon eyes\nintricate artwork. octane render\nintricate assasin armor\nintricate assasin mecha armor\nintricate automatism\nintricate background\nintricate baroque armour\nintricate baroque style\nintricate beautiful close up\nintricate beautiful faces\nintricate beautiful painting\nintricate beauty\nintricate biopunk patterns\nintricate black obsidian\nintricate body\nintricate border\nintricate border designs\nintricate braided hair\nintricate branches\nintricate broken space helmet\nintricate bronze armour\nintricate brush stroke detail\nintricate brush strokes\nintricate carved wood\nintricate carving\nintricate carvings\nintricate castle interior\nintricate charcoal illustration\nintricate chrome chains\nintricate chrome headdress\nintricate cinematic light\nintricate classic art\nintricate clothes\nintricate clothing\nintricate clown costume\nintricate clown makeup\nintricate cobblestone\nintricate colorful\nintricate colorful masterpiece\nintricate colors\nintricate complex background\nintricate complexity\nintricate complicity\nintricate composition\nintricate concept art\nintricate concept art painting\nintricate copper details\nintricate costume design\nintricate crown\nintricate crystal jelly ornate\nintricate cyberpunk armor\nintricate cyberpunk city\nintricate cyberpunk make - up\nintricate cyborg\nintricate cyborg armor\nintricate dark background\nintricate design\nintricate design pop art\nintricate designs\nintricate detail\nintricate detail and composition\nintricate detail and quality\nintricate detail drawing\nintricate detail realism hdr\nintricate detail. unreal engine\nintricate detail?\nintricate detailed\nintricate detailed 4 k\nintricate detailed 4k\nintricate detailed 8 k\nintricate detailed 8k\nintricate detailed anatomy\nintricate detailed armour\nintricate detailed background\nintricate detailed brush strokes\nintricate detailed digital art\nintricate detailed dress\nintricate detailed environment\nintricate detailed face\nintricate detailed garden\nintricate detailed illustration\nintricate detailed oil painting\nintricate detailed painting\nintricate detailed photography\nintricate detailed racing car\nintricate detailed roof\nintricate detailed tiara\nintricate detailing\nintricate details\nintricate details and ornaments\nintricate details and textures\nintricate details illustration\nintricate details in environment\nintricate details in the frames\nintricate details painting\nintricate details photograph\nintricate details!!!\nintricate details!!!!\nintricate details. front on\nintricate devilish designs\nintricate digital art\nintricate digital artwork\nintricate digital painting\nintricate dotart\nintricate dramatic lighting\nintricate drawing\nintricate dress\nintricate electronics\nintricate elegant\nintricate elements\nintricate embroidery\nintricate engraving\nintricate environment\nintricate environment - n 9\nintricate environments\nintricate etched armor\nintricate eye detail focus\nintricate eyes\nintricate face\nintricate faces\nintricate facial detail\nintricate facial details\nintricate facial features\nintricate facial skin details\nintricate fantasy\nintricate fantasy dress\nintricate fantasy painting\nintricate fantasy robes\nintricate fantasy spear\nintricate fashion clothing\nintricate features\nintricate filagree\nintricate filigree\nintricate fine details\nintricate fine lines\nintricate fine ornaments\nintricate fire designs\nintricate flower designs\nintricate flower tiara\nintricate flowing paint\nintricate fluid details\nintricate foreground\nintricate fractal\nintricate fractal abstraction\nintricate fractal armor\nintricate fractal details\nintricate fractals\nintricate from baldurs gate\nintricate futurism\nintricate futuristic jewelry\nintricate futuristic led jewelry\nintricate galactic designs\nintricate galaxy inlay\nintricate gears and lenses\nintricate gears details\nintricate geisha kimono\nintricate geometry\nintricate glow accents\nintricate glowing mecha armor\nintricate gold crown\nintricate gold elements\nintricate gold headdress\nintricate gold jewlery\nintricate gold linework\nintricate golden armor\nintricate golden filigree\nintricate golden threads\nintricate gothic bones and meat\nintricate gown\nintricate graffiti\nintricate greg rutkowski\nintricate ground stone\nintricate hair\nintricate hair details\nintricate hairstyle\nintricate hakama\nintricate headpiece\nintricate heterochromatic sad\nintricate heterochromia sad\nintricate high detail\nintricate high details\nintricate high tech helmet\nintricate highly detailed\nintricate highly detailed 8 k\nintricate hyper detail\nintricate hyperdetail macrophoto\nintricate illuminated lines\nintricate illustration\nintricate image\nintricate ink\nintricate ink designs\nintricate ink drawing\nintricate ink illustration\nintricate ink painting\nintricate ink painting detail\nintricate insanely detailed\nintricate intense elegant\nintricate iridescent opal armor\nintricate jewellery\nintricate jewelry\nintricate lace\nintricate latex set\nintricate leather armor\nintricate leather suspenders\nintricate led jewellery\nintricate legendary armor\nintricate light\nintricate lighting\nintricate lights\nintricate line\nintricate line art\nintricate line drawing\nintricate line drawings\nintricate line work\nintricate lineart\nintricate lines\nintricate linework\nintricate lining\nintricate machine in space\nintricate machinery\nintricate macro closeup\nintricate makeup\nintricate mandelbulb fractal\nintricate manga drawing\nintricate mask\nintricate masterpiece\nintricate mathematical shape\nintricate matte painting\nintricate mecha armor\nintricate mechanical body\nintricate mechanical details\nintricate mechanics\nintricate mechanisms\nintricate medieval armour\nintricate metal\nintricate metal armor\nintricate metal armour\nintricate mine\nintricate mural\nintricate mycelial lace\nintricate neon circuit pattern\nintricate octane\nintricate oil\nintricate oil details\nintricate oil painting\nintricate oil painting artwork\nintricate oil painting detail\nintricate oil pastel glow\nintricate oil sweeps\nintricate oils\nintricate organic painting\nintricate ornament\nintricate ornament halo\nintricate ornamental details\nintricate ornamental flourishes\nintricate ornamentation\nintricate ornamented tiara\nintricate ornaments\nintricate ornate\nintricate ornate anime cgi style\nintricate ornate armor\nintricate ornate details\nintricate outfit\nintricate overlay flames imagery\nintricate painting\nintricate paisley filigree\nintricate parts\nintricate pasta waves\nintricate pattern\nintricate patterns\nintricate patterns 4k\nintricate patterns on face\nintricate penwork\nintricate photo\nintricate planetary gears\nintricate plants\nintricate plate armor\nintricate portrait\nintricate portrait design\nintricate psychedelic patterns\nintricate quality\nintricate rainbow environment\nintricate realistic fantasy\nintricate renaissance armor\nintricate render\nintricate ritualistic tattoos\nintricate robes\nintricate rococo ornamentation\nintricate roots\nintricate scenery\nintricate scrollwork\nintricate sculpture\nintricate set\nintricate shading\nintricate sharp focus\nintricate silk clothing\nintricate skeletal decorations\nintricate skin pattern texture\nintricate sky\nintricate smoke magic\nintricate sparkling atmosphere\nintricate spirals\nintricate stained glass\nintricate stained glass triptych\nintricate steampunk imagery\nintricate steampunk ornate\nintricate stone carvings\nintricate story\nintricate suit\nintricate superb details\nintricate symmetrical artwork\nintricate tapestry\nintricate tattoos\nintricate texture\nintricate textures\nintricate thin details in gold\nintricate transhuman\nintricate triangular designs\nintricate ultra fine detail\nintricate upper body\nintricate venetian patterns\nintricate vibrant colors\nintricate victorian dress\nintricate volumetric lighting\nintricate voodoo makeup\nintricate wasp\nintricate water\nintricate wet latex suspenders\nintricate white and gold armor\nintricate white and gold neon\nintricate white armor\nintricate white dress\nintricate wiccan scene detailing\nintricate wiccan spectrum\nintricate wires\nintricate wiring\nintricate wirings\nintricate wlop\nintricate wood carving\nintricate wrinkles\nintricate writing\nintricate zdzislaw beksinski\nintricate ”\nintricate! organic\nintricate!!\nintricate!!!\nintricate!!!!! professional\nintricate. detailed\nintricated\nintricated design\nintricated detailed\nintricated details\nintricately\nintricately carved\nintricately carved antique bone\nintricately defined\nintricately designed\nintricately detailed\nintricately detailed artwork\nintricately detailed background\nintricately detailed buildings\nintricately detailed clothing\nintricately detailed engravings\nintricately detailed markings\nintricately detailed scales\nintricately detailed textures\nintricately deteailed\nintricately hyperdetailed\nintricately proportional\nintricateorganic\nintricate”\nintriciate detail\nintrigante\nintriguing\nintriguing details\nintriguing eyes\nintriguing helmet\nintriguing lighting\nintriguing outfit\nintriguing volume flutter\nintriicate\nintrincate\nintrincate clothing\nintrincate detail\nintrincate details\nintrincate detalied\nintrincate ornaments\nintrincated\nintrinsic\nintrinsic design\nintrinsic detail\nintrinsic details\nintro to uncut gems\nintroduction factory photo\nintrospective\nintrospective meandering\nintrovert\nintroverted\nintruder\nintrusive thoughts\nintubation equipment\nintuition\nintuitive\ninuit\ninuit heritage\ninuk\ninuyasha\ninvader zim\ninvading army background\ninvading kashyyyk\ninvasion\ninvasion of the tripmachines\ninvasion time on planet earth\ninventing a time machine\ninventory item\ninverse color\ninverse dark glowing power aura\ninverted\ninverted color scheme\ninverted colors\ninverted fisheye lens!!!\ninverted neon rainbow drip paint\ninverted rainbow drip paint\ninverted triangle body type\ninvestigation\ninvicible\ninvincible\ninvisible\ninvisible man\ninvisible woman\ninvisiblity\ninvitation card\ninviting\ninviting posture\ninvoke fear and dread\nion iliescu\nios\nios app icon\nios emoji\nios icon\niowa\nioyful vibe and lighting\nipad pro\niper realistic\niperdetailed\niphone\niphone 1 3\niphone 1 3 pro max\niphone 12\niphone 12 camera\niphone 13\niphone 15 background\niphone 4 k\niphone 4k\niphone background\niphone camera\niphone capture\niphone detailed photo\niphone in hand\niphone photo\niphone picture\niphone screenshot\niphone selfie\niphone video\niphone wallpaper\nipseity\niq 4\nir\nir 660 nm\niralki nadar\niram of the pillars\niran\niranian\niraq nadar\niray\niray shaders\nireland\nirelia\nirelia from league of legends\niren horrors\niridescence\niridescence colors\niridescence reflecting\niridescence water elemental\niridescent\niridescent # imaginativerealism\niridescent accents\niridescent accents. vibrant\niridescent aesthetic\niridescent and gold and crystal\niridescent and golden\niridescent and opalescent\niridescent background\niridescent beetles\niridescent clouds\niridescent color\niridescent color palette\niridescent colors\niridescent colours\niridescent crystals\niridescent cybernetic processor\niridescent deep colors\niridescent details\niridescent digital art\niridescent ethereal veils\niridescent eyes\niridescent fractal\niridescent fractal headdress\niridescent fractal whirls\niridescent glass\niridescent glistening smoke\niridescent glowing chips\niridescent hair\niridescent highlights\niridescent image lighting\niridescent lighting\niridescent membranes\niridescent metals\niridescent moth wings\niridescent neon\niridescent palette\niridescent radiance\niridescent reflections\niridescent scales\niridescent scales on her body\niridescent sci-fi kimono\niridescent shimmering pools\niridescent shiny sheer lingerie\niridescent skin\niridescent sky\niridescent smoke\niridescent smoke behind\niridescent soapy bubbles\niridescent specular highlights\niridescent technology and weapon\niridescent texture\niridescent titanium\niridescent tubes\niridescent venetian blown glass\niridescent visor\niridescent wings\niridescent wiring\niridescent. fantasy\niridiscense\niridiscent\niridiscent accents\niridiscent fabric\niridiscent gradient\niridiscent light\niridiscent rim light\nirina french\nirina french art\nirina nordsol kuzmina\niris\niris compiet\niris human's eye photo\niris humans eye photo\niris van herpen\niris van herpen baroque dress\niris van herpen rankin\niris van herpen!!!\nirisdicense\nirises\nirish\nirish forest\nirish genes\nirish mountains background\nirish youtuber\nirobot\niroc\niron\niron age : leonardo da vinci\niron and asphalt\niron arc gate door texture\niron armor\niron cladding\niron claws\niron crown\niron frame\niron gate\niron gate door texture\niron giant\niron giant at sunset\niron helm\niron helm maximalist\niron helmet\niron maiden\niron maiden album cover\niron man\niron mask and helmet\niron railing\niron smelting pits\niron smelting pits space marines\niron throne\niron throne from game of thrones\nironborn\nironic\nironic surrealism\nironman\nironpunk\nirori fireplace\nirradiated humans\nirrdescent glow\nirredecent\nirregular\nirregularly shaped mosaic tiles\nirresistable\nirresistible\nirreverent characters\nirridescent\nirridescent ghostly\nirrigation\nirritated expression\nirving penn\nirwin penn\nis ((drinking a cup of tea))\nis a stunning\nis at dawn and bluish\nis being drawn into a blackhole\nis drinking a cup of tea\nis essentially arbitrary\nis evil gremlin\nis holding a tiny planet earth\nis looking at a bird\nis looking at the camera\nis playing a lute\nis relaxing on a beach\nis tall\nis this loss?\nis totally sad and cries\nis wearing a swimsuit\nisaac asimov\nisaac asimov and marc simonetti\nisaac asimov ”\nisaac newton\nisaac zuren\nisabela moner\nisabella\nisekai\nisekai manga panel\nishikei\nishirō honda\nishowspeed\nishtar gate\nislam\nislamic\nislamic architecture\nislamic art\nislamic calligraphy\nislamic interior design\nislamic revolution\nisland\nisland background\nisland floating in the sky\nisland in a blue sea\nisland in the background\nisland landscape\nisland with cave\nislandpunk\nislands\nislands on horizon\nislands!!!!!\nismail\nismail inceoglu and ruan jia\niso\niso 1 0 0\niso 1 0 0 wide view\niso 1 2 0 0\niso 1 6 0 0\niso 100\niso 1000\niso 1200\niso 125\niso 1250\niso 160\niso 1600\niso 2 0 0\niso 200\niso 300\niso 4 0 0\niso 400\niso 50\niso 500\niso 64\niso 8 0 0\niso 800\niso : 2 0 0\niso : 200\niso-250\niso100\niso1200\niso400\niso640\niso: 1600\niso: 200\niso: 400\nisolate\nisolate translucent\nisolated\nisolated background\nisolated on white\nisolated on white background\nisolated on whites\nisolated space station in space\nisolated white background\nisolation\nisolde\nisomeric view\nisometric\nisometric 2 d game art\nisometric 3 d\nisometric 3d\nisometric 3d fantasy\nisometric 3d fantasy cute dog\nisometric 3d fantasy cute house\nisometric 3d fantasy island\nisometric 3d fantasy turtle\nisometric 3d render\nisometric 8k\nisometric aerial view\nisometric angle\nisometric angles\nisometric art\nisometric camera\nisometric dead space game\nisometric design\nisometric drawing\nisometric futuristic building\nisometric futuristic game\nisometric game\nisometric game art\nisometric game asset\nisometric house\nisometric illustration\nisometric illustration fun\nisometric invironment\nisometric island in the sky\nisometric map\nisometric orthographic\nisometric palace\nisometric perspective\nisometric perspective view\nisometric pikachu figure\nisometric pixel art\nisometric pixelart\nisometric projection\nisometric staircase\nisometric style\nisometric tokyo city\nisometric top down left view\nisometric view\nisometric view from behind\nisometric view of a wizard tower\nisometric view!!!!\nisometric view. game rpg\nisometric viewpoint\nisometric views\nisometric voxel\nisometric voxel art\nisometry\nisono\nisopod\nisrael\nissey miyake\nistanbul\nistock\nistockphoto\nistvan sandorfi\nistván sándorfi\nit\nit doesn't hurt me ( ye - yeah\nit follows :7\nit glows from the outside\nit goes in forever\nit has a lake in the distance\nit has a piercing gaze\nit has a red and black paint\nit has lemon skin texture\nit has six thrusters in the back\nit idn't greasy\nit is a place of worship\nit is afternoon\nit is emitting a bright\nit is flying through space\nit is glowing\nit is night\nit is night and raining\nit is night time\nit is photorealistic\nit is raining\nit is raining heavily\nit is raining outside the window\nit is sunset\nit is the captain of a crew\nit is very detailed\nit is very huge\nit is visibly angry at the tv\nit is wednesday my dudes\nit kills you instantly\nit specialist\nit was full of bones\nit was the best of times\nit was the worst of times\nit would take place in space\nit's a deep night\nit's all in your head\nit's californication\nit's dark\nit's flying between a storm\nit's getting dark\nit's is relaxing on a beach\nit's late at night\nit's morbin time\nit's night\nit's night time\nit's raining\nit's raining outside\nit's running between a storm\nit's the dead of night\nit's very huge\nit's wearing a cute little hat\nit's you and me\nit\\'s name is greeny\nit\\'s raining\nitachi\nitachi uchiha\nitalian\nitalian beach scene\nitalian flag\nitalian futurism\nitalian futurism style\nitalian garb the future\nitalian horror\nitalian looking emma\nitalian masterpiece\nitalian masterpieces\nitalian mediterranean city\nitalian pizza\nitalian poster art\nitalian renaissance\nitalian renaissance architecture\nitalian renaissance painting\nitalian renaissance workshop\nitalian style\nitalo calvino\nitaly\nitatchi uchiha\nitem\nitem art\nitems\nitems and gadget\niterations = 5 0 0 0\niterior\nito\nito junji art\nito ogure\nits a deep dream\nits bowl overflowing with plants\nits dark\nits detailed intricate\nits flying between a storm\nits hour come around at last\nits hour come round at last\nits is relaxing on a beach\nits name is greeny\nits night\nits night time\nits raining\nits the dead of night\nits you and me\nitsuko azuma\nitō jakuchu\niu\niu lee ji-eun as a super villain\niv drip\niv pole\nivan\nivan aivakovsky\nivan aivazovski\nivan bolivian\nivan chermayeff\nivan laliashvili\nivan plusch artwork\nivan seal\nivan shishk\nivan shishkin and greg rutkowski\nivan shiskin\nive discovered life\nivory\nivory and black marble\nivory and copper\nivory and ebony\nivory carved mantle\nivory carved ruff\nivory carving\nivory make up\nivory make up on the eyes\nivory pale skin\nivory rococo\nivory skin\nivory towers\nivy\nivy vine leaf and flower top\nivy vines\nivy's\niwagumi aquascape\niwakura\niwakura lain\nixions wheel\nizombie\nizuku midoriya\nj - lo\nj c leyendecker\nj c leyendecker 8 k\nj m w turner\nj scott campbell\nj. c leyendecker\nj. c. 8 k\nj. c. 8k\nj. c. leyendecker 8 k\nj. c. leyendecker 8k\nj. c. leyendecker. black hair\nj. c. leyendecker. d&d\nj. c. penny wish book 1 9 8 2\nj. dickenson\nj. h. williams iii\nj. j. abrams\nj. lesaffre\nj. scott campbell\nj. todd anderson\nj. w. godward\nj.c leyendecker\nj.c. leyendecker wlop\nj.dickenson\nj.dickenson and rembrandt\nj.j. abrams\nj.r.r. tolkien\nja miyazaki\nja mong\njabba el hutt\njabba the hutt\njabberwocky\njacek yerka and vladimir kush\njacen solo\njack\njack - o'- lantern\njack and the bean stalk\njack baker from resident evil 7\njack black\njack black holding a hamburger\njack burton drinking beer\njack nicholson\njack nicholson as napoleon\njack nicholson is the bottle\njack nicholson plays terminator\njack russel dog\njack russel terrier\njack russel terrier surprised\njack skellington\njack sparrow\njack the ripper\njack white\njack white of the white stripes\njack-o-lanterns\njackal\njackal skull\njacket\njacket over bare torso\njackie chan\njackie chan doing lsd\njackie tsai style\njacksepticeye\njacksepticeye as a muppet\njackson pollock painting\njackstraws\njacky tsai style\njacob & co\njacob co\njacob riis\njacqueline e\njacques - laurent agasse\njacques - louis david\njacques - yves cousteau\njacques louis david\njacques louis david style\njacques villegle\njade\njade colored eyes\njade green\njade sculpture\njade tiara and necklace\njaded\njaeyeon nam\njagged\njagged blocks of stone\njagged edges\njagged metal landscape\njagged rocks\njagged spiraling shapes\njagged sword\njaguar\njaguar e - type\njaguar e - type car\njaguar head tattoodesign\njahbu art\njaidenanimations\njail\njaime jasso\njaime lannister\njaina proudmoore\njaina solo\njair bolsonaro\njajaboonords flipjimtots\njakarta\njake gyllenhaal\njake parker\njake the dog\njakob eirich\njakob rozalski\njakub gazmercik\njakub kasper\njakub rebelka\njama jurabaev\njamaica\njamaican\njamaican colors\njamaican vibe\njamal campbell\njamel shabazz\njamel shabbaz\njames\njames bama\njames baxter and mark henn\njames bond\njames c\njames cameron\njames cameron avatar style\njames chadderton\njames clyne\njames collinson\njames daly\njames dean\njames e reynolds\njames edmiston\njames gene\njames gillard\njames gilleard and james jean\njames gilleard artwork\njames gleeson\njames guilleard\njames gunn\njames gurney and andreas rocha\njames gurney and greg rutkowski\njames gurney brom\njames gurney cinematic lighting\njames gurney painting style\njames gurney weta studio\njames jean & alphonse mucha\njames jean aesthetic\njames jean alphonse mucha\njames jean and clyde caldwell\njames jean and fenghua zhong\njames jean and jenny saville\njames jean and peter mohrbacher\njames jean and petra cortright\njames jean and rolf armstrong\njames jean and victo ngai\njames jean and wlop\njames jean and yoji shinkawa\njames jean andrei riabovitchev\njames jean art\njames jean artwork\njames jean color palette\njames jean marc\njames jean marc simonetti\njames jean soft light 4 k\njames jean soft light 4k\njames jean style\njames jean ”\njames jean!\njames jean!!!\njames lebron\njames mccarthy\njames mcdermott\njames nares\njames o barr\njames piack\njames r. eads\njames stokoe\njames terrell art\njames turrel\njames turrell\njames turrell building\njames wan\njames web telescope\njames webb\njames webb space telescope\njames webb telescope\njames webb telescope images\njames webb telescope photo\njames yang\njames zapata\njamey jones\njamie campbell bower\njamie chung\njamie coreth\njamie hewlet\njamie hewlett and ayami kojima\njamie hewlett art\njamie lannister\njamie lee curtis\njamie mckelvie comic art\njamie reid\njamming to music\njan artkowski\njan brueghel\njan davidsz de heem\njan davidszoon de heem\njan matejko and j. dickenson\njan matejko and j.dickenson\njan saudek\njan svankmayer\njan svankmeyer\njan urschel\njan vermeer\njana brike art\njanapese\njane austen\njane clarke\njane newland\njane rosenberg\njanice sung\njanis rozentals\njanuary\njanuary 20th\njanuary and february\njanusz jurek\njanusz kaminski\njapan\njapan 1980s\njapan animation\njapan at night\njapan deeper travel exploration\njapan grungerock from colors\njapan harvest\njapan lush forest\njapan mountains\njapan nature\njapan poster\njapan rural travel\njapan shonan enoshima\njapan sightseeing\njapan soldier in world war 2\njapan studio game\njapan tokyo skytree\njapan travel aesthetic\njapan travel and adventure\njapan travel and tourism\njapan travel scrapbook\njapan watercolour\njapan. volumetric lighting\njapandi\njapaneese style\njapanese\njapanese 1 9 8 0's album cover\njapanese action figure\njapanese akihabara cafe\njapanese animation\njapanese animation style\njapanese anime\njapanese anime artist drawn\njapanese anime style\njapanese architecture\njapanese art\njapanese art art\njapanese art on behance\njapanese art style\njapanese bathhouse\njapanese calligraphy\njapanese cartoon style\njapanese cgi\njapanese city\njapanese city at night\njapanese city pop color palette\njapanese city street fashion\njapanese clothes\njapanese collection product\njapanese comic book\njapanese countryside\njapanese crane bird in center\njapanese cyborg\njapanese dc live-action movie\njapanese design\njapanese dog\njapanese downtown\njapanese drift car\njapanese engineering\njapanese facial features\njapanese fantasy\njapanese flower arrangements\njapanese fusion cuisine\njapanese garden\njapanese geisha\njapanese girl school uniform\njapanese glass house\njapanese god\njapanese goddess\njapanese gothic\njapanese graphic design\njapanese heritage\njapanese high school\njapanese horror\njapanese horror movie footage\njapanese house\njapanese illustration\njapanese illustrator\njapanese influences\njapanese ink drawing from 1850\njapanese inspiration\njapanese inspired poster\njapanese kanji\njapanese kanji everywhere\njapanese kawaii style\njapanese kimono\njapanese landscape\njapanese light novel cover\njapanese lightning goddess\njapanese live-action movie\njapanese magazine collage\njapanese magazine covers\njapanese maid cafe\njapanese manga\njapanese manga style\njapanese maples\njapanese mascot\njapanese mecha\njapanese model\njapanese neighborhood\njapanese neon signs\njapanese onsen\njapanese painting\njapanese pop surrealism\njapanese popsurrealism\njapanese pottery\njapanese print art\njapanese related with flowers\njapanese robot geisha\njapanese romantacism\njapanese rural town\njapanese samurai\njapanese scenery in edo period\njapanese school uniform\njapanese sci - fi books art\njapanese shibari with flowers\njapanese shoujo manga\njapanese shrine\njapanese shrine waterfall\njapanese street\njapanese street fashion\njapanese streetwear\njapanese style\njapanese style painting\njapanese temple\njapanese temples\njapanese text\njapanese text kanji\njapanese torii in a moutain\njapanese town\njapanese tv show\njapanese typography\njapanese vase\njapanese vfx\njapanese vhs cover art\njapanese villa syd mead\njapanese village\njapanese warrior\njapanese watercolor\njapanese woman\njapanese wood cut\njapanese woodblock\njapanese woodblock print\njapanese woodblock print of r2d2\njapanese woodblock print style\njapanesse farmer\njapanic style\njapense village in background\njaponisme\njaponisme 3 d 8 k ultra detailed\njaquet droz\njar jar binks\njar jar binks as a sith lord\njar of honey\njar on a shelf\njaroslaw jasnikowski\njars\njasmine\njason\njason chan and gilles beloeil\njason engle\njason fabok\njason fabok. greg staples\njason harkness\njason manley\njason momoa\njason momoa as assyrian\njason momoa as conan\njason scheier\njason statham\njason statham as batman\njason statham skiing\njason voorhees\njaunty\njavanese mythology\njavascript enabled\njaw and tongue\njaw dropping\njaw dropping beauty\njaw-dropping beauty\njaws\njay bauman\njay leno with gray skin\njay naylor\njaya su berg\njayison devadas\njayison devadas style\njaylen brown\njayne mansfield in a swimsuit\njayson tatum\njayson tatum as che guevara\njayson tatum as guerilla heroica\njayson tatum as mother mary\njazz\njazz age\njazz album cover\njazz quintet\njazza\njazza and rossdraws\njazzy\njc leyendecker\njc leyendecker and sachin teng\njc leyendecker!! phil hale!\njc park\njcb\njdm\njealous face\njealousy\njean\njean - baptiste belin\njean - baptiste monge\njean - honore fragonard\njean - leon gerome\njean - michel basquiat\njean and multicolor shoes\njean baptiste monge\njean christian biville\njean delville and mark brooks\njean delville fertile\njean deville\njean dupas\njean francois millet\njean girard\njean giraud 8 k\njean giraud 8k\njean giraud and waterhouse\njean giraud portrait\njean gireaud\njean grey\njean henri gaston giraud\njean jacket\njean james\njean jules linden\njean leon gerome\njean luc picard\njean michel basquiat\njean pants\njean paul fiction\njean paul gaultier\njean pierre ugarte\njean shorts\njean-honore fragonard\njean-joseph benjamin-constant\njean-leon gerome\njean-sebastien rossbach\njean-victor bertin\njeans\njeans and black boots\njeans and boots\njeans and knee high black boots\njeans and t shirt\njeans pants\njeddah city street\njedi\njedi fallen order teaser\njedi knight\njedi master\njedi robes\njedi with light saber\njeehyung lee wlop\njeep\njeep in background\njeep wrangler\njeff\njeff - hall\njeff bezos\njeff bridges\njeff easley and ross tran\njeff easley and scott m fischer\njeff easley cinematic\njeff easley dramatic light\njeff goldblum\njeff lyons\njeff smith\njeff the killer\njeffery catherine jones\njeffery epstein\njeffery smith\njeffrey catherine jones pose\njeffrey epstein\njeffrey jones\njeffrey jones dynamic lighting\njeffrey smith and h.r. giger\njeffrey smith and rlon wang\njeffrey smith and yves klein\njeffrey smith art\njeffrey wright\njehan georges vibert\njello\njelly\njelly - like texture\njelly - like texture. photograph\njelly fish\njelly fish dancing\njelly fishes\njelly glow\njellybeans\njellycat\njellyfish\njellyfish element\njellyfish elements\njellyfish fractal\njellyfish gelatin\njellyfish god\njellyfish headdress\njellyfish pheonix\njellyfish phoenix\njellyfish phoenix dragon\njellyfish phoenix head\njellyfish priestess\njellyfish shrine maiden\njellyfish shrine maiden 8k\njellyfish temple\njellyfish wearing glasses\njellyfishes\njellymeat\njemal shabazz\njen atkin\njen bartel\njen yoon\njen zee\njenga tower\njenna barton\njenna coleman\njenna coleman as the doctor\njenni pasanen\njennifer aniston\njennifer connelly\njennifer connelly as a stunning\njennifer lawrence\njennifer lopez\njennifer wuestling\njenny savile\njenny saville and nicola samori\njenny seville\njeongseok lee\njereme momoa as tarzan\njeremiah\njeremy\njeremy bennett\njeremy cheung\njeremy clarkson\njeremy cowart\njeremy elbertson\njeremy enecio\njeremy lipkin\njeremy lipkin and rob rey\njeremy lipking\njeremy lipking full length shot\njeremy mann\njeremy mann and alphonse mucha\njeremy mann and claude monet\njeremy mann art\njeremy mann painting\njeremy pitkin\njeremy renner\njerez\njerma\njerma 9 8 5\njerma 985\njerma in a liminal space\njerma985\njerma985 as the joker\njerma985 in fortnite\njerome powell\njerome powell punching a bear\njerry\njerry garcia\njerry seinfeld\njerusalem\njesper esjing\njesse mccree\njesse pinkman\njesse pinkman as spider-man\njesse pinkman in gta v\njessica\njessica alba\njessica alba woman\njessica chastain\njessica nigri\njessica nigri face!!\njessica rabbit\njessica rossier and brian froud\njessica rossier color scheme\njessica rossier fantasy art\njester\njester hat\njester shoes\njester themed\njesus\njesus alonso iglesias\njesus christ\njesus christ fighting lucifer\njesus christ going super saiyan\njesus christ in mass effect\njesus christ is the doom slayer\njesus christ on the cross\njesus christ smoking a blunt\njesus face\njesus holding a cute cat\njesus hugging a woman\njesus kissing a maria maddalena\njesus of nazareth\njesus on cross\njesus on the cross\njesus riding a dragon\njesus walking on water\njesus wasted at a party\njeszika le vye\njet - black skin\njet black hair\njet black haired cyberpunk girl\njet black leggins\njet black tuffe coat\njet black tuffle coat\njet engines\njet fighter\njet fighter background\njet fighters\njet parts\njet set radio\njet set radio artwork\njet set radio future\njet turbine\njet wings on the back\njetfire\njetfire!!!!!\njetpack\njetpacks\njets\njetsons\njetstream sam\njetstream sam from metal gear\njett from valorant\njewel\njewel case\njewel crown\njewel embellishment\njewel fishes\njewel tones\njeweled\njeweled choker\njeweled costume\njeweled crown\njeweled headdress\njeweled ornament over forehead\njeweled ornate leather armour\njeweled technology\njeweled veil\njewelled\njewellery\njewelry\njewelry design\njewelry display\njewelry engraved in scarab\njewelry iridescent\njewelry lighting\njewelry made of bones\njewelry pearls\njewelry photography\njewels\njewish young man with glasses\njewlery\njfk\njfk assassination\nji-min\njia\njia ruan\njia zhangke\njiang sword\njigsaw\njill stingray\njim carrey\njim carrey as jack sparrow\njim carrey as terminator\njim carrey as the joker\njim carrey caricature realism\njim carrey in gears of war\njim carry\njim cheung\njim cornette\njim cramer\njim henson\njim henson creature shop\njim henson creature workshop\njim jarmusch\njim kay\njim morrison\njim warren\njim warren and rob gonsalves\njim woodring\njimi hendrix\njimi hendrix full body\njimi hendrix full body shot\njimi hendrix playing guitar\njimi hendrix style poster\njimin\njimin\\'s grecian nose\njimin\\'s plump lips\njimin\\'s right eyelid swollen\njimins grecian nose\njimins plump lips\njimmy mcgill in court\njimmy nelsson\njimmy neutron\njimmy page\njin - roh\njin kagetsu\njin kim\njin shan\njin shan and ross tran\njingna zhang\njinsung lim\njinx\njinx expression\njinx face\njinx from arcane\njinx from league of legends\njinyiwei\njinyoung shin\njinyoung shin aesthetic\njinyoung shin art\njiro matsumoto and yusuke murata\njisoo from blackpink\njisoo of blackpink\njisu choe\njiyun chae\njj abrams\njjba\njk\njk uniform\njm animation\njmw turner\njoan cornella\njoan miro and moebius\njoan of arc\njoanna gaines\njoao ruas\njoaquin phoenix\njoaquin sorolla\njoaquin sorolla ) )\njock\njodie bateman\njodie foster\njodie whittaker\njodorowky's dune movie\njodorowkys dune movie\njodorowsky's dune\njodorowsky's dune movie\njodorowsky's robocop\njodorowskys dune movie\njodorwoski's dune\njodorwoskis dune\njody highroller\njoe\njoe alves\njoe bidden\njoe biden\njoe biden action figure\njoe biden as a hooded arch mage\njoe biden as a jojo character\njoe biden as a sith lord\njoe biden as a transgender woman\njoe biden as an anime villain\njoe biden as batman\njoe biden as captain america\njoe biden as superman\njoe biden as thanos\njoe biden as the joker\njoe biden as the joker in batman\njoe biden casts a long shadow\njoe biden cosplaying bioshock\njoe biden crying\njoe biden dressed as a dinosaur\njoe biden eating ice cream\njoe biden flying with jet pack\njoe biden full body portrait\njoe biden full body shot\njoe biden funko pop\njoe biden in fortnite\njoe biden in gta v\njoe biden in hell\njoe biden in minecraft\njoe biden in skyrim\njoe biden in team fortress 2\njoe biden in toy story\njoe biden in valorant\njoe biden is obi - wan kenobi\njoe biden kissing donald trump\njoe biden looking sinister\njoe biden portrait\njoe biden riding a dragon\njoe biden riding a skateboard\njoe biden screaming\njoe biden sharkman\njoe biden with glowing eyes\njoe biden with glowing red eyes\njoe biden with laser eyes\njoe boom\njoe botardo\njoe chiodo\njoe gb fenton\njoe hisaishi\njoe keery\njoe kubert\njoe madureira\njoe pera\njoe rogan\njoe taslim\njoe webb\njoel - peter witkin\njoel fletcher\njoel meyerowitz\njoel peter witkin\njoel sternfeld\njoel torres\njoel-peter witkin\njoep hommerson\njoey king\njoey l\njohan liebert\njohan liebert mixed with alucard\njohan liebert mixed with dante\njohann heinrich füssli\njohann tischbein\njohanna martine\njohanna rupprecht\njohanna rupprecht style\njohannen voss\njohannes vemeer\njohannes vormeer\njohfra\njohn\njohn alvin\njohn baer\njohn banovich\njohn bauer and bouguereau\njohn berkey and norman rockwell\njohn berkey white plastic panels\njohn berkley\njohn berry\njohn blance\njohn buscema\njohn candy\njohn caple\njohn carmack\njohn carpenter body horror\njohn carpenter's the thing\njohn carpenters the thing\njohn carter of mars\njohn cena\njohn cho\njohn coulthart\njohn currin\njohn eaves\njohn egbert\njohn frederick lewis\njohn goodman as donald trump\njohn harris. concept art\njohn henry dearle\njohn j. park\njohn jude palencar\njohn kenn mortensen\njohn krasinski\njohn kricfalusi\njohn lasseter\njohn lasseter portrait\njohn lennon\njohn lennon as a stag beetle\njohn liberto\njohn longstaff\njohn martin landscape\njohn mcafee as ironman\njohn mcneill whistler\njohn oates face\njohn oliver\njohn oliver and adam driver\njohn oliver in front\njohn oliver in the rain\njohn park\njohn park and greg rutkowski\njohn paul ii\njohn pawson\njohn picacio and brom\njohn redcorn\njohn romita junior\njohn romita senior\njohn sargent\njohn schoenher\njohn schoenherr\njohn signer sargent\njohn singer sargant\njohn singer sargent style\njohn snow\njohn stephens\njohn tenniel\njohn wallin liberto\njohn waterhouse\njohn waters\njohn waters movie\njohn watkiss\njohn wayne\njohn wick\njohn willaim godward\njohn william\njohn william waterhouse style\njohn williams waterhouse\njohnatan wayshak\njohnny\njohnny bravo\njohnny cash\njohnny craig\njohnny depp\njohnny depp as captain america\njohnny depp as the joker\njohnny depp as tony stark\njohnny depp portrait\njohnny silverhand\njohnson heade\njohnson ting\njoints\njojo\njojo anime style\njojo bizarre adventure\njojo cover art\njojo style\njojo's bizarre adventure\njojo's bizarre adventures\njojo's bizzare adventure\njojo's bizzare adventure!!\njojo's bizzare adventure!!!!\njojo\\'s bizarre adventure\njojos bizarre adventure\njojos bizzare adventure\njoke\njoker\njoker as naruto\njoker looks like naruto\njoker makeup\njoker smile\njoker wearing vader's armor\njoker wearing vader's armor suit\njoker wearing vaders armor suit\njokowi\njollibee city\njolly\njon berkey\njon kuo\njon lothian\njon macnair\njon mccoy\njon mcnaughton\njon sibal. volumetric light\njon snow\njon tron as loki in the avengers\njonah hill\njonas roscinas\njonathan dufresne\njonathan ivy\njonathan winterhart\njonathan yeo painting\njonathan zawada\njonny duddle and jim kay\njonny greenwood\njonny greenwood (lead guitar)\njonny wan\njontron\njony ive\njony ives\njoon ahn\njoongwon charles jeong\njoongwon jeong\njoop geesink\njoost swarte\njordan\njordan grimmer and james jean\njordan grimmer and natasha tan\njordan lamarre - wan\njordan matter photography\njordan peele's face\njordan peeles face\njordan peterson\njordan peterson as a lobster\njordu schell\njorge lacera\njorge luis borges. eldritch\njormungand anime\njormungandr\njosan gonzales\njosan gonzales and dan mumford\njosan gonzales!!!\njosan gonzalez and tyler edlin\njose ladronn\njose miguel roman frances\njosef sudek\njoseph and joseph\njoseph farquharson\njoseph joestar\njoseph leyendecker\njoseph mallord william turner\njoseph maria olbrich\njoseph michael linsner\njoseph moncada\njoseph stalin\njoseph todorovitch\njoseph todorovitch ”\njosephine wall and pino daeni\njosh black\njosh brolin\njosh grover\njoshua cotter\njoshua middleton\njoshua middleton and artgerm\njoshua middleton art\njoshua middleton artwork\njoshua middleton comic art\njoshua middleton comic cover art\njosip broz tito\njossi of blackpink\njotaro\njotaro kujo\njotaro vs dio\njournalism\njournalism photo\njournalist photo\njournalistic photo\njournalistic photograph\njournalistic photography\njourney\njourney thatgamecompany\njourney to the west\njourney to the west. pop art\njovana rikalo\njovial\njoy\njoy ang\njoy gaze\njoyce ballantyne\njoyce ballantyne style\njoyful\njoyful 4k\njoyful look\njoyful people in the house\njoyful smirk\njoyous\njoyous trumpets\njoyous wide memorable\njoytoy\njpeg artefacts\njpeg artefacts on canvas\njpeg artifact\njpeg artifacting\njpeg artifacts\njpg artifacts\njpl\njpop clothing\njr\njr ewing from dallas\njr sc maglev\njrpg\njrpg aztec street fashion\njrpg character\njrpg character art\njrpg fashion\njrr tolkien\njsc\njsrf\njuan caloto\njuan diaz canales\njuan gimenez\njuan jose serrano\njuan miro\njuan sanchez cotan\njuanjo guarnid\njuanjo guarnido\njuanmao\njubilant blissful atmosphere\njudge\njudge dredd\njudge judy\njudge's gavel\njudgement day\njudgment day\njudy boyle intricate\njudy chicago\njudy garland\njudy hopps\njudy hopps from zootopia\njugendstil\njugendstil background\njugendstil drawings\njugendstill\njuggernaut\njuice\njuicy\njuicy color\njuicy legs\njuicy meat\njujutsu kaisen\njukebox\njules\njules bastien - lepage\njules bastien le - page\njules bastien lepage\njules julien\njules verne\njulia fuentes\njulia garner\njulia gorokhova\njulia hetta\njulia hill\njulia roberts\njulia sarda\njulian calle\njulian falat\njulian ope\njulian opie\njulie dillon\njulie heffernan\njulio lacerda\njulius caesar\njuly\njuly 2 0 1 1\njuly 2011\njumbled together\njump\njump comics\njump kick\njump pose\njump scare\njumping\njumping at the viewer\njumping flying and eating frogs\njumping for joy\njumping leaping heroic attack\njumping spider\njumping spider mixed with owl\njumping towards viewer\njumpscare\njumpsuit\njumpsuits\njung gi kim\njung jaehyun\njungian symbols of winter\njungkook\njungle\njungle around him\njungle as the background\njungle background\njungle background with ruins\njungle camo\njungle clearing\njungle environment\njungle fruit\njungle gown\njungle grunge\njungle in background\njungle landscape\njungle nature\njungle scene\njungle setting\njungle vines\njungle vines and fireflies\njunglecore\njunglepunk\njungles\njungles in the background\njungles of vietnam beautiful\njunichi oda\njunji ito 4 k\njunji ito 4k\njunji ito and greg rutkowski\njunji ito and horiyoshi iii\njunji ito artwork\njunji ito style\njunji ito undertones\njunji ito's uzumaki\njunji murakami\njunk\njunk everywhere\njunk on the ground\njunk town\njunk tv\njunk yard\njunker queen from overwatch\njunki ito\njunko enoshima\njunko enoshima from danganronpa\njunkrat from overwatch\njunktown\njunkyard\njuno promotional image\njunya watanabe\njupiter\njupiter moon mars\njurassic\njurassic image\njurassic park\njurassic world\njurgen klopp\njurgen klopp laughing\njurgens\njuri han from street fighter\njuri misaki\njury\njust\njust a cute little thing\njust after rain\njust art for dark metal music\njust beautiful\njust eyes\njust mind-blowing\njust one head\njust one rainbow 8 k\njust take a pinch of psychedelic\njust the face\njustice\njustice league\njustify\njustify content center\njustify contents center\njustin bieber\njustin gerard and greg rutkowski\njustin hartley as superman\njustin kohn\njustin roiland\njustin sun\njustin todd\njustina blakeney\njuxtapos\njuxtaposition dystopian\njuxtapoz\njuxtapoz aesthetic\njuxtapoz magazine\njwst\njörmungandr\nk\nk high definition\nk-on\nk-on!\nk-pop\nk9\nk_euler_ancestral\nkabuki makeup\nkabuki mask\nkabuto\nkacper niepokolczycki\nkaethe butcher\nkafka\nkafkaesque\nkagamine rin\nkaguya ōtsutsuki\nkahikatea\nkai carpenter\nkai fine art\nkai vermehr\nkai'sa\nkaigetsudo ando\nkaiju\nkaiju battle\nkaiju cephalopod\nkaiju starfish\nkaiju towering above new york\nkaiju-eiga\nkailasa temple\nkailee mandel\nkaitlyn michelle siragusa\nkaizen arachimary\nkajo baldisimo and craig mullins\nkakar cheung\nkakashi\nkakashi hatake\nkakejiku\nkaki body suit\nkakyoin\nkaladesh\nkaladesh concept art. mechanical\nkaladin stormblessed\nkaleidoscope\nkaleidoscope of machine guns\nkaleidoscopic\nkaleidoscopic colors\nkalevala\nkali\nkalighat\nkalighat flowers\nkalighat hanuman!! head building\nkalighat hanumanhead building\nkalighat highly detailed\nkama russian electrocar\nkamakura period\nkamakura scenery\nkamelot album cover\nkamen anev\nkamen rider\nkamen rider action pose\nkamen rider character\nkamen rider ghost\nkami\nkamwei fong\nkan liu\nkanagawa prefecture\nkanamemo\nkancolle\nkandinski\nkandinsky style\nkandinsky touches\nkane from command & conquer\nkaneki ken\nkangaroo\nkangaroos\nkanji\nkanji insignia and numbering\nkanji markings\nkanji tattoos and decals\nkanliu666\nkano tan'yu\nkano tanyu\nkano)\nkansas town at midnight\nkantai collection arcade\nkantai collection style\nkantoku\nkanye\nkanye west\nkanye west album cover\nkanye west as a jedi\nkanye west as emperor napoleon\nkanye west as the joker\nkanye west donda album cover\nkanye west funko pop\nkanye west in gta v\nkanye west made out of congee\nkanye west torso\nkaoru mori\nkara walker\nkara walker james jean\nkarachi skyline background\nkarate\nkarate kick\nkarate outfit\nkarate pose\nkarch kiraly\nkardur\\'s vicious return\nkardur’s vicious return\nkarel thole\nkaren carr\nkaren gillan\nkaren gillan batgirl\nkaren vikke\nkarim rashid\nkarl blossfeldt\nkarl heilmayer\nkarl marx\nkarl marx funko pop\nkarl marx pondering his orb\nkarl pilkington\nkarl spitzweg\nkarl spitzweg. sharp focus\nkarl spitzweg. unreal engine\nkarl urban\nkarl urban as a dragonslayer\nkarl urban as wolverine\nkarla ortiz\nkarma\nkarma sutra\nkaro\nkarol bak and peter mohrbacher\nkarol bak major buster keaton\nkarol bak of emma watson nun\nkarol bak uhd\nkarolina cummings\nkarst landscape\nkarst landscape ; wide shot\nkarst pillars forest\nkarthus from league of legends\nkasai\nkashin\nkastuhiro otomo\nkasumi arimura style 3/4\nkat dennings\nkatamari damacy\nkatana\nkatana in hand\nkatana scabbard\nkatana zero\nkatana zero video game character\nkatanas strapped to her back\nkatara from avatar\nkatarina\nkatarina from league of legends\nkatayama bokuyo\nkate beckinsale\nkate beckinsale weared as thief\nkate bishop\nkate moss\nkate oleska and jim kay\nkate upton\nkatekyo hitman reborn\nkatelynn mini cute style\nkatey truhn\nkathe kollwitz\nkatherine lam\nkatherine mcnamara inspired\nkatheryn winnick\nkathy zyduck\nkatinka reinke\nkatniss everdeen\nkatniss everdeen rock climbing\nkatsuhika hokusai\nkatsuhiro\nkatsuhiro - otomo\nkatsuhiro and inio asano\nkatsuhiro otomo\nkatsuhiro otomo and junji ito\nkatsuhiro otomo style\nkatsuhiro tomo\nkatsuhuro otomo\nkatsuhuro otomo highly detailed\nkatsura masakazu\nkatsushika\nkatsushika hokusai style\nkaty perry\nkaty perry fixing a leaking sink\nkaty perry in a red dress\nkaty perry wearing old clothes\nkauai\nkauai springtime\nkavisky\nkawaai\nkawacy\nkawai\nkawaii\nkawaii aesthetic\nkawaii anime manga style\nkawaii cat\nkawaii chibi\nkawaii colors\nkawaii cute dog\nkawaii cutest sticker ever\nkawaii decora rainbowcore\nkawaii hair style\nkawaii hairstyle\nkawaii hq render\nkawaii japanese style\nkawaii manga style\nkawaii playful pose of a dancer\nkawaii rainy gloomy\nkawaii realistic portrait\nkawaii shirt and jeans\nkawaii style\nkawaii swat team\nkawaii vibe\nkawaii yoda\nkawaii yoda icon\nkawanabe kyosai\nkawasaki\nkaworu nagisa\nkaws\nkay neilsen\nkay nielsen and wadim kashin\nkaya scodelario\nkayne west\nkazakh\nkazakh empress\nkazue kato\nkazuki takahashi\nkazuki tanahashi\nkazuma kaneko\nkazuo oga\nkazuo umezu artwork\nkazuya takahashi\nkda\nkda and sam yang\nkdp\nkeanu reaves riding a unicorn\nkeanu reeves\nkeanu reeves as geralt of rivia\nkeanu reeves as iron man\nkeanu reeves as wolverine\nkeanu reevez in disco elysium\nkebab\nkeepers of time and space\nkeeping you sane\nkeetongu bionicle\nkefka ff6\nkehinde wiley\nkeira knightley\nkeisuke goto\nkeita morimoto\nkeith haring style\nkeith harring\nkeith thompson\nkek\nkelogsloops and greg rutkowski\nkelp\nkelp and moss all over\nkelp forest\nkemetic\nkemetic symbolism\nkemono\nkemonomimi\nken\nken barthelmey\nken currie\nken doll\nken ishikawa\nken kaneki\nken sugimori art\nken wong\nkendall jenner\nkendrick lamar\nkeng lye\nkenket\nkenku\nkenne gregoire\nkenner style action figure\nkenneth blom\nkenneth copeland\nkenneth willardt\nkenny mcbride\nkenny schar\nkenny scharf\nkenny wong x pop mart\nkenopsia\nkent monkman\nkentaro\nkentaro miura\nkentaro miura art\nkentaro miura art style\nkentaro miura manga art style\nkentaro miura manga style\nkentaro miura style\nkentaro miura!\nkenton nelson\nkenwood\nkeqing from genshin impact\nkerala motifs\nkerala village\nkerberos\nkerberos panzer\nkerberos realm\nkerem beyit\nkerlee\nkerli koiv\nkerli koiv as anime girl\nkermit\nkermit dressed as the undertaker\nkermit driving a car\nkermit the frog\nkermit the frog as darth vader\nkermit the frog as thanos\nkerouac magazine\nkessler art\nketamine dreams\nketchup\nkete butcher\nketer class\nkettle\nkevin bacon made out of bacon\nkevin garnett\nkevin hart\nkevin hou\nkevin mitnick as a bank robber\nkevin o'leary\nkevin rudd\nkevin tighe with randy mantooth\nkevlar\nkewpie\nkewpie mayonnaise\nkey anime art\nkey anime visual\nkey anime visuals\nkey art\nkey art anime sharp focus\nkey character poster\nkey frame\nkey hole on blue ball\nkey is on the center\nkey is on the center of image\nkey light\nkey lighting\nkey still\nkey visual\nkey visual of attack on titan\nkeyboard\nkeyboardist\nkeyboards\nkeyframe\nkeyframe illustration\nkeygen\nkeyhole\nkeyleth\nkeylight\nkeys\nkeyshot\nkeyshot lighting\nkeyshot product render\nkeyshot product render pinterest\nkeyshot render\nkezie demessance\nkezrek\nkfc\nkfc chicken\nkhabib\nkhajuraho\nkhakis\nkhamenei\nkhedival opera house\nkhokhloma plate of borscht\nkhomeini\nkhorinis\nkhorne\nkhreschatyk\nkhrushchyovkas\nkhyzyl saleem\nkia soul\nkick flip\nkickboxer fighter\nkickboxing\nkickflip\nkicking\nkicking a florida mansion\nkicking up dirt\nkid\nkid a\nkid and mad scientist walking\nkid drawing\nkid lit\nkid named finger\nkid playing with slime monster\nkid's drawing\nkidmo\nkidmo!!!\nkidney\nkidneys\nkids\nkids book illustration\nkids drawing\nkids fantasy drawing\nkids movie\nkids place\nkids playing\nkids playing at the beach\nkids talking to fruit people\nkids toy\nkids toys\nkiera knightley\nkiera knightly\nkiera knightly in repose\nkiernan shipka\nkieth thomsen\nkiki\nkiki picasso style\nkiki smith\nkiki's delivery service\nkikis delivery service\nkiko mizuhara\nkilart\nkilian eng and jake parker\nkilian eng and thomas kinkade\nkilian eng vibrant colors\nkilian eng vibrant colours\nkilian eng. mœbius\nkilin eng\nkill bill\nkill la kill\nkill la kill illustration\nkilled in war\nkiller\nkiller - girl\nkiller boots\nkiller queen\nkiller whale\nkillian eng\nkillian eng beksinski\nkilling demons\nkilling the great ones\nkillstar\nkillua zoldyck\nkillua zoldyck black hair\nkillua zoldyck made of jewlery\nkillua zoldyck portrait\nkilly from blame\nkilly from blame!\nkillzone\nkim doyoung\nkim hyun joo\nkim jong - il\nkim jong - un\nkim jong un\nkim jong-il\nkim jong-un\nkim jung gi\nkim jung gi style\nkim jung giu\nkim jung-gi\nkim kardashian\nkim kardashian as a cop\nkim kardashian as harley quinn\nkim possible\nkim wexler\nkim wexler and saul goodman\nkimagure orange road\nkimberly asstyn\nkimetsu no yaiba\nkimi no na wa\nkimi takemura\nkimi vera\nkimitake yoshioka\nkimono\nkimono robe detailed toggles\nkimura\nkind\nkind appearence\nkind cyborg girl with flowers\nkind expression\nkind eyes\nkind face\nkind features\nkind smile\nkind!! appearence\nkindchenschema\nkindness\nkindred spirits\nkinemacolor\nkinetic\nking\nking arthur\nking arthur's court\nking arthurs court\nking crimson\nking ghidorah\nking in yellow\nking kong\nking of capitalism\nking of entropy\nking of fighters style\nking of hell\nking of kings\nking of pirates\nking of the desert\nking of the flies\nking of the hill\nking of the jungle\nking of the sea\nking of time reaper\nking pepe with rainbow wig\nking richard the lionheart\nking's quest\nkingdom\nkingdom hearts\nkingdom hearts 3\nkingdom hearts styled gameplay\nkingdom hearts worlds\nkingdom of elves\nkingdoms of ether\nkingpin\nkings quest\nkings row in the background\nkingslanding\nkinkade\nkinkade. award winning\nkinmoza\nkinmoza!\nkino\nkino's journey\nkino's journey (2003)\nkintsugi\nkintsugi!!\nkintsukuroi\nkinu nishimura\nkirbi fagan\nkirchner\nkirigami\nkirill leonov\nkirisame marisa\nkirisame marisa from touhou\nkirito\nkirokaze\nkirokaze and paul robertson\nkirsi salonen\nkirsty mitchell\nkiseijuu\nkiss\nkiss mouth to mouth\nkisses are wordless spells\nkissing\nkissing each other\nkissing smile\nkissing the joker\nkissing together\nkissing together cutely\nkit\nkit bash\nkit bashing\nkitana from mortal kombat\nkitava\nkitava insatiable hunger\nkitbash\nkitbash 3 d\nkitbash 3 d texture vibrant\nkitbash 3d texture vibrant\nkitbashing\nkitbashing component\nkitboga\nkitch\nkitchen\nkitchen background\nkitchen counter\nkitchen table\nkitchenette and conferenceroom\nkites\nkitsch\nkitsch fashion\nkitsune\nkitsune holding torch\nkitsune inspired armor\nkitsune mask\nkitsune mask on head\nkitsune three - tailed fox\nkitt\nkitten\nkitten playing with ball of yarn\nkitten puppy teddy mix\nkitten sandwish\nkittens\nkittens in outer space\nkitty\nkitty-bird hybrid\nkiwi\nkiwi fruit\nkiyoko suzuki\nklaus film\nklaus movie poster\nklaus movie twins poster\nklaus schwab\nklaus schwab eating bugs\nklee\nklee. mathematical paradise\nklein bottle\nklimt and nixeu\nklingon\nklipspringer\nknee\nknee high socks\nknee pads\nknee-high boots\nkneehigh boots\nkneeling\nkneeling and looking up\nkneeling at the shiny floor\nkneeling before the pope\nkneeling in prayer\nkneeling!!\nknees\nknees tucked in\nknees tucked in  rain falls\nknees tucked in | rain falls\nknees upturned\nknees weak\nknick - knacks\nknick knacks\nknickknacks\nknife\nknife - like teeth\nknight\nknight and princess\nknight armor\nknight armored in red\nknight chess\nknight drinks beer\nknight helmet\nknight in armor\nknight in armor dance popping\nknight of cups\nknight on horseback\nknight rider\nknight rider kitt\nknight wearing helmet\nknight wearing plate armor\nknights\nknights armor\nknights in battle\nknights of zodiac girl\nknights templar in a space suit\nknitted hat\nknitted mesh material\nknives\nknobbly knees\nknobs\nknockout punch\nknolling\nknotted trees\nknowing expression\nknowledge\nknowledge of anatomy\nknown as voryn dagoth in life\nknyazev konstantin\nko-fi\nkoala\nkoala playing a guitar\nkobalt blue\nkobe bryant\nkobold\nkoda kazuma\nkodachromatic\nkodachrome\nkodachrome  1976\nkodachrome ( 1 9 7 6 )\nkodachrome 6 4\nkodachrome 6 4 color slide film\nkodachrome 64\nkodachrome 64 color slide film\nkodachrome 8 k\nkodachrome camera\nkodachrome colors\nkodachrome colour\nkodachrome film\nkodachrome k135\nkodachrome photo\nkodachrome photograph\nkodackchrome\nkodacolor\nkodak\nkodak 110\nkodak 2 5 0\nkodak 2383\nkodak 2383 film\nkodak 2383 vision color\nkodak 35mm\nkodak 4 0 0\nkodak 400\nkodak 5219\nkodak 5247 stock\nkodak brownie camera\nkodak camera\nkodak color\nkodak color film\nkodak color film stock\nkodak color stock\nkodak d-76\nkodak ektachrome\nkodak ektachrome 1 2 0\nkodak ektachrome 10\nkodak ektachrome 100\nkodak ektachrome 120\nkodak ektachrome e 1 0 0\nkodak ektachrome e 100\nkodak ektachrome e100\nkodak ektar\nkodak ektar 1 0 0\nkodak ektar 100\nkodak ektar 100 film\nkodak ektochrome film\nkodak film\nkodak film look\nkodak film photo\nkodak film photography\nkodak film stock\nkodak fling 200\nkodak gold\nkodak gold 2 0 0\nkodak gold 200\nkodak gold 200 film\nkodak gold 3 5 mm film\nkodak gold 4 0 0\nkodak gold film\nkodak hie infrared film\nkodak kodachrome 400\nkodak kodachrome film\nkodak photo\nkodak photograph\nkodak porta\nkodak portra\nkodak portra 1 6 0\nkodak portra 160\nkodak portra 160 professional\nkodak portra 4 0 0\nkodak portra 400\nkodak portra 400 film\nkodak portra 8 0 0\nkodak portra 800\nkodak portra 800 film\nkodak portra film\nkodak portra film 800\nkodak professional lenses\nkodak promax 4 0 0\nkodak stock\nkodak tri - x 3 5 mm\nkodak tri - x 35 mm\nkodak tri-x 400\nkodak tri-x pan film\nkodak ultra f9\nkodak vision 2 0 0 t\nkodak vision 200 t\nkodak vision 3 500t\nkodak vision 3500t\nkodak vision 5 0 0 t\nkodak vision3 500t\nkodakchrome\nkodakchrome : : 8 k\nkodakchrome : : 8k\nkohei horikoshi\nkoi\nkoi colors\nkoi fish\nkoi fish floating in space\nkoi fishes\nkoi pond\nkoji morimoto\nkoji morimoto shinjuku\nkojima\nkoju morimoto\nkomatsuzaki retro-futurism\nkombi\nkomorebi\nkonachan\nkonami\nkonami concept art\nkonami hyperboy\nkonami mecha\nkong: skull island (2017)\nkong: skull island 2017\nkongming lanterns in the sky\nkonica minolta\nkonosuba\nkonosuba anime style\nkonpeki no kantai\nkonstantin porubov\nkonstantin razumov\nkoons\nkoopa\nkopera\nkorean\nkorean art nouveau anime\nkorean artist\nkorean audrey hepburn\nkorean audrey hepburn automata\nkorean countryside\nkorean face features\nkorean film noir\nkorean girl\nkorean hanbok\nkorean idol\nkorean kpop star\nkorean mmo\nkorean mmorpg\nkorean muscle boy 2 1 years old\nkorean muscle boy 21 years old\nkorean mythology\nkorean supper\nkorean symmetrical face\nkorean traditional palace\nkorean typography\nkorean war\nkorean woman\nkorean women's fashion model\nkorean womens fashion model\nkorean writing\nkorg from thor as a soldier\nkorra from the legend of korra\nkotegawa yui\nkothophed\nkoto no ha no niwa\nkousuke oono\nkowloon\nkowloon cyberpunk\nkowloon cyberpunk cityscape\nkowloon walled city\nkowloon walled city style\nkoyaanisqatsi\nkoyoharu gotouge\nkpop\nkpop amino\nkpop star\nkpop style colors\nkraken\nkrakens\nkramer\nkrampus\nkramskoi\nkramskoi 4 k\nkratos\nkraut rock soundtrack\nkremlin\nkremlin towers are destroyed\nkrenz\nkrenz c\nkrenz cushar\nkrenz cushart and artem demura\nkrenz cushart and artgerm\nkrenz cushart and asher duran\nkrenz cushart and wenjun lin\nkrenzcushart\nkreuzberg\nkris kuksi\nkristanna loken\nkristen bell\nkristen bell as a greek goddess\nkristen bell as a mermaid\nkristen stewart\nkrita\nkrull\nkrypton\nkrypton ion\nkrystal\nkrystal from star fox\nkrysten ritter\nkrzysztof kononowicz\nkrzysztof porchowski jr\nkuala lumpur\nkuang hong\nkubo and the two strings\nkubric stare\nkubrick\nkubrick stare\nkubrik\nkumadori makeup\nkumamoto\nkundalini energy\nkung fu\nkung fu panda\nkung-fu\nkunoichi\nkuntilanak\nkuntilanak on bayan tree\nkuntilanak on tree\nkupka\nkurdish lawyer\nkurdish samurai\nkurdish soldier\nkurdistan\nkurisu makise\nkurisu makise steins gate anime\nkurt cobain\nkurt russell\nkusanagi\nkutsuya terada\nkuvshinov\nkuvshinov ilya\nkuzma petrov - vodkin\nkvothe from name of the wind\nkwak ji young\nkyle hotz\nkyle mclaughlin\nkylie jenner\nkylie jenner as catwoman\nkylie minogue\nkylie minogue as barbarella\nkylo ren\nkyoani\nkyoani studio\nkyoto\nkyoto animation\nkyoto animation anime key visual\nkyoto animation key\nkyoto animation key visual\nkyoto animation productions\nkyoto animation still\nkyoto animation studio\nkyoto inspired\nkyoto japan setting\nkyoto studio\nkyrie irving as che guevara\nkyuyong eom and boris vallejo\nkyza\nkyza saleem\nkārlis padegs\nl - system\nl critical role\nl vampire\nl · lawliet\nl7m\nla bouche couverte de sang\nla catrina\nla llorona\nla nouvelle vague\nlab\nlab background\nlab coat\nlab coat and tee shirt\nlab covered in mold and moss\nlab in the background\nlabcoat\nlabcoats\nlabel\nlabel design\nlabeled\nlabeled diagram\nlabeled diagrams\nlabelled\nlabels\nlabile temper\nlabirynth\nlaboratory\nlaboratory background\nlaboratory in the background\nlabrador\nlabradorite\nlace\nlace dress\nlace underwear\nlace veil\nlace web\nlaced\nlaced dress\nlaced lingerie\nlaces\nlaces and ribbons\nlacey\nlacey accessories\nlachlan bailey\nlacivious pose\nlack of ground\nlack of sunlight\nlacking in three-dimensionality\nlacquer on canvas\nlacquered\nlacquered armor\nlacquered glass\nlacquered oak reception desk\nlacquerware\nlacrosse player\nlada\nlada car\nladder\nladders\nladies\nladislas starevich\nladislaus eugen petrovit\nlady\nlady davis\nlady diana\nlady dimitrescu\nlady gaga\nlady gaga and judy garland\nlady gaga artpop act ii\nlady gaga artpop act ii album\nlady gaga as evita\nlady gaga as harley queen\nlady gaga as harley quinn\nlady gaga as president\nlady gaga harley queen\nlady gaga is harley quinn\nlady gaga president of argentina\nlady gaga with her venus hair\nlady in black coat and pantyhose\nlady in red armor\nlady kima\nlady of elche\nlady of the entropy\nlady palutena\nlady using yellow dress\nlady with glowing flowers dress\nladybug\nladybug as a monster\nladybug hobbits\nladybug robots\nladybugs\nlaetitia casta\nlag in the game\nlago di sorapis\nlagoon\nlagus the thieving bunny\nlaica chrose\nlaid - back\nlaid back features\nlaika\nlaika films\nlain\nlain iwakura\nlain serial experiments\nlake\nlake background\nlake baikal in the background\nlake blue\nlake filed with molten gold\nlake foreground\nlake house\nlake in foreground\nlake in the background\nlake in the distance\nlake in the forest\nlake kawaguchi\nlake reflection\nlake scene\nlake setting\nlake view\nlakes\nlakes and waterfalls\nlakeside\nlakeside mountains\nlalafell\nlalisa manobal\nlalisa manoban of blackpink\nlama\nlama with dreadlocks\nlamb and goat fused as one\nlamb wearing a sweater\nlambda\nlambent lighting\nlamborghini\nlamborghini aventador photoshoot\nlamborghini countach\nlamellar armor\nlament\nlament configuration\nlamented\nlamia\nlaminal space\nlamp\nlamp  armchair\nlamp  fish tank\nlamp ( ( ( armchair ) ) ) )\nlamp ( ( ( fish tank ) ) ) )\nlamp ( ( ( gym ) ) ) )\nlamp ( ( ( mirror ) ) ) )\nlamp posts\nlamplight\nlampposts\nlamps\nlamps and flowers\nlamps on ground\nlan mcque\nlana del rey\nlana del rey and zoë kravitz\nlance\nlance reddick\nland\nland mines\nland of advanced races\nland of ruins\nland rover defender\nland rover defender 110 (1985)\nland rover defender 1101985\nlandcape\nlanded spaceship in background\nlandfill\nlanding gear\nlanding in epic space battle\nlanding lights\nlanding on the moon\nlandscape\nlandscape - scenery\nlandscape 35mm veduta photo\nlandscape 4k\nlandscape architecture photo\nlandscape art\nlandscape background\nlandscape composition\nlandscape from a car window\nlandscape illustration\nlandscape imagery\nlandscape in background\nlandscape is lush\nlandscape mode\nlandscape of a future city\nlandscape of africa\nlandscape of an alien world\nlandscape of apocalypse city\nlandscape of flat wastelands\nlandscape of geometric shapes\nlandscape of heaven\nlandscape oil painting\nlandscape painting\nlandscape perspective\nlandscape photo\nlandscape photo-imagery\nlandscape photo-reality\nlandscape photograph\nlandscape photography\nlandscape photography 4k\nlandscape scenery\nlandscape shot\nlandscape view\nlandscape vista\nlandscape vista photography\nlandscape wallpaper\nlandscape wide shot\nlandscape with red mountains\nlandscapes\nlandscapes: the joy of life\nlandslide road\nlandslides\nlane brown\nlangford's basilisk\nlangoliers\nlanguage\nlanguage learning logo\nlankhmar\nlanky\nlanscape\nlantern\nlantern candle\nlantern fly\nlantern light\nlantern light besides\nlanterns\nlanterns on the porch\nlaos\nlapel\nlapis lazuli\nlapis lazuli gradients\nlapland\nlaptop\nlaptops\nlaputa\nlaquer and steel\nlara croft\nlara croft as spiderwoman\nlara croft eating durian\nlara croft medieval\nlara croft relaxing\nlara stone\nlarapi\nlarge\nlarge alien eyes\nlarge and in charge\nlarge and tall\nlarge anime eyes\nlarge antennae\nlarge aquiline nose\nlarge aquiline nose!!\nlarge array\nlarge arrays\nlarge arrays data holograms\nlarge black eyes\nlarge black eyes!!!\nlarge black kettle on hearth\nlarge black smile\nlarge blue diamonds\nlarge blue engines\nlarge blue eyes\nlarge blue laser eyes\nlarge body\nlarge bokeh elements\nlarge bosum\nlarge brain in a vat\nlarge breasts\nlarge breasts size\nlarge brush\nlarge brush strokes\nlarge brushstrokes\nlarge bubble archaeologies\nlarge bushy eyebrows\nlarge bust\nlarge caliber sniper fire\nlarge cape\nlarge chain\nlarge chest\nlarge city\nlarge clouds\nlarge clouds visible\nlarge colorful images\nlarge comfy bed\nlarge commercial led screens\nlarge computer monitor\nlarge cornicione\nlarge couch\nlarge cracks\nlarge creatures in distance\nlarge creepy eyes\nlarge crowd\nlarge crowd of androids\nlarge crowds of peasants\nlarge crown\nlarge crown helmet\nlarge cute anime eyes\nlarge cyberarrays data holograms\nlarge dark eyes\nlarge dark gradients\nlarge depth of field\nlarge detailed moon\nlarge diagonal brush strokes\nlarge diamonds\nlarge dieselpunk flying airships\nlarge diffused glowing aura\nlarge diffused light\nlarge diorama\nlarge downslanted eyes\nlarge draped cloth\nlarge ears\nlarge eddies\nlarge electrical gold sparks\nlarge entirely - black eyes\nlarge entirely-black eyes\nlarge environment\nlarge exotic flowers\nlarge explosions\nlarge eyebrows\nlarge eyes\nlarge eyes and flowing long hair\nlarge eyes and menacing smile\nlarge eyes with visible pupils\nlarge fangs\nlarge film grain\nlarge fish eyes\nlarge fists\nlarge flames\nlarge flower head\nlarge forehead\nlarge format\nlarge format camera\nlarge format film\nlarge format film camera\nlarge format photograph\nlarge format picture\nlarge friendly eyes\nlarge front teeth\nlarge full lips\nlarge full mouth\nlarge futuristic residence\nlarge gaping mouth\nlarge gate\nlarge geometric shapes\nlarge glass ceilings\nlarge glass windows\nlarge glasses\nlarge globe\nlarge glowing eyes\nlarge glowing moon\nlarge green dragon\nlarge green eyes\nlarge green glass windows\nlarge grey eyes\nlarge group of crabs and worms\nlarge hadron collider\nlarge hall\nlarge happy eyes\nlarge head\nlarge highlights\nlarge hips\nlarge horned tail\nlarge horns\nlarge individual rose petals\nlarge intricate details\nlarge jars on shelves\nlarge jungle flowers\nlarge landscape with village\nlarge leaves\nlarge led lights\nlarge led screens\nlarge lightning storm\nlarge lips\nlarge long pointy teeth\nlarge magical trees\nlarge medium and small elements\nlarge messy hair style\nlarge metal jaw\nlarge modern residence\nlarge moon\nlarge moon in the sky\nlarge mosquito wings\nlarge motifs\nlarge mountain\nlarge mountains in back\nlarge mouth\nlarge mouth with teeth\nlarge muscles\nlarge nike logo\nlarge nose\nlarge noses\nlarge obsidian crystals\nlarge octoberfest invite card\nlarge opaque blossoms\nlarge opaque visor\nlarge open room\nlarge open windows\nlarge overhangs\nlarge painting\nlarge pants\nlarge pastel\nlarge patches of plain colours\nlarge path\nlarge patterns\nlarge piercing eyes\nlarge pillars\nlarge pipes\nlarge planet in the background\nlarge planets in the background\nlarge plants in the background\nlarge polygons\nlarge pore fungi embroidered\nlarge pores\nlarge portrait\nlarge potted plant\nlarge props\nlarge purple eyes\nlarge red eyes\nlarge red eyes!!!\nlarge robot\nlarge rocks\nlarge rocks with thick moss\nlarge rocky mountain\nlarge room\nlarge rose flower head\nlarge rose petals\nlarge round eyes\nlarge round window\nlarge scale\nlarge scale battle\nlarge scale photo\nlarge scale scene\nlarge screen\nlarge screens\nlarge sensor dslr photo\nlarge shell\nlarge shot\nlarge shoulders\nlarge sky\nlarge smile\nlarge stained glass windows\nlarge staircase\nlarge star crystals\nlarge stone statues of heroes\nlarge stones\nlarge strokes\nlarge sun in sky\nlarge sweet jars on shelves\nlarge sword\nlarge tail\nlarge tall\nlarge teeth\nlarge temples\nlarge terrarium\nlarge text\nlarge thighs\nlarge tongue\nlarge translucent art statues\nlarge tree\nlarge tree casting shadow\nlarge trees\nlarge triangular shapes\nlarge twin sunset\nlarge vertical blank spaces\nlarge view\nlarge viewscreens\nlarge vines\nlarge waves\nlarge waves crashing over it\nlarge waves hitting the cliff\nlarge white border\nlarge white clouds\nlarge white wings\nlarge window\nlarge windows\nlarge windows to forest at night\nlarge windows to french town\nlarge wings\nlarge wings on back\nlarge wingspan\nlarge xenomorph approaching\nlarge yellow eyes\nlarge!!!!!! eyeglasses!!!\nlarge)}]\nlarge-format photography\nlarge-scale\nlargeeyeglasses\nlargely biomechanical\nlarger than earth\nlarger than galaxies\nlarger than planets\nlarger than the planet\nlargest haunches ever\nlariennechan\nlarry david\nlarry david eating a sandwich\nlarry david playing poker\nlarry elmore : 0. 5\nlarry macdougall\nlarvae\nlarynx\nlas pozas\nlas vegas\nlas vegas at night\nlas vegas strip\nlasagna\nlascaux\nlascivious pose\nlaser\nlaser atomic microscope\nlaser beam\nlaser beam ; outdoor\nlaser beam eyes\nlaser beams\nlaser blasts\nlaser cannon\nlaser cut\nlaser cut textures\nlaser eye\nlaser eyes\nlaser fire\nlaser gun\nlaser guns\nlaser light\nlaser light *\nlaser light show\nlaser lighting\nlaser lights\nlaser lights background\nlaser point between the eyes\nlaser rifle\nlaser rifles\nlaser sharp\nlaser show\nlaser sights on weapons\nlaser sword\nlaser turret\nlaser weapons\nlaser wip\nlaserpunk\nlaserpunk fullbodysuit\nlasers\nlasers all over the scene\nlasers and explosions\nlasers and neon circuits\nlasers firing\nlasers for lights\nlasers in mid flight\nlasers shooting out of eyes\nlashes\nlasso\nlasso tool\nlast day on earth\nlast exile\nlast exile anime\nlast jedi\nlast light\nlast light on mountain top\nlast man standing\nlast of us\nlast photo\nlast photo ever taken\nlast selfie ever taken\nlast selfie on earth\nlast stand\nlast supper\nlast supper composition\nlast supper realistic robot\nlaszlo\nlat lighting\nlate - 4 0 s aged\nlate - 40 s aged\nlate 1 9 6 0's\nlate 1 9 th century\nlate 19 th century\nlate 2000s\nlate 2000’s\nlate 80's\nlate 80s\nlate 90s\nlate afternoon\nlate afternoon light\nlate afternoon lighting\nlate afternoon sun\nlate antiquity\nlate at night\nlate autumn\nlate baroque painting\nlate evening\nlate gothic religious paintings\nlate italian renaissance\nlate meiji period\nlate morning\nlate night\nlate night melancholic photo\nlate night raining\nlate summer evening\nlatent space\nlater confirm hyperrealism\nlateral view\nlatex\nlatex domme\nlatex dress\nlatex flesh and facial muscles\nlatex outfits\nlatex shiny\nlatex skin\nlatex suit and raincoat\nlathe\nlatin\nlatin writing\nlatina\nlatina skin\nlatinas\nlatino\nlatino american\nlatino features\nlatitude and longitude\nlatte art\nlattice\nlaugh\nlaugh lines\nlaughing\nlaughing alien face\nlaughing and joking\nlaughing and yelling\nlaughing bear musician\nlaughing emoji\nlaughing groom\nlaughing hysterically\nlaughing man\nlaughing maniacally\nlaughing menacingly\nlaughing out loud\nlaughing your head off\nlaughingstock\nlaughs\nlaughter\nlaughter and screaming face\nlaunch of a rocket\nlaunch test\nlaunch tracking missiles\nlaunching a straight ball\nlaunching to space\nlaundry hanging\nlaura letinsky and steve mccurry\nlaura palmer\nlaura sava\nlaura watson\nlaura zalenga\nlaure lipton\nlaurel wreath on his head\nlaurels of glory\nlaurent durieux\nlaurie\nlaurie greasely\nlaurie greasley\nlaurie greasley and james jean\nlaurie greasly\nlaurie lipton and michael whelan\nlauterbrunnen valley\nlava\nlava and fire goddess\nlava and smoke\nlava erupting\nlava field\nlava flowing\nlava flows\nlava in the background\nlava lamp\nlava lamps\nlava reflections\nlava river\nlava rivers\nlava rock\nlava streams\nlava texture\nlava waterfalls\nlava!!!\nlavander and yellow color scheme\nlavender\nlavender and pink eyes\nlavender blush\nlavender eyes\nlavender fields in full bloom\nlavender flowers\nlavender hair\nlavender plants\nlavish\nlavish rococo baroque setting\nlavishly decorated\nlavs flowing through the land\nlaw - alligned\nlaw aligned\nlaw contrasts\nlaw of thirds\nlawn\nlawns\nlawrence alma - tadema\nlawrence alma tadema\nlawrence of arabia\nlawther sit at table playing dnd\nlawyer\nlawyer clothing\nlawyer suit\nlayed on a red velvet fabric\nlayer upon layer\nlayered\nlayered composition\nlayered detailed\nlayered fog\nlayered impasto\nlayered paper\nlayered paper art\nlayered paper style\nlayered skirts\nlayered stratocumulus clouds\nlayered texture\nlayers\nlayers of architecture\nlayers of colorful reflections\nlayers of strata\nlayers on layers on layers\nlaying back on a pillow\nlaying back on the bed\nlaying down\nlaying down in the grass\nlaying down with wrists together\nlaying in bed\nlaying on a beach\nlaying on a bed\nlaying on beach\nlaying on her back\nlaying on her back on a bed\nlaying on roses\nlaying on sand\nlaying on the ground\nlaying on their back\nlaying teddy bear\nlaying under a tree on a farm\nlayout\nlayout design\nlayout frame\nlayout of map\nlazer blast\nlazers\nlazertag\nlazy\nlazy eye\nlazy eyes\nlblsck hair\nlcd screen\nldpe\nle corbeusier\nle corbusier\nlead - covered spire\nlead designer greg rutkowski\nlead guitar\nleader\nleader of fascist hungary\nleaders\nleading a battle\nleading lines\nleading spartans into battle\nleading to a beautiful\nleading to the sky\nleaf\nleaf green\nleaf hair\nleafs\nleafs falling\nleafy sea dragon\nleague of legend\nleague of legend illustration\nleague of legends\nleague of legends arcane\nleague of legends art\nleague of legends art style\nleague of legends champion\nleague of legends character\nleague of legends character art\nleague of legends concept art\nleague of legends inspired\nleague of legends inventory item\nleague of legends splash art\nleague of legends splash screen\nleague of legends splashart\nleague of legends splashscreen\nleague of legends style\nleague of legends style art\nleague of legends wallpapers\nleak\nleaked\nleaked footage\nleaked from nasa\nleaked image\nleaked photo\nleaking\nleaking oil\nleaking pistons\nleaks\nleaky make - up\nlean\nlean and muscular\nlean and toned\nlean body\nlean but muscular\nlean face\nlean man with light tan skin\nlean sleek styling\nleaning against the wall\nleaning against the window\nleaning on door\nleaning on the wall\nleaning towards watercolor\nleap of faith\nleaping\nleaping from babaob tree\nleaping into the air\nleaping towards viewer\nleaping with arms up\nlearning\nleather\nleather and suede\nleather apron\nleather armor\nleather armored\nleather armour\nleather belt\nleather body suit\nleather bomber jacket\nleather boots\nleather boots and cape\nleather bunny costume bodysuit\nleather clothes\nleather clothes under the armor\nleather clothing\nleather clothing and boots\nleather coat\nleather couch\nleather couches\nleather cuffs around wrists\nleather duffle coat\nleather fur jacket\nleather gloves\nleather hunting attire\nleather interior\nleather jacket\nleather jacket and denim jeans\nleather jacket and denim vest\nleather jackets\nleather jerkin\nleather jewelry\nleather padding\nleather pants\nleather pants  natural lighting\nleather pants with a belt\nleather pants | natural lighting\nleather pilots uniform\nleather pouch\nleather robes\nleather scifi armor\nleather shoes\nleather shoulder armor\nleather sofa\nleather stockings\nleather straps\nleather thigh-high boots\nleather top\nleather trench coat\nleather tunic\nleatherface\nleathery\nleave\nleaves\nleaves and magic\nleaves and simple cloth\nleaves and vines\nleaves as dollars!! glow\nleaves as dollarsglow\nleaves falling\nleaves foliage and stems\nleaves in foreground\nleaves in the air\nleaves on branches\nleaves trap\nleaves twigs wood\nleaving a room\nleaving for battle\nlebanon kirsten dunst\nleblanc\nlebron james\nlebron james as che guevara\nlebron james in gta v cover art\nlebron james solemn at tea party\nlecherous pose\nlecouffe deharme\nlecture halls and gambling dens\nled\nled - lit armor\nled color\nled detailed spacesuit\nled details\nled display\nled displays\nled effects\nled floodlights\nled gamers keyboard\nled gaming\nled glowing purple eyes\nled indicator\nled lamps\nled light\nled light accents\nled light strips\nled lighting\nled lighting effects\nled lights\nled lights around the place\nled purple eyes\nled screens\nled zeppelin\nledmund leighton\nleds\nleds horizon zero dawn machine\nleds visor helmet\nledspace\nlee bermejo\nlee bermejo and darwyn cooke\nlee brown coye\nlee conklin\nlee griggs\nlee griggs and jason chan\nlee ji - eun\nlee ji-eun\nlee kuan yew\nlee madgwick & liam wong\nlee madgwick & yuto yamada\nlee madgwick and hubert robert\nlee madgwick and zack snyder\nlee madgwick liam wong\nlee madgwick yuto yamada\nlee mccall\nlee miller\nleeloo\nleeloo outfit\nleering\nleesha hannigan\nleft\nleft - hand drive\nleft 4 dead\nleft 4 dead 2\nleft align\nleft align content\nleft behind\nleft ear\nleft eye red stripe\nleft eye stripe\nleft hand\nleft hand propping up the head\nleft profile\nleft right front back\nleft right symmetry\nleft trad\nleftlight\nleftover meat pie\nleg\nleg and hip shot\nleg and thigh shot\nleg high\nleg shot\nlegacy\nlegacy of kain soul reaver\nlegend\nlegend of korra\nlegend of korra setting\nlegend of the cryptids\nlegend of zelda\nlegendary\nlegendary armor\nlegendary cinematic\nlegendary dragon\nlegendary epic shot\nlegendary god holding spear\nlegendary item\nlegendary masterpiece\nlegendary space ship\nlegendary sword of technology\nlegendary warrior\nlegendery\nlegends\nlegends of runeterra\nlegends of tomorrow\nleggings\nleggins\nlegible text\nlego\nlego avatar\nlego batman movie color script\nlego character\nlego city\nlego mini figures\nlego minionic thor\nlego mixels\nlego movie still\nlego movie style\nlego set\nlego style\nlegolas\nlegolas as an elf ranger\nlegolas from lord of the rings\nlegos\nlegoshi from beastars\nlegs\nlegs and arms\nlegs crossed\nlegs intertwined\nlegs replaced with human legs\nlegs spread\nlegs stretched!!! intricate\nlegs taking your pov\nlegs visible\nlei jin\nlei min\nleica\nleica 1 0 0 mm f 0. 8\nleica 100 mm f 0. 8\nleica 35mm\nleica 5 0 mm f 1. 8 lens\nleica 50 mm f 1. 8 lens\nleica 8 5 mm\nleica 8 5 mm 1. 2 f\nleica 8k still from an a24 film\nleica iii\nleica lens high quality\nleica m - a\nleica m 6\nleica m 9\nleica m6\nleica m6 film camera\nleica m9\nleica noctilux\nleica s\nleica s photograph\nleica sl 2\nleica sl 2 3 0 mm\nleica sl 2 5 0 mm\nleica sl 2 5 0 mm b & w\nleica sl 2 technicolor\nleica sl 230mm\nleica sl 250 mm\nleica sl2 30mm\nleica sl2 35mm black and white\nleica sl2 50mm\nleica sl2 50mm hd\nleica sl230mm\nleica sl250mm\nleica summicron-t 23 mm f/2\nleica summilux 5 0 mm f / 1. 4\nleiji matsumoto\nleisure activities\nlemon\nlemon demon\nlemon slices float on the water\nlemon wearing sunglasses\nlemonade\nlemonlight\nlemons\nlemons on the ground\nlena oxton\nleng jun\nlengthwise\nleni robredo\nlenin\nlens\nlens 5 0 mm\nlens 50 mm\nlens blur\nlens distortion\nlens dust\nlens effect\nlens flair\nlens flare\nlens flare glow\nlens flare lighting\nlens flare photo real\nlens flare snow storm\nlens flare. occult photorealism\nlens flare. ominous\nlens flares\nlens flares. cinematic\nlens glare\nlens interoperability\nlens orbs\nlens zooming\nlensculture portrait awards\nlense flare\nlense flares\nlenses\nlensflare\nlensflares\nleon battista alberti\nleon francois comerre\nleon tukker\nleonard cohen\nleonard da vinci style\nleonard nimoy\nleonardo\nleonardo calamati\nleonardo da vinci\nleonardo da vinci anatomy study\nleonardo da vinci and raphael\nleonardo da vinci painting\nleonardo da vinci sketch\nleonardo da vinci style\nleonardo da vinci)\nleonardo davinci\nleonardo davinci detail\nleonardo dicaprio\nleonardo dicaprio meme\nleonardo dicaprio's face\nleonardo divinci\nleonardo fioravanti\nleonetto cappiello\nleonid\nleonid afremov and tim white\nleonora karrington\nleotard\nleotard and leg warmers\nlepra\nlerapi\nles catacombes\nles edwards poster art\nlesbian\nlesbian art\nlesbian embrace\nlesbian kiss\nlesbians\nleslie david and lisa frank\nleslie zhang\nless detailing\nless tentacles\nlet there be light\nlet's be friends\nlet's get dangerous\nlet's play\nlethal preservation\nlets be friends\nlets get dangerous\nlets get weird\nletter a\nletter s\nletterbox\nletterboxing\nlettering\nlettering clean\nletters\nlettuce\nlevel 1 plate armour\nlevel design\nlevel structure\nlevels\nlevers\nlevi ackerman\nleviathan\nleviathan cross\nleviathan cthulhu squid\nlevitan\nlevitating\nlevitating above the ground\nlevitating agricultural sphere\nlevitating citadel\nlevitating sand\nlevitating twin nuns\nlevitation\nlewandowski\nlewd\nlewis carrol\nlewis jones\nlexi belle\nleyedecker\nleyendecker\nleyendecker style\nlgbt\nlgbt art\nlgbt flag\nlgbtq\nli bingbing\nli zixin\nliam\nliam brazier\nliam brazier and nielly\nliam neeson\nliam neeson as burl gage\nliam neeson versus godzilla\nliana\nliana wrap two fantasy creatures\nlianas\nliang mark\nliang xing\nlianna\nliberation\nlibertas\nliberty curls\nliberty leading the people\nliberty statue sitdown pose\nlibra\nlibra symbol\nlibrarian\nlibrary\nlibrary background\nlibrary books\nlibrary in the style of baroque\nlibrary interior\nlibrary interior background\nlibrary nerd glasses\nlibrary of babel\nlibrary of congress\nlibrary of forever\nlibrary of ruina concept art\nlich\nlich demon mage class\nlich king\nlich vecna (d&d)\nlich vecna d&d\nlichen\nlichen macro\nlichens\nlichtenberg figure\nlicking\nlicking out\nlicking tongue\nlicorice allsort filling\nlie detector test\nlie on a golden stone\nlie on white clouds fairyland\nliege\nliepke\nlies\nlife\nlife after death\nlife after the plague\nlife and death\nlife and death mixing together\nlife cycle\nlife drawing\nlife is not what it used to be\nlife is strange\nlife like\nlife like face\nlife like plants\nlife magazine\nlife magazine photo\nlife magazine reportage photo\nlife meaning\nlife photography\nlife simulator game screenshot\nlife size\nlife story\nlife-like\nlife-size\nlife. america 2 0 9 8\nlife. america 2098\nlifeless\nlifelike\nlifelike attributes\nlifelike incredible hair\nlifelike reproduction in 8k\nlifelike texture\nlifelike. sci - fi\nlifestyle\nliflike\nlifted\nlifting weights\nlighning storm\nlight\nlight - brown wall\nlight - hearted\nlight above palace\nlight academia aesthetic\nlight and clouds\nlight and dark\nlight and darkness separated\nlight and medium values\nlight and shadow\nlight and shadow effects\nlight and shadows\nlight armor\nlight armour\nlight art\nlight at the end of the tunnel\nlight atmosphere\nlight background\nlight beam\nlight beams\nlight beams night\nlight beams with dust\nlight beard\nlight behind\nlight beige pillows\nlight being\nlight bends to him\nlight bends to it\nlight bleed\nlight blond hair\nlight blood spatter\nlight bloom\nlight bloom sunlight\nlight blue\nlight blue and white tones\nlight blue background\nlight blue clear sky\nlight blue colors\nlight blue dress portrait\nlight blue eyes\nlight blue filter\nlight blue hair\nlight blue mist\nlight blue pastel background\nlight blue piercing eyes\nlight blue robes\nlight blue skin\nlight blue sky\nlight blue sky with clouds\nlight blue water\nlight blues\nlight blur\nlight blush\nlight boho carpet\nlight borwn hair\nlight bown iris\nlight box\nlight brazen\nlight breaks through the roofs\nlight bronze brown hair\nlight brown\nlight brown background\nlight brown coat\nlight brown colors\nlight brown eyes\nlight brown fur\nlight brown hair\nlight brown hair blue eyes\nlight brown long wavy hair\nlight brown messy hair\nlight brown neat hair\nlight brown piercing eyes\nlight brown skin\nlight brown skin!\nlight brown trenchcoat\nlight bulb\nlight bulbs\nlight casting onto the ground\nlight caustics\nlight caustics effect\nlight charcoal drawing\nlight cinematic\nlight circles\nlight clothing\nlight cloud\nlight clouds\nlight color\nlight color palette\nlight colors\nlight colours\nlight coming from above\nlight coming from crt monitor\nlight coming from the entrance\nlight coming from the right side\nlight coming from the windows\nlight coming from windows\nlight coming in from the left\nlight coming off of the armor\nlight coming through\nlight coming through the window\nlight coming through window\nlight cone\nlight contrast\nlight cream and white colors\nlight cute freckles\nlight cyan\nlight dark\nlight dark long hair. apathetic\nlight diffraction\nlight diffusion\nlight disperions\nlight dispersion\nlight displacement\nlight dress\nlight dust\nlight effect\nlight effect. feminine\nlight effect. hyper detailed\nlight effect. modern fantasy\nlight effects\nlight emitting from fingertips\nlight entering through a blind\nlight eyes\nlight falling on face\nlight film grain\nlight fixtures\nlight fog\nlight fogged\nlight frame\nlight freckles\nlight from above\nlight from bottom\nlight from right\nlight from top\nlight from top right\nlight from window\nlight glare\nlight glow\nlight glowy yellow eyes\nlight gold armor\nlight gold hair\nlight gradient\nlight gray eyes\nlight gray long hair\nlight green\nlight green and deep blue mood\nlight green dress\nlight green eyes\nlight green mist\nlight green tone beautiful face\nlight greens and whites\nlight grey\nlight grey backdrop\nlight grey background\nlight grey blue and golden\nlight grey crown\nlight grey fur\nlight grey hair\nlight grey hoodie opened\nlight grey mist\nlight grey-blue eyes\nlight greyscale\nlight ground fog\nlight hair\nlight half opened dress\nlight halos\nlight haze\nlight holographic tones\nlight house\nlight illumination at sunset\nlight inside it\nlight inside the hut\nlight instead of hands\nlight intriguing piercing eyes\nlight iridescent color\nlight iridescent hair color\nlight is mine to travel\nlight kingdom backdrop\nlight language\nlight leak\nlight leaks\nlight leather armor\nlight light atmosphere\nlight lighting side view\nlight lines\nlight looping\nlight make up\nlight makeup\nlight makeup focus\nlight micrograph\nlight mist\nlight mode\nlight morning fog\nlight night\nlight novel cover art\nlight of god\nlight of hell\nlight of infinity\nlight of sin\nlight of sorrow\nlight of the gods\nlight on top\nlight orange mist\nlight orange values\nlight over boy\nlight paint\nlight painting\nlight particles\nlight particules\nlight pink\nlight pink background\nlight pink bikini\nlight pink clouds\nlight pink hair\nlight pink hair with pink flames\nlight pink lipstick\nlight pink mist\nlight pink tonalities\nlight platinum long blond hair\nlight prisms\nlight purple\nlight purple mist\nlight rain\nlight ray\nlight ray from a blurry window\nlight rays\nlight rays and shadows\nlight rays beaming through\nlight rays from above\nlight rays from the surface\nlight rays illuminate dust\nlight rays illuminating dust\nlight rays shining through\nlight rays. refraction\nlight red and deep blue mood\nlight red and deep orange mood\nlight red and orange mood\nlight red hair\nlight reflecting off windows\nlight reflection\nlight reflections\nlight reflexes\nlight refracting\nlight refracting through prisms\nlight refraction\nlight refractions\nlight room\nlight sabers\nlight scatter\nlight sensor\nlight separated from dark\nlight shadows\nlight shaft\nlight shafts\nlight shimmering\nlight shining\nlight shining through\nlight show\nlight simulation\nlight skin\nlight skin tone\nlight skinned african young girl\nlight smile\nlight smiling\nlight snow\nlight snowfall\nlight sorcerer\nlight source from the left\nlight source on left\nlight sparkles\nlight spatter of blood\nlight speed\nlight streaks\nlight streaks in the sky\nlight streams\nlight stubble\nlight stubble beard\nlight stubble with red shirt\nlight study\nlight tan\nlight through glass\nlight through the mist\nlight through windows\nlight toned\nlight traces\nlight tracing\nlight trail\nlight trails\nlight transport\nlight transport simulation\nlight water\nlight watercolour\nlight watercolour painting\nlight white background\nlight wind\nlight wood\nlight yagami\nlight yellow\nlight yellow hair\nlight-blue\nlight-blue eyes\nlight-blue steel-plate\nlight-brown skin\nlight-red lips\nlightbeam eyes\nlightbeams\nlightbeams shining through\nlightblue acrylic paintdrip tar\nlightbox\nlightbright\nlightbulb\nlightening\nlightening tree\nlighter brown hair\nlightgreen\nlighthearted\nlighthearted celebration\nlighthouse\nlighthouse in the desert\nlighting\nlighting 8k\nlighting and thunder\nlighting background\nlighting bolts\nlighting chiaroscuro\nlighting color scheme\nlighting eyes\nlighting from spotlights\nlighting her with a rim light\nlighting on concrete\nlighting path traced\nlighting refraction\nlighting study\nlighting. fantasy\nlightly dirty face\nlightly dressed\nlightly texural\nlightning\nlightning and rain\nlightning arc plasma\nlightning around\nlightning background\nlightning behind\nlightning beings\nlightning bolt\nlightning bolt scar on forehead\nlightning bolts\nlightning bursts\nlightning clouds\nlightning creating life\nlightning dragons attack\nlightning effects\nlightning electricity coil\nlightning eyes\nlightning fantasy magic\nlightning flashes\nlightning from above\nlightning halo\nlightning helmet\nlightning in a bottle\nlightning in background\nlightning in the background\nlightning in the distance\nlightning in the sky\nlightning mage spell icon\nlightning master\nlightning sparks\nlightning storm\nlightning storm background\nlightning storm hitting the car\nlightning storm in background\nlightning storms\nlightning strike\nlightning strikes\nlightning symbol\nlightning!!\nlightning!!!\nlightnings\nlightpainting\nlightpainting luminescent\nlightpainting motion blur\nlightrays\nlightroom\nlightroom hyperdetailed\nlightroom preset\nlights\nlights and shadows\nlights and smoke\nlights are on down the street\nlights are on in the windows\nlights beam\nlights beaming out of eyes\nlights caustic\nlights in distance\nlights in the dark\nlights in the night\nlights inside\nlights off\nlights on\nlights on ceiling\nlights through fog\nlights with bloom\nlightsaber\nlightsaber duel\nlightsaber katana\nlightsaber wallpaper 4 k\nlightsaber wallpaper 4k\nlightsabers\nlightshafts\nlightshafts and foggy atmosphere\nlightshow\nlightsome space\nlightspeed\nlightwave 3d\nlightweight\nlightweight armor\nlightweight armour\nlightweight but imposing\nlightweight leather armour\nlightyear ( film\nligjt trail\nligne claire\nligtt sword\nlike\nlike a catalog photograph\nlike a crown\nlike a cyberpunk workshop\nlike a professional model\nlike a scene from blade runner\nlike a scifi action movie\nlike a young god\nlike alice in wonderland\nlike andy lau\nlike anime\nlike artgerm\nlike bebop\nlike gorilla\nlike in museum\nlike ironman\nlike jiufen\nlike kyoto\nlike lady mechanika\nlike liangchao wei\nlike magic the gathering\nlike matrix\nlike peter tarka\nlike rolf armstrong style\nlike small pieces\nlike tears in rain time to die\nlil peep\nlil uzi vert\nlil wayne\nlilac\nlilac bushes\nlilac hair\nlilac sunrays\nlilacs\nliliana vess\nlilies\nlilies and daffodils\nlilith\nlillies\nlilly collins\nlilo and stitch\nlily\nlily allen\nlily collins\nlily flower\nlily flowers\nlily flowers. 8 k\nlily flowers. 8k\nlily frank\nlily pad\nlily pads\nlily petals\nlim chuan shin\nlimb mutations\nlimbo\nlimbo game\nlimbs\nlimbs made from vines\nlime\nlime and gold hue\nlime and violet\nlime green\nlimestone\nliminal\nliminal  diffusion\nliminal ( diffusion\nliminal aesthetic\nliminal bookshop\nliminal creepy\nliminal diffusion\nliminal eerie midnight backlit\nliminal highly detailed\nliminal space\nliminal space aesthetic\nliminal space hallway\nliminal space in outer space\nliminal space in outer space!!!\nliminal space photography\nliminal space retro\nliminal space style\nliminal spaces\nliminal spaces and environments\nliminalspaces\nlimit\nlimited color palette\nlimited colors\nlimited colour palette\nlimited concentration\nlimited edition\nlimited edition print\nlimited palette\nlimited time offer\nlimmy\nlimp bizkit performing in heaven\nlin hsiang\nlina\nlinda wilder\nlinden trees\nlindsay adler\nlindsey look\nline\nline - art\nline art\nline art - n 9\nline art colouring page\nline art illustration\nline art portrait\nline art!!\nline brush\nline dancing at a party\nline drawing\nline drawing tattoos\nline drawn\nline sketch\nline sketch!!\nline sleek\nline vector art\nline work\nline work concept art\nline-drawing\nlineage 2 revolution style\nlinear gamma\nlinear illustration\nlineart behance hd\nlined in cotton\nlined paper\nlined up horizontally\nlined with neon tube lights\nlineless\nlinen\nlinen canvas\nlines\nlines and movement\nlines and movement and motion\nlines of energy\nlines of lights\nlinework\nlingerie\nlingerie!!\nlingeries beauty\nlink\nlink from the legend of zelda\nlink from zelda\nlink from zelda using computer\nlink in a cave\nlink the movie\nlinkedin\nlinkin park\nlinn olofsdotter\nlino print\nlinocut\nlinocut art\nlinocut art print\nlinocut print\nlinocut print of fantasy forest\nlinocut wood block print\nlinsey levendall\nlinus from linustechtips\nlinus sebastian\nlinus tech tips\nlinux\nlinux mint\nlion\nlion body\nlion fish\nlion head\nlion icon\nlion in a meadow with hornbeam\nlion mane\nlion resting in the shade\nlion warrior\nlion with crown\nlion's gate\nlion's mane\nlionardo davinchi\nlionel messi\nlionel messi as a muppet\nlionel messi portrait\nlioness\nlions\nlions mane\nliosh\nlip scar\nlipgloss\nlipkin\nlips\nlips of megan fox\nlips on cigarette\nlips slightly parted\nlips wide parted\nlipstick\nliquid\nliquid acrylic painting\nliquid cat\nliquid clouds\nliquid cooled\nliquid cooled desktop\nliquid cooling\nliquid fire\nliquid glass\nliquid glowing aura\nliquid glue spots\nliquid gold\nliquid golden and black fluid\nliquid hands and feet spinning\nliquid headdress\nliquid high glossy\nliquid interface\nliquid light\nliquid magic\nliquid marble fluid painting\nliquid metal\nliquid oilpaint\nliquid painting\nliquid physics\nliquid polished metal\nliquid refraction\nliquid sculpture\nliquid shadows engulf\nliquid simulation\nliquid simulation background\nliquid smoke\nliquid smoke twisting\nliquid that has a viscous\nliquid translucent amber\nliquid wax\nliquids\nliquified\nlisa\nlisa - frank\nlisa ann\nlisa brawn\nlisa frank & sho murase\nlisa frank and stephen gammell\nlisa frank sho murase\nlisa frank style\nlisa kristine\nlisa parker\nlisa simpson wearing braces\nlisbon\nlisbon city at night\nlist\nlistening to godly music\nlistening to music\nlistening to music at 2 am\nlisting image\nlit candles\nlit from above\nlit from behind\nlit from below\nlit from below with red lighting\nlit from bottom\nlit from the side\nlit in a dawn light\nlit up\nlit up in a dark room\nlit windows\nlit with candles\nlit. 'honored ka'bah')\nlit. 'the cube'\nlit. honored kabah\nlit. the cube\nlita cabellut\nlithe\nlithe woman\nlithograph\nlithograph engraving\nlithograph print\nlithographic print\nlithographics\nlithography\nlithoraph engraving\nlitrpg novel cover\nlitter\nlittered\nlittered with garbage\nlittle\nlittle angry girl with blue hair\nlittle bo peep\nlittle boy\nlittle boy wearing nun outfit\nlittle brother\nlittle cottage\nlittle detail\nlittle elf girl\nlittle elf tomboy\nlittle fog\nlittle girl\nlittle girl meets robot\nlittle girl with blue hair\nlittle girl with magical powers\nlittle kid\nlittle light\nlittle mermaid\nlittle mermaid magical kingdom\nlittle nightmares\nlittle people\nlittle people!!!\nlittle planet\nlittle red riding hood\nlittle remaining\nlittle shy smile\nlittle smile\nlittle windows\nlittle witch academia\nlittlefoot\nliv tyler\nlive\nlive - action\nlive 1 9 8 6\nlive 3hr festival videoclip\nlive action\nlive action children's tv show\nlive action childrens tv show\nlive action film\nlive action movie\nlive at lollapalooza\nlive broadcast\nlive colors\nlive concert\nlive concert lighting\nlive concert of beyonce\nlive concert photography\nlive footage\nlive in concert\nlive on stage\nlive performance\nlive-action\nlive-action adaptation\nlive-action archival footage\nlive-action john waters film\nlive2d\nlive2d virtual youtuber model\nlived in\nlively\nlively atmospheric\nlively colors\nlively irregular edges\nlively perspective\nliverpool football club\nlivia prima\nlivid colors\nliving\nliving flora\nliving food adorable pancake\nliving in the database!!!\nliving nature\nliving planet\nliving room\nliving room background\nliving room interior\nliving room interior design\nliving room vibe\nliving room wall background\nliving room with split levels\nliving spore microorganisms\nliving the good life\nliving tree\nliz truss\nlizard\nlizard head\nlizard king / queen forgiveing\nlizard legs\nlizard on ground\nlizard person\nlizard pose\nlizard skin\nlizard tail\nlizard tongue\nlizardfolk\nlizardlike tongue\nlizardman\nlizardman art\nlizardman thief\nlizardman warrior concept\nlizards\nlizzo\nllama\nllama all the way\nllama angel of sunrise\nllama anthro portrait\nllama head\nllama portrait\nllama with dreadlocks\nllustration\nlo - fi\nlo - fi colors\nlo fi\nlo fi colors\nlo-fi\nlo-fi art\nlo-fi illustration style\nlo-fi retro videogame\nloading screen\nloading screen. 8k resolution\nloadscreen\nloadscreen”\nloaves\nloba andrade from apex legends\nlobelia\nlobo\nlobotomy of a beautiful woman\nlobster\nlobster themed armour\nlocal bar\nlocal close up\nlocal conspirologist\nlocal foods\nlocal gym\nlocal heroes\nlocal illumination\nlocal people chasing to attack\nlocated in a castle\nlocated in a swamp at sunrise\nlocated in a wizard's shop\nlocated in hajibektash complex\nlocation  chicago  alley\nlocation  favela _ wall\nlocation ( favela )\nlocation ( favela _ wall )\nlocation [ chicago ( alley ) ]\nlocation in a apartment\nlocation is inside the tardis\nlocation of a dark old house\nloch ness monster\nlock\nlock and load\nlockbox\nlocker room\nlockers\nlockheed concept art\nlocklegion\nlockpicks and pile of gold\nlocomotive\nlocusts and flies\nlodoss\nlofi\nlofi aesthetic\nlofi album art\nlofi art\nlofi artstyle\nlofi bioshock steampunk portrait\nlofi colors\nlofi feel\nlofi girl\nlofi girl aesthetic\nlofi hip hop\nlofi portrait\nlofi portrait at a window\nlofi steampunk bioshock portrait\nlofi technology\nlofi vibe\nlofi vibes\nloftis\nlofty heavens\nlog cabin\nlog cabin beneath the alps\nlog homes\nlog houses built on hills\nlogan\nlogan cure\nlogan's run\nlogical anatomy\nlogo\nlogo art\nlogo concept design\nlogo design\nlogo for a social network\nlogo for lunch delivery\nlogo for research lab\nlogo graphic design\nlogo has\nlogo has”\nlogo in abstract style\nlogo of a cat field clinic\nlogo style\nlogo vector art\nlogo without text\nlogopond\nlogos\nlogotype\nlogotype design\nlogo”\nloin cloth\nloincloth\nlois greenfield\nlois van baarle and bouguereau\nlois van baarle and rossdraws\nlois van rossdraws\nloish\nloish and clamp style\nloish and goro fujita\nloish and ross tran\nloish and wlop\nloish art style\nloish van baarle\nloish |\nlokah samastah sukhino bhavantu\nloki\nloki horns\nloki portrait\nloki's pet project\nlokis pet project\nlol\nlol style\nlola bunny fanart\nlola dupre\nloli\nloli in dress\nlolish\nlolita\nlolita fashion\nlolita style\nlollipop\nlollipops\nlolth\nlomo\nlomo effect\nlomo photograph\nlomo saltado\nlomography\nlomography effect\nlomography lady grey\nlomography photo\nlomography photo effect\nlondon\nlondon architecture\nlondon at night\nlondon big ben at background\nlondon bus\nlondon cemetery\nlondon eye\nlondon fashion week\nlondon gang member\nlondon south bank\nlondon streets in background\nlondon underground tube station\nlone female\nlone girl waiting for the train\nlone industrial!!! spaceship!!\nlone industrialspaceship\nlone person in the distance\nlone petite female goddess\nlone ranger\nlone silhouette in the distance\nlone survivor\nlone wolf\nloneliness\nlonely\nlonely and sad\nlonely astronaut\nlonely atmosphere\nlonely family\nlonely human walking\nlonely landscape\nlonely rider\nlonely scenery yet peaceful!!\nlonely tree\nlonely vibe\nlonely!! stop light glowing\nloner\nlonesome\nlong\nlong - haired chihuahua\nlong - haired siberian cat\nlong - shot\nlong - tailed tuxedo coat\nlong afro hair\nlong and orange mustache\nlong antennae\nlong arm\nlong arms\nlong ashy hair\nlong ashy hair | gentle lighting\nlong auburn hair\nlong azure blue hair\nlong bangs\nlong beach background\nlong beard\nlong beautiful flowing kimono\nlong black beard\nlong black braided hair\nlong black braids\nlong black crown\nlong black curly hair\nlong black hair\nlong black hair in a ponytail\nlong black hair with bangs\nlong black jacket\nlong black ponytail\nlong black shiny hair\nlong black straight hair\nlong blond braided hair\nlong blond drill curls\nlong blond hair\nlong blonde flaming hair\nlong blonde hair\nlong blonde hair and big eyes\nlong blonde hair and blue eyes\nlong blonde hair and large eyes\nlong blonde or red hair\nlong blue cape\nlong blue dress\nlong blue hair\nlong blue-cape\nlong bob cut\nlong bob hair\nlong boi\nlong boney limbs\nlong bow and arrows\nlong braided ash blonde hair\nlong braided black hair\nlong braided blond hair\nlong braided blue hair\nlong braided curly blonde hair\nlong braided curly brown hair\nlong braided curly hair\nlong braided curly silver hair\nlong braided green hair\nlong braided hair\nlong braided hair on top of head\nlong braided hair pulled back\nlong braided orange red hair\nlong braided purple hair\nlong braided silver hair\nlong braided teal hair\nlong braided viking beard\nlong braided white hair\nlong braids\nlong bronze brown hair\nlong brown beard\nlong brown hair\nlong brown puffy curly hair\nlong brown wavy hair\nlong brunette hair\nlong brush strokes\nlong bubblegum hair\nlong cape\nlong cast shadows\nlong chin\nlong cinematic shot\nlong claws\nlong cloak\nlong cloths red like silk\nlong coat\nlong coffee brown hair\nlong cornrows\nlong coyote like ears\nlong crimson hair\nlong crooked nose\nlong curl hair\nlong curl red hair\nlong curly black hair\nlong curly blond hair\nlong curly blonde hair\nlong curly brown hair\nlong curly fur\nlong curly green hair\nlong curly hair\nlong curly hair intricate\nlong curly light blond hair\nlong curvy black hair\nlong curvy hair\nlong cyan hair\nlong dark braided hair\nlong dark curly hair\nlong dark hair\nlong dark hair with bangs\nlong dark hairs\nlong dark hallway\nlong dark purple hair\nlong dark red hair\nlong dark shadows\nlong dark tattered umbra\nlong detailed ornate scythe\nlong distance\nlong distance photo\nlong distance shooting\nlong distance shot\nlong dreadlocks\nlong dress\nlong dress female\nlong dress with apron\nlong earrings\nlong ears\nlong elegant tail\nlong elegant tail behind\nlong elf ears\nlong exposure\nlong exposure 8 k\nlong exposure 8k\nlong exposure ; sharp focus\nlong exposure outside the city\nlong exposure photo\nlong exposure photograph\nlong exposure photography\nlong exposure shot\nlong exposure time\nlong eyelashes\nlong eyeslashes\nlong face\nlong fan blown dark reddish hair\nlong fangs\nlong fine flowing hair\nlong fine hair\nlong fingernails\nlong fingers\nlong fire hair\nlong flat hair\nlong flowing black hair\nlong flowing blue hair\nlong flowing braided hair\nlong flowing brown hair\nlong flowing cape and cowl\nlong flowing dark hair\nlong flowing fabric\nlong flowing fins\nlong flowing hair\nlong flowing hair underwater\nlong flowing intricate dress\nlong flowing medusa hair\nlong flowing pink hair\nlong flowing red hair\nlong flowing white hair\nlong flowing white robe\nlong flowy hair\nlong fluffy blond curly hair\nlong fluffy curly blond hair\nlong fluffy fur\nlong fluffy hair\nlong focal\nlong focal length\nlong free black straight hair\nlong front end\nlong full body shot\nlong fur\nlong ginger hair\nlong ginger hair windy\nlong glowing colourful hair\nlong glowing ethereal hair\nlong glowing hair\nlong glowing red hair\nlong goatee beard\nlong golden hair\nlong gown\nlong grass\nlong grass in the foreground\nlong green hair\nlong grey beard\nlong grey hair\nlong hair\nlong hair and red shirt\nlong hair blowing in the wind\nlong hair blue centred\nlong hair centred\nlong hair girl\nlong hair shawl\nlong hair straight down\nlong hair windy\nlong hair with a ponytail\nlong hair with bangs\nlong hair with full bangs\nlong hair with pastel colors\nlong hair ， full color\nlong hair!!!!\nlong haircut\nlong haired humanoid fursona\nlong hairs\nlong hairstyle\nlong hall way\nlong hallway\nlong highway\nlong hook nose\nlong horns\nlong lashes\nlong legs\nlong length slick white hair\nlong lens\nlong light bronze brown hair\nlong light pink hair\nlong light platinum blonde hair\nlong light purple hair\nlong light red hair\nlong limbs\nlong line-up of suspects\nlong long flowing hair\nlong loose red hair\nlong lost technology\nlong luxurious blond hair\nlong luxurious flowing gown\nlong luxurious gown\nlong luxurious intricate gown\nlong luxurious light blond hair\nlong magenta haire\nlong mane\nlong messy curly hair\nlong messy hair\nlong metal spikes\nlong metallic hair\nlong muzzle\nlong nails\nlong neck\nlong necks\nlong night cap\nlong nose\nlong open black mouth\nlong orange hair\nlong orange hair floating on air\nlong orange sweatshirt\nlong paint brush strokes\nlong perspective\nlong petals\nlong pigtail\nlong pink hair\nlong platinum hair\nlong pointy ears\nlong pointy pink nose\nlong ponytail\nlong purple hair\nlong rabbit ears\nlong range\nlong raven hair\nlong red cape\nlong red hair\nlong red hair white streak hair\nlong road\nlong shadow\nlong shadows\nlong shaggy blonde hair\nlong shaggy hair\nlong shaggy red hair\nlong shaggy-haired rocker\nlong sharp teeth\nlong shiny bronze brown hair\nlong shiny hair\nlong shirt\nlong shot\nlong shot angle\nlong shot dramatic lighting\nlong shot from back\nlong shot from the back\nlong shot jorogumo\nlong shot kodak portra 4 0 0\nlong shot kodak portra 400\nlong shot photography\nlong shot view\nlong shot wide shot full shot\nlong shutter speed\nlong silver hair\nlong silver hair purple tips\nlong silver hair with a flower\nlong skirt\nlong sleek tail behind\nlong sleeve\nlong sleeves\nlong snout\nlong spider paws\nlong spikes\nlong spiky fluffy smooth hair\nlong spiky hair\nlong spiky pink hair\nlong straight bangs\nlong straight beautiful hair\nlong straight black hair\nlong straight blonde hair\nlong straight golden hair\nlong straight green black hair\nlong straight hair\nlong straight red hair\nlong straight silver hair\nlong strawberry - blond hair\nlong street\nlong swept back blond hair\nlong swirly dark hair\nlong sword\nlong sword in her hand\nlong table\nlong tail\nlong tail with horns\nlong tails\nlong thick grass\nlong thick shiny black beak\nlong thick shiny gold beak\nlong thin black hair\nlong thin legs\nlong tie\nlong tongue\nlong torn red cape\nlong trippy hair\nlong trunk holding a wand\nlong tunic\nlong twirling moustache\nlong unkempt beard\nlong view\nlong vines\nlong violet and green trees\nlong violet hair\nlong wavy auburn hair\nlong wavy black hair\nlong wavy blond hair\nlong wavy blonde hair\nlong wavy brown hair\nlong wavy brunette hair\nlong wavy dark hair\nlong wavy fur\nlong wavy hair\nlong wavy orange hair\nlong wavy purple hair\nlong wavy red hair\nlong wavy white hair\nlong weasel\nlong weaving brown hair\nlong white beard\nlong white cape\nlong white cloak\nlong white dress\nlong white hair\nlong white hair and bangs\nlong white hair and beard\nlong white hair and white beard\nlong white hair!!!\nlong white mane\nlong wild black curly hair\nlong wild spiky hair\nlong windblown black hair\nlong winding stairs going down\nlong windy hair style\nlong wings\nlong wispy tentacles\nlong yellow hair\nlong-arms\nlong-range shots\nlong-shot\nlongbow\nlongbow arrow\nlongbows\nlongcoat\nlonger blond hair\nlonger eyebrows\nlonger hair\nlonghouse\nlonging\nlongque chen\nlongshot\nlongspear\nlongsword\nlook\nlook at all that detail\nlook at all that detail!\nlook at me\nlook at that detail\nlook at that detail!\nlook at the details\nlook at the front horizontally\nlook down a cellar staircase\nlook into the distance\nlook like model\nlook like someone is dancing\nlook me inside of my eyes\nlook of desire\nlook of hate\nlook twice\nlook what you have done\nlookalike\nlookbook\nlooked at big window\nlooking across the shoulder\nlooking angry\nlooking around a corner\nlooking at bloody fist\nlooking at camera\nlooking at camera!!!\nlooking at each other mindlessly\nlooking at his phone\nlooking at it rewards the soul\nlooking at monitor\nlooking at porthole window\nlooking at spaceships at dock\nlooking at sunset\nlooking at the camera\nlooking at the ceiling\nlooking at the city\nlooking at the full moon\nlooking at the ground\nlooking at the moon\nlooking at the mountains\nlooking at the ocean\nlooking at the sky\nlooking at the stars\nlooking at the treasure box\nlooking at the viewer\nlooking at us from a porthole\nlooking at viewer\nlooking at you\nlooking away\nlooking away from camera\nlooking away from the camera\nlooking away from viewer\nlooking back at the camera\nlooking backwards\nlooking confident\nlooking confused\nlooking content\nlooking cute\nlooking defiantly at the camera\nlooking directly at the camera\nlooking directly at the viewer\nlooking distracted\nlooking distracted and awkward\nlooking down\nlooking down a cliff\nlooking down at a massive crater\nlooking down at the forest floor\nlooking down at the valley\nlooking down at you\nlooking down from above\nlooking down on the camera\nlooking down on the view\nlooking down road\nlooking down street\nlooking downwards\nlooking exhausted\nlooking far\nlooking for clues\nlooking forward\nlooking from behind\nlooking from shoulder\nlooking from side\nlooking from side and bottom\nlooking from side and bottom!\nlooking from side!\nlooking from slightly below\nlooking frontal view\nlooking furious\nlooking happy\nlooking heckin cool and stylish\nlooking her shoulder\nlooking heroic\nlooking hot\nlooking in a mirror\nlooking in front\nlooking in mirror\nlooking in mirror at older self\nlooking in the mirror\nlooking in the window\nlooking intensely at the camera\nlooking into a mirror\nlooking into a mysterious cave\nlooking into camera\nlooking into the camera\nlooking into the distance\nlooking into the flames\nlooking into the horizon\nlooking left\nlooking like a bird\nlooking like annie leonhart\nlooking majestic in forest\nlooking melancholy\nlooking menacing\nlooking nostalgic\nlooking off into the distance\nlooking off into the sunset\nlooking off to the side\nlooking old\nlooking onto the horizon\nlooking out\nlooking out a window\nlooking out at a pink ocean\nlooking out at a red ocean\nlooking out at a sunset\nlooking out at the ocean\nlooking out into space\nlooking out into the cosmos\nlooking out of the window\nlooking out open window\nlooking out over the sea\nlooking out the window\nlooking out window\nlooking outside\nlooking over city\nlooking over west virginia\nlooking partly to the left\nlooking rabid\nlooking regal and classic\nlooking sad\nlooking scared\nlooking seductive\nlooking serious\nlooking sideway\nlooking sideways\nlooking smart\nlooking smug\nlooking straight\nlooking straight ahead\nlooking straight forward\nlooking straight into camera\nlooking straight into the camera\nlooking straight to camera\nlooking straight to the camera\nlooking surprised\nlooking the camera\nlooking this way\nlooking threatening\nlooking through a portal\nlooking through a window frame\nlooking through frosted glass\nlooking tired\nlooking to camera\nlooking to his left\nlooking to his side\nlooking to stars\nlooking to the camera\nlooking to the right\nlooking to the side\nlooking to the side off camera\nlooking to the sky\nlooking towards camera\nlooking towards the camera\nlooking towards the horizon\nlooking up\nlooking up at camera\nlooking up at the camera\nlooking up at the stars\nlooking up into the sky\nlooking up onto the sky\nlooking up perspective\nlooking up to the sky\nlooking up. poppies\nlooking upward\nlooking upwards\nlookout tower\nlooks a bit similar to amy adams\nlooks a blend of grimes\nlooks at the big explosion\nlooks at the camera\nlooks at the nuclear explosion\nlooks different\nlooks directly at camera\nlooks like a mix of grimes\nlooks like a tree silhouette\nlooks like audrey hepburn\nlooks like britney spears\nlooks like christina ricci\nlooks like domhnall gleeson\nlooks like ebru şahin\nlooks like fabiula nascimento\nlooks like jerma985\nlooks like laura barriales\nlooks like varicose veins\nlooks like young liv tyler\nlooks photorealistic\nlooks realistic\nlooks sad and solemn\nlooks smart\nloom\nlooming\nlooming creature with a long\nlooming drone\nlooming head\nlooming over a city\nlooming over a horde of gold\nlooming over ant pov\nlooming over earth\nlooming over earth in space\nlooming over the earth\nlooming over you\nlooming surreal sky\nlooming trees\nloomis\nlooney tunes\nloong\nloony toons\nloony toons style\nloony tunes style\nloop lighting\nlooper artifacts\nlooping\nloose\nloose - fitting blouses\nloose braided hair\nloose brush strokes\nloose coat collar sailor uniform\nloose fantasy clothing\nloose gestural painterly\nloose linework\nloose messy hair\nloose pages\nloose papers\nloose pencil sketch\nloose watercolor drawing\nloose white braid\nloose wires\nloosely cropped\nloosely cross hatched\nloosely detailed\nloosely drawn\nloot\nloot box\nloot of books\nloots of clouds\nlop eared\nloputyn and matcha\nlorax movie\nlord\nlord from hell on the throne\nlord loss\nlord of beasts\nlord of change\nlord of cinder\nlord of daggers\nlord of regeneration\nlord of the hambone\nlord of the jungle\nlord of the ring\nlord of the ring art\nlord of the rings\nlord of the rings aesthetic\nlord of the rings artifacts\nlord of the rings calendar\nlord of the rings concept art\nlord of the rings map\nlord of the rings movie\nlord of the rings movie poster\nlord of the rings style\nlord shiva\nlorde\nloreal\nlorem ipsum dolor sit amet\nlorena avarez\nlorenzo ghiberti\nlorenzo lanfranconi\nlorenzo vitturi\nloreta lux\nlori earley\nlorica segmentata\nlorica segmentum\nlos angeles\nlos angeles 2 0 1 5\nlos angeles at night\nlos angeles ca\nlos angelos\nlos carpinteros\nloser\nlosing control\nlosing control over one's life\nlosing control over ones life\nlosing feathers\nloss\nloss and despair\nloss comic\nloss in despair\nloss of control\nloss of molecular cohesion\nlossless\nlossless quality\nlost\nlost boys\nlost city\nlost city of atlantis\nlost civilizations\nlost edges\nlost footage\nlost grimoire\nlost highway\nlost in a cave\nlost in a dreamy fairy landscape\nlost in a forest\nlost in a lucid dream\nlost in code\nlost in despair\nlost in static\nlost in the forest\nlost in the immensity of space\nlost in the milky void\nlost in the moment\nlost in the void\nlost in thought\nlost look\nlost photo\nlost photograph\nlost place photo\nlost runes\nlost series\nlost souls\nlost souls searching for nothing\nlost temple\nlost world\nlost world pyramid\nlostfish\nlostus flowers\nlot of detail\nlot of details\nlot of exotic vegetation\nlot of foam\nlot of trees\nlot of vegetation\nlothlorien\nlothlorien at night\nlotr\nlotr )\nlotr fanart\nlotr of style\nlotr style\nlotr)\nlots blue colours\nlots de details\nlots of 3 d cyborg elements\nlots of beakers\nlots of blood\nlots of books\nlots of bridges\nlots of bubbles\nlots of building\nlots of buildings\nlots of cables and neon signs\nlots of cables and wiring\nlots of candles\nlots of colors\nlots of cotton plants\nlots of cymbals\nlots of decoration and furniture\nlots of detail\nlots of details\nlots of diamonds unearthed\nlots of dices everywere\nlots of dreadlocks on the head\nlots of elements\nlots of embers\nlots of fire\nlots of flames\nlots of flowers\nlots of flying cars\nlots of foliage\nlots of fur\nlots of furniture\nlots of glass details\nlots of hanging cables and wires\nlots of jars and boxes of herbs\nlots of leaves\nlots of light\nlots of lights\nlots of little daisies\nlots of macaroni! over a desk\nlots of makeup\nlots of mozzarella balls\nlots of mud puddles and craters\nlots of negative space\nlots of negative space”\nlots of oak and olive trees\nlots of ocean\nlots of particles\nlots of pastel colour\nlots of people\nlots of pictures\nlots of plants\nlots of plants and flowers\nlots of raindrops\nlots of reflective surfaces\nlots of roman arches\nlots of sakura flowers\nlots of shops\nlots of signs\nlots of signs and shops\nlots of smoke\nlots of snakes\nlots of space\nlots of stars\nlots of steam and sparks\nlots of sunlight\nlots of swirling\nlots of trees\nlots of vegetation\nlots of weapon\nlots of weird alien plants\nlots of white cotton\nlots of windows\nlots of wires\nlots of wrinkles\nlotus\nlotus floral crown girl\nlotus flower\nlotus flowers\nlotus flowers on the water\nlotus mandala\nlotus petals\nlotus pond\nlotus pose\nlotuses\nlotz karoly\nlou\nlou romano color scheme\nloud\nloud colors\nloud music\nlouis dupre\nlouis icart\nlouis kahn\nlouis royo\nlouis sullivan\nlouis vuitton\nlouis vuitton suit\nlouis william wain\nlouis william wain watercolor\nlouis xiv\nlouise dalh - wolfe\nlouise zhang\nlouisiana\nlouisiana swamps\nloundraw\nlounge\nlounge background\nlounge furniture\nlounge room\nlounging on expensive sofa\nlourmarin\nlouvre\nlouvre catalogue photography\nlouvre collection\nlouvre contest winner\nlouvre museum\nlovable and furry\nlove\nlove and belonging\nlove and death\nlove and mercy\nlove art\nlove at first sight\nlove craft\nlove craftian\nlove death + robots\nlove death and robots\nlove death robot\nlove hate love\nlove in motion\nlove interest\nlove is begin of all\nlove is infinity\nlove is the most relevant theme\nlove moive\nlove of wisdom\nlove os begin of all\nlove peace and unity\nlove scene\nlove story\nlove theme\nloveable guy\nlovecraft art\nlovecraft country\nlovecraft eldritch horror\nlovecraft horror\nlovecraft illustration\nlovecraft mythos\nlovecraft style\nlovecraftian\nlovecraftian atmosphere\nlovecraftian background\nlovecraftian cosmic fear\nlovecraftian creature\nlovecraftian eldritch horror\nlovecraftian hellscape\nlovecraftian horror\nlovecraftian horror!\nlovecraftian horror!!\nlovecraftian horrors\nlovecraftian inspiration\nlovecraftian landscape\nlovecraftian monster\nlovecraftian nightmare\nlovecraftian sea creature\nlovecraftian style\nlovecratftian horror\nlovecratian\nlovely\nlovely and cute\nlovely and symmetrical face\nlovely bohemian princess\nlovely bokeh\nlovely brigitte from overwatch\nlovely colors\nlovely couple\nlovely dark autumn princess\nlovely delicate face\nlovely detailed faces\nlovely eyes\nlovely green eyes\nlovely kiss\nlovely languid princess\nlovely pastel colors\nlovely queen\nlovely smile\nlovely valley\nlovely woman\nlovercraft\nlovern kindzierski\nlovers\nlovers eat\nlovers melting into bed\nloverslab\nloving\nloving amber eyes\nloving athmosphere\nloving embrace\nloving eyes\nloving stare\nlovingly looking at camera\nlow\nlow - angle\nlow - angle go - pro view\nlow - angle shot\nlow - angle shot from behind\nlow - key light\nlow - key lighting\nlow - key studio lighting\nlow - level view\nlow - light photograph\nlow - light photography\nlow - lighting\nlow - poly\nlow - poly 3 d model\nlow - poly 3d model\nlow - poly aliased\nlow - poly hands\nlow - relief stone sculpture\nlow angel\nlow angle\nlow angle 8k hd nature photo\nlow angle camera\nlow angle camera view\nlow angle dimetric composition\nlow angle dimetric rendering\nlow angle facing sky\nlow angle fish eye lens\nlow angle fisheye view\nlow angle looking up\nlow angle mist\nlow angle perspective\nlow angle photo\nlow angle photograph\nlow angle photography\nlow angle shot\nlow angle uhd 8 k\nlow angle uhd 8k\nlow angle view\nlow angle wide shot\nlow angle!!!!\nlow aperature\nlow aperture\nlow aperture street level\nlow brightness\nlow brow\nlow budget\nlow camera\nlow camera angle\nlow camera angle at water level\nlow camera position\nlow ceiling\nlow cinematic lighting\nlow clouds after rain\nlow colour\nlow contrast\nlow cut dress\nlow cut top\nlow dark light\nlow definition\nlow density\nlow depth field\nlow depth field effect\nlow depth of field\nlow detail\nlow detailed\nlow detailed. digital painting\nlow details\nlow details and clean lines\nlow dof\nlow dutch angle\nlow effort graffiti\nlow energy\nlow exposure\nlow fantasy\nlow fat levels\nlow fi\nlow fidelity\nlow field of view\nlow focal point\nlow fog\nlow fog layer\nlow gamma\nlow global light\nlow grain film\nlow horizon\nlow iso\nlow key\nlow key color palette\nlow key dramatic lighting\nlow key light\nlow key lighting\nlow key lights\nlow key oil painting\nlow level\nlow level view\nlow light\nlow light cinematic\nlow light museum\nlow light photography\nlow light room\nlow lighting\nlow lightning\nlow lights\nlow mood\nlow noise\nlow perspective\nlow point of view\nlow poly\nlow poly 3 d\nlow poly 3 d render\nlow poly 3d model\nlow poly 3d render\nlow poly art\nlow poly character\nlow poly graphics\nlow poly model\nlow poly outlines\nlow poly render\nlow poly style\nlow poly vector illustration\nlow polygon\nlow polygon effect\nlow polygons illustration\nlow pov\nlow pressure system\nlow profile\nlow purple flame\nlow quality\nlow quality 3d model\nlow quality footage\nlow quality grainy\nlow quality instant camera photo\nlow quality photo\nlow quality photograph\nlow quality print\nlow quality sharpened graphics\nlow quality video\nlow res\nlow resolution\nlow resolution sync\nlow saturated\nlow saturated colors\nlow saturated red and blue light\nlow saturation\nlow saturation colors\nlow shot\nlow shot angle\nlow shot camera\nlow shot camera angle\nlow shutter speed\nlow spacial lighting : :\nlow sun\nlow sunset\nlow tones\nlow tons colors\nlow ultrawide shot\nlow vantage point\nlow view\nlow visibility\nlow visibility creepy\nlow volumetric light\nlow wide angle\nlow wide angle shot\nlow-angle\nlow-angle shot\nlow-contrast\nlow-emission-neon\nlow-key\nlow-key light\nlow-key lighting\nlow-key neon lighting\nlow-key neon lightning\nlow-light\nlow-light photograph\nlow-poly\nlow-poly digital art\nlow-poly elements\nlow-poly elements!!!\nlowbrow\nlowbrow art\nlowbrow art style\nlowbrow pop art style\nlowbrow pop surrealism\nlowbrow surrealism\nlowbrow surrealistic\nlower and upper levels\nlower back\nlower back of a beautiful\nlower back of a beautiful woman\nlower body\nlower half of his body is snake\nlower quality\nlower saxony\nlowkey lighting\nlowpoly\nlowpoly landscape\nlowres\nlowrider crash test\nlowrider style\nlowriders\nlowshot\nloyal\nlozhkin\nlpoty\nlsd\nlsd dream emulator\nlsd dream emulator psx\nlsd face\nlsd feathers\nlsd ripples\nlsd tattoo design\nlsd trip\nlsd visuals\nlsd water\nlsd waves\nlu ji\nlubezki\nluca\nlucario\nlucario from pokemon\nlucas arts adventure\nlucas cranach\nlucas films\nlucas graziano\nlucasarts\nlucasfilm\nlucasfilm - c 1 0\nlucasfilm jesper ejsing\nlucha libre\nlucian freud and drew struzan\nlucid\nlucid and intricate\nlucid dream\nlucid dream series\nlucid dreaming\nlucien freud\nlucien lévy-dhurmer\nlucien rudaux\nlucifer\nlucifer the star\nlucina from fire emblem\nlucio as a woman\nlucio from overwatch\nlucky luke\nlucky star\nlucy hale\nlucy hale and maisie williams\nlucy in the sky with diamonds\nlucy liu kill bill\nlucy liu portrait\nlucy the god of time\nludek pesek\nludovic plouffe\nludwig hohlwein\nluffy\nluffy (one piece\nluffy as a marble statue\nluffy dressed as naruto\nluffy from one piece\nluffy gear 5\nluggage\nlugubrious\nluigi\nluigi loir\nluigi's nose\nluigis nose\nluis melo\nluis nieves sr\nluis ricardo falero\nluis rollo\nluis royo and alex ebel\nluis royo and greg rutkowski\nluisiana\nluiz escanuela\nluka mivsek\nluke evans\nluke skywalker\nlulu chen\nlumberjack\nlumberjack flannel\nlumen\nlumen global illumination\nlumen reflections\nlumen technology\nlumens\nlumi\nluminal\nluminance\nluminar ai\nlumine\nluminecent eyes fine details\nluminescence\nluminescence，highly detailed\nluminescent\nluminescent blue eyes\nluminescent colors\nluminescent concept art\nluminescent eyes\nluminescent fabrics\nluminescent matte painting\nluminescent oil painting\nluminescent plants\nluminescent wisps\nluminism\nluminism woods\nluminist\nluminist and baroque style\nluminist polar landscape\nluminist style\nluminol light\nluminosity\nluminous\nluminous black hole portal\nluminous body\nluminous capes\nluminous cockpit\nluminous colors\nluminous color’s\nluminous design\nluminous eyes\nluminous fire halo\nluminous flowers\nluminous grassy background\nluminous halo\nluminous lighting\nluminous muted colors\nluminous nebula\nluminous red eyes\nluminous scene\nluminous scifi engine\nluminous skies\nluminous sky\nluminous sky heaven background\nluminous sparkling crystals\nluminous stellar sky\nluminous veins\nluminous water elemental\nlumiol\nlumion\nlumion 8 k uhd\nlumion render\nlumion rendering\nlumnious\nlumnoius colorful\nlump of native gold\nlumpy skin\nlunapunk\nlunar\nlunar backdrop\nlunar busy street\nlunar color palette\nlunar cycles\nlunar eclipse\nlunar goddess\nlunar horizon\nlunar landscape\nlunar mythos\nlunar mythos future perfect\nlunar soil\nlunar themed attire\nlunar time\nlunar walk\nlunatic asylum\nlunch time on jupiter\nlunch time on uranus\nlunchmeat\nlung dragon\nlunging at camera :4\nlungs\nlupita nyong'o\nlurid\nlurid colors\nlurking\nlurking horror\nlurking in the darkness\nlurking in the shadows\nluscious\nluscious ) in the last of us\nluscious brushstrokes\nluscious lips\nluscious patty with sesame seeds\nluscious red lips\nluscious with sesame seeds\nlush\nlush alien landscape\nlush and colorful eclipse\nlush and green\nlush black hair\nlush botany\nlush brooklyn urban landscaping\nlush chic garden\nlush countryside\nlush environment\nlush evergreen forest\nlush exotic vegetation\nlush fairy forest\nlush farm lands\nlush fertile fecund\nlush field\nlush flora\nlush flowery outdoors\nlush foliage\nlush foliage cyberpunk\nlush forest\nlush forest foliage\nlush forest in background\nlush forest in valley below\nlush forest landscape\nlush forests\nlush garden\nlush garden in the background\nlush garden leaves and flowers\nlush garden spaceship\nlush garden surroundings\nlush gardens hanging\nlush gnarly plants\nlush grass\nlush green\nlush green cactus\nlush green deep forest\nlush green forest\nlush green meadow\nlush greenery\nlush greens\nlush japanese landscape\nlush jungle\nlush landscape\nlush landscaping\nlush lawn\nlush lighting\nlush mossy canyon\nlush nature\nlush oasis\nlush paradise\nlush pastoral woodland scene\nlush plant and magical details\nlush plant growth\nlush plants\nlush plants and bonsai trees\nlush plants and flowers\nlush plants and lanterns\nlush plants flowers\nlush rain forest\nlush rainforest\nlush sakura\nlush sakura trees\nlush scenery\nlush scenic landscape\nlush surroundings\nlush trees\nlush trees and flowers\nlush tress made of city lights\nlush trunda vegetation\nlush unkempt black hair\nlush valley\nlush vegetation\nlush vegetation and ferns\nlush vegetation in the center\nlush vegetation with ferns\nlush verdant plants\nlush vista\nlush wildlife\nlush winter forest landscape\nlushious\nlustful vegetation\nlustrous\nlustrous minerals\nlut\nlute\nluthien\nluts\nlux\nlux 3 5 fle\nlux 35 fle\nlux from league of legends\nluxanna crownguard\nluxcore render\nluxcorerender\nluxigon\nluxor\nluxuriant\nluxurious\nluxurious environment\nluxurious indoor setting\nluxurious neckless\nluxurious onsens\nluxurious ornate golden jewelry\nluxurious suit\nluxurious theme\nluxurious wedding\nluxurious wooden coffee table\nluxurious wooden cottage\nluxury\nluxury advertisement\nluxury and elite\nluxury architecture\nluxury bespoke kitchen design\nluxury brand\nluxury castle\nluxury condo interior\nluxury dress\nluxury equipment\nluxury fashion\nluxury fashion illustration\nluxury furniture\nluxury hd render\nluxury item showcase\nluxury journal cover\nluxury lifestyle\nluxury materials\nlv\nlv jewelry\nlviv\nlviv historic centre\nlya pilnev\nlycra costume\nlydia\nlying\nlying a throne in a fantasy land\nlying at the bed\nlying down\nlying dynamic pose\nlying in bed\nlying in bed!!!! blanket\nlying on a bed of daisies\nlying on a fuzzy blanket\nlying on a mandala\nlying on an abstract\nlying on an empty\nlying on back\nlying on bones\nlying on field\nlying on lily pad\nlying on the grass\nlying on the ground\nlying on the woods path\nlying pose on stones\nlying scattered across an empty\nlynchian\nlynchian atmosphere\nlynchian!!!! ominious\nlynda carter wonder woman\nlynn skordal\nlynn varley\nlynx\nlysergic\nlysergic acid diethylamide\nlászló szabados\nlê long\nm\nm & m candy dispenser\nm & m candy dispenser!!!\nm & m figure\nm & m mascot\nm & m plush\nm & m plush!!!\nm 1 abrams tank\nm 1 tank fury road\nm c escher\nm m candy dispenser\nm m figure\nm m mascot\nm m plush\nm. c. esher\nm. c. esther\nm. k. kaluta\nm. w. kaluta\nm.c escher\nm.w kaluta\nm.zuiko 75mm\nm4 sopmod ii girls frontline\nmaarten schröder and tom bagshaw\nmac\nmac and cheese\nmac miller\nmacabre\nmacabre art\nmacabre poster art\nmacabre spectacle\nmacabre w- 768\nmacaque inside alien base\nmacaron\nmace and shield\nmacguire is a tall\nmachenic\nmachete\nmachiavellian\nmachiavellian puppetmaster\nmachin3\nmachina\nmachinarium\nmachine\nmachine - punk\nmachine - punk!\nmachine city\nmachine elf\nmachine elves\nmachine face\nmachine garden\nmachine gun\nmachine gun fire\nmachine guns\nmachine learning\nmachine noir dieselpunk grimcore\nmachine noir grimcore\nmachine parts\nmachine parts embedded into face\nmachine planet\nmachine revolution\nmachine vs demons\nmachine. delusions\nmachine.delusions\nmachineparts\nmachinery\nmachinery and wires\nmachines\nmachines and futurist robots\nmachines and wires everywhere\nmachines cocktail music\nmachinic desire\nmacho\nmacho man randy savage\nmacho pose\nmachu picchu\nmacintosh plus\nmack sztaba\nmackenzie foy\nmacoto takahashi\nmacpaint\nmacrame\nmacro\nmacro 20mm\nmacro 8 mm\nmacro 8mm photo\nmacro art\nmacro bokeh ”\nmacro camera lens\nmacro camera shot\nmacro close up\nmacro detail\nmacro details\nmacro face shot\nmacro focus\nmacro furry\nmacro giantess\nmacro head face\nmacro head shot\nmacro image\nmacro image!!!!!\nmacro lens\nmacro lens product photo\nmacro lense\nmacro perspective\nmacro photo\nmacro photo of a human eye\nmacro photograph\nmacro photography\nmacro photography 25mm\nmacro photography 8k\nmacro shot\nmacro shot head\nmacro shot lens flare\nmacro up view\nmacro up view metallic\nmacro view\nmacro!!!!!!\nmacron with afro hair\nmacrophoto\nmacrophotography\nmacros shot\nmacroshot\nmacross\nmacross delta\nmacross delta splash art\nmacross franchise\nmacross frontier\nmacross frontier splash art\nmacuahuitl\nmad\nmad cuttlefish\nmad dog jones\nmad dog on a chain\nmad elf princess\nmad grin\nmad hatter\nmad john martin\nmad magazine\nmad magazine aesthetic\nmad magazine cover\nmad magazine illustration\nmad man screaming\nmad max\nmad max battlemech\nmad max beyond thunderdome 1985\nmad max dust storm\nmad max fury road\nmad max fury road film still\nmad max fury road style\nmad max inspired\nmad max jacket\nmad max style\nmad men\nmad monster party film\nmad old bald zombie\nmad painting\nmad scientist\nmad scientist working\nmad trash bags\nmadagascar\nmadara uchiha\nmaddening forbidden knowledge\nmaddy style\nmade entirely from gradients\nmade for an art gallery\nmade from mechanical parts\nmade from million point clouds\nmade from old stone\nmade from paper\nmade in 1 9 9 0\nmade in 1800's\nmade in 1800s\nmade in 1990\nmade in 1999\nmade in 2019\nmade in adobe illustrator\nmade in blender\nmade in bronze\nmade in gold\nmade in maya\nmade in maya and photoshop\nmade in paint tool sai2\nmade in photoshop\nmade in rpg maker\nmade in tones of white and grey\nmade in unreal engine\nmade in unreal engine 4\nmade in unreal engine 5\nmade in zbrush\nmade of alcohol ink on parchment\nmade of all of the above\nmade of all white ceramic tiles\nmade of baked beans\nmade of bamboo\nmade of beads and yarn\nmade of bees\nmade of blood\nmade of bonsai\nmade of boulder opal\nmade of bronze\nmade of brushed steel\nmade of cactus spines\nmade of candy\nmade of candy and lollypops\nmade of cardboard\nmade of carrara marble\nmade of cement\nmade of cement and concrete\nmade of cheese\nmade of clay\nmade of colorful dried flowers\nmade of concrete\nmade of cotton candy\nmade of crystal\nmade of crystalized synapse\nmade of crystals\nmade of diamond\nmade of dots\nmade of dried flowers\nmade of drink\nmade of fabric\nmade of feathers\nmade of felt and cloth and beads\nmade of ferrofluid\nmade of flesh and muscles\nmade of flowers\nmade of flowers and berries\nmade of flowers and fruit\nmade of flowers and leaves\nmade of food\nmade of fruit and flowers\nmade of glass\nmade of glazed\nmade of glowing oil\nmade of glowing wax\nmade of glowing wax and ceramic\nmade of gold\nmade of high tech materials\nmade of holographic texture\nmade of honey\nmade of ice\nmade of insects\nmade of intricate lace skeleton\nmade of intricate metal and wood\nmade of lab tissue\nmade of lasers\nmade of lava\nmade of leaf skeleton\nmade of leaf skeletons\nmade of leaves\nmade of lego\nmade of liquid\nmade of liquid metal\nmade of liquid metal and marble\nmade of liquid purple metal\nmade of lollypops\nmade of marble\nmade of metal\nmade of mist\nmade of money\nmade of multicolored crystals\nmade of mushrooms\nmade of nanomaterials\nmade of neon light\nmade of notation\nmade of oil and water\nmade of paper\nmade of paperclips\nmade of plastic\nmade of polished broze\nmade of rubber\nmade of silk paper\nmade of smooth black goo\nmade of spaghetti\nmade of steel\nmade of stone\nmade of stone and concrete\nmade of swiss cheese wheels\nmade of tar\nmade of trash\nmade of tree and fantasy valley\nmade of vines\nmade of water\nmade of wax and metal\nmade of wax and oil\nmade of wax and water\nmade of wildflowers\nmade of wire\nmade of wood\nmade of wood!!!!!\nmade of woods\nmade of wool\nmade of wrought iron\nmade out of clay\nmade out of clear plastic\nmade out of glass\nmade out of legos\nmade out of plastic\nmade out of rain\nmade out of shiny silver\nmade out of shiny white metal\nmade out of sweets\nmade out of wool\nmade purely out of water\nmade up of many bits of metal\nmade with anime painter studio\nmade with illustrator\nmade with millions of stroke\nmade with photoshop\nmade with unreal engine\nmade with zbrush\nmadeline from celeste\nmadenning knowlege\nmadgwick\nmadhouse\nmadhouse anime studios\nmadhouse inc\nmadhouse studio\nmadhouse studios\nmadhubani\nmadison beer\nmadison beer as leeloo\nmadison beer girl portrait\nmadison square garden\nmadly grinning\nmadmax\nmadness\nmadness combat\nmadness creature\nmadoka kaname\nmadoka magica\nmadonna\nmadonna genderbend elegant\nmadonna portrait\nmadotsuki\nmadrid\nmadrid. extreme long shot\nmads berg\nmads mikkelsen\nmads mikkelsen as a vampire\nmads mikkelsen smoking cigarette\nmaelstrom\nmafia\nmafia background hyper detailed\nmaga\nmagali\nmagali villeneuve\nmagali villeneuve and monet\nmagali villeneuve'\nmagalie villeneuve\nmagazine\nmagazine 1990's\nmagazine 1990s\nmagazine ad\nmagazine advertisement\nmagazine art cover illustration\nmagazine article\nmagazine centerfold\nmagazine collage\nmagazine collage art\nmagazine collage style\nmagazine cover\nmagazine cover art\nmagazine design\nmagazine illustration\nmagazine illustrations\nmagazine pages\nmagazine photo\nmagazine photo from 2007\nmagazine photo shoot\nmagazine photograph\nmagazine photography\nmagazine photoshoot\nmagazine sales\nmagazine scan\nmagazine scraps\nmagazine shoot\nmagazine spread\nmagazines\nmagda torres gurza\nmagdalena andersson\nmagdalena radziej\nmage\nmage duel\nmage fighting a ghoul\nmage robe based on a toucan\nmage smoking pipe\nmage the ascension\nmage tower far away\nmagenta\nmagenta and blue\nmagenta and crimson and cyan\nmagenta and gray\nmagenta colours\nmagenta lighting. fantasy\nmagenta shirt\nmagenta trees\nmages\nmagestic\nmaggie cheung\nmaggots\nmagic\nmagic : the gathering\nmagic : the gathering art\nmagic aesthetic\nmagic amulet\nmagic anatomy\nmagic and fantasy\nmagic and lightning\nmagic and steam - punk inspired\nmagic armor\nmagic art\nmagic art flowing from hands\nmagic artifacs and magic weapons\nmagic artifacts\nmagic atmosphere\nmagic atmospheric\nmagic aura\nmagic background\nmagic barrage\nmagic belt\nmagic blue\nmagic blue fire\nmagic book\nmagic broom\nmagic bubble barrier\nmagic card\nmagic circle\nmagic colors\nmagic conduits\nmagic crystal bridge colorfully\nmagic crystal ring\nmagic details\nmagic doorway\nmagic effects\nmagic energy\nmagic experiment\nmagic eye\nmagic eye style poster\nmagic eyes\nmagic fairy forest\nmagic fairyland\nmagic fantasy\nmagic fantasy highly detailed\nmagic flames\nmagic fog\nmagic forest\nmagic frozen ice phoenix egg\nmagic glowing blur\nmagic heart\nmagic hour\nmagic hour lighting\nmagic hour photography\nmagic in the air\nmagic item\nmagic jungle\nmagic kingdom\nmagic lab background\nmagic laboratory setting\nmagic leather armor\nmagic library\nmagic light\nmagic lighting\nmagic lighting overlays\nmagic lightning ring\nmagic lights\nmagic list\nmagic long hair\nmagic mist\nmagic mushroom\nmagic mushrooms\nmagic music\nmagic mystery world\nmagic overlays\nmagic parade float\nmagic particles\nmagic particles in the air\nmagic particles; magic swirls\nmagic portal\nmagic portal in the sky\nmagic portal to another world\nmagic potions\nmagic powder\nmagic realism matte painting\nmagic realism painting\nmagic ring with a diamond\nmagic rune\nmagic runes\nmagic school\nmagic school uniform\nmagic shop\nmagic smoke\nmagic smoke everywhere\nmagic special effects\nmagic spell\nmagic spell icon\nmagic spells\nmagic spells and weapons\nmagic staff\nmagic star\nmagic stone\nmagic stone portal in the forest\nmagic storm\nmagic storm and thunder clouds\nmagic surrealism\nmagic sword\nmagic symbols\nmagic the gatheing\nmagic the gathering\nmagic the gathering art\nmagic the gathering art style\nmagic the gathering artstyle\nmagic the gathering artwork\nmagic the gathering card\nmagic the gathering card art\nmagic the gathering cards\nmagic the gathering concept art\nmagic the gathering sorceress\nmagic the gathering style\nmagic tree\nmagic uniform\nmagic uniform university\nmagic vibes\nmagic wand\nmagic wooden staff\nmagic world\nmagic world. colorful\nmagic: the gathering\nmagical\nmagical aesthetics\nmagical and alchemical weapons\nmagical and mystical\nmagical area\nmagical artifact\nmagical atmosphere\nmagical atmosphere + masterpiece\nmagical aura\nmagical aura of insanity\nmagical background\nmagical battlefield background\nmagical battlefield backround\nmagical beach\nmagical being\nmagical botanic\nmagical brutalism\nmagical buildings\nmagical castle\nmagical castle school on a hill\nmagical cauldron\nmagical cave\nmagical city\nmagical clearing\nmagical colored theme\nmagical colorful flowers\nmagical colors and atmosphere\nmagical colours and atmosphere\nmagical composition\nmagical concept art\nmagical creatures\nmagical crystals\nmagical details\nmagical digital\nmagical dream-like atmosphere\nmagical dress\nmagical dust\nmagical effect\nmagical elements\nmagical elven geometry\nmagical energy\nmagical environment\nmagical eyes\nmagical fairy background\nmagical fairy floating in space\nmagical fantasy\nmagical fantasy 2 d concept art\nmagical fantasy forest\nmagical fauvism\nmagical feeling\nmagical feeling vibes\nmagical fishing rod weapon\nmagical flowers\nmagical fog\nmagical forest\nmagical forest background\nmagical forest backround\nmagical forest in the background\nmagical forest with fireflies\nmagical garden plant creatures\nmagical girl\nmagical girl anime mahou shojo\nmagical glow\nmagical glowing eyes\nmagical glowing sphere in midair\nmagical glowing time portal\nmagical island\nmagical items\nmagical jungle\nmagical landscape\nmagical leafs falling\nmagical library bokeh\nmagical light\nmagical lighting\nmagical lights\nmagical longbow\nmagical mood\nmagical moon shines overhead\nmagical mystical\nmagical notes\nmagical ocean\nmagical particles\nmagical plants\nmagical portal\nmagical portal gateway\nmagical portal opened\nmagical potions\nmagical power\nmagical powers\nmagical realism and dark fantasy\nmagical realism bizarre art\nmagical realism painting\nmagical realism style\nmagical realism symbolist\nmagical realist\nmagical runes flying\nmagical scene\nmagical school\nmagical school student uniform\nmagical shiny skin\nmagical sigils\nmagical soviet town\nmagical sparkling colored dust\nmagical sparkling lake\nmagical sparks\nmagical storm fog\nmagical stormy reflections\nmagical summer\nmagical sword\nmagical symbols\nmagical tree\nmagical village\nmagical weird\nmagical white fog\nmagical witchcraft\nmagical world\nmagically dense\nmagically glowing\nmagically shaped surrealism\nmagicavoxel\nmagicavoxel cinematic lighting\nmagician\nmagician dog performing on stage\nmagick\nmagick symbols\nmagicpunk\nmagicrealism\nmagitech\nmagitech!\nmagitek\nmagma\nmagma and lava\nmagma cascades\nmagma pool\nmagnesium\nmagnetic\nmagnetic waves\nmagneto\nmagnification\nmagnificence\nmagnificent\nmagnificent background\nmagnificent design\nmagnificent lighting\nmagnificent oval face\nmagnificent super wide angle\nmagnificiant landscape\nmagnificient clouds\nmagnified\nmagnifying glass\nmagnolia\nmagnolia big leaves and stems\nmagnolia goliath head ornaments\nmagnolia leaves and stems\nmagnolia stems\nmagnolias\nmagnum award winning photograph\nmagnum opus\nmagnum photos\nmagnum photos 4k\nmagnus carlsen\nmagpie\nmagritte\nmagritte painting\nmaher morcos\nmahindra thar\nmahira khan as a d&d wizard\nmahira khan as a mage\nmahmud barzanji\nmahogany eyes\nmahogany wood\nmai anh tran\nmai shiranui\nmai yoneyama\nmaia sandu hyperrealistic\nmaid\nmaid costume\nmaid dress\nmaid outfit\nmaiden\nmaiden and fool and crone\nmaiden with copper hair\nmaika monroe batgirl\nmain character\nmain character center focus\nmain colour - black\nmaine coon\nmaintain aspect ratio\nmaintenance\nmaintenance area\nmaintenance photo\nmaisie williams\nmaison ikkoku\nmaison laffite\nmajestic\nmajestic action\nmajestic and futuristic\nmajestic beautiful world\nmajestic big dove wings\nmajestic clouds\nmajestic dunes\nmajestic forest grove\nmajestic horses\nmajestic interstellar portal\nmajestic japanese dragon\nmajestic landscape\nmajestic light\nmajestic lighting\nmajestic masterpiece\nmajestic matte painting\nmajestic mountains\nmajestic nature scenery\nmajestic occult gates\nmajestic painting\nmajestic pose\nmajestic saint woman\nmajestic snowy mountains\nmajestic spires\nmajestic sweeping action\nmajestic symmetrical eagle wings\nmajestic view\nmajestic wings\nmajestic!!! beautiful!!!\nmajestical lighting\nmajesticbeautiful\nmajestic”\nmajesty\nmajesty in noble clothes\nmajor arcana\nmajor arcana cards\nmajor arcana clothes\nmajor arcana mason sparkles sky\nmajor arcana palace occult\nmajor arcana sky\nmajora mask\nmajora's mask\nmajoras mask\nmake - up\nmake all elements sharp\nmake it spicey\nmake up\nmake-up\nmakes the sea area glowing water\nmakeshift house\nmakeshift houses\nmakeshift weapons\nmakeup\nmakeup. unreal engine\nmaking a deal with the devil\nmaking a potion\nmaking eye contact\nmaking love\nmaking of\nmaking out\nmaking the best smug smile\nmakise kurisu\nmakoto\nmakoto kano\nmakoto kobayashi\nmakoto oil painting\nmakoto shinka\nmakoto shinkai\nmakoto shinkai  apex legends\nmakoto shinkai ( apex legends )\nmakoto shinkai and (cain kuga)\nmakoto shinkai and artgerm\nmakoto shinkai and bioware\nmakoto shinkai and tom bagshaw\nmakoto shinkai art style\nmakoto shinkai cyril rolando\nmakoto shinkai movie\nmakoto shinkai style\nmakoto shinkai!\nmakoto shinkai!!\nmakoto shinkai. digital render\nmakoto shinkai. high detail\nmakoto shinkai. octane render\nmakoto shinkai. —h 2160\nmakoto sinkai\nmakoto yukimura\nmalachite\nmalayalis attacking\nmalaysia jungle\nmalaysia with a paddy field\nmalaysian\nmalcolm hart\nmalcolm liepke\nmalcom liepke\nmaldives in background\nmale\nmale aeromorph\nmale anatomy\nmale and female\nmale android\nmale anime character\nmale anime style\nmale art\nmale artificer\nmale barbarian\nmale bard\nmale blonde elf ranger\nmale body\nmale calisthenics\nmale centaur centaur chimera\nmale character\nmale character design\nmale cyborg\nmale cyborg military commander\nmale djinn man demon hybrid\nmale drow\nmale elf ranger\nmale emaciated\nmale face\nmale face and bust\nmale full body organic armor\nmale god svarog portrait\nmale half-elf\nmale hero\nmale holosmith\nmale jester\nmale medusa\nmale model\nmale necromancer\nmale paladin\nmale physician\nmale plate armored chest\nmale polar explorer\nmale portrait\nmale robotic anthro dolphin\nmale robotic anthro dragon\nmale robotic anthro orca\nmale rogue\nmale soldier in the forest\nmale teenager\nmale ulzzang\nmale vampire\nmale vampire of clan banu haqim\nmale warrior\nmale warrior silver armor\nmale with halo\nmale wizard\nmale wood elf rogue\nmale!!\nmale!!!!!!!\nmaler collier\nmaler collieri\nmales and females breakdancing\nmalevolent\nmalevolent entity\nmalevolent expression\nmalevolent shrine\nmalevolent smile\nmalfunction\nmalibu canyon\nmalice\nmalice mizer\nmalicious\nmalika favre\nmall\nmall background\nmall goth\nmallard (anas platyrhynchos)\nmalls\nmallsoft\nmalnourished\nmalt\nmama i need wife\nmami wata\nmamimi samejima\nmamiya\nmamiya 7 4 3\nmamiya rb 6 7\nmamiya rb 67\nmammals\nmammatus clouds\nmammoth\nmamoru hosoda\nmamoru nagano\nmamoru oshii\nmamoru ushii\nmamou - mani\nman\nman and machine\nman and woman\nman and woman in love\nman and woman walking together\nman bear pig\nman carving himself out of stone\nman dressed as a chicken\nman drinking beer\nman engine\nman esthete with disgust face\nman face\nman finds happiness\nman from uncle\nman grabbing a womans waist\nman holding a balloon\nman holding spear\nman in a jester costume\nman in adidas tracksuit\nman in black\nman in black suit\nman in dark blue full body suit\nman in futurist 6 0 ´ s lab\nman in futurist 60 ´ s lab\nman in his 30s\nman in his 40s\nman in horse costume\nman in silver space suit\nman in white t - shirt\nman is carrying a rifle\nman is terrified\nman is with black skin\nman looks out of a train window\nman male demon\nman mutating to zombie\nman playing guitar\nman portrait made out of ice\nman proposing his girlfriend\nman ray - h 1200\nman ray 1 9 9 0\nman reading newspaper in a bar\nman riding a giant mouse\nman screaming\nman sitting facing away\nman smokes a cigar\nman standing\nman standing in defensive pose\nman steal computers\nman turning into pony\nman vs wild\nman walking\nman walking through city\nman wearing a closed cowl\nman with a blue heart\nman with a crown\nman with a gun\nman with a head of barn owl\nman with beard\nman with glasses\nman with scythe\nman with the soul of a dragon\nman with thin lines on the face\nman?\nmana\nmana art\nmana blast\nmana flowing around it\nmana in the air\nmana shooting from his hands\nmanabu ikeda\nmanara\nmanbearpig\nmanchester\nmanchester city\nmandables\nmandala\nmandala art\nmandala ornament\nmandala white bones\nmandalas\nmandalorian\nmandalorian armor\nmandalorian deadpool\nmandel eyes\nmandelblub fractal\nmandelbot fractal\nmandelbot fractal anatomical\nmandelbrot\nmandelbrot flowers and trees\nmandelbrot fractal\nmandelbrot fractal skin\nmandelbrot fractals\nmandelbrot pattern\nmandelbrot set\nmandelbulb\nmandelbulb 3 d\nmandelbulb 3 d buildings\nmandelbulb 3d\nmandelbulb 3d buildings\nmandelbulb 3d fractal\nmandelbulb architecture\nmandelbulb flowers and trees\nmandelbulb fractal\nmandelbulb textures\nmandelbulb. black and white\nmandelbulber fractal\nmandelbulber vector art\nmandelbulber3d\nmandkaws\nmandy jurgens 8 k 1 5 0 mpx\nmandy jurgens art\nmandy jurgens golden ratio\nmane\nmanet\nmanga\nmanga 1 9 9 0\nmanga 1980\nmanga 1990\nmanga and anime\nmanga and anime 1 9 8 0\nmanga and anime 1 9 9 0\nmanga and anime 1 9 9 9\nmanga and anime 1980\nmanga and anime 1990\nmanga and anime 1990 high detail\nmanga and anime 1999\nmanga and anime 2 0 0 0\nmanga and anime 2000\nmanga and anime 2010\nmanga anime\nmanga art\nmanga art style\nmanga book anime style\nmanga character\nmanga comic\nmanga comic book cover\nmanga cover\nmanga cover art\nmanga cover style\nmanga design\nmanga drawing\nmanga front cover\nmanga illustration\nmanga page\nmanga painting\nmanga panel\nmanga panels\nmanga pen\nmanga scans\nmanga style\nmanga style of kentaro miura\nmanga style only\nmanga styling\nmanga tones\nmanga!\nmanga!!!\nmanga”\nmangeta smoke red light\nmangled\nmango\nmangosteen\nmangrove swamp\nmangrove trees\nmangy\nmanhattan\nmanhatten on top of skyscrapers\nmanhwa\nmania\nmaniac\nmaniac look\nmaniacal\nmanic\nmanic pixie dream girl\nmanically laughing\nmanicured\nmanicured garden of eden\nmanicured solarpunk greenery\nmanierism\nmanifestation\nmanila\nmanimalist\nmanipulation\nmanipulative\nmanliness\nmanliness given form\nmanly\nmanly design\nmanly face\nmanly monster tough guy\nmanmade\nmanmohan singh blue turban\nmanmohan singh face\nmann\nmannequin\nmannequins\nmanowar album\nmanowar album cover\nmansik yang\nmansion\nmansions of madness\nmanta ray\nmanta ray made of pancake\nmantegna\nmanticore\nmantid features\nmantis\nmantis and swordfishes\nmantis eyes\nmantis head god temple\nmantis head monster god temple\nmantra rendering\nmanual\nmanuel sanjulian\nmanuel sanjulianblue\nmanufactured in the 1920s\nmanufacturing\nmanuka\nmanuscript\nmany angles\nmany arms\nmany beings walking about\nmany belts\nmany birds and roses fly around\nmany buildings\nmany cccp flags\nmany color scheme\nmany colors\nmany colors in the background\nmany columns\nmany computer screens\nmany copies of them\nmany crowns!! upon his head\nmany crownsupon his head\nmany cryogenic pods\nmany cute fluffy caracals\nmany details\nmany doors\nmany doorways\nmany electronics\nmany exotic cars\nmany exotic high end features\nmany exquisite detail\nmany eyes\nmany eyes in space\nmany eyes on head\nmany fingers\nmany fireflies\nmany floating spheres\nmany floors\nmany flowers\nmany giant eye balls\nmany glowing lights\nmany goats\nmany golden layers\nmany hands\nmany heads\nmany hearts\nmany holes\nmany interstellar plants\nmany intricate details\nmany islands\nmany large flying monster eyes\nmany large green windows\nmany large windows\nmany leaves\nmany legs\nmany light sources\nmany lightning\nmany lights\nmany mech flowers\nmany mechflowers\nmany monitors\nmany mouths\nmany npcs on the streets\nmany origami orchid flowers\nmany origami roses\nmany overgrown scrap cars\nmany parts\nmany partygoers\nmany peonies\nmany people\nmany people walking about\nmany people worshipping\nmany pieces\nmany pipes\nmany plants\nmany plants and infinite pool\nmany rainbow bubbles\nmany reflections\nmany rusty joints\nmany sakura origami roses\nmany scars\nmany scars. cinematic lighting\nmany scrap cars\nmany screens\nmany shadows\nmany shards\nmany skyscrapers\nmany small and colorful stones\nmany small details\nmany small stones\nmany smooth curves\nmany speakers\nmany stars\nmany stars in sky\nmany stars in the night sky\nmany stone statues\nmany suckered tentacles. hybrid\nmany swords\nmany teeth\nmany tentacles\nmany terrible eyes in space\nmany thick dark knotted branches\nmany treasures\nmany trees\nmany trees and plants\nmany variations of thom yorke\nmany wild animals\nmany windows\nmany wires\nmany wires attached to her\nmany years gone\nmany zippers\nmao\nmao hamaguchi\nmao zedong\nmaori\nmaori art\nmaori ornament\nmap\nmap cartography\nmap key\nmap of a dungeon in waterdeep\nmap of europe\nmap of fantacy world\nmap patreon\nmapbox\nmaple story\nmaple story gun girl\nmaple story indiana jones\nmaple syrup\nmaple syrup & hot fudge\nmaple syrup fluid\nmaple syrup highlights\nmaple syrup sea\nmaple tree\nmaple trees along street\nmaple trees with fall foliage\nmaplestory\nmaplestory mouse\nmapo tofu\nmapo tofu cartoon\nmappa\nmappa studio\nmappa studio artstyle\nmapplethorpe\nmar - a - lago fbi raid lego set\nmar planet\nmar-a-lago\nmar-a-lago fbi raid lego set\nmara demon\nmara jade\nmara jade and luke skywalker\nmara jade skywalker\nmarat zakirov\nmarathon\nmarathon race\nmarauders map\nmarbella\nmarbella landscape\nmarble\nmarble and gold\nmarble and hint gold\nmarble and wood and glass\nmarble background\nmarble bust\nmarble carving\nmarble cloth\nmarble columns\nmarble columns in background\nmarble countertops\nmarble floor\nmarble floors\nmarble hole\nmarble material\nmarble reflexes\nmarble room\nmarble sculpture\nmarble sculptures\nmarble skin\nmarble slabs\nmarble statue\nmarble statues\nmarble stone\nmarble table\nmarble texture\nmarble walls\nmarble white columns\nmarble white complexion\nmarble white statue of a dragon\nmarble!! (eos 5ds r\nmarbled\nmarbled columns\nmarbled swirls\nmarbled veins\nmarbles\nmarbling\nmarbling effect\nmarc\nmarc _ simonetti\nmarc adamus\nmarc brunet\nmarc davis\nmarc davis and glen keane\nmarc davis artwork\nmarc newsom\nmarc newson\nmarc riboud\nmarc silvestri\nmarc simonette\nmarc simonetti and jeffrey smith\nmarc simonetti and sakimicha\nmarc simonetti. intricate\nmarcel marcel and metzinger\nmarceline from adventure time\nmarch\nmarcin rubinkowski\nmarco bucci\nmarco lense\nmarco plouffe\nmarco the phoenix\nmarcus whinney\nmardin old town castle\nmarduk\nmarfan syndrome\nmargaret keane style\nmargaret thatcher\nmargaret watts hughes\nmargay\nmarge\nmarge simpson\nmargiela campaign\nmarginalia\nmargins\nmargot robbie\nmargot robbie as a fairy\nmargot robbie as a greek goddess\nmargot robbie as captain america\nmargot robbie as cat woman\nmargot robbie as catwoman\nmargot robbie as harley quinn\nmargot robbie as princess leia\nmargot robbie as tank girl\nmargot robbie as wonder woman\nmargot robbie face\nmargot robbie in gta v\nmargot robbie on the beach\nmargot robbie portrait\nmaria borges\nmaria callas\nmaria fortuny\nmaria of metropolis\nmaria panfilova\nmaria sybilla merian\nmariana trench\nmarianne collins\nmariano rajoy\nmarie - gabrielle capet style\nmarie antoinette\nmarie curie\nmarie spartali stillman\nmariel hemmingway\nmarigold\nmarigold background\nmarigold celestial vibe\nmarigold flowers\nmarihuana\nmarijuana\nmarijuana  wet\nmarijuana ) wet\nmarijuana asymmetrical\nmarijuana buds\nmarijuana greenery\nmarijuana leaf\nmarijuana leaves\nmarijuana leaves ) wet\nmarijuana leaves in background\nmarijuana organic painting\nmarijuana photography\nmarijuana plants\nmarijuana smoke\nmarijuana themed\nmarijuana trees\nmarijuana!\nmariko mori\nmarilyn church h\nmarilyn manson\nmarilyn monroe\nmarilyn monroe portrait\nmarin kitagawa\nmarin kitagawa fanart\nmarina abramovic\nmarina federovna\nmarine\nmarine animal\nmarine armor\nmarine microbiology\nmario\nmario and luigi\nmario as a real person\nmario as a soldier\nmario as a world war i soldier\nmario as the witcher\nmario bros\nmario bros game screen\nmario cart\nmario clouds\nmario dabbing\nmario feng\nmario hat\nmario in real life\nmario kart\nmario martinez\nmario riding a giraffe\nmario robinson. oil on canvas\nmario sprite sheet walk cycle\nmario testino\nmario theme\nmario world\nmarisa kirisame\nmarischa becker\nmaritime\nmaritime pine\nmariusz lewandowski\nmarjaryasana and bitilasana\nmarjorie cameron\nmark\nmark arian 0. 2 5\nmark armstron\nmark brookes\nmark brooks and brad kunkle\nmark brooks detailed\nmark brooks frank frazetta\nmark brown\nmark e smith\nmark edward fischbach\nmark hamill\nmark hammil portrait\nmark kostabi\nmark lee\nmark mann\nmark miner\nmark powell\nmark riddick\nmark rothko\nmark ryden\nmark ryden and lisa frank\nmark ryden highly detailed\nmark ryden in the style of\nmark ryden style\nmark schultz\nmark simonetti\nmark twain\nmark twain as huckleberry finn\nmark van haitsma\nmark verhaagen\nmark waid\nmark zuckenberg\nmark zuckerberg\nmark zuckerberg as a human\nmark zuckerberg as a lizard\nmark zuckerberg as a robot\nmark zuckerberg as a zucchini\nmark zuckerberg as catwoman\nmark zuckerberg in gta v\nmark zuckerberg plays terminator\nmarkarth\nmarked muscles\nmarker\nmarker art\nmarkers\nmarker”\nmarket\nmarket in ancient rome\nmarket in japan\nmarket place\nmarket setting\nmarket square\nmarket stalls\nmarket street\nmarketing\nmarketing design\nmarketing game illustration\nmarketing illustration\nmarketing photo\nmarketplace\nmarkets\nmarketsquare\nmarking lines\nmarkings on her face\nmarkings on his face\nmarkings on robot\nmarkiplier\nmarkiplier with a knife\nmarkus gunnar\nmarkus reugels\nmarkus vogt\nmarlene dumas\nmarlon brando as baron harkonnen\nmarlon brando as the godfather\nmarmalade\nmarmoset\nmarmoset render\nmarmoset toolbag\nmarmoset toolbag render\nmarmoset toolbag rendered\nmaroon\nmaroon accents\nmaroon and blue accents\nmaroon and white\nmaroon doc marten boots\nmaroon hat\nmaroon metallic accents\nmaroon mist\nmaroon red\nmarquee\nmarquis cut\nmarrakech\nmarriage\nmars\nmars aerial photography\nmars as background\nmars attacks\nmars base\nmars black\nmars candy bars\nmars city\nmars colony\nmars energy\nmars in distance\nmars invasion 2 0 3 3 - 2 0 4 2\nmars landscape\nmars mission\nmars one mission\nmars ravelo\nmars ravelo and greg rutkowski\nmars rover in background\nmars setting\nmars vacation photo\nmarsden\nmarsh\nmarsh vegetation\nmarshal mathers\nmarshes\nmarshmallow\nmarshmallow graham cracker\nmarshmallows\nmarsterpiece\nmarta syrko\nmarterpiece\nmartha greta kempton\nmartha jungwirth sketch\nmartha rosler\nmarthe jonkers\nmartial\nmartial art pose\nmartial artist dryad\nmartial arts\nmartial arts tournament\nmartian\nmartian architecture\nmartian city\nmartian landscape\nmartian sands background\nmartin ansin\nmartin ansin artwork portrait\nmartin emond\nmartin johnson\nmartin johnson heade matrix\nmartin luther king\nmartin mottet\nmartin parr\nmartin raphael lacoste\nmartin sandiego\nmartin sharp\nmartina fackova\nmartine\nmartinière\nmartinne johanna\nmarton csokas\nmarton gyula kiss ( kimagu )\nmarty mcfly\nmartyrdom\nmarvano\nmarvel\nmarvel 8 0 s style\nmarvel animation\nmarvel art\nmarvel character\nmarvel cinematic\nmarvel cinematic universe\nmarvel comic\nmarvel comic book characters\nmarvel comic book drawing\nmarvel comic style\nmarvel comicbook cover\nmarvel comics\nmarvel comics dslr hdr\nmarvel comics h 6 4 0\nmarvel comics h 640\nmarvel comics style\nmarvel concept art\nmarvel costumes\nmarvel japan coloring\nmarvel marvel marvel\nmarvel movie\nmarvel movie footage\nmarvel movie poster\nmarvel movie still\nmarvel poster\nmarvel studios\nmarvel style\nmarvel superhero\nmarvel universe\nmarvellous reflection of the sky\nmarvelous\nmarvelous designer\nmarvelous designer 3d rendered\nmarvelous designer substance\nmarvelous expression\nmarvelous eyes\nmarvelous style\nmary anning\nmary delany\nmary devinat\nmary elizabeth winstead\nmary ellen mark\nmary in a sanctuary\nmary jane\nmary jane ansell\nmary louise brooks\nmary louise brooks 2 0 years old\nmary louise brooks 2 5 years old\nmary louise brooks 20 years old\nmary louise brooks 25 years old\nmary louise brooks is half robot\nmary poppins\nmary stevenson cassatt\nmaryport\nmarzanna\nmasahiro ito\nmasai\nmasakazu katsura\nmasami kurumada\nmasami suda\nmasamune\nmasamune shiro\nmasanori warugai\nmasashi ando\nmasashi kishimoto\nmasayoshi suto and artgerm\nmascara\nmaschinen krieger\nmascot\nmascot illustration\nmascot pop funko\nmascular\nmasculine\nmasculine and handsome\nmasculine and rugged\nmasculine and strong\nmasculine appeal high fashion\nmasculine face\nmasculine features\nmasculine figure\nmasculine jawline\nmasculine jawline!\nmasculine muscular figure\nmasculine pose\nmasculine proportions\nmasculinity\nmash potatoes\nmash up\nmasha krasnova\nmashed potatoes\nmashed potatoes and gravy\nmashup\nmask\nmask inside mask\nmask off\nmasked\nmasked doctors\nmasked face\nmasked female violinists\nmasked heroes\nmasked person in corner\nmasking\nmasks\nmasks on wires\nmason\nmasonic\nmasonic art\nmasonic lodge\nmasonic symbols\nmasqua\nmasquerade mask\nmass effect\nmass effect artifacts\nmass effect concept art\nmass effect fantasy\nmass effect inspired\nmass effect style\nmass housing\nmass-hallucination fever-dream\nmassacre\nmassai warrior\nmasses of people in the distance\nmassive\nmassive 7 0 s hi fi system\nmassive angel wings\nmassive arch\nmassive architecture\nmassive battery\nmassive battlefront\nmassive boots\nmassive cannon mounted on back\nmassive clouds\nmassive construction machines\nmassive cosmos scale\nmassive crowd\nmassive decorated doors\nmassive destruction\nmassive energy storm\nmassive galaxy\nmassive glowing neon axe\nmassive green dragon!!!\nmassive legs towering over you\nmassive motion blur\nmassive mountains\nmassive muscles\nmassive river\nmassive robot\nmassive scale\nmassive scale cosmic being\nmassive spaceships\nmassive steampunk hands\nmassive structures\nmassive tank\nmassive teeth\nmassive tree\nmassive trees\nmassive trees with warm windows\nmassive vertical grand prix race\nmassive waves\nmassive wide trunk\nmassive wings\nmassys\nmaster\nmaster artist\nmaster chief\nmaster chief from halo\nmaster chief in cyberpunk city\nmaster color woodblock print\nmaster drawing\nmaster illustration\nmaster life drawing\nmaster of ice\nmaster of puppets\nmaster of ruin\nmaster oil painting\nmaster painter\nmaster painting\nmaster photography\nmaster piece\nmaster pieces\nmaster prime lenses\nmaster shot\nmaster splinter\nmaster study\nmaster sword\nmaster yoda\nmastercraft\nmasterful\nmasterful art\nmasterful composition\nmasterful composition!!!\nmasterful detailed watercolor\nmasterful digital art\nmasterful intricate artwork\nmasterful oil on canvas painting\nmasterful painting\nmasterful print. 4k\nmasterful technique\nmasterpeice\nmasterpice\nmasterpiece\nmasterpiece - h 768\nmasterpiece 4 k\nmasterpiece 4 k digital\nmasterpiece 4k\nmasterpiece 4k digital\nmasterpiece 8 k\nmasterpiece 8 k resolution\nmasterpiece 8k\nmasterpiece 8k resolution\nmasterpiece : 1\nmasterpiece ; behance hd\nmasterpiece album cover\nmasterpiece anthro portrait\nmasterpiece art\nmasterpiece artwork\nmasterpiece award winning\nmasterpiece cannon\nmasterpiece cinematic\nmasterpiece composition\nmasterpiece concept art\nmasterpiece contrite conundrum\nmasterpiece costume\nmasterpiece details\nmasterpiece digital painting\nmasterpiece epic retrowave art\nmasterpiece fine details\nmasterpiece goddess of sorrow\nmasterpiece illustration\nmasterpiece image\nmasterpiece ink illustration\nmasterpiece intricate elegant\nmasterpiece oil painting\nmasterpiece on a scroll\nmasterpiece painting\nmasterpiece photograph\nmasterpiece photography\nmasterpiece portrait\nmasterpiece stained glass\nmasterpiece surrealism\nmasterpiece tintype\nmasterpiece w 1024\nmasterpiece work\nmasterpiece work of art\nmasterpiece zdzislaw beksinski\nmasterpiece ”\nmasterpiece!\nmasterpiece! portrait of arwen\nmasterpiece!!\nmasterpiece!!!\nmasterpiece!!!!\nmasterpiece'\nmasterpiece. intricate artwork\nmasterpiece. rendered in blender\nmasterpieces\nmasterpieceunderwater scene\nmasterpiece”\nmasterstroke\nmasterwork\nmasterwork composition\nmasterwork coposition\nmasterwork sculpture\nmastodon\nmastodonic\nmasuimi max\nmat black metal\nmat collishaw\nmat drawing paper\nmatch point\nmatchach\nmatching colors\nmate\nmate colors\nmate painting\nmate painting mix rendering\nmatej retro jan\nmatej ‘retro’ jan\nmateo dineen\nmateria\nmaterial\nmaterial art\nmaterial brass & copper gold\nmaterial design\nmaterial is!!! plum!!!\nmaterial is!!! watermelon!!!\nmaterial iswatermelon\nmaterial pack\nmaterial study\nmaterials white stone\nmaternal\nmaternal photography 4 k\nmaternity feeling\nmateus 9 5\nmateus 95\nmath\nmath art\nmath equations\nmath equations in the background\nmath inspired\nmathematical\nmathematical interlocking\nmathematics\nmathematics and geometry\nmathematics unifying science\nmather brown\nmathew brady photo\nmaths\nmati klarwein and moebius\nmatisse\nmatisse caravaggio\nmatlab\nmatoko shinkai\nmatriarchy\nmatrioshka brain\nmatrix\nmatrix )\nmatrix code\nmatrix film color\nmatrix film pinterest color\nmatrix lut\nmatrix movie color grading\nmatrix style\nmatrix symbols in the background\nmatrix text\nmatrix theme\nmatrix)\nmatt berry\nmatt betteker\nmatt colors outdoor\nmatt colours\nmatt damon\nmatt finish\nmatt groening art\nmatt groening cartoon art\nmatt groening style\nmatt howarth\nmatt murdock vs saul goodman\nmatt murphy\nmatt mute colour background\nmatt painting\nmatt rainey\nmatt rhodes\nmatt white color armor\nmatt white ice color armor\nmatt wisniewski\nmatt wisniewski style\nmatte\nmatte accents\nmatte art\nmatte background\nmatte background. unreal engine\nmatte black\nmatte black background\nmatte black pants\nmatte black paper\nmatte bright\nmatte bright colors\nmatte bright highly detailed\nmatte color\nmatte color palette\nmatte colorful gradients\nmatte coloring\nmatte colors\nmatte detailed photo\nmatte digital illustration\nmatte digital painting\nmatte drawing\nmatte drawing. masterpiece\nmatte fantasy painting\nmatte finish\nmatte fresco\nmatte gouache illustration\nmatte gray background\nmatte illustration\nmatte landscape\nmatte material\nmatte navy - blue bodysuit\nmatte oil painting\nmatte paining\nmatte paint\nmatte paint colors\nmatte painting\nmatte painting 4k 8k\nmatte painting arcane dota pixar\nmatte painting comic book art\nmatte painting concept art\nmatte painting finish\nmatte painting in fantasy style\nmatte painting movie poster\nmatte painting of human mind\nmatte painting of steam machines\nmatte painting portrait shot\nmatte painting scenery\nmatte painting unreal engine\nmatte painting v ray\nmatte painting with high detail\nmatte painting ”\nmatte painting”\nmatte paiting\nmatte paitning\nmatte photo\nmatte photo-realistic\nmatte pink armor\nmatte print\nmatte scifi fantasy painting\nmatte sharp focus\nmatte sharp painting\nmatte sketch\nmatte surface\nmatte white background\nmatte white paint\nmatte-painting\nmatted brown fur\nmattel\nmattell\nmatteo salvini\nmattepainting\nmatter\nmatter art\nmatter painting\nmattey\nmatthew benedict\nmatthew mcconaughey\nmatthew perry graphic novel\nmatthew perry laughing\nmatthew stewart\nmatthew williams\nmature\nmature color scheme\nmature colors\nmature content\nmature facial features\nmature male\nmaui\nmaurice sapiro\nmaurits cornelis\nmaurits cornelis escher\nmaurits cornelius escher\nmaurizio cattelan\nmaus in forest\nmausoleum\nmausoleum ruins\nmausoleum tall ruins\nmauve and cinnabar and cyan\nmauve and cyan\nmauve background\nmaven\nmaverick studio\nmaw art\nmawshot\nmax accurate\nmax bedulenko\nmax carlier\nmax dennison\nmax details\nmax ernst and ernst haeckel\nmax fleischer\nmax graphics settings\nmax hay\nmax headroom\nmax masnyy\nmax payne\nmax payne (pc) (2001)\nmax payne pc 2001\nmax prentis\nmax quality\nmax resolution\nmax rive\nmax verstappen\nmaxar\nmaxfield parrish!!!!\nmaxillipeds\nmaxim cover\nmaxim cover : :\nmaxim magazine\nmaxim magazine cover\nmaxim shirkov\nmaxim sukharev\nmaxim verehin stained glass\nmaximalism digital art\nmaximalism. stunning\nmaximalist\nmaximalist art nouveau\nmaximalist details\nmaximalist fashion\nmaximalist fashion dress\nmaximalist magazine collage art\nmaximalist maximalism vaporwave\nmaximalist sculpted design\nmaximalist vaporwave\nmaximalsm\nmaximized\nmaximum detail\nmaximum details\nmaximum natural texture\nmaximum realism\nmaximus jacobs\nmaxis\nmaxon cinema 4d\nmaxon one\nmaxwell boas\nmaxwell render\nmaxxis\nmay\nmay 1 0\nmay 6 8\nmay 68\nmay gibbs\nmay)\nmaya\nmaya 3 d\nmaya 8 k\nmaya 8k\nmaya ali\nmaya ali as a cyber sorceress\nmaya ali as a d&d sorcerer\nmaya ali as a lightning mage\nmaya ali as a mage\nmaya ali as a sorcerer\nmaya ali as a storm sorcerer\nmaya ali as a wind mage\nmaya ali as a wind sorcerer\nmaya ali as a wind sorceress\nmaya ali as d&d mage\nmaya ali as d&d sorcerer\nmaya ali mage\nmaya ali sorcerer\nmaya ali sorceress\nmaya ali wind sorcerer\nmaya bee\nmaya bloch artwork\nmaya deren\nmaya engine\nmaya fey from ace attorney\nmaya render\nmaya renderer\nmaya takamura\nmaya temples\nmayan\nmayan god\nmayan jaguar warrior\nmayan priestess\nmayan style\nmayan temple in the jungle\nmaybe small waves\nmaybelline\nmayeb\nmayer re-l\nmayfield parish\nmayhem\nmayo\nmayonnaise\nmayuri shiina\nmayuri shiina from steins gate\nmazarineee\nmaze\nmaze like\nmaze of streets\nmaze-like\nmazinger\nmazoku\nmazzoni marco\nmc donalds\nmc escher and ronny khalil\nmc escher architecture\nmc escher art\nmc escher illustration\nmc escher painting\nmc escher style\nmc escher style architecture\nmc escher tesselation\nmc escher tessellation\nmc escher!!\nmc ride\nmcbess\nmcbess illustration\nmcbess poster\nmccree from overwatch\nmcdonald\nmcdonalds\nmcdonalds interior background\nmcdonalds restaurant\nmcdonalds wrapper on table\nmcfarlane\nmcgill\nmclaren\nmclaren f1\nmcquarrie\nmcu\nmcu effects\nmcu photograph\nmcu style\nmdae from matchsticks shiva\nmdma\nme\nme and you\nmead\nmeadow\nmeadow background\nmeadow flowers\nmeadow in the background\nmeadow in the forest\nmeadow with flowers\nmeadows\nmeadows on hills\nmeaining of physical reality\nmean\nmean expression\nmean eyes\nmean face\nmean look\nmean smirk\nmeaning of life\nmeaning of physical reality\nmeaningful\nmeanwhile in a parallel universe\nmeasurements\nmeat\nmeat and blood stained glass\nmeat and lichens\nmeat factory\nmeat machine\nmeat texture\nmeat veins\nmeat with veins\nmeatloaf\nmeats on the ground\nmeaty\nmecca\nmech\nmech body\nmech concept art\nmech machines firing bullets\nmech robot\nmech robot futuristic\nmech shaped like a manatee\nmech suit\nmech warrior\nmecha\nmecha animal\nmecha anime\nmecha anthropomorphic penguin\nmecha armor\nmecha art\nmecha asthetic\nmecha floor\nmecha font\nmecha hound\nmecha human\nmecha inspired\nmecha limbs\nmecha machinarium\nmecha plate armor\nmecha robot details\nmecha suit\nmecha warrior\nmecha wings\nmechabot\nmechagodzilla\nmechanic\nmechanic punk outfit\nmechanical\nmechanical - parts\nmechanical accents\nmechanical accents!\nmechanical angel\nmechanical arm\nmechanical armor\nmechanical bird\nmechanical body\nmechanical butterfly\nmechanical clock\nmechanical cute bird\nmechanical cyborg\nmechanical demon\nmechanical design\nmechanical detail\nmechanical details\nmechanical diagram\nmechanical engineering\nmechanical fantasy\nmechanical features and neon\nmechanical form of life\nmechanical frog\nmechanical gear\nmechanical hands\nmechanical heart in center\nmechanical hydraulics\nmechanical implants\nmechanical internal parts\nmechanical keyboard\nmechanical limbs\nmechanical morph engine\nmechanical owl\nmechanical parts\nmechanical paw\nmechanical robot body\nmechanical robotic octopus\nmechanical sci fi\nmechanical spider legs\nmechanical structure\nmechanical style\nmechanical superstructure\nmechanical vegetal cyborg\nmechanical vehicles\nmechanical warrior\nmechanical wings\nmechanical-limbs\nmechanically enhanced honeycomb\nmechanics\nmechanised\nmechanism\nmechanisms\nmechanized art concept\nmechanized police infantry\nmechanized soldier girl\nmechanized transport\nmechanized valkyrie\nmechanized valkyrie girl\nmechanized witch girl\nmechanoid\nmechanoluminescence\nmechwarrior\nmed bay\nmedal\nmedallion\nmedallions\nmedeival fantasy town\nmedia art\nmedia facde\nmedia photo\nmedibang\nmedic\nmedical\nmedical anatomy\nmedical background\nmedical book\nmedical complex\nmedical depiction\nmedical diagram\nmedical dissection\nmedical doctor\nmedical drawing\nmedical drawing with annotations\nmedical equipment\nmedical illustration\nmedical image\nmedical imaging\nmedical lab\nmedical labels\nmedical laboratory\nmedical lighting\nmedical machinery\nmedical mask\nmedical mecha canine\nmedical muscle anatomy\nmedical photography\nmedical reference\nmedical research facility\nmedical stitches vaporwave\nmedical supplies\nmedicine\nmedieval\nmedieval ages\nmedieval alchemist in the dark\nmedieval arabia\nmedieval architecture\nmedieval armor\nmedieval armour\nmedieval art\nmedieval art style\nmedieval background\nmedieval battle\nmedieval bestiary\nmedieval book illustration\nmedieval castle\nmedieval castle background\nmedieval castle on background\nmedieval citadel\nmedieval cities\nmedieval city\nmedieval city background\nmedieval city map\nmedieval clothes\nmedieval clothing\nmedieval coastal village\nmedieval coin texture\nmedieval concept art\nmedieval cottage interior\nmedieval d&d mood\nmedieval dark fantasy\nmedieval demons\nmedieval dnd\nmedieval dress yellow ochre\nmedieval dress. witch\nmedieval era\nmedieval fantasy\nmedieval fantasy art\nmedieval fantasy battle\nmedieval fantasy designs\nmedieval fantasy game art\nmedieval fantasy illustration\nmedieval fantasy landscape\nmedieval feast\nmedieval female warrior\nmedieval french landscape\nmedieval futurism\nmedieval garb\nmedieval gates\nmedieval globe\nmedieval graphic\nmedieval high fashion\nmedieval holy crusader knight\nmedieval house\nmedieval illumination\nmedieval illustration\nmedieval japan\nmedieval jester\nmedieval knight\nmedieval knight power armour\nmedieval leather armour\nmedieval manuscript\nmedieval manuscript illustration\nmedieval map of small town\nmedieval old king\nmedieval painting\nmedieval peasants\nmedieval period\nmedieval photograph\nmedieval portrait\nmedieval poster\nmedieval princess\nmedieval robes\nmedieval scene\nmedieval setting\nmedieval stained glass window\nmedieval style\nmedieval sword\nmedieval sword on stone\nmedieval tapestry\nmedieval tavern\nmedieval time\nmedieval times\nmedieval town\nmedieval town landscape\nmedieval tumbledown houses\nmedieval village\nmedieval village on the plains\nmedieval warrior\nmedieval weapon\nmedieval wear\nmedieval woodcut\nmedieval zombie peasant\nmedieval!!\nmedieval-fantasy\nmedievil spear\nmeditating\nmeditating in lotus position\nmeditating pose\nmeditation\nmeditation pose\nmeditations on moloch\nmeditative\nmeditative sacral pose\nmediterranean\nmediterranean architecture\nmediterranean beach background\nmediterranean city\nmediterranean features\nmediterranean fisher village\nmediterranean island scenery\nmediterranean landscape\nmediterranean vista\nmedium\nmedium  graffiti\nmedium - format print\nmedium - long curly brown hair\nmedium - shot\nmedium - shot 1 6 mm film\nmedium - shot 16 mm film\nmedium 5 0 mm lens\nmedium 7 0 mm lens\nmedium [ graffiti\nmedium [ graffiti ]\nmedium and large design elements\nmedium angle\nmedium armor\nmedium black hair\nmedium blonde\nmedium blue\nmedium breed\nmedium brown hair\nmedium close - up\nmedium close - up  mcu\nmedium close - up ( mcu )\nmedium close shot\nmedium close up\nmedium close up portrait\nmedium close up shot\nmedium close-up\nmedium close-up shot\nmedium closeup\nmedium closeup shot\nmedium contrast\nmedium detail\nmedium details\nmedium distance\nmedium distance shot\nmedium format\nmedium format camera\nmedium format color photography\nmedium format digital camera\nmedium format film photography\nmedium format photography\nmedium format. soft light\nmedium frame\nmedium full shot\nmedium gargoyle soft light\nmedium hair\nmedium head to shoulder shot\nmedium height\nmedium length black hair\nmedium length hair\nmedium length photography\nmedium length slick white hair\nmedium length white hair\nmedium level shot\nmedium lighting\nmedium long bob\nmedium long brown hair\nmedium long hair\nmedium long shot\nmedium long wavy ginger hair\nmedium perspective\nmedium poly\nmedium portrait\nmedium portrait of a goblin\nmedium portrait soft light\nmedium portrait top light\nmedium range\nmedium saturation\nmedium sensor\nmedium shoot\nmedium short hair\nmedium shot\nmedium shot angle\nmedium shot close up\nmedium shot of two characters\nmedium shot photo 8k ultrahd\nmedium shot portrait\nmedium shot taken from behind\nmedium shot. by hayao miyazaki\nmedium shot. detailed\nmedium sized tattoo sketch\nmedium skin tone\nmedium symmetry\nmedium tones\nmedium wide front shot\nmedium wide shot\nmedium yellow blond hair\nmedium-format print\nmedium-length portrait\nmedium-shot\nmedium: black pencil\nmedium: colored pencil\nmediumslateblue flowers\nmedival\nmednyanszky laszlo\nmedusa\nmedusa gorgon head\nmedusa head\nmedusa made of soft wax\nmedusa made of wax\nmedusa portrait painting\nmeet the actor behind the scenes\nmeeting of the cats\nmeeting point\nmeeting room\nmeg kimura\nmega\nmega city\nmega death\nmega detailed\nmega detailed 8k\nmega details\nmega epic\nmega high quality\nmega high white mountain\nmega highly detailed\nmega humanoid mech\nmega legendary\nmega man\nmega realistic\nmega scans\nmega structure\nmega structure city\nmega-beautiful pencil shadowing\nmega-detailed\nmegabuildings\nmegacity\nmegacity background\nmegacity streets seen from above\nmegadeth\nmegafauna\nmegalithic\nmegalithic buildings\nmegaliths\nmegalitic\nmegalodon\nmegalophoba\nmegalophobia\nmegalopolis\nmegaman\nmegaman as pikachu\nmegan fox\nmegan fox as a mcdonalds cashier\nmegan fox as beautiful mountains\nmegan fox as lara croft\nmegan fox colorful portrait\nmegan fox made out of mayonnaise\nmegan fox portrait\nmegan fox witch queen\nmegan fox with heavy eye makeup\nmegapixel\nmegara\nmegascan\nmegascan textures\nmegascans\nmegascans texture\nmegastructure\nmegastructure background\nmegastructure background)\nmegastructure in the background\nmegastructure theme engine\nmegastructures\nmegatall building\nmegumin\nmegumin from konosuba\nmegumu okada\nmehndi patterns\nmei from overwatch\nmei-ling zhou\nmekka\nmelancholic\nmelancholic art\nmelancholic atmosphere\nmelancholic expression\nmelancholic face\nmelancholic gaze\nmelancholic mood\nmelancholic!!\nmelancholic!! liminal space\nmelancholy\nmelancholy atmosphere\nmelancholy autumn light\nmelancholy lighting\nmelancholy pastel art\nmelancholy scenery\nmelanchonic rose soft light\nmelanchonic soft light\nmelanie martinez\nmelbourne\nmelinda matyas\nmellotron\nmellow\nmellow and soft\nmellow sky blue lighting\nmelted\nmelted cheddar\nmelted cheese\nmelted cyborg\nmelted paint\nmelted wax\nmelting\nmelting 4d cubes\nmelting and dripping. eerie\nmelting cheese\nmelting clouds\nmelting face\nmelting glass\nmelting ice cube\nmelting in coral pattern\nmelting into jolteon\nmelting into lilligant\nmelting into rivers\nmelting into vulpix\nmelting paint\nmelting paint drips\nmelting pixels\nmelting reality\nmelting spaceships\nmelting spaceships!\nmelting sun\nmelting volumetric smoke and fog\nmelting wax\nmelty\nmember of the endless\nmembrane\nmembrane pregnancy sac\nmembrane wings\nmembranes\nmeme\nmeme culture\nmeme format\nmeme of the year\nmeme template\nmemento mori\nmemes\nmemorable\nmemorable scene\nmemories\nmemory\nmemory trapped in eternal time\nmemphis\nmemphis abstract minimal art\nmemphis design\nmemphis group\nmemphis rap\nmen\nmen and women\nmen fall for him\nmen in black\nmen in tuxedos\nmen look up at the sky\nmen's fashion\nmenacing\nmenacing appearance\nmenacing atmosphere\nmenacing aura\nmenacing look\nmenacing orc\nmenacing orcs\nmenacing pose\nmenacing statues\nmenacing!\nmenacing!!!\nmenacing. unreal 5\nmenacingly\nmendelbrot fractal\nmenger sponge\nmenhirs\nmeni chatzipanagiotou\nmental\nmental alchemy\nmental health\nmental illness\nmental pandemonium\nmental ray\nmeow\nmephitic vapors\nmercator projection\nmercedes\nmercedes and volkswagen\nmercedez benz\nmercenary\nmerchant collector\nmerchant stands\nmerchant street\nmerchant tents\nmerchants\nmerciless\nmercury\nmercury dress\nmercy ( overwatch )\nmercy from overwatch\nmercy from overwatch game (2016)\nmeredit frampton style\nmeredith schomburg\nmeret elisabeth oppenheim\nmerfolk riding seahorses\nmerge\nmerged\nmerged character\nmerged machima\nmerging crocodile head\nmerging with tree in a forest\nmerlin\nmermaid\nmermaid body\nmermaid cyborg with a laser whip\nmermaid in distance\nmermaid tail\nmermaids\nmermaids and fish\nmermaids in distance\nmerriam daniel\nmerry\nmerry england\nmert alas and marcus piggott\nmert and marcus\nmesa\nmesa plateau\nmesh\nmesh fabrics\nmesh headdress\nmesh roots\nmesh roots. closeup\nmesh shirt\nmesh structure\nmesh wire\nmesmerising\nmesmerized\nmesmerizing\nmesmerizing blue eyes\nmesmerizing fractal hypercubes\nmesomorph\nmesopotamic\nmess\nmessage\nmessages\nmessi\nmessi as a viking\nmessi as cyborg\nmessi dunking on ronaldo\nmessy\nmessy bangs\nmessy beard\nmessy bed\nmessy bedroom\nmessy black / red hair\nmessy black bob hair\nmessy black hair\nmessy blond hair\nmessy blonde hair\nmessy blue hair\nmessy bob\nmessy brown hair\nmessy brown short hair\nmessy brush strokes\nmessy bun\nmessy clothes\nmessy cords\nmessy curly hair\nmessy curly pastel hair\nmessy eater\nmessy hair\nmessy hair bedhead\nmessy hairstyle\nmessy lines\nmessy long black hair\nmessy manbun\nmessy maximalist interior\nmessy ponytail\nmessy room\nmessy short brown hair\nmessy short hair\nmessy shoulder-length dark hair\nmessy spiked red hair\nmessy square vibrant red hair\nmessy wavy white hair\nmeszoly geza\nmet\nmet collection\nmet gala\nmeta\nmeta design\nmetaballs\nmetabaron\nmetahuman\nmetahumans\nmetal\nmetal album cover\nmetal album cover art\nmetal and glowing eyes\nmetal armor\nmetal art\nmetal award winning\nmetal bars\nmetal bikini\nmetal body\nmetal border\nmetal brain\nmetal brain!!\nmetal cat ears and glowing eyes\nmetal chain and black cape\nmetal chrome\nmetal cladding wall\nmetal claws\nmetal dragon tail\nmetal ears\nmetal ears purple eyes\nmetal eye piece\nmetal floor\nmetal font\nmetal framed portal\nmetal garments\nmetal gauntlet\nmetal gear\nmetal gear mech\nmetal gear movie still\nmetal gear rising\nmetal gear rising revengeance\nmetal gear solid\nmetal gear solid anime cyberpunk\nmetal gear solid art style\nmetal gear solid concept art\nmetal gear solid inspired\nmetal gear solid revengeance\nmetal gear solid style\nmetal gear style\nmetal gears\nmetal halo\nmetal handles\nmetal hard surfaces\nmetal hurlant\nmetal jaw\nmetal joints\nmetal key for the doors\nmetal kitchen utensils\nmetal lace\nmetal lid\nmetal mask\nmetal neck rings\nmetal orchid flower\nmetal panels\nmetal parts\nmetal plate photograph\nmetal readymade\nmetal robots\nmetal rust and plaster materials\nmetal scales\nmetal scapes\nmetal sculpture\nmetal shaded\nmetal shoulder pauldrons\nmetal shutter\nmetal skin\nmetal skin with some scratches\nmetal skull with red eyes\nmetal slug concept art\nmetal speculars\nmetal surfaces\nmetal swords\nmetal tail\nmetal teeth\nmetal texture\nmetal towers and sewers\nmetal wings\nmetal with chipped paint texture\nmetal with graffiti on the side\nmetal works\nmetalhead\nmetalic\nmetalic green\nmetalic parts\nmetalic reflection\nmetalic reflections\nmetallic\nmetallic architecture\nmetallic armor\nmetallic arrows\nmetallic asteroid\nmetallic brass accessories\nmetallic bridge\nmetallic bronze skin\nmetallic buttons\nmetallic colors\nmetallic cyan bodysuit\nmetallic flecked paint\nmetallic flecks\nmetallic galactic\nmetallic green armor\nmetallic light\nmetallic mask around the mouth\nmetallic nebula\nmetallic neoprene woman\nmetallic paint\nmetallic patterns\nmetallic polished surfaces\nmetallic red\nmetallic reflections\nmetallic reflective\nmetallic reflective surfaces\nmetallic scales\nmetallic scepter\nmetallic sculpture\nmetallic shield\nmetallic shiny skin. intricate\nmetallic shutter\nmetallic skeleton\nmetallic skin\nmetallic surface\nmetallic surfaces\nmetallic texture\nmetallic torso\nmetallica\nmetalomania\nmetalwork\nmetamorphose\nmetamorphosis\nmetamorphosis complex 3d render\nmetaphor\nmetaphorical\nmetaphysical\nmetaphysical foggy environment\nmetart\nmetatron\nmetaverse\nmetaverse concept art\nmetaverses\nmeteor\nmeteor impact behind a dinosaur\nmeteor shower\nmeteorite\nmeteorites\nmeteors\nmeteors are falling from the sky\nmeteors falling\nmeth head\nmeth lab\nmeticulous\nmeticulous brush strokes\nmeticulous composition\nmeticulous detail\nmeticulous details\nmetmuseum\nmetro\nmetro 2 0 3 3\nmetroid\nmetroid dread\nmetroid prime\nmetroidvania\nmetropolis\nmetropolis background\nmetropolis filmic gotham city\nmetropolitan\nmetropolitan museum\nmetropolitan museum collection\nmetropolitan museum of art\nmetropolitan museum of fine art\nmetropolitan museum photo\nmetzinger\nmew\nmewtwo\nmexican\nmexican desert\nmexican folk art\nmexican folklore\nmexican muralism ) ravi supa\nmexican mustache\nmexican standoff\nmexican vaquero\nmexican warrior\nmexico\nmexico city\nmeze audio\nmezzanine\nmezzotint\nmf doom\nmf doom mask\nmf doom reptile eyes\nmf doom with reptile eyes\nmgm studios\nmgs\nmia khalifa\nmia kischner\nmiami\nmiami beach\nmiami heat colors\nmiami synthwave\nmiami vice\nmiami. illustration\nmichael\nmichael alford\nmichael ancel\nmichael angelo\nmichael angelo inspired\nmichael bair\nmichael bay\nmichael bay movie\nmichael bay style\nmichael bosanko\nmichael carson\nmichael cheval (unreal engine\nmichael dante dimartino\nmichael fassbender\nmichael garmash and\nmichael garmash and rob rey\nmichael hoppen\nmichael hussar\nmichael hutter\nmichael jackson\nmichael jackson as spiderman\nmichael jackson moon dance\nmichael jackson portrait\nmichael jordan\nmichael kaluta\nmichael kaluta and jia ruan\nmichael kirkbride\nmichael kors\nmichael kutsche\nmichael mann\nmichael margetts\nmichael maurino\nmichael mcdonald\nmichael myers\nmichael myers mask\nmichael okuda\nmichael page\nmichael pangrazio\nmichael parkes\nmichael scott\nmichael shapcott\nmichael sowa\nmichael vicente\nmichael wadleigh\nmichael weisheim beresin\nmichael welan\nmichael wellen\nmichael whelan and gustave done\nmichael whelan and gustave dore\nmichael whelan and karol bak\nmichael whelan and pixar\nmichael whelan and tomer hanuka\nmichael whelan art\nmichael_jackson\nmichaelangelo style\nmichal\nmichal lisowski\nmichal mraz\nmicheal whelan\nmichel - ange\nmichel - ange 8 k\nmichel ocelot\nmichelangelo 1550s\nmichelangelo da caravaggio\nmichelangelo painting\nmichelangelo sculpture\nmichelangelo style\nmichelin 5 star\nmichelin man family portrait\nmichelin restaurant\nmichelin star\nmichelin star food\nmichelin star photography\nmichelin star restaurant\nmichelin starred restaurant\nmichellin star\nmichigan\nmichilin star\nmick jagger\nmickael lelièvre\nmickey mouse\nmickey mouse ears\nmickey mouse head\nmickey mouse is thor\nmicro\nmicro - hurricane\nmicro - organisms\nmicro art\nmicro detail\nmicro detail 4k\nmicro detailed\nmicro detailing\nmicro details\nmicro expressions\nmicro lens\nmicro machines\nmicro macro auto focus\nmicro macro autofocus\nmicro pov\nmicro-details\nmicrobiology\nmicrobus\nmicrochip\nmicrochip leaves\nmicrochips\nmicrodetails\nmicron\nmicron pen\nmicron pen drawing\nmicronauts\nmicroorganism\nmicroorganisms\nmicrophone\nmicrophone silluette\nmicrophones\nmicropohone\nmicroscope\nmicroscopic\nmicroscopic cat\nmicroscopic detail\nmicroscopic photo\nmicroscopic picture\nmicroscopic tardigrade\nmicroscopic tardigrades\nmicroscopic view\nmicroscopy\nmicrosoft\nmicrosoft paint art\nmicrosoft windows\nmicrosoft windows logo\nmid - 3 0 s\nmid - 3 0 s aged\nmid - action\nmid - century modern\nmid - century sofa\nmid - length hair\nmid - shot\nmid 1 9 th century\nmid 19 th century\nmid 2 0's female\nmid 20s female\nmid 9 0 s\nmid action\nmid action swing\nmid air\nmid air shot\nmid body\nmid body portrait\nmid body shot\nmid century\nmid century art\nmid century modern cartoon style\nmid closeup\nmid day\nmid day lighting\nmid distance\nmid fall\nmid length portrait photograph\nmid long hair\nmid morning lighting\nmid night\nmid portrait\nmid range shot\nmid riff\nmid shot\nmid shot photo\nmid shot portrait\nmid thirties\nmid tone\nmid view\nmid view from below her feet\nmid-20s\nmid-30s\nmid-century modern\nmid-century modern furniture\nmid-day\nmid-shot\nmid-shot of a hunky\nmid-shot portrait of a beautiful\nmid-transformation\nmid-twenties\nmid-view\nmidafternoon\nmidair\nmidcentury modern\nmidday\nmidday light\nmidday lighting\nmidday photograph\nmidday sun\nmidday sunlight\nmiddle - age\nmiddle - earth\nmiddle age\nmiddle aged\nmiddle aged balding superhero\nmiddle aged man\nmiddle ages\nmiddle body shot\nmiddle centered\nmiddle close up\nmiddle close up composition\nmiddle close up shot\nmiddle distance\nmiddle earth\nmiddle earth landscape\nmiddle east\nmiddle eastern\nmiddle eastern details\nmiddle eastern skin\nmiddle eastern style vendors\nmiddle finger\nmiddle focus\nmiddle length hair\nmiddle of space\nmiddle of the day\nmiddle of the night\nmiddle of the ocean\nmiddle of the page\nmiddle shot\nmiddle shot waist up\nmiddle-aged witch\nmiddle-earth\nmidgar\nmidi skirt\nmidium shot\nmidjourney\nmidjourney style\nmidjourney!\nmidlands\nmidnight\nmidnight blue\nmidnight city lights\nmidnight color palette\nmidnight colors\nmidnight fog - mist\nmidnight fog - mist!\nmidnight hour\nmidnight hour on jupiter\nmidnight mist lights\nmidnight mist streetlights\nmidnight moonlight\nmidnight theme\nmidnight zone\nmidnight-blue\nmidriff\nmidshot\nmidshot single subject\nmidsommar\nmidsommar - t\nmidsommar color theme\nmidsommar style\nmidsummer\nmidwest countryside\nmidwest town\nmies van der rohe\nmiffy\nmight cinematic lighting\nmight delete later\nmighty\nmighty nein\nmighty plump female sorceress\nmighty princess of the wasteland\nmignogna\nmignola\nmigrant mother\nmiguel angel\nmiguel iglesias\nmihail spil-haufter\nmihaly munkacsy\nmihoyo\nmihoyo art style\nmika kurai demon\nmika pikazo\nmikado\nmikasa ackerman\nmike\nmike deodato jr\nmike ehrmantraut\nmike franchina\nmike judge\nmike judge art style\nmike kime\nmike mignogna\nmike mignola style\nmike nash\nmike pence\nmike ploog\nmike stoklasa\nmike tomlin as doctor who\nmike trout\nmike tyson\nmike tyson with a toad\nmike wazowski\nmikhail vrubel and wadim kashin\nmikko\nmikko lagerstedt\nmiko\nmiku\nmikudayo\nmila jovovich as spiderwoman\nmila kunis\nmila kunis as catwoman\nmila kunis as daenerys targaryen\nmila kunis wearing black choker\nmilan fashion week backstage\nmilan jozing\nmilan schere\nmild\nmild breeze wind\nmild colors\nmild colours\nmild depth of field\nmild expressionism\nmild impressionism\nmildly scarred on his face\nmiles davis\nmiles df\nmiles johnstone\nmiles morales\nmiles morales!!!\nmiley cyrus\nmilf\nmilitarism\nmilitaristic\nmilitaristic!!!\nmilitary\nmilitary art\nmilitary base\nmilitary boots\nmilitary buildings\nmilitary camp in the background\nmilitary carrier rig\nmilitary chris foss\nmilitary clothing\nmilitary composure\nmilitary design\nmilitary drone\nmilitary equipment\nmilitary flags\nmilitary gear\nmilitary girl\nmilitary helmet\nmilitary industrial complex\nmilitary insignia\nmilitary outfit\nmilitary outpost\nmilitary pants\nmilitary parade\nmilitary photography\nmilitary pilot clothing\nmilitary police\nmilitary robot\nmilitary soldier behavior\nmilitary storage crate\nmilitary tank fury road\nmilitary uniform\nmilitary vehicles\nmilitary vest\nmilitary weaponry\nmilitary-grade\nmilk\nmilk - bath effect\nmilk and mocha style\nmilk bar magazine\nmilk bath photography\nmilk cubes\nmilk dripping\nmilk duds\nmilk puddles\nmilkboys\nmilkman\nmilkshake\nmilky way\nmilky way environment\nmilky way galaxy\nmilky way nebula\nmilky white skin\nmilkyway\nmilkyway light\nmill\nmilla jovovich\nmillais\nmillaise and greg rutkowski\nmillenium falcon\nmillennia ago\nmillennial vibes\nmillennium falcon\nmillion of likes\nmillionaire technocrat\nmills\nmilo manara\nmilo manara - h 1 2 0 0\nmilo manara style\nmiloš zeman\nmilt gross\nmiltary\nmime\nmimic\nmimic. random position content\nmimikyu\nmimmo rottela\nmina petrovic\nminaba hideo\nminagho\nminarets\nminas tirith\nminas tirith in the background\nmind\nmind - bending\nmind - bending reality\nmind - blowing\nmind bending\nmind blow\nmind blowing\nmind blown\nmind character\nmind control\nmind exploration\nmind flayer\nmind flayers\nmind wandering\nmind-bending\nmind-bending digital art\nmind-bending geometry\nmind-blowing detail\nmind-blowing details\nmind-boggling cosmic geometry\nmind-breaking\nmindblowing\nmindflayer\nmindscape\nmine cart\nminecraft\nminecraft build\nminecraft cake\nminecraft creeper\nminecraft creeper in real life\nminecraft gameplay\nminecraft in real life\nminecraft landscape\nminecraft lords\nminecraft mods\nminecraft screenshot\nminecraft skin\nminecraft steve\nminecraft style\nminecraft villager\nminecraft watchtower builds\nminer kilbourne kellogg\nmineral\nmineral and gold jewelry\nmineral collections\nmineral grains\nminerals\nminers\nmines\nmines of moria\nming dynasty\nmingchen shen\nmini\nmini amphitheatre\nmini cooper\nmini cooper s\nmini dv camera found footage\nmini figure\nmini jeans skirt\nmini lake\nmini magic city\nmini model\nmini planets\nmini skirt\nmini-skirt\nmini. abstract illustration\nminiature\nminiature action figure\nminiature animal\nminiature bear\nminiature cafe diorama\nminiature city\nminiature cosmos\nminiature faking\nminiature forest\nminiature fox\nminiature frog\nminiature human brain\nminiature kitten\nminiature model\nminiature of a sports car\nminiature origami figurine\nminiature painting techniques\nminiature photography\nminiature photography closeup\nminiature pig\nminiature porcelain model\nminiature porcelain portrait\nminiature product photo\nminiature resine figure\nminiature tachikoma\nminiature world\nminiaturecore\nminiatures\nminifigure\nminigun\nminimal\nminimal art\nminimal art style\nminimal artifacting\nminimal artifacts\nminimal background\nminimal black skull warpaint\nminimal bodycon feminine costume\nminimal canon 5 0 mm\nminimal clothing\nminimal composition\nminimal contraption\nminimal design\nminimal design armor style\nminimal features\nminimal geometric\nminimal kitchen\nminimal modern\nminimal modern pixel sorting\nminimal movie poster\nminimal movie posters\nminimal outlines\nminimal painting\nminimal palette\nminimal pink palette\nminimal shading\nminimal sleek design armor style\nminimal structure\nminimal style\nminimal. sharp focus\nminimalism\nminimalissimo\nminimalist\nminimalist ) ) ) ) )\nminimalist abstract art\nminimalist and clean\nminimalist architecture\nminimalist art\nminimalist art style\nminimalist background\nminimalist cartoon style\nminimalist cinematic lighting\nminimalist composition\nminimalist design\nminimalist desk\nminimalist environment\nminimalist furniture\nminimalist home office\nminimalist illustration\nminimalist ink drawing of a city\nminimalist interior design\nminimalist lighting\nminimalist line art\nminimalist line drawing\nminimalist lines\nminimalist logo vector art\nminimalist logo without text\nminimalist movie poster\nminimalist painting\nminimalist photo\nminimalist photorealist\nminimalist poster art\nminimalist rule of thirds\nminimalist sticker\nminimalist structure\nminimalist style\nminimalist stylized cover art\nminimalist svg\nminimalist vector art\nminimalist wallpaper\nminimalistic\nminimalistic aesthetics\nminimalistic and beautiful\nminimalistic architecture\nminimalistic art\nminimalistic background\nminimalistic composition\nminimalistic design\nminimalistic drawing\nminimalistic house in the wood\nminimalistic illustration\nminimalistic logo\nminimalistic painting\nminimalistic style\nminimalistic!! simple\nminimalisticsimple\nmining\nmining outpost\nmining scrap metal\nminion\nminion as a darksouls boss\nminion as lovecraft's monster\nminion giving a thumbs up\nminion in space\nminion iron man\nminion with many many many eyes\nminions\nminions background\nminions digimon\nminions screaming\nminiskirt\nminn\nminna sundberg\nminneapolis\nminneapolis as background\nminnie mouse\nminor blur\nminority report the movie\nminoru nomata\nminotaur\nminotaur from path of exile\nminotaur in ancient armor\nminotaur warrior\nminotaur warrior with axe\nmint\nmint condition\nmint green eyes\nmint higlights\nmint leaves\nminute details\nminutely detailed\nmiracle\nmiraculous\nmiraculous cloudy backdrop\nmiraculous ladybug\nmirage\nmirai nikki\nmiranda cosgrove\nmiranda kerr\nmiranda meeks\nmiranda otto\nmiranda otto as eowyn\nmircea suciu\nmirka andolfo\nmiro\nmiro petrov\nmirror\nmirror and glass surfaces\nmirror background\nmirror dripping droplet\nmirror dripping droplet!\nmirror eye implants\nmirror hallways\nmirror lake\nmirror like water\nmirror reflection\nmirror reflections\nmirror selfie\nmirror shades\nmirror texture\nmirror world\nmirror's edge\nmirror's edge in russia\nmirrored\nmirroring\nmirrorless camera\nmirrors\nmirrors edge\nmirrors edge art style\nmirrors everywhere\nmisa amane\nmisa amane #\nmisa amane *\nmisato katsuragi\nmiscellaneous objects\nmischief managed\nmischievous\nmischievous expression\nmischievous grin\nmischievous look\nmischievous!!\nmischievous!!!\nmiserable\nmisery and despair\nmisha gordin\nmismatched\nmiss aniela\nmiss fortune\nmiss fortune league of legends\nmiss universe\nmissile explosions\nmissiles\nmissiles explosions in the sky\nmissing jaw\nmissing panels\nmissing poster\nmissing teeth\nmission arts environment\nmission impossible\nmissle turrets\nmist\nmist amidst lightning\nmist and fog\nmist and rain\nmist and smoke\nmist art of illusion\nmist below buildings\nmist filters\nmist floats in the air\nmist from waterfall\nmist in valley\nmist low over ground\nmist rising from head\nmist vapor\nmistborn\nmisterious\nmistic\nmistic ambient\nmistic atmosphere\nmisting\nmistress\nmists\nmisty\nmisty alleyway\nmisty alleyways\nmisty and eerie\nmisty and foggy\nmisty and raining\nmisty and wet\nmisty athmosphere\nmisty atmosphere\nmisty atmospherics\nmisty background\nmisty castle\nmisty clouds\nmisty environment\nmisty fog\nmisty forest\nmisty forest scene\nmisty from pokemon\nmisty garden\nmisty ghost town\nmisty ground\nmisty japanese bamboo forest\nmisty mood\nmisty morning\nmisty mountains\nmisty neon lights\nmisty night\nmisty ominous atmosphere\nmisty space\nmisty swamp\nmisty weather\nmisty wisps\nmisty wood\nmisty woods\nmit technology review\nmitch foust\nmitch mcconnell as a turtle\nmitchell mohrhauser\nmithology\nmitose\nmitre\nmitsumayo\nmittens\nmiura\nmiura kentaro\nmiura kentaro style\nmix\nmix between tribal and hi-tech\nmix of aesthetics\nmix of biden and obama\nmix of ethnicities and genders\nmix of styles\nmix of venom and cthulhu\nmix styles of tsutomu nihei\nmix with rivendell architecture\nmixed\nmixed - media\nmixed animal\nmixed art\nmixed art styles\nmixed development\nmixed leather armor\nmixed liquid acrylic\nmixed materials\nmixed media\nmixed media 3 d collage\nmixed media 3d collage\nmixed media collage\nmixed media illustration\nmixed media on toned paper\nmixed media painterly details\nmixed media painting\nmixed media photography\nmixed media style illustration\nmixed media torn paper collage\nmixed media with claymorphism\nmixed medias\nmixed plate and leather armor\nmixed race\nmixed race woman\nmixed styles\nmixed techniques\nmixed with snake\nmixed-race woman\nmixer rendering\nmixing\nmixing drinks\nmixing solarpunk\nmixmedia\nmixture animal\nmixture between an! owl and wolf\nmixture turkish and russian\nmiyagawa choshun\nmiyamoto abduzeedo\nmiyamoto musashi\nmiyazaki film\nmiyazaki hayao\nmiyazaki movie\nmiyazaki movie scene\nmiyazaki style\nmiyazaki's animated film\nmiyazakis animated film\nmizutsune\nmjolnir\nmjolnir armor from halo infinite\nmk ninja\nmkbhd\nmkbhd as iron man\nmlp\nmlp fanart\nmm\nmma\nmma southpaw stance\nmmmmm\nmmo\nmmorpg\nmmorpg fantasy\nmmorpg gameplay\nmo salah\nmoab\nmoai\nmoai seedling\nmoai statue giving a ted talk\nmoana\nmoat\nmob psycho 100\nmobeus\nmobie still\nmobile\nmobile app\nmobile game\nmobile game art\nmobile game asset\nmobile game background\nmobile game style\nmobile gimball camera\nmobile learning app prototype\nmobile legends\nmobile still frame. 4k uhd\nmobile suit\nmobile suit gundam\nmobile wallpaper\nmobius\nmobius strip shaped planet\nmobster\nmocap\nmocha swirl color scheme\nmochiduki key\nmoco\nmod\nmod green bob wig\nmodded\nmodel\nmodel agency\nmodel design\nmodel face\nmodel is wearing techtical vest\nmodel kit\nmodel miniature\nmodel of atom\nmodel painting\nmodel photograph\nmodel photography\nmodel pose\nmodel posing\nmodel sheet\nmodel shoot\nmodel standing pose\nmodel trees\nmodel wears a puffer jacket\nmodel with attractive body\nmodel エリサヘス s from acquamodels\nmodeled\nmodeled in 3 d\nmodeled in poser\nmodeled lighting\nmodeling\nmodeling for dulce and gabanna\nmodeling photograph kerli koiv\nmodeling photography\nmodeling shoot\nmodeling studio\nmodelled in zbrush\nmodelling\nmodelling clay\nmodels\nmodelsociety\nmoderate atmospheric lighting\nmoderate colors\nmoderate saturation\nmoderately detailed\nmodern\nmodern - art - vector\nmodern adaptation\nmodern aesthetic\nmodern and minimalist\nmodern anime\nmodern anime style\nmodern architecture\nmodern architecture design\nmodern art\nmodern art deco\nmodern art museum\nmodern art noveau\nmodern art style\nmodern bathroom\nmodern buildings\nmodern calligraphy art\nmodern car design\nmodern cartoon tv show\nmodern casual clothing\nmodern chicago streets\nmodern city\nmodern city background\nmodern city scape\nmodern city street\nmodern clean white armor\nmodern cloth\nmodern clothes\nmodern clothing\nmodern color\nmodern color palette\nmodern colors\nmodern composition\nmodern concept art\nmodern crystal martini glass\nmodern cubism\nmodern cyberpunk\nmodern cyberpunk anime\nmodern dance aesthetic\nmodern day\nmodern design\nmodern desktop wallpaper\nmodern details\nmodern digital art\nmodern earthy neutral earthy\nmodern edgy graphic design\nmodern fantasy\nmodern fashion\nmodern fashion outfit\nmodern fine art\nmodern gallery furniture\nmodern glass building\nmodern graphic design\nmodern haircut\nmodern helmet\nmodern high sharpness photo\nmodern house\nmodern house in the wood\nmodern house made of tree\nmodern illustration\nmodern indoors\nmodern interior design\nmodern japanese living room\nmodern lighting\nmodern living room\nmodern logo\nmodern look\nmodern lush condo as shopfront\nmodern maximalist fashion dress\nmodern maximalist suit\nmodern mecha anime\nmodern military gear\nmodern minimal design\nmodern minimalist\nmodern minimalist f 2 0\nmodern minimalist f 2 0 clean\nmodern minimalist f 20\nmodern minimalist f 20 clean\nmodern neighborhood\nmodern new york\nmodern nocturnal background\nmodern occultist\nmodern office\nmodern painting\nmodern pastel colours\nmodern photo\nmodern photograph\nmodern photography\nmodern portrait\nmodern realism\nmodern roman empire\nmodern rustic\nmodern rustic”\nmodern sci-fi anime\nmodern scientific documents\nmodern sculpture\nmodern setting\nmodern simplified vector art\nmodern space suit\nmodern street\nmodern street art\nmodern studio light soft colour\nmodern style\nmodern stylish glamour tutu\nmodern supernatural horror\nmodern supernatural urban horror\nmodern technology\nmodern technology building\nmodern times\nmodern tokyo\nmodern tones\nmodern very sharp photo\nmodern war photography\nmodern warfare\nmodernism art\nmodernist\nmodernist art style\nmodernist buildings\nmodernist composition\nmodernist design\nmodernist headphones\nmodernist interior\nmodernistic\nmodern”\nmodest\nmodest flowing gown\nmodest light armor\nmodest tone\nmodest!\nmodestly clothed\nmodestly dressed\nmodified\nmodigliani\nmodular\nmodular detailed\nmodular game dev art\nmodular graphene\nmodular item\nmodular origami\nmodular synth\nmodular synthesizer helmet\nmodulated line\nmoe\nmoebious\nmoebius\nmoebius + artgerm\nmoebius + loish\nmoebius + loish + wlop\nmoebius aesthetic\nmoebius and alphonse mucha\nmoebius and android jones\nmoebius and dan hillier\nmoebius and edward hopper\nmoebius and giger\nmoebius and kilian eng\nmoebius and makoto shinkai\nmoebius and mike mignola\nmoebius and mohrbacher\nmoebius and tsutomu nihei\nmoebius art\nmoebius artwork\nmoebius comic\nmoebius comic style\nmoebius illustration art\nmoebius moebius\nmoebius starwatcher\nmoebius starwatcher comic\nmoebius style\nmoebius!\nmoebius!!!\nmoebius. rich colors\nmogao grottoes\nmogul\nmogul khan\nmohamed chahin\nmohamed chahin style\nmohamed reda\nmohamed reda and hr giger\nmohawk\nmohawk haircut\nmohawk hairstyle\nmohawks\nmoholy - nagy\nmoholy nagy\nmohrbacher\nmoira from overwatch\nmoire\nmoist\nmoist brown carpet\nmoist dirty carpet\nmoist foggy\nmoist mossy white stones\nmoisture\nmojang\nmojave desert\nmokoto shinkai\nmold\nmoldy\nmoldy walls\nmole on cheek\nmolecular\nmolecular gastronomy\nmolecules\nmoleksandra shchaslyva\nmolly from neuromancer\nmolly from the novel neuromancer\nmolly millions\nmolly weasley\nmoloch\nmolotow premium color palette\nmolten\nmolten glass\nmolten metal house\nmolten plastic\nmom\nmom's spaghetti\nmom's spaghetti he's nervous\nmoma\nmoma museum\nmoment\nmoment cinebloom filter\nmoment frozen in time\nmomento mori\nmomma and papa\nmomoshiki ōtsutsuki\nmona lisa\nmona lisa as a goth girl\nmona lisa as a real person\nmona lisa painting\nmona lisa style\nmona lisa taking a selfie\nmona lisa with a mustache\nmonaco\nmonalisa\nmonarch butterflies\nmonarchy\nmonastery\nmoncler jacket\nmonet and da vinchi art style\nmonet painted\nmonet painting\nmonet style\nmonet. stunning lighting\nmoney\nmoney falling from the sky\nmoney sign pupils\nmonge jean-baptiste monge\nmongezi ncaphayi\nmongol\nmongolia\nmongolian invasion of iraq\nmonia merlo\nmonica bellucci\nmonica langlois\nmonika\nmonitor\nmonitors\nmonk\nmonk clothes\nmonk meditate\nmonk's robe\nmonkey\nmonkey d luffy\nmonkey d. luffy\nmonkey dressed as a scientist\nmonkey island\nmonkey king\nmonkey limbs\nmonkey navy seals\nmonkey punch\nmonkey reading a book\nmonkeys\nmonks\nmonks robe\nmonks!!!!!!!!! fire\nmono\nmono eye window\nmono eyed\nmono printing\nmono-yellow\nmonochromatic\nmonochromatic airbrush painting\nmonochromatic background\nmonochromatic blue\nmonochromatic color scheme\nmonochromatic colour palette\nmonochromatic green\nmonochromatic ink\nmonochromatic photo\nmonochromatic red\nmonochromatic teal\nmonochrome\nmonochrome 3 d model\nmonochrome 3d model\nmonochrome and red color bleed\nmonochrome artwork\nmonochrome artwork!!\nmonochrome background\nmonochrome black and white\nmonochrome bw\nmonochrome color\nmonochrome color palate\nmonochrome contrast bw\nmonochrome drawing\nmonochrome film\nmonochrome hdr\nmonochrome lomography\nmonochrome!!!!!\nmonochrome:-2\nmonocle\nmonocolor\nmonocolor mosaics\nmonocular\nmonogon\nmonogram\nmonokini\nmonokubo\nmonolith\nmonolithic\nmonolithic granite spikes\nmonolithic retro futuristic\nmonolithic temple\nmonoliths\nmononoke\nmonorail\nmonorail station\nmonotone\nmonserrat gudiol\nmonsoon\nmonsoon on tropical island\nmonster\nmonster anatomy\nmonster art\nmonster ashore\nmonster character design\nmonster concept art\nmonster design\nmonster destroying pyongyang\nmonster doré\nmonster energy\nmonster energy drink\nmonster girl\nmonster graveyard chair\nmonster high\nmonster high makeup\nmonster hunter\nmonster hunter monster\nmonster hunter the movie\nmonster hunter world\nmonster hunters\nmonster manual\nmonster manual entry\nmonster manula\nmonster movie\nmonster slimy\nmonster statues\nmonster teeth\nmonster teeth covered in red\nmonster theme\nmonster truck\nmonster truck rally\nmonstera\nmonstera deliciosa\nmonstergirl\nmonsters\nmonsters in the background\nmonsters inc\nmonsters inc pixar\nmonstrocity animal\nmonstrosity\nmonstrous\nmonstrous animal statues\nmonstrous ant\nmonstrous creatures\nmonstrous mask\nmonstrous skull\nmontage\nmontage of grid shapes\nmontana\nmonthly\nmontreal\nmontreal habs canadiens figurine\nmonument\nmonument valley\nmonument valley landscape\nmonumental\nmonumental achievement\nmonumental giant palace\nmonumental mountains\nmonumental structures\nmonumentally art composition\nmonuments\nmooc\nmood\nmood light\nmood lighting\nmood painting\nmood scary\nmoodboard\nmoody\nmoody : : wes anderson\nmoody :: studio ghibli\nmoody aesthetic\nmoody ambiance\nmoody and atmospheric\nmoody atmosphere\nmoody atmospheric\nmoody atmospheric lighting\nmoody atmospherics\nmoody beautiful colors\nmoody blue lighting\nmoody cinematic atmosphere\nmoody cinematic lighting\nmoody cinematography\nmoody cloudy sky\nmoody color scheme\nmoody colors\nmoody dark\nmoody dark colors\nmoody details\nmoody dim faint lighting\nmoody dim lighting\nmoody dynamic lighting\nmoody emotional cinematic\nmoody environment\nmoody evening light\nmoody feel\nmoody gold planet\nmoody grindhouse\nmoody hazy lighting\nmoody high exposure\nmoody iconic scene\nmoody light\nmoody lighting\nmoody lightning\nmoody lights\nmoody lights!! intricate\nmoody lightsintricate\nmoody mining planet\nmoody misty fantasy art\nmoody morning light\nmoody muted colors\nmoody neutral hipster tones\nmoody night lighting\nmoody night time scene\nmoody painting\nmoody photography\nmoody purple glow light\nmoody scene\nmoody setting\nmoody shadows\nmoody sky\nmoody sky at the back\nmoody strange cinematography\nmoody sunset\nmoody sunset and dramatic sky\nmoody sunset background\nmoody sunset in background\nmoody tones\nmoody vibe\nmoody vibrant colors\nmoody volumetric lighting\nmoody::alejandro jodorowsky\nmoog\nmoog hd\nmoog modular synthesizer\nmoolight\nmoomin\nmoomins\nmoon\nmoon and candle\nmoon and stars\nmoon and stars in night sky\nmoon background\nmoon backlight\nmoon base\nmoon beams\nmoon beams dramatic light\nmoon bear samurai\nmoon behind\nmoon behind him\nmoon bull samurai\nmoon crash into earth\nmoon craters\nmoon glow\nmoon goddess\nmoon hitting earth\nmoon in background\nmoon in background!\nmoon in his crown\nmoon in sky\nmoon in the background\nmoon in the night sky\nmoon in the sky\nmoon knight\nmoon landing\nmoon landscape\nmoon light\nmoon light fish eye illustrator\nmoon light in the top background\nmoon lighting\nmoon ligth\nmoon mission\nmoon rays\nmoon reflecting on the water\nmoon rising\nmoon ryas\nmoon shine\nmoon shining\nmoon shining golden light\nmoon surface\nmoon surface background\nmoonbeams\nmoonbow\nmoonglow\nmooniq priem\nmoonless night\nmoonlight\nmoonlight background\nmoonlight god rays\nmoonlight grey\nmoonlight in the darkness\nmoonlight lighting\nmoonlight night\nmoonlight rays\nmoonlight shafts\nmoonlight shining on wildflowers\nmoonlight showing injuries\nmoonlight snow\nmoonlight snowing\nmoonlight through the trees\nmoonlight through trees\nmoonlit\nmoonlit backdrop\nmoonlit clouds background\nmoonlit forest\nmoonlit forest environment\nmoonlit kerala village\nmoonlit lighting\nmoonlit night\nmoonlit night dreamy atmosphere\nmoonlit night sky\nmoonlit nightscape\nmoonlit ocean\nmoonlit parking lot\nmoonlit purple sky\nmoonlit sky\nmoonlit starry sky environment\nmoonray render\nmoonrays\nmoons\nmoons in background\nmoonscape\nmoonshine\nmoonshine cybin\nmoonstone\nmoonwalker photo\nmoor\nmoored\nmoorish architecture\nmoorland\nmoose\nmopar\nmoped\nmorality\nmorandi\nmorandi color palette\nmorandi color scheme\nmorandi colour scheme\nmorbid\nmorbid art\nmorbid colors\nmorbid fantasy\nmorbid photography\nmorbidly obese\nmorbius\nmordancage\nmordor\nmordor as a bustling city\nmore\nmore and more composision\nmore and more cyberpunk\nmore and more flowers\nmore and more scars\nmore coherent\nmore dark purple color scheme\nmore darkness on bottom\nmore darkness on the bottom\nmore details\nmore intense\nmore reflection\nmore relief effects\nmore scars\nmore scars and fire\nmore tan face\nmore textures\nmore thunderstorm\nmorearea\nmorena baccarin\nmorgan freeman\nmorgan freeman as gordon freeman\nmorgan weistling\nmorgana\nmorgana from league of legends\nmorgoth\nmorhbacher\nmoringa juice\nmoringa oleifera leaves\nmork borg\nmorning\nmorning atmosphere\nmorning coffee\nmorning dawn\nmorning detail\nmorning dramatic cinematic light\nmorning fog\nmorning glory flowers\nmorning glow\nmorning golden hour\nmorning hard light\nmorning haze\nmorning hour\nmorning hour on jupiter\nmorning light\nmorning light showing injuries\nmorning lighting\nmorning mist\nmorning mood\nmorning shot\nmorning sun\nmorning sun - rays\nmorning sunlight\nmorning sunrise\nmorning time\nmorning time on jupiter\nmorning. hyperrealism\nmorningstar\nmoroccan\nmoroccan city\nmoroccan mosque\nmoroccan new york city street\nmoroccan queens ny\nmoroccan tea set\nmoroccan tile archways\nmorocco\nmorose\nmorph\nmorph dna\nmorpheus\nmorphing\nmorphing dog head\nmorphing skulls\nmorphing wings king vulture head\nmorphosis\nmorrigan\nmorrigan aensland\nmorrocan lamp\nmorrowind\nmorrowind armor\nmort drucker\nmort drucker illustration\nmort kunstler\nmortal engines\nmortal kombat\nmortal kombat 11\nmortal shell\nmortality\nmortar\nmortar and pestle\nmortar heads\nmorticia addams\nmortified at its existence\nmorty from rick and morty\nmosaic\nmosaic floor\nmosaic stone floor\nmosaic style\nmoscow\nmoscow kremlin\nmoscow kremlin is on fire\nmoscow metro\nmoses\nmosh pit\nmoshrooms on ground\nmoskvich\nmosque\nmosque interior\nmosque synagogue interior\nmoss\nmoss and ferns\nmoss and flowers\nmoss and mud\nmoss and vegetation\nmoss ball\nmoss covered\nmoss growing on their clothes\nmoss highly detailed\nmoss in the shape of a face\nmoss landscape\nmoss on the walls\nmoss patches\nmoss plants\nmoss terrarium\nmossy\nmossy buildings\nmossy ground\nmossy head\nmossy overgrowth\nmossy rock\nmossy rocks\nmossy ruins\nmossy stone\nmossy trunk\nmost beautiful woman on earth\nmost blues\nmost detailed\nmost dope\nmost epic landscape\nmost memorable scene\nmost perfect desert on the world\nmost popular\nmost respected design\nmost strongest pose\nmost wanted\nmost winning awards\nmostly black\nmostly cloudy sky\nmostly greyscale\nmostly wood\nmotel\nmotes of light\nmoth\nmoth inspired dress\nmoth orchids\nmoth wings\nmother\nmother earth\nmother nature\nmother of all decks\nmother of pearl iridescent\nmother of pearl jewelry\nmother of witchers\nmother sarah artist\nmother theresa\nmotherboard\nmotherboard circuitry\nmotherly\nmothership\nmothership in the sky\nmothman\nmoths\nmotif\nmotion\nmotion and action and tragedy\nmotion blur\nmotion blur bokeh\nmotion blur lights\nmotion blur of people walking\nmotion blured movement\nmotion blurred background\nmotion capture system\nmotion design\nmotion graphic\nmotion graphics\nmotion lines\nmotion photo\nmotion shapes color design\nmotion still\nmotionb blur\nmotionblur\nmotionless. award winning\nmotivation\nmotivational\nmotivational poster\nmoto gp ads in 1 9 9 0 s\nmotocross bike\nmotocross rider on dirt jump\nmotoko kusanagi\nmotor sport photography\nmotorbike\nmotorbiker\nmotorbikers race in hell\nmotorcycle\nmotorcycle concept art\nmotorcycle helmet\nmotorcycles\nmotorsports photography\nmottled coloring\nmottling coloring\nmotu\nmouldy juice\nmoulin rouge\nmoulin rouge!\nmoulting\nmount\nmount doom\nmount fuji\nmount fuji background\nmount fuji in the background\nmount fuji on the background\nmount olympus\nmount rushmore\nmountain\nmountain background\nmountain battles\nmountain behind meadow\nmountain bike helmet\nmountain forest in background\nmountain fortress city\nmountain fuji on the background\nmountain in background\nmountain in the background\nmountain label\nmountain lake\nmountain lake in sierra nevada\nmountain lakes\nmountain landscape\nmountain pass\nmountain plants\nmountain range\nmountain ranges\nmountain scape. film still\nmountain scene\nmountain scene in a llama face\nmountain snow\nmountain sunrise\nmountain valley\nmountain valley to factory\nmountain valley to fortress\nmountain water\nmountaineous background\nmountainous\nmountainous area\nmountainous area. rare flora\nmountainous background\nmountainous jungle setting\nmountainous landscape\nmountainous setting\nmountainous terrain\nmountains\nmountains and a huge old city\nmountains and colorful sunset\nmountains and colorful sunset!!\nmountains and lakes\nmountains and ocean\nmountains and oceans\nmountains and rivers\nmountains and sunset\nmountains and sunset!!\nmountains at background\nmountains background\nmountains in a background\nmountains in background\nmountains in distance\nmountains in fog background\nmountains in the background\nmountains in the distance\nmountains made out of icebergs\nmountains of ice cream\nmountains of madness\nmountains on background\nmountains on the background\nmountains river trees\nmountains surrounding\nmountainscape\nmountainside\nmournful\nmourning\nmourning family\nmouse\nmouse body\nmouse ears\nmouse face\nmouse guard\nmouse guard sits on a stump\nmouse head\nmouse holding a drum\nmouse in clothes\nmouse nose\nmouse photo\nmouse with drum\nmousefolk\nmoustache\nmoutain\nmoutain in background\nmoutains\nmouth\nmouth agape\nmouth closed\nmouth half open\nmouth in mouth\nmouth in the bark\nmouth is simple and pleasant\nmouth of hell\nmouth open\nmouth open in a terrifying roar\nmouth shut\nmouth slightly open\nmouth wide open\nmouth wired shut\nmouths\nmouthwatering\nmove still\nmovement\nmovement effects\nmovie\nmovie accurate\nmovie action still frame\nmovie announcement\nmovie art\nmovie artwork\nmovie atmosphere\nmovie cgi\nmovie character\nmovie cinematography\nmovie clip\nmovie clockwerk orange\nmovie composition\nmovie concept\nmovie concept art\nmovie cover\nmovie environment design\nmovie film still\nmovie filmstill\nmovie firearms\nmovie footage\nmovie frame\nmovie frame still\nmovie grain\nmovie illustration\nmovie imax shot\nmovie inspired\nmovie leaks\nmovie level realism\nmovie lighting\nmovie lightning\nmovie lights\nmovie monster\nmovie pacific rim\nmovie photo\nmovie picture\nmovie poster\nmovie poster 1993 anime\nmovie poster 7 0's\nmovie poster 70s\nmovie poster art\nmovie poster character\nmovie poster for timecop academy\nmovie poster from 1960s\nmovie poster of earthbound 2\nmovie poster of street fighter\nmovie poster of the punic wars\nmovie poster painting\nmovie poster promo\nmovie poster style\nmovie poster with no text\nmovie posters\nmovie posters!\nmovie premiere poster\nmovie promo\nmovie promotional art\nmovie promotional image\nmovie quality\nmovie quality battle\nmovie scene\nmovie scene close up\nmovie scene portrait closeup\nmovie screen shot\nmovie screencap\nmovie screenshot\nmovie screenshot from star wars\nmovie set\nmovie setup\nmovie set”\nmovie shot\nmovie sonic\nmovie star\nmovie still\nmovie still 8 k\nmovie still 8k\nmovie still frame\nmovie still from blade runner\nmovie still from bladerunner\nmovie still from game of thrones\nmovie still from star wars\nmovie still from the matrix\nmovie still of a alien cyborg\nmovie still of a cool cyborg\nmovie still of a cyborg\nmovie still of a snarling\nmovie still of a tired\nmovie still of a villain cyborg\nmovie still of aztec cyborg\nmovie still of cyborg\nmovie still of emma watson\nmovie still of james bond\nmovie still of robot evangelion\nmovie still of robot goku\nmovie still of the alien girl\nmovie still promotion\nmovie stills\nmovie stills photography\nmovie style\nmovie texture\nmovie the lord of the rings\nmovie trailer\nmovie-cover-art headshot\nmovie-quality\nmovies\nmovies with guns\nmoviestill\nmoving\nmoving castle\nmoving forward\nmoving heads light beams\nmoving poetry\nmowhawk\nmowing of the hay\nmozzarella\nmozzarella everywhere\nmp5\nmp5s\nmp7\nmpc\nmr bean\nmr bean as captain america\nmr bean as spiderman\nmr bean as thanos\nmr bean face\nmr bean in the matrix\nmr beast\nmr clean\nmr krabs\nmr robert is drinking fresh tea\nmr sandman\nmr universe\nmr. bean\nmr. bean (rowan atkinson)\nmr. bean depicted as a muppet\nmr. bean rowan atkinson\nmr. grinch\nmr. house\nmr. krabs\nmr. nimbus character design\nmr. roboto\nmrbeast\nmri\nmrs bean\nmrs doubtfire as a witch\nmrs mills\nmrt\nms dos\nms paint\nms paint drawing\nmscow\nmspaint\nmsxotto\nmt elbrus at night\nmt. fuji\nmta subway entrance\nmtg\nmtg art\nmtg art style\nmtg card\nmtg card trading\nmtg d & d\nmtg d d\nmtg style\nmtv\nmu pan\nmuch detail\nmuch detailed\nmuch wow\nmucha\nmucha : :\nmucha and artem demura\nmucha art nouveau\nmucha bouguereau\nmucha klimt\nmucha klimt and tom bagshaw\nmucha m. c. escher\nmucha style\nmucha style 4k\nmucha tiffany kilian eng\nmucha vibe\nmucha |\nmucha. art nouveau. gloomhaven\nmuchain\nmuck\nmud\nmud and brick houses\nmud and rusty pipes\nmud on face\nmuddy\nmuddy colors\nmuddy embankment\nmuddy fur\nmuddy ground\nmuddy road\nmuddy village square\nmudoken\nmuffet from undertale\nmuffled colours\nmug shot\nmugler\nmugshot\nmugshot of darth vader\nmugshot!!!\nmugshot!!!!!\nmugshots\nmuhammad ali\nmuira\nmukbang\nmulan\nmulato\nmule\nmulholland drive\nmullet\nmullet haircut\nmullet long haircut\nmulti - coloured\nmulti - layer\nmulti - level\nmulti chromatic\nmulti color smoke\nmulti colored\nmulti colors\nmulti colour\nmulti layered huge architectures\nmulti layered thick brush marks\nmulti pastel colors\nmulti toned\nmulti-dimensional\nmulti-dimensional latent space\nmulti-layered artworks\nmulti-part\nmulticam\nmulticam (camo)\nmulticam camo\nmulticam uniform\nmulticolor\nmulticolor color scheme\nmulticolor glints\nmulticolored\nmulticolored crocheted cats\nmulticolored digital art\nmulticolored faces\nmulticolored glints\nmulticolored hair\nmulticolored tshirt art\nmulticolored vector art\nmulticolored weed leaves\nmulticolors. beksinski\nmulticoloured\nmultidimensional\nmultiexposure\nmultilayer\nmultilayered outfit\nmultilayered paint\nmultiphase flow\nmultiplayer set-piece\nmultiplayer set-piece :9\nmultiplayer set-piece ambush\nmultiple\nmultiple angles\nmultiple arms\nmultiple bass drums\nmultiple brush strokes\nmultiple colors\nmultiple desks\nmultiple details\nmultiple dimensions\nmultiple earrings\nmultiple exposure\nmultiple eyes\nmultiple faces\nmultiple flames\nmultiple floating swords\nmultiple golden necklaces\nmultiple guitars\nmultiple illusory arms\nmultiple layers\nmultiple levels\nmultiple lights\nmultiple limbs\nmultiple moons\nmultiple moons glowing\nmultiple perspectives\nmultiple point perspective\nmultiple poses\nmultiple purple halos\nmultiple small black eyes\nmultiple stars visible\nmultiple stories\nmultiple suns\nmultiple views\nmultiple waterfalls\nmultiple wide angles\nmultiscopy\nmultistory building\nmultiversal hair\nmultiverse\nmultiverse portal\nmultiverse!!!!!!\nmumbai in the future\nmummified in bandages\nmummy\nmummy portrait\nmunching pizza\nmundane\nmundy\nmunich\nmunkácsi and hollósy simon\nmunkácsy\nmuppet\nmuppet punk\nmuppet show\nmuppets\nmuppets in mad max\nmuppets movie\nmural\nmural art\nmuralism\nmurals\nmurano glass sculpture\nmurata\nmurata range\nmurata yasushi nirasawa style\nmurder\nmurder scene\nmurderous\nmurderous carnival freak\nmurdoc niccals\nmurky\nmurky dusty deep\nmurky lighting\nmurky water\nmurloc tinyfin\nmuscle\nmuscle body with battle scars\nmuscle cars\nmuscle definition\nmuscle extremely detailed\nmuscle striation visible\nmuscle tissue\nmusclebound and hulking\nmuscled\nmuscled humanoid balrog demon\nmuscled mila kunis\nmuscles\nmuscular\nmuscular and exhausted woman\nmuscular and terrifying\nmuscular arms\nmuscular bald man\nmuscular bernie sanders\nmuscular bodies\nmuscular body\nmuscular body tattooed\nmuscular body type\nmuscular build\nmuscular bull headed man\nmuscular character\nmuscular characters\nmuscular chest\nmuscular eldritch clockwork\nmuscular female druid\nmuscular female gnome engineer\nmuscular figure\nmuscular gigachad benediction\nmuscular girl\nmuscular joe biden\nmuscular legs\nmuscular magician man\nmuscular male\nmuscular male body\nmuscular male hero\nmuscular male undead cyborg\nmuscular man\nmuscular masculine figure\nmuscular men\nmuscular men entwined together\nmuscular neck\nmuscular sweat lara croft\nmuscular system reference\nmuscular thighs\nmuscular torso\nmuscular ultraviolent woman\nmuscular upper body\nmuscular warrior women\nmuscular werewolf\nmuscular!\nmuscular! crossfit\nmuscular! cyberpunk\nmuscular! fantasy\nmuscular! green\nmuscular! white\nmuscular!!\nmuscular!! sci-fi\nmuscular!!!\nmuscularcyberpunk\nmuscularfantasy\nmusculargreen\nmuscularsci-fi\nmusculated\nmusculature\nmusculine\nmusculous\nmuse\nmusee d'orsay 8 k\nmusee dorsay 8k\nmuseum\nmuseum archival photo\nmuseum archive\nmuseum archive photo\nmuseum art\nmuseum artifact\nmuseum background\nmuseum catalog\nmuseum catalog photograph\nmuseum catalog photography\nmuseum collection\nmuseum curator\nmuseum diffuse lighting\nmuseum display\nmuseum exhibit\nmuseum exposition\nmuseum ink painting\nmuseum item\nmuseum light\nmuseum lighting\nmuseum masterpiece\nmuseum of art\nmuseum of modern art\nmuseum painting\nmuseum photo\nmuseum photograph\nmuseum photography\nmuseum photoshot\nmuseum picture\nmuseum piece\nmuseum quality\nmuseum quality painting\nmuseum quality photo\nmuseum quality work\nmuseum sculpture\nmuseum setting\nmuseum work\nmushoku tensei\nmushroom\nmushroom cap\nmushroom city\nmushroom cloud\nmushroom cloud in the background\nmushroom cloud on horizon\nmushroom forest\nmushroom forest arch\nmushroom fractals\nmushroom house\nmushroom houses\nmushroom hut in background\nmushroom kingdom\nmushroom structures\nmushroom trees\nmushroom umbrella\nmushrooms\nmushrooms and peyote at the base\nmushrooms and plants\nmushrooms everywhere\nmushrooms grow\nmushrooms grow from the body\nmushrooms milky way\nmushrooms on the ground\nmushrooms style and macro style\nmusic\nmusic album art\nmusic album cover\nmusic being played\nmusic festival\nmusic in the air\nmusic instrument in hand\nmusic instruments\nmusic is life\nmusic notes\nmusic phd\nmusic poster\nmusic records\nmusic show\nmusic theme\nmusic video\nmusical\nmusical instrument\nmusical instruments\nmusical keyboard\nmusical notes\nmusical organ\nmusicality\nmusician\nmusicians\nmusicians playing instruments\nmusk ( 2 0 2 4 )\nmusk's mars migration program\nmuskular\nmuslim\nmuspelheim\nmustache\nmustache and soul patch\nmustafar\nmustang\nmustard\nmustard and ketchup\nmusty\nmusée d'orsay catalogue\nmusée dorsay catalogue\nmutahar laughing\nmutant\nmutants\nmutants creatures swarming\nmutants roaming in the evening\nmutated\nmutated flowers\nmutated wildlife\nmutation\nmute\nmute colors\nmute dramatic colours\nmuted\nmuted and dull colors\nmuted and pastel shades\nmuted arm colors\nmuted background\nmuted blue and red tones\nmuted brown\nmuted brown yellow and blacks\nmuted browns\nmuted but vibrant colors\nmuted cold colors\nmuted color\nmuted color (blues\nmuted color blues\nmuted color palette\nmuted color scheme\nmuted color tones\nmuted color. minimalist\nmuted colored bodysuit\nmuted colorful smoke\nmuted colors\nmuted colors with minimalism\nmuted colors!\nmuted colors!!!\nmuted colors. ue 5\nmuted colors. ue5\nmuted colour\nmuted colour palette\nmuted coloures\nmuted colours\nmuted colours 8 k\nmuted colours 8k\nmuted complementary colors\nmuted cyberpunk style\nmuted dark colors\nmuted deep neon color\nmuted dramtic color\nmuted fall colors\nmuted flat surreal design\nmuted green\nmuted intense colors\nmuted lighting\nmuted lights\nmuted multi-color lapis\nmuted neon colors\nmuted neon smoke\nmuted palette\nmuted palette mostly white\nmuted pastel colors\nmuted pastel tones\nmuted pastels\nmuted rainbow tubing\nmuted realistic colors\nmuted stage effects\nmuted tonal colors\nmuted tones\nmuted vaporwave unreal ombre\nmuted water color\nmuted water reflections\nmuted watercolor. minimalist\nmutiversal tsunami\nmutsumi akasaki\nmutt\nmutton chops\nmuttonchops\nmutud colors\nmuy definido\nmuy dotado\nmuzinabu\nmuzzle flash\nmx2\nmy blood is boiling\nmy computer icon\nmy dress up darling anime\nmy dress-up darling\nmy favorite friend\nmy heart is human\nmy hero academia\nmy home\nmy little everything\nmy little pony\nmy mom is going to be so mad\nmy neigbor totoro\nmy neighbor totoro\nmy pov\nmy rendition\nmy sleep paralysis demon\nmy son! the jaws that bite\nmy sonthe jaws that bite\nmy soul drifted away\nmy soul drifted away '\nmy true identity\nmyanmar\nmyazaki\nmycelium\nmycena acicula\nmycologist\nmycology\nmylene farmer\nmyllypuro water tower\nmyminifactory\nmyportfolio\nmyriad\nmyrtle\nmyself\nmyserious man\nmyst\nmyst island\nmyst on the air\nmysterio\nmysterious\nmysterious - eerie - ominous\nmysterious ambient lighting\nmysterious and lucid\nmysterious and scary forest\nmysterious atmosphere\nmysterious atmospheric lighting\nmysterious black slime\nmysterious breath\nmysterious canyon streams\nmysterious coffee shop girl\nmysterious crazy world\nmysterious creature\nmysterious creepy\nmysterious dense forest\nmysterious eerie portrait\nmysterious exterior\nmysterious feeling\nmysterious figure\nmysterious fog\nmysterious forest\nmysterious gaze\nmysterious girl\nmysterious glamour\nmysterious glow\nmysterious highly detailed\nmysterious inner glow\nmysterious island\nmysterious jungle painting\nmysterious laboratory\nmysterious light\nmysterious lighting\nmysterious man\nmysterious mist\nmysterious mood\nmysterious paranoia\nmysterious portrait\nmysterious portrait of a woman\nmysterious temple setting\nmysterious vibes\nmysterious woman\nmysterious x\nmysterious ， stream\nmysterious!\nmystery\nmystery and detective themed\nmystery code\nmystery horror\nmystery pokemon\nmystic\nmystic alchemical occult art\nmystic art\nmystic athmosphere\nmystic atmosphere\nmystic colors\nmystic dark cave\nmystic eye\nmystic eyes\nmystic haze\nmystic hermit\nmystic hue\nmystic hue clouds\nmystic hues\nmystic illustration\nmystic light\nmystic ninja\nmystic sheperd\nmystic style\nmystic unity\nmystic winter landscape\nmystical\nmystical and mysterious\nmystical and new age symbolism\nmystical anubis valkyrie\nmystical art\nmystical atlantean valkyrie\nmystical atmosphere\nmystical baroque\nmystical birds\nmystical blue fog\nmystical cathedral windows\nmystical color scheme\nmystical colors\nmystical cosmic lighting\nmystical cosmic messenger\nmystical energy\nmystical energy in the air\nmystical eyes\nmystical fantasy\nmystical fantasy landscape\nmystical feeling\nmystical figure\nmystical fog\nmystical forest\nmystical forest background\nmystical forest lagoon\nmystical insects\nmystical kew gardens\nmystical lake\nmystical lake view vista\nmystical light\nmystical lighting\nmystical lights\nmystical night\nmystical oil on linen\nmystical orange fog\nmystical post apocalyptic cyborg\nmystical purity\nmystical scene\nmystical sci-fi concept art\nmystical setting\nmystical shadows\nmystical swirls\nmystical third eye\nmystical valkyrie\nmystical”\nmysticism\nmystifying\nmystique\nmyth\nmyth of narcissus\nmythic\nmythic island\nmythical\nmythical cosmic shrine\nmythical creature\nmythical creatures\nmythical floral hills\nmythical gigantic space cavern\nmythical shrine\nmythical whimsical creatures\nmythological\nmythological map\nmythological painting\nmythology\nmythology artwork\nmythos of id\nmythpunk\nmöbius\nmöbius and æon flux\nmúseca illil\nn - 4\nn - 6\nn - 9\nn -4\nn -9\nn 2\nn 4\nn 6\nn 6 4\nn 6 4 graphics\nn 64\nn 64 graphics\nn 7\nn 7 armor\nn 9\nn eddy take a trip to tokyo\nn- 4\nn- 9\nn-4\nn-9\nn4\nn64\nn64 graphics\nn7\nn9\nnaboo\nnacho man randy savage\nnachos\nnachosaurus\nnacre\nnacre colors\nnacre painting\nnacreous lights\nnadar\nnadav kander\nnadezhda tikhomirova\nnadir lighting\nnag\nnaga\nnaga-hakash\nnaga-tirr\nnagas\nnagasaki\nnagash editorial\nnagatoro\nnagel\nnagito komaeda\nnagito komaeda from danganronpa\nnail art\nnail polish\nnails\nnaive\nnaivistic art\nnakolki\nnam june paik\nnamco\nname is tripmachine\nname of the character is chad\nnami\nnami from one piece\nnami one piece\nnanae kawahara\nnancy grossman\nnancy pelosi\nnanite\nnano\nnano hex armor hull\nnano parts\nnano technology\nnanocarbon-vest\nnanocarbon-vest greaves\nnanogirl\nnanogirlv 2\nnanomachines\nnanomaterials\nnanopunk\nnanotech demonic monster horror\nnanotechnology\nnanquan\nnaoki ikushima\nnaomi campbell\nnaoto fukasawa\nnaoto hattori\nnaotto hattori\nnaoya tanaka\nnapa\nnaples\nnapoleon\nnapoleon crossing the alps\nnapoleon dynamite\nnapoleonic\nnapoleonic wars\nnaranbaatar ganbold\nnarasimha\nnarcissist\nnarcissistic\nnarendra modi\nnarnia\nnarrative nature\nnarrative realism\nnarrow\nnarrow and winding cozy streets\nnarrow angle\nnarrow blue grey eyes\nnarrow depth of field\nnarrow eyes\nnarrow face\nnarrow focus\nnarrow footpath\nnarrow hallway\nnarrow lips\nnarrow nose\nnarrow passage\nnarrow shot\nnarrow street\nnarrow streets\nnarrow tired blue grey eyes\nnarrow waist\nnarrow wings behind\nnarumi kakinouchi\nnaruto\nnaruto artstyle\nnaruto in gta v\nnaruto uzumaki\nnarval\nnas\nnasa\nnasa and roscosmos\nnasa archival photo\nnasa archives\nnasa canadarm\nnasa eva suit\nnasa footage\nnasa image\nnasa images\nnasa photo\nnasa photograph\nnasa photography\nnasa photos\nnasa picture\nnasa quality\nnasa space photography\nnasa space tourism\nnasa true color 8k image\nnasa true color photograph\nnasal strip\nnascar\nnascar race\nnasreddine dinet\nnasty\nnasus\nnat geo\nnat geo award winner\nnatali portman\nnatalia dyer\nnatalie dormer\nnatalie from epic battle fantasy\nnatalie portman\nnatalie portman as a goddess\nnatalie portman as catwoman\nnatalie portman in star trek\nnatalie shau\nnatalie shau tom bagshaw\nnatasha tan maciej kuciara\nnate berkus\nnate fakes\nnatgeo\nnathalie emmanuel\nnathan fielder\nnathan fielder and groucho marx\nnathan fillion\nnathan for you\nnathan fowkes\nnation geographic style\nnational - geographic\nnational archives\nnational art school mfa\nnational gallery\nnational geograph\nnational geographic\nnational geographic channel\nnational geographic cover\nnational geographic footage\nnational geographic magazine\nnational geographic photo\nnational geographic photo award\nnational geographic photo shoot\nnational geographic photograph\nnational geographic photographs\nnational geographic photography\nnational geographic photos\nnational geographic photoshoot\nnational geographic photo”\nnational geographic quality\nnational geographic style”\nnational geographic ”\nnational geographical\nnational geographics\nnational geography\nnational geography photography\nnational geograpic\nnational geohraphic\nnational portrait gallery\nnationalgalleryofart\nnationalist\nnative american\nnative american art\nnative american folk art\nnative american warrior\nnative art\nnative rich jewelry\nnatsume yuujinchou\nnatsumi mukai artwrok\nnatural\nnatural and organic and flowing\nnatural atmosphere\nnatural background\nnatural beard\nnatural beauty\nnatural beauty expressive pose\nnatural blonde gold like hair\nnatural bones and skin\nnatural botanical gardens\nnatural brown hair\nnatural candle lighting\nnatural cave wall\nnatural color palette\nnatural color scheme\nnatural color skin\nnatural colors\nnatural colours\nnatural complexion\nnatural contour aesthetics!!\nnatural disaster\nnatural dull colors\nnatural dull colours\nnatural dynamic range color\nnatural earth tone colors\nnatural environment\nnatural eyes\nnatural fragile pose\nnatural geographic\nnatural geographic photography\nnatural grassy background\nnatural grizzled skin\nnatural hair\nnatural hands and arms\nnatural history\nnatural indoor lighting\nnatural landscape\nnatural landscape background\nnatural landscape beauty\nnatural lighing\nnatural light\nnatural light beam\nnatural light canon eos c 3 0 0\nnatural light canon eos c 300\nnatural light in room\nnatural light outside\nnatural light window\nnatural lighting\nnatural lighting. 8 k\nnatural lightning\nnatural lights\nnatural lips\nnatural look\nnatural make-up\nnatural makeup\nnatural materials\nnatural materials  high detail\nnatural materials :: high detail\nnatural media\nnatural mini gardens\nnatural morning light\nnatural mustache\nnatural muted tones\nnatural overcast lighting\nnatural physique\nnatural point rose\nnatural point rose'\nnatural pose\nnatural prison light\nnatural realistic render\nnatural reflections\nnatural sensuality\nnatural shaders\nnatural short hair\nnatural skin\nnatural skin tone\nnatural skin tone 4k textures\nnatural skin tones\nnatural soft light\nnatural soft pale skin\nnatural soft rim light\nnatural starlight\nnatural stone road\nnatural straight black eyebrows\nnatural straight eyebrows\nnatural study\nnatural sunlight\nnatural textures\nnatural tones\nnatural tpose\nnatural volumetric light\nnatural volumetric lighting\nnatural weight\nnatural window lighting\nnatural wood top\nnaturalist\nnaturalist illustration\nnaturalistic\nnaturalistic technique\nnature\nnature aesthetics\nnature and clouds in background\nnature and floral aesthetics\nnature art\nnature background\nnature colors\nnature documentary\nnature documentry footage\nnature druid\nnature druid dreaming\nnature elements\nnature environment\nnature futurism\nnature goddess\nnature grotesque dark\nnature growing around the city\nnature illustration tattoo\nnature in all its beauty\nnature journal\nnature journal cover\nnature landscape\nnature lighting\nnature macro\nnature magazine\nnature magic\nnature meets architecture\nnature outside\nnature overgrowth\nnature painting\nnature photo\nnature photograph\nnature photography\nnature photography 4k\nnature returning to the city\nnature scenery\nnature show\nnature study\nnature taking back\nnature taking over\nnature trees\nnature unity\nnature utopia\nnature wallpaper\nnaturecore\nnaturel\nnaturist\nnaudline pierre\nnaughty\nnaughty expression\nnaughty smile\nnausicaa\nnausicaa ghibli\nnautical maps\nnautical maps grafitti\nnautical siren\nnautilus\nnautilus brain\nnaval background\nnaval battle\nnaval battles\nnaval landscape\nnaval warfare\nnavel\nnaver fanpop\nnavid negahban\nnavigation command center\nnavigator glasses\nnavy\nnavy blue\nnavy blue armor\nnavy blue carpet\nnavy blue shorts\nnavy flags\nnavy hair\nnavy leotard costume\nnavy shirt\nnavy-blue\nnazare (portugal)\nnazare portugal\nnazca design\nnazgul\nnazgul from lord of the rings\nnazgul mandelbulb\nnazi germany\nnazi propaganda\nnazism\nnaïve art\nnba\nnba 2 k 2 1\nnba finals\nnba logo\nnba style bulldog mascot\nnbc\nnc wyeth\nnc wyeth painting\nnd 4\nnd 6\nnd4\nne zha from smite\nneal adam\nneal adams  centered\nneal adams  dark\nneal adams  portrait\nneal adams  sinister\nneal adams | centered\nneal adams | dark\nneal adams | portrait\nneal adams | sinister\nneal asher sci - fi\nneal hanson\nneanderthal people\nneanderthal people eating sushi\nnear a galaxy\nnear a japanese shrine\nnear a jetty\nnear a lake\nnear a river\nnear a small lake\nnear a stone gate\nnear a window\nnear a window window\nnear crystal temple in atlantis\nnear farm\nnear forest\nnear future\nnear future 2 0 3 0\nnear his barrel home\nnear kitchen stove\nnear lake baikal\nnear pond\nnear the beach\nnear the black cauldron\nnear the sea\nnear the seashore\nnear the window\nnearest neighbor\nnearly napping\nneat\nneat and tidy\nneat baerd\nneat beard\nneat braided hair\nneat drawing\nneat hair\nneat hair with bangs\nneat intricate braided hair\nneat nails\nneat white beard and hair\nneatly coming out of her head\nnebula\nnebula aura surrounding subject\nnebula background\nnebula clouds\nnebula explosion\nnebula highly detailed\nnebula in background\nnebula in the background\nnebula in the sky\nnebula in universe\nnebula reflections\nnebula size\nnebula sized\nnebula sky\nnebula space background\nnebula sunset\nnebula waterfalls\nnebula with the shape of a skull\nnebulae\nnebulae background\nnebulae colors\nnebulae!!\nnebulae. volumetric lighting\nnebulas\nnebulas in background\nnebulas swirls\nnebulizer equipment\nnebulous\nnebulous bouquets\nneck\nneck chains\nneck rings\nneck shackle\nneck tattoos\nneck up\nneck visible\nneck wrinkles\nneck zoomed in\nneck zoomed in from lips down\nneckbeard\nnecklace\nnecklace on display\nneckline\nnecktie\nneco arc\nnecro\nnecromancer\nnecromancer sitting at table\nnecromancer sorceress\nnecromancy\nnecromorph\nnecromunda\nnecronom v\nnecronomicon\nnecronomicon style\nnecropolis\nnecrosis\nned flanders\nned kelly\nneed for speed\nneed for speed : carbon\nneedle felting\nneedle felting art\nneedles\nnefarious\nnefarious smirk\nneferpitou\nnefertiti\nnegao\nnegative\nnegative and positive shapes\nnegative energy\nnegative mood\nnegative no not mona lisa pose\nnegative self-talk\nnegative space\nnegative space is mandatory\nneighborhood\nneighborhood outside window\nneighborhood themed\nneil blevin\nneil blevins and jordan grimmer\nneil blomkamp film landscape\nneil breen face\nneil degrasse tyson\nneil gaiman\nneil leifer\nneil richards\nneil ross\nneil young\nneil young design\nneill blomkamp\nneko\nnekomimi\nnekro\nnekro borja\nnekro iii\nnekro petros afshar\nnekro xiii\nnendoroid\nnendoroid 3 d\nnendoroid eyes\nnendroid\nneo\nneo - andean architecture\nneo - classical\nneo - classical composition\nneo - classical style\nneo - dada\nneo - expressionism\nneo - fauvism\nneo - figurative\nneo - gothic\nneo - gothic architecture\nneo - gypsy caravan\nneo - impressionism\nneo - impressionist\nneo - impressionist surrealism\nneo - noir\nneo - noir setting\nneo - noir style\nneo - noire\nneo - primitivism\nneo - renaissance\nneo - romanticism\nneo - tokyo\nneo brutalism\nneo brutralism\nneo classical architecture\nneo culture technology\nneo expressionism\nneo expressionism art\nneo from matrix\nneo from the matrix\nneo geo\nneo goth\nneo gothic\nneo kyiv\nneo noir\nneo noir style\nneo noire\nneo norilsk\nneo rauch and nadav kander\nneo rococo expressionist\nneo soul\nneo surrealism\nneo tokyo\nneo tokyo background\nneo vaporwave\nneo-andean architecture\nneo-classical\nneo-classical composition\nneo-classical painting\nneo-classicism\nneo-cyberpunk\nneo-expressionist\nneo-expressionist style\nneo-expressionistic\nneo-gothic\nneo-gothic concept\nneo-noir\nneo-pagan\nneo-rococo expressionist style\nneo-tokyo\nneoartcore\nneoartcore and charlie bowater\nneobrutalist architecture\nneobrutalistic\nneochrome colors\nneoclassic\nneoclassic oil painting\nneoclassic painting\nneoclassical\nneoclassical architecture\nneoclassical art\nneoclassical composition\nneoclassical painting\nneoclassical paintings\nneoclassical police station\nneoclassical portrait\nneoclassical style\nneoclassical tower with dome\nneoclassicism style\nneoclassicist painting\nneodada\nneoexpressionism\nneoexpressionism ”\nneoexpressionism”\nneoexpressionist\nneofuture\nneofuturistic\nneofuturistic highly detailed\nneogothic\nneogothic art\nneoimpressionist\nneolithic standing stones\nneon\nneon accent lights\nneon accents\nneon advertisements\nneon aesthetic\nneon ambiance\nneon ambience\nneon ambient lighting\nneon ancient ruins\nneon and dark\nneon armor\nneon art\nneon art style\nneon aztec\nneon background\nneon background lighting\nneon backlighting\nneon backlit\nneon bar lights\nneon basement\nneon billboards\nneon bioluminescence\nneon blacklight color scheme\nneon blue\nneon blue and yellow lights\nneon blue color\nneon blue glass forehead\nneon blue highlights\nneon circles\nneon city\nneon city domes\nneon city in the background\nneon cityscape background\nneon color\nneon color bioluminescence\nneon color bleed\nneon color details\nneon color mixed media painterly\nneon color palette\nneon color scheme\nneon colored\nneon colored dress\nneon colored haze\nneon colored suit\nneon coloring\nneon colors\nneon colors vibrant colors\nneon colours\nneon cross\nneon cybernetic implants\nneon cyberpunk\nneon cyberpunk colors\nneon cyberpunk highlights\nneon cyberpunk style\nneon cyberpunk vibrant colors\nneon dark lighting\nneon digital art\nneon edges on bottom of body\nneon electronic\nneon electronic signs\nneon eyeballs\nneon eyes\nneon face paint\nneon face tattoo\nneon floral pattern\nneon flowers\nneon fluorescent\nneon fluorescent colors\nneon fog\nneon genesis\nneon genesis evangelion\nneon genesis evangelion fanart\nneon genesis evangelion style\nneon geometric inks\nneon geometry\nneon glitch\nneon glow\nneon glow concept art\nneon glow soft bokeh\nneon glowing\nneon glowing eyes\nneon glowing lines\nneon glowing spells\nneon glowing wood\nneon glowy edges\nneon gradient\nneon graffiti\nneon greek\nneon green\nneon green lava streets\nneon hair\nneon hand sports bracelet\nneon heart reactor\nneon highlights\nneon holograms\nneon hooves\nneon inc\nneon ink\nneon jacuzzi\nneon jellyfish\nneon jellyfish headdress\nneon jungle\nneon lamp\nneon landscape\nneon lens flare\nneon lenses\nneon lenses for eyes\nneon letters tripmachine\nneon ligh\nneon light\nneon light and fantasy\nneon light edge\nneon light language\nneon light rooftop\nneon light showing injuries\nneon lighting\nneon lighting and spotlights\nneon lighting medium full shot\nneon lightning\nneon lights\nneon lights above shops\nneon lights all around\nneon lights and adds\nneon lights everywhere\nneon lights in background\nneon lights in the background\nneon lights in the city below\nneon lights lots of trees\nneon lights outside\nneon ligths\nneon lines\nneon lit\nneon madhubani\nneon megacity in the background\nneon motion\nneon mushrooms\nneon music notes\nneon night\nneon noir\nneon noire\nneon operator\nneon operator margot robbie\nneon orange\nneon outline\nneon outlines\nneon paint drip\nneon palette\nneon particles\nneon pastel\nneon pastel color palette\nneon pastel colors\nneon pillars\nneon pink\nneon pink and black color scheme\nneon purple\nneon purple light\nneon radioactive swamp\nneon rain\nneon rainbow drip paint\nneon rainbow quartz\nneon rainy cyberpunk setting\nneon reflections\nneon reflections in the puddles\nneon rim light\nneon road\nneon roman\nneon samurai\nneon scales and cyborg tech\nneon shops\nneon sign\nneon signs\nneon signs in background\nneon signs in the distance\nneon smoke\nneon sparkles everywhere\nneon standup bar\nneon static\nneon steampunk\nneon street\nneon streetlights\nneon style\nneon sunglasses\nneon sunglasses!\nneon synth wave\nneon tattoo\nneon tint\nneon tokyo\nneon tones\nneon tube jewelry\nneon version of style jim burns\nneon vibe\nneon vibes\nneon virtual networks\nneon visor\nneon volumetric lights\nneon wings\nneon wires\nneon wiring\nneon yellow glowing mushrooms\nneon yellow madhubani\nneon yellow stars\nneon! retrowave\nneon!! light\nneon!!!!!! atmosphere\nneon-noir background\nneon-yellow-holographic wings\nneonlights\nneonpunk\nneonretrowave\nneons\nneonwave\nneoplasticism art\nneoprene\nneorenaissance\nneosurrealism\nneosurrealism. digital art\nneosvr\nneosvr!!!\nneotenous\nneotokyo\nneotokyo source\nneotrad\nneotraditional modern\nneotraditional modern minimalist\nneotraditional tattoos\nneotribal\nnepal\nnepali architecture buildings\nnephilim\nneptune\nnerd\nnerd emoji\nnerds\nnerdy\nnerdy appearance\nnerdy black girl super hero\nnerdy glasses\nnerdy man character portrait\nnerdy music teacher with phd\nnerf or nothing\nneri oxman\nnerve cells\nnerve system\nnerves\nnerves and muscles\nnervous\nnervous and terrified\nnervous system\nnes\nness from earthbound\nnest\nnest is made of sticks\nnest of vipers\nnesting glass doors\nnestled in a forest\nnestor canavarro hyperrealist\nnet of being\nnetfilx !n-9\nnetfilx n-9\nnetflix\nnetflix animation\nnetflix logo\nnetflix neon logo concept art\nnetflix series\nnetflix trese\nnether\nnetherlands\nnetrunner\nnets\nnets and boats\nnettie wakefield\nnetting\nnetwork\nnetworking\nneural\nneural acrylic paint\nneural machine\nneural network\nneural networks\nneural pointillism\nneuro web\nneurochip\nneurograph\nneurological marvel\nneuromancer\nneuromancy\nneuromorphic chip\nneuron\nneuron dendritic monster\nneurons\nneurons and synapses\nneurons firing\nneuroscience\nneutral\nneutral background\nneutral color\nneutral color neo - fauvism\nneutral colors\nneutral colours\nneutral dull colors\nneutral expression\nneutral expressions\nneutral face\nneutral flat lighting\nneutral focused gaze\nneutral light\nneutral lighting\nneutral milk hotel\nneutral pose\nneutral sky\nneutral tones\nneutron\nneutron star\nnever before seen\nnever ending story\nnever erased\nnever gonna give you up\nnever gonna let you down\nnever one - to - one\nnever seen before\nneverending - story\nneverending story\nneverwinter nights\nneville page\nnew\nnew - york skyline in winter\nnew adidas logo design\nnew adventure\nnew age\nnew age album cover\nnew ai race\nnew album cover\nnew art nouveau\nnew balance pop up store\nnew baroque\nnew boards of canada album cover\nnew cats movie\nnew character\nnew classic\nnew contemporary\nnew contemporary art\nnew costume concept design\nnew design\nnew emoji of biting your lip\nnew england architecture\nnew england ipa\nnew gods\nnew guinea mud man\nnew hampshire\nnew hampshire mountain\nnew horror movie advertising\nnew jersey\nnew mexican desert background\nnew mexico\nnew mexico desert\nnew mexico with a yellow filter\nnew modern\nnew musical instruments\nnew orleans\nnew pokemon\nnew polaroid\nnew realism\nnew release\nnew scifi movie\nnew song\nnew species\nnew stranger things season\nnew tokyo\nnew vegas style\nnew vehicle\nnew wave\nnew wave of british heavy metal\nnew years eve\nnew york\nnew york alleyway\nnew york back street\nnew york backdrop\nnew york background\nnew york buildings\nnew york city\nnew york city as backdrop\nnew york city at night\nnew york city background\nnew york city in the year 2100\nnew york city skyline\nnew york harbour\nnew york in the future\nnew york in the seventies\nnew york skyline\nnew york streets\nnew york times\nnew york zoo in the background\nnew yorker cartoon\nnew yorker illustration\nnew yorker magazine cover\nnew zealand\nnew zealand landscape\nnew zeeland\nnewgrounds\nnewly hatched dragon\nnews\nnews archive\nnews broadcast\nnews coverage\nnews feed\nnews footage\nnews photo\nnews photograph\nnews photography\nnews report\nnews reporter anthony conn\nnews segment\nnewsboy cap\nnewspaper\nnewspaper article\nnewspaper clipping\nnewspaper clippings\nnewspaper collage\nnewspaper comic strip\nnewspaper illustration\nnewspaper photo\nnewspaper photograph\nnewspaper photography\nnewspaper picture\nnewspaper style\nnewspaper. stock certificate\nnewstyle\nnewsweek\nnewton's cradle\nnewts\nnext gen\nnext gen game\nnext gen graphics\nnext gen rendering\nnext generation graphics\nnext to a big window\nnext to a cup\nnext to a farm house and a barn\nnext to a plant\nnext to a pool\nnext to a red barn\nnext to a river\nnext to a small river\nnext to a tree\nnext to a tropical pool\nnext to a waterfall\nnext to a window\nnext to an rv\nnext to farm fields and trees\nnext to it is a toy ray gun\nnext to sliced strawberries\nnext to some alien plants\nnext to the dinosaur are cavemen\nnext to the reflecting ocean\nnext to the sea\nnext to window\nnext-gen graphics\nnexters\nney matogrosso with malice\nneymar\nneymar in fortnite\nneymar in gta v\nneymar jr\nnezha\nnezha : birth of the demon child\nnezuko\nnezuko-chan\nnfl\nnft\nnft art\nnft portrait\nnft style\nnfts\nngai victo\nngai victo and dougherty patrick\nnge\nnge dark fantasy\nnhl\nnhl logo\nniagara falls\nnice\nnice afternoon lighting\nnice art\nnice background bokeh\nnice clouds\nnice color scheme\nnice colors\nnice colour scheme\nnice composition\nnice composition and photography\nnice deep colours\nnice face\nnice legs\nnice lighting\nnice slight overcast weather\nnice spring afternoon lighting\nnice studio lighting\nnice style culture\nnice sunset\nnice view\nnice weather\nnicely detailed\nnichijou\nnicholas\nnicholas cage\nnicholas cage as monkey d luffy\nnicholas cage as superman\nnicholas ii of russia\nnicholas kalmakoff\nnicholas roerich!!\nnicholas weltyk\nnick alm\nnick cave pondering his orb\nnick drnaso\nnick knight\nnick land\nnick park\nnick silva\nnick silva and ilya kuvshinov\nnick wilde\nnick wilde from zootopia\nnickelodeon\nnicki minaj\nnicki minaj curvy\nnico delort\nnico robin\nnico tanigawa\nnico wearing a white dress\nnicodemus\nnicodemus yang-mattisson\nnicol bolas\nnicola salvior\nnicola samuri\nnicolas bouvier\nnicolas bouvier sparth\nnicolas cage\nnicolas cage as an android\nnicolas cage as dracula\nnicolas cage as superman\nnicolas cage mossy statue\nnicolas cage's face on an egg\nnicolas cages face on an egg\nnicolas delort\nnicole aniston\nnicole de boer\nnicole kidman\nnicovideo\nniea 7\nniel davis\nniele toroni\nnielly\nniels otto møller\nnier\nnier 2 b\nnier : automata inspired\nnier autoamata\nnier automata\nnier automata concept art\nnier automata concept artsyle\nnier automata spaceship style\nnier inspired\nnier:automata\nnier:automata inspired\nniflheim\nnigel thornberry\nnight\nnight - time\nnight - time city background\nnight ambience\nnight and bright sun\nnight atmosphere\nnight background\nnight black sky background\nnight blade runner\nnight cam footage\nnight camera\nnight city\nnight city background\nnight city in the background\nnight city on the background\nnight cityscape\nnight clouds\nnight club\nnight clubs and neons\nnight color\nnight colors\nnight covered in stars\nnight cyberpunk city\nnight dramatic lighting\nnight fill lighting\nnight forest\nnight forest background\nnight fury\nnight in a dark forest\nnight in the city\nnight in the forest\nnight landscape\nnight landscape background\nnight life\nnight life buildings\nnight light\nnight lighting\nnight lights\nnight mood\nnight on a summer miami beach\nnight on nar shaddaa\nnight outdoors\nnight outside\nnight photo\nnight photography\nnight realism\nnight scene\nnight scenery\nnight sea\nnight sea storm\nnight setting\nnight shot\nnight skies\nnight sky\nnight sky background\nnight sky full of flowers\nnight sky full of stars\nnight sky photography\nnight sky reflected in the water\nnight sky with clouds and stars\nnight sky with dazzling stars\nnight sky with many meteorites\nnight sky with moon\nnight sky with stars\nnight sky; 8k\nnight starry sky full of cats\nnight stars\nnight street\nnight time\nnight time australian outback\nnight time city background\nnight time dark with neon colors\nnight time footage\nnight time lighting\nnight time low light\nnight time moonlight\nnight time photograph\nnight time photography\nnight time raid\nnight time render\nnight time scene\nnight time with starry sky\nnight tokyo metropoly\nnight under the starry sky\nnight view\nnight vision\nnight vision goggles\nnight vision very blurry\nnight with moon and candle\nnight!\nnight-time\nnight. by greg rutkowski\nnightcafe\nnightcap\nnightclub\nnightclub background\nnightclub dancing inspired\nnightcore\nnightfall\nnightfall. quiet\nnightgown\nnighthawks\nnightime\nnightime long exposure\nnightime village background\nnightlife\nnightlight\nnightlight study\nnightmare\nnightmare - like dream\nnightmare anomalies\nnightmare before christmas\nnightmare creature\nnightmare creatures\nnightmare digital art\nnightmare fuel\nnightmare fuel!!!\nnightmare in the park\nnightmare inducing\nnightmare landscape\nnightmare portrait\nnightmare render\nnightmare scene\nnightmare vision\nnightmare world\nnightmares\nnightmarish\nnightmarish illustration\nnights\nnightscape\nnightshot\nnightsky\nnighttime\nnighttime foreground\nnighttime in gotham city\nnighttime moonlit\nnighttime nature landscape\nnighttime photography\nnighttime scene\nnighttime!\nnighttime!!\nnighttime!!!!!!\nnightvision\nnigredo\nnigt\nnigth\nnigth moon ligth\nnihilism\nnihilistic\nnihonga\nnika maisuradze\nnike\nnike air max\nnike alpha huarache 7 elite\nnike cycling suit\nnike logo\nnike shirt\nnikkon\nnikkor\nnikkor 20mm f1.8 lens\nniko oneshot riding a roomba\nnikola jokic as the joker\nnikola tesla\nnikolai karelin\nnikolai tesla in his lab\nnikolay\nnikolay georgiev\nnikolay kopeykin\nnikon\nnikon 1 0 - 2 4 mm\nnikon 10 - 24 mm\nnikon 10mm\nnikon 200mm\nnikon 3 5 mm\nnikon 3 5 mm photography\nnikon 35 mm\nnikon 35 mm photography\nnikon 35mm\nnikon 5 0 mm\nnikon 50 mm\nnikon 50mm\nnikon 50mm camera\nnikon 50mm f/1.8g\nnikon 85mm f/5.6\nnikon camera\nnikon camera 8 k\nnikon camera 8k\nnikon d 4 x\nnikon d 6\nnikon d 7 2 0 0\nnikon d 7 5 0\nnikon d 7 8 0\nnikon d 7200\nnikon d 750\nnikon d 780\nnikon d 8 0 7\nnikon d 8 1 0\nnikon d 8 5 0\nnikon d 8 5 0 camera\nnikon d 810\nnikon d 850\nnikon d3\nnikon d6\nnikon d750\nnikon d810\nnikon d850\nnikon lens\nnikon ltm lens 3 5 mm lens\nnikon ltm lens 35 mm lens\nnikon macro 40mm\nnikon mirrorless\nnikon photography\nnikon shot\nnikon z 9\nnikon z7\nnilah\nnile river environment\nnilian animation studio\nnimble\nnimbus\nnina agdal\nnina dobrev\nnina masic\nnina tryggvadottir\nninchaku\nnine separated hd\nnine tails\nnine-dimensional\nninetales\nnineteen eighties\nnineteen seventies\nnineteen-dimensional\nnineteenth century\nnineteenth century london\nnineties nostalgia\nnineties photography\nninja\nninja cat\nninja jesus\nninja outfit\nninja scroll anime style\nninja scrolls\nninja turtle eating pizza\nninja turtles\nninja warrior\nninja with katana of water wave\nninjala\nninjas\nnintendo\nnintendo 6 4\nnintendo 6 4 release day\nnintendo 6 4 screenshot\nnintendo 64\nnintendo 64 screenshot\nnintendo clouds\nnintendo ds\nnintendo ds video game\nnintendo game\nnintendo game art\nnintendo official media\nnintendo style\nnintendo switch\nnintendo64\nnintendocore\nnipple\nnipsey hussle\nnirvana\nnisachar art\nnishihara isao\nnishimiya shouko\nnissan gtr r 3 4\nnissan gtr r 34\nnite - owl\nnitid and detailed background\nnitid horizon\nnitro colors\nnitro paint\nnitrogen-rich soil\nnivanh chanthara\nnixeu\nnixeu and greg rutkowski\nnixeu and sakimichan\nnixie tube\nnixie tubes\nnixri\nnizou yamamoto\nnmm\nno\nno - pupils\nno - text no - logo\nno aditional arms\nno aditional characters\nno aditional legs\nno aditional legs!\nno animals\nno arms\nno army\nno artefacts\nno artifacts\nno artifacts!!!!!\nno background\nno background and shadows\nno bangs\nno beard\nno bloom\nno blur\nno blur dof bokeh\nno body\nno border\nno borders\nno bricks\nno buildings\nno cars\nno cars. sharp focus\nno character\nno characters\nno clothes\nno clouds\nno collage\nno color\nno colors\nno crop\nno cropping\nno curves\nno cutoff\nno dark portents\nno decaying lines\nno depth of field\nno detail\nno details\nno distorsion\nno distortion\nno distortion on subject faces\nno distortions\nno dof\nno double figure\nno double head\nno duplicate\nno duplicate content\nno duplicate image\nno ears\nno epaulettes\nno escape\nno extra arms\nno extra arms!\nno extra character\nno extra characters\nno extra ears\nno extra hands\nno extra limbs\nno eyebrow\nno eyebrows\nno eyes\nno face\nno face mask\nno faces\nno faces visible\nno facial\nno facial features\nno facial hair\nno fear\nno fears\nno filter\nno fine details\nno flag patch\nno flash\nno focus\nno fog\nno foliage\nno frame\nno frames\nno fur\nno furniture\nno future\nno future!!!!\nno glasses\nno glow\nno gold\nno gold colours\nno gradient\nno gradients\nno grain\nno grass\nno grass or trees\nno gravity\nno green\nno greenery\nno grid lines\nno ground\nno ground visible\nno hair\nno hair completely bald\nno hands\nno hands visible\nno hard shadow\nno hat\nno hd\nno head\nno headgear\nno helmet\nno helmet!!!!\nno helmets\nno hood | | realistic shaded\nno hoodie\nno horns\nno horses\nno human\nno humans\nno imperfections\nno irises\nno jagged lines\nno jersey\nno land\nno legs\nno less\nno letters\nno life\nno light\nno light penetrates to room\nno light reflecting off paint\nno lighting\nno lights\nno lights in bedroom\nno lipstick\nno logo\nno logo!!!\nno long neck\nno makeup\nno makeup wavy hair\nno man\nno man sky\nno man sky concept art\nno man's land\nno man's sky\nno man's sky landscape\nno man's sky righteous auditor\nno mans land\nno mans sky\nno mans sky spaceship\nno mask\nno medals\nno more\nno more heroes concept art\nno more than three characters\nno mountains\nno mouth\nno mustache\nno noise\nno nose\nno nudity\nno numbers\nno one around\nno outline\nno pants\nno path\nno people\nno people 4k\nno person\nno planets\nno plants\nno power\nno rainbow\nno red colour\nno reins\nno repeat\nno repetition\nno restaurant\nno rider\nno shade\nno shading\nno shadow\nno shadows\nno shirt\nno shirt under the vest\nno shoes\nno signature\nno skin\nno skin shown\nno sky\nno sky scrapers\nno smoke\nno speech bubbles\nno spot over right eye\nno spot right eye\nno stipe\nno stubble\nno sun\nno surroundings\nno tail\nno talking\nno tattoos\nno teeth\nno text\nno text!\nno textures\nno tiling\nno trees\nno trees around\nno trees or grass\nno trees ， hyper detailed\nno two bodies\nno two heads\nno two rooms are identical. 4k\nno type\nno ui\nno water\nno watermark\nno watermark signature\nno watermarks\nno windows\nno wings\nno women\nno words\nno words 4 k\nno yellow color\nno yellow color in eyes\nnoah bradley concept art\nnoah bradley. sharp focus\nnoah's ark\nnoahs ark\nnobel prize\nnobility\nnoble\nnoble elf male in black robes\nnobles\nnobodies\nnobody\nnobody here\nnobody knows the future\nnobody living there\nnobutaka ike\nnobuyoshi araki\nnoctilucent\nnoctilux 50mm\nnocturnal\nnocturnal palette\nnocturnal spiritual scene\nnocturne\nnocturne from league of legends\nnodachi\nnoelle stevenson\nnofilter\nnoh theatre mask\nnoir\nnoir animation\nnoir art house\nnoir arthouse\nnoir detective\nnoir detective and a fedora\nnoir effect\nnoir film\nnoir film still\nnoir film world\nnoir film world character design\nnoir movie scene\nnoir photorealism\nnoir style\nnoire\nnoire moody scene\nnoire photo\nnoise\nnoise and grain\nnoise effect\nnoise effects filter\nnoise film\nnoise film photo\nnoise filtered\nnoise grain film\nnoise rock album cover\nnoise to volume\nnoisy\nnoisy and glitched\nnoisy film grain effect\nnoisy filter\nnomad\nnomad masterpiece\nnomadic\nnomadic urbanism\nnomads\nnon - euclidean\nnon - euclidean space\nnon - euclidian\nnon - fiction\nnon - human\nnon binary future world\nnon binary model\nnon blurry\nnon fiction\nnon human\nnon-binary\nnon-centered shot\nnon-euclidean\nnon-euclidean geometry\nnon-illuminated backdrop\nnon-pleated section\nnon-symmetrical fractals\nnon-traditional avant-garde\nnonagon infinity\nnonbinary model\nnonduality\nnongraphic\nnoodles\nnoon\nnoot noot\nnootropic stimulant\nnord\nnordic\nnordic crown\nnordic folk\nnordic forest colors\nnordic landscape\nnordic mythology\nnordic noire\nnordic pastel colors\nnordic summer\nnordic wedding ring\nnorihiro yagi\nnorilsk\nnoriyoshi\nnoriyoshi ohrai and hans zatzka\nnoriyoshi ohrai masterpiece\nnorm rockwell\nnorm rockwell in africa\nnormal clothes\nnormal distributions\nnormal face\nnormal hands\nnormal legs\nnormal map\nnormal nose\nnormal people with costumes\nnormal physique\nnormal place with weird feeling\nnormal proportions\nnormal rockwell\nnorman ackroyd\nnorman foster\nnorman mingo painting\nnorman rockwel\nnorman rockwell\nnorman rockwell akihiko yoshida\nnorman rockwell and james jean\nnorman rockwell artwork style\nnorman rockwell j\nnorman rockwell oil painting\nnorman rockwell painting\nnorman rockwell ross tran\nnorman rockwell style\nnorman rockwell. detailed\nnormandy\nnorrlandsskog\nnorse\nnorse god\nnorse goddess\nnorse inspired\nnorse mythology\nnorse warrior\nnorth\nnorth adult female warrior\nnorth female warrior\nnorth hemisphere\nnorth island brown kiwi\nnorth korea\nnorth korea propaganda style\nnorth korean slasher\nnorth melbourne street\nnorth pole\nnorthen lights background\nnorthern finland\nnorthern france\nnorthern lights\nnorthern lights background\nnorthern lights in space\nnorthern renaissance\nnorthern renaissance art\nnorthern renaissance style\nnorthern star at night\nnorway\nnorway fjord\nnorway fjords\nnorway mountains\nnorwegian\nnorwegian landscape\nnorwegian man\nnose\nnose made of wood\nnose of angelina jolie\nnose of red skull\nnose piercing\nnose ring\nnoseless\nnosey neighbors\nnosferatu\nnosferatu princess\nnostalgia\nnostalgia critic\nnostalgia for a fairytale\nnostalgia guy and small creature\nnostalgia of a fairytale\nnostalgiacore\nnostalgic\nnostalgic 8k\nnostalgic and euphoric\nnostalgic and melancholic 4 k\nnostalgic atmosphere\nnostalgic feeling\nnostalgic heart-warming\nnostalgic high saturation\nnostalgic lighting\nnostalgic melancholic artwork\nnostalgic melancholy\nnostalgic memory\nnostalgic photography\nnostalgic vibes\nnostalgy\nnostlagia\nnostromo\nnot a lot of grass\nnot a messenger from above\nnot a single tear\nnot blurry\nnot clear\nnot cropped\nnot enough details\nnot face\nnot going anywhere. oil painting\nnot intelligent\nnot isometric\nnot japanese\nnot often\nnot ominous at all\nnot realistic\nnot ruins\nnot scarry\nnot smiling\nnot train tracks\nnot wearing many clothes\nnot yet day\nnot yet the beginning\nnotan\nnotan art\nnotan sun in the background\nnotation\nnote detailed\nnotebook\nnotes\nnothing\nnothingness\nnothofagus\nnoticeable tear on the cheek\nnotices\nnotorious b i g\nnotorious big\nnouveau\nnouveau art\nnouveau painting\nnouveau painting masterpiece\nnouveau realisme decollage\nnouvelle vague\nnouvelle vague style\nnova\nnovel color scheme\nnovel cover\nnovel cover art for a book\nnovelance\nnovember\nnovi stars\nnow\nnow at mcdonalds\nnow i am become death\nnow i have become death\nnow i work for the bbc\nnoxious\nnoxious poison diaper\nnpc\nnpc talking\nnpc with a saint's halo\nnpc with a saint\\'s halo\nnpc with a saints halo\nnpr\nnsfw\nntricate oil painting\nnubian\nnubile body\nnubulae\nnubulae hubble\nnuclear\nnuclear aftermath\nnuclear apocalypse\nnuclear attack\nnuclear background\nnuclear blast imminent\nnuclear blast moon eclipse\nnuclear bomb\nnuclear bomb blast\nnuclear bomb explosion\nnuclear cloud\nnuclear energy future\nnuclear explosion\nnuclear explosion background\nnuclear explosion from space\nnuclear explosion on the horizon\nnuclear explosion!!!\nnuclear explosions paint sky\nnuclear fallout\nnuclear fashion\nnuclear fungus\nnuclear fusion\nnuclear mushroom\nnuclear mushroom cloud\nnuclear mushroom smoke\nnuclear power\nnuclear power plant\nnuclear powered\nnuclear reactor\nnuclear sunset\nnuclear war\nnuclear waste\nnuclear wasteland\nnuclear winter\nnudibranch\nnug pic\nnugget\nnugget and sausage on plate\nnuka cola\nnuke\nnuke dropping\nnull\nnumb\nnumber 31 on jersey\nnumber 31!!!!!\nnumenera\nnumerical\nnumerology\nnumerous dimly glowing eyes\nnumerous fires\nnumerous limbs\nnun\nnun fashion model\nnun fashion model looking up\nnun outfit\nnuremberg\nnuremberg chronicle\nnurgle\nnuri iyem\nnurse\nnurse costume\nnurse girl\nnurse scrubs\nnurse uniform\nnurse's leather suit\nnursery poster\nnurses leather suit\nnursing\nnursing home\nnut\nnute gunray\nnuttavut baiphowongse\nnvidia\nnvidia ai\nnvidia and behance\nnvidia geforce\nnvidia graphics\nnvidia octane\nnvidia omniverse\nnvidia optix\nnvidia promotional image\nnvidia ray tracing\nnvidia raytracing\nnvidia raytracing demo\nnvidia raytracing demo)\nnvidia raytracing demo))\nnvidia raytracing demo))))\nnvidia rtx reflections\nny\nny style grafitti\nnyan cat\nnyarlathotep\nnyaruko-san\nnyc\nnychos\nnychos and arcimboldo\nnychos art aesthetic\nnylon\nnylon fashion\nnylon tights\nnymph\nnymph in the water\nnymphaea\nnypd\no - yoroi\no pattern\no you the second of the first\no'neill cylinder\no'neill cylinder colony\noak\noak acorns\noak leaf beard\noak leaves\noak leaves!!\noak parquet\noak tree\noak tree ent\noak trees\noak trees and dry grass\noaks\noasis\noasis in the desert\noasis infront\nobama\nobama as a samurai\nobama as batman\nobama as the joker\nobama in fortnite\nobama in skyrim\nobama kissing donald trump\nobama prism\nobama riding an unicorn\nobamna\nobelisk\nobelisks\nobese\nobese )\nobey\nobfuscate light\nobi strip\nobi wan kenobi\nobi-wan kenobi\nobject\nobject art\nobject centered\nobject concept art\nobject content\nobject design\nobject details\nobject features\nobject oriented ontology\nobject spotlight\nobjects\nobjects levitating\nobjects that float\nobjects well lit\noblivion\noblivion armor\nobnoxious\nobscure\nobscured\nobscured face\nobscured hooded person walking\nobscured underexposed view\nobservation deck\nobserved from afar in the fog\nobsession\nobsidian\nobsidian accents\nobsidian globe\nobsidian hooves\nobsidian metal\nobsidian pomegranade\nobsidian skin\nobsidian slime\nobsidian towers in the distance\nobsidians skin\nobsolete worlds\nobunga\nobverse and reverse\nobviously drunk\noc\noc commission\noc rendered\nocarina of time\nocarina of time movie\nocatane\nocatane render\nocatne render\noccasional small rubble\nocclusion\nocclusion pass\nocclusion shadow\noccult\noccult abiogenesis\noccult aesthetic\noccult aesthetics alchemy\noccult alchemy\noccult art\noccult cyberpunk\noccult details\noccult diagram\noccult dream\noccult inspired\noccult jewelry\noccult propaganda\noccult ritual\noccult robes\noccult signs\noccult stuff\noccult symbolism\noccult symbols\noccult symbols and diamonds\noccult symbols hidden\noccult symbols present\noccultist\nocd\nocean\nocean and rock landscape\nocean background\nocean background setting\nocean caustics\nocean cliff side\nocean cliff view\nocean dept\nocean eyes\nocean floor\nocean giant creature bloop\nocean in distance\nocean in the background\nocean in the distance\nocean of canvas catching fire\nocean on alien planet titan\nocean on planet titan\nocean pattern\nocean pattern and night sky\nocean shoreline on the horizon\nocean simulation\nocean specular\nocean spray\nocean sprites\nocean storm\nocean swells\nocean to the horizon\nocean view\nocean wave\nocean waves\noceanic naval battles\noceans\noceanside\nocher\nocher and turquoise colors\nocher details\nochre\nochre ancient palette\noct\nocta 8k\nocta core\noctae render\noctagon render 8k\noctain\noctain render\noctal\noctan\noctan render\noctance render\noctane\noctane  cinematic\noctane - render\noctane 1 2 8 k\noctane 128k\noctane 2. 0 render\noctane 3 d\noctane 3 d render\noctane 3d\noctane 3d render\noctane 4 k render\noctane 4k\noctane 4k render\noctane 8\noctane 8 k\noctane 8 k render\noctane 8k\noctane 8k render\noctane art\noctane cgsociety\noctane cinema 4 d render\noctane cinema 4d render\noctane engine\noctane engine render\noctane engine render 8k hdr\noctane fender\noctane hd 4k\noctane high quality render\noctane highly detailed\noctane highly detailed cinematic\noctane highly render\noctane lighting\noctane photoreal 3 d render\noctane photoreal 3d render\noctane processing\noctane rander\noctane ray tracing\noctane realphoto\noctane redner\noctane redshift\noctane remder\noctane rend\noctane rende\noctane render\noctane render + unreal render\noctane render - 8 k\noctane render - 8k\noctane render - n 6\noctane render - n 9\noctane render - t\noctane render -ar 16:9 h 1024\noctane render / source\noctane render 1 2 8 k\noctane render 1 2 8 k resolution\noctane render 128k\noctane render 128k resolution\noctane render 16k\noctane render 3d\noctane render 4 k\noctane render 4k\noctane render 4k photoreal\noctane render 8 k\noctane render 8 k hd\noctane render 8 k hdr\noctane render 8 k uhd\noctane render 8k\noctane render 8k hd\noctane render 8k hdr\noctane render 8k uhd\noctane render : :\noctane render : : 3\noctane render ]\noctane render ] ”\noctane render a lonely rainbow\noctane render aesethic\noctane render aesthetic\noctane render and unreal engine\noctane render blender 8 k\noctane render cinematic\noctane render detailed\noctane render dynamic lighting\noctane render fantasy style\noctane render godrays\noctane render h 1024\noctane render hd 4 k\noctane render hd 4k\noctane render hdr\noctane render hyperdetailed\noctane render hyperrealistic\noctane render in maya\noctane render painting\noctane render photorealistic\noctane render pinterest\noctane render quality\noctane render sci - fi\noctane render sharp focus\noctane render uhd\noctane render uhd 4k\noctane render unreal engine 8 k\noctane render w 1024\noctane render ”\noctane render!!!\noctane render**\noctane render. 8 k\noctane render. 8k\noctane render. by makoto shinkai\noctane render. fog\noctane render. realistic\noctane render.:1\noctane rendered\noctane renderer\noctane renderer. cgsociety\noctane renderer”\noctane rendering\noctane render”\noctane rendring\noctane renter\noctane sharp cinematic\noctane tender\noctane trending on cgsociety\noctane ue 5\noctane ue5\noctane unreal engine 5\noctane unreal render\noctane--8k\noctane. trending on artstation\noctane]\noctanerender\noctanerender 3 d\noctante render\noctave\noctave render\noctave rendey\noctober\noctoberfest\noctoberfest poster\noctopath traveler\noctopath traveller style\noctopath voyager\noctopus\noctopus cat\noctopus face\noctopus goddess\noctopus silhouette at depth\noctopus tentacles\noctopus wearing a spacesuit\noctopus wrestling with a sphere\noctorok\noctrane render\noctsne render\nocult\noculus quest 2\noculus rift\noda non\nodd\nodd eye\nodd lighting\nodd pipes\noddities\noddities everywhere\noddly familiar\noddly shimmering\nodeith\nodeo\nodilon\nodilon redon. drexler\nodin\nodin's stone arena background\nodins stone arena background\nodissey\nodontophobia\nodst\noesophagus\nof\nof a 1 7 th century\nof a 15th century\nof a 17 th century\nof a 17th century\nof a beautiful\nof a beautiful female knight\nof a beautiful female warframe\nof a beautiful goddess\nof a beautiful saryn warframe\nof a family leaving a spaceship\nof a family standing in a park\nof a fox wearing a santa hat\nof a full body\nof a futuristic selk'nam\nof a futuristic selknam\nof a futuristic woman selk'nam\nof a futuristic woman selknam\nof a gang of circus clowns\nof a lightsaber hilt\nof a lovely\nof a muscular\nof a old 13th century\nof a old 15th century\nof a old 16th century\nof a old 17th century\nof a old 18th century\nof a ramlethal valentine\nof a river\nof a schoolgirl posing\nof a shirtless\nof a small village with a lake\nof a sniper girl in war\nof a ufo propulsion system\nof a woman\nof a young woman\nof a youthful japanese beauty\nof a youthful japanese girl\nof alien artifacts\nof an beautiful angel girl\nof an beautiful girl\nof an cyber gods\nof an elden ring elf\nof an enigmatic mysterious man\nof an evil elf\nof an evil tree wizard\nof an old man\nof anthro leopard warlock\nof augean stables\nof bamboo\nof beautiful angel\nof course\nof elven queen galadriel\nof emma watson\nof ethereal fantasy\nof harley quinn\nof indian princess\nof letting go\nof life the beginning\nof lucifer\nof mad men on madison avenue\nof of aura hd\nof peppa pig\nof portrait of justin beber\nof romanticism a center image\nof space travel\nof spiked gears of war skulls\nof taiwanese girl with tattoos\nof the cat in the hat\nof the game portal\nof the muscular\nof totoro\nof virtua figther\nof walter white\noff - putting\noff - road\noff - white\noff - white collection\noff - white style\noff camera flash\noff center\noff putting\noff the shoulder shirt\noff white\noff-camera flash\noff-roading\noff-white\noff-white plated armor\noff-world\noffering a plate of food\noffering the viewer a pill\noffhand\noffice\noffice background\noffice building\noffice ceiling panels\noffice clothes\noffice cubicle background\noffice cubicles\noffice furniture\noffice interior\noffice room interior\noffice/thrift store/social hall\nofficer\nofficers uniform\noffices\nofficial\nofficial anime artwork\nofficial anime key media\nofficial anime key visual\nofficial anime media\nofficial anime still\nofficial art\nofficial artbook\nofficial artwork\nofficial artwork hdr\nofficial character art\nofficial character illustration\nofficial concept art\nofficial courthouse\nofficial dior editorial\nofficial documentation\nofficial fan art\nofficial fanart\nofficial fanart behance hd\nofficial government photo\nofficial illustration\nofficial jil sander editorial\nofficial judge dredd fanart\nofficial marvel media\nofficial media\nofficial modern animation\nofficial modern anime\nofficial music video\nofficial overwatch game art\nofficial photo\nofficial photo portrait\nofficial photos\nofficial portrait\nofficial poster\nofficial poster artwork\nofficial prada editorial\nofficial print\nofficial product image\nofficial product photo\nofficial render\nofficial screenshot\nofficial simpsons movie artwork\nofficial splash art\nofficial store photo\nofficial studio anime still\nofficial studio ghibli still\nofficial trailer\nofficial valentino editorial\nofficial versace editorial\nofficial vogue editorial\nofficial vuitton editorial\nofficial white house portrait\noffputting\noffset\noffset and takeoff\noffset lithography\noffset lithography print\noffset photography\noffset printing technique\noffshore winds\noffwhite\noft painting\noften described as flame-like\nog\noganic rippling spirals\nogre\nogre chef in an apron\nogre-ish jon taffer!!! in a bar\nogre-ish jon tafferin a bar\noh\noh lawd he coming\noh no\noh the places you'll go\noh the places youll go\noh yeah\nohararyu\nohio\nohrai noriyoshi\noil\noil - painting\noil and acrylic on canvas\noil and alien on canvas\noil and canvas\noil art\noil canvas\noil canvas of lucifer\noil canvas painting\noil colors\noil dereks on horizon\noil digital painting\noil glaze\noil glazing\noil in canvas\noil in canvas style\noil inks\noil like flowing\noil lines\noil on aged tin\noil on board\noil on canevas\noil on canva\noil on canvas\noil on canvas (1921)\noil on canvas (1921)”\noil on canvas 1921\noil on canvas 4k\noil on canvas 8 k\noil on canvas 8k\noil on canvas big brushstrokes\noil on canvas detailed\noil on canvas high angle view\noil on canvas intricate\noil on canvas on geometric rock\noil on canvas painting\noil on canvas sharp\noil on canvas. cinematic\noil on canvas; nuclear fallout\noil on canvas”\noil on linen\noil on oak wood\noil on panel\noil on the canvas\noil on water\noil on wood\noil paining\noil paint\noil paint and spray paint\noil paint concept art\noil paint impasto relief\noil paint impasto reliefs\noil paint on canvas\noil paint style\noil painted\noil painting\noil painting 4 k\noil painting 4k\noil painting a bigger splash\noil painting award winning\noil painting brush\noil painting dnd\noil painting from the 1980s\noil painting h 768\noil painting hue\noil painting hyper real\noil painting in a modern style\noil painting marks\noil painting masterpiece\noil painting of an overpopulated\noil painting of breakfast\noil painting of cat\noil painting of cat witch\noil painting of dragon\noil painting of dragon forest\noil painting of princess vulvine\noil painting of realistic woman\noil painting of whiskey bottle\noil painting on canvas\noil painting on matte canvas\noil painting photo real\noil painting portrait\noil painting rebrandt\noil painting style\noil painting with brushstrokes\noil painting without frame\noil painting ”\noil painting!!!\noil painting. hd\noil paintings\noil painting”\noil paints\noil paiting\noil panting\noil panting on canvas\noil pastel\noil pastel gestural lines\noil pastels\noil pastels and gold\noil portrait\noil rig\noil slick\noil slick colors\noil slick hair\noil slick in the water\noil slick multicolored hair\noil slick nebula\noil spill\noil spills\noil to waist\noil-on-canvas\noil-painting\noild painting\noiled\noiled hardwood floors\noiled skin\noilfield scene\noill painting\noilpaint\noilpainting\noilpunk\noils\noils on canvas\noily\noily high relief\noily puddles\noily sheen\noily skin\noily substances\noizys\nokabe rintarou\nokami\nokata kazuto\nokay\nokay one fear\nokinawa churaumi aquarium\nokinawa japan\nokita sougo\noklahoma\noktane\noktane render\nokuda\nokuda sam miguel\nolafur eliasson\nolan mills studio\noland\nolbivion\nolchas logan cure liang xing\nold\nold - school dark fantasy art\nold 3d graphics\nold abandoned building\nold abandoned car sinking\nold abandoned house\nold abbey in the background\nold american midwest\nold and wrinkled\nold and young\nold apartment\nold artbook\nold asian village\nold black and white photo\nold bolt action rifles\nold book\nold book chained to the wrist\nold books and dip pen\nold bounty hanter\nold brick walls\nold bridge\nold building\nold buildings\nold cabin\nold camera\nold car\nold castle\nold cemetery\nold cgi 3 d rendered bryce 3 d\nold cgi 3d rendered bryce 3 d\nold chairs\nold charismatic mechanic\nold chines painting\nold cinema\nold city\nold clothing\nold cmputers on the sidewalk\nold color photo\nold color photograph\nold comics in city\nold computer\nold computer monitor\nold computers\nold copper pipes\nold couch\nold cowboy in the arctic\nold cyborg merchant\nold damagaed polaroid photo\nold dark forest\nold dhaka\nold distorted camcorder video\nold english\nold english garb\nold experimentation cabinet\nold fashion\nold fashioned\nold film\nold film overlay\nold film photo\nold footage\nold furniture\nold furnitures\nold gigachad with grey beard\nold god\nold gods\nold gothic crypt\nold gray hair\nold greek goddess\nold growth forest\nold hollywood\nold hollywood themed\nold home decor\nold house\nold humanoid ents\nold internet art\nold japanese art\nold japanese street market\nold jeddah city alley\nold jeddah city street\nold jedi master\nold john lennon\nold kitchen backdrop\nold kitchen backdrop angled view\nold lady\nold lady cyborg merchant\nold lady screaming and laughing\nold library\nold lumber mill remains\nold magazine cover without text\nold male\nold male archmage\nold male warlock\nold man\nold man doing hard work\nold man doing with mask\nold man in tokyo at night\nold man portrait\nold manuscript\nold manuscripts and scrolls\nold master\nold master painting\nold masters\nold masters light composition\nold mexican magician closes eyes\nold moist carpet\nold movie\nold movie scene\nold mystic ruins\nold oil painting\nold painting\nold paints\nold paper\nold parchment\nold pawn shop\nold photo\nold photo camera\nold photo from the 1930s\nold photo of a creepy landscape\nold photo scattered\nold photo style\nold photo width 768\nold photobook\nold photograph\nold photography\nold picture\nold pirate ship\nold polaroid\nold polaroid photo\nold polaroid photography\nold retro museum exhibition\nold retro pulp\nold retro pulp noir comic cover\nold roman style\nold ruins\nold ruins tower\nold rusty pickup - truck\nold rusty pickup-truck\nold scars\nold school\nold school fpr\nold school runescape\nold scientific document\nold scientific documents\nold script\nold scroll\nold scuba\nold sepia photography\nold shops\nold signs\nold sketch\nold skin\nold stone bridge over the creek\nold stone steps\nold stone wall\nold style\nold style photo\nold tape\nold testament\nold testament angel\nold timey\nold tintype\nold town\nold town mardin\nold tree\nold trees\nold tv\nold tv and radio hardware\nold village\nold village in the distance\nold vintage paper\nold vintage photo\nold vintage vhs\nold war poster\nold weathered paper\nold west\nold west town\nold wetplate daguerreotype\nold wizard robe\nold woman\nold wood\nold wood floors\nold wooden ship\nold wool suit\nold world\nold yearbook photo\nold-fashioned tarot card\nolder brother vibes\nolder male\nolder sister vibes\nolder woman\noldman with mustach\noldwest\nole thomas style\noled\noled 8k\noled lights in corners\noled visor for eyes\noled visor over eyes\noleg bulakh\noleg korolev\noleg zherebin\noleo\noleo painting\nolga buzova\nolga kurylenko\nolga zakharova\noli on painting\nolive\nolive garden\nolive green\nolive green and venetian red\nolive green slacks\nolive oil\nolive skin\nolive skin color\nolive skinned\nolive thigh skin\nolive tree\nolive trees\noliver cook\noliver vernon\nolives\nolivia\nolivia culpo\nolivia culpo as milady de winter\nolivia de bernardinis\nolivia kemp\nolivia newton-john\nolivia pope\nolivia wilde\nolivier ledroit\nolmsted\nolya bossak\nolympian god\nolympic diving springoard\nolympics\nolympics ceremony\nolympics event 1930's\nolympics event 1930s\nolympics footage\nolympus\nolympus platform\nomaha beach\noman\nomar ortiz\nomar shanti himalaya tibet\nombre\nombre fishnet gown\nombre purple and pink hairstyle\nombre velvet gown\nomega\nomen from valorant\nomg\nomina tachibana\nominious\nominous\nominous and eerie forest\nominous and intense\nominous apocalyptic background\nominous assassin\nominous atmosphere\nominous background\nominous beautiful mood\nominous clouds\nominous creature hiding detailed\nominous dark background\nominous depths\nominous dramatic wide angle\nominous evening\nominous figure in the background\nominous foggy environment\nominous gothic aesthetic\nominous lighting\nominous mist\nominous mood\nominous neon lighting\nominous night mist\nominous nighttime storm\nominous photo\nominous red cumulonimbus clouds\nominous skies\nominous sky\nominous space battle background\nominous tone\nominous vibe\nominous vibes\nominous yet melancholic\nominous! landscape of north bend\nommatidia\nomni magazine\nomni man vs invincible\nomnidimensional\nomnious\nomnious atmosphere\nomnious background\nomnious intricate\nomnious sky\nomnious style\nomnipotent\nomnipresent ai god\nomniscient\nomniverous layered teeth\nomoide emanon\nomori\non\non 16k\non a advanced lab\non a alien planet\non a balcony\non a baroque throne\non a battle field\non a battlefield\non a beach\non a birdge\non a black background\non a black wall\non a boat\non a boat on a lake\non a botanical herbarium paper\non a branch\non a bridge\non a bright day\non a candle holder\non a canva\non a checkered floor\non a clear magnificent night sky\non a clear night sky\non a clearing\non a cliff\non a cloudy day\non a coffee table\non a couch\non a crowded space station\non a dark background\non a dark desert highway\non a dark rock background\non a dark swampy bsttlefield\non a dark winter's day\non a desert planet\non a desert road\non a desk\non a desolate plain\non a far planet\non a farm\non a flat color black background\non a floating rock island\non a football field\non a futuristic shopping mall\non a galaxy looking background\non a gray background\non a great neoclassical square\non a green hill\non a green hill between trees\non a green lawn\non a gundam\non a hill\non a horse\non a hot australian day\non a jungle forest\non a jungle forest train track\non a kayak in a forest\non a lake\non a landing pad\non a large marble wall\non a lush fertile alien planet\non a mannequin. high quality\non a mannequin. high resolution\non a mannequin. studio lighting\non a marble pedestal\non a mini world\non a misty forest\non a mosaic marble floor dais\non a mountain\non a notebook page\non a pale background\non a parking lot\non a pedestal\non a pirate ship\non a pirate ship background\non a planet of lush foliage\non a planet of maelstrom\non a plate\non a plate in a busy diner\non a poststamp\non a racetrack\non a rainy day\non a red background\non a reflective gold plate\non a remote desert planet\non a remote planet\non a riverbank\non a road\non a rock\non a rooftop\non a rough wooden dungeon table\non a sidewalk of vancouver\non a soccer field\non a space station\non a spaceship\non a stage\non a stained glass window\non a street\non a street at night\non a street race track\non a sumptuous tablecloth\non a sumptuous velvet tablecloth\non a sunny beach\non a sunny day\non a super yacht\non a table\non a throne of crystals\non a throne of gemstones\non a tree\non a velvet table cloth\non a velvet tablecloth\non a village\non a wall\non a wet london street\non a white background\non a white table\non a wooden desk\non a wooden plate\non a wooden table\non a wooden tray\non a yacht at sea\non a yellow canva\non a yellow paper\non a young beautiful woman neck\non aircraft carrier\non alien planet\non all fours\non amino\non an alien grassland\non an alien planet\non an empty moonlit hill\non an empty stage from above\non an epic intricate oroboros\non an epic oroboros\non an icy throne\non an indian street\non an island\non an operating table\non another planet\non artstastion\non background red lake on fire\non beach\non beyond zebra\non black background\non black paper\non blue fire\non canvas\non center\non cg society\non clear background\non clouds\non cosmic cloudscape\non dark paper\non deep black velvet\non deep forest peak\non desk\non display\non display in a fossil museum\non display in a museum\non display in the louvre\non display ”\non display”\non dune\non edge\non exoplanet\non fire\non flickr in 2 0 0 3\non flickr in 2007\non forest jungle path\non forest path\non future tokyo night rooftop\non grey background\non grey paper sketch ink style\non ground\non hasselblaad\non her knees\non her throne\non high-quality paper\non his hind legs\non his left hand\non his right hand\non interstellar space\non island\non its own\non jungle night !!!\non kitchen table\non knees\non liberty island\non loan from louvre\non location\non madison avenue\non mahogany desk\non mars\non medium grade paper\non moon\non my bed\non ocean\non old paper\non old parchment\non old parchment paper\non paper\non parchment\non path to enlightenment\non pentax 67\non pinterest\non planet jupiter\non ps5\non realistic hud\non rock concert stage\non rooftop\non rooftop tokyo night\non set\non ship\non sidewalk\non simple background\non space harbor\non space station\non stage\non stilts\non textured base; store website\non textured disc base\non the african plains\non the altar\non the art contemporary art\non the battlefield\non the beach\non the beach at noonday\non the beach at sunset\non the beach during sunset\non the bed\non the bow\non the calm lake\non the calm lake surface\non the coast\non the concrete ground\non the cover of a magazine\non the deck of a sailing ship\non the deck of a ship\non the desert\non the field\non the frozen danube\non the ground\non the moon\non the mountain\non the nostromo\non the ocean\non the ocean water\non the orange surface of mars\non the path to enlightenment\non the qt\non the runway\non the sand\non the sea\non the side of the road\non the sidewalk\non the stage\non the street\non the streets\non the surface of an asteroid\non the surface of mars\non the surface of the moon\non the surface of the ocean\non the tennis coat\non the top of a hill\non the top of a mountain\non the vast wheat fields\non the walls\non the white background\non tokyo cyberpunk night rooftop\non top of a hill\non top of a mountain\non top of it\non trees\non tv\non vellum\non white\non white background\non white paper\non wild west\non wood\non wooden table\non yellow paper\nonce\nonce upon a midnight dreary\nonce upon a time\noncept art\none\none - eyed man\none - eyed monster\none - line drawing\none a demon - like creature\none a demon-like creature\none angel\none apple and one onion\none arm of the robot body\none big beak\none big inkblot on the paper\none black\none blimp in the distance\none blonde\none blonde and one brunette\none blue ) and huge bat ears\none broadsword\none car\none caveman is cowering in fear\none ceiling fan\none character\none contrasting small feature\none day\none disassembled\none dog\none eye\none eye closed\none eye is read\none eye red\none eye wink\none eyebrow\none face\none famous person\none fist raised high in triumph\none foot raised off the ground\none galaxy\none giant oak\none girl\none girl has white hair\none green\none green eye and one blue eye\none head\none head only\none head portrait\none hit wonderland\none holds apple in hand\none house\none ice cube\none is a brunette\none is a redhead\none is blond\none is red\none large room\none legged amputee\none light\none line\none line art\none line artwork print\none line drawing\none man\none man human\none man is blond\none man vampire\none million broken glass shards\none million lave rivers\none model\none motorbike in center of frame\none mouth\none nose\none object\none object content\none of his eyes is scratched\none of the weavers of destiny\none on each side\none onion ring\none panel\none panel comic\none person\none person in frame\none person only\none piece\none piece artstyle\none piece ship sailing\none piece style\none pixel brush\none point light\none point lighting\none point lightning\none point perspective\none punch man\none punch man manga\none purple eye\none rainy day\none raised eyebrow\none red tomato slice\none reptilian eye\none ring to rule them all\none sandwich with fried tofu\none side haircut\none single continues line\none single gas lamp\none single head\none single lamp\none single man in a hazmat suit\none single mask\none single tribe member\none small boat\none subject\none thing\none thousand years of longing\none tomato slice\none tree\none woman\none yellow and one blue eye\none-eyed\none-line drawing\none-point perspective\noneill cylinder\noni\noni horns\noni mask\nonimous\nonion\nonion man\nonion man portrait\nonions\noniric\nonline\nonline casino logo\nonlookers\nonly\nonly a few bangs of hair\nonly a mouth with long\nonly art\nonly black and white\nonly dark colours\nonly eyeball\nonly face\nonly five fingers\nonly head\nonly head and chest\nonly head and shoulders\nonly hope\nonly one character\nonly one face\nonly one head\nonly one head single portrait\nonly one person in frame\nonly one robot kid on the ground\nonly red colour\nonly snow i the background\nonly snow in the background\nonly the head\nonly two hands\nonly visited during dreams\nonly with blue\nonly with red\nonmyoji\nonmyoji detailed art\nonmyoji portrait\nonscreen info and labels\nonsen\nonsens\nonstudio ghibli\nonyx\nonyx bracelets\nooak\nooh\noompa loompa virus\noona chaplin\noops\nootd\nooze\noozing\noozing bile )\noozing black goo\noozing blood\noozing lava\noozing pustules\noozing slime\noozium\nop art brain\nop art with big bold patterns\nopal\nopal crystals\nopal diamond\nopal flesh\nopal petals\nopal statues\nopal statues adorned in jewels\nopalescence\nopalescent\nopalescent mist\nopalescent night background\nopalescent palace\nopaque\nopaque glass\nopaque visor\nopart\nopen\nopen back dress\nopen bank vault\nopen belly\nopen book page\nopen books\nopen ceiling\nopen door\nopen eye freedom\nopen eyes\nopen field\nopen for commissions\nopen hand\nopen happy mouth\nopen jacket\nopen landscape\nopen magic book glowing\nopen metal maw\nopen mouth\nopen mouth and big teeth\nopen neck collar\nopen negative space\nopen ocean\nopen office\nopen palm\nopen peat fire in center of room\nopen plains\nopen plan\nopen portal to another dimension\nopen road\nopen robotic eyes\nopen room\nopen shiny floor\nopen shirt\nopen skies\nopen sky\nopen space\nopen street maps\nopen synthetic maw\nopen top\nopen v chest clothes\nopen vault\nopen wall architecture\nopen wide eyes\nopen window\nopen window at night\nopen window ib background\nopen windows\nopen wings\nopen world\nopened dress\nopened mouth\nopengl\nopening\nopening a shining portal\nopening door\nopening scene\nopening shot\nopening third eye\nopera\noperating on burgers\noperating room\noperation\noperation highjump\nophanim has bird wings\nophelia\noppai\noppai cyberpunk\noppai proportions\nopportunistic expression\nopposite of urban sprawl\nopposite the lift-shaft\noppression\noppressive\noppressive atmosphere\noppressive lighting\noprah okra winfrey sentient veg\noptane render\noptic ripple\noptical art\noptical caustic lighting\noptical caustics\noptical fiber\noptical flare\noptical illusion art\noptical illusion woodblock print\noptical illusions\noptical lens flare fx\noptical lenses\noptical mineralogy\noptics\noptimism\noptimist future\noptimistic\noptimistic colors\noptimistic future\noptimistic matte painting\noptimistic smile\noptimization 4k 8k ultra hd\noptimus prime\noptimus sun orientation\noptix\nopulence\nopulent\nopulent pearl necklace\nopus francigenum\nopus tesellatum\nor black\nor perhaps a fairy tale\noranate and brooding\norange\norange - haired anime boy\norange / pink sky\norange and black\norange and black tones\norange and blue\norange and blue color scheme\norange and blue colors\norange and blue sky\norange and blue tones\norange and brown leaves for hair\norange and cyan lighting\norange and cyan paint decals\norange and green power\norange and orange slices\norange and purple color scheme\norange and purple electricity\norange and red lighting\norange and red sky\norange and teal\norange and teal color\norange and turquoise\norange and turquoise and purple\norange and turquoise ans purple\norange and white\norange and white color scheme\norange and yellow costume\norange backgorund\norange background\norange balaclava\norange blooming flowers garden\norange body\norange braided hair\norange candle flames\norange cat\norange clouds\norange color\norange color scheme\norange color theme\norange color tone\norange colors\norange dawn\norange demons\norange details\norange electricity\norange extremely coherent\norange eyes\norange fire/blue ice duality!\norange flowers\norange flowing hair\norange fluffy belly\norange fluffy spines\norange fog\norange fur\norange fuzzy muppet\norange gas giant\norange gi\norange glow\norange glowing hair\norange gradient\norange grass\norange grey white\norange hair\norange hair bow\norange halo\norange halo around her head\norange halter top\norange head\norange highlights\norange hoodie\norange hue\norange jacket\norange jumpsuit\norange lamp\norange light\norange lighting\norange lights\norange line\norange lit sky\norange metal ears\norange minerals\norange mist\norange neon\norange neon backlighting\norange neon stripes\norange palette\norange pastel colors\norange planet\norange plants\norange pupils\norange purple and gold ”\norange racing stripes\norange ray\norange red black white\norange reflective puffy coat\norange ribbons\norange robe\norange rocks\norange roof\norange safety labels\norange safety vest\norange shoulder pads\norange skies\norange skin\norange skin and long fiery hair\norange skin. intricate\norange sky\norange slices\norange spike aura in motion\norange subsurface scattering\norange sun set\norange sunglasses\norange sunset\norange teal lighting\norange theme\norange tint\norange to blue gradient\norange tone\norange tones\norange yellow\norange yellow ethereal\norange: 0.5\noranges\noranges floating in the water\norangutan\norantalist\norazio gentileschi style\norb\norb of agamento\norbit of earth\norbit soviet city\norbital\norbital graphical lines\norbital rings\norbital station\norbiting a gas giant\norbiting a gas giant planet\norbiting a strange planet\norbiting earth\norbiting space ships\norbs\norc\norc fused with vines\norc looking into the camera\norc male readies his rifle\norc merged with vines\norc on vines\norc themed\norc village\norc warrior\norchestra\norchid\norchid made of mother of pearl\norchid stems\norchids\norcs\norcs lord of the rings\norder\norder now\nordered\norderly\nordinary\noregon\noregon trail\norelsan\norgan harvesting\norganic\norganic 8k artistic photography\norganic acrylic flow art\norganic and intricate\norganic and robotic\norganic architecture\norganic armor\norganic biomass\norganic buildings\norganic ceramic fractal forms\norganic ceramic white\norganic color\norganic crystals\norganic cyborg\norganic design\norganic detail\norganic dress\norganic flesh\norganic flowing background\norganic form\norganic form ”\norganic forms\norganic fractal structures\norganic growth\norganic headpiece\norganic horror\norganic ink\norganic isometric design\norganic lines\norganic liquid metal\norganic liquid textures\norganic matte painting\norganic matter\norganic mechanical shapes\norganic mushroom lichen moss\norganic ornament\norganic ornaments\norganic painting\norganic polycarbon\norganic rippling spirals\norganic seductive geisha\norganic shape\norganic shapes\norganic steel\norganic structure\norganic swirling igneous rock\norganic texture\norganic transistors\norganic volumetric lights\norganics\norganism\norganized\norganized composition\norganized composition!\norgans\norgnic headpiece\nori\nori and the blind\nori and the blind forest\nori and the will of the wisps\nori toor\norianna\noriental\noriental art nouveau\noriental carpets\noriental face\noriental fantasy\noriental scene\noriental tattoos\noriental wallpaper\norientalism\norientalism painting\norientalisme\norientalist\norientalist painting\norigami\norigami crane drawings\norigami studio 3 design\norigin 100i\norigin jumpworks\noriginal\noriginal and creative landscape\noriginal artwork\noriginal chibi bunny girl\noriginal modern artwork\noriginal post impressionist art\noriginal simpsons cartoon style\noriginal sin\noriginal style\norisa from overwatch\norisha\nork\norkish sword\norkney islands\norlando bloom as legolas\nornament\nornament crown\nornamental\nornamental aesthetics\nornamental aesthetics intricate\nornamental armor\nornamental arrows\nornamental bone carvings\nornamental bow\nornamental edges\nornamental gothic - cyberpunk\nornamental halo\nornamental rober\nornamentation\nornamented\nornamented armor\nornaments\nornat concept art illustration\nornate\nornate and detailed\nornate and elegant\nornate and flowing\nornate and hyper detailed\nornate and intricate\nornate and intricate backdrop\nornate and intricate jewelry\nornate architecture\nornate armor\nornate armor covered in thorns\nornate armour\nornate art\nornate art nouveau detail\nornate attire\nornate back tuxedo\nornate backdrop\nornate background\nornate bikini armor\nornate black tuxedo\nornate border\nornate border frame\nornate borders\nornate borders + concept art\nornate carved architecture\nornate city ruins\nornate cloak\nornate clothing\nornate colored gems\nornate colored gems and crystals\nornate complexity\nornate cosplay\nornate crown\nornate crystal crown hood\nornate cyberpunk armor\nornate cyberpunk interior\nornate cyberpunk robes\nornate dark green clothing\nornate dark red opulent clothing\nornate dashing red garments\nornate declotage\nornate decoration\nornate decorative background\nornate designs on desk\nornate detail\nornate detailed background\nornate detailed hair\nornate details\nornate dining hall\nornate dramatic bat wing helmet\nornate dress\nornate egg\nornate exoskeleton\nornate filigree armor\nornate floral\nornate flower design\nornate flowers\nornate flowing robe\nornate flowing robes\nornate flowing silvered robes\nornate frame\nornate french architecture\nornate frilly dress\nornate frilly regal shirt\nornate furniture\nornate galactic gold\nornate gem in pommel\nornate gems\nornate geometric patterns\nornate giger background\nornate gilded cosmic machine\nornate gilded details\nornate gilded medieval icon\nornate gold\nornate gold border\nornate gold crown\nornate golden background\nornate goth dress\nornate gothic armor\nornate gothic baroque spikes\nornate gown\nornate hair\nornate headdress\nornate headpiece\nornate heavy plate armour\nornate hospital room\nornate intricate\nornate intricate crown\nornate iron armour\nornate jeweled crown\nornate jewelry\nornate jewels\nornate korean polearm behind her\nornate long blond hair\nornate long flowing blonde hair\nornate mask\nornate mask and fabrics\nornate medieval religious icon\nornate metal gold headpiece\nornate metallic helmet\nornate painting\nornate palace made of green\nornate pattern\nornate patterned people\nornate patterns\nornate piracy\nornate poncho\nornate portrait\nornate retreat\nornate robes\nornate royal gown\nornate royal robes\nornate sea background\nornate silver armour\nornate spikes\nornate spiral stairs\nornate steel armour\nornate supreme demon overlord\nornate tentacles growing around\nornate tiled architecture\nornate turban\nornate turkic palace background\nornate white and gold armour\nornate with diamonds\nornate with fiery explosions\nornate with gold trimmings\nornate with white diamonds\nornate wood\nornated\nornately detailed\nornately dressed\nornithopter\norphism style\norrery\norson welles\northochromatic look filter\northodox\northodox christianity\northodox cyberpunk\northodox icon\northodox icon neo-gothic\northodox icons\northodox mosaic\northodox saint\northodox saint christopher\northodox symbolism diesel punk\northodoxy\northogonal\northogonal perspective\northographic\northographic 3d rendering\northographic front view\northographic perspective\northographic projection\northographic view\northographic views\northoview\nortografico\nortographic\norton effect\norton effect intricate\norwellian\norwellian dystopia\norwellian style\noryantalist\nosaka skyline background\nosama bin laden funko pop\nosborne macharia\noscar\noscar award winning\noscar de la renta\noscar niemeyer\noscar nominated cinematography\noscar the grouch\noscar winner\noscar winning\noscar winning animation\noscar winning graphics\noscilloscope\nosiris\nosl\nosr\nossdraws\nossuary\nostrich feathers\notaku\notaku gangasta\notcean render\nother bedrooms can be seen\nother dimensions\nother mother\nother smaller buildings\nother stuff\nother women dancing behind\nother worldly\nother worldly colors\nother worlds\notherland\notherwordly\notherwordly concept\notherwordly futuristic city\notherworldly\notherworldly fantasy\notherworldly technology\notherworldly visuals\notherworldy\notjize\notl archer\notomo\notomo manga\notorhinology\notoy octane\nots shot\notter\notto dix and ryohei hase\notto mueller\notto preminger\notto schmidt\nottoman empire\nottoman empire era\nottoman miniature style\nottoman sultan\nottoman sultanate\nottoman sultanate space marines\notzi\nouch\nouchh and and innate studio\noud\nour art corner\nour desperation\nour planet\nouroboros\nout - of - focus background\nout in the dark\nout of body\nout of body experience\nout of business\nout of focus\nout of focus background\nout of place\nout of this world\nout of time and space\nout or focus\nout worldly colours\nout-of-focus background\noutback\noutdoor\noutdoor art installation\noutdoor campfire pit\noutdoor design\noutdoor fairgrounds\noutdoor fine art photography\noutdoor fine photography\noutdoor lighting\noutdoor magazine\noutdoor photo\noutdoor rave\noutdoor scene\noutdoor staircase\noutdoors\noutdoors at night\noutdoors business portrait\noutdoors european cityscape\noutdoors lighting\noutdoors mesa setting\noutdoors ruined cityscape\noutdoors setting\noutdoors tropical cityscape\nouter glow\nouter space\nouter space environment\nouter space is visible\nouter space nebula background\nouter wilds\nouter wilds screenshot\nouter worlds\nouterspace\noutfit\noutfit : jeans and white vest\noutfit design\noutfit designs\noutfit photo\noutfit photograph\noutfit-of-the-day\noutfit: cop\nouther worldly colours\noutlast\noutlast 2\noutlast game\noutlaw\noutline\noutline art\noutline drawing\noutline glow\noutline glow lens flare\noutline sketch\noutlined\noutlined art\noutlined hand drawn\noutlined silhouettes\noutlined!!!\noutlines\noutlive streetwear collection\noutputs\noutrageously fluffy\noutram\noutrun\noutrun art style\noutrun color palette\noutrun style\noutrun style and colours\noutside\noutside a saloon\noutside a storm rages\noutside alone smoking weed\noutside enclosure\noutside in a farm\noutside in parking lot\noutside in snow snowing\noutside in space\noutside intricate\noutside large window of ship\noutside lighting\noutside of time and space\noutside on the ground\noutside the school of magic\noutside the simulation\noutside the window a storm rages\noutside the'school of magic '\noutside theschool of magic\noutside view\noutside winter landscape\noutsider\noutsider art\noutsider art style\noutsider art!!!\noutstanding\noutstanding detail\noutstanding epic\noutstretched wings\noutter space\noutter worlds\noutward slanted eyes\noutworldly colours\noval eyes\noval face\noval face shape\noval office\noval shape face\noval shaped face\noven\nover - detailed\nover - the - shoulder - shot\nover a calanque\nover a chalk cliff\nover a cliff\nover a dish and over a table\nover detailed art\nover exposure\nover grown botanical garden\nover his shoulder\nover it's head\nover looking saturn\nover proportion\nover saturated colors\nover the garden wall\nover the head of a sea wolf\nover the hills\nover the horizon\nover the ocean\nover the shoulder\nover the shoulder closeup\nover the shoulder perspective\nover the shoulder point of view\nover the shoulder shot\nover the shoulder view\nover the tree tops\nover vivid dark wood table\nover water\nover-detailed\nover-detailed art\nover-knee boots\nover-shoulder shot\nover-the-shoulder shot\nover-the-shoulder-shot\noverall architectural design\noveralls\noveralls and a white beard\noverbearing\noverblown\novercast\novercast bokeh\novercast bokeh - c 5\novercast bokeh - c 8\novercast color scheme\novercast dawn\novercast day\novercast dusk\novercast flat midday sunlight\novercast gray skies\novercast lake\novercast lighting\novercast mood\novercast skies\novercast sky\novercast weather\novercast! cinematic focus\novercast!!!\novercast!!! cinematic focus\novercastcinematic focus\noverclocking\novercomplicated\novercrowded\noverdetailed\noverdetailed art\noverdetailed art. dslr\noverdetailed digital art\noverdetalized\noverdimensional\noverdone\noverdose\noverecast\noverexposed\noverexposed flash\noverexposed photograph\noverexposed sunlight\noverexposure\noverflowing\noverflowing energy\noverflowing feast buffet table\noverflowing with baked beans\noverflowing with diapers\noverglaze\novergrown\novergrown background\novergrown cave\novergrown city\novergrown environment\novergrown foliage\novergrown forest\novergrown garden\novergrown garden environment\novergrown grass\novergrown greenery\novergrown in a thick forest\novergrown ivy plants\novergrown jungle\novergrown jungle environment\novergrown jungle ruins\novergrown lush plants\novergrown mall\novergrown place\novergrown plants\novergrown ruins\novergrown spamp\novergrown stone cave\novergrown swamp\novergrown trees\novergrown vegetation\novergrown vines\novergrown with aquatic plants\novergrown with colorful coral\novergrown with exotic fungus\novergrown with flowers\novergrown with funghi\novergrown with huge ferns\novergrown with huge rare fungus\novergrown with lush plants\novergrown with lush vines\novergrown with moss\novergrown with orchids\novergrown with plants\novergrown with puffy orchids\novergrown with shiny blobs\novergrown with thick orchids\novergrown with trees\novergrown with vegetation\novergrown with vines\novergrown with weeds\novergrowth\novergrowth of grass\novergrowth. by makoto shinkai\noverhanging branches\noverhead\noverhead angle\noverhead birdseye view\noverhead canopy\noverhead ground floor\noverhead light\noverhead lighting\noverhead photography\noverhead shot\noverhead sun\noverhead view\noverhead view of a table\noverhead wires\noverheard camera view of kitchen\noverjoyed\noverknee socks\noverlaid\noverlaid sacred geometry\noverlaid with aizome patterns\noverlaid with arabic text\noverlaid with chinese adverts\noverlaid with chinese text\noverlaid with cyrillic words\noverlap perspective\noverlapping\noverlapping layers\noverlay\noverload\noverlooking\noverlooking a dark street\noverlooking a desolate wasteland\noverlooking a modern city\noverlooking a valley\noverlooking a valley with trees\noverlooking a vast serene forest\noverlooking martian landscape\noverlooking river aufidius italy\noverlooking sf from twin peaks\noverlooking the beach\noverlooking the ocean\noverlord\noverlord billie eilish\noverlord season 4\noverlord!!!\noverlords\noverly detailed textures\noverpass\noverpopulated\noverpowered\noverpowering\noversaturated\noversaturated lens flair\novershadowing kim jong-il\noversharpened\noversized\noversized brown mustache\noversized emerald eyes\noversized enginee\noversized hoodie\noversized pauldrons\noversized shuriken\noversized_hindquarters\noverturned chalice\noverturned ornate chalice\noverview\noverwatch\noverwatch art team\noverwatch building\noverwatch character\noverwatch character concept art\noverwatch design\noverwatch fanart\noverwatch game\noverwatch inspired\noverwatch skin\noverwatch splash art\noverwatch style\noverwatch tracer\noverwatch tracer character\noverwatch tracer in a bikini\noverweight\noverweight!! teenage boy\noverwhelming\noverwhelming depth and detail\noverwhelming energy\nowen gent\nowen klatte\nowl\nowl crown\nowl feathers\nowl helmet\nowl mask\nowl princess with crown\nowl studio\nowl studio and j.dickenson\nowl vector polygon geometric\nowl wearing black biker jacket\nowl wizard\nowlbear\nowls\nowlship\nowo\nowsley\nox\noxygen mask\noxygen tank\noyama kojima\noyasumi punpun\noysters\noz\noz series\nozabu\nozymandias\nozzy osbourne as batman\np\np cattaneo\np. a. works\np. craig russell\np. j. n\np.a.works\np90\npa works\npablo amaringo\npablo carpio and jordan grimmer\npablo dominguez\npablo hurtado de mendoza\npablo olivera\npablo perdomo\npablo picasso and mark brooks\npablo picasso painting\npablo picasso. graffiti art\npacal votan\npacific northwest\npacific northwest coast\npacific rim\npacific rim jaeger\npacific-rim-mech in background\npacing\npacing in server room\npack\npackage cover\npackaging\npackaging award\npackaging design\npackaging of the world\npackshot\npacman\npadded shoulders jacket\npaddle and ball\npaddle of water\npaddy boehm\npaddy fields and river flowing\npadlocks\npadmasana\npadme amidala\npagan\npagan goddess\npagan occultism\npagans\npage\npage from initial d manga\npage scan from book\npages\npagoda\npagoda with a lot of wind chimes\npagodas on hills\npaid art assets\npaid artwork\npain\npain and torment\npain from naruto\npained expression\npainful\npainful vibe\npainfully adorable\npaining\npainitng\npainstaking detail\npaint\npaint brush strokes\npaint drip\npaint dripping\npaint drips\npaint drips liquid wax\npaint drops\npaint flecks\npaint is falling off\npaint knife\npaint on black velvet canvas\npaint on canvas\npaint peeling off the walls\npaint pour\npaint pour smoke\npaint smeared with palette knife\npaint smears\npaint spill\npaint splash\npaint splashes\npaint splashes and splatter\npaint splatter\npaint splatters\npaint strokes\npaint style\npaint swirl aesthetic\npaint swirls\npaint swirls and phyllotaxis\npaint texture\npaint tool sai\npaint tool sai!! blue\npaint tool saiblue\npaint tubes\npaint-on-glass painting\npaintball world cup\npaintbrush\npaintbrush and palettes\npaintchips\npainted\npainted action figure\npainted as a game concept art\npainted black\npainted by andreas rocha\npainted character portrait\npainted digital art\npainted face\npainted illustration poster\npainted in 1530\npainted in acrylic\npainted in anime painter studio\npainted in bright water colors\npainted in high resolution\npainted in oil colours\npainted in the style arcane\npainted in zbrush\npainted landscape\npainted look\npainted marble sculptures\npainted metal\npainted metal and glass\npainted nails\npainted on a brick wall\npainted on a giant wall\npainted on silk\npainted overalls\npainted pale yellow and green\npainted portrait\npainted portrait of mordekaiser\npainted portrait of rugged odin\npainted portrait of rugged zeus\npainted texture\npainted texture maps\npainted todd lockwood\npainted tower of the moon\npainted wargaming miniature\npainted warhammer 40k miniature\npainted warhammer miniature\npainted with a palette knife\npainted with a thick brush\npainted with a thin brush\npainted with colour on white\npainted with oil\npainted with pastels\npainterly\npainterly brushwork\npainterly concept art\npainterly digital art\npainterly feeling\npainterly humanoid mecha\npainterly illustration\npainterly portrait\npainterly style\npainterly texture\npainters\npainting\npainting a canvas\npainting a self portrait\npainting alphonse mucha\npainting art\npainting art work\npainting big bees flying around\npainting by android jones\npainting by dan mumford\npainting by hieronymus bosch\npainting by john howe\npainting by simon stalenhag\npainting come to life\npainting for a wall\npainting hr giger tent in a room\npainting illustration\npainting in luminist style\npainting in the museum\npainting in the style of ed mell\npainting in the style of renoir\npainting ivan shishkin\npainting of\npainting of a cat\npainting of a dreamscape\npainting of a forest\npainting of a hummingbird\npainting of a knight\npainting of a man\npainting of a room\npainting of a sand landscape\npainting of a woman\npainting of an undercover cup\npainting of angela merkel\npainting of ariana grande\npainting of beautiful\npainting of c - 3 p 0\npainting of cute dog\npainting of donald trump\npainting of flood waters\npainting of goliath\npainting of landscape\npainting of landscape of faroe\npainting of lavender field\npainting of mehrangarh fort\npainting of mona lisa\npainting of one health potion\npainting of ornate space ship\npainting of samarkand\npainting of splashing water\npainting of the beatles\npainting of white human figures\npainting of wild hunt in the sky\npainting oil\npainting oil on canvas\npainting on a badge\npainting on a badge!!!!\npainting on a canvas\npainting on black canvas\npainting on canvas\npainting on grey scale face\npainting on silk\npainting on the ceiling\npainting style\npainting vladimir volegov\npaintings\npaints\npaints mixing\npainttool sai\npainttoolsai\npair of keycards on table\npair of keys\npaisible night lighting\npaisley\npaisley wallpaper\npaiting\npalace\npalace background\npalace dance\npalace floating in heaven\npalace floating in the sky\npalace of the chalice\npalace of versailles\npalace on top of the hill\npalace ， a girl in hanfu\npaladin\npaladin armor\npaladin golden armor\npaladin!\npalast der republik in berlin\npalatial scene\npale\npale - skinned\npale - white skin\npale and coloured kimono\npale and sickly\npale as marble\npale as the first snow of winter\npale beautiful skin\npale beige sky\npale black armor\npale blue\npale blue armor\npale blue backlight\npale blue eyes\npale blue eyes!\npale blue faces\npale blue fog\npale blue glowing cybernetic eye\npale blue outfit\npale blue skin\npale bluish skin\npale colors\npale complexion\npale cyan and grey fabric\npale face\npale fair skin\npale fair skin!!\npale glowing skin\npale goth beauty\npale gradients design\npale gray skin\npale green background\npale green backlit glow\npale green glow\npale green halter top\npale greens and whites\npale grey skin\npale hair\npale head\npale ivory skin\npale light\npale milky white porcelain skin\npale muted pastel moody colors\npale orange colors\npale pastel colours\npale pink and gold kimono\npale pink bikini\npale pink grass\npale pointed ears\npale porcelain white skin\npale red\npale round face\npale skin\npale skin and dark eyes\npale skin and purple eyes\npale skin curly blond hair\npale skin!\npale sky\npale smooth\npale snow white skin\npale sober colors 9 0 %\npale sober colors 90 %\npale thin lips\npale tone\npale white detailed reptile skin\npale white face\npale white skin\npale woman\npale woman covered with blood\npale yellow sky\npale yellow wallpaper\npale yellow walls\npale young ghost girl\npale!\npale-skinned\npale-skinned persian girl\npaleo art\npaleoart\npaleolithic cave art\npaleolithic cave painting\npaleolithic painting\npaleozoic atlantis\npaler. millions of glass-walled\npalermo city street\npalette\npalette is black violet gray red\npalette knife\npalette knife and brush strokes\npalette knife background\npalette knife painting\npalette knife texture\npalette knife textures\npalette knife! and brush strokes\npalette of primaries\npalettes\npalladian\npalladium\npalladium veins\npallet\npallid skin\npalm\npalm body\npalm leaves on the beach\npalm lines\npalm pattern visible\npalm skin\npalm springs\npalm tree\npalm trees\npalm trees in the background\npalm trees james gurney\npalm trees on the beach\npalm trees outside the windows\npalme d'or winner\npalme dor winner\npalms\npalms and miami buildings\npalmtrees\npalpatine\npals have a birthday party\npalutena\npalutena smash\npam\npam from the office\npamela anderson\npamukkale\npan and plates\npan futurism\npan ren wei\npanaormic\npanasonic\npanasonic 35mm\npanavia tornado\npanavia tornado replica\npanavision\npanavision millennium dxl 2\npanavision millennium xl 2\npanavision panaflex\npanavision panaflex x\npanavision panaflex x iii\npanavision psr r-200\npanavision psr-200 35mm\npanavision x iii\npancake flat head\npancake short large head\npancakes\npanda\npanda panda panda\npandemic\npandemonium\npandora\npandora jungle\npandora style\npanel\npanel cuts\npanel of black\npaneled walls\npanels\npanic\npanicking\npanini\npanning shot\npanorama\npanorama distant view\npanorama of crooked ancient city\npanorama shot\npanorama view\npanorama view of the sky\npanoramic\npanoramic anamorphic\npanoramic centered view of girl\npanoramic photography\npanoramic shot\npanoramic view\npanoramic view of girl\npanoramic widescreen view\npanspermia\npantera ((countach))\npantheon\npanther\npanties\npanting\npantone\npantone color\npantone marker portrait\npants\npantyhose\npantyhose tights\npanzer\npaolo eleuteri serpieri\npaolo roversi\npaolo veronese style\npapa emeritus\npapa john eating 50 pizzas a day\npapa legba\npaparazzi\npaparazzi photo\npaparazzi photograph\npaparazzi photography\npaparazzi shot\npaper\npaper airplane\npaper art\npaper background\npaper border\npaper chrysanthemums\npaper collage\npaper collage art\npaper craft\npaper craft low poly\npaper crumpled texture\npaper cup\npaper cut art\npaper cut out\npaper cut out collage artwork\npaper cutout\npaper cutouts of plain colors\npaper decoration\npaper drawing\npaper grain\npaper marbling\npaper modeling art\npaper origami\npaper origami flowers\npaper quilling\npaper sketch\npaper texture\npaper texture 1 9 5 6\npaper texture. 1968\npaperback\npaperback cover\npapercraft\npapercut\npapers\npapers and tomes\npapers on table\npapier - mache\npapier colle\npaprika\npapyrus\nparachutes\nparade\nparade floats\nparade setting\nparadigm shift\nparadise\nparadise city\nparadise garden massage\nparadise in the background\nparadisiac\nparadox\nparadoxal\nparallax\nparallax photography\nparallax poster composition\nparallax »\nparallel\nparallel content\nparallel universe\nparallelism\nparametric\nparametric architecture\nparametric design\nparametric flow\nparametric solid works\nparametric structure\nparanoia\nparanoia everywhere\nparanoiascape ps1\nparanoid\nparanoid android\nparanoid critical method\nparanoid vibe\nparanormal\nparanormal activity\nparanormal flashlight\nparanormal monster\nparapets\npararel\nparasol\nparasols\nparce sepulto\nparchment\nparchment paper\npareidolia\nparental advisory\nparents watching\nparhelion atmospheric halos\nparietal art style\nparis\nparis 1982\nparis 2010\nparis background\nparis city\nparis eiffel tower\nparis fashion week\nparis hotel style\nparisian buildings\nparisian street at night\npark\npark background\npark in background\npark ji-min\npark jimin\npark landscape\npark on a bright sunny day\npark shin hye as a super villain\nparked cars\nparked spaceships\nparking in the street\nparking lot\nparkour\nparks\nparks and gardens\nparks and lakes\nparks and monuments\nparks and public space\nparliament\nparlor\nparody\nparody movie bloopers\nparody work\nparrot\nparrot on head\nparrots\npart dean cornwell style\npart fox\npart leyendecker style\npart of the screen\npart petra cortright\npart robot and part black human\nparted\nparted hair\nparted light brown hair\nparted lips\nparthenon\npartial anatomy\npartial robotic body\npartial symmetry features\npartially bald\npartially biomedical design\npartially bloody crystallized\npartially covered with dust\npartially cupping her hands\npartially cybernetic\npartially glazed\npartially gold\npartially human\npartially male hairy torso\npartially masked\npartially operational\npartially spacey crystallized\npartially submerged\nparticle\nparticle effects\nparticle lighting\nparticle physics\nparticle reflections\nparticle sim\nparticle simulation\nparticle waves\nparticles\nparticles and dust in the air\nparticles are flying\nparticles disintegration\nparticles explosion\nparticles floating\nparticles light\nparticles simulation\nparticulate\nparties\npartly cloudy\npartly cloudy day\npartly cloudy sky\npartly sunken! in the lake!\npartly sunny\npartly underwater\nparts\nparty\nparty at midnight\nparty atmosphere\nparty balloons\nparty hats\nparty in front\nparty in jungles\nparty lights\nparty people in background\npartylights\nparu itagaki\npascal blanche\npascal blanche and edward hopper\npassages\npassed out\npassengers\npassion\npassion flower\npassion fruits\npassionate\npassionate pose\npassive house\npassport\npassport photo\npast\npasta\npastel\npastel art\npastel artwork\npastel background\npastel blue\npastel blue eyes\npastel blues and pinks\npastel bright colors\npastel clothing\npastel color\npastel color gradients\npastel color palette\npastel color pallete\npastel color scheme\npastel color theme\npastel color tones\npastel colored\npastel colored sunrise\npastel colorful mold\npastel coloring\npastel colors\npastel colors only\npastel colors scheme\npastel colour palette\npastel colourful 3 d\npastel colours\npastel colours overlap\npastel cute slime\npastel deep colours\npastel drawing\npastel dull colors\npastel faded effect\npastel faded grey rainbow\npastel flower petals flying\npastel flowery background\npastel fur\npastel glaze\npastel goth\npastel goth aesthetic\npastel gradients\npastel green\npastel hair\npastel hues\npastel light pink very long hair\npastel lighting\npastel makeup\npastel matte colors\npastel neon\npastel neon colors\npastel oil inks\npastel orange sunset\npastel overflow\npastel painting\npastel palette\npastel palette silhouette\npastel pink\npastel pink concrete\npastel pink neon\npastel pink robes\npastel pink skin tone\npastel purple background\npastel rainbow\npastel roses\npastel shades\npastel simple art\npastel sky\npastel soft colors\npastel style\npastel style painting\npastel sunset\npastel synthwave\npastel texture\npastel tone\npastel tones\npastel vibe\npastel vivid triad colors\npastel'\npastelcolours\npastell colours\npastelle\npastelle colors\npastels\npastels colors\npastels colours\npastelwave\npastoral\npastoral backyard setting\npastoral environment\npastoral fantastic reality\npastose\npastries\npastry\npastry lizard\npastures\npat mcgrath\npat steir\npat steir and hilma af klint\npatagonian\npatch design\npatch logo\npatch logo design\npatches of fur\npatches of green fields\npatches of moss\npatches of red grass\npatches of sky\npatches of yellow sky\npatchwork\npatchwork doll\npatchwork-streak style\npatchy cactus\npatchy flowers\npatent\npatent drawing\npatent illustration\npatent leather\npatent registry\npatent style\npatented in 2039\npath\npath based rendering\npath based unbiased rendering\npath into lush forest\npath of exile\npath through a dense forest\npath traced\npath tracing\npath tracing render\npathecolor\npathes\npathetic\npathetic robot\npathfinder\npathfinder nendoroid\npathology\npathology sample test tubes\npathos\npaths\npathtracing\npathway\npathways\npatina\npatio\npatiphan sottiwilai\npatiphan sottiwilaiphong\npatreon\npatreon content\npatricia piccinini\npatrick\npatrick bateman\npatrick bateman)\npatrick demarchelier\npatrick faulwetter\npatrick jones\npatrick nagel\npatrick nagel!\npatrick nagle\npatrick nagle!!\npatrick nagle!!!\npatrick o'keeffe\npatrick okeeffe\npatrick star\npatrick stewart\npatrick westwood style\npatriot\npatriotic\npatriotic nihilism\npatriotic!\npatriotism\npatron saint of 🛸🌈👩🏾\npatryk hardziej\npattern\npattern art\npattern with optical illusion\npatterned\npatterned background\npatterned clothing\npatterned scarf\npatterned tilework\npatterned visionary art\npatterns\npatterns and textures\npatterns facing to audience\npaua shell\npaul atreides\npaul atreides as emperor of dune\npaul barson\npaul bonner\npaul brason\npaul carrick\npaul chadeisson\npaul dainton\npaul davey\npaul delaroche\npaul giamatti\npaul giamatti is donald trump\npaul heaston\npaul kratter\npaul kwon\npaul laffoley\npaul lehr and beeple\npaul lehr and m. c. escher\npaul lung\npaul mccartney\npaul outerbridge masterpiece\npaul pepera\npaul pepera pablo roldan\npaul pope\npaul rand\npaul robertson\npaul rudd\npaul thomas anderson\npaul walker\npaul-chadeisson\npaulie shore\npauline baynes\npauline hanson as a clown\npauline hanson as the joker\npaved\npaved roads\npavel shvedov\npavel tchelitchew\npavements\npavilion\npaw art\npaw pads\npaw patrol\npaw pov\npaw shot\npawel rebisz\npawg\npaws\npaws firm to the ground\npaws on head\npaws on steering wheel\npaws on wheel\npayday 2\npayne's grey\npayne's grey and venetian red\npaynes grey\npaynes grey and venetian red\npbr\npbr material\npbr materials\npbr render\npbr texture\npbr textures\npc\npc boxart\npc game\npc game with ui\npc gaming\npc gpu fov settings\npc screen image\npc screenshot\npc wallpaper\npch\npeace\npeace and love\npeace and quiet\npeace atmopshere\npeace sign\npeaceful\npeaceful ambience\npeaceful and graceful\npeaceful and quiet\npeaceful and serene\npeaceful animals\npeaceful atmosphere\npeaceful beautiful waterfall\npeaceful cloud\npeaceful clouds\npeaceful day\npeaceful elven forest\npeaceful environment\npeaceful evening harbor\npeaceful expression\npeaceful face\npeaceful landscape\npeaceful looking animals\npeaceful lushious forest\npeaceful mood\npeaceful puffy clouds\npeaceful scene\npeaceful suburban scene\npeaceful wooden mansion\npeacefull\npeacefully drinking river water\npeach\npeach and goma style\npeach embellishment\npeaches\npeacock\npeacock colors\npeacock feather wrap the head\npeacock feathers\npeacock in the desert\npeacock. intricate\npeak\npeak experience ”\npeaked wooden roofs\npeaks\npeaky blinders\npeaky blinders (2018)\npeaky blinders gang\npeanuts\npear\npear for a head\npearl\npearl choker\npearl earring\npearl necklace\npearl silverplate\npearlescent\npearlescent hues\npearlescent skin\npearlescent white\npearlized\npearls\npearls and chains\npearls and gold chains\npearls and oyesters\npearls and shells\npearls of sweat\npearly flagstones\npearly sky\npears\npeasant boy and girl first kiss\npeasant dress\npeasant wedding at midnight\npeasent\npebbles\npeder balke\npeder severin kroyer\npedestal\npedestrians\npediophobia\npedro correa\npee wee herman\npeeled lemons\npeeled oranges\npeeling face skin\npeeling paint\npeep the horror\npeepo the frog!!!\npeering over from his heavy\npegasus\npeggy hill\npeinture d'une fée sanguinaire\npeinture à l'huile\npeinture à lhuile\npeking opera\npekka halonen\npelisse\npelosi\npelt\npelt coats\npelton\npelzebug\npembrokeshire\npen\npen & ink drawing\npen - and - ink illustration\npen and ink\npen and ink doodles\npen and ink drawing\npen and ink drawings\npen and ink illustration\npen and ink monochrome\npen and ink on paper\npen and ink painting\npen and ink style\npen and ink work sharp focus\npen and ink work. sharp focus\npen and paper\npen and watercolor\npen draw\npen drawing\npen ink drawing\npen lines\npen on paper\npen on white paper\npen painting\npen sketch\npen-and-ink illustration\npencil\npencil and charcoal\npencil and ink\npencil and ink drawing\npencil and ink manga\npencil and ink manga drawing\npencil and paper\npencil and vine charcoal drawing\npencil and watercolor\npencil and watercolour\npencil art\npencil art on paper\npencil doodle\npencil draw\npencil drawing\npencil drawing illustration\npencil drawing of mkbhd\npencil drawing. el greco\npencil illustration\npencil lines\npencil marks\npencil marks hd\npencil miniskirt\npencil on paper\npencil painting\npencil sketch\npencil skirt\npencil stroke\npencil style\npencile and ink\npencils\npendant\npendants\npendleton ward\npenelope cruz\npenguin\npenguin surfing on a bong\npenguins\npenguinz0\npengzhen zhang\npenned illustrations\npenned in cyan ink\npenned with black on white\npenned with thin colors on white\npennywise\npennywise style\npennywise theme\npenrose stairs\npensive\npensive and hopeful expression\npensive expression\npensive lonely\npensive wizard examining eggs\npentacle\npentagon\npentagram\npentagrams\npentatomidae\npentax\npentax 67\npentax k 1 0 0 0\npentax k 1000\npentax k-1000\npentax k1000\npenthouse\npenumbral shadowcreature\npenup\npeolple run on the street\npeonies\npeony\npeony flower\npeony flowers\npeople\npeople and creatures walking\npeople angling at the edge\npeople are eating\npeople are panicking\npeople are wearing masks\npeople at night\npeople at the table\npeople at work\npeople crying\npeople dancing\npeople dancing in background\npeople didn't notice\npeople drink cocktails\npeople drinking beer\npeople drowning\npeople enjoying the show\npeople facing fire circle\npeople falling off a playground\npeople fighting\npeople flee\npeople fleeing\npeople in beach\npeople in the streets\npeople inside eating meals\npeople look into the frame\npeople looking at a house\npeople on a picnic\npeople on the ground\npeople on the streets\npeople out of focus\npeople outside eating meals\npeople outside walk\npeople panic in the foreground\npeople panicking\npeople resting on the grass\npeople running\npeople running away\npeople running in fear\npeople screaming\npeople shopping\npeople sitting at tables\npeople swimming\npeople waiting in bus stop\npeople walking\npeople walking around\npeople walking down a street\npeople walking in street\npeople walking in the distance\npeople walking into the horizon\npeople walking on street\npeople watching\npeople watching around\npeople with mohawks\npeople with umbrellas\npeople's perspective\npeople's silhouettes close up\npeoples\npeoples perspective\npeoples silhouettes close up\npepe\npepe frog\npepe moreno\npepe the frog\npepe the frog snowboarding\npepe the frogs at war\npepe the miner\npeppa pig\npeppa pig robbing a bank\npepper\npepper no. 3 5\npeppermint motif\npepperoni\npepsi\nper un pugno di dollari\nperception of value\nperceptual decoupling\nperched in a tree\nperched on a mossy branch\nperched on a rock\nperched on a skyscraper\nperched on intricate throne\npercy jackson\nperdita weeks!\nperedvishniki\nperez fabian\nperfecly detailed\nperfect\nperfect 4 k\nperfect anatomy\nperfect and proportional body\nperfect android girl\nperfect android girl family\nperfect angle\nperfect animal\nperfect anime\nperfect anime cyborg woman\nperfect anime face\nperfect art\nperfect artwork\nperfect beautiful\nperfect blue\nperfect blue eyes\nperfect body\nperfect body and face\nperfect body face and hands\nperfect body shape\nperfect bright studio lighting\nperfect central composition\nperfect cinematic light\nperfect circle\nperfect coherence\nperfect coherent composition\nperfect colorful eyeshadows\nperfect coloring\nperfect composition\nperfect composition and lighting\nperfect composition artem demura\nperfect composition body\nperfect crisp light\nperfect crisp moonlight\nperfect crisp sunlight\nperfect cut\nperfect cyborg female\nperfect dark\nperfect design\nperfect detail\nperfect detailed eyes\nperfect detailed face\nperfect details\nperfect digital art\nperfect drow\nperfect dynamic body form\nperfect dynamic environment\nperfect dynamic form\nperfect dynamic pose\nperfect dynamic position\nperfect dynamic posture\nperfect expression\nperfect eye\nperfect eyes\nperfect eyes!!\nperfect face\nperfect face )\nperfect face anatomy\nperfect face and anatomy\nperfect face and body\nperfect face and boy\nperfect face and eyes\nperfect face details\nperfect face model\nperfect face proportions\nperfect face shape\nperfect face symmetry\nperfect face template\nperfect face!!\nperfect face!! intricate\nperfect face!!!\nperfect faceintricate\nperfect faces\nperfect facial detail\nperfect facial features\nperfect facial proportions\nperfect facial symettry\nperfect facial symmetry\nperfect factions\nperfect fces\nperfect features\nperfect female body\nperfect female body silhouette\nperfect film clarity\nperfect focus\nperfect framing\nperfect future\nperfect geometry\nperfect green fairway\nperfect guns\nperfect hand\nperfect hand anatomy\nperfect hands\nperfect handsome face\nperfect high resolution\nperfect human female specimen\nperfect hyperdetailed face\nperfect intricate\nperfect kerning\nperfect landscape\nperfect letters\nperfect light\nperfect lighting\nperfect lighting hd\nperfect lighting in a snow storm\nperfect lighting pixel sorting\nperfect lightning\nperfect likeness\nperfect lineart\nperfect lines\nperfect lips\nperfect location lighting\nperfect man\nperfect master piece\nperfect maximalistic composition\nperfect military composure\nperfect moment\nperfect movie shot\nperfect muscle structure\nperfect natural skin tones\nperfect nose\nperfect pen and ink line art\nperfect photo\nperfect photorealistic eyes\nperfect pixel art\nperfect portrait composition\nperfect proportion\nperfect proportions\nperfect proportions define face\nperfect proportions defined face\nperfect proportions fine - face\nperfect proportions fine face\nperfect quality\nperfect readability\nperfect rembrandt lighting\nperfect render\nperfect scene\nperfect shading\nperfect shadow\nperfect shadows\nperfect shape\nperfect shot\nperfect silky straight hair\nperfect skin\nperfect skin tones\nperfect smile\nperfect smile and tooth\nperfect smile vogue\nperfect spring day with\nperfect straight lines\nperfect structure\nperfect studio light\nperfect studio lighting\nperfect symmetric coherent face\nperfect symmetric face\nperfect symmetrica body shape\nperfect symmetrical\nperfect symmetrical body\nperfect symmetrical eye\nperfect symmetrical eyes\nperfect symmetrical face\nperfect symmetrical face!\nperfect symmetrical image\nperfect symmetry\nperfect teeth\nperfect topology\nperfect vibrant green eyes\nperfect weather\nperfect white haired girl\nperfect woman\nperfect world\nperfect!!!\nperfect-full-shot\nperfection\nperfection!\nperfectionism\nperfectly calm waters\nperfectly centered\nperfectly centered portrait\nperfectly clear face\nperfectly defined features\nperfectly detailed\nperfectly detailed eyes\nperfectly detailed linework\nperfectly drawn hands\nperfectly face\nperfectly lit face\nperfectly lit. movie still\nperfectly poised\nperfectly proportioned\nperfectly proportioned face\nperfectly realistic yet surreal\nperfectly shaded\nperfectly shaded body\nperfectly shaded face\nperfectly symmetric\nperfectly symmetrical\nperfectly symmetrical alien face\nperfectly symmetrical face\nperfectly tileable\nperforated metal\nperformance\nperformance art\nperforming\nperforming a music video\nperforming on stage\nperforming to dead soldiers\nperfume\nperfume bottle\nperhaps\nperiodic table\nperky woman made of petals\nperlin noise\npermaculture\npermanent marker\npermed hair\nperpendicular to the camera\nperpetual motion machine\nperplexing\nperry rhodan\nperry the platypus\nperseides meteor shower\npersephone\npersephone as goddess of death\npersephone in spring\npersian\npersian carpet\npersian carpets\npersian cat\npersian design\npersian folklore illustration\npersian folkore artstyle\npersian folkore illustration\npersian folktale art style\npersian folktale artstyle\npersian princess\npersian queen\npersian rug\npersian rugs\npersian style architecture\npersian warrior\nperson\nperson centered composition\nperson in foreground\nperson made of tree\nperson made out of glass\nperson wearing gas mask\npersona\npersona 4\npersona 5\npersona 5 art style\npersona 5 art style wlop\npersona 5 artwork\npersona 5 inspired\npersona 5 phantom thief style\npersona 5 style\npersona art style\npersonal\npersonal computer horror\npersonal room background\npersonification\npersonification of greed\npersonification of marijuana\npersonified\npersonify\nperspective\nperspective 3 d octane render\nperspective 3d octane render\nperspective artwork\nperspective correction\nperspective depth\nperspective from below\nperspective perception\nperspective piece\nperspective shot\nperspective shot from the sky\nperspective sky\nperspective view\nperspective wide angle view\nperspicious detail\nperu\nperuvian\nperuvian boy looking\nperuvian looking\npespective\npessimism\npestilence\npestle\npet\npet animal\npet bird\npet rat on shoulder\npetal pink gradient scheme\npetals\npetals falling\npetals falling everywhere\npete davidson\npete davidson walking a kangaroo\npete mc nally\npete mohrbacher\npete morbacher\npeter\npeter andrew\npeter andrew jones\npeter capaldi\npeter chan\npeter chung\npeter chung + moebius + loish\npeter cushing as the 10th doctor\npeter deligdisch\npeter dinklage\npeter driben\npeter dunham\npeter dutton as a potato\npeter eisenman\npeter falk as columbo\npeter gric and dan mumford\npeter griffin\npeter griffin as a real person\npeter griffin body type\npeter griffin face\npeter griffin hairstyle\npeter griffin in real life\npeter guthrie\npeter henket\npeter hurley\npeter ilsted\npeter jackson\npeter jones\npeter kemp\npeter konig\npeter lloyd\npeter lundqvist\npeter marlow photography\npeter mohbacher\npeter mohrbacher\npeter mohrbacher and artgerm\npeter mohrbacher and dan mumford\npeter mohrbacher and takayuk\npeter mohrbacher artstyle\npeter mohrbacher c 2 0\npeter mohrbacher c 20\npeter mohrbacher digital art\npeter mohrbacher donato giancola\npeter mohrbacher highly detailed\npeter mohrbacher style\npeter mohrbacher''\npeter mohrbacher. unreal engine\npeter morbacher\npeter morbacher style\npeter mordenbacher\npeter morhbacher\npeter mullen\npeter murbacher\npeter palombi\npeter pan\npeter parker\npeter parker as spiderman\npeter paul rebens\npeter saville\npeter sculthorpe\npeter singhof\npeter tarka\npeter temple\npeter the goat\npeter the great\npeter the great of russia\npeter xiao\npeterdraws\npetite\npetite body\npetite girl\npetite pear slim figure\npetra collins\npetra collins and mc. escher\npetra cortright\npetri dish art. animal eyes\npetri rahkola\npetrol\npetrol aesthetic\npetrol energy\npetroleum vitamin\npetros\npetros afshar speedart\npetros and leonid\npets\npetscop\npetspective room layout\npetting a cat\npetting zoo\npetzval lens\npetzval lens. featured on flickr\npetzval lens. out of focus\npeugeot prestige\npewdiepie\npewdiepie selfie at a bridge\npews\npeyote cactus desert\npeyote colors\npfp\nphalanster\nphalanx of ashigaru mice\nphallic\nphantasmagoric\nphantasmagorical\nphantasy\nphantasy star online\nphantom\nphantom crash\nphantom dust gameplay screenshot\nphantom ghosts in the background\nphantom grip\nphantom list\npharah\npharah from overwatch\npharaoh\npharaoh clothes\npharmacy\npharoah\nphase 2\nphasmophobia\nphation\npheasant guard sits on a stump\npheasant holding a sword\nphenomenal\nphenomenal photography\nphenomenally aesthetic\nphi\nphil hale\nphil hale and kent williams\nphil hale artwork\nphil jimenez\nphil noto\nphil noto and james jean\nphil noto and rebecca guay\nphil noto comic art\nphil noto comicbook cover art\nphil spencer\nphilip coles\nphilip k d\nphilip selway (drums)\nphilip taaffe\nphilippe caza\nphilippe dru\nphilippe starck\nphilippines\nphilosopher\nphilosopher alvin plantinga\nphilosophical\nphilosophical physics\nphilosophical splashes of colors\nphilosophy\nphilosopy\nphlegm\nphobia\nphobos\nphoebe tonkin\nphoenix\nphoenix dragon\nphoenix flames\nphoenix head\nphoenix head. burning wax\nphoenix in fire\nphoenix jellyfish\nphoenix rising\nphoenix rising from the ashes\nphoenix warrior\nphoenix wright\nphoenix-inspired\nphograph\nphography\nphone\nphone background\nphone camera\nphone in hand\nphone photo\nphone quality\nphone recording\nphone wallpaper\nphone wallpaper hd\nphone wallpaper. intricate\nphone wearing a cowboy hat\nphone!! held up to visor\nphoneheld up to visor\nphong shaded\nphong yintion j - jiang geping\nphonk album cover\nphonk music background\nphosphorescent\nphot\nphotgraph\nphotgraphy\nphoto\nphoto  far\nphoto  far _ shot\nphoto ( far _ shot )\nphoto - bash\nphoto - editing\nphoto - manipulation\nphoto - real\nphoto - realism\nphoto - realistic\nphoto - realistic )\nphoto - realistic nikon 3 5 mm\nphoto - realistic nikon 35 mm\nphoto - realistic wallpaper\nphoto - realostic\nphoto - shot\nphoto 1 5 mm\nphoto 1 9 9 0 s\nphoto 1960\nphoto 1998\nphoto 2 0 1 0\nphoto 2010\nphoto 3 5 mm leica\nphoto 3 d\nphoto 35 mm leica\nphoto 35mm\nphoto 3d\nphoto 4 k\nphoto 4k\nphoto 50mm\nphoto 8 k\nphoto 85mm\nphoto 8k\nphoto [ far ]\nphoto art\nphoto bash\nphoto blurring\nphoto booth\nphoto collage\nphoto courtesy museum of art\nphoto documentary style\nphoto documetalism\nphoto epic of the year\nphoto finish\nphoto for a magazine\nphoto for a store\nphoto for magazine\nphoto for vogue\nphoto from 1940s\nphoto from 2022\nphoto from a promo shoot\nphoto from a spectator\nphoto from above\nphoto from behind\nphoto from behind of a cowboy\nphoto from space\nphoto from the 1850s of a farmer\nphoto from the 7 0 s\nphoto from the 70 s\nphoto from the 70s\nphoto from the 80s\nphoto from the back\nphoto from the dig site\nphoto from the olympic games\nphoto from the side\nphoto from vogue magazine\nphoto high definition\nphoto hyper realistic\nphoto illustration\nphoto in 4 k\nphoto in color\nphoto in style of paola kudacki\nphoto in style of tyler mitchell\nphoto journalism\nphoto kodak 35mm colored\nphoto kodak lens\nphoto manipulation\nphoto microscope\nphoto mid shot\nphoto model\nphoto mosaic\nphoto of\nphoto of a 50-year-old white man\nphoto of a beautiful\nphoto of a beautiful window\nphoto of a beautiful woman\nphoto of a big theaterstage\nphoto of a black woman\nphoto of a camp fire underwater\nphoto of a cat\nphoto of a classroom\nphoto of a crazy wasp\nphoto of a dyson sphere\nphoto of a ghostly pirate\nphoto of a hamster\nphoto of a hamsters on a date\nphoto of a hand jewellery model\nphoto of a huge theaterstage\nphoto of a man\nphoto of a mechanical butterfly\nphoto of a model\nphoto of a painting\nphoto of a rose\nphoto of a victorian dollhouse\nphoto of a woman\nphoto of asuna from sao\nphoto of barack obama\nphoto of boris johnson running\nphoto of breeze kaze\nphoto of crocodile\nphoto of cthulhu\nphoto of demon gollum\nphoto of donald trump\nphoto of džesika devic\nphoto of earth from space\nphoto of emma watson\nphoto of emma watson in swimsuit\nphoto of futuristic cityscape\nphoto of genghis khan\nphoto of ghost of anubis\nphoto of green river\nphoto of happy\nphoto of head\nphoto of margot robbie\nphoto of mark zuckerberg\nphoto of monstrous tornado\nphoto of penelope cruz\nphoto of poor condition\nphoto of putin\nphoto of real life pokemons\nphoto of scp-173\nphoto of sheryl sandberg\nphoto of shiprock\nphoto of slim girl\nphoto of slim girl model\nphoto of sophia loren\nphoto of the beauty gal gadot\nphoto of the cinema screen\nphoto of the girl\nphoto of the middle of the ocean\nphoto of the statue of liberty\nphoto of the year\nphoto of the year 2 0 2 2\nphoto of the year 2022\nphoto of war\nphoto of wolf\nphoto of young woman\nphoto of zurich\nphoto on iphone\nphoto photo\nphoto photograph\nphoto pinterest\nphoto portrait\nphoto print\nphoto product\nphoto quality\nphoto real\nphoto real ultra high detail\nphoto realisitc\nphoto realism\nphoto realist\nphoto realistic\nphoto realistic 4k\nphoto realistic image\nphoto realistic octane render\nphoto realistic painting\nphoto realistic portrait\nphoto realistic render\nphoto realistic style\nphoto realistic symmetrical\nphoto realistic”\nphoto reality\nphoto render\nphoto session\nphoto shoot\nphoto shot\nphoto shot my martha cooper\nphoto still\nphoto still of\nphoto still of behind view\nphoto still of interior\nphoto still of posterior view\nphoto studio\nphoto studio background\nphoto studio composition\nphoto studio quality\nphoto style\nphoto style of shawn paul tan\nphoto taken at night\nphoto taken from a boat\nphoto taken from above\nphoto taken from behind\nphoto taken from far\nphoto taken from far away\nphoto taken from the ground\nphoto taken in 1 9 3 0\nphoto taken in 1930\nphoto taken in 1989\nphoto taken in 2 0 2 0\nphoto taken in 2018\nphoto taken in 2020\nphoto taken of an epic intricate\nphoto taken on a nikon\nphoto taken on an old box camera\nphoto taken on fujifilm superia\nphoto taken with an iphone\nphoto taken with canon 5d\nphoto taken with ektachrome\nphoto taken with fujifilm superia\nphoto taken with nikon d 7 5 0\nphoto taken with nikon d 750\nphoto taken with nikon d750\nphoto taken with provia\nphoto taken with provia 1967\nphoto taken with sony a7r\nphoto taken with sony a7r camera\nphoto-bash\nphoto-real\nphoto-realism\nphoto-realistic\nphoto-realistic face\nphoto-realistic low lighting\nphoto-realistic maximum detail\nphoto-realistic unreal engine\nphoto-shopped\nphotobash\nphotobashing\nphotochrom print\nphotocollage\nphotocopied\nphotocopy\nphotodirector 3 6 5\nphotodirector 365\nphotogenic\nphotogenic details on armor\nphotografy\nphotogrammetry\nphotograpgy\nphotograph\nphotograph 3 5 mm\nphotograph 35 mm\nphotograph 4 k\nphotograph 4k\nphotograph captured in a forest\nphotograph captured in the woods\nphotograph credit: ap\nphotograph from above\nphotograph magazine\nphotograph of 3d ios room\nphotograph of a red kite bird\nphotograph of a sleeve tattoo\nphotograph of a techwear woman\nphotograph of april\nphotograph of christopher walken\nphotograph of drake the rapper\nphotograph of enchanted garden\nphotograph of san francisco\nphotograph of taylor swift\nphotograph of the city street\nphotograph of the year\nphotograph of three ravers\nphotograph portrait\nphotograph quality\nphotograph realism\nphotograph taken in 1989\nphotograph taken in 2 0 2 0\nphotograph taken in 2020\nphotograph ”\nphotographed\nphotographed for reuters\nphotographed from behind\nphotographed from the back\nphotographed in film\nphotographed on colour film\nphotographed on damaged film\nphotographed on ektachrome film\nphotographed on expired film\nphotographer\nphotographer art wolfe\nphotographic\nphotographic color scheme blur\nphotographic filter\nphotographic hyperrealism\nphotographic isometric cathedral\nphotographic journalism\nphotographic portrait\nphotographic print\nphotographic quality\nphotographic realism\nphotographic reality\nphotographic render\nphotographic still\nphotographic stills\nphotographic style of avedon\nphotographic. imposingly tall\nphotographs\nphotography\nphotography )\nphotography 4 k\nphotography 4k\nphotography 50mm f1.4\nphotography alexey gurylev\nphotography alexey kurylev\nphotography at night\nphotography award\nphotography award )\nphotography award photo\nphotography award winning\nphotography award)\nphotography awardm\nphotography canon\nphotography cinestill\nphotography fashion edition\nphotography from vogue magazine\nphotography hight quality\nphotography hyperrealism\nphotography of albert watson\nphotography of bill brauer\nphotography of charline von heyl\nphotography of enchanted forest\nphotography of gregory crewdson\nphotography of kurzgesagt\nphotography of todd hido\nphotography photojournalism\nphotography photorealism\nphotography photorealistic\nphotography portrait\nphotography portrait 4 k\nphotography shot\nphotography shot at blue hour\nphotography studio\nphotography style\nphotography ultrafine detail\nphotography: journalism\nphotography]\nphotography”\nphotograph”\nphotograpphy\nphotogravure\nphotogtaphy\nphotohoot\nphotoillustration\nphotojournalism\nphotojournalism detailed\nphotojournalism photography\nphotolab\nphotolithography\nphotomanipulation\nphotomontage\nphotomorph\nphotomorph artwork\nphotons\nphotoralistic rendering\nphotorea\nphotoreailstic\nphotoreaistic\nphotoreal\nphotoreal details\nphotoreal elegant\nphotoreal epic composition\nphotoreal octane render\nphotoreal octane rendering\nphotoreal render\nphotorealiatic\nphotorealiscic face\nphotorealisitc\nphotorealism\nphotorealism 4 k\nphotorealism 4k\nphotorealism 8k\nphotorealism art\nphotorealism oil painting\nphotorealism pastel\nphotorealism style\nphotorealism ”\nphotorealism!!\nphotorealism!!!\nphotorealism. trending on flickr\nphotorealist\nphotorealist style\nphotorealistc\nphotorealiste\nphotorealisti\nphotorealistic\nphotorealistic - h 6 4 0\nphotorealistic - h 640\nphotorealistic -20\nphotorealistic 3 d\nphotorealistic 3 d octane render\nphotorealistic 3 d render\nphotorealistic 35mm\nphotorealistic 35mm'\nphotorealistic 3d art\nphotorealistic 3d artwork\nphotorealistic 3d octane render\nphotorealistic 3d render\nphotorealistic 4 k\nphotorealistic 4k\nphotorealistic 8 k\nphotorealistic 8k\nphotorealistic anamorphic lens\nphotorealistic and intricate\nphotorealistic anime\nphotorealistic anime girl render\nphotorealistic art\nphotorealistic art style\nphotorealistic artstyle\nphotorealistic beautiful face\nphotorealistic blade runner\nphotorealistic brush strokes\nphotorealistic camera shot\nphotorealistic cgi\nphotorealistic cinematic\nphotorealistic cinematic render\nphotorealistic colors\nphotorealistic concept art\nphotorealistic content\nphotorealistic dark concept art\nphotorealistic detail\nphotorealistic detailed\nphotorealistic detailed picture\nphotorealistic details\nphotorealistic details content\nphotorealistic digital art\nphotorealistic digital arts\nphotorealistic digital painting\nphotorealistic disney\nphotorealistic drawing\nphotorealistic eyes\nphotorealistic eyes render\nphotorealistic face\nphotorealistic faces\nphotorealistic facial features\nphotorealistic fan art\nphotorealistic features\nphotorealistic full body\nphotorealistic graphics\nphotorealistic hd\nphotorealistic high detail\nphotorealistic highly detailed\nphotorealistic homer simpson\nphotorealistic horror\nphotorealistic human goku\nphotorealistic hyperdetail\nphotorealistic illustration\nphotorealistic image\nphotorealistic imagery\nphotorealistic landscape\nphotorealistic lighting\nphotorealistic logan movie still\nphotorealistic magazine picture\nphotorealistic masterpiece\nphotorealistic matte painting\nphotorealistic movie still\nphotorealistic music album cover\nphotorealistic octane 3d render\nphotorealistic octane render\nphotorealistic octane render 8 k\nphotorealistic octane render 8k\nphotorealistic oil on canvas\nphotorealistic oil painting\nphotorealistic painting\nphotorealistic perfect body\nphotorealistic photo\nphotorealistic photograph\nphotorealistic photography\nphotorealistic picture\nphotorealistic portrait\nphotorealistic portrait of bjork\nphotorealistic print of exotic\nphotorealistic quality\nphotorealistic raytracing\nphotorealistic render\nphotorealistic render in octane\nphotorealistic rendering\nphotorealistic resolution\nphotorealistic room\nphotorealistic screenshot\nphotorealistic shading\nphotorealistic shot\nphotorealistic skin texture\nphotorealistic skin tone\nphotorealistic special effects\nphotorealistic streetscape\nphotorealistic style\nphotorealistic texture\nphotorealistic ”\nphotorealistic!\nphotorealistic!!\nphotorealistic!!!\nphotorealistic!!!!\nphotorealistic!!!!!\nphotorealistic!!!!!!! art style\nphotorealistic-n 9\nphotorealistic. realistic\nphotorealisticart style\nphotorealistick\nphotorealistic”\nphotorealistoc\nphotorealitic\nphotoreallrstic\nphotorealsitic\nphotoreal”\nphotorelism\nphotorelistic\nphotorender\nphotorrealistic\nphotorrealistic concept art\nphotos\nphotos of family on wall\nphotoscan\nphotoscanned\nphotoshoot\nphotoshoot for skincare brand\nphotoshoot for vogue magazine\nphotoshoot portrait\nphotoshoot poses\nphotoshooting\nphotoshop\nphotoshop art\nphotoshop brush\nphotoshop collage\nphotoshop render\nphotoshop speedpaint\nphotoshop water art\nphotoshoped\nphotoshoppainting\nphotoshopped\nphotoshot\nphotostock\nphotosynthesis\nphotosynthetic\nphotoweb\nphoto”\nphotrealistic\nphragmites\nphthalo blue\nphtorealistic\nphtotrealistic\nphuoc quan\nphysical\nphysical : tinyest midriff ever\nphysical based render\nphysical based rendering\nphysical correct light\nphysical correct light shadows\nphysical mental perfection\nphysical octane render\nphysical painting\nphysical particles\nphysicality-based render\nphysically - based render\nphysically accurate\nphysically based render\nphysically based rendering\nphysics\nphysics defying\nphysics splashes of colors\npi - slices\npi-slices and kidmograph\npianist\npiano\npiano guitar music notes key\npiano in the background\npianos\npic\npicard on a starboard\npicasso\npicasso and dali\npicasso and moebius\npicasso masterpiece\npicasso style\npichacu cooks a squid\npick up behind you\npick wu\npickaxe\npicking apples from a tree\npicking flowers\npicking up a can beans\npicking up a flower\npickle\npickle rick\npickle rick from rick and morty\npickles\npicnic\npics that go hard\npicsart\npictogram\npictographs\npicton blue\npictoplasma\npictorial\npictorial logo\npictorial mark\npictorialism\npicture\npicture book\npicture frames\npicture from behind\npicture generation\npicture inside covens den\npicture of a female biker\npicture of a loft in morning\npicture of a male biker\npicture of a male cleric\npicture of an adult male warrior\npicture of an interior loft\npicture of female paladin\npicture of the year\npicture of the year award\npicture portrait\npicture taken from the ground\npicture taken in 1 9 3 0\npicture taken in 1930\npicture taken in zoo\npicture through the screen\npictured from the shoulders up\npictures in sequence\npictures of family on wall\npicturesque\npidgey\npie eyes\npieces\npieces of a ripped flag\npieces of a ripped flag!!!\npieces of land\npierce brosnan\npierce brosnan as james bond\npierced\npierced navel\npiercing\npiercing blue eyes\npiercing bright blue eyes\npiercing brown eyes\npiercing clear eyes\npiercing detailed realistic eyes\npiercing eye\npiercing eyes\npiercing gaze\npiercing glare in the eyes\npiercing glowing eyes\npiercing green eyes\npiercing grey eyes\npiercing stare\npiercing turquoise blue eyes\npiercings\npiercings and a mohawk\npiercings collar\npiercings resembling plasma jets\npierre - auguste renoir\npierre pellegrini and ash thorp\npierre puvis de chavannesa\npieter brueghel\npieter rudolph kleijn\npig\npig in a tuxedo\npig nose\npig pig pig\npigeon\npiggy\npiglet\npigment\npigment textures\npigs\npigtail\npigtail braids\npigtails\npigtails hair\npigtails hairstyle\npikachu\npikachu as a human\npikachu as jesus\npikachu eating a hamburger\npikachu in a forest\npikachu in space\npikachu on acid\npikachu tarot card\npikes\npilar\npilar gogar\npile of bodies\npile of skulls under his feet\npiled around\npiles of bodies\npiles of bones\npiles of books\npiles of gold coins\npiles of modular synth cables\npiles of money\npiles of paperwork\npiles of trash\npiles of trash and junk\npilgrim village setting\npilgrimage\npillar\npillars\npillars and arches\npillars of creation\npillars of ice background\npillars of marble\npillars on ceiling\npillhead\npillows\npills\npills and medicine\npilot\npilot girl\npilot outfit\npiloting a small space shuttle\npiltover\npimples\npimps\npin - up\npin - up girl\npin on anime\npin up\npin up girl\npin up style poster\npin-up\npin-up poster girl\npinball machine parts\npincushion lens effect\npine\npine color scheme\npine forest\npine forests\npine marten\npine tree\npine treehouse\npine trees\npine trees in the background\npine wood\npineapple\npineapples\npinecone\npines symbol in the corners\npines symbols\npingu\npingu sitting behind a computer\npinguin\npinhead from hellraiser\npinhole\npinhole analogue photo quality\npinhole camera\npinhole camera effect\npinhole effect\npinhole photo\npinhole photo : dream\npinhole photo quality\npinhole photography\npininfarina\npink\npink 7 inch high heels\npink accents\npink and black\npink and blue\npink and blue and green mist\npink and blue colors\npink and blue colour\npink and blue gradients\npink and blue hair\npink and blue lighting\npink and blue mohawk hairstyle\npink and blue neon\npink and blue palette\npink and gold\npink and gold color palette\npink and gold color scheme\npink and green\npink and green colour palette\npink and grey clouds\npink and grey muted colors\npink and orange\npink and orange colors\npink and orange neon lights\npink and pink details\npink and purple\npink and red color scheme\npink and red color style\npink and red colors\npink and teal\npink and teal and orange\npink and teal color palette\npink and triadic color scheme\npink and yellow\npink angry bubble\npink arches\npink asparagus\npink axolotl in a bucket\npink background\npink bees\npink body\npink body harness\npink bonsai tree\npink clothes\npink cloud background\npink cloud bokeh\npink clouds\npink clouds background\npink clouds in the sky\npink cloudy background\npink color palette\npink color scheme\npink colors\npink concrete\npink cowboy hat\npink crystal mohawk\npink diamonds\npink door\npink dress\npink eyes\npink face\npink flower\npink flowers\npink floyd\npink floyd album cover\npink fluffy fur\npink fog background\npink forest\npink fox\npink frosted donut\npink fur\npink girl\npink glasses\npink glitter mermaid gown\npink golden hour\npink gradient background\npink grass\npink hair\npink hair bow\npink hair covered with hairpins\npink halter top\npink headband\npink headphones\npink hearts in the background\npink hue\npink hues\npink iconic character\npink jellyfish everywhere\npink lamborghini aventador\npink landscape\npink light\npink lighting\npink lightning\npink lips\npink lipstick\npink lotus queen\npink magic\npink marble building\npink mini-skirt\npink mist\npink mohawk\npink moon\npink neon lights\npink nose\npink orange flowers\npink pastel\npink petals\npink petals fly\npink power\npink reflections\npink romantic tutu\npink rosa\npink rose\npink scheme\npink shadows\npink shirt\npink shoes\npink short hair\npink skies\npink skin\npink skirt\npink sky\npink slime everywhere\npink smoke\npink storm clouds\npink straight hair\npink studio lighting\npink sun\npink sunlight\npink sunset\npink sunset hue\npink tigers\npink tight mini-skirt\npink tinged heavenly clouds\npink tones\npink tree beside a large lake\npink trees\npink tutu\npink twintail hair and cyan eyes\npink vibe\npink violet light\npink volumetric studio lighting\npink water in a large bath\npink waterfalls\npink white and green\npink white turquoise\npink wispy hair\npink yellow and blue neon signs\npink yellow flowers\npink zen style\npinkie pie\npinkie pie as a sith lord\npinkie pie equine\npinks\npinky pie my little pony\npinnable\npinnacle studio\npinned down\npinned joints\npino daeni\npino daeni and dan mumford\npinocchio\npinocchio nose\npinpoint sharp focus\npins\npins of light\npinstripe suit\npinterest 4 k\npinterest and shutterstock\npinterest anime\npinterest filter\npinterest hair picture\npinterest keyshot product render\npinterest posing\npinterest render\npinterest style\npinterest tattoos\npinterest trending\npinterest wallpaper\npintrerest\npintrest\npinup\npinup art\npinup body\npinup girl\npinup model\npinup of tracer from overwatch\npinup pose\npinup style\npinup. lord of daggers\npioneering aesthetic\npiotr jablonski\npipboy art\npipe\npipe brain\npipe jungle\npipe organ\npipe organ album art\npipe smoke\npipelines\npipes\npipes and valves\npiping\npiranesi style\npiranesi's chamber\npirate\npirate captain\npirate clothes\npirate clothing\npirate flag in his arms\npirate logo\npirate neon ship\npirate portrait\npirate queen\npirate robot\npirate setting\npirate ship\npirate ship in background\npirate ship in space\npirate ships\npirate ships at war at night\npirate themed\npirate weapons\npirate woman\npirates\npirates flag\npirates in a tavern\npirates of the caribbean\npirates of the caribbean (2006)\npirates of the caribbean 2006\npirates of the carribean\npirates treasure map\npiroca\npisces\npissed off\npistol\npistol and bazooka\npistol in holster\npistol on his hand\npistols\npistons\npistons and bolts\npit droid\npitbull\npitch bending\npitch black\npitch black background\npitch black room\npitch black skin\npitch black sky\npitch dark room\npitch darkness around the post\npitch perfect\npitchblack skin\npitchblack sky\npitchburn devils\npitchburn devils!\npitchfork\npith helmet\npits\npitt\npittsburg\npittsburgh\npittura metafisica\npivix\npixar\npixar  and disney animation\npixar (2018)\npixar 2018\npixar 3 d animation style\npixar 3d animation style\npixar 3d render\npixar 8 k photo\npixar 8k photo\npixar and da vinci\npixar and disney\npixar and disney 3d style\npixar and disney animation\npixar and disney style\npixar and ilya kuvshinov\npixar and industrial\npixar animation\npixar animation studio\npixar animation style\npixar animation，hyper detailed\npixar art\npixar art 3d\npixar art style\npixar artstyle\npixar cars in mad max fury road\npixar cars movie style\npixar cartoon\npixar cartoon style\npixar cgi\npixar character\npixar character design\npixar color palette\npixar concept art\npixar coronavirus movie\npixar cute\npixar cute character design\npixar digital movies\npixar disney\npixar doll deep focus\npixar film\npixar film setting\npixar highly detailed\npixar movie\npixar movie panorama\npixar movie poster\npixar movie scene\npixar movie screenshot\npixar movie still\npixar movie style\npixar octane render\npixar portrait\npixar portrait 8 k photo\npixar portrait 8k photo\npixar render\npixar rendering\npixar renderman\npixar renderman render\npixar splash art\npixar still\npixar studio\npixar studios\npixar style\npixar weta portrait\npixar zootopia. 3 d rendering\npixar. octane render\npixar”\npixel\npixel art 8 - bit\npixel art animation\npixel art dinosaur\npixel art isometric drawing\npixel art sprite\npixel art style\npixel artwork\npixel art”\npixel degradation\npixel game\npixel graphics\npixel mosaic\npixel perfect\npixel perfect photograph\npixel rain\npixel sort\npixel sorted\npixel sorting\npixel stretching\npixel style\npixel town\npixel-art\npixelactivist\npixelart\npixelate\npixelated\npixelated art\npixelated rain\npixeled stretching\npixellated\npixelperfect\npixels\npixels huh\npixelsort\npixelsorting\npixelsquid\npixer\npixie\npixie character\npixie cut\npixie cut with shaved side hair\npixie dust magic\npixie hair\npixie haircut\npixie haircut wlop\npixie undercut black hair\npixie undercut hairstyle\npixie undercut short black hair\npixilated\npixiv\npixiv 3dcg\npixiv daily ranking\npixiv frontpage\npixiv style\npixiv trending\npixivs\npixivs and\npixivs and junji ito\npixologic top row\npixta. jp\npixta.jp\npixv\npixvy\npizza\npizza advert\npizza box\npizza cosmos\npizza in foreground\npizza is everywhere\npizza on a table\npizza pie\npizza skyscrapers\npizza the hut\npizza universe\npizza!\npièce de résistance\npj crook\nplacards\nplace\nplace of battle\nplace setting\nplaced in a bloody hall\nplaced in a large living room\nplaced in a living room\nplaced in a lush forest\nplacid\nplague\nplague and fever. full body\nplague doctor\nplague doctor mask\nplague mask\nplaid shirt\nplaid skirt\nplaid tights\nplain\nplain background\nplain black background\nplain purple background\nplain red background\nplain stretching into distance\nplain studio background\nplain uniform sky\nplain uniform sky at the back\nplain view\nplain walls somber white eyes\nplain walls |light hearted\nplain walls |somber white eyes\nplain white background\nplain white tshirt\nplains\nplan\nplan drawing\nplane\nplane illustration\nplane light\nplanes\nplanescape torment\nplaneswalker\nplanet\nplanet and stars\nplanet arrakis\nplanet earth\nplanet earth background\nplanet earth exploding\nplanet earth from space on fire\nplanet earth in foreground\nplanet earth in the background\nplanet earth in the foreground\nplanet hoth\nplanet in space\nplanet in space over the horizon\nplanet in the sky\nplanet landscape\nplanet mars\nplanet mars in the background\nplanet of the apes\nplanet of the cats\nplanet overgrown\nplanet saturn\nplanet surface\nplanet terror planet\nplanet uranus\nplanet with rings\nplanetary annihilation titans\nplanetary city\nplanetary gears\nplanetary landscape\nplanetes\nplanets\nplanets align\nplanets and galaxies\nplanets and stars\nplanets behind\nplanets colliding\nplanets crashing\nplanets in orbit\nplanets in the background\nplanets in the skies\nplanets in the sky\nplanets on the background\nplanets orbit\nplanner stickers\nplanning\nplans\nplant\nplant armour\nplant forest in glass tubes\nplant monster\nplant patterns\nplant photography\nplant predator\nplant roots\nplant sap\nplant specimens\nplant spirit\nplanted charge\nplanters\nplants\nplants allover\nplants and flowers\nplants and grass\nplants and jungle\nplants and patio\nplants and trees\nplants environment\nplants everywhere\nplants growing\nplants growing on it. gouache\nplants in a glass vase\nplants in beakers\nplants in glass vase\nplants in glasses\nplants in scientific glassware\nplants inside cave\nplants on balconies\nplants on pots and on the walls\nplasma\nplasma charges\nplasma display\nplasma globe\nplasma gun\nplasma neon internal glow\nplasma rays\nplaster\nplastic\nplastic action figure\nplastic and fabric\nplastic army men\nplastic barbie doll\nplastic bottles\nplastic ceramic material\nplastic chair\nplastic doll\nplastic sea wrapped\nplastic sheen\nplastic skin\nplastic texture\nplastic toy\nplastic waste\nplastic wrap\nplasticine\nplasticine models\nplasticized spiral flames\nplataform 2 d game\nplataform 2d game\nplataform game\nplate\nplate armor\nplate armored chest\nplate armour\nplate of borscht\nplated\nplated arm\nplated armor\nplated armor intricate\nplates\nplates of fruit\nplatform\nplatform 9 3 / 4\nplatform boots\nplatform game\nplatformer\nplatforms\nplating\nplatinum\nplatinum attire\nplatinum blond\nplatinum blonde\nplatinum blonde hair\nplatinum blonde long hair\nplatinum cracked\nplatinum hair\nplatinum jewellery\nplatinum printing\nplatinum skin\nplaton\nplatonic forms\nplatonic ideal star wars\nplatonic solids\nplatypus\nplay\nplay - doh\nplay in dnd\nplay of light\nplay-doh\nplayable trailer\nplaybill\nplaybill of prima ballerina\nplayboi carti\nplayboi carti and lil uzi vert\nplayboi carti portrait\nplayboy\nplayboy bunny\nplayboy centerfold\nplayboy cover\nplayboy style\nplayers handbook\nplayful\nplayful and cheerful\nplayful composition\nplayful composition canon\nplayful creativity\nplayful peasant man\nplayful pose\nplayful pose of a dancer\nplayful smile\nplayful smirk\nplayful updo\nplayful vibe\nplayful!!!\nplayground\nplaying\nplaying a gibson les paul guitar\nplaying a guitar\nplaying a korg ms-20 synthesizer\nplaying a mandolin\nplaying at swiming pool\nplaying at the beach\nplaying basketball\nplaying board games\nplaying card back\nplaying card suit hearts\nplaying cards\nplaying chess\nplaying computer games\nplaying dnd\nplaying drums\nplaying electric guitar\nplaying games\nplaying guitar\nplaying guitar onstage\nplaying guitars\nplaying harp in magical forest\nplaying in waterfalls\nplaying piano\nplaying poker\nplaying poker in a saloon\nplaying soccer\nplaying soccer at the beach\nplaying soccer on the beach\nplaying techno house music\nplaying tennis\nplaying the guitar\nplaying video games\nplaying with a fox\nplaying with a small firetruck\nplaying with fire\nplaying with foxes\nplaying with the water\nplaymates toys\nplayrix\nplayrix games\nplays music\nplays skateboards\nplays videogames\nplayseat evolution\nplaystation\nplaystation 1\nplaystation 1 era\nplaystation 1 era graphics\nplaystation 1 game\nplaystation 1 graphics\nplaystation 2\nplaystation 2 gameplay still\nplaystation 2 graphics\nplaystation 2 horror game\nplaystation 2 screenshot\nplaystation 3\nplaystation 4\nplaystation 5\nplaystation 5 graphics\nplaystation 5 screenshot\nplaystation 6\nplaystion 5 screen\nplaza\npleading face\npleasant\npleasant cozy atmosphere\npleasant face\npleasant lighting\nplease\nplease do your best\npleasent composition\npleasing\npleasing aesthetics\npleasing face\npleasing palette\npleasing tone colours\npleasure\npleated miniskirt\npleated skirt\npleinairism\nplenty mozzarella\nplesiosaur\nplethora of colors ; mini dress\nplexus\nplotter\nplotting\nplows\nplum blossom\nplum color scheme\nplumbing jungle\nplumbus\nplume made of fractals\nplume made of geometry\nplume made of seaweed\nplume of seaweed\nplumeria\nplumes of smoke and ash\nplumes of smoke in background\nplump\nplump lips\nplurality\nplus - x\nplus size\nplus size woman\nplus-sized\nplush\nplush doll\nplush furnishings\nplush leather pad\nplush leather pads\nplush lips\nplush mascot\nplush toy\nplushie\nplushie photography\nplushy\npluto\nplutocracy\nplutus su\npng\npocahontas\npochi iida\npocket monster companion\npocket watch\npockets\npocketwatch\npod\npod racer\npodium\npods\npoe's angel\npoes angel\npoetic\npoetic and symbolic\npoetic sequence in mr. clean\npoetical\npoetry\npog\npoggers\npogrom\npoignant\npoint break\npoint cloud\npoint finger with ring on it\npoint of no return\npoint of view\npoint of view : up\npoint of view of visor wearer\npoint perspective\npoint-and-click adventure game\npointe pose\npointe poses\npointed arches\npointed black witch hat\npointed chin\npointed ears\npointed face\npointed face and grey eyes\npointed hoods\npointed nose\npointed teeth and several eyes\npointilism\npointillisme\npointillist style\npointing\npointing a pistol\npointing a pistol at us\npointing at the camera\npointing his bow\npointing index finger\npointing to heaven\npoints\npointy bunny ears\npointy conical hat\npointy ears\npointy hat\npointy jester shoes\npointy mask\npointy nose\npointy shell\npointy witch hat\npointè pose\npointé pose;open mouth\npointé pose;pursed lips\npoised\npoised beautiful body\npoison\npoison dripping\npoison ivy\npoison ivy from batman\npoison teeth\npoisonous\npokeball\npokedstudios\npokemon\npokemon anime style\npokemon art style\npokemon cap\npokemon card\npokemon card of duke nukem\npokemon card of duke nukem!\npokemon cards\npokemon fighting at world war 2\npokemon in the wild\npokemon inspired\npokemon military drill\npokemon style\npokemon sword and sheild\npokemon trading card game\npokemon trainer\npokemon trainer outfit\npoker\npoker card style\npoker face\npokimane\npokémon\npokémon logo\npolaeized light\npoland\npoland flag\npolar\npolar bear\npolar bear in the far background\npolar express\npolariod\npolarized lens\npolarized sports sunglasses\npolarizer\npolarizer filter\npolarizer filter : 1 0\npolarizer filter : 10\npolarizing filter\npolaroid\npolaroid 6 0 0\npolaroid 6 0 0 film\npolaroid 600\npolaroid artistic photo\npolaroid black and white picture\npolaroid camera\npolaroid clear\npolaroid collage\npolaroid color photo\npolaroid color photograph\npolaroid colour faded\npolaroid effect\npolaroid fashion photography\npolaroid film\npolaroid image\npolaroid kodak portra\npolaroid octane render\npolaroid of a dream\npolaroid photo\npolaroid photo of trailerpark\npolaroid photo style\npolaroid photo with flash\npolaroid photograph\npolaroid photograph!\npolaroid photography\npolaroid picture\npolaroid shot\npolaroid vintage color photo\npolaroide photo\npole dancing\npolearm\npolearm glaive\npolice\npolice box\npolice calling for back up\npolice cap\npolice car lights\npolice cars\npolice drones\npolice lights\npolice lights shine on her face\npolice man\npolice man!!\npolice officer\npolice officer hit\npolice officers\npolice officers under heavy fire\npolice scene\npolice shootout\npolice shot\npolice sirens in smoke\npolice sketch\npolice state\npolice station\npolice tape\npolice tesla\npolice uniform\npoliceman\npoliceman closeup\npolinesian style\npolish\npolish food\npolish hyper - casual\npolish mansion kitchen\npolish movie poster\npolish poster art\npolished\npolished : :\npolished and fancy\npolished concrete\npolished look\npolished maple\npolished metal\npolished steel armor\npolished white marble\npolished with visible wood grain\npolitica\npolitical art\npolitical cartoon\npolitical cartoon style\npolitical meeting in the woods\npolitical propaganda\npoliticians\npolitics\npolka dot\npolka dot tables\npolkadots\npollen\npollock photorealistic\npolluted\npollution\npolovstian dances and chorus\npolsat\npoltergeist\npolychaeta\npolychromatic\npolychromatic - colors\npolychromatic color palette\npolychromatic spectrum\npolycount\npolygon\npolygon art\npolygonal\npolygonal art\npolygonal fragments\npolygonal iron steel walls\npolygonal wooden walls\npolygons\npolygroups\npolyhedral\npolyhedron\npolymer clay\npolymer clay earrings\npolymesh\npolynesian god\npolynesian style\npolyphonic bio - communications\npolyphonic communication\npolyphonic ecstacy\npomegranade\npomegranate\npomegranates\npomeranian\npomeranian mix\npompadour\npompeian\npompeii\npompous\npompous expression\nponcho\npond\npond landscape\npond scene\npond with frogs and lilypads\npondering\nponds\nponds of water\nponte 2 5 de abril\npontifex\npontormo\npony\npony facing away\npony tail\nponyo hayao mitazaki\nponytail\nponytail and beard\nponytail black hair\nponytail hair\nponytails\npoofy\npoofy manes of fur\npoofy red wig\npooka\npool\npool caustics\npool party\npool tubes\npoolrooms\npools\npools and streams\npools of blood\npools of water\npoolside\npoop\npoor\npoor buildings\npoor fluorescent lighting\npoor lighting\npoor quality\npoorly drawn\npoorly lit\npop\npop - art\npop - art style\npop - surrealism\npop 3 d 8 k ultra detailed\npop 3d 8k ultra detailed\npop and vibrant colors\npop art\npop art cartoon style\npop art look\npop art masterpiece\npop art painting\npop art patterns\npop art poster\npop art stability\npop art style\npop art surrealism\npop colors\npop culture\npop figure of mom with long\npop japonisme 3 d ultra detailed\npop makeup style\npop motifs\npop punk art style\npop realism\npop surrealism art style\npop surrealism lowbrow art style\npop surrealist\npop up parade figure\npop-art\npopart\npopcorn as morpheus\npopcorn machine\npope\npope surrenders\npopeye\npoppies\npopping color\npopping colors\npoppy\npops of color\npops of triadic colors\npopstar comeback single\npopulace\npopular\npopular interior design style\npopular isekai anime\npopular korean makeup\npopular on art station\npopular on behance\npopular on etsy\npopular on instagram\npopular on pinterest\npopular on pixiv\npopular on sketchfab\npopular south korean makeup\npopularity\npopulated with aliens and people\nporcelain\nporcelain cyborg\nporcelain cyborg armor\nporcelain face\nporcelain forcefield\nporcelain highlighted skin\nporcelain holly herndon statue\nporcelain japanese mannequins\nporcelain looking skin\nporcelain organic\nporcelain organic tissue\nporcelain pale skin\nporcelain sculpture\nporcelain skin\nporcelain skin tone\nporcelain skin ”\nporcelain skin. studio ghibli\nporcelain white face\nporcelain white skin\nporche\nporches\npores\npork\npork meat\npork pie hat\nporky pig\nporous skin\nporsche\nporsche 356\nporsche 9 1 1\nporsche 911\nporsche 911 in the future engine\nporsche gt 3 in hawaii city\nporsche made out of lego\nporsche rsr\nport\nport city\nport scene background\nportable generator\nportait\nportait image\nportait of haifa wehbe\nportait photo\nportait photo profile picture\nportal\nportal 2\nportal 2 game\nportal 2 screenshot\nportal 3\nportal game\nportal game 9 4 4 9 9 valve\nportal game 9 9 9 9 9 valve\nportal game 99999 valve\nportal game valve\nportal gun\nportal in space\nportal into anotheer dimension\nportal made of roses\nportal opening\nportal to alternative reality\nportal to another dimension\nportal to another universe\nportal to another world\nportal to hell\nportal to outer space\nportal to the ethereal realm\nportal!! game valve style\nportal. zaha hadid\nportals\nportapotty\nportcullis\nportfolio\nportfolio illustration\nportfolio quality\nportholes\nportland oregon\nportlet photo\nportra\nportra 160\nportra 4 0 0\nportra 400\nportra 8 0 0\nportra 8 0 0 ”\nportra 800\nportra 800 street photography\nportraiit\nportrait\nportrait 4 / 3\nportrait 6 0 - year - old woman\nportrait 60 - year - old woman\nportrait 8 k\nportrait 8k\nportrait a 1 5 - year - old boy\nportrait a 15 - year - old boy\nportrait a woman like reol\nportrait androgynous girl\nportrait anime girl\nportrait anime kaya scodelario\nportrait anime space cadet girl\nportrait anya taylor-joy\nportrait armored astronaut girl\nportrait art\nportrait art of rick sanchez\nportrait batman ancient biblical\nportrait beautiful sci - fi girl\nportrait bender from futurama\nportrait berserker barbarian\nportrait big dark dog\nportrait big dark punk\nportrait black and white\nportrait bust\nportrait bust of old woman\nportrait bust of woman\nportrait bust of young woman\nportrait c 1 2. 0\nportrait c 12.0\nportrait casting long shadows\nportrait centric composition\nportrait cersei lannister sit\nportrait character design\nportrait close - up\nportrait close up\nportrait close up of guy\nportrait closeup\nportrait color glamour\nportrait composition\nportrait cute-fine-face\nportrait danny devito as gandalf\nportrait de shanks le roux\nportrait death clown\nportrait demi rose\nportrait demon half human\nportrait digital art\nportrait dnd\nportrait drawing\nportrait emily ratajkowski\nportrait en buste\nportrait ezio auditore as female\nportrait face\nportrait facial head\nportrait fashion model\nportrait featured on unsplash\nportrait female elf wizard\nportrait fennec fox animal\nportrait from hell\nportrait front face reference\nportrait full body\nportrait futuristic solider girl\nportrait gapmoe yandere grimdark\nportrait girl\nportrait gracious saint\nportrait happy colors\nportrait hd\nportrait illustration\nportrait image\nportrait imagery\nportrait imagery!!!!!\nportrait in center\nportrait in the style of craola\nportrait isometric drawing\nportrait jisoo blackpink\nportrait kevin mckidd\nportrait knight female\nportrait knights of zodiac girl\nportrait lighting\nportrait made of paint\nportrait masterpiece\nportrait mode\nportrait mode photo\nportrait n - 9\nportrait ninja gaiden girl\nportrait no. 1\nportrait of ((charlize theron))\nportrait of ((mischievous))\nportrait of (charlize theron)\nportrait of 1 5 - year - old boy\nportrait of 14 years old boy\nportrait of 15 - year - old boy\nportrait of \\'they live\\' movie\nportrait of a 40 years old women\nportrait of a alien insect\nportrait of a astronaut skeletor\nportrait of a ballerina\nportrait of a barbarian female\nportrait of a barbarian woman\nportrait of a beautiful\nportrait of a beautiful angel\nportrait of a beautiful female\nportrait of a beautiful geisha\nportrait of a beautiful girl\nportrait of a beautiful goddess\nportrait of a beautiful model\nportrait of a beautiful person\nportrait of a beautiful woman\nportrait of a big\nportrait of a blonde woman\nportrait of a bloodborne hunter\nportrait of a bugs bunny\nportrait of a cat\nportrait of a cat as a pirate\nportrait of a cosmic entity\nportrait of a cosmic god\nportrait of a cosmic goddess\nportrait of a cowboy\nportrait of a crying ai artist\nportrait of a cute girl\nportrait of a cute monster\nportrait of a cute woman\nportrait of a cyber skeleton\nportrait of a cyberpunk cyborg\nportrait of a cyberpunk machine\nportrait of a cyberpunk man\nportrait of a cyberpunk samurai\nportrait of a cyborg\nportrait of a cyborg queen\nportrait of a dachshund\nportrait of a dark fantasy nymph\nportrait of a dark goddess\nportrait of a dark witch\nportrait of a demon\nportrait of a detective\nportrait of a digital shaman\nportrait of a dnd character\nportrait of a dog\nportrait of a dragon\nportrait of a dreamer\nportrait of a dryad\nportrait of a dwarf warrior\nportrait of a european woman\nportrait of a fairy\nportrait of a female android\nportrait of a female anime hero\nportrait of a female art student\nportrait of a female demon\nportrait of a female druid\nportrait of a female elf warlock\nportrait of a female mage\nportrait of a female model\nportrait of a female necromancer\nportrait of a female pathologist\nportrait of a female ranger\nportrait of a female soldier\nportrait of a forest mage\nportrait of a frog\nportrait of a futuristic robot\nportrait of a geisha\nportrait of a geometric owl\nportrait of a girl\nportrait of a gnoll\nportrait of a gnome called eldon\nportrait of a goblin\nportrait of a god of death\nportrait of a goddess\nportrait of a goth catgirl\nportrait of a grey alien\nportrait of a handsome\nportrait of a happy quokka\nportrait of a heavenly god\nportrait of a hipster skeletor\nportrait of a holy necromancer\nportrait of a humanoid alien\nportrait of a hyena girl\nportrait of a japanese girl\nportrait of a japanese teen\nportrait of a joker\nportrait of a king\nportrait of a kitten\nportrait of a knight\nportrait of a lady vampire\nportrait of a lion\nportrait of a lisa frank\nportrait of a llama\nportrait of a mad general\nportrait of a mage\nportrait of a male hydromancer\nportrait of a male punk\nportrait of a male warrior\nportrait of a man\nportrait of a man in a suit\nportrait of a man in profile\nportrait of a mark zuckerberg\nportrait of a mech\nportrait of a mechanical girl\nportrait of a medieval nobleman\nportrait of a medieval old king\nportrait of a melancholic lady\nportrait of a melancholic woman\nportrait of a mid 1 9 th century\nportrait of a mid 19 th century\nportrait of a mind flayer\nportrait of a minotaur\nportrait of a muscular\nportrait of a muscular man\nportrait of a museum art curator\nportrait of a mystical giant eye\nportrait of a napoleonic admiral\nportrait of a navy seal soldier\nportrait of a necromancer\nportrait of a norse moon goddess\nportrait of a nurse on a stool\nportrait of a old\nportrait of a old woman\nportrait of a ominous girl\nportrait of a patchwork boy\nportrait of a pink gang\nportrait of a polar bear\nportrait of a priestess\nportrait of a princess\nportrait of a pug as the pope\nportrait of a queen\nportrait of a rat mad scientist\nportrait of a red haired girl\nportrait of a red haired woman\nportrait of a red sorcerer\nportrait of a robot\nportrait of a robot shaman\nportrait of a rugged ranger\nportrait of a rugged warrior\nportrait of a rugged young man\nportrait of a sacred serpent\nportrait of a samurai\nportrait of a samurai warrior\nportrait of a sci - fi woman\nportrait of a scorpion goddess\nportrait of a sharp eyed\nportrait of a slender elven man\nportrait of a slightly rusty\nportrait of a small\nportrait of a small character\nportrait of a smiling\nportrait of a smoking woman\nportrait of a soldier\nportrait of a sorceress\nportrait of a space alien\nportrait of a space cyborg\nportrait of a squid wizard\nportrait of a starving ai artist\nportrait of a steampunk catgirl\nportrait of a steampunk ice lady\nportrait of a stormtrooper\nportrait of a sugar skull\nportrait of a sunken ship\nportrait of a teen robot\nportrait of a us navy seal\nportrait of a vampire\nportrait of a victorian duke\nportrait of a victorian era duc\nportrait of a victorian era duke\nportrait of a vigilante\nportrait of a viking\nportrait of a warrior\nportrait of a werewolf\nportrait of a white cat\nportrait of a witch\nportrait of a wizard\nportrait of a wolf\nportrait of a wolf head\nportrait of a woman\nportrait of a woman sleeping\nportrait of a woman underwater\nportrait of a woman warrior\nportrait of a woman's face\nportrait of a yari ashigaru\nportrait of a young\nportrait of a young elf wizard\nportrait of a young empress\nportrait of a young girl\nportrait of a young italian male\nportrait of a young man\nportrait of a young pirate\nportrait of a young pocahontas\nportrait of a young teenage girl\nportrait of a young witch\nportrait of a young witch girl\nportrait of a young woman\nportrait of a young women\nportrait of a zentaur\nportrait of a zombie\nportrait of abraham lincoln\nportrait of achilles\nportrait of adam jensen\nportrait of ahri\nportrait of ahsoka tano\nportrait of alan turing\nportrait of alan watts\nportrait of albert einstein\nportrait of albino mystic\nportrait of alexander abdulov\nportrait of alexandra daddario\nportrait of alexandre dumas\nportrait of alice in wonderland\nportrait of an absurdly graceful\nportrait of an absurdly ugly\nportrait of an adventurer\nportrait of an ai\nportrait of an ai astronaut\nportrait of an alcoholic\nportrait of an alien\nportrait of an android\nportrait of an anime girl\nportrait of an anthro fox\nportrait of an astronaut\nportrait of an elf\nportrait of an elf queen\nportrait of an elven warrior\nportrait of an insectoid\nportrait of an octopus goddess\nportrait of an old\nportrait of an old man\nportrait of an orc\nportrait of an orc warrior\nportrait of an ork\nportrait of ana de armas\nportrait of angela merkel\nportrait of angelina jolie\nportrait of anime girl\nportrait of anime woman\nportrait of annasophia robb\nportrait of anthropomorphic bear\nportrait of anubis\nportrait of anya taylor-joy\nportrait of apex legends\nportrait of archie andrews\nportrait of ariana grande\nportrait of aristotle\nportrait of artemis\nportrait of arya stark\nportrait of astronaut\nportrait of asuka langley soryu\nportrait of audrey hepburn\nportrait of avatar korra\nportrait of bald\nportrait of barack obama\nportrait of barbara palvin\nportrait of barbie doll\nportrait of bart simpson\nportrait of batman\nportrait of beautiful\nportrait of beautiful girl\nportrait of beautiful samus aran\nportrait of beautiful vampire\nportrait of beautiful woman\nportrait of beautiful young man\nportrait of bedouin d&d\nportrait of ben stiller\nportrait of bender from futurama\nportrait of benedict cumberbatch\nportrait of benjamin netanyahu\nportrait of bernie sanders\nportrait of bertrand russell\nportrait of beyonce\nportrait of billie eilish\nportrait of black labrador\nportrait of black mermaid\nportrait of blade runner rachael\nportrait of bob odenkirk\nportrait of bob ross\nportrait of bojack horseman\nportrait of brad pitt\nportrait of bruce lee\nportrait of captain america\nportrait of captain jack sparrow\nportrait of cate blanchett\nportrait of celtic goddess diana\nportrait of charlize theron\nportrait of cheech and chong\nportrait of chester bennington\nportrait of chimpanzee in space\nportrait of chris evans\nportrait of christy ren\nportrait of chuck clayton\nportrait of chun - li\nportrait of chun li\nportrait of circe\nportrait of circus artist\nportrait of cleopatra\nportrait of cloud strife\nportrait of combat dancer\nportrait of computer & circuits\nportrait of computer circuits\nportrait of conan the barbarian\nportrait of crazy post malone\nportrait of cristiano ronaldo\nportrait of cthulhu\nportrait of cute anime girl\nportrait of cute girl\nportrait of cute goth girl\nportrait of cute mallard duck\nportrait of cute pilot girl\nportrait of cute soldier girl\nportrait of cyborg\nportrait of cyrano de bergerac\nportrait of daemons\nportrait of daft punk\nportrait of dangerous\nportrait of danny devito\nportrait of danny gonzalez\nportrait of danny trejo\nportrait of darth vader\nportrait of david bowie\nportrait of deadpool\nportrait of demi rose\nportrait of demigod hercules\nportrait of demon girl\nportrait of depressed teen\nportrait of destiny from sandman\nportrait of doc savage\nportrait of dog\nportrait of dolly parton\nportrait of don knotts\nportrait of donald trump\nportrait of dragoon\nportrait of drizzt do'urden\nportrait of dwayne johnson\nportrait of edward and bella\nportrait of einstein\nportrait of elle fanning\nportrait of elon musk\nportrait of elsa from frozen\nportrait of elsa of arendelle\nportrait of elvis presley\nportrait of emily blunt as queen\nportrait of emma frost\nportrait of emma stone\nportrait of emma watson\nportrait of emperor norton\nportrait of emperor of mankind\nportrait of emperor palpatine\nportrait of eren yeager\nportrait of ernest khalimov\nportrait of eva green\nportrait of evil girl\nportrait of face\nportrait of fairy\nportrait of fairy princess\nportrait of fairy woman\nportrait of family of three\nportrait of female\nportrait of female android\nportrait of female humanoid\nportrait of female korean idol\nportrait of female paladin\nportrait of female rogue\nportrait of female sorcerer\nportrait of figther jet evading\nportrait of fin wildcloak\nportrait of florence pugh\nportrait of forest gog\nportrait of freddy fazbear\nportrait of gal gadot\nportrait of gandalf\nportrait of garfield\nportrait of geisha\nportrait of george washington\nportrait of geralt of rivia\nportrait of gigachad\nportrait of girl\nportrait of girl in flower field\nportrait of god\nportrait of goku\nportrait of gordon ramsay\nportrait of greek god ares\nportrait of grim reaper\nportrait of guts from berserk\nportrait of hades\nportrait of hank hill\nportrait of happy a young woman\nportrait of harley quinn\nportrait of harry potter\nportrait of hatsune miku\nportrait of he - man\nportrait of head and body\nportrait of helen of troy\nportrait of henry cavill\nportrait of hide the pain harold\nportrait of high school girl\nportrait of hildegard von bingen\nportrait of hisoka hunter hunter\nportrait of hollow knight\nportrait of homelander\nportrait of homer simpson\nportrait of hugh laurie\nportrait of immense\nportrait of iron man\nportrait of japanese gyaru\nportrait of jean grey\nportrait of jeff bezos\nportrait of jerma985\nportrait of jesus christ\nportrait of jim morrison\nportrait of jinx from arcane\nportrait of joe biden\nportrait of john cena\nportrait of john f kennedy\nportrait of john wick\nportrait of johnny depp\nportrait of joker\nportrait of jordan peterson\nportrait of jossi of blackpink\nportrait of jughead jones\nportrait of julia roberts\nportrait of junkrat\nportrait of kanye west\nportrait of karl pilkington\nportrait of kate winslet\nportrait of katy perry\nportrait of keanu reeves\nportrait of kermit the frog\nportrait of kim kardashian\nportrait of kim petras\nportrait of kim wexler\nportrait of knight\nportrait of kobe bryant\nportrait of kpop idol\nportrait of kratos\nportrait of lady gaga\nportrait of lady maria\nportrait of lady mechanika\nportrait of lain iwakura\nportrait of lara croft\nportrait of lebron james\nportrait of leonardo dicaprio\nportrait of linus torvalds\nportrait of lolita\nportrait of lucario\nportrait of lucha libre dj\nportrait of luffy from one piece\nportrait of lumastina celerraria\nportrait of machine man\nportrait of maci holloway\nportrait of mad lady scientist\nportrait of magical blond prince\nportrait of magical girl\nportrait of magical lolita girl\nportrait of magical young girl\nportrait of male humanoid\nportrait of man\nportrait of man's terrified face\nportrait of margot robbie\nportrait of marilyn monroe\nportrait of marine le pen\nportrait of mario\nportrait of mark zuckerberg\nportrait of max caulfield\nportrait of mayuri shiina\nportrait of medieval old king\nportrait of medusa\nportrait of megan fox\nportrait of megan fox as a queen\nportrait of megan fox as demon\nportrait of megara\nportrait of mei from overwatch\nportrait of merlin\nportrait of mermaid\nportrait of mermaid queen\nportrait of mermaid warrior\nportrait of metallic face\nportrait of mf doom\nportrait of mia farrow\nportrait of michael jackson\nportrait of mickey mouse\nportrait of mischievous\nportrait of modern darna\nportrait of monk\nportrait of morana\nportrait of morgan freeman\nportrait of morning coffee\nportrait of mournful\nportrait of mr bean\nportrait of mulan\nportrait of muscular\nportrait of mélenchon\nportrait of natalie portman\nportrait of nicholas cage\nportrait of nick offerman\nportrait of nicole aniston\nportrait of nicole kidman\nportrait of nikola tesla\nportrait of ninja slayer\nportrait of nordic girl\nportrait of normal teenage girl\nportrait of obama\nportrait of ororo munroe\nportrait of orson welles\nportrait of paris\nportrait of paulette goddard\nportrait of pee-wee herman\nportrait of pele\nportrait of penelope cruz\nportrait of pepe the frog\nportrait of pocahontas\nportrait of portrait\nportrait of princess\nportrait of princess diana\nportrait of princess leia\nportrait of princess merida\nportrait of princess peach\nportrait of princess zelda\nportrait of priyanka chopra\nportrait of professor sinister\nportrait of putin\nportrait of putin in space\nportrait of queen\nportrait of queen elizabeth ii\nportrait of queen of dreams\nportrait of queen of light\nportrait of quetzalcoatl\nportrait of radical lolita girl\nportrait of raven\nportrait of real life totoro\nportrait of retarded wolf\nportrait of rick and morty\nportrait of rick sanchez\nportrait of ricky gervais\nportrait of royal princess\nportrait of rugged adult female\nportrait of rugged male ranger\nportrait of rugged zeus\nportrait of rung\nportrait of rutger hauer\nportrait of ryan gosling\nportrait of sadako of the ring\nportrait of saint of the pit\nportrait of saitama\nportrait of sam hyde\nportrait of samuel l. jackson\nportrait of sanna marin\nportrait of saul goodman\nportrait of sauron\nportrait of scarlett johansson\nportrait of sherlock holmes\nportrait of sherlyn chopra\nportrait of shrek\nportrait of sigmund freud\nportrait of skeletor\nportrait of small\nportrait of snoop dogg\nportrait of snow white\nportrait of sofia vergara\nportrait of soldier girl\nportrait of sonic the hedgehog\nportrait of space marine\nportrait of spiderman\nportrait of steve jobs\nportrait of strange\nportrait of super mario\nportrait of tall\nportrait of taylor swift\nportrait of teen girl\nportrait of teenage aphrodite\nportrait of teenage emma stone\nportrait of teenage girl\nportrait of teenage medusa\nportrait of terminator\nportrait of thancred\nportrait of the actress\nportrait of the angel of death\nportrait of the angelina jolie\nportrait of the death angel\nportrait of the exiled god\nportrait of the god of death\nportrait of the holy father\nportrait of the hulk\nportrait of the joker\nportrait of the man\nportrait of the mona lisa\nportrait of the necromancer\nportrait of the old necromancer\nportrait of tifa lockhart\nportrait of timothee chalamet\nportrait of tintin\nportrait of tom cruise\nportrait of tom hanks\nportrait of tom holland\nportrait of trump\nportrait of two girls kissing\nportrait of two people\nportrait of ultra realistic\nportrait of vanessa morgan\nportrait of very beautiful elf\nportrait of very beautifull girl\nportrait of virgin mary\nportrait of vladimir putin\nportrait of voldemort\nportrait of walter white\nportrait of wario from warioware\nportrait of white teenage girl\nportrait of wild\nportrait of willow smith\nportrait of wolverine\nportrait of woman\nportrait of woman's face\nportrait of women\nportrait of women embracing\nportrait of wonder woman\nportrait of xenomorph\nportrait of yoda\nportrait of young man\nportrait of young woman\nportrait of zelda\nportrait of zendaya\nportrait of zeraora\nportrait of zeus\nportrait oil painting\nportrait painting\nportrait painting of a princess\nportrait painting of he - man\nportrait painting of skeletor\nportrait photo\nportrait photo of a backdrop\nportrait photo of an old man\nportrait photo of emma watson\nportrait photo of taylor swift\nportrait photo of walter white\nportrait photograph\nportrait photography\nportrait photography 4 k\nportrait photography 4k\nportrait photoreal\nportrait picture\nportrait pixel art drawing\nportrait pose\nportrait realistic photograph\nportrait rugged girl\nportrait sabrina lloyd\nportrait sarah michelle gellar\nportrait saruman\nportrait shot\nportrait shot 8 k\nportrait shot 8k\nportrait size\nportrait skull clown\nportrait soft light\nportrait soft low light\nportrait sophie mudd\nportrait still detailed\nportrait study\nportrait stunning\nportrait style\nportrait symetrical\nportrait tilda swinton\nportrait top light\nportrait willow smith\nportrait winning photograph\nportrait young girl\nportrait zeus\nportrait!!\nportrait!!!\nportrait!!! mononoke-hime style\nportrait!!!!\nportrait!!!!!!\nportrait. 8 k high definition\nportrait. high detail\nportraits\nportraits of a woman enraged\nportraiture\nportrait”\nportre of a psyschonaut demon\nportugal\nposable pvc\npose\npose 1 of 1 6\npose 4 of 1 6\npose model\npose reference\npose study\npose(arms up + happy)\nposed\nposed in profile\nposeidon\nposer\nposes\nposes for the camera\nposessed\nposh\nposing\nposing and flexing\nposing as a jojo character\nposing as a queen\nposing au naturel\nposing elegantly\nposing elegantly over the camera\nposing elegantly over you\nposing for a fight\nposing for a fight intricate\nposing for a picture\nposing for art photography\nposing for battle\nposing for camera\nposing for playboy photoshoot\nposing for poster photography\nposing for the camera\nposing heroically\nposing in a bedroom\nposing in an urban street\nposing in bed\nposing in bra\nposing in disguise among humans\nposing in dramatic lighting\nposing in front of bombed city\nposing in leotard and tiara\nposing in neo - tokyo futuristic\nposing in waikiki\nposing like a falling model\nposing like a knight\nposing like a statue\nposing like a superhero\nposing on a beach with the ocean\nposing on the beach\nposing on wheat field\nposing ready for a fight\nposing robotically\nposing solo\nposing together in bra\nposing with a sword\nposing with crossed arms\nposing!!\npositing on rock super hero pose\npositive\npositive and fun vibes\npositive atmosphere\npositive energy\npositive mood\npositive vibes\npositivism\nposse features\npossessed\npossibly an angel\npossibly extra limbs\npost - apocalypse\npost - apocalyptic\npost - apocalyptic car blueprint\npost - apocalyptic city\npost - apocalyptic city streets\npost - apocalyptic cowboy\npost - apocalyptic cowgirl\npost - apocalyptic epcot center\npost - apocalyptic magic kingdom\npost - apocalyptic scavenger\npost - apocalyptic style\npost - apocalyptic vibe\npost - apocalyptic warriors\npost - apocalyptic wasteland\npost - apocalyptic world\npost - apokalyptic\npost - cyberpunk\npost - impressionism\npost - minimalism\npost - modernism\npost - processing\npost - production\npost - punk album cover\npost - punk new age album cover\npost - soviet courtyard\npost - war scenery\npost apocalypse\npost apocalyptic\npost apocalyptic ancient ruins\npost apocalyptic atmosphere\npost apocalyptic attire\npost apocalyptic background\npost apocalyptic building\npost apocalyptic city\npost apocalyptic city building\npost apocalyptic coruscant\npost apocalyptic district\npost apocalyptic factory\npost apocalyptic landscape\npost apocalyptic new york\npost apocalyptic palace interior\npost apocalyptic police station\npost apocalyptic room interior\npost apocalyptic san francisco\npost apocalyptic scene\npost apocalyptic setting\npost apocalyptic shopping center\npost apocalyptic street\npost apocalyptic theme park\npost apocalyptic tokyo\npost apocalyptic view\npost apocalyptic wasteland\npost apocalyptic world\npost apocalyptic. makoto shinkai\npost appocalyptic\npost capitalism\npost graduate\npost grung\npost grunge\npost grunge concept art\npost grunge portrait\npost grunge screen print poster\npost impressionism\npost industrial\npost malone\npost modern\npost modern architecture\npost modernist layering\npost nuclear fallout\npost process\npost process in photoshop\npost processed\npost processed 4k\npost processed denoised\npost processing\npost processing effects\npost production\npost romanticism\npost war style\npost+processing\npost-apocalypse\npost-apocalyptic\npost-apocalyptic earth\npost-apocalyptic hellscape\npost-apocalyptic times square\npost-nuclear\npost-processed\npost-processing\npost-processing. high detail\npost-production\npost-war\npostage\npostapo\npostapo game\npostapo style\npostapocalypse\npostapocalyptic\npostapocalyptic explorer\npostapocalyptic grunge\npostapocalyptic style\npostapocalyptic vibes\npostapocalyptic world\npostcapitalism\npostcard\npostcyberpunk\nposter\nposter ; summer\nposter art\nposter art style\nposter artwork\nposter background\nposter colour on canvas\nposter composition\nposter cover art\nposter design\nposter for short film blind\nposter for the film\nposter for'unlimited juice '\nposter framed\nposter illustration\nposter in 8 0 s style\nposter of a techno night\nposter of corona virus\nposter paper with notes\nposter shot\nposter style\nposter template on canva\nposter tour\nposter vintage\nposter!!!\nposterization\nposterized\nposterized color\nposters\nposters on the wall\nposters on the walls\nposthuman\npostman pat\npostmodern\npostmodern painting\npostmodernism\npostmodernism style\npostprocessed\npostprocessed)\npostprocessing\npostproduction\npostpunk\nposuka demizu\npot\npot leaf\npot plants\npot-bellied\npotato\npotato skin\npotatoes\npothorealistic\npotion\npotion belt\npotion of healing\npotions\npotrait\npotrait of a female face\npots and pans\npots of gold\npots with plants\npotted plant\npotted plants\npottery\npouches\npouncing\npounds of weed\npour cell painting\npour paint\npour painting art\npouring\npouring iridescent rain\npouring rain\npouring techniques\npout\npouting\npouty\npouty face\npouty lips\npouty look :: octane render\npov\npov camera looking into the maw\npov from behind\npov from rear\npov furry art\npov of an ant\npov photo\npov shot\npov underwater\npoverty\npovray\npowder\npowdered sugar\npowdered wig\npower\npower armor\npower aura\npower auras\npower bi dashboard\npower bright neon energy\npower girl\npower implants\npower lines\npower metal album cover\npower plants\npower plants with smoke\npower pose\npower ranger\npower rangers\npower rangers film\npower runes\npower stance\npower washed texture\npowerful\npowerful aggressive sword stance\npowerful and huge\npowerful aura\npowerful being\npowerful chin\npowerful detail\npowerful explosions\npowerful fantasy epic legends\npowerful god\npowerful imagery\npowerful magic\npowerful male scarecrow\npowerful male tin man\npowerful painting\npowerful photo\npowerful pose\npowerful presence\npowerful radiant confident vibe\npowerful scene\npowerful shadows\npowerful stance\npowerful warrior\npowerful woman sitting in space\npowerful zen composition\npowerfull\npowering up\npowering up aura\npowering up. hyperdetailed\npowerlines\npowerpuff girls style\npowers\npoyo\npp\npr shoot\npractical\npractical armor\npractical effect\npractical effects\npractice\npractising her sword staces\npractising sword stances\nprada\npragmatic\nprague\nprague in the background\nprairie\nprairie in background\nprairie landscaping\npraise jesse pinkman\npraise the blood moon\npraise the omnissaiah\npraise the sun\npraised\npraising the sun\nprana\npranckevicius\nprawn\npray\nprayer\nprayer flags\nprayer hands\npraying\npraying at the sun\npraying mantis\npraying meditating\npraying posture\npraying with tobacco\npre - historic\npre - historic cave man family\npre - raphaelite\npre - raphaelite beautiful\npre - raphaelite brotherhood\npre - raphaelite painting\npre - raphaelite style\npre - raphaelites\npre - raphaelites style\npre - raphaelitism\npre - ww 1 submarine\npre raphaelite\npre raphaelite art style\npre renaissance art\npre-raphaelite\npre-raphaelite oil painting\npre-raphaelite painting\npre-raphaelite paintings\npre-raphaelite style\npre-raphaelite. art noveau\npre-raphaelites\npre-rendered\npreaching in a fantasy city\nprecious\nprecious elements\nprecious gems\nprecious metal\nprecious metals\nprecious moments\nprecious stones\nprecious valuable elements\nprecise\nprecise anatomy\nprecise and intricate linework\nprecise architectural rendering\nprecise brush strokes\nprecise correct anatomy\nprecise faces\nprecise lines\nprecise linework\nprecise machinery\nprecise stippling\nprecise texture\nprecise textures\nprecise vector trace\nprecise! vector trace\nprecisely drawn\nprecisevector trace\nprecision\nprecision detail\nprecisionist\nprecisionist style\npredator\npredator 2\npredator alien\npredator eyes\npredator film\npredator movie\npredatory praying mantis\npredawn\nprefect body\nprefect symmetrical face\nprefecture streets\npregnancy\npregnant\npregnant belly\npregnant female cyborg\nprehistoric\nprehistoric cave art\nprehistoric cave painting\nprehistoric fantasy\nprehistoric hell pigs\nprehistoric planet\nprehistory\nprelude to the esoteric\npremiere\npremium\npremium bathroom design\npremium cybernetics\npremium prints available\npremium quality\npreparing for battle\npreparing to fight\npreppy style\npreraphaelite\npreraphaelite style\nprerendered graphics\nprerendered isometric graphics\npresentation\npresenting a large pizza\npresenting magic gem\npresenting pizza\npresenting wares\npresents\npreserved historical\npreserved museum piece\npresident\npresident donald trump\npresident joe biden\npresident of belorussia\npresident of brazil\npresident waluigi\npresidental elections candidates\npresidential\npresidential cross\npresidential fusion\npresidential portrait\npress\npress conference\npress paparazzi photograph\npress photo\npress photograph\npress photography\npress photos\npress release\npress shot\npressed flowers\npressed penny art\npreston blair\npretentious\nprettt\npretty\npretty anime character design\npretty anime face\npretty anime girl\npretty aquiline nose\npretty blueeyes\npretty clothing\npretty clothing!\npretty clouds\npretty color\npretty colors\npretty eva green vampire\npretty eyes\npretty face\npretty face features\npretty face sharp chine\npretty face with arms and legs\npretty face!!\npretty female amy adams\npretty female cleric\npretty female eva green vampire\npretty female phoebe tonkin\npretty flowers\npretty girl\npretty girl standing in the rain\npretty girl with blue hair\npretty highlights and specular\npretty lights\npretty long hair\npretty make up\npretty margot robbie vampire\npretty oval face\npretty pretty face\npretty samurai with afro\npretty smile\npretty sorceress\npretty space stars\npretty symmetrical face\npretty white dress\npretty woman\nprey\nprey movie ( 2 0 2 2 )\nprey pov\nprice of persia movie\npride\npride and prejudice\npride flag in background\npride month\npride parade\nprideful\nprideful look\npriest\npriestess\npriestess in a conical hat\npriestess of the damned\nprima ballerina\nprima ballerina in rose garden\nprimal\nprimary color scheme\nprimary colors\nprimary colors are white\nprimary colours\nprime\nprime lens\nprime lense\nprime lense)\nprimeval duality\nprimeval fantasy\nprimeval jungle\nprimitive\nprimitive atmosphere\nprimordial\nprimordial waters\nprince\nprince crown of black gears\nprince crown of pink gears\nprince crown of red gears\nprince in pastel!!!!\nprince of egypt\nprince vegeta\nprinces jasmin\nprincess\nprincess 'kida' kidagakash\nprincess ariel\nprincess at a royal banquet\nprincess diana\nprincess girl\nprincess in foreground\nprincess intergalactica\nprincess jasmine\nprincess kida kidagakash\nprincess leia\nprincess mononoke\nprincess mononoke color scheme\nprincess mononoke inspired\nprincess of amethyst\nprincess of cannabis\nprincess of darkness\nprincess of light\nprincess of the wasteland\nprincess peach\nprincess peach)\nprincess portrait\nprincess zelda\nprincipal photography\nprincipal set photography\nprint\nprint advertising\nprint magazine\nprint magazine quality\nprint on magazine\nprint ready\nprint!\nprinted circuit board\nprinted on a cream linen t-shirt\nprinted on paper\nprinted page\nprinterest\nprintmaking\nprints\npripyat\nprism\nprism details\nprism highlights\nprism lights\nprism shadows\nprism undertones\nprismacolor\nprismacolor pencils\nprismatic\nprismatic colors\nprismatic cumulus clouds\nprismatic halo\nprismatic highlights\nprisms\nprisms refracting light\nprison\nprison background\nprison bars\nprison cell\nprison city\nprison complex\nprison jumpsuit\nprison scene\nprisoner\npristine\npristine and clean\npristine and clean design\npristine clean design\npristine concept art\npristine global illumination\npristine marble trunk\npristine quality wallpaper\npristine rippling oceanic waves\npristine skin\npristine water\npritty\npritzker architecture prize\nprivate academy entrance\nprivate collection\nprivate moment\nprivate school\nprize winning\nprize winning color photo\nprize winning photo\nprizewinning\npro - vida\npro photography\nprobably in her 30s\nprocedural\nprocedural code\nprocedural light\nprocedural rendering\nprocedural textures\nprocedurally generated\nprocess\nprocessing\nprocessor\nprocessualization\nprocrastination\nprocreate\nprocreate 2 0 2 2\nprocreate illustration\nproduct\nproduct - view\nproduct advertisement\nproduct advertising\nproduct concept\nproduct design\nproduct design concept\nproduct design render\nproduct design shot\nproduct display\nproduct display photograph\nproduct image\nproduct introduction photo\nproduct introduction photos\nproduct label\nproduct lighting\nproduct lighting. 4 k\nproduct photo\nproduct photo studio lighting\nproduct photograph\nproduct photography\nproduct photography 4 k\nproduct picture\nproduct placement\nproduct render\nproduct shoot\nproduct shot\nproduct showcase\nproduct studio lighting\nproduct view\nproduction animation cel\nproduction art\nproduction i g\nproduction i.g\nproduction ig\nproduction ig studios\nproduction photo\nproduction quality cinema model\nproduction ready\nproduction still\nproduction volume rendering\nproductphoto\nproducts photo from gun magazine\nproducts shot\nprofesional photo\nprofesional photography\nprofessional\nprofessional 3d render\nprofessional 8 k\nprofessional advertisement\nprofessional advertising\nprofessional art\nprofessional art photography\nprofessional artist\nprofessional artwork\nprofessional award winning photo\nprofessional background\nprofessional body paint\nprofessional branding\nprofessional camera\nprofessional capture\nprofessional cgi\nprofessional character design\nprofessional character designer\nprofessional closeup photo\nprofessional color photograph\nprofessional color photography\nprofessional comercial vibe\nprofessional composition\nprofessional concept art\nprofessional cooperate\nprofessional corporate portrait\nprofessional cosplay\nprofessional design\nprofessional detailed photo\nprofessional digital art\nprofessional digital edit\nprofessional digital painting\nprofessional digital photo\nprofessional drawing\nprofessional dslr photo\nprofessional food photo\nprofessional food photography\nprofessional foot photography\nprofessional foto\nprofessional fruit photography\nprofessional furry drawing\nprofessional grade\nprofessional graflex photograph\nprofessional graphic design\nprofessional gunsmithing\nprofessional headshot\nprofessional high quality scan\nprofessional illustration\nprofessional image\nprofessional iphone photo\nprofessional kodak lenses\nprofessional light\nprofessional lightimg\nprofessional lighting\nprofessional logo\nprofessional logo design\nprofessional makeup\nprofessional master piece\nprofessional model\nprofessional model photography\nprofessional modeling\nprofessional nature photography\nprofessional oil painting\nprofessional online branding\nprofessional paint job\nprofessional painting\nprofessional photo\nprofessional photo shoot\nprofessional photo-n 3\nprofessional photograph\nprofessional photographer\nprofessional photography\nprofessional photography 1 6 k\nprofessional photography 16 k\nprofessional photography canon\nprofessional photoshoot\nprofessional photoshooting\nprofessional photoshop artwork\nprofessional picture\nprofessional portfolio\nprofessional portrait\nprofessional portrait drawing\nprofessional portrait hd\nprofessional portrait photo\nprofessional portrait photograph\nprofessional product photo\nprofessional product photography\nprofessional product shot\nprofessional profile photo\nprofessional profile picture\nprofessional quality\nprofessional render\nprofessional result\nprofessional retouch\nprofessional shading\nprofessional shoot\nprofessional shooting\nprofessional shot\nprofessional sketch\nprofessional sports style\nprofessional studio\nprofessional studio light\nprofessional studio lightening\nprofessional studio lighting\nprofessional studio photo\nprofessional studio photograph\nprofessional studio photography\nprofessional studio shot\nprofessional unique master piece\nprofessional unique masterpiece\nprofessional vector graphic\nprofessional wedding photography\nprofessional woodcarving\nprofessional work\nprofessionally\nprofessionally assembled\nprofessionally color graded\nprofessionally designed\nprofessionally detailed\nprofessionally done\nprofessionally made\nprofessionally post - processed\nprofessionally post-processed\nprofessionally retouched\nprofessionally taken\nprofessor calculus\nprofessor clothes\nproffesional\nproffesional illustration\nprofile\nprofile close-up view\nprofile face\nprofile image\nprofile of anime girl\nprofile perspective\nprofile photo\nprofile photography\nprofile pic\nprofile picture\nprofile picture 1024px\nprofile portrait\nprofile portrait of a woman\nprofile pose\nprofile posing\nprofile putin\nprofile shot\nprofile shot of rimuru tempest\nprofile view\nprofile view perspective\nprofound\nprofound and vast\nprofound epiphany\nprofuse\nprogrammable black goo\nprogrammer\nprogramming\nprogressive rock album cover\nproject zomboid screenshot\nprojection design installation\nprojection mapping\nprojections\nprojections of\nproko\nprolific\npromethean alien engineer\nprometheus\nprometheus (2012)\nprometheus 2012\nprometheus alien engineering\nprometheus engineer\nprometheus engineering\nprominent big eyes\nprominent cheekbones\nprominent jaw and visible fangs\nprominent jawline\nprominent keel-mounted railgun\nprominent rosy cheek bones\npromised land\npromo\npromo art\npromo image\npromo material\npromo photo\npromo photograph\npromo poster\npromo shoot\npromo shot\npromo still\npromotion artwork\npromotional\npromotional art\npromotional artwork\npromotional image\npromotional images\npromotional material\npromotional media\npromotional movie poster\npromotional movie posterart\npromotional movie still\npromotional photo\npromotional photograph\npromotional photography\npromotional photoshoot\npromotional picture\npromotional portrait\npromotional poster\npromotional poster art\npromotional render\npromotional shot\npromotional still\npromotional still wide angle\nprompt\nprompt young woman\nprompt: fragile looking figure\npronounced cheekbones\npronounced contours\npronounced eyes\npronounced facial contouring\nproof\nproof of concept\nproof photograph\nprop\nprop design\nprop rocks\npropaganda\npropaganda art\npropaganda logo\npropaganda metacentrist\npropaganda poster\npropaganda style\npropaganda-print\npropane tanks\nproper anatomy\nproper human male proportions\nproper human proportions\nproper proportions\nproper shading\npropganda poster\nprophecy\nprophet graphic novel\nprophetic art\nproporcional\nproportion\nproportional\nproportional body\nproportional face\nproportional faces\nproportional human body\nproportional image\nproportional object content\nproportionally accurate\nproportionally enormous arms\nproportionate\nproportionate body parts\nproportionate face\nproportionate facial details\nproportions\nproportions off\nproportions on a circle\nprops\nprops containing trees\nprosaic\nprosperity\nprostheses\nprosthetic\nprosthetic arm\nprosthetic eyeballs\nprosthetic leg\nprosthetic limbs\nprosthetic makeup\nprosthetics\nprostitutes\nprotagonist\nprotagonist in foreground\nprotal\nprotect\nprotection\nprotective\nprotest\nprotest movement\nprotesters holding placards\nproteus vulgaris\nprotgraphy\nproto - metal band promo\nproto-metal\nproto-metal concert\nprotogen\nprotons\nprotophyta\nprotoss\nprotoss temple!!!\nprotoss!!\nprotoss!!!!\nprototype\nprototype car\nprotozoa\nprotrait\nprotruding bones\nprotruding chin\nproud\nproud emperor\nproud look\nproud looking\nproud looking away\nproud onion hybrid thanos\nproud serious expression\nproud smile\nproud smirk\nproudly holding a salmon\nproudly walking down the street\nprovenance\nprovia\nprovocative\nprovocative indian\nprowling through the forest\nprussia\nprussian blue\nprussian blue and azo yellow\nprussian blue and raw sienna\nprussian blue and venetian red\nps\nps 1\nps 1 graphics\nps 1 hagrid\nps 2\nps 2 game box keyart\nps 2 graphics\nps 2 screenshot\nps 3\nps 3 graphics\nps 3 screenshot\nps 3 video game\nps 4\nps 4 gameplay\nps 4 in - game cinematic\nps 4 screenshot\nps 5\nps 5 gameplay\nps 5 screenshot\nps1\nps1 game\nps1 game landscape\nps1 graphics\nps2\nps2 game\nps2 graphics\nps3 game\nps4\nps5\nps5 cinematic screen capture\nps5 game\nps5 render quality\npscychodelic\npsd spritesheet\npseudo - medieval fantasy\npsilocybin\npsion\npsionic\npsp\npsx\npsx game graphics\npsx graphics\npsx screenshot\npsychadelic\npsychadellic colors\npsychdelic lights\npsychdelic multicolored\npsychedel tint\npsychedelia\npsychedelic\npsychedelic acid trip\npsychedelic aesthetic\npsychedelic and glittering\npsychedelic architecture\npsychedelic art nouveau\npsychedelic art style\npsychedelic artwork\npsychedelic atmosphere\npsychedelic background\npsychedelic black light\npsychedelic black light style\npsychedelic clouds\npsychedelic color scheme\npsychedelic color theme\npsychedelic colorization\npsychedelic colors\npsychedelic colouring\npsychedelic colours\npsychedelic concert poster\npsychedelic cosmic horror\npsychedelic digital art\npsychedelic dmt\npsychedelic dripping colors\npsychedelic droplets of water\npsychedelic dust\npsychedelic effects\npsychedelic experience\npsychedelic fern\npsychedelic fever dream\npsychedelic floral planets\npsychedelic flowers and trees\npsychedelic flowing hair\npsychedelic forest\npsychedelic fractal art\npsychedelic fractal pattern\npsychedelic fractals\npsychedelic frog\npsychedelic glitch art\npsychedelic goddess\npsychedelic hair\npsychedelic hallucinations\npsychedelic highlights\npsychedelic hip hop\npsychedelic hip-hop\npsychedelic illustration\npsychedelic interconnections\npsychedelic interpretation\npsychedelic landscape\npsychedelic laughing demon\npsychedelic light show\npsychedelic lighting\npsychedelic lights and fog\npsychedelic lsd\npsychedelic lsd manga\npsychedelic lush pine forest\npsychedelic manga\npsychedelic mushrooms\npsychedelic mushrooms dream\npsychedelic organic cyborg\npsychedelic organic shaman\npsychedelic overtones\npsychedelic painting\npsychedelic patterns\npsychedelic photoluminescent\npsychedelic shaman\npsychedelic ski resort\npsychedelic sky\npsychedelic smoke background\npsychedelic style\npsychedelic surreal art\npsychedelic swimsuit\npsychedelic therapy\npsychedelic triangular skeleton\npsychedelic trip\npsychedelic trippy visionary art\npsychedelic vegetation\npsychedelic vibrant colors\npsychedelic visuals\npsychedelic waves\npsychedelic!\npsychedelic!!\npsychedelic!!!!\npsychedelic!!!!!!!!!!!!!!!!!!!!!\npsychedelics\npsychedellic\npsychedellic fractals\npsychic\npsychic girl\npsychic mind flayer\npsychic powers\npsychic tv concert\npsycho\npsycho magick fuck it insane\npsycho pass\npsycho stupid fuck it insane\npsychodelic\npsychodelic colors\npsychokinetic girl\npsychologic\npsychological\npsychological horror\npsychological horror movie still\npsychology\npsychology :: concept art\npsychonaut universe\npsychopath\npsychopath face\npsychosis\npsychoslayer\npsychotic\npsychotropic psychedelic\npsylocke\npsytrance\npsytrance and giger\npsytrance artwork\npteranadon styling\npterodactyl\npterodactyl mecha\npterosaurs flying\nptsd\npub\npub sign\npublic art\npublic bus\npublic condemned\npublic shame\npublic space\npublic works mural\npublicity cosplay\npublicity photo\npublished art\npublished concept art\npuce and vermillion\npuddle of milk\npuddle of water\npuddle of water on the floor\npuddles\npuddles of turquoise water\npuddles of water\npuddles of water on the ground\npudenda\npudge from dota 2\npudgy\npudica gesture bouguereau style\npudica pose\npudica pose bouguereau style\npudica pose gesture\npueblo architecture\npueblo dense architecture\npuerto rican super hero\npuerto rico\npuff sleeves\npuffballs\npuffer jacket\npuffs of colored smoke\npuffs of smoke\npuffs of thick black smoke\npuffy\npuffy clouds\npuffy clouds in background\npuffy cloudscape\npuffy cloudy sky\npuffy cute clouds\npuffy lips\npuffy peaceful clouds\npuffy sticker\npuffy white clouds\npug\npug-faced\npuka shell necklace\npuke\npuking blood\npulittzer winner\npulitzer\npulitzer award\npulitzer award winner\npulitzer prize\npulitzer prize for photography\npulitzer prize winning\npulitzer prize winning photo\npulitzer winning\npulitzer-prized photo\npulled\npulled apart\npulled into the spiral vortex\npulled pork sandwich\npulling strings\npulling the move'derp banshee '\npulling the move'the banshee '\npulling the movederp banshee\npulling the movethe banshee\npulling weeds out frantically\npullitzer\npullitzer winning\npulp\npulp art\npulp character portrait\npulp comic style\npulp femme fatale\npulp fiction\npulp fiction movie\npulp fiction style\npulp illustration\npulp magazine\npulp magazines\npulp magazines cover art\npulp noir\npulp sci fi\npulp sci-fi\npulp science fiction\npulp scifi\npulp scifi book cover art\npulp scifi illustration\npulp style\npulp style poster\npulsar\npulsating\npulse\npulse projections\npulse rifle\npulse rifles\npulsing energy\npuma\npumpkin\npumpkin farm background\npumpkin head\npumpkin patch\npumpkins\npunchable expression\npunchable face\npunching\npunching in a bag\npunished\npunisher\npunk\npunk album cover\npunk art\npunk attitude\npunk concert\npunk fanzine 1 9 6 7\npunk fanzine cut outs\npunk girl\npunk grim reaper\npunk hairstyle\npunk inspired\npunk little girl\npunk outfit\npunk outfit. cute\npunk party\npunk portrait made out of paint\npunk rock\npunk rock album cover art style\npunk rock clothes\npunk rock poster\npunk rock with mohawks\npunk rocker\npunk style\npunk woman\npunk xerox\npunk!!!\npunk-rocker\npunkdrone\npunks\npunks not dead\npunks not dead!\npunks not dead!!!!\npunpun onodera\npupil\npupils visible\npuppet\npuppet master\npuppet on a string\npuppets\npuppies\npuppy\npuppy as a dj\npur champagne damery\npure\npure aura\npure b & w\npure b w\npure b&w\npure background color\npure black\npure blue sky\npure color background\npure evil\npure face\npure gold pillars\npure grey fur\npure image without duplication\npure joy\npure skin\npure white\npure white background\npure white hazy overcast sky\npure white overcast sky\npurgatory\npurity\npurple\npurple - tinted\npurple accent lighting\npurple accents\npurple aethetic\npurple alien\npurple ambient light\npurple ancient antler deity\npurple and black\npurple and black clothes\npurple and black color palate\npurple and black color scheme\npurple and blue\npurple and blue and green colors\npurple and blue color scheme\npurple and blue colored\npurple and blue colour palette\npurple and blue leather\npurple and blue neon\npurple and blue neons\npurple and cyan lighting\npurple and gold color scheme\npurple and green\npurple and green colors\npurple and green fire\npurple and pink\npurple and pink and blue neons\npurple and pink hair\npurple and pink leather garments\npurple and red\npurple and red color bleed\npurple and red colors\npurple and red flowers\npurple and scarlet colours\npurple and white thich cloak\npurple and yellow\npurple and yellow lighting\npurple armor\npurple aura\npurple background\npurple beautiful sky\npurple bioluminescence\npurple blue color scheme\npurple body\npurple bridges with leggins\npurple cat\npurple checkerboard\npurple checkerboard background\npurple cloak\npurple cloth\npurple clothes\npurple color\npurple color lighting\npurple color palette\npurple color pallete\npurple color scheme\npurple color-theme\npurple colored eyes\npurple colored eyes!!!!\npurple colors\npurple colour scheme\npurple crimson color scheme\npurple crystal glass inlays\npurple crystal inlays\npurple crystal jewelry\npurple crystals\npurple cyberpunk city\npurple dim light\npurple drank\npurple drapery\npurple dress\npurple energy\npurple eye\npurple eye color\npurple eyes\npurple eyes and white dress\npurple eyes with red eye markers\npurple eyes!!!\npurple feathers\npurple filter\npurple fire\npurple fire around magic arena\npurple fire powers fire swirling\npurple flesh\npurple flower trees\npurple flowers\npurple flowing hair\npurple fog\npurple foliage\npurple fur\npurple future city\npurple glow\npurple glowing core in armor\npurple glowing eyes\npurple glowing inscription\npurple gradient\npurple greek robe\npurple green color scheme\npurple hair\npurple hair portrait of woman\npurple halter top\npurple haze\npurple head\npurple highlights\npurple hue\npurple hues\npurple jacket\npurple laser lighting\npurple leather dungeon bedroom\npurple leather garments\npurple leather jacket\npurple leather wings\npurple light\npurple lighted street\npurple lighting\npurple lightning\npurple lights\npurple lipstick\npurple liquid\npurple liquid in cup glowing\npurple long hair\npurple magic\npurple makeup\npurple metal ears\npurple mist\npurple mullet\npurple nebula\npurple neon\npurple neon colours\npurple neon light\npurple omnious sky\npurple orange colors\npurple outfit\npurple overall shorts\npurple palette\npurple rain\npurple raincoat\npurple ribbons\npurple robe and veil\npurple robes\npurple roofs\npurple sand\npurple scene lighting\npurple shattered paint\npurple shattered paint!\npurple shiny bob haircut\npurple skin\npurple skin color\npurple sky\npurple smoke\npurple sparkles\npurple streaks in hair\npurple sun\npurple sunset\npurple themed\npurple tie\npurple tint\npurple tones\npurple top\npurple tornado\npurple transparent sci - fi hood\npurple trees\npurple tubes\npurple tunic\npurple vest\npurple volumetric lighting\npurple water\npurple watery eyes\npurple. ambient lightning\npurple. smooth shank\npurples\npurplish space in background\npurpose is pump\npurpose unknown\npursed lips\npus\npus - filled boils\npush-up underwire\npush-up underwire. intricate\npushead art\npustules\nput on 1 0 0 pounds of muscle\nput on 100 pounds of muscle\nput on a mannequin\nputin\nputin as james bond 0 0 7\nputin crying\nputin face\nputin inhaling from copium tank\nputin is bald caveman\nputin portrait\nputin riding a bear\nputin with beard\nputrid\nputti\nputtin\nputting makeup on\nputting on lipgloss\npuyallup berteronian\npuzzle\npuzzle art\npuzzle-like room\npuzzling\npuṣkaracūḍa\npv\npvc\npvc armor\npvc figurine\npvc posable figure\npvc poseable\npygmy hippopotamus\npylons\npyongyang\npyongyang city\npyramid\npyramid background\npyramid head\npyramid head from silent hill\npyramid hoodvisor\npyramid in background\npyramid portal\npyramid ruins at sundown\npyramid scheme\npyramid surrounded with greenery\npyramid visor\npyramids\npyramids in background\npyramids in the background\npyramids in the desert\npyramids of egypt\npyramids of giza\npyramids style\npyranees\npyre\npyroclastic flow\npyrography\npyromallis\npyromallis nekro rene margitte\npyromallis rene maritte\npyromancer\npyrotechnics\npyrrhic victory\npyrrol scarlet\npythagorean theorem\npython\nq\nq hayashida\nq posket\nqapla\nqi baishi style\nqi sheng luo\nqiangshu\nqichao wang\nqifeng lin\nqing dynasty\nqing dynasty painting\nqirex\nqiu fang\nqiyana\nqled\nqliphoth\nquack medicine\nquackery\nquadrichromic\nquadruped\nquadrupedal\nquaint\nquaint village\nquak\nquake\nquake  1996  pc game\nquake ( 1 9 9 6 ) pc game\nquake engine\nquake strogg\nqualia\nquality\nquality astral projection render\nquality cinema model\nquality digital art\nquality draughtmanship\nquality illustration\nquality lighting\nquality rendering\nquantum\nquantum break\nquantum computer\nquantum computing\nquantum deep magic\nquantum dynamics\nquantum entanglement\nquantum fractals\nquantum leap\nquantum mechanics\nquantum paradox\nquantum particles\nquantum physics\nquantum processor\nquantum sensor resonator\nquantum superposition\nquantum technology\nquantum tracerwave\nquantum tracerwave!\nquantum waves\nquantum wavetracer\nquantum wavetracing\nquarter view\nquartz\nquartz crystal\nquasar\nquaternary\nquebec\nquechua\nquechua!\nquechua!!\nqueen\nqueen and ruler of the universe\nqueen chess piece\nqueen chess piece photo\nqueen chess piece photo portrait\nqueen crown\nqueen crown on top of her head\nqueen elizabeth\nqueen elizabeth ii\nqueen in a glass prison\nqueen jezebel\nqueen margherita of savoy\nqueen of atlantis\nqueen of blades\nqueen of bones\nqueen of darkness\nqueen of death\nqueen of dragons\nqueen of england\nqueen of flowers\nqueen of hearts\nqueen of heaven\nqueen of hell\nqueen of ice and storm\nqueen of longing\nqueen of nature\nqueen of snakes\nqueen of the dead\nqueen of the fairies\nqueen of the forest\nqueen of the galaxy\nqueen of the ghosts\nqueen of the jungle\nqueen of the night\nqueen of the sea mu yanling\nqueen of the underworld\nqueen of war\nqueen of warrior\nqueen of winter\nqueen victoria\nqueen's collector\nqueens collector\nqueens gambit\nqueer\nqueer woman\nquentin mabille\nquentin tarantino\nquentin tarantino action shot\nquentin tarantino movie posters\nquest marker\nquestion marks\nquetzal\nquetzal and star-nosed mole\nquetzalcoatl\nquick assembly\nquick sketch\nquick witted\nquicksilver\nquiet\nquiet and serene atmosphere\nquiet beauty\nquiet disdain\nquiet forest night scene\nquiet from metal gear solid\nquiet from metal gear solid v\nquiet intensity\nquiet street\nquiet tokyo alley at night\nquilt\nquinacridone magenta\nquinn\nquint\nquintessa\nquirky\nquirky 1 9 th century\nquirky 19 th century\nquirky king of faes ( with long\nquirky shops\nquivering lips\nquixel\nquixel megascan\nquixel megascans\nquixel mixer\nquixel textures\nquokka\nquotev\nquy ho\nqvc\nqwek dom\nr - mk\nr / art\nr / battlemaps\nr / paintedminis\nr / vexilology\nr /art\nr 2 d 2\nr 2d 2\nr crumb\nr&b\nr-number\nr. crumb\nr. giger\nr/art\nr/aww\nr/morrowind\nr/skywind\nr2d2\nr6\nraal\nrabbids at a metal concert\nrabbit\nrabbit ears\nrabbit face only\nrabbit groot as marble statue\nrabbit robot\nrabbit shaped helmet\nrabbit warrior\nrabbit_bunny\nrabbits\nrabbt_character\nrabid\nrabies\nraccoon\nraccoon on roof\nrace\nrace car\nrace footage\nrace style\nrace track background\nracecar\nracers\nrachel amber\nrachel birkett\nrachel mcadams\nrachel wall\nrachel walpole\nrachel walpole art\nrachel weisz\nrachel weisz portrait\nracing\nrack\nrack focus\nracking focus\nracks\nracoon\nracoon dog\nracoon holding a laser gun\nracy\nrad\nraden saleh\nradial\nradial color dispersion\nradial light\nradial symmetry\nradially symmetrical\nradiant\nradiant alien\nradiant atmosphere\nradiant aura\nradiant backlighting\nradiant colors\nradiant cut\nradiant flares\nradiant glory\nradiant halo\nradiant halo of light\nradiant light\nradiant lighting\nradiant morning light\nradiant nebula colors\nradiant owl\nradiant quality\nradiant skin\nradiant slime trail\nradiant smile. ultra wide shot\nradiant soft light\nradiant vibrant colors\nradiant volumetric lighting\nradiating\nradiating a glowing aura\nradiating atomic neon corals\nradiating dark energy aura\nradiating golden light\nradiating power\nradiating rebirth energy\nradiating with power\nradiation\nradiation glow\nradiation mutated\nradiator\nradical\nradio\nradio box\nradio equipment\nradio goggles\nradio signals\nradio telescope\nradioactive\nradioactive horror painting\nradioactive particles\nradioactive spike field\nradioactive swamp\nradioactive wasteland\nradiohead\nradiohead album art cover\nradiohead album cover\nradiohead logo\nradiohead singer thom yorke\nradiolaria\nradios\nradiosity\nradiosity rendering\nradoslav svrzikapa\nrads\nraf grassetti\nraf grassetti neville page\nraf simons\nraf simons fashion couture\nrafael\nrafael albuquerque\nrafael albuquerque art\nrafael albuquerque comic art\nrafael grassetti\nrafaelle monti and beksinski\nrafał olbinsk and salvador dali\nrafeal albuquerque\nrafeal albuquerque comic art\nraffael\nraffaelle monti\nraft gameplay\nragdoll cat\nrage\nrage against the machine\nrage against the washing machine\nraggae art\nragged\nragged clothes\nraging\nraging bugbear\nraging sea foggy\nraging storm\nragnarok\nragnarok online\nrags\nrahul gandhi face\nrahul gandhi hairstyle\nraiden from metal gear rising\nraiden metal gear\nraider\nraiders of the lost ark\nrail tracks\nrail tracks lead from the mine\nrailgun\nrailing\nrailing along the canal\nrailings\nrailroad\nrails\nrailway tracks going through it\nrailways\nraily season\nrain\nrain aesthetic\nrain and haze\nrain and light fog\nrain and lightning\nrain and mud\nrain and smoke\nrain and smoke and lightning\nrain and thick strands of mucus\nrain droplets frozen in time\nrain drops\nrain drops on face\nrain falling\nrain falls\nrain is falling\nrain like a dream\nrain lit\nrain of blood\nrain on screen\nrain puddles\nrain red color bleed\nrain sensor\nrain splashing\nrain storm\nrain stormy fog\nrain water reflections in ground\nrain! storm\nrain!!!!\nrain. hyper detailed\nrainbow\nrainbow accents\nrainbow aura crystals\nrainbow aura quartz\nrainbow aurora\nrainbow background\nrainbow bg\nrainbow bubbles\nrainbow caustic lighting\nrainbow clothes\nrainbow clouds\nrainbow color scheme\nrainbow colored\nrainbow colored clouds\nrainbow colored dust mask\nrainbow colored hair\nrainbow colors\nrainbow coloured rockets\nrainbow colours\nrainbow corals\nrainbow dash\nrainbow diffraction\nrainbow drip paint\nrainbow eyes\nrainbow fireflies\nrainbow fur\nrainbow geometric face\nrainbow gouache\nrainbow gradient bloom\nrainbow gradient reflection\nrainbow hair\nrainbow hair overlay\nrainbow in the sky\nrainbow iridescent accents\nrainbow lighting\nrainbow line - art\nrainbow liquids\nrainbow melting color scheme\nrainbow mycelium\nrainbow neon strips\nrainbow overlay! beautifully lit\nrainbow overlaybeautifully lit\nrainbow reflection\nrainbow reflections\nrainbow river waterfall\nrainbow road\nrainbow sheen\nrainbow sheep like cotton candy\nrainbow shift\nrainbow smoke\nrainbow splash of ink\nrainbow stripe backdrop\nrainbow stripe background\nrainbow trail\nrainbow tubing\nrainbow wings\nrainbowcore\nrainbows\nrainbows in the background\nrainbowshift\nraindrop\nraindrops\nrainfall\nrainfall and mud\nrainforest\nrainforest background\nrainforest mountains\nraining\nraining ash\nraining at night\nraining award winning photo\nraining blood\nraining dollars\nraining fire\nraining glass shards\nraining outside\nraining outside the cafe\nraining outside the window\nraining portrait\nraining rainbow\nraining!\nraining! nighttime\nraining!!\nraining!!!\nrainingnighttime\nrainn wilson\nrainny\nrainstorm\nrainy\nrainy afternoon\nrainy and foggy\nrainy and gloomy atmosphere\nrainy and wet atmosphere\nrainy atmosphere\nrainy background\nrainy city at night\nrainy cyberpunk city\nrainy day\nrainy day in minecraft\nrainy day outside\nrainy day. game render\nrainy day. nintendo64\nrainy environment\nrainy evening\nrainy mood\nrainy night\nrainy night city street\nrainy outside\nrainy scene\nrainy storm\nrainy stormy night\nrainy street\nrainy streets in the background\nrainy urban streets\nrainy weather\nrainy wet\nrainy window\nrainy; 90's photograph\nrainy; 90s photograph\nraised a bloody american flag\nraised eyebrow\nraised eyebrows\nraised fist\nraised hand\nraised hands\nraising an arm\nraising between the buildings\nraj koothrappali as saul goodman\nraking light\nraku\nrally car\nrally driving photo\nralph bakshi\nralph goings\nralph horley\nralph horsley vivid color\nralph macquarrie\nralph mcquarie\nralph mcquarrie concept art\nralph mcquarrie. centered image\nralph steadman\nralph steadman style\nram antlers\nram horns\nram sheep robot\nram skull\nram skull headpiece\nram skulls\nramatic cinematic lighting\nrambling\nrambo\nramen\nramil sunga\nrammed earth courtyard\nrammstein\nrampaging\nramps\nrandom\nrandom and dramatic scene\nrandom artist\nrandom artists\nrandom background scene\nrandom characters\nrandom cinematic view\nrandom circular platforms\nrandom colors\nrandom content\nrandom content position\nrandom cows\nrandom detail\nrandom english words\nrandom forest landscape\nrandom metallic colors\nrandom object movement\nrandom object position\nrandom positions floating\nrandom scheme color\nrandom style\nrandom things\nrandom volumetric lighting\nrandom weather\nrandomly lustrous colored hair\nrandomly lustrous dyed hair\nrandomly segmented rooms\nrandy bishop\nrandy travis\nrange murata\nrange murata and artgerm\nrange murata jeremy lipking\nrange murata yoshitaka amano\nranger\nranjit ghosh\nranker\nrankin\nraoul hausmann\nrap\nrap album cover\nrap album cover art\nrap battle\nrap bling\nrap metal\nrap scene\nraper artist\nraphael high renaissance\nraphael hopper\nraphael lecoste\nraphael personnaz\nraphael style\nraphaelite\nraphaelite and alphonse mucha\nraphaelite and mucha\nraphaelites\nraphaël\nrapidograph\nrapids\nrapier\nrapper\nrapper bling jewelry\nrapper jewelry\nrapping\nrapping into microphone\nrapping on stage at festival\nraptor\nraptor jesus\nraptors\nrapture\nrapunzel\nraqib shaw\nrare\nrare bird in the jungle\nrare classified photo\nrare ltd\nrare mineral rare raw metal\nrare photograph\nrasing of consciousness\nraspberries\nraspberry\nraspberry banana color\nrasputin\nrasputin as grubhub character\nrasta\nrastafarian\nrasterized\nrat\nrat fink style\nrat kind mecha\nrat king\nrat man\nrat with crown\nratatouille style\nratchet & clank\nratchet and clank\nratchet clank\nratchet straps\nrated e10\nrated r\nrated t for teen\nrateo\nratfink\nrating: general\nrating:g\nratio\nratio 16:9\nrational painting\nrats\nrats!!\nratz\nrave\nrave art\nrave background\nrave girl\nrave inspired\nrave makeup\nrave otufit\nrave outfit\nrave party\nrave poster\nraven\nraven angel wings\nraven bird\nraven black\nraven black hair\nraven hair\nraven mask\nraven monster\nraven winged female vampire\nraven wings\nravenholm\nravenous\nravens\nravens stormy sky of foreboding\nraver\nraver girl\nravine\nravishing\nravnica\nraw\nraw dual pixel\nraw egg yolks\nraw emotion\nraw file\nraw malachite\nraw pork\nraw sienna\nray\nray - traced\nray - traced lighting\nray - tracing\nray - tracing radiosity\nray casting\nray cinematic\nray fawkes\nray gods\nray harryhausen\nray lewis\nray lewis yelling\nray lighting from top of frame\nray of golden sunlight\nray of light\nray of light through smoke\nray of light through white hair\nray of lights\nray of sunlight\nray swanland\nray trace\nray trace 4 k\nray trace 4k\nray trace 8k\nray traced\nray traced lighting\nray traced reflections\nray traced sun light\nray tracing\nray tracing 8 k\nray tracing 8k\nray tracing ambient occlusion\nray tracing global illumination\nray tracing lighting\nray tracing on\nray tracing on epic settings\nray tracing reflection\nray tracing reflections\nray tracing x\nray tracing. fractal crystal\nray tracing. luminous\nray tracing. sharp focus\nray william johnson\nray-traced\nray-tracing\nraya and the last dragon\nraycasting\nraygun gothic\nraygun gothic style\nrayleigh scattering\nrayman\nrayman legends\nrayman legends boss\nrayman raving rabbids\nraymarching\nraymond\nrayonism light effects and bokeh\nrayonnant style\nraypunk\nrays\nrays of blue moonlight\nrays of god\nrays of god shining from above\nrays of golden red sunlight\nrays of golden sunlight\nrays of life\nrays of light\nrays of moonlight\nrays of shimmering light\nrays of sun\nrays of sunlight\nrays of sunlights\nrays of sunshine\nrays of the sun\nrays of volumetric light\nraytacing\nraytarced\nraytrace\nraytrace concept art\nraytraced\nraytraced 3d set design\nraytraced blade\nraytraced highlights\nraytraced lighting\nraytraced lights and shadows\nraytraced realistic\nraytraced reflections\nraytraced render\nraytracing\nraytracing : :\nraytracing effects\nraytracing on\nraytracing reflections\nraytracing shadows\nraytracting\nraytrayced\nrazaras\nraziel irl\nrazor sharp teeth\nrazorgirl\nrazzle dazzle\nrb 6 s\nrb6s\nrb6s)\nrbc\nrdr 2 mod\nrdr2\nre engine\nre engine render\nre life\nre-raphaelite fairies\nreach\nreaching\nreaching for the sky\nreaching out to each other\nreaching towards the heavens\nreaction diffusion\nreaction diffusion linocut\nreaction-diffusion pattern\nreactor\nreactor circuits\nreactor core\nread\nread a directory book\nreadability\nreadable\nreadable diagram\nreadable font\nreadhead\nreading\nreading a book\nreading a book next to a lion\nreading a newspaper\nreading an evil demonic book\nreading engineering book\nreading for a party\nreading glasses\nreading in library\nreading new book\nreading nook\nreading the book about love\nreading the newspaper\nreading under a tree\nready\nready - made\nready for a meeting\nready for battle\nready for combat\nready player one\nready to eat\nready to fight\nready to fly\nready to model\nready to strike\nready-made\nreadymade\nreagents\nreal\nreal aircrafts references\nreal anime\nreal atmosphere\nreal bats\nreal bongos\nreal camera\nreal caustics\nreal clown makeup\nreal colors\nreal congas\nreal detailed face\nreal details\nreal dlsr photography\nreal engine\nreal engine 5\nreal engine 5 cinematic\nreal engine render\nreal estate photography\nreal event\nreal eyes that are detailed\nreal face\nreal faces\nreal feather\nreal flesh texture\nreal footage\nreal fur\nreal fur and real skin\nreal guitars hanging on the wall\nreal hair\nreal hands\nreal heart\nreal heart!\nreal hellscape in background\nreal human\nreal human eyes\nreal human face\nreal human face with skin\nreal human faces\nreal human feet\nreal human female hand\nreal image\nreal life\nreal life big mom\nreal life characters\nreal life charmander\nreal life colors\nreal life homer simpson\nreal life image\nreal life peter griffin\nreal life photo\nreal life photo of a syrian man\nreal life photograph\nreal life photography\nreal life picture\nreal life pikachu\nreal life pokemon\nreal life pokemons\nreal life portrait\nreal life size\nreal life skin\nreal life totoro\nreal lighting\nreal masterpiece\nreal pearls\nreal photo\nreal photograph\nreal photograph on the street\nreal photography\nreal photoshoot queen of oceans\nreal pianos\nreal picture\nreal picture taken in zoo\nreal polaroid photo\nreal polaroid picture\nreal porcelain texture effect\nreal rotten flesh\nreal rotten flesh and blood\nreal saxophones\nreal scale\nreal shot\nreal skin\nreal sousaphones\nreal steel\nreal steel  2011\nreal steel ( 2 0 1 1 )\nreal sunset\nreal teeth\nreal texture effect\nreal trending on instagram image\nreal ungine\nreal vintage photo\nreal wings\nreal world\nreal-life\nreal-life accurate\nreal-life brook\nreal-life homer simpson\nreal-life photograph\nreal-life skin\nreal-life tom and jerry\nrealflow\nrealiatic\nrealisitc\nrealisitc photo\nrealisitic\nrealism\nrealism  beeple\nrealism 8k\nrealism : 9 5 %\nrealism art\nrealism art style\nrealism artstyle\nrealism drawing\nrealism in style of fornite game\nrealism old painting\nrealism painting\nrealism style\nrealism tattoo\nrealism tattoo design\nrealism tattoo drawing\nrealism tattoo sketch\nrealism | beeple\nrealisms\nrealism”\nrealist\nrealist aetherpunk\nrealist painting\nrealist proportions\nrealista\nrealistc\nrealistc octane render\nrealistic\nrealistic - anime\nrealistic - n 9\nrealistic 3 d render\nrealistic 3 d style\nrealistic 3d\nrealistic 3d model\nrealistic 3d render\nrealistic 4 k\nrealistic 4k\nrealistic 4k photo\nrealistic 8 k\nrealistic 8k\nrealistic 8k bernini sculpture\nrealistic 8k hd\nrealistic 8k photography\nrealistic 8k render\nrealistic afternoon lighting\nrealistic aircraft\nrealistic aircrafts\nrealistic alien\nrealistic anatomical proportions\nrealistic anatomy\nrealistic and coherent\nrealistic and defined face\nrealistic and detailed\nrealistic and detailed eyes\nrealistic and detailed face\nrealistic and ultra detailed\nrealistic anime\nrealistic anime 3 d style\nrealistic anime 3d style\nrealistic anime art style\nrealistic anime artstyle\nrealistic anime cat\nrealistic anime face\nrealistic anime style at pixiv\nrealistic apocalyptic war scene\nrealistic architecture\nrealistic armor\nrealistic art\nrealistic art deco\nrealistic art style\nrealistic artstyle\nrealistic artwork\nrealistic background\nrealistic beautiful\nrealistic beautiful big eyes\nrealistic beautiful face\nrealistic bikini\nrealistic black and white\nrealistic body\nrealistic body features and face\nrealistic body proportions\nrealistic body shape\nrealistic body structure\nrealistic brown fur\nrealistic building\nrealistic cars\nrealistic cartoon\nrealistic cgi\nrealistic cgi render\nrealistic character anatomy\nrealistic character concept\nrealistic character concept art\nrealistic cinema 4 d render\nrealistic cinematic\nrealistic cinematic lighting\nrealistic cinematic shot\nrealistic cinematic style\nrealistic cloth puppet\nrealistic clothing\nrealistic clouds\nrealistic clown makeup\nrealistic color\nrealistic colorful photography\nrealistic colors\nrealistic composition\nrealistic concept\nrealistic concept art\nrealistic content\nrealistic cosplay\nrealistic creature concept\nrealistic crisp textures\nrealistic cute girl painting\nrealistic depiction\nrealistic depth\nrealistic detail\nrealistic detailed\nrealistic detailed background\nrealistic detailed face\nrealistic detailed face portrait\nrealistic detailed masterpiece\nrealistic detailed octane render\nrealistic detailed painting\nrealistic detailed photography\nrealistic detailed revolver\nrealistic details\nrealistic digital art\nrealistic digital art 4 k\nrealistic digital art 4k\nrealistic digital drawing\nrealistic digital illustration\nrealistic digital painting\nrealistic dirt\nrealistic drawing\nrealistic elements\nrealistic engine\nrealistic epic shaders\nrealistic establishing shot\nrealistic explosion\nrealistic extremely detailed\nrealistic eyes\nrealistic eyes looking at camera\nrealistic fabric\nrealistic face\nrealistic face and anatomy\nrealistic face and body hybrid\nrealistic face and details\nrealistic face details\nrealistic face moody lighting\nrealistic faces\nrealistic faces and anatomy\nrealistic faces and details\nrealistic faces and expressions\nrealistic facial expression\nrealistic facial features\nrealistic facial features ”\nrealistic fantasy\nrealistic fantasy artwork\nrealistic fantasy illustration\nrealistic fantasy painting\nrealistic fantasy photography\nrealistic fantasy render\nrealistic features\nrealistic female faces\nrealistic female portrait\nrealistic fingers\nrealistic fire sharp focus\nrealistic flavor\nrealistic flesh\nrealistic flesh texture\nrealistic flowers oil painting\nrealistic footage\nrealistic fortnite\nrealistic fur\nrealistic garden\nrealistic geometry\nrealistic glass sculpture\nrealistic gold\nrealistic graphics\nrealistic graphite\nrealistic grass\nrealistic gun\nrealistic gun design\nrealistic guns\nrealistic hair\nrealistic hand\nrealistic hands\nrealistic hd photo\nrealistic highly detailed\nrealistic horror\nrealistic horrors\nrealistic human\nrealistic human anatomy\nrealistic human eyes\nrealistic human face\nrealistic human feet\nrealistic human movement\nrealistic hyper detailed\nrealistic illustration\nrealistic illustrative painting\nrealistic image\nrealistic information\nrealistic intricate concept art\nrealistic intricate detail\nrealistic jelly splashes\nrealistic lance\nrealistic landscape\nrealistic lifelike dragon\nrealistic light\nrealistic light and shadow\nrealistic lighting\nrealistic lightning\nrealistic line drawing\nrealistic manga\nrealistic masterpiece\nrealistic materials\nrealistic matte painting\nrealistic maya\nrealistic mechanical details\nrealistic mega structure\nrealistic metal\nrealistic metal reflections\nrealistic military carrier\nrealistic military equipment\nrealistic military gear\nrealistic moon in the background\nrealistic mouth\nrealistic movie still\nrealistic nature\nrealistic ocean\nrealistic octane 3d\nrealistic octane render\nrealistic oil on linen\nrealistic oil paint\nrealistic oil painting\nrealistic old photo\nrealistic old photograph\nrealistic paint\nrealistic paint job\nrealistic painting\nrealistic painting effect\nrealistic painting of a complex\nrealistic painting style\nrealistic paleoart\nrealistic parallel content\nrealistic pencil drawing\nrealistic people\nrealistic peoples\nrealistic perfect face\nrealistic person\nrealistic photo\nrealistic photo from nasa\nrealistic photo of a town\nrealistic photo of delicious pho\nrealistic photo shoot\nrealistic photo studio photoshop\nrealistic photograph\nrealistic photography\nrealistic photography paleoart\nrealistic photo”\nrealistic physical rendering\nrealistic picture\nrealistic pictures\nrealistic polaroid picture\nrealistic portrait\nrealistic portrait full body\nrealistic portrait photo\nrealistic portrait photography\nrealistic professional photo\nrealistic proportions\nrealistic proportions sfw\nrealistic proportions!!\nrealistic rackets\nrealistic refine flavor\nrealistic reflection\nrealistic reflections\nrealistic refraction\nrealistic renaissance portrait\nrealistic render\nrealistic rendering\nrealistic rendering for stool\nrealistic restored face\nrealistic robotic machinery\nrealistic rock figurine\nrealistic scale\nrealistic scene\nrealistic schoolgirl\nrealistic sci - fi\nrealistic scifi\nrealistic self portrait\nrealistic sensual gravure idol\nrealistic shaded\nrealistic shaded lighting\nrealistic shaded lighting poster\nrealistic shaded perfect anatomy\nrealistic shaded perfect body\nrealistic shaded perfect face\nrealistic shaded robotic parts\nrealistic shaders\nrealistic shading\nrealistic shading and lighting\nrealistic shading photorealism\nrealistic shadows\nrealistic shapes\nrealistic sharp details\nrealistic shot\nrealistic sketch\nrealistic skin\nrealistic skin color\nrealistic skin shader\nrealistic skin texture\nrealistic sky\nrealistic smoke\nrealistic soft lighting\nrealistic soldiers\nrealistic space\nrealistic spanish woman painting\nrealistic studio lighting\nrealistic studio photo\nrealistic studio portrait\nrealistic style\nrealistic symmetrical eyes\nrealistic tattoo\nrealistic texture\nrealistic textured\nrealistic textured magnetosphere\nrealistic textured skin\nrealistic textures\nrealistic textures from photos\nrealistic unreal engine 3 d game\nrealistic unreal engine 3d game\nrealistic unreal engine 5\nrealistic vfx simulation\nrealistic volumetric lighting\nrealistic warship design\nrealistic water\nrealistic water sharp focus\nrealistic water splashes\nrealistic watercolour\nrealistic weapon\nrealistic weapons\nrealistic wide angle photo\nrealistic windows\nrealistic wood swamp\nrealistic young anime girl\nrealistic young gravure idol\nrealistic | detailed face\nrealistic »\nrealistic ”\nrealistic!\nrealistic! 8k\nrealistic!!\nrealistic!!!\nrealistic''\nrealistic-n 9\nrealistic. 4 k\nrealistic. 8 k\nrealistic. beautiful lighting\nrealistic. cheng yi\nrealistic. dark atmosphere\nrealistic. detailed feathers\nrealistic. detailed fur\nrealistic. intricate\nrealistic. octane render\nrealistically\nrealistically detailed shading\nrealistically proportioned body\nrealistically proportioned face\nrealistically proportioned head\nrealistically rendered clothing\nrealistically rendered eyes\nrealistically rendered face\nrealistically shaded\nrealistictic\nrealistic”\nrealististic\nrealistoc\nrealitic\nreality\nreality bending\nreality infused with dreams\nreality tv\nreality warping\nrealityengine\nreallife\nreallism\nreallistic\nreallusion character creator\nreally\nreally beautiful forest\nreally beautiful nature\nreally clear\nreally close - up shot\nreally cool pose\nreally detailed\nreally funny\nreally good looking face!!\nreally good vibes\nreally large bosum\nreally large bust\nreally long\nreally realistic\nreally scary\nreally short dark gray hairs\nreally short hair\nreally trying to ride it\nrealm\nrealm of life\nrealm of the ovarian machine\nrealms\nrealosm\nrealsitic\nrealstic lighting\nreaper\nreaper from overwatch\nreaper miniatures\nreaper minis\nreaper of night!!!!\nrear facing\nrear lighting\nrear shot\nrear side portrait of a muscular\nrear view\nrear-shot\nreasonable fantasy\nreasonable lighting\nreassuring\nreaver drone\nrebecca oborn\nrebecca romijn as dorothy\nrebecca sugar\nrebel\nrebelliousness\nrebirth\nrebirth rituals\nrebirth symbolism\nreboot\nrebuild of evangelion 1 0 8 0 p\nrebuild of evangelion 1080 p\nreceding hairline\nrecessed\nrecipe\nrecital\nreckless cohort\nreclaimed lumber\nreclections\nreclining\nreclining on bed\nrecognizable\nrecolored\nrecommended\nreconstruction\nrecord jacket\nrecovering from pain\nrecreation\nrectangle\nrectangle white porcelain table\nrectangles\nrectangular\nrectangular face\nrectangular piece of art\nrectangular pool\nrectilinear\nrectilinear vaporwave\nrecursion\nrecursive\nrecursive fractal\nrecursive fractals\nrecursive portrait\nrecursive!!!!\nrecusion beeple\nrecycled\nred\nred & black fur\nred + black + dark blue + beige\nred - black\nred - cheeks\nred - cheeks!!\nred - eyed\nred - iris\nred - toned mist\nred - yellow - blue building\nred accents\nred adornements\nred adornments\nred afro\nred afro dreadlocks on fire\nred airsoft electric pistol\nred and black\nred and black and white\nred and black cape and hoodie\nred and black color palette\nred and black color scheme\nred and black colors\nred and black colour scheme\nred and black costume\nred and black costume!!!\nred and black details\nred and black flags\nred and black flags waving\nred and black robotic parts\nred and black suit\nred and black tones\nred and blue\nred and blue back light\nred and blue black light\nred and blue color scheme\nred and blue color theme\nred and blue eyes\nred and blue garments\nred and blue lighting\nred and blue neon\nred and blue reflections\nred and brown color scheme\nred and cinematic lighting\nred and cyan\nred and cyan ink\nred and cyan theme\nred and gold\nred and gold cloth\nred and gold ornate dress\nred and gold sumptuous garb\nred and golden color details\nred and green\nred and green color scheme\nred and green hour\nred and green lighting\nred and green palette\nred and green tones\nred and grey only\nred and magenta flowers\nred and obsidian neon\nred and orange color scheme\nred and orange colored\nred and orange glow\nred and purple\nred and purple coloring\nred and purple nebula\nred and purple palette\nred and teal and yellow\nred and teal color scheme\nred and white\nred and white and black colors\nred and white color scheme\nred and white color theme\nred and white colors\nred and white flowers\nred and white lighting\nred and white marble panels\nred and white neon\nred and white stripes\nred and yellow\nred and yellow color scheme\nred and yellow light\nred and yellow scheme\nred apple\nred apples\nred armor\nred ascot and a field cap\nred atmosphere\nred aura\nred background\nred background photorealistic\nred backwards cap\nred baggy eyes\nred ballpoint pen\nred bandana\nred banners\nred barn in distance\nred beard\nred beryl\nred bikini\nred biomechanical\nred biomechanical details\nred biomechanical dress\nred bird\nred birthmark\nred black and gold color scheme\nred black and white\nred black fur\nred black white colors\nred black white golden colors\nred blood\nred blooming flowers\nred blue\nred blue and gold color scheme\nred blue color scheme\nred blue purple black fade\nred blue theme\nred blush\nred body suit\nred boots\nred bow in hair\nred bra\nred braided hair\nred bricks\nred brocade and blue gemstones\nred brown and blue color scheme\nred brown and grey color scheme\nred brown and white color scheme\nred building\nred bull\nred camera\nred cap\nred cap with a capital m\nred cape\nred car\nred carpet\nred carpet photo\nred carpet photography\nred carpeted floor\nred castle in background\nred caviar instead of sand\nred cheeks\nred cinema camera\nred cloak\nred cloth\nred cloth around his shoulders\nred cloth background\nred clothes\nred cloud\nred cloud light\nred clouds\nred clown nose\nred coat\nred color\nred color bleed\nred color palette\nred color scheme\nred color theme\nred colored\nred colors\nred colour palette\nred contact lenses\nred contacts\nred crimson crimson hair\nred crimson hair\nred cross\nred cumulonimbus clouds\nred curled hair\nred curly hair\nred curtain\nred curtains\nred dead\nred dead redemption\nred dead redemption 2\nred dead redemption art style\nred dead redemption2\nred demon armor\nred demon cyberpunk symbols\nred desert\nred desert mars\nred details\nred dish\nred door blonde\nred dot\nred dragon\nred dress\nred dress and hat\nred dress and magic witch hat\nred dust\nred dusty soil\nred dyed hair\nred eerie sky\nred elegant shirt\nred emerald\nred eye\nred eyed\nred eyes\nred eyes and a slim face\nred eyes glowing\nred eyes highly detailed\nred eyes wide open\nred fabric\nred fabric coat\nred face\nred faced\nred facial stripe\nred feathered wings\nred feathered wings for arms\nred fiery watery eyes\nred filter\nred fire eyes\nred flag\nred flags\nred flags holiday\nred flames\nred flames in background\nred flesh strings\nred floral dress\nred flower\nred flowers\nred flowers of different types\nred fluid\nred fluid on walls of the church\nred fog\nred fog on the ground\nred forest\nred forman\nred forman as ironman\nred fox\nred fur\nred gems scattered like dust\nred giant\nred gloves\nred glow\nred glow eye\nred glow in sky\nred glowing eyes\nred glowing hair\nred glowing skin\nred glowing streams of lava\nred glowing veins\nred gold and black outfit\nred gold black\nred gold color palette\nred gold hair\nred grass\nred green\nred green black teal\nred green color palette\nred green white black\nred green yellow color scheme\nred grid\nred gundam head\nred hair\nred hair and attractive features\nred hair and freckles\nred hair girl\nred hairband\nred haired girl\nred haired goddess\nred haired teen boy\nred haired young woman\nred hat\nred haze\nred head\nred headband\nred headphones\nred hearts\nred heavy armor\nred high heel pumps\nred high heels\nred highlights\nred hood cosplay\nred hooded mage\nred hoodie\nred hoods\nred horizon\nred horns\nred hot\nred hot soldering iron\nred hue\nred hues\nred illuminating fog\nred ink\nred ink sharp focus\nred interior\nred intricate long braids\nred iris\nred irises\nred irises and a slim face\nred iron oxide\nred jacket\nred jewelry\nred jumpsuit\nred kimono\nred kimono with flower patterns\nred lace\nred lake\nred lanterns\nred laser\nred laser scanner\nred lasers\nred lava rivers\nred leather armor\nred leather corset\nred leather interior\nred leather jacket\nred leather short coat\nred leaves\nred leaves on the ground\nred led eyes\nred led lights\nred leds\nred left eye\nred left eye stripe\nred lens flare\nred light\nred light bulbs\nred light from some windows\nred light saber\nred lighting\nred lighting on their faces\nred lightning\nred lightning!!\nred lights\nred lightsaber\nred lips\nred lipstick\nred lipstick on face\nred liquid\nred liquid dripping from above\nred long hair\nred long wavy hair\nred lunar eclipse\nred magic\nred magic surrounds her\nred meat shreds\nred mech\nred mech arms and red mech legs\nred mechanical body\nred mesh in the facede\nred mini cooper s\nred mist\nred monochrome\nred mood in background\nred moon\nred moon over stormy ocean\nred mouth\nred narrow lava rivers\nred nebula\nred necktie\nred neon\nred neon details\nred neon eyes\nred neon light\nred neon lights\nred neon lights inside it\nred neon roses\nred nose\nred ocher\nred ogre riding a horse\nred on black\nred only\nred orange and yellow leaves\nred orange blue beige\nred orange lighting\nred oval turban\nred paint\nred paint detail\nred paint strip across eyes\nred painted metal\nred palette\nred panda\nred panda on a propaganda poster\nred peaks in the background\nred pennants\nred phoenix tattoo on back\nred planetoid exploding\nred poppies\nred power\nred puppils\nred purple gradient\nred rain\nred realistic 3 d render\nred realistic 3d render\nred reflections\nred reflective lens\nred ribbon\nred riding hood\nred rim light\nred rising planet\nred river\nred robe\nred robes\nred ronald mcdonald hair\nred ronald mcdonald hairstyle\nred ronald mcdonald messy hair\nred roofs\nred room\nred rose\nred rose in hair\nred roses\nred roses at the top\nred round nose\nred salamander\nred sand\nred sand beach\nred sandstone natural sculptures\nred scales\nred scales on his back\nred scarf\nred sea\nred selective coloring\nred shell. dirt track\nred shift\nred shift render\nred shirt\nred shirt brown pants\nred shoes\nred short dress\nred short hair\nred silk flowing fabric\nred silk scarf\nred skies\nred skin\nred skinned\nred skintight leather armor\nred skull\nred sky\nred sky background\nred sky blue\nred smoke\nred smoke coming from lamp\nred smoke follows his movement\nred son\nred spike aura in motion\nred sport clothing\nred spotlight\nred sprites in the atmosphere\nred square\nred square moscow\nred stormy sky\nred stripe\nred suit\nred sun\nred sun in the background\nred sun over paradise\nred sunglasses\nred sunglasses and a guitar\nred sunset\nred sweatband\nred sweater and gray pants\nred swirls\nred t-shirt\nred tail lights\nred tailcoat\nred tank top and wide blue pants\nred tank-top\nred tears\nred theme\nred tie\nred tint\nred tones\nred torn fabric\nred trees\nred trusses\nred turquoise accents\nred umbrella\nred uniform\nred veins\nred velvet\nred velvet furniture\nred vest\nred waist-long hair\nred wall\nred wallpaper background\nred wallpaper design\nred warning lights\nred water\nred weapon 8 k s 3 5\nred weapon 8k s 35\nred webs\nred webs and fungus\nred white and black\nred white and black color scheme\nred white and black colors\nred white and gold color scheme\nred white background\nred white black colors\nred wig\nred wine\nred wings\nred wires wrap around\nred woods canopy\nred woods canopy love\nred writing\nred yellow\nred yellow black\nred yellow blue\nred yellow flag\nred!! sand\nred+yellow colours\nred-eyed\nred-eyes\nred-fabric\nred-purple gradient map\nred-yellow colors\nredahair and attractive features\nreddish\nreddish - brown\nreddish beard\nreddish exterior lighting\nreddish gold hair\nreddish hair\nreddish lava highlights\nreddish lighting\nreddit meme\nreddit moderator\nreddit post\nreddit vexillology\nredering\nredgold hair\nredhead\nredhead female cyberpunk\nredhead girl\nredhead queen in heavy red armor\nredhead woman\nredlettermedia\nredneck\nredneck country\nredneck engineering\nrednered with raytracing\nredpink sunset\nreds\nreds)\nredscale photography\nredsfhit render\nredshift\nredshift houdini\nredshift render\nredshift renderer\nredshift vibes\nredshift. micro details\nredsinski\nreduce character duplication\nreduce duplicate content\nreduce duplicate image\nreduce duplication\nreduce duplication interference\nreduce saturation\nreduced colors\nreduced contrast\nreduced minimal illustration\nreduced visibility\nredundancy\nredwall\nredwood background\nredwood forest\nredwood forest themed armor\nredwood sequoia trees\nredwood trees\nredwoods\nreebok\nreed on riverbank\nreed richards\nreeds\nreef\nreefs\nreese witherspoon\nreese witherspoon face\nrefer to late timothy leary\nreference\nreference art\nreference images ( front\nreference model sheet\nreference sheet\nreference sheet white background\nrefik anadol\nrefined\nrefined editorial photograph\nrefined face\nrefined face and muzzle\nrefined features\nrefined nose\nrefined spontaneity\nreflect\nreflect 8 k uhd\nreflect 8k uhd\nreflect photograph\nreflected chrome\nreflected in giant mirror\nreflected light\nreflecting\nreflecting an erupting volcano\nreflecting flower\nreflecting light\nreflecting light in a nightclub\nreflecting mount fuji\nreflecting pool\nreflection\nreflection and refraction\nreflection echo\nreflection in the water\nreflection in water\nreflection lumen mapping\nreflection map\nreflection of iphone in visor\nreflection of led lights\nreflection of phone in visor\nreflection of the moon\nreflection on helmet\nreflection on the oil\nreflection on the water\nreflection on water\nreflection puddles\nreflections\nreflections and refraction\nreflections and refractions\nreflections in copper\nreflections on a glass table\nreflections on the river\nreflections on the water\nreflections on wet streets\nreflections ray\nreflections smooth\nreflections specular highlights\nreflections. by makoto shinkai\nreflections. shady\nreflective\nreflective aviator sunglasses\nreflective chessboard\nreflective chitin\nreflective detailed textures\nreflective eyes\nreflective faces\nreflective floor\nreflective glass\nreflective global illumination\nreflective gradient\nreflective ground\nreflective lavender ocean water\nreflective lens\nreflective light\nreflective lighting\nreflective material\nreflective metal\nreflective metallic\nreflective objects\nreflective orchid flower\nreflective pool\nreflective puffer jacket\nreflective puffy coat\nreflective scales\nreflective skin\nreflective suit\nreflective sunglasses\nreflective surface\nreflective surfaces\nreflective vest\nreflective visor\nreflective water\nreflective water koi pond\nreflective windows\nreflects\nreflexes\nreflexions\nrefracted\nrefracted color lines\nrefracted color sparkles\nrefracted light\nrefracted lighting\nrefracted line and sparkles\nrefracted lines and sparkles\nrefracted moon on the ocean\nrefracted moon sparkles\nrefracted sparkles\nrefracted sunset\nrefracted sunset lighting\nrefracting\nrefracting light\nrefraction\nrefraction and reflection\nrefraction caustics\nrefraction lights\nrefractions\nrefractions on lens\nrefractive\nrefractive adornments\nrefractive and reflective\nrefractive crystal\nrefractive crystal jewelry\nrefractive light\nrefractive optics\nrefreshing\nrefreshing colour\nrefrigerated storage facility\nrefrigerator\nrefugees\nreg rutkowski\nregal\nregal aesthetic\nregal and menacing visage\nregal and proud robust woman\nregal clothing\nregal dark blue clothes\nregal fast food joint\nregal pose\nregale\nregency\nregency-era\nregeneration\nreggae\nreginald marsh\nregister\nregret\nregrets\nregular build\nregular sized\nrei ayanami\nrei hino as a princess\nrei hiroe\nrei hiroe black lagoon manga\nrei kawakubo artwork\nreimagined by industrial light and magic\nreimu hakurei\nreina rocin\nreinassance\nreinassance painting\nreinassance style\nreincarnated as a slime\nreincarnation\nreindeer made out of shadows\nreinhardt from overwatch\nreisen udongein inaba\nreivaille\nrejected concepts\nrelatable\nrelax\nrelaxed\nrelaxed colors\nrelaxed dwarf with white hair\nrelaxed expression\nrelaxed eyebrows\nrelaxed octopus on moon\nrelaxed pose\nrelaxed poses\nrelaxed posture\nrelaxed style\nrelaxed. blue background\nrelaxed. gold background\nrelaxing\nrelaxing after a hard day\nrelaxing and smiling at camera\nrelaxing at the beach\nrelaxing atmosphere\nrelaxing calm vibes\nrelaxing concept art\nrelaxing environment\nrelaxing mood\nrelaxing on a couch\nrelaxing on a modern couch\nrelaxing on a yacht at sea\nrelaxing on the beach\nrelaxing on the beach at sunset\nrelaxing on the couch\nreleasing pain\nrelentlessly detailed\nrelic\nrelief\nrelief concept\nrelief engraving\nrelief sculpture\nreligion\nreligious\nreligious art\nreligious awe\nreligious composition\nreligious iconography\nreligious imagery\nreligious masterpiece portrait\nreligious painting\nreligious robes\nreligious sculpture\nreligión\nreliquary\nrelish\nrelistic\nreluvy5213\nrem koolhaas\nrem rezero\nremains\nremake\nremarkable\nremarkable geisha make up\nremarkable joker make up\nremaster\nremastered\nremastered chromatic aberration\nrembrandt and gigadō ashiyuki\nrembrandt art style\nrembrandt exhibition\nrembrandt light\nrembrandt lighting\nrembrandt lighting 35mm\nrembrandt lighting scheme\nrembrandt lightning\nrembrandt oil\nrembrandt oil painting\nrembrandt painting\nrembrandt style\nrembrandt style painting\nrembrandt!\nrembranlt\nrembrant\nremedios varo uranga\nremedios varo y salvador dali\nremembering his life\nremembrance\nremilia scarlet from touhou\nreminded me of the grim reaper\nreminiscent of blade runner\nremnants of old spaceship\nremote control disco backpack\nremote icelandic village\nremove\nremove duplicate content\nremove duplicate content!!!!\nremoved watermarks\nren and stimpy\nren and stimpy style\nren heng\nren xun and maruyama ōkyo\nrena nounen style 3/4\nrenaissance\nrenaissance ambiance\nrenaissance art\nrenaissance art style\nrenaissance artwork\nrenaissance autumnal\nrenaissance color palette\nrenaissance colorful dress\nrenaissance composition\nrenaissance digital painting\nrenaissance drawing\nrenaissance era\nrenaissance era clothing\nrenaissance fair\nrenaissance lighting\nrenaissance mural\nrenaissance nimbus overhead\nrenaissance oil painting\nrenaissance oil portrait\nrenaissance painting\nrenaissance painting of a knight\nrenaissance painting of evil men\nrenaissance painting of man\nrenaissance painting style\nrenaissance painting'\nrenaissance painting”\nrenaissance port city background\nrenaissance portrait\nrenaissance prince\nrenaissance religious art\nrenaissance religious painting\nrenaissance still life painting\nrenaissance style\nrenaissance style painting\nrenaissance themed\nrenaissance!!! painting!!!\nrenaissancepainting\nrenamon\nrenascentist\nrenata glasc\nrenato muccillo\nrenault\nrenault ultimo\nrender\nrender 3 d\nrender 8 k\nrender 8k\nrender amazing\nrender corona\nrender in blender\nrender in octane\nrender in pixar\nrender in re engine\nrender in unreal engine 5\nrender in vray\nrender naughty dog\nrender octane\nrender of a cute 3d anime girl\nrender of april\nrender of futuristic supercar\nrender of heavy fantasy armor\nrender of mirabel madrigal\nrender pixar palette\nrender to resolute perfection\nrender unreal engine\nrender unreal engine - h 7 0 4\nrender unreal engine - h 704\nrender unreal engine-h 704\nrender vray\nrendered\nrendered 3d model\nrendered art\nrendered illustration\nrendered image\nrendered in 3 dsmax\nrendered in 32k huhd\nrendered in 4 k\nrendered in 8 k unreal engine\nrendered in 8k unreal engine\nrendered in arnold\nrendered in arnold engine\nrendered in blender\nrendered in cgi\nrendered in cinema 4 d\nrendered in cinema 4 d octane\nrendered in cinema4d\nrendered in corona\nrendered in cryengine\nrendered in enscape\nrendered in gouache painting\nrendered in high octane\nrendered in houdini\nrendered in keyshot\nrendered in lumion\nrendered in lumion pro\nrendered in maya\nrendered in maya 4 d\nrendered in maya and houdini\nrendered in nvidia's omniverse\nrendered in octane\nrendered in octane 3d\nrendered in octane render\nrendered in octane render 32k\nrendered in pov - ray\nrendered in povray\nrendered in redshift\nrendered in renderman\nrendered in rtx\nrendered in sfm\nrendered in the unreal engine\nrendered in unity 3 d\nrendered in unreal\nrendered in unreal 5\nrendered in unreal engine\nrendered in unreal engine 3\nrendered in unreal engine 3d\nrendered in unreal engine 4 k hq\nrendered in unreal engine 4k hq\nrendered in unreal engine 5\nrendered in unreal engine 6\nrendered in unreal engine”\nrendered in unrealengine\nrendered in v-ray\nrendered in vray\nrendered in zbrush\nrendered lighting\nrendered on octane\nrendered on unreal 3 d\nrendered unreal engine 5\nrendered with blender\nrendered with octane\nrendered with renderman\nrendered with substance designer\nrendered with unreal engine\nrenderer\nrenderfarm\nrenderhub\nrenderhub next2020\nrendering\nrendering 8 k\nrendering 8k\nrendering a blue rose\nrendering of beauty pageant\nrendering of checkmate\nrendering of close up portrait\nrendering of log pile factory\nrendering of the windigo\nrendering on unreal engine\nrendering unreal engine 5\nrenderman\nrenderman render\nrending on cgsociety\nrendred in redshift\nrene lalique\nrene lalique and eddie mendoza\nrene magritte. detailed\nrene magritte. hyperdetailed\nrene margitte\nrene margitte illustrated\nrene margritte\nreneissance\nrenewable energy\nrengen\nrennaisance\nrennaisance painting\nrennaissance masters portrait\nrennaissance painting\nrennaissance style painting\nrennes - le - chateau\nrenzo piano\nrené laloux\nrepaired with kintsugi\nrepairing the other one\nrepeat pattern\nrepeatable\nrepeating\nrepeating 3 5 mm photography\nrepeating 35 mm photography\nrepeating 35mm photography\nrepeating fabric pattern\nrepeating pattern\nrepeating pattern. seamless\nrepeating patterns\nrepetition\nrepetitive\nrepetitiveness\nrepin\nreplica model\nreplicas\nreportage\nreportage photo\nreportage photography\nrepoussoir\nrepresentation with abstraction\nrepresentative portrait\nrepresenting ed harris\nrepresenting liberty\nrepresenting the 4 seasons\nrepsol honda\nreptil\nreptile\nreptile eyes\nreptile face\nreptile skin\nreptiles\nreptilian\nreptilian cyborg\nreptilian eyes\nreptilian skin\nreptilian slime\nreptilian space alien\nreptilian warrior\nreptoids\nrepublic of gamer\nrepugnant\nrepulsion\nrepulsive\nrescalated 4 k\nrescalated 4k\nrescue from the underworld\nrescue from the underworld!!!!!!\nresearch center\nresearch complex\nresearch outpost\nresearch station\nresembling a crown\nresembling a mix of grimes\nreservoir dogs\nreshift 3 d\nresident evil\nresident evil 1\nresident evil 4\nresident evil 7\nresident evil inspired\nresident evil virus concept art\nresidential\nresidential area\nresidential design\nresignation\nresin\nresin and clay art\nresin art\nresin coated\nresin miniature\nresin painting\nresin statue\nresine figure\nresistance\nresistance is futile\nresolute desk\nresolute expression\nresolution\nresolve\nresonance of fate tower art\nresort\nresources background\nrespirator\nrespiratory flap\nresplendent\nresplendent and proud of bearing\nresponsive\nrestaurant\nrestaurant exterior photography\nrestaurant in background\nrestaurant interior photography\nrestaurant menu photo\nrestaurant!\nrestaurant!!\nrestaurant!!!\nresting\nresting after a hard fight\nresting after a hard mission\nresting head on hands\nresting on a pillow\nresting on a tough day\nresting on chest\nresting on his throne\nrestomod\nrestoration\nrestored\nrestored color\nrestored colors\nrestored painting\nrestored photo\nrestrained\nrestrained. bloom\nretail price 4 5 0\nretaildesignblog\nretaildesignblog.net\nretarded\nretarded wolf\nretarded wolf portrait\nretired barney\nretopology\nretouched\nretouched in photoshop\nretracing\nretro\nretro - futurism\nretro - futuristic\nretro - vintage\nretro 1 9 0 0\nretro 1 9 6 0 s sci - fi art\nretro 1 9 7 0 s kodachrome\nretro 1960 s sci - fi art\nretro 3 d\nretro 3 d graphics\nretro 3d graphics\nretro 5 0 s style\nretro 6 0 s fashion\nretro 9 0 s\nretro 9 0 s japanese\nretro 90 s japanese\nretro ad\nretro aesthetic\nretro and 1 9 8 0 s style\nretro and 1980 s style\nretro and ethereal\nretro and fantasy style\nretro anime\nretro anime girl\nretro architecture\nretro armor\nretro art\nretro art style\nretro artwork\nretro atmosphere\nretro cartoon\nretro color scheme\nretro coloring\nretro colors\nretro colour\nretro comic art style\nretro computer graphics\nretro cover\nretro cyberpunk\nretro dark vintage\nretro dark vintage sci-fi\nretro design\nretro device\nretro effect\nretro fantasy\nretro fantasy style\nretro flat colors\nretro future\nretro futurism\nretro futurism 1 9 5 0 s\nretro futurism 1950 s\nretro futurism art\nretro futurism style\nretro futurist\nretro futurist style\nretro futuristic\nretro futuristic apartment\nretro futuristic comics\nretro futuristic fashion\nretro futuristic illustration\nretro futuristic style\nretro game\nretro game 1 9 8 0 style\nretro game 1980 style\nretro games\nretro graphics\nretro haze\nretro illustration\nretro label\nretro lights\nretro line art\nretro machinery\nretro movie poster\nretro nintendo bitmap pixel art\nretro pc graphics\nretro photography\nretro pink synthwave style\nretro pinup model\nretro poster\nretro psychedelic illustration\nretro pulp art\nretro punk\nretro sci - fi\nretro sci - fi art\nretro sci - fi movie\nretro sci - fi picture\nretro sci fi\nretro sci fi film\nretro sci-fi\nretro sci-fi spaceship\nretro science fiction\nretro science-fiction book cover\nretro scifi\nretro space helmet\nretro spaceships parked outside\nretro style\nretro style art\nretro style ”\nretro stylised\nretro tech\nretro technology\nretro tv\nretro vibe\nretro vintage\nretro vintage and romanticism\nretro vintage art\nretro vintage sci - fi\nretro vintage screens\nretro wave\nretro-future\nretro-futurism\nretro-futuristic\nretro-futuristic armor\nretro-wave vibes\nretrocore\nretrofutistic\nretrofutur\nretrofuture\nretrofuturism old rct screen\nretrofuturism sci - fi old movie\nretrofuturist\nretrofuturist liminal space\nretrofuturistic\nretrofuturistic depressing\nretrofuturistic digital painting\nretrofuturistic female android\nretrofuturistic science fantasy\nretropunk\nretroscifi\nretrowave\nretrowave ((synthwave))\nretrowave art\nretrowave atmosphere\nretrowave color palette\nretrowave color scheme\nretrowave colors\nretrowave colour scheme\nretrowave epic art\nretrowave noir\nretrowave palette\nretrowave style\nretrowave synthwave\nretrowave vibes\nretrowave!\nretrowaves\nreturn of the jedi\nreturn of the king. cinematic\nreturn of the many to the one\nreturnal biome\nreuben wu\nreunion island\nreunion island landscape\nreuniting\nreuters\nrevealing\nrevealing clothes\nrevealing outfit\nrevealing stylish dress\nrevealing wires and electronics\nrevelation\nrevellers\nrevenant\nrevenge\nrevenge of the sith\nreveries\nreversal film stock\nreverse\nrevolution\nrevolutionary\nrevolutionary art style\nrevolver\nrevolver on chair\nrevolvers\nrevy black lagoon\nrevy from black lagoon\nrex orange county\nrey\nrey and kylo ren\nrey tracing\nreyezuelo listado\nreykjavik\nreykjavik junior college\nreylo kissing\nreynold brown\nreyyan\nreza afshar\nrgb\nrgb color\nrgb crt scanlines\nrgb displacement\nrgb ethereal lighting\nrgb gamer toilet\nrgb keyboard\nrgb led\nrgb led lights\nrgb lighting\nrgb lights\nrgb shift\nrgb wall light\nrgb wires\nrgba\nrgba color\nrgba colors\nrgp artwork\nrhads\nrhads and lois van baarle\nrhads and thomas kinkade\nrhads watercolor\nrhads!\nrhads!!!\nrhett and link\nrhino\nrhino beetle\nrhino rendered\nrhinoceros 3d\nrhinoceros playing badminton\nrhizomatic lifeform\nrhizomatic network\nrhizomorphs\nrhizomuse\nrhode island\nrhys lee\nrhythm\nrhythm & hues\nrhythm hues\nrhythm of the wind\nrhythmic\nriabovitchev\nrias gremory\nrib cage\nrib cage exposed\nribbed man face portrait\nribbon\nribbon chapel\nribbon in her hair\nribbons\nribbons and flowers\nribcage\nribs\nric flair\nricardo milos\nriccardo federici\nriccardo scamarcio\nrice\nrice paddies\nrice paper texture\nrich\nrich and deep colors\nrich and gaudily\nrich aquarel\nrich atmosphere\nrich aztec jaguar armor\nrich azure tones\nrich blue color\nrich blue colors\nrich bright colors\nrich bright colours\nrich bright sunny colors\nrich cinematic atmosphere\nrich cold moody colours\nrich color\nrich color palette\nrich colors\nrich colour\nrich colour and detail\nrich colour scheme\nrich colourful\nrich colours\nrich composition\nrich contrast\nrich decaying bleeding colors\nrich decaying colors\nrich decaying colors!\nrich deep color scheme\nrich deep colors\nrich deep colors a masterpiece\nrich deep colors masterpiece\nrich deep colors. a masterpiece\nrich deep colors. masterpiec\nrich deep colors. masterpiece\nrich deep colours\nrich deep colours masterpiece\nrich deep moody color\nrich deep moody colors\nrich deep pink\nrich deep vibrant colors\nrich deep vivid colours\nrich detail\nrich detailed pixels\nrich details\nrich details full of texture\nrich diverse lush alien world\nrich drapery\nrich environment\nrich estate\nrich ethereal colours\nrich evans\nrich flower colors\nrich forest\nrich fresh colors\nrich geometry\nrich grainy texture\nrich greenery\nrich house\nrich in details\nrich in texture\nrich in texture )\nrich iridescent colors\nrich iridescent specular colors\nrich lighting\nrich marbles\nrich moody atmosphere\nrich moody cold colours\nrich moody colors\nrich moody colour\nrich moody colours\nrich moody dark atmosphere\nrich palette\nrich pastel color palette\nrich pastel colors\nrich picturesque colors\nrich red\nrich red colors\nrich style\nrich texture\nrich tree\nrich vibrant colors\nrich vibrant detailed textures\nrich vines and verdant flowers\nrich vivid color\nrich vivid color scheme\nrich vivid colors\nrich vivid pastel colors\nrich vivid vibrant colors\nrich volumetric light\nrich with epic details\nrich woodgrain\nrichard amsel\nrichard corben style\nrichard garriott\nrichard iv the roman king\nrichard iv the roman king photo\nrichard kane - ferguson\nrichard mille\nrichard nixon\nrichard pearce\nrichard rider\nrichard scarry\nrichard sigamani\nrichard taddei\nrichly colored\nrichly decorated victorian house\nrichly defined face\nrichly detailed\nrichly detailed colored\nrichly textured\nrick and morty\nrick and morty in minecraft\nrick and morty in real life\nrick and morty pickle rick\nrick and morty style\nrick astley\nrick baker\nrick baker style\nrick berry\nrick dai\nrick from rick and morty\nrick grimes\nrick grimes line art\nrick guidice\nrick owens\nrick sanchez\nrick sanchez in real life\nrickroll\nricky berwick\nride horse\nride horse in saharan\nride on time\nride the wind and waves\nrider waite card\nrider-waite tarot\nrides\nrides a bike\nridiculous\nridiculous smile\nridiculously handsome\nriding\nriding a bike\nriding a black horse\nriding a camel\nriding a cyborg raptor\nriding a dragon\nriding a futuristic motorcycle\nriding a giant silver wolf\nriding a hippo\nriding a horse\nriding a horse on the moon\nriding a horse!!! in saharan\nriding a motorbike\nriding a motorbike down a street\nriding a motorcycle\nriding a skateboard\nriding a skateboard in berlin\nriding a unicorn\nriding boots\nriding horse\nriding in the sky\nriding in the town of doom\nriding on a prancing horse\nriding on the moped scooter\nriding on the road\nriding steampunk motorcycle\nridley scott and zack snyder\nridley scott film\nridley scott movie\nridley scott universe\nriffle\nriffle on chest\nrifle\nriflegun\nrifles\nriften\nriften city in the background\nright - half a cheerful face\nright - side composition\nright align\nright anatomy\nright angled view\nright angles\nright elevation\nright hand side profile\nright side composition\nright side key light\nright side profile\nrigid\nrigid bulky armor\nrigidly defined abs\nrigorous\nrihanna\nriichi ueshiba\nrik oostenbroek\nrim - light\nrim highlights\nrim lght\nrim light\nrim light and highlights\nrim light on character\nrim light smooth\nrim light style tim burton\nrim lighting\nrim lights\nrim lights and caustics\nrim lights and glow\nrim lights purple and green\nrim lights wlop\nrim lit\nrim-light\nrimight\nrimlight\nrimuru\nrimuru and milim\nrimuru playing chess\nrimuru tempest\nrin\nrin tohsaka\nrinat voligamsi\nring\nring - flash\nring flash closeup photograph\nring in the sky\nring light\nring lighting\nring lit\nring of fire\nringed planet in the sky\nringflash\nringflash lighting\nringlet\nrings\nrings asuka iwakura station game\nringworld\nrinko kawaichi\nrinko kawauchi\nrino\nrio de janeiro\nrio de janeiro favela\nrio de janeiro in an anime film\nriot\nriot background\nriot entertainment\nriot entertainment realistic\nriot game\nriot games\nriot games concept art\nriot in a cyberpunk city\nriot shields\nrioting\nriotous\nrip\nrip and tear\nripley\nripley scott\nripped\nripped clothes holding whip\nripped clothing\nripped fabric\nripped flesh\nripped jeans\nripped pantyhose\nripped to shreds\nripped up field fatigues\nripped up white garment\nripping demons to shreds\nripping the fabric of spacetime\nripple\nripple effect\nrippled white landscape\nripples\nrippling\nrippling dark cinnamon hair\nrippling electromagnetic\nrippling fabric of reality\nrippling liquid\nrippling magic\nrippling muscles\nrippling oceanic waves\nrippling reflections\nrippling trees\nrippling water\nrippling with magic\nrips\nrise above clouds\nrise of the tomb raider\nrising from a crypt\nrising from mountain range\nrising from ocean\nrising from the void\nrising in the air levitating\nrising planet\nrising smoke\nrising steam\nrising up from ocean\nriske\nrisograph\nrisograph gradient\nrisograph poster\nrisograph print\nrisograph!\nrisograph!!!\nrisographic\nrisography print\nrisoprint\nrisque\nrisque fashion\nristan eaton\nritu kumar\nritual\nritual in a forest\nritual occult gathering\nritualistic\nritualistic tattoos\nrituals\nriven\nriven from league of legends\nrivendell\nriver\nriver and trees and hills\nriver at the bottom\nriver confluence\nriver delta\nriver flow through borneo jungle\nriver flowing beside the robot\nriver flowing through a wall\nriver god\nriver gorgeous lighting\nriver in a forest\nriver in front of him\nriver in the background\nriver in the wood\nriver island\nriver of blood\nriver of blue fire\nriver of wine\nriver otter dragon\nriver rapids\nriver running past the cottage\nriver running through it\nriver running thru the middle\nriver stour in canterbury\nriver stream\nriver styx\nriver thames\nriver with low flying parrots\nriver with low hanging plants\nriver with stunning water\nriverdale\nrivers\nrivers and lakes\nrivers of blood\nrivers. space colony\nriverside\nrivets\nrivuletpaper art\nrivulets\nriyahd cassiem\nriyoko ikeda\nrj palmer\nrk post\nrna bioweapon\nroad\nroad between hills\nroad between tall trees\nroad bike helmet\nroad california desert\nroad in a forest road\nroad into the forest with a lake\nroad street signs\nroad to perdition\nroad to perdition stillframe\nroad to the sea\nroad trip\nroad trip exciting\nroad warrior\nroadhog from overwatch\nroads\nroads among fields\nroadside\nroadster\nroald dahl\nroaming entertainers\nroaming the colony\nroaring\nroaring 20s\nroaring blue lion. majestic\nroaring fire\nroaring mutant goat monster\nroaring ocean in front\nroaring twenties\nrob\nrob and hildebrandt\nrob bottin\nrob gonsalves and tim white\nrob gonsavles\nrob janoff\nrob lee\nrob mcnaughton\nrob rey\nrob rey and kentaro miura style\nrob rey and kentarõ miura\nrob rey and kentarõ miura style\nrob ross\nrob schneider\nrob schneider is a stapler\nrobb cobb\nrobb stark\nrobbery\nrobe\nrobe. extremely high details\nrobe. perfect face\nrobe. perfect faces\nrobed\nrobed figures sat around a table\nrobed renaissance scholar\nrobert ayton\nrobert capa\nrobert cleminson\nrobert colescott painting\nrobert crumb photorealism\nrobert crumb style\nrobert de niro as medieval joker\nrobert downey jr\nrobert galbraith\nrobert hubert\nrobert kinoshita\nrobert kondo\nrobert lumley\nrobert maplethorpe\nrobert plant\nrobert richardson\nrobert rubert and john martin\nrobert sheehan\nrobert siodmak\nrobert t. mccall\nroberto benardi\nroberto bernardi\nroberto ferri and ruan jia\nrobes\nrobes with golden characters\nrobes! intricate\nrobesintricate\nrobh ruppel\nrobin\nrobin eley\nrobin hood\nrobin williams\nrobin williams as the joker\nrobin williams is god\nroblox\nroblox avatar\nroblox screenshot\nrobocop\nrobocop duck\nrobocop portrait\nrobot\nrobot anatomy elements\nrobot animal\nrobot arm\nrobot arm skeleton\nrobot arms\nrobot art cracking the road\nrobot barkeep\nrobot bird\nrobot bishop guards\nrobot body\nrobot cat\nrobot cat paws for feet\nrobot chicken\nrobot city ruins\nrobot concept art\nrobot cyborg\nrobot cyborgs\nrobot design\nrobot destruction\nrobot dog\nrobot dragon claws\nrobot dragon feet\nrobot dragon four fingered hands\nrobot dragon hands and feet\nrobot dragon head\nrobot duck concept portrait\nrobot eye\nrobot eyes\nrobot face\nrobot face bust\nrobot factory\nrobot ghost mask\nrobot girl\nrobot guards\nrobot hands\nrobot head\nrobot head and man head\nrobot helmet bust\nrobot icon\nrobot in a server room\nrobot in construction\nrobot in data center\nrobot killing man\nrobot lion\nrobot lurks in the background\nrobot machinery\nrobot made of a cardboard box\nrobot made of jet parts\nrobot made of truck parts\nrobot mecha female dragon head\nrobot metallic armor\nrobot mode\nrobot model kit\nrobot monster in background\nrobot ninja\nrobot overlord in the year 3499\nrobot overlords\nrobot painting a robot on canvas\nrobot parts\nrobot photography\nrobot pirate\nrobot pope\nrobot portrait\nrobot punk futuriste geometrie\nrobot religion\nrobot repair shop\nrobot repair workshop\nrobot revolution\nrobot seizes the forest crown\nrobot shadow\nrobot shaped like a rubber duck\nrobot skeleton\nrobot stand - off\nrobot suit\nrobot torso\nrobot warrior\nrobot with human face\nrobot wizard\nrobot!\nrobot's heart-shaped fingers\nrobotech styling\nrobotic\nrobotic anthro dolphin\nrobotic arm\nrobotic arms\nrobotic bionic technical\nrobotic body\nrobotic bust\nrobotic cactus design\nrobotic cat\nrobotic drones\nrobotic enhancements\nrobotic extended arms\nrobotic eye\nrobotic eyes\nrobotic face\nrobotic faces\nrobotic feeling\nrobotic head\nrobotic left arm\nrobotic limb\nrobotic limbs\nrobotic limbs on floor\nrobotic machinery\nrobotic machines\nrobotic mech parts\nrobotic octopus\nrobotic parts\nrobotic pig\nrobotic platform\nrobotic prosthetic arm\nrobotic prosthetic limbs\nrobotical\nrobotics\nrobots\nrobots drinking alcohol\nrobots fight\nrobots heart-shaped fingers\nrobots queue up for ice cream\nrobust\nrobust stocky body\nrobustly ordinated\nrocco\nrocha\nrock\nrock and dust\nrock and sand around\nrock arches\nrock arcs\nrock art\nrock art drawings\nrock band\nrock cave painting\nrock climber\nrock climbers climbing a rock\nrock climbing\nrock columns\nrock concert\nrock details joints\nrock edge\nrock formations\nrock monster\nrock movie\nrock music\nrock musicians on the stage\nrock n roll\nrock painting\nrock plateau\nrock pools\nrock quarry location\nrock roof\nrock star\nrock texture\nrock wall\nrock walls\nrockabilly\nrockabilly band 1950s\nrockabilly hair\nrockabilly style\nrocket\nrocket launch\nrocket launcher\nrocket launchers\nrocket launching\nrocket launching into the sky\nrocket league\nrocket league tank\nrocket raccoon\nrocket ship\nrockets\nrocking out\nrocks\nrocks and metal\nrocks coming out of the ground\nrocks falling\nrocks flying\nrocks)\nrockstar games\nrockstar games art\nrockwell\nrocky\nrocky beach\nrocky cliff\nrocky cliffs\nrocky coast\nrocky desert\nrocky environment\nrocky foreground\nrocky grass field\nrocky ground\nrocky ground with a dirt path\nrocky hills\nrocky lake shore\nrocky landscape\nrocky meadows\nrocky mountains\nrocky mountains and a river\nrocky mountains in background\nrocky roads\nrocky seashore\nrocky shore\nrocky terrain\nrococco\nrococo\nrococo and art nouveau\nrococo and art nouveau fusion\nrococo and baroque styles\nrococo architecture\nrococo art\nrococo art style\nrococo baroque\nrococo color palette\nrococo color scheme\nrococo cyber neon lighting\nrococo cyberpunk\nrococo decorations\nrococo details\nrococo dress\nrococo elements\nrococo fashion\nrococo mechanical\nrococo mechanical and electronic\nrococo oil painting\nrococo onyx headpiece\nrococo ornament\nrococo painting\nrococo portrait\nrococo queen\nrococo ruffles dress\nrococo style\nrococo style portrait\nrococo!\nrod rays\nrodent\nrodger dean\nrodin\nrodin style\nrodney mathews\nrodney matthew\nrodrigo duterte\nroge antonio\nroger deakin  s cinematography\nroger deakin ’ s cinematography\nroger deakin's cinematography\nroger deakins cinematography\nroger deakins filming\nroger deakin’s cinematography\nroger deal\nroger dean and alexander jansson\nroger dean and andrei tarkovsky\nroger deankins\nroger magrini\nroger moore\nroger moore as james bond\nroger rabbit\nrogue\nrogue anime girl\nrogue anime girl ayanami rei\nrogue bard\nrogue class warrior class\nrogue thief\nrogue trooper\nroguelike\nroguelike style\nroguish\nroguish smirk\nrojava\nrokoko\nroland\nrolands zilvinskis 3d render art\nroleplay\nroleplaying\nroleplaying game art\nrolex\nrolf klep\nroll 2 0\nroll 20\nroll20\nrollei 3 5 camera\nrollei 35 camera\nrolleiflex\nrolleiflex tlr\nroller coaster\nroller coasters\nroller skating\nrollerbladers\nrollerblades\nrollerblading\nrollercoaster\nrollerskaters\nrollerskates\nrolling dice\nrolling fog\nrolling foothills\nrolling green hills\nrolling hills\nrolling mountain\nrollingstone magazine\nroma\nromain jouandeau\nroman\nroman architecture\nroman armor\nroman bath\nroman catholic icon\nroman centurion\nroman city\nroman coliseum\nroman columns\nroman emperor\nroman empire\nroman face\nroman festival backdrop\nroman gladiator\nroman goddess\nroman historic works\nroman legionnaire\nroman monuments\nroman mosaic\nroman myth\nroman nose\nroman numerals\nroman pillars\nroman sculpture\nroman setting\nroman shipunov\nroman style\nroman toga\nroman vlasov\nromance\nromance book cover\nromance book cover style\nromance fantasy movie\nromance novel cover\nromanesco broccoli\nromanesque style\nromanesque style statue\nromanian\nromanian heritage\nromanized: al-kaʿbah\nromantic\nromantic ambiente\nromantic atmosphere\nromantic comedy\nromantic couple\nromantic dress\nromantic era painting\nromantic gown\nromantic greenery\nromantic impressionism\nromantic landscape\nromantic lead\nromantic light\nromantic lighting\nromantic mood\nromantic painting\nromantic period\nromantic scene\nromantic simple path traced\nromantic storybook fantasy\nromantic style\nromantic themed\nromantic undertones\nromantic!!!\nromanticism art style\nromanticism artwork\nromanticism lain\nromanticism landscape painting\nromanticism painting\nromanticism portrait\nromanticism style\nromanticist\nromanticist oil painting\nromanticist oil painting ”\nromanticist style\nromantisism\nromantism\nrome\nrome backdrop\nrome in background\nromeo and juliet\nromero ressendi\nron\nron cobb\nron cobb. cinestill\nron desantis as satan\nron english and eiichiro oda\nron hicks\nron mueck\nron perlman\nron weasley\nronald mcdonald\nronald mcdonald as a muppet\nronald reagan\nronald reagan wearing a bikini\nronaldo fenomeno\nronaldo luis nazario da lima\nronaldo luis nazario de lima\nronaldo nazario\nronaldo nazario fenomeno\nrondel\nronen bekerman\nrongier\nronin\nroof background\nroof garden\nroof with vegetation\nroofed forest\nroofing tiles texture\nroofs\nrooftop\nrooftop party\nrooftop romantic\nrooftop solar panels\nroom\nroom full of candles\nroom full of computers\nroom full of plants\nroom interior\nroom is full of people\nroom is on fire\nroom lighting\nroom mono window\nroom of a dark mansion\nroom of a spacecraft\nroom of the nameless painter\nroom shot\nroom with eerie feeling\nroomies\nrooster\nrooster!!!!\nroot\nroot system\nroot trap\nrooted lineage\nroots\nroots and hay coat\nroots and thorns\nroots dangling below\nroots underwater\nrope\nrope bondage\nrope bridge\nrope bridges\nropes\nropes and chains\nropes and chains in background\nroronoa zoro\nrorsach path traced\nrorschach\nrorschach test\nrosa bonheurn\nrosalia\nrosalia vila i tobella\nrosamund pike as the doctor\nrose\nrose background\nrose crown\nrose garden\nrose gold\nrose gold heart\nrose hair\nrose in hair\nrose of jericho\nrose petals\nrose petals flying in the wind\nrose pink lighting\nrose quartz\nrose tattoo\nrose thorn crown\nrose tones\nrose twining\nrose-brambles\nroseanne park of blackpink\nrosen maiden\nrosen zulu\nrosenthal\nroses\nroses and lush fern flowers\nroses and tulips\nroses background\nroses in cinematic light\nroses in hands\nroses in her hair\nroses made of colorful smoke\nrosette\nrosetti\nrosetti and monet\nrosey cheeks\nroshan\nross\nross and aivazovsky\nross draws\nross geller screaming\nross tan\nross tran 8 k\nross tran 8k\nross tran and artgerm\nross tran and bayard wu\nross tran and ilya kuvshinov\nross tran and makoto shinkai\nross tran and michael whelan\nross tran and studio ghibli\nross tran and wlop\nross tran style\nross tran!!!\nross tran. scenic background\nrossbach\nrossdraw\nrossdraws\nrossdraws  afrofuturism\nrossdraws 1. 0\nrossdraws 2. 0\nrossdraws 2. 5\nrossdraws and boris vallejo\nrossdraws and jazza\nrossdraws cartoon vibrant\nrossdraws digital painting\nrossdraws global illumination\nrossdraws pastel vibrant\nrossdraws portrait\nrossdraws sakimimichan\nrossdraws volumetric lighting\nrossdraws | afrofuturism\nrossdtaws\nrosses\nrossetti\nrossetti bouguereau\nrossier\nrostov\nrostov city\nroswell air base\nrosy cheeks\nrosy cheeks with freckles\nrot\nrotary symmetrical\nrotated\nrotated left right front back\nrotating\nrotational symmetry\nroth's drag nut fuel\nrothko\nroths drag nut fuel\nrotoscope\nrotoscoped\nrotoscoping\nrotten\nrotten flesh\nrotten gold\nrotten green skin\nrotten moldy black mold\nrotten teeth\nrotten textures\nrotten wood\nrotting\nrotting black clay skin\nrotting clay skin\nrotting flesh\nrotting skin\nrottweiler dinosaur hybrid\nrottweiler firefighter\nrottweiler rabbit hybrid\nrotunda\nrough\nrough abstract sketch\nrough and moody\nrough beard\nrough brush strokes\nrough charcoal sketch\nrough color pencil illustration\nrough concrete walls\nrough draft\nrough lines\nrough oil paint\nrough paper\nrough paper texture\nrough sea\nrough seas\nrough seas in background\nrough sketch\nrough texture\nrough textures\nrough water\nrough watercolor painting\nrough waters\nrough waves\nrough wood\nrough wooden fence\nroughled fur\nrougue one\nrougue one ( film )\nround\nround - face\nround about to start\nround and well-drawn eyes\nround background\nround base\nround black eye pupils\nround black glasses\nround bottle\nround buildings in background\nround bulbous nose\nround cheeks\nround chin\nround chin black eyeliner\nround circle face\nround clouds\nround conch fractal horns\nround corners\nround cute face\nround dance\nround design\nround doors\nround ears\nround elements\nround eyes\nround face\nround faced\nround form\nround format\nround gentle face\nround glasses\nround glasses potter\nround goggles\nround head\nround headlights\nround hood\nround iris\nround jaw\nround jawline\nround logo\nround mirror on the wall\nround narrow chin\nround nose\nround portruding chin\nround pupil\nround red m & m figure\nround red m m figure\nround robot\nround round round nose\nround shaped face\nround shapes\nround sunglasses\nround symmetrical eyes\nround symmetrical eyes!!!\nround teeth and goofy face\nround thighs\nround window\nround windows\nround-cropped\nrounded\nrounded architecture\nrounded beak\nrounded ceiling\nrounded corners\nrounded eyeglasses\nrounded eyes\nrounded face\nrounded forms\nrounded house and cute character\nrounded lines\nrounded logo\nrounded roof\nrounded shapes\nroute 6 6\nrowan atkinson\nrowena morrill\nrowing boat\nrows of canteen in background\nrows of doors\nrows of lush crops\nrows of razor sharp teeth\nrows of windows lit internally\nroxie vizcarra\nroy krenkel\nroy lichtenstein and jackie tsai\nroy lichtenstein style\nroy litchenstein\nroy thomas\nroyal\nroyal academy\nroyal attire\nroyal attire akira\nroyal bird\nroyal blue colors\nroyal brocade dress\nroyal cape\nroyal commission\nroyal court\nroyal crown\nroyal dress\nroyal elegant pose\nroyal emperor\nroyal family during an argument\nroyal garden background\nroyal garden landscape\nroyal gown\nroyal green and nature light\nroyal insignia in background\nroyal interior\nroyal jewels\nroyal painting\nroyal palace\nroyal palace interior\nroyal palace near the lake\nroyal photo\nroyal photography\nroyal portrait\nroyal portrait painting\nroyal relief\nroyal robe\nroyal style\nroyal wedding\nroyal woman\nroyal workshop\nroyal-blue\nroyalcore\nroyality\nroyally decorated\nroyaltly\nroyalty\nroyalty kingdom\nroygbiv\nroyo\nrozalski\nrpg\nrpg art\nrpg artwork\nrpg background\nrpg book portrait\nrpg character\nrpg character art\nrpg character avatar\nrpg character concept art\nrpg character reference\nrpg concept art character\nrpg game\nrpg game environment asset\nrpg game inventory item\nrpg game item\nrpg game style\nrpg illustration\nrpg item\nrpg item render\nrpg landscape\nrpg maker\nrpg maker style bedroom\nrpg portrait\nrpg portrait concept art\nrpg portrait full body\nrpg portrait reference\nrpg reference\nrpg reference sheet\nrpg rulebook illustration\nrpg scene\nrpg skill\nrpg style\nrpg_portrait\nrpgmaker\nrtx\nrtx 3 0 9 0 ti\nrtx 3080\nrtx 3090\nrtx 3090 ti\nrtx 4090 ti\nrtx engine\nrtx geforce experience\nrtx graphics\nrtx on\nrtx ray tracing\nrtx reflections\nrtx rendering\nru paul\\'s drag race\nruan cute vtuber\nruan ji\nruan jia and artgerm\nruan jia and arthur rackham\nruan jia and brom\nruan jia and fenghua zhong\nruan jia and greg rutkowski\nruan jia and joao ruas\nruan jia and mandy jurgens\nruan jia and michael komarck\nruan jia beautiful\nruan jia beautiful!\nruan jia movie poster\nruan jian\nruan kia and john singer sargent\nruanjia\nrubber\nrubber and latex\nrubber duck\nrubber ducky\nrubber hose\nrubber hose animation\nrubber hose style\nrubber latex\nrubber stamp\nrubber suit\nrubber undersuit\nrubber waffle outsole\nrubberhose style\nrubbery\nrubbery - looking body\nrubbery-looking body\nrubbing hands!!!\nrubbish\nrubble\nrubble everywhere\nrubble!!\nrubbles\nrubedo\nrubenesque\nrubens\nrubi\nrubies\nrubrum lillies\nruched bodice\nrude\nrudolf belarski\nrudolf béres\nrudolf weisse\nruffled and tattered dress\nruffled fabric\nruffled wings\nruffles\nruffles tassels and ribbons\nrug\nrugged\nrugged  stars\nrugged and dirty\nrugged beard\nrugged black clothes\nrugged details\nrugged face\nrugged male medieval knight\nrugged male ranger\nrugged male ranger in battle\nrugged man portrait\nrugged ranger\nrugged ship captain\nrugged soldier\nrugged textured face\nrugged | stars\nruggedly handsome ranger\nrugrats\nrugs\nruin\nruin despair apocalypse\nruined\nruined alien structures\nruined architecture\nruined buildings\nruined castle\nruined cities\nruined city\nruined city in background\nruined city in the background\nruined cityscape\nruined empire on the background\nruined gas station and cars\nruined gothic cathedral\nruined kingdom\nruined medieval architecture\nruined subdivision houses\nruined temple\nruined temple covered with moss\nruined town\nruins\nruins around\nruins in the background\nruins landscape\nruins of ancient rome\nruins of ancient technology\nruins of hell\nruins on the background\nrukis\nrukis. comic book style\nrule\nrule 34\nrule britannia\nrule for thirds\nrule of 3 rds\nrule of third\nrule of third!!!!\nrule of thirds\nrule of thirds composition\nrule of thirds fibonacci\nrule of thirds golden ratio\nrule of thirds highly detailed\nrule of three\nrule of threes\nrule of thrids\nrule-of-thirds\nruler of everything\nruler of inferno\nruler of the demons\nruler of the world\nrules dream world\nrules of composition\nrum\nrumble roses\nrumiko\nrun\nrun down\nrun for your life\nrunaway photography\nrundown\nrundown buildings\nrundown new york apartment\nrune factory 5\nrune magic\nrune marks\nrune-engraved armor\nrunes\nrunes in the air\nrunescape\nrunestone\nrunestones\nrung\nrunic\nrunic arm tattoos\nrunic etching\nrunic inscription\nrunic rings\nrunic symbols\nrunic tattoos\nrunic words\nrunning\nrunning and falling on clouds\nrunning at the edge of space\nrunning cat\nrunning dog in a library\nrunning fast towards the camera\nrunning freely\nrunning from bear\nrunning in savana\nrunning in savannah\nrunning lights\nrunning pose\nrunning robots in a marathon\nrunning sequence\nrunning shoes\nrunning through italian town\nrunning towards camera\nrunning towards the camera\nrunning water\nruns away from men on the forest\nrunway\nrunway photo\nrupert everton\nrupert murdoch\nrupert murdoch as the devil\nrupert murdoch as the joker\nrural\nrural dystopian\nrural japan\nrural landscape\nrural splendor\nrural wastelands\nrurouni kenshin\nrush band\nrushing water\nruss abbott\nruss mill\nruss mills\nrussell dauterman\nrussia\nrussia in 2 0 2 1\nrussia in 2021\nrussian\nrussian academic\nrussian academic painting\nrussian academicism\nrussian and japanese mix\nrussian architecture\nrussian army infantry soldiers\nrussian cinema\nrussian city\nrussian city of the future\nrussian clothes\nrussian constructivism\nrussian costume\nrussian criminal tattoos\nrussian depression\nrussian flag\nrussian flags\nrussian folk fairytale\nrussian girlfriend\nrussian impressionism\nrussian lab experiment\nrussian lada car\nrussian landscape\nrussian national guard\nrussian neoclassicism\nrussian oil painting\nrussian opposition rally\nrussian orbit city cityscape\nrussian painters\nrussian revolution 1 9 1 0\nrussian revolution 1910\nrussian shaman\nrussian soviet motifs\nrussian style\nrussian temple\nrussian village\nrussian villages at background\nrussian ww 1\nrust\nrust and corrosion\nrust and dust and fire and dirt\nrust and plaster materials\nrust background\nrusted\nrusted junk\nrusted metal\nrusted metal and sunflowers\nrusted metal texture\nrusted panels\nrusted silent hill\nrusted steel\nrusted walls\nrustic\nrustic and weathered\nrustic setting\nrustic stone cabin in horizon\nrustic throne room\nrustic wood\nrustic yet enormous scp (secure\nrustic yet enormous scp secure\nrusticated stone base\nrusting\nrusty\nrusty armor\nrusty biomechanical cyborg\nrusty cars!!\nrusty chain fencing\nrusty colored long hair\nrusty colors\nrusty components\nrusty helmet\nrusty meat machine\nrusty metal\nrusty metal plating\nrusty metal towers\nrusty metal walls\nrusty pipes\nrusty red helmet\nrusty shapes\nrusty vehicles\nrutkoswki\nrutkovski\nrutkovsky\nrutkowski\nrutkowski and caravaggio\nrutkowski greg\nrutkowski ilya krenz nixeu wlop\nrutkowski |\nrutkowsky\nrutkowskyi\nruxing gao\nrv\nryan church\nryan dening\nryan dyar\nryan glitter concept artist\nryan gosling\nryan gosling as black panther\nryan gosling as deadpool\nryan gosling as roman statue\nryan gosling fused with a goose\nryan hewett\nryan jia\nryan kiera armstrong\nryan mcginley\nryan meinerding\nryan renolds as batman\nryan reynolds\nryan reynolds as a bodybuilder\nryan reynolds as batman\nryan reynolds as thanos\nryan reynolds dead pool\nryan reynolds wearing a fat suit\nryden\nrye (shishkin)\nrye shishkin\nryohji hase\nryoji\nryokans and edo era houses\nryu from street fighter\nryuichi sakamoto\nryuko matoi\nryuta ueda artwork\nryuu\nréalisme\nréunion des musées nationaux\ns baraldi\ns clean lines\ns line\ns'mores\nsaab 39 gripen\nsaadane afif\nsaatchi art\nsabattier effect\nsabattier filter\nsabbas\nsabbas apterus\nsabertooth\nsabertooth cat\nsabina klein\nsables crossed in background\nsachiko miyazaki\nsachin teng\nsachucci 9 5\nsaci perere\nsacral chakra\nsacrament\nsacred\nsacred ancient architecture\nsacred architecture\nsacred artifacts\nsacred feminine\nsacred fractal structures\nsacred geometry\nsacred geometry melting\nsacred geometry pattern\nsacred numbers\nsacred perfect lighting\nsacred skull\nsacred skulls\nsacred tiger\nsacred vampire\nsacredness\nsacrifice\nsacrificial altar\nsacrilegious rite\nsad\nsad ambience\nsad and happy\nsad and introspective\nsad and lonley\nsad atmosphere\nsad blue eyes\nsad cat\nsad cerulean eyes\nsad christina hendricks\nsad colors\nsad cop looking at a\nsad emoji\nsad exasperated expression\nsad expression\nsad eyebrows\nsad eyes\nsad eyes tears\nsad face\nsad feeling\nsad frown\nsad green eyes\nsad grumpy face\nsad kawaii face\nsad lighting\nsad lonely mellow vibes\nsad look\nsad looking eyes\nsad man\nsad man puts on a bear mask\nsad men\nsad mood\nsad motif\nsad muppet eyes\nsad prisoner holding ipad\nsad scene\nsad sky\nsad steven seagal in jail cell\nsad vampire\nsad vibe\nsad wizard\nsad woman smoking a gigarette\nsad!\nsadamoto yoshiyuki\nsadan vague\nsaddle up\nsadie sink\nsadistic\nsadness\nsadness look\nsadness personified\nsafari\nsafari background\nsafe\nsafe for work\nsafebooru\nsafebooru anime image\nsafehavenhq\nsafi'jiiva armor\nsaga comic\nsage\nsage ( valorant )\nsage green\nsage smoke\nsaggy purple robes\nsaguaro\nsaguaro cacti\nsahara\nsahara comics logo\nsahara desert\nsail\nsail boat on the background\nsail boats\nsail made of human skin\nsailboat\nsailboats\nsailboats in the water\nsailboats soaring in the wind\nsailing boat\nsailing boats\nsailing ship\nsailing ships\nsailor clothing\nsailor jerry tattoo flash\nsailor moon\nsailor moon aesthetic\nsailor moon style\nsailor moon!!!!!!!!\nsailor uniform\nsailpunk\nsails\nsails and masts and rigging\nsaint\nsaint homo neanderthalis\nsaint jerome as an hermit\nsaint man\nsaint michael the angel\nsaint of the pit\nsaint petersburg\nsaint seiya\nsaint skeleton queen\nsaint woman\nsaint womans\nsaintly\nsaints row\nsaints row fursuit tails mod\nsaitama\nsaitama prefecture\nsaito takao\nsaiyan armor\nsaiyan girl\nsake\nsakimi\nsakimi chan\nsakimichan\nsakimichan and frank franzzeta\nsakimichan and makoto shinkai\nsakimichan frank franzzeta\nsakimichan hdri\nsakimimichan\nsakuga\nsakuga gunplay\nsakuga mad gunplay\nsakura\nsakura bloomimg\nsakura blooming on background\nsakura flower\nsakura flowers\nsakura from cardcaptor sakura\nsakura haruno\nsakura haruno in slug sage mode\nsakura kinomoto\nsakura petals around her\nsakura pigma micron\nsakura season\nsakura season dynamic lighting\nsakura tree in background\nsakura trees\nsalacious\nsalad\nsalad and white colors in scheme\nsalad fingers\nsalamander\nsalami\nsaleen s7\nsalems revenge\nsales\nsaliva\nsallon\nsally\nsally corporation\nsalma hayek\nsalma hayek as a barbarian\nsalma hayek as a sorceress\nsalma hayek in a hi vis vest\nsalma hayek portrait\nsalmon\nsalmon khoshroo\nsalome\nsalomon\nsaloon\nsaloon exterior\nsalsa dancing\nsalsa social dance\nsalsa tricks\nsalsa vendor\nsalt\nsalt and pepper hair\nsalt dunes\nsalt effects\nsalt flats with scattered ruins\nsalt shaker\nsaltwater\nsalustiano garcia cruz\nsaluting\nsalvador\nsalvador dali and frank frazetta\nsalvador dali painting\nsalvador dali style\nsalvation\nsalvia\nsalvia droid\nsam\nsam and max\nsam gilliam\nsam guay\nsam hyde\nsam hyde in god of war 4\nsam hyde in gold suit\nsam hyde in team fortress 2\nsam leach\nsam nassour\nsam shearon\nsam weber\nsam yang\nsamadhi\nsamara weaving\nsamara weaving vampire\nsamarkand\nsamburu\nsamdoesart\nsamdoesarts\nsame body\nsamhain figure\nsamira from league of legends\nsamma van klaarbergen\nsamoan features\nsamorost\nsamoyed dog\nsamsara\nsamson pollen\nsamsung smartthings\nsamuel jackson\nsamuel l jackson\nsamuel l jackson posing in cafe\nsamuel l. jackson as a ballerina\nsamurai\nsamurai armor\nsamurai cat\nsamurai chains ink undead\nsamurai champloo\nsamurai deity with koi armor\nsamurai duel\nsamurai flight suit\nsamurai helmet\nsamurai jack\nsamurai jedi\nsamurai jetstream sam\nsamurai man vagabond\nsamurai man wrapped in chains\nsamurai mask\nsamurai movie poster\nsamurai outfit\nsamurai pizza cats\nsamurai portrait\nsamurai portrait photo\nsamurai style\nsamurai vinyl wrap\nsamurai warrior\nsamurai with afro\nsamurai with demon mask\nsamus\nsamus aran\nsamus aran bioorganic varia suit\nsamus aran fanart\nsan francisco\nsan francisco psychedelic poster\nsan mumford\nsana takeda\nsanctions in russia\nsanctuary\nsand\nsand - colored walls\nsand and desert environment\nsand and sea\nsand art bottle\nsand banks\nsand cat\nsand color\nsand desert\nsand desert fantasy\nsand dune\nsand dune background\nsand dunes\nsand mists\nsand particles\nsand piled in corners\nsand sculpture\nsand sea\nsand storm\nsand storm approaching\nsand storm enters\nsand swirling\nsand texture\nsandals\nsandcastle\nsandfalls\nsandman\nsandman endless\nsandman kingdom\nsandra\nsandra bullock\nsandra chevier\nsandra chevrier : : portrait\nsandra chevrier and john hoyland\nsandra pelser\nsandro bottecelli\nsandro botticelli style\nsandro botticelli. very soft\nsandstone\nsandstorm\nsandwich\nsandwich with fried tofu\nsandworm\nsandy\nsandy beach\nsandy beige\nsandy colors\nsandy colours\nsandy green\nsandy white moon landscape\nsangsoo jeong\nsanguinary blood splatters\nsangyeob park\nsanic\nsanja stikovic\nsanji\nsanjulian. detailed texture\nsankakucomplex anime image\nsanrio\nsanrio ornaments\nsans\nsans from undertale\nsans undertale\nsansa\nsansa stark\nsanskrit\nsanta\nsanta claus\nsanta clause\nsanta inside a rustic barn\nsanta monica beach\nsanta's workshop\nsantiago calatrava\nsantiago rusinol\nsantorini\nsao\nsao paulo\nsao paulo in the year 2 0 7 0\nsao paulo in the year 2070\nsao style anime\nsaoirse ronan\nsap\nsapphic art\nsapphire\nsapphire blue eyes\nsapphire butterfly jewellery\nsapphire earrings\nsapphire waters below\nsapphires\nsara ali\nsarah\nsarah andersen\nsarah cliff\nsarah michelle gellar\nsarah shahi\nsarcastic\nsarcastic and friendly\nsarcastic evil smile\nsarcastic evil smirk on face\nsarcastic pose\nsarcastic smile\nsarcastic smile showing teeth\nsarcastic smiling\nsardax\nsardine in a can\nsarenrae\nsargent\nsargent and leyendecker\nsargent and raffaelo monti\nsari\nsarong\nsasai ukon masanao\nsascha schneider\nsasha grey\nsasoura\nsasquatch\nsassy\nsassy personality\nsassy pose\nsasuke uchiha\nsat at a desk\nsat at her desk\nsat down in train aile\nsat in an office\nsat in his throne\nsatan\nsatan daughter\nsatan in hell\nsatanic\nsatanic body\nsatanic carl sagan\nsatanic church interior\nsatanic horror\nsatanic ritual\nsatanic states of america\nsatanic symbolism\nsatanic wings\nsatanism\nsatanistic sky\nsatchely\nsatchely and akihiko yoshida\nsatelite imagery\nsatellite\nsatellite dishes\nsatellite image\nsatellite imagery\nsatellite photo\nsatellite view\nsatin\nsatin ribbons\nsatin silver\nsatire\nsatirical painting\nsatisfactory screenshot\nsatisfied pose\nsatisfying\nsatisfying cable management\nsatisfying render\nsatoshi\nsatoshi - kon\nsatoshi con\nsatoshi kon and moebius\nsatoshi kon anime\nsatoshi kon artstyle\nsaturated\nsaturated color\nsaturated color scheme\nsaturated colorized\nsaturated colors\nsaturated colours\nsaturated pastel colors\nsaturated pointillism\nsaturated top light\nsaturated watercolor\nsaturation\nsaturation 40\nsaturday morning cartoon\nsaturday night fever ( film )\nsaturday night in a saloon\nsaturn\nsaturn and supermoon in the sky\nsaturn devouring his son\nsaturn in the background\nsaturn in the sky\nsaturn v\nsaturno butto\nsaturno butto. occult art\nsaturno buttò\nsatyr\nsauce\nsaudi futuristic warrior mecha\nsaul bass\nsaul bass and paul rand\nsaul better call saul\nsaul bromberger\nsaul goodman\nsaul goodman as a muppet\nsaul goodman as captain america\nsaul goodman from breaking bad\nsaul goodman in ace attorney\nsaul goodman in fortnite\nsaul goodman in game of thrones\nsaul goodman in gta v\nsaul goodman in super mario 64\nsaul goodman in the backrooms\nsaul goodman in the simpsons\nsaul goodman!\nsauna\nsaurians\nsauroform hybrid\nsauron\nsauron fighting saruman\nsausage\nsausage hair\nsausages\nsavage\nsavage cloak\nsavage monster\nsavage warrior\nsavana background\nsavanna\nsavannah\nsaving private ryan\nsaving the day again\nsavory\nsavrasov\nsavrasov levitan polenov\nsaw\nsaw teeth\nsawblade border\nsaws\nsaxophone\nsaxophones\nsay\nsay ahh\nsayem reza\nsaying\nsayori\nsazabi\nsazed\nsaâdane afif\nsbt\nsc-fi\nscabs\nscaffolding\nscaffolding collapsing\nscale\nscale model photography\nscale of a city\nscaled arm\nscaled robes\nscaled skin\nscales\nscales and fur\nscales covering her chest\nscales made of jade\nscales on her chest\nscales skin dog\nscales with magic powder\nscaly\nscaly skin\nscaly!!!\nscamming\nscan\nscan lines\nscan of codex seraphinianus\nscandal sheet\nscandelous fantasy armor\nscandinavia\nscandinavian\nscandinavian / norse influenced\nscandinavian design\nscandinavian style\nscandy and arender\nscanlines\nscanned\nscanned 2400 dpi\nscanned document\nscanned in\nscanning items with smartphone\nscans from museum collection\nscantily clad\nscar\nscar across face\nscar across nose\nscar across the nose\nscar in one eye\nscar on face\nscar on the cheek\nscar under left eye\nscarab\nscarab reploid\nscaramouch\nscarce sun rays peaking\nscare\nscarecrow\nscared\nscared emotion\nscared expression\nscared face\nscarf\nscarf made from spaghetti\nscarf!\nscarface\nscarfolk\nscariest looking man alive\nscaring\nscarlet\nscarlet and yellow scheme\nscarlet background\nscarlet emerald\nscarlet feather boa\nscarlet johansen\nscarlet johansson\nscarlet tones\nscarlet witch\nscarlet witch costume\nscarlet witch marvel\nscarlett hooft\nscarlett johanson\nscarlett johansson\nscarlett johansson as thanos\nscarlett johansson black widow\nscarlett johansson portrait\nscarred\nscarred eye\nscarred face\nscarred lip\nscarred! d&d\nscarry\nscarry but bewitching\nscarry castle)). mystical\nscarry castle). mystical\nscars\nscars in the face\nscars of battle\nscars on eye\nscars on face\nscars on his face\nscars will remain\nscary\nscary and brooding\nscary and dark\nscary angry pose\nscary art\nscary art in color\nscary athmosphere\nscary atmosphere\nscary cartoons\nscary clown\nscary color art in 4 k\nscary creature\nscary creatures\nscary creatures in background\nscary dark\nscary dark forest\nscary detailed art in color\nscary elmo with long\nscary eyes\nscary face\nscary fish\nscary ghost\nscary gothic architecture\nscary horrifying satanic rituals\nscary knight\nscary lighting\nscary lightning\nscary look\nscary magical background\nscary monster statues\nscary mood\nscary movie\nscary night\nscary photo\nscary picture\nscary picture in color\nscary pines\nscary portrait\nscary pose\nscary queen of death\nscary scene\nscary sea monster\nscary shadow people\nscary shadows\nscary sharp icy\nscary smile\nscary stories\nscary style\nscary thunderstorm\nscary vampire\nscattered\nscattered clouds\nscattered glass shards\nscattered glowing pink fireflies\nscattered gold coins\nscattered golden flakes\nscattered islands\nscattered light\nscattered props\nscattered rubbish\nscattered rubbish and debris\nscattering\nscenario assets\nscenary\nscence of slam dunk\nscene\nscene : sunflower field\nscene beautiful\nscene from a 1 9 7 3 film\nscene from a dinner party\nscene from a movie\nscene from a rave\nscene from back to the future\nscene from bladerunner movie\nscene from church\nscene from dune 2 0 2 1 movie\nscene from fightclub movie\nscene from kagemusha\nscene from live action movie\nscene from louisiana swamps\nscene from prometheus movie\nscene from star wars 1977\nscene from starship\nscene from supplizia\nscene from the film\nscene from the movie godfather\nscene from the movie prometheus\nscene from the voice of america\nscene girl\nscene in an open field. 1 8 9 0\nscene in space\nscene inside forest\nscene render\nscene set in a church\nscene view\nscene where she is in rivendell\nscene with machine gun\nscene!!\nscene: sunflower field\nscenery\nscenery art detailed\nscenery artwork\nscenery game concept art\nscenery wallpaper\nscenery wallpaper aesthetic\nscenic\nscenic background\nscenic colorful environment\nscenic dystopian environment\nscenic environment\nscenic full shot\nscenic landscape\nscenic mountain setting\nscenic prairie in background\nscenic view\nscenic view at night\nscenic view of river\nscepter\nscetch\nschematic\nschematic in a notebook\nschematics\nscheme\nschizophrenia\nschizophrenic\nschizophrenic hallucination\nschlieren\nschlieren flow visualisation\nschmuck\nschnapps\nscholar\nscholarly\nschomburg\nschool\nschool bag\nschool class\nschool classroom\nschool courtyard\nschool curriculum expert\nschool girl\nschool girl in gothic dress\nschool of fish\nschool of fishes\nschool uniform\nschools\nschools of fish\nschrodinger cat\nschrodinger's cat\nschrodingers cat\nschutztruppe\nschwarzenegger\nsci - ci\nsci - f\nsci - fi\nsci - fi -\nsci - fi : :\nsci - fi aesthetics\nsci - fi and fantasy\nsci - fi armor\nsci - fi armour\nsci - fi armour! muscular\nsci - fi art\nsci - fi art!!!!!!!\nsci - fi artwork\nsci - fi atmosphere\nsci - fi biomechanical\nsci - fi character\nsci - fi city\nsci - fi concept art\nsci - fi details\nsci - fi environment\nsci - fi equipment\nsci - fi face\nsci - fi fantasy\nsci - fi favela sculpture\nsci - fi film color palette\nsci - fi film still\nsci - fi horror\nsci - fi horror art\nsci - fi illustration\nsci - fi illustrations\nsci - fi interior\nsci - fi jewellery\nsci - fi landscape\nsci - fi look\nsci - fi mongolian village\nsci - fi monster hunters\nsci - fi movie\nsci - fi movie poster\nsci - fi movie style\nsci - fi pilot\nsci - fi poster\nsci - fi scene\nsci - fi scene future new york\nsci - fi setting\nsci - fi spaceship in combat\nsci - fi suit\nsci - fi theme\nsci - fi vending machine\nsci - fi weapon\nsci - fi!!\nsci - fi!!!\nsci - fi!!!!\nsci - fy\nsci fi\nsci fi alien world\nsci fi anime\nsci fi art\nsci fi artwork\nsci fi character concept\nsci fi characters\nsci fi city\nsci fi concept art\nsci fi data readouts\nsci fi digital painting\nsci fi engine room living room\nsci fi epic digital art\nsci fi fantasy\nsci fi female character\nsci fi font\nsci fi futuristic costume\nsci fi horror\nsci fi landscape\nsci fi necklace\nsci fi patterns\nsci fi scenery\nsci fi setting\nsci fi world\nsci if\nsci-fi\nsci-fi android female\nsci-fi anime\nsci-fi armor\nsci-fi armour\nsci-fi art\nsci-fi artwork\nsci-fi atmosphere\nsci-fi building. isometric view\nsci-fi car\nsci-fi character concept\nsci-fi cinematic movie still\nsci-fi classic\nsci-fi computer\nsci-fi concept art\nsci-fi concept art :: nixri\nsci-fi crocodile alien\nsci-fi cybernetic implants hq\nsci-fi cyberpunk city street\nsci-fi digital art\nsci-fi digital art illustration\nsci-fi digital painting\nsci-fi face\nsci-fi fantasy\nsci-fi fantasy art\nsci-fi fantasy desktop wallpaper\nsci-fi fantasy wallpaper\nsci-fi female\nsci-fi film color palette\nsci-fi futuristic\nsci-fi helmet\nsci-fi high fantasy\nsci-fi highly detailed\nsci-fi hollywood concept art\nsci-fi horror artwork\nsci-fi illustration\nsci-fi illustrations\nsci-fi landscape\nsci-fi lizard alien\nsci-fi lizardman\nsci-fi magic highly detailed\nsci-fi mech\nsci-fi movie\nsci-fi movie cinematic frame\nsci-fi movie shot\nsci-fi movie still\nsci-fi nether world\nsci-fi night club\nsci-fi of iceland landscape\nsci-fi setting\nsci-fi skin\nsci-fi soldier\nsci-fi space game art\nsci-fi steampunk\nsci-fi style\nsci-fi sword\nsci-fi themed\nsci-fi tibetan fashion\nsci-fi vending machine\nsci-fiish\nsci-fiish landscape\nsci-fy\nscience\nscience - fantasy\nscience - fiction\nscience - fiction matte painting\nscience background\nscience fantasy\nscience fantasy painting\nscience ficiton\nscience fiction\nscience fiction art\nscience fiction art ]\nscience fiction city\nscience fiction concept art\nscience fiction digital art\nscience fiction elements\nscience fiction fantasy\nscience fiction landscape\nscience fiction magazine\nscience fiction matte painting\nscience fiction painting\nscience fiction scene\nscience fiction space suit\nscience fiction spacecraft\nscience fiction style\nscience fiction suit\nscience journal cover\nscience lab\nscience magazine\nscience magazine cover\nscience magazines\nscience monthly photography\nscience poster\nscience-fantasy\nscience-fiction\nscience-fiction art wallpaper\nscientific\nscientific accurate\nscientific depiction\nscientific diagram\nscientific document\nscientific earth crust\nscientific equipment\nscientific glassware\nscientific illustration\nscientific instruments\nscientific paper\nscientific photo\nscientific photography\nscientific research\nscientific schematics\nscientific specimens\nscientific study\nscientifically accurate\nscientist\nscientist is a duck\nscientists\nscifi\nscifi accessories\nscifi art\nscifi background\nscifi base\nscifi character\nscifi character render\nscifi colors\nscifi concept art\nscifi cyberpunk\nscifi design\nscifi environment\nscifi fantasy\nscifi farm\nscifi film color palette\nscifi futuristic vehicles\nscifi gadgets in a pond\nscifi horror\nscifi horror setting\nscifi illustration\nscifi inspired\nscifi junkshop\nscifi landscape\nscifi machine\nscifi movie poster\nscifi nanowires on skin\nscifi nightscape\nscifi platform\nscifi pulp\nscifi religious\nscifi robot repair workshop\nscifi robots\nscifi room\nscifi scene\nscifi setting\nscifi space station\nscifi spaceship\nscifi style\nscifi woman\nscimitar\nscintillating\nscissor people\nscissors\nscissors in hand\nscobillyflup\nscoia'tael)\nscolding\nsconces\nscorched\nscorched earth\nscorching heat\nscorching weather\nscores\nscorn\nscorn game\nscornful\nscorpion\nscorpion from mortal kombat\nscorpion tail\nscorpion whip\nscorpions\nscotland\nscott adams\nscott buoncristiano\nscott burdick\nscott fischer\nscott m fischer\nscott radke\nscott roberston\nscott robertson\nscott the woz\nscott wills\nscott wozniak\nscottish\nscottish fold\nscottish folklore\nscottish highlands\nscottish style\nscout boy\nscout police robot\nscowl\nscowling\nscp\nscp 173\nscp 3008\nscp foundation\nscp-049\nscp-106\nscp-173\nscp-914\nscrambler\nscrap\nscrap metal\nscrap metal headdress\nscrap metal on workbenches\nscrapbook\nscrapbook paper collage\nscrape off\nscrape them\nscrapyard\nscrapyard architecture\nscratched\nscratched metal\nscratched photo\nscratched vial\nscratched. biomechanical cyborg\nscratches\nscratches and burns on film\nscratches on photo\nscratching head\nscratching post\nscratchy\nscratchy lines\nscrathes\nscream\nscreamer\nscreaming\nscreaming and crying\nscreaming and sad\nscreaming at the camera\nscreaming face\nscreaming fashion model face\nscreaming in agony\nscreaming in desperation\nscreaming in pain\nscreaming into air\nscreaming trent reznor\nscreaming with fear\nscreaming yelling\nscreaming. not realistic\nscreeching\nscreen\nscreen cap\nscreen capture\nscreen light\nscreen melting\nscreen print\nscreen print poster\nscreen print texture\nscreen printed\nscreen printing\nscreen short from mafia 2\nscreen shot\nscreen shot of cod\nscreen space global illumination\nscreen space reflections\nscreen tones\nscreencap\nscreencapture\nscreengrab\nscreenprint\nscreens\nscreensaver\nscreenshot\nscreenshot 4k\nscreenshot from a 2012s anime\nscreenshot from a movie\nscreenshot from an fps\nscreenshot from black clover\nscreenshot from bloodborne\nscreenshot from fallout (1997)\nscreenshot from fallout 4\nscreenshot from fortnite\nscreenshot from game\nscreenshot from gta v\nscreenshot from guro anime\nscreenshot from minecraft\nscreenshot from morbius (2022)\nscreenshot from nier automata\nscreenshot from overwatch\nscreenshot from simcity pc game\nscreenshot from skyrim\nscreenshot from the 1983 film\nscreenshot from the anime film\nscreenshot from the game\nscreenshot from the game'crysis'\nscreenshot from'fallout 4'\nscreenshot of cloudjumper\nscreenshot of found footage\nscreenshot of kingdom hearts 3\nscreenshot of pixel game\nscreenshots\nscreentone shading\nscreenwriter\nscretch\nscrew\nscrewdriver\nscrewdrivers\nscrews\nscrews and bolts\nscribble art\nscribble sketch\nscribbled\nscribbled lines\nscribbles\nscribbles biopunk\nscrolling computer mouse\nscrolls\nscrollwork\nscrubs\nscruffy beard\nscruffy brown beard\nscruffy facial hair\nscruffy looking\nscruffy man\nscuba diving\nscuba mask\nsculduggery\nsculls\nsculpey diorama\nsculpted\nsculpted draconic features\nsculpted in zbrush\nsculpted out of candy\nsculpting\nsculptor\nsculptural\nsculpture\nsculpture gardens\nsculpture made of gold\nsculpture made of piled stones\nsculpture made of water\nsculpture made of wood\nsculpture of a woman\nsculpture of carving marble\nsculpture of cate blanchett\nsculpture of moloch\nsculpture of persephone\nsculpture on display\nsculpture work in progress\nsculpture!!\nsculptured\nsculptured face\nsculptures\nscum and villainy\nscumbled\nscumbled thick oil paint\nscumbling\nscuta\nscutari\nscutoid\nscylla\nscylla and charybdis\nscythe\nscythe design\nsd video\nsea\nsea - doo gtx\nsea - green and white clothes\nsea and sky\nsea anemone\nsea background\nsea bottom\nsea breeze rises in the air\nsea butterflies\nsea cloud\nsea creature\nsea creatures\nsea dragon\nsea enemies\nsea floor\nsea foam\nsea green color theme\nsea ground\nsea horse\nsea in background\nsea in the background\nsea kelp\nsea king\nsea like jelly\nsea line\nsea monster\nsea monster looks like ship\nsea monsters\nsea of blood\nsea of milk\nsea of parfait\nsea of souls\nsea of thieves\nsea of thieves screenshot\nsea of thieves style\nsea plants\nsea queen\nsea serpent\nsea shell\nsea sponges\nsea spray\nsea storm\nsea storm and big waves cliffs\nsea turtles\nsea underneath\nsea waves\nsea weed\nseafloor\nseafoam green\nseafood in preserved in ice\nseaglass\nseagull\nseagull wearing luigis hat\nseagulls\nseahorse\nseahorses\nsealed since 1989\nsealed super joe biden\nseals\nseamless\nseamless fabric pattern 8k\nseamless game texture\nseamless micro detail\nseamless pattern\nseamless pattern :: symmetry\nseamless pattern design\nseamless texture\nseamless wood texture\nseamless wooden texture\nseams\nseams stitched tightly\nsean connery\nsean connery as big boss\nsean connery as gandalf\nsean harris\nsean harris wizard\nsean mcloughlin\nsean yoro\nsean young\nseapunk\nseapunk mecha\nsearch lights\nsearching for eternity\nsearchlight\nsearchlights\nsearchlights in background\nseas of mountain\nseascape\nseashell\nseashell house\nseashells\nseashore\nseaside\nseaside backgroud\nseaside victorian building\nseason 3 ( 1 9 9 7 )\nseasonal\nseasons of emotion\nseasons!! : 🌸 ☀ 🍂 ❄\nseated\nseated at a table\nseated in court\nseated in royal ease\nseated on a throne\nseated on wooden chair\nseattle\nseattle completely wasted away\nseaview\nseaweed\nseaweed and bubles\nseaweed floating\nsebastian kruger\nsebastian luca\nsebastian ludke\nsebastian michaelis\nsebastian pether\nsebastian stan\nsebastiao salgado\nsebastien chabal\nsecluded\nsecond colours - purple\nsecond coming\nsecond eagle head\nsecond life avatar\nsecond world war\nsecondhand\nsecondlife\nsecret\nsecret <\nsecret agent\nsecret agents\nsecret cypher\nsecret entrance\nsecret garden\nsecret holographic cyphers\nsecret illuminati cabal\nsecret lab\nsecret of mana\nsecret overgrown temple\nsecret romance\nsecret room upstairs\nsecret service photos\nsecret shady laboratory\nsecret society\nsecret tea society\nsecret underground lab\nsecret valley\nsecretive\nsecretly on a village\nsecrets\nsecrets inside the vatican\nsect\nsection model\nsectioned\nsectoid\nsecuirty cam footage\nsecurity\nsecurity agent\nsecurity cam\nsecurity cam footage\nsecurity cam video\nsecurity camera\nsecurity camera footage\nsecurity camera photo\nsecurity footage\nsecurity rhox\nsecurity robots delivery\nsecurityguard\nsedlec ossuary\nsedona's cathedral rock bluff\nseducing\nseducing expression\nseducing eyes\nseducing the camera\nseduction\nseductive\nseductive and powerful\nseductive anime girl\nseductive camisole\nseductive confident pose\nseductive cyberpunk dark fantasy\nseductive expression\nseductive eyes\nseductive eyes and face\nseductive gaze\nseductive glances\nseductive lady\nseductive lingerie camisole\nseductive look\nseductive pose\nseductive reclining pose\nseductive seated pose\nseductive smile\nseductive smirk\nseductive stare\nseductive tifa lockhart portrait\nseductive. highly detailed\nseductively looking in front\nsee\nsee - through\nsee fishes swimming\nsee no evil\nsee through\nsee through dress\nsee through glass hologram mask\nsee you on the other side\nseedlings\nseeds\nseeds of despair tv documentary\nseedy lighting\nseeing a cat\nseeing all sides a bit insane\nseemless\nseen from a distance\nseen from a plane\nseen from above\nseen from afar\nseen from behind\nseen from below\nseen from earth\nseen from far away\nseen from outside\nseen from planet earth\nseen from space\nseen from straight above\nseen from the back\nseen from the long distance\nseen from the side\nseen in the distance\nseen through a kaleidoscope\nseen through a microscope\nseen through a window\nseen through broken glass\nseething\nsega\nsega dreamcast\nsega genesis\nsega genesis box art\nsega genesis video game\nsegmented 2d laser cut earrings\nsegmented armor\nsegmented armor and sashimono\nsegmented broken glass shards\nsegmented organic armor\nseifuku\nseinen\nseinen manga portrait\nseinfeld\nseinfeld fancy tea party\nsekiro\nsekiro in bloodborne world\nsekiro mountain\nselective breeding\nselective color effect\nselena gomez\nselena gomez made out of celery\nselena quintanilla perez\nselenar\nself\nself - aware\nself - confidence\nself - portrait\nself - portrait!!!!\nself - satisfied smirk\nself - taught\nself centered\nself confidence\nself deprecating\nself erotic\nself portrait\nself-confidence\nself-portrait\nselfie\nselfie of a dog\nselfie of a man\nselfie of a young woman\nselfie of elon musk on mars\nselfie photo\nselfie photography\nselfie shot straight on angle\nselfie!!!!!\nselfie!!!!! of a man\nselfishness\nselina\nselk ´ nam god of the sun\nsell out event\nselling a gem\nselling his wares\nselling insurance\nsemi - realism\nsemi - realistic\nsemi - realistic anime\nsemi - realistic render\nsemi naive\nsemi realism\nsemi realistic\nsemi realistic anime\nsemi realistic gouache painting\nsemi-realism\nsemi-realistic\nsemi-transparent\nsemiabstract\nsemirealism\nsemirealistic\nsemirealistic anime style\nsempe\nsen no rikyu\nsenary\nsenator armstrong\nsengoku - era art style\nsengoku era\nsenior concept artist\nsenko-san\nsenna from league of legends\nsennheiser\nsenor salme\nsensational\nsense of action\nsense of awe\nsense of decay given\nsense of depth\nsense of hope\nsense of movement\nsense of mystery\nsense of mystery and loneliness\nsense of perspective\nsense of scale\nsense of scale and awe\nsense of space\nsense of wonder\nsensitive\nsensor array\nsensors\nsensory processing overload\nsensual\nsensual and beautiful incubus\nsensual bodies\nsensual color scheme\nsensual dancing\nsensual features\nsensual gloomy\nsensual gloomy style\nsensual lighting\nsensual painting\nsensual pose\nsensual woman\nsensuality\nsensuous\nsentience\nsentient bird\nsentient fruit\nsentimental\nsentinel\nseoul\nsep. e. scott\nsepal helmet\nsepals forming helmet\nseparated\nseperated game asset\nsephiroth\nsephiroth from final fantasy\nsephora\nsepia\nsepia colors\nsepia photography\nsepia sun\nsepia sunshine\nsepia tints\nsepia tone\nsepia toned\nsepia tones\nseptember 1937\nseptum piercing\nsequel trilogy 80s\nsequences\nsequential\nsequin top\nsequins\nseraphim\nseraphine\nseraphine ahri kda\nserena malyon\nserena williams\nserendipity\nserene\nserene and peaceful style\nserene beach setting\nserene bedroom setting\nserene colors\nserene desert setting\nserene emotion\nserene emotions\nserene environment\nserene evening atmosphere\nserene expression\nserene field setting\nserene forest setting\nserene illustration\nserene landscape\nserene lighting\nserene overcast atmosphere\nserene post-nuclear background\nserene scene\nserene smile\nserene vast landscape\nserenity\nserenity & calm\nserenity calm\nserge birault\nserge lutens\nserge marshennikov\nserge minhulin\nsergeant\nsergey kolesov\nsergey kolesov concept art\nsergey krasovskiy\nsergey vasnev\nsergey zabelin\nsergio leone\nsergio toppi\nserial experiments lain\nserial killer\nseries\nseries of dreams\nseries on netflix\nserine intense sunlight\nserious\nserious and stern expression\nserious business\nserious cartoon\nserious composure\nserious expression\nserious expressions\nserious face\nserious faces\nserious facial expression\nserious focussed look\nserious lighting\nserious look\nserious looking mainecoon cat\nserious sad look in his eyes\nserious sam as smash characters\nsermon of philistine greed\nserov\nserpent\nserpent body\nserpentine curve\nserpentine curve!!!\nserpentine maze\nserpentine pose\nserpentine pose gesture\nserpentine twisty maze\nserpentine water monster\nserrated point\nservando lupini\nservant of dark moth\nservant squirrels\nservants\nserved on a plate\nserved with pasta\nserver\nserver in the middle\nservers\nservice robots\nservice ticket close up\nserving big macs\nserving body\nserving burgers\nserving fries\nserving happy meals\nserving rack of ribs\nserving suggestion\nsesame street\nsesame street 1 9 7 8\nsesame street 1978\nseseon yoon\nseshat\nset 1 8 6 0\nset 1860\nset against a white background\nset at night\nset back dead colors\nset design\nset in 1 8 5 0\nset in 1 8 6 0\nset in 1850\nset in 1860\nset in 1982 tokyo\nset in 1992 japan\nset in 1998\nset in 1999\nset in 19xx\nset in a steampunk world\nset in bank vault room\nset in c&c3 tiberium wars\nset in cyberpunk bank vault\nset in half-life 2\nset in hell\nset in observatory at night\nset in post apocalyptic tokyo\nset in the distant future\nset in the future 2 1 5 0\nset in the future 2150\nset in the world of guildwars2\nset in tokyo bank parking lot\nset in tokyo rooftop\nset in ww2 germany\nset inside of office\nset inside of parking garage\nset inside of the bank\nset of high quality hd sprites\nset on fire\nset on h. r. giger aesthetic\nset on interstellar space\nset on night\nset on singaporean aesthetic\nset photo\nset photo in costume\nset photograph\nset photograph in costume\nset photography\nset pieces\nset sail\nseth aaron rogen\nsetoff\nsetteidreams colour design\nsetting\nsetting in nature\nsetting is bliss wallpaper\nsetting sun\nsetting sun. golden hour\nsettlement\nsettlers of catan\nseu madruga\nseurat\nseven\nseven deadly sins\nseven deadly sins anime\nseven pointed pink star\nseven sins\nseven stars in right hand\nseven-dimensional\nseventeen-dimensional\nseventies\nseventies cinema\nseventies cinestill\nseventies era\nseveral character designs\nseveral continents\nseveral cottages\nseveral dolls in one photo\nseveral hearts\nseveral layers of fabric\nseveral soldiers\nseveral waterfalls\nsevere - looking\nsevere expression\nsevere out of focus\nsevere snow\nsevere weather storms\nsevered limbs\nseverian of nessus\nseverus snape\nseverus snape dance in a bar\nseverus snape dances in a bar\nseville\nseville. byzantine mosaics\nsewage\nsewage falling from grates\nsewer\nsewer background\nsewer pipe entrance\nsewers\nsexually attractive\nsexuell\nsexy\nsexy :8\nsexy black shorts\nsexy black woman walks past them\nsexy body\nsexy body and face\nsexy charlise theron\nsexy dominant pose\nsexy dress\nsexy eyes\nsexy face\nsexy face with full makeup\nsexy gaze\nsexy girl\nsexy girl wearing shorts\nsexy girl with dark brown hair\nsexy girl with dark complexion\nsexy girl with green eyes\nsexy girl with long blonde hair\nsexy gown\nsexy hot body\nsexy lips\nsexy lips :5 stylish\nsexy look\nsexy look at the camera\nsexy masculine\nsexy movie photo\nsexy muscular body\nsexy muscular upper body\nsexy outfit\nsexy painting of gal gadot\nsexy pose\nsexy pudica pose gesture\nsexy push up bras\nsexy red dress\nsexy red lips\nsexy sesame seed buns\nsexy style\nsexy young woman\nsexy-s 100\nsf\nsf 5 ink style\nsf5 ink style\nsfm\nsfm render\nsfumato\nsfw\nsfw huge breasts\nsfw safe for work\nsfw version\nsfx\nsgi iris graphics\nsha xi\nshabab alizadeh\nshack close up\nshackled in the void\nshackles in his hands\nshaco from league of legends\nshadar kai\nshade\nshaded\nshaded animation cel\nshaded face\nshaded flat illustration\nshaded ink illustration\nshaded lighting\nshaded out eyes\nshaded perfect\nshaded tattoo\nshader\nshaders\nshades\nshades green and red\nshades of aerochrome\nshades of aerochrome gold\nshades of blue\nshades of blue and grey\nshades of gold display naturally\nshades of green\nshades of grey\nshades of pink\nshades of pink and blue\nshades of purple\nshades of red\nshades of yellow\nshading\nshading in vray\nshading study\nshading unreal engine 5\nshading!!!\nshadow\nshadow and light\nshadow armor\nshadow art\nshadow beneath character\nshadow cast of dark corridor\nshadow depth\nshadow effect\nshadow filled room with gloomy\nshadow gradient\nshadow harsh lights\nshadow of beard\nshadow of catholic church cross\nshadow of the colossus\nshadow of the cross\nshadow of the tomb raider\nshadow of the tomb rider\nshadow over innsmouth\nshadow people\nshadow play\nshadow polaroid photo\nshadow resolution\nshadow the hedgehog\nshadowbringers cinematic\nshadowcreature\nshadowed\nshadowed face\nshadowing\nshadowrun\nshadowrun character art\nshadowrun splash art\nshadows\nshadows from trees\nshadows of the past\nshadows of zombies\nshadows on side\nshadows realism\nshadows screaming\nshadows. asian landscape\nshadows. high fantasy\nshadowverse\nshadowverse character concept\nshadowverse style\nshadowy\nshadowy and dark\nshadowy and eerie character\nshadowy area\nshadowy castle background\nshadowy cat under the bed'\nshadowy creatures\nshadowy figures\nshadowy informant\nshadowy lighting\nshady\nshady alleys\nshady dark backalley at night\nshady dull weather\nshady look\nshaft\nshaft of light\nshaft of sun through window\nshaft studio\nshafts of light\nshafts of light god rays\nshafts of lighting\nshafts of sunlight in the centre\nshag\nshag cut\nshag hair\nshag haircut\nshaggy\nshaggy brown hair\nshaggy hair\nshaggy haircut\nshaggy silver hair\nshah rukh khan\nshai hulud\nshai-hulud\nshakespeare\nshaking\nshaking hands\nshakira\nshakti\nshaky\nshaky camera\nshaky lines\nshallan davar\nshallow d. o. f\nshallow depth\nshallow depth of field\nshallow depth of field hdr 8 k\nshallow depth of field hdr 8k\nshallow depth of fielf\nshallow depth of focus\nshallow depth or field\nshallow dof\nshallow focus\nshallow focus background\nshallow perspective\nshallow water\nshallow waters\nshalltear bloodfallen\nshalltear from overlord\nshaman\nshaman witch\nshamanic dmt horror art\nshamanic horror lsd art\nshamanic poste\nshamanic poster lsd art\nshamanism\nshamanistic dark blue clothes\nshamanpunk\nshamans and strange creatures\nshambala\nshame\nshame focus\nshan shui\nshane mcgowan\nshane prigmore\nshanghai\nshanghai city\nshanina shaik as medusa\nshanty town\nshanty townships\nshap\nshape\nshape and form\nshape language\nshape of a circle\nshape of frogs\nshaped derriere\nshaped focus\nshaped like a yacht\nshaped like torus ring\nshaped picture\nshapely\nshapely derriere\nshapely toned derriere\nshapes\nshapes and colours\nshapeshifter\nshaq\nshaquille o'neil pregnant\nshaquille oneil pregnant\nshar focus\nsharandula\nshards\nshards and fractal of infinity\nshards of mercury\nshards of time\nsharing a pizza\nsharing an oxygen tank\nshark\nshark - human face\nshark and guitar\nshark anthony\nshark cat hybrid\nshark face\nshark head\nshark man\nshark teeth\nsharknado\nsharks\nsharks surfacing from the lake\nsharn\nsharp\nsharp )\nsharp - focus\nsharp - focus!!\nsharp ages\nsharp and\nsharp and blocky shapes\nsharp and clear\nsharp and coherent\nsharp and dangerous sleek design\nsharp and detailed\nsharp and focus\nsharp and highly detailed\nsharp and pointy vampire teeth\nsharp and smooth\nsharp angles\nsharp angular features\nsharp armor\nsharp background\nsharp beautiful face\nsharp black armor\nsharp black eyebrows\nsharp black skin\nsharp bone structure\nsharp bright colors\nsharp brushstrokes\nsharp centred focus\nsharp cheekbones\nsharp claws\nsharp claws and sharp teeth\nsharp claws and tail\nsharp claws close up\nsharp claws for hands\nsharp cliffs\nsharp color palette\nsharp colors\nsharp contours\nsharp contrast\nsharp corners\nsharp cyborg dragon head\nsharp deep\nsharp definition\nsharp depth of field\nsharp design spaceship sketches\nsharp detail\nsharp detail 8k\nsharp detailed\nsharp detailed claws\nsharp detailed face\nsharp detailed focus\nsharp detailed reflections\nsharp detailed robot dragon paws\nsharp details\nsharp digital painting\nsharp dragon claws\nsharp ears\nsharp edge\nsharp edged black armor\nsharp edges\nsharp edges and focus\nsharp edges cartoon\nsharp edges. octane render\nsharp edges. poster\nsharp edges. ultra detailed\nsharp eyebrows\nsharp eyes\nsharp face\nsharp facial features\nsharp fangs\nsharp fangs and tusks\nsharp fashion\nsharp features\nsharp fine-face\nsharp fingernails\nsharp focc\nsharp foccus\nsharp foccus ilustration\nsharp foccus ilustration hq\nsharp focus\nsharp focus - c 1 5. 0\nsharp focus - h 8 0 0\nsharp focus 3 d\nsharp focus 4k\nsharp focus 8k\nsharp focus and octane render\nsharp focus cinematic lighting\nsharp focus dynamic light\nsharp focus dynamic lighting\nsharp focus high quality\nsharp focus highly detailed\nsharp focus illustration\nsharp focus ilustration\nsharp focus ilustration hq\nsharp focus medium shot\nsharp focus on eyes\nsharp focus on face\nsharp focus on houses\nsharp focus on scenery\nsharp focus on the face\nsharp focus perfect horizontal\nsharp focus photo centered\nsharp focus uhd 8\nsharp focus uhd 8 k\nsharp focus uhd 8k\nsharp focus vector centered\nsharp focus w - 9 6 0\nsharp focus w - 960\nsharp focus »\nsharp focus ”\nsharp focus!\nsharp focus!!\nsharp focus!!!\nsharp focus!!! coherent!!!\nsharp focuscoherent\nsharp focused\nsharp focus”\nsharp force\nsharp foreground\nsharp fox - teeth\nsharp fucos\nsharp geometrical squares\nsharp glass shards\nsharp high contrast\nsharp high detail\nsharp high detail face\nsharp high detail illustration\nsharp high detail ultra detailed\nsharp high quality\nsharp high quality anime\nsharp high quality artwork\nsharp high quality photo\nsharp highlights\nsharp hq rendering\nsharp illustration\nsharp image\nsharp irregular shapes\nsharp irregular spiraling wings\nsharp jaw\nsharp jawline\nsharp jawline with a light beard\nsharp lends\nsharp lens\nsharp lighting\nsharp lighting. bright color\nsharp lightning\nsharp lineart\nsharp lines\nsharp linework\nsharp long horns\nsharp looking portrait\nsharp luminescent focus\nsharp mawshot\nsharp metal claws\nsharp metal crest\nsharp metal dragon claws\nsharp metal ears\nsharp nose\nsharp nose with rounded edges\nsharp outlines\nsharp paws\nsharp photo\nsharp polaroid photo\nsharp purple eyes\nsharp quality\nsharp rain\nsharp red eyes\nsharp render\nsharp robot cat paws\nsharp robot dragon claws\nsharp robot dragon paws\nsharp rocks\nsharp roofs\nsharp shadows\nsharp shapes\nsharp silver armor\nsharp silver armor fuchsia skin\nsharp sleek cyborg dragon head\nsharp sleek edged black armor\nsharp smooth\nsharp smooth focus\nsharp soft focus\nsharp spiky rocks\nsharp spines\nsharp sunray lighting\nsharp teeth\nsharp teeth and claws\nsharp teeth grin\nsharp teeth smile\nsharp textures\nsharp thick lines\nsharp tip\nsharp vampire teeth\nsharp!\nsharp-focus\nsharp-jaw\nsharp-lens\nsharp. volumetric lighting\nsharpe focus\nsharped details\nsharped nose\nsharpen\nsharpen high quality\nsharpen lines\nsharpened\nsharpened depth of field\nsharpened image\nsharper luminescent focus\nsharpfocus\nsharpie\nsharply detailed\nsharply focused\nsharply shaped\nsharpness\nsharpness applied\nsharpness focus\nsharpness. clean\nsharps focus\nsharpt teeth\nshart focus\nshatter\nshattered\nshattered abstractions\nshattered crumbling plaster\nshattered earth\nshattered glass\nshattered glass ( ( sunbeams ) )\nshattered land\nshattered sky cinematic\nshattered visor\nshattered wall\nshattering\nshattering expectations\nshattering walls\nshaun downey\nshaun of the dead\nshaun tan\nshaun tan and peter mohrbacher\nshaun tan. hyperrealism\nshaved\nshaved bald head\nshaved beard\nshaved face\nshaved hair\nshaved haircut\nshaved head\nshaved sides\nshaved sides short top\nshaved temple\nshaven\nshaven face\nshaven stubble\nshawl\nshawn coss\nshe\nshe - hulk\nshe - ra\nshe arrived in a red dress\nshe expressing joy\nshe half human and half robot\nshe has a crown of dried flowers\nshe has a crown of flowers\nshe has a cute expressive face\nshe has a cute face\nshe has a diamond eye\nshe has a distant expression\nshe has a glow coming from her\nshe has a jiggly fat round belly\nshe has beautiful bone structure\nshe has black hair\nshe has black hair with bangs\nshe has blond hair\nshe has blue eyes\nshe has elf ears and gold eyes\nshe has feathers\nshe has fire powers\nshe has iridescent membranes\nshe has long orange brown hair\nshe has long redorange hair\nshe has messy hair\nshe has olive brown skin\nshe has pale blue skin!!!\nshe has perfect white teeths\nshe has purple hair\nshe has red hair\nshe has the head of a phoenix\nshe has tired eyes\nshe has two ponytails\nshe has white eyes!!!\nshe holds a glass of wine\nshe hulk\nshe is 2 3\nshe is a gourd\nshe is about 1 6 years old\nshe is about 2 0 years old\nshe is about 2 5 years old\nshe is about 20 years old\nshe is about 3 0 years old\nshe is about 30 years old\nshe is about 4 0 years old\nshe is about 40 years old\nshe is about 50 years old\nshe is about 6 0 years old\nshe is about 60 years old\nshe is about 7 0 years old\nshe is about 70 years old\nshe is approaching heaven\nshe is arriving heaven\nshe is attracting lightnings\nshe is dancing\nshe is dancing. realistic\nshe is distressed\nshe is dressed as a belly dancer\nshe is dressed in shaman clothes\nshe is easting a peach\nshe is eating a peach\nshe is facing the camera\nshe is floating in the air\nshe is frightened\nshe is happy\nshe is holding a cat in her arms\nshe is holding a katana sword\nshe is holding a long staff\nshe is holding a smartphone\nshe is holding a sword\nshe is in pure bliss\nshe is in the potions workshop\nshe is korean\nshe is laughing\nshe is laying on her back\nshe is looking at us\nshe is mexican\nshe is posing\nshe is quiet\nshe is ready to fight\nshe is redhead\nshe is smiling\nshe is smiling and excited\nshe is smiling and happy\nshe is tall\nshe is the center of the garden\nshe is the queen of black roses\nshe is walking on a river\nshe is wearing a black dress\nshe is wearing a black tank top\nshe is wearing a hat\nshe is wearing a wet coat\nshe is wearing streetwear\nshe looks like a mix of grimes\nshe wear gasmask\nshe wear red eyed gasmask\nshe wears a dark green dress\nshe wears a jacket\nshe wears boots\nshe wears harry potter glasses\nshe wears leather jacket\nshe's on my bed in bikini\nshe's sad\nshe-ra\nsheath\nshed\nshed iridescent snakeskin\nshed roof\nsheen\nsheep\nsheep grazing\nsheep wearing a suit\nsheep wool\nsheer\nsheer cliffs surround the scene\nsheer fabrics\nsheet\nsheet music\nsheet of paper\nsheet paper\nsheik mohammad ruler of dubai\nsheikh\nsheikh mohammed ruler of dubai\nsheild\nshelf\nshell\nshell collar!!l\nshell collarl\nshell craters\nshell shocked eyes\nshells\nshells and barnacles\nshelter\nsheltered\nsheltering under a leaf\nshelves\nshelves filled with tomes\nshelves full\nshelves full of medieval goods\nshenron\nshenzhen\nshepard fairey\nshepard fairy style art\nshephard fairey poster\nshepherd's crook\nshepherds crook\nsherbert sky\nsherek head design as a bottle\nsheriff and cowboy\nsherilyn fenn 2 2 years old\nsherilyn fenn 2 6 years old\nsherilyn fenn 22 years old\nsherilyn fenn 26 years old\nsherlock holmes\nsheryl sandberg\nsheryl sandberg at soulcycle\nshes alone\nshes on my bed in bikini\nshes sad\nshia labeouf\nshiba figurine\nshiba inu\nshiba inu cosmonaut\nshiba inu cosmonaut portrait\nshiba inu dog\nshiba inu face\nshiba inu holding a baseball bat\nshiba inu portrait\nshibari\nshibu inu\nshibuya\nshibuya crossing\nshibuya prefecture\nshibuya shibuya\nshibuya street\nshichiro kobayashi\nshield\nshield design\nshield emblem\nshield sunglasses\nshields\nshift photography\nshift phtograpy\nshifty\nshigenori soejima\nshigenori soejima illustration\nshigeto hirai yuya\nshigeto koyama\nshih tzu\nshikamimi\nshikanosuke yagaki\nshikishi\nshilling\nshimmer\nshimmer detailed\nshimmering\nshimmering and prismatic\nshimmering color\nshimmering iridescent water\nshimmering light\nshimmering stars\nshimmers\nshin - hanga\nshin godzilla\nshin jeongho\nshin megami\nshin megami tensei\nshin min jeong\nshin-hanga\nshine\nshingeki no kyojin\nshinichi fukuda\nshinichi sakamoto\nshinigami\nshining\nshining and happy atmosphere\nshining armor\nshining armour made of steel\nshining claws\nshining crescent moon\nshining crystals\nshining eyes\nshining gold and black and red\nshining golden hour\nshining its light among stars\nshining lamp\nshining lamps\nshining light\nshining light and shadow\nshining lights\nshining lights on cliff side\nshining metal\nshining metal power armor\nshining meteor\nshining nordic runes\nshining pink armor\nshining plate armor\nshining rainbow feathers\nshining sea\nshining silver katana sword\nshining star\nshining sun\nshining sword\nshinji\nshinji higuchi and tomoki kyoda\nshinji ikari\nshinji kimura\nshinjuku\nshinkai\nshinkai makoto\nshinkiro\nshinkiro toshiaki mori\nshinning armor\nshinning stars\nshinning sword\nshinny deep blue high heels\nshinobi\nshinsui ito\nshintaro kago\nshinto shrine\nshintoism\nshiny\nshiny - skin\nshiny - skin!!!\nshiny and metallic\nshiny and sparkling\nshiny armor\nshiny background\nshiny black dress\nshiny black lipstick\nshiny bob haircut\nshiny brass\nshiny city in the distance\nshiny colorful\nshiny colors\nshiny crisp finish\nshiny eyes\nshiny floors\nshiny gems\nshiny glitter / crystals\nshiny glitter crystals\nshiny gloss water reflections\nshiny glossy mirror reflections\nshiny glossy skin\nshiny gold\nshiny gold background\nshiny golden\nshiny golden bikini\nshiny golden eyes\nshiny hi tech armor\nshiny jewels\nshiny knobs\nshiny layered geological strata\nshiny lighting\nshiny marble floor\nshiny materials\nshiny metal\nshiny metal armor\nshiny metallic glossy skin\nshiny plastic\nshiny plastic armor\nshiny plastic bikini\nshiny reflective surfaces\nshiny scales\nshiny silver\nshiny silver armor engraved\nshiny silver metal armor\nshiny silver with gold trim\nshiny skin\nshiny skin”\nshiny soft fur\nshiny soft skin\nshiny sparkling diamonds\nshiny surfaces\nshiny textured plastic shell\nshiny wet skin\nshiny wet skin!!\nshiny white skin\nshiny!!\nshinya tsukamoto\nshiori teshirogi\nship\nship at sea\nship control panel close-up\nship in a bottle\nship interior\nship on lake\nshipfleet on the horizon\nshipgirls\nshipibo\nshipibo patterns\nshipping containers\nshipping docks\nships\nships in the harbor\nships on fire\nships with sails\nships with sails underneath\nshipwreck\nshipwrecks\nshipyard\nshirabii\nshire\nshiro from deadman wonderland\nshiro takatani\nshirobako\nshirow masamune\nshirt\nshirt art\nshirt design\nshirtless\nshirtless  high detail\nshirtless :: high detail\nshirtless biden with tatoos\nshishkin\nshit\nshit cobwebs and shit\nshit grows\nshiva\nshkkeled in the voied\nshmup\nshock\nshocked\nshocked expression\nshocked expression on her face\nshocked face of putin demon\nshocked look\nshocking\nshocking realization\nshockwave\nshockwaves are coming out\nshodan\nshodan from system shock 2\nshodo\nshoe\nshoes\nshogakukan\nshoggoth\nshogun audio\nshogun era\nshohei otomo\nshohreh aghdashloo\nshojo\nshojo manga\nsholim\nshonen\nshonen anime\nshonen jump\nshonen jump cover\nshonen manga panel\nshonen style\nshooting\nshooting a gun\nshooting angle from below\nshooting fire war\nshooting ice\nshooting laser\nshooting pose\nshooting star\nshooting star in background\nshooting stars\nshootout\nshop front\nshop window for magical weapons\nshopping cart\nshopping cart icon\nshopping carts full of groceries\nshopping groceries\nshopping mall\nshops\nshopwindows\nshore\nshore of the lake\nshoreline\nshort\nshort - medium length hair\nshort antlers\nshort aqua blue black fade hair\nshort beard\nshort black curly hair\nshort black hair\nshort black hair with bangs\nshort black hair with gel\nshort black pixie cut hair\nshort black pixie like hair\nshort black pixie undercut hair\nshort black skirt\nshort blond hair\nshort blonde afro\nshort blonde hair\nshort blonde hair with bangs\nshort blue hair\nshort blue hair!!!\nshort blue haired woman\nshort bob hair\nshort body\nshort bookshelf\nshort braided curly blonde hair\nshort brown beard\nshort brown hair\nshort brown hair and large eyes\nshort brown hair with bangs\nshort brown leather jacket\nshort cartoon strip\nshort coat\nshort copper hair\nshort curly blonde haired girl\nshort curly hair\nshort dark blond beard\nshort dark hair\nshort dark haircut\nshort depth of field\nshort dof\nshort dreadlocks with beads\nshort dress\nshort exposure\nshort face\nshort facial hair\nshort flat hourglass slim figure\nshort focal\nshort focal length\nshort focus\nshort focus depth\nshort goatee\nshort golden curls\nshort green bobcut\nshort green hair\nshort grey hair\nshort hair\nshort hair cut\nshort hair on sides of head\nshort hair on top of his head\nshort hair style\nshort hair with gel\nshort haircut\nshort height\nshort horns\nshort in stature\nshort jacket\nshort jeans\nshort leather coat\nshort legs\nshort light brown hair\nshort light grey whiskers\nshort messy hair\nshort minidress\nshort miniskirt\nshort muzzle\nshort neck\nshort on sides\nshort pants\nshort person\nshort perspective\nshort pigtails hair\nshort pink hair\nshort platinum hair tomboy\nshort ponytail\nshort puffy pants\nshort puffy pants made of silk\nshort purple black fade hair\nshort purple hair\nshort purple hair with undercut\nshort red black fade hair\nshort red hair\nshort redhead\nshort robust woman\nshort scruffy beard\nshort shaved hair\nshort shorts\nshort silver grey hair\nshort silver hair\nshort size\nshort skirt\nshort skirt and a long jacket\nshort skirt length\nshort sleeves\nshort slicked - back hair\nshort smile\nshort spiked hair\nshort spiky blonde hair\nshort spiky hair\nshort spout\nshort straight hair\nshort stubble\nshort telephoto\nshort to medium length hair\nshort torso\nshort unkempt green hair\nshort wavy blond hair\nshort wavy hair\nshort white beard\nshort white hair\nshort white hair shaved sides\nshortbow\nshorter neck\nshorting\nshorts\nshorts!!\nshortsword\nshot\nshot at dark with studio lights\nshot at golden hour\nshot at night with studio lights\nshot composition\nshot for imax\nshot for pottery magazine\nshot from 5 0 feet distance\nshot from a distance\nshot from a drone\nshot from a low angle\nshot from above\nshot from afar\nshot from behind\nshot from behind blades of grass\nshot from below\nshot from cinematic\nshot from danis villeneuve movie\nshot from drone\nshot from far away\nshot from game of thrones\nshot from low angle\nshot from movie\nshot from professional camera\nshot from roofline\nshot from space\nshot from the back\nshot from the side\nshot in 35mm\nshot in canon\nshot in canon 50mm f/1.2\nshot in the air\nshot in the photo studio\nshot in the sky\nshot in wide angle\nshot of a highly detailed\nshot of a space station at night\nshot of face\nshot of film\nshot on 1 5 0 mm\nshot on 1 6 mm\nshot on 16mm film\nshot on 3 5 mm\nshot on 3 5 mm film\nshot on 35 mm\nshot on 35mm\nshot on 7 0 mm\nshot on 70 mm\nshot on 70mm\nshot on 85mm\nshot on a 2 0 0 3 camera\nshot on a 9.8mm wide angle lens\nshot on alexa\nshot on an iphone\nshot on anamorphic lenses\nshot on arri alexa\nshot on canon camera\nshot on canon eos r 5\nshot on canon eos r5\nshot on expired instamatic film\nshot on expired kodak film\nshot on film\nshot on gopro9\nshot on hasselblad\nshot on imax\nshot on iphone\nshot on iphone 1 3 pro\nshot on iphone 1 3 pro max\nshot on iphone 6\nshot on kodachrome\nshot on kodak ektar\nshot on kodak vision 200t\nshot on large format film camera\nshot on leica\nshot on leica sl2\nshot on nicon camera\nshot on nikon d 3 2 0 0\nshot on nikon z9\nshot on polaroid\nshot on red camera\nshot on sony a 7\nshot on sony a 7 iii\nshot on sony alpha dslr-a300\nshot on superia 400 film stock\nshot on superia 400 filmstock\nshot on webcam\nshot onfilm\nshot with a arriflex 35 ii\nshot with a camera flash\nshot with a canon\nshot with a canon 20mm lens\nshot with a canon 35mm lens\nshot with a dslr\nshot with a gopro\nshot with a professional camera\nshot with an analog camera\nshot with canon 5 d mark ii\nshot with canon eoa 6 d mark ii\nshot with hasselblad\nshot with hasselblade camera\nshot with iphone 1 0\nshot with premium dslr camera\nshot with sigma f / 4. 2\nshot with sigma f/ 4.2\nshot with sony alpha\nshot with sony alpha 1 camera\nshot wounds\nshotaro ishinomori\nshotgun\nshotguns\nshots fired\nshoujo\nshoujo manga\nshoujo manga character design\nshoujo romance\nshould eyes\nshoulder\nshoulder - length\nshoulder - length blonde hair\nshoulder - length hair\nshoulder eyes\nshoulder length black hair\nshoulder length hair\nshoulder level shot\nshoulder long hair\nshoulder mounted gun\nshoulder pads\nshoulder patch design\nshoulder tattoo\nshoulder-length black hair\nshoulder-length brown hair\nshoulder-length hair\nshoulder-long straight\nshoulders\nshoulders and head\nshoulders can be seen\nshoulders eyes\nshoulders up\nshounen jump\nshouting\nshovel knight as daft punk\nshow\nshow from below\nshow it\nshow light\nshow room scene\nshow-accurate\nshowcase\nshowcases full of embryos\nshowdown\nshower cap\nshowers\nshowing a screen playing tetris\nshowing anger\nshowing curves\nshowing forehead\nshowing her face\nshowing her shoulder from back\nshowing his paws to viewer\nshowing kingdoms\nshowing off biceps\nshowing off his muscles\nshowing strong muscles\nshowing teeth\nshowing victory\nshowpiece\nshows a leg\nshowstudio\nshpongle\nshrap focus\nshredded\nshrek\nshrek as captain america\nshrek as neo from the matrix\nshrek doing ballet\nshrek faced\nshrek portrait\nshrek with red eyes\nshrimp\nshrimps are all over the ground\nshrine\nshrines\nshrinking spell\nshrooms\nshroud\nshrouded\nshrouded face\nshrouded figure\nshrouded in darkness\nshrouded in fog\nshrouded in mist\nshrubbery\nshrubs\nshrubs and flowers. esao andrews\nshrugging\nshrugging arms\nshui mo hua\nshunga style\nshungite bangle\nshurikens\nshusei nagaoka\nshut down\nshut eyes\nshutter\nshutter speed 1/1000\nshutter speed 1/125\nshutter speed is 8 0\nshuttered mall store\nshutters\nshuttershock\nshuushuu anime image\nshy\nshy and demure\nshy beetles\nshy looking down\nshy smile\nshy smiling face\nsi - fi\nsiamese twins\nsiamese twins made of spaghetti\nsiberia\nsiberia!!\nsiberian husky\nsiblings\nsichuan\nsicilian\nsick\nsick with a cold\nsickened flesh decay\nsickening\nsickle\nsickly\nsickly colors\nsickly green colors\nsickness\nsicko\nsid\nsid mead\nsid meier\nside\nside  profile\nside - profile painted portrait\nside - scrolling 2 d platformer\nside - scrolling 2d platformer\nside - view\nside angle\nside boob\nside centered painted portrait\nside elevation\nside fed\nside fringe haircut\nside front view\nside hair\nside light\nside lighting\nside lighting xf iq4\nside lights\nside of head\nside parted combover brown hair\nside perspective\nside portrait\nside portrait dark witch\nside portrait imagery\nside portrait of a girl\nside portrait of a girl walking\nside portrait of cute girl\nside portrait of elven royalty\nside portrait of imogen poots\nside portrait rugged girl\nside pose\nside profile\nside profile artwork\nside profile cenetered portrait\nside profile centered\nside profile centered portrait\nside profile in underwater\nside profile painted portrait\nside profile portrait\nside profile shot\nside profile view\nside profile waist up portrait\nside scroller\nside scroller game\nside scrolling\nside shot\nside view\nside view centered\nside view close up of a gaunt\nside view from afar\nside view future coder man\nside view intricate details\nside view of a gaunt\nside view of her taking steps\nside view profile\nside view profile centered\nside-view\nside-view. highly detailed\nsideburns\nsidefx\nsidefx houdini\nsidelit\nsideshow collectibles\nsideshow figurines\nsideview\nsidewalk\nsideways glance\nsidious\nsidney lugo\nsie boob\nsiege\nsienna\nsierpinski gasket\nsierra entertainment games\nsierra games\nsifi\nsiggraph\nsight\nsight proof\nsighting\nsigil\nsigils\nsigma\nsigma 1 0 - 2 0 mm\nsigma 1 0 5 mm f 2\nsigma 1 0 5 mm f 2. 8\nsigma 1.6\nsigma 1/6\nsigma 1/6. 50 mm\nsigma 100mm\nsigma 2 4 mm\nsigma 2 4 mm f / 8\nsigma 2 8 mm\nsigma 200mm\nsigma 24 mm f/8\nsigma 24mm f/8\nsigma 24mm f8\nsigma 28mm\nsigma 3 5 mm\nsigma 30 mm f/1.4\nsigma 35mm\nsigma 35mm f/1.4\nsigma 35mm f/2.8 dg dn art\nsigma 35mm f/8\nsigma 5 0\nsigma 5 0 0 mm f / 5\nsigma 5 0 mm\nsigma 5 0 mm f 1. 4\nsigma 5 5\nsigma 50 mm f/1.4\nsigma 500mm f/5\nsigma 50mm\nsigma 50mm f/1.4\nsigma 50mm f/5.6\nsigma 55mm f/8\nsigma 55”\nsigma 7 5 mm\nsigma 75mm\nsigma 8 0 mm\nsigma 8 5 mm\nsigma 8 5 mm f / 1 4\nsigma 8 5 mm f / 1. 4\nsigma 8 5 mm f / 8\nsigma 8 5 mm f 1 6\nsigma 8 5 mm f 1. 4\nsigma 8 5 mm f 1. 5!!\nsigma 8 5 mm f 1. 8\nsigma 8 5 mm f _ 8\nsigma 80mm\nsigma 85 mm\nsigma 85 mm f 1.4\nsigma 85 mm f/1.4\nsigma 85 mm f/14\nsigma 85/1.2 portrait\nsigma 85mm\nsigma 85mm 1.4\nsigma 85mm art\nsigma 85mm f/1.4\nsigma 85mm f/8\nsigma 85mm f1.4 dg dn\nsigma 85mm f_1.4\nsigma 85mm lens f/1.4\nsigma 85mm lens f/1.8\nsigma art 135 mm f 1.4\nsigma art 8 5 mm f 1. 4\nsigma art 85 mm\nsigma art 85mm f1.4\nsigma art 85mm f1.8\nsigma art lens\nsigma female\nsigma from overwatch\nsigma lens\nsigma lens photo\nsigma look\nsigma male\nsigman 85mm\nsign\nsign that says 1 0 0\nsignature\nsignature on the bottom\nsignatures\nsignboards\nsigned\nsignificant pebbles boundaries\nsigning a bill\nsigning autographs\nsigns\nsigourney weaver\nsigourney weaver smiling age 2 5\nsil from species\nsilence\nsilenced pistol\nsilent\nsilent decay coloring\nsilent echo\nsilent hill\nsilent hill 1\nsilent hill 3 game screenshot\nsilent hill aesthetic\nsilent hill concept art\nsilent hill game\nsilent hill in real life\nsilent hill landscape\nsilent hill streets\nsilent hill style\nsilent movie\nsilent running\nsilent running ( film )\nsilhouette\nsilhouette :7\nsilhouette of a girl and her cat\nsilhouette of a man\nsilhouette of man\nsilhouette over sunset\nsilhouette!!!\nsilhouetted\nsilhouettes\nsilhouettes in field behind\nsilhouettes of people\nsilhoutte\nsilhuette\nsilicon and carbon\nsilicone cover\nsilicone patch design\nsilicone skin\nsiliconized\nsilk\nsilk belt\nsilk colors\nsilk dress\nsilk flowing in wind\nsilk hat\nsilk robes\nsilk screen\nsilk screen art\nsilk screen print\nsilk screen t-shirt design 4k\nsilk shoes\nsilk spectre\nsilk stockings\nsilk tarps hanging\nsilken blonde hair\nsilken hair\nsilks\nsilkscreen\nsilkscreen pop art\nsilkscreen print\nsilkscreen t-shirt art\nsilky\nsilky garment\nsilky hair\nsilky smooth\nsilky straight hair\nsilky texture\nsilly\nsilly and serious\nsilly cartoon\nsilly face\nsilly playful fun face\nsilmarillion\nsilo\nsiluette\nsiluettes\nsilvain sarrailh\nsilver\nsilver accessories\nsilver age of comics\nsilver and amethyst\nsilver and blue color schemes\nsilver and blue colors\nsilver and cool colors\nsilver and crimson ink\nsilver and emerald breastplate\nsilver and gold\nsilver and gold heavy armor\nsilver and muted colors\nsilver and sapphire\nsilver and yellow color scheme\nsilver angel wings\nsilver armor\nsilver armor and red clothing\nsilver armor with gold trim\nsilver armor with thin gold trim\nsilver background\nsilver bracelets\nsilver chrome color\nsilver color\nsilver crown\nsilver curly hair\nsilver cyber armor\nsilver dechroic details\nsilver details\nsilver earring\nsilver earrings\nsilver egg cup\nsilver eyes\nsilver eyes full body\nsilver filigree\nsilver filigree details\nsilver full beard\nsilver garment\nsilver gelatin print\nsilver gelatine realistic\nsilver glasses\nsilver gold details\nsilver gold fractal details\nsilver gold red details\nsilver hair\nsilver hair (ponytail)\nsilver hair and beard\nsilver hair girl\nsilver hair ponytail\nsilver hair so long\nsilver hair!!\nsilver haired\nsilver highlights\nsilver hues\nsilver insect legs\nsilver insignia\nsilver intricate armor\nsilver iodide\nsilver jewellery\nsilver jewelry\nsilver light\nsilver lining\nsilver long hair\nsilver metal armor\nsilver metallic moncler jacket\nsilver mist\nsilver monocle\nsilver necklace\nsilver nitrate photography\nsilver ornaments\nsilver palette\nsilver platter\nsilver ponytail hair\nsilver prince crown\nsilver red\nsilver red white details\nsilver shaggy hair\nsilver sharp streamlined armor\nsilver shimmering hair\nsilver silver glasses\nsilver skin\nsilver small glasses\nsilver small small small glasses\nsilver snakes\nsilver space suit\nsilver sports watch\nsilver steampunk gears\nsilver sword\nsilver very ornate jewelry\nsilver white and gold\nsilver white gold red details\nsilver white hair\nsilver white red details\nsilver wings\nsilver with gold accents\nsilver with gold trim\nsilvergill adept\nsilverplate\nsilvery skinned male elf\nsilver，ivory\nsilvio berlusconi\nsilvio santos\nsim city 4\nsimba\nsimetric photography\nsimetrical medium shot\nsimilar aesthetics to picasso\nsimilar to hagrid\nsimilar to legolas\nsimilar to malfoy\nsimilar to pokemon\nsimilar to the bifrost\nsimilar to the mona lisa\nsimin stalenhag\nsimon\nsimon birch\nsimon bisley and alphonse mucha\nsimon bisley and frank frazetta\nsimon bisley and paolo parente\nsimon bisley and richard corben\nsimon bisley!\nsimon bosley\nsimon cowell\nsimon holmedal\nsimon lee\nsimon pegg portrait\nsimon roy\nsimon stalberg\nsimon stalenhag highly detailed\nsimon stalenhag palette\nsimon stalenhag. masterpiece\nsimon stälenhag\nsimon stålenhag color scheme\nsimon stålenhag. digital art\nsimona sbaffi is the captain\nsimone graci\nsimonetti\nsimpe hands\nsimple\nsimple 2d flat design\nsimple aesthetic\nsimple airplane cockpit\nsimple anatomic\nsimple and clean illustration\nsimple art\nsimple background\nsimple bionic exploded drawing\nsimple brutalist architecture\nsimple but effective composition\nsimple cartoon\nsimple cartoon style\nsimple ceiling\nsimple chromatic xray\nsimple clean lines\nsimple clothes\nsimple clothing\nsimple clothing!!!!\nsimple clothing!!!!!\nsimple colors\nsimple composition\nsimple concept art portrait of\nsimple cream dress\nsimple curvilinear watercolor\nsimple design\nsimple design concepts\nsimple detail. greenish lighting\nsimple details\nsimple digital art\nsimple drawing\nsimple dress\nsimple elegant design\nsimple fantasy map\nsimple figures\nsimple flight instruments\nsimple form\nsimple futurist cyborg empress\nsimple gable roofs\nsimple gradients\nsimple illustration\nsimple line art\nsimple lineart\nsimple lines\nsimple logo\nsimple magic ring of poison\nsimple minimal\nsimple muted colors\nsimple nostalgic\nsimple path traced\nsimple primitive tube shape\nsimple red background\nsimple shading\nsimple shape\nsimple shapes\nsimple structure\nsimple style\nsimple stylized\nsimple tree fractal\nsimple water color\nsimple watercolor\nsimple white background\nsimple white veil\nsimple wood shelves\nsimple yet detailed\nsimplfied\nsimplicity\nsimplified\nsimplified forms\nsimplified shapes\nsimplified zentangle\nsimplistic\nsimplistic design\nsimplistic iconography\nsimplistic style\nsimply style\nsimpsons\nsimpsons and nendoroid mashup\nsimpsons style\nsims 4 screenshot\nsimulacra\nsimulacrum of a space fungus\nsimulated space combat\nsimulation\nsimulation of water splashes\nsimón staalhag style\nsin city\nsince\nsincere\nsincere face\nsinew\nsing for the laughter\nsing for the tear\nsing with me\nsingapore\nsingapore ( 2 0 1 8 )\nsingapore city\nsingapore esplanade\nsinger\nsinger - songwriter\nsinger beyoncé as she-hulk\nsinger in the voice show\nsinger maluma\nsinger songwriter\nsinger songwriter nin\nsinging\nsinging at a opera house\nsinging for you\nsinging into microphone\nsingle\nsingle !!tear!!\nsingle area of attention\nsingle aztec skull\nsingle bangla farmer fighting\nsingle body\nsingle building\nsingle centered subject\nsingle chair\nsingle chair brass\nsingle character\nsingle character concept art\nsingle character full body\nsingle character!\nsingle clay museum sculpture\nsingle color\nsingle eye\nsingle face\nsingle figure\nsingle figure composition\nsingle file\nsingle flat colour\nsingle flooded tower\nsingle floor\nsingle head\nsingle horn\nsingle image\nsingle light\nsingle light source\nsingle line\nsingle line drawing\nsingle logo\nsingle long stick\nsingle object scene\nsingle pair of hands\nsingle panel\nsingle person\nsingle person with umbrella\nsingle pine\nsingle plot\nsingle point of light\nsingle point perspective\nsingle portrait\nsingle ray of golden sunlight\nsingle ray of moon\nsingle ray of sun\nsingle realistic face\nsingle scary female vampire nun\nsingle silhouette figure\nsingle solid body\nsingle steering wheel\nsingle street\nsingle strobe light\nsingle subject\nsingle tear\nsingle tentacle\nsingle tree\nsingle vague light\nsingular\nsingular gigantic building focus\nsingular light source from below\nsingular lightning\nsingularity\nsingularity sculpted �ー etsy\nsingularity!!!\nsinister\nsinister ambience\nsinister and stylish\nsinister atmosphere\nsinister background\nsinister complexion\nsinister dark fantasy\nsinister demonic atmosphere\nsinister eyes\nsinister lighting\nsinister looking\nsinister mood\nsinister photo\nsinister portrait\nsinister pose\nsinister vibe\nsink\nsink ( ( ( fish tank ) ) ) ) )\nsinkhole\nsinkholes\nsinking\nsinking as if drowing\nsinking into madness\nsinking underwater\nsins inc skyscraper front\nsinuous\nsinuous fine roots\nsir joshua reynolds\nsir lawrence alma - tadema\nsir lawrence almda tadema\nsiren\nsiren song\nsirens\nsirius\nsirius a and sirius b\nsirius star system\nsisters\nsistina\nsistine chapel\nsistine chapel ceiling\nsisyphus compostition\nsit - com\nsit on a bench\nsit on the edge of swimming pool\nsit on throne\nsitcom\nsitcom screenshot\nsith\nsith lord\nsith lord. dramatic lighting\nsiting in a chair\nsiting on a toilet\nsits on a finger\nsits on a rooftop\nsittin\nsitting\nsitting across the room\nsitting alone\nsitting alone at a bar\nsitting alone in a cafe\nsitting at a bar\nsitting at a computer\nsitting at a computer desk\nsitting at a control center\nsitting at a desk\nsitting at a pond\nsitting at a table\nsitting at desk\nsitting at desk at keyboard\nsitting at his desk\nsitting at his louis xiv desk\nsitting at table\nsitting at the bar\nsitting at the beach\nsitting at the edge of pool\nsitting at the parlament meeting\nsitting at the resolute desk\nsitting at the table\nsitting atop a dusty mountaintop\nsitting behind desk\nsitting cross-legged\nsitting cutely on a mountain\nsitting down\nsitting down casually\nsitting dynamic pose\nsitting in a cafe\nsitting in a cafe alone\nsitting in a castle\nsitting in a cemetery at night\nsitting in a chair\nsitting in a colorful forest\nsitting in a crane\nsitting in a dark prison cell\nsitting in a field\nsitting in a field of cannabis\nsitting in a field of flowers\nsitting in a fluffy cloud\nsitting in a gilded throne\nsitting in a lounge\nsitting in a movie theater\nsitting in a plastic throne\nsitting in a prison\nsitting in a reflective pool\nsitting in a rocking chair\nsitting in a small bamboo boat\nsitting in a tree\nsitting in a waiting room\nsitting in a wheelchair\nsitting in an armchair\nsitting in an empty white room\nsitting in bedroom\nsitting in chair\nsitting in dean's office\nsitting in deans office\nsitting in fancy chair\nsitting in french apartment\nsitting in front of a lake\nsitting in front of a microphone\nsitting in front of computer\nsitting in her car\nsitting in her room\nsitting in her throne underwater\nsitting in his chair. intricate\nsitting in his highchair\nsitting in his throne underwater\nsitting in his tie fighter\nsitting in office\nsitting in rural living room\nsitting in ten forward\nsitting in the classroom\nsitting in the forrest\nsitting in the garden\nsitting in the pool\nsitting in the rose garden\nsitting in tokyo\nsitting near a river\nsitting on a bed\nsitting on a bench\nsitting on a chair\nsitting on a couch\nsitting on a curly branch\nsitting on a desk\nsitting on a golden throne\nsitting on a grand staircase\nsitting on a lab table\nsitting on a leaf\nsitting on a log\nsitting on a lotus flower\nsitting on a martian rock\nsitting on a metal throne\nsitting on a miniature city\nsitting on a mocha-colored table\nsitting on a moon\nsitting on a motorcycle\nsitting on a park bench\nsitting on a pile of gold coins\nsitting on a red button\nsitting on a reflective pool\nsitting on a rock\nsitting on a skyscraper rooftop\nsitting on a sofa\nsitting on a stone throne\nsitting on a stool\nsitting on a store shelf\nsitting on a table\nsitting on a throne\nsitting on a tree\nsitting on a window sill\nsitting on a wood dock\nsitting on a wooden dock\nsitting on an armchair\nsitting on an ornate throne\nsitting on an royal throne\nsitting on bench\nsitting on bent knees\nsitting on chair\nsitting on couch\nsitting on cyberpunk motorbike\nsitting on designer chair\nsitting on edge of bed\nsitting on golden throne\nsitting on green grass\nsitting on her bed\nsitting on her throne\nsitting on his throne\nsitting on ice throne\nsitting on intricate throne\nsitting on man's fingertip\nsitting on obsidian throne\nsitting on one knee on the grass\nsitting on rocks\nsitting on santa\nsitting on temple stairs\nsitting on the beach\nsitting on the beach at night\nsitting on the bed\nsitting on the cosmic cloudscape\nsitting on the couch\nsitting on the edge\nsitting on the edge of a bed\nsitting on the floor\nsitting on the ground\nsitting on the iron throne\nsitting on the porcelain throne\nsitting on the sofa\nsitting on the table\nsitting on the throne\nsitting on throne\nsitting on tiger cavalry\nsitting on top a table\nsitting on top of a cryopod\nsitting on top of a rainbow\nsitting on vintage leather sofa\nsitting pose\nsitting relax and happy\nsitting sad in spaceship\nsitting under a tree\nsitting under bridge\nsitting with flowers\nsitting with wrists together\nsituation\nsituationist international\nsiwoo kim\nsix arms\nsix eyes\nsix from little nightmares\nsix pack\nsix packs\nsix point perspective\nsix sided\nsix-dimensional\nsix-pack\nsixteen-dimensional\nsixties\nsixties pinup\nsiya oum\nsize\nsize 1 0\nsize 10\nsize difference\nsizes and colors\nsk\nska skeleton and girlfriend\nskary\nskate park\nskateboard\nskateboard art\nskateboarder style\nskateboarding\nskatepark\nskatepark in flames\nskater skirt\nskaven\nskeb.jp\nskeksis\nskeletal\nskeletal figures\nskeletal male figure\nskeletal omens\nskeletal with extra flesh\nskeletal with extra fleshy bits\nskeleton\nskeleton - like creature\nskeleton climbing\nskeleton corpse\nskeleton cowboy\nskeleton drummer\nskeleton face\nskeleton face symmetrical face\nskeleton girl\nskeleton in a suit\nskeleton king\nskeleton knight\nskeleton pirate\nskeleton warrior\nskeleton with eyes\nskeleton-like creature\nskeletons\nskeletons on a pirate ship\nskeletons on the ground\nskeletons rising from the dead\nskeletons smoking cigars\nskeletor\nskelleton\nskeptical expression\nsket - one x iamretro\nsketch\nsketch - up\nsketch art\nsketch black and white colors\nsketch book\nsketch drawing\nsketch illustration\nsketch of a caucasian face\nsketch of a lucid dream\nsketch of an ocean in ms paint\nsketch of oculus rift\nsketch style\nsketch tattoo\nsketch-like\nsketchbook\nsketchbook drawing\nsketched\nsketched 4k\nsketches\nsketchfab\nsketchfab »\nsketching\nsketchlab\nsketchy\nsketchy artstyle\nsketchy expressive linework\nsketchy lines and brushstrokes\nskeumorphism\nskeuomorphic\nskewed perspective\nskewed shot\nskewer\nski mask\nski masks\nskidding\nskies\nskies behind\nskiff\nskiing\nskill ability art\nskilled\nskilled geisha of the japanese\nskilled homeless\nskilled warrior of the apache\nskimask\nskimpy leather armor\nskimpy shorts\nskin\nskin : tjalf sparnaay\nskin blemishes\nskin care\nskin color\nskin concept\nskin detail\nskin details\nskin grain detail\nskin made of led point lights\nskin of flames\nskin on the gaming pc\nskin painted with green\nskin pore detail\nskin pores\nskin reflections\nskin reflective metallic\nskin spikes\nskin texture\nskin texture details\nskin texture like a brain\nskin texture natural\nskin textures\nskin tinted a warm tone\nskin tones\nskin wounds\nskincare\nskindentation\nskinless head\nskinned\nskinned alive\nskinny\nskinny breaking bad\nskinny caucasian man\nskinny caucasian young man\nskinny face\nskinny female artist back view\nskinny girl in white boho dress\nskinny grunt face\nskinny male fantasy alchemist\nskinny male fantasy scientist\nskinny male mage\nskinny male magician\nskinny upper arms\nskinny waist and thick hips\nskins\nskintight\nskintight black bodysuit\nskintight black clothes\nskintight dress\nskintight jet black leahter coat\nskintight leather clothes\nskintight rainbow body suit\nskintight red leather armor\nskintight silver armor\nskintight suits\nskinwalker\nskirt\nskottie young\nskull\nskull and bones\nskull and crossbones\nskull bones\nskull bones flowers\nskull bust\nskull cane\nskull cap\nskull clown\nskull clown inside a circus\nskull design for a rock band\nskull earings\nskull face\nskull face paint\nskull faces\nskull head\nskull helmet\nskull image on the vest\nskull in broken space helmet\nskull island\nskull like\nskull liminal void background\nskull made of red roses\nskull mask\nskull on the chest\nskull on the screen\nskull paint\nskull protruding from face\nskull tattoo\nskulled creature with black fur\nskullish\nskulls\nskulls and bones\nskulls and gas masks\nskulls and skeletons\nskulls are lying underneath\nskulls around\nskulls at her hips\nskulls in hands\nskulls made of algae\nskulls on the ground\nsky\nsky - blue dress\nsky - fi\nsky - high view\nsky and ocean background\nsky background\nsky blue\nsky blue and white color scheme\nsky blue eyes\nsky blue hair\nsky blue highlights in hair\nsky blue straight hair\nsky bridge\nsky bridges\nsky falling\nsky focus\nsky forest background\nsky full of clouds\nsky full of stars\nsky gradient\nsky high level of alcoholism\nsky in a background\nsky in background\nsky in the background\nsky is not visible\nsky is orangish outside\nsky island\nsky line\nsky made of ceiling panels\nsky mural on the room ceiling\nsky night\nsky on fire\nsky scrapers\nsky setting\nsky strewn with stars\nsky swirling with black wind\nsky theme in background\nsky town\nsky view\nsky whales\nsky whith plump white clouds\nsky witch\nsky with swirling clouds\nsky!\nsky!!!\nsky-blue thick fur coat\nsky-blue thick fur robes\nskybox\nskybridge towers\nskybridges\nskycrapers\nskycrapers 1930s\nskydiving\nskydoll noa\nskydome\nskydsgaard\nskye meaker\nskyfall\nskyfire\nskylight open ceiling\nskylights\nskyline\nskyline in back\nskyline in the distance\nskyline showing\nskyline showing from the windows\nskyline view from a rooftop\nskynet\nskyrim\nskyrim armor\nskyrim art\nskyrim civil war\nskyrim gameplay\nskyrim inspired\nskyrim intro\nskyrim mod\nskyrim pc screenshot\nskyrim screenshot\nskyrim setting\nskyscape\nskyscapers\nskyscraper\nskyscraper forest community\nskyscrapers\nskyscrapers and flying cars\nskyscrapers in the background\nskyscrapers in the distance\nskyscrapers on the background\nskyscrapers with greenery\nskywind\nslaanesh\nslam dancing\nslam dancing creatures\nslam dunk\nslanted amber eyes\nslanted ceiling\nslanted lighting from window\nslapstick\nslash and burn\nslash page\nslasher\nslasher movie\nslasher smile\nslate\nslaughterhouse\nslav epic\nslave\nslave collar\nslavic\nslavic city. big mushrooms\nslavic dog head man\nslavic features\nslavic folk fairytale\nslavic folklore symbols\nslavic mythology\nslavic orcs in the steppe\nslavic style\nslavic!!!\nslavoj zizek\nslay\nslayer\nsleazy\nsleazy dark future\nsleek\nsleek armor\nsleek black and white\nsleek blond hair\nsleek blue visor for eyes\nsleek bright white armor\nsleek cool waterproof design\nsleek curves\nsleek dark fur\nsleek design\nsleek dragon head\nsleek dragon legs\nsleek eyes\nsleek flowing shapes\nsleek glass buildings\nsleek glowing armor\nsleek gold armor\nsleek hands\nsleek head\nsleek interceptor profile\nsleek legs\nsleek mecha female dragon head\nsleek metal ears\nsleek metal head\nsleek oled blue visor for eyes\nsleek outfit\nsleek purple armor\nsleek purple eyes\nsleek robes\nsleek robot\nsleek round shapes\nsleek silver armor\nsleek smooth white plated armor\nsleek spines\nsleek streamlined design\nsleek streamlined white armor\nsleek utopian design\nsleek visor\nsleek waterproof design\nsleek white\nsleek white armor\nsleek yellow eyes\nsleek!!!\nsleep\nsleep deprived\nsleep paralysis\nsleep paralysis demon\nsleep paralysis monster\nsleep with love\nsleepers\nsleeping\nsleeping bag\nsleeping beauty\nsleeping beauty fairytale\nsleeping cat on window\nsleeping princess!!!!\nsleepwear\nsleepy\nsleepy expression\nsleepy eyes\nsleepy fashion model face\nsleepy feeling\nsleet\nsleeveless\nsleeveless red dress\nsleeveless tops\nsleeveless turtleneck\nsleipnir\nslend body\nslender\nslender and muscular build\nslender body\nslender boy with a pale\nslender figure\nslender girl\nslender man\nslender nose\nslender symmetrical body\nslender symmetrical face\nslender waist\nslender woman\nslenderman\nslenderman in the woods\nslenderman zombie\nslice - of - life\nslice of life\nslice of life anime\nslice of life”\nsliced banana\nsliced bread in slots\nsliced grapefruit\nslices of orange\nslicing the air. pop surrealism\nslick\nslick clammy skin\nslick design\nslick elegant design\nslick hair\nslick leather armor\nslick leds\nslick pink armor\nslick tires\nslick wet walls\nslick!!\nslicked back hair\nslicked black hair\nslicked-back hair\nslide show\nslides\nsliding glass windows\nslifer the sky dragon\nslight awkward smile\nslight bloom\nslight blur\nslight bokeh\nslight color bleed\nslight cute smile\nslight evil smile\nslight fog\nslight freckles\nslight friendly smile\nslight glow\nslight grain\nslight haze\nslight lens flare\nslight lens glare\nslight motion blur\nslight nerdy awkward smile\nslight nerdy smile\nslight overcast\nslight overcast lighting\nslight overcast weather\nslight ruination\nslight smile\nslight smile and open eyes\nslight smile expression\nslight smirk\nslight stubble\nslight yellow hue\nslightly - pointed ears\nslightly abstract\nslightly awkward smile\nslightly awkward smile!\nslightly blurred\nslightly blurry\nslightly buck - toothed\nslightly colorful\nslightly dark colors\nslightly defined jawline\nslightly desaturated colors\nslightly dirty face\nslightly drunk\nslightly erotic\nslightly fat\nslightly foggy\nslightly golden\nslightly happy facial expression\nslightly holographic\nslightly larger nose\nslightly minimal\nslightly muscular\nslightly open mouth\nslightly out of focus\nslightly overexposed\nslightly overweight\nslightly pixelated\nslightly realistic\nslightly red\nslightly round chin\nslightly rounded face\nslightly set back jaw\nslightly smiling\nslightly smirking\nslightly smooth\nslightly sunny\nslightly sunny weather\nslightly tanned\nslightly turned to the right\nsligthly hard shadows\nslik design\nslim\nslim aarons\nslim and tall\nslim body\nslim build\nslim face\nslim female figure\nslim figure\nslim legs\nslim shady tennis ball monster\nslim waist\nslime\nslime and tentacles\nslime mold\nslime mold forest environment\nslime monster\nslime rancher\nslimer\nslimes\nslimey\nslimmer demeanor\nslimy\nslimy and hot\nslimy and reflective\nslimy fluid liquid\nslimy fluid liquid blobs\nslimy pus oozing specular\nslimy shiny reflective joy\nslimy tongue\nslimy unreal engine\nsling bikini\nslip n slide\nslipknot\nslippers\nslit - scan photography\nslit pupils\nslit-scan photography\nsliver ice color reflected armor\nsloped site\nsloped street\nsloppy\nsloth\nsloth as the king of cups\nsloth stoned af\nslovakia\nslovenian\nslow\nslow - mo high speed photography\nslow - shutter\nslow exposure hdr 8 k\nslow exposure hdr 8k\nslow flash sync\nslow motion\nslow motion fashion\nslow shutter\nslow shutter speed\nslowtime\nslr\nsludge\nsludgy\nslum\nslum mountain futuristic urban\nslums\nslurping spaghetti\nslush\nslush!!\nslush))\nslutcore\nsly\nsly expression\nsly smile\nsmall\nsmall and cosy student bedroom\nsmall and dense intricate vines\nsmall and sharp pupils\nsmall and thick red lips\nsmall animals\nsmall astronaut looking up\nsmall astronauts\nsmall beard\nsmall bed not made\nsmall bedroom\nsmall bees following the leader\nsmall black eyes\nsmall blond goatee\nsmall blue eyes\nsmall boat\nsmall boat in foreground\nsmall boat in the foreground\nsmall breasts\nsmall brush strokes\nsmall buildings\nsmall canoes\nsmall castle in the distance\nsmall chamber. hyperrealistic\nsmall character. unreal engine 5\nsmall chest\nsmall chin\nsmall city\nsmall clocks as leaves\nsmall cottage in the foreground\nsmall cottage with red shutters\nsmall creek\nsmall crowd of people\nsmall crown\nsmall curvy loli\nsmall dark grey beard\nsmall demons\nsmall depth of field\nsmall details\nsmall dock\nsmall dog\nsmall ears\nsmall elongated planes\nsmall eyebrows\nsmall eyes\nsmall fairies\nsmall features\nsmall fence\nsmall finely stippled light\nsmall fire\nsmall fish swimming around\nsmall flames\nsmall flowing stream from wall\nsmall freckles\nsmall gadget\nsmall glasses\nsmall hairs\nsmall hat\nsmall head\nsmall heart - shaped face\nsmall hipster coffee shop\nsmall horns\nsmall houses\nsmall human eyes\nsmall in size\nsmall jaw\nsmall kitchen\nsmall lake\nsmall led lights\nsmall legs\nsmall library\nsmall lips\nsmall lips pointy nose\nsmall loli girl\nsmall man\nsmall manufacture\nsmall medium and large elements\nsmall mouth\nsmall necklace\nsmall neon keyboard\nsmall nixie tubes\nsmall nose\nsmall nose with freckles\nsmall path up to door\nsmall people with torches\nsmall plants\nsmall plants on the window sill\nsmall plump lips\nsmall pond\nsmall port village\nsmall portraits\nsmall quills along it's back\nsmall rectangular glasses\nsmall red lights\nsmall red roses\nsmall reeds behind lake\nsmall reflecting rainbow stars\nsmall retro starship in the sky\nsmall retro starship is near\nsmall river\nsmall river on the ground\nsmall robots\nsmall room\nsmall room in tokyo\nsmall round face\nsmall scale\nsmall scandinavian!!! houses\nsmall scandinavianhouses\nsmall settlements\nsmall shoulders\nsmall smile\nsmall spacecraft in background\nsmall spaceships\nsmall spot light on robot\nsmall square glasses\nsmall starship near\nsmall stature\nsmall steps leading down\nsmall straight nose\nsmall streaks of light through\nsmall stream\nsmall studded earings\nsmall style cue from mad max\nsmall town\nsmall town surrounding\nsmall upturned nose\nsmall vials and pouches on belt\nsmall village\nsmall waist\nsmall water stream\nsmall waterfall\nsmall waterfalls\nsmall wellness relaxation pool\nsmall white dog at her side\nsmall wide smile\nsmall windows\nsmaller mouth\nsmaller nose\nsmallest waist\nsmallest waistline\nsmallest waistline ever\nsmart\nsmart ants\nsmart awkward and sexy\nsmart casual\nsmart design\nsmart hedgehog\nsmart looking\nsmart sharpen\nsmart tai warlord\nsmart textiles\nsmartphone\nsmartphone displays qr code\nsmartphone footage\nsmartphone photo\nsmartphone photography\nsmartphone resolution\nsmashed glass helmet\nsmashed wall\nsmaug\nsmeared acrylic paint\nsmeared flowers\nsmeared watercolours\nsmelling good\nsmelly\nsmelters\nsmelting pit'beeple\nsmg\nsmile\nsmile 1950s\nsmile coy\nsmile face\nsmile like a sphinx\nsmile on face\nsmile on her face\nsmile with large front teeth\nsmileeeeeee\nsmileing nright\nsmiles\nsmiles and colors\nsmiles in despair\nsmiles slightly\nsmiley\nsmiley face\nsmiley profile\nsmiling\nsmiling  attractive\nsmiling :: attractive\nsmiling amazed\nsmiling and dancing\nsmiling and looking directly\nsmiling as a queen of fairies\nsmiling at camera\nsmiling at each other\nsmiling at the camera\nsmiling at the viewer\nsmiling but has a temper\nsmiling cat\nsmiling confidently\nsmiling couple\nsmiling coy\nsmiling coyly\nsmiling down from above\nsmiling expression\nsmiling face\nsmiling faces\nsmiling fashion model\nsmiling fashion model face\nsmiling for the camera\nsmiling girl\nsmiling in heaven\nsmiling into the camera\nsmiling kindly\nsmiling laughing\nsmiling like a jerk\nsmiling male\nsmiling man\nsmiling maniacally\nsmiling mask\nsmiling mouth\nsmiling playfully\nsmiling seductively\nsmiling slightly\nsmiling smugly\nsmiling soft vibrant lips\nsmiling softly\nsmiling spartan\nsmiling sweetly\nsmiling warmly\nsmiling with confidence\nsmiling woman\nsmiling young woman\nsmiling!! fantasy\nsmilodon\nsmirk\nsmirk expression\nsmirk on face\nsmirking\nsmirking at the camera\nsmirking deviously\nsmirking face\nsmirking male bard\nsmithsonian\nsmithsonian american art museum\nsmithsonian museum\nsmog\nsmog on the floor\nsmogpunk\nsmoke\nsmoke - filled ， green hill\nsmoke :6\nsmoke all around\nsmoke and atmosphere\nsmoke and clouds\nsmoke and debris\nsmoke and destruction\nsmoke and dust\nsmoke and embers\nsmoke and fire\nsmoke and fog\nsmoke and gas\nsmoke and mist\nsmoke and orange volumetric fog\nsmoke and rubble\nsmoke and thick dust in the air\nsmoke and volumetric fog\nsmoke around her\nsmoke around him\nsmoke art\nsmoke atmosphere\nsmoke background\nsmoke behind\nsmoke behind wheels\nsmoke billowing\nsmoke billowing from chimney\nsmoke billows over the horizon\nsmoke boiling\nsmoke cloud\nsmoke clouds\nsmoke columns\nsmoke coming from tires\nsmoke coming out of her mouth\nsmoke coming out of the chimney\nsmoke debris\nsmoke effects\nsmoke energy\nsmoke everywhere\nsmoke explosion\nsmoke explosions\nsmoke filled room\nsmoke fills the area\nsmoke fills the room\nsmoke fire\nsmoke fog and crepuscular rays\nsmoke fog dust\nsmoke from chimneys\nsmoke from mouth\nsmoke from the fire\nsmoke grenade\nsmoke grenades\nsmoke in background\nsmoke in front\nsmoke in sky\nsmoke in the air\nsmoke in the background\nsmoke in the sky\nsmoke is flowing\nsmoke lasers\nsmoke machine\nsmoke mist rain\nsmoke on the street\nsmoke on the water\nsmoke on water\nsmoke out of eyes\nsmoke out of her eyes\nsmoke pit nebulas\nsmoke rising\nsmoke rising from the pipe\nsmoke rising in the background\nsmoke rising like clouds\nsmoke simulation\nsmoke swirling\nsmoke swirls\nsmoke tendrils\nsmoke trail\nsmoke trailing out the back\nsmoke trails\nsmoke under the ceiling\nsmoke war\nsmoked layered\nsmoker\nsmokes\nsmokes everywhere\nsmokestacks\nsmokestacks at night in the rain\nsmokey\nsmokey atmosphere\nsmokey background\nsmokey burnt envelopes\nsmokey burnt love letters\nsmokey cannons\nsmokey chimney\nsmokey eye\nsmokey eyes\nsmokey lights\nsmokey room\nsmokey tires\nsmokey water scenery\nsmoking\nsmoking a big cigar\nsmoking a blunt\nsmoking a bowl of hash together\nsmoking a cigar\nsmoking a cigarette\nsmoking a cigarette in the field\nsmoking a cigarette in the rain\nsmoking a cigarrette🚬\nsmoking a joint\nsmoking a magical bong\nsmoking a pipe\nsmoking a thick cigar\nsmoking a weed with snoop dogg\nsmoking a weed with snoop dogg!!\nsmoking and bickering\nsmoking and burning\nsmoking and holding a gun\nsmoking body\nsmoking cigar\nsmoking cigarette\nsmoking cigarettes\nsmoking cigars\nsmoking gun\nsmoking massive amounts of weed\nsmoking outside\nsmoking pipe\nsmoking rock\nsmoking soldering iron\nsmoking vessels\nsmoking weed\nsmoking with squat down pose\nsmoking woman\nsmoky\nsmoky atmosphere\nsmoky background\nsmoky chimney\nsmoky crystals\nsmoky eyes\nsmoky laboratory\nsmoky lighting\nsmoky sky background\nsmol\nsmol fluffy cat wearing smol hat\nsmoldering\nsmooggy\nsmooth\nsmooth 3 d illustration\nsmooth 3d cg render\nsmooth 3d illustration\nsmooth 4k\nsmooth and clean vector curves\nsmooth and rich color scheme\nsmooth and sharp\nsmooth and sharp focus\nsmooth andy warhol style\nsmooth anime cg art\nsmooth architecture\nsmooth arstation\nsmooth art\nsmooth art style\nsmooth background\nsmooth bevels\nsmooth bioluminescent skin\nsmooth blending\nsmooth blue skin\nsmooth body\nsmooth body features\nsmooth brushwork\nsmooth carapace\nsmooth cave rock\nsmooth chin\nsmooth chinese dragon\nsmooth clean surfaces\nsmooth clean texture\nsmooth color\nsmooth coloring\nsmooth colors\nsmooth composition\nsmooth concept art\nsmooth concrete\nsmooth contours\nsmooth curvature design\nsmooth curvatures\nsmooth curves\nsmooth curvilinear design\nsmooth defined edges\nsmooth defined outlines\nsmooth defined outlines!!\nsmooth design\nsmooth design spaceship sketches\nsmooth detailed\nsmooth details\nsmooth digital art\nsmooth digital artwork\nsmooth digital concept art\nsmooth draw\nsmooth draw with oil painting\nsmooth drawing\nsmooth edges\nsmooth eric zener cam de leon\nsmooth face\nsmooth face feature\nsmooth facial features\nsmooth feature\nsmooth focus\nsmooth fuschia skin\nsmooth glowing skin\nsmooth gold armor\nsmooth gold skin\nsmooth golden skin\nsmooth gradation\nsmooth gradient\nsmooth gradients\nsmooth graphics\nsmooth hair\nsmooth hd\nsmooth healthy skin\nsmooth illustration\nsmooth in 8k\nsmooth in _ the background\nsmooth in the background\nsmooth intricate\nsmooth light\nsmooth light from upper left\nsmooth light shading\nsmooth light skin\nsmooth lighthing\nsmooth lighting\nsmooth lines\nsmooth marble surfaces\nsmooth matte\nsmooth metal\nsmooth models\nsmooth noise\nsmooth noise 4k\nsmooth oil painting\nsmooth organic pattern\nsmooth oval head\nsmooth oval shape face\nsmooth paint\nsmooth painting\nsmooth pale skin\nsmooth panelling\nsmooth pink skin\nsmooth porcelain skin\nsmooth purple eyes\nsmooth purple skin\nsmooth red skin\nsmooth reflections\nsmooth render\nsmooth rendering\nsmooth rocks\nsmooth round rocks\nsmooth round shapes\nsmooth rounded shapes\nsmooth scales\nsmooth shaded\nsmooth shading\nsmooth shading techniques\nsmooth shadows\nsmooth shank\nsmooth shapes\nsmooth shapes and lines\nsmooth sharp focus\nsmooth shine texture\nsmooth shiny metal\nsmooth silver armor\nsmooth skin\nsmooth solid concrete\nsmooth streamline\nsmooth stylized shapes\nsmooth surface\nsmooth surface render\nsmooth surfaces\nsmooth symmetrical chin\nsmooth tan skin\nsmooth technology\nsmooth texture\nsmooth textured skin\nsmooth textures\nsmooth tiny details\nsmooth translucent white skin\nsmooth transparent visor\nsmooth utopian design\nsmooth vector curves\nsmooth vector lines\nsmooth vibrancy\nsmooth visual lines\nsmooth volumetric lighting\nsmooth waxy skin\nsmooth white skin\nsmooth white surroundings\nsmooth white tight clothes suit\nsmooth zenithal lighting\nsmooth!]\nsmooth-chinned\nsmooth. digital painting\nsmooth.sharp focus\nsmoothed\nsmoothed lip line\nsmoothened\nsmoothly\nsmores\nsmoth\nsmoth 3 d illustration\nsmoth 3d illustration\nsmothered in melted chocolate\nsmouldering charred timber\nsmudge\nsmudged\nsmudged edges\nsmudged face\nsmudged paint\nsmudges\nsmug\nsmug appearance\nsmug expression\nsmug face\nsmug facial expression\nsmug grin\nsmug look\nsmug smile\nsmug smirk\nsmuggler\nsmurf\nsnacks\nsnail\nsnail in the style of nfl logo\nsnail shell\nsnail vs knight\nsnails\nsnails vs knight\nsnails vs worms\nsnake\nsnake art\nsnake assassin\nsnake body\nsnake body. many large\nsnake eyes\nsnake fangs\nsnake from metal gear\nsnake hair\nsnake head\nsnake heads\nsnake human hybrid\nsnake is surrounding them\nsnake machine\nsnake man\nsnake mouth\nsnake oil\nsnake oil album\nsnake oil salesman\nsnake oil skin\nsnake river in the jungle\nsnake scales\nsnake skeleton\nsnake skin\nsnake skin armor forest dryad\nsnake tongue\nsnake van\nsnake woman\nsnake woman hybrid\nsnake-face female guard\nsnake-face lady\nsnake-head female assassin\nsnakes\nsnakes for hair\nsnakes in hair\nsnakes in place of hair\nsnakes on a plane\nsnakeskin\nsnap traps of dionaea muscipula\nsnapchat\nsnapchat photo\nsnapchat story screenshot\nsnapshot\nsnapshots\nsnarling\nsnarling dog teeth\nsneaker\nsneaker design\nsneaker made out of lego\nsneaker photo\nsneaker shoes\nsneakers\nsneaking\nsneaky\nsneer\nsneering\nsneering at the camera\nsneering roman legioneer\nsneering. cinematic lighting\nsnes\nsnes game\nsnes graphics\nsnes screenshot\nsnes style\nsnining stars\nsniper\nsniper fire\nsniper! middle age man\nsnk\nsnoop dog\nsnoop dogg\nsnoop dogg and donald trump\nsnoop dogg as a barbarian\nsnoop dogg as a mage\nsnoop dogg as doctor strange\nsnoop dogg doctor strange\nsnoop dogg in gta v\nsnoop dogg in mortal kombat\nsnoop dogg tennis ball head\nsnoop dogg tennis ball monster\nsnoring\nsnorlax\nsnot\nsnout under visor\nsnow\nsnow and ice\nsnow army war\nsnow blizzard\nsnow blizzard in woodland meadow\nsnow camouflage\nsnow capped mountains\nsnow cave\nsnow dunes\nsnow fall\nsnow falling\nsnow field\nsnow flurries\nsnow flurry\nsnow forest\nsnow globe\nsnow glow\nsnow is falling\nsnow landscape\nsnow landscape background\nsnow leopard\nsnow monkeys at the mountain spa\nsnow on the body\nsnow on trees and ground\nsnow outside the windows\nsnow scene\nsnow snow\nsnow storm\nsnow wasteland\nsnow weather\nsnow white\nsnow white as a d & d fighter\nsnow white as a d d fighter\nsnowboarding penguins\nsnowcrash\nsnowfall\nsnowfall at night\nsnowflakes\nsnowflakes falling\nsnowglobe\nsnowing\nsnowing frozen ice\nsnowing in the forest\nsnowing outside\nsnowstorm\nsnowstorm ::5\nsnowy\nsnowy apennines\nsnowy arctic environment\nsnowy background\nsnowy canyon at dawn\nsnowy craggy sharp mountains\nsnowy day\nsnowy environment\nsnowy field\nsnowy fjord\nsnowy forest\nsnowy hill at sunrise\nsnowy italian road\nsnowy landscape\nsnowy mountain\nsnowy mountain background\nsnowy mountain landscape\nsnowy mountains\nsnowy night\nsnowy peak\nsnowy peaks\nsnowy plains\nsnowy trees\nsnowy weather\nsnowy winter\nsnowy winter christmas night\nsnowy winter scene\nsnowy woodland meadow\nsnowy. by makoto shinkai\nsnub nose\nso - s 1 4 8 ft light\nso - s 148 ft light\nso come on\nso cute\nso happy that her face hurts\nso i advised her to get in line\nso many plants\nso many wires\nsoaked\nsoaking wet\nsoaking wet hair\nsoami\nsoap\nsoap bubble\nsoap bubble mind\nsoap bubbles\nsoap carving\nsoaring\nsoaring above a dense city\nsoaring over a lake in forest\nsoaring through the sky\nsoaring towers and bridges\nsoaring waves\nsoccer\nsoccer ball\nsoccer ball against her foot\nsoccer player\nsoccer player antoine griezmann\nsoccer player cristiano ronaldo\nsoccer player martin ødegaard\nsoccer player matthijs de ligt\nsoccer player timo werner\nsoccer players martin ødegaard\nsoccer players timo werner\nsoccer stadium\nsocial commentary\nsocial encounters\nsocial media\nsocial realism\nsocialist\nsociety\nsociety 6\nsock cap\nsocks\nsoda\nsoda cans\nsoda themed girl\nsoey milk\nsofa\nsofia coppola\nsofia vergara\nsofie the giraffe\nsofisticated\nsoft\nsoft - lighting\nsoft - warm\nsoft 3d render\nsoft aesthetic\nsoft airbrushed artwork\nsoft amazed smiles\nsoft ambient ilumination\nsoft ambient lighting\nsoft an diffuse lights\nsoft and blurry\nsoft and clear shadows\nsoft and detailed\nsoft and fluffy\nsoft and intricate\nsoft and muted colors\nsoft and warm\nsoft anime\nsoft anime illustration\nsoft art\nsoft artistic filter\nsoft atmosphere\nsoft autumn sunlight\nsoft backlight\nsoft backlighting\nsoft beautiful light\nsoft bioluminescent membranes\nsoft bloom lighting\nsoft blue and pink tints\nsoft blue light\nsoft blue lighting\nsoft blue living room\nsoft blue moonlight\nsoft blue texture\nsoft blue tones\nsoft blues and greens\nsoft blur\nsoft blur and glow\nsoft blur background\nsoft blur background light\nsoft blur light\nsoft blur lighting\nsoft blur outdoor background\nsoft blur outdoor lighting\nsoft blush\nsoft body\nsoft bokeh\nsoft box lighting\nsoft bright pastel\nsoft bright skin\nsoft brush\nsoft brush strokes\nsoft brushstrokes\nsoft but grumpy\nsoft butterfly lighting\nsoft calm warm neon atmosphere\nsoft chin\nsoft cinematic light\nsoft cinematic lighting\nsoft clouds\nsoft color\nsoft color dodge\nsoft color palette\nsoft color scheme\nsoft colore\nsoft coloring\nsoft colors\nsoft colors mono chromatic\nsoft coloured gel lighting\nsoft colours\nsoft colours scheme\nsoft contrast\nsoft cool colors\nsoft cool tones\nsoft cracks\nsoft curvy shape\nsoft cute colors\nsoft dark light\nsoft dark muted colors\nsoft delicate draconic features\nsoft details\nsoft devil queen madison beer\nsoft diffuse autumn lights\nsoft diffuse lighting\nsoft diffuse lights\nsoft diffused light\nsoft diffusion\nsoft digital painting\nsoft draconic features\nsoft dramatic lighting\nsoft edges\nsoft elegant gown\nsoft emotion\nsoft ethereal lighting\nsoft evening lighting\nsoft eyes\nsoft eyes and narrow chin\nsoft face\nsoft face features\nsoft facial features\nsoft facial traits\nsoft feather\nsoft features\nsoft femme\nsoft filmic tonemapping\nsoft filter\nsoft filtered outdoor lighting\nsoft flawless pale skin\nsoft flowers\nsoft focus\nsoft focus blur\nsoft focus hdr 8 k\nsoft focus hdr 8k\nsoft focus matte painting\nsoft focus oil canvas painting\nsoft forest background\nsoft freckles\nsoft frontal light\nsoft fur\nsoft fur texture\nsoft gaze\nsoft geometric 3d shapes\nsoft geometry\nsoft glow\nsoft glowing windows\nsoft golden hour lighting\nsoft golden light\nsoft gradient texture\nsoft gradients\nsoft gradients. baroque period\nsoft green lighting\nsoft green natural light\nsoft grey and blue natural light\nsoft grey and red natural light\nsoft hair\nsoft hair. light color palate\nsoft happy smile\nsoft highlights\nsoft illumination\nsoft ilumination\nsoft image shading\nsoft indoor light\nsoft internal light\nsoft iridescent membranes\nsoft lens\nsoft lighing\nsoft light\nsoft light - n 9\nsoft light 4 k\nsoft light 4 k in pink\nsoft light 4k\nsoft light 4k in pink\nsoft light 8 k\nsoft light 8k\nsoft light atmosphere\nsoft light dull mood\nsoft light effect\nsoft light from the side\nsoft light from the window\nsoft light misty\nsoft light misty yoshitaka amano\nsoft light of winter\nsoft light through blinds\nsoft light.4k\nsoft lightening\nsoft lighting\nsoft lighting 8 k resolution\nsoft lighting 8k\nsoft lighting 8k resolution\nsoft lighting album cover\nsoft lighting and focus\nsoft lighting colors scheme\nsoft lighting from above\nsoft lighting gradient. no text\nsoft lighting sold at an auction\nsoft lighting |\nsoft lightning\nsoft lights\nsoft lilac skies\nsoft lines\nsoft look\nsoft lulling tongue\nsoft luminescent glow\nsoft makeup\nsoft memories\nsoft mist\nsoft mood\nsoft moody\nsoft moonlight lighting\nsoft morning light\nsoft morning light. hyperrealism\nsoft morning lighting\nsoft motion blur\nsoft muted colors\nsoft natural light\nsoft natural lighting\nsoft natural volumetric lighting\nsoft neon\nsoft neon atmosphere\nsoft neon lighting\nsoft neon lights\nsoft neon purple lighting\nsoft opalescent membranes\nsoft orange and cyan highlights\nsoft organic abstraction\nsoft outdoor light\nsoft outline\nsoft outlines\nsoft oval face\nsoft pads\nsoft painting\nsoft pale golden skin\nsoft pale tone\nsoft pale white skin\nsoft pastel colors\nsoft pastel palette\nsoft pastels\nsoft pink lights\nsoft portrait\nsoft portrait shot 8 k\nsoft portrait shot 8k\nsoft purple glow\nsoft rainbow\nsoft red hair\nsoft red lights\nsoft red texture\nsoft red tone colors\nsoft reflections\nsoft render\nsoft rim light\nsoft round face\nsoft round features\nsoft rubber\nsoft scale texture\nsoft sepia tones\nsoft shade\nsoft shading\nsoft shadow\nsoft shadow transition\nsoft shadowing\nsoft shadows\nsoft shadows on the face\nsoft shapes\nsoft silk dress\nsoft skin\nsoft sm\nsoft smile\nsoft smoke\nsoft smooth skin\nsoft spot light\nsoft strokes\nsoft studio light\nsoft studio lighting\nsoft style\nsoft sun lights\nsoft sunbeam\nsoft sunlight dappling\nsoft sunset lighting\nsoft surface texture\nsoft surfaces\nsoft texture\nsoft textures\nsoft tones\nsoft top\nsoft top roof raised\nsoft translucent fabric folds\nsoft twirls curls and curves\nsoft vibes\nsoft vibrant colors\nsoft vignette\nsoft vintage glow\nsoft vinyl\nsoft volume absorbation\nsoft volumetric lighting\nsoft volumetric lights\nsoft volumetric studio lighting\nsoft warm light\nsoft warm lighting\nsoft white glow\nsoft white rubber\nsoft window light\nsoft yellow background\nsoft zen minimalist\nsoft!!\nsoft-sanded coastlines\nsoft. high quality\nsoftair arena landscape\nsoftair center landscape\nsoftbox key light\nsoftbox lighting\nsoftbox studio lighting\nsoftened diffuse light\nsoftfocus\nsoftglow\nsoftlight\nsoftly - lit\nsoftly backlit\nsoftly glowing control panels\nsoftly lit\nsoftly shadowed\nsoftly swirling magical energy\nsoftness\nsoftplay\nsofubi\nsofurry\nsofya emelenko\nsoggy\nsoil\nsoil landscape\nsojourn from overwatch\nsol lewitt\nsol retreat\nsola digital arts\nsolace\nsolar\nsolar beings\nsolar eclipse\nsolar eclipse in iceland\nsolar eclipse in the sky\nsolar field plains\nsolar flare\nsolar flare hd\nsolar flare unreal engine\nsolar flares\nsolar mythos\nsolar panels\nsolar power\nsolar powered\nsolar punk\nsolar punk city\nsolar punk product photo\nsolar rays\nsolar sail in space\nsolar sail infront of sun\nsolar sails\nsolar storm\nsolar system\nsolaris\nsolarised\nsolarized\nsolarpunk\nsolarpunk architecture\nsolarpunk cantine\nsolarpunk city\nsolarpunk futuristic utopia\nsolarpunk hovercar\nsolarpunk human\nsolarpunk metropolis\nsolarpunk space ship\nsolarpunk style\nsolarpunk utopia\nsolarpunk village\nsolarpunk!!!\nsold at an auction\nsold for\nsold on sukebannyc\nsold out piece\nsoldier\nsoldier 7 6 from overwatch\nsoldier 76 from overwatch\nsoldier clothing\nsoldier girl\nsoldier helmet\nsoldier outfit\nsoldier penguins\nsoldier under heavy fire\nsoldier with a gasmask\nsoldiers\nsoldiers and mech fight\nsoldiers charging in\nsoldiers charging the enemy\nsoldiers running\nsolemn\nsolemn and moody\nsolemn expression\nsolemn face\nsolemn gesture\nsolid\nsolid anatomy\nsolid bacgkround\nsolid background\nsolid background color\nsolid black #000000 background\nsolid black background\nsolid blue background\nsolid color\nsolid color backdrop\nsolid color background\nsolid color background intricate\nsolid coloring\nsolid colors\nsolid colour background\nsolid colour background”\nsolid coloured shapes\nsolid colours\nsolid colours material\nsolid concrete\nsolid cube of light\nsolid dark background\nsolid dark grey background\nsolid gray\nsolid grey\nsolid light grey background\nsolid massing\nsolid object in a void\nsolid shapes\nsolid smooth teeth\nsolid snake\nsolid snake bust portrait\nsolid snake portrait\nsolid white background\nsolid works\nsolidity and eternity\nsolidworks\nsolis sacerdotibus\nsolitary\nsolitary cottage in the woods\nsolitude\nsolitude seen in the distance\nsolitude under a waterfall\nsolo\nsolo 3 / 4 portait\nsolo female character\nsolo hiking in mountains trees\nsolo male weary soldier\nsolo performance unreal engine\nsolo photoshoot\nsolo portrait\nsolo portrait 🎨🖌️\nsolomon kane\nsolstice fire\nsoma\nsoma game art style\nsoma game style\nsomali attire\nsomali woman\nsomalia\nsomber\nsomber amber eyes\nsomber appearance\nsomber atmosphere\nsomber colors\nsomber expression\nsomber lighting\nsomber mood\nsomber turquoise eyes\nsomber white eyes\nsombra from overwatch\nsombre\nsombre mood\nsombrero\nsome are crying of joy\nsome background blur\nsome beard\nsome boats\nsome bulb lights\nsome chaotic sparkles\nsome chocolate sauce\nsome clouds\nsome cosmic angels\nsome curved armor\nsome dappled light\nsome dust in the air\nsome edges lost\nsome fallen trees\nsome fireflies\nsome fireflies flying in the air\nsome floating billboards\nsome glints and specs\nsome green\nsome green and purple\nsome grey hair\nsome grey hair in beard\nsome grungy markings\nsome have neon signs\nsome houses in the background\nsome ink drips\nsome light fog and fireflies\nsome light reflexions\nsome long\nsome marble statues can be seen\nsome mist grey smoke and fire\nsome mountains in the background\nsome oak acorns\nsome of the blacktop is showing\nsome of them use gas masks\nsome of them use gask mask\nsome orange and blue\nsome orange and purple\nsome people\nsome people are sitting\nsome people around\nsome people around ”\nsome pink\nsome plant life\nsome plants\nsome pouring techniques\nsome purple\nsome purple and blue\nsome purple and orange\nsome rays of light\nsome red\nsome red accents\nsome red and purple\nsome red and purple and yellow\nsome red and yellow\nsome red water\nsome reflexions\nsome rust\nsome sandy yellow pillows\nsome smoke and fire\nsome smooth\nsome spherical\nsome splattered paint\nsome square paintings\nsome stalls\nsome sun light ray\nsome sun ray of lights falling\nsome sunlight ray\nsome tanks destroyed\nsome tentacles are touching her\nsome trees\nsome trees in the background\nsome trees in the corner\nsome vagueness\nsome wrinkled\nsome yellow and blue\nsome yellow green and blue\nsome zoomed in shots\nsomeone in home sits in bed\nsomeone is screaming\nsomeone lost job\nsomeone sits in bed\nsomething beautiful\nsomething happened\nsomewhat androgenic\nsomewhat bent over\nsomewhere\nsomewhere in sands of the desert\nson\nson goku\nson goku as the incredible hulk\nson of sparda\nson of the night\nson of time\nsona\nsona is a slender\nsong\nsong dynasty\nsong hye - kyo\nsong joong - ki portrait\nsong nan li\nsong of the wind\nsonglines\nsonic\nsonic (series)\nsonic boom\nsonic game\nsonic hedgehog\nsonic looks like he is shocked\nsonic oc\nsonic power\nsonic the hedgehog\nsonic the hedgehog illustration\nsonic the hedgehog in a surreal\nsonic youth\nsonichu\nsony\nsony 1 7 5 mm\nsony 14mm f2.8\nsony 175mm\nsony 175mm”\nsony 2 4 mm f 4. 0\nsony 2 4 mm f 8. 0\nsony 24 mm f 8. 0\nsony 3 5 mm lens\nsony 35 mm lens\nsony 5 0 mm lens\nsony 50 mm lens\nsony a 6 3 0 0\nsony a 6300\nsony a 7 iii\nsony a 7 r\nsony a 7 r 3\nsony a 7 r iv\nsony a 7 s\nsony a 7 siii\nsony a3iii camera shot\nsony a7\nsony a7iii\nsony a7r\nsony a7r -\nsony a7r iii\nsony a7r iv\nsony a7r3\nsony a7z\nsony alpha\nsony alpha a6400\nsony ar 7 ii\nsony camera\nsony fx 6\nsony lens\nsony nicon iphone 1 3 pro max\nsony nicon iphone 13 pro max\nsony pictures\nsony pictures animation\nsony produced\nsony ultra camera\nsony ultra camera hd+\nsony world photography awards\nsoon will be dawn\nsoothing\nsoothing and cozy landscape\nsoothing colors\nsoothsayer\nsophia lillis\nsophia loren\nsophie\nsophie cover album\nsophie turner\nsophie turner girl\nsophisiticated\nsophisticated\nsophisticated armor\nsophisticated composition\nsophisticated dress\nsophisticated gravure idol\nsophisticated hands // noir\nsophisticated well rounded face\nsophisticated young woman\nsora\nsora as a cat\nsora from kingdom hearts\nsora wielding a keyblade\nsorayama\nsorayama and moebius. occult art\nsorayama. occult art\nsorcerer\nsorcerer magic witch\nsorcerer of sand\nsorceress\nsorceress woman\nsorcerous magic\nsorcery\nsorcery magic witch battle\nsores\nsores and scars\nsorolla\nsorrow\nsorrow and despair\nsorrow intense likely\nsorrowful\nsosaku hanga\nsotn\nsougetsu\nsougo okita\nsoul\nsoul caliber\nsoul calibur\nsoul eater\nsoul frequency\nsoul hoarder!!!\nsoul journey\nsoul leaving body\nsoul penetrating invasive eyes\nsoul perculates\nsoul reaver\nsoul singer\nsoulful\nsoulful eyes\nsoulful irises\nsoulless\nsouls\nsouls of the dead\nsoulslike\nsound\nsound of music\nsound wave\nsound waves\nsounds in the graveyard\nsoundwave\nsoup\nsource engine\nsource engine footage\nsource engine map\nsous la pleine lune\nsousaphone\nsousaphones\nsouth african coast\nsouth beach colors\nsouth east asian with long\nsouth east asian with round face\nsouth jakarta\nsouth korea\nsouth korean male\nsouth park\nsouth park style\nsouthdale center\nsouthern california\nsouthern cross\nsouthern european scenery\nsouthern gothic\nsouthern gothic art\nsouthern gothic scene\nsouthern slav features\nsouthern wildflowers\nsoviet\nsoviet - era\nsoviet advertisement\nsoviet apartment\nsoviet apartment building\nsoviet apartment buildings\nsoviet architecture\nsoviet art\nsoviet artists\nsoviet brutalism\nsoviet bus stop\nsoviet cyberpunk\nsoviet era\nsoviet era propaganda poster\nsoviet flags\nsoviet futurism\nsoviet interior\nsoviet military\nsoviet nostalgia\nsoviet painting\nsoviet paintings\nsoviet poster\nsoviet poster of viktor orban\nsoviet propaganda\nsoviet propaganda art\nsoviet propaganda painting\nsoviet propaganda poster\nsoviet propaganda poster art\nsoviet propaganda poster style\nsoviet propaganda style\nsoviet realism\nsoviet style\nsoviet style cyberpunk\nsoviet suburbs\nsoviet town\nsoviet union\nsoviet yard\nsovietic era\nsovietwave\nsovietwave aesthetic\nsovjet\nsoy fan de quino\nsoyjack\nsoymilk\nspa\nspace\nspace age pop\nspace alien\nspace and time\nspace armor\nspace art concept\nspace atmosphere\nspace backdrop\nspace background\nspace backround\nspace base\nspace battle\nspace battles\nspace between subjects\nspace cat\nspace civlization\nspace clouds\nspace color scheme\nspace colors\nspace cowboy\nspace craft\nspace dandy\nspace dandy style\nspace debris\nspace dream\nspace dust\nspace elevator\nspace exploration\nspace fantasy\nspace flower fairy\nspace fractal gradient\nspace galaxy\nspace galaxy background\nspace graphics art in background\nspace harbor\nspace helmet\nspace high school\nspace hive\nspace horror\nspace hulk\nspace in background\nspace in the background\nspace insect android\nspace jammers\nspace jellyfish\nspace junk\nspace landscape\nspace magical whale\nspace marine\nspace marines\nspace molecules\nspace molly\nspace nebula\nspace nebula background\nspace nebula in background\nspace oddity\nspace odyssey\nspace odyssey 2 0 0 1 ( film )\nspace opera\nspace opera and dystopian style\nspace opera gunfight\nspace photo\nspace photography\nspace pirate\nspace pirates\nspace plants\nspace port\nspace port city\nspace pressurized suit\nspace probe\nspace quantum death. deep space\nspace race\nspace satellites\nspace scene\nspace sci - fi\nspace seen outside from a window\nspace ship\nspace ship above an island\nspace ship cemetery outer space\nspace ship gribble\nspace ship in space\nspace ship in the background\nspace ship in the distance\nspace ships\nspace shuttle\nspace sky\nspace soldier on mars with a gun\nspace station\nspace station interior\nspace station light reflections\nspace station on the moon\nspace station planet afar\nspace station vore station\nspace suit\nspace suit with a modern helmet\nspace telescope\nspace theme\nspace themed\nspace tourism\nspace travel\nspace walk\nspace walk scene\nspace war\nspace war between china and usa\nspace warping and twisting\nspace western\nspace whale\nspace-station vuutun palaa\nspacecore\nspacecraft\nspacecrafts\nspaceengine\nspacehip lands\nspaceman standing looking\nspaceport\nspaceport docking bay at night\nspaces\nspaceship\nspaceship battle\nspaceship being repaired\nspaceship concept art\nspaceship design\nspaceship exploding\nspaceship far on the background\nspaceship flies in the distance\nspaceship from the movie dune\nspaceship hallway\nspaceship hallway background\nspaceship hangar\nspaceship hull texture\nspaceship in a dry river bed\nspaceship in a nebula\nspaceship in background\nspaceship in dark space\nspaceship in space\nspaceship in space in ruins\nspaceship in the sky\nspaceship interior\nspaceship landing\nspaceship night\nspaceship sank\nspaceship sketches\nspaceship window\nspaceships\nspaceships flying\nspaceships flying above\nspaceships flying around\nspaceships flying in background\nspaceships in sky\nspaceships in the cloudy sky\nspaceships in the sky\nspaceships landing\nspacestation\nspacesuit\nspacesuit with small led lights\nspacetime envelopment\nspacex\nspacex starship rocket launch\nspacious\nspades slick\nspaghetti\nspaghetti beard\nspaghetti hair\nspaghetti in the nostrils\nspaghetti monster\nspaghetti mustache\nspaghetti western\nspaghettification\nspain\nspain rodriguez\nspangle\nspangled\nspanish\nspanish alleyway\nspanish ghibli alleyway\nspanish moss\nspanish princess\nspanners\nspare\nspare parts\nsparkels\nsparking eyes\nsparkle\nsparkle in eyes\nsparkle storm\nsparklers\nsparkles\nsparkles all around\nsparkles and glitter\nsparkles and sun rays\nsparkles in the air\nsparkles on eyelids\nsparkles sky\nsparkling\nsparkling atmosphere\nsparkling bird eyes\nsparkling blue eyes\nsparkling cove\nsparkling crystals\nsparkling dark jewelry\nsparkling dew\nsparkling eyes\nsparkling in the flowing creek\nsparkling in the sunlight\nsparkling light\nsparkling magical girl\nsparkling nebula\nsparkling petals\nsparkling spirits\nsparkling water\nsparkly\nsparkly cat eyes\nsparkly detailed cat eyes\nsparkly eyes\nsparks\nsparks and liquid fire\nsparks and smoke\nsparks and thunders\nsparks flying\nsparks of fire flying\nsparks of light\nsparky\nsparky metallic\nsparky swimsuit\nsparring\nsparrows\nsparse\nsparse bare trees\nsparse chest hair\nsparse dark atmosphere\nsparse detail\nsparse floating particles\nsparse freckles\nsparse frozen landscape\nsparse mountains on the horizon\nsparse pine forest\nsparse pine forest long shadows\nsparse pine trees\nsparse plants\nsparse room\nsparse trees\nsparse vegetation\nsparse winter landscape\nsparsely populated\nspartan\nspartan armor\nspartan rage\nspartan warrior\nsparth style\nsparths\nspasms\nspatial phenomena\nspatial phenomenon\nspatial structure\nspatialism\nspatter\nspatters\nspatula\nspawn\nspawn of satan\nspeak no evil\nspeakeasy\nspeakeasy bar background\nspeakers\nspear\nspear in hand\nspear in the right hand\nspears\nspec - ops head\nspec - ops head with mask\nspec ops mask\nspecial\nspecial agent\nspecial attention to posing\nspecial effects\nspecial forces\nspecial forces security\nspecies fusion\nspecimens\nspecimens in glasses\nspeckled\nspecks\nspectacle\nspectacled\nspectacles\nspectacular\nspectacular cinematic scene\nspectacular composition\nspectacular details\nspectacular lighting\nspectacular milky way\nspectacular mountains\nspectacular quality\nspectacular quality torn paper\nspectacular rocky mountains\nspectacular splatter explosion\nspectacular sunset\nspectators\nspectral\nspectral color\nspectral evolution\nspectres\nspectres of the night\nspectrum\nspectrum colours\nspectular lighting\nspecular\nspecular colors\nspecular highlights\nspecular light\nspecular lighting\nspecular reflection\nspecular reflections\nspecularity\nspeculars\nspeculative biology\nspeculative evolution\nspeculative fashion\nspeculative futures\nspeculum\nspeech\nspeech bubbles\nspeed\nspeed (1994)\nspeed blur\nspeed grapher\nspeed lines\nspeed painting\nspeed painting and scribble art\nspeed racer\nspeeder\nspeeding on motorcycle\nspeeding through london\nspeedo\nspeedpaint\nspeedpainting\nspeedster\nspeedtree\nspeedy aircraft\nspeilberg movie\nspeilbergian lighting\nspeleothems\nspell\nspell book\nspell casting\nspell casting wizard\nspellbreak\nspellcasting\nspellcasting pose\nspellfire\nspelljammer\nspells\nspells magic\nspells practice\nspelunky\nsperical hdri map\nsphere\nspheres\nspherical\nspherical black helmets\nspherical black pupils\nspherical body\nspherical lens\nsphinx cat\nsphinx in distance\nspices\nspicy\nspider\nspider - gwen\nspider - man\nspider - verse art style\nspider abdomen\nspider gag\nspider gwen\nspider legs\nspider legs large\nspider nest\nspider sitting in chair\nspider thorax\nspider web\nspider webbed body\nspider webs\nspider woman\nspider zero\nspider-gwen\nspider-man\nspiderman\nspiderman as electro\nspiderman as terminator\nspiderman as wolverine\nspiderman biting pizza\nspiderman greek marble statue\nspiderman in the moshpit\nspiderman!!\nspiders\nspiders!!!!\nspiderverse\nspiderweb landscape\nspiderwebs\nspiderwoman\nspiderwoman!!\nspiderwoman!!!!!\nspidery irregular shapes\nspiel des jahres\nspielberg\nspike\nspike - like branches\nspike collar\nspike painting\nspike pit\nspike shell\nspike spiegel\nspiked\nspiked collar\nspiked collar sunglasses\nspiked collars\nspiked metal armor\nspiked scrap metal armor\nspiked wristbands\nspikes\nspikes on the body\nspikey hair\nspikey rocks\nspiky\nspiky black hair and dark skin\nspiky elf ears\nspiky hair\nspiky orange hair\nspiky short hair\nspiky skin\nspiky tentacles\nspilled milk\nspilling juice\nspilling ketchup\nspilt coffee\nspinal column\nspine\nspine-chilling\nspines\nspines and towers\nspinning\nspinning hands and feet\nspinning records\nspinning whirlwind\nspinosaurus\nspiral\nspiral clock\nspiral clouds\nspiral eyes\nspiral galaxy\nspiral heavens\nspiral horns\nspiral horns!\nspiral lines\nspiral shelves full of books\nspiral smoke\nspiral staircase\nspiral stairs\nspiraling\nspiraling design\nspiraling upward\nspiralling\nspiralling bushes\nspiralling fractals\nspirals\nspirals and swirls\nspirals in eyes\nspirals tubes roots\nspire\nspires\nspirit\nspirit fantasy concept art\nspirit guide\nspirit hugs\nspirit of rage\nspirit of the forest dwells\nspirit photography\nspirit warrior\nspirited\nspirited away\nspirited water plants\nspirits\nspirits coming out of portal\nspirits covered in drapery\nspirits flying\nspirits in the dark\nspiritual\nspiritual abstract forms\nspiritual art\nspiritual cryptid\nspiritual eerie creepy picture\nspiritual enlightenment\nspiritual evolution\nspiritual feeling\nspiritual imagination of duality\nspiritual journey into madness\nspiritual light\nspiritual masterpiece\nspiritual scene\nspiritual science\nspiritual style\nspiritual vibes\nspiritualism\nspirituality\nspit flying from mouth\nspitfire\nspitting cushions from his mouth\nsplash\nsplash art\nsplash art anime loli\nsplash art brawlstars\nsplash aura in motion\nsplash comics\nsplash house\nsplash image\nsplash of color\nsplash of paint down center\nsplash page\nsplash painting\nsplash screen\nsplash screen art\nsplashcreen character art\nsplashed with graffiti art\nsplashes\nsplashes of color\nsplashes of colors\nsplashes of lightning behind her\nsplashes of liquid\nsplashes of neon\nsplashes of neon clouds\nsplashes of neon galaxies\nsplashing\nsplashing water\nsplashscreen\nsplatoon\nsplatoon 3\nsplatter\nsplatter paint\nsplatter paint on paper\nsplattered black goo\nsplattered goo\nsplattered paint\nsplattered tar\nsplattered vibrant paint\nsplattered with blood\nsplatterpaint\nsplatters\nsplendid\nsplendid haussmann architecture\nsplento\nsplinter cell\nsplit - complementary - colors\nsplit dye\nsplit hair dye\nsplit in half\nsplit lighting\nsplit near the left\nsplit screen\nsploch\nsplotch\nsplotches\nspock\nspock haircut\nspoiler\nsponge\nsponge bob\nspongebob\nspongebob circle pants\nspongebob cthulhu nightmare\nspongebob in real life\nspongebob squarepants\nspongy\nspontaneous\nspontaneous linework\nspontaneous portrait\nspooked\nspooky\nspooky and scary atmosphere\nspooky autumnal colours\nspooky cartoon skull\nspooky creepy liminal space\nspooky filter\nspooky fog\nspooky forest\nspooky found footage\nspooky halloween fun\nspooky halloween night\nspooky halloween theme\nspooky lighting\nspooky mansion\nspooky netflix still shot\nspooky photo\nspooky strange weird quirky\nspoon\nspoon pear slim loli figure\nspoon placed\nspoon slim figure\nspores\nspores floating in the air\nsport\nsport bra\nsport bra and dark blue shorts\nsport bra and shirt\nsport bra and shorts\nsport car\nsport clothing\nsport game\nsport glasses\nsport pants\nsport photography\nsport shorts\nsport t-shirt\nsportcar\nsports\nsports bra\nsports broadcast\nsports car\nsports car in the room\nsports clothing\nsports illustrated\nsports jacket\nsports logo\nsports mascot\nsports photo\nsports photography\nsports setting\nsports team mascot\nsportscar\nsportspalast amphitheatre\nsporty\nsporty physique\nspot\nspot illustration\nspot light\nspot lighting\nspot lights\nspot lit\nspot-lighting\nspotlight\nspotlight at a 90 degree angle\nspotlight from above\nspotlight from face\nspotlight in middle of face\nspotlight lighting\nspotlight on subject\nspotlight on the singer\nspotlight shining through\nspotlighting\nspotlights\nspotlights from ceiling\nspotlit\nspots\nspotted\nspotted ultra realistic\nsprawled out\nsprawling\nspray\nspray art\nspray brush\nspray paint\nspray paint texture\nspray painted graffiti\nspraying blood\nspraying liquid\nspraypaint\nspraypainted bodypaint graffiti\nspraypainted on a wall\nsprays\nspread wings\nspreading her wings\nsprial\nspriggans\nsprigger\nspring\nspring blooming flowers garden\nspring color scheme\nspring colors\nspring day\nspring early\nspring early morning\nspring evening\nspring fashion\nspring flowers\nspring light\nspring on saturn\nspring season\nspring season city\nspring theme\nspring time\nspring vibes\nspring vibrancy\nspring winter nature melted snow\nsprings\nspringtime\nspringtime morning\nspringtime vibrancy\nspringtrap\nsprinkles\nsprinters in a race\nsprinting\nsprite\nsprite 2 d\nsprite 2d\nsprite art\nsprite sheet\nsprites\nspritesheet\nsprong season\nsprouting\nspruce trees\nspruce trees on the sides\nspunky\nspy\nspy kangaroo\nspy kids juni cortez\nspy x family\nspying\nspying discretly\nspyro\nspyro the dragon\nsqare-jawed in medieval clothing\nsquad\nsquad fighting enemy\nsquare\nsquare backpack\nsquare black pupil centered\nsquare enix\nsquare enix cinematic art\nsquare face\nsquare facial structure\nsquare glasses\nsquare jaw\nsquare jaw-line\nsquare lines\nsquare masculine facial features\nsquare masculine jaw\nsquare nose\nsquare pictureframes\nsquare rimmed glasses\nsquare shapes\nsquare sticker\nsquared border\nsquares\nsquaresoft\nsquarish face shape\nsquashed\nsquashed berries\nsquashed berries dripping\nsquashed berry stains\nsquatting\nsquatting down next to a pool\nsquatting pose\nsquelch\nsquid\nsquid attack\nsquid game\nsquid motifs\nsquid phoenix jellyfish\nsquidlike aliens\nsquids\nsquidward\nsquidward as a dark souls boss\nsquidward taking an acid trip\nsquint eyes\nsquinting\nsquinting at high noon\nsquinty eyes\nsquirrel\nsquirrel/tiger\nsquirrels\nsquirtle\nsquish\nsquishmallow\nsquishy\nsrgb\nsri lanka\nsri lankan landscape\nsri lankan mad max style\nssao\nssao 8 k\nssao 8k\nssci - fi\nssci - fi and fantasy\nssci-fi\nssci-fi and fantasy\nssense\nssr card\nsss\nssss.gridman\nst : tng\nst cirq lapopie\nst jerome writing the vulgate\nstab wound\nstability\nstability at last\nstable diffusion\nstable diffusion ai\nstable diffusion ai as a human\nstable diffusion self portrait\nstack of books on side table\nstack of comics on the floor\nstacked\nstacked buildings\nstacked city\nstacked computer screens\nstacked houses\nstacked image\nstacking supermarket shelves\nstacks\nstacks of books\nstacks of giant books\nstadium\nstadium full of people\nstadium landscape\nstadium setting\nstaff\nstaff of bones\nstaff wearing hazmat suits\nstag beetle\nstag wearing a crown\nstage\nstage at a club\nstage background\nstage lighrt\nstage light\nstage lighting\nstage lights\nstage photography\nstage speakers\nstaggered depth\nstaggered depth)\nstaggered terraces\nstaggering in its beauty\nstagnant water\nstain glass\nstained\nstained and bleeding\nstained antique copper car paint\nstained dirty clothing\nstained glass\nstained glass art\nstained glass background\nstained glass futuristic church\nstained glass style\nstained glass tarot style\nstained glass window\nstained glass window geometric\nstained glass window!!!!!\nstained glass windows\nstained glass wings\nstained glass!!\nstained paper\nstained”\nstainless steal\nstainless steel\nstains\nstaircase\nstaircases\nstairs\nstairs and arches\nstairs and bookshelves\nstairs from hell to heaven\nstairs to an upper floor\nstairs to the second floor\nstairway\nstairway to heaven\nstairways\nstalactites\nstalagmites\nstalenhag\nstalenhag style\nstalin\nstalin and lenin in gay-bar\nstalin as superman\nstalingrad\nstalinist architecture\nstalk eyes\nstalker\nstalking\nstamp\nstamped\nstamperia\nstan lee\nstan winston\nstan winston studios\nstanchions\nstand\nstand alone complex\nstand off\nstand on stone floor\nstand up with the sea behind\nstanding\nstanding against the storm\nstanding alone\nstanding alone in grassy field\nstanding and posing elegantly\nstanding astride a gate\nstanding at the beach\nstanding at the resolute desk\nstanding athletic pose\nstanding atop a pile of rubble\nstanding before ancient ruins\nstanding beside a sea sheep\nstanding beside the ocean\nstanding bird\nstanding bravely on the road\nstanding close to volcano\nstanding confidently\nstanding elegant pose\nstanding elegantly\nstanding gracefully upon a lotus\nstanding here\nstanding in a barren field\nstanding in a botanical garden\nstanding in a buddhist temple\nstanding in a burnt forest\nstanding in a cantina\nstanding in a church\nstanding in a city center\nstanding in a city street\nstanding in a dark\nstanding in a dark alleyway\nstanding in a dark forest\nstanding in a desert\nstanding in a dimly lit room\nstanding in a field\nstanding in a field with flowers\nstanding in a flower field\nstanding in a forest\nstanding in a grassy field\nstanding in a grotto\nstanding in a heroic figure\nstanding in a hindu kovil\nstanding in a lake\nstanding in a large empty hall\nstanding in a maelstrom\nstanding in a parking lot\nstanding in a pond\nstanding in a pool of blood\nstanding in a restaurant\nstanding in a server room\nstanding in a shallow river\nstanding in a space ship wreck\nstanding in a stadium\nstanding in a starbase bar\nstanding in a township street\nstanding in a waterfall\nstanding in abandoned building\nstanding in an alleyway\nstanding in an apple orchard\nstanding in an arena\nstanding in class\nstanding in corner of room\nstanding in desert\nstanding in fire\nstanding in flower field\nstanding in front of a mirror\nstanding in front of a mountain\nstanding in front of a waterfall\nstanding in front of lowrider\nstanding in front of the altar\nstanding in gold foil\nstanding in grassy field\nstanding in hell\nstanding in his cluttered garage\nstanding in midground\nstanding in moonlight\nstanding in outer space\nstanding in road\nstanding in ruins\nstanding in sand\nstanding in shallow water\nstanding in street\nstanding in tall grass\nstanding in the desert\nstanding in the forest\nstanding in the forrest\nstanding in the grass at sunset\nstanding in the isle of harris\nstanding in the mystical forest\nstanding in the oval office\nstanding in the plains of rohan\nstanding in the rain\nstanding in the savannah\nstanding in the snow\nstanding in the solar system\nstanding in the street\nstanding in the streets\nstanding in time square\nstanding in times square\nstanding in township street\nstanding in wasteland\nstanding inside a magic library\nstanding inside a waterfall\nstanding inside of a church\nstanding lamp luxury\nstanding microphones\nstanding near a castle\nstanding near a waterfall\nstanding near a window\nstanding near the beach\nstanding next to a camel\nstanding next to desert oasis\nstanding next to joseph stalin\nstanding next to royal castle!!!\nstanding next to water\nstanding on 2 feet\nstanding on a battlefield\nstanding on a beach\nstanding on a beach in boracay\nstanding on a bridge\nstanding on a cliff\nstanding on a cliffside\nstanding on a cloud\nstanding on a desk\nstanding on a forest\nstanding on a hill\nstanding on a ladder\nstanding on a lotus\nstanding on a martian landscape\nstanding on a mountain top\nstanding on a rock\nstanding on a rooftop\nstanding on a shelf\nstanding on a ship deck\nstanding on a skateboard\nstanding on a skyscraper rooftop\nstanding on boulder\nstanding on mad max panzer tank\nstanding on mountain\nstanding on neptune\nstanding on rock\nstanding on rocky ground\nstanding on rooftop\nstanding on ship deck\nstanding on street corner\nstanding on surfboards\nstanding on the beach at sunset\nstanding on the edge of a cliff\nstanding on the field of battle\nstanding on the mast\nstanding on the moon\nstanding on the street\nstanding on the water ground\nstanding on top of a mountain\nstanding on top of a piano\nstanding on top of a violin\nstanding on two feet\nstanding on two legs\nstanding outside a house\nstanding over a fallen foe\nstanding over a tomb stone\nstanding pose\nstanding pose on stones\nstanding posture\nstanding sideways\nstanding still\nstanding straight\nstanding tall\nstanding tall invincible\nstanding together\nstanding triumphant and proud\nstanding under a beam of light\nstanding under the sea\nstanding up\nstanding upright\nstanding upright like people\nstanding water\nstanding with a black background\nstanding with a parasol\nstanding with her back to us\nstanding!!\nstandings defiantly\nstandoff\nstandout colours\nstands at a his easel\nstands at her easel\nstands at the top\nstands in a pool of water\nstands in center with open arms\nstandup\nstandup comedian\nstanely artgerm\nstanger things\nstanisław\nstanisław szukalski\nstanisław szukalski + moebius\nstanley artgem lau\nstanley artger m lau\nstanley artgerm lau\nstanley artgermm\nstanley donwood\nstanley kubrick\nstanley kubrick movie\nstanley kubrick movie frame\nstanley kubrick the shinning\nstanley kubricks\nstanley kybric\nstanley lau\nstanley mouse\nstanly kubrick\nstannis baratheon\nstaples\nstar\nstar - gate of futurisma\nstar base\nstar born\nstar butterfly\nstar charts\nstar child\nstar citizen\nstar citizen concept art\nstar citizen digital art\nstar citizen halo\nstar citizen origin 100i\nstar craft\nstar destroyer\nstar destroyers\nstar dust\nstar flares\nstar fox\nstar guardian inspired\nstar guardians\nstar hatcheries\nstar in the sky\nstar inside\nstar killer\nstar lines\nstar lit sky\nstar map\nstar ocean\nstar platinum\nstar rain\nstar roof\nstar sharpness\nstar shining in space\nstar ships\nstar sky\nstar sparkle\nstar trails\nstar trails above\nstar trek\nstar trek : the next generation\nstar trek asian woman\nstar trek setting\nstar trek style\nstar trek the next generation\nstar trek tng\nstar trek voyager\nstar walk\nstar wars\nstar wars a new hope 1977\nstar wars alien faces\nstar wars architecture\nstar wars art\nstar wars art deco\nstar wars atmosphere\nstar wars cavern interior\nstar wars character\nstar wars clone wars\nstar wars concept art\nstar wars digital art\nstar wars expanded\nstar wars expanded universe\nstar wars film look\nstar wars film still\nstar wars imperial style\nstar wars inspired\nstar wars lasers\nstar wars movie\nstar wars movie poster\nstar wars movie still\nstar wars poster\nstar wars rebels\nstar wars revenge of the sith\nstar wars setting\nstar wars space battle\nstar wars style\nstar wars themed\nstar wars universe\nstar wars vibe\nstar(sky) starry_sky\nstarbucks\nstarbucks aprons and visors\nstarburst\nstarcraft\nstarcraft 2\nstarcraft 2 videogame character\nstardestroyer in the background\nstardew valley\nstardust\nstardust gradient scheme\nstardust in atmosphere\nstares at the camera\nstarfield\nstarfield background\nstarfield in background\nstarfighter\nstarfinder character\nstarfinder style\nstarfire\nstarfish\nstarfish monster movie\nstarfish pose\nstarfleet uniform\nstarfleet uniforms\nstargate\nstargate standing in desert\nstargazer\nstaring\nstaring at camera\nstaring at the camera\nstaring at the viewer\nstaring at viewer\nstaring at you\nstaring directly at camera\nstaring directly into camera\nstaring eyes\nstaring hungrily\nstaring in the camera\nstaring intensely\nstaring into the camera\nstaring psychopathically\nstaring seductively\nstaring sofía vergara screaming\nstaring wide open eyes\nstaring you down\nstaring!!!!! into the camera\nstaringinto the camera\nstark\nstark chiaroscuro lighting\nstark colours\nstark composition\nstark contrast\nstark contrasting lighting\nstark contrasts\nstark landscape\nstark light\nstark light and shadows\nstark lighting\nstark shadows\nstark sunrise lighting\nstarless space\nstarlight\nstarlit\nstarlit night sky\nstarlit shining eyes\nstarlit sky\nstarmaker\nstarport\nstarring chewbacca\nstarring dwayne johnson\nstarring geena davis\nstarring in thor ragnarok film\nstarring marty mcfly\nstarry\nstarry background\nstarry eyes\nstarry night\nstarry night sky\nstarry nights\nstarry skies\nstarry sky\nstarry sky 8 k\nstarry sky 8k\nstarry sky in background\nstarry sky!!\nstarry space nebula\nstarry tattoos\nstarry-night\nstarry-night!!!!!!!!!!!!!!!!!!!!\nstars\nstars and galaxies\nstars and galaxies visible\nstars and milky way and moon\nstars and moons in the sky\nstars and nebula\nstars and paisley filled sky\nstars and planets\nstars and planets visible\nstars and stripes\nstars are hidden in the eyes\nstars as eyes\nstars as pupils\nstars background\nstars filled sky\nstars glistening in the night\nstars glittering in background\nstars in background\nstars in her eyes\nstars in her gazing eyes\nstars in sky\nstars in space\nstars in the background\nstars in the distance\nstars in the night sky\nstars in the sky\nstars in the sky above\nstars on top of the crown\nstars pour where blood boils\nstars reflecting on the water\nstars shining\nstars strange perspective\nstars visible\nstarscape\nstarship\nstarship cargo bay\nstarship enterprise\nstarship in background\nstarship troopers\nstarship-troopers\nstarship-troopers-rifle\nstarships\nstarsky starry_sky\nstart\nstart of the match\nstarting engines nitro jet drive\nstartled\nstartrek style\nstarts\nstarving artist wearing overalls\nstarwars\nstary night painting\nstary sky\nstate of melancholy\nstate of the art\nstate of the union\nstately\nstately robes\nstathmore 2 0 0\nstathmore 200\nstathmore 4 0 0\nstathmore 400\nstatic\nstatic colorful noise glitch\nstatic noise\nstation\nstats\nstatue\nstatue is a fountain\nstatue made of glass\nstatue of a cubes and rings\nstatue of a perfect woman\nstatue of a woman\nstatue of angela merkel\nstatue of carving marble\nstatue of david\nstatue of hercules\nstatue of hercules looking angry\nstatue of julius caesar\nstatue of liberty\nstatue of liberty at left\nstatue of the perfect woman\nstatue of venus callipygian\nstatue of zeus\nstatues\nstatus icons\nstay puft marshmallow man\nsteady look\nsteak\nsteakpunk\nsteal armors\nstealth\nstealth suit\nstealthy\nsteam\nsteam and cyberpunk\nsteam clouds\nsteam community\nsteam deck\nsteam engine\nsteam necropolis\nsteam pipes\nsteam punk\nsteam punk grafitti\nsteam punk party\nsteam punk style\nsteam romance\nsteam train\nsteam trains\nsteam workshop\nsteam workshop maps\nsteam-punk\nsteam-punk illustration\nsteamboat willie\nsteamboat willy\nsteamcommunity\nsteamed buns\nsteaming coffee\nsteaming food on the stove\nsteampank style\nsteampunc\nsteampunk\nsteampunk acessoires\nsteampunk aesthetic\nsteampunk air haven\nsteampunk airship\nsteampunk airship!!!!!!!\nsteampunk airships fly overhead\nsteampunk angel\nsteampunk arcane shaman\nsteampunk armor\nsteampunk art\nsteampunk automaton\nsteampunk aztec owl pocketwatch\nsteampunk background\nsteampunk beautiful anime woman\nsteampunk bioarmor\nsteampunk blueprint\nsteampunk butterfly\nsteampunk car\nsteampunk cat\nsteampunk chandra queen of fire\nsteampunk city\nsteampunk city background\nsteampunk city on the background\nsteampunk clothes\nsteampunk concept art\nsteampunk cyberpunk\nsteampunk desert background\nsteampunk design\nsteampunk digital art\nsteampunk diving helmet\nsteampunk dog\nsteampunk engineer\nsteampunk era\nsteampunk eye\nsteampunk factory background\nsteampunk fantasy\nsteampunk fantasy style\nsteampunk ferret - shaped mech\nsteampunk fiction\nsteampunk forest\nsteampunk forest background\nsteampunk gears\nsteampunk girl\nsteampunk glasses\nsteampunk goggles\nsteampunk googles\nsteampunk guitar\nsteampunk hat\nsteampunk helmet\nsteampunk horse\nsteampunk hot air balloon\nsteampunk illustration\nsteampunk imagery themed\nsteampunk insect\nsteampunk inventor girl\nsteampunk iron man\nsteampunk jesus\nsteampunk katana\nsteampunk living room\nsteampunk machinery\nsteampunk male portrait\nsteampunk metropolis\nsteampunk monocle\nsteampunk motorcycle\nsteampunk owl inside a glass jar\nsteampunk owl pocketwatch\nsteampunk pin-up girl\nsteampunk rat\nsteampunk robot\nsteampunk robot ant\nsteampunk robot scorpion\nsteampunk rubber duck\nsteampunk setting\nsteampunk spider\nsteampunk stag beetle\nsteampunk stormtrooper\nsteampunk style\nsteampunk style weapons\nsteampunk submarine!\nsteampunk superhero\nsteampunk tech\nsteampunk tribal mask\nsteampunk trim\nsteampunk villages castles\nsteampunk warrior\nsteampunk watch\nsteampunk wizard\nsteampunk world\nsteampunk world spikes\nsteampunk zeppelin\nsteampunk!\nsteampunk! fiction\nsteampunk!!!\nsteampunk!!! and modern\nsteampunk!!!! grainy texture\nsteampunk-esque\nsteampunk-esque!\nsteampunk. intricate\nsteampunkand modern\nsteampunkfiction\nsteampunkgrainy texture\nsteamy\nsteel\nsteel and metal\nsteel archways\nsteel armor\nsteel armour\nsteel ball run\nsteel blades\nsteel bull run\nsteel choker\nsteel collar\nsteel gray body\nsteel inquisitor from mistborn\nsteel joint\nsteel mill\nsteel pipes\nsteel plating\nsteel skin\nsteel studs\nsteel sword\nsteel window mullions\nsteel wire\nsteelpunk\nsteep\nsteep cliffs\nsteering wheel\nstefan gesell\nstefan koidl\nstefan koidl inspired\nstefan kostic\nstefan morrell\nstefano brunesci\nstefano tamburini\nsteffen sauerteig\nsteins ; gate\nsteins gate\nsteins;gate\nstella alpina flower\nstellar\nstellar exploration\nstellar formation\nstellar sky\nstellar space\nstellaris\nstellation\nstempunk\nstems\nstencil\nstencil art\nstephan\nstephane martiniere\nstephanie welsh\nstephen bauman\nstephen bliss style\nstephen conroy\nstephen fabian\nstephen fry\nstephen gamell\nstephen gammell style\nstephen hawking\nstephen hawking in rocket league\nstephen hickman\nstephen king\nstephen king as pennywise\nstephen king atmosphere\nstephen lang\nstephen lau and artgerm\nstephen outram\nstephen shore\nstephen shore & john j. park\nstephen silver\nstephen wayda\nstephen youll\nsteppe\nsteppe background\nsteppe landscape\nstepping on a miniature city\nstepping on the city\nstepping on towers\nstepping stones\nsteps\nsteps 50\nsteps leading down\nstereogram\nsterile\nsterile background\nsterile colours\nsterile minimalistic room\nstern\nstern blue neon atmosphere\nstern expression\nstern face\nstern like athena\nstern look\nstern looking fox in a lab coat\nsteroid use\nsteroids\nstethoscope\nstethoscope!\nsteve\nsteve belledin\nsteve buscemi\nsteve buscemi as the joker\nsteve buscemi with sunglass\nsteve buschemi\nsteve caldwell\nsteve carell\nsteve from minecraft\nsteve harvey as the flash\nsteve harvey holding lightsaber\nsteve henderson\nsteve henderson and mark brooks\nsteve huston\nsteve jobs\nsteve jobs as hokage\nsteve jobs vs bill gates manga\nsteve mccurry and irakli nadar\nsteve niles\nsteve oliff\nsteve purcell\nsteve wozniak\nsteve zheng\nsteven artgerm lau\nsteven jung\nsteven klein\nsteven mccurry portrait\nsteven meisel\nsteven meisel photography\nsteven outram\nsteven outram hd\nsteven outram highly detailed\nsteven seagal\nsteven spielberg\nsteven spielberg movie shot\nsteven universe\nsteven universe style\nsteven wiltshire\nstew\nstewart cowley\nstick\nstick and poke\nstick figure\nstick figures\nstick poke\nsticker\nsticker - art\nsticker - svg\nsticker art\nsticker concept design\nsticker design\nsticker design vector\nsticker design vector art\nsticker illustration\nsticker of a home in the forest\nsticker of a rock band\nsticker sheet\nstickers\nstickers illustrations\nsticky\nsticky black goo\nsticky black goo. photography\nsticky tar. concept art\nstiff necked\nstigmata\nstiletto heeled boots\nstilettos\nstill\nstill art\nstill capture\nstill cinematic\nstill film\nstill form a silent film\nstill frame\nstill frame from a movie\nstill frame from prometheus\nstill frame from the simpsons\nstill frame the retro twin peaks\nstill from a 2001 pixar movie\nstill from a 2015 pixar movie\nstill from a fantasy movie\nstill from a live action movie\nstill from a movie\nstill from a music video\nstill from a nature documentary\nstill from a pixar movie\nstill from a ridley scott movie\nstill from a terence malik film\nstill from a wes anderson film\nstill from a wes anderson movie\nstill from akira (1988)\nstill from alien (1979)\nstill from alita\nstill from animated horror movie\nstill from anime\nstill from avengers endgame\nstill from better call saul\nstill from blade runner (1982)\nstill from blade runner 1982\nstill from breaking bad\nstill from despicable me 2010\nstill from film\nstill from game of thrones\nstill from half-life movie\nstill from harry potter\nstill from harry potter movies\nstill from horror movie\nstill from l'estate\nstill from lestate\nstill from loki  2021\nstill from loki ( 2 0 2 1 )\nstill from lord of the rings\nstill from marvel movie\nstill from mary poppins (1964)\nstill from movie\nstill from movie dune\nstill from nature documentary\nstill from pixar movie\nstill from riverdale\nstill from star trek\nstill from star wars\nstill from star wars (1977)\nstill from stranger things\nstill from stranger things movie\nstill from studio ghibli\nstill from the avengers\nstill from the dark knight\nstill from the film\nstill from the mandalorian show\nstill from the matrix\nstill from the matrix (1999)\nstill from the movie\nstill from the movie 8 mile\nstill from the movie aliens\nstill from the movie bladerunner\nstill from the movie ex machina\nstill from the movie predator\nstill from the movie saw\nstill from the movie sharknado\nstill from the movie terminator\nstill from the movie the arrival\nstill from the pixar movie\nstill from the show breaking bad\nstill from the the sopranos\nstill from the twilight zone\nstill from tv anime\nstill image\nstill image from batman movie\nstill image from game of thrones\nstill image from the movie\nstill image from tv series\nstill in package\nstill life\nstill life of an apple\nstill life of rotten flesh\nstill life of white xenomorph\nstill life painting\nstill life photo of a backdrop\nstill life photo studio\nstill life photography\nstill life vegetables\nstill life with flowers\nstill life with snow\nstill life with white vase\nstill moment\nstill movie shot\nstill of megan fox\nstill of rainbow ophanim\nstill photo\nstill photo of james bond\nstill photograph\nstill photography\nstill picture\nstill pond\nstill shot\nstill shot from movie\nstill water calm as a mirror\nstillframe\nstillness\nstingray\nstingrays\nstinky\nstipple\nstipple art\nstipple brush\nstipple brush technique\nstippled\nstippled light\nstippled lighting\nstippled walls\nstipples\nstippling\nstippling art\nstippling dots\nstitched together\nstitches\nstitching\nstjepan sejic\nstock\nstock and two smoking barrels\nstock art\nstock color\nstock footage\nstock illustration\nstock image\nstock photo\nstock photograph\nstock photography\nstockholm\nstockholm city\nstockholm city portrait\nstockings\nstockings and a tricorn hat\nstockphoto\nstocky\nstoic\nstoic and calm\nstoic attitude\nstoic face\nstoic facial expression\nstoic pose\nstoicism\nstolen footage\nstomach\nstomach skin\nstomach vibes\nstomping\nstone\nstone age\nstone age rave in a cave\nstone and glass\nstone and glass and gold\nstone and wood\nstone art\nstone brick\nstone brick walls\nstone bricks\nstone bridge\nstone bridge over brook\nstone carving\nstone carvings\nstone colossus remains\nstone dust\nstone etchings\nstone facade\nstone face\nstone floor\nstone gate to the dark cave\nstone golem\nstone grotto in the center\nstone hand raised up\nstone marble\nstone ocean\nstone paths\nstone pathways\nstone pews\nstone pillars\nstone relief\nstone roads\nstone roof\nstone runes on the front\nstone sculpture\nstone slab\nstone stairway\nstone statue\nstone statues\nstone steps\nstone table\nstone texture\nstone tile hallway\nstone wall\nstone wall in background\nstone walls\nstone walls and pillars\nstoned\nstoned eyes\nstonehenge\nstonepunk\nstoner\nstoner eyes\nstoner metal concert\nstoner rock\nstoner rock concert\nstones\nstones falling from the sky\nstonework\nstony\nstony road\nstood in a cell\nstood in a factory\nstood in a forest\nstood in a lab\nstood in a spooky forest\nstood in a supermarket\nstood in a tunnel\nstood inside a futuristic lab\nstood on top of a sky scraper\nstood outside a corner shop\nstood outside a wooden cabin\nstools\nstop - motion\nstop frame animation\nstop motion\nstop motion animation\nstop motion character\nstop motion vinyl action figure\nstop motion vinyl figure\nstop sign\nstop-motion film (1924)\nstop-motion film 1924\nstopmotion\nstopmotion animation\nstopped in time\nstore\nstorefront\nstorefronts\nstores\nstorm\nstorm arriving\nstorm at night\nstorm at sea\nstorm background\nstorm clouds\nstorm clouds in the background\nstorm clouds in the distance\nstorm dragon\nstorm drain\nstorm egyptian god\nstorm in distance\nstorm in the background\nstorm in the distance\nstorm in the evening\nstorm of all storms\nstorm on horizon\nstorm outside\nstorm sky\nstorm trooper\nstorm weather\nstorm!\nstorm. bloom\nstormcloaks vs imperials\nstormclouds\nstorming\nstorming the beaches of normandy\nstormlight archive\nstorms\nstormtrooper\nstormtrooper - helmet\nstormtrooper fighting in ww2\nstormtrooper in hot springs\nstormtroopers\nstormtroopers sitting around it\nstormy\nstormy and grand war scene\nstormy atmosphere\nstormy background\nstormy clouds\nstormy clouds on the horizon\nstormy clouds outdoor\nstormy coast\nstormy day\nstormy horizon\nstormy landscape\nstormy lighting\nstormy night\nstormy ocean\nstormy overcast\nstormy post apocalyptic desert\nstormy sea\nstormy seas\nstormy setting\nstormy skies\nstormy sky\nstormy sky with thunders\nstormy snowy fiji mountain\nstormy snowy weather\nstormy weather\nstormy weather at night\nstormy weather with lightning\nstormy weather. makoto shinkai\nstormy wheater\nstory\nstory art\nstory board format\nstory book\nstory book design\nstory book for adults\nstory book illustration\nstory telling\nstory telling aesthetic\nstoryboard\nstoryboarding\nstorybook\nstorybook art\nstorybook design\nstorybook fantasy\nstorybook illustation\nstorybook illustration\nstorybook layout\nstorybook realism\nstorybook style\nstorybook wide shot :: hd\nstove\nstoya\nstoya expressive oil painting\nstp\nstrafing attack plane\nstraight\nstraight arms\nstraight bangs\nstraight black hair\nstraight camera view\nstraight dark outline\nstraight edges\nstraight eyebrows\nstraight face\nstraight fringe\nstraight grey hair\nstraight hair\nstraight hairstyle\nstraight jaw\nstraight jawline\nstraight lines\nstraight neck\nstraight nose\nstraight nose!!!\nstraight nose!!!!!\nstraight on\nstraight on portrait\nstraight shot\nstraight sky blue hair\nstraight smooth vertical\nstraight stiff dry damaged hair\nstraight teeth\nstraight white teeth\nstrained expression\nstraining\nstranded\nstranding straight\nstrands of being\nstrands of fog\nstrange\nstrange alien forest\nstrange and hauntingly beautiful\nstrange angles and spidery edges\nstrange animals\nstrange attractor\nstrange buildings\nstrange camera angle\nstrange clothes\nstrange clouds\nstrange craft above the horizon\nstrange creatures\nstrange creatures walking around\nstrange crown )\nstrange dimensions\nstrange emotions\nstrange ethereal being\nstrange fantastic\nstrange fauna\nstrange flora\nstrange flowers\nstrange foreign objects\nstrange formations\nstrange fruits\nstrange geometric facial tattoos\nstrange giant insects\nstrange ingredients on the table\nstrange levitating stones\nstrange lighting\nstrange magnetic anomaly\nstrange place\nstrange planet\nstrange plants\nstrange portrait with galaxy\nstrange poses\nstrange red particles\nstrange shapes\nstrange surrealist\nstrange symbols line the walls\nstrange trees and clouds\nstrange vegetation\nstrange vibes\nstrange weirdness\nstrangely mutated\nstrangely terrifying\nstranger things\nstranger things character\nstranger things demogorgon\nstranger things poster\nstranger things vecna\nstrangled with rope\nstranglehold\nstrapless dress\nstraps\nstrategy game\nstrathmore 2 0 0\nstrathmore 200\nstratosphere\nstraw\nstraw hat\nstraw hat and overcoat\nstrawberries\nstrawberry\nstrawberry embellishment\nstrawberry fields forever\nstrawberry granules\nstrawberry ice cream\nstrawberry ninja\nstraya\nstreak lights\nstreaks\nstreaks of dust\nstream\nstream flowing through the house\nstream of love and happiness\nstream of water\nstreamers\nstreaming\nstreaming on twitch\nstreamline moderne\nstreamlined\nstreamlined matte black armor\nstreamlined pink armor\nstreamlined spines\nstreamlined white armor\nstreams\nstreams and rocks\nstreams of flowing light\nstreams of glowing hot lava\nstreet\nstreet - level\nstreet art 8 k\nstreet art : 4 masterpiece\nstreet art style\nstreet art:2\nstreet art:2 highly detailed\nstreet art:2 masterpiece\nstreet art:2 sachin ten:4\nstreet art:4 masterpiece\nstreet at night\nstreet background\nstreet city\nstreet city night\nstreet clothes\nstreet clothing\nstreet corner\nstreet elevation\nstreet fashion\nstreet fashion clothing\nstreet fashion outfit\nstreet fighter\nstreet fighter iv\nstreet fighting\nstreet gang\nstreet lamp\nstreet lamps\nstreet lamps with orange light\nstreet lanterns\nstreet lanterns are shining\nstreet lanterns glow\nstreet level\nstreet level view\nstreet life\nstreet light\nstreet lighting\nstreet lights\nstreet lights water refraction\nstreet market\nstreet moon landscape\nstreet night\nstreet of hong kong\nstreet of moscow\nstreet of new york\nstreet of paris photography\nstreet of teal stone\nstreet outfit\nstreet perspective\nstreet photo\nstreet photograph\nstreet photography\nstreet photography style\nstreet pic\nstreet printed poster\nstreet samurai\nstreet scene\nstreet scene with water tower\nstreet signs\nstreet style\nstreet top view\nstreet tram\nstreet vendors\nstreet view\nstreet wear\nstreet wears\nstreetart\nstreetlamp\nstreetlamps\nstreetlamps with orange light\nstreetlight\nstreetlight at night\nstreetlights\nstreets\nstreets of calcutta\nstreets of heidelberg\nstreets of hong kong\nstreets of mumbai\nstreets of new york\nstreets of salvador\nstreetscape\nstreetscapes\nstreetview\nstreetwear\nstreetwear fashion\nstreetwear graphic design\nstrength\nstress\nstressed\nstressed and burnt out\nstressed expression\nstressed out\nstressful\nstressful atmosphere\nstressing out\nstretch\nstretching her legs on the grass\nstretching to walls\nstriations\nstrict\nstride\nstriking\nstriking a pose\nstriking artistic concept\nstriking artstyle\nstriking azure eyes\nstriking color\nstriking colors\nstriking colour\nstriking composition\nstriking detailed artstyle\nstriking eyes\nstriking features\nstriking lighting\nstriking manga artstyle\nstriking perspective\nstriking pose\nstriking visuals\nstring art\nstring lights\nstring puppet\nstring theory\nstrings\nstrings background\nstrings of pearls\nstringy\nstripe over eye\nstriped\nstriped orange and teal\nstriped pantyhose\nstriped shirt\nstriped socks\nstriped sweater\nstripes\nstripey pants\nstrobe and laser lights\nstrobe light\nstrobe lights\nstrobo lights\nstroboscope\nstrogg\nstroke painting\nstrokes\nstrokes visible\nstromy clouds\nstromy weather\nstrong\nstrong ambient occlusion\nstrong and aggressive\nstrong and ferocious\nstrong and imposing\nstrong and muscular\nstrong and tall\nstrong and vibrant colors\nstrong arms\nstrong artificial intelligence\nstrong atmosphere\nstrong aurora overhead\nstrong backlight\nstrong bad\nstrong bespoke shape language\nstrong blooded body\nstrong blue and orange colors\nstrong blue rimlit\nstrong body\nstrong bokeh\nstrong brush stroke\nstrong brushwork\nstrong but calm\nstrong chest\nstrong chin\nstrong cinematic light\nstrong colors\nstrong colours\nstrong composition\nstrong confident personality\nstrong contrast\nstrong contrasting shadows\nstrong contrasts\nstrong defined jaw\nstrong depth of field\nstrong design\nstrong dither\nstrong eerie back light\nstrong eggshell texture\nstrong emotional impact\nstrong eyes\nstrong facial expression\nstrong facial features\nstrong fantasy knight\nstrong fat bacchanalian body\nstrong features\nstrong fighter in leathers\nstrong grain\nstrong imagery\nstrong iridescent light\nstrong jaw\nstrong jawline\nstrong leader\nstrong legs\nstrong light\nstrong lighting\nstrong lights\nstrong line\nstrong line work\nstrong lines\nstrong lines and bold colors\nstrong linework\nstrong man\nstrong masculine features\nstrong moonlight\nstrong neon lighting\nstrong outline\nstrong personality\nstrong perspective\nstrong pixar wheat bread warrior\nstrong pose\nstrong presence\nstrong presense\nstrong rain night\nstrong red hue\nstrong rim light\nstrong rim light!!!!!\nstrong rimlight\nstrong shadow\nstrong shadows\nstrong shadows)\nstrong silhouette\nstrong spirit\nstrong spotlights\nstrong strokes\nstrong studio light\nstrong studio lights\nstrong subsurface scattering\nstrong sunlight\nstrong texture\nstrong walls\nstrong wind\nstrong woman\nstrong young man\nstronghold strategy gameplay\nstrongman\nstrongshadows\nstroopwaffel\nstructural\nstructural geology\nstructure\nstructure : kyle lambert\nstructured\nstructures\nstruggle\nstruggling\nsttng\nsttng ( television )\nstu_dts\nstubble\nstubble beard\nstubble on his face\nstubbles\nstucco walls\nstuck\nstuck in mud\nstuck in the ground\nstudent\nstudies\nstudio\nstudio 4 k\nstudio 4 k quality\nstudio 4k\nstudio 4k quality\nstudio 4°c\nstudio 54\nstudio ambient lighting\nstudio art\nstudio atmosphere\nstudio backdrop\nstudio background\nstudio backlight\nstudio bind\nstudio bones\nstudio camera\nstudio camera. 35mm lens\nstudio diffuse lights\nstudio disney\nstudio dramatic light\nstudio floor\nstudio gainax\nstudio gainax art\nstudio gainax illustration\nstudio ghibi\nstudio ghibili\nstudio ghibli\nstudio ghibli & james gurney\nstudio ghibli aesthetic\nstudio ghibli and dan mumford\nstudio ghibli and pixar and abzu\nstudio ghibli and shinkai makoto\nstudio ghibli animation\nstudio ghibli anime\nstudio ghibli anime screenshot\nstudio ghibli art\nstudio ghibli art style\nstudio ghibli artstyle\nstudio ghibli color cheme\nstudio ghibli color palette\nstudio ghibli color pallette\nstudio ghibli color scheme\nstudio ghibli composition\nstudio ghibli concept art\nstudio ghibli environment\nstudio ghibli film\nstudio ghibli filter\nstudio ghibli illustration\nstudio ghibli inspired\nstudio ghibli key visual\nstudio ghibli landscape\nstudio ghibli movie\nstudio ghibli movie scene\nstudio ghibli movie still\nstudio ghibli painterly style\nstudio ghibli painting\nstudio ghibli scheme\nstudio ghibli sky\nstudio ghibli smooth concept art\nstudio ghibli still\nstudio ghibli style\nstudio ghibli sunlight\nstudio ghibli!!!\nstudio ghibli!!!!\nstudio ghibli!!!!!\nstudio ghibli. artgerm\nstudio ghibli. intricate\nstudio ghiblil\nstudio ghiblo\nstudio ghibly\nstudio ghibly style\nstudio ghibly style mononoke\nstudio ghilbi\nstudio gibli\nstudio glibly makoto shinkai\nstudio harcourt\nstudio hdri soft lighting\nstudio junio black inking\nstudio junio color palette\nstudio kai\nstudio kyoto\nstudio la cachette\nstudio landscape\nstudio level quality\nstudio light\nstudio light photo realism\nstudio light style\nstudio lighting\nstudio lighting 4 k\nstudio lighting 5 0 mm\nstudio lighting ; photorealistic\nstudio lighting and shading\nstudio lighting”\nstudio lightning\nstudio lights\nstudio lit\nstudio madhouse\nstudio mappa\nstudio medium format photograph\nstudio microphone\nstudio mir\nstudio muti\nstudio octane render\nstudio orange\nstudio packshot\nstudio photo\nstudio photo of a ceramic figure\nstudio photo portrait\nstudio photo refined\nstudio photograph\nstudio photographic portrait\nstudio photography\nstudio photography dslr\nstudio photography portrait\nstudio photograph”\nstudio photoshoot\nstudio photoshot\nstudio picture\nstudio portrait\nstudio portrait photo\nstudio portrait photography\nstudio potrait\nstudio product photography\nstudio product shot\nstudio qualit\nstudio quality\nstudio quality effects\nstudio quality lighting\nstudio quality product\nstudio quality smooth render\nstudio recording\nstudio room\nstudio setting\nstudio setup\nstudio shaft\nstudio shoot\nstudio shooting\nstudio shot\nstudio shot in style\nstudio soft lighting\nstudio spotlight\nstudio trigger\nstudio trigger anime\nstudio trigger art\nstudio trigger style\nstudio ufotable\nstudio!! portrait lighting\nstudio-lighting\nstudiolight\nstudion lighting\nstudioportrait lighting\nstudious\nstudious chiaroscuro\nstuds\nstudy\nstudy of a flower fairy\nstudying\nstudying a hell open rift portal\nstudying in a brightly lit room\nstudyng in bedroom\nstuff of nightmares\nstuffed\nstuffed animal\nstuffed dragon\nstuffed toy\nstuido ghibli\nstuning\nstuning 3 d render\nstuning 3d render\nstuning fantasy 3 d render\nstuning fantasy 3d render\nstunnig\nstunning\nstunning 3 d render\nstunning 3d render\nstunning 3d render of a fairy\nstunning 8 k\nstunning action poses\nstunning african princess\nstunning alien landscape\nstunning and rich detail\nstunning anime face portrait\nstunning appealing figure\nstunning arcanum backdrop\nstunning architecture\nstunning armor\nstunning art\nstunning art style\nstunning artwork\nstunning atmosphere\nstunning beautiful\nstunning beauty\nstunning cgsociety\nstunning character art\nstunning cinematography\nstunning closeupheadshot\nstunning colors\nstunning composition\nstunning concept art\nstunning cover magazine\nstunning design\nstunning detail\nstunning detailed picture\nstunning details\nstunning digital art\nstunning digital illustration\nstunning digital painting\nstunning drawing\nstunning dress\nstunning elegant\nstunning elegant pose\nstunning eyes\nstunning face\nstunning fantasy horror\nstunning features\nstunning framing\nstunning gradient colors\nstunning grand architecture\nstunning graphics\nstunning high tech\nstunning image\nstunning inking lines\nstunning intricate details\nstunning ivory dress\nstunning landscape\nstunning large format photograph\nstunning light\nstunning light coming through\nstunning light reflections\nstunning lighting\nstunning lines\nstunning masterpiece\nstunning matte painting\nstunning model\nstunning moody cinematography\nstunning moonlight and shadows\nstunning nature in background\nstunning painting\nstunning photo\nstunning photo real concept art\nstunning photo-quality\nstunning photograph\nstunning photography\nstunning photoshot\nstunning portrait\nstunning quality\nstunning realism\nstunning render\nstunning sasquatch\nstunning scene\nstunning scenery\nstunning sci-fi concept art\nstunning screensaver\nstunning screenshot\nstunning sight\nstunning ski\nstunning skied\nstunning skies\nstunning sky\nstunning sunny lighting\nstunning sunset\nstunning vfx\nstunning view\nstunning vista\nstunning visual\nstunning visuals\nstunning visuals with rtx on\nstunning volumetric light\nstunning volumetric lighting\nstunning waterfall\nstunning waves\nstunning woman\nstunning!\nstunning! concept art\nstunning!!\nstunning-design\nstunningconcept art\nstunningly\nstunningly beautiful\nstunningly detailed\nstunningly detailed artwork\nstunningly mysterious\nstunningly ominous\nstunningly realistic\nstupid\nstupid idiot cryptid\nsturdy\nsturdy body\nsturm und drang\nstygian\nstyle\nstyle = retro-futurism\nstyle alex gray\nstyle anime\nstyle arcane tv series\nstyle art nouveau\nstyle artgerm\nstyle as nendoroid\nstyle blend of burning man\nstyle blend of hideo kojima\nstyle blend of the vatican\nstyle combination\nstyle dan hillier\nstyle digital painting\nstyle edward hopper\nstyle epic\nstyle film\nstyle from greg rutkowski\nstyle game square enix\nstyle game square enix life\nstyle greg rutkowski\nstyle hybrid mix of beeple\nstyle in digital painting\nstyle in ghibli anime\nstyle in ghibli anime style\nstyle is a blend of æon flux\nstyle ivan talavera and artgerm\nstyle jean giraud\nstyle kim jung gi\nstyle league of legends\nstyle lettering\nstyle mix of æon flux\nstyle of\nstyle of 3 d\nstyle of a clint eastwood movie\nstyle of ade santora\nstyle of adrian ghenie\nstyle of aenami alena\nstyle of aetherpunk\nstyle of akira motion movie\nstyle of alan lee and john howe\nstyle of albert bierstadt\nstyle of alena aenami\nstyle of alex grey\nstyle of alex ross\nstyle of alexander trufanov\nstyle of alexandre chaudret\nstyle of alphonse mucha\nstyle of anato finnstark\nstyle of ancient text\nstyle of anders zorn\nstyle of andrew baker\nstyle of andy warhol\nstyle of angela deane\nstyle of anime\nstyle of anton fadeev\nstyle of arcane\nstyle of arcane tv series\nstyle of artgerm\nstyle of arthur rackham\nstyle of asher brown durand\nstyle of ashley wood\nstyle of atget\nstyle of aubrey beardsley\nstyle of banksy\nstyle of beatrix potter\nstyle of beautiful body\nstyle of bernie wrightson\nstyle of blade runner\nstyle of blade runner 2049\nstyle of bladerunner\nstyle of borderlands\nstyle of boris vallejo\nstyle of caravaggio\nstyle of carlos schwabe\nstyle of carrivagio\nstyle of cartoon\nstyle of castaway ( film )\nstyle of charlie bowater\nstyle of chinese vase\nstyle of chippy\nstyle of chris foss\nstyle of claude monet\nstyle of conrad roset\nstyle of constructivism\nstyle of cute pokemon\nstyle of cyberpunk\nstyle of cyberpunk 2 0 7 7\nstyle of da vinci\nstyle of dali\nstyle of daniel merriam\nstyle of dante gabriel rossetti\nstyle of dave mckean\nstyle of david cronenberg\nstyle of dc comics\nstyle of denis villeneuve\nstyle of disney animation\nstyle of donato giancola\nstyle of doug chiang\nstyle of dragan bibin\nstyle of duelyst\nstyle of edward gorey”\nstyle of edward hopper\nstyle of eiichiro oda\nstyle of emil melmoth\nstyle of emoji\nstyle of esao andrews\nstyle of feng zhu\nstyle of final + fantasy + 1 5\nstyle of final + fantasy + 15\nstyle of flavie audi\nstyle of francis bacon\nstyle of frank frazetta\nstyle of frank miller\nstyle of frank weston\nstyle of frazetta\nstyle of game of thrones\nstyle of geof darrow\nstyle of george bellows\nstyle of gerald brom\nstyle of ghost blade\nstyle of giger\nstyle of gilles beloeil\nstyle of graphic novel\nstyle of greg rutkowski\nstyle of greg simkins\nstyle of grim dark\nstyle of gta v\nstyle of gta v artworks\nstyle of guido crepax\nstyle of guo hua\nstyle of gurren lagann (2007)\nstyle of gustav klimt\nstyle of gustave dore\nstyle of h. r. giger\nstyle of h.r. giger\nstyle of hajime isayama\nstyle of hajime sorayama\nstyle of hayao miyazaki\nstyle of hieronymus bosch\nstyle of hiroshi sugimoto\nstyle of hokusai\nstyle of hr geiger\nstyle of hubert robert\nstyle of hydro74\nstyle of ian hubert\nstyle of ilya kushinov\nstyle of ilya kuvshinov\nstyle of ink\nstyle of inside game\nstyle of ivan aivazovsky\nstyle of ivan shishkin\nstyle of jakub rozalski\nstyle of james gurney\nstyle of james jean\nstyle of jean baptiste monge\nstyle of jean delville\nstyle of jean giraud moebius\nstyle of jeff soto\nstyle of jeremy mann\nstyle of jesper ejsing\nstyle of jet set radio\nstyle of jim burns\nstyle of joel meyerowitz\nstyle of john atkinson grimshaw\nstyle of john bauer\nstyle of john berkey\nstyle of john blanche\nstyle of john harris\nstyle of john howe\nstyle of john kenn mortensen\nstyle of jojolion cover art\nstyle of jonathan solter\nstyle of jordan grimmer\nstyle of julia razumova\nstyle of junji ito\nstyle of kanagawa\nstyle of karol bak\nstyle of kelly freas\nstyle of kentaro miura!!!!\nstyle of kieran yanner\nstyle of kilian eng\nstyle of lady frieda harris\nstyle of laura sava\nstyle of league of legends\nstyle of leonid afremov\nstyle of leonid afremov”\nstyle of leonora carrington\nstyle of lois royo\nstyle of lord of the rings\nstyle of luis royo\nstyle of maciej kuciara\nstyle of macross\nstyle of madhouse anime\nstyle of madhouse studio anime\nstyle of magic the gathering\nstyle of magical girl\nstyle of makoto shinkai\nstyle of manga\nstyle of maple story\nstyle of marc simonetti\nstyle of marcin blaszczak\nstyle of mark ryden\nstyle of marvel\nstyle of mary jackson\nstyle of masami kurumada\nstyle of masamune shirow\nstyle of maurice sendak\nstyle of maxfield parrish\nstyle of michael schwan\nstyle of michaelangelo\nstyle of midjourney\nstyle of mike jackson\nstyle of minecraft\nstyle of mirror\\'s edge\nstyle of mirrors edge\nstyle of moebius\nstyle of monet\nstyle of monument valley\nstyle of mortal kombat\nstyle of nekroxiii\nstyle of norman rockwell\nstyle of nosferatu\nstyle of old masters\nstyle of old painting\nstyle of olidon redon\nstyle of paolo parente\nstyle of paolo roversi\nstyle of peter doig\nstyle of peter mohrbacher\nstyle of picasso\nstyle of pinhole photography\nstyle of pino daeni\nstyle of pixar\nstyle of pokemon\nstyle of pusheen. comic\nstyle of rafael pavarotti\nstyle of ralph mcquarrie\nstyle of ralph steadman\nstyle of raphael lacoste\nstyle of raymond swanland\nstyle of red line anime movie\nstyle of rembrandt\nstyle of rene magritte\nstyle of richard corben\nstyle of rick & morty\nstyle of rick morty\nstyle of romanticism\nstyle of ron cobb\nstyle of salvador dali\nstyle of salvator rosa\nstyle of santiago caruso\nstyle of satoshi kon\nstyle of seb mckinnon\nstyle of shepherd fairey\nstyle of shoji kawamori\nstyle of shuzo oshimi\nstyle of simon bisley\nstyle of simon stalenhag\nstyle of ssss.gridman (2018)\nstyle of stanley artgerm\nstyle of stanley donwood\nstyle of star wars\nstyle of starfinder\nstyle of stephen bliss\nstyle of stephen jones\nstyle of stone ocean cover art\nstyle of stranger things\nstyle of studio ghibli\nstyle of style of robert mccall\nstyle of super meat boy\nstyle of surrealism\nstyle of suspiria and neon demon\nstyle of syd mead\nstyle of takashi murakami\nstyle of takato yamamoto\nstyle of the fifth element\nstyle of the game rimworld\nstyle of the matrix\nstyle of thomas kinkade\nstyle of tim hildebrandt\nstyle of tim white\nstyle of titmouse animation\nstyle of tolkien world\nstyle of tom bagshaw\nstyle of tony hawk\nstyle of tony hawk pro skater\nstyle of tyler edlin\nstyle of van gogh\nstyle of van gogh starry night\nstyle of vento aureo cover art\nstyle of vincent van gogh\nstyle of virgil finlay\nstyle of vogelsang\nstyle of walter martin baumhofer\nstyle of wayne barlowe\nstyle of wayne haag\nstyle of wes anderson\nstyle of will eisner\nstyle of william morris print\nstyle of wlop\nstyle of yoji shinkawa\nstyle of yoshii chie\nstyle of yoshitaka amano\nstyle of zdislaw beksinski\nstyle of zootopia\nstyle sheet\nstyle sheets\nstyle simpsons\nstyle steve mccurry\nstyle thomas kinkade\nstyled food photography\nstyled hair\nstyled like ghost in the shell\nstyleframe\nstyling\nstylised\nstylised comic art\nstylised design\nstylised flat colors\nstylised fox - like appearance\nstylised graphic novel\nstylised hand painted textures\nstylised illustration\nstylised military clothes\nstylised painting\nstylised storm\nstylised textures\nstylish\nstylish armor\nstylish coat for a rave\nstylish cyborg armor\nstylish dark dress\nstylish decor\nstylish deity\nstylish dress\nstylish hairstyles\nstylish leather armor\nstylish lighting\nstylish make up\nstylish navy blue heels\nstylish pose\nstylish shoe design\nstylish suit\nstylishly designed background\nstylistic\nstylistic blur\nstylistic furniture\nstylistic lighting\nstylistic oval black eyes\nstylistic painting\nstylization for fallout 4\nstylized\nstylized 3 d\nstylized 3 d graphics\nstylized 3d graphics\nstylized 3d render\nstylized and expressive\nstylized anime\nstylized art\nstylized as a 3d render\nstylized background\nstylized beauty portrait\nstylized bold outline\nstylized border\nstylized cel shading\nstylized character\nstylized character design\nstylized concept art\nstylized cyberpunk minotaur logo\nstylized digital art\nstylized digital illustration\nstylized dynamic folds\nstylized face\nstylized flowers\nstylized fractal background\nstylized game art\nstylized geometric flowers\nstylized grass texture\nstylized illustration\nstylized layered shapes\nstylized layered textures\nstylized linework\nstylized liquid smoke twisting\nstylized make-up on face\nstylized material bssrdf\nstylized motorcycle helmet\nstylized neon\nstylized oil painting\nstylized painterly\nstylized painting\nstylized pbr\nstylized pbr materials\nstylized photo\nstylized portrait\nstylized portrait formal pose\nstylized portrait h 1280\nstylized portrait h 640\nstylized portrait h 704\nstylized proportions\nstylized shading\nstylized silhouette\nstylized stl\nstylized stl fantasy miniature\nstylized stone cladding texture\nstylized thin lines\nstylized urban fantasy artwork\nstylized vegetation\nstålenhag\nsu fu\nsuave\nsub - surface scattering\nsub surface scattering\nsub tropical\nsubaquatic photography\nsubaru\nsubatomic electrons! in love\nsubconscious\nsubdimensional\nsubdivision\nsubdued\nsubdued color\nsubdued color palette\nsubdued colors\nsubdued tones\nsubgenius\nsubject : kangaroo\nsubject action : holding sign\nsubject action: holding sign\nsubject action: smoking a cigar\nsubject center bottom of frame\nsubject centered\nsubject centered in frame\nsubject centered in the frame\nsubject detail: wearing a suit\nsubject in center\nsubject in center of frame\nsubject in middle\nsubject in the centre\nsubject is smiling\nsubject made of cracked clay\nsubject made of white mesh rope\nsubject: dog\nsubject: kangaroo\nsubject= chimp\nsubject= duck\nsubjugation of humans\nsublighting\nsublime\nsublime ambience\nsublime atmosphere\nsublime but intricate design\nsublime comforting ambience\nsublime detail\nsublime subsurface scattering\nsublime-comforting ambience\nsublime-comfy-elegant ambience\nsublime-cool-hot-hyperadvanced\nsubliminal\nsublittoral jellyfish schools\nsubmarine\nsubmarine camera imagery\nsubmarine in background. dark\nsubmecanophobia\nsubmechanophobia\nsubmerged\nsubmerged dramatic\nsubmerged in cranberries\nsubmerged in water\nsubmerged on titan\nsubmerged pre - incan temple\nsubmerged temple dance scene\nsubmerged temple ritual scene\nsubmerged temple scene\nsubmerged to waste\nsubmerged underwater\nsubmission\nsubmissive\nsubnautica\nsubreddit / r / whale\nsubsiding floodwaters\nsubspace emissary\nsubstance\nsubstance 3 d\nsubstance 3 d painter\nsubstance 3d painter\nsubstance designer\nsubstance designer height map\nsubstance designer metal\nsubstance designer render\nsubstance material\nsubstance painter\nsubstance painter 3d\nsubstance render\nsubsurface\nsubsurface cracks\nsubsurface diffusion\nsubsurface illumination\nsubsurface light transmission\nsubsurface scandering\nsubsurface scatter\nsubsurface scattering\nsubsurface scattering light\nsubsurface scattering skin\nsubterranean galaxy\nsubterranean homesick alien\nsubterranean sprawling galaxy\nsubtitles\nsubtle\nsubtle and compelling lighting\nsubtle and detailed\nsubtle anime style\nsubtle atmospheric lighting\nsubtle awkward smile\nsubtle blue\nsubtle chromatic aberration\nsubtle color variantions\nsubtle color variations\nsubtle colors\nsubtle confident smile\nsubtle depth of field\nsubtle detailing\nsubtle details\nsubtle earthy tones\nsubtle fog\nsubtle fog and mood lighting\nsubtle giger\nsubtle glitches\nsubtle gold accents\nsubtle junji ito\nsubtle lens flare\nsubtle lovecraftian vibes\nsubtle make up\nsubtle makeup\nsubtle multicolored light\nsubtle muted cinematic colors\nsubtle neon underlighting\nsubtle pattern\nsubtle patterns\nsubtle purple accents\nsubtle shadows\nsubtle smile\nsubtle textures\nsubtle tones\nsubtle vibrancy\nsubtle visual noise\nsubtle wear - and - tear\nsubtractive lighting\nsubtropical flowers and plants\nsubtropical plants\nsuburb\nsuburban\nsuburban garden\nsuburban home\nsuburban neighborhood\nsuburbia\nsuburbia street\nsuburbs\nsubway\nsubway station\nsubways\nsubwoofer\nsuccess\nsuccubus\nsuccubus in sundress portrait\nsuccubus in tight short dress\nsuccubus | medieval\nsuch as arms & legs\nsuch as arms and legs\nsuch as arms legs\nsuch as bacteria\nsuch disappointment\nsucker punch\nsuddenly\nsuddenly there came a tapping\nsuffering\nsufism\nsugar\nsugar glider\nsugar skull\nsugar snow\nsugar sprinkled\nsugary sweet\nsuggestive\nsui ishida\nsui ishida art manga\nsui ishida with black hair\nsuiboku - ga ink\nsuicide\nsuit\nsuit and tie\nsuit and waistcoat\nsuit made of stars\nsuit of armor\nsuit vest\nsuit vest and top hat and gloves\nsuit ， perfect face\nsuits\nsukhasana\nsukhothai costume\nsuki\nsukkot\nsulaco star destroyer drop ship\nsulfur\nsullen\nsullen old maid  redhead\nsullen old maid ( redhead\nsultan\nsultry\nsultry and beckoning\nsultry body with sexy belly\nsultry digital painting\nsultry expression\nsultry look\nsultry smirk\nsumai-e artstyle\nsumerian\nsumerian goddess inanna ishtar\nsumerville game\nsumi - e\nsumi - e art\nsumi - e lighting style\nsumi - e style\nsumi ink style\nsumi-e\nsummer\nsummer 2016\nsummer afternoon\nsummer camp\nsummer clear blue sky\nsummer clothes\nsummer color pattern\nsummer color scheme\nsummer day\nsummer dress\nsummer evening\nsummer feeling\nsummer festival in background\nsummer festival night\nsummer field\nsummer glau\nsummer glau as cortana from halo\nsummer lake setting\nsummer landscape\nsummer landscape with mountain\nsummer light\nsummer lighting\nsummer meadow\nsummer morning\nsummer morning dew\nsummer morning light\nsummer night\nsummer of love\nsummer olympics footage\nsummer palette\nsummer princess\nsummer rain\nsummer season\nsummer setting\nsummer shirt\nsummer siberian forest taiga\nsummer sky\nsummer street\nsummer street near a beach\nsummer sun\nsummer sunlight\nsummer sunset\nsummer swimming party\nsummer time\nsummer unreal engine 5\nsummer vibe\nsummer vibes\nsummer vibrance\nsummer vibrancy\nsummer weather\nsummertime\nsummetric detailed\nsummon\nsummoning a demon\nsummoning an eldritch god\nsummoning circle\nsummoning spell\nsummoning terrible odds\nsummoning undead friends\nsumo japanese\nsumo wrestler\nsumptuous\nsun\nsun - drenched\nsun - rays\nsun - rays beams\nsun - rays through canopy\nsun after a storm\nsun and shadow\nsun and shadow over a city\nsun at dawn\nsun beam\nsun beaming down on him\nsun beams\nsun beams across sky\nsun behind her\nsun behind him\nsun coast\nsun dappled\nsun down\nsun down golden hour\nsun drenched\nsun exploding on the background\nsun filtering through trees\nsun flairs\nsun flare\nsun flares\nsun glare\nsun glasses\nsun glints\nsun god\nsun high in the sky\nsun in the background\nsun in the sky\nsun in the zenith\nsun is in the top\nsun is shining\nsun light\nsun light rays\nsun lighting\nsun lighting from above\nsun lit\nsun on zenith\nsun overhead\nsun puddle\nsun ray\nsun rays\nsun rays across sky\nsun rays at sunset\nsun rays beaming\nsun rays penetrating water\nsun rays shine through the water\nsun rays through snow\nsun rays through the trees\nsun rays through trees\nsun rise\nsun rises between two mountains\nsun rising\nsun set\nsun setting\nsun setting in the background\nsun shaft\nsun shafts\nsun shines down on the car\nsun shines in the sky\nsun shining\nsun shining through\nsun shining through clouds\nsun shining through the leaves\nsun shining through the trees\nsun streaming in\nsun sunset\nsun system\nsun through majestic clouds\nsun through the trees\nsun wukong\nsun yunjoo\nsun-hyuk kim\nsun-ken rock\nsunbathed skin\nsunbathing at the beach\nsunbathing. illustration\nsunbeam\nsunbeams\nsunbeams at sunset\nsunbeams blue sky\nsunbeams in background\nsunbeams. digital illustration\nsunburn\nsunburst\nsunburst behind woman\nsunday\nsunday afternoon\nsunday morning comic strip\nsundial\nsundown\nsundown golden hour\nsundown misty firefly wisps\nsundress\nsunfaded\nsunflare\nsunflares;back to camera\nsunflower\nsunflower background\nsunflower field\nsunflower stained glass\nsunflowers\nsunflowers in the background\nsunglasses\nsunglasses and a scarf\nsunglasses on\nsunken\nsunken dark blue eyes\nsunken eyes\nsunken face\nsunken recessed indented spots\nsunken ship\nsunken square\nsunlight\nsunlight and whimsical houses\nsunlight beaming down\nsunlight beams\nsunlight breaking through clouds\nsunlight filtering through skin\nsunlight glistening\nsunlight pouring through window\nsunlight rays\nsunlight reflected on the river\nsunlight shining through\nsunlight shining through windows\nsunlight study\nsunlight through cumulus\nsunlight through windows\nsunlights\nsunlit\nsunlit landscape\nsunlit sky\nsunlit windows\nsunllight\nsunny\nsunny afternoon\nsunny amber morning light\nsunny at noon\nsunny atmosphere\nsunny bay window\nsunny clear sky\nsunny complementary palette\nsunny day\nsunny day at beach\nsunny day background\nsunny day in a park\nsunny day in the forrest\nsunny day time\nsunny day with clear sky\nsunny environment\nsunny landscape\nsunny leone\nsunny light\nsunny lighting\nsunny meadow\nsunny mid day\nsunny morning\nsunny morning light\nsunny park background\nsunny rainbow galaxy stormy sea\nsunny sky\nsunny sky background\nsunny sky light\nsunny summer day\nsunny weather\nsunny winter day\nsunraise\nsunrays\nsunrays between clouds\nsunrays breaking through clouds\nsunrays from the left\nsunrays shine upon it\nsunrise\nsunrise atmospheric phenomena\nsunrise background\nsunrise coloring the room\nsunrise colors\nsunrise dramatic light\nsunrise light\nsunrise lighting\nsunrise over solar punk city\nsunrise over solarpunk city\nsuns\nsuns and supernovas\nsuns rays\nsuns set on a desert planet\nsunsest golden hour\nsunset\nsunset + hdri\nsunset and big clouds behind her\nsunset at golden hour\nsunset at the beach\nsunset atmosphere\nsunset background\nsunset backlight\nsunset beach\nsunset clouds\nsunset colors\nsunset dark dramatic\nsunset dark dramatic day\nsunset dramatic light\nsunset evening lighting\nsunset glow\nsunset glow around head\nsunset golden hour hues\nsunset halo around her head\nsunset halo behind her head\nsunset illustration\nsunset in a valley\nsunset in background\nsunset in the background\nsunset in the clouds\nsunset in the desert\nsunset in the distance\nsunset kanagawa prefecture\nsunset light\nsunset lighting\nsunset lighting 8k\nsunset lighting ominous shadows\nsunset ligthing\nsunset magazine\nsunset mood\nsunset on distant machine planet\nsunset on mars\nsunset on the beach\nsunset panorama\nsunset photo\nsunset photo at golden hour\nsunset psychedelic\nsunset raked lighting\nsunset red and orange\nsunset sinrise\nsunset sky\nsunset sky in background\nsunset south\nsunset sunrise\nsunset time\nsunset view\nsunset warm spring\nsunset with cloudy skies\nsunset with falling leaves\nsunset!\nsunset!!!\nsunset. light shadow\nsunsetting color\nsunshaft\nsunshafts\nsunshine\nsunshine light\nsunshine lighting high mountains\nsunshine rays\nsunshine through window\nsunstone\nsuntur\nsup\nsuper\nsuper - detailed\nsuper - detailed work\nsuper - flat\nsuper - resolution\nsuper - resolution microscopy\nsuper 8 mm\nsuper 8mm\nsuper 8mm film\nsuper 8mm photograph\nsuper accurate human anatomy!!!\nsuper adorable\nsuper aesthetic\nsuper attractive\nsuper bright colors\nsuper buff and cool\nsuper camera\nsuper car\nsuper clean\nsuper clear\nsuper clear detailed\nsuper clear details\nsuper close up\nsuper close up shot\nsuper coherent\nsuper colorful\nsuper complex and instruct\nsuper conducters\nsuper consciousness\nsuper cool\nsuper cool rocket\nsuper cool!!!\nsuper cute\nsuper cute and friendly\nsuper cute funky black girl\nsuper cute robot face\nsuper defined clouds\nsuper detail\nsuper detail of each object\nsuper detailed\nsuper detailed acrylic painting\nsuper detailed and intricate\nsuper detailed and realistic\nsuper detailed color art\nsuper detailed color graphics\nsuper detailed color lowpoly art\nsuper detailed detail\nsuper detailed details\nsuper detailed eyes\nsuper detailed face\nsuper detailed face and eyes\nsuper detailed faces and eyes\nsuper detailed image\nsuper detailed intricate\nsuper detailed octane render\nsuper detailed oil painting\nsuper detailed painting\nsuper detailed picture\nsuper detailed render\nsuper detailed ”\nsuper detailed”\nsuper detailing\nsuper details\nsuper exaggerated proportions\nsuper fine detail\nsuper fine inking lines\nsuper fluffy\nsuper focus\nsuper focused\nsuper glitched\nsuper hero\nsuper hero art\nsuper hero costume\nsuper hero mask\nsuper hero pose\nsuper heroes\nsuper heroine costume\nsuper high definition\nsuper high detail\nsuper high detail picture\nsuper high details\nsuper high energy\nsuper high quality\nsuper high quality art\nsuper high resolution\nsuper high speed photography\nsuper highly detail\nsuper highly detailed\nsuper intricate\nsuper intricate jewelry\nsuper intricate realism\nsuper lens\nsuper long shot\nsuper macro\nsuper mario\nsuper mario 6 4\nsuper mario 64\nsuper mario bros\nsuper mario bros 1 9 8 5\nsuper mario in matrix\nsuper mario in real life\nsuper mario pixel art\nsuper mario portrait\nsuper mario theme\nsuper math wizard cat\nsuper merge\nsuper model\nsuper model-s 100\nsuper moon\nsuper natural\nsuper nintendo\nsuper nintendo cartridge\nsuper nintendo game sprite\nsuper nova\nsuper nova octopus\nsuper panavision 70\nsuper photo realistic\nsuper photo-realistic\nsuper photorealistic\nsuper power\nsuper powers\nsuper precise detail\nsuper quality\nsuper real\nsuper realism\nsuper realistic\nsuper realistic facial features\nsuper realistic food picture\nsuper realistic gritty\nsuper realistic painting style\nsuper realistic photo\nsuper realistic render vray\nsuper realistic”\nsuper rendered in octane render\nsuper resolution\nsuper revolution\nsuper rich\nsuper rich happy pepe\nsuper robot\nsuper robot wars\nsuper saiyan\nsuper saiyan 3\nsuper saiyan blue\nsuper saiyan donald trump\nsuper saiyan goku\nsuper saiyan joe biden\nsuper saiyan sonic movie poster\nsuper sayan\nsuper sayian goku\nsuper scale rendered\nsuper serious facial expression\nsuper sexy\nsuper sharp\nsuper sharp details\nsuper sharp focus\nsuper sharp image\nsuper sharp images\nsuper sharp teeth\nsuper slowmotion\nsuper smash bros\nsuper smash bross\nsuper smash brothers ultimate\nsuper smooth\nsuper smooth lines\nsuper soldier\nsuper sophisticated texture\nsuper storm\nsuper strong\nsuper super dynamic dynamic pose\nsuper symmetry\nsuper technical\nsuper villain\nsuper wide\nsuper wide angel\nsuper wide angle\nsuper wide angle lens\nsuper wide lens\nsuper wide shot\nsuper wide view of a cityscape\nsuper zoom\nsuper-detailed\nsuper-flat\nsuper-hero girl\nsuper-high quality\nsuper-realistic\nsuper-resolution\nsuper-resolution microscopy\nsuperb\nsuperb detail 8 k\nsuperb detail 8 k masterpiece\nsuperb detail 8k\nsuperb detail 8k masterpiece\nsuperb resolution\nsuperbia\nsuperbowl\nsupercar\nsupercomputer\nsupercomputers text to images\nsuperdetail\nsuperfine ink detail\nsuperfine inking\nsuperfine inklines\nsuperflat art\nsuperflat art movement\nsuperflat pop\nsupergiant games\nsupergirl\nsuperhero\nsuperhero body\nsuperhero cape\nsuperhero from the boys tv show\nsuperhero movie\nsuperhero portrait\nsuperhero with a cat head\nsuperheroes\nsuperimposed composition\nsuperior\nsuperior detail\nsuperior iron man\nsuperior look\nsuperior quality\nsuperliminal 8 k uhd\nsuperliminal 8k uhd\nsuperman\nsuperman >yelling<<<< screaming!\nsuperman costume\nsuperman emerging from the sun\nsuperman is high\nsuperman pose\nsuperman yelling screaming\nsupermarionation\nsupermodel\nsupermodel body\nsupermodel in silent hill\nsupermodel! face!\nsupernatural\nsupernatural golden eyes\nsupernova\nsupernova explosion\nsupernova inside facility\nsupernovas\nsuperpop ultrabright\nsuperpowers\nsuperrare trending\nsuperrealism\nsuperrealism 8k resolution\nsuperrealistic\nsuperres sharpening\nsuperresolution\nsupersampled\nsupersharp\nsupersharp photo\nsupersonic trains and passengers\nsupervillain\nsupervillain sorceress witch\nsupervillains\nsuperwide angle\nsuperwide shot\nsupperrealistic\nsupple look\nsupply chain economics\nsupport\nsupporting characters\nsupportive\nsuppressive fire\nsupra\nsuprematism composition\nsupreme\nsupreme pizza\nsupremely digital\nsurburb woman\nsureal\nsurealism\nsurealistic\nsurf\nsurf photography\nsurface\nsurface blemishes\nsurface hives\nsurface imperfections\nsurface painter\nsurface reflections\nsurface scattering\nsurface with beer-texture\nsurfaces blemishes\nsurfing\nsurfing a barrel wave\nsurgeon\nsurgery\nsurgery table\nsurgery theatre\nsurgical equipment\nsurgical gear\nsurgical gown and scrubs on\nsurgical implements\nsurgical impliments\nsurgical iv bag\nsurgical iv drip\nsurgical mask covering mouth\nsurgical supplies\nsurikov\nsurprise\nsurprise me\nsurprised\nsurprised expression\nsurprised expression on her face\nsurprised frown\nsurprised pikachu\nsurprising\nsurreal\nsurreal +\nsurreal + highly detailed\nsurreal 3 d render\nsurreal 3d render\nsurreal abandoned buildings\nsurreal alien kingdom\nsurreal alien ribbed white fruit\nsurreal and allegorical\nsurreal and fantasy art\nsurreal architecture\nsurreal art\nsurreal atmosphere\nsurreal avant-garde style\nsurreal background\nsurreal beautiful young woman\nsurreal black and yellow\nsurreal canopy\nsurreal chess\nsurreal cinema\nsurreal cityscape background\nsurreal clouds\nsurreal collage\nsurreal colors\nsurreal composition\nsurreal concept art\nsurreal cyberspace\nsurreal dark art\nsurreal dark fantasy\nsurreal dark otherworldly mood\nsurreal design\nsurreal digital art\nsurreal dramatic lighting\nsurreal drawing\nsurreal dream\nsurreal dream landscape\nsurreal dreamscape\nsurreal dreamy poetic\nsurreal epic\nsurreal existentialism\nsurreal extra flesh and bones\nsurreal fantasy\nsurreal flat colors\nsurreal forest\nsurreal frozen landscape\nsurreal gediminas pranckevicius\nsurreal glass goblets\nsurreal glimpse\nsurreal gouache gesture painting\nsurreal gouache painting\nsurreal horror\nsurreal hybrid animals\nsurreal illustration\nsurreal landscape\nsurreal lighting\nsurreal material\nsurreal matte painting\nsurreal metal sculpture\nsurreal mystical atmosphere\nsurreal neil gaiman's sandman\nsurreal neuron city\nsurreal nuclear eclipse blast\nsurreal object photography\nsurreal oil on canvas\nsurreal oil painting\nsurreal painting\nsurreal photo\nsurreal photography\nsurreal portrait\nsurreal portrait photography\nsurreal psychedelic design\nsurreal ramifications\nsurreal realistic\nsurreal scene\nsurreal sci fi architecture\nsurreal sci fi set design\nsurreal sky\nsurreal space\nsurreal style\nsurreal tea party\nsurreal tears from the moon\nsurreal vfx\nsurreal waiizi flowers\nsurreal water art\nsurreal woodblock print\nsurreal woodcut engraving\nsurreal!!!\nsurrealcore\nsurreale\nsurrealism\nsurrealism - n 9\nsurrealism 8k\nsurrealism aesthetic\nsurrealism album cover\nsurrealism art\nsurrealism background\nsurrealism of francis bacon\nsurrealism oil on canvas\nsurrealism painting\nsurrealism portrait\nsurrealism style\nsurrealism!\nsurrealism!!!!\nsurrealism!!!!! concept art\nsurrealismconcept art\nsurrealisme aesthetic\nsurrealist\nsurrealist aesthetic\nsurrealist art\nsurrealist art style\nsurrealist artwork\nsurrealist conceptual art\nsurrealist landscape\nsurrealist landscape painting\nsurrealist oil painting\nsurrealist painting\nsurrealist photography\nsurrealist style\nsurrealistic\nsurrealistic bird\nsurrealistic digital artwork\nsurrealistic painting\nsurrealistic roman architecture\nsurrealistic style\nsurreality\nsurreautistic\nsurrender\nsurrounded\nsurrounded flower\nsurrounded in clouds and light\nsurrounded with fire\nsurrounding cinematic light\nsurrounding onions\nsurrounding the city\nsurveillance\nsurveillance camera\nsurveillance footage\nsus\nsus guy\nsusan hayward\nsushi\nsuspended bridge\nsuspended bridge!\nsuspended ceiling\nsuspended in air\nsuspended in outer space\nsuspended in zero gravity\nsuspended underwater\nsuspenders\nsuspense\nsuspenseful\nsuspenseful tone\nsuspiria\nsussy baka\nsussy imposter\nsustainability\nsustainable\nsustainable architecture\nsustainable materials\nsutro tower in san francisco\nsuzanne engelberg\nsuze randall\nsvarovsky\nsvend smital\nsvetlana belyaeva\nsvetlana tigai\nsvg\nsvg art\nsvg comic style\nsvg illustration\nsvg sticker\nsvg sticker art\nsvg vector\nsvg vector art\nsvg. technical\nsviatoslav gerasimchuk\nswag\nswagger\nswagger! lowrider culture\nswallowtail butterflies\nswamp\nswamp forest\nswamp gas\nswamp land\nswamp landscape\nswamp monster\nswamp monster of ice\nswamp thing\nswamps\nswampy\nswampy atmosphere\nswan\nswanland\nswans\nswarm\nswarm of bats\nswarm of fireflies\nswarming in flowers\nswarming swirling bats\nswarming with insects\nswarms of ravens\nswarovski\nswarovski and tiffany\nswarovski crystals\nswarovski style\nswashbuckler\nswashbuckler class pirate\nswashbuckling and romantic\nswat\nswat helmet\nswaying trees\nsweat\nsweat and labour\nsweat drops\nsweat flying\nsweater\nsweating\nsweating hard\nsweating intensely\nsweating profusely\nsweaty\nsweaty 4 k\nsweaty 4k\nsweaty abs\nsweaty and dirty\nsweaty and gross pioneer work\nsweaty face\nsweaty insane\nsweaty meat\nsweaty mountain\nsweaty skin\nsweaty skin dripping down face\nsweaty skin!!\nsweaty wet skin\nsweaty. steam in air\nsweden\nswedish\nswedish countryside\nswedish design\nswedish forest\nswedish house\nswedish houses\nswedish style\nswedish urban landscape\nswedish writing\nsweeping\nsweeping arches\nsweeping landscape\nsweeping ombre blonde hair\nsweeping vista\nsweeping wild blonde hair\nsweet\nsweet acacia trees\nsweet almost oil\nsweet and innocent\nsweet artpiece\nsweet color scheme\nsweet dreams\nsweet eyes\nsweet home\nsweet hugs\nsweet looks\nsweet night ambient\nsweet sarcastic smile\nsweet smile\nsweets\nsweltering\nsweltering heat\nswift\nswim suite\nswimming\nswimming across the universe\nswimming deep underwater\nswimming in a pool of coffee\nswimming in ocean\nswimming in space\nswimming pool\nswimming pool in front\nswimming through the ocean\nswimming through time\nswimming to surface\nswimming underwater\nswimmingpool\nswimsuit\nswimsuit model\nswindling\nswing on a tree\nswinging a big sword\nswinging on a vine over a chasm\nswinging reflective katana\nswings\nswiping brushwork\nswirl\nswirled architecture\nswirles\nswirley clouds\nswirling\nswirling around\nswirling bioluminescent energy\nswirling black hair\nswirling black magic\nswirling clouds\nswirling energy\nswirling fabric\nswirling fire flames cosmos\nswirling flames\nswirling flames in background\nswirling flowers\nswirling flows of energy\nswirling fluid\nswirling fluid smokey enigma\nswirling fog\nswirling galaxies\nswirling gardens\nswirling liquids\nswirling magical energy\nswirling mist\nswirling nature magic\nswirling paint\nswirling paint colors\nswirling red-colored silk fabric\nswirling scene\nswirling scene in forest\nswirling schools of silver fish\nswirling silver fish\nswirling smoke\nswirling smoke shapes\nswirling thick smoke\nswirling vortex of energy\nswirling water cosmos\nswirling wispy smoke\nswirls\nswirls of fire\nswirls of magic\nswirly\nswirly body painting\nswirly bokeh\nswirly clouds\nswirly clouds in the background\nswirly curls\nswirly dark hair\nswirly eyes\nswirly flower dress\nswirly liquid fluid abstract art\nswirly liquid ripples\nswirly lunar ripples\nswirly magic ripples\nswirly ripples\nswirly smoke\nswirly tubes\nswirly vibrant color lines\nswirly vibrant colors\nswirly vibrant lines\nswirly vibrant ripples\nswiss\nswiss alps\nswiss architecture\nswiss design\nswiss modernizm\nswitch\nswitches\nswitzerland\nswollen muscles\nswollen veins\nswoosh\nsword\nsword & sorcery\nsword and shield\nsword and sorcery\nsword and wand – water\nsword antlers\nsword art online\nsword attack\nsword design\nsword fight\nsword fighting\nsword in hand\nsword pointed at sky\nsword slash\nsword stuck in a pond island\nswords\nswords drawn\nswords stuck in the ground\nswordsman\nsycamore\nsyd\nsyd mead 3/4 closeup portrait\nsyd mead and mark brooks\nsyd mead and raphael lacoste\nsyd mead cinematic painting\nsyd mead color scheme\nsyd mead concept art\nsyd mead style\nsyd mead. rich colors\nsyd meade\nsydney\nsydney hanson\nsydney mortimer laurence\nsydney opera house\nsydney park\nsydney sweeney\nsylas\nsylvain sarrailh and igor morski\nsylvan glade\nsylvanas windrunner\nsylveon\nsylvester stallone\nsylvester stallone as batman\nsymatrical\nsymbiote\nsymbol\nsymbol for the word ersatz\nsymbolic\nsymbolic art\nsymbolic metaphor\nsymbolic mural\nsymbolist\nsymbolist painting\nsymbolist!\nsymbolization\nsymbology\nsymbols\nsymbols of live\nsymetric\nsymetric body\nsymetric character\nsymetric face and body\nsymetrical\nsymetrical composition\nsymetrical detailed faces\nsymetrical eyes\nsymetrical face\nsymetrical face structure\nsymetrical faces\nsymetrical facial\nsymetrical features\nsymetrical japanese pearl\nsymetrical portrait\nsymetrical scene\nsymetrical wings\nsymetry\nsymetry!!\nsymmetical face\nsymmetra from overwatch\nsymmetri\nsymmetric\nsymmetric and beautiful face\nsymmetric armor\nsymmetric art\nsymmetric azure eyes\nsymmetric balance\nsymmetric balance)\nsymmetric beautiful face\nsymmetric beauty\nsymmetric body\nsymmetric bright eyes\nsymmetric concept art\nsymmetric detailed\nsymmetric eyes\nsymmetric face\nsymmetric face and eyes\nsymmetric face!\nsymmetric facial features\nsymmetric form exploration\nsymmetric indian pattern\nsymmetric lights\nsymmetric lights and fog\nsymmetric lights and smoke\nsymmetric matte painting\nsymmetric ornaments\nsymmetric pattern\nsymmetric portrait\nsymmetric round detailed eyes\nsymmetric round detailed eyes!!\nsymmetric wings\nsymmetric!\nsymmetric!!\nsymmetrical\nsymmetrical 4k\nsymmetrical anatomy\nsymmetrical and centered\nsymmetrical and detailed\nsymmetrical and intricate\nsymmetrical artwork\nsymmetrical artwork. cinematic\nsymmetrical background\nsymmetrical balance\nsymmetrical baroque painting\nsymmetrical beautiful\nsymmetrical beautiful face\nsymmetrical beautiful human face\nsymmetrical beauty face\nsymmetrical body\nsymmetrical body features\nsymmetrical centered\nsymmetrical centered portrait\nsymmetrical cloaked figure face\nsymmetrical complex fine detail\nsymmetrical composition\nsymmetrical crown\nsymmetrical design\nsymmetrical detail\nsymmetrical details\nsymmetrical die cut sticker\nsymmetrical dieselpunk warrior\nsymmetrical digital illustration\nsymmetrical doorway\nsymmetrical dragon wings\nsymmetrical duality\nsymmetrical epic fantasy art\nsymmetrical eyes\nsymmetrical eyes and body\nsymmetrical eyes and face\nsymmetrical face\nsymmetrical face and body\nsymmetrical face and eyes\nsymmetrical face and full body\nsymmetrical face concept art\nsymmetrical face details\nsymmetrical face features\nsymmetrical face happy\nsymmetrical face illustration\nsymmetrical face orelsan\nsymmetrical face portrait\nsymmetrical face!!\nsymmetrical face!!!!\nsymmetrical face. beautiful eyes\nsymmetrical faces\nsymmetrical faces!!!\nsymmetrical facial\nsymmetrical facial feature\nsymmetrical facial features\nsymmetrical fantasy landscape\nsymmetrical features\nsymmetrical framing\nsymmetrical front\nsymmetrical front face portrait\nsymmetrical front view\nsymmetrical full body\nsymmetrical fullbody rendering\nsymmetrical hands\nsymmetrical head and body\nsymmetrical head-on centralized\nsymmetrical illustration\nsymmetrical image\nsymmetrical layout\nsymmetrical logo\nsymmetrical long head\nsymmetrical mechanical features\nsymmetrical mouth\nsymmetrical neon rim light\nsymmetrical nose\nsymmetrical nostrils\nsymmetrical ornament\nsymmetrical outpost\nsymmetrical painted face\nsymmetrical painting\nsymmetrical patterns\nsymmetrical perfect face\nsymmetrical portrait\nsymmetrical portrait rpg avatar\nsymmetrical portrait scifi\nsymmetrical portrait symmetrical\nsymmetrical pose\nsymmetrical proportions\nsymmetrical pupils\nsymmetrical realistic\nsymmetrical rim light\nsymmetrical shape\nsymmetrical shot\nsymmetrical shoulders\nsymmetrical sticker design\nsymmetrical tarot card\nsymmetrical tarot illustration\nsymmetrical vogue face portrait\nsymmetrical wings\nsymmetrical wings on back\nsymmetrical!\nsymmetrical! intricate\nsymmetrical!!\nsymmetrical!! face\nsymmetrical!! sci-fi\nsymmetrical!!!\nsymmetrical. sci - fi\nsymmetricalintricate\nsymmetrically\nsymmetrically centered\nsymmetrie\nsymmetry\nsymmetry ; photorealistic\nsymmetry accurate features\nsymmetry accurate human features\nsymmetry balance\nsymmetry body features\nsymmetry composition\nsymmetry concpet art\nsymmetry face\nsymmetry feature\nsymmetry features\nsymmetry features proportions\nsymmetry fractal\nsymmetry illustration\nsymmetry symmetrical\nsymmetry!\nsymmetry! futuristic robotic\nsymmetry! human fetus\nsymmetry!!\nsymmetry!! concept art\nsymmetry!! concpet art\nsymmetry!! full shot!!\nsymmetry!! portrait\nsymmetry!! portrait of a cowboy\nsymmetry!! portrait of a woman\nsymmetry!! portrait of akuma\nsymmetry!! portrait of cyborg\nsymmetry!! portrait of hades\nsymmetry!! solid cube of light\nsymmetry!! water\nsymmetry!! yellow ranger\nsymmetry!!!\nsymmetryconcept art\nsymmetryconcpet art\nsymmetryfull shot\nsymmetryhuman fetus\nsymmetrysolid cube of light\nsymmetrywater\nsymmetryyellow ranger\nsymmmetric design\nsymobolism\nsympathetic\nsymphogear\nsymphony\nsynaesthesia\nsynched\nsyndicate corporation\nsyndicate(2012)\nsyndicate2012\nsyndrome from the incredibles\nsynesthesia\nsynth\nsynth - wave\nsynth feel\nsynth vibe\nsynth wave\nsynth-wave\nsynthesizer\nsynthesizers\nsynthetic\nsynthetic bio skin\nsynthetic cubism\nsynthetic curves striking pose\nsynthetic fur\nsynthetic light\nsynthetic materials\nsynthetic maw\nsynthetic polymer paint on linen\nsynthetic skin\nsynthewave\nsynthwave\nsynthwave aesthetic\nsynthwave art\nsynthwave art style\nsynthwave art style ]!!\nsynthwave background\nsynthwave city\nsynthwave color palette\nsynthwave color scheme\nsynthwave colors\nsynthwave colors!!\nsynthwave colorscheme\nsynthwave colours\nsynthwave digital art\nsynthwave image\nsynthwave inspired\nsynthwave neon retro\nsynthwave neon retrofuturism\nsynthwave style\nsynthwave sunset\nsyntwave\nsyphon filter\nsyringe\nsyringes\nsyrup\nsystem\nsystem shock 2\nsystem unit\nsythwave\nsza\nszekely bertalan and lotz karoly\nszekely bertalan. atmospheric\nszukalski\nszukalski & blade runner\nszukalski blade runner\nszukalski ravi varma\nsão paulo\nséance\nt - 8 0 0\nt - pose\nt - rex\nt - rex drinking a giant ipa\nt - shirt\nt - shirt design\nt 1 0 0\nt 100\nt allen lawson and ian fisher\nt artfully traced\nt pose\nt shirt design\nt-1000\nt-800\nt-pose\nt-pose of male magic wizard\nt-pose of wizard\nt-rex\nt-shirt\nt-shirt design\nt-top\nt100\nta ha\ntabaxi\ntabaxi :: rogue\ntabaxi male\ntabaxi monk\ntabernacle deep focus\ntable\ntable in front with a cup\ntable is centered\ntable light\ntable set for second breakfast\ntable with microphones\ntablecloth\ntables\ntables and chairs\ntabletop\ntabletop game board\ntabletop game props\ntabletop gaming\ntabletop miniature\ntabletop model\ntabletop model buildings\ntabletop role playing game\ntabletop rpg\ntabloid\ntabloid photo\ntachikoma\ntachism\ntaciturn\ntack sharp\ntack sharp focus\ntaco\ntaco bell\ntacos\ntactical\ntactical armor\ntactical assault\ntactical gear\ntactical knife\ntactical poncho latex rags\ntactical squad :9\ntactical squads :10\ntactical squads :19\ntactical squads :9\ntactical team in hell\ntactical vest\ntactical vests and holsters\ntactical warfare\ntactile\ntactile buttons and lights\ntadema\ntaehyung eating gucci fries\ntaejune kim\ntafy\ntag\ntag heur\ntags: blonde hair\ntai chi\ntai costume\ntai traditional bronze headdress\ntai warlord\ntaiga\ntaiga landscape\ntail\ntail fin\ntail lights\ntail of a lemur\ntail raised\ntail slightly wavy\ntailored clothing\ntails worn\ntaisho roman\ntaiwan\ntaiyo matsumoto\ntaj mahal\ntaj mahal made of cheese\ntakada akemi\ntakaratomy\ntakashi murakami art style\ntakashi murakami artwork\ntakashi takeuchi\ntakata yamamoto style\ntakato yamamoto aesthetic\ntakato yomamoto\ntakato yomamoto. 4 k\ntakayuki takeya\ntake\ntake control of your data\ntake cover\ntake me away from the norm '\ntake my hand\ntake off\ntakehiko inoue\ntaken at golden hour\ntaken from a plane\ntaken from behind\ntaken from orbit\ntaken from the high street\ntaken in 1 9 9 7\ntaken in 2 0 2 0\ntaken in 2020\ntaken in 2022\ntaken in night club\ntaken in silver dollar city\ntaken in the 1970s\ntaken in the 2000s\ntaken in the early 1910s\ntaken in the early 1920s\ntaken in the early 1930s\ntaken in the early 1960s\ntaken in the early 1970s\ntaken in the early 1990s\ntaken in the early 2020s\ntaken in the late 1800s\ntaken in the late 1970s\ntaken in the late 1980s\ntaken in the late 2000s\ntaken in the late 2010s\ntaken in the mid 2000s\ntaken in the mid-late 1800s\ntaken in the night\ntaken in zoo\ntaken on 1970s kodak camera\ntaken on a 1960s kodak camera\ntaken on a 1970s polaroid camera\ntaken on a 1990s camera\ntaken on a 2000s camera\ntaken on a 2010s camera\ntaken on a field view camera\ntaken on a nikon\ntaken on a ww 1 camera\ntaken on a ww 2 camera\ntaken on a ww2 camera\ntaken on an iphone\ntaken on go pro hero8\ntaken on iphone 1 3 pro\ntaken on iphone 13 pro\ntaken on iphone 14 pro\ntaken through a telescope\ntaken with a canon dslr camera\ntaken with a canon eos 5 d\ntaken with a canon eos 5d\ntaken with a disposable camera\ntaken with a leica camera\ntaken with a pentax k1000\ntaken with a pentax1000\ntaken with canon 5d mk4\ntaken with canon 8 0 d\ntaken with canon 80 d\ntaken with canon eos 5 d\ntaken with canon eos 5 d mark iv\ntaken with kodak portra\ntaken with my nikon d 3\ntaken with polaroid kodak portra\ntaken with sigma 2 0 mm f 1. 4\ntaken with sony a7r camera\ntaken with sony alpha 9\ntaken with the best dlsr camera\ntakeuchi takashi\ntakeyuki kanda\ntaking a picture\ntaking a selfie\ntaking a smoke break\ntaking control while smiling\ntaking from above\ntaking mind altering drugs\ntaking selfies\ntaking tobacco snuff\ntakumi fujiwara\ntalaat harb square cairo\ntales from the borderlands\ntales from the crypt\ntales of earthsea\ntaliban\ntaliyah\ntalk show\ntalking\ntalking animals\ntalking around a fire\ntalking creatures\ntall\ntall acid green grass field\ntall and lanky skinny\ntall and muscular\ntall and slender\ntall and slim\ntall and slim figured\ntall and small\ntall and strong\ntall and thin\ntall angle\ntall anime guy with blue eyes\ntall arched stone doorways\ntall arches\ntall backlit waves\ntall big rocks\ntall bridge with city on top\ntall broad oaks\ntall building\ntall buildings\ntall buildings in background\ntall buildings on the sides\ntall castle enclosed palisaded\ntall ceiling\ntall ceilings\ntall columns\ntall corn in the foreground\ntall cypress trees\ntall door\ntall emaciated man wolf hybrid\ntall entry\ntall factory\ntall farmer\ntall female angel\ntall female emo art student\ntall flowers\ntall fluffy clouds\ntall forehead\ntall girl\ntall gladiator sandals\ntall golden heavenly gates\ntall grass\ntall grown reed on riverbank\ntall handsome guys\ntall hat\ntall iced tea glass\ntall kelp\ntall large trees\ntall man\ntall metal towers\ntall minimalist skyscrapers\ntall mountain\ntall mountains\ntall mountains in the horizon\ntall obsidian architecture\ntall pine trees\ntall plants\ntall purple and pink trees\ntall root tree background\ntall shot\ntall skeletal figure\ntall skyscraper\ntall skyscrapers\ntall spires\ntall stone spires\ntall structures\ntall terrace\ntall thin\ntall thin beautiful goddess\ntall thin build\ntall thin frame\ntall towers\ntall tree\ntall trees\ntall windows\ntall windows lit up\ntaller than a skyscraper\ntaller than man\ntallinn\ntally hall\ntally hall album cover\ntalons\ntamagotchi\ntamandua\ntamara de lepika\ntamborine\ntamriel\ntamron so 85mm\ntan\ntan and brown fur\ntan complexion\ntan shorts\ntan skin\ntan skin a tee shirt and shorts\ntan skin)\ntan suit\ntan vest\ntanaka suguru\ntane skin\ntaned skin\ntang dynasty\ntang dynasty palace\ntang mo\ntangelos\ntangerine dream album cover\ntangible\ntangled\ntangled cables\ntangled overhead wires\ntangled trees\ntangled vines\ntangled wires\ntangles of metallic cables\ntanino liberatore\ntanjiro kamado\ntank\ntank class\ntank fires with dollar banknotes\ntank girl\ntank has a large solid cannon\ntank top\ntank with legs\ntank-top\ntankoban\ntankobon\ntanks\ntanks crashed\ntanned\ntanned ameera al taweel\ntanned beauty portrait\ntanned body\ntanned skin\ntanned skintone\ntannoy\ntanny skin\ntans\ntansparent water\ntaoism\ntaoist master\ntaoist priest\ntaoist robe\ntaoist temples and monks\ntaormina amphitheatre\ntap out\ntape\ntape deck\ntapered hairline\ntapestries hanging from ceiling\ntapestries of dreams\ntapestry\ntapir\ntapping in to something greater\ntaps with running water\ntar\ntar - like\ntar pit\ntar pits\ntar roads\ntara mcpherson\ntaran fiddler\ntarantino\ntarantino movie posters\ntarantulas\ntaras shevchenko style\ntaras susak\ntarbell\ntardigrade\ntardigrade in space\ntardigrade statue in the forest\ntardigrade wearing sunglasses\ntardis\ntardis console room\ntareme eyes\ntarg nar\ntarget reticles\ntarkovsky\ntarkovsky color palette\ntarkovsky greatest scene\ntarkovsky scene\ntarmo juhola\ntarnished and rusted metal\ntaron egerton as wolverine\ntarot\ntarot art\ntarot card\ntarot card art\ntarot card background\ntarot card design\ntarot card enviroment\ntarot card frame\ntarot card goddess of death\ntarot card layout\ntarot card of a shirtless cowboy\ntarot card style\ntarot card the chariot\ntarot card the empress\ntarot card the fool\ntarot card the hermit\ntarot cards\ntarot cards characters\ntarot cards floating\ntarot design\ntarot style\ntarot swords\ntarot!!\ntarsier\ntarski fiume\ntartakovsky\ntartan cloak\ntartan garment\ntartan hoodie\ntartan hoody\ntartan scarf\ntartan vestments\ntartarian architecture\ntarzan\ntaschen\ntassels\ntasteful\ntasteful colors\ntastes\ntasty\ntatami galaxy\ntataru\ntatoo\ntatooine\ntatoos\ntatsuki fujimoto\ntatsumaki\ntatsumaki from one punch man\ntatsumaki with green curly hair\ntatsuro kiuchi\ntatsuro yamashita\ntatsuya endo\ntatsuyuki tanaka hd\ntatsuyuki tanaka movie poster\ntatterdemalion\ntattered\ntattered cloth robes\ntattered clothes\ntattered clothing\ntattered dress\ntattered fabric\ntattered gothic horror maiden\ntattered green dress\ntattered leather coat\ntattered ragged gothic dress\ntattered robes\ntattered wings\ntatto\ntattoo\ntattoo art\ntattoo artist\ntattoo design\ntattoo design sketch\ntattoo flash\ntattoo graphics\ntattoo ink\ntattoo of a california scrub jay\ntattoo on shoulder\ntattoo on upper arm\ntattoo parlor photo\ntattoo sketch\ntattoo sketch of a ocean\ntattoo sketch of a sea\ntattoo sketches\ntattoo sleeve on her right arm\ntattoo stencil\ntattoo style\ntattooed\ntattooed back\ntattooed body\ntattooed face\ntattooed man\ntattooed pinup\ntattooed skin\ntattoos\ntattoos all over the skin\ntattoos and piercings\ntattoos of cumulus clouds\ntattoos of star wars symbols\ntaupe\ntauren\ntaurus\ntaurus zodiac sign symbol\ntavern\ntavern background\ntaverns nighttime lifestyle\ntawa trees\ntawny frogmouth\ntaxi\ntaxidermy\ntaxis\ntaylor swift\ntaylor swift as a boy\ntaylor swift as a heavenly angel\ntaylor swift as captain america\ntaylor swift as princess leia\ntaylor swift carrying a rifle\ntaylor swift face\ntaylor swift made of purple ice\ntaylor swift modeling\ntaylor swift with green dress\ntcg\ntchock\nte pae\ntea\ntea ceremony scene\ntea cup\ntea drinking and paper lanterns\ntea party\nteacher\nteacher as angry zombie\nteaching\nteak table\nteal\nteal aesthetic\nteal and orange\nteal and orange color scheme\nteal and orange colors\nteal and orange colour palette\nteal and orange colours\nteal and pink\nteal cloth\nteal color graded\nteal electricity\nteal energy\nteal ethereal tendril wings\nteal eyebrows\nteal eyes\nteal gradient\nteal hair\nteal headband\nteal landscape\nteal lighting\nteal lights\nteal neon lights\nteal orange\nteal orange color palette\nteal orange color palette 8k\nteal orange color scheme\nteal palette\nteal palette. horror\nteal palette.”\nteal paper\nteal silver red\nteal skin\nteal skirt\nteal sky\nteal studio backdrop\nteal suit\nteal tones\nteal tunic\nteal uniform\nteal white gold color palette\nteal-neon viking runes\nteals\nteam fortress 2\nteam fortress 2 screenshot\nteam fortress 3\nteam fortress style\nteam ibuypower\nteam rocket\nteamlab\nteams\nteapot\nteapot : 1\nteapots\ntear\ntear drop\ntear drops\ntear gas\ntear gas and smoke\ntear on face\ntearaway\ntearing\ntears\ntears drip from the eyes\ntears dripping from the eyes\ntears from the eyes\ntears in eyes\ntears in the rain\ntears running down\ntears running down face\nteary eyes\ntease\nteaser\nteaser trailer footage\nteasing\nteasing smile\ntech\ntech art\ntech city in the background\ntech demo\ntech face\ntech fantasy\ntech glasses\ntech helmet\ntech noir\ntech pattern\ntech robes\ntech war\ntech wear\ntech wear!!!\ntech-noir\ntechnical\ntechnical atmosphere\ntechnical detail\ntechnical diagram\ntechnical document\ntechnical draw\ntechnical drawing\ntechnical drawings\ntechnical environment\ntechnical manual\ntechnical sketch\ntechnical suit\ntechnical vest\ntechnicolor\ntechnicolor 4 k\ntechnicolor 4k\ntechnicolor color\ntechnicolor film\ntechnicolor film expired film\ntechnicolor horror\ntechnicolor!!!\ntechnicolour\ntechnicolour 1\ntechnicolour film\ntechnilogy\ntechno\ntechno artwork\ntechno concert advert\ntechno eye\ntechno eyes\ntechno gargoyles\ntechno music\ntechno mystic\ntechno mystic goddess\ntechno neon projector background\ntechno organic armor\ntechno party\ntechno-optimism\ntechno-punk\ntechnocore\ntechnocracy\ntechnologic\ntechnological\ntechnological anguish\ntechnological lights\ntechnological longcoat\ntechnological rings\ntechnological screens\ntechnological singularity\ntechnological sunglasses\ntechnologies\ntechnology\ntechnology and magic\ntechnology and nature\ntechnology and nature in harmony\ntechnology cloak\ntechnology design\ntechnology flight suit\ntechnology meets fantasy\ntechnology sci - fi\ntechnology vs nature\ntechnomancer\ntechnopunk\ntechnouveau\ntechnoviking male with no shirt\ntechwear\ntechwear clothes\ntechwear fashion\ntechwear look and clothes\ntechwear occultist\ntechwear!! intricate\ntechwearintricate\ntectonic cityscape\ntectonic sky\ntectonics\nted cruz\nted cruz is the zodiac killer\nted danson\nted gore\nted naismith\nted nasmit\nted nasmith and marc simonetti\nted nasmuth\nted naysmith\nteddy bear\nteddy fresh\ntee shirt graphic\nteeming with life\nteemo\nteemo from league of legends\nteen\nteen boy\nteen elf\nteen elf girl\nteen girl\nteen magazine cover\nteen titans\nteenage\nteenage boy\nteenage engineering moad\nteenage female schoolgirl\nteenage girl\nteenage girl riding a dragon\nteenage grunge punk rock\nteenage jughead jones\nteenage mutant ninja turtle\nteenage mutant ninja turtles\nteenage no\nteenage vanessa morgan\nteenage viking shieldmaiden\nteenager\nteenager girl\nteenager hangout spot\nteenagers\nteepee\nteeth\nteeth bared\nteeth between bread and patty\nteeth filled with cavities\nteeth gritted\ntehnicolor\ntehran\ntekken\ntekken 7\ntekkon kinkreet\ntekkon kinkret\ntekkon kinreet\ntekkonkinkreet\ntekla evelina severin\ntel aviv street\ntel aviv under rocket attack\ntele lens\ntele photo lens\ntelegram sticker\ntelegram sticker design\ntelekinesis\ntelekinetic aura\ntelepaths\ntelephhoto\ntelephone\ntelephone pole\ntelephone wires\ntelephoto\ntelephoto lens\ntelephoto lense\ntelephoto long distance shot\ntelephoto photography\ntelephoto shot\ntelephoto sigma 8 5 mm f / 1. 4\ntelephoto vacation picture\ntelephoto zoom\nteleportation\ntelescope\nteletubbies\nteletubbies in the backrooms\ntelevision\ntelevision head\ntelevision screenshot\ntelevision show\ntelevision still\ntelevision sunglasses\ntelevisions\ntelling jokes\ntelling stories\ntelltale games style\ntelltale style\ntempera\ntempera on wood\ntempera paint\ntempered in solitude\ntempest\ntempestuous\ntemplar\ntemplate\ntemplate layout\ntemplate sheet\ntemple\ntemple background\ntemple fair\ntemple in the background\ntemple in the distance\ntemple made of flesh\ntemple of heaven\ntemple of the sun\ntemple ruins\ntemple run\ntemples\ntemples behind her\ntemporal dead zone\ntemporal super resolution\ntemporalization\ntemporary emergency shelter\ntemporary tattoo\ntempting\ntempura on panel\ntemuera morrison\nten flats\nten lee\nten-dimensional\nten-gallon hat\ntender\ntenderness\ntending on arstation\ntending on art station\ntending on pinterest\ntendons\ntendrils\ntendrils in the background\ntendrils of colorful light\ntends to have fractal structure\ntendu pose\ntenebrism\ntenement buildings\ntenet\ntengri\ntengu mask\ntennis ball\ntennis ball monster\ntennis ball monsters\ntennis court\ntennis racket\ntennis wear\ntenochtitlan\ntense\ntense atmosphere\ntense design\ntense look\ntensei shitara slime datta ken\ntension\ntensive mood\ntent\ntent architecture\ntent camp in foreground\ntentacle\ntentacle beast\ntentacle monster\ntentacle motifs\ntentacled creature mix\ntentacles\ntentacles and bones\ntentacles around\ntentacles beard\ntentacles climb from the portal\ntentacles growing from its face\ntentacles in universe\ntentacles rising from the sea\ntentacles wrapped around burgers\ntention\ntents\nteonanacatl glyph\nterada\nterada katsuya\nterem\nterence mckenna\nterence nielsen\nterminal\nterminal text\nterminals\nterminator\nterminator 2\nterminator 2 movie\nterminator art\nterminator artifacts\nterminator skeleton\nterminator t 8 0 0\nterminator tech\nterminator without flesh\nterrace\nterraced\nterraced orchards and ponds\nterraces\nterracotta\nterraformation\nterraformed mars\nterraforming\nterraforming jezero crater\nterraforming mars\nterragen\nterrain\nterran trade authority\nterraria\nterrarium\nterrarium lounge area\nterrazzo\nterrence malick\nterrence malick screenshots\nterrestrial paradise\nterrible\nterrible atmosphere\nterrific\nterrified\nterrified 👿\nterrifying\nterrifying :7\nterrifying and dangerous\nterrifying architecture\nterrifying atmosphere\nterrifying but fascinating\nterrifying face\nterrifying in its weirdness\nterrifying masterpiece\nterrifying monster\nterrifying nightmare\nterrifying!!!\nterror\nterror glow\nterror glows\nterrorist attack\nterry davis\nterry gilliam\nterry moore\nterry richardson\nteruel city in 1989\ntesla\ntesla car\ntesla coil\ntesla coils\ntesla cybertruck\ntesla dune buggy\ntesla logo on chest\ntesla model 3\ntessa thompson\ntessa thompson inspired\ntesselation\ntessellated planes of rock\ntessellating patterns\ntessellation\ntesseract\ntessgarman\ntest\ntest screen\ntest subject\ntest subject supersoldier\ntest tubes\ntesting custom\nteths and tentacles\ntetrachromacy\ntetradic color scheme\ntetris\ntetsuo from akira\ntetsuo hara\ntetsuo hara and katsuhiro otomo\ntetsuya ichida\ntetsuya nomura\nteutonic knight\ntexas\ntexhnolyze\ntext\ntext : roborock\ntext and a pale young woman\ntext morphing into objects\ntext on paper\ntext paragraphs in left\ntext poster\ntext says: schwarzlicht\ntextbook\ntextbook illustration in clolour\ntextbook page\ntextbook pages\ntextbooks\ntextbooks and books\ntextile\ntextile print\ntextiles\ntextless\ntextural\ntexture\ntexture city at night\ntexture detail\ntexture details\ntexture electronic circuit\ntexture for 3 d\ntexture for 3d\ntexture map\ntexture of electronic circuit\ntexture of old rust and trash\ntexture of sand\ntexture pack\ntexture quality high\ntexture render\ntexture rust\ntextured\ntextured 3 d\ntextured 8k\ntextured base ; product photos\ntextured brush strokes\ntextured canvas\ntextured detailed skeleton\ntextured in substance\ntextured light\ntextured like a carpet\ntextured oil on canvas\ntextured paper\ntextured parchment background\ntextured photoshop brushes\ntextured plastic\ntextured skin\ntextured turquoise background\ntextures\ntextures. com\ntextures.com\ntexturing xyz\ntexturized\ntezuka osamu\ntf 1\ntf 2\ntf 2 maps. net\ntf2\ntf2 screenshot\ntf2 screenshot colour palette\ntfwiki. net photography\ntfwiki.net photography\ntgv\nthai\nthai architecture\nthai temple\nthailand\nthailand art\nthalassophobia\nthallasophobia\nthames river\nthanatos\nthancred waters\nthancred waters in style of wlop\nthangka\nthank you\nthank you very much\nthanks\nthanos\nthanos as a starbucks barista\nthanos as frodo baggins\nthanos as vin diesel\nthanos eating a big mac\nthanos helicopter\nthanos portrait\nthanos style traits\nthanos working at starbucks\nthanshuhai\nthat has the form of a dragonfly\nthat is 1300 feet tall\nthat looks like a dragonfly\nthat looks like a insect\nthat resembles a bull\\'s\nthat resembles a bulls\nthat violence breeds violence\nthat we would see in the essoldo\nthat's right\nthatched houses\nthatched roof\nthatched roofs\nthawan duchanee\nthc\nthe\nthe 'american gothic' painting\nthe (void\nthe - dark - crystal\nthe 13th doctor regenerating\nthe 2000s\nthe 4th dimension\nthe 5 th element\nthe 9 0 s\nthe absolute worst\nthe actor\nthe addams family\nthe african painted dog\nthe age of discovery\nthe ai\nthe album is called tripmachine\nthe alien from the movie 'alien'\nthe allfather\nthe alps are in the background\nthe amazing spider man 2\nthe amazing world of gumball\nthe american dream\nthe american gothic painting\nthe anatomy of a head of lettuce\nthe ancient world\nthe angel of death\nthe angel of death with a halo\nthe angels are crying\nthe angry\nthe animatrix\nthe anime girl is crouching\nthe anime girl is running\nthe annunaki making humans\nthe answer to life\nthe antler people\nthe apocalypse\nthe apple and the moon\nthe argo\nthe art of athas and dark sun\nthe art of bionicle\nthe art of books\nthe art of pixar\nthe art of skinner\nthe artist\nthe artist has used bright\nthe artist is charles burns\nthe atmosphere is cheerful\nthe australian desert\nthe autumn plague gardener\nthe avengers\nthe average redditor\nthe ayahuasca spirit\nthe back rooms\nthe background is black\nthe background is blurred\nthe background is lush jungle\nthe background is misty\nthe background is on fire\nthe background is unsafe\nthe background is white\nthe backroom\nthe backrooms\nthe backrooms are empty\nthe backrooms liminal space\nthe bad\nthe bad and the ugly\nthe banana blue gang\nthe band name is roborock\nthe batman\nthe batman who laughs\nthe battle for the treehouse\nthe battle of hoth\nthe bauhaus\nthe beach\nthe beast of judgement\nthe beastlands\nthe beastmaster 1 9 8 5\nthe beatles\nthe beginning and the end\nthe beginning of the end\nthe beginning of the universe\nthe beginning of time\nthe best\nthe best composition\nthe best ever\nthe best lack all conviction\nthe best modern photo of august\nthe best of elephants\nthe best on cgsociety\nthe best photograph of august\nthe big bang\nthe big ben is in background\nthe big lebowski\nthe binding of isaac\nthe bird is wearing a bowtie\nthe bird's - eye view\nthe birth\nthe birth of venus\nthe black box\nthe black lioness made of tar\nthe blacksmith\nthe blacksmits’ daughter\nthe blade dancer\nthe blessed aisles\nthe blind liberty of the few\nthe blob\nthe blood meridian\nthe blue panther\nthe blue whale crystal texture\nthe bodhi tree at sunset\nthe body of ronda rousey\nthe bone crown\nthe bones came together\nthe boogie monster\nthe book is closed\nthe borg\nthe born fire\nthe boys\nthe brilliant dawn on the meadow\nthe british museum\nthe brittle. digital painting\nthe buddha\nthe building is a skyscraper\nthe buildings are on fire\nthe bunny has pink fur\nthe butterfly goddess of fire\nthe candle is on a wooden table\nthe car is corvette c2 1969\nthe card player man\nthe caretaker\nthe cars have faces\nthe castle\nthe cat cooks soup\nthe cat in the hat\nthe cat is drinking tea\nthe cat is fluffy\nthe cat is orange\nthe cat is smiling\nthe cat is walking\nthe cat looks like giraffe\nthe cat who could drive a car\nthe caterpillar\nthe catholic pope in his bed\nthe ceaseless waking nightmare\nthe centre cannot hold\nthe cepheid god of lost things\nthe character is a man\nthe cheshire cat\nthe chicken man\nthe children of the night\nthe chronic\nthe city iacon cybertron\nthe city is full of green plants\nthe city is on fire\nthe city of atlantis\nthe city of lisbon\nthe city of paris\nthe city of santa barbara\nthe city of toronto\nthe city that never sleeps\nthe clangers\nthe clear sky\nthe cloudy moonlit sky\nthe clown is far from the camera\nthe color black\nthe color red\nthe colors are bright\nthe colossus of rhodes\nthe colours of the sunset\nthe coming ai singularity\nthe computer gods ascend\nthe concept of infinity\nthe conjuring\nthe conjuring style\nthe console is tall and imposing\nthe contra space war\nthe cool colors\nthe council of spooky bitches\nthe cowboy in the weird west\nthe crawling chaos\nthe creation of adam\nthe creation of the universe\nthe creator\nthe creator of earth\nthe creator of everything\nthe creator of evil\nthe creator of the universe\nthe creature in the basement\nthe creature sells a used car\nthe creature sits in a car\nthe crowd flees the village\nthe crowd is cheering\nthe crown\nthe crown is very high\nthe cube\nthe culture\nthe cure\nthe cure for cancer\nthe cure for hate\nthe curse of monkey island\nthe cutest creature in the world\nthe cutest creature of the world\nthe cutest kitten ever\nthe cyberpunk apartment\nthe cyberpunk girl portrait\nthe cytoplasm”\nthe dark crystal\nthe dark god of cats\nthe dark knight\nthe dark lord\nthe dark lord sauron\nthe dark one\nthe dark side\nthe dark side of the moon\nthe dark souls knight\nthe dark sun\nthe dark sun of athas\nthe dark tower\nthe darkest hour\nthe darkness\nthe dawn of man\nthe dead sea\nthe death\nthe death of art\nthe decisive moment\nthe deck of many things\nthe depthless eye\nthe depths of depravity\nthe depths of joy\nthe desert\nthe desert is in color pencil\nthe desert is in watercolor\nthe designer of the universe\nthe designer's republic\nthe designers republic\nthe destroyer of worlds\nthe destruction of the universe\nthe devastating wise goat\nthe devil\nthe devil in hell as a dragon\nthe devil tarot card\nthe disease of imagination\nthe diskworld\nthe divine feminine\nthe doctor\nthe dog is doing a ballet dance\nthe doom slayer\nthe doomslayer\nthe doors\nthe dragon girl portrait\nthe dream\nthe dreaming\nthe dress\\'s lower\nthe dresss lower\nthe drone king\nthe dude\nthe duke shrek\nthe earth\nthe earth from space\nthe earth sprouts lava\nthe ecolab industrial dishwasher\nthe edge of the universe\nthe edge of the world\nthe ego separates\nthe egyptian god\nthe elder scrolls\nthe elder scrolls iii: morrowind\nthe elder scrolls iv: oblivion\nthe elder scrolls v : skyrim\nthe elder scrolls v: skyrim\nthe elder scrolls vi\nthe elder scrolls vi hammerfell\nthe electric boy\nthe element woman\nthe emerald coast\nthe emerald herald\nthe emerald herald in the garden\nthe emperor\nthe emperor tarot card\nthe empress\nthe empress of licorice\nthe empress tarot card\nthe empress’ hanging\nthe empress’ swirling gardens\nthe encrypted metaverse\nthe end\nthe end of all things\nthe end of an organism\nthe end of days\nthe end of evangelion\nthe end of humanity\nthe end of the universe\nthe end of the word\nthe end of the world\nthe end of time\nthe end of times\nthe endless\nthe endless end beyond all ends\nthe energy is released\nthe energy of dreams\nthe entrance of valhalla\nthe essence of evil\nthe evil dead\nthe evil within monster\nthe expanse\nthe expanse tv series\nthe explosion from akira\nthe extremely hot and sexy\nthe eye of god\nthe eye of god rah\nthe eye of providence\nthe eye of sauron\nthe eye of the universe\nthe eye of the world\nthe eyes mouth are closed\nthe eyes of sharbat gula\nthe fabulous city of london\nthe face emerges from pamukkale\nthe face of absurdly beautiful\nthe face of god\nthe fairy queen\nthe fall of constantinople\nthe fall of gondolin\nthe fall of man\nthe fall of rome\nthe fall of summer\nthe fall of the galactic empire\nthe fall season\nthe falling soldier\nthe fashion of the time\nthe fast and the furious\nthe father of sorrow and revenge\nthe feeling of boredom\nthe feeling of dread\nthe fellowship of the ring\nthe fifth element\nthe fifth element artifacts\nthe fifth element movie\nthe fifth series\nthe final battle\nthe final battle in hell\nthe final frontier\nthe fire goddess\nthe fire is made of binary code\nthe fire king\nthe fire queen\nthe first and the last\nthe first landing on the moon\nthe first selfie on earth\nthe first steampunk dragon\nthe flamingo cafe\nthe flash\nthe flow of time. complex shapes\nthe flower crown\nthe flower prince\nthe flower tower\nthe flying dutchman\nthe flying spaghetti monster\nthe fool\nthe fool tarot\nthe fool tarot card\nthe fool tarot card rider waite\nthe fool tarot illustration\nthe forbidden city\nthe force\nthe forefoot to make a v gesture\nthe forest\nthe forest is on fire\nthe fork is on a plate\nthe former demon king\nthe fourth race of starcraft 2\nthe fox-like evolution pokemon\nthe front of a trading card\nthe funniest meme ever\nthe furry fursuit is running\nthe futility of overexertion\nthe future\nthe future ages\nthe galaxy\nthe game designer\nthe garden of eden\nthe gate to hell\nthe gates of argonath\nthe gates of heaven\nthe gates of hell\nthe ghost in the machine\nthe ghosts in the machine\nthe girl and the sun\nthe girl is scared\nthe girl made out of flowers\nthe girl on a windowsill\nthe girl plays the guitar\nthe glass bead game\nthe glimmering orange dawn\nthe glow of the moonlight\nthe glowing throne\nthe god anubis\nthe god athena\nthe god emperor of mankind\nthe god hades\nthe god hephaestus\nthe god hermes\nthe god of chaos\nthe god of mischief\nthe god of music\nthe god of oatmeal\nthe god of propane\nthe god of small scissors\nthe god of small scissors!!\nthe god of the forge\nthe god of the sea\nthe god of thunder\nthe god particle\nthe god poseidon\nthe god posideon\nthe god zeus\nthe goddess artemis smirking\nthe goddess hera looking angry\nthe goddess hestia\nthe goddess of art\nthe goddess of autumn harvest\nthe goddess of fertility\nthe goddess of love\nthe goddess of summer\nthe godess hera looking angry\nthe godfather\nthe golden cat armor knight\nthe golden hour\nthe golden humanoid robot\nthe golden ratio\nthe good\nthe grand budapest hotel\nthe grand steampunk piano\nthe grand temple of flowers\nthe grass\nthe graveyard\nthe graveyard!!\nthe great beyond\nthe great door of hell\nthe great marble wizards tower\nthe great wall\nthe great war\nthe great wave off kanagawa\nthe greatest cake\nthe greek god\nthe greek god of wine\nthe greek goddess aphrotite\nthe green goblin\nthe green lantern\nthe gremlins are too damn high\nthe grim reaper\nthe grim reapper\nthe grinch\nthe ground is dark and cracked\nthe grudge\nthe gruffalo\nthe guitar player\nthe gunslinger\nthe guy from a clockwork orange\nthe hair floats on the water\nthe hair reaches the ground\nthe handbag is over a wood table\nthe happiest moment\nthe harbour at stromness orkney\nthe harbringer of death\nthe hard and strong buildings\nthe harpoon is sharp\nthe harry potter trio (harry\nthe head of the man is a skull\nthe heat death of the universe\nthe hedgehog is holding a rifle\nthe high priestess\nthe hills have eyes\nthe hime cut\nthe hobbit\nthe hobbit art\nthe hobbit concept art\nthe hobbit orc concept\nthe holy grail\nthe homestuck trolls\nthe horror in the woods\nthe horse above\nthe horse and his boy\nthe horse is not mine\nthe house in the forest\nthe houses of parliament\nthe hulk\nthe hydra from path of exile\nthe ice queen\nthe idea\nthe image is futuristic\nthe image is refined with uhd\nthe imperial palace\nthe incal\nthe incredible hulk\nthe infinite\nthe infrastructure of humanity\nthe inside of a ufo\nthe internet\nthe iron giant\nthe iron lady\nthe iron throne\nthe jabberwock\nthe james webb telescope\nthe jaw showing the teeth\nthe jetsons\nthe jewelpunk aesthetic\nthe joker\nthe joker and patrick bateman\nthe joker as batman\nthe journey of life\nthe joy of life\nthe jungle\nthe jungle at the background\nthe justice tarot card\nthe key of life\nthe key of the nile\nthe king in the desert\nthe king in yellow\nthe king of death\nthe king of dreams\nthe king of hell\nthe king of rooster\nthe king of thieves\nthe kiss\nthe knight from hollow knight\nthe kraken\nthe lady of ash\nthe land of odrua\nthe land of the death\nthe lands littered with bodies\nthe lantern crown\nthe large birds of war\nthe last airbender\nthe last battle\nthe last day on earth\nthe last day on the earth\nthe last guardian skinny towers\nthe last human on earth\nthe last jedi\nthe last man on earth\nthe last of us\nthe last of us zombie\nthe last of us”\nthe last orchestra\nthe last photo ever taken\nthe last portrait of mac miller\nthe last rain on earth\nthe last selfie ever taken\nthe last selfie on earth\nthe last stand\nthe last supper\nthe last supper painting\nthe last v 8 interceptor\nthe last wanderer of earth\nthe leaning tower of pizza\nthe legend of zelda\nthe letter a\nthe letter w\nthe librarian\nthe library of babel\nthe lich king\nthe life\nthe life after death\nthe light is bright and wintry\nthe lighting is dark\nthe lights are on\nthe lion king\nthe little circus of horrors\nthe little mermaid\nthe little prince\nthe living room\nthe long shot\nthe longest night\nthe look of an elderly person\nthe lorax\nthe lord and savior\nthe lord of pestilence\nthe lord of the rings\nthe lost beach\nthe lost city of atlantis\nthe lost star wars film\nthe lost valley\nthe lovely hairy fox\nthe lover tarot card\nthe lovers\nthe lovers tarot card\nthe macho duck\nthe mad hatter\nthe madhatter\nthe madness of mono-yellow\nthe magic eclipsing\nthe magical ring of three wishes\nthe magician\nthe magician tarot card\nthe man\nthe man have a backpack\nthe man in the wall\nthe man is screaming and sad\nthe man looked up\nthe man riding is on the lion\nthe man stands out on the image\nthe man with robot head\nthe mandalorian\nthe mandalorian in gta v\nthe mane of a lion\nthe masjid al-haram in mecca\nthe mask covers her entire face\nthe mask is broken\nthe masks come off at night\nthe masters\nthe matrix\nthe matrix servers on fire\nthe mayo man\nthe meaning of life\nthe mekanik doll\nthe mekaverse\nthe merge\nthe met museum\nthe metaverse\nthe metropolitan museum of art\nthe microchip\nthe middle ages\nthe middle of a valley\nthe midjourney multiverse\nthe mighty donut\nthe milk way\nthe milk way up above\nthe milky way express\nthe milky way galaxy\nthe milky way in the sky\nthe mines of moria\nthe minions\nthe mock turtle\nthe mogul\nthe mome raths outgrabe\nthe mona lisa\nthe money of clowns\nthe monkey live here nigga\nthe monster under the bed\nthe moomins\nthe moomins in moominvalley\nthe moon\nthe moon and stars\nthe moon behind her\nthe moon cast on the man\nthe moon crashes into the earth\nthe moon crashing into the earth\nthe moon in the background\nthe moon is big an in the city\nthe moon is in the sky\nthe moon on the top right\nthe moon orbiting other moons\nthe moon presence\nthe moon reflects in the water\nthe moonlit dance of the fae\nthe morning river\nthe morning star\nthe most advanced humanoid robot\nthe most beautiful\nthe most beautiful landscape\nthe most beautiful scene\nthe most beautiful sunset\nthe most beautiful woman\nthe most bizarre hybrid animals\nthe most epic\nthe moth crown\nthe mother of a millions sounds\nthe motherland calls\nthe mothership\nthe mountain is steep\nthe mouth a bit open\nthe movie\nthe movie alien\nthe movie the thing\nthe multiverse\nthe mummy\nthe mummy astronaut\nthe munster in the background\nthe muppets\nthe music guy\nthe mysterious stranger\nthe mystery of the quotient\nthe narthex\nthe nature of existence\nthe nba finals\nthe neat and dense buildings\nthe netherlands\nthe neverending story\nthe new king of great britain\nthe new love\nthe next generation\nthe nexus portal\nthe night as vast as us\nthe night crown\nthe night sky\nthe night sky is a sea\nthe night war rages behind him\nthe nightmare before christmas\nthe nine circles of hell\nthe non-binary deity of spring\nthe nonlinear. digital painting\nthe normandy landings\nthe nucleus\nthe oak tree\nthe ocean\nthe ocean in the background\nthe odyssey\nthe office\nthe olympics footage\nthe omnipotent assassin\nthe one true god\nthe oracle of ancient wisdom\nthe oracle of the mayan elders\nthe oracle of trees\nthe orb of dreams\nthe orb of eternity\nthe orb of time\nthe orb of truth\nthe orbs of byob\nthe order of the burning shadow\nthe original conscious\nthe origine of cybertimes\nthe orville\nthe other a skeletal figure\nthe other is used for flight\nthe palace of ai\nthe palms come from the depths\nthe palms come from the ground\nthe panorama\nthe passage of time\nthe passing of time\nthe perfect human male specimen\nthe perfect woman\nthe phases of the moon\nthe phoenix\nthe photo shows a large\nthe photo was taken from a boat\nthe photo was taken from afar\nthe photography artwork\nthe pictish god of stags\nthe piercing stare of yuki onna\nthe pits of hell\nthe pixar adaptation\nthe pizza has a large cornicione\nthe place is just really small\nthe plague doctor\nthe plaguefather\nthe planet\nthe planet is warm with canyons\nthe planet mars\nthe plate is on a wooden table\nthe platonic ideal of flowers\nthe poolrooms\nthe pope\nthe pope is in his bed\nthe pope wakes up is his bed\nthe portrait\nthe portrait of a young man\nthe portrait of an elegant\nthe potatoes eaters\nthe predator\nthe president\nthe price of ncr\nthe prince of pleasure\nthe prince of thieves\nthe princess of power\nthe problem of evil\nthe prophet of the common people\nthe purge\nthe pyro\nthe queen of blades\nthe queen of hearts\nthe queen of longing\nthe queen of the sun\nthe rabbit has pink fur\nthe rad hatter\nthe raft of the medusa\nthe raining city of lisbon\nthe rapture\nthe reach\nthe real holy grail\nthe reaper\nthe reaper as a scary\nthe red citadel\nthe red ninja\nthe red queen\nthe red sox left fielder\nthe riddler\nthe rider carries a large sword\nthe rift\nthe right from wrong\nthe ring\nthe ring is horizontal\nthe ring movie\nthe ring of three wishes\nthe ringles\nthe rise of consciousness\nthe river is flowing its way\nthe river is full of lights\nthe river of time\nthe road\nthe robot has a fishing rod\nthe robot in her mechanical mask\nthe robot is captain of a ship\nthe robot wearing her human mask\nthe robot wearing the bone crown\nthe rock\nthe rock and roll emperor\nthe rock is a potato alarm clock\nthe rock is in the sea\nthe room is raucous and joyful\nthe rootless god of lost things\nthe ruins\nthe rules of proportion\nthe sacred cup of understading\nthe sailor galaxia. beautiful\nthe sailor jupiter. beautiful\nthe sailor moon. beautiful\nthe samurai is wrapped in chains\nthe sandman\nthe sandman from graphic novel\nthe sands of time\nthe scarecrow\nthe scary empty liminal spaces\nthe scooter ( edm band\nthe scream\nthe scream painting\nthe screaming fox\nthe sea\nthe sea and storms behind him\nthe sea in the background\nthe sea of sadness\nthe sea seen behind the city\nthe seal of fortune\nthe second… like a calf\nthe secret of monkey island\nthe secret seventh power ranger\nthe secrets inside the vatican\nthe see horse valley\nthe set of jeopardy\nthe seventh seal\nthe shackled\nthe shadow\nthe shaman of the subway\nthe shard\nthe shining\nthe shining 1980\nthe shining overlook hotel\nthe shinning hotel hallway\nthe shire\nthe shire castle\nthe shrike\nthe sigil of the mafia\nthe simpsons\nthe sims 4\nthe sims 4 texture\nthe singapore skyline\nthe singer\nthe singularity\nthe sky\nthe sky falls to the ground\nthe sky has the milky way\nthe sky is a faint misty red hue\nthe sky is a nebula on fire\nthe sky is a starry sky\nthe sky is all that illuminates\nthe sky is beautiful and clear\nthe sky is black\nthe sky is dark\nthe sky is full of stars\nthe sky is gray\nthe sky is grey 2 0 0 0\nthe sky is pink\nthe sky is red\nthe sky is the galaxy\nthe small house in the forest\nthe smooth black jaguar\nthe smooth black lioness\nthe solarpunk phoenix\nthe sopranos\nthe sorcerer's doll\nthe sorceress\nthe sorceress casting a fireball\nthe sour\nthe source of future growth\nthe space background\nthe space needle\nthe spaceship is on fire\nthe spear of odin\nthe sphinx\nthe spider thicket\nthe spirit of the bull run\nthe squirrel king\nthe stadium has a full crowd\nthe stanley parable\nthe star tarot card\nthe starry night\nthe stars\nthe stars are fish in the depths\nthe starship enterprise\nthe statue of liberty\nthe stone is rolling up\nthe stone is round\nthe store\nthe strange creature\nthe straw is in his mouth\nthe streamer\nthe streets of baldur's gate\nthe strongest superhero\nthe structure of galaxy\nthe stupendium\nthe style of andreas rocha\nthe style of andy warhol\nthe style of rococo\nthe style of syd mead\nthe style of wlop\nthe styles of escher and penrose\nthe sun\nthe sun at their back\nthe sun glitchart\nthe sun is blinding\nthe sun is exploding\nthe sun is setting\nthe sun is shining\nthe sun is shining wide shot\nthe sun is shining. photographic\nthe sun on the horizon\nthe sun reflecting on a window\nthe sun shines in\nthe sun up on the sky is strong\nthe sun's rays through the dust\nthe sun. beautiful\nthe suns light is consumed\nthe suns rays through the dust\nthe sunset\nthe super hot and sexy\nthe surface of the sun\nthe sydney opera house\nthe table is full of food\nthe tall man from phantasm\nthe taoist temples of huangshan\nthe tardis\nthe tarot card of earthly demise\nthe teddy bear is holding a gun\nthe temple of truth is white\nthe tentacle crown\nthe terminator\nthe terminator  1984\nthe terminator ( 1 9 8 4 )\nthe tesseract\nthe texas revolution\nthe thames is dry\nthe the man is wrapped in chains\nthe theme of alice in wonderland\nthe thing\nthe thing  1982\nthe thing ( 1 9 8 2 )\nthe thing 1 9 8 2\nthe thing 1982\nthe thing alien assimilation\nthe thinker\nthe third horseman\nthe third… had a face like a man\nthe three body problem\nthe three fates\nthe three marys at the sepulchre\nthe three moiras\nthe three suns\nthe tiger is smiling\nthe time machine\nthe time of day is dusk\nthe titanic is sinking\nthe toilet is shiny\nthe torch we all must hold\nthe tower of babel\nthe tower tarot card\nthe trappings of modern life\nthe tree is growing on a meadow\nthe tree is on top of a calm sea\nthe tree of life\nthe trees are angry\nthe treetops of giant oaks\nthe tudors\nthe tunnel into winter\nthe twilight zone\nthe ufo is over the city\nthe ugliest car in the world\nthe ugly truth\nthe ultimate gigachad\nthe ultimate question of life\nthe ultimate warrior\nthe uncanny valley\nthe undefeatable\nthe underworld\nthe universe\nthe universe and everything\nthe universe on the background\nthe upside down\nthe vanishing of ethan carter\nthe vatican\nthe vibrant echoes of the market\nthe victim is in the center\nthe video game\nthe village on the cliff\nthe vitruvian man style\nthe void\nthe void people\nthe wake of the unseen object\nthe walking dead\nthe walking man\nthe walls are pink\nthe walls purple and pulsing\nthe war multiverse\nthe warm\nthe wasteland\nthe watchers\nthe weather bright\nthe wednesday frog\nthe wendigo\nthe western wall\nthe white house\nthe white king\nthe white rabbit\nthe wicker man\nthe wild hunt\nthe wind moves her shirt\nthe window\nthe window is open\nthe windows are lit\nthe wise man is riding on top\nthe wisest of all owls\nthe witch conjure\nthe witch queen\nthe witcher\nthe witcher 3\nthe witcher concept art\nthe witness\nthe wizard\nthe wizard of oz\nthe wizard's magical tower!!\nthe wolf among us\nthe wolf howls at the moon\nthe wolf of wall street\nthe wolverine\nthe woman has long dark hair\nthe woman holds more toys\nthe woman is behind bars\nthe wonder of devotion\nthe wood between the worlds\nthe woods\nthe world\nthe world between death and life\nthe world ends with you\nthe world is insane\nthe world is on fire\nthe world of lost souls\nthe world on fire\nthe world tree\nthe world without form and void\nthe world's biggest idiot\nthe year 2089\nthe yellow creeper\nthe'other mother'from'coraline '\ntheater\ntheater access corridor\ntheater curtains are red\ntheater dance scene\ntheater dressing room\ntheater mask\ntheater stage\ntheatre equipment\ntheatre stage\ntheatrical\ntheatrical lighting\ntheatrical poster\ntheatrical scenery\ntheatrical!\nthedieline\ntheft\ntheir irises are red\nthematic\ntheme :'icewind dale '\ntheme :icewind dale\ntheme is cyberpunk city market\ntheme park\nthemed after wine\nthemed on the stars and moon\nthen\nthen another\nthen leave it to god\ntheneedledrop\ntheodor kittelsen\ntheodore chasseriau\ntheodore ralli\ntheophanes\ntheophanic atmosphere\ntheophanic atmospheric vivarium\nthere are archways\nthere are birds on her head\nthere are flowers\nthere are two sides to the story\nthere for i am\nthere is a book next to the cat\nthere is a cat next to her\nthere is a cigar in his mouth\nthere is a glow coming from her\nthere is a loose wire mesh\nthere is a place in wales\nthere is a skull over a table\nthere is a window to the sea\nthere is blue sky\nthere is fire everywhere\nthere is full bedpan next to him\nthere is lightning\nthere is midnight sunset\nthere is one cherry\nthere is paint everywhere\nthere is something ugly\nthere is space around the figure\nthere is tall grass\nthere is ugliness in beauty\nthere is water splash\nthere was a noise\nthere were eight anime people\nthere were posters on the wall\nthere will be blood\nthere's flowers everywhere\ntheres flowers everywhere\nthermal imaging\nthermography\ntheron\ntherookies\nthertrevkaiser\nthey all look terrified\nthey are all laying down\nthey are chasing a whale\nthey are close to each other\nthey are crouching\nthey are fighting very angry\nthey are in love\nthey are siblings\nthey are smoking\nthey are unhappy\nthey are very serious\nthey are watching\nthey look me in the eye\nthey might be crawling\nthey reach into his mind\nthey share one head. cinematic\nthey sit next to a pile of bones\nthiago alcantara\nthiago lehmann\nthicc\nthicc build\nthick\nthick - rimmed glasses\nthick and bold black outlines\nthick and dense vines\nthick and thin lines\nthick armor\nthick atmosphere\nthick beard\nthick beard highly detailed\nthick black beard\nthick black lineart\nthick black lines\nthick black smoke\nthick black smoke and fire\nthick black smoke billowing\nthick blue lines\nthick body\nthick bow\nthick braided beard\nthick brown beard\nthick brush\nthick brush strokes\nthick brushstrokes\nthick bushes\nthick bushy straight eyebrows\nthick cables on ground\nthick cables whipping around\nthick collar\nthick colorful smoke\nthick dark glasses\nthick dark hair\nthick dark smoke!\nthick detailed smoke\nthick dust and red tones\nthick eyebrows\nthick fancy eyeliner\nthick fancy makeup\nthick fluffy tail\nthick fog\nthick forest\nthick furry neck and chest fluff\nthick glasses\nthick glowing chains\nthick hair\nthick heavy fog\nthick heavy impasto\nthick impasto\nthick impasto paint\nthick impasto technique\nthick ink lines\nthick jawline\nthick jungle\nthick legs\nthick line art\nthick line drawing\nthick line ink\nthick lineart\nthick lines\nthick lines highly detailed\nthick lining\nthick linings\nthick lips\nthick looping wires\nthick mist\nthick mustache\nthick neck\nthick neon lights\nthick oil paint drip texture\nthick oil painting\nthick outline\nthick outlines\nthick paint\nthick paint brush strokes\nthick paint visible\nthick painting\nthick pigmented smoke\nthick red lips\nthick rim glasses\nthick rimmed glasses\nthick rimmed-glasses\nthick round spectacles\nthick set features\nthick shining black hair\nthick smoke\nthick smoke around him\nthick smooth warframe legs\nthick smooth warframe thighs\nthick squares and large arrows\nthick strokes\nthick swirling smoke\nthick swirling smoke everywhere\nthick swirling smoke tornado\nthick swirling tornado\nthick tail\nthick thick thick outlines\nthick thighs\nthick thigs\nthick vector line art\nthick visible brush strokes\nthick warframe legs\nthick watercolor brush strokes\nthick white detailed smoke\nthick wires\nthick wires looping\nthief\nthief red riding hood\nthief warrior\nthierry doizon\nthierry mugler\nthierry rouzier\nthievery equipment\nthigh focus\nthigh gap\nthigh high socks\nthigh highs\nthigh skin\nthighhighs and skirt\nthighs\nthighs close up\nthighs focus\nthighs thighs thighs thighs\nthighs!!!\nthighs!!!! gorgeous\nthighs!!!!! gorgeous\nthighs!!!!!!\nthin\nthin aged 2 5\nthin aged 25\nthin antennae\nthin antlers\nthin beard\nthin black lines\nthin black lingerie\nthin black robe\nthin blue arteries\nthin body\nthin bodysuit\nthin brush strokes\nthin button nose\nthin corpse\nthin dof\nthin eyebrows\nthin face\nthin face structure\nthin film\nthin fog\nthin glowing devices\nthin glowing lights\nthin glowing wires\nthin gold details\nthin green glassy crystal shards\nthin healing glowing devices\nthin horizontal nebula\nthin intricate art nouveau frame\nthin light pink lips\nthin line art\nthin line work\nthin lines\nthin linework\nthin lips\nthin long auburn hair\nthin long fine lines\nthin lustrous auburn hair\nthin lustrous hair\nthin lustrous long auburn hair\nthin lustrous long dark hair\nthin male alchemist\nthin moustache\nthin nose\nthin porcelain\nthin pursed lips\nthin red lines\nthin red veins\nthin round earrings\nthin round glasses\nthin scar on his forehead\nthin sharp lines\nthin skeleton\nthin soft hand holding cigarette\nthin spikes\nthin straight lines\nthin straight purple lines\nthin stroke\nthin strokes\nthin waist\nthin wires\nthin young male\nthin young male alchemist\nthin-waist\nthings fall apart\nthings hanging from ceiling\nthink in 3 d\nthinker\nthinker pose\nthinking\nthinking pose\nthinkpad\nthinning hair\nthird - eye visions\nthird - person\nthird dimensional\nthird eye\nthird eye in middle of forehead\nthird eye middle of forehead\nthird eyes middle of foreheads\nthird lion head\nthird person\nthird person gameplay\nthird person perspective\nthird person view\nthird trimester\nthird-person shot\nthird-person view\nthirst\nthirteen-dimensional\nthirtysomethins years old\nthis character has cryokinesis\nthis is a monster\nthis is beautiful\nthis is fine\nthis is hell\nthis is it\nthis is it style\nthis kind of smart\nthis painting is a large canvas\nthis person does not exist\nthis time\nthisset colours\nthisset style\nthistle\nthistles\nthom browne\nthom wasselmann\nthom yorke\nthom yorke (guitar)\nthom yorke age 2 5\nthom yorke lost\nthom yorke singer songwriter\nthomas\nthomas blackshear and moebius\nthomas cole - h 7 0 4\nthomas cole and gustave dore\nthomas danthony and malika favre\nthomas dubois\nthomas eakes\nthomas eakins and beksinski\nthomas edgar stevens\nthomas ehretsmann\nthomas jane\nthomas jefferson\nthomas kinade\nthomas kincade\nthomas kincaid\nthomas kindkade\nthomas kinkad\nthomas kinkade\nthomas kinkade and craig mullins\nthomas kinkade and paul lehr\nthomas kinkade and tristan eaton\nthomas kinkade cfg _ scale 8\nthomas kinkade cfg _ scale 9\nthomas kinkade painting\nthomas kinkade sharp focus\nthomas kinkade style\nthomas kinkade style painting\nthomas kinkade. cute cozy room\nthomas kinkade. forest room\nthomas kinkade. highly detailed\nthomas kinkadegreg\nthomas kinkaide\nthomas pynchon\nthomas reimann\nthomas river\nthomas the tank engine\nthomas the tank engine face\nthomas veyrat intricate\nthomasz alen kopera\nthopter from magic the gathering\nthor\nthor 2 marvel film\nthorax\nthorn background. d&d\nthorn crown\nthorn everywhere\nthorn rose crown\nthorns\nthorns and vines. detailed\nthorns everywhere\nthorough details\nthors hammer\nthot\nthoth\nthought provoking\nthought-provoking\nthoughtful\nthoughtful )\nthoughtful expression\nthoughtful eyes\nthoughtful pose\nthoughts\nthousand yard stare\nthousands of crows\nthousands of galaxies\nthousands of teeth\nthousands of tiny onlookers\nthps 2 level\nthrash metal\nthreadlike\nthreads\nthreatening\nthreatening pose\nthree\nthree - dimensional\nthree - dimensional rendering\nthree - point lighting\nthree - point perspective\nthree - quarter view\nthree - tailed fox\nthree animals\nthree bat head\nthree birds flying around it\nthree body problem\nthree cats drinking in a bar\nthree colors\nthree day growth\nthree dimensional shadowing\nthree dimensions\nthree dwarf brothers\nthree eyed\nthree eyed goddesses\nthree eyes\nthree fourths view\nthree futuristic princes\nthree guilders : a magician\nthree hairy fat cave people\nthree hairy neanderthal people\nthree handed god\nthree head one body\nthree heads\nthree kingdom\nthree kingdoms\nthree masts\nthree michelin star\nthree michelin stars\nthree moons\nthree people running a marathon\nthree piece suit\nthree point light\nthree point lighting\nthree point lighting bjork\nthree point perspective\nthree quarter angle\nthree quarter portrait\nthree quarter profile\nthree quarter shot\nthree quarter view\nthree quater notes\nthree towers\nthree views\nthree women\nthree-dimensional\nthree-dimensional image\nthree-quarter body\nthreea toys\nthrees\nthresher shark human hybrid\nthreyda\nthriller\nthriller atmosphere\nthrilling\nthriving ecosystem\nthrobbing\nthrone\nthrone of olympus\nthrone room\nthrone worlds\nthrough a sea made of ketchup\nthrough clouds blue sky\nthrough my eyes\nthrough the windows\nthrow\nthrow pillows\nthrowing cards in the air\nthrowing spaghetti and meatballs\nthrown tables\nthrusters\nthrustmaster t 3 0 0\nthrustmaster t 300\nthrustmaster ts pc racer\nthug life\nthugs\nthumb up\nthumbnail\nthumbprint\nthumbs up\nthunder\nthunder & lightning\nthunder and lightning\nthunder clouds\nthunder clouds in the sky\nthunder clouds modernism\nthunder in the foggy jungle\nthunder lightning\nthunder man\nthunder sky\nthunder storm\nthunder storm and forest on fire\nthunder storm background\nthunderbird 2\nthunderbirds\nthunderbolt\nthundercats\nthunderclouds\nthunderclouds in the sky\nthunderous\nthunderous battle\nthunders\nthunderstom\nthunderstorm\nthunderstorm and fire\nthunderstorm at night\nthunderstorm background\nthunderstorm dark night sky\nthunderstorm in marrakech\nthunderstorm in the sky\nthunderstorm lightning\nthunderstorm outside\nthunderstorm supercell\nthunderstorm the background\nthunderstorms\nthunderstrike\nthundra ufo crash site\nthus spoke zarathustra\nthx sound\nthy\nthylacine\ntia masic\ntiamat\ntian zi\ntiananmen square\ntiara\ntiara with sapphire\ntibet\ntibetan book of the dead\ntibetan inspired architecture\ntibetan painting\ntibetan skeleton dancer\ntibetan text script\ntibetan thangka\ntibor nagy\ntic tac ufo\ntick helmet\nticket\ntickle fight in the death tent\ntie\ntie - fighter\ntie die shirt\ntie fighter\ntie fighters\ntie fighters patrolling\ntie-dye\ntied - up shirt\ntied bridge on local river\ntied leather armor\ntied with chair\ntiefling\ntiefling bard\ntiefling female warlock\ntiefling from d & d\ntiefling from d d\ntiefling rogue\ntiepolo\ntifa\ntifa lockaert\ntifa lockhart\ntifa lockhart portrait\ntifa lockhart with white hair\ntifa lockheart\ntiffany\ntiffany dover\ntiffany style\ntiger\ntiger - crab creature\ntiger face\ntiger head\ntiger of fire flying\ntiger paws as gloves\ntiger pelt\ntiger skin\ntiger skin carpet\ntiger stripes\ntiger_beast\ntigerman\ntigers\ntight\ntight around neck\ntight attire\ntight black tank top and shorts\ntight black tanktop\ntight blue jeans and cool shoes\ntight bone structure\ntight bun\ntight denim jeans\ntight dress\ntight face shot portrait\ntight fit\ntight fitted tank top\ntight focus\ntight full body suit\ntight gigantic pink curls\ntight light blue neopren suits\ntight navy-blue leather outfit\ntight outfit\ntight push up bra\ntight shirt\ntight shot\ntight shot of subject\ntight wrinkled cloath\ntightly framed\ntights\ntights skin\ntights; on the street\ntikal temple iv\ntiki\ntiktok\ntiktok 4 k uhd image\ntiktok video\ntilda swinton\ntilda swinton at burning man\ntile\ntile floor\ntileable\ntileable texture\ntiled\ntiled floor\ntiled fountains\ntiled roofs\ntiled room squared waterway\ntiles\ntiles curtains\ntileset\ntileset asset store\ntiling\ntiling texture\ntill lindemann\ntillamook cheese\ntilt - shift\ntilt - shift photography\ntilt and orange\ntilt angle uhd 8 k\ntilt blur\ntilt shift\ntilt shift background\ntilt shift desert background\ntilt shift effect\ntilt shift focus\ntilt shift glass background\ntilt shift h.r giger background\ntilt shift lens\ntilt shift library background\ntilt shift mirror background\ntilt shift photography\ntilt shift suburban\ntilt shift zaha hadid background\ntilt shift”\ntilt up angle\ntilt-shift\ntilt-shift effect\ntilt-shift photography\ntilt-shifted\ntilted\ntilted 35° frame\ntilted angle\ntilted camera\ntilted camera angle\ntilted frame\ntilted head\ntilted perspective\ntiltshift\ntim\ntim booth\ntim bradstreet\ntim burton\ntim burton comic book art\ntim burton style\ntim burton supersampled\ntim burton's style\ntim burtons style\ntim hildebrant\ntim jacobus\ntim jacobus art\ntim rees\ntim walker\ntim white art. 64 megapixels\ntimbered house with bricks\ntimbuktu\ntime\ntime + space + reality\ntime - lapse\ntime consumes us all\ntime displacement device\ntime does not exist anymore\ntime dragging on for too long\ntime elves\ntime exposure\ntime is running out\ntime machine\ntime magazine\ntime magazine 2 0 2 2\ntime magazine 2022\ntime magazine cover\ntime shift\ntime square\ntime to climb the mountain path\ntime travel\ntime travel machine\ntime travel theme\ntime traveler\ntime travelers\ntime travelers appear in a park\ntime vortex in the background\ntime warping\ntimelapse\ntimeless\ntimeless disturbing masterpiece\ntimeless masterpiece\ntimeline nexus\ntimes magazine\ntimes square\ntimestamp\ntimid\ntimid and vulnerable expression\ntimothee chalamet\ntimothy dalton\ntimothy kong\ntimothy rees\ntin can\ntin foiling\ntin tin\ntin type\ntina belcher\ntina belcher as a real person\ntina turner in a turnip costume\ntina turner portrait\ntinder profile\ntinkerbell\ntinkercore\ntinkerer\ntinnitus\ntins of food on the floor\ntintal effect\ntinted colours\ntintin\ntintoretto. detailed\ntintoy characterdesign robot\ntintype\ntintype full body view\ntintype photo\ntintype photo of ice - t\ntintype photograph\ntintype photograph of florence\ntintype photography\ntiny\ntiny bikini\ntiny black bra\ntiny cat riding a labrador\ntiny charcoal smudges\ntiny creature made of one brick\ntiny crimson petals falling\ntiny cute nose\ntiny details\ntiny evil alchemist gnome\ntiny faeries\ntiny feet\ntiny fireflies glowing\ntiny firespitter\ntiny gaussian blur\ntiny girl looking on\ntiny glowbugs everywhere\ntiny house\ntiny insects\ntiny mice living inside\ntiny mouth\ntiny nose\ntiny ornate windows\ntiny people devouring food\ntiny people walking below\ntiny person watching\ntiny points of light\ntiny rainbow triangles\ntiny rats\ntiny robots\ntiny room with dirty wall tiles\ntiny ships docking\ntiny smokes from buildings\ntiny space\ntiny spaceship\ntiny spaceship!!\ntiny stars\ntiny statue on display\ntiny sticks\ntiny thin mustache\ntiny village\ntiny villagers\ntiny waist\ntiny wires on the ground. narrow\ntinyest midriff ever\ntipping his fedora\ntire\ntired\ntired and drunk\ntired and haunted expression\ntired appearance\ntired bags around eyes\ntired expression\ntired eyes\ntired face\ntired half closed\ntired haunted expression\ntissue ornament\ntissue paper art\ntitan\ntitanfall\ntitanfall 2\ntitanfall 2 game\ntitanfall irl\ntitanic\ntitanic sails near\ntitanic ship exterior\ntitanic ship interior\ntitanic tank with legs\ntitanium\ntitanium buff\ntitanium mechanical parts\ntitanium skeleton\ntitanium white\ntite kubo\ntite kubo and takashi murakami\ntithi luadthong\ntitian\ntitian]\ntitle\ntitle - shift\ntitle kanji\ntitle-shift\ntitled'holiday at the beach '\ntiziano vecelli\ntjalf sparnaay\ntjalf sparnaay 8 k\ntkmiz\ntlaquepaque\ntlingit haida lithographic\ntmnt\ntmz\ntn\ntng\nto\nto be\nto be or not to be\nto destroy satan's kingdom\nto every living being\nto fathom hell or go angelic\nto fathom hell or soar angelic\nto hell with you\nto honor jupiter\nto infinity and beyond\nto me\nto protect us\nto the moon\ntoad\ntoad head\ntoad philosopher the thinker\ntoad samurai\ntoads\ntoadstools\ntoast\ntoasted bread in toaster slots\ntoaster\ntoaster in the style of r2d2\ntobey maguire\ntocchini\ntochigi prefecture\ntoday's featured anime still\ntoday's featured photograph\ntoday's featured photograph 4 k\ntoday's featured photograph 4k\ntoday's featured photography 4k\ntoday\\'s featured photograph 4k\ntodays featured photograph\ntodays featured photograph 4k\ntodd hido\ntodd hido photography\ntodd howard courtroom sketch\ntodd macfarlane\ntodd mcfarlane\ntodd schorr\ntodd schorr highly detailed\ntodd solondz\ntoddler\ntodo hecho con papel de pinata\ntoei\ntoei animation\ntoga\ntogether\ntoggles\ntoggling\ntoilet\ntoilet paper\ntoiletpaper magazine\ntoki doki\ntoki pona\ntokio\ntokio aoyama\ntokio futuristic in background\ntoko fukawa\ntokujin yoshioka\ntokusatsu\ntokusatsu suit vaporwave\ntokyo\ntokyo - esque town\ntokyo akihabara street cityscape\ntokyo alleyway\ntokyo anime scene\ntokyo at night\ntokyo background\ntokyo city\ntokyo city in the background\ntokyo drift\ntokyo fashion\ntokyo futuristic and clean\ntokyo futuristic in background\ntokyo ghoul\ntokyo in a flood\ntokyo in the background\ntokyo inspired\ntokyo izakaya scene\ntokyo japan\ntokyo kowloon\ntokyo mural\ntokyo prefecture\ntokyo street\ntokyo street background\ntokyo street cityscape\ntolkein art\ntolkien\ntolkien and michael komarck\ntom\ntom and jerry\ntom anders zorn\ntom badshaw\ntom bagshaw\ntom bagshaw ) ) )\ntom bagshaw and sabbas apterus\ntom bagshaw and tom richmond\ntom bagshaw artstyle\ntom bagshaw donato giancola\ntom bagshaw inspired\ntom bagshaw portrait\ntom bagshaw style\ntom bagshaw weta studio\ntom bagshaw. oil painting\ntom baker using his scarf to fly\ntom bangshaw\ntom brady\ntom brady as che guevara\ntom burke\ntom chambers photography\ntom cruise\ntom cruise as iron man\ntom cruise as ironman\ntom cruise as kenshiro\ntom cruise as the joker\ntom cruise as tony stark\ntom cruise handcuffed to a chair\ntom cruise laughing super hard\ntom cruise torso\ntom cruise vs carnivore dinosaur\ntom eerebout\ntom finland\ntom hammick\ntom hanks\ntom hanks as superman\ntom hanks as tomato hanks mascot\ntom hanks smirk\ntom hanks tomato face\ntom hanks with thick eyebrows\ntom hardy\ntom hardy as henry dorsett case\ntom hiddleston\ntom hiddleston as count dracula\ntom holland\ntom holland as a pirate\ntom holland as peter pan\ntom holland as the hulk\ntom jobim\ntom morello\ntom of finland\ntom of finland style\ntom richmond\ntom richmond illustration\ntom waits as hellboy\ntom whalen 8 k\ntom whalen 8k\ntomas kinkade\ntomas sanchez\ntomasz alen kopera and cgsociety\ntomasz allen kopera\ntomasz strzalkowski\ntomato\ntomato hat and a walking stick\ntomato monster\ntomato sauce\ntomato splatter\ntomatoes\ntomatoes hanging on branches\ntomb\ntomb of elemental evil\ntomb raidar\ntomb raider\ntomb raider (2018)\ntomb raider beautiful\ntomb raider setting\ntomba\ntomboy\ntombs\ntombstone\ntombstones\ntomcat raptor hornet falcon\ntomcat replica\ntomcruise!!!\ntome\ntome + concept art\ntommy 1 6 years old\ntommy gun\ntommy wiseau\ntomohiro shimoguchi\ntomorrow\ntomorrowland\ntomoyuki yamasaki\ntonal\ntonal color\ntonal color scheme\ntonal colors\ntonal colors outdoor\ntonal separation\ntonal topstitching\ntonalism\ntonalism illustration\ntonalism painting\ntonalism style\ntonalism!\ntonalist\ntonalist landscape\ntonalist painting\ntonalist portrait\ntonalist style\ntone mapped\ntone mapped william-adolphe\ntone mapping\ntoned\ntoned arms\ntoned body\ntoned colours\ntoned derriere\ntoned down\ntoned legs\ntoned orange and pastel pink\ntoned paper\ntoned shape\ntonemapped\ntonemapping\ntones of black\ntones of black in background\ntones of blue and green\ntongue\ntongue out\ntongue sticking out\ntoni infante\ntonic the fox\ntons of details\ntons of rooms\ntony abbott as the joker\ntony danza coloring book page\ntony diterlizzi and brian froud\ntony hawk\ntony hawk crying\ntony khan wearing a headset\ntony matelli\ntony montana\ntony robert - fleury\ntony roberts\ntony sandoval\ntony sandoval. 8 k realistic\ntony sandoval. realistic\ntony sart\ntony sart and an anime artist\ntony sart highly detailed\ntony soprano\ntony stark\ntony taka\ntony the tiger\ntoo detailed sculpture\ntoo late\ntoo many eyes\ntoo many hands\ntoo many hands in all directions\ntoo many teeth\ntoo red\ntoo sharp\ntoo tired to care anymore\ntook on ipad\ntool\ntool band\ntool band art\ntool belt\ntoolbelt\ntools\ntools and junk on the ground\ntools for science research\ntoon\ntoon - shading\ntoon aesthetic\ntoon boom render\ntoon render keyshot\ntoon rendering\ntoon shader\ntoon shading\ntoonami\ntoonix character\ntoony\ntooth\ntooth wu : : quixel megascans\ntoothless\ntoothless horror macabre face\ntoothless mutant\ntoothpaste blast\ntoothpaste refinery\ntop\ntop - down\ntop - down perspective\ntop - down photo\ntop - down photograph\ntop - down view\ntop - rated\ntop - side view\ntop - view\ntop 1 0 0\ntop 100\ntop 25 fantasy anime series\ntop 4 0\ntop 40\ntop 6 best movie ever imdb list\ntop 6 worst movie ever imdb list\ntop and side view\ntop angle\ntop angle view\ntop art-station\ntop boat racing simulator\ntop cinematic lighting\ntop down\ntop down angle\ntop down camera angle\ntop down drawing\ntop down extraterrestial view\ntop down lighting\ntop down perspecrive\ntop down perspective\ntop down photo\ntop down photo at 45 degrees\ntop down shot\ntop down spotlight lighting\ntop down view\ntop floor boss shit\ntop gear\ntop gun\ntop gun maverick\ntop half of body\ntop hat\ntop hat and luxurious moustache\ntop hats\ntop horrible creatures\ntop lid\ntop light\ntop lighting\ntop lit\ntop milk brands\ntop of a canyon\ntop of art\ntop of pinterest\ntop of the hill\ntop of the mountain\ntop production\ntop rated\ntop rated on pixiv\ntop secret\ntop secret space plane\ntop secret style\ntop secret style photo\ntop selection on unsplash\ntop shot\ntop tex bottom text meme\ntop view\ntop view of convertible\ntop-down shot\ntop-down view\ntop-rated\ntopaz\ntopaz ai\ntopaz and other jewellaries\ntopdown\ntoph bei fong\ntophat\ntopiary\ntopknot\ntopless\ntopographic scan\ntopography\ntopological renders\ntopology\ntopview map\ntor from marvel\ntorbjorn from overwatch\ntorch\ntorch - lit\ntorch light\ntorch lighting\ntorch shadows\ntorches\ntorches alit in the background\ntorches and fireflies\ntorches in ground\ntorches on the wall\ntorches on wall\ntorchlight\ntorchlight. sketch\ntorchlight. sketch art. roots\ntorchlights\ntorchlit\ntorii\ntorii gate\ntorii in a moutain with trees\ntorii in the background\ntoriyama akira\ntorment\ntorment and waves\ntorn\ntorn agazine\ntorn cape\ntorn clothes\ntorn clothing\ntorn cosmo magazine style\ntorn edges\ntorn fabric\ntorn magazine style\ntorn mesh\ntorn nebulas\ntorn overalls\ntorn paper\ntorn paper collage\ntorn paper edges\ntorn paper intricate texture\ntorn paper smouldering smoke\ntorn sails\ntorn shirt\ntorn shorts\ntorn!! clothing\ntornado\ntornado of fire\ntornado twister\ntornadoes\ntornwing\ntoronto\ntoronto city\ntorquoise fantasy fanged medusa\ntorrent\ntorrential rain of blood\ntorri\ntorri gate\ntorso\ntorso and head\ntorso portrait\ntortoise\ntortured face made of wood\ntoru furuya\ntoru narita\ntorus energy\ntosa school\ntotal black outfit\ntotal chaos\ntotal darkness\ntotal destruction\ntotal eclipse\ntotal lunar eclipse\ntotal recall artifacts\ntotal recall style\ntotal recall tech\ntotalitarian\ntotalitarian dystopia\ntotalitarian prison island\ntotalitarian setting\ntotalitarian socialist angel\ntotally black eyes\ntotally gonzo\ntotally mad and yelling\ntotally radical\ntotally whack\ntotem\ntotem 2\ntotem pole\ntotoro\ntotoro as iron man\ntotoro from my neighbor totoro\ntotoro hiding behind tree\ntotoro sitting in a forest\ntotorrl\ntouareg\ntoucan\ntouch\ntouch of gold leaf\ntouches of gold leaf\ntouching\ntouching heads\ntouching her clothes\ntouching tree in a forest\ntough\ntouhou\ntouhou character\ntouhou project\ntouhou project official artwork\ntoulouse lautrec\ntour de france\ntouring\ntourism\ntourism photography\ntourist\ntourist destination\ntourist map\ntourist photo\ntourists in background\ntournament\ntousled medium length hair\ntoward a planet\ntoward the sun rays and caustics\ntoward to the camera\ntowels\ntower\ntower bridge\ntower of babel\ntower of god\ntowering\ntowering above a small person\ntowering cumulonimbus clouds\ntowering giant made of zombies\ntowering high up over your view\ntowering over a city\ntowering over the camera\ntowering over your view\ntowering waves\ntowers\ntown\ntown background\ntown center background\ntown hall\ntown in the background\ntown square\ntownscape\ntownship\ntoxic\ntoxic air\ntoxic cat\ntoxic clouds\ntoxic drips\ntoxic glowing smog in the sky\ntoxic rays of the sun\ntoxic slime\ntoxic smile. jan van eyck\ntoxic waste\ntoxicity\ntoy\ntoy advertisement\ntoy art\ntoy camera\ntoy commercial photo\ntoy design\ntoy guillotine\ntoy package\ntoy photo\ntoy photography\ntoy room\ntoy story\ntoy story style\ntoyko\ntoyota cresta\ntoyota jzx 1 0 0 drift\ntoyota supra\ntoys\ntoys figures\ntpose\ntracer\ntracer from overwatch\ntracer game character\ntracer in a skintight dress\ntracer overwatch\ntracers\ntracingstar trails\ntracks of barbed wire\ntracksuit\ntrade card game\ntrade offer meme\ntrademarks and symbols\ntraders\ntrading\ntrading art station\ntrading card\ntrading card fond\ntrading card front\ntrading card game\ntrading depots\ntrading illegal goods\ntrading stocks\ntradition\ntraditional\ntraditional animation\ntraditional art\ntraditional beauty\ntraditional brushes strokes\ntraditional chinese\ntraditional chinese art\ntraditional chinese clothing\ntraditional chinese ink painting\ntraditional chinese painting\ntraditional chinese textures\ntraditional chinese watercolor\ntraditional clothes\ntraditional clothing\ntraditional corsican\ntraditional costume\ntraditional drawing style\ntraditional dress\ntraditional female hairstyles\ntraditional fireplace\ntraditional folk art style\ntraditional geisha clothing\ntraditional ink\ntraditional ink!\ntraditional japanese\ntraditional japanese art\ntraditional japanese colors\ntraditional japanese concept art\ntraditional japanese painting\ntraditional korean city\ntraditional korean interior\ntraditional makeup\ntraditional medium\ntraditional moon\ntraditional oil painting\ntraditional painting\ntraditional photography\ntraditional portrait\ntraditional roman armor\ntraditional romanian clothing\ntraditional russia\ntraditional tai costume\ntraditional tattoo\ntraffic\ntraffic accident\ntraffic in background\ntraffic light\ntraffic light on\ntraffic lights\ntraffic police woman\ntraffic signs\ntraffic with light trails\ntragedy\ntragedy of the mind - driven\ntragic\ntragic wraith\ntraian basescu\ntraidic color scheme\ntrail cam\ntrail cam footage\ntrail camera\ntrail camera footage\ntrail of blood follows behind it\ntrail of smoke\ntrailcam\ntrailcam footage\ntrailcam image of yoda\ntrailer\ntrailer park\ntrailer park boys\ntrailer-trash lifestyle\ntrailing off into the horizon\ntrailing white vapor\ntrails of ink follow movements\ntrain\ntrain far\ntrain in a tunnel\ntrain station\ntrain station background\ntrain station explosion\ntrain station in summer\ntrain window\ntrain with maroon\ntraining\ntraining bra\ntrains\ntrains in the background\ntrainwreck\ntrakovsky greatest scene\ntram\ntrampled\ntrampling an ancient city\ntrampling over pyongyang\ntrams\ntrams ) ) )\ntran ross\ntrance\ntrance chaos\ntrance compilation cd\ntrance music\ntranding on art station\ntranding on pxiv\ntranquil\ntranquil scene\ntranquility\ntranquility of the endless stars\ntranquillity\ntrans rights\ntranscendance\ntranscendence\ntranscendent\ntranscendental\ntranscending to a higher plane\ntransformation\ntransformation portrait\ntransformation scene\ntransformation scene-h 768\ntransformation sequence\ntransformer\ntransformer robots (2005)\ntransformer robots 2005\ntransformers\ntransformers : the last knight\ntransformers armada\ntransformers armada!!!!!\ntransformers beast wars\ntransformers cinematic universe\ntransformers fall of cybertron\ntransformers g1\ntransformers generation one\ntransformers movie style tech\ntransformers tech\ntransformers toy\ntransformers toys\ntransformers war for cybertron\ntransformers!!!!!!!!!!!!!\ntransforming\ntransforming into his final form\ntransforming into werewolf\ntransgender\ntranshuman\ntranshumanism\ntranshumanist\ntranshumanist dancing\ntranshumanist evolution\ntranshumanist hydration\ntransient\ntransistors\ntranslucence\ntranslucency\ntranslucent\ntranslucent algae ornate\ntranslucent and slimy flesh\ntranslucent body\ntranslucent crystals\ntranslucent cube\ntranslucent dress\ntranslucent eggs\ntranslucent gills\ntranslucent glass shine\ntranslucent glowing jellyfish\ntranslucent grapes\ntranslucent grapes closeup\ntranslucent greebles\ntranslucent leaves\ntranslucent material\ntranslucent microchip ornate\ntranslucent mushrooms\ntranslucent neon\ntranslucent neon skin\ntranslucent orbs\ntranslucent overtones\ntranslucent pastel panels\ntranslucent roses ornate\ntranslucent silky dress\ntranslucent skin\ntranslucent sphere\ntranslucent sss\ntranslucent sss xray\ntranslucent stone white skin\ntranslucent white skin\ntranslucent wings\ntranslucid\ntranslucid luminescence\ntranslucid. biomechanical cyborg\ntranslucidluminescence\ntransluscent\ntransluscent neon\ntransmetal\ntransmetal ii\ntransmetropolitan\ntransmitters on roof\ntransmutation\ntransparencies\ntransparency\ntransparency glass\ntransparent\ntransparent background\ntransparent backround\ntransparent black windshield\ntransparent body\ntransparent building\ntransparent carapace\ntransparent celestial light gels\ntransparent cloth\ntransparent corrugated glass\ntransparent crystal\ntransparent crystals\ntransparent droplets\ntransparent face\ntransparent feathers\ntransparent ghost screaming\ntransparent glass\ntransparent glass surfaces\ntransparent glass vase\ntransparent glass woman\ntransparent glasses\ntransparent goo\ntransparent gray dress\ntransparent gray skirts\ntransparent holographic being\ntransparent jellyfish\ntransparent labs\ntransparent liquid\ntransparent marble butterfly\ntransparent puffer jacket\ntransparent skin\ntransparent smoke from hell\ntransparent veil\ntransparent vibrant glowing skin\ntransparent water\ntransparent wings\ntransplanted hand to head\ntransport design\ntransportation design\ntransportation design render\ntransylvania\ntransylvanian castle\ntransylvanian folk art\ntrap\ntrap made of leaves\ntrapped ego\ntrapped egos in physical reality\ntrapped in my conscious\ntrapped in tall iced tea glass\ntrapped in the backrooms\ntrapped inside an hourglass\ntrapped on a hedonic treadmill\ntrapper keeper\ntraps\ntrash\ntrash ; basement\ntrash bag on head\ntrash barrels\ntrash can\ntrash polka\ntrash scattered everywhere\ntrash style\ntrauma\ntravel\ntravel ad\ntravel and adventure\ntravel guide\ntravel in time\ntravel photography\ntravel poster\ntravel upwards\ntraveler\ntravelers\ntravelers walking the streets\ntraveling clothes\ntraveling in france\ntraveling into a blackhole\ntraveling long dirt road\ntraveling through the mountains\ntraveling through time\ntraveller\ntraveller rpg\ntravellers\ntravelling across the stars\ntravelling through misty planes\ntraverse\ntraversing a shadowy city\ntravis bickle has a mohawk\ntravis charest\ntravis charest style\ntravis fimmel as a jedi master\ntravis scott\ntravis scott flying over earth\ntravis touchdown\ntreacherous road\ntreading above calm water\ntreading on calm water\ntreant\ntreasure\ntreasure artifact\ntreasure background\ntreasure chest\ntreasure chests\ntreasure hoard\ntreasure island\ntreasure on walls\ntreasure planet\ntreasure planet color scheme\ntreasure room\ntreasures\ntreasures of gold\ntrecking\ntredning on art station\ntree\ntree and plants\ntree bark texture\ntree branches intertwine limbs\ntree druid\ntree ferns\ntree house\ntree in a galaxy made of stars\ntree in the background\ntree kangaroo\ntree of life\ntree of life brains\ntree of life inside the ball\ntree of life seed of doubt\ntree palms in background\ntree roots\ntree stump\ntree stumps\ntree town\ntree woodland atmosphere\ntree's\ntree-lined path at sunset\ntree; on the tennis coat\ntreebeard\ntreehouse\ntrees\ntrees and bushes\ntrees and cliffs\ntrees and flowers\ntrees and pines everywhere\ntrees and plants\ntrees and stars background\ntrees around\ntrees bent over river\ntrees bent over the river\ntrees cast shadows on the wall\ntrees growing on its body\ntrees in background\ntrees in foreground\ntrees in the background\ntrees in the grassy hills\ntrees outside\ntrees reflecting on the lake\ntrees swaying to the beat\ntrees with faces\ntrees with lots of leaves\ntrees!!\ntrees. matte painting\ntrees. wide view\ntrekking in a forest\ntremella - fuciformis\ntremella fuciformis\ntremella-fuciformis\ntremendous mecha robot\ntremors\ntrench coat\ntrench coat and suit\ntrench coat with many pockets\ntrench crusade\ntrench sandbags in background\ntrench warfare\ntrenchcoat\ntrenches\ntrenches bombs\ntrend\ntrend in art station\ntrend in behance hd\ntrend of artistation\ntrend on behance 3 d art\ntrend on behance 3d art\ntrend on behance illustration\ntrend on dribbble\ntrendin on artstation\ntrendind everywhere\ntrending\ntrending anime art\ntrending anime artwork\ntrending arstationhq\ntrending art\ntrending art station\ntrending artgerm\ntrending artistic art\ntrending artstaion\ntrending artstaition\ntrending artstation\ntrending artstayion\ntrending artwork\ntrending at art station\ntrending at cgstation\ntrending at gitmo\ntrending cgsociety\ntrending digital art\ntrending digital fantasy art\ntrending dribbble\ntrending dribble\ntrending in art station\ntrending in artsation\ntrending in artstation\ntrending in behance\ntrending in category epic\ntrending in cgsociety\ntrending in instagram\ntrending in japan\ntrending in pinterest\ntrending on\ntrending on 5 0 0 px\ntrending on 500 px\ntrending on 500px\ntrending on 8k\ntrending on aetstation\ntrending on arstation\ntrending on arstation w- 1024\ntrending on art\ntrending on art - sation\ntrending on art - station\ntrending on art station\ntrending on art-sation\ntrending on art-station\ntrending on artbreeder\ntrending on artforum\ntrending on artisation\ntrending on artist\ntrending on artistation\ntrending on artlist\ntrending on arts\ntrending on artsatio\ntrending on artsation\ntrending on artsstation\ntrending on artstaion\ntrending on artstarion\ntrending on artstartion\ntrending on artstatio\ntrending on artstatioin\ntrending on artstation\ntrending on artstation 4k\ntrending on artstation hd\ntrending on artstation hq\ntrending on artstation pixiv\ntrending on artstation.'\ntrending on artstation:3\ntrending on artstationh\ntrending on artstationhq\ntrending on artstation”\ntrending on artstaton\ntrending on artstatoon\ntrending on artstattion\ntrending on artstion\ntrending on artstration\ntrending on artststion\ntrending on artsy\ntrending on atrstation\ntrending on attestation\ntrending on bbwchan\ntrending on cgartist\ntrending on cgisociety\ntrending on cgsociety\ntrending on cgsociety art\ntrending on cgstation\ntrending on cgtalk\ntrending on character design\ntrending on cnn\ntrending on concept art\ntrending on conceptartworld\ntrending on derpibooru\ntrending on devian art\ntrending on devianart\ntrending on deviant art\ntrending on deviantarthq”\ntrending on dezeen\ntrending on dribbble\ntrending on dribbble.com mascot\ntrending on e 6 2 1\ntrending on etsy\ntrending on facebook\ntrending on fiverr\ntrending on flicker\ntrending on furaffinity\ntrending on gc society\ntrending on getty\ntrending on hollywood reporter\ntrending on imagestation\ntrending on imdb\ntrending on instagram\ntrending on instagram!\ntrending on interfacelift\ntrending on itch. io\ntrending on juxtapoz magazine\ntrending on kickstarter\ntrending on logostation\ntrending on mad magazine\ntrending on markets\ntrending on marvel\ntrending on mentalray\ntrending on national geographic\ntrending on patreon\ntrending on pinteresst\ntrending on pinterest. com\ntrending on pinterest，maximalist\ntrending on pintrest\ntrending on pixart\ntrending on pixart”\ntrending on pixv\ntrending on pxiv\ntrending on r / mapporn\ntrending on r/mapporn\ntrending on r/streetwear\ntrending on r/techwearclothing\ntrending on saatchi art\ntrending on sketchfab\ntrending on social media\ntrending on society6\ntrending on spotify\ntrending on studio ghibli\ntrending on teemill\ntrending on textures. com\ntrending on tiktok\ntrending on twitter\ntrending on unreal 5\ntrending on unreal engine\ntrending on unreal engine 5\ntrending on vehicle design\ntrending on vsco\ntrending on weasyl\ntrending on wikiart\ntrending on youtube\ntrending on zbrush\ntrending onstudio ghibli\ntrending photo\ntrending pinterest\ntrending top art\ntrending wallpaper\ntrending ，\ntrends at art station\ntrendsetter\ntrendy\ntrendy clothes\ntrendy food\ntrendy typography\ntrendy white clothing\ntrent parke\ntrent reznor\ntrevor brown style\ntrevor carlton\ntrevor henderson\ntrevor phillips\ntrex\ntrex dinosaur\ntrex from godzilla (2014)\ntrex from godzilla 2014\ntri - gun\ntri - x\ntri - x 4 0 0\ntri - x 4 0 0 tx\ntri - x 400\ntri - x 400 tx\ntri - x film\ntri - x pan\ntri - x pan stock\ntri-x\ntri-x 400 side lighting\ntri-x 400 tx\ntri-x iso 400 film\ntriad of muses\ntriade color scheme\ntriadic\ntriadic chrome shading\ntriadic color\ntriadic color grading\ntriadic color palette\ntriadic color scheme\ntriadic colors\ntriadic colours\ntriangle\ntriangle inside circle\ntriangle makeup\ntriangle shape face\ntriangle shards\ntriangle to use spell\ntriangles\ntriangles in background\ntriangular elements\ntriangular face\ntribal\ntribal ancient imagery\ntribal armor\ntribal art\ntribal clothing\ntribal dance\ntribal face paintings\ntribal facepaint\ntribal jewelry\ntribal makeup\ntribal mask\ntribal mask inside mask\ntribal masks\ntribal paint\ntribal patterns\ntribal piercing and tatoos\ntribal psychedelic\ntribal red atmosphere\ntribal sleeve left arm\ntribal style\ntribal tattoo\ntribal tattoos\ntribal tattoos right arm sleeve\ntribal yurta\ntribalism\ntribalistic sci-fi\ntribals\ntribarrel\ntribbles\ntribe huts in the jungle\ntribe members attacking\ntribe members chasing\ntribute to life\ntriceratops\ntrichromatic colors\ntrick\ntrick or treat\ntrickling water\ntrickster\ntricky\ntricolor background\ntricorn hat\ntricorne hat\ntrident\ntrident metal crown\ntriforce\ntrigger\ntrigger anime artstyle\ntrigun\ntrilliant\ntrim\ntrimmed\ntrimmed beard\ntrimmed with a white stripe\ntrinidad scorpion\ntrinity\ntrinity from the matrix\ntrinity matrix\ntrinity the matrix\ntrinkets\ntrio\ntrip\ntrip to legnica\ntriple h\ntriple six\ntriple white colorway\ntripmachine\ntripmachines\ntripod\ntrippie redd\ntripping\ntripping on lsd\ntrippy\ntrippy art\ntrippy colors\ntrippy fractals\ntrippy mood\ntrippy mushroom\ntrippy vibrant colors\ntrippy visuals\ntrippy!!! symbolic\ntrippysymbolic\ntriptych\ntripwire\ntripy\ntrireme\ntriss merigold\ntriss merigold cosplay\ntristan eaton\ntristan eaton & greg rutkowski\ntristan eaton's wallpaper\ntristan eatons wallpaper\ntristram\ntritone\ntriumph\ntriumphant\ntriumphant fate\ntriumphant pose\ntriumphantly\ntroika games\ntrojan war\ntroll\ntroll face\ntrollface\ntrolls\ntron\ntron angel\ntron legacy\ntron legacy jesus\ntron legacy jesus christ\ntron legacy setting\ntrooper\ntroops searching the area\ntrophy truck\ntropic climate\ntropic plants and flowers\ntropical\ntropical atmosphere\ntropical background\ntropical beach\ntropical beach paradise\ntropical bird feathers\ntropical birds\ntropical climate\ntropical coastal city\ntropical color scheme\ntropical fish\ntropical flower plants\ntropical flowers\ntropical foliage\ntropical forest\ntropical fruit\ntropical houseplants\ntropical island\ntropical jungle\ntropical landscape\ntropical leaves\ntropical lighting\ntropical location\ntropical mood\ntropical ocean\ntropical palms\ntropical paradise\ntropical plants\ntropical pool\ntropical reef\ntropical sea creatures\ntropical setting\ntropical style\ntropical trees\ntropical undertones\ntropical vegetation\ntropical vibe\ntropical wood\ntropicalism\ntropics\ntrough the night\ntrout in pants\ntrout sticking out of pants\ntruck\ntruck racing into camera\ntrucker hat\ntrucks\ntrue\ntrue anatomy\ntrue anatomy!\ntrue color\ntrue colors\ntrue detective\ntrue evil\ntrue goth\ntrue life\ntrue love\ntrue proportions\ntrue realistic image\ntrue romance\ntrue to life\ntrue unsimulated emotions\ntrue-to-life\ntrulli\ntrump\ntrump as a minion\ntrump hair\ntrump in rdr2\ntrump kissing putin\ntrump praying in mosque\ntrump tower\ntrump training pikachu\ntrump with a gun\ntrumpet\ntruncated snout under visor\ntruss building\ntrustworthy\ntrustworthy eyes\ntruth\ntrying to escape\ntrying to read\ntrying to ride it\ntrying to study\ntrypophobia\ntrypophobia acne face\ntryptamine\ntrès détaillé\ntshirt\ntshirt design\ntshirt!!\ntsuaii\ntsubasa chronicles\ntsubasa hanekawa\ntsubasa nakai's style\ntsugumi ohba\ntsukasa dokite\ntsukasa hojo\ntsunade from naruto\ntsunami\ntsunami behind him\ntsurime eyes\ntsuruda\ntsurumaki kazuya\ntsuruta kenji\ntsutomo nihie\ntsutomu kitazawa\ntsutomu niehi\ntsutomu nihei\ntsutomu nihei art\ntsutomu nihei gustav klimt\ntsutomu nihei style\ntsuyoshi nagano\ntuareg\ntuba\ntuba knight\ntube wave\ntube-top dress\ntubes\ntubes and cables\ntubes and gauges\ntubes fused with the body\ntubing\ntubular creature\ntucked out of view magic happens\ntucker carlson\ntucson arizona\ntudor\ntudor architecture\ntuesday weld in a bubble bath\ntuesday weld in a pink bikini\ntuffle coat\ntufted softly\ntufty whiskers\ntula\ntulip\ntulips\ntulle and lace\ntumbleweed\ntumbleweeds\ntumblr aesthetic\ntumblr trending\ntummy\ntumors\ntumours\ntumultuous\ntumultuous sea\ntundra\ntuned to a dead channel\ntungstem color balance\ntungsten\ntunic\ntuning\ntunnel\ntunnels\ntunnels lead to different worlds\ntunning\ntuomas korpi and wlop\ntuomas korpi bouguereau\ntupac\ntupac shakur\nturaco morphing chicken\nturban\nturban of flowers\nturban of vibrant flowers\nturbid clouds\nturbines\nturbo\nturbosquid\nturbulence\nturbulence filter\nturbulent\nturbulent alien vivid landscape\nturbulent blood lake\nturbulent lake\nturbulent sea\nturbulent storm clouds\nturbulent water\nturbulent waves\nturf roof\nturian\nturkey\nturkish and russian\nturmoil\nturnado\nturnaround\nturnaround world building\nturned back to camera\nturner\nturner piranesi\nturner whimsical\nturner. piranesi. macro lens\nturner. symmetrical\nturning her head and smiling\nturning yellow\nturnip hair\nturntables\nturntablism dj scratching\nturntablist\nturqouise\nturquoise\nturquoise and orange\nturquoise and pink lighting\nturquoise and venetian red\nturquoise blue face\nturquoise color scheme\nturquoise eyes\nturquoise gold details\nturquoise gradient\nturquoise hair\nturquoise horizon\nturquoise jewelry\nturquoise ocean\nturquoise palette\nturquoise pink and green\nturquoise pink and yellow\nturquoise rust\nturquoise water\nturrets\nturtle\nturtle shell\nturtle warrior\nturtle. pacific northwest coast\nturtles\nturtles all the way down\ntuscany hills\ntusks\ntutorial\ntutu\ntuxedo\ntuxedo cat\ntv\ntv capture\ntv color test pattern\ntv commercial\ntv footage\ntv frame\ntv news\ntv production\ntv program\ntv screens\ntv screens in background\ntv series\ntv set\ntv show\ntv show still\ntv static\ntv still\ntv still frame\ntv studio\ntv tokyo 2010s anime series\ntv!\ntvn\ntvp\ntvs\ntwas brillig\ntwee\ntweed colour scheme\ntwelve arms\ntwelve-dimensional\ntwen magazine\ntwenty-dimensional\ntwice\ntwiddle\ntwiddle a plopple\ntwiddle a twoddle\ntwigs\ntwilight\ntwilight ; digital oil painting\ntwilight ; digital painting\ntwilight ; wide shot\ntwilight city on the background\ntwilight cool light\ntwilight in the city\ntwilight junkyard\ntwilight lighting\ntwilight princess\ntwilight ray\ntwilight sky\ntwilight skyline\ntwilight sparkle\ntwilight zone\ntwilight zone background\ntwin motion\ntwin peaks\ntwin peaks art\ntwin peaks movie poster\ntwin peaks movie poster art\ntwin peaks poster art\ntwin peaks poster artwork\ntwin peaks style\ntwin souls\ntwin towers\ntwink\ntwinkling and spiral nubela\ntwinkling distant stars\ntwinkling stars\ntwinmotion render\ntwins\ntwins playing video games\ntwintails\ntwintails hairstyle\ntwintails white_gloves\ntwirling\ntwirling glowing sea plants\ntwirling smoke trail\ntwirling smoke trails\ntwirls\ntwirls and curves\ntwirly\ntwist of time\ntwisted\ntwisted braid\ntwisted braids\ntwisted dark lucid dream\ntwisted energy flow\ntwisted flux\ntwisted gardens\ntwisted giant tower\ntwisted god with no face\ntwisted ivy vines\ntwisted metal\ntwisted rays\ntwisted shapes\ntwisted tentacles\ntwisted trees\ntwisted trunk\ntwisted turn of fate abstraction\ntwisted vines\ntwisted waterway\ntwisted wire\ntwisted withering vines\ntwister\ntwisting\ntwisting leaves\ntwisting organic tendrils\ntwisting streets\ntwisting trees\ntwisting vapour\ntwisty\ntwitch emote\ntwitch streamer\ntwitch streamer / gamer ludwig\ntwitch tv\ntwitching and writhing\ntwitter\ntwitter pfp\ntwlight\ntwo\ntwo - handed sword\ntwo - tone\ntwo aboriginal elders\ntwo aliens around\ntwo anime handsome men\ntwo arms\ntwo arms and to legs\ntwo arms that have sharp claws\ntwo beautiful anime girls\ntwo beautiful women in love\ntwo black eyes\ntwo blue braids\ntwo braids\ntwo buddies sitting in a room\ntwo cats\ntwo characters\ntwo color hair\ntwo colors\ntwo cranes flying across the sun\ntwo crutches near bench\ntwo cups of coffee\ntwo deer wearing suits\ntwo different characters\ntwo dogs\ntwo exhausted\ntwo eye art\ntwo eyes\ntwo eyes half closed\ntwo fangs\ntwo figures\ntwo figures wearing gas masks\ntwo finnish lapphunds\ntwo frail\ntwo giant towers\ntwo girls\ntwo hands\ntwo hands reaching for a fish\ntwo handsome men\ntwo hang\ntwo headed cat\ntwo heads\ntwo heads one body\ntwo horns\ntwo horns on the head\ntwo hovering twin nuns\ntwo identical symmetrical eyes\ntwo in the void\ntwo japanese schoolgirls posing\ntwo kittens sleeping in a basket\ntwo knights gauntlets\ntwo large horns on the head\ntwo legged with clawed feet\ntwo legs\ntwo legs two arms one head\ntwo little horn on the head\ntwo long braids blue\ntwo magnificent jelly fish\ntwo male\ntwo medium sized islands\ntwo men\ntwo men hugging\ntwo men in black\ntwo models in the frame\ntwo moons\ntwo moons in the sky\ntwo moons lighting\ntwo mountains in background\ntwo muscular men entwined\ntwo old people\ntwo onion rings\ntwo organic looking towers\ntwo people\ntwo perfect eyes\ntwo piece workout clothes\ntwo pigtails hairstyle\ntwo planets colliding\ntwo plastic chair behind a table\ntwo point perspective\ntwo pointed ears\ntwo points perspective\ntwo pure moons\ntwo shallow black eyes\ntwo skinny figures\ntwo skinny old figures\ntwo skinny old people\ntwo small horn on the head\ntwo still figures facing camera\ntwo stories\ntwo suns\ntwo suns are in the sky\ntwo swans swimming on the lake\ntwo swords\ntwo tone\ntwo tone dye\ntwo tone hair dye\ntwo tone hairdye\ntwo towers\ntwo women\ntwo women kissing at a carnival\ntwo wooden wardrobes\ntwo young men\ntwo-dimensional\ntwo-point perspective\ntwoddle\ntwoface\ntx\ntyftt\ntyler\ntyler durden\ntyler edlin and jean delville\ntyler edlin and natasha tan\ntyler edlin fantasy art\ntyler jacobson style\ntyler miles lockett\ntyler the creator\ntyler west\ntyndall effect\ntyndall rays\ntype - 2\ntype design\ntypical\ntypical anime classroom\ntypical cryptocurrency nerd\ntypical russian atmosphere\ntyping on a holographic keyboard\ntyping on laptop\ntypographic\ntypographic annotation\ntypographical experiments\ntypography\ntyrannosarus rex\ntyrannosaurus\ntyrannosaurus rex\ntyrant\ntyre mark\ntyrell wellick\ntyrion lannister\ntyrus wong\ntzeentch\ntzimisce\ntzuyu from twice\nu\nu trending on art station\nu. h. d\nu.s. national security advisor\nuav\nue\nue 4\nue 5\nue 6\nue marketplace\nue4\nue5\nue5 render\nue6\nueshiba riichi\nufc\nufo\nufo abduction\nufo aliens\nufo attack\nufo flying over paris\nufo in a forest\nufo in the sky\nufo landing\nufo lighting\nufology\nufos\nufos in the sky\nufotable\nufotable art style\nufotable studio art style\nuganda knuckles\nugly\nugly appearance\nugly art\nugly face\nugly highly detailed\nugly look\nugly made\nugly monster\nugly vibrant colors\nugly woman\nugly!!!!!!\nuhd\nuhd - resolution\nuhd 4 k\nuhd 4k\nuhd 4k image\nuhd 4k image”\nuhd 8 k\nuhd 8 k cryengine\nuhd 8k\nuhd 8k cryengine\nuhd 8k hidden message\nuhd candid photo of dirty\nuhd character details\nuhd cinematic lighting\nuhd details\nuhd dramatic\nuhd face details\nuhd hdr\nuhd hyperdetailed\nuhd hyperdetailed photography\nuhd image\nuhd photography\nuhd photorealistic picture\nuhd realistic faces\nuhd resolution\nuhd uhd uhd\nuhd upscale\nuhd ”\nuhdr\nuhd”\nuhq\nuhq scan\nui\nui and ux\nui card\nui design\nui intricate\nuk\nukio-e style\nukiuo-e and studio ghilbi style\nukiyo\nukiyo - e\nukiyo - e art\nukiyo - e painting\nukiyo - e sculpture\nukiyo - e style\nukiyo e\nukiyo-e\nukiyo-e art\nukiyo-e print\nukiyo-e style\nukiyo-style\nukiyoe\nukiyoe painting\nukiyoe style\nukraine\nukraine. photography\nukraine. professional photo\nukrainian\nukrainian flag on the left side\nukrainian girl\nukrainian monk\nukrainian national clothes\nukrainian national costume\nukulele\nultima moongate\nultimate\nultimate collab\nultimate detail\nultimate fighting championship\nultimate octane render\nultra\nultra - detail\nultra - detailed\nultra - detailed and intricate\nultra - details\nultra - futuristic architecture\nultra - hd\nultra - high detail\nultra - high details\nultra - high jump\nultra - photorealistic\nultra - quality\nultra - realism\nultra - realistic\nultra - realistic and detailed\nultra - realistic and intricate\nultra - realistic faces\nultra - realistic painting\nultra - vivid\nultra - wide angle\nultra - wide shot\nultra - wide view\nultra 4 k\nultra 4 k concept turnaround\nultra 4k\nultra 4k concept turnaround\nultra 8 k\nultra 8k\nultra 8k quality\nultra _ realistic\nultra accurate\nultra ambient occlusion\nultra beautiful\nultra beautiful face\nultra clear\nultra clear and sharp focus\nultra clear detail\nultra clear detailed\nultra clear material\nultra coherent\nultra crisp\nultra deep fog\nultra definition\nultra dense fog\nultra detail\nultra detail. digital painting\nultra detaild\nultra detailed\nultra detailed 16k\nultra detailed 8 k\nultra detailed 8k\nultra detailed cinematic\nultra detailed close up\nultra detailed color art\nultra detailed concept art\nultra detailed content\nultra detailed content : face\nultra detailed digital art\nultra detailed face\nultra detailed face and eyes\nultra detailed faces\nultra detailed fantasy\nultra detailed female android\nultra detailed game art\nultra detailed haunted house\nultra detailed hdr 8 k\nultra detailed hdr 8k\nultra detailed high resolution\nultra detailed illustration\nultra detailed intricate ornate\nultra detailed painting\nultra detailed pen sketch\nultra detailed pencil art\nultra detailed pencil drawing\nultra detailed photo\nultra detailed photograph\nultra detailed portrait\nultra detailed rain drops\nultra detailed storm clouds\nultra detailed symbolism\nultra detailed textures\nultra detailed trees\nultra detailed water\nultra detailed wire decoration\nultra detailed-i\nultra detailed. style of arrival\nultra detailed”\nultra detailled\nultra details\nultra detalied\nultra enhanced faces\nultra facial detail\nultra fine colored inking lines\nultra fine detail\nultra fine detaile\nultra fine detailed\nultra fine details\nultra fine illustration\nultra fine inklines\nultra futuristic\nultra glossy\nultra graphic settings\nultra graphics\nultra hd\nultra hd 4 k\nultra hd 4k\nultra hd 8k octane render\nultra hd anime wallpaper\nultra hd detaling\nultra hd photo\nultra hd render\nultra hd rendered\nultra hd wallpaper\nultra hi resolution picture\nultra high contrast\nultra high def\nultra high definition\nultra high definition details\nultra high definition quality\nultra high detail\nultra high detail digital art\nultra high detail ultra realism\nultra high detailed\nultra high details\nultra high face symmetry\nultra high pixel detail\nultra high quality\nultra high quality model\nultra high res\nultra high resolution\nultra high settings\nultra high tech\nultra high textures\nultra highly detailed\nultra humorous illustration\nultra humorous oil painting\nultra hyper realistic\nultra hyper realistic quality\nultra hyper sharp\nultra instinct\nultra intricate\nultra intricate detailed\nultra intricate details\nultra long lens\nultra low camera angle\nultra low poly modelling\nultra mega detailed\nultra mega super hyper beautiful\nultra mega super hyper detail\nultra mega super hyper realistic\nultra minimalistic\nultra modern\nultra nd\nultra ornate detail\nultra phonk\nultra photo realistic\nultra photoreal\nultra photorealistic\nultra photorealistic raytracing\nultra precise\nultra quality\nultra rare\nultra real\nultra real 8 k photography\nultra real 8k photography\nultra realism\nultra realist\nultra realist soft painting\nultra realistic\nultra realistic 3d illustration\nultra realistic 4k\nultra realistic 8 k\nultra realistic 8 k resolution\nultra realistic 8k\nultra realistic 8k octa photo\nultra realistic 8k octan photo\nultra realistic ar 16:9\nultra realistic art\nultra realistic cinematic\nultra realistic classic\nultra realistic concept art\nultra realistic detail\nultra realistic details\nultra realistic digital art\nultra realistic digital painting\nultra realistic face\nultra realistic faces\nultra realistic facial details\nultra realistic fantasy tiara\nultra realistic hd\nultra realistic horror\nultra realistic illustration\nultra realistic masterpiece\nultra realistic oil painting\nultra realistic painting\nultra realistic photo\nultra realistic photograph\nultra realistic photography\nultra realistic picture\nultra realistic pictures\nultra realistic portrait\nultra realistic render\nultra realistic rendering\nultra realistic soft painting\nultra realistic vfx\nultra realistic ”\nultra realistic!!!\nultra realistic. cinematic\nultra realistic”\nultra realstic\nultra reasltic\nultra render\nultra rendered\nultra resolution\nultra resolution details\nultra setting\nultra settings\nultra shallow depth of field\nultra sharp\nultra sharp - - ar 1 6 : 9\nultra sharp - - ar 16 : 9\nultra sharp focus\nultra sharp lines\nultra sharpness\nultra smooth\nultra texture\nultra textured\nultra very long shot\nultra view\nultra view angle view\nultra violet highlights\nultra wide\nultra wide 1 0 mm\nultra wide 10 mm\nultra wide 35mm lens\nultra wide angle\nultra wide angle horizon\nultra wide angle isometric view\nultra wide angle lens\nultra wide angle shot\nultra wide angle view\nultra wide camera\nultra wide gameplay screenshot\nultra wide horizon\nultra wide lens\nultra wide lens picture\nultra wide lens shot\nultra wide shot\nultra wide-shot\nultra wild lens\nultra-detail\nultra-detailed\nultra-detailed 4k\nultra-detailed digital art\nultra-detailed. anime\nultra-hd\nultra-high definition\nultra-high detail\nultra-high details\nultra-high resolution\nultra-huhd-3d-macro-rendered\nultra-photorealistic\nultra-realism\nultra-realistic\nultra-realistic digital art\nultra-realistic graphics\nultra-realistic sharp focus\nultra-sharp details\nultra-wide angle\nultra-wide shot\nultraclear intricate\nultracrisp\nultradetail\nultradetail face\nultradetailed\nultradetailed 8k\nultradetailed digital art\nultradetailed digital painting\nultradetailed environment\nultradetailed mural\nultradetailed photorealistic\nultradetailedl\nultradetailled\nultradetails\nultrafine\nultrafine detail\nultrafine detail ”\nultrafine detailed\nultrafine detailed painting\nultrafine details\nultrafine hyper detailed\nultrafine hyperdetailed\nultrafine hyperrealistic details\nultrahd\nultrahigh detail\nultraman\nultramarine\nultramarine blue\nultramarine blue and gold\nultramarine metal\nultramarine space marine cat\nultraphotorealistic\nultrarealism\nultrarealism oil painting\nultrarealistic\nultrarealistic concept art\nultrarealistic details\nultrarealistic digital art\nultrarealistic illustration\nultrarealistic matte painting\nultrarealistic octane render\nultrarealistic oil painting\nultrarealistic photograph\nultrarealistic photography\nultrarealistic raytracing\nultrarealistic sweet bunny girl\nultrarealistic uhd faces\nultrareaslistic\nultrarelistic\nultrarrealistic\nultrasharp\nultrasharp detail\nultrasharp details\nultrasharp focus\nultrastation hq\nultraterrestrial dragons\nultraviolet\nultraviolet and neon colors\nultraviolet colors\nultraviolet light\nultraviolet photography\nultraviolette color scheme\nultrawide\nultrawide angle\nultrawide angle cinematic view\nultrawide cinematic\nultrawide cinematic 3d render\nultrawide establishing shot\nultrawide image\nultrawide landscape\nultrawide lens\nultrawide lense\nultrawide lens”\nultrawide shot\nultrawide shots\nultrawide watercolor\nultron\nuluru\nulzzang\numa thurman\numa thurman in kill bill\numami\numamusume\numanosuke iida\numaru-chan\number color scheme\numbra\numbrakinesis\numbrella\numbrella under a heavy rain\numbrellas\numineko\nun and michael whelan\nun dia de paz\nun made bed\nun meeting at the hague\nun restaurant avec une terrasse\nunarmed combat\nunattractive\nunaware of your existence\nunaware of your tiny existence\nunbalanced\nunbearable anxiety\nunbeatable coherency\nunbeatable quality\nunbelievable\nunbelievably beautiful\nunbiased render\nunblur\nunborn soul\nunbothered\nunbroken\nuncanny\nuncanny and scary atmosphere\nuncanny atmosphere\nuncanny creepy liminal space\nuncanny smile\nuncanny valley\nuncanny valley!\nuncanny valley!!!\nuncany but fascinating\nuncaring\nuncertain look\nuncharted\nuncharted 4\nuncharted 4: a thief's end\nuncharted 4: a thiefs end\nunclad\nunclad against the storm\nuncle aloysius\nuncle sam\nunclear\nunclipped fingernails\nuncluttered\nunco corporate banner\nuncomfortable\nuncomfortable and anxious\nuncomfortable crooked smile\nuncompressed\nuncompressed png\nunconditional love\nunconnected\nunconscious\nunconscious design\nuncrop\nuncropped\nuncut\nundead\nundead cyborg head\nundead facial features\nundead knight\nundead lich\nundead mage\nundead ronald reagan zombie\nundead skeleton king\nundead soldiers in background\nundead winged hussar\nundead. highly detailed\nunder a dark cloudy sky\nunder a full moon\nunder a gray foggy sky\nunder a microscope\nunder a night sky\nunder a pale dead moon\nunder a sea of stars\nunder a shower\nunder a spotlight\nunder a technicolor sky\nunder a waterfall\nunder artillery fire\nunder blue\nunder blue clouds\nunder bridge\nunder construction\nunder glass dome\nunder heavy fire\nunder large green umbrella\nunder light\nunder outer world forrest\nunder outer world jungles\nunder rain\nunder repairs\nunder sakura tree\nunder street lamp\nunder studio lighting\nunder the moon\nunder the ocean\nunder the sea\nunder the silent night sky\nunder the soft shadow of a tree\nunder the stars\nunder water\nunder water deep sea laboratory\nunder water scenery\nunder water swimming\nunder water visual distortion\nunder waterfall\nunderbite\nunderbody\nunderbrush wash\nundercut\nundercut haircut\nundercut hairstyle\nunderdeveloped\nunderdimensional\nunderexposed\nunderexposed grey\nunderexposed lighting\nunderexposed photography\nunderground\nunderground art\nunderground box office hit\nunderground bunker\nunderground cave\nunderground cavern\nunderground city\nunderground facility\nunderground lab\nunderground lake\nunderground metro\nunderground mine\nunderground party\nunderground room\nunderground scene\nunderground temple\nunderground tunnel\nunderground!!!!\nunderlight\nunderlit\nunderlying sense of dread\nunderneath the stars\nunderpainting\nunderrated\nundersea\nundersea environment\nundersea temple\nundersea temple with fish\nunderside\nunderside of a fox paw\nunderstated\nunderstated aesthetic\nundertailed\nundertale\nunderwater\nunderwater background\nunderwater bubbles\nunderwater bubbles background\nunderwater camera\nunderwater caustics\nunderwater city\nunderwater combat scene\nunderwater crystal caverns\nunderwater crystals\nunderwater edinburgh castle\nunderwater environment\nunderwater explosion\nunderwater face\nunderwater frog perspective\nunderwater glittering river\nunderwater glow\nunderwater home\nunderwater in the ocean at night\nunderwater ink\nunderwater ink env\nunderwater landscape\nunderwater leviathan\nunderwater life\nunderwater light rays\nunderwater lights\nunderwater looking up\nunderwater market\nunderwater mushroom forest\nunderwater ocean\nunderwater perspective\nunderwater photo\nunderwater photograph\nunderwater photography\nunderwater plants\nunderwater polaroid photo\nunderwater psychedelic smoke\nunderwater scene\nunderwater scenery\nunderwater sea dragon\nunderwater sea dragon full body\nunderwater sea monster\nunderwater shot\nunderwater shrine\nunderwater smoke\nunderwater soft colours\nunderwater statues\nunderwater temple\nunderwater view\nunderwater westminster\nunderwater with coral and fish\nunderwater world\nunderwear ad\nunderworld\nunderworld boss\nundulating nebulous clouds\nunearthly\nunearthly art style\nunearthly gears\nuneasy\nuneasy atmosphere\nunedited\nuneven\nuneven dense fog\nuneven fog\nuneven glass apple in the dark\nunexpected\nunexpected glitch art\nunexpected windfall\nunexplained phenomena\nunfathomable\nunfathomable horror\nunfinished\nunfinished canvas\nunfinished roots of white sand\nunfocus\nunfocused\nunforgettable\nunforgivable\nunforgiven\nunfortunate\nunfotable studio\nunframed\nunga bunga\nunhappy\nunhinged\nunholy\nunholy abomination\nunholy ceremony\nunholy gathering\nunholy sloth\nunholy union\nunibrow\nunicorn\nunicorn flying in the sky\nunicorn from the tusk movie\nunicorn horn\nunicorns\nunicron trilogy\nunified\nuniform\nuniform background\nuniform off - white sky\nuniform plain sky\nuniform teeth\nunigine render\nunimaginable\nunimaginable composition\nunimaginably huge\nunion jack\nunique\nunique and intricate painting\nunique architecture\nunique architecture!\nunique camera angle\nunique design\nunique environment\nunique features\nunique hair designs\nunique hairstyle\nunique hairstyles\nunique heads\nunique landscape\nunique non conventional beauty\nunique perspective\nunique pot made for houseplants\nunique silhouettes\nunique style\nunique styles\nuniquely beautiful\nunited kingdom\nunited kingdom flags\nunited nations\nunited states\nunited states air force\nunits\nunity\nunity 2 d\nunity 2d\nunity 3 d\nunity asset store\nunity demo video\nunity engine\nunity hdrp\nunity of mood\nunity render\nunity screenshot\nunity unreal engine\nunity3d\nuniversal\nuniversal background\nuniversal horror movie\nuniversal shadowing\nuniversal volumetric lighting\nuniverse\nuniverse background\nuniverse in a grain of sand\nuniverse in the background\nuniverse in the sky\nuniverse life significance\nuniversity\nunkempt\nunkempt beard\nunkempt hair and beard\nunkept hair\nunknowingly walking over you\nunknown\nunknown artist\nunknown artstyle\nunknown location\nunknown pleasures\nunknown space\nunknown technology\nunknown title\nunknown zodiac sign\nunkown year\nunlife\nunlike anything on earth\nunlikely hero\nunlimited blade works\nunlimited detail\nunlimited juice\nunlimited potential\nunlit\nunmasked\nunmistakably kenyan\nunnatural\nunnatural grin\nunnatural lighting\nunnatural movement\nunnatural shapes\nunnerving\nunnerving anxiety\nunnerving mist\nunobstructed road\nunopened\nunorthodox\nunpleasant face\nunprocessed colors\nunpublished photo of ufo\nunrea 5\nunreadable\nunreadable text\nunreal\nunreal - engine\nunreal 3 d\nunreal 4\nunreal 4 screenshot\nunreal 5\nunreal 5 8 k depth of field\nunreal 5 engine\nunreal 5 engine highlly render\nunreal 5 engine render\nunreal 5 engine rendered\nunreal 5 render\nunreal 5. rpg portrait\nunreal 58k depth of field\nunreal 6\nunreal 6 breathtaking detailed\nunreal detail\nunreal engin\nunreal engin 5\nunreal engine\nunreal engine - h 7 6 8\nunreal engine 3\nunreal engine 3 d\nunreal engine 3 d render\nunreal engine 3 d rendering\nunreal engine 3d\nunreal engine 3d render\nunreal engine 3d rendering\nunreal engine 4\nunreal engine 4 k\nunreal engine 4 render\nunreal engine 4k\nunreal engine 4k wallpaper\nunreal engine 5\nunreal engine 5 - w 1024\nunreal engine 5 4 k\nunreal engine 5 4 k uhd image\nunreal engine 5 4k render\nunreal engine 5 8 k rendering\nunreal engine 5 : :\nunreal engine 5 demo\nunreal engine 5 detail\nunreal engine 5 digital art\nunreal engine 5 environment\nunreal engine 5 full rendering\nunreal engine 5 hdr\nunreal engine 5 highly rendered\nunreal engine 5 lighting\nunreal engine 5 lumen\nunreal engine 5 quality\nunreal engine 5 quality render\nunreal engine 5 render\nunreal engine 5 render 16k\nunreal engine 5 render dramatic\nunreal engine 5 rendered\nunreal engine 5 renderered\nunreal engine 5 rendering\nunreal engine 5 showcase\nunreal engine 5 tech demo\nunreal engine 5 »\nunreal engine 54k\nunreal engine 54k render\nunreal engine 54k uhd image\nunreal engine 58k rendering\nunreal engine 5”\nunreal engine 6\nunreal engine 7\nunreal engine 8 k\nunreal engine 8k\nunreal engine 9\nunreal engine : : rave makeup\nunreal engine ;\nunreal engine ; romantic theme\nunreal engine art\nunreal engine art 5\nunreal engine character art\nunreal engine cinema4d\nunreal engine cinematic\nunreal engine cinematic smooth\nunreal engine fantasy art\nunreal engine film still\nunreal engine generation\nunreal engine hd render\nunreal engine highly rendered\nunreal engine lumen\nunreal engine octane\nunreal engine octane render\nunreal engine quality\nunreal engine realistic render\nunreal engine render\nunreal engine render + a goddess\nunreal engine render concept art\nunreal engine render saint seiya\nunreal engine render style\nunreal engine rendered\nunreal engine rendering\nunreal engine rendering 4 k\nunreal engine rendering 4k\nunreal engine retro film still\nunreal engine screenshot\nunreal engine style\nunreal engine tech demo\nunreal engine ”\nunreal engine!\nunreal engine'\nunreal engine. 4 k\nunreal engine. 8 k\nunreal engine. film still\nunreal engine. retro film still\nunreal engine. sigma 35mm\nunreal engine5\nunreal engine: .2\nunreal engine: 2\nunreal enginedigital painting\nunreal engineer 5\nunreal engines\nunreal engine”\nunreal enging\nunreal maya\nunreal octane render\nunreal post processing\nunreal quality\nunreal render\nunreal rendered\nunreal tournament\nunreal ungine 5\nunreal vision\nunreal with on gradient\nunreal-engine\nunreal5\nunrealengine\nunrealengine 4\nunrealengine 5\nunrealengine octane render\nunrealengine5\nunrealistic\nunrealistic character concept\nunreality\nunrefined gold nugget\nunrefined sparkling gold nugget\nunreleased\nunrequited love\nunsanitary\nunsaturated\nunsaturated and dark atmosphere\nunsaturated colors\nunsettling\nunsettling atmosphere\nunsettling creepy liminal space\nunsettling found footage\nunsettling grin\nunsettling image\nunsettling images\nunsettling look in the eyes\nunsettling moody vibe\nunsettling photo\nunshaded\nunsharp mask\nunshaven\nunsheathing her katana\nunsimulated real emotions\nunskilled\nunspeakable horrors\nunsplash 4k\nunsplash contest winning photo\nunsplash photo contest winner\nunsplash photography\nunsplash transparent\nunsplash transparent fractal\nunstirred paint\nuntethered stelae\nuntextured\nuntitled\nuntitled mixed media\nuntouchable\nuntra realistic\nunused design\nunused sticker sheet\nunusual\nunusual beauty\nunusual color palette\nunusual composition\nunusual place\nunusually attractive\nunusually unique beauty\nunwind\nunwind!\nunzoom\nup\nup close\nup close image\nup close picture\nup close portrait of mr bean\nup close shot\nup close shot shinji aramaki\nup face with 1 9 2 0 s hairstyle\nup face with 1920 s hairstyle\nup light\nup shot\nup there\nup to the elbow\nup-angle view\nup-close\nupa style\nupbeat\nupclose\nupcycled\nupdate\nupdo\nupfront\nupgrade to max\nuplifting\nuplifting mood\nuplight\nuplighting\nuplit\nuploaded\nupon a peak in darien\nupon the clouds\nupper and lower body\nupper body\nupper body 2d game avatar\nupper body and face\nupper body avatar\nupper body close - up\nupper body close up\nupper body face shot\nupper body image\nupper body only\nupper body portrait\nupper body shot\nupper body visible\nupper body!!\nupper half portrait\nupper torso\nupper torso included\nupper volumetric lightning\nuppercase letter\nupright\nupscale\nupscale photo\nupscaled\nupscaled to 4 k\nupscaled to 4k\nupscaled to high resolution\nupset\nupset expression\nupset the coffee does not work\nupsetting\nupshot\nupside - down\nupside - down building\nupside down\nupside down stranger things\nupside-down\nupsidedown\nupturned nose\nupward angle\nupward cinematic angle\nupward flowing long hair\nupward perspective\nupward shot\nupwards\nupwards perspective\nuranium\nuranus\nurban\nurban architecture\nurban art\nurban art style\nurban atmosphere\nurban background\nurban city at background\nurban city background\nurban city photography\nurban clothing\nurban concept art\nurban decay\nurban dystopia\nurban environment\nurban exploration\nurban exploring\nurban fantasy\nurban fantasy romance book cover\nurban fantasy setting\nurban fantasy style\nurban girl fanart\nurban graffiti\nurban graffiti banksy\nurban horror\nurban horror aesthetic\nurban house\nurban in background\nurban jungle\nurban jungle plants\nurban landscape\nurban motifs\nurban music studio\nurban patrol\nurban photography\nurban planning\nurban playground\nurban plaza\nurban samurai\nurban setting\nurban skyline\nurban street\nurban style\nurban surroundings\nurban view in the distance\nurban warfare\nurbex\nurbex photography\nureal engine\nurine collection bag\nurs fischer\nursula the sea witch\nurusei yatsura\nus\nus airforce\nus army\nus court\nus flag\nus in a vast night\nus journalism ministry photo\nus soldiers\nusa\nusa flag\nusa volleyball\nusa-sep 20\nusb ports\nuse of negative space allowed\nuse rule of thirds\nused future\nused scifi style\nused tape\nuser interface\nuser interface design\nusers\nuses c4\nuses explosives\nusing a exoskeleton\nusing a macbook\nusing a magical tablet\nusing a spade\nusing a vr headset\nusing dead lion costume jacket\nusing fork\nusing his desktop pc\nusing leather armour with bones\nusing magic\nusing synthesizer\nusing the degrade technique\nusing watercolor\nuss enterprise\nuss nimitz\nussa\nussg ishimura\nussr\nussr armor\nussr flag\nussr poster\nussr suit\nusual color setting\nut 4\nutagawa kunisada & salvador dali\nutagawa kunisada salvador dali\nutah\nutamaro\nutamaro kitagawa style\nute osterwalder\nutilitarian\nutilitarian cargo ship\nutility\nutopia\nutopia art\nutopia profile\nutopia sci-fi style\nutopian\nutopian architecture\nutopian art\nutopian city\nutopian galaxy\nutopian jungle in space\nutopian looking\nutopian space ship\nutra realistic\nutradetailed\nutrecht\nuttarakhand\nuv\nuv blacklight\nuv map\nuwu\nuwu hi-fructose\nux\nuzumaki\nv\nv - fin\nv - ray\nv - ray collection\nv - ray render\nv - ray render 8 k uhd\nv - ray render 8k uhd\nv 8 k\nv from devil may cry as an elf\nv ray\nv tuber\nv wing\nv-ray\nv-ray 8k uhd\nv-ray collection\nv-ray engine\nv-ray render\nva-11 hall-a\nvacation\nvacation photo\nvaccaro\nvacuum\nvacuum of space\nvacuum tube-punk\nvacuum tubes\nvader\nvader as captain america\nvadim voitekhovitch\nvagabond\nvague\nvale\nvale encantado\nvalentin serov style\nvalentina remenar\nvalerian\nvaleriy vegera\nvalhalla\nvaliant\nvaliant comics\nvalkyrie\nvalkyrie fighter jet\nvalkyrie style character\nvalle dei templi\nvallejo\nvalley\nvalley in the distance\nvalley mist\nvalley of the damned background\nvalorant\nvalorant character\nvalorant game style\nvalorant style\nvalter de morais\nvalues as flat shapes\nvalve\nvalve official announcement\nvalve promotional splash art\nvalves\nvamp\nvampira\nvampire\nvampire bats\nvampire cat\nvampire fangs\nvampire fashion\nvampire girl\nvampire hunter d\nvampire lord\nvampire nun\nvampire of clan lasombra\nvampire portrait\nvampire queen\nvampire teeth\nvampire the masquerade\nvampire white fox\nvampires\nvampires fantasy\nvampires in space. moebius\nvampre the masquerade\nvan\nvan allsburg\nvan cleef & arpels\nvan cleef & arpels style\nvan cleef arpels\nvan dyck\nvan gogh and m. c. escher\nvan gogh and monet\nvan gogh art style\nvan gogh painting\nvan gogh style\nvan herpen\nvan lieven\nvanara\nvancouver\nvandalism\nvanellope von schweetz\nvanessa blue\nvanessa morgan\nvanguardist alternate timeline\nvania zouravliov\nvanilla\nvanilla - colored lighting\nvanilla smoothie explosion\nvanillaware artwork\nvanishing\nvanishing point\nvanishing point perspective\nvanishment of the gods\nvanity\nvannessa ives\nvanta blac\nvanta black\nvantablack\nvantablack cape\nvantablack chiaroscuro\nvantablack cloak\nvantablack cloth technology\nvantablack gi\nvantablack wall\nvaponpunk\nvapor\nvapor punk\nvapor wave\nvaporware\nvaporware aesthetic\nvaporware style\nvaporwave\nvaporwave aesthetic\nvaporwave aesthetics\nvaporwave art\nvaporwave artwork composition\nvaporwave background\nvaporwave cartoon\nvaporwave city\nvaporwave color scheme\nvaporwave colors\nvaporwave colors!\nvaporwave jungle\nvaporwave lighting\nvaporwave lighting style\nvaporwave lights\nvaporwave mall aesthetic\nvaporwave mansion\nvaporwave nostalgia\nvaporwave ocean\nvaporwave pallette\nvaporwave pixel sorting\nvaporwave sci - fi\nvaporwave style\nvaporwave style masterpiece\nvaporwave sunrise background\nvaporwave sunset\nvaporwave surreal ocean\nvaporwave textures\nvaporwave wallpaper environment\nvaporwave!\nvaporwave. black and white\nvapour\nvapourwave\nvaradero beach\nvargas\nvarguyart style\nvaria suit\nvariable lighting\nvariable lineart\nvariation\nvariations\nvariations around female\nvariations of thom yorke\nvaried colors\nvaried trees in the back\nvariety of shapes and textures\nvarious action poses\nvarious angles\nvarious animals\nvarious art styles\nvarious artists\nvarious artworks\nvarious backgrounds\nvarious bending poses\nvarious colors\nvarious emotions\nvarious eye shapes\nvarious eyelid positions\nvarious hair colors and styles\nvarious items\nvarious lacivious seducing poses\nvarious lighting mood\nvarious point of view\nvarious pose\nvarious posed\nvarious poses\nvarious poses shooting photos\nvarious refine techniques\nvarious refining methods\nvarious refining techniques\nvarious scenarios\nvarious seducing pose\nvarious seducing poses\nvarious sizes\nvarious styles\nvarious subjects\nvarnished\nvarying angles\nvarying art styles\nvarying detailed skin\nvarying dots\nvarying ethnicities\nvarying locations\nvarying thickness\nvascularity\nvase\nvase of flowers\nvase with flowers\nvase work\nvases and a plaster bust\nvases and bottles\nvasily kandinsky\nvasnetsov\nvass roland\nvast\nvast cosmos\nvast empty hall\nvast expanse\nvast expansive landscape\nvast forest\nvast ice dungeon\nvast landscape\nvast library\nvast lush valley flowers\nvast mountain landscape\nvast nebula\nvast power\nvast seas\nvast wheat fields\nvastayan\nvastness\nvastus lateralis\nvat\nvatican\nvatican in background\nvatican map room\nvaudevillian\nvaughan bass\nvaughan ling\nvault\nvaulted ceiling\nvcr tape\nvd\nvdovenko\nvdragan bibin\nvecna\nvecna from stranger things\nvector\nvector aesthetics\nvector art\nvector art for cnc plasma\nvector art illustration\nvector art panel for cnc plasma\nvector art style\nvector artwork\nvector background\nvector based\nvector behance hd jesper ejsing\nvector design\nvector drawing\nvector graphic\nvector graphics\nvector graphics forum badge\nvector graphics icon\nvector graphics with clean lines\nvector icon\nvector illustration\nvector image\nvector images\nvector ink drawing\nvector line\nvector line - art style\nvector line art\nvector lineal\nvector logo\nvector patch logo of mermaid\nvector shaded anime\nvector shapes\nvector sharp graphic\nvector spline curve style\nvector sticker\nvector style\nvector style drawing\nvector svg\nvector svg art\nvector technical documents\nvector trace\nvector tracing\nvector. 8 k\nvectorart\nvectorial\nvectorial art\nvectorial curves\nvectorised\nvectorized\nvectorized logo style\nvectors\nvector”\nvega mask\nvegeta\nvegetable\nvegetable foliage\nvegetables\nvegetables on table and candle\nvegetal architecture\nvegetal dragon cyborg\nvegetated roofs\nvegetation\nvegetation and flowers\nvegetation tentacles\nveggies\nvehicle\nvehicle concept photo!!\nvehicle design\nvehicle illustration\nvehicle photography\nvehicle profile\nvehicles\nvehicles on fire\nveil\nveiled\nveiled face\nveiled in mist\nveils and jewels\nveins\nveins merged feet head\nveins popping out\nveiny\nveiny hands\nvektroid\nvektroid album cover\nvelasquez\nvelly distant forest\nvelma\nvelociraptor\nvelvet\nvelvet art\nvelvet blazer\nvelvet couch\nvelvet frock coat\nvelvet stockings\nvelvet tablecloth\nvelvet with lace gown\nvelvety\nvelvia\nvelvia 100\nvelvia film\nvending machine\nvending machines\nvendors\nveneno\nvenetian glass\nvenetian mask\nvenetian red\nvengeful\nvenice\nvenice at dusk\nvenice biennale\nvenice biennale's golden lion\nvenice biennales golden lion\nvenizian era\nvenom\nvenom costume\nvenom dunking on spiderman\nvenom fangs\nvenom symbiote\nvenomfang\nvenomize\nvenomized\nvenomous sorcerer\nvent\nventail\nventilation shafts\nventricles and aorta\nventriloquist dummy\nvents\nventure brothers\nvenus\nvenus de milo with arms\nvenus effect\nvenus goddess\nvenus godness athena\nvenus of urbino\nvenus of willendorf\nvenus planet symbol\nvenus project\nvenus squid astronaut\nvenus surface\nver.ka mecha machinarium\nvera wang couture\nverbena\nverdant\nverdant and lush and overgrown\nverdant field in the foreground\nverdant forest\nverdant gradient\nverdant green fields\nverdant plant wall\nverdant plants\nverdant plants green wall\nverdant topiary\nverdigris\nvereschagin\nvereshchagin\nvergil\nvergil from devil may cry\nverisimilitude\nvermeer\nvermeer and caravaggio\nvermeer lighting\nvermeer painting\nvermilion\nvermilion and red lake\nvermillion\nvermillion and cyan\nvermont fall colors\nvernadskys noosphere\nverner panton\nversace\nversace pattern\nversailles\nversatile\nversimlitude\nversion 3\nvert coherent\nvertex\nvertical\nvertical architecture\nvertical composition\nvertical eyes\nvertical gardens\nvertical lines\nvertical movie frame\nvertical orientation\nvertical orientation w 832\nvertical portrait\nvertical symmetry\nvertical vegetable gardens\nvertical wallpaper\nvertically flat head\nvertigo\nvertigo - inducing\nvertigo comic\nvertigo comics\nvervia\nvery\nvery - high - budget anime movie\nvery abstract\nvery accurate\nvery accurate and detailed\nvery accurate coherent image\nvery accurate face\nvery accurate photo\nvery aesthetic\nvery aesthetic leather jacket\nvery aesthetic!!!!!!\nvery aesthetic!!!!!!!!!!!!!!!\nvery aesthetically pleasing\nvery ahestetic\nvery angry\nvery angry expression\nvery angry squid\nvery anime\nvery anime style\nvery appealing\nvery artistic\nvery artistic pose\nvery asphalt\nvery atmospheric\nvery atmospheric lighting\nvery attractive\nvery attractive and beautiful\nvery attractive man with beard\nvery award - winning\nvery backlit\nvery beautiful\nvery beautiful ambient light\nvery beautiful ambient lighting\nvery beautiful and elegant\nvery beautiful angeline jolie\nvery beautiful anime cat girl\nvery beautiful cute catgirl\nvery beautiful cyberpunk samurai\nvery beautiful digital art\nvery beautiful elven top model\nvery beautiful enga style\nvery beautiful face\nvery beautiful fantasy art\nvery beautiful female barbarian\nvery beautiful fur\nvery beautiful girl\nvery beautiful goth top model\nvery beautiful lighting\nvery beautiful long slim legs\nvery beautiful masterpiece\nvery beautiful matte painting\nvery beautiful photo\nvery beautiful portrait\nvery beautiful scenery\nvery beautiful slim legs\nvery beautiful style\nvery beautiful woman\nvery beautiful young woman\nvery beautiful!! aerial shot\nvery beautiful. big muscles\nvery bensinski\nvery besautiful ambient light\nvery big eyes\nvery big eyes!\nvery big smile\nvery black sky\nvery bloody\nvery blurry\nvery bright\nvery bright brown eyes\nvery bright lights\nvery bright white light\nvery brightening eyes\nvery buff\nvery bushy brown hair\nvery busy place\nvery calm and wholesome\nvery chromatic aberration\nvery cinematic\nvery clean\nvery clean art\nvery clear\nvery clear face\nvery clear image\nvery clear picture\nvery clear view\nvery close detailed closeup\nvery close shot\nvery close to real nature\nvery close up foot pov shot\nvery close up foot shot\nvery closeup\nvery cloudy sky\nvery coherent\nvery coherent artwork\nvery coherent composition\nvery coherent image\nvery coherent stylized artwork\nvery coherent symmetrical\nvery coherent symmetrical work\nvery coherent symmetry\nvery coherent. cinematic\nvery coherent. high detail\nvery cohesive\nvery cohesive and vibrant\nvery colorful\nvery colorful heavenly\nvery colourful\nvery comfy\nvery comfy]\nvery complex\nvery consistent\nvery consistent bezier curves\nvery convincing\nvery cool\nvery cool pose\nvery cozy\nvery creepy\nvery crisp\nvery crisp details\nvery crisped colors\nvery crispy\nvery crowded\nvery curvy\nvery cute\nvery cute and childlike\nvery cute features\nvery cute purple dragon\nvery cute robot zen\nvery dark\nvery dark ambiance\nvery dark and abandoned\nvery dark background\nvery dark blue eyes\nvery dark brown skin!\nvery dark cave\nvery dark environment\nvery dark lighting\nvery dark night time\nvery dark room\nvery dark shadows\nvery dark with green lights\nvery deep\nvery deep depth of field\nvery deep sea\nvery deep stillness atmosphere\nvery defined\nvery design\nvery detaied\nvery detail\nvery detaile\nvery detailed\nvery detailed 4 k\nvery detailed 4k\nvery detailed 8 k\nvery detailed 8k\nvery detailed and beautiful face\nvery detailed and colorful\nvery detailed and high quality\nvery detailed and intricate\nvery detailed and realistic\nvery detailed and rich clothing\nvery detailed and sharp\nvery detailed animal hat\nvery detailed art\nvery detailed background\nvery detailed backgrounds\nvery detailed bd cover\nvery detailed beautiful face\nvery detailed birds\nvery detailed black feathers\nvery detailed cinematic\nvery detailed citycape at night\nvery detailed concept art\nvery detailed curve\nvery detailed dark super storm\nvery detailed design\nvery detailed digital art\nvery detailed digital painting\nvery detailed emerald green eyes\nvery detailed eyes\nvery detailed face\nvery detailed face and ears\nvery detailed faces\nvery detailed facial features\nvery detailed facial structure\nvery detailed feel\nvery detailed felt plushie\nvery detailed fine art\nvery detailed fur\nvery detailed illustration\nvery detailed intricate details\nvery detailed intricate intaglio\nvery detailed isometric\nvery detailed labeling\nvery detailed leaves\nvery detailed medieval\nvery detailed oil painting\nvery detailed painting\nvery detailed paradise\nvery detailed photo\nvery detailed photograph\nvery detailed photography\nvery detailed picture\nvery detailed portrait\nvery detailed render\nvery detailed shading\nvery detailed skin\nvery detailed stunning deep eyes\nvery detailed super storm\nvery detailed texture\nvery detailed toad\nvery detailed torso\nvery detailed unreal engine\nvery detailed »\nvery detailed ”\nvery detailed!\nvery detailed!!\nvery detailed. 4 k\nvery detailed”\nvery detailled\nvery detailled face\nvery details\nvery disturbing\nvery dramatic\nvery dramatic dynamic lighting\nvery dramatic light\nvery dramatic lighting\nvery dramatic volumetric light\nvery dull colors\nvery dull muted colors\nvery dynamic\nvery early film stock\nvery elegant\nvery elegant & complex\nvery elegant features\nvery elongated lines\nvery emotional\nvery epic\nvery epic atmosphere\nvery ethereal\nvery excited\nvery expensive\nvery expressive\nvery expressive detailed face\nvery expressive face\nvery extremely beautiful\nvery faded\nvery famous photo\nvery fancy whiskey bottle\nvery fantastic art\nvery far royal steampunk castle\nvery fashion\nvery fashionable\nvery fat\nvery fine artwork\nvery fine brush strokes\nvery fine brushstrokes\nvery fine detail\nvery fine detail and texture\nvery fine details\nvery fine inking lines\nvery fit and extremely muscular\nvery flat shading\nvery fluffy\nvery foggy\nvery foggy mist\nvery full detail\nvery full lips\nvery funny\nvery furry\nvery futuristic\nvery fuzzy\nvery geometrical\nvery glowing eyes\nvery grainy\nvery grainy film\nvery grainy image\nvery grainy texture\nvery hairy\nvery hairy bodies\nvery handsome\nvery happy\nvery hazy\nvery heavy vignette!!!\nvery high angle view\nvery high bloom ammount\nvery high complexity\nvery high contrast\nvery high detail\nvery high detailed\nvery high details\nvery high intricate details\nvery high quality\nvery high quality face\nvery high quality lights\nvery high quality photography\nvery high resolution\nvery high resolution images\nvery high view\nvery highly detailed\nvery highly detailed 8k\nvery highly intricately detailed\nvery hot\nvery huge smile\nvery huge waves\nvery humorous illustration\nvery humorous oil painting\nvery humorous!!!\nvery hyper realistic\nvery hyperrealistic\nvery impressive\nvery inspirational\nvery intense\nvery interesting\nvery intricate\nvery intricate art\nvery intricate braided hair\nvery intricate details\nvery intricate masterpiece\nvery intricate photorealistic\nvery intricate ultrafine details\nvery kenyan\nvery known photo\nvery large\nvery large basil leaves\nvery large bosum\nvery large eyes. symmetry\nvery large scales\nvery light freckles\nvery light snow\nvery little moss\nvery long\nvery long and unkempt hair\nvery long arms\nvery long bangs\nvery long black hair\nvery long black/red hair\nvery long blue hair\nvery long fingernails\nvery long flowing dark hair\nvery long flowing hair\nvery long flowing red hair\nvery long hair\nvery long neck\nvery long orange hair\nvery long shadows\nvery long shot\nvery long shot of a windmill\nvery long silver beard\nvery long silver hair\nvery long snow colored hair\nvery long spires\nvery long wavy azure blue hair\nvery long wavy fiery red hair\nvery long white beard and hair\nvery long white cloak\nvery long white hair\nvery longshot\nvery low - angle\nvery low angle\nvery low angle photograph\nvery low angle view\nvery low contrast\nvery low energy\nvery low light\nvery low quality\nvery low saturation\nvery luminous design\nvery magical and dreamy\nvery mediocre\nvery melancholic\nvery minimal\nvery minimal vector art\nvery minimalistic\nvery modern anime style\nvery moody lighting\nvery muscly\nvery muscular\nvery muscular male body\nvery muted colors\nvery neat\nvery nerdy\nvery nice pastel colors\nvery noisy\nvery nostalgic\nvery old\nvery old photo\nvery orange\nvery ornamented\nvery ornate\nvery pale\nvery pale skin\nvery pale white skin\nvery peaceful mood\nvery perfect position\nvery photorealistic\nvery poetic\nvery poor\nvery poor quality of photography\nvery powerful\nvery pretty\nvery pretty eyes\nvery pretty face\nvery pretty model\nvery professional\nvery rainy\nvery real\nvery realistic\nvery realistic 3 d render\nvery realistic cinematic\nvery realistic digital art\nvery realistic effect\nvery realistic face\nvery realistic film still\nvery realistic gemstones\nvery realistic looking\nvery realistic painting effect\nvery realistic photograph\nvery realistic render\nvery realistic. fog\nvery realistic. low dark light\nvery red colors\nvery refined\nvery reflective\nvery relaxing\nvery romantic\nvery round\nvery round headlights\nvery rust\nvery sad\nvery sad c 12.0\nvery sad emotion\nvery sad face\nvery sad medusa\nvery saul goodman\nvery scary\nvery scary photo\nvery seductive pose\nvery sexy\nvery sexy devil outfit\nvery sexy outfit\nvery sexy pose\nvery sexy woman with black hair\nvery shallow depth of field\nvery sharp\nvery sharp and detailed\nvery sharp and detailed image\nvery sharp and detailed photo\nvery sharp detail\nvery sharp details\nvery sharp focus\nvery sharp likeness\nvery sharp photo\nvery sharp vampire fangs teeth\nvery sharp!!!\nvery short curly hair\nvery short dark hair\nvery short depth of field\nvery short hair\nvery short messy hair\nvery short pants\nvery short slicked - back hair\nvery silly\nvery silly looking\nvery simple\nvery sleepy and shy\nvery slightly smiling\nvery small brushstrokes\nvery small eyes\nvery small lips\nvery smoky\nvery smoky cyberpunk paris bar\nvery smoky paris bar\nvery smooth\nvery soft diffuse lights\nvery soft diffuses lights\nvery soft shadowing\nvery sparse detail\nvery strong\nvery strong and muscular man\nvery stylish\nvery stylish fantasy armor\nvery stylized\nvery stylized character design\nvery sunny\nvery sunny weather\nvery surprised\nvery surreal garden\nvery sweaty\nvery sweet\nvery symmetrical\nvery symmetrical body\nvery symmetrical face\nvery tall\nvery tall and slender\nvery tall ceilings\nvery tasty\nvery terrifying\nvery thick and wer oil paint\nvery thin\nvery thirsty\nvery tight corset\nvery tight small push up bra\nvery tiny\nvery tired\nvery trippy and abstract\nvery ugly face\nvery vaporwave\nvery vascular\nvery very aesthetic\nvery very anime!!!\nvery very beautiful\nvery very beautiful art\nvery very beautiful furry art\nvery very beautiful scenery\nvery very beautiful woman\nvery very beautiful!\nvery very clean\nvery very coherent painting\nvery very creepy\nvery very curly blond hair\nvery very detailed\nvery very detailed face\nvery very elegant\nvery very happy\nvery very happy!\nvery very high detailed\nvery very highly detailed\nvery very intricate\nvery very kawaii\nvery very long blond curly hair\nvery very low quality\nvery very low quality picture\nvery very pale blond hair\nvery very pale white skin\nvery very precise\nvery very realistic\nvery very roberto ferri\nvery very saul goodman\nvery very small goat\nvery very small owl\nvery very surreal\nvery very unsettling\nvery very very aesthetic\nvery very very beautiful\nvery very very beautiful art\nvery very very beautiful scenery\nvery very very beautiful!\nvery very very beautiful!!\nvery very very beautifull face\nvery very very creative\nvery very very detailed\nvery very very dramatic lighting\nvery very very epic\nvery very very highly detailed\nvery very very hr giger\nvery very very pale skin\nvery very very pale white skin\nvery very very realistic\nvery very very rich\nvery very very saul goodman\nvery very very tall\nvery very very ultradetailed\nvery very very very beautiful\nvery very very very beautiful!!\nvery very very very detailed\nvery very very very electronic\nvery very very very famous art\nvery very very very scary\nvery very very very tall\nvery very well detailed image\nvery very wide shot\nvery vey very detailed face\nvery vibrant\nvery vibrant colors\nvery warm colors\nvery well detailed\nvery wet\nvery wide angle\nvery wide angle lens\nvery wide angle shot\nvery wide angle view\nvery wide shot\nvery wide view\nvery wide wide shot\nvery windy\nvery wow\nvesa-matti loiri\nvesalius anatomy\nvesper lynd\nvesper lynd from casino royale\nvespertine\nvessels\nvest\nvests\nvests and corsets\nvetements\nveterinary medical diagram\nveveltaria\nvexillology\nvey detailed faces\nvf-1s jetfire\nvfx\nvfx action shot\nvfx art\nvfx espresso\nvfx film\nvfx film closeup\nvfx movie\nvfx movie closeup\nvfx particle simulation\nvfx portrait\nvfx portrait of\nvfx powers at night in the city\nvfx render\nvfx scene\nvfx shot\nvfx spritesheet!!!!!\nvfxfriday\nvga\nvgbftk\nvhs\nvhs artefacts\nvhs artifacts\nvhs camcorder footage\nvhs colour photography\nvhs copy\nvhs cover\nvhs distortion\nvhs distortions\nvhs effect\nvhs effects\nvhs filter\nvhs footage\nvhs footage of a movie set\nvhs footage still\nvhs found footage\nvhs glitch\nvhs monster high\nvhs noise static\nvhs overlay\nvhs quality\nvhs recording\nvhs screencap\nvhs static\nvhs static overlay\nvhs style\nvhs tape\nvhs tape footage\nvhs video\nvhs video effect\nvhsrip\nvi from arcane\nvi from league of legends\nvial of stars\nvials\nvibe\nvibes\nvibing to music\nvibrance scheme\nvibrancy\nvibrancy color\nvibrant\nvibrant & colorful background\nvibrant - c 10\nvibrant 3d textures\nvibrant 8k rendering\nvibrant accents\nvibrant aesthetic\nvibrant and colorful\nvibrant and dynamic\nvibrant and matching colors\nvibrant and powerful\nvibrant and rich colors\nvibrant and stylized\nvibrant and vivid\nvibrant and vivid color\nvibrant art\nvibrant atmosphere\nvibrant atmospheric colors\nvibrant aura\nvibrant autumn colors\nvibrant background\nvibrant backlit\nvibrant bismuth material\nvibrant blue\nvibrant blue sky background\nvibrant bright colors\nvibrant bright colours\nvibrant but dreary\nvibrant but dreary blue\nvibrant but dreary gold\nvibrant but dreary orange\nvibrant but dreary red\nvibrant but muted colors\nvibrant cartoon art\nvibrant chromatic colors\nvibrant cinematic lighting\nvibrant city lights\nvibrant cmyk dye overpainting\nvibrant color\nvibrant color details\nvibrant color palette\nvibrant color scheme\nvibrant color scheme 8k\nvibrant color with gold speckles\nvibrant color!\nvibrant colorful background\nvibrant colorful green leaves\nvibrant colors\nvibrant colors americana\nvibrant colors hyper realism\nvibrant colors scheme\nvibrant colors smooth gradients\nvibrant colour\nvibrant colourful background\nvibrant colours\nvibrant composition and color\nvibrant contrast\nvibrant cool colors\nvibrant corals\nvibrant dark hair\nvibrant dark mood\nvibrant dark wavy hair\nvibrant darkness\nvibrant deep colors\nvibrant deep saturated colors\nvibrant digital art\nvibrant digital painting\nvibrant epic\nvibrant expressive colours\nvibrant eyes\nvibrant fan art\nvibrant fantasy style\nvibrant feel\nvibrant foliage\nvibrant fractal gems\nvibrant glow\nvibrant gouache painting scenery\nvibrant green\nvibrant greenery\nvibrant greenery outside\nvibrant hair\nvibrant high contrast\nvibrant high contrast coloring\nvibrant hues\nvibrant in color\nvibrant inkbursts\nvibrant iridescent\nvibrant iridescent colors\nvibrant light\nvibrant light color scheme\nvibrant light leaks\nvibrant lighting\nvibrant lights\nvibrant luminescence\nvibrant lush neon lighting\nvibrant mood\nvibrant moody colors\nvibrant movie poster\nvibrant muted colors\nvibrant nature\nvibrant nebula\nvibrant neon colors\nvibrant neon inks painting\nvibrant neon pastel\nvibrant oil painting\nvibrant orange\nvibrant orange background\nvibrant painting\nvibrant palette\nvibrant pastel color palette\nvibrant pastel colors\nvibrant patterns\nvibrant people\nvibrant pink\nvibrant powder paints\nvibrant realistic\nvibrant realistic colors\nvibrant red\nvibrant red 8k\nvibrant red and green colours\nvibrant red background\nvibrant red colors\nvibrant red hair\nvibrant red hibiscus\nvibrant rich deep color\nvibrant scattered light\nvibrant scene\nvibrant setting\nvibrant shading\nvibrant sunrise\nvibrant sunset\nvibrant sunset dramatic sky\nvibrant teal and maroon hair\nvibrant threads\nvibrant tones\nvibrant tourism poster\nvibrant triadic color scheme\nvibrant uplifting color scheme\nvibrant vegetation\nvibrant vials\nvibrant vibrations\nvibrant vivid colors\nvibrant volumetric natural light\nvibrant water river\nvibrant watercolor\nvibrant watercolor painting\nvibrant world\nvibrant. fractal gems\nvibrant.-h 704\nvibrant: 0.75\nvibrante colors\nvibrantly colored\nvibrantly colorful\nvibrantly lush\nvibrantly lush neon lighting\nvibrating\nvibrating colors\nvibration\nvibrent red lipstick\nvic james\nvice city\nvicious\nvicious appearance\nvicious snapping alligator plant\nvicotr hugo harmatiuk\nvicto\nvicto nagai\nvicto nagi\nvicto nga\nvicto ngai\nvicto ngai and surrealism\nvicto ngai and tristan eaton\nvicto ngai cyberpunk style\nvicto ngai fine texture\nvicto ngai style\nvicto ngai! cmyk palette\nvicto ngai! muted colors\nvicto ngai! muted sepia colors\nvicto ngai. unreal engine\nvicto ngaimuted colors\nvicto ngaimuted sepia colors\nvicto ngairich grainy texture\nvictor\nvictor antonov\nvictor brauner and moebius\nvictor charreton\nvictor einrich\nvictor horta\nvictor maristane\nvictor ngai\nvictor prezio\nvictor stone\nvictoria\nvictoria justice\nvictoria secret runway show\nvictoria siemer\nvictoria's secret\nvictoria's secret model\nvictorian\nvictorian age\nvictorian alchemists\nvictorian architecture\nvictorian arcs of sand\nvictorian armor\nvictorian blue dress\nvictorian britain 1 8 3 5\nvictorian britain 1 8 3 6\nvictorian britain 1835\nvictorian britain 1836\nvictorian buildings\nvictorian castle\nvictorian city\nvictorian clothing\nvictorian day of the dead\nvictorian dress\nvictorian england\nvictorian england style\nvictorian era\nvictorian era masterwork\nvictorian era painting\nvictorian era，jellyfish element\nvictorian female portrait\nvictorian fire ship\nvictorian goggles\nvictorian goth\nvictorian gothic\nvictorian gothic lolita fashion\nvictorian harbour night\nvictorian house\nvictorian inspired clothing\nvictorian lace\nvictorian lady\nvictorian london\nvictorian manor\nvictorian newspaper article\nvictorian painting\nvictorian photo\nvictorian photograph\nvictorian playing card\nvictorian room\nvictorian setting\nvictorian steampunk city vista\nvictorian steampunk mega city\nvictorian style\nvictorian style costume\nvictorian textiles\nvictorian thanksgiving feast\nvictorian vampire\nvictoriana\nvictorias secret\nvictorious\nvictorious on a hill\nvictory\nvictory lap\nvideo\nvideo - game\nvideo animation\nvideo camera\nvideo compression\nvideo footage\nvideo game\nvideo game art\nvideo game asset\nvideo game asset file\nvideo game assets\nvideo game avatar\nvideo game box art\nvideo game character\nvideo game character art\nvideo game character concept\nvideo game character design\nvideo game characters designs\nvideo game cinematic\nvideo game concept art\nvideo game consoles\nvideo game control\nvideo game cover\nvideo game cover art\nvideo game cutscene\nvideo game design\nvideo game digital art\nvideo game dunkey\nvideo game environment design\nvideo game fanart\nvideo game genshin impact\nvideo game graphics\nvideo game icon\nvideo game icon design\nvideo game item\nvideo game render\nvideo game screenshot\nvideo game screenshot>\nvideo game skill ability\nvideo game still\nvideo game style\nvideo game texture\nvideo games\nvideo glitch\nvideo still\nvideogame\nvideogame 3d render\nvideogame art\nvideogame asset\nvideogame background\nvideogame character\nvideogame concept art\nvideogame cover art\nvideogame graphics\nvideogame inspired\nvideogame poster\nvideogame render\nvideogame screenshot\nvideogame sprite\nvideogame still\nvideogame style\nvideogames\nvideotape still from 1985\nvienna\nvienna city\nvienna secesion style\nvienna secession\nvienna state opera house\nvietnam\nvietnam door gunner\nvietnam soldier with skateboard\nvietnam war\nvietnam war soldier\nvietnamese temple scene\nvietnamese woman\nview\nview above the clouds\nview for miles\nview from a distance\nview from a news truck\nview from above\nview from above from plane\nview from above on seascape\nview from across the street\nview from afar\nview from back\nview from behind\nview from behind mirror\nview from below\nview from bottom\nview from bottom to top\nview from distance\nview from eyes\nview from far away\nview from front\nview from ground\nview from ground level\nview from helicopter\nview from high\nview from inside\nview from side\nview from slightly above\nview from space\nview from the back\nview from the bottom\nview from the distance\nview from the eyes\nview from the ground\nview from the lake\nview from the sea\nview from the side\nview from the side”\nview from the sky\nview from the space\nview from the street\nview from the streets\nview from the top\nview from window\nview from window on megapolis\nview is centered on the robot\nview of forest\nview of houses in amsterdam\nview of sea\nview of the cosmos\nview of the ocean\nview of the one spiral galaxy\nview of the spiral galaxy\nview of villages\nview out of a window\nview over city\nview through window\nview up\nview(full body + zoomed out)\nviewed from a distance\nviewed from above\nviewed from afar\nviewed from behind\nviewed from bellow\nviewed from below\nviewed from bird's-eye\nviewed from earth\nviewed from far away\nviewed from space\nviewed from the ground\nviewed from the harbor\nviewed from the ocean\nviewed from the side\nviewed from very far away\nviewed in profile\nviewed in profile from far away\nviewed through the cars window\nviewfull body + zoomed out\nviewpoint is to front and left\nviews front side and rear\nviews to the ocean\nvignette\nvignette effect\nvignette illustration\nvignette of windowsill\nvignette tilt-shift\nvignetting\nvigo the carpathian\nvijay jayant props\nviking\nviking and templar aesthetics\nviking armor\nviking attire\nviking beard\nviking berserker\nviking boat\nviking city\nviking culture\nviking face in profile\nviking god\nviking heaven\nviking king\nviking palace\nviking runes\nviking shaman\nviking style\nviking warrior\nviking warrior illustration\nvikings\nviktor antonov\nviktor antonov concept art\nviktor deni\nviktor orban\nviktor orban drinking champagne\nviktor orban in a forest\nviktoria gavrilenko\nvile\nvilla\nvillage\nvillage far away\nvillage girl reading a book\nvillage house\nvillage in the background\nvillage in the woods\nvillage square\nvillager\nvillagers busy farming\nvillages\nvillages castles\nvillages ， unreal engine\nvillain\nvillain pose\nvillain wearing a red oni mask\nvillainess\nvillainess has black angel wings\nvillany\nville valo\nvilleneuve\nvillian\nvin diesel\nvin diesel as thanos\nvin diesel head in egg cup\nvin diesel with a tummy\nvinayak\nvince vaughn as jack fenton\nvincent\nvincent callebaut\nvincent callebaut composition\nvincent desiderio\nvincent di fate nausicaa\nvincent maréchal\nvincent van gogh\nvincent van gogh painting\nvincent van gogh style\nvincent van gogh!!!\nvincenzo catena style\nvincenzo riccardi\nvine\nvine and plants and flowers\nvine art\nvine bridge silhouette over lake\nvine covered\nvine dress\nvine headdress\nvine twist\nvines\nvines along the jungle floor\nvines and blue foliage\nvines and cracked wood\nvines and flowers\nvines and thorns\nvines everywhere\nvines hanging down\nvines hanging from trees\nvines hanging over the water\nvines on the walls\nvines overflowing\nvines wrap around the terrarium\nvines. tiffany blue\nvinesauce\nvineyard\nvinland saga\nvinny from vinesauce\nvinny vinesauce\nvintage\nvintage - w 1 0 2 4\nvintage 1950s stamp\nvintage 1960 print\nvintage 1960s print\nvintage 6 0 s print\nvintage 60 s print\nvintage 60s print\nvintage 7 0 s anime watercolor\nvintage 70 s anime watercolor\nvintage 70s comic cover\nvintage 70s print\nvintage 8 0 s print\nvintage 80 s print\nvintage 80s print\nvintage 9 0 s print\nvintage 90 s print\nvintage 90s print\nvintage aesthetic\nvintage art\nvintage art deco\nvintage associated press photo\nvintage aston martin\nvintage camera\nvintage car\nvintage cars\nvintage cereal box art\nvintage closeup photograph\nvintage clothing\nvintage clothing poster\nvintage color\nvintage color photo\nvintage colors\nvintage colours\nvintage colours 1 9 5 0 s\nvintage colours 1950 s\nvintage comic\nvintage comic book style\nvintage dark sci fi\nvintage disney\nvintage doll\nvintage dress\nvintage electronics\nvintage european folk art\nvintage fantasy art\nvintage fashion\nvintage film\nvintage film grain\nvintage film photo\nvintage film poster\nvintage film stock\nvintage footage\nvintage footage on tokyo streets\nvintage frame window\nvintage fridge\nvintage future\nvintage glass plate photograph\nvintage glow\nvintage gothic gown\nvintage halloween postcard\nvintage horror\nvintage horror art\nvintage illustration\nvintage infrared photograph\nvintage inspired\nvintage levi  s ad\nvintage levi ’ s ad\nvintage look\nvintage magazine illustration\nvintage makeup\nvintage movie\nvintage movie poster\nvintage movie shot\nvintage muted colors\nvintage noir\nvintage old\nvintage old photo\nvintage painting\nvintage photo\nvintage photo from 1890\nvintage photograph\nvintage photography\nvintage pilot clothing\nvintage pin up\nvintage polaroid\nvintage polaroid photo\nvintage postcard\nvintage postcard illustration\nvintage poster\nvintage poster style\nvintage pulp art\nvintage race footage\nvintage retro\nvintage retro colors\nvintage retro scifi\nvintage revolution photograph\nvintage robotics\nvintage royalty\nvintage saturation\nvintage sci - fi\nvintage sci - fi art\nvintage sci - fi poster\nvintage sci - fi soft grainy\nvintage sci fi\nvintage sci-fi book cover\nvintage sci-fi soft grainy\nvintage science fiction\nvintage science fiction cinema\nvintage scifi\nvintage scifi book cover\nvintage scifi poster\nvintage shading\nvintage shapes\nvintage shirt\nvintage shoujo\nvintage showcase of the 60s\nvintage soft grainy\nvintage space station logo\nvintage style\nvintage technicolor film photo\nvintage theme\nvintage transistors\nvintage typography\nvintage vibe\nvintage!\nvinyl\nvinyl action figure\nvinyl cover from 1988\nvinyl cut ready\nvinyl designer toy\nvinyl material\nvinyl on glazing\nvinyl records\nvinyl toy figurine\nviolence\nviolence blood\nviolence in her eyes\nviolence in his eyes\nviolencia\nviolent\nviolent action\nviolent and vicious appearance\nviolent gun action\nviolent protest\nviolent stormy waters\nviolent west\nviolent west )\nviolent zombie dance\nviolently fist fighting\nviolet\nviolet and aqua neon lights\nviolet and black\nviolet and pink palette\nviolet and yellow sunset\nviolet ants\nviolet battlefield theme\nviolet beetles\nviolet cockroach\nviolet color\nviolet color palette\nviolet color scheme\nviolet colored theme\nviolet colors\nviolet colour palette\nviolet coloured t-shirt\nviolet evergarden\nviolet eyes\nviolet flower\nviolet flowers\nviolet hair\nviolet lighting\nviolet long hair\nviolet myers\nviolet planet\nviolet polsangi\nviolet polsangi pop art\nviolet skin\nviolet sky\nviolet spiders\nviolet spike smoke\nviolet theme\nviolet tight tanktop\nviolet tones\nviolin\nvip room\nviral\nviral image\nviral on instagram\nviral on twitter\nviral photo\nviral post\nvirgil abloh\nvirgil finlaytim hildebrandt\nvirgin mary\nvirginie ropars\nviridescent\nviridescent at shoulder height\nviridian\nviridian and venetian red\nvirile\nvirtual\nvirtual engine\nvirtual engine 5\nvirtual installation\nvirtual metaverse room\nvirtual reality\nvirtual reality headset\nvirtual reality metaverse engine\nvirtual self\nvirtual set\nvirtually no peer or precedent\nvirtue\nvirtuosic level detail\nvirtuosic painting\nvirtuoso\nvirus\nvisa pour l'image\nvisa pour limage\nvisable sounds waves\nvisage\nviscera splattered\nvisceral\nviscous\nviscous liquid\nviscous rainbow paint\nviscous smoke\nviscous volumetric smoke\nvishnu\nvisible and detailed face\nvisible belly\nvisible brush strokes\nvisible brushstrokes\nvisible eyes\nvisible face\nvisible face!\nvisible forehead\nvisible from afar!!\nvisible head\nvisible head and eyes\nvisible holy aura\nvisible layers\nvisible magic energy\nvisible nervous system\nvisible paint layers\nvisible paint texture\nvisible planets in the sky\nvisible pores\nvisible pupils\nvisible rain\nvisible sky and humid atmosphere\nvisible sky and sunny atmosphere\nvisible smoke\nvisible space\nvisible stitching\nvisible stomach\nvisible strokes\nvisible texture\nvisible veins\nvisibly angry\nvision\nvision of chaos\nvision quest\nvisionary\nvisionary art\nvisionary art style\nvisionary arts\nvisionary fractal structures\nvisionary painting\nvisions\nvisiting saturn\nvisor\nvisor covering eyes\nvisor eyes\nvisor over face\nvisor screen for face\nvista\nvista of a city at sunset\nvista of futuristic city\nvista view\nvisual\nvisual art style\nvisual contrast\nvisual depth\nvisual design school\nvisual development\nvisual effects\nvisual fidelity\nvisual fidelity and plasticity\nvisual identity\nvisual key\nvisual novel\nvisual novel cg\nvisual novel key visual\nvisual novel sprite\nvisual perception\nvisual plasticity\nvisual static\nvisual storytelling\nvisual-key\nvisualartzi\nvisualisation\nvisuality\nvisualize\nvisually appealling\nvisually coherent\nvisually crisp & clear\nvisually crisp clear\nvisually pleasing\nvisually striking\nvisually stunning\nvisually stunning scene\nvisuals\nvitalik buterin\nvitaliy bondarchuk\nvitals visualiser\nvitals visualiser!!\nvitaly bugarov\nvitaly bulgarov\nvitaly bulgarov and mike nash\nvito acconci\nvitorugo\nvitruvian man\nvitruvian mecha\nvitruvian woman\nvittorio matteo corcos\nviutiful joe\nvivacious\nvivarium\nvivd\nvivd colour\nvivd details\nvivec city\nvivec robot\nvivian westwood\nvivic colors\nvivid\nvivid - colors\nvivid 8 k\nvivid 8k\nvivid abstract landscape\nvivid and balanced\nvivid and colorful\nvivid and detailed\nvivid and vibrant\nvivid and vibrant colors\nvivid atmospheric lighting\nvivid attention to detail\nvivid background\nvivid beautiful\nvivid blue eyes\nvivid bright colors\nvivid bright light\nvivid broken glass\nvivid cartoony colors\nvivid caustics\nvivid cinematic lightning\nvivid coloes\nvivid color\nvivid color digital 2d\nvivid color glow\nvivid color hues\nvivid color palette\nvivid color scheme\nvivid color tones\nvivid color.digital 2d\nvivid colorful comic style\nvivid colorful comics style\nvivid colors\nvivid colors anatomical\nvivid colors scheme\nvivid colors!\nvivid colors!!\nvivid colour\nvivid colours\nvivid colours. sharp focus. wow!\nvivid colrs\nvivid complementary colors\nvivid composition\nvivid contrasts\nvivid deep colors\nvivid detail\nvivid detailed realistic\nvivid details\nvivid ember colors\nvivid eyes\nvivid flower crown\nvivid gaze\nvivid glowing colors\nvivid gradient colors\nvivid green lasers\nvivid hues\nvivid illustration\nvivid image\nvivid imagery\nvivid landscape\nvivid light\nvivid lighting\nvivid lights\nvivid lights night time\nvivid lines\nvivid neon color\nvivid neon colors\nvivid painting\nvivid pastel color scheme\nvivid pastel colors\nvivid psychedelic colors\nvivid rainbow of colors\nvivid realistic colors\nvivid rich colors\nvivid saturation\nvivid sky\nvivid steampunk concept\nvivid studio light\nvivid tentacles\nvivid tones\nvivid ultraviolet colors\nvivid vegetation\nvivid vibrant colors\nvivid vibrant deep colors\nvivid vintage coloring\nvivid!!\nvivid)\nvivide colors\nvividly beautiful colors\nvividly enhanced\nvivienne westwood\nvivienne westwood!\nvivy\nvixen\nvladimir abat-cherkasov\nvladimir krisetskiy\nvladimir lenin\nvladimir motsar\nvladimir nikolov\nvladimir pchelin\nvladimir putin\nvladimir putin amiibo\nvladimir putin awe face\nvladimir putin in minecraft\nvladimir putin rides a unicorn\nvladimir volegov\nvlc screenshot\nvlop\nvman magazine\nvmk myvmk\nvocal\nvocal tract model\nvocalist\nvocaloid\nvodka\nvofan\nvoge photo\nvogue\nvogue cover\nvogue cover : :\nvogue cover photo\nvogue cover poses\nvogue cover style\nvogue editorial\nvogue editorial photo\nvogue fashion photo\nvogue france\nvogue full color editorial photo\nvogue issue january\nvogue italia\nvogue italy\nvogue journal cover\nvogue magazine\nvogue magazine cover\nvogue magazine editorial\nvogue magazine photo\nvogue magazine style\nvogue photo\nvogue photo style\nvogue photography\nvogue photoshoot\nvogue poses\nvogue render\nvogue style\nvoid\nvoid 1a\nvoid eyeballs\nvoid manifold\nvoid of darkness\nvoid of space\nvoid vortex\nvoidless of the festival\nvoidless of the festival!\nvoidstar\nvoigtlander 3 5 mm\nvoigtlander 35 mm\nvoigtländer lens\nvoitv\nvolatile\nvolcanic\nvolcanic background\nvolcanic embers\nvolcanic eruption\nvolcanic landscape\nvolcanic skeleton\nvolcanic workshop background\nvolcano\nvolcano background\nvolcano eruption\nvolcano exploding\nvolcano fog\nvolcano in background\nvolcano in the background\nvolcano landscape\nvolcano setting\nvolcano texture\nvolcano valley\nvolcanoes\nvolcanoes in the background\nvolcanos\nvoldemort\nvolegov\nvolley court background\nvolleyball\nvolleyball net\nvollumetric lighting\nvolodymyr zelensky at war\nvolodymyr zelenskyy\nvoltron\nvolume\nvolume aesthetic\nvolume clouds\nvolume flutter\nvolume fog\nvolume light\nvolume lighting\nvolume lights\nvolume metric lighting\nvolume noise\nvolume rays\nvolume raytracing fog\nvolumentric lighting\nvolumeric ghostly rays\nvolumeric lighting\nvolumetic lighting\nvolumetric\nvolumetric 8 k\nvolumetric 8k\nvolumetric and perfect lighting\nvolumetric atmosphere\nvolumetric backlighting\nvolumetric cinematic light\nvolumetric cinematic lighting\nvolumetric clouds\nvolumetric clouds and fog\nvolumetric diffuse shading\nvolumetric dramatic lighting\nvolumetric dust\nvolumetric dust rays\nvolumetric dynamic lighting\nvolumetric effect\nvolumetric effects\nvolumetric evening lights\nvolumetric fog\nvolumetric fog and haze\nvolumetric fog and light\nvolumetric fog and lighting\nvolumetric fog and smoke\nvolumetric fog light\nvolumetric fog resolution\nvolumetric fur\nvolumetric god rays\nvolumetric godrays\nvolumetric haze\nvolumetric hazy lighting\nvolumetric illumination\nvolumetric interior lighting\nvolumetric light\nvolumetric light - s 1 5 0\nvolumetric light - s 150\nvolumetric light and fog\nvolumetric light and mist\nvolumetric light and shadow\nvolumetric light clouds\nvolumetric light effect\nvolumetric light fog\nvolumetric light from above\nvolumetric light from below\nvolumetric light highly detailed\nvolumetric light rays\nvolumetric light scattering\nvolumetric light water\nvolumetric light ， surreal\nvolumetric lightening\nvolumetric lightin\nvolumetric lighting\nvolumetric lighting & shadows\nvolumetric lighting - h 7 6 8\nvolumetric lighting - n 9\nvolumetric lighting 4k\nvolumetric lighting 8 k\nvolumetric lighting 8k\nvolumetric lighting : :\nvolumetric lighting and fog\nvolumetric lighting and shadows\nvolumetric lighting beautiful\nvolumetric lighting caustics\nvolumetric lighting effect\nvolumetric lighting fantasy\nvolumetric lighting from above\nvolumetric lighting futuristic\nvolumetric lighting iridescence\nvolumetric lighting matte\nvolumetric lighting octane\nvolumetric lighting pinterest\nvolumetric lighting shadows\nvolumetric lighting — w 6 4 0\nvolumetric lighting — w 640\nvolumetric lighting!!\nvolumetric lighting. fantasy\nvolumetric lighting. red\nvolumetric lighting:.7\nvolumetric lighting”\nvolumetric lightning\nvolumetric lights\nvolumetric llight\nvolumetric mist\nvolumetric modelling\nvolumetric moody lighting\nvolumetric natural light\nvolumetric neon lighting\nvolumetric noon lighting\nvolumetric object\nvolumetric octane render\nvolumetric outdoor lighting\nvolumetric perfect light\nvolumetric rainbow lighting\nvolumetric ray tracing\nvolumetric rays\nvolumetric render\nvolumetric rendering\nvolumetric search lights\nvolumetric shading\nvolumetric shadow\nvolumetric shadows\nvolumetric shadows and lighting\nvolumetric shapes\nvolumetric smoke\nvolumetric smoke and shadows\nvolumetric soft lighting\nvolumetric studio lighting\nvolumetric sun rays\nvolumetric sun rays and dust\nvolumetric sunlight\nvolumetric underwater lighting\nvolumetric water\nvolumetric wool felting\nvolumetrics\nvolumetrics lights\nvolumetrig fog\nvolumetry scattering\nvolumetry scattering into space\nvolumettic light\nvoluminous\nvoluminous clouds\nvoluminous light and light rays\nvoluminous sleeves\nvolummetric light\nvoluptuous\nvoluptuous and arousing\nvoluptuous body\nvoluptuous figure\nvoluptuous male\nvoluptuous sesame seed bun\nvolymetric light\nvomit\nvomiting blood\nvon gogh\nvoodo decor\nvoodoo\nvoodoo hat\nvoodoo!!\nvoodoo”\nvoque\nvore\nvore art\nvore station borg hound\nvorestation borg hound\nvoroni diagram\nvoronoi\nvoronoi pattern\nvortex\nvortex of plum petals\nvortex portal banish the elders\nvortex river\nvortexes\nvostok-1\nvouge\nvouge italy\nvouge style photo\nvox machina\nvoxel\nvoxel art\nvoxel based world\nvoxelart\nvoxels\nvoynich manuscript\nvp of marketing\nvr\nvr game\nvr glasses\nvr goggles\nvr googles\nvr headset\nvr helmet\nvr helmet on man\nvr iridium visor\nvr sunglasses\nvray\nvray 4k\nvray 4k render\nvray 8k\nvray 8k render\nvray and arnold\nvray beautiful\nvray caustics\nvray cinematic smooth\nvray lighting\nvray octane\nvray render\nvray render 4 k\nvray render 4k\nvray rendered\nvray renderer\nvray rendering\nvray shading\nvray smooth\nvray tracing\nvray. subsurface scattering\nvraytracing\nvrchat\nvred\nvril\nvriska serket\nvrubel\nvs studio\nvsco\nvsco film grain\nvsevolod ivanov\nvshojo\nvst\nvsx\nvtm\nvtmb\nvtuber\nvue 3d render\nvue render\nvulcanic ground\nvulcano\nvulcaon machine gun\nvulgar\nvulture\nvultures\nvulvina queen of ecstasy\nvvitch\nvw bus on a street\nvw microbus driving\nvweto ii\nvxf movie\nvyverns\nvéronique meignaud\nw\nw 1 0 2 4\nw 1 9 2 0\nw 1024\nw 4 0 k\nw 40 k\nw 7 6 8\nw sieci\nwabi - sabi\nwabi sabi\nwacky\nwacky style\nwad file\nwadi rum\nwadim\nwadim kashin ultra realistic\nwadim kashin. ultra realistic\nwafflehouse\nwaifu\nwaikiki beach\nwaikiki beach skyline\nwaist - shot\nwaist - up\nwaist height\nwaist high\nwaist long hair\nwaist reaching ponytail\nwaist up\nwaist up portrait\nwaistcoat\nwaiting\nwaiting behind a wall\nwaiting patiently\nwaiting room\nwaiting to strike\nwaitress  girl\nwakanda\nwakanda background\nwake cyborgs from hypersleep\nwake initiated lucid dream\nwake up\nwake up samurai\nwakfu colors + symmetry\nwaking up\nwaldo\nwaldo from where's waldo\nwaldo in the top right of frame\nwales\nwalk\nwalk cycle\nwalk in a funeral procession\nwalkable\nwalking\nwalking above the clouds and fog\nwalking across ice planet\nwalking around in a forest\nwalking around in forest\nwalking at the garden\nwalking at the park\nwalking away\nwalking away from camera\nwalking away from the camera\nwalking boy\nwalking confidently\nwalking dead\nwalking down\nwalking down a marble stairwell\nwalking down a street\nwalking down the catwalk\nwalking in a bamboo forest\nwalking in a castle\nwalking in a forest\nwalking in forest\nwalking in high grass field\nwalking in the desert\nwalking in the forest\nwalking in the moon\nwalking in the wheat field\nwalking into a deep dark florest\nwalking on an old wood bridge\nwalking on grass\nwalking on ice\nwalking on the beach\nwalking on the sand\nwalking on the street\nwalking on top of a tiny city\nwalking on water\nwalking out of a the havens gate\nwalking out of flames\nwalking over a skeleton\nwalking over a tiny city\nwalking over sand dunes\nwalking over you\nwalking the wild west wastelands\nwalking through a field of wheat\nwalking through a forest\nwalking through a lush forest\nwalking through a lush jungle\nwalking through a suburb\nwalking through hell\nwalking through the forest\nwalking through the trees\nwalking to the right\nwalking to work\nwalking to work with a briefcase\nwalking together\nwalking toward you\nwalking towards camera\nwalking towards the camera\nwalking towards the full moon\nwalking towards you\nwalking up the sandy beach\nwalking upright in a forest\nwalking with a robot\nwalks down dark hallway\nwalkthrough\nwalkway\nwalkways\nwall\nwall - e\nwall ]\nwall art\nwall corner\nwall darkness\nwall full of small art painting\nwall hanging trophy taxidermy\nwall mural\nwall of eyes\nwall of water either side\nwall painting\nwall paper\nwall street\nwall structure\nwall to wall bookcases\nwall torches\nwall with colorful graffiti\nwall with graffiti\nwall wood fortress\nwall-e\nwallace and gromit\nwallpaper\nwallpaper - 1 0 2 4\nwallpaper - 1024\nwallpaper 4 k\nwallpaper 4k\nwallpaper aesthetic\nwallpaper anime blue water\nwallpaper art\nwallpaper background\nwallpaper d&d art\nwallpaper design\nwallpaper for monitor\nwallpaper hd\nwallpaper mobile\nwallpaper on the walls\nwallpaper pattern\nwallpaper splash art promo art\nwallpaper!\nwallpaperflare\nwallpapers\nwallpaper”\nwalls\nwalls are covered with vines\nwalls are made of dry wall\nwalls of large moving images\nwalls with tone of yellow\nwalmart\nwalnut wood\nwalnuts\nwalrus\nwalt disney  1937\nwalt disney ( 1 9 3 7 )\nwalt disney (1937)\nwalt disney 1937\nwalt disney animation studios\nwalt disney style\nwalt disney world\nwalter\nwalter black\nwalter everett\nwalter gropius\nwalter payton\nwalter popp\nwalter white\nwalter white action figure\nwalter white and jesse pinkman\nwalter white as a bodybuilder\nwalter white as a funko pop\nwalter white as a jedi\nwalter white as a mii\nwalter white as a muppet\nwalter white as batman\nwalter white as captain america\nwalter white as doctor strange\nwalter white as gordon freeman\nwalter white as joker\nwalter white as thanos\nwalter white as the joker\nwalter white as thor\nwalter white botanical poster\nwalter white crying\nwalter white door knocker\nwalter white fortnite skin\nwalter white from breaking bad\nwalter white funko pop\nwalter white gigachad\nwalter white hiding in a sewer\nwalter white in animal crossing\nwalter white in attack on titan\nwalter white in dark souls\nwalter white in fortnite\nwalter white in gta 5\nwalter white in gta v\nwalter white in minecraft\nwalter white in roblox\nwalter white in skyrim\nwalter white in super smash bros\nwalter white in team fortress 2\nwalter white in the simpsons\nwalter white in the walking dead\nwalter white in valorant\nwalter white made of water\nwalter white portrait\nwalter white realistic portrait\nwalter white smiling\nwalter womacka\nwalton ford\nwalton's five and dime\nwaluigi\nwaluigi as a real person\nwan adorable korean face\nwand\nwanda\nwanda maximoff\nwanderer\nwanderer above the sea of fog\nwanderers traveling from afar\nwandering\nwandering in the city\nwandering the desert landscape\nwanderlust\nwands\nwaneella\nwang liang\nwangechi mutu\nwaning moon\nwanted poster\nwaporware\nwar\nwar action\nwar and battle\nwar armor battle\nwar art\nwar blade weapon\nwar boys\nwar cry\nwar footage\nwar hero\nwar in background\nwar in ukraine\nwar journalism\nwar landscape\nwar machines from a gate in hell\nwar mechs fighting\nwar movie scene\nwar of colors\nwar of colorss\nwar of the worlds\nwar paint\nwar photo\nwar photograph\nwar photography\nwar robot\nwar scene\nwar scenery\nwar scenes\nwar theatre\nwar theme\nwar theme gauntlet\nwar thunder game\nwar torn\nwar zone\nwar-art style\nwarcaft art\nwarcore\nwarcraft\nwarcraft 3\nwarcraft 3 gameplay\nwarcraft architecture\nwarcraft artwork\nwarcraft blizzard weapon art\nwarcraft character\nwarcraft style\nwarehouse\nwarehouses\nwarfare\nwarforged\nwarforges\nwarframe\nwarframe and destiny fanart\nwarframe armor\nwarframe armor!!\nwarframe art\nwarframe concept art\nwarframe destiny\nwarframe destiny art\nwarframe destiny fanart\nwarframe fanart\nwarframe hound\nwarframe hound art\nwarframe infested art\nwarhammer\nwarhammer 4 0\nwarhammer 4 0 0 0\nwarhammer 4 0 0 0 0\nwarhammer 4 0 k\nwarhammer 4 0 k artwork\nwarhammer 4 0 k fantasy\nwarhammer 4 0 k setting\nwarhammer 4 0 k!!\nwarhammer 40\nwarhammer 40 k\nwarhammer 40 k fantasy\nwarhammer 40 k setting\nwarhammer 4000\nwarhammer 40000\nwarhammer 40000 in islam\nwarhammer 40000 space marine\nwarhammer 40k\nwarhammer 40k emperor of mankind\nwarhammer 40k setting\nwarhammer 40k style\nwarhammer 40k tyranid hormagaunt\nwarhammer 40k!!\nwarhammer 4k\nwarhammer art\nwarhammer chaos\nwarhammer emperium style\nwarhammer fantasy\nwarhammer fantasy art\nwarhammer fantasy battle\nwarhammer fantasy setting\nwarhammer fourty k\nwarhammer model\nwarhammer nagash haute couture\nwarhammer rogue trader\nwarhammer style\nwarhammer40k\nwarhammrer\nwaring a hawaiian shirt\nwario\nwario as the armored titan\nwarlock\nwarlock sumerge\nwarlord\nwarm\nwarm air\nwarm ambient light\nwarm ambient lighting\nwarm and calm\nwarm and cool colors\nwarm and gentle smile\nwarm and happy\nwarm and joyful atmosphere\nwarm and soft and subdued colors\nwarm and vibrant colors\nwarm atmosphere\nwarm azure tones\nwarm beautiful scene\nwarm bright white light\nwarm brown eyes\nwarm cinematic lighting\nwarm color\nwarm color clothes\nwarm color gradient\nwarm color highlights\nwarm color palate\nwarm color palette\nwarm color scheme\nwarm color scheme art rendition\nwarm color to move\nwarm color tone\nwarm colored furniture\nwarm colors\nwarm colors advance\nwarm colors scheme\nwarm colors--seed 1242253951\nwarm colour palette\nwarm colour scheme\nwarm coloured\nwarm colours\nwarm cosy colors\nwarm deep colours\nwarm dim light\nwarm dynamic lighting\nwarm fantasy lighting\nwarm features\nwarm fireplace\nwarm friendly expression\nwarm friendly face\nwarm glow\nwarm glow coming the ground\nwarm glow from the lights\nwarm golden backlit\nwarm hue\nwarm hue's\nwarm hues\nwarm illumination\nwarm interior\nwarm interiors\nwarm lantern lighting\nwarm light\nwarm lighting\nwarm lighting inside\nwarm lighting interior\nwarm lighting with cool shadows\nwarm lighting. movie poster\nwarm lightning\nwarm lights\nwarm living room\nwarm mood\nwarm moody lighting\nwarm muted colors\nwarm natural lighting\nwarm orange lighting\nwarm pink living room\nwarm saturated colors\nwarm saturated colours\nwarm saturated palette\nwarm saturatured colors\nwarm shades of blue\nwarm shading\nwarm shiny colors\nwarm skin tone\nwarm smile\nwarm space\nwarm spring\nwarm street lights store front\nwarm studio lighting\nwarm summer nights\nwarm sundown\nwarm sunlight shining in\nwarm sunset colors\nwarm sunshine\nwarm theme\nwarm tone\nwarm tone and ( cold tone )\nwarm tone gradient background\nwarm toned gradient background\nwarm tones\nwarm tri - color\nwarm volumetric lighting\nwarm volumetric lights\nwarm weather\nwarm wood\nwarm yellow lighting\nwarm yellow lights\nwarmer and softer colours\nwarmer colours\nwarmhole\nwarmly lit\nwarmly lit posh study\nwarmth\nwarning\nwarning lights\nwarp\nwarp lightning\nwarpaint aesthetic\nwarped\nwarped flesh\nwarped perspectives\nwarped reality\nwarped vhs\nwarpgate\nwarping\nwarping time and space\nwarrior\nwarrior armor and weapons\nwarrior body\nwarrior cats\nwarrior cats book series\nwarrior cats fan art\nwarrior character design\nwarrior dnd character\nwarrior dress\nwarrior face painting red\nwarrior fighting in a dark scene\nwarrior girl\nwarrior holding two swords\nwarrior in sci-fi armour\nwarrior man\nwarrior of light\nwarrior outfit\nwarrior platinum armor\nwarrior princess\nwarrior queen\nwarrior with metal owl armour\nwarrior woman\nwarriors\nwarriors and adventurers\nwarriors fan art\nwarsaw\nwarship\nwarships\nwartime footage\nwartorn\nwartorn environment\nwartorn landscape\nwarts\nwarwick saint\nwarzone\nwarzone background\nwash\nwash off in the rain\nwashed colors\nwashed out\nwashed out background\nwashed out color\nwashed out colors\nwashed up\nwashed-out\nwashing her dark long hair\nwashing machine\nwashington\nwashington crossing the delaware\nwashington dc\nwashington main street\nwashington state\nwashy brush\nwasily kandinsky\nwasp\nwasps\nwaste\nwaste everywhere\nwaste processing machinery\nwasteland\nwastelands\nwataru kajika\nwatch dogs game\nwatch photo\nwatch tower\nwatched\nwatcher\nwatches\nwatching\nwatching new york\nwatching night streets\nwatching the stars\nwatching the stars at night\nwatching the sun set. anime\nwatching the sunset\nwatching tv\nwatchmen\nwatchmen comics color scheme\nwatedrops\nwater\nwater - logged\nwater and power\nwater armor\nwater art manipulation\nwater art photoshop\nwater background\nwater bear\nwater bottle queen\nwater bottles\nwater bubble\nwater bubbles\nwater cascading\nwater caustics\nwater color\nwater color and pen\nwater color art on paper\nwater color nendoroid\nwater color on paper\nwater color painting\nwater color paper\nwater color splash\nwater colors\nwater colour\nwater colour 8k\nwater coming out of windows\nwater covers everything\nwater cuastics\nwater damage\nwater demon\nwater dragon\nwater dripping\nwater dripping from ceiling\nwater dripping off him\nwater droplet\nwater droplets\nwater droplets frozen in time\nwater droplets on lens\nwater drops\nwater drops on the lense\nwater element\nwater elemental\nwater everwhere fantasy\nwater everywhere\nwater eyes\nwater fairy\nwater fall\nwater falls\nwater feature\nwater fists of fury\nwater flow\nwater flowing\nwater flowing through the sewer\nwater flows inside the terrarium\nwater fog\nwater fountain\nwater gushing from ceiling\nwater in background\nwater is made of stardust\nwater jets\nwater landscape\nwater levels\nwater light scattering\nwater lilies\nwater line surface\nwater manipulation\nwater manipulation photoshop\nwater mirrored water\nwater mist\nwater mists\nwater on lens\nwater on the floor\nwater paint\nwater painting\nwater park\nwater particle in front\nwater particles\nwater particulate\nwater particules\nwater pipe\nwater powers water swirling\nwater puddles\nwater reflecting suns light\nwater reflection\nwater reflection on the floor\nwater reflection!!!!!\nwater reflections\nwater refractions\nwater refractions!!\nwater reservoir\nwater ripples\nwater running down the walls\nwater splash\nwater splashes\nwater splashes cascades\nwater splashing\nwater splashing cascading\nwater spray\nwater sprites\nwater stains\nwater stream\nwater surrounds the ship\nwater swirling\nwater temple\nwater texture\nwater to waist\nwater to waste\nwater tornado in the city\nwater torrent background\nwater type\nwater water\nwater wheel\nwater world\nwater-cooled\nwatercolor\nwatercolor and ink\nwatercolor and pen\nwatercolor art\nwatercolor art on paper\nwatercolor artstyle\nwatercolor artwork of exotic\nwatercolor background\nwatercolor colored painting\nwatercolor detailed art\nwatercolor digital painting\nwatercolor drawing\nwatercolor effect\nwatercolor expressionism\nwatercolor expressionist\nwatercolor illustration\nwatercolor illustration style\nwatercolor ink\nwatercolor ink illustration\nwatercolor ink painting\nwatercolor inpaint\nwatercolor landscape\nwatercolor masterpiece\nwatercolor on canvas\nwatercolor on paper\nwatercolor paint\nwatercolor painting\nwatercolor painting style\nwatercolor painting underwater\nwatercolor paper\nwatercolor pen drawing\nwatercolor pencil + ink drawing\nwatercolor sketch\nwatercolor splash\nwatercolor strokes\nwatercolor style\nwatercolor technique\nwatercolor texture\nwatercolor wash\nwatercolor wash over inks\nwatercolor-wash\nwatercolored\nwatercolors\nwatercolors and acrylics\nwatercolors on canvas\nwatercolour\nwatercolour on paper\nwatercolour painting\nwatercolour realism\nwatercolour realistic\nwatercolours\nwatercooling\nwatercore\nwaterdeep\nwaterfall\nwaterfall backdrop\nwaterfall background\nwaterfall below\nwaterfall cascades\nwaterfall cave\nwaterfall falling down\nwaterfall falling into a lake\nwaterfall flowing from the stone\nwaterfall in asteroid field\nwaterfall in background\nwaterfall in distance\nwaterfall in the background\nwaterfall walls\nwaterfall!!!!!\nwaterfall(beautiful\nwaterfall. fog\nwaterfalls\nwaterfalls and lakes\nwaterfalls in distance\nwaterfalls in the background\nwaterfals\nwaterfront houses\nwaterhouse\nwatering can\nwaterlily mecha nymphaea\nwaterlily pads\nwaterlily pond\nwaterline refractions\nwatermark\nwatermark:-1\nwatermarked\nwatermelon\nwatermeloncore\nwatermelons\nwaterpaint art\nwaterscape\nwatertank\nwaterway\nwaterways\nwaterwheels\nwatery\nwatery black eyes\nwatery blue eyes\nwatery caverns\nwatery crystal glow eyed\nwatery doe eyes\nwatery eyes\nwatery red eyes\nwave\nwave a hand at the camera\nwave breaking\nwave frequencies\nwave function\nwave of water particles\nwaveforms on top of square chart\nwaves\nwaves and particles\nwaves and splashes\nwaves crashing\nwaves crashing at rocks\nwaves crashing in the sea\nwaves of energy\nwaves of lights\nwaving\nwaving and smiling\nwaving arms\nwaving at the camera\nwaving hands\nwaving robe movement\nwavy\nwavy and short top hair\nwavy beautiful hair\nwavy big red hair\nwavy black hair\nwavy blond hair\nwavy hair\nwavy hair combed to one side\nwavy hair spread out\nwavy hair yellow theme\nwavy hairstyle\nwavy lingeries\nwavy long - length black hair\nwavy long black hair\nwavy long black hair and glasses\nwavy short hair\nwavy short hazel hair\nwavy shoulder-length hair\nwavy vibrant red hair\nwavy water\nwavy white long hair\nwaw\nwax\nwax figure\nwax skin\nwaxed\nwaxed beard\nwaxing moon\nwaxy\nwaxy candles\nwaxy skin\nway of kings\nwayne\nwayne - barlowe\nwayne - coyne\nwayne barlove\nwayne barlow\nwayne barlowe and artem demura\nwayne barlowe and james gilleard\nwayne barlowe concept art\nwayne barlowe detailed\nwayne barlowe greg rutkowski\nwayne barlowe pierre pellegrini\nwayne barlowe's inferno\nwayne barlowes inferno\nwayne douglas barlowe\nwayne haag\nwe\nwe all need control\nwe can do it\nwe can see the sea\nwe dehumanize ourselves\nwe didn't start the fire\nwe go\nwe see them from head to toe\nwe'll fall to pieces\nwe're all very tired\nweak\nweak and weary\nweak demon\nwealth\nwealthy\nwealthy women\nweapon\nweapon concept art\nweapon damage\nweapon design\nweapon shop interior\nweaponized\nweaponry concept designs\nweapons\nweapons and armors\nweapons arrays\nweapons concept art\nweapons in hand\nwear an elegant mustach\nwear and tear\nwear ray - ban glass\nwear spacesuits\nwear's beige shirt\nwearable art\nweared in leather armor\nwearing\nwearing 1 8 5 0 s clothes\nwearing 1 8 5 0 s era clothes\nwearing 1 8 6 0 s clothes\nwearing 1 9 2 0 s cloth hair\nwearing 1 9 2 0 s fashion\nwearing 1840s era clothes\nwearing 1850 s clothes\nwearing 1850 s era clothes\nwearing 1850s era clothes\nwearing 1860 s clothes\nwearing 1860s era clothes\nwearing 1890s era clothes\nwearing 3 d glasses\nwearing 3d glasses\nwearing : tanktop\nwearing a backwards baseball cap\nwearing a baggy\nwearing a baggy pajamas\nwearing a bandana and chain\nwearing a barca cape\nwearing a baseball cap\nwearing a baseball cap backwards\nwearing a baseball hat\nwearing a beanie\nwearing a bejeweled mask\nwearing a beret\nwearing a bikini\nwearing a black and red suit\nwearing a black blazer\nwearing a black bodysuit\nwearing a black catsuit\nwearing a black cloak\nwearing a black cropped tank top\nwearing a black dress\nwearing a black hoodie\nwearing a black jacket\nwearing a black leather jacket\nwearing a black leather vest\nwearing a black noble suit\nwearing a black robe\nwearing a black shirt\nwearing a black suit\nwearing a black sweater\nwearing a black t-shirt\nwearing a black tshirt\nwearing a black!! t - shirt\nwearing a blazer\nwearing a blouse\nwearing a blue berries\nwearing a blue dress\nwearing a blue hoodie\nwearing a blue jacket\nwearing a blue qipao dress\nwearing a blue robe\nwearing a bomber jacket\nwearing a bone gas mask\nwearing a botanical gas mask\nwearing a bowler hat\nwearing a brown\nwearing a brown cape\nwearing a brown leather coat\nwearing a bunny suit\nwearing a business suit\nwearing a camisole\nwearing a camisole and boots\nwearing a camisole and shorts\nwearing a cape\nwearing a cardigan\nwearing a chain\nwearing a chocker and cute hat\nwearing a cloak\nwearing a cocktail dress\nwearing a colorful coogi sweater\nwearing a colorful men's suit\nwearing a colorful mens suit\nwearing a colorful yukata\nwearing a cowboy hat\nwearing a crop top\nwearing a cropped black tank top\nwearing a cropped top\nwearing a cropped tops\nwearing a crown\nwearing a crown and cape\nwearing a crown and green cape\nwearing a crown and suit\nwearing a crown made of antlers\nwearing a crown of vines\nwearing a cute hat\nwearing a cute top\nwearing a cute white dress\nwearing a dark armor\nwearing a dark blue polo shirt\nwearing a dark dress\nwearing a dark heavy plate armor\nwearing a dark hood\nwearing a dark shirt and jeans\nwearing a dark sweater\nwearing a designer top\nwearing a diamond crown\nwearing a dragon mask\nwearing a dress\nwearing a dress made of beads\nwearing a dress made of stars\nwearing a dress made of vines\nwearing a dress made of water\nwearing a dress of gossamer gold\nwearing a duster coat\nwearing a fancy black jacket\nwearing a fancy dress\nwearing a fancy jacket\nwearing a feather dress\nwearing a fedora\nwearing a fisher 🧥\nwearing a flannel shirt\nwearing a floral crown\nwearing a flower headpiece\nwearing a flowing cloak\nwearing a flowing dress\nwearing a flowing sundress\nwearing a flying jacket\nwearing a formal dress\nwearing a french beret\nwearing a full leather outfit\nwearing a full-head gasmask\nwearing a fur coat\nwearing a gaming headset\nwearing a gas mask\nwearing a general\\'s uniform\nwearing a gold chain\nwearing a golden crown\nwearing a golden halo\nwearing a gothic dress\nwearing a green cloak\nwearing a green sweater\nwearing a grey fur robe\nwearing a grey hooded sweatshirt\nwearing a grey robe\nwearing a grey wizard hat\nwearing a haori\nwearing a hat\nwearing a hawaiian dress\nwearing a head scarf\nwearing a headband\nwearing a headset\nwearing a helmet\nwearing a hood\nwearing a hood with pointy ears\nwearing a hooded cloak\nwearing a hoodie\nwearing a hoodie and flowers\nwearing a hoodie and sweatpants\nwearing a hoody\nwearing a hospital gown\nwearing a jeans jackets\nwearing a kilt\nwearing a kimono\nwearing a king's cape\nwearing a kitsune mask\nwearing a kurta\nwearing a lab coat\nwearing a labcoat\nwearing a laurel wreath\nwearing a leather flight jacket\nwearing a leather jacket\nwearing a leather trench coat\nwearing a lemon\nwearing a light - pink suit\nwearing a light blue shirt\nwearing a light blue suit\nwearing a light grey crown\nwearing a light shirt\nwearing a linen shirt\nwearing a long beige trench coat\nwearing a long coat\nwearing a long dress\nwearing a long flowery dress\nwearing a long flowing robe\nwearing a long flowy fabric\nwearing a low cut tanktop\nwearing a luxurious cloak\nwearing a luxurious royal cloak\nwearing a luxurious silk cloak\nwearing a luxurious silk robe\nwearing a luxurious velvet robe\nwearing a luxury fur coat\nwearing a magnificent dress\nwearing a marijuana t - shirt\nwearing a mask\nwearing a melon\nwearing a military uniform\nwearing a modern yellow tshirt\nwearing a monocle\nwearing a muscle tee shirt\nwearing a native american choker\nwearing a navy blue utility cap\nwearing a neon blue hoodie\nwearing a neon green dress\nwearing a nightgown\nwearing a noblewoman's outfit\nwearing a noblewomans outfit\nwearing a noh theatre mask\nwearing a paper crown\nwearing a parker\nwearing a party hat\nwearing a pastel pink hoodie\nwearing a patch over one eye\nwearing a pink ballroom gown\nwearing a pink dress\nwearing a pink head band\nwearing a pink hoodie\nwearing a pink rabbit costume\nwearing a pink romantic tutu\nwearing a pink tutu\nwearing a pink tux\nwearing a pinstripe suit\nwearing a plaid shirt\nwearing a plastic blue dress\nwearing a plastic garbage bag\nwearing a plug suit\nwearing a police uniform\nwearing a punk outfit\nwearing a purple breton cap\nwearing a purple cap\nwearing a purple detailed coat\nwearing a purple frock coat\nwearing a purple smoking jacket\nwearing a purple sweatsuit\nwearing a red backwards cap\nwearing a red cape\nwearing a red captain's uniform\nwearing a red cheongsam\nwearing a red dress\nwearing a red gilet\nwearing a red hoodie\nwearing a red lumberjack shirt\nwearing a red outfit\nwearing a red plaid dress\nwearing a red sundress\nwearing a red turtleneck sweater\nwearing a robe\nwearing a round helmet\nwearing a royal robe\nwearing a santa hat\nwearing a sari\nwearing a scarf\nwearing a scarlet hoodie\nwearing a school soccer uniform\nwearing a school uniform\nwearing a sexy cropped top\nwearing a shirt\nwearing a shirt and a jean\nwearing a shirt with a tie\nwearing a silk kurta\nwearing a silly hat\nwearing a simple robe\nwearing a skeleton armor\nwearing a skirt\nwearing a space helmet\nwearing a space suit\nwearing a spacesuit and helmet\nwearing a sparkling dress\nwearing a steampunk sari\nwearing a stop sign on its head\nwearing a straw hat and overalls\nwearing a strict business suit\nwearing a stylish men's suit\nwearing a suit\nwearing a suit and a tie\nwearing a suit and glasses\nwearing a suit and tie\nwearing a suit of armour\nwearing a suits\nwearing a sun dress\nwearing a sundress\nwearing a sweater\nwearing a t-shirt\nwearing a tank top and shorts\nwearing a tanktop\nwearing a tanktop and skirt\nwearing a tee shirt and combats\nwearing a tiara\nwearing a tie-dye shirt\nwearing a tie-dye t-shirt\nwearing a tight black dress\nwearing a toga\nwearing a toga and sandals\nwearing a top hat\nwearing a tophat\nwearing a towel\nwearing a track suit\nwearing a tracksuit\nwearing a travel hat\nwearing a trenchcoat\nwearing a tudor style dress\nwearing a turban\nwearing a turtleneck and jacket\nwearing a tutu\nwearing a tuxedo\nwearing a veil\nwearing a velvet cloak\nwearing a velvet robe\nwearing a vest\nwearing a vest and a tie\nwearing a vest top\nwearing a volleyball jersey\nwearing a vr headset\nwearing a vr-headset\nwearing a waistcoat\nwearing a watch\nwearing a wedding dress\nwearing a wet white short dress\nwearing a white bathing cap\nwearing a white bikini\nwearing a white blouse\nwearing a white button up shirt\nwearing a white dress\nwearing a white flowing dress\nwearing a white folkdrakt dress\nwearing a white gi\nwearing a white hospital gown\nwearing a white lab coat\nwearing a white robe\nwearing a white shirt\nwearing a white sundress\nwearing a white sweater\nwearing a white tuxedo\nwearing a white winter coat\nwearing a witch hat\nwearing a wizard cloak\nwearing a wizard hat\nwearing a wonderful dress\nwearing a worn out brown suit\nwearing a worn out suit\nwearing a yellow dress\nwearing a yellow hoodie\nwearing accurate clown makeup\nwearing acne outfit\nwearing adidas clothing\nwearing adventure gear\nwearing adventuring gear\nwearing all black mempo mask\nwearing along white dress\nwearing amazing clothes\nwearing an academic gown\nwearing an african dress\nwearing an ammo belt\nwearing an apron\nwearing an armor\nwearing an astronaut helmet\nwearing an aviator jacket\nwearing an egyptian crown\nwearing an elaborate helmet\nwearing an elegant dress\nwearing an elegant outfit\nwearing an elegant tribal outfit\nwearing an evening gown\nwearing an eye patch\nwearing an eyepatch\nwearing an old tunic\nwearing an orange jumpsuit\nwearing an orange t shirt\nwearing an orange t-shirt\nwearing an ornate outfit\nwearing an ornate suit\nwearing an oversized hoodie\nwearing an oversized sweater\nwearing ancient armor\nwearing ancient chinese clothes\nwearing ancient cimmerian armor\nwearing angel\nwearing angel halo\nwearing angel halo covered face\nwearing animal skin clothing\nwearing apocalyptic clothes\nwearing aristocrat robe\nwearing armor\nwearing armor!\nwearing armor!!\nwearing armour\nwearing astronaut outfit\nwearing atompunk jumpsuit\nwearing atsuko kudo latex outfit\nwearing authentic attire\nwearing bandit mask\nwearing barbarian caveman pelt\nwearing barn owl mask\nwearing baseball cap\nwearing basketball jersey\nwearing battle armor\nwearing beanie\nwearing beautiful clothes\nwearing big black circle glasses\nwearing bihu dress mekhela sador\nwearing bikini\nwearing bionic implants\nwearing bizarre clown makeup\nwearing black\nwearing black and purple robes\nwearing black armor\nwearing black boots\nwearing black business suit\nwearing black camisole outfit\nwearing black choker\nwearing black clothes\nwearing black clothes and cape\nwearing black coat\nwearing black dress\nwearing black dress and hat\nwearing black frame glasses\nwearing black glasses\nwearing black grey suit\nwearing black headphones\nwearing black hooded cloak\nwearing black latex outfit\nwearing black leather trenchcoat\nwearing black medieval robes\nwearing black modern clothes\nwearing black old dress and hat\nwearing black open toe heels\nwearing black overcoat\nwearing black rimmed glasses\nwearing black robe\nwearing black robes\nwearing black shorts\nwearing black silk robe\nwearing black silk robes\nwearing black sith robes\nwearing black sith uniform\nwearing black stylish clothing\nwearing black suit\nwearing black tight clothing\nwearing black tshirt\nwearing black vest and skirt\nwearing black witch hat\nwearing black wizard robes\nwearing blue\nwearing blue dress\nwearing blue jacket\nwearing blue jean overalls\nwearing blue robe\nwearing blue sunglasses\nwearing bone armor\nwearing boots\nwearing bra\nwearing brown jedi robes\nwearing brown leather jacket\nwearing brown robes\nwearing bullet-riddled armor\nwearing business casual dress\nwearing business suit\nwearing camo\nwearing cargo pants\nwearing casual clothes\nwearing casual clothing\nwearing casual sweater\nwearing cat ear headphones\nwearing causal black suits\nwearing cave man clothes\nwearing celtic tattoos\nwearing chain mail\nwearing chainmail armor\nwearing chains\nwearing choker\nwearing cloak\nwearing cloak and hood\nwearing cloak on blasted plain\nwearing clothes\nwearing clown makeup\nwearing collar\nwearing collar on neck\nwearing cool sunglasses\nwearing correct era clothes\nwearing corset\nwearing cowboy hat\nwearing crop top\nwearing crop top and miniskirt\nwearing cross on robe\nwearing crown\nwearing crown of bright feathers\nwearing crystal fractal tiara\nwearing cultist red robe\nwearing cybernetic bunny ears\nwearing cyberpunk 2 0 7 7 jacket\nwearing cyberpunk 2077 jacket\nwearing cyberpunk leather jacket\nwearing cyberpunk streetwear\nwearing cylinder hat\nwearing daedric armour\nwearing dark blue suit\nwearing dark cloak\nwearing dark green bomber jacket\nwearing dark green robes\nwearing dark grey suit\nwearing dark maritime clothing\nwearing dark purple armor\nwearing dark robe\nwearing dark robes\nwearing dark silk\nwearing dark silk robe\nwearing dark victorian goggles\nwearing demobaza fashion\nwearing denim\nwearing denim short shorts\nwearing desert poncho\nwearing detailed leather collar\nwearing diamond armor\nwearing dirty flight suit\nwearing dirty overalls\nwearing dirty ripped flight suit\nwearing dirty soldier uniform\nwearing dirty travelling clothes\nwearing disco suit\nwearing double denim\nwearing dramatic aristocrat robe\nwearing dress\nwearing dresses\nwearing elaborate green and gold\nwearing elegant casual clothes\nwearing elegant jewellery\nwearing elegant tudor clothes\nwearing epic bionic implants\nwearing eye shadow\nwearing eyeglasses\nwearing facemask\nwearing facemask and sunglasses\nwearing fancy clothes\nwearing fantasy armor\nwearing fantasy clothing\nwearing fantasy formal clothing\nwearing farm clothes\nwearing fashion clothing\nwearing fashion suit\nwearing festive clothing\nwearing fishnets\nwearing fitness gear\nwearing flight suit\nwearing floral chiton\nwearing flowing robes\nwearing fluffy black scarf\nwearing fuchsia silk robe\nwearing full armour\nwearing full metal armour\nwearing full plate armor\nwearing fur armor\nwearing fur cloak\nwearing futuristic\nwearing futuristic armor\nwearing futuristic clothing\nwearing futuristic space gear\nwearing futuristic white suit\nwearing gaming headset\nwearing gas mask helmets\nwearing gas masks\nwearing giant paper masks\nwearing gilded red robes\nwearing gilded red royal robes\nwearing gilded ribes\nwearing gilded robes\nwearing glack glasses\nwearing glasses\nwearing gloves\nwearing goggles\nwearing gold armor\nwearing gold chain\nwearing gold detailed choker\nwearing gold glasses\nwearing gold jewellery\nwearing golden armor\nwearing golden cat armor\nwearing golden crown\nwearing golden laurel wreath\nwearing golf shorts\nwearing gorgeous clothing\nwearing goth makeup\nwearing gothic accessories\nwearing greek palla\nwearing green\nwearing green armor and helmet\nwearing green battle armor\nwearing green cloak\nwearing green clothing\nwearing green jacket\nwearing green suit\nwearing green tophat\nwearing gui\nwearing hair\nwearing hair bow\nwearing hakama\nwearing hat\nwearing hay coat\nwearing headmistress uniform\nwearing headphones\nwearing headset\nwearing heavy armor\nwearing heavy armor with cape\nwearing heels and white dress\nwearing helmet\nwearing her helmet\nwearing hero costume\nwearing hi vis clothing\nwearing hogwarts!!! robes!!!\nwearing honey\nwearing honey - themed miniskirt\nwearing hood\nwearing hoodie\nwearing hoods\nwearing huge golden crown\nwearing huge straw hat\nwearing human air force jumpsuit\nwearing hunter coat\nwearing ice crystals\nwearing imperial gear\nwearing in a summer dress\nwearing in black cloak\nwearing in black clothes\nwearing in cardigan\nwearing in shirt\nwearing in stocking\nwearing inka clothes\nwearing intricate\nwearing intricate black choker\nwearing intricate fur armor\nwearing intricate steel armor\nwearing ivory colour dress\nwearing jacket\nwearing jacket and skirt\nwearing japanese school uniform\nwearing japanese techwear\nwearing jeans\nwearing jeans and a black hoodie\nwearing jedi robes\nwearing jedi robes and a sari\nwearing jetpack\nwearing jewellery\nwearing jewelry\nwearing kimono\nwearing kimono armor\nwearing kimono armour\nwearing kings crown\nwearing knee and elbow pads\nwearing kneesocks\nwearing knight  s armor\nwearing knight armor\nwearing knight ’ s armor\nwearing lab coat\nwearing lab coat and a blouse\nwearing lab coat and glasses\nwearing labradorite body armor\nwearing labradorite veils\nwearing latex\nwearing leaf cloak\nwearing leather\nwearing leather armor\nwearing leather armored vest\nwearing leather assassin armor\nwearing leather bikini\nwearing leather coat\nwearing leather jacket\nwearing leather swim suite\nwearing leotard\nwearing light\nwearing loincloth\nwearing long black winter coat\nwearing long gown\nwearing long royal robe\nwearing long silver robes\nwearing long white robe\nwearing louis vuitton armor\nwearing mage robes\nwearing maid uniform\nwearing many medallions\nwearing mask\nwearing mass effect armor\nwearing medieval clothes\nwearing medium - sized glasses\nwearing metal gauntlet\nwearing military outfit\nwearing military shoes\nwearing military uniform\nwearing mirrored sunglasses\nwearing modern glasses\nwearing modern gothic clothes\nwearing modern headphone\nwearing monster hunter armor\nwearing nanotech honeycomb robe\nwearing nba jersey\nwearing netrunner clothing\nwearing newsboy cap\nwearing nike air mags\nwearing noh theatre mask\nwearing norse armor\nwearing nothing\nwearing oakley sunglasses\nwearing off - white style\nwearing only a green robe\nwearing only pants\nwearing open toe heels\nwearing orange prison jumpsuit\nwearing orange sundress\nwearing orange sunglasses\nwearing organza gown\nwearing ornate armor\nwearing ornate clothing\nwearing ornate earrings\nwearing ornate helmet\nwearing ornate silk clothes\nwearing overalls\nwearing pajamas\nwearing pants\nwearing pants and a t-shirt\nwearing pearl earrings\nwearing pearl neon bikini\nwearing pink flip flops\nwearing pink floral chiton\nwearing pink floral gown\nwearing pink hair bow\nwearing pink romantic tutu\nwearing plaid shirt\nwearing plate armor\nwearing plate armour\nwearing plumber uniform\nwearing pointed hoods\nwearing polo shirt\nwearing presidential band\nwearing prison jumpsuit\nwearing professional makeup\nwearing psychedelic wicca\nwearing punk clothing\nwearing purple corset and tutu\nwearing purple headphones\nwearing purple romantic tutu\nwearing purple strapless dress\nwearing purple undershirt\nwearing ragged clothing\nwearing rainbow kimono\nwearing reading glasses\nwearing red\nwearing red and yellow clothes\nwearing red and yellow hero suit\nwearing red attire\nwearing red clothes\nwearing red converse shoes\nwearing red dress\nwearing red formal attire\nwearing red fur\nwearing red fur cloak\nwearing red jacket\nwearing red robes\nwearing red shorts\nwearing red sorcerer's robes\nwearing red sorcerers robes\nwearing red tainted glasses\nwearing red tank top\nwearing ripped dirty flight suit\nwearing robe\nwearing robes\nwearing robes and neckties\nwearing robes of silver\nwearing round glasses\nwearing royal kimono\nwearing rr diner uniform\nwearing russian ww 1 clothes\nwearing samcrow leather jacket\nwearing samurai armor\nwearing santa hat\nwearing sari\nwearing school uniform\nwearing sci - fi cloak with hood\nwearing sci-fi armor\nwearing sculpted textured armor\nwearing sculpted textured armour\nwearing seashell attire\nwearing several pendants\nwearing sexy lingerie\nwearing shades\nwearing shining armor\nwearing shining plate armor\nwearing shiny black goggles\nwearing shiny breastplate\nwearing shiny gold catsuit\nwearing shiny stormtrooper armor\nwearing shipibo tattoos\nwearing shirts\nwearing shorts\nwearing shorts and t shirt\nwearing shoulder cape\nwearing silver dress\nwearing silver hair\nwearing silver silk robe\nwearing simple robes\nwearing sith hood\nwearing skate helmet\nwearing skating helmet\nwearing skirt\nwearing skirt and high socks\nwearing sleek armor\nwearing small round glasses\nwearing sombrero\nwearing space techwear\nwearing spandex bikini\nwearing spikes and piercings\nwearing spiky\nwearing square glasses\nwearing star filled mage robes\nwearing steampunk attire\nwearing steampunk top hat\nwearing steel collar\nwearing stockings\nwearing stockings. side-view\nwearing stormtrooper armor!!\nwearing straw hat\nwearing strawberry backpack\nwearing stripe shirt\nwearing studded leather\nwearing studded leather armor\nwearing stunning ivory dress\nwearing suit\nwearing suit and tie\nwearing suit vest\nwearing suits\nwearing suits!\nwearing sundress\nwearing sunglasses\nwearing sunglasses and a cap\nwearing sunglasses and a hat\nwearing sweater\nwearing sweatshirt\nwearing tactical gear\nwearing tall combat boots\nwearing tank top\nwearing tanktop\nwearing teal beanie\nwearing techwear and armor\nwearing thanos armour\nwearing the number 1 headband\nwearing thin large round glasses\nwearing thunder armor\nwearing tiara\nwearing tight shirt\nwearing tight simple clothes\nwearing tight suit\nwearing toga\nwearing top hat\nwearing torn clothes\nwearing torn white cape\nwearing track and field suit\nwearing traditional garb\nwearing translucent sheet\nwearing translucent veils\nwearing transparent glass mask\nwearing trenchcoat\nwearing tribal armor\nwearing tumultus flames\nwearing turtleneck\nwearing tuxedo\nwearing two - piece swimsuit\nwearing two metallic rings\nwearing two silver bracelets\nwearing two silver bracelets!\nwearing unusual clothes\nwearing urban techwear\nwearing v - neck top\nwearing versace sunglasses\nwearing vibrant boxing gloves\nwearing victorian brass goggles\nwearing victorian clothes\nwearing victorian dark goggles\nwearing victorian goggles\nwearing victorian rags\nwearing viking clothes\nwearing vr\nwearing vr glasses\nwearing vr goggles\nwearing waistcoat\nwearing war paint\nwearing wheat yellow gauze\nwearing white camisole\nwearing white chef hat\nwearing white clothes\nwearing white cloths\nwearing white dress\nwearing white leotard\nwearing white pajamas\nwearing white robe\nwearing white robes\nwearing white robes!\nwearing white shirt\nwearing white silk\nwearing white silk hood\nwearing white silk robe\nwearing white skirt\nwearing white sneakers\nwearing white suit\nwearing white suit and glasses\nwearing white tights\nwearing white v - neck top\nwearing wide sunhat\nwearing winged helmet\nwearing witchblade armor\nwearing wizard hats\nwearing wizard robes\nwearing wooden mask\nwearing wool hat\nwearing wool suit\nwearing xena armor\nwearing yellow croptop\nwearing yellow floral blouse\nwearing! robes!! of silver\nwearing!!! clothes!!!\nwears a destroyed hat\nwears a egyptian ankh necklace\nwears a light grey crown\nwears a long robe\nwears a spacesuit\nwears a suit of power armor\nwears a watch\nwears brown boots\nwears glasses\nwears oprah glasses\nwears shorts\nwears the ankh symbol\nwears tiny spacesuit\nweary\nweary inside\nweasel\nweasel - ferret - stoat\nweasel - ferret - stoat )\nweasel - ferret - stoat ) ]\nweather\nweather photography\nweather report\nweather report style\nweathered\nweathered artifacts\nweathered concrete\nweathered drawing\nweathered face\nweathered olive skin\nweathered pages\nweathered polaroid\nweathered skin\nweathered surfaces\nweathered ultra detailed\nweathering armor plating\nweathering with you\nweave\nweaving\nweb\nweb 3. 0\nweb design\nweb of life\nweb of tendrils\nwebbing\nwebcam\nwebcam footage\nwebcam screenshot\nwebcomic\nwebdesign icon for solar carport\nwebgl render\nwebs\nwebsite\nwebsite banner\nwebsite screenshot\nwebtoon\nwebtoons\nwedding\nwedding dress\nwedding photo\nwedding photography\nwedjat eye\nwednesday addams\nwee whelp\nweeb\nweed\nweed background\nweed cutie mark\nweeds\nweeds and grass\nweeds and ivy on the graves\nweekly\nweenie\nweeping angels\nweeping tears of black oil\nweeping willows\nweeping willows and flowers\nwei wang\nweibo\nweightless\nweightless in space\nweightlessness\nweird\nweird abstract\nweird alien trees\nweird americana\nweird and disturbing\nweird angles\nweird art\nweird art on the wall\nweird art piece\nweird atmosphere\nweird camera angle\nweird creatures\nweird expressionist pose\nweird fashion\nweird planet\nweird pokemon\nweird portrait angle\nweird scribbles\nweird silly thing with big eyes\nweird simple fungus and tendrils\nweird skies\nweird space\nweird stuff\nweird stylish avant garde epic\nweird west\nweirdcore\nweirdcore voidpunk fursona\nwelcome\nwelcome to night vale\nwelcome to the circus\nwelcome to the matrix\nwelcome to wonderland\nwelcoming\nwelcoming attitude\nwelcoming grin\nwelcoming smile\nwelder wings\nwelding helmet head\nwelding torches for arms\nweldon casey\nwell\nwell - appointed space\nwell - decorated\nwell - designed\nwell - designed digital art\nwell - detailed outfit\nwell - drawn\nwell - dressed\nwell - lit\nwell - rendered\nwell armored\nwell armored mech dragon\nwell balanced composition\nwell built\nwell centered\nwell composed\nwell contoured smooth fair skin\nwell contoured smooth fair walls\nwell decorated\nwell defined\nwell defined jawline\nwell defined mechanical features\nwell designed\nwell designed female dragon head\nwell designed head\nwell detailed\nwell detailed head with led eyes\nwell done picture high quality\nwell drawn\nwell drawn eyes\nwell drawn faces\nwell dressed\nwell edited\nwell fed\nwell focused\nwell framed\nwell list\nwell lit\nwell lit 3 d render\nwell lit night in las vegas\nwell lit professional photo\nwell lit sky\nwell lit studio lighting\nwell made\nwell maintained\nwell preserved\nwell proportioned\nwell rendered\nwell rendered.:1\nwell shaded\nwell toned\nwell trimmed beard\nwell worn\nwell-appointed space\nwell-defined anatomy\nwell-designed digital art\nwell-designed masterpiece\nwell-detailed\nwell-endowed\nwell-gelled hair\nwell-groomed model\nwell-lit\nwell-rendered\nwellington\nwellness pool\nwelsh flag\nwendigo\nwenfei ye\nwenjr\nwenjun lin\nwepa digital\nwerecrow\nwerewolf\nwerewolf man\nwerewolf?\nwerewolf”\nwes anderson and gucci\nwes anderson and wes anderson\nwes anderson background\nwes anderson color palette\nwes anderson color scheme\nwes anderson film\nwes anderson film screenshot\nwes anderson movie\nwes anderson style\nwes anderson)\nwesley kimler\nwest africa mask patterns style\nwest slav features\nwest world show\nwestern\nwestern animation\nwestern art\nwestern background\nwestern clothing\nwestern comic\nwestern comic art\nwestern comic book art\nwestern comic book style\nwestern comic style\nwestern cowgirl\nwestern era\nwestern european\nwestern film\nwestern gunslinger\nwestern painting\nwestern saloon theme\nwestern setting\nwestern steampunk cyborg\nwestern town\nwestside\nwestworld\nwestworld style\nwet\nwet - on - wet technique\nwet amphibious skin\nwet and slimy\nwet aslphalt road after rain\nwet asphalt\nwet atmosphere\nwet body\nwet boody\nwet brush\nwet clay\nwet climate\nwet collodion\nwet collodion process\nwet concrete\nwet dark road\nwet drapery\nwet dripping\nwet dripping hair\nwet dripping long hair\nwet eye in forehead\nwet eye relections\nwet fabric\nwet face\nwet feet in water\nwet floor\nwet floor on streets\nwet floors\nwet flowing hair\nwet from rain\nwet fur\nwet grass\nwet grass and black stones\nwet grass and stones\nwet ground\nwet hair\nwet hairy bodies\nwet hdr refractions\nwet highway chase\nwet leaves\nwet lips\nwet look\nwet lush jungle landscape\nwet make - up\nwet market street\nwet metal reflections\nwet mouth\nwet mud\nwet on wet\nwet paint\nwet pavement\nwet plate\nwet plate photo\nwet plate photograph\nwet plate photography\nwet puddles on street\nwet puddles reflecting\nwet reflections\nwet reflections in eyes\nwet reflections in square eyes\nwet reflective concrete\nwet reflective ground\nwet reflective tile floor\nwet relections\nwet relections in eyes\nwet road\nwet rocks\nwet shiny skin\nwet shirt\nwet shredded red meat\nwet sidewalk\nwet skin\nwet skin and windblown hair\nwet street\nwet streets\nwet surface\nwet swimsuit\nwet t shirt\nwet t-shirt\nwet tshirt\nwet-plate photography\nweta\nweta digital\nweta disney\nweta disney movie still photo\nweta disney pixar\nweta fx\nweta studio\nweta studio and james jean\nweta studios\nweta workshop\nweta workshop concept art\nweta workshop the hobbit\nwetastudiofx\nwetbrushes\nwetcore\nwetplate\nwetplate photography\nwh 4 0 k art\nwh 40 k art\nwh40k\nwhacky designs\nwhale\nwhale carcass\nwhale fall\nwhale monsters\nwhale skeleton\nwhalen tom\nwhales\nwhales showing from the waves\nwhat\nwhat a bumbler!\nwhat depression looks like\nwhat dreams may come\nwhat happens after death\nwhat music they make\nwhat stable diffusion looks like\nwhatever\nwhatsapp\nwhealan\nwheat field\nwheat field behind the house\nwheat fields\nwheatly from portal 2\nwheel\nwheelchair\nwheelie\nwheels\nwhen it's over\nwhen its over\nwhen kindness falls like rain\nwhen mars attacks\nwhen the wind is slow\nwhere a large\nwhere being rest in peace\nwhere everyone is an npc\nwhere is waldo\nwhere lovecraftian horrors roam\nwhere the ash gathered\nwhere the planets are candy\nwhere the wild things are\nwhere's waldo\nwhere's wally\nwheres waldo\nwheres wally\nwhich are also skeletal & frail\nwhich are also skeletal frail\nwhich goes near the ground\nwhich shows a beach at sunset\nwhich splits in half into wings\nwhie tcolor\nwhile holding a sword\nwhile i pondered\nwhile it's raining\nwhile its raining\nwhile marble\nwhile posing in the same bed\nwhile smiling for a photograph\nwhile smoking a cigar\nwhile tripping on dmt\nwhimsical\nwhimsical and cute\nwhimsical and psychedelic\nwhimsical art\nwhimsical beaver\nwhimsical demon with rainbow fur\nwhimsical fantasy landscape art\nwhimsical forest\nwhimsical fox\nwhimsical portrait\nwhimsical surrealism\nwhimsical tone\nwhimsical!!\nwhimsical!! intricate details\nwhimsical!!!\nwhimsicalintricate details\nwhimsy\nwhip\nwhip in hand\nwhipped cream\nwhipped cream on top\nwhips\nwhirling\nwhirling blue smoke\nwhirling death\nwhirling gasses\nwhirling green smoke\nwhirling nebulas\nwhirling plasma\nwhirling smoke\nwhirling smoke radiant colors\nwhirlpool\nwhirlwind\nwhirlwind of tarot cards\nwhirly\nwhiskers\nwhiskers hq\nwhiskey\nwhiskey bottle\nwhiskey glass with ice cubes\nwhisky\nwhispers\nwhistler\nwhite\nwhite  cat  girl\nwhite ( cat ) girl\nwhite + blue + gold + black\nwhite - blond hair\nwhite - haired fox\nwhite accent lighting\nwhite adidas pants\nwhite alien squid\nwhite ambient background\nwhite american soldier\nwhite and black\nwhite and black clothing\nwhite and black color palette\nwhite and blood color scheme\nwhite and blue\nwhite and blue color scheme\nwhite and gold\nwhite and gold color palette\nwhite and gold color scheme\nwhite and gold dress\nwhite and gold kintsugi\nwhite and gold priestess robes\nwhite and gold robes\nwhite and grey\nwhite and light-pink outfit\nwhite and orange\nwhite and orange breastplate\nwhite and pale blue\nwhite and pale blue toned\nwhite and pink\nwhite and pink cloth\nwhite and purple\nwhite and red armor\nwhite and red body armor\nwhite and red color scheme\nwhite and red dresses\nwhite and red roses\nwhite and silver\nwhite and teal garment\nwhite and teal metallic accents\nwhite and yellow scheme\nwhite apron\nwhite architecture\nwhite armor\nwhite around right eye\nwhite ascot\nwhite backdrop\nwhite background\nwhite background : 3\nwhite background and fill\nwhite background wall\nwhite background with shadows\nwhite background!!!!!!!!!!\nwhite background”\nwhite backround\nwhite balance\nwhite bandage tape on fists\nwhite bandages on fists\nwhite bangs\nwhite baseball cap\nwhite baseball hat\nwhite beaches\nwhite beard\nwhite beautiful hair\nwhite bed\nwhite belt\nwhite bg\nwhite bikini\nwhite biomechanical\nwhite biomechanical details\nwhite biomechanicaldetails\nwhite bird skulls\nwhite black fade braided hair\nwhite block fence\nwhite blonde hair\nwhite blossoms\nwhite blouse\nwhite blouse and gothic boots\nwhite bob cut hair\nwhite body\nwhite bones\nwhite border\nwhite border and background\nwhite border frame\nwhite borders\nwhite box\nwhite bra\nwhite braided hair\nwhite braids\nwhite broom closet\nwhite building\nwhite buildings\nwhite buildings with red roofs\nwhite calacatta gold marble\nwhite candles\nwhite candles dripping wax\nwhite canvas background\nwhite cap\nwhite cape\nwhite carved abstract sculpture\nwhite cat\nwhite cat girl\nwhite cat in a pink dress\nwhite ceiling\nwhite ceramic shapes\nwhite cheeks\nwhite church background\nwhite clay\nwhite cloak\nwhite cloth\nwhite cloth in wind shining\nwhite clothes\nwhite clothing\nwhite cloud\nwhite cloud hair\nwhite clouds\nwhite coat\nwhite collar\nwhite color\nwhite color scheme\nwhite colors\nwhite concrete\nwhite concrete floor\nwhite cowboy hat\nwhite crown\nwhite cummerbund\nwhite curly hair\nwhite cyan\nwhite cyborg fashion shot\nwhite cyc\nwhite cyclops portrait in sky\nwhite daoist robes\nwhite desert\nwhite desert background\nwhite detailed eyes\nwhite details\nwhite diamonds\nwhite dove\nwhite dress\nwhite dress shirt\nwhite dress!! of silver hair\nwhite dressof silver hair\nwhite eagle icon\nwhite eclipse\nwhite elbow gloves\nwhite elegant baroque design\nwhite eyebrows\nwhite eyes\nwhite eyes and eyelashes\nwhite eyes without pupils\nwhite face\nwhite face makeup\nwhite face paint\nwhite facepaint\nwhite feathers\nwhite finish\nwhite flesh\nwhite floor\nwhite flower\nwhite flower crown\nwhite flowers\nwhite flowers on the floor\nwhite fluffy cloud\nwhite fluffy cotton shorts\nwhite foam\nwhite fog\nwhite fog painting\nwhite font on black canvas\nwhite fox\nwhite fox anime\nwhite fox ears\nwhite fractals\nwhite frame\nwhite frame border\nwhite freckles\nwhite french bob\nwhite french bob hairstyle\nwhite fringy hair\nwhite fungal spores everywhere\nwhite fur\nwhite fur and dark skin\nwhite furniture\nwhite gallery\nwhite ghosthulk\nwhite girl\nwhite glasses\nwhite gloves\nwhite glowing aura\nwhite glowing eyes\nwhite gold\nwhite gold black\nwhite gold color palette\nwhite gold skin\nwhite gossamer wings\nwhite gown\nwhite grey blue color palette\nwhite grey color palette\nwhite habitat 6 7\nwhite hair\nwhite hair and beard\nwhite hair and white beard\nwhite hair color\nwhite hair dreads\nwhite hair floating in air\nwhite hair!!!\nwhite hair!!!!\nwhite hair!!!!!\nwhite haired\nwhite haired deity\nwhite haired lady\nwhite hairs\nwhite halter top\nwhite hanfu\nwhite hat\nwhite head\nwhite helmet\nwhite high waisted swimsuit\nwhite highlights in hair\nwhite hijab\nwhite hime cut hairstyle\nwhite holographic plastic\nwhite horns\nwhite horns from eyebrows\nwhite horns queen demon\nwhite horse\nwhite house\nwhite house archives\nwhite houses\nwhite hue\nwhite human spine\nwhite in color\nwhite ink\nwhite ink sketch on black paper\nwhite irises and dark eye makeup\nwhite jacket\nwhite john berkey armor panels\nwhite john berkey panels\nwhite kitchen table\nwhite l shaped couch\nwhite lab coat\nwhite labrador retriever face\nwhite lace\nwhite lace clothing\nwhite lace dress\nwhite lashes\nwhite lava\nwhite leggings\nwhite light\nwhite light halo\nwhite light shining on her\nwhite lighting\nwhite lightning\nwhite lights\nwhite lilies\nwhite limbo\nwhite loincloth\nwhite long beard\nwhite long gloves\nwhite long hair\nwhite long hair!!\nwhite long straight hair\nwhite long tanktop\nwhite machinery\nwhite male\nwhite man\nwhite man with black fabric mask\nwhite map library\nwhite marble\nwhite marble and gold\nwhite marble buildings\nwhite marble highly detailed\nwhite marble interior photograph\nwhite marble sculpture\nwhite marble texture\nwhite marble walls\nwhite marble with gold accents\nwhite mask\nwhite mech bot\nwhite mecha\nwhite mechanical details\nwhite metal\nwhite metal armor\nwhite metal neocubism armor\nwhite metallic\nwhite metallic armor\nwhite metallic armour\nwhite minimalist architecture\nwhite minimalistic background\nwhite miniskirt\nwhite mist\nwhite mohawk\nwhite monochrome color\nwhite monochrome color!!!!!\nwhite moon\nwhite moon and black background\nwhite moon in the background\nwhite mouse technomage\nwhite mug\nwhite muzzle and underside\nwhite neck visible\nwhite neon\nwhite neon details\nwhite neon lighting\nwhite neon lights\nwhite neon wash\nwhite noise\nwhite octopus\nwhite on black\nwhite orchids\nwhite outfit\nwhite outline\nwhite outline border\nwhite paint\nwhite pale concrete city\nwhite paled skin\nwhite panels\nwhite pants\nwhite paper\nwhite paper background\nwhite peacock feathers\nwhite pearlescent\nwhite petal\nwhite picket fence\nwhite pillows\nwhite plague doctor mask\nwhite plank siding\nwhite plastic\nwhite plastic armour\nwhite plated armor\nwhite poet shirt\nwhite polygonal dress\nwhite ponytail hair\nwhite porcelain skin\nwhite powder bricks\nwhite powder makeup\nwhite prosthetic eyes\nwhite puffy outfit\nwhite rabbit\nwhite reading glasses\nwhite red\nwhite regal gown\nwhite ribbon\nwhite robe\nwhite robe with gold accents\nwhite robes\nwhite robot\nwhite rocks made of bone\nwhite room\nwhite roses\nwhite royal dress\nwhite russian clothes\nwhite salt\nwhite sand\nwhite sand beach\nwhite sandy beach\nwhite sarong\nwhite satin gloves\nwhite scarf\nwhite scary skin\nwhite sea cloud\nwhite sheets\nwhite shiny skin\nwhite shirt\nwhite shirt and blue jeans\nwhite shirt and green skirt\nwhite shirt and grey skirt\nwhite shirt and jeans\nwhite shirts\nwhite shoes\nwhite short hair\nwhite shorts and hiking boots\nwhite silky outfit\nwhite silver bikini\nwhite skeleton face\nwhite sketch lines\nwhite sketchbook style\nwhite skin\nwhite skin and reflective eyes\nwhite skin color\nwhite skin tone\nwhite skirt\nwhite skirt and barechest\nwhite sky\nwhite sleeves\nwhite smoke\nwhite smoke atmosphere\nwhite snow\nwhite soft leather model\nwhite space\nwhite space in middle\nwhite sparkles everywhere\nwhite sparkles sunlight beams\nwhite spiral horns\nwhite splendid fabric\nwhite stars in the background\nwhite steam on the side\nwhite steel\nwhite stockings\nwhite stone\nwhite stone arches\nwhite stone temple ruins\nwhite stone wall background\nwhite stones\nwhite straight hair\nwhite straw flat brimmed hat\nwhite stripes all over its body\nwhite studio\nwhite studio background\nwhite suit\nwhite suit and black tie\nwhite suit and hat\nwhite summer dress\nwhite sundress\nwhite superior iron man\nwhite sweater\nwhite sweeping arches\nwhite t - shirt\nwhite t-shirt\nwhite t-shirt with red sleeves\nwhite table\nwhite tablecloth\nwhite tank top\nwhite teeth\nwhite thick smoke\nwhite tiger\nwhite tights\nwhite tights covered in stars\nwhite tile on the floor\nwhite tones\nwhite top\nwhite tracing\nwhite transparent veil\nwhite travertine terraces\nwhite trendy clothes\nwhite tshirt\nwhite tunic\nwhite unicorn\nwhite uniform\nwhite vase\nwhite veil\nwhite waist apron and undershirt\nwhite waistcoat\nwhite wall\nwhite wall background\nwhite wall coloured workshop\nwhite wall complex\nwhite walls\nwhite warm illumination\nwhite water\nwhite water rapids\nwhite wax\nwhite wearing\nwhite wheel rims\nwhite white and gold kintsugi\nwhite wine bottle\nwhite wings\nwhite witch\nwhite with black spots\nwhite with chocolate brown spots\nwhite with gold accents\nwhite wolf\nwhite wolf with blue eyes\nwhite woman\nwhite wood\nwhite wrinkled shirt\nwhite xenomorph\nwhite! dress\nwhite! tank top with a print\nwhite!!\nwhite-hair pretty face\nwhite-haired\nwhite-space-surrounding\nwhite: 0.5\nwhitebangs\nwhitebangsblackhair\nwhiteboard\nwhiteboards\nwhitedress\nwhitehorns\nwhiteout eyes\nwhiterun\nwhiterun city burning\nwhiterun hold\nwhiterun in the style of pixar\nwhites\nwhitesmith\nwhitespace\nwhitespace border\nwhitetank top with a print\nwhitewashed buildings\nwhitewashed housed\nwho\nwho can open the mind\nwho is a android\nwho is a male android\nwho is a robot\nwho is a robot”\nwho is born from the sea\nwho is looking up at it in fear\nwho was born in tokyo in 1964\nwhoa\nwhole\nwhole bill framed\nwhole body\nwhole body highly detailed\nwhole body in frame\nwhole body photography\nwhole card\nwhole cat body\nwhole earth\nwhole figure\nwhole head\nwhole page illustration\nwhole room\nwhole shoe is in picture\nwhole tattoo\nwhole-length\nwholeness\nwholesome\nwholesome digital art\nwholesome techno - shaman lady\nwhorl\nwhorl. clouds\nwhose mind is pure machinery\nwhy\nwicca\nwicca symbols dnd\nwiccan\nwicked\nwicked grin\nwicked smile\nwicked witch of the west\nwicker art\nwicker chair\nwide\nwide - angle\nwide - angle film\nwide - angle lens\nwide - angle macro lens\nwide - angle portrait\nwide - angle shot\nwide - angle view\nwide - shot\nwide aerial shot\nwide angel\nwide angel shot\nwide angel shot from below\nwide angle\nwide angle + masterpiece\nwide angle 15mm lens\nwide angle 1981\nwide angle 70mm lens\nwide angle camera\nwide angle cinematography\nwide angle dynamic action shot\nwide angle dynamic portrait\nwide angle establishing shot\nwide angle exterior 2022\nwide angle fantasy art\nwide angle full body\nwide angle landscape\nwide angle landscape photography\nwide angle landscape shot\nwide angle lens\nwide angle lens 8k\nwide angle lens glow in the dark\nwide angle lens photography\nwide angle lens. 8 k\nwide angle lense\nwide angle perspective\nwide angle photo\nwide angle photograph\nwide angle photography\nwide angle portrait of astroboy\nwide angle river\nwide angle scifi landscape\nwide angle shot\nwide angle shot 4 k hdr\nwide angle shot 4k hdr\nwide angle shot from above\nwide angle shots\nwide angle studio shoot\nwide angle ultra - vivid\nwide angle view\nwide angle. rudolf herczog\nwide angle. wayne barlowe\nwide angle”\nwide aperture\nwide ayes\nwide belt\nwide belt scabbard\nwide body\nwide brush strokes\nwide camera angle\nwide chin\nwide depth of field\nwide establishing shot\nwide evil grin\nwide eyed\nwide eyes\nwide eyes shocked expression\nwide face\nwide field of view\nwide film still\nwide focus\nwide forehead\nwide fov\nwide frame\nwide frontal view\nwide full body\nwide golden eyes\nwide golden eyes and red lips\nwide grand staircase\nwide greenways\nwide grin\nwide high angle view\nwide hips\nwide horizon\nwide image\nwide irises\nwide landscape\nwide leather boots\nwide leg hakama trousers\nwide lens\nwide lens photography\nwide lens shot\nwide lense\nwide lips and kind blue eyes\nwide long shot\nwide long view\nwide low angle\nwide mouth\nwide neck\nwide nose\nwide nose!!!\nwide nostrils\nwide open city\nwide open city ”\nwide open mouth\nwide open mouth in terror\nwide open space\nwide open wife mouth\nwide open wings\nwide opened eyes\nwide overhead shot\nwide panoramic shot\nwide perspective\nwide portrait\nwide range of colors\nwide ribbons\nwide river and lake\nwide roads\nwide scene\nwide screen\nwide screen format\nwide screenshot\nwide set eyes\nwide shoot\nwide shot\nwide shot 4k result\nwide shot ; dynamic contrast\nwide shot angle\nwide shot of a cabin interior\nwide shot of a spaceship battle\nwide shot photo\nwide shot photograph\nwide shot!!!!!!\nwide skirts\nwide smile\nwide strokes\nwide torso\nwide view\nwide view cinematic lighting\nwide view of a farm\nwide views\nwide wide angle\nwide wide shot\nwide windows\nwide-angle\nwide-angle lens\nwide-angle lens vanishing point\nwide-angle long shot\nwide-angle photograph\nwide-angle shot\nwide-angle view\nwide-perspective\nwide-screen\nwide-shot\nwide-shots\nwideangle\nwideangle action\nwideangle portrait\nwideangle pov closeup\nwidelens\nwider face\nwidescreen\nwidescreen 4 k\nwidescreen 4k\nwidescreen 8 k\nwidescreen 8k\nwidescreen ratio\nwidescreen resolution\nwidescreen shot\nwideshot\nwidest hips\nwidest shot\nwidow maker\nwidowmaker\nwidowmaker from overwatch\nwidowmaker's former lover\nwidth\nwidth 1 0 2 4\nwidth 768\nwielding\nwielding a battleaxe\nwielding a bow\nwielding a crowbar\nwielding a dagger\nwielding a decorated halberd\nwielding a fireball\nwielding a fish sword\nwielding a flaming sword\nwielding a huge great axe\nwielding a katana\nwielding a keris sword\nwielding a knife\nwielding a long halberd\nwielding a longsword\nwielding a magic staff\nwielding a magical sword\nwielding a spear\nwielding a sword\nwielding a sword and shield\nwielding a whip\nwielding a wrench\nwielding an axe\nwielding an axe on each hand\nwielding assault rifle\nwielding daggers\nwielding fire\nwielding knife\nwielding kunai\nwielding longsword\nwielding machete\nwielding scythe\nwielding twin swords\nwielding two daggers\nwife\nwifi icon\nwig\nwiggling a weasel\nwiggly ethereal being\nwikiart\nwikihow\nwikihow illustration\nwikimedia\nwikimedia commons\nwikipedia\nwilbur smith\nwild\nwild agony\nwild angle lens\nwild animals\nwild beautiful donkey\nwild berries\nwild berry vines\nwild black hair\nwild brush strokes\nwild colors\nwild eyebrows\nwild eyes\nwild flowers\nwild fluffy llama portrait\nwild foliage\nwild forest!!! vegetation!!!\nwild forestvegetation\nwild ginger hair\nwild hair\nwild hairs\nwild hairstyle\nwild jungle\nwild look\nwild ocean background\nwild ocean storm at night\nwild pencil style\nwild power\nwild rave outfit\nwild rift\nwild river in 1914\nwild shape : raccoon\nwild species photography\nwild spiky black hair\nwild spiky black saiyan hair\nwild style\nwild vegetation\nwild water\nwild west\nwild west background\nwild west setting\nwild west theme\nwildcards\nwilderness\nwilderness ambiance\nwilderness ground\nwilderness ground ; oil painting\nwildfire\nwildflowers\nwildflowers and grasses\nwildlife\nwildlife documentary\nwildlife drawing\nwildlife illustration\nwildlife photo\nwildlife photograph\nwildlife photography\nwildlife photography canon\nwildlife preservation\nwildlife. atmospheric\nwildly attractive\nwildscapes\nwildstyle\nwill\nwill arnett as beetlejuice\nwill ferrell\nwill graham\nwill murai\nwill smith\nwill smith anime style\nwill smith as neo in the matrix\nwill smith disney infinity\nwill smith portrait\nwill smith punching chris rock\nwill smith slapping chris rock\nwill terry\nwillem claesz heda\nwillem claesz. heda\nwillem dafoe\nwillem dafoe as a sith lord\nwillem dafoe as scarecrow\nwillem dafoe as spiderman\nwillem dafoe as the joker\nwillem dafoe in plague knight\nwillem wissing\nwilliam - adolphe bouguerea\nwilliam - adolphe bouguereau\nwilliam adolphe bouguereau\nwilliam adolphe-bouguereau\nwilliam blake and beksinski\nwilliam blake and repin\nwilliam blake art exhibit\nwilliam bouguereau\nwilliam dafoe\nwilliam eggleston\nwilliam eggleston style\nwilliam f. buckley graphic novel\nwilliam finn\nwilliam gibson\nwilliam goddard poster\nwilliam godward\nwilliam henrits\nwilliam henry hunt\nwilliam higginson\nwilliam james glackens\nwilliam joyce\nwilliam morris style\nwilliam murray\nwilliam open\nwilliam oxer\nwilliam penn state forest\nwilliam s burroughs\nwilliam shakespeare\nwilliam shakespeare crying\nwilliam warehouse\nwilliam waterhouse\nwilliam-adolphe\nwillie nelson on stage\nwillim blake\nwilling\nwillow 1 9 8 5\nwillow 1985\nwillow plant\nwillow smith young\nwillow smith zendaya\nwillow tree\nwillow tree and hill\nwillow trees\nwillows\nwillowy frame\nwilly lowman\nwilly wonka\nwilly wonka pandemic\nwilson fisk\nwilted flowers\nwim crouwel\nwim wenders\nwimmelbild\nwimmelbilder\nwimmelbilder maze made of lego\nwimmelbilder puzzle book\nwinamp skin\nwind\nwind - swept\nwind and dust\nwind blowing\nwind blowing and hair flowing\nwind blowing hair\nwind blowing leaves\nwind blown hair\nwind blown trees\nwind blows the leaves\nwind chimes\nwind egyptian god\nwind in hair\nwind in long hair\nwind kissed picture\nwind kissed pictures\nwind magic\nwind river valley\nwind rose\nwind sorcerer\nwind sorcerer!\nwind turbines\nwind waker\nwind wizard\nwindblown\nwindblown dark hair\nwinding around trees\nwinding branches\nwinding horn\nwinding rivers\nwindings\nwindmill\nwindmills\nwindow\nwindow  city\nwindow  rain\nwindow ( city )\nwindow ( rain )\nwindow and city background\nwindow at the center\nwindow glass reflecting\nwindow in foreground\nwindow in room\nwindow into space behind them\nwindow light\nwindow lighting\nwindow lights\nwindow open\nwindow reflections\nwindow sill with plants\nwindow to night time\nwindow view\nwindow with flower box\nwindow with rio de janeiro view\nwindow. netherlands tavern\nwindows\nwindows 7\nwindows 9 5\nwindows 9 8 logo\nwindows 95\nwindows and walls :5\nwindows lit up\nwindows vista\nwindows xp\nwindows xp background\nwindows xp bliss wallpaper\nwindows xp wallpaper\nwindows98 logo\nwindowsill\nwinds of winter\nwindsor knot tie\nwindstorm\nwindswept\nwindy\nwindy beach\nwindy day\nwindy floating hair!!\nwindy hair\nwindy mane\nwindy mood\nwindy weather\nwine\nwine bottle\nwine cellar full of food\nwine glass\nwine label\nwine red trim\nwine-red and grey trim\nwineglass\nwing\nwinged\nwinged archer\nwinged boy\nwinged eyelashes\nwinged eyeliner\nwinged girl angel\nwinged head\nwinged helmet\nwinged human\nwinged insects and stems\nwinged victory\nwinged victory of samothrace\nwinged victory!!!\nwinged wolves\nwings\nwings are clouds of darkness\nwings black lace wear\nwings growing out of arms\nwings lace wear\nwings made of glass\nwings made of light\nwings made of pizza\nwings made out of flowers\nwings of a swan\nwings of fire\nwings on back\nwings open\nwings spread\nwings spreading\nwingspan\nwingspan style\nwining\nwink\nwinking\nwinking at the camera\nwinking face\nwinking one eye\nwinner\nwinner of design award\nwinner of seven oscars\nwinner of the year's best photo\nwinner of the years best photo\nwinnie the pooh\nwinning\nwinning - award masterpiece\nwinning artwork\nwinning award image\nwinning award masterpiece\nwinning award photo\nwinning award piece\nwinning awards\nwinning illustration\nwinning photo\nwinning photo of the year\nwinning photograph\nwinning-award masterpiece\nwinnipeg skyline\nwinona ryder\nwinona ryder in repose\nwinston\nwinston churchill riding a t-rex\nwinston from overwatch\nwinston the ape from overwatch\nwinter\nwinter 1941\nwinter armosphere\nwinter atmosphere\nwinter blue drapery\nwinter concept art\nwinter forest\nwinter in the snow\nwinter lake setting\nwinter landscape\nwinter landscape outside\nwinter mist around her\nwinter night\nwinter painting\nwinter park background\nwinter photograph\nwinter princess\nwinter scene\nwinter scene fantasy\nwinter season\nwinter setting\nwinter snow\nwinter soldier mask\nwinter storm\nwinter sun\nwinter time\nwinter vibes\nwinter vibrancy\nwinter wonderland\nwintermute\nwinterthorn blessing\nwintertime\nwintery scene\nwintry rumpelstiltskin\nwiny\nwip\nwipe out\nwipeout 2 0 4 8\nwipeout 2048\nwire\nwire management\nwire sculpture drawings\nwired\nwired landscape\nwireframe\nwireframe models\nwireframes\nwireless headphone stand\nwires\nwires and cables\nwires and cables coming out\nwires and cords\nwires and lights\nwires and resisters\nwires and strings\nwires and tubes\nwires and veins\nwires biopunk\nwires cables skulls\nwires connected\nwires cybernetic implants\nwires earth background\nwires everywhere\nwires flying in the air\nwires for hair\nwires from the matrix movie\nwires hanging\nwires hanging above street\nwires hanging across windows\nwires hanging down everywhere\nwires in background\nwires made of copper\nwires with lights\nwires. biopunk\nwiring\nwiry\nwisconsin\nwisdom\nwise\nwise appearance\nwise forehead\nwise old indian guru\nwise old man\nwisp lights\nwisps\nwisps of energy in the air\nwisps of fog\nwisps of smoke\nwispy\nwispy clouds\nwispy clouds in a blue sky\nwispy darkness\nwispy fog\nwispy gigantic wings\nwispy ink horror\nwispy ink horrors\nwispy magical smoke\nwispy smoke\nwispy smoke and volumetric fog\nwispy tendrils of smoke\nwistful\nwistful bosom\nwistful expression\nwit studio\nwit studio anime\nwit studio official media\nwitch\nwitch - doctor\nwitch academia\nwitch burning\nwitch clothes\nwitch cottage in the forest\nwitch fairytale\nwitch girl\nwitch hat\nwitch hut\nwitch in the woods\nwitch paying for her sins\nwitch runes in the deep forest\nwitch woman\nwitch's hat\nwitchcore\nwitchcore clothes\nwitchcraft\nwitchcraft!\nwitcher\nwitcher 3\nwitcher))\nwitches\nwitchlight carnival\nwitchs hat\nwitchy\nwitchy clothing\nwith\nwith 3 d render\nwith 3d render\nwith a backpack\nwith a beard and a black jacket\nwith a beard and a black shirt\nwith a beautifull smile\nwith a bewitching voice\nwith a big head\nwith a big parrot\nwith a black background\nwith a black dark background\nwith a blue background\nwith a bob cut\nwith a bottle of wine\nwith a bright smile\nwith a bright yellow aureola\nwith a brilliant\nwith a brown fringe\nwith a bruised face and bruises\nwith a bunch of stuff\nwith a bundt bundt pan face\nwith a bunk bed\nwith a business suit on\nwith a castle in the background\nwith a chinese temple\nwith a cigarette in its mouth\nwith a city in the background\nwith a cool pose\nwith a covered face\nwith a creepy secret temple\nwith a crow on her shoulder\nwith a crown\nwith a crown of skulls\nwith a cup of hot chocolate\nwith a curly perm\nwith a cute fluffy owl\nwith a cute toad\nwith a dark fringe\nwith a distant\nwith a dramatic looking\nwith a drink\nwith a few scars on the tree\nwith a few vines and overgrowth\nwith a figure in the background\nwith a fishpond and courtyard\nwith a french garden\nwith a fringe\nwith a front porch\nwith a full black beard\nwith a garden\nwith a garden as foreground\nwith a giant robot owl\nwith a glass eye and a top hat\nwith a gold crown\nwith a green cloak\nwith a gullet at the end\nwith a gun\nwith a halo of unkempt hair\nwith a happy expression\nwith a hurt expression\nwith a kid\nwith a lab coat\nwith a laptop on his lap\nwith a large breasts\nwith a large head and big eyes\nwith a light leather armor\nwith a long\nwith a long black cape\nwith a long white\nwith a lush grass lawn\nwith a male pirate partner\nwith a miniature indoor lake\nwith a mirror\nwith a mohawk\nwith a orientalist smileful face\nwith a park in the back ground\nwith a park in the background\nwith a parrot on his shoulder\nwith a patrician nose\nwith a pointed chin\nwith a ponytail\nwith a pouting smile\nwith a red eyes\nwith a red halo over her head\nwith a red skirt\nwith a river running through it\nwith a robotic arm\nwith a roof rack\nwith a round face\nwith a sad expression\nwith a seductive smile\nwith a skeleton army\nwith a sleek spoiler\nwith a small beard\nwith a small forest\nwith a snowy mountain and ice\nwith a soft\nwith a space suit on\nwith a spine crown\nwith a spooky filter applied\nwith a square\nwith a squid tattoo\nwith a squid tattoo on his arms\nwith a star - chart\nwith a stethoscope\nwith a straw\nwith a subtle smile\nwith a sunset\nwith a tall tree\nwith a tentacle - shaped tongue\nwith a tentacle tattoo\nwith a thin waist\nwith a touch of magic\nwith a tree in the background\nwith a twin\nwith a two handed axe\nwith a very large mouth\nwith a volcano in the background\nwith a walking cane\nwith a waterfalls\nwith a weird hat\nwith a white\nwith a white background\nwith a white complexion\nwith a white mug\nwith a white muzzle\nwith a white nose\nwith a whitish\nwith a wooden stuff\nwith a xerox machine\nwith a yellow beak\nwith a yellow green smog sky\nwith abs\nwith accurate face\nwith accurate features\nwith acient chinese clothes\nwith afro\nwith ai theme\nwith amber eyes\nwith an animal skull for a head\nwith an armor and a crown\nwith an ashtray on top\nwith an axe\nwith an eagle emblem\nwith an easter basket\nwith an elegant smile\nwith an explosion on the back\nwith an harp\nwith an intricate\nwith an iv drip\nwith an owl on her shoulder\nwith anamorphic lenses\nwith anchor man and woman\nwith ancient chinese aesthetic\nwith anthropology of wonder\nwith anti aircraft guns\nwith anxious\nwith anxious piercing eyes\nwith apple\nwith aqua neon dreadlocks\nwith aqua rapunzel dreadlocks\nwith archways\nwith armour\nwith arms bare\nwith arms up\nwith arteries as roots\nwith aurora borealis in the sky\nwith axe\nwith back to the camera\nwith backdrop of god rays\nwith backdrop of natural light\nwith backlight\nwith bangs\nwith beautiful colors\nwith beautiful exotic\nwith beautiful mosques\nwith beautiful volumetric light\nwith beautiful wings\nwith bewitching eyes\nwith big chrome tubes\nwith big eyes\nwith big rabbit ears\nwith big starfish\nwith black\nwith black beanie on head\nwith black eyeglasses\nwith black eyes\nwith black glossy lips\nwith black hair\nwith black horns instead of ears\nwith black magic powers\nwith black metal face paint\nwith black pigtails\nwith black sclera eyes\nwith black suns in the sky\nwith black vines\nwith black. magic powers\nwith blackness instead of eyes\nwith bloodshot eyes\nwith bloom ethereal effects\nwith blue eyes\nwith blue eyes!!!!\nwith blue fur and blue eyes\nwith blue hair\nwith blue light dark blue sky\nwith blue light inside\nwith blue skin\nwith blunt brown border\nwith book of science\nwith bow and arrow\nwith branches reaching the sky\nwith branches! reaching the sky\nwith branchesreaching the sky\nwith bread in the slots\nwith bright blue eyes\nwith broccoli hair\nwith brown hair\nwith brown skin\nwith bruce lee\nwith bunny ears\nwith bunny rabbit ears\nwith burning red eyes\nwith cables and wires coming out\nwith cactus plants in the room\nwith cape\nwith castle in distance\nwith cats on her side\nwith celadon glaze\nwith chicks\nwith cigar\nwith cinematic colour palette\nwith cinematic lighting\nwith claws\nwith clear glass\nwith closed eyes\nwith clothes on\nwith clothese\nwith clouds in the sky\nwith cobwebs\nwith colored flowers\nwith colorful flowers and plants\nwith colorfull jellybeans organs\nwith colourful intricate\nwith cool headlights\nwith crown\nwith cry engine\nwith cryengine\nwith crystals on the walls\nwith curls\nwith curly black and silver hair\nwith curly red hair\nwith cute - fine - face\nwith cute doting eyes\nwith damaged rusty arms\nwith dappled light\nwith dark brown bangs\nwith dark brown messy hair\nwith dark brown sunglasses\nwith dark clouds in the sky\nwith dark ghost smokes around\nwith dark grey hair\nwith dark hair tied up in a bun\nwith dark reddish hair\nwith dark trees in foreground\nwith deep green eyes\nwith depressive feeling\nwith depth of field\nwith detailed\nwith detailed facial features\nwith detailed wood\nwith differing emotions\nwith disturbing\nwith dogs\nwith donald trump\nwith donald trump hair\nwith dong son bronze artifacts\nwith dramatic lighting\nwith dramatic sky\nwith earth\nwith earth in the background\nwith eddie murphy\nwith eiffel view\nwith electric arc device\nwith electric arc devices\nwith elements of the f40\nwith ethereal light\nwith everything in its place\nwith eyes of flame\nwith facial tattoo\nwith familiar sprites\nwith fangs\nwith fashion clothe\nwith few fire red highlights\nwith few ultramarine highlights\nwith few vivid purple highlights\nwith fiery golden wings\nwith fiery golden wings of flame\nwith fingers\nwith fire\nwith fires and black smoke\nwith flower fields as foreground\nwith flowers\nwith flowers and plants\nwith fluent cloths\nwith fluo colored details\nwith fog\nwith fractal sunlight\nwith freckles\nwith fries\nwith frozen flowers around her\nwith fruit trees\nwith full bangs\nwith full descriptions\nwith full moon in the sky\nwith fully detailed faces\nwith funny feeling\nwith furniture overturned\nwith futuristic gear and helmet\nwith garfield the cartoon cat\nwith gears and tubes\nwith glasses\nwith glasses and goatee\nwith glasses on\nwith glitch and scribble effects\nwith glow on some of its parts\nwith glowing blue lights\nwith glowing eyes\nwith glowing lights at night\nwith glowing purple eyes\nwith glowing red eyes\nwith glowing runes on the body\nwith glowing windows\nwith glowing yellow eyes\nwith god blushing\nwith godray\nwith gold eyes\nwith gold teeth\nwith golden eyes\nwith gorgeous detailed eyes\nwith gradients\nwith great birds\nwith great domes and arches\nwith green cannabis leaves\nwith green eyes\nwith grey skin\nwith hand crossbow\nwith hands in pockets\nwith hat\nwith haunted eyes\nwith haunted eyes and crazy hair\nwith haunted eyes and curly hair\nwith haunted eyes and dark hair\nwith haunted eyes and glasses\nwith haunted eyes and wild hair\nwith hawaiian shirt\nwith head phones\nwith headphones\nwith height\nwith hellish devil wings\nwith her long\nwith high cheekbones\nwith high detail\nwith highly detailed\nwith his back to the viewer\nwith his back turned\nwith his hands in his hair\nwith his hyperactive little dog\nwith his long black hair\nwith his pet bird\nwith hooves and wings\nwith horns\nwith horse driven\nwith huge luminous sad eyes\nwith huge rpg\nwith hundreds of network cables\nwith ice powers\nwith illustrations and diagrams\nwith implied lines\nwith index finger\nwith infant jesus\nwith infinity\nwith influence of jeremy mann\nwith inspiration from beksinski\nwith inspiring feeling\nwith instagram filters\nwith interior potted palm trees\nwith intricate detail\nwith intricate details\nwith ivy\nwith jagged rocks & eerie\nwith jagged rocks and eerie\nwith jagged rocks eerie\nwith japanese inspiration\nwith japanese text\nwith kerala motifs\nwith kind face\nwith kitsune mask\nwith labels and notes\nwith labels. high quality\nwith large breasts\nwith large golden pipes\nwith large sword\nwith large wings\nwith laser-like focus\nwith lemon skin texture\nwith leonidas beard\nwith leviathan axe\nwith light-saber\nwith lightning\nwith lightning bolts\nwith lightsaber sword\nwith long\nwith long antennae\nwith long black hair\nwith long blond hair\nwith long curly\nwith long curly hair\nwith long dark hair\nwith long floppy rabbit ears\nwith long hair\nwith long hair and piercing eyes\nwith long red hair\nwith long thin antennae\nwith long turquoise hair\nwith long wavy red hair\nwith long white hair\nwith lots of dark grey rocks\nwith lots of details\nwith lots of fire coming from it\nwith lots of glittering light\nwith lots of scumbling\nwith lots of text and icons\nwith lots of thin ornaments\nwith lots of vegetation\nwith lotus flowers\nwith lovely look\nwith magical creatures\nwith malice\nwith many gold coins\nwith many mirrors\nwith many travelers\nwith massive\nwith matsu pine trees\nwith matte white angled ceiling\nwith mechanical arms that fix it\nwith merchant logo\nwith mirrorshades sunglasses\nwith morbid thoughts\nwith mountains as background\nwith mountains in background\nwith mountains in the background\nwith mountains in the distance\nwith mouth open\nwith multiple eyes\nwith multiple sharp\nwith mustache\nwith names\nwith narrow nose\nwith navigator shaped glasses\nwith neat stubble\nwith neon lighting\nwith neon lights\nwith neon night spots\nwith neon signs\nwith neon visor\nwith nerdy glasses and goatee\nwith nerdy! glasses! and goatee\nwith nerdyglassesand goatee\nwith nikon cameras\nwith no beard\nwith no derpy face\nwith no face\nwith no facial features\nwith no mouth\nwith no problems\nwith notes\nwith octane\nwith ominous shadows\nwith ominous storm clouds\nwith one small\nwith one vintage book on a table\nwith orange street lights\nwith organs\nwith organs labeled\nwith ornamental edges\nwith ornate jewelled\nwith out shading\nwith overhead cloudy!!!!! skies\nwith overhead cloudyskies\nwith pale skin\nwith palm trees and columns\nwith palm trees in the back\nwith paper lanterns\nwith parted lips and stunning\nwith pastel pink highlights\nwith people inside piloting it\nwith people watching in wonder\nwith photorealistic lighting\nwith piles of coins around it\nwith pink hair\nwith pipes attached to it\nwith pistol\nwith plasma guns\nwith playstation 1 graphics\nwith pointing finger\nwith pointy ears\nwith pop punk style\nwith potted palm trees\nwith prison clothing\nwith professional lighting\nwith professional makeup\nwith pterosaurs flying\nwith r2-d2\nwith radiating hill\nwith rain and lightning\nwith rap cap on head\nwith real wings\nwith red berries and icicles\nwith red eyes\nwith red glowing eyes\nwith red hair\nwith red hair and green eyes\nwith red haze\nwith red haze and a massive grin\nwith reflection and textures\nwith retro sci fi furniture\nwith rifle\nwith rifle in hands\nwith ripped crop t - shirt\nwith robot dragon head\nwith robotic arms\nwith robotic parts on his face\nwith rolling hills\nwith roulettes in the roof\nwith round cheeks\nwith round face\nwith rune tattoos on the face\nwith same hairstyle\nwith scaly-looking armor\nwith scars\nwith scepter and crown\nwith screens and silks\nwith seaweed\nwith serious face expression\nwith several broken statues\nwith sharp features\nwith shiny glass buildings\nwith shiny skin\nwith short bobbed white hair\nwith short hair\nwith short hair with bangs\nwith short straight brown hair\nwith shoulder pads\nwith silver runes on it\nwith skin of obsidian\nwith sleek lines and a powerful\nwith sleek silver armor\nwith sleek silver metal armor\nwith slender\nwith slight stubble\nwith small cat on lap\nwith small eyes\nwith small nose\nwith small object details\nwith small studded earings\nwith smoke\nwith snakes for hair\nwith snow covered colourful red\nwith snow on its peak\nwith soft bushes\nwith soft pink colors\nwith some hand written letters\nwith some sausages on the fire\nwith spaceships in the sky\nwith sparking circuits\nwith sparkling gems on top\nwith sparkling hazel eyes\nwith spikey short brown hair\nwith splatoon style\nwith sprouting rainbow hair\nwith square glasses\nwith stalinist style highrise\nwith stars\nwith stone henge on top\nwith straight black hair\nwith straw hat\nwith stray dogs\nwith street food stalls\nwith strong judging eyes\nwith stunning green eyes\nwith subtitles\nwith sunglass\nwith sunglasses\nwith sunset\nwith surreal architecture\nwith symbolic elements\nwith symmetrical facial features\nwith symmetrical head and eyes\nwith symmetry intricate detailed\nwith tail\nwith tall glass skyscrapers\nwith tattoos\nwith teal clothes\nwith tears\nwith techware\nwith text\nwith textured hair and skin\nwith the beak of an eagle\nwith the body of a goddess\nwith the face of emma watson\nwith the face of nicholas cage\nwith the head of a snake\nwith the mane of a lion\nwith the moon out\nwith the sky full of stars\nwith the sun shining on it\nwith thunderstorms\nwith tiny people\nwith towers\nwith trees\nwith trees and rivers\nwith trees and waterfalls\nwith trident and crown\nwith trimmed beard\nwith trimmed mustache\nwith tubes and wiring\nwith two arrows\nwith two characters\nwith two front pockets\nwith two pairs of wings\nwith two suns in the sky\nwith unreal engine\nwith vegeta head hair\nwith vegetation\nwith veins of magma and gold\nwith very  face\nwith very highly detailed face\nwith very long blonde hair\nwith very thin lips\nwith vestiges of rusty machinery\nwith vibrant sky\nwith victorian clothing\nwith village\nwith violence\nwith violence in his eyes\nwith vivid blue eyes\nwith vivid purple eyes\nwith vladimir putin\nwith vray\nwith walkways\nwith wart\nwith water and boats\nwith waterfalls\nwith waterfalls and river\nwith wet faces\nwith wet faces!!\nwith white\nwith white fluffy fur\nwith white kanji insignias\nwith white long hair\nwith white skin\nwith white streak in hair\nwith wide angle lens\nwith wide open mouth\nwith wild hair and haunted eyes\nwith wings\nwith wings. ultra-detailed\nwith wires and bandages\nwith yellow cloths\nwith yellow flowers around it\nwith young jedi army behind him\nwithered\nwithering autumnal forest\nwithin a lake\nwithin radiate connection\nwithout anomalies\nwithout background\nwithout beard\nwithout beard and mustache\nwithout duplicate image\nwithout duplication\nwithout duplication content\nwithout duplication noise\nwithout eye\nwithout eyebrows\nwithout eyes\nwithout fault\nwithout frame\nwithout glasses\nwithout green grass\nwithout hands\nwithout helmet\nwithout lightsaber\nwithout makeup\nwithout mustache\nwithout nose\nwithout people\nwithout text\nwitness stand\nwitty\nwiwek\nwiz khalifa\nwizard\nwizard casting a spell\nwizard casting acid splash\nwizard cloak\nwizard doing a tarot reading\nwizard examining eggs\nwizard fighting a golem\nwizard hat\nwizard hat cinematic lighting\nwizard holding a cage\nwizard magic staff\nwizard man\nwizard of oz\nwizard pondering his orb\nwizard reading a directory\nwizard robe\nwizard robes\nwizard shuffling cards\nwizard sits reading at a desk\nwizard themed\nwizard tower\nwizard's tower\nwizards laboratory\nwizards of the coast\nwizards tower\nwlo and peter mohrbacher\nwlop\nwlop  artgerm\nwlop 4k\nwlop : :\nwlop : : 5\nwlop : : 6 octane render : : 3\nwlop and andrei riabovitchev\nwlop and artgerm\nwlop and greg rutkowski\nwlop and krenz cushart\nwlop and rhads\nwlop and ross thran\nwlop and ross tran\nwlop and rossdraws\nwlop and sakimichan\nwlop art\nwlop glossy skin\nwlop hdr\nwlop jeremy lipkin\nwlop loish and clamp style\nwlop painting style\nwlop rossdraws\nwlop style\nwlop |\nwlop | artgerm\nwlop! muted colors\nwlop!!\nwlop. 4 k\nwlop. scifi\nwlopmuted colors\nwlup\nwoamn is curved\nwojak\nwojtek beksinski macmanus\nwojtek fus\nwok\nwolf\nwolf armor\nwolf armor mech\nwolf companion\nwolf ears\nwolf fursona\nwolf head\nwolf howling at full moon\nwolf in a snowfield\nwolf in hell\nwolf like a human\nwolf o'donnell\nwolf odonnell\nwolf pack following\nwolf pedant\nwolf pelt head\nwolf portrait\nwolf skulls\nwolf template base lineart\nwolfenstein\nwolff olins\nwolff olins |\nwolfgang lettl\nwolfgang lettl highly detailed\nwolfgang novogratz\nwolfgirl\nwolfy nail\nwolp\nwolumetric lighting\nwolverine\nwolverine action pose\nwolverine ate\nwolves\nwolves and their treasures\nwoman\nwoman / cat hybrid\nwoman and cat\nwoman and robot\nwoman astronaut\nwoman body\nwoman crying\nwoman crying rainbow paint\nwoman drinking coffee\nwoman his holding a sign\nwoman holding another woman\nwoman holding recurve bow\nwoman holding sign\nwoman human face\nwoman in a dark factory\nwoman in a dark forest\nwoman in a sheep costume\nwoman in black business suit\nwoman in black robes\nwoman in business suit\nwoman in dress\nwoman in flowers\nwoman in streetwear\nwoman is curved\nwoman is in a trenchcoat\nwoman is sitting\nwoman looks like gilda radner\nwoman looks like sharon tate\nwoman love woman\nwoman loves demon\nwoman made of black flames\nwoman made of plants\nwoman masterpiece\nwoman model\nwoman on the beach\nwoman portrait\nwoman portrait made out of paint\nwoman posing\nwoman riding a flying unicorn\nwoman silhouette\nwoman smoking a cigarette\nwoman smoking cigarette\nwoman standing in flower field\nwoman vampire\nwoman very tired\nwoman with black hair\nwoman with braided brown hair\nwoman with cat ears\nwoman with freckles\nwoman with hat\nwoman with porcelain skin\nwoman with red hair\nwoman with rose tinted glasses\nwoman's face\nwoman's face looking off camera\nwoman's portrait\nwoman's profile\nwomanhood\nwomanhood”\nwomans face\nwomans face looking off camera\nwomans portrait\nwomen\nwomen fighting men\nwomen full body\nwomen hand\nwomen playing guitar\nwomen's faces\nwomens faces\nwonbin lee\nwonder\nwonder boy\nwonder woman\nwonderdraft\nwonderful\nwonderful compositions\nwonderful dark hair\nwonderful details\nwonderful eyes\nwonderful light\nwonderful lighting\nwonderful masterpiece\nwonderful scene\nwonderful shading\nwonderful shadows\nwonderful techno party\nwonderfull techno party\nwonderfully colorful\nwondering about others\nwonderland\nwonderland at night\nwonderland portal\nwonderous\nwonderous and magical\nwondrous\nwong kar wai\nwoo kim\nwood\nwood accents\nwood and gold details\nwood and paper\nwood art\nwood block pirnt\nwood block print\nwood block small hippo statue\nwood blocks bottom hippo body\nwood branch moss plants\nwood bridges\nwood burn\nwood cabin in distance\nwood cabinets\nwood carved chair\nwood carving\nwood chair\nwood cups\nwood door\nwood effect\nwood elf\nwood engraving\nwood floor\nwood furnishings\nwood grain\nwood headphones\nwood headphones hyperrealistic\nwood materials\nwood ornaments\nwood panel walls\nwood paneling\nwood panels\nwood pier and houses\nwood planks\nwood print\nwood sculpture\nwood surface\nwood table\nwood texture\nwood texture on top\nwood texture overlays\nwoodblock\nwoodblock print\nwoodcut\nwoodcut art\nwoodcut print\nwoodcut style\nwooded environment\nwooden\nwooden armor\nwooden art nouveau swirls\nwooden art toys\nwooden art toys on base\nwooden background\nwooden banks\nwooden bark armor\nwooden boat\nwooden bowl\nwooden bridge\nwooden buildings\nwooden cabinet\nwooden casing\nwooden ceiling\nwooden coffee table\nwooden cottage\nwooden crates\nwooden crates and barrels\nwooden decoration\nwooden desks with books\nwooden fence\nwooden floor\nwooden floor boards\nwooden floors\nwooden frame\nwooden furniture\nwooden furtniture\nwooden headphones\nwooden hippo\nwooden house\nwooden houses\nwooden interior\nwooden jagannath face\nwooden jewerly\nwooden logs\nwooden magic wand\nwooden match sticks 4k texture\nwooden parquet\nwooden platforms\nwooden sailboats\nwooden side table\nwooden staff\nwooden stairs\nwooden statue\nwooden structures\nwooden supports\nwooden table\nwooden tables\nwooden toilets\nwooden trim\nwooden walls brass panels\nwooden walls with framed art\nwoodfired\nwoodland\nwoodland background\nwoodland backround\nwoodland creek\nwoodland grove\nwoodland location\nwoodland setting\nwoodland village\nwoodlands\nwoodlands style\nwoodlathe\nwoodpunk\nwoodrow wilson\nwoods\nwoods background\nwoods on fire\nwoodstock\nwoodturning\nwoody allen\nwoody foliage\nwoody from toy story\nwoody\\'s homework\nwoof woof\nwookie\nwool\nwool felting art\nwoolen torso in medieval clothes\nwop\nword\nwordly\nwords\nwork\nwork clothes\nwork in progress\nwork of art\nwork wheels\nwork-wheels\nworkbench\nworked stone\nworkers\nworkers revolution\nworking\nworking at mcdonalds\nworking clothes\nworking hard\nworking in a call center\nworking in an office\nworking in her science lab\nworking in the forge\nworking inside reactor room\nworking on a laptop at a desk\nworking on her laptop\nworking out\nworking out in the field\nworkout\nworksafe\nworksafe. 2000s\nworksafe. cgsociety\nworksafe. cinematic\nworksafe. dramatic\nworksafe. illustration\nworksafe. instagram photo\nworksafe.1990s\nworksafe.2000s\nworksafe.cgsociety\nworkshop\nworkshop background\nworld\nworld best photography\nworld boss kitten\nworld building\nworld championship fight\nworld curvature\nworld ending nuke\nworld machine\nworld map\nworld of darkness\nworld of fire and blood\nworld of lute\nworld of madness\nworld of only concrete\nworld of sleepers\nworld of the silence\nworld of war spaceships\nworld of warcarft\nworld of warcraft\nworld of warcraft armor\nworld of warcraft art\nworld of warcraft art style\nworld of warcraft concept art\nworld of warcraft elven druid\nworld of warcraft screenshot\nworld of warcraft spell icon\nworld of warcraft splash art\nworld of warcraft style\nworld on fire\nworld peace\nworld press photo\nworld press photo awarded\nworld record\nworld renowned artists\nworld seen only through a portal\nworld series of poker\nworld trade center twin towers\nworld tree\nworld war\nworld war 1\nworld war 2\nworld war 2 portrait photo\nworld war 3\nworld war 4\nworld war ii\nworld war ii military style\nworld war iii\nworld war one\nworld war one robot\nworld war three\nworld-bearing turtle\nworlds collide\nworlds within worlds\nworlf of warcraft\nworm\nworm brown theme\nworm hole\nworm monster\nworm mouth\nworm round mouth\nworm's - eye view\nworm's eye view\nworm's eye view from floor\nworm's eye view from the floor\nworm's-eye view\nworm\\'s eye view\nwormhole\nwormholes\nworms\nworms - eye - view\nworms - eye view\nworms eye view\nworms eye view from the floor\nworms intricated\nworms-eye view\nworms-eye-view\nworn\nworn black coat\nworn clothes\nworn decay texture\nworn mono - yellow wallpaper\nworn out\nworn out clothes\nworn paint\nworn pants\nworn traveling cloak\nworried\nworry\nworrying eyes\nworship\nworship of the pope\nworshipers\nworst\nworst place to live in europe\nworth 1 0 0 0. com\nworth 1000. com\nworth1000.com\nworthless\nworthlessness\nwotc\nwotjek fus\nwould you let me dress you\nwound\nwounded\nwounded soldiers\nwounds\nwoven armour\nwoven with electricity\nwow\nwow 4 k detail fantasy\nwow 4k detail fantasy\nwow atmosphere\nwow clouds\nwow factor\nwow i am artist now\nwow it is beautiful\nwow wow detail\nwow!\nwow!!!!!!\nwpa\nwpap\nwpol and sarasti\nwprost\nwraith\nwraith from apex legends\nwraiths riding in the sky\nwrapped\nwrapped arms\nwrapped blue background\nwrapped in a black scarf\nwrapped in black\nwrapped in black tentacles\nwrapped in cables and flowers\nwrapped in flowers\nwrapped in flowers and wired\nwrapped in leather straps\nwrapped in vines\nwrapped in wires and piones\nwrapped thermal background\nwrath\nwrath flame and ruin\nwreath of ferns\nwreathed in flame\nwrecked\nwrecked buildings\nwrecked cars\nwrecked technology\nwrench\nwrenches\nwrestler\nwrestler hulk hogan\nwrestlers wearing vr headsets\nwrestling\nwrestling ring\nwretched and corrupted knights\nwretched camel\nwrinkled\nwrinkled big cheeks\nwrinkled face\nwrinkled muscles skin\nwrinkled skin\nwrinkles\nwrinkles and muscle tissues\nwrinkles and muscles\nwrinkly\nwrinkly forehead\nwrithing\nwriting a letter\nwriting in journal\nwriting on a clipboard\nwritings\nwritten in a neat\nwrong perspective points\nwrote renaissance michelangelo\nwrought iron\nwrought iron architecture\nwrx golf\nwry smile\nwry smirk\nwsop\nwtf\nwu liu\nwukong\nwunderkammer\nwuthering heights\nwuxia\nww 1\nww 1 sith sorcerer\nww 2\nww 2 allied propaganda poster\nww 2 american propoganda poster\nww 2 historical photography\nww 2 normandy foy arnhem 1 9 4 4\nww 2 propaganda poster\nww 3\nww1\nww1 film photo\nww1 photo\nww1 trench\nww2\nww2 era\nww2 era photograph\nww2 historical photo\nww2 historical photography\nww2 normandy foy arnhem 1944\nww2 photo\nww2 space tech\nww3\nwwe\nwwf\nwwi\nwwii\nwwii propaganda poster\nwyatt earp and doc holliday\nwyeth\nwylops\nwyndham lewis. behance\nwyoming\nwyvern\nwētā fx\nx\nx - box\nx - day\nx - files\nx - men\nx - ray\nx - ray black and white\nx - wings\nx = √ 4 5 y + 1 2 5 z\nx logo\nx man costume\nx ray\nx wing starfighter\nx-man costume\nx-men\nx-men storm\nx-ray\nx-ray photography\nx-wing\nxbox\nxbox 3 6 0\nxbox 3 6 0 graphics\nxbox 360 graphics\nxbox series x\nxcopy teeth\nxenobiology\nxenoblade\nxenogears\nxenomorph\nxenomorph alien\nxenomorph octopus in a swamp\nxenomorphic\nxenomorphs\nxenon\nxenophobia\nxerography\nxerox punk\nxf iq 4\nxf iq4\nxhenomorph\nxi jinping\nxi jinping as winnie the pooh\nxi jinping vs donald trump\nxiang duan\nxianxia\nxianxia fantasy\nxianxia hero\nxiaofan zhang\nxiaoguang sun\nxiaolong wang\nxintong chen\nxision\nxision wu\nxix century military outfit\nxixth century painting\nxkcd\nxkung work\nxmen\nxparticles\nxqc\nxqcow\nxray\nxray art\nxray hd\nxray melting colors\nxray melting colors!!\nxsullo\nxue han\nxxl\nxxxtentacion\nxylophone\ny\ny 2 k\ny 2 k aesthetic\ny 2 k cutecore clowncore\ny 2 k cybercore\ny 2 k fashion\ny 2 k style\ny 2k\ny 2k aesthetic\ny 2k cutecore clowncore\ny 2k cybercore\ny 2k style\ny 3\ny pre-raphaelite\ny2k\ny2k aesthetic\ny2k design\ny2k style\ny2k!!!!!!\ny2k”\ny3\nyael shelbia\nyagami light\nyah\nyah! cultist journal cover\nyahcultist journal cover\nyakisugi\nyakuza\nyakuza 4\nyakuza slim girl\nyakuza tattoo on body\nyama no susume\nyamamoto\nyamato\nyami kawaii\nyamy\nyamy yamy\nyan\nyan gisuka\nyan morala\nyand.re\nyandere\nyandere intricate\nyandere. tall\nyang qi\nyangjun chen\nyanjun chengt\nyann arthus - bertrand\nyann blomquist\nyantra\nyaoi\nyard\nyarn\nyarn ball\nyaroslav tokar\nyashica me - 1\nyashica t 4\nyasuhiko yoshikazu\nyasuke 5 0 0 px models\nyasumoto oka\nyasunari ikenaga\nyasushi nirasawa\nyasushi nirasawa style\nyasushi nirasawa syd mead\nyautja\nyaw 0 degrees\nyawning\nyayoi kasuma\nycbcr\nye mighty\nyeah\nyear 1 9 0 0\nyear 1 9 1 4\nyear 1 9 2 0\nyear 1 9 4 4\nyear 1 9 7 0\nyear 1506\nyear 1850\nyear 1900\nyear 1920\nyear 1930\nyear 1968\nyear 1970\nyear 2 0 2 2\nyear 2 0 4 0\nyear 2 1 0 0\nyear 2 3 0 0\nyear 2 5 0 0\nyear 2 8 6 6\nyear 2040\nyear 2050\nyear 2099\nyear 2100\nyear 2134\nyear 2300\nyear 2447\nyear 3 0 0 0\nyear 3000\nyear 3022\nyear's best award\nyearbook photo\nyears best award\nyears old\nyeast\nyee chong\nyee chong silverfox\nyeezus\nyeezy\nyeezy collection\nyeg\nyelena belova\nyelling\nyelling furiously\nyellow\nyellow - orange eyes\nyellow and black\nyellow and black color scheme\nyellow and black grapes\nyellow and black trim\nyellow and blue\nyellow and blue and cyan\nyellow and blue color scheme\nyellow and blue ribbons\nyellow and charcoal\nyellow and charcoal leather\nyellow and cyan color palette\nyellow and green\nyellow and green scheme\nyellow and greens\nyellow and olive color scheme\nyellow and orange color scheme\nyellow and ornage color scheme\nyellow and purple color scheme\nyellow and purple tones\nyellow and red\nyellow and red color scheme\nyellow apples\nyellow artificial lighting\nyellow aura\nyellow aureole\nyellow awning\nyellow backdrop\nyellow background\nyellow background beam\nyellow battlefield theme\nyellow beak\nyellow broad sword\nyellow butterflies\nyellow calibri font\nyellow cap\nyellow carpeted\nyellow carrera glasses\nyellow charcoal\nyellow clothes\nyellow clouds\nyellow color scheme\nyellow colors\nyellow colours\nyellow crystal gem\nyellow cyborg eyes\nyellow details\nyellow dragon head festival\nyellow eye\nyellow eyes\nyellow flash\nyellow flowers\nyellow fur\nyellow fur explodes\nyellow gemstones\nyellow gemstones spikes\nyellow glowing background\nyellow hair\nyellow hardhat\nyellow helmet\nyellow hue\nyellow human-sized warforged\nyellow infrared\nyellow irises\nyellow lanterns\nyellow latex gloves\nyellow light\nyellow light spell\nyellow lighting\nyellow lighting from right\nyellow lightning\nyellow lights\nyellow magic theme\nyellow makeup\nyellow mech\nyellow mecha keetongu bionicle\nyellow minion from despicable me\nyellow mist\nyellow navy teal black and gold\nyellow neon cyborg eyes\nyellow ochre\nyellow ocre tint dominant\nyellow orange\nyellow ornate dress\nyellow overall\nyellow parasol\nyellow pupils\nyellow purple\nyellow purple green\nyellow purple green black\nyellow radiant magic\nyellow raincoat\nyellow ranger\nyellow rat pig\nyellow red scheme\nyellow robe\nyellow robes\nyellow rose\nyellow scheme\nyellow school bus\nyellow seaweed\nyellow skin\nyellow sky\nyellow space suit\nyellow spiky hair\nyellow sport glasses\nyellow street lights\nyellow sunshine\nyellow theme\nyellow tint\nyellow translucent lace\nyellow uneven teeth\nyellow volumetric fog\nyellow wallpaper\nyellow walls\nyellow windows and details\nyellow x-man costume\nyellow-orange\nyellow-robed cultist\nyellowed\nyellowed paper\nyellowed with age\nyellowing wallpaper\nyellowish full moon\nyellowish light\nyellows\nyellows and blacks\nyellows and reddish black\nyelow\nyeltsin\nyen press\nyennefer\nyennefer of vengerberg\nyes\nyes it goes on and on my friends\nyet unrecognizable\nyggdrasil\nyggrdasil\nyihao ren\nyin yang\nyin zhen chu\nying and yang\nyintion j - jiang geping\nyinyang shaped\nyiqiang and shurakrgt\nymmetrical\nymmm and that smell\nyo\nyo )\nyoda\nyoda as a zombie\nyoda fantasy art portrait\nyoda:-1\nyog - sothoth! yah\nyog - sothothyah\nyoga\nyoga meditation pose\nyoga pose\nyogurt\nyoh yoshinari\nyoh yoshinori\nyohann schepacz and laurel burch\nyohji yamamoto\nyoichi hatakenaka\nyoji shinakawa\nyoji shinkawa : : portrait\nyoji shinkawa and geof darrow\nyoji takeshige\nyokai\nyoki shinkawa\nyoko d'holbachie\nyoko dholbachie\nyoko matsugane as mai shiranui\nyoko taro\nyolie leif\nyolo\nyor forger\nyorkshire\nyorkshire terrier\nyoruba body paint\nyosemite\nyosemite valley\nyoshi\nyoshiaki kawajiri\nyoshida\nyoshifumi ushima\nyoshikata amano\nyoshikazu yasuhiko\nyoshiku\nyoshimi versus the evil robots\nyoshimura exhaust\nyoshinari yoh\nyoshio awazu\nyoshitaka\nyoshitaka amano and junji ito\nyoshitaka amano character design\nyoshitaka amano greg rutkowski\nyoshitaka amano octane render\nyoshitaka amano photorealistic\nyoshitaka amano style\nyoshitaka amano vibe\nyoshitakka amano karol bak\nyoshitomo nara\nyoshitomo nara and aya takano\nyoshiyuki sadamoto\nyosuke ueno\nyotobi\nyou\nyou are lost in the backrooms\nyou being dragon food\nyou better run\nyou can see all the passageways\nyou can see in the picture\nyou felt the edge again\nyou g face\nyou grow. then you focus on shit\nyou have yourself a very fun\nyou know\nyou looking into the maw\nyou may say i'm a dreamer\nyou may say im a dreamer\nyou see fishes\nyou wanted to\nyou were just like me\nyou won't believe it\nyou wont believe it\nyou're something special\nyoung\nyoung adorable korean face\nyoung adult\nyoung adult fantasy novel cover\nyoung adult male\nyoung almighty god\nyoung and beautiful\nyoung and cute\nyoung and cute girl\nyoung and slender\nyoung angry woman\nyoung anime girl\nyoung anime man\nyoung arab monica bellucci\nyoung asian girl\nyoung asian woman\nyoung audrey hepburn\nyoung beautiful\nyoung beautiful amouranth\nyoung beautiful face\nyoung beautiful hippie girl\nyoung beautiful woman\nyoung black woman\nyoung blonde boy fantasy thief\nyoung blonde woman\nyoung boy\nyoung business woman\nyoung carrie fisher\nyoung child\nyoung commoner\nyoung cute face\nyoung cute wan asian face\nyoung david bowie\nyoung dolly parton\nyoung dolly parton portrait\nyoung face\nyoung female\nyoung female face\nyoung female firefighter\nyoung female in black tuxedo\nyoung female ww 2 soldier\nyoung girl\nyoung girl in steampunk clothes\nyoung girl lies on a meadow\nyoung girl playing flute\nyoung girls\nyoung glitched woman\nyoung goddess\nyoung gravure idol\nyoung greek man\nyoung half elf wizard\nyoung handsome man\nyoung handsome pale roma\nyoung harpy-girl\nyoung himalayan woman\nyoung idol\nyoung jennifer connelly\nyoung jim caviezel\nyoung lady\nyoung lady cyborg\nyoung lynx\nyoung male\nyoung male anthro dragon\nyoung male with walking stick\nyoung man\nyoung man in a purple hoodie\nyoung man with beautiful face\nyoung man with medium - length\nyoung man with short\nyoung middle eastern woman\nyoung natalie portman\nyoung nicole kidman\nyoung noble\nyoung pretty gravure idol\nyoung prince\nyoung queen jezebel\nyoung redhead girl in motion\nyoung robert plant\nyoung scarlett johansson\nyoung sensual graceful\nyoung sensual graceful woman\nyoung sensual gravure idol\nyoung sensual woman\nyoung sexy elegant woman\nyoung shadow mage male\nyoung simon baker\nyoung skinny gravure idol\nyoung sophia loren\nyoung southern woman\nyoung spanish man\nyoung swimsuit model\nyoung teen\nyoung thug\nyoung tom hiddleston\nyoung tsar\nyoung victorian sad fancy lady\nyoung wan angel\nyoung with long hair\nyoung wizard\nyoung woman\nyoung woman as medusa\nyoung woman in a dress\nyoung woman in her 20s\nyoung woman looking up\nyoung woman with antlers\nyoung woman with long dark hair\nyoung woman with lynx head\nyoung woman's face\nyoung womans face\nyoung women\nyoung!!!\nyounger brother vibes\nyour head turns back\nyour mom\nyour name\nyour name movie style\nyour personal data avatar\nyoure something special\nyouth\nyouthful\nyouthful appeal\nyouthful colours\nyouthful face\nyouthful taliyah\nyoutube\nyoutube clickbait\nyoutube logo\nyoutube thumbnail\nyoutube video\nyoutube video screenshot\nyoutuber\nyoworld\nyu - no\nyuan - ti\nyugioh\nyugioh art style\nyugioh artwork\nyugioh card\nyugioh style\nyuichi kato\nyuji himukai\nyukata clothing\nyukii morita\nyukio - e\nyukito kishiro\nyukky\nyuli ban\nyulia nevskaya\nyum\nyume nikki\nyummy\nyun ling\nyung lean\nyuri shwedoff and tom bagshaw\nyuru camp\nyuruyuri\nyusuke murata\nyusuke murata and junji ito\nyusuke murata and makoto shinkai\nyusuke nakano\nyutja\nyuuka kazami\nyuuki hagure\nyuxiang chen\nyuya nagai\nyuyushiki\nyvonne strahovski\nyzy\nyzy gap\nz\nz brush\nz brushcentral\nz ed\nz nation\nz'gok. 8 k hd resolution\nz-brush\nz-brush sculpt\nz. beksinski\nzaba style\nzabrocki\nzac efron\nzac retz\nzach galifianakis funko pop\nzach hill\nzachary corzine\nzachary quinto\nzack de la rocha\nzack snyder 3 8 4 0 x 2 1 6 0\nzack snyder 3840 x 2160\nzack snyder cinematography style\nzaha hadi\nzaha hadid architecture\nzaha hadid building\nzaha hadid octane highly render\nzaha hadid style architecture\nzaku\nzany\nzaragoza gilberto soren\nzarya\nzarya from overwatch\nzaun\nzaush\nzawadzki\nzayn malik\nzbrush\nzbrush 3 d render\nzbrush 3d render\nzbrush art\nzbrush contest winner\nzbrush hard surface\nzbrush model\nzbrush render\nzbrush sculpt\nzbrush sculpt colored\nzbrush!!\nzbrushcentral\nzdislav beksinsk\nzdislav beksinsk - h768\nzdislav beksinski\nzdislav bexinski\nzdislaw beksinsi\nzdislaw beksinski\nzdiszlaw beksinski\nzdizslaw beksinski\nzdzidaw\nzdzislaw\nzdzislaw bekinski\nzdzislaw beksinksi\nzdzislaw beksinsk\nzdzislaw beksinski and canaletto\nzdzislaw beksinski style\nzdzislaw beksisnski\nzdzislaw beksiński\nzdzislaw belsinki\nzdzislaw oil on canvas\nzdzisław\nzdzisław beksinski and giger\nzdzisław beksiński\nzdzisław beksiński style\nzebra\nzebra op art\nzebra stripes\nzee day\nzeen chin and farel dalrymple\nzeen chin and terada katsuya\nzeiss\nzeiss 1 5 0 mm\nzeiss 1 5 0 mm f 2. 8 hasselblad\nzeiss 14mm f1.8\nzeiss 150 mm\nzeiss 150 mm f 2. 8 hasselblad\nzeiss 150mm f/ 2.8 hasselblad\nzeiss 150mm f/2.8 hasselblad\nzeiss 150mm f2.8 hasselblad\nzeiss 18mm f2.8\nzeiss 24mm f1.8\nzeiss 24mm f2.8\nzeiss 5 0 mm f 1. 8 lens\nzeiss 50 mm f 1. 8 lens\nzeiss 50mm f 10\nzeiss 50mm f1.8\nzeiss 50mm f2.8\nzeiss 75mm\nzeiss 8 0 mm f 2. 8 lens\nzeiss 80 mm f 2. 8 lens\nzeiss lens\nzeiss lenses\nzelda\nzelda and link\nzelda botw\nzelda breath of the wild\nzelda breath of the wild map\nzelda style art\nzelda twilight princess\nzelda with triforce\nzelensky having a tantrum\nzellk\nzen\nzen aesthetic\nzen atmosphere\nzen concept\nzen feeling\nzen garden\nzen ink\nzen meditation\nzen méditation cyberpunk\nzen natural background\nzen neon\nzen prisms\nzen sand carved lawn\nzen temple background\nzendaya\nzendaya as she-hulk\nzenescope\nzeng fanzh\nzeng fanzhi\nzenith angle\nzenith perspective\nzenith view\nzenithal lighting\nzenithal lightning\nzenithal view\nzenobia\nzenra taliyah\nzentai suit\nzenyatta from overwatch\nzeppelin\nzeppelin dock\nzeppelin in the air\nzerg\nzerg hydralisk\nzerg starcraft\nzero - hour\nzero dawn\nzero g\nzero gravity\nzero suit samus\nzero two\nzerochan\nzerochan art\nzeronis\nzeronis style\nzettai ryouiki\nzeus\nzezhou chen\nzhang daqian\nzhang yimou\nzhangjiajie\nzhangjiajie in early morning\nzhangjiajie national forest park\nzhao yun\nzhelong xu\nzhong lin\nzhongli from genshin impact\nzhouzhuang ancient town\nzhuoxin ye\nzido\nzig zag\nzig-zags. mountains\nziggurat\nzigor samaniego\nzigor samaniego style\nzillow interior\nzinc white\nzine\nzine cover\nzippered opening in skull\nzippers\nzirconium pants\nzmonzheng\nzochi\nzodiac\nzodiac libra sign\nzodiac sign\nzodiac signs\nzoe kazan\nzoe kravitz as an astronaut\nzoe kravitz futuristic astronaut\nzoe saldana\nzoey deschannel\nzoey frank\nzoidberg\nzoids\nzoids art\nzoltan\nzombie\nzombie apocalypse\nzombie arms out in front\nzombie chasing coffee\nzombie coffee logo\nzombie cyborg\nzombie drinking coffee logo\nzombie everywhere\nzombie face\nzombie from doom eternal\nzombie ghouls\nzombie holding coffee cup\nzombie horde\nzombie in horror concept art\nzombie killer\nzombie not enjoying coffee\nzombie pirate\nzombie reaching out of a grave\nzombie ronald reagan\nzombie with white eyes\nzombie yoda\nzombie's\nzombies\nzombies apocalipsis\nzombies attack\nzombies in the streets\nzombified\nzone of enders\nzone of the enders\nzoo\nzoo photography\nzooey deschanel\nzoology! fantastical creatures\nzoom\nzoom blur\nzoom in\nzoom in on face\nzoom lens\nzoom on alien face\nzoom out\nzoom photograph\nzoom shot\nzoomed\nzoomed in\nzoomed in shots\nzoomed out\nzoomed out full body\nzoomed out photography\nzoomed out portrait of a duke\nzoomed out shot\nzoomed out to show entire image\nzoomed out very far\nzoomed out view\nzoomed view of a banknote\nzoomorphic\nzoomorphism\nzootopia\nzootopia (2016)\nzootopia 2\nzootopia concept art\nzootopia movie style\nzootopia stile\nzootopia style\nzora\nzoran janjetov\nzordon from power rangers\nzorua pokemon\nzoë kravitz\nzuckerberg\nzuckerberg and bezos\nzulu\nzumi\nzumidraws\nzun\nzurbaran\nzx spectrum color palette\nzyzz\nzzislaw beksinski\n{on edge}\n{perfect body}\n{perfect eyes}\n{perfect face}\n{uncertain look}\n| 28mm |\n| 35mm|\n| demonic | horror themed\n| fine detail anime\n| | epic - fine - clean\n| | very very anime!!!\n|| very anime\n« attractive\n¯_(ツ)_/¯\nástor alexander\néclairage volumétrique\népaule devant pose\nƒ / 2. 5\nƒ / 3. 5\nƒ / 8\nƒ 1. 8\nƒ/2.5\nƒ/3.5\nƒ/5.0\nƒ/5.6\nƒ/8\nƒ1.8\nƒ5.6\nа fantasy proto-slavic mythology\nсastle on the rock\nсinematic lighting\nфото девушка курит\n—ar 16:9\n—n 9\n‘luca’\n‘raya and the last dragon’ etc\n‘zootopia’\n“ aerial view of a mountain\n“ anime\n“ ethereal\n“ femme on a galactic shore\n“ full body\n“ golden chalice\n“ golden cup\n“ iron bark\n“ painting\n“ scarlett johansson portrait\n“ sensual\n“2019 bmw m5 wagon\n“a dinosaur market\n“air jordan 1\n“anime girl\n“berries\n“derelict architecture buildings\n“diamonds\n“dnd dwarf\n“early 1900s daguerreotype\n“erebos’s titan\n“fire breathing dragon\n“gas station photography\n“hockey team logo\n“house music rave with dancers\n“hyper realistic\n“jeffrey” logo\n“leonardo dicaprio\n“loss of inner self\n“megan fox\n“meryl streep portrait\n“modern calligraphy art\n“natalie portman\n“organic\n“pig\n“pixel art\n“portrait of a cartoon animal\n“portrait of leonard cohen\n“puffy cloudscape\n“scarlett johansson portrait\n“the ultimate gigachad\n“totoro\n“uwu the prismatic person\n“wide shot\n“zendaya\n”beautiful anime woman\n”ultra realistic\n→ ⃣ spectrum darkness prime\n██full of expressions██\n███beautiful face███\n☁🌪🌙👩🏾\n☕ on the table\n✏️🎨\n✨🕌🌙\n❄️ corruption conceptart\n❤🔥🍄🌪\n【 sciart 💙💜 mson\nあかさたなは on twitter\nけもの\nアニメ\n中 元 节\n中 国 鬼 节\n千 葉 雄 大\n奈良美智\n王琛\n🇺🇦\n🌲🌌\n🌸 🌼 💮\n🌺 cgsociety\n🌻🎹🎼\n🍁 cute\n🍂 cute\n🍸🍋\n🎀 🍓 🧚\n🎀 🗡 🍓 🧚\n🎀 🧟 🍓 🧚\n🎀 🪓 🧚\n🎨🖌\n🎨🖌️\n🐋 as 🐘 as 🤖 as 👽 as 🐳\n🐎🍑\n🐝👗👾\n🐿🍸🍋\n👁🌹👾\n👅 👅\n👰 🏇 ❌ 🍃\n💋 💄 👠 👗\n💣 💥\n💣 💥💣 💥\n📷 mungojerrie and rumpleteazer\n🔞🤡\n🔥 😎 🕹️ 👀\n🔥 😎 🕹️ 👀 :2\n🕹️ 😎 🔫 🤖 🚬\n🕹️ 😎 🚬\n😃😀😄☺🙃😉😗\n😭 🤧 💔\n😭 🤮 💕 🎀\n😭🤮 💔\n😱 chaos · nightmare resin\n🚀🌈🤩\n🚀🚀🚀\n🚿🗝📝\n🤠 using a 🖥\n🤤 girl portrait\n🤬 🤮 💕 🎀\n🥥 🍕 hybrid\n🦑 design\n🦩🪐🐞👩🏻🦳\n🧒 📸 🎨\n🪔 🎨;🌞🌄\n"
  },
  {
    "path": "data/img2txt/mediums.txt",
    "content": "a 2 koma\na 2koma\na 3D render\na 4 koma\na 4koma\na 6 koma\na 6koma\na 8 koma\na 8koma\na black and white photo\na bronze sculpture\na cartoon\na cave painting\na character portrait\na charcoal drawing\na child's drawing\na color pencil sketch\na colorized photo\na comic book panel\na computer rendering\na cross stitch\na cubist painting\na detailed drawing\na detailed matte painting\na detailed painting\na diagram\na digital painting\na digital rendering\na drawing\na fine art painting\na flemish Baroque\na gouache\na hologram\na hyperrealistic painting\na jigsaw puzzle\na koma\na low poly render\na macro photograph\na manga drawing\na marble sculpture\na matte painting\na microscopic photo\na mid-nineteenth century engraving\na minimalist painting\na mosaic\na painting\na pastel\na pencil sketch\na photo\na photocopy\na photorealistic painting\na picture\na pointillism painting\na polaroid photo\na pop art painting\na portrait\na poster\na raytraced image\na renaissance painting\na screenprint\na screenshot\na silk screen\na sketch\na statue\na still life\na stipple\na stock photo\na storybook illustration\na surrealist painting\na surrealist sculpture\na tattoo\na tilt shift photo\na watercolor painting\na wireframe diagram\na woodcut\nan abstract drawing\nan abstract painting\nan abstract sculpture\nan acrylic painting\nan airbrush painting\nan album cover\nan ambient occlusion render\nan anime drawing\nan art deco painting\nan art deco sculpture\nan engraving\nan etching\nan illustration of\nan impressionist painting\nan ink drawing\nan oil on canvas painting\nan oil painting\nan ultrafine detailed painting\nchalk art\ncomputer graphics\nconcept art\ncyberpunk art\ndigital art\negyptian art\ngraffiti art\nlineart\npixel art\nposter art\nvector art\n"
  },
  {
    "path": "data/img2txt/movements.txt",
    "content": "abstract art\nabstract expressionism\nabstract illusionism\nacademic art\naction painting\naestheticism\nafrofuturism\naltermodern\namerican barbizon school\namerican impressionism\namerican realism\namerican romanticism\namerican scene painting\nanalytical art\nantipodeans\narabesque\narbeitsrat für kunst\nart & language\nart brut\nart deco\nart informel\nart nouveau\nart photography\narte povera\narts and crafts movement\nascii art\nashcan school\nassemblage\naustralian tonalism\nauto-destructive art\nbarbizon school\nbaroque\nbauhaus\nbengal school of art\nberlin secession\nblack arts movement\nbrutalism\nclassical realism\ncloisonnism\ncobra\ncolor field\ncomputer art\nconceptual art\nconcrete art\nconstructivism\ncontext art\ncrayon art\ncrystal cubism\ncubism\ncubo-futurism\ncynical realism\ndada\ndanube school\ndau-al-set\nde stijl\ndeconstructivism\ndigital art\necological art\nenvironmental art\nexcessivism\nexpressionism\nfantastic realism\nfantasy art\nfauvism\nfeminist art\nfiguration libre\nfigurative art\nfigurativism\nfine art\nfluxus\nfolk art\nfunk art\nfurry art\nfuturism\ngenerative art\ngeometric abstract art\ngerman romanticism\ngothic art\ngraffiti\ngutai group\nhappening\nharlem renaissance\nheidelberg school\nholography\nhudson river school\nhurufiyya\nhypermodernism\nhyperrealism\nimpressionism\nincoherents\ninstitutional critique\ninteractive art\ninternational gothic\ninternational typographic style\nkinetic art\nkinetic pointillism\nkitsch movement\nland art\nles automatistes\nles nabis\nletterism\nlight and space\nlowbrow\nlyco art\nlyrical abstraction\nmagic realism\nmagical realism\nmail art\nmannerism\nmassurrealism\nmaximalism\nmetaphysical painting\nmingei\nminimalism\nmodern european ink painting\nmodernism\nmodular constructivism\nnaive art\nnaturalism\nneo-dada\nneo-expressionism\nneo-fauvism\nneo-figurative\nneo-primitivism\nneo-romanticism\nneoclassicism\nneogeo\nneoism\nneoplasticism\nnet art\nnew objectivity\nnew sculpture\nnorthwest school\nnuclear art\nobjective abstraction\nop art\noptical illusion\norphism\npanfuturism\nparis school\nphotorealism\npixel art\nplasticien\nplein air\npointillism\npop art\npop surrealism\npost-impressionism\npostminimalism\npre-raphaelitism\nprecisionism\nprimitivism\nprivate press\nprocess art\npsychedelic art\npurism\nqajar art\nquito school\nrasquache\nrayonism\nrealism\nregionalism\nremodernism\nrenaissance\nretrofuturism\nrococo\nromanesque\nromanticism\nsamikshavad\nserial art\nshin hanga\nshock art\nsocialist realism\nsots art\nspace art\nstreet art\nstuckism\nsumatraism\nsuperflat\nsuprematism\nsurrealism\nsymbolism\nsynchromism\nsynthetism\nsōsaku hanga\ntachisme\ntemporary art\ntonalism\ntoyism\ntransgressive art\nukiyo-e\nunderground comix\nunilalianism\nvancouver school\nvanitas\nverdadism\nvideo art\nviennese actionism\nvisual art\nvorticism\n"
  },
  {
    "path": "data/img2txt/sites.txt",
    "content": "Artstation\nbehance\ncg society\ncgsociety\ndeviantart\ndribble\nflickr\ninstagram\npexels\npinterest\npixabay\npixiv\npolycount\nreddit\nshutterstock\ntumblr\nunsplash\nzbrush central\n"
  },
  {
    "path": "data/img2txt/subreddits.txt",
    "content": "/r/ImaginaryAetherpunk\n/r/ImaginaryAgriculture\n/r/ImaginaryAirships\n/r/ImaginaryAliens\n/r/ImaginaryAngels\n/r/ImaginaryAnimals\n/r/ImaginaryArchers\n/r/ImaginaryArchitecture\n/r/ImaginaryArmor\n/r/ImaginaryArtisans\n/r/ImaginaryAssassins\n/r/ImaginaryAstronauts\n/r/ImaginaryAsylums\n/r/ImaginaryAutumnscapes\n/r/ImaginaryAviation\n/r/ImaginaryAzeroth\n/r/ImaginaryBattlefields\n/r/ImaginaryBeasts\n/r/ImaginaryBehemoths\n/r/ImaginaryBodyscapes\n/r/ImaginaryBooks\n/r/ImaginaryCanyons\n/r/ImaginaryCarnage\n/r/ImaginaryCastles\n/r/ImaginaryCaves\n/r/ImaginaryCentaurs\n/r/ImaginaryCharacters\n/r/ImaginaryCityscapes\n/r/ImaginaryClerics\n/r/ImaginaryCowboys\n/r/ImaginaryCrawlers\n/r/ImaginaryCultists\n/r/ImaginaryCybernetics\n/r/ImaginaryCyberpunk\n/r/ImaginaryDarkSouls\n/r/ImaginaryDemons\n/r/ImaginaryDerelicts\n/r/ImaginaryDeserts\n/r/ImaginaryDieselpunk\n/r/ImaginaryDinosaurs\n/r/ImaginaryDragons\n/r/ImaginaryDruids\n/r/ImaginaryDwarves\n/r/ImaginaryDwellings\n/r/ImaginaryElementals\n/r/ImaginaryElves\n/r/ImaginaryExplosions\n/r/ImaginaryFactories\n/r/ImaginaryFaeries\n/r/ImaginaryFallout\n/r/ImaginaryFamilies\n/r/ImaginaryFashion\n/r/ImaginaryFood\n/r/ImaginaryForests\n/r/ImaginaryFutureWar\n/r/ImaginaryFuturism\n/r/ImaginaryGardens\n/r/ImaginaryGatherings\n/r/ImaginaryGiants\n/r/ImaginaryGlaciers\n/r/ImaginaryGnomes\n/r/ImaginaryGoblins\n/r/ImaginaryHellscapes\n/r/ImaginaryHistory\n/r/ImaginaryHorrors\n/r/ImaginaryHumans\n/r/ImaginaryHybrids\n/r/ImaginaryIcons\n/r/ImaginaryImmortals\n/r/ImaginaryInteriors\n/r/ImaginaryIslands\n/r/ImaginaryJedi\n/r/ImaginaryKanto\n/r/ImaginaryKnights\n/r/ImaginaryLakes\n/r/ImaginaryLandscapes\n/r/ImaginaryLesbians\n/r/ImaginaryLeviathans\n/r/ImaginaryLovers\n/r/ImaginaryMarvel\n/r/ImaginaryMeIRL\n/r/ImaginaryMechs\n/r/ImaginaryMen\n/r/ImaginaryMerchants\n/r/ImaginaryMerfolk\n/r/ImaginaryMiddleEarth\n/r/ImaginaryMindscapes\n/r/ImaginaryMonsterBoys\n/r/ImaginaryMonsterGirls\n/r/ImaginaryMonsters\n/r/ImaginaryMonuments\n/r/ImaginaryMountains\n/r/ImaginaryMovies\n/r/ImaginaryMythology\n/r/ImaginaryNatives\n/r/ImaginaryNecronomicon\n/r/ImaginaryNightscapes\n/r/ImaginaryNinjas\n/r/ImaginaryNobles\n/r/ImaginaryNomads\n/r/ImaginaryOrcs\n/r/ImaginaryPathways\n/r/ImaginaryPirates\n/r/ImaginaryPolice\n/r/ImaginaryPolitics\n/r/ImaginaryPortals\n/r/ImaginaryPrisons\n/r/ImaginaryPropaganda\n/r/ImaginaryRivers\n/r/ImaginaryRobotics\n/r/ImaginaryRuins\n/r/ImaginaryScholars\n/r/ImaginaryScience\n/r/ImaginarySeascapes\n/r/ImaginarySkyscapes\n/r/ImaginarySlavery\n/r/ImaginarySoldiers\n/r/ImaginarySpirits\n/r/ImaginarySports\n/r/ImaginarySpringscapes\n/r/ImaginaryStarscapes\n/r/ImaginaryStarships\n/r/ImaginaryStatues\n/r/ImaginarySteampunk\n/r/ImaginarySummerscapes\n/r/ImaginarySwamps\n/r/ImaginaryTamriel\n/r/ImaginaryTaverns\n/r/ImaginaryTechnology\n/r/ImaginaryTemples\n/r/ImaginaryTowers\n/r/ImaginaryTrees\n/r/ImaginaryTrolls\n/r/ImaginaryUndead\n/r/ImaginaryUnicorns\n/r/ImaginaryVampires\n/r/ImaginaryVehicles\n/r/ImaginaryVessels\n/r/ImaginaryVikings\n/r/ImaginaryVillages\n/r/ImaginaryVolcanoes\n/r/ImaginaryWTF\n/r/ImaginaryWalls\n/r/ImaginaryWarhammer\n/r/ImaginaryWarriors\n/r/ImaginaryWarships\n/r/ImaginaryWastelands\n/r/ImaginaryWaterfalls\n/r/ImaginaryWaterscapes\n/r/ImaginaryWeaponry\n/r/ImaginaryWeather\n/r/ImaginaryWerewolves\n/r/ImaginaryWesteros\n/r/ImaginaryWildlands\n/r/ImaginaryWinterscapes\n/r/ImaginaryWitcher\n/r/ImaginaryWitches\n/r/ImaginaryWizards\n/r/ImaginaryWorldEaters\n/r/ImaginaryWorlds\n"
  },
  {
    "path": "data/img2txt/tags.txt",
    "content": "04matsuko\n100-percent-donmai\n101-goushitsu\n35-machi\n39tei\n3dlive\n5505-project\n5base\n6channel\n6no1\n6tsuno87\n774cake\na-kyokufuri\na-m-house\na-w-u\nabortion\nabsorption\naburitoro-salmon-o-kawari\nabuto-usui\nadorablew\nadventitious-mouth\nadventitious-penis\nadventitious-vagina\nafro\nage-progression\nage-regression\nagnes-digital\nahegao\nahoderasouryo\nahoge-kinoko\naidaruki\nairpink\naizawa-anji\naizawa-seinikuten\naji-ponntarou\nakaimelon\nakari-sonozaki\nakatsuki-sunsun\naki-aw\nakigami-satoru\nakubinium\nakuma-no-memu-memu-chan\nakumakko\nakuyaku-warai-sandankatsuyou\nalbino\nalicia-viewstream\nalien\nalien-girl\nall-the-way-through\nalmirua\namagyappa\namamiya-kokoro\namane-hayabusa\namane-san\namputee\namuai\nan-arc-xxx\nanal\nanal-birth\nanal-intercourse\nanal-prolapse\nanalphagia\nangel\nangel-ice\nangelfish\nanimal-on-animal\nanimal-on-furry\nanimated\nanimegao\nanorexic\nanthology\naoi-riku\naosaki-hifumi\naoto-kage\napparel-bukkake\napron\nararagi-himegiku\narasa-mama-no-watashi-de-iino\narcmothra\nari-and-mura\nariane-glenys-lalatoya\narisawa-touta\narmpit-licking\narmpit-sex\nartbook\nartistcg\narumaito\narurukaana7a\nasagiya\nasahina-mafuyu\nasakura-r\nasashina\nasatsuki-aoi\nash-plus\nashina-mellow\nashino\nashitsubo\nasia-kei-gang\nasphyxiation\nass-expansion\nassjob\natelier30\naunt\nautofellatio\nautopaizuri\nayase-mio\nazamidon\nazechi-kiyoshi\nbabu-no-ki\nbald\nball-sucking\nballjob\nballs-expansion\nbandages\nbandaid\nbankoku-ayuya\nbara-manji\nbarghest\nbat-girl\nbattenkyuuki\nbbm\nbbw\nbdsm\nbear\nbear-girl\nbeauty-mark\nbee-girl\nbekobeko\nbestiality\nbig-areolae\nbig-ass\nbig-balls\nbig-breasts\nbig-clit\nbig-lips\nbig-muscles\nbig-nipples\nbig-penis\nbig-vagina\nbikai\nbike-shorts\nbikini\nbirth\nbiscuitone\nbisexual\nblackmail\nblind\nblindfold\nblood\nbloomers\nblowjob\nblowjob-face\nblue-history\nbody-modification\nbody-painting\nbody-swap\nbody-writing\nbodystocking\nbodysuit\nbondage\nbonus-call\nbori\nboukensha-c\nbrain-fuck\nbreast-expansion\nbreast-feeding\nbreast-reduction\nbride\nbrother\nbrr\nbujidearu\nbukkake\nbull\nbump-mania\nbunbuku-nagi\nbunny-boy\nbunny-girl\nburanran\nburied-stars\nburping\nburun-babon\nbusiness-suit\nbutler\ncalmflower\ncannibalism\ncappuccino\ncapsaicin\ncaptain-mizuki\ncaption\ncapy-shuupan\ncardfight-v-master\ncarter\ncashier\ncasiopute\ncat\ncatame\ncatboy\ncatfight\ncatgirl\ncatgirlwitch\ncatnip-s-tablet\ncbt\ncementite\ncensorship\ncentaur\ncerbe3\ncercis\ncerecere\ncervix-penetration\ncervix-prolapse\ncha-bou\nchairo\nchastity-belt\ncheating\ncheerleader\ncherry-blossoms\nchie-takemoto\nchii-chan-no-oshinagaki\nchikan\nchikara-koso-power\nchikichikin\nchikumaya\nchikushi-hirokazu\nchikuwa-factory\nchikuwa-soft\nchildbox\nchina-rose\nchinese-dress\nchinpan\nchinpogge\nchinpoki\nchiparu\nchirotata\nchitsu-kara-liver\nchiyou-yoyuchi\nchloroform\nchocobeam\nchocolat-lilou\nchoma\nchongera\nchristmas\nchuuindou-shoukai\ncircle-guri\ncircle-ism\ncircle-takaya\ncircle-utumno\nclamp\nclit-growth\nclit-insertion\nclit-stimulation\nclone\nclosed-eyes\ncloseranks\nclothed-female-nude-male\nclothed-male-nude-female\nclothed-paizuri\nclown\ncoach\ncock-ring\ncockphagia\ncockslapping\ncocoroach\ncollar\ncollon-club\ncomic\ncomjack-project\ncompilation\ncon-narita\ncondom\nconejologia\nconjoined\nconsent\ncoprophagia\ncorruption\ncorset\ncosplaying\ncount-mecha\ncousin\ncow\ncowgirl\ncowman\ncream-punch\ncroriin\ncross-road\ncrossdressing\ncrotch-tattoo\ncrown\ncrying\ncum-bath\ncum-in-eye\ncum-swap\ncumflation\ncunnilingus\ncuntboy\ncuntbusting\ncurry-aji\ncyclosabakan\ndainzia\ndaiya-owada\ndakimakura\ndakko-ja-rrs-2nd\ndan-oniroku\ndangomushi\ndark-nipples\ndark-sclera\ndark-skin\ndarkness-sha\ndarkness-yuma\ndarymaya\ndate-roku\ndaughter\ndeaimon\ndeepthroat\ndeer\ndeer-boy\ndeer-girl\ndefaced\ndefloration\ndeko-ga-areba-boko-ga-aru\ndelicious-party-precure\ndelta-studio\ndeluxe-kougyou\ndemon\ndemon-girl\ndenki-anma\ndennou-figure-alice\ndensetsu-guji\ndenyel\ndetached-sleeves\ndevils-tongue\ndiaper\ndick-growth\ndickgirl-on-dickgirl\ndickgirl-on-male\ndickgirls-only\ndicknipples\ndilf\ndinosaur\ndismantling\ndmc-juukou\ndo-wa\ndoemutan\ndog\ndog-boy\ndog-girl\ndogaya\ndoggie-yu\ndoku-doku-kinoko\ndoll-joints\ndolphin\ndomination-loss\ndomino-gumi\ndonkey\ndonmaikingdom\ndonshoku-echiechi-dragon\ndouble-anal\ndouble-blowjob\ndouble-penetration\ndouble-vaginal\ndougi\ndoujinharuga\ndoujinshi\ndoyou-saburou\ndragon\ndrd\ndrill-hair\ndrogod\ndropwort-bell\ndropwortbell\ndrugs\ndrunk\ndummy-kaiko\ne-note\neagle-land\near-fuck\neba-uenihane\nebi-fry-teishoku\nebiken\nebio\nechigonokuni\neconokicks\neel\neggs\neihikanshi\nel115\nelectric-shocks\nelectromonkey\nelf\nelizabeth-collar\nels-tasmin\nemiya-alter\nemotionless-sex\nemumalik\nemuo\nenami-nao\nenari\nendeaa\nenema\nenidou\nenomaki\nere-2-aero\nerika-amano\nero-cup\nero-trap-dungeon\neroiroe\nerorhythm\nerosheee\neroshiku\neruu\nexcellent-furo\nexercise-abc\nexhibitionism\nexposed-clothing\neye-covering-bang\neye-penetration\neyebrows-born\neyemask\neyepatch\nezaki-yui\nezelith\nfacesitting\nfacial-hair\nfairy\nfaketale\nfalcons-nest\nfarting\nfate-grand-roder\nfather\nfe3c\nfemales-only\nfemdom\nfeminization\nfengxi\nfff-threesome\nffm-threesome\nfft-threesome\nfigure\nfilming\nfingering\nfirst-person-perspective\nfish\nfishin-and-loli\nfishnets\nfisting\nfixed-perpective\nfliming\nflour-spoon\nfocus-anal\nfocus-blowjob\nfocus-paizuri\nfood-on-body\nfoot-insertion\nfoot-licking\nfootjob\nforced-exposure\nforniphilia\nfox\nfox-boy\nfox-girl\nfoxtail-project\nfreak-studio\nfreckles\nfree-de-la-hoya\nfrog\nfrog-girl\nfrottage\nfudonofudou\nfugurisensen\nfuguta-ke\nfujii-kasai\nfujii-tei\nfujino-kaede\nfujisaki-chiro\nfujiwarake\nfull-body-tattoo\nfull-censorship\nfull-color\nfundoshi\nfuri-furi-youchien\nfurube\nfurukoto-takaichi\nfurutani\nfutaba-channel\nfutaba-tsukushi\nfutanari\nfutas-no-peanuts\nfuton-tatakiki\nfutsu\nfutsu-no-tapiocaya-san\nfutsuka-me\nfuurindou\nfuuzen-no-tomoshibi\nfuwa-nozomi\nfuwatoro-lion\nfuwatoro-opanchu-cake\ngachirin\ngag\ngairou\ngaisei\ngamanuntaka\ngame-manual\ngamecg\ngan-en\ngan-sukii\ngaping\ngarter-belt\ngasmask\ngatekeeper\ngekimabu\ngender-bender\ngender-change\ngender-morph\ngenkotsu-13-gou\nghost\ngiant\ngiant-sperm\ngiantess\ngigantic-breasts\ngijinka\ngikkuri-toufuten\nginmaru\ngirigirimai\nglasses\nglory-hole\ngloves\ngoblin\ngokkun\ngokudou-no-isshun\ngolden-bazooka\ngoldenbania\ngomio\ngorilla\ngorilla-mountain-shikoku\ngorou\ngothic-lolita\ngoudoushi\ngrade-eight\ngrand-plie\ngranddaughter\ngrandfather\ngrandmother\ngreat-akuta\ngreat-chocolate\ngreenleona\ngroup\ngrowth\ngunjou-croquette\nguradesu\nguro\ngurotuki\nguusuka\ngyaru\ngyaru-oh\ngymshorts\ngyoumuin-a\ngyuunyuucha-uma\nhaburashi\nhachikyu\nhachimaru-extreme\nhaien-kikan\nhaigure\nhair-buns\nhairjob\nhairy\nhairy-armpits\nhako-no-naka-no-imaginary\nhakoten\nhamidashi-kanitama\nhan-do-yoon\nhanafubu\nhananiarashi\nhandicapped\nhandjob\nhanekkaeri\nhanging\nhardcore\nhare\nharekaze\nharem\nharness\nharpy\nharu-chan-kikaku\nharu-hayate\nharuharu-dou\nharuhyan\nharusame-kakigoori\nhate-sate-club\nhatsuyuki-sakura\nhayabusa-takamaru\nhazuki-younosuke\nheadless\nheadphones\nheikou-sekai\nhenzutsuu\nherb-cookie\nhetare-drops\nheterochromia\nhida-naria\nhidari-harai\nhidden-sex\nhigehurai\nhigh-metal\nhiguchi-shuu\nhiguti-syu\nhiiro-uchiwa\nhijab\nhikaru-toyama\nhikawa-ritsu\nhinyari\nhirame-hirayama\nhirobi\nhirocan\nhironikuru-senga-anarogu\nhironobu\nhiropons\nhirota-shimaguni\nhisame-sui\nhitozuma-lollipop\nhiuh\nhiyori-tomoe\nhlord-recona\nhogarakka-plus\nhoine-shou\nhokkete-sho\nhokuyousuishi\nhololive\nhomare-works\nhome-center-tenco\nhoneyroad\nhonjou-tatami\nhood\nhori-yusuke\nhorii\nhorishiki\nhormone-shokudou\nhorns\nhorse\nhorse-boy\nhorse-cock\nhorse-girl\nhoshigaki-seizoujo\nhoshina-shinya\nhoshino-iro\nhoshino-takanashi\nhotate-san\nhotpants\nhourusudatsu\nhouwa-aji\nhow-to\nhoyhoy-colo\nhuge-breasts\nhuge-penis\nhugo-baint-renxandt\nhugo-baint-von-renxandt\nhuman-cattle\nhuman-on-furry\nhuman-pet\nhumiliation\nhyoui-no-jikan\nhyoukorarin\nhyouzan-daibakuha\nhyper-uc-circle\nibara-saegusa\nice-medel\nichi-gsm\nichimatsu-dango\nichino-milk\nichinose-nyan\nichisuruga-tsuyuki\nido-nite\niikuni-george\nijou-shiniki\nikahotaru\nill\nim-so-blue\nimageset\nimajin-kouji\nimamo-too\nimpregnation\nin-bed\nincest\nincest-inseki\nincomplete\ninfantilism\ninflation\ninsect\ninsect-boy\ninsect-girl\ninseki\ninternal-urination\ninverted-nipples\ninvisible\niolite\nisashiimiyo\nisekai-higaeri-manyuuki\nishihara-norihiro\nishiinu-tekkoujo\nishimari-yuuya\nishoku-dougen\nisshiki-fuji\nitabira-yasai\nitagaki-hiro\nitao-itsuko\nitau\nitokon-code\nitou-nao\nitsuka-yukihara\nitsuki-itsuki\nitsumo-no-yatsu\niwahisa-tsuki\niyo-no-kama\niyoudon\nizumo-fuyusora\njaguchi\njaja\njamta\njar-of-elements\njellypudding\njero\njewelry-box\njikken-b-tou\njiko-moratorium\njikomanzoku-manga-shuudan\njokerkin\njokuseiken\njosou-seme\njouyatou\njuewang-yuyi\njuki-kazu\njumyou-wa-isshukan\njun-sazanami\njunyomaru\njureinomori\njuuichi-gatsu\nk-t\nkaede-isami\nkaedex\nkaeru-douhu\nkagaku-chop\nkagamino-mochiko\nkairakuochisuki\nkaiten-paradogs\nkaito-dokuringo\nkakisaki\nkakkou-no-iinazuke\nkakoriri\nkakucho-parts\nkakuu-shoujo\nkamatsukatei\nkame-no-kotawashi\nkamenoashi\nkamiken\nkamineta\nkamipack\nkamo-nanban\nkamu-asa-sori-youtyuu-zyou\nkancho\nkanipon\nkankitsudou\nkaori-shimakura\nkappa\nkarnatia-seri-anabald\nkarou\nkarouke\nkarude-taku\nkaruken-parea\nkasai-yukiha\nkasumi-kaori\nkawai-hiraku\nkawara-soba\nkayou-arisa\nkayukan\nkazaoka\nkazefuki-poni\nkazu-ryuu\nkazuhiko\nkazukitodaemon\nkedama-no-gonjiro\nkeienu\nkeiji-kurobi\nkeinv\nkeishouryaku\nkemonomimi\nkensaki-tsurugi\nkepi\nkichiku-ruijinen-bu\nkido-jirou\nkien-biu\nkigurumi\nkigurumi-pajama\nkikakugai-extend\nkiki-seiran\nkikimoraru\nkimetsutenshi-l\nkimono\nkimtoxic\nkindergarten-uniform\nkinei\nkinginseki\nkinmokusei-no-shiro\nkinoko-youchien\nkinoto-kanade\nkirakou\nkirikizu-kou\nkiriko\nkisetsu-fuu\nkisetsufuu\nkissatei\nkissing\nkitsune-bousouzoku\nkitsune-no-nijibiya\nkiyomiya-ryou\nkiyoshi-gasuya\nkneepit-sex\nkobamiso\nkodomo-oukoku\nkodomokai\nkoeda-mameko\nkogeta-neko\nkogetsu\nkogure\nkoikatsu\nkojiin\nkokomi\nkokusai-hihoukan\nkomi-shouko\nkomikkukyassuru-junbi-iinkai\nkomyaku\nkondou-kisaki\nkonton-kurabu\nkoonago\nkosuke-poke\nkouan\nkouun-ryuusui\nkoyama-hayato\nkuba-yodomu\nkubo-minako\nkuchibiru-chazuke\nkudou-maimu\nkujo-shima\nkuki-isu\nkumagawa-yuuichi\nkumarin\nkumata-katsumi\nkunoichi\nkure-no-genki-na-goaisatsu\nkuremente\nkureo-kingyo\nkuri-dango-ya-sora\nkurimaru-satoshi\nkuroi-mello-yello\nkurosaki-shun\nkurotane\nkuroyume-koubou\nkutsudaru\nkuusou-jikkenshitsu\nkyuudai-manken-dennou\nlab-coat\nlabo\nlactation\nlady-bat\nlake-side\nlalala-holiday\nlander\nlarge-insertions\nlarge-tattoo\nlaserbeam\nlatex\nlayer-cake\nleash\nleg-lock\nlegjob\nleotard\nlestart\nlevi\nlhr\nlidenskap\nlimsett\nlingerie\nlion\nlittle-note\nliving-clothes\nlizard-girl\nlizard-guy\nloli-fan\nlolicon\nlong-tongue\nloon-koubou\nlostdragon01\nlove-tan\nlow-bestiality\nlow-guro\nlow-incest\nlow-lolicon\nlow-scat\nlow-shotacon\nlow-smegma\nludonic-alien\nlui-shirosagi\nluo-xiaohei\nlv-41\nma-maikea\nmaccho-morizou\nmachida-march\nmachine\nmadden\nmaggot\nmagical-girl\nmahomaho\nmahomaho-koubou\nmai-mai-miracle\nmaid\nmaikage\nmaina-asakura\nmakai\nmakeup\nmakinomachi-park\nmakochiya\nmakolas\nmakoyuki\nmakusu\nmala-xiao-longxia\nmale-on-dickgirl\nmales-onl\nmales-only\nmameroku\nmanaita-koubou\nmanami-ogura\nmanbo\nmanga\nmaou-dante\nmariel-legrand\nmaripaka\nmasaru\nmase-ryuuki\nmash\nmashi-miyuki\nmasked-face\nmaster-chikushoudou\nmasturbation\nmasuta\nmatsuda-val\nmatsumoto\nmatsurino-ato\nmatumoto-ke\nmaturbation\nmature\nmayu-ko\nmecha-boy\nmecha-girl\nmeimeikomei\nmelina\nmelonbooks\nmenstruation\nmentoru\nmermaid\nmerman\nmesuiki\nmetal-armor\nmian-mubo\nmiato\nmicchi\nmichiko\nmichio\nmidget\nmigi-hane\nmigi-ni-sasetsu\nmiginaa\nmiime\nmika-misono\nmiki-hime\nmiko\nmikomachi\nmikoshiba\nmikoshiba-kakyo\nmikoshiro-nagitoh\nmilf\nmilitary\nmilking\nmilkyboy\nmilkyboy-inc\nmill\nmimamoriencyo\nmiminoura\nmimitako-seijin\nmimutan\nminamo-ruri\nminamori-noeru\nminato-mirai\nmind-break\nmind-control\nmine-mura\nminigirl\nminiguy\nminotaur\nmiruki-amauri\nmisakitou\nmisc\nmisekiss\nmiso-tanuki-inka-teitoku\nmisoji-company\nmissing-cover\nmisstta\nmistressmiko\nmitari-gakuen\nmito-mitsukuni\nmitsuhide-rouen\nmitsumura-hachi\nmiyahama-ryou\nmiyamon\nmiyamoto-smoke\nmiyazen\nmizuhara-chitose\nmizuhara-zakuro\nmizuiro-penra\nmizusawahiro\nmizutamari-no-uta\nmmf-threesome\nmmm-threesome\nmmt-threesome\nmochapon\nmochichimaru\nmochinchi\nmofuaki\nmoheji\nmojihee\nmokkindou\nmokko\nmomendoufu\nmomoen\nmomomo-doumei\nmomomo-gasshuukoku\nmomoya\nmomoyamahato\nmon\nmonimonimo\nmonkey\nmonkey-boy\nmonkey-girl\nmonoeye\nmonster\nmonster-girl\nmonster-ken\nmoodeter\nmoomoomilk\nmoonlight-laboratory\nmoral-degeneration\nmorimori-kissaten\nmorimoriya\nmoriyama-inu\nmorokochiffon-cake\nmosaic-censorship\nmosoya\nmother\nmouri-toushirou\nmouse\nmouse-boy\nmouse-girl\nmouth-mask\nmr-bobo\nmr-kurz\nmt-sushi\nmtf-threesome\nmuchuu-yakou\nmugen-murasaki\nmult-work-series\nmulti-work-series\nmultimouth-blowjob\nmultipanel-sequence\nmultiple-arms\nmultiple-assjob\nmultiple-breasts\nmultiple-footjob\nmultiple-handjob\nmultiple-nipples\nmultiple-orgasm\nmultiple-orgasms\nmultiple-paizuri\nmultiple-penises\nmultiple-straddling\nmura-mura\nmurai-toyo\nmurakami-harumasa\nmurasaki-reika\nmuriyari\nmuroi\nmuscle\nmuscle-growth\nmushypeas\nmusicamach\nmute\nmysterious-heroine-xx\nmyuu\nnadesico-extacy\nnagahama-kenji\nnagisa-ran\nnagomix\nnaisho-da\nnajimaarc\nnajimaru\nnaka\nnakadashi\nnakagome\nnakahara-mizuimo\nnakamura-denki\nnakamura-kafka\nnako-sir\nnamakopie\nnamaniku\nnamazu-chaya\nnamiitcho\nnaminori-kamome\nnana-g\nnanahamu\nnananto\nnanohito\nnanonepio\nnanquanzl\nnappa-kaine\nnarumieru\nnatsukawa-kagari\nnatsuki-shinobu\nnatto-shiruko\nnauvvii\nnavel-fuck\nnazi\nnazono\nnecrophilia\nnedokoro-mitsuki\nneko-no-tendon\nneko-pan\nnekoyama-service\nneo-tokugawake\nnerima-aki\nnero-tarou\nnerumesian\nnestkeeper\nnetorare\nnexton\nnezumi-no-haha\nnezumichiru\nnf-freak\nnicolai-no-yome\nniece\nnihon-brain-tou\nniiruma-no-koya\nnijihashi-sora\nnijimaarc\nnijimaru\nnijisanji\nnikuju\nnikumayadorodou\nninja\nninomae\nnintai-akira\nnipple-birth\nnipple-expansion\nnipple-fuck\nnipple-stimulation\nnishieda-kinoe\nnitohen\nnitouhen\nniwaka-daimyou\nno-penetration\nno-tengo-nada\nnobiruko\nnodo\nnoilpoisoncat\nnokemon\nnomad-joe\nnon-h\nnon-h-imageset\nnon-nude\nnoraneko-nicole\nnoriuma\nnose-fuck\nnose-hook\nnudism\nnudism-idiots\nnudity-only\nnumata-shizumu\nnun\nnurse\nnurugai\nnya-tan\nnyaa-no-esa\nnyama\nnyan-dorosei\nnyantomo\nnyowawa\nochi\nochichio\nocita-micawa\noctopus\noekaki-ojisan\noil\noishii-oshiri\noishii-oshiri-cafe\noishinbo\nojarumaru\nokadaya-tetuzoh\nokamoto-nyohei\nokemaruta\nokugai\nokuoku\nokuribidokei\nold-lady\nold-man\nomorashi\nonahole\noni\nonibi\nonibi-kuudan\nonigunsow\nonome-shin\noohara-keiji\noohara-ya\nookamikaze-ryou\noosaki\nooya-nako\noppai-loli\norc\nore-teki-doremi-e\nore-to-kakuni-to-abura-soba\norgasm-denial\noritsuki-fumio\nosaru-no-kai\noshino\noshiroiro\nostrich\notama-jacuzzi\notetsuki\notokofutanari\notona-no-sexy-ehon\noudo-mikito\noumi-keimaisha\nouroboros\nout-of-order\nouta-san\nover-rice\noyakodon\np-craft\npaedosho-nii-san\npai-genji\npaizuri\npallapalla\npanda-girl\npandaj\npangohan\npants-o-pants\npantyhose\npantyjob\nparareyukicchu\nparasite\npasties\npastime774\npatapo\npavlov-no-neko\npawamaku\npayochiyo\npegging\npeimond\npenchapen\npenis-birth\npenny-dreadful\npenpenmaru\npersonality-excretion\npetapeta\npetplay\npetrification\nphase-e\nphimosis\nphone-sex\npichinki\npiercing\npig\npig-girl\npig-man\npillory\npinez\npink-no-sukesuke\npinkpaper\npinochika\npirate\npiss-drinking\npixie-cut\nplant-boy\nplant-girl\nplug\npoco-pene\npole-dancing\npoliceman\npolicewoman\nponchin-x\nponkotsu-afro\nponygirl\nponytail\npoor-grammar\npori\npossession\npottenpurincho-gyabin\npoyojirou\npregnant\nprehensile-hair\npress-gear\npriest\nprismatic-boy\npriysantheme\nproduce\nproject-take-4\nprolapse\nprostate-massage\nprostitution\npubic-stubble\npublic-use\npulque-factory\npuniket-junbikai\npuniru-wa-kawaii-slime\npurplian\npyonchi\npyonchi-koubou\nqiujun\nr-gakugu-nanagou-kenkyuushitsu\nrabbit\nraccoon-girl\nrace-queen\nragu\nraid-socks\nrainbow-zou\nrainy-eternity\nrakudai-ninja-rantaro\nramanda\nramuda\nrandoseru\nrap\nrape\nrariart\nrayasi\nrayou\nrayzhai\nreal-doll\nrealporn\nrecord-of-ragnarok\nred-light-red\nred-miso-soup\nred-plum-dianthus\nredosukan\nredraw\nrefrevo-comic\nreitou-yakisoba\nreplaced\nreptile\nretort\nretractable-penis\nreversible\nrim\nrimjob\nrin-nanagami\nritaomochi\nrk-2\nrobo-z\nrobot\nrobot-ponkottsu\nrof\nroji-ya\nroom101\nroppongi-nyugyo\nrorichikku-izm\nrough-grammar\nrough-translation\nryona\nryou\nryuuguu\nryuunokke\ns8403\nsaihou-yuki\nsaikime\nsaikoro\nsaita-katsutoshi\nsaitou-renji\nsakakibara-bieru\nsake-no-ate\nsakeno-tsumami\nsakuan\nsakura-no-tomoru-hie\nsakura-suishou\nsakurai-mizuki\nsalad-oil\nsalad-resort\nsaliva\nsalmontofu\nsanamaru\nsanehara\nsansan\nsantoka\nsarashi\nsasada-aki\nsasaki-kazuyuki\nsasaki-kudoo\nsate\nsatoru-hoashi\nsatotsuki-chiyo\nsawadai\nsawaru-na-kiken\nsayama-yukihiro\nscan\nscanmark\nscar\nscat\nschool-gym-uniform\nschool-swimsuit\nschoolboy-uniform\nschoolgirl-uniform\nschwarz-kastell\nschweinchen31\nscrivener-lahn\nscrotal-lingerie\nsechi\nseika-kyomachi\nseiniku-aikoukai\nseinyanko-gakuen\nseisha-ryuso\nseishokuki\nsekaiju-no-hakoniwa\nseki-hirame\nsekito-sakurada\nselfcest\nsemiemon\nsenoo-hibiteru\nsesshouin-kiara\nseto-natsutsuki\nseto-ryouko\nsex-toys\nsexpistols\nshachiku-san-wa-youjo-yuurei-ni-iyasaretai\nshade-no-urahime\nshako-punch\nshared-senses\nshark-boy\nshark-girl\nshaved-head\nsheep-girl\nshemale\nshiawase-na-choushoku\nshibaken-gorou\nshibari\nshibudaku-seisaku-iinkai\nshiga-hanako\nshigemaru-shigeru\nshikanoo-derako\nshimaidon\nshimapan\nshimejimo\nshimenawa-to-onna-no-ko\nshimizu-masaharu\nshimon-ryuushirou\nshimoshi\nshin-arata\nshinei-neko-hakase\nshinitate-hokahoka-zombie\nshinka-san\nshioimo\nshiokaze-toride\nshipu\nshiragi-mana\nshiranai-uchi-ni-level-max-ni-nattemashita\nshirasudon\nshiratamaya\nshiratorizawa-ai\nshirishiri-denbu-club\nshiromaru\nshishio\nshitsuren-restaurant-om\nshittori-bouzu\nshiyo\nshizaki-tsukiyo\nshizuko-kawawa\nshizuku-yaegashi\nshizukuno-reyu\nshizuma\nsho-utsumi\nshokushu-teikoku\nshokuyou-arikui\nshort-kami\nshotacon\nshotashikan-kyouwakoku\nshoudama-potekora\nshoujo-yoshitsune-den\nshounan-rakujin-society\nshrimp-cake\nshrinking\nshuhan\nshunga-no-hassan\nshuroop\nshuusuke-takanashi\nsiansi\nsimasima\nsimaura\nsink49\nsiruto\nsister\nsix-at-tree\nsk2b\nskeb\nskeleton-knight-in-another-world\nsketch-lines\nskinsuit\nskunk-girl\nslashpalooza\nslave\nsleeping\nslime\nslime-boy\nslime-girl\nslime-taoshite-300-nen-shiranai-uchi-ni-level-max-ni-nattemashita\nslug\nsmall-breasts\nsmall-penis\nsmalldom\nsmegma\nsmell\nsmile-foran-company\nsmoking\nsnail-girl\nsnake\nsnake-boy\nsnake-girl\nsnow-rain\nsnuff\nsoboro\nsockjob\nsokushi\nsole-dickgirl\nsole-female\nsole-femla\nsole-fmelae\nsole-male\nsole-pussyboy\nsolo-action\nsonna-bakana\nsonora\nsoramame\nsorya-anmarida\nsoudeiba\nsound-project\nsoushuuhen\nspace-ship\nspanking\nsparkling-cookie\nspeculum\nspider\nspider-girl\nsquid-boy\nsquid-girl\nsquirrel-girl\nsquirting\nssbbm\nssbbw\nstainless-night\nstealth-koubou\nstealthcraftwork\nstellar-drop\nstewardess\nstirrup-legwear\nstockings\nstomach-deformation\nstory-arc\nstraitjacket\nstrand-infinity\nstranded\nstrap-on\nstretching\nstuck-in-wall\nstudio-galapagos\nstudio-honey\nsudou-raikuu\nsuehiro-machi\nsuelecia-zagan-analeit\nsuga-juurou\nsugishin\nsuguru-getou\nsuihei-teil\nsukezaemon\nsukuna\nsumairu\nsumata\nsumou\nsundress\nsunglasses\nsupuratta\nsushi-yama\nsuzugaeru\nsuzuki-kenya\nsuzuki-takeshi\nsuzunashi-rei\nsuzuoka-chitose\nsuzurikawa-wasabi\nsuzushiro-rei\nsuzushiro-seri\nsway\nsweating\nsweetie\nswimsuit\nswinging\nsyake-ama\nsyno\nsynolee\nsyntier13\nsyoumeiya\nsyringe\nsyunka-kikaku\nsyunkarow\nta-ta\ntable-masturbation\ntachibana-ruri\ntachiko\ntadashi-akira\ntadashigaki\ntado-jou\ntagajyou-grand-fleet\ntaiko-no-fang\ntail\ntail-plug\ntailjob\ntailphagia\ntaimanin\ntaishou-dokanism\ntaiyaki-pan\ntaiyou-no-nishi\ntakaedakanihasami\ntakeefu\ntakemitsu-tenta\ntakeshinshi\ntakuan-labo\ntakurowodou\ntall-girl\ntall-man\ntana-kayushi\ntankoubon\ntankouyon\ntanlines\ntaroimo-tarou\ntaroimobatake\ntarutoru\ntasuke-seinyuu\ntatsuko\ntattsuu\ntawashi\ntawawa-seimenjo\nteacher\nteaser-apron\nteiryoku-lolita\nteishibou-chichi\ntekko\ntekkou-bondo\ntenga\ntenkoinu\ntenmusu\ntentacles\ntenuwi\ntepen\nterano-haruna\nterasumc\nterauchi-takahiro\nteritama-potekora\nteriyaki-sasami\nteriyaki-sasami-donburi\ntetsudou-hisakawa\ntexteater\nthe-future-retro-hero-story\nthe-genie-family\nthe-legend-of-luoxiaohei\nthemeless\nthick-eyebrows\nthigh-high-boots\nthirty8ght\ntiara\ntickling\ntiger\ntights\ntime-stop\ntiny-planet\ntkf\ntkosukotei\ntnd\nto-hegemonicon\ntoaru-kagaku-no-railgun\ntoaru-majutsu-no-index\ntoba-minami\ntobiume-sayu\ntokakukaku\ntokunaga-poosaku\ntokyo-kumitaisou-gumi\ntomatoedge\ntomboy\ntomgirl\ntomikadou\ntominokozoku\ntomonori-iwaki\ntonari-toyama\ntonezato-honu\ntontorotei\ntoono-esuke\ntoorisugari-kari\ntooth-brushing\ntoprush\ntops\ntoranoana\ntorayarou\ntori-seisakusho\ntoriaezu-sasahara\ntorigara-mayo\ntornado\ntorobakoya\ntorotei\ntorotoro-yume-banana\ntorture\ntotorina\ntoubousha\ntouka-genteki\ntouya-toufuten\ntouyou-buzyutu-gakkou\ntoyoda-poem\ntoyono-kitsune\ntracksuit\ntrampling\ntranformation\ntransformation\ntransparent-clothing\ntribadism\ntricky\ntriple-anal\ntriple-penetration\ntriple-vaginal\ntripura-shounen\ntruffe\ntsp\ntsujidou-ayase\ntsuruga\ntsurumaki-maki\nttf-threesome\nttm-threesome\nttt-threesome\ntube\ntuna-empire\nturisasu\nturquoise\ntutor\ntuxig\ntwinkyweeb\ntwins\ntwintails\ntyontyon\nu-ally\nuchuu-jin-tanaka-tarou\nudokurokujou\nudon-attack\nuenosuke\nuguisu-se\nultimate-safaripark\numai\numeda\numeda-ku\numeda-nautilus\numizoko\numou\nuna-otomachi\nunbirth\nuncensored\nuncle\nunderwater\nuni18\nunicorn\nunion-bust\nuniversal-12\nunusual-insertions\nunusual-pupils\nunusual-teeth\nunya\nunyakun\nura-chacha-seisaku-iinkai\nurethra-insertion\nuri-tan\nurination\nurushibara-koubou\nurushibara-yasuhiro\nusaman-senpai\nusayama-nico\nushiking\nushio-kiyoshi\nushitora-kimon\nushitoya\nutatane\nuwatteru\nuyuu\nv-u-g\nv-yuusha-no-kuse-ni-namaikida-r\nvacbed\nvaginal-birth\nvaginal-sticker\nvampire\nvariant-set\nvegetablenabe\nvel\nvery-long-hair\nvesves\nvidro\nvildred\nvillain\nvirginity\nvirgo0901\nvomit\nvore\nvorefection\nvorevore\nvoyeurism\nvtuber\nwaccha-primagi\nwai-dei\nwaiter\nwaitress\nwajima24\nwakimiunten\nwakiya\nwal\nwalkure\nwar-devil\nwararu\nwarrior-of-light\nwarui-hito\nwatermarked\nwatosu-mama\nwazatsuma-kitsuna\nwebtoon\nweight-gain\nweixiefashi\nwestern-cg\nwestern-imageset\nwestern-non-h\nwet-clothes\nwhip\nwhite-blood-cell-captain\nwhite-tiger\nwidow\nwidower\nwings\nwitch\nwolf\nwolf-boy\nwolf-girl\nwooden-horse\nworm\nwormhole\nwrestling\nwsplus\nwushui\nx-ray\nxx-ya-tte-koto-wa-naisho-da\nyagami-sai\nyagen-nankotsu\nyagitei\nyakaze\nyakaze-2000\nyakumo-ryojin\nyamada-shutaro\nyamajo\nyamano-murao\nyamano-muraotto\nyamanoya-honpo\nyamazaki-takumi\nyamazu\nyami\nyami-books\nyamito\nyan2252\nyanagie-terasu\nyandere\nyaneurabeya\nyang-nari\nyaniku\nyao-ha-ducy\nyaoi\nyaritsu\nyariyo\nyasai-seikatsu\nyashima-tetsuya\nyattsuhashi\nyawaraka-aomame-no-on-salad\nyawaraka-shouten\nyioyituyu\nyo-o-shinobu\nyochiko\nyoisaki-kanade\nyokando\nyokochichi-lingerie\nyokota-kazuyuki\nyonah\nyongo\nyoro\nyorozu-company\nyoshikichimaru\nyoshikichiya\nyoshinori\nyoshiwara-tatsuhiko\nyoshiyoshi-ya\nyoshuku\nyoukai-club\nyoung-farm\nyue-yue\nyugioh-arc-v\nyukawa-asam\nyukino-makoto\nyukiusa\nyukkuri\nyumeharo\nyumeki\nyumemori\nyumiko\nyunoyu\nyunusuko\nyurayura\nyuri\nyutto-prime\nyuuki-reina\nyuuma-toutetsu\nyuuna-asakura\nyuzu-onsen\nzakuro-gari\nzakuro-myurasu\nzawa-palette\nzenobia\nzenzai-monaka\nzijou\nzin-crow\nzinkurou\nzombie\n"
  },
  {
    "path": "data/img2txt/techniques.txt",
    "content": "Fine Art\nDiagrammatic\nGeometric\nArchitectural\nAnalytic\n3D\nAnamorphic\nPencil\nColor Pencil\nCharcoal\nGraphite\nChalk\nPen\nInk\nCrayon\nPastel\nSand\nBeach Art\nRangoli\nMehndi\nFlower\nFood Art\nTattoo\nDigital\nPixel\nEmbroidery\nLine\nPointillism\nSingle Color\nStippling\nContour\nHatching\nScumbling\nScribble\nGeometric Portait\nTriangulation\nCaricature\nPhotorealism\nPhoto realistic\nDoodling\nWordtoons\nCartoon\nAnime\nManga\nGraffiti\nTypography\nCalligraphy\nMosaic\nFigurative\nAnatomy\nLife\nStill life\nPortrait\nLandscape\nPerspective\nFunny\nSurreal\nWall Mural\nStreet\nRealistic\nPhoto Realistic\nHyper Realistic\nDoodle\n"
  },
  {
    "path": "data/scn2img_examples/cat_at_beach.scn2img.md",
    "content": "// blend it together and finish it with details\nprompt: cute happy orange cat sitting at beach, beach in background, trending on artstation:1 cute happy cat:1\nsampler_name:k_euler_a\nddim_steps: 35\ndenoising_strength: 0.55\nvariation: 3\ninitial_seed: 1\n\n# put foreground onto background\nsize: 512, 512\ncolor: 0,0,0\n\n## create foreground\nsize:512,512\ncolor:0,0,0,0\nresize: 300, 300\npos: 256, 350\n\n// select mask by probing some pixels from the image\nmask_by_color_at: 15, 15,   15, 256,   85, 465,  100, 480\nmask_by_color_threshold:80\nmask_by_color_space: HLS\n\n// some pixels inside the cat may be selected, remove them with mask_open\nmask_open: 15\n\n// there is still some background pixels left at the edge between cat and background\n// grow the mask to get them as well\nmask_grow: 15\n\n// we want to remove whatever is masked:\nmask_invert: True\n\n####\nprompt: cute happy orange cat, white background\nddim_steps: 25\nvariation: 1\n\n## create background\nprompt:beach landscape, beach with ocean in background, photographic, beautiful:1 red:-0.4\n"
  },
  {
    "path": "data/scn2img_examples/corgi_3d_transformation.scn2img.md",
    "content": "initial_seed: 2\n\n// select background and img2img over it\nmask_by_color_at: 64, 64\nmask_invert: True\n\nprompt: corgi\nddim_steps: 50\nseed: 242886303\n\nmask_mode: 0\ndenoising_strength: 0.8\n//cfg_scale: 15\nmask_restore: True\nimage_editor_mode:Mask\n\n# estimate depth and transform the corgi in 3d\ntransform3d: True\ntransform3d_depth_near: 0.5\ntransform3d_depth_scale: 10\ntransform3d_from_hfov: 45\ntransform3d_to_hfov: 45\ntransform3d_from_pose: 0,0,0,  0,0,0\ntransform3d_to_pose: 0.5,0,0,  0,-5,0\ntransform3d_min_mask: 0\ntransform3d_max_mask: 255\ntransform3d_inpaint_radius: 1\ntransform3d_inpaint_method: 0\n\n## put foreground onto background\nsize: 512, 512\n\n\n### create foreground\nsize: 512, 512\n\nmask_depth: True\nmask_depth_model: 1\nmask_depth_min: -0.05\nmask_depth_max: 0.5\nmask_depth_invert:False\n\n####\nprompt: corgi\nddim_steps: 25\nseed: 242886303\n\n### background\nsize: 512,512\ncolor: #9F978D\n"
  },
  {
    "path": "data/scn2img_examples/corgi_at_beach.scn2img.md",
    "content": "// blend it together and finish it with some details\nprompt: cute corgi at beach, trending on artstation\nddim_steps: 50\ndenoising_strength: 0.5\ninitial_seed: 2\n\n# put foreground onto background\nsize: 512, 512\n\n## create foreground\nsize: 512, 512\n\n// estimate depth from image and select mask by depth\n// https://huggingface.co/spaces/atsantiago/Monocular_Depth_Filter\nmask_depth: True\nmask_depth_min: -0.05\nmask_depth_max: 0.4\nmask_depth_invert:False\n\n###\nprompt: corgi\nddim_steps: 25\n\n## create background\nprompt:beach landscape, beach with ocean in background, photographic, beautiful:1 red:-0.4\n"
  },
  {
    "path": "data/scn2img_examples/corgi_at_beach_2.scn2img.md",
    "content": "// give it some polish and details\nsize: 512, 512\nprompt: cute corgi at beach, intricate details, photorealistic, trending on artstation\nvariation: 0\nseed: 1360051694\ninitial_seed: 5\n\n# blend it together\nprompt: beautiful corgi:1.5 cute corgi at beach, trending on artstation:1 photorealistic:1.5\nddim_steps: 50\ndenoising_strength: 0.5\nvariation: 0\n\n## put foreground in front of background\nsize: 512, 512\n\n### select foreground\nsize: 512, 512\n\n// estimate depth from image and select mask by depth\n// https://huggingface.co/spaces/atsantiago/Monocular_Depth_Filter\nmask_depth: True\nmask_depth_min: -0.05\nmask_depth_max: 0.4\nmask_depth_invert:False\n\n#### create foreground\nprompt: corgi\nddim_steps: 25\nseed: 242886303\n\n### create background\nprompt:beach landscape, beach with ocean in background, photographic, beautiful:1 red:-0.4\nvariation: 3\n"
  },
  {
    "path": "data/scn2img_examples/landscape_3d.scn2img.md",
    "content": "size: 512,512\nmask_blur: 6\n\nprompt: fantasy landscape with castle and forest and waterfalls, trending on artstation\ndenoising_strength: 0.6\nseed: 1\nimage_editor_mode: Mask\nmask_mode: 0\nmask_restore: True\n\n# mask the left which contains artifacts\ncolor: 255,255,255,0\nblend:multiply\nsize: 100,512\npos: 50,256\n\n# mask the top-left which contains lots of artifacts\ncolor: 255,255,255,0\nblend:multiply\nsize: 280,128\npos: 128,64\n\n# go forward and turn head left to look at the left waterfalls\ntransform3d: True\ntransform3d_depth_scale: 10000\ntransform3d_from_hfov: 60\ntransform3d_to_hfov: 60\ntransform3d_from_pose: 0,0,0,  0,0,0\ntransform3d_to_pose: 4000,0,2000,  0,-50,0\ntransform3d_min_mask: 0\ntransform3d_max_mask: 255\ntransform3d_inpaint_radius: 5\ntransform3d_inpaint_method: 1\n\n##\nprompt: fantasy landscape with castle and forest and waterfalls, trending on artstation\nseed: 1\n"
  },
  {
    "path": "data/tags/config.json",
    "content": "{\n\t\"tagFile\": \"danbooru.csv\",\n\t\"maxResults\": 5,\n\t\"replaceUnderscores\": true,\n\t\"escapeParentheses\": true,\n\t\"colors\": {\n\t\t\"danbooru\": {\n\t\t\t\"0\": [\"lightblue\", \"dodgerblue\"],\n\t\t\t\"1\": [\"indianred\", \"firebrick\"],\n\t\t\t\"3\": [\"violet\", \"darkorchid\"],\n\t\t\t\"4\": [\"lightgreen\", \"darkgreen\"],\n\t\t\t\"5\": [\"orange\", \"darkorange\"]\n\t\t},\n\t\t\"e621\": {\n\t\t\t\"-1\": [\"red\", \"maroon\"],\n\t\t\t\"0\": [\"lightblue\", \"dodgerblue\"],\n\t\t\t\"1\": [\"gold\", \"goldenrod\"],\n\t\t\t\"3\": [\"violet\", \"darkorchid\"],\n\t\t\t\"4\": [\"lightgreen\", \"darkgreen\"],\n\t\t\t\"5\": [\"tomato\", \"darksalmon\"],\n\t\t\t\"6\": [\"red\", \"maroon\"],\n\t\t\t\"7\": [\"whitesmoke\", \"black\"],\n\t\t\t\"8\": [\"seagreen\", \"darkseagreen\"]\n\t\t}\n\t}\n}\n"
  },
  {
    "path": "data/tags/danbooru.csv",
    "content": "1girl,0\nsolo,0\nhighres,5\nlong_hair,0\ncommentary_request,5\nbreasts,0\nlooking_at_viewer,0\nblush,0\nsmile,0\nshort_hair,0\nopen_mouth,0\nbangs,0\nblue_eyes,0\nmultiple_girls,0\nskirt,0\nblonde_hair,0\nlarge_breasts,0\nbrown_hair,0\nsimple_background,0\nshirt,0\nblack_hair,0\nhair_ornament,0\nabsurdres,5\nred_eyes,0\nthighhighs,0\nhat,0\ngloves,0\n1boy,0\nbad_id,5\nlong_sleeves,0\nwhite_background,0\ndress,0\noriginal,3\nribbon,0\nbow,0\ntouhou,3\nnavel,0\nbad_pixiv_id,5\n2girls,0\nphotoshop_(medium),5\nholding,0\nanimal_ears,0\ncleavage,0\nhair_between_eyes,0\nbare_shoulders,0\nbrown_eyes,0\ntwintails,0\nmedium_breasts,0\ncommentary,5\njewelry,0\nsitting,0\nvery_long_hair,0\nunderwear,0\nclosed_mouth,0\nnipples,0\nschool_uniform,0\ngreen_eyes,0\nblue_hair,0\nstanding,0\npurple_eyes,0\ncollarbone,0\npanties,0\nmonochrome,0\ntail,0\njacket,0\ntranslated,5\nswimsuit,0\nfull_body,0\nclosed_eyes,0\nhair_ribbon,0\nkantai_collection,3\nyellow_eyes,0\nweapon,0\nponytail,0\nupper_body,0\npurple_hair,0\nass,0\npink_hair,0\nwhite_shirt,0\ncomic,0\nbraid,0\nflower,0\nahoge,0\n:d,0\nshort_sleeves,0\nhair_bow,0\ngreyscale,0\nhetero,0\nwhite_hair,0\nmale_focus,0\nheart,0\npantyhose,0\nbikini,0\nsidelocks,0\nthighs,0\nnude,0\nred_hair,0\ncowboy_shot,0\npleated_skirt,0\nsweat,0\nhairband,0\ntranslation_request,5\nsmall_breasts,0\nearrings,0\nmulticolored_hair,0\nboots,0\ngrey_hair,0\nlying,0\ncensored,0\nfrills,0\nparted_lips,0\ndetached_sleeves,0\none_eye_closed,0\noutdoors,0\nfood,0\njapanese_clothes,0\nmultiple_boys,0\ngreen_hair,0\nwings,0\nopen_clothes,0\nsky,0\nnecktie,0\nhorns,0\npenis,0\nshoes,0\nfate_(series),3\nglasses,0\nbarefoot,0\nshorts,0\nserafuku,0\npussy,0\nteeth,0\nday,0\nsolo_focus,0\nsleeveless,0\nchoker,0\nalternate_costume,0\ntongue,0\npointy_ears,0\nsocks,0\nblack_gloves,0\nelbow_gloves,0\nhairclip,0\nfang,0\nstriped,0\nmidriff,0\npuffy_sleeves,0\nshiny,0\nlooking_back,0\nbelt,0\nsword,0\ncollared_shirt,0\nofficial_art,5\npants,0\ncloud,0\nartist_name,0\nblack_thighhighs,0\ntears,0\nfate/grand_order,3\nindoors,0\ncat_ears,0\nsilver_hair,0\nwhite_gloves,0\n3girls,0\nhair_flower,0\nvirtual_youtuber,0\nsignature,0\ndark_skin,0\nhand_up,0\nspread_legs,0\ncum,0\n2boys,0\nhood,0\nidolmaster,3\nsex,0\nminiskirt,0\nwide_sleeves,0\ntongue_out,0\nfingerless_gloves,0\non_back,0\nblunt_bangs,0\nblack_skirt,0\nbowtie,0\narmpits,0\npink_eyes,0\nsailor_collar,0\nkimono,0\nenglish_commentary,5\nblack_legwear,0\npokemon,3\nmedium_hair,0\nwater,0\ngrey_background,0\nnecklace,0\nchibi,0\noff_shoulder,0\nbag,0\nhair_bun,0\nclothes_lift,0\nscarf,0\ncape,0\nfrom_behind,0\nstar_(symbol),0\ntwitter_username,0\nbra,0\nstomach,0\nyuri,0\nnail_polish,0\nsweatdrop,0\norange_hair,0\nwhite_dress,0\narmor,0\nholding_weapon,0\nblack_footwear,0\nwhite_panties,0\nrabbit_ears,0\nmole,0\nuniform,0\nhair_over_one_eye,0\ngrin,0\n:o,0\nhuge_breasts,0\ncharacter_name,0\nblack_eyes,0\napron,0\nblurry,0\nlooking_at_another,0\nvest,0\nblack_dress,0\nhigh_heels,0\narm_up,0\ntwin_braids,0\nvaginal,0\nmosaic_censoring,0\nred_bow,0\nflat_chest,0\narms_up,0\nside_ponytail,0\nshiny_hair,0\nbracelet,0\ncovered_nipples,0\ncollar,0\nfeet,0\ndated,0\nfrom_side,0\naqua_eyes,0\nvocaloid,3\nsweater,0\nwhite_thighhighs,0\nspeech_bubble,0\ntwo-tone_hair,0\nleotard,0\nred_ribbon,0\ntwo_side_up,0\nenglish_text,0\ndark-skinned_female,0\nsketch,0\ntree,0\nopen_jacket,0\ncup,0\nlips,0\nblue_sky,0\npuffy_short_sleeves,0\nzettai_ryouiki,0\nblue_skirt,0\nhololive,3\ngroin,0\nfingernails,0\ncoat,0\nwet,0\ncat_tail,0\nbad_twitter_id,5\nv-shaped_eyebrows,0\nwhite_legwear,0\nneckerchief,0\nhead_tilt,0\nblack_jacket,0\nofficial_alternate_costume,0\nstreaked_hair,0\ngenshin_impact,3\nsee-through,0\norange_eyes,0\nazur_lane,3\nhand_on_hip,0\ngradient,0\ngun,0\nshiny_skin,0\ncrop_top,0\nidolmaster_cinderella_girls,3\nwrist_cuffs,0\npillow,0\nbook,0\nanimal_ear_fluff,0\nartist_request,5\ntorn_clothes,0\nplaid,0\nmaid,0\nsleeves_past_wrists,0\nlooking_to_the_side,0\nkneehighs,0\ngrey_eyes,0\nmilitary,0\nsash,0\nparted_bangs,0\npokemon_(game),3\nmaid_headdress,0\nlegs,0\npetals,0\ncosplay,0\nblack_panties,0\nblack_pantyhose,0\nfur_trim,0\nbare_arms,0\npubic_hair,0\nhands_up,0\none-piece_swimsuit,0\ngradient_background,0\nsymbol-shaped_pupils,0\nfox_ears,0\nloli,0\nascot,0\nshort_shorts,0\ndutch_angle,0\nclothing_cutout,0\nblack_shirt,0\neyelashes,0\nopen_shirt,0\nbare_legs,0\nno_humans,0\ndress_shirt,0\nlowres,5\nsparkle,0\nbar_censor,0\nkneeling,0\nwindow,0\nmole_under_eye,0\npokemon_(creature),0\n4girls,0\nsingle_braid,0\nhug,0\nbodysuit,0\nv,0\nno_bra,0\nsleeveless_shirt,0\nbell,0\nsaliva,0\ndouble_bun,0\nstrapless,0\naqua_hair,0\nuncensored,0\nmilitary_uniform,0\nblack_ribbon,0\nblack_headwear,0\nbed,0\nmd5_mismatch,5\nblood,0\nscan,5\nhatsune_miku,4\n4koma,0\nhoodie,0\nsideboob,0\nprofile,0\npussy_juice,0\ncompletely_nude,0\nblack_bow,0\ncovered_navel,0\nmakeup,0\ntattoo,0\nskindentation,0\nleaning_forward,0\nneck_ribbon,0\nmuscular,0\nno_panties,0\nthigh_strap,0\nmask,0\ncapelet,0\ngradient_hair,0\nmultiple_views,0\nwitch_hat,0\ncopyright_name,0\n:3,0\nanus,0\nalternate_hairstyle,0\nfruit,0\nunderboob,0\narknights,3\ndetached_collar,0\nheadband,0\ndepth_of_field,0\nnight,0\nsleeveless_dress,0\nbuttons,0\nfloating_hair,0\n^_^,0\ncameltoe,0\ncopyright_request,5\nside-tie_bikini_bottom,0\nblue_dress,0\nfox_tail,0\ncum_in_pussy,0\ncommission,5\ntoes,0\nbottomless,0\nblack_bikini,0\nshadow,0\nnose_blush,0\nglowing,0\nred_skirt,0\nblurry_background,0\nrose,0\nfeet_out_of_frame,0\nhakurei_reimu,4\nheadgear,0\nholding_hands,0\nbed_sheet,0\nswept_bangs,0\nfake_animal_ears,0\nchain,0\nfacial_hair,0\n6+girls,0\nsiblings,0\nturtleneck,0\nbird,0\nheadphones,0\nocean,0\ncolored_skin,0\narm_support,0\numbrella,0\nheterochromia,0\nlow_twintails,0\nhalterneck,0\nanimal,0\nfrown,0\nberet,0\nthigh_boots,0\nleaf,0\nembarrassed,0\npov,0\none_side_up,0\nback,0\nkirisame_marisa,4\non_bed,0\nfrom_above,0\ngarter_straps,0\nwhite_headwear,0\nwatermark,0\nass_visible_through_thighs,0\nfangs,0\nblue_background,0\nnon-web_source,5\nbanned_artist,1\ntransparent_background,0\nhighleg,0\nwhite_bikini,0\non_side,0\nplaid_skirt,0\nscar,0\nmahou_shoujo_madoka_magica,3\ntraditional_media,0\nmouth_hold,0\nwariza,0\nparody,0\nbeach,0\nchair,0\nwavy_hair,0\nblue_bow,0\nhair_tubes,0\nfacial_mark,0\nbandages,0\nupper_teeth,0\nlooking_away,0\nfemale_pubic_hair,0\nblush_stickers,0\ndrill_hair,0\nshirt_lift,0\nexpressionless,0\nchinese_clothes,0\nblack_choker,0\nobi,0\ngrabbing,0\nbrown_footwear,0\narms_behind_back,0\neating,0\npantyshot,0\nno_shoes,0\ntopless,0\nclothes_pull,0\nholding_sword,0\nheart-shaped_pupils,0\nthigh_gap,0\nthick_thighs,0\nshort_dress,0\nsoles,0\nlooking_down,0\nfire_emblem,3\nskirt_lift,0\nphone,0\nmagical_girl,0\neyepatch,0\nstuffed_toy,0\nfloral_print,0\nbound,0\nwavy_mouth,0\ncrossed_arms,0\nflying_sweatdrops,0\nsymbol-only_commentary,5\ngirls_und_panzer,3\nhair_intakes,0\nlove_live!,3\nblack_shorts,0\nborder,0\nplayboy_bunny,0\nmoon,0\nformal,0\npiercing,0\nabs,0\ncover,0\nleg_up,0\nsandals,0\nfrom_below,0\nhalf-closed_eyes,0\ncleavage_cutout,0\nsunlight,0\nerection,0\ntable,0\nsingle_hair_bun,0\nblack_pants,0\noral,0\nhappy,0\nred_dress,0\ncat,0\nunderwear_only,0\nsquatting,0\nscrunchie,0\npink_background,0\nschool_swimsuit,0\nsunglasses,0\ntesticles,0\nbdsm,0\ncum_on_body,0\nblazer,0\nmob_cap,0\ntrembling,0\nwhite_footwear,0\ndark-skinned_male,0\nring,0\nsleeping,0\ngame_cg,5\nwolf_ears,0\nbackpack,0\nstanding_on_one_leg,0\nlingerie,0\nknee_boots,0\neyes_visible_through_hair,0\nhat_ribbon,0\nfinal_fantasy,3\nhalo,0\npartial_commentary,5\nlight_brown_hair,0\nbreast_grab,0\nkatana,0\nstuffed_animal,0\nbob_cut,0\nthick_eyebrows,0\ngirls'_frontline,3\nbat_wings,0\ncardigan,0\ndemon_girl,0\n;d,0\nkorean_commentary,5\ncrossed_legs,0\nchinese_commentary,5\nfrilled_dress,0\nsuspenders,0\nwhite_skirt,0\nremilia_scarlet,4\n3boys,0\nhelmet,0\nwhite_jacket,0\nantenna_hair,0\nhood_down,0\ncloudy_sky,0\noutstretched_arms,0\ncellphone,0\npolka_dot,0\ncross,0\ncrying,0\ntank_top,0\nbottle,0\naged_down,0\nbug,0\n5girls,0\nundressing,0\ngrass,0\ncrossover,0\nfire,0\nbent_over,0\ncrown,0\nfeathers,0\nsuit,0\ntiara,0\nlight_smile,0\nfrilled_skirt,0\nbreasts_out,0\nhigh_ponytail,0\nknife,0\npectorals,0\ncouple,0\nlooking_up,0\neyebrows,0\ndenim,0\nholding_food,0\nown_hands_together,0\nanimated,5\nhair_bobbles,0\nstraddling,0\n>_<,0\nx_hair_ornament,0\nwing_collar,0\nwhite_bow,0\non_stomach,0\nareolae,0\nplant,0\nblack_hairband,0\nflandre_scarlet,4\nblue_shirt,0\ntan,0\nlipstick,0\noutstretched_arm,0\nbondage,0\nizayoi_sakuya,4\nshort_twintails,0\nfellatio,0\nhorse_ears,0\nrobot,0\nblue_ribbon,0\nprecure,3\ngirl_on_top,0\ncurtains,0\nwhite_flower,0\nlifted_by_self,0\npointing,0\nanimal_print,0\nmonster_girl,0\npolearm,0\nmuscular_male,0\nrevision,5\n^^^,0\npink_bow,0\nslit_pupils,0\njuliet_sleeves,0\nall_fours,0\nsex_from_behind,0\nsisters,0\ncat_girl,0\ncrescent,0\nspiked_hair,0\numamusume,3\ngranblue_fantasy,3\nstaff,0\nhand_on_own_chest,0\nblue_sailor_collar,0\npanty_pull,0\ncherry_blossoms,0\nfrilled_sleeves,0\nblouse,0\nsharp_teeth,0\nred_necktie,0\n?,0\njojo_no_kimyou_na_bouken,3\nwhite_socks,0\ncover_page,0\nblue_jacket,0\ntowel,0\nclenched_teeth,0\nshaded_face,0\nwind,0\ngoggles,0\nbike_shorts,0\ncasual,0\notoko_no_ko,0\nblack_background,0\nground_vehicle,0\nbrooch,0\nhead_wings,0\ngreen_skirt,0\nloafers,0\ngauntlets,0\nelf,0\npink_panties,0\nno_pants,0\nt-shirt,0\nfate/stay_night,3\nred_flower,0\nblack_bra,0\nstriped_panties,0\nmultiple_tails,0\nbuilding,0\nwristband,0\nshoulder_armor,0\ndemon_horns,0\nkiss,0\nfox_girl,0\nbetween_breasts,0\nbreast_press,0\nsurprised,0\nsingle_thighhigh,0\nmessy_hair,0\nmotion_lines,0\nhat_bow,0\nsheath,0\nbutterfly,0\nchild,0\nkemono_friends,3\nskirt_set,0\nblack_socks,0\nribbon_trim,0\ngroup_sex,0\nthird_eye,0\ncharacter_request,5\ninstrument,0\nrabbit_tail,0\nletterboxed,0\ndrooling,0\nhakama,0\nclenched_hand,0\nbox,0\nsneakers,0\npale_skin,0\nsex_toy,0\nred_shirt,0\nred_footwear,0\nmusical_note,0\nadmiral_(kancolle),4\ngem,0\nhorse_girl,0\nfishnets,0\ntassel,0\nwet_clothes,0\nside-tie_panties,0\nred_bowtie,0\ngenderswap,0\nrevealing_clothes,0\ncovering,0\nfacial,0\nforeshortening,0\ncandy,0\nidolmaster_(classic),3\nnature,0\nadapted_costume,0\nanal,0\near_piercing,0\npink_dress,0\nsteam,0\ndog_ears,0\nstar_(sky),0\npeaked_cap,0\ndemon_tail,0\nportrait,0\narmband,0\nduplicate,5\nscenery,0\nconvenient_censoring,0\nwaist_apron,0\nholding_gun,0\nartoria_pendragon_(fate),4\nbreath,0\nlace_trim,0\nnight_sky,0\nejaculation,0\nchina_dress,0\nalice_margatroid,4\ntokin_hat,0\nkochiya_sanae,4\narms_behind_head,0\ngundam,3\nlove_live!_school_idol_project,3\ncouch,0\npatchouli_knowledge,4\ninterlocked_fingers,0\nlace,0\nveil,0\nblack_nails,0\nrope,0\nfront-tie_top,0\nbara,0\nmicrophone,0\nbandaid,0\nmale_pubic_hair,0\nblue_archive,3\nhakama_skirt,0\nbow_panties,0\nhand_fan,0\nwhite_apron,0\nmole_under_mouth,0\nbridal_gauntlets,0\nstrapless_dress,0\nnijisanji,3\nno_headwear,0\nyaoi,0\nmecha,0\nglowing_eyes,0\nanger_vein,0\nholding_cup,0\nkonpaku_youmu,4\nclothes_writing,0\n...,0\nbikini_top_only,0\nwhite_ribbon,0\nblack_leotard,0\njingle_bell,0\ncirno,4\nchristmas,0\nbaseball_cap,0\nbreasts_apart,0\nhair_flaps,0\nstring_bikini,0\nhair_over_shoulder,0\ncum_on_breasts,0\ntorn_legwear,0\ntwin_drills,0\nstraight_hair,0\nskin_tight,0\n:<,0\nyellow_background,0\nweb_address,0\nsemi-rimless_eyewear,0\nangry,0\nhooded_jacket,0\nfeathered_wings,0\nlight_purple_hair,0\ncheck_translation,5\nyakumo_yukari,4\nmotor_vehicle,0\nfacing_viewer,0\ncloak,0\nwolf_tail,0\ncarrying,0\nside_braid,0\ncorset,0\neyewear_on_head,0\nclaws,0\nmicro_bikini,0\nred_nails,0\nlight_particles,0\nmary_janes,0\nmultiple_penises,0\npelvic_curtain,0\nknees_up,0\nred_background,0\nbad_link,5\ntareme,0\nred_headwear,0\ntentacles,0\nrifle,0\nindex_finger_raised,0\ndanganronpa_(series),3\npurple_dress,0\n:p,0\nsmartphone,0\nbeard,0\nclothing_aside,0\nvertical_stripes,0\nsingle_horn,0\nbright_pupils,0\npaizuri,0\ngrey_shirt,0\nmulticolored_clothes,0\nstrap_slip,0\nred_neckerchief,0\nfinger_to_mouth,0\nlicking,0\nclose-up,0\npuffy_nipples,0\nshort_hair_with_long_locks,0\nstriped_thighhighs,0\nextra_ears,0\nsnow,0\ntsurime,0\nblack_necktie,0\nbuckle,0\nandrogynous,0\nscar_on_face,0\nfrench_braid,0\nstriped_legwear,0\nwhite_border,0\nred_jacket,0\nfull_moon,0\nneck_bell,0\nupskirt,0\neye_contact,0\nface,0\nkomeiji_koishi,4\ntwo-tone_background,0\nforehead,0\npom_pom_(clothes),0\nseiza,0\nareola_slip,0\nyellow_bow,0\nblue_bikini,0\nspoilers,5\ngenderswap_(mtf),0\nlens_flare,0\npink_flower,0\nfurry,0\ngift,0\narmlet,0\nshameimaru_aya,4\npink_nails,0\nspikes,0\nbetween_legs,0\npendant,0\nabyssal_ship,0\nwading,0\nhand_on_own_face,0\nside_slit,0\n1other,0\ndual_persona,0\nhandgun,0\ndesk,0\ncamisole,0\nhololive_english,3\nmasturbation,0\nbrown_gloves,0\nalcohol,0\nplate,0\nrestrained,0\nk-on!,3\ngreen_bow,0\nribbed_sweater,0\ncross-laced_footwear,0\nafter_sex,0\nbroom,0\nhandjob,0\nfaceless,0\no-ring,0\nsleeves_rolled_up,0\nskin_fang,0\ncurvy,0\nsanta_hat,0\nspoken_heart,0\nheavy_breathing,0\nball,0\nmaid_apron,0\nhair_scrunchie,0\nbreast_hold,0\ndrinking_glass,0\neyeshadow,0\nfujiwara_no_mokou,4\nhorse_tail,0\ngrey_skirt,0\npersonification,0\npersona,3\nheadwear_removed,0\nlow_ponytail,0\nreisen_udongein_inaba,4\ndoujin_cover,0\ncowgirl_position,0\nmachinery,0\nforest,0\ndress_lift,0\nred_gloves,0\nclenched_hands,0\ntray,0\nheadset,0\nhighleg_leotard,0\npartially_submerged,0\ntanlines,0\ncropped_legs,0\njpeg_artifacts,5\nzipper,0\nhigh_heel_boots,0\nfloating,0\nsmoke,0\nlegs_up,0\nbacklighting,0\nwide_hips,0\npencil_skirt,0\nfish,0\nlow-tied_long_hair,0\nblue_headwear,0\nsingle_glove,0\nsweater_vest,0\nlyrical_nanoha,3\nhong_meiling,4\nlarge_pectorals,0\nhair_rings,0\npink_skirt,0\nhalf_updo,0\nreflection,0\nneon_genesis_evangelion,3\nflying,0\nhood_up,0\nspot_color,0\npanties_under_pantyhose,0\nnontraditional_miko,0\nkemonomimi_mode,0\nsailor_dress,0\narm_behind_back,0\nfreckles,0\nstarry_sky,0\nclothed_sex,0\nwhite_bra,0\nasymmetrical_legwear,0\nakemi_homura,4\nholding_book,0\nhappy_birthday,0\narm_at_side,0\ntearing_up,0\nbrown_background,0\ncolored_sclera,0\nsleeves_past_fingers,0\nred_bikini,0\nlong_fingernails,0\n!,0\nsanta_costume,0\nstrapless_leotard,0\ngarter_belt,0\n6+boys,0\ndual_wielding,0\ncuffs,0\nred-framed_eyewear,0\nhands,0\nrain,0\nkomeiji_satori,4\nblue_nails,0\nfingering,0\npuffy_long_sleeves,0\nbubble,0\nepaulettes,0\ninnertube,0\nwalking,0\ncrossdressing,0\nfrilled_bikini,0\nsuzumiya_haruhi_no_yuuutsu,3\nribbon-trimmed_sleeves,0\nfate/extra,3\nteacup,0\nhalloween,0\nnaughty_face,0\nout_of_frame,0\nidolmaster_shiny_colors,3\ncropped_jacket,0\ncontrapposto,0\npixel-perfect_duplicate,5\nlegs_apart,0\ndragon_horns,0\nkaname_madoka,4\nthong,0\ncake,0\nclothed_female_nude_male,0\narm_behind_head,0\noni_horns,0\nworld_witches_series,3\ncondom,0\npink_ribbon,0\nsaigyouji_yuyuko,4\nshort_ponytail,0\nbowl,0\nveins,0\ncurly_hair,0\nhat_ornament,0\ndenim_shorts,0\nrape,0\ndemon_wings,0\nblack_wings,0\nbeads,0\npokemon_swsh,3\ngreen_background,0\nwhite_pantyhose,0\nblack-framed_eyewear,0\npurple_background,0\none-hour_drawing_challenge,0\nresolution_mismatch,5\nspread_pussy,0\nknee_up,0\ncumdrip,0\nschool_bag,0\n:q,0\nlolita_fashion,0\nfur_collar,0\nholding_phone,0\nsun_hat,0\ndoggystyle,0\npauldrons,0\nblue_shorts,0\nempty_eyes,0\ngym_uniform,0\nblack_sailor_collar,0\nspoken_ellipsis,0\nunder-rim_eyewear,0\n4boys,0\nlong_legs,0\nthird-party_edit,5\nshiny_clothes,0\ntoned,0\npocket,0\ngoggles_on_head,0\ncum_in_mouth,0\nbulge,0\noutside_border,0\npink_shirt,0\njitome,0\nhand_on_another's_head,0\nnew_year,0\ntopless_male,0\nskull,0\nblue_flower,0\ncrying_with_eyes_open,0\npurple_skirt,0\nmonster,0\nkaga_(kancolle),4\nhand_in_own_hair,0\nsunset,0\nscience_fiction,0\ninubashiri_momiji,4\ngreen_dress,0\noutline,0\nspear,0\nshield,0\ntoenails,0\nfutanari,0\nalternate_breast_size,0\nthighband_pantyhose,0\nhands_on_hips,0\n+_+,0\naged_up,0\nskeb_commission,5\nemphasis_lines,0\nv_arms,0\nmeme,0\nburuma,0\nlight_blush,0\nfemale_masturbation,0\nfrilled_shirt_collar,0\nfrilled_apron,0\nasymmetrical_hair,0\no_o,0\ntied_hair,0\n=_=,0\nrunning,0\nbreast_squeeze,0\ndog,0\nhigh-waist_skirt,0\nstriped_bikini,0\ncompetition_swimsuit,0\nlong_skirt,0\nanimal_hands,0\nwhite_sleeves,0\nice,0\nprincess_connect!,3\nminigirl,0\nteddy_bear,0\nlegs_together,0\nwatch,0\nangel_wings,0\ntrack_jacket,0\nblack_serafuku,0\nhead_rest,0\ndog_tail,0\nass_grab,0\nfolded_ponytail,0\nhat_removed,0\nturret,0\nbespectacled,0\nmole_on_breast,0\ntoaru_majutsu_no_index,3\nblue_theme,0\ntress_ribbon,0\nblue_footwear,0\nimpossible_clothes,0\npopsicle,0\npaw_pose,0\ngold_trim,0\nwhite_skin,0\nfaceless_male,0\npouch,0\nghost,0\nred_scarf,0\nrabbit,0\nblue_one-piece_swimsuit,0\nshawl,0\npoke_ball,0\npurple_bow,0\nwhite_pupils,0\nsingle_earring,0\nsarashi,0\nsource_request,5\nplump,0\nbrown_skirt,0\nknees_together_feet_apart,0\nyukata,0\nhand_in_pocket,0\ncigarette,0\nbow_(weapon),0\nwhite_sailor_collar,0\nhand_between_legs,0\nsheathed,0\ntwins,0\nhair_down,0\nage_difference,0\ndrinking_straw,0\ndragon_girl,0\nleague_of_legends,3\npage_number,0\nupside-down,0\nopen_coat,0\noni,0\nblack_belt,0\nserious,0\nhigh_collar,0\njeans,0\nbrown_pantyhose,0\nsmirk,0\nyakumo_ran,4\nmilitary_hat,0\nlight_rays,0\nobject_insertion,0\nfate/apocrypha,3\n;),0\ninjury,0\nthought_bubble,0\nbrown_jacket,0\nmini_hat,0\nblue_panties,0\ndakimakura_(medium),0\nrobe,0\nblack_coat,0\npose,0\ntabard,0\nstreet_fighter,3\nyellow_ribbon,0\nblack_vest,0\nsideburns,0\nlollipop,0\nstriped_shirt,0\nhoop_earrings,0\nbutt_crack,0\nyellow_shirt,0\npajamas,0\npatreon_username,0\nbouncing_breasts,0\nboku_no_hero_academia,3\n|_|,0\ncrystal,0\ncirclet,0\nlantern,0\nred_rose,0\nstriped_bow,0\ncontemporary,0\nmissionary,0\nwide-eyed,0\nkagamine_rin,4\nwater_drop,0\nchocolate,0\nofuda,0\neyebrows_hidden_by_hair,0\n@_@,0\ntop_hat,0\n:t,0\nbraided_ponytail,0\njumping,0\nbreastplate,0\nrock,0\noekaki,0\nhug_from_behind,0\nmoriya_suwako,4\nthreesome,0\nhairpin,0\nkonpaku_youmu_(ghost),4\noutstretched_hand,0\nwhite_shorts,0\nblurry_foreground,0\nhandbag,0\npartially_fingerless_gloves,0\nchopsticks,0\nobject_hug,0\nheight_difference,0\nrumia,4\nmirror,0\nbelt_buckle,0\npink_lips,0\nsports_bra,0\ncolored_eyelashes,0\nvalentine,0\nbouquet,0\nfull-face_blush,0\nmiki_sayaka,4\nwooden_floor,0\nwhite_hairband,0\nstairs,0\nmug,0\nsnowing,0\npaper,0\nkazami_yuuka,4\nblood_on_face,0\ntentacle_hair,0\nblack_bowtie,0\nmountain,0\nblue_necktie,0\nsportswear,0\nshoulder_bag,0\nwhite_kimono,0\ncovering_breasts,0\nunderwater,0\nwedding_dress,0\nmiko,0\nstar_hair_ornament,0\nholding_umbrella,0\nmature_male,0\ncity,0\nshimakaze_(kancolle),4\nsnake,0\nkaenbyou_rin,4\nmeme_attire,0\nanimated_gif,5\nthe_legend_of_zelda,3\nreiuji_utsuho,4\nvibrator,0\nglint,0\ndoll,0\ncropped_torso,0\nadjusting_clothes,0\nbloomers,0\nanimal_hood,0\nsaber,4\ngreen_jacket,0\nenmaided,0\nfighting_stance,0\nhair_bell,0\nhibiki_(kancolle),4\npanties_aside,0\nsign,0\npout,0\ncum_on_hair,0\nchen,4\nwaving,0\nbackless_outfit,0\nice_cream,0\naircraft,0\nskirt_hold,0\nrealistic,0\nborrowed_character,0\nstrawberry,0\nforehead_mark,0\nmotion_blur,0\nmulticolored_eyes,0\nbandaged_arm,0\nvideo,5\nmouse_ears,0\ntext_focus,0\nlove_live!_sunshine!!,3\nopen_book,0\nheadpiece,0\nnose,0\npartially_translated,5\nspoon,0\norange_bow,0\npanties_around_one_leg,0\npink_bra,0\nround_teeth,0\ncard,0\nremodel_(kantai_collection),0\nmature_female,0\nfate/zero,3\nkamishirasawa_keine,4\nraised_eyebrows,0\nbrother_and_sister,0\nwhite_one-piece_swimsuit,0\n!?,0\none_eye_covered,0\nturtleneck_sweater,0\ncrossed_bangs,0\nfront-tie_bikini_top,0\ncolored_inner_hair,0\nhands_in_pockets,0\nstrike_witches,3\nfire_emblem_heroes,3\ntouken_ranbu,3\nnurse_cap,0\neighth_note,0\ncenter_opening,0\nvisor_cap,0\nclitoris,0\nfence,0\nbandana,0\nhair_tie,0\nmustache,0\ncard_(medium),0\ntatara_kogasa,4\nanklet,0\ngeta,0\npalm_tree,0\nleash,0\ndragon,0\nhime_cut,0\nkawashiro_nitori,4\nsailor_hat,0\nwhite_pants,0\nshort_eyebrows,0\nsand,0\nanchor_symbol,0\nfire_emblem:_three_houses,3\ngrey_jacket,0\nholding_staff,0\npokemon_sm,3\nstubble,0\ncovering_mouth,0\narrow_(projectile),0\nmash_kyrielight,4\nidolmaster_million_live!,3\ndrink,0\ngreen_headwear,0\nantennae,0\nblue_skin,0\nyellow_flower,0\ntop-down_bottom-up,0\ndildo,0\nhip_focus,0\ncan,0\nwhite_leotard,0\ndoor,0\nsitting_on_person,0\nhinanawi_tenshi,4\ngreen_shirt,0\nfork,0\nscar_across_eye,0\nfrog_hair_ornament,0\non_floor,0\noverflow,0\nalternate_color,0\nspread_arms,0\norange_background,0\nblindfold,0\nadjusting_hair,0\nblack_one-piece_swimsuit,0\ndragon_tail,0\nmario_(series),3\ncamera,0\nasymmetrical_bangs,0\ntall_image,5\nsakura_kyouko,4\narrow_(symbol),0\nround_eyewear,0\nzoom_layer,0\nmouth_mask,0\ntomoe_mami,4\nfurrowed_brow,0\nxenoblade_chronicles_(series),3\nlicking_lips,0\narched_back,0\nwand,0\nyu-gi-oh!,3\npurple_flower,0\nstraw_hat,0\nemblem,0\nfolding_fan,0\nfantasy,0\nhonkai_(series),3\nmusic,0\ndouble_v,0\nsword_art_online,3\napple,0\nlowleg,0\narms_at_sides,0\nanime_screencap,5\ngreen_ribbon,0\nsharp_fingernails,0\nsun,0\noverwatch,3\noff-shoulder_dress,0\njacket_on_shoulders,0\ninterracial,0\nsunflower,0\nhead_out_of_frame,0\nhanging_breasts,0\nblanket,0\narm_warmers,0\nindie_virtual_youtuber,3\ncannon,0\nlong_dress,0\nfake_tail,0\ngroping,0\nlabcoat,0\nshigure_(kancolle),4\ngag,0\npaid_reward,5\nyokozuwari,0\noverwatch_1,3\nwince,0\nrailing,0\ngothic_lolita,0\nbandeau,0\nfinal_fantasy_xiv,3\nmixed-language_commentary,5\nrabbit_girl,0\nalternate_hair_length,0\nhouraisan_kaguya,4\nhorizon,0\npink_footwear,0\ndragon_ball,3\nheart_hair_ornament,0\nhonkai_impact_3rd,3\nwhite_wings,0\nname_tag,0\nveiny_penis,0\npurple_ribbon,0\nbun_cover,0\nunbuttoned,0\nleg_lift,0\nbrown_headwear,0\npink_bikini,0\ngoatee,0\nblack_bodysuit,0\nholding_clothes,0\nhighleg_panties,0\nre:zero_kara_hajimeru_isekai_seikatsu,3\nfloral_background,0\nangel,0\nfinal_fantasy_vii,3\nchinese_text,0\nmuscular_female,0\nimageboard_desourced,5\nkoakuma,4\nclock,0\nbranch,0\nshota,0\nhitodama,0\nhand_on_own_cheek,0\npasties,0\nbrown_legwear,0\nblue_kimono,0\nbeanie,0\nblack_sclera,0\npartially_visible_vulva,0\ndog_girl,0\nswimsuit_under_clothes,0\nandroid,0\nkill_la_kill,3\nhand_on_headwear,0\nsmoking,0\nlactation,0\nred_hairband,0\nuntied,0\neyeball,0\npetticoat,0\nfurry_female,0\npaid_reward_available,5\noff-shoulder_shirt,0\nback-to-back,0\ntales_of_(series),3\ntabi,0\nhat_flower,0\nmicroskirt,0\nred_cape,0\nprotected_link,5\nunderbust,0\nnipple_slip,0\nfood_on_face,0\nkongou_(kancolle),4\nahegao,0\ngakuran,0\nbookshelf,0\nbasket,0\narmored_dress,0\nvambraces,0\nlogo,0\njack-o'-lantern,0\npointless_censoring,0\nargyle,0\nlace-up_boots,0\ndot_nose,0\ncriss-cross_halter,0\ncharacter_doll,0\npurple_shirt,0\nass_focus,0\ndrawstring,0\ncabbie_hat,0\nfairy_wings,0\npocky,0\nsuspender_skirt,0\nunzipped,0\ngrabbing_from_behind,0\ntail_ornament,0\nsaliva_trail,0\nsilhouette,0\npokemon_(anime),3\nblack_sleeves,0\ncollared_dress,0\nlarge_areolae,0\nmystia_lorelei,4\nmonogatari_(series),3\nsplatoon_(series),3\nkneepits,0\nhand_on_another's_shoulder,0\ncrotch_seam,0\nsilent_comic,0\nsize_difference,0\npurple_nails,0\nbandaid_on_face,0\npainttool_sai_(medium),5\ngift_box,0\nwolf_girl,0\ntaut_clothes,0\ngohei,0\nheaddress,0\nwhite_scarf,0\nlarge_penis,0\ncovered_mouth,0\nonsen,0\nanchor,0\ngangbang,0\nblue_pants,0\ninazuma_(kancolle),4\ngochuumon_wa_usagi_desu_ka?,3\nbutterfly_hair_ornament,0\nwhite_coat,0\nred_vest,0\nibuki_suika,4\ninaba_tewi,4\neveryone,0\ndrinking,0\nyellow_ascot,0\nblue_gloves,0\nmilitary_vehicle,0\nretro_artstyle,0\nleaning_back,0\ncow_print,0\nnaval_uniform,0\ncow_ears,0\nnaruto_(series),3\nwinter_clothes,0\non_head,0\nsundress,0\nguitar,0\nbridal_garter,0\nhighleg_swimsuit,0\nno_nose,0\nwind_lift,0\nholding_flower,0\nshrug_(clothing),0\npen,0\npool,0\nakagi_(kancolle),4\ncenter_frills,0\nhijiri_byakuren,4\narm_grab,0\nbishoujo_senshi_sailor_moon,3\nfrog,0\nsouryuu_asuka_langley,4\n2koma,0\nphoto_(medium),0\nblue_bowtie,0\nelectricity,0\nguilty_gear,3\ncheckered_clothes,0\nheart_censor,0\nglass,0\ntiles,0\nspaghetti_strap,0\nwitch,0\nadjusting_eyewear,0\nmittens,0\nflag,0\ntoenail_polish,0\nmuneate,0\nred_lips,0\nheadpat,0\ncode_geass,3\nsalute,0\nwedding_ring,0\nbrown_thighhighs,0\nreading,0\nblack_cape,0\nbound_wrists,0\nchestnut_mouth,0\nganyu_(genshin_impact),4\nankle_boots,0\nbangle,0\nwaitress,0\nscythe,0\nnazrin,4\nselfie,0\nkorean_text,0\npurple_bikini,0\nflipped_hair,0\ndouble-breasted,0\nhair_stick,0\nclassroom,0\nstrap_gap,0\nfacing_away,0\npoke_ball_(basic),0\nairplane,0\nuneven_legwear,0\nabsurdly_long_hair,0\nblue_thighhighs,0\ntalking,0\nxenoblade_chronicles_2,3\nchromatic_aberration,0\nmahou_shoujo_lyrical_nanoha,3\ntoaru_kagaku_no_railgun,3\nbeachball,0\nlucky_star,3\ncar,0\nflat_cap,0\nfood-themed_hair_ornament,0\nfemale_child,0\nwristwatch,0\nkita_high_school_uniform,0\nsmug,0\nearmuffs,0\nmagic,0\nfur-trimmed_jacket,0\ninverted_nipples,0\nkagamine_len,4\npinafore_dress,0\nvision_(genshin_impact),0\npulled_by_self,0\nugoira,5\none_piece,3\nhoujuu_nue,4\ngagged,0\nhand_to_own_mouth,0\ntenryuu_(kancolle),4\nnun,0\nrigging,0\nbikini_under_clothes,0\nhorn_ornament,0\nbukkake,0\nlight,0\nbattle,0\nbucket,0\nnotice_lines,0\nhands_on_own_chest,0\nnurse,0\npotted_plant,0\ncheerleader,0\nroad,0\nbare_back,0\nshirt_tucked_in,0\narmored_boots,0\nnipple_tweak,0\nspoken_question_mark,0\ntatami,0\nstud_earrings,0\nmecha_musume,0\ntriangular_headpiece,0\ndanganronpa_2:_goodbye_despair,3\ncleft_of_venus,0\ntamamo_(fate),4\nhakama_short_skirt,0\nneptune_(series),3\nsexually_suggestive,0\neyeliner,0\nstyle_parody,0\npom_pom_(cheerleading),0\ncow_horns,0\nsnake_hair_ornament,0\nanimal_costume,0\nholding_poke_ball,0\nblazblue,3\nfire_emblem_fates,3\nassault_rifle,0\nyasaka_kanako,4\nfoot_focus,0\nfemdom,0\nmahou_shoujo_lyrical_nanoha_strikers,3\n>:),0\nkono_subarashii_sekai_ni_shukufuku_wo!,3\nyagokoro_eirin,4\nlamp,0\nyuudachi_(kancolle),4\nsideways_glance,0\nbench,0\nninja,0\n:>,0\nlight_blue_hair,0\nbow_bra,0\nnaked_shirt,0\nbush,0\nhappy_sex,0\ncontroller,0\nscales,0\nthe_king_of_fighters,3\ncandle,0\nmegurine_luka,4\nhair_over_eyes,0\ncityscape,0\nriding,0\noveralls,0\ndragon_quest,3\ntube_top,0\nmask_on_head,0\nbiting,0\nbags_under_eyes,0\nback_bow,0\nbridal_veil,0\npokemon_bw,3\nbad_anatomy,0\nragnarok_online,3\nikazuchi_(kancolle),4\nopen_fly,0\ncrown_braid,0\nstuffed_bunny,0\nmini_crown,0\nsarong,0\nwhite_sweater,0\nbrown_dress,0\njoints,0\nfairy,0\npink_headwear,0\nice_wings,0\ncovering_crotch,0\nshade,0\njapanese_armor,0\n+++,0\nsource_smaller,5\npurple_panties,0\nbrown_belt,0\nsailor_shirt,0\ntriangle_mouth,0\norgasm,0\npeach,0\ninazuma_eleven_(series),3\njeanne_d'arc_alter_(fate),4\ndark,0\nwet_shirt,0\ntoeless_legwear,0\npov_hands,0\nkey,0\nred_kimono,0\nhair_behind_ear,0\ndoujinshi,5\nmizuhashi_parsee,4\nhugging_own_legs,0\ncable,0\nred_hakama,0\ncreature,0\nair_bubble,0\nreaching_out,0\nrandoseru,0\nspace,0\npersona_4,3\nfate/extra_ccc,3\nbird_wings,0\nlolita_hairband,0\npleated_dress,0\n5boys,0\nbathing,0\nprint_legwear,0\noil-paper_umbrella,0\npilot_suit,0\nholster,0\nfood_in_mouth,0\nblue_leotard,0\nheart_of_string,0\nindian_style,0\npainting_(medium),0\nfishnet_pantyhose,0\nown_hands_clasped,0\nhibiscus,0\nalternate_eye_color,0\ntouhou_(pc-98),3\nschool_desk,0\nprint_kimono,0\npaw_print,0\nabigail_williams_(fate),4\nbreast_pocket,0\ndagger,0\nagainst_wall,0\nakiyama_mio,4\nred_panties,0\nlaughing,0\nsingle_side_bun,0\nfubuki_(kancolle),4\nred_choker,0\nhands_on_own_face,0\nhair_up,0\nsteaming_body,0\nakatsuki_(kancolle),4\nclaw_pose,0\nlace-trimmed_legwear,0\nwet_hair,0\nyellow_bikini,0\nstar-shaped_pupils,0\nplugsuit,0\none_breast_out,0\nalternate_hair_color,0\nsnowflakes,0\nstring,0\nheart_hands,0\ncarrot,0\npolka_dot_background,0\nzuikaku_(kancolle),4\nconfetti,0\nbath,0\nblue_rose,0\ncross-laced_clothes,0\ndrunk,0\nmarker_(medium),0\nred_legwear,0\ntate_eboshi,0\nfrilled_shirt,0\n3d,0\ntengen_toppa_gurren_lagann,3\nscabbard,0\nsack,0\npaw_gloves,0\nbracer,0\nincest,0\nparasol,0\nwhisker_markings,0\ncrescent_hair_ornament,0\nstretching,0\ntasuki,0\nblack_collar,0\nsource_larger,5\nanal_object_insertion,0\nwhite_outline,0\nraccoon_ears,0\nautumn_leaves,0\nfujimaru_ritsuka_(female),4\nasymmetrical_wings,0\ncum_in_ass,0\numineko_no_naku_koro_ni,3\nbodystocking,0\nribbon_choker,0\nholding_bag,0\nsakuragaoka_high_school_uniform,0\ncone_hair_bun,0\nstar_print,0\noffice_lady,0\nfacepaint,0\npetite,0\nhand_on_another's_face,0\ntorii,0\nvoiceroid,3\ncomputer,0\nnier_(series),3\nhigurashi_no_naku_koro_ni,3\nteapot,0\nwine_glass,0\nwrist_scrunchie,0\nwatercraft,0\nnavel_cutout,0\naxe,0\nbat_(animal),0\nfeather_hair_ornament,0\nshingeki_no_kyojin,3\nholding_fan,0\nantlers,0\nholding_bottle,0\nzipper_pull_tab,0\nrozen_maiden,3\nmagatama,0\npumpkin,0\ncheck_commentary,5\ntiger_ears,0\nfake_horns,0\nstring_panties,0\nself_upload,5\nlow_wings,0\nhaori,0\nlace-trimmed_panties,0\nhappy_new_year,0\ndanganronpa_v3:_killing_harmony,3\npurple_gloves,0\nrebuild_of_evangelion,3\nfire_emblem_awakening,3\nchinese_zodiac,0\ntransparent,0\ncum_on_clothes,0\nhabit,0\nhalloween_costume,0\nslippers,0\nbelly,0\nblack_border,0\nmismatched_legwear,0\nblack_sweater,0\nrwby,3\nnipple_piercing,0\nnagato_(kancolle),4\ntoyosatomimi_no_miko,4\npixel_art,0\nfujimaru_ritsuka_(male),4\nwagashi,0\narm_tattoo,0\nshibari,0\none-piece_tan,0\nred_thighhighs,0\nmorichika_rinnosuke,4\nharuna_(kancolle),4\npink_kimono,0\ntight,0\nhamakaze_(kancolle),4\nholding_tray,0\nbrown_shirt,0\nidolmaster_cinderella_girls_starlight_stage,3\nartist_logo,0\nfurry_male,0\ngarrison_cap,0\nderivative_work,5\npurple_jacket,0\nbikini_skirt,0\ntied_shirt,0\npixiv_request,5\nfishnet_legwear,0\ncrescent_hat_ornament,0\nhip_vent,0\nvampire,0\nblood_on_clothes,0\nyellow_neckerchief,0\nfang_out,0\nmacross,3\nfate_testarossa,4\nmouse_tail,0\nmagic_circle,0\nnosebleed,0\nsuzumiya_haruhi,4\ngrey_dress,0\nprecum,0\nknee_pads,0\nimage_sample,5\nbald,0\nhand_on_own_head,0\nhighleg_bikini,0\ngrabbing_own_breast,0\ncurled_horns,0\ngiant,0\nevil_smile,0\ntachi-e,0\nraglan_sleeves,0\nopen_cardigan,0\ndraph,0\nhoshiguma_yuugi,4\narm_strap,0\nblack_kimono,0\nleg_ribbon,0\nred_shorts,0\npantyhose_pull,0\ntiger_print,0\nvery_short_hair,0\nhair_censor,0\nsample_watermark,0\nstriped_background,0\nasymmetrical_clothes,0\nprincess_carry,0\nlayered_dress,0\nnero_claudius_(fate),4\nshort_kimono,0\ncondom_wrapper,0\ngraphite_(medium),0\nthighlet,0\nhand_on_own_chin,0\ndeep_skin,0\npurple_headwear,0\nlegwear_under_shorts,0\nsmile_precure!,3\nmidriff_peek,0\ngreen_bikini,0\naura,0\nblue_bra,0\nkicking,0\nshoulder_blades,0\nholding_knife,0\nlink,4\nscared,0\nlooking_afar,0\nafter_vaginal,0\ntorpedo,0\nmanly,0\ndancing,0\npresenting,0\nlayered_skirt,0\npikachu,4\nkashima_(kancolle),4\nnaruto,3\ntea,0\nnakano_azusa,4\nhead_wreath,0\nhalf_gloves,0\nlayered_sleeves,0\nwall,0\nover_shoulder,0\ncrop_top_overhang,0\nnier_automata,3\npink_jacket,0\npokemon_dppt,3\npigeon-toed,0\nopen_kimono,0\nballoon,0\no-ring_top,0\nnagato_yuki,4\nmale_underwear,0\ntohsaka_rin,4\nkagiyama_hina,4\nshanghai_doll,4\none_knee,0\nhat_feather,0\ngap_(touhou),0\npaintbrush,0\nw,0\nmale_child,0\no-ring_bikini,0\nmechanical_arms,0\npurple_thighhighs,0\nmermaid,0\ngreaves,0\nmother_and_daughter,0\nused_condom,0\nyellow_dress,0\nkimetsu_no_yaiba,3\ndisposable_cup,0\nreference_sheet,0\nbackless_dress,0\nleather,0\nopen_hand,0\nshoulder_cutout,0\nlace-trimmed_bra,0\nanimal_on_head,0\nin_container,0\nshimenawa,0\ncompany_name,0\nooarai_school_uniform,0\nblue_vest,0\nbare_pectorals,0\npublic_indecency,0\ngreen_skin,0\nlineart,0\nsunbeam,0\ncolorized,5\nphoto_(object),0\nbad_tumblr_id,5\nnaked_towel,0\nred_ascot,0\nwatercolor_(medium),0\nout-of-frame_censoring,0\nyellow_skirt,0\nsymmetrical_docking,0\nfield,0\nwriggle_nightbug,4\nrem_(re:zero),4\nbamboo,0\nnishizumi_miho,4\ntail_raised,0\nfuta_with_female,0\nglowing_eye,0\nsquiggle,0\nsound_effects,0\nbandaged_leg,0\nstar_earrings,0\nmultiple_persona,0\nlimited_palette,0\nmaple_leaf,0\nimminent_kiss,0\nmononobe_no_futo,4\nmmf_threesome,0\ndaiyousei,4\nhirasawa_yui,4\ngameplay_mechanics,0\narchitecture,0\nyellow_jacket,0\nblue_neckerchief,0\nleg_grab,0\nholding_microphone,0\ntsukihime,3\npolka_dot_bow,0\nryuujou_(kancolle),4\ntokyo_afterschool_summoners,3\nbedroom,0\ngawr_gura,4\nholding_polearm,0\nbreast_sucking,0\nhoushou_marine,4\nthumbs_up,0\nclothes_around_waist,0\nkyubey,4\narm_cannon,0\nred_leotard,0\nhalftone,0\nnaked_apron,0\nshiki_eiki,4\nsenki_zesshou_symphogear,3\nonozuka_komachi,4\nsinging,0\ncheckered_floor,0\npeeing,0\nsleeveless_turtleneck,0\npee,0\non_couch,0\nexplosion,0\nbound_arms,0\nshackles,0\nhair_over_breasts,0\ngreen_nails,0\nshoulder_tattoo,0\ndouble_penetration,0\nimminent_penetration,0\nundercut,0\npencil,0\nhuge_ass,0\nbra_lift,0\nsuzuya_(kancolle),4\nslingshot_swimsuit,0\nfate/kaleid_liner_prisma_illya,3\nruins,0\nsummer,0\nunder_covers,0\nbang_dream!,3\nfalling,0\nanimification,0\nidol,0\ngrey_pants,0\nraiden_shogun,4\ncross_necklace,0\nplaid_vest,0\npurple_legwear,0\niron_cross,0\nerune,0\nstrap,0\ntracen_school_uniform,0\nraccoon_tail,0\ntile_floor,0\ncowbell,0\nscathach_(fate),4\ndark_persona,0\ntank,0\nstriped_dress,0\n^o^,0\nhead_fins,0\nbrown_pants,0\nvines,0\nskirt_pull,0\nmushroom,0\nmega_man_(series),3\nhouse,0\nprint_shirt,0\nartist_self-insert,0\nvampire_(game),3\nname_connection,0\nmisaka_mikoto,4\nranguage,0\navatar_(ff14),4\ngenderswap_(ftm),0\nleggings,0\nsleeve_cuffs,0\nspiked_bracelet,0\nsuper_smash_bros.,3\neyewear_removed,0\nwhite_cape,0\nbody_fur,0\npurple_footwear,0\nblue_hairband,0\npatreon_reward,5\nlong_sideburns,0\nblack_cat,0\nspoken_exclamation_mark,0\nyukkuri_shiteitte_ne,0\nface-to-face,0\nannoyed,0\npubic_tattoo,0\nfox_mask,0\nbeige_background,0\nstitches,0\ntakamachi_nanoha,4\nholding_hair,0\nvaginal_object_insertion,0\nhuge_weapon,0\ntelevision,0\nusami_renko,4\nhachimaki,0\nbikini_armor,0\nblack_scarf,0\nsakazuki,0\ntoramaru_shou,4\n3koma,0\nshoulder_pads,0\ntrigger_discipline,0\none-eyed,0\nsad,0\nblack_hoodie,0\nbathroom,0\nbabydoll,0\ndoughnut,0\narm_under_breasts,0\nasymmetrical_docking,0\nillyasviel_von_einzbern,4\nsandwiched,0\nhead_scarf,0\ninactive_account,5\ntilted_headwear,0\nfrench_kiss,0\npants_pull,0\nsaki,3\nyorha_no._2_type_b,4\n0_0,0\nfundoshi,0\ncutoffs,0\nhand_on_own_knee,0\nhoushou_(kancolle),4\nheadphones_around_neck,0\npokemon_bw2,3\ncamouflage,0\nnarrow_waist,0\nduel_monster,0\nmonster_hunter_(series),3\nimaizumi_kagerou,4\ninvisible_chair,0\nsweater_dress,0\nsecond-party_source,5\nhand_on_own_thigh,0\nblack_neckerchief,0\npersona_5,3\ntifa_lockhart,4\njeanne_d'arc_(fate),4\nbikini_pull,0\nold,0\njoseph_joestar,4\ntiptoes,0\nbread,0\nayanami_rei,4\nplatform_footwear,0\nnecktie_between_breasts,0\nwhite_capelet,0\ntiger_&_bunny,3\ncunnilingus,0\nwhite_rose,0\nstarry_background,0\nshorts_under_skirt,0\nmaribel_hearn,4\nscar_on_cheek,0\ncheckered_background,0\nore_no_imouto_ga_konna_ni_kawaii_wake_ga_nai,3\nearphones,0\norange_skirt,0\nsplashing,0\ninkling,4\ngo-toubun_no_hanayome,3\nfuton,0\nringed_eyes,0\nstriped_necktie,0\nkamen_rider,3\nid_card,0\nholding_animal,0\ndragon_ball_z,3\nm_legs,0\ncasual_one-piece_swimsuit,0\nstar_hat_ornament,0\ndripping,0\nwardrobe_malfunction,0\nbobby_socks,0\nanchor_hair_ornament,0\ntainaka_ritsu,4\npartially_unbuttoned,0\ncrescent_moon,0\nbig_hair,0\ntinted_eyewear,0\nsliding_doors,0\narm_garter,0\nwhite_eyes,0\nvoice_actor_connection,0\nyuudachi_kai_ni_(kancolle),4\nx-ray,0\nleaf_on_head,0\ncow_girl,0\nwhite_choker,0\nsmoking_pipe,0\n;o,0\nwide_shot,0\nmatoi_ryuuko,4\nholding_another's_wrist,0\ndanganronpa:_trigger_happy_havoc,3\ngrey_footwear,0\nbrick_wall,0\ncovered_eyes,0\nuntied_bikini,0\nbody_writing,0\nsplit,0\nshigure_kai_ni_(kancolle),4\nbroom_riding,0\nhandcuffs,0\nsoaking_feet,0\nno_pupils,0\nfrilled_panties,0\nholding_gift,0\naqua_nails,0\nfur-trimmed_sleeves,0\nwinter,0\nconstricted_pupils,0\nbreast_rest,0\ngrey_skin,0\non_ground,0\ntwo_tails,0\nbonnet,0\nforeskin,0\nnavel_piercing,0\ntwo-tone_dress,0\nyin_yang,0\nfrilled_bow,0\nblue_neckwear,0\nfoot_out_of_frame,0\nobject_on_head,0\nleaf_hair_ornament,0\npurple_kimono,0\nanimal_focus,0\narm_ribbon,0\npink_theme,0\npink_rose,0\ntiger_tail,0\nshoes_removed,0\nfacial_tattoo,0\nholding_fruit,0\npersona_3,3\ncookie,0\nbad_source,5\nhandheld_game_console,0\nspiked_collar,0\nserval_(kemono_friends),4\nnishikino_maki,4\nmurakumo_(kancolle),4\n1990s_(style),0\norange_shirt,0\ndisembodied_limb,0\ncross-section,0\nsonoda_umi,4\nwatermelon,0\njeanne_d'arc_alter_(avenger)_(fate),4\nproducer_(idolmaster),4\narm_guards,0\nrolling_eyes,0\nsingle_shoe,0\nbridge,0\nffm_threesome,0\nfireworks,0\npurple_theme,0\nstanding_sex,0\nsailor_senshi_uniform,0\nrimless_eyewear,0\nlumine_(genshin_impact),4\nnorthern_ocean_princess,4\nrice,0\nheart_brooch,0\nengrish_text,0\nsheet_grab,0\npartially_colored,0\nbakemonogatari,3\nfolded,0\nforehead_jewel,0\nbadge,0\nchalkboard,0\ngreen_panties,0\nhigh_school_dxd,3\namatsukaze_(kancolle),4\nushio_(kancolle),4\nhimekaidou_hatate,4\nsyringe,0\nblue_scarf,0\nshibuya_rin,4\nsitting_on_lap,0\ngyaru,0\nwhite_fur,0\nafterimage,0\ncontent_rating,0\nyellow_necktie,0\ninazuma_eleven_go,3\npurple_skin,0\nanniversary,0\nprint_bikini,0\nsake,0\ntoned_male,0\ntoujou_nozomi,4\nimplied_sex,0\nstool,0\n!!,0\nasymmetrical_gloves,0\nmultiple_others,0\nmonitor,0\neast_asian_architecture,0\nripples,0\natago_(kancolle),4\nshort_over_long_sleeves,0\nsubmachine_gun,0\nrainbow,0\nokita_souji_(fate),4\nshoe_soles,0\nbeer,0\nbrothers,0\nbleach,3\narmpit_crease,0\nkarakasa_obake,0\nd:,0\negg,0\nwater_bottle,0\nskirt_removed,0\nred_theme,0\nfat,0\nscroll,0\nlion_ears,0\nyukikaze_(kancolle),4\nheart_earrings,0\nhammer,0\nofficial_style,0\njaggy_lines,0\nchibi_inset,0\ndappled_sunlight,0\ngreen_vest,0\nyuru_yuri,3\ngiantess,0\nhooded_cloak,0\nred_skin,0\nkaku_seiga,4\n:/,0\nbishounen,0\nshoukaku_(kancolle),4\nsymbol_in_eye,0\nlowleg_panties,0\nfucked_silly,0\npointing_at_viewer,0\ntorn_shirt,0\ninterspecies,0\noversized_clothes,0\ntying_hair,0\nsniper_rifle,0\nneck_ring,0\nfeeding,0\nyazawa_nico,4\nmurasa_minamitsu,4\npixiv_fantasia,3\nhard_translated,5\nmini_top_hat,0\nfringe_trim,0\nskin-covered_horns,0\nfrilled_bra,0\nrabbit_hair_ornament,0\nsepia,0\nchess_piece,0\nplanet,0\nred_pants,0\nbrown_sweater,0\nprint_panties,0\nerror,0\npink_thighhighs,0\nmulticolored_background,0\ndownblouse,0\nkafuu_chino,4\nayase_eli,4\nprincess_zelda,4\nbathtub,0\nto_heart_2,3\nblue_choker,0\ncherry,0\nerection_under_clothes,0\nlicking_penis,0\nmotorcycle,0\n3:,0\nwhite_bodysuit,0\nbody_blush,0\ntorogao,0\nfront_ponytail,0\noff-shoulder_sweater,0\nred_horns,0\ngrey_legwear,0\nchristmas_tree,0\nchaldea_uniform,0\nundershirt,0\nthird-party_source,5\ntamamo_no_mae_(fate/extra),4\nbikini_bottom_only,0\nbrown_coat,0\nfur-trimmed_coat,0\nchainsaw_man,3\ncushion,0\ngrey_shorts,0\notonokizaka_school_uniform,0\nplaying_instrument,0\nsenran_kagura,3\ngoat_horns,0\npolice,0\nyellow_bowtie,0\nfur-trimmed_gloves,0\njiangshi,0\nhu_tao_(genshin_impact),4\npower_lines,0\npinky_out,0\ncardcaptor_sakura,3\n\\m/,0\nnagae_iku,4\nfaulds,0\nperspective,0\nbelt_pouch,0\nribs,0\njoseph_joestar_(young),4\nmiqo'te,0\ninkling_girl,4\npanties_removed,0\nyamato_(kancolle),4\nwhite_tank_top,0\nzhongli_(genshin_impact),4\nears_through_headwear,0\ngirl_sandwich,0\nholding_stuffed_toy,0\nspy_x_family,3\nzzz,0\nlamppost,0\nblue_legwear,0\ncoin,0\nsleepy,0\nuwabaki,0\nholding_plate,0\nmicro_shorts,0\nbride,0\ngame_controller,0\nscissors,0\nlong_coat,0\nseductive_smile,0\nplatinum_blonde_hair,0\nakebono_(kancolle),4\nchest_hair,0\nhorse,0\nreclining,0\npun,0\nrace_queen,0\ntaut_shirt,0\npunching,0\nreverse_cowgirl_position,0\nbirthday,0\npink_legwear,0\nshell,0\ndirty,0\nkitakami_(kancolle),4\nbear_ears,0\nclothed_male_nude_female,0\ncyborg,0\nlatex,0\nbroken,0\nsheep_horns,0\nkujo_jotaro,4\nheads_together,0\nkariginu,0\nshouting,0\nhata_no_kokoro,4\ngreen_theme,0\nthe_legend_of_zelda:_breath_of_the_wild,3\ntail_wagging,0\nshirt_pull,0\nbead_bracelet,0\nplaid_shirt,0\nbeamed_eighth_notes,0\nstraight-on,0\ntrack_suit,0\ndawn_(pokemon),4\ngilgamesh_(fate),4\npillow_hug,0\nmulti-strapped_bikini,0\nanimalization,0\nwhite_belt,0\nhuge_ahoge,0\ntake_your_pick,0\nmale_swimwear,0\nmanjuu_(azur_lane),4\nnervous,0\npervert,0\nwarship_girls_r,3\npokemon_xy,3\nsaucer,0\nwhite_bowtie,0\non_chair,0\nlight_frown,0\nbead_necklace,0\nsound,5\nbruise,0\naikatsu!_(series),3\npointy_hair,0\nmarvel,3\nloose_socks,0\ncum_string,0\nnijisanji_en,3\nkaito_(vocaloid),4\nbrown_shorts,0\nibaraki_kasen,4\nholding_bouquet,0\ngreen_necktie,0\nleaning_to_the_side,0\nblue_sweater,0\nlooping_animation,5\ncoffee,0\nfishnet_thighhighs,0\nplaying_card,0\ntrait_connection,0\nblack_capelet,0\njester_cap,0\nmahou_shoujo_lyrical_nanoha_a's,3\nhair_slicked_back,0\nrensouhou-chan,4\nblank_eyes,0\nsummer_uniform,0\nblack_neckwear,0\nfat_mons,0\nunfinished,0\nfrilled_hairband,0\noversized_object,0\nholding_instrument,0\nusada_pekora,4\nmatou_sakura,4\nball_gag,0\nblue_cape,0\nharness,0\ntorso_grab,0\nxd,0\nnekomata,0\nbad_deviantart_id,5\nskeleton,0\nstriped_bowtie,0\nold_man,0\nplanted,0\nkumoi_ichirin,4\nhair_pulled_back,0\nsplatoon_1,3\ncooking,0\nshirakami_fubuki,4\nhorn_ribbon,0\nbeach_umbrella,0\nred_capelet,0\nwhite_hoodie,0\nmerry_christmas,0\nlap_pillow,0\nkurodani_yamame,4\nsuggestive_fluid,0\ntentacle_sex,0\nspoken_musical_note,0\nbubble_skirt,0\nlillie_(pokemon),4\ndoll_joints,0\nmegumin,4\ngrey_sweater,0\nlast_origin,3\npoolside,0\nassertive_female,0\nmouse,0\nnightgown,0\nkasodani_kyouko,4\nshuten_douji_(fate),4\nmacross_frontier,3\nburger,0\nbra_pull,0\npregnant,0\ntokiwadai_school_uniform,0\nkotatsu,0\nnovel_illustration,5\nto_love-ru,3\njujutsu_kaisen,3\nanimal_hat,0\nred_coat,0\naqua_background,0\ngreen_kimono,0\ngrey_gloves,0\nbrown_cardigan,0\nno_eyes,0\nprinz_eugen_(kancolle),4\nwaist_cape,0\nfur,0\nover-kneehighs,0\nbandaid_on_leg,0\nwhip,0\nsoga_no_tojiko,4\nfish_tail,0\nyawning,0\nmulticolored_dress,0\ntwisted_torso,0\ngreen_shorts,0\nexpressions,0\npurple_bra,0\nskull_hair_ornament,0\nhoshii_miki,4\nmiyako_yoshika,4\ngreen_footwear,0\nholding_bow_(weapon),0\natelier_(series),3\nbestiality,0\npectoral_cleavage,0\nloincloth,0\nwine,0\nspeed_lines,0\nkotobuki_tsumugi,4\npurple_bowtie,0\nclipboard,0\ndamaged,0\nmechanical_halo,0\ncum_on_ass,0\npaper_fan,0\ncow_tail,0\npink_bowtie,0\npolka_dot_panties,0\nqueen's_blade,3\nfemale_admiral_(kancolle),4\nplaid_scarf,0\nstand_(jojo),0\nholding_chopsticks,0\npillar,0\nooyodo_(kancolle),4\nweapon_over_shoulder,0\ngundam_00,3\nastolfo_(fate),4\nhelltaker,3\nplaying_games,0\nwhite_collar,0\nsuperhero,0\nblack_tank_top,0\nfemale_orgasm,0\nriver,0\ntime_paradox,0\nshelf,0\nstanding_split,0\naxis_powers_hetalia,3\nlove_live!_nijigasaki_high_school_idol_club,3\ndarling_in_the_franxx,3\ndead_or_alive,3\ncardboard_box,0\ngrapes,0\nelsword,3\nhiiragi_kagami,4\nkobayashi-san_chi_no_maidragon,3\ntatsuta_(kancolle),4\ndarjeeling_(girls_und_panzer),4\ndokidoki!_precure,3\nnew_super_mario_bros._u_deluxe,3\nfemale_pervert,0\nstreet,0\ncastle,0\nmutsu_(kancolle),4\nbiceps,0\nreal_life,3\nsweating_profusely,0\nbaseball_bat,0\nflag_print,0\near_blush,0\nwet_panties,0\nmona_(genshin_impact),4\n:|,0\ncu_chulainn_(fate),4\nlittle_busters!,3\nbraided_bun,0\nchun-li,4\nargyle_legwear,0\nvento_aureo,3\nsuper_crown,0\npokemon_hgss,3\npink_gloves,0\nbreast_envy,0\nbetween_fingers,0\nsingle_mechanical_arm,0\nfootjob,0\nflat_color,0\naqua_necktie,0\nred_collar,0\ntape,0\nwaistcoat,0\npolice_uniform,0\ngigantic_breasts,0\n=3,0\ngrey_headwear,0\ncheckered,0\nholding_spoon,0\nlaptop,0\norb,0\nfemale_ejaculation,0\ndressing,0\nforehead_protector,0\nasashio_(kancolle),4\nclannad,3\nbare_tree,0\ncookie_(touhou),3\ndiagonal_stripes,0\nlong_braid,0\ntengu-geta,0\nunmoving_pattern,0\ngridman_universe,3\ngrey_thighhighs,0\ndark_background,0\nblack_horns,0\nthighhighs_under_boots,0\nblack_blindfold,0\nsplit_mouth,0\nred_bra,0\n;p,0\npenguin,0\nsee-through_sleeves,0\npink_choker,0\ndanmaku,0\nkijin_seija,4\nsingle_sock,0\nanimal_collar,0\nsweater_lift,0\nblack_rock_shooter,3\nred_sweater,0\nsparkling_eyes,0\nhuge_penis,0\ndiamond_(shape),0\nserval_print,0\nbook_stack,0\nminami_kotori,4\nmay_(pokemon),4\ncompetition_school_swimsuit,0\nbreast_suppress,0\nlily_(flower),0\nhand_on_own_stomach,0\nmetroid,3\nkaban_(kemono_friends),4\ncompany_connection,0\ntrading_card,0\nalbino,0\nhand_on_own_ass,0\nnishizumi_maho,4\nbursting_breasts,0\nshopping_bag,0\nfrilled_thighhighs,0\ncovering_face,0\ncostume_switch,0\nextra_eyes,0\ndog_tags,0\nhammer_(sunset_beach),1\npatreon_logo,0\nextra_arms,0\ndango,0\nv-neck,0\nchain-link_fence,0\ntail_ribbon,0\npot,0\nkinomoto_sakura,4\nmeat,0\nno_socks,0\nonee-shota,0\nclownpiece,4\nadjusting_headwear,0\ncharm_(object),0\nbyleth_(fire_emblem),4\ntwilight,0\nemiya_shirou,4\ntassel_earrings,0\nmonocle,0\nblue_coat,0\nuterus,0\nshark_tail,0\nwater_gun,0\nholding_hat,0\nyandere,0\nquiver,0\nangel_beats!,3\nfacing_another,0\nbad_nicoseiga_id,5\nheart_cutout,0\nyellow_footwear,0\nfur-trimmed_cape,0\nclothes_removed,0\nhands_on_own_cheeks,0\nwolf,0\nbokeh,0\nexhibitionism,0\narcher_(fate),4\nheartcatch_precure!,3\nmulticolored_skin,0\npurple_lips,0\nrosa_(pokemon),4\npanty_&_stocking_with_garterbelt,3\nkeqing_(genshin_impact),4\nitsumi_erika,4\nebifurya,1\nteardrop,0\nbismarck_(kancolle),4\nmeiko,4\nfur-trimmed_capelet,0\nholding_eyewear,0\narmpit_peek,0\nkoha-ace,3\nclosed_umbrella,0\nsanpaku,0\nmegami_magazine,3\nflame,0\ninternal_cumshot,0\ntopknot,0\nreaching,0\nthong_bikini,0\nzombie,0\nship,0\nsendai_(kancolle),4\nc.c.,4\ndougi,0\nooi_(kancolle),4\naki_minoriko,4\nmori_calliope,4\nhydrangea,0\nmordred_(fate),4\nshorts_pull,0\nsamus_aran,4\nonigiri,0\nminamoto_no_raikou_(fate),4\nmicrophone_stand,0\npyra_(xenoblade),4\ntail_bow,0\nizumi_konata,4\nblood_splatter,0\nmilitary_jacket,0\nhieda_no_akyuu,4\ndimples_of_venus,0\nknight,0\nbraided_bangs,0\nanal_beads,0\ncaesar_anthonio_zeppeli,4\nautumn,0\nholding_card,0\nheart_print,0\nhilda_(pokemon),4\ninfection_monitor_(arknights),0\nfiring,0\nmoaning,0\ntraditional_bowtie,0\nfinal_fantasy_vii_remake,3\nflower_knight_girl,3\nmarnie_(pokemon),4\nswimsuit_pull,0\nfox_shadow_puppet,0\nthigh_holster,0\npuzzle_&_dragons,3\nakashi_(kancolle),4\nfake_screenshot,0\nfalling_petals,0\nrose_petals,0\nroswaal_mansion_maid_uniform,0\nlance,0\nprosthesis,0\nleg_warmers,0\nyuzuki_yukari,4\nphantasy_star,3\nbreast_lift,0\nopen_vest,0\nturn_pale,0\nyae_miko,4\ncum_on_tongue,0\npaper_lantern,0\npillow_hat,0\nstomach_bulge,0\nanimal_nose,0\nbicycle,0\nflower_field,0\ncowboy_hat,0\namami_haruka,4\nfamily,0\ncolored_pencil_(medium),0\nunsheathing,0\nsolid_circle_eyes,0\nconvenient_leg,0\nfather_and_daughter,0\npokemon_legends:_arceus,3\nnoodles,0\ntakao_(kancolle),4\nmultiple_4koma,0\namputee,0\nanchovy_(girls_und_panzer),4\nfloating_object,0\nholding_fork,0\ncross_earrings,0\nrobot_joints,0\ntrain_interior,0\ngym_shirt,0\nsekibanki,4\nmusashi_(kancolle),4\nvisor,0\nyoko_littner,4\nsingle_bare_shoulder,0\njumpsuit,0\npeeking_out,0\nskyscraper,0\nelectric_guitar,0\npink_sweater,0\nstriped_ribbon,0\nfox,0\nwatashi_ga_motenai_no_wa_dou_kangaetemo_omaera_ga_warui!,3\nmind_control,0\ncondom_in_mouth,0\nlarge_bow,0\nfull_armor,0\njunko_(touhou),4\nknees_to_chest,0\nold_school_swimsuit,0\nninomae_ina'nis,4\nyellow_hairband,0\nheart-shaped_box,0\nvase,0\nglaring,0\ndisembodied_penis,0\nnavel_hair,0\nchick,0\nminato_aqua,4\npokemon_oras,3\nnero_claudius_(fate/extra),4\nopen_hoodie,0\nokita_souji_(koha-ace),4\nshiranui_(kancolle),4\nbone,0\npink_hairband,0\ncolored_tips,0\npurple_leotard,0\nsingle_wing,0\ndouble_handjob,0\nwo-class_aircraft_carrier,4\nheart_ahoge,0\nspring_onion,0\npixiv_sample,5\nwaves,0\nkousaka_honoka,4\nleotard_under_clothes,0\nstrap_pull,0\nresized,5\nside-by-side,0\nholding_wand,0\nsplit-color_hair,0\nelbow_pads,0\nsleeveless_jacket,0\noripathy_lesion_(arknights),0\nladle,0\nbrown_bow,0\nyellow_nails,0\nknees,0\nhibike!_euphonium,3\ngreen_gloves,0\nharuyama_kazunori,1\nkirby_(series),3\ntrident,0\nsolid_oval_eyes,0\nsazanami_(kancolle),4\nfutatsuiwa_mamizou,4\nplaid_bow,0\ndisgaea,3\nlooking_ahead,0\nd.va_(overwatch),4\nfrilled_choker,0\nbeer_mug,0\nflight_deck,0\nsuper_robot_wars,3\ntextless_version,5\nnaked_ribbon,0\ngourd,0\nsouryuu_(kancolle),4\nchest_tattoo,0\nmedusa_(fate),4\nssss.gridman,3\nheart-shaped_chocolate,0\nasuna_(sao),4\nyor_briar,4\ntsukino_usagi,4\nred_wings,0\nrevolver,0\npicture_frame,0\nsukuna_shinmyoumaru,4\nshijou_takane,4\nnanami_chiaki,4\nimpossible_shirt,0\nhiei_(kancolle),4\nlowleg_bikini,0\npussy_peek,0\nred_bodysuit,0\nblinking,0\nbra_strap,0\ngold,0\nsuigintou,4\n>:(,0\nnotebook,0\nsamidare_(kancolle),4\nakiyama_yukari,4\nkitsune,0\nringlets,0\nro-500_(kancolle),4\nmahou_shoujo_madoka_magica:_hangyaku_no_monogatari,3\nweapon_on_back,0\nyellow_sclera,0\nutility_pole,0\naiguillette,0\naki_shizuha,4\nchest_jewel,0\narthropod_girl,0\nshushing,0\nhalter_dress,0\nside_braids,0\nstardust_crusaders,3\nsenketsu,4\nnitroplus,3\nstriped_skirt,0\npanty_peek,0\nshort_necktie,0\nyamashiro_(kancolle),4\nlock,0\ngrabbing_another's_hair,0\nholding_strap,0\npopped_collar,0\nreverse_trap,0\nholding_ball,0\nstriped_scarf,0\nmixed_bathing,0\ncrazy_eyes,0\nwhistle,0\ngears,0\nfedora,0\nsailor,0\napex_legends,3\ndiamond_wa_kudakenai,3\nhooded_coat,0\nkisaragi_chihaya,4\nmonster_girl_encyclopedia,3\nblue_hoodie,0\nmoney,0\nkirishima_(kancolle),4\nmythra_(xenoblade),4\nhk416_(girls'_frontline),4\ngumi,4\ndungeon_ni_deai_wo_motomeru_no_wa_machigatteiru_darou_ka,3\ngarreg_mach_monastery_uniform,0\nverniy_(kancolle),4\nno_mouth,0\nfur-trimmed_dress,0\ngrabbing_own_ass,0\nreverse_grip,0\nhands_on_own_knees,0\nholding_can,0\ndetached_wings,0\naether_(genshin_impact),4\nfullmetal_alchemist,3\nmaebari,0\nletty_whiterock,4\npinstripe_pattern,0\nwinter_coat,0\nfaceless_female,0\nwaking_up,0\nsingle_elbow_glove,0\nshowgirl_skirt,0\ncane,0\ndio_brando,4\norange_bikini,0\npov_crotch,0\nslime_(substance),0\namiya_(arknights),4\ntower,0\nskinny,0\ngloria_(pokemon),4\nbattle_tendency,3\nkiryuuin_satsuki,4\norange_(fruit),0\nice_cream_cone,0\namagami,3\npolka_dot_bikini,0\nminase_iori,4\nmizuki_hitoshi,1\nbrown_vest,0\nthrone,0\nwaterfall,0\ninazuma_eleven,3\nheart_pasties,0\nkaguya-sama_wa_kokurasetai_~tensai-tachi_no_renai_zunousen~,3\nbusiness_suit,0\npoking,0\nevening,0\nprojectile_cum,0\nwedgie,0\nwhite_necktie,0\nwatson_amelia,4\nunbuttoned_shirt,0\nlightning,0\naikatsu!,3\nmordred_(fate/apocrypha),4\nasymmetrical_sleeves,0\nhoshizora_rin,4\nkikuchi_makoto,4\nhas_bad_revision,5\ndigimon,3\nprint_skirt,0\nstatue,0\nposter_(object),0\nbaby,0\nwrist_ribbon,0\nbutterfly_wings,0\ndark_blue_hair,0\nmonster_boy,0\nsquatting_cowgirl_position,0\ncrowd,0\nbustier,0\nbandaid_on_nose,0\ndark_elf,0\nnaruto_shippuuden,3\nwhite_bloomers,0\ncrack,0\ncrotchless,0\nmachine_gun,0\ntowel_on_head,0\nblue_fire,0\nbow_hairband,0\nbullet,0\near_covers,0\nmedium_skirt,0\nbb_(fate),4\npearl_necklace,0\nthigh_grab,0\nstreaming_tears,0\nboat,0\npocket_watch,0\nsurgical_mask,0\nfate/prototype,3\ncollaboration,5\ncropped,5\nno_pussy,0\ntrench_coat,0\ntorn_dress,0\nex-keine,4\nkasumi_(kancolle),4\niowa_(kancolle),4\nbear,0\nwhite_neckerchief,0\ncrab,0\nletter,0\nred_scrunchie,0\nyellow_shorts,0\nblood_on_hands,0\njeanne_d'arc_(ruler)_(fate),4\nklee_(genshin_impact),4\ntomboy,0\nboy_on_top,0\nribbon-trimmed_legwear,0\nkouji_(campus_life),1\nblue_bodysuit,0\nfatal_fury,3\nspread_anus,0\nskullgirls,3\npink_necktie,0\nlocked_arms,0\nred_buruma,0\ntakanashi_kiara,4\nbound_legs,0\nwhiskers,0\nbodypaint,0\nopen_hands,0\ndress_pull,0\nsaber_alter,4\nganaha_hibiki,4\nsnowman,0\ntoilet,0\nvertical-striped_shirt,0\nanimal_on_shoulder,0\nyuubari_(kancolle),4\ndrawing,0\nryouou_school_uniform,0\ngintama,3\natago_(azur_lane),4\nhot,0\ncat_cutout,0\nvertical-striped_thighhighs,0\nlandscape,0\nno_legwear,0\nidolmaster_1,3\none-punch_man,3\nfusion,0\nvehicle_focus,0\noshino_shinobu,4\ntsundere,0\nkitchen,0\nyellow_theme,0\nguilty_gear_xrd,3\nhecatia_lapislazuli,4\nimagining,0\nkiso_(kancolle),4\ngreen_pants,0\ndefeat,0\nshimamura_uzuki,4\nventi_(genshin_impact),4\nnekomata_okayu,4\nbra_visible_through_clothes,0\nargyle_background,0\nfire_emblem:_the_blazing_blade,3\ntile_wall,0\ntowel_around_neck,0\nsoccer_uniform,0\nlocker,0\ncrotch,0\nmilk,0\nsteins;gate,3\ntoeless_footwear,0\norange_bowtie,0\nflower_knot,0\nhand_on_another's_cheek,0\nimminent_rape,0\nsplatoon_2,3\nevil_grin,0\nfrilled_pillow,0\njacket_removed,0\nassisted_exposure,0\nuruha_rushia,4\ncrescent_pin,0\nwine_bottle,0\nbyleth_(fire_emblem)_(female),4\ntiger,0\nwatanabe_you,4\nzero_two_(darling_in_the_franxx),4\ncheckered_skirt,0\nfrilled_collar,0\ncat_lingerie,0\nasahina_mikuru,4\nmonster_musume_no_iru_nichijou,3\nlong_tongue,0\npirate_hat,0\nroad_sign,0\ntaihou_(azur_lane),4\noppai_loli,0\nkiseru,0\nbird_tail,0\nphantasy_star_online_2,3\nsagging_breasts,0\nyellow_gloves,0\nred_(pokemon),4\nhatching_(texture),0\nenergy,0\ngardevoir,4\ndeath,0\nfat_man,0\nash_ketchum,4\ntorn_skirt,0\nstarfish,0\nlibrary,0\nsuite_precure,3\nvirgin_killer_sweater,0\nyou_gonna_get_raped,0\nyellow_headwear,0\nprint_bow,0\nfingers_together,0\ncrow,0\nbat_print,0\nmuted_color,0\nunsheathed,0\nhand_on_another's_chin,0\nsleeves_pushed_up,0\nyellow_panties,0\nosomatsu-san,3\ncat_hair_ornament,0\norange_dress,0\nbikini_aside,0\nresident_evil,3\ngundam_build_fighters,3\nback_cutout,0\nmagia_record:_mahou_shoujo_madoka_magica_gaiden,3\nbikini_tan,0\nteacher,0\n1980s_(style),0\nhiryuu_(kancolle),4\nmorrigan_aensland,4\ndefloration,0\nalien,0\ngreen_bowtie,0\nanal_tail,0\ngame_console,0\nheart_background,0\nsoul_gem,0\nsideways_mouth,0\nitomugi-kun,1\nsoap_bubbles,0\non_desk,0\ncostume,0\nuchiwa,0\nvery_dark_skin,0\n1koma,0\nmeltryllis_(fate),4\nhalftone_background,0\nleg_tattoo,0\ntakagaki_kaede,4\nprinz_eugen_(azur_lane),4\ndjeeta_(granblue_fantasy),4\nformidable_(azur_lane),4\nnintendo_switch,0\nmechanical_wings,0\nmask_removed,0\nprincess_peach,4\nkaryl_(princess_connect!),4\nos-tan,3\ntwo-sided_fabric,0\ntorn_pants,0\nshirasaka_koume,4\nshy,0\nraised_eyebrow,0\nplanted_sword,0\ntrack_pants,0\nsuitcase,0\nbubble_blowing,0\nstick,0\nalbum_cover,0\ngraf_zeppelin_(kancolle),4\nschool,0\nultimate_madoka,4\ncolorful,0\nromaji_text,0\npurple_necktie,0\nemployee_uniform,0\ncommand_spell,0\nmandarin_orange,0\neromanga_sensei,3\nmusical_note_hair_ornament,0\nunaligned_breasts,0\nsagisawa_fumika,4\nspoken_blush,0\ngundam_seed,3\ntaking_picture,0\nclover,0\npink_skin,0\ndragon_wings,0\nobijime,0\ncum_pool,0\narmchair,0\nlifebuoy,0\ngradient_eyes,0\ntartaglia_(genshin_impact),4\ndoctor_(arknights),4\nskadi_(arknights),4\npouring,0\nstriped_pantyhose,0\nv_over_eye,0\npointing_up,0\nkagerou_project,3\nwakasagihime,4\nblue_wings,0\ntissue_box,0\nholding_shield,0\nschool_chair,0\ncarrot_hair_ornament,0\ndc_comics,3\nshirogane_noel,4\nclone,0\nshingeki_no_bahamut,3\ncoffee_mug,0\nholding_paper,0\nwinter_uniform,0\nmountainous_horizon,0\ninfinite_stratos,3\nmale_masturbation,0\nblue_butterfly,0\nheart_necklace,0\nhusband_and_wife,0\nyurucamp,3\ncloud_strife,4\ncropped_shirt,0\nlittle_witch_academia,3\nred_eyeshadow,0\nkoizumi_hanayo,4\n:>=,0\ndemon,0\npower_armor,0\noff-topic,5\nagainst_glass,0\nbarcode,0\nfeet_up,0\nsilk,0\nsmokestack,0\nlamia,0\nthong_leotard,0\nmulticolored_skirt,0\nswimming,0\nlake,0\nhalf-closed_eye,0\nmedusa_(rider)_(fate),4\nblood_on_weapon,0\nblood_from_mouth,0\nblunt_ends,0\nleather_jacket,0\nsee-through_silhouette,0\nbackboob,0\nfur-trimmed_boots,0\nblue_sleeves,0\nsode,0\nkishin_sagume,4\ntexas_(arknights),4\n2021,0\nholding_candy,0\nfood_focus,0\nthe_pose,0\nfisheye,0\nred_moon,0\nblack_skin,0\njar,0\nfloppy_ears,0\nlong_bangs,0\nkomaeda_nagito,4\nnaka_(kancolle),4\nkyon,4\ntakatsuki_yayoi,4\nwhite_camisole,0\nflexible,0\nbandaid_on_knee,0\nosomatsu-kun,3\norange_jacket,0\ntoradora!,3\nhestia_(danmachi),4\nholding_pen,0\namerican_flag_legwear,0\nmitakihara_school_uniform,0\nbremerton_(azur_lane),4\nnanamori_school_uniform,0\npuddle,0\ncat_hood,0\nmulticolored_jacket,0\nthorns,0\naiming,0\nbackwards_hat,0\ndark_nipples,0\nbutton_gap,0\npointing_at_self,0\nholding_own_arm,0\nkirby,4\nhouseki_no_kuni,3\npaizuri_under_clothes,0\nrecording,0\nblack_cloak,0\ninugami_korone,4\nmulticolored_nails,0\ncheek-to-cheek,0\narm_hug,0\nfrilled_hat,0\npince-nez,0\ndemon_slayer_uniform,0\nleaning,0\nno_nipples,0\nshrine,0\nnovelty_censor,0\nblack_suit,0\nrei_no_himo,0\nrobot_ears,0\nearth_(planet),0\nunderboob_cutout,0\ngreen_legwear,0\nblack_rock_shooter_(character),4\nhose,0\nmiyamoto_musashi_(fate),4\ngrey_cardigan,0\ntwo-tone_skin,0\ndigital_media_player,0\nfate/hollow_ataraxia,3\nparadis_military_uniform,0\near_bow,0\nbowsette,4\nsono_bisque_doll_wa_koi_wo_suru,3\nblue_buruma,0\nwaist_bow,0\norange_headwear,0\nbanana,0\npurple_bodysuit,0\nflaccid,0\nshop,0\nkanzaki_ranko,4\nsakura_miko,4\nblue_socks,0\npurple_hairband,0\nskirt_suit,0\nnude_cover,0\nmagazine_scan,5\nselene_(pokemon),4\nsleeveless_kimono,0\nsnout,0\nambiguous_gender,0\nbelfast_(azur_lane),4\nshowering,0\nspider_lily,0\nsirius_(azur_lane),4\nsuper_sonico,4\nshide,0\nneon_trim,0\nmetal_collar,0\nhoshimachi_suisei,4\nwhite_ascot,0\naran_sweater,0\ndolphin_shorts,0\nwhat,0\nyumemi_riamu,4\nbelt_collar,0\nbrown_scarf,0\nlanyard,0\nbikini_lift,0\nspread_ass,0\nrooftop,0\noctopus,0\ncu_chulainn_(fate/stay_night),4\nkisume,4\nseaport_princess,4\nmini_wings,0\nbaggy_pants,0\ncat_paws,0\nyu-gi-oh!_duel_monsters,3\ntani_takeshi,1\nmahou_sensei_negima!,3\nnarukami_yuu,4\njougasaki_mika,4\nimprovised_gag,0\narm_around_shoulder,0\nishtar_(fate),4\nchuunibyou_demo_koi_ga_shitai!,3\nfalling_leaves,0\nfishing_rod,0\npromotional_art,5\npole,0\nframed,0\nzero_no_tsukaima,3\nhorror_(theme),0\npaimon_(genshin_impact),4\nspider_web,0\nlily_white,4\nblack_flower,0\nfilm_grain,0\npompadour,0\nfog,0\nkunai,0\nwizard_hat,0\nrice_shower_(umamusume),4\ngrey_pantyhose,0\naerith_gainsborough,4\nprint_gloves,0\nkissing_cheek,0\nbrand_name_imitation,0\ntrefoil,0\n;q,0\nglowing_weapon,0\nnaked_sweater,0\ni-19_(kancolle),4\npokemon_frlg,3\nkiryu_coco,4\nlaevatein_(touhou),0\nfire_emblem:_mystery_of_the_emblem,3\nimminent_vaginal,0\naqua_bow,0\nsteel_ball_run,3\nfurude_rika,4\nrapier,0\nfur_hat,0\nfairy_(kancolle),4\ntoe_scrunch,0\nikari_shinji,4\npainting_(object),0\nwrench,0\nmacaron,0\ndated_commentary,5\nphoto_background,0\ncage,0\nhair_tucking,0\nmother_and_son,0\npentagram,0\nred_sailor_collar,0\nmultiple_wings,0\ninterface_headset,0\nadjusting_swimsuit,0\nholding_cigarette,0\nzouri,0\nyellow_sweater,0\nslave,0\neula_(genshin_impact),4\nstrapless_bikini,0\ntakebe_saori,4\npurple_rose,0\nfood_print,0\npaint.net_(medium),5\nchicken,0\ntsushima_yoshiko,4\ntekken,3\nenergy_sword,0\npink_scarf,0\ndate_a_live,3\nfolded_fan,0\nviolin,0\nmejiro_mcqueen_(umamusume),4\namerican_flag,0\ngokou_ruri,4\nholding_broom,0\nneedle,0\nbarnaby_brooks_jr.,4\nzuihou_(kancolle),4\ndemon_boy,0\n2others,0\nexcalibur_(fate/stay_night),0\nboku_wa_tomodachi_ga_sukunai,3\nperky_breasts,0\nafloat,0\nremote_control,0\ntoo_many,0\nleaning_on_person,0\namane_kanata,4\nblue_hakama,0\nopen_door,0\nhands_in_hair,0\nsteepled_fingers,0\nsnk,3\nmascara,0\npantylines,0\nnetorare,0\nsushi,0\nreal_life_insert,0\nsanya_v._litvyak,4\nswimsuit_aside,0\nsheep,0\nmaria-sama_ga_miteru,3\nv-fin,0\ncat_boy,0\nbutt_plug,0\nidolmaster_million_live!_theater_days,3\nofficial_wallpaper,5\nsailor_moon,4\ngreen_sailor_collar,0\ncream,0\nprint_dress,0\nopaque_glasses,0\ndrum,0\nkuroki_tomoko,4\ncalligraphy_brush,0\ntokoyami_towa,4\narmpit_hair,0\nprint_bowtie,0\nhypnosis,0\nlightning_bolt_symbol,0\nbrown_fur,0\ncontrail,0\nleft-handed,0\no-ring_bottom,0\nvertical-striped_legwear,0\nnitta_minami,4\nkakyoin_noriaki,4\nkeyboard_(computer),0\ncollared_jacket,0\nsingle_sleeve,0\nlower_body,0\namerican_flag_dress,0\ncake_slice,0\nduel,0\nelbow_rest,0\npolicewoman,0\nfigure,0\nzombie_land_saga,3\nholding_bowl,0\nexplosive,0\nscope,0\nfood_on_body,0\neila_ilmatar_juutilainen,4\naqua_(konosuba),4\ncammy_white,4\ncynthia_(pokemon),4\nkanon_(kurogane_knights),1\nereshkigal_(fate),4\nheart_choker,0\nunicorn_(azur_lane),4\nhololive_indonesia,3\negg_vibrator,0\ntransformation,0\ntrain,0\nlove_live!_school_idol_festival,3\nfloor,0\ncircle,0\nfrilled_legwear,0\ngrey_hoodie,0\nsleeves_past_elbows,0\nstaring,0\nfins,0\nkaburagi_t._kotetsu,4\nfrilled_gloves,0\nstylus,0\nmedical_eyepatch,0\nconcept_art,0\noozora_subaru,4\nmap,0\negyptian,0\norange_ribbon,0\nhand_under_clothes,0\nlower_teeth,0\nfanbox_reward,5\noffice_chair,0\ndungeon_and_fighter,3\nahri_(league_of_legends),4\nstring_of_fate,0\ncharacter_profile,0\ntwo-tone_shirt,0\nanimal_crossing,3\nfinal_fantasy_xi,3\nichinose_shiki,4\ntransformers,3\nshiny_pokemon,0\ni-58_(kancolle),4\ncapri_pants,0\nspacecraft,0\nloose_necktie,0\nfurisode,0\neiyuu_densetsu,3\nbra_removed,0\norange_flower,0\nelden_ring,3\nbinoculars,0\nrudder_footwear,0\ntest_tube,0\nstriped_bra,0\nstocking_(psg),4\nstriped_tail,0\nenvelope,0\npaper_bag,0\nhorn_bow,0\nmedicine_melancholy,4\nevangelion:_3.0_you_can_(not)_redo,3\nlemon,0\ngreen_leotard,0\nkotomine_kirei,4\nlion_tail,0\nuneven_eyes,0\nyahari_ore_no_seishun_lovecome_wa_machigatteiru.,3\nlunasa_prismriver,4\nrod_of_remorse,0\nlucina_(fire_emblem),4\nyagami_hayate,4\nbkub,1\nsonic_(series),3\nbasketball,0\nbandaids_on_nipples,0\nbaozi,0\nmilestone_celebration,0\nbad_feet,0\nopen_dress,0\nmaid_bikini,0\nsennen_sensou_aigis,3\nmaya_(kancolle),4\nafter_anal,0\nscan_artifacts,5\ncorrin_(fire_emblem),4\nsuction_cups,0\nsake_bottle,0\nmultiple_crossover,0\nmeiji_schoolgirl_uniform,0\ntight_pants,0\nuranohoshi_school_uniform,0\nbreast_slip,0\nasuna_(blue_archive),4\ncandy_apple,0\ncommissioner_upload,5\nalice_in_wonderland,3\nnaganami_(kancolle),4\nyuri!!!_on_ice,3\nrubber_duck,0\nharuno_sakura,4\nookami_mio,4\npartially_undressed,0\ncommander_(azur_lane),4\nhand_on_own_arm,0\nblue_scrunchie,0\nbanner,0\nhair_beads,0\nfur-trimmed_headwear,0\ndancer,0\nserena_(pokemon),4\nfather_and_son,0\npussy_juice_stain,0\nkokkoro_(princess_connect!),4\nmouse_girl,0\npink_leotard,0\nhair_strand,0\nreverse_outfit,0\nthe_legend_of_zelda:_twilight_princess,3\nchewing_gum,0\npussy_juice_trail,0\npizza,0\nmachikado_mazoku,3\nhinata_hajime,4\nfootwear_bow,0\narm_belt,0\nyamakaze_(kancolle),4\nswim_trunks,0\nholding_towel,0\ntaur,0\nanastasia_(idolmaster),4\nhiiragi_tsukasa,4\nnightcap,0\nsubmerged,0\nstage,0\npumps,0\ngrey_vest,0\nmiddle_finger,0\nsquirrel_ears,0\npink_shorts,0\nmismatched_gloves,0\nfinger_gun,0\ndigimon_(creature),0\npink_cardigan,0\nno_shirt,0\nhooded_capelet,0\nparfait,0\nouma_kokichi,4\npokemon_rse,3\ncopyright,0\nholding_pokemon,0\n2022,0\ngae_bolg_(fate),0\nshore,0\ndrop_shadow,0\nmurasame_(kancolle),4\ntwo-tone_fur,0\nholding_mask,0\nlineup,0\nobliques,0\nson_goku,4\nshotgun,0\ntony_taka,1\ngrabbing_another's_ass,0\nkirito,4\nbackground_text,0\nriding_crop,0\nkindergarten_uniform,0\ncovered_collarbone,0\nblue_capelet,0\nbandage_over_one_eye,0\ngoggles_around_neck,0\nholding_camera,0\narm_rest,0\nblue_pantyhose,0\nshirogane_naoto,4\npenis_on_face,0\ndaiwa_scarlet_(umamusume),4\nframed_breasts,0\nflower-shaped_pupils,0\nflashing,0\nheart-shaped_eyewear,0\nmultiple_hair_bows,0\ncolored_pubic_hair,0\ntales_of_vesperia,3\nkitagawa_marin,4\ngothic,0\npolos_crown,0\nmercy_(overwatch),4\ngradient_sky,0\nkuromorimine_military_uniform,0\npokemon_masters_ex,3\nejaculating_while_penetrated,0\nkamisato_ayaka,4\nlip_biting,0\nnia_teppelin,4\ngreen_bra,0\nduck,0\npiggyback,0\npokemon_adventures,3\ndoremy_sweet,4\nsakurauchi_riko,4\nkingdom_hearts,3\nenergy_gun,0\nflorence_nightingale_(fate),4\nartbook,5\nthrowing,0\njapari_symbol,0\nlying_on_person,0\nyukihana_lamy,4\nred_headband,0\nforked_eyebrows,0\nhair_twirling,0\nmisty_(pokemon),4\nsailor_bikini,0\nedelgard_von_hresvelg,4\nharpy,0\ncuts,0\ndeep_penetration,0\nreverse_suspended_congress,0\njack_the_ripper_(fate/apocrypha),4\nobiage,0\nleg_hair,0\nmetal_gear_(series),3\npaint_splatter,0\nclothes_grab,0\nupright_straddle,0\nproject_sekai,3\ngiorno_giovanna,4\nhiding,0\nfrilled_swimsuit,0\nhairpods,0\nshimada_arisu,4\nump45_(girls'_frontline),4\nhands_in_opposite_sleeves,0\nhyouka,3\nkatyusha_(girls_und_panzer),4\nsingle_kneehigh,0\npink_neckerchief,0\ntablet_pc,0\nholding_another's_arm,0\nkay_(girls_und_panzer),4\nz1_leberecht_maass_(kancolle),4\nsquirrel_tail,0\ngym_shorts,0\nholding_underwear,0\nsheryl_nome,4\nblack_armor,0\nseagull,0\nplaid_dress,0\nshovel,0\ntomoe_(symbol),0\nkujo_jolyne,4\ntoy,0\nscar_on_chest,0\nearbuds,0\nwhite_vest,0\nreverse_bunnysuit,0\ndarkness,0\nirrumatio,0\nfresh_precure!,3\nchips_(food),0\nasymmetrical_footwear,0\ngas_mask,0\nhands_on_another's_shoulders,0\nprosthetic_arm,0\ndress_bow,0\nbat_hair_ornament,0\nbody_markings,0\nmultiple_rings,0\nyellow_scarf,0\nhappy_halloween,0\nstirrup_legwear,0\nleotard_aside,0\npurple_umbrella,0\nw_arms,0\npartially_unzipped,0\nhands_on_another's_face,0\negasumi,0\nfutaba_anzu,4\nbandaged_hand,0\nuzumaki_naruto,4\nanus_peek,0\nmidoriya_izuku,4\nbone_hair_ornament,0\nblue-framed_eyewear,0\nhiguchi_madoka,4\ngalaga,3\nslime_girl,0\nz3_max_schultz_(kancolle),4\ntaihou_(kancolle),4\nayanami_(azur_lane),4\nspitroast,0\nmagazine_(weapon),0\nholding_box,0\nspeaker,0\npurple_vest,0\ngrey_sailor_collar,0\npecorine_(princess_connect!),4\naudible_speech,5\nsandwich,0\ntreble_clef,0\nstreet_fighter_v,3\nloose_belt,0\nwaver_velvet,4\niskandar_(fate),4\nalternate_legwear,0\nviewfinder,0\nsuit_jacket,0\nmegaphone,0\nstomach_tattoo,0\ntakarada_rikka,4\nminiboy,0\nkuma_(kancolle),4\nevangelion:_2.0_you_can_(not)_advance,3\norange_bodysuit,0\nmiura_azusa,4\narm_around_waist,0\nshikishi,0\nlayered_bikini,0\nfire_emblem:_the_binding_blade,3\nbamboo_forest,0\npenis_awe,0\nfeather_boa,0\ngold_ship_(umamusume),4\nlicking_finger,0\nplantar_flexion,0\near_ornament,0\nsurreal,0\nletterman_jacket,0\nholding_lollipop,0\nhumanization,0\ntomato,0\nbleeding,0\nhyuuga_hinata,4\nfire_emblem:_path_of_radiance,3\nspice_and_wolf,3\ngreen_neckwear,0\ngrenade,0\nruu_(tksymkw),1\nbubble_tea,0\na1,1\npancake,0\njacket_around_waist,0\nspoken_squiggle,0\nbunny_print,0\nhagiwara_yukiho,4\nshirt_tug,0\nnewspaper,0\njonathan_joestar,4\nsoda_can,0\ngoggles_on_headwear,0\ni-401_(kancolle),4\ngrinding,0\nwarspite_(kancolle),4\nhumanoid_robot,0\norange_hairband,0\nmagazine_cover,0\nskates,0\nshirai_kuroko,4\nsaihara_shuuichi,4\nsamurai_spirits,3\npubic_hair_peek,0\nmulti-tied_hair,0\nshenhe_(genshin_impact),4\nnarmaya_(granblue_fantasy),4\nakigumo_(kancolle),4\n5koma,0\nfighting,0\nhorned_headwear,0\nxiao_(genshin_impact),4\nizumi_sagiri,4\nlion_girl,0\nbag_charm,0\nghost_tail,0\nshooting_star,0\nfusou_(kancolle),4\njougasaki_rika,4\nblade_(galaxist),1\nscowl,0\nmurasaki_shion,4\nsnowflake_hair_ornament,0\nfinger_on_trigger,0\nmario,4\nlily_pad,0\npith_helmet,0\nryuuguu_rena,4\narms_around_neck,0\n2020,0\nhair_tie_in_mouth,0\nmikasa_ackerman,4\nmochi,0\nchest_harness,0\nlifting_person,0\nchloe_von_einzbern,4\nnami_(one_piece),4\nleft-to-right_manga,0\npyonta,4\ntraditional_youkai,0\nidolmaster_side-m,3\npiano,0\nopen-chest_sweater,0\nin_tree,0\ndark_souls_(series),3\nnon-human_admiral_(kancolle),4\naudible_music,5\nin_box,0\nshishiro_botan,4\nkanzashi,0\naisaka_taiga,4\neevee,4\ncrotch_rope,0\nribbed_dress,0\nmidorikawa_nao,4\nfood_on_head,0\nelizabeth_bathory_(fate),4\nbeer_can,0\nhand_on_head,0\nuraraka_ochako,4\nmidair,0\ndeepthroat,0\ncommon_raccoon_(kemono_friends),4\nthumb_ring,0\nuneven_gloves,0\nleaf_print,0\nfire_emblem:_radiant_dawn,3\nreizei_mako,4\nyugake,0\nwatson_cross,0\nvegetable,0\nyellow_rose,0\nranma_1/2,3\nstitched,5\ntrainer_(umamusume),4\nfrying_pan,0\nankle_ribbon,0\nceiling,0\nmatsunaga_kouyou,1\nyuki_miku,4\npanda,0\nspoken_interrobang,0\nguro,0\nmotoori_kosuzu,4\nthinking,0\nworking!!,3\nguilty_gear_strive,3\nundertale,3\nbird_ears,0\nheart_in_mouth,0\nusami_sumireko,4\nhand_over_own_mouth,0\nwinged_arms,0\nneck_ruff,0\ncaterpillar_tracks,0\nstained_glass,0\nextra,0\ngloom_(expression),0\npokephilia,0\nchemise,0\nleon_(pokemon),4\nsekaiju_no_meikyuu,3\nchristmas_ornaments,0\nsatonaka_chie,4\nhoto_cocoa,4\nobject_namesake,0\ntiger_girl,0\ntokai_teio_(umamusume),4\nbike_shorts_under_skirt,0\nhagoromo,0\nlelouch_lamperouge,4\nkumano_(kancolle),4\nbodysuit_under_clothes,0\nsayonara_zetsubou_sensei,3\nbreastless_clothes,0\nkise_yayoi,4\nouro_kronii,4\nheart_in_eye,0\nbeatrice_(umineko),4\nnumbered,0\nsheep_ears,0\nmankanshoku_mako,4\nruby_rose,4\nholo,4\nbutton_badge,0\npeeing_self,0\ntorn_bodysuit,0\nafter_fellatio,0\nmonster_hunter_(character),4\ncat_ear_panties,0\namerican_flag_bikini,0\nflip-flops,0\nhunter_x_hunter,3\nraccoon_girl,0\ngekkoukan_high_school_uniform,0\ncity_lights,0\nflats,0\nhigashikata_josuke,4\nwriting,0\norange_sky,0\nshakugan_no_shana,3\nshared_clothes,0\npuppet,0\nfour-leaf_clover,0\nvertical-striped_dress,0\ncoat_on_shoulders,0\npretty_(series),3\nbarbara_(genshin_impact),4\nmaking-of_available,5\nbird_on_head,0\ndebris,0\naoba_(kancolle),4\npublic_nudity,0\nwide_ponytail,0\nsparkle_background,0\ncollage,0\nspill,0\nhyuuga_(kancolle),4\npink_scrunchie,0\nmaekawa_miku,4\ncharlotte_(madoka_magica),4\ncovering_eyes,0\nrubber_boots,0\nlotus,0\nstriker_unit,0\nkote,0\npokemon_sm_(anime),3\nhappinesscharge_precure!,3\nakizuki_ritsuko,4\nboo_tao_(genshin_impact),4\nraihan_(pokemon),4\nnaga_u,1\ngrey_panties,0\ntokitsukaze_(kancolle),4\nlotion,0\nkama_(fate),4\nshiranui_mai,4\nchained,0\nwhite_scrunchie,0\npaint,0\nshoulder_carry,0\nshoe_dangle,0\nemilia_(re:zero),4\norange_necktie,0\ncupcake,0\ndiffraction_spikes,0\nholding_axe,0\nremote_control_vibrator,0\ntaimanin_(series),3\nleopard_print,0\nbento,0\nfetal_position,0\nsingle_leg_pantyhose,0\nbar,0\ncheese,0\ngender_request,5\nshell_casing,0\npurple_pantyhose,0\nkiyohime_(fate),4\nkeyhole,0\norange_nails,0\npaw_shoes,0\nlayered_clothes,0\ngaping,0\nyunomi,0\nyellow_kimono,0\nworld_war_ii,0\nmoonlight,0\ntunic,0\nace_attorney,3\nrabbit_hood,0\nluna_child,4\nhip_bones,0\narm_hair,0\npokemon_rgby,3\nfennec_(kemono_friends),4\npinching,0\nstuffed_cat,0\nred_sleeves,0\nthank_you,0\nfate/prototype:_fragments_of_blue_and_silver,3\nsword_of_hisou,0\nurethra,0\nhallway,0\nch'en_(arknights),4\nhayate_no_gotoku!,3\nlace_panties,0\nreindeer_antlers,0\nholding_scythe,0\near_ribbon,0\nstar_sapphire,4\ncandy_cane,0\ngoldfish,0\nkousaka_kirino,4\nunzan,4\ngem_uniform_(houseki_no_kuni),0\nblue_gemstone,0\nwedding,0\narms_under_breasts,0\ncorruption,0\noboro_(kancolle),4\nquad_tails,0\nbreast_curtains,0\nabstract,0\nexercise,0\nred_belt,0\nmedal,0\nrobin_(fire_emblem),4\nquarter_note,0\nlong_eyelashes,0\ntomoe_gozen_(fate),4\ndragon_ball_super,3\nfurry_with_non-furry,0\nred_rope,0\npadlock,0\njealous,0\nhand_in_panties,0\nashigara_(kancolle),4\npudding,0\nfashion,0\nau_ra,0\ndomino_mask,0\nyear_of_the_tiger,0\nsatsuki_(kancolle),4\nboko_(girls_und_panzer),4\npirate,0\ngreen_scarf,0\nstethoscope,0\nyohane,1\nmultiple_bows,0\njean_(genshin_impact),4\nearclip,0\njintsuu_(kancolle),4\nbrush,0\nillustrious_(azur_lane),4\nblack_ascot,0\nkanon,3\nhelmet_removed,0\nsnot,0\nvolleyball,0\non_shoulder,0\nholding_dagger,0\nelectric_fan,0\nkogal,0\nyear_of_the_ox,0\nkiyoshimo_(kancolle),4\nkara_no_kyoukai,3\nmogami_(kancolle),4\ndice,0\nbea_(pokemon),4\nlatin_cross,0\nlight_green_hair,0\npant_suit,0\nweiss_schnee,4\nbangs_pinned_back,0\nhidamari_sketch,3\nmega_man_(classic),3\nladder,0\ncrescent_earrings,0\nskirt_tug,0\nmakise_kurisu,4\ngo!_princess_precure,3\nhappy_valentine,0\nseamed_legwear,0\nhuge_nipples,0\nkagerou_(kancolle),4\nnanashi_mumei,4\nleg_lock,0\naiming_at_viewer,0\nurakaze_(kancolle),4\nflaming_eye,0\nhand_on_another's_chest,0\npaddle,0\nover-rim_eyewear,0\nfuta_(nabezoko),1\ntorn_sleeves,0\nkyuubi,0\nsoldier,0\nburn_scar,0\npink_apron,0\nincredibly_absurdres,5\nst._gloriana's_school_uniform,0\nmobile_suit,0\nbullpup,0\norange_footwear,0\nuzuki_(kancolle),4\nemiya_kiritsugu,4\nzombie_pose,0\nnitocris_(fate),4\nfischl_(genshin_impact),4\nsingle_detached_sleeve,0\nsunburst,0\ntrash_can,0\ntakami_chika,4\ncoattails,0\nsunny_milk,4\nnakiri_ayame,4\nduffel_bag,0\nshower_head,0\nainu_clothes,0\nfeather_trim,0\ngreen_thighhighs,0\nfairy_tail,3\norange_scrunchie,0\nstone_ocean,3\nvibrator_under_clothes,0\nmiyafuji_yoshika,4\nkallen_stadtfeld,4\nerica_hartmann,4\nmakima_(chainsaw_man),4\n2018,0\nisokaze_(kancolle),4\nturtle_shell,0\nsubtitled,0\ngreen_hairband,0\nwide_spread_legs,0\nfinger_to_cheek,0\nmelty_blood,3\npurple_choker,0\nartoria_pendragon_(lancer)_(fate),4\nwet_swimsuit,0\nnegligee,0\n2019,0\nsoulcalibur,3\nmade_in_abyss,3\nramen,0\npillarboxed,0\nsoccer_ball,0\npurple_wings,0\nofficial_alternate_hairstyle,0\ntachibana_arisu,4\nshark_girl,0\nanime_coloring,0\nalternate_headwear,0\ntwo-tone_skirt,0\nmole_on_thigh,0\ncome_hither,0\nbra_peek,0\nm.u.g.e.n,3\nlappland_(arknights),4\nmobile_suit_gundam,3\nprofanity,0\nbass_guitar,0\nyorigami_shion,4\npastry,0\nheart_pillow,0\npig,0\nseashell,0\nhorseshoe_ornament,0\ncross_hair_ornament,0\nnatsuiro_matsuri,4\nunryuu_(kancolle),4\n2016,0\nears_down,0\ncarnelian,1\nfur-trimmed_hood,0\nshark,0\ncrossed_ankles,0\nstrap_between_breasts,0\nkoshimizu_sachiko,4\nspade_(shape),0\nowl,0\nbrown_theme,0\nspandex,0\nwrestling_outfit,0\nsleepwear,0\ndiarmuid_ua_duibhne_(lancer)_(fate),4\neyepatch_bikini,0\nuntied_panties,0\nrebecca_(keinelove),1\nclitoral_stimulation,0\nutau,3\nmismatched_bikini,0\nshiranui_flare,4\nhatsuyuki_(kancolle),4\ndoorway,0\nnipple_rings,0\nsingle_sidelock,0\nfutari_wa_precure,3\n2015,0\nrose_print,0\nsuspension,0\nstar_in_eye,0\ncoffee_cup,0\nfire_emblem:_genealogy_of_the_holy_war,3\nmitsudomoe_(shape),0\nlooking_at_penis,0\ntwo-footed_footjob,0\nhishikawa_rikka,4\nsigh,0\nblade,0\nhand_on_another's_hip,0\nnessa_(pokemon),4\nskirt_around_one_leg,0\ng-string,0\nalternate_universe,0\nlocker_room,0\nshibari_over_clothes,0\nclothes_in_mouth,0\norange_choker,0\nwarugaki_(sk-ii),1\nsnowflake_print,0\nido_(teketeke),1\nexusiai_(arknights),4\nqing_guanmao,0\nlycoris_recoil,3\nbandaid_on_pussy,0\ncorrin_(fire_emblem)_(female),4\nred_one-piece_swimsuit,0\nlifted_by_another,0\nnaoetsu_high_school_uniform,0\nlights,0\nembers,0\nhayami_kanade,4\nshirt_removed,0\ncold,0\ndizzy_(guilty_gear),4\nakitsu_maru_(kancolle),4\nbreast_tattoo,0\nfinal_fantasy_vi,3\nasakura_ryouko,4\narm_held_back,0\nmismatched_footwear,0\nholding_panties,0\ncalendar_(medium),0\nsimon_(ttgl),4\nflame-tipped_tail,0\nraincoat,0\nhisahiko,1\nweibo_username,0\nsweets,0\nsun_symbol,0\nshaved_ice,0\ndoll_hug,0\ntalons,0\nzero_suit,0\nmallet,0\nsheep_girl,0\nshiratsuyu_(kancolle),4\nmagazine_(object),0\nchef_hat,0\ncigar,0\ndiagonal_bangs,0\nkitauji_high_school_uniform,0\nwalk-in,0\noshiro_project,3\nwa_maid,0\nyellow_scrunchie,0\nhead-mounted_display,0\nbrown_bag,0\nholding_person,0\ngiving,0\ntaigei_(kancolle),4\ntokyo_ghoul,3\nblack_cardigan,0\nnakano_nino,4\nhoujou_satoko,4\nproject_diva_(series),3\nstar_ocean,3\nmika_(girls_und_panzer),4\norange_gloves,0\nwhite_theme,0\ntuxedo,0\ngertrud_barkhorn,4\nfrilled_kimono,0\nphoto-referenced,5\nooarai_military_uniform,0\nwa2000_(girls'_frontline),4\ngreen_coat,0\nflat_ass,0\nram_(re:zero),4\n2017,0\noda_nobunaga_(fate),4\nsitting_on_face,0\ncum_on_boy,0\nixy,1\nskull_and_crossbones,0\naoki_reika,4\nhand_grab,0\norgy,0\nspacesuit,0\nbow_(bhp),1\nhorizontal_pupils,0\nlook-alike,0\nyellow_fur,0\npink_bodysuit,0\nbloom,0\narm_around_neck,0\nstriped_jacket,0\nsword_girls,3\nribbed_shirt,0\ntypo,0\ngrey_coat,0\nundersized_clothes,0\nblue_belt,0\nmultiple_horns,0\ntext-only_page,0\nuneven_sleeves,0\nkirisawa_juuzou,1\nchest_sarashi,0\ncheckered_scarf,0\nrice_bowl,0\nsee-through_shirt,0\nfrilled_hair_tubes,0\nalice_(alice_in_wonderland),4\nfutami_mami,4\nmouth_drool,0\nclip_studio_paint_(medium),5\ndragon_quest_iii,3\ncallie_(splatoon),4\no3o,0\ndd_(ijigendd),1\nhairy,0\nred_gemstone,0\nscar_on_arm,0\nsuspender_shorts,0\nkirima_syaro,4\nbit_gag,0\nholding_flag,0\nlouise_francoise_le_blanc_de_la_valliere,4\nmillipen_(medium),0\nmuvluv,3\ngundam_seed_destiny,3\ntoothbrush,0\npuckered_lips,0\nprone_bone,0\nprincess,0\nswirl_lollipop,0\nscar_on_nose,0\ndon-chan_(usada_pekora),4\nupdo,0\nyoshida_yuuko_(machikado_mazoku),4\nnervous_smile,0\nd-pad,0\nhand_on_another's_back,0\naccelerator_(toaru_majutsu_no_index),4\nroom,0\nnakano_miku,4\nrubbing_eyes,0\nconvenient_arm,0\nbomber_jacket,0\nclub_(weapon),0\nwhite_feathers,0\nsanta_bikini,0\ndark_magician_girl,4\nnichijou,3\natelier_ryza,3\ngreen_sweater,0\ncum_on_stomach,0\nnape,0\nyellow_legwear,0\npatterned_background,0\ncarrot_necklace,0\nthigh_sex,0\nharusame_(kancolle),4\norc,0\nbeach_towel,0\ndog_boy,0\nwhite_robe,0\nopen_shorts,0\nhand_on_another's_arm,0\nplastic_bag,0\ntam_o'_shanter,0\nsaratoga_(kancolle),4\nassault_lily,3\nnagisa_kaworu,4\nscreaming,0\niesupa,1\nspotlight,0\npower_symbol,0\ncreator_connection,0\ntombstone,0\nflower_pot,0\norange_theme,0\njackal_ears,0\nasuna_(bunny)_(blue_archive),4\nmakinami_mari_illustrious,4\nsuper_saiyan,0\nhamu_koutarou,1\nhair_spread_out,0\ngolden_kamuy,3\nbakugou_katsuki,4\nanya_(spy_x_family),4\ntachibana_kanade,4\nasphyxiation,0\nshouji,0\ncameo,0\ndusk,0\nsaenai_heroine_no_sodatekata,3\npath,0\non_lap,0\nmultiple_belts,0\nbrown_ribbon,0\nhadanugi_dousa,0\ntied_up_(nonsexual),0\nhatsuzuki_(kancolle),4\npokemon_(classic_anime),3\nstill_life,0\nkani_biimu,1\nflask,0\ntally,0\nsmall_penis,0\ncarpet,0\ndisembodied_head,0\nevening_gown,0\nsakamata_chloe,4\nphimosis,0\nred_sclera,0\nmerlin_prismriver,4\ndiagonal-striped_bow,0\nkamijou_touma,4\nfemale_pov,0\nbrave_witches,3\nholding_smoking_pipe,0\nre-class_battleship,4\ntakao_(azur_lane),4\nsunrise,0\nbow_bikini,0\nred_sash,0\n:i,0\nsmiley_face,0\nbird_girl,0\nfaux_traditional_media,0\nshana,4\nmohawk,0\nkatsushika_hokusai_(fate),4\nichimi,1\narcueid_brunestud,4\nmichishio_(kancolle),4\nside_cutout,0\ndiving_mask,0\ntriangle,0\nroman_numeral,0\ncurry,0\nhill,0\nshinrabanshou,3\nushiromiya_battler,4\nsmell,0\nred_pantyhose,0\ncover_image,0\nkou_hiyoyo,1\nmulticolored_legwear,0\ndrumsticks,0\nrussian_text,0\nsteam_censor,0\nshinryaku!_ikamusume,3\nretrofit_(azur_lane),0\nheart_tattoo,0\nshimakaze_(kancolle)_(cosplay),0\ndiadem,0\nblack_headband,0\ncyclops,0\nhexagram,0\nufo,0\nnumber_tattoo,0\nranka_lee,4\nyura_(kancolle),4\nhamster,0\nu-511_(kancolle),4\ntree_shade,0\nmouse_(computer),0\nchihuri,1\nred_pupils,0\nbroken_glass,0\nhino_akane_(smile_precure!),4\ntalisman,0\nfourth_wall,0\nmarie_(splatoon),4\nmonkey_tail,0\nfuta_with_male,0\negyptian_clothes,0\npink-framed_eyewear,0\nshuuchiin_academy_school_uniform,0\nlyrica_prismriver,4\nthe_legend_of_zelda:_ocarina_of_time,3\ncovered_abs,0\nshort_sword,0\nnew_game!,3\nlinea_alba,0\npolice_hat,0\ntri_tails,0\nkashiwazaki_sena,4\nshared_scarf,0\nanimal_penis,0\npurple_sleeves,0\naqua_bikini,0\ncinderella_girls_gekijou,3\nhoutengeki,1\ncondom_on_penis,0\nbreast_bondage,0\ndownscaled,5\nkantoku,1\nsink,0\nkanna_kamui,4\ngreen_choker,0\nblue_lips,0\nanal_fingering,0\nstreet_fighter_iv_(series),3\nbad_hands,0\ntennis_uniform,0\neraser,0\nspatula,0\nsurtr_(arknights),4\nyes!_precure_5,3\nfur_coat,0\ndesert,0\nice_cube,0\nkamado_nezuko,4\nisuzu_hana,4\nkyonko,4\ntorch,0\nquill,0\nchitanda_eru,4\nhikarizaka_private_high_school_uniform,0\nbeak,0\nlana_(pokemon),4\nstring_of_flags,0\nsatchel,0\nyua_(checkmate),1\nblack_scrunchie,0\nyahagi_(kancolle),4\nscratches,0\nkiana_kaslana,4\nankle_cuffs,0\nkaenbyou_rin_(cat),4\nbandaid_on_cheek,0\nstriped_socks,0\nmelting,0\ndriving,0\nmiyu_edelfelt,4\nstudded_belt,0\nlarge_tail,0\nd-pad_hair_ornament,0\ncliff,0\ngimp_(medium),5\nmultiple_earrings,0\nethan_(pokemon),4\ntoshinou_kyouko,4\njellyfish,0\nfeather-trimmed_sleeves,0\nfinger_in_another's_mouth,0\nholding_arrow,0\nmutsuki_(kancolle),4\noctarian,0\nstrangling,0\nyukine_chris,4\ntippy_(gochiusa),4\nenterprise_(azur_lane),4\nritual_baton,0\nmicrodress,0\nlaffey_(azur_lane),4\nbig_belly,0\nphone_screen,0\ngrey_sky,0\npraying,0\nyuuki_makoto,4\nprayer_beads,0\nhand_on_hilt,0\nribbed_legwear,0\nmagical_musket,0\nhaguro_(kancolle),4\ntorn_cape,0\noni_mask,0\nmasao,1\ntribadism,0\nsamurai,0\nkeyboard_(instrument),0\noshiro_project_re,3\ncrossed_bandaids,0\ncyberpunk,0\nspider_web_print,0\nshading_eyes,0\nmechanical_parts,0\nfinal_fantasy_iv,3\nnapoleon_bonaparte_(fate),4\ninsignia,0\nred_umbrella,0\ncreature_and_personification,0\ni-8_(kancolle),4\nopen_skirt,0\namamiya_ren,4\nfeather_hair,0\nrectangular_eyewear,0\ncalendar_(object),0\nshoulder_spikes,0\ndynamax_band,0\nojipon,1\nshiseki_hirame,1\nfinal_fantasy_tactics,3\nsleeping_upright,0\nsitting_on_desk,0\nsideless_outfit,0\nmatching_outfit,0\ntamamo_cat_(fate),4\nmilk_bottle,0\ncave,0\nnisemonogatari,3\ncrotchless_panties,0\nkirigiri_kyouko,4\nrestaurant,0\nagnes_tachyon_(umamusume),4\nyaegashi_nan,1\nakai_haato,4\nfine_art_parody,0\ndirty_face,0\nstarter_pokemon_trio,0\nhorseback_riding,0\nbb_(baalbuddy),1\nshinku,4\nhoujou_hibiki,4\ndrawing_tablet,0\nhanekawa_tsubasa,4\nkousaka_tamaki,4\nanzio_school_uniform,0\nakizuki_(kancolle),4\ndessert,0\nno_eyewear,0\ncaught,0\ndurarara!!,3\ncervix,0\npurple_pants,0\nkarin_(blue_archive),4\ntrick_or_treat,0\nkabedon,0\nracket,0\nfinal_fantasy_ix,3\ntail_through_clothes,0\ntone_(kancolle),4\ncurtain_grab,0\nholding_sheath,0\nbroken_horn,0\nflower_(symbol),0\nhungry_clicker,1\nseiken_densetsu,3\nfutami_ami,4\ncooperative_fellatio,0\nhands_on_own_head,0\nabukuma_(kancolle),4\ndoki_doki_literature_club,3\nst._gloriana's_military_uniform,0\nsweater_around_waist,0\nbutterfly_print,0\npuyopuyo,3\n;3,0\ngreen_cape,0\nclitoral_hood,0\nabubu,1\ntankini,0\nwhen_you_see_it,0\nmeitantei_conan,3\ngundam_build_fighters_try,3\nliquid,0\near_tag,0\nt-head_admiral,4\nuchiha_sasuke,4\nenpera,0\ncarrying_over_shoulder,0\ntown,0\nfestival,0\nfur-trimmed_legwear,0\nspoken_anger_vein,0\nnaked_coat,0\nclothed_pokemon,0\nabstract_background,0\nsmelling,0\nplum_blossoms,0\nstanding_on_liquid,0\namber_(genshin_impact),4\naida_mana,4\n??,0\nyelan_(genshin_impact),4\nakagi_(azur_lane),4\nstrapless_bra,0\nlight_bulb,0\nholding_pom_poms,0\ndreadlocks,0\ntailcoat,0\nlace-trimmed_dress,0\nrocket_launcher,0\njeanne_d'arc_alter_(swimsuit_berserker)_(fate),4\nconstellation,0\nblue_oak,4\nopen_collar,0\nano_hi_mita_hana_no_namae_wo_bokutachi_wa_mada_shiranai.,3\nwhite_nails,0\nbare_hips,0\nblack_fur,0\nreisalin_stout,4\nwire,0\ntakanashi_rikka,4\nvideo_camera,0\nplaid_bikini,0\nblack_camisole,0\nattack,0\natlanta_(kancolle),4\njunketsu,4\nhews,1\ngran_(granblue_fantasy),4\njet,0\nblack_tail,0\npulling,0\nblack_bag,0\nblue_cardigan,0\nhammer_and_sickle,0\nsurfboard,0\nmini-hakkero,0\nchain_necklace,0\nspilling,0\nkemono_friends_3,3\ntrumpet,0\nsingle_vertical_stripe,0\nblack_rose,0\nmega_pokemon,0\npatterned_clothing,0\narabian_clothes,0\nmatsuura_kanan,4\nbudget_sarashi,0\npulled_by_another,0\ngraffiti,0\nyoukai_watch,3\nsweatband,0\namagi_yukiko,4\nshark_hair_ornament,0\nkurosawa_dia,4\nenoshima_junko,4\narch,0\nproduct_placement,0\nminecraft,3\ngod_eater,3\nwhite_cloak,0\nblack_apron,0\nchurch,0\nvial,0\nstriped_pants,0\nwhite_headband,0\n>_o,0\ngown,0\nwhistle_around_neck,0\ncolored_tongue,0\nimpossible_leotard,0\nkisaragi_(kancolle),4\nspread_wings,0\nscreencap_redraw,5\ncat_ear_headphones,0\nblue_ascot,0\nchinese_knot,0\ntwo-tone_bikini,0\nyang_xiao_long,4\nevolutionary_line,0\nguilty_crown,3\ntie_clip,0\nhooded_cape,0\npurple_cape,0\nwild_arms,3\ntegaki,0\nhair_horns,0\nshokuhou_misaki,4\nyorigami_jo'on,4\nstreet_fighter_zero_(series),3\nfrench_fries,0\ndarker_than_black,3\nstrappy_heels,0\ntwitching_penis,0\nnero_claudius_(swimsuit_caster)_(fate),4\nbriefs,0\nfleeing,0\nkagari_atsuko,4\naction,0\nbb_(fate/extra),4\nmanga_(object),0\nazumanga_daioh,3\nwhite_cat,0\ngreen_lips,0\nmoss,0\nia_(vocaloid),4\negg_(food),0\nbolt_action,0\nveranda,0\nbelly_chain,0\nnail,0\nbattleship_princess,4\nnib_pen_(medium),0\nthigh_ribbon,0\nikamusume,4\nholding_sign,0\nidolmaster_dearly_stars,3\nglowstick,0\ncovering_nipples,0\nsingle_hair_intake,0\ndenim_skirt,0\nkurumi_erika,4\nyoga_pants,0\ntail_bell,0\ncat_hat,0\nspiked_armlet,0\nscissor_blade,0\nclothes_down,0\nturban,0\nnaked_sheet,0\nueyama_michirou,1\ngold_chain,0\nstage_lights,0\nnonna_(girls_und_panzer),4\nspread_fingers,0\nwhite_cardigan,0\nmonocle_hair_ornament,0\nmop,0\neren_yeager,4\nkunikida_hanamaru,4\nakuma_homura,4\nshako_cap,0\nump9_(girls'_frontline),4\npokemon_gsc,3\nhilbert_(pokemon),4\nperrine_h._clostermann,4\noverlord_(maruyama),3\nminaba_hideo,1\nqiqi_(genshin_impact),4\nkappougi,0\nvector_trace,5\nrowlet,4\ncharlotte_e._yeager,4\nholding_condom,0\nakari_(pokemon),4\ninstant_loss,0\nclothes_hanger,0\nbowl_hat,0\nslugbox,1\naqua_skirt,0\nchainsaw,0\ndreaming,0\nankle_socks,0\nmayuzumi_fuyuko,4\nhands_on_headwear,0\nsetsubun,0\npool_ladder,0\nfinger_in_own_mouth,0\nakaza_akari,4\nvocaloid_append,0\ncat_print,0\nwhale,0\nise_(kancolle),4\nshikinami_(kancolle),4\nraising_heart,4\nhead_grab,0\nhoshizora_miyuki,4\nstar_wars,3\npotato_chips,0\nfire_emblem_echoes:_shadows_of_valentia,3\nkamikaze_(kancolle),4\nmudrock_(arknights),4\nmechanical_legs,0\nmatara_okina,4\nthree-dimensional_maneuver_gear,0\noversized_animal,0\nholding_doll,0\ndyed_bangs,0\nzounose,1\nlaurel_crown,0\nishiyumi,1\nbloodborne,3\npurple_scarf,0\ntales_of_xillia,3\nspanked,0\ngusset,0\npenis_grab,0\nsenjougahara_hitagi,4\njun'you_(kancolle),4\ntamamo_no_mae_(swimsuit_lancer)_(fate),4\nteam_rocket,0\nfalse_smile,0\npurple_shorts,0\nblack_lips,0\ndust,0\nboris_(noborhys),1\nfire_emblem:_the_sacred_stones,3\nkorean_clothes,0\npill,0\ntusks,0\ngambier_bay_(kancolle),4\ncrotch_rub,0\nwind_chime,0\nshuriken,0\nteenage,0\nsketchbook,0\nribbon-trimmed_skirt,0\nwinged_hat,0\nhand_on_another's_thigh,0\nsee-through_legwear,0\nnengajou,0\ngrey_bow,0\nkid_icarus,3\nvertical-striped_skirt,0\nmulticolored_wings,0\ntsukudani_(coke-buta),1\nturtle,0\nkujikawa_rise,4\ngangut_(kancolle),4\nreverse_upright_straddle,0\nnakano_yotsuba,4\nmiyuki_(kancolle),4\nankle_lace-up,0\nsweet_potato,0\nbad_proportions,0\nfur_scarf,0\nimpossible_bodysuit,0\nhands_on_lap,0\nbeamed_sixteenth_notes,0\nanastasia_(fate),4\nhan_juri,4\ntongue_piercing,0\nlong_pointy_ears,0\npromare,3\ndevil_may_cry_(series),3\ncar_interior,0\nnose_bubble,0\nin_bucket,0\nhonda_mio,4\nwreath,0\nfou_(fate),4\ndragon's_crown,3\nrariatto_(ganguri),1\nboxing_gloves,0\nscepter,0\nmechanical_horns,0\ninflatable_toy,0\ntaiyaki,0\nshinki_(touhou),4\nwooden_bucket,0\nenergy_wings,0\nafro,0\nsymmetry,0\nfire_emblem_cipher,3\nwrestling,0\nbaseball,0\nlynette_bishop,4\nsaten_ruiko,4\nsleep_molestation,0\nclothed_masturbation,0\naria,3\nwarship,0\nkal'tsit_(arknights),4\nsuiseiseki,4\ntwo-tone_jacket,0\ntsuda_nanafushi,1\nhassan_of_serenity_(fate),4\npoptepipic,3\nbronya_zaychik,4\ngrimace,0\ncomb,0\nfeather_earrings,0\nprehensile_hair,0\npanty_(psg),4\ncrepe,0\nkaga_(azur_lane),4\nwide_image,5\nclothed_animal,0\nneck_tattoo,0\nblur_censor,0\nflower_earrings,0\ntwo-tone_swimsuit,0\nglowing_sword,0\ndiluc_(genshin_impact),4\nschool_hat,0\nboxers,0\nryougi_shiki,4\nshared_umbrella,0\nohtsuki_yui,4\nbandaged_head,0\nswim_briefs,0\nplunging_neckline,0\nryuuou_no_oshigoto!,3\npola_(kancolle),4\nshino_(ponjiyuusu),1\nblack_feathers,0\nclothing_request,5\npink_sleeves,0\nskewer,0\nchild_on_child,0\nmod3_(girls'_frontline),0\ncube,0\nannotated,5\nkizuna_akari,4\nribbon-trimmed_clothes,0\ntripping,0\ndrawfag,1\ntransparent_umbrella,0\npicture_(object),0\nfailure,0\nspinning,0\nwife_and_wife,0\nmedian_furrow,0\nunion_jack,0\ntsunako,1\nhair_through_headwear,0\nbb_(swimsuit_mooncancer)_(fate),4\ndrawer,0\nbetween_thighs,0\ncheek_pinching,0\nborrowed_garments,0\nhigh_contrast,0\nhave_to_pee,0\nbirthday_cake,0\ngalaxy_angel,3\ntanuki,0\nsayori_(neko_works),1\navatar_(ff11),4\nkatsuki_yuuri,4\ni-168_(kancolle),4\nflute,0\npiplup,4\nsquid,0\naoki_hagane_no_arpeggio,3\nsonozaki_mion,4\nraiden_mei,4\nshark_hood,0\nirisviel_von_einzbern,4\nlawson,3\nyu-gi-oh!_gx,3\ngegege_no_kitarou,3\ntokkuri,0\nbarrel,0\nikkitousen,3\nlion,0\nturnaround,0\nsports_bikini,0\npillow_grab,0\non_table,0\nutawarerumono,3\nwhite_male_underwear,0\npurple_coat,0\nsoap,0\nbunny_pose,0\nharvin,0\nshiroko_(blue_archive),4\njuice_box,0\ntwo-tone_bowtie,0\nlyra_(pokemon),4\navogado6,1\ncheek_poking,0\nred_sky,0\ncounter,0\nkurosawa_ruby,4\nclover_hair_ornament,0\nnude_filter,5\nviktor_nikiforov,4\nyu_mei-ren_(fate),4\nyuugumo_(kancolle),4\ncorpse,0\nstray_pubic_hair,0\nshoebill_(kemono_friends),4\norange_kimono,0\nnishikigi_chisato,4\nsangonomiya_kokomi,4\nspider_girl,0\ntoast,0\nfinal_fantasy_v,3\nblue_serafuku,0\nspear_the_gungnir,0\nkanikama,1\nlooking_at_object,0\nhands_on_another's_head,0\nhead_bump,0\nplaying_with_own_hair,0\nmallow_(pokemon),4\ncolumn_lineup,0\ntouhou_tag_dream,3\nface_to_breasts,0\ncaustics,0\ntwo-tone_gloves,0\nakeome,0\nchrista_renz,4\ngate,0\ncovered_face,0\nmating_press,0\nshadowverse,3\nblack_hakama,0\nchaps,0\ncocktail_glass,0\nvita,4\npolka_dot_bra,0\njakuzure_nonon,4\nstone,0\npocky_day,0\nback_tattoo,0\nsafety_pin,0\nhanfu,0\nheart_hands_duo,0\nspringfield_(girls'_frontline),4\nbalcony,0\nfu_hua,4\nholding_cat,0\nlolita_channel,1\nspider-man_(series),3\nvending_machine,0\nslime_(creature),0\nchart,0\nwarcraft,3\nnachi_(kancolle),4\nalarm_clock,0\ntatsumaki,4\nmakigumo_(kancolle),4\nneptune_(neptune_series),4\nbite_mark,0\nmacross_delta,3\nnaked_cape,0\nkoyama_shigeru,1\nenergy_ball,0\nvolleyball_uniform,0\nblood_stain,0\nwatashi_ni_tenshi_ga_maiorita!,3\ncharizard,4\nvivio,4\nbreath_of_fire,3\n69,0\nkoihime_musou,3\ninkling_boy,4\nmushoku_tensei,3\ntissue,0\nibaraki_douji_(fate),4\nnoumi_kudryavka,4\nfinal_fantasy_x,3\ndaisy,0\nla+_darknesss,4\nidolmaster_2,3\nmeltryllis_(swimsuit_lancer)_(fate),4\nnose_piercing,0\noctoling,4\npangya,3\nfried_egg,0\nsquirrel,0\nmochi_au_lait,1\ncosmetics,0\nyellow_choker,0\nhand_in_another's_hair,0\np-head_producer,4\ntsukino_mito,4\ngrey-framed_eyewear,0\nkochou_shinobu,4\nlicking_nipple,0\nif_they_mated,0\nhead_back,0\nburning,0\norange_pekoe_(girls_und_panzer),4\nbisexual_female,0\nelizabeth_bathory_(fate/extra_ccc),4\nmiyamoto_frederica,4\ncircle_cut,0\ndominatrix,0\nujimatsu_chiya,4\nok_sign,0\nindustrial_pipe,0\nlight_trail,0\nsleeveless_sweater,0\nporkpie_hat,0\npointer,0\nstrawberry_shortcake,0\nrainbow_order,0\ntorn_shorts,0\nrabbit_house_uniform,0\nbrown_cape,0\nhomurahara_academy_school_uniform,0\nkeychain,0\ncheckered_necktie,0\nkitsunerider,1\njack-o'_challenge,0\nsenran_kagura_shoujo-tachi_no_shin'ei,3\nshared_food,0\nhyur,0\nshoujo_kageki_revue_starlight,3\nsakura_miku,4\naqua_dress,0\nlace_bra,0\nlemon_slice,0\ntedeza_rize,4\ncheckered_kimono,0\nsofra,1\nmulticolored_gloves,0\nunder_table,0\ntrain_station,0\nhex_maniac_(pokemon),4\nprostitution,0\nwhisk,0\namagi_brilliant_park,3\nto_love-ru_darkness,3\nchoukai_(kancolle),4\ntraffic_light,0\naldnoah.zero,3\nhairdressing,0\nclover_print,0\nw_(arknights),4\nagainst_tree,0\nstriped_sleeves,0\ncensored_nipples,0\nholding_paintbrush,0\nwatering_can,0\nsnake_tail,0\nmysterious_heroine_xx_(fate),4\njeanne_d'arc_alter_santa_lily_(fate),4\nnintendo,3\npurple_sweater,0\n:x,0\nshrimp,0\njohnny_joestar,4\nimpregnation,0\nakagi_miria,4\nskull_earrings,0\nblack_sports_bra,0\nin_food,0\nlyn_(fire_emblem),4\ndiamond-shaped_pupils,0\npearl_(gemstone),0\norange_shorts,0\nrug,0\ntsukishiro_saika,1\nbound_ankles,0\nnico_robin,4\ndixie_cup_hat,0\nsaki_achiga-hen,3\nlarge_hat,0\ndrill,0\nsidesaddle,0\nharem,0\nyellow_bra,0\ntwo-tone_ribbon,0\nsesshouin_kiara,4\nmaru-yu_(kancolle),4\nblake_belladonna,4\nfootprints,0\nhappy_tears,0\ntape_gag,0\nsleeping_on_person,0\nboard_game,0\ncapcom,3\nlove_plus,3\nyuzuriha_inori,4\nphantom_blood,3\nlooking_over_eyewear,0\nfinger_to_own_chin,0\nmulticolored_bodysuit,0\nmonkey,0\nm4_carbine,0\nflower_wreath,0\norange_scarf,0\nholding_basket,0\nfluffy,0\nnero_claudius_(bride)_(fate),4\nscar_on_forehead,0\nnagatsuki_(kancolle),4\nchasing,0\nhara_(harayutaka),1\nmelonbooks,3\nmash_kyrielight_(dangerous_beast),4\npokemon_journeys,3\nmagatama_necklace,0\nsoul_eater,3\nmizuki_makoto,1\nyou're_doing_it_wrong,0\nkatsuragi_(kancolle),4\nshinjou_akane,4\nstar_choker,0\nbrendan_(pokemon),4\ngatling_gun,0\nsinoalice,3\nakamatsu_kaede,4\npale_color,0\nkenzaki_makoto,4\nrefrigerator,0\nbomb,0\nidentity_censor,0\nrailroad_tracks,0\nminami_(colorful_palette),1\nair,3\ncrossbow,0\nbandaid_on_arm,0\nplaid_necktie,0\nbeltbra,0\ndestruction,0\natelier_ryza_1,3\ntennis_racket,0\nnice_nature_(umamusume),4\nandroid_18,4\nstrawberry_print,0\npersona_3_portable,3\ncloud_print,0\nmuvluv_alternative,3\ntakara_miyuki,4\nkin-iro_mosaic,3\nmostima_(arknights),4\ncolor_guide,0\nlysithea_von_ordelia,4\ncockpit,0\ndragon_quest_iv,3\nhakos_baelz,4\nloose_clothes,0\nbardiche,4\ntomose_shunsaku,1\nponcho,0\nceiling_light,0\nhitachi_magic_wand,0\nearpiece,0\ngloved_handjob,0\nhiro_(darling_in_the_franxx),4\nsakamoto_mio,4\nmima_(touhou),4\nbody_hair,0\ncafe,0\ncondom_packet_strip,0\nginhaha,1\npond,0\nstripper_pole,0\nyowane_haku,4\nspoken_sweatdrop,0\nfaucet,0\ntaisa_(kari),1\nindex_(toaru_majutsu_no_index),4\nbutler,0\nmabinogi,3\nanti-materiel_rifle,0\nakatsuki_kirika,4\ndirty_clothes,0\nhaikyuu!!,3\nkoizumi_itsuki,4\nsenpai_ga_uzai_kouhai_no_hanashi,3\nspitting,0\nmirko,4\nlilith_aensland,4\nsinon,4\nfishing,0\ndoyagao,0\nholding_controller,0\naegis_(persona),4\nnanashi_(nlo),1\nlow_twin_braids,0\ntama_(kancolle),4\nstraitjacket,0\nalternate_form,0\nsilence_suzuka_(umamusume),4\npepperoni_(girls_und_panzer),4\nornate_ring,0\nsaiguchi_otoufu,1\nlucky_beast_(kemono_friends),4\nno_wings,0\ndove,0\nbirdcage,0\nlast_order_(toaru_majutsu_no_index),4\njavelin_(azur_lane),4\nkyoukaisenjou_no_horizon,3\nnia_(xenoblade),4\ncheating_(relationship),0\nsuzuran_(arknights),4\nshinomiya_kaguya,4\nnoshiro_(kancolle),4\nshima_rin,4\nmace,0\nchampagne_flute,0\nselfcest,0\nmulticolored_bikini,0\ntsunomaki_watame,4\nmorpeko,4\nenkyo_yuuichirou,1\nteruzuki_(kancolle),4\nvariations,0\nbelko,1\nbandage_on_face,0\nsurprise_kiss,0\nfull_nelson,0\nmorikubo_nono,4\nsparks,0\nwinged_helmet,0\naqua_ribbon,0\nalley,0\non_grass,0\nfreediving,0\ntachibana_hibiki_(symphogear),4\ngojou_satoru,4\ndeviantart_username,0\nparted_hair,0\nsuzukaze_(kancolle),4\nink,0\nlooking_at_phone,0\ndolphin,0\nfewer_digits,0\ncracked_skin,0\ncowboy_western,0\nmixed_media,0\ngrey_socks,0\ndrone,0\nvoyakiloid,0\nafter_kiss,0\nfutanari_masturbation,0\ntickling,0\nmissile,0\ncrescent_facial_mark,0\nhilda_valentine_goneril,4\nblack_lagoon,3\npain,0\nsonia_(pokemon),4\nrosalina,4\nmizuno_ami,4\nyume_nikki,3\nartificial_vagina,0\npurple_sky,0\nbriefcase,0\nkannagi,3\nyellow_vest,0\nyayoi_(kancolle),4\nthick_arms,0\nmask_pull,0\non_person,0\nbrown_sailor_collar,0\nspider,0\nplectrum,0\nhanamura_yousuke,4\ncircle_name,0\npocky_kiss,0\nhina_(blue_archive),4\nbrushing_hair,0\nroller_skates,0\nkirino_ranmaru,4\ntube,0\ngorget,0\nshin_megami_tensei,3\ntanabata,0\nsignum,4\npussy_juice_puddle,0\ntorpedo_tubes,0\nhands_on_own_thighs,0\nmimikaki,0\naqua_bowtie,0\neastern_dragon,0\nagawa_ryou,1\nholding_syringe,0\nmilkpanda,1\nshinsengumi,0\nmakoto_nanaya,4\nhisona_(suaritesumi),1\nconfession,0\nfrilled_capelet,0\npripara,3\nshirayuki_(kancolle),4\nsitting_in_tree,0\nmiyo_(ranthath),1\ngreen_gemstone,0\nholly,0\nkuromorimine_school_uniform,0\nrubble,0\nlight_areolae,0\npokemon_go,3\ngotland_(kancolle),4\nwhite_horns,0\nleg_belt,0\nhooves,0\npole_dancing,0\nyuuji_(and),1\npink_one-piece_swimsuit,0\nlove_live!_superstar!!,3\nfellatio_gesture,0\nholding_hammer,0\nimplied_futanari,0\nhanasaki_tsubomi,4\nyellow-framed_eyewear,0\ndark_souls_i,3\navatar_(series),3\nandou_(girls_und_panzer),4\nasashio_kai_ni_(kancolle),4\nskull_print,0\nmattaku_mousuke,1\nbird_on_hand,0\nyasogami_school_uniform,0\nfree!,3\nkuroshio_(kancolle),4\nyuureidoushi_(yuurei6214),1\nnoel_vermillion,4\nthighhighs_pull,0\nsticker,0\npokemon_xy_(anime),3\ncharacter_print,0\npatch,0\nbreast_curtain,0\nasui_tsuyu,4\nbarcode_tattoo,0\nwooden_sword,0\nfine_fabric_emphasis,0\nblue_apron,0\nmy_little_pony,3\nfrilled_ribbon,0\nrotom,4\nholding_drink,0\nbreasts_on_head,0\ntales_of_graces,3\ndeer_ears,0\nchiyoda_momo,4\nimpossible_dress,0\nx_x,0\ndress_tug,0\noverskirt,0\nbeam_rifle,0\nbreast_smother,0\nmatou_kariya,4\nkizuna_ai_inc.,3\nkill_me_baby,3\nseiken_densetsu_3,3\nnail_art,0\nproducer_(idolmaster_cinderella_girls_anime),4\nsuper_robot,0\nphosphophyllite,4\nscarlet_devil_mansion,0\npurple_sailor_collar,0\nalice_gear_aegis,3\nthe_legend_of_luo_xiaohei,3\neye_focus,0\noda_nobunaga_(koha-ace),4\nwa_(genryusui),1\ncoral,0\ndragon_ball_(classic),3\ngundam_tekketsu_no_orphans,3\ncabinet,0\nhigh-waist_pants,0\ncousins,0\nmatsuno_karamatsu,4\nshiomi_syuko,4\nhelm,0\nm-da_s-tarou,1\nthrough_clothes,0\nfanny_pack,0\nmulticolored_swimsuit,0\nsong_name,0\ninuyasha,3\nurusei_yatsura,3\npink_hoodie,0\naerial_fireworks,0\nsaber_lily,4\nsen_no_kiseki,3\npuffy_shorts,0\ntracer_(overwatch),4\nswing,0\nbuck_teeth,0\ntokyo_7th_sisters,3\nkasumi_(doa),4\nak-12_(girls'_frontline),4\nbaseball_uniform,0\nstar_halo,0\nworld_of_warcraft,3\nbiker_clothes,0\neye_mask,0\nspring_(season),0\nadjusting_gloves,0\nshiomi_kotone,4\npuchimasu!,3\nzeta_gundam,3\nreflective_floor,0\nconfused,0\nst._louis_(azur_lane),4\nluigi's_mansion,3\nsee-through_leotard,0\notonashi_kotori,4\nleopard_ears,0\nyellow_thighhighs,0\nfate/extella,3\nvery_long_fingernails,0\nflexing,0\ntarot,0\npalms,0\nseigaiha,0\nlegwear_garter,0\nfortissimo,0\nsumiyao_(amam),1\nupscaled,5\nmenu,0\nasashimo_(kancolle),4\nholding_pencil,0\nribbon_bondage,0\nn_(pokemon),4\nincoming_gift,0\nkizuna_ai,4\nstarry_sky_print,0\nred_armor,0\nbrown_capelet,0\nshimazaki_mujirushi,1\nmatsuno_jyushimatsu,4\n2014,0\n\\||/,0\ngrabbing_another's_chin,0\nkalashnikov_rifle,0\ntangzhuang,0\nminamino_kanade,4\ninsect_wings,0\nseiran_(touhou),4\nplaid_background,0\nmy-hime,3\nlord_el-melloi_ii_case_files,3\nred_socks,0\nnaginata,0\nbeni_shake,1\nhair_in_mouth,0\nmagatama_earrings,0\nsword_art_online:_code_register,3\nlio_fotia,4\nhataraku_saibou,3\npolka_dot_dress,0\nin_the_face,0\naino_minako,4\nhorikawa_raiko,4\ncucumber,0\nmatsuno_ichimatsu,4\nmatsuno_osomatsu,4\nbreasts_on_glass,0\nmoroboshi_kirari,4\nhair_brush,0\ngerman_clothes,0\nnaked_jacket,0\nafter_paizuri,0\ngreen-framed_eyewear,0\nradio_antenna,0\ntoga_himiko,4\nworried,0\nbow-shaped_hair,0\nsuzumiya_haruhi_no_shoushitsu,3\nstar_twinkle_precure,3\nsugar_lyric,3\ncherry_blossom_print,0\nkamiya_nao,4\nleaning_on_object,0\nhanyuu,4\nmarker,0\npencil_dress,0\npokemon_on_head,0\nbeckoning,0\ndragon_quest_v,3\ntales_of_the_abyss,3\ncrotch_plate,0\nstuck,0\nkaedehara_kazuha,4\ndowsing_rod,0\nlucario,4\nleaf_(pokemon),4\nningguang_(genshin_impact),4\ngabriel_dropout,3\ndodoco_(genshin_impact),4\nmessy,0\nlip_piercing,0\nwhite_suit,0\nhand_on_thigh,0\nrole_reversal,0\noumae_kumiko,4\nchocolate_bar,0\nhorned_helmet,0\nmimura_kanako,4\nstar_necklace,0\nmoon_(ornament),0\nautobot,0\nrensouhou-kun,4\narashio_(kancolle),4\nteasing,0\nhugtto!_precure,3\nskin_fangs,0\nlounge_chair,0\ncross_scar,0\no-ring_choker,0\npoke_ball_symbol,0\ntamako_market,3\nsenjou_no_valkyria_(series),3\nfaux_figurine,0\nbondage_outfit,0\nfrozen_(disney),3\nha_akabouzu,1\nprojected_inset,0\nmonsterification,0\nayanami_(kancolle),4\nkomi-san_wa_komyushou_desu,3\nuntucked_shirt,0\nembellished_costume,0\nsorcerer's_sutra_scroll,0\ngem_(symbol),0\npatchwork_skin,0\nsendai_hakurei_no_miko,4\njinx_(league_of_legends),4\nyae_sakura,4\nsendai_kai_ni_(kancolle),4\nbad_drawr_id,5\nclaw_(weapon),0\ncrease,5\nfish_girl,0\ntorn,0\npink_vest,0\nhakurei_reimu_(cosplay),0\nmechanical_pencil,0\nheckler_&_koch,0\nmilk_carton,0\ndarkness_(konosuba),4\nsouseiseki,4\ncreayus,1\nyorha_no._9_type_s,4\nbarbell_piercing,0\nshikigami,0\nhachimiya_meguru,4\nbamboo_broom,0\nwheel,0\npeeking,0\nisuzu_(kancolle),4\ncolor_connection,0\ntactical_clothes,0\nmisumi_nagisa,4\nartoria_pendragon_(lancer_alter)_(fate),4\nsakata_gintoki,4\nred_hoodie,0\nmagi_the_labyrinth_of_magic,3\nsuzutsuki_(kancolle),4\nstrapless_shirt,0\ntokusatsu,0\nunconscious,0\nchandelier,0\nfelicia_(vampire),4\nblinds,0\nushiwakamaru_(fate),4\nwooden_wall,0\nchain_leash,0\npolo_shirt,0\nsee-through_dress,0\nstriped_one-piece_swimsuit,0\ntwo-handed,0\njapanese_crested_ibis_(kemono_friends),4\ni-class_destroyer,4\nbishamonten's_pagoda,0\ndagashi_kashi,3\nofuda_on_clothes,0\nhikimayu,0\nsingle_pauldron,0\nsakurai_momoka,4\nstiletto_heels,0\ngerman_text,0\nagano_(kancolle),4\ntoosaka_asagi,1\nhand_on_own_leg,0\nwhite_sash,0\nyamamoto_souichirou,1\ndrill_locks,0\nbikini_top_removed,0\npark_bench,0\nsunburst_background,0\ndanganronpa_3_(anime),3\norange_legwear,0\nlatex_bodysuit,0\nicho_private_high_school_uniform,0\nhagoita,0\nvideo_game,0\nwatatsuki_no_yorihime,4\nprincess_king_boo,4\nlusamine_(pokemon),4\nrappa_(rappaya),1\nold_woman,0\nleg_hold,0\nlarge_insertion,0\nstriped_gloves,0\nhigh-waist_shorts,0\ngreatsword,0\nnishizumi_shiho,4\nleafa,4\npurple_one-piece_swimsuit,0\ncircled_9,0\netna_(disgaea),4\nkinugasa_(kancolle),4\nensemble_stars!,3\nblack_robe,0\nstaff_(music),0\nneocoill,1\nbowing,0\nfireflies,0\nharem_outfit,0\nrobin_(fire_emblem)_(female),4\nelite_ii_(arknights),0\nholostars,3\nushanka,0\ncupless_bra,0\nspiked_tail,0\nnorthern_white-faced_owl_(kemono_friends),4\nrosehip_(girls_und_panzer),4\nfingers,0\nfuta_with_futa,0\nred_cross,0\nsuppressor,0\nhealth_bar,0\nhojo_karen,4\ngroin_tendon,0\nholstered_weapon,0\ncuddling,0\nplaid_bowtie,0\nviera,0\nlipstick_tube,0\npentacle,0\nleotard_pull,0\ninstrument_case,0\nkonoshige_(ryuun),1\ncosplay_photo,0\nhas_censored_revision,5\ncheckerboard_cookie,0\nholding_whip,0\nyu-gi-oh!_5d's,3\nhexagon,0\ngreen_hoodie,0\nmars_symbol,0\nholding_sack,0\neagle,0\nohara_mari,4\nnaked_hoodie,0\ntaut_dress,0\nribbon-trimmed_collar,0\ngold_hairband,0\nmei_(overwatch),4\nkusazuri,0\nushiromiya_ange,4\nhirasawa_ui,4\nspine,0\nchoko_(cup),0\nyuuhagi_(amaretto-no-natsu),1\ngensou_suikoden,3\nlibeccio_(kancolle),4\nshallow_water,0\npageratta,1\ngold_earrings,0\nmahjong,0\nramune,0\ngamagoori_ira,4\nghost_in_the_shell,3\nfunami_yui,4\nmikazuki_munechika,4\nholding_stick,0\nchanta_(ayatakaoisii),1\nxenosaga,3\nyoimiya_(genshin_impact),4\ntwitter,3\nayu_(mog),1\ndifferent_reflection,0\nwisteria,0\nsingle_gauntlet,0\nmonokuma,4\nhatsune_miku_(append),4\ncrazy_smile,0\nmatsuryuu,1\nhead_between_breasts,0\nsaren_(princess_connect!),4\nnontraditional_playboy_bunny,0\npacifier,0\nsakugawa_school_uniform,0\nedward_elric,4\nred_cloak,0\nnotepad,0\nvisible_air,0\neternity_larva,4\nlittle_red_riding_hood,3\nlevi_(shingeki_no_kyojin),4\nkirigaya_suguha,4\nfallen_down,0\nwhipped_cream,0\nreach-around,0\nfff_threesome,0\ngraveyard,0\npuffy_detached_sleeves,0\njapanese_flag,0\npower_suit,0\nstrap-on,0\nartoria_pendragon_(alter_swimsuit_rider)_(fate),4\npainting_(action),0\nyellow_cardigan,0\nitadori_yuuji,4\nkagura_(gintama),4\nharukawa_maki,4\noshida_(girls_und_panzer),4\nfate/unlimited_codes,3\nneon_lights,0\ntulip_hat,0\nkawakaze_(kancolle),4\nbear_hair_ornament,0\nmusashi_kai_ni_(kancolle),4\ntokisaki_kurumi,4\nsword_over_shoulder,0\nlove_letter,0\nkissing_forehead,0\ngundam_unicorn,3\noffice,0\nmorpeko_(full),4\nmega_man_x_(series),3\nbeach_chair,0\ndinosaur,0\ntonda,1\nspecial_week_(umamusume),4\npani_poni_dash!,3\nbayonetta_(series),3\nraimon,0\nrotational_symmetry,0\nribbon_in_mouth,0\nblueberry,0\nvshojo,3\nsimplified_chinese_text,0\ngreen_neckerchief,0\nholding_leash,0\nnyantype,3\nmother_(game),3\nsincos,1\nhonolulu_(azur_lane),4\nlum,4\nkibito_high_school_uniform,0\narm_between_breasts,0\ntruth,0\nperineum,0\nspiked_shell,0\nkirakira_precure_a_la_mode,3\nbremerton_(scorching-hot_training)_(azur_lane),4\nangelina_(arknights),4\nwidowmaker_(overwatch),4\ncentaur,0\npussy_piercing,0\nkamui_gakupo,4\nplaystation_portable,0\nhas_downscaled_revision,5\nearth_(ornament),0\ntera_online,3\nramlethal_valentine,4\nother_focus,0\nskyla_(pokemon),4\nair_conditioner,0\nsakura_taisen,3\nwing_hair_ornament,0\ndengeki_moeou,3\nfrancesca_lucchini,4\nmascot,0\nonmyoji,3\ntohru_(maidragon),4\ncure_peace,4\nreindeer_costume,0\ncollared_cape,0\nebi_193,1\ncaressing_testicles,0\nsweatshirt,0\nkiyosumi_school_uniform,0\ntail_censor,0\nisonami_(kancolle),4\nmanhattan_cafe_(umamusume),4\npurple_heart,4\ndog_days,3\ntiger_boy,0\ntan_background,0\ntitle,0\naqua_theme,0\nkashuu_kiyomitsu,4\nstationary_restraints,0\nfrilled_cuffs,0\nkishibe_rohan,4\nthigh_cutout,0\n2013,0\nyd_(orange_maru),1\ncamilla_(fire_emblem),4\nyang_guifei_(fate),4\nkasugano_sakura,4\nchibi_usa,4\nwolf_boy,0\nmatsuno_choromatsu,4\nkujou_sara,4\ncotton_candy,0\nashiya_douman_(fate),4\ninoue_takina,4\nsanshoku_dango,0\nboned_meat,0\nleonardo_da_vinci_(fate),4\ntsumiki_mikan,4\nholding_needle,0\nxenoblade_chronicles_3,3\ngarden,0\nhooded_sweater,0\nmonkey_d._luffy,4\ncaution_tape,0\ntoranoana,3\nmorgan_le_fay_(fate),4\nblood_from_eyes,0\nstuffed_shark,0\nyagasuri,0\ngengar,4\nbendy_straw,0\nymir_(shingeki_no_kyojin),4\nage_progression,0\ntruck,0\neureka_seven_(series),3\nkatahira_masashi,1\ncandlestand,0\ngreen_apron,0\ncamcorder,0\nnull_(nyanpyoun),1\nbuzz_cut,0\nplant_girl,0\nshirase_sakuya,4\novergrown,0\nyellow_skin,0\nwhite-framed_eyewear,0\nspiked_club,0\nhandsfree_ejaculation,0\nagahari,1\nclothed_female_nude_female,0\nmartha_(fate),4\nuzaki-chan_wa_asobitai!,3\nhand_puppet,0\nthe_moon_studio,3\ngrey_necktie,0\nhelicopter,0\nsatou_kazuma,4\nchocolate_on_body,0\nilya_kuvshinov,1\nkatori_(kancolle),4\nfish_hair_ornament,0\npalutena,4\nhalberd,0\n2010,0\nfushiguro_megumi,4\nuntying,0\ntukiwani,1\n2012,0\nheart_tail,0\nokamisty,0\nfujibayashi_kyou,4\ndrying,0\nuiharu_kazari,4\nmagnifying_glass,0\npalette_(object),0\ninvisible_penis,0\nviewer_holding_leash,0\narm_wrap,0\nmy_little_pony:_friendship_is_magic,3\ndonation_box,0\nflame_print,0\nmakizushi,0\nsanta_boots,0\nenemy_aircraft_(kancolle),4\nhanging,0\naqua_shirt,0\nsitting_on_object,0\nholding_shoes,0\nhand_on_another's_ass,0\nmikage_takashi,1\nmorning,0\nnijigasaki_academy_school_uniform,0\ntall_female,0\npawpads,0\nar_tonelico,3\nbutcha-u,1\nvibrator_under_panties,0\nartoria_pendragon_(swimsuit_ruler)_(fate),4\nwiping_tears,0\nringo_(touhou),4\nhead_chain,0\nsilver_fox_(kemono_friends),4\nmechanization,0\nfox_boy,0\npuffy_pants,0\ntimestamp,0\ntight_shirt,0\nback-seamed_legwear,0\nfiery_hair,0\nas109,1\nused_tissue,0\nceres_fauna,4\nblack_sash,0\ninazuma_eleven_go_chrono_stone,3\ntina_branford,4\nbuttjob,0\nshirt_in_mouth,0\npresenting_armpit,0\nholding_innertube,0\nspanking,0\nsports_car,0\npink_blood,0\npoke_ball_print,0\nmyoukou_(kancolle),4\nruffling_hair,0\nspirit,0\nstriped_kimono,0\nfinal_fantasy_xv,3\nbatman_(series),3\nasakura_toru,4\nhandkerchief,0\ntashkent_(kancolle),4\ncrane_(machine),0\njeanne_d'arc_(swimsuit_archer)_(fate),4\nelsa_(frozen),4\nkonjiki_no_yami,4\nexpressive_hair,0\nvegeta,4\npetting,0\ntree_stump,0\nhelena_blavatsky_(fate),4\nnoire_(neptune_series),4\ncolumn,0\nass_cutout,0\noral_invitation,0\nmismatched_pupils,0\nhorns_through_headwear,0\nholding_lantern,0\nyuri_lowell,4\nshow_by_rock!!,3\nragna_the_bloodedge,4\nalternate_skin_color,0\nmolestation,0\nmouth_veil,0\nyotsubato!,3\nmarie_antoinette_(fate),4\nib,3\nsonozaki_shion,4\nomaru_polka,4\nonmyouji,0\ntsukikage_yuri,4\ncle_masahiro,1\npenis_outside,0\ncurtsey,0\nfinal_fantasy_viii,3\njessie_(pokemon),4\nkamio_misuzu,4\nshiba_inu,0\nmidna,4\nside-tie_leotard,0\nopen_window,0\ndirndl,0\nraised_fist,0\ntakeuchi_takashi,1\nmultiple_condoms,0\nkaeya_(genshin_impact),4\nhigashi_setsuna,4\npectoral_grab,0\nito_noizi,1\nhino_rei,4\nosakabe-hime_(fate),4\ngoblin_slayer!,3\nafter_ejaculation,0\nle_malin_(azur_lane),4\nyu-gi-oh!_arc-v,3\nmizumoto_tadashi,1\nxenoblade_chronicles_1,3\ncropped_vest,0\nsuzuhira_hiro,1\ngamepad,0\ngrey_wolf_(kemono_friends),4\nniwatazumi,1\nbowl_cut,0\nnyantcha,1\npixiv_id,0\nmysterious_heroine_x_alter_(fate),4\ngrey_scarf,0\n\\o/,0\nwindow_shade,0\nexpressive_clothes,0\ninflation,0\nfujima_takuya,1\nsanta_dress,0\npopuko,4\nneck,0\nbeige_sweater,0\nmatsuno_todomatsu,4\njersey,0\ntriforce,0\nbear_girl,0\nparty_hat,0\nharem_pants,0\ncharlotte_dunois,4\nmonkey_ears,0\nkemomimi-chan_(naga_u),4\nleather_belt,0\nanti_(untea9),1\nfurukawa_nagisa,4\nskadi_the_corrupting_heart_(arknights),4\nnarrowed_eyes,0\nezo_red_fox_(kemono_friends),4\npolka_dot_swimsuit,0\nspell_card,0\nweibo_logo,0\nharuhisky,1\ngym_storeroom,0\ntk8d32,1\nfukumaru_koito,4\nribbed_bodysuit,0\nalternate_weapon,0\nfailure_penguin,4\nscathach_skadi_(fate),4\nplaid_headwear,0\nendeavor_(boku_no_hero_academia),4\nmadotsuki,4\nhand_on_another's_stomach,0\nskyline,0\nspread_toes,0\ncowlick,0\npanda_ears,0\njeanne_d'arc_alter_(ver._shinjuku_1999)_(fate),4\nlipstick_mark,0\novum,0\nomurice,0\nopen_bra,0\nbayonetta,4\nfurutaka_(kancolle),4\nstone_lantern,0\nhidden_eyes,0\nradio,0\njervis_(kancolle),4\nbloop_(gawr_gura),4\nnon-humanoid_robot,0\npet_play,0\nthigh_pouch,0\n39,0\nanimal_feet,0\nsummon_night,3\nyamato-no-kami_yasusada,4\nsangvis_ferri,0\nkonno_junko,4\nh&k_hk416,0\nkarin_(bunny)_(blue_archive),4\nbaguette,0\ncyberpunk_(series),3\njean_pierre_polnareff,4\ntatsumi_kanji,4\nmole_on_neck,0\nnagi_no_asukara,3\nbrushing_teeth,0\nmcdonald's,3\npointless_condom,0\ndiamond_button,0\nmedium_dress,0\nindex_fingers_together,0\nhayashimo_(kancolle),4\ncoca-cola,0\nfake_facial_hair,0\ntakafumi,1\nnanairogaoka_middle_school_uniform,0\nnatsume_rin,4\nyuffie_kisaragi,4\nmega_man_legends,3\nscene_reference,0\ntreasure_chest,0\neromame,1\ncardfight!!_vanguard,3\nkamina_(ttgl),4\nmahou_girls_precure!,3\nberserk,3\nutility_belt,0\ndoughnut_hair_bun,0\nsitting_on_stairs,0\nholding_clipboard,0\ndakimakura_(object),0\npropeller,0\nfangs_out,0\ncountdown,0\nelesa_(pokemon),4\nimu_sanjo,1\nexcessive_pubic_hair,0\nredesign,0\ndi_gi_charat,3\n2011,0\nishikei,1\npink_sailor_collar,0\nmicro_panties,0\nnian_(arknights),4\nexcessive_cum,0\narcana_heart,3\npavement,0\neureka_seven,3\ntapir_tail,0\nfujiwara_chika,4\nbrown_kimono,0\ncow_boy,0\nkami_nomi_zo_shiru_sekai,3\nyaoyorozu_momo,4\nfinger_to_face,0\nbear_print,0\nniiko_(gonnzou),1\norange_sailor_collar,0\nmamiya_(kancolle),4\nsatono_diamond_(umamusume),4\nhoshi_syoko,4\nnanasaki_ai,4\ntiki_(fire_emblem),4\nyoshikawa_chinatsu,4\ntribal,0\nsakura_futaba,4\nkawashina_(momen_silicon),1\nalpha_transparency,5\nyuno_(hidamari_sketch),4\ncarrying_under_arm,0\najirogasa,0\nnishi_kinuyo,4\nhappi,0\nglomp,0\nkanji,0\nyellow_wings,0\nholding_helmet,0\nelin,4\nfighter_jet,0\nopen_pants,0\ntakoyaki,0\nsidepec,0\nshiromanta,1\nkamoi_(kancolle),4\nforehead-to-forehead,0\ncupping_hands,0\ntalking_on_phone,0\nmale_playboy_bunny,0\ntakamaki_anne,4\ngundam_zz,3\nmahou_shoujo_lyrical_nanoha_vivid,3\nyuusha_de_aru,3\ngoat_ears,0\noguri_cap_(umamusume),4\nmurakumo_kai_ni_(kancolle),4\nglobe,0\nmizuhara_aki,1\nbaseball_mitt,0\neyewear_on_headwear,0\nbyleth_(fire_emblem)_(male),4\nblonde_pubic_hair,0\nark_royal_(kancolle),4\noversized_shirt,0\nno_testicles,0\nhand_on_breast,0\naaaa_(quad-a),1\nmasturbation_through_clothes,0\ncat_teaser,0\novercoat,0\nleg_between_thighs,0\nvenus_symbol,0\nalice_margatroid_(pc-98),4\nturtleneck_dress,0\nsaria_(arknights),4\nvividred_operation,3\nquiz_magic_academy,3\nto_heart,3\npriest,0\njirai_kei,0\ntate_no_yuusha_no_nariagari,3\nlotion_bottle,0\nshin_guards,0\nlisa_(genshin_impact),4\nsakuma_mayu,4\npeople,0\nhauchiwa,0\nultra_series,3\norange_thighhighs,0\ntwilight_(spy_x_family),4\ncutesexyrobutts,1\nroll_(mega_man),4\ndiving_mask_on_head,0\nitalian_flag,0\nnaked_kimono,0\nclaw_ring,0\ntwincest,0\nkris_(pokemon),4\npalm_leaf,0\ncow,0\nshort_jumpsuit,0\nlucifer_(helltaker),4\nmixing_bowl,0\nshantae_(series),3\nimpaled,0\ntsukioka_kogane,4\nsymboli_rudolf_(umamusume),4\nblack_mask,0\nichikawa_feesu,1\nblue_headband,0\nsheet_music,0\ndebt,0\nmomosuzu_nene,4\naldehyde,1\ncross-shaped_pupils,0\nnovel_cover,0\nsaga,3\ngyee,3\nholding_brush,0\nsnorkel,0\napril_fools,0\nclock_tower,0\ntales_of_symphonia,3\nu.a._school_uniform,0\njako_(jakoo21),1\nm4a1_(girls'_frontline),4\nhaiyore!_nyaruko-san,3\nspread_pussy_under_clothes,0\nyukishiro_honoka,4\nkimono_skirt,0\nred-tinted_eyewear,0\nreiuji_utsuho_(bird),4\nscreen,0\ntakodachi_(ninomae_ina'nis),4\nlooking_at_animal,0\ngrey_fur,0\nfoot_up,0\nsaku_usako_(rabbit),1\nmishima_kurone,1\noshawott,4\nonikobe_rin,1\nyes-no_pillow,0\ndei_shirou,1\nblack_buruma,0\nblack_theme,0\nimizu_(nitro_unknown),1\nasanagi,1\ntsukumo_benben,4\ncloth_gag,0\nbulma,4\nincoming_food,0\ndeath_note,3\nmyoudouin_itsuki,4\nokita_souji_alter_(fate),4\npokemon_dppt_(anime),3\nproduction_art,5\nschool_briefcase,0\ntropical_drink,0\nstone_floor,0\nribbed_sleeves,0\nglitch,0\nkaguya_luna,4\nprosthetic_leg,0\numikaze_(kancolle),4\ncato_(monocatienus),1\nryu_(street_fighter),4\nlittle_red_riding_hood_(grimm),4\ndido_(azur_lane),4\npokemoa,1\nbrown_necktie,0\nshining_(series),3\nnike,0\nstadium,0\nfrapowa,1\njaguar_ears,0\n._.,0\nalbedo_(genshin_impact),4\nkatekyo_hitman_reborn!,3\nsailor_moon_redraw_challenge_(meme),0\nnekomusume,4\nabigail_williams_(swimsuit_foreigner)_(fate),4\nmihono_bourbon_(umamusume),4\nplaid_panties,0\nnekotoufu,1\npink_pants,0\njoseph_joestar_(old),4\nhagikaze_(kancolle),4\nkettle,0\nprincess_principal,3\nbruno_buccellati,4\nshirosato,1\nflip_phone,0\nnori_tamago,1\nunder_night_in-birth,3\nreference_inset,0\nkomi_shouko,4\ncrosswalk,0\nsekina,1\nhand_on_eyewear,0\ngodzilla_(series),3\nstomach_cutout,0\nhomare_(fool's_art),1\nsilver_(pokemon),4\nkaraagetarou,1\ngrey_bra,0\nflower_request,5\npotion,0\nspecter_(arknights),4\nfood-themed_clothes,0\nhoshiguma_(arknights),4\ndrawing_bow,0\nkemono_friends_v_project,3\nfumio_(rsqkr),1\nrainbow_gradient,0\nelio_(pokemon),4\nholding_handheld_game_console,0\nstab,0\nslapping,0\norange_slice,0\nnishi_koutarou,1\ngilles_de_rais_(caster)_(fate),4\ncagliostro_(granblue_fantasy),4\nplaid_pants,0\nstrike_witches:_suomus_misfits_squadron,3\nlube,0\nbodice,0\nharamura_nodoka,4\nmurakami_suigun,1\ndragon_ball_fighterz,3\noomuro_sakurako,4\nsquirrel_girl,0\nnippleless_clothes,0\nidol_clothes,0\nkicchou_yachie,4\nnegom,1\nintravenous_drip,0\nincoming_attack,0\nlittle_boy_admiral_(kancolle),4\nmulticolored_bow,0\ntsurumaru_kuninaga,4\nsengoku_nadeko,4\nblanc_(neptune_series),4\nscooter,0\nprint_bra,0\ntwitching,0\nfull-body_tattoo,0\nlog,0\n7th_dragon_(series),3\nblowing_kiss,0\nmy-otome,3\ng11_(girls'_frontline),4\nbreathing_fire,0\nsonic_the_hedgehog,4\nlize_helesta,4\norigami,0\nan-94_(girls'_frontline),4\nfrottage,0\ncleaning,0\nkomano_aunn,4\nranma-chan,4\ntamura_yuri,4\nk-suwabe,1\nkino_makoto,4\nbrown-framed_eyewear,0\nmayano_top_gun_(umamusume),4\nholding_leaf,0\nmorino_rinze,4\nlily_of_the_valley,0\nsoccer,0\nmakuwauri,1\nunitard,0\nwakabayashi_toshiya,1\norange_ascot,0\nstone_wall,0\ngekkan_shoujo_nozaki-kun,3\nyuyushiki,3\nriesz,4\nthrusters,0\nred_hood,0\ntail_grab,0\ntotoki_airi,4\nbroken_chain,0\nike_(fire_emblem),4\noouso,1\nsteampunk,0\nshouhou_(kancolle),4\nfertilization,0\ngrey_border,0\nleather_gloves,0\nkuwayama_chiyuki,4\nyes,0\nmarina_(splatoon),4\nhumiliation,0\nstream,0\npokemon_platinum,3\ndr_rex,1\ncheering,0\n.live,3\ntail_between_legs,0\ntohno_akiha,4\nplatform_heels,0\nninomiya_asuka,4\ntwisted_wonderland,3\nwrist_guards,0\naltera_(fate),4\nfull-package_futanari,0\nnatsuki_subaru,4\nkilye_kairi,1\ntorn_panties,0\nhatsune_miku_(cosplay),0\nbianca_(pokemon),4\nhorosuke,1\nhand_net,0\nprisma_illya,4\netorofu_(kancolle),4\nworld_flipper,3\nsleeveless_hoodie,0\nmithra_(ff11),0\nhamaya,0\nsweatpants,0\ngloves_removed,0\ntokiko_(touhou),4\ntheresa_apocalypse,4\nbird_on_shoulder,0\nharry_potter_(series),3\nalphes_(style),0\nhappoubi_jin,1\nartoria_caster_(fate),4\nhiguchi_kaede,4\nsu-san,4\nyokochou,1\nwooden_table,0\ngaoo_(frpjx283),1\nyano_toshinori,1\nonee-loli,0\nm4_sopmod_ii_(girls'_frontline),4\nfumihiko_(fu_mihi_ko),1\ncup_ramen,0\nchest_belt,0\ndoraemon,3\nblue_eyeshadow,0\npoker_chip,0\npokedex_number,0\nhakama_pants,0\nakizuki_ryo,4\nshinkai_no_valkyrie,3\nbalancing,0\nbad_perspective,0\nhands_on_feet,0\nshinda_sekai_sensen_uniform,0\ngoblin,0\nootsuki_wataru,1\noreki_houtarou,4\ncamellia,0\nwooden_fence,0\nmechanical_tail,0\nstreet_fighter_iii_(series),3\nandroid_21,4\nsponge,0\neggplant,0\nscorbunny,4\nstriped_shorts,0\ndeer,0\nhiroki_(yyqw7151),1\nkaamin_(mariarose753),1\nnew_school_swimsuit,0\npolka_dot_legwear,0\ne.o.,1\nkasumi_kai_ni_(kancolle),4\nsingle_strap,0\nsobu_high_school_uniform,0\nshoelaces,0\ndragon_quest_xi,3\narashi_(kancolle),4\nbeatmania,3\nnishida_satono,4\nstove,0\natalanta_(fate),4\nclitoris_piercing,0\ncat_on_head,0\nalchemy_stars,3\nmultiple_sources,5\nkimi_no_na_wa.,3\nreflective_water,0\nbad_end,0\nchest_strap,0\nphonograph,0\nst_ar-15_(girls'_frontline),4\nhonma_meiko,4\npartially_underwater_shot,0\npurple_tail,0\nkujou_karasuma,1\nlord_camelot_(fate),0\nkoyanskaya_(fate),4\nalisa_ilinichina_amiella,4\nu_u,0\nankle_strap,0\ntraditional_clothes,0\ntales_of_zestiria,3\nnanase_nao,1\ntail_wrap,0\nkirin_(armor),4\ncure_marine,4\nmimikyu,4\ndiana_cavendish,4\nbookmark,0\ncooperative_paizuri,0\nblack_male_underwear,0\nlace-trimmed_sleeves,0\nfur-trimmed_skirt,0\nhourai_doll,4\nwerewolf,0\njojolion,3\nkuma_(persona_4),4\ndesk_lamp,0\ngreen_flower,0\nhead_on_another's_shoulder,0\nhana_kazari,1\nroronoa_zoro,4\nthe_legend_of_zelda:_skyward_sword,3\nnamazuo_toushirou,4\nkadotani_anzu,4\nnepgear,4\npanties_on_head,0\npanty_straps,0\nkourindou_tengu_costume,0\nnoelle_(genshin_impact),4\nblue_sash,0\nkasane_teto,4\ngerman_flag,0\ngyro_zeppeli,4\npink_collar,0\nmaikaze_(kancolle),4\nbolo_tie,0\nfletcher_(kancolle),4\nararagi_koyomi,4\nhigh_kick,0\nbrown_hairband,0\nshower_(place),0\nsaint_seiya,3\nminna-dietlinde_wilcke,4\nbreast_conscious,0\nanimal_ear_legwear,0\nmiyamoto_musashi_(swimsuit_berserker)_(fate),4\nkatawa_shoujo,3\nenemy_lifebuoy_(kancolle),4\nlatex_gloves,0\nsana_channel,3\nkurokoma_saki,4\nmurasaki_shikibu_(fate),4\nivan_karelin,4\nfrederica_bernkastel,4\nsuper_mario_galaxy,3\nskateboard,0\nclearite,1\nhachikuji_mayoi,4\nusashiro_mani,1\npaper_airplane,0\ntablecloth,0\n2009,0\nbridget_(guilty_gear),4\nnatori_sana,4\nmulticolored_shirt,0\nohisashiburi,1\nundone_necktie,0\npillbox_hat,0\nhimemori_luna,4\nshinai,0\ntokitarou_(fate),4\nelectrokinesis,0\nengiyoshi,1\npink_bag,0\nhigh_school_fleet,3\nhand_on_own_shoulder,0\nyordle,0\ntodoroki_shouto,4\nyellow_hoodie,0\nshin_jigen_game_neptune_vii,3\npicnic_basket,0\nage_regression,0\nmaturiuta_sorato,1\nfriends,0\nhat_tip,0\ngundam_build_divers,3\nblue_horns,0\nboots_removed,0\nmitsumoto_jouji,1\nhonebami_toushirou,4\nkeroro_gunsou,3\nooshio_(kancolle),4\npiers_(pokemon),4\nchainmail,0\nkigurumi,0\nflash,5\nkimi_kiss,3\nwattson_(apex_legends),4\nanimal_bag,0\nhoshino_fumina,4\ngofu,1\nmarianne_von_edmund,4\nsheya,1\nnearly_naked_apron,0\npote_(ptkan),1\nmisaki_kurehito,1\nnanakusa_suzuna,1\ncolorado_(kancolle),4\naru_(blue_archive),4\ndiagonal-striped_necktie,0\nsunscreen,0\nbandaid_on_hand,0\ncurry_rice,0\nplaystation_controller,0\ncocktail_dress,0\npokemon_on_shoulder,0\nmetal_gear_solid,3\nshokugeki_no_souma,3\nblack_pubic_hair,0\nclub_(shape),0\nkoruri,1\nskull_mask,0\nno_gloves,0\nsonya_(kill_me_baby),4\nkagamihara_nadeshiko,4\nkimono_pull,0\nsasaki_chie,4\nodd_one_out,0\npravda_school_uniform,0\nsailor_mercury,4\nno_game_no_life,3\nsiege_(arknights),4\nsunazuka_akira,4\nunya,1\ngold_armor,0\narch_bishop_(ragnarok_online),4\nimminent_fellatio,0\norange_neckerchief,0\nduffel_coat,0\nflashback,0\nred_bandana,0\ndecensored,5\nmery_(yangmalgage),1\nwhispering,0\nijiranaide_nagatoro-san,3\ntohsaka_tokiomi,4\ngrey_kimono,0\nsilica,4\ndoctor,0\nkirijou_mitsuru,4\nteamwork,0\nblue_poison_(arknights),4\naqua_panties,0\nsex_machine,0\nblue_fur,0\nplaid_neckwear,0\nveiny_breasts,0\nlace-trimmed_skirt,0\nrunes,0\nkoto_inari,1\nnagi_(kannagi),4\nmaebara_keiichi,4\nhop_(pokemon),4\nmole_on_ass,0\nbad_nijie_id,5\npapakha,0\nkousaka_reina,4\nrobin_(fire_emblem)_(male),4\ndark_penis,0\nutano,1\nkasumi_(skchkko),1\nsevered_head,0\ngirlfriend_(kari),3\nalpaca_suri_(kemono_friends),4\nsoup,0\nathletic_leotard,0\ngoma_(gomasamune),1\nmidare_toushirou,4\npeeping,0\nimpossible_swimsuit,0\nsona_(league_of_legends),4\nteruterubouzu,0\nperpendicular_paizuri,0\nstroking_own_chin,0\nfrilled_socks,0\nsobble,4\nfurry_with_furry,0\nmawaru_penguindrum,3\nz23_(azur_lane),4\nteireida_mai,4\ngathers,0\nkero,4\npants_rolled_up,0\nbusou_shinki,3\nrichelieu_(kancolle),4\nstepped_on,0\nmolten_rock,0\nshiny_legwear,0\ncyberpunk_edgerunners,3\nburnt_clothes,0\nbulbasaur,4\nsausage,0\nfurutani_himawari,4\ndust_cloud,0\nbrown_bikini,0\nbeidou_(genshin_impact),4\ncaren_hortensia,4\namanogawa_kirara,4\nschwarz_(arknights),4\nchristmas_lights,0\nsick,0\nshortstack,0\nhalloween_bucket,0\nsingle_pantsleg,0\nexcalibur_morgan_(fate),0\nslap_mark,0\npower_(chainsaw_man),4\neurasian_eagle_owl_(kemono_friends),4\ngreen_bodysuit,0\nwading_pool,0\neyebrow_piercing,0\ndaidouji_tomoyo,4\nfutaba_channel,3\nwatermelon_bar,0\ndead_or_alive_5,3\nhand_on_lap,0\nkanabou,0\nyellow_pupils,0\nshirobako,3\ngweda,1\nbartender,0\nbath_yukata,0\nta-class_battleship,4\ncellphone_picture,0\nyopparai_oni,1\nikuchan_kaoru,1\nmeito_(maze),1\nfingering_through_clothes,0\ndeerstalker,0\nangel_and_devil,0\nacrylic_paint_(medium),0\nshort_sidetail,0\nreal_world_location,0\ntomoeda_elementary_school_uniform,0\nwiping_face,0\nranni_the_witch,4\nyomu_(sgt_epper),1\nharp,0\nfake_mustache,0\nsunflower_hair_ornament,0\nda_capo,3\npie,0\nzen_(kamuro),1\nladybug,0\nnaegi_makoto,4\nasymmetrical_horns,0\npurple_capelet,0\nsnivy,4\nflustered,0\nmasukuza_j,1\nyear_of_the_rat,0\nmedea_(fate),4\nyabuki_kentarou,1\nsuper_robot_wars_original_generation,3\ntwo-tone_legwear,0\nsandals_removed,0\nwig,0\ninset,0\nhimura_kiseki,1\ndissidia_final_fantasy,3\noyashio_(kancolle),4\noikawa_shizuku,4\nwheelchair,0\nciel_(tsukihime),4\nmilking_machine,0\nnekopara,3\nsplit_screen,0\nwarhammer_40k,3\nfireplace,0\nshimada_fumikane,1\nliving_clothes,0\nkudamaki_tsukasa,4\nema,0\ngrey_bikini,0\nchitose_(kancolle),4\nrook_(chess),0\nru-class_battleship,4\nwinged_footwear,0\nnative_american,0\nmagical_mirai_(vocaloid),3\ndigimon_adventure,3\ntent,0\nrespirator,0\nfinal_fantasy_xii,3\nribbed_leotard,0\nstriped_sweater,0\nryona,0\nkoharu_(blue_archive),4\nsekai_seifuku:_bouryaku_no_zvezda,3\nmachine,0\nkamiyama_high_school_uniform,0\nkarukan_(monjya),1\nhawaiian_shirt,0\nseishun_buta_yarou,3\npipimi,4\nsento_isuzu,4\nasamura_hiori,1\nyunamaro,1\nhooded_track_jacket,0\nanimal_hug,0\ndairi,1\nbutterfly_on_hand,0\nankh,0\nigarashi_futaba_(shiromanta),4\nslime_(genshin_impact),4\njjune,1\ntiered_tray,0\ntengu,0\non_bench,0\npasta,0\nbelt_boots,0\nholographic_interface,0\nassam_(girls_und_panzer),4\nramchi,1\ncheek_squash,0\nfake_antlers,0\nopen_belt,0\nva-11_hall-a,3\nkesa,0\nleg_armor,0\ntorn_scarf,0\nyellow_bodysuit,0\nkururugi_suzaku,4\ntulip,0\ngiving_up_the_ghost,0\nmonika_(doki_doki_literature_club),4\nnanatsu_no_taizai,3\nfull-length_zipper,0\npotato,0\nanila_(granblue_fantasy),4\nkanroji_mitsuri,4\ncum_on_self,0\nuvula,0\nnisekoi,3\nabe_nana,4\nhands_on_another's_cheeks,0\nferris_wheel,0\nsaniwa_(touken_ranbu),4\nload_bearing_vest,0\ncrate,0\nkagami_hirotaka,1\non_vehicle,0\nasutora,1\nsparkler,0\nlaser,0\nturtleneck_leotard,0\nchampion_uniform,0\ntwo-tone_hairband,0\nalpaca_ears,0\ncheek_bulge,0\nleather_boots,0\niphone,0\nsnail,0\nipod,0\nblender_(medium),5\nzeta_(granblue_fantasy),4\nthrough_wall,0\nsuspended_congress,0\nshidare_hotaru,4\nspoken_character,0\nbruise_on_face,0\ntempura,0\nhitting,0\ntanaka_kusao,1\nopen_robe,0\ntwitter_logo,0\nm16a1_(girls'_frontline),4\nryuuko_no_ken,3\nart_brush,0\ntima,1\naa_megami-sama,3\nsingle_fingerless_glove,0\nkusanagi_motoko,4\nhand_on_shoulder,0\npyrokinesis,0\nbubukka,1\ndot_mouth,0\nchest_of_drawers,0\nconstellation_print,0\nswd3e2,1\nmismatched_pubic_hair,0\nsidelighting,0\nfountain,0\nbishop_(chess),0\nartoria_pendragon_(alter_swimsuit_rider)_(second_ascension)_(fate),4\nworld_trigger,3\nbus_stop,0\npink_pupils,0\nturning_head,0\nshantae,4\ntwo-sided_cape,0\nmodeus_(helltaker),4\nmikuma_(kancolle),4\nbreast_expansion,0\nurushihara_satoshi,1\narm_blade,0\nbrown_panties,0\nthey_had_lots_of_sex_afterwards_(meme),0\npark,0\njames_(pokemon),4\nwhite_mage,4\nheadwear_request,5\ngreen_(pokemon),4\nblack_wristband,0\nhoneycomb_(pattern),0\nchikuma_(kancolle),4\nwrestling_ring,0\ntheft,0\nblue_collar,0\njacket_partially_removed,0\nholding_pillow,0\ntensei_shitara_slime_datta_ken,3\nseele_vollerei,4\nemperor_penguin_(kemono_friends),4\nsuper_sentai,3\nkohaku_(tsukihime),4\nmeow_(nekodenki),1\ndandon_fuga,1\nminami-ke,3\nkuromiya,1\nleopard_tail,0\ngladion_(pokemon),4\nrydia_(ff4),4\nvoyeurism,0\nhands_on_ass,0\nmarie_(girls_und_panzer),4\nlarge_testicles,0\nyuigahama_yui,4\naoshima,1\nkid_icarus_uprising,3\nbikesuit,0\ntropical-rouge!_precure,3\nutensil_in_mouth,0\nemoji,0\ni-26_(kancolle),4\narchery,0\nnagatoro_hayase,4\nballerina,0\nyui_(angel_beats!),4\naqua_headwear,0\nnikorashi-ka,1\nhooded_cardigan,0\nlapels,0\nsilver_trim,0\nlaundry,0\nsuzuki_toto,1\ndorohedoro,3\nhatsukaze_(kancolle),4\nready_to_draw,0\nbai_lao_shu,1\nmakai_senki_disgaea,3\nyukinoshita_yukino,4\nbeatmania_iidx,3\nflashlight,0\nbattle_axe,0\nhatsushimo_(kancolle),4\norange_panties,0\ntsuruya,4\nisland,0\ndream_c_club_(series),3\nlizard_tail,0\nfinal_fantasy_xiii,3\noptionaltypo,1\nvibrator_in_thighhighs,0\nfuuin_no_tsue,0\nminamoto_sakura,4\nheartbeat,0\nasagumo_(kancolle),4\nhuang_baoling,4\nikeuchi_tanuma,1\nfrankenstein's_monster_(fate),4\nred_oni,0\nuchikake,0\n.hack//,3\ncandy_hair_ornament,0\nbow_(music),0\njaguar_(kemono_friends),4\nchalk,0\nfumizuki_(kancolle),4\nzara_(azur_lane),4\nanilingus,0\nmotherly,0\nbehind_another,0\npink_coat,0\nshuffle!,3\nneckwear_grab,0\nisshiki_(ffmania7),1\nsee-through_skirt,0\nplate_armor,0\ncum_on_hands,0\ncrystal_hair,0\nfur-trimmed_cloak,0\nbaltimore_(azur_lane),4\nmonster_hunter_rise,3\nvictor_(pokemon),4\nunicorn,0\nnu-13,4\nlarge_wings,0\nkazenokaze,1\nkamado_tanjirou,4\ncheck_copyright,5\nwraith_(apex_legends),4\ngrey_ribbon,0\nnamori,1\nmomozono_love,4\npetals_on_liquid,0\nsakuramon,0\nhaniyasushin_keiki,4\ndigitigrade,0\ncarrying_person,0\nirys_(hololive),4\nhidefu_kitayan,1\ngift_bag,0\nmismatched_sleeves,0\nqueen_(chess),0\nboruto:_naruto_next_generations,3\nfiery_horns,0\nyin_(darker_than_black),4\ndisgust,0\nketchup,0\ntriangle_print,0\nsoda_bottle,0\npenis_size_difference,0\nnewhalf,0\nmarvel_cinematic_universe,3\nbow_earrings,0\nootachi,0\ncommander_(girls'_frontline),4\nmizuno_ai,4\nlettuce,0\npod_(nier_automata),4\nakitsuki_karasu,1\nsatin,0\nopening_door,0\nizumi-no-kami_kanesada,4\niizuki_tasuku,1\ndangle_earrings,0\ndrum_(container),0\noryo_(oryo04),1\nspacezin,1\ngym,0\nfairy_knight_tristan_(fate),4\ntouhoku_kiritan,4\nruler,0\ndark_aura,0\nfrench_text,0\nhair_ears,0\ngakkou_gurashi!,3\nsideways,0\nblend_s,3\ncat_day,0\nnoai_nioshi,1\nlittorio_(kancolle),4\nammunition_belt,0\nslayers,3\narchived_source,5\nboudica_(fate),4\nkawashima_momo,4\nclosers,3\nkamille_(vcx68),1\nlace-trimmed_gloves,0\nfurrification,0\nichigo_mashimaro,3\nboo_(mario),4\nsailor_venus,4\ngrimoire,0\noff-shoulder_bikini,0\nhickey,0\nstuffed_winged_unicorn,0\njojo_pose,0\ntest_plugsuit,0\ngradient_legwear,0\nriding_pokemon,0\nribbon-trimmed_dress,0\nbad_food,0\nround_window,0\nniijima_makoto,4\nlegs_over_head,0\nsatou_kibi,1\nyamashita_shun'ya,1\noven_mitts,0\nabuse,0\nmultiple_monochrome,0\nyoshi_tama,1\nakairiot,1\nenkidu_(fate),4\ncropped_shoulders,0\nrising_sun,0\nfake_wings,0\nnaked_bandage,0\nvaulting_horse,0\ncomparison,0\nballet_slippers,0\nberserker_(fate/zero),4\nlalafell,0\nimplied_yuri,0\nshared_bathing,0\ng_gundam,3\ntorpedo_launcher,0\nrance_(series),3\nhigh_priest_(ragnarok_online),4\nbat_ears,0\nsword_art_online:_alicization,3\nselen_tatsuki,4\nnemoto_hina,4\nadjusting_legwear,0\nbattle_rifle,0\nshirt_grab,0\nweapon_request,5\nmoisture_(chichi),1\nluggage,0\nboar,0\nholding_water_gun,0\ncum_on_penis,0\novercast,0\ntorn_jeans,0\nfuta_on_male,0\nsoap_censor,0\nevangelion:_3.0+1.0_thrice_upon_a_time,3\ncactus,0\nguido_mista,4\norange_pantyhose,0\nshards,0\nyamashiro_(azur_lane),4\nstrap_lift,0\nnon_non_biyori,3\nsquirtle,4\nkako_(kancolle),4\narmin_arlert,4\nguiding_hand,0\nchimney,0\ncovering_ass,0\nflock,0\ndream_c_club,3\ndoitsuken,1\nchat_log,0\nupshorts,0\n6_(yuchae),1\nrias_gremory,4\npassionlip_(fate),4\nsundae,0\naestus_estus,0\nred_neckwear,0\nkitasan_black_(umamusume),4\nfubuki_(one-punch_man),4\nammunition,0\npixiv,3\nhoney,0\nshell_bikini,0\nlow_tied_hair,0\npatterned,0\ngrey_sleeves,0\ntanzaku,0\npink_pantyhose,0\nblue_armor,0\nkeizoku_military_uniform,0\nhayasui_(kancolle),4\nyukito_(dreamrider),1\ntharja_(fire_emblem),4\nshiina_yuika,4\ntsukuyomi_shirabe,4\npom_pom_hair_ornament,0\nchocolate_on_breasts,0\nheart-shaped_lock,0\ncure_sunshine,4\nweight_conscious,0\nknees_apart_feet_together,0\nlow_neckline,0\nslaine_troyard,4\nclog_sandals,0\nwall_of_text,0\nwatatsuki_no_toyohime,4\nfubuki_kai_ni_(kancolle),4\ntoilet_use,0\ndumbbell,0\nhoshizuki_(seigetsu),1\nbutterfly_net,0\nsalaryman,0\nyanfei_(genshin_impact),4\nminamoto_no_raikou_(swimsuit_lancer)_(fate),4\nhoshimiya_ichigo,4\ndrawing_sword,0\nburuma_pull,0\nleona_heidern,4\nsaunders_military_uniform,0\nconsensual_tentacles,0\nbird_mask,0\ncoffin,0\nclimbing,0\nashford_academy_uniform,0\nliquid_hair,0\npharah_(overwatch),4\nmouth_pull,0\nlpip,1\neyewear_strap,0\nlucas_(pokemon),4\nsailor_mars,4\nswim_cap,0\nback-print_panties,0\nkonohagakure_symbol,0\nkarna_(fate),4\nzara_(kancolle),4\nkarakai_jouzu_no_takagi-san,3\ntokimeki_memorial,3\nodin_sphere,3\nanchor_print,0\ntorn_swimsuit,0\nc:,0\nsplit_ponytail,0\nnowaki_(kancolle),4\nxuangzang_sanzang_(fate),4\nblack_leggings,0\nreindeer,0\nyuuki_yuuna_wa_yuusha_de_aru,3\nluigi,4\nuncommon_stimulation,0\nhanetsuki,0\nonbashira,0\npennant,0\nhawks_(boku_no_hero_academia),4\nspreader_bar,0\ntamaki_iroha,4\nb-ginga,1\nfukuzawa_yumi,4\nscrewdriver,0\nmechanical_ears,0\ngradient_clothes,0\nmahou_shoujo_ikusei_keikaku,3\nuryuu_ryuunosuke,4\nlooking_at_breasts,0\nnakamura_yuri,4\nwashing,0\nchampagne,0\nbirthmark,0\nwaero,1\nsteering_wheel,0\ncooler,0\nviolet_evergarden_(series),3\nrita_rossweisse,4\ncure_beauty,4\nkitchen_knife,0\nharu_urara_(umamusume),4\njimiko,0\ncarpaccio_(girls_und_panzer),4\nlegs_folded,0\nspoken_object,0\ncait_aron,1\nbutton_eyes,0\nnata_(tool),0\ncastlevania,3\nass_support,0\ntitle_parody,0\ngreen_sleeves,0\nhoshino_(blue_archive),4\npinching_sleeves,0\nlight_censor,0\nmikeou,1\ncum_on_pussy,0\noribe_yasuna,4\ncollared_coat,0\ntearing_clothes,0\nanal_hair,0\nfish_print,0\nmaster_sword,0\nk/da_(league_of_legends),0\nbow_choker,0\nbeans,0\nholding_balloon,0\nblade_&_soul,3\nshihouin_yoruichi,4\noyari_ashito,1\n\"don't_say_\"\"lazy\"\"\",0\nmedb_(fate),4\ndice_hair_ornament,0\nirida_(pokemon),4\nweighing_scale,0\nstitched_face,0\ntennis_ball,0\nashido_mina,4\nuchuu_senkan_yamato,3\nphallic_symbol,0\ndrum_set,0\neu03,1\nyukie_(kusaka_shi),1\nreines_el-melloi_archisorte,4\nfume,0\nhizaka,1\naria_company_uniform,0\nalternate_language,5\namerica_(hetalia),4\nmorning_glory,0\nyuuka_(blue_archive),4\nsabrina_(pokemon),4\njoutouguu_mayumi,4\npicnic,0\nginkgo_leaf,0\npouty_lips,0\nsky-freedom,1\nhakui_koyori,4\neve_(elsword),4\nborrowed_design,0\ncaenis_(fate),4\nharo,4\nbow_legwear,0\ngalaxy_expedition_team_survey_corps_uniform,0\nbede_(pokemon),4\nazura_(fire_emblem),4\nrachel_alucard,4\nsword_behind_back,0\ndetexted,5\norange_fur,0\nclothes,0\nkyouka_(princess_connect!),4\nangora_rabbit,0\nama_mitsuki,1\ntomoe_hotaru,4\npink_wings,0\nglowing_wings,0\nwakizashi,0\nmedjed_(fate),4\nprincess_daisy,4\ntorn_leotard,0\ncutting_board,0\ndoily,0\nback_focus,0\nsuzuhara_lulu,4\nguitar_case,0\nsanji_(one_piece),4\npuppet_strings,0\ncure_blossom,4\nthai_text,0\nyuuki_mikan,4\nholding_legs,0\nkashino_(azur_lane),4\nstrawberry_hair_ornament,0\nkatou_asuka,4\npill_earrings,0\narrow_through_heart,0\nnewtype,3\nkuavera,1\nchi-chi_(dragon_ball),4\naquarion_(series),3\ngurande_(g-size),1\nange_katrina,4\njohnston_(kancolle),4\numbreon,4\nlighter,0\nmask_around_neck,0\nsquidbeak_splatoon,0\nhairjob,0\nhand_on_forehead,0\ncolonel_aki,1\ndropping,0\nwrinkled_skin,0\ncyndaquil,4\nyoshio_(55level),1\nmochizuki_(kancolle),4\nblue_tongue,0\nbus,0\nloungewear,0\nuser_interface,0\npearl_bracelet,0\nmagical_mirai_miku,4\ngreyscale_with_colored_background,0\nsubaru_nakajima,4\ncombat_boots,0\nban!_(bansankan),1\nhand_to_head,0\nshironeko_project,3\ntricorne,0\nkatou_megumi,4\nsurvey_corps_(emblem),0\nshichimenchou,1\nbrown_bowtie,0\nrex_(xenoblade),4\nangel_(kof),4\neyebrow_cut,0\npink_hakama,0\nmole_above_mouth,0\neroe,1\ndark_green_hair,0\ncum_in_clothes,0\nbreastfeeding,0\nmiyamizu_mitsuha,4\ntsunade_(naruto),4\niris_(pokemon),4\nbicorne,0\norange-tinted_eyewear,0\nkey_visual,5\nasteroid_ill,1\njumpy_dumpty,4\nmillia_rage,4\nhisakawa_hayate,4\nforked_tongue,0\ncomforting,0\nstriped_horns,0\nscathach_(swimsuit_assassin)_(fate),4\ncandy_wrapper,0\ngrocery_bag,0\nlossy-lossless,5\ninuyama_aoi,4\ndetective,0\ndecepticon,0\narjuna_(fate),4\nhealin'_good_precure,3\nsanageyama_uzu,4\nsylveon,4\nseo_tatsuya,1\neiri_(eirri),1\ncum_on_feet,0\nno_lineart,0\nbrown_bodysuit,0\nfake_cover,0\ntelescope,0\noohashi_high_school_uniform,0\nlicking_another's_face,0\nestellise_sidos_heurassein,4\nspit_take,0\negg_hair_ornament,0\npoke_ball_theme,0\nimminent_anal,0\nerect_clitoris,0\nparty_popper,0\npilot,0\nbored,0\npurple_fire,0\ncheek_press,0\ndusk_(arknights),4\nfishnet_gloves,0\nhorikawa_kunihiro,4\nsharp_toenails,0\nheart_button,0\nwinry_rockbell,4\ntraining_bra,0\nkos-mos,4\nkars_(jojo),4\nfate/strange_fake,3\nyuzuki_choco,4\nsummer_festival,0\nfkey,1\nhokuto_no_ken,3\ntooth_necklace,0\nround_image,0\nhead_down,0\ntsurumaki_maki,4\ntonee,1\nhisakawa_nagi,4\nkazanari_tsubasa,4\nassassin's_creed_(series),3\ncamouflage_jacket,0\nvore,0\nheadless,0\nradiation_symbol,0\nfishnet_top,0\nbrown_socks,0\nsnack,0\nsoda,0\nprehensile_tail,0\ninui_toko,4\noutstretched_leg,0\nmessenger_bag,0\ntepig,4\ndenim_jacket,0\nsmokestack_hair_ornament,0\nplaid_jacket,0\nlute_(instrument),0\nkongou_kai_ni_(kancolle),4\nshuujin_academy_uniform,0\nclapping,0\nliz_to_aoi_tori,3\ntonfa,0\ncis_(carcharias),1\nkaneki_ken,4\nglaceon,4\nkamikita_komari,4\ntada_riina,4\nbasketball_uniform,0\ncross_print,0\nblue_sclera,0\nafter_rape,0\nyarn,0\nmirai_nikki,3\nshoulder_strap,0\ngrey_neckerchief,0\n3others,0\nice_skates,0\nhospital_bed,0\nsorceress_(dragon's_crown),4\ntantou,0\nholding_jacket,0\nnoh_mask,0\nroma_(kancolle),4\ncampfire,0\nawa,1\nkishinami_hakuno_(female),4\nguided_breast_grab,0\njokanhiyou,1\npaw_print_background,0\nchoufu_shimin,1\nupshirt,0\nplayer_2,0\npopplio,4\nsakiyamama,1\nvertical-striped_pantyhose,0\nkomaki_manaka,4\nmechanical_hands,0\nsensei_(blue_archive),4\nst._gloriana's_(emblem),0\nthe_legend_of_zelda:_a_link_between_worlds,3\nnursery_rhyme_(fate),4\nniichi_(komorebi-palette),1\nmaruki_(punchiki),1\nmotorcycle_helmet,0\nrocket,0\nnintendo_ds,0\nkaijuu,0\nhair_flip,0\npanzerkampfwagen_iv,0\nwetsuit,0\nholding_baseball_bat,0\ncure_black,4\nmauve,1\ncharmander,4\nlove_live!_school_idol_festival_all_stars,3\nprinz_eugen_(unfading_smile)_(azur_lane),4\nyellow_apron,0\nthermometer,0\nkitashirakawa_tamako,4\nposter_(medium),0\nhooded_robe,0\nasa_no_ha_(pattern),0\nomelet,0\ntokino_sora,4\nfantia_reward,5\nhorse_penis,0\nstealth_sex,0\nsoul_worker,3\ngrey_nails,0\nextra_mouth,0\nelira_pendora,4\nblue_cloak,0\nkatsuragi_misato,4\nking_hassan_(fate),4\nkotonoha_akane,4\ngetsuyoubi_no_tawawa,3\nabigail_williams_(traveling_outfit)_(fate),4\nakkijin,1\nkashiwamochi_yomogi,1\ntorn_gloves,0\ndiaper,0\nkureiji_ollie,4\nclarisse_(granblue_fantasy),4\ncatstudioinc_(punepuni),1\nhot_dog,0\npointy_footwear,0\nstar_of_david,0\nnecktie_grab,0\nvodka_(umamusume),4\nmultiple_braids,0\nbelly_grab,0\nchongyun_(genshin_impact),4\nmajo_no_tabitabi,3\nmultiple_straps,0\ntaimanin_asagi,3\ncanvas_(object),0\nmizunashi_akari,4\narisu_(blue_archive),4\npink_socks,0\nmarth_(fire_emblem),4\ntorn_pantyhose,0\nchan_co,1\nasaya_minoru,1\ntokyo_ghoul:re,3\nakali,4\n6+others,0\nyin_yang_orb,0\nunder_kotatsu,0\notokuyou,1\nib_(ib),4\nrokuwata_tomoe,1\ngrey_belt,0\nryoji_(nomura_ryouji),1\nferry_(granblue_fantasy),4\ncocktail,0\nsakimichan,1\nsand_sculpture,0\nkooh,4\npearl_(splatoon),4\ncrocodilian_tail,0\ndragalia_lost,3\n7010,1\nxingqiu_(genshin_impact),4\nsingle_horizontal_stripe,0\nrabbit_yukine,4\nfushigi_no_umi_no_nadia,3\nwalkie-talkie,0\nushiromiya_maria,4\nyellow_leotard,0\nviolet_evergarden,4\nfrisk_(undertale),4\ncure_march,4\nmitake_ran,4\nrectangular_mouth,0\ncovering_one_eye,0\nglowing_horns,0\nmaoyuu_maou_yuusha,3\ntroll_face,0\nkazama_iroha,4\nyuri_plisetsky,4\nrosaria_(genshin_impact),4\nniconico,3\ngood_end,0\nsuzukaze_aoba,4\nkazagumo_(kancolle),4\napplying_makeup,0\nnilou_(genshin_impact),4\nnanachi_(made_in_abyss),4\nreze_(chainsaw_man),4\ntakagi-san,4\nelezen,0\nlasterk,1\nbrown_cloak,0\npentagon_(railgun_ky1206),1\ngoma_(yoku_yatta_hou_jane),1\nbroken_weapon,0\nking_(chess),0\nfrog_print,0\ncowboy_boots,0\nwar,0\nin_cup,0\npiromizu,1\nberry,0\nchoujigen_game_neptune,3\nfinal_fantasy_vii_advent_children,3\nsnake_hair,0\nnaked_overalls,0\ncrayon,0\nalbedo_(overlord),4\nbc_freedom_military_uniform,0\ncorn,0\nmahou_tsukai_no_yoru,3\nred_apron,0\ntsukumo_yatsuhashi,4\nloose_bowtie,0\nembodiment_of_scarlet_devil,3\nreiner_braun,4\nasian,0\nkugisaki_nobara,4\ncure_happy,4\nannin_musou,1\nsleeveless_turtleneck_leotard,0\nbreast_focus,0\ndisney,3\ntools,0\naikatsu_stars!,3\nlycoris_uniform,0\nuchi_no_hime-sama_ga_ichiban_kawaii,3\ntelstar,0\nvoice_actor,0\nyanyo_(ogino_atsuki),1\nodawara_hakone,1\ngoat_girl,0\nsora_(kingdom_hearts),4\nfurigana,0\nholding_stylus,0\nyoroizuka_mizore,4\narisugawa_natsuha,4\ntakeba_yukari,4\nsaiyan_armor,0\ntsushima_(kancolle),4\nholding_scissors,0\ndudou,0\nvanishing_point,0\nkuroko_no_basuke,3\nbody_freckles,0\nnishieda,1\nbombergirl,3\nmomota_kaito,4\nakitsushima_(kancolle),4\nvery_long_sleeves,0\ngundam_wing,3\ncd,0\nuccow,1\nanzio_military_uniform,0\nharuna_kai_ni_(kancolle),4\nespeon,4\nhina_ichigo,4\nninja_mask,0\nintrepid_(kancolle),4\nkitazawa_shiho,4\nhuman_scabbard,0\naccidental_exposure,0\nheart_balloon,0\nsailor_senshi,0\nbulletproof_vest,0\nwhite_tail,0\nscarf_over_mouth,0\nbrown_leotard,0\neyjafjalla_(arknights),4\neasel,0\nmanabe_nodoka,4\nbosshi,1\ncolored_shadow,0\nmutsuki_(blue_archive),4\nmakaino_ririmu,4\ndoukyuusei_another_world,3\nsaotome_alto,4\ntoast_in_mouth,0\nuzaki_hana,4\nbowser,4\ntakanami_(kancolle),4\nhoop,0\nserizawa_asahi,4\npuckered_anus,0\nlooking_at_mirror,0\nraphtalia,4\nkuchiki_rukia,4\ntsukumo_sana,4\nlactation_through_clothes,0\nmo_(kireinamo),1\nink_tank_(splatoon),0\nosaki_amana,4\nyotsuba_alice,4\nsquare_4koma,0\nfacepalm,0\near_biting,0\nmisumi_(macaroni),1\nkino_no_tabi,3\nvikala_(granblue_fantasy),4\nsakazaki_freddy,1\nririko_(zhuoyandesailaer),1\nthighhighs_over_pantyhose,0\nwhite_tiger,0\nkujou_karen,4\ngomennasai,1\ncure_melody,4\nmoogle,4\nkarina_lyle,4\ntorn_jacket,0\nark_order,3\ncalico,0\nshorts_under_dress,0\ncum_on_pectorals,0\nhat_over_one_eye,0\nlucoa_(maidragon),4\nshirayuki_hime,4\ngreen_hakama,0\nraimon_soccer_uniform,0\npornography,0\nararagi_karen,4\npenises_touching,0\npursed_lips,0\nreins,0\njill_valentine,4\njin_(mugenjin),1\ncorded_phone,0\nx-men,3\nbibi_(tokoyami_towa),4\ntaneshima_popura,4\ngriffin_&_kryuger_military_uniform,0\ntrash_bag,0\nteam_rocket_uniform,0\nthread,0\nwood,0\nmiss_cloud,4\nred_bag,0\nsakuraba_yuuki,1\nmillion_arthur_(series),3\ndouble_vertical_stripe,0\nthe_legend_of_zelda:_the_wind_waker,3\nmulticolored_cape,0\nshirow_masamune,1\nzabuton,0\ndrying_hair,0\nmomo_velia_deviluke,4\ntateyama_ayano,4\nugly_man,0\ntentacles_under_clothes,0\nscrew,0\npier,0\nsnowball,0\nbubble_tea_challenge,0\nprint_headwear,0\nsakurazawa_izumi,1\nbandolier,0\nmeltryllis_(swimsuit_lancer)_(first_ascension)_(fate),4\ntoudou_shimako,4\nfrom_outside,0\nsucy_manbavaran,4\npet_bowl,0\nkayneth_el-melloi_archibald,4\ndildo_riding,0\ntamamo_cross_(umamusume),4\nbunny-shaped_pupils,0\nhuge_bow,0\nrice_on_face,0\nsocks_removed,0\nunder_tree,0\nsetz,1\ntoilet_paper,0\nwhite_snake,0\nrotom_phone,4\noff-shoulder_jacket,0\nxenogears,3\nfootwear_ribbon,0\ncevio,3\nichigo_(darling_in_the_franxx),4\nbenghuai_xueyuan,3\neto_(ikumika),1\nobiwan,1\ndanua,4\nkeystone,0\nhand_on_another's_leg,0\nnon_(z-art),1\nlive2d,5\nairfield_princess,4\njapan_(hetalia),4\nonii-chan_wa_oshimai,3\nno_tail,0\nblind,0\nnate_(pokemon),4\nshirabi,1\nred_apple,0\neishin_flash_(umamusume),4\nkatsura_hinagiku,4\nvoile,0\ndark_areolae,0\nchef_uniform,0\nglaive_(polearm),0\nkozakura_marry,4\npixiv_fantasia_5,3\nslashing,0\nmeowth,4\nfrilled_shorts,0\nfleur_de_lapin_uniform,0\nnanodesu_(phrase),0\nheart_o-ring,0\nrtil,1\naono3,1\nchrono_trigger,3\nfolding_chair,0\nkfr,1\ncat_ear_legwear,0\nmultiple_riders,0\nnanao_naru,1\nsailor_jupiter,4\nsatou_yuuki,1\nhanten_(clothes),0\nafrobull,1\ntanaka_mamimi,4\ntsuruse,1\nshopping,0\ndaruma_doll,0\nalphonse_elric,4\nsaitama_(one-punch_man),4\nalice_(alice_in_wonderland)_(cosplay),0\nmega_man_zero,3\npokemon_lgpe,3\nskirt_basket,0\nkoutetsujou_no_kabaneri,3\nakinbo_(hyouka_fuyou),1\noverall_shorts,0\nfrogtie,0\npas_(paxiti),1\nbbb_(friskuser),1\ndivine_gate,3\ngeewhy,1\nyagisaka_seto,1\nsister_princess,3\neyewear_hang,0\nkepi,0\nmusou_isshin_(genshin_impact),0\nhimouto!_umaru-chan,3\nkemachiku,1\nsingle_boot,0\ntraditional_chinese_text,0\nanjou_naruko,4\nokazaki_yumemi,4\nblue_overalls,0\nnaked_scarf,0\nvampire_costume,0\ntransparent_wings,0\ngrookey,4\npurple_scrunchie,0\nwiping_sweat,0\nsamneco,1\nsonoda_chiyoko,4\ntales_of_berseria,3\nniwatari_kutaka,4\nbeige_jacket,0\nkara_(color),1\nokabe_rintarou,4\nkino_(kino_no_tabi),4\nogami_kazuki,1\npopcorn,0\ncu_chulainn_alter_(fate),4\notohime_(youngest_princess),1\nflying_kick,0\nkissing_hand,0\nbandaged_neck,0\n>o<,0\nhoshikawa_sara,4\npurple-framed_eyewear,0\nhands_on_own_ass,0\ntiger_stripes,0\ncheshire_(azur_lane),4\nkula_diamond,4\nfloating_island,0\ntriangle_earrings,0\nanimal_on_lap,0\namagi_(kancolle),4\ngreen_one-piece_swimsuit,0\ntelekinesis,0\nmay_(guilty_gear),4\ncleaver,0\nwet_dress,0\nnagian,1\nrainbow_hair,0\nblank_stare,0\nbaiken,4\narthur_pendragon_(fate),4\nstar_brooch,0\nastolfo_(sailor_paladin)_(fate),4\ntakato_kurosuke,1\ndotted_line,0\nshoujo_kakumei_utena,3\nkine,0\njapari_bun,0\nkaisen_chuui,1\nschool_rumble,3\npixiv_fantasia_last_saga,3\nbokken,0\nbackless_leotard,0\nteam_9,0\nunited_kingdom_(hetalia),4\nsaber_(weapon),0\nibuki_fuuko,4\notter_ears,0\nassassin_(fate/zero),4\nbarefoot_sandals,0\nbee_(deadflow),1\nhisui_(tsukihime),4\nsousouman,1\ndvd_cover,0\nswimsuit_cover-up,0\nbarbed_wire,0\ndark_souls_iii,3\npencil_case,0\nchewing,0\namulet,0\naragaki_ayase,4\naquarion_evol,3\nshark_costume,0\ncoin_hair_ornament,0\ntokisadame_school_uniform,0\nkey_necklace,0\ntentacle_pit,0\ndandelion,0\nboxer_briefs,0\nthe_legend_of_korra,3\nyorha_type_a_no._2,4\nelaina_(majo_no_tabitabi),4\nsakino_shingetsu,1\nsieg_(fate),4\nyellow_pants,0\nholding_fishing_rod,0\njmg,1\nyellow_sash,0\noktavia_von_seckendorff,4\nmota,1\ninstagram_username,0\nvertical-striped_bikini,0\nyoukan,1\naztodio,1\nfalchion_(fire_emblem),0\nshindou_takuto,4\nfur-trimmed_kimono,0\nholding_game_controller,0\nhand_on_leg,0\nred_border,0\nkeith_goodman,4\ntexture,0\nsawa_azusa,4\nwrist_wrap,0\nmulticolored_horns,0\nshibasaki_shouji,1\ncounter:side,3\nhand_on_another's_waist,0\nlowleg_pants,0\nfoam,0\nsingle_stripe,0\npink_pajamas,0\nbetween_pectorals,0\nbrick,0\nkinu_(kancolle),4\nlooking_outside,0\nhenshin,0\npushing,0\ncharacter_censor,0\nyuuki_setsuna_(love_live!),4\nkomiya_kaho,4\nhellsing,3\ntriple_penetration,0\nballet,0\ndiamond_(gemstone),0\nfujisaki_chihiro,4\naquarium,0\nstudio_ghibli,3\ncommandant_teste_(kancolle),4\nnakano_itsuki,4\nanalog_clock,0\nichihara_nina,4\nuntue,1\npink_capelet,0\nnijisanji_kr,3\nhoundstooth,0\nkiriya_aoi,4\nsuomi_(girls'_frontline),4\nporch,0\noyama_mahiro,4\nmisaka_imouto,4\nlen_(tsukihime),4\nstreamers,0\npalms_together,0\nstain,0\nadapted_turret,0\norange_pants,0\nphoenix_crown,0\ngonzarez,1\nstudded_bracelet,0\nunzipping,0\njigglypuff,4\nbamboo_steamer,0\npeace_symbol,0\nbilingual,0\nbrown_wings,0\nartificial_eye,0\ntohno_shiki,4\nzoids,3\nbackpack_removed,0\nflorence_nightingale_(trick_or_treatment)_(fate),4\ncute_&_girly_(idolmaster),0\nhase_yu,1\nlupin_iii,3\npapers,0\nelvaan,0\nmerlin_(fate),4\nragho_no_erika,1\nsidewalk,0\nhanbok,0\nwitches_of_africa,3\nar-15,0\nflower_ornament,0\nwhite_serafuku,0\nyu_yu_hakusho,3\nthe_legend_of_zelda:_tears_of_the_kingdom,3\nstriped_hoodie,0\npurple_hakama,0\nkomatsu_eiji,1\nyuna_(ff10),4\nnekomonogatari,3\ntail_piercing,0\nsleeve_garter,0\nears_visible_through_hair,0\nsono_hanabira_ni_kuchizuke_wo,3\nhighschool_of_the_dead,3\nfur-trimmed_shorts,0\nokina_ika,1\nstrawberry_panties,0\npointy_breasts,0\nhaniwa_(statue),0\nno_eyebrows,0\nyuuki_(sao),4\nsearchlight,0\nsano_toshihide,1\niizunamaru_megumu,4\nfrilled_ascot,0\nhotarumaru,4\nyume_shokunin,1\nmultiple_swords,0\nkurokawa_eren,4\npurple_eyeshadow,0\namong_us,3\nsanta_gloves,0\nnoose,0\nankle_wrap,0\nthird-party_watermark,5\nsparse_pubic_hair,0\nboobplate,0\ncrystal_ball,0\naquila_(kancolle),4\njaguar_print,0\noda_uri,0\nsei_(kaien_kien),1\nblank_censor,0\nakanbe,0\nseaweed,0\nmashuu_(neko_no_oyashiro),1\nscar_on_stomach,0\nmiia_(monster_musume),4\npuffy_cheeks,0\nfur_boots,0\nkousaka_kyousuke,4\nmusaigen_no_phantom_world,3\nbrown_collar,0\nlord_of_the_mysteries,3\nyarn_ball,0\ndoujima_nanako,4\ntieria_erde,4\nhourglass,0\nmonster_hunter:_world,3\nlion_(kemono_friends),4\nprint_shorts,0\nantique_firearm,0\nhead_on_pillow,0\nbayonet,0\ndrugs,0\nanglerfish,0\nzidane_tribal,4\nchild_drawing,0\nsound_horizon,3\nmitsumi_misato,1\nprint_jacket,0\nlala_satalin_deviluke,4\nchado,1\nkidou_senkan_nadesico,3\nhydrokinesis,0\nbandaid_on_forehead,0\nfuantei,1\nisabelle_(animal_crossing),4\nazasuke,1\nicing,0\ntorchic,4\nwhite_umbrella,0\nnarancia_ghirga,4\nduel_academy_uniform_(yu-gi-oh!_gx),0\naisha_landar,4\nindustrial_piercing,0\nportrait_(object),0\nslime_(dragon_quest),4\nyuuki_hagure,1\nhikawa_hina,4\nuehara_ayumu,4\npenguin_hood,0\nayamy,1\nmicaiah_(fire_emblem),4\nbeige_shirt,0\ncheren_(pokemon),4\nhifumi_(blue_archive),4\nend_card,5\ngodzilla,4\nkami_jigen_game_neptune_v,3\nsmoking_gun,0\nnier,3\nlulu_(league_of_legends),4\naudience,0\nwaiter,0\nhammann_(azur_lane),4\nass_shake,0\nmordred_(memories_at_trifas)_(fate),4\neuryale_(fate),4\nseiren_(suite_precure),4\nguided_penetration,0\ncleveland_(azur_lane),4\nlace-trimmed_hairband,0\nrabbit_boy,0\npolka_dot_headwear,0\nsaddle,0\nstar_platinum,4\nvalkyrie,0\nriyo_(lyomsnpmp),1\ntenchi_muyou!,3\nfur_cape,0\nnotched_ear,0\nsugiura_ayano,4\nbird_legs,0\ntantei_opera_milky_holmes,3\naviator_sunglasses,0\nblowing,0\nkamogawa_tanuki,1\nrecorder,0\ntype_95_(girls'_frontline),4\nholding_pizza,0\nelf_(stroll_in_the_woods),1\ndennou_coil,3\nmother_2,3\nlyria_(granblue_fantasy),4\nlion_boy,0\nino_(magloid),1\nurin,1\nscottie_(phantom2),1\nmajo_no_takkyuubin,3\nmukai_takumi,4\nnibutani_shinka,4\nconcert,0\nflaming_weapon,0\ndestiny_child,3\npolka_dot_skirt,0\ntorinone,1\narms_(game),3\ncoconut,0\nvaporeon,4\ncredits,0\nowl_ears,0\namerica,0\nkusaka_souji,1\nscar_on_neck,0\nfinal_fight,3\nvira_(granblue_fantasy),4\nblack_corset,0\numigarasu_(kitsune1963),1\nmash_kyrielight_(dangerous_beast)_(cosplay),0\nhikawa_shou,1\nkomaku_juushoku,1\nhishaku,0\nbernadetta_von_varley,4\noimanji,1\npublic_use,0\ntenken_(gotannda),1\nnyarlathotep_(nyaruko-san),4\nyellow_butterfly,0\nmetal_slug,3\nsig_sauer,0\nbrown_hoodie,0\nmeyoco,1\ncable_knit,0\nalt_text,5\ntenkyuu_chimata,4\nspooning,0\nsengoku_basara,3\ndress_removed,0\npersonal_ami,1\nmioda_ibuki,4\nconvenience_store,0\nkouhaku_nawa,0\nikari_manatsu,1\nkenkou_cross,1\ngraf_zeppelin_(azur_lane),4\ntail_feathers,0\nplaid_bra,0\nkonbu_wakame,1\nqqqrinkappp,1\nmanga_cover,0\nnenohi_(kancolle),4\ncheckered_sash,0\nnahida_(genshin_impact),4\ncatholic,0\ncrystal_earrings,0\nthemed_object,0\nhataraku_maou-sama!,3\nfusu_(a95101221),1\nairship,0\nhologram,0\nkasaki_nozomi,4\nloose_shirt,0\ncelestia_ludenberg,4\njetto_komusou,1\nline_(naver),3\npinwheel,0\nserebi_ryousangata,1\nmitsudomoe,3\npurple_belt,0\nst._chronica_academy_uniform,0\n<o>_<o>,0\naraki_hirohiko_(style),0\nclaude_von_riegan,4\ncamouflage_pants,0\nheads-up_display,0\ndrinking_straw_in_mouth,0\nbass_clef,0\nside_drill,0\nspace_helmet,0\npolka_dot_scrunchie,0\nobjectification,0\nyellow_bag,0\nside_slit_shorts,0\nkohinata_miho,4\nsakurajima_mai,4\nnia_(blade)_(xenoblade),4\nyamagumo_(kancolle),4\ngrey_theme,0\ncoke-bottle_glasses,0\nmarie_rose,4\nbullet_hole,0\nsakura_chiyo,4\nchiyoda_(kancolle),4\nultra_ball,0\nbaggy_clothes,0\nokumura_haru,4\nnursing_handjob,0\nmiyamoto_musashi_(swimsuit_berserker)_(second_ascension)_(fate),4\nholding_vegetable,0\naino_megumi,4\nlinear_hatching,0\ncrotch_cutout,0\nro635_(girls'_frontline),4\nkamelie,1\nplaying,0\nmelon_bread,0\nhatsuharu_(kancolle),4\nnakano_ichika,4\ncheck_character,5\nchibi_miku,4\nushiromiya_jessica,4\ngreen_wings,0\ndouble_w,0\nnadia_la_arwall,4\ntenjouin_asuka,4\nstrapless_swimsuit,0\njeweled_branch_of_hourai,0\nlei_lei,4\nfairy_knight_gawain_(fate),4\ndouble_\\m/,0\nlittle_nuns_(diva),3\nminato_hitori,1\nx3,0\nmaplestory,3\nannie_leonhardt,4\nhatoba_tsugu,4\nxiangling_(genshin_impact),4\nred_eyeliner,0\ntsugu_(vtuber),3\nanna_(frozen),4\nhole,0\nforce_of_will,3\nshinama,1\nfood_stand,0\ndonguri_suzume,1\nmonster_musume_no_iru_nichijou_online,3\npendant_choker,0\ntraffic_cone,0\nadapted_uniform,0\nbear_costume,0\nprison_clothes,0\ncure_sunny,4\nwashing_machine,0\norange_sweater,0\nyellow_belt,0\nbrown_apron,0\nyellow_coat,0\naozaki_aoko,4\nadidas,0\nmomoe_nagisa,4\nhikawa_sayo,4\nblood_on_knife,0\nyagen_toushirou,4\nwringing_clothes,0\nvirgin_killer_outfit,0\ndouble_dildo,0\nifrit_(arknights),4\nmultiple_piercings,0\ndress_flower,0\nqueen's_blade_rebellion,3\nfurudo_erika,4\nmomio,1\nnapkin,0\nwhite_bag,0\nblack_umbrella,0\nkase_daiki,1\npickaxe,0\npuff_and_slash_sleeves,0\neaster_egg,0\ninverted_cross,0\nsasaki_saku,4\nstriped_headwear,0\npastel_colors,0\nsleeveless_coat,0\nmiyanaga_saki,4\nround-bottom_flask,0\nmahjong_tile,0\nadventure_time,3\njinguu_(4839ms),1\nogata_chieri,4\ncross_choker,0\ngoodsmile_racing,3\npink_camisole,0\ncu_chulainn_(caster)_(fate),4\ndante_(devil_may_cry),4\nalisa_(girls_und_panzer),4\nlaura_bodewig,4\nyuuki_(princess_connect!),4\ndiva_(hyxpk),1\njeno,1\ncursive,0\nmiyu_(blue_archive),4\ngenshiken,3\nshizuka_rin,4\nmagical_ruby,4\nclothes_between_breasts,0\ndirty_feet,0\nayane_(doa),4\nwa_lolita,0\naika_(series),3\nmaizono_sayaka,4\nsteven_stone,4\ncutting_hair,0\nhiyou_(kancolle),4\npouring_onto_self,0\ncheckered_flag,0\nmega_man_(character),4\ntsab_ground_military_uniform,0\nvisor_(armor),0\nhands_on_own_stomach,0\nundressing_another,0\ncecilia_alcott,4\ngarnet_til_alexandros_xvii,4\ntwin_turbo_(umamusume),4\nkasumigaoka_utaha,4\nmurata_range,1\npainterly,0\naccel_world,3\nmaou_(maoyuu),4\ncure_white,4\nsparrow,0\nhand_on_own_neck,0\nkimono_lift,0\naki_(girls_und_panzer),4\nfate/requiem,3\nsilent_hill_(series),3\nroy_(fire_emblem),4\nnet,0\nart_nouveau,0\nsugimura_tomokazu,1\nyt_(wai-tei),1\nkanojo_okarishimasu,3\nkanbaru_suruga,4\nlux_(league_of_legends),4\ncardigan_vest,0\nmoona_hoshinova,4\ntwo-tone_headwear,0\nyume_no_owari,1\ngoh_(pokemon),4\nlace_gloves,0\nson_gohan,4\nalastor_(shakugan_no_shana),4\nblew_andwhite,1\nyama_no_susume,3\nlighthouse,0\ngrave,0\ncrazy,0\nten'ou_haruka,4\nyumehara_nozomi,4\nhacka_doll,3\nshiroko_(swimsuit)_(blue_archive),4\ntsukihime_(remake),3\ndeadnooodles,1\nlucy_heartfilia,4\ndenpa_onna_to_seishun_otoko,3\nano_natsu_de_matteru,3\nduster,0\narachne,0\nmulticolored_kimono,0\nkishida_mel,1\narare_(kancolle),4\nowari_no_seraph,3\nfutasub,0\np90,0\nmaka_albarn,4\njingei_(kancolle),4\nhayasaka_ai,4\nbreast_poke,0\nnudist,0\nkotoyoro,0\nsleep_mask,0\nnagato_(azur_lane),4\ntanikaze_(kancolle),4\ntraining_corps_(emblem),0\nbradamante_(fate),4\nvibrator_cord,0\nenty_reward,5\ncropped_arms,0\nkomeshiro_kasu,1\npanty_lift,0\nhat_with_ears,0\nkomusou_(jinrikisha),1\nlamb-oic029,1\nlooking_through_legs,0\ninoue_orihime,4\ngreen_bag,0\nromaji_commentary,5\nbrown_sweater_vest,0\nlambda_(kusowarota),1\ngolf_club,0\nhizuki_yayoi,1\nlenna_charlotte_tycoon,4\nfate/grand_order_arcade,3\nmadou_monogatari,3\ntsurezure_children,3\nbroken_heart,0\ngaou_(umaiyo_puyoman),1\nunusually_open_eyes,0\nnekomusume_(gegege_no_kitarou_6),4\n\\n/,0\napron_lift,0\nbaton_(conducting),0\nacoustic_guitar,0\nsatin_panties,0\nsakuragi_mano,4\nholding_breath,0\nyuzuhara_konomi,4\nnonomi_(blue_archive),4\nplatinum_(arknights),4\nheart_lock_(kantai_collection),0\nishii_hisao,1\nyukataro,1\nbianca_(dq5),4\nyamato_nadeshiko,1\npravda_military_uniform,0\nalternate_wings,0\nsatou_daiji,1\nkusanagi_tonbo,1\nnaked_tabard,0\nallister_(pokemon),4\nwataboushi,0\ntassel_hair_ornament,0\nexhausted,0\nibuki_notsu,1\ncropped_hoodie,0\ncerberus_(helltaker),4\nhinghoi,1\nlillian_girls'_academy_uniform,0\nzabaniyya_(housamo),4\nalice_zuberg,4\nceobe_(arknights),4\nlack,1\nreinforce_zwei,4\ncracked_wall,0\nmikazuki_(kancolle),4\nbralines,0\nrakuen_tsuihou,3\ngreen_capelet,0\ncetacean_tail,0\ntsurumaki_kokoro,4\nscreentones,0\njin_kisaragi,4\nxp-tan,4\nchalice,0\ndenji_(chainsaw_man),4\npine_tree,0\nhilichurl_(genshin_impact),4\ninumuta_houka,4\nucmm,1\nshimazu_yoshino,4\ngrill,0\nhidden_face,0\nmonster_energy,0\nkonnyaku_(kk-monmon),1\nracing_miku,4\ncum_on_legs,0\nromper,0\nomori,3\nnt00,1\nstorefront,0\njirou_kyouka,4\nsnap-fit_buckle,0\nrider_belt,0\ntakoluka,4\nwheelbarrow,0\ngymnastics,0\nmtu_(orewamuzituda),1\nmatsuwa_(kancolle),4\nniwarhythm,1\njouga_maya,4\nkou_mashiro,1\nhand_on_another's_neck,0\nredrawn,5\ntire,0\ntentacles_on_male,0\nproject_moon,3\nwitch_(madoka_magica),0\nchi-hatan_military_uniform,0\naki99,1\nvspo!,3\nsperm_cell,0\nbreast_padding,0\nshirabe_ako,4\nstar_pasties,0\nakashi_(azur_lane),4\ndragon_quest_viii,3\njack_dempa,1\nhimejima_akeno,4\neva_02,4\nkirishima_touka,4\nmiyako_(hidamari_sketch),4\nnanao_yuriko,4\nmahou_shoujo_madoka_magica_movie_1_&_2,3\nblue_bag,0\nholding_saucer,0\ninu_x_boku_ss,3\ncolor_trace,0\nfaris_scherwiz,4\nkichihachi,1\nshoulder_holster,0\nmagukappu,1\nchikorita,4\nke-ta,1\nkondou_taeko,4\nsirius_(azure_horizons)_(azur_lane),4\ngreen_pantyhose,0\npramanix_(arknights),4\nwindowsill,0\npenis_peek,0\npolar_bear,0\ntaihou_(enraptured_companion)_(azur_lane),4\ndimitri_alexandre_blaiddyd,4\nichiba_youichi,1\nsquinting,0\npenis_in_panties,0\nlambdadelta,4\nosaki_tenka,4\nangela_balzac,4\npriest_(ragnarok_online),4\nurethral_insertion,0\nskirt_flip,0\nmonety,1\nbrown_nails,0\nrosario+vampire,3\nanchor_necklace,0\ndressing_another,0\ntrunks_(dragon_ball),4\nstrike_witches:_kurenai_no_majo-tachi,3\nfacing_to_the_side,0\nkisaragi_shintarou,4\nmogudan,1\ndragging,0\nrevy_(black_lagoon),4\nglowing_hair,0\nstruggling,0\ncrime_prevention_buzzer,0\nphoto_inset,0\nmashiro_miru,1\nlyrics,0\ncygames,3\namplifier,0\ntetsu_(kimuchi),1\nhayashiya_zankurou,1\npokemon_rse_(anime),3\nmatsumoto_rangiku,4\nmechanical_eye,0\nhair_cubes,0\nriyo_(lyomsnpmp)_(style),0\nyokoyama_nao,4\nbrown_bra,0\nrobaato,1\nkazano_hiori,4\niroha_(samurai_spirits),4\ncircle_skirt,0\nspaghetti,0\nmasochism,0\ngarchomp,4\nsamuel_b._roberts_(kancolle),4\nsuou_momoko,4\nmurata_himeko,4\nzero_(mega_man),4\nkloah,1\nsutahiro_(donta),1\ngroup_picture,0\nhand_under_shirt,0\nmonomi_(danganronpa),4\npendant_watch,0\nteen_titans,3\nheel_up,0\ncosmic_break,3\nhow_to,0\norange_hoodie,0\nlm_(legoman),1\nyellow_(pokemon),4\nyamada_elf,4\nmoomin,3\nimperial_japanese_army,0\narmpit_cutout,0\nmataro_(matarou),1\nsuigetsu,3\nvibrator_on_nipple,0\nundead,0\naqua_gloves,0\nanchor_choker,0\nwatanabe_akio,1\nanegasaki_nene,4\nlord_el-melloi_ii,4\nrainbow_mika,4\nmole_on_stomach,0\nmultiple_legs,0\nsurcoat,0\nakagashi_hagane,1\njaguar_tail,0\ncorrin_(fire_emblem)_(male),4\ny.ssanoha,1\npectoral_press,0\npokemon_tcg,3\nasahina_mirai,4\ncatchphrase,0\nmamuru,1\nmaria_cadenzavna_eve,4\ntail_ring,0\nmikagami_hiyori,1\npink_ascot,0\ntube_dress,0\nneo_politan,4\nglowing_butterfly,0\noversized_food,0\nyellow_sleeves,0\nmiuku_(marine_sapphire),1\nmumei_(kabaneri),4\nblaze_(arknights),4\ndiego_brando,4\nao_no_exorcist,3\nthermos,0\nnardack,1\nuta_no_prince-sama,3\numekichi,1\nmohammed_avdol,4\nlen'en,3\nkiss-shot_acerola-orion_heart-under-blade,4\nlattice,0\npsychic,0\nrimuru_tempest,4\ncanopy_bed,0\nshin_sangoku_musou,3\nkaraoke,0\nfake_nails,0\nookami_(game),3\nkazama_asuka,4\nzara_(poolside_coincidence)_(azur_lane),4\ncaffein,1\nharada_takehito,1\nbrown_bear_(kemono_friends),4\nparsley-f,1\nfurukawa_(yomawari),1\nstring_bra,0\nseiun_sky_(umamusume),4\ngerman_flag_bikini,0\ndota_(series),3\ngills,0\nprinny,4\nteana_lanster,4\ngold_bikini,0\njeanne_d'arc_alter_(avenger)_(third_ascension)_(fate),4\nehoumaki,0\narms_around_waist,0\nararagi_tsukihi,4\nblack_garter_belt,0\nbath_stool,0\nrolling_suitcase,0\nno_blindfold,0\ncosmog,4\nmerunyaa,1\ngroup_name,0\neyepatch_removed,0\nmulticolored_scarf,0\nyamagishi_fuuka,4\nsakawa_(kancolle),4\nbaka_to_test_to_shoukanjuu,3\npit_(kid_icarus),4\nunamused,0\nojou-sama_pose,0\nhands_on_hilt,0\nchoujikuu_yousai_macross,3\nsciamano240,1\nyellow_raincoat,0\n92m,1\nganguro,0\nunowen,1\nseason_connection,0\nsling,0\ncure_moonlight,4\nyuuji_(yukimimi),1\nleafeon,4\nmamaloni,1\nsilence_(arknights),4\njustice_(helltaker),4\nstained_panties,0\nno_eyepatch,0\nelphelt_valentine,4\ninline_skates,0\nd.gray-man,3\nclub3,1\ngotou_(nekocat),1\nkanpa_(campagne_9),1\nmattari_yufi,1\nfairy_knight_lancelot_(fate),4\naozora_market,1\nsado_(kancolle),4\ncharacter_signature,0\ncoat_removed,0\nmakoto_(street_fighter),4\nhigh_school_dxd_born,3\npigeon,0\nporurin,1\nrounded_corners,0\nleg_wrap,0\nst._theresa's_girls_academy_school_uniform,0\nkira_yoshikage,4\nribbon_braid,0\nhiro_(hirohiro31),1\ntoon_link,4\nandira_(granblue_fantasy),4\nakina_tsukako,1\nwall_clock,0\nshoulder_cannon,0\nblank_speech_bubble,0\nhemogurobin_a1c,1\nmorino_hon,1\nryouka_(suzuya),1\nscar_on_leg,0\nfemale_protagonist_(pokemon_go),4\n7th_dragon,3\nasakaze_(kancolle),4\nanimal_skull,0\nsuper_soaker,0\ndiona_(genshin_impact),4\nsuper_mario_bros._1,3\navatar_(wow),4\ntakamori_aiko,4\nscaramouche_(genshin_impact),4\nm1911,0\nulrich_(tagaragakuin),1\n2008,0\nfemale_saniwa_(touken_ranbu),4\nsitting_on_rock,0\nmysterious_heroine_x_(fate),4\nonion,0\nminakami_(flyingman555),1\nsnowflake_background,0\ncowboy_bebop,3\ntutu,0\ntape_measure,0\nwheat,0\nsenran_kagura_shinovi_versus,3\nnironiro,1\necho_(circa),1\ndanganronpa_another_episode:_ultra_despair_girls,3\naqua_footwear,0\npink_belt,0\ndumpling,0\nkaiou_michiru,4\narm_cuffs,0\nkankan33333,1\njeanne_d'arc_(third_ascension)_(fate),4\nstole,0\nharukaze_(kancolle),4\nsagiri_(kancolle),4\nvertical-striped_panties,0\ngrey_cape,0\nkukie-nyan,1\nthe_ring,3\nkazuma_muramasa,1\nstarbucks,3\nflag_background,0\njellytits-7,1\ninflatable_raft,0\nfrozen,0\ncriis-chan,1\nno_mole,0\ngreen_tea,0\nkotonoha_aoi,4\nmulticolored_fur,0\nnipple_clamps,0\nsucrose_(genshin_impact),4\nbeltskirt,0\nbib,0\nhetza_(hellshock),1\nboa_hancock,4\nscathach_(piercing_bunny)_(fate),4\nkousaka_kirino's_school_uniform,0\npokemon_move,0\nleash_pull,0\nmaneki-neko,0\nizumi_mei,4\nparka,0\nastronaut,0\nusada_hikaru,4\nhau_(pokemon),4\nalpha_(yukai_na_nakamatachi),1\nbrown_choker,0\ndungeon_meshi,3\ndishwasher1910,1\nlightsaber,0\nhanasakigawa_school_uniform,0\narcane:_league_of_legends,3\neden_academy_uniform,0\nbrick_floor,0\ncard_parody,0\nmulti-strapped_panties,0\njizeru_(giselebon),1\ntakeda_harumi_(shiromanta),4\ngarry_(ib),4\nsplatoon_2:_octo_expansion,3\nboy_sandwich,0\nhatted_pokemon,0\npichu,4\ngrass_wonder_(umamusume),4\ncoffee-kizoku,1\nbunching_hair,0\nchrono_cross,3\nmoyazou_(kitaguni_moyashi_seizoujo),1\nyui_(princess_connect!),4\nmutsuki_(moonknives),1\nkappa,0\nyumi_(senran_kagura),4\nkobayakawa_sae,4\nstreet_fighter_ii_(series),3\nmundane_utility,0\nsawamura_spencer_eriri,4\nriichu,1\nzanntetu,1\npaper_crane,0\n3d_background,0\nflareon,4\nwarioware,3\nyamanaka_ino,4\nhornet_(kancolle),4\nadmiral_graf_spee_(azur_lane),4\nsnow_bunny,0\ncat_costume,0\nchinese_new_year,0\norange_goggles,0\nvert_(neptune_series),4\nball_and_chain_restraint,0\nstakes_of_purgatory,0\narinu,1\nsand_castle,0\nbagged_fish,0\nmurasame_kai_ni_(kancolle),4\nchita_(ketchup),1\nsanzen'in_nagi,4\nkisaragi_(azur_lane),4\nevillious_nendaiki,3\ngrenade_launcher,0\nnib_pen_(object),0\nholding_tail,0\ncollared_vest,0\nlitten,4\nmikazuki_akira!,1\nhand_gesture,0\npurple_hoodie,0\nhoneycomb_background,0\nsenjou_no_valkyria_1,3\nmelon,0\nred_fur,0\nhands_on_shoulders,0\nmulticolored_headwear,0\nstats,0\nnatsu_megumi,4\ntaimanin_suit,0\nwallet,0\ntakei_hisa,4\nwatarui,1\nshorts_around_one_leg,0\nkuro_kosyou,1\nlightning_farron,4\nrx-78-2,4\ntasaka_shinnosuke,1\npersona_5_the_royal,3\nflaming_sword,0\nprint_necktie,0\nguts_(berserk),4\nwhite_butterfly,0\ngrey_hairband,0\nkoyorin,1\nominaeshi_(takenoko),1\nexcited,0\nhammock,0\nchicken_(food),0\neureka,4\nstar_guardian_(league_of_legends),0\nagnes_digital_(umamusume),4\nhino_akane_(idolmaster),4\nfinger_biting,0\ntwitter_sample,5\nbicycle_basket,0\nedmond_dantes_(fate),4\nshigino_sohuzi,1\ndota_2,3\nelephant,0\nbrynhildr_(fate),4\nonija_tarou,1\nyunyun_(konosuba),4\nsaru,1\nenergy_drink,0\nmultiple_heads,0\nblack_undershirt,0\nkamukura_izuru,4\nkerchief,0\ngirls_und_panzer_senshadou_daisakusen!,3\nhandstand,0\nsukusuku_hakutaku,0\narm_above_head,0\ntsuchinoko_(kemono_friends),4\nfoliage,0\npannacotta_fugo,4\nuchuu_senkan_yamato_2199,3\ngradient_dress,0\nichigo_hitofuri,4\nkoyama_yuzu,4\nsideways_hat,0\ncum_in_nose,0\ntakakura_himari,4\nherada_mitsuru,1\nunasaka_ryou,1\ncure_peach,4\nfire_emblem_warriors:_three_hopes,3\nspray_can,0\nchar's_counterattack,3\ncredits_page,0\nyamabuki_inori,4\nbean_bag_chair,0\ntakasaki_yuu,4\norange_leotard,0\nwindmill,0\nhinatsuru_ai,4\npurple_neckerchief,0\nsextuplets,0\ntrigram,0\nguzma_(pokemon),4\nluna_nova_school_uniform,0\nkohinata_miku,4\nbeam_saber,0\ndissolving,0\ntype-moon,3\ndokomon,1\nluoxiaohei,4\nlopunny,4\ncartridge,0\nkikumon,0\nass-to-ass,0\nelectrical_outlet,0\noshiete!_galko-chan,3\namazuyu_tatsuki,1\ngogiga_gagagigo,1\nkapatarou,1\nbullying,0\namazon_(taitaitaira),1\nmizumizuni,1\ncondom_belt,0\nyuni_(princess_connect!),4\nkinchaku,0\ngotyou,1\ntanned_cirno,4\namagi_(azur_lane),4\nlicking_armpit,0\nkiki_(majo_no_takkyuubin),4\nfantasy_earth_zero,3\nhairu,1\ninaba_shiki,1\nin_water,0\nprint_sarong,0\ntail_hug,0\nstar_ocean_till_the_end_of_time,3\nhololive_idol_uniform,0\navatar:_the_last_airbender,3\nelizabeth_bathory_(brave)_(fate),4\nmatoi_(pso2),4\ncurtained_hair,0\nsaunders_school_uniform,0\nhair_flowing_over,0\nmoose_(kemono_friends),4\njack-o'_valentine,4\namasora_taichi,1\nzooey_(granblue_fantasy),4\nri-class_heavy_cruiser,4\nyo-yo,0\numanosuke,1\ncartoon_bone,0\nswinging,0\ntall,0\nfur_cloak,0\nnonco,1\nz-ring,0\nharigane_shinshi,1\nkabuto_(helmet),0\nlinked_piercing,0\nkonpaku_youki,4\npetenshi_(dr._vermilion),1\ntongs,0\nizayoi_aki,4\nleaf_umbrella,0\nkouno_hikaru,1\nfamily_crest,0\nsneezing,0\ntoon_(style),0\ndorothea_arnault,4\nzora,0\nmudkip,4\nclothes_tug,0\nhands_on_another's_hips,0\nclothes_between_thighs,0\nakame_ga_kill!,3\nsaber_alter_(ver._shinjuku_1999)_(fate),4\nholding_ribbon,0\ntwo-handed_handjob,0\nsakagami_tomoyo,4\nspeaking_tube_headset,0\nabigail_williams_(third_ascension)_(fate),4\neye_of_horus,0\npurple_gemstone,0\nmaruyama_aya,4\nara_haan,4\npost-apocalypse,0\nbookbag,0\neva_01,4\noomori_yuuko,4\nyuuki_haru,4\nmilla_maxwell,4\nwata_do_chinkuru,1\nnejiri_hachimaki,0\ntengu_mask,0\nmomoko_(momopoco),1\n2007,0\nmeka_(overwatch),0\nbar_stool,0\nhinata_hideki,4\nharime_nui,4\nboxcutter,0\n774_(nanashi),1\nband_uniform,0\ntumblr_username,0\nsenji_muramasa_(fate),4\nsakimori_dan,1\natago_(stunning_speedster)_(azur_lane),4\ncursor,0\nkobuichi,1\njoy-con,0\nibuki_(street_fighter),4\nchrom_(fire_emblem),4\nmeer_campbell,4\nkiku_hitomoji,1\naqua_jacket,0\nsugar_cube,0\ngroup_hug,0\nhand_on_headphones,0\ncapcom_fighting_jam,3\nclothes_theft,0\nbeatrix_(granblue_fantasy),4\nnatalia_(idolmaster),4\nudon_(shiratama),1\nelbows_on_table,0\napple_inc.,3\nbishamonten's_spear,0\njourney_to_the_west,3\nnagara_(kancolle),4\nvariable_fighter,0\nmandarin_collar,0\naoba_moca,4\ncephalopod_eyes,0\noekakizuki,1\ntented_shirt,0\nyear_of_the_dog,0\ngawain_(fate),4\nlong_neck,0\nomikuji,0\nwhite_sports_bra,0\nkagami_mochi,0\nweightlifting,0\ntrish_una,4\neldritch_abomination,0\noni-noboru,1\nminamura_haruki,1\norange_sleeves,0\nn.g.,1\npersonality_switch,0\nshampoo_(ranma_1/2),4\npointy_nose,0\ncutout_above_navel,0\ntea_set,0\nnote,0\nfull_metal_panic!,3\niori_rinko,4\ntakayaki,1\nsenran_kagura_new_wave,3\nkamitsubaki_studio,3\nmisunderstanding,0\nredrop,1\nsora_ginko,4\ndithering,0\ncaitlyn_(league_of_legends),4\ntandohark,1\nwisespeak,1\nryoumen_sukuna_(jujutsu_kaisen),4\nblue_feathers,0\nene_(kagerou_project),4\nsakura_oriko,1\nmassage,0\nmismatched_eyebrows,0\nshoujo_kitou-chuu,0\nmon-musu_quest!,3\nbutterfly_brooch,0\nsaibou_shinkyoku,3\nlegband,0\nfishing_line,0\nsayagata,0\npanties_under_buruma,0\nkeep_out,0\ncart,0\nnipple_bar,0\nmole_on_body,0\nsuper_saiyan_1,0\npizza_slice,0\ncolored_nipples,0\nwardrobe_error,0\nadjusting_panties,0\nmatikane_tannhauser_(umamusume),4\ng36_(girls'_frontline),4\nyumeko_(touhou),4\naki_rosenthal,4\nhayabusa,1\nem_(totsuzen_no_hakike),1\nrakugaki-biyori,1\nini_(inunabe00),1\nhumboldt_penguin_(kemono_friends),4\nhair_dryer,0\npink_cape,0\naqua_bra,0\nkiritto,1\nstrike_the_blood,3\ngalo_thymos,4\ngrey_capelet,0\nsenkawa_chihiro,4\nbb_(swimsuit_mooncancer)_(second_ascension)_(fate),4\nupturned_eyes,0\nnaoe_riki,4\nholding_envelope,0\namerican_flag_print,0\nargyle_sweater,0\nrosmontis_(arknights),4\nhalcon,1\nmika_pikazo,1\nsuper_real_mahjong,3\nlog_horizon,3\ninu_(aerodog),1\ngrand_piano,0\ndragon_quest_ii,3\nzeon,0\nbutter,0\nclown,0\ngod_eater_burst,3\nnanaroku_(fortress76),1\nrita_mordio,4\nornament,0\nsol_badguy,4\nlisbeth,4\nblue_border,0\nmulticolored_footwear,0\nfatal_frame,3\nkurou_(quadruple_zero),1\nanimal_on_arm,0\nnelson_(kancolle),4\npink_border,0\nchin_strap,0\ndouble_fox_shadow_puppet,0\nm200_(girls'_frontline),4\nlizard,0\nmk_(mod0),1\njigoku_shoujo,3\nkopaka_(karda_nui),1\nzheng,1\nkanabun,1\nfloating_cape,0\nmomiji_mao,1\nmikakunin_de_shinkoukei,3\njacket_pull,0\njuice,0\nwhite_day,0\nplatelet_(hataraku_saibou),4\nsephiroth,4\nkasuga_yukihito,1\nryusei_hashida,1\npegasus,0\nfutari_wa_precure_splash_star,3\nkurokoshou_(emuburemu123),1\nblood_in_hair,0\nfeater_(arknights),4\nabigail_williams_(swimsuit_foreigner)_(third_ascension)_(fate),4\nheart_collar,0\ntaokaka,4\noctoling_girl,4\npegasus_knight_uniform_(fire_emblem),0\njapan,0\nyuudachi_(azur_lane),4\ngokkun,0\ncheek_pull,0\nseat,0\ngokotai,4\nkotoba_noriaki,1\ntoaru_majutsu_no_index:_new_testament,3\nsorimachi-doufu,1\nmummy,0\npolka_dot_shirt,0\nphotorealistic,0\nkido_tsubomi,4\nkawata_hisashi,1\nkawakami_rokkaku,1\nhaimura_kiyotaka,1\nprostration,0\npyra_(pro_swimmer)_(xenoblade),4\near_wiggle,0\nnintendo_3ds,0\nbeetle,0\nkorra,4\nmanya_(dq4),4\npagoda,0\nlive_a_hero,3\nshinano_(azur_lane),4\nkamisato_ayato,4\nshashaki,1\nshaking,0\nerubo,1\nsaki_chisuzu,1\nshokudaikiri_mitsutada,4\nplume,0\ndead_master,4\nroon_(azur_lane),4\nlipgloss,0\nbehind_back,0\njeanne_d'arc_(swimsuit_archer)_(first_ascension)_(fate),4\npet,0\nssss.dynazenon,3\nhand_mirror,0\nbazett_fraga_mcremitz,4\nworld_cup,3\nclumsy_nun_(diva),4\ny'shtola_rhul,4\ncalem_(pokemon),4\nshoukaku_(azur_lane),4\nameyama_denshin,1\nseki_(red_shine),1\nlap_pillow_invitation,0\nfloating_scarf,0\ntight_dress,0\nmichael_f91,1\nthe_king_of_fighters_xv,3\nwinding_key,0\nregina_(dokidoki!_precure),4\nkairi_(kingdom_hearts),4\nflower_bracelet,0\nonsoku_inu,1\nyellow_cape,0\nholomyth,0\npopped_button,0\nwhoosaku,1\nmami_mogu_mogu,0\nmifune_miyu,4\ncurren_chan_(umamusume),4\nyuuki_juudai,4\nbreast_cutout,0\nsailor_saturn,4\npinstripe_shirt,0\nrena_erindel,4\npumpkin_hair_ornament,0\nmessy_room,0\nsoviet,0\nheight_chart,0\ngerudo,0\nokazaki_tomoya,4\nmiyase_mahiro,1\nkimmy77,1\ntoe_ring,0\nspiked_choker,0\nsakimori_(hououbds),1\npixiv_fantasia_t,3\nlevitation,0\nmossacannibalis,1\nsubterranean_animism,3\nprint_mug,0\nfish_boy,0\nyamu_(reverse_noise),1\ntomimi_(arknights),4\nclock_eyes,0\nsousou_(sousouworks),1\npokemon_emerald,3\nokita_sougo,4\nhungry,0\nhead_on_chest,0\nmount_fuji,0\ntorture,0\nsplattershot_(splatoon),0\ngame_boy,0\nbeam,0\nnigou,1\nshinapuu,1\nshimmer,1\nferret,0\ningrid_brandl_galatea,4\npectoral_focus,0\ntofuubear,1\nkaine_(nier),4\nfrilled_leotard,0\ncloth,0\nradish,0\nmummy_costume,0\nichikawa_hinana,4\near_protection,0\nniliu_chahui,1\nsekaiju_no_meikyuu_1,3\nhirose_koichi,4\ndiesel-turbo,1\nwizard,0\nnatori_(kancolle),4\nkogitsunemaru,4\nlatex_legwear,0\nlogo_parody,0\npokemon_sv,3\nhuyumitsu,1\norange_skin,0\nsmall-clawed_otter_(kemono_friends),4\ncarmilla_(fate),4\nghost_costume,0\nminotaur,0\nagrias_oaks,4\nsajo_yukimi,4\neirika_(fire_emblem),4\ndrag-on_dragoon,3\nforced_orgasm,0\nagent_aika,3\nmary_(ib),4\ncluseller,1\nsitting_backwards,0\nivy,0\nnumbers_(nanoha),0\njetpack,0\nbook_hug,0\ndock,0\nswire_(arknights),4\npuppy,0\nwakan_tanka,4\ncardigan_around_waist,0\nflower_over_eye,0\npneuma_(xenoblade),4\ntsuji_santa,1\ncrescent_print,0\nring_gag,0\ndialogue_box,0\npurple_horns,0\npokoten_(pokoten718),1\nsauna,0\nmikko_(girls_und_panzer),4\nholding_bucket,0\nmaster_3_(housamo),4\nthick_lips,0\nkuzuryuu_kennosuke,1\nkuki_shinobu,4\njoy_ride,1\ntaihou_(forbidden_feast)_(azur_lane),4\nokobo,0\ndragon_ball_super_broly,3\nminato_ojitan,1\ntsukumo_(soar99),1\nbody_armor,0\nyoujo_senki,3\nseijun,1\nmeltryllis_(swimsuit_lancer)_(second_ascension)_(fate),4\nlavinia_whateley_(fate),4\nstrapless_bottom,0\nmikan_(chipstar182),1\nsleeve_grab,0\ndiving,0\nsteak,0\nbear_tail,0\nsatanichia_kurumizawa_mcdowell,4\nsickle,0\ncrowbar,0\ntokyo_revengers,3\nosiimi,1\ngreen_sclera,0\npov_across_table,0\npixiv_fantasia_fallen_kings,3\ndog_penis,0\ncream_on_face,0\nneck_tassel,0\ngunblade,0\nyamamura_sadako,4\nnitocris_(swimsuit_assassin)_(fate),4\nbattleship,0\noonusa,0\nholding_ladle,0\nakaboshi_koume,4\nnoble_witches,3\npekeko_(pepekekeko),1\ncure_heart,4\nnogi_takayoshi,1\nmast,0\nacerola_(pokemon),4\ninami_mahiru,4\ncharlotte_(anime),3\nwhite_sarong,0\nammunition_pouch,0\ngate_-_jieitai_ka_no_chi_nite_kaku_tatakaeri,3\nkuro_suto_sukii,1\nvsinger,3\nwhite_rabbit_(alice_in_wonderland),4\nwrong_feet,0\nshin_(new),1\nen'en_no_shouboutai,3\nst._louis_(luxurious_wheels)_(azur_lane),4\nsetsuna_f._seiei,4\n9law,1\nhelltaker_(character),4\nblue_sarong,0\ntennouji_rina,4\ningo_(pokemon),4\nair_groove_(umamusume),4\nhanami,0\ncure_rhythm,4\nvane_(granblue_fantasy),4\nad,0\noshino_ougi,4\nfilia_(skullgirls),4\nwooden_chair,0\nkiwi_(fruit),0\nnearl_(arknights),4\nmudou_eichi,1\nmarumikan,1\nbraixen,4\ncuriosities_of_lotus_asia,3\nisobe_noriko,4\ntrack_uniform,0\nfrench_flag,0\nhori_(hori_no_su),1\npussy_juice_drip_through_clothes,0\niori_(blue_archive),4\nrune_factory,3\nmodel_kit,0\nmitre,0\nkeizoku_school_uniform,0\nmaid_day,0\nnaomi_(girls_und_panzer),4\npolka_dot_ribbon,0\nimplied_fellatio,0\ndragon_boy,0\ndress_swimsuit,0\nsonia_nevermind,4\nelizabeth_bathory_(first_ascension)_(fate),4\nkazami_yuuka_(pc-98),4\nmeta_knight,4\nharuno_haruka,4\ninazuma_eleven_go_galaxy,3\nmoyoron,1\n40hara,1\nsuper_creek_(umamusume),4\nnikka_edvardine_katajainen,4\nkishida_shiki,1\nbuster_sword,0\nskull_necklace,0\ntears_of_themis,3\nme-tan,4\nextra_faces,0\nsirius_(scorching-hot_seirios)_(azur_lane),4\nflower_necklace,0\nsolid_circle_pupils,0\nshared_object_insertion,0\nfujisaki_hikari,1\nelesis_(elsword),4\nenemy_naval_mine_(kancolle),4\nberry_(pokemon),0\nstar_tattoo,0\nmuririn,1\npaul_bunyan_(fate),4\ntoudou_yurika,4\nrou-kyuu-bu!,3\nknotted_penis,0\nkikuzuki_(kancolle),4\neunectes_(arknights),4\njockstrap,0\nyuigaoka_school_uniform,0\nmash_kyrielight_(swimsuit_of_perpetual_summer),4\nlina_inverse,4\nkojima_saya,1\ninfinity,0\nbelldandy,4\nt2r,1\nnora_higuma,1\nbikini_shorts,0\nthrowing_knife,0\nryuu_ga_gotoku_(series),3\nculter,1\nfood-themed_earrings,0\ncleave_gag,0\nmother_3,3\nsf-a2_miki,4\nkariya_masaki,4\nx-shaped_pupils,0\nrei_no_pool,0\nhitodama_print,0\nancesra,1\njill_stingray,4\nhagoromo_lala,4\nseal_(animal),0\nevil,0\nmmm_threesome,0\nclothesline,0\nbox_of_chocolates,0\nboushi-ya,1\nnikaidou_saki,4\nhead_on_hand,0\ntesticle_grab,0\nsilver_dress,0\nhimajin_noizu,1\neye_black,0\nswordsouls,1\ncaliburn_(fate),0\nswastika,0\nonegai_my_melody,3\nisolated_island_oni,4\nmulticolored_stripes,0\nmokufuu,1\nsainan_high_school_uniform,0\ncross-laced_legwear,0\nnarita_brian_(umamusume),4\npink_fur,0\nkotobuki_(tiny_life),1\nalolan_vulpix,4\nshell_necklace,0\nrebecca_(cyberpunk),4\nhoshino_ruri,4\nreinforce,4\neretto,1\nuneven_twintails,0\nserial_experiments_lain,3\nlowleg_skirt,0\nsock_pull,0\nmosho,1\nhunter_(bloodborne),4\ndinergate_(girls'_frontline),4\ndragonfly,0\nking_halo_(umamusume),4\nmae_(maesanpicture),1\nerror_musume,4\nlicking_foot,0\nanimal_ear_headwear,0\nsion_eltnam_atlasia,4\nsparkle_print,0\nmitya,1\narmy,0\ncondom_box,0\nsolid_eyes,0\ngundam_build_divers_re:rise,3\nceles_chere,4\nsd_gundam,3\nhands_on_ground,0\nyear_of_the_pig,0\ntouwa_erio,4\ncool-kyou_shinja,1\nfinana_ryugu,4\nsazaki_ichiri,1\nharusame_(unmei_no_ikasumi),1\ndark_sakura,4\ntouching,0\nepic_seven,3\nexpression_chart,0\nreisen_(touhou_bougetsushou),4\nplatinum_the_trinity,4\nosashin_(osada),1\nrei_(rei's_room),1\ntotokichi,1\naoki_(fumomo),1\nbutterfly_sitting,0\nabe_kanari,1\ng_(genesis1556),1\nganbare_douki-chan,3\nmatoba_risa,4\nnarita_taishin_(umamusume),4\nmerlin_(fate/prototype),4\noversized_limbs,0\ntorriet,1\nfat_rolls,0\nshiina_mayuri,4\nshiratama_(shiratamaco),1\ndouluo_dalu,3\ntime_bokan_(series),3\nheracles_(fate),4\ntakumi_(fire_emblem),4\nmomo_no_sukebe,1\nfujimaru_ritsuka_(male)_(polar_chaldea_uniform),4\nhook,0\nhair_between_breasts,0\nmosha,1\ngalaxy,0\nyamper,4\nat_classics,1\nteam_fortress_2,3\nno-kan,1\nankle_grab,0\niwashi_dorobou_-r-,1\nmat,0\ntriplets,0\nkinkymation,1\nyellow_sky,0\nkirisawa_juuzou_(character),4\nrabbit_costume,0\nheaven's_feel,3\nakita_neru,4\ni-13_(kancolle),4\nhospital_gown,0\nbetween_toes,0\nholding_cane,0\nguard_rail,0\nbouncing_ass,0\nbreath_of_fire_ii,3\nsitting_on_bench,0\nigarashi_kyou_(eroe),4\nkabocha_torute,1\nkawashima_ami,4\nsoukou_akki_muramasa,3\nyamato_(one_piece),4\nhomu,0\nnorasuko,1\nholding_own_foot,0\nbox_art,0\ngenyaky,1\nleonardo_da_vinci_(rider)_(fate),4\nprototype,0\nchocobo,4\nichinose_kotomi,4\nleather_pants,0\nknight_(chess),0\ncrawling,0\nmartial_arts_belt,0\nkuzuha_(nijisanji),4\nroboco-san,4\nkyuudou,0\n2k-tan,4\nsatou_shouji,1\nsewing,0\nacorn,0\nvacuum_cleaner,0\nokinami_(kancolle),4\ntitan_(shingeki_no_kyojin),4\nzucchini,1\non_motorcycle,0\nzuikaku_(azur_lane),4\nyamada_aoi,4\nhoshino_(girls_und_panzer),4\nabsolutely_everyone,0\nmakai_senki_disgaea_2,3\nkagematsuri,1\nbrown_tail,0\nirako_(kancolle),4\ndeco_(geigeki_honey),1\nprojekt_red_(arknights),4\nkusugawa_sasara,4\npool_of_blood,0\nfeldt_grace,4\ngashi-gashi,1\nsuicide,0\nturn_a_gundam,3\nnyan,0\njun_(seojh1029),1\nsakimiya_(inschool),1\ndream_soul,0\nfolded_hair,0\nooarai_(emblem),0\nshinonome_nano,4\nteacher_and_student,0\nsalad,0\ninkwell,0\nlong_earlobes,0\nhong_(white_spider),1\nmiracle_mallet,0\norange_vest,0\nmuuran,1\nenma_ai,4\nfukuda_haru,4\naqua_neckerchief,0\nlace_choker,0\nyurigaoka_girls_academy_school_uniform,0\ngreek_clothes,0\ntwo-tone_bow,0\nkisetsu,1\ni.u.y,1\nabove_clouds,0\nflower_tattoo,0\npants_tucked_in,0\naurora,0\nnakasu_kasumi,4\nsplatoon_3,3\nfoot_hold,0\ngreen_socks,0\nsumeragi_kohaku,1\nmashiro_yukiya,1\nk_hiro,1\ncrescent_rose,0\nlong_toenails,0\nutsumi_erice,4\nsocha,1\nholding_head,0\nyusa_kozue,4\nwhiskey,0\naffectionate,0\nzankuro,1\nitalian_text,0\npossessed,0\ntomioka_giyuu,4\nwaifu2x,5\nblack_hanekawa,4\nalternate_pectoral_size,0\nholding_letter,0\ncherry_hair_ornament,0\nraichu,4\nsengoku_musou,3\nmimonel,1\nmononoke_hime,3\nbunny_hat,0\nseiru_(prairie),1\n1970s_(style),0\nshared_speech_bubble,0\nhoshi_san_3,1\nstheno_(fate),4\nsemiramis_(fate),4\nmamerakkkkko,1\nsadism,0\nsora_no_otoshimono,3\nyu-gi-oh!_zexal,3\nfidgeting,0\npink_sky,0\nisshi_pyuma,1\npuru-see_(hoshizuki_(seigetsu)),4\ntanya_degurechaff,4\nsen_to_chihiro_no_kamikakushi,3\nyuri_sakazaki,4\nmodare,1\ngrimoire_of_alice,0\nmelon22,1\npochi_(pochi-goya),1\nroxie_(pokemon),4\npink_eyeshadow,0\nerika_(pokemon),4\nkurikara,1\nmewtwo,4\notokura_yuuki,4\nvi_(league_of_legends),4\ngreen_eyeshadow,0\npumpkin_hat,0\nlong_tail,0\ncola,0\nkodomo_no_jikan,3\nkneesocks_(psg),4\ntakimoto_hifumi,4\njabara_tornado,1\nstar_fox,3\nfuya_(tempupupu),1\npomu_rainpuff,4\ncheckered_shirt,0\ntsukimiya_ayu,4\nfujimaru_ritsuka_(female)_(polar_chaldea_uniform),4\nparrot,0\niwakura_lain,4\ngrandia,3\nblack_heart,4\nzun_(style),0\nyellow_tank_top,0\ndetached_hair,0\nsplatter,0\nmasu,0\nsatake_minako,4\nsophie_(tales),4\naragaki_shinjirou,4\nkickboard,0\ngoldenglow_(arknights),4\nneko_majin,1\nburuma_aside,0\ng41_(girls'_frontline),4\nroke_(taikodon),1\nkaga3chi,1\nrhodes_island_logo,0\nfacebook_username,0\nibuki_tsubasa,4\nyellow_one-piece_swimsuit,0\nasbel_lhant,4\numishima_senbon,1\nfuzichoco,1\nglove_biting,0\nkawakami_mai,4\nsquall_leonhart,4\ncontrast,0\nsei_shounagon_(fate),4\nmysterious_heroine_x_alter_(first_ascension)_(fate),4\nyappen,1\nhibiki_(zerocodo),1\nizayoi_liko,4\nhirano_katsuyuki,1\nhentai_ouji_to_warawanai_neko.,3\nfishnet_bodysuit,0\npixiv_username,0\nbokura_wa_ima_no_naka_de,0\narona_(blue_archive),4\nkanaria,4\nkonpeto,1\nself_hug,0\ngomtang,1\nbulletin_board,0\nkoumajou_densetsu,3\nperth_(kancolle),4\nhair_lift,0\ngasai_yuno,4\nin_palm,0\nshindan_maker,0\nimplied_yaoi,0\ntakane_lui,4\nnaked_cloak,0\nhair_on_horn,0\nmorgana_(persona_5),4\nsolid_snake,4\nkuradoberi_jam,4\naoi_(annbi),1\nshishio_chris,4\nkonno_tohiro,1\nraptor7,1\ntenjou_utena,4\nkirlia,4\nwatching_television,0\nhakurei_shrine,0\ndaiaru,1\ndo_m_kaeru,1\nsage_(dq3),4\nthe_iron_of_yin_and_yang,3\norange_cape,0\nkurosaki_ichigo,4\nprincess_of_moonbrook,4\nsand_cat_(kemono_friends),4\nhibiki_(blue_archive),4\nyosuga_no_sora,3\noberon_(fate),4\nnatsuki_teru,1\nryugasaki_rene,4\nhimekawa_yuki,4\nblack_clothes,0\nsevered_limb,0\nmulticolored_hairband,0\nwatercolor_pencil_(medium),0\ndonkey_kong_(series),3\nyuusha_to_maou,3\nyasuyuki,1\nwhite_armor,0\nstone_stairs,0\nlyre,0\ncorrupted_metadata,5\ncheria_barnes,4\nfingersmile,0\nsussurro_(arknights),4\nafterglow,0\ncalligraphy_brush_(medium),0\nlapras,4\ntying,0\nseishou_elementary_school_uniform,0\nyuzuna99,1\ndigital_dissolve,0\nbehind-the-head_headphones,0\nwixoss,3\nsilence_girl,1\nmochizuki_anna,4\npunishing:_gray_raven,3\nspanish_commentary,5\nmeta,0\nhanasaku_iroha,3\nperfume_bottle,0\noil,0\nchamaji,1\ncast,0\nkuroboshi_kouhaku,1\nheart-shaped_eyes,0\nroll_caskett_(mega_man),4\nzen33n,1\nfumitan_(humitan),1\nmoke_ro,1\nalena_(dq4),4\nmoose_ears,0\nmakuran,1\nnijimura_okuyasu,4\npropeller_hair_ornament,0\nbikini_bottom_removed,0\nfocused,0\nperfect_cherry_blossom,3\nh&k_ump,0\nworld_is_mine_(vocaloid),3\nbb_(swimsuit_mooncancer)_(third_ascension)_(fate),4\nyumeno_himiko,4\nlance_(pokemon),4\nako_(blue_archive),4\nkissing_penis,0\n23_(real_xxiii),1\npendulum,0\nsekaiju_no_meikyuu_3,3\nribbon-trimmed_headwear,0\nmogami_shizuka,4\nmordred_(swimsuit_rider)_(fate),4\njoystick,0\ntendou_akane,4\nmutual_masturbation,0\nblack_keys_(type-moon),0\nbag_of_chips,0\nshamoji,0\nsakata_kintoki_(fate),4\nrhea_(fire_emblem),4\nitou_yuuji,1\nmole_on_cheek,0\ncovering_one_breast,0\nnakagawa_natsuki,4\nbaby_bottle,0\nhasegawa_kobato,4\nsoap_bottle,0\nhoshimiya_kate,4\ngreen_scrunchie,0\nmusical_note_print,0\narataki_itto,4\nle_malin_(listless_lapin)_(azur_lane),4\nbroken_window,0\npink-tinted_eyewear,0\njason_(kaiten_kussaku_kikou),1\nyanagi_(nurikoboshi),1\nhinata_channel,3\nfujimura_taiga,4\nteam_skull,0\nadjusting_necktie,0\nnoripachi,1\nmichairu,1\nqp:flapper,1\nfukuji_mihoko,4\nfutatsuki_hisame,1\njuurouta,1\nholding_jewelry,0\ndouble_horizontal_stripe,0\nkasuga_ayumu,4\nno_jacket,0\nkumiko_shiba,1\njoestar_birthmark,0\nshoujo_shuumatsu_ryokou,3\natdan,1\nheart_on_chest,0\ntooth,0\ntakana_shinno,1\ncure_sword,4\nvietnamese_dress,0\notonashi_yuzuru,4\nrikatan,1\nsister_cleaire,4\ncandlelight,0\nnahaki,1\ntwo-sided_dress,0\narc_the_lad,3\nduel_disk,0\nkamen_rider_w,3\nblue_tank_top,0\nnanashiro_gorou,1\nsuisei_no_gargantia,3\ndopey_(dopq),1\ngrecale_(kancolle),4\nboota_(ttgl),4\nsymbolism,0\nnekomiya_hinata,4\nshinshuu_maru_(kancolle),4\nwarrior,0\nyuri_(doki_doki_literature_club),4\ntrack_and_field,0\nthe_king_of_fighters_xiv,3\ngolden_snub-nosed_monkey_(kemono_friends),4\ncurled_fingers,0\nkasuga_maru_(kancolle),4\ndekomori_sanae,4\ngun_to_head,0\nryuzaki_kaoru,4\nsatou_kuuki,1\nhand_over_eye,0\ngoto_p,1\nnatsu_(anta_tte_hitoha),1\nmatsuda_(matsukichi),1\nshinshin,1\nmale_hand,0\npanicking,0\nselvaria_bles,4\nno_mask,0\njacket_over_swimsuit,0\nhashitsuki_nata,0\nx,0\nmilky_way,0\ncrewmate_(among_us),4\nshotgun_shell,0\nschool_days,3\nkobayashi_chisato,1\nigote,0\nness_(mother_2),4\nsako_(bosscoffee),1\nsingle_epaulette,0\nfirst_aid_kit,0\nsyrup,0\nflapping,0\nakuma_no_riddle,3\nimplied_fingering,0\nholding_another's_hair,0\nyuki_arare,1\ngreen_tail,0\nkaiga,1\nkaze_no_tani_no_nausicaa,3\narthropod_limbs,0\nmega_man_battle_network,3\nyuel_(granblue_fantasy),4\nbaffu,1\nstudded_collar,0\nkotegawa_yui,4\njirachi,4\ncum_in_container,0\nelectric_plug,0\nblob,0\nmilitary_helmet,0\nfalling_feathers,0\nnose_ring,0\nruffle_compatible,5\nincoming_kiss,0\nmuzzle_flash,0\nshrimp_tempura,0\neaster,0\ncyrillic,0\npokemon_usum,3\nnew_jersey_(azur_lane),4\nsky_print,0\nkyoukai_no_kanata,3\nanimare,3\nhitotsuki_nebura,1\nmakicha_(sasurainopink),1\nkishinami_(kancolle),4\nholding_skull,0\nbust_cup,0\nbreaking,0\nfist_bump,0\nclaymore,3\ngroom,0\npurple_ascot,0\nabmayo,1\nqr_code,0\nbreast_milk,0\norihara_izaya,4\naono_miki,4\nhospital,0\nwalking_on_liquid,0\nsunnysideup,1\nbike_shorts_under_shorts,0\nbison_cangshu,1\ndiavolo,4\npineapple,0\nneki_(wakiko),1\nwhip_marks,0\nage_comparison,0\nishikkoro,1\npink_umbrella,0\narmpit_sex,0\ncat_bag,0\nkoi,0\nkano_shuuya,4\ndoraemon_(character),4\namestris_military_uniform,0\nporonegi,1\nriza_hawkeye,4\ntaimanin_yukikaze,3\nshinoasa,1\nnakajima_yuka,1\nvery_wide_shot,0\nryuuichi_(f_dragon),1\nfloating_book,0\nkashu_(hizake),1\ngesugao,0\nafuro_terumi,4\nspade_hair_ornament,0\nak-47,0\nerza_scarlet,4\nhardhat,0\ningrid_(capcom),4\nscheherazade_(fate),4\nhigashikata_josuke_(jojolion),4\nimplied_masturbation,0\nunconventional_media,0\nprocreate_(medium),5\nhappiness!,3\njude_mathis,4\npop-up_story,3\nyes!_precure_5_gogo!,3\ncrazy_straw,0\nwu_zetian_(fate),4\nfiery_wings,0\ngroceries,0\ngod_eater_2:_rage_burst,3\nteeth_hold,0\ntesticle_sucking,0\ngoat,0\nyamakasa,0\npokemon_bw_(anime),3\nkobayashi_(maidragon),4\npersona_4:_the_ultimate_in_mayonaka_arena,3\nmanatsu_no_yo_no_inmu,3\nfroggy_nun_(diva),4\nblue-tinted_eyewear,0\nsweaty_clothes,0\nlili_(tekken),4\nnew_horizon,3\nmisumi_(niku-kyu),1\nsling_bikini_top,0\nsans,4\nfinger_sucking,0\nsaren_(summer)_(princess_connect!),4\ncopy_ability,0\ncraft_essence_(fate),0\nar_tonelico_ii,3\nslim_legs,0\nmew,4\nchen_(cat),4\nmizuryu_kei,1\npointing_at_another,0\nguin_guin,1\nchikuwa.,1\nbarbariank,1\nqueen_elizabeth_(azur_lane),4\nbound_together,0\ncrane_(animal),0\njungle,0\nscylla,0\nganondorf,4\nchocola_(nekopara),4\nuehara_himari,4\npopqn,1\nkiyama_satoshi,1\nballpoint_pen_(medium),0\nsuzuki_jun,4\nrifyu,1\nmedallion,0\niruma_miu,4\npelt,0\nigarashi_kyoko,4\n9a-91_(girls'_frontline),4\njeanne_d'arc_(granblue_fantasy),4\nblazblue:_chronophantasma,3\nilulu_(maidragon),4\nkatagiri_sanae,4\nwakamezake,0\nshun_(blue_archive),4\nshope,1\nunfastened,0\nyamashichi_(mtseven),1\nsugimoto_saichi,4\nsheffield_(azur_lane),4\nmarshmallow,0\ncat_mask,0\nshimokirin,1\nmermaid_melody_pichi_pichi_pitch,3\nat2.,1\nmaya_kai_ni_(kancolle),4\nthoma_(genshin_impact),4\nryuusei_(mark_ii),1\nbathrobe,0\nofficial_alternate_hair_length,0\nyukoku_kiriko,4\nblue_poison_(shoal_beat)_(arknights),4\nhakurei_reimu_(pc-98),4\nuchi_emiri,4\nfuuzasa,1\nkuro_chairo_no_neko,1\nfood_art,0\nsuminagashi,1\ngetou_suguru,4\ndissolving_clothes,0\namami_rantarou,4\npower_connection,0\nbiwa_lute,0\nklan_klein,4\nvampy,4\nskeleton_print,0\ncamouflage_headwear,0\nchikan,0\nno_legs,0\nsimoun,3\nanimal_slippers,0\ntamagoyaki,0\nlielos,1\nnunnally_lamperouge,4\nkamizono_(spookyhouse),1\nmefomefo,1\nfennekin,4\nsonohara_anri,4\nsanada_akihiko,4\nbococho,1\ngrey_bodysuit,0\nblue_shawl,0\ntokyo-3_middle_school_uniform,0\njean_bart_(azur_lane),4\nbowler_hat,0\ntoutetsu_yuuma,4\nnakoruru,4\nsoldier_(dq3),4\nshikushiku_(amamori_weekly),1\ngalko,4\nfukawa_touko,4\nstile_uniform,0\nogata_hyakunosuke,4\nvolcano,0\ncrumbs,0\ncheckered_dress,0\nkuga_natsuki,4\nbad_yandere_id,5\nlove_hina,3\nmei_(maysroom),1\nspider-man,4\nblue_bandana,0\nweasel_ears,0\nnecktie_removed,0\nink_(medium),0\nuni_(neptune_series),4\njessica_albert,4\nblood_bag,0\nre:creators,3\nplatform_boots,0\nhei_(darker_than_black),4\nsheik,4\nbc_freedom_school_uniform,0\nwhite_bird,0\nrewrite,3\ncellphone_charm,0\narano_oki,1\nwing_ears,0\narle_nadja,4\nyatadera_narumi,4\npoison_(final_fight),4\ntomoe_gozen_(swimsuit_saber)_(fate),4\ndirt,0\nyuzu_momo,1\nexploding_clothes,0\nexposed_pocket,0\neldridge_(azur_lane),4\ntwo-sided_skirt,0\nwild_arms_2,3\nformation_girls,3\nmibu_natsuki,1\ntoe-point,0\nkoutaro,1\ncutlass_(girls_und_panzer),4\nyoutube,3\nmultiple_moles,0\nmorgiana,4\ntorisan,1\nsiro_(dennou_shoujo_youtuber_siro),4\ndennou_shoujo_youtuber_siro,3\nyamabukiiro,1\nkiyohime_(swimsuit_lancer)_(fate),4\nlicking_ear,0\nout_of_character,0\nshrugging,0\nthrough_screen,0\namazon_(dragon's_crown),4\nmidway_princess,4\nma_rukan,1\nhead,0\nuni8,1\naikawa_ryou,1\ndarkmaya,1\nflat_chest_grab,0\notaku,0\nflying_teardrops,0\nkamio_reiji_(yua),4\nray_gun,0\ncaryo,1\nkamen_rider_revice,3\nnanoless,1\nroundel,0\ngrey_wings,0\ncheckered_legwear,0\nsenomoto_hisashi,1\nrape_face,0\nprotecting,0\nvaria_suit,0\njust_the_tip,0\npotara_earrings,0\nhoney_strap,3\ntama_(tamago),1\nwrist_bow,0\ngentsuki,1\ngwen_stacy,4\nbrown_flower,0\navengers_(series),3\nnakatani_nio,1\ngivuchoko,1\npubic_stubble,0\nzyugoya,1\nuranaishi_(miraura),1\nshogi,0\nphoenix,0\nwebbed_hands,0\nchef,0\neuphemia_li_britannia,4\nnamaniku_atk,1\nstarlight_academy_uniform,0\ncapriccio,1\nnihonga,0\nkaizuka_inaho,4\nmaki_(seventh_heaven_maxion),1\nqueen's_gate,3\nkirisame_marisa_(cosplay),0\ngravity_daze,3\nnecro_(nekurodayo),1\nminazuki_karen,4\nkanshou_&_bakuya_(fate),0\nartoria_caster_(second_ascension)_(fate),4\ngreenteaneko,1\nnegev_(girls'_frontline),4\nhatake_kakashi,4\nshnva,1\nfloating_weapon,0\nsonson_(eleven),1\nmizuumi_(bb),1\nchi-class_torpedo_cruiser,4\nprint_sleeves,0\nmel_(melty_pot),1\ngorou_(genshin_impact),4\nriven_(league_of_legends),4\nxiujia_yihuizi,1\ngensoukoumuten,1\nharano,1\nkomone_ushio,1\nyear_of_the_rooster,0\nmedusa_(lancer)_(fate),4\ncura,1\nguardian_tales,3\nholding_money,0\ntakasu_ryuuji,4\nobject_on_breast,0\nholding_beachball,0\nbraiding_hair,0\nstar_ocean_anamnesis,3\nblood_on_arm,0\npixelated,0\nokita_j._souji_(fate),4\nhogwarts_school_uniform,0\nhizuki_akira,1\nwakaba_(kancolle),4\nnagase_haruhito,1\nmatsukaze_tenma,4\nexercise_ball,0\nrengoku_kyoujurou,4\nsailor_chibi_moon,4\nkairunoburogu,1\none-piece_thong,0\nrestroom,0\nelysia_(honkai_impact),4\noboro_muramasa,3\nmayo_riyo,1\nbee,0\notter_tail,0\nusekh_collar,0\nsitting_on_shoulder,0\noptimus_prime,4\neel,0\nseatbelt,0\nnameo_(judgemasterkou),1\nisshiki_iroha,4\nlunamaria_hawke,4\nbunny_day,0\nflcl,3\nhayashi_custom,1\ngolden_arms,0\nyuuno_scrya,4\nduckling,0\ncattail,0\nrenkin_san-kyuu_magical_pokaan,3\ngmkj,1\noriginium_arts_(arknights),0\nchara_(undertale),4\ntwo-finger_salute,0\nroy_mustang,4\nsingle_head_wing,0\nohta_yuichi,1\neris_greyrat,4\nsixteenth_note,0\nsaijo_juri,4\nkaname_madoka_(cosplay),0\nshimaidon_(sex),0\nousaka_shizuku,4\nlicking_breast,0\nnijiura_maids,3\nbacius,1\nflail,0\nnekobungi_sumire,1\nuni_mate,1\nred_tail,0\nleone_abbacchio,4\nutage_(arknights),4\nconverse,0\ntambourine,0\nsoft_serve,0\nnipple_pull,0\nhair_color_connection,0\nakashio_(loli_ace),1\nrpk-16_(girls'_frontline),4\nejami,1\nmushi024,1\nbefore_and_after,0\nmikoyan,1\nhand_wraps,0\nmishaguji,4\nwelt_(kinsei_koutenkyoku),1\nfu-ta,1\nsuper_pochaco,4\nsilva_(granblue_fantasy),4\ntonari_no_totoro,3\nmega_man_zx,3\nwaving_arms,0\nluma_(mario),4\nperson_on_head,0\nghost_pose,0\ncompass,0\nlance_of_longinus,0\ntama_(tamatamo),1\nnottytiffy,1\nnagare,1\njeanne_d'arc_(swimsuit_archer)_(second_ascension)_(fate),4\nmeasuring,0\nfront_zipper_swimsuit,0\nveiny_arms,0\nmilitary_operator,0\nazusa_(blue_archive),4\nkyouda_suzuka,1\nudagawa_tomoe,4\ncracked_floor,0\nmultitasking,0\nstuffed_penguin,0\ngekota,4\nkobayakawa_rinko,4\ngermany,0\nmissile_pod,0\nshell_hair_ornament,0\nsitting_on_table,0\nnishimata_aoi,1\nrioshi,1\nshugo_chara!,3\nbamboo_blade,3\nmidriff_sarashi,0\nmasayo_(gin_no_ame),1\ndrugged,0\nberetta_92,0\nrabbit_on_head,0\ngreninja,4\nrough_sex,0\nmichii_yuuki,1\npatchwork_clothes,0\nzuwai_kani,1\nalternate_hair_ornament,0\nvanilla_(nekopara),4\nspider-man:_into_the_spider-verse,3\nhorseshoe,0\ntekken_7,3\nunderbutt,0\nvisual_novel,0\nsamson_(skullgirls),4\nken_masters,4\nbarry_(pokemon),4\ntable_sex,0\nwokada,1\nerwin_(girls_und_panzer),4\nweapon_bag,0\nalice_cartelet,4\nushizaki_urumi,4\nkame_(kamepan44231),1\ncrotch_grab,0\nmale_underwear_pull,0\nmultiple_torii,0\nutsugi_yuuki,4\nerere,1\nliang_xing,1\nmeimaru_inuchiyo,1\nhyrule_warriors,3\nsewayaki_kitsune_no_senko-san,3\nsquare_enix,3\nmacross_7,3\nhomura_subaru,1\nysys,1\nhyuuga_azuri,1\nmisu_kasumi,1\nflonne,4\nside-tie_peek,0\nshamal,4\ntsuyuri_kanao,4\npaw_print_pattern,0\nfanning_self,0\ncolored_stripes,0\nfrog_girl,0\nclownfish,0\nsaigusa_haruka,4\nyukichi_(eikichi),1\nidentity_v,3\nneck_garter,0\nemoticon,0\nnail_bat,0\nloaded_interior,0\natelier_totori,3\ncuboon,1\ndestroyer_princess,4\nkotatsu_(g-rough),1\nkaryl_(summer)_(princess_connect!),4\nsingle_ear_cover,0\nbolt,0\nfront-print_panties,0\nmizutani_eri,4\nsmall_nipples,0\ntrafalgar_law,4\nplaid_ribbon,0\ntoyokawa_fuka,4\nvyrn_(granblue_fantasy),4\nmagical_boy,0\nblue_umbrella,0\nyozora_mel,4\nused_condom_on_penis,0\ncharacter_age,0\nknives_between_fingers,0\nraven_(dc),4\npiyokichi,1\notter,0\nnagami_yuu,1\npizza_box,0\nafrican_wild_dog_(kemono_friends),4\nwide_face,0\nminase_nayuki,4\nhayasaka_mirei,4\nizuna_(blue_archive),4\napartment,0\nmicro_bra,0\ncaro_ru_lushe,4\npinstripe_suit,0\nchandelure,4\nwarning_sign,0\naegir_(azur_lane),4\ncum_on_glasses,0\nsayo_samonji,4\nhyakumantenbara_salome,4\ncarapace,0\npurple-tinted_eyewear,0\nbreasts_on_table,0\nsen_(astronomy),1\nsukja,1\ncan't_be_this_cute,0\nlistening_to_music,0\ninfinote,1\ntakiki,1\nhoodie_lift,0\nfelyne,4\nwhislash_(arknights),4\nenergy_beam,0\nmikazuki_yozora,4\nscoop_neck,0\nshirasagi_chisato,4\nishuzoku_reviewers,3\narms_between_legs,0\nsaint_quartz_(fate),0\ndilation_tape,0\nuzuki_sayaka,4\nkumadano,1\nvahn_yourdoom,1\nbathhouse,0\ntakaharu,1\nfrilled_sailor_collar,0\nmagallan_(arknights),4\ncian_yo,1\ndikko,1\nbridal_legwear,0\nkingdom_hearts_ii,3\npig_ears,0\nastolfo_(saber)_(fate),4\nasahina_aoi,4\nasuna_(sao-alo),4\nmagic_knight_rayearth,3\nkittysuit,0\nhalf-skirt,0\namane_hasuhito,1\nmiwa_shirow,1\nhekiga_(freelot),1\nvalkyrie_profile,3\ntail_around_leg,0\ngray_(fate),4\ngae_dearg_(fate),0\nagainst_railing,0\npaizuri_invitation,0\nmikozin,1\ngraf_eisen,4\nblue_pupils,0\nmatsubara_kanon,4\nbigrbear,1\nannouncement_celebration,0\nkarory,1\nbismarck_(azur_lane),4\ncrocodilian,0\ncensored_text,0\narrancar,0\nchloe_(princess_connect!),4\ncasing_ejection,0\nhisasi,1\nkurona,1\nditto,4\nisometric,0\ntsurui,1\nhaoni,1\nrinne_no_lagrange,3\nsato_shin,4\nmikumo_guynemer,4\ndr.p,1\nhima,1\nnakamura_regura,1\njohn_doe,1\ntribal_tattoo,0\npowerpuff_girls_z,3\ncentauroid,0\nfood_on_breasts,0\ndragon_ball_gt,3\nhollow_eyes,0\nhacka_doll_3,4\nu_u_zan,1\naster_crowley,1\npenis_to_breast,0\nokusawa_misaki,4\nkashino_(hot_springs_relaxation)_(azur_lane),4\nsoraka_(league_of_legends),4\nroxy_migurdia,4\ngenzoman,1\nkeebo,4\nelise_(fire_emblem),4\nhonoka_(doa),4\nmatilda_fiship,1\nstitched_mouth,0\nimperishable_night,3\nrin_yuu,1\nspider-gwen,4\nfingering_through_panties,0\nkotobuki_(momoko_factory),1\nwet_towel,0\ni-no,4\nkamisimo_90,1\nsplit_theme,0\nkawayabug,1\npaper_stack,0\nnii_manabu,1\nstuffed_dog,0\naile_(crossroads),1\nsoldier:_76_(overwatch),4\nchomusuke,4\nkumada_masaru,4\nnishii_(nitroplus),1\nittokyu,1\ntracen_swimsuit,0\nhanzou,1\nroki_(hirokix),1\ncrane_game,0\npastry_bag,0\nblack_survival,3\ngraduation,0\nanimal_on_hand,0\nlifebuoy_ornament,0\nbrand_new_animal,3\nnatsuki_(doki_doki_literature_club),4\ntumblr_sample,5\nhanna-justina_marseille,4\nfuuma_nagi,1\nprosciutto,4\nbrown_neckerchief,0\nsakura_(fire_emblem),4\nmusket,0\nmazinger_(series),3\nkurokote,0\ngreatmosu,1\noda_ken'ichi,1\ntakamiya_rion,4\nrunny_makeup,0\nyellow-tinted_eyewear,0\n2006,0\nbroken_armor,0\nyoshitomi_akihito,1\nprison,0\ngrisaia_(series),3\nrainbow_background,0\nselection_university_military_uniform,0\npaint_splatter_on_face,0\nnippon_professional_baseball,3\nmelia_antiqua,4\nmilotic,4\nj7w,1\nyumizuka_satsuki,4\ntemple,0\nhigh_tops,0\ndevil_survivor,3\nwrestle_angels,3\natago_(summer_march)_(azur_lane),4\ngold_necklace,0\npowerpuff_girls,3\nlittle_red_riding_hood_(grimm)_(cosplay),0\nfreyja_wion,4\niggy_(jojo),4\nshirotsumekusa,1\npurple_socks,0\npoi,0\nsaya_no_uta,3\ngao,0\nbear_panties,0\nclothes_pin,0\nrui_shi_(rayze_ray),1\npancake_stack,0\nomaru_gyuunyuu,1\nrui_(sugar3),1\nchameleon_(ryokucha_combo),1\nvelvet_crowe,4\nself_exposure,0\nmozukuzu_(manukedori),1\ncamonome,1\nstick_poster,0\nsankuma,1\nsairenji_haruna,4\nmajin_android_21,4\nshannon_(umineko),4\ngold_choker,0\nsaigado,1\nquick_waipa,1\ntori_(minamopa),1\nkatarina_(league_of_legends),4\nraven_(tales),4\nbat_girl,0\nkirishima_satoshi,1\nyuto_(dialique),1\nnegative_space,0\nroots,0\nembroidery,0\ngoutokuji_mike,4\ndetermined,0\nmia_(fire_emblem),4\nyoshizawa_kasumi,4\nshippou_(pattern),0\nnedia_(nedia_region),1\npacific_rim,3\ncthulhu_mythos,3\ntrolling,0\njibril_(no_game_no_life),4\ngreen_belt,0\nthroat_microphone,0\nyoukoso_jitsuryoku_shijou_shugi_no_kyoushitsu_e,3\nnaganami_kai_ni_(kancolle),4\neas,4\nmagician,0\ncure_lovely,4\ntron_bonne_(mega_man),4\nhiten_(hitenkei),1\nricegnat,1\nfine_motion_(umamusume),4\nimplied_kiss,0\nbeijuu,1\nmunakata_(sekimizu_kazuki),1\nbottle_miku,4\ngilgamesh_(caster)_(fate),4\nyokosuka_girls_marine_high_school_uniform,0\nassassin_cross_(ragnarok_online),4\nwhite_mask,0\npolearm_behind_back,0\ninvisible_man,0\nmetroid_(creature),4\nsuzuka_gozen_(fate),4\ntemari_(naruto),4\nchocolate_cake,0\npochincoff,1\nashiomi_masato,1\nhigh_school_dxd_infinity,3\nyadokari_genpachirou,1\nshibuya_kanon,4\ntravel_attendant,0\nlivestream,0\njashin-chan_dropkick,3\nkokudou_juunigou,1\nsyuri22,1\nimplied_anal,0\njudith_(tales),4\nmorinaka_kazaki,4\nrukuriri_(girls_und_panzer),4\nspaceship_hair_ornament,0\nchacharan,1\nsimulated_fellatio,0\nsurfing,0\nsega,3\nnuu_(nu-nyu),1\nlegwear_removed,0\nsekiro:_shadows_die_twice,3\nhair_over_one_breast,0\nnoctis_lucis_caelum,4\njolteon,4\ncauldron,0\nnyuu_(manekin-eko),1\nwalther,0\narnest,1\nmusouzuki,1\nlatias,4\nscalpel,0\nemotionless_sex,0\npearl_earrings,0\ngundam_age,3\nkotoyama,1\nwallpaper_(object),0\nchocolate_making,0\ngrimm's_fairy_tales,3\nkalina_(girls'_frontline),4\nsingle_wrist_cuff,0\nrazor_(genshin_impact),4\nyorha_no._2_type_b_(cosplay),0\nwiz_(konosuba),4\nkitashirakawa_chiyuri,4\nnarumi_arata,1\ni-14_(kancolle),4\nfuukadia_(narcolepsy),1\nmasakichi_(crossroad),1\nsaw,0\nengrish_commentary,5\nenergy_cannon,0\ncookie_run,3\ntsukiyo_(skymint),1\nsilverash_(arknights),4\nfading,0\nf-ism,3\ninfirmary,0\nainu,0\nxenovia_quarta,4\nsuper_masara,1\nkazemaru_ichirouta,4\nui_(blue_archive),4\nhiradaira_chisaki,4\ngundam_g_no_reconguista,3\ntoddlercon,0\nbekkankou,1\nlisa_lisa,4\nproposal,0\nsora_no_kiseki,3\ntokyo_(city),0\nakchu,1\npavolia_reine,4\nright-over-left_kimono,0\nleaf_background,0\nayatsuji_tsukasa,4\nsymbol,0\ncongratulations,0\nnagishiro_mito,1\norange_jumpsuit,0\nmuppo,4\npyrrha_nikos,4\nfour-leaf_clover_hair_ornament,0\nmejiro_dober_(umamusume),4\nargyle_cutout,0\nclawed_gauntlets,0\nfloating_clothes,0\nsasha_braus,4\ncupboard,0\ncatsuit,0\nframe_arms_girl,3\nhooded_dress,0\nellen_baker,4\nanmi,1\nside-tie_skirt,0\nholding_chocolate,0\nboa_(brianoa),1\nbrown_corset,0\nvolleyball_net,0\nnamamo_nanase,1\nwalzrj,1\nperseus_(azur_lane),4\ntsubaki_yayoi,4\ncombat_knife,0\nbravely_default_(series),3\nspas-12_(girls'_frontline),4\ndecapitation,0\ntriangular_eyewear,0\ngrey_leotard,0\niwbitu,1\nmidori_(blue_archive),4\nartstation_sample,5\nblack_coat_(kingdom_hearts),0\ntebi_(tbd11),1\nai_ai_gasa,0\ndairoku_ryouhei,3\nmakabe_mizuki,4\nhibiki_(cheerleader)_(blue_archive),4\nhuge_dildo,0\nmukyuu,0\nwind_turbine,0\nange_(princess_principal),4\nsachito,1\ncrow_(siranui),1\ndeutschland_(azur_lane),4\nmorishima_haruka,4\nkeyblade,0\nyatterman,3\nflailing,0\nshimada_chiyo,4\ntoggles,0\nsam_browne_belt,0\nminegumo_(kancolle),4\nchai_(drawingchisanne),1\notoi_rekomaru,1\nneoartcore,1\nlaundry_basket,0\nsailor_collar_lift,0\ntashkent_(azur_lane),4\nfate/extra_ccc_fox_tail,3\nnagioka,1\nsoccer_spirits,3\nyuuri_(shoujo_shuumatsu_ryokou),4\nrurouni_kenshin,3\nkama_(first_ascension)_(fate),4\npanda_hood,0\nneru_(blue_archive),4\nghost_in_the_shell_stand_alone_complex,3\ny2,1\nkariyushi_shirt,0\ntolkien's_legendarium,3\nping_hai_(azur_lane),4\nyuusha_series,3\nmeisho_doto_(umamusume),4\ndrum_magazine,0\ndoyouwantto,1\nryo_(tg290),1\n...?,0\nfanbox_username,0\nsaitou_masatsugu,1\nraccoon,0\n;(,0\ntanamachi_kaoru,4\nwii_fit,3\nlily_black,4\nisaki_(gomi),1\ntriangle_hair_ornament,0\nshuri_(84k),1\nkillua_zoldyck,4\nwooloo,4\nkanzuki_karin,4\nhonma_himawari,4\nlifting,0\nasamiya_athena,4\nflippers,0\naurahack,1\nmegurigaoka_high_school_uniform,0\ndashed_eyes,0\n6u_(eternal_land),1\ntanashi_(mk2),1\nkey_(company),3\npantyhose_under_swimsuit,0\nkuroyukihime,4\nbaba_(baba_seimaijo),1\nnatsuya_(kuttuki),1\ncropped_sweater,0\nhimesaka_noa,4\nkitten_(gravity_daze),4\nyutakasan-love,1\ntwo-tone_leotard,0\ne20,1\nryosios,1\nhand_tattoo,0\nfast_food,0\nblemishine_(arknights),4\nkarutamo,1\nleo_(fire_emblem),4\nyuuki_yuuna,4\ncaracal_(kemono_friends),4\nkorie_riko,1\ntony_tony_chopper,4\nkeqing_(opulent_splendor)_(genshin_impact),4\nnatsume_kyousuke,4\ntony_guisado,1\nkyogoku_shin,1\nlord_knight_(ragnarok_online),4\nginga_nakajima,4\ngastly,4\nhand_rest,0\ngoggles_removed,0\nflying_paper,0\ntransparent_censoring,0\nsakaguchi_karina,4\nzannen_onna-kanbu_black_general-san,3\nbc_freedom_(emblem),0\nm.m,1\ncrypto_(apex_legends),4\nclarent_(fate),0\nmultiple_weapons,0\nred_tank_top,0\nfirelock,0\nmalenia_blade_of_miquella,4\ntajima_yuuki,1\nkedama_milk,1\nkurot,1\nfolder,0\nbroken_sword,0\nvillage,0\nakasaai,1\njewelry_removed,0\nholding_swimsuit,0\njintsuu_kai_ni_(kancolle),4\nsaya_(saya_no_uta),4\npriest_(dq3),4\ncabbage,0\ninuinui,1\ntwintails_day,0\nzima_(arknights),4\nkan'u_unchou,4\ntro,1\noctopath_traveler,3\ngame_boy_(original),0\nroto,4\nlansane,1\nsexual_coaching,0\njustice_gakuen,3\nroyal_penguin_(kemono_friends),4\npanties_over_pantyhose,0\nogasawara_sachiko,4\nazuma_aya,1\nleaning_on_rail,0\njanus_(kancolle),4\no-ring_swimsuit,0\nscouter,0\nyaneko_uta,1\nbutz_klauser,4\nentangled,0\nshirosaki_hana,4\nett,1\nmorikura_en,1\nribbon-trimmed_bra,0\nnigo_(aozoragarou),1\nmizuho_(kancolle),4\nganesagi,1\nazuki_osamitsu,1\nm16,0\npolice_car,0\nundefined_fantastic_object,3\nnanami_yachiyo,4\ncowering,0\naoi_kumiko,1\nlane_line,0\ntotodile,4\nsenbei,0\nwhip_sword,0\nmercedes_von_martritz,4\nneta,0\nmarugoshi_(54burger),1\nge-b,1\nsaga_(arknights),4\ntennis,0\ndodging,0\nlong_labia,0\nhitsukuya,1\nrailroad_crossing,0\nmamemaki,0\nef,3\nmvv,1\nyamanaka_sawako,4\nzero_no_kiseki,3\nspicy_nun_(diva),4\njcm2,1\nbeige_cardigan,0\nsankakusui,1\nminato_yukina,4\nprint_swimsuit,0\n60+fps,5\nsanrio,3\ncinderace,4\nstomping,0\nkomi_zumiko,1\ninvisible,0\nkitahara_tomoe_(kitahara_koubou),1\npastel_(medium),0\nviper,3\namasawa_yuuko,4\nkamina_shades,0\nglowing_hand,0\nteardrop_tattoo,0\nchito_(shoujo_shuumatsu_ryokou),4\nresident_evil_village,3\namano_kouki,1\nvrchat,3\nkibina_high_school_uniform,0\nbrown_sleeves,0\npinned,0\ndouki-chan_(douki-chan),4\nmomoi_(blue_archive),4\nmeadow,0\nrossweisse,4\nhands_on_another's_chest,0\ntoshishikisai,1\npopsicle_stick,0\nwool_(miwol),1\nfitting_room,0\nheles,4\nla_pluma_(arknights),4\ncash_register,0\nholding_own_tail,0\nhan_(jackpot),1\nsun_wukong,4\npenguin_costume,0\ntemari_ball,0\nalpha_signature,0\nsouryuu_asuka_langley_(cosplay),0\nglock,0\nice_cream_float,0\nanya_alstreim,4\nunfairr,1\nshigure_ui_(vtuber),4\nmocha_(cotton),1\ngold_bracelet,0\nadmire_vega_(umamusume),4\nberusuke_(beru_no_su),1\ntaut_swimsuit,0\nhounori,1\n4chan,3\nstorm,0\nnoi_(dorohedoro),4\nvan,0\nmetal_boots,0\norca,0\nromani_archaman,4\nseeu,4\nsmart_falcon_(umamusume),4\nnijisanji_id,3\ngradient_skin,0\nmenu_board,0\nfukahire_(ruinon),1\nphosphophyllite_(ll),4\nmikazuki_neko,1\ntenmaso,1\nweights,0\ntsukui_kachou,1\nwafer_stick,0\nwii_fit_trainer,4\niahfy,1\npurple_cardigan,0\nruukii_drift,1\nhamanami_(kancolle),4\nphoenix_wright,4\nkisaragi_nana,1\nred_mittens,0\nmilfeulle_sakuraba,4\nmassachusetts_(azur_lane),4\nhina_(swimsuit)_(blue_archive),4\nemily_(pure_dream),1\ngreem_bang,1\nkisaragi_momo,4\ntonarikeru,1\npov_doorway,0\nazusa_(hws),1\nikusaba_mukuro,4\nkafuu_chino's_school_uniform,0\ngingham,0\ntajima_ryuushi,1\nliya,1\nhakuryuu_(inazuma_eleven),4\nrosa_(arknights),4\nnekoya_(liu),1\nstrawberry_panic!,3\nholding_branch,0\nadsouto,1\nfemale_service_cap,0\nchihiro_(kemonomichi),1\nflower_on_head,0\nchaesu,1\nnatsuiro_egao_de_1_2_jump!,0\nhibari_(senran_kagura),4\nagatsuma_zenitsu,4\nshining_(arknights),4\ntakase_muh,1\ntokoro_megumi,4\npallad,1\nptilopsis_(arknights),4\nmai_natsume,4\ntamamo_cat_(third_ascension)_(fate),4\nbubba_(watson_amelia),4\ntamago_(yotsumi_works),1\nnostrils,0\nraspberry,0\nhanging_plant,0\nsailor_uranus,4\nwhite_blood_cell_(hataraku_saibou),4\nvampire_(azur_lane),4\nincoming_hug,0\nredcomet,1\nkanon_(umineko),4\nrussia_(hetalia),4\ncanteen,0\nkoizumi_mahiru,4\nmale_on_futa,0\nhi_you_(flying_bear),1\nkimi_ga_nozomu_eien,3\ngekitotsu!_joshikousei_oiroke_sensha_gundan,3\nkuroka_(high_school_dxd),4\ntank_focus,0\naegis_sword_(xenoblade),0\npurple_tongue,0\ninverted_bob,0\nagainst_fourth_wall,0\nfruit_on_head,0\n302,1\nh_kasei,1\nkanzakietc,1\nfalken_(yutozin),1\nmannequin,0\nnaganohara_mio,4\nyoi_naosuke,1\nyellow_socks,0\nnao_(mabinogi),4\npretty_rhythm,3\ndrowning,0\nirene_(arknights),4\nchili_pepper,0\nfallout_(series),3\nprank,0\nkouda_suzu,1\nchakram,0\nchained_wrists,0\nica,1\nburont,4\nsazanami_mio,1\nichihaya,1\ndeer_antlers,0\nfukai_ryosuke,1\nkama_(swimsuit_avenger)_(fate),4\ncougar_(cougar1404),1\nhimemushi_momoyo,4\nsuper_robot_wars_og_saga_mugen_no_frontier,3\napple_caramel,1\ncow_costume,0\nbunbun,1\nalp,1\nbald_eagle,0\nophelia_(fire_emblem),4\nsayu_(genshin_impact),4\nfur-trimmed_footwear,0\ndiamond_(houseki_no_kuni),4\ntales_of_xillia_2,3\ndora_ita,1\nfuuen_(akagaminanoka),1\narm_across_waist,0\ncaptain_(kemono_friends),4\ndollar_sign,0\nglowing_tattoo,0\ndelinquent,0\nmignon,1\nwooden_horse,0\ncomiket,0\nmuvluv_total_eclipse,3\nrooster,0\nafterword,0\ntaishi_(picchiridou),1\ntorn_bike_shorts,0\nrebe11,1\nyoshikawa_yuuko,4\nonii-shota,0\ncum_inflation,0\ngrey_tank_top,0\nkfc,3\nsanta_claus,4\nhypno,4\nkar98k_(girls'_frontline),4\nsky_lantern,0\nky_kiske,4\nitoshiki_nozomu,4\narcanine,4\nseikan_hikou,0\nminase_akiko,4\nkozue_akari,1\nouno_(nounai_disintegration),1\npigeon666,1\nore_twintail_ni_narimasu,3\nsuke_(singekijyosei),1\nbeatrice_(re:zero),4\nmath,0\nnarration,0\nfriend_(nanashi_mumei),4\nscar_on_mouth,0\nsequential,0\nlitwick,4\nojamajo_doremi,3\nbox_tie,0\norange_rose,0\ntomori_nao,4\nsawao,1\nsengoku_bushouki_muramasa,3\nmartha_(swimsuit_ruler)_(fate),4\ngold_footwear,0\nryuki_(ryukisukune),1\nflower_in_mouth,0\nhinamatsuri,0\nhirschgeweih_antennas,0\ngin'ichi_(akacia),1\nbucket_hat,0\nkadomatsu,0\nharu_(nakajou-28),1\nkutan,1\nlvl_(sentrythe2310),1\nasseylum_vers_allusia,4\nstalk_in_mouth,0\nremoving_jacket,0\nmutual_hug,0\nsweater_pull,0\nbull,0\naviator_cap,0\nmissing_limb,0\nru_zhai,1\ndsr-50_(girls'_frontline),4\nhandshake,0\nkoku,1\nyamagou_ayumi,4\nmountain_(arknights),4\nai_takurou,1\nfun_bo,1\nicomochi,1\nhiiragi_yuzu,4\nizawa_(bhive003),1\nlavender_background,0\npitcher,0\nanchor_earrings,0\ntotooria_helmold,4\nchrysanthemum,0\nokada_izou_(fate),4\nrice_paddy,0\nmicrowave,0\nv-mag,1\nreku,1\nna-ga,1\nrhine_lab_logo,0\nwuxian_(the_legend_of_luoxiaohei),4\nskadi_(waverider)_(arknights),4\ncure_princess,4\nsombra_(overwatch),4\nnekoume,1\nrope_belt,0\nspoken_food,0\nkei_jiei,1\nbayonetta_2,3\nreverse_translation,5\ndisguise,0\nhidaka_ai,4\ncovering_ears,0\norizen,1\nminust,1\nclara_(girls_und_panzer),4\nazumanga_daioh's_school_uniform,0\nshorts_removed,0\npoke_ball_(legends),0\nhard_translated_(non-english),5\nhomu_(honkai_impact),4\nfrostnova_(arknights),4\niwamoto_eiri,1\nweee_(raemz),1\nhand_on_wall,0\nasuka_(senran_kagura),4\ntag,0\nhalf_mask,0\nsothis_(fire_emblem),4\ndamao_yu,1\nmoth,0\nminazuki_(kancolle),4\nz46_(azur_lane),4\ngj-bu,3\nsasaki_chiho,4\norange_bra,0\nkurugaya_yuiko,4\nlayered_kimono,0\nwii_fit_trainer_(female),4\npsycho-pass,3\nimai_lisa,4\nguweiz,1\nsurio,1\nstance,0\npeony_(flower),0\ncircle_formation,0\nteam_magma,0\nfujinami_(kancolle),4\nginko_(silver_fox),1\ngesture,0\narm_around_back,0\nmikisugi_aikurou,4\nmatikanefukukitaru_(umamusume),4\nyumiya,1\nmutou_yuugi,4\ngetter_robo,3\nhoshino_hinata,4\nfuura_kafuka,4\nspanish_text,0\nkoizumi_itsuki_(female),4\nyakob_labo,1\nnyong_nyong,1\nturtwig,4\ntarnished_(elden_ring),4\njtveemo,1\nmega_man_x_(character),4\nholding_surfboard,0\nblood_in_mouth,0\nozymandias_(fate),4\nless,1\nt-head_trainer,4\neva_beatrice,4\ntenshin_amaguri_(inobeeto),1\nbruce_lee's_jumpsuit,0\ndirigible,0\njames_moriarty_(archer)_(fate),4\ntwo-tone_coat,0\nprojectile_lactation,0\nkenshin187,1\ncasino_(casinoep),1\nshinonono_houki,4\nace_of_hearts,0\ntukino_neru,1\ntri_braids,0\nsmelling_clothes,0\ntaketora_suzume,1\nflattop,0\ntoukaairab,1\nokazaki_ushio,4\ncuff_links,0\nlancelot_(fate/grand_order),4\nbertolt_hoover,4\ndragonite,4\nsegami_daisuke,1\ncumdump,0\nfloating_rock,0\nvalorant,3\nhori_yuko,4\nvertical-striped_kimono,0\ndaizu_(melon-lemon),1\nhuang_lingyin,4\nchibi_on_head,0\nluo_tianyi,4\nhiememiko,1\njosou_seme,0\nergot,1\nforehead_tattoo,0\nsuperman_(series),3\ntwrlare,1\npo-ju,1\nsin_sack,4\nfist_pump,0\nbobblehat,0\nyandere_trance,0\nclefairy,4\nmelony_(pokemon),4\naether_foundation_employee,4\nnonomi_(swimsuit)_(blue_archive),4\nflower_in_eye,0\nnamauni,1\ncaesar_(girls_und_panzer),4\nkuena,1\nyorumi_rena,4\ntsukiman,1\nchar_aznable,4\nfu_hua_(herrscher_of_sentience),4\nlexington_(warship_girls_r),4\nashtray,0\nsuou_pavlichenko,4\nevelynn_(league_of_legends),4\nfrilled_camisole,0\nkoi_wa_sensou_(vocaloid),3\nfuroshiki,0\nooji_mochizou,4\ncoffee_pot,0\nouma_tokiichi,1\ncelebi,4\nqingxin_flower,0\ncanned_coffee,0\nrei_(pokemon),4\nholding_megaphone,0\ntaikyokuturugi,1\nsunhyun,1\nphantom_of_the_kill,3\nwyvern,0\nshinozuka_jouji,1\nbindi,0\nprincess_serenity,4\ncharlotta_(granblue_fantasy),4\nkarate_gi,0\nyakihebi,1\ndhole_(kemono_friends),4\ntimbougami,1\nmitha,1\ncure_pine,4\nnamie-kun,1\nbody_switch,0\nbattle_spirits,3\nryuuhou_(kancolle),4\ntsukudani_norio,1\nkushieda_minori,4\ncrutch,0\nseto_kousuke,4\ngwendolyn_(odin_sphere),4\nadjusting_buruma,0\nanal_fluid,0\nkirito_(sao-ggo),4\nhm_(hmongt),1\nshort_bangs,0\nkaidou_minami,4\nkuroi_mimei,1\ncumulonimbus_cloud,0\nrace_vehicle,0\nbianka_durandal_ataegina,4\nadmiral_hipper_(azur_lane),4\nmini_witch_hat,0\nmukaido_manaka,4\nfanning_face,0\negg_laying,0\nahoge_wag,0\nfruit_cup,0\nhigh_five,0\nmadoka_runes,0\nace_combat,3\nmakeup_brush,0\nfusuma,0\nwet_skirt,0\nhands_on_own_breasts,0\ngladiator_sandals,0\npants_under_skirt,0\nmunmu-san,1\ntanabe_(fueisei),1\nnekobaka,1\nnishihara_isao,1\narezu_(pokemon),4\nheshikiri_hasebe,4\nspecial_feeling_(meme),0\nrokugou_daisuke,1\nterrajin,1\nri-net,1\nmikumikudance_(medium),5\ncheckered_bow,0\nsora_(arknights),4\nsummon_night_3,3\nfire_emblem:_thracia_776,3\nstriped_hairband,0\nmidorikawa_you,1\nittla,1\nyoung_link,4\nchess,0\nelly_(touhou),4\nshone,1\nakagi_kurage,1\nshared_earphones,0\nhigh_wizard_(ragnarok_online),4\ninterior,0\nsugimoto_reimi,4\nhasumi_souji_(eroe),4\nstandard_bearer,0\nsakata_nemuno,4\nnico_nico_nii,0\nkoi_(koisan),1\nsobbing,0\ncreeper,4\ndualshock,0\nseihekiog,1\nraiden_mei_(herrscher_of_thunder),4\njug,0\nannotation_request,5\nmiyagoe_yoshitsuki,1\namaterasu_(ookami),4\npop'n_music,3\nbokukawauso,4\nfree_style_(yohan1754),1\nholding_shirt,0\nlight_blue_background,0\ntear_grants,4\ngreen-tinted_eyewear,0\nsaotome_ranma,4\nbelarus_(hetalia),4\nholographic_monitor,0\nkonishi_(koconatu),1\ntaka_(takahirokun),1\ngrima_(fire_emblem),4\nflygon,4\nside-tie_swimsuit,0\ntachibana_taki,4\nmegido72,3\ntakanashi_ringo,1\nzenon_(for_achieve),1\nkiso_kai_ni_(kancolle),4\nononoki_yotsugi,4\naiba_yumi,4\nhands_on_another's_thighs,0\ncrotch_zipper,0\nedogawa_conan,4\nichigaya_arisa,4\npurple_fur,0\nbagpipe_(arknights),4\nnorman_maggot,1\nheiwajima_shizuo,4\nmurder,0\nbanana_peel,0\nnami_junior_high_school_uniform,0\njump_rope,0\nsinking,0\nsingle_knee_pad,0\nsee-through_jacket,0\npaint_can,0\nfrilled_umbrella,0\nyamada_rei_(rou),1\ntsubasa_(abchipika),1\nutawarerumono:_itsuwari_no_kamen,3\npetra_gurin,4\nvoms,3\ncasino,0\nscratching_head,0\nguoba_(genshin_impact),4\nmitsumomo_mamu,1\nvillager_(animal_crossing),4\npunk,0\nhand_over_face,0\nrust,0\neiyuu_senki,3\nvalentine_(skullgirls),4\ntoujou_koneko,4\nichii_yui,4\ntokarev_(girls'_frontline),4\nneon-tetora,1\njacket_girl_(dipp),4\nlockheart,1\nkokonoe_rin,4\nhooded_vest,0\nniina_ryou,1\naccident,0\npointing_forward,0\ninuyasha_(character),4\nkurashima_tomoyasu,1\nmythra_(massive_melee)_(xenoblade),4\npenis_on_ass,0\nasaka_karin,4\ntakanashi_kei_(hitsujikan),1\nweasel_girl,0\nplasma-chan_(kancolle),4\nnaso4,1\nshirt_around_waist,0\nwashing_hair,0\ndungeon,0\npokemon_ears,0\nmomose_(oqo),1\ncure_diamond,4\nschwertkreuz,4\nred_mask,0\nglitter,0\nmasami_chie,1\nrei_(sanbonzakura),1\naltaria,4\ngreek_toe,0\nshirt_overhang,0\nakimoto_komachi,4\nthumbs_down,0\ncutting,0\ntoo_many_cats,0\nkobayakawa_yutaka,4\ntomobe_kinuko,1\nbipod,0\nrosa_farrell,4\ngundam_hathaway's_flash,3\nmiss_fortune_(league_of_legends),4\nshirakiin_ririchiyo,4\nokiraku_nikku,1\nnight_sparrow_love,3\nnoya_makoto,1\nscratching_cheek,0\ndragon_print,0\ncigarette_pack,0\ndetached_leggings,0\nnaked_capelet,0\ngaijin_4koma_(meme),0\nbeach_mat,0\nfish_bone,0\nyumesato_makura,1\nfeet_on_chair,0\nmitarashi_kousei,1\nsaionji_hiyoko,4\nzannen_na_hito,1\nkonshin,1\nendou_mamoru,4\nsazanami_konami,1\nibara_mayaka,4\nholding_hose,0\npoyo_(hellmayuge),1\nuranami_(kancolle),4\nholding_torpedo,0\nsaury,0\nabyssal_admiral_(kancolle),4\nlambda-11,4\nfoot_worship,0\nfireball,0\ncellien_(kemono_friends),4\nshun_(small)_(blue_archive),4\nannette_fantine_dominic,4\nvenera-sama,4\nrento_(rukeai),1\nonesie,0\nhand_print,0\nfinalcake,1\najishio,1\nfinger_to_another's_mouth,0\nextraction,5\nkyo_(kuroichigo),1\ninoue_sora,1\nsakaki_imasato,1\nkuriyama_mirai,4\nbache_(azur_lane),4\nyana_(chihuri),4\ncamisole_lift,0\nmahou_shoujo_ikusei_keikaku_unmarked,3\nsilly_(marinkomoe),1\ntsuji_renta,4\nlime_(fruit),0\nemolga,4\nyoshi,4\nyonaga_angie,4\nkakegurui,3\nkusakabe_misao,4\nhatakaze_(kancolle),4\nkimura_takahiro,1\nmega_gardevoir,4\nfelutiahime,1\nmismatched_sclera,0\ntenryuu_kai_ni_(kancolle),4\nstar_ocean_the_second_story,3\nlong_nose,0\ntoutenkou,1\nkizumonogatari,3\nvalkyrie_(fate),4\ncross-eyed,0\nyamanbagiri_kunihiro,4\nharimoji,1\nluke_(dydansgur),1\nms._fortune_(skullgirls),4\nkoume_keito,1\nis_that_so,0\ngabriel_tenma_white,4\nhaneoka_school_uniform,0\nwelrod_mkii_(girls'_frontline),4\nstocks,0\nnannacy7,1\nmahjong_soul,3\nsouryu,1\nkaleidostick,0\ntoo_literal,0\nunderpec,0\nchristmas_stocking,0\nwalker,0\nlightning_bolt_print,0\nholding_leg,0\nseraziel,1\nshinmai_maou_no_testament,3\nsurprised_arms,0\nhades_(game),3\neye_trail,0\nholding_toy,0\nnazi,0\nsuikawari,0\nyuano,1\nprussia_(hetalia),4\ngreen_rose,0\ntusia,1\nrandomboobguy,1\nglands_of_montgomery,0\naircraft_carrier_oni,4\nkaetzchen,1\nyae_(mono110),1\nfutari_wa_precure_max_heart,3\ntamamo_no_mae_(swimsuit_lancer)_(second_ascension)_(fate),4\nots-14_(girls'_frontline),4\npixiv_fantasia_sword_regalia,3\nlisten!!,0\nrobin_hood_(fate),4\njabot,0\ngosick,3\nsuzunone_rena,1\ntape_bondage,0\nlonely,0\ndrag-on_dragoon_3,3\nvenusaur,4\nnero_claudius_(olympian_bloomers)_(fate),4\nkagemori_michiru,4\nsynecdoche,1\nbird_on_arm,0\nhigh-waist_pantyhose,0\nheart_pendant,0\nparari_(parari000),1\ntrash,0\npsyduck,4\ndullahan,0\nshulk_(xenoblade),4\nfoot_dangle,0\ncheshire_cat_(alice_in_wonderland),4\nbeer_bottle,0\nokitakung,1\ntang_keke,4\nsenko_(sewayaki_kitsune_no_senko-san),4\nstarfish_hair_ornament,0\nfast_food_uniform,0\nribbon-trimmed_panties,0\nsoranamae,1\nkobeya_uniform,0\ndakku_(ogitsune),1\nnorizou_type-r,1\nuzaki_tsuki,4\nhoshino_miyako_(wataten),4\nkagurazaka_asuna,4\nvirgilia_(umineko),4\nchocolate_banana,0\nlying_on_lap,0\nrasukaru,1\nyuuki_tatsuya,1\nmatsukaze_(kancolle),4\ncelica_(fire_emblem),4\nhair_wings,0\ncovered_penis,0\nvergil_(devil_may_cry),4\ndanna_ga_nani_wo_itte_iru_ka_wakaranai_ken,3\nblunt_tresses,0\nthe_legend_of_zelda:_majora's_mask,3\nadult_neptune,4\nndgd,1\nrindou_mikoto,4\ncovered_clitoris,0\nsamip,1\nhazama,4\ncrow_(la+_darknesss),4\natelier_ryza_2,3\nninian_(fire_emblem),4\nsenri_gan,1\nsuper_heroine_boy,3\nisshiki_akane,4\ngenji_(overwatch),4\nquadruple_amputee,0\npanties_under_shorts,0\nportal_(object),0\nkurasuke,1\nmatanonki,1\nelfenlied22,1\npuyopuyo_fever,3\nyan_qing_(fate),4\niori_junpei,4\nsweep_tosho_(umamusume),4\nrozaliya_olenyeva,4\nkayoko_(blue_archive),4\nhinata_kaho,4\nmouth,0\nhidden_star_in_four_seasons,3\nshitty_admiral_(phrase),0\n60mai,1\narm_over_head,0\nyakushiji_saaya,4\nfi-san,1\nkamiya_tomoe,1\nprincess_of_the_crystal,4\nking_dedede,4\nsinglet,0\nring_fit_adventure,3\nbatta_(ijigen_debris),1\nshuten_douji_(first_ascension)_(fate),4\nsubmarine,0\ntail_lift,0\nhead_only,0\ndwarf,0\nshintarou,1\njanong,1\nnatsume_eri,1\nshuu_(inazuma_eleven),4\nlugia,4\nbaking,0\nside-tie_bottom,0\nclaw_foot_bathtub,0\ntatebayashi_sakurako,4\nnadegata,1\nitou_(onsoku_tassha),1\nsesshouin_kiara_(swimsuit_mooncancer),4\nwar_hammer,0\nplanet_hair_ornament,0\ninterview,0\nsailor_neptune,4\nresident_evil_4,3\nikaruga_(senran_kagura),4\nmutsuki_kai_ni_(kancolle),4\nzoids_genesis,3\nkozaki_yuusuke,1\npants_around_one_leg,0\nbusujima_saeko,4\ncross_pasties,0\nsayori_(doki_doki_literature_club),4\nholding_teapot,0\nnousagi_(usada_pekora),4\ntottotonero,1\nyumi_(bow),0\nqurare_magic_library,3\nstrength_(black_rock_shooter),4\nankleband,0\ndoorknob,0\nnana_asta_deviluke,4\ndonburi_(donburikazoku),1\npyramid_(structure),0\namakusa_shirou_(fate),4\nfuneral_dress,0\nevangeline_a.k._mcdowell,4\nblue_tunic,0\nbroccoli,0\nyapo_(croquis_side),1\ncrushing,0\nrisotto_nero,4\nabigail_williams_(second_ascension)_(fate),4\nprint_hoodie,0\ntamamo_cat_(first_ascension)_(fate),4\nsuzi_q,4\nholding_with_tail,0\nnowi_(fire_emblem),4\nnakiri_erina,4\ngreen_fire,0\nyoake_mae_yori_ruri_iro_na,3\nterry_bogard,4\ngiant_male,0\ntorn_wings,0\ncarousel,0\nkimoshi,1\neye_reflection,0\ntwo-tone_cape,0\nkasugano_urara_(yes!_precure_5),4\nkotatsu_(kotatsu358),1\nyano_mitsuki,1\nsidecut,0\nhair_ornament_removed,0\nbackless_swimsuit,0\nbamboo_shoot,0\nlacus_clyne,4\npocari_sweat,0\noverall_skirt,0\nbrain,0\nyuyushiki's_school_uniform,0\nstarshadowmagician,1\nsnorlax,4\nkiira,1\ncure_dream,4\nli_xiaolang,4\nrural,0\nemmet_(pokemon),4\nno_feet,0\ntoji_no_miko,3\npekoyama_peko,4\nstuffed_unicorn,0\nzoya_petrovna_vecheslova,4\nmeth_(emethmeth),1\nmadoka_aguri,4\nkongou_(aoki_hagane_no_arpeggio),4\nmanino_(mofuritaionaka),1\naqua_(kingdom_hearts),4\nface_down,0\nwhiteboard,0\nkousaki_rui,1\nkamukamu_(ars),1\nshiroshi_(denpa_eshidan),1\nkemono_friends_2,3\nhirasaka_makoto,1\nji_no,1\narima_senne,4\nelevator,0\nhummy_(suite_precure),4\nbear_hood,0\nurinal,0\nfrankenstein's_monster_(swimsuit_saber)_(fate),4\nqys3,1\nface_punch,0\nasia_argento,4\ntsukumiya_amane,1\nfur-trimmed_collar,0\nrag,0\ncamera_phone,0\nvertical-striped_bra,0\nblue_camisole,0\nvajra_(granblue_fantasy),4\ncheck_artist,5\nbutter-t,1\nakagi_(fmttps),1\nefe,1\nbinary,0\ndantewontdie,1\nhxxg,1\nvodka,0\nwatanon_(gakushokutei),1\nsoy_sauce,0\nflipper,1\nblue_oath,3\nzaxwu,1\notosama,1\ncloset,0\nstacking,0\nmalina_(helltaker),4\nlilina_(fire_emblem),4\npiccolo,4\nsukoya_kana,4\naquaegg,1\nnational_shin_ooshima_school_uniform,0\noono_aya,4\nmondi_hl,1\nhestia_(danmachi)_(cosplay),0\nbkub_(style),0\nmismatched_eyelashes,0\nchris_redfield,4\nkurione_(zassou),1\nkonoe_kanata,4\nmanaka_lala,4\nkanno_takanori,1\nbee_girl,0\nfumitsuki_(minaduki_6),1\nsakura_trick,3\nheart_(organ),0\ncork,0\nglansjob,0\nda_capo_ii,3\ngreen_tank_top,0\nwada_kazu,1\nkomakoma_(magicaltale),1\nshouji_nigou,1\nyun_jin_(genshin_impact),4\nat_computer,0\ncrocs,0\nyagami_hikari,4\n846-gou,1\ndmm,3\nshirley_fenette,4\npachirisu,4\ngiratina,4\nhand_on_another's_hand,0\nyellow_horns,0\noccultic;nine,3\ntucked_penis,0\nking's_raid,3\nshinkai_shoujo_(vocaloid),3\narlecchino_(genshin_impact),4\njjanda,1\nc-string,0\nrecord,0\nnarue,1\naioi_yuuko,4\nnanashino,1\nmashima_hiro,1\nsan_(mononoke_hime),4\nima-no-tsurugi,4\nsakuya_tsuitachi,1\nticket,0\nkindergarten,0\nmafuyu_(chibi21),1\nsoukyuu_no_fafner,3\npurple_sash,0\nhorn_grab,0\nbrown_serafuku,0\nblending,0\nimplied_pantyshot,0\nmarket_stall,0\ngon_freecss,4\nmasara_(chuujou),1\ncockroach,0\nokuda_yasuhiro,1\name.,1\nachiga_school_uniform,0\nu.n._spacy,0\ntomokichi,1\nisabella_valentine,4\nreverse_spitroast,0\nfutatsuiwa_mamizou_(human),4\nhoshi_no_tsue,0\njudgement_(helltaker),4\ngentoo_penguin_(kemono_friends),4\nfinal_fantasy_x-2,3\ncoin_purse,0\nheadphones_removed,0\nno_sclera,0\ntonpuu,1\nwingull,4\namazon_(company),0\ndepressed,0\nmaboroshi_mochi,1\namagi_(amagi626),1\nanko_(gochiusa),4\nmakacoon,1\nsouth_park,3\nhandjob_gesture,0\ncompound_eyes,0\nbenikurage_(cookie),4\nyorita_yoshino,4\nkirisame_marisa_(pc-98),4\nmatsuda_yuusuke,1\nutaite_(singer),0\nbrass_knuckles,0\nstuffed_panda,0\nsazaki_kaoruko,4\nkuririn,4\ncarried_breast_rest,0\nsoftmode,1\nchessboard,0\nxenosaga_episode_iii,3\ncrumbles,1\nuchiha_sarada,4\nhakuo_school_uniform,0\ngrey_one-piece_swimsuit,0\nolga_marie_animusphere,4\ncat_on_shoulder,0\nin_mouth,0\nduke_(inu_daimyou),1\nsiirakannu,1\nsatou_atsuki,1\ndevil_may_cry_5,3\nabandon_ranka,1\nryuu.,1\nkawachi_koorogi,1\nzentradi,0\npushing_away,0\ngigantamax,0\nmika_(blue_archive),4\nrussian_commentary,5\nbenienma_(fate),4\nthong_aside,0\nhawk,0\nband,0\nniiya,1\nluciela_r._sourcream,4\nscorpion_tail,0\njolly_roger,0\nyae_sakura_(gyakushinn_miko),4\nbattery_indicator,0\nred_feathers,0\nomachi_(slabco),1\ntanaka_gandamu,4\nkamen_rider_ooo_(series),3\nlong_shirt,0\ntranslucent,0\nxander_(fire_emblem),4\nstanley_lau,1\ngallade,4\nsheikah,0\ndepth_charge,0\ndrifloon,4\nshiny_swimsuit,0\nbird_print,0\nsakuramori_kaori,4\nfrilled_jacket,0\nlindaroze,1\nishikei_(style),0\nmiyashita_ai,4\npink_diamond_765_(idolmaster),0\nhierophant_green,4\nsauce,0\nhoshina_hikaru,4\ndoom_(series),3\nsticky_note,0\nfighter_(granblue_fantasy),4\nshigatake,1\nmahouka_koukou_no_rettousei,3\nsingle_thigh_boot,0\npresenting_panties,0\ntwo-tone_footwear,0\nlimiter_(tsukumo_sana),0\nkawakami_sadayo,4\npixiv_fantasia_new_world,3\nsqueezing,0\nlily_(vocaloid),4\nmawile,4\ncolored_shoe_soles,0\ndorsal_fin,0\nstomach_growling,0\nfiammetta_(arknights),4\npipe_in_mouth,0\ncalligraphy,0\ntokyo_(great_akuta),1\ncheekbones,0\ndotted_background,0\nkataginu,0\npoliceman,0\nhoshino_(swimsuit)_(blue_archive),4\ntokiha_mai,4\nseramikku,1\naqua_kimono,0\nvictorica_de_blois,4\ntiger_costume,0\nfemale_assassin_(fate/zero),4\nmio_(xenoblade),4\nanimal_head,0\ntoraishi_666,1\nkirero,1\nnerv,0\nblame!,3\njam,0\ntoujou_sakana,1\nmagikarp,4\ntsugumomo,3\nmechanic,0\nhanadera_nodoka,4\ntsubaki_(blue_archive),4\nazur_lane:_slow_ahead,3\nsweet_lolita,0\nmaya_fey,4\nharley_quinn,4\nkore_wa_zombie_desu_ka?,3\nyonu_(yonurime),1\nmyama,1\npersona_2,3\nchabashira_tenko,4\nlapel_pin,0\nglass_bottle,0\ncervical_penetration,0\nfood_request,5\nhorn_ring,0\nblack_vs_white,0\ntokyo_mew_mew,3\nseraph,0\ndango_daikazoku,3\ntsab_air_military_uniform,0\ntatsumi_ray,1\nmiyama-zero,1\nhaunter,4\nkuroi_moyamoya,1\noversized_breast_cup,0\nebiblue,1\ntachibana_makoto,4\nsekaiju_no_meikyuu_5,3\naoi_nagisa_(metalder),1\ntakayama_toshinori,1\nharada_(sansei_rain),1\nholding_heart,0\nreshiram,4\ndaikon,0\nmole_on_arm,0\ngemu555,1\nwavy_eyes,0\nmateria,0\ninfukun,1\nsiegfried_(fate),4\nshuga_(soranote),1\ncargo_pants,0\nwild_tiger,4\nhoriguchi_yukiko,1\nkirishima_eijirou,4\nkadose_ara,1\nnagasioo,1\nboshi_(a-ieba),1\nidolmaster_live_for_you!,3\nfern,0\nshort_yukata,0\ncum_through_clothes,0\nhieroglyphics,0\nushiromiya_lion,4\nmoth_girl,0\npuru_two,4\ncontainer,0\ncure_beat,4\nrucchiifu,1\ncure_rosetta,4\nbarasuishou,4\nao_usagi,1\nresident_evil_2,3\ninstagram_logo,0\ncure_twinkle,4\nblastoise,4\nmuku_(muku-coffee),1\ngumroad_reward,5\nkiryu_manzoku,1\npuuzaki_puuna,1\neichi_yuu,1\nhidari_(left_side),1\nholding_wrench,0\nrainbow_six_siege,3\nfoxyreine,1\nalcremie,4\ndogeza,0\nhijiri_rei,1\nshaking_head,0\nforced_smile,0\nsadamoto_yoshiyuki,1\nlace_border,0\nhands_in_pocket,0\nbloodshot_eyes,0\nao-chan_(ninomae_ina'nis),4\nevoker,0\nbeach_volleyball,0\nrubber_gloves,0\nkomori_kuzuyu,1\nai-chan_(tawawa),4\nprint_scarf,0\nkantele,0\nbroken_eyewear,0\nsprinkles,0\nread_or_die,3\nshan,1\nwhite_heart,4\nmg42,0\npawn,0\nzettai_karen_children,3\nmonk,0\npixiv_fantasia_3,3\nmordred_(swimsuit_rider)_(first_ascension)_(fate),4\ntsurugi_kyousuke,4\niroyopon,1\nwhite_hood,0\nejaculation_under_clothes,0\nthe_elder_scrolls,3\ndumbbell_nan_kilo_moteru?,3\nyuran,1\nsameha_ikuya,1\nheadlight,0\nplanted_umbrella,0\nkekemotsu,1\npelvic_curtain_lift,0\nkamonari_ahiru,1\nenema,0\nstripper,0\nnakabayashi_zun,1\nstudded_choker,0\nvictorian,0\ntantrum,0\nadachi_tooru,4\nblue_rose_(tiger_&_bunny),4\nryouma_(galley),1\naroused,0\nantonio_lopez,4\nsaiste,1\nayakura_juu,1\npecorine_(summer)_(princess_connect!),4\nfold-over_boots,0\nao_banana,1\nmint_blancmanche,4\nwada_arco,1\npiyodera_mucha,1\nmizumoto_yukari,4\nhello_kitty,3\nfleur_de_lis,0\njack_frost,4\nmonori_rogue,1\ngeshumaro,1\nminigun,0\ndemonbane,3\nsenkou_hanabi,0\nkoiwai_yotsuba,4\npan_(mimi),1\nvulpix,4\nmarill,4\nakino_shuu,1\nside-tie_shirt,0\nteardrop_facial_mark,0\nhoshikawa_lily,4\nafter_masturbation,0\nscanty_(psg),4\nsignpost,0\nholding_footwear,0\nchrome_dokuro,4\nkousei_(public_planet),1\nanti-aircraft,0\narcade_cabinet,0\nskating,0\nsaraki,1\nhikage_eiji,1\nhinata_yukari,4\njewelpet_(series),3\nmechanical,0\nface_in_pillow,0\nkiran_(fire_emblem),4\nnipple_cutout,0\nran'ou_(tamago_no_kimi),1\nnoses_touching,0\nundone_neck_ribbon,0\narashio_kai_ni_(kancolle),4\nasirpa,4\nadam's_apple,0\nmansion,0\nkeuma,1\ntanaka_ryou,1\nshizuki_hitomi,4\nyui_(sao),4\ncrayon_shin-chan,3\nkoyubi_(littlefinger1988),1\nbayonetta_1,3\nfabulous,0\nsuzushiro_kurumi,1\nweno,1\nimazon,1\nalice_carroll,4\nshepherd0821,1\nkawai_(purplrpouni),1\ntrigger_(company),3\nsenki_zesshou_symphogear_xd_unlimited,3\nthighhighs_removed,0\nrotary_phone,0\nluicent,1\nizumi_sai,1\namusement_park,0\nhand_on_glass,0\nhanafuda,0\nwang_liu_mei,4\nblazblue:_central_fiction,3\noversized_forearms,0\ndelmogeny_uniform,0\nstained_clothes,0\nmyrtenaster,0\npriestess_(goblin_slayer!),4\nzaku_ii,4\nsound_voltex,3\nnakahira_guy,1\ntakatsuki_ichi,1\nhinoa,4\ncorsage,0\noda_non,1\ntakitarou,1\nlockon_stratos,4\nsei_shoujo,1\nnathan_seymour,4\nnudist_beach_uniform,0\ndelicious_party_precure,3\nnobita_(makoto7060355),1\nyajirushi_(chanoma),1\nsatsuki_kai_ni_(kancolle),4\nnarciso_anasui,4\nmononobe_alice,4\nfaustsketcher,1\ncure_muse_(yellow),4\nminarai,1\nresident_evil_5,3\nnipple-to-nipple,0\nnu_carnival,3\nmochizuki_shiina,1\nshokuyou_mogura,1\nglory_wall,0\ngrey_bowtie,0\nxblaze,3\nfour_goddesses_online:_cyber_dimension_neptune,3\nda_capo_i,3\nmasked,0\nssalbulre,1\ngenderswap_(otf),0\nzuikaku_kai_ni_(kancolle),4\nkallen_kaslana,4\ntofu,0\nyuuki_rika,1\nmountain_of_faith,3\noda_nobukatsu_(fate),4\ngae_buidhe_(fate),0\nsw_(taco),1\nruton-niki,1\nonigirikun,1\nideolo,1\nwhite_garter_straps,0\nshaymin,4\nelizabeth_liones,4\ndsmile,1\nkeenh,1\ndiploma,0\nkuromiya_raika,4\naikatsu_friends!,3\ncoconut_tree,0\nholding_microphone_stand,0\nzorua,4\nalphonse_(white_datura),1\nhakozaki_serika,4\nkomori_kiri,4\npairan,1\nnonohara_yuzuko,4\ncream_(nipakupa),1\nyamada_tae,4\nyoshioka_yoshiko,1\nrubbing,0\nside-seamed_legwear,0\nefukei,1\nhanasaka_houcha,1\nhat_belt,0\ntsukasawa_takamatsu,1\nmin_min_(arms),4\nizumi_tsubasu,1\nsophia_(fire_emblem),4\nburied,0\nkutsuki_kai,1\npravda_(emblem),0\nhaneru,1\niwasaki_minami,4\nsoejima_shigenori,1\namisu,1\ntakao_(aoki_hagane_no_arpeggio),4\ndesert_eagle,0\nnaka_kai_ni_(kancolle),4\nstopwatch,0\nshaman_king,3\nhand_on_floor,0\nhakusai_(tiahszld),1\namerican_beaver_(kemono_friends),4\nkonoha_(kagerou_project),4\nmdr_(girls'_frontline),4\nlaserflip,1\nkissing_neck,0\nbars,0\ncrotchless_pants,0\nforked_tail,0\nak-15_(girls'_frontline),4\nwiping,0\nkurapika,4\nayato,1\ndusk_ball,0\nshibuki_ran,4\nlucas_(mother_3),4\ngladiia_(arknights),4\nbridle,0\nken_(koala),1\nbaccano!,3\nsheep_costume,0\nfujibayashi_ryou,4\npuppet_rings,0\nrobert_e._o._speedwagon,4\nmagatama_hair_ornament,0\nkujou_ichiso,1\ngustav_(telomere_na),1\ntobi_(one),1\nproject_diva_2nd,3\nbedivere_(fate),4\nkirisaki_chitoge,4\nkanno_naoe,4\nblocking,0\nplaying_sports,0\nnaizuri,0\nholding_bra,0\nholding_chain,0\nhangar,0\nrory_mercury,4\namane_suzuha,4\nfinger_frame,0\nnipple_chain,0\nzekkyon,1\nplaying_with_another's_hair,0\npamiat_merkuria_(azur_lane),4\nmob_psycho_100,3\ntwo-tone_hoodie,0\nstar_driver,3\nartsy-rc,1\nmasuishi_kinoto,1\nshuzi,1\ndisco_brando,1\nflying_button,0\nstapler,0\nmarkings,0\nyami_yuugi,4\nsuspenders_slip,0\nrice_hat,0\nsasaki_akebi,4\ncobblestone,0\nikezawa_hanako,4\ntrophy,0\nsaipaco,1\nkirakishou,4\nbrock_(pokemon),4\nsouth_dakota_(kancolle),4\nhitsugi_no_chaika,3\nkasugano_sora,4\nportgas_d._ace,4\nholding_cross,0\nikeda_jun_(mizutamari),1\nalvin_(tales),4\nachilles_(fate),4\ngazing_eye,1\nnero_claudius_(bride)_(second_ascension)_(fate),4\neunie_(xenoblade),4\nshermie_(kof),4\ntakafuji_kako,4\nsword_on_back,0\nmtu_virus,0\nyu_yu,1\nmatsudaira_touko,4\nrex_k,1\nlying_on_water,0\nbeaker,0\nneit_ni_sei,1\nshiratsuyu_kai_ni_(kancolle),4\nfood_bite,0\nhand_on_own_forehead,0\ntorn_coat,0\namezawa_koma,1\nenlightened_byleth_(female),4\nyakisobapan_tarou_&_negitoro-ko,1\nmisaka_worst,4\near_grab,0\nwinged_hair_ornament,0\ndaive,1\nnono_hana,4\narm_between_legs,0\nmaple_leaf_print,0\ngradient_wings,0\nliving_hair,0\ntreecko,4\nyakiimo,0\nyukimura_aoi,4\nelizabeth_(persona),4\nfalling_card,0\ngunp,1\nwatching,0\nmetal_gear_solid_v,3\nkekkai_sensen,3\nblack_garter_straps,0\ncarrying_bag,0\nelbow_sleeve,0\narmored_core,3\neho_(icbm),1\narm_on_head,0\ndark_clouds,0\ntable_tennis_paddle,0\nelma_(maidragon),4\nushiromiya_rosa,4\nrunny_nose,0\nbilibili,3\nf.s.,1\ncure_passion,4\nsmartphone_case,0\nitou_chika,4\nushiromiya_natsuhi,4\nsasamori_tomoe,1\nnucomas,1\nluke_fon_fabre,4\nphantom_ix_row,1\nrecord_of_lodoss_war,3\ngrid_background,0\nholding_another's_leg,0\nkakure_eria,1\nsangokushi_taisen,3\ngensou_suikoden_v,3\ncirce_(fate),4\nuncle_and_niece,0\nhiburi_(kancolle),4\nbillboard,0\nblue_oni,0\nhanekoto,1\ngrey_apron,0\nnatsuki_rin,4\ngunslinger_girl,3\ngrea_(shingeki_no_bahamut),4\ngarou:_mark_of_the_wolves,3\nechidna_(re:zero),4\nbacon,0\nkawanishi_shinobu,4\noozora_akari,4\nayakashi_(monkeypanch),1\nhappy_facial,0\nhitec,1\ntsumami_kanzashi,0\nparty,0\ncaramelldansen,0\nadaman_(pokemon),4\ninktober,0\nnaruko_(naruto),4\nuu~,0\nhood_(azur_lane),4\nmonikano,1\ncross-body_stretch,0\nakino_sora,1\nfever,0\nblack-tailed_prairie_dog_(kemono_friends),4\nmerman,0\nflip_flappers,3\nlow-cut_armhole,0\nred_nose,0\nbad_leg,0\nsugoi_dekai,0\ntsurukame,1\nmiyasu_risa,1\ncarton,0\nfumo_(doll),0\nporing,4\nastaroth_(shinrabanshou),4\nshirayuki_chiyo,4\ngundam_0083,3\ntweyen_(granblue_fantasy),4\nanti-aircraft_gun,0\namerican_flag_shirt,0\nwindsock,0\nsubaru_duck,4\nhanauna,1\nkunreishiki,0\njudo_fuu,1\nchocolat_(momoiro_piano),1\nshimushu_(kancolle),4\nnorthern_italy_(hetalia),4\ncourtney_(pokemon),4\nkikuyoshi_(tracco),1\nyukikaze_panettone,4\nhange_zoe,4\ndan_(kumadan),1\nwakura_(gcdan),1\nseele_(alter_ego),4\nshibacha,1\nudon,0\nmatsumae_ohana,4\nkasuga_mirai,4\npepper,0\nkitten,0\nookuma_nekosuke,1\nrockhopper_penguin_(kemono_friends),4\nwanaata,1\ntripod,0\nairi_(queen's_blade),4\nkiller_queen,4\nl_hakase,1\nenna_alouette,4\nhope's_peak_academy_school_uniform,0\narisa_bannings,4\nglitchedpuppet,1\nbarbara_(summertime_sparkle)_(genshin_impact),4\norange_headband,0\nmanhwa,0\ndungeons_and_dragons,3\ninconvenient_breasts,0\neudetenis,1\nplayground,0\npdf_available,5\ncurled_up,0\nashley_(warioware),4\nburiki,1\ncozy,1\nfish_tank,0\nmedieval,0\nroxas,4\nelena_(street_fighter),4\nholding_notebook,0\nrosuuri,1\ntakozonesu,4\nace_of_spades,0\nhyuuga_saki,4\nnoshiro_(azur_lane),4\nusopp,4\npokachu,1\nmdf_an,1\njessica_(arknights),4\nshellvi,1\nyoshizawa_tsubaki,1\nkinta_(distortion),1\nyamasaki_wataru,1\ncherry_print,0\nkomori_kei,1\nmazaki_anzu,4\nreptile_girl,0\ntanaka_kotoha,4\nyuugiri_(zombie_land_saga),4\nkiana_kaslana_(herrscher_of_the_void),4\nmakoto_(princess_connect!),4\nshichigatsu,1\nsnake_print,0\nmaruzensky_(umamusume),4\nryo_(botugo),1\nshikitani_asuka,1\nholding_another's_foot,0\nthe_world,4\nabsol,4\nnina_(fire_emblem),4\nmai_(touhou),4\npurple_collar,0\nheart_panties,0\nshopping_cart,0\nmud,0\nhedgehog,0\nhenshako,1\nhitomaru,1\nchoujigen_game_neptune_mk2,3\nnabeshima_tetsuhiro,1\nyamagishi_yukako,4\nlyn_(blade_&_soul),4\nhisen_kaede,1\ngirl_holding_a_cat_(kancolle),4\nheidimarie_w._schnaufer,4\naircraft_carrier_princess,4\natelier_sophie,3\nanbe_yoshirou,1\nmiyamori_aoi,4\nkazuma_(kazumav),1\nkanpani_girls,3\ngengetsu_(touhou),4\nimpossible_sweater,0\noar,0\nfathom,1\nmaking-of,5\na_channel,3\nwedge_heels,0\nrinotuna,1\nstriped_neckerchief,0\nvignetting,0\ncroissant,0\ntoothpick,0\nmedaka_box,3\nookurikara,4\nflagpole,0\nblaziken,4\npola_(azur_lane),4\ntank_helmet,0\nhands_on_headphones,0\nkaburagi_kaede,4\nwaddle_dee,4\nbreath_of_fire_v,3\ntanaka_asuka,4\nkinugasa_kai_ni_(kancolle),4\nseneto,1\nsyhan,1\nhiraga_matsuri,1\ntext_messaging,0\nplaid_legwear,0\nhijikata_toushirou,4\nscp_foundation,3\nchuunibyou,0\nhugh_(pokemon),4\niron_saga,3\nchanging_room,0\nheart_maebari,0\njasmine_(pokemon),4\nson_goten,4\narin,4\nmakai_senki_disgaea_3,3\nmale_doctor_(arknights),4\nchoke_hold,0\na-chan_(hololive),4\namagai_tarou,1\ntateha_(marvelous_grace),1\noryou_(girls_und_panzer),4\nnero_claudius_(swimsuit_caster)_(third_ascension)_(fate),4\ntsukemon,1\nho-oh,4\nwanted,0\nchobits,3\ncatura_(granblue_fantasy),4\nbravely_default:_flying_fairy,3\nusb,0\nrussian_flag,0\nfumio_(ura_fmo),1\nsaburou_(hgmg),1\nmiura-n315,1\nfakepucco,1\nkishiyo,1\nstiletto_(weapon),0\nshirokami_project,3\nbaron_bunny_(genshin_impact),4\ntoilet_stall,0\nhuge_testicles,0\nfudou_yuusei,4\nhoozuki_no_reitetsu,3\nnilitsu,1\nomamori_himari,3\nrouge_the_bat,4\nousama_ranking,3\nfushigiboshi_no_futago_hime,3\nshadow_the_hedgehog,4\nyu-ta,1\ndamda,1\ntokiani,1\nanna_miller,0\ncure_berry,4\noryou_(fate),4\nanato_finnstark,1\nzakusi,1\nyellow_sailor_collar,0\nyetworldview_kaze,1\ntorichamaru,1\nkuresento,1\nhairstyle_switch,0\nfio_germi,4\nayanepuna,1\npregnancy_test,0\nmaster_(vocaloid),4\nsixten,1\nnekomamire,1\nlucy_(cyberpunk),4\ndeer_girl,0\nfake_magazine_cover,0\nwatarase_jun,4\nqueen_of_sheba_(fate),4\nshingyou_(alexander-13),1\nkl,1\nzodiac,0\nkojo_anna,4\ndarjeeling_(reley),1\nning_hai_(azur_lane),4\n47agdragon,1\nhaman_karn,4\nbonkara_(sokuseki_maou),1\npadlocked_collar,0\n404_(girls'_frontline),0\nayasugi_tsubaki,1\nhakika,1\nerrant,1\nclamp_(circle),1\nrolling,0\nsasayuki,1\nmeasurements,0\nyone_kinji,1\nbeifeng_han,1\nshin'ya_(nanp),1\ngyarados,4\nfront-tie_bra,0\nblue_pubic_hair,0\nradish_p,1\ncross_tie,0\nsquare,0\njeanne_d'arc_(girl_from_orleans)_(fate),4\nusoneko,1\nsitting_on_water,0\ne10,1\ntime_stop,0\ntinker_bell,1\nkamen_rider_fourze_(series),3\npiano_keys,0\neinhart_stratos,4\newa_(seraphhuiyu),1\nxion_(kingdom_hearts),4\naburaage,0\nwacchi,1\nindomitable_(azur_lane),4\nreaper_(overwatch),4\ntoo_many_frills,0\nfuryou_michi_~gang_road~,3\nmulticolored_neckwear,0\nmetal_gear_rising:_revengeance,3\ngrimsley_(pokemon),4\ntsukareta_san,1\npoop,0\neiwa,1\nsaber_(cosplay),0\nperoponesosu.,1\nhazawa_tsugumi,4\nflintlock,0\nume_(plumblossom),1\nhinata_yuu,1\nokama,1\nfur-trimmed_shirt,0\nkneeless_mermaid,0\nmakio_(makiomeigenbot),1\npink_tank_top,0\nkuronuko_neero,1\nneco-arc,4\naliasing,5\ngrizzly_mkv_(girls'_frontline),4\ntexas_(winter_messenger)_(arknights),4\nhead_on_head,0\nkingdom_hearts_birth_by_sleep,3\ngummy_(arknights),4\ncovered_testicles,0\no-ring_belt,0\ntomu_(tomubobu),1\nexoskeleton,0\nisland_fox_(kemono_friends),4\nweapon_case,0\nyatogami_tooka,4\nheart-shaped_boob_challenge,0\nlain_paterson,4\nsora_wo_kakeru_shoujo,3\nwitchblade,3\nyuugen,1\nbig_eyes,0\nunbuttoned_shorts,0\nkedamono_kangoku-tou,1\nkaminagi_(kaminagi-tei),1\nana_(overwatch),4\nmorag_ladair_(xenoblade),4\ndog_hair_ornament,0\naqua_hairband,0\nprecum_drip,0\nsurrounded,0\ncut-in,0\ngabiran,1\neugeo,4\npixiv_fantasia_age_of_starlight,3\nheart_facial_mark,0\nwarspite_(azur_lane),4\ndeviantart_sample,5\nhikigaya_hachiman,4\nkaname_buccaneer,4\ntwig,0\nclear_sky,0\nhigurashi_kagome,4\normille,1\nnotched_lapels,0\nhijikata_toshizou_(fate),4\nginkgo,0\ncharisma_break,0\nlove_laika_(idolmaster),0\nwamuu,4\nnekoguruma,1\nfood_insertion,0\nhikami_sumire,4\ninnerboob,0\nsumisu_(mondo),1\nanemone_(eureka_seven),4\nmadjian,1\nhiiragi_yuuichi,1\nshorts_tan,0\nviral_(ttgl),4\nkomasan,4\na_(phrase),0\nemma_verde,4\nameno_(a_meno0),1\nakatsuki_akane,1\nmutsuki_(azur_lane),4\nwsman,1\nshakujou,0\ncapura_lin,1\nakemi_homura_(cosplay),0\ngia,1\nsoulcalibur_iv,3\nkiyama_hiroto,4\nintestines,0\nyoshizaki_mine,1\nheanna_sumire,4\nred_cardigan,0\npeach_(momozen),1\nuzumaki_boruto,4\nmetal_skin,0\nmaze_(gochama_ze_gohan),1\nhunched_over,0\nmega_man_star_force,3\nc-button,1\nkurata_rine,1\njema,1\nyellow_border,0\nraw_egg_lent,1\ndirty_pair,3\nflower_(vocaloid),4\ntakaman_(gaffe),1\neriko_(princess_connect!),4\notome_game_no_hametsu_flag_shika_nai_akuyaku_reijou_ni_tensei_shite_shimatta,3\nurban_legend_in_limbo,3\ncyan_(show_by_rock!!),4\ndrop_earrings,0\nbaba_konomi,4\nshirogane_(platinum),1\ngrisaia_no_kajitsu,3\nkalmahul,1\nrefraction,0\nshampoo_bottle,0\nsleigh,0\nminakami_mai,4\nwarfarin_(arknights),4\nmel/a,1\ntiffy_(nottytiffy),4\nhimejoshi,0\nalex_ahad,1\nfran_(ff12),4\nerina_pendleton,4\nsankuro_(agoitei),1\ngoomy,4\nrei_(cookie),4\nseiran_(mousouchiku),1\ndoma_umaru,4\ncinnabar_(houseki_no_kuni),4\nmipha,4\nbubble_background,0\nhiro_(hidamari_sketch),4\nsilver_(chenwen),1\nsquigly_(skullgirls),4\naurora_(arknights),4\nfried_rice,0\nemori_miku_project,3\nazumi_kazuki,1\nwhale_hair_ornament,0\nwhite_pubic_hair,0\nakira,3\nina_(gokihoihoi),1\nkawase_seiki,1\ngantz,3\nazuma_yuki,1\nshibafu_(glock23),1\nwild_arms_1,3\nseto_no_hanayome,3\ntsurusaki_takahiro,1\ncccpo,1\nspiral,0\nschool_girl_strikers,3\nparagasu_(parags112),1\njibanyan,4\niino_miko,4\nhu_dako,1\nindian_clothes,0\nwreckage,0\nutsurogi_angu,1\nchou-10cm-hou-chan,4\nrachnera_arachnera,4\ngorilla,0\ndragon_ball_(object),0\nspace_print,0\nbanchou,0\nkugimiya_atsuki,1\ntappa_(esperanza),1\nnaruse_mai,1\nmishou_mai,4\nsaku_(kudrove),1\nsaku_(osake_love),1\nbident,0\nwidow's_peak,0\noven,0\ncrest,0\nswallowing,0\nyaranaika,0\ngokotai's_tigers,4\nkouyouen_academy_school_uniform,0\nmikagami_sou,1\noil_painting_(medium),0\n:c,0\nelf_(dragon's_crown),4\natelier_meruru,3\nloose_thighhigh,0\nrororina_fryxell,4\nfeguimel,1\ntenga,0\njacket_over_shoulder,0\nshingyouji_tatsuya,1\ncaidychen,1\nsoma_peries,4\ndigital_clock,0\nprice_tag,0\nregu_(made_in_abyss),4\nlow-braided_long_hair,0\nrhythmic_gymnastics,0\nmousepad_(medium),0\nbyleth_(summer)_(fire_emblem)_(female),4\nshiraishi_tsumugi,4\ngalge.com,3\namuro_tooru,4\nmiko_(royal_milk),1\nmassakasama,1\ncandy_(smile_precure!),4\nevangelion_(mecha),0\ntoe_cleavage,0\nspread_navel,0\nyagami_taichi,4\nbreast_pillow,0\nchikado,1\nanother,3\ntokumi_yuiko,1\nbirii,1\nhannya,0\noctane_(apex_legends),4\ntorn_bikini,0\nred_pubic_hair,0\nyamada_(gotyui),1\nikusaba_daisuke,4\nkazutake_hazano,1\nborn-to-die,1\njiji_(aardvark),1\ncovering_another's_eyes,0\nakeyama_kitsune,1\nmovie_poster,0\nblack_mage,4\nshirogane_tsumugi,4\nwater_yoyo,0\nlatios,4\nhayashi_kewi,1\ntokunou_shoutarou,1\nminami_kana,4\nallelujah_haptism,4\nfood_on_hand,0\nyandere_sample,5\ntakao_(beach_rhapsody)_(azur_lane),4\nbeaver_ears,0\nminoto,4\nwalpurgisnacht_(madoka_magica),4\nfloating_skull,0\nel_condor_pasa_(umamusume),4\nmuchi_maro,1\njacket_lift,0\ncommentary_typo,5\nhalf_note,0\nmyon_(phrase),0\ncase,0\nsource_filmmaker_(medium),5\nnarusawa_ryouka,4\ntank_shell,0\njapan_self-defense_force,0\nbrown_pubic_hair,0\n;<,0\nayagi_daifuku,1\nfrancis_drake_(fate),4\nar_tonelico_iii,3\ntakemori_shintarou,1\nkafu,1\nyutazou,1\nstarraisins,1\nebisuzawa_kurumi,4\ndouble_amputee,0\nhonjou_raita,1\nyamabuki_high_school_uniform,0\naegir_(housamo),4\nchata_maru_(irori_sabou),1\nshamo_(koumakantv),1\ngin'you_haru,1\nkanae_(nijisanji),4\nmatou_shinji,4\npet_food,0\npikachu_(cosplay),0\nsengoku_rance,3\njiji_(majo_no_takkyuubin),4\nkitsu_chiri,4\nhachiko_(hati12),1\nholed_coin,0\narcade,0\ntabigarasu,1\npapi_(monster_musume),4\nkamishima_kanon,1\nhigh_elf_archer_(goblin_slayer!),4\nmagic:_the_gathering,3\nubanis,1\nred_curtains,0\ncentorea_shianus,4\nfield_of_blades,0\nillyasviel_von_einzbern_(beast_style),4\nkishinami_hakuno_(male),4\ntsunashi_hajime,4\nsakurazaki_setsuna,4\ntop_wo_nerae_2!,3\nange_vierge,3\namazuki_jou,1\nmiyaura_sanshio,4\ntachimi_(basue),1\naugust_von_parseval_(azur_lane),4\ngavial_(arknights),4\nyudepii,1\nquetzalcoatl_(fate),4\ndeer_tail,0\nrfb_(girls'_frontline),4\ntakane_manaka,4\nookami-san,3\nkazekoshi_school_uniform,0\nsui-feng,4\nlaura_la_mer,4\neruruw,4\nmuryotaro,1\nmissile228,1\nrussia,0\ngrandia_i,3\nkoinobori,0\nbiplane,0\niris_heart,4\nponytail_korosuke,1\nfront-seamed_legwear,0\nfemale_commander_(girls'_frontline),4\nfortified_suit,0\nyagate_kimi_ni_naru,3\nmizuki_yukikaze,4\nlace_background,0\nelize_lutus,4\nnao_(ritsancrossover),1\nedna_(tales),4\nnijou_noriko,4\nkazenoko,1\norange_planet_uniform,0\nonegai_teacher,3\npirate_costume,0\ntakaya_n,1\ncygnet_(azur_lane),4\npiranha_plant,4\nhinamori_amu,4\ndoudanuki_masakuni,4\ndrain_(object),0\npikmin_(series),3\nbemani,3\nbrown_horns,0\ngorgeous_mushroom,1\ncure_miracle,4\nnavi,4\nnanase_haruka_(free!),4\nmataichi_mataro,1\nshin'ya_(shin'yanchi),1\nmegahiyo,1\ntsunashi_kaoru,4\ntalulah_(arknights),4\nkannazuki_no_miko,3\np90_(girls'_frontline),4\ndrifters,3\nzack_fair,4\nrkrk,1\ntachitsu_teto,1\ntogepi,4\nsakamoto_(nichijou),4\nhans_christian_andersen_(fate),4\nmerchandise,0\nsewing_needle,0\nastolfo_(memories_at_trifas)_(fate),4\nshin_godzilla,3\nblack-haired_demon_girl_(shimmer),4\nmatsuoka_rin,4\naomushi_(mushamusha),1\nsynthesizer_v,3\nonsen_tamago_(hs_egg),1\ne-hentai_sample,5\ngirls'_frontline_neural_cloud,3\nmechanical_buddy_universe,3\nvincent_valentine,4\nhume,0\nserika_(blue_archive),4\narm_on_shoulder,0\nheattech_leotard,0\ninteleon,4\nduct_tape,0\nconfrontation,0\nahenn,1\ntone_kai_ni_(kancolle),4\ndodai_shouji,1\nthick_eyelashes,0\nmatsuoka_miu,4\nnaked_chocolate,0\npurple_butterfly,0\nsharing_food,0\nalina_gray,4\nformidable_(the_lady_of_the_beach)_(azur_lane),4\nwhite_flag,0\nkatsura_kotonoha,4\ntodoroki_yachiyo,4\ngendou_pose,0\nokota_mikan,1\ntouhoku_zunko,4\nnena_trinity,4\nkorwa,4\nmiyazaki_nodoka,4\nkippu,1\nsen_(sansui),1\nrouman_academy_uniform,0\npettan_p,1\nprince_of_lan_ling_(fate),4\nainy,1\nkaiji,3\nhuke,1\nry_(yagoyago),1\npackage,0\npink_tail,0\nbaby_princess,3\nakagi_towa,4\nchipa_(arutana),1\nasakuraf,1\ntexas_(willpower)_(arknights),4\ntorn_hat,0\ntanigawa_kanna,4\nrebecca_miyamoto,4\nhadou_nejire,4\nscale_armor,0\nbiwa_hayahide_(umamusume),4\nwelsh_corgi,0\nabazu-red,1\nkuso_miso_technique,3\nenglish_audio,0\nnoumen,1\nniwatori_kokezou,1\ndiagram,0\nlong_jacket,0\near_cleaning,0\nsuruga_(xsurugax),1\namamiya_hibiya,4\nkaramoneeze,1\nsakuragi_ren,1\nstar-shaped_eyewear,0\nuchiha_itachi,4\ndaitou_(kancolle),4\nkouda_tomohiro,1\nbrown_lips,0\ntakano_miyo,4\nchild_carry,0\nmickey_mouse,4\nvehicle_interior,0\nasada_hachi,1\nannie_(league_of_legends),4\namae_koromo,4\nnaruko_hanaharu,1\nbeige_skirt,0\ntea_(nakenashi),1\ntiger_i,0\nmurata_tefu,1\nnipple_penetration,0\nling_(arknights),4\nprofessor_shinonome,4\nsakamoto_ryouma_(fate),4\nhelena_(azur_lane),4\nelf-san_wa_yaserarenai.,3\nbranch_(blackrabbits),1\ngreen_headband,0\nshiina_excel,1\ngate_of_babylon_(fate),0\namy_rose,4\nrattle,0\nmusuko_ga_kawaikute_shikatanai_mazoku_no_hahaoya,3\nmirai_akari_project,3\nstreet_fighter_6,3\ndoukutsu_monogatari,3\nstitched_arm,0\ncheese-kun,4\nhoushin_engi,3\nnyama,1\nsugiyuu,1\nfujishima_shinnosuke,1\nogino_chihiro,4\nyashajin_ai,4\nchinomaron,1\nshimakaze-kun,4\nyoshida_hideyuki,1\nbandaged_fingers,0\nyukie_(peach_candy),1\nnegresco,1\nchina_(hetalia),4\nmetroid_dread,3\ntokkyu,1\ngreen_serafuku,0\ntype_97_(girls'_frontline),4\nvf-1,4\nlooking_at_hand,0\nwaterring,1\nrouka_(akatyann),1\njagaimo_(kkamja),1\nred_male_underwear,0\nblue_robe,0\nkagura_suzu,0\ndoushimasho,1\nhalo_(series),3\nmahou_shoujo_lyrical_nanoha_the_movie_1st,3\nmizuki_(flowerlanguage),1\npoppi_(xenoblade),4\nelpeo_puru,4\nsuzunari_shizuku,4\nmochizuki_kei,1\nblood_on_breasts,0\ntyrannosaurus_rex,0\nsakuraba_hikaru_(loveindog),1\nendou_saya,4\nvalkyrie_drive,3\nred_carpet,0\ncross-laced_sleeves,0\ninanaki_shiki,1\nmahora_academy_middle_school_uniform,0\nflaming_eyes,0\nyellow_pantyhose,0\ncat_on_lap,0\ncaptain_america,4\nekz_(robotekz),1\nmirai_akari,4\nmassala,1\nnishizono_mio,4\nguilty_gear_xx,3\nmarota,1\nmochiyuki,1\neuropean_clothes,0\nsakura_yuki_(clochette),1\nblowhole,0\ngilgamesh_(immoral_biker_jacket)_(fate),4\nhimiko_(fate),4\npanties_(pantsu-pirate),1\nspray_bottle,0\nnichika_(nitikapo),1\nk_mugura,1\nwrist_straps,0\nlicense_plate,0\nworm,0\noddish,4\nmizunashi_(second_run),1\nmahou_senki_lyrical_nanoha_force,3\natelier_rorona,3\namashiro_natsuki,1\nmorrigan_aensland_(cosplay),0\nazuuru,1\nwrapper,0\nkinoshita_ichi,1\nwss_(nicoseiga19993411),1\nikemeru19,1\ndarumoon,1\ncrustacean,0\ncomet,0\nfried_chicken,0\nmousetrap,0\nkumbhira_(granblue_fantasy),4\nogipote,1\nmorgan_(fire_emblem),4\nsaga_frontier_2,3\nsquare_mouth,0\nfujino_shizuru,4\ntiffania_westwood,4\nmake_up_in_halloween!_(umamusume),0\nprincess_(princess_principal),4\nlarge_hands,0\nindex_fingers_raised,0\nazazel_(helltaker),4\nknitting,0\nshimura_shinpachi,4\n3.1-tan,4\nmisogi_(princess_connect!),4\nkuji-in,0\nhaganef,1\ngaming_chair,0\noowada_mondo,4\nrikku_(ff10),4\nkawashima_mizuki,4\nroman_clothes,0\ncure_honey,4\nvidel,4\nburnt,0\nmoriya's_iron_rings,0\nsawayaka_samehada,1\nnaegi_(naegidokoro),1\nemotional_engine_-_full_drive,0\nsiraha,1\nconcrete,0\nbridal_lingerie,0\nkurukurumagical,1\nharamaki,0\nlzh,1\neizouken_ni_wa_te_wo_dasu_na!,3\nkuuchuu_yousai,1\narmored_leotard,0\nmappaninatta,1\npiapro,3\ntokoroten_(hmmuk),1\n4others,0\nsports_festival,0\nkojima_takeshi,1\nkimura_natsuki,4\nholding_remote_control,0\nminimap,0\ntamamo_no_mae_(swimsuit_lancer)_(third_ascension)_(fate),4\noda_takayuki,1\nnamonashi,1\nclothed_male_nude_male,0\nama_usa_an_uniform,0\nkupaa,0\nyumekui_merry,3\nryogo,1\ndandara_(karakure),1\nhotate-chan,1\nnewo_(shinra-p),1\ngachou,1\npina_(sao),4\nkanden_sky,1\ninner_senshi,0\nkriss_vector,0\nbubble_bath,0\naoki_shizumi,1\nseed,0\neyecatch,5\nluna_(sailor_moon),4\nbig_head,0\nshin_megami_tensei_v,3\nishimaru_kiyotaka,4\nhachi_(chihagura),1\nlarge_syringe,0\nskeptycally,1\nkobayashi_yuuji,1\ngogalking,1\nyuumei,1\nshoujo_kageki_revue_starlight_-re_live-,3\ntadano_kagekichi,1\nchamaruku,1\nschool_swimsuit_flap,0\nsukemyon,1\nresident_evil_3,3\nryou-san,1\nmatsuda_chiyohiko,4\npenis_shadow,0\nweasel_tail,0\nfiery_tail,0\ntamamura_gunzo,4\nchimchar,4\npov_across_bed,0\nnausicaa,4\nzange,4\nyana_(nekoarashi),1\nfemale_butler,0\njiroo,1\nin_bowl,0\nyuuka_nonoko,1\nmeandros,0\nso_moe_i'm_gonna_die!,0\nnanashii_(soregasisan),1\nhuanxiang_heitu,1\nblue_innertube,0\nkoishi_day,0\nmorii_shizuki,1\nzessica_wong,4\ntorn_cloak,0\nmiwabe_sakura,1\nbatman,4\nbroly_(dragon_ball_super),4\ncamouflage_bikini,0\nvirtuareal,3\ngrass_root_youkai_network,0\ncerebella_(skullgirls),4\ncecil_harvey,4\norange_socks,0\nshochuumimai,0\nvest_lift,0\namasawa_natsuhisa,1\nlaboratory,0\nkayari_buta,0\nfaceplant,0\nhanging_scroll,0\nwhimsicott,4\nakatsuki_uniform,0\nnuezou,1\nartoria_pendragon_(lancer_alter)_(royal_icing)_(fate),4\nmaou_alba,1\nflying_fish,0\ncleavage_reach,0\nkazetto,1\nmagnet,0\nameto_yuki,1\nd-m_(dii_emu),1\nidolish_7,3\nmr._c.b._(umamusume),4\nwatermelon_slice,0\nobese,0\nmoe_moe_kyun!,0\nfishbowl,0\nfloating_card,0\nugatsu_matsuki,1\nasyura_kumo,1\ntakeda_hiromitsu,1\ntachibana_roku,1\nhiiragi_hazime,1\nfutaki_kanata,4\ndeath_(entity),4\ntokisaki_mio,4\nkonngara_(touhou),4\npaper_mario,3\ncoronavirus_pandemic,0\nblood_on_leg,0\ntwo-sided_jacket,0\nmiyamoto_issa,1\nokumura_rin,4\npenis_over_one_eye,0\nfur_jacket,0\nkyon_no_imouto,4\nlearning_with_manga!_fgo,3\nzepher_(makegumi_club),1\n\"mogyutto_\"\"love\"\"_de_sekkin_chuu!\",0\nooiwa_wataru,4\nkamezaemon,1\nmaji_de_watashi_ni_koi_shinasai!,3\ntsutsukakushi_tsukiko,4\nyuzu_(blue_archive),4\neclipse,0\nwoofycakes,1\ndying,0\nvilletta_nu,4\nfubuki_shirou,4\ncock_ring,0\nmaster_spark,0\nheater,0\ntonbokiri_(touken_ranbu),4\nshin'yashiki,1\nkomainu,0\nmakai_senki_disgaea_4,3\niroha_(blue_archive),4\nhimegi,1\nthe_golden_smurf,1\nlm7_(op-center),1\nfamiliar,0\ntales_of_symphonia_knight_of_ratatosk,3\njonylaser,1\nana_coppola,4\nnagayori,1\ndakemakura-koubou,1\ncoat_dress,0\nair_shakur_(umamusume),4\ngwen_(league_of_legends),4\nyoko_juusuke,1\nhat_over_eyes,0\nikeda_chitose,4\nscreen_light,0\ncinnamiku,4\nmartial_arts,0\nikeshita_moyuko,1\nimplied_extra_ears,0\nblue_tail,0\nsymmetrical_hand_pose,0\nplain_doll,4\nhand_on_table,0\ntsuzuri_(tuzuri),1\nalpaca_tail,0\ntaiki_shuttle_(umamusume),4\nwaltrud_krupinski,4\n2005,0\nutsusumi_kio,1\nakou_roushi,1\nhuman_furniture,0\nnecomi,1\naqua_shorts,0\nyasume_yukito,1\nsoredemo_ayumu_wa_yosetekuru,3\nholding_frying_pan,0\nxiaoxi0619,1\nlana's_mother_(pokemon),4\nmole_on_armpit,0\ncinnamoroll,4\nbikini_removed,0\nmonika_weisswind,4\nankle_bow,0\ndorei_to_no_seikatsu_~teaching_feeling~,3\ncable_tail,0\nsaijou_claudine,4\nhonda,0\nskull_on_head,0\nmario_kart,3\nkuro_yuzu,1\nkanna_(plum),1\nzanshomimai,0\nmaeda_toushirou,4\nhachune_miku,4\nmiri_(ago550421),1\nbaton_(weapon),0\nfor_adoption,0\nikegami_akane,1\nm&m_(mickey_and_mackey),1\ntendou_maya,4\nechj,1\nbroken_halo,0\nheart_straw,0\ndanshi_koukousei_no_nichijou,3\nlowleg_shorts,0\nbae.c,1\nmitsumine_yuika,4\nburan_buta,1\nsaturday_night_fever,3\nsesshoumaru,4\nhigashiyama_kobeni,4\npower-up,0\nkebab,0\nnakamura_takeshi,1\nmana_(remana),1\nmao_lian_(nekokao),1\nblood_on_bandages,0\nsuper_sailor_moon,4\nnaruto:_the_last,3\ntop_wo_nerae!,3\nnaked_suspenders,0\nooarai_naval_school_uniform,0\nartoria_pendragon_(swimsuit_archer)_(fate),4\ngyakushuu_no_fantasica,3\nichijou_hotaru,4\nleopard_girl,0\ncinderella_girls_card_parody,0\nomone_hokoma_agm,1\nblack_clover,3\ndiamond_hairband,0\npandora_hearts,3\naccio,1\nenjaku_izuku,1\nkokka_han,1\nyujup,1\nwitch's_labyrinth,0\ncham_cham,4\nadjusting_scarf,0\nvinegar_doppio,4\ncentipede,0\nred_armband,0\nkadoc_zemlupus,4\nporforever,1\nyuu_(higashi_no_penguin),1\nsword_art_online_alternative:_gun_gale_online,3\nthe_witcher_(series),3\nlilith_(machikado_mazoku),4\nstar_facial_mark,0\nmole_on_pussy,0\nswiss_roll,0\nmisteor,1\nsakayama_shinta,1\niron_man,4\npersimmon,0\nyuasan,1\ndeltarune,3\nfly,0\nweapon_focus,0\nleonie_pinelli,4\nblack_male_swimwear,0\nninja_slayer,3\nloliconder,1\nmarui_mitsuba,4\nmutsu-no-kami_yoshiyuki,4\ngoyain,1\nwiping_mouth,0\nkousaka_umi,4\ngenos,4\nshiwasu_no_okina,1\ncraft_lawrence,4\ngunbuster_pose,0\nto_be_continued,0\nshaft_look,0\nleon_(mikiri_hassha),1\nspray_paint,0\nramudia_(lamyun),1\nwhite_len_(tsukihime),4\nsingle_mechanical_hand,0\nfive-seven_(girls'_frontline),4\nnaoi_ayato,4\nbonsai,0\ncrosshatching,0\nmukka,1\nkotonomiya_yuki,4\nhanging_light,0\nelbow_on_knee,0\nhaibane_renmei,3\nsola-ui_nuada-re_sophia-ri,4\ntoudori,1\nsumeragi_lee_noriega,4\nex-rumia,4\natsushi_toushirou,4\ntupet,0\nboomerang,0\nsaigyouji_yuyuko's_fan_design,0\nchild_gilgamesh_(fate),4\nkiratto_pri_chan,3\nnekomata_naomi,1\non_roof,0\nholding_shovel,0\nyuuki_rito,4\nhakama_shorts,0\ndamian_desmond,4\nkamiyoshi_rika,1\nmuffin,0\nmarimo_danshaku,1\nmiyanaga_teru,4\nprison_school,3\nkusano_(torisukerabasu),1\nchoco_chip,1\nmazinger_z,3\nmahou_shoujo_lyrical_nanoha_a's_portable:_the_battle_of_aces,3\nmimi_(princess_connect!),4\npolice_badge,0\nkaiba_seto,4\nedobox,1\nhugging_own_tail,0\nmage_(dungeon_and_fighter),4\nlotte_jansson,4\noda_nobunaga_(swimsuit_berserker)_(fate),4\nkairakuen_umenoka,1\nharunatsu_akito,1\nbed_frame,0\nyoban,1\nleina,4\nincineroar,4\nkirigakure_(kirigakure_tantei_jimusho),1\nboyshort_panties,0\nimmobilization,0\nsasahara_yuuki,1\nfilm_strip,0\nsailor_moon_(cosplay),0\nsono_midoriko,4\nwactor_production,3\nars_almal,4\nluvdisc,4\npokemon_tail,0\nninimo_nimo,1\nlilish,1\nstuffed_frog,0\nstained_sheets,0\nsasaki_kojirou_(fate),4\nsekira_ame,1\nstage_connection,0\nnanaponi,1\ntrunks_(future)_(dragon_ball),4\npizza_hut,3\noogaki_chiaki,4\npupps,1\nmovie_theater,0\nkinoshita_hideyoshi,4\n.flow,3\nninoko,1\npants_removed,0\ndinosaur_tail,0\nnamine,4\nfushigi_no_dungeon,3\nshu-mai,1\nitaly,0\nponponmaru,1\nshiba_itsuki,1\nprimarina,4\ntoga,0\nmonochrome_background,0\nasa_no_ha_(awayuki),1\nchuunioniika,1\nmogu_(au1127),1\niori_(swimsuit)_(blue_archive),4\ndedenne,4\nbronya_zaychik_(silverwing:_n-ex),4\nmulticolored_leotard,0\nuppercut,0\nhoshizora_ikuyo,4\nabo_(hechouchou),1\nsakutarou_(umineko),4\ncowfee,1\nd;,0\ntadano_magu,1\ncassandra_alexandra,4\n7th_dragon_2020,3\nmyrtle_(arknights),4\ncure_flora,4\naircraft_carrier,0\nbaretto_(karasi07),1\nbomber_grape,1\nwrestling_mask,0\ngreen_cardigan,0\narm_sling,0\nmil_(xration),1\nree_(re-19),1\nkatsushika_hokusai_(swimsuit_saber)_(fate),4\nbutterfly_tattoo,0\nforever_7th_capital,3\nhand_on_another's_knee,0\nshiori_(princess_connect!),4\nmirei,1\ndragonslayer_(sword),0\nneferpitou,4\nkelvin_hiu,1\nshouji_ayumu,1\nklaius,1\ngerudo_set_(zelda),0\nkanzaki_kaori,4\naile_(mega_man_zx),4\npine_(bombergirl),4\nshunichi,1\nmanta_ray,0\ncheer_(cheerkitty14),1\nlei,0\nroyal_robe,0\nprince_of_wales_(azur_lane),4\nalicia_florence,4\nchaos_online,3\nmugetsu_(touhou),4\nsinon_(sao-alo),4\ntougou_mimori,4\nmachamp,4\nyellow_camisole,0\ngouta_(nagishiro6624),1\nmari_(blue_archive),4\n119,1\nkazaana,1\nwhistling,0\nhikage_(senran_kagura),4\nmarvel_vs._capcom,3\njingai_modoki,1\nhowl_no_ugoku_shiro,3\npan_(dragon_ball),4\nkatanagatari,3\nmikage_sekizai,1\nshinonome_ena,4\nkataoka_yuuki,4\nhaniwa_(leaf_garden),1\ncsyday,1\nsevered_hair,0\nes_(xblaze),4\narm_on_knee,0\ncloba,1\nmusashi_kai_(kancolle),4\nkid_(chrono_cross),4\ntristan_(fate),4\ntaiwan_(hetalia),4\nnagi_ryou,1\ntatami_to_hinoki,1\nsakiyo_cake,1\nkon-kit,1\notomachi_una,4\noogai_daiichi_middle_school_uniform,0\nshipii_(jigglypuff),1\nchevalier_d'eon_(fate),4\ncbt,0\nkaname_aomame,1\nsore_wa_bokutachi_no_kiseki,0\naika_granzchesta,4\nflayn_(fire_emblem),4\nred_star,0\nklara_(pokemon),4\nkatagiri_hinata,1\nwolf_costume,0\npoprication,1\npixiv-tan,4\nnail_polish_bottle,0\nronald_mcdonald,4\ntsunderia,3\neggshell,0\ncracking_knuckles,0\ngift_art,5\nmauser_98,0\nfuji_(pixiv24804665),1\nkannko_bokujou,1\nhand_over_another's_mouth,0\nlydian_academy_uniform,0\ntakemaru_(housamo),4\nredlhzz,1\nhashibira_inosuke,4\nandou_shuki,1\nstudying,0\naqua_thighhighs,0\nh2so4,1\ngrid,0\nhamada_yoshikazu,1\ngene_(pso2),4\nfukube_satoshi,4\npandea_work,1\nmikazuchi_zeus,1\ntraffic_baton,0\nzebra_print,0\nbattlefield,0\nshimejinameko,1\nnikoo,1\ncurious,0\nhairband_removed,0\nmihoyo,3\ncarrying_overhead,0\nniy_(nenenoa),1\nhinako_note,3\ntamamo_cat_(second_ascension)_(fate),4\ncupping_glass,0\nmonorus,1\nha-class_destroyer,4\nsharingan,0\nfire_emblem:_new_mystery_of_the_emblem,3\nbrown_border,0\ncomah,1\ntagme,5\numamusume_summer_story_(umamusume),0\ndistr,1\nkago_no_tori,1\nyuzuki_gao,1\nsouda_kazuichi,4\nakita_toushirou,4\nkinona,1\nenergy_blade,0\nsony,3\nmitsuba_choco,1\nhand_on_ear,0\nchicago-x,1\nrosa_(tears_of_themis),4\nshiraha_maru,1\nlunchbox,0\nbowtie_removed,0\ndeetamu,1\nmillhiore_f._biscotti,4\nhimeya_company_uniform,0\nshun_(rokudena-shi),1\nalcina_dimitrescu,4\ntsukumihara_academy_uniform_(fate/extra_ccc),0\namamiya_kokoro,4\ncovered_anus,0\ntomoe_gozen_(swimsuit_saber)_(first_ascension)_(fate),4\nwinning_ticket_(umamusume),4\nsuterii,1\nkawasumi_mai,4\nmoekibara_fumitake,1\nfingers_to_mouth,0\nyoshida_keiji,1\nsukage,1\nlangbazi,1\nzawameki,1\niona,4\nsyroh,1\ngintarou_(kurousagi108),1\nwhite_mittens,0\nhaguhagu_(rinjuu_circus),1\nspace_ishtar_(fate),4\narena_(company),0\nrobaco,1\ncream_puff,0\nglove_bow,0\nairi_(the_infernal_temptress),4\nblack_babydoll,0\nkobamiso_(kobalt),1\nstriped_vest,0\nunlimited_blade_works_(fate),0\ncoco's,0\nshinza_bansho_series,3\nwataame27,1\nys,3\nliliya_olenyeva,4\ntekehiro,1\nlissa_(fire_emblem),4\nstahlhelm,0\ndragon_quest_vii,3\nkyogre,4\nno_arms,0\nzero_gravity,0\nart_shift,0\nshinozuka_atsuto,1\ntidus,4\nleviathan_(skullgirls),4\nmakoto_daikichi,1\nmahoromatic,3\nsketch_eyebrows,0\npacific,3\nhatsune_mikuo,4\nwrapped_candy,0\ntyphlosion,4\nglass_slipper,0\nsae_(hidamari_sketch),4\nflaming_hand,0\nfinal_fantasy_iii,3\nosananajimi_neko,1\nradar,0\nn:go,1\nholding_torch,0\nmuk_(monsieur),1\nwhite_sky,0\nmizuki_(koko_lost),1\nyuihico,1\nneko_(minato_aqua),4\nmudrock_(silent_night)_(arknights),4\nbear_boy,0\n22/7,3\ntokonone,1\nray-k,1\nsorai_shin'ya,1\nkantai_collection_(anime),3\ntakunomi,1\nhakase_fuyuki,4\ntokyo_big_sight,0\nstar_ornament,0\nlolibaba,0\nhypnosis_mic,3\nar_tonelico_i,3\ntsuutenkaaku,1\nshiwasu_horio,1\nichiyou_moka,1\naria_pokoteng,4\nmr._squeaks_(hakos_baelz),4\nangewomon,4\nundersized_animal,0\nflamethrower,0\nsword_writing,0\nglove_pull,0\nzangief,4\ndifferent_shadow,0\nfukuyama_mai,4\nlaharl,4\nhappa_(cloverppd),1\nshikito,1\namania_orz,1\nsakura_bakushin_o_(umamusume),4\nkuboken,1\ncelestial_being_uniform,0\nblue_pajamas,0\ntomohiro_kai,1\ngreenmarine,1\nenokuma_uuta,1\nshuten_douji_(halloween_caster)_(fate),4\nagent_8_(splatoon),4\nbelfast_(shopping_with_the_head_maid)_(azur_lane),4\nthumb_sucking,0\nwhitney_(pokemon),4\ngermany_(hetalia),4\nrohitsuka,1\nshin'you_(kancolle),4\nmu-12,4\n428,3\nvaltor,1\nbreast_mousepad,0\nbaseball_jersey,0\ncafekun,1\nqin_liangyu_(fate),4\nsteven_universe,3\nten_desires,3\nvertical_foregrip,0\nbifidus,1\nball_and_chain_(weapon),0\nabukuma_kai_ni_(kancolle),4\njean_kirchstein,4\nearphones_removed,0\nharuyuki_(yukichasoba),1\nsuzutsuki_kurara,1\nbaileys_(tranquillity650),1\ndeep_wound,0\nholding_tablet_pc,0\nmailbox_(incoming_mail),0\nbennett_(genshin_impact),4\npuck_(re:zero),4\nsakaki,4\nnakatani_iku,4\nlucy_maria_misora,4\nenami_katsumi,1\ncornelia_li_britannia,4\ntomoyohi,1\nga-rei,3\ncattleya,4\nz-epto_(chat-noir86),1\npurple_pubic_hair,0\nsleeveless_duster,0\npapajay_(jennygin2),1\nmartina_(dq11),4\nreloading,0\npenis_ribbon,0\ntrowel,0\naudio_jack,0\ndiamond_hair_ornament,0\ntakara_akihito,1\nviolence,0\nfroslass,4\nmano_aloe,4\nvsk-94_(girls'_frontline),4\nonineko-chan,1\nhimitsu_(hi_mi_tsu_2),1\naki_(akikaze_asparagus),1\ngundam_suisei_no_majo,3\nsuzuya_kai_ni_(kancolle),4\nholly_hair_ornament,0\nhikawa_iona,4\nmaria_(hayate_no_gotoku!),4\nvertical-striped_pants,0\nhasumi_(blue_archive),4\npononozo,1\nrubber_band,0\nhungary_(hetalia),4\nyin_yang_print,0\nnumbered_panels,0\nshampoo,0\nmelone,4\nakemiho_tabi_nikki,3\nryunnu,1\ntianzi,4\nmasa_masa,1\nhigh_school_dxd_pi,3\nsora_72-iro,1\nkawacy,1\nmichishio_kai_ni_(kancolle),4\ndonkey_kong,4\nchun-li_(cosplay),0\ntoritora,1\nrayquaza,4\nglass_table,0\nzero_(code_geass),4\ncagalli_yula_athha,4\nmaruyama_saki,4\nfinger_heart,0\nbb_(swimsuit_mooncancer)_(first_ascension)_(fate),4\nfrostleaf_(arknights),4\nsailor_swimsuit_(idolmaster),0\nlunatic_gun,0\nmocchi_(mocchichani),1\nsakurai_touko,4\nsyndra,4\ncessa,1\nfriedrich_der_grosse_(azur_lane),4\nepisode_number,0\ncamouflage_shirt,0\npurple_apron,0\nop_na_yarou,1\nbound_torso,0\nmotomiya_mitsuki,1\nkiriyama_taichi,1\nglasgow_smile,0\nyouta,1\nwild_arms_3,3\nhater_(hatater),1\nre_ghotion,1\ngunpla,0\nkamijou_kyousuke,4\nlong_eyebrows,0\nlicking_testicle,0\ntonbi,1\nliskarm_(arknights),4\nshizuma_yoshinori,1\npainted_clothes,0\neliwood_(fire_emblem),4\nmatsuoka_gou,4\nnanao_(mahaya),1\nsakiryo_kanna,1\nholding_lipstick_tube,0\nanimal_ear_headphones,0\namazon_warrior,0\nyonomori_kobeni,4\nuzuki_(cookie),4\nhimemiya_anthy,4\nmineva_lao_zabi,4\nshiki_(psychedelic_g2),1\namino_(tn7135),1\nchrono_crusade,3\nchii,4\nsawatari_makoto,4\nigawa_asagi,4\nurara_meirochou,3\nlog_pose,0\nkawagoe_pochi,1\nsaeki_hokuto,1\nrei_kun,1\nfairy_maid_(touhou),4\ncaburi,1\narc_the_lad_ii,3\nsak_(lemondisk),1\npiledriver_(sex),0\nakuma_(street_fighter),4\nnonono_(mino),1\nnagato_kai_ni_(kancolle),4\nmarukyuu_ameya,1\npa-15_(girls'_frontline),4\nhijikawa_arashi,1\npoco_(asahi_age),1\nmaracas,0\nmarushin_(denwa0214),1\nconte_di_cavour_(kancolle),4\naroma_sensei,1\nover_the_knee,0\nwool,0\nwrestle_angels_survivor,3\nlong_sword,0\ncontrol_rod,0\nmomoshiki_tsubaki,1\nebizome,1\njunkpuyo,1\nnaoto_(tulip),1\nsilverxp,1\nincense,0\nampharos,4\ntaiko_drum,0\ncanaan,3\nsuurin_(ksyaro),1\nsebastian_piyodore,4\nsepia_background,0\ndigimon_tamers,3\nao_no_kiseki,3\npeeling,0\nakira_(coffee_curry),1\n35p_(sakura_miko),4\nkoretsuki_azuma,1\nreu_(cookie),4\nkoshirae_tsurugi,4\nsugue_tettou,1\nhashtag,0\ncomiket_100,3\nayanero_taicho,1\nla_pucelle,3\nfujikawa,1\nbloomers_pull,0\ndark_room,0\nnozo_(hitomiz),1\nclow_card,0\npom_pom_earrings,0\ntsuki_ni_kawatte_oshioki_yo,0\ntenkuu_no_shiro_laputa,3\nyaman,1\nrosetta_(granblue_fantasy),4\nsitting_on_head,0\nundyne,4\nsylvie_(dorei_to_no_seikatsu),4\nguchico,1\nnikaidou_kou,1\ntoyama_kasumi,4\nhassan_of_the_cursed_arm_(fate),4\nkakao_(noise-111),1\nmuroku_(aimichiyo0526),1\nlegend_of_the_cryptids,3\natte_nanakusa,1\ncrystalfly_(genshin_impact),4\nwhite_bandeau,0\nbursting_ass,0\ntogami_byakuya,4\nred_track_suit,0\ntop_pull,0\nsuichuu_hanabi,1\nenami_hakase,1\nshimadoriru,1\noso_(toolate),1\naida_takanobu,1\nbattleship_water_oni,4\nhoppege,1\nachiki,1\nholding_test_tube,0\ndragon_quest_vi,3\n.hack//g.u.,3\nsupply_depot_princess,4\nagainst_window,0\nswimsuit_removed,0\nchristmas_present,0\ncompletion_time,5\nyura_kai_ni_(kancolle),4\nsen_(granblue_fantasy),4\ngold_city_(umamusume),4\nplaying_piano,0\nhimeyamato,1\noda_nobuna_no_yabou,3\ndragon_quest_x,3\nmajoccoid,1\nhillly_(maiwetea),1\nwily_beast_and_weakest_creature,3\ndrawing_on_another's_face,0\nsuper_mario_odyssey,3\ntakoyaki_(roast),1\nsweater_tug,0\nkizaki_yuuri,1\ndragon@harry,1\nteruui,1\nrom_(neptune_series),4\ntanihara_natsuki,1\ntachikoma_(mousou_teikoku),1\nhero_(dq11),4\nnoihara_himari,4\nnakano_yuka,4\nmoney_tuck,0\nlotte_no_omocha!,3\nkumamiko,3\nink_bottle,0\nvoltron_(series),3\nsparrowl,1\ngazacy_(dai),1\ngrani_(arknights),4\npeso_(cheese_company),1\npickup_truck,0\nrinoa_heartilly,4\nvent_arbre,1\nclothes_in_front,0\norange_belt,0\npearl_thong,0\nhyudora,1\nsleeve_bow,0\nangra_mainyu_(fate),4\npoison,0\ntorino_aqua,1\nlycanroc,4\nnoco_(adamas),1\nhosomi_shizuko,4\ndevil_may_cry_3,3\ngolden_apple,0\nmaestrale_(kancolle),4\nsakuramochi_(sakura_frappe),1\ntakeda_yukimura,1\nankle_garter,0\nkisaragi_kai_ni_(kancolle),4\nyuki_(touhou),4\nboulder,0\nsan-pon,1\nribbon_between_breasts,0\nalternative_girls,3\nhyakkaou_academy_uniform,0\nheinrike_prinzessin_zu_sayn-wittgenstein,4\npgm_hecate_ii,0\nxingzhi_lv,1\ntokugawa_matsuri,4\nvignette_tsukinose_april,4\niwatooshi,4\nueda_ryou,1\natoki,1\nthomasz,1\nkazuharu_kina,1\nhashimoto_takashi,1\nfake_halo,0\nmike_inel,1\nhijiri_(resetter),1\nperona,4\nstarfighter,0\nsakai_kyuuta,1\nzaku,4\nkakage,1\nbrown_sash,0\nwakamo_(blue_archive),4\nmidnight_bliss,0\nhair_over_face,0\nawning,0\nshiraitodai_school_uniform,0\nnohito,1\nbanette,4\nblack_sky,0\nkatayama_kei,1\nbatsubyou,4\ninunoko.,1\nmashiro_aa,1\nvery_long_tongue,0\ncanopy_(aircraft),0\nswimsuit_skirt,0\npointing_weapon,0\ngin_(shioyude),1\na-ka,1\nga-rei_zero,3\nfujiko_f_fujio_(style),0\nwhite_wrist_cuffs,0\nmagister,1\nhoto_cocoa's_school_uniform,0\ndevilman,3\nnui_sociere,4\ntiger_cub,0\nhamushima,1\nkotozume_yukari,4\nwaist_hug,0\nshirokitsune,1\nvictorious_(azur_lane),4\nhooters,3\nriolu,4\ntakemura_sessyu,1\nlee_(colt),1\nif_(neptune_series),4\nboard,0\nisegawa_yasutaka,1\ndeel_(rkeg),1\nkiryuuin_ragyou,4\ncovering_with_blanket,0\ncoffee_table,0\nprostate_milking,0\nkamen_rider_dcd,3\nflannery_(pokemon),4\nnumber_pun,0\ntakahero,1\naircraft_carrier_water_oni,4\nmarina_ismail,4\noyama_mihari,4\nminami_chiaki,4\nhexagon_hair_ornament,0\ndaichi_(tokoya),1\ndra,1\nbandaid_on_head,0\nnnyara,1\nendou_hiroto,1\nscratching,0\nchima_q,1\nrecurring_image,0\ndunkerque_(azur_lane),4\ngreen_cloak,0\negyptian_mythology,3\nansatsu_kyoushitsu,3\nsymmetrical_pose,0\nkakizaki_(chou_neji),1\nsasairebun,1\nsigurd_(fate),4\nbackless_panties,0\nghislaine_dedoldia,4\ndragon_tattoo,0\npearl_hair_ornament,0\nsakaki_yuuya,4\ngalaxy_angel_rune,3\nkuroshitsuji,3\nall_might,4\nk/da_akali,4\nafter_bathing,0\nkannatsuki_noboru,1\nholding_fish,0\nkibisake,1\nmulticolored_ribbon,0\nriku_(kingdom_hearts),4\nkananote,1\nsaikawa_yusa,1\nsansei_muramasa,4\ngryffindor,0\nyan_(nicknikg),1\nholding_racket,0\nligne_claire,0\ntakamichi,1\nnaz,1\nmurata_yuusuke,1\ntirpitz_(azur_lane),4\nmousepad_(object),0\nmultiple_monitors,0\naono_shimo,1\nchicken_leg,0\nkoi_dance,0\ncovering_chest,0\nyume_2kki,3\nrozalin,4\nroropull,1\nnagant_revolver_(girls'_frontline),4\nmisaki_nonaka,1\nkurosaki_chitose,4\nkana_anaberal,4\nkanna_(cookie),4\nself_breast_sucking,0\nred_robe,0\nnavy_(navy.blue),1\nelsword_(character),4\nemofuri,5\namerican_mcgee's_alice,3\nnakajima_(girls_und_panzer),4\nisekai_maou_to_shoukan_shoujo_no_dorei_majutsu,3\nneru_(bunny)_(blue_archive),4\nmacross:_do_you_remember_love?,3\nsubachi,1\nyukiwo,1\nxephyrks,1\nmiata_(miata8674),1\ngengorou,1\nlitchi_faye_ling,4\nmaullarmaullar,1\nzombie_fairy_(touhou),4\nkoumei_(twinameless),1\nbikini_tug,0\nbyakugan,0\ndoronjo,4\nprincess_principal_game_of_mission,3\ninkling_(language),0\ncoppelion,3\nminatsuki_randoseru,1\nexlic,1\npiripun,1\ntsukimura_suzuka,4\niz_(asteroid_ill),4\nkiawe_(pokemon),4\nsakura_chiyono_o_(umamusume),4\nmobu,1\nnakayama_miyuki,1\nrpg,0\navatar_(mabinogi),4\ndouble_scoop,0\noden,0\nvomiting,0\nalakoala,1\nkei_(keigarou),1\nraiou,1\nken_(coffee_michikusa),1\nmagnet_(vocaloid),3\nmutual_orgasm,0\nfrance_(hetalia),4\nm_bison,4\nsuou_patra,4\nsuzuho_hotaru,1\nmizushima_(p201112),1\ngiant_monster,0\npeacock_feathers,0\nholding_cake,0\nkeita_(tundereyuina),1\nneko_neko_koneko,1\ntennis_court,0\nsingle_earphone_removed,0\naty_(summon_night),4\nshiratama_(hockey),1\nmp40_(girls'_frontline),4\nyoako,1\nmuzzle,0\nl_(death_note),4\nmajikina_mina,4\nyaza,1\nsmoke_trail,0\npear,0\nkokonoe_(blazblue),4\nyoru_nai,1\nnishizawa,1\nenergy_weapon,0\nhanako_(blue_archive),4\nredjuice,1\nsuper_mushroom,0\nkokuchuutei,1\nfoo_fighters,4\ntransmission_tower,0\nserena_(yu-gi-oh!),4\ncarol_malus_dienheim,4\ntails_(sonic),4\nsitting_sideways,0\namuro_ray,4\nmaria_holic,3\nrisui_(suzu_rks),1\nsasaame,1\nshibari_under_clothes,0\nfemale_ejaculation_through_clothes,0\nanimal_helmet,0\nmenacing_(jojo),0\ndemon's_souls,3\nooji,1\npokemon_mystery_dungeon,3\nnanashin_naomi,1\nyagyuu_(senran_kagura),4\nnarutaki_shin,1\nadmiral_(kancolle)_(cosplay),0\nmatoi_ryuuko_(cosplay),0\nzuizi,1\nhibiki_yuuta,4\nsleeping_bag,0\ncaitlin_(pokemon),4\nrojiura_satsuki:_chapter_heroine_sanctuary,3\nhozuki_momiji,4\nayase_yue,4\nlace_legwear,0\nneropaso,1\nrubik's_cube,0\nvoltron:_legendary_defender,3\ngirls_und_panzer_saishuushou,3\nsyunzou,1\nirisviel_von_einzbern_(angel's_song),4\nexiled_warrior_leina,4\naunt_and_niece,0\nshimo_(depthbomb),1\nkatalina_(granblue_fantasy),4\nvlad_iii_(fate/apocrypha),4\nayase_hazuki,1\ngravel_(arknights),4\nimperial_japanese_navy,0\nlevantine,4\nstar_ocean_the_last_hope,3\nnokoppa,1\nakagi_ritsuko,4\nsaitou_naoki,1\nlucifero,4\nkyuuba_melo,1\ngrilling,0\nfujitaka_nasu,1\ndramatical_murder,3\naria_gakuen_school_uniform,0\nholding_egg,0\nkerberos_blade,3\ntabitha_(zero_no_tsukaima),4\nmiyako_hito,1\nshark_print,0\nknit_hat,0\nkidou_yuuto,4\nsylvain_jose_gautier,4\nkabu_(pokemon),4\nmimofu_(fullhighkick),1\nmomoji_(lobolobo2010),1\nforbidden_scrollery,3\ncrescent_necklace,0\ngayarou,1\nkamen_rider_555,3\ntactical_surface_fighter,0\nnishida_asako,1\nbust_chart,0\namano_don,1\nseta_kaoru,4\nharisen,0\narguing,0\njack-o'-lantern_hair_ornament,0\nlead_pipe,0\nholding_pole,0\nenjo_kouhai,3\ndevil_summoner,3\npectoral_docking,0\ndeaver,1\nv-shaped_eyes,0\nback_cover,0\nko_yu,1\nsnowball_(overwatch),4\njiru_(jirufun),1\namayadori_machi,4\ntamada_tamaki,4\nhimemiya_chikane,4\nkarasusou_nano,1\nrobot_animal,0\nshirokuma_a,1\nicicle,0\nclothes_on_floor,0\nakane_souichi,1\nsengoku_collection,3\nmetata,1\nkasen_kanesada,4\nnakaaki_masashi,1\naslindsamure,1\nbursting_pectorals,0\ngrey_suit,0\nturkey_(food),0\nage_of_ishtaria,3\nunleashed,3\nquanxi_(chainsaw_man),4\ntarakanovich,1\nholding_mirror,0\ncowboy,0\nnew_generations_(idolmaster),0\ngrey_ascot,0\nkakumeiki_valvrave,3\nyagami_iori,4\ncharacter_mask,0\ntoolbox,0\nkingdom_hearts_iii,3\nlayla_(idolmaster),4\niroiro_yaru_hito,1\nsweater_around_neck,0\nrosemi_lovelock,4\nboom_barrier,0\nv_over_mouth,0\nf-zero,3\ntanaka_shoutarou,1\nkingdom_hearts_358/2_days,3\ngoshiki_suzu,1\ntokita_monta,1\nurushibara_ruka,4\nario,1\nmaruto!,1\npepsi,3\nmetamoran_vest,0\nsuplex,0\nno_bangs,0\nyuiga_naoha,1\nchocolate_cornet,0\npoketch,0\ntsab_executive_military_uniform,0\nsaemonza_(girls_und_panzer),4\nkindergarten_bag,0\ngingerbread_man,0\nkanzaki_muyu,1\nnatuna_natu,1\no-ring_panties,0\nsophie_neuenmuller,4\nshirokane_rinko,4\nmonkey_girl,0\ncu-no,3\nyostxxx,1\nyu_65026,1\nklein_moretti,4\nengo_(aquawatery),1\nmugino_shizuri,4\nde_ruyter_(kancolle),4\nmushishi,3\nmuffin_top,0\nkohsaka_jun,1\nfifiruu,1\ngolem,0\nheadlock,0\ncrucifixion,0\nanya_melfissa,4\norange_juice,0\nbbc-chan,1\nimminent_hug,0\npenguin_tail,0\ntsukigi,1\nrevolver_knuckle,4\nnian_(unfettered_freedom)_(arknights),4\nyowai_totoko,4\nplumeria,0\ncum_on_fingers,0\nsunaba_suzume,1\nitto_(mentaiko),1\npaint_on_clothes,0\ntighnari_(genshin_impact),4\nfingers_to_cheeks,0\nstaryu,4\nst.germain-sal,1\nplaystation,0\nspecter_the_unchained_(arknights),4\nsho-n-d,1\ntomoe_mami_(cosplay),0\nholding_key,0\nglass_shards,0\nmars_(cookie),4\neuphonium,0\nsnow_globe,0\nzinnia_(pokemon),4\nshark_fin,0\nmage_staff,0\nhand_on_own_elbow,0\ncue_stick,0\nryouko_(tenchi_muyou!),4\nsmegma,0\ngladiolus_amicitia,4\ntomatto_(@ma!),1\nmythra_(radiant_beach)_(xenoblade),4\nminiskirt_pirates,3\npottsness,1\nasa_(coco),1\nokitsugu,1\ngensou_suikoden_ii,3\nnav,1\nbikini_in_mouth,0\ndog_(mixed_breed)_(kemono_friends),4\ntamamo_no_mae_(spring_casual)_(fate),4\nholding_bell,0\npenis_under_another's_clothes,0\n74,1\nitolife,1\nkaorihero,1\nkm_yama,1\nment,1\nakky_(akimi1127),1\ninui_sajuna,4\nlicking_neck,0\nbonyari_high_school_uniform,0\nexcessive_pussy_juice,0\ncatherine_(game),3\nnecklace_removed,0\nshounen_(hogehoge),1\nmizuhara_chizuru,4\nmiyao_ryuu,1\npako_(pousse-cafe),1\ntorii_sumi,1\nmofu_namako,1\nhinoka_(fire_emblem),4\nstitched_torso,0\nmarl_kingdom,3\ngin00,1\nairani_iofifteen,4\nbinsen,1\ninugami_kira,1\nkansou_samehada,1\nikazu401,1\nhaibara_ai,4\nshopping_basket,0\neurasian_tree_sparrow,0\ncolored_eyepatch,0\ntobiichi_origami,4\nshikanoin_heizou,4\nshigure_ryuunosuke,1\ngrape_hair_ornament,0\nbremerton_(kung_fu_cruiser)_(azur_lane),4\nshennai_misha,1\nmaniacpaint,1\nerlenmeyer_flask,0\nred_blood_cell_(hataraku_saibou),4\nmidna_(true),4\nhubert_von_vestra,4\ntoka_(marchlizard),1\nkuzuryuu_fuyuhiko,4\nbikini_around_one_leg,0\nch'en_(ageless_afterglow)_(arknights),4\nsquchan,1\nwhite_uniform,0\nnunchaku,0\nsilhouette_demon,0\nsama_samasa,1\narika_yumemiya,4\ngiraffe,0\nkugelschreiber,1\nkatsuragi_(senran_kagura),4\neotech,0\nreverse_fellatio,0\nkenmochi_touya,4\ntoothpaste,0\ntechi_(techi35499),1\nsuicune,4\nshinomiya_himawari,4\nimplied_cunnilingus,0\nbeige_fur,0\nchocolate_on_face,0\nbluethebone,1\nbishoujo_mangekyou,3\nlegacy_of_lunatic_kingdom,3\nfujishima-sei_ichi-gou,1\ntsubasa_tsubasa,1\nenomoto_takane,4\ncollar_grab,0\ndyson_(edaokunnsaikouya),1\ngiraffe_ears,0\nash_arms,3\nabigail_williams_(emerald_float)_(fate),4\ntsujino_akari,4\nholding_photo,0\nmedusa_(shingeki_no_bahamut),4\nram_(neptune_series),4\nroar_yell!_tracen_academy_cheerleading_squad_(umamusume),0\nyoru_no_yatterman,3\nteam_aqua,0\nsekirei,3\nnino_(fire_emblem),4\nama-tou,1\nnara_shikamaru,4\njirou_(chekoro),1\nmenace,4\ngale_kawaii,1\neyeshield_21,3\nnekominase,1\npowering_up,0\nk10k,1\nhane_yuki,1\nflint_(girls_und_panzer),4\nowarimonogatari,3\nivysaur,4\nmint,0\ndog_costume,0\nsingle_sandal,0\nnurarihyon_no_mago,3\ndoukyuusei,3\nspiked_footwear,0\njazz_jack,1\nshizuru_(princess_connect!),4\nracchi.,1\nnassukun,1\nbtmr_game,1\nwooper,4\nmale_underwear_peek,0\nsuou_mikoto_(school_rumble),4\nbuneary,4\ntorigoe_takumi,1\nom_(nk2007),1\ncafe-chan_to_break_time,3\nwasabi60,1\nbag_removed,0\nkanzaki_hiro,1\ntachibana_miya,4\npleated_shirt,0\nnendoroid,0\nfull_mouth,0\ncandelabra,0\nlabia_piercing,0\nsiesta_(zero_no_tsukaima),4\numakuchi_shouyu,1\nsananana_(cookie),4\nmammon_(umineko),4\nblack_bullet,3\nwaving_arm,0\nsherlock_shellingford,4\nshift_(waage),1\npia_carrot_(series),3\noro_(sumakaita),1\nitsuka_kotori,4\nbooth_seating,0\nkotatu_(akaki01aoki00),1\nvigna_(arknights),4\ntaut_leotard,0\nwhisper_(youkai_watch),4\nao_no_kanata_no_four_rhythm,3\nkilesha,1\nhitomi_(doa),4\nkyoto_animation,3\ntesta,1\ntansuke,1\nsky_high,4\nesidisi,4\nosakana_(denpa_yun'yun),1\nproducer_(idolmaster_anime),4\nk-on!_movie,3\nhand_under_swimsuit,0\nlying_card,0\nslide,0\nhumping,0\nistina_(arknights),4\nemyo,1\nthigh_straddling,0\nnaidong_(artist),1\nreno_(azur_lane),4\nnemo_(fate),4\ntunnel,0\nwhale_tail_(clothing),0\narsenixc,1\nmorino_donguri,1\nhaaton_(akai_haato),4\ntamayan,1\nebifly,1\nhoshiguma_yuugi_(promo),4\ndark_labia,0\nwake_up_girls!,3\nreticulated_giraffe_(kemono_friends),4\ncocktail_shaker,0\nshoulder_sash,0\nnakamura_yukitoshi,1\nminah_(chaesu),4\ncthugha_(nyaruko-san),4\nspurs,0\nyamasan,1\nhamao,1\nmylene_jenius,4\nbibi02,1\nnaked_paint,0\nfaye_valentine,4\nheart_wand,0\nbubuzuke,1\nprincess_tutu,3\ncasting_spell,0\nasakawa_(outeq),1\nheadwear_switch,0\nscolding,0\niei,0\nkroos_(arknights),4\ncondensation,0\nbigdead,1\ntenobe,1\ntksand,1\ntanigaki_genjirou,4\nbisexual_male,0\nwatarase_piro,1\ntracen_training_uniform,0\nresident_evil_6,3\nfrilled_armband,0\nabenattou,1\nsatou_sei,4\nferal_lemma,1\nglory_hole,0\nmagnemite,4\nsatellite_dish,0\nsakuranomiya_maika,4\npleinair,4\nclinging,0\nesdeath,4\ntab_head,1\nhimeragi_yukina,4\nhanzo_(overwatch),4\ncad_(caddo),1\nfisting,0\npiano_bench,0\npicking_up,0\nmasanaga_(tsukasa),1\nmargay_(kemono_friends),4\ndecidueye,4\nwakamatsu372,1\nntw-20_(girls'_frontline),4\nshamakho,1\nthorns_(arknights),4\nvei_(vtuber),4\nukagaka,3\nmeltrandi,0\nshorts_aside,0\ntakatora,1\nalca_(wakatanka4),4\nkuroi_(liar-player),1\nenpe,1\nsasai_saji,1\nmagisa_(granblue_fantasy),4\nportal_(series),3\npetra_macneary,4\nnanahime,1\nalice_liddell_(american_mcgee's_alice),4\nkuraue_hinata,4\ntomoe,4\nbasin,0\npliers,0\natarashi_ako,4\nkogami_akira,4\nbolverk,0\nthe_elder_scrolls_v:_skyrim,3\nsuspenders_pull,0\nanise_tatlin,4\nmorty_(pokemon),4\nemail_address,0\npop_(electromagneticwave),1\nbig_nose,0\nghiaccio,4\nonono_imoko,1\nroshin_yuukai_(vocaloid),3\nkotoribako,1\nhato_haru,1\nshoulder_guard,0\nshoulder_blush,0\nyamashita_takahiro,1\nmp7_(girls'_frontline),4\ns.a.t.8_(girls'_frontline),4\nserizawa_(serizawaroom),1\nuousa-ou,1\nrantana_(lalalalackluster),1\nblue_suit,0\nryomou_shimei,4\nzen'in_maki,4\nuenoryoma,1\nkatarina_claes,4\nz_flag,0\nkunoichi_tsubaki_no_mune_no_uchi,3\ntales_of_phantasia,3\nzipper_skirt,0\nambiguous_red_liquid,0\nholding_map,0\naruruw,4\ntako-san_wiener,0\nracecar,0\npanels,0\ndead_or_alive_xtreme,3\nayasaki_hayate,4\ncassidy_(overwatch),4\nunacchi_(nyusankin),1\nfishing_hook,0\nhatterene,4\nbaseball_helmet,0\nmonoglove,0\nhanada_yanochi,1\ncatching,0\nopen_bodysuit,0\nscarf_removed,0\nvertical-striped_shorts,0\ntart_(food),0\nholding_necklace,0\nqosic,1\nred_suit,0\nmullet,0\nzenra,0\nyakusoku_no_neverland,3\ndeyui,1\nkedama_(touhou),4\nchespin,4\nparachute,0\ndown_jacket,0\nbad_artstation_id,5\narisaka_ako,1\nnathaniel_pennel,1\nnoto_kurumi,1\nholding_coin,0\nshimabara_elena,4\ngrey_flower,0\npink_outline,0\nleaf-pattern_stripe,0\nmihama_chiyo,4\ntoujou_kirumi,4\nyayoi_maka,1\nfrenda_seivelun,4\nsweeping,0\namada_ken,4\nkobushi_abiru,4\nverone_gakuin_school_uniform,0\naningay,1\njigatei_(omijin),1\niwasama_masami,4\nkatou_danzou_(fate),4\nweapon_merchant_cattleya,4\nlibre,1\nass_tattoo,0\nhatsunatsu,1\nyamabuki_(yusuraume),1\nebimomo,1\nload_bearing_equipment,0\nmonster_hunter_portable_3rd,3\nwataboku,1\ngrey_choker,0\nsasahara_wakaba,1\nshishi_juuroku,1\nsnowboard,0\ndome,0\nnyamota,1\nparasoul_(skullgirls),4\nume_(noraneko),1\nhiroya_juuren,1\ntyone,1\nruru_amour,4\npeanuts,3\nikayaki,0\nokame_nin,1\nsleeve_ribbon,0\nfrankenstein's_monster,4\nekita_kuro,1\narchie_(pokemon),4\nquad_drills,0\nbural_chingu,3\ncaren_hortensia_(amor_caren),4\n2000s_(style),0\nmagical_sapphire,4\nkamihama_university_affiliated_school_uniform,0\ncape_removed,0\nigayan,1\nyamamoto_arifred,1\ntsune_(tune),1\ntokimeki_memorial_2,3\ncrater,0\nakaga_hirotaka,1\nwide_oval_eyes,0\npoaro,1\nbowwow_(hamju94),1\nskitty,4\nkemurikusa,3\nimpa,4\nfrilled_straps,0\nrock_paper_scissors,0\nwhite_babydoll,0\ncyphers,3\npixie_cut,0\nwave_hair_ornament,0\ngomipomi,1\nmagowasabi,1\nsaratoga_(azur_lane),4\nlace-trimmed_shirt,0\nlight_machine_gun,0\nlady_maria_of_the_astral_clocktower,4\nholding_binoculars,0\nto_heart_2_ad,3\npajamas_pull,0\ngake_no_ue_no_ponyo,3\nkodamari,1\ngarnet,1\nidw_(girls'_frontline),4\nkurogarasu,1\ntenako_(mugu77),1\nnebula,0\nsaxophone,0\nchapayev_(azur_lane),4\nhatsumoude,0\nmayonnaise,0\nsatou_jun,4\nhunter_(ragnarok_online),4\nhamaken._(novelize),1\nplaid_apron,0\nhat_tug,0\nfirefighter,0\nyuuma_(skirthike),1\nmerc_storia,3\nautofacial,0\nfur-trimmed_bikini,0\ntakeshima_eku,1\nmulticolored_tail,0\ncassock,0\nmaromi_(am97),1\nmatoyama,1\nlenalee_lee,4\ntsukimori_usako,1\nhamuzou,4\ncreature_on_head,0\nsakakiba_misogi,1\nusagihime,1\nrindou_(p41neko),1\nsprite,0\ntarutaru,0\na.x.,1\nsh_(562835932),1\nagent_(girls'_frontline),4\nhanpenmaru,1\nayunda_risu,4\nnina_kosaka,4\nsummertime_render,3\nringo_sui,1\nandrogyne_symbol,0\nzan_(harukahime),1\nring_box,0\naa-12_(girls'_frontline),4\nkanniiepan,1\npascal_(tales),4\nkankitsunabe_(citrus),1\nokuri_banto,1\ngatchaman_crowds,3\nracing,0\n86_-eightysix-,3\ncheese_trail,0\nkokone_(coconeeeco),1\ncomic_kairakuten,3\nbang-you,1\nacolyte_(ragnarok_online),4\nspeh,1\nsakurai_rihoko,4\nha-ru,1\nleopard_(yatterman),4\nlove_cacao,1\nsaru_getchu,3\nizayoi_sakuya_(cosplay),0\nyukikaze_(azur_lane),4\nxinyan_(genshin_impact),4\natelier_live,3\nchastity_belt,0\nsaga_frontier,3\nmiles_edgeworth,4\nvideo_game_cover,0\ndawn,0\npenis_over_eyes,0\nholding_dildo,0\nperson_between_breasts,0\nenergy_barrier,0\nj@ck,1\nirohara_mitabi,1\npostbox_(outgoing_mail),0\nprint_ribbon,0\nwild_geese,4\nransusan,1\nmurakami_yuichi,1\ntem10,1\namazon_position,0\nyoekosukii,1\ntakakamo_shizuno,4\nsasasegawa_sasami,4\nrefeia,1\nplaystation_vita,0\ngrim_(azur_lane),4\nshimatani_azu,1\nchigusa_minori,1\nyagami_light,4\nproject_diva_f,3\nhippopotamus_(kemono_friends),4\nhermit_purple,4\nnarmaya_(summer)_(granblue_fantasy),4\nmakihitsuji,1\ndone_(donezumi),1\ntreasure,0\nmizusawa_mao,4\nbarding,0\nempty_pool,0\nfate/extella_link,3\nai-wa,1\nv4x,0\nsmol_ame,4\nh&k_ump45,0\nlava_(arknights),4\nrichelieu_(azur_lane),4\nharris_hero,1\nholding_toothbrush,0\nblue_outline,0\nsword_of_the_creator,0\nkenjou_akira,4\nshexyo,1\nsekiya_asami,1\nsnowball22,1\nbaku-p,1\nbaba_arumi,1\nez6,1\nsnm_(sunimi),1\nhitoto,1\nfour_of_a_kind_(touhou),0\nscary_monsters_(stand),4\natalanta_alter_(fate),4\njahy-sama_wa_kujikenai!,3\narchitect_(girls'_frontline),4\nnopon,0\nooba_minori,4\ndeku_suke,1\npanties_over_garter_belt,0\nsaileach_(arknights),4\nnice_nature_(run&win)_(umamusume),4\nshino_(eefy),1\nnababa,1\nshinmai_(kyata),1\nin-universe_location,0\nyami_to_boushi_to_hon_no_tabibito,3\nkagami_uekusa,1\nhechi,1\nkuja,4\nhuqu,1\nnoripro,3\nsuneate,0\nnekopuchi,1\nkamaboko,0\nzdrada_(helltaker),4\nhayakawa_aki,4\nyuusha_ou_gaogaigar,3\nwhitesmith_(ragnarok_online),4\ngreen_fur,0\ntomo_(sjim),1\ngreen_heart,4\npuyo_(puyopuyo),4\nadachi_to_shimamura,3\nself-portrait,5\ncomic_kairakuten_beast,3\nmahira_(granblue_fantasy),4\nconvertible,0\nneedy_girl_overdose,3\njun_(aousa0328),1\ndiisuke,1\ndeadpool,4\nryuuzaki_ichi,1\nsheep_tail,0\nfjsmu,1\nkomichi_aya,4\nriding_bicycle,0\neuropa_(granblue_fantasy),4\nkiikii_(kitsukedokoro),1\norca_hood,0\ngoodsmile_company,3\nyue_(chinese_wife_diary),4\nnori_(hidamari_sketch),4\nrice_cooker,0\nhirano_toushirou,4\nwalkure_romanze,3\ncharacter_cutout,0\nnac000,1\nwaffle,0\nsophitia_alexandra,4\nfolded_clothes,0\nlucca_ashtear,4\nayase_arisa,4\ncatria_(fire_emblem),4\narutera,1\namano_chiharu,1\npopsicle_in_mouth,0\norange_apron,0\nhorikou,1\nnyanko_daisensou,3\nmiyasaka_ryou,4\nchiester_sisters,4\nnagineko,1\nmarcille,4\nincoming_punch,0\nthreo_(granblue_fantasy),4\nat_gunpoint,0\nayuma_sayu,1\nbreath_of_fire_iv,3\nsky:_children_of_the_light,3\nvirtua_fighter,3\nlei_fang,4\nmosako,1\ntraffic,0\nbandana_over_mouth,0\nloose_bikini,0\nred_sports_bra,0\nipad,0\nfujiwara_akina,1\nkidou_keisatsu_patlabor,3\nbow_skirt,0\nstudiozombie,1\nnikki_kyousuke,1\nskyfire_(arknights),4\nblack_jumpsuit,0\nketchup_bottle,0\nwindows,3\ndating,0\ntasting,0\ngiraffe_(ilconte),1\nblack_outline,0\nring-con,0\n:s,0\ncelty_sturluson,4\nmorisobo,1\npepe_(jonasan),1\ngggg,1\ncrotchless_pantyhose,0\nzero_(drag-on_dragoon),4\nike_eveland,4\nkiyomin,1\nhijiri_tsukasa,1\ngardenia_(pokemon),4\nmilly_ashford,4\npun2,1\nkaibutsu_oujo,3\nsilver_background,0\nf7(eiki),1\nstarting_future_(umamusume),0\nfud,1\nlum_(cosplay),0\nsad_smile,0\njilu,1\nhoundoom,4\ngumroad_username,0\nakinaie,1\nchoukai_kai_ni_(kancolle),4\nmeis_(terameisu),1\njingasa,0\nred_wine,0\nshengtian,1\nkaf_(kamitsubaki_studio),4\nclaire_redfield,4\nhero's_daughter_(dq5),4\ncornrows,0\nnyoro~n,0\ngrief_seed,0\nshimakaze_(azur_lane),4\nsatsuki_neko,1\nmizushina_minato,1\nmother's_day,0\nringo-chan_(otokuyou),4\nevolution,0\nalpaca,0\nalisa_southerncross,4\nsuper_zombie,1\nlandmark,0\nfukae_(kancolle),4\nkudelia_aina_bernstein,4\nerio_mondial,4\nkuguri_oimo,1\nkim_eb,1\nlucifer_(umineko),4\n71,1\nmultiple_insertions,0\nchagen_kokimu,1\nmerryweather,1\nnitocris_(swimsuit_assassin)_(second_ascension)_(fate),4\naku_no_musume_(vocaloid),3\nsiu_(siu0207),1\nstarting_block,0\nnebusoku,1\nplaid_shorts,0\nbeige_vest,0\nblvefo9,1\nhockey_mask,0\nuni_create,3\nuesugi_fuutarou,4\nhxd,1\nnier_(granblue_fantasy),4\nlittle_bel_(azur_lane),4\nsuzumiya_haruhiko,4\nseikon_no_qwaser,3\nina_(1813576),1\ndeego_(omochi_bazooka),1\n:<>,0\nhayakawa_harui,1\nclitoris_slip,0\nsamegami,1\nbutterfree,4\njabami_yumeko,4\nsnow_white,3\nsugano_manami,1\ntorimaru,1\ncheek_rest,0\n2ch,3\nobui,1\nfin_e_ld_si_laffinty,4\nbaram,1\ndies_irae,3\nmanboobs,0\nadjusting_bra,0\ndisneyland,3\nheadshop,5\nserperior,4\nfur_cuffs,0\nchorimokki,1\nhaku_(p&d),4\nikea_shark,0\nre:act,3\njoltik,4\nlisia_(pokemon),4\nwhite_headdress,0\nbike_shorts_pull,0\nagent_3_(splatoon),4\ncuddling_handjob,0\nyomi_(senran_kagura),4\nryu_(ryu's_form_site),1\nkamen_rider_kuuga_(series),3\nyakumo_yukari_(young),4\nmeiou_setsuna,4\nshakemi_(sake_mgmgmg),1\nkuromorimine_(emblem),0\nblack_bandeau,0\ndosugon,1\nmisaki_mei,4\ntamura_manami,4\ntokiomi_tsubasa,1\nkoh_(minagi_kou),1\nnonoririn,1\nchousoku_henkei_gyrozetter,3\nnyotengu,4\nkitakami_reika,4\nbrushing_another's_hair,0\naqua_sailor_collar,0\nnyon_(cookie),4\nnaegi_komaru,4\ncycling_uniform,0\nastesia_(arknights),4\nyuizaki_kazuya,1\nhayama_kazusa,1\nvomit,0\njormungand,3\nrindou_(radical_dream),1\ntouyoko_momoko,4\nlong_fingers,0\nmatsushita_yuu,1\nmizuki_kotora,1\nsharena_(fire_emblem),4\nsliding,0\nbig_hero_6,3\nokkotsu_yuuta,4\nlancelot_(fate/zero),4\nhandsome_wataru,1\nnyoro_(nyoronyoro000),1\nmikleo_(tales),4\nshigatsu_wa_kimi_no_uso,3\nm16a1,0\nyou_(noanoamoemoe),1\ncollar_tug,0\nnatsuumi_manatsu,4\nkurotofu,1\ntokido_saya,4\ndiving_suit,0\nsookmo,1\nprison_cell,0\nruri_rarako,1\nlilligant,4\nharuichi_(komikal),1\nkurokuro,1\ntan_(inka),1\nibaraki_natou,1\nheight,0\nprotagonist_(smtv),4\ngyate_gyate,0\ngotou_hisashi,1\nfallen_angel,0\ntaiyou_(kancolle),4\npaywall_censor,0\naina_(mao_lian),4\nhimuro_shunsuke,1\npussy_cutout,0\nsaigyouji_yuyuko_(living),4\nkazeno,1\nnatsu_no_koucha,1\nmono_(moiky),1\nkrudears,1\nark_royal_(azur_lane),4\nro-class_destroyer,4\naila_jyrkiainen,4\nlatifa_fleuranza,4\nunicorn_gundam,4\nnippon_ichi,3\nbouncing_penis,0\nyuzuruka_(bougainvillea),1\nmillennium_puzzle,0\nteepo_(tales),4\nhomura_(senran_kagura),4\nsuper_saiyan_2,0\nsaigyou_ayakashi,4\nflx,1\nstarmie,4\nseiya_kou,4\nkuronyan,1\npanda_costume,0\ndlanor_a._knox,4\njapari_bus,0\nsilica_(sao-alo),4\nnunucco,1\nfujiwara_hajime,4\ncroissant_(arknights),4\nsakura_hiyori,1\npaint_roller,0\nwlop,1\nselfie_stick,0\nnisshin_(kancolle),4\nlicking_another's_cheek,0\nkamo_kamen,1\nobserverz,1\nrotom_dex,4\nkayabakoro,1\nkagerou_(kers),1\ngomu_(chewinggom),1\nmiazi,1\nbakugadou,1\nessex_(azur_lane),4\ncolette_brunel,4\ninoue_jun'ichi,4\nyuri_petrov,4\nkink_(tortoiseshell),1\nkuroonehalf,1\nfujoshi,0\nmaiku,1\nholding_scroll,0\ntakino_tomo,4\nasuzemu,1\nfunnels_(gundam),0\nalchemist_(ragnarok_online),4\nmasuyama_ryou,1\ntiger_paws,0\nhirose_yasuho,4\nniko_(tama),1\nibuki_douji_(fate),4\npink_sash,0\nlabel_girl_(dipp),4\nnaruse_hirofumi,1\nyuki_onna,0\ndigital_thermometer,0\npenetration_gesture,0\nseaplane,0\nkita_senri,1\nundone_sarashi,0\npeeking_through_fingers,0\npenis_tentacles,0\nshidou_irina,4\nmirai_hikari,1\nt.m._opera_o_(umamusume),4\nonodera_kosaki,4\ndaijoubu?_oppai_momu?,0\nhoney_come_chatka!!,3\nmeowfficer_(azur_lane),4\nmana_(tsurubeji),1\nsanpachishiki_(gyokusai-jima),1\nangela_(seiken_densetsu_3),4\ncaeda_(fire_emblem),4\npalla_(fire_emblem),4\nchieru_(princess_connect!),4\ngreenhouse,0\npenis_on_head,0\nkurowa,1\nkonayama_kata,1\ncamus_(dq11),4\nsee-through_sarong,0\ndigimon_adventure_02,3\nlampshade,0\npink_check_school_(idolmaster),0\nayanami_rei_(cosplay),0\nvictory_gundam,3\nmirai_(macharge),1\nhidan_no_aria,3\ntakehana_note,1\nhamaguchi_ayame,4\nmomendoufu,1\nx_fingers,0\naki_(neyuki41028),1\nraiden_(metal_gear),4\nchimera,0\nkyuuso_inukami,1\nalbum_cover_redraw,5\ncharlotte_corday_(fate),4\nceltic_knot,0\npac-man_(game),3\njan_(lightdragoon),1\nreinama,1\nriko_(made_in_abyss),4\nteam_skull_grunt,4\nayaya~,0\nne-class_heavy_cruiser,4\nshaymin_(land),4\nsuna_no_wakusei_(vocaloid),3\nfroakie,4\nhagakure_tooru,4\nstuffed_octopus,0\nkemomimi_oukoku_kokuei_housou,3\nolivia_(fire_emblem),4\ntsukuyomi_moonphase,3\nplaid_trim,0\nheroman,3\nmikura_(kancolle),4\nsouth_dakota_(azur_lane),4\nnagayama_yuunon,1\nfilming,0\nmosin-nagant,0\nribbon_panties,0\nyuubari_kai_ni_(kancolle),4\npinup_(style),0\nnikichen,1\nmuoto,1\nstrike_witches_zero,3\ncheckered_bikini,0\ncardiogram,0\nzumi_(zumidraws),1\nmia_(gute-nacht-07),1\nokita_j._souji_(first_ascension)_(fate),4\nuneg,1\nsakurai_makoto_(custom_size),1\nsturm_(granblue_fantasy),4\nnidy,1\nmathias_leth,1\ngreatm8,1\nalexmaster,1\nsableye,4\nslowpoke,4\nheadbutt,0\ntakayama_haruka,4\ntakasugi_shinsuke,4\ntetsurou_(fe+),1\nharuki_(colorful_macaron),1\npokemon_on_lap,0\npiyodesu,1\nkazu_(muchuukai),1\ndos_(james30226),1\nmarble_(toy),0\nbus_interior,0\nhayama_eishi,1\nflat_screen_tv,0\nasari_nanami,4\nchisel,0\nmiku_symphony_(vocaloid),3\nkageshio_(276006),1\ngrayfia_lucifuge,4\nbikini_day,0\nkunashiri_(kancolle),4\ngorgon_(fate),4\nkashima_yuu,4\nalexander_(fate),4\ncosaten,1\nnenobi_(nenorium),1\nojisan_to_marshmallow,3\ndeath-sensei_(mori_calliope),4\ndiyusi_(cookie),4\npija_(pianiishimo),1\ngold_coin,0\nsuper_blackjack,3\ndannex009,1\ncommon_dolphin_(kemono_friends),4\nmikoko_(kemomimi_oukoku_kokuei_housou),4\ninuzumi_masaki,1\ncum_on_floor,0\nakabane_(zebrasmise),1\ntier_harribel,4\nharumachi_nagaaki,1\nsorani_(kaeru0768),1\npandemonica_(helltaker),4\nyukian,1\ngunpod,0\nhebitsukai-san,1\nmarumoru,1\ntwilight_sparkle,4\nmetal,0\nprint_pajamas,0\nsoramuko,1\nsuu_(monster_musume),4\nxenoblade_chronicles_2:_torna_-_the_golden_country,3\nnagu,1\nbandaid_on_neck,0\nblazpu,1\ncrt,0\nzekrom,4\nprywinko,1\nkoito_yuu,4\nblack_general,4\n95-tan,4\nno_thank_you!,0\nremodel_(warship_girls_r),0\nsuujiniku,1\nmashima_shima,1\nlieass,1\nlittle_witch_nobeta,3\nsakura_taisen_iii,3\nliving_room,0\nharuka_(senran_kagura),4\nfluorescent_lamp,0\nsakurame,1\nkodachi_(kuroyuri_shoukougun),1\nyoshida_masaki,4\nfrieza,4\nsekaiju_no_meikyuu_2,3\nnonowa,4\nmeteor,0\nsongover,0\nko~cha,1\nkajin_(kajinman),1\ntopu,1\nshirogane_hina,1\nwario,4\nbook_focus,0\ncello,0\nyou_work_you_lose,0\nbrown_hakama,0\ntokiwa_midori_(kyokutou_funamushi),1\nimplied_pregnancy,0\nancient_princess_menace,4\ngokuu_(acoloredpencil),1\ngreen_sweater_vest,0\nkoyashaka,1\nerica_(naze1940),1\nmifune_shioriko,4\nyen_sign,0\nmass_effect_(series),3\nhole_on_body,0\nsteed_(steed_enterprise),1\ncum_in_cup,0\nkson,4\nvalkyrie_(apex_legends),4\nforest_(4423),1\nkem_kem,1\nmicrosoft,3\nkagura_mea,4\nyamauchi_noriyasu,1\ncheckered_neckwear,0\nmaribel_(dq7),4\nmaett,1\nsquat_toilet,0\nkisaragi_zwei,1\npixiv_fantasia_4,3\nsayakata_katsumi,1\nakaza,1\nminccino,4\ncd_case,0\nhakai_shin,1\ndruaga_no_tou,3\ntenten_(naruto),4\nplague_doctor_mask,0\nkai'sa,4\nogin_(girls_und_panzer),4\ncrown_hair_ornament,0\nyoye_(pastel_white),1\nmiyauchi_renge,4\nirohara,1\nkujou_danbo,1\nriliane_lucifen_d'autriche,4\nbattle_girl_high_school,3\ntakayama_sayoko,4\nlast_exile,3\nhero_neisan,1\nkaoling,1\nnew_jersey_(exhilarating_steps!)_(azur_lane),4\ndark_halo,0\nleotard_peek,0\nkamen_rider_01_(series),3\nmelina_(elden_ring),4\nmegatron,4\nkuroemon,1\njeanne_d'arc_alter_(avenger)_(first_ascension)_(fate),4\nblue_mary,4\npeke,4\nanceril_sacred,4\nred_bull,3\nflynn_scifo,4\nnochita_shin,1\nump40_(girls'_frontline),4\nholding_mop,0\nwater_balloon,0\ncitron_82,1\naka_tawashi,1\nruined_for_marriage,0\ncymbals,0\ncirno_day,0\nirua,1\nnihilego,4\nmahou_shoujo_lyrical_nanoha_the_movie_2nd_a's,3\nfire_extinguisher,0\narsene_lupin_iii,4\nhorned_mask,0\nbike_jersey,0\ninoshira,1\ndaifuku_(yukihana_lamy),4\nwalking_away,0\nlime_slice,0\nakatsuki_kai_ni_(kancolle),4\nbiyon,1\nsabitsuki,4\nogros,1\nmurakami_(girls_und_panzer),4\nshennong_(housamo),4\nmashayuki,1\nfelix_argyle,4\ncliffheart_(arknights),4\nzagreus_(hades),4\nsekai_saisoku_no_panda,1\nnecro_(guilty_gear),4\nholding_magnifying_glass,0\nbig_boss,4\njester,0\nyoshimoto_(dear_life),1\nhokuto_(scichil),1\nikari_gendou,4\nharukigenia,1\nikkyuu,1\noosaka_kanagawa,1\nseren_(staphy),1\ntarget,0\nbakery,0\ngoalkeeper,0\nliquor,0\ntaishi_(moriverine),1\nunyu,0\nfranka_(arknights),4\nkippuru,1\nkisaragi_yuu_(fallen_sky),1\nchidori_kaname,4\nzaphn,1\nbig_bad_wolf_(grimm),4\nmatches,0\ncore_(mayomayo),1\nkrekkov,1\nhay,0\nshigure_asa,4\ntales_of_eternia,3\naoi_manabu,1\nhorn_(instrument),0\nme!me!me!,3\nlight_cruiser_oni,4\nkirara_fantasia,3\nhazuki_natsu,1\nehrrr,1\nbekotarou,1\nfelix_hugo_fraldarius,4\ncaptain_falcon,4\noyatsu_(mk2),1\narcane_jinx,4\nmysta_rias,4\nspiked_hairband,0\nyasuda_akira,1\nnaked_necktie,0\nrakurakutei_ramen,1\nanzu_(o6v6o),1\ngengoroumaru_(ambidextrous),1\nkaoruru_(sakuno2911),1\nlunacle,1\nnanateru,1\nlucknight,1\naqua_leotard,0\nnozaki_umetarou,4\nraika9,1\nsaturn_(planet),0\ntsukahara_hibiki,4\nholocouncil,0\nmole_on_shoulder,0\nningen_(ningen96),1\njakuri_(ar_tonelico),4\npeacock_(skullgirls),4\nyagi_(ningen),1\nshikei,1\nkoikawa_minoru,1\nbad_bcy_id,5\nfighter_(7th_dragon),4\nyepnean,1\ncyclone_(reizei),1\nmejiro_ardan_(umamusume),4\nkawazoe_tamaki,4\ntategami_aoi,4\neonsang,1\nknifed,0\nsela_(23),4\nkunihiro_hajime,4\nmishima_hiroji,1\nspike_spiegel,4\nrider-tan,0\ncall_of_duty,3\nsomechime_(sometime1209),1\nmoon_phases,0\noz_(genshin_impact),4\nyu_mei-ren_(first_ascension)_(fate),4\nsingle_garter_strap,0\nmiyao_miya,4\nmakkachin,4\nmomose_rio,4\nsoba_(saz),1\nrazor,0\nsorey_(tales),4\naestheticc-meme,1\natg_(wttoo0202),1\namano_pikamee,4\nshugao,1\npiukute062,1\nsasa_onigiri,1\npoppy_(league_of_legends),4\nips_cells,0\ngreen_tunic,0\nakiyama_mizuki,4\nmabing,1\ntachikawa_mimi,4\nusatarou,1\nrinpoo_chuan,4\ntoad_(mario),4\nnemu_(nebusokugimi),1\nmizuhara_koyomi,4\nservbot_(mega_man),4\nenrico_pucci,4\nilsa_(granblue_fantasy),4\ndj,0\nhinahino,1\nyellow_umbrella,0\nfrance,0\nstriped_clothes,0\nbad_arm,0\nhatsune_(princess_connect!),4\nriku_(rikkuru),1\ncoffee_beans,0\nrazalor,1\norie_(under_night_in-birth),4\ndaimaou_ruaeru,1\nhanato_(seonoaiko),1\nshort-sleeved_sweater,0\ntetsujin_momoko,1\nmage_(ragnarok_online),4\nqueen's_blade_grimoire,3\ntomoshibi_hidekazu,1\nhatsuzuki_527,1\nshauna_(pokemon),4\nalice:_madness_returns,3\nnew_mask_of_hope,0\nichi_(ichikai),1\nsandalphon_(granblue_fantasy),4\nugoira_conversion,5\ngag_removed,0\nada_wong,4\ngrowlithe,4\ntakakura_shouma,4\nsenbon-zakura_(vocaloid),3\nmatatabi_(2ccp),1\nkimishima_ao,1\nmochizuki_ryouji,4\nkino_(m6t2a),1\nangel_girl_(shimmer),4\nikeda_kazumi,1\nranpha_franboise,4\nhirabitai,0\nmidnight_(banyex),1\nyaotome_urushi,4\nyokoshima_(euphoria),1\nfuji_shinobu,1\naya_shachou,1\nkuya_(hey36253625),1\npuuakachan,1\nswablu,4\nocarina,0\ndoko_tetora,1\nsenmu_(0107),1\njinrui_wa_suitai_shimashita,3\nwan'yan_aguda,1\ntennouboshi_uzume,4\nmitaka_asa,4\nfront_slit,0\nephraim_(fire_emblem),4\nmuffin_(sirumeria),1\nkarin_(p&d),4\nizuna_(swimsuit)_(blue_archive),4\nikuno_dictus_(umamusume),4\nnight_elf_(warcraft),0\nfemale_goblin,0\nmayura2002,1\norange_coat,0\ngreen_armband,0\nfinal_fantasy_ii,3\nzafira,4\nishida_akira,1\nyui_toshiki,1\nunhappy,0\nhyakuhachi_(over3),1\nsymmetra_(overwatch),4\nmameshiba,1\nminea_(dq4),4\nkane-neko,1\nwheat_field,0\nmelona,4\nmiyai_sen,1\nponsuke_(pon00000),1\ntomozero,1\ntakorice,1\nsociette_(granblue_fantasy),4\ndermar,1\narikawa_satoru,1\ninflatable_dolphin,0\nponiko,4\nbeeswax_(arknights),4\ngar32,1\nfengmo,1\nmonobe_yuri,1\nhanamiya_natsuka,1\nyukiu_con,1\nwattaro,1\nrelay_baton,0\nshake-o,1\ni-47_(kancolle),4\nbroly_(dragon_ball_z),4\nmonster_strike,3\nlobster,0\nholding_briefcase,0\ntuteurfars_shin,1\ntome_of_the_night_sky,4\nlocomotive,0\nkanekiyo_miwa,1\ntrapped,0\nandou_mahoro,4\nkurusugawa_ayaka,4\nangel_mort,0\nariverkao,1\napt,1\ndraenei,0\nnekomusume_(gegege_no_kitarou_5),4\nchocomiru,1\nbody_pillow,0\nyuki_(popopo),1\ngiraffe_horns,0\ntuna,0\nnoah_(tettsui-sole),1\npersona_dancing,3\nt-elos,4\nshirogane_miyuki,4\nfutanari_pov,0\nmarui_koishi,1\ngrey_eyeshadow,0\ndorsiflexion,0\nprinz_heinrich_(azur_lane),4\nperseus_(unfamiliar_duties)_(azur_lane),4\nsou_(soutennkouchi),1\nkosshii_(masa2243),1\ntoo_bad!_it_was_just_me!_(meme),0\nikurauni,1\nyamabuki_saaya,4\nsabamen,1\nvice-versa_(skullgirls),4\nbokutachi_wa_benkyou_ga_dekinai,3\nrunning_track,0\npako_(pakosun),1\nkoikatsu_(medium),5\nasahi_breweries,3\nsneasel,4\ntkgsize,1\nazuma_(azur_lane),4\nhaga_yui,1\nttomm,1\nminazuki_juuzou,1\ncharin,1\ndean,1\nfbc,1\ntidsean,1\nsubmission_hold,0\nshort_braid,0\nmonrooru,1\nnishiuri,1\ncanal,0\ncoin_rand,1\nech,1\ngununu,0\nmikasa_(azur_lane),4\ntapir_ears,0\npiano_print,0\ndiagonal-striped_neckwear,0\nslug,0\nmyrrh_(fire_emblem),4\nakane_(blue_archive),4\nyoon_cook,1\nblue_jumpsuit,0\nmitsudoue,1\ncrotch_kick,0\nwhite_garter_belt,0\nharbor,0\nclarevoir,1\nkamille_bidan,4\npatterned_legwear,0\nshiina_noriko,4\nkos-mos_ver._4,4\ndreepy,4\nkamia_(not_found),1\nbrighid_(xenoblade),4\ngrim_aloe,4\nred_camisole,0\npolka_dot_pillow,0\nsuito,1\nsato_ame,1\nunderwear_theft,0\nnontraditional_school_swimsuit,0\nknights_of_the_round_uniform,0\nhololive_fantasy,0\nazki_(hololive),4\ncharacter_hair_ornament,0\nmichelle_(bang_dream!),4\nwolf_paws,0\nzenkou,1\natoshi,1\nthompson_submachine_gun,0\nlord_of_vermilion,3\noberon_(third_ascension)_(fate),4\nsilence_glaive,0\nnoren,0\nmerry_nightmare,4\nluxray,4\nyuuki_(yuyuki000),1\nvolkner_(pokemon),4\n25-ji_night_code_de._(project_sekai),0\nirelia,4\npen_(medium),0\ndarkrai,4\nebido,1\nbonnie_(pokemon),4\nvector_(girls'_frontline),4\nabbystea,1\nshuuko_(s_h_uuko),1\nogawa_shou,1\nellen_(touhou),4\nbarcode_scanner,0\nunconnected_marketeers,3\nfoodgasm,0\nwarlock_(ragnarok_online),4\nkanta_(kanta_077),1\nrecursion,0\ndark_precure,4\nyakisoba,0\nagarest_senki_(series),3\nryota_(ry_o_ta),1\namane_ruri,1\nkurose_kousuke,1\nkamen_rider_build_(series),3\nshamare_(arknights),4\nhoozuki_(hoozuki_no_reitetsu),4\nsakura_empire_(emblem),0\nfrilled_shawl,0\nkamata_yuuya,1\nprolapse,0\nboxing,0\ntorn_thighhighs,0\naoki_ume,1\ndiglett,4\npikmin_(creature),4\nmomo_(higanbana_and_girl),1\nshoshinsha_mark,0\nmaken-ki!,3\nfruit_tree,0\nsouza_samonji,4\nlee-enfield_(girls'_frontline),4\nkuragari,1\narizuka_(catacombe),1\nblueberry_(5959),1\nadjusting_leotard,0\nleopard_boy,0\non_box,0\nmorizono_shiki,1\nspiked_gauntlets,0\npidgey,4\nbroken_mirror,0\ncore,0\nmirror_image,0\ntake_it_home,0\nvertical_comic,0\nashe_(league_of_legends),4\nforce-feeding,0\narceus,4\nkurumi_(touhou),4\nmusic_video,5\nfoaming_at_the_mouth,0\npersona_4_the_golden,3\nc.c._lemon,3\ndorontabi,1\nshirahane_nao,1\nganari_ryuu,1\nae-3803,4\nuguisumaru,4\nkuro_(be_ok),1\nwakfu,3\nmine_fujiko,4\nsilent_hill_2,3\nushiromiya_eva,4\nkikumaru_bunta,1\nmemories_off,3\nblue_male_underwear,0\ncross_(crossryou),1\nhinatsuki_mikan,4\nkadeart,1\ntakanashi_souta,4\nwobbuffet,4\nsenran_kagura_new_link,3\nfranky_(one_piece),4\nakatsuki_hijiri,1\nowari_akane,4\nshared_blanket,0\nsenji_(tegone_spike),1\nre:shimashima,1\ntakagi_(tansuke),4\nmasha,1\nmeeko,1\nstop_sign,0\nswan,0\nurban,0\nlightsource,1\nnegahami,1\nsunny_(omori),4\ncanister,0\nbreast_contest,0\nkoshigaya_komari,4\nmashiro_(rikuya),1\ntrain_station_platform,0\nscizor,4\nchocolate_chip_cookie,0\nanimation_paper,0\nplackart,0\ndengeki_g's,3\nin_heat,0\nmaterial-s,4\nleona_(league_of_legends),4\nwing_brooch,0\nclueless,0\nhands_on_thighs,0\nincoming_drink,0\nprint_footwear,0\noda_nobunaga_(maou_avenger)_(fate),4\npyukumuku,4\nkoshika_rina,1\nichininmae_no_lady,0\nask_(askzy),1\namedamacon,1\nschool_of_fish,0\njuuban_middle_school_uniform,0\nnight_vision_device,0\nsuper_saiyan_4,0\nbutterfly_ornament,0\nnameless_dagger_(fate),0\nanti_(0324),1\nshalon,4\nmarket,0\nayase_fuuka,4\nshin'en_(gyokuro_company),1\nm4_sherman,0\nstone_mask_(jojo),0\nagainst_fence,0\nkamiya_maneki,1\nhinase_(cookie),4\nedward_teach_(fate),4\nyuuyu_(777),1\ngarland_(decoration),0\nintertwined_tails,0\nyellow_tail,0\narthropod_boy,0\ntouhou_lost_word,3\naqua_skin,0\nplaying_card_theme,0\nelysia_(miss_pink_elf),4\ndeva_battle_suit,0\nquiz_magic_academy_the_world_evolve,3\nweidashming,1\nozen,4\nonigiri_print,0\nsatomi_(black_scarecrow),1\nsuspenders_gap,0\nthe_witcher_3,3\nkuwashima_rein,1\nfolks_(nabokof),1\nshinekalta,1\nali_baba_saluja,4\nterakoya,1\nflorence_nightingale_(trick_or_treatment)_(fate)_(cosplay),0\nshiragiku_hotaru,4\nsevered_arm,0\nalicia_(granblue_fantasy),4\ncrown_removed,0\nakai_sashimi,1\nasahina_mafuyu,4\nsonsaku_hakufu,4\nkamen_rider_den-o_(series),3\nproject_diva,3\noshiki_hitoshi,1\naozaki_touko,4\nokayado,1\nsaori_(blue_archive),4\nsuguri,3\nxter,1\nham_(points),1\nmirin_chikuwa,1\nwakasa_yuuri,4\ngogeta,4\nblue_tabard,0\na6m_zero,0\nshoulder_grab,0\nbeowulf_(fate),4\nsan_diego_(azur_lane),4\nknife_holster,0\nz/x,3\nabigail_williams_(swimsuit_foreigner)_(first_ascension)_(fate),4\nmad_hatter_(alice_in_wonderland),4\nbarbell,0\nshirt_slip,0\npac-man_eyes,0\nberabou,1\nhirato_(kancolle),4\npan-pa-ka-paaan!,0\nshoe_removed,0\nnia_(nia4294),1\ngrumpy_nun_(diva),4\ncuteg,1\nmimino_kurumi,4\nkiri_futoshi,1\nsariel_(touhou),4\nwatarai_keiji,1\nsacred_heart,4\nkim_hyung_tae,1\nshihou_(g-o-s),1\nshirosuzu,1\negawa_satsuki,1\nichiren_namiro,1\nsuna_(s73d),1\ncleopatra_(fate),4\nkaigen_1025,1\nflorence_nightingale_(fate)_(cosplay),0\nno,0\nyaomai,1\noosaki_shin'ya,1\niws_2000_(girls'_frontline),4\nkeyaki_chimaki,1\nishimiso_(ishimura),1\nshoe_locker,0\nyatai,0\nisedaichi_ken,1\nmajutsushi_orphen,3\nole_tower,3\nflora_(dq5),4\nnakamura_hinato,1\nsakuyu,1\nhitoribocchi_no_marumaru_seikatsu,3\ndemi-chan_wa_kataritai,3\nxiao_wu_(douluo_dalu),4\nsee-through_swimsuit,0\ncrisis_core_final_fantasy_vii,3\nkoyanskaya_(assassin)_(first_ascension)_(fate),4\nsuou-sensei,1\nmouri_ran,4\nralts,4\nrin-sin,1\nend_of_evangelion,3\nshiokonbu,1\njonsun,1\nwinn,1\nso-bin,1\ncomic_aun,3\nkvlen,1\nred_mage,4\ntooo,1\nkentaurosu,1\ngreen_border,0\nfujieda_uzuki,1\nhand_on_another's_penis,0\noyakodon_(sex),0\nsuper_saiyan_blue,0\nyoruny,1\nhisae_(hisae_collect),1\nmigihidari_(puwako),1\nkito_(sorahate),1\nlumo_1121,1\nmusha_miko_tomoe,4\nsteve_rogers,4\ngouenji_shuuya,4\ngirls_und_panzer_ribbon_no_musha,3\nsatoupote,1\nmizuga,1\nmedarot,3\nmobius_(honkai_impact),4\nfjorm_(fire_emblem),4\ntsukikage_oyama,1\nsplashbrush,1\nwangchuan_de_quanyan,1\ntaimanin_asagi_kessen_arena,3\ngrey_overalls,0\nspongebob_squarepants,3\nairisubaka,1\nsaint-louis_(azur_lane),4\ngradient_skirt,0\nprint_sweater,0\nrobin_(arknights),4\nminami_koyogi,1\npuchiman,1\nliduke,1\nchangpao,0\nhyakko,3\narched_soles,0\ngii,4\nsuien,1\namagiri_(kancolle),4\nsatomura_kyou,1\nram_hachimin,1\nharukara_(7th_dragon),4\nnishiide_kengorou,1\nusami_ichika,4\nkokomine_cocona,4\nwiggling_toes,0\nmaeshima_shigeki,1\nhybrid,0\nbeige_dress,0\nlaura_matsuda,4\ntan_yang_(kancolle),4\nnakano_maru,1\nrice_shower_(make_up_vampire!)_(umamusume),4\nlifeline_(apex_legends),4\nrina-chan_board,0\nilya_(princess_connect!),4\nsorimura_youji,1\nhiraga_saito,4\nkyougoku_touya,1\nisayama_yomi,4\ncarnival_phantasm,3\nrustle,1\nlong_arms,0\nkagemusha,1\nmiya_(miyaruta),1\nwhite_corset,0\nhinagi_(fox_priest),1\nmorgan_(fire_emblem)_(female),4\nfood_fantasy,3\nleon_s._kennedy,4\nsukeban,0\nwatanore,1\nace_trainer_(pokemon),4\nlimgae,1\ntotoro,4\ngoshiki_agiri,4\nmarui_hitoha,4\nfutami_eriko,4\nqueen,0\nuyama_hajime,1\nmunakata_atsumi,4\nphotobomb,0\ninflatable_orca,0\ncatnnn,1\nyomosaka,1\npanties_around_ankles,0\npaw_print_soles,0\nh&k_mp5,0\nkozou_(soumuden),1\nregular_mow,1\nrejean_dubois,1\nbort,4\nundine_(guilty_gear),4\nadventurer_(ff14),4\nfur_choker,0\njean_(sea_breeze_dandelion)_(genshin_impact),4\namaha_masane,4\nzasshu,1\nflower_(vocaloid4),4\neiko_carol,4\nkurusugawa_himeko,4\nmatsumi_kuro,4\nkaiza_(rider000),1\ntiv,1\nred_sarong,0\nmayogii,1\nkawai_makoto,1\nbasketball_hoop,0\nshez_(fire_emblem),4\npinta_(ayashii_bochi),1\nhyanna-natsu,1\nvenom_(marvel),4\nvolo_(pokemon),4\nsuyasuyabi,1\nfae_(fire_emblem),4\nless_end,1\npresenting_foot,0\ndiagonal-striped_bowtie,0\nryne,4\nwell,0\nshunsuke,1\nursula_hartmann,4\nyen,0\nmashiroiro_symphony,3\ntera_zip,1\ncow_hat,0\nblood+,3\nyokota_mamoru,1\nneck_biting,0\nmiyazono_kawori,4\nparticle_cannon_case,0\nshima-shuu,1\nkarochii,1\npuzzle,0\ntraining,0\nmysterious_heroine_x_alter_(second_ascension)_(fate),4\nzoroark,4\ndearmybrothers,1\nfujimaru_ritsuka_(female)_(brilliant_summer),4\nabigail_williams_(festival_outfit)_(fate),4\ngeppewi,1\nhermione_granger,4\nstanding_on_object,0\nishtar_(fire_emblem),4\nyu_mei-ren_(swimsuit_lancer)_(fate),4\nkei_(soundcross),1\ncierra_(ra-bit),1\ntsubobot,1\nwater_slide,0\ncollei_(genshin_impact),4\nplate_carrier,0\ncarnelian_(arknights),4\npink_butterfly,0\nchampagne_bottle,0\nyumenosaki_school_uniform,0\nguile,4\nmikagami_mamizu,1\ndarry_adai,4\nmilk_(yes!_precure_5),4\ntabata_hisayuki,1\nair_mattress,0\ntaurine_8000mg,1\nkinako_(shiratama_mochi),1\nhanazono_tae,4\nchups,1\nshiro_(no_game_no_life),4\nshinkyoku_soukai_polyphonica,3\nbauble,0\nchomoran,1\nflonne_(fallen_angel),4\nadachi_sakura,4\nhao_(patinnko),1\nholding_dog,0\nkuppipi_ramutarou,1\nkanokon,3\nnorth_carolina_(azur_lane),4\nshinx,4\njill_07km,1\nyoisaki_kanade,4\nfuyutsuki_(kancolle),4\ngundam_08th_ms_team,3\naoba_(smartbeat),1\nstarry_moon,0\nmyoudou_gakuen_middle_school_uniform,0\npuzzle_piece,0\nyukimoto_shuuji_(gurigura),1\nx-ray_vision,0\nnns_(sobchan),1\ndaye_bie_qia_lian,1\nkitakami_kai_ni_(kancolle),4\nwalther_wa_2000,0\nbad_hentai-foundry_id,5\nsabaku_chitai,1\ninoue_takuya_(tactactak),1\nkoissa,1\nchihaya_(clothing),0\npc-98_(style),0\neyjafjalla_(summer_flowers)_(arknights),4\norange-framed_eyewear,0\nyouko-shima,1\nkitaku_jikan_(ktk_jkn),1\nforced,0\ncheckered_haori,0\nforeskin_pull,0\nwall_lamp,0\nsakuragi_matsuri,4\nfox_mccloud,4\nmultiple_hands,0\nhoukago_play,3\nkureha_mitsushige,1\npastry_box,0\nkamen_rider_ryuki_(series),3\naerial_battle,0\nhita_(hitapita),1\nisland_(kossori),1\nx-t3al,1\noukawa_yuu,1\nkujou_hikari,4\ncromachina,1\nlooking_at_food,0\nedytha_rossmann,4\nspicy_moo,1\nchest_guard,0\nd-rex,1\nkite,0\napplekun,1\nholding_menu,0\nruuto_(sorufu),1\nnargacuga_(armor),4\ndaito,1\nhk416_(black_kitty's_gift)_(girls'_frontline),4\npokemon_bdsp,3\nabbreviated_karakusa,0\nsharp_sign,0\npenguin_logistics_logo,0\nprince_of_lorasia,4\nrossiu_adai,4\nshiodome_miuna,4\ntakeya_yuki,4\nbakkanki,1\ncinderella_bust,0\nbyulzzi,1\noyaji-sou,1\ntoothbrush_in_mouth,0\nnakadori_(movgnsk),1\nlightning_bolt_hair_ornament,0\nkodomo_no_hi,0\nkagamine_len_(append),4\nbandaged_wrist,0\njahy,4\nal_azif,4\nfainting,0\nogiue_chika,4\nan_yasuri,1\nutopia,1\namami_amayu,1\njan_azure,1\nkirisame_mia,1\nsora_to_umi,1\nfujiwara_no_mokou_(young),4\ncoyote_(kemono_friends),4\nspain_(hetalia),4\nhand_grip,0\nchristmas_wreath,0\nmori_yuki,4\nshpo,1\nsheikah_slate,0\nakiha_rumiho,4\nhyakka_ryouran_samurai_girls,3\npuyo_(puyotopia),1\nnanami_touko,4\nexpressive_tail,0\nreiwa,0\nhead_hug,0\nmercury_(element),0\ncum_bubble,0\nrakudai_ninja_rantarou,3\ntakahashi_tetsuya,1\nlinked_collar,0\naliza_(granblue_fantasy),4\ncrocodile,0\nnitamako_(sakamalh),1\nnanase_miori,1\nstarscream,4\nbreath_of_fire_iii,3\nmagion02,1\ntongue_grab,0\ngingham_apron,0\nling_xiaoyu,4\nprier,4\ndyun,1\nphone_booth,0\nrom_(20),1\ntakeda_aranobu,1\njelly_bean,0\njizou,0\nsitting_on_railing,0\nanza_tomo,1\nrio_rollins,4\nkagamine_rin_(append),4\nk2isu,1\nprism_project,3\nfengxi_(the_legend_of_luoxiaohei),4\nkoromaru_(persona),4\nsakamoto_ryuuji,4\nsaint_seiya_omega,3\nwireless,0\nshisei_(kyuushoku_banchou),1\nzaizen_tokiko,4\ntaki_(soulcalibur),4\nracing_suit,0\nnanaken_nana,1\nkidouko_(zakusi),4\nholding_fireworks,0\ncoffee_maker_(object),0\nsign_around_neck,0\nboombox,0\nwhite_wristband,0\nholding_feather,0\nred_riding_hood_(sinoalice),4\nriz,1\nmy_melody,4\npinky_swear,0\nchiba_toshirou,1\nred_blindfold,0\nnishida_megane,1\nsheita,1\nplusle,4\narm_pillow,0\nfingering_from_behind,0\ntakemi_tae,4\nkaminari_denki,4\nstanding_cunnilingus,0\nsakaki_(noi-gren),1\nclam,0\npee_stain,0\nvox_akuma,4\nkuroda_bb,1\npointing_down,0\noctoling_boy,4\nyoru_(chainsaw_man),4\ncooperative_handjob,0\nstone_walkway,0\nyuyu_(00365676),1\nkitsuneno_denpachi,1\nyusha_m,1\nlynus,1\ngoe_(g-o-e),1\npon_de_ring,0\nkanoe_soushi,1\nkitiroku,1\nu-non_(annon'an),1\ndragonair,4\ntristana,4\nhiranko,1\nkonoe_konoka,4\nvictorian_maid,0\ncreature_on_shoulder,0\nmizuki_(arknights),4\ncleaning_brush,0\nsasaki_akira_(ugc),1\ntake_(trude1945oneetyan),1\nsource_mismatch,5\nukyo_rst,1\ngotou_keiji,1\nmudra,0\nlast_period,3\nextra_penises,0\nbunbunmaru,0\nfurau,1\nhugging_another's_tail,0\non_crescent,0\nshohei_(piranha5hk),1\nmonobeno,3\nlate_for_school,0\nmauser_c96,0\nkinfuji,1\nankha_(animal_crossing),4\nkinagase_tsumugu,4\nmeiji_ken,1\nkuroba_rapid,1\numino_mokuzu_(shizumisou),1\nnagomi_(mokatitk),1\nkazama_souta,4\ncarrot_print,0\nkiyohime_(swimsuit_lancer)_(first_ascension)_(fate),4\nfeet_on_table,0\naladdin_(magi),4\norushibu,1\nbuttercup_(ppg),4\nkaguyuzu,1\ntsuki_tokage,1\ncostume_chart,0\nsniper_scope,0\nmeme50,1\nh-new,1\nmizin_kosutin,1\nsimoyuki,1\nnekonyaa_(girls_und_panzer),4\nhijiki_(hijikini),1\nerkaz,1\nyoichi_(umagoya),1\nhat_pin,0\nchikuwa,0\ninstagram,3\ntakano_yuki_(allegro_mistic),1\nsimulacrum_(titanfall),0\nstuffed_sheep,0\ngrenade_pin,0\nwii,0\nmedicine,0\nkonpeitou,0\nmata_(matasoup),1\nkasai_shin,1\nmamemochi,1\nmiwano_rag,1\nchiester410,4\nalternate_color_school_swimsuit,0\nbruised_eye,0\nkagura_(azumanga_daioh),4\nprompto_argentum,4\nhowl_(howl_no_ugoku_shiro),4\ndr_pepper,3\nsydus,1\nfu_hua_(azure_empyrea),4\namagi-chan_(azur_lane),4\nhydreigon,4\niwasaki_takashi,1\nflight_attendant,0\npublic_vibrator,0\nrotated,5\nkimeemaru,4\nfalkyrie_no_monshou,3\nkamioka_shun'ya,1\nkousetsu_samonji,4\nortlinde_(fate),4\nthai_commentary,5\nmister_donut,3\nhoshinoumi_academy_uniform,0\nka_(marukogedago),1\nicehotmilktea,1\nmaitetsu,3\nthe_owl_house,3\nukiyo-e,0\nmisdreavus,4\nakechi_gorou,4\nkeroro,4\nshamisen,0\nchounorin,1\nleia_rolando,4\nfeena_(grandia),4\nhanya_(hanya_yashiki),1\nak-12,0\ndolls_in_pseudo_paradise,3\nbouncing,0\nsniper_(ragnarok_online),4\nmetal_gear_solid_4,3\ngatau,1\nlangrisser,3\nfluttershy,4\nzerocat,1\nfukurou_(owl222),1\nmitsunara,1\nlatin_text,0\nuchuu_no_stellvia,3\nc_(control),3\nrudoni,1\nfood_on_clothes,0\ncloud_hair_ornament,0\nnina_(breath_of_fire_ii),4\nhisau_maiya,4\nstarry_sky_bright_(idolmaster),0\ngreek_mythology,3\nooshio_kai_ni_(kancolle),4\narcie_albano,1\nlaser_sight,0\nsakura_ani,1\nmetagross,4\nindianapolis_(azur_lane),4\nmultiple_anal,0\nbullet_(blazblue),4\nkuroko_tetsuya,4\nanarogumaaa,1\nokonogi_yuuko,4\nsingle_tear,0\nlass_(pokemon),4\nderas,1\nfruit_hat_ornament,0\nstar_censor,0\nfinnish_text,0\nmiru_tights,3\nduoyuanjun,1\nmulticolored_coat,0\ndildo_under_clothes,0\neagle_union_(emblem),0\navalon_(fate/stay_night),0\npitchfork,0\nside-tie_dress,0\nmonoko,4\noxygen_mask,0\nmoe_(hamhamham),1\nminakata_sunao,1\ntales_of_destiny_2,3\ngodsworn_alexiel,4\nbob_(biyonbiyon),1\ntengu_(tetuo_kun),1\nhai_ookami,1\nminun,4\npurple_cloak,0\nsurtr_(colorful_wonderland)_(arknights),4\ntokiame,1\nshamir_nevrand,4\naogisa,1\nuneven_footwear,0\nfood_as_clothes,0\nhero_(dq5),4\nmismagius,4\nemily_stewart,4\nbyte_(allbyte),1\nnihongami,0\nchaika_trabant,4\ntry_(lsc),1\nultraman_(1st_series),3\nsalt_shaker,0\ninterstellar,1\norange_sclera,0\nnurse_witch_komugi-chan,3\ndragunov_svd,0\ngiovanni_(pokemon),4\nzhu_xian,3\non_water,0\nkrile_mayer_baldesion,4\nharuhata_mutsuki,1\ngin_(ginshari),1\nuni_(plastic_girl),1\nace_of_diamond,3\ngun_on_back,0\narashi_chisato,4\nboyaking,1\nmissing_eye,0\nwhite_devil,0\ntable_tennis,0\ntrusty_bell,3\ndearonnus,1\nsanshita,1\nswav,1\npidgeot,4\ndise,1\nharuhara_haruko,4\nkoruse,1\nmorinaga_miki,1\ndaitai_konna_kanji,1\nnono_(top_wo_nerae_2!),4\nhector_(fire_emblem),4\nmillie_parfait,4\nkamiyama_aya,1\ndog_hood,0\nflower_choker,0\ncarnation,0\npegasus_wings,0\nbackwards_virgin_killer_sweater,0\nkama_(second_ascension)_(fate),4\nataru_(cha2batake),1\ntilt-shift_(azalanz),1\nbear_paws,0\nflood,0\n547th_sy,1\nkao_no_nai_tsuki,3\nknuckles_the_echidna,4\nhjl,1\nsnort,0\ntiamat_(fate),4\npotato_pot,1\ndoremi,1\nrough_time_school_(idolmaster),0\nshinigami,0\ncrypton_future_media,3\nlibrary_of_ruina,3\nalolan_raichu,4\ndangomushi,1\nfujimoto_rina,4\nnekometaru,1\nholding_drumsticks,0\nashelia_b'nargin_dalmasca,4\ntanaka_mako,4\nthe_little_mermaid,3\nkabocha_(monkey4),1\nsendrawz,1\nbrief_(psg),4\noff-shoulder_one-piece_swimsuit,0\nsaria_(the_legend_of_zelda),4\nmunna,4\nring_necklace,0\nnam_(valckiry),1\nafter_war_gundam_x,3\natelier_escha_&_logy,3\nspirytus_tarou,1\nkihara_tsumugu,4\nmokke_(mokke99),1\nidaten93,1\ncyicheng,1\nwar_devil_(chainsaw_man),4\nsuwa_yasai,1\nnelson_(azur_lane),4\nin_bottle,0\nincase,1\ngalleon_(granblue_fantasy),4\nayakumo,1\nskateboarding,0\nrasahan,1\ndishes,0\nchiri_(atlanta),1\nhina_ningyou,0\nsila_(carpen),1\nkourindou,0\nhiiringu,1\nsanshoku_amido,1\nlong_hoodie,0\nhajime_(hajime-ill-1st),1\npeplos,0\ntorn_bra,0\nevil_eyes,0\nakashiya_moka,4\ntomari_(veryberry00),1\nignis_scientia,4\nakizora_momiji,1\nmousou_(mousou_temporary),1\noshiruko_(uminekotei),1\nmerlin_(fate/prototype)_(second_ascension),4\nkintsuba_(shiranui_flare),4\ngo_robots,1\ncontortion,0\nkohaku_(yua),4\nbuzz,1\nsuetake_(kinrui),1\ntranslucent_bunnysuit,0\nigarashi_kyouhei,1\nbalalaika_(black_lagoon),4\nermes_costello,4\nkaedeko_(kaedelic),1\ncordelia_(fire_emblem),4\nhands_on_own_knee,0\nmale_swimwear_challenge,0\nboutonniere,0\nnymph_(sora_no_otoshimono),4\ngold_saint,0\npiglet,0\nteam_galactic,0\nllenn_(sao),4\nonomeshin,1\nsafi,1\ntrickster,3\nakino_ell,1\nakazutsumi_momoko,4\nzonda_(solid_air),1\niwamoto_zerogo,1\nteam_magma_uniform,0\ntaneda_yuuta,1\nichigo_(cookie),4\nurabi_(tomatohouse),1\nboxing_ring,0\nterupancake,1\ngradient_horns,0\npink_sarong,0\nshoujo_to_ura_roji,3\nwishiwashi,4\nsakura-sou_no_pet_na_kanojo,3\nginga_eiyuu_densetsu,3\nshot_glass,0\naqua_pantyhose,0\nbad_instagram_id,5\nmakina_nakajima,4\nlulu-chan92,1\nkuurunaitsu,1\nalter_servant,0\npantyhose_removed,0\nvivi_(eve_no_hakoniwa),1\nmimoto_(aszxdfcv),1\nmasaru.jp,1\nthe_yuudachi-like_creature,4\nkyokucho,1\noriginium_(arknights),0\nlace-trimmed_choker,0\nkamen_rider_wizard_(series),3\nflower_on_liquid,0\nholding_spatula,0\ngensokyo,0\nshimoneta_to_iu_gainen_ga_sonzai_shinai_taikutsu_na_sekai,3\npaladin_(final_fantasy),4\nstar_of_life,0\nribbon-trimmed_bikini,0\ncamouflage_skirt,0\nfujishiro_emyu,1\nweedy_(arknights),4\nsuzume_inui,1\nwrapped_up,0\nsinzan,1\ngoomba,4\nflaming_skull,0\nrioka_(southern_blue_sky),1\nsody,1\narakune,4\nnksk,1\ntask_(s_task80),1\npyramid_head,4\nxia_(ryugo),1\ntyping,0\nlupinus_virtual_games,3\nmilo_(pokemon),4\npig_tail,0\ngundam_0080,3\nsummon_night_2,3\npegging,0\nsukajan,0\nakakage_red,1\nprotean_assassin_melona,4\nmonado,0\ntakatsuki_nato,1\nroxanne_(pokemon),4\ntake_(shokumu-taiman),1\nyadapot,1\nhand_under_skirt,0\nbomhat,1\nvivi_ornitier,4\nshiny_footwear,0\nmamedenkyuu_(berun),1\nglove_in_mouth,0\ncross-laced_cutout,0\nekakibito,1\nclemont_(pokemon),4\nmarimo_(yousei_ranbu),1\nholding_spring_onion,0\nlobotomy_corporation,3\nsatsuriku_no_tenshi,3\nlazyprocrastinator,1\nkamu_(geeenius),1\nlong_beard,0\nramza_beoulve,4\ntropical,0\nfunny_valentine,4\nshiranagi,1\nsaiyan,0\njiaozi,0\nvalkyrie_(p&d),4\nraikoart,1\nasaga_aoi,1\notonashi_haruna,4\npoker_table,0\nranf,1\njikatarou,1\nblood_drip,0\nresting,0\nneco,1\nfei_(maidoll),1\ncanyon,0\nflamingo,0\nkida_masaomi,4\nan-94,0\nvictory_pose,0\njust_as_planned_(meme),0\nchocolate_syrup,0\nryuugamine_mikado,4\nalolan_exeggutor,4\nanya's_heh_face_(meme),0\nhishi_amazon_(umamusume),4\nlittle_girl_admiral_(kancolle),4\ntriad_primus_(idolmaster),0\npataneet,1\nlace-trimmed_garter_belt,0\nyuuta_(monochrome),1\nhenshin_pose,0\nakamaru,1\nteemo,4\nsymphogear_pendant,0\nfalcon,0\nlarcei_(fire_emblem),4\nfujii_masahiro,1\nmashuu_masaki,1\nkamen_rider_gaim_(series),3\npinstripe_vest,0\nnanatsuiro_drops,3\nootomo_takuji,1\nmatsurika_youko,1\nchougei_(kancolle),4\nkaede_(sayappa),1\nu.a._gym_uniform,0\nfuchi_(nightmare),1\nhashi,1\nnuzzle,0\ngrandfather_and_grandson,0\nsage_joh,1\nknot,0\nkaiten_muten-maru,3\nulrich_von_hutten_(azur_lane),4\nnakigitsune,4\nmihama_junior_high_school_uniform,0\ngo_back!,0\nthunder_(girls'_frontline),4\npapyrus_(undertale),4\nsqueezable_(artist),1\nred_sun,0\nhogtie,0\ncrosier,0\nstuffed_lion,0\ntoque_blanche,0\nshinguuji_sakura,4\nmeira_(touhou),4\nsohin,1\njapanese_tankery_league_(emblem),0\ndancer_(final_fantasy),4\nplaystation_4,0\nnozomi_tsubame,1\nshingo_(missing_link),1\nsuper_smashing_summer_vacation_(umamusume),0\nkagerou_kai_ni_(kancolle),4\nwashington_(kancolle),4\nrevealing_layer,0\ndecora,0\nkitami_yuzu,4\nkira_tsubasa,4\nyatsuhashi_kyouto,1\nkion-kun,1\ncow_hood,0\nbook_holster,0\nhoujou_satoshi,4\nsakura_mochi,0\nalucard_(hellsing),4\nunagi_(kobucha_blaster),1\nsaeki_tatsuya,1\nblack_tea,0\njiino,1\nflying_nimbus,0\nbili_girl_33,4\ntoto_nemigi,1\nanyamal_tantei_kirumin_zoo,3\nhaori_io,1\nsakurato_ototo_shizuku,1\nyaruku,1\ninuyama_nanami,1\nezreal,4\nankkoyom,1\npikaole,1\ncaulifla,4\ntight_top,0\nred_panda_ears,0\nisse,1\ncross-laced_slit,0\nbetween_labia,0\ndejiko,4\nsword_art_online:_memory_defrag,3\nshinguuji_korekiyo,4\nkittan_bachika,4\nmutsu_(layergreen),1\nnian_(zhanian),1\nluigi_torelli_(kancolle),4\nseitokai_yakuindomo,3\npumpkinspicelatte,1\nsparkle_hair_ornament,0\nsanari_(quarter_iceshop),1\nostrich,0\ncyancapsule,1\nbag_over_head,0\nframed_image,0\ndiane_(nanatsu_no_taizai),4\nouhara_lolong,1\nio_(granblue_fantasy),4\ngriffith_(berserk),4\neasy_chair,0\nmisaka_12003-gou,1\nground_shatter,0\ntsurugi_hagane,1\npillory,0\narf,4\nshikino_yuki,1\nmachete,0\nfloating_head,0\nscrape,0\nshinkon_santaku,0\nshimamura_hougetsu,4\nkagachi_saku,1\ndaiba_nana,4\nwaterkuma,1\npac-man,4\ncaptain_america_(series),3\nsubway,0\nface_grab,0\nmeitoro,1\nsuzuki_kyoutarou,1\nhinata_shouyou,4\nyohane_bonaventura,4\nbanpai_akira,1\nputting_on_jewelry,0\nminato_tomoka,4\ncutoff_jeans,0\ntang_sanzang,4\nwendy_marvell,4\nfiora_(xenoblade),4\nsekaiju_no_meikyuu_4,3\ncomiket_94,3\ntako_(plastic_protein),1\nsayaka_(saru_getchu),4\ncriin,1\nhistorical_event,0\nautoarousal,0\nyuri_(dirty_pair),4\nninja_(final_fantasy),4\nantarcticite,4\nsword_art_online:_alicization_-_war_of_underworld,3\nhirose_(mokiki),1\nsilvervale,4\nvilde_loh_hocen,1\nchanging_clothes,0\nrella,1\nnanahara_fuyuki,1\nnecktie_between_pectorals,0\ndev_(dev0614),1\nyuuzii,1\ntenjou_ryuka,1\npainwheel_(skullgirls),4\nkitashirakawa_anko,4\nikaros,4\nportland_(azur_lane),4\ntakecha,1\nant,0\nnyifu,1\nkezune_(i-_-i),1\nsino_(sionori),1\nsesshouin_kiara_(swimsuit_mooncancer)_(second_ascension),4\nputcher,1\nkofunami_nana,1\nkyouno_madoka,4\nselphie_tilmitt,4\ndagashi_(daga2626),1\npenelo,4\nsenju_(snz0),1\nsaitou_(lynx-shrike),1\nchibirisu,1\nchestnut,0\npower_item_(touhou),0\nlord_of_heroes,3\nsengoku_taisen,3\nsunna_(nilsunna),1\nsweater_tucked_in,0\nribbon-trimmed_gloves,0\nuntied_bra,0\nhirai_yuzuki,1\nbasil_(omori),4\ntales_of_legendia,3\nsingle_bridal_gauntlet,0\nhanokage,1\nstrelizia,4\nshining_wind,3\napios1,1\nfamicom,0\nseyren_windsor,4\nkurosaki_mea,4\ncutiefly,4\nu35,1\nknitting_needle,0\nnigirizushi,0\nxe_(execut3r),1\nm950a_(girls'_frontline),4\nsherlock_holmes_(fate),4\nkirito_(sao-alo),4\nyoshino_(date_a_live),4\nhorkeu_kamui,4\nblue_male_swimwear,0\nsakizaki_saki-p,1\nfire_emblem:_shadow_dragon,3\nkrul_tepes,4\nanimal_hair_ornament,0\nsnake_earrings,0\nspiked_knuckles,0\nmachine_pistol,0\nakino_hamo,1\nslippers_removed,0\nlolidom,0\nmitsugu,1\npurple_robe,0\ncrosshair_pupils,0\nsaku_anna,1\norange_one-piece_swimsuit,0\nunderwear_writing,0\nfighting_game,0\ncarbuncle_(puyopuyo),4\ncirilla_lin,1\nhazuki_ruu,1\nheian,0\nkanda_mizuki,4\nu-1146,4\nstirring,0\nhitotose_rin,1\nmarceline_abadeer,4\nviola_(seed),1\nkisw2010,1\nnatsu_dragneel,4\nkomatsuzaki_rui_(style),0\njp06,1\nnuriko-kun,1\nakisora,1\ncomiching,1\ncure_magical,4\nblack_tube_top,0\nyu-gi-oh!_vrains,3\nneck_flower,0\ntsuujou_kougeki_ga_zentai_kougeki_de_ni-kai_kougeki_no_okaasan_wa_suki_desu_ka?,3\nlady_(devil_may_cry),4\ntake_shinobu,1\ntennis_no_ouji-sama,3\natsushi_(aaa-bbb),1\nkawai_ritsu_(rits_meg),1\nwhite_leggings,0\nssrb,4\nsgk,1\ntoki_wo_kakeru_shoujo,3\niridescent,0\ntoyota,0\nswimsuit_lift,0\nhagino_kouta,1\nkazami_mizuho,4\nmazume,1\nmikeran_(mikelan),1\nst._michael's_school_uniform,0\nbook_on_lap,0\nhonzuki_no_gekokujou,3\nseal_impression,0\nleaning_on_table,0\nfuumi_(radial_engine),1\nthe_lord_of_the_rings,3\nyellow_(among_us),4\nkawagishi_keitarou,1\nooi_kai_ni_(kancolle),4\nsailboat,0\nrose_(street_fighter),4\nurushi,1\nspire,0\nnakano_sora,1\nichigo_100_percent,3\nschwarzesmarken,3\nteddy_(khanshin),1\nkannazuki_hato,1\nnobi_nobita,4\nseikimatsu_occult_gakuin,3\ntickle_torture,0\ntentacle_grab,0\nono_misao,1\nfukuda_shuushi,1\nplum_(arch),1\njuusan_kihei_bouei_ken,3\nnokuhashi,1\nuguisu_mochi_(ykss35),1\nmichihasu,1\nnase,1\nearth_eleven,0\nasahina_hikage,1\nrandou,1\ntowel_around_waist,0\nstitched_leg,0\nprincess_bonnibel_bubblegum,4\nmoonlight_flower,4\nsanta_alter,4\ntales_of_arise,3\ngirly_boy,0\nforte_stollen,4\niron_blood_(emblem),0\nmaru_(marg0613),1\nhenrietta_de_tristain,4\ndevil_may_cry_4,3\nquagsire,4\nunderground,0\nbroken_mask,0\ncaution,0\nkajiki_yumi,4\nhook_hand,0\ntwin_(tt_lsh),1\ntossing,0\nhymen,0\ncomic_party,3\nwooden_spoon,0\nninjatou,0\ntof,1\nasagami_fujino,4\nchihunhentai,1\nlunch_(lunch3),1\nhololive_alternative,3\ncutie_honey,3\nshiden_(sashimi_no_wife),1\nhippopotamus_ears,0\nrivalry,0\nturntable,0\nshoulder_belt,0\nfyuo,1\nben_10,3\nbarret_wallace,4\nkusanagi_kyou,4\narbok,4\ncondom_left_inside,0\nharusame_(rueken),1\niroha_(shiki),1\nhippo_(hirople),1\nwrists_extended,0\nmini_flag,0\nnejikyuu,1\nazumi_(girls_und_panzer),4\nsenren_banka,3\nantonio_salieri_(fate),4\nurara_(ckt),1\ntan_(tangent),1\nkyouno,1\nizmir,4\ndeviantart_logo,0\nsanshuu_middle_school_uniform,0\nshiosoda,1\nshoujo_donburi,1\nhand_on_ground,0\nayuayu_(shouyu_no_sato),1\nnarutomaki,0\nfukutarou_(enji127),1\nninin_ga_shinobuden,3\nbandai,3\nmetera_(granblue_fantasy),4\nbalance_scale,0\nkagero_(fire_emblem),4\npraying_mantis,0\npaint_musume,1\nkagura_gumi,3\nmomohime,4\npenis_piercing,0\nlunch_(dragon_ball),4\nsarashina_ruka,4\nkazuno_sarah,4\nekao,1\nasmodeus_(umineko),4\nbadcompzero,1\nayasaka,1\nmisaki_akeno,4\nhazuki_(tsukuyomi),4\npolarityplus,1\nalchera,1\ntsukushi_akihito,1\nnu_gundam,4\nyuni_(precure),4\nashley_graham,4\nminami_yume,4\nclitoris_ring,0\nreuniclus,4\nh&k_g11,0\naurochs_(kemono_friends),4\ngaston18,1\nhanda_roco,4\nkeyring,0\nmeteor_shower,0\nnekozuki_yuki,1\nyuihira_asu,1\nakadako,1\nohishi_izumi,4\nroromiya_karuta,4\nnagao_kagetora_(fate),4\nookuma_satomi,4\nkanmiya_shinobu,1\nratatatat74,1\nhaguro_kai_ni_(kancolle),4\nkei_(dirty_pair),4\nsaikin_yatotta_maid_ga_ayashii,3\nhajin,1\nhiei_kai_ni_(kancolle),4\nsuzume_miku,1\nkirby_64,3\npole_(ppp1409),1\nchakabo,1\nsakura_hibiki,4\ntatsunami_youtoku,1\nsculpture,0\nhousewife,0\nharihisa,1\ndragon_kid,4\nkagamine_rin_(cosplay),0\npapercraft_(medium),0\nshiro_(reptil),1\nkeytar,0\njaho,1\nhonolulu_(umbrella_girl)_(azur_lane),4\nsougetsu_(yosinoya35),1\nhoshino_souichirou,1\naleksandra_i._pokryshkin,4\nfue_(rhomphair),1\nshiraishi_yoshitake,4\nstrike_witches:_katayoku_no_majo-tachi,3\naohashi_ame,1\ngainaxtop,0\nhou_(hachiyou),1\nryoma_(fire_emblem),4\ncolo_(nagrolaz),1\nshiitake_nabe_tsukami,1\nshell_earrings,0\ndk.senie,1\nmorpeko_(hangry),4\nshian_(my_lonly_life.),1\nnekki_basara,4\nblack_lady,4\nkoyama_hirokazu,1\ntogekiss,4\nonnaski,1\ntsuyadashi_shuuji,1\nikeda_shouko,1\noyu_udon,1\nmimikaki_(men_bow),1\nnonaka_ritsu,1\nhiramitsu_hinata,4\nbatsu,1\ndragapult,4\nbeehive_hairdo,0\nyagokoro,4\ndoyora,1\ntitanfall_(series),3\nin_bag,0\nsnow_on_head,0\none_(cevio),4\ntail_fin,0\ntestament_(guilty_gear),4\nkise_ryouta,4\nkitagawa_yuusuke,4\nsasa_kichi,1\nkama_(third_ascension)_(fate),4\naraki_hina,4\nhand_on_own_crotch,0\nmyusha,1\nbeige_coat,0\nalleyne_(queen's_blade),4\nmikomachi_(35machi),1\nvertical-striped_jacket,0\nnejikirio,1\nrex_lapis_(genshin_impact),4\nataru_(ataru-littlebird),1\npokedex,0\nengine,0\nyamakawa,1\nhotel_room,0\ndialga,4\nasobi_ni_iku_yo!,3\ntaiho_shichauzo,3\nlego,0\npurple_sarong,0\ntama_(songe),1\nperoro_(blue_archive),4\ncoffret_(heartcatch_precure!),4\njohan_(johan13),1\nbreasts_on_tray,0\nspool,0\nninetales,4\nallenes,1\nguts_(kill_la_kill),4\ndolphin_hair_ornament,0\ntenchisouha,1\ndestroyer,0\nshameimaru_aya_(newsboy),4\nkasumi_(princess_connect!),4\nebina_nana,4\nnakasone_haiji,1\nsekiro,4\nholding_scepter,0\nlocket,0\neverlasting_summer,3\n.me,1\nnijino_yume,4\nracetrack,0\nhakui_ami,1\nnakai_(waitress),0\nbell_(oppore_coppore),1\ngalaktika,4\ncocktail_umbrella,0\nwashbowl,0\nsentai,0\nogami_tamaki,4\nholding_creature,0\ndede_(qwea_00000),1\ncross-laced_bikini,0\nreina_prowler,4\nlemon_print,0\nanimal_around_neck,0\nkiddy_grade,3\npaopao,1\nirony,0\nsouthern_italy_(hetalia),4\nchiaki_rakutarou,1\ndriver_(kamen_rider),0\nwillard_h._wright,4\nhyurasan,1\nmoetan,3\nbulleta,4\nakatsuki_uni,4\nnaoki_miki,4\nwelding_mask,0\nbunny_slippers,0\nnejime,1\nlillly,1\npullover,0\nmetal_gear_solid_3,3\nhand_focus,0\nrimuu,1\nhand_on_railing,0\nalison_(alison_airlines),1\nitatatata,1\nhinami_(hinatamizu),1\nlowleg_pantyhose,0\naraido_kagiri,1\nmoribe_(rabumanyo),1\nmazjojo,1\nkitano_(kitanosnowwhite),1\nspirit_blossom_(league_of_legends),0\nmurabito_c,1\nzouni_soup,0\nhakaba_(dairiseki),1\nkageyama_shigeo,4\nferaligatr,4\nmeiya_neon,1\nfranziska_von_karma,4\nseo_jaiil,1\nmochiya_marosuke,1\nsakurai_energy,1\nyoshito,1\nblood_elf_(warcraft),0\nm4_sopmod_ii,0\ntsunetsuki_matoi,4\nmiruto_netsuki,1\ncheelai,4\nsameda_koban,1\nbunk_bed,0\nkotona_elegance,4\nishihara_masumi,1\npadded_coat,0\nizumi_mahiru,1\nnelliel_tu_odelschwanck,4\nglowing_mouth,0\naumann,1\nzinno,1\nkatatsuka_kouji,1\nhot_vr,1\nfudou_akio,4\nnishikitaitei-chan,4\nnora_wanko,1\nfal_(girls'_frontline),4\nstaff_of_homa_(genshin_impact),0\ntsuyuri_kumin,4\nmarie_antoinette_(swimsuit_caster)_(fate),4\nasterisk_kome,1\nm14_(girls'_frontline),4\nohitashi_netsurou,1\nkinosuke_(sositeimanoga),1\nhanomido,1\nazumi_(myameco),1\nhella_p,1\ntonami_yuma,4\ncoin_on_string,0\nfart,0\nestelle_bright,4\nyokune_ruko,4\nvanripper_(style),0\ngakuen_utopia_manabi_straight!,3\nluviagelita_edelfelt,4\np19,1\nrotix,1\nzetsumame,1\ncube85,1\nmatsumi_yuu,4\ntakano_natsuki,1\ntsareena,4\nemori_miku,4\nlotosu,1\ntuxedo_de_cat,1\nspoken_expression,0\naoi_ogata,1\nfoot_on_head,0\nmieharu,1\ngokuhara_gonta,4\ntsu_(lovesick1964),1\nebisu_eika,4\ngreen_bandana,0\nyuki_miku_(2014),4\noil_lamp,0\nhati105,1\nadvanced_nurturing_high_school_uniform,0\ncrimson_viper,4\nmitsurugi_meiya,4\nkiman,1\nrumi_(girls_und_panzer),4\nrachel_gardner,4\nhimiya_jouzu,1\nmiyuki_ruria,1\nkiyal_bachika,4\nbondrewd,4\ntsukamoto_minori,1\nkukui_(pokemon),4\nmiki_sayaka_(cosplay),0\nkawakaze_kai_ni_(kancolle),4\ntonari_no_kyuuketsuki-san,3\nmask_over_one_eye,0\nmotoori_shiro,4\nbili_girl_22,4\ngiraffe_print,0\ngrey_male_underwear,0\nkiana_kaslana_(white_comet),4\nfuyou_kaede,4\nnimura_yuuji,1\nfinal_fantasy_i,3\nscientist,0\nkuromayu,1\nsatou_lilly,4\ncure_aqua,4\nsock_dangle,0\ntsukineko,1\nsandstar,0\nacronym,0\nsnowball_fight,0\nkanola_u,1\nkoala,0\ncasino_card_table,0\nkanamori_sayaka,4\nyuyaiyaui,1\nprincess_lover,3\nkurokami_fubuki,4\nbattery,0\nfire_keeper,4\nhiroyuki,1\nterminator_(series),3\ndynamite,0\njigen_daisuke,4\nusatsuka_eiji,1\ncaptain_nemo_(fate),4\narm_cutout,0\nbear_paw_hammer,0\nsmelling_flower,0\nwainscoting,0\nstriped_pajamas,0\nmist_(fire_emblem),4\nfaceoff,0\niced_latte_with_breast_milk_(meme),0\ntenco's_story,3\ngreen_ascot,0\nlloule,1\npretty_rhythm_rainbow_live,3\nsawachika_eri,4\nakanagi_youto,1\nmenat,4\ntouhou_gouyoku_ibun,3\nvibrator_in_thigh_strap,0\nhyrule_warriors:_age_of_calamity,3\nmaccha_(mochancc),1\nprovence_(arknights),4\nkuro_no_kiseki,3\nnoeyebrow_(mauve),1\nsideroca_(arknights),4\nniwamaru_(niwarhythm),4\nushiromiya_george,4\nlarge_buttons,0\nakishima_kei,1\nwringing_skirt,0\nlillithlauda,1\nasami_sato,4\ntakeashiro,1\npurple_sister,4\nnaik,1\ntotatokeke,1\nkazami_karasu,1\npinecone,0\ngishu,1\nurbosa,4\nzono_(inokura_syuzo029),1\nk/da_ahri,4\nhyena_ears,0\naikir_(jml5160),1\nnerine,4\nsuper_sailor_chibi_moon,4\ngift_wrapping,0\nathrun_zala,4\nakata_itsuki,1\ncrocodile_(one_piece),4\ntenugui,0\nkirishima_kai_ni_(kancolle),4\nhorokusa_(korai),1\nclothed_bath,0\nfutaba_aoi_(vividred_operation),4\nanzio_(emblem),0\nheavenly_boat_maanna,0\nsnow_halation,0\nshundou_heishirou,1\nkarimei,1\ngravity_falls,3\npenis_measuring,0\namerican_football_uniform,0\nchimame-tai,0\noogami_sakura,4\ngo-1,1\nsubarashiki_kono_sekai,3\nskeletal_arm,0\nnez-box,1\nico,3\nemil_chronicle_online,3\nkamen_rider_blade_(series),3\nsouya_(kancolle),4\naqua_lips,0\nnina_(breath_of_fire_v),4\nshooting_glasses,0\nbukkuri,1\nfukuroumori,1\nmisekai_555,1\nyamiochi_umekichi,1\ncinderella,3\nfuren_e_lustario,4\naoi_kujira,1\nboard_eraser,0\negg_yolk,0\nnero_(devil_may_cry),4\nluminyu,1\nlizardman,0\ntailjob,0\nsakuma_jirou,4\nremoving_eyewear,0\nalien_(movie),3\nmonsieur,1\nsub-res,1\nryo_(liver_sashi_daisuki!),1\nnidalee,4\nalternate_footwear,0\ntitania_(sao),4\nhiyori_(rindou66),1\nbutterfly-shaped_pupils,0\ngreen_jumpsuit,0\nchiester45,4\nyune_(fire_emblem),4\ncnm,1\nkaguya_madoka,4\nprint_apron,0\nshin_megami_tensei_iii:_nocturne,3\naxent_wear,0\nspread_armpit,0\nemma_(yakusoku_no_neverland),4\ntied_to_chair,0\nmixed-language_text,0\ndress_shoes,0\nrussian_clothes,0\nkogatarou,1\nquad_braids,0\ndon_(29219),1\nwallace_(pokemon),4\njaco,1\nmarida_cruz,4\ntoi8,1\nmahou_shoujo_oriko_magica,3\nfatal_frame_2,3\nbicycle_helmet,0\nhoshina_tomoko,4\nsowel_(sk3),1\nbisharp,4\ngocoli,1\n2011_sendai_earthquake_and_tsunami,0\nrunning_bond,0\nbeudelb,1\nroller_coaster,0\nsogaya,1\nkuoh_academy_school_uniform,0\nmoyashimon,3\nmane,0\nblue_nipples,0\nkuonji_alice,4\nyukineko1018,1\nsprigatito,4\njagabutter,1\nvintage_microphone,0\nfall_guys,3\nchacha_(fate),4\nyamashiro_takane,4\nmaou_beluzel,4\nsocks_over_pantyhose,0\njiffic,1\nstudded_garter_belt,0\nmasterwork_apocalypse,3\nmarie_rose_(devilish_servant_against_the_splashing_waves),4\nsamsung,3\nholding_marker,0\nshirako_(kirupi),1\nminosu,1\nsuisogenshi,1\nshorts_under_shorts,0\nsala_mander,1\npenis_on_pussy,0\nthrud_(fate),4\nsidonia_no_kishi,3\nnekoi_mie,1\nsilent_hill_3,3\ngrappler_baki,3\ncrazy_diamond,4\nhot_air_balloon,0\nanabuki_tomoko,4\neargasm,0\npalkia,4\nkokuriu,1\nbankoku_ayuya,1\nliechtenstein_(hetalia),4\nretsumaru,1\nveronica_(dq11),4\nk2_(girls'_frontline),4\notegine,4\nkamizaki_risa,4\nvanilla_h,4\ncreamer_(vessel),0\nveronica_(fire_emblem),4\nbrain_freeze,0\nnagumo_haruya,4\nbrll,1\ncicada,0\nusugumo_(kancolle),4\nshrine_bell,0\nouran_high_school_host_club,3\ndeedlit,4\ncatfight,0\norion_(orionproject),1\nsaitou_ena,4\ncostume_request,5\ne_volution,1\nclash,0\nkantaka,1\nmetal_gloves,0\ntorn_kimono,0\ncilan_(pokemon),4\ngorilla_(bun0615),1\nkakao_(chocolate_land),1\nnishimura_eri,1\nlina_kontiola,4\ngreen_armor,0\nglasses_nun_(diva),4\nmizuyan,1\naegislash,4\nsirius_symboli_(umamusume),4\nvermeil_(arknights),4\njuexing_(moemoe3345),1\ndynamic_pose,0\nushiwakamaru_(swimsuit_assassin)_(fate),4\npercival_(granblue_fantasy),4\nz.taiga,1\nkoishi_komeiji's_heart-throbbing_adventure,3\nmahoujin_guruguru,3\nyude,1\nmc_axis,3\nshadow_of_the_colossus,3\nsailor_pluto,4\nsail,0\nexaxuxer,1\nkoohee,1\nmeto31,1\nchiton,0\nichikawa_masahiro,1\nrerrere,1\nmaster_4_(housamo),4\nm1903_springfield,0\ncandice_(pokemon),4\nsvd_(girls'_frontline),4\npurin_jiisan,1\nphotokano,3\ndetonator,0\ncamping,0\nnorizc,1\nnakkar,1\nluke_pearce_(tears_of_themis),4\ncat_panties,0\noiran,0\nhorizontal_bar,0\nscience,0\nriesbyfe_stridberg,4\nsorcerer_(ragnarok_online),4\nfelicia_(fire_emblem),4\nmayu_(vocaloid),4\nfloating_fortress_(kancolle),4\nnosuku,1\nmighty_no._9,3\ncirenk,1\ngaiko_kujin,1\nelysia_de_lute_ima,4\n10eki_(tenchou),1\ntenkubashi_tomoka,4\ncharging_forward,0\nruteko_(ruko220),1\ngearous,1\nkatsuobushi_(eba_games),1\nimai_kazunari,1\nspork,0\nmitsuki_yuuya,1\nbakuon!!,3\nusume_shirou,1\nassassin_(ragnarok_online),4\ncool_&_sexy_(idolmaster),0\nmoebell,1\npizzasi,1\njadenkaiba,1\nbanana_boat,0\nkotori_(takanashi_kiara),4\ngreen_sky,0\nsummer_wars,3\nshaved_head,0\nnyori,1\nsledgehammer,0\ngreek_text,0\nmajima_gorou,4\nheavy_cruiser_princess,4\ncaterpillar,0\nshinomu_(cinomoon),1\nnarynn,1\nnasuno_(nasuno42),1\nkeiko_(mitakarawa),1\nnicoby,1\nhana_(pangya),4\nchloe_(pokemon),4\nwet_pantyhose,0\nflorina_(fire_emblem),4\ndorothy_(princess_principal),4\nchiyo_(pk19981234),1\ndungeon_travelers_2,3\nxblaze_code:_embryo,3\npoco_(backboa),1\nhiiragi_shinoa,4\nougi_hina,1\nranma_(kamenrideroz),1\nfood_between_breasts,0\ngirl_cafe_gun,3\nbrown_mittens,0\nnekoshoko,1\nsk8_the_infinity,3\nwinking_(animated),0\nast,1\nurotsuki,4\nperepere-kun,1\nlouise_(touhou),4\nfacebook_logo,0\numiroku,1\nplacard,0\ntosa_(azur_lane),4\nmarugoshi_teppei,1\npuririn,1\nclair_(pokemon),4\nwaiting,0\ntorn_bodystocking,0\nmenpoo,0\nterraria,3\nyuzuki_roa,4\nblock,0\nnero_claudius_(bride)_(third_ascension)_(fate),4\nm16a1_(boss)_(girls'_frontline),4\nhajika,1\nhatsune_miku_(nt),4\nlatex_boots,0\nhimura_moritaka,1\ncedar_(artist),1\nkoflif,1\naketa_mikoto,4\nfurniture,0\nhikaru_no_go,3\nookami_ryouko,4\nbrook_(one_piece),4\nokumura_yukio,4\nmacross_frontier:_itsuwari_no_utahime,3\npuffy_chest,0\niumi_urura,1\ngomamiso_(gomamiso_sp),1\ntenrai,1\nki_(kk-sk-ray),1\ncupping_hand,0\ndenki_showgun,1\ngomzi,1\nsignora_(genshin_impact),4\ncorrupted_file,5\naijou_karen,4\ncrash,0\ndemizu_posuka,1\nmitsumine_mashiro,4\nskj,1\njas,1\norigami_cyclone,4\nnest,0\nbalaclava,0\nrattata,4\nkazabuki_poni,1\ntakatsuki_ichika,4\ntokyo_tower,0\nvivid_strike!,3\nwall-eyed,0\nsewing_pin,0\ntakeyuu,1\nundone_neckerchief,0\nmulticolored_capelet,0\npanties_in_mouth,0\npu-en,1\nspidu,1\nbuster_shirt,0\nimitating,0\nsesield,1\nrejection,0\ninu_sakuya_(nejikirio),4\ninue_shinsuke,1\npenthesilea_(fate),4\nfishnet_sleeves,0\nglass_door,0\nsavannah,0\nsnapping_fingers,0\nyagami_(mukage),1\nmx2j_(nsh6394),1\nwetland,0\nhokuro_ryuuseigun,1\nzas_m21_(girls'_frontline),4\nthor_(marvel),4\nkitayama_miuki,1\nchaki_(teasets),1\nkienbiu,1\nrumble_roses,3\nsaizu_nitou_gunsou,1\naponia_(honkai_impact),4\nhands_on_legs,0\nwarframe,3\nnyto_(girls'_frontline),4\nseelie_(genshin_impact),4\nfu_hua_(phoenix),4\nkochiya_(gothope),1\nhataraku_saibou_black,3\nbad_end_precure,0\ncosmic_(crownclowncosmic),1\nmasaki_sasami_jurai,4\nkatagiri_hachigou,1\ntsukigami_runa,1\nholding_skirt,0\nkamen_rider_kuuga,4\ntomoyuki_kotani,1\nkampfer,3\nhagiya_masakage,1\nmaccha,1\nselcky,1\nm14,0\npincushion,0\nkounosu_satori,1\nenosan,1\nwet_face,0\nkimono_removed,0\nmonarch_(azur_lane),4\nmiyako_(naotsugu),1\nbola_(weapon),0\ngyaruo,0\nhoppip,4\nhinoue_itaru,1\nhazuki_nagisa,4\nmakai_tenshi_djibril,3\nchorefuji,1\ngreat_ball,0\nconch,0\nbowalia,1\nstamp_mark,0\ncutlass_(sword),0\nhey_taisyou,1\nppk_(girls'_frontline),4\ntokisaki_asaba,4\nminami_saki,1\nresort_boin,3\nyuku_(kiollion),1\ndoxy,1\nmegumiya,1\nsteampunk_(liarsoft),3\nstormcow,1\ntsuchiya_(girls_und_panzer),4\npowerlesssong,1\nazure_striker_gunvolt,3\nlilith_(saikin_yatotta_maid_ga_ayashii),4\nkazusa_(blue_archive),4\nweather_report,4\npush-ups,0\npanties_on_penis,0\ndororo_(tezuka),3\nthe_saga_of_darren_shan,3\ngacha-m,1\ngurren-lagann,4\nohland,1\nvirtual_on,3\ncu_chulainn_(fate/prototype),4\nholding_bone,0\nheart_hair_bun,0\nhakamada_hinata,4\nkieyza,1\ntawawa_challenge,0\nvashperado,1\nssambatea,1\nadiane,4\nwasabi_(sekai),1\ngreen322,1\ntj-type1,1\ncalcio,1\ncurly_brace,4\ncthulhu,4\namai_nekuta,1\nshirayuki_tomoe,4\nblue-senpai,1\nstella_unibell,4\narm_over_shoulder,0\ncure_mint,4\nch'en_the_holungday_(arknights),4\nelona,3\ntied_sleeves,0\ntext_in_eyes,0\nfuusuke_(fusuke208),1\nno_headgear,0\nportal_1,3\nblue_gk,1\nsword_print,0\nmonocle_chain,0\nkingprotea_(fate),4\nshield_print,0\ntakamine_nadare,1\nswordsman_(ragnarok_online),4\nbonnie_(rsg),1\nhori_masayuki,4\nchung_seiker,4\neyebrows_visible_through_hat,0\ntsuruga_school_uniform,0\nnagayoshi_subaru,4\nyabuki_kana,4\nmeliodas,4\nnora_valkyrie,4\npeni_parker,4\nartwhirl_mahou_gakuen_no_otome-tachi,3\nzone_of_the_enders,3\ndeal_with_it_(meme),0\npokemon:_twilight_wings,3\nwrist_flower,0\niwatani_naofumi,4\nhands_on_floor,0\nwestern_comics_(style),0\nhoukago_teibou_nisshi,3\nst._lucia_academy_school_uniform,0\nvento,1\nrepede_(tales),4\nhatching,0\ncensored_food,0\nouendan,0\nkai-ri-sei_million_arthur,3\nwakamo_(swimsuit)_(blue_archive),4\nsanta_matsuri,1\nyuuki_akira,1\nhyper_blossom,4\nsuna_(sandworks),1\nsheffield_(kancolle),4\nparadeus,0\nabe_yoshitoshi,1\ncannibalism,0\nawakened_miki,4\nmidori_foo,1\nhatoyama_itsuru,1\nmarionette,0\nanchor_ornament,0\nyagami_kou,4\nscar_on_hand,0\nmaruma_(maruma_gic),1\ncunnilingus_through_clothes,0\nwolfrun,4\nkiss_day,0\nashita_(2010),1\nmurasaki_shikibu_(swimsuit_rider)_(fate),4\nbluefield,1\ntenkuu_no_crystalia,3\nmultiple_hat_bows,0\ncure_chocolat,4\nkousaka_china,4\nkakine_teitoku,4\ncrimvael,4\nvertical-striped_gloves,0\nwhite_bandana,0\nability_card_(touhou),0\nmonkey_boy,0\ngreen_collar,0\nhonekoneko_(psg),4\npony,0\ncourreges_ace,1\ntile_roof,0\nmomomiya_ichigo,4\nhoribe_hiderou,1\nelfen_lied,3\ndiary,0\nchamupei,1\nkuroda_akimi,1\nnome_(nnoommee),1\noosuki_mamako,4\ndduck_kong,1\ntaisho_(gumiyuki),1\nmortal_kombat,3\ncaptured,0\nkuroda_kazuya,1\nvanripper,1\npopopoka,1\nrune_factory_4,3\nmizuhara_yuu,1\nbusou_renkin,3\nkindred_(league_of_legends),4\nabua,1\nokunoda_miyoi,4\nakaneya,1\ndead_by_daylight,3\nbeige_pants,0\nzarya_(overwatch),4\nmelody_(projektmelody),4\nbounsweet,4\ngrenade_hair_ornament,0\nhagane_soushi,1\n3four,1\njewelpet_twinkle,3\nhashimoto_nyaa,4\nchikuma_kai_ni_(kancolle),4\nc.c._lemon_(character),4\nchigasaki_yukari,1\nhoshikuzu_witch_meruru,3\ntraffic_mirror,0\nkaenuco,1\nwitch_mercy,4\ntsukioka_tsukiho,1\nt_k_g,1\ngibson_les_paul,0\nwatao,1\nmameeekueya,1\nbeelzebub_(umineko),4\nxretakex,1\ndark_orb_(madoka_magica),0\naqua_one-piece_swimsuit,0\ncrumpled_paper,0\ntama_(tama-s),1\npurple_headband,0\ntsurumi_chiriko,4\ns-now,1\nukokkei,1\ndoppelganger,0\n98-tan,4\nlongcat_(meme),0\nkitazinger,1\nyutamaro,1\nyusa_emi,4\nallen_walker,4\ntenki_no_ko,3\nmogiki_hayami,1\njyt,1\nholding_suitcase,0\nzundarepon,1\ntext_censor,0\noka_mochi,1\nceylon_(arknights),4\nnegi_(ulog'be),1\nstealth_masturbation,0\nunderskirt,0\nd4dj,3\nprime,1\nhead_steam,0\nchocoan,1\ntogata_mirio,4\nbaking_sheet,0\nsuenari_(peace),1\nknocking,0\norange_horns,0\nmystia_lorelei_(bird),4\njoker_(card),0\nthe_emperor_(arknights),4\nbrave_girl_ravens,3\ngaap_(umineko),4\npui_pui_molcar,3\nsumisaki_yuzuna,1\nbrigitte_(overwatch),4\nhuei_nazuki,1\nkamichu!,3\nkinnikuman,3\norenchi_no_meidosan,3\nthe_evil_within,3\nvest_over_shirt,0\nkujira_naoto,1\nmortar,0\nmizuta_kenji,1\nhiroe_rei,1\ngisyo,1\nhisayuki_hirokazu,1\nkoffing,4\ntamamon,1\ngrandfather_clock,0\nfriday_the_13th,3\npenny_polendina,4\nnaitou_kouse,1\ngoribote,1\nshelf_bra,0\nbailingxiao_jiu,1\npink_feathers,0\ncrobat,4\nhirune_(konekonelkk),1\nwonder_festival,3\nlong_scarf,0\nreisen_udongein_inaba_(cosplay),0\nhedge,0\naka_ringo,1\nu_yuz_xx,1\nnabe,0\npokemon_on_arm,0\nshirayuki_mizore,4\nspiked_penis,0\nriv,1\nhandrail,0\nholding_bird,0\nhanged,0\nutage_(summer_flowers)_(arknights),4\nnishino_flower_(umamusume),4\nelectro_emilia,4\ncreator_(ragnarok_online),4\nazuki_azusa,4\nracer_(magnet),1\nhead_on_table,0\nhayakawa_akari,1\nrikumaru,1\nyuki_miku_(2017),4\nfloating_headgear,0\nchawan_(yultutari),1\nk_(anime),3\nsmash_invitation,0\nmizushima_saki,4\npurple_border,0\nninai,1\nshin_strap,0\nbetween_buttocks,0\nyellow_lips,0\nrokudenashi_majutsu_koushi_to_akashic_record,3\nkiana_kaslana_(herrscher_of_flamescion),4\nkuroinu_~kedakaki_seijo_wa_hakudaku_ni_somaru~,3\ngibagiba,1\nkurono_yuu,1\niwato_kasumi,4\nkokutou_mikiya,4\nswing_set,0\n10mo,1\nmizoguchi_keiji,1\nnekono_rin,1\nscolipede,4\namaryllis_gumi,3\nq_azieru,1\ndildo_under_panties,0\ncolor_drain,0\nvanguard_princess,3\nmisaka_shiori,4\ndestroyer_(girls'_frontline),4\n40010prototype,1\nloading_screen,0\nyomiko_readman,4\nmoney_gesture,0\npururut,4\njulia_(fire_emblem),4\ninjection,0\nkibanda_gohan,1\nwhite_jumpsuit,0\nswirl,0\nprince_of_samantoria,4\nosisio,1\nsushio,1\nmiramikaru_riran,4\nglass_writing,0\nmorimoto_kiyona,1\ng-spring_goddess_(ishiyumi),4\nsingle-shoulder_dress,0\nbwell,1\nadjusting_goggles,0\naardwolf_(kemono_friends),4\nholding_plant,0\nscarlet_ibis_(kemono_friends),4\nlipps_(idolmaster),0\nka-class_submarine,4\nryuuzaki_umi,4\ntwumi,1\nitai_no_wa_iya_nano_de_bougyoryoku_ni_kyokufuri_shitai_to_omoimasu,3\nheart_eyepatch,0\nzipper_dress,0\nyae_miko_(fox),4\nkoban_(gold),0\ntouhoku_itako,4\nright-to-left_comic,0\nholding_another's_head,0\nsafety_glasses,0\nglaucus_(arknights),4\npokemon_rgby_(prototype),3\naoyama_sumika,4\nfemale_gunner_(dungeon_and_fighter),4\nphantasy_star_portable_2,3\nlaces,0\nmiltank,4\nlefthand,1\nbraces,0\nbuckler,0\nkiryuu_moeka,4\ncaptive_bead_ring,0\npaula_(mother_2),4\nshishiou,4\nochinsama,1\nvan_gogh_(fate),4\njunsuina_fujunbutsu,1\njoy_(pokemon),4\ndiamond_clan_outfit,0\nred_bandeau,0\nhouzouin_oniwaka,4\nyqgkg,1\nipuu_(el-ane_koubou),1\nwatanabe_yoshihiro,1\ncarriage,0\nshattered,0\npixiv_logo,0\ntousen,1\nfactory,0\neyes_in_shadow,0\nputting_on_shoes,0\npotg_(piotegu),1\nhand_fan_writing,0\nnightstand,0\nsakamoto_mineji,1\nbucket_of_water,0\nsaemon_(tonpura),1\nmoyori,1\nleblanc_(league_of_legends),4\nmilim_nava,4\ninu_(marukome),1\nkesoshirou,1\nao_jun,1\ntiemu_(man190),1\nnanami_haruka,4\nmakimura_shunsuke,1\namonitto,1\ntedeza_rize's_school_uniform,0\ncinque_(nanoha),4\nminaha_(playjoe2005),1\nkenuu_(kenny),1\ndying_message,0\nfanning_crotch,0\nmorgana_(league_of_legends),4\nred_shawl,0\nmiku_day,0\nseliph_(fire_emblem),4\ngrey_cat,0\nwrist_cutting,0\nnanase_meruchi,1\nmakai_no_juumin,1\ngoose,0\ngunner_(sekaiju),4\ndespair,0\nholding_crossbow,0\nsplat_roller_(splatoon),0\nemon-yu,1\nmutou_kurihito,1\ngroudon,4\nsalpin,1\nbeelzebub_(helltaker),4\nneko_(ganecooo),1\nliru,4\nhoshi_(snacherubi),1\nwicke_(pokemon),4\nflower_bed,0\nlinhardt_von_hevring,4\nmega_man_x_dive,3\nbust_measuring,0\nmirage_(apex_legends),4\nhair_scarf,0\njadf,1\nnaked_belt,0\nsara_(granblue_fantasy),4\ncollagen,1\npina_korata,4\nctrlz77,1\nlistener_(inugami_korone),4\nviy_(fate),4\ni-400_(kancolle),4\naraiguma-san,4\nsaishi,0\near_down,0\nmofuaki,1\nkawakami_masaki,1\nohara_hiroki,1\nkaede_(yumesaki_kaede),1\nmaou-jou_de_oyasumi,3\ngym_challenge_uniform,0\njanna_(league_of_legends),4\ngarnish,0\nbucket_on_head,0\nalternate_muscle_size,0\npinky_ring,0\nsmelling_penis,0\nartoria_pendragon_(lancer_alter)_(royal_icing)_(fate)_(cosplay),0\nnegi_springfield,4\nyamato_suzuran,4\nendou_okito,1\nzeta_gundam_(mobile_suit),4\nluger_p08,0\nnazuna_(hidamari_sketch),4\nharuka_natsuki,1\nren_san,1\nsonoda_yuu,4\ncub,0\nkyoeiki,1\nblack_sarong,0\n77gl,1\n2004,0\nnibiiro_shizuka,1\nigawa_sakura,4\nnikuku_(kazedesune),1\ntokyo_exe_girls,3\nfortune_arterial,3\nshibori_kasu,1\nddal,1\nadeleine,4\nli_shuwen_(fate),4\nmutsutake,1\nreimu_endou,4\nhouston_(kancolle),4\naqua_vest,0\ntakishima_asaka,1\nblue_hawaii,0\nprince,0\nkitajima_yuuki,1\nkidmo,1\nballistic_shield,0\nvalkyrie_drive_-mermaid-,3\nstarfire,4\nmy_dear_vampire_(idolmaster),0\nribeyrolles_(girls'_frontline),4\nwhite_tube_top,0\ntomotsuka_haruomi,1\nshoumaru_(gadget_box),1\nea_(fate/stay_night),0\nseisenshi_dunbine,3\npaya_(zelda),4\nakatsuki_(log_horizon),4\nasama_tomo,4\nmatsunaga_ryo,4\nfuton_(kitsune_tsuki),1\nkimidori_emiri,4\nbellhenge,1\nsheep_nun_(diva),4\nnanakusa_nichika,4\ncaptain_(honkai_impact),4\namane_misa,4\npalette_swap,0\ncorsola,4\nbelphegor_(umineko),4\nsoyosoyo,1\nstriped_pillow,0\nnirap,1\nmayo_(becky2006),1\nnatsumi_akira,1\nnikku_(ra),1\nwitch_craft_works,3\nopagi,1\neunos,1\nshiwa_(siwaa0419),1\ndr._slump,3\nmortarboard,0\ntateishi_kureha,1\nsaitou_hajime_(fate),4\njairou,1\ncai_geng,1\nmarchen,3\nakira_(kadokawa),1\nbakuya,1\ntest,0\nrolling_girl_(vocaloid),3\ntoriel,4\nnoise,0\nlittle_blue_whale_(kancolle),4\nakita_hika,1\nmacross_frontier:_sayonara_no_tsubasa,3\ndragon's_dogma,3\nedea_lee,4\nhasebe_yuusaku,1\nbastet_(p&d),4\nfurious,0\nsouta_(karasu_no_ouchi),1\nprint_eyepatch,0\nholding_rope,0\nhanarito,1\ndoomguy,4\nspraying,0\nvladilena_millize,4\nishikawa_luna,4\nyuunamida_uyu,1\nmaaryan_(to_heart),4\nsaiba_(henrietta),1\nbluebird,0\npathfinder_(apex_legends),4\nkochiya_sanae_(cosplay),0\nhasshaku-sama,4\nski_goggles,0\nbumblebee_(transformers),4\nhachi_(8bit_canvas),1\neye_print,0\nxin_yu_hua_yin,1\nwarabeda_meijii,4\nallen_avadonia,4\ntales_of_destiny,3\ntakabushi_kengo,4\nyamamomo_(plank),1\nhifumi_(swimsuit)_(blue_archive),4\nvehicle_request,5\ntoo_many_sex_toys,0\nhecatia_lapislazuli_(earth),4\nnaufaldreamer,1\ntaihou_(temptation_on_the_sea_breeze)_(azur_lane),4\nshigunyan,1\njason_voorhees,4\nnatalia_luzu_kimlasca_lanvaldear,4\ninuarashi,1\nwatsuki_ayamo,1\nnyonn24,1\nmatsu-sensei,1\nnakigitsune's_fox,4\noekaki_musume,3\nronove_(umineko),4\nkamotama,1\nwindow1228,1\noomiya_shinobu,4\nka2,1\nyoga,0\nnextoad,1\nkshimu,1\noohira_sunset,1\nlifeguard,0\nblack_gold_saw,4\njiangshi_costume,0\nfaputa,4\nkiwi_slice,0\nmiya_(tsumazukanai),1\nhand_on_hand,0\nfighting_master_alleyne,4\nji_dao_ji,1\niijima_yun,4\nshauntal_(pokemon),4\nbloody_marie_(skullgirls),4\ngrand_theft_auto,3\nface_between_breasts,0\nbanana_(girls'_frontline),4\nbaku_taso,1\nbaton,0\ncitrus_(saburouta),3\nfloating_breasts,0\ngarlean,0\nkuromi,4\nqian_wu_atai,1\nbazooka_(gundam),0\nanastasia_(swimsuit_archer)_(fate),4\ntoriniku_senshi_chikinman,1\nushiyama_ame,1\nsoul_evans,4\nmisono_karin,4\nsoundwave_(transformers),4\nootori_emu,4\nsleeveless_turtleneck_crop_top,0\nyusa_(angel_beats!),4\ngainax,3\nsled,0\nfal_maro,1\nbomber,0\namakusa_juuza,4\nsugina_miki,1\nmiki_purasu,1\nkazawa_(tonzura-d),1\ncarina_(xiaowoo),1\ngerman_suplex,0\nstuffing,0\nhellandheaven,1\nhoe,0\nkuzu_kow,1\nasakura_rikako,4\nridy_(ri_sui),1\namibazh,1\nppshex,1\ntrente,1\nhonolulu_(kancolle),4\nfutaba_miwa,1\ngoblin_slayer,4\nsogawa,1\ncure_macaron,4\nkinako_(40hara),4\nshimure_(460),1\nhaku_(sen_to_chihiro_no_kamikakushi),4\ne16a_zuiun,0\nl'ecole_des_cinq_lumieres_school_uniform,0\ntenka_touitsu_chronicle,3\nsido_(slipknot),1\nsanada_clan_(emblem),0\nchristian_louboutin_(brand),0\nawakening_(sennen_sensou_aigis),0\nwing_ornament,0\nbloodhound_(apex_legends),4\nidolmaster_xenoglossia,3\nkaren_(pokemon),4\nblack_gothic_dress_(idolmaster),0\ncolis,1\nudagawa_ako,4\nahiru_(princess_tutu),4\nnightingale_(arknights),4\ncolumbina_(genshin_impact),4\nsouchou,4\nholding_candle,0\nultra_kaijuu_gijinka_keikaku,3\naxsen,1\nsamurai_jacket_(cyberpunk),0\nlamb_(league_of_legends),4\nfeena_fam_earthlight,4\nteletha_testarossa,4\nfujimoto_hideaki,1\nflirting,0\ncure_lemonade,4\nwet_legwear,0\nsalamence,4\nichio,1\nsaikawa_riko,4\nkiryuu_kazuma,4\nakamoku,1\ngoback,1\ngochou_(kedama),1\nsaunders_(emblem),0\nkiriya_(552260),1\ndera_mochimazzui,4\nkousaka_yukiho,4\nrito453,1\nmusen-shiki_sanhankikan,1\nscamp_(kancolle),4\nmorio_(poke_orio),1\namo_(shibu3),1\nvelvet_(odin_sphere),4\nwakino_keibun,1\nfreng,1\norgans,0\nsweets_bird,0\noleana_(pokemon),4\nsat-c,1\ntanaka_rikimaru,1\nvelvet_scarlatina,4\nshiratsuki_shiori,1\nmonicanc,1\ndeemo,3\nfemale_orc,0\nex_idol,1\nmaxie_(pokemon),4\ngrey_cloak,0\nblaze_the_cat,4\nbioshock_(series),3\nyukino_minato,1\nadjusting_shoe,0\nrainbow_dash,4\nshigure_ui,1\nfiery_background,0\nkamen_rider_double,4\nchikotam,1\nkudou_fuyuka,4\nhimura_kenshin,4\nbokujou_monogatari,3\nstu_dts,1\noverman_king_gainer,3\nishikirimaru,4\niwado_anna,4\ndrew_(drew213g),1\nnanase_aoi,1\ndanball_senki,3\naubrey_(omori),4\naki663,1\npyz_(cath_x_tech),1\ndistortion,0\nnyanya,1\nmabinogi_heroes,3\nrailgun,0\nselection_university_(emblem),0\ncygnus_(cygnus7),1\nasada_shino,4\nheirou,1\nartoria_pendragon_(swimsuit_archer)_(first_ascension)_(fate),4\nsuper_sass_(girls'_frontline),4\nnou_(nounknown),1\ntaa_(acid),1\nrinto_(rint_rnt),1\nmaho_moco,1\nscanlines,0\nrakudai_kishi_no_cavalry,3\ntapir,0\nracing_miku_(2022),4\nkore_ga_watashi_no_goshujin-sama,3\nfunny_glasses,0\nmaihama_ayumu,4\nophelia_phamrsolone,4\nhands_on_another's_back,0\npeach_maki,4\nsawaizumi_chiyu,4\nshoulder_cape,0\nkibushi,1\narimura_yuu,1\nmochi.f,1\nrhapsody,3\nfuji_kiseki_(umamusume),4\nkawarajima_kou,1\nyaso_shigeru,1\nsaihate_(vocaloid),3\ngreen_umbrella,0\nlao_jiu,4\nhelma_lennartz,4\ngyozanuko,1\nfarm,0\nspoken_x,0\nfuji_fujino,1\nakishimo_(kancolle),4\ntomari_mari,4\neva_00,4\nstalking,0\nscissorhold,0\nshidou_hikaru,4\ncleats,0\nkurebayashi_noe,1\naizen_kunitoshi,4\nana_(rznuscrf),1\ntsuji_kazuho,1\nogre,0\nseras_victoria,4\nkagayaki_homare,4\nhollow_knight,3\nfuzukikai,1\ncreek_(moon-sky),1\nshining_hearts,3\nhazuki_(sutasuta),1\nsuzumura_sango,4\nlecia_(granblue_fantasy),4\nslow_start,3\nfei_rune,4\nmind_reading,0\nbukimi_isan,1\nkakyuusei,3\nfn_scar,0\nbell_earrings,0\nryuji_(ikeriu),1\nnaked_skirt,0\nibaraki_douji_(swimsuit_lancer)_(fate),4\nfizintine,1\ndowntown_no_gaki_no_tsukai_ya_arahende!!,3\nyoutube_logo,0\nthe_great_ace_attorney,3\nakizone,1\nzanamaoria,1\nsasamori_karin,4\nmitsurugi_sugar,1\npower_girl,4\nyoshimo,1\ndjmax,3\npokimari,1\narisaka,0\nnt-d,0\nkei_(bekei),1\nhuman_chair,0\nnightmare77zx,1\nvirtuous_contract,0\ntakaramonozu,0\nnuka_(nvkka),1\nopen_bikini,0\nanyannko,1\nsmeared_lipstick,0\ndoujima_ryoutarou,4\nkimizuka_aoi,1\nshamu_meruruusa,4\ntactile_paving,0\ngrowlanser,3\nruhika,1\nurotan,1\nurashima_kotetsu,4\nstring_phone,0\nmochitsuki,0\njack-o'-lantern_earrings,0\noono_kanako,4\nnaga_the_serpent,4\nkokonose_haruka,4\nmukiki,1\ntmp_(girls'_frontline),4\nhelena_(kancolle),4\ntokyo_mirage_sessions_fe,3\nkudou_shin'ichi,4\ntama_(soon32281),1\nsamsung_sam,4\np-chan,4\nblowing_smoke,0\nstick_figure,0\ncure_fortune,4\nextended_downblouse,0\nfish.boy,1\naoshidan_school_uniform,0\nkani_club,1\ntsukinami_kousuke,1\nmitsu_(mitsu_art),1\ndakusuta,1\nhamburger_steak,0\nvoyager_(fate),4\nclown_nose,0\nmamo_williams,1\njulia_(idolmaster),4\nblue_sports_bra,0\ndefy_(girls'_frontline),0\nblack_veil,0\ngaou_(babel),1\nyadomi_jinta,4\nnipple_torture,0\n;>,0\nbsapricot,1\ntamura_hiyori,4\nripping,0\nmazeran,1\nspike_ball,0\nnyotaimori,0\nshirako_miso,1\nsuletta_mercury,4\nmoruchi_(rinaka_moruchi),1\nnanakusa_hazuki,4\nshatter,0\nbenizuwai,1\nfutaba_sana,4\nrib:y(uhki),1\nalraune,0\nmatataku,1\nakiyama_rinko,4\nkokoro_(darling_in_the_franxx),4\nmiyu_edelfelt_(beast_style),4\nhigekiri_(touken_ranbu),4\nstuffed_bird,0\nkikurage_(plastic_people),1\nwangphing,1\nchimunge,1\nholding_another's_tail,0\ngatchan,1\ntogashi_yuuta,4\nmemory,0\nbald_girl,0\nluca_kaneshiro,4\ntwinpoo,1\nchiroshiron,1\ngoutokuji_miyako,4\nmario_(cosplay),0\nnu_(plastic_eraser),1\nuchuu_patrol_luluco,3\nfi_(zelda),4\nkamiki_mirai,4\nkaoming,1\nlayered_gloves,0\nkakyuusei_2,3\nvanilla_(miotanntann),1\ndabi_(boku_no_hero_academia),4\nkuhotaka,1\nwooden_box,0\nsuzushiro_(suzushiro333),1\nhatsutori_hajime,4\nhirunagi,1\narchetype_earth,4\nshadow_hearts,3\npesci,4\nskinny_dipping,0\nhyouju_issei,1\nman_(man-room),1\nbroken_wall,0\nsenkou_no_ronde,3\nkamen_rider_decade,4\nsanbasou,1\nuzumaki_himawari,4\nasriel_dreemurr,4\nzun,4\nshiranui_mai_(cosplay),0\ndragonaut,3\nneku_(neku_draw),1\nyoshinon,4\nichizen_(o_tori),1\nhylian_shield,0\nusagi_nagomu,1\ntarou_tachi,4\nbell_pepper,0\nnoctchill_(idolmaster),0\nuno_ryoku,1\nfrilled_sash,0\ntakayama_maria,4\nkamen_rider_ooo,4\nhige_habahiro,4\nhayanami_(kancolle),4\ngiovanna_(guilty_gear),4\ntoriyama_akira_(style),0\nchikuwa_(tks),1\nar_(rikuesuto),1\nmulticolored_panties,0\nhood_(james_x),1\npurple_sclera,0\npolka_dot_pajamas,0\nstrong_zero,0\nkumashiro_maya,4\nnyatokanyaru,1\nthigh_belt,0\nvictini,4\nsalmon88,1\nlife_fiber,0\nkitsune_spirit_(doitsuken),4\nhiiragi_fuyuki,1\nfood_theft,0\nreinhardt_(overwatch),4\nsakura_kyouko_(cosplay),0\nsilver_footwear,0\nsoukou_kihei_votoms,3\nlutherniel,1\nsoulcalibur_vi,3\nthe_only_shoe,1\ngoat_tail,0\nteoi_(good_chaos),1\nice_cream_cup,0\nsora_(blue_archive),4\nnamidame,1\nshenbei_xiaoqiu,1\npisuke,1\ntyranitar,4\nmenou_kaname,4\nworld_war_i,0\nsaya_(mychristian2),1\nhitowa,1\nsitting_on_animal,0\nshiritsu_justice_gakuen,3\ngaketsu,1\nlynn_minmay,4\nromi_(346_ura),1\nfami_(yellow_skies),1\nfangdan_runiu,1\nchuck_(psg),4\ncorn_dog,0\nmatsubara_kaoru,4\nhana_mori,1\nkiraki,1\nsune_(mugendai),1\nkirisato_itsuki,1\nasterios_(fate),4\nhakuryou_high_school_uniform,0\nflanvia,1\naxel_(kingdom_hearts),4\nkinon_bachika,4\nshironeko_yuuki,1\npipa_(instrument),0\nludger_will_kresnik,4\nsempon_(doppio_note),1\nstarpiece_memories_(idolmaster),0\nabe_suke,1\nkuon_(utawarerumono),4\niv_stand,0\nlantern_festival,0\niguro_obanai,4\ncocozasa,1\nursula_charistes,4\nakagi-chan_(azur_lane),4\nbra_slip,0\nnatsume_yuujinchou,3\npensuke,1\nsouma_(ordures),1\nichii_tooru,4\naisaki_emiru,4\nkikoka_(mizuumi),1\nbound_thighs,0\ncuffs-to-collar,0\nyano_erika,4\nloba_(apex_legends),4\nafrican_penguin_(kemono_friends),4\naki_poi,1\ncoyucom,1\npartially_annotated,5\ntied_ears,0\nalcremie_(strawberry_sweet),4\nhangaku,1\ntina_armstrong,4\nyamamoto_kazue,1\nganto,1\nsengoku_otome,3\nraimon_natsumi,4\nsurtr_(liberte_echec)_(arknights),4\nfighter_(dungeon_and_fighter),4\nmary_stuart,4\ncyril_brooklyn,4\nladic,1\ncure_mermaid,4\narmpit_focus,0\nkinuhata_saiai,4\nkiguchiko,1\nsword_maiden,4\n?_block,0\nplume_(arknights),4\nthin_(suzuneya),1\ninvisible_air_(fate),0\nkonomi_(kino_konomi),1\ntamagoroo,1\nwax,0\ntile_ceiling,0\neredhen,1\nsovetskaya_rossiya_(azur_lane),4\nyuu_(kfc),1\nmoth_wings,0\namanda_o'neill,4\nshigure_(azur_lane),4\npinkgermy,1\nnakabayashi_reimei,1\nfukuda_noriko,4\ngomashi_(goma),1\nshiba_miyuki,4\nsunameri_oishii,1\nkat_(bu-kunn),1\nwhite_romper,0\nz.o.b,1\nlarge_ears,0\nbreast_awe,0\nbilliard_ball,0\nscooby-doo,3\nmay_(gundam_build_divers_re:rise),4\nvampire_(vocaloid),3\nakagi:_yami_ni_oritatta_tensai,3\ntakenoko_no_you,1\nkirisaki_byakko,1\nromeo_to_cinderella_(vocaloid),3\npink_sclera,0\nmascot_costume,0\nmibry_(phrysm),1\ntamamo_no_mae_(third_ascension)_(fate),4\notome_wa_boku_ni_koishiteru,3\naztec,0\nscryed,3\nurutsu_sahari,1\nswampert,4\nmifuru,1\nmr.romance,1\nesureki,1\nyuuki_kira,1\nhiiragi_souren,1\nyoshiki,1\nagetama,1\nringozaka_mariko,1\nnori_(seaweed),0\nsuimya,1\nbattle_angel_alita,3\nbulge_to_ass,0\nhominamia,1\nmp40,0\nstep_and_repeat,0\narjuna_alter_(fate),4\nminase_(takaoka_nanase),1\nkionant,1\nprojektmelody,3\nafrican_wild_dog_print,0\nshiraue_yuu,1\nkaede_(mmkeyy),1\njoshiraku,3\nurd_(aa_megami-sama),4\nuchuuneko,1\nyuuki_chihiro,4\nwhite_curtains,0\nshimizu_akina,1\nbarista,0\nvespa,0\nfist_in_hand,0\na.i._voice,3\nkitasaya_ai,1\nmodel,0\nbronya_zaychik_(herrscher_of_reason),4\ncubone,4\nthief_(final_fantasy),4\nhead_on_ass,0\nthor_(deep_rising),1\nthe_transformers_(idw),3\nalisa_reinford,4\nqin_shi_ming_yue,3\nasymmetrical_armor,0\nsticker_on_face,0\nlace-trimmed_headwear,0\ntape_on_nipples,0\nfacing_up,0\nyagami_makino,4\nvisible_ears,0\nkuro293939_(rasberry),1\nscreencap_inset,0\nmile_(off8mile),1\nshino_(comic_penguin_club),1\nchangye,1\ntakakura_kanba,4\ntsuezu,1\nchiyingzai,1\ndamegane,1\nsenju_muramasa,4\nlogan_cure,1\npapika_(flip_flappers),4\nnago,4\nhonkai:_star_rail,3\nshiina_(angel_beats!),4\nkotoyoshi_yumisuke,1\nikeda_(cpt),1\nbenitama,1\nfigure_skating,0\ntotoki86,1\nwhale_hat,0\ntsukiriran,1\ngao_(gaolukchup),1\nshimotsuki_potofu,4\nyurume_atsushi,1\nvertical-striped_socks,0\nwakabayashi_iori,4\npackge,1\nflower_over_mouth,0\nmokku,1\nlam_(ramdayo),1\nakino_komichi,1\nkkopoli,1\nanna_(fire_emblem),4\nmuteppona_hito,1\nanemone_(flower),0\nkawamura_tenmei,1\ncross-laced_top,0\nnight_wizard,3\ntemplate,0\nminamon_(vittel221),1\nsen'yuu_yuuji,1\n...!,0\ncamouflage_shorts,0\nshirt_tan,0\nzhong_lanzhu,4\nendro!,3\notter_spirit_(touhou),4\nhizamaru_(touken_ranbu),4\ngreen_pajamas,0\nkamen_rider_kabuto_(series),3\ndark_knight_(final_fantasy),4\nfangxiang_cuoluan,1\nmitake_eil,1\ntomoo_(tomo),1\nleviathan_(mega_man),4\nakira_shiun,1\nhusband_and_husband,0\nmina_cream,1\nsakura_chiyo_(konachi000),1\nfukuro_daizi,1\nmagic_kaito,3\nstanding_on_person,0\nkonkito,1\ncottontailtokki,1\nleaf_bikini,0\nhand_in_pants,0\narash_(fate),4\nmakai_senki_disgaea_5,3\nk'_(kof),4\nlcl,0\nsatellite,0\nsunohara_youhei,4\nspider_apple,1\nshingoku_no_valhalla_gate,3\nhane_(hanegoya),1\nglastonbury1966,1\naaru_(tenrake_chaya),1\nyamaku_high_school_uniform,0\nnun_bora,4\nw_over_eye,0\nnicky_w,1\nnissan,0\n;t,0\npointy_hat,0\nchouzetsusaikawa_tenshi-chan,4\nnefertari_vivi,4\nhuman_stacking,0\nkuga_tsukasa,1\nnakatama_kyou,1\niruma_kamiri,1\nfloating_sword,0\nhigh_school_dxd_new,3\ngoomrrat,1\napollo_justice:_ace_attorney,3\ntarachine,1\nomoomomo,1\nrukitsura,1\nsakura_(medilore),1\noda_nobunaga_(swimsuit_berserker)_(first_ascension)_(fate),4\ntenneko_yuuri,1\naunt_and_nephew,0\noktoberfest,0\nspiked_boots,0\neasonx,1\ngrey_horns,0\nmosquito_coil,0\nyae_sakura_(goushinnso_memento),4\nav_idol,0\ndevil_survivor_2,3\nsatomi_yoshitaka,1\ninohara_masato,4\nriru,1\nsharpedo,4\nushiromiya_kyrie,4\nkamishirasawa_keine_(hakutaku),4\nmine_(peak),1\ntetsubuta,1\nhatsushimo_kai_ni_(kancolle),4\nmatsumotoke,1\ndiives,1\nkugui_kiyunemu,1\nmattress,0\nbadminton_racket,0\nsch,1\npollux_(fate),4\nwatanuki_kaname,1\nh&k_mp7,0\nsitonai_(fate),4\nharuka_(blue_archive),4\nsazamiso_rx,1\ndew_drop,0\nbudew,4\nasuku_(69-1-31),1\nshizuna_kaede,1\nokayparium,1\noverhead_line,0\ninoshishi_(ikatomo),1\nkooribata,0\nyuuji_overall,1\nmisaki_high_school_uniform,0\ncitemer,1\nworld_of_warships,3\nmountain_han,1\nholding_ice_cream,0\nobidome,0\nkino_(kino_konomi),1\nnikkari_aoe,4\nakagi_shun,1\nconnie_springer,4\npumpkaboo,4\nmawaru_(mawaru),1\nswim_cap_removed,0\nshin_(dorohedoro),4\nkakuzatou_(koruneriusu),1\npokemon:_the_electric_tale_of_pikachu,3\ngojou_wakana,4\ndanganronpa_10th_anniversary_costume,0\nyuuyuu_(yuuki1771),1\nmatryoshka_(vocaloid),3\npinstripe_dress,0\neraser_head_(boku_no_hero_academia),4\nconductor,0\nc.r.,1\nkingin,1\nweavile,4\nkomusun,1\nzakki,1\nhakumen,4\nskirt_grab,0\nmineta_minoru,4\nmisnon_the_great,1\nsuzu_(cookie),4\ntwister,0\nlala_tramont,4\nxbox_360,0\nheather_mason,4\nlace-up,0\nmushi_gyouza,1\nshimhaq,1\nseolla_schweizer,4\npjrmhm_coa,1\nstatic,0\nraphiel_shiraha_ainsworth,4\ngriffin,0\ntsuaii,1\nkonata_gazel,1\ndate_(senpen),1\nhand_to_forehead,0\namane_kurumi,1\nhisuian_zorua,4\nusami_(danganronpa),4\nluse_maonang,1\nempoleon,4\nkyousaru,1\ndoor_handle,0\nsuper_robot_wars_the_lord_of_elemental,3\nnarusegawa_naru,4\nimi_uzi,0\ndouble_anal,0\nprinz_eugen_(final_lap)_(azur_lane),4\naccidental_pervert,0\nmhk_(mechamania),1\narai_nobu,1\nmori_toshiaki,1\ncocoloco,1\nairborne,0\nspoken_zzz,0\ngin_moku,1\nhungry_nun_(diva),4\nishida_seito,1\ncheesecake,0\nkoonago,0\nre_mii,4\nushiki_yoshitaka,1\nkatou_haruaki,1\nship's_wheel,0\nwhite_mage_(fft),4\nddari,1\nblack_order_uniform,0\ntailred,4\nartillery,0\nfolding_screen,0\nsnom,4\nlong_ribbon,0\ngreen_buruma,0\ntape_on_pussy,0\ngreen_sash,0\ndainamitee,1\nalternate_shiny_pokemon,0\nhelena_blavatsky_(swimsuit_archer)_(fate),4\nhands_on_own_legs,0\nwolfgang_amadeus_mozart_(fate),4\nchikuwa_savy,1\nmatsui_yasutsugu,1\nleona_west,4\nmikazuki_sara,1\npomegranate,0\nsakaki_maki,1\nkiya_machi,1\ncanaan_(character),4\nridley,4\nnagasone_kotetsu,4\nio_(pso2),4\ndaitaku_helios_(umamusume),4\norange_wings,0\nfuuma_kotarou_(fate),4\nbaltimore_(after-school_ace)_(azur_lane),4\nrosette_(roze-ko),1\nharyuu_(poetto),1\nhatsune_miku_(vocaloid4),4\nkuroi_susumu,1\nchurchill_(tank),0\nmojarin_(kihara_mojarin),1\nkira_yamato,4\nlagann,4\nuraharukon,1\njon_(st05254),1\nnoba,1\nox_horns,0\nyuzuki_karu,1\nudon_entertainment,1\nosumoto1,1\npantyhose_around_one_leg,0\nsuou_tatsuya,4\nt-34,0\nambience_synesthesia,3\nsen1986,1\nbrown_shawl,0\nomamori,0\nwishiwashi_(solo),4\nsnow_shelter,0\nholding_pocky,0\namano_jack,1\nonsen_tamago_(nurumayu_onsen),1\nstroking_another's_chin,0\nelizabeth_bathory_(second_ascension)_(fate),4\nfrankenstein's_monster_(cosplay),0\nsitting_on_car,0\ntachibana_himeko,4\nlove_hotel,0\nteranen,1\ntridisart,1\ntaichou_haori,0\ntailmon,4\nyggdrasil_(granblue_fantasy),4\nmarch-bunny,1\ntakami_masahiro,1\nteenage_mutant_ninja_turtles,3\nshiodome_oji,1\numyonge_(lkakeu),1\nkurokaji,1\nhigashi_shino,1\ntootsuki_saryou_ryouri_gakuen_uniform,0\nsagat,4\nyuki_miku_(2019),4\namamiya_elena,4\nsuzuki_(girls_und_panzer),4\ntina_fate,1\ndetached_hood,0\nkataku_musou,1\nelie_macdowell,4\nmegumi_(girls_und_panzer),4\ng'raha_tia,4\ntheresa_apocalypse_(valkyrie_pledge),4\nreiq,1\ncroquette,0\nhagiwara_rin,1\npower_fist,0\ndownpants,0\nyorda,4\nseitokai_no_ichizon,3\nmatsutani,1\natahuta,1\nikuyoan,1\nhachiouji_naoto,4\npredicament_bondage,0\nsakieko,1\ncaterpie,4\nkomakusa_sannyo,4\nraven_cronwell,4\nholding_scarf,0\nshirayuki_towa,1\nnollety,1\nkonan_(naruto),4\nunicorn_(long-awaited_date)_(azur_lane),4\natago_(school_traumerei)_(azur_lane),4\nturisasu,1\nheadgear_removed,0\nmin-naraken,1\ngelatin,0\namemiya_ruki,1\nlace-trimmed_bikini,0\nsakura_neko,1\nprushka,4\nneck_grab,0\nkolshica,1\nnanana_(nanana_iz),1\nkurobe_natsumi_(shiromanta),4\nyellow_sweater_vest,0\nkoizumi_amane,1\nstarcraft,3\ntoriatto_gununu,1\npaint_tube,0\ninuno_rakugaki,1\nkyuuri_(miyako),1\nminami_kotori_(bird),4\ninokuma_youko,4\npixiv_fate/grand_order_contest_2,3\nrangu,1\nrokkotsu,1\njunkrat_(overwatch),4\nhip_armor,0\nrabi-ribi,3\nsong_of_broken_pines_(genshin_impact),0\nball_busting,0\nkokona_(blue_archive),4\nwhite_rhinoceros_(kemono_friends),4\nshimohara_sadako,4\nkei_kei,1\ngalgrease,3\nwarrior_of_light,4\nbegging,0\nfatkewell,1\nmissing_tooth,0\ncum_in_panties,0\nnezuko,1\nasahina_hiyori,4\nkirise_mitsuru,1\ncurse_maker,4\nmiso_soup,0\nusagi-san,4\nsenriyama_school_uniform,0\ninaba_mob_(touhou),4\nndtwofives,1\ntadano_akira,1\ndancho_(dancyo),1\nreel_(riru),1\nhula_hoop,0\nrockruff,4\nyukishiro_arte,1\nno_symbol,0\nmika_(1020mk),1\nshibainu_niki,1\nooji_cha,1\noshiaki,1\nbe_(o-hoho),1\nashigara_kai_ni_(kancolle),4\nrod_(rod4817),1\nhakuda_tofu,1\npoppy_(flower),0\nanchorage_water_oni,4\nsuzuno_fuusuke,4\nyakuza,0\nfall_guy,4\nrarity,4\nsucking_male_nipple,0\nexcellen_browning,4\nmachiko_(beard),1\nyamada_ako,1\ncatbell,1\ngogatsu_fukuin,1\naloe_(quiz_magic_academy),4\nhopeless_masquerade,3\najitarou_(setsu),1\nhuanxiang_huifeng,1\nghost_print,0\nkris_(deltarune),4\ncherry_tomato,0\nhubert_ozwell,4\ndraco_centauros,4\neye_pop,0\nsakura_ryuuken,1\nnoa_(nagareboshi),1\nkujiran,1\nnaitou_ryuu,1\nsofy,1\naburidashi_zakuro,1\nmendou_kusai,1\nkyou_(fr39),1\nwally_(pokemon),4\nbardock,4\nkoseki_reina,4\nking_(snk),4\nqi_lolita,0\nyoshi_mi_yoshi,1\nsaeki_sora,1\nzenobia_(fate),4\nice_skating,0\nhugging_another's_leg,0\nnon_(nuebako),1\ndie_(die0118),1\ncompound_bow,0\ntenko_(gintenko),1\nvibrator_in_anus,0\nwhite_rabbit_(alice_in_wonderland)_(cosplay),0\nscholar_(final_fantasy),4\nyokoyama_chika,4\njapanese_postal_mark,0\nflower_basket,0\njaeger_(pacific_rim),0\ngeetsu,1\nunime_seaflower,1\nscribble,0\nmckeee,1\nakiyoshi_(tama-pete),1\nbandaged_foot,0\nmarshall_k,1\nheadshot,0\npink_fire,0\ncracker,0\nhibiki_ryouga,4\ndragoon_(final_fantasy),4\nchain_chronicle,3\nhimeno_kanon,4\ndark_souls_ii,3\nblack_sweater_vest,0\nporo_(league_of_legends),4\ntsubaki_(tatajd),1\ngreen_pubic_hair,0\npurple_pupils,0\nthrowing_needles,0\n0930erina,1\nsentimental_graffiti,3\nimaichi,1\nraspberyl,4\nuro,1\nilluso,4\npersona_1,3\nleviathan_(umineko),4\nuta_(kuroneko),1\ntoeto_(vocaloid),3\nwhite_album_2,3\ntaira_tsukune,1\nhuyase,1\nouroboros_(girls'_frontline),4\nmvp,0\nkoshiro_itsuki,1\ntakaishi_takeru,4\nfrozen_frog,0\nvs,0\nhitoshura,4\nzooey_(summer)_(granblue_fantasy),4\ntachibana_momoka,4\nbewear,4\nnamako_(takorin),1\nyaia_(granblue_fantasy),4\nichi_(ichi.colors),1\nred_panda,0\nhito_komoru,1\nband-width,1\nkoorimizu,1\njanne_cherry,1\nnaked_robe,0\nsenjou_no_valkyria_3,3\nholding_up,0\npurple_armor,0\nero_kaeru,1\nk_(gear_labo),1\nsadahiro_(chicken_nugget_gyuuniku_aji),1\nohlia,1\nafter_battle,0\nconvention_greeting,0\nmaylene_(pokemon),4\nnaoko-san,4\ngazer_(monster_girl_encyclopedia),4\nalfonse_(fire_emblem),4\nsensen,1\nangel_(evangelion),4\nsogabe_toshinori,1\nkama_(swimsuit_avenger)_(third_ascension)_(fate),4\ncinder_fall,4\ntadanoshi_kabane,1\nspiked_armor,0\npanties_under_bike_shorts,0\ntamaki_kotatsu,4\nsnk_heroines:_tag_team_frenzy,3\nzenless_zone_zero,3\nround_table,0\ntactics_ogre,3\nkishibe,1\nmaki_(natoriumu),1\nasami_asami,1\nroegadyn,0\nhashida_itaru,4\nsts,1\nmuka_tsuku,1\nmakino_(ukiuo),1\nlilith_aensland_(cosplay),0\nkaneru,1\nkoma_midori,1\nbebebe_(pepegakii),1\nseragaki_aoba,4\nlion_dance,0\nataruman,1\nnanjo_hikaru,4\naraiguma,1\nmiya9,1\nprosthetic_hand,0\nnobori_ranzu,1\nnormaland,1\nhoojiro,1\nevandragon,1\nlieza_(arc_the_lad),4\nthompson_(girls'_frontline),4\nzaki_(zaki_btw),1\nnoise_(lesion949),1\ncream_on_body,0\nthe_legend_of_zelda:_a_link_to_the_past,3\nonjouji_toki,4\nkikurage_(crayon_arts),1\ngradient_kimono,0\nheart-shaped_buckle,0\nbetock,1\nember_celica_(rwby),0\norganization_xiii,0\ntakaya_noriko,4\neko,1\nillustration.media,3\nrichard_(tales),4\nathenawyrm,1\n2014_fifa_world_cup,3\nalessandra_susu,4\nichinomiya_(blantte),1\nichiei,1\nlorenz_hellman_gloucester,4\ncoffeekite,1\nmarvel_vs._capcom_3,3\ntrapinch,4\nabo_(kawatasyunnnosukesabu),1\ngiggling,0\nfusou_(azur_lane),4\nseishou_music_academy_uniform,0\nwaka_(wk4444),1\nsaliva_drip,0\nsashimi,0\nhayase_mitsuki,4\ncrosshair,0\ntatekawa_mako,1\nnonohara_miki,1\nrika_(touhou),4\ngold_experience,4\nkarol_capel,4\nsara_(touhou),4\nlorelei_(pokemon),4\ndisco_ball,0\nburuma_around_one_leg,0\ntoshifumi,1\nfennec_fox,0\nkaneaki_mukku,1\nouhashi,1\nlily_(artist),1\nmerlusa,1\nmatsuda_hikari,1\ntkhs,1\nishimu,1\name_to_kimi_to,3\nkou_(haijindeath),1\nfake_censor,0\ntakeya_yuuki,1\ndarkkanan,1\nanzu_ame,1\nspiked_anklet,0\nmeltryllis_(third_ascension)_(fate),4\npenguins_performance_project_(kemono_friends),0\noku_tamamushi,1\nkanachirou,1\nkazari_tayu,1\nfletcher_mk_ii_(kancolle),4\nfate_testarossa_(impulse_form),4\naltera_the_santa_(fate),4\ntanaka_io_(craftstudio),1\nnight_battle_idiot,0\narcana_heart_2,3\nblossom_(ppg),4\nbradamante_(first_ascension)_(fate),4\nnoss_(rariatto),4\nescalator,0\nquintuplets,0\narm_scrunchie,0\nx_navel,0\niriam,3\nhikari_(komitiookami),1\nmisha_(hoongju),1\ntesun_(g_noh),1\nzootopia,3\ndjheycha,1\nspacecraft_interior,0\nshalltear_bloodfallen,4\nprimordial_jade_winged-spear_(genshin_impact),0\nyoshida_kazumi,4\nbilliards,0\nlineage,3\nkosame_daizu,1\nyan-yam,1\nduskull,4\nhi-ho-,1\nsatsuki_imonet,1\nmimura_kaoru,1\npinkie_pie,4\nsigama,1\nmickeysmith,1\ndan_(orange_train),1\naardwolf_ears,0\ncosplay_request,5\nguinea_pig,0\nhideko_(l33l3b),1\noginome_ringo,4\nsumeragi_aika,4\nuumaru,1\ndeoxys,4\nginko,4\nshaw_(arknights),4\ncrystal_sword,0\ndirt_road,0\nmizuki_seira,4\nsupermarket,0\nextra_legs,0\nputting_on_headwear,0\nsatin_bra,0\nsuerte,1\nmutou_mato,1\nkikuta,1\nlong_horns,0\nniyon_(granblue_fantasy),4\nkamaboko_(ossann0125),1\nhyde_(tabakko),1\namatsuka_uto,4\nakaoni_(zumt3548),1\nkaname_nagi,1\nkuroshinki,1\nnina_(girls_und_panzer),4\ntowa_herschel,4\nshiina_kuro,1\nyuragisou_no_yuuna-san,3\na9b_(louis814),1\nsubaru_(yachika),1\nuzaki_(jiro),1\naqua_flower,0\nsamurai_(7th_dragon_series),4\niida_tenya,4\nmitchi,1\npochita_(chainsaw_man),4\ntaihou_(phoenix's_spring_song)_(azur_lane),4\nsakurada_jun,4\naction_pizazz,3\nwrestler,0\nkinomoto_sakura_(cosplay),0\nharmonia,1\nwacom,3\nrelease_date,0\npunching_bag,0\nwhip_(kof),4\nminazuki_tsuyuha,1\ninishie,1\nmother_and_child,0\nga_geijutsuka_art_design_class,3\nbalding,0\nsuka,1\nking_(vocaloid),3\nmaterial-l,4\ndark_elven_forest_ranger,4\nsceptile,4\nkyokutou_hentai_samurai,1\nsummer_pockets,3\nmaya_g,1\ngemi,1\nkurororo_rororo,1\nchowbie,1\nholding_reins,0\nadepta_sororitas,4\nchar_(2v_26),1\nbunny_vibrator,0\nfundoshi_aside,0\nsuzuya_juuzou,4\nchiya_(urara_meirochou),4\nkaptivate,1\nsimao_(x_x36131422),1\nred_butterfly,0\nbakusou_kyoudai_let's_&_go!!,3\nhayakawa_tazuna,4\nstuffed_dolphin,0\nouter_senshi,0\nshoulder_plates,0\ntangled,3\nkasuga_(kasuga39),1\ntranslucent_hair,0\ngambeson,0\nainz_ooal_gown,4\nakg,0\nslouching,0\nwatering,0\nboruhis,1\nlora_(xenoblade),4\nchi-hatan_school_uniform,0\nhanazawa_suou,1\nhanami_kotoha,4\ncamieux,4\nooide_chousuke,1\nrihito_(usazukin),1\nmmm_(ji1945),1\nkoyanskaya_(chinese_lostbelt_outfit)_(fate),4\nmina_(pokemon),4\ntakao_(full_throttle_charmer)_(azur_lane),4\ngensou_suikoden_i,3\nlysandre_(pokemon),4\nu_(the_unko),1\nkomaki_ikuno,4\nhota,1\nyahako,1\nmorogami_ryou,1\nnami_(nyaa),1\nhuman_tower,0\nkuzumosu,1\nyamaha,0\nsupon,1\nj.k.,1\nmunashi_mujou,1\nsombrero,0\nplaid_sleeves,0\nmakishima_saori,4\nu-47_(azur_lane),4\namou_kanade,4\nanne_bonny_(fate),4\nfishine,1\nhazuki_ren,4\nlulu_(ff10),4\nairplane_interior,0\ndart,0\nphichit_chulanont,4\nokada_akane,4\nakisome_hatsuka,1\nimplied_bisexual,0\ntentaclejob,0\nlit_fuse,0\nrakeemspoon,1\npolaroid,0\nmoyu_marginal,1\nseki_hiromi,4\nhosizora_mikoto,1\nxingchen,4\nsakeharasu,1\nyu-gi-oh!_sevens,3\ntwo-tone_bodysuit,0\noshimizu_nako,4\nwatashi_(jintai),4\nwooden_door,0\nshiro_kuma_shake,1\nhajime_kaname,1\nhishimochi,0\ncomiket_99,3\nhyouuma,1\nindosou,1\necru,1\nmikazuki_augus,4\naoblue,1\npikomarie,1\nshining_resonance,3\nmurosaki_miyo,4\nsami_(object_dump),1\nclam_shell,0\nox_ears,0\ncomic_anthurium,3\nkaga_(battleship)_(azur_lane),4\ndenhijou_niki,1\nfemale_tourist_c_(arknights),4\ncopano_rickey_(umamusume),4\nkusanagi_nene,4\narms_on_knees,0\nelectrocution,0\neliza_(skullgirls),4\nadmiral_suwabe,4\ntransformer,0\nlloyd_irving,4\nwild_arms_5,3\nproduct_girl,0\ntohsaka_aoi,4\nnokishita,1\nmochizuki_chiyome_(fate),4\nnemu_mohu,1\ncomic_exe,3\nartemis_(fate),4\nitachou,1\nakamatsu_ken,1\nartorias_the_abysswalker,4\nprint_pants,0\nikeda_kana,4\nhug_(yourhug),1\nyuya_(night_lily),1\nhenyaan_(oreizm),1\npyon-kichi,1\ntanemura_koyori,4\nnicutoka,1\nholding_notepad,0\nfrustrated,0\npepper0,1\nchitosezaka_suzu,1\nheart-shaped_gem,0\nsyatey,1\nmejiro_bright_(umamusume),4\nglowing_flower,0\ncell_(dragon_ball),4\ncobra_(animal),0\ntarmo,1\ntoten_(der_fuhrer),1\nyozakura_(senran_kagura),4\nelbows_on_knees,0\nsigm@,1\nsuperb_bird-of-paradise_(kemono_friends),4\nhhh_(wave),1\ncoin_(ornament),0\nanonamos,1\noniku_(shimofuri-ke),1\nmelon_soda,0\nmash_kyrielight_(senpai_killer_outfit),4\nombok_diving_and_delivery_services,3\nkunkun,4\nturtleneck_crop_top,0\nkotohime_(touhou),4\nlady_avalon_(fate),4\npudding_(skymint_028),1\ntsuyokiss,3\nwhisperain_(arknights),4\njigsaw_puzzle,0\nuboa,4\ntsukiyo_no_ribbon,1\nnanotsuki,1\niori_shirou,4\nashwatthama_(fate),4\nuona_telepin,1\nantispiral_nia,4\naizawa_sakuya,4\nkyoto,0\nrenton_thurston,4\nkamen_rider_kiva_(series),3\ngunner_2_(sekaiju),4\nkagiana,1\npalmtop_tiger,4\njedi,0\nkaname_tatsuya,4\ntakahata_yuki,1\ntenka_hyakken,3\nmeion,1\nhiga_yukari,1\nmayoi_neko_overrun!,3\nhinata_momo,1\nskirt_caught_on_object,0\ndross,1\nmeganium,4\ntoast_(gesture),0\nakitokage,1\nimplied_paizuri,0\ntapioka_(oekakitapioka),1\nsayla_mass,4\nsnow_white_and_the_seven_dwarfs,3\ndouble-blade,0\narung_samudra_(cessa),4\nhattori_masaki,1\neno_yukimi,1\ntatsuya_(guild_plus),1\nkanapy,1\namaa_(chou_dennou_jidai),1\ngreen_dew,1\neremes_guile,4\namy_(suisei_no_gargantia),4\nkukka,1\ngotou_toushirou,4\ncoroha,1\nishtar_(swimsuit_rider)_(fate),4\ncarlo_montie,1\nflowey_(undertale),4\nadjusting_another's_clothes,0\nshouna_mitsuishi,1\nshanyao_jiang_tororo,1\nitaco,1\nilfa_(to_heart),4\nzhu_bajie,4\nhirowa_nagi,1\nhidebou,1\nsteelix,4\ndoukyuusei_2,3\nvocaloid_boxart_pose,0\ntezuka_rin,4\ntsukumogami,0\nsora_no_woto,3\nkusagami_style,1\nkayako_(tdxxxk),1\nirisu_fuyumi,4\novaries,0\nnadeara_bukichi,1\nnada_haruka,1\nrhinoceros_beetle,0\npomu,1\neye_beam,0\nkoshigaya_natsumi,4\nkoe_no_katachi,3\nnat_the_lich,1\nkouzuki_kei,1\nsiren_(azur_lane),4\nors_anime_renders,1\npudgeruffian,1\nkyuutou_(kyuutouryuu),1\ncorn_cob,0\nenderman,4\nolimar,4\nsquare_neckline,0\nkagune_(tokyo_ghoul),0\nli_(lithium0522),1\ngenie,0\ngabriel_evangel,1\ndr._stone,3\njeneral,1\npheromosa,4\nneck_fur,0\npumpkinpan,1\nmegao_3rd,1\nkawashiro_mitori,4\ncoughing,0\nstack,0\nlenneth_valkyrie,4\nminashirazu,1\nyukichi_(sukiyaki39),1\nsame_anko,1\naoi_masami,1\nsashizume_soutarou,1\nkokkoro_(summer)_(princess_connect!),4\nshadow_(persona),0\nchocokin,1\ncum_on_figure,0\nwakamesan,1\nkuma_(crimsonvanilla),1\nexcessive_nosebleed,0\nnyatasha_nyanners,4\ncrono_(chrono_trigger),4\nmax_melon,1\nadd_(elsword),4\nmulticolored_polka_dots,0\nkodama_fumika,4\ncanking,1\njinbaori,0\nblood_on_wall,0\nushiwakamaru_(swimsuit_assassin)_(first_ascension)_(fate),4\nsexual_harassment,0\nkanju,1\nshez_(fire_emblem)_(female),4\nsozan,1\niris_(mega_man),4\npiku,1\nkitayuki_kajika,1\ndelivery,0\nmejiro_palmer_(umamusume),4\nlucie,1\nkamui_(gintama),4\nezio_auditore_da_firenze,4\nchain_chomp,4\narticuno,4\nneet,0\ntai_(nazutai),1\nhachijou_(kancolle),4\nafukuro,1\nkisaragi_tsurugi,1\ni-pan,1\nbeyblade,3\nkikugetsu,1\nhuman_toilet,0\nminamoto_shizuka,4\nhimukai_kyousuke,1\nnanashi_noiji,1\nsasakura,1\nhomestuck,3\nmareep,4\nmutsumi_masato,1\nastel_leda,4\nsolar_(happymonk),1\nikebukuro_akiha,4\narm_wrestling,0\nazumi_inori,1\narulumaya,4\nmizuki_(mizuki_ame),1\nbakumatsu_rouman,3\nscathacha_(granblue_fantasy),4\nyonezawa_natsumi,4\nanimated_png,5\nfanning,0\nbradamante_(third_ascension)_(fate),4\nkurochiroko,1\nyamato_aki,4\nvice_(kuronekohadokoheiku),1\nfc_(efushii),1\nknight_(dungeon_and_fighter),4\ntanuki_(ame_to_kimi_to),4\nmusharna,4\ntana_(fire_emblem),4\nkaitou_kid,4\nakitetsu,1\nadjusting_footwear,0\nstuffed_fish,0\nthanatos_(hades),4\ncracked_glass,0\nholding_shower_head,0\nhorned_hat,0\nizanagi_(persona_4),4\ndengeki_hime,3\nsuisai,1\nchypre_(heartcatch_precure!),4\nalakazam,4\nchansey,4\njuuni_kokuki,3\nmuten_roushi,4\nisuka,1\ntcb,1\nhitou_nami,4\nsugimori_ken_(style),0\nwave_print,0\nogihara_mach,1\nhead_under_skirt,0\nkanan,1\nsui_(camellia),1\ncelebration,0\nuno_makoto,1\nkameponde,1\nia_(ias1010),1\nmumu_(mumunyan),1\nsaratoga_(warship_girls_r),4\nquiff,0\nishigaki_takashi,1\njinki,3\nreien_girl's_academy_school_uniform,0\nnana_kagura,1\nweapon_behind_back,0\ndragon_quest_dai_no_daibouken,3\nlong_island_(azur_lane),4\nuzui_tengen,4\nice_cream_spoon,0\nsummoning,0\nmurkrow,4\ngrey_hakama,0\ntensugi_takashi,1\nshu_yamino,4\nmug_writing,0\nakusema,1\ntrim_brush,0\nhimawari-san,3\nhinata_sora,1\nburbur,1\naugustine_sycamore,4\nhildr_(fate),4\narsalan_(housamo),4\nsnow_white_(sinoalice),4\nminion_2_(zannen_onna-kanbu_black_general-san),4\ngolisopod,4\nkeizoku_(emblem),0\nmasamune-kun_no_revenge,3\ntaimanin_rpgx,3\ndouya_(233),1\nsooon,1\nqualidea_code,3\nalisha_diphda,4\nsatan_(umineko),4\nhagure_kedama,1\niwatobi_hiro,1\nlr_hijikata,1\nmanga_panel_redraw,5\ngoogle,3\nizuna_(shinrabanshou),4\nholding_pickaxe,0\nohasi,1\nkaleido_star,3\nshisoneri,1\nhands_on_another's_stomach,0\nlunafreya_nox_fleuret,4\nmizuno_youko,4\ninuburo,1\nroomba,0\npotpourri_(heartcatch_precure!),4\nkuren,1\nkatsuragi_keima,4\napple_pie,0\ntransformers_prime,3\nwatermelon_print,0\ncamera_flash,0\nribucci,1\nibarazaki_emi,4\nhomulilly,4\nhoukago_no_pleiades,3\nfujiyoshi_harumi,4\nbellezza_felutia,4\nwangxiii,1\nsou_(tuhut),1\nhover_bike,0\nakahito,1\nspace_cat_(meme),0\npilot_helmet,0\nazumarill,4\nkiritzugu,1\nkurotsuchi_nemu,4\ntinnies,1\nadvent_cirno,3\nizumi_koushirou,4\nmarisasu_(marisa0904),1\nfixro2n,1\nbouncing_testicles,0\nremembering,0\nouroboros,0\ncloud_tattoo,0\nkatsushika_hokusai_(traveling_outfit)_(fate),4\nboot_removed,0\nshower_curtain,0\nfrench_cruller,0\nbaocaizi,1\nbeatrice_(princess_principal),4\nteshima_nari,1\nlapis_lazuli_(houseki_no_kuni),4\nttgl_eyecatch,0\nz-ton,1\nikura_nagisa,1\nmagical_mirai_miku_(2016),4\nonikokko,1\nprimula,4\nshouu-kun,1\nalisaie_leveilleur,4\nfive_nights_at_freddy's,3\nmilking_handjob,0\nclothed_after_sex,0\npurinpurin,1\nnipi27,1\norion_(bear)_(fate),4\nsweater_jacket,0\nharuri,1\npikl_(elira_pendora),4\naoi_nagisa,4\nkhakis,0\nzapdos,4\nsuzumiya_haruhi-chan_no_yuuutsu,3\nbelgium_(hetalia),4\ngambler_club,1\nkonoe_ototsugu,1\ntobisawa,1\ncure_rouge,4\nlinne,4\nkino_aki,4\ndrifblim,4\npomodorosa,1\nkatou_marika,4\nkuzunoha_raidou,4\nkusakabe_(kusakabeworks),1\npixiv_red,4\nst._feles_gakuen_uniform,0\nakimoto_dai,1\nayla_(chrono_trigger),4\nnitako,1\ntackle,0\nnatu,4\npoipoi_purin,1\nholding_comb,0\nsouthern_tamandua_(kemono_friends),4\nhakkai,1\npretzel,0\napplejack,4\ncyno_(genshin_impact),4\ndonkey_kong_country,3\nhuman_(warcraft),0\nlindy_harlaown,4\nshosei,0\nexecutive_mishiro,4\nluna_platz_(mega_man),4\ntari_tari,3\nspringfield_(stirring_mermaid)_(girls'_frontline),4\nhorned_hood,0\nwolf_hood,0\nmiyakure,1\ndissidia_012_final_fantasy,3\nyanagi_yuu,1\ncrawling_dreams,3\npenetration_through_clothes,0\ngtunver,1\nriverbank,0\nyuzuriha_(active_homing),1\nyukijirushi,3\nserafall_leviathan,4\nluigi_di_savoia_duca_degli_abruzzi_(kancolle),4\nsitting_on_food,0\nsoukou_makura,1\ntsuru_(clainman),1\nmyuu_(arisumeria),1\noounabara_to_wadanohara,3\ncocq_taichou,1\nsumiya_nadateru,1\nprecum_string,0\nshiver_(splatoon),4\nanzai_romi,4\nworld_of_tanks,3\nmalon,4\nkawamura_reo,4\nshinomiya_karen,4\nsai-go,1\nkingdom_hearts_i,3\ntamahana,1\naipom,4\nlena_(zoal),1\nmayo_chiki!,3\nstun_gun,0\neiserne_jungfrau,0\nhinata_nonoka,1\ngeass,0\nyukizuki_chikuba,1\naudrey_burne,4\nsarukaiwolf,1\nyamaguchi_yuu,1\ncafe_(cafe-chan_to_break_time),4\nhouchi_shoujo,3\ntatsumi_koutarou,4\namagase_touma,4\nribombee,4\ngoldfish_scooping,0\nah-lyong_lee,1\nq_(ed69),1\nweibo_id,0\npurple_buruma,0\nmura_karuki,1\nblack_delmo,4\ndog_walking,0\nkokuzou,1\nseeker,1\nupset,0\nperil,0\nkisaragi_gunma,1\nslipper_bathtub,0\nyuujo,0\npeacock,0\npenguin_3-gou,4\nzubat,4\ncanada_(hetalia),4\nmiyabi_akino,1\ntao_(kadoya),1\ngreen_sarong,0\nhiramedousa,1\nyonaga_(masa07240),1\nciel_(mega_man),4\ncoral_reef,0\nsouthern_ocean_oni,4\nhakusai_ponzu,1\no-ring_legwear,0\ndrawn_ears,0\nhirasawa_seiji,1\nkurotama,1\nhinami047,1\nin_(ain),1\nkono_bijutsubu_niwa_mondai_ga_aru!,3\ncaptain_yue,1\nmujina,4\nkansaiben,0\nchikaretsu,1\neve_(chihuri),4\nheavy_object,3\ndarth_vader,4\nvirginia_maxwell,4\nvirginia_knights,4\nben-tou,3\nice_climber,3\nrose_bush,0\nchuruya,4\naomine_daiki,4\nkizuato,3\ntomb_raider,3\nmebae,1\nhotpot,0\nfate/unlimited_blade_works,3\nremilia_scarlet_(cosplay),0\ndarkside,1\nsupershiruco,1\nrake,0\nshiina_mashiro,4\nquiet_(metal_gear),4\nagumon,4\nsatou_toshiyuki,1\nnicetack,1\nnightmare,0\nansel_(arknights),4\nfire_emblem_gaiden,3\nmanga_time_kirara,3\nshimizudani_ryuuka,4\noppai_mochi,0\nnight_raven_college_uniform,0\nmutsu_kai_ni_(kancolle),4\nhisako_(angel_beats!),4\ndelphox,4\ntaguchi_takahiro,1\nslipping,0\nhebino_rai,1\ntail_biting,0\nhead_biting,0\nillyasviel_von_einzbern_(swimsuit_archer),4\njuggling,0\nstargazing,0\nstudio_microphone,0\nshinazugawa_sanemi,4\njaune_arc,4\nholding_ring,0\nbakuzan,0\nkosokosomaru_(higashi_taishi),1\nnyaru_(nyaru_4126),1\nasymmetrical_pants,0\nmarle_(chrono_trigger),4\nryota-h,1\nintravaginal_futanari,0\nwhite_(among_us),4\ntressa_colzione,4\nkamen_rider_ex-aid_(series),3\nmaekawa_suu,1\nmew_ichigo,4\nhormone_koijirou,1\nokuba,1\nnanahamu,1\nroaring,0\nrikudou_inuhiko,1\npumpkin_pants,0\nhonchu,1\ntakei_junko,4\nshitty_t-shirt_naval_base,0\nteltelhousi,1\ngiant_brush,0\nvileplume,4\nanteater_ears,0\nitou_nanami,1\ncotton_swab,0\nmaeya_susumu,1\npony_play,0\nkumatora,4\nkenron_toqueen,1\nkusuribe,1\ngolden_delmo,4\nnemoto_yuuma,1\nbinder,0\nbreathing,0\nlegend_of_mana,3\nminamoto_chizuru,4\nanimeflux,1\nblueprint,0\n5others,0\nfallenshadow,4\npaintrfiend,1\nunapoppo,1\nmurakami_tomoe,4\nprofessor_(ragnarok_online),4\nichihisa,1\nthe_loud_house,3\nwooden_lantern,0\nmolcar,4\nfur_(clothing),0\na.a_(aa772),1\nsid_story,3\nanno88888,1\ntaka-michi,1\n13_(spice!!),1\nsora_no_amagumo,1\nexpulse,1\noutbreak_company,3\ntipii,1\naruma_jiki,1\nze_(phrase),0\nisamu-ki_(yuuki),1\ntsukimi_dango,0\nnikaidou_chizuru,4\nribbon-trimmed_thighhighs,0\nchise_(blue_archive),4\nhaxorus,4\nfake_beard,0\nflower_eyepatch,0\ncooking_pot,0\nkurata_sayuri,4\nhuan_li,1\nrezi,1\nhitsuki_rei,1\nsekomumasada_sensei,4\nfatal_frame_4,3\ngachimuchi,3\nnorth_abyssor,1\nstarly,4\nzephid,1\nippers,1\ndouble_(skullgirls),4\nretorillo,1\nsasaoka_gungu,1\nmitty_(made_in_abyss),4\nu-1196,4\nbread_slice,0\nfellatio_under_mask,0\nnamahamu_(hmhm_81),1\nnier_reincarnation,3\nkozakura_(dictionary),1\nrose_(pokemon),4\ntsukino_wagamo,1\nrichter_belmont,4\nkobaji,1\narcana_heart_3,3\nvenat_(ff14),4\nicon_(computing),0\nrina_atherina,4\nechidna_(queen's_blade),4\nsherry_birkin,4\nraboot,4\nlewdamone,1\nnyarla_(osiimi),4\ncel_shading,0\ngothic_architecture,0\nmomoirone,1\nhair_half_undone,0\nhagakure_yasuhiro,4\nshinonome_asu,1\nhubrael,1\nsikijou77o,1\nhakata_toushirou,4\nshishigami_(sunagimo),1\npaperclip,0\nkirisawa_saki,1\nhiding_behind_another,0\nolympics,3\nrizu-kyun,4\nkabayaki_unagi,1\nyuzumiya_mono,1\nutensil,0\nikarin,1\nhamaguri_(hamaguri1234),1\nchameleon_man_(three),1\nrikugou_(rikugou-dou),1\ngurimjang,1\nbishoujo_senshi_sailor_moon_crystal,3\ntwitter-san,3\ntom_clancy's_the_division,3\nnarumi_tsuyu,4\nsolopipb,1\nkinjo_kuromomo,1\ntying_footwear,0\nyuzuriha_(under_night_in-birth),4\nnanohana_(november.),1\ncrotchless_swimsuit,0\nangelina_(distinguished_visitor)_(arknights),4\nblindfold_lift,0\nsingle_arm_warmer,0\nfried_rice0614,1\npola_(seaside_coincidence)_(azur_lane),4\nfox_hat,0\nemma_august,4\naruman,1\ncat's_cradle,0\nbandaid_on_shoulder,0\nkurumi_(kantoku),4\nfreija_crescent,4\njoy_division,1\nribbon_(kirby),4\ncutie_mark,0\nasahikawa_hiyori,1\nkirin_kakeru,1\nabandoned,0\nkendo,0\ngunner-l,1\nsumeragi_kaguya,4\narai-san_mansion,3\ncidney_aurum,4\nitamochi,1\nnano_(nanosize),1\nyukico-tan,4\nnenchi,1\nmizunoe_kotaru,1\nlinda,1\nakizuki_shigure,1\ngulp5959,1\nao+beni,1\nmo_ne,1\nnattou,0\ntrigun,3\npincers,0\nlost_universe,3\nzellam,1\nvelzhe,1\nyokai_(yokai0401),1\nchiron_(fate),4\nkatsura_kotarou,4\nmeng_ziya,1\nmustard,0\ni-19_(azur_lane),4\ndiorama,0\nstore_clerk,0\nhorse_boy,0\nhagure_keg,1\neyeball_hair_ornament,0\nchristmas_tree_hair_ornament,0\ngambe,1\nbat_tattoo,0\nsekine_shiori,4\nkarura_(utawarerumono),4\nhk416_(starry_cocoon)_(girls'_frontline),4\nhuwari_(dnwls3010),1\njames_buchanan_barnes,4\nstar_pillow,0\ntakenouchi_sora,4\nyuuichi_(tareme_paradise),1\nkumiho,0\neye_socket,0\nlight_cruiser_princess,4\ncanned_food,0\nrainbow_eyes,0\ninuyama_mana,4\nhecatia_lapislazuli_(moon),4\ntouya_(the-moon),1\nutakata_(kochou_no_yume),1\nogino_(oginogino),1\nshukusuri,1\nconstance_von_nuvelle,4\nholding_own_wrist,0\n4shi,1\nharumiya,1\nwonderful_rush,0\nreverse_grip_handjob,0\nyume_no_tsue,0\nmaine_(honzuki_no_gekokujou),4\nkon_kanaho,4\nkazuno_leah,4\nfujiko_(emnprmn),1\nomniscient_reader's_viewpoint,3\nmont_blanc_(food),0\nbeako,4\nugume,1\nrelationship_graph,0\njeremiah_gottwald,4\nunown,4\ntwin_angel,3\nwashing_back,0\ncompact_(cosmetics),0\nkoumajou_densetsu_2,3\nvanilla_ice,4\nflat_sign,0\ntenpesuto,1\nshipwreck,0\nnumbers'_uniform,0\nsakurano_ru,1\nhenet_hene,1\near_pull,0\nshiromiya_asuka,4\nanzu_(ensemble_stars!),4\nsketchbook_full_colors,3\ncum_on_armpits,0\nface_in_ass,0\npoker,0\nroserade,4\ntaxi,0\nfolait,1\nhello_kitty_(character),4\nass_smack,0\nsix_fanarts_challenge,0\nowler,1\nmeiko_(inuarashi),4\nmelon-chan,4\nseele_vollerei_(stygian_nymph),4\nkazepana,1\ngascogne_(azur_lane),4\nkuroe_shizuku,4\nhaoro,1\nmuu_(mumumer),1\nmeerkat_(kemono_friends),4\nvaltava,4\ncoreytaiyo,1\nootsuka_shin'ichirou,1\napple_slice,0\nhonotai,1\nwizard_(ragnarok_online),4\nfairy_knight_gawain_(second_ascension)_(fate),4\nfrankenstein's_monster_(swimsuit_saber)_(first_ascension)_(fate),4\nno_male_underwear,0\ntibetan_fox_(kemono_friends),4\nmiyako_(rgrayt),1\nmosin-nagant_(girls'_frontline),4\nnakayama_festa_(umamusume),4\nthanatos_(persona),4\nkamiya_midori,4\non_railing,0\ndouble_exposure,0\nsuicide_squad,3\nanyan_(jooho),1\ninyucchi,1\ntitanfall_2,3\ngigantic_penis,0\nazuumori,1\nplaystation_2,0\nsumo,0\nmatsuda_arisa,4\noka_asahi,4\nnakiri_alice,4\nraimon_school_uniform,0\nshamonabe,1\nunsomnus,1\nyuri_kuma_arashi,3\ndaifukumochi_(akaaokiiwo),1\noshiruko_(tsume),1\nswiftsure_(azur_lane),4\nself_harm,0\nhands_on_another's_shoulder,0\nwireless_sex_toy_controller,0\ndobermann_(arknights),4\ntsubasa_chronicle,3\nsensha_otoko,3\nkirche_augusta_frederica_von_anhalt_zerbst,4\nhourou_musuko,3\nrolo_lamperouge,4\nmakai,1\nflying_saucer,0\nnakajima_konta,1\nshimano_natsume,1\nhie_(hiememiko),4\nmagaki_ryouta,1\nsagamiso,1\ndytm,1\nsit-up,0\ntsukimirin,1\nholy_grail_(fate),0\nviking,0\nmizu_asato,1\nhisoka_morow,4\nrei_(tonbo0430),1\nmurakami_kou_(raye),1\navatar_icon,0\ngrey_bag,0\npalanquin_ship,0\nsasha_(haguhagu),4\npatting,0\nkatsuwo_(cr66g),1\nlanding,0\nhama!_(3toshinhmkz),1\npriestess,0\nrotom_(normal),4\nm.o.m.o.,4\nrenamon,4\nekko_(league_of_legends),4\nxinzoruo,1\nyamanokami_eaka,1\narai_togami,1\nyuuzuki_(re'ef),1\nsaihate_(d3),1\nthrough_window,0\ngumiya,4\nbabywearing,0\nokita_j._souji_(third_ascension)_(fate),4\nsesshouin_kiara_(lily),4\ngreen_pupils,0\nkotobuki_tsukasa,1\nbreasts_on_back,0\nkagawa_ichigo,1\nnoda_(angel_beats!),4\ntocky,1\nkabeu_mariko,1\norphen,4\nhair_over_crotch,0\ntamamo_no_mae_(jk)_(fate),4\nmachimura_komori,1\ntokitou_muichirou,4\naurora_sya_lis_kaymin,4\nbible_(object),0\nevan_yang,1\ngoodra,4\ndragon_ball_heroes,3\nsky_girls,3\nbokusatsu_tenshi_dokuro-chan,3\nnanami_lucia,4\ncircular_saw,0\nmeditation,0\nabe_takakazu,4\ngoriate,1\nyellow_moon,0\nkaruha,1\nyuuki_eishi,1\npiyoko_(uruha_rushia),4\nblack_santa_costume,0\nkousaku,1\nnarumiya_(narumiya),1\nkurumi_momoka,4\nevertale,3\ncomic_penguin_club,3\nhonda_naoki,1\nlisa_(ponyo),4\ngretel_(sinoalice),4\nfake_video,0\nmanaria_friends,3\nmac_star,1\ntakatsuki_akira,1\nholding_newspaper,0\nmeteion,4\nhot_chocolate,0\npaizuri_on_lap,0\nkomaru_(himouto!_umaru-chan),4\nmcgunngu,1\ntamagogayu1998,1\nangelina_(summer_flowers)_(arknights),4\nmaid_cafe,0\nyakitomato,1\ntakamine_noa,4\nshinkansen_henkei_robo_shinkalion,3\npink_babydoll,0\nnyum,1\nnanobana_kinako,4\nkilart,1\nnekomura_iroha,4\nwater_world,0\nskuld_(aa_megami-sama),4\ngarie_tuman,4\nlighting_cigarette,0\nankle_wings,0\ntsunbeji,1\npsychedelic,0\nsleep_bubble,0\ntassel_choker,0\ngreen_camisole,0\ngon-san,0\nantinomy_of_common_flowers,3\nstrike_witches:_aurora_no_majo,3\nhemokinesis,0\nokada_(hoooojicha),1\ngrey_sclera,0\nassisted_stretching,0\nblood_on_ground,0\ncure_milky,4\namano_hina_(tenki_no_ko),4\niori_sei,4\ngolf,0\nyurikawa,1\nchoukou_sennin_haruka,3\nhanada_hyou,1\nyuuki_keisuke,1\nhama_chon,1\nukraine_(hetalia),4\ng-tetsu,1\nmad_(hazukiken),1\nphilosopher's_stone,0\nfrioniel,4\ntajima_yoshikazu,1\nsasorigatame,1\naphrodisiac,0\npeaceful,0\nwinged_heart,0\ndouji,1\nhakamichi_shizune,4\npila-pela,1\nyukiusagi_(gaballscreen&blaze),1\nizumi_yukiru,1\nmiv4t,1\nkeita_naruzawa,1\nfumihiro,1\nemanon123,1\ndrainpipe,0\nkaburamaru,4\nitohana,1\npallas_(arknights),4\nheebee,1\nyuuki_(irodo_rhythm),1\ninstant_ramen,0\nsewing_machine,0\nress,1\nlace-trimmed_collar,0\nyagoo,4\naposine,1\nsouma_hiroomi,4\nnobeta,4\nbeaver_tail,0\ncucouroux_(granblue_fantasy),4\nkenken,1\nmole_on_collarbone,0\nsills,1\nplan_(planhaplalan),1\nchii_(tsumami_tsumamare),1\nazuki_yui,1\nmiroku_san-ju,1\nthe_king_of_fighters_xiii,3\noran_berry,0\nglowing_petals,0\ngiratina_(origin),4\npool_table,0\nstrawberry_blossoms,0\nshaving,0\npayphone,0\nsinensian,1\naoba_tsugumi,4\nyui_(sao-alo),4\nkuro_oolong,1\nmadogawa,1\nmasou_gakuen_hxh,3\nidolmaster_movie,3\nmanticore_(arknights),4\nfull-length_mirror,0\ninkerton-kun,1\nddangbi,1\nkamiyama_high_school_uniform_(sekai),0\nbrown_scrunchie,0\nnagato_yuuki,4\nyasuda_suzuhito,1\ntable_tennis_ball,0\nheroine_(dq4),4\nsibyl,1\nelis_(touhou),4\nmunchlax,4\nweasel,0\ngrandfather_and_granddaughter,0\nminami_haruka,4\nfukuoka_katsumi,1\nkan'u,4\nmikan_(5555),1\ncrimson_comics,1\nsin-go,1\nlight_switch,0\ntalkex,3\nhot_pants_(sbr),4\nlasto,1\nwanta_(futoshi),1\nayase_midori,1\nscimitar,0\nvalley,0\ntaisa_(cookie),4\nottosfoxhole,1\nalchemy,0\ngilse,1\nblue_stripes,0\nyellow_outline,0\nnonohachi,1\nyear_of_the_monkey,0\nre_(re_09),1\nsakura_no_tomoru_hi_e,1\nxenoblade_chronicles_x,3\nsoon_(c-u-soon),1\nopened_by_self,0\npoverty,0\nmizunashi_kenichi,1\nbird_boy,0\nmiyamori_school_uniform,0\nkyuri_tizu,1\nforeskin_insertion,0\nkiyohime_(swimsuit_lancer)_(third_ascension)_(fate),4\nace_attorney_investigations,3\nmickey_krog,4\nchou-10cm-hou-chan_(teruzuki's),4\nunsinkable_sam,4\ne_sky_rugo,1\nmanhole_cover,0\nhayyan,1\nkuzumomo,1\njuugonichi_(wheeliex2),1\ngesogeso,1\nkiryuu_makoto,1\nmata_hari_(fate),4\nkanzaki_kureha,1\noruyanke_(shirakami_fubuki),4\noverexposure,0\nkumagai_haito,1\nclover_(flower),0\ntarbo_(exxxpiation),1\ncarro_veloce_cv-33,0\nlazy_lazy_(idolmaster),0\ntoro_(konirio),1\nalternate_height,0\nmiyako_(princess_connect!),4\nflametail_(arknights),4\ndelia_ketchum,4\ncure_bloom,4\nrokko,1\nkinosaki,1\nhirokiku,1\nlala_(monster_musume),4\neyepatch_lift,0\ncosine,1\nyak_(kemono_friends),4\nmorita_kazuaki,1\nnazo_no_kanojo_x,3\nhanenbo,1\nsarong_lift,0\netopen,4\nmatterhorn_(arknights),4\nmikoto_akemi,1\nsleeping_beauty,3\nshoejob,0\nsilver_chariot,4\nemerada_(xenogears),4\nvs_seeker,0\napollo_justice,4\ngundou_mirei,4\nbodysuit_pull,0\nsawada_yuusuke,1\ngrey_rose,0\npink_ocean,1\ncure_yell,4\ndecantering,0\nlina_davis,4\nquilava,4\nkerok_(joniko1110),1\nmons_pubis,0\nammunition_box,0\nplaid_sailor_collar,0\nbald_eagle_(kemono_friends),4\npuni_(miku_plus),4\nimpossible_towel,0\njudd_(splatoon),4\nbud,0\nzanzi,1\nfurret,4\ngomano_rio,1\npanties_day,0\nshogi_piece,0\ntaki_minashika,1\nnesoberi,0\n<|>_<|>,0\nghostblade,3\nshimizu_kiyoko,4\nyorukun,1\nmurakami_hisashi,1\nholy_pumpkin,1\npachira,4\nstepping,0\ncountry_connection,0\nurec,1\naihara_yuzu,4\ng36c_(girls'_frontline),4\nmiyamasuzaka_girls'_academy_uniform,0\noutie_navel,0\ntetrodotoxin,1\nlara_croft,4\nnogami_aoi,4\nsakura_taisen_v,3\noono_tsutomu,1\nfocke_wulf,1\ntennis_net,0\nshu-z,1\nkasuga_sunao,1\nsaya_pr,1\nmomotsuki_gakuen_school_uniform,0\nkougi_hiroshi,1\nthe_terminator,3\nmononoke,3\nkannari,1\nv_legs,0\nmu_mashu,1\nkawajiri_kosaku,4\nsian,1\nindomitable_(ms._motivationless_maid)_(azur_lane),4\nwaka_(shark_waka),1\nkobeya,3\nplant_hair,0\nbirth,0\nrin2008,1\nmessy_sleeper,0\nbenio_(dontsugel),1\nhone_(honehone083),1\nbelt_removed,0\ncrab_on_head,0\ntanaka_kaori,1\nfrilled_vest,0\nice_crystal,0\ngundam_barbatos,4\nmaru-yu-san,4\nhanny_(uirusu_chan),1\nkisaragi_ryou_(sougetsu-tei),1\ngris_swimsuit,0\njunk_gaming_maiden,3\nmagatsuchi_shouta,4\ndodome-iro_mayonnaise,1\nroberta_(black_lagoon),4\ngirl_(deemo),4\nyuki_miku_(2011),4\nfeiqizi_(fkey),4\nrune_(pixiv_25170019),1\nfacing_down,0\nbiting_clothes,0\nbandana_waddle_dee,4\nkawakaze_(azur_lane),4\nbubble_pipe,0\neliskalti,1\nkim_yura_(goddess_mechanic),1\nfrisbee,0\nrpg-7,0\nseiken_densetsu_2,3\nsplush_wave,1\nchaos;head,3\nnakata_sae,4\ndecorations,0\nsugi,1\ntakamura_yui,4\ngame_model,5\nupotte!!,3\nchiyo_(rotsurechiriha),1\niwamoto_sora,1\nclumsy,0\nwafer,0\nidea,0\nneko_(yanshoujie),1\nnagato-chan,1\nclockwork,0\nmeruru_(oreimo),4\ngif_artifacts,5\ndisgaea_d2,3\nbreakfast,0\nhentai_key,1\nkubocha,1\nutahane,1\nj.moon,1\nmephist,1\nyamaori_(yamaorimon),1\nsquare_pupils,0\nwailord,4\nneuroi,4\nalien1452,1\nnishikata,4\nemperor_penguin,0\nx_arms,0\ndouble_bass,0\nironmouse,4\nkinntarou,1\nmercedes_(odin_sphere),4\nfishnet_armwear,0\nkokutou_nikke,1\ncurse_(023),1\nkemu_(guruguru_dan),1\nyuno_(suke_yuno),1\nmikoshiba_mikoto,4\nrougetsu_(eclipse),1\nfujiyama_ichiha,1\nwhistle_frog,1\nkaiboukan_no._4_(kancolle),4\nemia_renya,4\nmitsuki_meia,1\nnaruse_mio,4\ndigimon_xros_wars,3\nycco_(estrella),1\narcade_stick,0\nbanagher_links,4\nsoulcalibur_v,3\nfushigi_ebi,1\nuemukai_dai,1\n54hao,1\nelysion,3\ngreen_tongue,0\nthe_big_o,3\nbreast_strap,0\nren_kougyoku,4\nmarta_lualdi,4\naleriia_v,1\nh&k_g36,0\nsamuel_oak,4\nbreathing_on_hands,0\nogata_tei,1\ntraumatized,0\nlouise_halevy,4\njeanex,1\nzeronis,1\ntrouble_spirit!,3\nbeize_(garbage),1\nhorosho,0\nhagioshi,1\nsteins;gate_0,3\nscat,0\nmistletoe,0\nalice_(sinoalice),4\ntsuchii_(ramakifrau),1\nwilhelmina_braunschweig_ingenohl_friedeburg,4\nyuisis_(granblue_fantasy),4\nkanba_girls_high_school_uniform,0\nair_gear,3\npowered_buttercup,4\ngundula_rall,4\nfighter_(dq3),4\nnanaroba_hana,1\nspots,0\nkurenai_karasu,1\nroh_nam_kyung,1\ninuzuka_bouru,1\npersona_eyes,0\nwoodland_camouflage,0\nhori_shin,1\nrakka_(haibane),4\nkirby:_star_allies,3\noopartz_yang,1\nyour_diary,3\ngiuseppe_garibaldi_(kancolle),4\nfujieda_miyabi,1\nkonka,1\nnakaichi_(ridil),1\njirou_tachi,4\nkimura_kaere,4\nshinjitsu,1\nsuzumiya_haruhi_(cosplay),0\nsendou_aichi,4\nqueen's_blade_unlimited,3\nutu_(ldnsft),1\nwolf_link,4\nvertical-striped_headwear,0\nturtleneck_jacket,0\nyeklsa,1\nkodama_yuu,1\nhalphelt,1\noroborus,1\nnekokyun,1\njoker_(dc),4\nenkidu_(weapon)_(fate),0\nelizabeth_f._beurling,4\nsitting_on_box,0\nibuo_(ibukht1015),1\nharuken,1\nlight_stick,0\nkathryne_keyron,4\nnikaidou_(dorohedoro),4\niya_na_kao_sare_nagara_opantsu_misete_moraitai,3\ndanimaru,1\nheavy,0\ngirlfriend_(houkago_play),4\nsora_no_method,3\nholding_mallet,0\nremoving_bra,0\nsingle_mechanical_leg,0\ndaida,4\nootsuki_momiji,1\nao_no_roku-gou,3\ndouble_dealing_character,3\ndan_evan,1\nuo_denim,1\nni-class_destroyer,4\nhai_to_hickory,1\nkuon_(kwonchanji),1\npropaganda,0\ntouhou_cannonball,3\nshachiku_succubus_no_hanashi,3\nhainchu,1\ntonguejob,0\ncharmeleon,4\nfagi_(kakikaki),1\n25-ji_miku,4\nsbs,1\nno_more_heroes,3\nbubbles_(ppg),4\nsumapan,1\nitsuki_kousuke,1\nfuyuno_haruaki,1\nthreat,0\nshichirin,0\naano_(10bit),1\nvillyane,1\nryara,1\nfutami_yayoi,1\nsuna_(sunaipu),1\nfuecoco,4\ncrossbone_gundam,3\ndola_(nijisanji),4\nchixiao,1\nbible_black,3\nblue_blood,0\nkagamihara_sakura,4\nizumo_neru,1\nbyourou,1\nminato_fumi,1\nmejiro_ryan_(umamusume),4\ntsuzuya_(knt31),1\nwiping_forehead,0\nvinhnyu,1\noxygen_tank,0\nkhyle.,1\nmoe2019,0\ntoddler,0\navatar_(pso2),4\nnanami_kento,4\nchihiro_(khorosho),1\nsalt,0\nkakiman,1\ntokkihouse,1\nsuoiresnu,1\nberitabo,1\ndfer,1\nh,0\nsora_yori_mo_tooi_basho,3\nomar_dogan,1\nkirusu,1\nescha_malier,4\nsymphony_regalia,0\nswimsuit_theft,0\nreitou_mikan,1\nmoon_print,0\neggman_(pixiv28975023),1\nwing_print,0\njittsu,1\nbulging_eyes,0\nhino_minato_(spec.c),1\nholding_chainsaw,0\nturewindwalker,1\njam_(nandade),1\nsirfetch'd,4\ngobanme_no_mayoi_neko,1\nalexander_dinh,1\nsawaguchi_mai,4\ncammy_white_(cosplay),0\nsounding,0\nfairy_tone,4\nwancozow,1\ngypsy_(ragnarok_online),4\ns-a-murai,1\nkneepit_sex,0\nmine_(weapon),0\nyuura,1\ntorso,0\nbattoujutsu_stance,0\nruchi,1\nk_pring,1\nqblade,1\njohnny_(from_scratch),1\nflying_whale,0\ngoliath_doll,4\ndoseisan,4\nyuta_agc,1\nsoba,0\notonashi_saya,4\nashiwara_yuu,1\nkatou_(osoraku),1\nasutora-chan,4\nfrog_costume,0\nmacaron_hair_ornament,0\ndr_graevling,1\nadeptus_astartes,4\nnewtype_flash,0\nscarecrow,0\nraikou,4\nsoren_(fire_emblem),4\nvoodoo_doll,0\nhenreader,1\nkavka,1\ncat_pillow,0\ngoumudan,1\nholding_pot,0\nzebra_ears,0\ntsukishima_hajime,4\nfeather_fan,0\nfrench_horn,0\nmixed-sex_combat,0\nseungju_lee,1\nleonmandala,1\nbottle_to_cheek,0\nkuroba_dam,1\nshindouji_school_uniform,0\nmitsukoshi_(department_store),0\ntogedemaru,4\nsakana_(ryuusui-tei),1\ncpu_(hexivision),1\ntottoto_tomekichi,1\nattsun_(atsushi_jb),1\nkitsune_(kazenouta),1\negyptian_loli_(surio),4\nmisha_(ohds101),1\nyamcha_pose_(meme),0\nforte_(shingeki_no_bahamut),4\nishida_yamato,4\nnakaseko_kaori,4\nphantasmagoria_of_flower_view,3\npaizuri_over_clothes,0\npaper_hat,0\nfalcoon,1\nkuraki_suzuna,4\nbarrett_m82,0\nclub_hair_ornament,0\nharry_potter,4\nkonboi-eg,1\ncurse_maker_2,4\ndangmill,1\nkakone,1\nkisamu_(ksmz),1\nbell-bottoms,0\nkuria_(clear_trip_second),1\nholding_cape,0\nkendama,0\ntenma_tsukasa,4\nstrawberry_parfait,0\nkureha_(ironika),1\ngarimpeiro,1\ntsurusaki_yuu,1\nfiro_(tate_no_yuusha_no_nariagari),4\nvolcarona,4\nphantom_kingdom,3\nnagasawa_shin,1\nchemical_structure,0\nkanojo_x_kanojo_x_kanojo,3\nwrestle_angels_survivor_2,3\ngoldeen,4\nsoapland,0\nsoredemo_machi_wa_mawatteiru,3\nhiganbana_no_saku_yoru_ni,3\npriscilla_the_crossbreed,4\nelina,4\nkobashi_daku,1\nmisaki_juri,1\ng-room_honten,1\nmaehara_shinobu,4\nkibihimi,1\nshirono,1\nribbon-trimmed_shirt,0\npanty_tug,0\nhiiragi_tomoka,1\nsuper_famicom,0\ngazelle_ears,0\nkazo,1\nalita,4\nkouhai-chan_(douki-chan),4\nmultiple_vaginal,0\nmurasaki_iro,1\nreal_drive,3\nmash_kyrielight_(cosplay),0\nunited_states_medal_of_honor,0\nsearching,0\nrisumi_(taka-fallcherryblossom),1\nprint_hairband,0\nshiro_seijo_to_kuro_bokushi,3\nmirai_(sugar),1\nbatacchi_(mashimashi_butter),1\npoppi_qtpi_(xenoblade),4\nhanazome_dotera,1\nboke-chan,1\nvoid_princess_(elsword),4\napologizing,0\nsingle_garter,0\npapa_no_iu_koto_wo_kikinasai!,3\nars_goetia,0\negami,1\nnanael,4\nvolkor,1\nmizutamako,1\nmelanbread,1\nmaki_keigo,1\nelaine_(pokemon),4\nkurogane_gin,1\namelia_wil_tesla_seyruun,4\nnonono_(nononotea),1\nsiun,1\nnagana_sayui,1\nbodskih,1\nnonohara_akane,4\nbelly-to-belly,0\ngagraphic,3\nwolf_spirit_(touhou),4\nthumbprint_cookie,0\ntonchinkan,1\ndeath_stranding,3\nyuuhi_alpha,1\nkorrina_(pokemon),4\ntoaru_kagaku_no_mental_out,3\nlicking_weapon,0\ncorticarte_apa_lagranges,4\nmokeo,1\nkisaragi_miyu,1\nkereno,1\n7-eleven,0\nsatsuki_rin,4\nfukiyose_seiri,4\njet_set_radio,3\nrealmbw,1\nbook_on_head,0\nunel,1\nshacho_(ko_no_ha),1\ntakamura_wamu,1\nbakutendou,1\nhornet_(azur_lane),4\near_chain,0\nsakakura_juuzou,4\nkyjsogom,1\nspicy_bardo,1\nkuro_mushi,1\nmike156,1\nunison_(nanoha),0\nkurozawa_yui,1\nemil_(nier),4\nhasegawa_chisame,4\nmasaki_(ekakiningen),1\nkidnapping,0\nmetal_belt,0\nup_sleeve,0\nkurisu_sai,1\nkinokomushi,1\ntokuno_yuika,1\nhayase_ruriko_(yua),4\nwhite_lion_(kemono_friends),4\nxxzero,1\ntsugumi_seishirou,4\nrelaxed,0\nanila_(summer)_(granblue_fantasy),4\nfirefighter_jacket,0\nayya_sap,1\nyukikaze_kai_ni_(kancolle),4\ncross-species_cosplay,0\nsage_(granblue_fantasy),4\nbetchan,1\naibumi,1\nmosaic_background,0\nfujisaki_yuu,1\nrokka_no_yuusha,3\nmuuba,1\nbeniko_(ymdbnk),1\ntifa_lockhart_(cosplay),0\nblack_hole,0\near_twitch,0\nnorza,1\nyuzuki_kei,1\nkannagi_kaname,1\nuzumaki_kushina,4\nkonoe_a._mercury,4\nwonder_woman,4\ntogame,4\nshaped_lollipop,0\nwhite_stripes,0\nu2_(5798239),1\narito_arayuru,1\nshukinuko,1\nhitomi_sensei_no_hokenshitsu,3\nyankee,0\nhisanuma_sayu,4\npapi_(papiron100),1\nsunbathing,0\nmuffet,4\nartoria_caster_(first_ascension)_(fate),4\nbard,0\nnative_american_headdress,0\nbackbeard,4\nthroat_bulge,0\ngrandmother_and_granddaughter,0\nyurikuta_tsukumi,1\nhisame_genta,1\nkikuchi_tsutomu,1\nmoriyama_shiemi,4\nstinger,0\nbushidou_(sekaiju),4\niris_anemone,1\ntoph_bei_fong,4\nartemis_(sailor_moon),4\nshidou_mariya,4\nmegurine_luka_(toeto),4\nyuugo_(atmosphere),1\ntsujimoto_natsumi,4\nseychelles_(hetalia),4\nshiny_chariot,4\nyasaka_minato,1\nhiroki_ree,1\nsleepover,0\nrelm_arrowny,4\nfajyobore,1\nuchiu_kazuma,1\nrapunzel_(disney),4\nfleet,0\nrob_ishi,1\ndengeki_bunko,3\npages,0\nqkat_(arikawa-dou),1\ngedou_(ge_ge_gedou),1\nchinchongcha,1\nkomame_(st_beans),1\nfeather_duster,0\nvanillite,4\ndratini,4\nspeculum,0\nsayika,1\nbaby_carry,0\nichimi_renge,1\nkukumomo,1\nyuccoshi,1\nblue_reflection,3\ncrown_of_thorns,0\nbelial_(granblue_fantasy),4\ntsab_naval_military_uniform,0\non_pillow,0\nmonaim,1\np_(tidoriashi),1\nnatsu_(blue_archive),4\ngaiters,0\nholding_whistle,0\nmelopun,1\nprint_male_underwear,0\nshirataki_kaiseki,1\nsitting_in_window,0\nreitaisai,3\nmashima_saki_(mashimasa),1\ncashier,0\nhead_on_arm,0\nfujikawa_daichi,1\nheart_hair,0\nnagatsukiin,1\nirori,1\nexif_rotation,5\nleonmitchelli_galette_des_rois,4\ngag_around_neck,0\nholding_quill,0\nbikini_briefs,0\nkobone,1\nkamehameha,0\nfemale_doctor_(arknights),4\nxu_fu_(fate),4\ntantan_men_(dragon),1\nmizuno_kurage,1\nfish_skeleton,0\name_(uten_cancel),1\nmapar,1\ntsumura_tokiko,4\nwok,0\nzeco,1\npanda_girl,0\nseiken_no_blacksmith,3\nmagatsumagic,1\ncaress,0\nklaudia_valentz,4\nsongjikyo,1\nbondage_mittens,0\nchocho_(homelessfox),1\nomake,0\n@@@,1\nmidori_niku,1\nyasakani_an,1\nmaritan_(pixelmaritan),1\nyn_red,1\nzero_(miraichizu),1\nbucchake_(asami),1\nan2a,1\nplanetarian,3\nzukky,1\njumpluff,4\nhoto_mocha,4\nbattlefield_(series),3\nuterine_prolapse,0\nakarui_kioku_soushitsu,3\nyururi_nano,1\nskull_belt,0\nneps-l,1\nkotatsu_(kotatsu3),1\ngambol_shroud,0\nsilver_bikini,0\nsevera_(fire_emblem),4\nmiraculous_ladybug,3\nwestxost_(68monkey),1\narcane_vi,4\nxichii,1\nyomiyama_north_junior_high_school_uniform,0\ndoupo_cangqiong,3\nhamadaichi,1\n463_jun,1\nhastur_(nyaruko-san),4\nmonsterverse,3\nearasensha,1\nsevered_hand,0\nayase_honoka,4\njakko,1\nbonfire,0\ndigimon_frontier,3\nkagawa_yuusaku,1\nmarius_von_hagen_(tears_of_themis),4\nshirt_cut_(meme),0\ndrawn_wings,0\nkazana_(sakuto),1\nazuki_(azuki-taste),1\nminarai_shachou,1\nbone_print,0\nkiri_(2htkz),1\nboruto:_naruto_the_movie,3\nbrown_feathers,0\nfu_hua_(valkyrie_accipiter),4\nbutterfly_on_head,0\nvardan,1\npanty_mask,0\nhibiscus_(arknights),4\nkotatsu_kaya,1\nknightmare_frame,0\narm_armor,0\ntraffic_barrier,0\nmamimi_(mamamimi),1\ntiger_hood,0\nchoco_(chocolate_shop),1\narino_hiroshi,1\nkiya_shii,1\nmisonou_hirokichi,1\nstone_free,4\nsanbou,0\nyakumo_ran_(fox),4\nyoushuu,1\nhaganemaru_kennosuke,1\nmelt_(vocaloid),3\ncode_geass:_boukoku_no_akito,3\ntakumi_(scya),1\njampen,1\narisugawa_himari,4\nkso,1\nmusujime_awaki,4\nderauea,1\njudy_hopps,4\nhair_over_mouth,0\nikaasi,1\nyoko_littner_(cosplay),0\nimplied_handjob,0\ncecilia_lynne_adelhyde,4\nswkl:d,1\nkojima_(blue_stardust),1\nharuta_(806060),1\nlilka_eleniak,4\ncathedral,0\nbad_neck,0\ncum_on_food,0\njenevan,1\ntakamura_kazuhiro,1\ncarro_pino,4\nmienshao,4\nfuse_tail,0\ncracked_screen,0\nnaruse_chisato,1\nmakinaru,1\nmojo,0\ntorn_boots,0\nholding_earphones,0\nhohehohe,1\nscirocco_(kancolle),4\notogibara_era,4\nfuck-me_shirt,0\nmilka_(milk4ppl),1\nmofurun_(mahou_girls_precure!),4\ncum_in_navel,0\nzone-archive,3\nzone-tan,4\nsaegusa_wakaba,4\nhephaestus_(housamo),4\nuesugi_u._kyouko,4\ntosen_jordan_(umamusume),4\naonaga_heri,1\nspiked_pauldrons,0\nasagi_yuna,1\nusagi_koushaku,1\nhat_around_neck,0\neve_santaclaus,4\nkel_(omori),4\nspiked_ball_and_chain,0\nasteroid,0\nmarching_band,0\nfukazaki,1\nhinasaki_you,1\nshuriken_hair_ornament,0\nkusada_souta,1\nlilim_(monster_girl_encyclopedia),4\nferdinand_von_aegir,4\nhoward_alt-eisen,4\ntherion_(octopath_traveler),4\nmulticolored_sky,0\nkuuro_kuro,1\nstar_wand,0\nnearl_the_radiant_knight_(arknights),4\ntransparent_raincoat,0\nwaai_fu_(arknights),4\ninoue_takuya,1\nrolling_bubbles,4\nborder_break,3\nfukudahda,1\nnyan_(reinyan_007),1\nstarman_(mario),4\nzpolice,1\ntales_of_hearts,3\npenguin_2-gou,4\ncaracol,1\nkatou_keiko,4\nbunny_panties,0\nmaster_2_(housamo),4\nshibusun,1\nyu-ri,1\nroarke_(lavenderincubus),1\nthrotem,1\nstereo,0\npinakes,1\nghetsis_(pokemon),4\nippongui,1\nbillie_(meng_gong_fang),1\ndaiishori,1\nshin_getter_robo,3\nst_(youx1119),1\npurrloin,4\nmagai_akashi,1\nosuman_toruko,1\nrein_(futagohime),4\nookiku_furikabutte,3\nfur_capelet,0\nadmiral_(warship_girls_r),4\nmurai_shinobu,1\nitou_nobue,4\naegis_(nerocc),1\nkagura_hikari,4\nwhite_veil,0\ntwintelle_(arms),4\nminion_1_(zannen_onna-kanbu_black_general-san),4\nbraveman,4\nsho_(runatic_moon),1\nkappa_mob_(touhou),4\nkamen_rider_revi,4\nmary_read_(fate),4\nkujo_holy,4\nvins-mousseux,1\nbattle_bunny_riven,4\nmikoto_(oi_plus),1\narrow_in_body,0\numihotaru_harumare,1\nphamoz,1\ntsukimi,0\ncross_ange,3\nblazblue_remix_heart,3\npetra_ral,4\ntaro_(taro),1\nmiyasaka_miyabi,1\npix_(league_of_legends),4\nfire_emblem:_shadow_dragon_and_the_blade_of_light,3\nvyragami,1\narm_scarf,0\nhigh-visibility_vest,0\nyoo_tenchi,1\nol-chan_(oouso),4\nunderbarrel_grenade_launcher,0\ncanal_vorfeed,4\nkarbo,1\nstring_pull,0\nnanaya_shiki,4\ngondola,0\ntenkuu_nozora,1\nfender_stratocaster,0\npasutel,1\nakinashi_yuu,1\nyamasuta,1\nmikimoto_haruhiko,1\nstrong,0\nar_(lover_boy),1\nnanakaku,1\ndeluxe<<<,1\ntenjin_hidetaka,1\nneonbeat,1\nmuguet,1\njuna,1\npaint_on_body,0\ninflatable_armbands,0\nstrike_witches_1991,3\nsakusyo,1\nhiki_niito,1\nmunetani_mashiro,4\ngalibo,1\nnozomi_(princess_connect!),4\nblack_surge_night,3\nfiora_(league_of_legends),4\nskai_kun,1\nmount_lady,4\nkakogawa_tarou,1\njunwool,1\nnoto_(soranoto),1\nrenne_(eiyuu_densetsu),4\nsakuragi_hinako,4\nhayate_immelmann,4\ntesticle_peek,0\nno_entry_sign,0\nrokudou_mukuro,4\nsaw_cleaver,0\nrum_raisin_(chihiromakita19),1\nmapo_tofu,0\njaku_sono,1\nlow_braid,0\nyuriwhale,1\nne_an_ito,1\nenergy_drain,0\nharusawa,1\ntwo-tone_panties,0\nkyogoku-uru,1\nsuzushina_yuriko,4\nizumi_akane,1\nmidori_(misuriru8),1\nshinano_toushirou,4\nhelena_blavatsky_(third_ascension)_(fate),4\ncu_chulainn_alter_(third_ascension)_(fate),4\nhou_(ppo),1\ncurss,1\nelhaym_van_houten,4\njunpaku_karen,1\nruku_(alicecreation),1\nkamen_rider_zi-o_(series),3\nikari_(aor3507),1\nhwansang,1\nwatabe_koharu,4\neiden_(nu_carnival),4\nhonolulu_(summer_accident?!)_(azur_lane),4\nr-binon,1\ngero_zoukin,1\nvertical-striped_swimsuit,0\nview_between_legs,0\nterence_t._d'arby,4\nhecatia_lapislazuli_(cosplay),0\npurple_nipples,0\nkrokobyaka,1\nkoito_otonoshin,4\namano_keita,4\nyoukai_watch_2,3\nmagic_trick,0\nmonoe,4\nhujikok,1\ngucchiann,1\nmikhail_buran,4\nsui_(suizilla),1\nwild_and_horned_hermit,3\nkannagi_itsuki,4\nteruru,1\ngundam_exia,4\nchireiden,0\nshikibe_ayaka,4\nsesena_yau,1\nmegpoid_(vocaloid3),4\nheero_yuy,4\nanabel_(pokemon),4\notonashi_meru,4\nopen_towel,0\nyuki_miku_(2013),4\nlas91214,1\nkayon_(touzoku),1\njade_curtiss,4\nkurusu_kimihito,4\ngurageida,1\nmightyena,4\nsophie_twilight,4\nwindow_(computing),0\nyan_pai,1\narakawa_tarou,1\ncomputer_tower,0\nindirect_kiss,0\nfuuna,1\nholoforce,0\nscorpion,0\nidoly_pride,3\npokegear,0\nbox_(hotpppink),1\npoliwag,4\ntrombone,0\nzako_(arvinry),1\nchisumi,1\nair_jordan,0\n11eyes,3\ngrabbing_own_thigh,0\nnightcat,1\nswiss_flag,0\nkiyoh_bachika,4\ngorou_(darling_in_the_franxx),4\nsaikai_academy_uniform,0\nakira_(been0328),1\ncolored_text,0\nshigureru,1\ntamatsukuri_misumaru,4\nalternate_facial_hair,0\npiro_(orip),1\nboku_to_koi_suru_ponkotsu_akuma.,3\nrizzl,1\nnakatokung,1\nyuki_miku_(2021),4\nmatokechi,1\nsunrise_stance,0\ngodees,1\ntsukamoto_yakumo,4\nsengoku_musou_2,3\nbell_cranel,4\neasy_(aqk7bdqt),1\nkyouka_(halloween)_(princess_connect!),4\nstrip_game,0\ncumdrip_onto_panties,0\nara_ara,0\nholding_paddle,0\nagrius_metamorphosis,0\nrevenant_(apex_legends),4\nangel_devil_(chainsaw_man),4\nhinata_natsumi,4\ndoraeshi,1\nmaku_ro,1\nkuzuki_souichirou,4\narcee,4\njohnny_funamushi,1\nflandre_scarlet_(cosplay),0\nmoon_stick,0\nmoto_murabito,1\nimageboard_colors,0\nsakura_kotetsu,1\npostcard,0\njakelian,1\n218,1\ngrandia_lee,1\ntenjou_tenge,3\nno_choker,0\nsniper,0\nunder_skirt,0\naragami_oga,4\nholding_crown,0\nwild_arms_4,3\nmiu_(miuuu_721),1\nsnapchat,0\nsam_yang,1\nglaze_lily,0\nvittorio_veneto_(azur_lane),4\nyamcha,4\nbarbara_(dq6),4\nkikkoumon,0\nripu_(lipi),1\nreoen,1\nmiwa_yoshikazu,1\nwraith's_kunai,0\nyakitate!!_japan,3\nwet_spot,0\nparu_rari,1\nfront-hook_bra,0\nstupa13a,1\nalm_(fire_emblem),4\nromancing_saga,3\ncanards,0\ngijang,1\npurple_suit,0\nmeguru_(megurunn),1\nrum_(girls_und_panzer),4\nne-on,1\ntio_plato,4\nraira_academy_uniform,0\nakali_(legacy),4\nphoton_ray_(fate),0\nscar_on_back,0\nacchii_(akina),1\nemerane,1\nputting_on_gloves,0\ntokimeki_memorial_1,3\nsupergirl,4\nteam_rocket_grunt,4\nlens_flare_abuse,0\nstmast,1\npokemon_on_back,0\nrita_rossweisse_(umbral_rose),4\narikanrobo,1\nsharumon,1\naltina_orion,4\nhasekura_rei,4\nmattari_illust,1\npiercing_through_clothes,0\nminoa_(lastswallow),1\nalchemaniac,1\nlayered_shirt,0\nbutterfly_earrings,0\nflugel_(kaleido_scope-710),1\nbrodie_helmet,0\nfuepo,1\nclothed_robot,0\nfumiko_(mesushi),1\njune,0\nq-bee,4\ntien_(granblue_fantasy),4\nsaber_marionette_j,3\ntsukuyomi_komoe,4\nkanbe_kotori,4\nnana_(ice_climber),4\ntakitsubo_rikou,4\naoi_tobira,1\nasou_shin,1\npatricia_martin,4\npoin,1\nvofan,1\nmmm,1\nmabuchoco_m,1\nretoree,4\nolive_laurentia,4\nkonno_makoto,4\nhoshino_yumemi,4\n.sin,1\nsword_of_dios,0\nneopure,1\nxephonia,1\npaper_child,0\nanzumame,1\nkizuki_aruchu,1\ngipsy_danger,4\nmiyoshi_sana,4\nakahi242,1\naoin,1\ndoppel_(bonnypir),1\nelu_(nijisanji),4\npyramid_(geometry),0\nchintora0201,1\nsumaki_shungo,1\nheight_conscious,0\ntakomeshi,1\nsneer,0\ngiuniu,1\nkageyama_shien,4\nstasis_tank,0\nvegetto,4\nblanka,4\ntote_bag,0\nsaratoga_mk_ii_(kancolle),4\nkawashima_sapphire,4\nsmother,0\nsuper_robot_wars_30,3\nhazuki_haru,1\nschreibe_shura,1\norimura_ichika,4\nbuta_tamako,1\nsuzuki_arisa,4\nteu_(navy),1\nstuffed_tiger,0\ncypress,1\neuryale_(third_ascension)_(fate),4\nphoenix_wright:_ace_attorney_-_dual_destinies,3\nayanami_kai_ni_(kancolle),4\nveteran_mercenary_echidna,4\nzangyaku-san,4\nchou-10cm-hou-chan_(hatsuzuki's),4\njyushimatsu's_girlfriend,4\nbeta_(inazuma_eleven),4\ntilm,1\nsonken,4\naxew,4\nganbare_goemon,3\nfukumaaya,1\nhakuishi_aoi,1\nlaco_soregashi,1\nohitsu,0\ngoroo_(eneosu),1\nryuinu,1\nshigekikkusu,1\nbeatrix_(ff9),4\nanimal_in_clothes,0\nke-su,1\nchristina_(princess_connect!),4\nbrat_(brabrabrat00),1\nhijab,0\nstomach_punch,0\ncape_hold,0\nkitarou,4\nmirrored_text,0\nninomotonino,1\nnagareboshi,1\nchrono_harlaown,4\nyasojima_nejiro,1\ndowman_sayman,1\nultima_(fft),4\nroulette_table,0\nrokuichi,1\nnose_art,0\nmonster_farm,3\nserizawa_mutsuki,1\nhattori_shizuka,4\nakane-iro_ni_somaru_saka,3\nnigiri_(ngr24),1\nhands_on_own_chin,0\ngengetsu_chihiro,1\nnakamura_sumikage,1\nsynthesizer,0\ndisintegration,0\ncolored_pencil,0\nnamco,3\nhiroshimaben,0\ntamiya_akito,1\nsetmen,1\nrepair_bucket,0\ngardening,0\nawa_yume,1\npumpkin_costume,0\nkekocha,1\nwooden_pencil,0\nsnoring,0\notomedius,3\nhand_on_weapon,0\ngreen_butterfly,0\nlappland_(refined_horrormare)_(arknights),4\nariake_(kancolle),4\nangol_mois,4\nphoto_album,0\nshigaraki_(strobe_blue),1\nfutakoi,3\nparasite_eve,3\neiji_(eiji),1\nlemontea,1\ndark_pit,4\nbarashiya,1\nnana_(raiupika),1\nzhibuji_loom,1\nsawatari_(sado),1\nfood_wrapper,0\nyukizome_chisa,4\nsv-98_(girls'_frontline),4\nfood-themed_ornament,0\nimpostor_(among_us),4\nred_goggles,0\nsakura_megumi,4\nnewhalf_with_male,0\nmkiiiiii,1\nyukiguni_yuu,1\nmijinko_(rioriorio),1\nlila_decyrus,4\ntoku_(ke7416613),1\naihara_mei,4\nswanna,4\nheart_belt,0\npersona_5:_dancing_star_night,3\nfeet_only,0\nstairwell,0\nviva!!,1\nnyagakiya,1\ntales_of_innocence,3\ntetsuwan_atom,3\nsorano_aoi,4\nhyocorou,1\ntsunashima_shirou,1\nelement_bending,0\nhera_(p&d),4\ntaikogane_sadamune,4\npumpkinsinclair,1\nshigehiro_(hiroi_heya),1\nrensyu,1\nkarei,1\ncure_gelato,4\nsophocles_(pokemon),4\ninumaki_toge,4\nfujinoki_(horonabe-ken),1\nterimayo,1\nsbel02,1\nformaggio,4\njacket_tug,0\njakob_(fire_emblem),4\ngaia_(ff14),4\nairport,0\npkp_(girls'_frontline),4\nenelis,1\nnyoibo,0\nkogane_(staygold),1\nslow_loop,3\nsora_(efr),1\ntantaka,1\ncoat_of_arms,0\nsezok,1\nchastity_cage,0\nuut,1\nedward_wong_hau_pepelu_tivrusky_iv,4\nmutton_chops,0\nyuuhi_homare,1\nblaccura,1\nwaist_cutout,0\ntranslucent_skin,0\nrear-view_mirror,0\nwaist_poke_ball,0\nstella_vermillion,4\ntokiti,1\nsunken_cheeks,0\nlee-enfield,0\nsig_sauer_p226,0\njimmy_madomagi,1\neternal_return:_black_survival,3\nhoshizaki_reita,1\nholding_baby,0\nhyakkimaru_(dororo),4\n1041_(toshikazu),1\nzizi_(zz22),1\npekopokox,1\nwhite_nightgown,0\nslam_dunk_(series),3\nhelianthus_(girls'_frontline),4\nrapidash,4\nerwin_smith,4\nmiyama_amehiko,1\nashiroku_(miracle_hinacle),1\nreimei_(r758120518),1\nkamen_rider_drive_(series),3\nhayakawa_pao,1\nmirage_farina_jenius,4\nkinshi_no_ane,4\ntobimura,1\nlunatic_(tiger_&_bunny),4\nponytail_holder,0\nbrick_road,0\nmale_underwear_aside,0\numarutsufuri,1\nmusashi_(azur_lane),4\ntsurugi_minko,4\npinstripe_pants,0\nzaregoto_series,3\ntsukasa_jun,1\nkarasuma_chitose,4\nmikan_box,0\narakawa_under_the_bridge,3\nkikuchi_seiji,1\nyukimitsuki,1\nturn_a_gundam_(mobile_suit),4\ndress_in_mouth,0\nlevy_mcgarden,4\nu_jie,1\nsakurai_yumeko,4\nchinchou,4\nfoxvulpine,1\nwehrmacht,0\nclarinet,0\nhoop_skirt,0\ninfernape,4\npoligon_(046),1\nupanishi_mariko,1\npunch-out!!,3\ndebidebi_debiru,4\nnipple_rub,0\nkunio-kun_series,3\namahara_subaru,1\nkusuriuri_(mononoke),4\npansy,0\nromulus_(fate),4\nmku,1\nmuu_rian,1\nsett,0\nomori_(omori),4\noiled,0\ndo_(4-rt),1\nsuspenders_hanging,0\nguy_cecil,4\nakebi-chan_no_serafuku,3\nnamakuby,1\ncoconut_(nekopara),4\nudin_(kureiji_ollie),4\nbooota,1\npaint_stains,0\nsabachiyo_land,1\nchariot_(black_rock_shooter),4\ncastlevania:_rondo_of_blood,3\nkamijo_haruna,4\nharuna_(aoki_hagane_no_arpeggio),4\nnarumiya_yume,4\nnanika_(azumi_inori),4\nmiku_(darling_in_the_franxx),4\ninamitsu_shinji,1\npanther_chameleon_(kemono_friends),4\nyagi_toshinori,4\nmito_ikumi,4\nkageyama_tobio,4\npsychic_hearts,3\nzerosu_(take_out),1\ncharles_schulz_(style),0\nshikuta_maru,1\nmorte_(arknights),4\ncure_ace,4\ntoyosaki_shu,1\nisaki_kaname,4\narms_around_back,0\ntokiwa_(mukoku),1\nlisianthus,4\nkai_(akamekogeme),1\nkyururu_(kemono_friends),4\nholding_goggles,0\nsheepd,1\nyaguo,1\ncyrus_(pokemon),4\nholding_necktie,0\ngrate,0\ntwo-tone_shorts,0\ntramp_stamp,0\ni_heart...,0\nnavel_focus,0\nricochet-gou,1\ndino_(dinoartforame),1\ngranado_espada,3\nkaze-hime,1\nstew,0\namerican_football,0\nshunsei_(muratou),1\ntangela,4\nledjoker07,1\nkawano_takuji,1\njacy,1\nokuto,1\ncassette_player,0\nusami_taiga,4\nhirose_sumire,4\nanthuria,4\nanz32,1\nfay_(fay_axl),1\noppai_challenge,0\nmoose_(moosemitchell2),1\ncapera,1\ncibo,4\nkou1,1\nmoltres,4\n1up,0\npuge,1\nhong_meiling_(panda),4\nsilveroid,1\nwagon,0\nhole_in_wall,0\nfinal_fantasy_iv_the_after,3\nall_the_way_through,0\nkagura_tohru,1\ndry_humping,0\nai_shite!_homun,3\nnidoking,4\naraizumi_rui,1\nslytherin,0\nspines,0\ntaisa_(lovemokunae),1\narceonn,1\natra_mixta,4\nsuper-shorty_(girls'_frontline),4\nbrown_ascot,0\nnanin,1\nyayaka,4\norange_lips,0\nsekiguchi_miiru,1\ncassandra_(seishun_katsu_sando),1\nno_hairband,0\nkisaragi_kiriha,1\nkiyohime_(third_ascension)_(fate),4\nakimaki_yuu,1\nkoiso_usu,1\nlakshmibai_(fate),4\nfairy_fencer_f,3\nkangetsu_(fhalei),1\nkatsudansou,1\ncerberus_(shingeki_no_bahamut),4\nariga_tou,1\nkiryu_tsukasa_(idolmaster),4\nshijima_(sjmr02),1\nkinhasu,1\ngreen_male_underwear,0\nviewer_on_leash,0\nnessie_(respawn),4\nbond_(spy_x_family),4\n3_small_spiders,1\nelbe_(azur_lane),4\nholding_watering_can,0\nkaisenpurin,1\ngundam_f91,3\nkouki_kuu,1\nwitch_(puyopuyo),4\ngazebo,0\nhercule_barton,4\npredator_(movie),3\npenis_milking,0\nhimeji_mizuki,4\nseto_sun,4\nleft_4_dead,3\nnakajou,1\noohara_kyuutarou,1\nkonori_mii,4\nclock_hands,0\nfranz_(217franz),1\nramanda,1\nlee_hyeseung,1\nkindergarten_teacher,0\nnarushima_kanna,1\nopen_pajamas,0\nrain_mikamura,4\nspoken_skull,0\nsoukuu_kizuna,1\ncain_highwind,4\ngigamessy,1\nloran_cehack,4\nlady_avalon_(second_ascension)_(fate),4\nsilver_pubic_hair,0\nsidon,4\nstalker_(ragnarok_online),4\ns_gentian,1\npinecone_(arknights),4\nholding_ears,0\npanda_hair_ornament,0\nultraman,4\npuracotte,1\n203wolves,1\nthumb_biting,0\nopen_arms,0\nsuzaku_(zaku6584),1\ndema_hmw,1\nchoujuu_gigaku,0\nbulge_press,0\nyuezheng_ling,4\nhaqua_d'rot_herminium,4\nkero_sweet,1\nbafarin,1\ntirotata,1\nribbed_swimsuit,0\nmelaton,1\nlicking_hand,0\neyewear_in_mouth,0\nmimura_zaja,1\nholding_whisk,0\nnarwhal_(kemono_friends),4\ntsukino_(nakajimaseiki),1\nfeather_necklace,0\nblazblue_variable_heart,3\nasakusa_midori,4\nrash_guard,0\ntomato_rice,1\nmendou_saya,1\n3;,0\nsanoba_witch,3\nreiga_(act000),1\nkenshiro,4\nflags_of_all_nations,0\nmeme_(me!me!me!),4\nseele_vollerei_(swallowtail_phantasm),4\non_wall,0\nmole_above_eye,0\nsereneandsilent,1\nboater_hat,0\nlibiadan,1\nrecycling_symbol,0\nshinzui_(fantasysky7),1\nhidori_(hibi_toridori),1\nwhite_blindfold,0\notabek_altin,4\nursula_(23),4\ntomioka_jirou,1\nkaitou_tenshi_twin_angel,3\nizayoi_seishin,1\ncalamity_queller_(genshin_impact),0\nhikanyan,1\nsun_tattoo,0\nlemonade,0\nmodeling,0\nlong_nipples,0\nraichiyo33,1\nblizzard,0\nblushyspicy,1\nmozu_(peth),1\nwaraningyou,0\nkousetsu,1\namagasa_yun,1\nsuou,1\nfly_(marguerite),1\nsola7764,1\nparvati_(fate),4\nendou_(zettai_bluenoid),1\nindesign,1\nlavolpe_(yagisaka_seto),4\nhamsterfragment,1\nazuse_neko,1\nyukoku_roberu,4\nbon_(rump),1\nplaystation_5,0\nmamiyama,1\nwooden_ceiling,0\nmilky_rose,4\njuly,0\nhoshimi_junna,4\nventus_(kingdom_hearts),4\nyoshiheihe,1\nwu_zetian_(first_ascension)_(fate),4\nrariemonn,1\ntail_insertion,0\nkrystal,4\nichi-go,1\nmieruko-chan,3\nmirai_(kemono_friends),4\nthe_shining,3\nousaka_nozomi,1\ntomiokasena,1\nryou_sakazaki,4\nmoeki_yuuta,1\nyulong_(journey_to_the_west),4\nalphys,4\nakira_(meltyhip),1\nrhongomyniad_(fate),0\njason_(fate),4\nlanxi_zhen,3\njenet_behrn,4\nshimakaze_(soundz_of_bell),1\nborderlands_(series),3\nx&x&x,1\nshiraki_meiko,4\nsanta_(sunflower),1\nmulticolored_shorts,0\nraynare,4\ntsudero,1\nbaisi_shaonian,1\npandain,1\ngalaxia_(sword),0\nonibi_(foxhound4185),1\ndate_pun,0\nsumeragi_hamao,1\ncolossal_titan,4\nbulga,1\nmulti_(to_heart),4\nbirdy_cephon_altirra,4\ntnolize,1\nseven_sisters_high_school_uniform,0\nmiraa_(chikurin),1\nkevbot,1\ngodzilla_(shin),4\nyukimasa_(nkk145),1\nfate_testarossa_(true_sonic_form),4\nslingshot,0\ngray_fullbuster,4\nscuba,0\nhamazura_shiage,4\nchimecho,4\nakikaze_tsumuji,1\nphoebe_(pokemon),4\nousaka_nanami,4\ncervus,1\nmikurou_(nayuta),1\nkongiku,4\nshigetake_(buroira),1\nmiyamura_miyako,4\nshiramori_yuse,1\nushigome_rimi,4\nragnell,0\nshuumatsu_no_izetta,3\nkishi_nisen,1\nraft,0\ngrim_reaper,4\ngreen_suit,0\nitoshiki_rin,4\nmedea_(lily)_(fate),4\ntoridamono,1\nlainart,1\nhonda_takaharu,1\naryuma772,1\ncoco_(disney),3\nminazuki_haruka,1\nsako_(35s_00),1\ngreco_roman_(spiral_brain),1\ngagaga_girl,4\nitou_kaiji,4\nduraludon,4\nijima_yuu,1\nr3dfive,1\nmanyako_(mohumohu),1\nbajima_shouhei,1\narrow_in_head,0\njurrig,1\n00047,1\nikune_juugo,1\nchunpai,1\nrororo,1\noogure_ito,1\nibara_riato,1\nokiyumi_kase,1\nmaria_balthasar,4\ngantz_suit,0\nluna-p,4\nofuda_on_pussy,0\nkamen_rider_hibiki_(series),3\neiffel_tower,0\ndx,0\ndogoo,4\ncrimson_avenger_(elsword),4\ntar-21_(girls'_frontline),4\ndyed_ahoge,0\nteam_plasma,0\nhareno_chiame,1\nirie_miyuki,4\nasazuki_norito,1\n2018_fifa_world_cup,3\nmochirong,1\ndon_(rg06268),1\nsasachin_(k+w),1\ngaren_(league_of_legends),4\nshoukaki_(earthean),1\ncaren_hortensia_(amor_caren)_(second_ascension),4\nmomdroid_(mechanical_buddy_universe),4\nnamine_ritsu,4\nbaanin,1\nkamui_(kill_la_kill),0\nholding_drinking_straw,0\nukulele,0\nkimijima_sara,4\nyaezawa_natori,4\nevelysse_(star_ocean),4\nmei_miya,1\nsports_utility_vehicle,0\nshiki_(catbox230123),1\ntsumugi_(princess_connect!),4\nhibiki_dan,4\nwax_seal,0\nmyouga_(plant),0\nkubiwa_(kutan),4\npen_in_pocket,0\nmirai_(senran_kagura),4\nmorry,1\nvf-25,4\nnohara_shinnosuke,4\nsuan_ringo,1\nushiromiya_krauss,4\nuryuu_minene,4\nhorizon_ariadust,4\nkanna_asuke,1\ngen_(enji),1\nyamane_masahiro,1\ninuyama_tamaki,4\nhikawa79,1\naltair_(re:creators),4\nhizagawa_rau,1\nhachisuka_kotetsu,4\nanatomy,0\nwakabayashi_tomoka,4\ngrasslands,0\nagnamore,1\nbomberman,3\nreddizen,1\ngiant_snake,0\nyuujin_(yuzinn333),1\ndeath_note_(object),0\ngalarian_ponyta,4\narmored_vehicle,0\nmashiro_(blue_archive),4\nr-king,1\nchain_belt,0\nsymbiote,0\nwafu_(youzora_samo18),1\nstiff_tail,0\nwartortle,4\nheart-shaped_food,0\nplastic_bottle,0\njaw_drop,0\nwachiwo,1\nodayan,1\nmahou_shoujo_lyrical_nanoha_innocent,3\nayumaru_(art_of_life),1\nyusano,1\nthe-sinner,1\nteruyof,4\ncondom_in_clothes,0\nkoohiitei_shinbo,1\nneeko_(aldehyde),4\npolka_dot_hairband,0\nshroud_of_magdalene,0\nobject_behind_back,0\nnanamomo_rio,1\nsunoharasou_no_kanrinin-san,3\naoyama_blue_mountain,4\nhonzawa_yuuichirou,1\nminami_mirei,4\nibuki_(azur_lane),4\nprincess_chain_chomp,4\nhellhound_(monster_girl_encyclopedia),4\nhyena_girl,0\nsource_quote_parody,0\ntsunemori_akane,4\ntori_udon,1\ndetached_arm,0\nprimrose_azelhart,4\nperfumer_(arknights),4\nqilin_(mythology),0\nkotobuki_(stealth_sendan),1\ngrey_serafuku,0\nningguang_(orchid's_evening_gown)_(genshin_impact),4\nnorimaki_arale,4\ngalhound,3\ntomusooya,1\nhimukai_yuuji,1\nrocking_chair,0\ncapybara,0\nhumming,0\nhyakuen_raitaa,1\nzero_hime,1\ntosura-ayato,1\nsmock,0\nkagami_kuro,4\nsulking,0\naya_brea,4\ncelica_a._mercury,4\ngin_(oyoyo),1\nkurokawa_otogi,1\nbenesse,3\nshiroe_(log_horizon),4\nsugimori_ken,1\nfruit_punch,1\ngenkung,1\nwhale_print,0\ninside_creature,0\nconvenient_head,0\nchemistry,0\ntabletorgy,1\nspeech_stab,0\nserio_(to_heart),4\nriho,1\njade_leech,4\nelfheim,3\nwater_lily_flower,0\nsnake_bondage,0\nristy,4\nizumi_(stardustalone),1\nluz_noceda,4\nrena_lanford,4\nether_core,1\nclosure_(arknights),4\ngyari_(imagesdawn)_(style),0\ngensou_suikoden_iii,3\nadult_baby,0\nfalkner_(pokemon),4\nkukuri,4\nhigaragi,1\ndehya_(genshin_impact),4\nmerurulince_rede_arls,4\nkyou_039,1\nfacing_back,0\nkawatsu_yuuki,1\nisolated_island_princess,4\nmaria_traydor,4\nlakilolom,1\nbirthday_party,0\nkuo_shenlin,4\nmobile_trace_suit,0\ntegaki_draw_and_tweet,0\nironwork,0\nblack_souls,3\nmusyne_xsk,1\nkumao_mofumofu,1\nwashington_(azur_lane),4\nspeckticuls,1\nshachoo.,1\nhinoshita_akame,1\narisu_kazumi,1\nkasuga_ayumu_(haruhipo),1\nplus_sign,0\nkanemaki_thomas,1\nblue_whale,0\nqueen's_blade_white_triangle,3\nterebi_(shimizu1996),1\nkita_(kitairoha),1\nyamaori,1\nsuruga_kreuz,1\ntekken_tag_tournament_2,3\nophilia_clement,4\nhimawari-san_(character),4\ndolphin_girl,0\nkusanagi_kaoru,1\ndirector_chimera_(spy_x_family),4\ngooey_(kirby),4\nhead_between_pecs,0\nunname,1\ndelthea_(fire_emblem),4\nserizawa_akane,4\nigarasy,1\nsuisen,1\nwill_anthonio_zeppeli,4\ninayama,1\nkunifuto,1\nizumi_masashi,1\ntree_of_life,0\ndobunezumi,1\nwarp_pipe,0\ntokihama_jirou,1\nkugimiya_rie,4\nmomoi_komomo,1\nhinomoto_madoka,1\ngoat_boy,0\nnaha78,1\nyomako,4\nenoshima_iki,1\nutsurogi_akira,1\nno_detached_sleeves,0\nswedish_flag,0\nlee_(dragon_garou),1\ncoffee_cat,1\nunadon,1\nbaakurou,1\nkitada_mo,1\nhung_(arknights),4\nrosary,0\nkaname_junko,4\nblack_butterfly,0\n2003,0\nerhu,0\nzacian,4\nsteenee,4\nkuroi_mato,4\nrybiok,1\nsex_ed,0\natelier_ayesha,3\nrope_walking,0\nstraw_(stalk),0\nbokutachi_wa_hitotsu_no_hikari,0\napron_hold,0\nkozou_(rifa),1\nkawaii_boku_to_142's_(idolmaster),0\nwhite_male_swimwear,0\npokemon_unite,3\nyuki_usagi_(snowcanvas),1\ntanabe_kyou,1\nmiyako_(xxxbibit),1\nhinata_ichi,1\naka_ume,1\npink_lady_mage,1\nueno-san_wa_bukiyou,3\nomucchan_(omutyuan),1\nfirst_high_school_uniform,0\nhanasaki_miyabi,4\nfeh_(fire_emblem_heroes),4\nmeipoi,1\nkntrs_(knyrs),1\nraiden_(raiden_labo),1\nundone_bra,0\nk00s,1\numigraphics,1\nwomi,1\ntachikawa_mushimaro,1\nadapted_object,0\nakagi_asahito,1\nhand_on_own_penis,0\npinstripe_legwear,0\neight_tohyama,1\nchiharu_(9654784),1\ngunjou_row,1\ngenocider_shou,4\nni_(221),1\nholding_grenade,0\nvega_(street_fighter),4\nlabrys_(persona),4\nlucy_(elfen_lied),4\nservant_(danganronpa),4\nsalt_bae_(meme),0\nred_wristband,0\nrie_petoriyacowa,4\nlegendary_super_saiyan,0\nchiba_mamoru,4\npokemon_gsc_(prototype),3\nmadara_inosuke,1\nunsfrau,1\nkuromame_(8gou),1\ncolonel_sanders,4\nphantasy_star_online,3\nhistory,0\nabekawa,1\nkatari,1\nnogizaka_haruka_no_himitsu,3\nsalt_(salty),1\nstep-siblings,0\ngoban,1\nikuta_takanon,1\nwabi_(wbsk),1\naxolotl,0\nkaai_yuki,4\nkiyama_harumi,4\nmisawa_hiroshi,1\nfreezing_(series),3\nkyuri,1\npixiv_fantasia_wizard_and_knight,3\ntougetsu_gou,1\napricot_sakuraba,4\nmedjed_(fate)_(cosplay),0\nnishiuri_warito,1\nhighway,0\ndasoku_sentarou,1\nape,0\nnanameda_kei,1\nkazune_(baumkuchen),1\ntsukana_(saba_mizore),1\ntsuchimikado_motoharu,4\npikacchi,1\nmoe2021,0\nkarlwolf,1\narnval,4\nyakumo_yukari_(cosplay),0\ni-203_(kancolle),4\nyoshioka_chie,4\nxenomorph,4\nmasaki_aeka_jurai,4\nbeige_shorts,0\nblueorca,1\ncaspar_von_bergliez,4\npoinsettia,0\nkiss_chart,0\nkatou_hazuki,4\ntetra,4\ncream_cod,1\nmiddle_w,0\nfujii_jun,1\nonegai_twins,3\nsitting_on_pillow,0\nkoa_(phrase),0\nbrave_sword_x_blaze_soul,3\nsokura_(mochichitose),1\nanti-rain_(girls'_frontline),0\nmind_break,0\nnike_(0306),1\nmorihito,1\nflipping_food,0\nkurokan_(kokkyou_oudan),1\ntamute_(2580rs),1\ncezaria,1\naikura_(twilight_dusk),1\nksk_(semicha_keisuke),1\nrogue_titan,4\nyakiniku,0\nnatsuki_(ukiwakudasai),1\nhijikata-san_(m.m),4\nwolf-chan_(wataame27),4\nglowing_lines,0\naiko_(kanl),1\nkaribuchi_hikari,4\nkayama_kenji,1\nmercy_rabbit,1\nchristmas_sweater,0\ndorothy_west,4\nouto_eguchi,1\nhikichi_sakuya,1\nelemental_(creature),0\nbeanstalk_(arknights),4\nserika_(swimsuit)_(blue_archive),4\nxi_gundam,4\nyamanashi_taiki,1\ntaurus_mask,4\ncolor_ink_(medium),0\nhakua_ugetsu,1\nshigemiya_kyouhei,1\ntetsuo,1\ndiddy_kong,4\nmiyazawa_kengo,4\nciel_phantomhive,4\nariel_(disney),4\nmajima_yuki,1\nminarai_zouhyou,1\nvista-tan,4\nkosegawa_shiromi,4\nindivisible,3\nyoohi,1\nnoccu,1\nr.o.d_the_tv,3\ntayutama,3\ngarderobe_uniform,0\ncross_mirage,4\nkurasawa_moko,1\npine,1\ntionishia,4\ntavern,0\nkangoku_kou,1\nstreetcar,0\nla_pluma_(summer_flowers)_(arknights),4\nspider_tattoo,0\nyui_(ceremonial)_(princess_connect!),4\nzombie_mogura,1\ntorinari_(dtvisu),1\npile_bunker,0\nyamabushi_kunihiro,4\nkoharu_rikka,4\norochi_itto,1\ntehepero,0\nholding_gloves,0\nvitarka_mudra,0\nsofmap_background,0\nisopod,0\nhatena_yousei,4\nteaching,0\nwii_remote,0\nankimo_(tokino_sora),4\ngakky,1\nsuomi_kp/-31,0\nhiei_(yu_yu_hakusho),4\nakino_coto,1\ndouki-kun_(douki-chan),4\nastolfo_(saber)_(third_ascension)_(fate),4\npozyomka_(arknights),4\nswimsuit_costume,0\njianmo_sl,1\nyuuri_nayuta,1\nedogawa_nao,1\ntasmanian_devil_ears,0\nomuretsu,1\ntsuki_no_i-min,1\ncogecha,1\nyuemanhuaikong,1\ndelsaber,1\ntrim_marks,0\narmor_removed,0\nmokokiyo_(asaddr),1\naruka_(alka_p1),1\nwamu_(chartreuse),1\nkuma_(bloodycolor),1\ngainoob,1\nyamamoto_keigo,4\nfujioka_haruhi,4\nbanchiku,1\npyotr_(madoka_magica),4\nboku_no_kokoro_no_yabai_yatsu,3\nmimi_houllier_von_schwarzlang,4\ntest_score_(paper),0\nstring_around_finger,0\nteranekosu,1\nthomas_8000,1\nholding_magazine,0\nclyde_s,1\nalgerie_(azur_lane),4\ndogs:_bullets_&_carnage,3\nknight_(ragnarok_online),4\nalicia_melchiott,4\nhorsea,4\naoi_kimi,4\nkosuzume,1\nmikado_shiina,4\ntsukuyo_(gintama),4\nkouzuki_hajime,1\nhiyohiyo,1\nnekota_susumu,1\ninumori_sayaka,1\nmanako,4\norchid,0\nnew_york,0\noshio_(dayo),1\nrama_(fate),4\ndigging,0\nsuzune_yuuji,1\nlight_persona,0\naruya_(flosrota),1\nsha_wujing,4\nwada_sachiko,1\ntakaku_toshihiko,1\nbuntaichou,1\ntsunamayo,1\nsakura_nene,4\npagong,1\nnidai_nekomaru,4\nsen_no_kiseki_iv,3\nproject_pochama,1\nmokomoko_yanakku,1\nmajin_tantei_nougami_neuro,3\nbreasts_day,0\nabu,1\nreia,1\ntony_stark,4\nryuugazaki_rei,4\nmasurao_(sekaiju),4\nmickey_mouse_ears,0\nring_dream,3\nurabe_mikoto,4\nootori_tatta,4\ncheckered_headwear,0\npokemon_rgby_(style),0\nmonaka_curl,1\npatting_lap,0\nyami_kawaii,0\ntouon,1\nmachoke,4\nkunabishi,1\nknee_to_chest,0\nryoutan,1\ngordie_(pokemon),4\nshioboi,1\ngame_cartridge,0\none_-_kagayaku_kisetsu_e,3\nfirefly,0\nakagi_shigeru,4\nhat_loss,0\nfinal_fantasy_tactics_advance,3\nsannomiya_shiho,4\nagekichi_(heart_shape),1\nnazu-na,1\nchikage_(sister_princess),4\nkofune_ushio,4\ncryokinesis,0\nanshinmama,1\nkuen_(kuennn12),1\ngrand_archer_(elsword),4\ncake_hair_ornament,0\nnano_(syoutamho),1\naoi_tiduru,1\nmephistopheles_(fate),4\ninari_one_(umamusume),4\njunketsu_duelion,3\nincoming_pocky_kiss,0\nharukaze_unipo,1\ninazuma_japan,0\ntachibana_marika,4\nkuroki_rei,4\nhouhou_(black_lack),1\nnatori_youkai,1\nred_panda_tail,0\ncairngorm_(houseki_no_kuni),4\nanubis_(monster_girl_encyclopedia),4\ngotou_moyoko,4\ntugumi0w0,1\nyondemasu_yo_azazel-san.,3\nfur_bikini,0\nsun_print,0\nfnc_(girls'_frontline),4\nie_(raarami),1\ngangut_dva_(kancolle),4\nmillion_dreams_(idolmaster),0\nchris_(konosuba),4\nnogisaka_kushio,1\nsengoku_saga,3\nkurosususu,1\nbloom2425,1\nyunoha_thrul,4\ngeorgette_lemare,4\nwanimaru,1\nwindforcelan,1\ndomyoji_karin,4\nmega_man_2,3\nsingle_knee_boot,0\nhsin,1\nkokeshi,0\ngusu,1\nboar_mask,0\nzeta_(summer)_(granblue_fantasy),4\npants_under_dress,0\nloremaster_(helltaker),4\nadmiral_paru,1\narisa_(shadowverse),4\nlive_for_the_funk,1\nyamato_(muchuu_paradigm),1\nquattro_vageena,4\npanzer,1\nsasaki_mutsumi,1\nkentan_(kingtaiki),1\nboku_dake_ga_inai_machi,3\nroger_(guilty_gear),4\nkatori_(kancolle)_(cosplay),0\nnoise_(tsuzuki),1\ntentacle_clothes,0\nmash_kyrielight_(swimsuit_of_perpetual_summer_ver.02),4\nmahoraba,3\nbras_d'honneur,0\nknife_in_head,0\nchoborau_nyopomi,1\nterumii,1\nsugimoto_isao,1\nwild_arms_xf,3\nnanbu_kaguya,4\nentei,4\nmashu_(control),4\nhaijin,1\ndragon_quest_ix,3\nrisutaru,1\ntreehouse,0\ncong1991,1\nminimaru,1\nstalactite,0\ntamanegiinyo,1\nomutatsu,1\nsekihan,1\nkamiya_yuu,1\nrama_(yu-light8),1\nshurelia_(ar_tonelico),4\nkuromori_yako,1\nkatsurai_yoshiaki,1\norange_border,0\nsumeragi_seisuke,1\nnamikaze_minato,4\nsuzuame_yatsumi,1\ncheytac_m200,0\nharukaze_doremi,4\nfujibayashi_sheena,4\nayul_(ayulneri_92),1\nnikame,1\ncaligula_(game),3\nkonpaku_youmu_(cosplay),0\nsuperpig,1\nbowser_jr.,4\nbanishment,1\nartist_self-reference,0\nlomocya,1\ndojikko_pose,0\nquaxly,4\nshumiko_(kamenokoueki),1\nemily_stock,4\nlowe_(slow),1\nkanke_(yonkuma),1\ngreen_hood,0\nselector_wixoss,3\nhoshi_ryouma,4\nfuente,1\nnukoyarou,1\ndanganronpa_s:_ultimate_summer_camp,3\numikaze_kai_ni_(kancolle),4\nhistoire,4\nnishi_yuuko,4\nbeedrill,4\nshijou_saikyou_no_deshi_ken'ichi,3\ntopia,1\nsneaking,0\nyuki_maccha_(yukimattya10),1\nzegapain,3\ninflatable_whale,0\nvelma_dace_dinkley,4\numibouzu_(niito),1\ngolden_sun,3\nkz_oji,1\ngaruku,1\nmg_mg,0\npublic_masturbation,0\nkung_fu,0\nmasurao_2_(sekaiju),4\nunited_states_navy,0\nfukusuke_hachi-gou,1\nkuramitsu_mihoshi,4\nkey_frame,0\nancient_destroyer_oni,4\ncovering_head,0\ngroping_motion,0\npaparazzi,0\nkoufuku_graffiti,3\nmr.lime,1\npostage_stamp,0\nshabana_may,1\nkin'iro_ryotei_(umamusume),4\nhitotsuyanagi_riri,4\nbasa_rutan,1\nkaede_(shijie_heping),1\nfaubynet,1\ngen_(black_factory),1\nyijian_ma,1\n501st_joint_fighter_wing,0\ndoll_(ib),4\nryuuta_(msxtr),1\naugust,0\ntrue_tears,3\nnegija,1\nchize,1\npetrification,0\nyozakura_quartet,3\ncatherine,4\nfinal_fantasy_type-0,3\nmake_a_contract,0\nnyanmaru,1\nchikage_(kinokodou),1\nspiked_mace,0\nshiraishi_minoru,4\nyasai_(getsu),1\nmizuno_(okn66),1\nachan_(blue_semi),1\nhi_iro,1\nkatou_shinobu,1\nlipstick_ring,0\nemiya_alter,4\nshinjiro,1\ntamaoki_benkyou,1\nhata-tan_(rui_(hershe)),4\nhazuki_watora,4\nclare_(claymore),4\ndreadtie,1\nfading_border,0\nuehiro,1\nhong_bai,1\nginta,1\nshiroshisu,1\nflash_game,5\nrobotics;notes,3\ntsuchibayashi_makoto,1\nkurono_kurumu,4\nkaraage_bou,1\nmulticolored_hoodie,0\nyorktown_(azur_lane),4\nakitsuki_itsuki,1\ncode_vein,3\nshiika_yuno,1\nblack_jaguar_(kemono_friends),4\nsatou_mari,4\ntam-u,1\nobject_kiss,0\nmondaiji-tachi_ga_isekai_kara_kuru_sou_desu_yo?,3\n2equal8,1\nyoplait,1\nmakabe_gorou,1\nkujira_lorant,1\nchicken_costume,0\nkuroi_nyan,1\nmessy_(efuya),1\nkurama_(yu_yu_hakusho),4\nshimotsuki_shio,1\ndamian_doyle_(cyphers),4\ndeborah_(dq5),4\nasacoco,0\nlolimate,1\nosterei,1\nootori_(kyoya-ohtori),1\nsteam_locomotive,0\nmiyabino_(miyabi1616),1\nfrye_(splatoon),4\norange_cardigan,0\npurple_camisole,0\nes_(eisis),1\nshefu,1\nshadows_house,3\njigoku_sensei_nube,3\nwhite_hakama,0\npull_out,0\naudino,4\nsuper_sailor_mercury,4\nalzi_xiaomi,1\nnineo,1\ntora_(xenoblade_2),4\nfukaiton,1\nhands_on_another's_waist,0\ngreaseberries,3\nexposed_muscle,0\nsuzumeko,1\nupright_restraints,0\nkuragare,1\nashe_ubert,4\nshougun_(chuckni1),1\ncapsule_servant,3\njapanese_wolf_(kemono_friends),4\nasameshi,1\nkurowan,1\nraizen_high_school_uniform,0\nshiromuku,0\nwalkure_(macross_delta),0\nblack_rock_shooter_(character)_(cosplay),0\nshirakawa_kotori,4\njunk,0\nturnip,0\npon_de_lion,4\niri_flina,4\nyamana_akane,4\nfn_fal,0\nkusuha_mizuha,4\nmia_fey,4\nfakkuma,1\n108_gou,1\nhowa_type_89,0\nrody_roughnight,4\ndetached_pants,0\nmogamiya_honu,1\nlatte_art,0\nsteel_beam,0\npredator,4\nsnoopy,4\nmomoniku_(taretare-13),1\nlisbeth_(sao-alo),4\nharada_(basashi),1\nairandou,1\ntokyo_yamane,1\njeffr,1\nmale_lactation,0\nchiyo_chichi,4\nfine_(futagohime),4\ngrimms_notes,3\nkoge_donbo,1\nanachronism,0\npierre_bichelberger,4\nkuchiku_i-kyuu,4\nosanai_(shashaki),4\nbio_lab,0\nyuki_miku_(2015),4\nhaiba_09,1\nshirasu_youichi,1\nparipi_koumei,3\nsay_hana,1\nnekomiya_ryuu,4\npolyle,1\nsinkai,1\ndura,1\nxp_home-tan,4\narthur_ko,1\nmaydrawfag,1\ncape_lift,0\ntobi_(nekomata_homara),1\nlight_valkyrie_(p&d),4\nuntied_footwear,0\nstrapless_coat,0\nquan_(kurisu_tina),1\nmonoyoshi_sadamune,4\ntsuno_no_hito,1\nterada_tera,1\nzui_zui_dance,0\ndaffodil,0\nbloodstained:_ritual_of_the_night,3\nshanguier,1\ncassette_tape,0\nplug,0\nmash_kyrielight_(ortenaus),4\ndinosaur_costume,0\nld_(luna_dial398),1\ntypewriter,0\ncandace_(genshin_impact),4\nlace_sleeves,0\naggron,4\nxatu,4\npenguin_1-gou,4\nbunny_headphones,0\nmetal_gear_solid_2,3\n4suke,1\nmiyuki_kazuya,4\nmieu_(tales),4\ntensui_no_sakuna-hime,3\nwadani_hitonori,1\nark_(morita_hitomi),1\nbelmond_banderas,4\ngojarun,1\nwander_(shadow_of_the_colossus),4\nsource_quote,0\npaper_kabuto,0\niris_black_games,3\nmiyagawa_takane,4\nsei_shounagon_(swimsuit_berserker)_(fate),4\nran_(bukeranwu),1\nskull_collar,0\nhouraku,1\nimage_macro_(meme),0\nnel_zelpher,4\nnakahara_komugi,4\nburesu,1\ntrample,0\nkohaku.,1\nkiba_satoshi,1\nmiyamoto_ryuuichi,1\ntsuuhan,1\nplanetary_ring,0\nfig_sign,0\nmiyasaka_miyu,1\nhundred,3\nyasuhara_ema,4\nkukri,0\naerodactyl,4\nungagged,0\nchameleon,0\ncomic_hotmilk,3\nmafuyu_(kanden_shoujyo),1\ncreeparka,0\njudal,4\nthunder,0\nyoshinari_you,1\nelf_k,1\nspace_station,0\nnullma,1\nano_ko_wa_toshi_densetsu,3\ntiny_evil,3\nsaintshiro,1\nmushiro_(nijie728995),1\nseiou_gakuen_school_uniform,0\no-ring_collar,0\nallen_(makaroll),1\nfemale_priest_(dungeon_and_fighter),4\nh&k_ump9,0\nlunala,4\nhoo_bamon,1\ntasora,1\naldra_(queen's_blade),4\nvivivoovoo,1\ntokiwa_midori,4\nravel_phenex,4\nmurasaki_shikibu_(swimsuit_rider)_(first_ascension)_(fate),4\nbauxite,0\ncharles-henri_sanson_(fate),4\nyamacchi,1\nnagatekkou,0\nbeancurd,1\naraneesama,1\nthe_seven_deadly_sins,3\ntaesi,1\ncapsule,0\ncroagunk,4\ncircuit_board,0\ngible,4\nchrollo_lucilfer,4\nfish_in_mouth,0\nblack_bird,0\ncuffed,0\nryuki@maguro-ex,1\npikazo,1\nearth_ekami,1\nhakama_lift,0\nryuuka_sane,1\nkouji_(kari),1\ndisappointed,0\nmozuwaka,1\npatricia_(stylish_marunage),1\nyonekura_hisaki,1\nshinkon_gattai_godannar!!,3\nany_(lucky_denver_mint),1\nwhorled_clouds,0\nhoraki_hikari,4\nmeowstic,4\nnekolina,1\najax_(azur_lane),4\nna_insoo,1\ndigimon_adventure_tri.,3\nhatakenaka_(kamagabuchi),1\ngrabbing_own_arm,0\nhunyan,1\nnev_(nevblindarts),1\nmeteor_(arknights),4\nneneka_(princess_connect!),4\nkopianget,1\nblue_sweater_vest,0\nlaevatein_(tail),0\nli_shuwen_(young)_(fate),4\ndonald_duck,4\nindustrial,0\nmale_protagonist_(pokemon_go),4\ndomotolain,1\nkanya_pyi,1\nexhaust,0\nkuonji_ukyou,4\nakihime_sumomo,4\nemg_(christain),1\ntetsuwan_birdy_decode,3\nlust_(fma),4\njapan_maritime_self-defense_force,0\nhakuouki_shinsengumi_kitan,3\nmeatball,0\nyakitori,0\nreverse_ryona,0\nsleeveless_bodysuit,0\nyui_tsuruno,4\nkazami_ruku,1\nterada_ochiko,1\nmonster_hunter_3,3\nyoshida_on,1\nkataro,1\nblack_cola,1\ntetuw,1\nzuo_daoxing,1\ndress_flip,0\nsmoker_(one_piece),4\nthey_(kiman),4\nchocojax,1\ndead_space,3\nkupala,1\nyear_of_the_goat,0\ngreat_pyrenees,0\nshironeko_haru,1\nwhite-stew,1\nchikanoko,3\nnoe_noel,1\nnate_mitotsudaira,4\nmistorene_callus,4\nmityubi,1\ngenjii_(touhou),4\npukara,1\nyuuhi_riri,4\nemia_wang,1\nyamaioni_(sasakama),1\nyandere_simulator,3\nnakatsu_shizuru,4\nxenoblade_chronicles:_future_connected,3\nseaport_summer_princess,4\nfalin_thorden,4\ndive_ball,0\nnihongou_(touken_ranbu),4\nmanaphy,4\njack_daniel's,0\nfinger_to_eye,0\nzaizen_aoi,4\nkoisuru_asteroid,3\nchiroru_(cheese-roll),1\nbeast_wars,3\npainting_nails,0\nrei_(rei_rr),1\nshi_huang_di_(fate),4\nfed_(giba),1\nvictorious_(kancolle),4\nhk_(hk),1\nfischl_(ein_immernachtstraum)_(genshin_impact),4\narima_miyako,4\nkarinto_yamada,1\nkaqo,1\nasakura_sakura,1\nsith,0\nabara_heiki,1\nwatosu,1\nmeyrin_hawke,4\ndidloaded,1\nnamiuchigiwa_no_muromi-san,3\ndavi_(dokidoki!_precure),4\nsamoore,1\nitoichi.,1\nmotoi_hiroumi,1\nkawanobe,1\nmelings_(aot2846),1\nstar_trek,3\nsoya_(torga),1\nrean_schwarzer,4\nosakabe-hime_(swimsuit_archer)_(fate),4\nroselia_(pokemon),4\nhimeno_(chainsaw_man),4\noomuro_hanako,4\nolivia_(pokemon),4\nfergus_mac_roich_(fate),4\nholding_pointer,0\nsea_slug,0\nmulti-strapped_bikini_bottom,0\nstuffed_carrot,0\nsenjou_no_valkyria_2,3\nakashi_kaoru,4\nvalkyrie_no_densetsu,3\nceiling_fan,0\nginji_(sakaki_summer),1\nleaning_over,0\nblack_panther,0\noohoshi_awai,4\nstationery,0\narchetto_(arknights),4\nutamaro,1\nyou_shimizu,1\nblack_cat_d.va,4\nfur_shawl,0\nfruits_basket,3\nbinbougami_ga!,3\nshyvana,4\ntakagi_saya,4\nmoe2018,0\nnatsumekinoko,1\ncure_whip,4\nfiodo,1\naqua-framed_eyewear,0\npen_(pen3),1\nboyano,1\nkanna_asumi,4\ncriss-cross_back-straps,0\ntadokoro_nurikabe,1\naoi_yuuka_(ao_no_kokoro),1\nhplay,1\nyumaru_(marumarumaru),1\nstriped_scrunchie,0\nsavan,1\nmm_(mm_chair),1\nsaito_katuo,1\nshirt_on_shoulders,0\nalpaca_girl,0\nchacha_(ss_5087),1\nmogumo,1\npin,0\nakazawa_red,1\naquaplus,3\ntadano_hitohito,4\nazusa_(cookie),4\nmasamuuu,1\ntyrone,1\njounouchi_katsuya,4\ndoritos,0\nodd_(hin_yari),1\nray_(pixiv9514208),1\nroyal_navy,0\nhirota_fruit,1\nk/da_evelynn,4\nkurihara_sakura,1\nst._hermelin_school_uniform,0\nskis,0\nmikan_(bananoha),1\nmukunoki_nanatsu,1\ngiant_tree,0\nnuno_(pppompon),1\nelizabeth_tower,0\ntokunaga_(tales),4\nspace_dandy,3\nshizuku_(kantoku),4\nserino_itsuki,1\nshungikuten,1\nsurcouf_(azur_lane),4\nsolokov_(okb-999),1\nenlightened_byleth_(male),4\nholding_dress,0\necho_saber,1\nwonder_woman_(series),3\nnipple_bells,0\nswivel_chair,0\nnamiki_(remiter00),1\nminegishi_ayano,4\nwolverine,4\nmasayu,1\nkaga_ai,4\nchocoblood,1\nflint_(pokemon),4\nlutecia_alpine,4\nbelphegor_(reborn),4\nyamaguchi_shinnosuke,1\nawara_kayu,1\niyami,4\nhomare_(suzu_no_oka),1\nifuji_shinsen,1\nmatsuo_(matuonoie),1\nyu-ves,1\nkuwada_yuuki,1\nkokonoe_tsubaki,4\nsuper_sailor_venus,4\nmiko_fly,1\nnina_(breath_of_fire_iv),4\numitonakai,1\njeanne_d'arc_(summer)_(granblue_fantasy),4\ncity_forest_online,1\nmexico,0\ntonami_kanji,1\noborotsuki_kakeru,1\nperfume_(band),3\ntorahime_(roland00),1\nvarus,4\nangel_of_light_nanael,4\npolka_dot_trim,0\ntesshii_(riza4828),1\nnoel_(noel-gunso),1\ncolor_switch,0\niromeki_overdrive,1\ntoy_car,0\nchiester00,4\nyukimiya_(parupunta),1\nsollyz,1\nflower_brooch,0\ncall_(mighty_no._9),4\nscarf_bow,0\nshibata_rai,1\nsenbei_(senbe_i),1\nnekko_(momosuzu_nene),4\ncaptain_earth,3\nkorekara_no_someday,0\nsuzumiya_haruka,4\nrectangular_pupils,0\nmagilou_(tales),4\nmayer_(arknights),4\nkirby_and_the_forgotten_land,3\nhiwatashi_nazuna,4\nhagino_makoto,1\nrin_(inuyasha),4\npower_pro_kun_pocket,3\nsabotender,4\nlove_triangle,0\ntea_party,0\nkotobuki_hajime,1\nshikimi_(yurakuru),1\nyuza,1\nnina_wang,4\nyamano_remon,4\nsengoku_aky,1\nkuroki_tomoki,4\ncafe_maid,0\nnauribon,1\nbuuwa,1\nwailmer,4\ncomala_(komma_la),1\nchop,0\nnamu_(nurui_cha),1\nkieta,1\nhomework,0\naizawa_yuuichi,4\nkashuu_(b-q),1\nchristina_sierra,4\nlittle_mac,4\nstirrups,0\nsmoke_grenade,0\nlovestruck,0\nkonpaku_youki_(ghost),4\nholding_gohei,0\neating_hair,0\numa_pyoi_densetsu,0\nprisoner,0\ncommander_(last_origin),4\npenguin_logistics_(arknights),0\ncorner,0\naqua_choker,0\nteddiursa,4\nsaiga-12_(girls'_frontline),4\nyashiro_seika,1\nfurisuku,1\nlin_yuhsia_(arknights),4\nkomb,1\nsaruanu,1\nmamimu_(ko_cha_22),1\nnicoseiga_sample,5\nruka_(piyopiyopu),1\noricorio,4\nchigusa_asuha,4\nmorino_bambi,1\nbrekkist,1\npink_pubic_hair,0\njanis_(hainegom),1\nzeus_(inazuma_eleven),0\nchaba_(hortensia),1\nrukinya_(nyanko_mogumogu),1\nloen,1\ntoro3,1\ntiger_ii,0\nio_(sinking=carousel),1\ninari_konkon_koi_iroha.,3\nbokura_no_live_kimi_to_no_life,0\nholding_petal,0\nsangoku_musou_1,3\nhatsume_mei,4\ntetris,3\nchiune_(yachi),1\nbow_swimsuit,0\nhamaburicchi,1\nlichtenberg_figure,0\nnin_(female),1\nsakai_(motomei),1\nepilepsy_warning,5\npoch4n,1\ncinnamon_(nekopara),4\nakane_(bunny)_(blue_archive),4\nkurisu-kun,1\ntororo_ten,1\ndavid_martinez,4\nganassa,1\nmiyamoto_rei,4\nmoire,0\ntail_masturbation,0\nninja_gaiden,3\nsoto,1\nunderwater_sex,0\ntakana,1\ngerwalk,0\nspade_earrings,0\nninniku_(ninnniku105),1\nmonk_(fft),4\ntouran-sai,3\nutsushimi_kemii,4\nsalome_(one_piece),4\nemperpep,1\nhololive_china,3\nmaster_ball,0\ntsuyuzaki_mahiru,4\nsuoni_(deeperocean),1\ntokarev_tt-33,0\nlampent,4\nmaachin,1\nno.6,3\nkokutou_azaka,4\nsotoba,0\namamitsu_kousuke,1\nmaterclaws,1\nrito,0\nbalkenkreuz,0\nmitchell_(dynxcb25),1\nprishe,4\nkasukabe_akira,1\nyowamushi_pedal,3\nmatryoshka_doll,0\nwanderer_(ragnarok_online),4\nnemui333,1\ntype_100_(girls'_frontline),4\nmariah_(jojo),4\nnekojira,1\nryu_genshin77,1\njessie_rasberry,4\nakichin_(atelier_baguri),1\nshigure_s,1\nsakurada_shiro,4\nfire_emblem_warriors,3\ntatsuta_kai_ni_(kancolle),4\ndancer_(three_houses),0\ngesture_request,5\nyofukashi_no_uta,3\ngauge,0\nmoketa,1\nkeffiyeh,0\nvulcan_salute,0\nichinose_minori,4\nkikyou_(inuyasha),4\nair_defense_princess,4\ngundam_sentinel,3\nakabashi_yuusuke,1\ncerestia_of_life,4\nscarlet_(studioscr),1\nnanostar,1\nvest_removed,0\nsape_(saperon_black),1\nyuuki_aoi,4\nn_(dai_n_honpo),1\nhole_in_chest,0\nnoragami,3\nlunalu_(granblue_fantasy),4\nsao_satoru,1\nwara_(warapro),1\ntaiki_(6240taiki),1\njack_(slaintheva),1\nwakaba_sprout,1\nshuten_douji_(festival_outfit)_(fate),4\nsr-3mp_(girls'_frontline),4\nelle_mel_martha,4\nkumo_desu_ga_nani_ka?,3\nyunuki_uta,1\nthe_legend_of_zelda:_link's_awakening,3\nsekiyu_(spartan),1\nryokucha_michi,1\ncecilia_(shiro_seijo_to_kuro_bokushi),4\ntommy_(kingdukeee),1\nnakagawa_nana,4\npointing_to_the_side,0\nyuuki_nao,4\nrose_background,0\ncure_egret,4\nushinawareta_mirai_wo_motomete,3\nkobayakawa_miyuki,4\nzasha,1\nskade,1\nflick,0\nplaystation_3,0\notoki_raku,1\nhirai_yukio,1\nmaru_(sara_duke),1\nki_(adotadot),1\nminazuki_noumu,1\ngakubuchi_aiko,1\nastarotte_ygvar,4\njingo,1\nbinayu,1\niwatobi_high_school_uniform,0\nayame_(gundam_build_divers),4\nayame_(0419),1\npyonsuke_(pyon2_mfg),1\ninishie_kumo,1\nyan_wan,1\nkanau,1\nion_(cation),1\nlatex_dress,0\nbird/binary,3\nwynn_(yu-gi-oh!),4\nchrisandita,1\nautomail,0\ncure_grace,4\nyassy,1\nkaeranu_kaeru,1\nhigh_belt,0\nminiature,0\nmakishima_azusa,1\nwakamiya_eve,4\nratna_petit,4\nokonomiyaki,0\nkanzarin,1\ntoxtricity,4\nmayachi_(amuriya),1\nsteve_(minecraft),4\nna_tarapisu153,1\nseicoh,1\nlina_(michihasu),4\nmuginami,4\npolka_dot_hair,0\nbrushing_own_hair,0\nkihou_no_gotoku_dmc,1\nyukinojou_yakan,1\nnose_hook,0\nibuki_maya,4\ndrawn_whiskers,0\naida_kensuke,4\nrowan,0\nrenetan,1\nhorrified,0\nstraylight_(idolmaster),0\nminami_koharu,4\nwireless_earphones,0\nspilled_milk,0\nosame,1\nbasketball_court,0\npointing_sword,0\ngneisenau_(azur_lane),4\nao_oni_(onioni-aoi),1\ncaptain_amari,4\nkotoura-san,3\ncrona_(soul_eater),4\ntouka_(utawarerumono),4\ngold_ship_(run_revolt_launcher)_(umamusume),4\nmartha_(swimsuit_ruler)_(third_ascension)_(fate),4\nayuayu_(chisuke_ayu),1\nkagami_taiga,4\nsato_art,1\ntakizawa_asuka,4\nblind_girl_(popopoka),4\nrainbow_text,0\napple_hair_ornament,0\nsenano-yu,1\nshikabane_itsuka,4\nnovcel,1\nsolru,1\norder_of_the_black_knights_uniform,0\nfossil,0\nsylvia_(huajiuhuajiu),1\nkashimashi,3\nmidnight_(boku_no_hero_academia),4\nfigure_four_sitting,0\nhermit_crab,0\nshiroko_(cycling)_(blue_archive),4\nrichard_(ri39p),1\ndog_print,0\nathena_glory,4\nkiriha_(tsugumomo),4\nfirst_aid,0\nissun,4\naquarian_age,3\ntekken_6,3\nkokotetsu,1\nquality,0\ndomon_kasshu,4\ntorterra,4\nsoyoong_jun,1\ngofelem,1\nmashue,1\nassassin's_creed_ii,3\nr0g0b0,1\nujikintoki_tamaryu,4\nshampoo_hat,0\nshirt_under_shirt,0\nabigail_williams_(swimsuit_foreigner)_(second_ascension)_(fate),4\nacryl,1\ntsuchikure,1\nbehind_ear,0\nkdm_(ke_dama),1\nkarasuno_volleyball_uniform,0\ngozz,1\nrail_wars!,3\nmanjoume_jun,4\nviperxtr,1\npelvic_curtain_aside,0\nprincess_ruto,4\nsophia_esteed,4\nmac-10,0\npoppy_(poppykakaka),1\nspheal,4\nnylon,1\ngolbat,4\nalkemanubis,1\nstifled_laugh,0\nk-pop,0\nsandogasa,0\nmitarashi_dango,0\nkamura_(armor),4\nsuicidal_girl_(hamsterfragment),4\nnajimi_shin,1\nkotobukiya_bishoujo,3\nwhite_pajamas,0\npatty_fleur,4\nholding_blanket,0\ndark_magician,4\nfukube_tamaki,4\nkana_(fire_emblem),4\nouri_(aya_pine),1\ntorn_sleeve,0\nkisaragi_yuri,1\nnorita,1\nmishima_kazuya,4\nshirogane_kei,4\nyuzu_(fruit),0\nchachi_(azuzu),1\ndalc_rose,1\ntank_turret,0\nhououji_fuu,4\nwinda_(yu-gi-oh!),4\ncardboard,0\nwerkbau,1\nhappy_meek_(umamusume),4\nogre_(illustogre),1\nakatsuki_no_goei,3\nbellossom,4\ngashapon,0\nserge_(chrono_cross),4\nonigirya_(nekomata_okayu),4\nitsumo_nokoru,1\nanubis_(mythology),4\nstar_ocean_integrity_and_faithlessness,3\nhenrietta_(gunslinger_girl),4\nevo_grim,0\nsapphire_(sapphire25252),1\nthompson/center_contender,0\nyamato_junji,1\ntatapopo,1\nyurichtofen,1\narancia,4\nkaida_michi,1\ntoy_airplane,0\nchiba_sadoru,1\nakb48,3\nstory_of_eastern_wonderland,3\nkanchou,0\nbellows_(suisei_no_gargantia),4\nnokishita_kumoemon,1\nnier_(young),4\nkuune_rin,1\nsnatti,1\nmonk_(final_fantasy),4\namekosame,1\nhikari_niji,1\nnoel_(sora_no_method),4\nkusakabe_yuuki_(to_heart_2),4\nemia_(castilla),1\ncapriccyo,1\norz_(kagewaka),1\nnaruse_yuu,4\npadparadscha_(houseki_no_kuni),4\nmuramatsu_sakura,4\npokemon_egg,0\nkuri_giepi,1\nvinland_saga,3\nchameleon_tail,0\nogry_ching,1\nyoshiku_(oden-usagi),1\nnagato_yuki-chan_no_shoushitsu,3\ndaiwa_scarlet_(trifle_vacation)_(umamusume),4\nstellar_loussier,4\nhjz_(artemi),1\nruschuto,1\nsazae-san,3\nbig_bad_wolf,4\nspas-12,0\nelven_forest_maker,4\nlantern_on_liquid,0\nfakemon,0\nt_t,0\nlove_lab,3\nx-ray_glasses,0\ntsuchimiya,1\nwasabi_(legemd),1\nruo_(tariki_hongan),1\norange_sarong,0\nbakuman,3\ntriela,4\ncrybringer,1\naku_(dejigiga),1\nlatex_leotard,0\ndha,1\nwatery_eyes,0\nguilty_gear_x,3\nmogskg,1\nakujiki59,1\nbokuman,1\njaguar_girl,0\nfurukawa_sanae,4\nflaming_halo,0\n7gao,1\nbelly_rub,0\nnibosi,1\nboca,1\narcher_(fate)_(cosplay),0\nkito_koruta,1\nresident_evil_2_(remake),3\nuppi,1\nbrown_one-piece_swimsuit,0\nsabo_(one_piece),4\npink_armor,0\nmeerkat_ears,0\nsakura_sora,1\nkinsenka_momi,1\nhelmet_over_eyes,0\nholding_jar,0\nrags,0\npon_yui,1\ntwo-sided_cloak,0\nfin_funnels,0\noutlaw_star,3\nishikawa_goemon_xiii,4\ntokuura,1\ngriffin_&_kryuger,0\nsuzunoki_rin,4\nkurousagi_yuu,1\nochikobore_fruit_tart,3\nkotomuke_fuurin,1\npink_wristband,0\nnagasawa_tougo,1\nbunny_earrings,0\ndawn_(pokemon)_(cosplay),0\nasatsuki_(fgfff),1\nold_man_(guin_guin),4\nbettle_(b_s_a_n),1\nsen_no_kiseki_iii,3\nrayvon,1\nchin_piercing,0\nkouhai-chan_(tawawa),4\nsnow_white_(mahoiku),4\nneruzou,1\nsamoyed_(dog),0\nsigno_aaa,1\nakisaka_yamoka,1\nspace_yoko,4\nkagome_(traumatize),1\nspectral_(series),3\nonsoku_no_sonic,4\nfletchling,4\nkirishima_(aoki_hagane_no_arpeggio),4\nkuroki_(ma-na-tu),1\nyuzu-aki,1\nflat_chest_joke,0\nryuushen,4\nyuuma_(renkin_san-kyuu_magical_pokaan),4\notaku_room,0\ntakoneru,1\nselkie_(fire_emblem),4\nyonaga_san,1\nryuji_(red-truth),1\ngundam_00_a_wakening_of_the_trailblazer,3\npurple_serafuku,0\nmabanna,1\npenis_on_stomach,0\ndokuro-kun_(houshou_marine),4\nsatyr,0\nrune_knight_(ragnarok_online),4\nbokota_(bokobokota),1\nshinobu_(ninin_ga_shinobuden),4\njackal_tail,0\nkourourin,1\nmass_production_eva,4\namamiya_minato,1\nsalmon,0\nreri,1\ndamage_numbers,0\nibuki_pon,1\nhimehina_channel,3\nsasago_kaze,1\nkimi_to_boku_no_mirai,0\nakizuki_akina,1\nseasons,0\nmatayoshi,1\ntasogare_otome_x_amnesia,3\ncirno-nee,4\nmichiking,1\ndavid_liu,1\nmadyy,1\nbad_aspect_ratio,5\nkuroneko_no_toorimichi,1\nkacyu,1\nduke_of_york_(azur_lane),4\ncross_edge,3\nsakura_quest,3\nmiyata_sou,1\nmorisawa_haruyuki,1\nnekoboshi_sakko,1\npolitician,0\nkissing_hair,0\nzol,1\nzebstrika,4\nnukkoru,1\ndark_samus,4\nanimal_request,5\nkansuke,1\nmiso_katsu,1\ngothic_wa_mahou_otome,3\njuvia_lockser,4\nbuddha,4\nunbuttoning,0\nlgbt_pride,0\nnanananana,1\nmulticolored_pants,0\npadoru_(meme),0\nmorisova,1\nnipple_tassels,0\ncirno_(cosplay),0\ndusknoir,4\nmino_tarou,1\nkuriboh,4\nrumie,1\naccordion,0\nhakugyokurou,0\nsweet_home,3\nlaby_(elsword),4\nakaiha_(akaihasugk),1\nteto_(nausicaa),4\nnoah_(xenoblade),4\nyellow_pajamas,0\nsdf-1,4\nciloranko,1\njewel_butt_plug,0\neunectes_(forgemaster)_(arknights),4\nkinagi_yuu,1\ncomic_cover,0\nsalamander,0\nawa_toka,1\nkurosu_aroma,4\nyellowroom,1\nbeyond_the_nobles_(idolmaster),0\nilog,3\nsaria_(the_law)_(arknights),4\ndsr-50_(highest_bid)_(girls'_frontline),4\nmatching_shanghai,0\narmored_skirt,0\npotto,1\nconstanze_amalie_von_braunschbank-albrechtsberger,4\nsainohikari,1\ntokio_neo,1\nryokushiki_(midori-ya),1\naosora_kamiya,1\ngleision_adain,1\nshuz_(dodidu),1\nsenmu_(senmudayo),1\nsuomi_(midsummer_pixie)_(girls'_frontline),4\nnaka_(cheeseyeast),1\nformidable_(timeless_classics)_(azur_lane),4\ngareth_(fate),4\nmaboroshi_no_ginzuishou,0\nsakuya_(p&d),4\ntatsumiya_kagari,1\ninsect_cage,0\nshining_tears,3\naida_rayhunton,4\nsuzumi_(fallxalice),1\n1960s_(style),0\ngarden_of_the_sun,0\nmantis_girl,0\nhikasa_tomoshika,4\nface_to_pecs,0\nomizu_(omz),1\ncommon_bottlenose_dolphin_(kemono_friends),4\nanabone,1\nkiriman_(souldeep),1\nvanessa_(kof),4\nillustrious_(morning_star_of_love_and_hope)_(azur_lane),4\nshuten_douji_(fate)_(cosplay),0\nshiina_kokomi,4\nolchas,1\ncolored_condom,0\nholding_headphones,0\nd.koutya,1\ntamamo_no_mae_(sable_mage)_(fate),4\nphantom_brave,3\n2002,0\nemil_castagnier,4\ntoriyama_akira,1\npitching,0\nkintaro,1\ntoy_gun,0\nsokrates_(touhou),4\nkinmedai_pink,1\nitsuwa,4\nhatsuyume,0\nyamaguchi_homupe,1\nmusic_stand,0\nhamster_costume,0\ndragon_nest,3\nnonon_(xenonbot),1\ni.takashi,1\nsnow_boots,0\nanteater_tail,0\ngu_li,1\nshellder,4\nleft-hand_drive,0\ninnovators_(gundam_00),0\nyoshida_iyo,1\ngift_card,0\nschezo_wegey,4\nshiguma_(signalmass),1\ncircussion,1\nnacchan_(ohisashiburi),4\ntower_of_fantasy,3\ntakayama_toshiaki,1\nnorakura_(nr_kura),1\nlimbus_company,3\nteffish,1\nhrd,1\ngobera,1\nyamin_(cookie),4\nvortex_vanquisher_(genshin_impact),0\nmajin_buu,4\nspark_(pokemon),4\nkamen_rider_agito_(series),3\nwakagi_repa,1\ngekijouban_hibike!_euphonium,3\ntostantan,1\nconcentrating,0\nfive-seven_(gun),0\nholding_cigar,0\nakihiyo,1\nhebitsukai,1\numonebi,1\nyue_(show-ei),1\nbotan_(yu_yu_hakusho),4\nbob_(you-u-kai),1\ntool_belt,0\nstar_guardian_lux,4\nbencao_gangmu,1\nxayah,4\naardwolf_tail,0\ncinkai,1\nmargaret_(persona),4\ncyber_(cyber_knight),1\nalder_(pokemon),4\nsanaki_kirsch_altina,4\nmikage_kirino,1\nstarry_sky_(game),3\nmidoriiro_no_shinzou,1\nusano_mimi,4\nrimuru_tempest_(slime),4\nhaioku_colonel,1\nkashima_(kancolle)_(cosplay),0\nkyan_reki,4\nkintoki_(sakura_miko),4\nlucio_(overwatch),4\npt_imp_group,4\nclutching_chest,0\nmeruccubus_(merunyaa),4\npolteageist,4\nkonno_takashi,1\nhonest_axe,3\namity_blight,4\nhosokawa_kanako,4\nmonkey_mask,0\narm_across_chest,0\nmuse_(amaburi),4\nmarinesnow,1\nmazinger_z_(mecha),4\nkatagiri_himeko,4\nfrilled_boots,0\nyunagi_amane,1\nnekobell,1\nmafia,0\noriginal_remodel_(kantai_collection),0\nstar!!_(idolmaster),0\ncyberpunk_2077,3\ntamu_(mad_works),1\nfuneral,0\nsasaki_makie,4\nbobobo,1\nluna_lia,1\nfalco_lombardi,4\nashiyama_yoshinori,1\numi_monogatari,3\nagenasu,1\nheavy_machine_gun,0\nbutcherboy,1\nreammara,1\nrexlent,1\nrain_lan,1\nlordgenome,4\nchiwino,1\nsaijou_haruki,1\nkisairo_kaede,1\nnatsumiya_yuzu,1\nyoropa,1\ncenangam,1\npantsing,0\notama_(atama_ohanabatake),1\nmermaid_costume,0\nmotteke!_serafuku,0\nautofellatio,0\nkud_wafter,3\nvocaloid_(lat-type_ver),0\nukata,1\nd-frag!,3\nsuzuki24,1\napril,0\nkarabako,1\norgan_derwald,1\nspiritomb,4\ncommunism,0\nm37_(girls'_frontline),4\nmahou_kyuuri,1\nunited_kingdom,0\nshaped_pubic_hair,0\nelliemaplefox,1\niosys,3\nbastard!!,3\narabian_oryx_(kemono_friends),4\ndesktop,0\nsunflower_seed,0\nred_star_(toranecomet),1\npidove,4\nmega_man_zx_advent,3\ngiant_robo,3\ntnt,0\nines_fujin_(umamusume),4\npot_on_head,0\nleonat,1\nshirakawako,1\nlunar_tear,0\ncompa,4\ntakase_kanan,1\nandroid_17,4\nshiny_luminous,4\nneone,1\nmetal_slug_attack,3\nmama_(mama_hiro),1\nthunderbolt_fantasy,3\npartially_immersed,0\nkumamoto_aichi,1\neiku,1\nmii_(nintendo),4\ngyari_(imagesdawn),1\nmatsuo_chizuru,4\npansage,4\noctagram,0\ndoran_(doran7280),1\norangina,3\nc-ms_(girls'_frontline),4\ndp-12_(girls'_frontline),4\njoseph_joestar_(tequila),4\nkobi_(piliheros2000),1\nkuroba_kaito,4\nsarhce,1\narita_haruyuki,4\niris_(flower),0\nbitchcraft123,1\nparking_lot,0\nsingle_letter,0\nopen_bag,0\nhisho_collection,3\nnatasha_(sekai_seifuku),4\nkira-kira_sensation!,0\npolka_dot_camisole,0\nshikano_sumiaki,1\ntomoeda_middle_school_uniform,0\nyoshida_ryouko,4\nautomatic_giraffe,1\nchocolate_covered,0\nryokan,0\nsophie_(howl_no_ugoku_shiro),4\nmay_of_doom,4\nneve,1\nvegetation,0\ntouhou_danmaku_kagura,3\nin_locker,0\ntsurugi_(blue_archive),4\nplatinum_(shimmering_dew)_(arknights),4\nlight_brown_background,0\nsaaya_(kirome),4\nkou_(garakuta_teikoku),1\nmarried,0\nred_ribbon_army,0\numaibou,0\nnakamura_kanko,1\nkimi_ga_aruji_de_shitsuji_ga_ore_de,3\nsandbag,0\nmisakura_nankotsu,1\nminerva_(fire_emblem),4\ntahya,1\nelma_leivonen,4\nsonshoukou,4\nhide_(hideout),1\nmatsukura_nemu,1\njin_young-in,1\nnanabuluku,1\ncredit_card,0\nmashimashi,1\nnarumiya_(empty_cafe),1\nfuwa_minato,4\nmatatabi_maru,1\ncordelia_glauca,4\ntoriga_naku,1\nsetra,4\nfuurin_(omaemona),1\nbaru_(val-val),1\nsunrise_(company),3\ndrizzile,4\nsaruchitan,1\nusa_mimi,4\nkakumayu,1\nhong_meiling_(cosplay),0\nnekoyashiki_pushio,1\nkapuchii,1\nardbert_(ff14),4\nbaymax,4\nalphard_(canaan),4\noptical_illusion,0\nred_stone_of_aja,0\nhomunculus_(artist),1\nnaked_snake,4\nxo,0\nazula,4\nbanjo-kazooie,3\nsakurea,1\nt-back,0\nearplugs,0\nfatherly,0\namakura_mio,4\ntaimanin_murasaki,3\ngyuudon,0\nurine_meter,0\nfurukawa_itsuse,1\njivke,1\ntakashi_(huzakenna),1\nyaoshi_jun,1\nlovers_(game),3\nmeroune_lorelei,4\nu_u_(mooooooou),1\nshiki_(senran_kagura),4\ndaidai_ookami,1\nprotocol_omega,0\ncorset_piercing,0\nkurinton,1\nkagura_chitose,1\nplanter,0\nooyama_(angel_beats!),4\nswitch01,1\nfairy_knight_lancelot_(second_ascension)_(fate),4\nmotokonut,1\nhanging_lantern,0\ngirls'_frontline_2:_exilium,3\nprint_scrunchie,0\naqua_scarf,0\nsnowman_hair_ornament,0\ntrainer_(idolmaster),4\notabe_sakura,1\nfruit_background,0\nnarberal_gamma,4\ntug,0\nkusarigama,0\nyui_(niikyouzou),1\nyushika,1\nkarasu_(naoshow357),1\nspoiler_(automobile),0\nyangsion,1\nkomimiyako,1\ntakaomi_(orenchi_no_maidosan),4\nhand_on_window,0\nkouya_no_kotobuki_hikoutai,3\nsusie_(deltarune),4\nakira_ferrari,4\nhyougintou,4\nimagawa_akira,1\nhand_on_another's_crotch,0\nnonoyama,1\nkurumi_(lycoris_recoil),4\ngiratina_(altered),4\nkirschtaria_wodime,4\nion_(tales),4\nplumeria_(pokemon),4\nduel_masters,3\nzeke_von_genbu_(xenoblade),4\nphone_with_ears,0\nyatagarasu_(tsukumo_sana),4\nredjet,1\ntadashi,1\nmaburaho,3\nsawada_tsunayoshi,4\nharpoon,0\nsita_vilosa,4\nshoukaku_(sororal_wings)_(azur_lane),4\nyukimi,1\nalex_(street_fighter),4\nfatal_frame_3,3\nendori,1\nsamurott,4\nvalkyrie_(vnd),4\nbrowning_m2,0\nspeedo_(company),0\nparka_(summersketch),1\nc.cu,1\nnagy,1\nrazia,4\naeru,4\nmannack,1\nanne_(shingeki_no_bahamut),4\nnaru_(andante),1\nhermione_(azur_lane),4\ngleam,0\njovejun,1\nsaeki_touma,1\nspoken_star,0\ngouguru,1\nmayusaki_yuu,1\ntokyogenso,1\nxaxaxa,1\nkuga_huna,1\nt@ke-g,1\ncomic_lo,3\nmimyo,1\nrowboat,0\nkitamurashu,1\naraki495,1\nfemale_trainer_(umamusume),4\nshoto_(vtuber),4\nfechirin,1\nclipe,1\nkakizome,0\nkrirk,1\nmail,0\npikapikapop_(idolmaster),0\ngraph,0\npixie_willow_(voice_actor),1\nburi_(retty9349),1\nurasekai_picnic,3\ntare_(tonikaku_magaru),1\nkissuisou_uniform,0\nfox_child_(doitsuken),4\nteam_skull_uniform,0\nmaruruk,4\ndire_wolf_(kemono_friends),4\nmairo,1\nshoe_loss,0\nfutaba_akane,4\nfamilymart,0\nyoshitani_motoka,1\nsummon_night_5,3\nuruu_gekka,1\nkarasuma_kuraha,1\nyang_guifei_(third_ascension)_(fate),4\ntejina_senpai_(series),3\nmp5_(girls'_frontline),4\nb3_wingman,0\noka_(bananashoe),1\nro_(aahnn),1\nhal_(goshujinomocha),1\nwa-class_transport_ship,4\nyume_no_tobira,0\nhakonnbo,1\nice_cream_on_face,0\nkoko_hekmatyar,4\noborofu,1\nmairimashita!_iruma-kun,3\njapan_ground_self-defense_force,0\narms_on_table,0\nyazaki_(yazakc),1\nalicia_renato_(yashiro_sousaku),4\nnozaki_tsubata,1\nminatsuki_alumi,1\npower_bottom,0\nkale_(dragon_ball),4\nblue_wristband,0\nmacaroni_hourensou,1\ncyanide-whale,1\nmedic,0\nrock_lee,4\ntamagawa_yukimaru,1\nchaise_longue,0\nanal_fisting,0\nisu,1\ntachibana_jun'ichi,4\nribbon_hair,0\namane_(dream_c_club),4\ntriple_scoop,0\ndog_paws,0\nnullken,1\nhacka_doll_2,4\nmizuki_kotori_(yu-gi-oh!),4\naos,1\nkahili_(pokemon),4\noruka_(kamituki0827),1\nsawatari_izumi,4\nhooded_shirt,0\nmacintosh,3\nkuri_(kurigohan),1\npp_tenshi_t-shirt,0\nrkp,1\nmargay_print,0\nbeef,0\nmachi_(7769),1\natem,4\nparakeet,0\nhida_tatsuo,1\n3_3,0\nmitarashi_anko,4\nheadboard,0\nyuzutei,1\noliver_(vocaloid),4\narurandeisu,4\nakihiro_altland,4\nmugetsu2501,1\nwigglytuff,4\nspark,0\nshiwo,1\nalracoco,1\nbongo_cat,4\ngundam_narrative,3\nfushisha_o,1\nbakugou_mitsuki,4\nfirecrackers,0\ngendo0032,1\nwalfie_(style),0\nogura_eisuke,1\nabsinthe_(arknights),4\nzi_se,1\nkonnosuke,4\nveiny_hands,0\nemet-selch,4\ndjmax_portable,3\ngroup_incest,0\nshiokko_(murasaki_shion),4\ntsunemi_aosa,1\ngogono_pan'ya,1\nwaktaverse,3\nsuda_(yuunagi_enikki),1\nmizukoshi_(marumi),1\nremoving_legwear,0\ncheckered_wall,0\nsitting_on_torii,0\nnueco,1\nkusaba_(kusabashiki),1\nskylight,0\nearth-chan,4\nshinoda_hajime,4\nblacksaikou,1\nstarmilk,1\nnakabayashi_yoshitaka's_maid_uniform,0\nmoupii_(hitsuji_no_ki),1\nngetyan,1\norange_tank_top,0\nonsen_musume,3\nexcalibur_(fate/prototype),0\nshiguma_rika,4\nmatsuri_(teriyaki),4\nbagua,0\nebanoniwa,1\nakebono_kai_ni_(kancolle),4\nokita_sawa,4\nro-500_(kancolle)_(cosplay),0\nholding_gem,0\nplap,0\nstar_wars:_the_force_awakens,3\ncomic_girls,3\naurea_juniper,4\nchro,1\nharuba_negi,1\nsakine_meiko,4\nblank_page,0\nkuwata_leon,4\ngroup_profile,0\ne-co,1\nsanjiro_(tenshin_anman),1\nenoo,1\nyewang19,1\ndakkalot,1\npiyotan_(girls_und_panzer),4\norihi_chihiro,1\nsasakura_(calicchio),1\nkamen_rider_(1st_series),3\nshio_(futatsumami),1\nvivillon,4\nnone_(kameko227),1\njashin-chan,4\nfoodification,0\nnemunemu_(candy_paddle),1\nyuran_(kuen-hien),1\npactio,0\nscarlet_weather_rhapsody,3\nendou_masatoshi,1\nkamen_rider_fourze,4\nnuko_(mikupantu),1\nfuse,0\nsaionji_sekai,4\nfrfr,1\nfainted,0\ntoudou_chise,4\nusuzumi_hatsumi,4\nbridgeless_bra,0\nkimagure_orange_road,3\nemboar,4\nsukonbu_(shirakami_fubuki),4\nyamada_anna,4\nyuuki_aine,4\ngary_oak,4\nhikaru_(ofuton_at5),1\nwonder_egg_priority,3\nkanoe_yuuko,4\nbowieknife,1\n^jj^,1\nugif,1\nsylphy_(amaburi),4\njunes,1\ncorviknight,4\ntoucan,0\ntorkoal,4\nxiangzi_box,1\nmega_man_x4,3\ntaker_pov,0\nkana616,1\nunxi,1\nolivier_mira_armstrong,4\nmanhole,0\nrance,4\nsena_(xenoblade),4\nheld_down,0\nkochou_kanae,4\nwrinkled_fabric,0\nmu-pyon,1\nbrown_robe,0\nyotsuya_miko,4\nikezawa_shin,1\nwet.elephant,1\nkuranosuke,1\nfa_no_hito,1\ndomo1220,1\nsekihara_umina,1\nsakura_romu,1\nkazuki-mendou,1\nhimadera,1\nhanamasa_ono,1\nhai_to_gensou_no_grimgar,3\nstriped_camisole,0\ndaidou_(demitasse),1\nmary_cochran,4\naiz_wallenstein,4\nrailroad_signal,0\ncla_(finesoda),1\ntachibana_rei,4\ntearju_lunatique,4\nkamen_rider_faiz,4\niro_ame_(amewaagada),1\nkokura_masashi,1\nhaku_(sabosoda),1\naxe_r18,1\nservant_x_service,3\nkaratakewari,1\nankea_(a-ramo-do),1\nsunga2usagi,1\naoba_kokona,4\njoseph_oda,4\nnoyomidx,1\nmatching_hairstyle,0\nbungou_stray_dogs,3\nmask_lift,0\nmega_stone,0\nnanohana_kohina,1\nknee_guards,0\nminamoto_(mutton),1\nraya_(uk_0128),1\nvertical-striped_scarf,0\nnura_(oaaaaaa),1\nchest_armor,0\nmass_effect,3\nquarter_rest,0\nkoga_koharu,4\nmutang,1\nname_john,1\ncross-laced_sandals,0\nstickam,0\nohagi1010,1\ntetsukuzu_tetsuko,1\nfloorplan,0\naokihoshi,1\nichinose_uruha,4\nerror_message,0\nprecure_all_stars,3\nhisakawa_chin,1\ndryad,0\nsoranagi,1\nichiyan,1\na_song_of_ice_and_fire,3\naotan_nishimoto,1\nyoshika_(music480069),1\nmeika_hime,4\npurple_tank_top,0\ntoyoman,1\nfirefox,3\ncruiser,0\nsola,3\nhol_horse,4\nsaberiii,1\ngreek_cross,0\npoke_kid_(pokemon),4\ngreen_innertube,0\nlitsvn,1\nkurokaze_no_sora,1\nttk_(kirinottk),1\norange_pupils,0\nmegaman.exe,4\nchupa_chups,0\ntyouseki,1\nhiei_(azur_lane),4\nmakumaxu,1\ndazed,0\ngarlic,0\namano_kozue,1\ncross-laced_dress,0\ncharger,0\nnaokomama,1\ndoghouse,0\nsuperman,4\ndhalsim,4\npeanut,0\nkiona_(giraffe_kiona),1\nlinmiee,1\ndaidou_ayumu,4\nmiyuki_(miyuki0529),1\nhoshiringo0902,1\natsumi_yoshioka,1\nnyonyonba_tarou,1\nsuprii,1\nrou_(rou22),1\nyamada_naoko_(hideko1227),1\nlovely_x_cation_2,3\nnoise_tanker,1\nrie_(reverie),1\nkurusu_kanako,4\nkatari_(ropiropi),1\nkoyanskaya_(foreigner)_(first_ascension)_(fate),4\ncorrin_(summer)_(fire_emblem)_(female),4\nfurutaka_kai_ni_(kancolle),4\nkerosene_heater,0\nsenjuushi_(series),3\nmarui_futaba,4\nshiwo_(siwosi),1\nryouna_(senran_kagura),4\naoyama_motoko,4\nakakura,1\ncslucaris,1\nnanase_kureha,4\nihobus,1\nhuman_head,0\ncheating_(competitive),0\nsnow_white_(grimm),4\nmoshimoshibe,1\nkirikirimai_(kkm),1\nlycanroc_(midnight),4\ntanaka_ahiru,1\nlucia_(punishing:_gray_raven),4\nneneneji,1\ngaroudo_(kadouhan'i),1\nkitajima_kaede,4\ntaji_(crowview),1\nmultiple_scars,0\nbouncing_pecs,0\nhat_on_back,0\nmatemi,1\ngreen_horns,0\nkarakuri_chachamaru,4\nmahito,1\ndecember,0\nwilhelmina_carmel,4\nyu_3,1\nricotta_elmar,4\nhaevest,3\nnishiumi_yuuta,1\nawkward,0\ngulpin,4\nmiito_shido,1\ndaimaou_k,1\npsyche3313,1\nshida_kazuhiro,1\nhandjob_over_clothes,0\ncount_zero,1\nhidden_blade,0\nnon_(nobu),1\ninternet_explorer,3\nlasso,0\narisaka_mashiro,4\nnaked_labcoat,0\nrectangle,0\nsakazakinchan,1\ntetsuwan_birdy,3\nokyou,1\ntank_destroyer,0\nglobus_cruciger,0\nziro_(zirorong),1\nbeige_footwear,0\nash_crimson,4\nsakura_hanpen,1\npoa_mellhen,1\nknees_out_of_frame,0\nfate/tiger_colosseum,3\nkyutai_x,1\ntrucy_wright,4\ndekosuke,1\norihara_mairu,4\nichirino_minagi,1\njacques_de_molay_(foreigner)_(fate),4\nrebis,1\nwhite_shawl,0\nshinia,1\neel_hat,0\nkujo_jotaro_(cosplay),0\nsaionji_kotoka,4\nrolling_pin,0\nwatarabe_keiichi,1\nhatenna,4\nharu_(hiyori-kohal),1\ndanna_(karatekikku),1\nyopan_danshaku,1\nspoken_light_bulb,0\nw_tails_cat,3\nmugichoko_(mugi_no_choko),1\neruru_(erl),1\nyana_mori,1\ntsukuda0310,1\ntsukiori,1\nkamenozoki_momomo,1\nsansha_san'you,3\nshiromoru_(yozakura_rety),1\nmega_man_volnutt,4\nsazanami_kai_(kancolle),4\nclover_theater,3\ndetective_pikachu,3\nkasa_list,1\nkokujuuji,1\nakashi_kuniyuki,4\nelincia_ridell_crimea,4\nwalkman,0\nfate/empire_of_dirt,3\nunderworld_(ornament),0\nyajuu,1\nasics,0\npurple_bag,0\neimi_(blue_archive),4\nhelena_douglas,4\nkamo_(kamonabe_44),1\nishigaki_(kancolle),4\nmeika_mikoto,4\naikei_ake,1\nsheeta,4\nkazuboh,1\ndou,0\nchouno_ami,4\nhector_(fate),4\nhiguchi_isami,1\nkenoka,1\nyuuki_anju,4\nneedle_sword,0\nhama_(22ji_kara_24ji),1\nkimura_shuuichi,1\nwaha,4\ndiantha_(pokemon),4\nlinkle,4\nkairaku_historie,3\nskirt_around_ankles,0\ncheshire_cat_(alice_in_wonderland)_(cosplay),0\nomelet_tomato,1\nrolua,1\nhinomaru_(futagun),1\nyamaishi_(mukoubuti),1\nniijima_sae,4\nstar_vs_the_forces_of_evil,3\nshizuko_(blue_archive),4\nparororo,1\nyuki_miku_(2018),4\ntisshu_(karutamo),4\nwonderlands_x_showtime_(project_sekai),0\nshimashiro_itsuki,1\nsuzuran_(spring_praise)_(arknights),4\ngraves_(league_of_legends),4\nedging_underwear,0\njeanne_(bayonetta),4\nlineage_2,3\nyakui,4\nonion_knight,4\nangeldust,1\nkoyoi_mitsuki,1\nmool_yueguang,1\nkamen_rider_blade,4\nmorishita_naochika,1\nhitsugaya_toushirou,4\nkamen_rider_1,4\ndollar_bill,0\nlvi,1\nkazama_akira,4\nhigh_school_dxd_hero,3\nhunie_(series),3\nmahcdai,1\nashes,0\nyuzurizaki_nero,4\nun-go,3\nweedle,4\nsuper_sailor_mars,4\nnijihashi_sora,1\nayyk92,1\nxenosaga_episode_i,3\ngoshoguruma,0\nbamboo_fence,0\ncorpse_party,3\npiston,0\nquote_(doukutsu_monogatari),4\nnobori,0\naqua_sweater,0\nhaguruma_c,1\nspiked_thighlet,0\nwrong_hand,0\nsano_manjirou,4\nlaegjarn_(fire_emblem),4\ngajeel_redfox,4\nroyal_navy_(emblem),0\nkaede_johan_nouvel,4\njurge,1\nsha2mo,1\nsuga_hideo,1\nisemagu,1\nkiroranke,4\ngb_(doubleleaf),1\nfairy_(jintai),4\npetagon,1\nalternate_element,0\ntsunashi_takuto,4\nririkuto,1\ninou_shin,1\neevee_(cosplay),0\nnami_nami_(belphegor-5812),1\nantonio_salieri_(second_ascension)_(fate),4\nfujimaru_ritsuka_(female)_(royal_brand),4\nflower_braid,0\ncaptain_america:_the_winter_soldier,3\nstank,1\nsee-through_bodysuit,0\nprydwen_(fate),0\nf-15_eagle,0\nwinter_schnee,4\ninusaka,1\ntsukumizu_yuu,1\nmarie_(persona_4),4\nharukawa_moe_(style),0\nsakuna-hime,4\naikome_(haikome),1\ndandelion_seed,0\nsakurajima_saromako,1\nbellflower,0\nwestern_dragon,0\nleslyzerosix,1\nsanotsuki,1\nefuri_(riarea00),1\nsouthern_ocean_war_princess,4\ntiger_(kemono_friends),4\ntoo_many_books,0\nhip_attack,0\nalbacore_(azur_lane),4\npresea_combatir,4\notsumami_(bu-bu-heaven),1\nhassen_(8cm),1\npita_ten,3\nthupoppo,1\nshinmai_fukei_kiruko-san,3\nreika_(clovia_studio),1\nbird_hair_ornament,0\ntwitter-san_(character),4\nalfort_(may0508),1\ndorua_(dollar),1\ngigi_andalusia,4\ntsukamoto_tenma,4\nmorgan_(fire_emblem)_(male),4\nrampart1028,1\ndobrynya_nikitich_(fate),4\notogi-juushi_akazukin,3\nprint_innertube,0\nkagami_sumika,4\nyashin_(yasinz),1\nhikashima_(shiofune),1\natelier_firis,3\nkurono_yuzuko,1\nholding_sketchbook,0\nunicorn_girl,0\ndaram_(shappydude),1\nseo_yuzuki,4\nrikume,1\nstellated_octahedron,0\nd-floe,1\nasmr,0\nadjusting_another's_hair,0\nnicole_demara,4\nkagiyama_(clave),1\nred_xiii,4\nshichinose,1\ninitial_d,3\nassassin's_creed,3\ndain,1\nzelos_wilder,4\nyoneyama_mai,1\nkeishin,1\nagainst_door,0\nwebbed_feet,0\nekra,1\nshingen_seiji,4\nriver_city_girls,3\nsabana,1\nheran_hei_mao,1\nkita_hinako,4\nhyuuga_neji,4\nryou@ryou,1\nuni_(melm),1\nakaza_akane,4\nbt-42,0\nphantasy_star_universe,3\nayaki,1\nkai_yuuki,1\nlying_on_another,0\niris_yuma,4\nhsuliherng,1\ndodomori,1\nfary5,1\ntera_hiroshi,1\neringi_(rmrafrn),1\nmozukun43,1\nyorha_type_p_no._2,4\nrillaboom,4\ndaeho_cha,1\ntank_interior,0\nstriped_tank_top,0\nrope_marks,0\npebble,0\neternity_(shadeh),1\nmaterial-d,4\nreno_(ff7),4\nshirokuma_(nankyoku),1\nvi3r6ein,1\noda_nobunaga_(swimsuit_berserker)_(second_ascension)_(fate),4\nyomogi_(black-elf),1\nmilli_little,1\nmochii,1\nmagenta_(atyana),1\noteruko_(wanabeee),1\ngeo_(yukishitadou),1\nkamameshi_gougoumaru,1\nkamu_(kamuuei),1\nbokkun_(doyagaobyo),1\nmelantha_(arknights),4\narisugawa_otome,4\nhanamura_teruteru,4\nblair_(soul_eater),4\nblack_bloomers,0\nwakaouji_ichigo,4\nsasaki_kanna_(kaedeko),4\nartoria_pendragon_(alter_swimsuit_rider)_(first_ascension)_(fate),4\nsunanuko_(ramuneko),1\nred_male_swimwear,0\npeach_hair_ornament,0\nskull_ornament,0\nyahagi_kai_ni_(kancolle),4\npopup,1\nmutio,4\njogging,0\nrope_(arknights),4\nnormad,4\naku_no_meshitsukai_(vocaloid),3\nhondaranya,1\nobaoba_(monkeyix),1\nchinese_lantern_(plant),0\ndishwashing,0\numekko,1\nkamikaze_kaitou_jeanne,3\nfushirun_rung,1\nmurata_himeko_(vermillion_knight),4\nfried_egg_on_toast,0\nharaya_manawari,1\ntornado,0\ngolden_shower,0\ncollared_leotard,0\nmouse_on_head,0\nhelvetica_std,1\nkapuru_0410,1\nshindou_chihiro,4\nnita_(onakatohoppe),1\nnove_(nanoha),4\nquna_(pso2),4\nviola_(pokemon),4\nzhen_lu,1\nkiryuuin_satsuki_(cosplay),0\noono_tetsuya,1\nueda_masashi_(style),0\ntomato_(lsj44867),1\nimai_midori,4\nknights_of_the_round_table_(fate),0\nbra_(dragon_ball),4\nmitsuyo_(mituyo324),1\nmoon_rabbit,0\nimminent_gangbang,0\nkitajima_sara,4\npet_shaming,0\nliliruca_arde,4\nfood-themed_background,0\npenguin_girl,0\nfinger_to_tongue,0\nlaios_thorden,4\nsports_bra_lift,0\ntosa_(hometown_zest)_(azur_lane),4\nscraggy,4\nkandanchi,1\nhimeyuri_ruri,4\nhimeyuri_sango,4\ntenkuu_sphere,1\nlal'c_mellk_mal,4\nkyouran_kazoku_nikki,3\nrimo,1\ncharacter_hood,0\nvania600,1\ntentacruel,4\nweezing,4\nsilver_bell,1\nyunioshi,1\nozawa_akifumi,1\nsigurd_hosenfeld,1\nhiyama_kiyoteru,4\nterra_(kingdom_hearts),4\nspicy,0\nno_navel,0\nsai_(naruto),4\nnoeomi,1\ninari_(inariya),1\npepatiku,1\nbioshock_infinite,3\ntowel_on_legs,0\ncockatiel,0\n#compass,3\ntakumi_(rozen_garten),1\nray-akila,1\ncharamells,1\np-nekor,1\nlilith_(yamibou),4\notoshidama,0\nlooney_tunes,3\nalto_seneka,1\nkernel_killer,1\nnecktie_in_mouth,0\nzelitto,1\nhalkawa501,1\ncolosseum,0\nnemuri_nemu,1\ntoujou_(toujou_ramen),1\nyukin_(es),1\nshiino_sera,1\nreiesu_(reis),1\nshiota_nagisa,4\nkurokoori,1\naogiri_penta,1\nmayo_(miyusa),1\ntrung_trac_(fate),4\nblaidd_the_half-wolf,4\nusugiri_bacon,1\njulius_caesar_(fate),4\njellyfish_(splatoon),4\nkonjiki_no_gash!!,3\ngalbany_(tsgororin),1\nblue_bird,0\nseaport_water_oni,4\nrusky,1\nnephlite,1\nhatch,0\nyukirin,1\n6koma,0\ndrinking_pee,0\nmon3tr_(arknights),4\nppsh-41,0\nanthony_(madoka_magica),4\nsoviet_flag,0\nteabag,0\nmitsukai_dokuro,4\ngraf_zeppelin_(beachside_urd)_(azur_lane),4\nxxxholic,3\nprofessor_layton,3\ngaara_(naruto),4\ndrednaw,4\ncure_star,4\n3d_glasses,0\nkishitani_shinra,4\nmaple_(bofuri),4\ni.f.s.f,1\nmontemasa,1\nzangoose,4\njin_akhr,1\numedama_nabu,1\ntsukikage_nemu,1\nowafu,1\nhozumi_kaoru,1\nmatasabu,1\nmonoku,1\nkoryuu_(gackter10),1\nawai880,1\nsegamark,1\nalligator,0\nhooded_bodysuit,0\nminneapolis_(azur_lane),4\njessica_(granblue_fantasy),4\ngamuo,1\nshiki_(shiki1230),1\nhaiki_(tegusu),1\nsideroca_(light_breeze)_(arknights),4\nnami_(league_of_legends),4\nyabai_gorilla,1\nsaiki_kusuo_no_psi_nan,3\ndaki_(kimetsu_no_yaiba),4\nspoken_flying_sweatdrops,0\nrem_(re:zero)_(cosplay),0\nrepairing,0\nsy4,1\nkeishi_surota,1\nghost_sweeper_mikami,3\nkishizuka_kenji,1\nkohinata_hoshimi,1\nobi-wan_kenobi,4\nikkitousen_great_guardians,3\nmaster_dojo_uniform,0\ndarabuchi,1\nponkotsu,1\ngm_(mobile_suit),4\nthe_simpsons,3\npopo_(ice_climber),4\nrindou_(awoshakushi),1\ngentoku,1\nbattle_damage,0\n0-den,1\naltair_ibn_la-ahad,4\ncutie_honey_(character),4\nlots_of_laugh_(vocaloid),3\nmurota_yuuhei,1\nkimura_(ykimu),1\nnhaliz,1\ndead_or_alive_6,3\nzirba,1\nryu-akt,1\nember_(selen_tatsuki),4\njane_mere,1\naki_(sangetusei),1\nsingle-lens_reflex_camera,0\nfuruyama_itaru,1\nyoungster_(pokemon),4\nsolosis,4\nholding_pumpkin,0\nfur-trimmed_mittens,0\ntanasuke,1\nyukiko_(tesseract),1\nroyal,0\nnah_(fire_emblem),4\nazuma_kiyohiko,1\naardwolf_print,0\nright-hand_drive,0\nmi_(pic52pic),1\nikuno_(darling_in_the_franxx),4\nizetta,4\nstuffed_orca,0\nshina_shina,1\nkaoru_(gensou_yuugen-an),1\nfantasista_doll,3\ndoku_corne,1\nroura,1\nkazamatsuri_fuuka,4\nsenmura,1\nbilly_the_kid_(fate),4\nk0ng,1\nmizuno_mumomo,1\nhmage,1\nsima_naoteng,1\nmr._game_&_watch,4\nudppagen,1\nbroad_shoulders,0\nminette_(skullgirls),4\nhitotsubashi_yurie,4\ntoushi_ryoku,1\norihara_kururi,4\ncheetah_ears,0\npeach_hat_ornament,0\nmiyamoto_musashi_(swimsuit_berserker)_(first_ascension)_(fate),4\nbbbb_fex,1\ntoo-ye,1\nkakiko210,1\nhekomii,1\nsawati,1\nasou_(asabu202),1\nsorapoi,1\nloooyd,1\nmomoiro_lettuce,1\ntripdancer,1\nchunithm,3\nneptune_(azur_lane),4\nyellow_crop_top,0\nrashinban_musume,4\nkure-nai,3\npersona_4:_dancing_all_night,3\nkakitama,1\nox_girl,0\nlin_(breath_of_fire),4\nshaojiang,1\nasura_(asurauser),1\nespurr,4\nowl_girl,0\naustralian_devil_(kemono_friends),4\nanus_cutout,0\nburan_(kure),1\nfujimaru_ritsuka_(female)_(cosplay),0\nhardboiled_egg,0\nkobo_kanaeru,4\nebi_frion_(natsuiro_matsuri),4\nnatsuki_kruger,4\nmadan_no_ou_to_vanadis,3\nmisato_(princess_connect!),4\nkayahara,1\nkuroo_tetsurou,4\nasada_sadao,1\nalphinaud_leveilleur,4\nheel_pop,0\nwashio_sumi_wa_yuusha_de_aru,3\nmizuki_nana,4\nmaria_(umineko),4\nanpanman,3\ntoba_hiyoko,1\nsakkan,1\nmakochin,1\ncatfish,0\ndemitri_maximoff,4\nkonakona,1\nfudou_akira,4\ntengxiang_lingnai,1\nkamimiya,1\nkurobuta_gekkan,1\nyoshida_seiji,1\nookami_maito,1\nzbrush_(medium),5\ngundam_msv,3\nkougami_shin'ya,4\nkawanakajima,1\nerufuda-san,4\ntauros,4\nhirosato,1\nkogaku_kazuya,1\nnipple_tag,0\nbee_doushi,1\nhibari_kyouya,4\nshiramine_rika,4\nreversed,5\nkaneko_(novram58),1\njinno_megumi,4\neuphemism,0\nyoumou_usagi,1\nmesousa,4\nfuyube_rion,1\nakehi_yuki,1\nkamigishi_akari,4\nkani_aruki_(bucket_crawl),1\nmemento_vivi,1\nsumi_keiichi,1\nsa-ya2,1\nneet_co.,1\nlotad,4\nyuruto,1\ntoruneko,1\nwingheart,1\nkizaki_ren,4\nnasa_logo,0\nkagami_chihiro,1\nkurochijo,4\nudukikosuke,1\nchen_bin,1\nedoya_inuhachi,1\ntomozo_kaoru,1\nmulticolored_bra,0\ngenya_(genya67),1\nmorigami_(morigami_no_yashiro),1\nhikobae,1\ntsukumihara_academy_uniform_(fate/extra),0\nmakaria,1\nkokutan_kitsunen,1\nyamcha_(cocololi),1\ngrand_sphere,3\nguilty_dragon,3\nhinazuki_ririna,4\nmorioka_itari,1\nfuwa_fuwa_dog,1\ngotcha!,3\ncasca_(berserk),4\nmatarou_(matarou072),1\nimaichi_moenai_ko,4\nmonster_hunter_x,3\nbunny_and_fox_world,3\nhurricane_glass,0\nthe_legend_of_zelda:_spirit_tracks,3\nsea_turtle,0\nband_shirt,0\nspoken_animal,0\nmaosame,1\nforegrip,0\nmarch,0\ntsuttsu,1\nshirafuji_kyouko,4\nbrown_suit,0\nputama,1\nsakuraba_rola,4\nargyle_dress,0\nice_pack,0\nholding_lighter,0\nsize_comparison,0\nnakajima_atsuko,1\nholding_plectrum,0\nrakeru_(dokidoki!_precure),4\nkobe_shinbun,3\nkuroba_u,1\nextra_pupils,0\nfloral_arch,0\ncarrot_pillow,0\ntoucailao,1\nhamayumiba_sou,1\nkohakope,1\nraphael_kirsten,4\n100_percent_orange_juice,3\nmomoko_(palemon),1\ncleo_everlastin,4\nmutyakai,1\nryouzou,1\nmisooden,1\nhoumitsu,1\npiko_piko_hammer,0\nfixed,5\nk+,1\nspell,0\nspiked_helmet,0\nmimic,0\nkuriyuzu_kuryuu,1\nkido_jou,4\nsuishougensou,1\ntail_pull,0\nukami,1\nmashio,1\nhinemosu_notari,1\nasymmetrical_breasts,0\nkodama_(wa-ka-me),1\nonineko,1\nremington_arms,0\nayakaze_ryuushou,1\nkanten,1\nonix,4\nmoru_(monaka),1\npower_strip,0\nlatooni_subota,4\nkaonashi,4\nburmecian,0\nkeiran_(ryo170),1\nnanahyakuichi_middle_school_uniform,0\ntenshinhan,4\nholding_star,0\ncrest_worm,0\ncisyo,1\nmiyoshino,1\ndana_zane,4\nraticate,4\ntejina_senpai,4\nwenny02,1\nishikawa_hideki,1\nyuki_usagi_(mofurafu),1\nzone_of_the_enders_2,3\njammers,0\ncharacter_watermark,0\ndouble_vaginal,0\nankle_bell,0\nyuki_miku_(2012),4\ndoberman,0\ngattai,0\nhoshino_kagari,1\nmagic_school_uniform,0\nsilvally,4\n013_(hamsasuke),1\ntsuta_no_ha,1\nakatsuki_miho,4\nnaked_raincoat,0\nyuzu-soft,3\nfruit_bowl,0\nkai_(link2262),1\nmudrock_(obsidian)_(arknights),4\ncolorful_palette,1\npriapus_a._tarou,4\nhoshiguma_(patrolling_ronin)_(arknights),4\ntomo_(tmtm_mf_mf),1\nborushichi,1\nfallout_4,3\narpeggio_kaga,1\nbreakdance,0\nswimsuit_tug,0\nfriday_night_funkin',3\nspiked_gloves,0\ncleffa,4\npokobee,4\nyokoyama_naoki,1\ngreen_brooch,0\nsoft_focus,0\npikachu_ears,0\nlieqi_hun,1\nhisaishi_kanade,4\nclitoris_tweak,0\ncalyrex,4\nreality_arc_(sinoalice),0\npaper_chain,0\nhanamaru_youchien,3\nooyun,1\norange_heart,4\nhinaki_(hinaki_0102),1\ntaiwan,0\nichinose777,1\nneko_to_chiyo,3\nesper_nyanko,4\ngourry_gabriev,4\nkanno_izuka,1\nyotarou_(aoki_hagane_no_arpeggio),4\nsakishima_hikari,4\nho-class_light_cruiser,4\nnu-class_light_aircraft_carrier,4\nhakodate_omiko,4\nsabet_(young_ouo),1\neighth_rest,0\nuru_(uru0000),1\nyoshino_norihito,1\nvittorio_veneto_(warship_girls_r),4\nsakura_musubi,3\nash_(titanfall_2),4\npaw_hair_ornament,0\nanagumasan,1\name-chan_(needy_girl_overdose),4\nkunugigaoka_middle_school_uniform,0\notokamu,1\nkazuha's_friend_(genshin_impact),4\nnaomi_(fantasia),1\nknights_of_blood_uniform_(sao),0\nsakuremi,1\ntomidoron,1\nkiriko_(araragikoyomi),1\nokuma_mai,1\ngiant_armadillo_(kemono_friends),4\nkimarin,1\nnyan_koi!,3\ntamura_hiro,1\nkusukusu,1\nbobobo-bo_bo-bobo,3\nrondo_bell,1\nmimi-chan,4\njohan_andersen,4\nt-ray,1\nkarunabaru,1\npechika,1\nfaye_(fire_emblem),4\nwhite_chocolate,0\nnakayama_yukiji,1\nsirills,1\neternity_sword_series,3\nkannon_ouji,1\nkanikou,1\njustin_(grandia),4\nstenciled_rose,0\nfadingz,1\nanimedia,3\npop_filter,0\nfuuka_reventon,4\ncarbon12th,1\nninamo,1\nmikoma_sanagi,1\nmunakata_kyousuke,4\ngrey_pubic_hair,0\nekko_(ejami),4\nmochinue,1\nk_jie,1\nmaka_(morphine),1\ntakimoto_yukari,1\none_finger_selfie_challenge_(meme),0\npanzerfaust,0\nsakura_moyon,1\nkanijiru,1\npee_in_container,0\nflora_(fire_emblem),4\nmuunyan_(yumenekoya),1\ncomic_unreal,3\nrodney_(azur_lane),4\ntapisuke,1\ngya_(144),1\nhua-j,1\nmonosenbei,1\nfujy,1\ntakeya_masami,1\nmarijuana,0\nstarfox1015,1\npinch_(nesume),1\ntrung_nhi_(fate),4\nnagato_(great_fox's_respite)_(azur_lane),4\nlucia_(scott_malin),4\njulia_chang,4\nsuper_cub,3\nadvance_wars,3\nasimo953,1\nkitazawa_hagumi,4\nnatsuki_marina,1\nsino42,1\nkinokohime,1\nmyoudou_gakuen_high_school_uniform,0\nsilky_anteater_(kemono_friends),4\nkamaboko_red,1\ntsana_(lansane),4\non_rock,0\nlurantis,4\nleila_malcal,4\nothinus,4\nototsu_kei,1\nkusakanmuri,1\nsag_(karehabase),1\nratsuku_kinoko,1\nyasumo_(kuusouorbital),1\nsankarea,3\nfujimaki_(angel_beats!),4\nwaffle_cone,0\nhiro_(pqtks113),1\nmarching_band_baton,0\ngreen_outline,0\npopoman,1\nyokoyoko_(nazonazo),1\ngujianshaonu,1\nsenhappyaku,1\nromancing_saga_2,3\ntsuritama,3\nlynchis,1\ncandy_bar,0\ncheetah_print,0\npenpen,4\nbetabeet,1\nholding_palette,0\nnozomi_fuuten,1\nopen_jumpsuit,0\nmiaogujun,1\nmahou_shoujo_madoka_magica_plus,3\nsango,4\nhanzaki_jirou,1\nyellow_capelet,0\nyunimaru,1\nprint_leotard,0\nr1,1\nkinoshita_hinata,4\nsamuimu,1\ntonotyama,1\nnyororiso_(muyaa),1\nmari_(omori),4\nkakyouin_chieri,4\non_flower,0\nsuzuki_masaru,4\nlancelot_(granblue_fantasy),4\ntying_apron,0\nartstation_username,0\nmiya_utsutsu,4\nyajuu_senpai,4\nmoose_tail,0\nsemi-transparent,0\ncarbuncle_(final_fantasy),4\nyukari_(yukari21653710),1\niroha_(iroha_matsurika),1\nprint_pillow,0\nkikimifukuri,1\nbnw_(umamusume),0\nhand_on_own_wrist,0\ngo_(board_game),0\nyunsang,1\nmetal_gear_solid_peace_walker,3\nyakin_byoutou,3\nshizuru_viola,4\ntomoya_kankurou,1\nblastbeat,1\nshirt_down,0\nuraichishi,1\nparas,4\nhitsuji_bako,1\nnakagawa_kanon,4\nkaho_okashii,1\nmuse_(rainforest),1\nfender,0\nbachera,1\nhazmat_suit,0\nryofu_housen,4\nbeat_angel_escalayer,3\nmeola,1\nryuushou,1\nroadhog_(overwatch),4\namaguchi_chiyoko,1\nkukuri_(mawaru),4\nnew_submarine_princess,4\naisutabetao,1\nmadotsukumo,1\nocean_bottom,0\nkyurem,4\ndisplay,0\nankle_scrunchie,0\nnose_picking,0\nakechi_kokoro,4\ntakao_(school_romanza)_(azur_lane),4\nfirolian,1\ncomfey,4\nmiy@,1\ngrasshopper,0\nstake,0\nshishinon,1\nmochizuki_mochi,1\nasahi_kuroi,1\nkamen_rider_black_(series),3\nkushida_you,1\nkimetsu_gakuen,3\nkonmori_(kinbou_sokai),1\nspirit_blossom_ahri,4\nyuko_(uc_yuk),1\nyuuhi_(arcadia),1\ntaya_oco,1\ngongba_laoge,1\nhermes_(kino_no_tabi),4\nbandages_over_eyes,0\nmanoji,1\nai_arctic_warfare,0\nspaghe,1\nmajo_shuukai_de_aimashou,0\nneneru,1\nsakikumo_(sakumo),1\npalette_suit,0\nkurorichin,1\nnishiyama_(whatsoy),1\nmafia_kajita,4\namagi_kai_(kancolle),4\ndohna_dohna_issho_ni_warui_koto_o_shiyou,3\nphoenix_wright:_ace_attorney_-_spirit_of_justice,3\nbb_(bb_shot!)_(fate),4\nakuma_(st.takuma),1\ncolor_timer,0\n21yc_(september_breeze),1\nonii-chan_dakedo_ai_sae_areba_kankeinai_yo_ne,3\nfemale_slayer_(dungeon_and_fighter),4\njima,1\nmaremay0513,1\nyamato_(sword),0\nmakoto_(summer)_(princess_connect!),4\nsimosi,1\nstanding_missionary,0\nphilomelalilium,1\ntsu-class_light_cruiser,4\nichimegasa,0\nbunji,1\ntabi_(tabisumika),1\nholding_butterfly_net,0\nafterburner,0\nmaple_(nekopara),4\nfie_claussell,4\nlute_(fire_emblem),4\npoison_ivy,4\nstepladder,0\nnyatabe,1\nmole_(animal),0\nyellow_gemstone,0\nchoyeon,1\nshi_chimi,1\nnamco_x_capcom,3\norange_cat,0\nyuu_(1007yu),1\nsugiyama_genshou,1\ncerberus,0\noharu-chan,1\nwazakita,1\nakasode_(tyaramu),1\nyuuki_makoto_(radiant),1\nsuke_(momijigari),1\nchloe_lemaire,4\nelemental_master_(elsword),4\ndanganronpa/zero,3\nyayoi_sakura,4\nkanda_done,1\nalpha_(alpha91),1\natsutoku,1\nmirisha,1\nyukiharu,1\noimo_(imoyoukan),1\nsoleil_(fire_emblem),4\nvelouria_(fire_emblem),4\nh2_(h20000000),1\nvoltorb,4\ngreen_robe,0\nkanaria_hisagi,1\nelysia_(herrscher_of_human:ego),4\ncomiket_95,3\npancham,4\nryoubi_(senran_kagura),4\nkatori_(mocchidou),1\nshionne_(tales),4\nen_pointe,0\nizuoku,1\nblacksmith_(ragnarok_online),4\ninkbrush_(splatoon),0\nqueen_of_spades_symbol,0\nclarice_(idolmaster),4\nloading_(verjuice),1\nmassachusetts_(dressed_to_impress)_(azur_lane),4\naokura_shou,1\nsakino_asuka,4\nnagase_kaede,4\nmugen_senshi_valis,3\nbowling_ball,0\nifuji_sakura,1\nsilfa_(to_heart),4\nmultiple_moons,0\nrugby_uniform,0\nkabaji,1\nhusky,0\nkenny_mccormick,4\nmugi_(banban53),1\nkubyou_azami,1\neris_(asobi_ni_iku_yo!),4\nnishi_iori,1\nfutaba_riho,4\ncomic_rin,3\naqua_scrunchie,0\ntsubasa_ryuuji,4\ndonedone,1\nponpon,1\nwhoisshe,1\ndelibird,4\nteleport,0\nnamazu_(yamasonson),1\nsachiel,4\nryuk,4\nletdie1414,1\nnakamura_rohane,1\nsagamimok,1\nmushroom_cloud,0\nyellow_innertube,0\nnetnavi,0\nohako_(ohako1818),1\nnima_(niru54),1\nshinonome_akito,4\nopening,0\nbikkuriman,3\ndokuro_deluxe,1\nnaked_cardigan,0\nb.a.b.e.l._uniform,0\ntemachii,1\nshika_(s1ka),1\nla_pucelle_(mahoiku),4\npin.s,1\nmodeseven,1\nmana_kakkowarai,1\neucliwood_hellscythe,4\nmerchant_(ragnarok_online),4\nsakana_(flame_sakana),1\nlingshalan,1\nz282g,1\nmirukurim,1\nelina_(captain_of_the_royal_guard),4\nblindfold_removed,0\nchibita,4\nmanaka_hitomi,4\nkurokami_medaka,4\ntakom,1\nmiriam_(bloodstained),4\njaye_(arknights),4\nkurokawa_chiaki,4\nvilor,1\nskarmory,4\nkimidake,1\nmystic_square,3\naladdin_(disney),3\ntankard,0\nsheska_xue,1\nnightshirt,0\namakura_mayu,4\norange_butterfly,0\nhinomoto_hikari,4\nmarch_ab,1\ngraham_aker,4\nspoken_number,0\nshimotsuki_eight,1\ngame_screenshot,5\norange_pubic_hair,0\nsegawa_onpu,4\nnon_(wednesday-classic),1\nmankanshoku_sukuyo,4\nkabiinyo_(kab),1\n8-gou_(mechanist08),1\nnandemo_iu_koto_wo_kiite_kureru_akane-chan_(voiceroid),3\namnesia_(idea_factory),3\nrabbit_(tukenitian),1\nripe.c,1\ngrandia_bing,1\nribbon_bangs,0\nkon_manatsu,1\nashe_(overwatch),4\nclockshow,0\nmiyoshi_karin,4\nsoborou,1\nkojima_emi,4\nempty_picture_frame,0\ngine,4\nprint_cape,0\ntosyeo,1\nnanakusa_nazuna_(yofukashi_no_uta),4\ndolce_(dolsuke),1\nsakae_general_school_uniform,0\nnyaa_(nnekoron),1\nkazama_jin,4\ncasul,1\nnakamura_eight,1\nliepard,4\nsangatsu_no_lion,3\nsamurai_champloo,3\nkono_lolicon_domome,0\nearth_federation,0\ndr._eggman,4\nenjoy_mix,1\nsakuya_(sister_princess),4\nhinamatsuri_touko,1\nkama_(weapon),0\ntsuina,1\nemlan,1\nyoshino_ryou,1\netou_(cherry7),1\nmatsumoto_rise,4\nkusaka_kokage,1\nwon_(az_hybrid),1\nwilderness_bandit_risty,4\nsailor_senshi_costume,0\ndlsite.com,3\npinwheel_hair_ornament,0\nrasusurasu,1\nopen_box,0\nsunakumo,1\ntousaki_shiina,1\nshuuji_(shumi),1\nkanzaki_h._aria,4\nsunflower_print,0\nshironeko_sanbou,1\nelisia_valfelto,4\njuliana_(pokemon),4\nmusubi,4\nhaneramu,1\nfelt_(re:zero),4\nhiro_(chumo),1\nunicorn_(the_gift_of_spring)_(azur_lane),4\ndisplay_case,0\npants_under_shorts,0\nromulus_quirinus_(fate),4\ncherry_earrings,0\nkou_(granblue_fantasy),4\nhoshikawa_mafuyu,4\nnijimoto_hirok,1\nkoutarou_(girl_power),1\nserval_(kemono_friends)_(cosplay),0\nmk_18_carbine,0\ntobacco_(tabakokobata),1\nkeepout,1\nasyde,1\nhat_basket,0\ntsuzumi,0\nyuki_(yukin0128),1\nlu_xueqi_(zhu_xian),4\nkishibe_taiga,4\npolka_dot_apron,0\nhasegawa_langa,4\notemoto_(baaaaloooo),1\ntom-neko_(zamudo_akiyuki),1\nseaplane_tender_princess,4\nnishiki_koi,1\nkurokawa_izumi,1\nfukada_ichika,4\nbody_horror,0\nshining_(silent_night)_(arknights),4\nace,0\nsushoyushi,1\naerisdies,3\nnote-chan,4\nsato-pon,1\nsagara_sousuke,4\nmochizuki_ado,1\nhirano_aya,4\nmisuguu,1\nouter_glow,0\nyuchi_(salmon-1000),1\ncargo_shorts,0\nstuffed_whale,0\nblack_bandana,0\naoba_(akibajun),1\nagarest_senki,3\nshimatori_(sanyyyy),1\nticcy,1\nkisuke_(akutamu),1\nsigui_(queen's_blade),4\njewel_(the_black_canvas),1\nsnot_trail,0\nrenta_(deja-vu),1\nmanaka_non,4\nko_kita,1\nmad_hatter_(alice_in_wonderland)_(cosplay),0\nbolze,1\nuchino_kazuhisa,4\npote-mm,1\nsitrus_berry,0\njessie_(pokemon)_(cosplay),0\n2l_(2lsize),1\nsirataki_umauma,1\nsuihei_sen,1\nmagolor,4\nholding_cloth,0\nmagical_mirai_miku_(2017),4\ntatsumiya_mana,4\nbsapricot_(vtuber),4\nyoshimi_(blue_archive),4\nfive_star_stories,3\nisekai_joucho,4\ng_yuusuke,1\npirotess,4\njiggly_girls,3\nsatogo,1\ngotou_junji,1\ndeath_the_kid,4\npierre_norano,1\nbeautifly,4\nbattle_spirits:_shounen_toppa_bashin,3\nloki_(marvel),4\nrhydon,4\nayuteisyoku,1\nmanle,1\naizawa_eiko,4\nwryyyyyyyyyyyyyyyyyyyy,0\nkikuichi_monji,1\nsonoda_ken'ichi,1\nkatsuoboshi,1\nagemono,1\nkuroganeruto,1\notonashi_kiruko,4\nchoice,0\njiyu2,1\njin_musou,4\ndarren_shan,4\ntadano_(toriaezu_na_page),1\nchipmunk,0\nemirio_(emirio110),1\naihara_enju,4\nbuthikireta,1\nmaruchi,1\nchiba_kirino,4\ntortoise,0\nchinatsu_(blue_archive),4\nshuttlecock,0\nfutaba_rio,4\nrikiddo_(tise_00),1\nharuno_shiobana,4\nhouchou_toushirou,4\nculture_japan,3\ndvd_case,0\nshiroko_(reku),4\nok-ray,1\ntwirl_baton,0\namane_sora,1\na:n_(angrynum),1\nsphinx_(toaru_majutsu_no_index),4\njing_ke_(fate),4\nakashi_(live_a_hero),4\nmicha_jawkan,4\nsarena,1\nico_(character),4\nmochizuki_hijiri,4\ninubashiri_momiji_(wolf),4\nreeds,0\ndorothy_haze,4\nwardrobe,0\nsuntail,1\nshisantian,1\namos'_bow_(genshin_impact),0\nseitei_(04seitei),1\narche_klein,4\nzifu,1\nasaki_takayuki,1\nartpatient,1\nazusawa_kohane,4\nbai_(granblue_fantasy),4\nmaster_artoria,4\nkelvin-trainerk,1\nsprout,0\nkimura_shiki,1\nmewkledreamy,3\negk513,1\nhatchet_(axe),0\nmakinami_(kancolle),4\nikuhana_niiro,1\njouzaburou_(joe3),1\nda-cart,1\nranyu,1\ngou_lianlian_dogface,1\nvanity_table,0\nzukky000,1\ncream_lemon,3\nnanaka_mai,1\nweapon_connection,0\nusami_mizuki,4\nhatsuse_izuna,4\nlavender_(flower),0\nyellowpaint.,1\noni_costume,0\nnatsuki_(natukituki),1\nariyoshi_gen,1\nkanbayashi_makoto,1\nitou_korosuke,1\npleading_face_emoji,0\nalternate_sleeve_length,0\nhmdark-9,1\nsimulated_footjob,0\nsnow_is,1\nbluekomadori,1\nsig_mcx_(girls'_frontline),4\nkiana_kaslana_(void_drifter),4\ncunnilingus_gesture,0\nsarasadou_dan,1\njibaku_shounen_hanako-kun,3\nmaguro_(mawaru_sushi),1\nxuhuai_(the_legend_of_luoxiaohei),4\naqua_pants,0\njoshua_(shisanli934),1\npetilil,4\ndusk_(everything_is_a_miracle)_(arknights),4\nchiri_(ch!),1\nnarutaru,3\nhakuoro,4\nazuma_yukihiko,1\nvirtual_reality,0\nchiro,1\nushiromiya_rudolf,4\ns_zenith_lee,1\noerba_dia_vanille,4\ntoono_minagi,4\nblu-ray_cover,0\nfukunaga_kazuhiro,1\nise_(0425),1\ngoogly_eyes,0\nmakako_(yume_bouei_shoujo_tai),1\nraburebo,1\nmosquito,0\ngotland_andra_(kancolle),4\nwonder_festival_2007,3\nga320aaa,1\nvice_(kof),4\nle_temeraire_(azur_lane),4\nfushiguro_touji,4\ndenaseey,1\nkafun,1\nburatei_marii,4\nkurokawa_makoto,1\nsnow_fox,3\ntrellis,0\nsagemaru-br,1\nhand_around_neck,0\naxe_kick,0\nkirahoshi_ciel,4\njuuni_taisen,3\njungon_kim,1\nlid,0\nkurosuke_(nora),1\nkaya_rio,1\neyewear_lift,0\nmuloli,1\nrichelieu_(fleuron_of_the_waves)_(azur_lane),4\nhabetrot_(fate),4\nshera_l._greenwood,4\nchristie_(doa),4\nwet_male_underwear,0\nmilfa_(to_heart),4\nalber,1\nfishnet_fabric,0\ncode:_nemesis_(elsword),4\npanpa,1\nharu_(nature_life),1\nremoving_glove,0\nsuzunosuke_(sagula),1\nslime_boy,0\nmatsumoto_sarina,4\ntorn_ribbon,0\nijimeka_(meme),0\nnidoran,4\nlight_beam,0\nnamiorii,1\nsamus_aran_(cosplay),0\nscuba_gear,0\nslot_machine,0\ngypsy,0\nsunsun69,1\nonion_(lemlaml),1\nmins_(minevi),1\nyukia_(firstaid0),1\nstephanie_dora,4\ntree_of_savior,3\nyellow_overalls,0\netan14,1\ngalarian_zigzagoon,4\nbronya_zaychik_(haxxor_bunny),4\nzygarde,4\nartoria_caster_(third_ascension)_(fate),4\ntaihou_(sweet_time_after_school)_(azur_lane),4\nviroa,1\nsawamura_daichi,4\npolar_opposites,0\ntota_(sizukurubiks),1\ngreen_feathers,0\npf,1\nakito_(sub707),1\nsaotome_haruna,4\nsexy_no_jutsu,0\nichimedoo,1\ngwendolyn_tennyson,4\nlion_costume,0\nsakura_koharu,1\nseviper,4\nnekonyan,1\nseihou,3\narima_senka,4\ntaguchi_kenji_(omaep),1\nprincess_(7th_dragon),4\noutstretched_legs,0\nm249,0\n98se-tan,4\nkimi_ni_todoke,3\nmusunde_hiraite_rasetsu_to_mukuro_(vocaloid),3\nkakao_rantan,1\nmegumin_(cosplay),0\nrurudo,1\noota_youjo,1\nkecleon,4\nyellow_sarong,0\nmizutame_tori,1\nplank,0\nomanyte,4\nbearhug,0\ntororo,1\nnasuna,1\nchibikko_(morihito),4\nqbz-95,0\ncalin,1\nsharuru_(dokidoki!_precure),4\nholding_sponge,0\nblack_sun,0\ndewgong,4\nimai_kana,4\nshiromiya_mimi,4\nsuo_sango,4\ninstant_ip,1\nsuwaneko,1\ntsukimi_eiko,4\nmarion-ville,1\nwatagashi_yui,1\nbottle_cap,0\nmoe2017,0\nhisui_(cookie),4\nathena_(series),3\nbesmiled,1\nsilent_princess,0\nmechuragi,1\nshenmue,3\nhiruno,1\nbuizel,4\nblack_jack_(series),3\ndark_sky,0\nkusana_(dudqja602),1\npenis_sheath,0\nstar741,1\natlantic_puffin_(kemono_friends),4\nsiberian_tiger_(kemono_friends),4\njean-jacques_leroy,4\noutseal,0\nyoshida_inuhito,1\ncigarette_butt,0\nrottytops,4\nmasaki_(machisora),1\ngomi_ichigo,1\nneedless,3\nsuzushiro_yukari,1\nannindoufu_(oicon),1\ntendo_teru,4\nyuugumo_kai_ni_(kancolle),4\nmandricardo_(fate),4\nnoi_mine,1\nmaki_oze,4\nchopsticks_in_mouth,0\nkurowana,1\nstigma1101,1\ncore_drill,0\nshirai_yuyu,4\nkatwo,1\nshimomoto,1\nwataru_(nextlevel),1\ngame_&_watch,3\ntoufu_mentaru_zabuton,1\nmaa_(forsythia1729),1\ntrust_me,0\nosamu_(jagabata),1\njujutsu_tech_uniform,0\nhara_kenshi,1\nnekosugi_(hoshi),1\nyoshiwa_tomo,1\njunior27016,1\non_food,0\nmankanshoku_matarou,4\nechizen_(hvcv),1\ngum_(gmng),1\nshigemitsu_jun,1\nmutsuba_fumi,1\nrimururu,4\nsaegusa_kii,4\nakiteru_(akiteru98),1\nai-generated,5\nnepolabo,0\nphantump,4\nyoga_mat,0\nillustrious_(maiden_lily's_radiance)_(azur_lane),4\nred_(among_us),4\norange_bag,0\nflorence_nightingale_(third_ascension)_(fate),4\nrateratte,1\nkamyu,4\nhakubi_washuu,4\nback_to_the_future,3\nsuiroh_(shideoukami),1\ntransformers_animated,3\nvictreebel,4\ndress_aside,0\nshameimaru_aya_(crow),4\nyajiro_masaru,1\nlamb,0\nkisaragi_mizu,1\nfuyouchu,1\nkuroi_nanako,4\nsalama_(amaburi),4\naono_(f_i_s),1\nkamen_rider_kiva,4\nsunahara_wataru,1\ntokki,1\nis_ii,1\nramiya_ryou,1\nezoshika,1\nafuro,1\nvyugen,3\noshioki_sweetie,3\nroe,0\ntono_(rt0no),1\nmizuno_asami,1\nyukiunag1,1\nhozuki_kaede,4\nmeloetta,4\nalice_margatroid_(cosplay),0\npatchouli_knowledge_(cosplay),0\nbakuretsu_hunters,3\nholding_flask,0\nkitano_yuusuke,1\nscaffolding,0\npompmaker1,1\nchichibu_(watson),1\nshiroshouzoku,0\nk.ty_(amejin),1\nikue_fuuji,1\ntricycle,0\nsatou_rin_(gobugabuge),1\nshaymin_(sky),4\nburp,0\nzakuro_(rariatto),4\nwinnie_the_pooh,3\nkizuna_ai_(a.i._games),4\nginklaga,1\nrubi-sama,1\numezawa_itte,1\nkupa_(jesterwii),1\nlily_(gentsuki),4\ntroll_(homestuck),0\nharukanaru_toki_no_naka_de,3\ntrinity_seven,3\nbeeeeen,1\nnatsuki_(silent_selena),1\nnonbire,1\nbeige_headwear,0\ntokoyami_fumikage,4\nbroken_arm,0\nbulbonne,1\nhuman_village_(touhou),0\nshuuzo3,1\nhoshimiya_mashiro,1\nsplat_charger_(splatoon),0\nwinter_soldier,4\nkogame,1\nleeron_littner,4\njuggling_club,0\nnikomi_(nikomix),1\nyawaraka_black,1\nbrandkojo,1\nmystical_high_collar,0\nnada_namie,1\npoppi_alpha_(xenoblade),4\nhometa,1\nshirayuri_sakura,4\nsukebewe,1\nkyuukon_(qkonsan),1\ntakano_itsuki,1\ntsukko_(3ki2ne10),1\nsuta_furachina,1\nthanabis,1\ntariah_furlow,1\nyumesaki_nana,1\nprehensile_tongue,0\nimouto_sae_ireba_ii,3\ndaiteikoku,3\nquadruple_wielding,0\n5danny1206,1\nyoshida_akihiko,1\nhalfling,0\nca_(maeda_koutarou),3\nayane_(blue_archive),4\nobject_insertion_from_behind,0\ndodonpachi,3\noreo,0\nmahou_shoujo_(raita),3\nterras,1\njinako_carigiri,4\nayukawa_madoka,4\ngunnthra_(fire_emblem),4\ntokoi,1\nyorktown_cv-5,1\nheixiu,4\nbismarck_(warship_girls_r),4\nmagicians_(zhkahogigzkh),1\nsinakyo,1\nassault_visor,0\ngakusen_toshi_asterisk,3\nemilico_(shadows_house),4\ndragon_ball_super_super_hero,3\nshigaraki_tomura,4\nfoot_pussy,0\nbrand-new_friend_(umamusume),0\nroman_(sound_horizon),3\nempew,1\narmillary_sphere,0\nyamauchi_(conan-comy),1\nashitaka,4\nx-23,4\nhuang_(granblue_fantasy),4\ntokomichi,1\nlayla_prismriver,4\ntai0201,1\nstar_ocean_first_departure,3\nshikinami_kai_ni_(kancolle),4\nelizabeth_(bioshock_infinite),4\nkameyan,1\nbig_bad_wolf_(cosplay),0\nyuasa_makoto,1\nseahorse,0\nemerald_(pokemon),4\nmomogaa_(girls_und_panzer),4\nprint_hakama,0\naimee_(emi),1\nkusano_shinta,1\ndianna_soreil,4\nnolia,1\nkayura_yuka,1\neden's_zero,3\nkinoebi,1\nimigimuru,1\nflying_witch,3\nafter,3\npump_action,0\nbreloom,4\njack_atlas,4\nvenom_snake,4\npink_mittens,0\nwario_land,3\nyuuhi_kurenai,4\nskorpion_(girls'_frontline),4\nmamel_27,1\nbed_invitation,0\nmedium_request,5\nhealther,1\ntokyo_necro,3\nkanade_izuru,4\nribbon_earrings,0\ndoom_eternal,3\nencasement,0\nisis_(p&d),4\nyanyan_(shinken_gomi),1\ngarnet_rod,0\nchirashi_(so),1\nshutou_mq,1\nweed_(astarone),1\nmitsuru_(darling_in_the_franxx),4\npicpicgram,1\nhisamura_natsuki,4\nsistine_fibel,4\nstar_trail,0\namatsuka_mao,4\nshimana_(cs-ts-az),1\ncibo_(killy),1\nmomiji_(binbougami_ga!),4\nlaundry_pole,0\nranger_(ragnarok_online),4\nyamakaze_ran,1\nchig,1\nmakura_(y_makura),1\nvestia_zeta,4\natage,1\nasch_(tales),4\naek-999_(girls'_frontline),4\nakano_murasaki,1\nbottoms1237,1\nane_naru_mono,3\nbracelet_girls,4\nreigen_arataka,4\naspara,1\nio_naomichi,1\ntsunami_jousuke,4\nyogisya,1\nharmonist11,1\nswaying,0\nkantoku_(style),0\nunlight,3\ngetbackers,3\nmiyata_(lhr),1\nribbon_bra,0\nrimu_(kingyo_origin),1\nsiva_(executor),1\nidol_heroes_(idolmaster),0\nshantae:_half-genie_hero,3\nmaru_daizu_(aqua6233),1\nminarai_tenna,1\nhiga-tsubasa,1\nyamazaki_sousuke,4\nburusuta,1\nyamato_maya,4\nkoi_suru_kanojo_no_bukiyou_na_butai,3\nfuwa_kokone,4\nfu_hua_(night_squire),4\nkoruta_(nekoimo),1\nshiraishi_an,4\nfujimiya_yahiro,1\nzoe_(league_of_legends),4\nmoffle_(ayabi),1\nyamato_kai_ni_(kancolle),4\nshingyoku_(touhou),4\nozzingo,1\nsawamura_eijun,4\nkitsune_maru,1\nshinn_asuka,4\nyokohama_kaidashi_kikou,3\nunagimaru,1\nisao,1\nrugal_bernstein,4\nproto_man,4\noobari_masami,1\nmomotarou_densetsu,3\nnina_(pastime),1\nrikoma,1\nnakai_hisao,4\nlunarisaileron,1\nhulk,4\ningrid_(taimanin_murasaki),4\nbroom_surfing,0\nfebruary,0\nmireyu,4\nkv-2,0\nmikami_mika,1\nribi,1\nwords_worth,3\nnatsupa,1\npaprika_shikiso,1\nbeni_kurage,1\nmantine,4\nshitappa,1\namatsuka_megumi_(gj-bu),4\nkara_age,1\naraki_(qbthgry),1\nmaou_sadao,4\npure_white_memories_(idolmaster),0\ntachimukai_yuuki,4\nnakamura_kusata,1\npearl_fey,4\npandoria_(xenoblade),4\nextra_breasts,0\ncrooked_eyewear,0\ntakanashi-a,1\noctober,0\nbinggong_asylum,1\nfan_speaking,0\ntuba,0\nowa_(ishtail),1\nkazuma_kaneko,1\npopoin,1\nlennon,4\nbremerton_(day-off_date)_(azur_lane),4\nouma_shuu,4\ncharisma_guard,0\ngame_over,0\ndracu-riot!,3\nhellagur_(arknights),4\nrune_factory_3,3\nfalling_star,0\ngino_weinberg,4\ntsumi_no_hahen_(debris),3\nakieda,1\nstitched_neck,0\nhip_hop,0\nbimmy,1\nspark621,1\nhiryuu_(azur_lane),4\nzuttokodomo,1\nririmon,1\njack-o'-lantern_print,0\nmuji_(uimss),1\ntsuruta_himeko,4\nmokoke,1\nwakatsuki_you,1\nkuroe_(sugarberry),1\nao_madoushi,1\nwarui_ga_watashi_wa_yuri_janai,3\nrome_romedo,1\nbobby_pin,0\nalexi_(tits!),1\nwind_sneaker_(elsword),4\nhorikita_suzune,4\nguard_vent_jun,1\nyusake_san,1\ntentacool,4\nstielhandgranate,0\ncalne_ca,4\nolys,1\nhobble,0\nmasters_of_the_universe,3\npanther_ears,0\nnina_(breath_of_fire_iii),4\nlittorio_(azur_lane),4\ntamahiyo,1\nzeraora,4\nharada_miyuki,1\nfusion_dance,0\nhong_doo,1\non_animal,0\nyukiyuki_441,1\nsonic_the_hedgehog_(classic),3\ntransformed_ditto,4\ny_naf,1\nnorman_(yakusoku_no_neverland),4\nosu!_tatakae!_ouendan,3\ndeku_(dekunosu),1\nhakou_(barasensou),1\nhichiko,1\nebinku,1\ncar_seat,0\nkaniya_shiku,1\ndiepod,1\nmicchan_(ohisashiburi),4\nblue-eyes_white_dragon,4\nsynchroaki,1\nazuki_(nekopara),4\nshe-ra_and_the_princesses_of_power,3\nobject_head,0\nnose_shade,0\nhuxiao_(mistlakefront),1\nvertical-striped_vest,0\nnarumi_nanami,1\nholding_pocket_watch,0\nmito_(go!go!king!),1\ngenetic_(ragnarok_online),4\nzhuge_kongming_(honkai_impact),4\nshiro_(sewayaki_kitsune_no_senko-san),4\nmoe_(blue_archive),4\nkefla_(dragon_ball),4\nalma_armas,4\ngrimlight,3\nkamishiro_rui,4\nkatara,4\neyewear_switch,0\nfranken_fran,3\nnhk_ni_youkoso!,3\nsikorsky,1\nirui_guneden,4\nkoto_(instrument),0\nlink_(cosplay),0\nashishun,1\ntheresa_apocalypse_(starlit_astrologos),4\nbedwetting,0\nshe-hulk,4\nyor_briar_(cosplay),0\nchouun_shiryuu,4\ns.m.s.,0\nkurau_kii,1\nwaraji,0\nkatsuragi_niya,1\nstraw_hat_pirates,0\nzasshu_nigou,1\nhirota_tsuu,1\nshimaji,1\nfreedom_nakai,1\nyamato_(uchuu_senkan_yamato),4\nsnow_white_(disney),4\nyou2,1\none_piece:_strong_world,3\npoem,0\nhot_melon,1\nhamashima_shigeo,1\nmoneybag,0\npecjob,0\non_moon,0\nelectrode_(pokemon),4\nkirby_d_a,1\nsaijaku_muhai_no_bahamut,3\nmarking_on_cheek,0\npure_pure,3\nmaiii_(smaii_i),1\nhanayamata,3\nposhi_(ginmokusei),1\nfumi_(nijisanji),4\ncolorado_(azur_lane),4\nglorious_(azur_lane),4\nsenjuushi:_the_thousand_noble_musketeers,3\nfubuki_(azur_lane),4\ncraytm,1\nhifumi_kei,1\nblue_babydoll,0\nkure_(kure_ng),1\ndresstrip,1\nhitori_bocchi,4\ntobi_(discharge_cycle),1\nm3_lee,0\nfir_tree,0\ngodzillapigeon1,1\nsquid_hat,0\nmarui_shiro,1\nkiryuuin_aoi,4\nbagpipe_(queen_no._1)_(arknights),4\nzenno_rob_roy_(umamusume),4\nyukikaze_(kancolle)_(cosplay),0\nholding_riding_crop,0\nthe_lego_group,3\nturbo_byakuren,4\nnaka_akira,1\nmari_audio,1\nmameojitan,1\nyellow_jumpsuit,0\nhajime_(caramel_toone),1\nnekomugiharu,1\nmatra_milan,1\ncowter,0\nyellow_headband,0\nscone,0\nsavage_(arknights),4\ncomic_sans,0\nyukihira_souma,4\niced_tea,0\nmaekakekamen,1\ndier_(girls'_frontline),4\nkemono_jihen,3\nhalf-life,3\nporygon,4\nooshima_tomo,1\nayamisiro,1\nconstriction,0\nnamihaya,1\nakasata,1\nphantom_(happinesscharge_precure!),4\nkurono_nekomaru,1\nsarfata,1\nlove_wing_bell,0\npinb,1\nrelationshipping,0\nima_(lm_ew),1\niris_(asteroid_ill),4\nkanoko_(pattern),0\nnr_noir,1\nheart-shaped_pubic_hair,0\nyushe_quetzalli,1\ngibun_(sozoshu),1\npurple_tabard,0\nlever_action,0\nai_yori_aoshi,3\nrelena_peacecraft,4\nasakura_otome,4\nmirino,1\nnana_g,1\ntdk,1\ncatsmoon,1\ncellphone_strap,0\nmage_(dq3),4\nnagatsuki_sanae,4\nnanno_koto,1\naustria_(hetalia),4\ncis_(tiger_&_bunny),4\nsukabu,1\ngeike,1\nyutsumoe,1\nchunyan,1\nfugetsu_taku,1\nghostbusters,3\nkanna_hisashi,1\nadagaki_aki,4\nlask,1\ntel-o,1\neternal_sailor_moon,4\nryou-ouki,4\name_usako,1\nichijou_hikaru,4\nkinbakuman,1\nkokubunji_suou,4\ncofffee,1\nteramoto_kaoru,1\nmayonaka_taruho,1\ninkey,1\nbf._(sogogiching),1\nkaraginu_mo,0\ncamisole_over_clothes,0\nsiino,1\nsano_(hospital_0434),1\nyumeno_uta,4\njeep,0\nmissing_teeth,0\ndedue_molinaro,4\nnijitama_shiyushiyu,1\nlunatone,4\nhyoin,1\nkuronami_(lvi),4\ntakuzui,1\ninaba_rinne,4\nigarashi_(nogiheta),1\ntussy,1\nmexican_standoff,0\nsqueeze_bottle,0\nsuzuki_sayaka,4\nzebra,0\nhiragana_oufu,1\nhonyang,1\nkonparu_nozomi,4\nwaku_(ayamix),1\nzip_available,5\nminion_3_(zannen_onna-kanbu_black_general-san),4\ngreater_roadrunner_(kemono_friends),4\nmurano,1\nfurorina,1\nseinen,1\nsugaishi,1\nnatori_(natorism),1\nsinzen,1\nkuromari_(runia),1\nshino_(syllable),1\nginga_tetsudou_999,3\nokazaki_yasuha,4\nasclepius_(fate),4\nyuuki_hb,1\nsorano_(12gou),1\nark_kan,1\ntheodore_(persona),4\ndora_v_nu,1\nnaruse_ibara,4\ndeirdre_(fire_emblem),4\ngoho_mafia!_kajita-kun,3\nieiri_shoko,4\nribbon-trimmed_underwear,0\nkido_(choushouya),1\nfateline_alpha,1\nyae_(ganbare_goemon),4\nkurihara_kenshirou,1\nvoodoothur,1\nechizen_(n_fns17),1\nsankomichi,1\ninnertube_with_ears,0\nhamedoragon,1\nframed_insect,0\noikura_sodachi,4\ncooling_pad,0\nbebe_(bebe_pp),1\nartist_progress,0\nsword_art_online_the_movie:_ordinal_scale,3\ndango_(uni_520),1\nanother_eidos-r,3\nyamakaze_kai_ni_(kancolle),4\nsussurro_(summer_flowers)_(arknights),4\nborderless_panels,0\notome_gee_sekai_wa_mob_ni_kibishii_sekai_desu,3\nyae_sakura_(flame_sakitama),4\nmutant,0\ntenkawa_nayuta,4\nnishizono_shinsuke,4\nhoshizora_e_kakaru_hashi,3\nladies_versus_butlers!,3\nbarn,0\ncoyote_ragtime_show,3\nerect_sawaru,1\ndeformed,0\nhappy_tree_friends,3\ntunapon01,1\ncherubi,4\nmatsuyuki_atsumu,4\nprincess_athena,4\nchirigami-san,1\noozora_itsuki,1\nnagasarete_airantou,3\nfernandia_malvezzi,4\nkamishiro_seren,4\ncrossed_swords,0\naks-74u,0\nkendy_(revolocities),1\njinroku,1\nexpedition_uniform,0\njitomi_monoe,4\nnekoguchi,1\nienaga_mugi,4\nusamata,1\noweee,1\nfutaba_suetsuki,1\neris_(konosuba),4\ntsuyomaru,1\nsuisen-21,1\ndeerling,4\nkinjyou_(shashaki),4\nmetapod,4\nyamai,1\nfreeze-ex,1\nhara_tetsuo_(style),0\nesukee,1\nnori_senbei,1\njikihatiman,1\nshoe_flower,0\ntenbou,0\ntachibana_yuu,1\nchobi_(akchu),4\nshibi,1\nkomajirou,4\nkahlua_(artist),1\nmocchisake,1\nbattle_athletes,3\ntokira_nozumi,1\nholding_cookie,0\ntenzin_(arknights),4\nilyana_(fire_emblem),4\npirate_ship,0\nura_tomomi,1\ntoshizou_(0714),1\nshadaloo_dolls,0\ntsumitani_daisuke,1\nliu_liaoliao,1\npringles,3\ncollared_capelet,0\nzaregoto_tsukai_no_deshi,1\nmou_tama_maru,1\nettone,1\ndeoxys_(normal),4\nbreast_fondle,0\nsinging!_(k-on!),0\nc-low,1\nameyu_(rapon),1\ntachikoma,4\nkirishima_romin,4\nfoster's_home_for_imaginary_friends,3\nshiba_nanasei,1\nyayoi_(egoistic_realism),1\nzetton,4\nblackrabbitsoul,1\nshishiou_no_mofumofu,4\narrest,0\nyanje,1\nuta_macross_sumaho_deculture,3\nyunodon_(sugar_maple),1\nxiaoshou_xiansheng,1\ngun_case,0\nnenosame,1\nselesia_upitiria,4\nkuroduki_(pieat),1\nmitsurugi_tsurugi,1\narima_(arima_bn),1\ngrimgrim,1\nminimized,0\ndrie,1\nsangoku_infinity,3\nlace-trimmed_ribbon,0\nkusunoki_yukimura,4\nazusa_(swimsuit)_(blue_archive),4\nmallizmora,1\nakitsuki_(oenothera),1\nshoukaku_kai_ni_(kancolle),4\nmiyazen,4\npyonpyonmaru,1\nteekyuu,3\njet_yowatari,1\nsenzzang,1\nkawai_rie,4\ndisdain,0\nensemble_girls!,3\namairo_islenauts,3\nyoshida_nobuyoshi,1\ngrey_robe,0\ndav-19,1\nmontpelier_(azur_lane),4\ntabe_koji,1\nmutsu_(snail),4\nst._hilde_academy_of_magic_uniform,0\nyouhei_64d,1\nmaruse_nisanosuke,1\nignatz_victor,4\nmismatched_wings,0\naratama_(a-tama),1\nscrew_in_head,0\nconte_di_cavour_nuovo_(kancolle),4\nsophia_(granblue_fantasy),4\nkamen_rider_wizard,4\nyellow_feathers,0\nconstantine_xi_(fate),4\nnerotarou,1\nhand_to_own_face,0\nneeko_(league_of_legends),4\nleather_choker,0\nwei_xiao,1\nhorns_pose,0\nanimage,3\nesuyuki,1\nmofu,1\nwendy's,3\nzun_(artist),1\nking_crimson_(stand),4\nwatanabe_yasuaki,1\nspace_adventure_cobra,3\ntennohi,1\nhisou_tensoku,4\nmirai_denki,1\nspinning_top,0\nfunnyari,1\nyoung_zelda,4\npickelhaube,0\nteoshiguruma,1\nmugicha_(mugicha0929),1\nfuka_(hk_nemo),1\nmatou_zouken,4\nurameshi_yusuke,4\ntelnyashka,0\nogami_ren,1\ntakenashi_eri,1\nziling,1\nikezawa_kazuma,4\naiuti,1\nlvlv,1\naloe_(kenkou3733),1\nandou_you,1\nhanagata,1\ntaruya,1\nriddle_rosehearts,4\nnishimura_kinu,1\nsuzuka_utako,4\nreiha_(penetrate),1\namatsukaze_(kancolle)_(cosplay),0\nm1918_bar,0\nlove_train,0\nfacebook,3\nwanaca,1\ntangaroa_(housamo),4\nwebcam,0\nfamas,0\nsuzumori_521,1\nkidnapped,0\nrita_rossweisse_(artemis),4\nmalenia_goddess_of_rot,4\nstudded_jacket,0\nrobo_(chrono_trigger),4\ntodding,1\n7ife,1\nmazenda_(3378),1\njackal_boy,0\nshuckle,4\nkihaiu,1\ntusk_(stand),4\nmailman,0\nbaltimore_(black_ace)_(azur_lane),4\ntoe_seam,0\ntani_takeshi_(character),4\ndabadhi,1\nmonchan_rev3,1\nfrederic_chopin,4\nhoumatu_awa,1\nelf_(houtengeki),4\nchiyo_(ane_naru_mono),4\nkaneshiya_sitara,4\ndrang_(granblue_fantasy),4\nuwu,0\nemiya_kiritsugu_(assassin),4\nluna_(shadowverse),4\nhawe_king,1\nsakura_ayane,4\nkatami_shinta,1\ntype_89_i-gou,0\nhisakata_souji,1\ncriminal_girls,3\nmihifu,1\nnikola_tesla_(fate),4\nkiznaiver,3\nmepikari,1\nshadowsinking,1\ndeathalice,1\nyami_(m31),1\nswirlix,4\nyachi_hitoka,4\nichigai_(hayawossan),1\npriapus,3\namatori_chika,4\nmatsumiya_kiseri,1\nsuzuki_nene,1\nkurukuru_(sekai_seifuku),4\nclouble,1\nsasaki_tatsuya,1\nganbare_ganbare_(itou_life),0\ntorii_eriko,4\nmiru_(mill_36),1\npeace@pieces,3\nhololive_gamers,0\nchina,0\nsmelling_hair,0\nnephenee_(fire_emblem),4\nale_(ale_halexxx),1\nwakku_kan,1\nlicking_blade,0\ndanmaku_comments,0\nkimtoxic,1\nchabo_(fuketsudan),1\npink_horns,0\nakebi_komichi,4\nhexagram_hair_ornament,0\nhinata_hajime_(awakened),4\nkirome_(kamipaper),1\ntoudou_itsumi,4\nkishido_temma,4\nhanazono_shizuma,4\nhinata_mutsuki,1\ngouda_nagi,1\nflyer,0\nscyther,4\ncherrypin,1\noku_(okumen),1\naotori,1\nmizuki_sei,1\ntakei_ooki,1\nosechi,0\nkusunoki_midori,4\nhong_kong_(hetalia),4\nshiranui_(nakiri_ayame),4\nshouma_keito,1\nyoo_(tabi_no_shiori),1\nhabatakuhituji,1\nhouden_eizou,1\nruru_(gi_xxy),1\nshiokazunoko,1\nfolinic_(arknights),4\nminagiku,1\nrabbit_(wlsdnjs950),1\nmidorikawa_hana,4\nsnozaki,1\nman_face,0\neye_symbol,0\nshiomizu_(swat),1\nhuniepop,3\nhetareeji,1\nbellsprout,4\nkokubunji_koyori,4\nmiyashiro_ryuutarou,1\nalto-00,1\nakino_shin,1\nhinata_masaki,1\nmajokko_(kancolle),4\nryou_(shirotsumesou),1\nokiru,1\npachinko,0\nbrown_rose,0\nsuihi,1\nboro,1\nmosta_(lo1777789),1\nmini-ikamusume,4\noldlim,1\nspitting_blood,0\nonigunsou,1\nsuzumiya_akane,4\niwamushi,1\nbroken_ground,0\nnut_(food),0\nkanitama_(putyourhead),1\nhoothoot,4\nkittew,1\ninsult,0\nmia_(fai1510),1\nrei_(tdn_ng),1\ncharging_device,0\nshimohira_reika,4\ntweezers,0\nfeather_dress,0\nsesshouin_kiara_(swimsuit_mooncancer)_(first_ascension),4\nslacks,0\nblack_fundoshi,0\nhz_(murder_license_),1\ntitan_(titanfall),0\ngundam_wing_endless_waltz,3\nblood_trail,0\nayano_yuu_(sonma_1426),1\nraitho,1\nscott_malin,1\ntropius,4\nminimalism,0\nsolar_eclipse,0\nadmiral_shiro_(shino),4\nmoe2015,0\nage_switch,0\nloundraw,1\ncheshirrr,1\nminami_rena,4\nmotohara_moka,1\nouka_(ra-raradan),1\noosawara_sadao,1\npilokey,1\n2drr,1\nneko_sensha,1\nstanding_double_penetration,0\nhyouta_(yoneya),1\nhiyajou_maho,4\nmachine-doll_wa_kizutsukanai,3\nsawa_(snack_yoshie),1\nel_shaddai,3\nhatozuki_tsumiki,1\nastraea_(sora_no_otoshimono),4\nphoenix_wright:_ace_attorney_-_trials_and_tribulations,3\npapa_(shimeguru),1\n404_logo_(girls'_frontline),0\nouse_(otussger),1\nafter_rain,0\ntonchan,1\nsaotome_ako,4\neclair_martinozzi,4\ninou-battle_wa_nichijou-kei_no_naka_de,3\nkamiki_uutarou,1\nray_(yakusoku_no_neverland),4\nloki_(fire_emblem),4\nunimon_e,1\nprinz_eugen_(cordial_cornflower)_(azur_lane),4\nhisuian_typhlosion,4\nhashiko_nowoto,1\nenmanuelart20,1\nyu-gi-oh!_the_dark_side_of_dimensions,3\nfou_(ssqseeker),1\nyuuri_(saikin_yatotta_maid_ga_ayashii),4\nkaminari_doon,1\nyuuichi_(reductionblack),1\nfull_moon_wo_sagashite,3\nyue_(shemika98425261),1\nsuper_saiyan_3,0\nmajestic_prince,3\nsoso_(chlgksk110),1\npedophile,0\nsora_no_iro_mizu_no_iro,3\njanuary,0\natsumi_jun,1\nkuroya_shinobu,1\nkanda_yuu,4\nkawashiro_nitori_(cosplay),0\nkishida-shiki,1\nkamen_rider_ryuki,4\npsd_(psdgai),1\nkokonoka,1\nkurusu_shou,4\npopotan,3\nkaran,1\nkesuida,1\ntokimeki_memorial_4,3\negyptian_art,0\nico_(green_bullet),1\nsabujiroko,1\nmitarai_shouta,4\nkotori_photobomb,0\nmikel_(4hands),1\nling_yao,4\njet_engine,0\nleopard,0\nopposing_sides,0\nsagging_testicles,0\nforeplay,0\nbunny_mask,0\ngrimm_(rwby),4\ntouka_gettan,3\npinki_(shounenkakuseiya),1\neluthel,1\nzigzagdb,1\nrasis,4\nstrider_(video_game),3\ncecil_damon,4\nlock_cole,4\ngerman_army,0\nakatoro_(nightlord),1\nsasaki_haise,4\na.hebmuller,1\nciel_alencon,4\nanna_(sennen_sensou_aigis),4\ncarrot_(one_piece),4\nfelarya,3\nbengus,1\nlamia_loveless,4\nirma,4\nmoeanime,1\non_stool,0\noiun,1\nbiohazard_symbol,0\nokbnkn,1\nlysander_z,1\nmitsuboshi_colors,3\narashiki_mamizu,1\npectoral_squeeze,0\nkamen_rider_kabuto,4\nxelloss,4\nlycanroc_(midday),4\notosaka_yuu,4\norange_(touhou),4\ntorn_vest,0\nyuu_(arcadia),1\nkanora,1\nknight_(hollow_knight),4\nyostar,3\nfutatsuki_eru,1\njupiter_symbol,0\narcade_sona,4\nshameimaru_aya_(cosplay),0\ndouble_spoiler,3\namemiya_taiyou,4\ngymnastics_ribbon,0\nshintani_tsushiya,1\nshirane_koitsu,1\nerechan,1\nyama_raja_(elsword),4\nbokoboko_(pandagapanda1),1\npoi_(last_origin),4\nochikazuki_ni_naritai_miyazen-san,3\nyachima_tana,1\nroido_(taniko-t-1218),1\nsaya_(twrlare),4\nnogi_yasuhito,1\nsuki!_yuki!_maji_magic_(vocaloid),3\nhanasaki_komugi,1\nsaboten_teishoku,1\nnanashiki_fuuka,1\nmanatsuki_manata,1\nmeguru_(cookie),4\nkyou_(ningiou),1\nwanko_(takohati8),1\nwarabino_matsuri,1\nponcho_s,1\nginzake_(mizuumi),1\nkagamine_rin_(roshin_yuukai/hard_rkmix),4\nkomasawa_(fmn-ppp),1\npink_gemstone,0\nateoyh,1\nmanio,1\nagata_(agatha),1\nokuragon,1\nonsokumaru,4\ngrune,1\nanimal_between_breasts,0\nemerald_sustrai,4\nkobuushi,1\nexpectations/reality,0\nnenbuta,1\nhood_(warship_girls_r),4\nsuzuya_(azur_lane),4\nhitomin_(ksws7544),1\ncarmilla_(swimsuit_rider)_(fate),4\naqua_socks,0\nkaeruyama_yoshitaka,1\nhoshino_ouka,1\nkamen_rider_vice,4\nasakura_yume,4\nminamoto_no_raikou_(swimsuit_lancer)_(second_ascension)_(fate),4\nshirosaba,1\nhinata_(user_rjkt4745),1\nprojekt_red_(light_breeze)_(arknights),4\nazhdaha_(genshin_impact),4\ntotoharu_(kujirai_minato),1\niogi_(iogi_k),1\nskadi_the_corrupting_heart_(sublimation)_(arknights),4\nmy_little_pony_equestria_girls,3\nduca_degli_abruzzi_(azur_lane),4\nmegami_tensei,3\nhajimari_no_kiseki,3\nchaos_(warhammer),0\nhomeko,4\nkamen_rider_hibiki,4\nmatsumoto_noriyuki,1\ncroupier,0\nuchiha_obito,4\nalecto_0,1\nhazekura_mikitaka,4\npainpa,1\nwancho,1\nfloppy_disk,0\nfrog_(chrono_trigger),4\ntougarashi_hideyu,1\nserval,0\nmage_(disgaea),4\nknee_blush,0\nazomo,1\nstrike_witches_1940,3\nfire_hydrant,0\nmokorei,1\nyuki18r,1\ntouhou_hisoutensoku,3\ni-26_(azur_lane),4\nyoshida_hajime,1\ntibbers,4\nsakurai_unan,1\nminami_juujisei,1\ntina_(closers),4\nsakakidani,1\nhand_over_heart,0\nmochacot,1\nelsa_granhilte,4\ninverted_colors,0\nbababababan,1\ngravity_daze_2,3\nmochi_trail,0\nquuni,1\nprint_umbrella,0\nknight's_&_magic,3\ndeidara_(naruto),4\nbugsy_(pokemon),4\ngrenville_(azur_lane),4\nsamidare_(hoshi),1\nno_smoking,0\nrun_p_(aveton),1\nbou,1\nchutohampa,1\nshuppet,4\nmg5_(girls'_frontline),4\nmori_nagayoshi_(fate),4\nkumatora_tatsumi,1\nump45_(agent_lop_rabbit)_(girls'_frontline),4\nstan_marsh,4\ncuphead_(game),3\nsega_dreamcast,0\nkobinbin,1\nbarasui,1\nborrowed_hairstyle,0\nbidoof,4\nnasaniliu,1\ntanigawa_yuzu,4\nmasamune_(ff7),0\nsob_(submar1089),1\nstar_nun_(diva),4\nstar_cutout,0\ninre_kemomimi,1\nhuangdanlan,1\noza_watto,1\nbikini_bridge,0\nextra_digits,0\nkasa,1\ndanua_(summer)_(granblue_fantasy),4\nitsuka_shidou,4\nhigh-low_skirt,0\nrevolverwing,1\nwhite_album,3\npower_rangers,3\npolka_dot_necktie,0\nanbe_masahiro,1\nsebastian_michaelis,4\nuzuki_aki,1\nmalcorond,1\ntenkuu_no_craft_fleet,3\nkanbara_satomi,4\nstriped_bike_shorts,0\norca_girl,0\njimsdaydreams,1\njasdavi,1\nkongou_(kancolle)_(cosplay),0\nshin_no_tenpii,1\ntanaka_hime,4\nfan_la_norne,4\nhirota_(masasiv3),1\nnoble_academy_school_uniform,0\nsaruno_(eyesonly712),1\nkomekko,4\ndaitoshokan_no_hitsujikai,3\npointing_gun,0\nyazuki_gennojou,1\nore_no_kanojo_to_osananajimi_ga_shuraba_sugiru,3\nprimary_stage,1\nribbon_baton,0\nvistamp,0\nm1_garand_(girls'_frontline),4\nwedge_(tyrl_stride),1\nfuuka_(blue_archive),4\nmitama_mudimudi,1\nsanwari_(aruji_yume),1\ndoukyo's,0\njin_(xenoblade),4\narsh_(thestarwish),1\nkisasage_kouta,1\nnaho_(pi988y),1\nfenrir_(fenlil0316),1\ndonquixote_doflamingo,4\nbelly_poke,0\navicebron_(fate),4\ntriple_wielding,0\nminagi_mikoto,4\nshamisen_(suzumiya_haruhi),4\nsmeargle,4\nshiroi_karasu,1\nrimukoro,1\nrixia_mao,4\nkatori_(quietude),1\ncham-p,4\ndeca_purio,1\nneko_danshaku,1\nwaisshu_(sougyokyuu),1\nhaiiro_teien,3\nwewe,1\nkomiyama_kotomi,4\nshia_flatpaddy,4\nkaleido_ruby,4\nstage_curtains,0\nichiroku_(sakumogu-029),1\ntaiga_(ryukyu-6102-8),1\nshoulder_massage,0\nfly_agaric,0\ngradient_gloves,0\ntwo-sided_headwear,0\nmole_on_crotch,0\nmimasi_osuwari,1\ndromarch_(xenoblade),4\nkagiyama_shachou,1\npomeranian_(dog),0\nproject_bunny,4\nmalino_(dream_maker),1\nasteion,4\nbakuretsu_tenshi,3\nhoshino_yuumi,4\nuon_taraku,1\nathrun1120,1\nkingdra,4\nsphinx,0\nkokoro_(hakui_koyori),4\ntakamura,1\nfinal_fantasy_crystal_chronicles,3\nhodaka_natsumi,4\nmuhi11234,1\nmushihime-sama,3\ncastlevania:_portrait_of_ruin,3\nsheriff_badge,0\nyuki_onna_(nurarihyon_no_mago),4\nacea4,1\nhougu_souji,1\nmurata,1\n258n,1\nugeppa,1\nkingdom_key,0\ngeodude,4\ngarana,1\nstar_guardian_soraka,4\nleria_v,1\nno_hair_ornament,0\nalzano_school_uniform,0\nosamada_meika,1\ntanishi_(tani4),1\nmunyuu,1\nsisters_~natsu_no_saigo_no_hi~,3\nwhipping,0\nkinugasa_yuuichi,1\nnemunemu_semi,1\ndanaka,1\ntun,1\nno_anus,0\nyandr4hope,1\nmareanie,4\nkokoro_connect,3\namog,1\nrurudo_lion,4\nmelusine_(ibuki_notsu),4\nkatsuragi_yako,4\nrunway,0\nsnake_tattoo,0\nscene_(arknights),4\ncaveman,0\nsutora_binsuke,1\nyu_ni_t,1\nfumafu,1\nusaka_ray,1\nkageyama_torako,4\ndom,4\nacog,0\namagaeru_(hylathewet),1\nnavel_insertion,0\nagent_4_(splatoon),4\njun_(princess_connect!),4\npelipper,4\nconstruction,0\nazul_ashengrotto,4\nsauvignon,1\nm4_sopmod_ii_jr,4\nhisuian_growlithe,4\nmolyb,1\nhookah,0\nshirogane_(cufsser),1\nvivid_bad_squad_(project_sekai),0\npouncing,0\nkomi_shuuko,4\nleather_armor,0\nkibadori_rue,1\nwolflong,1\ntasmanian_devil_(kemono_friends),4\ntawashi1623,1\nbrionne,4\ninfi,1\nnishimiya_shouko,4\nkamiya_zuzu,1\nkotoura_haruka,4\nisshiki_momo,4\ndusty_(gravity_daze),4\ndate_masamune_(sengoku_basara),4\nentrance,0\nmartha_(swimsuit_ruler)_(second_ascension)_(fate),4\ntepen_(tptptpn),1\ngunpla_boy_(ishiyumi),4\ngoredolf_musik,4\nnanu_(pokemon),4\nwulazula,1\nghost_hair_ornament,0\ngesugesu_ahoaho,1\ntohsaka_rin_(cosplay),0\nharukatron,1\npidgeotto,4\nrecycle_bin,0\nmagical_mirai_miku_(2019),4\ntakanashi_yomi,4\nyo-class_submarine,4\nkokomi_(aniesuakkaman),1\nhushabye,1\nkimagure_blue,1\nfenrir_(shingeki_no_bahamut),4\nnoeru,1\nng_(kimjae737),1\nmenstruation,0\nzhainan_s-jun,1\ntsuruki_shizuka,4\nmiyasaka_naco,1\nkunisaki_yukito,4\ngranblue_fantasy_versus,3\npeterhl,1\nlifeguard_chair,0\nsohn_woohyoung,1\nartem_wing_(tears_of_themis),4\ngenmu_senki_leda,3\nkarma_(nakiri_ayame),4\nfinn_the_human,4\njiyuuyuu,1\nmokyutan,1\nmiwasiba,1\nprogression,0\nnomura_tetsuya,1\nmarivel_armitage,4\nnovember,0\nmarikawa_shizuka,4\nebira,1\narcher_(ragnarok_online),4\nkikuri_(touhou),4\ncyberbots,3\ngrowth,0\nsuiheisen_made_nan_mile?,3\nazumaya_hironaru,1\ngotou_kenji,1\nhonchkrow,4\nmister_(black_and_white),1\nnishizawa_ayumu,4\nchihayafuru,3\nleogust,1\nsebas_murasaki,1\nno_hands,0\nsenya_(dq11),4\nkoin_(foxmark),1\naosaki_yukina,1\nstingray,0\nhariyama_(toubou_tengoku),1\nhitomi_o,1\nutane_uta,4\nmeipu_hm,1\nseofon_(granblue_fantasy),4\ngonoike_biwa,1\naona_(anagasaki),1\nsmall_lady_serenity,4\ngudon_(iukhzl),1\nnamaru_(summer_dandy),1\naoi_suzu,1\nheadwear_writing,0\nosora_(judithandlilith),1\nibara_azuki,1\nkagura_yuuki,1\nsuguri_(character),4\nmgk968,1\nlobelia_(saclia),1\nkarin_(naruto),4\nnandaba_naota,4\ncyawa,1\nuganda_(ugandam_00),1\nhongbao,0\nromana,1\nyagiri_namie,4\nscopedog,4\ngarage,0\nreed_(arknights),4\ngoth_risuto,1\nkuroe_shizuku_(cosplay),0\ncrossed_fingers,0\ngridman_(ssss),4\nflying_boat,0\npuru_(ex-150),1\nshinkuukan_(tetsuo3),1\npolka_dot_scarf,0\ntype_95_(summer_cicada)_(girls'_frontline),4\nrebecca_chambers,4\nperrault_(last_origin),4\nkasamoto_eri,4\nakisa_(12023648),1\nkomachi_pochi,1\naori_sora,1\nstopwatch_around_neck,0\nfishing_net,0\napron_tug,0\npondel,1\nheart-shaped_mouth,0\nbakusai,1\nminasenagi,1\nasahigaoka_school_uniform,0\ngyoju_(only_arme_nim),1\naozora_nan,1\nsen_no_kiseki_ii,3\nkataru_(ubw-emiya),1\nvayne_(league_of_legends),4\nponkan_8,1\nskylader,1\nkuga_zankurou,1\niseki_(kuroshura_no_tabiji),1\nsekiutsu_maria_tarou,4\nbarioth_(armor),4\nbroken_plate,0\nscathach_skadi_(third_ascension)_(fate),4\nthe_silmarillion,3\nraoh_(hokuto_no_ken),4\nmatsu_(kancolle),4\nmatsubayashi_souta,4\nnorthern_ocean_princess_(cosplay),0\name_816,1\nhentaki,1\nfudou_yukimitsu,4\nhacka_doll_1,4\ncocked_eyebrow,0\nsumia_(fire_emblem),4\nonedoo,1\nl85,0\nkagetsu_tooya,3\nyasohachi_ryou,1\nkazami_chiu,1\npurple_rope,0\nkylin,1\nseptet_(zrca_janne),1\nikezaki_misa,1\nomc,3\nmaxa',1\nwadanohara,4\nkaneki_ichika,4\nhiroshi_(hunter-of-kct),1\nthomas_edison_(fate),4\ndouble_grinding,0\nmoonywitcher,1\nthumb_to_mouth,0\naccessories,0\nmajamari,1\naltronage,1\ntouching_ears,0\nio_(princess_connect!),4\nkendou_itsuka,4\nbrown_cat,0\nthe_king_of_fighters_all-stars,3\nsplattershot_jr_(splatoon),0\nhoujou_sophie,4\nroll.exe_(mega_man),4\nmasaki_tenchi,4\nshounen_jump,3\nyuuki_kei,4\nnaruse_mamoru,1\nkakuno,1\nneme,1\nhero_(dq4),4\nnatsume_takashi,4\nvolkswagen,0\nalice_(megami_tensei),4\narmbinder,0\ntenshinranman,3\nsaeki_nao,1\nmajin_gappa,4\nhazakura_satsuki,1\nspoon_straw,0\nkuzuvine,1\never_17,3\nshousan_(hno3syo),1\nsuzuhara_touji,4\ngreed_(fma),4\nian_chase,1\nrangycrow,1\nsivir,4\nryuu_(breath_of_fire_v),4\nbrown-tinted_eyewear,0\nursaring,4\npile,0\nphonecard,0\nbousouzoku,0\nmilcho,1\nsuzuki_hina,4\nsuper_sailor_jupiter,4\nsoviet_army,0\ntogutogu,1\nin_orbit,0\ndorayaki,0\nteam_galactic_uniform,0\ngauze,0\ntreadmill,0\nyasuri_shichika,4\nmichiru_(amphibian),1\nenarane,1\nabarai_renji,4\nkeigi,1\ncapsule_corp,0\nandava,1\nsee-through_panties,0\nkomikado_sachi,4\nshiny_and_normal,0\nholding_skewer,0\nwillow,0\npolka_dot_innertube,0\nholding_flashlight,0\nseikai_no_senki,3\nmesprit,4\nfinnish_flag,0\noyasu_(kinakoyamamori),1\nblack_eyeshadow,0\nnorazura,1\nsomehira_katsu,1\nmimelond,1\nmathew_(srmmk_mce),1\nsitting_on_tree_stump,0\nabukobato,1\nazumi_akitake,1\nmomoi_azuki,4\nhan-0v0,1\nsatsumi,1\nmiyuki_rei,1\nmomiji_oroshi,1\nhalter_shirt,0\nvikala_(blooming_summer_wallflower)_(granblue_fantasy),4\ndriftkingtw,1\nm1918_(girls'_frontline),4\nproduction_kawaii,3\nushio_kai_ni_(kancolle),4\ni-chu,3\nfei_lio_mao,1\nhydrant_(kasozama),1\nf6,0\nhansel_(granblue_fantasy),4\ngretel_(granblue_fantasy),4\nyuigahama_yui's_mother,4\nnipple_biting,0\nplastic_memories,3\npokemon_battle,0\nebihara_naho,4\nsuzuki_ayane,4\npepper_shaker,0\noda_nanami,4\nume-sensei,4\nkuromu_(underporno),1\nirene_(kanniiepan),4\ndustpan,0\nzaku_ii_s_char_custom,4\nzinogre_(armor),4\nthomas_hewitt,1\nkari_(kakko_k),1\ntalonflame,4\nichinose_hajime,4\nrobot_girls_z,3\noden_(th-inaba),1\ndior-zi,1\nfurukawa_herzer,1\nserra_(fire_emblem),4\nribbon-trimmed_bow,0\nkatsushika_pachi,1\nkure~pu,1\nreiga_mieru,4\nkoya_(koya_x_00),1\nlilaccu,1\nmarx_(kirby),4\nel_(girls_und_panzer),4\nfeather-trimmed_jacket,0\nshantae_and_the_pirate's_curse,3\ngrape-kun,4\nazen_(mntimcczgrtn),1\nakiba_monaka,1\nnakamura_tetsuya,1\nprincess_leia_organa_solo,4\nsusuki_grass,0\nsa-dui,1\nyuusha_no_kuse_ni_namaiki_da,3\nluozhu_(the_legend_of_luoxiaohei),4\nshinsengumi_(gintama),0\ngyaheung,1\nslave_tattoo,0\nsig_sauer_556,0\ntales_of_rebirth,3\nakitsu_maru_kai_(kancolle),4\nsawatari_riko,4\njesus,4\ngibson,0\nrepi,1\nblack_sister,4\nnoki_(affabile),1\nkazumi_yoshiyuki,1\nhopping,0\nbreast_pump,0\nyatomi,1\nmiho_(mi),1\nken_(haresaku),1\nsodapop_(iemaki),1\nhamster_ears,0\ntakahashi_mugi,1\nnaginami,1\nookami_ryousuke,1\nryuumonbuchi_touka,4\nhirokawa_kouichirou,1\nrin_(royal),1\nsugo6969,1\nalluka_zoldyck,4\nsenou_natsuru,4\nlunar,3\nkidachi,1\nshirase_(shirose),1\nmm!,3\nherozu_(xxhrd),1\nlrk,1\nsuikakitsu_shiro,1\nkuroi_suna,1\nover_the_nose_gag,0\ntatsunokosso,1\nkitsune-neko,1\nouga_saki,4\notome_function,3\nexploration,0\nbone_necklace,0\ntooyama_rin,4\nmaeha,1\nred_corset,0\ninubouzaki_fuu,4\nazurill,4\nkurachi_mizuki,1\nsunohara_mei,4\nm-rs,1\nrenata_alekseevna_tsvetaeva,4\nmiyahara_takuya,1\nkaya8,1\nkinoshita_sakura,1\nmikisai,1\nsadakage,1\nsextuplet_(osomatsu-kun),4\nkiriu,1\ndlanon,1\nshadow_puppet,0\nplate_stack,0\nyoosai,1\ndouble_cheek_kiss,0\nimplied_incest,0\nshin_koihime_musou,3\nsuper_robot_wars_og_saga_mugen_no_frontier_exceed,3\nheiwa_(murasiho),1\nblacksmith,0\nsupreme_(brand),0\npringles_can,0\njunko_(blue_archive),4\nbinato_lulu,1\ndizzy_(feeling),0\nhedgehog_ears,0\nobject_in_swimsuit,0\ngolgi_hon,1\nshovelwell,1\nking_cobra_(kemono_friends),4\nnanaume_(shichimi_tougarashi),1\nsengo_muramasa_(touken_ranbu),4\nkurofood,1\nhiroyama_hiroshi,1\nnasu_no_yoichi,4\nhere's_johnny!_(meme),0\nyomoyama_yotabanashi,1\nmy700,1\nseizon_honnou_valkyria_(idolmaster),0\namerican_football_(object),0\nkizami_nori_to_yamaimo,1\norange_hair_ornament,0\nyuki_to_hana,1\nisaki_tanaka,1\nhakkasame,1\nkobeya_(tonari_no_kobeya),1\nwrist_extended,0\ncinderella_series,3\nnoixen,1\nkorok,4\ngmgt_(gggggg3),1\nsen_(sen0910),1\nhashiro,1\nnishizono_chigusa,4\nsimon_belmont,4\nunclasped,0\nhigh-cut_armor,0\njamadhar,0\nphantom_(arknights),4\nsora_(sky_s04),1\nanna_nishikinomiya,4\npapino,1\nsaaya_(suisei_no_gargantia),4\nmatsuki_(mikipingpong),1\nyoyokkun,1\ncommon_vampire_bat_(kemono_friends),4\nnetoge_no_yome_wa_onna_no_ko_janai_to_omotta?,3\nymir_(queen's_blade),4\nmukunokino_isshiki,1\ntsube_aika,4\nwatakarashi,1\nisna_(footprintsofisna),1\nlucidsky,1\ndancing_stars_on_me!,0\ngurasion_(gurasion),1\nsteamroller,0\nanpan,0\nisaac_foster,4\nhand_under_shorts,0\nmizusaki_tsubame,4\nlast_exile:_gin'yoku_no_fam,3\nboryeon_(last_origin),4\npoyoyo_(nakiri_ayame),4\nsin_kiske,4\namemiya_nazuna,4\nobstagoon,4\ntakase_asagiri,1\nquasarcake,1\npush-button,0\nkomomo_(ptkrx),1\nsewer_grate,0\nbad_reflection,0\nred:_pride_of_eden,3\nhoshino_ichika_(project_sekai),4\nyodare_(3yami8),1\nkyubey_(cosplay),0\nyoshiwo,1\nvash_the_stampede,4\nasahina_mitsuru,4\nyukke,1\nyunar,1\ndragon_quest_i,3\nkolin,4\nsuesan,1\nmasaharu,1\nkauto,1\nikeda_chizuru,4\nkatakana,0\nspartan_(halo),0\nirisu_shoukougun!,3\nsin_(sin52y),1\ntaihou_(muse)_(azur_lane),4\nkazekawa_nagi,1\njiu_(sdesd3205),1\nhanako151,1\nh'aanit_(octopath_traveler),4\ntoy_block,0\nneko_ni_chikyuu,1\nplatform,0\nfrillish,4\noffbeat,1\namakusa_(hidorozoa),1\ntuxedo_kamen,4\nwhite_wolf,0\naomoro,1\nakai_shuuichi,4\nsqueezing_testicles,0\nhoshihuri,1\nvaseraga,4\nteam_yell,0\nsalmonid,0\nhinoe_(right-hnxx03),1\nayra_(fire_emblem),4\ndugtrio,4\nkuzumiya_yuyu,1\nfirewood,0\nhitoyo_(baffu),4\nnasii,1\ngrey_camisole,0\nnekomu,1\nspykeee,1\ninaba_haneru_(animare),4\nass_press,0\nsuppository,0\ngimmy,4\nafter_fingering,0\nmatsubara_yuuna,4\nysk!,1\nchariko,1\nhero_(omori),4\ntaishou_yakyuu_musume,3\npig_girl,0\nelleciel.eud,1\nchou-10cm-hou-chan_(suzutsuki's),4\nsasanomesi,1\nherio,1\nvivy:_fluorite_eye's_song,3\nberserker_armor,0\nwagashi928,1\nanchorage_(azur_lane),4\nbrooke_(mathias_leth),4\na.b.a,4\nmullmull02,1\ncornet_espoir,4\nneko-san_(dim.dream),1\nking,0\nmurasaki_(senran_kagura),4\nlor_(roasyerizyonirapi),1\ninui_sanagi,1\nsushi_(sashimise),1\nhooreng,1\ngekkou_(geccomajin),1\ntouyama_nao,4\nereraero,1\nmonster_hunter_4,3\noniyama831,1\nhasegawa_kodaka,4\nmk23_(girls'_frontline),4\nokunin,1\nhinamori_(18ar0),1\nsnuffy_(vtuber),4\nrudeus_greyrat,4\nhachiroku_(maitetsu),4\ncode:_empress_(elsword),4\nbuna_shimeji_(keymush),1\ncheshire_(summery_date!)_(azur_lane),4\norca_hair_ornament,0\nstriped_footwear,0\ntransformers_(live_action),3\nsumaga,3\nocha_(ochappie),1\nhane_(azelye),1\namahane_madoka,4\nkazukoto,1\nmale_priest_(dungeon_and_fighter),4\ncigarette_holder,0\nflour,0\ndougan_calpis_con,1\nthrowing_poke_ball,0\nlifting_covers,0\nwynn_the_wind_charmer,4\ntachibana_omina,1\nsaiku_(zvlku),1\nyotsunoha,3\nheigani,1\nbra_on_head,0\nhead_between_thighs,0\npuchiko,4\nxkirara39x,1\nwspread,1\nhotaru_iori,1\nbikko,4\nunryuu_kai_(kancolle),4\nbba1985,1\ninukai_isuke,4\nmichimaru_(michi),1\norchis,4\nyutsuka_(amyucca),1\ngiant_otter_(kemono_friends)_(kuro_(kurojill)),4\npaper_mario:_the_thousand_year_door,3\nmasaki_(msk064),1\npegashi,1\ndokugamine_riruka,4\nkapura,1\nangelic_angel,0\napplin,4\ndarius_(league_of_legends),4\nkiryu_coco_(dragon),4\nbison_(arknights),4\ntsuchiya_ako,4\nshion_(tensei_shitara_slime_datta_ken),4\nakari_(princess_connect!),4\ndainsleif_(genshin_impact),4\nsatou_samu,1\nhorz,1\nbriar_rose_(sinoalice),4\nt-pose,0\nmr._mime,4\nswadloon,4\nsugimoto_gang,1\nwolf_o'donnell,4\nkinsenka,1\nkarate,0\nshuri_yasuyuki,1\niron_tager,4\nanew_returner,4\nhalu-ca,1\njq,1\nsawa_jaaji,1\nfinland_(hetalia),4\nchikichi,1\nmaple_tree,0\nheco_(mama),1\ndragonmaterial,1\nmutsuki_riichi,1\nhare_hare_yukai,0\nnamazu,4\nninoude_(ninoude44),1\nbarbecue,0\nquistis_trepe,4\ntsumetai_(tsurunoka),1\ntamakaga,1\nsarong_removed,0\ntaku1122,1\nkurono,1\ndress_grab,0\nsinaooo,1\nlanturn,4\nsewaddle,4\ndemekyon,1\nbad_drawcrowd_id,5\nmoomintroll,4\nsteyr_aug,0\nakagi_(warship_girls_r),4\nhime_(kaibutsu_oujo),4\nnogoodlife,1\nunohana_retsu,4\nhope_estheim,4\ntayuya_(naruto),4\neria_(yu-gi-oh!),4\nlittle_princess,3\ntyoko_tanuki16,1\npimp,0\nstarkamisan,1\nfortune_(last_origin),4\nfortnite,3\nsamejima_mamimi,4\npoochyena,4\nkashimoto_riko,4\nsooru0720,1\nenuni,1\nkyoyakyo,1\nmexif,1\ntympole,4\nmayuzumi_kai,4\nflou_(flou_art),1\nshouryuuken,0\nnagomi_yui,4\ntwo-tone_sweater,0\nchopping,0\nhands_on_penis,0\nkawaruhi,1\ncampo_flicker_(kemono_friends),4\ntamandua_ears,0\nrokurou_rangetsu,4\nkubo_tite_(style),0\nerotibot,1\nyuzu_modoki,1\njoseph_lee,1\nkirisaki_akihito,1\nbutakoma_300g,1\nhelena_blavatsky_(swimsuit_archer)_(third_ascension)_(fate),4\naug_(girls'_frontline),4\nm590_(girls'_frontline),4\nkawakami_princess_(umamusume),4\nfumizuki_kai_ni_(kancolle),4\nz3_max_schultz_(kancolle)_(cosplay),0\nwang_yujia,4\nnohhun,1\nmiiko_(drops7),1\nkureaki_(exit),1\nmoti_coi,1\nwakiyama_tamami,4\nwarainaku,1\nzefrableu,1\nyamadori_yoshitomo,1\ncrosscounter,0\nbasketball_jersey,0\nesther_shen,1\ndream_hunter_rem,3\npokemon_the_movie:_the_power_of_us,3\nkangoku_senkan,3\nmicrophone_wand,0\nluminous_arc,3\nspiked_dildo,0\ngamecube,0\nmebaru,1\nwarehouse,0\nvaan,4\njungle_gym,0\nhimetsuki_luna,1\niuui,1\nnuda,1\nsagiri_(kancolle)_(cosplay),0\nnoriuma,1\nsunagimo_(nagimo),1\nsuzuki_(company),0\ngwayo,1\nrinarisa,1\nonigiri_(ginseitou),1\nraythalosm,1\nsara_(kurome1127),1\nwarabi_mochi_(ehimedaisuki),1\nayano_(ayn398),1\nuka-no-mitama-no-kami_(inakon),4\nfushimi_gaku,4\nkinom_(sculpturesky),1\nseishou_middle_school_uniform,0\nhyakuya_yuuichirou,4\nbait_and_switch,0\nteam_yell_grunt,4\nno_scar,0\nbatta_(kanzume_quality),1\nyukkuri_abuse,0\nmutsuki_face,0\nalbino_(a1b1n0623),1\ntohoho_(hoshinoyami),1\nkumano_(azur_lane),4\nblackmail,0\npizza_(pizzania_company),1\nchloe_(school_festival)_(princess_connect!),4\nchise_(swimsuit)_(blue_archive),4\ndouble_breast_sucking,0\nhigashigure,1\nkaito_(vocaloid3),4\nwinged_unicorn,0\nsakimori_toji,4\nhanasato_minori,4\nisu_(is88),1\nalipheese_fateburn_xvi,4\nasagiri_youko,4\namphibia,3\nlove_live!_sunshine!!_the_school_idol_movie_over_the_rainbow,3\noomuro-ke,3\nyaekaidou,1\nzuo_wei_er,1\nmiakis_(gensou_suikoden),4\nhighleg_dress,0\nosaragi_hazumu,4\nmoritan,1\nhaura_akitoshi,1\ncofepig,1\ngeomancer_(fft),4\nyukizen,1\nmorifumi,1\nken-1,1\nruquia,4\nflyable_heart,3\njont,1\nsuruga_dbh,1\nmale_harem,0\nregisteel,4\ntoudou_naoya,4\nkoi_to_senkyo_to_chocolate,3\nsplatter_background,0\nsaliva_swap,0\nayano_naoto,1\nchristophe_giacometti,4\nkaidou_j1,1\nhanabana_tsubomi,1\nxero,1\nmatsuri_(matsuike),1\ntowa_monaka,4\nharuhina_purple,1\ncradle_(artist),1\nyokaze_japan,1\nwendy_(wendy's),4\nyamada_hifumi,4\nkamen_rider_den-o,4\nfuuka_academy_uniform,0\npeg_leg,0\np-chan_(p-90),0\nhane_(hanetsuki),0\nschool_nurse,0\ngino,1\nsencha_(senchat),1\nyueko_(jiayue_wu),1\nskull573,1\nnyanko,4\nplug_(piercing),0\nkanagawa_okinami_ura,3\nscarf_on_head,0\nyashiro_(kancolle),4\nmeowstic_(female),4\nikemura_hiroichi,1\nfunyariko,1\ngenek,1\narcane_caitlyn,4\nrafaelaaa,1\nriddle_joker,3\nkurou_(bcrow),1\nkirisu_mafuyu,4\nfinger_gun_to_head,0\nyuzuki_(yuduame),1\nhacko,1\njagdpanzer_38(t),0\nfukase,4\nthe_caves_of_steel,3\nmoura_(kenyuugetu),1\nyoshiki360,1\ntotaku_(musha_prune),1\nmasirosu,1\nharu_(kyou),1\nhibimegane,1\npost_and_rail_fence,0\nwaver_velvet_(sensha_otoko),4\nyuki_maru_(yukimaru_1),1\nringeko-chan,1\nfemale_abyssal_admiral_(kancolle),4\ngeronimo_(fate),4\nhorizon_(apex_legends),4\ntoudou_aoi_(jujutsu_kaisen),4\nblonde_dog_girl_(ri-net),4\ncherry_in_the_sun,1\nchoudenji_robo_combattler_v,3\nproject_x_zone,3\nelfnein,4\nimminent_paizuri,0\nchiyoko_(oman1229),1\ntewarusa,1\nyatsuka_(846),1\njudge,0\nkomatsu_ibuki,4\nsurge_concerto,3\nanatomical_nonsense,0\nplaid_socks,0\nfirelight_ekko,4\ntheresa_(arknights),4\nmonk_(ragnarok_online),4\nenpitsu01,1\n2010_fifa_world_cup,3\nfabric,0\nbusiness_card,0\nmikami_komata,1\nskywalker0610,1\nhoso-inu,4\nayanokouji_rem,4\nshinto,0\nc.honey,1\nhisuian_zoroark,4\nbenjamin_kirby_tennyson,4\nsasaki_(suzumiya_haruhi),4\nhokori_sakuni,1\nchaigidhiell,1\nq-gaku,1\nalex_(alexandoria),1\nteam_flare,0\notoshiro_seira,4\nnude_modeling,0\ntaker_(flamestorm),1\nmauko_(girls_und_panzer),4\nclair_vaux_bernardus,4\nmetal_owl_(aden12),1\nk_jin,1\nex_albio,4\ncardigan_(arknights),4\nblackbuck_(kemono_friends),4\nshinano_(dreams_of_the_hazy_moon)_(azur_lane),4\nakiha_(attract),1\nfishbowl_helmet,0\nbattle_effectiveness_award,0\nopal_(pokemon),4\nflamebringer_(arknights),4\nvierzeck,1\nyuuki_shuri,1\nfemale_footjob,0\nblack_underwear,0\ngold_bar,0\nmagical_mirai_miku_(2018),4\nyuzuki_himuka,1\npieck_finger,4\nblue_hood,0\ndaidou_sayo,4\nnaba_(take_tonbo),1\nchosen_undead,4\nu.a._cheerleader_uniform,0\nsoubi,1\nroux_louka,4\nayase-mio,1\nbatou,4\nkuwabara_kazuma,4\neeeeee,1\ndiving_helmet,0\nbatter,0\norange_peel,0\ntamachi_kuwa,1\nkrizalid,4\naru_ra_une,1\nmedic_(sekaiju),4\nsheva_alomar,4\nteaspoon,0\nraybar,1\nhirase_yuu,1\nyanmarson,1\nbeelzebub_(manga),3\nplaying_with_hair,0\nadelbert_steiner,4\nantaria,1\nmikeco,1\nhioyami,1\nryota_tentei,1\nbouen,1\nsherlock_holmes,4\nhalf_slime-chan,4\nhiide,1\nmaku-raku,1\nsouzou_forest_(vocaloid),3\nnina_williams,4\nijiro_suika,1\ntohno_shiki_(2),4\nmonokubo,1\nso-class_submarine,4\nkws,1\nmaho_(yakimorokoshi),1\ntotenkopf,0\ntoushinden,3\nmof,1\nurara_(sumairuclover),1\nautumn-sacura,1\niuro,1\nkujibiki_unbalance,3\nrathalos,4\nmiyano_ururu,1\nwanke,1\ncoughing_blood,0\nmini_santa_hat,0\ncheken,1\nmizuki_ryuu,1\nyamato_iori,4\nero_waifu,1\nlaundromat,0\nest_(fire_emblem),4\nmajo_no_ie,3\nmusume_(yuunama),4\nsaber_lion,4\narashiya,1\nstuffed_pig,0\nfujiwara_warawara,1\nred_(girllove),1\npretty-purin720,1\ncounting,0\nclefable,4\nkriegsmarine,0\nfox_hair_ornament,0\nperfect_cell,4\ntanaka_yuuichi,1\ngetting_over_it,3\nmakiaato,1\nwilliam_shakespeare_(fate),4\nendsmall_min,1\ntemu,1\nkirikan,1\nred_cucumber,1\nmary_skelter,3\npolka_dot_umbrella,0\nlinde_(fire_emblem),4\nmargaretha_sorin,4\nargyle_scarf,0\npon_(shind_997),1\nizuka_daisuke,1\narisen_(dragon's_dogma),4\nwhale_shark,0\nyosaku_(roach),1\nkarigurashi_no_arrietty,3\nbelfast_(iridescent_rosa)_(azur_lane),4\nasicah,1\nyue_(tada_no_saboten),1\nsakra_devanam_(elsword),4\nnuclear_weapon,0\nto_heart_2_xrated,3\nwhoopsatro,1\nzipang_(zip@ng_works),1\nbroken_condom,0\nshedinja,4\nwakui_rumi,4\nminami_aomori,1\nnote2000,1\nsuuru,1\nmaster_chief,4\nkonnyaku_(food),0\npunishment,0\numemaro_(siona0908),1\nulquiorra_cifer,4\ntaishakuten_(onmyoji),4\nastra_militarum,4\ngrovyle,4\nkurogane_no_linebarrel,3\nkudo_shinobu,4\nharuna_(blue_archive),4\ncross_(weapon),0\nhalf_moon,0\nholding_carrot,0\nshears,0\ntakashi_shirogane,4\nsegment_display,0\nlyra-kotto,1\nconveyor_belt,0\nsplatoon_(manga),3\nfruit_tart,0\nu_rin,1\nmatsukawa_(pale_scarlet),1\ntasmanian_devil_tail,0\nmuchourin,0\nkawasemi27,1\nshouni_(sato3),1\nshiromanta_(character),4\nmarona_(phantom_brave),4\nteresa_(claymore),4\ngrey_sweater_vest,0\nyukari_(rihenara_doll),1\njing_hu,1\nsetsuna_(fire_emblem),4\nchii-kun_(seedyoulater),1\nquimbaya_airplane,0\ninvisible_floor,0\nkumasteam,1\nblood_on_chest,0\nstriped_leotard,0\nthumb_in_pocket,0\nkirasaka_sayaka,4\noversized_zipper,0\nstring_of_light_bulbs,0\nmj_(11220318),1\nandreana_(arknights),4\nchampionship_belt,0\nsuzumori_uina,1\ncrescent_choker,0\nryekie_(live_a_hero),4\nmoshihimechan,1\npestle,0\nkriemhild_gretchen,4\nmalik_caesars,4\nonodera_karen,4\nqubeley,4\ngunsmith_cats,3\nhamamoto_ryuusuke,1\niihara_nao,4\ntsukasa_yuuki,1\nnogizaka_haruka,4\nbird_nest,0\nohara_tometa,1\nazure-maya,1\nshirihime,1\nnanami_sano,1\nmiyukiyo,1\nnatsu_hotaru,1\nmizuki_gyokuran,1\nlandolt_tamaki,1\ncharlotte_aulin,4\nsalanchu,1\nalisa_boskonovich,4\nmadarame_harunobu,4\nhaori_himo,0\nkurokin,1\npile_of_skulls,0\ntaro_(ultrataro),1\nnagimiso,1\ngenso,1\ntsuka,1\nj.h.,1\nfire_flower,0\nraditz,4\nhatachi,1\nwooden_staff,0\nsutoroa,1\ncefca_palazzo,4\ntoru_nagase,1\nsuzuharu_toufu,1\nneki-t,1\nzoza,1\nskyrick9413,1\nrichelieu_(warship_girls_r),4\ngujira,1\nwagashi_(dagashiya),1\ntitle_page,0\nhut,0\ncbgb,1\nklein_(sao),4\nrururiaru,1\nedogawa_roman,1\nhealthyman,1\ntakanae_kyourin,1\nsai_(weapon),0\nfujiya_takao,1\ndes,1\nhorn_flower,0\nshirousagi_uyu,1\nharukana_receive,3\nsouryuu_(azur_lane),4\ngomashio_(goma_feet),1\nmokyu,1\nshourou_kanna,1\nit_(stephen_king),3\ngirlish_number,3\nservant_card_(fate/grand_order),0\nvalkyrie_connect,3\neizen_(tales),4\ndark_angel_olivia,4\nhisin,1\nmaruwa_tarou,1\nsugimeno,1\npico_(picollector79),1\nalucard_(castlevania),4\nquilt_(game),3\nmistrail,1\nillyasviel_von_einzbern_(swimsuit_archer)_(second_ascension),4\nneck_bobbles,0\nchocolate_on_hand,0\nkokoa_ninniku,1\nlonglong_(drasdr7513),1\nub1mo,1\nsuzuri_(tennenseki),1\nmaburu_(lojyq1eur3e8bit),1\nmarinette_dupain-cheng,4\npanzer_waltz,3\nwoobat,4\nibuki_munemasa,4\nkuchibashi_(9180),1\nkikivi,1\nsousui_hani,1\narai_harumaki,1\ngensou_suikoden_iv,3\ntada_no_nasu,1\nnobuyoshi-zamurai,1\nnikism,1\nmarth_(fire_emblem_awakening),4\nsdorica,3\napple_on_head,0\nquinella,4\nkuse_(0201),1\nsuraimu_(suraimuraimu),1\npushing_face,0\nbarry_nah,1\nbreast_zipper,0\nfouriasensei,1\nzeroyon_(yukkuri_remirya),1\nniku-name,1\nfairy_knight_tristan_(second_ascension)_(fate),4\nasya,1\nrei_(guilty_gear),4\naugust_von_parseval_(the_conquered_unhulde)_(azur_lane),4\nx_anus,0\nholostars_english,3\nikaheigen,1\nooyama_kina,1\nshirt_under_dress,0\ngetsuyou_yasumi,1\nhamster_girl,0\nhyuuga_hanabi,4\nreco,4\nsaejin_oh,1\nnishigori_atsushi,1\nmochiki,1\nshigofumi,3\ncat_o'_nine_tails,0\nkadoi_aya,1\nengland,0\ngame_boy_advance,0\nmoroyan,1\nachievement_unlocked,0\ntafuto,1\nyasui_riosuke,1\nzenigata_kouichi,4\ndick_gumshoe,4\nmushroom_on_head,0\nmannosuke,4\nhareta,1\nfuugetsu_oreha_ikiru,1\ncandle_wax,0\ngerotan,1\nlace-up_top,0\nleather_skirt,0\nyuu_(yuyukaikan),1\nkuroihato,1\nkumonji_aruto,1\ntoma_(asagayatei),1\nkuronuma_sawako,4\nrumo,1\nveigar,4\nmorino_ichigo,4\njirusu,1\npocari_(sq551),1\npholia,4\ntomosuke,1\nokera,1\nstepping_stones,0\nshigenobu,1\nb-pang,1\nfushitasu,1\nmaiden_in_black,4\njiraiya_(naruto),4\nhiwatari_rin,1\nyashiro_kizuku,4\nwaira,1\nna!_(na'mr),1\nvenomrobo,1\nalia_(mega_man),4\nhapi_(fire_emblem),4\nsaru_(style),0\nsue_(bg-bros),1\nnobile1031,1\nnori_(akusei_shinseibutsu),1\nbeldum,4\nbee_costume,0\nregice,4\naetherion,1\nace_of_diamonds,0\ntextbook,0\npanda_hat,0\nniles_(fire_emblem),4\navatar_(lineage_2),4\nirisu_kyouko,4\nwood_carving_tool,0\nyuyanshu13,1\nsura_(ragnarok_online),4\nlycanroc_(dusk),4\nmikomiko_(mikomikosu),1\ntest_tube_rack,0\nrainbow_bikini,0\nbluez,1\nushiromiya_kinzou,4\nl_(matador),1\nmonster_hunter_frontier,3\nshoori_(migiha),1\ngirotin_ginza,1\nsawkm,1\nholding_legwear,0\nhanazono_yurine,4\nmacross_plus,3\nnixeu,1\nzcune,1\nshachihoko,0\ncum_on_back,0\ndantes_ward,1\nbroken_moon,0\nhk_(nt),1\ncosmos_(flower),0\nfubuki_atsuya,4\noccult_ball,0\nskull_and_crossed_swords,0\nyuzuki_kihiro,1\nadrenaline!!!,0\nkarokuchitose,1\nspotted_hair,0\nbad_tinami_id,5\nhamada_(super_tachioyogi_kyousou),1\nplaneptune,1\nhazuki_kasane,1\nagnes_oblige,4\nillumi_zoldyck,4\ntakashia_(akimototakashia),1\nvane_(vane0),1\nkomota_(kanyou_shoujo),1\nishida_mia,1\ntequila_(arknights),4\ntwinmyniad_(fate),0\nlufi_ays,1\nmishiro_(ixtlolton),1\nflask_(pandora),1\npia_carrot_e_youkoso!!_3,3\nsatomachi,1\nsenran_kagura_estival_versus,3\nkachayori,1\nsukesan,1\nosafune_kairi,1\nmushroom_print,0\nmorokoshi_(tekku),1\nnitori_aiichirou,4\nhayashi_(l8poushou),1\nazuki_akizuki,1\nnikke_(cherish),1\ndaibouken!_yukeyuke_osawari_island,3\ngunxsword,3\nhector_rivera,4\nciel_(elsword),4\nchildhood_friend-chan_(ramchi),4\nmayl_sakurai_(mega_man),4\navatar_2.0_project,3\nshibuya_(tokyo),0\nwake_up_girls!_stage_no_tenshi,3\nkyokugen_dasshutsu,3\nfir_(fire_emblem),4\nyufukiri,1\nrorobomb,1\nizumi_ako,4\neavesdropping,0\nseto_midori,4\namii,1\nrosenkreuzstilette,3\nnahu,1\nsaipin,1\nitou_ayachi,1\nel_cazador_de_la_bruja,3\nmakita_maki,1\nyuimari,1\nnao_(dream_c_club),4\nmugen_no_fantasia,3\ninu3,1\npeople's_republic_of_china_flag,0\ntotoro_bus_stop,0\nmotojima_hakka,1\nfuuki_(te_fuukin),1\noro_(zetsubou_girl),1\nbloomers_around_one_leg,0\nlucid_(maplestory),4\nvolumen_hydragyrum_(fate),0\narena,0\nhashimoto_fumie,4\nsatsuki_mayuri,1\nluminous,1\ngrey_lips,0\nglasses_day,0\nfederica_n._doglio,4\nkiritani_(marginal),1\nsiamese_cat,0\ntsukiumi,4\njust_be_friends_(vocaloid),3\nsolaire_of_astora,4\ngargoyle,0\nosana_reimu,3\ndango_remi,1\nkishuku_gakkou_no_juliet,3\ncard_game,0\nmaruino,1\npink_buruma,0\nxilmo,1\nshared_thought_bubble,0\nd@i,1\ncolor_halftone,5\ninaeda_kei,1\nsencha_(senta_10),1\ngal_gamer_ni_homeraretai,3\nshelly_(pokemon),4\nblue_bandeau,0\nasahiro,1\nyuzu_bath,0\nspiral-only_eyes,0\noosaki_takahito,1\npullcart,0\nkusakami_akira,1\nfuyuno_taka,1\noctillery,4\nshadow_chaser_(ragnarok_online),4\nscout_(tf2),4\nhamachamu,1\ncaleb_thomas,1\ncat_(nyanko_daisensou),0\nkurozako,1\nnero_claudius_(modern_costume_of_crimson)_(fate),4\nciri,4\narc_system_works,3\nopen_cloak,0\npn_(wnsl216),1\npasdar,1\nmukkushi,1\ntedain,1\nchris_(mario),1\nauer,1\nvermillion_akiha,4\narmored_aircraft_carrier_princess,4\nlococo:p,1\nwonderland_wars,3\ngundam_aerial,4\nancotaku,1\nmaze_yuri,1\nglowing_feather,0\njikan_sokougun,0\nmuneshiro_(hitsuji_kikaku),1\nrangen,1\nbarbara_parker,4\nnaitou_kirara,1\nchuby_mi,1\nred_outline,0\nkakudai_(hujikolp),1\nchakapi,4\nrizu_(rizunm),1\nponkotsu_(ayarosu),1\nkaze_makase,1\nnine_(liuyuhao1992),1\ninflatable_shark,0\nkashiwa_mochi_(food),0\nblack_widow,4\nnakajou_tatsuya,4\norange_tail,0\ntohsaka_rin_(fate/extra),4\narrow_(tamawo222),1\nused_artificial_vagina,0\nkokihanada,1\nmurasakio,1\nibara_dance,1\ninuga_anahoru,1\nsabaton,0\ninasaki_shirau,1\nhyottoko_mask,0\ntobi_(kotetsu),1\ncafe_(chuu_no_ouchi),1\nsabakan_(iizuka48),1\nmingke,1\nagito_(nanoha),4\nno_brand_girls,0\nhage2013,1\nraiden_mei_(valkyrie_bladestrike),4\nkaori_(princess_connect!),4\nmouse_girl_(yuuki_(yuyuki000)),4\nakagi_(paradise_amaryllis)_(azur_lane),4\noboro_(fire_emblem),4\ndunkerque_(summer_sucre)_(azur_lane),4\nfujie-yz,1\nazu_torako,1\nfuiba_fuyu,4\nyasuo_(league_of_legends),4\ntakara_joney,1\nminillustration,1\nsuper_robot_wars_x-omega,3\nfumizuki_(azur_lane),4\nhairstyle_connection,0\npink_robe,0\nhotaryuso,1\nmap_(blue_catty),1\nshika_miso,1\nwhite_tiger_print,0\nmahou_no_tenshi_creamy_mami,3\nchen_hai_(azur_lane),4\ncum_in_throat,0\nnavy_cross,0\nenergy_shield,0\n3104_(3104milkshake),1\nkatase_shima,4\nelina_kuroe_no_daarin,1\nmilkshake,0\nnoukatu,1\nfullbokko_heroes,3\nmomose_kurumi,4\nentry_plug,0\nnekokun,1\nyukiyanagi,1\njoui,0\nryuuga_shou,1\niga_tamaki,1\njianren,1\naoi_hiro,1\nyoukan_(food),0\nsenri_akane,4\nda_capo_iii,3\nten-chan_(eternal_s),1\nlozelia,1\nshiranui_kai_ni_(kancolle),4\nsutorora,1\ndaidouji_kira,4\ngus_(clarkii),1\ncastor_(fate),4\nginji74,1\nsubmarine_princess,4\nyoshikawa_kazunori,1\nhanna_rudel,4\nkurokawa_(silve),1\ncompression_sleeve,0\njako_(toyprn),1\ncaved,0\nfarfetch'd,4\nhadouken,0\najifurai,1\npillow_fight,0\nmikripkm,1\nhaagen-dazs,0\nkneeing,0\nchoukai_(azur_lane),4\nshakunetsu_no_takkyuu_musume,3\nl'avenir_academy_uniform,0\nmokona,4\nchariot,0\narcaea,3\nheaven's_door,4\nbaretto_(firearms_1),1\ncompany_of_heroes,3\nscientific_name,0\nremoving_shoes,0\ntengen_toppa_gurren_lagann:_parallel_works,3\nameth_(princess_connect!),4\nasuna_(stacia),4\nsig_(puyopuyo),4\namamiya_chiharu,1\nprincess_tutu_(character),4\ncioccolata,4\nundone_bowtie,0\nleather_suit,0\nnightclub,0\nfloyd_leech,4\nmixplin,1\njason_kim,1\nscharfschutze,1\nh&k_g3,0\nback_turned,0\nmoe_(phrase),0\nkagesaki_yuna,1\nholding_handcuffs,0\nshared_drink,0\ngourgeist,4\nfuyuno_yuuki,1\nhenohenomoheji,0\numeboshitora,1\nprism_magical,3\ngigokku,1\nstatue_of_liberty,0\nyagyuu_kyuubei,4\ntoono_mizuki,4\norange_eyeshadow,0\nbioluminescence,0\nkani_fish,1\njapanese_cylindrical_postbox,0\nhair_extensions,0\nkikuchi_mataha,1\nmaria_robotnik,4\nniimi_kaoru,4\nkarasuma_yayoi,1\nlenora_(pokemon),4\nhimemiya_touri,4\nkashiwagi_kano,1\nf-14_tomcat,0\nagravain_(fate),4\nikuchan_kaoru_(character),4\nnibo_(att_130),1\ntakemura_kou,1\nsuzutarou_gunsou,1\nalchemist_(girls'_frontline),4\nutsugi_noriyuki,4\ncircus,0\nribbon-trimmed_hairband,0\nseero,1\nzorome_(darling_in_the_franxx),4\nhand_on_own_foot,0\nmyht,1\ncapitan_(tsyoujo),1\nberryverrine,1\nquro_(black_river),1\nhumboldt_penguin,0\npika_(kai9464),1\neijima_moko,1\nmutsuki_(new_year)_(blue_archive),4\nkoishi_chikasa,1\nlazulight,0\ndelutaya,4\nm.tokotsu,1\nmizuya_nao,1\nerakin,1\nnick_wilde,4\nnogi_wakaba_wa_yuusha_de_aru,3\nhair_vines,0\nspacecolonie,1\nkouyafu,1\neva_16-gouki,1\nwooden_bridge,0\nghost_quartz_(houseki_no_kuni),4\nmega_charizard_x,4\nsuicide_boy,3\nreiji_(gundam_bf),4\nhands_on_another's_neck,0\nbotan_(clannad),4\naramachi,1\nwatermelon_seeds,0\no-nashi_neko,1\nseulbi_lee,4\nzac_(league_of_legends),4\ntooi_aoiro,1\nnoeru_(noellemonade),1\ntina_sprout,4\nesouko,1\najino_(sakanahen),1\ndeemo_(character),4\ng-taste,3\nkodoku_no_gourmet,3\nraijuu_(bakanara),1\nozkh,1\nsmelling_underwear,0\nscruffyturtles,1\nkuo_(kuo114514),1\nstealth_fellatio,0\nbead_anklet,0\njellcaps,1\nperi_(fire_emblem),4\nerstin_ho,4\nmomozu_komamochi,1\nkakuchoshi,1\nlungmen_dollar,0\ntir_mcdohl,4\njochuu-san,4\njoosi,1\nsnowflake_earrings,0\ntendou_nabiki,4\ntakasugi_kou,1\ntactics,3\nmakuro,1\nshen_(league_of_legends),4\nbeauty_and_the_beast,3\ntaka_(tsmix),1\nmerry_program,1\nponyta,4\nbuchi_maru,1\ngas_can,0\nnezumi_(no.6),4\nhaou_taikei_ryuu_knight,3\nkaitou_saint_tail,3\nchou_shittou_caduceus,3\ndobato,1\nsweden_(hetalia),4\ncharlotte_hazellink,4\ndororo_(character),4\nnorway_(hetalia),4\nnana_mikoto,1\nmiyo_(miyomiyo01),1\nsayo_tanku,1\nsuzuno_(bookshelf),1\nshishigami_bang,4\nmisora_(princess_connect!),4\nmejiro_mcqueen_(ripple_fairlady)_(umamusume),4\nichiki_1,1\nbukurote,1\nwnb_mark,1\n30-06,1\nsetu_kurokawa,1\nkazuneko_(wktk1024),1\nuniform_vest,0\nonaya_masakazu,1\nrelaxjon,1\nleonidas_(fate),4\ncloud_focus,0\nkmnz,3\nswinub,4\nuki_atsuya,1\nyuru-chara,0\nbread_bun,0\nluluco,4\ndopamine70,1\npsylocke,4\nitasha,0\npon_(ponidrop),1\nsubstitute_(pokemon),0\ndrying_clothes,0\nbmw,0\nflannel,0\npersocon93,1\nsketching,0\nweather_vane,0\nmiyako_(blue_archive),4\nnogi_sonoko,4\ncandela_(pokemon),4\nyotsuyu_goe_brutus,4\nhatsuseno_alpha,4\nrin_(kemurikusa),4\noshage_(osyage921),1\neyewear_view,0\namana_(pocketkey),1\nblue_screen_of_death,0\nfoot_tickling,0\nrakko_(r2),1\nkitahama_(siroimakeinu831),1\nyogurt,0\nhunya,1\ndouble_middle_finger,0\nnaegino_sora,4\nsanagi_torajirou,1\nmercury_symbol,0\nbreast_curtain_lift,0\ntouma_kazusa,4\n.hack//tasogare_no_udewa_densetsu,3\njupiter_(planet),0\nrajang,4\ncharacter_select,0\namatari_sukuzakki,1\nyuunagi_(0217),1\nogiso_setsuna,4\nshichiten_shichitou,0\nqueen_of_hearts_(alice_in_wonderland),4\nmotion_slit,0\nopanchu_(hakusen),1\nplayerunknown's_battlegrounds,3\npidge_gunderson,4\nhimura_kiseki_(style),0\neventh7,1\ntakeshisu,1\nstrider_hiryuu,4\naizawa_hikaru,4\nsilverlight,3\nashen_one_(dark_souls_3),4\nashiya_douman_(second_ascension)_(fate),4\nhoojiro_(found1093),1\ndreamer_(girls'_frontline),4\ntogami_byakuya_(danganronpa_2),4\nyellow_male_underwear,0\nmetis_(persona),4\nhiguchi_konomi,1\ntama_(hiroshige_36),1\nsudachi_(calendar),1\nhoshibuchi,1\nhajime_(ak-r),1\nlink_(aa30),1\nsun-d,4\njumpsuit_around_waist,0\ntm_(hanamakisan),1\nj_yak47,1\nturnip_kabura,1\nizumi_reina,4\nmirai_akari's_new_virtual_youtuber_illustration_contest,3\nhealing_animal,0\npurple_outline,0\nkawachi_rin,1\noriginium_slug_(arknights),4\nmashiro_(nijisanji),4\nichikawa_noa,1\nemma_millstein,4\ngomeifuku,1\nhira_(nanika_no_heya),1\nhuman_dog,0\nigrene_(fire_emblem),4\nlanzi_(415460661),1\ntouya_(konpekitou),1\nmitsuzuri_ayako,4\nmakino_ruki,4\nkantori,1\nbra-ban!,3\nsusanna_hopkins,4\nyoshino_chidori,4\nzelgadiss_graywords,4\nsuper_robot_wars_z,3\npanbai,1\ndancer's_costume_(dq),0\nclift,4\nmagneton,4\nshizuku_(hunter_x_hunter),4\nyuki_shuuka,1\nwhite_lips,0\nstaraptor,4\noarfish,0\nnoritama_(gozen),1\ndismemberment,0\nmajo_to_hyakkihei,3\nshishimaru_ken'ya,1\nt-asama,1\nkakesu,1\nkuroeda-san,4\nchaos;child,3\nmiyazaki_byou,1\npainttool_sai,0\nkaginoni,1\nkirikuchi_riku,1\nsachi_(sao),4\nkirisaki_seeker,1\ncelia_kumani_entory,4\nkona_ming,1\nasagiri_asagi,4\nhinata_nao,1\nmirakichi,1\nkamiko_kana,4\nbabu,1\nasou_yuuko,4\nprint_towel,0\ndoduo,4\nmono_lith,1\nmicro_uzi_(girls'_frontline),4\nsilver_rain,3\nwaku_waku_7,3\nreflect_(gawr_gura),0\nyakan_(kusogaki_teikoku),1\namerican_football_helmet,0\ndevilukez,1\nduan_henglong,1\nkakaobataa,1\nsandwich_cookie,0\nspirit_blossom_kindred,4\nhero_(dq8),4\narato_asato,1\nshukufuku_no_campanella,3\nneco_spirit,0\nokpriko,1\nsneaking_suit,0\nmonizumi_ishikawa,1\nsunny_day_song,0\nkey_kun,1\ntayo,4\nhi_ye,1\nzipper_footwear,0\nsakura_(usashiro_mani),4\njoshua_bright,4\nyakimi_27,1\nponyo,4\nnisoku_hokou_(vocaloid),3\nwinston_(overwatch),4\nkushizaki_(vtuber),4\nnel-c,1\nagainst_rock,0\nskiing,0\nsmash_ball,0\nreindeer_girl,0\nkfp,0\nmachita_chima,4\nascii_art,0\nchloe_von_einzbern_(beast_style),4\ncaenis_(swimsuit_rider)_(fate),4\ntsukikusa,1\ngrey_sports_bra,0\ndonson,1\nhanging_food,0\nhara_yui,1\nyagami_hiroki,1\nakino_subaru,1\nnoill,1\nkeke_(kokorokeke),1\nkusakabe_wakaba,4\nkurosawa_rin_(aikatsu!),4\ntell_your_world_(vocaloid),3\nnanashinayuzu_mochi,1\nhollomaru,1\nmaison_ikkoku,3\nst.kuma,1\nxfate,1\noyama_yoihaya,1\nmomo_no_kanzume,1\nyou_ni_ge_shaobing,1\ntowel_rack,0\nking_saw,0\niwai_ryou,1\nswimwear_(module),0\nmori_(unknown.),1\nmorisawa_chiaki,4\nunpale,1\nyen-mi,1\ndaydream_(zhdkffk21),1\nchoumi_wuti_(xueye_fanmang_zhong),1\nsatsuki_yukimi,1\nnanashi_(ganesagi),4\nsenran_kagura_peach_beach_splash,3\namagamido,1\nsatsuki_mei_(sakuramochi),1\ntsuyuka_(sunny_spot),1\nrokugatsu_t,1\nura_(05131),1\ndog_(shiba_inu)_(kemono_friends),4\ntomimi_(silent_night)_(arknights),4\nmogi_yasunobu,1\nyagyuu_munenori_(fate),4\nseraphine_(league_of_legends),4\nportable_stove,0\nflamie_speeddraw,4\nkon5283,1\nlily_(granblue_fantasy),4\nminikon,1\nmilitary_rank_insignia,0\nflashbang,0\nhorikoshi_kouhei,1\ngmot,1\nooshima_ryou,1\nscuba_tank,0\nking_(nanatsu_no_taizai),4\npalace_of_dragon_(idolmaster),0\ncamel000,1\nyaosera,1\nmaga-g,4\nwadante,1\ntajima_yukie,1\nlithuania_(hetalia),4\nkaburagi_yuki,1\nsatou_sakie,4\nface_filter,0\njj_(ssspulse),1\nkururu_(little_princess),4\nodds_&_ends_(vocaloid),3\norimoto_rika,4\nchucolala,3\ndouma_(kimetsu_no_yaiba),4\nkasashi_(kasasi008),1\ncuora_(arknights),4\njaguar_boy,0\nten'i_(ikkitousen),4\ntitiduki_(manman-ya),1\nanimal_ears_helmet,0\nshuumatsu_nani_shitemasu_ka?,3\nmagus_(chrono_trigger),4\nludvico_private_girls'_academy_school_uniform,0\nkayle_(league_of_legends),4\nnewhalf_with_female,0\nmega_lopunny,4\ndoria_(p_f_dolia),1\ndido_(anxious_bisque_doll)_(azur_lane),4\nwagaya_no_oinari-sama,3\nchroche_latel_pastalie,4\nfloating_city,0\nnina_einstein,4\ntheamazingspino,1\nunder_clothes,0\nitou_eito,1\nsex_pistols_(stand),4\nkashiwa_kiseri,1\nwadapen,1\nmosuko,1\nsunday31,1\nakino_takehiko,1\nyatsuha_kanan,1\nizumiyuhina,1\nokumari,1\nthe_road_to_el_dorado,3\nakahige,1\nhoshino_madoka,1\nmultiple_fusions,0\ndx_(dekusu),1\nt-okada,1\nyadokugaeru,1\nkuro_(kuroneko_no_kanzume),1\nmoeta_kaoruko,4\nakiyasu,1\nhumagear_headphones,0\ntiptoe_kiss,0\nkonkichi_(flowercabbage),1\nmomoda_yasuhito,1\nyatosaki_haru,1\nyayoichi_(yoruyoru108),1\nyoshinoya_(hidamari_sketch),4\nsanom,1\nharmonica,0\nohnuma_kurumi,4\nultimecia,4\nmizunomoto,1\nkanzaki_hideri,4\nmizuki_(kutan),4\nfatal_fury_cap,0\nharlequin,0\nkamishiro_ryuu,1\ncaligula_(fate),4\ndiamond_earrings,0\nhinadan,0\nosa_(osaosa),1\nlightning_glare,0\nescavalier,4\nmg_renders,1\nsaruei,1\nfrikulu,1\npink_sweater_vest,0\nknifedragon,1\nsayoyonsayoyo,1\nitalia_(kancolle),4\ntamada_heijun,1\nminakamirin,1\ncomic_bavel,3\nhat_bobbles,0\nengineer_(tf2),4\nwelrod_mk2,0\nsahuyaiya,1\nbuttercup_redraw_challenge_(meme),0\ntamatoys,3\nwengwengchim,1\ndragon_claw,0\nrenka_(sutegoma25),1\nhanazuki_(azur_lane),4\nwamudraws,1\nsawara65,1\nmizuki_riko,1\ncain_(gunnermul),1\nixima,1\npoi_(goldfish_scoop),0\nmaster_asia,4\natelier_lydie_&_suelle,3\nyukimin_(yukihana_lamy),4\nkobayashi_hiyoko,1\norange_capelet,0\nedmond_honda,4\ncharacter_pillow,0\nazuma_seiji,1\nyumi_yumi,1\nin-hyuk_lee,1\nstg44,0\n23_(candy_chapus),1\ntogo_ai,4\nikura_(food),0\nyoukai_watch_(object),0\nwatanuki_banri,4\ncheshire_cat_(monster_girl_encyclopedia),4\nhitotsuki_nanoka,1\nkroos_the_keen_glint_(arknights),4\nfire_helmet,0\nhachigatsu_no_cinderella_nine,3\nyuunagi_middle_school_uniform,0\nholmemee,1\nueno_(ueno-san_wa_bukiyou),4\nhasaya,1\nmurio,1\nking_k._rool,4\npopman3580,1\ninui_(jt1116),1\ntotsuka_saika,4\nharukawa_moe,1\nyamai_kaguya,4\nminatosaiga,1\nyilx,1\nr44,1\nhorse_racing_track,0\nberserkert,1\nheiwari_kanade,1\ntheodore_riddle,4\nmian_(dream_c_club),4\nryuuta_(cure_ryuuta),1\nmyucel_foalan,4\nasuna_(doruru-mon),1\njum-p,4\nk52,1\ndoyachii,1\nsakaki_(utigi),1\nevolvingmonkey,1\neevee_ears,0\nmujin_wakusei_survive,3\nina_(inadahime),1\nfrenulum_piercing,0\nhinazuki_kayo,4\nchyoel,1\ndokidoki_sister_aoi-chan,3\nmega_lucario,4\nviolet_(flower),0\nyonekura_kengo,1\nbandaid_on_stomach,0\neri_(boku_no_hero_academia),4\nlava_the_purgatory_(arknights),4\nkazama_raita,1\naizawa_kazuha,4\nekans,4\nichibi,1\none_piece_film:_red,3\nayuman,1\nshinburu,1\nshiro_(octet),1\ndragoon,0\nalicia_testarossa,4\nso_dakki,4\ntomomimi_shimon,1\ninuzuka_kiba,4\nkazeharu,1\nfujishima_kousuke,1\nhippopotamus,0\nzuizou,1\nevil_eye_sigma,4\nizumi_minami,1\nerogos,3\nnekokotei,1\nhimegami_aisa,4\nyatagarasu_(game),3\ncube_x_cursed_x_curious,3\nsnow_leopard,0\nshiteyan'yo,4\nmazda,0\npink_headband,0\nnatsuhiko,1\nyoshii_akihisa,4\ntransforming_clothes,0\nookamiuo,1\nshylily,4\nduo_maxwell,4\ntropical_kiss,3\nishii_akira,1\ncard_in_mouth,0\ntaut_skirt,0\nstiel,1\nnokoru_sora,1\naimobake,1\nikeno_daigo,1\nsunohara_ayaka,4\nrodney_(warship_girls_r),4\nyouhei_(testament),1\nmixed_gender_duel,0\nkongou_mitsuko,4\nsinko,1\nrocha_(aloha_ro_cha),1\nallenby_beardsley,4\nnot_present,0\nnijihara_ink,4\nnokanok,1\nnakahara_misaki,4\nazuma_toh,1\ngangut_(azur_lane),4\nlittle_blue_(guin_guin),4\ntk_(angel_beats!),4\narmadillo_ears,0\neric_(tianqijiang),1\ngreenopi,1\nsuisa,1\nhyakumangoku_masurao,1\ncryska_barchenowa,4\nfukase_ayaka,1\nsonikey0_0,1\nashiya_douman_(third_ascension)_(fate),4\nnipple_press,0\nmephisto_(arknights),4\nniii_(memstapak),1\ndeathsmiles,3\ngahaku,1\nrojiko,1\nsakura_hime,4\nswitch,0\nakasaka_yuzu,1\nredjack_036,1\nkamihime_project,3\nkagura_mizuki,1\nruukoto,4\nkawajiri_shinobu,4\nshiwasu_takashi,1\nmatsushima_michiru,4\nakke,1\nbald_spot,0\nmelty+,3\nhand_on_another's_mouth,0\ntenshi_no_inai_12-gatsu,3\naround_corner,0\nkamoto_tatsuya,1\nmugshot,0\nubizo,1\nkaneko_tsukasa,1\nbol_(liliymimi),1\npanties_around_one_ankle,0\nstriped_suit,0\nshuutou_haruka,1\nqm,1\nnumbered_flag,0\nmochizuki_nozomu,1\ndanby_merong,1\ngoto_(sep),1\nkamikoshi_sorawo,4\ntsunko_(9v2_q),1\ndagon_(housamo),4\nhai_(h81908190),1\nnora_cat,4\nnb_(pixiv594732),1\nontaros,1\nchokutou,0\n14sai_bishoujo_(shoutarou),1\nnancou_(nankou),1\njodhpurs,0\nakisha,1\nshinori,1\nijuuin_hokuto,4\nriku_(wana),1\nsanka_rea,4\nglance,0\nfujiwara_gacho,1\nhagimura_suzu,4\nsousakubito,1\ntucana,1\ntianzhong_zhongtian,1\nspace_ishtar_(second_ascension)_(fate),4\ntype_95_(narcissus)_(girls'_frontline),4\nmks,1\ntajikarao_(housamo),4\nakashi_seijuurou,4\nkazami_youka_(yokochu),4\nphase_connect,3\nfang_assassin_irma,4\ndaiba_canon,4\ncosmic_&_funny_(idolmaster),0\nyuhi_(hssh_6),1\noga_raito,1\nsuikamaru,1\npocari66,1\nmy_pet_tentacle_monster,1\nmeimei_(p&d),4\nmankanshoku_barazou,4\nice_(ice_aptx),1\noonaka_ito,1\nmiri_(tobira_no_mukou),1\nerica_fontaine,4\nkuga_yuuma,4\ntifa_lockhart's_refined_dress,0\nmikan-uji,1\nttanuu.,1\nmana_khemia_(series),3\nbtraphen,1\nkanacho,1\nfurahata_gen,1\nz-move,0\nchel_(the_road_to_el_dorado),4\nmiyoshi_(triple_luck),1\nsanada_yukimura_(sengoku_basara),4\npaloma_piquet,1\noxxo_(dlengur),1\nrenri_no_chigiri_wo_kimi_to_shiru,3\nbrown_sky,0\npeter_parker,4\nsakurai_yuuto_(shiromanta),4\nkawaii_dake_ja_nai_shikimori-san,3\nsuper_mario_3d_world,3\nwhite_tunic,0\nscarf_pull,0\nindonesian_text,0\nutsugi_kotoko,4\nblack_beat,1\nsurcouf_(loisirs_balneaires)_(azur_lane),4\nyug,1\nasakura_nemu,4\nsuzumi_tamao,4\nkusakabe_maron,4\nmakidera_kaede,4\nbackflip,0\ndildo_harness,0\nmorichika_rinnosuke_(cosplay),0\ndecapre,4\nskirt_in_mouth,0\nkamekichi,4\nlilica_felchenerow,4\niyou,1\nshinouji_matsurika,4\nninja_(ragnarok_online),4\nbasquash!,3\nmeguro_fukuzou,1\nglenn_andrean,1\nfuwafuwa_time,0\nfault!!,3\nbraided_beard,0\nminami_seira,1\nshadow_(artist),1\nshiroi_suna_no_aquatope,3\nabutomato,1\nakito_(d30n26),1\nurim_(paintur),1\nbaketsuya,1\nnagare_hyougo,1\nfoongus,4\najiriko,1\nbarbariccia,4\nyorha_commander,4\nkurenai_no_buta,3\nroonhee,1\nlumarianne20,1\nnora_cat_channel,3\nokiura,1\nfubuki_(kancolle)_(cosplay),0\narondight_(fate),0\nxiao_dianshi,4\ntokumaro,1\n1672,1\nsazabi,4\nhazuki_(nyorosuke),1\nkobanzame,1\nkoza900,1\nfender_telecaster,0\nooba_wakako,1\nmach_caliber,4\nfamily_computer_robot,4\nmoriya_shrine,0\nhuyuharu0214,1\ntoshinoshin,1\nmaco_spl,1\nbisected,0\nsorami_kanata,4\n3_(sanyako1),1\nvivy,4\naikawa_chinatsu,4\npinky_pop_hepburn,4\nmettaton,4\nhamo_(dog),4\njeff_andonuts,4\nsseopik,1\narkapami,1\ndilated_pupils,0\nmoira_(nijisanji),4\nnanana_(chicken_union),1\nsara_(gundam_build_divers),4\nrsef,1\nlen_(hand_linke),1\nyunoru,1\nsocks_over_thighhighs,0\ncure_black_(cosplay),0\nhisama_kumako,1\njudau_ashta,4\nimplied_rape,0\nenjoji_michiru,4\nrino_(princess_connect!),4\nzijou,1\nshouhei,1\nfoot_on_face,0\nkazooie_(banjo-kazooie),4\nyuki_miku_(2022),4\nazu-taro,1\nmagical_mirai_miku_(2021),4\nhata_kenjirou,1\npriite_hari_(torriet),4\nueda_suzuho,4\nsakai_hamachi,1\nsaki_(hxaxcxk),1\nlamborghini,0\ndreamlight2000,1\nparody_request,5\nsutera_(granblue_fantasy),4\nsofia_valmer,4\nkanipanda,1\nneck_pillow,0\nojo_(dfreak),1\ntrombone_(sex_act),0\nsameya,1\nhaluka_(aixioo),1\ndeto,1\njehyun,1\nkurokoeda,1\np_answer,1\nfaba_(pokemon),4\nalolan_meowth,4\nkasuga_(sengoku_basara),4\nkanaria_(fuusenkazura),1\ndimension_w,3\norgasm_denial,0\nkimino_tomonari,1\nh&k_usp,0\nmahou_shoujo_lyrical_nanoha_a's_portable:_the_gears_of_destiny,3\nyasaka_mahiro,4\nhatsune_(summer)_(princess_connect!),4\nbushidou_2_(sekaiju),4\ncrash_bandicoot_(series),3\naquila_(azur_lane),4\nningen_mame,1\nakikawa_yayoi_(umamusume),4\nbunny_ear_legwear,0\nshuucream_(syuichi),1\nmimi_(mimi_puru),1\nyellow_diamond_(houseki_no_kuni),4\nrem_sora410,1\neclair_(kiddy_grade),4\nversailles_no_bara,3\nhonda_tamanosuke,1\narslan_senki,3\nazuma_minatsu,1\nexit_sign,0\nkemeko_deluxe,3\ninsane_black_rock_shooter,4\ncha_goma,1\nkirino_ranmaru_(mixi_max_jeanne_d'arc),0\nheart_ring_top,0\ngym_leader_badge,0\nsenshiya,1\ng-self,4\norga,1\nmomomeno_(7th_dragon),4\ngin_fragrans,1\nuzuki_kou,4\nshingeki_no_bahamut:_genesis,3\n49s-aragon,1\njanyhero,1\nschool_emblem,0\nluka_(mon-musu_quest!),4\ncarte,1\nh&k_psg1,0\ndiana_(league_of_legends),4\nthe_king_of_fighters_2001,3\npink_sports_bra,0\nbarmaid,0\nao_(flowerclasse),1\nbodycon,0\nshirt_behind_neck,0\nkojiki-life,1\nmandibles,0\nalphy,1\nover_the_mouth_gag,0\nsasamashin,1\nakashi_yuuna,4\nhinayuki_usa,1\nrimone,4\ncheckered_panties,0\nyou_gonna_get_eaten,0\nshizune_(naruto),4\nlike_and_retweet,0\ntomoeri,1\ntheater,0\nsentret,4\ntomitake_jirou,4\nkinuko_(kinucakes),1\naoki_lapis,4\nrevolver_ocelot,4\nyun_lee,4\nsaibashi,1\nabe_inori,1\nshoebill,0\nkutata,1\npile_of_books,0\nmzet,1\nrose_(tales),4\nkumai_natsu,4\nwu_ganlan_cai,1\nyamaada,1\nushimi_ichigo,4\nprinz_eugen_(symphonic_fate)_(azur_lane),4\nrkrk12,1\nchobipero,1\npolitoed,4\niltusa,1\nurayama_(backmountain),1\nkztk,1\nazmaria_hendric,4\nlyle_dylandy,4\nmizuki_kyou,1\nfanta,0\nnekotewi,1\nhizukiryou,1\nin_basket,0\nshiki,3\nroulette,0\nteam7,0\nheel-less_heels,0\nuiri-na,1\ncrazy_raccoon,3\ntakubon,1\ndrowzee,4\npitfall,0\nak-74,0\nmaru_ccy,1\nkhiara_(personal_ami),4\nimpossible_hair,0\nirohakaede,1\nushimittsu,1\nremoving_pasties,0\nrokushou,1\npeg,1\nbreast_biting,0\nitamidome,1\nclip,0\neruthika,1\ngeneva_bowers,1\nunagiman,1\nsugiura,1\nbandaid_hair_ornament,0\nmash_kyrielight_(formal_dress),4\nsonia_strumm_(mega_man),4\nroina_(effj7473),1\nsomeya_mako,4\nkouta.,1\nnakatsukasa_tsubaki,4\numibudou,1\nrocket_ship,0\npikachu_tail,0\nnodding,0\nblush_visible_through_hair,0\nsmile_(rz),1\nliquid_clothes,0\nnero_claudius_(bride)_(fate)_(cosplay),0\naoyashio_rin,1\nfrilled_necktie,0\nkatsugeki/touken_ranbu,3\nmahou_shoujo_ikusei_keikaku_restart,3\nfur-trimmed_leotard,0\nnemone,4\nwataru_(zazazazazazawa),1\nkiriririn,1\nshinjitsu_(true_ride),1\nototobe,1\nmiko_machi,1\naaru_sentou_shuudan,1\nshishimai,0\nkotorai,1\nfrankenstein's_monster_(swimsuit_saber)_(second_ascension)_(fate),4\ndrag-on_dragoon_1,3\naz_toride,1\nak-12_(quiet_azure)_(girls'_frontline),4\nyusa_(yusa0751),1\ncontender_(girls'_frontline),4\nkuroshio_kai_ni_(kancolle),4\nakaneko_(redakanekocat),1\nurako,1\nasa_(swallowtail),1\ngunslinger_stratos,3\ndorianpanda,1\njett_(valorant),4\nkuso_otoko,1\nkagari6496,1\nserin199,1\nchobi_(penguin_paradise),1\nsoranagi_yuki,1\nmyoukou_pose,0\nexecutor_(arknights),4\npersona_5_scramble:_the_phantom_strikers,3\npatipat_asavasena,1\nfuchitoro,1\nibuki_douji_(swimsuit_berserker)_(fate),4\nxiaodi,1\nkamen_rider_build,4\nbarakamon,3\nqueasy_s,1\ntoshi_(1-147),1\nedinburgh_(azur_lane),4\nhisha_(kan_moko),1\nchopstick_rest,0\ndroid,0\nmila_babicheva,4\nhandplug,1\nmatrix16,1\nmofuringu,1\ncecily_cambell,4\nkirieppa,1\nnecromancer,0\ncastform,4\nyoukai_ankake,1\n3u,1\nnotes,0\nsouth_dakota_kai_(kancolle),4\nbccp,1\nfinal_fantasy_fables,3\ntsuchimiya_kagura,4\nkawanabe,1\noniku_(oishii_oniku),1\nmiyamae_shiho_(jack_dempa),4\nitsuki_sayaka,1\nhidebo,1\nsaiki_yuzuri,1\nhatsuko,1\nushio_to_tora,3\ncuddly_octopus,3\nluluko,4\njin_rou,1\nsuru_(ksoo420),1\nnutkingcall,1\nephnel,4\nwindart,1\ntsuchifumazu,1\ndigital_camouflage,0\nmetroid_fusion,3\nchitozen_(pri_zen),1\nshiromiso,1\nkyou_zip,1\nshimada_minami,4\ntamiku_(shisyamo609),1\nkodachi,0\nvyolfers,1\ntalho_yuuki,4\nterminator_2:_judgment_day,3\nwalfie,1\nkittona,1\nkyousougiga,3\npastel_ink,4\naino_heart,4\nchikuwa_(odennabe),1\nnr_(cmnrr),1\nnyaroon,1\nnishi_(count2.4),1\n2-g,1\nisa,1\noyuwari,1\nzyra,4\nd._(ddot2018),1\nhasumi_(hasubatake39),1\ntenzeru,1\nmuneneko,1\nanibache,1\nkyoutsuugengo,1\nhair_weapon,0\nhorse_mask,0\nhair_undone,0\nkido_saori,4\nindigo_(arknights),4\nseno_(senohime),1\noneechanbara,3\nyamanobe_tomo,4\ntakahashi_(k2ta7),1\nbriska,1\nyuugiri_(u-slash),1\nhiromaster_sinta_jh,1\nmikono_suzushiro,4\nspongebob_squarepants_(character),4\nnightea,1\nrx_boss,4\npterosaur,0\nishibori_eregomos,1\nherb,0\nobjection,0\nichijou_(kr_neru0),1\nkamen_rider_agito,4\nhiro_(dismaless),1\nfigma,0\nhaku89,1\nhands_over_own_mouth,0\nstroma,1\nknotting,0\nenvy_(fma),4\nmarie_antoinette_(third_ascension)_(fate),4\ncinia_pacifica,4\nmaeda_risou,1\nhandot_(d_yot_),1\nfreyjadour_falenas,4\nermine,0\nharada_miyo,4\ntakeda_kanryuusai,1\ngirly_running,0\ntied_sweater,0\ncanadian_flag,0\nshimofuri_kaeru,1\ncloyster,4\nnidoran_(male),4\ntakanashi_kotori,4\nstar_butterfly,4\nhenken,1\nphara_suyuf,4\nkamen_rider_ghost_(series),3\nlemon_hair_ornament,0\nhapu_(pokemon),4\nyzpyn,1\nyashahime_(momotarou_densetsu),4\nitsuki_tasuku,1\ntatsuno_newo,1\nyuu_(alsiel),1\nhumpback_whale,0\ngingami_(giluziru),1\nkeith_(voltron),4\ngzei,1\ninzup,1\nmorina_nao,1\nmanarou,1\nkinakomoti,1\nmomoyama_mirai,4\nmiton_(turuyasann),1\nmakadamixa,1\nk11_(girls'_frontline),4\nban_hada,4\nmr._koiwai,4\nmyoukou_kai_ni_(kancolle),4\nbulges_touching,0\ntwo-sided_coat,0\nfir3born,1\nkomatsuzaki_rui,1\nstriped_apron,0\ntanaka_the_wizard,3\nronindude,1\nke-ta_(style),0\narifureta_shokugyou_de_sekai_saikyou,3\nadomi,1\nluchador_mask,0\naoyagi_touya,4\nface_of_the_people_who_sank_all_their_money_into_the_fx_(meme),0\nimplied_vibrator,0\nvenus_blade,3\nleilan_(p&d),4\nfuture_card_buddyfight,3\nichifuji_nitaka,1\nshuffle_(songdatiankong),1\npoland_(hetalia),4\ngouketsuji_ichizoku,3\nnama_shirasu,1\nuso_(ameuzaki),1\nfutsuu_no_joshikousei_ga_locodol_yattemita,3\ncombos_&_doodles,1\nshipu_(gassyumaron),1\nkida_kuro_mu,1\nhiya_gohan,1\nhitode,1\ntanemura_arina,1\nmizuno_keisuke,1\nyokoyari_mengo,1\nannie_(skullgirls),4\nobmas,1\nkemono_friends_pavilion,3\nremoraid,4\nneco_meito,1\nshinomiya_natsuki_(uta_no_prince-sama),4\nsugarbeat,1\ncamel,0\nbecky_blackbell,4\nasymmetrical_bodysuit,0\ngaro_(series),3\npresident_maa,4\nham,0\nromancing_saga_3,3\nkakizaki_megu,4\ntaco,0\ncalimero_(honey_come_chatka!!),4\ndistress,0\nfii-tan_the_figure,3\negypt,0\nmoroboshi_ataru,4\nnekoyama,1\nsaigyouji_yuyuko_(cosplay),0\nlucia_(pangya),4\nrock_bison,4\ndusclops,4\ncastlevania:_symphony_of_the_night,3\ntri,1\nkaitou_jeanne,4\nhono,1\nshichouson,1\nsugamo,1\naruva,1\notoutogimi,1\nritsu_(roboroboro),1\nheart_no_kuni_no_alice,3\nyuki_hime_haruka,1\nebitetsu,4\nasuka_ryou,4\namanagi_seiji,1\nyuzuyomogi,1\nphilia_(sao),4\nkuronezumi,1\nwater_wheel,0\nkamitsuki_manmaru,1\ndhiea,1\nsuper_mario_rpg,3\ntatsumi_kon,4\nshiro_maru,1\nyamada_koutarou,1\nkumakichi_(cost-lost),1\nhana_(fire_emblem),4\nyanagi_hirohiko,1\nnoir,3\nmiwa_mitsune,4\ntakeponi,1\nkoto_(colorcube),1\nyatsuhashi_kakera,1\nhoushou_hanon,4\nkoikishi_purely_kiss,3\netogami_kazuya,1\npurple_feathers,0\nhermmy,1\nd.y.x.,1\nacchi_kocchi,3\nboar_boy,0\nking_of_unlucky,1\nazelf,4\nwaka_(yuuhagi_(amaretto-no-natsu)),4\nshirayuki_(arknights),4\nany_(trueblue),1\ntirarizun,1\nwatermelon_beachball,0\nsakuramarusan,1\nretsuna,1\nholding_coat,0\ngonster,1\nsticky_fingers_(stand),4\nmoonjunk,1\nshiruko_(food),0\nbuddhism,0\nbrazil,0\nakasaka_(qv92612),1\nkyoko_(kunio-kun),4\ninutose,1\nbashen_chenyue,1\nio_takuya,1\nsounan_desuka?,3\njon_(pixiv31559095),1\noze_(xyz_go_go11),1\nunfinished_background,0\nahsoka_tano,4\nsenzaicha_kasukadoki,1\ncastell,1\ncalamity_jane_(fate),4\nkerykeion,4\nthemaestronoob,1\n2b-ge,1\nsoul_hackers,3\nkanzaki_aoi_(kimetsu_no_yaiba),4\ncheetah_tail,0\nyonema,1\naether_foundation_uniform,0\nusa_b,1\nkudou_(ooabareteng),1\ncteno,4\nunizou,1\nlight_in_heart,0\nvenomoth,4\nwooden_bench,0\nsilvertsuki,1\nmochida_arisa,4\nishida_to_asakura,3\nbishi_(bishi),1\nzhuore_zhi_hen,1\nhimematsu_school_uniform,0\ncapybara_(kemono_friends),4\nkirin_toroika,1\nfuyuzuki_gato,1\nfuu_fuu,1\ndokuro-san,1\ntrish_(devil_may_cry),4\ncourier_(arknights),4\nhakano_shinshi,1\nbruce_wayne,4\nkishimen,1\npaneled_background,0\nyuuka_(o.t.kingdom),1\nkowiru,1\nreina_(black_spider),1\nichikawa_ryuunosuke,1\nnishimi_shin,1\ncheckered_bowtie,0\nys_viii_lacrimosa_of_dana,3\nsibata_maru,1\nreppuu_(kancolle),4\nmiz_003,1\ndaniel_j._d'arby,4\npicter,1\ntouzai_(poppin_phl95),1\nminami_(apricot_tea),1\nmatsuda_yasuke,4\nmoorina,1\njuusenki_l-gaim,3\nathena_(p&d),4\noumi_neneha,1\nsaikyou_ginga_ultimate_zero_~battle_spirits~,3\nkurai_nao,1\nosamu_yagi,1\nebi_(eeotoko),1\nyuri_seo,4\ntwitch_plays_pokemon,0\nsagae_haruki,4\nnamatyoco,1\nbeppu_mitsunaka,1\npuka_puka,0\nnational_basketball_association,3\nhattori_masahiko,1\nyamagami_karuta,4\ntruss,0\nfujimaru_ritsuka_(female)_(tropical_summer),4\nyakult,0\nzero-theme,1\nfairey_swordfish,0\nherensuge_girls_academy_school_uniform,0\nkoizumo,1\nrukako,1\nblack_jack_(character),4\nkagerou_(shadowmage),1\ncyrus_albright,4\nhanamichi_ran,4\nmofumofu_channel,3\nmooncake,0\nflipnote_studio_(medium),5\nmahjong_table,0\nzooming_in,0\nbanana_slice,0\nsavi_(byakushimc),1\njeanne_d'arc_(azur_lane),4\naoi_sora_(pairan),4\nzihad,1\nneviril,4\nalina_(girls_und_panzer),4\nkenix,1\ncommander_shepard,4\nchai_xianghua,4\njyuru,1\nmultiple_cats,0\nhitmontop,4\nzuikaku_(the_wind's_true_name)_(azur_lane),4\ncirima,1\nkangaskhan,4\nfujisaka_kimihiko,1\ngokubuto_mayuge,1\nasuka_(junerabitts),1\nyofukashi,1\nkikimi,1\nrange_finder,0\nyamuraiha,4\ntombow_mono,3\nmonobe_tsukuri,1\nmisha_arsellec_lune,4\nbreath_of_fire_i,3\ndqn_(dqnww),1\ngarterbelt_(psg),4\nkyo-hei_(kyouhei),1\npinky_to_mouth,0\nsasahiro,1\nspiked_belt,0\nbougu,0\nseptember,0\nkatoroku,1\nvanillaware,3\nchyan,1\nsato_imo,1\nnavy,0\nsand_cat_print,0\ngabayo,1\nmiko_embrace,0\nnattororo,1\nfaust_(arknights),4\ncancell,1\nmonk_(sekaiju),4\nmutsu_(azur_lane),4\nazuma_(azuma10270724),1\nbashamichi,3\nnazuka_(mikkamisaki),1\ninia_sestina,4\nwrapped_bento,0\ncecilia_schariac,4\nkamisama_ni_natta_hi,3\nlife_vest,0\nema_skye,4\nbear_hat,0\nkanzaki_sumire,4\ntsukamoto_kensuke,1\nmao_(6r),1\nariko_youichi,1\nhuang_gua,1\ngradient_ribbon,0\nmature_(kof),4\nompf,1\nametama_(runarunaruta5656),1\nikkitousen_dragon_destiny,3\nfur-trimmed_vest,0\ncharlotte_(fire_emblem),4\nicecake,1\ndinner,0\nhanna_england,4\npectoral_lift,0\nsovetskaya_belorussiya_(azur_lane),4\nmanjirou_(manji_illust),1\nfrankie_foster,4\nbutterfly_on_nose,0\nbattleship_summer_princess,4\nhowling,0\nhorse_dildo,0\nigni_tion,1\nmidorikawa_ryuuji,4\npecha_berry,0\nswapnote,3\nhasekura_chiaki,1\nyuutarou_(fukiiincho),1\nsurge_(pokemon),4\njikkyou_powerful_pro_yakyuu,3\nporco_galliard,4\nstar_panties,0\nblazblue:_cross_tag_battle,3\nbrown_thoroughbred_(kemono_friends),4\nmugen_gakuen_school_uniform,0\npill_hair_ornament,0\ntsubaki_tsubaru,1\nkumichou_(kumichoubox),1\nwarlock_(granblue_fantasy),4\ncocoon_(loveririn),1\nnene_(sengoku_musou),4\nshinonoko,1\nciel_sacred,4\neguchi_sera,4\nsue_(grandia),4\nsonjow4,1\nbranded,0\nayakase_riberi,1\nakame_(akame_ga_kill!),4\nvyn_richter_(tears_of_themis),4\nmatsuno_chifuyu,4\nleysritt_(fate),4\nmia_taylor,4\nkoru_koruno,1\nkayumidome,1\noversized_flower,0\nplaid_pillow,0\ncreat,1\ntogruta,0\ndacchi,1\nmuscle_car,0\nwhitem_(whiteemperor2020),1\ni-la,1\nnikki_(swapnote),4\nsakenomi_(cookie),4\nshihou_matsuri,4\nhinoru_saikusa,1\nspy_(tf2),4\nwendi_(nanoha),4\nmoudoku_(decopon3rd),1\nkashiwaba_tomoe,4\nwarrior_(final_fantasy),4\nathena_cykes,4\nunited_states_army,0\nakabane_youko,4\nnatsuki_yuu_(amemizu),1\nmami_(apsaras),1\nutx_school_uniform,0\nz1_leberecht_maass_(azur_lane),4\nblack_overalls,0\nlexington_(cv-16)_(warship_girls_r),4\ndark_jeanne,4\nkagura_nana,4\nshin_sakura_taisen,3\nbalrog_(street_fighter),4\nmismatched_earrings,0\ngohei_(aoi_yuugure),1\nanglerfish_costume,0\ntsuzuri_(tu-san_house),1\nstar_wars:_the_clone_wars,3\nstudded_gloves,0\nryuu_ga_gotoku_0,3\nis_(kamen_rider_01),4\nqin_(7833198),1\nhajimete_no_gal,3\nagonasubi,1\nremoving_mask,0\ntwo-tone_pants,0\nsaki_(ar_tonelico),4\ntashigi,4\nokazaki_takeshi,1\nsudachips,1\nkariya_(mizore),1\nhanasaki_mahiru,1\nnihei_tsutomu,1\nfujisaka_lyric,1\n00_gundam,4\nshishidou_akiha,4\njohn_(nakoto),1\nenergy_tank,0\nshigureteki,1\nkamen_rider_black_rx_(series),3\nharunoibuki,1\ncrotchless_leotard,0\nexion_(neon),1\ninugami-ke_no_ichizoku_pose,0\nmisty_lake,0\nkagerou_days_(vocaloid),3\ncherrim,4\nmiso_(misomiso_154),1\ncottonee,4\npram_(phantom_kingdom),4\noozon_(ozon),1\nsukkirito_(rangusan),1\ndangling,0\nhakuleg,1\nikeda_masateru,1\nnemu_(nora),1\nbat_ornament,0\nnotora,1\nparfaitlate,1\ncrotch_stomping,0\ntia-chan,4\ngravure_swimsuit_(idolmaster),0\nwet_shorts,0\ncyborg_009,3\nnagato_yuki_(cosplay),0\nmaryland_(kancolle),4\neerr,1\nkissing_nose,0\nrobin_(dc),4\npochadon,1\nellin_meiji,4\nwoollen_cap,0\nsouya_ichika,4\nwasp,0\nsandshrew,4\nayatsuki_sugure,1\naron,4\ninon,1\nsasaki_sakiko,1\ndemento,3\nwapokichi,1\nmappe_(778exceed),1\ntakita_(takita3411),1\nmime_jr.,4\narcher_(pokemon),4\nheavyrain_(arknights),4\nareola_piercing,0\nstag_beetle,0\nchipp_zanuff,4\nbarre,0\nrikka_(holostars),4\nhanetu,1\ngundam_card_builder,3\nkimura_shigetaka,1\nfrilled_coat,0\ntwo-tone_bra,0\nkarasawa-40,1\ntsuki_suigetsu,1\nfaicha,1\nraisa_pottgen,4\npixel_(yuxian),1\npixiv_fantasia_revenge_of_the_darkness,3\nsalmon_run,0\nkibellin,1\nmidoribox,1\nblue_mittens,0\nalice_girls_shiny_heart,3\nglowing_earrings,0\nfeower_(granblue_fantasy),4\nfollowing,0\nyamane_akira,1\nwindow_fog,0\nnoumin,1\nbroken_bottle,0\ntakotsu,1\nkawaraya_a-ta,1\njeto_(jetopyon),1\nksvk_(girls'_frontline),4\nson_of_droid_(mechanical_buddy_universe),4\nbebinn,4\nmerii_(mazohaha),4\nshiromochi_sakura,1\ncorona_timir,4\nyamamoto_akira,4\nnuqura,1\ncastanets,0\nqunqing,1\nreverse_footjob,0\nginzuki_ringo,1\narmored_aircraft_carrier_oni,4\nsaryuu_(iriomote),1\nmonster_musume_no_oisha-san,3\notonari,1\nabsolute_duo,3\nharau,1\nyahiro_(epicopeiidae),1\nhonma_(honmatomohiro),1\nhaseo_(.hack//),4\ngodzilla:_king_of_the_monsters,3\nasymmetrical_arms,0\nhaitekudasai_takamine-san,3\ncarry_me,0\nxiho_(xi_ho_),1\nvisor_lift,0\nlangley1000,1\nhibi89,1\nrizento,1\ncrusch_karsten,4\ntiktok,3\nsatsuki_(miicat),1\nastg,1\nsunday_silence_(racehorse),4\npic_postcard,1\nkozume_kenma,4\nmetal_crab_(arknights),4\nursus_empire_logo,0\norochimaru_(naruto),4\nserah_farron,4\nharumaki,1\njet_black,4\nluca_truelywaath,4\nmzh,1\nrugo,1\nclima-tact,0\nnatsuk,1\nflaaffy,4\naria_(sister_princess),4\nnyanmilla,1\ndrifting,0\npinsir,4\nkipi-san,4\nakanesanzou,1\ntheta_(ponkotsu_works),1\npotaaju,1\nhase_neet,1\nhiro_hiroki,1\ndigdug006,1\nmtyy,1\ncovered_piercing,0\nakagi_(sk0127aho),1\nla-na,1\nmoketto,1\nxiaosamiao,1\nyuyu_(yuyuworks),1\nazuma_lim,4\nnanonin,1\nwhite_gakuran,0\nyukimaru217,1\nkokono_coco,1\nkiriyama,1\nrednian,1\nmatty_(zuwzi),1\nmisawa_maho,4\nkizaki_(volvox),1\nkubo_tite,1\nashita_no_nadja,3\nmaya_(azur_lane),4\nmiorine_rembran,4\nm1_garand,0\nli_meiling,4\nmishiro_(andante),1\nkaninn,1\nimaishi_hiroyuki,1\nace_of_clubs,0\ncure_scarlet,4\nasagao_minoru,1\nkohshibasaki,1\nlexaiduer,1\nukumo_uichi,1\nge_xi,1\nultraviolet_light,0\nmadaraki_fran,4\nguncannon,4\ncreepy_eyes,0\npug,0\nkay_yu,1\nmeiko_(vocaloid3),4\nrapid_punches,0\nkasumi_komo,1\ngrail,0\nkin_niku,1\nmochi_(mochi444420),1\nchin_gero,1\nim_(badmasa),1\ncocoperino,1\nkuroki_tsutomu,4\nyamai_yuzuru,4\nstormtrooper,0\nfinger_cots,0\nramie_(ramie541),1\nholding_mushroom,0\nspring_(object),0\nfirewatch_(arknights),4\nmacaw,0\nglowing_hands,0\ntaiga_takeru,4\naina_ardebit,4\nwaist_brooch,0\npardofelis_(honkai_impact),4\nera_(erasion),1\nmona_lisa,3\nbeast,0\nfake_box_art,0\nmotivator,0\nsafety_razor,0\nmorncolour,1\naqua_hoodie,0\nshima_(wansyon144),1\nkiramarukou,1\nkey_in_head,0\nyoshimon,1\npiroshiki123,1\nspawnfoxy,1\nsantana_(jojo),4\ngod_gundam,4\nmeimi_k,1\nmix_(aquarion),4\nyuuki_sonisuke,1\nstriped_bandeau,0\npocketland,3\nswitzerland_(hetalia),4\nnaop_(anything),1\nharu_(tsuritama),4\nsmite,3\nmeat_day,0\nxiaosan_ye,1\npain-lucky777,1\npandora_(p&d),4\ntakasugi_heppu,1\nzattape,1\nirisviel_von_einzbern_(caster),4\nkuroimori,1\noosaki_minato,4\njonya,1\nbenimura_karu,1\nhapymaher,3\ngame_of_thrones,3\nl-elf,4\nr_daneel_olivaw,4\nreminiscence,3\npawn_(dragon's_dogma),4\nmorinaga_kobato,1\nchainsword,0\nsophie_(toast_of_the_town)_(tales),4\ntyako_089,1\npkpokopoko3,1\nanimal-themed_umbrella,0\nghost_earrings,0\nlead_white_(tsurunoka),4\nkarakari,1\nhiiro_(alchemy_stars),4\noomasa_teikoku,1\nbibi_(love_live!),0\nepic_armageddon,1\nsally_(luna-arts),1\nox_(baallore),1\norga_itsuka,4\njoukamachi_no_dandelion,3\nmishiro_shinza,1\nlie_ren,4\nbunny_background,0\nmaruti_bitamin,1\ntsukimi_(xiaohuasan),1\nair_jordan_1,0\nshitou_(4h),1\nshinma_x_keishou!_ragnabreak,3\nfei_fakkuma,4\nclivenzu,1\nannie_mei_project,3\nkurage1,1\nspencer_sais,1\nunlovely_(happinesscharge_precure!),4\nyon_(letter),1\nrichou_(zerozero1101),1\nenterprise_(warship_girls_r),4\ntakamine_takane,4\nichiryuu_tsumiki,1\nyamashiro_(summer_offensive?)_(azur_lane),4\nocha_(popopogg),1\nsakurasawa_sumi,4\nyukinoshita_haruno,4\npochimaru_(marumaru_wanwan),1\nmadana_(xesa7885),1\nreunion_soldier_(arknights),4\nheart_lollipop,0\nasatani_tomoyo,1\npanzerkampfwagen_panther,0\nmeinya_(made_in_abyss),4\nbread_eating_race,0\nvertigris,1\nstardew_valley,3\nbunny_ears_prank,0\nmiyabi_(senran_kagura),4\nc_(neta),1\ngins,1\ndisembodied_eye,0\nparalyzer,0\nkiki_(majo_no_takkyuubin)_(cosplay),0\nsongchuan_li,1\nmoth_antennae,0\nblack_bracelet,0\nzombie-andy,1\nhan'you_no_yashahime,3\nhidan_(naruto),4\nkazuhira_miller,4\nsakuraba_aoi,4\nyukihiro_ayaka,4\nbatgirl,4\nnyazui,1\nfuyuichi,1\nhoneypot,0\nmizushima_asa,4\namano_maya,4\npaladin_(sekaiju),4\njunny,1\ntsuchinoko,0\nmega_milk,0\nin_shopping_cart,0\njynx,4\nhiro_yoshinaka,1\nmao_(darker_than_black),4\nfuju,1\ntropical_fish,0\ninner_moka,4\npalmon,4\nina_zuma,1\nsamsara_(shuukeura),1\ngenryuusai_maki,4\nsumeragi_tomo,1\nukai_saki,1\nmaetel,4\nf-22_raptor,0\nyuubararin,1\nnakabeni_yua,4\nkkuem,1\nyuki_miku_(2020),4\ncentiskorch,4\nshiromikan,1\nchikuwa_(yurucamp),4\nmegami_magazine_deluxe,3\ntakanashi_touka,4\nfujita_(condor),1\npoipole,4\nsajittari,1\nexeggutor,4\nyamato_damashi,1\nyamaneko_(tkdrumsco),1\nhomaderi,1\ncd_player,0\npemu,1\nminahoshi_taichi,1\nerebus_(azur_lane),4\npushing_down,0\nkabayaki_namazu,1\non_banana,0\nikeda_yasuhiro,1\nlavelis,1\nmagical_halloween,3\nshikido_(khf),1\nkildir,1\ntonari_(ichinichime_azuma),1\nfrilled_garter,0\nazami_(kagerou_project),4\nhu_sea,1\nfrom_argonavis,3\nkumamoto_(bbtonhk2),1\nsora_(men0105),1\nskiploom,4\nfrogsnake,1\nyizhirenben,1\nkayanogura,1\ntwo-tone_kimono,0\nayanakitori,1\nnigelungdayo,1\napron_pull,0\nnamusanbou,0\nfujirin,1\nsakura_tsubame,1\nein_(cowboy_bebop),4\nmousse_(ranma_1/2),4\noomori_(kswmr),1\n216,1\nchaldea_logo,0\nhiyo_kiki,1\nbelly_dancing,0\nkagome_misaki,4\nyamask,4\nkurahana_chinatsu,1\nviviana_(arknights),4\nink_stamp,0\npurah,4\name_yamori,1\nrezodwel,1\nwinda_priestess_of_gusto,4\nli_xingke,4\nmachop,4\nnae_(rno),1\nshapoco,1\ncherico,1\ngolbeza,4\napple_bunny,0\nkuronohana,1\nsakura_ichiko,4\nsakuragi_kei,1\nkosuke_haruhito,1\nfishnet_socks,0\nkorisei,1\nspasm,0\nkotteri,1\nmad_max,3\naltar,0\njekyll_and_hyde_(fate),4\numesato_middle_school_uniform,0\nhara_shoutarou,1\nnarae,1\nnanakusa_amane,1\nitou_hachi,1\nkobo_(cobo_0609),1\ntsukimoto_kizuki,1\nzawawa_(satoukibi1108),1\njohn_doe_shinobu,1\nhaiyi,4\nwakamatsu_hirotaka,4\nek_masato,1\ntsuki_ni_yorisou_otome_no_sahou,3\nchitetan,1\nasakura_noi,1\nkuroda_(nanchara_flight),1\nghost_in_the_shell_lineup,0\nmatsuno_canel,1\nrogue_(ragnarok_online),4\nmugen_ouka,1\nwebclap,0\npriest_(dungeon_and_fighter),4\nrko_(a470350510),1\nkama_(swimsuit_avenger)_(first_ascension)_(fate),4\nkama_(swimsuit_avenger)_(second_ascension)_(fate),4\nsaki_(blue_archive),4\nhizuki_aya,1\nsolomon_(fate),4\nalina_(arknights),4\nnyahu_(nyahu_77),1\ntoriseru_(thesuperhero),1\nkincora,1\nakuno_hideo,4\ndarkest_dungeon,3\nshion_(mirudakemann),1\nthe_king_of_fighters_'97,3\nnyakelap,1\nribero,1\nbeerus,4\nky.,1\nmaenchu,1\nothel_(hatimorris),1\nrenshu_usodayo,1\nblanche_(pokemon),4\nguilty_gear_2,3\nfinal_fantasy_xiii-2,3\nsasakuma_kyouta,1\namelie_planchard,4\ntaka_(taka_wo_kukuru),1\n221_(tsutsuichi),1\nmato_spectoru,1\nhino_hino,1\nhyoudou_michiru,4\nanchorage_oni,4\nperoncho,1\nwing_censor,0\nayyh,1\nsurumeri_(baneiro),1\namagaeru_(amapippi052525),1\nsatoimo_chika,1\neriyama_e,1\nholding_string,0\nyappa_muri,1\ngozu_farm,1\nrai_(sakuranbo_sugar),1\nnagara_(azur_lane),4\nshiburingaru,1\nforeign_blue,1\ncargo_net,0\nyou_can_eat_the_girl,3\nyurizaki_mira,4\nincise_soul,3\nsims_(azur_lane),4\ndin_(flypaper),1\ncomiket_96,3\nsasaki_fuuka,4\nhunterkay,1\nfakir_(princess_tutu),4\nizumi_(blue_archive),4\nzero_kara_hajimeru_mahou_no_sho,3\nkahadu_(kawazu),1\ntrevo_(trevoshere),1\nheartbeat_(module),0\nalpha_pokemon,0\nktsecond,1\nhot_limit,0\ncall_of_duty:_modern_warfare_2,3\nkokeshi_(yoi_no_myoujou),1\ngirl_with_a_blonde_braid_(tomoshibi_hidekazu),4\ngouf,4\noctopus_boy,0\ntoo_many_chicks,0\nlooking_at_hands,0\nblack_cellien_(kemono_friends),4\nspray,0\nleavanny,4\nanna_williams,4\npatamon,4\ncardboard_box_gundam,4\nnanjou_asuka,1\nebata_risa,1\nmatsuura_nanase,4\npretty_rhythm_aurora_dream,3\nkoopa_troopa,4\nesaka,1\nizuru_(timbermetal),1\ntakanaga_kouhei,1\nshiva_(final_fantasy),4\nlocked_slide,0\nlarvitar,4\nmarshtomp,4\njuni_(street_fighter),4\nkazuchi,1\nnatsukawa_sarasa,1\nfare_gate,0\nlino-lin,1\ndragon_slayer_ornstein,4\nmiyamae_porin,1\nsplat_bomb_(splatoon),0\ncure_custard,4\nloaf_of_bread,0\nbalancing_on_head,0\ntanuki_yousuke,1\nkobayakawa_sena,4\nhamahama,1\nshopyun,1\nvideocassette,0\nholding_duster,0\nitou_ryuusei,1\nzigzagoon,4\njellicent,4\nkinako_(marubotan),1\ntenseiani,1\njt_dong-agyoku,1\ngallon,4\nsturmgeschutz_iii,0\nyk_(pixiv43531291),1\nlillipup,4\npiggy_bank,0\nkamiki_sekai,4\negnigem_cenia,4\nsuda_ayaka,1\nmomoe_maria,4\nminamiya_mia,1\narakure,1\ncero_(last2stage),1\nbikini_bottom_pull,0\nnoelle_silva,4\nhoimi_slime,4\nfuutou_shizune,4\nmidorino_eni,1\nbarawa,4\nrumia_tingel,4\npokemon_ranger,3\nkoubou_(cowbow_kun),1\nyuyi,1\nyari,0\npoliwhirl,4\nminyom,1\nfiris_mistlud,4\nasususususu,1\nnyakonro_(nekonro),1\neria_the_water_charmer,4\nwuwusan,1\nlwmmg_(girls'_frontline),4\nmamyouda,1\nfumei_(mugendai),1\neldegoss,4\nkanopan,1\ndonquixote_rocinante,4\nh&k_mp5k,0\nten_(tenchan_man),1\ntakamori_haruka,4\nbutterchalk,1\nfaiz_azhar,1\nmanuela_casagranda,4\nizumi_masamune,4\ncup_noodle,0\nkuase,1\narm_pouch,0\nplaid_capelet,0\nmizuno,3\nkyle_broflovski,4\ntear_ring_saga,3\njustice_league,3\nneckwear_request,5\nmega_man_11,3\nlethe_(fire_emblem),4\ncherry_tree,0\nichinose_tokiya,4\nhibiscus_print,0\nkey_(gaigaigai123),1\nelysium_(arknights),4\noverpass,0\nwatchmen,3\nsugar_bowl,0\nairplane_wing,0\nmandragora,0\nyasoji_(16321578),1\near_scrunchie,0\nmerry-san,1\ninyuppo,1\ngreatodoggo,1\nfang_(arknights),4\nkanata_(kanade_pa),1\ndigivice,0\ntakahara_ayumi,4\npantyhose_under_shorts,0\ntaka-kun,1\nezaki_papiko,1\nsenjou_no_electro_girl,3\ncard_holster,0\nstarheart,1\ntaruhi,1\nnajuco_(naju0517),1\nholstein_friesian_cattle_(kemono_friends),4\nchiyomaru_(yumichiyo0606),1\nfraux,4\nahagon_umiko,4\npolygamy,0\narata_iri,1\nuchisaki_himari,1\nalia's_carnival!,3\nkuon_yashiro,1\nborderlands_2,3\nnut_(hardware),0\nanetai_toyone,4\nmiyu_(matsunohara),1\ntousaki_umiko,1\nkurkoboltsi,1\nle_malin_(mercredi_at_the_secret_base)_(azur_lane),4\nyamaha_tsui,1\nlucina_(spring)_(fire_emblem),4\nweno's_blonde_original_character,4\nyume_kawaii,0\nutakata_(azaka00),1\nsatsuma_age,1\npentagon_(shape),0\nxian_jian_qi_xia_zhuan_(series),3\nmerry_(diameri),1\ntoron_(mino106),1\nmizukami_ryouma,1\nsticky_(stickysheep),1\norel_cruise,0\nmorisshii_(morishiey),1\ngyuunyuu_nomio,1\nponpon_(tosico),1\nportuguese_text,0\nokamura_nao,4\nruna_(artist),1\nazuma_hazuki,4\nnyatrix,1\nchiachun0621,1\nsmall_stellated_dodecahedron,0\nmrkg_(arsfatuus),1\nyveltal,4\nokita_souji_alter_(swimsuit_saber)_(fate),4\nhonoka_chiffon,1\nshiitake_taishi,1\ntashkent_(the_bound_cruiser)_(azur_lane),4\ncheckered_ribbon,0\nichimura_kanata,1\nkiller_t_(hataraku_saibou),4\nkonomori_kanon,4\nkimi_no_kokoro_wa_kagayaiteru_kai?,0\nnotte,1\nsara_valestein,4\npaper_cutout,0\nsaint_tail,4\nxiaomu,4\nwarzard,3\nkurohara_yuu,1\nscary_sex,0\nproject.c.k.,1\ncarl_clover,4\npedestal,0\nfuurin_asumi,4\ncresselia,4\ncomic_tenma,3\nkaimuari,1\nittoki_otoya,4\nadmiral_graf_spee_(peaceful_daily_life)_(azur_lane),4\nyutarou,1\nkerorokjy,1\nshindou_kei_(ef),4\ndrake_(azur_lane),4\nrynzfrancis,1\nkanokoga,1\nibaraki_kasen_(cosplay),0\ngastrodon,4\nscrafty,4\nyamashiro_kai_ni_(kancolle),4\nraidon,1\nwolf_(league_of_legends),4\nnoblesse_(elsword),4\nsquirting_liquid,0\ndogpile,0\nakirannu,1\nmachine_(nier),4\nuchiuchi_keyaki,1\nshindol,1\nsiddham,0\npaladins,3\nkamiki_izumo,4\ngiroro,4\nnako_(nonrain),1\notomore_(shashaki),4\nchi-hatan_(emblem),0\nbuchikaki,1\nsema_(vivaviva_02),1\nkoza_game,1\nobject_in_panties,0\nemaciated,0\nochiai_miyabi,1\nfeipin_zhanshi,1\nmatsumoto_yoriko,4\nkohanayuki,1\nkirino_souya,1\njnt,1\nrobina,1\nsuzuki_rion,4\nharunori_oogami,1\nshiraori,4\nrainbow_skirt,0\nviper_(valorant),4\nrose_neru,1\nkujaku_mai,4\nhimekawa_(shashaki),4\nkiseijuu,3\nchicke_iii,1\nkie_(wylee2212),1\nlrl_(last_origin),4\nyakka,1\npyro_(tf2),4\nwasabi,0\nneonfloyd,1\ntribadism_through_clothes,0\nyoshikawa_hideaki,1\nkaren_(sister_princess),4\nokajima_rokuro,4\ntatata,1\narchlich,1\nabra,4\nmuzzle_brake,0\ngasp,0\nyomikawa_aiho,4\nhekoningyou_(waraningyou),1\nthe_promised_time:_silks_&_three_riddles_(umamusume),0\nichiban_ushiro_no_daimaou,3\nkakifly,1\nkisei2,1\nryuntack,1\nhilt,0\nkim_kwang_hyun,1\nholding_stomach,0\nchar's_counterattack_-_beltorchika's_children,3\nkirby_super_star,3\nkatoryu_gotoku,1\nhoudukixx,1\ncaroline_(persona_5),4\nxiao_chichi,1\nzenyatta_(overwatch),4\nizanami_(persona),4\nhecha_(01964237),1\nbao_(vtuber),4\nmerxkialis,1\nmejiro_haruhiko,4\njustin_leyva_(steamy_tomato),1\nashino,1\ntowel_on_one_shoulder,0\npinoko_(pnk623),1\ntongue_tattoo,0\ncheetah_(kemono_friends),4\naliceblue,1\nkosai_takayuki,1\nkongari_tokei,1\ngraviton_beam_emitter,0\nkz_nagomiya,1\nvatista,4\nakai_ringo_(ookami-san),4\nmartha_(swimsuit_ruler)_(first_ascension)_(fate),4\nwa2000_(date_in_the_snow)_(girls'_frontline),4\nadmiral_graf_spee_(girl's_sunday)_(azur_lane),4\nmikao_(eanv5385),1\nlobo_(fate),4\nkubota_masaki,1\nshikniful,1\ncustom_maid_3d_2,3\nfionn_mac_cumhaill_(fate/grand_order),4\nrapeseed_blossoms,0\nirono_(irtyu),1\nrio_wezley,4\nfaust_(guilty_gear),4\nshino_hajime,4\nmatou_byakuya,4\ndeviljho,4\nsunkern,4\nsawai_natsuha,4\nnatsu_(sinker8c),1\nclothes_rack,0\nmilk_churn,0\ngramophone_miku,4\nedomae_lunar,4\npajamas_challenge_(meme),0\nkasuga_souichi,1\nblack_cat_(series),3\nmasaki_(celesta),1\nzabel_zarock,4\nn-mix,1\ndartboard,0\nraru_(nanaharararu),1\ndoumou,1\nred_tabard,0\nilya_kuvshinov_(style),0\nkokaki_mumose,1\nsp0i0ppp,1\ntom_nook_(animal_crossing),4\nikuya_koimori,1\nmarvelous_sunday_(umamusume),4\nrin_(blue_archive),4\nozaki_(tsukiko3),1\npotekite,1\nsuou_amane,4\nbondson,1\nbokuto_koutarou,4\ntenkuu_no_escaflowne,3\nluna_(reclaimed_land),1\nkawasaki_tadataka,1\nkamen_rider_gaim,4\njazztaki,1\nsummoner_(final_fantasy),4\nprophecy_(rakuichimonji),1\nabaratani_kurou,1\nberukko,1\netotama,3\nhashiri_nio,4\noinari-sama_(kemono_friends),4\nkufei,4\nsidarim,1\nkurumi_(recycllamo),1\nmusic_s.t.a.r.t!!,0\ngynoid_talk,3\nhaccan,1\nyuki_miku_(2010),4\narrow_(jojo),0\nmisaka_kaori,4\nshinjin-chan_(douki-chan),4\nshizuka_joestar,4\nheart_hands_failure,0\nitsumizu,1\nnidaime_(doronbo),1\nmizuno_sao,1\nhyonee,1\ngomashio_ponz,1\naya_roushi,1\nkaruta_(karuta01),1\nunya_(unya-unya),1\nnaked_dogeza,0\nshaft,3\nnatsuki_(gedo),1\ndewprism,3\nichidai_taisa,1\nkujou_kazuya,4\nneyuki_rei,1\ntamade_chiyu,4\nelsevilla,1\ncomic_megastore,3\ngame_boy_color,0\nfunakura,1\ncocked_hammer,0\nhibiki_mio,1\namakara_surume,1\npixiv_fantasia_2,3\nhentai_(1985),1\nominous_shadow,0\ntomiwo,1\natom,0\nprehistoric_animal,0\nfukujima_kiwi,1\nprisma_illya_(cosplay),0\ntakigawa_yuu,1\nkogasa-san's_father,4\nmiemia,1\ncaption,0\nbend,0\nmurasame_(senren),4\nja'far_(magi),4\nkrenz,1\nthe_hunchback_of_notre_dame,3\nslowbro,4\nyui.h,1\ndeath_flag,0\nvioletshit,1\npotemayo,3\nbf_109,0\nhayase_misa,4\nonimaru_gonpei,1\nichikawa_kyoutarou,4\njurassic_park,3\ncaucasian,0\narsene_(persona_5),4\norimiya_mai,1\nhiita_(yu-gi-oh!),4\nmatsusaka_gyuu,1\ndeep_(deep4946),1\nfujimaru_ritsuka_(female)_(chaldea_combat_uniform),4\ncensored_gesture,0\ndracule_mihawk,4\ntanakara,1\nnvl,1\nfiz_(fizintine),4\nkiryuu_michiru,4\ntalim,4\nmotsuaki,1\nfujioka,4\nemelie_(cyancapsule),4\nmaria_(fire_emblem),4\nmocha_(naturefour),1\nmeal,0\nfenrir_(fenriluuu),1\nafterglow_(bang_dream!),0\ngreen_apple,0\nngayope,1\nterror_(azur_lane),4\nkarin_bluez3,1\ntogo_(korlsj1235),1\nfuurinkan_high_school_uniform,0\n7_calpis_7,1\nkuri_choko,1\npump_(pumpqmuq),1\nwhite_dog,0\nkeshin_(inazuma_eleven),0\nichi-jirushi,1\ntake_(draghignazzo),1\nkonohana_lucia,4\nkatsushika_hokusai_(third_ascension)_(fate),4\nshikou_sakugo_(qqap9gt9k),1\narablue,1\nhiryuu_kai_ni_(kancolle),4\navery_(pokemon),4\nkirigami,0\nplachta,4\nparu_paru,0\nsun-3,1\nhanikami_kanojo,3\nochazuke,1\nnikka_(cryptomeria),1\ntwilight_(go!_princess_precure),4\nisla_(plastic_memories),4\ngond,1\nstuffed_dragon,0\ntakeuchi_aya,1\ntamamo_(mon-musu_quest!),4\nmenea,1\nwhite_jabot,0\nelbowing,0\ntenoo12,1\ntype_99_dive_bomber,4\nkaela_kovalskia,4\nryuno,1\nvhs_artifacts,0\nroang,1\ninoue_seita,1\nregigigas,4\naya_(lezon),1\nbookstore,0\nbikini_bottom_aside,0\npaul_bunyan_(third_ascension)_(fate),4\nishida_umi,1\nkakaon,1\nsequins,0\nbren_lmg,0\nasterozoa,1\nkanameya,1\nukan_muri,1\naki_(akisora_hiyori),1\nchristmas_tree_costume,0\nsera_(serappi),1\nxanax025,1\ntakatsu_keita,1\nhe-class_light_cruiser,4\nsakofu,1\nkaleina_(ricegnat),4\npauline_(mario),4\nmaki_ikazuya,1\niwanori,1\nkokouno_oyazi,1\nmushiking,3\nkamatama,1\naiko_(renkin_san-kyuu_magical_pokaan),4\namitie_(puyopuyo),4\nshinjou_hinaki,4\nkoborii_(amaburi),4\nsakaki_shizuka,4\ninubouzaki_itsuki,4\ntabuchi_(tabuchisanchi),1\nanbutter_siruko,1\narmored_core:_for_answer,3\nna_kyo,1\nkono_yuusha_ga_ore_tueee_kuse_ni_shinchou_sugiru,3\nkoshimizu_ami,4\ntoaru_kagaku_no_railgun_s,3\nankh_necklace,0\nmaria_campbell,4\nexhaust_pipe,0\nsprue,0\nende_(chihuri),4\ngram_9,1\numamusume:_cinderella_gray,3\nlactating_into_cup,0\ndynamax,0\npipidan,1\nputi_devil,1\nguvava,4\nmg34,0\npersian,4\nikoku_meiro_no_croisee,3\npoko_chin,1\nq_(control),4\nkurarin,1\nvenus_flytrap,0\nkami-sama_no_memo-chou,3\nshy_guy,4\nmaruku,1\nsayousuke,1\narcher_(disgaea),4\nharaegushi,0\nrui_(dream_c_club),4\ntenzou_crossunite,4\ntoo_many_rabbits,0\ntribute_(tributism),1\ndenden,1\nshisshou_senkoku,1\nsanuki_(kyoudashya),1\ngohpot,1\ntokyo_ravens,3\nhagetapo,1\ngiryu,1\nakiba_hideki,1\ntimeskip,0\ntype_97_chi-ha,0\nalcremie_(vanilla_cream),4\nhoyon,1\nsingle-shoulder_shirt,0\nwatanabe_kanako,4\notomeza_ryuseigun,1\nzunta,1\nhimedanshi,0\nnishiki_areku,1\n7zu7,1\ndoughnut_innertube,0\no-ring_dress,0\nyoushu_ohepe,1\nmitsuki_felicia,4\nshuu-0208,1\nzepar,4\na_hat_in_time,3\nraccoon_hood,0\nsawaya_(mizukazu),1\nsonya_(fire_emblem),4\nspiral_staircase,0\nyotsuboshi-imai,1\nsuper_orion_(fate),4\nbaselard,4\nbeiyi,1\nreihou19,1\nsenyoku_no_sigrdrifa,3\ngu_luco,1\namagi_shino,1\nnarita_top_road_(umamusume),4\n.hack//games,3\nkouenji_sayuka,4\nvulcanus_(disgaea_4),4\nsasanoneko,1\nshimizu_pem,1\ntemari_rin,1\nrourou_ill,1\nhinata_yuu_(atelierhinata),1\nelephant_ears,0\npanzuban,1\nnorasame_(dagako),1\nsweater_removed,0\njack-o'-lantern_ornament,0\nyuuma_(u-ma),1\nbarbie_(franchise),3\namemiya_sekira,4\nthe_children,0\nuhyoko,1\nharuna_(kore_wa_zombie_desu_ka?),4\nkumaori_jun,1\nkouba,1\nikazuchi_no_senshi_raidy,3\nkikou_souseiki_mospeada,3\nsaren_(christmas)_(princess_connect!),4\nkaryl_(new_year)_(princess_connect!),4\nre:zero_kara_hajimeru_isekai_seikatsu:_lost_in_memories,3\nholding_bow_(ornament),0\nthe_great_ace_attorney:_adventures,3\nnachi_kai_ni_(kancolle),4\nsetanta_(fate),4\nrodney_(melagal),1\noza_osuwari,1\ntunamayo_(dsasd751),1\nsnowcie,1\niseya_shiki,4\ndiola_(granblue_fantasy),4\nmoe2016,0\nqiongsheng,1\ntsunsuki_(naobe009),1\nsharpffffff,1\npushcart,0\nkitazawa_(embers),1\ncheryl_(pokemon),4\nakiyama_cz4a,1\ncap'n_cuttlefish,4\nsajou_ayaka,4\name-san,1\nchimachi,1\ncan_to_cheek,0\nohyo,1\nmk-5,1\notter_girl,0\nfartooth_(arknights),4\ncalling,0\nlace_collar,0\npink_seito,1\nsekishiro_mico,4\nniku_(ni23ku),1\nbeige_scarf,0\nkuroda_kunika,4\nself-mutilation,0\nyakumo_nanahara,1\nsorono,1\nheiyan_shenshi,1\ncocoa_(cafe-hotcocoa),1\njoey_jones,4\nxiangtu,1\ndizi930,1\nitsumi_(itumiyuo),1\nhoshara,1\ngouma_reifuden_izuna,3\nharino646,1\ndddoochi1,1\nohoho,1\nshamisen_(syami_sen),1\ngyosone,1\nkasuga_yuuki,1\nterra_battle,3\nmoko_(moko/moko),1\napplepie_(12711019),1\nlaevatein_(fire_emblem),4\norange_bandana,0\nkimi_ga_shine,3\nirokari,1\nportal_2,3\ncaiman_(dorohedoro),4\nfeint721,1\nmpien,1\nstar_balloon,0\ndetective_pikachu_(character),4\nberserker_(granblue_fantasy),4\nmulticolored_cloak,0\ntakurowo,1\namasaki_yusuke,1\nhentai_kamen,3\njilpoong17,1\nshiozaki_yuji,1\nmoriya_suwako_(cosplay),0\nnns146,1\nedward_geraldine,4\ncapybara-san,4\nkaizeru,1\nyoshizoe_eiko,1\nshibata_masahiro,1\nbilly_herrington,4\nkyoku_tou,1\nmanectric,4\ncombee,4\noerba_yun_fang,4\nrock_howard,4\nshion_(no.6),4\naurica_nestmile,4\njubei_(blazblue),4\nnobamo_pieruda,1\namamiya_yuuko,4\nmeshimase_idol,3\nitachi_kanade,1\nincense_burner,0\nm60,0\ninumoto,1\nberu,1\nponta_(velmar),1\naang,4\nplains_zebra_(kemono_friends),4\naiba_uiha,4\nbayleef,4\nnatsu_narumi,1\nmamonomusume_to_no_seikatsu_~ramia_no_baai~,3\nfred04142,1\nlan_mao_akko,1\nflak_jacket,0\ntaniguchi,4\nholding_finger,0\nmelissabelle,4\nteitan_high_school_uniform,0\nhanada_kirame,4\nyumi_sayaka,4\nmikuni_mizuki,1\nakatsuki_hiro,1\netou_kanami,4\ngenshi,1\ncomiket_93,3\nyukiyanagi_raki,1\njavelin_(spear),0\nserving,0\nkoguma_(super_cub),4\nfurfur,4\nxiao_rui_rui,1\nfloating_screen,0\ngullinbursti_(housamo),4\nhijouguti,1\ncp00,1\nbojji,4\nkobayashi_yoshitaka,1\ncrying_aqua_(meme),0\nyumekamaborosh,1\nlunch_(lunchicken),1\ninkblot,0\nmizu_(lzzrwi603),1\ntaowu_(20809),1\nmumumu_(road),1\nmuku_(apupop),1\nlafiel,4\nyupiteru,1\nboko_(girls_und_panzer)_(cosplay),0\n7001,1\nkanade_(kanadeya),1\nyellow_tongue,0\nglass_teapot,0\nromero_(zombie_land_saga),4\ninui_nagi,1\ntakenoko_no_sato_(food),0\nnoire_(fire_emblem),4\nhun,1\nlamia_hygieia,4\nkawanuma_uotsuri,1\nshirosu,1\nrance_10,3\nh2o_footprints_in_the_sand,3\ncleft_chin,0\noretachi_ni_tsubasa_wa_nai,3\n100th_black_market,3\ntenhiro_naoto,1\nralsei,4\nagatsuma_kaede,4\nkagaya_you,4\nkadan_(ad1999),1\nafrican_rock_python_(kemono_friends),4\ntuskryo,1\nhotel01,1\nfrilled_babydoll,0\nkieed,1\ninniyik,1\nscorpion_girl,0\npeople's_liberation_army,0\nkurousagi_(mondaiji),4\nkurusu_tatsuya,1\nhachikuji,1\nsewenan,1\ngachon_jirou,1\nprecure_all_stars_new_stage:_mirai_no_tomodachi,3\nwang_yuanji,4\nehart,1\ntamakorogashi,1\nichijou_hitoshi,1\nazure_(armor),4\njuli_(street_fighter),4\nholding_wallet,0\nazure_meraki,1\nshadow_(shadows_house),0\n40_(0f0urw),1\nbedside,0\ngecchu,1\nelectrodes,0\nwavy_eyebrows,0\nkaneda_shoutarou,4\nnishiya_futoshi,1\nvalis,4\nfrog_hood,0\nkukimaru,1\nkochikame,3\nbeenic,4\nhelel_ben_shalem,4\nappleq,1\npanda_tail,0\ndeilan12,1\nsnowflake_ornament,0\nmushroom_girl,0\nchane_laforet,4\nsakura_hanatsumi,1\nkanro_ame_(ameko),1\ntea_(cafe-chan_to_break_time),4\ngalactic_empire,0\nmulticolored_buttons,0\nnameless_(rynono09),1\nanchor_hat_ornament,0\nbumping,0\ntama_yu,1\nyamada_michiru,4\nbitter_crown,1\npie_in_face,0\nyukifuri_tsuyu,1\nyuuki_shin,1\ntamura_yukari,4\nagainst_table,0\nchris4708,1\nrei_(princess_connect!),4\nshin_megami_tensei_iv,3\nholding_chalk,0\nbouncing_hair,0\ntorn_sweater,0\nchungu,1\npillow_sex,0\n;|,0\nyuu201023,1\nnakasawa_kei,1\nlif_(lif_&_ref),1\nkouga_(mutsumi),1\nstorage_room,0\nmimic_chest,0\nfungi_(genshin_impact),4\ntalon_(league_of_legends),4\nporygon-z,4\nfamiliar_(madoka_magica),0\numbrella_riding,0\nleonardo_watch,4\nmochimochi_(xseynao),1\nweeds,0\nflamel_symbol,0\nsimulated_facial,0\nchiimako,1\nferris_wheel_interior,0\nmorita_(moritania),1\npineapple_slice,0\nnami_makoto,1\npanda_print,0\nyunomiya_agari,4\ndoora_(dora0913),1\neustace_(granblue_fantasy),4\nthigh_bow,0\nmotobi_(mtb_umk),1\nnitro_(mugityaoisii),1\nmaruyaa_(malya1006),1\njl_tan,1\nsasabunecafe,1\nsaya_(blue_archive),4\nlayer_(mega_man),4\nkawai_rou,1\ntenshi_no_3p!,3\nkatase_minami,1\nmia0309,1\nyuugenmagan,4\nkos-mos_re:,4\nkaneblob,1\nkoi_ni_naritai_aquarium,0\nboukun_habanero,3\nnito_(nshtntr),1\npnatsu,1\ncutie_panther,0\nbrazilian_flag,0\nshiory,1\nshining_star,3\nkuzu_(miduhana),1\ntriage_x,3\nmaster_nemesis,4\nblazblue:_continuum_shift,3\nwarp_star,0\nmaruzensky_(blasting_off_summer_night)_(umamusume),4\nworking,0\ngunner_(final_fantasy),4\nseirei_tsukai_no_blade_dance,3\nbound_knees,0\nsd_gundam_g-generation,3\nteri_terio,1\ndrumming,0\nluciana_mazzei,4\nkotaka,1\nritateo,1\ncorrugated_galvanised_iron_sheet,0\nmatsushita_makako,1\nwurmple,4\nsigurd_(fire_emblem),4\nconvention,0\nkurama_norihito,4\niga_tomoteru,1\nwhismur,4\nkabutoyama,1\nexamination,0\njohn_su,1\ntaiko_no_tatsujin,3\nyone,1\nare_you_my_master,0\nkujuu_shikuro,1\nkori_(trouble_spirit),4\naikawa_chiho,4\nhisakawa_riho,1\nsuzuki_rika,1\ngo-it,1\nrance_(dokidoki!_precure),4\nmiria_marigold_mackenzie,4\nsorato_(astllatte),1\nnichibotsu_(kitaziman),1\nfurfrou,4\nyuya_(oshidori),1\nyumibakama_meme,1\nyaya_(machine-doll),4\nhosshiwa,4\nsuperhero_landing,0\ndanjou_sora,1\nkinketsu,1\npolka_dot_shorts,0\nh.n.elly_(kirsten),4\nakine_(kuroyuri),1\nmachiko_ryou,4\nbastet_(houtengeki),4\nwinged_fusiliers,3\nsebastian_castellanos,4\nchiwa_(chiwa0617),1\ntony_kuusisto,1\ntransparent_border,0\nkagami_toufu,1\ndeg_(deguana),1\ncafe_stella_to_shinigami_no_chou,3\nyocchi_(tenyunkel),1\namagi_(wending_waters_serene_lotus)_(azur_lane),4\nkurowa_(curowa),1\nmarley_military_uniform,0\nnisetanaka,1\nsakana_(saka11205),1\nsana!rpg,1\nimprovised_umbrella,0\nsakusakusakurai,1\nrabiiandrain,1\nwill_(pokemon),4\nwa2000_(op._manta_ray)_(girls'_frontline),4\nfoot_massage,0\npalette_knife,0\nnephthys2356,1\nyorra_villeneuve,4\nikamagu,1\ndok-ja_kim,4\nshipping_container,0\npool_party_(league_of_legends),0\nhalf-timbered,0\nsakai_eri_(illustratoreri),1\nsugi87,1\npleated_sleeves,0\nkaerunoko,1\nhallessena,4\ndenkaisui,1\nhirai_chika,1\nviola_(majo_no_ie),4\nsakuma_rinko,4\ncyber_v,3\nbandaged_chest,0\nrumoon,1\ngregor_(tsurunoka),4\nmiori_celesta,4\nigusaharu,1\nmatsu_84,1\nking_of_prism_by_prettyrhythm,3\nkomachi_narota,1\njiao_mao,1\ne-liter_3k_(splatoon),0\ntk31,1\nsakagami_ayumi,4\nmasquerain,4\nhisui_(stapspats),1\nnekoi_hikaru,1\nuiroutsuji_yumihiko,1\nhand_sonic,0\nmomoki_run,4\nlupusregina_beta,4\nshikishima_mirei,4\nseura_isago,1\ndab_(dance),0\nguhanshounen,1\ndongho_kang,1\nharle_(chrono_cross),4\nkirishima_riona,1\nokuyama_saori,4\nsamba,0\nsethxzoe,1\nonimaru_(onimal7802),1\nbad_vulva,0\ncollision,0\nworld_masterpiece_theater,3\nsenpai-san_(douki-chan),4\nhelloimtea,1\nshingyoku_(female),4\nferrari,0\nbaozishark,1\nhasegawa_shin'ya,1\nsucking,0\ngoodbye_sengen_(vocaloid),3\nheavy_(tf2),4\nyuumin,1\nuxie,4\nran_system,1\ntamamo_no_mae_(fate/extra)_(cosplay),0\ndojirou,1\nofuda_on_nipples,0\nkuromukuro,3\nkandori,1\nyuzuki_yukari_(shizuku),4\npizza_delivery,0\ncarol_(skullgirls),4\nmasaki_kei,1\ndancouga_(series),3\npoko_(mammypoko),1\naccessory_tan,0\nbig.g,1\nichinose_haru,4\ngedou_(shigure_seishin),1\ntakamiya_ren,1\nshadowgrave,1\nthresh_(league_of_legends),4\nfrilled_footwear,0\nsamurai_(final_fantasy),4\nkagura_rei,4\nkaeru_(kaerism),1\nnanashi_maru,1\nkuroino_(kuroyashiro),1\nakabane_hibame,1\nrulue_(puyopuyo),4\nragecndy,1\nmatsunaga777,1\nharu57928031,1\nbrigid_(fire_emblem),4\nmidori_(310ri_21),1\nmousse_(arknights),4\nm_ko_(maxft2),1\nso-taro,1\nhenriiku_(ahemaru),1\nbreaking_bad,3\nnea_(chihuri),4\ndrew_(pokemon),4\nkuki_panda_(wkdwnsgk13),1\nhakuryuu_(azur_lane),4\nday_and_night,0\naircraft_catapult,0\nkaii_shoukougun,3\naramaru,1\nmon_mon,1\nholox,0\nakira_miku_ver,1\nmiz_(mizillustration),1\ndaisi_gi,1\ngirls_bravo,3\nfii-tan,4\nootsuka_mahiro,1\ntamayura,3\nsharekoube,1\nbrera_sterne,4\nmall,0\ncastlevania:_order_of_ecclesia,3\nshanoa,4\nhentai_oyaji,1\nmarisu,1\nnogami_takeshi,1\nkururu_(rhapsody),4\nmaki_daikichi,1\nshinozuki_takumi,1\ntoriny,1\nchihuahua,0\ninamori_mika,4\neternal_arcadia,3\nreala_(tales),4\ncoco_(yes!_precure_5),4\ntogetic,4\nriftgarret,1\ntouryou,1\nsakura_akari,4\nsleeve_rolled_up,0\nrumwik,1\ncramorant,4\nkemuri_haku,1\nrukino_saki,4\nizumi_makoto,1\nmono_land,1\ncrowded,0\nanezaki_mamori,4\nkaburagi_yasutaka,1\ntiffa_adill,4\nkuroshiro_(ms-2420),1\nmaroonabyss,1\nchataro1412,1\nblack_mutou,1\nkitou_sakeru,1\nkobuta,1\nhitmonlee,4\nfukutchi,1\nhoulen_yabusame,4\nroshin,1\nsc_naru,1\nanju_(mocomocousagi),1\ncure_white_(cosplay),0\nsuwakana,1\ndragon_(arms),0\nwreck-it_ralph,3\nsolrock,4\ncereal,0\nparasite,0\npokemon_center,0\nshoulder-to-shoulder,0\ntamamo_no_mae_(swimsuit_lancer)_(first_ascension)_(fate),4\nbaron_(nsbaron),1\nauction,0\naymr_(fire_emblem),0\nrampart_(apex_legends),4\ns-head_commander,4\npie_slice,0\nmarley_(pokemon),4\nyuuka_seisen,1\ntacco_(tikeworld),1\noctodeco,1\nginmu,1\nskirt_under_kimono,0\nsashima,1\nfanta_(the_banana_pistols),1\nakitaka_akita,1\nharuno_shuu,1\njohn_zhang,1\nukimukai,1\ntougou_hifumi,4\nkeikenchi_(style),0\ntp_(kido_94),1\nmalasada,0\nootani_mikoto,1\nseox_(granblue_fantasy),4\npengy_(granblue_fantasy),4\ndin_(raiden),1\nprincess_royale,3\nlatenight,1\nboston_terrier,0\naosora_(mizore),1\nmagician's_red,4\nnicole_pmonachi,1\nscarecrow_(girls'_frontline),4\njaguarman_(fate),4\nouran_high_school_uniform,0\n4690_(tkpbsk),1\nhinoe_(dd_works),1\nj_adsen,1\nshibakame,1\npolka_dot_bowtie,0\npia_carrot_e_youkoso!!,3\nsukumo_(kemutai),1\nminiwa_tsumiki,4\nboko_(maniacpurple),1\nlinreplica,1\ntenmu_shinryuusai,1\npage_tear,0\nginopi,1\ntan_sweater,0\namamine,1\nkihel_heim,4\nyuui_hutabakirage,1\nraiya_atelier,1\ntanuki_(kemono_friends),4\nbeastars,3\nirezumi,0\nstuffed_seal,0\nsimulated_paizuri,0\nrobotech,3\nhand_guard,0\nparkgee,1\npuffer_fish,0\ngoldfish_print,0\ntemplus,1\nnakayama_tooru,1\nfesta11307070,1\nroberta_(arknights),4\ncinko,1\nmatsukuzu,1\nrorosuke,1\nconstruction_site,0\nshaka_(staito0515),1\nzummy,1\ncdash817,1\nsabakuomoto,1\nkiduta_cielo,1\nsummon_night_4,3\n888myrrh888,1\ntogame_momoko,4\nbilibili_xiaolu,1\nikawa_waki,1\nchiruto,1\nchiester556,4\nnakagawa_waka,1\nyuu_(yumezakura),1\nstar_guardian_ahri,4\ntoudou_erena,4\ngeregere_(lantern),1\nsword_art_online:_hollow_fragment,3\nembroidered_bra,0\nsunege_(hp0715),1\nescalayer,4\natsumisu,1\nwowoguni,1\nchase_(pokemon),4\nusui_harusame,1\ntamasaka_makoto,4\nuosaasou,1\nribbon-trimmed_swimsuit,0\nmono_(shadow_of_the_colossus),4\nmania_(fd6060_60),1\nturbulence,1\nseseren,1\nsou_(pale_1080),1\njigen_(cookie),4\nbrown_tank_top,0\nsothe_(fire_emblem),4\nleaf98k,1\nstreet_fighter_ex_(series),3\nhoxutixu,1\nholding_skateboard,0\nopen_labcoat,0\nyuzuhara_haruka,4\nmaho_(princess_connect!),4\nwakataku,1\ngirl_(mokufuu),4\nexercise_machine,0\nakuma,1\nmultiple_necklaces,0\nzacian_(crowned),4\nmahou_shoujo_ai,3\naohane,1\ncatgirl0926,1\nkamaboko_senshi,1\nkilly,4\namicis,1\naisha_clanclan,4\nriza_wildman,4\nkasanui,1\nmame,1\nfatina,4\nzatsune_miku,4\nhealing,0\nfuuchouin_kazuki,4\ngrimlock,4\ngirl's_avenue,3\nsawamura_hikaru,1\nsudowoodo,4\nkadabra,4\njasmine_(disney),4\nfallout_3,3\nzaitsu,1\ncanape_(canape0130),1\nlectern,0\nnemophila_(flower),0\nno_parking_sign,0\nsaint_october,3\nking_ghidorah,4\nzhuxiao517,1\nootori_chihaya,4\nrobographer,1\nmikan_(ama_no_hakoniwa),1\nprinter,0\nhortense,4\ntakoyaki_neko-san,1\nautopaizuri,0\ntokunaga_akimasa,1\nrathalos_(armor),4\nkaerunoashi,1\nushi_(newrein),1\nvira_(summer)_(granblue_fantasy),4\nyoriyuki_chiyo,1\norange_buruma,0\nbravely_second:_end_layer,3\numitsuki_natsuzou,4\nbag_on_head,0\nmikuni_oriko,4\nkaraage3,1\npekomama,4\nryuubi_gentoku,4\nlubikaya,1\nnezha_(fate),4\nhiiragi_miki,4\nkannabi_no_mikoto,4\narnold-s,1\nacubi_tomaranai,1\nkagamine_len_(cosplay),0\npink_cloak,0\nmeowy_(chainsaw_man),4\ncofagrigus,4\nhare_(tetterutei),1\ntype_79_(girls'_frontline),4\nyoruhachi,1\nshiao,1\ndarumaka,4\npos_(shiratama-ya),1\nmkm_(mkm_storage),1\nregirock,4\natlas_academy_uniform,0\nchisato_(missing_park),1\nse-u-ra,1\nmoor,1\nmokkori9,1\nmutsuki_tooru,4\nshiraki_shiori,1\ntakemikazuchi_(muvluv),4\nnamako_(namacotan),1\naqua_sarong,0\ngetsumen_suibaku_ver._a(c),1\nyuuzuki_hijiri,1\nyukinoshiro,1\nmodel_tank,0\nt-34-85,0\nasagiri_shiori,4\nmabel_pines,4\npixiv_azriel,3\nixmmxi,1\niyakun,1\nmaruchan.,1\ntennousu_athena,4\nunibrow,0\nmarionette_(excle),1\nbehind_tree,0\nnazal,1\nyoicha,1\nkamehito,1\nflo_(guilty_hearts),1\nnakaba_(mode),1\ntachibana_shiro_(idolmaster),4\nartoria_pendragon_(alter_swimsuit_rider)_(third_ascension)_(fate),4\name_no_kisaki_academy_uniform,0\nkouzuki_tsubasa_(musou_kaidou),1\nkinu_kai_ni_(kancolle),4\nnopetroto,1\nsatou_aji,1\nbib_(bibboss39),1\nhiiro_h,1\ntanaji,1\ntamanoi_peromekuri,1\nlimeblock,1\nnanotaro,1\njurassic_world,3\ntsukuru_(seki_sabato),1\nfujii_tomo,4\npencil_mustache,0\nnagi_(shunsuke-manage),1\nyohane_shimizu,1\nwing_hug,0\ndragon_radar,0\nshiratama_mikan,4\nekus_(xo_ekus),1\notsukemono,1\nkaruta_(card_game),0\nsweet_devil_(vocaloid),3\nblender,0\nabyssal_crane_princess,4\nshijou_mitsue,4\naraki_kanao,1\nsebu_illust,1\nsa9no,1\nbamboo_print,0\nyinpa_(wanone500511),1\nremsor076,1\ncoco_adel,4\nbarking,0\nrifu_(643763873),1\nusa_(dai9c_carnival),1\nfireball_(series),3\nmiyamoto_musashi_(swimsuit_berserker)_(third_ascension)_(fate),4\nclear_glass_(mildmild1311),1\ncrote,1\nprint_coat,0\nqingmingtongzi,1\nmeen_(ouaughikepdvrsf),1\nhayashio_(kancolle),4\nkamiya_kaoru,4\nhigashigunkan,1\nserizawa_fumino,4\nyuuno_(yukioka),1\ntakigawa_geenito,1\nsasakama_(sasagaki01),1\ntaniguchi_jun'ichirou,1\ncromwellb,1\ngalvantula,4\ntsurugi_hikaru,1\nyom_(ymayma00ss),1\nhenkuma,1\nshenqi_(toid310),1\nwith_you,3\nhatafuta,1\naoi_(buzhuen444),1\nalice_(tales),4\nnagumo_(nagumon),1\npunk_girl_(pokemon),4\nscathegrapes,1\ntentsuu_(tentwo),1\nraven_(honkai_impact),4\nconifer,0\nputimaxi,1\nmakun_dx,1\nakizuki_ritchan,1\ngenmukan,3\ntenk,1\nmato_(mozu_hayanie),1\nhair_ornament_request,5\ngugure!_kokkuri-san,3\nelizabeth_bathory_(halloween_caster)_(fate),4\noshiruko_(oshiruco_212048),1\nmeridian_project,3\nkokorozashi,1\nkatai_(nekoneko0720),1\nstomach_day,0\neiscue,4\nenraku_tsubakura,4\nneko_musume_michikusa_nikki,3\nkou_futoshi,1\ncanti,4\nrakuyo_(bloodborne),0\nmaitake_(kinokonabe_hinanjo),1\nslav_squatting,0\nholding_boots,0\nmashiro_blan_de_windbloom,4\ncawang,1\ncross-laced_skirt,0\nblood_writing,0\npomesaurus,1\nprism_ark,3\nafter_insertion,0\nkohakugin,1\nnennen,1\ntaiki_(luster),1\nkochoko,1\nhamoto,1\nchocolate_misu,4\nmatsuzaki_miyuki,1\nvibrator_bulge,0\narrietty,4\nhisakawa_tetsudou,4\npremature_ejaculation,0\npaper_balloon,0\namano_yukiteru,4\nsukiyo,1\noboro_(taimanin_asagi),4\nkinoko,1\nfansub,0\ngag_manga_biyori,3\nkerosene_lamp,0\napocalypse,0\necell,1\nh@ll,1\nkazuaki,1\nmaguta,1\nvietnam_(hetalia),4\nsuper_robot_wars_judgement,3\nfinger_to_head,0\nskorpion_vz._61,0\npastel_chime,3\nrepublic_of_china_flag,0\nkagehara_hanzou,1\ntank_cupola,0\ndelica,1\ngiraffe_tail,0\nsogabe_shuuji,1\nbad_end_happy,4\nsagimori_arata,4\nredol,1\nsbgu,1\nporygon2,4\naitsugawa_rui,1\nrecording_studio,0\nakiamare,1\ncacnea,4\ncalpara,1\nbekkourico,1\nkinoko_no_yama,0\nrisky_boots,4\ntori_(10ri),1\nmm_(yoromu),1\nminori_(senran_kagura),4\ntoaruocha,1\nkurofude_anna,1\nbeliatan,1\njenga,0\nghirahim,4\nsaino,1\nkabocha_head,1\nsakura_szm,1\nfionna_the_human_girl,4\nraigou,1\nmercedes-benz,0\nmitsumine_raimu,1\namagi_(volfuji),1\ndarnell,1\nepona,4\nantelope_horns,0\nharu_(konomi_150),1\nookashippo,1\nmokuzou_(moku_ssbu),1\nhayami_saori,4\nbong_(0u0bon),1\ntenchuu,3\nbob-omb,4\nkongou_(azur_lane),4\nfreyja_(fire_emblem),4\nspace_shuttle,0\nkobuchizawa_shirase,4\nsnorkel_in_mouth,0\nfutoshi_(darling_in_the_franxx),4\nmark_gavatino,1\nnishimura_(nianiamu),1\nkumaartsu,1\nmiles_morales,4\nmisono_gakuen_school_uniform,0\nyatsuki_yura,1\nnishigoori_yuuko,4\nsora_no_kanata_no_dystopia_x_shitei,3\nmettaton_ex,4\nyuba_no_shirushi,3\nsusie_(kirby),4\nheavy_splatling_(splatoon),0\nyear_of_the_rabbit,0\ncenser,0\ntakeu,1\nviolence_kumahina,1\nchikaya,1\nyamamoto_shuuhei,1\nblood_sword,0\nflower_shop,0\nhorn_(arknights),4\nfujimaru_ritsuka_(male)_(tropical_summer),4\nhk416_(herbal-flavored_hard_candy)_(girls'_frontline),4\nyuuki-chan_(kanabun),4\naqua_horns,0\ntama_kai_ni_(kancolle),4\npartially_opaque_glasses,0\nmahoutsukai_no_yakusoku,3\npo_fu,1\niowa_(pacific),4\nmid-stride,0\nmiurahha,1\npippi_(pixiv_1922055),1\nakanasu,1\njoakim_sandberg,1\ndouble_thumbs_up,0\nsasori_(naruto),4\njoman,1\ntarayama,1\nmarin_(the_legend_of_zelda),4\nyazawa_oke,1\ngreythroat_(arknights),4\nrias-coast,1\nnapo,1\nnatsushi,1\nalice360,1\nvelia,1\naco_(koaya_ako),1\nazuma_tokaku,4\nxiaoyin_li,1\nhasunokaeru,1\nmaru-sun,1\nore_no_nounai_sentakushi_ga_gakuen_love-comedy_wo_zenryoku_de_jama_shiteiru,3\npixiv_fantasia_1,3\nmatsuba_(idiotlantern),1\nbyakuya_reki,1\ntowako_(10wk0),1\ntakemoto_izumi_(style),0\ntoudou_shion,4\nmaeshimashi,1\nplushmallow,4\nzerokosan,1\nhinamori_momo,4\nshanks_(one_piece),4\nbanssee,1\ncaustic_(apex_legends),4\nmaidforge,1\nkaede_(blue_archive),4\nadolf_hitler,4\nweasel_(close-to-the-edge),1\nkumano_kai_ni_(kancolle),4\naak_(arknights),4\nyua_(argaoffroad),1\ngenshin_impact_sticker_redraw_(meme),0\ngrey_outline,0\nkimi_tsuru,1\nkitakouji_hisui,4\nribbon-trimmed_apron,0\njack_(wkm74959),1\nivy_(sena0119),1\ndynamo_roller_(splatoon),0\nsuzu_(tg_390),1\nkokekokko_coma,1\nmotono_(sakamotono),1\nno_animal_ears,0\nshadow_hearts_ii,3\nr_o_ha,1\nibis_douglas,4\nsinbad_(magi),4\ncaibao_return,1\nsuenaga_mirai,4\namane_sou,1\nillusionk,1\ntoru_k,1\ndolechan,1\nfurukawa_lemon,1\npoliwrath,4\nkatzeh,1\nstar_bracelet,0\npaco,1\nkirai_shouen,1\nhirose_madoka,1\nedoya_pochi,1\nkasaneko,1\nkimuti-g,1\nminase_shuu,1\nkobayashi_tetsuya,1\nhinomoto_oniko,4\nbaiguio_(zhu_xian),4\nanubis_(houtengeki),4\nblood_spray,0\nedwin_(cyberdark_impacts),1\nlaura_kinney,4\nargyle_skirt,0\nheld_up,0\nchiyami,1\nzenshin,1\neto_(tokyo_ghoul),4\nkureta_(nikogori),1\nayesha_altugle,4\nfunitarefu,1\ndoki_doki_majo_shinpan,3\nogre_(dq10),4\ncheunes,1\nhongbaise_raw,1\ngeorugu13,1\nsidecar,0\nshingyoku_(male),4\nfummy,1\ngear_hair_ornament,0\nsasa_kazamori,4\nleander_(azur_lane),4\nken_ill,1\nwristlet,0\nkagehito,1\nass_hair,0\namimi,1\nsakurabe_notos,1\nnbo,1\neugen_(granblue_fantasy),4\nwarming_hands,0\nxiumu_bianzhou,1\nsadaharu,4\nred-p,1\naa2233a,1\nwashing_hands,0\nrazor_blade,0\nmega_man_x:_command_mission,3\nkorea_(hetalia),4\nfujiwara_minaho,1\nblissey,4\nzamudelin,1\nfumino_tamaki,4\nsarutobi_ayame,4\nbuta_(uhoiiotoko),1\nigglybuff,4\nkoi_han,1\ndulldull,1\nthe_adventures_of_sherlock_holmes,3\nalhaitham_(genshin_impact),4\nr_dorothy_wayneright,4\nmetroid_prime,3\nusagimiko,1\nweri,1\npeter_strasser_(azur_lane),4\npinstripe_skirt,0\nkisara_(yu-gi-oh!),4\nremy_(elsword),4\nazusagawa_tsukino,4\nlordol,1\nasanaya,1\nyiduan_zhu,1\nsaotome_genma,4\nyoriteruru,1\nmaam,4\nhamtaro_(series),3\nstrawberry_earrings,0\nsunflora,4\nrally_vincent,4\nruda_(ruda_e),1\nabacus,0\npurple_pajamas,0\ntube_socks,0\nindra_(arknights),4\nemden_(azur_lane),4\nmaaru_(akira428),1\nm_(neteitai10),1\nmoriya_naoki,1\nfarah_oersted,4\nindonesian_commentary,5\nbishooji,1\ntank_(container),0\nhiragana,0\nkirita_(noraring),1\nmo_(mocopo),1\nchon_(chon33v),1\nasagao_to_kase-san,3\ncorked_bottle,0\nyamamura_umi,1\ncon_potata,1\neta,1\nmeiro_(yuu),1\nyatsune_rika,1\ncharacter_hat,0\nshouno_kotarou,1\nunbalance,1\nbomber_hat,0\nmudo_(saji),1\ndark_haired_kappa,4\ninaka_keikou,1\nbalmung_(fate/apocrypha),0\nkonoe_yuba,1\nnonosaki,1\nyoiti,1\nibaraki_douji_(swimsuit_lancer)_(first_ascension)_(fate),4\nsouya_agb_(kancolle),4\nhina_(genshin_impact),4\nyamifuka-san_(hoshi_san_3),4\nmomoi_satsuki,4\nmihato_senba,1\nteemu_taiga,1\ny_(036_yng),1\njouvru,1\nrin_(yu-gi-oh!),4\nunconventional_vehicle,0\nkihane_atsusane,1\nflan_(seeyouflan),1\nliu_lan,1\ndestroyer_water_oni,4\nvideo_call,0\nbug_(artist),1\nkuroame_(kurinohana),1\nriley_(pokemon),4\nfarrah_(granblue_fantasy),4\ndressing_room,0\ntaedu,1\nashino_moto,1\nhyoudou_issei,4\npd_(pdpdlv1),1\nryuuki_(hydrangea),1\nsubaru_(houkago_no_pleiades),4\numagenzin,1\nmiel_(lessontome),1\negooo,1\nkonarofu,1\nyukibuster_z,1\nnetarou,1\nclaudette_(queen's_blade),4\noruto_(ort+),1\nyukihama,1\ninu777,1\nsanae_(satansanae),1\nishigami_yuu,4\ndazzle_paint,0\ngagaimo,1\ndanhu,1\njourd4n,1\nthundergotch,1\nosobachan,1\nclea_(geee13),1\ncharlemagne_(fate),4\nyuzuzukushi,1\nkana_(fire_emblem)_(female),4\nrurima_(cookie),4\ntweet,0\nmajiang,1\ndenonbu,3\nengulfing_lightning_(genshin_impact),0\ntoaster,0\nakasaka_mamoru,4\nkiryuu_kaoru,4\ncoat_lift,0\nhell,0\narchvermin,1\ntaikoubou,4\nitsukia,1\nshinano_yura,1\nvenice,0\njerry_can,0\nyune_(ikoku_meiro_no_croisee),4\nfuu_(samurai_champloo),4\nisou_nagi,1\nmof's_silver_haired_twintailed_girl,4\ntakamoto_akisa,1\nminamisawa_atsushi,4\nsunny_gurlukovich,4\nmuro,1\nanakin_skywalker,4\nkoga_norio,4\nbutter_knife,0\nkrabby,4\njajala,1\nuka_(color_noise),1\nsougishi_ego,1\nmitsu_king,1\notogi_kyouka,1\nlune_zoldark,4\nhakama_pull,0\nshinozaki_sayoko,4\nshin'en-san_(shin'en),4\nvalvatorez_(disgaea),4\naoki_ume_(style),0\nping_hai_(summer_vacation)_(azur_lane),4\nshihou_haru,1\nkafra_uniform,0\nminidraco,1\nsuntory,3\nsakamoto_tatsuma,4\nshuuichi_(gothics),1\nkenkon_no_washi,3\naito,1\npontasu,1\nryuubi,4\ncathead,0\nhimadarou,1\nhiiro_yuki,1\nglycine_bleumer,4\nmaanu,1\neihi,1\nxerneas,4\nkanzaki_akari,4\ngiant_hand,0\ndot_pupils,0\nkosuke_(bb),1\nchatot,4\nthe_hobbit,3\nazna,1\nm16a2,0\nkuranami_shiki,4\ngimp_suit,0\nfa_yuiry,4\nboar_hood,0\nsnowsant_(arknights),4\nrhasta,1\nshinmon_akika,1\nmeslamtaea_(weapon),0\nedgar_roni_figaro,4\nhakuurei_amano,1\ncharybdis_(azur_lane),4\nmiyafuji_miina,4\njason_voorhees_(cosplay),0\nsarazanmai,3\nsenbon_tsuki,1\ntostos,1\ngogoco,1\nholding_candy_cane,0\nbiya_(1024),1\nhanabatake_chaika,4\nultra_instinct,0\nprofnote,1\nstratos_4,3\nreinhardt_(fire_emblem),4\ndolri,1\ncharlotte_corday_(third_ascension)_(fate),4\nhas_cropped_revision,5\nsoldier_(tf2),4\nyoshimoto_(carpsukidayo),1\ninu_(puputizy),1\njulius_pringles,4\nhaniwagi_(hal),1\nfutomomomoe,1\ne-fa-dorn,1\nnibbling,0\nmasquerade_mask,0\nhinata_(pure_pure),4\nlogix_ficsario,4\nnight_clothes,0\nromg,4\nmoby_(elsword),4\nearlgrey,1\nbayonetta_3,3\nhikimaru,1\ncourtroom,0\nyourfreakyneighbourh,1\nmaxim_tomato,0\nmoped,0\nnews,0\ndensetsu_kyojin_ideon,3\nchiaki_kurihara,4\ntouma_kisa,1\ncrusader_(tank),0\nhigashikata_daiya,4\nchocolate_doughnut,0\nroresu,1\nmastgg,1\nyoyohara_tsukasa,4\nonce_11h,1\nmonolith_(suibou_souko),1\nstriped_coat,0\nshiba_koen_middle_school_uniform,0\nharuru_minamo_ni!,3\nsaltwater_crocodile_(kemono_friends),4\nmatsunaga_garana,1\njustine_(persona_5),4\ncalm_mashiro,1\nihachisu,1\nkimura_seiko,4\nkisaragi_chiyuki,1\nross_tran,1\nechidna_(p&d),4\nluminous_(madoka_magica),0\nmaru_usagi,1\nryuu_(tsukinoyuki),1\nkoto_(kyousougiga),4\nmilinda_brantini,4\ndekasudachin,1\nmarco_(one_piece),4\nkanosawa,1\ngaothun,1\nsemi_truck,0\nmiitoban,1\nsouryuu_(double_dragon),1\nnice_nature_(umamusume)_(cosplay),0\nakigumo_kai_ni_(kancolle),4\nishiusu,1\nmiwa_kasumi,4\nred_jumpsuit,0\ngreetload,1\nfuture_style_(module),0\nkarakusa_(pattern),0\ntama_(aquarion),4\nroark_(pokemon),4\ngenny_(fire_emblem),4\naurora_e._juutilainen,4\nhuziko32,1\nhands_on_stomach,0\nimplied_after_sex,0\nupside-down_kiss,0\nviolette,4\nbaron_(x5qgeh),1\naro_(charged_time_out),1\ntooth_gap,0\nminiru,1\ntanaka_rie,4\nekuesu,1\nkugi_ta_hori_taira,1\ngrandia_ii,3\ntenma_saki,4\nmosaic,0\ntwo-tone_neckwear,0\nen@rain,1\nsishenfan,1\nsin11111,1\ndark_cure_(yes!_precure_5),0\noimo_(oimkimn),1\nchuchu_(show_by_rock!!),4\nplanted_knife,0\nsuzuka_(rekkyo),1\noosanshouuo-san,4\nbeige_legwear,0\nisshuukan_friends,3\nskeletal_hand,0\nbangboo_(zenless_zone_zero),4\nhimaneko.,1\nnatsu_natsuna,1\nholographic_touchscreen,0\nchabaneko,1\nherokick,1\nmirakururu,1\nroshiakouji-chan,1\ncarro_armato_p40,0\nmakai_shin_trillion,3\n34no404,1\nlotus_pedestal,0\nfuwa_daisuke,1\nsaegusa_akina,4\nkasugano_tobari,1\nfish_(food),0\nl'arachel_(fire_emblem),4\ndemon_cleric,4\nprinz_eugen_(profusion_of_flowers)_(azur_lane),4\nbai_linqin,1\nlooped_braids,0\ntaut_sweater,0\nsett_(league_of_legends),4\nry_thae,1\nsentou_mecha_xabungle,3\nholding_cage,0\nholding_carton,0\nuonuma_yuu,1\npokestar_studios,0\nsitting_on_roof,0\nnamaonpa,1\ndigital_hazard,0\namerican_flag_pants,0\nnestkeeper,1\ncloud_retainer_(genshin_impact),4\nbead_choker,0\nmaki_(blue_archive),4\natago_hiroe,4\nchou_shippai-saku,1\nmady_(madine08260),1\nkochipu,1\ndojikko,0\nnagase_minato,4\nluigi_(cosplay),0\nbakeneko,0\nkamen_rider_black,4\nelizabeth_(gintama),4\nkoba,1\nghost_trick,3\nold_snake,4\nmurani,1\nheart_out_of_chest,0\nkaji_ryouji,4\nfurnace,0\neric_cartman,4\nmoru,1\nkoukaku_no_regios,3\nryuu_ryuu,1\nashikaga_chachamaru,4\nshouryouuma,0\nsilver_the_hedgehog,4\nfuji_tsugu,1\nmiyazawa_tsutomu,1\ntakamachi_nanoha_(exceed_mode),4\nproject_diva_extend,3\npearl7,1\ngreat_grey_wolf_sif,4\nsutei_(giru),1\nannelotte,4\nrikumoto_yoshiyuki,1\nminato_yoshihiro,1\ndiablo,3\nyukianesa,0\nsuper_tama_musume,4\nyanutorie,1\nparasect,4\nkawasumi_(japonica),1\nslug_girl,0\nrenka_(cloudsaikou),1\nwatanabe_minori,4\nbannouyakunta,1\nlumiere,4\npekoni_(peconi),1\nyst,1\nsarutobi_asuma,4\ncobalta,1\ngemini,0\ncalla_lily,0\nonceskylark,1\ngurifu,1\ngangster,0\nprojector,0\njindai_komaki,4\nkantarou_(8kan),1\neelektross,4\nfuji_yoshida,1\nyeneny,1\nnamba_emi,4\ntaunting,0\nshishin_(shishintei),1\nslimy,0\nkaname_tomohisa,4\nhaya_taro_pochi,1\nprimm,4\necoman,1\nhiyoshi_hana,1\nsiduri_(fate),4\nkawaty,1\nkio_naoki,1\nchicken_nuggets,0\nfur-trimmed_pants,0\nhabu_rin,1\nalice_(pandora_hearts),4\nowain_(fire_emblem),4\nknee_strap,0\naction_figure,0\ngrabbing_another's_hand,0\nsasanon_(sasapoliton),1\nyakumo_mitama,4\nwolf_pelt,0\ncure_summer,4\nice_cream_cone_spill,0\nomyo_(myomyomyo22),1\npointed_footwear,0\nkaosu_(kaosu0905),1\ntora_jun,1\nseiken_gakuin_no_maken_tsukai,3\noniilus,1\nintegra_hellsing,4\nmari0ball,1\nin_bubble,0\nsakuradou,1\nganbaru_pose,0\ncatball1994,1\nashley_winchester,4\nanizi,1\norfevre_(umamusume),4\nbaji_keisuke,4\nantelope_ears,0\nthe_baddest_evelynn,4\nstem,1\nsakura_ran,1\nbrown_camisole,0\nuta_(one_piece),4\nigloo,0\nhamada_pengin,1\nkisaragi_kokoro_(hazuki),1\naya_shobon,1\nchijou_noko,4\nribbon_removed,0\ntake_toshiaki,1\nfujii_eishun,1\nmakino_kanna,4\nnise_nanatsura,1\ncynthia_(fire_emblem),4\nusuzawa_sae,4\nsazanami_shione,1\nesia_mariveninne,4\nkana_(okitasougo222),1\ndogfight,0\npinocchio_(sinoalice),4\nenterprise_(wind_catcher)_(azur_lane),4\nkoji_(wildlhz),1\nkate_(alice_catharsis),1\nparadox_live,3\nanegawa_eiji,1\nok_sign_over_eye,0\nalex_(minecraft),4\nconto,1\nhu_kotora,1\ngarou_(one-punch_man),4\namamiya_(abaros),1\nrupinesu,1\nlittle_girl_saniwa_(touken_ranbu),4\nisa_(peien516),1\nakai_ronii,1\nyoukai_hyakki-tan!,3\nmiazuma_sarin,1\nmustard_seeds,4\naquila_yuna,4\ncheckered_vest,0\ndiner,0\noomuro_nadeshiko,4\n.hack//sign,3\nntw-20,0\nonsen_symbol,0\nfuussu_(21-kazin),1\nhaine,1\nkomeiji_koishi_(cosplay),0\nmorrighan,4\nsakakibara_satomi,4\ntahita1874,1\ndrossel_von_flugel,4\nluthica_preventer,4\nhagoromo_gitsune,4\nnishina_toriko,4\nspareribs,1\nmg4_(girls'_frontline),4\nnanase_riku,4\nfearless_night,3\naruma_(sawayaka_tokuko_miruku),1\ncan't_show_this,0\ngaius_(tales),4\nadyisu,1\nfunikurikurara,1\nplamja-sama,4\npingo,1\nteroru,1\nkajaneko,1\nmurenase!_shiiton_gakuen,3\nari_hinoko,1\npink_mercy,4\nhonda_super_cub,0\nankle_gun,0\nsoramame_(corndog),1\nayase_ena,4\nmaneki-neko_(fujifuji),1\nr-301_carbine,0\ngertrud_(madoka_magica),4\nkaneda_shoutarou's_bike,0\ndevilot_de_deathsatan_ix,4\nnakukoroni,1\nspacelongcat,1\nheijialan,1\nshibafu_(glock23)_(style),0\nootori_subaru,1\nkohinata_aoi_(dokidoki_sister_aoi-chan),4\nhigh-waist_sideboob,0\nminato_mio,4\nrinnegan,0\nhands_on_another's_arms,0\nkusunoki_shio,4\ntsukuyo_(blue_archive),4\ny_(khakiyawn),1\nsakai_yuuji,4\ntakenaka,1\nvf-1j,4\nfutase_hikaru,1\nmuk,4\nblue_vert,1\nle_malin_(sleepy_sunday)_(azur_lane),4\nkira_yoshikage_(jojolion),4\nrocket_punch,0\nnose_pinch,0\notoyomegatari,3\nsao_(0060),1\nadjusting_bow,0\n15_(tooka),1\nmoekyon,1\nassisted_masturbation,0\ndragon_costume,0\ncottage,1\njester_(dq3),4\nkashiwadokoro,1\nmedama_oyaji,4\navrora_(azur_lane),4\ntk4,1\nzukki_(suzukio),1\nenvy,0\nrestraints,0\numiu_geso,1\nbokurano,3\ntamagotchi,3\nbloodline,3\nsnorunt,4\nmiyatsuki_itsuka,1\nkim_possible,3\nkhn_(kihana),1\nsakamuke,1\nshortcake,0\nsmallfry_(splatoon),4\nminior,4\nnekobayashi,1\nemurin,1\nnue,0\nhirasawa_shizuku,4\nno-rin,3\ntataki_tuna,1\nsawitou_mizuki,1\nkamizaki_hibana,1\nnzeneee,1\nkikunosukemaru,1\nsquid_game,3\nkannagi_rei,1\nfrench_commentary,5\nk/da_kai'sa,4\ncatheter,0\nlaoan,1\nsupernew,1\nsarashiki_tatenashi,4\ncinderella_(sinoalice),4\ntights_day,0\nmega_man_9,3\njuliet_nao_zhang,4\ncatsubun_(kkst0904),1\nblack_blood,0\nnekoita,1\nkoga_(pokemon),4\nkonohana_saku,1\netna_(kuzuyu),4\njohnny_(guilty_gear),4\ndragon_riding,0\nfataaa,1\nanderain,1\nueauwa,1\nmahan,1\nroto_(kanae),4\nnin_nakajima,1\nkray_foresight,4\npodium,0\ntwo_(tsu_(lovesick1964)),4\nrengar,4\nkentairui,1\nkano_(wi3028),1\nkachima,1\natoatto,1\npokemon_heroes:_latios_&_latias,3\nredlight,1\ntokiwata_soul,1\nteikoku_jokyoku,1\nidunn_(fire_emblem),4\nchurro,0\ndoco_(doco3811),1\notosaka_ayumi,4\nnachoneko,4\nbakura_ryou,4\nsugita_tomokazu,4\nayakashi_triangle,3\npremier_ball,0\nmitsu_yomogi,1\nnoamem,1\nryosuketarou,1\nbeanis,1\nsb_lama,1\ntriple-q,1\nkabayaki_(kabayaki_eel),1\ntenbin_gashira,1\nsea_scorpion_(umisasori),1\ngradient_nails,0\ndomino_high_school_uniform,0\nmocha_(snowflake),1\nusamochi.,1\nsalazzle,4\nmikurun,1\ncryamore,3\nwachi_yuri,4\nzombina,4\nira_(dokidoki!_precure),4\nsumeragi_shion,4\nkakinoki_mikan_(kari),1\nwhistlerx,1\ntamagogogo,1\ntakahashi_reiko,4\nkouichi_eiji,1\nwax_play,0\nstack_(sack_b7),1\nflorence_nightingale_(santa)_(fate),4\nakudama_drive,3\nkandata_nijou,1\nreroi,1\nhyakuya_mikaela,4\nchroneco,1\nhinasumire,1\nrumiya9i,1\ncode:_battle_seraph_(elsword),4\nleg_wings,0\nhazuki_kyou,1\nrecorder_case,0\najna_(indivisible),4\nfish_request,5\nharada_makoto,4\nmaruneko,1\nmushroom_(osh320),1\nsinlaire,1\nrebreather,0\nhighly_responsive_to_prayers,3\nbiting_hair,0\ndango_hair_ornament,0\nkawasaki_kazuhiko,1\nkurasawa_kyoushou,1\nbarbatos_(genshin_impact),4\nheadlamp,0\nchouun,4\ncatwoman,4\nplant_on_head,0\nitsuki_kuro,1\nshizuki_michiru,1\nasakura_hayate,1\nuruo,1\nshogo_(4274732),1\nyamaguchi_(shinigami-no-barad),1\nmahou_tsukai_no_yome,3\ncherno_alpha,4\ncody_travers,4\naltera_moontail,4\nmatatagi_hayato,4\ncubicle,0\nfenyon,1\nfender_jazz_bass,0\ngigi_d.g.,1\nochakai_shin'ya,1\nizra,1\n2_fuel_4_ammo_11_steel,0\nsailor_moon_narikiri_bra_set,0\nmarin_(myuy_3),1\navengers:_infinity_war,3\nhitsuji_takako,1\nmasato_(mirai_koubou),1\nnaruse_maria,4\nhand_on_own_throat,0\nkuma_(jk0073),1\ntakio_(kani_sama),1\nblowing_in_ear,0\nasa_(1asa-0-asa1),1\nquincy_(warship_girls_r),4\nkaito_(kaixm),1\njingai_makyou,3\nshirase_maki,4\nhikigaya_komachi,4\nseraphina_(disgaea),4\nsho_(sumika),1\nhizuki_higure,1\nharuyukiko,1\nnanao_futaba,1\nembroidered_panties,0\nnari_(cougar1404),4\nyui_hiroshi,1\nmimoza_(96mimo414),1\nsrw_battle_screen,0\nkuwahara_taiki,1\nginyu_force_pose,0\npumpkin_scissors,3\nmaria_renard,4\ntakahashi_ren,1\numetsu_yasuomi,1\ncecilia_(fire_emblem),4\nmspaint_(medium),5\ndenki,1\ndance_in_the_vampire_bund,3\ngolf_ball,0\nga_rune_pose,0\nmonica_kruszewski,4\nshion_uzuki,4\nwild_flower,3\nfloating_castle,0\ncasshern_sins,3\nyuukichi,1\nthe_grim_adventures_of_billy_&_mandy,3\nten'inkou_korin,4\nshiki_haruomi,4\nlokman_lam,1\nkageira,1\nqueue,0\nduca,1\nmochizuki_momiji,4\nwwe,3\nesoragoto,1\nluna_(my_little_pony),4\nfujisawa_takashi,1\npopoi,4\noosawa_maria,4\ndotted_quarter_note,0\nchampion_(ragnarok_online),4\nlachesis_(fire_emblem),4\npoo_(mother_2),4\nstitching,0\ntakeuma,1\nkannazuki_genshi,1\nyamase,1\nsignal_flag,0\nshizuka_(queen's_blade),4\nsyandega,1\ngamerag,1\nalabama_(azur_lane),4\naxia-chan,1\nheracross,4\npotion_(moudamepo),1\namaichi_esora,1\npanda_(jujutsu_kaisen),4\nsho_bu_1116,1\njoko_jmc,1\nnoppo,1\nsomersault,0\nuno_(game),0\nyuniiho,1\ncid_highwind,4\npadded_jacket,0\nninnin_(shishitou),1\norikuchi_hirata,1\nsura_sura,1\nyoru_(yowuyoru),1\nkanzen_bouon,1\nbird_hat,0\nyuuki1103,1\np7_(girls'_frontline),4\nten_no_hoshi,1\nwi-z_garage,1\ndickbomber,1\nornate,0\nfujiwara_hazuki,4\nzerocastle,1\nseaking,4\nkyukkyu-kun,4\nhiiragi_shino,4\nk5_(girls'_frontline),4\nshionji_yuuko,4\nmay,0\nmaruyo,1\nkase_tomoka,4\nchoco_(chocovix112),1\nhayasaka_akira,4\ncarving,0\nmedli,4\nvistake,4\nreno_(biggest_little_cheerleader)_(azur_lane),4\ntsurumi_tokushirou,4\nsolgaleo,4\nnoivern,4\nasterisk_(idolmaster),0\nyoshiwo_(kanikama),1\nangel31424,1\nholding_screwdriver,0\nfu_hua_(shadow_knight),4\nmoomoo_milk,0\na-soul,3\nolive,0\nmuraryo,1\nameno_shigure,1\nwashing_another,0\nholding_club,0\nkinomiki_nobori,1\nred_serafuku,0\ncorrector_yui,3\nsatin_dress,0\nholding_trident,0\nwaluigi,4\nhiyamizu_yukie,1\nsaga_inu,1\nclaire_stanfield,4\nkabocha_usagi,1\nkuchiki_byakuya,4\ntype_91_armor-piercing_shell,0\nkonabetate,1\nhandlebar,0\nchamba,1\nmint_adenade,4\nsinobi_illust,1\nnezumidoshi,1\nfukunoki_tokuwa,1\npink_serafuku,0\nleo_de_la_iglesia,4\ninterlocked_mars_and_venus_symbols,0\nomnic,0\nkatsudon_(food),0\ncancer_(zjcconan),1\nuraki_(tetsu420),1\ntokyo_sky_tree,0\np-suke,1\nkurono_kito,1\nharumi_(harumix),1\nabsolum_art,1\nanastasia_(swimsuit_archer)_(third_ascension)_(fate),4\nfujihara_(haguhagu),4\nai_tenshi_densetsu_wedding_peach,3\ndark_jewel_(gem_oblivion),1\nhasu_(velicia),1\ngorgonzola_(paradisegom),1\ncicin_mage_(genshin_impact),4\nazuazu_0405,1\n212_(kisaragi),1\nsignalviolet,1\nfuyuno_kamome,1\nluimiart,1\nniizuka_(c-drop),1\nnise_maou_kanizeru,4\njenny_(pokemon),4\nrero_(bigdoorbig2),1\nprimamiya,1\nsouth_korean_flag,0\nclaire_harvey,4\nhabara_(danshi_koukousei),4\nkiba_manami,4\nboros_(ouro_kronii),4\nimmaterial_and_missing_power,3\nass_on_glass,0\nyuio58ok,1\nhuyusilver,1\nhinata_hibari,1\nluffyko,4\ndoku-chan_(dokkudokudoku),1\nterufuu,1\nakechi_shizuku,1\nsegway,0\nyaki_mayu,1\nfutaba_hazuki,1\nnidoqueen,4\nryuunosuke_(luckyneco),1\nviper_v16,3\nnancy_lee,4\nsuomi_(korvatunturi_pixie)_(girls'_frontline),4\ndenpaken_pochi,1\nkashiwagi_chisame,1\nizayoi_miku,4\ngray_bear,1\ntugo,1\nsatou_(3366_s),1\nslime_taoshite_300_nen_shiranai_uchi_ni_level_max_ni_nattemashita,3\nshinonoko_(tubamecider),1\nyamada_maya_(infinite_stratos),4\nkallen_kaslana_(sixth_serenade),4\ntiankong_pie_ai,1\nbard_(final_fantasy),4\nfalse_arm,0\nizumi_kouhei,4\natha_(leejuiping),1\nfiring_at_viewer,0\nmurakami_meishi,1\nqiyana_(league_of_legends),4\ntusk_act1,4\nkiana_kaslana_(knight_moonbeam),4\nstretched_limb,0\ndekosukentr,1\nmushroom_hat,0\nasellus_(saga_frontier),4\nnaoki_eguchi,1\nholding_hair_ornament,0\npopon_ta,1\nskeletal_wings,0\nbraviary,4\ntamaki_ui,4\ntanaka_hirotaka,1\nyouko_(girls_und_panzer),4\napollo_(hu_maple),1\ndragonstone,0\nbing_zizi,1\nkingdom_of_kazimierz_logo,0\ngenba_neko,4\nsubaru_(subachoco),1\nmush820823,1\nleather_strap,0\narunira,4\nsironora,1\nyo_mo,1\nmeowstic_(male),4\nv_yuusha_no_kuse_ni_namaiki_da_r,3\nsawsbuck,4\ntoyota_saori,1\narudebido,1\nnijou_aki,4\nanita_king,4\ntunamayochan,1\nizumi_rei,1\ncosmikaizer,1\npaopa_ship,1\nyuri_leclerc,4\npaffy_pafuricia,4\npatricia_thompson,4\nduck_hunt,3\ntoki_(hokuto_no_ken),4\nsakigake!!_cromartie_koukou,3\nmito_mashiro,4\nfujisaka_kuuki,1\nramb_chop,1\nhanazawa_kana,4\nyusao,1\nokazuwa_shake,1\nmarowak,4\nfire_emblem_(tiger_&_bunny),4\nkonoe_subaru,4\ntsuti,1\npost,0\nt.m.revolution,3\nutomo,1\ntakanashi_akihito,1\nakai_kitsune,1\ndenmark_(hetalia),4\ncornelia_(umineko),4\nenomoto_hina,1\notako_(galko),4\nutatane_piko,4\nthirty_8ght,1\ntsugumi_(guilty_crown),4\nmakirin,1\nmegastructure,0\nots-12_(girls'_frontline),4\nriki_(xenoblade),4\nfemale_commander_(azur_lane),4\nblazblue_phase_0,3\nwalther_ppk,0\nyuzuki_yukari_(vocaloid4),4\nnakamura_sandayo,1\ncaee_penguin,1\ncarim_gracia,4\nindividuals_(idolmaster),0\ndiathorn,1\nnichiru,1\nmiyake_hinata,4\nmetroid:_zero_mission,3\ngoron,0\npori_(kmt_pori),1\nzakirsiz,1\nmelodica,0\nasobi_asobase,3\nshining_musume,3\nmyon_(tokipi),1\netsunami_kumita,1\nfurukawa_wanosuke,1\nakazawa_izumi,4\nhevn,1\nbeitemian,1\nthkani,1\ndoromame,1\nceltic_cross,0\norange_peel_(artist),1\nhyena_tail,0\nshinsou_hitoshi,4\nsurskit,4\nkrono_tokage,1\naties20,1\nmc_lita,4\nducklett,4\nshroomish,4\nralf_jones,4\nmolotov_cocktail,0\ntanaka_kunihiko,1\nbird_costume,0\ncum_bath,0\nwhite_lily,0\nyugen99,1\ntoku_(yhpv8752),1\nkosobin,1\nprostate,0\nkusakabe_satsuki,4\ngunkanmaki,0\nshuumatsu_no_valkyrie,3\nwhooo-ya,1\nmosu_(korikan),1\npincurchin,4\nkatou_teppei,1\nchloe_valens,4\nlunamoon,1\nyukishiro_(hitsuji),1\nsame_(sendai623),1\nshikai,0\npickle,0\nisaac_clarke,4\nnacht,1\nsteeb,1\ntsukikanade,1\nadell_(disgaea),4\nkataokasan,1\nmanda_(manda9n),1\nhanayama_(inunekokawaii),1\nrenzu_(lens_02),1\nmango_(mgo),1\nmao_(expuella),1\njapan_racing_association,3\nusagino_suzu,1\npanties_under_swimsuit,0\nchilchuck,4\ntakepon1123,1\nsasakura_momiji,1\nhanahanamaki,1\nminapo,1\nyamikyon,1\nshirai_hinako,4\nprint_sash,0\nmatsuno_chiya,4\njam-orbital,1\nsuzumori,1\ngokukoku_no_brynhildr,3\npandarou,1\narykei,1\nadjustable_wrench,0\nmigu_(migmig),1\nsonsoso,1\ninaba_himeko,4\nnarumi_yuu_(bunbukudou),1\nkisa_(k_isa),1\nyoshino_momiji,1\nchihiro_(blue_archive),4\nnishizumi_tsuneo,4\nrevice_driver,0\nmedic_2_(sekaiju),4\nsakurai_shin'ichi,4\nmakise_minami,1\nniku_(hamuchang),1\npaul_(pokemon),4\nrem_galeu,4\nashiya_hiro,1\ndanfer3,1\npooh,4\nbitten_apple,0\nburgh_(pokemon),4\ndododo_dadada,1\nmsp_sammy,1\ntsukioka_kirio,1\ncherino_(blue_archive),4\ngundam_mk_ii,4\nantlers_through_headwear,0\nlocon,1\nspearow,4\nveilrain,1\nhabanero_pepper,0\ndevilman_crybaby,3\nbonkiru,1\nminpei_ichigo,1\ncenturion_(tank),0\nchitose_(usacan),1\nu-joe,1\nnanami_ayane,1\ninigo_(fire_emblem),4\nkomadori_renge,4\nhanako_(jibaku_shounen_hanako-kun),4\ntamaki_ako,4\nchuuta_(+14),1\nmrdotd,1\nsaitou_kengo,1\npantheon_(league_of_legends),4\nhoshi_ori_yume_mirai,3\nzetsumu,1\nplus_step,1\nheart_arms_duo,0\nessex_(warship_girls_r),4\ncatherine_(fire_emblem),4\ntrigger_heart_exelica,3\nnanam_(nanam_sk),1\nmagna_carta,3\nyuusa,1\nragnarok_masters,3\nmanana_(matoi1111),1\ndark_konoha,4\nsword_art_online_progressive,3\nrebutsu,1\ngen'ei_wo_kakeru_taiyou,3\nlayer_cake,0\nflower_trim,0\ntantei_wa_mou_shindeiru,3\n#unicus_(idolmaster),0\nda_mao_banlangen,1\ncerberus_(kemono_friends),4\nobei_teitoku,1\nkyouyama_anna,4\ngemini_sunrise,4\nreunion_logo_(arknights),0\nkaishaku,1\nsawatari_mitsuki,4\nsuzushiro_haruka,4\nshirogane_souju,4\nmisumaru_yurika,4\nprincess_peach_(cosplay),0\ncharacter_single,0\norange_bullet,1\nmeimone,1\nlady_bat,4\nexeggcute,4\nmegurine_luka_(cosplay),0\nsakurasawa_yukino,1\nratise,1\nmaeda_koutarou,1\ncarrot_(robosquat),1\nlap,0\ntahra,1\nlollipop_chainsaw,3\namasa_mitsunaru,1\nikura_hato,1\nultra_seven_(series),3\ntoramaru_shou_(tiger),4\nshirma,4\nsunburn,0\ngogo_tomago,4\nnozama_tomoko,4\nsega_mega_drive,0\nao-shiba,1\npaper_doll,0\nlaphicet_(tales),4\nkure_kirika,4\nsasucchi95,1\nnash_(na-si),1\ndelcatty,4\norsola_aquinas,4\nmoe2020,0\nkagari_ayaka,4\nrunning_on_liquid,0\nnori_gorou,1\nkondou_isao,4\nl_ract,1\nmechanical_spine,0\nnoname_(nowhere),1\ncrimecrime,1\nminowa_gin,4\nyamataka,1\nfn_fnc,0\ndenchu_(kazudentyu),1\namaretto_(girls_und_panzer),4\nstudio,0\nquinzhee,0\nkouzuki_yuniko,4\nterasu_mc,1\nlaharl-chan,4\nsogiita_gunha,4\nmonsters_inc.,3\ncr72,1\nsoriz,4\nsungwon,1\nsakuma_ritsu,4\nmako_(azuumori),4\nmashinatsu,1\nfeatherine_augustus_aurora,4\nmixed_martial_arts,0\nshimanoji,1\nchingling,4\nvisket53,1\nkawakami_shuuichi,1\nsakanomachico,1\nanimegao,0\nformicid,1\nfankupl,1\nhimamo,1\nyanase_miyuki,4\nberuko14,1\nkagura_suzu_(.live),4\niris_mysteria!,3\nroyalwatts,1\nchaosringen,1\nr-type,3\npixie_(megami_tensei),4\nhabara_meguru,1\ngauna,0\ndoormat,0\npopukar_(arknights),4\ntwo-handed_sword,0\nboxing_shorts,0\nrato,1\ngebijiade_89,1\ntaku_michi,1\nscoreboard,0\nokomeuma,1\naislinn_wishart,4\nproject_upd8,3\nnira_(vira),1\nmeerkat_tail,0\nshun'ya_(daisharin36),1\ndragon_quest_yuusha_abel_densetsu,3\nmitsuba_greyvalley,4\nlunacats,1\npaintale,1\nyoruhoshi_owl,1\nkaze_no_klonoa,3\naken,1\nlilith_(fire_emblem),4\nty_lee,4\neagle_spirit_(touhou),4\nethel_(xenoblade),4\nsirokohi,1\ncalvin_klein,0\nvayneeeee,1\ntakajo_kyoji,4\nillyasviel_von_einzbern_(cosplay),0\nirohasu_(sasagarasu),1\nohigetan,1\nhack_(apex_legends),4\nmochi_(circle_rin),1\nnintendo_64,0\nmihatarou,1\nhanebado!,3\nmeago,1\nliclac,1\nkamishiro_(rsg10679),1\nyuna_(sao),4\nmenoziriath,1\naranea_highwind,4\ngamers!,3\nheoningu,1\nkitaooji_satsuki,4\nsatosi,1\nmao_yu,1\nnip_to_chip,1\nizayoi_(blazblue),4\njulius_will_kresnik,4\niincho_(airi8751),1\npain_(naruto),4\nichikawa_saasha,1\nuniqlo,0\nchildren's_book,0\nkmitty,1\nyutapon,1\nelisabeth_von_wettin,4\nkaerre,4\npectoral_envy_(meme),0\nnight_angel_(last_origin),4\nhaizai,1\nstylistic,0\nlahmu_(fate),4\nmint_(arknights),4\nnyuubara_reona,4\ndominica_s._gentile,4\nnamekuji_(namekuzu),1\nyoujo_(creek_(moon-sky)),4\nsuou_sakura,1\nfemale_protagonist_(pokemon_go)_(cosplay),0\nsasurai_susuki,1\ngimp_mask,0\nace_rocket,1\nenoshima_junko_(cosplay),0\npet_shop,4\nnatsume_maya,4\nyonerinoko_(banberabu),1\nnuko_(shoujo_shuumatsu_ryokou),4\nmofu-mofu_after_school,3\ndigimon_story:_cyber_sleuth,3\nlost_technology,3\nred_tassel,0\nhelios_(sailor_moon),4\nlailah_(tales),4\nblack_leopard_(kemono_friends),4\nhoney_and_clover,3\nokoge_senbei,1\njoshi_kousei,3\naikatsu_on_parade!,3\nuncle_rabbit_ii,1\nkamazuki_suzuno,4\nlooking_at_screen,0\nkarasu_raven,1\ncamera_around_neck,0\nsand_writing,0\npastime774,1\nnoizu_(noi_hr),1\nsesame_seeds,0\nhorn_piercing,0\nkyouna,1\nhonlo,1\nichimonme_(ichi),1\nmaita_rui,4\nkaga_(everlasting_killing_stone)_(azur_lane),4\nskirt_rolled_up,0\ngsusart,1\nninamori_eri,4\nyang_lee,4\nyuuki_nobuteru,1\nindian,0\nnowareno_(higashi_shino),4\njack_van_burace,4\nvandread,3\ntouge_hiro,1\nonoe,1\nnumako,1\nrebecca_streisand,4\njaga_note,1\nglameow,4\nsui_(tsuruhibiki),1\ndancer_(ragnarok_online),4\nhigeneko,1\ngrappling_hook,0\nrowen_j._ilbert,4\nmozuya_murasaki,1\nizuna_(gouma_reifuden_izuna),4\nsaiko_dagashi,1\nkanibasami,1\nmartina_crespi,4\nloped,1\nmachinosuke,1\nkousa_(black_tea),1\nsasami-san@ganbaranai,3\nlow-cut,0\ntask_owner,1\nginko_(nico),1\nsailor_mercury_(cosplay),0\nmospeada,3\nnabe0721,1\nshadman,1\npito_(sh02327),1\nsorano_eika,1\nswordfish,0\nlucifer_(shingeki_no_bahamut),4\nkurashima_chiyuri,4\nluca_(yu-gi-oh!),4\nzzyzzyy,1\nkyufe,1\nmobile,0\ncum_swap,0\nhekicha,1\nwaddle_doo,4\namulet_heart,4\nmarisa_(fire_emblem),4\nganbaruzoi,0\notonashi_kyouko,4\nkirifrog,1\nm203,0\npink_curtains,0\nbowgun,0\nrassie_s,1\nmicho,1\nbanboro_(technobot),1\ninamimi_(sheep1733),1\ncupless_bikini,0\nsirachi,1\nhosoda_naoto,1\nhys-d,1\narkatopia,1\ntondamanuke,1\n+++_(artist),1\ngetter-1,4\npdxen,1\ncure_coral,4\nyaya_hiyayaka,1\nqing_wu,1\nshenaidi,1\nzk_(zk_gundan),1\nusuki_(graygreed),1\nran_(9ens2000),1\ngladiator,0\namei_sumeru,1\nmichael_jackson,4\nfur_gloves,0\nmacross_zero,3\ntomajiyama,1\nofficial_cosplay,0\no_(crazyoton46),1\nstella_hoshii,4\nflowerxl,1\ncherche_(fire_emblem),4\nmyu-po,1\ncabbit,0\naikawa_tatsuki,1\nhidezi,1\nnowa,4\nfori,1\ntoma_tokage,1\nmorisawa_yuu,4\nterry_(pixiv3274443),1\ngatling_santouhei,1\nriding_machine,0\ndarahan,1\ncarimarica,1\nclothes_gag,0\ntotte,1\nhonoji,1\nzenkoku_seifuku_bishoujo_grand_prix,3\nfollowers_favorite_challenge,0\nakihabara_(tokyo),0\njinjin,1\nmakita_(twosidegekilove),1\nholographic_clothing,0\nvf-1s,4\nkarasawa_toshiyuki,4\nirouha,1\nsendou_erika,4\nsunaya_yanokura,1\nshez_(fire_emblem)_(male),4\nhitmonchan,4\nbroken_egg,0\nbobomaster,1\nrackam_(granblue_fantasy),4\ncglas,1\nleorio_paladiknight,4\nleiur_darahim,4\namerican_flag_panties,0\nyamato_(battleship),0\ntenpura_(tenpura621),1\nstar_guardian_jinx,4\nblack_mittens,0\nkedama_(kedama_akaza),1\nwhite_tiger_(kemono_friends),4\njuuban_high_school_uniform,0\nblack_knight_(granblue_fantasy),4\nhasegawa_keita,1\nfeiton,1\notome_youkai_zakuro,3\nkaminary,1\nnightmare_cat,1\nyagyuu_juubei_(hyakka_ryouran),4\nreon_(saikyou),1\nnatasha_romanoff,4\nsports_sunglasses,0\nmoriguchi_nao_(naonao),1\nblood_on_dress,0\nm99_(girls'_frontline),4\nstarting_brighty_(idolmaster),0\norange_male_underwear,0\nbrown_male_underwear,0\nkaita_(mokamilkcup),1\nlycoris_princess,4\nrita_rossweisse_(fallen_rosemary),4\nwee_(weeyy),1\nlium,1\norimura_chifuyu,4\namakano_~second_season~,3\nsasamaru_chimaki,1\nookanehira_(touken_ranbu),4\nkurosaki_ruri,4\ngogo_(detteiu_de),1\nkounoike_tsuyoshi,1\nhumiyou,1\nsugar_(dndi888),1\njmao,1\nsuisen_toire_(moko924),1\nyeero,1\nmetindone,1\npiiko_(aa_doushiyou),1\ngertrude_(umineko),4\nlog-mi_(tonpuu),4\nkitsune-tsuki_(getter),1\nsylphine,1\nkuraishi_tanpopo,4\nsuzune_(senran_kagura),4\neliza_(tekken),4\nxue_lu,1\ncheckered_apron,0\npiston_ring,1\nhose_nozzle,0\ncheong_ha,1\ncomic_x-eros,3\nakikazu_mizuno,1\nsei_zenra_jogakuen,3\nnoein,3\npersona_q_(series),3\ngema,4\ngimnang,1\nstuffed_fox,0\nmaro_(lij512),1\ntirpitz_(warship_girls_r),4\nfuyuki_(neigedhiver),1\nkaizoku_sentai_gokaiger,3\nuekura_eku,1\nmatsusatoru_kouji,1\nkaiman_garupan,1\nshirakawa_nanaka,4\nzygocactus,1\nseele_vollerei_(starchasm_nyx),4\nmechanic_(ragnarok_online),4\njack_the_ripper_(fate/apocrypha)_(cosplay),0\nmachismo_fuji,1\nttosom,1\nichinose_honami_(youjitsu),4\ndiving_regulator,0\nyamazaki_tsukune,1\nretaining_wall,0\nwatanabe_masafumi_(masafumi_127),1\nnicorima,1\npressing,0\nholding_rock,0\ngegera,1\nasashimo_kai_ni_(kancolle),4\nhaneoka_meimi,4\nkingchenxi,1\nrebellion_(sword),0\ntakase_mizuki,4\noreshika,1\nsakebuotoko,1\nshiika_sadamasa,1\ngoriyaku,1\ndiablo_3,3\nmoruga,1\n\\(^o^)/,0\nsakurato_tsuguhi,1\nmille,1\nurethral_beads,0\nzoids_chaotic_century,3\nkamikaze_explorer!,3\nsoccer_field,0\naoinu,1\nsaionji_reimi,4\nshizuru_(summer)_(princess_connect!),4\noka_(umanihiki),1\nbleed_through,5\nsilvia_van_hossen,4\nwakame,1\nnimirom,1\nkobayashi_ritz,1\ntsuzura_saki,4\noshino_meme,4\nrenekton,4\nueda_katsuhito,1\npalace,0\ntoi_(number8),1\nyaten_kou,4\ntakapiko,1\numbrella_(skullgirls),4\ncustom_(cus-tom),1\nmuchigaku,3\nmikudayoo,4\nyashiro_momoka,4\nsugisaki_yuu,1\npokkora,1\ncigarette_kiss,0\nreido_(reido_c),1\nnofuture,1\ngokujou_seitokai,3\npopuru,1\ndokshuri,1\nchahei,1\nkazakura,1\nchingisu,1\niron_princess_ymir,4\nmango,0\nn-zap_(splatoon),0\nakira_(viper),4\ngolem_(pokemon),4\nkanda_aya,1\nichimaru_gin,4\nst_bernard,0\nragequit,0\nmae_(fire_emblem),4\ngreenkohgen,1\ninuo_(inuo_x),1\nirotsuya,1\nsakuro,1\nmalariya,4\nimachireki,1\nlinjie,1\nomegamon,4\nsoil,0\nurokozuki,1\nuq_holder!,3\nhyogonosuke,1\nryochapu,1\ncalculator,0\nirotoridori_no_sekai,3\ntian_(my_dear),1\nkirishima_kano,4\nraven_branwen,4\nnappa,4\nsalt_(seasoning),1\nfetus,0\nrecruiters_(disney),0\ndrop_trap,0\nmoko_(mokochisa),1\nrudolph_von_stroheim,4\nandou_ruruka,4\nardenlolo,1\nfle0423,1\nsadamatsu_ryuuichi,1\nhowhow_notei,1\narcheops,4\ncream_the_rabbit,4\nfutaba_hotaru,4\njojobirdz,1\nrun_elsie_jewelria,4\nmimizuku_(sky:_children_of_the_light),4\neusine_(pokemon),4\nhinata_(blue_archive),4\ntwo-tone_wings,0\nneptune_symbol,0\nitou_(mogura),1\nsingle_vambrace,0\ntayelle_ebonclaw,4\nholding_spork,0\nleizi_(arknights),4\npink_innertube,0\nnori_(norimakigumo),1\nylgr_(fire_emblem),4\ndestiny_gundam,4\nnino_(arakawa),4\nobject_request,5\nchoujuushin_gravion,3\nravenclaw,0\nkono_naka_ni_hitori_imouto_ga_iru!,3\nnectar_(fujiya),1\nanchorage_princess,4\nguttary,1\nharuyonoto,1\nhino_ryutaro,1\ntarget_practice,0\nsenzaki_ema,4\nharmony_(splatoon),4\nleo_(senran_kagura),4\nmilihime_taisen,3\nmarco_albiero,1\nkamitsurugi_ouka,1\nharenchi,1\nburuma_under_skirt,0\ncarmelina_(granblue_fantasy),4\ncolis_(regunm772),1\ncona_kinaco,1\nunaligned_ears,0\nangel_chromosome_xx,3\naihara_shouta,1\nfujinohara_akihira,1\nden_(kur0_yuki),1\nniwaka_potato,1\nbijin_onna_joushi_takizawa-san,3\nnishigoori_loop,4\nnishigoori_axel,4\neymbee,1\nutatanecocoa,1\nkyokou_suiri,3\ncow_girl_(goblin_slayer!),4\nhigh_score_girl,3\nakiyama_yoshiko,4\nfhang,1\npanther_tail,0\nblack_rock_shooter_(game),3\nkayama_benio,1\nyuusha_ou_gaogaigar_final,3\ntrain_90,1\nreio_reio,1\nkronshtadt_(azur_lane),4\nyamaboshi_private_high_school_uniform,0\nsaolin_(wudangx),1\nmakaimura,3\nyomi_(p&d),4\namau_(kosmos),1\nhakuto_(28syuku),1\nspade-m,1\nhappening18,1\njabberwock_(monster_girl_encyclopedia),4\nimpossible_spell_card,3\nmiketsukami_soushi,4\n9a-91,0\nyoo_mina,4\nhonami_(yths4221),1\njaffar_(fire_emblem),4\nchris_re5,1\nlebring,1\nshiki_(yuureidoushi_(yuurei6214)),4\nukita_uuko,1\nasahi_(uwa),1\nhasebe_akira,1\nkuon_(nokokopopo),1\nogasawara_rinko,4\ntorikissa!,3\nspoken_mars_symbol,0\nsudou_noboru,1\ntanaka_ayumu,4\neyes_of_grima,0\nflorence_nightingale_(chaldea_lifesavers)_(fate),4\nstuffed_chicken,0\nmeloetta_(aria),4\ncherrim_(sunshine),4\nayanami_(niconico)_(azur_lane),4\nselena_(fire_emblem_fates),4\numou_(may65879),1\nshizuko_(swimsuit)_(blue_archive),4\nkodama_(mmt_uf),1\nneko_daruma,1\npunkish_gothic_(idolmaster),0\nviridi,4\nyukichin,1\nryuu_ga_gotoku_1,3\nspear_of_cassius,0\nsuction_cup_dildo,0\nwenquangua,1\ncrystal_exarch,4\nji_guang-hong,4\nbad_apple!!,0\naxl_low,4\nvariable_geo,3\npacific_racing_team,0\nhosaka_dx,1\nmadobe_nanami,4\ngum_(vivid_garden),1\nmusic_box,0\nwinchester_model_1897,0\nnishigoori_lutz,4\nmarumi,1\nkage_yuu,1\nnatsume_(menthol),1\negg_implantation,0\npizza_man,1\nrecharging,0\nweight,0\nmimizubare,1\nemu_(toran),1\nj._league,3\nnut_megu,1\nkamekoya_sato,1\nhimegi_you,1\nkitano_tomotoshi,1\nstrelka_belca,1\nkokoro_(doa),4\ntales_weaver,3\nyaoto,1\njake_the_dog,4\nchiyo_goya,1\ninne_sulistya_robin,4\ndog_child_(doitsuken),4\npekoneko,1\ncaptain_liliana,4\nmozuno_(mozya_7),1\nfreedom_gundam,4\nvesperia,1\nmakarou,1\nma-2_(konkon_kitakitsune),1\nblindfold_slip,0\namy_sorel,4\nmyuton,1\nkoutarosu,1\nsherryqq,1\nriko_(k_riko),1\nanchors_(mono_eye_os),1\nshiomiya_shiori,4\ntoward_the_terra,3\nsatin_underwear,0\nxes_(xes_5377),1\ncp9a,1\ngambling,0\ntapu_lele,4\ntanaka_ken'ichi,1\nhachinatsu,1\nfinger_tattoo,0\nfish_costume,0\ntrailer,0\nequipment_layout,0\nsatou_satoru,1\nsuzuragi_karin,1\nlydia601304,1\nbaniran_dorosu,1\nleo_(mafuyu),4\ncrystalherb,1\nbikkuriman_(style),0\nmap_(object),0\nsunaba_(nczd5875),1\nrasukusekai,1\nlatex_panties,0\ntoy_sword,0\ntakizawa_kyouko,4\nlymle_lemuri_phi,4\nadjusting_hood,0\nhanazuka_ryouji,1\nm870_(girls'_frontline),4\ndark_dream,4\nbelt_bag,0\nstapled,0\norniflop,1\ncooperative_footjob,0\nportrait_of_exotic_girls,3\nllowoll,1\nnabi_(uz02),1\nteruki_kuma,1\nbalflear,4\nscathach_skadi_(swimsuit_ruler)_(fate),4\nfate_testarossa_(cosplay),0\ntekuteku_(yuuhodou),1\ngoofy,4\nsima_(startwitch),1\nnoctowl,4\nred_panda_girl,0\npig_ggul,1\nabi_(abimel10),1\nnanaran,1\nwhite_horse,0\nbloody_wolf_(elden_ring),4\ndrinking_fountain,0\nalios_arvin,1\nmutsuno_hekisa,1\nkaiware-san,1\nkagaminomachi_no_kaguya,3\nmedb_(swimsuit_saber)_(fate),4\nnovady,1\nfurai,1\nred-eyes_macadamiachoco,1\nnidoran_(female),4\narnold_tsang,1\njonasan_(bad-t),1\nakesaka_iku,1\nrebecca_bluegarden,4\ntumblr,3\nfather's_day,0\nmurasaki_saki,1\nfeng_(skullgirls),4\nkof:_maximum_impact,3\ntiti-chan_(nezumi_inu),4\nyuzuki_tsuzuru,1\nkoukaku_no_pandora,3\nnayuhi_(yukimuu14),1\nmatt_(pokemon),4\nlana_(hyrule_warriors),4\nyuuto_(yu-gi-oh!),4\ncharles_babbage_(fate),4\nmaintenance_musume_(kancolle),4\nleonardo_16sei,1\nstg44_(girls'_frontline),4\nanna_(ikeuchi_tanuma),4\nboy_and_girl_sandwich,0\ngakkou_de_seishun!,3\nhentai_elf_to_majime_orc,3\nuzuki_tsukuyo,1\nshiranui_(azur_lane),4\nhoopa,4\nginnkei,1\nspider-man_(miles_morales),4\nlesser_panda_(kemono_friends),4\nta_girls_school_uniform,0\nmeteora_osterreich,4\nsecretary-san_(zannen_onna-kanbu_black_general-san),4\npepperbox_revolver,0\npassenger_pigeon_(kemono_friends),4\ntakaoka_yukari,4\nakademeia_uniform,0\nmottsun_(i_40y),1\nhilamaru,1\njet_ski,0\nmusashino_sekai,1\nhaseneko,1\nbomi,1\ncoo,1\no_(rakkasei),1\ntonegawa_yukio,4\nhugo_andore,4\nshiratama_dango,1\nmitu_yang,1\nkaatsukun,1\nsaginomiya_isumi,4\nlondon_inu,1\nmei-fang,4\nsuzumetarou,1\nlk_(lk00),1\narqa,1\nanosillus_ii,4\njecht,4\nmaki_soutoki,1\nreference_photo,5\nzb,1\nsd_bigpie,1\nmuunai,1\nyakou_(4507770),1\ndog_on_head,0\nhaseru_(ginku_mh),1\nichihara_yuuko,4\nshiro9jira,1\ndots,0\ntoranosuke,1\ntomo_(ryo_i_so_),1\nanapom,1\ntransform_(pokemon),0\nmakigai,1\nbeyblade:_burst,3\nviktoriya_ivanovna_serebryakov,4\nhachimitsu_hinako,1\nohihil,1\ncrucifix,0\ngourai,4\nrinhee,1\nkurohanya_(niliu_chahui),4\nairi_(ogami_kazuki),4\nheart_pouch,0\nnagiha_kuten,1\nmario_kaneda,1\nhyodo_rena,4\nyonoki,1\nhazumi_otoya,1\nagainst_mirror,0\nnishimori_yusa,4\ntenjin_kotone,4\nlavender_dress,0\nyomawari_(series),3\nclover_(lapis_lazure),1\nrong_yi_tan,1\nzuki,1\nswimmer_(pokemon),4\nzener_card,0\nporiuretan,1\nhamaru_(s5625t),1\nmy_life_as_a_teenage_robot,3\nponiko_(lielos),4\nzerodiamonds_(voice_actor),1\nkevin.g.tuck,1\ninward_v,0\nsaya_(sayaya),1\nshichimiya_satone,4\ndough,0\najiro_shinpei,4\niceberg,0\nshinanoya_(satanicad),1\nstrawberry_milk,0\nginkgo_guild_uniform,0\ntsukimoto_aoi,1\ncress_(pokemon),4\npuffy_dress,0\ntakeuchi_takashi_(style),0\nred_carnation,0\nnora_to_oujo_to_noraneko_heart,3\nvalkyrie_drive_-siren-,3\nfujisawa_yayoi_(uchuu_no_stellvia),4\noono_imo,1\nchloris_garden,3\nkakiha_makoto,1\npaperfinger,1\nsugi_214,1\nyelan_xing_xuan,1\ntutsucha_illust,1\nbody_bridge,0\nmirage_(rairudiseu),1\nmini_cu-chan_(fate),4\nyukino_bijin_(umamusume),4\nmitsumine_(ookami_no_oyashiro),1\netyaduke,1\ndandelion_(girls'_frontline),4\nmulberry_(arknights),4\ntouhou_bougetsushou,3\ngiga_omega,1\nswiss_cheese,0\ncatra,4\nkinoshita_neko,1\nmisha_(pita_ten),4\nhiiro_(kikokico),1\nyukiiti,1\nradiostarkiller,1\ntouhou_sangetsusei,3\nstrawberry_cake,0\nluzi,1\neiken,3\nmatsunaka_hiro,1\nkock_k,1\npikurusu,1\nyukinon_(tsuki_koubou),1\npikipek,4\ngranblue_fantasy_(style),0\nshiny_heart_(alice_girls),4\nkuro_(zhurunbo1997),1\nb_(kana0816),1\nmono_(mono60),1\nkunaboto,1\npraetor_suit,0\nmural,0\nlim_jaejin,1\nmago_(gengennikoniko),1\nria,1\npodenco_(arknights),4\nsheep_boy,0\nchiyonekoko,1\nnokachoco114,1\nsatellizer_el_bridget,4\nnishihara_tetsuya,4\nguest_art,5\nyamiyono_moruru,4\nyoshiron,1\nmushisotisis,1\ngumilkx,1\nkiiro_kimi,1\nyuusha_(maoyuu),4\nfusion_swords,0\nriyo_(riyontoko),1\nizumi_noa,4\nviolin_case,0\nshokatsuryou,4\npolorinken,1\nmomoiro,1\ntsuki_wa_higashi_ni_hi_wa_nishi_ni,3\nlarxene,4\na-rise,0\nmeicha,1\nuruha_(yw1109),1\nbanjo_(banjo-kazooie),4\nkohaku_muro,1\ndieci_(nanoha),4\nmokumokuren_(atariya_kyoushitsu),1\njuukishi_cutie_bullet,3\nnpa_(sirokurokuma),1\nfabri,1\nitou_shin'ichi,1\nre:stage!,3\nmonsuu_(hoffman),1\nyuri_shoutu,1\ntakanashi_hiyori,1\nkohige,1\nherohero_(higashi_no_dou),1\nhinanosuke,1\ntenjin_kotone_(channel),3\ncoaster,0\nbatatata77,1\nleo/need_(project_sekai),0\nshiina_aoi,1\ncure_cosmo,4\nfizz_(pixiv34498626),1\nslap_mark_on_face,0\nthief_(ragnarok_online),4\nsatyr_(granblue_fantasy),4\ndilation_belt,0\nterebi-chan,4\nkate_(shadows_house),4\ntamaki_(princess_connect!),4\nyuri_briar,4\nmustache_print,0\ntaut_shorts,0\nstanding_on_three_legs,0\nhario_4,1\nshokuyou_koori,1\nmisashi_(raichi821),1\nein_(long_cake),1\nkudou_(sikisiki0000),1\nsanger_zonvolt,4\ngod_of_war,3\nuehara_miyako,4\nkuhouin_murasaki,4\nogera_okera,1\ngloss,1\nfura,1\nmina_tepes,4\nblood-c,3\nkyabakurabakufu,1\namaya_haruko,4\nkodama,4\nhabanero-tan,4\ndojo,0\ncink-knic,1\nmiyashita_miki,1\nosakabe-hime_(swimsuit_archer)_(second_ascension)_(fate),4\nmuscular_child,0\nsniper_(tf2),4\nhiro1984,1\ncafe_sourire,3\nyuria_(kittyluv),1\nsage_(ragnarok_online),4\npisoshi,1\nmiyamaru,1\npenlight,0\nmanaka_(pdx),1\nhato_no_suisou,1\nmorino_shoutarou,1\nyamako_(state_of_children),1\nyuutama2804,1\nrinne_berlinetta,4\nchinese_white_dolphin_(kemono_friends),4\nmarsen,1\nhagino_chiaki,4\nkita_(7kita),1\nkagaya_kuki,4\ntamaki_mari,4\nmedusa_(rider)_(third_ascension)_(fate),4\nmelowh,1\naozora_middle_school_uniform,0\nbarbarian_tk,1\nodysseus_(fate),4\nrenpc,1\nsky_cappuccino,1\nfutaba_aoi_(naomi),4\n38_(sanjuuhachi),1\ndiantha_(granblue_fantasy),4\nogino_jun,1\nathena_(granblue_fantasy),4\nini_(mocomocccos),1\ntaimadou_gakuen_35_shiken_shoutai,3\napplying_sunscreen,0\nholding_golf_club,0\nchahashiraozen,1\nuchida_shou,1\nfukunaga_yukito,1\nmoyachii,1\nshinryou_rei,1\njh,1\nfue_(tsuzuku),1\nroco_(rocoroco1115),1\ngloom_(pokemon),4\nsnowboarding,0\nmarmaladica,1\nhawkeye_(marvel),4\nstuffed_mouse,0\nshimesaba_kohada,1\ntamaru_tokihiko,1\nsleep_talking,0\ntokonome_mamori,4\nboys_anti_tank_rifle,0\nrana,4\nphantasmagoria_of_dim.dream,3\nsailor_mars_(cosplay),0\nkibutsuji_muzan,4\ninstrument_on_back,0\nshangzi,1\nfood_writing,0\nwasabi_shoujo,1\nmarisayaka,1\ngreave_(asterism),1\ntoraneko,1\nguardian-panda,1\nnamisaki_yuka,1\nkoujima_shikasa,1\naer_(tengqiu),1\nanimal_on_back,0\nzhongye_yu,1\nomoide_no_marnie,3\nbar_soap,0\ndoge,4\nholofive,0\nmaemi_(maemi12),1\nsho_(shoichi-kokubun),1\npaundo2,1\ntheresa_apocalypse_(luna_kindred),4\nmitama_(fire_emblem),4\nganesha_(fate),4\nkoda1ra,1\nhere_(hr_rz_ggg),1\ntoasty_scones,1\npersica_(girls'_frontline),4\ninushima,1\nmoorish_idol,0\nhonda_tohru,4\nauko,1\nsingle_over-kneehigh,0\nfeather_collar,0\nxiaobanbei_milk,1\nangel_gabriel.,1\npolilla,1\nlambent_light,0\nterujirou_(masateruteru),1\nnovice_(ragnarok_online),4\nmyaku-myaku,4\nminami_kenjirou,4\nnorthampton_(kancolle),4\nwinona_(pokemon),4\nakagi_kai_ni_(kancolle),4\nballet_dress,0\nrino_cnc,1\nasbestos_(arknights),4\ncurtain_call_challenge_(meme),0\ndewott,4\nying_yi,1\npedestrian_bridge,0\nhoming_(areya),1\nmaryquant,1\nmomo_(kancolle),4\narticle,0\nsierra_mikain,4\nyuzuyunagi,1\nmadhatter_hello,1\nhappy_(fairy_tail),4\nutatane_hiroyuki,1\nunyon,1\nspiral_power,0\nakatsuki_blitzkampf,3\ngaryou,1\ntoujou_aya,4\ndateya_torahachi,1\nchitose_yuma,4\nbayashiko,1\naneros,0\nboku_no_kanojo_sensei,3\ndance_dance_revolution,3\nelf_all-stars_datsuijan,3\nmeron,1\nchikiso,1\nshared_coat,0\ntogusa_masamu,1\nhatori_piyoko,1\nregdic,1\nhirabaru_kenji,1\njoypyonn,1\ngrimgrimoire,3\nteam_plasma_grunt,4\ndanemaru,1\ntsushi,1\ntakao_(d-frag!),4\nogata_rizu,4\nlelei_la_lalena,4\npepperoni,0\nmomo_(breath_of_fire),4\ndream_catcher,0\nktokei_(kurokku-tokei),1\nlucie_(millie_parfait),4\nkazuoki,1\nurn,0\ndomination,0\ngentle_sasaki,1\nangelise_ikaruga_misurugi,4\naora,1\nsakaki_yumiko,4\nmoonbell,1\nb.c.n.y.,1\nsunset_nostalgie_(idolmaster),0\nthea_(nekojira),4\nring_hair_ornament,0\nfull_metal_jacket,3\nmemekko,1\nkexue,1\nstudded,0\nosaragi_mitama,1\npoco24,1\nalmic,1\nsuzuki_moeko,1\namg_(nwmnmllf),1\nairsoft,0\nshibainu,1\ntake_tonbo,1\ncecile_croomy,4\narcherko_(himura_kiseki),4\nsrpzk,1\ncafeteria,0\npiro,4\nibukichi,1\nyamiiv,1\nnaruse_shiroha,4\nryuuno6,1\ngeso_smith,1\nmirufuaa,1\ngo-kart,0\ngankutsuou,3\ncrow_(gravity_daze),4\ntaiko_sticks,0\nyawata_maru_(kancolle),4\nsyringe_gun,0\nwalkway,0\naak,1\nyuri_lowell_(reliable_senior),4\nsatsuki_misuzu,1\nvajra_(object),0\nequation,0\nshutter,0\ngen_(genetrix),1\nkako_kai_ni_(kancolle),4\nshining_blade,3\nkuwahara_sayako,4\ncarcano_m91/38_(girls'_frontline),4\norange_outline,0\namakusa_tobari,1\ntobi0728,1\nriju,4\nauruo_bossard,4\nkhezu,4\n1=2,1\ncolossus,0\nlatale,3\neustass_captain_kid,4\nhidarikiki,1\ntaru_neko,1\nyuzuyu_(hyui),1\nezo_brown_bear_(kemono_friends),4\nkurodeko,1\n159cm,1\ndrunkoak,1\nceobe_(unfettered)_(arknights),4\npedicure,0\na_maru,1\nyukimura_chizuru,4\nace_combat_zero,3\ntamanami_(kancolle),4\nmurabito,1\nfiona_belli,4\nfelicia_(vampire)_(cosplay),0\nkagami_kira,4\narata_(xin),1\nlsls,1\nflesh,0\nsubaru_(brand),0\nsitting_on_hand,0\njin_(sirius-j),1\njuliet_starling,4\nnatsuki_shuri,1\ngoma_(11zihisin),1\nharukaruha,1\nleng_wa_guo,1\nkokoyashi,1\nshirubaburu,1\n7-tan,4\njoka_(night_gate),1\nidora_(idola),1\nsensory_deprivation,0\nokujou_no_yurirei-san,3\nfrederica_sawyer,4\nemilio_(tetsukazu_no_ao),1\nalolan_ninetales,4\nkrazehkai,1\nswim_swim,4\nghostly_field_club,3\njapanese_black_bear_(kemono_friends),4\nhizuki_miya,1\nklegsart,1\ngoku_black,4\nsouno_kazuki,1\nnobuchi,1\nkasumi_seiki,1\nmedic_(tf2),4\nroubai_academy_school_uniform_(old),0\nmikicat,1\npk_(girls'_frontline),4\nsecretbusiness,1\nkaga_kai_ni_(kancolle),4\nreki_(haibane),4\ncolonel_olcott_(fate),4\ndarkpulsegg,1\ndvalin_(genshin_impact),4\nannelotte_(princess_knight),4\nnao_(naaa_195),1\nsakayaki_(burning_soul),1\ncure_ange,4\nnana_(nanalog76),1\ncheese_(cheese_koubou),1\nhino_(2nd_life),1\ntonmoh,1\nakasia,1\nmajorina,4\ntsukimi_(ryouiki_ridatsu),1\nbroken_umbrella,0\ntsurugi_(the_horizon),1\nfanshu,1\nkakuna,4\nlace-up_thighhighs,0\nkani_nayuta,4\nnorthern_water_princess,4\nariados,4\ncucco,4\nlazy_eye,0\nkoukoku,1\noak_leaf,0\npearl_clan_outfit,0\nkyousaku,1\nkitamura_(bamboo),1\nred_flag,0\nsaturn_symbol,0\nakiyama_hayato,4\nayahi_4,1\nlaguna_loire,4\nnadja_applefield,4\nharpie_lady,4\nron_weasley,4\nsuccubus_(ragnarok_online),4\nkokoro_(vocaloid),3\nbernese_mountain_dog,0\n7th_dragon_2020-ii,3\nmomoiro_taisen_pairon,3\nledo_(suisei_no_gargantia),4\nkyapinetzu,1\ntanyatonya,1\nremotaro,1\nmagako,1\ndoctor_who,3\nrozea_(graphmelt),1\nanko_(kirikiri),1\nonishima_homare,4\nchichi_band,1\nminazuki_kyouko,4\nkamishiro_rize,4\nyouhe_hino,1\nloli_bushi,1\nliar_lawyer,1\ntetopetesone,1\ngraysheartart,1\nnamakawa,1\nyurishiro_ginko,4\nbobokuboboku,1\nhigh_school_dxd_cross,3\nmmmilk,1\nhachiko_of_castling,4\nrainbow_print,0\nmouse_boy,0\nsawarakajin,1\nhero's_son_(dq5),4\nsakamata,1\nheart_tail_duo,0\nloincloth_lift,0\nrutile_(houseki_no_kuni),4\nkashi_kosugi,1\nelma_(xenoblade_x),4\nholding_bomb,0\naegis_(takunomi),4\nhand_around_waist,0\ngoldowl,1\nelisabeth_blanctorche,4\nnurami_(shouji),1\ntamago_(eva1314056),1\ndonkey_ears,0\nle_triomphant_(azur_lane),4\nfan_yang_(jiuge),1\npetra_leyte,4\nsaitou_kaede_(yama_no_susume),4\nteardrop-framed_glasses,0\nibuki_(abuki),1\npokopi,1\nmysterious_heroine_x_alter_(third_ascension)_(fate),4\ndelusion_(genshin_impact),0\ncanvas_2,3\ngorillaz,3\ntakepon,1\nkouguchi_moto,1\nkotobuki_utage,1\npetra_johanna_lagerkvist,4\nsekitaku,1\nmadara_sai,1\ncasshern,4\niwawa,1\nsylvanas_windrunner,4\ntail_fondling,0\nwakie,1\ndodrio,4\nfl_studio,3\nporom,4\nnamuko,1\nbarbara_gordon,4\nflare,0\nkami_tora,1\namamiya_manami,4\nbrushing,0\nmaki_natsuo,4\nkiyuu,1\nchou_(meteorite3),1\nhamburglar,4\nyamadori_ofuu,1\ntakatsukasa_yue,1\nelza_straherz,4\nran_straherz,4\nmito_(calcomer),1\nosamu,1\nyuuryuu_nagare,1\nvient,1\ndark_sun_gwyndolin,4\ncard_between_breasts,0\nhat_kid,4\nsunday_aki,1\nbaltimore_(muse)_(azur_lane),4\nmutou_mame,1\nyumi_(careca398),1\njyon,1\nvice_(alchemy_stars),4\nhorikwawataru,1\npercival_(fate),4\nnot_on_shana,1\ncoffee-milk-moumou,1\nrenatus.z,1\nshibano_kaito,1\nprincess_(sekaiju),4\nootani_nonno,1\ndead-robot,1\nkaro-chan,1\nmakoto_(minami-ke),4\nzain_(omaru_polka),4\nm0ti,1\njenson_tw,1\nmasaki_itsuki,1\nhowa_type_64,0\npiyomon,4\nirizaki_mei,4\nhitsujibane_shinobu,1\nhoriizumi_inko,1\nkatsumi-kun,1\ncomiket_97,3\nmizuamememe,1\nexecution,0\nplaid_coat,0\nmemeno,1\ngerman_commentary,5\njorin,1\ndm_owr,1\nnagidango,1\nkeroro7,1\nnekoha_shizuku,4\nmuvluv_alternative_(anime),3\ncave_interior,0\nkairos+,1\nmartinreaction,1\nangelfish,0\nnyorotono,1\ntetrapod,0\ntaser,0\nnagomian,1\naoi_shiro,3\narm_out_of_sleeve,0\nongeki,3\ntobisawa_misaki,4\nkava,1\ngad_guard,3\nichijou_ayaka,4\ncul,4\nodd_taxi,3\nneko_lu_(wofud453),1\nhamada_kiyo,4\nmario_tennis,3\nlucy_steel,4\nhonshou_aru,4\nwargreymon,4\nhaku_(grimjin),1\ncloak_removed,0\ncicada_block_(meme),0\nrectal_prolapse,0\ngrey_tail,0\nsign_language,0\npassionlip_(third_ascension)_(fate),4\nsabi_(pokemon),4\nhi-nu_gundam,4\nmoreshan,1\nryuuneart,1\nmiruki,1\nplayground_equipment_(kemono_friends_pavilion),0\nmagaeshi,1\nyottan,1\nshiori_(kamioka_shun'ya),4\nvaporwave,0\npeach_panther_(kemono_friends),4\nadd_(fate),4\nkaga_(kancolle)_(cosplay),0\njasony,1\nmedusa_(rider)_(fate)_(cosplay),0\nlicking_navel,0\npupi_(rain_prophet),1\nresident_evil_3_(remake),3\nyuuya_(blue_scarab),1\nfua_yuu,1\nyuksi,1\nblack_cat_(marvel),4\nkinoshita_shizuka,4\nstalagmite,0\ncolt_single_action_army,0\nmorizo_cs,1\nterai_(teraimorimori),1\nsakurai_aoi,4\ntabris-xx,4\ngurajio,1\nchoi_mochimazzui,4\nyamada_ichizoku,1\nnamikawa_kuroha,1\ntoki_(toki_ship8),1\nancolatte_(onikuanco),1\nno_(xpxz7347),1\nenma-chan,4\nmarumai,1\ntoraneko_2,1\ntama_satou,1\nexpo2025,3\njuzumaru_tsunetsugu,4\naizen_(syoshiyuki),1\nmotoba_kirie,4\nramochi_(auti),1\nkirisita,1\nscorpion5050,1\ntom_and_jerry,3\nfinneon,4\npolpol,1\nvenipede,4\nhuge_clitoris,0\nklaus_von_reinhertz,4\nanna_(drw01),1\nbachi,0\ncensored_violence,0\nre_leaf,3\nkamen_rider_black_rx,4\nbois_de_justice,0\nzurikishi,1\ndcwj,1\nunder_umbrella,0\nkriemhild_(fate),4\nmimori_suzuko,4\nherb_bundle,0\nfavonius_sword_(genshin_impact),0\nzed_(league_of_legends),4\nmasuda_(yousaytwosin),1\nashlock_(arknights),4\nmodel_ship,0\nskipping,0\nvoicevox,3\ndiamond_cutout,0\nchoko_egg,1\nkokiri,0\nyellowseeds,1\nnyaou,1\nphenne,1\nkatou_kaiou,1\nnyantiu,1\naroa_(aroamoyasi),1\nsomeyaya,1\ncait_sith_(ff7),4\nbowling,0\nliita_(dusk_snow),1\nbiting_hand,0\nslm,1\nmedical_scrubs,0\nogawa_maiko,1\nmatanukinuki,1\nkyoumachi_seika,4\nhead_on_knees,0\ntwinbox_school,3\ncl_(summer_sama),1\nkouzuki_(reshika213),1\nkomiya_kuniharu,1\nkumakou,1\naoi_thomas,1\nprimogem,0\npicoli1313,1\namano_kusatsu,1\nmizuki_yuuma,1\nmonpuchi,1\ngrimmsnarl,4\npoho,1\nrina_(kemurikusa),4\nkurappii,1\naqua_cardigan,0\nkuziaaizuk,1\nsemikichi,1\nmomo_no_suidou-sui,1\nsaotome_kazuko,4\ncoach,0\nkonogi_nogi,1\nkazuha_nanako,1\nenoki_p,1\nsv001_(metal_slug),0\nichika_(ichika87),1\nfacominn,1\nlee_hoon,4\nwakaba_hinata,4\nasuka_momoko,4\nyou06,1\nblue_santa_costume,0\nshiimai,1\nshiratama_kitsune,4\nsybilla,4\ntazuma_(u283),1\nmitsukazu_(nijigen_complex),1\nclara_dolls_(madoka_magica),4\nusuta_sumire,4\nshirota69,1\nmikagura_gakuen_kumikyoku,3\namifumi_inko,4\nashiyu_(ashu-ashu),1\nangela_(project_moon),4\naoi_kyosuke,4\nlkeris,1\nkageharu,1\nts422,1\ncerberus_(last_origin),4\nbd_ayknn,1\nhisako_(6anmbblfnjueeff),1\nkatamari_damacy,3\nnon-repeating_animation,5\nbrown_sclera,0\nraiden_mei_(lightning_empress),4\nsatou_(kuso-neet),1\nclockwork_rabbit,3\nlene_(fire_emblem),4\nshigure_(fire_emblem),4\nizayoi_no_hanayome,3\neichan_(eichanidfi),1\nozaneko,1\nsingle_bang,0\nhands_on_another's_knees,0\nraiden_mei_(striker_fulminata),4\ndipper_pines,4\ntaira_yuuki,1\nrsk_(tbhono),1\nkinniku_buster,0\nholding_anchor,0\ngrey_pupils,0\nsaionji_mary,4\nkusakabe_mei,4\nlittle_cocon_(umamusume),4\nkokkoro_(real)_(princess_connect!),4\nseorang,1\nmeji_aniki,1\nasahina_mikuru_(adult),4\nservine,4\nshiba_yuuki,1\ncodpiece,0\nkonno_mitsune,4\nnail_clippers,0\ncreamy_mami,4\nreiko_holinger,4\nkaolla_su,4\nrecolored,5\noboe,0\nmizukikushou,1\npiloting,0\ndave_cheung,1\nsakomizu_haruka,4\nharui_(hr_x9_),1\ntadokoro_teppei,1\nkashiyuka,4\ntoku_sonchou,1\ndaisy_(dq),4\nmantyke,4\nunadare,1\nduckman,4\ntakatsuki_kahiro,1\nnosepass,4\ncelestia_(my_little_pony),4\nnanakusa,1\nneon_genesis_evangelion_gakuen_datenroku,3\ntsukimori_hiro,1\ntibino,1\nbrush_stroke,0\ntoo_many_scoops,0\nmaitora,1\nmiyashiro_sousuke,1\nyuriyuri_(ccc),1\ndennryuurai,1\nnocchi_(perfume),4\nspread_anus_under_clothes,0\nsousou,4\nutakata,3\nyamada_yui,4\ntenko_kuugen,4\ntheresa_apocalypse_(celestial_hymn),4\nidia_shroud,4\nsmall_penis_humiliation,0\ngamryous,1\ncizzi,1\nniwabuki,1\nsasagawa_(haikaiki),1\nalolan_marowak,4\nblaze_(artist),1\nchamchami,1\nwaltz_(tram),1\nhicha_nomu,1\ntanaka_masayoshi,1\ndanna_(tsukimisou),1\nplanted_arrow,0\nmeihemu,1\neyewear_around_neck,0\nhoroyuki_(gumizoku),1\nevomanaphy,1\ndragon_yukano,4\nrosmino,1\nwarashi,1\nmoth1,1\nseo_kouji,1\narai_hiroki,1\nsuou_kuyou,4\nsengoku_kamuri,4\notona_no_moeoh,3\nenperuto_(yarumi),1\nmacciatto_(aciel02),1\nkinukawa_chinatsu,4\nsaeki_sayaka,4\ninika,1\nclare_(543),1\ndabi_(dabibubi),1\ntooru_(jux),1\nflight_goggles,0\nshockwave_(transformers),4\nstar_of_lakshmi,0\nmiru,1\nyanagi_kiyora,4\ntanaka_ginji,1\nkanna_kanaki,1\nsasuke_(sasuke_no_sato),1\nwakazato_haruna,4\nchili_(pokemon),4\nmo_(pixiv9929995),1\nrokushaku_neko,1\njohnathan_mar,4\nhoney_whip_(module),0\njet_(pw3234),1\nyunkaasu_(kakushiaji),1\npicube525528,1\nruan_chen_yue,1\ntakanashi_hikari,4\notoca_d'or,3\nbruno_(pokemon),4\nninomae_ina'nis_(artist),1\nyamada_masaki,1\neye_(okame_nin),4\nnise_(basilsis),1\npaprika_private_academy_school_uniform,0\nmashimaro_tabetai,1\nyu_(bosshi),4\ncu_chulainn_(second_ascension)_(fate),4\nazure_striker_gunvolt_2,3\nyuuki_terumi,4\njenny_wakeman,4\ncross_akiha,1\nsakuragi_rian,1\nfumiko_(miruyuana),1\ndangan_neko,1\naka6,1\npulp_piroshi,1\nlabret_piercing,0\na_(aaaaaaaaaaw),1\nhechi_(hechi322),1\ndyresbroom,1\nace_combat_7,3\naluce,1\nheybot!,3\ndomestic_na_kanojo,3\nstring_tie,0\nscript,0\nsochie_heim,4\netomai,1\nnekomiya_nono,4\nnyx,4\nphat_smash,1\nkuruton486,1\nkagto_(alterna),1\ndaifuku,0\nzentreya_(vtuber),4\nkotarou_(rakugaki_shirushi),1\nsero_hanta,4\nshinnasuka025,1\nartnip,1\nriyo_servant_(bunnygirl)_(fate),4\nnine-colored_deer,4\nyae_kasumi,4\nhazard_stripes,0\nkiichi_hougen_(fate),4\nmintoaisu,1\nkozu_(bloomme1_me),1\nkashi,1\npurple_haze_(stand),4\nrude_(ff7),4\nbilly_kane,4\nbeast_boy_(dc),4\nibispaint_(medium),5\nplayboy_bunny_swimsuit,0\naotsu_karin,1\nmiriel_(fire_emblem),4\nblitzen,4\ngodzilla_(legendary),4\nhebameki,1\ngneisenau_(nightmarish_succubus)_(azur_lane),4\nthe_monkey,0\ndigimon_savers,3\nhongryeon_(last_origin),4\nfingerprint,0\nhoshina_meito,1\nmomoya_show-neko,1\nfumizuki_misoka,1\narachnid,0\ndog_(duck_hunt),4\nholding_shell,0\nmaskwolf,1\nwanpaku_pixels,1\ncat_slippers,0\nbuzzwole,4\nmartini,0\nnaoki_(endofcentury102),1\nakagi_rio,1\nmafumafu,4\nguillotine,0\nak-74m,0\ncanyne,4\nmatador,0\nbai_qi-qsr,1\nvenonat,4\nandou_ringo,4\nrena_(renasight),1\nppsh-41_(girls'_frontline),4\nkainkout,1\ntpi_ri,1\ntsukiji,1\nkettenkrad,0\nkurosawa_kiyotaka,1\nuramakaron,1\nsega_saturn,0\nayukko_(forest_village),1\nyashemao_qishi,1\nmikasayaki,1\nwarhammer_fantasy,3\nraised_fists,0\nfct,1\nelekid,4\nponnetsu,1\nsakyumama_(kedama_milk),4\nmont_blanc_(heartcatch_ayaya),1\nebisu_(dorohedoro),4\ntadokoro_megumi,4\nlalala222,1\nevolution_championship_series,3\nanimal_pillow,0\nwo-class_aircraft_carrier_(cosplay),0\ntsubasa_(kureha),4\nrean_(r_ean),1\nellipsis_(mitei),1\naoihitsuji,1\nthorfinn,4\nfalse_limb,0\ntianel_ent,1\nhiita_the_fire_charmer,4\nnanase_kurumi_(menhera-chan),4\naoi_yusuke,4\nmars_(planet),0\nyellow_collar,0\numxzo,1\nanti_(ssss.gridman),4\nren_(endscape20),1\ndetective_pikachu_(movie),3\nsatou_sasara,4\nglowworm_(warship_girls_r),4\nning_hai_(warship_girls_r),4\nsuzu_(torikissa!),4\nyae_sakura_(darkbolt_jonin),4\nlino_chang,1\nyonedatomo_mizu,1\nsade_abyss,1\ntoo_much_food,0\nlayered_legwear,0\ncho!cho!,1\nmizunashi_hayate,1\nnoa_(blue_archive),4\nsiesta_(tantei_wa_mou_shindeiru),4\nrooru_kyaabetsu,1\nkurumi_noah,4\nitou_noemi,4\naoba_kozue,4\nyamaguchi_ugou,1\nnametake,1\nmagus_tale,3\nmidarezaki_kyouka,4\nangel_blade,3\nsomejima,1\nstudio_sunadokei,1\nachakura,4\ndonkey,0\nyykuaixian,1\nuchiha_madara,4\nmegane_chuu,1\nkurabayashi_aya,1\nsumii,1\nchao_lingshen,4\n147,1\naono_(aonocrotowa),1\nstarless,3\natawatsho,1\nkoiiro_soramoyou,3\nkekekeke,1\nyamada_ranga,1\nking_(nadia),4\nchiri_(o9o9),1\nkakura_kurumi,4\nhiruma_andon,1\nnurugamer-kouyouju,1\nkamo_(yokaze),1\nurobuchi_gen,4\namakura_(am_as),1\nretweet_(meme),0\nseki_suzume,1\nnatsuki_coco,1\n300,3\ntriangle_(instrument),0\nempty,0\nhanayagi_kaoruko,4\nuewtsol,1\nrivier_(kuzuyu),4\nrikose,1\nkoi_drake,1\nidol_time_pripara,3\norange_sekaii,1\noverwatch_(logo),0\nroro_(gunvolt),4\nshiroaisa,1\nclaus_(mother_3),4\nlickitung,4\npokemon_cafe_mix,3\nfish_tattoo,0\nsuv,1\nmontage,0\nneckerchief_removed,0\nhinomoto_reiko,4\nchungmechanic,1\nseteth_(fire_emblem),4\nabomasnow,4\nthey're_not_panties,0\nfujimoto_akio,1\nakane_yuki,1\na_deer_of_nine_colors,3\nfox_print,0\nniji_(nijioki),1\nsuper_robot_wars_z2,3\nrey_(star_wars),4\nscar_on_breasts,0\nfrey_(rune_factory),4\ncupless_babydoll,0\nattyon,1\nmarron,4\nrepulse_(azur_lane),4\nhinazuka_ryou,1\nsuishin_tenra,1\niris_(takunomi),4\natou_rie,1\nhoshina_satoya,1\niris_(konosuba),4\npellas_(panix2383),1\nbicute_bunnies_miku,4\ni.t.o_daynamics,1\nsuzuno_naru,1\nporary,1\nkikai_sentai_zenkaiger,3\nsella_(fate),4\nwatanabe_no_tsuna_(fate),4\ni-504_(kancolle),4\nhototogisu_(hot_to_gis),1\ng3_(girls'_frontline),4\nmedb_(alluring_chief_warden_look)_(fate),4\nkaniko_(tsukumo_sana),4\nkagarimachi_konatsu,1\ntorajirou_(toraneko_zirou),1\ntrail,0\nkuroneko_liger,1\nbud_(korovsme),1\nshimetta_seiya,1\nphantasy_star_portable_2_infinity,3\nfunnyfunny,1\nhinomaru_(kotoba),4\nblazblue:_calamity_trigger,3\nattouteki_yuugi_mugen_souls,3\nkurano_kun_chi_no_futago_jijou,3\nmmrailgun,1\nn'doul,4\nmitsuki_mitsuno,1\ntuka_luna_marceau,4\nlicking_cum,0\ntoketou,1\nekubo_(mob_psycho_100),4\nzhi_zhi/zu_zu,1\nhooded_pajamas,0\nrunaru,1\ngiant_penguin_(kemono_friends),4\nshoohee,1\nonboro_(clunker),1\nlab_zero_games,3\nyokaze_(yokajie),1\nf-cla,1\nfrog_headband,0\nkamitsuki_shion,1\nnaoyama_masaru,1\ncrusaders_quest,3\nonao,1\ndick_grayson,4\nthe_atko,1\nzamazenta,4\nkawasaki,0\ntoma_(shinozaki),1\nbrown_overalls,0\nkutsuno,1\n00_qan[t],4\njurakin,1\norihime,4\npendulum_clock,0\nsekimo,1\nkosaka_chihiro,4\ntanupo,1\nmygrimoire,3\nkeiki8296,1\nkotaro-nosuke,1\npkpkpppk,1\nm_k,1\nakatsuki_no_yona,3\njinbe_(one_piece),4\ncolophon,0\nanvil,0\ndynamite_pussy_cat,1\nwounds404,1\nvulcan_(arknights),4\nkobayashi_chizuru,1\nfl-chan,4\nnaoto_(yandereheaven),1\nsneasler,4\ndhfz181,1\ngrass_skirt,0\npanpour,4\ncrystal_shoujo,1\nnanase_miri,1\np.i.t.d,1\nestinien_varlineau,4\nnagare_ryoma,4\nnougami_neuro,4\nekm,1\ncroconaw,4\nsuta_(clusta),1\nyamayoshi_tanosuke,1\nizumi_(nagashi),1\nsaimon_tamaki,4\nrin_(fuwarin),1\naimori_meguru,1\nnakachiruno,1\neriko_(summer)_(princess_connect!),4\natelier_lulua,3\nan-94_(silent_rouge)_(girls'_frontline),4\nyamiko,1\ninui_nakiru,1\nfediel_(granblue_fantasy),4\nsakurasaka,1\ntoucannon,4\nmarie_antoinette_(swimsuit_caster)_(third_ascension)_(fate),4\nspas-12_(midsummer_fruit)_(girls'_frontline),4\nzodiac_(sekaiju),4\nj_young,1\nmirea,1\npansear,4\nkusano_houki,1\nroman_torchwick,4\nlo_xueming,1\naoandon,4\nhawlucha,4\nno_neckwear,0\ngufu_(guffuumu),1\nsina_(pokemon),4\nsonic_boom_(game),3\nkeikesu,1\nchaika_bogdan,4\nspiked_shoes,0\ndiancie,4\nshocking_party,0\nabsol_(dkqthf),1\nmaron_(kagamikunn),1\nunagi_sango,1\nshinsono_shiroko,1\nseaside,0\nfoul_detective_satori,3\nakira_(orenchi_no_maidosan),4\nshin_kouchuu_ouja_mushiking,3\ncavall_the_2nd,4\nping_myu_ring_(tandohark),4\nnonaka_yuki,4\ntheresa_apocalypse_(sakura_rondo),4\nnorue,1\nwumumu,1\npuff_(go!_princess_precure),4\nsaint-louis_(holy_knight's_resplendence)_(azur_lane),4\npenguin_maru_(penginmaru),1\nkuso_zako_choroin_nishiga_hachi,3\ncombat_medic_ziegler,4\nsylphiette_(mushoku_tensei),4\nchest_tuft,0\nei_(marutendon),1\nperiod_(anony_83),1\nharumi_kajika,4\nanal_hook,0\nbig_man_(splatoon),4\ngold_belt,0\nclarine_(fire_emblem),4\nshionty,1\nnanpou_(nanpou0021),1\nmona_(warioware),4\npuyopuyo_7,3\ncum_on_gloves,0\npekora_(jashin-chan_dropkick),4\nnamamake,1\nryuujou_kai_ni_(kancolle),4\ntonton_(tonz159),1\nminamoto_no_raikou_(swimsuit_lancer)_(first_ascension)_(fate),4\ngolurk,4\nhayabusa_(spacecraft),4\nmamiina,4\nnekoneko,1\nasakura_kazumi,4\nritsuki,1\nstriped_towel,0\nshingetsu_takehito,1\nelizabeth_thompson,4\ntoriningen,4\nhikabe_sakuho,1\nohse,1\nonigiri_(ocelot),1\ngabumon,4\ncoldcat.,1\na~chan,4\ncharlotte_(seiken_densetsu_3),4\nstiyl_magnus,4\nyatani_row,1\nyoshioka_mitsuko,1\nakihazama,1\nhimegoto,3\nfu_yukari,1\nnanamura,1\ntail_flower,0\nitano_circus,0\nhijirikawa_masato,4\nkaburagi_tomoe,4\nkikuchi_michitaka,1\nkaieda_hiroshi,1\ntatara_kogasa_(umbrella),4\nkouhei_(sxmas),1\niceland_(hetalia),4\naaeru,1\nvalve,0\npaseri_(cookie),4\nchabudai_(table),0\nmarin_(umi_monogatari),4\nkyudoli,1\n666,0\nueda_torini,1\nbun_(bbb81bun),1\npepper_fever,1\nbolter,0\nyamano_(yamanoh),1\nwei_miao,1\nqlakwnd,1\nmk_(masatusaboten),1\nminakami_rinka,1\nutsugi_(skydream),1\nmago,1\nredpoke,1\nyellow_quokka,1\ntomifumi,1\ntailblue,4\nvault_suit,0\nreno_(reno_bunnino)_(azur_lane),4\nshiroyukimajima,1\nglue,0\nmonaka_ooji,1\nshouhou_(azur_lane),4\noctoshot_(splatoon),0\ntoaru_majutsu_no_index:_endymion_no_kiseki,3\nfrosmoth,4\nnina_(breath_of_fire_i),4\nkotone11152,1\nte_toga,1\nuhouhogorigori,1\nmari_(dream_c_club),4\ncone,0\ncinque_izumi,4\ntoon_zelda,4\nlittle_match_girl,3\ndofresh,1\nkaauchi,1\nhood_basket,0\nshijuuhatte,0\nliumang_tu_shua_p_zhan,1\nzelsius,4\nfuji_aoi,4\nlily_bloomerchen,4\nsubdermal_port,0\nhands_on_own_leg,0\ngiant_pangolin_(kemono_friends),4\nsola_(solo0730),1\ndoskoinpo,1\nhinabita,3\nkamitani_george,1\njapanese_white-eye,0\nshirouzu_mairu,4\nkozy,1\nganmaganmo,1\nmeimu_(infinity),1\ndesaku,1\nkumoi_takashi,1\nhenriette_mystere,4\nsettyaro,1\nalternate_design,0\nsakura_(doors),1\nminase_(mmakina),1\nchipmunk_ears,0\nwater_tank,0\nchevalier_d'eon_(maid_knight)_(fate),4\nhamburger-chan_(hundredburger),4\nmarch_hare_(alice_in_wonderland),4\nenumiyaa,1\nnameless_bard_(genshin_impact),4\nnoshiro_kai_ni_(kancolle),4\nken_(shutenndouji1),1\ntks_(526tks),1\nkaos_art,1\nyuugo_(yu-gi-oh!),4\nsiegfried_(granblue_fantasy),4\ngradient_bikini,0\nhybridmink,1\nrosia_(show_by_rock!!),4\ntango_(tn500),1\nophelia_(madoka_magica),4\nmimuni362,1\nlime_(saber_j),4\nchocolate_on_foot,0\ntaillow,4\nmenthako,1\nkanmuri_(hanyifan30338),1\nronye_arabel,4\nhalftone_texture,0\nkrieg_(skullgirls),4\nhippogriff,4\nhigashiyama_kazuko,1\nfurim,1\nkirarin369,1\npanties_around_one_finger,0\nip_police_tsuduki_chan,3\nasahina_momoko,4\nmahou_shoujo_taisen,3\nmiyawaki_sana,4\nburning_love_(phrase),0\ndildo_gag,0\nryu_shou,1\ncuon_(kuon),1\nrahato,1\nkuma_yuu,1\nuchi_no_maid_ga_uzasugiru!,3\nbunny_earmuffs,0\nkurono_mitsuki,1\nlacrosse,0\nn_kamui,1\ntsukimi_50,1\ndr._mario_(game),3\nlafter_frankland,4\nmelailai,1\nethan_(arknights),4\nzeroillya,1\nmaster_1_(housamo),4\nkinu_(azur_lane),4\nhammann_(rebellious_summer)_(azur_lane),4\nfur_bracelet,0\nhiyori_(princess_connect!),4\nalisia0812,1\nsuzume_(princess_connect!),4\nchaa_(korone-ze),1\nshuvi_(shuvi1125),1\nmikami_(mkm0v0),1\nkudou_makoto,1\nshangri-la_(azur_lane),4\nocza,1\nlone_nape_hair,0\npeanut_(shokan),1\njesse_(pixiv34586727),1\nasagi_(kabocha_oukoku),1\nmeteorite_(arknights),4\nmurrue_ramius,4\nact_(xadachit),1\nflay_allster,4\nmisaki_yuu,1\ncommand_and_conquer,3\nfarmer,0\nyubel,4\nmuska,4\nbeaten,0\nkatharine_ohare,4\natago_kinue,4\nsun_wukong_(cosplay),0\nasakura_masatoki,1\ndark_haruka,4\nnatsumi_(ragtime),1\nwii_u,0\nhirako,1\nsayama_yoshiki,1\nkaine_(nier)_(cosplay),0\nougi_(ihayasaka),1\nsabamori,1\nawai_shiro,1\njong_tu,1\ntakayama_kisai,1\nakatsuki_ikki,1\nmonster_hunter_3_g,3\nfancybetty,1\nzuko,4\nayatoki-1,1\nmomimaki,1\narsenal,1\nkarakuri_pierrot_(vocaloid),3\nhasune,1\noz_ma33,1\notsukare,1\nsetona_(daice),1\naoi_hana,3\ngaramgum,1\nmarriage_certificate,0\nkazumasa,1\nhyulla,1\nmint_(dewprism),4\ntamezou,1\nyat_sen_(azur_lane),4\nbankai,0\nsuper_sailor_saturn,4\nflasso,1\npink_bandana,0\ntoe_sucking,0\nushas,1\nmathiamo13,1\nnogi_(acclima),1\nmunseonghwa,1\nwiping_nose,0\norianna_(league_of_legends),4\nsailing_ship,0\ncellval,4\nsunsun2812,1\nmarui,1\nfpanda,1\ncarly_nagisa,4\nokapi_(kemono_friends),4\nhao_(haozz),1\nqueen_aldra,4\nhigokumaru,4\nsizma,1\njunkyard,0\nstroller,0\nakazukin_chacha,3\nmoyan,1\nnashidrop,1\nnatsunagi_takaki,1\nfigure_skating_dress,0\nkratos_aurion,4\ncure_sparkle,4\nroasting,0\nmanicure,0\nspartacus_(fate),4\nyasaka_shuu,1\npower_symbol-shaped_pupils,0\nmika_melatika,4\nsentape,1\nkaiko,4\nlace-trimmed_apron,0\nmakihara_arina,4\nkokorono_arika,1\nnormin_(tales),4\ntomatika,1\nreichsadler,0\napostle,1\npump,0\nesu_(tasoesu),1\nchii_aruel,4\nkitahara_mio,4\nhua_jianghu_zhi_bei_mo_ting,3\nnazo_(mystery),1\nakuta_hinako,4\nkanekan,1\nbadminton,0\nk_kanehira,1\nsoulcalibur_iii,3\nnanakura_nanane,1\nhiraizumi_(mugenkidousha),1\nyoshizawa_hikoto,1\njuubaori_mashumaro,1\narisawa_tatsuki,4\nkakimoto_nao,1\ntinker_bell_(disney),4\nsabotaged_condom,0\nforehead_flick,0\nazu,1\naono_meri,1\nzbura,1\ntoichi,1\nazelweien,1\nmouth_insertion,0\njixing_renou,1\ngodot_(ace_attorney),4\ntoda_kazuki,1\ntasting_plate,0\ndaraz,1\nmejiro_mcqueen_(end_of_sky)_(umamusume),4\npamphlet,0\nyukiyoshi_mamizu,1\ngedoooo,1\nwatanuki_fuuri,4\ncomet_(teamon),1\nfukumitsu_(kirarirorustar),1\nchef_no_kimagure_salad,1\ndraven,4\nume_(datsuryokugen),1\noasis_(magnitude711),1\nplay_button,0\nelijah_baley,4\nkunizuka_yayoi,4\nfujimaru_(green_sparrow),1\nsubstance20,1\nclaudia_hortensia,4\nweight_gain,0\ntekuho_no_habo,1\nstrea_(sao),4\nechigo_mitsutaka,1\nalmeida_(granblue_fantasy),4\nzambiie,1\nyai_(hachihito),1\nmarshadow,4\nfantastic_beasts_and_where_to_find_them,3\njulietta_juris,4\ntamandua_tail,0\nblue_whale_(kemono_friends),4\ndata_(mega_man),4\nshitacemayo,1\namiya_(guard)_(arknights),4\nakira_ituki,1\nchyoling,1\ntotonii_(totogoya),1\nzero_(zero_kara_hajimeru_mahou_no_sho),4\njorori,1\nmochizuki_mina,1\nflint_(arknights),4\nsakuramochi1003,1\nspyke_(splatoon),4\npocky_in_mouth,0\nyamano_sachi,1\nkarahai_(31448823),1\nzhaoyebai,1\nhoshi_mikan,1\nsenya_fuurin,1\nhozumi_rino,1\nreptile,0\nbugles,0\npeter_pan_(disney),3\nmaro_nie,1\ndirty_ero,1\nwato_(ko),1\nbail,1\nswimsuit_over_clothes,0\napple_tree,0\ndigital_camera,0\nkrs_(karasu),1\nblack_armband,0\ninhye,1\nshoe-ji,1\nhani_haya,1\nsawada_manami,4\nbootjob,0\nshiguang_dailiren,3\nebi_puri_(ebi-ebi),1\nmecha-fiora,4\nsuzuki_jirou,1\nnekonyan_(inaba31415),1\nkuro_yanagi,1\nbakko,1\nmatsushita,4\nkagura_mutsuki,4\nkannagi_cocoa,4\nyamagami_lucy,4\nduto,1\n14_(vision5032),1\nrapa_(heisei_strawberry),1\nchocolate_on_pussy,0\nsket_dance,3\nfukasaku_aoi,4\nvalerie_(pokemon),4\naiba_asagi,4\nannie_mei,4\nseisen_cerberus,3\nyukitsuki_kokoro,1\nfujibejifu,1\nbride_(fire_emblem),0\nsuke_(share_koube),1\nkunitori,1\nyurano_(upao),1\nzero-go,1\n1nupool,1\nzack_(haiuinndo),1\nkasu_kazu,1\n001_(darling_in_the_franxx),4\ntsurime-chan,4\nyozakura_tama,4\nguardians_of_the_galaxy,3\nhands_on_eyewear,0\nsaltyicecream,1\nshirouzu_myuuta,1\nabiko_yuuji,1\nqooo003,1\nbastion_(overwatch),4\nclimbing_ladder,0\neast_sha2,1\nkuro_the_divine_heir,4\nyurigasaki_lulu,4\nhimejima_gyoumei,4\naogiri_koukou_game_club,3\nkiui_(dagk8254),1\nhimeno_mikoto,4\nmagical_mirai_miku_(2020_summer),4\nsuper_famicom_gamepad,0\ngolden_retriever,0\ncaisena,1\nchtholly_nota_seniorious,4\ncogita_(pokemon),4\nmessikid,1\nyuugen_no_tei,1\nnorimaki_(haru_koubou),1\nmid-autumn_festival,0\nindependence_(azur_lane),4\nc_(rahit),1\nryudraw,1\nayo_(ayosanri009),1\nlayla_(genshin_impact),4\nmimamui,1\nshimoda_masaya,1\nisekai_ojisan,3\njarvan_iv_(league_of_legends),4\natsuko_(blue_archive),4\n01_0219,1\norange_(bibiko),1\nmurasaki_nyaa,1\ngangsta_hold,0\ndeino_(pokemon),4\npocket_square,0\nakutsu_(yuumi),1\nblue21,1\nreki_(user_rcrd4534),1\ncocoon,0\nshirogane_sara,4\ncomp_h's,3\nmiyama_yuuna,4\neien_no_aselia,3\nkagari_liroi,1\naizawa_chizuru,4\nmountain_pukuichi,1\ncollapsed,0\nheriyama,1\nhotori_(sion),1\nhoshino_lily,1\nmao_(disgaea),4\nlemrina_vers_envers,4\nmileina_vashti,4\noscar_francois_de_jarjayes,4\nsandslash,4\ncombusken,4\nsakuramori_sumomo,1\nflying_car,0\nhonda_takeshi,1\nlacrosse_stick,0\nnail_biting,0\nryp,1\nshiruko,1\nface_in_hands,0\nviprpg,3\nmacne_series,3\ndaigoman,1\ndororon_enma-kun,3\nkashiwagi_azusa,4\nprecia_testarossa,4\nnoveske_n4,1\nultimate_madoka_(cosplay),0\nkuri_(animejpholic),1\ndominator_(gun),0\nhover_vehicle,0\nnisego,1\ncarp,0\narawi_keiichi_(style),0\nyatsu_murasaki,4\nkeith_claes,4\nizumi_kanata,4\nhammerhead_shark,0\npillow_(nutsfool),1\nartery_gear,3\nhemo_(hemoroda),1\nkurebayashi_juri,4\nsingle_elbow_pad,0\npatrat,4\ndore_(gilles_dore),1\nkaijumilk_(milkchaotea),1\nsenoo_aiko,4\nyoshikita_popuri,1\nmetallican,1\ndunbine,4\n3.14,1\ncommander_shepard_(female),4\nankle_flower,0\ngum_(jsr),4\namano_tora,4\nkurun_(kurun777),1\nlee_sin,4\nsuper_mario_sunshine,3\nandrewcockroach,1\nsuzumiya_haruhi_(young),4\npaladin,0\naoi_ch.,3\nkumamon,4\nimmersed,0\nlinfi-muu,1\ngoshuushou-sama_ninomiya-kun,3\nheadband_removed,0\nsuzushi_moruto,1\njewelry_bonney,4\nshiitake_(love_live!_sunshine!!),4\nkamuo,1\norgan_(instrument),0\nclover_earrings,0\ncamouflage_tank_top,0\ndeyuyama,1\nsatake_shougo,4\nwestern_parotia_(kemono_friends),4\nminutachi,1\nkajimakoto,1\nkureha_yuna,4\nparent_and_child,0\nakino_(princess_connect!),4\nambriel_(arknights),4\nrankasei,1\nxiaolang,4\nre:lief_~shin'ai_naru_anata_e~,3\nangelise_reiter,4\nfire_axe,0\ncamisole_pull,0\nluke_skywalker,4\nozu_yugurou,1\nmilim_nova,1\ngrimmelsdathird,1\nkajino_(aosansai),1\nhop3,1\nnorthern_goshawk_(kemono_friends),4\nnetamaru,1\nriyun_(halodark),1\nkamishiro_mai_(capti-no),1\nnakajima_ryou,1\nwinged_bag,0\n7lark,1\ndemon_pillar_(fate),4\nabyss_mage_(genshin_impact),4\ncapybara_girl,0\ncz75_(girls'_frontline),4\ntoratora_(nanahaba),1\ntiamat_(momokuri_mannen),1\nalgerie_(white_sand_paradise)_(azur_lane),4\nfujimaru_ritsuka_(male)_(mage's_association_uniform),4\nmarie_antoinette_(swimsuit_caster)_(second_ascension)_(fate),4\nrobo8,1\ntetsua_rei,1\nalternate_size,0\noono_mayu,4\nddt_(darktrident),1\ntakatun223,1\nribbon_girl_(arms),4\nfrappuccino,0\nbusou_shoujo_machiavellism,3\nasgore_dreemurr,4\nignite_module,0\nwash_cloth,0\ncheek_biting,0\npicket_fence,0\ncallan_(callancoe),1\nin_cage,0\nkazami_kazuki,4\nayatori_(aytr),1\ncoffee_grinder,0\nshize_(coletti),1\nresident_evil_revelations,3\nimpossible_vest,0\nkoomoi,1\nlyza_(made_in_abyss),4\nshaa,1\nmeasuring_cup,0\nwolksheep,1\nchibi_maruko-chan,3\nlewdkuma,1\noolay-tiger_(voice_actor),1\nhighleg_buruma,0\ncradily,4\nandou_tomoya,1\nkamisuki,1\ndisgaea_rpg,3\nyamashita_jiro,4\neden_(honkai_impact),4\nsitting_on_arm,0\nyamaguchi_satoshi,1\nburnt_food,0\nflower_tact,0\nichinose_(sorario),1\neun_(elsword),4\nmizuyoukan_(mikususannda),1\nthief,0\nweisuoxin,1\nnail_(hollow_knight),0\nhrothgar,0\nhime_granzchesta,4\nnijimura_keicho,4\nsabrith_ebonclaw,4\ndeep_aqua_mirror,0\nvittorio_veneto_(the_flower_of_la_spezia)_(azur_lane),4\nmuzuki_uruu,1\nzone_(artist),1\nabusoru,1\nun-known_(ninesix),1\nprincess_hilda,4\nhikosan,1\nashu,1\nippus,1\nmagician_(china),1\nbreast_sucking_through_clothes,0\nemoto_reishi,1\nevangelyne,4\nyakibuta_(shimapow),1\nayuanlv,1\ndetroit:_become_human,3\nfeli_(puyopuyo),4\nnana_(manaita_koumuten),1\namano_hagoromo,1\ncuivre,1\ndragon_ball_minus,3\nneshia_(tsaqif0309),1\nzhiyou_ruozhe,1\nmechrailgun,1\nkanae_(inorin05kanae),1\nvmat,1\nhoshimiya_mukuro,4\nfalconry,0\nalfyn_greengrass,4\nwani_(perfect_han),1\nlavender_panties,0\nsg_(esujii),1\nmore_more_jump!_(project_sekai),0\nfloette,4\ngukurosawa01,1\nanny_(yoai),1\nymd_(holudoun),1\nkusari_hime:_euthanasia,3\nsaitou_chiwa,4\nmole_on_leg,0\nmurakami_natsumi,4\namesawa_mokke,1\ntorotei,1\ntakada_akemi,1\naisaka_sayo,4\ndive_to_zone,3\nthomas_the_tank_engine,3\ndouble_insertion,0\nshigurio,1\ncockatoo,0\nogami,1\ndef_(chronowarld),1\ncaracal_ears,0\njedah_dohma,4\nken_marinaris,4\nnakajima_youko,4\nakazaki_yasuma,1\nmem,1\nmaitou,1\nsaturndxy,1\nshirane_taito,1\npirates_of_the_caribbean,3\nhoe-l,1\nyokkora,1\nyakumo_ran_(cosplay),0\nhirooka_masaki,1\nmagnezone,4\nsui_(petit_comet),1\nchiriko_(atlanta),4\nshimakoma,1\nputon,1\nunicorn_gundam_banshee,4\nhurdle,0\njin_nai,1\novelia_atkascha,4\nshiro_albino,1\nedward_newgate,4\neien_no_sai_tori,1\nmay_chang,4\nissho_ni_training,3\nkage_houshi,1\ngears_of_war,3\nkiyoura_setsuna,4\nblue_moon,0\n78rr,1\nsangou_shizuku,4\njito_mesuki_nitouhei,1\n16_ban,1\nelectivire,4\nnaoko_(naonocoto),1\nsiqi_(miharuu),1\nrevali,4\npuffy_lips,0\nrookidee,4\ntooya_daisuke,1\naoi_yun,1\nbullet_bill,4\nproject_krone_(idolmaster),0\nmilin_(orange_maru),1\nhoshi_rasuku,1\nbeyond_the_vibes_(idolmaster),0\nisabelle_(shadowverse),4\neisuto,1\nuguisu_kagura,1\nsterkenburg_cranach,4\nsadida,4\nsvc_chaos,3\nc8oyk,1\nnatsuba002,1\nptrd-41,0\nkerorira,1\nbuntan,1\nelise_(league_of_legends),4\ncacturne,4\nchikujouin_magane,4\nunkempt,0\nhanshin_tigers,3\ncum_in_bowl,0\naki_eda,1\ndotsuco,1\ncarcano_m1891_(girls'_frontline),4\nken-ji,1\nhand_on_goggles,0\naq_sipd,1\nlalah_sune,4\nshiba_yuuji,1\npapico_(ice_cream),3\nblue_angel,4\nsailor_star_fighter,4\nto@st,1\nmouth_piercing,0\nmikogami_riko,4\nshinopoko,1\n8_(yamalu),1\nmisako_(kunio-kun),4\nsahara386,1\nseascape,0\ndevil_(housamo),4\nn2midori,1\npsd_available,5\nsee-through_bra,0\nkururi,1\njohn_(a2556349),1\ne=mc2_(mosimosi),1\nmatsuo_yukihiro,1\nstraizo,4\ndungeon_toaster,1\nyuki_(asayuki101),1\nmoro_no_ichizoku,4\ntsukuyomi_ai,4\nhataraki_ari,1\nmidare_toushirou_(kiwame),4\nclear_card,0\nokawaii_koto,0\noxygen_(0220),1\ntangrowth,4\nshiron_(shiro_n),1\nall-out_attack,0\nekaterina_kurae,4\nsuper_mario_world,3\nishizu_ishtar,4\njapanese_otter_(kemono_friends),4\nxox_xxxxxx,1\nambulance,0\nblsh,1\njosie_rizal,4\nqinshi-ji,1\ntropical_liquor,3\nriyo_(aokiwazumi),1\nyotsuboshi_academy_uniform,0\nincoming_call,0\nsakakura_(sariri),1\nfukushima_masayasu,1\nkumehara_chiyota,1\nsenjou_no_valkyria_4,3\nblazer_removed,0\ncollaboration_request,5\ndoppel_(monster_musume),4\ntheodor_bachstein,4\nde_da_xianyu,1\nqueen_of_sunlight_gwynevere,4\ncaptain_syrup,4\nki_(druaga),4\nkurahashi_riko,4\ngatchapowa,1\nkaiki_deishuu,4\nbug_bite,0\nyarizui_sen,4\nhima_(mizu_ni_tsuyoi),1\numi_(srtm07),1\ntakuan,0\nmuramasa_mikado,1\nxude,1\nkyouichi,1\ntakamatsu,4\ntaki_eri,4\nsb_(coco1),1\nworld's_end_dancehall_(vocaloid),3\nkiana_kaslana_(divine_prayer),4\nmoriyama_shijimi,1\nlanding_gear,0\nyuzuki_yukari_(onn),4\ntower_of_god,3\nfan_over_face,0\nyaise,1\nchuzenji,1\ndimension_witch_(elsword),4\nkida_yuu,1\nouroboros_(granblue_fantasy),4\nofficer_caitlyn,4\nseto_(asils),1\nkarakuzu_red,1\nluck_&_logic,3\nkine-c,1\ngawr_gura_(cosplay),0\nkitchen_hood,0\nqtian,1\nnoiz,1\nyamato_(kancolle)_(cosplay),0\nfusou_kai_ni_(kancolle),4\nnishino_eri,1\nkonpotsu,1\nhatsune_negame,1\nmiho_(last_origin),4\nburger_hair_ornament,0\njean_(gunnhildr's_legacy)_(genshin_impact),4\necclesia_(yu-gi-oh!),4\naida_yuu,1\nuzukinoko,1\nishimari,1\nseraphim_(kore_wa_zombie_desu_ka?),4\nmia_flatpaddy,4\ngengoroh,1\nladybug_(character),4\numeboshi_(lazy_lazy),1\ntsukimonogatari,3\nfujiki_maka,4\nchiroron,1\nkazuhiro_(tiramisu),1\nntk_(7t5),1\nxia_you_qing,4\nfujisaki_shiori,4\nursica,1\nyamanbagiri_chougi,4\ntakami_akio,1\nnot_for_sale,0\narrow_print,0\narctic_fox_(kemono_friends),4\nparty_horn,0\nkamen_rider_saber_(series),3\nmiyakawa106,1\nkouyama_mitsuki,4\ntamayume,1\npov_dating,0\nmaribelle_(fire_emblem),4\nmilk_(cookie),4\nkobayashi_nyoromichi,1\nyukimura_tsubame,1\nvo1ez,1\ndrayden_(pokemon),4\ntira_misu,4\npixiv_fate/grand_order_contest_1,3\ninui_shinju,4\nnatsuya_(natuya777),1\nkon_futaba,4\nkitsune_udon,0\nsuzuna_(princess_connect!),4\nichijou_(pani_poni),4\nmaggi,1\ndan-98,1\nasakura_kukuri,1\ntorajimaneko,1\ngager_(girls'_frontline),4\nnekomimi_kanon,1\ndm_(dai_miao),1\njagd,1\nfrozen_lake,0\non_plate,0\nanoa,1\ntian_guan_ci_fu,3\npolt,4\nkusahagane,1\nblue_corset,0\nkanyoko_(yuzukano_17),1\nasoka,1\nsonchi,1\nkitagou_fumika,4\nsora_(silent_square),1\nlitra_(ltr0312),1\ntake_(illustrator),1\nichino_tomizuki,1\nmaid_leotard,0\nred_lipstick_tube,0\nyamaguchi_kisaragi,4\nlili_mdoki,1\nvalkenhayn_r._hellsing,4\nvietnam_war,0\nshitou,1\nkatsura_masakazu,1\nchinyan,1\nbrush_(medium),0\nin_sack,0\nschwarz_(skyline)_(arknights),4\nkay_(utd),1\nisuzu_(log_horizon),4\nhobby_(azur_lane),4\nuno_(nanoha),4\ntwoframe,1\nmori_airi,1\noriana_thomason,4\nkankito,1\nozu_kanon,4\ni-402_(aoki_hagane_no_arpeggio),4\nyukimi_unagi,1\nmonaka_(siromona),1\nohashi_(hashidate),1\nkijinaka_mahiro,1\ny.i._(lave2217),1\nkoketsu_(koketsu-ya),1\nleotard_lift,0\ntora_tentei,4\nsentouin_hakenshimasu!,3\napple_ringo,1\nami_(orenchi_no_maidosan),4\nhirofumi_(orenchi_no_maidosan),4\nkotohara_hinari,4\nmishuo_(misuo69421),1\npish,4\nmoa_(show_by_rock!!),4\nhakomaru_(pandora_box),1\nyurun,1\nporkjinta,1\nakisoba,1\ndeogho_(liujinzy9854),1\nkyoichi_(live_a_hero),4\nhyde_(under_night_in-birth),4\nokano_kei,4\nusaslug_(tsukumo_sana),4\nnortuet,1\ndateko,4\nfunada_kiito,4\nmg42cat-k1ng,1\nmilitary_coat,0\nedmond_(nu_carnival),4\nchildhood_friend_(ominaeshi),4\nhatsune_miku_(vocaloid3),4\nartoria_pendragon_(swimsuit_ruler)_(fate)_(cosplay),0\nfantongjun,1\nmyowa,1\ncure_la_mer,4\nnatsuki_mikuru,4\nkurusugawa_serika,4\ngriseo,4\nfinger_horns,0\nbara_(03_bara_),1\ngundam_arsenal_base,3\nhands_on_own_shoulders,0\nhands_under_legs,0\nazmodan,1\nsuzuneko_(yume_no_kyoukai),1\nizumo,3\nkeihh,1\nrauto,1\nsaine,1\nsumomomo_momomo,3\nbehoimi,4\nkon,4\nkonohana_hikari,4\nunicycle,0\nsugiura_midori,4\nkurusu_tomari,4\nyada_ei,1\nprecis_neumann,4\nlich,0\nklonoa,4\nnona,1\nsharing,0\nishida_uryuu,4\nshoji_sakura,1\nyukihiro,1\nearthworm,0\nmako-chan_(minami-ke),4\nmuseum,0\nspinda,4\nisya,1\nomastar,4\nporsche,0\nyokohachi,1\nkriem,4\nshino-o,1\nmono_(recall),1\nloggy,1\nshimotsuki_keisuke,1\nmorisoban,1\nurubida,4\nevolutionary_stone,0\nkoumo,1\nhinooka_shuuji,1\nsayu030b,1\nhiga423,1\nsei000,1\nbroken_cup,0\nyoshizane_akihiro,1\nvetina,1\ndarmanitan,4\neichisu,1\naikawa_ruru,1\npikachi,1\nlovely_x_cation,3\nhoppe_illust,1\nchikugen_shiina,1\nhishigata,1\ntansan_daisuki,1\nan-telin,1\noribe_shiori,4\nzebrablack,1\nid_:invaded,3\nannytf,4\nkujira_hebi,1\ncomiket_88,3\nwallace_pires,1\nkarasuma_chitose_(girlish_number),4\numeno_ryuuji,1\nspinarak,4\nfal_(fal-se-0),1\ncat_stretch,0\nnasus,4\nyudaoshan,1\nhasaha,4\nspace_invaders,3\npetelgeuse_romaneeconti,4\nmarufuji_ryou,4\ncra,4\nbritish,0\nbusujima_(kusahana),1\nmight_guy,4\nprophet_chu,1\ntwogie,1\nmirufui,1\nballet_boots,0\ntenryuu_(kancolle)_(cosplay),0\nkuroshiro00,1\nrbx_lamen,1\nuroko_(mnr),1\nmahou_shoujo_lyrical_nanoha_reflection,3\nnatsuko_(bluecandy),1\neiji_(monochromexd),1\nenomoto_hidehira,1\nchunrijun_(springer),1\npronghorn_(kemono_friends),4\nmahou_shoujo_ikusei_keikaku_limited,3\nortfine_fredericka_von_eylstadt,4\nazura_cecillia,4\nsaren_(real)_(princess_connect!),4\ngnai,1\nyaoyao_(genshin_impact),4\njane_t._godfrey,4\nmisaka_(missa),1\nfujimaru_ritsuka_(female)_(mage's_association_uniform),4\nkokkoro_(ceremonial)_(princess_connect!),4\nshinei_nouzen,4\nasmodeus_(shinrabanshou),4\naa-12,0\nurita_(vivivinicol),1\nmilk_puppy,1\nukrainian_flag,0\nasai_miki,4\nac130,1\nmikipa,1\nchamu_(chammkue),1\nrenkon_(s36tereste),1\nfood_on_hair,0\nao_iro,1\ngaelio_bauduin,4\nogre_(granblue_fantasy),4\nfuuga_(perv_rsity),1\noctotrooper,4\nastrologian_(final_fantasy),4\nakitsuchi_shien,1\nmad_max:_fury_road,3\nmyuto_(advent_retribution),1\nli_sakura,1\nsaint_seiya:_the_lost_canvas,3\nmikagami_ei,1\ntipo_(tipoplaza),1\nriuichi,1\nrouge_(makeup),0\nyue_(lov_n_n),1\nyuasa_hiromi,4\nhappiny,4\nandy_bogard,4\ndirty_deeds_done_dirt_cheap,4\nwaramori_fuzuka,1\nmiso_(b7669726),1\ncurry_gohan,1\nchest_mouth,0\nblack-headed_ibis_(kemono_friends),4\nllama,0\nabaraya,1\nuranus_symbol,0\nhimuhino,1\np2_(uxjzz),1\nmulticolored_bowtie,0\nuisu_(noguchipint),1\npanty_gag,0\ncaiman_pool,1\njuly_(darker_than_black),4\nfilia_ul_copt,4\nsteelblue_mirage,3\nh.carrrrrrot,1\namano_megumi_wa_suki_darake!,3\nporupurucha,1\npeach11_01,1\nred_tube_top,0\ntarayuki,1\nvolyz,1\nauui,1\nkaraage,0\nanal_ball_wear,0\nmanabe_jouji,1\nqueen_(band),3\nwhite_towel,0\nwolf's_gravestone_(genshin_impact),0\npoorly_translated,5\ngalarian_rapidash,4\nmenotama,1\nkarakuri_musha,1\nreptile_boy,0\nmatou_sakura_(fate/extra),4\nengage_kiss,3\ndragon_arm,0\nninjask,4\natom_(tetsuwan_atom),4\ngrimmjow_jaegerjaquez,4\nsaotome_mary,4\nprice_list,0\nwk_(low-f),1\nuki_violeta,4\ntamiya_incorporated,3\nradar_dish,0\nfennel_(pokemon),4\ngouda_toshirou,4\nohara_michiru,4\nmetallica_(majo_to_hyakkihei),4\ntsumi_guilty,1\nvolkswagen_beetle,0\nbanba_mahiru,4\ninfraton,1\nto-class_light_cruiser,4\nkawa_mura,1\nmiya_ur,1\nshiroma_(mamiko),1\nyashichii,1\nhat_leaf,0\nmutou_hana,4\natelier_shallie,3\nregition,1\ntakahashi_umori,1\naimitsu_(ibityuttyu),1\nsnake_boy,0\nniko_p,1\nfur-trimmed_choker,0\npon_(0737),1\naction_taimanin,3\nkaruizawa_kei,4\nverta_(verlaine),1\nkomugi_(lee),4\ndurin_(arknights),4\nruin_re_birth,1\nzero_two_(kirby),4\npink_nightgown,0\nmonteriakitto,1\nai-chan_(honkai_impact),4\ncrownslayer_(arknights),4\nkanoe_(gallery_walhalla),1\ncassiopeia_(league_of_legends),4\nartoria_pendragon_(alter_swimsuit_rider)_(fate)_(cosplay),0\nfuooooo,1\neo_masaka,1\nblack_bridal_gauntlets,0\na.t._zero,1\nblack_lilith_(last_origin),4\naura_bella_fiora,4\nmixing_console,0\nshiina_mafuyu,4\nmakihara_shiho,4\nzaku_ii_f/j,4\nshirosame,1\ntiffany_lords,4\nabenobashi_mahou_shoutengai,3\nst+1,1\ntakadoya,1\ntabris,4\nrocking_horse,0\nmini_cooper,0\ncodename:_kids_next_door,3\nuki_(room_405),1\nxiaji,1\nechoes_(stand),4\nirusu,1\nmiya_(hooooo),1\nmage_(7th_dragon),4\nonna_kishi_(maoyuu),4\n74_(teduka),1\nko-on_(ningen_zoo),1\ntayako,1\nalbert_wesker,4\npokka,1\nsuzune_rai,1\nujikintoki_ginka,4\nhajike_akira,1\naikawa_arisa,1\nuesaka_sumire,4\ncoupe50,1\nhanpen,1\nchachie,1\naosora_neko,1\nnanami_mami,4\npride_(fma),4\nribbed_gloves,0\nliebe,1\nswellow,4\nblitzle,4\nnishigaki_nana,4\namano_megumi,4\nlowlight_kirilenko,1\nmerrytail,1\naoki_shin,1\nmorimiya_masayuki,1\nryuuguu_komachi_(idolmaster),0\nsuccubus_(disgaea),4\nkomusou_(komusou1),1\ngunbuster,4\nkagari_(rewrite),4\nkayune_niu,1\nldl,1\ngomamon,4\nmoyui_(myi_005),1\nio_(code_vein),4\nspyglass,0\ndark_willow,4\ntetsu_tissue,1\nmaximilian_jenius,4\nsk02,1\ncolor-coded,0\nquina_quen,4\nmikami,1\nunbirthing,0\ni_want_you,3\npinzu,1\nlegskin,0\nkaguura_(kagu),1\nfule,1\nwaterswing,1\nkhalitzburg,1\nshima_(pepekekeko),4\nsjw_kazuya,1\nholding_bullet,0\ntailtiu_(fire_emblem),4\nblack_battler,4\ncrested_porcupine_(kemono_friends),4\nsawashiro_miyuki,4\ntaira_no_kagekiyo_(fate),4\nfalinks,4\nnewey,1\nbakuhatsu_bros.,1\nnuernberg_(azur_lane),4\nnatsushiro,1\nkiyose_akame,1\nmonoto,1\ncharlotte_izoard,4\nagovitch,1\nhighleg_shorts,0\nhomura_hinase,1\nfukurahagi_uomaru,1\nminato_aya,4\nminowa_sukyaru,1\nnose_pads,0\ndenpa_(denpae29),1\nkaoru_(alicemakoto),1\ndeathlock-san,4\nwaffen-ss,0\nmironomeo,1\nsaiki_kusuo,4\ncheek-to-breast,0\nhosoo,1\nharuka_shiya,1\nzarutsu,1\ntsukigami_chronica,1\nhato_kenjirou,4\nshaga_ayame,4\nhiichisato,1\nhiyopuko,1\nrowing,0\nkimura_ryu,4\nkimuwaipu,1\nasterisk_(asterism),1\nshark_boy,0\ngulim,1\n1996,0\nwataichi_meko,1\nningyo_hime_(sinoalice),4\nmonster_hunter_mezeporta_kaitaku-ki,3\nnabenko,1\ntutou_jiang,1\narts_shirt,0\nmenna_(0012),1\ntapris_chisaki_sugarbell,4\nzeniyan,1\nojay_tkym,1\name_(ame025),1\nyasaikakiage,1\nunidentified_nk,1\nsyurimp,1\nguttia,1\ng28_(girls'_frontline),4\nandrew_(duel_angel),1\ntakamachi_nanoha_(cosplay),0\nnomayo,1\npetal_print,0\nelena_trafalgar,4\nlloyd_bannings,4\nmissouri_(warship_girls_r),4\nyulie_ahtreide,4\ntoxtricity_(low_key),4\nchijo,0\npaintedmike,1\nluna_(mi-chanman),1\ndmsco1803,1\ndubwool,4\ngundam_seed_astray,3\nlunch_boxer,1\ntomono_rui,1\nmarluxia,4\ngaia_memory,0\nhitchhiking,0\nckst,1\nnagata_gata,1\nblue_cat_(precure),4\nrff_(3_percent),1\ntaroumaru_(genshin_impact),4\ntoxel,4\nnekou_izuru,1\nlace-trimmed_bow,0\nasanaka_yomogi,4\nsonia_(p&d),4\nyuki_kawachi,1\nblack_bean,1\nteam_spica's_trainer,4\naimaina,4\nhina_misora,4\nlodbyy,1\nmoruta_(sunu-pio),1\nasakura_you,4\nwarwick,4\nsanmoto_gorouzaemon,1\nrabirin_(precure),4\nfumika,4\nwing_gundam_zero_custom,4\ndark_matter,4\nhoukisei,1\ntakagi_hideaki,1\ncaenis_(swimsuit_rider)_(first_ascension)_(fate),4\nsnowflake_choker,0\nrororogi_mogera,1\nslayers_try,3\nvitaminechan,1\nasou_misaki,4\nmumu,1\nlightning_bolt_earrings,0\nyang_wen-li,4\nfe_(tetsu),1\nscreenshot,5\nstrawberry_bra,0\ntimer,0\nmuninshiki,1\nkimura_neito,1\ntorracat,4\nstuffed_cow,0\nliving_weapon,0\nself-propelled_artillery,0\nhanabi_(ocha),1\nlavi,4\nsaotome_genma_(panda),4\nmiso_panda,1\nsaibai_shounen,3\nshutter_shades,0\njiro_(ninetysix),1\ntooku_nomura_(artist),1\nyoshioka_saki,4\noinari_(tensaizoku),1\nfishing_lure,0\nwynaut,4\nmunou_na_nana,3\ntied_jacket,0\nyonah,4\nmizuki_maya,1\nnga_(ray_ray),1\nwendy_o._koopa,4\nuran_(uran-factory),1\nadjusting_collar,0\nirodori_(irotoridori),1\nmarcy_(chrono_cross),4\ndakunesu,1\nkatou_itsuwa,1\nponpon_(ponpon62126),1\nbnc_(bunshi),1\nniwakaame_(amayadori),1\nadmiral_arisugawa,4\npikomint,1\nmelleau,4\nerina_(rabi-ribi),4\nmuramura_hito,1\nsuzushiro_(gripen39),1\nlorem_(mazohaha),4\nchiyoko_(tykchiyo),1\nmarie_antoinette_(alter)_(fate),4\nprint_male_swimwear,0\nnicporim,1\nsuper_mecha_champions,3\nmeredy_(tales),4\nleonardo_da_vinci_(swimsuit_ruler)_(fate),4\niwahana,1\nmila_(doa),4\nslavya-chan,4\nthe_beatles,3\narlonn,1\nsakuma_tsukasa,1\nduosion,4\nkawakami_tomoko,4\ndabuki,1\nsakurano_kurimu,4\nvococo,1\nformula_one,3\npolishing,0\nlee_ji-eun,4\npohwaran,4\ncarleen_(alchemy_stars),4\ngreedent,4\npokan_(xz1128),1\nglados,4\nno_image,0\ndevola,4\nmighty_yukiko,4\nunabara_mitsuki,4\nelectrostimulation,0\nsakura_sakura,3\nhayashi_sakura,1\nboken_fantasy,1\nflower_(vocaloid3),4\nhonda_futayo,4\njuugoya_neko,1\nlondon,0\notoo_(izanagi),1\ntentomon,4\nrayno,1\nanpanman_(character),4\nalice_(queen's_gate),4\ncencoroll,3\nbeen,1\nsendou_yukari,4\n.hack//link,3\nriki6,1\nrend,1\ntrance_tina_branford,4\nwilma_bishop,4\nmuranisaki,1\nsaix,4\nsetsuko_ohara,4\ndark_magician_girl_(cosplay),0\njuke,1\nmicrospace,1\nshirazumi_lio,4\naozoraichi,1\nsuzuka_hime,4\nshimura_tae,4\ntakashima,1\ninternet,0\nhijiri_myouren,4\nkrabby_(artist),1\naouma,1\nmanticore_(monster_girl_encyclopedia),4\nytoy,1\nsunimu,1\nthe_last_of_us,3\nexcadrill,4\nhyuuga_(aoki_hagane_no_arpeggio),4\naoguu,1\nkirisame_ga_furu_mori,3\nyuuki_mix,1\njennifer_walters,4\nluna_(sailor_moon)_(human),4\nfumi11gou,1\naritsuno,1\nkuramochi_kyouryuu,1\nshiroobi_(whitebeltmaster),1\nernesto_de_la_cruz,4\nlarten_crepsley,4\nmiri_(cherryjelly),1\nkatanakko_daisuki,1\ninhabituels,3\ndamenaito,1\nslayer_of_demons,4\nnanami_(suikoden),4\nshirow_(mha03133),1\nshiraishi_(siraisi00),1\nage_conscious,0\nenemy_vessel_(warship_girls_r),4\nleilin,1\nyamato_tachibana,1\nsekka_(kageshio),4\nbagelbomb,1\nwiz_anniversary,3\nsky_striker_ace_-_raye,4\nditienan_ddn,1\nacesrulez,1\nd.o.c._health_drone,4\nfront_braid,0\nmochi_(k620803n),1\nyukari_(princess_connect!),4\nstare_down,0\nchinese_armor,0\near_focus,0\nchela77,1\nmisaki_(princess_connect!),4\nnanto_yaya,4\ninari_(ambercrown),1\npenis_and_testicles_touching,0\nblue_rose_sword,0\nbronya_zaychik_(wolf's_dawn),4\nwasabi_(wasalongt),1\nkotetsu_isane,4\nblue_delmo,4\nchikuma_(azur_lane),4\nsousou_no_frieren,3\nemma_sheen,4\nstunfisk,4\nmifune_ryuuko,4\nthe_hermit,1\nokakasushi,1\ntia_(cocorosso),1\ndeutschland_(service_time?!)_(azur_lane),4\ntatsuki_(irodori)_(style),0\nkanpyou_(hghgkenfany),1\nnitaka_(fujikichi),1\nsavanna_striped_giant_slug_(kemono_friends),4\nash_ketchum_(cosplay),0\nmellozzo,1\nquasimodox,1\nchan1moon,1\ndartrix,4\nbarred_window,0\nsaku_(saku1151),1\nmitsu_(tendou_itsuki),1\n0_(znanimo),1\nbartholomew_roberts_(fate),4\nxiang_yu_(fate),4\nyamaiwa_shuuhai,1\nkunugi_miyaco,1\nterazaki_kaoru,4\npvc_parfait,1\nhisuian_decidueye,4\nmedb_(swimsuit_saber)_(second_ascension)_(fate),4\nfairy_knight_lancelot_(first_ascension)_(fate),4\nbianca_(pokemon_heroes),4\nprecum_through_clothes,0\nheles_(summer)_(granblue_fantasy),4\ndead_spike,4\nzipping,0\nnito_(siccarol),1\nshindou_sugata,4\njupiter_(idolmaster),0\nmaximal,0\ncliffjumper,4\nkoujiro_frau,4\nhex_grid,0\nzefa_(neoaltemice),1\ntakenaka_hanbee_(oda_nobuna_no_yabou),4\nperagura,1\nvanquished_queens,3\nkurosawa_tetsu,1\ntoichi_(ik07),1\nmuromi-san,4\ndonutman,1\nmaria_(syake-uni),1\ncia_(hyrule_warriors),4\nmacaronk,1\nronopu,1\nluna_(konosuba),4\nwheel_o_feet,0\nwave_(world_wide_wave),1\nshira_yu_ki,1\nk_(sktchblg),1\nm_mance,1\nhullabaloo,1\nkotowari_(newtype_kenkyuujo),1\nomuraisu_echizen,1\nglalie,4\nblackberry_(fruit),0\nashraely,1\nf91_gundam,4\nrazy_(skuroko),1\nmother_1,3\nkamisama_dolls,3\nseffyna,4\nmenstrual_pad,0\ntext_print,0\nsuiten_nikkou_amaterasu_yanoshisu_ishi,0\nlove_guitar_rod,0\nnoeejang,1\ndoruji,4\ninvisible_wall,0\noyabun_(higashi),1\namajiki_tamaki,4\nyuma_(coffee-milk-moumou),4\nbuild_driver,0\nsenzoc,1\nluminous_witches,3\ntrain_(clothing),0\naochoku,1\ngc3,1\nfrillish_(male),4\ngrizz,1\nclosed_labcoat,0\nireading,1\nwikipedia,3\nstaple,0\nshino_sto,1\nyoumu-kun,1\npopola,4\nmountain_dew,0\nharuki_reimari,1\nmarco_bodt,4\nng_knight_lamune_&_40,3\nu-81_(azur_lane),4\nrisshu,1\nchin,0\nhizashi_no_naka_no_real,3\nkuramoto_takato,1\nmoon_rabbit_extra_(touhou),4\ntouki_matsuri,1\nweshika,1\nkamo_(gafas),1\noisin,1\nshiomi_(lowrise),1\nphantom_of_inferno,3\nigarashi_youhei,1\nsatou_hina_(kamisama_ni_natta_hi),4\ntomoe_gozen_(traveling_outfit)_(fate),4\nparacelsus,4\nkilva_lollop,1\nfemale_titan,4\nameya_nihachi,1\nsyokuuuuuuuuumura,1\nevulchibi,1\nbullet_necklace,0\nstudiolg,1\nichinose_kaede,4\ncosmic_bear,1\nkouka_(mrakano5456),1\nchoco_chip_(ekitai_idou),1\nsindri,1\nritao_kamo,1\nkurimochi_chizuru,1\nnagata_nagato,1\nerospanda,1\nturiganesou800,1\nbedroll,0\notono_fei,1\naioi_u,1\nnamori_(style),0\notsumami_(otsu-mugi),1\nhosomitimiti,1\nbismarck_(beacon_of_the_iron_blood)_(azur_lane),4\ndesco_(disgaea),4\nfreddy_fazbear,4\ndestiny_(game),3\nduck_(duck_hunt),4\npig_(kemono_friends),4\nyonebayashi_saiko,4\ndai-erie,1\nzenos_yae_galvus,4\nscavenger_(arknights),4\nhare_(blue_archive),4\nurban_legend,0\nbeats_by_dr._dre,0\ninhabituels_estudios,1\nfubuki_(blue_archive),4\ntomoe_marguerite,4\nsonri,1\nelizabeth_bathory_(brave)_(fate)_(cosplay),0\ntamaso,1\nargyle_sweater_vest,0\ntallinn_(azur_lane),4\nexplosion_gag,0\ngavel,0\nlan_hikari_(mega_man),4\ntiko_(trouble_spirit),4\nshirow_(crazy),1\nkill_bill,3\nclair_lasbard,4\nyoshida_ayumi,4\nsarah_bryant,4\npegasus_seiya,4\nkaho_(sister_princess),4\naihara_nana,4\nberry's,3\ncontact_lens,0\nblack_star,4\ndanshaku,1\ntoy_story,3\nshokkin,1\nashita_no_kimi_to_au_tame_ni,3\nplug_gag,0\nzz_gundam,4\nbronzong,4\nbyu_(orihazuma),1\nuesugi_kenshin_(rance),4\nliquid_snake,4\nakaneyu_akiiro,1\nnyoriko,1\niku2727,1\nhanamuke,1\ntakebi,1\nbalnom,1\nyurin_leciel,4\nstorm_attacker,0\nnosa_kouko,4\ntouken_ranbu:_hanamaru,3\nkamori_sayaka,4\nsubarashiki_hibi,3\ndoorbell,0\nmarnie_(omoide_no_marnie),4\nkeito_(keito-ya),1\nyutohiroya,1\ntita_russell,4\nthree_monkeys,0\nsellel,1\narato_hisako,4\ndani-ikapi,1\nmissarilicious,1\ncamerupt,4\nmoo_yoshio,1\nepi_zero,1\ndoro_(sabarudoro),1\nninnzinn,1\ndecoy00xx,1\nsegawa_izumi,4\nmedium_tank,0\ngrandmother_and_grandson,0\nhero_(dq1),4\nsp//dr,4\njanine_(pokemon),4\nmegami_paradise,3\ngobou_1000,1\nv_(devil_may_cry),4\nbreast_slap,0\neevee_tail,0\nnuka_(nukamochi),1\nnoa_(granblue_fantasy),4\numino_iruka,4\nkomi_(komiking),1\nsigilyph,4\nmoero!_justice_gakuen,3\nhanyae,1\ngirls'_frontline_commander_(xiujia_yihuizi),4\noyster,0\nhajime_no_ippo,3\nred_tie,0\npixel_heart,0\ntakuyarawr,1\nrheez,1\nsari,0\nbelt_chain,0\nkshatriya,4\nserizawa_chikaru,4\nricocheting,0\notaku_ni_koi_wa_muzukashii,3\nomnitrix,0\nrenown_(warship_girls_r),4\nyomotsuki_road,1\nsasaki_raito,4\nquarterlift,1\nseiren,3\nmetal_baseball_bat,0\nnamuna_(7th_dragon),4\ngunnjou_yosio,1\nmuromaki,1\nryuuji_teitoku,1\ngau_(n00_shi),1\nhibikino_high_school_uniform,0\nskirt_under_dress,0\nnana_(kemono_friends),4\nreindeer_(kemono_friends),4\nmaru_takeo,1\niris_amicitia,4\ncang_se_ye_hua,1\nkushidama_minaka,1\nmona_(genshin_impact)_(cosplay),0\ncamilla_(spring)_(fire_emblem),4\nberg-yb,1\nasukagawa_chise,4\nblooper_(mario),4\nyuna_(biya_(1024)),4\nivy_(sparrowl),4\namayadori-tei,1\nchen_hai_(vestibule_of_wonders)_(azur_lane),4\nminamoto_no_raikou_(swimsuit_lancer)_(third_ascension)_(fate),4\nslavic_clothes,0\nxiao_qiang_(overseas),1\nbeach_house,0\nnew_super_marisa_land,3\nojiri_shin'ya,1\nelf_all-stars_datsuijan_2,3\nis-2,0\nbladder,0\nnagai_gojitsudan_no_nechronica,3\netou_misaki_(idolmaster),4\nclothes_on_bed,0\nyabu_q,1\nlord's_blade_ciaran,4\nmitsugi,1\nsugawara_koushi,4\nfallopian_tubes,0\nshometsu-kei_no_teruru,1\nshuragyoku_mami,1\nguild_girl_(goblin_slayer!),4\ntabby_cat,0\ndevil_mercy,4\nkj_(k777),1\nmorelull,4\nschierke_(berserk),4\nlaura_s._arseid,4\nramina_(baallore),4\nrope_around_neck,0\najimita,1\nooyama_imo,1\ndemon_(monster_girl_encyclopedia),4\nhenry_(fire_emblem),4\nnogiguchi_kohiro,1\nthe_elder_scrolls_iv:_oblivion,3\nnuneno,1\nhachachi,1\nmatsuo_yuusuke,1\ngreece_(hetalia),4\nshin_kawasaki,1\nhirano_masanori,1\nunused_character,4\namagai_yukino,1\nbasilisk_(manga),3\ntanino_gimlet_(umamusume),4\nininiro_shimuro,1\nmacchiato_(jae-min_cho),1\nlegomaru,1\numeki_otoha,4\nishiyuki,1\nlaundry_dragonmaid,4\nrebar,0\nelucidator,0\nmog,4\njpc,1\nkokkoro_(new_year)_(princess_connect!),4\ninumi,4\njinno_hikari,4\nsotto,1\nccccc_(jpn_m0),1\ngunparade_march,3\nolga_discordia,4\ntaketatsu_ayana,4\nnanna_(fire_emblem),4\nprincess_laura,4\nzinbei,1\nml,1\ndonkey_girl,0\nshindou_hikaru,4\nau_(d_elite),1\namemura_ramuda,4\nnyxerebos,1\nosmanthus_blade,0\nteruchan,1\npunto,1\nshaving_cream,0\nparyi_project,3\nphotocopier,0\nlubrication,0\nyukizumi_remon,1\ngin_(tttetu123),1\neiscue_(ice),4\ngift_between_breasts,0\nkakuzu_(naruto),4\nkuroneko_douji,1\nbangalore_(apex_legends),4\nyami_bakura,4\nump9_(shiba_investigator)_(girls'_frontline),4\nkeijo!!!!!!!!,3\nmoutama,1\nlyrical_lyric,3\nminawa,1\nrikui_(rella2930),1\nyuudachi_(shogun_of_snowballs)_(azur_lane),4\nedogawakid,1\nme!me!me!_dance_(meme),0\nbakugan,3\nsword_between_breasts,0\nlao_meng,1\ntorso_(hjk098),1\nhero_(dq7),4\nteeta_j,1\nhagiko,1\nblinkblink_art,1\ntype_97_(peony)_(girls'_frontline),4\nkiri_(sub-res),4\nmidorima_shintarou,4\nchabi_(amedama),1\nkamisa,1\nturretless_tank,0\nmadara_hio,1\nbell_tower,0\ntaiyaki_(astre),1\nhairclip_removed,0\nnagashii_kouhei,1\naoi_(princess_connect!),4\nlord_of_vermilion_iii,3\nishihara_saika,1\naer7o,1\nhoshiibara_mato,1\narapi,1\nyue_teitoku,1\ntosh_(imonade_ryouchou),1\ntiese_schtrinen,4\njuu_(juuzi),1\nkarpin,1\nsin_(kami148),1\ndudley,4\nbluekalmia,1\ncaffeccino,1\ngihuta_hiroshi,1\naikawa_(dorohedoro),4\npharamacom,1\nobserver_alpha_(azur_lane),4\nronisuke,1\namira_(shingeki_no_bahamut),4\nasuka_hina,4\nel_joey,1\nskyrail,1\njunekun,1\nnantaimori,0\njean_roque_lartigue,4\nwishiwashi_(school),4\ngorebyss,4\nspring2013,1\ndaewoo_k2,0\nizure_(pixiv16392012),1\nsovetskaya_rossiya_(the_lackadaisical_lookout)_(azur_lane),4\nkuchisake-onna,4\nyoutube_creator_award,0\nfallout_new_vegas,3\ncowengium,1\noriginal_race_uniform_(umamusume),0\nball_bra,0\nkaifuku_jutsushi_no_yarinaoshi_~sokushi_mahou_to_skill_copy_no_chouetsu_heal~,3\nyuli_(yulipo),1\nspace_ishtar_(first_ascension)_(fate),4\numbrella_stand,0\nofuda_on_head,0\nkatsu_(katsupainter),1\nsirius_(azur_lane)_(cosplay),0\nsaya_(scabbard),0\nyamaguchi_tamon,4\nmahou_shoujo_kazumi_magica,3\nrakujin,1\nmanji_taba,1\nharapeko,1\nremington_870,0\nkagano_ai,4\nsoyoking,1\npolitics,0\nmiyama-san,1\nebi_tendon,1\ntakanashi_sora,4\nmassan,1\ndirge_of_cerberus_final_fantasy_vii,3\npriscilla_(fire_emblem),4\nkayu,1\nripe-tan,4\nstrike_gundam,4\nsugisaki_miku,4\ngarun_wattanawessako,1\njacket_grab,0\nshumai_(sm318),1\nfortress,0\nshin_getter-1,4\ncharles_zi_britannia,4\nichino,1\npig_nose,0\nriela_marcellis,4\nhover_board,0\nvivi_(ac8231),4\nsprite_art,0\nkatou_yuuki,1\n;/,0\naka_kitsune,1\nchao_(sonic),4\nfurutani_kaede,4\ntapu_koko,4\nseiten_ragnarok,3\nshiromako,1\nhead_arms,0\ngundam_age-1,4\nkotsu,1\nitou_tatsuya,1\ncrossed_out,0\nshiba_yuusuke,1\nyonoisan,1\ntaro-k,1\nharumi_shinju,4\nmomo_(gundam_build_divers),4\npaper_mario_64,3\nbabydoll_t-shirt,0\nkemoyuri,1\ndark_illuminate_(idolmaster),0\nfurby,4\nmarching,0\ncioccolatodorima,1\ncabba,4\naohada_bocchi,3\nhero_shot_(splatoon),0\nreinhardtzar,4\nsasaki_(glass1138),1\nvectorek,1\nkimidori_(ico),4\ndonnpati,1\namano_yo-ki,1\nbook_of_the_azure_sky,4\nyandere-chan_(ramchi),4\npharos,4\nigor_(persona),4\nminatoasu,1\nleo_kliesen,4\nsumisumii,1\nnippori_honsha,1\nshimon_(31426784),1\nfrillish_(female),4\nnishihara_yasoko,4\ngold_teeth,0\nyukina_(yu_yu_hakusho),4\nminuspal,1\nmulticolored_scrunchie,0\nkosaka_shunpei,4\nsora_(no_game_no_life),4\nyadokari_(migihashi),1\nernesti_echevalier,4\ntouyama_sabu,1\nazit_(down),1\npeter_pan_collar,0\nsuigetsu_(watermoon-910),1\nleopard_(kemono_friends),4\nnakuta,1\npantograph,0\nmintol_(qool+),1\npeeing_in_cup,0\ntadd_(tatd),1\njoker_(stjoker),1\nthe_cold,1\nirukatto,1\nd.va_(overwatch)_(cosplay),0\nshiroi_hakuto,1\namber_(darker_than_black),4\nhappy_easter,0\ngaze_(thompon),1\nnumpopo,1\ntony_man+,1\nclaude_frollo,4\nurabe_michiru,1\nfujimi_suzu,4\nmig_(36th_underground),1\nsukone_tei,4\notomachi_una_(talkex),4\nmikeneko_(utaite),4\nkakuzatou_(satousatotototo),1\nkaribuchi_takami,4\nmakino_harumaki,1\nfive-seven_(cruise_queen)_(girls'_frontline),4\naneco_(westsea1227),1\njuuban_elementary_school_uniform,0\ntovio_rogers,1\nakumi_(yoclesh),4\nkunieda,1\nakizuki_(17769498),1\nfh_moya,1\nsekka_yufu,4\nlaurels,0\nflamenco_dress,0\nzundamon,4\ne_(you33ou),1\nghost_(tama),1\nelsa_maria_(madoka_magica),4\nmurata_himeko_(battle_storm),4\nbalance_(superdust),1\nnino_(sunaba_suzume),4\nmoja_(gibson),1\nf6f_hellcat,0\nohhhhhhtsu,1\n15k,1\njustrube,1\nraw_meat,0\nsakuraba_neku,4\nray.s,1\ncorrugatedrush,1\ngondom,1\nizuna_nie,1\nreaper_(tera_online),4\ngoat-chan_(enarane),4\ndonkey_(kemono_friends),4\ncosplay_pikachu,4\n13-gou,1\nkare_huang,1\nminfilia_warde,4\nfive_nights_at_freddy's:_security_breach,3\nknee_brace,0\nmax-k,1\nharuna_(azur_lane),4\nrorschach,4\ngrand_chase,3\nmatsuu_(akiomoi),1\nkurakumo_nue,1\ndraco_malfoy,4\nhirume_of_heavenly_incense,4\nmizutama,1\nomega_symbol,0\nkaniharu,1\nopen_poke_ball,0\ngominami,1\nblue_door,1\ninitial,0\naerosmith_(stand),4\ntorn_capelet,0\nnetherlands_(hetalia),4\nmaiqo,1\nholding_orb,0\nsumeragi_hakua,4\nnpcpepper,1\nmaster_(4th),1\nbellsaltr,1\nboiling,0\nkauru00,1\nze_(wzfnn001),1\nwhite_rope,0\nplaid_swimsuit,0\nyui_7,1\nmofumofu_(lorelei),1\nokitafuji,1\nenouchi_ai,1\nnatsuzuka-san_no_himitsu,3\ntwistedgrim,1\nbraco,1\nronpaxronpa,1\npak_ce,1\nyasuno_(airy_light),1\ntakitsume_shino,1\nsagara_riri,1\npink_clouds,0\nillustrious_(muse)_(azur_lane),4\nsuyohara,1\nyama_tatsuo,1\nvasavi_shakti_(fate),0\nasahi_(zabaniyan),1\nmakoto_(genshin_impact),4\narcher_(summer_casual)_(fate),4\nudaruyo,1\nyotsubato!_pose,0\naru_(citrine_drplt),1\npai-chan_(nao),4\nkh_(kh_1128),1\nshiroie_mika,1\nshihira_tatsuya,1\ntachikawa_ayaka,4\nherunia_kokuoji,1\nmukuba,1\nmelpha,4\ndead_rising,3\nkamon_rider,1\nlancet-2_(arknights),4\nishii_takamori,1\nzombification,0\nakitaru_oubi,4\nitsutsu,1\nfeng_mouren,1\nmigumigu,1\narikindows10,1\nnayuta69,1\nscarlet_witch,4\nminase_inori,4\nangelia_(girls'_frontline),4\nsatsuyo,1\nyuuhi_(cookie),4\nkawabata_yoshihiro,1\nkankurou,1\nmirimo,1\ngolduck,4\nbikkusama,1\nkuro_(tbm9187),1\nsafutsuguon,1\nyozora_(1wkdgusdn),1\nstrappado,0\nsewer,0\nkirika_towa_alma,4\nbeige_border,0\nnasipasuta,1\nfanbook,0\ndenchuubou,1\nsakura_taisen_ii,3\nunown_a,4\npantsu_majirou,1\nhershel_layton,4\nwatari1118,1\ndeadman_wonderland,3\nasle,1\na-ktoo,1\nsetta_shu,1\nkashiwagi_tsubasa,4\nfinnel_(ar_tonelico),4\ndokiyuri,1\nkanamemo,3\nmusashiya_chougenbou,1\nshiki_(samurai_spirits),4\nk.m.station,1\nnursery_rhyme,3\njuliona_trans,4\njon_henry_nam,1\nkurage,1\nhonda_masazumi,4\nchain_blades,0\nimi_tavor_tar-21,0\njinbei_(clothes),0\nyuya_(pixiv37335712),1\ncookie_clicker,3\nnatto_soup,1\nproduction_note,0\ntoriburi,1\niced_coffee,0\nkurokami_(kurokaminohito),1\nmadeline_(woofycakes),4\nkonami_kirie,4\ncheese_kang,1\ninha,4\nforrest_(fire_emblem),4\noswald_(odin_sphere),4\nmuzzuleflash,1\nhand_on_own_ankle,0\nitou_ittousai_(sengoku_bushouki_muramasa),4\nshise_(agepan),1\ntanjiu,1\nalisa_(kuro_no_sakura),1\nspirit_(super_smash_bros.),0\nhirosuke_(psychexx),1\nprince_of_wales_(warship_girls_r),4\njavelin_(beach_picnic!)_(azur_lane),4\nkawada_tomoko,4\nsoul_link,3\ntsubaki_(kunoichi_tsubaki_no_mune_no_uchi),4\nyashiro_nene,4\npotetos7,1\nsig_sauer_mpx,0\nteam_fortress_(series),3\nrotte_(1109),1\ngaze_on_me!_outfit_(umamusume),0\ngaiking,3\nputting_on_legwear,0\nha_ze,1\nnijiko_(c2cs4q),1\nw55674570w,1\nkurame,4\nharada_minoru,4\nshironekokfp,1\ndowncast_eyes,0\ndodojune,1\nfrederica_baumann,4\naqua_gemstone,0\nbandaid_on_thigh,0\nmiyata_gakuman,1\nnecono_(nyu6poko),1\nkasukabe_saki,4\n774_inc.,3\nsandbox,0\nmiyanokouji_mizuho,4\nmiura_rinaldi,4\nkagaya_miki,4\ntoweringman,1\nnaba_chizuru,4\nmouse_costume,0\nmisaki_shiki,4\nakitaka_mika,1\nnecktie_on_head,0\nsakihata_rimi,4\nonizuka_takuto,1\nmoriki_takeshi,1\nkudou_jun,4\nplus9,1\nromancing_saga_minstrel_song,3\ntr-6,1\nrakko_(makarakko),1\nkyundoo,1\nemiya-san_chi_no_kyou_no_gohan,3\nsu_guryu,1\nstar_night_snow_(vocaloid),3\nsanemichi_hajime,1\nsuzuki_puramo,1\nracing_miku_(2014),4\nursula_(takunomi),4\nym_(distance819),1\nnametakenoko,1\nnoda_shuha,1\ncracked_egg,0\noso-teki_kinoko_gijinka_zukan,3\nharutarou_(orion_3boshi),1\ncharlotte_pudding,4\nshake_sawa,1\nproton_(pokemon),4\nmujiha,1\nkoyukkuri,0\nmakaze_(t-junction),1\ngayprince,1\nhirasawa_minami,1\naoinu_(aoinu_99),1\ninnocent_red,3\nserving_cart,0\nnekonote_(nekono_paraiso),1\nivan_wang,1\nmale_spitroast,0\ngang_of_heaven,3\nsakumichi,1\nminttchocok,1\nkotori_(blue_archive),4\ntorinoko_(miiko_draw),1\nnetural,1\nbianka_durandal_ataegina_(valkyrie_gloria),4\npaladin_2_(sekaiju),4\nalpha_omega_nova,4\ncarmilla_(swimsuit_rider)_(third_ascension)_(fate),4\ntami_(nekoneto),1\ngochisousama_(tanin050),1\n94plum,1\nimo_bouya,1\npony_r,1\ninstocklee,1\nkyamu_(qqea92z9n),1\nhakuren,0\nriko_(sorube),1\ntomatomato_(tomato_kanzume),1\nutanone_shion,1\nshinovi,1\nnamanie,1\nbeige,0\n3d_rod!,1\ngigandal_federation,0\ndodonpachi_saidaioujou,3\nsakaki_natsuki,4\nruohire9,1\nios_(os),0\nginga_ojou-sama_densetsu_yuna,3\nclosed_game,3\nmomoko_(momoko14),1\npantsu-ripper,1\ntoad_(animal),0\nfuka_(kantoku),1\nsunagakure_symbol,0\ncandeloro,4\nosawari_tantei,3\nconqueror_of_shambala,3\nrinko_(mg54),1\nnurikabe_(mictlan-tecuhtli),1\nsomray,1\npreview,0\njikasei,1\nfrilled_innertube,0\nkarma_(league_of_legends),4\nlove_handles,0\nhonmakaina_kudou,1\nidk-kun,1\nryuu_(multitask),1\nstep_arts,1\nsejuani,4\nkatsura_harufumi,1\nmogeko_(okegom),1\nmajo_(pastamajo),1\ngeese_howard,4\ntarokennsann,1\nliang_cun_rakuna,1\nsilent_hill_4,3\nsasetsu,1\nkadota_kyouhei,4\ncastanic,4\nishikawa_sparerib,1\nhonkivampy,1\nyamigo,1\ngouda_takeshi,4\ngenderswap_(otm),0\n2001,0\napple_core,0\nkarisawa_erika,4\n1nilla',1\nmelting_halo,0\neightman,1\nkaga_sumire,4\nkemurin,1\npiyopoyo,1\nwatashiya_kaworu,1\ncastle_of_cagliostro,3\nfur-trimmed_bra,0\nskull_tattoo,0\ncubchoo,4\nyuuki_nae,4\npuk_(puk_2020),1\ntom_q_(tomtoq),1\nmk48_(girls'_frontline),4\nuraeus,0\nlittle_illustrious_(azur_lane),4\nchen_(cosplay),0\nholiday0606,1\noskar_vega,1\nhair_around_ear,0\nrewolf,1\nhissatsukun,1\nmurakumo_(senran_kagura),4\nscr.e,1\nwild_wet_west,3\nkintarou_(kintarou's_room),1\nspinning_bird_kick,0\ni0525,1\nmarco_rossi,4\narchstreal,1\ne-kingdom,1\ncress_albane,4\nnohara_misae,4\nsugiyama_nobuhiro,1\nre:rin,1\nmakino_tomoyasu,1\nyumemi_(kiowa),1\nkotora_(toranoana),4\nkeionism,1\nrenjouji_beru,4\nelenab,1\nkazuki_seihou,1\nyaeno_muteki_(umamusume),4\nshinra_tsubaki,4\nadachi_fumio,1\nflowers_(innocent_grey),3\ncoffeedog,1\nmintchoco_(orange_shabette),1\nkareha,4\ncontest_winner,0\nmokota_mememe,4\nbrave_frontier,3\nkongou_iroha,4\nhachita_(odangoya),1\nnameko_(osawari_tantei),4\nfuruhashi_chinatsu,4\nteddy_(lingerie),0\nkohaku_(dr._stone),4\nexcalibolg,0\nsaegusa_matsuri,4\nlove_r,3\nkasuka108,1\ncupid,0\nalice_liddell_(heart_no_kuni_no_alice),4\nnecrophilia,0\nyotsugi,1\nfundoshi_pull,0\n33_gaff,1\nafter_cunnilingus,0\ndiagonal-striped_skirt,0\nkotonoman,1\nmi_no_take,1\ndrill_ponytail,0\nd-ryuu,1\nfinal_fantasy_brave_exvius,3\nfujimaru_ritsuka_(female)_(decisive_battle_chaldea_uniform),4\nvent_(object),0\nsmelling_armpit,0\nfunii,1\nchipmunk_tail,0\nhands_on_own_neck,0\nchie_(ishikei),4\nkitazume_kumie,1\nnorth_carolina_(the_heart's_desire)_(azur_lane),4\nanimal_ears_(norankkori),1\nmisaka_imouto_10032's_cat,4\nlulu_(tales),4\nchibi_miku_(mayo_riyo),4\njoonghyuk_yoo,4\nsuicchonsuisui,1\nmarine_day,0\nmikogami_nagisa,4\nbubble_head_nurse,4\nwhite-brown,1\numeboshi,0\nqueen_bonjourno,3\nsaitou_yahu,1\nkouno_takaaki,4\nkusui_aruta,1\nautocannon,0\njon_taira,1\nhimuro_kane,4\nooike_teru,1\nisonade_orca,4\nclark_still,4\nmosuke,1\nsaber_01,1\nlix,1\ncaptain_freedom,1\nfugi_jis,1\nalternate_body_size,0\nmaya_(aoki_hagane_no_arpeggio),4\nmugi_(iccomae),1\n9aki,1\nharmaline,1\ndaitabashi_kinu,1\nshiira,1\nagasang,1\ntoono_yayoi,1\nchristie_monteiro,4\nsatoyasu,1\near_sex,0\ninoue_yoshihisa,1\ntigrex,4\nhidaka_mai,4\nhigata_akatsuki,1\nkidou_senkan_nadesico_-_prince_of_darkness,3\niwi_tavor,0\ncharro,0\nbartolomeobari,1\nreddit,3\nkishi_torajirou,1\ndragoner,1\nukke,1\nanima_(togashi),1\nkagaya_tsubomi,4\nkawasumi_ayako,4\nyasuri_nanami,4\nkyodairobo,1\npanipo,1\njyura,1\nmuteki_soda,1\nmikumikudance,0\nshimimaru,1\nrobot_cat,1\ndouble_arm_hug,0\nmumumu,1\nelectabuzz,4\nshenlong_(dragon_ball),4\nhanetsuka,1\nlumineko,1\nmetronome,0\ngothitelle,4\nplastic_wrap,0\nyuni_channel,3\nyuni_(yuni_channel),4\nkeinesandayoooo,1\nartemis_of_the_blue,4\ndrawn_tail,0\nmuse_dash,3\nlibe_(hentai_elf_to_majime_orc),4\nassassins_pride,3\nfear_kubrick,4\nyamikota,1\nhakamii,1\nnuudoru,1\nmario_(mario_portal),1\nbig_shine,1\nlulu_heika,1\nmani_oniniku,1\nlost_one_zero,1\nulti_(one_piece),4\nshiohachi,1\nprism_recollection!,3\nakana_rui,4\ndd_mayohara,1\ntoranoe,1\nkobayashi_kabura,1\nkoumajou_densetsu_1,3\nmisato_(summer)_(princess_connect!),4\nalkaid_(.hack//),4\nblooming_maiden's_june_pride_(umamusume),0\nmordred_(swimsuit_rider)_(second_ascension)_(fate),4\ntakopii_no_genzai,3\nnazo_kichi,1\nreinhard_van_astrea,4\naquila_(a_sip_of_sardegnian_elegance)_(azur_lane),4\nayame_iro_(toumei_dolce),1\nkazagumo_kai_ni_(kancolle),4\narlene_(ju),1\natago_(kancolle)_(cosplay),0\nmuku-chan_(muroku),4\npokemon_ability,0\name_(amechan17391739),1\ncojima,1\nunexistarts,1\nhjm,1\npapa-kun_(destiny549-2),1\npectoral_pillow,0\nlavender_shirt,0\nnemui_(nemui),1\nhissaa_(starlight_express),1\nsorairo_len,1\nark_survival_evolved,3\nbusiness_casual,0\nsealand_(hetalia),4\ngas_station,0\ncolombia_pose,0\nhead_kiss,0\nfeebas,4\n108,1\nend_breaker!,3\nsoneda_akane,4\nli_(rob_ishi),4\ntomcat_(moconeko),1\nye_fan,1\nkiki_(koikuchikinako),1\nnightmare_blood_(idolmaster),0\nwet_floor,0\nbikini_over_clothes,0\nkaranak,1\nsirurabbit,1\nli'l_judd_(splatoon),4\ng41_(beach_punk_2064)_(girls'_frontline),4\nthancred_waters,4\ndalachi_(headdress),0\nvolley-bu-chan_(tawawa),4\nasahi_(fullmetal_madness),1\npignite,4\nosandon,0\nsmoochum,4\nmiyuzu,1\nbaseball_stadium,0\nkirara_bernstein,4\nxo_(xo17800108),1\nscarf_grab,0\nhousou-chan,1\nsergestid_shrimp_in_tungkang,3\nmal_poi,1\nclaydol,4\nsinon_(solus),4\ntr_(hareru),1\nflorian_(pokemon),4\nbryanth,1\nbrushing_another's_teeth,0\nshounan_(kancolle),4\nnightmare_(arknights),4\ncardigan_removed,0\nhotate_rayan,1\nnexas,1\ncyllene_(pokemon),4\nakari_(raigou),4\nreizou,1\nomiza_somi,1\nbeelzebub_(azazel-san),4\nitou_makoto,4\nroulette_animation,5\nludicolo,4\nteam_magma_grunt,4\nizumi_kei,1\nwriting_on_wall,0\n1-up_mushroom,0\ngenmon,1\nover_zenith,3\nkoyo_akio,1\neijsvl,1\nv_ap_art,3\nayachi_nene,4\nleiq,1\nibushi_(oath),1\niparupua,1\nyurumawari,1\ntoo_many_knives,0\njiusan_naitan,1\naustralian_flag,0\numi_suzume,1\nshione_(niliu_chahui),4\nei_ei_mun!,0\nisurugi_noe,4\ntagawa_gengo,1\npinstripe_camisole,0\nsightseer_(pokemon),4\nmashiro_(swimsuit)_(blue_archive),4\ngold_can,1\nmexican_dress,0\nc2_kikan,3\ndildo_reveal,0\ntere_asahi,1\ntakamachi_nanoha_(aggressor_mode),4\nyao_fueifuei,4\nsitting_on_branch,0\nderpixon,1\nnopeys,1\noxfords,0\nkradebii,1\nomega_alpha,4\nakimichi_chouji,4\nsawa2,1\nkoyoi_(iroha_(iroha_matsurika)),4\nkuinji_51go,1\nnajar,1\nusalia_(disgaea),4\nkenzo_093,1\nbandaid_on_clothes,0\nuniverse,0\nginrei_(giant_robo),4\ntanto_(tc1995),1\nzenigata_mawari,4\nflyswatter,0\ndentist,0\nnadie,4\ngenka_ichien,1\nhandle,0\ntaiga_(ookami_mio),4\nfrischenq,1\nmedicine_bottle,0\nblack_pasties,0\nmatsuoka_kiyone,4\nmiracle_paint_(vocaloid),3\nviper_rsr,3\nhobak,1\ninconvenient_tail,0\nkoma_neko,1\nnatsu_no_ame,3\nfujishiro_touma,1\nfuyuno_mikan,1\nyudesoba,1\nnagase_yuuki,1\nmomoi_nanabei,1\noz_vessalius,4\ntakayama_mizuki,1\nxerxes_break,4\nnamidate,1\nhand_milking,0\nhinomori_shizuku,4\nmura_(kiyohime),1\nkoakuma_(cosplay),0\nhand_on_breasts,0\nchun_(friendly_sky),1\nkuku_px,1\ntanabe_(studio_tiamat),1\nsena_airi,4\ndr._cryptoso,1\nmokottsu,1\nautocunnilingus,0\nresident_evil_1,3\nkishimoto_masashi,1\nrarami,1\nhahifuhe,1\nhirokazu,1\nmurasakibara_atsushi,4\ntaiki_ken,1\niris_chateaubriand,4\nai-chan_(dokidoki!_precure),4\njago_dibuja,1\narmored_titan,4\nkarasumi_(aiseec),1\nty_1865,1\nkin_mokusei,1\naka_shiba,1\nalexa_mahone,1\nmisplaced_genitals,0\nshining_needle_castle,0\ntori_(driftwood),1\nurigarasu,1\ndaidai_(daidai826),1\nshenanimation,1\nunited_states_marine_corps,0\nidolmaster_one_for_all,3\nnotori_d,1\nhenry_bird_9,1\nmatsuoka_michihiro,1\nc.rabbit,1\nkizuki_miki,1\nsunao_(wokada),4\njotti,1\nbrown_haired_glasses_elf_(houtengeki),4\nlich_(monster_girl_encyclopedia),4\nratryu,1\nm87_black_hole,0\nshinozuka_arashi,4\nhinata_(fire_emblem),4\nsubaki_(fire_emblem),4\nhifumi_hajime,1\nnatsume_aya,4\nkimoi_girls_(meme),0\nshinken!!,3\npolka_dot_kimono,0\ngibraltar_(apex_legends),4\nt-800,4\nmiryoryo9,1\nkawajiri_hayato,4\noricorio_(pom-pom),4\nprunce_(precure),4\nhoushou_marine_(cosplay),0\nmarblehead_(azur_lane),4\ncloel,1\nkabuto_daigo,4\nmiike_(992058),1\nyamanami_keisuke_(fate),4\nki-sikil_(yu-gi-oh!),4\neruichi_(redphantom),1\nmechanical_tentacles,0\nshaving_crotch,0\nogata_rina,4\nkino_makoto's_school_uniform,0\nazuma_hatsumi,4\nac_japan,3\nkiriyama_sakura,4\nfatigues,0\nuchida_yuka,4\nitou_ikuko,1\nrebecca_(fire_emblem),4\n.hack//roots,3\ngarden_(game),3\nmachi_(hunter_x_hunter),4\nasgr,1\ntakashina_masato,1\nradio_tower,0\njames_sunderland,4\nashita_yaru,1\nnanpuu,1\nmomioka_risa,4\nshima_renzou,4\nneichiru,1\ngarfield,3\ninfinite_stratos_academy_uniform,0\nakawiro,1\nsakura_mochiko,1\nrearing,0\ngyouza_teishoku,1\nkawaikereba_hentai_demo_suki_ni_natte_kuremasu_ka?,3\nshippori,1\nleaf_earrings,0\namrita_(amber78gou),1\nryou_sakai,1\namelie,1\nspeedl00ver,1\nhair_dye,0\nodoriyama_gorou,1\ndayakka,4\nshiori_(moechin),1\nsansan_(dongfangzhong111),1\nsacanahen,1\npanimiiru,1\namalia_sheran_sharm,4\nenj!,1\nnakashino_setsu,1\neileen_the_crow,4\nmaeda_hiroyuki,1\noomura_yuusuke,1\nesphy,1\nleg_cutout,0\nmoxue_qianxi,1\nchupacabra,0\ncutting_mat,0\nn9+,1\nlord_knight_(elsword),4\nadmiral_shinonome_harutora,4\nyada_(xxxadaman),1\nleggings_pull,0\nkometubu0712,1\nsky_kiki,1\nforest_keeper_nowa,4\nryker,1\nglorious_(pungent_plum)_(azur_lane),4\nnaka_(kancolle)_(cosplay),0\nfive-seven_(0verlimits),1\nkissing_ear,0\nst._louis_(blue_and_white_pottery)_(azur_lane),4\neyelash_ornament,0\n370ml,1\n3c_pan_(izumipan3),1\nriccae,1\nhead_flag,0\noora_kanako,4\nbianca_(punishing:_gray_raven),4\nteam_aqua_grunt,4\naion_(chrono_crusade),4\nkumagawa_misogi,4\nsakura_(lilak_a),1\niori_yakatabako,1\nmugitarou,1\nhika_(cross-angel),1\naka_(s3637),1\nakaooni,4\ntrojan_green_asteroid,3\nsaitou_teikoku,1\naa-rance,1\nwantsupanchi!!,1\nkneehighs_pull,0\nvanfeny_vamp,4\ntoxxy,1\niganashi1,1\nfender_mustang,0\nmorinaga_(brand),3\nerika_(shadowverse),4\nhihiyama_yokikana,1\nsasoura,1\nstellarspin,1\nrusso-ukrainian_war,0\ntekkaman_blade,3\neguegu,1\nhallelujah_haptism,4\nchell,4\nsato_iori,1\nmyoushun,1\nenvyvanity,1\nnemesis_(resident_evil),4\nstone_tablet,0\ncure_selene,4\nthxzmgn,1\nedan_(sparrowl),4\ntrieste_(azur_lane),4\nzombie_(minecraft),4\njtleeklm,1\nbuttoning,0\nroselia_(bang_dream!),0\nkani_nyan,1\nzeong,4\nfz064,1\nshijou_mitsuki,4\nrouto,1\nhishi_akebono_(umamusume),4\nsaltlaver,1\namumu,4\nnitocris_(swimsuit_assassin)_(third_ascension)_(fate),4\niwanaga_kotoko,4\ndark_link,4\nichitaka,1\nkaneko_hiraku,1\nshirley_(manga),3\nh2o_(ddks2923),1\ntowel_slip,0\nbuta_tsuzumi,1\ngolf_course,0\nitunohika,1\nskullchimes,1\nvanilluxe,4\nitogari,1\nleels,1\ncelesteela,4\nshort_socks,0\ndokan_(dkn),1\nyggdra_union,3\nfujimiya_kaori,4\nmega_gallade,4\nsun_glare,0\nintrepid_(azur_lane),4\ndearly_stars_(idolmaster),0\nkokuto_(kurousagi1210),1\nhumuyun,1\nhoshi_usagi,1\nkazari_jun,4\ngawain_(artist),1\nz666ful,1\ntokiya,1\nkirigaya_yuuji,1\namerican_flag_tattoo,0\nmeiji_(charisma_serve),1\nmuju,1\npsychopath_idiot,1\ntsukuba_masahiro,1\nhuyukaaki,1\npuppeteer7777,1\np-40_(tukinosita-de),1\non_piano,0\nrinka_(rinka0912),1\nthe_mad_mimic,1\nsagara_seiji,4\nsomeya_mai,1\nyuyu_(yuyurhythm),1\nnakura_hakuto,1\nholding_collar,0\nmeto_(metrin),1\nunionism_quartet,3\nyat_sen_(warship_girls_r),4\nmarmoset_(marmoset0),1\nshinazugawa_genya,4\nning_hai_(summer_hunger)_(azur_lane),4\nkomekueyo,1\nsam_porter_bridges,4\ntamawo_(mu_gi2),1\nmon-musu_quest:_paradox,3\nblackbox_(blackbox9158),1\nimplied_prostitution,0\nmarchen_madchen,3\nbunny_nun_(diva),4\nafk_arena,3\nscarlettear33,1\nmentei_yakuna,1\nmankai_kaika,1\nholding_glowstick,0\nhonjitsu_no_shuyaku,0\nviktor_(league_of_legends),4\nellis_(el_cazador_de_la_bruja),4\nkarin_(manga),3\ndawalixi,1\nwallachia,4\nsingle_bare_leg,0\ngumroad_logo,0\nmiyakoji_(plokmtamako),1\nneckerchief_between_breasts,0\nrevian_samuel_dani,1\nddolggol,1\nlil-la_(yu-gi-oh!),4\nggli_(yuine_wantan),1\nyun_yun_(doupo_cangqiong),4\nnohara_rin,4\nhana_macchia,4\nsuperbusty,1\nsukekiyo56,1\n2sham,1\nlintanghaseo,1\nel_hazard,3\nyagami_shuuichi,1\ntodee,1\nozaki_reiko,4\nkratos,4\ntouyama_soboro,1\njourney,3\nprincess_crown,3\nuk-works,1\nmamoru_(sister_princess),4\nnatsuzakura_yuuki,1\nskydive,0\nspain,0\nmune,1\nnagatsuka_saki,4\nsagara-san'chi_no_etsuraku_life,3\nneko_yume,1\nsora_(air),4\nfuyutsuki_kouzou,4\nholding_nunchaku,0\ngamilas,0\nmicroscope,0\nporuhi,1\nnikuoji,1\nshimoguchi_tomohiro,1\ntime_mage,4\njake_martinez,4\nnosada,1\namami_mikihiro,1\ntengen_toppa_gurren_lagann:_lagann-hen,3\naruni,1\nred_arcueid,4\nlan_fan,4\nnrvnqsr_chaos,4\nyuuki_maya,1\nconstantia_harvey,4\nnarumi_yui,4\nxuan_ying,4\nmiyafuji_yoshika_(cosplay),0\nmorerin,1\nhelic_(7317helic),1\nsmoke_(flyx21),1\nakatuki_(yamina),1\nplunger,0\nmazamuno,1\nosaka_sougo,4\nwonoco0916,1\nlq_saku,1\nescort_water_princess,4\neringikinono,1\nhakuya_(white_night),1\ndargo,1\nkinomoto_touya,4\nchis_(js60216),1\nzenonzard,3\ndecadence_(anime),3\nkarumayu,1\nz.m._(school913102),1\nthe_lion_king,3\nisawo_(lucanus19),1\nug_(nekonekodou),1\nnipako,4\nhessian_(fate),4\nchien_zero,1\nasashin_(kazami-tomo),1\nsailor_venus_(cosplay),0\ntakamine_midori,4\nfood-themed_pillow,0\nayamine_kei,4\nhirasawa_susumu,4\nmonomi_(nasdai),1\nshishanmo,1\nevilgun,1\nsanninme_no_haru,1\nbollard,0\ndr._light_(mega_man),4\ndano,1\nsticky,0\nchunichi_dragons,3\nbaumkuchen,0\nashford_academy_swimsuit,0\nsakura_shiho,1\nscharnhorst_(azur_lane),4\nubo_(ubo_tales),1\nebon,1\ntomica_hyper_rescue_drive_head:_kidou_kyuukyuu_keisatsu,3\ncroix_meridies,4\nkaban_(kemono_friends)_(cosplay),0\nkoutarou_(farthest),1\nkakitsubata_zero,1\nkabuyama_kaigi,1\nbaek_hyang,1\nh2o_(dfo),1\ncheli_(kso1564),1\nrukimi,1\ncat_ornament,0\nhijikata_toshizou_(drifters),4\nkaname_(melaninusa09),1\ncommando_(movie),3\neat_me,0\nmoss_(sphere211),1\nkamizuki_shiki,1\nalpha_(inazuma_eleven),4\nsarya_(granblue_fantasy),4\npokemon_conquest,3\nerd_gin,4\nbloody_stream,0\nalto_saxophone,0\nvibrator_on_penis,0\ndensou_tenshi_valforce,3\ntemari_(deae),1\ndekopin08,1\nsona_sitri,4\nsuika01,1\npatty_(pso2),4\ntabby_chan,1\ntri_drills,0\nalain_(pokemon),4\nmasin0201,1\nyamano_rita,1\nimplied_footjob,0\nenajii,1\nkanemoto_hisako,4\nkanbayashi_chiko,1\nredgart,1\nkrt_girls,3\nstylet,4\ndigital_devil_saga,3\ntakefu_jiin,1\nmega_man_1,3\nmud_(artist),1\nwusagi2,1\nchadolbaegi,1\nbat_earrings,0\nsmug_nun_(diva),4\ncui_(jidanhaidaitang),1\ntoplow,1\nyousei_daisensou,3\nkein_hasegawa,1\nshimamura_charlotte,4\nbandai_namco,3\nlittle_tail_bronx,3\nfuse_ryuuta,1\nfraankyy,1\nkyouka_hatori,1\nmaimuro,1\natomix,1\ncabin,0\ngliscor,4\nnidorino,4\nyashiro_kasumi,4\nrococo,1\nkisaragi_honey,4\ndanny_(jojo),4\ntakashina_asahi,1\ngetsumento_heiki_miina,3\nkuboshun,1\nbandage_on_knee,0\nkati_mannequin,4\nkoucha_(nodoka-123),1\ncarchet,1\nhimeliofon,1\ncyka,1\npurple_babydoll,0\njinnouchi_akira,1\nkyabechi,1\nooba_kagerou,1\ntouhou_ningyougeki,3\nakyuun,1\nminato_(robin),1\nwatermelon_hair_ornament,0\nmaleficent,4\nkiryuu_suruga,1\nfortune_teller_(touhou),4\nattempted_suicide,0\noribe_tsubasa,4\nshiomi_kaoru,4\nkagamine_rin_(vocaloid4),4\ntanghulu,0\nscraped_knee,0\nriot_music,3\nkirisaki_shuusei,1\nnijihayashi,1\nifrit_(sunburn)_(arknights),4\nppap_(11zhakdpek19),1\nzeppy_(azur_lane),4\nutawarerumono:_lost_flag,3\nringouulu,1\ngeo_stelar_(mega_man),4\nsannio,1\nmarina_(blue_archive),4\nyumeko_(yumeyana_g),1\nwd_(1106592840),1\nripper_(girls'_frontline),4\ncolt_revolver_(girls'_frontline),4\ncobra_no_oyatsu,1\nstheno_(third_ascension)_(fate),4\naji_(sakanaaj1),1\nmeltryllis_(swimsuit_lancer)_(third_ascension)_(fate),4\ntweyen_(eternal's_summer_vacation)_(granblue_fantasy),4\ntobi_(naruto),4\nplague_doctor,0\nwhammy_bar,0\nprotractor,0\nroman_empire,0\nzephyr164,1\nsenba_chidori,1\nyuki_(sangeki5806),1\nhiroshima_touyou_carp,3\nrex_genome,0\nionasal_kkll_preciel,4\ngatchaman,3\nsuruga_(azur_lane),4\npropro_production,3\nphilip_(kamen_rider),4\ninma,1\nthinking_emoji,0\narare_kai_ni_(kancolle),4\ngodwkgodwk,1\nkumako_(kumakonoh),1\nblood_on_feet,0\nhegata_(hegatia_lapis),1\neuforia,1\nrinndouk,1\nrosette_(yankaixuan),1\nfenrir_(last_origin),4\nibaraki_douji_(touhou),4\nmentaiko_mamire,1\nyoshimizu_kagami,1\nkamekichi_(kamekiti),1\nsoba_chatarou_(tita),1\nmagearna,4\nestellise_sidos_heurassein_(campus_royalty),4\nbroken_helmet,0\nborvar,1\nkamio_haruko,4\nmjolnir_(marvel),0\nokahi,1\nennuigrl,1\nsakurakouji_luna,4\nleon_the_professional,3\nbifrst,1\nhuion,3\nanimal_(vocaloid),3\nsale,0\nplaid_shawl,0\nred-rum,1\nkasuga_maori,4\npertex_777,1\nange_(angeban93),1\ncontest,0\nmokonekosan,1\ndenizen_tomo,1\ntyo197snh,1\ntoyohara_etsuko,4\nmilcery,4\nyokoyama_ishimi,4\nwho_framed_roger_rabbit,3\nhoshimame_mana,1\nkanzaki_karuna,1\naster_(granblue_fantasy),4\numinchu,1\ngilzaren_iii,4\ngrimer,4\ndrill_(emilio),1\noburaato,1\nfungami_yuya,4\nmickey_dunn,1\nalcoholrang,1\nyuki-chan,4\nchloe_fleurage,4\nkotojima_motoki,1\nspreading,0\ndominura,4\nheiya,1\nsukima_(crie),1\nrui_(hershe),1\npspmaru,1\nexcel_(gewalt),1\nzukyuun,0\nmizuki_yukikaze_(cosplay),0\nsaejima_kiyomi,4\nkotoishi_naru,4\nkiji_(manekinuko-tei),1\nnuppunuppu,1\nkan_(rainconan),1\nrakusuke,1\nelena_ivlyushkina,1\nallenkung1,1\nmizusaki_(tengoku),1\nmaredoro,1\nsugiyama_ichirou,1\narekishi_raiho,1\nhasegawa_(rarairairai),1\nwinged_hairband,0\ntama_(wixoss),4\nbebeneko,1\noikawa_tooru_(haikyuu!!),4\ntitania_(fire_emblem),4\nytk_(yutta-p),1\nikiyouz,1\nmage_(harumagedon),1\ngreen_overalls,0\nritsu_(kemurikusa),4\nelyoncat,1\naqua_rose,0\nholstein_(cccpo),4\nase_(nigesapo),1\nharu_no_manji,1\ngreen_bracelet,0\ncornea_(asteroid_ill),4\ntall_grass,0\nazuma_(soft_voice_of_spring)_(azur_lane),4\nmikapoe,1\ndouble-barreled_shotgun,0\nzoruboi,1\nmax_(pokemon),4\nsleeveless_blazer,0\nowari_no_chronicle,3\nnekomimipunks,1\njellicent_(male),4\ncum_on_object,0\nscarle_yonaguni,4\nmosaic_roll_(vocaloid),3\nbache_(showy_sports_star)_(azur_lane),4\nzhaofeng_yinyue,1\nsplatter_print,0\ngcg,1\nmetroid_(classic),3\nstriped_belt,0\nots-14_(sangria_succulent)_(girls'_frontline),4\napple_juice,0\nmeet_neet,1\nkaiboukan_no._30_(kancolle),4\ncardboard_cutout,0\ndunban_(xenoblade),4\nav-98_ingram,4\nclick_(arknights),4\npalm-fist_greeting,0\nvalkyrie_(jojo),4\nacidear,1\nremimim,1\nxlnosearch_(xlxiaoluodiaofa),1\nhouzuki_(hotondo),1\nphalanx_(sekaiju),4\nrue_(princess_tutu),4\ninterlude,3\nsexfriend,3\ngokudera_hayato,4\ntougi_shiro,4\nmusou_orochi,3\ngaluf_halm_baldesion,4\nmooche,1\ntenyoshi_(briansept),1\nmeryl_silverburgh,4\nmoira,3\nmi_taro333,1\nryougi_mana,4\nsecco,4\nimpossible_jacket,0\nmonq,1\ngraveler,4\nnitori_shuuichi,4\nfelicia_hardy,4\nmiyamae_kanako,4\nneo_ranga,3\nnt-tan,4\nkabuto_(pokemon),4\nahma,1\nnigiriushi,1\nkamen_rider_kaixa,4\ntouboku,1\nkanameyura,1\nsoine,1\nswat,0\nplastick,1\nujikintoki_kinka,4\nheroine_(amnesia),4\njessica_rabbit,4\nmonica_(little_witch_nobeta),4\ntokoharu,1\nyonaki,1\nkageyama_hikaru,4\nfuyuwa_kotatsu,1\nrumenia_(ao2is),1\numasan,1\namano_soraha,4\nakni,1\ndanboru_(jdanboru1182),1\ntwistedscarlett60,1\n723/nanahumi,1\nwasteland,0\nknife_in_mouth,0\nkurosho,1\ngeorgia_(azur_lane),4\nippo,1\nuncle_and_nephew,0\nogasawara_haruka,4\nionioi_hetairoi_(fate),0\nalgae,0\nbsue,1\nyuzuruha,4\nraymond_(animal_crossing),4\n100%,1\nmym_(dragalia_lost),4\nhandbell,0\ngegeron,1\nfurorida,1\nxbox,0\nkurihara_nene,4\nleonhardt_(arknights),4\nracing_miku_(2013),4\nwalking_bike,0\namamiya_natsumi,4\nwaste_(arkaura),1\nairi_(satosi),4\nkuroi_enpitsu,1\norange_feathers,0\njapari_symbol_print,0\nshaula_(re:zero),4\nheart-shaped_bag,0\nnemurin,4\nbergman's_bear_(kemono_friends),4\ntreeware,1\nchokutsuu_(menino),1\naliter,1\nkasumi_mahiru,4\nsandygast,4\nrwby_chibi,3\njade_(houseki_no_kuni),4\ngin'iro_haruka,3\ntwiddling_fingers,0\nprice,0\ngeetgeet,1\nshin_sangoku_musou_7,3\nvanellope_von_schweetz,4\nspark_(sandro),1\nmasaoka_misaki,1\nxerath,4\nico_(pekoguest),1\nzaki_(narashigeo),1\nminamoto_hisanari,1\nerezu,1\nroki_(0214278),1\nmeimei_(meimei89008309),1\nblue_petals,0\nuber_eats,0\nhagane_vocaloid,0\nizumi_(toubun_kata),1\nstomach_(organ),0\nimminent_cunnilingus,0\nnino_(shira),1\ntakanashi_miu,4\nnao_(kuzuyu),4\nslip_showing,0\nryuu_ga_gotoku_7,3\ncure_felice,4\nfujiwara_no_sai,4\nkoinu-chan,4\ncure_macherie,4\ncrew_cut,0\nbaerun,1\nharu_yu,1\nspecial_moves,0\nmukuroi,1\ndisheveled,0\nhand_mouth,0\njingo_kajiki,1\nfruit_basket,0\nchatea,1\nsuzushiro_seri,1\nsilent_magician,4\ntakasaka_donten,1\nshiitake_urimo,1\noyabuli,1\ntoin_(koto54576897),1\ny_y_(ysk_ygc),1\ncake_stand,0\nsaturn_(pokemon),4\nluxio,4\nblue_brooch,0\nczy_(2894456992),1\nnagisa_(cxcx5235),1\ntachibana_yuu_(yakitomato),4\ntozaki_daijirou,4\nsofmap,3\n0jae,1\nstar_wars:_visions,3\nwar_fan,0\nkabedoru,1\nhopepe,1\niron_man_(series),3\nmizuse_kouichi,1\ntabibitowayo,1\ncz-75,0\nnarita_miho,4\nodachu,1\nsuperbi_squalo,4\ntwin-lens_reflex_camera,0\nwing228,1\nworking!!_(web_manga),3\nterriermon,4\nkunou_kodachi,4\nfuyumi_jun,4\nvanitas,4\nacerbi,1\nmidfinger,1\no-ring_thigh_strap,0\ntakasaki_yuuki,1\nhizzacked,1\nportable_barricade,0\nopen_magazine,0\nachikoako,1\ntennouji_nagisa,4\nmascot_head,0\ntsuru-chan,4\nhatoful_kareshi,3\nphantom_thief_erichika,0\nfaker_ktd,1\nyukaran_nosuke,1\nsky_(sky-freedom),4\nhitokuirou,1\nalice_l._malvin,4\nniwako,1\nmayuki_(ubiquitous),1\ngreen_blood,0\ncafe_au_lait_(kafeore),1\nmikuro,1\nyoru_no_nai_kuni,3\nokiku_(banchou_sarayashiki),4\ninui_sana,4\nsengoku_kishin_valkyrie,3\nlevia_(closers),4\nkazuma_asogi,4\ntear_tear0320,1\nbruce_banner,4\ntorbjorn_(overwatch),4\nshin_megami_tensei_iv_final,3\nlemon_earrings,0\namiya_(newsgirl)_(arknights),4\napril_(arknights),4\nsiera_(sieracitrus),1\nairpods,0\nsuzuka_gozen_(santa)_(fate),4\nlaojun_(the_legend_of_luoxiaohei),4\ngundam_exa,3\nkneeling_on_liquid,0\nhayate_fish,1\nmatchbox,0\ntsukira_(amayadori),1\nsatin_bikini,0\nasanagi_(style),0\nsetsunano,1\nlooking_past_viewer,0\nmothra,4\nyin_midnight,1\nminagi_koharu,4\npea_pod,0\nrengoku_(fate),4\nkiriya_nozomi,4\nhi-na1,1\nhiyoko_(kancolle),4\nniyun_(n_niyu),1\nmikuri_kamazirou,1\nakatsuhara_empire,0\nkaminari_ai,4\nsusagane,1\nlagombi_(armor),4\npan_korokorosuke,1\nfurutachirikonbu,1\nshimamura_youmu_(unadare),4\nf.w.zholic,1\nyukimi_koume,4\nfushimi_chihiro,4\nhiyada_yuu,1\nwatanabe_tsuki,4\nnuts_(yes!_precure_5),4\ntoi_(toiot),1\nbarbie_(character),4\nblack_moon_clan,0\nmeolucky147,1\ncursola,4\nsailor_jupiter_(cosplay),0\nuekan,1\nsound_wave,0\nkinty,1\nexpandable_baton,0\ngarnet_mclane,4\nakitsu_taira,1\na20_(atsumaru),1\nnnyu,1\nhamada_youho,1\nbuta5813,1\napollo_chocolate,0\nkisumi_rei,1\ntakumi_(marlboro),1\ntoriko_(series),3\norry,1\nkoga_makoto,1\nyuiyuimoe,1\nborder0715,1\nfurayu_(flayu),1\nmonaka_(gatinemiku),1\naozora_jumping_heart,0\nkaradborg,1\nnatsumi_(date_a_live),4\nchun_(luxtan),1\nmiyo_(13th_floor),1\ntierra_azur,4\nsnail_girl,0\nwraith_(madoka_magica),4\ncat_with_a_brush,1\nasahina_arumi,4\nchachi_(soulga),1\nmingaru,1\nwakamoto_tetsuko,4\nishida_arata,1\nherigaru_(fvgyvr000),1\nportuguese_commentary,5\nmusubime_yui,4\natori,1\nlove_and_producer,3\ndiscipline,3\ntsukimochikuriko_(tsukimochi_k),1\nchiemo_(xcem),1\naizono_manami,4\nbang_dacy,1\nmiku_(lee),4\neri_(yangyang_nickbow),1\nrirene_rn,1\nkachin,1\ngalarian_corsola,4\ntomas_(kaosu22),1\nmiiyon,1\nchaozu,4\nultimate_nipper,3\nbuying_condoms,0\nmasukudo_(hamamoto_hikaru),1\nonabe_no_shime,1\nmax58art,1\njeze,1\nwakuta_chisaki,1\nyuki_miku_(2016),4\nshinko_windy_(umamusume),4\nunder_night_in-birth_exe:late[st],3\nmogupuchi,1\namano_cigusa,1\nmighty_morphin_power_rangers,3\nkusajishi_yachiru,4\nfourragere,0\ngeoffroy's_cat_(kemono_friends),4\nside_b,1\nerror1980,1\nhe_wants_to_order_(meme),0\nk2_(hibiki09),1\nchris_lightfellow,4\nboudica_(third_ascension)_(fate),4\nagemmata,1\nvanillish,4\npokemon_colosseum,3\naharan,1\nhiroaki_(kof),1\nise_nanao,4\nkangaroo,0\nzimajiang,1\nnewmen,1\ncyprus,1\nshirin_bakhtiar,4\nguard,0\nsakura_strasse,3\nkashii_airi,4\ngradius,3\npocopoco,1\nharepore,1\nsankaku,1\nebina_souichi,1\nmatsudo_aya,1\nmito_anji,4\numegiri_iroha,4\nkisaragi_saya,4\nebony_&_ivory,0\nmasso,1\ncar_wash,0\nnayu,1\nhoshizaki_hikaru,1\nryumage,1\nlisa_silverman,4\nharuka_(sister_princess),4\npanel_de_pon,3\nphantania,1\nsergei_smirnov,4\nwasu,1\ntarou2,1\nchigo,1\nkabutops,4\nbioroid_hei,1\nkazakiri_hyouka,4\nrelicanth,4\nmirano,1\nbinan_koukou_chikyuu_bouei-bu_love!,3\nrondo_umigame,1\ngeralt_of_rivia,4\nholding_feet,0\nwinged_kuriboh,4\ncomord,1\nriku_yama,1\nwogura,1\npengin_guriko,1\nsurume_aburi,1\nchuchu_(pokemon),4\ncholesenel,1\nchristmas_cake,0\n^q^,0\ni'm_such_a_fool,0\nkamaniki,1\nhatsune_miku_no_shoushitsu_(vocaloid),3\nkrin,1\nchanel,0\nchu_x_chu_idol,3\ntakano_saki,1\nyuyuzuki_(yume_usagi),1\nnanamatsu_kenji,1\nszk,1\nusagi_drop,3\nkumanoko,1\nhanging_on,0\norigami_aya,1\njoker_(tomakin524),1\nkentllaall,1\nmikko_(mim_mikko),1\nscarlet_zel,1\nnakazawa_aki,1\nmizore_syrup,1\nlooking_for_glasses,0\nfamicom_gamepad,0\nkokechan,1\nkouzaka_kouhei,1\nmatsuda_toki,1\nherurun,1\naiu_eo,1\nkitakami_futaba,4\nshirotsuki_kouta,1\ndgrp_(minhduc12333),1\nsouthern_cross_academy_uniform,0\nolberic_eisenberg,4\nore_wo_suki_nano_wa_omae_dake_ka_yo,3\nmiyamae_(miyazen9311),1\nsailor_one-piece_swimsuit,0\nnyasunyadoora,1\noziko_(ooji_cha),4\nurayamashiro_(artist),1\nsoiri_(us),1\nanne_bonny_(swimsuit_archer)_(fate),4\nenushi_(toho193),1\nwimpod,4\njean_(jean_sp),1\ntom_(1art.),1\nizayoi_sounosuke,4\nzuho_(vega),1\nitsui_(dihydrogenmonoxid),1\nshishigou_kairi,4\nessual_(layer_world),1\nmantarou_(shiawase_no_aoi_tori),1\nseafh,1\nhechima_(issindotai),1\nmocomoco_party,1\nsxbzero,1\nbroccoli_(arupuru),1\nmizushima_oonari,1\nsuzushiro_nazuna,1\nwaterpark,0\nizumiya_otoha,1\nrano,1\ntomb_raider_(reboot),3\nkaraori,1\nisurugi_mio,4\nnoyu_(noyu23386566),1\nrat_huang,1\numi_(nana_spring),1\nsakuya_(liao_kj),1\nnanaheibei_3,1\ncoquelicot_(sakura_taisen),4\npickieeeee,1\nmyself_yourself,3\nrion_(glayjirobass),1\nstraw_like,1\nteriibol,1\nchaos_emerald,0\nstufful,4\npeony_(pokemon),4\nikari_shinji_(cosplay),0\ncocax_x,1\nscharlachrot,4\nelze_(s01047480836),1\nfluff,0\nplatform_truck,0\neufoniuz,1\nyamanakaume,1\nkiragera,1\nurata_asao,1\nkonfuzikokon,1\nbamboo_screen,0\nshirahama_kamome,1\nanago_nia,1\nsakura_airi,4\nneko_no_youchuu,1\nmai_(pokemon),4\nshihoudou_narika,4\nsakurami_sumi,1\nbloomminority,1\nadvance_of_zeta,3\nyoshinaga_koi,4\nmiu_(angelo_whitechoc),1\nyellow_eyeshadow,0\nlong_toes,0\nbrigadoon,3\nw.l.o_sekai_ren'ai_kikou,3\nlumineon,4\nspread_cleavage,0\ngoose_h,1\nzedd_(zedgawr),1\nzd_(pixiv6210083),1\niu,1\nkumatanchi,3\nrosa_(masterpiece)_(arknights),4\nhajikkoneko,1\naono_ribbon,1\nmare_bello_fiore,4\nshantotto,4\nvetania,1\nstuffed_duck,0\nbitseon,1\nassassin's_creed_iii,3\nnanaku_teiru,1\nwowishi,1\nmusubi_(livnehe),1\nkushida_kikyou,4\nstuffed_wolf,0\nkoto_(shiberia39),1\n7th_dragon_iii,3\nstrange_creators_of_outer_world,3\ngretel_(otogi-jushi_akazukin),4\nmiso-ha_(ukyuu),1\naircell,1\nanne_boonchuy,4\namaama_to_inazuma,3\nhigh_priest_(arknights),4\nmiteiru_(shirakami_fubuki),4\nkohe_billialot,1\nvalefal_coneri,1\nmahito_(jujutsu_kaisen),4\ntomato_slice,0\ndamage_control_crew_(kancolle),4\ntame_meshi,1\ntokarev_(griffin's_dancer)_(girls'_frontline),4\nak74m_(girls'_frontline),4\njean_bart_(private_apres_midi)_(azur_lane),4\ncai_lin_(doupo_cangqiong),4\nasanogawa_(tutufcc),1\nfia_the_deathbed_companion,4\nshima_(pattern),0\ntab_(tabkun),1\ntamaki_nozomu,1\nsanakan,4\nwatase_nozomi,4\nbarbarian,0\nflarefox,1\nmurasaki_(murasakiiro_no_yoru),1\nisurugi_futaba,4\nhachiroku_(hatirokusann86),1\nlolliedrop,1\nkoenza_botoke,1\ndoom_(2016),3\nreceipt,0\nmedicine_box,0\nmars_(pokemon),4\nsunfight0201,1\nklarwind,4\ntomato_costume,0\nmisaki_(misaki86),1\nflaky_(happy_tree_friends),4\ntype_100,0\ndashing,0\nnagiko_(mangalove1111),1\nb.ren,1\nharu_estia,4\nyume_nisshi,3\n4_(nakajima4423),1\ncover_them_up_slut_(meme),0\ngolgo_13,3\nclay_(clayjun),1\nsuper_sailor_neptune,4\nokapi_ears,0\nmedia_player,0\npuzenketsu,1\nbada_(jksh5056),1\nmacco,1\nstuffed_reindeer,0\ncharles_(106858),1\nnekofish666,1\nblue_menouu,1\nreporter,0\nclaudette_lord_of_thundercloud,4\norange_overalls,0\nryunosuke_naruhodo,4\nlamian_(pixiv415608),1\nakiyama_enma,1\n10s,0\nikeda_jun_(aquaqua),1\nkotomine_shirou_(fanfic),4\nyugake_(mrnmrm),1\ntoilet_symbol,0\ntwitch.tv,3\nimca,4\ntorathi,1\nkazabana_fuuka,1\nsimon_(n.s_craft),1\nban_(nanatsu_no_taizai),4\nnanamo_(002a),1\nsuteba_(grzjkbhgf),1\ntorinomaruyaki,1\nkisaragi_kaya,1\nglynda_goodwitch,4\nbox_stack,0\nplumeria_(fire_emblem),4\nsawamura_aoi,1\nmagazine_request,5\nsakurano_yukke,1\niyo_(ya_na_kanji),1\nhina_(araburu-hinadori),1\numeko_(koori_ume),1\nkatouken_(ktn-works),1\notani_(kota12ro08),1\nmorino_kirin,4\ngreen_male_swimwear,0\nnamagome_negi,1\nyue_(cardcaptor_sakura),4\nqihai_lunpo,1\nedaki_shin'ya,1\nnakahara_(mu_tation),1\nwhite_bomberman,4\nnyx_(fire_emblem),4\nrena_(riries),1\nescape_room,0\nkara_aren,1\nprototype_labiata,4\nplaystation_vr,0\nafunai,1\nkomirihikku,1\nsuper_creek_(chiffon_ribbon_mummy)_(umamusume),4\nhands_on_another's_leg,0\nyoruneko,1\ngaki_kyonyuu,3\npot-de,1\nvivillon_(meadow),4\nthe_matrix,3\npurple_blood,0\nfafnir_(maidragon),4\nakitama2727,1\nathena_(saint_seiya),4\nmirae_(closers),4\nddddecade,1\ncarnivorous_plant,0\nscallop,0\nalice_wishheart,4\nnagano_rira,1\neip_(pepai),1\ngastrodon_(west),4\nblack_shawl,0\nbad_end_peace,4\nmushpz,1\ngauss_<bokashi,1\nvic_(vedream),1\nuntucked,0\ntsuganoki_second_junior_high_school_uniform,0\nshirou_(vista),1\nvf-1a,4\nstriker_(dungeon_and_fighter),4\nbrave_soul,3\npierorabu,1\ngizensha,1\nfuurai_no_shiren,3\nbell_zephyr,4\ngreen_(game),3\nnakamura_yuuichi,4\nfreezer,0\nhage,1\nstorm_(x-men),4\nscatter_milk,1\nkuri_youkan,1\nkomiru,1\nvienri,1\neasytoon,5\ndbz_(misaki339),1\nkurume_shou,1\nmisocha,1\nspace_marine,0\npixels,0\nprotagonist_(devil_survivor),4\nhozumi_takashi,1\nvespiquen,4\nfuuka_(fukasheu),1\nmedibang_paint_(medium),5\nyaya_chan,1\nhappy_birthday_(artist),1\n1000marie,1\nmasa_(miyabitei),1\nsawaragi,1\nlilithbloody,1\ncomic_shitsurakuten,3\npandora's_box,1\nurimono,1\nblack_fire,0\ninogashira_gorou,4\nayakawa_riku,1\nkingdom,3\narc_the_lad_iii,3\nelyse,4\nsabamu,1\nminakami_mimimi,1\negawa_akira,1\ncrab_d,1\ndrying_body,0\nmaanii,1\nhagane_miku,4\nnanakura_koharu,4\ncarillus,1\npatriotism,0\ngensou_aporo,1\nrenown_(azur_lane),4\nkenpi_(hs-totyu),1\nrenga_(yakihebi),4\nextended_upskirt,0\nyuji_(fantasia),1\ncarasohmi,1\nyukari_(bryleluansing),1\nholding_lamp,0\numi_(umi02),1\nmian_guan,0\nnao_(nao_eg),1\noyoneko,1\nkoru_pera,1\nogata_tomio,1\ngrizzly_mkv,0\nlove_letter_(idolmaster),0\n4040_(abonriya),1\nsugar_(sugarless),1\nkrystopher_decker,1\nnapata,1\nyukitarou_(awamori),1\nt7senzo,1\nmahou_shoujo_pretty_sammy,3\nhead_under_clothes,0\nancient_dark,0\nyokohama_dena_baystars,3\ncat_on_person,0\npino_(birthdayparty),1\nyagimiwa,1\nkemigawa_mondo,1\naiue_oka,1\naussa_(yu-gi-oh!),4\nhannya_(onmyoji),4\nchinatsu_(hot_spring)_(blue_archive),4\nclitoral_stimulation_through_clothing,0\njeanne_d'arc_(white_cruising)_(fate),4\nfujimaru_ritsuka_(male)_(true_ether_chaldea_uniform),4\nzennosuke,1\nokita_souji_(koha-ace)_(cosplay),0\nenvy_elika_(koyashaka),4\nkagero_(kamen_rider_revice),4\narakumachikano,1\nyachimoto,1\nsakata_kintoki_(rider)_(fate),4\nushiwakamaru_(ookami),4\nhinasaki_miku,4\n900p,1\nshiba_(zudha),1\noryzae-tan,4\nkonohana_sakuya,4\nmiura_haru,4\nvehicle_name,0\nshia_job,1\nlun7732,1\naizawa_mint,4\nwasumi_kei,1\ndinosaur_girl,0\nsoreeyu_(sore-yu),1\nmarriage_certificate_(object),0\nmoe2022,0\nsheeeh!,0\nrandi,4\ntakatsuki_p,1\nmegechan,1\numihal,1\npalette_hair_ornament,0\nbehelit,0\nbubble_filter,0\nfenrir_knight,4\nkirisaki_reina,1\netra-chan_wa_mita!,3\nhiropon_(tasogare_no_puu),1\npleated_pants,0\nvirus-g,1\nise_kai_ni_(kancolle),4\npure_girl,3\nmeiji_(brand),3\npgm300,1\ninuki_(aruurara),1\ntodoroki_touya,4\ntetsu_(teppei),1\nshed,0\nsada_(pokemon),4\nsnow_white_(disney)_(cosplay),0\ncure_soleil,4\norbital_frame_(zone_of_the_enders),0\ndomi_(hongsung0819),1\nhaou_airen,3\nyyb,1\npaper_texture,0\nantler_ornament,0\nkamo_ashi,1\ncutout_gloves,0\nayano_aishi,4\n2000,0\ntakanashi_rei,4\nkitsunetsuki_itsuki,1\npepushi_drow,1\nktsis,1\npill_bottle,0\nteppeki_skirt,0\ntamamo_cat_(fate)_(cosplay),0\ncl-55,1\nrbfnrbf_(mandarin),1\nwelchino,1\nlotus_position,0\nariso_kaoru,1\norifushi_mafuyu,4\nzabudog777,1\nchikokuma,1\nzenyu,1\nsword_of_kusanagi,0\nminnie_mouse,4\nquadrastate,1\ngradient_jacket,0\nshotgunman,1\ntic-tac-toe,0\nkikiriri,1\nyamazaki_kazu,1\nkoyomi_(shironeko_project),4\ntied_nipples,0\nchuno,1\nkaminagi_ryouko,4\nsharon_(words_worth),4\ndial,0\ncure_echo,4\ngreen_kaminari,1\nheroes_of_the_storm,3\nrainbow_flag,0\nsakuhiko,1\nde_la_fille,4\nmarshall_d._teach,4\nkyuraa_(kyura9een),1\nlily_white_(love_live!),0\nthe_baddest_ahri,4\nwindows_desktop,0\npiikeisandaa,1\nsankyo_(821-scoville),1\nflame_master_nyx,4\nroon_(muse)_(azur_lane),4\nnatsuishi_nana,1\nnabe_saori,1\nvritra_(fate),4\ngirlfriend_(friday_night_funkin'),4\nooto_ai,4\ntsun'ichi_(tsun1),1\nnemona_(pokemon),4\nmusicatopos,1\nasagon007,1\nnumbers_(pigpenandpaper),1\nlamb_(hitsujiniku),1\nagil,4\ntypehatena,1\nhotel,0\nnoumiso,1\nkagura_yuuto,1\nzynxy,1\nred-crowned_crane,0\nbonanus_(genshin_impact),4\nmessatsu_tan,1\nnekorin,1\nflee_ad,1\nshanna_(fire_emblem),4\nbahao_diqiu,1\nmasaki_nanaya,1\nsawk,4\nasari,0\nasanagi_kurumi_(panda-doufu),1\nsoma_schicksal,4\ntsuki-shigure,1\ncure_fontaine,4\ntakada_kazuhiro,1\nhina_(pico),1\nyakisobapan,0\naoi_sakurako,1\nhamanasu,1\ndonmin_h,1\nmochi_(chain_csn),1\neleanor_hume,4\nmagitek_armor,0\nyasuomi,1\nakinomiya_asuka,1\nspace_sword,0\nmikado_(blazblue),4\nshirahoshi,4\npyrrha_alexandra,4\nakamakoto,1\ntsuwabuki-san,1\nibanen,1\nradio_controller,0\nsnubbull,4\ngalahad_(fate),4\nserizawa_momoka,4\ngrey_jumpsuit,0\npew,0\nkosei_high_school_uniform,0\nr-ex,1\nmint_chocolate_chip,0\nparacelsus_(fate),4\nbunny_bag,0\ncha_chya,1\nkeldeo,4\njagi,4\nmoku_x_moku,1\nhalf-siblings,0\nshiomiya_kanami,4\nryouta_(ryouta335),1\nzexion,4\nmirutsu_(milts),1\nsakumo_(karatama),1\narietta_(tales),4\ntennouji_masamichi,1\naizawa_inori,4\nh.i.t_(59-18-45),1\ndandy_(space_dandy),4\nkotokoto_(vibgyor),1\nkai_himo,1\nsud_(sudea),1\nbardiche_(zanber_form),4\nikeda_hazuki,1\nkaikan_change,3\nusyuuri,1\ntakanashi_haruto,1\nyutsuki_warabi,1\nhello_happy_world!,0\ndanball_senki_wars,3\nhealer_u_(armor),4\nfueguchi_hinami,4\nflower_skirt,0\nwakaba_(945599620),1\nfuyunyan,4\ntakamachiya,1\nvivian_(mvv),4\nzan_nekotama,1\nkamui_(kamuikaoru),1\nholding_nail,0\nrasneko,1\niwashi_(iwashi008),1\nkamen_rider_zero-one,4\nakino_momiji,4\nsage_(valorant),4\nyayako_(804907150),1\nzhvo,1\njumbowhopper,1\nrice_(rice8p),1\nunderwater_city,0\nnywlub_(bulwyn),1\nfurukawa_hideki,1\nkirby:_planet_robobot,3\nreirou_(chokoonnpu),1\nxiafuizui,1\nstroking,0\nakaashi_keiji,4\nyamaha_vino,0\nnissan_skyline_gt-r,0\ntaranza,4\njoker_(cookie),4\nsakuma_rei_(ensemble_stars!),4\nheikala,1\nfrederica_nikola_tesla,4\ntora_d,1\nusamin_(artist),1\nmale_saniwa_(touken_ranbu),4\naperture_science_handheld_portal_device,0\nkemo_chiharu,1\nspecial_week_(hopping_vitamin_heart)_(umamusume),4\nkyle_(kysizzle),1\nsplat_dualies_(splatoon),0\nminase_(dragon_panda),1\nfoifoi_(marfoyfoyfoy),1\nnishikino_kee,1\nmoai_(more_e_4km),1\norange_umbrella,0\ngloria_(pokemon)_(cosplay),0\nnori_chazuke,1\nlossless-lossy,5\ntang_wutong_(douluo_dalu),4\nshikimori_(kawaii_dake_ja_nai),4\nhori-san_to_miyamura-kun,3\nmalberrybush,1\nblitzcrank,4\nbronya_zaychik_(black_nucleus),4\npunico_(punico_poke),1\ntaicho128,1\nasato_(fadeless),1\nyokomiya_satsuki,4\nminagi,1\nyoshino_sakura,4\nchinchickrin,1\nshirakaba,1\nhase_nanase,1\npoporon,1\nmike_haggar,4\noogami_ichirou,4\ngoma_satoshi,1\nkasuka,1\nyuukyuu_no_sharin,3\nichijou_akari,4\nwoodstock,4\nantispiral,4\ntsukishima_yuuko,1\nkutsuwada_on,1\netou_mei,4\nkimoto_kanata,1\ntaki_suzuna,4\nrias-shiki_kawaii,1\nmagician's_academy,3\nkuro_hopper,1\nmyung_yi,1\nsengoku_musou_3,3\ngerman_shepherd,0\nsaban,1\nhummingbird,0\nnirvana_(band),3\nmakinami_mari_illustrious_(cosplay),0\ntakahashi_maya,4\nhayama_mizuki,4\ndark_hunter,4\nschneizel_el_britannia,4\nakihorisu,1\nmedusa_gorgon,4\nremora180,1\nsuterisu,1\nsatou_takumi,1\niphone_x,0\ndragon:_marked_for_death,3\nkanta_(x-tei),1\nvine_print,0\nmaigoyaki,1\nsupurai,1\ntakigawa_miu,4\nribbon-trimmed_capelet,0\nguoguo,1\nwii_u_gamepad,0\nruler_(mahoiku),4\nlee_seung-gil,4\nbrain_injection,0\nosuti,1\nero_mang-a,1\nkujou_tenn,4\noogami_yuuki,1\nshousan_bouzu,1\nmarcia_(fire_emblem),4\nsoono_(rlagpfl),1\nmca_(dessert_candy),1\nns.x,1\nbaphomet_(monster_girl_encyclopedia),4\nfrolaytia_capistrano,4\nunlimited_shining,0\nserving_dome,0\npaw_print_palms,0\nsea_urchin,0\nshun_goku_satsu,0\ntrench,0\ngreenteaa,1\nseiryuu_(kemono_friends),4\nfranham,1\ndampi,1\nohisashiburi_(style),0\nprincess_2_(sekaiju),4\nrururu_(pyrk8855),1\narmbar,0\nfull_stomach,0\ntwoearle,4\naudible_internal_cumshot,5\nmetalhanzo,1\nlabombardier!,1\nbodyguard,0\nhazuki_(etcxetc),1\nshijima_(4jima),1\nhato_rami,1\nhofumaso,1\nkagio_(muinyakurumi),1\nkurata_mashiro,4\ngazelle_horns,0\nrusalka_schwagerin,4\nmecha_request,5\ntakano_saku,1\nvalkyrie_profile_2,3\nfantina_(pokemon),4\nrir-chan,4\nss_insignia,0\nignite_(artist),1\nmaou_(demonlord),1\nnini_yuuna,4\nhoof_shoes,0\nmatsunaga_(haku),1\nleaking,0\nmithrun,4\nmahou_shoujo_site,3\ndna,0\nlolita_majin,1\nrhythm_tengoku,3\nkamisaka_haruhi,4\nfile,0\nshycocoa,1\ndakara_boku_wa_h_ga_dekinai,3\nhonekawa_suneo,4\nsahau228,1\ndual_drum_magazine,0\nregene_regetta,4\npowzin,1\nruriri,1\nshitaisan,4\nfreze,1\nkatsura_ken'ichirou,1\ntaion_(xenoblade),4\nford,0\ntokkoufuku,0\nnamacha,1\noperation_crossroads,0\ntonari_no_kaibutsu-kun,3\nnovelance,1\norange_print,0\nsquidsmith,1\nfuu_(fuore),1\nsimon_(ttgl)_(cosplay),0\nrossciaco,1\nwatanabe_wataru_(character_designer),1\nishida_(segu_ishida),1\nasarime,1\nlibeccio_(kancolle)_(cosplay),0\nnike_(nike1060),1\nbarbie_movies,3\nawp_(girls'_frontline)_(nekoya_(liu)),4\nraphael_(tmnt),4\nyamasachihiko_(housamo),4\nmjn,1\ntanaka-kun_wa_itsumo_kedaruge,3\ncharisma_establishment,0\ntomochi_(tmc_tmc8),1\nartoria_pendragon_(swimsuit_ruler)_(second_ascension)_(fate),4\nkonya_karasue,1\ncum_on_lips,0\nmochiko_(mochiko3121),1\ntonttu,4\nd_omm,1\nstilts,0\nlyon_(gensou_suikoden),4\nhiro_hamada,4\nxurkitree,4\nsymphonic_rain,3\nhoshino_fuuta,1\n12_graka,1\nkilt,0\nsailor_v,4\nleprechaun_(last_origin),4\nred_stripes,0\ntorakichi_(ebitendon),1\nimamiya_pinoko,1\n6q_(rokuku),1\nle_fantasque_(warship_girls_r),4\nstreaking,0\ndanboo,4\nseirei_gensouki,3\nadahcm,1\ndorothy_(arknights),4\nsuzuya_(kancolle)_(cosplay),0\ntime_bokan_24,3\nhyakkisyo_shion,4\nrindou_(rindou_annon),1\nmiike-chan,4\ncracked_phone,0\ngouto,4\nbad_haro,4\neryz,1\nx-boy,1\nmoke_(gaton),1\nlabel,0\naxl_(mega_man),4\nmuto_dt,1\nb.d,1\nzhili_xingzou,1\nlaofuzi_dai_bansho,1\nshiben_(ugvu5784),1\ncharlotte_corday_(swimsuit_caster)_(fate),4\ninaho,1\nkubong,1\nrinku_(rin9),1\nmunakata_hinano,4\ncowl,0\ncrisalys,1\nstuds,0\nitou_(very_ito),1\nred_romanov,1\ninazuma_(azur_lane),4\ncoal,0\npacket,0\nkajiki,1\nice_bucket,0\nduster_(mother),4\ntaitai,1\nunlikely_accident,0\nmoegi0926,1\nbonta-kun,4\nshigeryun,1\ndevilman_(character),4\nkoutarou_(plusdrive),1\ncantarella_(vocaloid),3\ngyo,1\ninoue_kouji,1\nkitaouji_sakura,4\nnarukami_ginryuu,1\nmclelun,1\nyaku_yojino,1\nnoibat,4\nniwashi_(yuyu),1\nrobert_knight,1\nys_(fall),1\npg_(pgouwoderen),1\nshindou_kamichi,1\ndjibril_aries,4\nw.k,1\nbikuseno,1\nnarisokonai,1\nammonio,1\nkatourennyu,1\nphalanx_ciws,0\nbit_(keikou_syrup),1\nparutoneru,1\nyamahara,1\nmiharu_(cgsky),1\nuzuta,1\npen_(steelleets),1\nkamen_rider_drive,4\nfubukihime,4\nsasha_waybright,4\ngeko,1\ncassie_(acerailgun),4\nsen_(77nuvola),1\nsaizo_(fire_emblem),4\nbreast_drop,0\ntamaki.,1\nventilation_shaft,0\nkiko_(okuwae),1\nsummer_tail720,1\nmoonlight_greatsword,0\njyaoh0731,1\nmokyumokyuchan,1\nsugamo_(rainysnowy108),1\ngradient_footwear,0\n61cm_quadruple_torpedo_mount,4\nfire_emblem_engage,3\nsg_(satoumogumogu),1\npinchi,1\nhappy_holidays,0\ns&w_m&p,0\nnemo_(leafnight),1\nnewcastle_(azur_lane),4\ntsona_(nyantcha),4\nhaoumaru,4\nnosa,1\nhachiware_(8ware63),1\naki_(mare_desiderii),1\ntesin_(7aehyun),1\npokemon_ranger_(pokemon),4\nmikhail_(drag-on_dragoon),4\ntakatisakana,1\nryuusui_arumo,1\nh.an_(516635864),1\nlaspberry.,1\nishihara_(kuniyoshi),1\nmary_hunt,4\nvictorian_romance_emma,3\nleonardo_(tmnt),4\nlittle_boy_commander_(azur_lane),4\nrikku04,1\nunjem,1\nkurousagi_tetora,1\nstyle_request,5\nharu_(toyst),1\nfinal_fantasy_unlimited,3\nminamoto_chikaru,4\nrickenbacker,0\nrental_magica,3\nmamiya_chiaki,4\nchouhi,4\nmerchant_(dq3),4\nnanbara_chizuru,4\nholon,4\nribbons_almark,4\nhirake!_ponkikki,3\ndream_demon,1\nyukari_(konekonekozou),1\nfuku_kitsune_(fuku_fox),1\ngekkou_no_carnevale,3\nfearow,4\ntamago_tomato,1\nyamamoto_shima,1\niroha_(unyun),1\nhoundour,4\nmomone_momo,4\naina_rive,4\nnagisa_honoka,1\nmelkor_mancin,1\njoel_jurion,1\ndan_kim,1\nkyara36,1\nhinako_(issho_ni_training),4\nalex_louis_armstrong,4\nein_lee,1\noba-min,1\nebinera,1\nrekka,1\numihara_kawase,3\ncircumcised,0\ngelato,4\nmultishot_rocket_launcher,0\nrxjx,1\nyuya_(minus-k),1\nkanojo_ga_flag_wo_oraretara,3\nshirai_tanuki,1\ntenshouin_eichi,4\nseel,4\nkata2yama,1\nselenoring,1\nsumeragi_kou,1\nbarry_go,1\ntegaki_no_yuu,1\nkky,1\ntouge_(kubiwa_tsuki),1\nkometsubu,1\nnagashi_soumen,0\ngazelle_tail,0\nurahara_kisuke,4\nmanno_(kanpi2100),1\nfuugetsu_makoto,1\nkamonabe_(kamonabeekon),1\nnautilus_(animal),0\nyuria_shardet,4\nmar10,1\nmomihige,1\nnekomushi,1\ndarmanitan_(standard),4\nhigeepon,1\nmomochi_tamate,4\ngoggles_on_eyes,0\nmacrophage_(hataraku_saibou),4\nion_(on01e),1\nkonoe_(fogtracks),1\nuuron_(nkktmrrr),1\ntoma_(norishio),1\nwifi_symbol,0\na3!,3\napron_removed,0\ncomiket_91,3\nhisaka_hazara,1\nkonnyaku_(yuukachan_51),1\ncolo_mag-chan,4\nuzuki_hiro,1\nokamura_(okamura086),1\nmasago_(rm-rf),1\nnaoko_(juvenile),1\ndouble_helix,0\nroad_kamelot,4\n723_(tobi),1\nlilia_vanrouge,4\nlarge_bulge,0\npurple_corset,0\nmcgmark,1\nkuuma25_kuma,1\nyuugatou_(yuuzutu),1\nkyuu_umi,1\n320_(romsen),1\nluna_lovegood,4\nfugaku_(miko_no_miyatsuguchi),1\naoki_kei,4\nkupuru_(hirumamiyuu),1\nalice_elliot,4\namaiwashi,1\nbubblegum_crisis,3\nhatano_kiyoshi,1\nnakiusagi,1\ngofa,1\nhoopa_(confined),4\nhinokuma_ran,4\nhoshino_koucha,1\nlemuen_(arknights),4\nu_ronnta,1\nbaldr_(series),3\ndemoman_(tf2),4\nsoul_cradle,3\nsupreme_(module),0\nasano_fuka,4\nratchet_(transformers),4\nhamico,1\ntatuhiro,1\nbeige_blouse,0\nholding_handkerchief,0\nveil_lift,0\ndevil_trigger,0\nminakata_hizuru,4\nentoma_vasilissa_zeta,4\njewelry_box,0\nlin+,1\njiki_(gkdlfnzo1245),1\nkjera_(arknights),4\ncookie_cutter,0\nshoochiku_bai,1\nsakuraba_tsukasa,1\ngreen_(grimy),1\nhutaba_29,1\ntohoyuukarin,1\ngame_boy_advance_sp,0\nreum,1\nhijirino_yuuta,1\nkawaisou,1\ncollar_removed,0\ngrip,0\nokingjo,1\nheartless,4\ntokimeki_memorial_girl's_side_3rd_story,3\nsunatoshi,1\nda_huang,1\ngn_drive,0\nyato_(noragami),4\nhasuga_sea,1\nanti-tank_rifle,0\nkikai_(akita_morgue),1\ndj_octavio,4\nkamen_rider_ghost,4\nhyakunin_momoko,1\nkanel,1\ngrand_master_(elsword),4\nikusagawa,1\nborumete,1\npriscilla_barielle,4\ndotera_(clothes),0\name_sagari,1\nmasgamjya,1\nfubuzilla_(shirakami_fubuki),4\npotato_(pui_pui_molcar),4\nhelmet_musume_(kancolle),4\nmega_man_legends_3,3\ng-forest_goddess_(ishiyumi),4\nprince_of_wales_(sun_shining_upon_windsor)_(azur_lane),4\nkuma_kai_ni_(kancolle),4\ncure_sunny_(princess_form),4\nantenna_mast,0\nfrankenstein's_monster_(swimsuit_saber)_(third_ascension)_(fate),4\nharmony's_clownfish_(splatoon),4\nitou_takeshi,1\ndensetsu_no_yuusha_no_densetsu,3\nhermitaur_(armor),4\nka-9,1\nrokujouma_no_shinryakusha!?,3\nyokodera_youto,4\nvirus_(obsession),1\nbattlegaregga,1\nsharon_(dodomayo),4\nmizushiro_celica,4\nsparkling_daydream,0\nice_(aitsugai),1\nmarshal_(pokemon),4\nmojacookie,1\ntokishima_haruto,4\ngrisaia_no_rakuen,3\nayakase_hotaru,1\namaenaideyo!!,3\niria_(yumeirokingyo),1\noomori_harusame,1\nlamretta,4\notonashi_ryouko,4\nuniskie,1\n778-go,1\nmaguro_teikoku,1\nkanta_(pixiv9296614),1\nshut_hell,3\nmosi_l,1\nanne_happy,3\ndelta_nonbiri,1\nhaun,1\neclair_(la_pucelle),4\nsorotu,1\ngraph_(object),0\nlucia_fex,4\neve_(black_cat),4\nkuroten,1\nshiero.,1\nhasumi_elan,1\nmudsdale,4\nfake_antennae,0\nnargacuga,4\nbushinofuji,1\nsharlorc,1\nnorman_(pokemon),4\nfurukawa_akio,4\ntakoongyi,1\ndudul,1\ntakani_yoshiyuki,1\nfox_statue,0\nbukiko,1\ntekken_5,3\nark_john_up,1\ninarizushi,0\npenguintake,1\nema20,1\nseedark,1\nmifuta,1\nre_lucy,1\nsnow_sculpture,0\nimplied_erection,0\nsanada_yuki,4\ntake_(kancolle),4\naicedrop,1\nkiss_x_sis,3\nsnowmi,1\nhedgehog_tail,0\nashima_takumi,1\nwani_(fadgrith),1\nheru_(goldprin),1\nnashigaya_koyomi,1\nazuma_ezu,1\nbluecup,1\nrocbouquet_(saga),4\npurinpu,1\nibenz009,1\nshakeda_mamoshirou,1\nnekonoki_mochi,4\nshimakaze_(seal),4\nshooting_star_d.va,4\nlost_crusade,3\nleopon_(animal),0\ndesert_camouflage,0\nhaida_katsuretsu,1\nryuu_tou,1\nchrono_(chiruto),4\nemma_the_gentle_blade,4\nleif_(fire_emblem),4\neiyuu_senki_ww,3\ninoue_yurina,4\ngouka,1\nmomo_hiki,1\nikazuchi_(azur_lane),4\nbalisong,0\naranara_(genshin_impact),4\nkonohanaya,1\ninoichi,1\nsmile_(qd4nsvik),1\nholding_hair_dryer,0\nkarikura_(atatata71),1\nllc,1\nbleach:_the_thousand-year_blood_war,3\ndigimon_world_re:digitize,3\nmalayan_tapir_(kemono_friends),4\npurple_sports_bra,0\nboroboro_no_elf-san_o_shiawaseni_suru_kusuri_uri-san,3\nprattkeeping_(meme),0\nmoegi_nenene,1\nmirror_(xilu4),1\nnekkeau,1\noku-sama_wa_joshi_kousei,3\nqiqo,1\nohiya,1\nchoko_(arc_the_lad),4\ncrystal_wings,0\ntype_94_shiranui,4\neyedrops,0\nkutani,1\noogami_marina,4\nzen_and_retro,1\nursula_(fire_emblem),4\nbucho,1\noshare_kyoushitsu,1\nnora_arento,4\nrhinoceros,0\nakane_yutaka,4\npink_sniper,3\nishida_hiroyuki,1\nmihoshi_academy_uniform,0\nblassreiter,3\nrirakukan,1\nvan_hohenheim,4\nanastasia_valeria,4\ncloud_of_darkness,4\nwhite_rock_shooter,4\nkisugi_akira,1\nzenn,1\nemporio_alnino,4\n45acp,1\nrokushou_kokuu,1\nmitsuki_mantarou,1\nsuper_mario_64,3\nracking_slide,0\nseverus_snape,4\nlisa_hamilton,4\ntessai,1\nmonkey_costume,0\nfatalbug896,1\nhamamo,1\nlostunicorn,1\nmagic_knight_(disgaea),4\nterumi_mei,4\ntako_seijin,1\nbutakun,1\nmutou_keiji,1\nhassu,4\nnegamaro,1\noboro_keisuke,1\ntachibana_misato,4\nzhu_fun,1\ncqingwei,1\nelementalist_lux,4\nniac,1\nkoshio,1\nfur-trimmed_crop_top,0\nsepia_belmont,4\namano_nene,4\nkiikanna,1\nnujima,1\ngobi_(jtnyrwbkohiqsuldg),1\nbuun_ko,1\ntoxtricity_(amped),4\nred_fox_(kemono_friends),4\ntazaki_hayato,1\nonomekaman,1\naoi_(kirabosi105),1\nyotsuba_tamaki,4\nsulcate,1\nradio_booth,0\nfloating_necktie,0\nkagura_chizuru,4\nkingler,4\nshiftry,4\ncity_hunter,3\nargo_the_rat,4\nlicking_blood,0\nmetroid:_other_m,3\nmano_aaa,1\ndominic_sorel,4\nhazama_michio,4\nofficer_d.va,4\nfriden_(hentai_elf_to_majime_orc),4\nkyouka_jinrui_amunero,3\nruki_(ruki6248ta),1\nnihon_joshikousei_zukan,3\nfufumi,1\njames_turner,1\nbat-eared_fox_(kemono_friends),4\nkousei_horiguchi,1\nkuriyama,1\nspring_man_(arms),4\nthe_personification_of_atmosphere,3\ncomiket_90,3\nhound_(sekaiju),4\naqua_pubic_hair,0\nhakoiri_nekohime,1\nkyachi,1\nhiru_okita,1\niro_marimo,1\nkinohara_hikaru,1\naoi_nabi,4\nruruepa,1\nserika,1\nyuge_(mkmk),1\niyutani,1\nsekino_takehiro,1\ncappy_(mario),4\nharlock_saga,3\nmegatama,1\nchan_(akuty_ikkot),1\neverydaysleep,1\nsaijou_satoru,1\nsailor_cosmos,4\nmari_(maritan),4\nkuroda_asaki,1\ngrandguerrilla,1\nkozato_(yu_kozato),1\nhazbin_hotel,3\ntaro_(peach_taro51),1\nshirley_medison,4\ntouhourh,1\nmacross_delta:_zettai_live!!!!!!,3\ntoadette,4\nmonster_(manga),3\nrakkidei,1\nabs_cutout,0\nmomotarou,3\nhc2002,1\nbucket_of_chicken,0\ncjmy,1\narai_sumiko,1\ncheek_piercing,0\nbird_request,5\nshirone_(coxo_ii),1\nrikuguma,1\napril_o'neil,4\nmacbail,1\ngeisha,0\ntakahashi_kurage,1\nseon_(seonon_),1\nichihachiyon,1\nchain_between_breasts,0\nflat_(joppin_karu!),1\nrabite,4\nhairstyle_request,5\naramori_susumu,1\ntiri_man,1\njiitarou,1\nringobatake,1\nsiya_ho,1\nhoodie_removed,0\nadora_(she-ra),4\nryle,1\nhoshigaki_kisame,4\nyuu_(mboj_fdk),1\nsaigi,1\nrosette_christopher,4\nmorumoru_x,1\nplaid_neckerchief,0\nquick_shirt,0\nheart_apron,0\naltrene,4\nsa'yuki,1\ntoriyoshi,1\ntarutoru,1\nmarmot_ears,0\nfayt_leingod,4\nnoy,1\ncortana,4\nmizuki_(vtuber),4\nyoutou_hime_(onmyoji),4\ninuneko,1\nkomugiko,1\ndelightfully_fuckable_and_unrefined!!,3\nshimazu_toyohisa,4\nprint_mask,0\nruri_dragon,3\narmcho,1\nfinger_wagging,0\nkuroyume_(dark495),1\nkiyosato_0928,1\nojiro_mashirao,4\namasaka_takashi,1\nsotogawa_max,1\noda_eiichirou,1\nniwasane_(saneatsu03),1\nsetsu_(dream_c_club),4\nconnor_kenway,4\nrevtilian,1\nurin_(umi_monogatari),4\nyamato_nadeshiko_(street_fighter),4\nachyue,1\npopstar_ahri,4\nc-7_(assate),1\nyukako_(toyoyuki),1\nzoo_(oukakumaku),1\nzenmaibook,1\nfiore_brunelli,4\nzipper_panties,0\nlidelle_(puyopuyo),4\nrenew_vivi,1\nlego_(medium),0\nmii_gunner,4\nsexy_guilty_(idolmaster),0\nasakura_aoshi,1\nheidi_(arknights),4\nshirorin_(ballet_girl's),1\ndameyoshi,1\nmuvluv_unlimited:_the_day_after,3\nzy_(zyyyyyyy9),1\ndeel_(haevest),4\nfrom_software,3\nkobutanori,1\n.com_(bot_com1),1\nice_place,1\nnefarian,1\nnoble_works,3\nyaoya_musuko,1\nshirotaka_(shirotaka),1\namanchu!,3\ntyouya,1\nkoro-sensei,4\nkomase_(jkp423),1\nkaranomori_shion,4\nnomoc,1\nloyproject,1\nsakuragi_mai,4\nmetal_man10,1\nreco_(fortunequest),1\nshimazu_tekkou,1\nraquel_applegate,4\ntadpole,0\nprincess_allura,4\nmakigumo_kai_ni_(kancolle),4\nspider_print,0\nrin31153336,1\nmizuiro,3\nkaiduka_akuta,1\ngreen_night,1\nmatajirou_(matagiro),1\nkannazuki_aoi,4\nmayohi_neko,1\nmehonobu_g,1\nzaisu,0\nchobi_(sakuyasakuhana),1\nhakuseki,1\nkaika,1\nponke,1\nvigna_(casual_vacation)_(arknights),4\nmigel_futoshi,1\nyamasan_(hachiman),1\nnanja,1\ntenzan_(kancolle),4\njehuty,4\nmg_pong,1\ncoma_(macaron),1\nsora_yoshitake_yuda,1\nvzmk2,1\nidemitsu,1\nliz_hohenstein,4\nsho_(shirojiro_kuroguro),1\ndomu_(hamadura),1\nlip-mil,1\nfujikura_ryuune,1\nwhite_crow,1\nflabebe,4\nmofu_mofu,1\nmomofuki_rio,1\nnase_mitsuki,4\ncrescent_(azur_lane),4\ntokura_misaki,4\narchangel_metatron_(p&d),4\ntakagaki_eru,1\nao_no_neko,1\nseoji,1\nbaicha,1\ntsunomori_rona,4\nmyouan,1\nhatori_chise,4\nyumeichigo_alice,1\nalpha-01,4\nirigoma_(jikabi_baisen),1\nriviera,3\npeephole,0\nhamakawa_ayuna,4\nshei99,1\nbelfast_(the_noble_attendant)_(azur_lane),4\nsafe_(container),0\nroitz_(_roitz_),1\nsolty_rei,3\njobo_(isi88),1\nhimenogi_rinze,4\nsmile_(mm-l),1\nenterprise_(reindeer_master)_(azur_lane),4\nsasaki_rindou,1\nchukibabo2,1\nokai,1\nkatarina_(fire_emblem),4\nliyart,1\npikarigaoka_middle_school_uniform,0\nzakozako_y,1\njapanese_mythology,3\ndanganronpa_kirigiri,3\nhand_in_pantyhose,0\nconservatory,0\nfield_ration,0\nblade_to_throat,0\ncure_etoile,4\nmini_dragon,0\nclosing_door,0\nisokaze_(azur_lane),4\nafter_footjob,0\nkelda_(akairiot),4\ndorifesu!,3\nshiratsuyu_(azur_lane),4\nsekai_wo_kakumei_suru_chikara_wo,0\ncrow_armbrust,4\nfukuro_ooji,1\nseia_(blue_archive),4\nbahamut_(final_fantasy),4\nashleigh_reid,4\ntian_kazuki,1\nzinogre,4\nstretcher,0\nmugenshiki,1\nkanno,1\nalza,1\nnicholas_d._wolfwood,4\nhana-kagume,1\ngradriel,4\ndeviruchi,4\njin_rikuri,1\nakatsuki_gomoku,1\nmouri,1\nyano_takumi,1\nst-retcher,1\nspirits,0\nswami,1\nminazuki_ruka,4\nsaitou_sumire,4\nmatsuhime_mujina,4\ndio_brando_(cosplay),0\njitte,0\nphantom2071,1\ntatejima_uri,1\nkasei-san,4\nelectro_alice,4\nkouzilow,1\nkomeiji_satori_(cosplay),0\nkuronekogata,1\npension_z,1\nsonobe_kazuaki,1\nstrip_mahjong,0\notto_apocalypse,4\nkakera,0\nkitanai_ninja,4\nvernika_answer,4\nimo_works,1\ntomo5656ky,1\nyuumura_kirika,4\nyui_tooru,1\nqueen_mirage,4\nzuzuhashi,1\nhakoniwa_tsuka,1\nchung_cthemax,1\nsirin,4\nyang_yang_(tigu),1\ngakuon_(gakuto),1\nfushigi_yuugi,3\ngudanco_(nyanmeowzer),1\nneck_brace,0\nface_hug,0\ndragon_quest_builders_2,3\npuar,4\nmankey,4\n3o_c,1\nyagatake_arashi,4\nminnie_parker,4\nutsumi_shou,4\nlaser_rifle,0\nvictory,0\nnido_celisius,1\ntorano,1\ninkay,4\nblack_nightgown,0\ntosakaoil,1\nomocat,1\nmaki_(maki_pei),1\nbibarel,4\nnissin,3\nisa_(ni-iro),1\nizumi_kirifu,1\nsolf_j._kimblee,4\ngold_nails,0\nnanakichi,1\ntart_(fresh_precure!),4\nunown_e,4\nvestal_(azur_lane),4\ndenver_(azur_lane),4\nvert_cypres,1\nhoshii_hisa,1\nlondon_(azur_lane),4\ntsuba_(guard),0\nzi_(mumei),1\nharpy_boy,0\natom:_the_beginning,3\nkuuru_(kuuru-n),1\nthomson's_gazelle_(kemono_friends),4\nraramagi,3\nsatchely,1\njewelpet_sunshine,3\nadmiral_yurika,4\nshirakawa_mikoto,4\nyasui_nori,1\noda_masaki_(b-minor),1\nwillow_(pokemon),4\nlance_(voltron),4\nmurata_taichi,1\nmixing,0\nfriedrich,4\nkutone_shirika,1\nneo_queen_serenity,4\nise_(velvet088),1\nhershuar,1\ntenjou_utena_(cosplay),0\nrei_(hokuto_no_ken),4\nmaam._(summemixi),1\nnadeko_(cookie),4\nstrarf,4\nreszurre,4\nheki_(supmore!),1\nkhamsin_nbh'w,4\nneon_(hhs9444),1\n11kkr,1\nnopinzo,1\narisugawa_juri,4\nrokita,1\ncross_cutout,0\nbonfire_(dark_souls),0\nkitsunebi_v3kokonn,1\nmhru,1\nfairymon,4\nmikuru_beam,0\nmiyazawa_yukine,4\nalternate_race,0\naurora_(azur_lane),4\nmanekinekoppoi_inu,1\nweighted_companion_cube,4\nmegurine_luka_(vocaloid4),4\nkudou_maimu,1\nhoshizora_no_memoria,3\ngunter_shulz,4\nyahan_(mctr5253),1\nhttp_status_code,0\nmemories_off_2nd,3\naccelgor,4\ncalpish,1\nbrown_kemomimi-chan_(krr),4\npeach-pit,1\nholding_sheet,0\nkio_rojine,1\nhiko_(scape),1\nrabb_horn,1\nichinose_jun,1\nkagura_kurosaki,1\nsolar_panel,0\nradiator,0\nryu_lion,4\nsjuno,1\nruroo,1\npokomi,1\nrogue_(x-men),4\ntetsuwan_woopie,1\npink_bloomers,0\ncross_tattoo,0\nmirajane_strauss,4\nnekonekosan_(kemushima3),1\nshiro_usagi,1\nhibiki_(azur_lane),4\nden_(zeroshiki),1\naggressive_retsuko,3\nmasakichi_(mmw),1\nhimekuma_ribon,4\nyenkoes,1\nsoybean,0\ntransparent_curtains,0\nhanataro_(sruvhqkehy1zied),1\nzara_due_(kancolle),4\nmichiru_(blue_archive),4\nyoshida_hirofumi,4\nhidari_shoutarou,4\ndiletta,1\nice_cream_bar,0\nzasikirou,1\ngilgamesh_(fate)_(cosplay),0\ncharacter_chart,0\nmasshirokachi,1\nmonica_von_ochs,4\naoi_mitsuru,1\nrinon_(ano_natsu_de_matteru),4\nisuzu_(azur_lane),4\nyellow_bandana,0\nlu_guang,4\ntudurimike,1\nsaber_lily_(cosplay),0\nhand_blush,0\nhironox,1\ncum_on_sheets,0\narikawa_hime,4\non_top_of_pole,0\nmisaki_kozue,1\nxiu_kukkii,1\narisakak_(valshun1225),1\nmitsuba_(threeleaf),1\nyaguchi_miu,4\nnagatomi_hasumi,4\nton-chan,4\nsumi_(monobeno),4\nhyji,1\nsakuta_ryuusei,4\nsliced,0\nwrapping,0\ngrain,1\nwakana_shiki,4\npink_crown,1\nbikini_warriors,3\nshiina_you_(tomoshibi),1\nsuccubus_stayed_life,3\nakb0048,3\nshimeji_(4_me_ji),1\nmorimoto_(ryou),4\nnatsumyun,1\noshake,1\nsoup_ladle,0\nlengchan_(fu626878068),1\nyunohana_yuuna,4\npoppi_qt_(xenoblade),4\nmay_(pokemon)_(cosplay),0\ntemari_(nekomata_okayu),4\nnull_(skev7724),1\nyanai_inaya,1\nmiserable_fate,0\nbelfast_(piping-hot_perfection)_(azur_lane),4\ngotland_(kancolle)_(cosplay),0\nharuna_(kancolle)_(cosplay),0\ngilgamesh_(fate/prototype),4\nairplane_arms,0\nhs2000_(girls'_frontline),4\nsten_mkii_(girls'_frontline),4\nhahakigi,1\nprotagonist_(caligula),4\ndsr-50_(red_peony)_(girls'_frontline),4\numeno,1\nfrog_raincoat,0\nminazoi_kuina,1\nyoshikawa_tatsuya,1\nlegs_grab,0\narutoria,1\ntsutsukakushi_tsukushi,4\nmarchen_von_friedhof,4\nchibi_(shimon),1\nsuehara_kyouko,4\nhisahisahisahisa,1\ncrab_girl,0\nkariinu,1\nhobby_(kento),1\nkantarou_(nurumayutei),1\neka_eri,1\nisosceles_triangle_(xyzxyzxyz),1\nkakitsubata_waka,1\nconcealed_sword,0\npixiv_mahou_gakuen,3\ng_kilo-byte,1\nzoku_satsuriku_no_django,3\nayumu-k,1\nnoir_(ibaraki),1\nputting_on_boots,0\ncastform_(normal),4\ntrubbish,4\nhatori_kanon,4\nclippers,0\nkuro-chan_(kuro_kosyou),4\nkasumi_(azur_lane),4\nnabekokoa,1\nshiba_kuukaku,4\nulrich_von_hutten_(mayhem_maid)_(azur_lane),4\nhead_hold,0\nsakuranbou_(cookie),4\nharu_(kuzuyu),4\nmachi_(ritovoyage),1\nkakutasu_(akihiron_cactus),1\notsudou,1\nyame_yukana,4\ntight_(ohmygod),1\nkirigakure_shura,4\nhmniao,1\nots-14,0\nceleryma,1\ndoll_on_head,0\nmarmot_girl,0\nmmhomm,1\nsaint_snow,0\nstructure,0\nnanase_yui,4\nartnohearts,1\nspider_gag,0\ndamage_control_goddess_(kancolle),4\ntesu,1\namatsuka_tsurara,4\nkanzaki_mizuki,4\nitaru_souga,1\ntriforce_print,0\nuehara_yukihiko,1\ntef,1\nyucopi,1\ngongha,1\ntoxicroak,4\ndancer_(sekaiju),4\nunder_shot,0\nlavender_skirt,0\nitou_ikuko_(style),0\nyoshida_yuki,4\ndeculture,1\nbeowulf_(skullgirls),4\nbladeless_fan,0\ncl_(h-sys.),1\nuutan_(shibainu_kakumei),1\nparmiria,1\nunabara_misumi,1\ndragon's_shadow,3\nshirasagi_rokuwa,1\nseek_solve_summer_walk!_(umamusume),0\nmega_mawile,4\nyeonwa,1\nplague_of_gripes,1\ndrcockula,1\nilia_(zelda),4\nyurie_sigtuna,4\nharuko_(chikadoh),1\nakami_fumio,1\nlongmei_er_de_tuzi,1\nsennheiser,0\namashoku_jirou,1\nmisakichi_(fechisupi777),1\nj_(onose1213),1\nnico_(nico_alice),1\nagaki_anko,1\nsteve_leonard,4\nhrt_(fujita_hiro),1\nwester_(fresh_precure!),4\nkasukabe_haru,4\nstart:dash!!,0\nryou_(ponpgo),1\nholding_folder,0\nmiyajima_hitoshi,1\nkappipe_(brd0520),1\nsouth_dakota_(solo_concert)_(azur_lane),4\nsyrup_(chiruto),4\nmenbou_(nonnontako),1\nbinaural_microphone,0\ndeitaku,1\ndiamond_sword,0\nmonogatari_series_puc_puc,3\nlanmewko,4\neye_of_providence,0\nolive_(laai),1\nhorned_girl_(jaco),4\ndasdokter,1\nojo_aa,1\nenchuu_kakiemon,1\nnoel_(cookie),4\nturbo_engine_(rakugaki_tabo),1\nprint_camisole,0\ncynthia_lane,4\nkaijin_hime_do-s,4\nsharla_(xenoblade),4\npieces_of_sweet_stars,3\nadrien_agreste,4\nchimerism,0\nhinainf,1\nalphen_(tales),4\nmisty_(pokemon)_(cosplay),0\nmei_(adomanju),1\nsnickers,0\ninferna_dragnis,4\nleona_kingscholar,4\norange_brand,1\namano_mishio,4\nmimizu_(tokagex),1\nfood_girls,3\nkoyanskaya_(lostbelt_beast:iv)_(fate),4\nmanaka_ao,4\nhoe_satsuki,1\nhikami_izuto,1\nhellboy_(comic),3\nshorts_lift,0\ntona_(nekotte),1\nharima_kenji,4\nayuhara_natsu,4\nconjoined,0\nkuromaru,1\nnumata_seiya,1\naquamarine,1\nmikado_ryouko,4\nexdeath,4\nderringer,0\nfei-yen,4\ngeister,1\ntetsuji,1\nabriel00,1\nyamamiya_hiroshi,1\nsalamander_coral,4\ntiro_finale,0\nkaraoke_box,0\nshiina_takashi,1\nshou_shishi,1\nayami_chiha,1\noku_no_shi,1\nrhyhorn,4\notton,1\nakosan,1\nhanemiya_kazutora,4\njujunaught,1\nfaize_scheifa_beleth,4\niguana,0\nbonjin,1\nb.tarou,1\nsuper_mario_bros._3,3\n6_9,0\nwhite_ensign,0\ntoku_(tokuhp),1\ndr._mario,4\nqontamblue,1\npuniru_wa_kawaii_slime,3\nnozaki_namiko,4\nrl,1\nnidoro,1\nryuusei_(kancolle),4\nsteeple,0\nri_kouran,4\nheaven_condition,0\nhyuuga_akito,4\nkurozu_(crozu),1\nikurakun_(7th_dragon),4\noverflowing,0\nyaku_(ziroken),1\ndengeki,3\nmaido_mido,1\nbosako_(haguhagu),4\nakizuki_haruhi,1\nledge,0\nsardegna_empire_(emblem),0\nkilroylw,1\nkagaya_hana,4\nmimiko_(fuji_310),1\nyamaishi_nohi,1\nyuuki_nao_(pixiv10696483),1\nshukurimu,1\nootori_gakuen_school_uniform,0\nmaruyama_akane,4\nkoharu_yoshino,4\nkomiya_hitoma,1\nokome_(kome_kuma),1\nmono_(jdaj),1\nlostorage_wixoss,3\nbefu,1\nmurasame_shia,1\nmeowstress,4\nbliss_(ferment_factory),1\ngrand_theft_auto_v,3\nhigashi_tarou,1\nuemura_shun,1\nsuzunashi,1\nootori_mahiro,1\nmakarov_(girls'_frontline),4\ngueira,4\nstalker_(game),3\nturkey_(hetalia),4\nkagome_f,1\ninaba_tewi_(cosplay),0\nayase_chihaya,4\nokazaki_oka,1\nseven_knights,3\nmyumi,1\nhayarob,1\nhanh_chu_(r_a),1\ntakanashi_hina,4\ntsukimura_mayu,4\nlshiki,1\nilima_(pokemon),4\nseams,0\nhanasaki_momoko,4\nyasutange,1\nlaunching,0\nnanatsuta,1\ncocona,1\nkutabireta_neko,1\nkuroishi_ringo,1\nastraea_(atelierastraea),1\npumpkin_on_head,0\nstantler,4\nfuyumine_naoto,4\nk.t.cube,1\nahobaka,1\ncolress_(pokemon),4\nyuritamashi,1\nforget-me-not_(flower),0\ntoo_many_butterflies,0\nkarmiel,1\nnurupo_(abooon),1\ncacao_(chocolat),1\nangel_flavor,3\nhirafumi,1\ntachi_(gutsutoma),1\ndark_rhongomyniad,0\nka11_ca,1\nriffraffhellyea,1\nblanclauz,1\naibivy,1\nyue_(arifureta),4\nmajorette,0\nkog'maw,4\ndaniyyel+jennifer,4\nbiscuit_(bread),0\nitefu,1\norchid_(orukido),1\nnessen_(live_a_hero),4\nslosher_(splatoon),0\nthisuserisalive,1\nshuto_aoi,4\ntwisted_fate,4\nurtoriy,4\nann606,1\nadam_taurus,4\nkujya,1\nkon_(fate),4\nmarlene_wallace,4\nirudana,1\nkaneda_mitsuko,1\nnora_shinji,1\nsakuraba_kaoru,4\ntakei_masaki,1\nnonaka,1\nookouchi_akira,4\nmakihatayama_hana,4\ngarlock_simon,4\nworkshop,0\nversapro,1\ntsubooi,1\nqy73,1\ntaiki_kou,4\nyowamushi_mont-blanc_(vocaloid),3\nendou_chihiro,1\nzoey_(left_4_dead),4\nnippon_housou_kyoukai,3\nkosumo,1\nkiichi,1\nrope_train,0\nsol-fa-soft,1\nkiyuzuki_satoko,1\nbust_(sculpture),0\nvery_long_tail,0\ndkoro,1\nanemone_(flower_knight_girl),4\nshikuro_(iorimiyakiyo),1\nsuperboin,1\neu_(euspia),1\nsenomiya_akiho,4\nnagi_(nagito),1\n22_(tak_ja),1\nhikaru_(houkago_no_pleiades),4\nsutaa_dasuto-kun,1\nedie_crop_hoodie,0\nyuni_(real)_(princess_connect!),4\ncobra_(space_adventure_cobra),4\nliby_(libtnvd),1\nsora_(summer_flowers)_(arknights),4\nvital_sunflower_(idolmaster),0\nnuppehofu_(nibuta),1\napoloniodraws,1\nyuusha_support_center_maoujou_shibu,3\nm1911_(girls'_frontline),4\ntakibi_(tamikyo),1\natago_(hallmarks_of_winter)_(azur_lane),4\nshao_siming_(qin_shi_ming_yue),4\ncaren_hortensia_(amor_caren)_(third_ascension),4\naoki_ruri,4\nfen_renlei,1\ntali'zorah,4\nsukedai,1\nellis_(toushinden),4\naina123,1\nrounin_(amuza),1\naebafuti,1\ninato_serere,1\nkatou_techu,1\nikusotsu,1\ntadano_kazuko,1\nkoimonogatari,3\ngensokigou,1\nbarufoa,1\ntochinoko,1\nberyl_(junkpuyo),4\nsnover,4\nsuzu_(minagi),1\nsuncle,1\nkohaku_q,1\ns4_uniform,0\niroha_(akei0710),1\nsilque_(fire_emblem),4\nandou_inari,4\nyugo_(yugotme97),1\ntsukishima_maira,4\ncardfight!!_vanguard_g,3\nkoujouchou,1\ngirls_book_maker,3\ncucumber_slice,0\noomura_karasu,1\nzea_cornelia,4\ndailykrumbs,1\nakai_kagerou,1\ncure_honey_(popcorn_cheer),4\nshiranui_akeno,4\nvelahka,1\npaine_(ff10),4\nyagita_(astronomie),1\neuropa_(fate),4\nkatherine_mcbride,4\netori,1\ntakoyaki_(takoyaki-batake),1\nachi_cirno,4\npurumetal,1\nluchador_(granblue_fantasy),4\nsecurity_camera,0\nsashiyu,1\ntied_skirt,0\nintangible,0\nacross_the_stars_(idolmaster),0\nkagami_hayato,4\nescort_fortress_(kancolle),4\nazusagawa_sakuta,4\narms_note,3\nminori_(faddy),1\nmaruco,1\nyuzuri_ai,1\nyuuki_arisu_(yuigi),1\ndevil_maker,3\nahen,1\nsuzuhara_misae,4\norie_h,1\ntsubasaki,1\naritoki_ritsu,1\nseedkeng,1\nwhis,4\nsnow_shovel,0\nfukidamari_no_peke,1\nsasakure_(mogunonbi),1\ngood_meat_day,0\ndizdoodz,1\nolaf_(frozen),4\notowa_(otoha4634),1\nhanabusa_sumireko,4\nsquishing,0\njun_project,1\ncyber_dragon-kun,1\nminoseki_gakuin_uniform,0\nwhite_polka_dots,0\nbayeuxman,1\npuui_(grandia),4\ntendouji_musubi,4\ngamecube_controller,0\nursula_(breath_of_fire),4\ndelores_(mvv),4\nocchan_(11715),1\nsword_art_online:_alicization_rising_steel,3\nyuuki_chima,1\nraraiya_monday,4\nms._smith,4\nmale_prostitution,0\nkaoru,1\ncatalyst_scimitar,0\nprince_(sennen_sensou_aigis),4\nmaid-chan_(ramchi),4\ntachibana_satomi,4\nmitarashi_neko,1\nnikusenpai,1\nremoving_hat,0\ntabard_lift,0\nizutsumi,4\nbroken_screen,0\ntokugawa_ieyasu_(sengoku_basara),4\nlolo_(kemonono),1\nshinjuku_(tokyo),0\nculottes,0\nremote_control_vehicle,0\nkure_jirou,1\nmomose_narumi,4\nwangzhe_rongyao,3\nshirayuiii,1\ndmt_(auburn),1\ndosanko_gyaru_wa_namaramenkoi,3\nholding_case,0\nkabu_(niniko2ko),1\nmizuki_mau,1\ncherry-gig,1\nichikushi_mojibake,1\nomagacchu,1\nsuzuki_mikura,4\nprotagonist_(honkai_impact),4\njade_(gemstone),0\nairool,1\nmidorikawa_lettuce,4\ncyber_punked_wattson,4\nalstroemeria_(idolmaster),0\nitou_youichi,1\nnair_(mindcreator),1\nasla_yu,1\nzaraki_kenpachi,4\nkijima_shia,4\nbkko,1\nwemu_(ivycrown),1\ncyoppu,1\ngetiao,1\nroah,1\nyumeria,3\nsiscon,0\naburame_shino,4\nviper_gts,3\nmakibi_kiyone,4\nonohara_asami,4\nmyonde,1\noppai_baka,3\nkurogin,1\nidashige_(walkietalkie),1\nxemnas,4\nouka_nagisa,4\ncyanomirahi,1\nkawamura_tsukasa,1\nkoromon,4\nsplash_woman,4\nlive_a_live,3\nhayami_tsurumasa,4\nengineer,0\nhot_sauce,0\ntennouji_kotarou,4\nneon_genesis_evangelion_anima,3\njukebox,0\nbowling_pin,0\nsizucomaru,1\ndmitrys,1\nlotus_land_story,3\nnatsumi_hajime,1\noasis_(stand),4\nmusou_yuchi,1\nmargot_knight,4\nalfimi,4\nmac_naut,1\nhinabu,1\nhimeki_luna,4\nstrike_freedom_gundam,4\nshain_roki,1\nzuburoku,1\nzatou_(kirsakizato),1\nboshinote,1\nstanag_magazine,0\ndarius_(series),3\nmugcup,1\ns.h.v,1\nmaira_gen,1\ncloudy.r,1\nhilda_ware,4\nunohana_pochiko,1\nlarvesta,4\nprimeape,4\nunno_hotaru,1\npurea,1\nnoto_mamiko,4\nshibanme_tekikumo,1\nearring_removed,0\nrk_(rktorinegi),1\nsingle_bare_arm,0\nkohaku_hearts,4\nsitting_on_ball,0\nph.,1\nyuki7128,1\nbanica_conchita,4\npalanquin_d.va,4\norange_tongue,0\nsunao_nako,4\nmelisaongmiqin,1\nmechanical_boots,0\nhound_2_(sekaiju),4\nmenori,4\ntaric,4\nshanghmely,1\nusagi_poi,1\nirisdina_bernhard,4\nkatsura_kokoro,4\nhungry_seishin,1\nhalf-soles,0\ngrapefruit,0\nfemale_fertilization,0\nsophia_ascart,4\nsorbet,4\nwalther_p38,0\ngoripan,1\nminase_kaya,1\nvending_cart,0\ntwinkle_crusaders,3\npark_ongjol,1\nsusuwatari,4\ncum_on_tail,0\nnao_(syn_eaa),1\nakanishi_erika,4\nholding_crayon,0\ngerbera,0\ncartoonized,0\nmil_k_vanilla,1\nstoutland,4\nasura_(asr4000),1\nujiie_moku,1\ntorn_bow,0\ntaono_kinoko,1\nbunny_ornament,0\npringle_duck,0\ncradling_head,0\nmidori_aoi,1\nno_horn,0\nstewsui,1\nwakaba_(kemurikusa),4\nmatilda_(matildax),1\nsawed-off_shotgun,0\nacid_trip,0\ntakase_yuu,1\ngozaemon,1\nzato-1,4\nonionworkshop,1\nshi-chen,1\nwendy_testaburger,4\nbroiler,1\nyuuya_(yu-ya's),1\nriot_shield,0\nz.nov,1\nkushana,4\nmiyano_shiho,4\nsatetsu,1\ndakuazu,1\nyatsuha_(hachiyoh),1\nharuyuki_(gffewuoutgblubh),1\nrecare,1\nitoji,1\nbunny_ayumi,4\nsagami_jun,4\nsai_(bankoru),1\nski_gear,0\ndywx_poison,1\ntareko,1\nassassin,0\nnishi_juuji,1\nturo_(pokemon),4\nmillia_jenius,4\ngirafarig,4\nspectral_souls,3\nandanon,1\naoi_minamo,4\nminami_(minami373916),1\nmanggapaegtoli,1\nnashiko_(nanaju_ko),1\nskeleton_(helltaker),4\nlounging,0\nyuu_(tiny_evil),4\nuzaki_yanagi,4\nhuge_horns,0\nimminent_bite,0\nyona_(akatsuki_no_yona),4\ntonbo,1\nhiiragi_mikoto,1\nqixia,1\nkito_(kito2),1\nhimajin_(starmine),1\nmaqin,1\nryusei_(ryusei_b),1\nfootjob_over_clothes,0\nchristmas_dress,0\nshooting_gallery,0\nkazami_yuuka_(cosplay),0\ntemari114,1\nexcel_saga,3\nogu_(oguogu0523),1\nwheelie,0\nneg_(101neg),1\nheart_arrow,0\nnano-nano_pudding,4\ndragon_ball_xenoverse,3\nbonk,0\nyuunagi_(seventh_heaven),1\nlrh0123,1\nshitogi_eris,4\nhilda_(series),3\nsugisaka_umi,4\nsilent_sinner_in_blue,3\nshiori_(xxxsi),1\nyojouhan_shinwa_taikei,3\nsaikachi_(ogre_tree),1\nmatsuyama_kumiko,4\nminari_(minari37),1\nsuko_mugi,1\nbunches,0\nneglect_play,0\nyuuki_kazuhito,1\neureka_seven_ao,3\nsou_(mgn),1\nold-fashioned_doughnut,0\nseong_mi-na,4\nmori_kotarou,1\nstellar_theater,3\nfeast,0\nxiaoguimist,1\nmass_effect_3,3\nbrynhildr_(swimsuit_berserker)_(fate),4\nnatsuiro_xx,1\npepe_the_frog,4\nsa_ioio,1\njack_(darkshero),1\nyorurokujuu,1\ndu_mogu,1\nconstellation_costume,0\nrikorin,1\nbashosho,1\ntakahashi_rie,4\nbangom_r,1\nnin_(lion),1\nnazo_no_anime-dan,1\ntomoe_(fdhs5855),1\nnezha_(the_legend_of_luoxiaohei),4\nushimochi,1\nurrrt,1\nnew_pokemon_snap,3\nikeda_emi,4\nyutian_alice,1\njiraiya_(housamo),4\nokosama_lunch_(sendan),1\nxialuluo_(sharuro),1\nzap_renfro,4\nmib_mamizou,4\ntkbn_r,1\nshikaya,1\nhimiko_(third_ascension)_(fate),4\nthors_military_academy_class_vii_uniform,0\naegir_(iron_blood's_dragon_maid)_(azur_lane),4\ntitan_(generic)_(shingeki_no_kyojin),4\ntamuhi,1\namakusa_shino,4\nodaodaoaoda,1\nfujimaru_(bluebrand),1\nsatou_akane,4\nkanimaru,1\nmeruru_(oreimo)_(cosplay),0\njake_muller,4\npochi_(poti1990),1\nnorinco,1\nflat_top_chef_hat,0\nelf_(dq10),4\nyamoto_koki,4\neltnum,4\ntraveler_(journey),4\nsuzumiya_haruhi_no_tsuisou,3\nsprout_(33510539),1\ncole,1\nmt._silver,0\ntorn_hakama,0\nkayou_(kayou-bi),1\neruu_(eruuman),1\nai-kun,4\nchicken99,1\nnegiwo,1\nsana423,1\nphilipp_urlich,1\nannoying_dog,4\nseele0907,1\nsatoshi_(peso727),1\nzeru_(wisel_army),1\noichi_(sengoku_basara),4\nmichiru_donut,1\n2d_dating,0\ntsumeki,1\nariaridoradora,1\nrosenburg_engel_(idolmaster),0\nhashimoto_takayoshi,1\ngaogaigar,4\nhayama_hayato,4\nwaist_hold,0\nmelty_(suisei_no_gargantia),4\nnishi_minami,4\nfuyube_gin_(huyube),1\nsein_(nanoha),4\ntiara_(fairy_fencer_f),4\nnananana_nanana,1\nmoeru!_jiten,3\nennui_heiwa_miku,4\nhinata_aki,4\npetralka_anne_eldant_iii,4\nyozo_(stanky),1\nwatashi_nouryoku_wa_heikinchi_de_tte_itta_yo_ne!,3\nhououmaru_rei,4\ntriuni,1\ntakeda_yuuko,1\nwendell,1\nrafchu,1\nwally99,1\nyazawa_nico_(cosplay),0\nkafuu_chino_(cosplay),0\nmuchabou,1\ncuna_(qunya),1\nsupportasse,0\nhitotsuki_no_yagi,1\nviki_(suikoden),4\nherme_(ohisashiburi),4\nklasse14,3\nmega_rayquaza,4\nskull_hat_ornament,0\nellie_(the_last_of_us),4\narima_kousei,4\nspeedoru,1\narima_nana,4\nsakura_ritsuki,4\nmargery_daw,4\nthumbnail_surprise,5\nmiyashiro_karin,4\ntomura2maru,1\nkamome_yuu,1\ntotto_(naka),1\nzaveid_(tales),4\nmeis_(promare),4\nsatonaka_narumi,4\nmirai_suzu,4\nkowata_makoto,4\nroon_(dark_red_grin)_(azur_lane),4\nyonic_symbol,0\ntawapo,1\nhiroki_(hirokiart),1\nvomiting_cum,0\ndeerling_(spring),4\nnagoooon_114,1\nelbow_on_table,0\nartery_gear:_fusion,3\ndeepcolor_(arknights),4\nakure_ekuto,1\nayame_(tenchuu),4\ncurly_eyebrows,0\ndodok_(gj77230),1\nheart-shaped_cake,0\nmishiranu_joshikousei_ni_kankin_sareta_mangaka_no_hanashi,3\nbeagle_(arknights),4\nuu-tan_(hushigi10),1\nsitting_on_drum,0\nmarnie_(pokemon)_(cosplay),0\nyunweishukuang,1\nleafa_(terraria),4\nkashmir,1\nalthea_(sakiya0000),1\nsherlock_holmes_(cosplay),0\nbloodycat,1\ndynamax_ball,0\nrahxephon,3\nirie_kyousuke,4\nkatou_emiri,4\nawatake_takahiro,1\nmiche,1\nyarawi,1\ntarma_roving,4\nmaria_tachibana,4\nhuujyu,1\nrinmei,1\narthur_(code_geass),4\nsuccubus_(mabinogi),4\notosume_ruiko,1\nhoshii_1213,1\nnagahama_megumi,1\nudder,0\ndoromizu,1\nmana_(yu-gi-oh!),4\nza_warudo,0\nphanpy,4\nmatsuki_ringo,1\nusumy,1\nbummerdude,1\najimu_najimi,4\nkumajirou_(hetalia),4\nchinjuu_hibakichi,1\njinguuji_ren,4\nironashi,1\ngomibuta_kuzutarou,1\nsea_cucumber,0\netzali,4\nyuki_(cencoroll),4\nla_corda_d'oro,3\nmikanniro,1\nwatase_sanetoshi,4\nshoujo_kakumei_utena_adolescence_mokushiroku,3\nrobinexile,1\nhiking,0\nmurata_isshin,1\neggshell_hat,0\nakthree0,1\nkari_kenji,1\nmayoln,1\naoi_yuuji,1\nbands,0\ndinosaur_king,3\nkoto_suomi,1\nashita_no_joe,3\niori_utahime,4\nquadcopter,0\n2c=galore,1\nkamioka_saki,4\ndachshund,0\nblue_dragon,3\ngoal,0\nsuper_metroid,3\nbeni_(bluebluesky),1\ntoshi_hiroshi,1\nweepinbell,4\nrose_(elsword),4\njiraiken,1\nmamoswine,4\nnitta_io,4\nstoat_girl,0\naudrey_hall,4\ntachibana_rui,4\nsinistea,4\nhangleing,1\nmofumofuen_(idolmaster),0\naqua_inc.,1\nyatanukikey,1\nrelease_the_spyce,3\nkate_iwana,1\nmeister_otome_uniform,0\nmenomorute,1\nmesushio,1\ndrum_master_(granblue_fantasy),4\nslurping,0\nfriedbun,1\nsgt-jz,1\npong_(vndn124),1\namitie_florian,4\nx-overd,3\nmaru_(314),1\nargyle_shirt,0\nmuvluv_alternative_strike_frontier,3\ntoki_(tokihakashi),1\nnoumu_(boku_no_hero_academia),4\nyayin_(yayin233),1\nkensight328,1\nbisuke-tan,4\niren_lovel,1\nsnowstorm,0\nvault_boy,4\nwarlock_(sekaiju),4\nfractalmagnolia,1\ngotointhepark,1\nyameta_takashi,1\nusuke_(u_skeeep),1\nakiba's_trip,3\nharikamo,1\nearth_defense_force,3\neclair_(food),0\nginga_hyouryuu_vifam,3\nfutatsuiwa_mamizou_(tanuki),4\ndesmond_miles,4\nrui_(rei_leyi),1\nbeauty_(pokemon),4\nvomiting_rainbows,0\npanzerkampfwagen_ii,0\ngemini_seed,3\nbunny_head,0\nxkit,1\nmute,0\njigoku_meguri,1\nhiker_(pokemon),4\nsuffolk_(azur_lane),4\nfurfrou_(natural),4\ndivergenceok,1\nkinpatsu-chan_(rucchiifu),4\nachromaru,1\nmirai_(happy-floral),1\nrenxzd,1\nmikamin,1\nhourai_ninjin,1\nmoonslanstudio,1\nms._marvel,4\nlilirulu,1\norange_sash,0\nskeleton_(minecraft),4\nmuscle_envy,0\nremoving_sock,0\nleaphere,1\neve_online,3\nhonnryou_hanaru,1\ncheng_xiaoshi,4\nkatade,1\ncardigan_under_jacket,0\numenomori_chise,4\nsunfish,0\ncrystal_maiden,4\nmonokini,0\nzhanzheng_zi,1\nponta_(kounoike_tsuyoshi),4\nkeki_chogyegi,1\ntatsuta_age,1\nnitocris_(third_ascension)_(fate),4\nuchuu_ika,1\nmc_liz,4\nkerno,1\nfio_(nier),4\naaoshigatoutoi,1\nc-da,1\nmr.yun,1\n>3<,0\nsaboten_mushi,1\nkodama_shichirou,4\nsacha,1\nminos_(jashin-chan_dropkick),4\nkimono_on_shoulders,0\ndoldol_(rkwowlqrp),1\nneon_palette,0\ndetached_ahoge,0\nasatsuki_(cookie),4\nkagura_(inuyasha),4\nhanenosaki,1\nmebunryo_(mebunryo2),1\nharuwaka_064,1\nnegative,0\nptal,1\nyami_shoujo,4\nblackhole-chan,4\nbittersweet_(dalcoms),1\nyanmega,4\nikada_kai,1\nro-a,1\npearl_(steven_universe),4\nkishima_kouma,4\nmitsuru_(madeinore),1\ncoco7,1\nb:ga,1\nkey_hair_ornament,0\ntog_(shoten),1\nsaxasa_kisuk,1\nhiiragi_nana,4\nsuzui_narumi,1\ntakasegawa_yui,1\namazons_quartet,0\nmeracle_chamlotte,4\nhaze_(arknights),4\ntherese_(granblue_fantasy),4\ngarasuita,1\nposeich,1\npokiyu,1\nxxxceller,1\npenis_biting,0\nstrawberry_heart,4\nazzz_(7334080),1\nichifuji_nitaka_(phase_nine),1\nantiqq,1\nnanboku,1\ntourmaline,0\nhaine_(howling),1\nazuhira,1\nhyuse,4\npetya_(darker_than_black),4\n234_(1234!),1\ntabayashi,1\nrusellunt,1\nraindrop746079,1\nteramoto_tomiko,4\nparlor_dragonmaid,4\nhood_(lady_of_the_shining_sun)_(azur_lane),4\npinkcap,1\nromantic_saga_of_beauty_&_devil,3\nmysterious_heroine_x_(third_ascension)_(fate),4\nhelena_kai_(kancolle),4\nn9at,1\nryouya,1\nstreet_fighter_x_tekken,3\nsock_on_penis,0\nteikoku_shounen,1\nbaddap_sleed,4\nfujita_hidetoshi,1\nwet_thighhighs,0\nkurumiya_hato,1\ndouble_\\n/,0\nzairen,1\nyou_rei_(blowback),1\nryuu_(breath_of_fire_ii),4\nanarchojs,1\nstanding_on_another's_head,0\nshii_(kairi-t-k0317),1\nwakabayashi-kun_ga_nekasete_kurenai,3\ncrib,0\nlibra,0\nkazami_haruki,1\nanteater,0\nreco_love,3\nlucky_chloe,4\nprophosphere,1\nkawamoto_hinata,4\nadachi_yousuke,1\ntimido_cute,4\nblanc_neige,4\nunikurage,1\ngod_eater_3,3\nelevator_door,0\nyuuhi_(ages),1\nazuma_takeshi_(andon_kandelaar),1\nlilith_(p&d),4\nsa_(h28085),1\nkanbara_akihito,4\nkoopo,1\nkazesawa_sora,4\ngio_(maroon0924),1\nsilver_nails,0\nrinrin_(927413),1\nuchio_kazumasa,1\nmuji-muji_daruma_(genshin_impact),4\nbutajima_john,1\nhige_shinshi,1\nhero_(dka),1\nkomori-san_wa_kotowarenai!,3\nlunaluna_(queen's_blade),4\nkaede_to_suzu,3\nshiromi_(ringo),1\ncharimei,1\nkayjae,1\nootato,1\nlethe-shion,1\natu,1\nmajin_(marcia),1\nrayet_areash,4\naidumi,1\nballroom_e_youkoso,3\nkirameki_haruaki,1\nyukime_(jigoku_sensei_nube),4\nchano_hinano,1\ncecilia_(pangya),4\nmental_cube_(azur_lane),0\nprinz_eugen_(warship_girls_r),4\nkiana_kaslana_(valkyrie_ranger),4\nkitano_(zekkyon),4\nshitto_mask_(shittoden),1\nmaria_theresa_(granblue_fantasy),4\nhawkeye_(seiken_densetsu_3),4\ntaro,1\nsousei_no_aquarion,3\nazama_(fire_emblem),4\nkuuki_shoujo,4\nstanding_restraints,0\nnishiga_hachi,4\ncamp_of_hunger,1\ncrusader_(ragnarok_online),4\nhanayori_jyoshiryou,3\nryu_seung,1\nspace_ishtar_(third_ascension)_(fate),4\nseer_(apex_legends),4\nagatha_(pokemon),4\nyoubou,1\nanbj,1\ntsukise_miwa,1\ndmith,1\nshirokuma-kun,1\nsawarineko,1\nyatyou,1\nbad_face,0\nshibaebi_(yasaip_game),1\npecorine_(new_year)_(princess_connect!),4\nmakki_(tobaccos),1\nkaigun_bakuryou,1\nlingerie_(aki3240),1\nsupersatanson,1\nkonata_(kankin_jk),4\nharuka_armitage,4\nmystic_eyes_of_death_perception,0\ncirnos,1\nshinomiya_shino_(sinosino141),1\nsasaki_ran,4\ngradient_sleeves,0\nstomach_ache,0\nmomoi_airi,4\nshouin,1\ntrinity_blood,3\nisshoku_(shiki),1\nmecco,1\nzombie-ya_reiko,3\nchampagne_(azur_lane),4\narm_slave_(mecha),0\ntears_to_tiara,3\nfour_murasame,4\nquess_paraya,4\nminami_touma,4\nmiyazaki_miyako,4\narashiyama_hotori,4\nmaes_hughes,4\naquarius,0\nthe_rolling_girls,3\ngiri_giri_sisters,3\nyou_naka,1\ndaenarys,1\nzashiki-warashi,0\nshiina_aya,1\nharuse_hiroki,1\nchabudai,1\nmika_mikan,1\nicym,1\npaladin_(ragnarok_online),4\nmidler,4\naoha_(twintail),1\nkinniku_tarou,1\ngrowlanser_iv,3\nreid_hershel,4\ntm_(gf-tm),1\nbeshi,1\nmedicham,4\nmassage_chair,0\ntatl,4\nmoai_(aoh),1\nkasutaso,1\nakenoin_soumon,1\nbig-d,1\nplayboy,3\nmaclone,0\nmalga_naruze,4\nrobert_garcia,4\nsatan_(puyopuyo),4\nrooseputo_02,1\nhaiiro_gundan,1\njname,1\nmitumi_mira,1\nkuroshio_maki,1\nshinohara_natsuki,4\nmaccyman,1\ntapping,0\nrevealing_tanlines,0\nkanesada_keishi,1\nkampfer_(mobile_suit),4\npantheon_eve,1\nsyou_(endemic_species),1\ntalos_(housamo),4\nyukaa,1\nutu,1\ngarbodor,4\nhcnone,1\ndrums_(artist),1\nmaou_(maoudaisukiya),1\nhaizome_senri,1\naaron_huton_(cyphers),4\nhair_wagging,0\nd-ten,1\nmoeki_(moeki0329),1\nyurashima,1\nro635,0\nghost_of_tsushima,3\nelectro_cicin_mage_(genshin_impact),4\nyu_mochi_(kamiinu),1\nquarian,0\navril_vent_fleur,4\nsaano_chia,1\nishigami_kazui,1\naegir_(swimsuit)_(housamo),4\nroadi3,1\nakai_suzaku,4\ntanning_oil,0\nmg_kurino,1\nhandler_(monster_hunter_world),4\ndelphinium_(darling_in_the_franxx),4\nmachi_(wm),1\nganik,1\nchilla_(arms),0\ncheckered_jacket,0\ntona_bnkz,1\nkanose,1\nshituzi,1\nkarasuma_ryuu,4\nmecha_danshi,0\nvsk-94,0\nkawamura_toshie,1\nslurpuff,4\ncolumbia_(azur_lane),4\ntsurupy,1\ncherry_(saber_j),4\ngran_saga,3\nlunia,1\nnarusawa_yui,4\nvietnam,0\nharu_aki,1\nmad_father,3\ncavalry,0\nhonedge,4\ndonut_(zoza),4\nmelty_blood:_type_lumina,3\nskull_brooch,0\ngrimoire_weiss,4\nadjusting_shorts,0\nsaji_crossroad,4\nhogey_nk-2000,1\nyazwo,1\ncoat_rack,0\nsenoo_kaori,4\ncapcom_vs_snk,3\nikelag,1\nrpameri,1\ntwinbee,3\neihire,1\naayh,1\nakiyama_nenehisa,1\nklin_(girls'_frontline),4\nhano_haruka,1\nthree_section_staff,0\nkaitan,1\nkonsu_konsuke,1\npatrick_star,4\nglensaru,1\noueo,1\ndbmaster,1\nlove_makira,1\nbrown_hood,0\nspice_girl_(stand),4\nazazel_(azazel-san),4\nru2n131,1\nhiyori_(blue_archive),4\npro-p,1\nusapyon,4\ngibbous_moon,0\ninvincible_dragon_(last_origin),4\nemoji_censor,0\nkobi420,1\naxia_krone,4\nexecutioner_(girls'_frontline),4\nugai_yuichi,1\ngomosawa,1\niiimirai,1\ntriple_horizontal_stripe,0\ntel,1\niccoco,1\nyuuki_mizuho,4\nkirby's_dream_land_3,3\nsekhmet_of_death,4\nbelfraw_martini,4\nhufflepuff,0\nmiku_miku_ni_shite_ageru_(vocaloid),3\nkunimura_hakushi,1\niphone_11_pro,0\naoinagi,1\nrim_(kamitsubaki_studio),4\nmasu_shu,1\nfuwafuwa-chan_(kamiyoshi_rika),4\nwaking_another,0\nschala_zeal,4\njellal_fernandes,4\nmiyai_haruki,1\nkajikawa_yahiro,1\nhachimi,1\nbu_li,1\nadachi_shingo,1\nmetal_gear_(robot),0\nu_(mikaduki0720),1\nnanami_to_konomi_no_oshiete_abc,3\naoki_ryuusei_spt_layzner,3\nliza_(pokemon),4\nmapi,1\nturning_page,0\nkashiwagi_yamine,1\nkiske,1\nmine_(wizard),1\nmuhogame,1\nnakarai_takumi,1\nbassa,1\nnatsuzuka_(ryou),4\nshuna_(tensei_shitara_slime_datta_ken),4\ngasterblaster,0\nclint_barton,4\nnanachise7,1\ntorisudesu,1\nkuzuryu_io,4\namon_(lord_of_the_mysteries),4\nkafka_(arknights),4\nfemale_seth_(street_fighter),4\nchagamaka,1\nbobobong,1\nmusashi_(kancolle)_(cosplay),0\nflan-maman_(goma),4\nthetis_(last_origin),4\nrokki_hero,1\nsex_toy_pull,0\njude_mathis_(school_uniform),4\ndaran9,1\nokita_souji_alter_(swimsuit_saber)_(first_ascension)_(fate),4\nmoegi_emo,4\nsoburi,1\nskillet,0\nyukata_lift,0\ngogatsu_no_renkyuu,1\nsan-x,3\nrail_(silverbow),1\ntsukiori_sasa,1\ngyaza,1\nsudako_(dai011305),1\nmisa_(kaeruhitode),1\ntama_two_(fukuya),1\nclear_(dramatical_murder),4\ndagashi_(place),1\ndragon_age,3\ntaliyah,4\nutamaru_(konomix),1\nyamayoshi,1\npalossand,4\nin_cell,0\nblack_wrist_cuffs,0\nuzura_kazuhisa,1\nkoio,1\nhelen_(idolmaster),4\npanda_(pandadesu),1\nsimon_shades,0\nrance_quest,3\nkuroha_uma,1\njohn_crayton,1\nshell_(shell518),1\ntamura_masafumi,1\nluna_blaster_(splatoon),0\nmisakino_kukuru,4\nsatou_chagashi,1\nsl86,1\nlims_(neko2lims),1\naro_1801,1\nrappy,4\narishima_alice,4\njon_shicchiou,1\nwing_tattoo,0\nqbspdl,1\nkawaku,1\nrebecca_(one_piece),4\nnagant_m1895,0\nrakuji_tarahi,1\nankh_(ooo),4\nwori,1\nese_shinshi,1\nshovel_knight,3\nakutaa,1\nkyoukyan,1\nldl_(bcw1025),1\nzizi_niisan,1\nnoraico,1\nrenji_(orange_ize),1\nyotaro,1\nsptbird,1\nnazunakku,1\nlilac_(p-f_easy),1\nakr_(qpqpqp),1\nouya_(maboroshimori),1\nqian_renxue_(douluo_dalu),4\nlilith-soft,3\nsmartwatch,0\neiyuu_(eiyuu04),1\namawa_kazuhiro,1\nillustrious_(never-ending_tea_party)_(azur_lane),4\nsei_asagiri,4\nerinys_(fire_emblem),4\nlaslow_(fire_emblem),4\nozadomi,1\nailu_elf,1\nwest_24,1\nharusame_(user_wawj5773),1\nsera_karen,4\nwhyhelbram,1\njoker_(2019),3\nfoch_(azur_lane),4\ntsurugi_hina,4\ngeroika,1\ngold_ship_(racehorse),4\nsaiko_(saisaka),1\nakara_kai,1\nshiny_rod,0\niczer_(series),3\nboku_no_risou_no_isekai_seikatsu,3\ncernunnos_(fate),4\nbrough_superior,0\ntoo_many_birds,0\nnayozane_(worker7),1\nma_tsukasa,1\nmachimote_taikou,1\nalear_(fire_emblem),4\nyu_hydra,1\nmike_luckas,1\nthe_king_of_fighters_2002,3\nheaven,0\nkaneko_(bblogtinhan),1\ntenmiyakiyo,1\nmorning_glory_print,0\nsatyuas,1\nrin_(rin_niji),1\ncoffee-break,1\nnarrative_formation,0\nhannya_(arknights),0\nmotchie,1\nrefia,4\nvivo_(vivo_sun_0222),1\nswoobat,4\nasagiri_mai,4\naoki_yuriko,4\nkichin_yarou,1\nhide448,1\nihara_asta,1\nlunar_2:_eternal_blue,3\nkingu_(fate),4\nmaririn,1\nkakizaki_misa,4\ntouhaku,4\nimuraya_ayuka,1\nryoumoto_ken,1\nkokonobi,1\nclarion,4\nmitama_mayo,4\nyuuraku_yuraku,1\nking_bradley,4\nchisa,1\nkamdia,1\nmytyl,1\nchemical-x,1\ncoif,0\nno_name_ninja,1\nkaori_(azumanga_daioh),4\nayumu_(zenkou),4\nyako,1\nlifeline_(a384079959),1\nunder_the_moon,3\ngossa-tei,1\nfuguno,1\nbelle_(disney),4\nmimi_wo_sumaseba,3\naoi_toori,4\nmizuno_poppo,1\nseedot,4\ncarnivine,4\nkamen_rider_amazon,4\ntakabow,1\nmirakurun,4\norange_(meitoku),1\nfrog_hat,0\nteam_galactic_grunt,4\nkaoru348,1\ntsuchiya_kouta,4\nmunakata_(hisahige),1\nposes,0\nportmanteau,0\npenguin_hat,0\nholysnow,1\nizumi_soujirou,4\nkito_(coyo),1\nrennerei,1\nacrylicstroke,1\nfuwa_(precure),4\nsoraao0322,1\nenjutsu,4\ngold_horns,0\nkamen_rider_v3_(series),3\nmomiji_(ninja_gaiden),4\noutstretched_foot,0\ncampbell_gichou,1\nurien,4\ni_(kaiyou),1\ndog_hat,0\ncarol_danvers,4\nkishimen_udn,1\nzeke_yeager,4\nyasu,1\niury_padilha,1\ntype_21_air_search_radar,0\nsatofuji_masato,1\ndanna,1\nshiei_no_sona-nyl,3\nrevealing_swimsuit_(dq),0\n+_-,0\nbathroom_scale,0\nedwin_huang,1\nhawawa,1\nchinikuniku,1\nhatsuharu_kai_ni_(kancolle),4\npale_eye,0\nkoji_(kohei66),1\nsashimono,0\nyukiman,1\nyatagarasu,0\ncupa_(at2.),4\njun_wei,1\nbnari,1\nyumenouchi_chiharu,1\nkarasu-san_(syh3iua83),1\n6maker,1\nyamanome,1\nbugles_on_fingers,0\nsuper_nagoyaka,1\nkkry99,1\ntsukino_murakumo,1\ncum_in_eye,0\nhaishiki,1\neichi_(skskdi12z),1\nsuou_tsukasa,4\namazake_(drink),0\nnekololisama,1\nbangosu,1\nusada_pekora_(cosplay),0\nrutorifuki,1\nbeagle,0\nzonotaida,1\nashisi,1\nmatsu_(bandan),1\nshikakui_kyomu,1\naizawa_chihiro,1\nyumeno_tanuki,1\naoi_(ittla),4\nchanmura,1\ntakeko_spla,1\nhayanye,1\nhyou_(hyouga617),1\npopcorn_91,1\ndaina_(encore62),1\nshirinda_fureiru,1\nkezi,1\nripple_(mahoiku),4\nibuki_(ibuki0118),1\nkongou_sensei,4\nanno_masato,1\nbitter_melon,0\nhot_drink,0\nma-yu,1\nhemorina,1\nhowe_(azur_lane),4\necaflip,4\nmaru_(sasayama_chikage),1\nfrederick_(fire_emblem),4\ntakeda_sun,1\njd_(bibirijd),1\nnanome_to,1\nnaked_armor,0\nkakult2017,1\nuraki,1\nkozomezuki,1\nshukurin,1\ngarukichi,1\nbannou_ippoutsukou,1\nkt_(kusare171),1\nkannagi_noel,4\nlycoris_fubuki,4\nander_(at2.),4\narata_toshihira,1\ndual-purpose_gun,0\nmay_(2747513627),1\nteeth_print,0\ndfd,1\na-shacho,1\nawestruck,0\ngrusha_(pokemon),4\neir_(fire_emblem),4\ndj_copy_and_paste,4\ndress_straps,0\nsp123,1\nandou_inari_official,3\ntsuka_(handle),0\navengers:_endgame,3\nahat_(ragnarok_online),4\nhirokazu_(analysis-depth),1\ndensuke,4\nmenmen_(menmen13s),1\nproject_luminasys,3\nfake_nose,0\nwalkalone,1\nhat_bell,0\namakano,3\nsayori_(oskn),1\nskunk_ears,0\ndatcravat,1\ncheetah_girl,0\ndarkmuleth,1\neureka_814,1\nchi_lian_(qin_shi_ming_yue),4\nmelli_(pokemon),4\nspanish_flag,0\nkoisuru_otome_to_shugo_no_tate,3\nflandre_day,0\nogami_shirou,4\nblade_runner,3\navatar_(mabinogi_heroes),4\nholding_cannon,0\npretzel_bikini,0\nspace_channel_5,3\nasagi_marin,4\nquincy_(nu_carnival),4\near_fondling,0\nbetoko,4\nfruit_on_liquid,0\nnamiki_meiko,4\nmaruyama,1\nkasai_amane,4\nariko,1\ne_sdss,1\nwassnonnam,1\ncar_crash,0\ntamano_nae,1\nsunako_(veera),1\nlds_(dstwins97),1\ngenjuu_rou,1\njingburger,4\nhelping,0\nayukawa_tenri,4\nkurenaiz1,1\nfather_(diva),4\nwhispy_woods,4\nagoto,1\nmaku_(l-u),1\nsadamori_himeka,4\niro_(boo_iro),1\nkako_(kemono_friends),4\nhaiteku,1\naizawa_kotarou,1\nfuurin_rei,4\nvomi_agogo,4\nnightwing,4\nkaguya_(kagaminomachi_no_kaguya),4\nlace-trimmed_kimono,0\nmining_helmet,0\norifushi_akina,4\npiloswine,4\nmotoi_ayumu,1\nthighhigh_dangle,0\nhazakura_chikori,1\nkofa_(ikyurima),1\nadjusting_headphones,0\naki_no_urara_no_akane-iro_shoutengai,3\nhyugo,1\nmisato_hao,1\nisako_rokurou,1\nhourai_kiriri,1\nsheldon_(splatoon),4\nbloody_handprints,0\nchild_assassin_(fate/zero),4\nnitro+_chiral,3\nforced_partners,0\nyuzuttan,1\nhand_on_belt,0\nhekikuu_(kanaderuyume),1\nhatomugi_(mugicha),1\ntan_skirt,0\ndonald_trump,4\nmonbetsu_kuniharu,1\nsangai_senki,3\nnakiri_asahi,4\nmian_(3zandora),1\nreload9_yohji,1\nairy_(bravely_default),4\nkukkumann,1\njeanne_d'arc_alter_santa_lily_(fate)_(cosplay),0\nuthy,1\nfandead_(uruha_rushia),4\nfollen_(639594),1\nhead_fuse,0\nparadise_(swd3e2),4\n500_dollar_four_foot_tall_mareep_(meme),0\nmukiguri,1\njeane_(gensou_suikoden),4\nyennefer_of_vengerberg,4\nfujimaru_ritsuka_(female)_(anniversary_blonde),4\nkama_(chocolate_heaven)_(fate),4\nculotte_(hosenrock),1\nkinatsu_souju,1\nshirousa,1\ntied_dress,0\nrecettear,3\ncologne_(heartcatch_precure!),4\nkoti,1\nbeatrice_(wild_arms),4\nyuuki_(yukigeshou_hyouka),1\ntsubasa19900920,1\ndoburoku_(daiginjou),1\noono_akira,4\ngasuto_(kamikami),1\nkinou_no_shika,1\nburnet_(pokemon),4\nsasuga_kei,1\nenatsu,1\nnishijima_kai,4\nsier_(girls'_frontline),4\natair,1\nexcalibur_galatine_(fate),0\nakiyoshi_haru,1\nuedrk_yamato,1\nkhibiki,1\ndanpu,1\nresident_evil_0,3\nsuper_sailor_uranus,4\ngeorge_the_bomb,4\nhansel_(sinoalice),4\ne_2,3\nannaka_haruna,4\ntsumiki_akeno,1\nadol_christin,4\nmizuno_midori,4\nlistening,0\nimizu_(nitro_unknown)_(character),4\nhirasaka_ine,1\nchemist_(fft),4\nglutton,0\ntakatan,1\nsuzunami_(kancolle),4\nmike_(mikeneko),1\nmikomu,1\nshitou_(1992116210),1\nhasegawa_fumi,4\napple_brk,1\nchiruru96,1\nshishio,1\nhestia_(neko_itachi),1\neromettsu,1\ngowther,4\nyuhito_(ablbex),1\nwr_(karakusa_senbei),1\nkoneko_mari,1\nmilitary_police_brigade_(emblem),0\ndepo_(typebaby505),1\none_man's_dream_ii,3\nbuchi0122,1\ncr-r,1\nesu_(transc),1\nsaruton,1\nkaatoso,1\nfeel_(nasitaki),1\nkaichou_wa_maid-sama!,3\nmogeko_castle,3\nmotoki_(hisano_motoki),1\npenguin_frontier,1\nignis,4\npushpin,0\nl.bou,1\nkamo_3,1\nliyou-ryon,1\nhms_orion_(siirakannu),4\nkemono_friends_festival,3\nkaejunni,1\nsupermarine_spitfire,0\natoli_(.hack//),4\nnaftosaur,1\nishiki_(okota),1\ngrey_collar,0\nguriin,1\ngyudong123,1\nlace-trimmed_eyepatch,0\nobsydia_(nijisanji),0\nlicking_stomach,0\nzebra_girl,0\nw_(1999_kyu),1\njane_maxwell,4\nikasoba,1\nrosetta_passel,4\nristarte_(kono_yuusha_ga_ore_tueee_kuse_ni_shinchou_sugiru),4\nkumasawa_(dkdkr),1\nholding_rattle,0\nsenshi_(dungeon_meshi),4\ntatenashi_high_school_uniform,0\nasselin_bb_ii,4\nunion_jack_bikini,0\nli_shuwen_(old)_(fate),4\nzky_(oekaky),1\nmandragora_(arknights),4\ndeekei,1\nsoragane_(banisinngurei),1\nyasukuni_kazumasa,1\nlikey,1\nlaughing_man_(ghost_in_the_shell),0\nlloyd_asplund,4\nwotagei,0\nguzangnanfeng,1\nbill_cipher,4\ncoco_bandicoot,4\nemu_(emum),1\nlight_and_night_love,3\ncoro_fae,1\nr_(corolla),1\nlioreo,1\ncinccino,4\nnight_demon,3\naozora_kyuuji,1\nmidou_tsukasa,1\nken_(1057168252),1\npeas,0\nsoldering_iron,0\nkajiwara_sora,4\namemiya_sayaka,4\nnarutaki_fuuka,4\nmoshimo_ashita_ga_hare_naraba,3\nknight_(fft),4\njitsu_hidari,1\nmaihama_minami_high_school_uniform,0\njaina_proudmoore,4\niganseijin,1\nkimitoshiin,1\nkawa_akira,1\nneil_dylandy,4\ngarfield_(character),4\ntakuteks,1\ncrab_man,1\nakahoshi_kenji,1\nchiba_saori,4\nsatou_memeko,1\ntoe_socks,0\ndwarf_(dragon's_crown),4\ncorphish,4\nbagon,4\nexcavator,0\nhk416_(midnight_evangelion)_(girls'_frontline),4\nkindandowa,1\nnice_boat_(meme),0\ndomoge,1\nsolar_system,0\ncloud9,3\nred_(pokemon)_(cosplay),0\npig_costume,0\nkoko_(koko3),1\nunconventional_guitar,0\nmammon_(reborn),4\nhigashi_no_eden,3\nwitch_(left_4_dead),4\nsuika_(atelier-yuu),1\nyian_kut-ku,4\nmurakami_teruaki,1\nbooch,1\noyu_no_kaori,1\nringpearl,1\nfujimachine_(clayten),1\nkuya_(nu_carnival),4\nhinase_(jet_hearts),1\nlessar,4\nshingo_(picturepuzzle),1\nblonde_girl_(itou),4\nngo,1\nfujiwara_no_mokou_(cosplay),0\nskyhouse,1\ngakkou_no_kaidan_(anime),3\nmurmansk_(azur_lane),4\nachikita_chinami,4\ncaptain_mizuki,4\ngood_ass_day,0\nmakoushi,1\nmagmar,4\nkoyomisa,1\nsketti,1\nmi_mi_ham,1\nmizuki_(kogetsu-tei),1\nsakasa_(guranyto),1\nmioda_69ch,1\nstriped_sarong,0\nsuto_(iamsuto),1\nbishoujo_terror,3\nryuujou_(azur_lane),4\nmuji_body_fitting_sofa,0\njuna_crawford,4\nfrench_battleship_princess,4\nyoko.u,1\nkappa_worker_(tag_dream),4\nvegas_(akg),1\nxion32,1\ndydydyok,1\nsando_(dukedevil),1\nguitar_(guitars),1\nnantoka_maru,1\ntmari,1\ngarin,1\nsuzuki_sonoko,4\nkaze_(kazesan),1\nfreyja_(p&d),4\nthe_amazing_world_of_gumball,3\nminazuki_sarami,4\nyanagi_wakana,1\nsakagami_umi,1\nromeo_and_juliet,3\nthe_end_(phrase),0\nkamijou_sadame,1\nkimblee,1\ncolor_coordination,0\nshinobu_(tyno),1\nandira_(summer)_(granblue_fantasy),4\nkorwa_(summer)_(granblue_fantasy),4\nnarmaya_(valentine)_(granblue_fantasy),4\nelizabeth_bathory_(third_ascension)_(fate),4\nkama_(beast_iii/l)_(fate),4\nmotto_(night_wear),1\nkatsushika_hokusai_(festival_outfit)_(fate),4\nmysterious_ranmaru_x_(fate),4\nbbk_(13zk),1\nheracles_(housamo),4\nnatsushima_memo,1\nsoeda_ippei,1\nmating_(animal),0\nyi_er_fan_club_(vocaloid),3\nmanekineko5319,1\nmigi_(mm86262394),1\nalina_l,1\npixiv_fantasia_mountain_of_heaven,3\nnagato_(kancolle)_(cosplay),0\nmidori_(kancolle),4\nfou_(fate)_(cosplay),0\nau11,1\nm._lee_lunsford,1\nmicon,1\nspiked_horns,0\nbellavoirr,1\nmisekiss,1\nbigxixi,1\nricci,1\nkyuutame,1\nkurozero,1\nkozakura_(i_s_15),1\njojo_no_kimyou_na_bouken:_eyes_of_heaven,3\nalexandrite_(houseki_no_kuni),4\nhourai_kochou,1\nishizu_kayu,1\nblazblue_insignia,0\nnaui_kudan,1\nblowing_whistle,0\nsunshine_(1638509769),1\nnanako_(melty_blood),4\nzapfish,4\nsitting_on_fence,0\nakaitera,1\nsaezuru_usagi,1\nsaint_onii-san,3\nskull-shaped_hat,0\nhari611,1\naltines,4\nrenka_(renkas),1\naquamu,1\npatch_oxxo,1\nsage_(mami1210),1\nclamperl,4\nkagami_(galgamesion),1\nkine_(kirby),4\ngenda_koujirou,4\nkuroneko_(kuroneko_works),1\nazure_(capriccio),1\nsatou_reika,4\nserina_(blue_archive),4\ngomadoka,4\nwithered,0\nbaby_carrier,0\ncure_marine_(cosplay),0\nuninigumi,1\nstreets_of_rage,3\ndancer_(fft),4\nmiquella_(elden_ring),4\nstrawberry_prince,3\nluxury_ball,0\nmet_(mega_man),4\naoi_yuki,1\nabondz,1\nkel-tec,0\nnayoshi_(r-744),1\ndevil_heavens,1\nnephthys_(p&d),4\neatora,1\nlastdark,1\nmasou_shizuka,4\nrescue,0\nstray_cat_(jojo),4\nasiri_senpai,1\nkumacy,4\ncalpis118,1\nmechanica_(arms),4\nbadger_ears,0\nlily_strosek,4\ntenchi_muyou!_uchuu_hen,3\nteam_aqua_uniform,0\nstick_jitb,1\nminagi_hiyori,4\nseboneko,1\nusaginezumi,1\nwhite_delmo,4\ngame_club_project,3\ndiamond_pickaxe,0\nyolanda,1\ntaoru_(t_kiji),1\nzooanime,1\nking_(tekken),4\nmogutofuoes,1\nyasu_(segawahiroyasu),1\ngotenks,4\nrche_(beatmania),4\nnanasuou,1\ndezel_(tales),4\ncutlery,0\n1999,0\naizen_sousuke,4\ninai_uchi,1\nnoelle_holiday,4\nthwackey,4\nkimihagu,3\nasako_(itiba),1\nnyucha,1\nwat_(worldlog),1\nking_kong_(series),3\nakasaka_asa,1\nbreast_massage,0\nivenglynn,1\ntable_of_contents,0\nmilitary_police,0\nsagas293,1\nzebra_tail,0\nnyarlathotep,4\nstarry_hair,0\namanda_kenny,1\nfurusawa_yoriko,4\nguntank,4\njapari_coin,0\nsouike,1\nsahara1127,1\njungle_wa_itsumo_hare_nochi_guu,3\nft-17,0\ncotton_ball,0\nyuxian_youka,1\nyoshino_keiko,1\ntalulah_the_fighter_(arknights),4\ndouble_chin,0\nvex_(league_of_legends),4\nteru_zeta,1\ntotem,0\ntsujizen,1\nmedu_(rubish),1\nibaraki_shun,1\nmandaring,1\nchat_noir,4\nhiroichi,1\npurinnssu,1\navengers:_age_of_ultron,3\nhakumei_to_mikochi,3\nlace_hairband,0\nkirishima_shizuku,4\nkurogane_ken,1\nushiro_muki,1\nhythlodaeus,4\niseshi,1\ntape_recorder,0\nsaki_(saki_paint),1\nbarrett,0\nsuminoya_kureha,4\nusotsuki,4\ngentiane_(girls'_frontline),4\npanorama,0\nsenki_zesshou_symphogear_xv,3\nturtonator,4\nganon,4\nshinki_(shinki59),1\ncoco_jumbo,4\nsaver_(artbysaver),1\ncancer,0\nfloatzel,4\nfang_qiao,1\nchuor_(chuochuoi),1\naoyama_kotoha_(mitsuboshi_colors),4\nhygogg,4\nsiwasunohige,1\nastraea_(fate),4\nyahiro_pochi,1\nzhongwu_chahui,1\nbomssp,1\ndudeunderscore,1\nwringing,0\njohnny_(nyansama0412se),1\nyellow_teeth,0\nretsuto,1\nragnarok_(demon_sword),4\nh8k,0\ntoyota_sprinter_trueno,0\nmumaya,1\nkuonji_shinra,4\nvf-31,4\nrico_(gunslinger_girl),4\ntaroumaru_(gakkou_gurashi),4\npotemkin_(guilty_gear),4\nnumaguro_(tomokun0808),1\nmuslim,0\nssamjang_(misosan),1\nshirt_hold,0\nmesser_ihlefeld,4\nsebunsu,1\nfumi_(butakotai),1\nabyssal_twin_princess_(white),4\nsevered_leg,0\nimaizumi_teruhiko,1\nnoako,1\nchiba_shuusaku,1\nlittleshrimp,1\nkisekisaki,1\nashe_(under_the_moon),4\nakujiki_musume_conchita_(vocaloid),3\nhikasa_youko,4\nichigeki_sacchuu!!_hoihoi-san,3\ncoelacanth,0\ndetroit_metal_city,3\nhino_kahoko,4\nshijima_(tanfn),1\noshiba_ken,1\nyamino_kenji,1\nonaka_sukisuki,1\nmino_(udonge),1\nkusanagi_kikoku,1\ntouto_seiro,1\nself_bondage,0\nakiakane,1\nkokuu_haruto,4\nueda_metawo,1\nkiritomo_koroha,1\ntrianon,1\ndemmy,1\nbig_o_(mecha),4\nfake_scrollbar,0\nhathaway_noa,4\ndim_sum,0\nmabahn,1\nso_nagi,4\nhoshikawa_tsukimi,1\namatsume_akira,4\njaguar,0\ntimcanpy,4\nsano_sanoko,1\noppai_oppai,0\nbeam_cannon,0\ngaimoon,1\nmen_in_black,3\nfutase_hijiri,1\nyanagi_(tsukiakari),1\nreinhard_von_lohengramm,4\nkuko,1\nkamina_pose,0\ncolorful_kanan,3\nheisa,1\nelemental_gelade,3\nkujou_subaru,4\ndvd,0\nritsuko_kubel_kettenkrad,4\n0417nao,1\nnorthern_parliament_(emblem),0\nsan_(harutuki_3),1\nshinonon_(iso_shino),1\nmizutsuki_rei,1\nnoyamano_ringo,4\npink_cat,0\ntanikake_yoku,1\nkawakami_academy_uniform,0\ntweaking_own_nipple,0\nbowl_stack,0\nrobot_sex,0\nyua_(your_diary),4\nzeatto,1\nots-14_(ruler_of_the_banquet)_(girls'_frontline),4\nuzuki_makio,4\nlucena_winter,4\norchid_(maplestory),4\nkaosu_kun,1\npurple_wristband,0\nminamoto_mamechichi,1\ntsurugi_(swimsuit)_(blue_archive),4\npornhub,3\nyuzuha_(yuzuya),1\nnarita_tamezou,1\nmega_blaziken,4\ncutting_own_hair,0\nunown_o,4\nyoizuki_(azur_lane),4\nrefrigerator_interior,0\npangoro,4\ntaishou,0\nmahou_shoujo_suzune_magica,3\nemilia_percival,4\npaperwork,0\narlmuffin,1\nmyoya,1\nmahou_tsukai_to_kuroneko_no_wiz,3\nkiryuu_takahisa,1\nbang_(gesture),0\nhahihu1782,1\ndaisukerichard,1\nkoiwai_yoshino,4\nxiling,1\nmarina_hayami,4\nkoki_(ryoushikiha),1\ndodory,4\nayase_naru,4\nsiebold_(pokemon),4\nmiria_(claymore),4\nkouzuki_nana,4\nma2,1\nmarguerite_(one_piece),4\nwhole_note,0\nfujimori_tonkatsu,1\nidunn_&_idunna,4\nkuroino_(0kuro8ino6),1\nacguy,4\nramenwarwok,1\nmahou_shoujo_taisen_contest_1,3\nhakuhou_(ende_der_welt),1\nmayo_(mayomr29),1\nnina_(wokada),4\nprimiera_(saga),4\nsakasana_(kaisen_teikoku),1\nbabo,1\nniwaka_yuan,1\ntsuchiyamada_mitsuko,4\nnishio_rina,4\nosana_najimi_(komi-san_wa_komyushou_desu),4\ncordelia_(saga),4\nkousaka_alice,4\nhaimei1980,1\ntanline_peek,0\nmyrrh_(arknights),4\nkoh_rd,1\nkaze_(fire_emblem),4\nichimatsu_nana,1\nmaji_(etonato),1\nori_(momonimo),1\namo_(silent_bomb19),1\nheadwear_with_attached_mittens,0\nsuper_saiyan_god,0\nsonic_adventure_2,3\ntata_(tataice),1\npuni_(atelier),4\nmokuren_(kunoichi_tsubaki_no_mune_no_uchi),4\ngotcha!_girl_(pokemon),4\nmiguel_rivera,4\npeperon_(peperou),1\nito22oji,1\namidada,1\nshimeno_puni,1\nchagama_teishoku,1\nlalazyt,1\nressha_sentai_toqger,3\nhiragi_ringo,1\ntiasis,1\nimi_negev,0\nasa_ni_haru,1\ncloud_meadow,3\nmoekichi,1\nrear_naked_choke,0\nyueqin_(monnpiano),1\npirason,1\nbinzume_yousei,3\ntoshi_punk,1\nzashiki_usagi,1\nkyokugen_dasshutsu:_9_jikan_9_nin_9_no_tobira,3\ninazuma_eleven_(game),3\ninushi,1\nmandrill,1\ngoya_(xalbino),1\nixion_saga,3\nkotobukiya,3\nrumia_(compacthuman),1\nnao-08,1\nclubroom,0\nkizuki_erika,1\nayane_(swimsuit)_(blue_archive),4\nnarmaya_(holiday)_(granblue_fantasy),4\nbuko_(bukosuki),1\nwa2000_(ballroom_interlude)_(girls'_frontline),4\nkasasasagi,1\nyanhe,4\nanya_(spy_x_family)_(cosplay),0\nmirror_maiden_(genshin_impact),4\ndizmathik,1\nandou_tazusa,4\nscathach_(fate)_(cosplay),0\naqua_hisui,1\nmr._nothing_(arknights),4\nsumire_(blue_archive),4\nillumination_stars_(idolmaster),0\ncinderella_dream_(idolmaster),0\nmostima_(spellbreaker)_(arknights),4\nnull_suke,1\nexistence,3\nziz_glover,4\nink_on_face,0\nkiana_mai,1\npiyo_(pixiv_2308057),1\nmary_(granblue_fantasy),4\namethyst_(houseki_no_kuni),4\njuliet_persia,4\ntsugutoku,1\nakefumi,1\nrikopin,1\nkissing_foot,0\ntokonoma,0\nqianqian,1\ndenial,0\nheart_attack,0\nhirococo,1\nkayano_ai,4\nhayami_yuujirou,1\nanzai_miyako,4\nsurume_(clavis),1\nsaboten,1\nhana_(mew),1\ncleaning_windows,0\nhalf-split_chopsticks,0\nsuga_leon,1\ntaniguchi_gou,1\nloalo,1\nfinishing_move,0\nmikoto_(ff9),4\ncham_fau,4\nken_to_mahou_to_gakuen_mono,3\nmatsuda_takato,4\ncalm_(artist),1\nfeet_together,0\ngriffon_(last_origin),4\nlegoshi,4\nreal_bout_high_school,3\ntoshi_(little-fluffy-cloud),1\nbakusou_kyoudai_let's_&_go!!_max,3\nharuto_yuki,1\nsakuraidai,1\nnannung,1\nokishiji_en,1\nchoroli_(chorolin),1\nshut_hell_(character),4\nurashimasakatasen,3\nshutsuri,1\ntrypophobia,0\nkty_(04),1\nacchi_(koiyimknp),1\nclothes_iron,0\nkasu_(kasunohikari),1\nkousaka_shigure,4\nnagi_(akito),4\nmanjoume_fumi,4\nnorba_shino,4\nm37_(summer_parader)_(girls'_frontline),4\nhitachi_mako,4\nshinobi_(sekaiju),4\nbarok_van_zieks,4\nhand_to_hand,0\nguan_dao,0\nbugle,0\ncolorfag,1\nminashiro_soushi,4\nmizushirazu,1\nsurfing_orange,1\nranger_(azur_lane),4\nhazuki_gean,1\nshiraishi_yuzuki,4\nhua_cheng,4\nsako_(namocake),1\nuliel,1\nkawakami_kazuko,4\ncentipede_girl,0\nmad_burnish,0\nnira_(nira_box),1\npornstar,0\nsieyarelow,1\nart556_(girls'_frontline),4\nalice_parade,3\nakm,0\nrupee,0\nsuigintou_(cosplay),0\nrunta,1\naduare,1\nhataya,1\nudon_(memai_no_kabe),1\njenmin12,1\nsevered_finger,0\nzyunya,1\nsnake_box_sneak,0\nfyu-neru,4\nhyuuman,1\npanties_on_breasts,0\nyoshinatsu,1\nscarlet_dango,1\nbyuub,1\nhisuian_braviary,4\ngenis_sage,4\nrogue_(7th_dragon),4\nh&k_g41,0\nmasuo,1\nashiyu,0\nyuguraniru,1\nkaliningradg,1\nuninori,1\nshapes,0\ncure_papaya,4\nkoyanskaya_(assassin)_(second_ascension)_(fate),4\nsun_shang_xiang,4\nglass_wall,0\nmoai_(moai_world),1\njeanne_d'arc_(formal_dress)_(fate),4\nroru_(lol_dessin),1\narado_balanga_(xchd7538),1\nhironii_(hirofactory),1\ncomiket_92,3\nhoicyo,1\nhiyuu_(hiyualice),1\nhakutaku,0\nnirvash,4\nfaucre_the_evil_overlord,4\nscroll_tube,0\nalenka,1\n3di_project,3\nbackless_pants,0\nshromann,1\nkasseus_maximus,1\npiers_nivans,4\nmiraroma,3\nremi_(mozzaremi),1\nsakura_ab,1\nmomi,1\ndevin_elle_kurtz,1\nhello_planet_(vocaloid),3\nyukimura_hyouga,4\nnoragami_sota,1\nkimi_to_boku,3\ndanmakuman,1\naouji,1\nmonohoshizao,0\nhozenkakari,1\nina_(gonsora),1\ngretel_(black_lagoon),4\nk@bu,1\nvox,1\nfulgur_ovid,4\nkahlua_marjoram,4\nrenren,1\ncopycat_(dryfood),1\ngreen_tube_top,0\nlavie_head,4\nkouji_(astral_reverie),1\nprint_thighhighs,0\nkohinata_sora,1\nkamen_rider_v3,4\nfuyu,1\nnanako_(to_heart_2),4\ntarabagani,1\nshinkansen,0\nlinoone,4\ndustox,4\nbetei,1\nchiruku,1\notakeyan,1\njelly,0\nfiona_(zoids),4\ngokou_tamaki,4\ncote,1\nsakura_(ukagaka),4\ndemyx,4\nichijou_eika,4\ntime_machine,0\nogata_mamimi,1\nsean_matsuda,4\nbuster_machine_7,4\nprinplup,4\npoporing,4\nfever-san,1\nsamurai_jack,3\nsoyubee,1\ntilde_(ice_cube),1\nopening_eyes,0\nrakuto_mangan,1\nurshifu,4\nbianka_durandal_ataegina_(bright_knight:_excelsis),4\njin_grey_paladin,1\ntorn_neckerchief,0\ncharlie_nash,4\nalear_(fire_emblem)_(female),4\ndaiji_pt,1\ngolden_rose,0\narios_(orochi_yuta),1\nkochi_michikaze,1\nkokorowatari,0\nhands_on_another's_wrists,0\nlove_morocc,1\nkisaki_oni,1\nkonoha_(arcana_heart),4\negawa_kusumi,4\njingle_bell_earrings,0\nsubway_station,0\nsongmil,1\nskunk_tail,0\nname_(oiuio),1\nwhite-corner,1\nyairo_(sik_s4),1\nwatashi_no_tame_ni_nuginasai!,3\ngarter-velvet,1\nsushi_pizza_rrr,1\ntakeshima_tsutako,4\nasahi_rokka,4\nnc731,1\nsaitou_shunsuke,1\nponzu_rui,1\nlapis_re:lights,3\ninori_(xyz5568),1\nunbuckled,0\nmyth1carts,1\nyuzu_shio,1\nsothis_(fire_emblem)_(cosplay),0\napple_print,0\naru_(abyssinia),1\nshun_soku,1\nkisaki_nana,1\nhaje,1\nastaroth_(p&d),4\nkirimori_toya,1\nozu_shion,4\nshiratama_mochi,1\nyoshida_akihiko_(style),0\ngomio_(bb-k),1\nmimiyama_kiichi,1\nmasupa_kiriu,1\nslave-chan_(mino),4\nkinako_(nurupoga),1\ngundam_thunderbolt,3\nsobi_(dnenqkswja),1\n108_(toowa),1\nifpark_(ifpark.com),1\ncircle_garyuu,1\nusami_nanako,4\nyamane_takao,4\nnana_nakano,1\nmedoi,4\npokemon_ranger_uniform,0\nnicholas_(azur_lane),4\nhotechige,1\ncaravan_stories,3\ncote_d'azur_widowmaker,4\nyuuzaki,1\nstump_cover,0\nkuzuryuu_yaichi,4\nglacia_(pokemon),4\nmezashi_(mezamashi_set),1\nabyssal_twin_princess_(black),4\nsaitou_(tiger_&_bunny),4\nvisqi,1\nhikashou,1\ncrown_print,0\nkurosaki_kazui,4\nmoja_(moja4192),1\nbattleship_girl,3\ntoy_train,0\narm_shield,0\nmatsubara_tsuyoshi,1\nreverse_paizuri,0\nmars_expedition,3\nren_(dramatical_murder),4\nsaryuu_evan,4\nm16a4,0\ndutchko,1\nsekiya_naru,4\ntype_95_ha-gou,0\nkoto_tsubane,1\ngirls'_generation,3\nzasshu_tamashii,1\nmetal_wings,0\nagarest_senki_2,3\nshino_megumi,1\ngaius_(nikoniko2),1\nbead_curtain,0\npuniru_(puniru_wa_kawaii_slime),4\nspringfield_(queen_in_radiance)_(girls'_frontline),4\nfemale_mage_(dungeon_and_fighter),4\naboutama,1\nhachitani_(sunaba_suzume),4\nbasculegion,4\nnakahara_(takayama_toshinori),4\nloli_bitch_island,3\nmiyamoto_konatsu,4\nakagi_(kancolle)_(cosplay),0\nhiyama_yuu_(wee259hiyama),1\nmigu_(iws2525),1\ngold_headband,0\ncarcass_(artist),1\nmuuyiie,1\nnanao_(naoekaki25),1\nshishou_(cookie),4\nasc11,1\ngenpatsu_(cookie),4\nponytail_girl_(kamisimo_90),4\ntsunokakushi,0\nyata_(yatao_zzz),1\nwujia_xiaozi,1\nfujinuma_satoru,4\njougenmushi,1\nstanding_on_chair,0\ntsukinaga_leo,4\npillion,0\nfragile:_sayonara_tsuki_no_haikyo,3\nkelinch1,1\nkouzuki_anna,4\nmyouren_temple,0\nkakutasu,1\nwildcat_(kusonemi),1\nmordeth,1\nzwei_(rwby),4\nmarui_(koedame),1\njoint_lock,0\nnatural_sign,0\nda_(datako),1\nnayu_tundora,1\nharrymiao,1\nzan_partizanne,4\ntachibana_sakuya_(god_eater),4\nawayuki_ramika,1\nziz_(pantwo),1\nkururun_(precure),4\nhand_on_sheath,0\nbubble_wand,0\nfuwamoko_momen_toufu,1\ndebi_tarou,4\nai_(aria),4\nfcc,1\naudiodude,1\nasaba_yuu,1\nfoothold_trap,0\nhamuhamu,1\numirororo,1\nhoshikuzu,1\nland_striker,0\nmofetousu_furuna,4\nmanabe_rika,4\njean_havoc,4\nneukkom,1\nmajisuka_gakuen,3\ngreco-roman_architecture,0\nkurama_(naruto),4\nsteamed_egg,1\namagami_(makise_tsubaki),1\nfiro_prochainezo,4\namano_yuu,1\nhuntail,4\nshing_(sorairo_factory),1\nzutto_mayonaka_de_ii_no_ni,3\nyume_keikaku,1\nharuka_(tactics),4\nomiso_(omiso),1\ndagappa,1\ntob,1\nkoyuri_shouyu,1\nyui_ko,1\nfine_(symphogear),4\nninto,1\ntrinity_glassfield,4\ntaroimo_(00120014),1\nokosama_lunch,0\nlogiclr,1\nmarguerite_fatima,4\nfictional_sister,1\nfoo_(pixiv54892036),1\nrikkii_(likito_yuzu_is),1\neigaka,1\ndou-t,1\nooshio_(azur_lane),4\nruei_(chicking),1\ntorottye,1\nmanannan_mac_lir_(fate),4\nzantyarz,1\nvichya_dominion_(emblem),0\npetit_ramune,1\nhigyaku_no_noel,3\nmikawa_miso,1\nsenri_tsurubami,4\nsoft_&_wet,4\nmomobami_kirari,4\nmordred_(formal_dress)_(fate),4\npriest_(tera_online),4\nksenolog,1\nstup-jam,1\nalban_knox,4\npowered_ciel,4\nglider,0\nmash_rene_figaro,4\ndemon_costume,0\nsingle_half_glove,0\naudio-technica,0\ngavial_the_invincible_(arknights),4\nking_(one-punch_man),4\nitsuki_(houkago_no_pleiades),4\notsumami_(02mami),1\nyanma,4\nueno_tsuki,1\nmaruro,1\ntorn_necktie,0\nambipom,4\nmi8pq,1\nwang-pac,1\npuyocha,1\nmiyabi_urumi,1\nnext_purple,4\nkuronoiparoma,1\nreason_(ficafe),1\nlordroach,1\npurugly,4\namayofuu,1\nrevenge,0\neva_(hq8nn1ef),1\nunomi,1\nmai_(dragon_ball),4\nnagakura_(seven_walkers),1\nmuraicchi_(momocchi),1\ntrigger,0\nleah_(airisubaka),4\name_(conronca),1\nz46_(her_first_summer)_(azur_lane),4\nhenria,1\ntomaco,1\nyuzhi,1\nasashio_(azur_lane),4\nappo_(36786257),1\neruption,0\nscotch_(cookie)_(style),0\nnapstablook,4\nmario_kart_wii,3\npartial_bodysuit,0\nhayate_x_blade,3\naikawa_touma,1\nurase_shioji,1\ntoki_to_shishin,1\nsukuemon,1\ndorothy_(sinoalice),4\nfukuda935,1\nsleeves_removed,0\nonimusha_soul,3\nmimengfeixue,1\nblack_joa,1\nblue_mage,4\nblack_rose_dragon,4\nrinkah_(fire_emblem),4\nashley_(pokemon),4\ngirlycard,4\nheatran,4\nnegimiso1989,1\ncavalry_(maslow),1\nmaterializing,0\nsienna_(henken),4\nthundercracker,4\nkurosu_jun,4\ntamanegiya,1\nsoveno,1\nshiira_(nya_rl),1\nredbaron,1\nbody_soaping,0\nkoutetu_yarou,1\npanqlao,1\ndairyo3,1\nwani_(mezo),1\nmezul,4\nsasaki_ryou,1\nizumi_rion,1\nchibiterasu,4\nprototype_(game),3\nsilentdin,1\nholding_tripod,0\nkomine,1\nsitting_on_wall,0\nmarubonman,1\nogakuru,1\nmy_sunshine,4\ntnt_(aaaazzzz),1\nkagurazaki_shizuki,4\nsueyuu,1\nfujiwara_aya,4\ninochigake_demo_tarinai_no_sa,3\nyukichiro,1\nsenhaku,1\nmizusoba,1\ntotsuki_tooka,1\nshiyun,1\nkaga_rin,4\nrunamatu,1\nfroth,0\nrainmaker,1\nbangqiao_yan,1\ndenki-gai_no_hon'ya-san,3\nfighter_(dragon's_crown),4\nshrimpman,1\niwasaki_masakazu,1\npenis_hug,0\nokudaira_akira,4\ntentai_senshi_sunred,3\nshikkoku_no_sharnoth,3\nthe_wizard_of_oz,3\na_kun,1\ntonio_trussardi,4\nakutabe,4\namatiz,1\nquatre_raberba_winner,4\nsponty,4\nfacehugger,4\nmireille_bouquet,4\nthe_incredibles,3\nsuna_kiririto,1\nshiritori,0\nalchemist_(sekaiju),4\nraidy,4\nshiratama_yomogi,1\nkonayuki_fururi,3\nkanon_(wild_arms_2),4\nmiria_harvent,4\ntakeda_mika,1\nwind_a_breath_of_heart,3\nre:_cutie_honey,3\nbasukechi,1\npoop_on_a_stick,0\naoiro_(t_aoiro123),1\nmarshall_(wahooo),1\nbano_akira,1\nnasakixoc,1\ndragon_dildo,0\nb.c,1\nsara_crispino,4\ntsuzuki_shiori,4\nmacne_nana,4\nmaizken,1\ndead_animal,0\norix_buffaloes,3\nchuppa_(katotsuba),1\nqueen_of_hearts_(card),0\nsaeki_shun,1\npatriot_(arknights),4\nruin_guard_(genshin_impact),4\naniplex,3\norange_collar,0\ntakamichis211,1\nebibi_chiriri,1\noumi_(rsag),1\nsynchroman,1\nmimikyu_(cosplay),0\nmirin_(granblue_fantasy),4\nfox_girl_(jaco),4\nmcdobo,1\nwindblade,4\ntail_brushing,0\npokemon_gym,0\nsaji_genpou_(true),4\nhyadain_no_kakakata_kataomoi_-_c,0\ndribbling_(basketball),0\nkabukimonogatari,3\ngonzalez_(machita_chima),4\nceobe_(summer_flowers)_(arknights),4\nakagi_(plum_and_snow)_(azur_lane),4\nc-kyuu,1\nmanyuu_kaeru_tasuke_sansei,1\nkei-co,1\noggy,1\nlanlanlap,1\ngabriel_(granblue_fantasy),4\nkokumotsu,1\nblack_prince_(azur_lane),4\nfrog_panties,0\nmutsuki_(tsugaidanuki),1\nmitsuki_sohara,4\nmutsuki_(ama245),1\ntries,1\npink_doragon,1\npuyopuyo_quest,3\neclosion,1\nromiy,1\ncaim_(drag-on_dragoon),4\ncrashtv,1\nprofessor_um,4\nohmu,4\nkirin_tarou,1\nmairin_(pokemon),4\nkick-ass,3\nonna_shunin_kishi_mieko,3\nkomori_shuri,4\nyui_sora,1\nhand_gagged,0\ntama_(tamakaka1031),1\nnakura_haru,1\nkonno_akikaze,1\naobe_mahito,1\ntsukiyama_shuu,4\nsheer_gloves,0\nkeureu_(tiqkdtiqkd10),1\nwhite_overalls,0\nirozuku_sekai_no_ashita_kara,3\nmairudo_(mildcoffee1117),1\nwashio_sumi,4\nminazuki_shigure,4\nrosalie_de_hemricourt_de_grunne,4\nping_hai_(warship_girls_r),4\nhector_rivera_(alive),4\nquattro_(nanoha),4\ndvddvd_(meme),0\naniece_(modeseven),4\nhogen_(housamo),4\nmononobe_kyoma,4\nagetake,1\nbeanstalk_(gift_uncompleted)_(arknights),4\naopanda,1\nastolfo_(sparkling_frills)_(fate),4\nume_(kancolle),4\nphantom_thief_lapin,4\nferdinand_(honzuki_no_gekokujou),4\nlyna_(yu-gi-oh!),4\npickle_(grappler_baki),4\nhonoboooono,1\nsiruphial,1\ntoudou_kasumi,4\nmoge-hera,1\nnagisa_(psp2i),4\ngolden_time,3\nmaguro_(ma-glo),1\nshima_chiyo,1\nshow_(rinnetenshow),1\noda_nobuna,4\nkaya_(nari1-24),1\nkanda_(ura-kanda),1\ntorii5011,1\nhishimiya_tsugaru,4\nmizuna_(water_emp-tei),1\ncrazy_grin,0\ngopnik,0\nlee_(monsterheart),1\nharuo_(clownberry),1\niiha_toobu,1\njungle_crow_(kemono_friends),4\nshio_(7203802),1\nnatsu_(nattiyann),1\nbody_jewelry,0\nshinkaui,1\ntanisi_(hosimade),1\nnukoosama,1\npear_sauce,1\nribbon_(happinesscharge_precure!),4\nhouraisan_chouko,1\ngan-viking,1\nhoshiiro_girldrop,3\nsaniko_(honchu),4\nhito_(nito563),1\npo_ppe,1\ntakena-c,1\nalt_(ctrldel),1\nreligious_offering,0\ncattleya_regina_games,3\nrapunzel,3\nisis_eaglet,4\npaper_man,3\nthe_nightmare_before_christmas,3\ntakuan_(takuanlunch),1\nadele_balfetto,4\nxiaoju_xiaojie,1\nmeidri,4\nnanjou_terumasa,4\npleasure-treasure,1\nyamabuki_(yamabuki_xxxxx),1\nka941,1\nmasiromu,1\ncard_with_aura,0\nmizuhashi_kaori,4\ntrisha_elric,4\norii_(orii_i),1\nc-wing,1\nnumber10_(hagakure),1\nsewing_kit,0\nasai_ichiko,1\nmeito,4\nzifletts,1\nlafolie,1\nfengya,1\nin_pot,0\nnikku_(nzaf5832),1\nenya_geil,4\ntouhara_asuha,4\nkumichou_(ef65-1118-ef81-95),1\npikachu_costume,0\nmirui,1\npazu,4\ncat_princess,1\nmaplestory_2,3\nfrau_bow,4\nshijie_jianfa,1\nhallelujah_essaim,0\nkijima_saki,4\nsunao_(souis),1\n34_(sanjushi),1\nramiel,4\ndelta_9,1\ninfinity_gauntlet,0\nshibuya_takami,4\nlisa_(seiken_no_blacksmith),4\ntomodachi_(tomofanart),1\nmakinohara_shouko,4\nlang_(chikage36),1\naulbath,4\nmaskman,1\nimoko_(neeko's_sister),4\nhellmatio,4\nmospeada_(mecha),4\nnemes,0\n@shun,1\ntori_rui,1\nldfe_mk2,1\n13o,1\nnobiiru_arm,0\nyyy_(zelda10010),1\nplants_vs_zombies,3\nkyuusugi_toku,1\nthief_(disgaea),4\ntug_of_war,0\nmito_itsuki,1\nnomiya_(no_38),1\nmoose,0\nmoyashi_baasuto,1\nred_flowers,1\npotemki11,1\ndavid_(fate),4\njubeat,3\np0ckylo,1\nxiayehongming,1\njunajuice,1\nredrabbit44,1\nbshi_edayo,1\ndigimon_card_game,3\nkise_saki,4\nutsunomiya_tsumire,1\ncloud_strife_(cosplay),0\nminazuki_mizu,1\nfinish_line,0\nseto_(harunadragon),1\nunhappy_refrain_(vocaloid),3\naladdin_(sinoalice),4\nthree_sizes,0\nlyy,1\nray_peng,1\ngirly_air_force,3\nminxei,1\nichinose_hana,4\ntube_top_lift,0\nlucifel_(el_shaddai),4\nenergy_spear,0\ntarakoutibiru,1\ndesert_tech_mdr,0\ngeorgi_popovich,4\nace_attorney_investigations_2,3\nkaku-san-sei_million_arthur,3\nbright_noa,4\nqizhu,1\nskysign_ft,1\nremoving_bandaid,0\nvillain_pose,0\nkylo_ren,4\ntitanic_(movie),3\napple_(ygbhjdbiulsg),1\nkomeo15,1\nswallow_(bird),0\nkudou_chitose,4\nmedia_(pani_poni),4\nmo23,1\ntuoer,1\nlakitu,4\nponita,1\ncat_ear_hairband,0\nimpact_(font),0\nfujikawa_arika,1\ncamui1104,1\nkatsuragi_kai_(kancolle),4\nglass_teacup,0\nyellow_armor,0\ninukaze_yamu,1\ngreen_sports_bra,0\ncircus_(studio),3\nakizero1510,1\nreset_kalar,4\nkasuga_yui,4\nskull_kid,4\ncramped,0\npov_bullying,0\nhyaku_shiki,4\nbeeswax_(weisser_sand)_(arknights),4\ntriton_(housamo),4\nragfes,0\nniur,1\nsonny_brisko,4\nkisara_(tales),4\niwashi_80,1\ndouble_driver,0\nmo:oku,1\nmelan_blue,4\nretweet_chicks,0\ntoki_ayano,4\nmior,1\nsnow_(gi66gotyo),1\ninoue_kiyoshirou,1\ndaylightallure,1\njs_kaga_(kancolle),4\nsilverstar017,1\nkusuriuri-san,4\nnaked_hood,0\nspike,0\nrowya,1\neye_poke,0\nlever,0\narknights:_endfield,3\nreverse_prayer,0\nseadra,4\nmochoeru,1\nbrws,1\nmortar_headd,0\nrivalz_cardemonde,4\ntakeno_koko,1\nkyouno_aki,1\nsawada_marina,4\nkitagawa_mahiro,4\nxin_hua,4\nsteven_a._starphase,4\ndrsunshine,1\naliens,3\nmato_tsuyoi,1\ncremia,4\nharuna_mao,1\nkapiten70,1\nguillotine_cross_(ragnarok_online),4\nmatsura_(nagatosan),1\nrobe_lift,0\nshoujo_mahou_gaku_littlewitch_romanesque,3\nmitsuki_(naruto),4\ncacodemon,4\nniku_harumaki,1\nasymmetrical_eyebrows,0\nblade_master_(elsword),4\nmizuki_shiranui,4\nfumitan_admoss,4\ninnocent_cluster,4\npreyanan_suwanpramote,1\npanza,1\nnarusan_beam2,1\nmad_kimo,1\ngainos_priestess_melpha,4\ntianhu_(the_legend_of_luoxiaohei),4\nluca_(jasdavi),4\nice_reizou,1\ndfra,1\nhomura910210,1\nshion_(kizuro),1\nmonorino,1\nasahana_jun,1\nselim_bradley,4\nfolding_bicycle,0\nutsumi_karmin,1\ndungeons_&_dragons:_shadow_over_mystara,3\nshiren_(monochrome_structure),1\nkanaoto_neiro,1\nkojo_(0124),1\nnakamura_naoto,1\nglowing_skin,0\nfirstw1,1\nmiwajou,4\nyuzukaze_rio,1\ntika_(mika4975),1\nkim_bae-eo,1\nproject_diva_f_2nd,3\nmega_charizard_y,4\nkurosuke_(hipparu),1\noozora_haruka_(harukana_receive),4\ngomi_(kaiwaresan44),1\nfrostcyco,1\nmainichi_compile_heart,3\nkuhuku006f86,1\nchukachuka,1\nmatsuri_(hidamari_sketch),4\nizumo_neko,1\npoppin'party,0\nyasato,1\nmimme_(haenakk7),1\nkyouou_ena,1\nkasugayama_high_school_uniform,0\nelc_(arc_the_lad),4\nkukuru_(arc_the_lad),4\nmacula_marius,4\nboin,3\nmeow_nyang,1\npark_junkyu,1\nlapis_lazuli_(steven_universe),4\nazumaya_toushirou,1\nyun_(simoun),4\nsorashima_(117),1\nhigurehiiro,1\nnelson_(warship_girls_r),4\nscrapped_princess,3\nrita_rossweisse_(phantom_iron),4\nkonohata_mira,4\ndelorean,0\nberuka_(fire_emblem),4\noda_kippoushi_(fate),4\nkana_(fire_emblem)_(male),4\njeralt_reus_eisner,4\nrpk-16,0\ntesticles_on_face,0\nmoshi_(atelier33-4),1\nhoukago_climax_girls_(idolmaster),0\ncross_channel,3\njuanmao,1\nmage_(warcraft),4\nhmax,1\naussa_the_earth_charmer,4\ngotoba_sora,4\nyokota_takumi,1\ntakt_op._destiny,3\nhajimete_no_koi_ga_owaru_toki_(vocaloid),3\nxigbar,4\nshiina_sakurako,4\nlan_xiezi,1\nin_cauldron,0\ngoddess_of_victory:_nikke,3\nclay,0\njuniper_actias,4\nyobai,0\nizakaya,0\nkurorettsu,1\nzuiun_(kancolle),4\nikameshi_(ika_meshi),1\ndennou_tenshi_jibril,3\ndaruia_(sabitare),1\ngift_(game),3\ngothorita,4\nchouchin_obake,0\nsatsuki_inari,1\nkeyhole_panties,0\ninu-t,4\nnarutaki_fumika,4\ntouka_kureha,4\nibex,1\npamela_ibiss,4\nfutoshi,1\nhouru,1\nasakura_ryou,4\nuraomote,1\ntseng,4\nhayase_mina,4\nusubeni_sakurako,1\nshachi_kamaboko,1\nchloroform,0\nhero_(do-belman),1\nmandy_(grim_adventures),4\nchirico_cuvie,4\nnarumizg,1\nyotsuba_(sister_princess),4\ntougo,1\nfushuu,1\nvelociraptor,0\nclown_mask,0\ntakurou,1\ntabitha_(pokemon),4\nshown,1\nukraine,0\nhilling_care,4\ntamago_gohan,1\nwedding_cake,0\ntsukimori_madoka,4\ngabite,4\nmotsu_(selshia12),1\ngiuseppina_ciuinni,4\nmatsurisu,4\nliang_qi,4\nsuzutsuki_kanade,4\na_nightmare_on_elm_street,3\nfreed_turing,1\nshino_(mijinko),1\nmessiah_cage,1\nmushoku_no_hourousha,1\nwachi_(hati1186),1\ndream_academy_uniform,0\ngalarian_slowpoke,4\nnomura_teruya,1\nandroid_girl_(itou),4\naruti,1\nfrilled_cape,0\nshirofuku_yukie,4\nirogomi,1\nyufine_(epic_seven),4\nd_futagosaikyou,1\nkissing_shoulder,0\nsuzune_hapinesu,1\nsakura_card,0\nraine_sage,4\nlazlo_(gensou_suikoden),4\ncure_parfait,4\njjw1029,1\nmokyuko,1\nsumo_(komokomo1201),1\ntsukumi_(tkmillust),1\nserena_cadenzavna_eve,4\nleeannpippisum,1\nazumi_risa,4\niron_bars,0\narkray,1\nsagattoru,1\ndvd_(object),0\ncable_tie,0\nkageru_(mofnyan),1\namano_yoshitaka,1\nsee-through_body,0\nletter_hair_ornament,0\nnekosuke_(oxo),1\ngungun_(hakutou7887),1\nyaopei,0\ncoomer_(meme),4\nfireman's_carry,0\nanchor_tattoo,0\nudakyo,1\nharpy_(closers),4\nroco_(katsuya1011),1\npork,0\nqianzhu,1\nhand_in_mouth,0\nyoung_savage,1\nsirosoil,1\nstation_memories,3\ngomashiwo_o,1\nimura_(shiro_maru),4\nkasugano_haruka,4\nhinokumo_f,1\nkuronomine,1\nvalentine_(guilty_gear),4\nutachy,1\nmian_lang,1\nogs_(orgasm88),1\nmakuhita,4\nfina_(sa47rin5),1\nplant_request,5\nhappy_sugar_life,3\nkenzaki_ririka,4\nmijinko_(83nabe),1\nnarcissism,0\nasuka_keisuke,1\nnaga_(pixiv70891418),1\ntikoh,4\nzanku,1\nsena_chifuyu,1\nrozu_ki,1\nbinder_clip,0\nyou_haruka,1\nmayano_top_gun_(sunlight_bouquet)_(umamusume),4\nheart_stickers,0\nshimura_takako,1\nnilgiri_(girls_und_panzer),4\nmatsukai_mao,4\nkuroha_ai,1\nz1_leberecht_maass_(kancolle)_(cosplay),0\nyukikawa_sara,1\nbunchou_(bunchou3103),1\nwonder_acute_(umamusume),4\nhomeo,4\ntagane,1\nnyami,1\nnamekian,0\nslugma,4\niro_(sekaixiro),1\nmarigold,0\nxlscaler,1\nofficer,0\nplant_monster,0\narjent,1\nblue_scales,0\nmanly_tears,0\nsuper_mario_world_2:_yoshi's_island,3\npersimmon_(lsxh3),1\nsekiri,1\nikujitto,1\nraina,1\naojiru,1\nak-15,0\nyakitori_(oni),1\nluren_max,1\njapan_air_self-defense_force,0\nkiriuzasu,1\nseira_(mermaid_melody_pichi_pichi_pitch),4\nian_olympia,1\nshougayaki_(kabayaki_3),1\nanda_(pennyroyal_tea),1\nten_(urusei_yatsura),4\nlatvia_(hetalia),4\nkarla_(fire_emblem),4\npk_(mukasihasakana),1\nshikkoku_neko,1\nwhere's_wally,3\nplayer_(god_eater_burst),4\nyukimochi_(yume),1\nforced_perspective,0\nhellnyaa,1\ndemon_mages,3\nshoujo_ramune,3\npeorth_(aa_megami-sama),4\npinattsu,1\natsajh,1\nsolokitsune,1\northo_shroud,4\npoi_poifu,1\nshin_subarashiki_kono_sekai,3\nliquid_weapon,0\nrippajun,1\nspadelake,1\ntrimmau_(fate),4\nmurakumo_(kancolle)_(cosplay),0\nviego_(league_of_legends),4\npomelomelon,1\njun'you_kai_ni_(kancolle),4\nakebono_kai_(kancolle),4\nsky_guy_art,1\nfujin_yumi_(fire_emblem),0\njack-o'-lantern_hat_ornament,0\nak-47_(girls'_frontline),4\nsiro_(asteblanc),1\nyakumo_beni,4\nmonarch_(black_gerard)_(azur_lane),4\nigarashi_daiji,4\nmismatched_animal_ear_colors,0\nnanbo_ataru_(attall),1\ncure_miracle_(ruby_style),4\ncocoasabure,1\nhufy,1\nanastasia_(swimsuit_archer)_(second_ascension)_(fate),4\nkamen_rider_geats_(series),3\nepuko,1\nhand_wave,0\nkagamine_rin_(roshin_yuukai),4\nkomine_sachi,4\nakari_seisuke,1\nmofuji,0\nueshita,1\nglisten,1\ntoilet_seat,0\nhiba_(p-p-purin),1\nooishi_kuraudo,4\nyutaka7,1\npnoji,1\nsatou_aoi,1\nankai_(rappelzankai),1\nkuurubiyuutei_gankyou,4\nhiyori_mizuki,1\nsakurai_haruto,1\nmahito_(tranjistor),1\nwet_bra,0\nellen_(majo_no_ie),4\ndragon_(monster_girl_encyclopedia),4\nyoshiie,1\nyorousa_(yoroiusagi),1\nkurono_genbu,4\ninoue_kousei,1\nkanase_(mcbrwn18),1\ngou_d,1\nzhuzi,1\nnijou_katame,1\nveight,4\ndwyer_(fire_emblem),4\nyukarite,1\nkuro-kun_(nablack),1\nchalkboard_sign,0\nokapi_tail,0\nsami_(3a3i3a3i),1\nasa_(teng_zi),1\nbaka-man,1\nracing_miku_(2011),4\ncagliostro_(symphogear),4\nnakamura_hinata,1\ndokyuu_hentai_hxeros,3\nyanase_mai,4\nmiyuki_yaya,1\nyuama_(drop),1\nmado_(mukade_tou),1\nhot_kakigoori,1\nokome_(ricecandy),1\nkurokuma_(kuro_kumagaya),1\nholding_cable,0\nkakizato,1\ndissidia_final_fantasy_opera_omnia,3\nsagara_misae,4\nnama_udon,1\nnys,1\nkorokoro_daigorou,1\nthunderseal,0\npompompurin,4\nsernia_iori_flameheart,4\non_counter,0\ntiramii,4\n9is,1\nronoue_genji,4\nchoujuu_kishin_dancouga,3\nyukina_(masyumaro610),1\nmg_(mica),1\nakane_hazuki,1\nkikurage_(sugi222),1\nsnake-eyed_kanako,4\nkwaejina,1\nuchouten_kazoku,3\nhoshimawa,1\nhoney_dipper,0\nsugihara_(sugihara2000),1\nzeshgolden,1\n2020_summer_olympics,3\nsuga_koutarou,4\njimon_asuta,4\npolka_dot_hoodie,0\nmakai_tenshi_djibril_2,3\nhimesato_maria,4\nyumekui,1\nhatamoto_(kotoba),4\nmikumo_osamu,4\nsabagebu!,3\nonigiri_noka,1\ncruhteo,4\nnatural_(module),0\nmana_(418208360),1\nringetsu,3\nmaccha_cocoa_(mococo),1\nk_(li),1\nfamepeera,1\nsoukitsu,1\nfutabu,3\nseraphita_(xenogears),4\nemma_(victorian_romance_emma),4\njuri_(nattoutomato),1\nnifuji_hirotaka,4\nconveyor_belt_sushi,0\nkokkuri-san_(gugukoku),4\nkuroume_(aihikarikuroume24),1\ninabi,1\nmilssak,1\nakaza_(kimetsu_no_yaiba),4\nrenee_(negative_hero),4\nii_orc_no_hi,3\ntaggo,1\nmamenomoto,1\nyou_(granblue_fantasy),4\nshitodo_kuroji,4\nshopping_district,0\nen_(enxxx),1\nhokko_tarumae_(umamusume),4\nmash_kyrielight_(fgo_x_lawson),4\nsally_(bofuri),4\nrick_(kirby),4\nlumen_(gunvolt),4\nelbing_(azur_lane),4\nblood_hood,1\nkachikachipiroo,1\nfikkyun,1\nganyu_(genshin_impact)_(cosplay),0\nokinawa_habu_(kemono_friends),4\njiujiuyatou_(yayanzz),1\nyume_(grimgar),4\nscavia10,1\ngradient_shirt,0\nmaonatten,1\ncurren_chan_(sakutsuki_ma_cherie)_(umamusume),4\nimminent_death,0\nimaizumin-chi_wa_douyara_gal_no_tamariba_ni_natteru_rashii,3\nholding_dice,0\nluetzow_(azur_lane),4\neuropa_(summer)_(granblue_fantasy),4\nmisora_inaho,4\nswinging_legs,0\nkiritani_haruka,4\nbamuth,1\nsuketto_sanjou!,3\nijac_ray,1\nmariwai_(marireroy),1\nsakon04,1\ncocona_vatel,4\noolong,4\npaz_ortega_andrade,4\nameshizuku_natsuki,1\nike_masato,1\nurahara,1\ndears,3\nsasahara_kanji,4\nunaji,1\nyizumi,1\nclalaclan_philias,4\nxecty_ein,4\njohn_hathway,1\nhamada_miku,1\ntsuchiya_akira,1\nkno1,1\nuniversal_bulin_(azur_lane),4\ntokita_arumi,1\nclarissa_arwin,4\nmotomiya_daisuke,4\ntugeneko,1\ntsubameyado,1\nsuiren_(mystia6b),1\nchikuwabu,1\nmelmaid,4\ngekkou_ookami,1\nmori_sonou,4\npoodle,0\nyuuki._(limit),1\nrekise,1\nnamo,1\nyjy,1\nkazakami_yuu,1\nkisuke,4\nfutaba_841,1\ndacho,1\ntomyoo,1\nbeiyu,1\n\"i\"\"s\",3\njunketsu_no_maria,3\ninubashiri_momiji_(cosplay),0\nluftwaffe,0\nyoshizuki_kumichi,1\nhouraisen_runa,4\nnimu,1\nkamejiro_(sasakame),1\nkurobane,1\nfile_cabinet,0\nzubora_na_kintoki,1\nmogg,1\nitalian_flag_print,0\nchin_(motio7201),1\ninuko_(redconstellation),1\nteratsuki,1\nleipzig_(azur_lane),4\namy_(madoka_magica),4\nuron-rei,1\ntyuga,1\ntanbonota46,1\nlancelot_(code_geass),4\nsuzuakks,1\nabe_hikaru,1\nika,1\norein,1\neyyy,1\nume_(ittla),4\ncala,4\nruuku_(azukieru),1\nyougen_kitsune,1\ndanbooru_(site),3\nmagcargo,4\ntakanashi,1\nguren_nishiki,4\ngilbert_nightray,4\ntsuda_akira,1\nburger_king,3\nm_(m073111),1\npoponko,1\nwakaki_tamiki,1\nmetang,4\nkodamasawa_izumi,1\nirisu_makina,4\npuriketsu_corgy,1\nkerorin,1\nsangou_(girls_und_panzer),4\nroi_(liu_tian),1\nrocking_school_(idolmaster),0\nmaeda_shiori,4\nskating_rink,0\nzen_juraku,1\nnarita_rumi,1\nsenpai_(tawawa),4\nbanchii,1\narmaldo,4\nbuchi_holes,0\nwsfw,1\nurode,1\nyu_cha,1\nunk_kyouso,1\nmetal_wire,0\nthrone_room,0\nalexstrasza,4\ntaira_takehiro,1\nseripa,4\nday_walker1117,1\nmal_(malberrybush),4\nreversi,0\nmeltan,4\nhieung,1\nkaga_cape,0\ndai-oki,1\n1000,1\noh_(aung_ae),1\nyuiofire,1\nkevn,1\nlaio,1\n90i,1\npururun_z,1\nanonymous_(4chan),4\nkurohal,1\njijii_(nicoseiga91467756),1\nwonder_zone,0\naburisamon,1\npocari_sweat_(artist),1\nwutu_(1183238220),1\nmumistar,1\nyuto_takumi,1\nseventeen_(st17215),1\nkuronaga,1\nnatsukawa_kuina,4\narctic_hare_(kemono_friends),4\nkodiak_bear_(kemono_friends),4\nsakusaku,1\ntsukumo_yuuma,4\nmugon,1\nhow_to_train_your_dragon,3\nvegetablenabe,1\nxiaojiaju,1\nmiyazawa_fuuka,4\nhands_on_another's_arm,0\nrandolph_orlando,4\nhimemiya_shuang,1\nlucyfer,1\nclassy-black-haired_girl_(hayabusa),4\nmapyuhin_za_puremiyamu,1\nmototenn,1\nsaru_(monkey_magic3),1\nnamaata,1\nhololive_error,3\nnishinoya_yuu,4\namco,1\ntaneda_risa,4\nporcupine_ears,0\nmusanix,1\nmamahaha,4\nelk115,1\ntagame_(tagamecat),1\nsuminoe_takako,4\nmarirero_a,1\nflick_(sal23),1\nlieselotte_sherlock,4\nfrip,1\nkobato.,3\ntoshi,1\nparade,0\nstar_pin,0\nchocoshi,1\namano_kazumi,4\nshinra_kusakabe,4\nmashiro_kta,1\ntobacco,0\nindonesian_clothes,0\ntemir,1\nbandaid_on_ear,0\nreef_(sanomsai_products),1\nsagami_rin,1\nakagami_no_shirayukihime,3\nphoenix_wright:_ace_attorney_-_justice_for_all,3\ngrey_umbrella,0\nkatsukare,1\nsumishi_(sumisi_3),1\ncozyu,1\nzen'in_mai,4\ngreen_lantern_(series),3\nsousai_shoujo_teien,3\nishitsu_kenzou,1\nivris,1\npensive,0\ndrinking_from_condom,0\naster_arcadia,4\nholding_magazine_(weapon),0\nbook_to_mouth,0\nmakin_tama,1\npads,0\nbarber_pole,0\nanparu,1\ntatsuno_malm,4\ncurled_tail,0\njintsuu_(azur_lane),4\nemily_armond,4\nurethral_fingering,0\nmitaka,1\nass_freckles,0\nrenakobonb,1\nenergy_arrow,0\nkunoichi_(sengoku_musou),4\nazumaya_koyuki,4\nkaguya_(srx61800),1\nkazuo_daisuke,1\nmitosansan,1\nkeiryuu_seo,1\nminamino_kanata,1\nhaiiro_(hi_ghi_ro),1\ncoo_(kirby),4\nsilent_hill_(movie),3\nkanzaki_shiori,4\nqwilfish,4\ntakeyama_(angel_beats!),4\ntakanashi_nazuna,4\naoi_usagi,1\nribbon_bar,0\niyagatteru_kimi_ga_suki,3\ntanziya_(codlxcold),1\nmeru,1\ntakano_ui,1\npinkwaters,1\nreptileye,1\npotato_(air),4\nleaf_skirt,0\nthe_legend_of_zelda:_oracle_of_seasons,3\nrumia_(darkness),4\nryuugajou_nanana_no_maizoukin,3\nkogasa-san's_mother,4\nshima_(landsuzume),1\nstargazy_pie,0\nkt._(kaisou-notagui),1\nichijou_takakiyo,1\nphilena_ivy,4\nyuuri_(yu-gi-oh!),4\nrumiko_(rmeco),1\nmika_miche,1\nmato_seihei_no_slave,3\nl.k,1\nnoumin_joemanyodw,1\nalolan_boy,1\ne.m.m.i._(metroid),4\nmonk_2_(sekaiju),4\noni_gini,1\npiza_rokumai,1\nclamp_(circle)_(style),0\ncake_mogo,1\nwilbell_voll-ersleid,4\nmagical_mirai_len,4\nsolcha,1\ntabe_ayumu,4\nyasiro,1\ntsuda_takatoshi,4\nrestaint,1\nkona_sleipnir,1\nmadara_hato,1\nnagi_(exsit00),1\nkel-tec_rfb,0\nensis_exorcizans,0\nhana_(hana_mo_arashi_mo),1\nklink,4\nokuri_ookami,1\ni_b_b_e,1\nkuran_(mkmrl),1\nanonymous_drawfag,1\nfuurinji_miu,4\nhimarisu_(hida_mari),1\nkyoffie12,1\nidon,1\nscythana,4\nmirai_(mirai76_),1\nd.va_(gremlin),4\nsuzushiro_akane,4\nregalia_the_three_sacred_stars,3\ninazuma_eleven_ares_no_tenbin,3\ntomatita,4\nshirogane_lilly,4\nreco_love_gold_beach,3\nnqrse,4\nmeikko-chan_(j7w),4\nmiracle_nikki,3\ntouma_(tomatooo018),1\nicwine,1\nmickey_mouse_(cosplay),0\nishii_takuma,1\nmaractus,4\ngunsou1350,1\ndeadprince,1\netchimune,1\nameoto,1\nkazuma_(scryed),4\nnorthern_little_sister,4\nzweihander,0\nakaneman,1\ncaterpillar_(alice_in_wonderland),4\nnamamo_(kura),1\nindeedee,4\ngenkai_zero,1\nsailing,0\nyear_of_the_snake,0\nshockwave,0\nkurosawa_kazuto,1\nhoshi_no_samidare,3\nstar_sticker,0\ntaiyou_no_kiba_dougram,3\nokutama_tarou,1\nsakake_asobi,1\nwanda_maximoff,4\nnamiki_itsuki,1\ndonovan_baine,4\nsasaki_rika,4\nelfriend_(shiranui_flare),4\nayase_miya,4\nkagetomo_midori,1\nranken,1\nbad_end_march,4\nnicole_(lion),1\nmille_(dieci),1\nmako_mori,4\nyuusha_ni_narenakatta_ore_wa_shibushibu_shuushoku_wo_ketsui_shimashita.,3\nquinn_(league_of_legends),4\nnomura_taeko,4\nem_s,1\nsynth_(iahfy),4\nego_trigger,3\nwhite_robin,4\nliaowen,1\nmaaka_karin,4\nmillium_orion,4\nsoroi_mitsuzou,4\ntomozu,1\noimo_(14sainobba),1\nnon_(nonzile),1\nlobelia_carlini,4\nhashima_izumi,4\nrope_gag,0\ncradling_phone,0\npleiadean,4\nzoirun,1\nsingle_drill,0\nitou_hikari,4\naikawa_ren,4\ntrento_(azur_lane),4\nsatin_sheets,0\nkurage_modoki,1\nmigchip,1\nyuuna_minato,1\nkatwu_(gensou_ninja_yashiki),1\nakimichi_chouchou,4\nshiime,1\nrin_(torikissa!),4\nmegami_device,3\nhongcasso,1\ncantaloupe,0\nspring_rider,0\ntama_launcher,1\nxelgot,1\nli_zhu,1\ntachibana_sylphynford,4\nbiretta,0\nmotsuba,1\ntateishi_shima,4\nornate_clothes,0\nibrahim_(nijisanji),4\nmisaka_imouto_10032,4\neleaaa,1\neyebrows_visible_through_mask,0\nchapayev_(the_captive_cavalier)_(azur_lane),4\n88_(einnimnech),1\neffie_(fire_emblem),4\nsupercell,3\nmikan_toshi,1\nhornet_(hollow_knight),4\nradiata_stories,3\nyukisame,1\nshigatsu_(4gate),1\narmguards,0\nblack_bustier,0\nradioneet,1\nisuzu_ren,4\nbook_strap,0\npassenger_(arknights),4\nkoutate,1\nonion_(onion_and_pi-natto),1\nmia_(world_flipper),4\nfffukuzawa,1\npelican_(s030),1\ntanba_akari,4\nbingwei_huang,1\nkugimiya_madoka,4\nsasasi,1\nanmitsu_(magenta),1\nsnow_(game),3\ngatari,1\ndaigaga,1\nmotatei,1\nsaitou_natsuki,1\nneige_hausen,4\nshinshia,1\ntakkayuuki,1\notohime_mutsumi,4\nbana_(stand_flower),1\nonimusha,3\nv2_gundam,4\nchang_wufei,4\nhouraisan_kaguya_(cosplay),0\nkara_no_shoujo,3\nenjou_sakuya,4\nnishiwaki_yuuri,1\nmaxima,4\nnishijima_waon,4\nmo_(deciliter),1\nst_parasu,1\nyuino_(fancy_party),1\ntokimeki_memorial_girl's_side,3\nkuzugitsune_(inarikami),1\nstar_rod,0\nnuime,1\ndobure18,1\nmitus,1\nnumel,4\ncartagra,3\nlens,0\nred_(warioware),4\nhide_and_seek,0\nanni_minto,1\nkokonoe_miya,1\nkyoukai_no_rinne,3\nkawakami_momoyo,4\nakeboshi_kagayo,1\narind_yudha,1\nmiyuli,1\nhal360,1\nhaikawa_hemlen,1\npan-nya,4\nshiranui_kaede,4\nkenran_butou_sai,3\nextra_hands,0\narnold_(jojo),4\ndeath_parade,3\ndaruk,4\nstarfleet_uniform,0\nkaina_(tsubasakuronikuru),1\nitalian_commentary,5\nnatsui_tuna,1\nalexiel_(pixiv6211566),1\nnarusegawa_riko,1\nhanamonogatari,3\nfascinator,0\nshiraba_(sonomama_futene),1\nnaraka_(nijisanji),4\nhimeshaga,1\npinguinkotak,1\ndean_stark,4\nmichael_roa_valdamjong,4\nkunimitsu_(9nimi2),1\nbloody_wings,0\nbiting_tongue,0\nbird_on_leg,0\nstriped_fur,0\nastral_chain,3\nsagiri_(ulpha220),1\nkuzunoha_amehiko,4\npizanuko,1\nfuyuki030,1\neientei,0\niwauchi_tomoki,1\ngg-chan,4\nalu.m_(alpcmas),1\nnew_wave_(idolmaster),0\nkamura_reiri,4\ndido_(muse)_(azur_lane),4\nyuiki_(cube),1\nnozomu144,1\nprofessor_nemo_(fate),4\nhiroe_(cosmos_blue-02_421),1\nringabel,4\nkawajuu,1\nnekomura_otako,1\nred_babydoll,0\nsimone_mandl,1\nal_aoi_aoba,1\nelise_von_dietrich,4\nhua_ben_wuming,1\nbad_ass,0\ncure_amour,4\nnyatoran_(precure),4\nchain_paradox,3\nmaru_shion,1\nrobba-san_(wangphing),4\nkogarasumaru_(touken_ranbu),4\ntwc_(p-towaco),1\nbutterflyfish,0\nomiya_(louise-louis-lucille),1\nzubatto_(makoto),1\ndurandal_(fire_emblem),0\nishizaka_ryuudai,1\nurasuji_samurai,1\nb_rock,1\nsakurayu_haru,1\ntoshibou_(satsukisou),1\nkashii_eiji,4\npipette1223,1\norange_armor,0\ncortoony,1\ntaekwon_kim,1\namu_(258shin),1\nnagai_wataru,1\njagercoke,1\ncpqm,1\noodenta_mitsuyo,4\nmurasaki-yuri,1\nhuangquan_dong_(sinchi),1\nhaiba_arisa,4\nakkun_to_kanojo,3\ntoropp,1\ndottore_(genshin_impact),4\nshinonome_haru,1\nokitsune_(okitsune-sama),1\nthe_king_of_fighters_xii,3\nnanashi_mumei_(owl),4\non_liquid,0\nflour_(cookie),4\nparyi,1\nkennen,4\nfilm_reel,0\ngirls_und_panzer_gekijouban,3\namazon_(azur_lane),4\nwalrein,4\nanima_miko,1\nsekai_de_ichiban_oppai_ga_suki!,3\naya_drevis,4\nshin_yuya,4\ntoima_(beat0829),1\nyuuko_(030_yuko),1\nkakei_sumire,4\nchoo_choo_train,3\nladydevimon,4\nsusumu-sensei,4\nmichiru_(air),4\nkubfu,4\ndunsparce,4\nshizuki_aya,1\naurora_(disney),4\nyuu_(isis7796),1\nharumi_sawara,4\nqianqiu_wanxia,1\nragnarock_city,3\nshiina_miyako,4\nr-type_nirvana,1\nshack,0\nfai_(fai-storage),1\ndracovish,4\nonomiya,1\nmatatabi_(nigatsu),1\nrhapsode,1\nfuse_(apex_legends),4\ngensou_suikogaiden,3\ndr._wily_(mega_man),4\nmole_on_nose,0\nnekomegane,1\n104,1\nkakeku,1\naonoji,1\nminamito,1\nsasaki_(dkenpisss),1\nfilha,1\nmotsunuki,1\n7100potechi,1\nfunpjinju,1\nnomeazog,1\ntk_(butakuma),1\nkcccc,1\nyuusaki_riko,4\nsteely_dan,4\npedestrian_lights,0\niron_maiden,0\nnoneon319,1\nhua_yi_shan_xin_zhi_yue,3\ncaltina_(pepekekeko),4\nyonezuka_ryou,1\nturn_x,4\nqian_ye_(qys3),4\nnabe-box,1\nyamamoto_takeshi,4\nhita_(hizokuseikogeki),1\nkurosaki_shun,4\neunnieverse,1\nsuperfiring,0\nxi_xeong,1\nnico_(devil_may_cry),4\nangel_french,0\ndifman,1\ntricky_46,1\ntansho,1\nmorihama_karute,1\nsinanju,4\nkuma_daigorou,1\njiam009,1\nanmita_(rarutos),1\ndeviruchi_hat,0\nsatomi_touka,4\ndouble_buttjob,0\nhospital_king,1\nice_shard,0\nmuta_poo,1\nkiyone_suzu,4\nio_(maryann_blue),1\nkoriarredondo,1\njun_(goodgun7),1\nkamidanomi,1\nnaru_0,1\nikazuchi_akira,1\ngecko,0\ntakatoo_nanase,4\nbell_sleeves,0\nvexen,4\nknt02142769,1\nmarie_makise,4\nat_field,0\nold_maid,0\nreverse_(bluefencer),1\npre_(preecho),1\nnoe_(ppppriver),1\ncaloriemate,3\ngueya,1\nwrist_blades,0\ncloud_hair,0\ngreen_nipples,0\nbow_(paper_mario),4\nsecond_heaven,1\nseppuku,0\nliliya_(kaetzchen),4\nhalf-life_2,3\nkevin_kaslana,4\nbismarck_(kancolle)_(cosplay),0\nmasaya_ichika,1\nlittle_sister_(seojh1029),4\nmisana,1\niwao_(pixiv258710),1\nbig_sister_(seojh1029),4\ncyberlive,3\ndaichi_(daichi_catcat),1\nwenzheng147,1\nmeo,1\npirochi,1\ncarvanha,4\nmessage_in_a_bottle,0\nkofji_(cookie),4\ndaisy_(working!!),4\nnidorina,4\nkio_shimoku,1\nrichard_viii,1\nunderlighting,0\nholding_luggage,0\nflower_swing,0\nmokkei,1\nmasn_(moxi),1\ntranquillianusmajor,1\nhoshizora_no_babylon,3\nciel_nosurge,3\nxkaishaku,1\nzaizen_touko,4\nchobii_(hamgyomu),1\nishinoyari,1\nookawa_wataru,1\nblue_leggings,0\nmakiri_akira,1\nn-mori,1\npixiv_succubus,3\nnagomi_yayado,1\naojiru_(shiro_to_kuro_no_mukyou),1\nankoiri,1\nkurasaki_fuuko,4\nyamoge,1\nookamiden,3\nyori_(shitsuon),1\nmasa_ni,0\nkobayashi_rindou,4\nlyn_(shunao),1\nacademy_ahri,4\nmatcha_cream_v,1\najin_(sakurai_gamon),3\nf-35_lightning_ii,0\nactive_raid,3\nsilltare,1\ncoupon_(skyth),1\nlavenza_(persona_5),4\nbettie_(pokemon),4\nmarse_(rokudaime),1\ninaba_teitoku,1\ngaran_co,1\nmatcha_(food),0\nhano_(hanos91),1\narm_mounted_weapon,0\nokawa_friend,1\nhyperbudd,1\ngnns,1\nhana_n._fountainstand,4\ngetter_robo_(1st_series),3\nsl8_(girls'_frontline),4\ngravel_(modeling_night)_(arknights),4\nkiran_(kiranpln),1\nnirvana_(blazblue),4\nchihaya_gunzou,4\nminiature_ranni,4\njeanne_d'arc_alter_(festival_outfit)_(fate),4\nsaito_yoko,4\nhaori_haruki,4\nryouku,1\nnekoyanagi_matasaburou,1\nasuka_(louyun),1\nyeti_(creature),0\nkonno_kengo,1\nkamanatsu,1\ndekochin_hammer,1\nbisuke_(k_step2009),1\njava_sparrow,0\numegiri_ameto,4\nmeigo_arisa,4\nkidokawa_seishuu,0\ntona-gura!,3\nhasisisissy,1\nhimitsucalibur_(fate),0\nsekino_roko,4\nheart_arms,0\nazusa_mifuyu,4\nleon0705,1\nbakushi_(kaeritai0609),1\nfuwafuwatoufu,1\noyaman,1\ntakumi_namuchi,1\nwanaxtuco,1\nmomae_makku,1\nchaciooh,1\nochanoko_(get9-sac),1\ngas,0\nkemi_neko,1\nsekka_koyori,1\nsoba_(sobaya1938),1\ntuuuh,1\nlino_(lilyparty07),1\nhuyandere,1\nwang_man,1\nkuroi_paseri,1\nmagical_astronomy,3\nfuyu_no_yoru_miku,4\nonda_takeshi,1\nshiro_sousu,1\nneneko-n,1\nnozaki_sakura,4\nashiya_shirou,4\nmanah,4\nturkey_min,1\nfood_on_legs,0\nakira_(yuibnm71),1\nbaiguiyu,1\nkamimura_chika,4\nphalanx_2_(sekaiju),4\nheart_ring_bottom,0\nt_jiroo_(ringofriend),1\nshu_(loveeater),1\nroman_imperial,1\nshouma_(bravespiritya),1\nseedflare,1\nwolf_(raidou-j),1\njo_(bakuretsu_tenshi),4\namaya_enaka,1\noman_(evld),1\nyuni_(school_festival)_(princess_connect!),4\nrichard_suwono,1\nkaizuka_yuki,4\nmachinist_(final_fantasy),4\ndeep_web_underground,3\nmary_cagle,1\nai_gon_deroga,1\noda_eiichirou_(style),0\nshiiki_(love-saber),1\nhappy_maker!,0\nteria_saga,3\nshiro_youduki,1\nkuon_(break_through),1\nrikei_ga_koi_ni_ochita_no_de_shoumeishitemita,3\ndaniela_dimitrescu,4\nkousaka_maria,4\nhirokazu_sasaki,4\nsuzuko_(star8383),1\noddsnail,1\nlangrisser_mobile,3\npython_(fire_emblem),4\nkaminogi_haruka,4\ntine_(fire_emblem),4\nbbeedol,1\ngerome_(fire_emblem),4\nwyrdeer,4\nnona_moth,1\ntate_yukimi,1\nrankebu,1\nenmu_(kimetsu_no_yaiba),4\nooarai_(ibaraki),0\nli_qingning_(the_legend_of_luoxiaohei),4\nmay9,1\ncrossed_belts,0\nrope_necklace,0\ncotta_(heleif),1\nbouno_satoshi,1\nakai_akasaki,1\nside-tie_costume,0\nmurasaki_hisato,1\nema_(kuguiema),1\nsen'yuu.,3\nfujima_sakura,4\nred_clouds,0\nno_hair_bow,0\nmutsuki_(iroha_(iroha_matsurika)),4\n\"ore_ga_ojou-sama_gakkou_ni_\"\"shomin_sample\"\"_toshite_rachirareta_ken\",3\nnaoki_(2rzmcaizerails6),1\nameko53133,1\ns.e.e.s,0\nhidaka_kouyou,1\njk_gumi_(nijisanji),0\neilinna,1\nkaleka,1\nmichele_crispino,4\nbliss_barson,4\nsoya_(sys_ygo),1\nscrunchie_removed,0\nyorugami_rei,1\nhachiya_shohei,1\nfuruki_ayaginutaira,1\nholding_bunny,0\nsela_(08180074),1\nhanpan,4\nleaf_panties,0\nbun150,1\nimpossible_skirt,0\nlupin_dive,0\niriya_no_sora_ufo_no_natsu,3\nhiyama_yuki,1\nmachino_henmaru,1\nfervent_idiot,1\nshati,1\nfujimoto_satoru,1\nkunishige_keiichi,1\nsylpheed,4\nleite_jokin,4\nchibi_chibi,4\nhajimete_no_orusuban,3\nfreddy_krueger,4\ninemuri_uno,1\ncondensed_milk,0\ngunlance,0\ndruddigon,4\nsheryl_nome_(cosplay),0\nsoumakyo,1\nkazamaki_matsuri,4\nhangover,0\nsilent_hill_1,3\nhawoku_ishibare,1\nnetachou,1\nsuguro_ryuuji,4\npepsi_nex,0\ncat_(trickster),4\nwolf_tengu_extra_(touhou),4\nexif_thumbnail_surprise,5\ngeiru_toneido,4\nmajin_go!,1\ntime_lapse,0\nskywarp,4\nshiguri,1\norimoto_mimana,1\nodori_momoha,4\nsamurai_sentai_shinkenger,3\nsmall_testicles,0\nnamakemono_(u446644k),1\njohn_(tiger_&_bunny),4\nygo,1\ndreamoon,1\nmomoiro_tanuki,1\nadobe_photoshop,0\nmasuyama_kei,1\nmishima_toshihiro,1\nzassou_maruko,1\nchuuou_higashiguchi,1\nshinoi,1\nace_combat_04,3\nwaku,1\ntasogare_mimi,4\nyukiko_hime,4\nmaruishi,1\nnaoki_(shibu_asa_ryo),1\nkamen_rider_amazon_(series),3\nshiohara_shin'ichi,1\nstatic_cling,0\nfueiku,1\nblonde_hair-chan_(ramchi),4\nsanazura_hiroyuki,1\nmiyake_shinobu,4\npraise_the_sun,0\nmarvel_vs._capcom_2,3\nkonbari_tariumu,1\nneuroi_girl,4\nplum,0\nburenbo,1\nwolffeld_price,1\nhayashi_kotoyo,4\nsomeno_haru,1\nmattang,1\nsunday_se7en,1\numino_mizu,1\nbad_gun_anatomy,0\naichi_shiho,1\ncruiser_d.va,4\nkirameki_high_school_uniform,0\nkeikou_ryuudou,1\nlaxus_dreyar,4\nagemaki_wako,4\nplover,1\natelier_marie,3\nakaho_sakura,1\nemonyu,1\nmmu,1\ntatsuya_(atelier_road),1\nsoul_(tamashii),1\nyuuichi_(bobobo),1\nblack_rose_(.hack//),4\narufa_(hourai-sugar),1\nhoozuki_shia,1\nmatryoshka_(borscht),1\nkoi_ga_saku_koro_sakura_doki,3\nkuon_michiyoshi,1\naoyama_nanami,4\ngrowling,0\ncure_peace_(princess_form),4\nnishi_masakazu,1\nkumakichi_(toshigat),1\nsango_(53box),1\ntakamiya_nasuno,4\noguro_(moyashi_2-hon),1\ndosu_(doseven),1\nnyamou,4\nfujiyama,1\nshie_(m417),1\nchullo,0\npudding_(zoza),4\nimp_mercy,4\nnatsuki_subaru_(cosplay),0\nmumumu_(three_emu),1\nshiiba_nae,1\ncrotchless_bloomers,0\nmikko_leminen,4\nhardgore_alice,4\nknolling,0\nkagura_(onmyoji),4\nzura_(phrase),0\naria_wintermint,4\npallas's_cat_(kemono_friends),4\nelephant_tail,0\nzhishi_ge_fangzhang,1\ndespicable_me,3\notome_wa_boku_ni_koishiteru_futari_no_elder,3\nshroedinger,1\nmamonomusume_to_no_seikatsu,3\ndjmax_respect,3\ncounter-strike_(series),3\nliquid-in-glass_thermometer,0\nastgenne_(arknights),4\njyushiko_(osomatsu-san),4\ngomulgong,1\nleonne_(futagohime),4\nshokupan_(slvk12),1\nhiyashi_mirano,1\nrya_(elden_ring),4\nindo_curry,1\nsemi_(p-poco),1\natou_haruki,4\nblood_moon_(league_of_legends),0\nakatsuki_shimeji,1\nmoon_gate,0\ntemujin_(housamo),4\ntachibana_hibiki_(symphogear)_(another),4\nguitar_little_sister_(hitomi_o),4\nolivia_(kureiji_ollie),4\nnikai_kara_momoshio,1\nblue_sealad,1\ncha_(kancolle),4\nharu_(haruxxe),1\nkyouyasai4423,1\ncenturii-chan_(artist),1\nbeyond_the_wishes_(idolmaster),0\nshine!!_(idolmaster),0\nyu-gi-oh!_tag_force,3\nshiromiya_rei,4\nbea_(bropmlk),1\nsuyamori,1\ngekka_nanako,1\nkurosawa_shouichi,1\ntokopi,1\nminnie_mouse_ears,0\ngodzilla_(2014),3\nyoshiten,1\nkusoyuridanchi,1\nshaian,1\ncat_paw,0\nsatobitob,1\nmatcha_(mattyan),1\nfake_whiskers,0\nhato_yu-ki,1\ncutesexyrobutts_(style),0\nkata_rosu,1\nk3rd,1\ndaisy_cutter,1\nunbuttoned_dress,0\nanne_of_green_gables,3\ngipsy_underground,1\nleica,1\ndodododo,0\nnyaring943,1\ntarutobi,1\nwashpan,0\n15citron,1\npontaro18,1\nkamura_gimi,1\nmen'youjan,1\njung_freud,4\nofficer_vi,4\nyamadori_seika,1\nakagikou,1\nshisaki_tayu,1\nhans_christian_andersen_(adult)_(fate),4\nagnes_joubert,4\nmalos_(xenoblade),4\nleena_(chrono_cross),4\ndiieru,1\noyuyu,1\nmarie_(atelier),4\nkashimu,1\nvibrava,4\nnpn,1\nkonami,3\ngodharo1,1\nlovely_labrynth_of_the_silver_castle,4\nblaine_(pokemon),4\nshirono_mirai,4\ni-13_(azur_lane),4\nboingo,4\nporoi_(poro586),1\nibuki_suika_(cosplay),0\nlooking_inside,0\nnero_claudius_(fate/extra)_(cosplay),0\nryoma_(rym_369),1\nmusco,1\numapyoi_(phrase),0\nmongguri,1\nfutoumeido,1\nbrey,4\nomega_2-d,1\nsurgery,0\nprint_capelet,0\naozora_taf,1\nten_piboshi,1\nsealeo,4\nmakimasansuki,1\npunched,0\nyoshi_(crossmind),1\nkagami_tina,4\nkimyo,1\nozeu0916,1\nkurosawa_rei,4\nbonobono,3\nlantern_earrings,0\nbow_shirt,0\nfile112056,1\nahiru_(duck),4\nennis,4\nsushi_geta,0\nazuma_satori,4\njunior_clown_car,4\nmarie_en_carlsberg,4\nkobashi,1\nnisha_(elsword),4\nmaterial_sniper,3\ntamagokake_gohan,0\nsakayanagi_arisu,4\nrodoreamon,4\nr2pi,1\nluis_cammy,4\nwaiting_for_kiss,0\npigone,1\nmamemix,1\nbackstage,0\njinjide_shaonian,1\nunown_n,4\nwiffle_gag,0\narcher_(cool_and_wild)_(fate),4\ntheory_(xenoblade),4\ncheschorv,1\nchelle_ingham,1\nzero_a,1\nmainz_(azur_lane),4\nreisei_zero,1\nballroom,0\nkokuhaku_jikkou_iinkai,3\nsteel_ball,0\nboom_microphone,0\nbound_toes,0\nnumenoko,1\nyac_(mokkori),1\nchat_(tales),4\nclaude_(housamo),4\nalteisen,4\nmakita_(vector1525),1\nasahina_mikuru_(cosplay),0\nkawaguchi_youhei,1\nbugita,1\nburari,1\ntransgender_flag,0\nmukakin,1\ncapoeira,0\nmusukichi,1\nwhite_trim,0\njiyu_(jiyusi),1\nda_(bobafett),1\nice_cream_scoop,0\ntl_(xdd),1\nnamespace,1\ncha_kuro_(limo),1\ntorso_flash,0\nnatsusora_wakana,4\nmall_link_suit,0\nclaude_kenni,4\nkiritanpo_(food),0\nx-drive_(symphogear),0\nveryhardloco,1\nfuurin_kingyou,1\ncicin,1\nmourning,0\nheadphone_actor_(vocaloid),3\nramuya_(lamb),1\nsabito_(kimetsu),4\nluke_triton,4\nblonde_girl_(popopoka),4\nmoroha,4\ninui_sekihiko,1\nreyn_(xenoblade),4\nasura_(onmyoji),4\ntubumi,1\nking_kazma,4\nkoizumi_hitsuji,1\nraseruta,1\nstrelka,4\nnonomura_sora,4\nvima,1\namata_sora,4\nfrieren,4\nichinose_(ichinose1592),1\naino_nagisa,4\nparabora_(nipplemokuba),1\nbou_shaku,1\nwedo,1\nbokoblin,4\nthe_dark_knight,3\nbrycen_(pokemon),4\nvuccha,1\nino_(tellu0120),1\nyoshinogai,1\ndepth_charge_projector,0\nsilverwing,1\nakira_(ying),1\nsuigetsu_koubou,1\nmulticolored_necktie,0\nmaru_(maru1625),1\nteruya_(6w6y),1\nasura_(elsword),4\nmizumizu_(phoenix),1\nshiratama_(monster1553),1\nagemasen!_(meme),0\ntiger_(p),0\ncherub,0\nluke_(kyeftss),1\nfujiwara_zakuro,4\nend_of_eternity,3\nvenus_bikini,0\nrivets,0\nkunikida,4\ncaptain_america_(cosplay),0\ntiny_(tini3030),1\nga_bunko,3\nlukeskytera,1\nmugiusagi,1\nooshio7734,1\nlilith_(lilithchan),1\nasakawa_shinka,1\nmelancholic_(vocaloid),3\ncola_(gotouryouta),1\nnikusho,1\nfallen_tree,0\nnishikawa_youko,4\nbonryuu,1\nhiratsuka_shizuka,4\nkokoa-chan_(pan_(mimi)),4\nkirin_(monster_hunter),4\nbouhatei_tetora,4\nhayama_kotono,4\nmega_gengar,4\nyukkyun,1\nmiyakodori_takayuki,1\ncyzir_visheen,1\n1997,0\nrahwia,1\nryuudou_issei,4\ngu_deulmok,1\niceky,1\nkatsuten,1\nfake_translation,5\ngundam_gp-02_physalis,4\nhidari_kagetora,1\nmifilinah_jegell,4\nun_tan,0\nararagi_ayune,1\nyuurei_yashiki,1\nchika_(orange_pop),1\nhihachi,1\nushisuke,1\nadjusting_strap,0\ntsujigiri,1\ncruccu,1\npon_(cielo),1\nh&k_g36c,0\npan_koujou,1\nishiwatari_daisuke,1\nmoo_(umineko),1\nsasatabekung,1\natchy,1\namacha,1\nmajin_vegeta,4\nreferee,0\nground_gundam,4\nkitamura_yuusaku,4\nfluffydango,1\nakatsuki_(akatsukishiki),1\nhoshiuta,3\nsougetsu_izuki,1\ntao_pai_pai,4\nmaximum_impact_ii,3\nfrankenstein,3\nmichelle_cheung,4\nuss_enterprise_(cv-6),4\nhiyo_kotori,1\nmamemo_(daifuku_mame),1\ngenji_tsuushin_agedama,3\n1998,0\nkondou_ryunosuke,1\nspiral_heart_moon_rod,0\ngeoduck,0\ng.h_(gogetsu),1\ncrimson_typhoon,4\nwin_opz,1\nanmitsu_(dessert),0\nsweater_girl,4\nrickenbacker_4001,0\nyururi-ra,1\nthe_legend_of_zelda_(nes),3\nhoshi_(xingspresent),1\nanti-eyebrow_piercing,0\nsonoda_mitsuki,4\nimai_tetsuya,1\nyagaminoue,1\nushiromiya_hideyoshi,4\nfei_fong_wong,4\nmega_absol,4\ndadachyo,1\ncoffeechicken,1\ntopdylan,1\njettoburikku,1\ntomo_(tomorag7),1\n5tb,1\ndeep_web_underground_(character),4\nroku_(tsua-kihuyu),1\nryoushi_chicken_soup_grass_big_chungus,4\nchacha_(akazukin_chacha),4\npo0000000000,1\nmajiro_(mazurka),1\ndeatheach,1\neleonora_viltaria,4\nsamonasu17,1\ntsunenorip,1\norca_(kemono_friends),4\nzumi_tiri,1\nuchida_aya,4\nminya_(nyanko_daisensou),4\nwweed,1\nyukome,1\nhovering_kousin,1\ndos_cat,4\nplivyou,3\ntwo-tone_necktie,0\nmarble-v,1\nkoi_ni_kanmi_o_soete,3\nauru_t,1\nsig_sauer_mcx,0\nhyadain_no_joujou_yuujou,0\noricorio_(sensu),4\nseattle_(azur_lane),4\nyuzuriha_(atelier_liang),1\nkamisama_no_you_na_kimi_e,3\nsanada_tatsuki,4\nshigure_(sigre),1\nkainown,1\nhanging_legs,0\nchou_megami_shinkou_noire_gekishin_black_heart,3\nsupocon,1\nazu_(azusayumix),1\nbikupan,1\nhilda_(under_night_in-birth),4\nlasts,1\ndenken,1\nrinwell_(tales),4\npienahenggou,1\ngamarenji,1\nhige_wo_soru._soshite_joshikousei_wo_hirou.,3\nbad_end_beauty,4\ngemi_25,1\nrilliona_(yu-gi-oh!),4\npatricia_(madoka_magica),4\naoten,1\nsoo-hyon_lee,1\niris_(material_sniper),4\ntonberry,4\nkasuga_misora,4\nkamishiro_rin,4\nshimabara_yuuhi,4\nkirino_kasumu,1\nkuma_jet,1\nfujisaki_rei,1\npatrick_colasour,4\nps5_chan,4\nyokuran,1\nyuri_hyuga,4\ntime_mage_(fft),4\nrenshiu,1\nbait,0\nsakurai_izumi,4\nmukai,1\nmayumi_thyme,4\nalphes,1\noluha,1\nemo_(ricemo),1\nbachibachi_(tisen),1\namane_rosylily,4\nprat_rat,1\nthick_outlines,0\ntakase_hina,1\nkakuchou_shoujo-kei_trinary,3\nkohagura_ellen,4\nagtt25333,1\ntamamo_(yagi),4\njindai_high_school_uniform,0\nbritish_admiral_(y.ssanoha),4\njasminka_antonenko,4\ndare_ga_tame_no_alchemist,3\nasdj,1\nnecrozma,4\nyuririn_poi,1\nemiya_shirou_(prisma_illya),4\nbaigao,1\ncalen_(time_bokan),4\nhifumi_(3b_x),1\nmikagemaru_(mikage000),1\nshuumatsu_no_harem,3\nheisei,0\ntorn_hoodie,0\nnoe_yuuhi,1\nteko,1\nkenkou_zenrakei_suieibu_umishou,3\nfoomi,1\npureji_oshou,1\njiraiya_(persona_4),4\nnoba_(veronicanoha),1\nhimitsu_keisatsu_(vocaloid),3\nface_in_crotch,0\ncovering_anus,0\npip_boy,0\nsuzu_(nagasarete_airantou),4\nmasako_(sabotage-mode),1\nhidaka_ryou,1\nhei_(tonarinohey),1\nice2002,1\njun_(noiji_guren_0220),1\ntear_ring_saga:_utna_heroes_saga,3\nkoraidon,4\nmcp150_plus,1\ncure_happy_(princess_form),4\nbandaid_on_ass,0\nkitere,1\nfrenchmaid_(made_in_frenchmaid),1\nshilin,1\nidle_animation,0\naqua_sky,0\ncarla_j._luksic,4\nshipyard,0\nyayuyoyayuyo,1\nyunkaiming,1\nyukimaro_yukkii,1\nayanami_(rock_'n'_demon)_(azur_lane),4\neichi,1\nrice_planting,0\nhydra_splatling_(splatoon),0\npentagon_(uzus),1\ntama_(love_hina),4\nnodori710,1\nmay_lee,4\nmarutaya,1\nah-kun,4\nfuton_fly_away,1\nwoominwoomin5,1\nmapi_(mup1228),1\nkarna_(santa)_(fate),4\nmisa_pika,1\nnengoro,1\nrenoa_yu,1\nyeyebirdie,1\nmini_koala,1\nmiitara,1\nhanji_(hansi),1\ncrushed,0\nsonaworld,1\nsafari_jacket,0\n3e,1\nzazie_rainyday,4\nonizuka_saori,4\nkutar22,1\nrome,0\nbutterfly_choker,0\nbiscuit_krueger,4\ntan_shirt,0\nhomu_(seven_deadly_sins),1\nhiiro60,1\ngr_greeze,1\ncaam_serenity_of_gusto,4\nkibou,1\nflippy_(happy_tree_friends),4\nsiren_purifier_(azur_lane),4\nsv-98,0\nyf-19,4\nokumori_boy,1\nlaika_(sputnik2nd),1\nking_kouta,1\nkumasan_(kumazonjp),1\nyumasaki_walker,4\ninamori_futayo,4\nhayashi_keita,1\nmiruzawa_akechi,1\nsanukiske,1\nwooden_railing,0\noshin0_(zheng),1\nmomoyama_hinase,1\ndonatello_(tmnt),4\nenonko,1\nwinged_wand,0\ntoukan,1\norange_pajamas,0\nwei_(promise_0820),1\nurushia_(okame_nin),4\ncross-laced_shorts,0\naika_zero,3\njc_shikikan,1\ntsa,1\nbeast_wars:_transformers,3\nink_wash_painting,0\nvegetable_noda,1\nkyuuketsuki_sugu_shinu,3\noekakimannga,1\nnumber_print,0\nancient_ys_vanished,3\nriou_(gensou_suikoden),4\nonionsketch,1\ninseki_tarou,1\nyasehattagi,1\nhyury,1\ndoruka,1\nplasma_cutter,0\nground,0\nberserker_r,1\nimuro,1\nchain_earrings,0\n2qba,1\nsane-person,1\nxingchee,1\nkurotsuchi_mayuri,4\nborongo,4\nboy's_club,3\nmmmmmkun,1\nchoso_(jujutsu_kaisen),4\ncooper_(azur_lane),4\nbrown_dust,3\nkitchen_dragonmaid,4\nniwa_hitomi,4\nholding_flower_pot,0\n1925_(vocaloid),3\nchiaroscuro,0\nhibioes,1\nkoko_(kamitsubaki_studio),4\nnicohi,1\nbushmaster_acr,0\nvictor_von_gerdenheim,4\nshiitake,0\nkareya,1\nuchiha_symbol,0\ndendrobium_schema,0\nmachina,4\nwatanuki_kimihiro,4\ntangerine_(dudu),1\nmass_effect_2,3\ntanaka_(colorcorn),1\nthe_hand_(stand),4\nmizune_(winter),1\nsuzumiya_seika,4\nkatsuma_rei,1\nasyura7,1\nmeido_yomi,1\nsayossa_(pak-front),1\nmojake,1\njinguu_shion,4\nyukinami_(paru26i),1\nlaventon_(pokemon),4\nmak_(kainemaru),1\nbunny_(trickster),4\nrog_rockbe,1\nnatsume_yuji,1\nrukotaro,1\nshantak_(nyaruko-san),4\ndrum_bath,0\ntofuvi,1\nthe_legend_of_zelda:_the_minish_cap,3\njikuno,1\nakagi_yuuto,1\niron_paladin_(elsword),4\nnazuna_(flower_knight_girl),4\nshiun'in_sora,4\ngakuen_taisen_valkyries,3\npan-ooh,1\nidolmaster_platinum_stars,3\nkuropan_(crow_panther),1\ngoshingo1,1\nan_fyhx,1\ngangplank_(league_of_legends),4\nbaizhu_(genshin_impact),4\nchernyyvo,1\nprovence_(casual_vacation)_(arknights),4\nxuan_li_(the_legend_of_luoxiaohei),4\ncheshire_(cait_sith_crooner)_(azur_lane),4\nostwindprojekt,1\nfloro_(7th_dragon),0\narrow_through_apple,0\nhabataki_academy_uniform,0\nsock_bow,0\nabimaru_gup,1\nkouichi_(kouichi-129),1\nunown_r,4\nkurotobi_rarumu,1\nschelz,1\nrido_(ridograph),1\nrokosu_(isibasi403),1\nshimotsuki_juugo,1\numashio,1\ngothita,4\nblackball,1\npaskmel,1\nmanila_envelope,0\nanemachi,4\nharakawa_tamako,4\nponyaru,1\nswordwaltz,1\nisara_gunther,4\nuseless,1\nsuzuya_aki,4\nmole_on_back,0\ndkaki,1\nderby_(dabidabi),1\ntsunoko,4\nkooemong,1\nume_(yume_uta_da),1\nyoyoyotto,1\nsuper_robot_wars_v,3\nyzak_joule,4\nshiretoko_rin,4\ntingle,4\nabduction,0\nnanase_(nns_6077),1\nredundant-cat,1\nbakebake_(touhou),4\nmakita_yoshiharu,1\nemoillu,1\nbeauty_swimsuit_(idolmaster),0\nultra_magnus,4\nhfp~kubiao,1\nphazer,1\nusui_yoshito_(style),0\nisshin_(sasayamakids),1\ncookbook,0\nguuchama,1\nargentina,0\napricot_(d-floe),4\nsnow_villiers,4\nlileep,4\nnagi_to_(kennkenn),1\ngdgd_fairies,3\nmoana_(movie),3\nlewdishsnail,1\npika_(pokemon),4\ncutout_below_navel,0\nrunning_towards_viewer,0\ngomiyama,1\nkuno_(runkunochan),1\nalex_mercer,4\ndigitan_(porforever),4\nwatchog,4\nitsutsuki,1\ndenpa_teki_na_kanojo,3\ntokimeki_memorial_girl's_side_2nd_kiss,3\niizuka_haruko,1\nhoutou,4\ntomoe_(persona_4),4\nnomal,1\nspace_elevator,0\nawesome_face,0\nsaegusa_yukika,4\nedenfox,1\nzutta,1\ndory,4\nkage_kara_mamoru!,3\npara-sol,3\nbungaku_shoujo,3\nryuuto_(vocaloid),4\narutopian,1\nshokatsuryou_koumei,4\nsunyukun,1\nbrynhildr_(cheer_for_master)_(fate),4\nbound_feet,0\nfujioka-kuma,4\nstreamingsun,1\nakira_(kaned_fools),1\nbitchen,1\nruca_milda,4\nwacky_races,3\njouwan,1\nstrada,4\nestel_freesia,4\nfed_by_viewer,0\nhyena,0\namiba48,1\nminazuki_haruka_(twin_angel),4\npilky,1\ntharja_(fire_emblem)_(cosplay),0\nnatsuno_suika,1\nsiroooo,1\nmajodou,3\nmayer,1\nkomii,1\no_medal,0\nbleedman,1\nrecette_lemongrass,4\npresent_mic,4\nboise_(azur_lane),4\nchueog,1\nnachisuke,1\nslit,0\ngarushaa_wolfein,4\nizumida,1\nmisaka_imouto_9982,4\nhinata_(hinata-ur),1\n12cat,1\nmikado_nagi,4\nkyak_bamboo,1\nkasugai_(de-tteiu),1\nshimotsuma,3\nmokoiscat,1\nprofitshame,1\nklefki,4\ntrigger-chan,4\ntoinana,1\nwhitebeard_pirates,0\n41_(taskmaster41),1\nkurosawa_haruto,4\nsha_(isago),1\nsengoku_koihime_~otome_kenran_sengoku_emaki~,3\ndraw-till-death,1\nfluffy_legwear,0\nookamisama,1\nshibagami,1\nyonomori_benio,4\nchro_(rulurullu),1\nyonehara_sousuke,4\ntitanfall,3\nkisa_(kisa-kisa5900),1\nsaki_hajime,1\nhigh_speed!,3\nsansaro_rii,1\nkakan_(amka),1\ntira_(soulcalibur),4\nmonmusu_harem,3\nkamishiro_sui,4\nshino_(shinderera),1\nbearer_of_the_curse,4\nmini_shako_cap,0\nlightning_returns:_final_fantasy_xiii,3\nluc_(suikoden),4\nalice_(as109),4\nliya_nikorov,1\ntakagirock,1\npokio,1\neyes_visible_through_eyewear,0\nlinux,3\ntakamin_apaman,1\nshimon,4\nhagoromo_komachi_(idolmaster),0\nalexis_kerib,4\nalice_kei_(lemon-jiru),1\ndl2go,1\nmakomo_(kimetsu),4\nrasupekuto,1\nmoto_mitsuashi,1\nhorie_yui,4\nkoala_forest_military_uniform,0\naroma_(go!_princess_precure),4\nshirokujira,1\nes-ther,1\nsmall_hands,0\nwomen's_wallet,0\nnoiz_(dramatical_murder),4\nmona_(pact_of_stars_and_moon)_(genshin_impact),4\nwario_land_shake,3\nponpoko,1\nhimuro_hitoshi,4\nmo_dao_zu_shi,3\nunown_i,4\nwajuniorbox,1\nokino_tsukasa,4\nsakaki_chizuru,4\nsomebody_(leiking00),1\noriue_wato,1\nringorou_(idolmaster),4\nivory_(25680nico),1\nsaitou_nicole,4\nplymouth_(azur_lane),4\nblonde_girl_(cloba),4\norochi_(youkai_watch),4\nibuki_douji_(swimsuit_berserker)_(first_ascension)_(fate),4\ncereal_box,0\ngyorui_(amezari),1\nfox_hood,0\nsheep_hood,0\njackal,0\neitri_(fire_emblem),4\nwuliu_heihuo,1\npetoka,1\nde-chan_(belko),4\ncrown_patisserie_(umamusume),0\nmiharu_sena_kanaka,4\niinchou_(trouble_spirit),4\nusaki_(ama),1\nrune_factory_frontier,3\ncarrera,4\ntanizaki_yukari,4\nkikukawa_yukino,4\nrevolver_(game),3\nzerogravitas,1\ngnome,0\nmayuzumi,1\nakiyoshi_yoshiaki,1\nkuroko_(piii),1\nangeling,4\nmuryuuin_tayun,1\nyoshii,1\n7/11_(fukuso),1\nnaomi_evans,4\n0123456789,1\nkumanz,1\nmaritaki,1\nakamatsu_yui,4\ncyberconnect2,4\nmoth_(artist),1\nzarory,1\neiyuu_senki_gold,3\nchimaki_(impressiveanarchy),1\naraki_jeccy,1\nyumehiko,1\nkancolle_arcade,3\ntsukishima_general_high_school_uniform,0\nbabydoll_lift,0\nkouno_miyako,4\nata_(tsumari),1\ntakeda_seiji,1\njulius_juukulius,4\nharukana_(harukana_10),1\nmidori_(uchuu_patrol_luluco),4\nzunkome,1\nyoimoriyoru,1\nmikazuki_(azur_lane),4\ntk28,1\nschneewittchen,4\nforest_of_magic,0\nwarekara,1\nhaiiro_(immature),1\nrutsubo,1\ndeck_chair,0\nmo-fu,1\nrococo_urupa,4\nfujino_miyabi,1\nderori,1\nikamusume_(cosplay),0\nmikan_no_shiru,1\n1991_(blz),1\nkiki_fushigi,1\neska_bamel,4\nsakuraba_hinano,1\nkugi_(kugi-xiv),1\naikawa_ayumu,4\nstone_torii,0\nsupokon!_sports_wear_complex,3\nbrowning_m1919,0\nmalachite,1\nmolten_metal,0\nltt_challenger,1\ndanball_senki_w,3\ndunceneygak,1\numegiri_hifumi,4\nutani_(punishment),1\ndashigarayama,1\nguan_yinping,4\nhotline_miami,3\nogata_zen,1\nkuroha_neko,4\nfutagawa_fumi,4\nsecurity_guard,0\ntendou_karen,4\nshuichi_wada,1\nginn_(hzh770121),1\nrai_(newtype_xm-x1),1\nshinagawa_mikuzu,1\ngrape_hat_ornament,0\nfat_gum_(boku_no_hero_academia),4\nshimo-san,1\nkirari_(kira_rin9),1\nmadore,1\nsakai_wakana,4\nnaruse_nagi,1\nshiki_(shikki46),1\nkalinka_cossack_(mega_man),4\nsuper_smash_bros._logo,0\nkito_(clamp5656),1\nnishi_itsumi,1\nporno_(dohna_dohna),4\naphilia_(kiyomin),4\nteresa_(mazohaha),4\nultrabinou,1\ntakuji_yuusaku,1\nkamiya_(mennu),1\nichiko_(osomatsu-san),4\nsena_izumi_(ensemble_stars!),4\nkimura_akiyoshi,1\nkagamine_len_(vocaloid4),4\nyah_yah_6,1\njoey_koguma,1\nrune_slayer_(elsword),4\nchun_lanlanlan,1\nnihimaru,1\npurin_(purin0),1\nthe_legend_of_zelda:_oracle_of_ages,3\nasparagus_(girls_und_panzer),4\nrocher-hd,1\nkumita_(sumica),1\nnaishi-chan,4\nseikishi_melty_lovers,3\nginga_e_kickoff!!,3\nshinkai_kanata,4\nyohan12,1\nnagatani_(nagata2),1\nkyou_(nekoneko),1\nvocaloid_(tda-type_ver),0\nsun_trial,1\nclimbing_tree,0\nyinzhai,1\nmunuu,1\nfred0092,1\namano_ameno,1\nkafuru_(senran_kagura),4\nrider_kick,0\nmikazuki_mika,1\nnasubin_(nasubisamurai15),1\ngaichi,1\nmomomiya_mion,1\ntsukimiya_miyabi,4\nkaramiti,1\njoyfull_(terrace),1\nfengling_(furin-jp),1\nvibrator_on_clitoris,0\nuturo,1\npublic_service_announcement,0\nhildegard_von_krone,4\nbismarck_(coat_of_arms),0\naraki_rena,4\nhitoi,1\ngrumpy,0\ntennessee_(azur_lane),4\ncradle,0\nakabane_karma,4\nisabe_(girls_und_panzer),4\nkagarino_kirie,4\nrisu_(dorohedoro),4\nshedding,0\nsakurano_otoha,4\nnachoz_(nachozart),1\nsaishuu_heiki_kanojo,3\nvenus_eleven_vivid!,3\nvladbacescu,1\nyo-jin,1\ntakao_(kancolle)_(cosplay),0\nthe_legend_of_dragoon,3\nwcdonalds,3\ndokuganryuu,1\nmandalorian,0\npelican,0\nripu_(sherypton),1\npurity_seal,0\nyakuto007,1\nanita_(vampire),4\nbow_print,0\nyuro,1\ntokura_eiko,4\nkuroyoru_umidori,4\nmayafufu,1\npozesuke,1\nzhayin-san,1\nhatsuga_(dmaigmai),1\nmackintosh_rose,0\n2poet,1\nmiona_yui,1\nsanshokuin_sumireko,4\nmorino_harifu,1\nnootomo,1\nminecart,0\ngibson_sg,0\nakino_kaede,4\nvf-1_super,4\nnemun_(tamizzz),1\nglowing_headgear,0\nlarge_belt,0\nsteve_zheng,1\nlithographica,1\nno_harness,0\nleaf_fan,0\nyusan,1\ngen_(susono01),1\ncraig_tucker,4\nmugicha_(sukimachaya),1\nbear_bag,0\ntoromera,1\npawn_(chess),0\nmearian,1\ninomata_mutsumi,1\nhan_soo-min_(hanny),4\nhal_emmerich,4\nklavier_gavin,4\nlyon_(fire_emblem),4\ncamouflage_scarf,0\notoshiro_kosame,1\nahr_studio,1\nsailor_star_healer,4\noshiruko_(oshiruko_s2),1\nunique_(pixiv12704744),1\ngaia_(girls'_frontline),4\nfukuzawa_yukichi_(egoist867),1\nzero_in,3\nyanagihara_tantoui,1\nxyunx,1\nnanatuki13,1\nfelipe_godoy,1\nmyeolchi,1\nchang_chun_(azur_lane),4\nchain_sumeragi,4\ndragon_half,3\nkajiyama_hiroshi,1\nkoeda_(k83_4),1\nstable,0\ni-201_(kancolle),4\nsoapy,0\ntooru,1\nhirasaka_yotsuyu,4\nkkaebing,1\nhakoiri_nyanko,1\nkita_ichiban,4\ntsuzaki_aoba,4\nshizu_(9394marimo),1\nmato_kuroi,1\narmpit_stubble,0\nblue_hallelujah,1\nayanobro,1\nooyodo_kai_(kancolle),4\nshiron_(moze),1\ntooku0,1\nkijo_kouyou_(fate),4\nfujii_satoshi,1\ngekka_kaguya_(urabata),1\nlugosi_ela,1\nemina&aki,3\niseno_yajin,1\nwhite_sister_ram,4\nzumi_(neronero126),1\nkatsuki_mari,4\ntefco,1\nkoucha_indian,1\nelena_olegovna_owen,4\nswedish_text,0\nzekkyou_(h9s9),1\nschwann_oltorain,4\nmini_nobu_(fate),4\nmotsuni_(artist),1\nkawasaki_saki,4\nblue_tube_top,0\nkuroe_(madoka_magica),4\nae_iueo,1\nshionootsu,1\nchris_(kof),4\ndrop_kick,0\nharukappa,1\nakai_(ugokashitari),1\nisemori,1\nfollower_(yagisaka_seto),4\nminamo_(pixiv17726065),1\njoseph_desaulniers,4\nbeauty_(bobobo-bo_bo-bobo),4\nnanashi_(74_nanashi),1\ndon3,1\nfenrich_(disgaea),4\nnarumi_yuu_(imitmoon),1\nkyoshinhei,4\nhiromin,1\nmoyuru,1\nquatthro,1\ntalnory,1\nholding_chess_piece,0\nkuro_(jyupiter),1\nanonymous_(japanese),1\nkichijou_agata,1\nmoribuden,1\nfujii_maki,1\ncha_sakura,1\nsuwaiya,1\nguilty_kiss_(love_live!),0\noyamada_gamata,1\nnonono_nagata,1\nbending,0\nformalin,1\nume_(illegal_bible),1\npiroshiky,1\ndaring_tact_(umamusume),4\nai-chan's_sister_(tawawa),4\ntsengyun,1\nlost_child,0\npedobear,4\ncodename_wa_sailor_v,3\nshichibukai,0\nshouen_kigashi,1\nshepherd's_crook,0\nmojo_(dennou_coil),4\nviper_f40,3\ntrap_door,0\nribahara_aki,1\nteti,1\nlieri_bishop,4\nkou_2008,1\nshuutai,4\npooor,1\ncitron80citron,1\nneko_nabe,0\nhinako_(sister_princess),4\nadhesive_bra,0\nringo_yuyu,1\nyumeno_naka,1\nriai_(onsen),1\nhyena_boy,0\nmonster_collection,3\nsmjim1986,1\nkurosaki,1\nhosoi_kouzou,1\npfalz,1\nfloppy_sleeves,0\nphione,4\nfuyumi_kazuki,1\nmakisige,1\nmomo_uzura,1\ngonzaburou,1\nkinokosuke,1\ncolt_python,0\nshi_ecchi,1\naika_r-16,3\ntales_of_the_world_radiant_mythology_2,3\nvenus_(planet),0\nlieselotte_achenbach,4\nwamusato_haru,1\nkari_(karinimooreha),1\ncheck_(check_book),1\nfinal_fantasy_tactics_a2,3\nshego,4\namakura,1\nmisagi_nagu,1\ninumine_aya,1\ntetsudou_musume,3\nkimineri,1\nalbel_nox,4\nezomori_nozomu,4\naamond,1\narayama_reiichi,1\nslayer_(guilty_gear),4\nusavich,3\nflieger,1\nlillet_blan,4\nshirayuki_(sister_princess),4\ndaft_punk,3\nnagisawa_yuu,1\ncrimo,1\nsea_spray,0\nmizuno_kaede,4\nshokugyo,1\nroggenrola,4\namrkdrw,1\nsomei_ooo,1\nff_frbb122,1\nninopal,1\ncelestine_lucullus,4\nreally?_really!,3\nkon_(kin219),1\nmaaru_(shironeko_project),4\nyuuki_yuu,1\nmikage_nao,1\naoi_(houkago_no_pleiades),4\nyuunagi_seshina,1\nmontanyaoh,1\nminori_(log_horizon),4\nnaotsugu_(log_horizon),4\nsync_(tales),4\ntakanamushi,1\ntoujou_basara,4\nseidou_(tukinomiyako),1\naraco,1\npresa_(tales),4\nmimelex,1\nagnese_sanctis,4\nkoumi_haruka,4\ntrevenant,4\nkyukyutto_(denryoku_hatsuden),1\ndai_(mebae16),1\nhimemurasaki,1\nagwing86,1\nkonohana_kitan,3\nhukahito,1\ncomptiq,3\nre-class_battleship_(cosplay),0\nnegi_mugiya,1\nkominato_ruuko,4\ntyrant_sugawara,1\nadagumo_no_saragimaru,4\ns-purple,1\nyazawa_kotarou,4\nchikusan_nurseman,1\nohshioyou,1\nplatelet_(hataraku_saibou)_(cosplay),0\nshibainu_kisetsu,1\n18_(backstreetno18),1\nlyse_hext,4\naward_ribbon,0\nphiphi-au-thon,1\nsaana-kun,4\npanoramango,1\nburn_the_witch,3\nfrilled_bracelet,0\ncuphead,4\nazuki_(azuki_shot),1\njudas_(tales),4\ngoma_(u_p),1\nhomura_(haku89),1\ntaisinkoku,1\nmanatu_kato,1\ns10021,1\ngloamy,1\nfather_gascoigne,4\nthrasir_(fire_emblem),4\nakinoya,1\nliong,1\ninata17ta,1\nkiragi_(fire_emblem),4\nkeaton_(fire_emblem),4\nduck_innertube,0\nrahulk_(forever_7th_capital),4\nuzuki_tooru,4\nkuga_hiroto,4\nkatana_zero,3\nleanne_(fire_emblem),4\nhidaka0503,1\nmanaka_(sumiyao),4\ngnome_(last_origin),4\nhattrem,4\nreporter_waddle_dee,4\nsakaki_youma,1\neha7y,1\npublic_yotsuba_middle_school_uniform,0\nholding_clothes_hanger,0\ndorris,1\nliv_(punishing:_gray_raven),4\nkaneshiro_matoi,4\nminion_(despicable_me),4\norguss,3\nbb_(swimsuit_mooncancer)_(fate)_(cosplay),0\nmasco,1\nkomainu_(yamaha1997),1\ncivilization_(series),3\nmagical_mirai_rin,4\ntorn_tank_top,0\narene_(arknights),4\nnellko_agogo,4\nvienna_(vtuber),4\nopen_cockpit,0\nyato_(fire_emblem),0\ntryndamere,4\nxing_cai,4\nvill-v,4\nescape_from_tarkov,3\nkatoributa_a,1\nbudesonide,1\nhasegawa_chisato,4\nshima_(sh1mamu),1\nzanki,1\nenoch,4\nyoshida_(ne),1\nconstruction_worker,0\ngouenji_yuuka,4\nazzie_(az_man_studios),1\nodogaron_(armor),4\nuchi_no_musume_no_tame_naraba_ore_wa_moshikashitara_maou_mo_taoseru_kamo_shirenai.,3\nlatina_(uchi_no_musume_no_tame_naraba),4\ncure_sunshine_(cosplay),0\nchoujikuu_seiki_orguss,3\nchacha_(tyatya),1\nshoulder_angel,0\nshainea,1\nshibatenko,1\nfiery_ears,0\nainezu,1\nesan_(llamaesan),1\nmai_ball!,3\nekusiregaia,1\noff_(game),3\nmizunezumi,1\nasymmetrical_earrings,0\nsandcasks,1\nichinomiya_eruna,4\nmaid-chou_(maoyuu),4\nleafwow,1\ntwiska_(doubitian),1\nyuinshiel_asteria,4\nhazuki_shizuku,4\norz_(orz57),1\nniku114514810,1\ntamomoko,1\nukimesato,1\ndai-xt,1\nabyssal_jellyfish_princess,4\ntoyoi_yuuta,1\nkyrie_florian,4\none_room,3\npeke-kun,4\nmagic_circuit,0\nainchase_ishmael,4\nmakitoshi0316,1\nnuka_cola06,1\ntomojo,1\ntabiaki_(cosy_catastrophe),1\nkarin.,1\nmimi_(halloween)_(princess_connect!),4\nibaraki_douji_(swimsuit_lancer)_(third_ascension)_(fate),4\nhelena_blavatsky_(swimsuit_archer)_(first_ascension)_(fate),4\nmysterious_idol_x_alter_(fate),4\nbad_google+_id,5\nr_(ryo),1\nhakka0320,1\nargule0901,1\nsusumu,1\nyamano_uzura,1\npioneer_neckerchief,0\nniso,1\nakari_ryuryuwa,1\nnito_minatsuki,1\nhalf-track,0\nwoman_yelling_at_cat_(meme),0\nwakamepiza,1\nduck_print,0\nsquash,0\namane_(honey_come_chatka!!),4\nalvis_(last_origin),4\nshion_(peach_momozen),4\nlecca_aisu,1\nchuuten_(clam_chowder),1\nnikubanare,1\narawi_keiichi,1\nuichi,1\nthe_fool,4\nmoonlit,1\nixia_(ixia424),1\nillnott,4\nspace_jam,3\nranger_squirrel,1\ntamaki_fuyu,1\nfengli_(709622571),1\nroyboy,1\nandrea_doria_(warship_girls_r),4\n504_gateway,1\nunown_s,4\nkakitsubata_tsukune,1\naida_rion,4\nbad_cghub_id,5\nmumyuu,1\nakadama,1\nside_handle_teapot,0\nkamimura_akiko,4\nrush_(mega_man),4\npredacon,0\nkarada,0\norange_camisole,0\ntembin_3,1\nmochiko_(mocchikkoo),1\nrenren_(ah_renren),1\nyami_sukehiro,4\njericho_(girls'_frontline),4\nnyoijizai,1\nbow_removed,0\nbiomega,3\ntanu0706,1\nyagi_(sinnsyou),1\nvorona,4\nstriped_cape,0\nlola_bunny,4\nnhk_(voiceroid),4\nholding_neckwear,0\nkgr,1\ndorothea_arnault_(cosplay),0\nkamen_rider_demons,4\nlyna_the_light_charmer,4\nnnz,1\nartofkuzu,1\nanzu_1026,1\npandako,1\nkay_faraday,4\nfez_hat,0\npipi,1\nb_gumi,3\nxiaoyu,1\nseijou_academy_uniform,0\nnear,4\nrutee_katrea,4\nz'gok,4\nbat_genome,0\nshirota_dai,1\nflorist,0\nthe_king_of_fighters_xi,3\ntemptation,3\ntaisai,1\nmush_(mushlicious),1\nkazane-wind,1\nace_trappola,4\nmild_(trmsasasa),1\ncenco,4\nmile_(mil2),1\nubi_(ekdus6080),1\nlumen_(arknights),4\nspoken_sparkle,0\nsaeuchobab,1\nkistina,1\ntrain_conductor,0\nterrarium,0\ngm_(ggommu),1\nnorakuro_nero,1\nkkia,1\nshiori2525,1\nbagpipes,0\nayerscarpe_(arknights),4\nmima_sachi,4\nmikanbako_(aitatadon3),1\nsleeve_pull,0\nheadache,0\neating_flower,0\nburi_hamachi,0\nnori20170709,1\nbrashear_lushert,1\nyashima_takahiro,1\nmacosee,1\nai_the_somnium_files,3\nharu_(matatabi_sanjou),1\neuropean_hare_(kemono_friends),4\ngrowlanser_i,3\nmogami_kai_ni_(kancolle),4\nhunting,0\nsuzutsuki_(azur_lane),4\nfrancisco_mon,1\nsessue,1\nminase_rio,4\nyu_mei-ren_(festival_outfit)_(fate),4\nmakabe_kazuki,4\nenni,1\nmilk_junkies,3\ngud0c,1\ncaptain_tsubasa,3\nawakusu_akane,4\nre:i,1\nadjusting_bowtie,0\nakebono_kt,1\nryokucha_manma,1\nshouten_pegasus_mix_mori,0\nstuffed_turtle,0\nanna_(granblue_fantasy),4\nsexual_dimorphism,0\nmarilyn_monroe,4\nkurumi_moka,1\nsf_choujigen_densetsu_rall,3\ncouter,0\nhit-girl,4\nwhite_(kekkai_sensen),4\nringo-chan_(danshi_koukousei),4\nmisti,1\nmechanical_dragon,0\nfuyuichi_monme,1\nflapper_shirt,0\nkurogane_(majesticrune),1\nnatsu_(927013),1\nnoel_(tsukihime),4\nren_kon,1\najimu_kaede,4\ndark_elf_(lineage_2),4\nhatagaya,1\nanastasia_hoshin,4\nmouth_submerged,0\niseki_mitsuharu,1\nanimal_on_chest,0\nmikado_(winters),1\namatsuka_urara,4\ntodoko_(osomatsu-san),4\nkashiwamochi_(kashiwakashiwa),1\nmaodouzi,1\nhilda_(pokemon)_(cosplay),0\nhanabusa_kokoro,4\nnekosama_shugyouchuu,1\nvik_(xypt7474),1\nrampage_2nd,1\nchiwa_(chiwawanwan1206),1\nnoah_(jasdavi),4\ngummy_(summer_flowers)_(arknights),4\nangelica_rafa_redgrave,4\nhomil22,1\nl'antica_(idolmaster),0\nmecha_eli-chan_(fate),4\nsuisei_(kancolle),4\nnorunollu,1\nisuzu_kai_ni_(kancolle),4\nbaphomet_(grizz),4\nmiya_atsumu,4\ntanakalma,1\nsonic_the_hedgehog_(archie_comics),3\nakane_harurou,1\njidaigeki,0\nbrownie_(last_origin),4\ntenkaichi_nihon_saikyou_bugeisha_ketteisen,3\nnephtim_(world_flipper),4\nsusato_mikotoba,4\njavelin_(slow_ahead!)_(azur_lane),4\nifrit_(housamo),4\ntomboy_childhood_friend_(cccpo),4\ngurin33,1\nserafleur,1\nshuuhei_(shoohey),1\nmae_(nahabaru),1\nkazamaki_matsuri_(female),4\nbloody0rabby,1\npanapana,1\nkyatto_ninden_teyandee,3\nboney,4\nrurun_rururica,4\nlisara_restall,4\nliara_t'soni,4\noirin,1\nchen_bingyou,1\nhimation,0\ngigantamax_charizard,4\ncariboy,1\nphantom_breaker,3\ndarkereve,1\nmanoko,1\nair_guitar,0\nhonoka_(summer_angel_on_the_shore)_(doa),4\nmurakami_fumio,4\nkatou_(hyaena),1\nteruhashi_kokomi,4\nbushidou_4_(sekaiju),4\nmega_banette,4\nsetu_(shining12),1\nleopold_stotch,4\nminamina,1\naebj,1\nsouthern_ocean_war_oni,4\nel_(sound_horizon),4\nshiki_eiki_(cosplay),0\nindo_(mdtanaka2007),1\nzemi_mama,4\nshinken-zemi,3\ndemon_king_(in),4\nbaku_(creature),0\nbon_nob,1\nkill_time_communication,3\nmeg_(bakuretsu_tenshi),4\nfueru_nattou,1\nfutapi,1\nkodama_(koda_mat),1\nnuma_(minus_4k),1\numihara_kawase_(character),4\nlovelovemaid,1\nerika_wagner,4\nslokai_(iron_saga),4\nzkstxxx,1\nmantis_akiyama,4\nmillenia_(grandia),4\nnagii_yuki,1\nmulti-strapped_bra,0\ntoudou_misa,4\nholding_thermometer,0\nshropshire_(azur_lane),4\ntatekami_seri,4\nharumi_hana,4\notoufu_(wddkq314band),1\nmiyu_edelfelt_(cosplay),0\nhoerutarou,1\ngomusin,0\nerkerut,1\nsteven_quartz_universe,4\nmaimoto_keisuke,4\nu-556_(azur_lane),4\nethlyn_(fire_emblem),4\nsigrun_(fire_emblem),4\nsuzuki_iruma,4\nneko_mata,1\nfukukitaru,1\nhageshii_nakano,1\nunown_t,4\nblazblue_alternative:_dark_war,3\nc01a_(cola),1\nikei,1\nyaruwashi,1\nfuuma_kotarou_(tenkaichi),4\nkagi_f,1\nt'au,4\nutage_(disguise)_(arknights),4\nshano_hiyori,1\ntokai_teio_(beyond_the_horizon)_(umamusume),4\nmizura,0\neugle_na,1\ncynical_(llcbluckg_c004),1\nbunny_girl_(yuuhagi_(amaretto-no-natsu)),4\ndante_(nu_carnival),4\nyasu_(pixiv),1\nswiftsure_(midsummer_special_service)_(azur_lane),4\nhorizon_zero_dawn,3\nshibuya_(kurokamishain),1\nfeng_you,1\nfuni_mu9,1\npersicaria_(girls'_frontline_nc),4\nclark_kent,4\nmisono_kirika,4\nconcealed_weapon,0\nnagisa_(blue_archive),4\nxiaolumiaoliya,1\ninternet_explorer_(webcomic),3\nbronya_zaychik_(valkyrie_chariot),4\nsissel,4\nwanko_to_lily,3\nshadowverse_(anime),3\nrifsom,1\nhellboy,4\nsakurai_tomoki,4\noishinbo,3\nfuture_gpx_cyber_formula,3\nkitamura_eri,4\nagitha,4\nsasaki_yukinojou,1\ntearfish,1\ntoujou_ruby,4\nnishino_miyuki,1\neru,1\njet_enduro,4\ngalzoo_island,3\ndenki_anma,0\nriddhe_marcenas,4\nhobbang,1\nrikudou_koushi,1\ntanabe,1\nkyou_no_go_no_ni,3\nmamepon,1\nkannei,4\nyuuma_(noel),1\nsentou_yousei_yukikaze,3\nichino_nanasuke,4\nnana_(elfen_lied),4\nmajokko_a_la_mode,3\nsenel_coolidge,4\nkanonno_earhart,4\ngachapin,4\nboar_ears,0\nfelli_loss,4\nasuka_shirou,1\nrhyperior,4\nshichijou_natori,1\nlens_(arknights),4\nchamame,1\nacmeholic,3\nsuzume_(rance),4\nfuragu,1\nbaggy_shorts,0\ntukino_(panna),1\npop-up_pirate,0\notoko_no_ko_wa_meido_fuku_ga_osuki!?,3\nhiyori-o,1\nsuga_kyoutarou,4\nlouis&visee,1\nmaeda_kousuke,1\njin_(crocus),1\ntakahan,1\ncatchouli_(hazuki_ruu),4\njudo,0\nasakawa_remon,1\namaha_miu,4\njuria0801,1\nmodern_afro,1\nshelving_book,0\nhiramatsu_tadashi,1\ndjeeta_(summer)_(granblue_fantasy),4\ngreypidjun,1\ncure_muse_(black),4\npai_chan,4\nnekobus,4\nregult,4\narima_kouichi,1\nheyzan,1\nluxord,4\npp-19_bizon,0\njungyun99,1\nmajime_joe,1\nhaido_(ryuuno_kanzume),1\narmadillo_tail,0\nwet_jacket,0\naibo_(gorgeous_mushroom),4\nsakata_gintoki_(cosplay),0\nfake_transparency,0\nlalatia-meai,1\nqiao_xing,1\nmagpul,0\nchiko_(kanhogo),1\nheresy,0\nneats,1\nchikorita85,1\nearly_type,1\nnakaya_106,1\nwatanabe_ignica,1\ntype_99_cannon,0\nmerpperoni,1\npumpkin_skirt,0\nextra_tails,0\ntoshi_(anime_coloring),1\nchushengdao,1\nginoza_nobuchika,4\nyandere_no_onna_no_ko_ni_shinu_hodo_aisarete_nemurenai_cd,3\nnaruko_(instrument),0\nraplus,1\nkh-fullhouse,1\nmeet,1\ngaius_(fire_emblem),4\nfisheye_placebo,3\napophis_(monster_girl_encyclopedia),4\nkishi_mieko,4\nyomogawa_ayame,4\nyas_(35373),1\nkouhara_yuyu,1\nkawami_nami,1\ncircle_echime,1\nrenshirenji,1\nnomura_(buroriidesu),1\nkamen_rider_ex-aid,4\ntoys_drive,3\nrin_(shelter),4\nshelter_(music_video),3\nkozureokami20,1\nmoana_waialiki,4\nraigh_(fire_emblem),4\nm6a_seiran,0\nandrew_hanbridge,4\ntamakagura_inari,4\ntessaku_ro,1\nmaegami-chan_(tawawa),4\nheripiro,1\nyamabuki_zarame,1\nco_botan,1\nshimushu_pose,0\nkaguya_(sinoalice),4\njuujou_hiyori,4\nuseq1067,1\nmerida_angel,4\nkunashiri_(etorofu),1\nchild_(isoliya),1\nkichi_(kitiokitioo),1\nzabuton_dorobou,1\nnyano21,1\nfuyou-chan,4\nuzuki_(azur_lane),4\nboxer_dansi,1\nbiako,1\ndazai_osamu_(bungou_stray_dogs),4\nsiberian_chipmunk_(kemono_friends),4\nmaki_(letusgomaki),1\nsanallite_(tsukumo_sana),4\npink_mask,0\ntheresia_van_astrea,4\nelden_ring_(object),0\nnomu_(29_nom),1\nwawako_mama,1\notto_suewen,4\nfyama,1\nsword_mastery_academy_uniform,0\ntsukishita_kaoru,4\ngold_dress,0\nkrookodile,4\ntanaka_shinbei_(fate),4\nunder_bridge,0\nmctom,1\nkosumi,1\nargyle_bikini,0\nheckler_kai,1\nmirin_(coene65),1\nemma_woods,4\nmaria_marionette,4\nbionekojita,1\nemoi_do,1\namagasahigasa,1\nsuzumaru,1\nnursing_fingering,0\ntoshise.,1\nkamita,1\nalternate_eyewear,0\nsaga_2,3\narchen,4\nrankiryuu,1\ntajyador,1\nuh-60_blackhawk,0\nriffle_hunter,1\naskeladd,4\nitou_ben,1\nvan-s,1\nkuki_rei,4\nkanisawa_yuuki,1\ncentral_princess,4\nhally,1\nyeooudam,1\npyro_jack,4\naosode,1\ncrow_hogan,4\nicons_(1452697582),1\ngarjana,4\nawayawa_pic,1\n7:08,1\nskwovet,4\njetfire,4\nhounyouin,1\nnoel_(nnoelllll),1\njyu-so,1\naife_(zana),4\nr93_(girls'_frontline),4\nchiro_(bocchiropafe),1\nstechkin_aps,0\nalice_(ragnarok_online),4\nthe_olphy,1\ninami_hatoko,1\nsajou_manaka,4\nromance_of_the_three_kingdoms,3\nameiro,1\nsakai_waka,1\npopporunga,1\nshaggy_susu,1\nfake_ad,0\npen_to_mouth,0\nguardian_chara,0\nmutation,0\nhara_takehito,1\npastel_palettes_(bang_dream!),0\nmakura_(makura0128),1\nscorpio,0\nlizta,1\ntakeuchi_naoko,1\nkutouten,1\nsheep_(trickster),4\nsui_(isekai_ojisan),4\nsano_br,1\nmew_mint,4\ntudon_(donut),1\nakimoto_katherine_reiko,4\ncure_flamingo,4\nanna_(watamote),4\naquamarine_(gemstone),0\nbeleven,1\ncaptain_america:_civil_war,3\nlich_(granblue_fantasy),4\nmatch_(idleslumber),1\ntutinako,1\nleaning_against_motorcycle,0\nawesomeerix,1\nkimura_daisuke,1\nfuyusaka_iori,4\nbindong,1\norder-sol,4\nbizarre_rain,0\nsuicabar72,1\nnonomura_ayumi,4\nankokuboshi_kurome,4\nshigure_(kancolle)_(cosplay),0\nanouetto,1\nre-leaf,1\nryuuguuji_ken,4\ncrab_claw,0\nmizuna_girls'_academy_school_uniform,0\nyahiro_(heartseek000),1\nalma01,1\nleotard_tug,0\nrurine_luna,4\nsho_(wnmf3234),1\nnishikujic,1\nanzi,1\naizawa_tomomi,4\ndootmoon,1\nclear_insertion,0\nmana_khemia_2,3\ntriangle_heart,3\ncaduceus,0\njaw,0\nred_halo,0\numiru,1\n1ssakawaguchi,1\nraccoon_boy,0\noniro,3\nzhaktnf,1\nkimikage_yui,4\ntaeminhyeon,1\ngluttony_(fma),4\nendou_araya,4\nkabru,4\nred_pajamas,0\nmiyu_(tiny_evil),4\nfat_buu,4\nrasen_manga,1\nmochizuki_honami,4\nspoken_letter,0\nkatagiri_chisato,1\nmarimo_(artist),1\npadoruu,1\nalicesoft,3\nchester_burklight,4\nshining_finger,0\nedpan,1\nhomex,1\nwhitesnake_(stand),4\nyoroi_nau,1\nhat_under_hood,0\nwig_removed,0\ncamera_lens,0\nosaru_(yuuen-dou),1\nfree_hugs,0\nhisagi_(puchimaple),1\nkeypot,1\nartificial_flower,0\nreindeer_hood,0\nalter_ego_malevolent_(granblue_fantasy),4\nyugi_(magical-dreamer),1\nno_penis,0\npop-up_book,0\npottery,0\nkagenui_yozuru,4\nshimekazari,0\nowarine_miku,1\nta152_(graf_zeppelin),1\nrods,1\ndrake_(the_golden_hind's_respite)_(azur_lane),4\nhero-chan_(hanauna),4\ndeath_devil,3\nshinkawa_youji,1\nq_(a72pgc),1\nshin_sekai_yori,3\nyuki_touko,1\nqingye_ling,1\nhijirisawa_shonosuke,4\nnasuhara_anastasia,4\nsakura_puchirou,1\nnamataro,1\nlavoy_(kurakuro),1\nkinta_(kinta_no_mousou),1\nharie_(granblue_fantasy),4\nmochitsu_jou,1\nharper_(pokemon),4\nlion_hair,0\nmiito_(meeeeton333),1\nttmry_bonbon,1\nnintendo_switch_lite,0\nsora_shitatoge,1\nmy_little_pogchamp_(meme),0\nnohtuy,1\nhanjuku_choco-pai,1\nglassjill,1\nhakusai_(hksicabb),1\nchristopher_columbus_(fate),4\nsmelling_ass,0\nbokarokaku,1\nliangban_xiexu,1\ncheetahman_(1ddghfr78cswc),1\nannlu_vazzel,1\naltina_(fire_emblem),4\nmit_(necomit),1\nso_shio,1\njura_cambri,1\nsashimi_nasu,1\noono_makoto,4\nseena_kanon,4\nterrier_(dog),0\nrecruitment_bag_(arknights),0\nduran_(seiken_densetsu_3),4\ntouka_(nonaka_ritsu),4\ncrustle,4\nkaguyuu,1\nnoshime_ruka,4\nfan_to_mouth,0\nujiie_mutsumi,4\nmax_domikov,1\nmagearna_(normal),4\nokuma707,1\nkawaguchi_(mojacome),1\nblue_bracelet,0\ntokomaya_keita,1\nsorahachi_(sora823),1\ntehen,1\ncircle_a,1\nmurazono,1\npage,1\ntenyo0819,1\nsatou_makura,1\nmoi_moi7,1\nakai_(riaakai),1\nnagi_itsuki,1\nmomiji7728,1\nbandaged_ear,0\nmishima_akane,4\nhattori_yuu,4\nclala,4\naiba_kou,1\ngibson_flying_v,0\nsoyanrai,1\ntorikoro,3\nbluedemon13,1\nhanjuku_tomato,1\norita_enpitsu,1\nseeds328,1\ntakuya_kame,1\nshimofuri,1\nshiki_(no-reply),1\nshino_(r_shughart),1\ndetached_legs,0\noonamazu,1\ngm,1\no-yuki,1\nkira_keita,1\nkurogane_daichi,1\nmine_(odasol),1\nderetta,1\nkoha,1\nsacred_seven,3\nroaru_(gyuren),1\nopen_cuffs,0\nteru_suzu,1\nbomb_item_(touhou),0\nbluepony,1\nmizusawa_mimori,1\nhamano_kaiji,4\nvalsione,4\nwizard_(dragon's_crown),4\nyushima,1\nmisaka_misuzu,4\ntakemasa,1\nkotoji,1\ncrossbone_gundam_x-1,4\nprivate_garden,3\nxiaoling_(kyouno),4\nishihara_souka,1\neku,1\ntoutouhai,1\nbear_tsukasa,4\nakise_aru,4\neou,1\nsukiyaki,0\ntasukete_eirin,0\nnakano_tomokazu,1\nwhite_sister_rom,4\ngilles_de_rais_(saber)_(fate),4\nkakkou,1\nmars_people,4\nmoriyama_daisuke,1\nasanuma,1\nishibashi_yosuke,1\nshaun_healey,1\npark_noah,4\naiura,3\nmemeo_(candy_house),1\nsunshine_creation,3\nryuuno_stadtfeld,1\ntomiyama_akiji,1\nyumeno_(rubbercup),1\nrizky_(strated),1\nfujiwara_riyu,1\nhade_na_kangofu,1\n1055,1\nasakurashinji,1\nkune-kune,0\nhawk_(nanatsu_no_taizai),4\nchester_ocampo,1\npota_(nabrinko),1\ncreta_(taku10),1\n2n5,1\nkisaragi_ichigo,1\nakisu_karasu,1\nfurisode_girl_(pokemon),4\nmile_(noukin),4\nran_komomo,1\nsplit_tail,0\nivan_(ffxazq),1\nni_(ippozenshin),1\nnatalia_poklonskaya,4\neugenio2nd,1\norqz,1\ntoothbrush_mustache,0\nhanbu_hantarou,1\naki_tomoya,4\ntora_tsugumi,1\nhera-ur_(p&d),4\nnanao_(aoyamahikari),1\napring,1\nleenim,1\nshigino_kisumi,4\nshugo19,1\nttrop,1\ngeordo_stuart,4\nal_(ahr),1\nhonda_motocompo,0\njoshi_shougakusei_hajimemashita,3\nmankanshoku_mako_(cosplay),0\nhana_kon_(17aaammm),1\nfoam_mustache,0\npuchimirin,1\nreimusan_(jotti),4\nash_(phantom_brave),4\ndaruma_karei,1\nkana_tako,1\nchidorigafuchi_aine,4\nmoffle,4\nxiaoyuan_(you_can_eat_the_girl),4\nshino_yuki,1\nmegumi_kei,1\ntrace_(pokemon),4\nkageyama_ritsu,4\nphong_anh,1\ntimato,1\nfujimori_shiki,1\nyuki_hotaru,1\nexelica,4\nsachiiro_hanamizuki,3\name_(amemgmgmg),1\nfourth_of_july,0\narchery_dojo,0\ngundam_side_story:_the_blue_destiny,3\nkim_da-yoon,1\noricorio_(baile),4\nwushier,1\nbumcha,1\nnew_jersey_(snow-white_ceremony)_(azur_lane),4\n404,0\nshiny_pantyhose,0\nshokushi_yuu,1\ngrace_(sound_voltex),4\ngnosis_(genshin_impact),0\nairplane_hair_ornament,0\norochi_(fire_emblem),4\nkouda_hayato_(e-gis),1\nsousaku_kanojo_no_renai_koushiki,3\ntotthii0081,1\nrioru_(rioru_v_v),1\nwu_zetian_(swimsuit_caster)_(fate),4\nsakifox,1\nfila,0\nmalleus_draconia,4\nmuelsyse_(arknights),4\nvil_schoenheit,4\nanne_shirley,4\nraijin-bh,1\nkagami_kino,1\ngunjima_souichirou,1\nhiragi_rin,1\nmossari_poteto,1\nskinsuit,0\nsoshina_nohito,1\npeke_(xoxopeke),1\nchokotto_sister,3\ntao_jun,4\nmikage_baku,1\nkodai_susumu,4\nepel_felmier,4\nhaiku,0\nsword_art_online:_fatal_bullet,3\nmiyabi_(miyabeeya),1\nhug-tan_(precure),4\nei_ei_okotta?,0\npink_stripes,0\nhollow_mouth,0\nmahou_shoujo_lyrical_nanoha_detonation,3\nstriped_headband,0\nluoxiaobai,4\nhanna_wind,4\nclassy_cranberry's,3\nsteward_b,1\nxiao-mei,4\nkuune,4\nsmoothie,0\nnodoka_glasses,0\nfujiki_kouta,4\nregina_(dino_crisis),4\nefmoe,1\nyokoyama_kouji,1\nwaveform,0\nmulticolored_rose,0\nnambu_type_14,0\ngarutaisa,1\ninazuma_eleven_go_vs_danball_senki_w,3\nhaji_(hajiko),1\nkawara_yun,1\nkimi_ni_matsuwaru_mystery,0\nmikane_sebiri,4\nmajoca_majoluna,3\nnoise_(symphogear),4\nfaech,1\ndracula_(castlevania),4\nkannazuki_tamaki,4\njill_(fire_emblem),4\nizumi_wakoto,4\nyamada-kun_to_7-nin_no_majo,3\nkook,1\nsatan_(idolmaster),4\ntopo_(bacchustab),1\ncattleya_(flower_knight_girl),4\nriria_(liry_a_flower),1\ncinderella_(queen's_blade_grimoire),4\nkobushime_(sorobochi),4\nniseneko_(mofumofu_ga_ienai),1\ntofu_(tf07px),1\nminus_(sr_mineka),1\nstar_guardian_lulu,4\nore_ga_suki_nano_wa_imouto_dakedo_imouto_janai,3\nfranciscoetchart,1\nindian_elephant_(kemono_friends),4\nurkt_10,1\nmiluke,1\nkamon_(shinshin),1\nbutsu_menhou,1\nlunar:_the_silver_star,3\nruna7,1\nkarv,1\ngold_creator_award,0\njacques_de_molay_(foreigner)_(third_ascension)_(fate),4\nharpie_lady_1,4\nryuuhou_kai_ni_(kancolle),4\nmukade_(siieregannsu),1\ntsunaso_(lack_of_sunlight),1\nruriwo_(ruriwo1894),1\napricot_(yamai),4\nmarine_nemo_(fate),4\nkizuna_ai_(elegant),4\nyoko_(nz_g),1\nminted,1\nteucer_(genshin_impact),4\nmeoyo,1\nkajuu,1\nswire_(honor_and_splendor)_(arknights),4\nronin_(zeth_total),1\nfreenote_mr,1\nhandcuff_dangle,0\nruru_(rurumagi),1\nmarcy_wu,4\ndamascus_(dearigazu2001),1\nmarlon_(pokemon),4\nmana_matitia_(okame_nin),4\nnihohohi,1\nemor18_shikeko,1\nshinjin_succubus_(konosuba),4\ntriangle_bullet,1\nsnow_white_(queen's_blade),4\negret,1\nnabana_(bnnbnn),1\nmatsuno_matsuyo,4\nhako_(gyhujikolp),1\nclementine_(overlord),4\neikou_no_guardian_battle,3\ntorn_apron,0\nyamamura_ken,4\nparavene,1\nvenom_(guilty_gear),4\nyuyumatsu,1\nworld_map,0\n1044kiro,1\nleg_holster,0\nhamu_agaki,1\nmurasaki_(lightsource),4\nclay_(pokemon),4\ntoyux2,1\nsoul_patch,0\nrozer,1\nmyuria_tionysus,4\ntorn_umbrella,0\neric_lowery,1\nending,0\nsudach_koppe,1\nsasagawa_kyouko,4\ntsukishima_kei,4\nenglish_flag,0\nhanabi_(senran_kagura),4\ncrayon_(medium),0\nhip_gear,0\nkatagirinanoka,1\nroyale_style_(idolmaster),0\ntron,3\nminazuki_tooru,1\nphrygian_cap,0\nnaze,1\ncuvie,1\ndaiakuji,3\nbudweiser,0\nlunch,0\npisces,0\np/a_~potential_ability~,3\nchirosuke,1\nbody_chain,0\niwaya,1\nharryych,1\ndasha,1\nhz_(helu_2),1\nkamachi_(kamati0maru),1\nisla_(kof),4\nmagui3,1\nharu_(renol),1\nkazamatsuri_matsuri,4\nzhao_linger,4\nhiro_(hirohiro_gorira),1\nsakurapochi,1\nboonie_hat,0\non_(_l0_),1\nrobou_no_stone,1\nmoai,0\naimpoint,0\nisbeyvan,1\ngou_(double_trigger),1\nice_horns,0\nsinomi,1\nhuang_(volt0526),1\nsuzugahama,1\nheaven_(kanji),0\ndisco_elysium,3\nbuoy,0\npiercing_pull,0\nryuu_(breath_of_fire_iii),4\nkaguya_hime,4\nshiinotic,4\nreki_(arequa),1\nkirishima_(azur_lane),4\niron_man_(cosplay),0\nwitch's_weapon,3\nflapping_ears,0\nakinakesu-chan,1\ncho_marisa,4\nniwatoriya,1\ndrapion,4\nscarfy,4\ndoomcomic,1\nhinnyuu-chan_(iku),4\nkissing_back,0\nergo_proxy,3\nhand_in_bikini,0\neffects_pedal,0\nblack_light,1\nzyl,1\nblazing_heart_(elsword),4\namada,1\nside_mirror,0\nmonty_python,3\nmini_mamu,1\nprince_albert,0\nu-110_(azur_lane),4\nden_(den_zuri555),1\nsega_hard_girls,3\nreika_(dream_c_club),4\ngenjiguruma,0\nnagehazushi,1\ntemmie,4\ncoffeeslice,1\nelly_(tonari_no_kyuuketsuki-san),4\nsatire,0\nvan_darkholme,4\nelena_(ff7),4\nsouri,1\ntennis_dress,0\naizawa_azusa,4\ntsuka-ito,0\nhaeil2,1\naiko_(less),4\ntiger_(tiger-kimu),1\ndolphin_wave,3\nroosterteeth,3\nmob-sensei,4\n8takenokonosato8,1\nnichts_(fatalbug896),4\nrin_(rin7kan7),1\nechiru39,1\nludaf,1\nlow_poly,0\nbutterfly_necklace,0\nkotatiyu,1\nledyba,4\ncheck_source,5\nsatin_clothes,0\nqiu_ju,1\nvenus_love_me_chain,0\nutsugi_uyu,4\nkamen_rider_accel,4\nkusakabe_rei,1\ndiarmuid_ua_duibhne_(saber)_(fate),4\nchiisan,1\ntimitarcat,1\nryuko_redraw_(meme),0\nmeesuke,1\nmofupaka,1\nyukko,1\ntachibana_chitose,4\noribe_mafuyu,4\ndangaiou,3\nkujou_shion,4\nyoshikawa_kikyou,4\nsuzuki_masahisa,1\npasoputi,1\nanakoluth,1\nwet_fundoshi,0\nbath_of_blood,0\ncrown_(symbol),0\nitalian_senate_porn_livestream,0\nkurabayashi,1\nshelter,0\nneko_pan,1\nosmanthus,0\nbrown_umbrella,0\ncarole_peppers,4\nfairy_knight_gawain_(first_ascension)_(fate),4\ngamer_driver,0\nharusame-r,1\ng-senjou_no_maou,3\nchoir_(artist),1\nsorethroat,1\npryce_(pokemon),4\nbronto_burt,4\nfur-trimmed_armor,0\ntsunashi_youta,4\nbanana_gyuunyuu,1\nscheris_adjani,4\nsomething_(omori),4\nnabooru,4\ndori_(genshin_impact),4\nserike_w,1\npla4neta,1\ncat_breakdancing_(meme),0\nuni_(oni_unicorn),1\nmoegi_homi,4\nwhirlpool,0\nyunare,1\nnakanishi_tatsuya,1\nmarukei_(kuramaruk),1\nmezzo_forte,3\nyoshida_takuma,1\nyuzuki_yukari_(lin),4\nleaf_clothing,0\nbrynhildr_romantia,0\nakaba_chizuru,4\nnipple_ribbon,0\nnanashi_mushi,1\nfiora_(fire_emblem),4\nmagician_(module),0\ndave_rapoza,1\nelaine,4\nangel's_swimsuit_(idolmaster),0\nkinako_(462),1\nle_malin_(muse)_(azur_lane),4\nnora_(salatto),1\n9nojo,1\ncalpis,3\nseol,1\nlady_in_red_(ib),4\nmikazukimo,1\nprinz_adalbert_(azur_lane),4\nwatase_rei,1\nirisviel_von_einzbern_(cosplay),0\nkitsune_(scaz),1\nzero_point,1\nkaibutsu,4\nshirogane_takeru,4\nshin_megami_tensei:_strange_journey,3\nkakei,1\n210ten,1\nofficial_manga,0\nnot_afraid_anymore,0\nurokong,1\nmelynx,4\nserizawa_enono,1\nsoma_cruz,4\nnanaichi,1\nmahotama,3\nkunou_tatewaki,4\nabarabone,1\namamiya_rizumu,4\nyamamoto_nori,1\ntooculi,1\nren_hakuryuu,4\nf-4_phantom_ii,0\nhime_to_boin,3\ncui_yifei,4\nmori_shin_risuku,1\njames_ghio,1\nkuga_yoshito,1\nchampuru,4\nphantasy_star_zero,3\nrugby_ball,0\ntakane_hibiki,4\nrevive_revival,4\nkyle_dunamis,4\naogiri_sei,1\ngreil,4\nmello,4\nkoutetsu_tenshi_kurumi,3\nking_slime,4\nmomopanda,1\ndino_crisis,3\nkazunari,1\nh2so4kancel,1\nariyon,1\ncling,0\nameimo,1\ndoctor_magus,4\nmoonsorrow,1\ntaharu_kousuke,1\nkurusu_yuzuko,4\ngundam_x,4\nsaburoo,1\norihime_(cosplay),0\nfight_ippatsu!_juuden-chan!!,3\nshiina_minatsu,4\ntakarazaki_school_uniform,0\nwrinkled_frown_(detective_pikachu),0\ntamamo_no_mae_(tailmaid_strike)_(fate),4\nagni_gandiva,0\necu8080,1\nseki_(l0410706268),1\nbronya_zaychik_(snowy_sniper),4\nbean_mr12,1\nchu_kai_man,1\nmikemono_yuu,1\nasahina,1\nblackfangs,1\nzettai_bouei_leviathan,3\nchamber_(suisei_no_gargantia),4\nnove_(legge),1\nyuuma_(yuma1111),1\nsd_gundam_gaiden,3\nfuyu_mi,1\nyuusei_tsukiro,1\nello,1\nshibuki_kamone,1\npantyhose_under_trousers,0\nu.b_m1s2s,1\nlock_seed,0\ntamadra,4\nwalluka,1\nerise,1\nshinobi_4_(sekaiju),4\ndungeons_&_princess,3\nakizuki_maku,1\ngetumentour,1\nmin_(120716),1\nsosa,1\nlilynna_blueberry,4\nalois_trancy,4\nemerald_herald,4\nyomoyama_(toirets),1\npinoko,4\nayase_sayuki,4\nofuro_mantarou,1\nkara_(color1087),1\ns-goon,1\nfuture_fish,0\npenis_in_thighhigh,0\nfacebook-san,4\nsutaa_sutoringuzu_yori,3\nhoshinomiya_girls'_high_school_uniform,0\npersona_4:_the_ultimax_ultra_suplex_hold,3\nkamen_rider_zi-o,4\nhanako_(disgaea),4\nbad_singing,0\ntuze111,1\nact-age,3\nnekoto_rina,1\ncardigan_lift,0\nyunekoko,1\nhigofushi,1\nkurotsuki_(luowei99),1\nitami_youji,4\nimdsound,1\nstrawberry_pocky,0\nsilas_(fire_emblem),4\nrapunzel_(sinoalice),4\nhayama_marin,4\ntheresa_apocalypse_(twilight_paladin),4\nkomi_shin'ya,1\nmame_nabe_donko,1\nturquoise_iro,1\ntsumayouji_(dekosoko),1\ngrappling_gloves,0\nlamellar_armor,0\nhoshizora_no_shita,1\nvalitran,1\ngossifleur,4\nink_stain,0\ndaibanchou,3\nluna_(fizintine),4\nsiyudi_(cookie),4\nbattle_chatelaine,0\nkingdom_hearts_x,3\ngranbelm,3\nmicrophone_cord,0\ndreamysuite,1\nryan_greythorn,1\nwooden_bathtub,0\ncynthia_riddle,4\nking_george_v_(azur_lane),4\nchanchanko_(clothes),0\nrandy_(awesomevillage),1\nmitche,1\nxiao_qiao,4\ntrowa_barton,4\namano_yoshitaka_(style),0\nfreckles_nun_(diva),4\ngreen_mask,0\nprivacy_screen,0\nhatori_you,1\ncarmilla_(summertime_mistress)_(fate),4\nkurozatou_owata,1\nglowing_markings,0\non_mecha,0\njofang,1\ngenista_(darling_in_the_franxx),4\nmitoko_(tsuchikure),4\ncracked_mask,0\ngbeeee,1\ngiant_panda_(kemono_friends),4\nhimitsu_no_jugyou,3\nkarasu_(jjwh2832),1\nmarie_antoinette_(festival_outfit)_(fate),4\namo_(amo9612),1\nbismarck_kai_(kancolle),4\namakusa_shirou_(third_ascension)_(fate),4\nmaltese_tiger_(kemono_friends),4\ndada_(dolce),1\nmahou_no_princess_minky_momo,3\nsakushin,1\nmakarov_pm,0\nshin_(highest1192),1\ndmc:_devil_may_cry,3\nsuper_robot_wars_og_the_inspector,3\nset_square,0\nogadenmon,1\nyuuyuu_(yuko),1\nnaoe_kanetsugu_(hyakka_ryouran),4\nnagayo,1\nbaby's-breath,0\njunjunforever,1\nhachisuka_goemon,4\ntashiro_tetsuya,1\nkyaro_(kyaro54),1\nichikura_(bk),1\ndestroyed,0\npoco_muerte,4\ntsunakawa,1\nterra_formars,3\njyu_ichi,1\npennywise,4\nboba,1\ndevilhs,1\naria_(opera),1\nmt.somo,1\nazitama_atsushi_(attyuu),1\ncosmo_(465lilia),1\nhakugei_(re:zero),4\neureka_brider,1\nrainyazurehoodie,1\nstar_guardian_janna,4\nsetsuna_(miraichizu),4\nantilous,1\nchihiro_(chrnt),1\nnewt_scamander,4\nnekone_(utawarerumono),4\naospanking,1\nshinketsu_kanyu,1\nmaria_tr,4\nowada_(kousonhuchi),1\ngradient_cape,0\npoyo_(shwjdddms249),1\nmokew,1\nmulticolored_sweater,0\nclair_(fire_emblem),4\nfuruhashi_fumino,4\nlee_(saraki),4\ncu_chulainn_(fate/extra),4\nmardjan,1\nyangshangshu,1\neldritch_loreteller_(idolmaster),0\nreia_76,1\nninja_(yzpyn),4\nfpminnie1,1\nkanojo_mo_kanojo,3\nmr.blackcat666,1\npurple_haired_elf_(houtengeki),4\ntawawa_group,0\nnairobi_song,1\nsolana_(pokemon),4\ng_ieep,1\nshiohari_kanna,1\nkayou_(sennen_sensou_aigis),4\nthree_k_(spiritus_no_honoo),1\nwang-xi,1\njin_(granblue_fantasy),4\nlove_live!_the_school_idol_movie,3\niwata_satoru,4\naries_muu,4\nrrr_(reason),1\ntoudou_charo,1\nuni_(bom19850101),1\nyesterday_wo_utatte,3\nkoooogasya,1\nto_heart_2_dungeon_travelers,3\nseason_(artist),1\ninukoko,1\nflower_bikini,0\nlooker_(pokemon),4\ngranbull,4\nlarsa_ferrinas_solidor,4\nkonneko,3\nkirino_aya,4\ninase_shin'ya,1\ntabata_hidenori,4\nnico_(hero300),1\nluupechi,1\nchocolate_milk,0\nnegy,1\njajao,1\nrance_ix,3\nikebata_homura,1\ntrance_(hijiri),4\ncinderella_(disney),4\nshijimi_kozou,1\njinyuan712,1\ntokimachi_eisei,1\ncetera,1\nmuteki_choujin_zambot_3,3\ntakahashi_akira,1\nrock_balancing,0\nhigebu,1\nred_overalls,0\narmless,0\nryman,1\nboogiepop,3\ncbow,1\npraxis_(xenoblade),4\nshiro_(nitto),1\ntomokoji,1\ncordless_phone,0\nnergigante,4\nsnake_armband,0\nminase_tamaki,1\nmatsuki_akira,1\nabigail_williams_(fate)_(cosplay),0\nfrancoise_arnoul,4\nmatsuuni,1\ntohsaka_sakura,4\npublic_address_system,0\nshirou_(bear)_(fate),4\nbibimbub,1\nsaotome_rei,4\ntorn_flag,0\ntakkun_(flcl),4\nmedea,4\ntylwing,1\nikataruto,1\naoi_rena,1\nmizuki_takehito,1\ntracer_fire,0\nbajitohfu,1\nno10,1\nnoco_(pixiv14976070),1\nasparagus,0\nking_of_spades,0\nlegend_of_queen_opala,3\ncqc,0\nsanpeita,1\nprint_tank_top,0\ncheogtanbyeong,1\nnemusuke,1\nhanavbara,1\nsbbs,1\noshi_no_ko,3\nheadstand,0\nshizuoxing_kof,1\ngoten_(510gensoku),1\nsaruei_(vtuber),4\nbombergirl573,1\nelisa_(girls'_frontline),4\nsteyr_iws_2000,0\nabiko_zyozi,1\nmatsuno_opa,1\nmortar_(weapon),0\nbarinbo,4\nkuro_goma_(kakkou11),1\nmathilda_lando,4\ncolored_armpit_hair,0\nnimu_(vtuber),4\nmetadora,1\norobou,1\nyoshioka_(haco),1\nplico_(nicoma),1\nyuasa,1\nmiyauchi_lemmy,4\nturkey,0\nmegaera_(hades),4\ns-yin,1\nkousaka_nobaku,1\nmarco_polo_(azur_lane),4\ntree_print,0\ntoki_kureha,4\nwenz,1\nyatogami_fuma,4\nma_nyan_(nyao_mao_nyao),1\nhitoshi,1\nsokka,4\nchiki_yuuko,1\nleveen,1\nnikayu,1\nhakuginnosora,1\nnijimaarc,1\naoshidan_(emblem),0\nkoubuin_yuuhi,4\nshiguko,1\ntsukuda_hayato,1\nkalk_(azur_lane),4\nlisuchi,1\ntesticles_touching,0\nslam_dunk_(basketball),0\nonii-san_(tawawa),4\naduo,1\nmora_(genshin_impact),0\nsnowciel,4\nsoo_kyung_oh,1\nyeun,1\nfinger_to_another's_cheek,0\nmushibugyou,3\nmineta_naoki,1\nlittle_noah,3\nhagi_(ame_hagi),1\nbismarck_drei_(kancolle),4\niwanaga_tm,1\nmochizuki_himari,4\nranbu_hararin,1\ndana_(hapong07),1\njian_xia_qing_yuan_(series),3\nauron,4\nnakajima_rei,1\nhecate_(shakugan_no_shana),4\nx-6,1\nblaze_fielding,4\ntongkkangi,3\nstriped_innertube,0\nodagiri_futaba,4\ncranidos,4\nartist_glove,0\njamil_viper,4\naonogura,1\nninja_(tera_online),4\nyoung_justice,3\nmale_underwear_removed,0\nmix_(wkupmix),1\ngooster,1\nmochiko_(uyu_omochi),1\nfenix_uniform,0\nyonemura_kouichirou,1\nkomori_kinoko,4\neru-sennin,1\npuddingx2,1\nperfume_(cosmetics),0\narlizi,1\nthorton_(pokemon),4\narnold_schwarzenegger,4\ntarutaru_yamaoka,1\njoe_higashi,4\npluto_symbol,0\nbasch_fon_ronsenburg,4\ngolden_boy,3\nroku_no_hito,1\nbingo_tarte,1\nkonokiya,1\nkazama_gorou,1\nnova_(starcraft),4\nhostage,0\nnsfwolf,1\nshino_(osaru),4\nckln,1\nk-ya.,1\nhappy_party_train,0\ntouin_rina,4\nsaitani_umetarou,1\nokukawa_minako,4\nburst_bomb_(splatoon),0\njunkt729,1\nyorck_(azur_lane),4\nchipmunk_girl,0\nmansu,1\nif_f,1\nyo-ba_yo,1\nmecha_on_girl,0\npeachems_(gemu),1\nteba_motoko,1\nideon,4\npizzzica,1\nganida_boushoku,1\nsheep_sleep,1\nnagasawa_(tthnhk),1\nqubeley_mk_ii,4\nex-s_gundam,4\nrocket_raccoon,4\nshigeru,1\ndouble_lariat_(vocaloid),3\none_year_artist_progress_record,0\nmankun,1\nchiru_(sanifani),1\npenis_ornament,0\ntomato_juice,0\nichinomiya_kantarou,4\npurple_shawl,0\nfrance_shoujo,3\nmyero,1\nikkitousen_xtreme_xecutor,3\nkick_scooter,0\nnull_(chronix),1\nkishibe_(chainsaw_man),4\nnokkusuart,1\nsarah_sauge,1\nyume_miru_kusuri,3\nere_(2516325),1\ndigimoji,0\naustralia,0\nsurikogi,1\ngaro:honoo_no_kokuin,3\nkiriki_haruomi,1\nshellos,4\nbakushiishi_at,1\nm_ganzy,1\nkuroinu,1\nkingdom_hearts_chain_of_memories,3\nshinohara_shinome,1\ndrawing_board,0\nyayoi_kotoyuki,1\nginjyasei,1\nmimana,1\nkagiyama_hina_(cosplay),0\nnarusawa_sora,1\nyani_tama,1\ntsumaseu,1\nokita,1\nleon_magnus,4\ncode_geachu_lelouch_of_the_calamity,3\nyagokoro_eirin_(cosplay),0\nplanetarium,0\nsubaru_noji,1\ntakayama_chihiro,1\nyuki_kaori,1\njude_maverick,4\ntsumamigui,3\nkurogane_otome,4\nmonokuro_(sekahate),1\nayuko_(ayuco),1\nyojio_(2188),1\nizumi_bell,1\nmoejin,1\nchiji_komari,1\nprusena_(haevest),4\nkurosaki_coco,1\nwine_(2148_wine),1\nkiri_celea,1\nshin1ar24,1\nyogukasu,1\nkaito_(sawayakasawaday),1\nbullet_trail,0\nimperium_of_man,0\nnanako_(houkago_no_pleiades),4\naccidental_kiss,0\npink_moon,0\nredial_(vocaloid),3\nagarwood,1\nradlionheart,1\nhikari_(mitsu_honey),1\nmiharu_(ttt),1\ntsuzuki_masumi,1\nnoi_(noi_2y),1\nsaku_(kazana),4\nyuu_(twisted_wonderland),4\nobon,0\ntaketori_monogatari,3\nlychee,0\nyuhazu_(rhe-rhe),1\nkanna_(chaos966),1\nono_ikumi,4\naltair_floone,4\nkikimora_(monster_girl_encyclopedia),4\nooka_(rkyu),1\ngirdle,0\nkairi_(kai_ri),1\nkibii_mocha,1\nimaizumi_kagerou_(wolf),4\ndashi_(minzoku_gb),1\nvinyl_(vinyyl_bag),1\nmonaka_natsume,1\nsamuraisamurai,1\npiyo_(ppotatto),1\nyagi_(kyuhyun),1\nhomura_(silver_blaze),1\nsacchan_(nyaromeron),4\nprimal_kyogre,4\ngiant_insect,0\nsugita_ranpaku,1\n.l.l,1\nzinczinc_ka,1\nsakimiya_mafu,1\ncleo_(dragalia_lost),4\nmukuro_(sakiyo_cake),4\npastel_memories,3\nfloor_lamp,0\nethan_winters,4\nyamanori_(yamanori56),1\nysayle_dangoulain,4\nazu_(kirara310),1\name_usari,1\nmiyama_(kannsannn),1\nroroichi,1\ngunbreaker_(final_fantasy),4\nrudia_of_the_moon_smile,4\naika_warazu,1\nrhajat_(fire_emblem),4\nbyte_(grunty-hag1),1\nvalac_clara,4\nara_haan_(celestial_fox),4\neternatus,4\nrikotan,1\nchankyone,1\ngilgamesh_(establishment)_(fate),4\nkashii_(amoranorem),1\nxianyusamuel,1\ntoudou_kirin,4\nstuffed_horse,0\nmiki_(hoozuki_no_reitetsu),4\nmagni_dezmond,4\ntamuhei_(6nasiki),1\nkarakai_jouzu_no_(moto)_takagi-san,3\nlooking_at_watch,0\nusami_tokishige,4\nkakuteru_sudachi,1\nkankitsurui_(house_of_citrus),1\nsee-through_shawl,0\nfelnemo,1\nstriped_cardigan,0\nkunoichi-chan_(iroha_(iroha_matsurika)),4\ntashkent_(muse)_(azur_lane),4\ntsukumo_kazuki,4\nmarie_(pixiv31942978),1\neye_chart,0\nthe_baddest_akali,4\nholding_picture,0\ncurling_iron,0\nufo_robo_grendizer,3\neriimyon,1\ntokidoki_bosotto_roshia-go_de_dereru_tonari_no_arya-san,3\nchristiane_friedrich,4\nmina_(sio0616),1\nwaneella,1\nomnisucker,1\nholding_eyepatch,0\nprotagonist_(tokimemo_gs3),4\nmorino_ryoushi,4\nhiccup,0\nchako_(chakoxxx),1\nutsunomiya_toramaru,4\nslayer_(dungeon_and_fighter),4\nravness_loxaerion,4\noborogumo_takamitsu,1\namano_tooko,4\nguy_(final_fight),4\njun_(aoerm),1\npostmark,0\nhiyoko_daiou,1\nsong_request,5\neternalspherex,1\nkiku_(kicdoc),1\nayama_yuiya,1\nyuusuke_(5yusuke3),1\nshira_ichigo_(ichigohou),1\nlotus_(elico),1\nkanzaki_sora,1\ncocorip,1\nflea_(chrono_trigger),4\natom_(@tom),1\nkoga_rejini,1\nkamen_no_hito,1\nlucius_(fire_emblem),4\nchousokabe_motochika_(sengoku_basara),4\neva_(metal_gear),4\nsatou_saori,1\nhall_jion,1\njason_todd,4\nfujisaki_(si_da),1\nshimura_nana,4\nmizuchi_(mizuchi7118),1\nlime_hair_ornament,0\nmitarai_ryouta,4\nvictory_belles,3\nversiris,1\naoi_(gegege_no_kitarou),4\nkatri_(unwilling_orc),4\nscotch_(meitantei_conan),4\ncranberry_(mahoiku),4\ndhelmise,4\nyuya090602,1\ntazu,1\nyukia_(yukia_777),1\nscientist_(zannen_onna-kanbu_black_general-san),4\nkyou_(ittla),4\nfutaba-san_chi_no_kyoudai,3\nsugar_song_and_bitter_step,0\nmilo_and_akouo,0\nknatb,1\nozawa_reido,1\nmasu_gitsune,1\ntomoe_gozen_(swimsuit_saber)_(third_ascension)_(fate),4\nartoria_pendragon_(swimsuit_archer)_(third_ascension)_(fate),4\nkiev_(azur_lane),4\nfujimaru_ritsuka_(female)_(true_ether_chaldea_uniform),4\ncoula_cat,1\nojou_(galko),4\ncranberry_spencer,4\nkirita_asami,1\nmacan_(housamo),4\nlicking_leg,0\njudge_(girls'_frontline),4\nbouhatei_(t-back),1\nfasnakegod,1\nvile_(mega_man),4\nseato-hao,1\nalten,1\nriyo_servant_(babydoll)_(fate),4\ngrey_mask,0\nhibikino-san-chi_wa_eroge-ya-san!,3\nshishima_eichi,1\njibakurei_(elite_unchi),1\n6_yin,1\nmoroheiya_(moroheiya-works),1\neos_(ff14),4\nrnd.jpg,1\nchoroko_(osomatsu-san),4\nsime_(echo),1\nitsuki_(itsukiovo),1\nhimenokouji_akiko,4\nkageng,1\nhatakeyama_tsukushi,4\nnakada_rumi,1\nkuroki_mashiro,1\nfuwa_hyouka,4\nneyuki_no_gen'ei,3\nteiryoku_lolita,1\nmuya_(uyamuya_jj),1\nmijinkouka,1\nyyy246,1\nkumaneko,1\nheadband_around_neck,0\ntsuna_(al_dente),1\nfumizuki_homura,1\nwatayoshi_(suiiho),1\nsatsuki_itsuka,1\nelakan,1\ncut-here_line,0\nbaby_penguin,0\n50yen,1\nnogizaka_mika,4\ngonzaburo,1\nleex,1\nbug_spray,0\namazou,1\nmasakichi_(heppouku),1\nleppa_berry,0\nfinger_ribbon,0\nutsumi_erice_(swimsuit_avenger),4\ndaetta_(granblue_fantasy),4\nshogun_(sekaiju),4\ndoru_riheko,1\nxie_lian,4\nkanini,1\njamir,1\nfurukawa_yui,4\nrui_(o-rui),1\nmulan,3\nparis,0\nmielang,1\nclip_(weapon),0\nyuna_(spn28u79),1\ncure_blossom_(cosplay),0\nmagokorokurage,1\nsegawa_misato,4\nino_futon,1\nanna_(princess_connect!),4\nslowking,4\nbeit_(idolmaster),0\naugu_(523764197),1\ntenjouin_saki,4\nraijuu,0\ntail_on_face,0\noperator_6o,4\nnasa,0\nyellow_heart,4\nkiwi_of_ruin,1\nkaisanbutsu,1\nandvari_(last_origin),4\nscar_(fma),4\nechosdoodle,1\njapanese_macaque,0\nsakurai_chisato,4\nyasushi,1\ntakashima_yuuna,4\nlilith_(evangelion),4\njustaway,4\nmokoppe,1\nmakoto_jon,1\norange_(among_us),4\npachimari,4\ndoi_masayuki,1\ntatatan_(ts_kon2),1\nishioto,1\nnamidako,1\nchin-chin,0\nmaou-sama_to_kekkonshitai,3\nllamrei_(fate),4\ncutiebell,1\nnanoca_flanka,4\nhanato_kobato,4\nmordekaiser,4\nnuzleaf,4\ngoma_tonbi,1\nibara.,1\nhydrafxx,1\naqua_belt,0\nhuman_tug_of_war,0\njagayamatarawo,1\nlarger_bmx,1\nmerry_milk,4\nshuu_illust,1\nd3a,0\nikari_yui,4\nyoshida_seiko,4\nanbasa_(amaneyuz13),1\nxiao_gen,1\ndoko_demo_issho,3\nlegs_on_table,0\nai_kusunoki,1\nclapperboard,0\nbrown_sports_bra,0\njogan,4\nhorn_lance,0\nmara_(megami_tensei),4\ngalarian_meowth,4\nr2-d2,4\nshika_(shika0),1\nfantasy_seal,0\nmuutsuki,1\nshirley_fennes,4\njacqueline_baumgold,4\natago_(lily-white_vow)_(azur_lane),4\nutilizator,1\npollux_(housamo),4\nkimisaki_school_uniform,0\nwindows_xp,3\nirohatomo,1\noumi_sanaka,1\nstigmamyu,1\nodin_(fire_emblem),4\ngym_trainer_(pokemon),4\nkoyori,4\naru16,1\nm1_abrams,0\nhermes_(ff14),4\nisekai_shinige_ojousama,3\nnurse_nemo_(fate),4\nmob_face,0\nhoshina_utau,4\noboro_(iron_saga),4\ntsukkomi,0\ntakiya_makoto,4\ngoogle_chrome,3\nuni_ikura,1\norbeetle,4\ndistance,1\nmarie_antoinette_(swimsuit_caster)_(first_ascension)_(fate),4\namlichan,1\nkokenashi,1\nmishima_heihachi,4\nenforcer_(arknights),4\nhaku_(fate),4\nmatsuki_miyu,4\nnyome991,1\nsinccubi,1\nsentarou,1\nnodoka_(blue_archive),4\nthe_grateful_dead_(stand),4\nmouri_motonari_(sengoku_basara),4\np!k@ru,1\nninten,4\nayakashi,3\nhades_project_zeorymer,3\nshima_tetsuo,4\nitose_ikuto,1\nyoshii_dan,1\naxolotl_girl,0\nchoudenji_machine_voltes_v,3\nroku_6,1\ndovahkiin,4\nigarashi_ikki,4\nzzzpani,1\nnannaru_(nananana),1\ntanaka_deshirittoru,1\nrilakkuma,4\neda_(black_lagoon),4\nshinomiya_runa,4\nblood_sucking,0\nbagel,0\nhoshi_umi,1\nhead_on_another's_stomach,0\ntongkkangi_(streamer),4\n8-bit,0\neast01_06,1\nsaber_alter_(cosplay),0\nreulem,1\nnoise_(mokusei),1\ninnoarukugyou,1\ncompass_(instrument),0\nleaf_nun_(diva),4\naisha_callaaisha,1\nleona_(granblue_fantasy),4\nvirizion,4\ntom_(pixiv10026189),1\nsuzuki_sakura,1\nkusami_toka_naku_au,1\nnakta,1\namane_nishiki,4\nnekonabe_ao,1\nyamakawa_michiko,4\nibaraki_douji's_arm,4\nmagrona_channel,3\ncrow_3434,1\nreon_(dainagon_azuki),1\nbaariya,1\ngyaku_tsubasa,1\ngabu_(az210309),1\nmaachi_(fsam4547),1\ncuirass,0\nc_take0141,1\ntonomayo,1\nkengan_(series),3\nmitsuru-kun_(kusanagi_tonbo),4\ndarren_geers,1\nmanabe_jin'ichirou,4\nkikou_senki_dragonar,3\nkeid,1\nyukkuri_youmu_to_hontou_wa_kowai_cthulhu_shinwa,3\nrery,4\nkiiro_no_nantoka,1\nr._blackriver_agogo,4\nchesnaught,4\nusameruti,1\nmittelt,4\ni-iv_(longman),1\nqi_hui,1\nwo_jianqiang_fu_guo,1\nhiei_(aoki_hagane_no_arpeggio),4\nteikoku_senki,3\nisada_(daisa),1\nhakurei_botan,4\ngummy_bear,0\nvirgosdf,1\nshoonia,1\nnanase_nanami_(gundam_build_divers),4\nsakigake_generation!,3\numumu_(pilcre),1\noollnoxlloo,1\n9rimson,1\ntelaform,1\njeffrey10,1\nsatsumaimo_pai,1\nisora,1\nnukigee_mitai_na_shima_ni_sunderu_watashi_wa_dou_surya_ii_desu_ka?,3\nmasabodo,1\nakatsuki_kojou,4\ndemirinz,1\ningway_(odin_sphere),4\ncasper_(deathsmiles),4\npolka_(trusty_bell),4\nkanda_satoshi,1\nsas_(ls08b),1\nshirayuri_kaguya,4\nbowsette_jr.,4\nmeadow_(morphinecaca),1\nglasses_girl_(nameo),4\ntake_no_ko_(dodon),1\nyamabukiiro_(browncat),1\nchannel_ppp,0\nkotera_ryou,1\nkaden_(fire_emblem),4\nautodefenestration,0\nflamberge_(kirby),4\ntsumetsume_zerii,1\nsatan_(devilman),4\narami_o_8,1\ngotou_jun,4\nshino_(yaruki_nai_yatsu),1\nbell_orgel,1\nsword_clash,0\njayce_(league_of_legends),4\nmisuke_(gyouran),1\njuujouin_mari,4\nfolded_twintails,0\ntalunilu_uu3,1\ncygnet_(royal_fanfare)_(azur_lane),4\nflower_girl_(yuuhagi_(amaretto-no-natsu)),4\nglamour_works,1\njelly_shrimp,1\nshideboo_(shideboh),1\nmonster_hunter_stories_2,3\nmisaki_(blue_archive),4\nsuelle_marlen,4\ntransparent_footwear,0\nkazetsubaki_kuriko,4\narmored_gloves,0\nbeatless,3\nkomachi_tsugumi,4\nmiyama_rikka,1\nlightning_background,0\nfalco_arrow,1\npengrani,1\nmasuku_(saint_mask),1\nshiro_font,1\nnana_(732_kaiten),1\nphantasy_star_ii,3\nminky_momo,4\nhappy_lesson,3\nmizu,1\nkareshi_kanojo_no_jijou,3\ntwarda8,1\nidolmaster_starlit_season,3\nmoe_on_drop,1\ndocoi,1\naya_kobayashi,4\nmushihime-sama_futari,3\nkzcjimmy,1\nmerchant,0\nchkuyomi,1\nmeroko_yui,4\nfei_long,4\nalma_beoulve,4\nmuteki_kanban_musume,3\nyuki_tomoshi,1\njoseph_stalin,4\ndokuna,1\nmajic_lin,4\nkaty_(artist),1\nran_(urusei_yatsura),4\nn.a.,1\ninoue_makito,1\ncoopa,4\ntottsuan,1\naroha_j,1\npastel_chime_continue,3\ngoenitz,4\nsorayama_natsume,4\ntakappe,1\nmana_khemia,3\nhero_(dq6),4\ntoadstool_(natadekoko),1\nzest,4\nconvenient_breasts,0\ntaira_momen,1\nakashi_senju,4\njazz_(transformers),4\ncartoon_network,3\ncalnarsa,1\naratami_isse,1\nhayama_teru,4\nm_bison_(cosplay),0\nverynezumi,1\nrelay_race,0\nenaki_(mtmti),1\ndonphan,4\nanorith,4\ntaigi_akira,1\nruby_(jewelpet),4\nglider_(artist),1\nyukari_yukke,1\nshiro_(deadman_wonderland),4\nchiko_(beroro),1\ntakahashi_rumiko,1\nmogmog,1\nmaster_yi,4\nshimanoko,1\ndualsense,0\nkeisuke_(0320030103200301),1\nsoumendaze,1\nv8,1\nas_val,0\ncable_car,0\nhagiwara_onsen,1\nbluerabbit_gap,1\nnachiru,1\npixiv_festa,3\ncircle_anco,1\nkissai,1\nbon_(moegomi),1\nyoracrab,1\ngrapploct,4\nfrost,0\nyatteyan'yo,0\nmukai_suzu,4\nwattsu,1\nwakatsuki_sana,1\nlux_(alpa),1\nmaki_(huran),1\ninukami!,3\nrakugakiraid,1\npadded_gloves,0\ntainaka_satoshi,4\nsaple,1\nfuzzamorous,1\nyki,1\nomega_sisters,3\nwille_(fatalbug896),4\njiushi_shijiu,1\nlaoyepo,1\nnato-kun,4\ntakatsuki_tsukasa,1\nblack_stripes,0\nchen_zi,1\nruua_(idaten93),4\ntaiga_kazame,1\nsousuke_(ponyo),4\nisaac_dian,4\nnaked_bowtie,0\nshikato_miyo,1\nladd_russo,4\neorx,1\nkuro_(ao_no_exorcist),4\nshizuki_soujuurou,4\niwai_ku_tsuki,1\nmaronie.,1\nnorthman,1\nkingsman:_the_secret_service,3\nsanzu_river,0\nnoshima,1\ntefutene,1\ncz2128_delta,4\ntodoroki_fuyumi,4\ncinnamon_roll,0\nvirtual_anto_channel,3\norange-pengin,1\nsera_(mega_man),4\ngamera_(series),3\ngodsh0t,1\nfbi,0\nitete,1\nstop_motion,0\nslit_throat,0\nfrancisca_(kirby),4\ndove_pixie,1\noguri_oguri_(meme),0\nmachine_robo,3\nmiyakouji,1\nmulticolored_sleeves,0\nair_current,0\nfatal_frame_5,3\nlamune,3\ncrimrose,4\nmultiple_hats,0\nukuru_(kancolle),4\nsendai_(nazonomono),1\nmasatoki,1\ndodo_(bird),0\nkyoukai_senki,3\nprincess_leia_organa_solo_(cosplay),0\nplain,0\nbandeau_lift,0\ntaht_(that_is_mm),1\nhyuuga_takashi,1\nmameyanagi,1\narepko,1\nakka,1\nmooofoo,1\ninaba_yui,4\nslam,0\ntasuku_(otomebotan),1\nyellow_sports_bra,0\nvy1,4\ncat's_eye,3\naquarius_camus,4\nrynn_(rynn_cube),1\nmafurako,4\npink_overalls,0\nhisayaki_kyuu,1\narugeri,1\nrenka_(senran_kagura),4\nfutaribeya,3\ntapioka_(coconuts),1\naerlai,1\narnval_mk2,4\nw_(idolmaster),0\nximsol182,1\nshirayuki_(akagami_no_shirayukihime),4\ntranspot_nonoko,1\nbetti_(maron),1\nmima_chi,1\nplaid_scrunchie,0\nyagiushi_(sinnpatilove),1\nbb-8,4\nlike_an_ero-doujin,0\nluchador,0\nshikada_kokonotsu,4\nerikku_(kata235),1\nunu_(unucence),1\nkuroneko_(kuroi-neko),1\nasortofcolorfag,1\nnm_(tshell2761),1\nayano_(katou),1\ntriss_merigold,4\nreckless_fist_(elsword),4\nheart_cheeks,0\nprint_bag,0\nanalog_kenshi_(moto),1\nkz_609,1\nreinoenu_(anon),1\nneon_katt,4\ntirudo29,1\ndenjyou23,1\nekina_(1217),1\nteddy_demon,4\nmekakushi_code_(vocaloid),3\nspecter_(undercurrent)_(arknights),4\ncheeze_(akizone),4\ncrystal_night_party_(idolmaster),0\nthe_kogado_(idolmaster),0\nfushimimukai_hinako,4\ntuye_(arknights),4\nkana_(kuaua),1\nryuujou_(kancolle)_(cosplay),0\nmorag_ladair_(obligatory_leave)_(xenoblade),4\nwacca005,1\nsaint_mary's_academy_uniform,0\nsuzuran_(lostlands_flowering)_(arknights),4\nnamori_(character),4\n3j_dangan,1\naleikats,1\npoketoon,3\nkcco_(girls'_frontline),0\ntwitch_logo,0\ntamura_(kouititamura),1\nakari_(pokemon)_(cosplay),0\ngu_yuena,4\npa-15_(high_school_thrills)_(girls'_frontline),4\ntachibana_hiroki,1\ncure_beauty_(princess_form),4\nillyasviel_von_einzbern_(dress_of_heaven),4\nneo-porte,3\nanne_bonny_(swimsuit_archer)_(first_ascension)_(fate),4\noyasuminjyutsu,1\nqingchen_(694757286),1\nchina_moeka,4\nmaru-kichi,1\nbass_(mega_man),4\nryoi,1\nairbrush_(medium),0\nvacuum_bed,0\nyupopo_(hidame),1\nyakuri,1\nys_(ytoskyoku-57),1\nyasu_(umineko),4\nnagase_iori,4\ntaikodon,1\nseesaw,0\nichijou_raku,4\n144_(riesztan),1\nyusuki_(fukumen),1\njoy_(pokemon)_(cosplay),0\nmodel_airplane,0\nde_(deys),1\naria.,1\nokuva,1\noohhya,1\njuliet_capulet,4\nyamakawa_umi,1\nmella,1\ndiabla_(elsword),4\nishitsu_tadashi,1\njolaeng-i,1\nsgb,1\ngeolim,1\nxblaze_lost:_memories,3\nminerva_(re:zero),4\nkasako_(komeshiro_kasu),4\nkali_belladonna,4\nkaitou_reiko,4\ngupunetsu,1\nsmilodon_(kemono_friends),4\nkemejiho,1\ntobin_(fire_emblem),4\nmusical_note_necklace,0\nholding_another's_thighs,0\naoba_misaki,4\nbiburi_(precure),4\ndena.ei,1\nsoldier_game,0\npietani397,1\nbotamochi_(exwelder),1\nmurasaki_(fioletovyy),1\nruggie_bucchi,4\nwaterstaring,1\ntwilight_(spy_x_family)_(cosplay),0\nwallaby_(girls_und_panzer),4\nqbz-97,0\nju_87,0\ntsunamino_yuu,1\nsarujie_(broken_monky),1\nspeedpaint,0\ndice_gt,1\naomizuan,1\nshishou_(doragyurosu),1\nchieezuik,1\njian_xia_qing_yuan_online_3,3\ncassin_(azur_lane),4\nonka,4\nsoramame_pikuto,1\nknight_(shichigatsu),4\ngold_experience_requiem,4\nshirokaba114,1\nsazanka,1\ngatsby_ssl,1\nthrux,1\nshiki_(0802makimari),1\nasakiri_koko,1\nwhite_breath,3\nperon_(niki2ki884),1\ncocoablue23,1\nujac,1\nbrown_outline,0\ntori_no_ou,1\nshirt_over_head,0\nmileena,4\naubz,1\nsangsoo_jeong,1\npokey,1\nkanjou_jouki,1\nthighhigh_gaiters,0\ntriceratops,0\nwakahiko,1\nchiliarch_(elsword),4\npangolin_ears,0\npullups,0\nwadanaka,1\nhiokirasu,1\nkomano_aunn_(komainu),4\ngensoukitan,1\ndrid,1\nfossa_(kemono_friends),4\nclitoris_torture,0\nfuji_tarawi,1\nqi'e_(penguin),1\nseven_deadly_sins,0\nribao,1\nkazanock,1\nhimuro_ayame,4\nsashou_mihiro,4\ninoue_tomii,1\nhiroshix31,1\nshining_gundam,4\nkoutari_yuu,4\nkurekore,1\nnanasumi_(pantie_party_project),1\nbintz,1\narong,1\ntoshihiro,1\ntongari,1\nplatin_(alios),1\nonigensou,1\nmyuri_(spice_and_wolf),4\nitsuki_jun,1\nshirafuji_natsuki,4\nmackia,1\nmiyazakit,1\nkijibato_123-gou,1\nulala,4\nkazuha_(saku_kn),1\ndetached_cape,0\npiyoyanagi,1\nuni_(nico02),1\narinotowatari,1\nluode_huayuan,1\nku-ba,1\nmazinkaiser,3\nah-64_apache,0\npurunyara,1\nbzs_(kage_no_shinobu),1\ntaba_comya,1\ntakanaru,1\ntriumph_(expression),0\nsumi-chan_(sachito),4\nryanpei,1\nhaysaca_a._smithee,4\ntsuyuki_(yukitgraph),1\nnishinomiya_suzu,1\nbeelzebumon,4\nglowing_armor,0\nentrails,0\nburn_mark,0\nmarshall,0\nyamada_maya_(yamdmay),1\nyakusa,1\nimazawa,1\nritual,0\nisobee,1\na-kiraa_(whisper),1\nyooki_(winter_cakes),1\ndayama,1\nkarasuro,1\npoleyn,0\nadachi_tenka,4\ndr._voir_(nanosheep),4\nonasuba,1\npotty,0\npulley,0\nseitokai_nimo_anawa_aru!,3\nsatozaki_kiko,4\nheineken,0\nmindoll,1\nmatsumoto_kouko,4\ncapcom_vs_snk_2,3\nsouma_kyou,4\nelmerulia_fryxell,4\nrazmi_(indivisible),4\nholding_turret,0\nfusataka_shikibu,1\nviewtiful_joe,3\nharuyuki_14,1\ndadadanoda,1\ntoo_many_pikachu,0\nichimatsu_shiro,1\ni_am_homeko,1\nnishizono_midori,4\nblack_hayate,4\ncastella,1\narthur_pendragon_(white_rose)_(fate),4\nyan_(gyee),4\nkaorin_minogue,1\nhayama_jun'ichi,1\nsenra_banshou,1\nlhu_(barappra1),1\nyuu_(oosakazaijyuu),1\ndongqing_zaozigao,1\nkoujaku,4\nhakka_(88hk88),1\ntamura_satomi,1\nuta_no_prince-sama_maji_love_2000_percent,3\nkarahara_shima,4\nbespin,1\nosatou_(character),4\nhitogome,1\nral-san,4\nbunnelby,4\ni-400_(aoki_hagane_no_arpeggio),4\ncoral_hair_ornament,0\nshikino_(sikinonono),1\nanniechromes,1\nhomare_(homaredai),1\naim-9_sidewinder,0\nkohitsuji_ai,4\ngal_dolva!!,3\nvel'koz,4\nhoshizuki_suzu,4\nfox_wife_(batta_(kanzume_quality)),4\nwristwear,0\nxiaolong_(touhoufuhai),1\ndaikoku_osamu,1\naili_(aliceandoz),1\nshirohime_quest,3\ntsumayouji_(tumayog),1\nizumo_kasumi_(nijisanji),4\nmystic-san,1\nsatou_saya,1\namearare,1\nshiki_hinako,1\nproject_a.d.a.,3\nfujima_(k114),1\nkomuro_chinami,4\njitsu_wa_watashi_wa,3\nkanie_seiya,4\nalistar_(league_of_legends),4\nmy_(iuogn4yu),1\narc_(arc_the_lad),4\nzetta_(phantom_kingdom),4\nyuzuki_yuno,1\nbellri_zenam,4\ndive,0\nh_sueun,1\nharklight,4\nmeiza_endust,4\nfukuso_hilbert_kuukan,1\nultraman_(hero's_comics),3\nnanami_yuuno,4\nhanami_dango_(zzldango),1\ncarole_&_tuesday,3\ndalrye_v3,1\ncinderella_(grimm),4\nhatsune_miku_graphy_collection,3\nobject_on_pectorals,0\nkolulu_(granblue_fantasy),4\nsnowman_print,0\nvampire_(little_devil_in_white)_(azur_lane),4\nozawa_ari,4\nhorizontal_comic,0\nsizzlipede,4\nalto2019,1\npomu_(pomu_me),1\npasya-pasya,1\namiba_(nerdamiba),1\nhirama_hirokazu,1\nburnt_green_tea,1\nmelissa_kinrenka,4\nhead_rub,0\nwraith_(apex_legends)_(cosplay),0\nelevator_operator,0\nzuoteng_lucha,1\notakummm,1\nshichi_(ratorin53),1\njoe_shimamura,1\nrei_(granblue_fantasy),4\nhuoji_(wonderturkey),1\ntaurus,0\nonline_neet,1\nmulticolored_umbrella,0\nmetal_bikini,0\npuffy_anus,0\nsakurakouji_kinako,4\nkuromiya_(def_lp),1\nkazuko_(towa),1\nsarah_(pokemon),4\ntatahai,1\nlanz_(xenoblade),4\nrii_abrego,1\nsmelling_feet,0\nglowing_nipples,0\ntombo_(majo_no_takkyuubin),4\narin_sel,1\nmegami_magazine_creators,3\npresenting_pussy,0\njirafuru,1\nhata4564,1\naqua_sleeves,0\nyayata_(884),1\nglorybringer_(granblue_fantasy),4\nminari_(lmina09),1\npanna444,1\nfuture,0\ntotally_spies,3\narmlock,0\nky_(nimbusky),1\nkep_(ahokep),1\nrebecca_anderson,4\nrenkonmatsuri,1\nsara666,1\nookawara_kunio,1\nsumiyoshi_kanako,4\nt.a.k.,1\ntsukishiro_yukito,4\nmarlboro,3\nkimura,4\nren_(gh),1\nhiiragi_akao,4\nmorimiya_aono,4\nsayuu_hanten,1\nattenborough_cortitch,4\nroger_smith,4\nyasaka_kanako_(cosplay),0\nkamipani!,3\napril_(coyote_ragtime_show),4\nsatou_masuki,4\nlaboto,1\ntsuma_to_mama_to_boin,3\nsword_cane,0\nyuupon,1\nsie_kensou,4\nalicia_(valkyrie_profile_2),4\nhashimochi,1\nhoshi_kubi,1\nangel_sanctuary,3\nokia,1\nspectral_force,3\npixiv_shadow,3\naino_yumeri,1\nmega_man_3,3\nnemo_(nameless920),1\ntsukishima_makoto,1\nkt,1\narchibald_(adahalt389zp),1\nmary_clarissa_christie,4\nmatagitii,1\nkamen_rider_garren,4\nfiat_500,0\nmiero,1\ninugahora_an,1\noohirakeisuke,1\ndegenbrecher_(arknights),4\nchauke,1\nsdwing,1\nhinanawi_tenshi_(cosplay),0\nlyodi,1\nrennes,1\nookura_miyako,4\nhyuga_zen,1\nshin_(amnesia),4\nloose_panties,0\nnissan_skyline,0\nmikan_29344886,1\ngorudazo,1\nplaid_footwear,0\nshirt_straps,0\nuss_iowa_(bb-61),0\nannoun_(kurotya),1\nyiyu_qing_mang,1\ngyup,1\nshari_cote,1\nsatori_(ymoy),1\nshenteita,1\nina_(inadiary),1\nanoshabu,1\nprincess_aeolian,4\nnepnep_connect:_chaos_chanpuru,3\nt_mask,0\nnagami_suzuka,4\nnande_koko_ni_sensei_ga!?,3\ncamel_ears,0\nblade_ride,1\nhamu_(plot_sy),1\nspeed_limit_sign,0\nhami_yura,1\ntoda_jun,4\nvanir,4\nsumi_(oyasumie),1\nmomose_hisashi,1\nfizrotart,1\naizen_(housamo),4\nnanae,1\njay_xu,1\npanamuru,1\nemil_nekola,4\nshenmue_ii,3\nimp_(doom),4\nbun-o,1\nhizaki_gamma,4\nchair_tipping,0\nura-omote_lovers_(vocaloid),3\nyuudachi_kai_ni_(kancolle)_(cosplay),0\namber_(gemstone),0\nmoyo_(amaniwa),1\nkuro_nezumi_inu,1\npokeyugami,1\nrobot_neoanthropinae_polynian,3\nfrom_hat_trick,0\nhinase_haruka,1\nsage_(final_fantasy),4\nwalter_c._dornez,4\nwooden_shield,0\nquilt,0\nmeruem,4\nhakua_(hka_art),1\nscott_pilgrim,3\nnishino_tsukasa,4\nfruit_sandwich,0\nsticker_on_arm,0\nfiddlesticks,4\nbanglinh1997,1\ngaitoou,1\naries,0\nlavender_quartz,3\nweiss,4\nfemale_warrior_(disgaea),4\nxylophone,0\nhan_solo,4\nski_pole,0\nhunehoura,1\nyasuhara_roku,1\nphoenix_wright:_ace_attorney,3\ntalgi,1\nnuye,3\ndrawstring_bag,0\nwarfarin_(casual_vacation)_(arknights),4\nspace_maria,3\npriana,4\ntimmyyen,1\nlove_ball,0\nzatsu,1\namano_nene_(vtuber),4\nleaf_(studio),3\ndutch_flag,0\ngreymon,4\np-nekoe,1\nekokuice,3\npurikura,0\nlerico213,1\ntashiromotoi,1\nnikaidou_shinku,4\n695_(mukuko),1\nsex_doll,0\n3838383,1\nmale-female_symbol,0\nkamidori_alchemy_meister,3\nchariki,1\nmidiman,1\nerdtree_(elden_ring),0\nmamezou,1\nairi_(akamichiaika),1\nnanami_neru,1\nheart_wings,0\nhazuki_kurumi,4\nsoma_natsumi,4\nace_combat_5,3\nblue_(among_us),4\nmanabe_itsuki,4\nmushroom_hair_ornament,0\nice_block,0\nsakino_saku,1\nmatsura_ichirou,1\nimai_nobume,4\n35,1\ncross_of_saint_andrew,0\ngia_kon,1\nneko_atsume,3\nkoga_tomoe,4\nazusagawa_kaede,4\nlittle_mare,1\nmountain_tim,4\nb_suke,1\nblue_rope,0\ntsunekun,1\nmai_(t-5),1\nruberule,1\ntying_headband,0\nkimi_no_iru_machi,3\nvuvuzela,0\nibuki_hasu,1\noninamako,1\njarv,1\ntekka_maki_(wafuu-bune),1\nkurenaidahlia,1\nakiae_(hayj14),1\nsugapi,1\nkarita_(kali_lgk),1\nanitore!_ex,3\nkooji_(macoji),1\nstar_fox_adventures,3\nrei_(cosmic_break),4\nkisou_(kisou00),1\nscottie_(pokemon),4\nayanami_(nightfall_raiment)_(azur_lane),4\niga_(okame_nin),4\ngotagotay,1\nusada_kensetsu,0\nmechari,1\nshulliy_baudelair,1\nryans,1\npurple_pussy,0\nred_bean_paste,0\nhoneymilk0252,1\nr-99_smg,0\nlofi_girl_(youtube),3\nsubject_67_(helltaker),4\ndoro_au,1\nnanju_bami,1\nzb-26_(girls'_frontline),4\nhunter_(girls'_frontline),4\ntype_64_(girls'_frontline),4\nsophia_f_shirring,4\nchoco-chan,4\nmobu_45,1\nsaotome_academy_uniform,0\nseigetsu_academy_uniform,0\nkaga_(white_fox's_new_year)_(azur_lane),4\nraineru_(gryffindor131),1\nshuten_douji_(housamo),4\ntang_san,4\nkabun_(suzuna_jct),1\ntales_of_link,3\nyamanobe_saya,1\nperlica_(arknights),4\nchieru_(school_festival)_(princess_connect!),4\nhbb,1\nfujioka_toki,1\ncooking_idol_ai!_mai!_main!,3\nyuki_ahiru,1\nyuzuha_(utawarerumono),4\nshia_(pita_ten),4\nnational_football_league,3\nqiuzhi_huiyi,1\nriinu_(ir-n),1\nyuusha_masatoshi,4\nkaio_(watagami),1\nnaruto:_road_to_ninja,3\nsokutenkun,1\nomaida_takashi,4\ncotta,1\nkaleidomoon_scope,0\nimpressionism,0\ntofu1601,1\nthe_binding_of_isaac,3\nhenrietta_(zankuro),4\nsaka_i_hirokadu,1\nticktack_chicken,1\nkagari_atsuhiro,4\njinsei,3\ncrossbone_gundam_ghost,3\nnagare_yoshimi,1\nblueman,1\neuclase_(houseki_no_kuni),4\nfumikiri,1\nero_zemi,3\nmahdi,1\nootsuki_makoto,4\nnyanmaru_(ememing),1\ntsubomioka_happa,4\non_stairs,0\naburaya_tonbi,1\nchinese_hat,0\nkuro_minamo,1\ntengen_toppa_gurren-lagann_(mecha),4\nnishitsuki_tsutomu,1\nshrinking,0\ninga,4\nsquid_girl,0\nkazanari_genjuurou,4\nptsd,0\ntomoshiki,1\nsiseru_samurai,1\ndrasna_(pokemon),4\nthe_mandalorian,3\nlitchipix,1\nukiwakisen,1\nkokonoha_mikage,1\nyasashii_naizou,1\nicetea,3\ngigalith,4\nwazukani,1\nsakamoto_kengo,1\noyaji,4\nmori_hikiko,4\nstealth_set_(zelda),0\nyuzu_(konohana_kitan),4\ntoes_up,0\nalphabet,0\ntibarn_(fire_emblem),4\ngokou_hinata,4\naion_kiu,1\nglowing_clothes,0\nproject_fairy_(idolmaster),0\nsoot,0\ninnes_(fire_emblem),4\nshiya,1\nthundurus,4\nmagnolia,0\n3x3_eyes,3\nmohya,1\nry-spirit,1\nfujikido_kenji,4\ntawara_touta_(fate),4\nmermaid_dress,0\nmeriko,1\nfuenyuan,1\naito_(indigorabbit),1\ngeometry,0\ndoubutsu_sentai_zyuohger,3\nmio5,4\nenoko_(zqfebi),1\nki_(mxxxx),1\npokken_tournament,3\nkeis_(locrian1357),1\ndaisy_mitsumata,1\nuchicchii,4\ngotcha!_boy_(pokemon),4\nao_oni,3\nexa_(koyuru),1\npatzzi,1\ndental_gag,0\nchocolate_on_legs,0\njuban,0\nloftwing,4\ntsukamichi_fumi,1\nemile_bertin_(azur_lane),4\npopii_(yuuta679),1\nkanechi,1\noshiri_seijin,1\nrin_lingsong,1\nhako_momiji,1\nnishikasai_munieru,1\nmaru_(cookie),4\ndancer_2_(sekaiju),4\nhamakaze_(azur_lane),4\nfurui_suguri,1\ninu8neko,1\nsion_(9117),1\nheart_bikini,0\ncloritin,1\ntenjou_tsuki,1\nwater_tower,0\nkayano_kaede,4\nfuture_studio_(artist),1\nvanilla_(arknights),4\nkatsuragi_misato_(cosplay),0\nkiyo_(yamazoe1122),1\ngoki_buri,1\nm2hb_(girls'_frontline),4\nledian,4\nseo_haruto,1\nbard_(sekaiju),4\ncheesewoo,1\nlife_is_strange,3\nangelan,4\nkurosu_gatari,1\nfloodlights,0\ngoushou,1\ngrado_labs,0\nbuggy_the_clown,4\naero_(mega_man),4\nkupocun,1\nwindfeathers,1\nkirihara_misaki,4\nsize_hermitage,1\nbanxuan_c2ka,1\nultraman_z_(series),3\nprincess_spirit,1\nriria_(happy_strawberry),1\ncrayfish,0\nmitsubachi_koucha,1\nhachi_(orange),1\nmeracle,1\nhikari_(haibane),4\nshining_force_exa,3\ntime_tunnel_(madoka_magica),0\ntetsujin_28-gou,3\nkamen_rider_2,4\nnozz177,1\nkoikeya,1\nmottsun,1\nswalot,4\nfujimon,1\nemuchi,1\ngrey_shawl,0\nusami_tsuitachi,4\nip,1\nyanmaami,1\nshinozaki-san_ki_wo_otashikani,3\nnito_nazuna,4\nnonohara_nyorai,1\nnicca_(kid_nicca),1\nkurome_(akame_ga_kill!),4\nsashinami_shouko,4\nthief_(dungeon_and_fighter),4\nborockman,1\ndeed_(nanoha),4\npetrel_(pokemon),4\nushita_kaoruko,4\ngrimay,1\nhanchou_(shirokun555),1\nzaniaii,1\niki_hiyori,4\nroro_(sghona10),1\nberry_jou,1\nensinen,1\nalicecrazy,1\nhajime_(kin'you_club),1\nharu_(citron_citron),1\nkechin_(oreteki18kin),1\ntape_censor,0\ntamako_love_story,3\nmaku_(wasabishock),1\nhatsu_(first_snow),1\nfudatsuki_no_kyouko-chan,3\nserina_ranshi,1\nhoshino_hitsuki,1\npantyhose_tug,0\namripo,1\nitsumoto_hiroharu,1\njacob_dream_world,1\nwindranger_(dota),4\nkatsu_(food),0\nflower_anklet,0\nprimal_groudon,4\ntane_juu-gou,1\nkorandamu,1\nmaid_swimsuit,0\nteddy_bear_sex,0\nkasappi,1\nmizuno_(soutaman),1\ncerecere_(sailor_moon),4\ngirutea,1\nultone_(neisiss),1\njijo_(kakitama),4\nchuri_(oxxchurixxo),1\nkuryuu_kohaku,4\nelliot_leucosia,4\nchiha_(abo_ecm_mk25),1\nmanamitsu,1\nshimeji_simulation,3\nmhg_(hellma),1\nsen_(daydream_53),1\ndaiginjou,4\niwaki_kouji,1\necoco,4\nsirius_(white_rose)_(azur_lane),4\ntirpitz_(snow-melting_summer)_(azur_lane),4\nlawrence_(shiro_seijo_to_kuro_bokushi),4\nhelen_roro,1\nlon'qu_(fire_emblem),4\nhrid_(fire_emblem),4\ntanutika,1\nescalation_heroines,3\nio_(io_oekaki),1\ndia_(world_flipper),4\nkuroiwa_yuuki,4\nspiked_jacket,0\nakeiro_kaikitan,3\ntapioka_chaso,1\no-los,1\nstriped_bodysuit,0\neat0123,1\ntakasugi_shinsaku_(fate),4\ngrand_theft_auto:_san_andreas,3\ndoughnut_hair_ornament,0\npamiat_merkuria_(caged_minx)_(azur_lane),4\nkazuhito_(1245ss),1\ntitania_(final_fantasy),4\ndaikuuji_ayu,4\nhinamatsuri_(manga),3\nastor_alexander,1\nbrown_long-eared_bat_(kemono_friends),4\nchouon_senshi_borgman,3\nshyrei_faolan,4\ndaicon,3\nokura-chan_(at_nya5),1\npiisu,1\nquarantine_722_wraith,4\nkirby's_return_to_dream_land,3\nfruits_fulcute!,3\nstuffed_dinosaur,0\nwally_(where's_wally),4\nkurattes,1\nsleeping_with_eyes_open,0\ntit_(bird),0\nkarashi_(asarikarasi),1\npia_(botamochinjufu),1\nkana_(user_rkuc4823),1\nkunisaki_rena,4\nhirata_katsuzou,1\nkabi_(zcwd8845),1\nkiryuu_kyousuke,4\nkirishima_kanna,4\nshiren_(ourboy83),1\nniu_illuminator,1\ntuzhate,1\ncunt_punt,0\nieufg,1\nshiho_(yuuhagi_(amaretto-no-natsu)),4\ngorigo,1\nhijiri_byakuren_(cosplay),0\nharuhikohiko,1\njissouseki,4\nsaimoe,3\nmorinaga_korune,1\nyuuno,1\nanice_farm,4\naitanikofu,1\nmarie_(sister_princess),4\nsuemitsu_dicca,1\nkurafuji_sachi,1\nkindaichi_shounen_no_jikenbo,3\nwatanuki_nao,1\nstahn_aileron,4\nkazuto_san,1\norifushi_natsumi,4\nnatsuzora_kanata,3\nblack_mage_(fft),4\nanakaris,4\ntaisen_hot_gimmick,3\naisora,1\nsetzer_gabbiani,4\nane,1\nshiratori_serano,1\nkusakabe_misuzu,4\nfukano_youichi,1\nmyaaco,1\ngala_(16901040),1\nrapha_galthena,4\ntamaki_iori,1\nbutterfly_swords,0\neeyasu,1\nyoshida_(rodeo),1\nmesu_nie_onna_kyoushi,3\ncheckered_bra,0\nkana_(haibane),4\nyuh,1\nayuto,1\nnemuro_nao,1\nonoe_serika,4\nsengoku_hime,3\ncala_t_maki_72,1\nells,1\njegan,4\nsawamura_tomoki,4\nrappelling,0\npromotions,0\ntaiyou_gakuen_uniform,0\nfujifuji924,1\nkoro_(tyunnkoro0902),1\njoshi_kousei_rich_thots,3\nangel_(drag-on_dragoon),4\njeanne_d'arc_alter_(mystery_treasure)_(fate),4\niskandar_(sensha_otoko)_(fate),4\nutsumi_erice_(mission_start),4\nbomb_devil_(chainsaw_man),4\nyuna_(rutera),1\ndancho_(danch),1\nyasai_yuuki,1\npretty_sammy_(character),4\nchaos_code,3\nkurumi_nui,4\nhiro_(725611),1\ndomco,1\nf-tani,1\nmomigara_(mmgrkmnk),1\nnoeru_(putty),1\nstocking_(psg)_(cosplay),0\nshin_sangoku_musou_6,3\nspaghetti_and_meatballs,0\nsumeshi_(ambivalince),1\ngasper_vladi,4\nlisa_(pso2),4\ntko_(kkk66),1\ntsuki_tsuki!,3\nkabane_(follabi),1\nkushina_anna,4\nhakutaku_(hoozuki_no_reitetsu),4\nyunagi_(arukumaruta),1\nuni_(ieatpockey),1\nkotikomori,1\nziogon,1\nuso-kun,4\nsummoner_(league_of_legends),4\nunaware,0\nnslacka,1\ngeorgia_(pokemon),4\ndb_(dokidoki!_precure),4\nmaumen,1\nnmz_(namazu),1\nshinkaisoku,1\nharusabin,1\nbinzoko_megane_(san-inch),1\nnagishy,1\nbeast_ball,0\nnooca,1\nkeiya,1\nneziren14,1\njoeychen,1\nsheep_(kemono_friends),4\nstandby,1\nlemming_no_suana,1\nnanaminn,1\nfrankseven,1\ntakigraphic,1\nmogullaz,1\nyomotsuka_tsukasa,1\ngoji_(five_clock),1\nnaosuke_(morioka_shachuu),1\ncornelius_(odin_sphere),4\nnefrubi,1\nshal.e,1\nteam_rainbow_rocket_grunt,4\nblacephalon,4\nmagic_xiang,1\nlight_(luxiao_deng),1\npeter_(gvb),1\ntsurugi_ai_(seikan_hitchhiker),1\nelf_(ii_orc_no_hi),4\nratto_(mobilis_1870),1\nlittle_blonde_girl_(kozato),4\nharuhitooo,1\ndima_(girls'_frontline),4\ntype_80_(girls'_frontline),4\nmomonosuke_(u-ma991028),1\nhorns_through_hood,0\ndrruraguchi,1\nmemories_off_1,3\nnobusawa_osamu,1\no-sirius,1\ncrescentia_fortuna,1\nnia_(fancy_sundress)_(xenoblade),4\nkamoi_(kancolle)_(cosplay),0\nakatsuki_(kancolle)_(cosplay),0\nrindoriko,1\nkurozu,1\nhikap,1\nsutekina_awa,1\nsam_porter_bridges_(cosplay),0\nnene_(10575936),1\nyuufreak,1\nohizumi_daisaku,1\nkinzoku_bat,4\nkiramashi_(satsujinki),1\nu4284g,1\ngarland_(ff1),4\nmeng_xiao_jiong,1\ntype_74,0\naa44,1\nsonsaku,4\narm_on_table,0\ng_home,1\npokemon_ranger_1,3\nmabataki,1\ndummy,0\nyoshihara_maito,1\nkisaragi_yuu_(re:lucks),1\njoh_pierrot,1\nmitsubishi_motors,0\nhaku_le,1\nminior_(core),4\nplacemat,0\ndanish_flag,0\nmatoimaru_(arknights),4\njun'you_maru,1\nfood-themed_hat_ornament,0\npixiv_trainer,3\nolivine_(nu_carnival),4\nhakumei_(hakumei_to_mikochi),4\nwanne,1\ninu_chikushou,1\ntomoe_tamao,4\npillo,1\nzel-sama,1\nmillennium_ring,0\nghast,4\nbluethebone_(character),4\nkurusu_natsume,4\nisekai_shokudou,3\nkare_(0621utak),1\npoinia,1\nnaji_yanagida,1\nyakumo_(nu_carnival),4\nminj_kim,1\nkubota_rin,4\nyua_(bokubo0806),1\nbokujou_monogatari:_waku_waku_animal_march,3\ntenchi_muyou!_ryou-ouki,3\nkuroi-tsuki,1\nestelle_(arknights),4\nnaked_kappougi,0\nkian,1\ntoramaru_shou_(cosplay),0\nnekozawa_yukari,1\niris_libre_(emblem),0\nmooning,0\nvietnamese_text,0\npandora_(re:zero),4\nruizu_(takakisan503),1\ncutter_(arknights),4\nrilex_lenov,1\nhug_and_suck,0\nzanshi,1\ngreat_fairy_(zelda),4\ntai_gong_wang_(fate),4\nmatsukaze_yukiji,1\njill_valentine_(cosplay),0\npineapple_print,0\nvoruvoru,1\nkamado_(pokemon),4\nshen_li,1\nsawara_noa,1\nsantoku_knife,0\nnipple_flick,0\nildy,1\nkaidou_(one_piece),4\nmichou,1\nethyria,0\nnegi_suppository,0\nhavoc-chan,4\nblack_wyrm_(last_origin),4\nddolbang,1\nxtears_kitsune,1\nkoyanskaya_(assassin)_(third_ascension)_(fate),4\nwing_grab,0\nmarekamico,1\nkanaka,4\njockey,0\ndjmax_technika,3\nmeno,1\n0208ramune,1\nquercus_(arknights),4\nalcxome,1\nnico-mo,1\nnero_(nilu),1\nchigusa_kasumi,4\nshou937,1\nwamdus_(granblue_fantasy),4\nnatsume_(natsume_melio),1\nmugishima_orie,1\nfutaba_tsukushi,4\nko~n,0\nlei_lei_(cosplay),0\nshionosuke,1\ncaron_(rall),4\nkaiman,1\nbamboo_memory_(umamusume),4\nkong_lang_(skywave),1\nbellows_camera,0\nchushou_jiang,1\ntractor,0\nmajor,3\nmedjed_(mythology),4\ngacha,0\nrenge_(bishoujo_mangekyou),4\numitsubame,1\npoorgom,1\nookami_kodomo_no_ame_to_yuki,3\nayamiya_fumi,1\nmega_ring,0\nginnoturu,1\ntsukishima_shizuku,4\nmetal_man,4\ngods_(1073337800),1\npuni_puni_handmaid,3\nwatanabe_atsuko,1\nrobot_dog,0\nmagical_mirai_miku_(2022),4\nc@rbon,1\namasa-hikae,1\nlotus_root,0\nshimeko,1\ndumpster,0\naaron_(pokemon),4\nishida_baru,1\nkishibe_ayaka,4\nkai_tomohisa,1\njiji_(381134808),1\nto-den_(v-rinmiku),1\nbrups_tv,1\nkotomine_risei,4\nuho_(uhoyoshi-o),1\nhattori_heiji,4\nestonia_(hetalia),4\nnaye,1\ndoku_sasori,1\ntaiga_shinjirou,4\ndanshi_koukousei_ga_mahou_shoujo_ni_naru_hanashi,3\nexternally_piloted_mecha,0\nadjusting_mask,0\nteru_sakura,1\nmaid-san_wa_taberu_dake,3\nangelina_kudou_shields,4\nyan531,1\nnakane_nata,1\n7t,1\nmr_h.l.,1\nbianco_(mapolo),1\nadjusting_hair_ornament,0\ncao_hong_anh,1\nangkor_(elsword),4\nnintendo_64_controller,0\nori_(yellow_duckling),1\nkakenari,1\ncyrano,1\nkab00m_chuck,1\ncyaca_ab,1\nkitamura_sora,4\nbeige_gloves,0\nfujita_canaria,4\nlemur_ears,0\nazurda_(xenoblade),4\ncbi_cbi,1\ngronru_(alchemy_stars),4\nstage_of_magic_(idolmaster),0\nsuna_co,1\ncut_man,4\nkaroine,1\ntora_(ushio_to_tora),4\npigeon_pose,0\nlucy_(pokemon),4\nyuzuno_kaori,1\nashinano_hitoshi,1\nhaku_(naruto),4\nhscatter,1\nshide_kouri,1\ncouzone,1\nbilibilida,1\nnevin_(flyskying),1\nomura06,1\nmotoi_(spieler),1\nkate_(idolmaster),4\nkuroba_aki,1\nnicola_(granblue_fantasy),4\neast_german,0\namano_miu,4\narina_nary,1\ndaichan_mona,1\nunownglyphics,0\nornate_armor,0\nguilmon,4\narihara_ema,1\nsigma_(mega_man),4\nxiao_ren,1\nstrike_cannon,4\nonanie_master_kurosawa,3\nvolbeat,4\nosuzu_akiomi,1\nmito_tsubaki,1\njk-chan_(oouso),4\ntango,0\nsugina_fujitaka,1\ngoatman_(umineko),4\nhanakuso,1\nsamuraig,1\nrakku_(10219563),1\nichihara2929,1\nclass_change,0\ntanaka_hitoriaruki,1\nnishina_hima,1\navocado,0\nsir_arthur_(makaimura),4\nyuka_yukiusa,1\nhino_hinako,1\nandrew_kreiss,4\ncollair_(cono),1\nivan_the_terrible_(fate),4\nleer.meer,1\nagielba,4\nshinebell,1\nfujinami_ryuunosuke,4\nbokuso,1\nmeina_(atlanta),4\nnaarann,1\nunraveling,0\nnora_ichigo,1\nnoire_kooshe,4\ncup6542,1\na5m,0\nglasgow_(azur_lane),4\nryuu_(breath_of_fire_iv),4\ncat_and_rabbit,1\nsutei_(arece15),1\ngrozny_(azur_lane),4\npandaki_(aki),1\nhalf-nightmare,0\nsupullim,1\nfrilled_underwear,0\nzanpakutou,0\nharuka_ni_aogi_uruwashi_no,3\nazuman,1\ngang_road_joker,3\nuguisu_(happy_turn),1\nhara_kazuhiro,1\npopful_mail,3\npriest_(warcraft),4\nzanunoneko,1\ndaicon_bunny_girl,4\njoseph_joestar_(young)_(cosplay),0\nshacttainw,1\nzuikaku_(kancolle)_(cosplay),0\nkuze_shizuka,4\nmono_(freerotary),1\nmaetaku,1\ntino_(ikeuchi_tanuma),4\nohagi_(ymnky),1\nfuyukawa_motoi,1\nhakoneko_(marisa19899200),1\nstone_(shirokanipe_ranran),1\nnishikiori_jin,1\nhekiten,1\nbeegle,1\nkomatsu_(sakanae),1\nnse,1\nkutta,1\nhilda_(beelzebub),4\nmenma_kozo,1\ndeath_star,0\nmichael_wazowski,4\nshiwasuzuki,1\nnamagaki_yukina,1\nkamei,1\nkuzuryuu_amane,4\nnaokado,1\nbreak_blade,3\nmomijigari,1\nyts_takana,1\nkazoku_game,3\nakina_t,1\nsima,1\nakizuki_hakuto,1\nyuu_(yu0221f),1\nryushin,1\nhino_shinnosuke,1\nbaba_kanade,1\nd-kureta,1\njusteeeeth,1\nloose_pants,0\nspritzee,4\nnakahara_mizuki,4\nyasiromann,1\nsaklo,1\nmalva_(pokemon),4\nvivian_(paper_mario),4\ncanvas_(cocktail_soft),3\nxaxak,1\nhrtyuk,1\nnightmare-doom,1\nui_(rot),1\nbataan_(azur_lane),4\npurple_sweater_vest,0\nayuhara_hiiro,1\nore_no_kome,1\ntotororo,1\namahara_pekozaemon,1\nasumi_kana,4\nzibun_owl,1\ncaesty,1\nhead_between_knees,0\njin_yuuichi,4\nyazawa_kokoro,4\nmiyanome,1\ncovering_navel,0\nellias_ainsworth,4\nreiji-rj,1\nmixflavor,1\nkengan_ashura,3\naura_(aurapls),1\nchocolate_(jitong),1\nanrakutei_kukuru,4\nnine_alpha,4\ntengu_nouzu,1\nio_enishi,1\nkurihara_chiyo,4\ndeis,4\nmagrona,4\nperisie_(star_ocean),4\ndining_room,0\nmakimura_miki,4\nii_(ayanepuna),4\ndal-gi,1\nugg_boots,0\ndaxz240r,1\ntenko_(yuureidoushi_(yuurei6214)),4\nmugen_(samurai_champloo),4\njk_bitch_sannin_musume!,3\nkamen_rider_kuuga_(ultimate_form),0\nichiko_(ichi),1\nabyss_watcher,4\nmurata_himeko_(blood_rose),4\nabeen_jhong,1\nmidori_(fire_emblem),4\nconstantia_s2,4\nporsche_911,0\nseafood,0\noekaki_taro,1\nlaffey_(white_rabbit's_oath)_(azur_lane),4\nshooting428star,1\nstraw_(yokubou_hiroba),1\nghost_in_the_shell:_sac_2045,3\nunited_states_air_force,0\nkama_iruka,1\nzhixie_jiaobu,1\nyuzu_gin_(pika97),1\npanda_hero_(vocaloid),3\nphoto_shoot,0\ntatutaniyuuto,1\nyori_(princess_connect!),4\npi_tayuko,1\nkoji_(kojikojimdw),1\nfantasy_world_umanest_(umamusume),0\nlexaeus,4\nxaldin,4\nnikaidou_yuzu,4\nbeehive,0\nkujira_gunsou,1\ninoue_haruka_(haruharu210),1\nspectacled_caiman_(kemono_friends),4\nunusually_visible,0\nwooden_stool,0\ngallerian_marlon,4\nseal_script,0\nsakura_akami,1\nwatashi_kininarimasu,0\npino_(jashin-chan_dropkick),4\nmu46016419,1\ndusty_heaven,1\nsenjouhara_nira,1\ntama_(speedgrapher),1\nryochan96154,1\nmepple,4\nasatte_no_houkou,3\nplaid_hairband,0\nairspace,1\ntriptych,3\ncanada,0\nangelic_layer,3\nhoujou_yutori,1\nakino_ochiba,1\nharukanaru_toki_no_naka_de_3,3\nmazda_rx-7,0\nring_411,1\nayuzawa_misaki,4\nempty_x_embryo,3\nkomowata_haruka,1\nmatoi,0\narcher_(fft),4\nsakurazari_hotori,1\nasuna_(i_luv),1\nkamiya_hiroshi,4\nhenry_townshend,4\nball_(gundam),4\namakawa_akito,1\ncyclops_(x-men),4\neruka_frog,4\nsakurano,1\nranka_lee_(cosplay),0\nf4u_corsair,0\nkaie,1\nkumasawa_chiyo,4\nhasumi_takashi,1\nsakura_kyousuke,4\ntsuu_(tu-3),1\nkagalin,1\nlana_(fire_emblem),4\nminagokoro,1\nkakashichi,1\nunyl-chan,4\nmikuriya_jin,4\ngenda,1\ndoctor_zexxck,1\nmomoyama_nozomu,1\nkukiha,1\nshougi_(116),1\nkondoru,1\nmemai,1\nimada_kozue,1\nmiyashita,4\nfujitaka_(akasora),1\nmuimui,1\ntoryuu,1\nthe_sounds_of_autumn_(umamusume),0\nmasrur,4\nmomosuke_(ishakry),1\nmai_(avatar),4\nsumisuzu,1\npolka_dot_jacket,0\nyuuta_(yuuta0312),1\nfokwolf,1\nthe_caster_chronicles,3\nhosh,1\nzero_(ray_0805),1\nlydie_marlen,4\nk.blank,1\nharano_kaguyama,1\nminis,4\nalien_nine,3\nmoro_(like_the_gale!),1\nlewisia_aquablue,4\nshuzen_kokoa,4\nchen_gong_(fate),4\nketopon,1\ngekato,1\nnakasima-syouta,1\npu-chin,1\nbowling_alley,0\nbleach:_zanpakutou_ibun_hen,3\ntachibana_ichika,4\nhanamiya_nagisa,4\nnuko-d,1\ncotton_kanzaki,1\ntsukishima_koko,4\ntokine_(maikaze),1\nkannagi_tsukasa,1\ntsumumi_(kandume103),1\najia_(otya3039),1\nchagu,1\nshin_ultraman,3\nsumeragi_taito,4\nakutagawa_manbou,1\ntakano_suzu,1\naonoe,1\ntakahiro_(rikky),1\nkawawa_sakurako,4\nsitting_on_books,0\nstrawberry_background,0\njintetsu,1\nadda,1\nsanuki_(zigzagflamberge),1\nkumatoshi,1\nasana_tsukune,1\npatting_back,0\nhanda_shin'ichi,4\ncathy_graham,4\nshimashima_nezumi,1\nyasunao_(yasunao-z),1\ndragon_knight_(dota),4\ngoton_goton,1\nyamabuki_kasumi,4\nsuzume_(maid-san_wa_taberu_dake),4\nrei_(usabiba),1\nmiyakura_shiiha,1\nass_mousepad,0\narnas_(yoru_no_nai_kuni),4\nhatsukoi_1/1,3\npersona_x_detective,3\nunusablenameaaa,1\ngouda_takeru,4\nmizu_(dl7613),1\ngekijigen_tag:_blanc_+_neptune_vs_zombie_gundan,3\nrick_and_morty,3\nkago_(htpxr),1\nproject_diva_x,3\nledo_vassar,4\nghost_rule_(vocaloid),3\nnagumo_tetora,4\nariana_(pokemon),4\nfurufuru_fugu,1\nprotagonist_(love_and_producer),4\nninsaki_(9saki),1\njunior_(gogalking),4\ninstanttnoodle,1\nklee_(genshin_impact)_(cosplay),0\ndekitate_evo!_revo!_generation!_(idolmaster),0\nhido_(meori_apu_da),1\nyeurei,1\naji_kosugi,1\ndraculina_(last_origin),4\nrurutie_(utawarerumono),4\nmusashibo_benkei_(fate),4\nmugimugigo,1\ncyan_(among_us),4\nmega_man_x8,3\nimasogari,1\nmomochi_(orrizonte),1\nberezovich_kryuger_(girls'_frontline),4\nas_val_(girls'_frontline),4\nbaiwei_er_hao_ji,1\nkissing_eye,0\nedmond_dantes_(monte_cristo_selection)_(fate),4\nshimada_sarasara,1\nmilk_tea,0\ntorinosukei,1\nkatabami_(flower_knight_girl),4\nlingmuzi,1\nirisviel_von_einzbern_(halloween_princess),4\nroki_(307033),1\nleonardo_da_vinci_(active_sailor)_(fate),4\np90_(the_girl_from_b.e.l)_(girls'_frontline),4\nbrynhildr_(swimsuit_berserker)_(first_ascension)_(fate),4\ncharlotte_corday_(swimsuit_caster)_(first_ascension)_(fate),4\nhibiscus_the_purifier_(arknights),4\nwakabayashi_ikuno,4\nkalifa_(one_piece),4\npenelope_(hathaway's_flash),4\nmagna_carta_crimson_stigmata,3\nshichinin_no_online_gamers,3\ntamasan,1\nisshitaira,1\ncapricorn,0\nnozu_(thukuhuku),1\nsoumen,0\nsindre,1\nmiura_miki,4\nhinohoshi_ataru,1\nshima_riu,1\nspirtie,1\nst.microscope,1\nigunuk,1\nhimaya,1\nalexia_lynn_elesius,4\ntransformers_shattered_glass,3\ntuqi_pix,1\ncolt_1851_navy,0\nbotan_m,1\nopen_sign,0\nchelsea_(akame_ga_kill!),4\neyepatch_pull,0\nkenji_(8zidayo),1\nshan_grila,1\ngias-ex-machella,1\nunholy_sanctuary,3\nsonic_adventure,3\nchameleon_girl,0\nhichi,1\nmaid_ane_(maoyuu),4\nfary,4\nyuu_(plasm),1\ngrandyoukan,1\nlaguna_(granblue_fantasy),4\ndavid_hrusa,1\nsuzunari_arare,4\nerica_ainsworth,4\nkikkou_sadamune,4\nstring_choker,0\nnameta_neko,1\nlisa_buijteweg,1\nichinosenen,1\nmid_(gameshe),1\njuliet_capulet_(cosplay),0\nakatsuki_usagi,1\ncat_(kemono_friends),4\nhoshikawa_(hoshikawa_gusuku),1\ngirls_symphony,3\ndawn_of_the_golden_witch,3\nitsumi_mita,1\nlio_(tsukuyomi-tei),1\nalice_or_alice,3\nmisuta710,1\naqua_pupils,0\npatterned_hair,0\nimpidimp,4\nwolf_mask,0\nproject_a-ko,3\nizurumi,1\njornyhail,1\naida_taketo,4\nrune_factory_1,3\nzooming_out,0\nxm8_(girls'_frontline),4\nyani_(nokori_life1),1\naloy_(horizon),4\noka_yuuichi,1\ntori_(hiyoko_bazooka),1\nannouncement,0\npersona_trinity_soul,3\npet_cone,0\ninahori,1\nkfp_employee_(takanashi_kiara),4\ndilapidated,0\ncagliostro_(halloween)_(granblue_fantasy),4\nharuto_(hirokazu1001),1\nmy-otome_s.ifr,3\ngaiking:_legend_of_daikuu_maryuu,3\nzion,1\nplaid_blanket,0\nmichael-x,1\nsanso,1\ncharle_(fairy_tail),4\nkuro_ari_(pixiv),1\nren_hakuei,4\nkanoe_youshi,1\nryusei2u,1\nfreya_(valkyrie_profile),4\nlanglang,1\nfarming,0\nkingdom_hearts_3d_dream_drop_distance,3\ndra+koi,3\nheroine_(dra+koi),4\nmakoto_ikemu,1\namakasu_barley_tenji,4\namatani_mutsu,4\nsailor_fundoshi,0\nshirano,1\nyaya_hinata,1\nflit_asuno,4\njcdr,1\nprincess_yan,4\nmachi_kyouko,4\ntype_10_(tank),0\noga-san,4\nnestea,1\nbanajune,1\nmarimo,0\niris_(en'en_no_shouboutai),4\ntoei_animation,3\narabic_text,0\nholding_pitchfork,0\nakiyama_mio_(cosplay),0\nmegurumiru,1\nknight_blazer,4\ndolustoy,1\ncrystal_carillon,0\ndevotion,3\nstanding_on_torii,0\nmetako_(machikado_mazoku),4\nbleachers,0\nbonsly,4\nunfezant,4\nai_wa_muteki,1\nseaplane_tender_water_princess,4\nhana_(h6n6_matsu),1\nako_suke,1\nturian,0\ntorii_earrings,0\nakashi_(yojouhan),4\ntakanami_kai_ni_(kancolle),4\ngabrieltenma77,1\nhaya_bs,1\nkuroshiroemaki,1\nsuperciderx,1\nrusty_soul,1\nhiromon,1\numeume_(totoya),1\nhoshikuzu_pan,1\nmorichika_shuuto,1\nwalrus,0\nheadbanging,0\nwlper,1\nesuthio,1\nchoking_on_object,0\nartisticjinsky,1\nbean_bag,0\nfuyuki_minami,4\nnoodle_(gorillaz),4\npoland,0\nmisonikomi,1\njenkins_(azur_lane),4\noppaiserothicc,1\nsoldier_blue,4\nkomeko_meko_(mecolate),1\nliking,1\nreanbell,4\nnishiro_nya,4\nriking,1\ntimo_wei95,1\nri_qing,1\nmama_(nier),4\nastraea_f,1\nmakishima_rin,1\nnullhachi,1\nariaria_(netsuki),4\nmummification_(bound),0\nthe_boogie,1\nsuzushiro_atsushi,1\ntakanashi_misha,4\nkooan,1\nkgt_(pixiv12957613),1\nwucanming,1\ndetached_ears,0\naimf,1\nbenelli_m1014,0\nkumashou_(nabeyama_kaidou),1\nangry_sex,0\nrumia_(cosplay),0\ncheonyeon-hi,1\ndenfunsan,1\nminato_yu,1\nblood_drop,0\nwhiscash,4\nminami_haruya,1\nebiri_fy,1\ndakkusu,1\nmizoro_tadashi,1\nkyousuke_nanbu,4\ngulliver,4\nkris_(fire_emblem),4\nhimegami_kodama,4\ncoyopotato,4\nnandz,1\nmoroes,1\nhula,0\nlangrisser_ii,3\nothers,1\nreia_hana,1\ndesspie,1\nhooded_kimono,0\nkanonari,1\nrocoroco,4\nchika_(princess_connect!),4\nbolin,4\n5t_(5t_000),1\nchewtle,4\nrasengan,0\npol_winner,1\nmedara,1\ngeorgios_(fate),4\nabineko,1\nakazawa_kureha,1\nfutanari-sama_(mdf_an),4\nimachi_(staccato_squirrel),1\nchikariya,1\ngorilla_(kemono_friends),4\ndog_shadow_puppet,0\npenis_in_pantyhose,0\nbutterfly_background,0\niriya_kana,4\nrakuga_kiya,1\nvyse,4\nchinanago7010,1\nbrown_headband,0\natago_(azur_lane)_(cosplay),0\nchibitan,1\nteam_rainbow_rocket,0\nsokona_(sosokona),1\ntezuka_osamu_(style),0\nmihira_(tainosugatayaki),1\nwanderlucia,1\ntax2rin,1\nplay_of_the_game,0\nmilla_maxwell_(tox2),4\nmochisaka_mitsuki,1\nburied_stars,3\nshirafuji_ene,1\nkorpokkur_kne,1\nprint_vest,0\ncuntboy,0\n1930s_(style),0\nk-rha's,1\nholding_shuriken,0\nsakura_yuuya,1\n3d_custom_girl,3\nthe_fool_(tarot),0\nstorm_cloud,0\nlyrinne,1\nhaaselia,4\newokakukaede,1\nharvest,0\ngrelxb,1\nnoboru_(kamine204136),1\nvanilla_(last_origin),4\npalom,4\nhaine_rammsteiner,4\ndodota,1\ngreat_mazinger,3\ncream_(cream),4\ntagosaku_(tatsukiuma0329),1\nsame-san,4\nyuuki_nona,4\nyasuda,1\nmeditite,4\nkatou_akatsuki,1\nkaekae,1\nberyl_benito,4\nmiroku_(kyon35),1\npenki,1\nasu_no_yoichi,3\nhaishiba_ame,1\ncompensated_molestation,0\numitsuki,1\nyu_(bkks),1\ntsuji_yuzu,1\nben_10:_alien_force,3\ntsubaki_(tsubakiyasan),1\nmaroppe,1\nlucian_(pokemon),4\nyoshimura_kentaro,1\nimari_kurumi,4\nbody_piercings,0\nkouchou,1\nmistress_9,4\nlaceysx,1\nakamaru_(naruto),4\nsly,0\nneongun,1\nwing_gundam,4\nsuwa_amaki,4\nhorse_head,0\nhinemaru,1\notone,1\nasa_inu,1\nkid_(kidocchi),1\nbachou,4\nsill_plain,4\nsangoku_hime,3\nmot,1\ntsukushino_mitsugu,4\nkuouzumiaiginsusutakeizumonokamimeichoujin_mika,4\nhonya_lala,1\ntanaka_yutaka,1\nsnail_shell,0\nmoukaku,4\nfujimura_(marina),1\nsawashi_(ur-sawasi),1\nreflex_sight,0\nsuzuhane_suzu,1\nkokorominton,1\nbikini_jeans,0\nyuasa_akira,1\nsagan_(skullgirls),4\npeptide,1\ngan_balance,1\nkakukaku_(atelier_wings),1\ndark_falz_apprentice,4\nkriss_sison,1\nlary,4\nmiry,4\nrico_brzenska,4\nkaze_tachinu,3\ntakashi_(calla),1\nasahi_(ge_nyu),1\namerican_oppai-san,4\ngrandma_(cookie_clicker),4\npokemon_breeder_(pokemon),4\nears_up,0\nsasumata_jirou,1\nyuxyon,1\nsuzu-batsu,1\nnobutake_(nobu0),1\nenfuku,1\nkorotsuke,1\nhagaa,1\nalice_(bishoujo_mangekyou),4\nsangrde,1\nhoshizuki_kaede,4\nshirley_(fate),4\nhiiragi_anri,4\nleague_of_angels,3\nheiseikorotaisei,1\nfurururu,1\nkohiruimaki_karen,4\nminami_kotori's_mother,4\nkarasuma_amiru,1\nmizutama_(mao11260510),1\nkohinata_yukari,4\ngutalalaman,1\ncamouflage_panties,0\nbarikios,1\nminagawa_yuki,4\ntakano_chizuru,4\nhashiko_(neleven),1\nkannonzaka_doppo,4\nurokoda,1\nalc_(ex2_lv),1\nushi-oni_(monster_girl_encyclopedia),4\naosa_(michikusakan),1\nadon_(street_fighter),4\nmink_(dragon_half),4\nyukki_(rffcq251),1\nurianger_augurelt,4\nryuuzouji_usagi,1\nqueen_of_spades,0\nanima_yell!,3\ninaba_meguru,4\nruma_imaginary,1\nwakipiiiii,1\nuchiwa_design,0\nleo_whitefang,4\nhakase_satomi,4\ngodekasu,1\nkurosaki_honoka,4\noni_noodle,1\nnanakawa_(nanasoon),1\nyoshi_(moco1),1\nhero-san_to_moto_onna_kanbu-san,3\nkurigura_(sketch_san),1\nyurizuka_(sergeant_heart),1\noroshipon_zu,1\ndistracted_boyfriend_(meme),0\nranulf_(fire_emblem),4\neve_(gundam_build_divers_re:rise),4\nhiiragi_nemu,4\nasava_(hutaitenn),1\nchakuma_(yiyh1468),1\nstarbucks_siren,4\njiang_ye_kiri,1\ndays_in_a_flash_(umamusume),0\nika_(4801055),1\nunown_h,4\nkano_(nakanotakahiro1029),1\nteen_(teen629),1\nheart_antenna_hair,0\nayane_(princess_connect!),4\ntiktok_logo,0\nharu_ichigo,1\ndress_jacket,0\nholding_jug,0\nbad_fanbox_id,5\nfingers_to_cheek,0\nkajiya_kurogane,4\ncleaning_glasses,0\nthe_bible,3\nleaf_hat_ornament,0\ncreeeen_jjang,1\nmedusa_(jashin-chan_dropkick),4\nimminent_breast_grab,0\nsagara_sanosuke,4\ntouko_56,1\nlyseria_christaria,4\noju_(ouka),1\nyomogi_dango,1\nichihime,4\ngiantcavemushroom,1\nwhoopin,1\nbmo,4\nmayuri_(date_a_live),4\nyupi_(yuyupiko01),1\nna53,1\ncrinoline,0\norange_gemstone,0\nheikokuru1224,1\nstaryume,1\ntopadori,1\ngeno_(mario),4\nmlynar_(arknights),4\nitome_(funori1),1\nwar_of_the_visions:_final_fantasy_brave_exvius,3\ntamamo_no_mae_(sexy_bikini)_(fate),4\ndolfini,4\npei_(sumurai),1\ncitolo,1\nraichi_(ddq0246),1\nminato_(zegapain),4\nkawaoka_sachio,1\nminato_yu_(0514),1\ntatakau_shisho,3\nueno_musashi,1\nmatsuo_hiromi,1\nhanamoto_hagumi,4\nnei,4\nthe_scream,3\ncynthia_the_mission,3\nsarugaki_hiyori,4\neiji,1\ngundam_alex,4\nsatou_rina,4\nsaotome_suzume,4\nribbon_no_kishi,3\ndadami,1\nnakamura_tatsunori,1\nmuuten,1\nyamamoto_keiji,1\ndecus,4\naqua_camisole,0\nmma_gloves,0\nmoira_(overwatch),4\ninterlocked_venus_symbols,0\nzui_ai_shuang_mawei,1\nred_garter_belt,0\nwuguno_ziran_juan,1\nhieda_(hiedanoaqn),1\nnadia_kim,1\nboxing_headgear,0\nhanidebi!_honey_&_devil,3\nowari_hajime,4\nsonia_branche,4\ndodo_(kemono_friends),4\nemperor_penguin_(kemono_friends)_(cosplay),0\nemu_alice,4\nyear_of_the_dragon,0\nkazunehaka,1\npile_of_corpses,0\nniji_(rudduf232),1\nayer,4\nshirushiru_(saitou888),1\nryan_tien,1\nkukua_(mosushi),1\nhajimete_no_otsukai,0\nnimble_fabric,0\nmomo_kyun_sword,3\ngakkou_de_atta_kowai_hanashi,3\nnoname_(metaldragonfly),1\nebi-rom,1\nshotadom,0\nakagiakemi,1\ncustom_udon,1\nkitou_kaitai,1\nmario_grant,1\nfenrirr,1\nwhitewill,1\nokutomi_fumi,1\npanikuru_yuuto,1\ngreyface,1\nshiomachi,1\nzakuro_(otome_youkai_zakuro),4\nmadoromi_no_yakusoku,0\nkyashii_(a3yu9mi),1\nkittan_(cve27426),1\nyuzuki_n_dash,1\nghost_(psg),4\nkuroneko_shiro,1\nrachel_shiori_guardian,4\nnamerakaweb,1\ntooyama_saku,4\ncsy,1\nhanasaki_kaoruko,4\nlatex_bra,0\npicocopi,1\nharu_(oomr005),1\nkocchi_muite_baby_(vocaloid),3\nunyuu,4\nsora_(suguri),4\nair_man,4\nmomomaron,1\nbloodcandy,1\ncoraman,1\nsuegorou_(mousou_tokkyuu),1\naibek,1\ndaitou_academy_school_uniform,0\nhaobuguniao,1\nsaber_(summer_battle_clothes)_(fate),4\nwakabayashi_isamu,4\ndnf_duel,3\ntthal,1\ntengo_(maotengo),1\n1921494015,1\nayanami_(lunar_demon)_(azur_lane),4\nusako_(usako1031),1\nkaku_yone,1\nsunflower_fairy_(touhou),4\nnyto_adeline_(girls'_frontline),4\nmaster_utsushi,4\nlin_(hokuto_no_ken),4\ntatsuta_(kancolle)_(cosplay),0\ntaihou_(kancolle)_(cosplay),0\njohnston_(kancolle)_(cosplay),0\nwhisperain_(tremble_cold)_(arknights),4\ntachibana_hinano_(vtuber),4\ngiganticbuddha,1\nturtleneck_swimsuit,0\nakagi_(ruby-laced_beauty)_(azur_lane),4\nsakura_kakumei,3\nkyo_(maae00),1\ngunba_(5meters),1\nrenz_(rirene_rn),4\nryuya,1\nevinist,1\ncutthroat_(akudama_drive),4\nnekoyama_nae,4\ntamukoro,1\nchitose_(azur_lane),4\nki-51_(ampullaria),1\nrhea_(0u0),1\nsidney_(pokemon),4\nkasandra_(xenoblade),4\nkamina_(ttgl)_(cosplay),0\nmanjyufroth,1\nnami_(teranen),4\nyaruky,1\nhoriishi_horuto,1\npekanpeka,1\nprintemps_(love_live!),0\njajka_(girls_und_panzer),4\nrumi_(rarumi11),1\nsou_tamae,1\ngumiten,1\nfeather_print,0\nahn,1\nelf_(lineage_2),4\nmorito_(sidonia_no_kishi),0\nasu_hare,1\nkitora_(kisekinonameko),1\nsuper_novice_(ragnarok_online),4\npanprika,1\nannie_(splatoon),4\nao_(time-leap),1\ntidehunter_(dota),4\ndaze_(kagerou_project),3\nkisaragi_yakumo,1\nshibuya_rin_(cosplay),0\nice_shaver,0\nsomeoka_ryuugo,4\nmegastore_comics,3\nmitsurugi_ryouko,4\nokita_souji_(hakuouki),4\nsloth_(animal),0\ng9_(jiiku),1\nintersection,0\nhitaki_yuu,1\nmatsumoto_maya,4\nkusada,1\nmayuge_inu,1\nsomemiya_suzume,1\ngreece,0\nkilljoy_(valorant),4\nfruit_dildo,0\ncompilation,0\nrotating_light,0\nishida_(ishida_to_asakura),4\nkataphrakt_(aldnoah.zero),0\ncrea_rosenqueen,4\nmamono_hunter_youko,3\nsawano_akira,1\nocha_(oteaaa),1\ntoyasu_aina,1\navery_(skullgirls),4\nrani_viii,4\npower_stone,3\nimoichi,1\n1_mutsuki,1\nandroid_16,4\ntadpole_tail,0\nparadox_(parapa),1\nasahina_yurina,4\ngamhwa,1\nbuchi_(y0u0ri_),1\nkanata_(kanata_onion),1\nmenma222,1\ngarrus_vakarian,4\nmouthful_mode,0\nyungoos,4\nbent_spoon,0\nyukitsuba_hina,1\nhwansang_jungdog,1\nkyokutei_bakin_(fate),4\ndragon_tactics,3\ncake_hat,0\nsame_no_fukahire,1\npanty_bulge,0\nanivia,4\nsutokame,1\nbelgian_flag,0\nmandytsune,1\nraving_rabbids,3\nmoody_blues_(stand),4\ngilgamesh_(sensha_otoko)_(fate),4\nugogogesik,1\noverwatch_2,3\narusuko,1\nbig_bob_(arknights),4\nmiyukiko,1\nyamashio_maru_(kancolle),4\nthree-legged_race,0\nkiyohime_(swimsuit_lancer)_(second_ascension)_(fate),4\nvivit,4\nmikami_hotaka,1\nr-wade,1\nash_(fire_emblem),4\nmodel_building,0\nuchako,1\ngo-lurk,1\navatar_(lineage),4\nkilabo,1\naqua_capelet,0\nfran_(reborn),4\nwhite_tabard,0\nfuku_(r-i-h-o),1\nmata-aro,1\nlandolt_c,0\nsalovesy,1\nsakura_hitsuji,1\nyamamoto_nanako,4\nnutcracker,0\nomaru_(0marufestival),1\nbilly_katagiri,4\nyayoi_and_nagi,1\ngore_(white_gore),1\nmahou_tsukai_tai!,3\nsenryoko,1\nparis_(fate),4\ndeavor_lover,1\nmaruta_kentarou,1\nmanaka_(gunjooou),1\nwa2000_(haunted_castle)_(girls'_frontline),4\nutsugi_mikoto,4\nholding_hands_is_lewd,0\nsantystuff,1\nnagashiro_rouge,1\nxing_muhen,1\nhoujou_reika,4\npuppetjackmj,1\nsusukitten,1\nhuazha01,1\nbanonefans,1\nya-man,1\nryein,1\nabercrombie_(azur_lane),4\ndonkey_tail,0\nwhite_glint,4\njr4rt,1\nhiromumaru,1\nminashiro_orihime,4\nmejikara_scene,1\ngarrod_ran,4\nso_dasui1,1\nlaura_rolla,4\nmita_chisato,1\npantyshot_through_reflection,0\nyuna_(mega_man),4\nfujikusa,1\nhyness,4\nkumatani,1\nyashio_rui,4\nbokkusu,1\nrace_bib,0\nminase_lin,1\nfunikura,4\nmoonface,1\neichikei_(hakuto),1\nfujimaru_arikui,1\ngamiani_zero,1\nroyl,1\npriest_(dq3)_(cosplay),0\njinani,1\nmizuno_(pixiv31352320),1\nkashiwa_(iersansi),1\nlicking_tail,0\nfujigakubou,1\nbon_(bonbon315),1\nheart_guitar,0\nhomura_minori,1\nspada_belforma,4\nmew_zakuro,4\nnishiki_kazue,1\nenka_(bcat),1\nashe_(mega_man),4\nremoving_coat,0\nunder_bed,0\nono_mochiko,1\nrakia_(ds00309),1\ntaniguchi_daisuke_(surumenium),1\ngryebooks,1\nreebok,0\nleo,0\ntabasco,0\niria_animi,4\nzamasu,4\nnonaka_haru,4\nakanebi,1\nengacyo_(engacyo39800yen),1\ngreat_lungmen_logo,0\nmeltryllis_(fate)_(cosplay),0\nmugika,1\nbnahabra_(armor),4\nshouji_mezou,4\nsaimon_(tales),4\ntype_96_25mm_at/aa_gun,0\nfuuna_thise,1\nnijimura_kei,4\ngrey_feathers,0\nmaou_prier,4\npiano-alice,1\nshefi_(princess_connect!),4\nsita_(fate),4\nrest_in_peace_(phrase),0\nnike_(mahoujin_guruguru),4\nlance_(lancelliu),1\n96tuki,1\nindeedee_(female),4\nieiieiiei,1\nmomotaros,4\neasy_breezy,0\noliver_evans,4\ntipsy,0\nwhite_cane,0\ngoodbye,0\nmagby,4\ntwomoon,1\nnatsume_hinako,1\nmiss_siamour,4\nmunakata_isaomi,4\narmadillo,0\nkarosu_maker,1\nform_code,3\nzetsuriinu_(kairyougata),1\ntelepathy,0\nhourei_tenten,4\ndota:_dragon's_blood,3\nhenz,1\nnatsume_k,1\ntoki/,1\nnilan_1999,1\nduffy,1\nthrowing_person,0\nno_toes,0\nbb-28,4\nfootsies,0\ndelmin_(show_by_rock!!),4\nkoyubi_right,1\nlairon,4\ncocoa_(cocoa0191),1\nkonome_noi,1\nmoney-shaped_pupils,0\nmidou_(grk12138),1\nrosie_(animal_crossing),4\nshima_saki,4\nkinnan,1\nariel_(novel),3\nminato_shachiko,4\nashita_wa_hitsuji,1\nnuko_miruku,1\ntsukishiro_mona_(shiromanta),4\ndr._mundo,4\nero_daisuki,1\nitomi_sayaka,4\nakiyama_kenta,1\nmaga-reimu,4\ngiorgio_claes,1\nhoshi_no_gen,1\nsakura_nitouhei,1\nkanchuumimai,0\nmegarisu,1\nnanaly_fletch,4\nroku_(warrock),1\nfujimaru_ritsuka_(female)_(the_three_great_heroes),4\nsharrkan,4\nhan_yijie,1\nanise_azeat,4\ntakuto_meyers,4\ntakeluuu,1\nakashi_(sorobochi),4\nasura_fantasy_online,3\nsawatari_miko,4\nclaymore_(mine),0\ndiana_(sailor_moon),4\nyukimimi,1\nexit_tunes,3\npipe_bomb,0\nkyouryuu_sentai_zyuranger,3\nsummary,0\nkashiwagi_yuuna,4\nda_qiao,4\nmew_lettuce,4\njun_the_swan,4\nkatahane,3\nmichael_trinity,4\ntravis_touchdown,4\nnaotan,1\nyuuki_haruna,4\nwakana_rei,4\nmorita_gurutamin,1\nluca_angeloni,4\nikkei_dou,1\nbishamon,4\nkarla_(kimidori3),1\nnaruse,1\nsenno_aki,1\nhamster_wheel,0\nmiranko,1\ntsukinowa_kumatarou,1\nbattle_spirits:_shounen_gekiha_dan,3\ncojibou,1\ndot_r,1\ngemuo,1\nharukaze_koucha,1\ndaible,1\nyodori,1\nyuki_mizore,1\nshinomiya_ayase,4\nslaking,4\nakabeko,0\ngun_in_mouth,0\nitou_nobuhiro,1\nlottery,0\ntsukimiya_ringo,4\nsparrow_(artist),1\nnullpooo,1\nfuji-k,1\nfn_f2000,0\nsouko_souji,1\nkanzaki_hitomi,4\nnekomaru,1\nzoo_min,1\nrinrin_(sister_princess),4\nmamita,1\ndaro,1\nsalandit,4\ndukemon,4\nichi_ka,1\nrumiak,1\nnull_maru,1\nmeltyrice,1\nbbolalus,1\nakutoku_no_judgement_(vocaloid),3\nruoshui_(the_legend_of_luoxiaohei),4\nneal_d._anderson,1\nkanojo_(ogino_atsuki),4\niijima_renka,4\nmario_kart_8,3\nbandaid_on_breast,0\nsekaihebi,1\ngraphics_card,0\npanties_over_clothes,0\nmutual_breast_sucking,0\nniedersachsen_military_uniform,0\nbalut_(7676i),1\nimplied_ejaculation,0\ntar-21_(night_at_the_bar)_(girls'_frontline),4\noverlord_(overlord80000),1\nsmash_is_for_good_boys_and_girls,0\nsazanka_(kunoichi_tsubaki_no_mune_no_uchi),4\njuuoumujin_no_fafnir,3\nev_(dai00888),1\nsakura_(39ra),1\neeryuu_(2004107),1\nchuchu_(kirby),4\nmalamar,4\njellicent_(female),4\nyuumi_(league_of_legends),4\nred_lining,0\ntatakae!!_iczer-1,3\npanzerkampfwagen_iii,0\nkasuga_ichiban,4\nq-v_(levia),1\nassistant_waddle_dee,4\nitsumip,1\nneck_warmer,0\nnamiri,1\nhinatsuru_(kimetsu_no_yaiba),4\nedy_nelson,4\nsuma_(kimetsu_no_yaiba),4\nyahisa_tsukiko,4\ntsukinon,1\nakr_et,1\nextra_tongue,0\ngalarian_zapdos,4\nsrwsrx_(gp03dsrx),1\nnoda_(yncoon),1\nurushihara_hanzou,4\njaenbba,1\nsory,4\namaterasu_(p&d),4\nhowler_(owler),4\name-rain,1\ntierno_(pokemon),4\nstadiometer,0\nizuki_(toneya),1\nbeargguy_iii,4\nimouto_no_okage_de_mote_sugite_yabai,3\nshao_(newton),1\ngemini_saga,4\nrima_(rimarip),1\ndirty_pair_flash,3\nsangokushi_puzzle_taisen,3\nmaruhachi_(maruhachi_record),1\nmark_iv_tank,0\nmisaki_yuria,4\ntheodor_edelbach,4\ngat_(korean_traditional_hat),0\ncleaning_weapon,0\nb3b,1\nshinki_kakusei_melty_maiden,3\nszzz_k,1\nharu_(re_ilust),1\nmikoshiba_momotarou,4\nnoruren,1\nkonmamion,1\nechigoya_takeru,1\ngoku-chan,1\n10mk,1\nchill_ykon,1\nmatsuri6373,1\njontxu,1\nimprovised_weapon,0\nhachiman_(douno),1\nham_na-bi,4\nbowsette_(cosplay),0\nmandrake,0\nakitaka_takaaki,1\nsmlltb,1\nidola_phantasy_star_saga,3\ncloud_background,0\nharunagi,1\nalpha_(acerailgun),4\nroas01b,1\nyamabushi_tengu,0\nnaruta_iyo,1\ngarnet_(steven_universe),4\nkarashi_(tou_gara_shi),1\nhzk,1\nhyoon_(sockgyu),1\nmashin_sentai_kiramager,3\nueng,1\njean_bart_(uninhibited_bloodstone)_(azur_lane),4\nkoko_(kishibe),4\nash_(pixiv53802),1\nshiranui_(wasuresateraito),1\nskypixter,1\ntsukimaru,1\nkaer_sasi_dianxia,1\nganymede_(overwatch),4\nkanon_(ikamiso),1\nneri_sachiko,1\nbernard-jou_iwaku.,3\nujikintoki,0\nhangetsuban_sonshou,1\nlian_yao,1\nafter_handjob,0\nwanotsuku,1\nmeri-san,1\nnorikoi,1\nromeo_montague,4\ngiant_mushroom,0\nhiiragi_mayuki,4\ntenma_umatarou,4\nmonster_hunter_xx,3\nfutaba_neiko,4\nriichi_(rouchi),1\nhaiperion_buzan,1\ntoon_(noin),1\nkaname_madou,4\namatsuki_rei,1\nyasuto_(eria151),1\nsamail,1\nyukiyama_momo,1\nyuuri_lessen,4\nemperors_saga,3\nsuika_(suika-dokei),1\nrai_(rai-s),1\nhigashitani_fumito,1\nabe_yasushi_(umizoi_tibet),1\nhanen_(borry),1\nlock_earrings,0\nkyuu_(chiu850513),1\npokki_(sue_eus),1\nmochizou,1\ntouhou_m-1_grand_prix,3\nangelic_buster,4\naida_mai,1\nsato_(hekiga_ni_nemuru),1\nmofun,1\nkotamaru_(pajama_soft),1\nsawa_(sawasaku),1\ntemutemutemu,1\nspiceg,1\nzetsuen_no_tempest,3\nharley_quinn_(cosplay),0\nulrik,1\nbaal_(shiomachi),4\ncici,1\nzero_(inazuma_eleven),0\nharoukitei_kigurumi,4\nfinger_writing,0\ntatsuri_(forest_penguin),1\nnyoron_(fudegatana),1\nsakurai_tamako,1\npanty_(psg)_(cosplay),0\nvanilla_(nicolla),1\nchristiane_barkhorn,4\nkanata_(mizubenisumutori),1\n7ban,1\nkuon_(shinrabanshou),4\nyamaiso,1\nangela_salas_larrazabal,4\nmiyaguchi_kei,4\nono_(0_no),1\ntokinon,1\nakairo_no_mako,1\nsight,0\ntooyama_kazuha,4\nyabe_satoshi,4\nouzisamafe,1\nkamippoina_(vocaloid),3\nheight_mark,0\nhinotama_(hinotama422),1\npokemon_the_movie:_i_choose_you!,3\nanastasia_(swimsuit_archer)_(first_ascension)_(fate),4\nbradamante_(second_ascension)_(fate),4\nleonardo_da_vinci_(rider)_(second_ascension)_(fate),4\nindarias_(genshin_impact),4\nkirarazaka_marina,4\nshimada_mayu,4\nyako_noir_(kei-ne),1\nmiyamoto_musashi_(traveling_outfit)_(fate),4\nspringfield_(o_holy_night)_(girls'_frontline),4\ndiva_(blood+),4\nlevel_up,0\nsaeki_kaori,4\nyoukan_(tako),1\nsii_artatm,1\nkomiyam_a,1\ntorokeru_none,1\nyazuka,1\npeco_peco,4\nmentholatum,3\nc_(theta),1\ngingerbread_house,0\nstari,1\nhiraga_daidai,1\nsay'ri_(fire_emblem),4\numino_haruka_(harukaumino6),1\nplanted_spear,0\nipod_ad,0\nextended_magazine,0\nwasa_(wanosabi),1\nayama_nano,1\nmaze,0\nhyshirey,1\nyuukami_(wittsu),1\nrufflet,4\nkyuusui_gakari,1\nsagta_panggang,1\nkite_(.hack//),4\nmarmyadose_(fate),0\nkouno_harumi,4\nithaca_m37,0\nsingle_shoulder_pad,0\niwasaki_kouji,1\nkamota_(momokomati),1\ntransparent_bag,0\nmakura_wet,1\nchampi,1\nfai_d._flowright,4\nariura_kanna,4\npeony_(fire_emblem),4\nsmoliv,4\ncompetition,0\ntakanashi_koyomi,4\nggubii0225,1\npeko-chan,4\nhanae_(blue_archive),4\nparodius,3\nebbilin,1\nextension_cord,0\nmixed_harem,0\nkukuru_(dq8),4\neldar,4\nsukuna_hikona,4\nuchiko,0\nhowa_type_64_(girls'_frontline),4\ncalcifer,4\nblack_pajamas,0\nzink_(zink_mchn),1\nstella_chen_yui,1\ntensei_shitara_ken_deshita,3\noff-shoulder_leotard,0\nblack_dog,0\nsanma_(tabet_),1\nsatou_akira,4\ntatsuma_daisuke,1\nmako_gai,1\nfishnet_leotard,0\ndaylight919,1\nlincoro,4\ntruejekart,1\nkamen_rider_evil,4\nyouko_(tactics),4\nma2acworks,1\nnenehotoso,1\nkajiji,1\nspiked_bat,0\nkonataeru,1\nkanzeon,1\nterran,4\nyumari_nakura,1\nnecro-san,4\nglowing_penis,0\ncryptract,3\nlinith,4\nchinbotsu,1\ncoupe,4\nsbd_dauntless,0\nmejiro_dober_(vacation_safir)_(umamusume),4\nspread_nipple,0\nbeast_spear,0\nmythra_(xenoblade)_(cosplay),0\nuka,1\nrei_kazami,1\nwork_gloves,0\nyakepu,1\nmizuse_ruka,1\npalm-fist_tap,0\nmurasaki_daidai_etsuo,1\nhimino_seika,4\nbadhand,1\nzoushi_kanai,4\nmad369,1\nchikahii,1\nfake_blood,0\ngradient_neckerchief,0\nyway1101,1\nisbn,0\nrubii,1\ndecoponmagi,1\nbill_(pokemon),4\nyua_(tick-tack),1\nherowarz,3\ncheckered_pillow,0\nnicholas_f,1\nsaint_estera_gakuin_no_shichinin_no_majo,3\njunkei,1\nwinchester_model_1887,0\nfull-body_blush,0\nhinata_kokage,1\nmakamati,1\nmajormilk,1\nk-y,1\nprotagonist_(yomawari),4\nrain_(sao),4\nchoujigen_taisen_neptune_vs_sega_hard_girls,3\numizakura_tachimi,4\nsokka_(kbs),1\nkarako_(osomatsu-san),4\nkurogoma_(meganegurasan),1\nmao_ge,1\nchinpan,1\nsanada_keisui,1\nzossie_(pokemon),4\neerisyn,1\nveiny_thighs,0\nkaren_le_cao,1\nichigo_junior_high_uniform,0\nkayn_(league_of_legends),4\nraffina_(puyopuyo),4\nmorita_yuu,1\nsatoma_makoto,1\npuma_(brand),0\nnonstandard_furigana,0\nhitsujisnow,1\nchoomoranma,1\nsatoru_wada,1\nblonde_onee-san_(sky-freedom),4\nmomoka_(blue_archive),4\nskull_cup,0\nevernight_goddess,4\nkoyama_rikako,1\ncollarbone_piercing,0\nputtee,0\ngemi_ningen,1\nsan_francisco_(azur_lane),4\njidao_huashi,1\nbardiche_(riot_zanber_stinger),4\nthe_chicken_that_appears_in_the_middle_of_cookie,4\nluan_teng,1\nmengxin_huazha,1\nmichelangelo_(tmnt),4\nayanami_(low-key_idol_@confused)_(azur_lane),4\nsurtr_(housamo),4\nmaster_5_(housamo),4\nnatsumi-chan_(kanabun),4\nboukou-chan_(tokiwata_soul),4\nhayasaka_miura,4\npaleatus,1\naoki_kanji,1\ngardevoir_(fashionable),4\ninoue_toro,4\ndomodesu,1\njerry3912,1\nayumu_(ayumu3659),1\nmarishiten,1\nkamishirasawa_keine_(cosplay),0\nak-alfa_(girls'_frontline),4\nnorma_beatty,4\nnikaidou_benimaru,4\nzaraku,1\nmeer_campbell_(cosplay),0\nsohee,4\nhoshibudou,1\njhin,4\nalph_(sancheck),1\nmrnn,1\nbasculin,4\npkp_pecheneg,0\ngray_fox,4\ntiger_pelt,0\nmegawatt,1\nwannai_kinuho,4\nishimori_sakana,1\nluna_(mujin_wakusei_survive),4\nyonekura_kihiro,1\nkamabo_ko,1\ntsukii,1\nmadanai_(morisumeshi),1\nsmudge,0\nfox_wife_(doitsuken),4\nwei_(kaminari0411),1\nyoshiharu,1\ntarte_(hodarake),1\ntiziano,4\nm1_helmet,0\nshirahane_yukina,4\nchiyoganemaru,4\nsandstorm,0\nhina_(bird_salty),1\npitcher_plant,0\nhage_ta,1\ntakai_isshiki,1\npatty_(fire_emblem),4\nsazanami_(ripple1996),1\nplaying_with_another's_ears,0\ngenesect,4\ntoris,4\nmoth_(diddms1999),4\ncarrot_pin,0\nmizuki_shiori,4\nsanagi_(diohazard),1\nniruanu_(nitayam),1\niiiroha,1\nferret_ears,0\ncero_(cerocero),1\nazuki_(lizzy),1\nyune_(ayanepuna),4\nsolkorra,1\nmochi_hanpen,1\ne.t.,3\no/p.com,1\nviral1112,1\naina_saharin,4\nalomomola,4\ndrops_mint,1\nkaka_kittens,4\npotemayo_(character),4\ntamaki_mitsune,1\nkilalesi,1\nmyao_(o3o333),1\nelisanne,4\narim0k0,1\nmistynight,1\nchaashuu,1\nioriwu8,1\nsiroyuki,1\nmoshoko_(mizuneroku),1\nikaruga_luca,4\nvialnite,1\nyagi_(shiro_yagi),1\nmetallica_(stand),4\nzuifeng_tenkai,4\nyukemuriganmo,1\nsawwei005,1\nmeronshiroppu,1\nhakan,4\nterumin_(yuganda_sebone),1\nhenemimi,1\nmichi_kuso,1\nlilyglazed,1\nyoka1chi,1\nosshouri55,1\nbohegao,0\ndangan_kurabu,1\nhachimitsu_honey,1\nking_kittan,4\nsilk_(marvel),4\ndiving_penguin,1\nhinoya,1\ntomboo,1\ndvach-tan,4\nhibiki_(kancolle)_(cosplay),0\nchristine_(arknights),4\nmissnips,1\nmigikata_no_chou_(vocaloid),3\nkirishima_shouko,4\nxiacheng_tatsuya,1\nimacchi,1\nk_suke_(weibo),1\nkamen_rider_stronger_(series),3\njoshi_kousei_no_mudazukai,3\njoujima_yuuki,4\nant_girl,0\ndragon_quest_swords,3\nlace-trimmed_camisole,0\nkuon_itsuki,1\nmana_(super_real_mahjong),4\nuncle_sam,4\nhabuki,1\nemperor_(ff2),4\nsinko_(sinsin),1\nhizakozouzu,1\ncombattler_v_(robot),4\nbyulrorqual,1\nzefyu,1\nren_(zero_second),1\nkemomimi_refle!,3\norimoto_izumi,4\nmaggot,0\nhigashikata_tomoko,4\nhonne_dell,4\nforniphilia,0\nnikaidou_reika,4\nhanyu,1\nchroah_vatel,4\nactress,0\ncure_earth,4\ntonbidou,1\nhoshino_lala,1\nunbalance_unbalance,3\nalva,1\noprince,1\nuni_(gugurutan),1\nhetano_yokoduki,1\nobata_takeshi,1\nsqualo,4\nmaki_aida_factor,1\ntyrogue,4\nsakuragi_hanamichi,4\nnoriheita,1\ntezunuri,1\nrokunen,1\ninnocent_grey,3\natlach-nacha,3\nkitahara_aki,1\nakiiro_renka,3\nnekohane_ryou,1\namiami,1\nlily_evans,4\nkuze_kiriha,4\nneo_geo_battle_coliseum,3\nsagara_arisa,4\nkidd_coega,4\nmazakura_senju,1\ntaguchi_makoto,1\nchany,1\nazazel1944,1\nreverie_metherlence,4\nkamiizumi_yasuna,4\nmiyu_greer,4\nsummon_night_swordcraft_story,3\nhazuki_mina_(darker_than_black),4\nzukaketawagase,1\numebayashi_saki,1\ntokuto-kun,4\nvigwer,1\ncatherine_cover_parody,0\nherdier,4\nkaryl_(real)_(princess_connect!),4\ntartu_(azur_lane),4\nfurumeta,1\npinkboy,1\nqueen_of_hearts_(alice_in_wonderland)_(cosplay),0\nsuekane_kumiko,1\nkisekae,5\nhaibara_sakuya,4\nlipstick_writing,0\nester_ein_astrada,4\nvery_long_ears,0\ngas_pump_nozzle,0\nimae_megumi,4\nhilda_(hilda),4\nshizupu,1\nhazuki_gyokuto,1\nlumine_(genshin_impact)_(cosplay),0\ntiry,4\nrecri,4\nfujishiro_kokoa,1\nsakura_inu,1\ntibonobannsann,1\nhako_roku,1\nsei_shoujo_~seido_ikusei_gakuen~,3\nno_armor,0\nryuga_(balius),1\nsailor_star_maker,4\nagria_(tales),4\ndark_hunter_4,4\nmiss_monochrome,3\nmiss_monochrome_(character),4\nmega_mewtwo_y,4\ndsr-50_(weapon),0\nakegata_tobari,1\nlunderhaus_cord,4\ncarbink,4\nmofmof_(sousa),1\nats_(ats2nd),1\nseu_kaname,1\nisago_(ica),1\nkenzen_robo_daimidaler,3\nrapua_qive,4\njonathan_h,1\nsizuka_(takuma0),1\nkarei_(zeroseed),1\ntsukasa_0913,1\nitohime,1\nsatsuya,1\nhand_in_another's_pocket,0\nmt_(ringofive),1\nrakkyo,1\nwrwr,1\nalternate_animal_ears,0\nkon'ya_wa_neko-chan,3\nsapphire_(nine),1\neyepiece,0\ngrasshopper_inoue,4\nyatagawa_nazuki,4\nkazato_fuuchi,1\nhexelica,1\nsleeveless_jumpsuit,0\naoneco,1\nseong_mi-na_(bural_chingu),4\nhibari_hina,1\nyurishia_farandole,4\ntsukishiro_hitomi,4\ntomato_cyuki,1\nyoma,1\nzxpfer,1\nareaaaron,1\nmanjuu_teishoku,1\ndu_meishin,4\nriz_(ravel_dc),1\nimplied_murder,0\nminase_koito,4\npakotaroh,1\nkazenemuri,1\nlamprey,0\ntachibana_ginchiyo_(sengoku_musou),4\ntabao,1\ncamera_waddle_dee,4\nbad_end_sunny,4\nhondoumachi_koharu,4\ntsukamoto_shuuichi,4\nmonet_(one_piece),4\nflower_(gynoid_talk),4\nmiyagi_ratona,1\nforte_(symbol),0\npokemon_wings,0\npegitan_(precure),4\nracing_miku_(2015),4\ncharlotte_katakuri,4\ntanaka_ichi,4\nwataro_(watawatawatapon),1\ngreen_wristband,0\nliver_city,3\nhayaken_sarena,1\nkafu_(cevio),4\nmecha_(alswp),1\nfumirumochigashin,1\ndate_a_live:_date_a_bullet,3\nelizabeth_bathory_(cinderella_rider)_(fate),4\nyancy_(pokemon),4\nmiyako_draw,1\nresident_evil_7,3\nkupikuuu,1\nplanking,0\ndaniel_deng,1\nkikka_(kicca_choco),1\nusuki_(usukine1go),1\nsmall_kyubey,4\npolka_dot_footwear,0\ntsubakuro_yume,4\nunknown_mother_goose_(vocaloid),3\nhair_blush,0\nsuzuki_nago,1\nizumi_luna_(akitsu_taira),4\ntacch,1\nmik_yanase,1\ntsumujikaze_koyori,4\nyoukai_fox_(wild_and_horned_hermit),4\nsasahara_natsuki_(val_bi_ole),1\nsuper_saiyan_rose,0\nmuffled,0\nfirework_background,0\nblue_(ao_maru),1\ntetsu_(excalibur920),1\nfuwaffy,1\nrinne_(sennen_sensou_aigis),4\nnishiro_ryoujin,1\nmugipot,1\nariesu_watanabe,1\nkoyaya,1\n2gou,1\nalvin_lee,1\neddie_brock,4\nfelicia-val,1\nhijabolic,1\naira_(endless5515),1\nnekoyaso,1\nfal_(falketto),1\notorimonogatari,3\nenami_(e373),1\nsuzuhara_sakura,4\njun_(rojiura_jack),1\nplayback,1\nraito47,1\nmio-muo1206,1\namore1989,1\n123_(tyamaguch),1\nhoshi_nawoki,1\nkiseijou_rei,4\ndragon_crisis!,3\nryu3224,1\nruto_(petatann),1\ntoranashi,1\njumping_dogeza,1\nlightofheaven,1\nlevel.21,1\nkurenai_hanpen,1\ntanuki_koubou,1\nlinaria_(ookinahitomi),1\nmirror_twins,0\nneptune_(planet),0\nzrero,1\ndying_(dying0414),1\nareola_measuring,0\nosakabe-hime_(swimsuit_archer)_(first_ascension)_(fate),4\ntaisui_xingjun_(fate),4\natalanta_alter_(first_ascension)_(fate),4\nhijiki_meshi,1\nsaileach_(appreciate_fragrance)_(arknights),4\ntorrent_(elden_ring),4\nwanko,4\nsonomura_maki,4\nsweden,0\ntomo-chan_wa_onna_no_ko,3\ncherie_espoir,4\nmano_youko,4\nmarion_(high_school_dxd),4\nperidot_(steven_universe),4\nhal_(sakurajam),1\nkoari,1\nnabana,1\nxing,1\ncum_on_legwear,0\nshinohara_rei,4\nabe_(roiz),1\nelfilin,4\nvolibear,4\nsprout_on_head,0\nsakura_hane,4\namano_onsa,4\ngotou_nao,1\nshidatsu_takayuki,1\npine_(yellowpine112),1\nnatsuiro_kiseki,3\net.m,1\nthe_memories_of_phantasm,3\nwooni,1\nmei_(abliss),1\nkan_lee,1\nusamin,4\nlily_rain,4\nenu_(roco_roco44),1\njames_bond_(series),3\nash-greninja,4\nnaruko_(nalcoro),1\nlechuza,1\nwonawo,1\nlunatic_psyker_(elsword),4\nclownpiece_(cosplay),0\nmigita_hibiki,4\nholding_oar,0\nchuushuu_meigetsu_miku,4\ntokito_yu,1\nxuanlin_jingshuang,1\nhenki_(orange),1\nnomuo_(shiromi),1\nbroken_door,0\ndai0,1\nbattlement,0\nyamamoto_shikaku,1\nemya,1\nonodera_raika,4\numiu_(hoge),1\ndeep_one_kyomu_to_mugen_no_fragment,3\nhorn_speaker,0\nphilyshy_(alchemy_stars),4\npupa_jiang,1\noshi_taberu,1\nqinglai_haiji,1\nseraphim_throne,1\nflowers-imh,1\nhoshiakari_(c2_kikan),1\ntan_tan_pou,0\nrunamonet,1\nsieg_(sherman_69),1\nkuu_nekoneko,1\nkokesa_kerokero,1\nmofuo,1\nelder_cousin_(igarashi_kyouhei),4\nwake,0\nsofusan1526,1\nlinmiu_(smilemiku),1\nnojima_minami,1\ngonta_(gshoutai),1\nakayan,1\nniu_ju_(orange_bull),1\nmira_(kendeshi),4\naogami_high_school_uniform,0\nkage_(ousama_ranking),4\nsaber_(pure_night_dress)_(fate),4\nchrysa_(_sa0ru),1\ntapestry,0\nsakurada_nori,4\nheavy_cruiser_summer_princess,4\nigarashi_ran_(igatz),1\nmana30row,1\nhear_(kpmf4732),1\nthe_euro_front,3\nthief_(dq3),4\ngundam_age-1_titus,4\nsoulcalibur_ii,3\nmasuneko,1\nfuumin_(youkai_watch),4\nuzu_hi,1\nrhine_(overtonerhine),1\nkusumoto_shizuru,1\ngirl_from_the_illusionary_world,4\nhina_sasaki,1\nblaze_(blaze_pso2),1\nheimu_(heim_kstr),1\nhirakata_kana,4\nlyas,1\ngeonjeonji,1\nempress_(dmfd),4\nregis_altare,4\nstar_gladiator,3\nkhan_the_swift,4\nlilac,0\nat_knifepoint,0\nluciferion,4\nmo_(ine_mao),1\n7aka_ne11,1\nitou_yukino,4\nsylph_kim,1\ngokurin,1\ngupipy,1\nrip_van_winkle,4\nkuze,1\nsmoke_heart,0\nlanchester_smg,0\nreborn,4\ncure_march_(princess_form),4\nyuushiba,1\nhara_yumiko,1\nbribery,0\nhan'eri,0\nbattletech,3\nvirtuous_treaty,0\ngundam_gp-03_stamen,4\nhands_on_own_cheek,0\nhisui_(user_zvkr2432),1\nzhenlin,1\nfutanari-chan_(akiamare),4\ngyuutarou_(kimetsu_no_yaiba),4\nhelluva_boss,3\nsuiyou_dou_de_shou,3\ntouyarokii,1\noriharaizaya819,1\nsakutaishi,1\nkitaooji_hanabi,4\nholiday_(pangjelly),1\nano_(gccx8784),1\ns_vileblood,1\nganmo_(takane_lui),4\neeshin_(eishin5584),1\nmouth_guard,0\nnice_holystone,4\nhinano_(sky-freedom),4\nizmir_(summer)_(granblue_fantasy),4\neus_ing,1\nsandile,4\nson_gohan_(future),4\nblood_on_gloves,0\nrinrin_kai,1\nthe_boss,4\nuzura_(moimoi),1\nyitiao_er-hua,1\ncuderia_von_feuerbach,4\nsolar_milk,1\nasclepius_(nanoha),4\nakina422,1\nhydrangea_hair_ornament,0\nnae-nae,1\nbluesnail,1\nkokukyukeo,1\nit's_j.j._style!,0\ntamakko,1\nhorse_costume,0\nnichigeckoh,1\nlangrisser_iii,3\ntomoyuki_hino,1\nzygarde_core,4\nyomawari,3\nmimizuku_(mmiganaru),1\nnotchi,1\ngrater,0\nyu_(xcapriccioso),1\nwhitefrost_dragonewt_filene,4\ncassandra_cain,4\nfrit_2,1\ncyron_tanryoku,4\nteasmacker,1\npmlial,1\nshirakawa_kokona,4\nkeikei_(kitty_colors),1\nshiunnkaku,1\ncradling,0\nyokon2199,1\nnaru_(ul),1\npeachyp,1\nplusout,1\nsatsuki_(gogotaru),1\njuneau_(azur_lane),4\nnoel_seeker,4\nnatsukon,1\nsorashu,1\nboogbogex,1\naizawa_hiroshi,1\nasashio_kai_ni_(kancolle)_(cosplay),0\nogata,1\nana_(mother),4\nmizuno_tera,1\nhazuki_futahi,1\nmakio_(kimetsu_no_yaiba),4\nsesame_street,3\nkayakooooo,1\nmidori_miyako,1\nnob1109,1\nblack_panther_(film),3\nrokushaku_fundoshi,0\nyoshimune_(b12f),1\nmiyabi_(037),1\nholding_snowball,0\nakai_maho,4\ngao_(naodayo),1\namamiya_sakura,4\nkagami_kazuya,4\nshared_cape,0\nsupo01,1\nyukino_super,1\nchapter_number,0\nsoukun_s,1\nkokuyou,4\nkyonyuu_fantasy,3\nhouzouin_inshun_(fate),4\nmisawa_kei,1\nmotoyon,1\niosys_parody,0\nchitose_sana,4\nskirt_aside,0\nlisa_eostre,4\nyagi2013,1\nkamoi_hayato,1\ntsuzuchii,1\nmuichimon,1\ntnr_(horiko1525),1\nysmmzr,1\nshishio_makoto,4\nsaturday_(hokawazu),1\nunbuttoned_sleeves,0\nsoupchan,1\nayacho,1\ncloaca,0\nliss_meier_(koyashaka),4\nsoaking_hands,0\nsakazuki_(akainu),4\nnatsu_no_arashi!,3\nines_(arknights),4\nsakura_yuu,1\nsarkany_csont_landzsa,0\nmikkusushi,1\nawono_nanaumi,1\nyudough,1\npola_(1021),1\nkuro_futoshi,1\ncrop_top_lift,0\ntie_fighter,0\nzelo-lee,1\nwaving_flag,0\nkaito_(vocaloid)_(cosplay),0\ncafe_no_zombi-ko,4\ngolden_axe,3\ntakagi_mitsukuni,1\nunown_k,4\nsea_angel,0\ndonbee_(food),0\nlancer_(weapon),0\nyami_marik,4\nnightgown_lift,0\njs_9_(girls'_frontline),4\nkodamazon,1\ndeneb_rove,4\nblack_straps,0\nrage_(rojiura),1\nlucia_morgan,4\nlion_(warship_girls_r),4\n2006_fifa_world_cup,3\nakaino_(akaomi),1\nstring_in_mouth,0\nkagerou_(gigayasoma),1\ntakagi_seiniku,1\nkirishima_kaito,4\nprincess_zelda_(cosplay),0\nsugiyama_mio,4\nhazumi_rio,1\nyagai_gakushuu,3\npoogie,4\nsharon_rainsworth,4\naragami,0\naoi_kanan,1\nryuusama,1\nmuhamado,1\nakabane_rin,1\nasazuki_kanai,1\nyuu_(derodero),1\nhatsuyuki_sakura,3\nsinsora,1\nocarino,1\nnekokami,1\numino_chika,1\nkimidori-san,4\nakai_ito,3\nqueen's_blade_spiral_chaos,3\npochi-t,1\nmultiple_panties,0\ntuna21,1\namagase_lyle,1\ntakura_mahiro,1\nsmack,0\ninoue_miyako,4\nkyu,1\nsoyo2106,1\nskuntank,4\nbarboach,4\nmigi,4\nswing!!,3\nyoushun_(naturaljuice),1\nandou_hiroyuki,1\nmukkun,1\nkome_(vm500),1\nishiwari,1\nkisaragi_yuki,1\narslan,4\nlxkate,1\nsandansu,1\nkazamatsuri_touma,4\nisakawa_megumi,1\nsinohira_rin,1\ntenji,1\nhouse_of_cards,0\ndoku_gorira,1\nhatomaru_(hatomaru56),1\nnamine0079,1\nakaito,4\nkurone,1\nkouko,1\nyummy_yoi,1\nharune_aira,4\nkuraryu,1\nanomalocaris,0\nkyan-dog,1\nkarin_koenig,4\nsakizou,1\ntano,1\npaula_(suikoden),4\nwonder_momo,3\nneko_no_ongaeshi,3\nrave,3\nshigurui,3\ntoshiya,1\nga015,1\npixel_maritan,3\nokuzaki_akira,4\nlibrarian,0\nfamily_guy,3\ntsunekawa_niwasuke,1\njana_schirmer,1\nmarie_(dies_irae),4\nfuraido,1\nvirtua_fighter_5,3\nibaraki_douji_(swimsuit_lancer)_(second_ascension)_(fate),4\nabigail_williams_(animejapan_2018)_(fate),4\nreijing_etrn,1\nmisery_(doukutsu_monogatari),4\ntransparent_seat,0\nmarion_phauna,4\nyaya_(yayaa_00),1\nsouffle_pancake,0\nkinjero,1\ngedou_danshaku,1\nogiwara_sayu,4\ntoaru_kagaku_no_accelerator,3\nscbstella,1\nebi-chan_(gawr_gura),4\nsterben,1\ngradient_necktie,0\nkellymonica02,1\nkuzukiri_(riezenagel),1\nizumi_iori,4\nmatsumoto_mitsuaki,1\ngundam_barbatos_lupus_rex,4\nanchun_(quail0503),1\nkurumi_(princess_connect!),4\ndenkitori,1\nyanagi_ryuu,1\nsoranokakera01,1\nmagical_mirai_miku_(2020_winter),4\nbaltimore_(evening_breeze_minuet)_(azur_lane),4\npink_tattoo,0\nkashiwagi_yuuma,4\nkamek,4\nneriash,1\nroyal_arsenal,4\ngaiidraws,1\ncum_on_headwear,0\nkatano_sukune,4\nkneading,0\nssn_(sasa8u9r),1\ngalarian_moltres,4\ntian_nya,1\nkyonyuu-chan_(iku),4\nkarin_(a62826704),1\ntroll,0\nhoihoi-san,4\nnoise_paper,1\nlancheu,1\nkanisawa_kinu,4\nakafuku_pukoemon,1\nisekai_quartet,3\nsakurada_akane,4\nneon_ui,1\nkemurikusa_(object),0\nseto_miyako,4\nunplugged_line,1\ntsunami_(tenchi_muyou!),4\namemori_sayo,4\nshirayuki_(warship_girls_r),4\nuniversal_federation_army_uniform,0\nquetzalcoatl_(samba_santa)_(fate),4\nichihara_chiaki,4\nsweater_vest_lift,0\nthanos,4\nnakaishow,1\nmaka_(hyougenbu),1\ntege_(tege_xxx),1\n2f_sq,1\nazuma_sawayoshi,1\nshin_sekaiju_no_meikyuu,3\nhanzow_t,1\nniku_(dance-siva),1\nharu431,1\ncannonball_~neko_neko_machine_mou-race!~,3\nyuno_(mioalice),1\nhelioptile,4\nsevered_torso,0\nkyoushirou_to_towa_no_sora,3\nregal_bryan,4\nhoshitetsu_ringo,1\nnaoton,1\nhanda_seishuu,4\nkaidan_restaurant,3\nmotu0505,1\nechizen_ryooma,4\nizuminanase,1\nharyudanto,1\nred_scales,0\nmistilteinn_(closers),4\nkuronosu_(yamada1230),1\nmurayama_(high_school_dxd),4\nkamimura_haruka,4\nevening_rabbit,1\nyuru_yuri's_starting,0\nveiny_tentacles,0\niaidou,0\nmorugen,1\ngalatea_(claymore),4\nflorges,4\ncall_e,4\ndaefny,1\nlaila_(queen's_blade),4\nakari_acura,4\nmirei-san_(suterii),4\nmaria_(maria0304),1\nwanao,1\nhidakarumen,1\nadagumo_no_yaorochi,4\nit's_ok_to_touch,0\nmightyhonk,1\nyazawa_kokoa,4\njfjf,1\nshining_resonance_collection_of_visual_materials,0\nnab,3\nshinitagari_shoujo_to_shokujinki-san,3\nkenja_no_deshi_wo_nanoru_kenja,3\ncon_potage,1\none_way_sign,0\neddelrittuo,4\ndisembodied_tongue,0\nrhinoceros_girl,0\nharuya_(lajoon),1\nkadokura_(whokdkr),1\npallapalla_(sailor_moon),4\nvortex,0\nsuntory_nomu,4\nsukuna136,1\ng.t,1\nomegu,1\nash_(rainbow_six_siege),4\ngrey_scrunchie,0\nhaikimono_shounen,1\nxingchen_(cosplay),0\nargentea_(darling_in_the_franxx),4\nyork_(azur_lane),4\nglowworm_(azur_lane),4\nkumoko_(kumo_desu_ga_nani_ka?),4\npink_loli_(rinechun),4\nsan_mamiya,1\nsumi_elias,4\nhoshifuri_sosogu,4\nkamura_poku,1\naharen-san_wa_hakarenai,3\ncomic_grape,3\nyunohito,1\nharutask,1\nshuvi_(no_game_no_life),4\npeafowl_(kemono_friends),4\nyorha_no._9_type_s_(cosplay),0\nusui_seri,4\nboey_(fire_emblem),4\nmizumori_(xcllcx),1\nichihyaku_nanajuu,1\ndemonion_ii:_maou_to_sannin_no_joou,3\nharuto_(harut_n),1\nkommo-o,4\nlong_riders!,3\nyumuto_(spring1786),1\nsiki2046,1\nbonjin_(pageratta),4\naugusta_(granblue_fantasy),4\nblack_soldier,1\namatsutsumi,3\nnogchasaeg_(karon2848),1\nminobu_jentoru,1\nsaegusa_mayumi,4\ntower_of_saviors,3\nframe_arms,3\nshinomiya_shiori,4\nmorokoshitaroh,1\nchatsune_(white_lolita),1\nre-l_mayer,4\nhiga_izuru_(idsuru),1\nseikoku_no_dragonar,3\nlicking_self,0\nmiyamoto_ruri,4\nkitami_erika,4\nsame_2009,1\nwilted_flower,0\nrampardos,4\nilfriede_von_feulner,4\nankoromochi,1\nzhiyu_moke,4\nhand_on_mirror,0\nrokushiru_(muzai-p),1\nethan_forsythe,1\nseries_connection,0\nsaeki_ritsuka,4\nemukon,1\nmousse_(duck)_(ranma_1/2),4\nhoneycoming_royalsweet,3\nsword_in_head,0\nsena_shiori_(idolmaster),4\nashitaba_tomorou,1\nfrancine_(daijaemon),1\nsolution_epsilon,4\nkurosaki_makoto,4\nmashin_eiyuuden_wataru,3\ncrazypen,1\nkajou_ayame,4\nokiba_ga_nai!,3\nnishina_masato,1\njeibii,1\npunch_line,3\nsmile_(.flow),4\nyoneme_mei,4\nmizuto_(o96ap),1\nprotagonist_(elona),4\nvoid_(guilty_crown),0\nsaitou_hajime_(hakuouki),4\nclona,1\nkuroneko_(fragrant_olive),1\namagaya_(rat-tat-tat),1\nserious_graphics,1\nadachi_(ioioi),1\nlimbo,0\naosuke_(ayakawa_akito),1\nheart_hunter_(module),0\neinamu,4\nkohaku_(kohagura),1\nsafeguard_(blame!),0\nlayered_swimsuit,0\nkurihara_mari_(prison_school),4\nworld_election,3\nlove_money_rock'n'roll,3\nimminent_hand_holding,0\nkaze_minoru_so-ru,1\nkumichou_(nakasato-gumi),1\nvados_(dragon_ball),4\npool_party_leona,4\nfinger_marks,0\ngijou_mitsumi,4\nmare_s._ephemeral,4\nfunami_mari,4\ndj_sona,4\nemelia_pris,4\ntumtumisu,1\nhospital_rokunin_no_ishi,3\nisekai_meikyuu_de_harem_wo,3\ntsumamigui_3,3\nenterprise_(pacific),4\norpheus_(persona),4\nbaumku_techen,1\nnishikawa_(fe),1\nill_(0022),1\nakiko_141,1\nminatsuki_kou,1\nuzume_(gino),4\nsummoner_aldra,4\nvampire_(gogalking),4\nnight_strait_princess_(black),4\nmeziosaur,1\nfeater_(dojo_star)_(arknights),4\nkurige_horse,1\npink_male_underwear,0\nmo_xiaoxue,1\nrebake,1\nkizuna_ai_(anniversary),4\nvickie_(cryingrobot),1\nmysterious_heroine_xx_(fate)_(cosplay),0\nshino_duka,1\nhyun9164,1\ngalatea_(fate),4\npandora_(mega_man),4\nmiss_crane_(fate),4\nraika_(rune_(pixiv_25170019)),4\naomaru_(shta-chu-jisuiai),1\nagent_416_(girls'_frontline),4\nshirt_half_tucked_in,0\nptrd_(girls'_frontline),4\nthe_great_ace_attorney_2:_resolve,3\njacob_(housamo),4\nshinohayu_the_dawn_of_age,3\nfuwafuwa_35,1\nyuki_madoka,4\nshirou_(shiro_uzr),1\ntsukune_(takane_lui),4\nblacknight_(arknights),4\nfull_cowling_(boku_no_hero_academia),0\nmafiaduck_(nilan),4\nsakamoto_clan_(emblem),0\nokonon_(kado_colda),1\npokemon:_lucario_and_the_mystery_of_mew,3\ncolored_shoe_interior,0\ntam_(ragnarok_online),0\nmuyoshito,1\nkuroda_kuwa,1\nhokuto_(hokuto_pk),1\ncavorite_ball,0\ntai_(2vs),1\nharumi_chihiro,1\nriko_(kujira215),1\nkurobe_sclock,1\nebiebiebio,1\nhazuki_(nature.),1\nebiten_(manga),3\nkureha_goya,1\nyakisoba_ohmori,1\naguri_(aguri0406-aoi),1\ncollie,1\nsanbi_(reku),4\nshikishima_(eiri),1\nwhite_santa_costume,0\nmai_kobayashi,4\nsaida_nika,1\nvillager_(minecraft),4\narigato_(rmskrtkdlqj),1\njisue10,1\ntonari_no_seki-kun,3\nsuper_paper_mario,3\nprincess_sapphire,4\nalf874,1\nonitsuka_natsumi,4\nyotsumi_shiro,1\nshiina_yuuki,1\nfuyuni0307,1\nkoiso_kenji,4\ncastlevania_(netflix),3\nbritish_army,0\nsapphire_rhodonite,4\ntantanmen72,1\ngeometrie,1\nchamp+,1\nhuai_diao_de_zongzi,1\nakira_slide,0\npanamaman,1\nmyahogao,1\naether_sage_(elsword),4\ninoue_jun,4\ntooth_earrings,0\nmobile_suit_gundam_the_origin,3\nabe_tsukumo,1\nkachuten,1\ngordo,4\nwookyung,1\nwasabijoyu76,1\ngomrang,1\npolar_bear_(kemono_friends),4\nimi_galil,0\nkatsuki_hiroko,4\nyuusha_keisatsu_j-decker,3\neli_conifer,4\niwa_(iwafish),1\nhellsing:_the_dawn,3\nfrozen_ii_(disney),3\nbrooklyn_(azur_lane),4\nbridge_piercing,0\nfeitan,4\nmorujii,1\nducati,0\nmisaki_shizuno,4\nluna_nyann,1\nsaegusa_futaba,4\nvss_vintorez,0\nshowerz,1\nfloral_dress,0\noobako,1\nshouyan,1\nyellow_brooch,0\nholding_tongs,0\nyuki_akira,4\nstarscourge_radahn,4\npeeing_in_bottle,0\nhcz_n,1\npuffer_fish_vomiting_water_(meme),0\nmammoth,0\nharuka_poi,1\nrufus_shinra,4\nyouamo,1\nikag,1\nlatte_(precure),4\nyuk233,1\nsouen_hiro,1\ngyn_chair,0\nfujimura_shizuru,4\nedowan,1\nzootan,1\nlofter_username,0\nshikoro,0\nt-track,1\nburmy,4\ntsugikuni_yoriichi,4\nkazura,1\ndoboshiru,1\njika-tabi,0\nawan0918,1\nferris_eris,4\nsuketoudara_(artist),1\ntomatojam,1\ndaicon_iv,3\nsalem_(rwby),4\nhoney_badger_(girls'_frontline),4\nhikikomori,0\nchirun0,1\nring_fit_trainee,4\nhhhori,1\nsera_masumi,4\nromi,1\nserilly_(puyopuyo),4\npokarii_zuu,1\ngakki_(gaku_suru),1\njoker_game,3\nlist,0\nsidoh_(dqb2),4\ncea_se,1\ntarpaulin,0\ngiga_mermaid,4\nhigero_(wataten),4\nktovhinao,1\nrowdon,1\nnail_gun,0\nari_(shichigatsu),4\n298yenomiso,1\nayatak0517,1\nbronzor,4\nnyamo,1\nkousi_sirazawa,1\nmisa_(jjin_miryeon),1\npioneer_movement,0\ndate_(mamanonamaebot),1\naoshima_sakana,1\nbizen,1\nmorikawa_(futomayu),1\nmon_momu,1\nhisone_to_masotan,3\nnaotosi,1\nark_ford,1\nan'no_natsume,1\nmikumo_(lpmkookm),1\ntanuki_costume,0\nasta_rindo,4\nfireseal,0\nichijo_daisuke,4\namamiya_marron,1\nsibelurabbi,1\ntyrantrum,4\nkushami_deso,1\nnana_(kurisustinah),4\nwangjook_(wj),1\nsakuyamon,4\ntiz_arrior,4\nsan_sheng_wan,1\nhumvee,0\nki_no_nekko,1\ntakeawatch,1\npleo,1\ngundam_ms_igloo,3\nevangeline_a.k._mcdowell_(adult),4\nshin_murasame,1\ntsuji,1\nmouse_marisa_(yuasan),4\nyuge_(yuge_bakuhatsu),1\nz35_(azur_lane),4\naraya_souren,4\nimu_(lom),4\npanzer_dragoon,3\naqua_cape,0\nbosack,1\ncat_earrings,0\nmac-10_(girls'_frontline),4\nmag_(mag42),1\njust_because!,3\nshocho_(shaojiujiu),1\nkawarage,1\nokanoyuno,1\ncalifornia_(azur_lane),4\nross_(clumzero),1\nholy_roman_empire_(hetalia),4\nseri_(vyrlw),1\nmorganagod,1\ncilica,1\ncenti_(nimu),4\nvanessa_lewis,4\ncromwaits,1\nwhite_petals,0\ngreen_santa_costume,0\nkazumiya_rio,4\nawachi,1\nozaki_mirai,1\ncrab_hair_ornament,0\nmaco22,1\nlandorus,4\nauguste,1\nmultiple_wielding,0\nlace-up_heels,0\nokada_manabi,1\nglowing_hot,0\nwata,1\na-o_a,1\njowell_she,1\nholding_stethoscope,0\nnakareki,1\nsenbei_(avocadochaya),1\nwakatsuki_misato,1\nnintendo_dsi,0\nnarongchai_singhapand,1\ndoyamona,1\nhimuro_akari,4\ntira_27,1\n00_raiser,4\nanimal_on_leg,0\nmarino_(mega_man),4\nnobel_gundam,4\nrocket_boots,0\nkabuto_kouji,4\nmizuno_nanatsu,4\nminsk_(azur_lane),4\nshin01571,1\nmadkaiser,1\nsergei_(pattundo),1\nsatoimoya,1\nnoir_vesper,4\npmx,1\nviletta_badam,4\nkoraku_gekki,1\nkiiroi_tamago,1\nhiiragi_mine,4\nyasutake,1\nladymade_star,3\nheijitsu_(paapuu),1\nakimitsu-dono,4\ntania_(little_witch_nobeta),4\nyoshitake,1\nfavilia,1\nhigurashi_ryuuji,1\njean-louis_(yuasa_rengou),1\nnean,1\nchiko_(d04099),1\nartificial_wings,0\nkashiwagi_hatsune,4\nkuka_(princess_connect!),4\nsakura_tale,3\nein_(phantom),4\nkatsura_miya,1\ndoctor_strange,4\nmisaka_mikoto_(cosplay),0\ntoe_gojuu,1\nbachou_mouki,4\nrae_(offrecord),1\nkiss_to_lord_to_darjeeling,3\nkuramoto_erika,4\nthesale,1\nsugar_(food),0\ntaokaka_(cosplay),0\noomichi_miyabi,4\nmeneru,1\nlillymon,4\nuehara_mutsuki,4\nshaneru,1\naizawa_takeru,4\nviolinist_of_hameln,3\nkohinore,1\ncherry_panties,0\nspoink,4\nkouga_yun,1\npepper_project,3\nisono_satoshi,1\nshishidou_imoko,4\ntomo_(machinemess),1\nyonezawa_mao,1\nebenholz_(arknights),4\naya_(oneechanbara),4\nawake,0\npanther_girl,0\nemukami,1\nmetalwasabi,1\ngordon_freeman,4\nmarufuji_izumi,4\nichijiku,1\nrascal,1\nizumi_kikaku,1\ntanu,1\nrococolove,1\nzero_(code_geass)_(cosplay),0\naono_tsukune,4\nholland_novak,4\njet_set_radio_future,3\ntouwa_meme,4\nshinozaki_ayumi,4\nsilver_gloves,0\npirano,1\nmahou_no_star_magical_emi,3\nkawaguchi_yukihiro,1\nnabari_no_ou,3\nkamen_no_maid_guy,3\nbronze_parrot,3\nnatsume_(decadence),4\nhiruma_youichi,4\nailac_coega,4\npaul_robertson,1\nakinoko,1\ncima_garahau,4\niron_maiden_jeanne,4\naogami_pierce,4\nlvans,1\nhoshijiro_shizuka,4\nmyrtle_(light_gold_celebration)_(arknights),4\npretty_guardian_sailor_moon,3\nfat_(artist),1\nin'youchuu,3\nvikavolt,4\nhanbun_no_tsuki_ga_noboru_sora,3\nzhudacaimiao,1\nkuraikurairey,1\nimplied_bestiality,0\nmugi-co,1\nsanta_claus_(chainsaw_man),4\nciconia_no_naku_koro_ni,3\nnatsumi_chorisuke,1\nmp7_(lollipop_ammo)_(girls'_frontline),4\nloose_neck_ribbon,0\nchiko_(mizuho),1\nzetsuyo_chimayo,1\npori_(poritan81),1\ndeeezel,1\nreiza,4\nslash-ex,1\ncamouflage_trim,0\ncrossed_wrists,0\nhs2,1\nmail_(popful_mail),4\nmiku_with_you_(vocaloid),3\nraisuta,1\nchise_(saishuu_heiki_kanojo),4\nelwing,4\nyoshioka_yuki,4\nwonbin_lee,1\ntiki_(dragon's_crown),4\nridget_(suisei_no_gargantia),4\nlilia_chocolanne,4\nyamaguchi_yoshimi,1\nkarumaruka_circle,3\nkobayakawa_horan,4\nichi_(13xxx),1\nhikariz,1\nhidepoin,1\nwandenreich,0\nshoutaro_saito,1\nro_risu,1\nkaraage_(ta-na),1\nosiris_the_sky_dragon,4\nohnishi_yuriko,4\nmorizono_wakana,4\npink_bracelet,0\npenis_in_swimsuit,0\ntanaka_gorbachev,1\nokii,1\nkamesys,1\nbitter_glasse_(umamusume),4\ncloudxmoe,1\nnos,1\nsenmen_kinuko,1\nlevi9452,1\nthe_north_face,0\nmarie_rose_(cosplay),0\nfuji_minako,1\nkanichiri,1\nchocotto715,1\nfuuko_chan,1\nclaes,4\nrr_(suisse200),1\nwada_chiyon,1\ncid_nan_garlond,4\nernesto_de_la_cruz_(alive),4\nrebirth42000,1\ncirclek,1\nt2,1\nmprichin,1\njotman,1\nmacaron_background,0\npaper_boat,0\nlinde_(octopath_traveler),4\nzoisite_(sailor_moon),4\nronguuta,1\nhazuki_shino,1\npersona_q2:_new_cinema_labyrinth,3\nkata_meguma,1\nyuuki_(yukinko-02727),1\ntamen_de_gushi,3\naki_inu,1\nyalmyu,1\nhindenburg,1\nhanasaki_work_spring,3\npiyoko,4\nkase_(kurimuzone_oruta),1\nin_pocket,0\nfiora_ariete,4\ngindoro,1\ntsuchimi_rin,4\nmelty_q_melromarc,4\nryon_(ryonhei),1\ngene_(gear_gene),1\nhecchi_(blanch),1\nthea_(fire_emblem),4\nforsyth_(fire_emblem),4\naigan_tenshi_cheery_pink,3\nmeltryllis_(swimsuit_lancer)_(fate)_(cosplay),0\ntikano,1\nmizuki_sasahara,4\nexga,1\nlemonrou,1\nthurim6,1\nsaegusa_riko,4\narimoto_wataru,1\nultra_recon_squad_uniform,0\nmist_train_girls,3\nultra_(511455329),1\ntokumei_wombat,1\npokemon_3:_the_movie_-_spell_of_the_unown:_entei,3\ntianye_toshi,1\neko.art,1\npaladin_(baalbuddy),4\nanyuu,1\nlydia_macarthur,4\nfate/type_redline,3\nfrilled_nightgown,0\nagainst_pillar,0\nragdoll_(boku_no_hero_academia),4\nmirin.,1\nyuyusu_(cookie),4\nprotagonist_(doki_doki_literature_club),4\nreaper_(final_fantasy),4\ndh-zone,1\nshiratakiseaice,1\nmario_kart_tour,3\nagnes_claudel,4\nreuri_(tjux4555),1\nby_spoon,1\nyoneko_okome,1\nsho_(sho_lwlw),1\ndark_magical_circle,4\nmari_(doraerin0),1\nspoken_venus_symbol,0\nasurada_yui,1\nwichita_(azur_lane),4\ndocu_(doppel),4\naida_(chinhung0612),1\nseseragi_azuma,1\nmirokuji_yuuya,4\nneeko's_mother,4\nshirasawa_kazane,1\nisekai_wa_smartphone_to_tomo_ni.,3\nalternative_facts_in_eastern_utopia,3\nkurojishi_(zannen_onna-kanbu_black_general-san),4\nmadcore,1\nalpha_(ypalpha79),1\nkliff_(fire_emblem),4\nnamakura_neo,1\nxue_qi_ye_(dndtmbdue),1\nmushi_mushi_ex,1\nmistress_(dungeon_and_fighter),4\nromeo_montague_(cosplay),0\npen-pineapple-apple-pen,3\nzhixiang_zhi,1\nmorochin_(mo_loss_an),1\nbeluga_dolphin,1\ntuchinokoeffect,1\nhappy_synthesizer_(vocaloid),3\nmari_(little_crown),1\ntwinkle_star_(idolmaster),0\nlanse_dai_mao,1\nkyouki,1\nchar_b1,0\nmori_yashiro_(konkon_oyashiro),1\nrhys_(fire_emblem),4\nholding_belt,0\nass_worship,0\nfif_(granblue_fantasy),4\npalow,1\nasamiyajy,1\nseikon_no_arcana,3\nfuyuumi_ai,4\nmnjs,1\ngagajya,1\nprincess_melody_(idolmaster),0\npeco_(pockleberry),1\nleaf_lsd,1\nleone,4\narchellaura,1\ntotto,1\nkashiru,1\ncalico_m950,0\nsawatari_fuu,4\ntoudou_(dolce),1\nyajirushi_kaku,1\nhisa_tsuki,1\nshimotsuki_iko,1\ntitle_screen,0\ncoin_flip,0\nkaga_kouko,4\nlily_(shiei_no_sona-nyl),4\nnatsu_yume_nagisa,3\nrelius_clover,4\nchidori_(@rom),1\nsayu_(mio-mosa),1\nchen_yang_yang,1\nmiyabi_(ninin_ga_shinobuden),4\naoki_sei,4\nkorai_(horokusa),4\nmuu_shuwuu,4\npurple_moon,0\ncomichipota,1\nkikurage_(dorohedoro),4\ntriangle_heart_3,3\nspotted_fur,0\n1st-mn,1\nfiorayne_(monster_hunter),4\nsatsuki_(quiz_magic_academy),4\ntop_gun,3\npapel,4\nsee-through_(psg),4\nharu_ion,1\nlazuri7,1\nshijukara_(great_tit),1\nhotarugusa_(onmyoji),4\n30_minutes_sisters,3\namethyst_(steven_universe),4\ngolden_egg,0\nburuma_removed,0\nkisakinomiya_chihaya,4\nkuroinu_(sonoba_shinogi),1\ntanono,1\nm134_minigun,0\nmaekawa,4\nminase_nagi,1\nryn_(rinorea),1\nkoyama_shigeto,1\nspot_the_differences,0\nslumcat,1\nanzu_(01010611),1\ntoma_(amnesia),4\nsasha_chii,1\nchocolate_clothes,0\nakebi_(kakororo),1\nminazuki_minao,1\nsuzuki_tsuta,1\ntate_(pokemon),4\nkatagawa_mika,1\nesp_guitars,0\nvolkswagen_type_2,0\na082,1\namemura_(caramelo),1\nkoyoi_(ruka),1\nhatopoo_(beach7pijon),1\nnoise_reduction,5\nimada_hidehito,1\nhourainingyou,1\nrose_pacifica,4\nnikitan_(niki),1\nhero_charger_(splatoon),0\ntama_(tmfy5),1\narisegawa_arle,4\nxiao_qiong,4\naji_(coastal_area),1\nribbon_(rabi-ribi),4\ndidi_esmeralda,1\nnekonote_(neko-no-te92),1\nsagano_yuuji,1\no2_(o2mm),1\ngol_d._roger,4\nramu-on@_shinon,1\ndjeeta_(granblue_fantasy)_(cosplay),0\nnerine_(flower_knight_girl),4\njacknavy,1\nlemur_tail,0\nshikyouin_hibiki,4\nokakan,1\nnekokan_masshigura,1\nmonster_hunter_stories,3\ntasuku_(tusktouhou4),1\nuouokuma,1\npecorine_(real)_(princess_connect!),4\ndesperado_(yotaro),3\nkirikaze_ren,1\nmazel_(mazel_star),1\nfunamusea,3\nsuinose,1\naudie_(animal_crossing),4\nlianna_(fire_emblem),4\nremington_acr,0\nsomna,1\nwindia_(deathsmiles),4\nchiri_to_mato,1\npomp_(qhtjd0120),1\nskilled_lookouts_(kancolle),4\njarckius,1\nyamato_kai_(kancolle),4\nmodel_x_(mega_man),4\nkaburagi_t._kotetsu_(cosplay),0\nusagi1923,1\nne_f_g_o,1\nonomi9ta,1\nsakata_kintoki_(heian_warrior_attire)_(fate),4\nbelfast_(the_pledge_of_claddagh)_(azur_lane),4\ngascogne_(tropical_environs_acclimation_service_equipment)_(azur_lane),4\nsizuru_(garasuame0206),1\nsilco_(arcane),4\nspringfield_(classic_witch)_(girls'_frontline),4\ndate_a_live:_spirit_pledge,3\nmunuko,1\nmillicent_(elden_ring),4\nsoruna_(nell),1\nhamburger_hat,0\nfushimimukai_sanae,4\ntogi9999,1\nbeek,1\ntakano_masayuki,1\nebr-kii,1\ndevil_bringer,0\nrima_rima_ri,1\nsaco_(cgmore),1\nchristianity,0\nnoah_(little_noah),4\nboss,0\nanaroguya,1\ntakeda_hinata,1\naizawa85,1\nkizuna_ai_(musician),4\neinar_(personal_ami),4\nkirima_(user_danf8787),1\nshirogane_(fox),1\nleonidas,4\nizumo_ayuka,1\nturret_(portal),4\nreizouko,1\nyoshizumi_kazuyuki,1\nf-18_hornet,0\nluxiem,0\nkitchen_scale,0\nstudioqube,1\nichigo_daifuku,0\ntiphereth_a_(project_moon),4\nhokaze_junko,4\nfou-lu,4\nziku_driver,0\nknit_sweater,0\nkei-chan_(ultimatekeichan),1\n286c,1\nmei_ichi,1\nqoopie,1\nheart_bra,0\ninaba_reito,1\nred_circle,0\nuroko_(pattern),0\nstephanie_brown,4\nkankitsu_kei,1\ntoor_0111,1\nhiyori_(nyatto),1\nstorm_drain,0\ndamodar,1\nilsa_(summer)_(granblue_fantasy),4\narakawa_(aintnoroom),1\nsakusya2honda,1\nhogara,1\nbugs_bunny,4\ncheeky_little_star,1\nshin_(sin-maniax),1\nlanyaojun,1\nmikoto_(stbk),1\ntotteri,1\ncyrillic_commentary,5\nsky_striker_ace_-_roze,4\ncamouflage_legwear,0\nzinan,1\nhelbindi_(fire_emblem),4\nmunya,1\nbaker_at_bat,0\nnyan_cat,4\npsychos,4\naka_kan,1\nsasquatch_(vampire),4\nuchino_maiko,1\nemunise,1\nvalhalla_valkyries,3\ncross-laced_pants,0\nzhineart,1\nyoshikawa_hiro,1\nlarva_tiamat_(fate),4\nekusera,1\nmikuning,1\naizenpochi,1\nonizuka_hime,4\nteena_(granblue_fantasy),4\nnekoma_hikaru,1\nisland_lagoon,1\nmorishima_hitoshi,1\nhip_flask,0\nchiika_(cure_cherish),1\nsarana,4\nzinnkousai3850,1\njyako_(bara-myu),1\nkamumiya,1\npotion_(pokemon),0\nleona_of_blood_&_iron,4\nmitama_~shinobi~,3\nnona_drops,1\nmizuno_makoto_(green),4\nballoon_animal,0\ntsuyama_mutsuki,4\nflower_ring,0\nkazehaya_shouta,4\nhitobashira_alice_(vocaloid),3\nstereogram,0\nkanojo_tachi_no_ryuugi,3\nvante,4\nyooani,1\npclbang,1\nrainsp,1\nikusy,1\nniwa_toriko,1\nyummy_(yumyumyummy),1\nwaiai,1\nmultiple_style_parody,0\nskye_(hcnone),4\nmizukoshi_mayu,1\nlunasanguinis,1\nruri_(aohada_bocchi),4\nrakugaki-chan,4\njiman,1\ncona_ember_(kkamja),4\nffcreatyuuki,1\na-na,1\nmusunde_hiraite_(mh5jta),1\nuchida_maaya,4\nqbu-88_(girls'_frontline),4\nironhide,4\nantidote,1\nkatorea,1\nomuni,1\nmochi-iri_kinchaku,1\nsinon_(sao:hf),4\nsloth_(fma),4\na-10_thunderbolt_ii,0\nninjara_(arms),4\nupa_(steins;gate),4\nmirim,4\ngligar,4\np_(flavorppp),1\nwakura_yuina,4\nkanno_fumi,4\nyokura_(yukilina),1\nanderson_m0311,1\nuruuru,4\ntype_3_chi-nu,0\nyueguang_zhanglang,1\nwater_beryl,1\nyoshitome_miharu,4\ntak_(karasuki),1\nusuaji,1\nnureha_(log_horizon),4\nhiiro_yuya,1\nhelltaker_dance,0\nkatagiri_yuuhi,4\n76gpo,1\nzethia,4\nguru,1\ntina_(pixiv37050289),1\namatsuki_hotaru,1\ntokimeki_check_in,3\npanzerkampfwagen_viii_maus,0\norigamine_ouka,4\nplace_name,0\ncanon_memphis,4\npurple_hood,0\nhusagin,1\nkinosaki_yuki,1\nfuu_(futian),1\ninterrupted,0\nhead_mirror,0\nhiver_laurant,4\ndokudoku913,1\nscapular,0\nkobayashi_gen,1\nyadoso,1\ndeoxys_(attack),4\nporridge,0\nalgernon_(housamo),4\nmakken,4\ngurepyon,1\ntokufumi,1\ndotsu_(wtnbkwiyd),1\ndisguised_pyra_(xenoblade),0\nkamoku_nagi,1\nnazrin_(cosplay),0\nminaka_shobu,1\nsebire,1\nhonolulu_(among_the_stalls)_(azur_lane),4\nneko-hime_(neko-hime),1\nblack_rock_shooter:_dawn_fall,3\naraquanid,4\nmarik_ishtar,4\nsevi_(seviyummy),1\nfood_truck,0\ntype:_null,4\ncthugha_(housamo),4\namagi_korona,1\nmuzinneki,1\nnamyo,1\ndaidouji_(senran_kagura),4\nsaeba_ryou,4\ncharizard_pose,0\nhimawari_(hishu),1\nx-ray_film,0\ngummyrise,1\naoi_(aoisaka),1\ntsukeo,1\nlichiko,1\nyuubari_(kancolle)_(cosplay),0\ntnonizyou,1\nbibyo,1\nchiba_yuriko,1\nmayuzumi_yukie,4\nrozarin,1\npkm,0\nayukawa_miyuki,4\nthe_creation_of_adam,3\noge_(ogeogeoge),1\nvolkies,1\nmamecchi,1\nbaldr_sky,3\nyosimura,1\nhorezai,1\nsenzi,1\nkashiyama,1\nmomose_hikaru,4\nchance_maker,1\nkaeru_kenshi,1\nhariyama,4\nhonjou_mikaze,4\nhimaruya_hidekazu,1\nmukoujima_tenro,1\nk.o.,0\nyukino_sayuri,4\nneopara,1\ntowamin,1\nharukanaru_toki_no_naka_de_4,3\nhimemiya_ruri,4\ngxp,1\nstrawberry-chan,4\ndorothy_gale,4\ntajador_(ooo_combo),4\ndaitirumoesu,1\ntara_baka_ni,1\nshinobe,1\nsamako,1\ncan_(canzume),1\nrohgun,1\nsakai_yume,1\ntoromi_chuuka,1\nkakouen_myousai,4\nyaten,1\niroha_karuta,0\nprincess_white_rose,4\nthunder_hawk,4\nharry_mason,4\nirvine_kinneas,4\nnanami_ao,4\nhirasaka_hatsune,4\nconomi-c5,1\nrotting,0\nasasow,1\nsmog,0\npsyren,3\nburn-up,3\ngeduan,1\npaji,1\nsubmarine_707r,3\nichikawa,1\ndark_eclair,4\nsomber,0\nsanada_taketo,1\nprincess_waltz,3\nkasumi_(suikoden),4\nnegativezero,1\ntomoyo_after,3\nseo_akira,4\nyukiusagi1983,1\nkudou_(gst910),1\ntendou_kasumi,4\ntonnura-san,3\nnobuya,1\nteyuruun,1\nyukishiro_mahiro,4\npawniard,4\nwhirlipede,4\nakiba_rika,4\ncno,1\nminamihama_yoriko,1\nuru_uzuki,1\nhepas_(haevest),4\nfrelia_(ar_tonelico),4\nkashiwa_(3920kashiwa),1\nmodel_zx_(mega_man),4\ntransformers_armada,3\nkoala_(one_piece),4\nkyomu_(7641),1\nhc_(razel1),1\nrurukichi,1\nwonchun,1\ncompression_shirt,0\nfuurai_(resuty),1\nmordred_(fate/apocrypha)_(cosplay),0\nkurohitsuji_lim,1\nnaltal,1\ndodo_(yatotoyatoto),1\nyukikaze_(warship_girls_r),4\ndaga_kotowaru,0\nsierokarte,4\njoe_rikiichi,4\nyuri_(chocho_q),1\nwight_(monster_girl_encyclopedia),4\nseri_(yuukasakura),1\nranpha_(princess_connect!),4\ntamase_miki,4\nkicchi_(tmgk),1\nblanket_hug,0\nlapis_(sennen_sensou_aigis),4\nunown_l,4\nzjl_baiqishi,1\nonigiri_hair_ornament,0\nkurona_(neko_musume_michikusa_nikki),4\nbitey_(arknights),4\nkyusoukyu,1\nkagemusya,1\nkubrick_stare,0\nmyu_(neorosi),1\nkarenina_(punishing:_gray_raven),4\nappletun,4\nnickit,4\n73suke,1\nmak066,1\nlicking_dildo,0\nmillaarc,4\nminertime,1\nv1v404,1\nmona_(2ch),4\nmifu_(b24vc1),1\ngreen_little,1\nred_fundoshi,0\narkfield,1\nkidatsu!_dungeons_lord,3\nnekoyanagi_kirio,4\nisabelle_(acerailgun),4\noshi_ga_budoukan_itte_kuretara_shinu,3\nshiny_tambourine,0\nthink_mark_think!_(meme),0\nswordsman_(sekaiju_4),4\nbokujou_monogatari:_yasuragi_no_ki,3\ncheckered_blanket,0\nkakon,1\nmission_impossible_(bkub),3\nlif_(ragnarok_online),4\nmoegi_(honey_122),1\nmina_carolina,4\npachi_(sugiyama0306),1\nsouma_mizuki,1\nmatilda_(tank),0\nrebel_alliance,0\nmikazuki_shigure,1\ntrevor_(pokemon),4\naya_tori,1\nha_(hura76752775),1\nmerryhachi,1\nsai_(saipoko),1\ntamiko_(paseri),1\nsakuramochi_n,1\nshunrai,1\nkoumei_(harmonizer),1\ngecko4488,1\nming_(3952862),1\nmattie_(ego_trigger),4\ntrunkdiary,1\nbaraba_baba,1\nlaputa_robot,4\nalknasn,1\nhelen_(claymore),4\ndh_(brink_of_memories),1\nmizuki_gai,1\nryuuenji_tasuku,4\nblue_(happinesscharge_precure!),4\nwakanita,1\nmillion_chain,3\nfukaziroh_(sao),4\nmosquito_girl,0\nayase_yuuki_(mikan_mochi),1\nboku_girl,3\nbaijiin_poison,1\nruru_(lulubuu),1\nyuzhou,1\nworthlessvalor,1\nsengoku_gensoukyoku,3\npolka_dot_sleeves,0\ndango-chan_(4shi),4\nkoneko_(nonnkimono),1\nshizu-chan,4\nhiga,1\nphino,1\nsin_mal,4\nmaou_(mitosansan),4\ncamouflage_bra,0\nyxyyxy,1\nsugawara_takurou,4\nanna_(omoide_no_marnie),4\ndorisu2,1\nfrilled_corset,0\nemu_(eomou),1\nkaranagare_4,1\ncoupy_pencil_(medium),0\noginouchihara_yuki,4\nkurumi_(koutetsu_tenshi_kurumi),4\nbakanoe,1\nsan_francisco,0\nsilver_meteor,1\nfai_fai,4\nnona_(goodboy),1\nnitamago,1\nfumyuun,1\nmizutani_megumi,1\nmitty_(made_in_abyss)_(furry),4\naikawa_aika,4\nponta_(matsuokazieg),1\nharu_(d-s-c),1\nvlad_iii_(fate/extra),4\ntachanka_(rainbow_six_siege),4\npurple_nightgown,0\naira_kanae,4\ndownes_(azur_lane),4\nmotonaga_hiroya,1\nnefertari_(tsukudani),4\nmayuzumi_makiha,1\nwinged_victory_mercy,4\nnoah_fantasy,3\nfinaltakenoko,1\nas4gi,1\ndeme_(karesuki),1\nrelio_db318,1\ncb,1\nwedding_peach,4\ncontrolline3,1\nfujiki_yuusaku,4\nmortal_kombat_x,3\nsakuraniku_umatarou,1\napple_peel,0\nharusaki_nodoka,4\naxel_syrios,4\njippe,1\nf-una,1\nmashu_(masyu_ut),1\ncafe_cuties_(league_of_legends),0\ninatomi_hibiki,4\npepeo,1\nstanding_on_shoulder,0\nyo_na,1\nnagoriyuki,4\ndonkey_kong_(game),3\nhoni,1\nisoi_reiji,4\nnakkasu,1\ntaxidermy,0\nmikochi_(hakumei_to_mikochi),4\neruza,1\ninoue_marina,4\ninugami_akito,1\nnekomanma_(byougatei),1\ndaikan'yama_ebisu,1\nkarasu_btk,1\nbyoin,1\nkamine_ayaka,4\ngyan,4\ncanoe,0\nmikaze_ai,4\nveemon,4\nmanmi,1\njohn_joseco,1\nkono_aozora_ni_yakusoku_wo,3\nhatoneko,1\nkonagi_(konotuki),1\nsquemezzo,1\nsowamame,1\nkusaka_eiki,1\nmakise_kurisu_(cosplay),0\nsuzuki_ken'ya,1\ntiona_hyryute,4\neina_tulle,4\nkosmos_beta,1\nmavis_vermilion,4\nyukinokouji_nobara,4\npowder_puff,0\nguriko_(mossari),1\nmayutsuba_mono,1\nyan-baru,1\nkono_oozora_ni_tsubasa_wo_hirogete,3\ntsukasa-emon,1\nciel_arc,1\njoker_(smile_precure!),4\na_flat_chest_is_a_status_symbol,0\ntianlluo,1\nbirch_(pokemon),4\ngirlsay,1\nsakura_honoka_(srhk0623),1\nbroken_arrow,0\nblack_egrets,4\nsplash-o-matic_(splatoon),0\nkikkaiki,1\nglowing_tail,0\ndahuang,1\nkurogoma_(haruhi3),1\nmiroku_(inuyasha),4\ncrab_on_shoulder,0\ndaichi_nono,4\nhanging_from_tree,0\npersona_q:_shadow_of_the_labyrinth,3\nyuuki_makoto_(ensemble_stars!),4\nanming,1\nkoori_chikage,4\nyuncha,1\nblueberry_hair_ornament,0\ntorikabuto_(flower_knight_girl),4\nneedle_(needlebomb),1\nbalthus_von_albrecht,4\nkokomachi,1\nshosudo,1\nbobamiruku,1\nsnowflake_pendant,0\nakari_(blue_archive),4\ninue_ao,1\nmitsurugi_lia,4\nditing_(the_legend_of_luoxiaohei),4\npositive_passion_(idolmaster),0\nkjerag_logo,0\nrune_factory_5,3\nchiaki_(shigofumi),4\nweyas_kayur,1\nregan_(hatsumi),1\nbaker_nemo_(fate),4\nmysterious_heroine_x_(fate)_(cosplay),0\npallette_(mega_man),4\nyan_vismok,4\nvhs_(girls'_frontline),4\nsyu45,1\nraiden_shogun_(cosplay),0\ndestiny_(takt_op.),4\npoppi_(reimu_endou),4\ntaste_of_a_liar_(meme),0\nakiha_gongen_(housamo),4\ntezcatlipoca_(housamo),4\nishikawa_mami,1\ntokimeki_memorial_girl's_side_4th_heart,3\nincredible_ecclesia_the_virtuous,4\nmiracles_of_the_holy_night_(umamusume),0\nmoja_(rainpoow),1\nnina_klatt,4\nataka_takeru,1\ncure_black_pose,0\nantonio_salieri_(first_ascension)_(fate),4\nizumi_(swimsuit)_(blue_archive),4\ndevy_lobotomy,1\npokemon:_the_first_movie_-_mewtwo_strikes_back,3\nyui_(princess)_(princess_connect!),4\nrinmmo,1\nmoizumi_shipon,1\nkurosawa_tomo,1\nlink_cable,0\nharuna_hisui,1\nicywood,1\nq_(street_fighter),4\nkazeha_(starrysky),1\nmintes,1\nfractale,3\ntsunogiri,1\nfirst_ken,0\nsuzurino,1\nminagawa_yuuhi,4\nkimagure_ringo,1\nshinonome_kazuhiko,1\nmao_(alepricos),1\ntangle,0\nkoyuiko,1\nnekoyuu,1\nnoise_(hakusen),1\nmaeda_inuchiyo,4\nwarumono_tomii,1\nayatan-kiri,1\nholding_to_chest,0\nchou_chou,4\nscrotum_piercing,0\nawashima_seri,4\nhiseki_(tknkkm),1\nnoshimasa,1\ntazbun,1\nzhou_yu_(ppaaqz1995),1\nnote_(dragon_ball),4\nimu_(senran_kagura),4\nmizoreame,1\nlouise_(fire_emblem),4\nanother_story,1\nkoron_chris,4\nkazane_mari,1\nlanmei,4\nuchino_chika,4\nkiu_(dear_deer),1\nao_(aoblueao),1\ntype_94_anti-aircraft_fire_detector,0\nhiwonoafu,1\nmitsuba-sama_(milkba-ng),1\ntsushima_(kaikyo),1\nkoyuki_(azumaya999),1\nmahou_shoujo_ikusei_keikaku_jokers,3\nad-6-0001a,4\npaayan_(hagakinorock54),1\nyoukoso!_sukebe_elf_no_mori_e,3\nmexico_salamander_(kemono_friends),4\njai_(whany1998),1\nyagyuu_katsuda,1\nwabiushi,1\nranan,1\njtaka,1\nfumotono_mikoto,1\nchi_xiao_(arknights),0\nshimotsuki_miri,4\nkorona,1\nadnachiel_(arknights),4\nichimonji_batsu,4\nthumbtack,0\nkotohane,1\npetag2,1\nrowan_(pokemon),4\nniiyan,1\nashfair,1\nmenoko,1\npoppippoo_(vocaloid),3\nnue_day,0\nnipa~,0\nsaisoku_no_yukkuri,1\nrerebrace,0\nyan_lie,1\ntime,0\nshiikeru,1\naaaninja,1\nkouno_(uiyoyo199),1\nx-wing,0\nhmk84,1\neien_no_juu_nana-sai,1\nmoriichi,1\nmacuahuitl,0\nfa_mulan_(disney),4\nkurosujuu,1\ncuckoo_clock,0\ntorpedo_(gad3757),1\nmizuki_saori,4\nhaoto_luna,1\nmilcona,1\naida_(aidia),1\nultra_seven,4\ntoy_boat,0\nnoda_kotone,4\nvermilion_city_school_uniform,0\nkarakoro,1\nchilli_646,1\nheidi_(gray_all),1\nle_delicatessen,1\nsamurai_calibur,4\nrulebreaker,0\nhopper,1\nnewhalf_with_newhalf,0\nsota,1\nsuper_robot_wars_t,3\nnew_balance,0\nmanga_time_kirara_carat,3\nninniku_mashimashi,1\nsummer_rose,4\nsakuragi_akira,1\nlatex_pants,0\nhornjob,0\nlows.,1\nbandaid_on_foot,0\nyotsuyu,1\nlazengann,4\nawarinko,1\nkisukekun,1\nchronoir,0\ncruel_gz,1\nsakana-ko,1\nvajra_(macross),4\nlarge_ribbon,0\ntonan_leopard,1\nplectrum_in_mouth,0\nkazama_jun,4\npulque,0\ntullece,4\nsprite_sheet,0\nkisaragi_hina,1\nhauto-san,1\nsten_gun,0\nlazymimium,1\nsaibe,1\ntakakura,1\nhastur,4\nari_(bleum),1\nsamidare_(kancolle)_(cosplay),0\npokemon_card,0\nfuyutsuki_asuto,1\nship_deck,0\nhaban_(haban35),1\nat4,0\nsakura_rock,1\njuno_emmons,4\nange_serena,4\nginnote,1\nzygarde_(50%),4\ndpea9,1\nvaramill,1\ntherrao,1\ntoyosaki_aki,4\nmorichan,1\nvivid507,1\nbunting,0\nancotsubu,1\nyuchio,1\nhisakabe_oto,1\nlempika,1\nurakata_(uracata),1\natelier_iris,3\nnagare_kei,1\npsychogun,0\nar-57_(girls'_frontline),4\ndp28_(girls'_frontline),4\nkikuru_(vtuber),3\nshazhiqiao,1\nnipple_sleeves,0\nsuppa_(hagakuresuppa),1\nmyr_(p&d),4\ncomforter,0\nfutakuchi-onna,0\ntyranu,1\nnagihashi_koko,1\npantyhose_under_buruma,0\ndwebble,4\namano_akari,4\nkise_(swimmt),1\norchestra,0\ndress_pants,0\nairgetlam_(fate),0\nmolly_hale,4\njapanese_tankery_league_judge_uniform,0\ntoenketsu,1\nfjt_(fjym2),1\nai_xiao_meng,1\nsuno_(imydream),1\ncastration,0\nnahanmin,1\nbyakko_(kemono_friends),4\nhiyake-chan,4\ngomibukurokarasu,1\ngiga-tera,1\ncharjabug,4\nbarrel_(live_a_hero),4\nqiqu,1\njabittoson,1\nkashiwagi_haruko,4\nmetal_sonic,4\nclawed_boots,0\nbyron_(pokemon),4\nshe_holds_my_weakness_(meme),0\nbekkomi,1\nkuuchuu_buranko,3\nsybian,0\nymr,1\ninhaling,0\ngen_(gen_7254),1\nfloralia,3\nbochibochi_(gyuuniku_6000),1\nundersized_breast_cup,0\nmajor_league_baseball,3\nfinland,0\nodoc,1\nobelisk,0\nmunaage,1\nyomi_(indigoriver),1\nchitu_hefeng_zhong,1\nkaga_nazuna,4\nayuko_(ayuko54bornthisway),1\nlee_siu,4\nmochityoko,1\nuehara_ayaka,4\nasami_lilith,4\njacuzzi_splot,4\npantherlily,4\nchitose-kun_wa_ramune_bin_no_naka,3\nczeslaw_meyer,4\nhyuuga_kai_ni_(kancolle),4\ntomatolover16,1\nshoukan_yuusha_to_f-kei_kareshi,3\norgan_rn,1\nsailor_moon_musical,3\nky_(ky990533),1\nmatamataro,1\nqrow_branwen,4\nlevi_elipha,4\nshichijou_aria,4\nakym,1\njeanne_d'arc_(mystery_treasure)_(fate),4\nmandudaein,1\njellyfish_girl,0\nyoshika_fuumi,1\ntaguchi_shouichi,1\nmatatabi_(karukan222),1\nmidoriya_inko,4\nmea_(hwaksal),1\nsnale,1\nerror1945,1\nbtms666,1\nfabiola_iglesias,4\nsinmo_(dolomang),1\nmugimugis,1\nhigashikata_joshu,4\nbump_(volleyball),0\nsigma_2018,1\npandora_party_project,3\nkitin,1\ncan_(honkai_impact),4\nbus_stop_sign,0\nhayato_(meromoni),1\nkazami_ryouya,1\nlocksuke,1\nochanomizu_hiroshi,4\nayakichi,1\nnyako_(lhq3p),1\njack_howl,4\nhala_(pokemon),4\nbokuya,1\nooba_jun,1\niwaki_hazuki,1\nhitsugi_katsugi_no_kuro,3\nj.c.14,1\nmii_(popotan),4\nbuffalo_bell,4\nmakkamu,1\nmgn0isi,1\nangelene,4\nkonatsu_karasu,1\npaku_paku,4\npochi-a,1\nuryuu_sakuno,4\nkoopa_clown_car,4\nart_deco,0\nshiro-inu,1\nstella_bremer,4\njndfh,1\namamiya_poran,1\nsolty_revant,4\nzippo_lighter,0\nclitoris_clamp,0\nnas-o,1\nd_tomoki,1\nnebukuro,1\nsuzune_kotora,1\nspider_boy,0\ncutepet,1\nshaggy_rogers,4\ntaotao,1\nneko_(k),4\nyukasu,1\nmiya_(tokumei),1\nruuen_rouga,1\nkugimiya_kei,4\nminaho_kazuto,4\nstriker_eureka,4\nwakaokami_wa_shougakusei,3\nnobu_baka,1\nonsen_nakaya,1\ngats_(nougats),1\nlace-trimmed_leotard,0\ndada_(esoragoto),1\njess_(jelee),1\nkit_(studio),1\nchinese_mythology,3\nrupika_(pso2),4\nmikoto_cluster,4\nmuzet_(tales),4\ncalenda_(kemono_friends),4\nshiki_makoto,1\nkiritani846,1\nliu_guniang,1\nrainys_bill,1\nsliggoo,4\nsoejima_shigenori_(style),0\nmeow_(space_dandy),4\nhato_moa,1\nshiroi_inu,4\nbrazuca,0\nspica_(sumaga),4\nshimesaba_(simesabaikka),1\n852_box,1\nkash-phia,1\nla_folia_rihavein,4\nmitsuki_(goomoku),1\nsteel-toe_boots,0\nuyuyuun,1\nug_(ugg),1\nkinokoko-kino,1\n'o'ne,1\nnjike,1\nzakku_(kya--193),1\nrio_(g_(genesis1556)),4\nopen_drawer,0\njuu_satoshi,1\nlast_chronicle,3\nwwwazxc,1\nkuroino_(poco),4\nbirdie_(street_fighter),4\nnaoto_(96neko96),1\nmikoto_(mikoto_r_a),1\nbird_of_paradise_flower,0\nhuyou_(awegk),1\nshoulder_devil,0\naisia,4\nmulticolored_neckerchief,0\nds_(ndsl),1\nd_jirooo,1\nfinger_to_nose,0\nnonohara_hime,4\nran_(7th_dragon),4\nkurogane_(tsubasa_chronicle),4\nosanai_yuuta,4\nfrilled_garter_belt,0\nhimekawa_hayuru,4\nsploot,0\ntokkyuu_mikan,1\nmakingtawawa,1\nichimatsu_kohina,4\nmahou_shoujo_tart_magica,3\nyamaguchi_mami,4\nsuzumi_(hetza),4\nalbacore_(warship_girls_r),4\nbraum_(league_of_legends),4\nozyasadayo,1\nsaki_(little_crown),1\nafternooners,1\njinnai_enta,4\nsenri_(senri_sen),1\ngray_(fire_emblem),4\ncygnet_(sea_star_on_shore)_(azur_lane),4\nhand_maid_may,3\nurano_ura,1\nkasukabe_tarou,1\nsamantha_(admiral_bahroo),4\ntriandra_(fire_emblem),4\nagro_(shadow_of_the_colossus),4\nkagelantern,1\nokyao,1\nwatashi_no_oshi_wa_akuyaku_reijou,3\nkhornette_quest,3\ncomiket_84,3\nhane_(15188414),1\nleonard_mitchell,4\ngiorno_giovanna's_pose_(jojo),0\nmakino_yume,4\nyoshinao_(yoshinao_0203),1\narcher_alter_(fate),4\ncrushed_can,0\ntoyomi_13,1\nwhispering_for_nothing,1\nshinano_(moonlit_chrome)_(azur_lane),4\ntaiyou_akari,4\nbang5410,1\n021_shiro,1\ntsumire_(takane_lui),4\nsonota_taisei,1\nquan_zhi_gao_shou,3\nred_fire,0\nplaid_kimono,0\nnekoman_(nukomann),1\nmarina_(mrn9),1\ntensai_ouji_no_akaji_kokka_saiseijutsu,3\nhinata_(ryohinata),1\nlarge-spotted_genet_(kemono_friends),4\nsandrone_(genshin_impact),4\nroko_roko_(doradorazz),1\nmystra77,1\nun_(le_monde-alternatif),1\nadele_(fate),4\naizawa_ema,4\ncure_precious,4\nderedere,0\niwashi_mizuni,1\nkrita_(medium),5\nkazuki_kan,1\nariel_(yu-gi-oh!),4\nclaymore_(sword),0\npush_down,0\nkawamoto_akari,4\nbindle,0\nouma_bunshichirou,1\nmikuni_(open-ranka),1\nmikogami_rimu,4\nxiin,1\nshowdown,0\nkawana_misaki,4\ninui_arihiko,4\nhayami_ayumi,4\neternal_melody,3\nnami_no_manimani,3\nyugiri_perserte,4\nbakugan_battle_brawlers,3\nship_in_a_bottle,0\npukao,1\nnatsuhara,1\nmita_kurumi,1\njohan_liebert,4\nmomono_shiori,4\nokamura_hijiki,1\nakari_maki,1\nmiyasumi_(jam_session),1\nearthquake,0\nizuna_jinkuro,4\nalexander_anderson,4\nshiwashiwa_no_kinchakubukuru,1\nxenosaga_episode_ii,3\nmonmonism,1\nquick_man,4\nimanaka_koutarou,1\ntorinoko_city_(vocaloid),3\nartstation_logo,0\nmiyamae_tomoka,4\nnil_sunna,4\njuri_(shiningred),1\nnobicco,1\nkomo_da,1\ninukoro_(spa),1\nmirusa,1\nwaha_(artist),1\nancient,0\ntales_of_the_tempest,3\ntakatsuki_yoshino,4\nblackheart,1\nkaishinshi,1\nkohinata_raichi,1\nnobusnow,1\nmagnetism,0\nmihama_machi,1\nokeno_kamoku,1\najidot,1\nbroken_heart_print,0\nkusumoto_touka,1\njiliang_jiying_yumao,1\nmatsu_symbol,0\ncocaduel,1\nayuya_naka_no_hito,1\nwasabichan,1\nni_piao_xiancai,1\ntemurei_(vovovov),1\njean_popo,1\npico_(p_i_c_o),1\nse.a,1\nhatsuki_kaname,1\nfutaru_usagi,1\naharen_reina,4\nharpoon_gun,0\nkumanomi,1\ndo9bessa,1\nyokoi_rumi,4\ncaramel,0\njohann_trinity,4\nrenaissance_clothes,0\ntumbler,0\nmikami_yuuki_(nl8you),1\nophelia_(bigrbear),4\nkollerss,1\ndragon_star2,1\nwan_sheng_jie,3\nholding_cooking_pot,0\nvinsmoke_reiju,4\nmarty_mcfly,4\nshirubaa,1\npipkin_pippa,4\naion,3\naerokinesis,0\nkurikabacha,1\ngenkai_tokki_monster_monpiece,3\nharu_(beastars),4\nrefrigerator_magnet,0\nkenken_(keuken),1\ndream_world_(touhou),0\nyeruen,1\nkafeifeifeifeifeifei_jiemo_jun,1\nsunapua,1\nkofune_mio,4\nwojak,4\nsuzuno,1\nyasumori_zen,1\nhootsie_(nanashi_mumei),4\nmiclone,0\npolka_dot_neckwear,0\nizuriha_kagari,4\nrob_lucci,4\nshoura,1\nzell_dincht,4\nchocolate_on_penis,0\nmayu_(airmods),1\nniwata0,1\nlong_breast_curtain,0\nmafen,1\ntsukishiro_kou,1\nnaked_vest,0\npretzel_pose,0\nmanaka_misato,4\nwatarai_asuka,4\ngod_knows...,0\ntyke,1\nbattle_spirits:_burning_soul,3\nblood_lad,3\nrenzu_(mushishi),4\nspiz,1\nyoukai_watch_3,3\nsonic_speed_monkey,4\nbungaku_shoujo_(danshi_koukousei),4\nforeground_text,0\nmiyako_yoshika_(living),4\nenraenra_(youkai_watch),4\ncombo_counter,0\nmunmu,1\nun_nm5sy,1\nsky_surfing,0\nume_(326310),1\ntigern,1\nk701,0\nnerunerunerune,0\nbearwitch,1\nsxupxdxxy,1\ntoho-77,1\npia_carrot_e_youkoso!!_g.o.,3\ncathyl,4\npinoaisu,1\nsomalisu,1\nringo_komachi,1\ntenkomori_(nirastrator),1\nmercenary_(zero_kara_hajimeru_mahou_no_sho),4\nnameneko_(124),1\njlien-,1\ntakashima_hiromi,1\naura_(a440),1\nproject_x_zone_2,3\nshy_gal,4\nfeather_(granblue_fantasy),4\nblizzard_(company),3\notogari_adonis,4\nshirogami_seisho,1\nglasses_boy_(osomatsu-san),4\nshihoru_(grimgar),4\nstudio_tri4,3\nmy_daily_life_in_the_otaku_club_isn't_normal,3\ndaitai_sotogawa_(futomomo),1\natatatamu,1\nhiiragi_tsubomi,4\napplying_bandages,0\ndayshiart,1\npukonuu,1\nchong_(547342983),1\nsugai_(4ugaii),1\nyuniiho_(vtuber),4\nkiki-yu,1\nmiss_fortune_(idolmaster),0\nmasco_(character),4\nmikaku,1\nmotto_notto,1\ncu_chulainn_(fate/stay_night)_(cosplay),0\niteza_(flapper_girl_25),1\nkawausoman,1\nenoki_art,1\nqqqne,1\nnz75_(girls'_frontline),4\nswiftsure_(study_hall_cyclamen)_(azur_lane),4\ndunkerque_(afternoon_venus)_(azur_lane),4\nblonde_ponytail_girl_(mdf_an),4\norc_(ii_orc_no_hi),4\ngrizzly_mkv_(weekend_cop)_(girls'_frontline),4\ntsuyudakunanoda,1\nlavinia_whateley_(emerald_float)_(fate),4\nkyder,1\ncure_magical_(ruby_style),4\ntora_(torayarou),1\nfujimaru_ritsuka_(male)_(anniversary_blonde),4\nkirenenko_(usavich),4\nedward_teach_(final_ascension)_(fate),4\nnier_(lover_by_the_lily_lake)_(granblue_fantasy),4\natsuage_(kakinop),1\nootori_kanae_(soukou_akki_muramasa),4\nedo.,1\nkno_(anahita),1\npaco_(eien_mikan),1\nuchuu_kaizoku_captain_harlock,3\nswimsuit_under_swimsuit,0\nstardrop,1\nakibakei_kanojo,3\nichiko_oharu,1\nspider-man_(cosplay),0\nnobunaga_no_yabou,3\nkaburaya_seiden,1\nkurodani_yamame_(spider),4\nmidori_(searchlight),1\narai_teruko,1\nrakuma_kanori,1\nfujimoto_atsuko,4\nawayuki_tobari,1\nshimoku_reyu,1\nshouwaru,1\nyohaku_aki,1\nnekoro_(nekokabuto),1\nkha'zix,4\nmasunosushi,1\nkiryuu_aoko,1\nkiyomasa_ren,1\noke_(okeya),1\nare_(arearee),1\nunmei_no_clan_battle,3\nasutarou,1\nhikyakuashibi,1\nkawacchi_hirohiro,1\nmaruze_circus,1\nichigoame,1\nichikei,1\nbandeau_pull,0\ntanaka_misa,4\nrapping,0\nelementalist_(dungeon_and_fighter),4\nkoto_seori,1\ncac_itinose,1\na-er_(akkij0358),1\nmiyamizu_yotsuha,4\nshiroi_ko_(otokuyou),4\nkugatsu_tooka,1\nmariana_princilla,4\npeku_(science_santa-san),1\nnishigoori_takeshi,4\nkosencha,1\npinkiepies2,1\ndorothy_(shingeki_no_bahamut),4\nirodorimidori,3\nibuibuyou,1\nchiru_(218mg),1\nrhinoceros_ears,0\ncalifornia_sea_lion_(kemono_friends),4\ntatsuno_(saya-tatsuno),1\nberkut_(fire_emblem),4\nmeng_ge_3_(565571710),1\n1bitheart,3\nmirutu,1\nkemonomichi_(blue_black),1\nlunaraven,1\nraamen,1\ni_want_my_hat_back,3\ngrisaia_no_meikyuu,3\nvdonburi,3\nhanaichi_(hana13),1\noricorio_(pa'u),4\ninuyama_akari,4\nfur-trimmed_panties,0\nlena_sayers,4\nsoraru,4\noingo,4\ntosaka_(tosaka0001),1\nizumo_no_okuni_(fate),4\nnazgul,4\ngrotle,4\nrushian,1\nokari,1\njudge_martin,1\ncutting_clothes,0\nvvcephei,1\nkamin,1\ngenesic_gaogaigar,4\nladfa,1\nkaz_(shade),1\nxin_zhao,4\nv_gundam,4\nane_to_boin,3\nyoshinari_kou,1\nsumishuu,1\nkousaka_rino,4\nbloodberry,4\nyozora,1\nblackjunk,1\nkatoki_hajime,1\namane_(funfun),1\ntable_flip,0\nsaikunartworks,1\nling_mou,1\namino_kohaku,1\nsnowflyer,1\nyamineko,1\nmaster_gundam,4\narai_kei,1\nlord_guyis,1\nokubyou_yuuki,1\nmikumix,3\nmujin_gattai_kisaragi,3\nryao,1\nmakaroni,1\nemu_(losspass),1\nsabu_(sabudenego),1\n10r_(tulipano),1\nprincess_kraehe,4\nf.l.u.d.d.,4\nnishikata_chii,4\narya_(tianhua),1\nken-san,1\nhakugin006,1\np.i.l.,1\nshunga_youkyu,4\nfmu,1\nitagaki_hako,1\nfoxhound_(azur_lane),4\ntonkatsu,0\nsaucepan,0\nmurayamawataru,1\nhara_hikaru,1\nlutecia_syndrome,1\ntail_lights,0\nkonimaru,1\nnekolook,1\nyztp_(sanmery),1\ngas_tank,0\nandroid_(os),3\nxyanaid,1\njinguuji_marimo,4\nmogtate,1\nzouni_(xavier),1\ndodome_ichika,4\nakado_harue,4\nmiso_tanuki,1\ngeriyarou,1\nmagmortar,4\nmishy,4\nsukeo_(nunswa08),1\nharryham_harry,4\nhina_(hinalovesugita),1\npistachiocream,1\nbaronia,1\nlinus_falco,4\namoonguss,4\nsnufkin,4\njupiter_europe,1\nchikuwa_(tikuwaumai_),1\nyellow_male_swimwear,0\nvenn_(vebonbon),1\nyuki56,1\nkartana,4\nkurokuro_illust,1\nimperial_german_flag,0\nover_the_collar_(idolmaster),0\ndaijoubu_da_mondai_nai,0\nkaimuu_(fahrenheit724),1\ntahnya,1\nmidori_(cafe-chan_to_break_time),4\nsawawse,1\nbeaver,0\njoker_(dc)_(cosplay),0\nsetia,4\ngoogoogaagaa,1\nmano_(narumi_arata),4\nbirdhouse,0\ncaladbolg_(fate),0\ndamian_wayne,4\nmuppets,3\naversa_(fire_emblem),4\nasaba0327,1\nkusano,4\nooeyama_ken,1\njack_of_spades,0\nwitches_5,0\nnerua,1\nnunotaba_shinobu,4\nbeatrix_bremer,4\nz23_(philosophy_sensei)_(azur_lane),4\nsatou_yasu,1\ncor_leonis,4\nwatanabe_ayasa_(jackdenpa),4\ncanon_(company),0\ncarabiner,0\nbroken_chopsticks,0\nbent,0\nmihoto_kouji,1\nknight_servant,4\nyozu_(yozu0420),1\nkujikimi,1\nkunai_uri,1\nkani_kanizawa,4\numbrella_octopus,0\ntsuyukusa_(eeta7273),1\ns_ibane,1\nmelanie_malachite,4\nuwabami_breakers,3\nclitoris_leash,0\nhei_(heiyohei),1\nkarupisusawa,1\nwulie_errr,1\nkissing_leg,0\ntornadus,4\npersonality_core,0\nclam_curry,1\nayaoshiro,1\nqi_yuan_zhi_yu,1\nenvy_baby_(vocaloid),3\nhayato_rikin,1\ncombat_s-ko,1\naida_riko,4\netna_(disgaea)_(cosplay),0\njaeger_(girls'_frontline),4\nshiratsuyu_(nagatukihakuro),1\nsekine_irie,1\nsiren_(p&d),4\nmoppo,1\nyoshikawa_tomoko,4\noratoza,1\ngensui_(auoua),1\nillumi999,1\nmakano_mucchi,1\nchil0107,1\nhayame_(m_ayame),1\nkanzi,1\nmuki_(muki_kunxd),1\ns_ryouchi,1\nmayhem_art,1\nshepherd,0\nbastet_(mythology),4\nalvis_hamilton,4\nwo_you_yibei_jia_wanli,1\nfudo_shin,1\nblade_catching,0\nu-d,4\namaroku_neko,1\nlemur,0\nmagi-cu,3\nplanetes,3\nepiphyllum,0\nsasasa_(nashi),1\nyoumu_day,0\ngomeisa_(live_a_hero),4\nlaovaan,1\nflabebe_(red),4\nmr._satan,4\nchii_(sbshop),1\nyuuno_arashiko,4\ntoo_many_flowers,0\nnine_(lord_of_heroes),4\ntouchuu_kasou,1\nshou_mai,1\nzumizu,1\nyappariga,1\nhatake_michi,1\nmoro_(mononoke_hime),4\nguame,4\nthymilph,4\nwatata13,1\nkamiki_mikami,4\nshikishima_krile,4\nsweetonedollar,1\ntoy_robot,0\nmirunai,1\nu_(lastcrime),1\ndofus,3\nsteam_(platform),3\nfragran0live,1\nnishinosora_yoichi,4\ntsukishiro_mina,4\ntsutsumi_kinuka,4\ncomb_over,0\nsuzunone_seven,3\nkachi,1\noobashin,1\ngiwa,1\ntsutsugami_gai,4\nmisuzu_(iridescence),1\nfutaba_jun,1\nnii_(ao_no_exorcist),4\nmame-p,1\nebihara_ai,4\nshirayuki_mutsumi,1\nbring_stabity,4\nmashiro_botan,3\nero_shocker,1\nsee-through_coat,0\nshimofuji_jun,1\nchikkuru,1\nhiiragi_kei,1\nitsuka_tenma_no_kuro_usagi,3\nbomberman_jetters,3\nhitobashira_(1746164306),1\nkurokiri6630,1\ndaiki,1\nmutsuki_ginji,1\nswordsman_(sekaiju),4\nkogawa,1\noo_gata_ken,1\nsetouchi_kurage,1\nnohara_hiroshi,4\nluft,1\nshenhua,4\nskywaker,1\ngalaxy_fight,3\nsniper_wolf,4\nbartholomew_fatima,4\nmatsuzaki_yutaka,1\nsiren,3\npriecia,4\nsaotome_hiyori,1\nshikihime_zoushi,3\ntorque,1\nroten_(rotenburo),1\nwalk_cycle,0\nmepo_(raven0),1\nyanagi_joe,1\nwaeba_yuusee,1\nfeb_itk,1\nheart_sutra,0\nhadean92,1\nmimippu,1\nsd_sengokuden,3\nonsen_tengoku,1\nninomiya_rui,4\nnoda_miki,4\nsawatari_reika,4\npatoto,1\nkuzukago_(bitchmaker),1\naura_kingdom,3\nyuuta_kanami,4\nzhen_long,1\ncoelacanth_(gyotaku),1\ngreentree,1\ntesagure!_bukatsu-mono,3\nyajima_caroline,4\naokiku,1\nkaris_(elsword),4\ndoi_shizuha,4\nsuzuna_(najaran),1\ncommissioner_insert,0\nheika_(heikahp),1\nporocha,1\niko_(i-my-16),1\ntaiki_(ozone),1\ngabi_braun,4\nabe_(kumayu),1\npanzerkampfwagen_38(t),0\nsuvin_(mononochi),1\nataru_(7noise),1\nkaguya_(queen's_blade),4\nkoretsuna,1\npapo,1\nracket_ti1,1\noro_(street_fighter),4\nplaid_collar,0\nmiloku,1\npeachpulsar,1\nkorea,0\nomega_rio,4\ntiger_rmn,1\nsaya_(majo_no_tabitabi),4\nshiro_yurine,1\nsouler_(fresh_precure!),4\ndroite_(tales),4\ngauche_(tales),4\nanthiea,1\nmm_(kemeko_deluxe),4\nazukiko,1\nsymbol_ricochet,0\nmiyajima_reiji,1\nfuyukayui,1\nikaruga,3\nparker-hale_idw,0\nkaidou_mitsuki,1\nkanayama_nao,4\ncecilia_(acerailgun),4\nmahan_(warship_girls_r),4\nlatex_skirt,0\natric18,1\npeach_luo,1\nsherumaru_(korcht06),1\nkevin_(seiken_densetsu_3),4\nquan_(fire_emblem),4\ntougou_tsuyoshi,4\nomizu_(h2o),1\nparasite_oyatsu,1\nball_guy,4\nhelena_blavatsky_(christmas)_(fate),4\nsatsuki_kei,1\nitsukushima_takako,4\nhitode_(ziburi),1\nkairi630,1\ncraft-cs,1\ngaien_(willtame),1\nmorris1611,1\nyellow_serafuku,0\ntransparent_butterfly,0\nkei_(keigarou)_(style),0\nender_lilies_quietus_of_the_knights,3\nsunadori_oruka,4\nmuaooooo,1\nzero_project,3\namafuyu,1\nstar_wars:_revenge_of_the_sith,3\nmamadasky,1\nshiro-chan_(mignon),4\nptilopsis_(serenity)_(arknights),4\nnagaoka_shiho,4\nmiyabi_mt-b,1\noff-shoulder_coat,0\nmitsuru_(pixiv_34028718),1\nbroken_pillar,0\nbatabiru,1\nhamidashi_creative,3\nazami_masurao,1\ndigimon_adventure:_(2020),3\nkmbk0209,1\nrolling_sleeves_up,0\nmagazine_ejection,0\nextreme_dangling,0\nshiono_(0303),1\naruvina_(gu_luco),4\nluo.,1\ntynamo,4\nwindyakuma,1\nlast_night_good_night_(vocaloid),3\nchimosaku,1\nmulticolored_thighhighs,0\nsiren_(devilman),4\nibui_matsumoto,1\nroutes,3\nboy_meets_girl,3\nharegama_shiina,1\neisu_(eith),1\nbinan_xian_lu,1\nyuzua,1\nosanai,1\nleon_v,1\nbrasowa,1\njariinu_(gomasionori),1\nz.dk,1\ntomoe_mamiya,4\narara_cocoa,4\nnanao_(skb48_n),1\nproducer_(idolmaster_side-m_anime),4\nglaz_(rainbow_six_siege),4\nfuji_izumi,4\nmochi_nabe,1\nwest_virginia_(azur_lane),4\nhino_matsuri_(osananajimi_ni_najimitai),4\narihara_nanami,4\nrock-bomber,1\nkomazuki_(komaworks240),1\nabe_no_seimei_(onmyoji),4\nlucky_keai,1\nkyou_kara_ore_wa_loli_no_himo!,3\nvalkyrie_profile_anatomia,3\nemori_el,4\ntsuneki_hikari,4\nvidar,4\nsk816,1\nmirai_ticket,0\njammeryx,1\npatapon,3\nlost_elle,1\narjuna_(versus)_(fate),4\ngardavwar,1\nkizaki_emi,4\nhcsb,1\nshimo_(shimo332215),1\nelectric_kettle,0\ncunimura1584,1\n3finger_hand,0\nben_10:_omniverse,3\n00tea,1\nnanahira,4\ngoe,1\ncall_of_duty_4,3\ntatsuwo,1\nchar_aznable_(cosplay),0\nuta-garuta,0\nhimono_xeno,1\niranon_(new_iranon),1\nnumahana,1\nhafuku,1\nkamato_il,1\nsoriya,1\nmanyuu_hikenchou,3\npurple_bandana,0\nrata_(m40929),1\nkronie_(ouro_kronii),4\ndaijuuji_kurou,4\ndon_(street_fighter),4\nsuper_sonic,4\nbenko,1\ntarantula,0\naoyama_mio,4\naqua_centolm,4\ngung,1\nmi-24,0\nmakino_nanami,4\nman_(trance),1\ncool_your_head,0\ntana_(garyuh-chitai),1\nkurumi_kobayashi,1\neuropean_princess,4\nshiosato_jun,1\ntaking_off,0\nscorpio_milo,4\nhizaki_ryuuta,1\nwhite_album_(stand),4\ngyaru_v,0\ntouhou_(game),3\ndefensive_wall,0\nasha,1\ncerberus_arts,1\nimura_setsuna,4\nmogiko,1\nking_boo,4\nturks,0\nijuin_megumi,4\npitch_(kirby),4\nillusion_connect,3\nhamura_mayu,1\nfancy_glasses,0\nmushiboy,1\nakakokko_(niro_azarashi),1\nshiromamekei,1\nrurisakura,1\ntsuneaki_(dosnan),1\nimuhata_shimuro,1\nyougata,1\ndrawinglee,1\nsakura_ino,4\nnika_(nikasa_an),1\nxong,1\nmechazawa_shin'ichi,4\nsasa_ichi,1\nalteil,3\nwooser_(character),4\nyukirin_(nagatoyuki_ibukifuko),1\nbrawly_(pokemon),4\ncrea_dorosera,4\nrickshaw,0\nsukeno_yoshiaki,1\n114514,0\netama_quomo,1\ncat_shi,1\nyuuki_(yuuki333),1\nribbon_girl_(module),0\nrapt_(47256),1\ndiabolic_esper_(elsword),4\nxxoom,1\nradio_(mei99),1\nnanakusa_nazuna_(kouji_(campus_life)),4\ndarkgreyclouds,1\ncum_on_mask,0\nmonster_kid_(undertale),4\nisland_(game),3\nsonozaki_noriko,4\nframe_(idolmaster),0\ncloud_kingdom,3\nselim_spark,4\nlinaria_(granblue_fantasy),4\ntotallyiryanic,1\nlamium_(artist),1\npyra_(xenoblade)_(cosplay),0\nshoron,1\nmikafen,1\nswindler_(akudama_drive),4\nleon_fou_bartford,4\n96nokimihito,1\nfors_wall,4\nponpon_nun,1\nsuperboy,4\nyui_(kuro_kosyou),4\nbonnie_(bunny_gif),4\nnayutalien,0\nprinz_eugen_(kancolle)_(cosplay),0\nastolfo_monster_cosplay_(meme),0\nsovetskaya_belorussiya_(relaxation_stratagem)_(azur_lane),4\nokinami_kai_ni_(kancolle),4\nqi2341,1\nharpuia_(mega_man),4\nhilimuc,1\nmilady_(mechanical_buddy_universe),4\ntype_4_(girls'_frontline),4\nshirai_yu,1\nandychen,1\nbloop_(archives),1\nloss_time_memory_(vocaloid),3\ntelomere,1\nhair_mustache,0\nyig_yuki_(yig-gha),1\nviiiper,1\nkaga_(exalted_white_wings)_(azur_lane),4\nntw-20_(the_aristocrat_experience)_(girls'_frontline),4\nhassan_of_serenity_(lostroom_outfit)_(fate),4\ntamamo_cat_(lostroom_outfit)_(fate),4\nmama_(marui_shiro),4\nhikage_monogatari,3\nmarie_antoinette_(animejapan_2016)_(fate),4\nlucia:_crimson_abyss_(punishing:_gray_raven),4\nyukiri_(l_ii),1\nvoyager_(third_ascension)_(fate),4\nokii_(oh_ki_ik),1\nkomaru_(himouto!_umaru-chan)_(cosplay),0\nmarmot_tail,0\ngacha_(ssaketen),1\nkodou_mikoto,1\ntodo_(masa3373),1\nedo_tatsuki,1\ngill_(street_fighter),4\nyamano_(151515),1\nyi_lee,1\nkinokko,1\nmisumi_kouji,1\ntokugawa_sen,4\nsanada_yukimura_(hyakka_ryouran),4\ngarrote,0\nmomori,1\nkemonomichi,3\nsakuyabm,1\nflower_panties,0\ntoo_mizuguchi,1\nmoekon,1\nelfleda_mirjasdottir,4\nhanno,1\nsakana_(packetsjp),1\nsteyr_tmp,0\nkuro_(miku_plus),4\nmolatoliamu,1\nnozarashi_satoru,1\npltrgst,1\nnakasaki_hydra,1\nmizuhara_hayari,4\nmuhamaru_yuni,1\nfukurou_(suga0930),1\ndororosso,1\nkeffiy,1\nshizumi_satou,1\nmiyoshi_yun,1\nzentai,0\nmistral_(metal_gear_rising),4\naoi_tori,1\nsalvatore_(disgaea),4\nsun_zha,1\nbeni-bana,1\numa_(ninjin_misaki),1\nbamboo_scroll,0\ntsugumi_(uzurabird),1\nkurashina_yuzuki,1\ntsuwabuki_(souma_(ordures)),4\nyuki_sizuku,1\ndana_(ys),4\nsusanghan_messenger,3\nsotoka_rakita,4\nmash_kyrielight_(enma-tei_uniform),4\nrelaxing,0\npawmi,4\nmiwa_(ahyuck),1\nsunomiya_sana,4\nusada_hikaru_(cosplay),0\nlunar_wing,3\njet_kimchrea,1\nchyopeuteu,1\naqua_border,0\naonagi_ibane,1\nkasane,1\npassionlip_(fate)_(cosplay),0\nnishiyama_maruta,1\nalice_(fate),4\ntree_13,1\nesg_(essagna),1\ndbdkitty,1\nparubinko,1\nrivals,0\nkrab_(fumekrab),1\nhatena_(nazequestion),1\nphilia_felice,4\nksg_(girls'_frontline),4\npinki_o64,1\nsi10ra,1\nakira_(usausa),1\npolka_dot_pants,0\nkisaragi_yaya,1\nburan_(22x),1\nbacun,1\nmizuiro_raika,1\njisu_lee,1\npink_shawl,0\nmori_toshimichi,1\nfurutaka_(azur_lane),4\nnayuta-kanata,1\nodradek,0\nashida_machi,4\nyagi_mutsuki,1\nsakura_momoko,4\ntapi,1\ncharlotte_(last_origin),4\nbobbles,0\nendless_eight,0\nrisu_(ritharte),1\nskull_choker,0\nluna_(epic_seven),4\nuexkull,4\nshirotaka_(5choume),1\norange_male_swimwear,0\nnorfolk_(azur_lane),4\nsennen_suisei,1\ndimension-3_(idolmaster),0\nurie_kuki,4\nstar_guardian_pet,0\nchild-box,1\nlop_rabbit_ears,0\nsuke_akurou,1\nedwintarm,1\nzhi_jiyang,1\nmegu_(pixiv9460065),1\nshirabe_shiki,1\ndelichuu,1\nnagumo_kuu,1\ncrotchless_bikini,0\nballista_(sekaiju),4\nno_undershirt,0\nshao_(shaorouhong),1\nkurata_tome,4\nprint_bandana,0\nglamrock_freddy,4\nparaietta,4\nkakita_(92m),4\ntri-stringer_(splatoon),0\nmichirutnk,1\nkatakai,1\ninkune,1\nsig_550,0\nchocolate_on_clothes,0\nyilan_un,1\nacademy_d.va,4\nikasoke_(likerm6au),1\nosatsu,1\nlive_twin_ki-sikil,4\nfn_scar_17,0\nhair_bondage,0\nuri_uri,1\nbrave_fencer_musashiden,3\nmono_02,1\nrobocop,3\nwhite_mage_(cosplay),0\ny_o_u_k_a,1\nsuzumura_kirie,1\nmikoto_kei,1\ngunner_(dungeon_and_fighter),4\nd-boy,4\nautogyro,0\ncarlos_oliveira,4\npota_(bluegutty),1\nsazaki_hiyoru,1\nkuudere,0\ntraditional_dress,0\nanthurium,0\nchloe_(sciamano240),4\nxwu,1\ndon_quixote_(limbus_company),4\nkatagiri_non,4\nimo_norio,1\nstock_pot,0\nlerome,1\nkawakami_tetsuya,1\nlicking_thigh,0\nkite_(hunter_x_hunter),4\nvic_viper,4\nmitsukichi,1\nmulticolored_choker,0\ngalarian_articuno,4\nkeitomato,1\nmanbagi_rumiko,4\nasama_(drift_in),1\nmozuku_(mozuuru0323),1\nnoppo_(tarstation),1\naka_tonbo_(lovetow),1\n88942731ne,1\ncaisan,1\nyoshida_ken'ichi,1\nnod,1\nlily_c._sherbet,4\nmessina_(jojo),4\ndracula,4\nsaitou_shuka,4\nakai_homura,4\npride_chicken,1\nrainli,1\nlyxu,1\nmatsuzaka_satou,4\nyuutsuki_hina,1\nchristine_(kuro_(kuronell)),4\nfox_costume,0\nran_(shugo_chara!),4\ncasablanca_(azur_lane),4\nkongya,1\nk9999,4\nred_brooch,0\nzamazenta_(crowned),4\nyear_of_the_horse,0\ngalarian_linoone,4\nshirota_mizuki,1\nswarm,0\nmyurumyuru,1\nkoma_yoichi,1\nakiki_(kiki),1\nscup,1\nosiaarah,1\nunown_d,4\ncampanula-star,1\ndoran_(dorannomai),1\nroyal_bitter_juice,0\nplaque,0\nrascal_(n119),1\nnarwhal,0\nemergency_exit,0\nseiya_(iiseven),1\nlee_byung_hee,1\nnoka_(noka8103),1\nunown_c,4\nkunogi_ai,4\ngal_gun_(series),3\nshindou_(fuguri),1\nshiki_natsume,4\nmatsuo_shogo,1\nraion_(inoueraion),1\nvalkyrie_(last_origin),4\nmoto_toshi,1\npineco,4\nkuroida,1\nkeldeo_(ordinary),4\nsilicon_creature,0\nrebel_pilot,4\ntyuraba,1\nzuima,1\nkaru_(ishiken),1\nshima_tokio,1\nueda_yumehito,1\nshiliuyexiaohei,1\nhoushiruri,1\nryokucha_(i_cobalt),1\nkagami_matsuri,4\nkisaragi_attention_(vocaloid),3\nzettai_yarumoni,1\nli_jianliang,4\nzig90,1\nkuro_namako,1\nnishin_(nsn_0822),1\nsunflower_petals,0\ndrawdream1025,1\nkotatsu-spirit,1\nfushicho,1\ng0ringo,1\nvirtual_boy,0\nssumbi,1\nalien_(psr992),1\nkatakori_sugita,1\nayase_asagi,4\nhair_straightener,0\nh26r,1\ntk_(takotsuboya),1\nyue_yue,1\neffie_(street_fighter),4\nekusa_takahito,1\nsiegmeyer_of_catarina,4\nsaito_piyoko,1\nnatsu_yasai,1\nlimha_lekan,1\nri_(qrcode),1\nimitation_black_(vocaloid),3\nargon,1\nsingle_scoop,0\ndrawing_on_own_face,0\nhaitukun,1\nzatou,1\nishida_mitsunari_(sengoku_musou),4\nishida_mitsunari_(sengoku_basara),4\ngirl_friends_(manga),3\ntatsuyoshi,1\nsirius_enjoliao,1\ntomokane,4\ne-nya,1\nsonic_and_the_black_knight,3\noto,1\nryou_(kimagure),1\nmiyane_aki_(radical_dash),1\nkasugano_tsubaki,4\nmetae,1\narchienemy,1\nragnarok_origin,3\nhijikata_keisuke,4\ntamase_tama,1\ncyrille_(shining_force_exa),4\ninaba-no-kuni-tottori,1\narimatang,1\nooki_futaba,4\nmr.milk_caramel,1\nfre,1\npaladin_(warcraft),4\nyakuru,4\nyun_(neo),1\niyamato,1\n123hamster,1\nnioti,1\nhizuki_aki,1\negg_carton,0\ncrawdaunt,4\nforretress,4\ncum_on_bed,0\nkotobuki_toro,1\nkasetsu,1\nkirihane,1\nbalrog_(doukutsu_monogatari),4\nmaeashi,1\nkano_hito,1\ntakasaki_manabu,4\nitsuka_todoku_ano_sora_ni,3\nazuma_mayumi,1\nparasite_eve_the_3rd_birthday,3\nyoshio_(440),1\nnatsume_(hidamari_sketch),4\narai_kuma,1\nkasuteru,1\nplasma_sword,0\nred_uniform,0\nsinister,0\ncum_on_chest,0\nkanda_momo,4\nlilith_(ayanami_rei),4\nsorakura_shikiji,1\nri-ko,1\nyarizakura_hime,4\nnishijou_nanami,4\ndeep_grand,1\nmagomago,1\nhattifattener,4\ngundam_00p,3\nmystic_knight,4\npera,1\nluu,1\nkomuro_takashi,4\nsea_anemone,0\nbeniko,1\nhashimo_yuki,1\namanooni_touri,1\nanba_kohaku,1\nyukimura_anzu,4\nspawn,3\nrecipe,0\ncuilan,4\nnamatarou,1\nnekokan-nekokan,1\nkuro_(1968),1\nkiriyama_rei,4\ntachibana_chata,1\nlibus,1\nseitokaichou-chan_(minato_ojitan),4\nbeartic,4\ninakoi,3\nbuchou_(houkago_play),4\nyokohama,0\nbetrayal,0\nvincent_brooks,4\nmoldavite,3\nkojima_kirie,4\n360_(taiyo360),1\nasukaru_(magika_ru),1\nmesh,0\nidemi-iam,1\naozora_no_mieru_oka,3\ntempy_(rinsia),1\nqueen_draco_(fate),4\nparallela66,1\nbranwen,4\nlegs_behind_head,0\ndokka_no_kuni_no_kokuou,1\nluthier_(fire_emblem),4\nstuffed_monkey,0\nblemishine_(moon_catastrborn)_(arknights),4\nkea_(eiyuu_densetsu),4\npriscilla_asagiri,4\nincloud,1\nlive_twin_lil-la,4\ncrossette_(xenoblade),4\nroxanne_(isekai_meikyuu_de_harem_wo),4\nhydaelyn,4\nkilling_bites,3\nhimekawa_kotone,4\nairani_iofifteen_(artist),1\npurple_(among_us),4\nreagan_long,1\naisu_(icicleshot),1\nwilhelm_(re:zero),4\nsevie,1\nono_(ohno_ha),1\nu-tan,4\nmarch_7th_(honkai:_star_rail),4\nhow_to_make_sushi_(meme),0\ntomotake_yoshino,4\nhand_on_headset,0\nneko_miyabi_(artist),1\nwashinomiya_koori,4\nharuno_(kuromitugozen),1\namunero_(kyouka_jinrui_amunero),4\nfigure_stand,0\nririko_(fhnngririko),1\nhand_on_another's_hat,0\nf-16_fighting_falcon,0\nhinaki_eiji,4\nsuzushina,1\naudi,0\ntoyota_hiace,0\npatches_(from_software),4\nmicrophone_waddle_dee,4\nsaitama_(antitankromeo),1\nheavily_armed_high_school_girls,3\nhibiki_wataru,4\nsaiykik,1\nredauto,1\nmunak,4\njyouden,1\nfight_cloud,0\nmemento_(sennen_sensou_aigis),4\nhover_hand,0\nsagara_kazuto,4\ntoo_many_in_mouth,0\nserra_(sennen_sensou_aigis),4\nduke_of_york_(warship_girls_r),4\nnn_tasu,1\nmao_(endro!),4\nkoashi_mutsumi,4\nojou_(nameo),4\nwatori_re,1\nsouffle_gamberetto,4\nmovie_reference,0\npurple_blindfold,0\niwamotochou_geinousha,3\nmeguno_(wokada),4\nyamayu,1\nolivia_(asobi_asobase),4\nyuura_shiu,1\nsumisu_(rinsumi),1\nar_nosurge,3\nthousand_memories,3\nmiton-chan_(miton_(turuyasann)),4\nstuffed_snake,0\njinu_(jinusenpai),1\nkaronaru,1\nthe_doctor,4\ntakatsurt,1\nkatie_(sennen_sensou_aigis),4\nplait,0\ndark_angel_metatron_(p&d),4\nazibuda,1\nmichelle_(ooo-anteat),1\nxuan_(mixflavor),4\ntin_(mixflavor),4\nhokuto_shun,1\nlucilius_(granblue_fantasy),4\nya99ru,1\nequal_(melomelopunch),1\ntsubaki_kureha,4\nk-mame,1\njchoy,1\nsimon_blackquill,4\ntakase_haruhiko,4\neye_(mememem),1\nmihono_bourbon_(code:glassage)_(umamusume),4\nlunatic_(ragnarok_online),4\nshuang_ye,1\nakariko,1\nagainst_bookshelf,0\ntani_(tanidesuyo),1\nhoshi_akari,1\ndjibril_(makai_tenshi_djibril),4\nlinda_b,1\nishida_shouya,4\nwarabin_(suteki_denpun),1\nleyna_koch,4\nnalica_(animeflux),4\nwingul_(tales),4\nyabby,1\nhattori_hanzo_uruka,4\nkishibe_rohan_wa_ugokanai,3\nmotokazu_(dontokodon),1\nmasaki_gaillard,4\nwebley_revolver,0\njinnosuke,4\nairagency1005,1\nruiten,1\ndio_eraclea,4\ntsubame_(minami_haruka),1\neitarou_(kaminari_neko),1\nharem_gain,3\ntobade_(tbdfactory),1\nuyuki_(ouun),1\nohta_yuu,4\njipponwazaari,1\ngrayfox,1\npegasus_(sailor_moon),4\nasta_(black_clover),4\nizumi_kouyou,1\nholding_clover,0\nsugimura_runa,4\nangdo_(kakajo26),1\nosananajimi_ni_najimitai,3\ntaira_daichi,4\nototachibana_academy_uniform,0\npotion_lilac,1\nkizuna_kirameku_koi_iroha,3\nkamen_rider_cross-z,4\npatissier_(gindoro),4\ngridley_(azur_lane),4\nonbin_ha,1\npremier_league,3\ntouwa_iyo,1\nbrown_jumpsuit,0\nforneus_0,1\nrisuo,1\nkappamaru,1\nutsuwa,1\ntakahashi_fuuko,4\nnakagomiyuki415,1\nsumi_otto,1\nwei_li,1\njeran_(ggokd),1\nokayu_(headless),1\nayasaki_yuu,4\nkuno_touya,1\nnarinn,1\nyang_zheng_yu,1\ncaribun,1\nruru_(phantom_world),4\nfujikiri_yana,1\nnekopote,1\nyellow_hakama,0\namatsuka_fubuki,4\nblanket_grab,0\nwan_nyan_a_la_mode!,3\ntakara_tooru,4\nbunny_cutout,0\nhongcha_(roels),1\ngundam_breaker_mobile,3\nistina_(bibliosmia)_(arknights),4\nakira_tooru,1\nneet_de_otaku_na_kunoichi_to_naze_ka_dousei_hajimemashita,3\nsentaku_nori,1\nhime_hajime,4\nvamjulian,1\ntohru_(maidragon)_(cosplay),0\nxiao_(ye_yiaoxi),1\nsummoner_(ragnarok_online),4\nutsuro_atomo,1\nshiromo_(pui_pui_molcar),4\npuzzle_piece_hair_ornament,0\ndun_stallion_(fate),4\nkosaki_wit,1\nsnegovski,1\narima_kana,4\nbanana_oekaki,1\nkivo,1\nmai_(future)_(dragon_ball),4\ntorricelli_(azur_lane),4\nkaomoji_(sagor00237),1\nhozumi_sousei,1\nmeekohopanes,1\nselkiro,1\nlaffey_(bunny_idol_@unmotivated)_(azur_lane),4\nyasuyori_(housamo),4\nhanazawa_ma,1\numekobushi,1\nwawamachi_(wawamachis),1\nutsuhostoria,1\nhsmoji,1\nroswaal_l._mathers,4\nfujimaru_ritsuka_(male)_(chaldea_combat_uniform),4\njoaowbenfica,1\nmorgan_le_fay_(chaldea_satellite_station)_(fate),4\nsite_of_grace,0\nrafael-m,1\nbob_(bobtheneet),1\nstring_play_spider_baby_(meme),0\nthors_military_academy_branch_campus_uniform,0\nakira_(otokuyou),4\nkumbhira_(summer)_(granblue_fantasy),4\nsatou_rikidou,4\nshiun_(siun_5513),1\nmaho_(drmaho1),1\ndark_valkyrie_(p&d),4\nr-e-l-o-a-d,1\nshiro_shougun,1\nprotagonist_(tokimemo_gs2),4\ne_neko,1\nmizuki_(ekakichan),1\nryo_(sora-ryu),1\nmatsuyama_nozomu,1\nkanae_(sekaiju),4\nkodama_naoko,1\nnausea,0\nhooded_top,0\nriccovich,1\naladdin_(character),4\nfideo_aldena,4\nbloodcatblack,1\nmidori_boushi,1\noota_takeshi,1\nstick_grenade,0\nepee,0\nberetta_px4,0\nyou_mizuno,4\nfish_eye_(sailor_moon),4\nchirumakuro,1\nshuizhanglang,1\nkai_aki,1\nboardwalk,0\nkuroo_(project_apricot),1\nmaco_(macoillust),1\nchest_cutout,0\nlisanna_strauss,4\naka-kabuto_no_gema,1\nden_(fma),4\nhazuki_mizuho,1\nawa_suna,1\nrody_(hayama_yuu),1\nchika_(toumei_kousoku),1\nkoyomi_(kamen_rider_wizard),4\ntakitou,1\nyamaguchi_yuu_(norisu),1\nyuurinmoku,1\nfujikura_yuu,4\nbushiroad,3\nkeita_(kta0),1\nnishisan_(mikurosu),1\nkurono_kuro,1\nclown_(ragnarok_online),4\nminai_karte,4\nroyal_guard_(ragnarok_online),4\nchocolate_statue,0\nneopets,3\ntomo_takino,1\nsamuel_rodrigues,4\nunizama,1\nhino_mamori,1\nlillian_ljungstrom,4\nirikawa,1\neva_solo,1\nnino_(ninouchi_irazu),1\nshimashima_(simasima_23),1\njumpsuit_pull,0\njavier_estrada,1\nlace-trimmed_veil,0\nsakuramochi_usa,1\nirokiiro,1\nsuper_sass,0\nharuoto_alice_gram,3\nzen_(jirakun),1\nsakurayashiki_nisei,1\nkeshigomu,1\npetal_censor,0\nbad_pawoo_id,5\nnanase-chan_ntr!,3\niwami_kyuuto,1\nogawa_shinji_(symphogear),4\nchocolate_fountain,0\ntakemi_kaoru,1\ncinder_block,0\narms_on_head,0\nkawa-v,1\nniimi_haruka_(photokano),4\noharu,1\nfujiwara_shun'ichi,1\nunory,1\nnajo,1\npatreon,3\nyumeno_yume,1\nhands_on_own_crotch,0\nharlequin-wheels,1\nhakumaiya,1\nphoenix_wings,0\nasashio_(kancolle)_(cosplay),0\nenbizaka_no_shitateya_(vocaloid),3\nkanimura_ebio,1\nsarutobi_sasuke,4\nhinahara_hajime,1\nsadi-chan,4\ntour_guide_from_the_underworld,4\nbaseness,1\nsigma_rio,1\nankoro_mochi,1\ntomato_manme_(voice_actor),1\nkonparu_uran,1\ncheetah,0\narmored_core_5,3\nryo-suzuki,1\nkjelle_(fire_emblem),4\npedal,0\nrengoku_(first_ascension)_(fate),4\nshuten_douji_(dress_for_demons)_(fate),4\nug333333,1\nshirofugu,1\ndarth_wooser,4\nemo_(mikan),1\ncompass_rose_halo,0\nnal_(nal's_pudding),1\nkracko,4\nrabbid,4\nuta_no_prince-sama:_shining_live,3\neita_789,1\nkunitarou-art,1\nsilverchariotx,1\nfreckles-san_(houkago_play),4\nwater_masturbation,0\nlap_pov,0\ndirty_hands,0\ne.g.o_(project_moon),0\ntouya_akira,4\nsaddlebags,0\nsilver_legwear,0\nkyaku_tatsu,1\nsaiga-12,0\nrico_(pico-ba),1\nyoshinaga_yunosuke,1\nbarn_owl,0\nbig_mouth,0\nuno_ichi,1\nnueno_meisuke,4\ngogeyama,1\n+1_(yakusoku0722),1\ndomas,4\nparfait_(hawawa),4\njoe_(sk8),4\nhano_luno,1\npillow_bite,0\nket-c,1\nhijikata_toshizou_(golden_kamuy),4\nmeso-meso,1\ndeeple,1\nadultonly,1\nnao_(doublexdutch),1\ngradient_border,0\nveiny_testicles,0\nhimo,1\nhatsune_miku_expo,3\nlyn_(summer)_(fire_emblem),4\nagnidevi,1\nshanghai_bisu,1\nalice_mana,4\nyomegane,1\nyuuko24,1\ngundam_double_x,4\nrec,3\nknight_(7th_dragon),4\nmiracle_belltier,0\ndama,1\ng-clef_(suite_precure),0\npiscina,1\nmagi_magi_magician_gal,4\nzeruel,4\nslowpit,1\nneuron_(exceed),1\nsonic_boom,0\nfox_(trickster),4\nshiumai,1\ndreamusun,1\nboogiepop_(character),4\nsimz,1\nhiss,0\nsakamoto_atsumu,1\nhockey_stick,0\ntatsunoko_vs_capcom,3\nmari_(delightfully_fuckable_and_unrefined!!),4\nkazuki_kotobuki,1\nskyloop19,1\nniking,1\ndreambig,1\nwol_(wol_927),1\nnero_claudius_(formal_dress)_(fate),4\noneirio,1\nkahis_(sweetbriar),1\nkagayama_hajime,1\nfuneral_kimono,0\nkadokawa,3\npeach_ornament,0\nginka_sima,1\nqie,1\njonejung,1\nstation,0\nmeso_(goma-meso),1\nshadow_naoto,4\nkawamura_kousuke,1\nyuutarou,1\nritz_malheur,4\nnoel_maresse_ascot,4\nbattle_standard,0\nhinata_keiichi,1\nnijou_makoto,1\nkashiwagi_chizuru,4\ntoyosatomimi_no_miko_(cosplay),0\nhitoyoshi_zenkichi,4\n467_(artist),1\noohashi_akiko,4\nfeesh,1\nreiei_8,1\nshingo.,1\nkawakabe_momoka,4\n04sora40,1\nchinako,1\nakito_(ao's_club),1\nholly_(monster_farm),4\ndin,4\nkatakata_un,1\nsetou_kenji,4\nyui_(sky-freedom),4\nminazuki_(jo),1\nero_ragnarok_offline,3\ntakatou_suzunosuke,1\nlynne,4\nxiao_lin_jiu,1\neureka_(eureka-0075),1\njas_(annkoromochi),1\nmotofumi,1\nena_(enaa97),1\ncwind,1\nsenbata-rou,1\npimopi,1\nprism,0\nedamame_(food),0\nnukunuku,1\nalpaca_hair_ornament,0\nkyoro_(cothurnus),1\nju_hyeon-mi,4\nsaw_(movie),3\naruse_yuushi,1\ntakara_yukari,4\nyuuki_shushu,1\nsoramame_tomu,1\ntakashi_(onikukku),1\nags_(last_origin),0\ngyoukan_(jfxc),1\nkoda,1\nwes_(pokemon),4\ncollared_cloak,0\nkanzaki_(kusomiso),1\nharuki_(haruki678),1\nfomantis,4\ngastrodon_(east),4\nmandibuzz,4\nrio.lw,1\ntanukikouji_midori,1\nkuuki_(rakam),1\nfylus,1\najirui,1\nborr,4\nkawahara_chisato,1\nilias,4\nshiny_trinity_(idolmaster),0\nriding_boar,0\nsonomiya_karen,4\ndenim_dress,0\ndrift_(transformers),4\nbroken_tooth,0\nwiggling,0\nishida_atsuko,1\nmamu_t7s,1\npeone_(panapana),4\nshimazaki_mari,1\nlemo_(dragon_ball),4\nkawai_honoka,4\nkanmoku-san,1\nchouhi_ekitoku,4\nlotpi,1\ncleanerjay,1\nbocchi-ya-nawi,1\noomiya_io,1\ncatapult,0\nkuzan_(aokiji),4\nkurageso,1\nrock_garden,0\npanjandrum,0\nfireflysnow,1\nmechagodzilla,4\nyimu,1\nharada_isuka,1\nrand_(gyee),4\nlegolas,4\nmassager,0\nlegacy_zechs,1\naxis_deer_(kemono_friends),4\nrikizo,1\njunkyard_dog_mk_iii,0\njian_huang,1\nlingcod_dayu,1\nshiromitsu_suzaku,1\ncrestren,1\ninuue_kiyu,1\ncyannism,1\nrungsak_sontayanont,1\njuliana_eberhardt,4\ndestroid,0\nkurohikage,1\nmakihige,1\nkm2o4,1\nmiclot,1\nshabomu,1\nono_toshihiro,1\nnagura_setsuko,4\ntachibana_kyouko,4\nyoshiragi,1\nshi-2,1\nkeropii,4\npastel,3\nvirgo,0\nrx7649,1\ntake_mamoru,4\nin_refrigerator,0\nnstlgie,1\nkimoko,1\ntfqr,1\nthe_last_supper,3\nugwa,1\nsarcophagus,0\nheidern,4\nmega_ampharos,4\nnekobatake,1\nsaebashi,1\nseikaisuru_kado,3\njubei-chan,3\nbig_daddy,4\nhako_reeema,1\nchef_kawasaki,4\nimatomo_mahya,1\nneginoki,1\nhanagaki_takemichi,4\nshironekoban,1\ncan_can_bunny,3\nutekiro,1\nlambo,4\ngelgoog,4\ntyenka7728,1\nkamue,1\nfunaya_(a2brasd),1\ndolphenry,1\nshimotsuki_aoi,1\nban_(ban62460424),1\ndenim_vest,0\nimtmcomics,1\nrikudou_yura,4\neternity_(last_origin),4\ngarl_vinland,4\ntamaki_(tamaki_illust),1\nalien_vs._predator,3\npayday_(series),3\nkoeri,1\ncream_(stand),4\nmarakasu_(chinkasu),1\nmusha_sabu,1\nnazume_mikuru,4\nbandaged_knees,0\nfina_(eternal_arcadia),4\nkamishiro_natsume,4\npanda_inu,1\nyoshizuki_iori,4\nreiuji_utsuho_(cosplay),0\nacfun,3\nnipple_leash,0\nmiranda_(wakfu),4\nkiddy_girl-and,3\nkareha_aki,1\nlarry_butz,4\nnincada,4\nkomaki_midori,4\nyuubi,1\ntepes,1\naz0212,1\ntomcat,1\nneriwasabi,1\nfinger_twirl,0\ntobe_sunaho,1\nnishikawa_ari,1\nmishina_eikichi,4\nmaisaki,1\nparty_whistle,0\ngouma_hyudor,4\nyada_yada,0\nkittaka_kaname,1\nkidanieru,1\nkieeyo,1\nmoyamu,1\nmurasame_oshizu,4\nhachiya,1\nkurokona,4\nkarin_(viper),4\nelectric_razor,0\nshadow_hearts_from_the_new_world,3\nranger_(sekaiju),4\nyumeji_kiriko,1\nmiwa_konekomaru,4\nhigh_school!_kimengumi,3\nkatejina_loos,4\ntaoru,1\nsonken_chuubou,4\nbarack_obama,4\naxel_almer,4\nido_romeko,4\nbunzou,1\nmecha_shoujo_taisen_z,3\ntoranoo,1\nwendy_(shepherd0821),4\ngundam_dynames,4\nx_chitch,1\nmunashichi,1\nmomoiro_tunozemi,1\nkamen_rider_x_(series),3\ny&k,1\ntwice_(boku_no_hero_academia),4\nvirtual_clinic,3\nv.v.,4\nfushimi_saruhiko,4\ntezurumozuru,1\nayasato_karen,1\notto_(nanoha),4\ncomet_(azur_lane),4\nwaribashi-p,1\nvu_(oyavun),1\nlime-iro_senkitan,3\nsasakamakue,1\nchinatsu_(suzutsuki_kurara),4\nhasebe_yutaka,4\nsugino_(patrassyar),1\nnugi_(armenci),1\naozora_stripe,3\naatrox,4\noreki_genya,1\nrio_(rio_01),1\nhikyou_tanken_fam_&_ihrie,3\nlego_brick,0\nhisany-spacecrayon,1\nbackwards_text,0\nngc20701,1\n@ichigo,1\nhiryuu_(kugelcruor),1\nshibasaki_erika,4\ntam_a_mat,1\nparupin,1\nmagi_in_wanchin_basilica,3\nhayashida_airi,4\nclearpage,1\nkira_kazuki,1\nkiasa,1\nq-bee_(aaru),1\nyumoteliuce,1\nboyd_(fire_emblem),4\niduhara_jugo,1\nyuki_onna_(ring_dream),4\nwhite_armband,0\nchabasu,1\nfukua_(skullgirls),4\nakino_irori,1\ndaluto_(hitomi555),1\nhimeka_chiyako,4\nsk_tori,1\ndotted_half_note,0\noreomanko,1\nxandier59,1\nsasahara_satsuki,4\nsoda_(sodachuxd),1\ntwo-cat-walk,1\nvesves_(sailor_moon),4\ntolone_(xenogears),4\nblack_delmo_leader,4\nsofia_(toushinden),4\nuns_(sdsxsoverlord),1\njohn_(ichigo_mashimaro),4\nindica,1\nkanbayashi_shiori,4\nkokonoe_tamaki,4\nhomei_(honkai_impact),4\nihara_saeko,4\nsigsbee_(warship_girls_r),4\nnaemperor,1\nyukimura_shinya,4\nninose_shizuku,4\nrantia,1\nmeitarou,1\nyamada_ayumi,4\nnico_o0,1\nyuneri_(azuki_akizuki),4\ntooboshoo,1\nyashi_nagomi,4\nmyslot,3\ntying_tie,0\nakamaru_saasha,1\nnintendo_switch_(personification),4\ndutch_girl_(last_origin),4\njeanne_d'arc_(saintess_of_the_sea)_(azur_lane),4\nsotsual_deliheal,3\nnon_(mangaka),1\none_piece_film:_gold,3\nsengoku_chidori,1\necien,1\nfig,0\ntomohiro_(duo),1\nbakuten_shoot_beyblade,3\noniku_(oniku029029mm),1\noda_nobunaga_(drifters),4\nocelot_(kemono_friends),4\nosaka_(city),0\nastesia_(starseeker)_(arknights),4\nisuzu_(an_icy_cat),1\nkeli_bang,1\nchapman's_zebra_(kemono_friends),4\nsubakeye,1\nnanopai_kakumeikokonoyu,1\nbseibutsu,1\nnetzach_(project_moon),4\ndice_earrings,0\nichika_(ichika_manga),1\nhate_shinaku_aoi_kono_sora_no_shita_de....,3\nciela_(yuuhagi_(amaretto-no-natsu)),4\nmofu07519,1\nmuchin_jousha,1\nyoshimura_thi_mai,4\nseijun_(seijun01),1\ncressey_(porforever),4\nchiizu_namasu,1\nkomaro-chan,4\nkisuu_(oddnumberr_),1\ntakamaru_(taka1220),1\noctobrush_(splatoon),0\nshoe_print,0\nkyaroru,1\nmandalay_(boku_no_hero_academia),4\nadvance_wars:_dual_strike,3\nmurase48,1\nmorisato_keiichi,4\nhitachi_sou,1\nniwa_makoto,4\nmitsugetsu,1\nkuro_guren,1\naoi_umi_no_tristia,3\nmipple,4\nsuparu_(detteiu),1\nseitsuji,1\nhazamada_toshikazu,4\nbayonetta_(cosplay),0\nmiravi,1\nokuwaka_tsubomi,4\nherikawa_koishi,4\netheldreda,4\nnatarle_badgiruel,4\nren_(dears),4\nli_dailin,4\nsawaki_souemon_tadayasu,4\nhealer_(disgaea),4\nmemories_off_sorekara,3\nthe_3rd_super_robot_wars_alpha,3\nsuper_robot_wars_destiny,3\nbaek_changpo,4\nchainsaw_devil,4\nvirgo_shaka,4\nozma_lee,4\nsturkey,1\nzongzi,0\nhirano_toshihiro,1\njiete,1\narihara_tsubasa,4\nmagnhild,0\ncorsetman,1\nmusse_egret,4\nkangoku_(series),3\nhearthstone,3\nlexington_(azur_lane),4\nfinger_in_another's_navel,0\nurikurage,1\nkamukamu6392,1\nviktorf,1\ntensa_zangetsu_(bankai),0\nazumaya_(miyui001),1\notsunabe_(naabe_delta),1\nbangsutur,1\nourobunny,4\nhey_xander,1\ndjmn_c,1\nnakahara_kaihei,1\ntakemoto_uruka,4\nailane_(show_by_rock!!),4\nsummergoat,1\nkey_earrings,0\nohgaki_m,1\nheibaise_jiangshi,1\nshiromoca,1\ncarrot_on_stick,0\nphysisyoon,1\nka_ei_volltis,1\nz.i,1\nalterlesott,1\ntorn_sarong,0\nbepo,4\nli_chestnuts,1\nphony_(cevio),3\nelectrike,4\nwhite_serval_(kemono_friends),4\nmoral_cacoethes,1\nmukkuru,4\nfood-themed_bag,0\nmame_komari,1\nblood_on_axe,0\nyoshiki_(bpmaxm),1\nsae_(renkyuuake),1\nraichi_(litchixlitchi),1\ncum_on_crotch,0\nkiyohara_hiro,1\nishihara_megumi,1\nishigami_senkuu,4\nyamada_chickenko,1\nfuyusuke_(hz+),1\nvermilli000n,1\nasahina_akane_(nijisanji),4\nyamato_(naruto),4\nmasollyn,1\nmovie_camera,0\nfeathered_dragon,0\nluminous_arc_2,3\nkyosu,1\nbad_newgrounds_id,5\ndr.wolf,1\nkeruberosu-a,1\nkousuke0912,1\nginjuuji,1\ninitial_f,1\n3gs,1\nmameko,1\nsuper_robot_wars_original_generation_gaiden,3\nnoja,1\nmultiple_bracelets,0\nsuperstar_(granblue_fantasy),4\nchong_feigiap,1\nchargeman_ken!,3\nbacho,1\nopiu,1\n9a-91_(bullets_cafe)_(girls'_frontline),4\nkoko_(oyasuminasai),1\naihara_yukino,4\nteisuu,1\nshowing,0\nkamiura,1\nyouko_(inukami),4\neunos_roadster,0\nrakuko,1\nmahkn,1\nb3,1\nmushi_baibai,1\numi_(pixiv6861961),1\namamiya_kabosu,1\nnaonakamura,1\nedea_cluster,4\nbh001,1\nformidable_(azur_lane)_(cosplay),0\ntefu,1\naki_sakura,1\nsparklenaut,1\neddie_(guilty_gear),4\nxiao_ma,4\noshou_(o_shou),1\nyoshitsuki,1\nkasoku_souchi,1\nlorein,1\nfedsnk,1\nmeron_nouka,1\nkuz,1\nfloor_ni_maou_ga_imasu,3\nduke_tougou,4\nnachetanya_loei_piena_augustra,4\nhinai_paulette,4\nsaijou_karin,1\nsaionji_usagi,4\nshirakaba_risa,4\nchris_armin,1\nc3_piyo,1\ne-note,1\nsubaru_(794829485),1\nkobeni,1\nha.skr_(hasukara),1\nasano_kazunari,1\nushinomiya,1\ngwenpool,4\nrin_(yukameiko),1\nchokuro,1\nshiroe_adele,4\nuketsuke_succubus_(konosuba),4\nlitsilium,1\ngoma_irasuto,1\nakaya_shiki,1\npuck_(berserk),4\nwatson_amelia_(cosplay),0\nnagul,1\naubrey_(neal_d._anderson),4\nsosuke_(yrmon),1\nvlfdus_0,1\nkei_(hidden),1\npurple_male_underwear,0\nsakuraba_chiyo,4\nryuuseitai_(ensemble_stars!),0\nying_swei_(azur_lane),4\nze_(0enmaitake),1\ncinnamon_(mega_man),4\nvent_(mega_man),4\nyue_yue1102,1\ngrete_m._gollob,4\nscorpion_tattoo,0\npython_(girls'_frontline),4\niwao178,1\ntoriko_no_shimai_~midara_ni_moteasobareru_unmei_no_mayoigo~,3\nanubis_(surio),4\nkoukou_(climacool),1\ncloverse6,1\nmagnolia_eclair_ii,0\nwild_mane_(arknights),4\nsaratoga_(seven_seas_of_rest)_(azur_lane),4\nhombre_tigre_(housamo),4\nbrown_twintails_girl_(mdf_an),4\n7mb_yut,1\nwhite_gorilla_(okamoto),1\nq_(hololive),0\nmash_kyrielight_(grand_new_year),4\nstriped_choker,0\npentagram_necklace,0\naia_amare,4\ntea/pot,1\naodu_fumiyoshi,1\ntsukasa_kinako,1\npotato_house,1\nwire_cutters,0\nshining_world,3\nalcd,1\nfujisaki_kaon,1\nbig_dipper,0\nueshige_suzu,4\nkujou_tsukiyo,4\nnishizaki_eimu,1\nmaiko_(setllon),1\nforeskin_biting,0\ncglange,1\nkimidori_(kimidoriri),1\ngoskt10trr,1\ndelta_zone,1\nbtooom!,3\nkonami_mecha_musume,3\npandamonium,1\naimai_(luckyfive),1\nmazuka_kei,1\nnatsuno_riku,1\nu-min,1\nstrawberry_tart,0\nshimano,1\nrai32019,1\ntairyou-bata,0\nmanabe_yoshihisa,4\nhikari_hachi,1\nshirakawa_mey,1\nekaapetto,1\nkarva_(granblue_fantasy),4\nglowing_heart,0\ntsuchimikado_natsume,4\nolmatown,1\naisa_(micuma),1\nnarukawa_hime,4\npajamas_lift,0\npenis_growth,0\nunown_f,4\nuxu,1\nskunk_girl,0\none_(drag-on_dragoon),4\nkeikyu_(tiltedcube),1\nkiyosumi_hurricane,1\n.52_gal_(splatoon),0\nmukai_(ojimashu),4\ntied_to_stake,0\nhamalu,1\nkuzu_no_honkai,3\nsiegfried_(sword),0\ndai_yasude,1\nkjech,1\nhideousbeing,1\nkono_sekai_no_katasumi_ni,3\nreku_hisui,1\ndiaodiao,1\nissign,1\nshachiku-san_wa_youjo_yuurei_ni_iyasaretai.,3\ntouhou_unreal_mahjong,3\npikiru,1\nchihaya_(roshin),4\nkumoya_yukio,1\ncardiac_arrest,0\nhijiri-tukasa,1\nluozhou_pile,1\nmiraidon,4\nhanako_(idolmaster),4\nmakoto_nanaya_(cosplay),0\nlittlecloudie,1\nlee_(arknights),4\nnoa_ikeda,1\nkeijou_(cave),1\nsingle_hand,0\nt-elos_re:,4\nsurgeon,0\nboltund,4\nwoogi_(duguddnr),1\ncanarinu,1\ncrymsie,1\nshooting_range,0\nmaya_(kancolle)_(cosplay),0\naloe_(ishuzoku_reviewers),4\nayamori_mimi,1\nsoletta_orihime,4\nnvidia,3\nbionicle,3\nkiriya_(aprikose_0312),1\nnanafuton,1\ncelestea_tera,1\nbonple_military_uniform,0\nhasu_(zatsugami),1\nling_huanxiang,1\nann_blyth,4\nstrawberry_slice,0\nvehicalization,0\nmung_(larnec),1\nkajatony,1\nbarachan,1\nribbon-trimmed_kimono,0\nohtagaki_yasuo,1\nyumeoji_shiori,4\nlombre,4\npalpitoad,4\nhermione_(pure_white_angel)_(azur_lane),4\nvibrator_in_leg_garter,0\nsurock,1\nluxu,1\ngg_amang,1\nrakkogawa_rinro,1\nsiragagaga,1\nfuuro_(johnsonwade),1\nnatsuyuki,1\nd._joko,1\nkashiwagi_kaede,4\nk-ta,1\nwakamochi-ta,1\nred_tunic,0\nhoukai_(collapse_illust),1\nittumozzz,1\nresurreccion,0\nribbon-trimmed_shorts,0\ntairitsu_(arcaea),4\nsolatorobo,3\nteng_zhai_zi,1\nera_(traveling_bird),1\nichiroku,1\npedocchi,1\naoiro_050,1\nfur-trimmed_thighhighs,0\nworld_of_darkness,3\norchid_(arknights),4\nspider_(minecraft),4\njomae_gen,1\nkohatsuka,1\nyurina_(rune_(pixiv_25170019)),4\naizawa_masaya,1\nami_dixie,4\nshota-kun_(sky-freedom),4\nuechin_ewokaku,1\nogawa_hidari,1\nskeletal_tail,0\nventricosus,4\nwen-m,1\npururun,4\nshort_tail,0\nchiden,1\nsuzumori_asuka,4\nhappiness_lilys,1\nsenoo_aoi,1\nspam_(spamham4506),1\naqua_sclera,0\nhibi_tsuna,1\naether_gazer,3\ntallgeese_(lgeesel),1\nnadir,1\np-51_mustang,0\nstella_(sound_horizon),4\ndeltoids,0\nequal_(heartstrings),1\nmoyashi_mou2,1\nwooden_cup,0\ns16xue,1\ndeko_isu,1\npixiescout,1\nwood_cube,1\nen_(dorohedoro),4\nsumomo_kpa,1\nhakuri,1\nmike_zakarius,4\nsengoku_shinobu,4\nretri,1\nhori_airi,1\nverus,1\nomizu_chihiro,1\nsakakibara_kouichi,4\ntimeline,0\nmarian_e._carl,4\ndmitriy_samarkin,1\nsawasa,1\numetsu_yukinori,1\ncampione!,3\neva_08,4\nkagi,1\nmijuku_dreamer,0\nnan_(gokurou),1\nren_(fragile),4\ndorok,1\ncheery_pink,4\nboku_no_pico,3\nalha,1\nkagura_ittou,1\nwendy_crawford,4\ndeany,1\nx6suke,1\ninagaki_minami,4\nkenao,1\neternal_tiare,0\ntracyton,1\nkinokoutarou,1\npoo_(donkan_gokko),1\ntoomi_maya,4\nhej_(mugmnm51),1\nsleeping_animal,0\nelec_bobo,1\nlenxiao,1\nhunewearl,4\naino_(acilealaulica),1\ntenkasu_(aster4545),1\nshilleka,4\nmary_(14476764),1\nshanaharuhi,1\numori_hinako,4\nronna,1\nmoco_(moco_28),1\nbenedia,1\nyoggi_(stretchmen),1\nalisa_mikhailovna_kujou,4\nizumo_(azur_lane),4\nnarukami_arashi,4\nroy_focker,4\nstarbottle,1\nkoito_(bowstringsmall),1\nfire_truck,0\nmizumidori,1\nmiura_(rnd.jpg),4\nlazy,0\nvikpie,1\ndrinking_blood,0\nberserker_rage,0\nkikistark,1\nshima_16bit,1\nwashtub,0\nfront_to_back,0\nsukurizo!,3\nhotaruika_niji,1\nshoujo,4\neon_(greencastle),1\ndaenerys_targaryen,4\nfemale_builder_(dqb2),4\nhinaki,1\nonguuchi,1\nqingxin_gua_yu,1\namekasaikuta,1\nsonosakiburi,1\nrodan,4\nmaria_(space_maria),4\ntapu_fini,4\nshorts_rolled_up,0\nharpy_(nukomasu),4\ndream_c_club_zero,3\nnazrin_(mouse),4\ntoriko_(hatoriko),1\nasuka_120_percent,3\nkurohiko,1\nairi_(quilt),4\nsingle_greave,0\nkumada_kazushi,1\nsilmeria_valkyrie,4\nyowaneko,4\ntequila,0\nhazuki_(pacco),1\nnoel_vermillion_(cosplay),0\nnakamachi_kana,4\nmayosuke,1\nnatalia_kaminski,4\nsunafuki_tabito,1\njunda,1\nko-yuyuko_(shin'en),4\nitunes,3\nbokuden,1\nmofuko,1\nkagura_tsukune,1\nguild_wars,3\nmahiro_takeumi,1\nwebcounter,0\namy_limiette,4\nnakamura_kana,4\npakuchii,1\nzuowen,1\nazazel_ameri,4\nkisaki_mio,4\nmorning_wood,0\nfujiwara_no_mokou_(phoenix),4\ndelf,1\npost_guild_war_celebration,0\nogarasu,1\nbook_stand,0\nbalusah,1\nkoshimizu_takayuki,1\nyorihime_nao,4\norebalgum,1\namiba00,1\nstaravia,4\nfantastic_four,3\nharpy_(puyopuyo),4\nhami_(lvct),1\ncyaneko,1\nruthenium77's_character,4\nanko_kinako,1\nchitose_rin,1\nyeyuanqianqianqian,1\nexploud,4\ntongue_suck,0\nmomo_(fruits_box),1\nokaasan_to_issho,3\ngrilled_corn,0\nmarcy_dog,1\ntweek_tweak,4\nmamoru-kun_ni_megami_no_shukufuku_wo!,3\nmarneko,1\ntyler_garden,1\nartemisia,4\nasana,1\njerry_(tom_and_jerry),4\nmaking_faces,0\nremovable_censorship,0\nkouchuu,4\njin_hayato,4\nunown_y,4\nrem_(death_note),4\nmatsunaga_ayane,4\nhanepochi,1\nmos,1\ntanakahazime,1\nice_pick,0\nsyuuen,1\nchristine_garland,4\nzouzou,1\ndmyotic,3\ndramatica,1\nkotomi_(happy_colors),1\njum_(parallel_parasol),1\nzhean_li,1\nrobert_kim,1\nhiratsuka_tomoya,1\ntinkle_bell,1\nschach_nouera,4\nflash_tomo,1\ndune_(artist),1\nwatayuki,1\ntatsuno_toshiko,4\nhoplite,0\ntakanashi_minato,1\nkei_(fortune),1\ndokonjou_gaeru,3\ngreen_lantern,4\nkonohana,1\nfujiyama_takashi,1\nadilisia_lenn_mathers,4\nhattori_mitsuru,1\ndix-neuf,4\narigato_usagi,4\nyasu_(yossy),1\nyuufuushi,1\nexposed_bone,0\nkawamoto_momo,4\nkuroneko_sakon,1\ntsumidango,1\nthroh,4\ntkln,1\nthrough_ground,0\nsiku199,1\namuii,1\nsyrup_(yes!_precure_5),4\nmikoko1,1\nhanaarts,1\nleni_milchstrasse,4\nalps_no_shoujo_heidi,3\ntottsuman,1\nfatal_frame_1,3\ntick!_tack!,3\nfast-r,1\nnaganami_(azur_lane),4\nokano_hajime,1\nsen_no_rikyu_(fate),4\nai-assisted,5\nnavigator_(alchemy_stars),4\nnai_(daiduolaoge),1\nmutsumi326,1\nstealth_handjob,0\nwaichi,1\npeas_(peas0125),1\nsunset_shimmer,4\njaws_(movie),3\ngdd_(vkejr702),1\ntachibana_wataru_(123tsuki),1\nelf_no_radral,4\nchihong_de_tianshi,1\ngloucester_(azur_lane),4\nbelfast_(azur_lane)_(cosplay),0\nvanilmirth_(ragnarok_online),4\nnoumu_(pixiv),1\nsakutake_(ue3sayu),1\nfoot_kabedon,0\nnompang,1\ntarou_(user_tpmh7442),1\nokiq,1\nguo582,1\nmarshadow_(gloom),4\ngolden_wings,0\ninukai_mofu,1\nmatsuda_tsubaki,4\ncastella_(food),0\nphotokinesis,0\ntonelico_(fate),4\nunown_u,4\nnatsume_suzuri,1\nmifuyu_(princess_connect!),4\nkedama_(ughugjydthjdf),1\npretz,0\nzzz_(orchid-dale),1\nguardian_(breath_of_the_wild),4\nash_blossom_&_joyous_spring,4\nqi_maid,0\nanchovy_(girls_und_panzer)_(cosplay),0\nshocho,1\nkilly_doodle,1\nmerryj,1\nmac_4229,1\nkiseki_raki,4\ngao_kawa,1\nbella_(a-soul),4\nmichalis_(fire_emblem),4\ngina_boyd,4\nl'opiniatre_(azur_lane),4\nsofue_(girls_und_panzer),4\nrinea_(fire_emblem),4\ntsukimura_(d24f4z8j3t),1\nromancing_saga_re;universe,3\nkatahira_(hiyama),1\nailiner7060,1\ntianliang_duohe_fangdongye,1\nfumi_(fumifumi-graffiti),1\nrakavka,1\nyotubawatane,1\nhieda_no_are,4\narigiep,1\nmiku_(yuuki_(yuyuki000)),4\nfubuki_(warship_girls_r),4\nrynn_(acerailgun),4\ng-tz,1\ndawn_(664387320),1\nmegafaiarou_(talonflame_810),1\ncharybdis_(red_chamber_of_healing)_(azur_lane),4\nkirie_(kouya_no_kotobuki_hikoutai),4\nfudeyama_(fudeco),1\npoharo,1\nshinjitsu_no_kuchi,1\nyawai_tofu,1\nsumi_wo_hakuneko,1\nshio_butter_(obscurityonline),1\nnatsuki_yuu_(minamino_tsuki),1\nnatasha_(pommier),1\nkei_(dirty_pair_flash),4\nconnor_(detroit),4\ngreenteaneko-chan,4\nkuma_(kumahoihoi),1\nfuruya_jun,4\nblack-tailed_gull_(kemono_friends),4\nyanngoto,1\nhino_eiji,4\nmegumoke,1\nkoakuma_teeri_to_kyuuseishu!?,3\nhiroshi_(2443303124),1\noracle_(shinkai_no_valkyrie),4\nrepikinoko,1\neno_konoe,4\nkakeami,1\ntakasakiyama_monmon,1\nhonjou_nia,4\nfujieda_honami,4\najahweea,1\nhirari,1\nblack_burakku,1\nsuzushiro_mizuki,4\nhatutaro,1\nisara_mao,4\nonodera_haru,4\nkurokiba_ryou,4\nokamoto_miyu,4\nnuancho,1\naho_girl,3\nmandragoria,1\nhiga_kanata,4\nalto_clef,4\nsakiko_(gekiama),1\nmiltiades_malachite,4\nsano_souichi,1\nhuacai,1\nkuroinyan,4\nchikage_(blackclownery),1\nnanamo_ul_namo,4\nrensouhou-chan_(cosplay),0\nborusen,1\nfw_190,0\nkakiikada,1\nkurokage,1\nyuta0115,1\ndialogue_options,0\nlakshmi_(p&d),4\nfushimi_inari_taisha,0\ndragon_ball_z_kami_to_kami,3\nderoo,1\nmukamo_(inujita),1\nshiba_0,1\ndrogoth,1\nareadbhar_(fire_emblem),0\nmorimura_konoha,4\ntori_(otori),1\nmiiko_(somnolent),1\nshokei_shoujo_no_virgin_road,3\nnosetissue,1\nfengyin_shici_guozi,1\nminami_machi,1\nsaiko67,1\nakutare_(disgaea),4\nblade_arcus_from_shining,3\nbloody_queen_(elsword),4\ngold_gloves,0\ncandy_(art_book),3\nsakuru,1\nhannah_santos,1\nnectar,0\ndre,1\nkaro_karo,1\nsate,1\nguess_who,0\nvertical-striped_apron,0\nyurara_(aroma42enola),1\nsangyou_haikibutsu_a,1\nkosuke_orz,1\nphoebe_(granblue_fantasy),4\nsuper_robot_wars_og_moon_dwellers,3\nmonjiro_(sorobochi),4\na7m_reppuu,0\nboned-woo,1\nmonokuro_(snog),1\nmongarit,1\ntouhou_ayaria_epic,3\naida_rikako,4\ngeo_siador,1\nyuiazu_(unit),0\nyuhuan,1\nnemomo,1\nbattlefield_1,3\nhayaoki_(asagi-iro_seishun-bu),1\nfujimaru_ritsuka_(male)_(cosplay),0\nitoucon,1\ndirectional_arrow_hair_ornament,0\ntsuduki-chan,4\ndrawcrowd_sample,5\nhalulu,1\nnumachi_doromaru,1\nspoken_symbol,0\nfujisaki_ribbon,1\ndombear,1\nkutsugen_kanna_(mikouken),1\nfujisaki_yuu_(nkrm),1\nnattou_mazeo,1\nkiyo_(chaoschyan),1\nhammerman_benkei,1\nez_1011,1\nandrea_vaeyl,4\naki_(chromaticclip),1\nmgmg_1012,1\nra-pen,1\nanother_eden,3\nweien,1\nraayu_(0u_rayu),1\nhou_no_ka,1\nhisanoworld,1\nvenus_rumble,3\npoking_nose,0\nkanojo_ga_aitsu_ni_sareta_koto,3\nparusu_(ehyfhugj),1\npool_monitor_part-timer_(dytm),4\nneo-traditionalism_of_japan,3\nyatsu_seisakusho,1\nsakura_ai_ke,1\nolympic_rings,0\narakumo_gakuen,0\nglasses_kappa,4\nsheep_hat,0\nminatasiro,1\n1000000000,1\noniichan_no_koto_nanka_zenzen_suki_janain_dakara_ne!!,3\nliusang,1\namanatsu_yuzuka,1\nkonatsu_miyu,1\ninaresi,1\n23ichiya,1\nceramic_man,1\nyoroiden_samurai_troopers,3\nshibayuki,1\nkanamura_ren,1\ngirock,1\nzen_(raspberry),1\nmark_kruger,4\ntales_of_the_world_radiant_mythology_3,3\nmam233,1\nrayn,1\nherayoshi,1\nrakisuto,1\ntsukinami_kasumi,4\ncelestial_globe,0\naoaso,1\nafterschool_school_idol_(love_live!),0\ncatwalk_(walkway),0\nworld_flags,3\nfujimaru_ritsuka_(female)_(halloween_royalty),4\nfujimaru_ritsuka_(male)_(brilliant_summer),4\ndrivesuit,0\nnachiya,0\n80yakky,1\nariga_nao,1\nvapors,0\nkisaragi_mic,1\nmochigome_(ununquadium),1\npretty_mundane,1\ntaro_(honyarara00),1\nekaki_kukuma,1\nryougi_shiki_(third_ascension),4\nmk_(lazymk),1\nnarumi_tsubame,4\ndeck_of_cards,0\narthur_pendragon_alter_(fate),4\narbbun,1\nbrown_hair_girl_(nagioka),4\ndaifuku_(tkja3555),1\nwet_dream,0\ngarasuno,1\nsaiga_tokihito,1\nimaizumi_(imaizumin-chi),4\nleotard_sweater,0\npeshita,1\ngas_pump,0\nfootstool,0\nhiro_(user_negm3832),1\nkasetsu_03,1\nseisen_no_iberia,3\nkaminari_ryuunosuke,4\nnecro_(street_fighter),4\n5tatsu,1\nmiyabi_tsuzuru,1\nanjingkuxiao,1\nzeni,1\nizumi_curtis,4\nkeikenchi,1\nbondage_gear,0\nalmond,0\ndagger_(fizrotart),4\nbound_leg,0\nlarva,0\nmedemoisellecu,1\nnugaa,1\nuni_(reborn),4\ncla_(torinabe),1\ngraham_specter,4\nmandragora_(final_fantasy),4\ntucking_in,0\nisaku,3\nberusa_(berutoo),1\ntia_(4017342),1\nsabiirodoramu,1\nkirigakure_symbol,0\nmatsubara_aoi,4\nx_(manga),3\nfong_pudding,4\ndivergence_eve,3\nnyantan,4\nyuukauta,1\ninakami,1\nangel_leotard,0\nmajin_shoujo,3\ntombsakura,1\nemma_frost,4\nkongeraatio,1\nsitting_on_log,0\nm134,1\nkonata_(knt_banri),1\narchitect_(nvw_model)_(girls'_frontline),4\nnekota_tsuna,4\nlight_hello_(umamusume),4\nasakura_(ishida_to_asakura),4\ntai_(e3d1p),1\nnura_rikuo,4\ndurant,4\nnaru_(wish_field),1\nafterl!fe,3\ntanaka_yoshitake,4\ndemiurge,4\nmaple_(cyakapon),1\neneco,1\neungi,1\nsara_(jewelpet_twinkle),4\nichini_(aaaraaaaaaaaa),1\nouka_(.hack//),4\nmoccy,1\nnishikawa_honami,4\nbianyuanqishi,1\npomeko,1\nyuu_(asaiyuji),1\nyucco_kxoxc,1\noobayashi_mori,1\nfortress_(sekaiju),4\nchild_abuse,0\nisinose_(ilxodidli),1\nepitaph_(1122),1\nmatsubara_hidenori,1\nred_hayao,1\npoking_self,0\nmanorea,1\nwatanabe_saki,4\nkawasaki_toiro,1\nduel_avatar,0\nmizutani_shizuku,4\nkoi_kakeru_shin-ai_kanojo,3\ndarkavey,1\nhawkeye_(granblue_fantasy),4\nkirimatsu,1\nkokoro_ga_sakebitagatterunda.,3\nhatabou,4\ndekapan,4\nrukito,1\nyadone_kanna,4\nyukibi_(ykb),1\neric_toner,1\nnabe_(ingenmame),1\nhige_(hige2),1\nooya-san_wa_shishunki,3\nsatonaka_chie_(ooya-san_wa_shishunki),4\nmax_(pangya),4\nmerry_(grimgar),4\nhyakusei,1\nrick_g_earth,3\nstring_lights,0\nhat_rack,0\ncerise_(pokemon),4\nmakino_yuna,4\nbaeg_mi,1\nterufu-chan,4\neinheadt,1\nkunoichi_kaen,4\nmiriam_hildegard_von_gropius,4\nshanoa_(vtuber),4\ntakanashi_kiara_(phoenix),4\nming_(mg),4\njungki_dr,1\nnearl_(shimmering_dew)_(arknights),4\nmiami-chan_(ryusei_hashida),4\nryuuki_garyuu,1\nfumetsu_no_anata_e,3\n\"\"\"rouhou\"\"_ore_no_iinazuke_ni_natta_jimiko_ie_dewa_kawaii_shikanai.\",3\ngetto,1\nhoshimiya_mery,1\nx95_(girls'_frontline),4\nyp_(pypy_5_),1\nring_fit_trainee_(female),4\narchetto_(publicity_strategy)_(arknights),4\nnina_(ninageya),1\nprincess_maker_(series),3\nperlmuttt,1\npa-15_(alluring_larkspur)_(girls'_frontline),4\nrosettastone,1\nhowan_(show_by_rock!!),4\nanother_blood,4\nakehoshi_subaru,4\nsakotach,1\nassal_(sennen_sensou_aigis),4\ndouyougen,1\nred_queen_(sword),0\ncomic_cune,3\nkalina_ann_(weapon),0\nkizuki_rei,1\ndotekabocha,1\nkuji_toi,4\nhetaren_(ramark),1\nkon_(kdash),1\nxiao_guan_(headdress),0\norchid_mantis,0\nsakou_yukie,1\ntaiga_hiroyuki,1\nhydra,0\nvergil_mon,1\nhibarino_tuyuri,1\nmeiji_milk_chocolate,0\nnaga_u-chan,4\nshiromaru_(maniado),1\nstar_guardian_miss_fortune,4\naryll,4\nwar_of_genesis,3\nhinomars19,1\nded_(housamo),4\nsally_whitemane,4\nemilia_(re:zero)_(cosplay),0\nnemari_(nemaru_0907),1\nkarbuitt,1\ntange_sakura,4\nnonono_(1399900),1\nkoyomiuta,1\nleoheart,1\nmuwa12,1\namira,4\nleg_brace,0\nmorimi_saki,4\nkuro_(hitsugi_katsugi_no_kuro),4\nblu-ray,0\ngiselle_collette_vingt,4\nstriped_underwear,0\nseirei_no_moribito,3\nsomnium,1\nchabashira_tatsukichi,1\nfujisaki_miyabi,1\nmatsu_kitsune,1\nbomb_(final_fantasy),4\nmessier_number,1\nminamino_souta,4\ninuwaka_akane,4\nnakajima_nishiki,4\nsoviet_pioneer,0\nvan_fanel,4\nsea_lion,0\nsakisato_kiriko,1\ntanaka_keiko,4\nfetishist,1\ngenkidaun,1\ntendosora,1\nkatsura_(+araka),1\nkyou_ami!,3\ntaichi_(tomo),1\nhinata_hanabi,4\nminyo,1\nkuromu,1\nxinta,1\nlittle_viktoria,1\nnaked_pumpkin,0\nkanamori_reiko,4\nshiramine_(srmn09),1\nmamoru_(arizona),1\nblack_hair-chan_(ramchi),4\nasano_shimon,1\nkura_noi,1\noscar_(fire_emblem),4\nsapling,0\nsakanaokashi,1\nsohaya-no-tsurugi,4\nnoah_(sound_voltex),4\nuchuu_kyoudai,3\nyumemo,1\nmawashi,0\nalraune_(p&d),4\nolwen_(fire_emblem),4\nsaekiya_sabou,1\npat_attackerman,1\nkumakura_mariko,4\ntilia_(ar_tonelico),4\nhanesaki_ayano,4\nicebox46,1\npiroaki,1\nkawai_rika,4\ntestament_(fate),4\nnyaa28,1\nappleseed,3\nkelp,0\nhungrydurp,1\nchiot_(god_eater),4\ntachiuo_(arines),1\nkim_jin_sung,1\nkoeda_(koeda1kg),1\nkazukingu,1\nthe_last_story,3\nmikaze_oto,1\nkimofest,1\ncop_craft:_dragnet_mirage_reloaded,3\nreticule,0\ncat_food_(vocaloid),3\nhigh_jump,0\ntacshojosora,1\ndoha_skylightscent,1\nhanagin,1\nbingansuan_jiamouren,1\nz-move_trainer_pose,0\nkouno_sachiko,1\ndobito_mn,1\nsclera_(asteroid_ill),4\ndecchi_oyabun,1\nin_hat,0\nwheatley,4\nhokkyoku_hotaru,1\nchuck_(pokemon),4\nnankotsu,1\nale_nqki,1\nmola_mola,1\nedo_phoenix,4\nbidet,0\nzukan_(db_tyoutyo),1\nzawar379,1\nmiyako_(kuavera),4\nyanazuri_(kimossari337),1\ncamping_chair,0\ncosmicmind,1\nmagami_eiko,4\namabie,4\nking_kong,4\namagimei,1\nholy_ring,0\nselene_(pokemon)_(cosplay),0\naroddst4,1\nqb_516,1\nbenten,4\nedoara,1\nkusaka_kabane,4\nstraight_cougar,4\namagasa_nadame,1\nmatchlock,0\napoidea,1\njyon104,1\nminazuki_(azur_lane),4\nbellringer_angel,4\njunjam,1\ngecotan,1\nrobbie_the_rabbit,4\ncirucci_sanderwicci,4\nproton_pack,0\nflying_squirrel,0\nrx_hts,1\ntevit_(tevit15),1\nsubaru_(.hack//),4\nveko,4\njageungansik,1\ncome_at_me_bro,0\nyoshi_egg,0\nsolarisu,1\nlemon_blossoms,0\nmope,1\nafter_(artist),1\nlillie_(pokemon)_(cosplay),0\nkatsura_dendou,1\nusami_wataru,1\nsan_sami,1\nsonya_(schan),4\nthedurianart,1\nadapted_weapon,0\nfam_fan_fan,4\nkamehima,1\nkemomin_nosuke,1\nmugino0515,1\nmona_(shingeki_no_bahamut),4\nkaneda_eiji,1\nresident_evil_code:_veronica,3\nnomio,1\ntsukasa_tsubasa,1\nkissing_thigh,0\nyellow_shawl,0\ngakei3,1\ncubism,0\nkaen_miso,1\nkirishima_yurika,4\nglorious_success,0\nplucking_petals,0\nauzenhaito,1\nfinal_gear,3\nkamen_rider_geats,4\nvoid_0,1\nyamada_naoko_(kodamayanao),1\nshirt_bow,0\ntiki_(pangya),4\nlira,1\nspiky-eared_pichu,4\nbouzu_(bonze),1\nshano-pirika,1\ndead_man's_questions,3\ndahlia,0\nhatsuno_xxx,1\nomega_rei,4\nasa_(xametaler),1\nyoshino_(mfmfpng),1\nthe_tentacle_professor,1\nnoel_cerquetti,4\noveralls_pull,0\nsagittarius,0\nlyrical_denko,1\nkumeta_kouji,1\nhonda_hiroto,4\nagatha_christie_no_meitantei_poirot_to_marple,3\nraika_grace,4\nmori_marimo,1\nmiyuu,1\n440,1\nshiba_hibino,4\nnayuko,1\naida_kan_mori,1\notter_kawauso,1\nsmooooch,3\nshelgon,4\nillumise,4\nloudred,4\nburujawa,1\nujuju,1\nlira_mist,1\nwhite_base,4\nspike_(my_little_pony),4\nbling,0\nkimberly_ann_possible,4\nrori_chuushin,1\nmoetarou,4\nmeteor_(bard's_holiday)_(arknights),4\ngundam_lost_war_chronicles,3\nkuma-tan,4\nblack_getter,4\ntoguro_otouto,4\nyuyake_hino,4\nchen_shu_fen,1\nsuper_robot_wars_w,3\ntodoroki_sora,1\nmustadio_bunansa,4\ntonegawa_anju,4\ntajima_nao,1\n8055,1\nbon,1\nyanazuki,1\nprincess_wriggle,4\nhimemiya_anthy_(cosplay),0\nisadora_finnsdottir,4\ndreamparty,3\nraymon,1\nmoratorian,1\nyamatogawa,1\nironatsuki,1\nmnemosyne,3\nguatemala,1\npin.x,1\nmatantei_loki_ragnarok,3\nsengoku_blade,3\nmarufuji_shou,4\nyaeno_nadeshiko,4\npink_floyd,3\nkunzite_(sailor_moon),4\ntsuchinoko_(muni_muni),1\nkimochi,1\nirabu_ichirou,4\nhousen_elis,4\nyasuhiko_yoshikazu,1\nkapiko,1\nyurikawa_saki,4\nsuee,4\nnanakase_yashiro,4\nmomoiro_oji,1\nunicorn_(a_dream_of_pure_vows)_(azur_lane),4\nshishamo@,1\ngoidou_yui,4\nelk,0\nwanko_to_kurasou,3\nlapucelle_(arasoo1210),1\nmarchen_awakens_romance,3\nyukimaru,4\ntoho10min,1\nhitorigaoka,1\nvolga_(azur_lane),4\nculotte,4\nzacian_(hero),4\nmizuryuland,3\nwikipe-tan,4\nvampire_princess_miyu,3\nfujita_(speedlimit),1\nraiz_art_works,1\nu0rei,1\nbianka_durandal_ataegina_(dea_anchora),4\nfull_service_(mazjojo),3\nverse,1\nshinozaki_akina,4\nmaud,4\nhollow_(bleach),0\ngara_ayuri,1\nshibata_mizuki,4\nnorah_bright,4\nnemu_(isaya),1\nsmoked_cheese,0\nhapposai,4\nrotom_(heat),4\ncurtain_(posuinochuanglian),1\ngrail-kun,4\nhiyoko_(chick's_theater),1\nakagawa007,1\nasuda,1\nhomri,1\nsoubriquetrouge,1\nokino_ryuuto,1\nyugami_gooshu,1\naoki_kaede,4\nyotsuba_(kyokugen_dasshutsu),4\npudding_(tonpuu),4\nmode_(mode-n),1\nsauropod,0\nnazuna_shizuku,1\ntoyosatomimi_no_miko_(owl),4\naym_(ash3ash3ash),1\nyanagi_yagiaji,1\nchou_saotome_kenkyuujo,1\ndragalge,4\nhitotsu_yane_no_tsubasa_no_shita_de,3\nnemubusoku,1\nzodiac_4_(sekaiju),4\nnuwanko,1\nchanosuke,1\nfinni_chang,1\nirene_(claymore),4\npororokka_(macareo),1\ncall_f,4\nponi_(rito),1\ndorothy_(bishoujo_mangekyou),4\nfudatsuki_kyouko,4\nreizoku_ichiba,3\nosomatsu_(nanameno),1\nmultico,1\nmayu_(kaikan_change),4\notoshiro_noel,4\ngensuke_(ryun),1\nnonaka_kurumi,4\npooka_(odin_sphere),4\nbbb_(33kudo),1\nhan-gyaku-sei_million_arthur,3\nnansen_ichimonji,4\nhiro_(hankakudouga),1\nwon_(toufunokado),1\nshikajima_shika,1\nputty_(phantom_brave),4\nzundacroquette,1\nyakusuke,1\ntsukamori_shuuji,1\njunjun_(sailor_moon),4\nritence,1\nnishijima_ren,4\nsanguu_mitsuba,4\nkonachiu,1\ntogawa_mayuu,4\npeachette,4\nresident_evil_revelations_2,3\nshuukenyuu,1\nkreuzer_00,1\naoba_project,3\n43_pon,1\nagyou_sonokou_l,1\nbite_addict,1\nwarlock_2_(sekaiju),4\nobvious_statement,0\nenotou_(enotou_moi),1\nfusui,1\niapoc,1\nsun_jing,4\nraiden_mei_(crimson_impulse),4\nriko201008,1\nbinchou-tan,3\nmask_around_one_ear,0\nzouhyou_(at4190),1\nbattle_magician_(elsword),4\nkukkuru,1\nzanasta0810,1\nnuko_0108,1\nyou_died,0\ncat_zipper,0\nshiro_(fire_emblem),4\nsawch_cls,1\neldridge_(holy_night's_embrace)_(azur_lane),4\nvaike_(fire_emblem),4\nyami_anko,1\nfenghu_(huli),1\nkuroshiro_gurei,1\ngigantamax_meowth,4\nriko_(machikado_mazoku),4\nlace_garter_belt,0\nmoong_gya,1\ntaut_pants,0\njungle_cat_(kemono_friends),4\nbechu,1\nholding_trophy,0\nmanmaru_(love_live!),4\nclass_number,0\nhakaze_kaoru,4\nunown_m,4\njervis_(kancolle)_(cosplay),0\nmidori_no_makibaoo,3\nmystical_power_plant,3\nrosa_(pokemon)_(cosplay),0\nkitsune_udon_(ai_br),1\nkirby's_dream_land,3\nmakani_kohitujito,1\npeagunz,1\nnyaxxy,1\nkuutamo,1\nfunada_ui,4\nbl/ess,1\nfusenryo,1\nbeak_hold,0\nhat_on_chest,0\npollenoxide,1\nshrek_(series),3\nlaura_(fire_emblem),4\ndr.beeeee,1\nfran_(tensei_shitara_ken_deshita),4\njoshua_(tubie),1\nfolded_braid,0\nfunamushi_(funa),1\nwind7626,1\nkhoaphan96,1\ncrewmate_(among_us)_(cosplay),0\ntomo_ro,1\nkumano_(fancy_waves)_(azur_lane),4\ntaki_rentaro,1\nsuper_robot_wars_dd,3\npenny_(pokemon),4\nerodrunky,1\nglowing_fist,0\nakabane_(pixiv3586989),1\nbokutachi_no_remake,3\nka1se1,1\nargyle_kimono,0\nmr2d,1\nkisaragi_alice,4\nkickylian,1\nweb_(cookie),4\n191karasu,1\naruciii,1\nswain_(league_of_legends),4\naoi_hinata,4\naugetsix,1\nred-d,1\nhoronamin,1\ntorn_sack,0\ndayoon,4\nglowing_mushroom,0\nosoko_(osomatsu-san),4\nmissing_finger,0\nmahou_shoujo_nante_mou_ii_desukara.,3\nmgx0,1\nyonago_miko,1\ndjayo,1\nunachika,1\ncrystal_tail,0\nmunehiro_(21plus),1\ncourreges_accel,1\nanimahakim,1\ntsuji_airi,4\ncete_(controllingtime),1\ngoinkyo,4\njacknife,1\nlevasoj,1\nhoplitx,1\nrapute_(migihidari),4\ntonta_(tonta1231),1\nichigo-chan_(mignon),4\nschwarz_(presents)_(arknights),4\nuss_lexington_(cv-16)_(y.ssanoha),4\nyamano_rokamizu,1\ngrainne_(fate),4\nengineer_nemo_(fate),4\niowa_(kancolle)_(cosplay),0\nkasumi_(kancolle)_(cosplay),0\nkrs_(kqrqsi),1\nholmy_(holmesdmode),1\nmoe_(bosshi),4\nkuroshiro_kanae,1\nw_(fugue)_(arknights),4\nraijinto_(fire_emblem),0\nmythbreakers_(hololive_english),0\nmalin_(kof),4\nsenjochi_janai,1\nseio_girls'_academy_uniform,0\nseifuku_rakuen,3\nhacco_mayu,1\nayanami_(demon's_finest_dress)_(azur_lane),4\nillustrious_(illustrious_ball)_(azur_lane),4\ntomte_(housamo),4\npieces_(series),3\nchroong,1\nminamoto_no_raikou_(traveling_outfit)_(fate),4\nreceptionist_girl_(amagi_shino),4\nelizabeth_bathory_(fate/extra_ccc)_(cosplay),0\nnishi_yasuaki,1\nkureha_(angelite),1\nsunameri_(pixiv3564245),1\nfujimaru_ritsuka_(female)_(starlight_fest),4\ntakopii,4\nraida_(j5einmnjp3r49k6),1\nalgae_(5455454541),1\nsgt_crisis,1\ntoranyun_(akitsu_taira),4\notomachi_una_(sugar),4\noishii_ishiwata,1\nchoujikuu_kidan_southern_cross,3\nwrath_(fma),4\ndaigada,1\nakeyama,1\narsene,4\noboro_(utawarerumono),4\nmaitake_(loose),1\ntaki_(nakochan),1\nchino_(ch_no),1\nyukarigawa_yumiya,1\nyellow_(vocaloid),3\nwenhe,1\ntileable,0\nminafuni,1\npu_uq,1\nanpolly,1\nfamily_portrait,0\nwakabayashi_makoto,1\nchibibro,1\nkouno_ibuki,1\nddongu,1\nelle_sweet,4\nkotaroukuroo,1\nnishimuku_meri,1\nniwa_nagahide_(oda_nobuna_no_yabou),4\nkono_yo_no_hate_de_koi_wo_utau_shoujo_yu-no,3\nshishamo_(masato_k),1\nyou_(esparda),1\nindian_flag,0\ncountdown_timer,0\nrin_ateria,1\nikuya_daikokudou,1\nnoririn,1\nmeia,4\noni_tengu,1\numasanjin,1\nnee_chanto_shiyou_yo!,3\neltonel,1\nduo_chromatic,0\neufonie,3\ncollateral_damage_studios,1\nmiura_yumiko,4\nangry_birds,3\nnikuji-kun,1\nberserker_(final_fantasy),4\niri-neko,1\nburning_clothes,0\nwatagi_michelle,4\nmenghuan_tian,1\nrance_03_leazas_kanraku,3\nmachida_(ojimashu),4\nconmimi,1\nchikafumikou,1\nsakuria,1\nwavesheep,1\ntoho_(kihon_ha_yappa),1\nsanshouuo,1\n96dgd,1\nholding_laptop,0\nyume_yoroi,1\ncompass_rose,0\netsusa_oohashi,3\nana_(tateana_juukyo),1\naye-aye_(kemono_friends),4\nsuzaku_(kemono_friends),4\naoi_choko_(aoichoco),1\nsasisage,1\nalpaca_carlesi,1\nkizuna_ai_(cosplay),0\nocha_(hutuumikan),1\nwhite_thoroughbred_(kemono_friends),4\neffort_star,1\nharuka_(haruka_channel),1\nnyaph,1\nsakuya_(sao),4\nshiro_oolong-cha,1\nmage_(bikini_warriors),4\ninkling_(cosplay),0\nfutou_ryouko,1\nmoe_(splatoon),4\nao_(aocooler),1\nlucky_(1045044604),1\nseraphina,1\nttk_(ehohmaki),1\nyashiro_(silver_will),1\nkisaragi_gentarou,4\njinkai_yamizawa,1\ncomcom,1\nkuromitu_(kageneko),1\nkeizou,4\nkakugari_kyoudai,1\nchaborin,1\nkyuupura,1\nhone_kawa,1\npainter-lhb,1\narteslav,1\nakikan!,3\nju-zika,1\ndiscord,3\nhina_(cassissoda),1\nmatsukaze_rin,4\nkos-owl,1\nichihara_kazuma,1\nkiki_(re_6xxx),1\nbunny1219,1\neldridge_(the_inquisitive_recluse)_(azur_lane),4\nrathian,4\nnari_(narikashi),1\nconcentric_circles,0\nlian_(aohada_bocchi),4\nriba,1\nsakanasoko,1\nlagiacrus,4\nwada_don,4\nsoriku,1\nasn_s,1\ndevil_may_cry_2,3\npeeing_on_penis,0\nmanya_sora,1\nizumiyamisono,1\nhealer_girl_(yuuhagi_(amaretto-no-natsu)),4\nkaimo_(mi6kai),1\njaw_titan,4\nprehistoric,0\nkusiyan,1\nuniform_number,0\nlucia_(lunar),4\nskorupi,4\nsiegbert_(fire_emblem),4\nutsunomiya-sen_meguri,3\nmantou_xiang,1\nyuhica,1\newokaku_kitsune,1\ntofu_(tofulabo),1\nsanntouhei,1\nonion_rings,0\ncross-laced_swimsuit,0\nseismitoad,4\ntheobrobine,1\ngangsta,3\nsudou_kayo,4\nazusa_(azunyan12),1\npie_chart,0\nharurun,1\nrui_rubellent,1\nharunori_(hrnrx),1\nmorishima_hodaka_(tenki_no_ko),4\nnekojishi,3\npanana,1\nkamuraaa_615,1\nsteve_chopz,1\nbobbbob,1\nhal_(ojou),1\ntracer_(overwatch)_(cosplay),0\nfeather-trimmed_coat,0\ndoll_house,0\nsaida_kazuaki,1\nazarashi_(azrsot),1\nekidona,1\naata1007,1\nsekibanki_day,0\nkamen_rider_chalice,4\nkokutou_mimi,1\nmichinoku_(hiking_miusan18),1\nkanisaka_shizuku,1\npiledriver_(wrestling),0\nkitagawa_unagi,1\naymusk,1\nluft7star,1\nsasane,1\nrider_watch,0\nsheer_heart_attack,4\ngokotai_(kiwame),4\ntarumaru,1\ncota,1\ncharlie_magne,4\nmochisuna,1\none_outs,3\nlumi_(merryweather),4\nrudeus_(haevest),4\ntsubakiyama_parry,1\nbeniazumaru,1\nyori_(y_rsy),1\nenuma_ru,1\notototo,1\nlemontyoisy_r18,1\nmiyadeguchi_mizuchi,4\nholoro,0\nyukidaruma718,1\nbraided_tail,0\nokara,1\nwhitebear,1\nhiromyan,1\nodmised,1\nkogalashi,1\nsoul,0\nchomikuplus,1\nfujita_(dorohedoro),4\nnuka_cola,0\nyoung_wang,1\nserizawa_madoka,4\nripple_star_queen,4\nlemon_t,1\nhh,1\ninou_takashi,1\nshizuna_rem_misurugi,4\ndhjs_0010,1\njackasss,1\nstoned,0\ngotoo,1\nmeru02295238,1\nharuka_karibu,4\nhokusen,1\nbeni_(pokemon),4\nchabenmus,1\nhekirake,1\nyubelluna,4\nmr.takealook,1\neds,1\nzixiong_zix,1\nkokage-san,4\nnu_(qjqmfqjqmf02),1\nwickellia,1\nzumochi,1\nstudded_armlet,0\nyu-chan,4\nbanjo,0\nreisa_(blue_archive),4\nsuryua,1\nmaya_schrodinger,4\ndoushite,1\nrabittofaa,1\nbeni-chan_(beijuu),4\nkawaii_inu5,1\nloika,1\npharaoh_(cat),4\nextra_teeth,0\nnikumeron,1\ndrawinik,1\ndancing_flower,0\npicrew,3\nishida_kana,1\ntrap_(drthumt),1\ncoco_maru,1\nnoogie,0\nwarai,1\nglowing_crystal,0\nsawatari_shizuku,4\nhasebe_aya,4\nglorious_azure_costume_(umamusume),0\nkomodo_dragon_(kemono_friends),4\nkuromaru9,1\nakira_b,1\nunder_ground,3\nentombed_air_defense_guardian_princess,4\ndaeraeband,1\nshirakawa_miyako,4\nnatsukimonou,1\nacfun_girl,4\nkurosawa_minamo,4\ndisappear,0\nuzuki_noboru_(denchuu_shoujo),1\ntsuzuri_(itosousou),1\nsonzai_soumei,1\nushitsuchi,1\nhyuuga_masamune,4\nkiwamu,1\nchronicle_2nd,3\nexercise_bike,0\nnanashi_(soregashi),1\nkirara_(inuyasha),4\nlieserl_albert_einstein,4\nsakaki_rin,1\nmai_(maika_04),1\nutaori,1\nshin-chan_(evangelion),4\nyumeno_kanade,4\nliberty_leading_the_people,3\nichinose_yuu,1\nyamori_(stom),1\ntonito,1\nufotable,3\nsen_no_hatou_tsukisome_no_kouki,3\nbeni_shouga,1\nparfait_chocolat_second_brew,3\nkago1205,1\nsd_gundam_sangokuden,3\nhinata-bokko_(sanpo_fuumi),1\ndekapoi,1\nhyuuga_(azur_lane),4\nshourin_bonzu,1\nyoumicitrustea,1\nooarai_marine_tower,0\nrei_(rei_9146),1\nsonic_the_hedgehog_(cosplay),0\nboxer,0\n61cm_quadruple_(oxygen)_torpedo_mount,4\nfolded_wings,0\nsengoku_ace,3\nkeny,1\nmishima_yoshikatsu,1\nono_daisuke,4\nsakuemon,1\nkojou,1\ntorneko,4\nkirishima_eriko,4\nkanzume,1\ntorture_instruments,0\nmermaid_(artist),1\ndeer_boy,0\nyoga_kimimaro,4\ndensya_t,1\neroneko-san,4\nblack_frost,4\nmaria_(junketsu_no_maria),4\npink_leotard_(dq),0\nfunnel,0\nussr-tan,4\nshuma_gorath,4\nnamek,0\nzuikillme,1\nluna2,1\ninuboe,1\nrick.black,1\nshiromomo,1\njuuka@100neko,1\nsage_(dq3)_(cosplay),0\nkitou_en,1\nyukirar,1\nrei_oe,1\nsoe,1\ndonatello_versace,4\ngouf_custom,4\nmurayama_ryouta,1\naoba_anoa,4\nxiandao1213,1\nvigoroth,4\nfujinozu,1\nyuzuru_(xxelysionxx),1\nhoujichaoic,1\nhimetsuba,1\nhakkotsu_shitai,1\nshin_(sinsin12121),1\nzuihou_de_miao_pa_si,1\ntsunono,1\namesarasa,3\nishida_masayuki,1\nquartett!,3\ntim_rhymeless,4\ndaphne_ann_blake,4\nkanaritu,1\narisue_tsukasa,1\nlunarclinic,1\nmiyabi_(miura105),1\ntamonmaru,1\nhamioura,1\nao_(sodalite),1\nmumulatte,1\nfather_(fma),4\nsuzukawa_koume,4\ntaka_(sanoujo358),1\nsamejima_minoru,1\njian_(weapon),0\nwhite-aster,1\nfukuda_fukutarou,1\nmurasaki_kajima,1\nyuuki_(silent_moon),1\nyorimitsu,1\nmenjou_hare,4\nveigue_lungberg,4\nsatou_kaede,1\nborsalino_(kizaru),4\nsouther,4\nsaeki_ai,4\nidu_michito,1\nspoo,4\nmersoleil03,1\nhrist_valkyrie,4\nelement_hunters,3\nbthx,1\nbarbariana_(last_origin),4\nairi_(blue_archive),4\nuruc,1\nasou_yuma,4\nalbert_chamomille,4\nma5,0\nemina_(emina&aki),4\nrabinidaddo,1\nyuzukarin,1\nitsumi_erika's_loader,4\nlin_lee_koo,4\nnoirly,1\ngeokinesis,0\nadaajt,1\nluna_(gunfire),1\nrickert_kai,1\ncard_background,0\nyuuji_(yujikazakiri),1\nanna_(small_night),1\nkannuki_hisui,1\nlee_ji-min,4\ntall_crown,0\nbear_mask,0\nazuki_nagamitsu_(touken_ranbu),4\nalarm_siren,0\nlace-up_sleeves,0\nharu_(ririne9999rine),1\nnanakorobi_nene,4\narrokuda,4\nxubai,1\ncandy_store,0\niseria_(epic_seven),4\nmeiz,1\nchienon,1\nmatsubara_saya,4\nhilde_(counter:side),4\nmelon_hair_ornament,0\nneroma_shin,1\nnakamori_aoko,4\nturbine,0\nkaiba,3\napita_(apitaro),1\neun_bari,1\nshaman,0\nsaionji_mikoto,4\ngau,4\nluen_kulo,1\nanju,4\nwhisking,0\namatsuka_rikka,4\nnyuukazai,1\nwasabisuke,1\nraranokusu,1\ntransformers_energon,3\ntakeshi_(mononohu20),1\neumi_114,1\nduel_academy_uniform_(yu-gi-oh!_5d's),0\nhone_(koppun),1\nmiya_(chocolate_holic),1\nfuwakuyuu,1\nusagyaru_(rangu),4\nmoonandmist,1\ndedeen,1\nquickie,4\nmashugure,1\nbaozha_gangbi,1\nlevel9kaito,1\nmoyahara,1\nyuushoku,1\nboleum_(dgrpluna),1\nmagnifire,1\ngyuunyuu_bin,1\nsano_emma,4\nporco_rosso_(character),4\nkazami_kuku,4\nkyariko,1\nphantom_of_the_opera_(fate),4\nsouma_haruto,4\nchuck_(harfmoondark),1\nkuko_(flower_knight_girl),4\ntachibana_(x_quick),1\nsenon,1\nscherazard_harvey,4\nkuramoto_kaya,1\nintron_depot,3\nhikami_dan,1\ngenocide_kitten,1\ntomihero,1\nuematsu_koboshi,4\nfloe,4\nchie_rumiko,4\nloveless,3\nluna_noah,4\nd_midiror,1\nguricoogen,1\nhiroaki_(huruhonya),1\nkitsune_saiguu,4\nghost_rider,4\nhokenshitsu_no_shinigami,3\nmadcocoon,1\nyakumo_mikage,4\nbouffalant,4\nklinklang,4\ncarracosta,4\naranami_shibuki,1\nla_galissonniere_(azur_lane),4\nasisuki,1\nkaori_(sky-freedom),4\nkatsuragi_nantoka,1\norie_hakua,4\nmary_jane_watson,4\nrurikoke,1\ntokumei_sentai_go-busters,3\nkai_schren,4\ndate_naoto,1\nhitomi_kazuya,1\nlevia_(shepherd0821),4\nmoon_presence,4\n72_(nananatsu),1\nkneehighs_removed,0\njuusou_kikou_dancouga_nova,3\naka_tonbo_(lililil),1\nknives_(knives777),1\nkyuu_(pinpo),1\nsuzuno_ito,4\nklug_(puyopuyo),4\nmaya_yukiko,4\nkotarou_(yukina1721),1\nhandsofmidaz,1\nbeck_(mighty_no._9),4\noniyuru,1\npitohui_(sao),4\nshoujo_shin'iki_shoujo_tengoku,3\nnakonako,1\nqt_(space_dandy),4\namemiya_taiyou_(mixi_max_zhuge_kongming),0\nsendou_emi,4\nhyoumon_(saihokutan),1\nhaniyama_kurofo,1\nkanase_kanon,4\njune_mina,1\nce-tan,4\nanother_rider_(zi-o),0\nnomikata,1\nnonomaro,1\nhelmet_(touhu812),1\nnamatame_chitaru,4\nkirigaya_hitsugi,4\ndot_triangle,0\nnyaa-tan,4\namakoke,1\nbrioche_d'arquien,4\n7nanappe,1\nmurata_(igaratara),1\nmonarch_butterfly,0\nminkye,1\nrollingswitch,1\nisao_(wasamoti),1\nsorauta,3\nmascara_wand,0\nnanairo_reincarnation,3\nmichimoyo,1\nshiina_(koufuku_graffiti),4\nusotsuki_hime_to_moumoku_ouji,3\ncrazy_crazy_(idolmaster),0\nking_ghidorah_(godzilla:_king_of_the_monsters),4\nshiki_seishirou_(eroe),4\nkanzaki_tomoyo,4\nlimalisha,4\nreference_work_request,5\nnara_shikadai,4\nja_mong,1\nbela_dimitrescu,4\nlove_deluxe,4\nyatogami_tenka,4\ndivine_child_of_rejuvenation,4\nyapi_(yabai_toki),1\nren_(witch's_weapon),4\nitocoh,1\nleon_(fire_emblem),4\neriko_(nakaeri_gogo),1\nstoic_seraphim,1\nbotan_mochito,1\nwinemvee,1\nsoramimi_(seiga),1\npaper_background,0\numineco_1,1\njojo_no_kimyou_na_bouken:_all_star_battle,3\nkuro_ai,3\nphrecklesart,1\nsidelocks_tied_back,0\nchan_hone_pkpk,1\ntomoyo_kai,1\nmarudeningen,1\nmomo_walnut,1\nizu_(tea_value_lord),1\nunderwear_around_one_leg,0\nkepra_iii,1\nnightingale_(an_elegy)_(arknights),4\nrosalyn_(hololive),4\n1341398tkrtr,1\ncomiket_89,3\nrinna_mayfield,4\nsayuwan,1\nbiting_arm,0\nmario_&_sonic_at_the_olympic_games,3\naihara_academy_school_uniform,0\nthe_crawling_city,3\nsukeban_(smg)_(blue_archive),4\nbinware,1\nnyc,1\nshitodo_aoji,4\nstar_wars:_return_of_the_jedi,3\nstar_block,0\nnohotoke_honne,4\nbunny_on_shoulder,0\nribbed_socks,0\ndamenano104,1\nhirota_masatane,1\npramanix_(caster's_frost)_(arknights),4\namicia_michella,4\nvictor_(tama_e_akira),1\nfinger_touching,0\nkanikame,1\nonimaru_miki,4\nmurasa_minamitsu_(cosplay),0\na_(sofi3103),1\nslow_dancer_(jojo),4\ntakatsuki_shiori,4\npull,0\nisaki_(shimesaba),1\nstella_no_mahou,3\noki_(koi0koi),1\nrena_(watamote),4\nbyousoku_5_centimeter,3\nashi_ura,1\namelia_(fire_emblem),4\nnoes,1\nsam_ashton,1\nkabe_ni_hamatte_ugokenai!,3\ndao_trong_le,1\nkato_(mogumoguokome),1\nmotomiya_ryou,1\npurutoppu_(toranohige),1\nsento_(iroiro_gottani),1\nhibitono,1\nkengzeta,1\namatsuka_poi,4\ntwice12314,1\namano_otoha,4\nfuruhara,1\ndigimon_universe:_appli_monsters,3\nhayashi_ekyuu,1\naoya_(ayoyame18),1\ntamon_ketsuyuki,1\ngame-style,3\ndeecha,1\neyebrows_visible_through_headband,0\ncity_(arawi_keiichi),3\nspider-man_noir,4\ne_draw_paint,1\noda_koziki,1\ndaftbonkers,1\nelbow_cutout,0\nfutaba_otohiro,4\nchestnut_thoroughbred_(kemono_friends),4\notogi:spirit_agents,3\nyuuki_yuuna_wa_yuusha_de_aru:_hanayui_no_kirameki,3\nhallohi,1\nla_liga,0\nisaka_wasabi,1\nkototoki,1\nhiga_norio,1\ntomo_(princess_connect!),4\nteam_rainbow_rocket_uniform,0\ncristalavi,1\ntoshiharu_(s_narutoshi),1\nz19_hermann_kunne_(azur_lane),4\nutayoi_(umakatare),1\nkiryuu_kazuma_(cosplay),0\nkapkan_(rainbow_six_siege),4\nxiao_qi,1\nkanon_12361024,1\nika_(hinatu1992),1\ndp-28,0\no-ring_strap,0\nbunta_ru,1\nserph,4\nkatuhata,1\nandyface,1\nyuurei-chan,4\npotti-p,1\nmaille-breze_(azur_lane),4\nglass_bowl,0\nsentaku-bune,1\nchigusa,1\nbenisumomo,4\nhanatsuka,1\nshiomiya_iruka,1\ncwilocky,1\ndischarge_mochi,1\nno_earrings,0\nsleepless_(wrysmile),1\nkuroyuki,1\naononchi,1\nsu_(honkai_impact),4\nhattori_toko,4\ndygenguar,4\nhinata_fuyuki,4\nshikke_gnsn,1\nmeyamu,1\nnyanyanoruru,1\nadjusting_skirt,0\nha-chan_(mahou_girls_precure!),4\nryohgo_narita_(mangaka),1\nzero130,1\ntsurumaki_kazuya,1\nmoritaka_(housamo),4\nkeisan,1\nreluvy,1\ndisassembly,0\nfukumoto_nobuyuki_(style),0\nkokorori-p,1\nstriped_wall,0\nzaku_i,4\nkoyama_sao,1\nizulizuru,1\nceline_jules,4\nshizuko_hideyoshi,1\nriochan,1\ntriangle_choke,0\ntamama,4\nangelia_avallone,4\nushihashiru,1\nyui_(kari),1\njuju,4\nmorioka_hideyuki,1\ntakasu_yasuko,4\nfront_innocent,3\n0-toki,1\nkojima_ayami,1\nblunderbuss,0\namatsu_misora_ni!,3\nitoo,1\nwendy_garrett,4\ndoku_hebi,1\nziro_(daydozen),1\nesubui,1\nsponsor,0\ntakahashi_record,1\nhoujuu_nue_(cosplay),0\nmessiah_(game),3\ndakun,1\ncannonball,0\nbloomers_removed,0\nsakamoto_sue,4\ncum_milking,0\nmomoman_(pink_voltage),1\ntomoyan_(nyakkoya),1\nazure_luna,1\negami_tsubaki,4\nmousse_(food),0\ncure_peace_(cosplay),0\ntomoya_(artist),1\nchocpocalypse,1\nthe_sims,3\nshinobu_jacobs,4\nworld_heroes,3\nhonjou_masato,1\nalle_gro,1\nepiko_(aki),1\nuna_(mazinger),1\nyuuna_katsumi,1\nnokke_o,1\nkonjiki_no_yami_(cosplay),0\nsaboten7,1\nyuuki_shin'ichi,1\ncat_tower,0\nsoreyuke!_uchuu_senkan_yamamoto_youko,3\nurabe_rika,4\ndobu_(moor),1\nh016,1\njinpaitugounan,1\nsatsuki_yuu_(awairo),1\nelm_(pokemon),4\nyaziri,1\ntamarinfrog,1\njin_(avatar),4\nkaze_fukeba_nanashi,1\ncandy_print,0\na_grim_reminder,0\nmiki_sauvester,4\nterminus_est,4\nblaster_(splatoon),0\nkibasen,0\npacifica_northwest,4\naoiakira553,1\nnaruse_jun,4\nlord_boros,4\nseruel,4\nzircon_(houseki_no_kuni),4\nsubaru331,1\nw.d._gaster,4\nluomo,1\nshigaoka,1\nelbow_on_arm,0\nnyangoroo_(nekopanchi_bashibashi),1\nwatanukin_(etson122127),1\ncold_(hoshinoskull),1\nkannoaki,1\nbaka_(mh6516620),1\nkasumi_yozora,4\nchiki_(botugo),1\nns_(ntrsis),1\naftamc,1\ntakobe,1\noekaki-daisuki-dessu,1\nfreshtango,1\nlogknn,1\nmimura_(nnnnnnnnmoo),1\nlissandra_(league_of_legends),4\nuori,1\nosanai_shiina,1\nnameko_houshi,1\nriokasen,1\nkk724,1\nkanengomi,1\nsukekiyo_(skky_0),1\nmakinan,1\nthe_magician_(tarot),0\nasagiri_kogen,1\natcesolcyc,1\nhamakaze_(kancolle)_(cosplay),0\nlyn_(bridal)_(fire_emblem),4\nchichi_guai,1\npenis_in_glove,0\npinstripe_jacket,0\nyume_(454565427),1\nlen_(cat),4\ngreen_facial_hair,0\ndesert_eagle_(girls'_frontline),4\ngepard_m1_(girls'_frontline),4\nlala_(yamada_goroku),1\nkameno_sachi,1\n53c,1\npink_tube_top,0\nghdwid,1\naiu_.,1\nrfb_(how_rfb_stole_xmas)_(girls'_frontline),4\nchamuring,1\nhighwayman_(darkest_dungeon),4\navataro_sentai_donbrothers,3\nwitchcrafter_madame_verre,4\nedmond_dantes_(first_ascension)_(fate),4\naria_tenetorisu,4\nkenharu,1\nzhumojian,1\njames_(vocaloid),4\nfoxeleos,1\n8ne_(nitika127),1\nwhat_i_watched_what_i_expected_what_i_got_(meme),0\nshiina_(vuurrood),1\nriku_(melty_drop),1\nmugura,1\nryuuguu_otohime,4\nmaru_(memoriatechnica),1\nkoji_(koji-a),1\nusuusu,1\nkudou_michiya,4\nbinchou-tan_(character),4\namino_dopple,1\ndoseisan_(dosei-san),1\nkoide_natsuno,4\ncharmal,1\naruma_(shinrabanshou),4\ndexp,1\nsakuama,1\nsnowchild,1\nma-hain-scarlet,1\nlaphy,1\nfurapechi,1\nkuru2pantu,1\nhimiko_(btooom!),4\nazrael_(blazblue),4\nbeta_(muvluv),4\nvycma,1\ntsuki_no_iwakasa,4\nmushroom_(artist),1\nsagiri_yuuko,4\nbzerox,1\nmelda_deitz,4\nfrayed_clothes,0\ndinosaur_riding,0\noruta_(owata_saber),1\nkoukawa_asuka,4\npecchii,1\ntilarna_exedilika,4\nsuikyou_(aqua_cities),1\nthorr_(fire_emblem),4\nmash_kyrielight_(under_the_same_sky),4\nnunnun_(shunka_shuutou),1\nryisu_(deluxe<<<),4\nwhite_sweater_vest,0\ndc_(doughertyevans),1\nthai_student_uniform,0\nflower_bra,0\ngogopaint,1\nogata_matake,4\nprowl_(transformers),4\ngekokujou_(vocaloid),3\nsubaru_impreza,0\ndalmatian,0\nymm007xx,1\nishida_masatsuki,1\nburning_arisa,4\nyukishiro_tomoe,4\nleebigtree,1\nbbbannooo,1\nuranus_(planet),0\nanimal_band_panties,0\nmaako_(yuuyake.),1\namashun,1\nchirorian,1\nrama_(amaru),1\nknight_gundam,4\nsapphire_satou,1\nkatakura_shinji,1\nred_(konkichi),4\nshirotsume_souwa,3\nsenjougahara_pose,0\nmat_play,0\norochi_leona,4\nefyuru,1\nvine_whip,0\nmochi_(m0chi0000),1\notogi_tetsurou,1\nyuna_(deadawon),1\nodin_(azur_lane),4\nsatansoft1,1\ngen'en_(sioherashi),1\nchariot.f,1\ngwen_poole,4\nshibuya_109,0\nhonon,1\nsilcoon,4\nska.harumi,1\ngear_senshi_dendou,3\nconcord_(azur_lane),4\nnagomiya_(shousha),1\nshuru_y,1\ntaroji,1\nsawsbuck_(spring),4\nsakkama,1\npoking_penis,0\nhero_(10cl3),1\nyataba,1\nbeatrice_(umineko)_(cosplay),0\nyukiaka,1\neva_mashiro,1\nmiso_(mimimiso),1\nmaya_(dq11),4\nnes,0\nhiroserii,1\njax_(league_of_legends),4\nsakula,1\ntarowo,1\nvelvet_room,0\nhiva+,1\ns.e.m_(idolmaster),0\nlove_potion,0\ntorawar,1\nkamen_rider_amazons,3\nmario_&_luigi_rpg,3\nwinni,1\nwolfchev,4\nkurosu_tsugutoshi,1\nniea,1\nrekurieeru,1\nsumirou-kun,1\ntomid,1\nsora-bozu,1\nshirow_masamune_(style),0\ncross-laced_panties,0\nyukinoshita_(shaonjishi),1\nbaru_(bar_0405),1\nnanatsuka,1\nlal!role,1\nkoi_to_uso,3\nblack_cloud,0\niris_(tb33064667),1\nslovenly,0\naramaki_scaltinof,4\nscissors_lise,4\nlmonster_guai,1\nteraguchi,1\nspoken_paw,0\natmospheric_reentry,0\nmizuno_eita,1\nrotom_(wash),4\nfur-trimmed_sweater,0\nken-chan,4\nglico,3\nrio_-rainbow_gate!-,3\nnwon'yo_pasun,1\nblitzball,0\ndynazenon_(character),4\nebippoid,1\nzatanna_zatara,4\nmea_(brunhilde),1\nmizukamakiri,1\nnakatsugi_kyuuma,4\nranch_jjba,1\nrubyaano_(ducl323),1\nskarner,4\nsame_(g_shark),1\njun'iku,4\ntorimahera,1\nhi_no_tori,3\nshadow_moon,4\nanywhere_knock,1\nzain_(jiha3905),1\ngrumpig,4\nshiizaki_hinaki,1\nkuraki_hiro,1\narhah,1\nyuizayomiya,1\nsakurada_hane,4\npharaoh,0\ngold_panties,0\ntowa_rui_(artist),1\ndedeko,1\ngavrof,1\nninyo_(user_pddg5877),1\ncount_of_monte_cristo_(gankutsuou),4\nstechkin_(girls'_frontline),4\nhuijin_zhi_ling,1\ntobatoinu,1\npeaked_lapels,0\na_(user_vtsy8742),1\nstriped_wrist_cuffs,0\nru_(famia),1\nnunu_(league_of_legends),4\nangemon,4\ntatami_(loop),1\nrktlek159,1\nsockjob,0\ntoe_shoes,0\nmimlememel,4\nodagiri_sakura,1\nwindshield,0\nigul,1\nold_coco,4\ninfinity_(kkx132),1\nei_tantan,1\nsouryuu_kai_ni_(kancolle),4\ntsuseki,1\nun'you_(kancolle),4\npowder_(arcane),4\ngumball,0\nuyu_(soda_uyu),1\nxanxus,4\nmamesi_(suhk8583),1\nglidesloe,1\ncolonnade,0\nmemphis_(azur_lane),4\ngragas,4\nsukoyaka93,1\nken_sogen,1\ntiamat_(granblue_fantasy),4\nshoooohhhh,1\nshin_yomawari,3\nleaf_(arknights),4\nculdcept,3\nhunk_(voltron),4\nmiochun,4\nninomae_ina'nis_(cosplay),0\nnyopu,4\nseminoyu,1\nkeenbiscuit,1\nporqueloin,1\ncerberus_(houtengeki),4\ndodgeball,0\nroy_koopa,4\ncan_zhu,1\nwasabi-chan_(eha7y),4\ntobi_(pixiv41237754),1\nkeiko_rin,1\nadricarra,1\nrise_of_the_guardians,3\nwind_glider,0\nhirako_shinji,4\ngigantic_testicles,0\nzukanosuke,1\nfuyoyo,1\nanima,3\nyu_ikedon,1\nkokuyouseki,1\nkai1up,1\nsachi_(yumemayoi),1\nnoredo_nug,4\nmakoto_(mk10),1\nhikoboshi,4\nshiromonefu,1\nssbaby,1\nkokko_(014kko),1\nrasetsu001,1\nah_(pixiv62888100),1\nyf_(hbyg),1\nmacken,1\ncheria_barnes_(little_imp),4\nsatella_(re:zero),4\ncrested_ibis,0\nanoko_(darenokoanoko),1\nkirou_(kiruyuu1210),1\nhiepita_(1014),1\nereshkigal_(bitter_sweet)_(fate),4\npov_adoring,0\nbebe-tan,4\nxin_lan_deng,1\nkaramimame,1\ninko,4\ndrops_(ragnarok_online),4\nmikoto_(mio),1\nkivat-bat_iii,4\nlion_(macross_frontier),0\nsubmarine_sandwich,0\nroyal_guard_set_(zelda),0\nkouichirou,1\nsekiyu.,1\ntsuyuhara_miu,4\na.q.u.a,1\nnekoge,1\ntomycase,1\nyuel,4\nnerunnn,1\nwaltz_(dance),0\nkinoji,1\nlinez,1\njumbo,4\ntechgian,3\ncocolo_(co_co_lo),1\nubukata_shinji,4\nsuzuka,3\njesus_(saint_onii-san),4\nhexafusion,0\nsousuke_(sauceke),1\npoponpin,1\ncarinae,1\nretumihari,1\nnagaburo_imoni,1\ntokiwa_nanaka,4\nnana_(series),3\nsee_you,1\nnakasaku-p,1\nkachou_(ojimashu),4\nheijou_institute_school_uniform,0\nasymmetrical_bikini,0\nboot_straps,0\nevdokiya_infernalis,4\nmacaron_(amaburi),4\nsweater_under_jacket,0\nkashiwabara_en,1\nryuu_ga_gotoku_4,3\njoutarou,1\nten-chan_(pan_(mimi)),4\nbetterman,3\narcherfish_(warship_girls_r),4\nhornet_(warship_girls_r),4\ntaihou_(warship_girls_r),4\nmila_(yuta27315),1\nford_mustang,0\nseisen_school_uniform,0\ncomiket_87,3\npikat,1\nsouryuuin_akemi,4\nsoleil_(soleilmtfbwy03),1\nclaire_francois,4\ncleveland_(gentry_knight)_(azur_lane),4\npanther_pink_(precure),0\nstuffed_pegasus,0\nhinagiku-19,1\nsion_eltnam_sokaris,4\naylwin_(azur_lane),4\nalaskan_klee_kai,0\ngitano_(arknights),4\nkarin_(yashiro_sousaku),4\nkanoe_(kanoe502),1\noberonia_rhea,4\namakano_2,3\nminoshi,1\nm4_sopmod_ii_(devourer_of_the_feast)_(girls'_frontline),4\nsode_no_shirayuki_(shikai),0\nshinonome_ukyu,1\nrogue_one:_a_star_wars_story,3\nkisara_(engage_kiss),4\nwu_yao_jun,1\nring_(ring_fit_adventure),4\nfujiwara_no_iyozane,4\nkirigaya_touko,4\nyoi_(207342),1\ndiluc_(red_dead_of_night)_(genshin_impact),4\nbara_(totocos),1\nokoru_ringo,1\nflufflixx,1\ntsutsui_misa,1\nyouzu_(youzuyozu),1\ninvincible_candy,0\nkarioi_yuu,4\nchikuwa_(majihima),1\nhpa_(foolish_factory),1\n69_(tranquilo),1\nbutter_curry,1\nkimi_(hearty_yuuki),1\nerection_under_blanket,0\ncaron_(straycat910),1\nfrederika_(hitsugi_no_chaika),4\nnaib_subedar,4\nizumi_kanagi,4\nhoto_cocoa_(cosplay),0\nhigh-waist_panties,0\nmachico_maki,1\nhamster_hood,0\nutaha_(blue_archive),4\noxygen_mask_(oxygenmask233),1\nkono2noko,1\nappleseed_(appleseed_art),1\nvivi_(dakemakura),1\nrei-chan_(konachiu),4\nsnake_mouth,0\nmiki_saya,4\nreturn_of_the_mount_hua_sect,3\nbreast_size_switch,0\nsangoku_taichi,4\ntennomifune_academy_uniform,0\nmimitoke,1\nwaccha_primagi!,3\njames_moriarty_(gray_collar)_(fate),4\nscotch_(blaze),1\nyunomi_(yunomi_imonuy),1\nkatsushika_hokusai_(painting_summer)_(fate),4\nmiimu_(nelreg3),1\nmable_west,4\naduti_momoyama,1\nazuma_kei,1\nmon_(manarestra),1\nbiittertaste,1\nchang'e,4\ntsuiru,1\nbulge_tsuki,1\nmilkor_mgl,0\nmutsuki_kaya,1\nkazuki_kisuke,1\nelle_vianno,4\nchibitalia_(hetalia),4\nkokusan_moyashi,1\ntampon,0\ndna^2,3\nkenko_(a143016),1\ntsukidate_chiyo,4\nzhen_ji,4\nchimaro,1\nperfect_blue,3\nsakamoto_himemi,1\nmaster_of_epic,3\nsarah_mcdougal,4\nneibii,1\nmame_usagi,1\nsekien_no_inganock,3\nhardsuit,0\nninja_(fft),4\nsaffron_(flower_knight_girl),4\nshalnark,4\nkawamura_ami,4\nmezzo_danger_service_agency,3\ntashimo,1\nsuzumiya_annko,1\ntoguchi_masaya,1\ngirl_arms,3\ndyson,0\nmikami_reiko,4\ntakatou_rui,1\nayamoto,1\nlickilicky,4\ndouble_footjob,0\ntepengu,1\nshisui,1\nsuzuno_(kazahanasu),1\nhoutani_yukitoshi,1\nhdkg,1\nryu_hayabusa,4\nmemories_off_6,3\nryofu,4\nbackbreaker,0\nfull_frontal,4\namaimon,4\ntaka_yanagi,1\nniconico_rpg,3\nphysics,0\nsasai_saki,1\nwet_pants,0\nabigail_lincoln,4\nnagae_iku_(cosplay),0\ntomatsu_haruka,4\nwakagashira,1\nalbert_maverick,4\ndiol_twee,4\ncrusher_joe,3\nsarutobi_konohamaru,4\ntiltrotor,0\ndoridori,1\nhitman_(game),3\nkemono_no_souja_erin,3\nnokataro,1\nakizuki_nagi,4\nakabeco,1\nsanpati,1\nichijouji_ken,4\nmhr,1\nnak_yama,1\nakagi_gishou,1\nkamen_rider_x,4\nbounen_no_xam'd,3\nsafu,4\npencil_sharpener,0\npink-haired_girl_(kay_yu),4\nophelia_(painting),3\nbel_(cyancapsule),4\nokuda_nao,4\nsinzire,1\nthanksgiving,0\nk-takano,1\nmubouou_aasaa,1\ntuxedo_kamen_(cosplay),0\nemperor_(stand),4\nv-room,1\nshiboru,1\nosanai_shouko,4\nmasato_(mk),1\nchidejika,4\nakiyama_(yamagoya),1\nmirai_nostalgia,3\nclasp,0\nmiharin,1\nogata_airi,4\ntsuga,1\nmikebosi,1\nchest_stand,0\nmoninora,1\nnishikino_maki's_mother,4\ncadie,4\npiyobomu,1\nueno_naoka,4\ntakami_ryou,1\nlasa_(lasa1116),1\nakane_soir,4\nrikiel,4\nheymans_breda,4\nbaltoy,4\ntanken_driland,3\nmochinabe,1\npilot_uniform,0\nkayase,1\nexcaliblader,1\nleonzo,1\nstern_starks,4\ntama_(new_island),1\ntakanashi_otoha,4\nyui_(marine-drive),1\ndjinn_equip,0\nalyn_(fairy_fencer_f),4\nkurotea,1\ne-kichi,1\nteiiku,4\nyahoo!,3\nscatterbug,4\nshinocco,1\nzoner,1\nkm_(nijie104352),1\nsumida_kichi,1\nbanba_shin'ya,4\nheliolisk,4\nminton,1\nzodiac_2_(sekaiju),4\nkomedawara,0\nblack_hood,0\nmihoshi_(gundam_bf),4\nscourge_regalia,0\nbuddy_complex,3\ncigar_cat,1\nusagigenki,1\nniichi_(niichi21),1\neila_yagyu,1\nkikuhara_karin,4\ncheesestyx,1\nbeastmaster_(final_fantasy),4\nnonji_(sayglo_halo),1\nsamazuka_mashiro,1\nchloe_no_requiem,3\nnagami_tami,1\nshida_(xwheel),1\npiper_thibodeau,1\nhuge_moon,0\ndragon_poker,3\nmobu_(wddtfy61),1\nmurata_ryou,1\nmasa_(mirage77),1\nusukuchi_(impasto_life),1\nnana_(darling_in_the_franxx),4\nsoungruan_mian_mao,1\nfujimino_daisuke,4\nryousuke_(tukr5384),1\nwater_blue_new_world,0\nshinsaku_(stan-art),1\nredeye_(artist),1\nkino_(kino_buro),1\nspanking_momoko,1\nwagomu17,1\nkagosumi,1\nmichi_(iawei),1\nnaze_youka,4\nsatori_(transient_wind),1\nslow_motion,0\nyadamon_(neverland),1\ndonarudo,1\ninvincible_marisa,4\njohnrokk,1\nteinba,1\ntea_(retroz),1\nb5n,0\nnyarimia,1\nyumemomosaka,1\nkonbu_ame,1\nj-20,0\nakaji_(alpha0107),1\nnatsuzora_no_perseus,3\nnitta_yui,4\nbone_(stare),1\nits_just_suppi,1\nbutterfly_girl,0\nuya_(yurukah),1\ntateyama_kenjirou,4\nhelena_k_sink,4\nayanashi_kunio,1\nnatsukawa_masuzu,4\nsuccubus_(monster_girl_encyclopedia),4\nodibil,1\nvividblue,4\nkazu_(rakugakino-to),1\nkyokugen_dasshutsu_adv:_zennin_shibou_desu,3\nnichijo,1\nalice_(grimlight),4\nnephila_clavata,1\ncomitia,0\nkatanako,4\ntoudou_jinpachi,4\nt_k,1\nshinomiya_rina,4\naerospray_(splatoon),0\nazuma_(no488888),1\nbanira_(ri0115ka),1\ntanya_(granblue_fantasy),4\nnarurun_(final123),1\npoke_ball_hair_ornament,0\nuraraku_shimuni,1\nrochiko_(bgl6751010),1\nsunligh_mao,1\nkaichou118,1\nmary_read_(swimsuit_archer)_(fate),4\nleafar,1\ninami_anju,4\nholding_bandaid,0\nraruru,1\nmysterious_man_(fire_emblem),4\nhashimoto_mari,1\ntakasago_tomoe,4\nizumi_sagiri_(cosplay),0\nunajuu_(set_mk),1\nasu_(asoras),1\nguernical,1\ngrimnir,4\nmikuri_ouda,1\nla_campanella,1\ntomoegata_naginata,4\netsem,1\npikario_(precure),4\nrihito_akane,1\nhinase_kaguya,1\nlove_live!_school_idol_festival_after_school_activity,3\nkani_onigiri_(shottare),1\nsasaki_shou,1\nusayoshi_(touhopu2),1\nboku_no_mirai_wa_koi_to_kakin_to,3\nluizhtx,1\nmizoredama1,1\npappii_(paprika_shikiso),4\nspekkio36,1\nirokohaku,1\nfox_girl_(togutogu),4\nc_home,1\nyuu_(yuu_ammy),1\ndesha_(ousama_ranking),4\nmash_kyrielight_(welcome_to_the_travelling_circus!),4\nkan_(tachi),1\ntakamiya_nao,1\nnew_(lk),4\nsehra_klatt,4\nak-12_(age_of_slushies)_(girls'_frontline),4\ncatherine_(granblue_fantasy),4\nots-14_(flurry_of_petals)_(girls'_frontline),4\nkusujinn,1\nst._louis_(spirits_in_the_snow)_(azur_lane),4\norange_tabard,0\ndaleth_(sky:_children_of_the_light),4\ngolden_shrimp_balls_(genshin_impact),0\nmakoto_ono,1\nlong-haired_girl_(ishiyumi),4\neleanor_(maou-sama_to_kekkonshitai),4\nluck_and_pluck,0\nlilith_(lilycious),4\nserara_(log_horizon),4\npagye,1\nwarspite_(kancolle)_(cosplay),0\nmatudo_yuu,1\ntop!_clover_(idolmaster),0\nfugee_(granblue_fantasy),4\nharukawa_syuria_(jack_dempa),4\npurobe,1\noca,1\nsail_(sail-away),1\nmobile_doll_may,4\nlear_(pokemon),4\ntomboy-chan_(aestheticc-meme),4\nsilence_(pixiv18541142),1\nprototype_bulin_mkii_(azur_lane),4\nkinryuu,1\nkaburagi_sui,4\nbang_(one-punch_man),4\nozu_(agito100001),1\naikatsu!_photo_on_stage!!,3\namatsuka_seika,4\nyuumaru_(you-mya),1\ntoomi_yuna,4\nmatsuno_matsuzou,4\nyi_yu,1\nprince_demande,4\nkin-san_(sasuraiga),1\nfujimaru_(kinakomucch),1\nkaabon_meshi,1\nconcrete_revolutio,3\naizawa_tomo,4\nhuang_li_ling,1\nkomuzuka,1\ngiji_eizan,1\nminamimoto_shou,4\nartist_painter,0\nine_(zx_o4),1\nidolmaster_sp,3\nconnect_(madoka_magica),0\nf_jun,1\nermao_wu,1\ngrizzly_mkv_(teddy_transform!)_(girls'_frontline),4\ntomoki_tomonori,1\nnippon_ichi_(neptune_series),4\ntwo-tone,0\nlemmy_koopa,4\nesper_mami,3\npeargor,1\nburu-dai,1\nitokon300,1\nyadoyuki,1\nkomori_met,4\nchocofox,1\norangette,0\nnaki_ringo,1\nhelicopter_hair,0\nolivia_(mobseka),4\nbeijiushui,1\nnoir_(4chan),1\nmtmy,1\nnico-tine,1\nsero3eta,1\nfengshen_chino,1\nsilver_tokki,1\nsatoimo_(3311_mi),1\nleather_collar,0\nsamue,0\nboo_(takagi),1\nkashiba_aira,1\nshiratori_suzune,4\nhirayama_kanna,1\nhkeno,1\nyukari_(momoko),4\nooba_juri,4\nkurumiya_(krmy_p),1\nfish_head,0\nshibao_aoyama,1\nkizakura_kouichi,4\nzombie_no_afureta_sekai_de_ore_dake_ga_osowarenai,3\nrutarou,1\nwano_(azayakam),1\nbandaged_tail,0\nsaiyuki,3\notomedius_excellent,3\nhilling_(ousama_ranking),4\nthigh_scrunchie,0\nmalkuth_(project_moon),4\nivan_flores,1\nokome_(minagisama),1\nfierce_deity,4\nhihara_you,1\nhelloet11,1\nkanbara_takuya,4\nmiracle_wave,0\n91007,1\nkirin3145,1\npink_nose,0\nkirihara_natsuki,1\nfuna_(sakana),1\npinocchio-p,1\nmayuri_kaichou,1\nraver,0\nakase_rai,1\nnatsuki_karin,4\ntamori_tadaji,1\ntaku57,1\nhamanashi_(trapiorra),1\nkukuri_(tsugumomo),4\nhu_tao_(genshin_impact)_(cosplay),0\nishida_sui,1\nahute,1\nninym_ralei,4\nphotographer,0\ntripped,0\npinku_(vtuber),4\nt_bone_(06tbone),1\nfutagojima,1\nblue_armband,0\nkoushisong,1\nyutou_(yutou75),1\naya02ka,1\nkayoko_(panchlora),1\nkatsuragi_(webmaster909),1\nclaw_mark,0\ntop-exerou,1\nshino_sherwood,4\nfranlol,1\nshokuen_(oxstl),1\nnamonakisyura,1\nhajime_shindo,1\nodagiri_hidetoshi,4\nlegends_of_runeterra,3\nlimitless_skye,1\nhinosaki,1\naiyoku_no_eustia,3\nkatou_takeko,4\nhanada_(cobalt003),1\nhorang4628,1\nkuroshio_(zung-man),1\ntsuruma_konoe,4\netwahl,0\ndragon_quest_heroes,3\njonathan_morris,4\nsorbet_(hotel01),4\nalvis_(xenoblade),4\ndismassd,1\nmizuno_uchi,1\nhaurchefant_greystone,4\nfalulu,4\nruyi_jingu_bang,0\naiba-tsukiko,1\nwolt_(fire_emblem),4\ntatsuhiko,1\nurabe_katsuto,1\ncinder_(norasuko),4\ntearing_paper,0\nvundo_(gyee),4\nlabia_clamps,0\nchaotic-unknown,1\nhaonfest,1\npecking,0\nzaza_(x-can01),1\nnekuraneko,1\northros,4\nshangri-la,3\npimmy,1\narisue_kanako,1\nkuromoto-kun_(rina_masimaro),1\nwashi_no_tosaka,1\nevers,1\nblack_rope,0\nsunred,4\nichinose_kazuya,4\nkamashi,1\npack_of_dogs,0\nifelt_(tamaki_zutama),1\ncai-man,1\nshinkai_no_shachi,1\niosefka,4\nyoss_3,1\nsenna_(league_of_legends),4\nhehehzb,1\narmor_girls_project,0\nnishiumi_rin,1\ntorinoesa,1\nkakinomai,1\nminahamu,1\ngravel,0\nveil_over_eyes,0\nbum_hico,1\nshout_lines,0\njulioalqae,1\nyakihoko,1\nlangrisser_iv,3\nyukihime_(mofumofu2225),1\nyoshida_yoshitsugi,1\nbillbung,1\nhashira_14,1\nidolmaster_stella_stage,3\nbo-tsu_(hyrkgk),1\ndonburi,0\nasou_natsumi,4\ngyakumushi,1\nmizu_kane,1\nrem_(artist),1\nkimi_ga_ita_kisetsu,3\nvladimir_putin,4\nguri_otoko,1\nisaya_(pixiv4541633),1\nmitsuki_(toriaezu),1\nearthree_gundam,4\nshenmue_iii,3\ngrey_sash,0\nhira-san,1\nconkeldurr,4\nfuwawa_(fuwawa617),1\nholding_wreath,0\ndangorou_(yushi-art),1\ntartarus,0\nkitkat,0\nk-rei,1\nsakuraba_(cerisier_x),1\nvf-0,4\nserapias_alice,4\neimi_(harris_hero),4\ntokinhr,1\nalisa_nilsen,1\nyanagisawa_naoko,4\nshimadouma,1\nflatculture,1\ncure_berry_(cosplay),0\ntiona,4\nhow_to_draw_manga,3\nspung,1\nkuyoumi,1\ntekito03,1\nzhourues,1\njo_tuesday19,1\naonome,1\nnonderi,1\nwingman,3\nmacchoko,1\nmonferno,4\nmizu_cx,1\ntakechii,1\nkura_ekaki,1\nbaskin-robbins,0\nkomurapk,1\nggpercent,1\nhanabishi_miki,4\nfoote_(azur_lane),4\nshinotarou_(nagunaguex),1\ntsugumi_amon,1\nbishamonten,4\ndenzel,4\nmuike,1\nekkusu_kyuuzu,1\nloftcat,1\nmasayoshi,1\nmegane_poni,1\nbastiodon,4\nlinfa_(futari_midara),1\nwatanae_yuuka,4\nsandara,1\nbooklet,0\nkim_kaphwan,4\nr_pascal,1\nwelding,0\nkokoro_navi,3\ntrevor_c._belmont,4\ntv_camera,0\nkim_kitsuragi,4\nkyandii,1\nkomadera,1\nmezzo_(orbanga21),1\nnether_angel_(housamo),4\nmetalgreymon,4\nleng_sediao_kafei,1\nmo_ying_yu,1\nginny_weasley,4\narea_15,0\nonimiko,4\neahta_(granblue_fantasy),4\nsakurada_yuuta,4\nmai_(xskdizzy),1\ndiablos,4\ntaiyou_kai_ni_(kancolle),4\nkedo_mitsuharu,1\nwinterfall_(artenh),1\nchevrolet,0\nkirara_(arknights),4\nmiya-ki_(miya_key),1\nawatsuki_maaya,4\nhistorical_connection,0\nchain_print,0\np38_(girls'_frontline),4\nshy_(series),3\ncode_of_princess,3\nspot_(arknights),4\nfubuki_(fakemonkey0224),1\nhat_writing,0\nimminent_suicide,0\nsieglinde_jeremiah,4\nlakiston,4\nhouse_dragonmaid,4\nehryel,1\nbeam_gun,0\npintail_(sword_girls),4\nhilda_(cross_ange),4\nshura_(granblue_fantasy),4\nbong,0\nblue_revolver,3\nsasaki_tamaru,1\noura_rukako,4\nseri_(zankuro),4\nmiyazaki_(watamote),4\ndur-nar_(arknights),4\njyako,1\ntake_yaki,1\nramona_(the_prey),4\nmii_brawler,4\nsuu_(shugo_chara!),4\nyukikasa,1\ntowtow_redoland,1\nreiko_(super_cub),4\nurotare,1\nmahoubin_(totemo_hot_dayo),1\nnanasaki_nicole,4\nayakashi_rumble!,3\nheraldry,0\nnice_(artist),1\nappi,1\nbajou_takurou,1\nsilver_hair-chan_(ramchi),4\nkusariuta,1\nsaane,1\nkagamin_boo,4\nwormadam,4\nmystery_skulls,3\nyasu_rintarou,1\nyoutube_username,0\nmituura,1\nc2-chan,4\nosaname_riku,1\nkawauchi_(kaz7ry),1\nfusion_suit,0\nspiffydc,1\nrandom_(ningen_modoki),1\ncaptain_marvel,4\ntegami_bachi,3\nokita_souji,4\nokemai,1\ntoyu,1\nalfred_(kounoike_tsuyoshi),4\nnyuu,4\nprincess_witches,3\njack_skellington,4\nayase_hikaru,1\nsammohung,1\ncattleya_yvette_la_baume_le_blanc_de_la_fontaine,4\nfrosted_glass,0\nabbey_road,3\nshinohara_kenji,1\nronin_(disgaea),4\nr_g_b,3\nclover_(game_cg),3\nleki,4\nwallpaper_forced,5\nkusunoki_(gwzx5574),1\nyudetama,1\n3ldkm,3\ngurina,1\nmegachu!,3\nshintaisou,3\nshadow_(ff6),4\nakatsuki_yakyou,1\nthe_last_remnant,3\nsteven_seagal,4\ndee_jay,4\nyamazaki_sagaru,4\nhachimitsuboi,1\nhide_yoshino,4\nmita_ryuusuke,1\nraionsan,1\nisaki_uta,1\nx_drake,4\nginyu_force,4\npoppypilf,1\ndexter's_laboratory,3\neleuseus,4\neriku_(aoi_tori),1\nshikabane_hime,3\nnool,4\nkuruma_hajime,1\nebibaachan,1\nakai_toshifumi,1\nezlo,4\nnemissa,4\nxxxsoiu1,1\nyamane_masato,1\nmister_bushido,4\ntwi'lek,0\nsimty_(lemon_ginger),1\nsmith_&_wesson,0\nnazo_no_murasame_chiaki,1\nshiinoyuko,1\nyamagarasu,1\nshiina_yuu,1\nshirayuki_shoushirou,1\nporky_minch,4\ngoro,1\ngetter_robo_g,3\nikeda_(hayato),1\nkawara_pigeon,1\nrandall_boggs,4\ntora_(trampjing),1\npjkka,1\ndaromeon,1\nkabu_(yuyuibob),1\nririfu,1\nusami_masamune,4\nkamen_rider_ixa,4\norange541,1\nagarest_senki_zero,3\nangelina_nanatsu_sewell,4\nyamazaki_mitsuko,1\nhitoha,1\naya_(min412),1\n66head,1\nsakura_misaki_(sakura_densetsu),1\nyodobashi_yuo,1\nheke,1\nkeikain_yura,4\nchm,1\nkogarashi_(wind_of_winter),1\nball_pit,0\ncascade_badge,0\nomodaka_romu,1\nmamiya_t,1\nsuzu_(suzuko),1\nasymmetrical_irises,0\ncomic_potpourri_club,3\ntoyoda_izumi,1\nlong_table,0\nyebisu,0\nmamiya,4\nkitsune_(persona_4),4\nsyno,1\nbanana_fish,3\ntouou,1\nseryu_oekaki,1\nurashima_keitarou,4\nkaisu,1\namano_sakuya,1\nbanitya,1\ntriple_amputee,0\nhollow_ichigo,4\ndautsen,1\nbiriri_(spacezin),4\ncalder,1\nsalamander_(jonbonjovi82),1\nsasagawa_kanon,4\nkagutsuchi_(l'archange),1\nnishimura_chiharu,4\nbuddha_(saint_onii-san),4\nmouri_toushirou,4\nsilvia_(fire_emblem),4\nsazh_katzroy,4\nfom_(lifotai),1\naoria,1\nmekimeki,1\nkongsi,1\nmimiga,4\nbodyboard,0\nkawahara_megumi,1\nstraight-arm_salute,0\nhummer,0\nechoes_act3,4\nmonowe,1\npaimon_(magi),4\nscathach_skadi_(second_ascension)_(fate),4\nbaekto_(last_origin),4\nkurihara_touko,4\nizura_mari,1\npoyeop,1\naihara-rina,1\nhinomori_shiho,4\ncode_geass:_fukkatsu_no_lelouch,3\nshiba_tomoshibi,4\ncard_between_fingers,0\ndark_schneider,4\nshouhou-san_daisuki_teitoku,1\nwill_smith_slapping_chris_rock_(meme),0\nhirotaka0125,1\nmotto!_haramase!_honoo_no_oppai_isekai_chou_ero_succubus_gakuen!,3\nnekohuman221_(tsun221),1\nelbe_(time_to_show_off?)_(azur_lane),4\npumpkin_mask,0\nholding_kettle,0\nfishnet_shirt,0\npentakill_(league_of_legends),0\ntransformers_cybertron,3\nbanira_(oocooocooocoo),1\nbunny-shaped_eyewear,0\n1641_(chfhrtor94),1\namatsuji,1\nnay,1\ncarnelian_(shining_dew)_(arknights),4\nfender_jazzmaster,0\nsisoha,1\nwebp-to-png_conversion,5\nskyhood,1\npaptimus_scirocco,4\nzinfyu,1\nbaltimore_(finish_line_flagbearer)_(azur_lane),4\nyuki_(princess_connect!),4\naraizumi_rui_(style),0\nblack_star_(module),0\nmiura_cat,4\nsheep_hair_ornament,0\nmaka_(mksrw),1\nlizchief,1\nloituma,0\ngehrman_the_first_hunter,4\nhijiyama_takatoshi,4\nyoukai_watch_jam:_youkai_gakuen_y,3\nohayosayonara,1\ndong_(wandong44944),1\ndogxfish,1\ndollhouse_view,0\nblack_knight_(fire_emblem),4\nlayla_hamilton,4\nleo_aiolia,4\npisces_aphrodite,4\nnishikuromori,1\nyuria_the_witch,4\ncyberunique,1\na.l.l.,1\nmichiko_to_hacchin,3\npikumin,1\nshiromiza_kana,1\njonathan_kim,1\nmase_yuuko,4\nyawarabi_juubee,1\nharurie,1\nj7w_shinden,0\nnoria,1\nnyanta_(log_horizon),4\nnagaro,1\ntaka_(suigendou),1\nontake2009,1\nigo_miku,1\nhasuyawn,1\ntimmy_(animal_crossing),4\non_(isk1812),1\ndemio,1\ngogoat,4\nshitajiki,0\nvenus_(p&d),4\nyuki_shiro,1\nsonogami_rinne,4\naxolotl_(minecraft),4\nsunasu-tamako,1\nsun_wukong_(rwby),4\nasuma_(hanezu),1\np-chan_(mitsuta52),1\nkyoujixxxx,1\nnase_hiroomi,4\npyroar,4\ntekken_revolution,3\nmuumuu_(sirufuruteienn),1\npochacco,4\noetaro,1\nsave_the_queen,0\narm_around_leg,0\nkaki_s,1\nnitizyo,1\nmiramu_(ramu450471),1\nbariko,1\npepipopo,1\nnekoto_maruta,1\nkokoro_rista!,3\nkoronu_korinne,3\nno.gomesu,1\nninjago,3\nnekomonogatari_white,3\nnamakeruda,4\nboris_airay,4\nni02_(asahi_nini),1\nstar_harmony_academy_uniform,0\nikuchi_osutega,1\ntasselcat,1\nmi_bait,1\ntachikawa_kei,4\nroivas,1\nshoboon,4\nfugtrup,1\njiuri_jiuhao,1\nsamekichi,4\ntorii_(kedamatori),1\nkiritani_riria,4\nhera-is_(p&d),4\nbeluo77,1\ndante_(dmc:_devil_may_cry),4\nmine_(akame_ga_kill!),4\nsopdet_(p&d),4\nzankyou_no_terror,3\nkotou_(ko-tou),1\nkg-6_sleipnir,4\nsamurai_(movemusic),1\nsoraizumi,1\nnuenya,1\nkaraage_teishoku_(regret1994),1\nkirishima_ayato,4\nkottungyang,1\nshin_sekaiju_no_meikyuu_2,3\netherlite,0\nkanno_fumiroku,1\nann_(ann58533111),1\nnunun,1\nshokujinki-san,4\nchroma_(chroma000),1\ntecoyuke,1\noda_nobuhime,4\ntink_(disgaea),4\nmiya_star_saa,1\nnorapeko,1\nwaterskiing_(meme),0\njn3,1\nshinjou_akane_(cosplay),0\nemushake,1\nelnowar_seylan,4\nmachida_sawako,4\nalice_third_macy,4\nwalnut,0\nichiyanagi_yumihiko,4\ndaruma_owl,1\nyoshihara_seiichi,1\ncosmic_baton_girl_comet-san,3\nchronoa,4\nizumi_(racer),4\nbunker_hill_(azur_lane),4\nhimawari_(kawaisounaedesu),1\narcade_(architecture),0\nokada_nana,4\nxia_yu_yao,4\nmisoiri_(gokutsubushi),1\nshokabatsuki,1\noridays,1\nuasi,1\nshishigami_leona,4\nmuraji0419,1\nmikoto_(fire_emblem),4\noitsuki_(getsumen_diver),1\namekaze_yukinatsu,1\ntonari_no_kishida,1\ngilbert_bougainvillea,4\nkawasumi_(tk2k_jade),1\nkubota_shinji,1\nakatsuki_(azur_lane),4\noto_(rozeko),1\notto_no_inu_aida_ni..._~watashi_odosarete_anata_ni_ienai_koto_shimashita~,3\ncacao_(lamune),4\nyuuk33,1\ncementite,1\nsymfo,1\naqua_tongue,0\nkamonegi_(meisou1998),1\nhiki_togu,1\nitaro,1\nyuukyuu_no_euphoria,3\npangolin_tail,0\nchickenvomit,1\nishimo,1\nkyo_(kyokuto016),1\ncensored_with_cum,0\nmatsuri_kyuuta,1\naosaki_yato,1\nmaekawa_yuichi,1\nshiba_(s_hi_ba_),1\nvioletsang,1\nmisuko_(sbelolt),1\ndororo_(keroro_gunsou),4\n501st_joint_fighter_wing_(emblem),0\ntime_signature,0\nhuatu_jiang,1\nmoon_(majora's_mask),4\nkarin_(fineyanny),1\nprbili,1\nmarimo_tarou,1\nram_(re:zero)_(cosplay),0\nhayabusa_koi,1\nlakestep55,1\nmanme,1\nuvogin,4\nrachel_(ninja_gaiden),4\nferdy's_lab,1\nakamtvahosi,1\nshiraishi_urara,4\nbridget_(guilty_gear)_(cosplay),0\nthe_2nd_super_robot_wars_og,3\nkazamatsuri_kazari,4\nthe_genesis,0\nhassan_(sink916),1\nbandou_marimo,4\nmayonnaise_(ringo_gakuen),1\nflying_red_barrel,3\nkatou_tabihito,1\nmikaze,1\nsangyou_haikibutsu_(turnamoonright),1\nyuki_(vicious),1\naaaabo,1\nyamamoto_yuu,1\nmisaki_(1n1m),1\nlispict,1\ntaiga_mahoukan,1\nelrowa,1\nkawamura_raichi,1\nayabe_kihachirou,4\nakira_(umihan),1\nbanchengping@126,1\ncat's_tongue,0\ncure_melody_(cosplay),0\nbridget_evans,4\nhayate-s,1\ntan_(carbon),1\n96neko,4\nreki_(hidan_no_aria),4\nsentou,1\nmiyamoto_akiyo,4\nkumako_(sono328),1\nmagpul_masada,0\nkisuu,1\nseta_(monyun),1\nmiyaguchi_hiromi,4\nmosaic_art,0\ndylan_keith,4\narmored_personnel_carrier,0\nrapunzel_(grimm),4\nshiitake_(gensoudou),1\nandou_nene,4\njokebag,1\nkokkoro_(princess)_(princess_connect!),4\ntwisted_breasts,0\nuchuu_senkan_yamato_2202:_ai_no_senshi-tachi,3\na106,4\nspringsuit,0\nsky_wbo,1\nusagi_nui,1\ntamaki_iroha_(swimsuit_costume),4\njames_moriarty_(ruler)_(fate),4\nferry_(summer)_(granblue_fantasy),4\nblossoming_new_year's_karuta_contest_(umamusume),0\noekakiism,1\nfujimaru_ritsuka_(male)_(royal_brand),4\nmallet_(instrument),0\nhisuian_samurott,4\ntakao_(the_lessons_of_spring)_(azur_lane),4\ncygnet_(an_offer_to_be_maid)_(azur_lane),4\nkonasu_(sndk1480),1\nnegoya,1\nfongban_illust,1\nviolet_(ninomae_ina'nis),0\nvice_(kamen_rider_revice),4\numino_hotate,1\nyellowparrot,1\nwhois,1\nmaid_(mechanical_buddy_universe),4\ntegami_(kch7683),1\nmiru_(ormille),4\nblue-haired_boy_(how_to_draw_manga),4\njason_voorhees_(kotobukiya_bishoujo),4\nlin_hu_(nekojishi),4\ni-401_(kancolle)_(cosplay),0\numi_hire,1\nenkichi_totan,1\nblackish_961sp_(idolmaster),0\nsnowquill_set_(zelda),0\nansel_(casual_vacation)_(arknights),4\nneneko_(rariatto),4\nlee_roha,4\nnara_haramaung,4\nice_queen_(adventure_time),4\nmorimiya_(kuroro),1\nmake_america_great_again,0\nfrilled_square_(idolmaster),0\nsharuru_(dokidoki!_precure)_(human),4\ntec,1\nnasu_rei,4\ninarou_(rakugakiproject),1\ntsuzuki_kei,4\nmatsudora124,1\nfushimi_sameta,1\nnishikiyama_akira,4\nkikukawa_azami,4\nanne_(bravely_second),4\nmogu_(kanikama_mgmg),1\nshoco_(sco_labo),1\nnight_watcher_(elsword),4\ntakanashi_tsubasa,1\npotato_(oriha94),1\nmomosemocha,1\n54cr,1\nyoukai_mountain,0\nnini3piyo,1\nusami_natsuki,4\niijima_kana,4\nmasuchi,1\nnoeunjung93,1\nremoyona,1\nnagamo_sakana,1\nz23_(schwarze_hochzeit)_(azur_lane),4\nskirt_tied_over_head,0\nnezumi_(majisuka_gakuen),4\npink_suit,0\nshirogane_rio_(artist),1\nnotoro,1\nkoiiro_byoutou_(vocaloid),3\nshun_no_shun,1\nadarin,1\nurepito_honke,1\nsorinozuka_renshou,4\ninasa_orange,1\nkuzumochi,1\nchotto,1\nobelisk_the_tormentor,4\nsorakase_sawa,1\nthe_winged_dragon_of_ra,4\nkiliko-san,1\nkagura_demuri,4\nsuminoe_ako,4\nteddy_bear_hair_ornament,0\nbandana_removed,0\nlari,1\nsaz_(sazin764),1\nkyowosuke,1\nichi_inaru,1\nsasaki_kaori,4\nbunkyo_takemi,1\ntamaext,1\ndaihatsu_(landing_craft),0\nissa_(sorako45),1\nsyyn_(syyndev),1\nnikubou_maranoshin,1\nashleyloob,1\nhayashi_naoharu,1\nvy2,4\nnatuich,1\nprincess_juliette,4\nkamiomutsu,1\nkirame_kirai,1\ncurling,0\nyonekura_(bakuzen),1\nlif_(fire_emblem),4\n58_(opal_00_58),1\nkishi_youko,4\nwalther_p99,0\nfranky_franklin,4\ncain_art811,1\nqianshui_baodan,1\ndrakente,1\ngoroku,1\nkodera_ju,1\nmikawa_sansen,1\nryu_(street_fighter)_(cosplay),0\nkobiemon,1\nmig-29,0\npingkypen,1\nheiyizhushenxia,1\nsharl0ck,1\nkiwi_(bird),0\ncivia,4\ninunekostudio,1\nsenju_(uroakono),1\nkazu_sanbon,1\ne7_(runaway162),1\nwd1113,1\nrourouki,1\nierotak,1\nkdc_(tamaco333),1\ncheek_on_glass,0\nonodera_(einsatz),1\nmomijizuki_luna,1\neikaa,1\ngerph,1\natelier_elie,3\nmishima_kazumi,4\nbreathing_tube,0\niwana,1\nlined_paper,0\nsherman_(egnk2525),1\nkulve_taroth,4\nyaa-kun,1\nfox_girl_(mdf_an),4\nvrkdh,1\nclear_echoes,1\nnero_claudius_(red_lightning)_(fate),4\nm_alexa,1\nkongou_(battleship),0\ntsumagomi_izumo,1\nsayamai_miyabi,1\nyoshizawa_sumire,4\nlourie,1\nalternate_species,0\nwebley_(girls'_frontline),4\nhoshino_sora_(enuni),4\ncandy_boy,3\n3ok,1\ndrip_(meme),0\nkinocopro,1\ngris_(vertigris),4\nmiyakoto,1\namirun,1\nflamenco,0\nkannazuki_okuto,1\noffice_lady_(madoka_magica),4\nnyarko,1\nhizuki_miu,4\npenis_on_shoulder,0\nabsent,1\nhan_(ozrfour),1\njewel_knights,3\ncastlevania:_dawn_of_sorrow,3\nside-seamed_gloves,0\nlfacras,1\nmeguri_uguisu,1\nruwoka,1\ninhoso,1\nkamen_rider_meteor,4\nbin1998,1\npolish_flag,0\npaper_mario:_the_origami_king,3\ndojipan,1\njaaku_(ra_9rara),1\nmicchamu,1\nyostar_pictures,1\nyuriniel,1\nsenkawa_minato,4\nmakkuro,1\nf4f_wildcat,0\nhassan_of_serenity_(merry_sheep)_(fate),4\nchiyosuke_(nosuke21),1\nsakazuki_sudama,1\ncheese_(sonic),4\ndisco,0\nkurashina_asuka,4\nkurojishi,1\ndrawdrawdeimos,1\nkishiro_azuhito,1\nmimori_(blue_archive),4\nou_negi,1\nkeven_(ewdx3754),1\ntadakichi-san,4\namanoyayuki,1\npossessive,0\nnerinn_(artist),1\ndita_liebely,4\norange_tunic,0\ndurindana_7,1\ncrossdraw_holster,0\npikaro,1\nsrw_cover,0\nthe_oni_(ao_oni),4\ncrow_tengu_extra_(touhou),4\nfusa_(starless2323),1\nrotisserie,0\nfencing,0\nkcar66t,1\nkoroneri,1\nkusanagi_koyori,1\nlip_balm,0\nabsolutemabbak,1\njoke,0\nrattle_drum,0\nhelena_(meta)_(azur_lane),4\nultraman_zero,4\nmon_(monmon2133),1\nhino_kagutsuki,1\nmiji_doujing_daile,1\norange_hakama,0\ndanraz0r,1\nmakiya,1\nogu,1\namayouri,1\nrktsm,1\nlemontea_(ekvr5838),1\nmoss_(2225028),1\nsou_(shichigatsu),4\nkeenii_(kenny86),1\nbalsa,4\nryu_(17569823),1\nruten_(onakasukusuku),1\nsasasasa,1\nlopunny_(cosplay),0\naoyama_reo,1\nretia_adolf,4\ntakeda_emi,4\nvincent_wu,1\njulia8857,1\nhalakadira,1\ngreen_scales,0\nkermit_the_frog,4\ndinikee,1\ndecorating,0\nzero_(kirby),4\nkokusoji,1\nhakuun_(m2230),1\nmueririko,1\nnago_(kirby),4\nparchment,0\nhex_tails,0\nameiarts,1\ntemjin,4\ndoppelganger_arle,4\nlirseven,1\nnightmare-kck,1\nnukosann,1\ncramp,0\nzefai,1\nkoigakubo_momoko,4\nwarming,0\njuukyuu,1\nvalueless0000,1\nimminent_punch,0\neyewear_pull,0\nizumi_kaori_(twinbox),4\nruby_suguri,1\nge_zhong_kuaile,1\nmanse,1\nnakashi_masakumi,1\nangel_statue,0\nfoxykuro,1\np9_(susisasimi),1\nyurigaoka_nayuki,1\nkatelynn_(afrobull),4\nkobayashi_(oksk0x0),1\nwaa!_okami,1\ncimeri,1\ntaut_bodysuit,0\nyamada_yuuji,1\npico,4\nf-2,0\nkiyakyuu,1\nyupachu,1\nfennery_(show_by_rock!!),4\ndj.adonis,1\nctiahao,1\nboppin,1\nmwwhxl,1\nsuzu_head,0\ndonuttypd,1\nmadarame,1\npassport,0\nbocha_(gotipoke),1\nshaka_sign,0\nhotel_transylvania,3\nsonomi,1\nkururu_(keroro_gunsou),4\nhiyorou,1\noppai_kenmin,1\nhutuu_(1121),1\ndeus_ex,3\nyatsuashimon,1\nvenus_blood,3\nmattyazuki,1\nspringveiv,1\nryoku_sui,1\nhong_soon-jae,1\naki_no_jikan,3\nmaimu,1\nbadger_tail,0\n333_(pixiv8601259),1\nmatsubara_honoka,4\ntasuro_kuzuha,1\nchuck_pires,1\nguzheng,0\nmayumochini,1\nsailor_chibi_chibi,4\numishima_rinta,1\nfinger_puppet,0\nhana_(dqkmb362),1\ntwo_sidriver,0\nkeishi_(shining_star),4\nyuko666,1\ntoy_mouse,0\nchitose_kumi_(hitotose),4\neileen_coney_(shepherd0821),4\njgsdf_type_07_tank_natchin,4\nsaniwa_(katsugeki/touken_ranbu),4\nfisticuffs_club,1\nharuno_tomoya,1\nsuzuki_noritaka,1\nherbarium,0\nkamikitayotsuba,1\ntouhou_meikyuu,1\nfutaba_riho_(cosplay),0\nhako_(hakosanhanasan),1\nsacchi,1\nasemu_asuno,4\nankoku_tiger,1\nyukitaka,1\nbokura_no_16bit_warz_(vocaloid),3\njuvenile_(vocaloid),3\nruida,4\nkingudejii,1\nzis,1\nsonika,4\ngebura_(project_moon),4\nfloette_(red),4\ncrew_neck,0\nka92,1\nookouchi_ricca,1\nshirika,1\ntongue_clamp,0\nlune_(kaminomi),4\nnishi_hayato,4\nlily_servant,0\nvietnamese_clothes,0\nshino_(moment),1\nfu_(mushibun),1\nscream_(movie),3\nsaifu_(sisutakh),1\nkurara-chan_(suzutsuki_kurara),4\nseyo,1\na_flow,1\nspar,4\nshounen_no_abyss,3\nmochizuki_kazuto,1\nyuutousei,1\nhullzion,1\nkoubu,4\ntakizawa_akira,4\nisai_shizuka,1\njinx_(dc),4\njames_p._sullivan,4\nlily_white_(cosplay),0\nviper_ctr,3\nthe_rumble_fish,3\nghostface,4\nmarisa_stole_the_precious_thing,0\nbeat_(mega_man),4\nshiroyasha,1\nsougetsu_eli,4\nhachimillion,1\nyouko_kurama,4\npopopon,1\nblooregard_q_kazoo,4\nkurasaki_cority,1\nminakami_kaori,1\nkath,1\nshijuu_hachi,1\nnasunoko,1\nnoppo-san,1\ngokurakuin_sakurako,1\ntsuzuki_(e_ci),1\nmelting_scarlet,1\nlaserbeak,4\ngyonikun,1\nthe_fairly_oddparents,3\nj-e-m-g,1\nooba_minato,4\nkuroe_ayaka,4\nsoldier_(dq3)_(cosplay),0\nyou_are_already_dead,0\ntokugawa_ieyasu_(sengoku_otome),4\nnomiya37564,1\nnanase_(street_fighter),4\nsajipen,1\nyoko_(shiocolor),1\nflynn_rider,4\nrison,1\nsamurai_(fft),4\nmokuyou,1\ngeta_(epicure_no12),1\nfujibayashi_suzu,4\nzettai_shougeki,3\nkemu,1\nemina,1\nmukku,4\nkloe_rinz,4\nelbow_spikes,0\nkacchu_musume,1\nfumimi,4\nsquire_(fft),4\nfuji_hyorone,1\nlyrical_ds,3\nroto_(cosplay),0\nsari_sumdac,4\ncroix_raoul,4\nkawamura_rukanan,1\nnajica_dengeki_sakusen,3\nkohinata_hayami,4\noptimus_primal,4\nsoshite_ashita_no_sekai_yori,3\nkurudaz,1\nnatsuhime_yuran,1\naoi_anna,4\nchachazero,4\nkero_(cosplay),0\nvirus,0\nichimoku_ren,4\nkai_harn,4\nmorikawa_yuki,4\nyotsuba_satsuki,4\ntogainu_no_chi,3\nangel_links,3\ntsukiyama_minako,4\ntachibana_mizuki,4\nshino-puchihebi,1\nnishishi,1\nskying,1\nshi_zhuzi_da,1\nyuuki_mitsuru,1\nroomi,4\nleft_4_dead_2,3\nlua_(yu-gi-oh!),4\nbyuura_(sonofelice),1\nurameshiya,0\nsoul_linker_(ragnarok_online),4\nsimipour,4\nyonab,1\ntin_man,4\njean_grey,4\nnash_latkje,4\nsuou_tamaki,4\nkirima_syaro_(cosplay),0\nmistsplitter_reforged_(genshin_impact),0\nvauquelin_(azur_lane),4\nah-negitorow,1\nkamu_(simp3),1\nbanana_(hirane1988),1\nbokustar_fox,1\nkitakaze_(azur_lane),4\nnatsugou_shinogi,1\nyellow_hood,0\nli_meifon,4\nhatsu_inu,3\ncreepypasta,3\nphobos_(vampire),4\nmomo_tomato,1\nsawada_kanako,4\ntwo-tone_scarf,0\nsekisei_(superego51),1\nbrikot,1\nst._louis_(azur_lane)_(cosplay),0\nyoclesh,1\nfujisaki_yua,4\n9ma_param,1\ntomamatto,1\nuchi_wa_mou_enki_dekinai.,3\nprobopass,4\ntiger_hair_ornament,0\nonogami_tetsuya,4\nyubisaki_connection,3\nbebatch,1\nmakino_momiji_(artist),1\nobsidian_slasher,0\nalter_(kxk7357),1\ntouxing_no_diluka,1\nfreikugel_(weapon),0\nken'ichi_(silvian125jp),1\nshan_gui_yu_yao,1\nalternate_ears,0\nburo_(muse_dash),4\nsiriuflong,1\nfireworks_print,0\nlucy_(rusi-juren328),1\ncolorful_x_melody_(vocaloid),3\nnarusawa_(njzc2582),1\nmukai_hinata,4\nyutsukidayo,1\nharohapi!_shinonome_megu-chan_no_oheya,3\ngyarusatan,1\namochin,1\nrengoku_senjurou,4\nyunmi_0527,1\nicelernd,1\ni-25_(azur_lane),4\nraonal97,1\ndark_night_(darkotl),1\nsinner!_(sillygirl),1\nsouthampton_(azur_lane),4\nsaijo1201,1\nnosir_onadat,1\nremoving_bra_under_shirt,0\nnaomasap,1\nparsley,0\nvgaming,3\nsolomon_(megido72),4\nmurakami_mozu_(cyclone),4\nshaffelli,1\nsu----per_cute,0\nogura_toast,1\narin66,1\nmillgua,1\nrita_(shingeki_no_bahamut:_genesis),4\nkaga_(warship_girls_r),4\nnatsume_(na_tsumen),1\nqoray7,1\nsul-lin-a,4\nzombieman,4\nmagikano,3\nsemahiro,1\ndenkou_choujin_gridman,3\nlayla_(sound_horizon),4\naratagawa_nikei,1\ntakao_(azur_lane)_(cosplay),0\nwhite_java_sparrow,0\nboku_wa_ohime-sama_ni_narenai,3\nkabakura_tarou,4\nkatori_(pso2),4\noyuki_(otozuki_mozuku),1\ndiamond_princess_no_yuuutsu,0\nmiyu_(vampire_princess_miyu),4\nkirihara_tatsugoro_torayasu,4\ngoru_(cure_golgom),1\nforbin_(azur_lane),4\nel_shaddoll_winda,4\noozora_hiro,4\nyt_(yt_ty),1\npeter_quill,4\nkunoichi_(disgaea),4\ntyrfing_(fire_emblem),0\ndevil-v,1\n3kuma,1\njikeshi,1\nwawawa_(hisuterisisusa),1\nsawatari_shingo,4\nsword_of_exorcism,0\nkamachi_kamachi-ko,1\nshijimi_(osumashi),1\nuchimura_chiaki,4\narion_canvas,1\ndaitoutei,1\nneru_(neruneruru),1\nuntitled_goose_game,3\nkurobuchi_numama,1\ntakechi_otoya,4\nhtol#niq:_hotaru_no_nikki,3\nidachi,1\nhazuki_(nukisasi),1\nemile_elman,4\nmokarooru,1\ntakerusilt,1\nsarashina_kau,1\narmband_removed,0\nseraphitalg,1\nmico3,1\nceasar_ian_muyuela,1\nhen-shin-shou-jo_metamol_maiden,3\nroboko_(sekai_seifuku),4\npeaceyj,1\nashigara_(aoki_hagane_no_arpeggio),4\nprobe_regalia,0\nzastava_m21,0\nsuspension_bridge,0\nminami_shizuku,4\nhanakai_momo,4\nrecipe_(object),0\nnanjou_yoshino,4\nkamiya_shion,4\ntachibana_gin,4\ncap_(dkdm-d),1\nyukine_(noragami),4\nchawanmushi_(ebikamaboko),1\nakai_mi_ga_bakuhatsu_shita,1\nlego_minifig,0\nkaji_ryouko,4\ntoluda,1\nen_(paorasuteki),1\nhaigure_pose,0\n2t_(tanakatakuto),1\ndoctor_ferdinand,4\nagachi_(shunya12300724),1\nno_vest,0\nsitting_on_tail,0\nmazeru_(jisjifin),1\nshinonome_megu,4\nunko_man,1\nthana,1\nex-trident,1\nneko7,1\nalice-whiteberry,1\nthatched_roof,0\npurple_haze_feedback,3\nyanzhan,1\ntsukimi_kirara,1\nkusaka_ryuuji,4\nvalgiris,4\ntommy_(animal_crossing),4\nkabuyou,1\nkatori_shin'ichi,4\nbookmarkahead,1\nemilia_hermit,4\nhonya_(maho_a),1\nthoma_avenir,4\nryuujin_no_senpai,4\nkotneciii,1\nqmo_(chalsoma),1\nsakuya_(ookami),4\nitto_maru,1\nbattle_girl_(pokemon),4\nfoge,1\ndrakee,4\npayu_(pyms11),1\ntoa,4\nnakamura_nagare,1\njack_frost_(rise_of_the_guardians),4\nsaxyun,1\ndonggua_bing_cha,1\nbunny_symbol,0\nhell_machina,1\nmarie_ange,4\nkutsushita_(tokati_r),1\nsword_master_(dungeon_and_fighter),4\noono_eiko,1\niida_kotori,4\nnanahi_toshi,1\nyuujin_(pageratta),4\nhayanpool,1\nhoshino_banchou,1\nfeng_ling_(fenglingwulukong),1\nshinsetsu_spice_and_wolf,3\ncyan_aeolin,1\ndragoncastle,1\napplying_gag,0\nhimduldago,1\nnose_genki,4\nyamano_rinrin,1\nimage_fill,0\nkurosawa_(kurosawakyo),1\ngaoerji,1\nmk_(mikka),1\nrodway,1\nnunuko_(mu661129),1\nxia_xiang_(ozicha),1\nhoushasei_gokiburi,1\ntachibana_hina,4\nandromedako,4\nnakamu_405,1\nvirion_(fire_emblem),4\nshibanashi_miso,1\nhilgendorf's_tube-nose_bat_(kemono_friends),4\narctic_wolf_(kemono_friends),4\ntonan_(l0l0l0l0l0l),1\nlukas_(fire_emblem),4\ncurcuma_(flower_knight_girl),4\norange_cloak,0\ntakuya_(acceed),4\nshinomy,1\nluke_venus,4\nwu_lun_wujin,1\nkotobuki_(medetai),1\ndragon_on_shoulder,0\nmengo,1\ntama_azusa_hatsu,1\naviator_girls,3\ngouhou_yuri_fuufu_hon,3\ngurumin_(gurruguru),1\nmotocross_saito,1\nkaname_(emanalc),1\nzoryc,1\nkatayama_minami,4\nnamuru,1\nthe_king_of_fighters_2000,3\ntakasaki_(rock_rock),1\nsengoku_asuka_zero,3\n112san,1\nt_lege_d,1\nimage_comics,3\nsonic_world_adventure,3\ncyborg_ninja,4\nrebecca_arcane,4\nvalor_(league_of_legends),4\ntemperature,0\nb_(papiopine),1\nmashimaru_(muzikluva),1\nnanaba,4\ngucci,0\nhoujouin_seika,4\nkarinaga_raizan,1\nmystical,1\nhikarusorano,1\nnamuro,1\ntopsu,1\nnevakuma_(fanfanas),1\nh&k_mg5,0\nlvl374,1\nshenmue_the_animation,3\nhouse_tag_denim,1\nkurumizaka_ruri,4\ngregory_(fnaf),4\nsalamander_(monster_girl_encyclopedia),4\ntokinomiya_kamui,4\npapercider,1\ninukai_sumiharu,4\nbean_sprout,0\nmandolin,0\nmagical_mirai_kaito,4\ncontract,0\nwhite_lotus,0\nkaneko_naoya,1\nnintendo_switch_pro_controller,0\nashina_genichirou,4\nneko_(hansinn),1\nkojiro337,1\nchabashira_sae,4\nghgnvm,1\nspread_the_wings!!_(idolmaster),0\nahr_tato,1\nheiwajima_kasuka,4\nblue_mask,0\nkodama_yuuki,1\ncuisses,0\nstar_guardian_syndra,4\nmaguchimo,1\npenguin4,1\ndice156,1\ndoppel_(madoka_magica),0\ntrain_attendant,0\ngupaon,1\nthe_birth_of_venus,3\nnemurism,1\nmary-san,4\nrui_(pokemon),4\noptions,0\nplastic_moon,1\nenomoto_noa,4\nkohinata_sumomo,4\nmiyazawa_yukino,4\njm1990henan,1\nlilo_&_stitch,3\ncrumbling,0\nnaname_(danbooru_maker),1\nazuchi_momo,4\nsamurai_jack_(character),4\nthatch,4\nmx0,3\nhistorical,0\nhugo_ardanach,4\nself_wedgie,0\nyu_(uza),1\nsion_flina,4\ntoujirou,1\nkomori_takahiro,1\nyuri_alpha,4\nmizuse_kiseki,1\nmatsuno_kuusuke,4\nyuyaki_(senran_kagura),4\nsister_(arakawa),4\nmaria_(arakawa),4\nfizz_(league_of_legends),4\ndavid_king_(dead_by_daylight),4\neien_no_kurayami,1\nservant,0\npixiv_cat_kingdom,3\narukiru,1\nzxzx,1\nmahou_shounen_miracle_hachirou,3\nremoving_helmet,0\nichitaro,1\nstar_wars:_rebels,3\npuu_(kari---ume),1\nmikomo0106,1\nhohetomaru,1\naoyama_yuuga,4\ntlandolt69,1\nabarerumidori,1\npocketbook,0\nsotsunaku,1\noinari_yukke,1\nsandman_(sbr),4\nmachi_youko,4\nlliissaawwuu2,1\namano_yukiko_(youkai_watch),4\nnight_seeker_(sekaiju),4\npippilipi,1\ndragon_shiryuu,4\nspecial_type_2_launch_ka-mi,0\nkinoshita_ringo_(no-rin),4\nchan_qi_(fireworkhouse),1\nshuiro_(frog-16),1\nmogera81,1\nsabi_wasabi,1\naquarion_logos,3\npop_(smile_precure!),4\nchaou,1\nfnc_(upotte!!),4\nameya_kirika,1\naliese_martini,4\nargyle_necktie,0\nsakuramachi_touko,4\ncharlotte_(shironeko_project),4\ngumball_machine,0\nsai_(saikun),1\nvegacolors,1\nmosquito_musume,4\nmarui_maru,1\nchristmas_elf,4\nplaid_pajamas,0\nanimal_cutout,0\nacid_(acid-field),1\nsukiya,0\nshiratori_hime,4\ntori_(eherotori),1\nmalice_stella,1\nshiki_karuta,1\npalmer_(pokemon),4\nimaani,1\ncoffeiz_p,1\nkono_subarashii_sekai_ni_shukufuku_wo!:_kurenai_densetsu,3\ntoktin_zq,1\npopo_take,1\nrunemill,1\nichinose_(kurui96),1\nlentiyay,1\nsaika_ryougi,1\ndyarikku_(vtuber),4\nsteph_(afrobull),4\ndramatic_stars_(idolmaster),0\nnyarumi,1\nodabuts,1\ngnsn_tori,1\nciel_(bird/binary),4\nsaint-louis_(alluring_administrator)_(azur_lane),4\nusa_(yamai),4\nmii_gunner_(smash_ultimate),4\noktyabrskaya_revolyutsiya_(kancolle),4\ngwanlamcha,1\nshosho_oekaki,1\nwarabi_(danngo-mitarasi),1\nreddit_username,0\nset7,1\ntailbox,1\nlewis_(girls'_frontline),4\nfn-49_(girls'_frontline),4\nannes_(g_(genesis1556)),4\nren_kouha,4\nthigh_focus,0\nchronosth1,1\nblind_girl's_dog_(popopoka),4\nlong_island_(long_island_-_indoor_slacker)_(azur_lane),4\nmikaelya_(voice_actor),1\nkatori_youko,4\nakuma_shitsuji_to_kuroi_neko,3\nichinana_(dametetujin17),1\njin_(phoenixpear),1\neye_hair_ornament,0\nnyamnyam0502,1\nshennong_(summer)_(housamo),4\ndotz,1\nlune_(chikaretsu),4\nniko_(aiai03012),1\ndanmaku!!,3\nbluecher_(azur_lane),4\nyonab_(yonab),4\nnishinaka_takashi,4\nilya_(christmas)_(princess_connect!),4\nwinberrl,4\nmaico_(a218),1\nkin_no_kutsu_gin_no_kutsu,3\nhakiata,1\nspace_colony,0\ntycho_science,4\ngirl_with_golden_shoe,4\noumagadoki_doubutsuen,3\nmarotti,1\nwooden_beam,0\ndiana_(kaminomi),4\nakagi_kouhei,4\nsr_soba,1\nmyung-jin_lee,1\ny_jinn,1\njikei,1\nlina_inverse_(dota_2),4\nterimayo_(sonnne_farbe),1\nulquiorra0,1\nchihyaa,4\nyuucho_(cololal),1\naria_(okuda08808008),1\nharry_(namayake),1\nvs_knight_lamune_&_40_fire,3\ntiramisu,0\nxiatian_(beatmania_iidx),4\nthe_best_schoolmate_(idolmaster),0\nerina_der_vogelweid,4\nchimera_(chuu2koi),4\nsalty_(cherrypie),1\nseidouzan,0\nwindmill_(company),3\noyashimakanya,1\netuzan_jakusui,1\nmorimi_ashita,1\nsara_bon,1\nkomugi_(mugiwaraclub),1\nsechi_(stst1850),1\nriding_bean,3\nparayang,1\nloeldrive,1\nsenbiki_(nonono69),1\narizona_(azur_lane),4\ngari_(apollonica),1\nriding_bird,0\nyapo_(mess),1\ncentaur_(azur_lane),4\nleather_vest,0\ncucchiore,1\nwakame-chan,4\nhami_(hami-gerden),1\nnstime23,1\ntenebria_(epic_seven),4\nfumikiri_(dake_no_hito),1\nkujo_josefumi,4\nkemono_friends_3:_planet_tours,3\nmiyar2d2,1\ndao,0\ncpu,0\nholding_tanzaku,0\nu_emper,1\nsakuya_(utawarerumono),4\nayane_ichijou,4\nniandni,1\nmarmalade_mum,1\nshaito,1\npiaisai,1\npolla,1\ngreat_gozu,4\nmei_ford,1\nhoshino_char,4\nll_0109,1\nangel_costume,0\njail_scaglietti,4\nx.x,1\ntriangle_cutout,0\nkraken,0\nmochiko_tsuru,1\nsubfiction,1\nm1_carbine,0\ntani,1\nyoutan,1\nsiyumu,1\nsungpark,1\nkonase_(non_stop!),1\nichinashi,1\njason_chan,1\nshiika_(idolmaster),4\ntuesday_simmons,4\nfuyuki8208,1\ntocope,1\nazoth_knife,0\ny0ung,1\nmonokuma_(cosplay),0\nagu_(antyosan),1\nkamikaze_(azur_lane),4\ni-168_(azur_lane),4\nminu,1\nasami_yurumu,1\ngozen4ji,1\nenoshito,1\ngecko_moria,4\nyam_(yamap_mako),1\nescort_princess,4\nhayashi_maka,1\nnitaimoimo,1\noku_1225,1\nlunalu9,1\naqua_outline,0\nseiros_(fire_emblem),4\nmejiro_family_doctor,4\nyanagui,1\nbyakuya0315,1\nbelt_feed,0\ndaroach,4\nomega_(final_fantasy),4\nmetabee,4\nkakihito_shirazu,1\nyuuma_(pumpkin),1\nbubble_man,4\nmultilingual,0\nziko,1\njonbur_man,1\nretto,1\nthranduil,4\nmanuel_castanon,1\nsai_ichirou,1\nsagamihara_sakyou,1\nchibimame,1\nmiyaulait,1\nameli_(girls'_frontline),4\nbeater,1\ntodoroki_kyouko,4\nryoutsu,1\nadjusting_sock,0\nguchagucha,1\nnidhoggn,1\nnoie_(neunteedelstein),1\npaaru,1\nnordic_niku,1\nn15e,1\nshayoo,1\nbenchen06,1\nlilithmon,4\niolite_link,3\nsurfboard_(wrestling),0\numbilical_cord,0\nfreddie_mercury,4\nrudy_(rariatto),4\nravenousruss,1\nsig_516,0\nunfezant_(male),4\nmarisa_to_alice_no_cookie_storia,3\nyuxing_yuhang,1\nkali_(p&d),4\npikupiku,4\napron_aside,0\no_x,0\nku-ini,1\njupiter_(pokemon),4\nlittle_nurse,4\nryuukyuu,4\niori_yuzuru,4\nhigurashi_towa,4\nmetalgarurumon,4\ndr_altruist,1\nhiburi_(kancolle)_(cosplay),0\nnetherlands,0\nalolan_persian,4\nsleeve,0\nchirang,1\nsujiko_(125motimoti),1\nchiutake_mina,1\ninkstone,0\ntiefling,0\ngetter_dragon,4\npiennamekuzi,1\nmaid_(etan14),4\nmelon_slice,0\nshigure_(blue_archive),4\nharukey,1\nsitting_on_hair,0\naiue0,1\nhyrule_castle,0\nshige,1\nfukuyama_jun,4\nedge_maverick,4\ncryturtle,1\ndeuce_spade,4\nfur_sleeves,0\nsakuba_nao,1\nspoken_emoji,0\nmatou_sakura_(cosplay),0\nshinku_(cosplay),0\nvanguard_(azur_lane),4\ngotou_yuuko,4\nbrown_pupils,0\nkida_sukizou,1\nshichimi_(ftlvampire32),1\ncovering_another's_mouth,0\ntsumihoroboshi-hen,3\nvf-1_strike,4\narata,1\nokitarou_(okiyo),1\nlatex_top,0\ndincat,1\nmizame,1\nmashin,0\nyae_kaori,4\nhair_focus,0\nottoman,0\nugonba_(howatoro),1\ncytomander,4\nries_argent,4\nshimamura_miwa,1\nterrako,4\nawa_iro,1\nsnowdrop_(flower),0\nhell_angel,1\naskr_(mymy),1\nwarabimoti_yoz,1\npink_(among_us),4\naddams_family,3\nheart_hat_ornament,0\nminakuchi_takashi,1\nsixteenpo,1\nyukiyoshi,1\ndouble-decker_hamburger_bun,0\njirai-chan_(masayo),4\nsalukino,1\nkatana_man_(chainsaw_man),4\nhair_fruit,0\nmine_riko,4\nyang38,1\ngarfiel_tinsel,4\nkusama_takato,1\nneru_(flareuptf1),1\njuby,1\nmiyamura_izumi,4\nnanni_jjang,1\nspider-ham,4\nootsuka_mai,1\nostrich_(kemono_friends),4\nyukihiko_(sky_sleep),1\nmr_lobster,1\naibon,1\nlinmei_quan,4\nu_tnmn,1\ncharlie_brown,4\nio_(summer)_(princess_connect!),4\nshiitake_(mm0820),1\nmitsuki_(mitsukitei),1\nutai_yumi,1\nsukoyaka_gyuunyuu,1\nniwatori_gunsou,1\ngirutaabo,1\nkaihime,4\nsasaki_kouhei,1\nget,0\nchristina_mackenzie,4\nmatsunaga_sara,4\nmagical_princess,4\nmorinas,4\nharukaze_chiharu,4\niyau,1\nfushigiboshi_no_futago_hime_gyu,3\nzerg_(starcraft),4\nwalfas,0\nva,0\nanya_cocolova,4\nmudou_setsuna,4\nwrapped,0\nteston,1\ngoemon,4\nkr_ohoshisama,1\nrichter_abend,4\ntakashi_moritaka,1\nlittle_sister,4\nclarice_di_lanza,4\nmakita_haruka,1\nmonster_maker,3\npenguin_musume,3\nnagisano,3\nlayzner,4\nmoriah,4\nnishi,1\nmarianne_vi_britannia,4\nstrip_poker,0\ntype_90,1\nsasahara_koujirou,4\nharuna_mahiru,1\nrouge_(power_stone),4\nkarakuri_circus,3\nmaki_michaux,1\nnyano,4\nalfred,1\ntoutaku,4\nmagic_carpet,0\nwakaba0801,1\nkaguyahime,1\nmizushiro_kanon,4\nneco-arc_chaos,4\nnanairo_souga,1\nyule_log,0\nnfb-zmc,1\njanome_gochou,1\nvaio,0\nmelon-chan_(fg),4\nsakuma,1\nshirono_kuma,1\nbanzai_nekomimi,1\ntita_nium,4\nmarie_parfacy,4\n1995,0\nriria,1\nswirling,0\nkoropokkuru,0\nhanaon,1\nnagase_yutaka,1\nno+bi=,1\nprino_hawell,1\ncorona-chan,4\nxino,1\ntetra_takamine,1\nzono_(rinkara-sou),1\nt_(dyuhuhudyukusi),1\nore_no_natsuyasumi,3\nkamen_rider_stronger,4\nguan_yu,4\nsakura_(urusei_yatsura),4\nsasakawa_arumi,1\ntsurugi_yuuichi,4\ncrost,1\naitaso,1\nbeast_wars_ii,3\noimari,1\nhiganbana_(higanbana_no_saku_yoru_ni),4\nasura_cryin',3\nu2_(u2_85269),1\ntomon_(slash0410),1\nkoumoto_madoka,4\nmashima_(sumachi),1\naotsuki_ushio,4\njitama_(bou),1\nmebi_il,1\nshoko_makiko,1\niron_claw,0\nsasana,1\nokey,1\ndekisugi_hidetoshi,4\nsakura_momo,4\nstretch_marks,0\nsoranokaze15,1\nexcel,4\nsword_world,3\ntidal_wave,0\ngreen_dam,4\nhorse_legs,0\nkol49,1\nboyfriend_(friday_night_funkin'),4\nissei,1\nkgo,1\nas_(ashyblown),1\nkanzaki_miku,4\nayase_tamaki,1\nprin_dog,1\nthe_thing,3\nmusuka_(muska),1\nzanburg,0\nchaudlapin,1\nnekono_osero,1\nyuri_(quiz_magic_academy),4\nkatina_tarask,4\ncafenami,1\nooshima_aki,1\nkakushigoto,3\nspiral_(senra_garou),1\ntarisa_manandal,4\nluca_balsa,4\nwargaming_japan,3\nhaki_(boogbogex),4\nthebrushking,1\ndoting_parent,0\ndoorknoble,1\nno_hood,0\nartia,4\ntsukushima_shijima,4\norn,1\nevil_ryu,4\nmighty_(series),3\nrinrin_(user_tvcf4347),1\ntinsel,0\nruu_(queen's_blade),4\nsurvival_yaiba,1\naqueduct,0\nkirara_jump,0\nang,1\nrodori_gesu,1\ntomoshibi_no_majo,4\nishinarimaru_shouten,1\nstardust_dragon,4\nsophia_(p5s),4\nneytirix,1\nnayoung_wooh,1\nbunny_pin,0\noto_nagi,1\nelie_wayne,4\nrozaliya_olenyeva_(fervent_tempo),4\nangon623,1\npokira,1\nfinn_(fire_emblem),4\nsumire_(anti_(0324)),4\nkuuneru,1\nfire_valkyrie,4\nhatotaurus_(ookami_mio),4\nxoco,1\ncharlotte_christine_de_colde,4\nitou_misei,1\nferrothorn,4\nmothim,4\ntanned_girl_(kamisimo_90),4\nukatsu_juuzou,1\nshio,1\ntwobee,1\ngordius_wheel_(fate),0\nmaosen,1\nshiba_tatsuya,4\nhelmet-chan_(girls_und_panzer),4\nkuku123,1\ndesert_voe_set_(zelda),0\nsugii_tsukasa,1\nshinjou_kanae_(teekyuu),4\nmoonlight_butterfly,0\nsakurada_kanade,4\nlaffey_(snow_rabbit_and_candy_apple)_(azur_lane),4\npandora_(nat_the_lich),4\njervis_(azur_lane),4\nharlock,4\nshiki_no_akari,3\nskull_fucking,0\nqing_lan,1\nyukimura_usagi,1\npam-pam_(precure),4\nkoga_sayoko,4\nyura_(ub4u),1\njuno_(azur_lane),4\nmoose_girl,0\nbakumatsu_rouman_dainimaku,3\nmuchimaro-chan,4\nyaruo,4\nyuukyuu_gensoukyoku,3\nbt-7274,4\nbig_al,4\nsuimame,1\nyukiji_shia,1\nno_cloak,0\nuriah-oyu,1\nshirotaso0818,1\nofuro,0\nlirica,1\nwukong_(league_of_legends),4\nmiso_pan,1\nkunoichi_demo_koi_ga_shitai_(vocaloid),3\nreinesia_el_arte_cowen,4\nkyou_(nodobotokemax),1\nfukushi_ryouhei,1\nsegaxtu,1\nyuukaku,1\nkame_(3t),1\nnuenue,1\n00tuma00,1\nburger_skater_(idolmaster),0\nashiya_kouhei,1\nsupobi,1\nchoco_(moyasi),1\nspewpa,4\nsnow_strawberry_(idolmaster),0\nveerinly,1\ncafemoka-septro,1\nhyacinth,0\nmynare,1\nmousou_zei_(vocaloid),3\nnitta_emi,4\npile_(seiyuu),4\nminamiya_natsuki,4\nvellark,1\nshin'ya_natsuki,1\nakariya_kuubu,1\npcs_shousa,1\nuss_missouri_(bb-63),4\nasagi_(bombergirl),4\nray_littlechamber,4\nryugeru_baran,4\newen_egeburg,4\nichina_(osabakitina),1\nserakoutarou,1\nsupahbeefcakes,1\nshallotte_elminus,4\ntad_s,1\nha_neko,1\ntariho_(robotanime),1\nshamone_(skullgirls),4\ntakayama_dan,1\nmou_(piooooon),1\nmujun_atama,1\nremotarou,1\nguildmarm_(monster_hunter),4\nrupe_paperu,1\nlgw7,1\nakira_(aky-la),1\nsitting_on_own_tail,0\ntao_(tao15102),1\nshiroton_(kazamineko),1\ndeath_angel_komachi,3\noriuo_q,1\nda_raku,1\nwata_neo,1\nundershaft,1\npa_da_wan,1\ncatcar0983,1\nred_wrist_cuffs,0\nkamoi_tsubame,4\nsaazbaum,4\nmk001black,1\nsonech,1\nheart_ring_choker,0\nleen_(grandia),4\ncure_white_pose,0\nhime_(suguri),4\nemi_(emi43),1\nside_ahoge,0\npeople's_liberation_army_air_force,0\nmoira_burton,4\ngoji_(8jikan_roudou),1\nkenkaizar,1\nqt0ri,1\nkamakama_(kdmorh_kamakama),1\nlolipaedq,1\nrukiroki,3\n810_(dadmiral),1\nusui_ryuu,1\npoise,1\nfujisaki_kyouya,1\nsuzuki_tsudumi,4\nyorktown_(warship_girls_r),4\nmilluun,1\nizumikuma,1\nblowing_on_food,0\nys_ix_monstrum_nox,3\nhatoichi_reno,1\nbelafu_(human),4\ntowa_rui,4\nhansel_(black_lagoon),4\ntwin-7646,1\nkase_atsushi,1\nkuro_ageha,3\nusio_ueda,1\nkisui_(28992125),1\nping_hai_(osmanthus_moon_rabbit)_(azur_lane),4\numeru_(admiral_bahroo),4\nyuuki_miyabi,1\nshirataki_jiro,1\ncorrin_(fire_emblem)_(dragon),4\nrippootai,1\nasmodeus_alice,4\naciddrop_(arknights),4\nhibikileon,1\nomega_(mega_man),4\nkotori_(cheerleader)_(blue_archive),4\nmisia_(ichiri),4\nkaho_(blue_archive),4\njack_(haist),1\nhellyon_white,1\nreference_request,5\nrepublic_of_korea_army,0\ngiraffe_girl,0\nceruledge,4\nakafuyu_(arknights),4\nelectronic_cigarette,0\nkouzuki_yuuko,4\nayame_(no_ohana),1\ngolden_gun,0\ndaga,1\nrizeass,1\nreisalin_stout_(cosplay),0\nlong_torso,0\nsugomori_tsuru_(artist),1\nmale_with_breasts,0\nleos_vincent,4\nbleeding_from_forehead,0\nryuhirohumi,1\none_piece:_stampede,3\npinecone_(sing_a_song)_(arknights),4\nkyuubi_(youkai_watch),4\nheart-shaped_ornament,0\nkemono_friends_kingdom,3\nsoftboiled_egg,0\nthe_baddest_kai'sa,4\ntransparent_hand,0\nlarge_shoes,0\nfuyono_neru,1\nprosthetic_weapon,0\nviolet_(closers),4\njohn_wick,3\nmori_yoshihara,4\nkine_(warabi_mk501),1\njamrolypoly,1\nartsy-theo,1\nmoment_(moment_607),1\nswon_(joy200892),1\nyatagarasu_(kemono_friends),4\ndjcomps,1\ncommon_chimpanzee_(kemono_friends),4\nneko_no_wakusei,3\nyellow_bloomers,0\nusuzan_school_uniform,0\nalpaca_huacaya_(kemono_friends),4\ng_perarikku,1\nhi-go!,1\nsaitou_yuu,1\nya_kexi,1\nasymmetrical_shirt,0\ntomoeda_high_school_uniform,0\nmacota_(cookie),4\nmakie_fujiyuki,1\nerror_dot,1\nparda_siko,1\ncheunchin,1\nnishimawari_kouro,1\nggatip,1\nasaki_yukiko,4\narara_milk,4\ncarcano,0\nyuubari_(azur_lane),4\nstirrup_footwear,0\nahnei,1\nkuromiko_shoujo,1\nnzz,1\npoking_with_penis,0\ndaru_(kumakumadon),1\ndr._molly_simon,4\ncody_(dross),4\nsanta_lily,0\nmahiro_(akino-suisen),1\nstriped_wristband,0\naqua_tank_top,0\nsonparesu,1\nfutari_ecchi,3\njuuden,1\nnukunuku_(hinataboltuko),1\nmarc_(red_barrel),4\nmagenta_magenta,4\nmonaco_(hetalia),4\ndaizan_(mount_position),1\nshikai_(iesiki_56),1\nmihara_chiharu,4\nfurea_(genjuu_no_mori),1\nhattori_junko,4\nyamanami_kousuke,1\nandou_minawa,4\npokemon_xd,3\nndkazh,1\nrion_flina,4\nakina_(schism),1\nmakarori_(noah),1\nkoishikawa,1\njuuzawa_juu,4\nborokuro,1\nhatsukoi_limited,3\nracoon-kun,1\ncappuccino_(drink),0\nblowing_nose,0\n7:24,1\nambulocetus,1\nm3_submachine_gun,0\npresident_(danshi_koukousei),4\nnonstop_story,0\nkazto_furuya,1\nultraman_tiga_(series),3\nkatia_grineal,4\nkarina,1\narbuz_budesh,1\nchonbo_(artist),1\nsoubee1,1\nshut_(go!_princess_precure),4\nitsuki_(s2_129),1\nmedic_(sekaiju_4),4\nkochiya_hizuki,1\nfutaba_anzu_(cosplay),0\nmatoki_misa,1\nntny,1\nhikaru_ga_chikyuu_ni_itakoro,3\nazumawari_(azumofu),1\nglycyrrhizae,1\ndaisy_oak,4\ndha315,1\npazma,1\njun_(rellik_&_redrum),1\nass_biting,0\ncitrus_(place),1\nunderbite,0\ntrista_(makkoivenus),1\nling_shen_hua,4\ndeath_gun,4\nfolding_clothes,0\nshanghai_man,1\ndemon_power_(elsword),4\njohn_(kakurenbo),1\ndoremy_sweet_(baku),4\nhayase_fukami,4\n720_72,1\nlicking_panties,0\noshouyu_tabetai,1\ncamouflage_hoodie,0\nrita_drake,4\ntabi_boots,0\nshiina_aki,4\ncomfy,0\ndog_lead,0\nfutabaaf,1\nceejles,1\nzhano_kun,1\nhanami_yuzuka,4\ntakahiko,1\namygdala,4\nseidouzan_soccer_uniform,0\nmamiya-kunchi_no_itsutsugo_jijou,3\nrinx,1\nursula_(xenoblade),4\nyon_yon_(shikawafu),1\nltotyht,1\nerin_(kemono_no_souja_erin),4\nponnyu12,1\nyafu,1\nfemto_(berserk),4\nkoufukutei_yumeko,1\njackie_(arknights),4\naddy_(@vegeebs),1\nhihizaru_badass,1\namiya_(fresh_fastener)_(arknights),4\nexusiai_(city_rider)_(arknights),4\nyazaki_kallin,4\namefukura_art,1\nuro_(uroboros),1\ntamifull,1\nmoedredd,1\nokada_izou_(dog)_(fate),4\nishtar_(fate)_(cosplay),0\nohayashi55,1\nnepty_(silkey_vod),1\nshoujo_l,1\ngamou_maki,4\nkyuukyoku_shinka_shita_full_dive_rpg_ga_genjitsu_yori_mo_kusoge_dattara,3\njacky_(aerial_rave),1\nxuuikie_ashe,1\nponi_(poni_arknights),1\nvoid_prowler_wraith,4\nnithros,1\ndr._bug,1\nmg3_(girls'_frontline),4\npx4_storm_(girls'_frontline),4\ngsh-18_(girls'_frontline),4\nmanya_(dq4)_(cosplay),0\ncinderella_(vocaloid),3\niwaha_(iwabajunki06),1\nsumika_(rrz03),1\nebonyxh,1\nranzal_(dragalia_lost),4\nntw-20_(op._blazing_sun)_(girls'_frontline),4\nmu_(caligula),4\npikachu_libre,4\nparfait_desu,1\nsuikou_(genshin_impact),4\nhow_to_draw_manga_redraw_challenge_(meme),0\nart_of_neight,1\nashujou,1\nkyado_(amaterasu),1\nuchida_mayumi,4\nelectric_toothbrush,0\nsazanami_tarou,1\nokatora,1\nadolfine_galland,4\nmaya_(culture),0\no-ishi,1\ntoshinobu40,1\nnishizawa_yoshiko,4\ntsuruhime,4\nsakuna,1\naizawa_shin,1\nbanbuu_(zeromugen),1\ntsukasa_(.hack//),4\nsunahara_yoshimi,4\ncure_flower,4\nsuikka,1\nminagi_(gogogo),1\nunited_nations,0\nbound_wings,0\ntachibana_isana,4\nreki_(dezuko),1\nhollyhock,0\ndo_konjouuo,1\nmidori_(green_tea),1\neunram,1\nfunakubo_hiroko,4\nchoujin_gakuen_gowcaizer,3\nsonomura,1\ntransformers_victory,3\nchemicals,0\njinkou-kuu,1\ntsukuyomi_sasami,4\noccluder,0\nnicomi.com,3\neri_na,1\nshokubai_phantom_girl,1\nscp-173,4\nclaire_rouge,4\nharusaki_chiwa,4\necchi_na_bunny-san_wa_kirai?,3\nwarable,1\nkochiya_yuriko,4\nwillump,4\nhajimete_no_oisha-san,3\nnayuta_(una),1\nkei-chan_(atlas_kei),1\nharu_(primavera),1\nshining_ark,3\nmatsuo_masago,4\natelier_viorate,3\nbicycle_seat,0\nghost_in_the_shell_arise,3\nmavis_dracula,4\nbrazier,0\ngordon_ramsay,4\nkousaka_yami,1\nnagiichi,1\nyamori_shiki,1\nkore_(korewa13th),1\nbenjamin_button_suukina_jinsei,1\ncarbon_roller_(splatoon),0\nmsc_nm,1\nvaliant_vixen_(pso2),4\ncolette_(kono_bijutsubu_niwa_mondai_ga_aru!),4\nsword_art_online:_hollow_realization,3\ninuzuka_tsumugi,4\nfloral_flowlove,3\nkida_mochi,1\nyasuraoka_hanabi,4\n300_heroes,3\nmafuyu_hemp,1\nkuzuryuu_natsumi,4\ngradient_scarf,0\ntt-392,4\nutaka_(anyoanyot),1\ninui_kentarou,1\npanyatteria,1\nhimamushi_nyuudou,1\nkan_satomi,1\npenis_head,0\neau,1\npinkxxxna,1\nnight_sky_sword,0\noranguru,4\ntoxapex,4\nyamanaka_inojin,4\nshoggoth,4\nmuhut,1\nakihila,1\nbakki,1\nzoo,0\nmarufuji_hirotaka,1\namou_mari,1\ntayashigu_(suisyounohosizora),1\nbeheeyem,4\nnina_tucker,4\nkanikama25,1\ngalarian_yamask,4\nkawai_masaki,1\nmofu_mofuko_(ryusei_hashida),4\nhazel0217,1\nbinding_discoloration,5\nwater_censor,0\nvoid_termina,4\nrv,0\nqingxiao_kiyokiyo,1\nhk21_(girls'_frontline),4\nligton1225,1\nusas-12_(girls'_frontline),4\niwane_masaaki,1\nchoco_(rune_(pixiv_25170019)),4\n2ch.ru,3\nmek_number,1\nkellzallday,1\ntaka_shida,1\nryuuguu_rena_(cosplay),0\nantweiyi,1\nranju_aira,1\nrijjin,1\nhasumi_eri,4\nuetaku,1\ngracidea,0\ntogare,1\njamgom,1\nmedusa_(mythology),4\nkashisuover,1\nvaliant_(azur_lane),4\njyuuji,1\nkazuha_(kazuha1003),1\ntadakuni,4\ngauma,4\nkomugi_(hunter_x_hunter),4\nshinae,1\nliang_feng_qui_ye,1\nhaibarasaika,1\nalex_(stardew_valley),4\nguu_(jungle_wa_itsumo),4\ndoomguy_(cosplay),0\nherlock_sholmes,4\nxlyami,1\nhaidara,1\nstuffed_squid,0\naraimooah,1\nzweilous,4\nkuratch,1\nice_fishing,0\ncobalion,4\nshining,0\nhachikuji_mayoi_(cosplay),0\nlisa_pacifist,4\njinn_(housamo),4\nyellow_wristband,0\nrital,1\ntsuna_(so_da77),1\nwhisper_(ragnarok_online),4\nfuzzlogik,1\nhokkaido_nippon-ham_fighters,3\ncovering_nose,0\nactor_connection,0\ncannian_dada,1\nthegreyzen,1\nnao_(okt8538),1\nmizuki-chan_(kanabun),4\ncollar_up,0\nikara,1\ngyuunyuu_(mashika),1\nmicroa,1\nsenran_kagura_burst,3\nagnes_tachyon_(umamusume)_(cosplay),0\ngolett,4\nvchan,1\nnameless_(kof),4\nomochi_monaka,1\nmasami_(souzou_jinsei_sanka),1\nglowing_liquid,0\nburger_malfunction,0\nfujino_shion,4\nholding_telescope,0\nnekoyama_iori,1\nabe_(f!mixture),1\nthai_girl_(okpriko),4\nmewo,4\nmiruru_(rune_(pixiv_25170019)),4\nyjs0803123,1\nnekodayo22,1\nsakusakumonoka,1\nrizu-kyun_(cosplay),0\nthaumazo,1\nfushihara-san,4\nkatsuragi_hana,4\ntogusa_saburou,4\nschool_connection,0\nmystia_lorelei_(cosplay),0\nnatsumi_(gurande),4\ndonar0217,1\nogura_shion,4\ndancing_pallbearers_(meme),0\nsharona_(alchemy_stars),4\nhoodier,1\nankle_belt,0\niseki_shuuichi,1\nitokatsu_(garou),4\ntyrande_whisperwind,4\nkurita_shin'ichi,1\nbiko_pegasus_(umamusume),4\nruo_zhishi_chu_jian,1\nyagami_kamiya,1\nzero_(jckz2334),1\nwashanapple,1\nbrest_(azur_lane),4\njoint_(drug),0\nhashiyamoto,1\nrei_taylor,4\nkotobukkii_(yt_lvlv),1\ntanaka_kii,1\nclothes_on_shoulders,0\nwakaba_(wata_ridley),1\ntomitayaki,1\nsanamisa,1\nhiro_(h-net),1\nmiruku_(cutesuu),4\nshizuku_(omamori_himari),4\nahsiu,1\nmatsu_(sekirei),4\nharubato,1\nsumiyoshi_chisato,4\nmegane_(artist),1\nsticks,0\nizumi_yuuji_(trace_kouhosei),1\nsitting_on_cloud,0\nrita_henschel,4\nenn_matien,1\na.f.o,1\nverslll,1\nlooking_at_flowers,0\nkamemushi_(hoozuki),1\nhanako-san_(toire_no_hanako-san),4\nkawa683,1\nyamato_alexander,4\ntrumpet_creeper,0\nband_(skymole01),1\nnia_teppelin_(cosplay),0\nriderman,4\nookaji_hiroyuki,1\nmeeting,0\nrose_tomas,4\neigetu,1\nmusketeer,0\ntsubomi_fujiko,4\nnisina,1\nhyoubu_kyousuke,4\nmiyako_yoshika_(cosplay),0\ngurren,4\nmikado_mariya,4\ngapangman,1\nkacka,1\notsu_natsu,1\ncastlevania:_aria_of_sorrow,3\nyuki_(otosuki),4\nmeliadoul_tengille,4\nleopard_(artist),1\nmeteoride,1\ntakafuji_yuna,1\nsakura_nanako,4\nhonehone,1\nneko_usagi,1\naizawa_yasumi,4\nrogue_(warcraft),4\ncandy_cane_(rumble_roses),4\narakawa_hiromu,1\ntetratech,3\nisone_kotoha,4\nsolid&etc,1\ncassidy_(pokemon),4\nmarujin,1\nkitazume_hiroyuki,1\nhisui_(kimochi),1\nshirasaki_aloe,1\nnatsume_riu,1\nviewtiful_joe_(character),4\ncofi_(eternal),1\nmekabu,1\nplue,4\nshaonav,1\nnohara_himawari,4\nsunohara_youko,4\nmagatsu_izanagi,4\nsolar_kaichuudentou,1\ngomoku,1\nacrobatics,0\nchiffon_(fresh_precure!),4\ntaishi22,1\nmurasaki_nakoruru,4\nshiroto_iku,1\nwater_cooler,0\nsol_badguy_(cosplay),0\numu_(um),1\nhayashi_ichirou,1\nwet_buruma,0\nmattsu,1\nharukazedori_ni_tomarigi_wo,3\nevangelion:_1.0_you_are_(not)_alone,3\noritako,1\nigashiko,1\nponekusan,1\nnocturne_(league_of_legends),4\ndaiso,1\nprogress_bar,0\nkamen_rider_diend,4\ntowel_pull,0\ntake_(office-t),1\ns040784,1\nhalf-shirt,0\ntartaros_online,3\nseven-branched_sword,0\nchibinon,1\nkakkou_(su),1\nkama_(tour_outfit)_(fate),4\nkikuchi_youko,1\nuehara,1\nassembling,0\ntamaki_(diarie_inaiinaibaa),1\nlymsleia_falenas,4\nmonza_(saeumon),1\nikea,3\noofuji_wataru,1\nokaohito1,1\nanother_code,3\nclogs,0\nhorii_kumi,1\nmmk,1\naries_shion,4\nmasakano_masaka,1\ntoshi_aki,1\ntakemaru08,1\nsoramiruku,1\nkeltan,4\nhibarigaoka_yuki,4\nfilm_border,0\nbougainvillea_(flower),0\nrandis,1\ncossack_dance,0\nolmine,4\nshujin,1\nskyfire_(temperature_difference)_(arknights),4\nichiru_(yuzu-an),1\nyotsuha_(little_squash),1\ndclockwork,1\nluyheg,1\nkemile,1\nsisuko1016,1\nhod_(project_moon),4\nbadamon,1\nbati15,1\npink_(konkichi),4\nmerontomari,1\nyam_(htt),1\nmatsuzaka_(matsuzakagyu_29),1\nhanakanzarashi,1\ngradient_neck_ribbon,0\nhomunculus,0\nisetnation,1\nrii_(pixiv11152329),1\nluka_(shironeko_project),4\nnaoise,4\njunshiki,1\niroha_uta_(vocaloid),3\n5saiji,1\nkamiowl,1\nnakaba,1\ncauchemar_(p&d),4\nyammy,1\nnyto_(generic)_(girls'_frontline),4\nochappa,1\nb-25_mitchell,0\nstork,0\ntonayon,1\ngundam_ez8,4\nouse_kohime,1\nomega-f,4\nkakmxxxny06,1\ncascoon,4\nstraw_doll,0\nunown_w,4\nslimification,0\nshampoo_(cat),4\nsheya_tin,1\n172cm,1\nkakuchou_no_ou,1\ncape_tug,0\ntree_costume,0\n^p^,0\nyuuten,1\nhonokan,1\nkiddie_ride,0\nnaomi_(agent_aika),4\nb-52_stratofortress,0\nnecromancer_(sekaiju),4\ncow_mask,0\njmanvelez,1\nsoranakidayo,1\nmachio_naruzou,4\nnippori,1\nwashiwa,1\nxhunzei,1\ntoyota_86,0\nlom_(lom_lom_8),1\nryu_(masu_nantoka-san),1\nnefertari_(fate),4\nsho-tan_(thedoujin),4\nthedoujin,3\nsomsom,1\nunown_g,4\nandou_tsubaki,4\nariel_(kumo_desu_ga_nani_ka?),4\nbobo_(6630978),1\nrabe26k,1\nthe_hanged_man_(tarot),0\nsheriff_woody,4\nhinawa,4\nkleinlight,1\nyaya_(y8ay8a),1\nheremia,1\nyuri_(dirty_pair_flash),4\nrazuzyamu,1\ngen_uma_mai,1\nmoji_(mojimozis),1\nmold,0\nkuma_kuma_kuma_bear,3\nunou_(unou_mha),1\nparum39,1\nshishikai,1\nelgyem,4\nrosen-tai,4\nfat_cat_(ff14),4\nthe_prince_(katamari_damacy),4\nsamenoido,1\nnekoma_kotomitsu,1\nkagurazaka_yuna,4\nwb_yimo,1\nriromomo,1\nindee,1\ndistant,0\nsekiguchi_kanami,1\nshijou_hinako,4\nmagicalmushroom,1\nbonten,1\nozoi,4\npalmeros,1\njune_lin_milliam,4\nkakinouchi_narumi,1\ntokiniwa,1\nregls,1\nnaharyou,1\nkasuga_rurito,1\nshakeko_(shake5),1\nneck_lift,0\ntokiji,1\nokami_ranka,4\ncall_of_duty:_black_ops,3\nnoii,1\nmegalo_box,3\nnemuaki,1\narzuros_(armor),4\nhasekura_(hachinochun),1\ncomizku,1\nhaneto,1\nred_disappointment,1\nmerumeru626,1\nsaku_hinoko,4\ntowelket_wo_mou_ichido,3\nkamuinii,1\nduck_hair_ornament,0\nseth_(street_fighter),4\nvespid_(girls'_frontline),4\nangled_foregrip,0\nfukuhara_ann,4\nmilk_(tonpuu),4\ntsuka_(blind_side),1\nvladimir_(league_of_legends),4\nwringing_dress,0\ngoroumaru,1\nkatagiri_(a1466502),1\navatar_base,0\ngalilei_donna,3\nshovel_knight_(character),4\naurorus,4\njusis_albarea,4\nfrancis_de_lariatte,1\nsasami_(ki),1\nmakoto_yabe,1\nhamigaking,1\nakuma_homura_(cosplay),0\nkakusei_kenkyuu_idol_lab,3\npitui1996,1\nhakuryuu_(mixi_max_zhuge_kongming),0\nlong28,1\ntiea,4\nsaint_seiya_saintia_sho,3\nyasaka_mao,4\nichi_rin,1\ngaihan_umeboshi_mitchell,1\nnekobayashi_(nekoforest),1\nhiiragi_ken,1\nfloating_hat,0\nfukuoka_tarou,1\nprojecttiger,1\ndomik,1\nshinobi_(game),3\nganbaru_(woainini),1\nsaru_000,1\nemdo_(norabbit),1\nsilica_(silica_silylate),1\nthomas_bangalter,4\nliche_(wiggly_liche),1\nsuper_mario_bros._2,3\nhotathino,1\nazazel_(last_origin),4\nsasebono_mari,1\nnappii_(nappy_happy),1\nabel_(street_fighter),4\nhoshino_arika,1\ng.g.lemon,1\nflower_to_mouth,0\nbojue_yu_yaojing_695657,1\npoporon_(jashin-chan_dropkick),4\ngoemon1110,1\nakagi_masafumi,4\nyukeyf,1\nnina_(maurururoa),1\nkano_(kanokano44),1\nlilianei,1\nserota,1\ncqqz0707,1\ngplnbeat,1\ngirl_(shinitagari_shoujo_to_shokujinki-san),4\ngi_(melmail),1\nunicron_(brous),1\npiana_(atelier),4\nmaru_(maru1105),1\nsania_(arc_the_lad),4\nleech_girl,0\nkusuke,1\nkiyoichi_(acacia_soukyoukai),1\nosafune_girls_academy_uniform,0\npai_kebon_baa,1\nsangokushi_ranbu,3\nhigashiyama_hayato,1\nhida_kizuna,4\nkushikawa_hatoko,4\nscotch_(cookie),1\npatriarch_xtasy,3\nafter_suko,1\nhindu_mythology,3\nludmila_lourie,4\nkujou_kiyo,1\nkuroneko_w1nter,1\nbeiske_(de_skb3),1\nshikigami_no_shiro,3\nparazan_d,1\nnuclear_throne,3\nignia_(elsword),4\nkayo_(watamote),4\nhanaan,1\nikra_(katacoly),1\nmissing_poster,0\nao_fujimori,1\nichijou_haruhiko,4\nboxman,1\nbrown_hair-chan_(ramchi),4\nchinchilla_ears,0\nyarne_(fire_emblem),4\ninkanii,1\nmother_spider_demon_(kimetsu_no_yaiba),4\nnailah_(fire_emblem),4\nlirin_(bae.c),4\nravio,4\nelza_(ishuzoku_reviewers),4\nleague_card,0\nshugami,1\nminatsuki_hitoka,1\nyukina_(kabaneri),4\nmelissa_moretti,4\nkochira_koufuku_anshin_iinkai_desu_(vocaloid),3\nfaejunkie,1\ndegarashi_(ponkotsu),1\ngaikotsu_kishi-sama_tadaima_isekai_e_o_dekake-chuu,3\nquarium,1\nshitodo_hooaka,4\ncedric_(gear_art),1\ntonbanlove,1\nprocreate_(software),0\nx-shaped_eyewear,0\nkaoruko_(unkrk55),1\nncontrail_(mgax7527),1\nburmy_(plant),4\nnunosei,1\nheal_ball,0\nsooyoung_han,4\ngrape_stomping,0\nlost_robin_rondo,4\nshinkawa_youji_(style),0\ndance_studio,0\nblue_unitard,0\ngoshingyu-sama_(kemono_friends),4\nchangchun_(warship_girls_r),4\nwicker_basket,0\nvictor_grantz,4\nstuffed_squirrel,0\nharpie_girl,4\nglacier,0\ngreat_saiyaman,4\nha9na,1\nweapon_name,0\nice_cream_hair_ornament,0\nkizuna_akari_(a.i._voice),4\ndragon_(dakemakura),1\nstitched_fingers,0\nstatic_electricity,0\nczk,1\njacket_around_neck,0\nhatsukano_you,4\nwalter_white,4\noyster_(artist),1\nufo_(kirby),4\nidass_(idass16),1\nmirai_yashima,4\nsummon_ticket_(fate),0\ntracen_academy,0\nmilll_77,1\npeconica,1\nkiryuu_touga,4\nbronya_zaychik_(yamabuki_armor),4\nmocco_(mocco_san1),1\npiyoco,1\nchiya58,1\nyuyukana,3\nwishbone,1\nippen_shinde_miru?,0\nregieleki,4\nhei_jin,1\nfrank_west,4\nshokill,1\nsegawa_rikako,4\nmaxima_enfield,4\nmagamoto,1\nsindoll,1\nkevin_ethan_levin,4\nhirotake,1\ncleric,0\nnanase_ren,4\nshirai_yuuri,4\nmatsugane_youko,4\nkurosaki_asami,4\nmiss_spencer,4\narisaka_hatsune,4\ngalore,1\nashton_anchors,4\ndiana_jakobsson,1\nimminent_grope,0\nryuko_azuma,1\nmonica_adenauer,4\nmellow_rag,1\nakabane_yu,1\nkanimiso_(juutilainen77),1\ntweetdian,1\ntsunano_(koi_pink),1\nsiberian_husky_(kemono_friends),4\nkrebskrum,4\napsara_(elsword),4\nangelica_(k3lly),1\nkuma_(2ch),4\nbreast_band,0\nsword_oratoria,3\ntianya_beiming,1\ndespa_(ousama_ranking),4\nhisuian_sneasel,4\npoptepipic_pose,0\nwo_chi_xiangjiao_pi,1\nootengu_(onmyoji),4\nchest_protector,0\nrur_(ml_ruru),1\nsaitou_gabio,1\nyuuhei,1\nouka_mai,1\ntes_(unpre),1\nfujisaki_yuusuke,4\nmizusawa_nodoka,1\nshrie,1\ndetergent,0\nazuma_shoujuan,1\nnagarakawa_shiraku,1\nimpossible_armor,0\nnichi_keito,4\nkimura_fumie,4\nsaeki_mika,4\nhina_(ohinao),1\nnatsuhachi,1\nheat-soft,3\nxxxx_saki,1\nsakurada_maon,4\nguru_(nicocco),1\nvanilla_(v-palace),1\nkotetu_han,1\nnorse_mythology,3\nogasawara_akiko,4\nintelli_village_no_zashiki-warashi,3\ntrans-am,0\nzges,1\nbaten_(gei-vorugu),1\nknora,1\ntom_skender,1\ntoumei_answer_(vocaloid),3\nriki_(archf),1\nwingtemple,1\ndiabolic-mario,1\nneko_(naomi),4\npink_moon_stick,0\nburunuu_(bullnukko),1\ngeorge_joestar_ii,4\ndeer_head,0\nwashizuka_shou,1\nsanta_bra,0\nfutaba_aoi_(asobi_ni_iku_yo!),4\nzonana,1\nkarintou1485,1\nanre_(granblue_fantasy),4\ninterrogation,0\nfare,1\nploki,1\nnurse_akali,4\nkoya,1\nlaurent_(fire_emblem),4\nmorimoto_chio,4\nakae_neo,1\nlilia_(null),4\nrinne_(mizunosato),1\nzenzai_(zenzaio72),1\ncherokee_(1021tonii),1\nkurogane_(blackxsilver),1\nkissing_breast,0\nh_shai,1\notxoa60,1\naircraft_request,5\npeeing_on_viewer,0\nrefrain_no_chika_meikyuu_to_majo_no_ryodan,3\nperio_67,1\nridley_timberlake,4\nnakau,3\ninxst,1\nmom_29_mom,1\nooama_no_ake_no_mitori,4\ncho'gath,4\nhachirobe,1\nchawalit_adsawawalanon,1\noppi_(ksop28),1\nhair_bow_removed,0\nleather_bikini,0\nodaiba_middle_school_uniform,0\nwinter_gloves,0\nfreya_(chobits),4\nomi_(tyx77pb_r2),1\nmiri_(miri0xl),1\nyukimi_(yagi),4\nluye_yuan,1\nairomed,4\noooqqq,1\ns.o.n.g._uniform,0\nbabe_(fate),4\ndigital_(digital001),1\nsatou_odori,1\neliwood_(fire_emblem)_(cosplay),0\naaru_(kerogero1582),1\nsin_gun_woo,1\nkatyusha_(gindoro),4\nfei_mao,1\nkassai_kassai,1\naudio_visualizer,0\nyurufuwa_milk,1\nmoroda_shiori,4\nnon-circular_lens_flare,0\nhalluel_(granblue_fantasy),4\nmicrosd_(pibo),1\npastahands,1\npablo_uchida,1\nlittle_enterprise_(azur_lane),4\ndobermann_(lieutenant)_(arknights),4\nsthesia_awar,4\neine_(eine_dx),1\nkitsutsuki_(dzgu4744),1\ndorowa_(drawerslove),1\nabuji,1\nidolmaster_poplinks,3\njenma-chan,4\nnemo_ringo,1\ndou_tanuki,1\nyuno_(p2eocene),1\namido_(compassion273),1\nnaporu,1\ntaut_jacket,0\ncaleana,1\npakapom,1\nstar_conflict,3\nsora_no_tori,1\np2yong,1\nsagami_(dei_shirou),4\nloodncrood,1\nhole_in_head,0\nwaist_sash,0\nhiyoko_no_ko,1\nusao_(313131),1\nsaber_(type-moon_racing)_(fate),4\nnazi_flag,0\nkuroiani,1\nmana_(artist),1\npoke_puff,0\nryouki_(34388923),1\nhonnou_(kjs9504),1\namagumo,1\nlumu_yuanxiang,1\nmedb_(first_ascension)_(fate),4\nkeira_(haevest),4\nshirayuki_ren,4\nhoshifuri_iku,4\nblue_card,0\nlace-trimmed_capelet,0\nparvati_(p&d),4\ntanashi_miyoko,4\ntoo_many_bats,0\nmmm_(xbit),1\nsigmart03,1\nrudo_(rudorudo0917),1\nseshiya,1\nzipgaemi,1\nsebakanken,1\nhanazawa_teruki,4\ndakuryuu,1\nstunky,4\nnoshiro_(hold_the_ice)_(azur_lane),4\nneilos,1\nkamome,1\nspiked_legwear,0\nmartha_(santa)_(fate),4\nharvest_moon_(vtuber),3\nsky_(shantae),4\nhikari_(arcaea),4\nkunagisa_tomo,4\nafnroll,1\naltena_(fire_emblem),4\nmizz_peachy_(voice_actor),1\nvirtual_youtuber_shiten'nou,0\nleonard_bistario_harway,4\nkitami_reika,4\nanzu_(hanamaru_youchien),4\neromkk,1\nbou_(maimoca501),1\nsuica,3\nwing_(aiastor),1\naurebesh,0\nthe_batter_(off),4\nshirayuki_mishiro,4\nkinsou_no_vermeil,3\nk_no_hito,1\nbosacius_(genshin_impact),4\ngouache_(medium),0\ndoma_taihei,4\nsushoartworks,1\nhouhokekyo,1\nyuusha_tokkyuu_might_gaine,3\ntsujin_bohboh,1\nformica_(vtuber),4\nhapu,1\nwater_boiler,0\nthe_art_mage,1\ndadadada_tenshi,4\nkiyosumi_kuro,4\npikmin_2,3\ntoilet_paper_tube,0\nmanyuu_chifusa,4\nartificial_eyes,0\nkotaken,1\nkoucha_shinshi,4\nmegurine_luki,4\n00kashian00,1\nstrictly_mecha,1\nmira_kimishima,4\nyuanagae,1\nhidoi,4\nyouei_(maiko),1\nkuzel_(bonolangje),1\nkondou_(acid),1\nkotono,1\naokaze_(mimi_no_uchi),1\nshoko_(super_real_mahjong),4\nspoken_flower,0\ncevoy,1\nmagical_emi,4\nstraw_hats_jolly_roger,0\npink_trim,0\np3ta_(yio),1\ndrive-thru,0\ndaizu_sanchi,1\nmetal_max,3\nbrmameng,1\nlove_fetish,3\npenny_loafers,0\nkano_(coyotehunt),1\nk_nekoneko,1\ncrazy_laugh,0\nspiral_background,0\nmanaka_de_ikuno!!,3\ngundam_g-saviour,3\nland_of_caromag,3\nwilted_ahoge,0\narnoul,1\nreyna_(valorant),4\nshino_(.hack//),4\nvafar7,1\nrack,0\naus_vaka,1\nye_(ran_chiiipye),1\nziggs,4\nchain_gun,0\nkoyopi,1\nscrap_iron,1\nduke_pantarei,4\ntile_background,0\nao_ringo,1\nkanamura_will,1\nwari_(nirodo26),1\nmitsuru_(habihapi),1\nntm,1\nkazami_yuuji,4\nurue,1\nsakamiya_tsuto,1\nshirokami_gakuen,3\nakira_agarkar_yamada,4\nmiysin,1\nlibra_douko,4\nrunako,1\ntsugaru_(co-walker),1\nghost_ogre_&_snow_rabbit,4\nthe_maa,1\nwakame_(vhai26uhykmqb9k),1\nayanokouji_kiyotaka,4\nkosame_koori,1\nbless_you_(module),0\nsymposium_of_post-mysticism,3\ndark_meta_knight,4\nano_fuji,4\nkuromajo-san_ga_tooru!!,3\nmakoto_osamu,1\ngoogle_(asdek18),1\nfogged_glasses,0\nfukai_(yas_lions),1\namelie-san_(nogi_takayoshi),4\ncornelia_(atelier),4\nnekojiri,1\naor_saiun,1\nyosyo,1\nwata_(rakopepa),1\nchonmage,0\nhidan_no_aria_aa,3\noogami_koga,4\njingle_(mhb729),1\niyayo,4\nakino_kabocha,1\ntemmie_chang,1\namatsuka_haruka,4\nraspberry_hair_ornament,0\nnabeya_sakihana,1\nwagamama_high_spec,3\nyinlu_tongzi,4\nharry_(dudwofla),1\nchoujin_koukousei-tachi_wa_isekai_demo_yoyuu_de_ikinuku_you_desu!,3\ndayuh,1\ncosmicsnic,1\ntania_(dq6),4\nscathach_(fire_emblem),4\nming_(5unri5e666),1\nkii_(azur_lane),4\ng3_(g310b3),1\nlemonmelon00,1\nomochishiki,1\nzodd_(berserk),4\nzima_(ready_to_go)_(arknights),4\nsharktuna,1\norange_clouds,0\nanzio_princess,4\npikaremon,1\nrekenber_guard,4\nprincess_yoshi,4\nhazumi_aileen,4\nsake_dong,1\nrokuon,1\nmethynecros,1\npixiv's_virtual_youtuber_audition,3\nthe_star_(tarot),0\nhigh_x_joker_(idolmaster),0\nsalmiakki,0\nhachimitsu-b,1\nkatou_umi,4\nsuo_(sndrta2n),1\ngroose,4\nakuma_ouji_to_ayatsuri_ningyou,3\nastolfo_(fate)_(cosplay),0\nrugatsuki,1\ntuck,1\nucc_coffee,0\ntamakake,1\nzipper_leotard,0\nhami_dmg,1\nliren44,1\ncharcoal_(medium),0\nnatsume_masako,4\nfreia_kagami,4\nseparated_legs,0\nuboar,1\nmatsuse_daichi,1\nnonone_(the9thxsheep),1\ntomohi,1\nrikka_(dq9),4\nchaos_witch_quelaag,4\naasara,1\ntsumugi_wenders,4\nes_(cah60700),1\nreverse_x-ray,0\ntsukiiro,1\nigaiga,1\numbrella_gun,0\nhisui_(syarute),1\nyou_hashira,1\nkurai_(cry),1\ntoruglose,1\nnishijima_masumi,4\nmisakana,1\nmorihaw,1\nendymion_(sailor_moon),4\nokotan_(dewdrops),1\ndorothy_(marchen_awakens_romance),4\nying_jing_meng,1\nekuramani,1\ndejio,1\njinzou_enemy_(vocaloid),3\nhand_in_bra,0\ndisuto,1\nkagerofu,1\nhachiko_(kota091986),1\nsummer_lesson,3\nakaza_chacha,4\njackalope,0\nslender_man,4\nwash,0\nberrykanry,1\nautism_wanderer,1\nkirie_nozomi,1\nbertha_(pokemon),4\nkaiend,1\nechoes_act1,4\nsuzume_yuu,1\nfortress_girl,3\nmochiyuki_(gigfor1),1\nhitodama_(madatohi),1\na-plug,1\noropi,1\nshima_yukiwa,1\nkokose,1\nyomotsuka_makoto,4\ntransformers_car_robots,3\non_(onon2659),1\nrope_ladder,0\nblack_tongue,0\ngradient_neckwear,0\nsilayloe,1\nmashima_himeko_(show_by_rock!!),4\nleivinia_birdway,4\npupitar,4\nvincent_nightray,4\nojyou,1\nclacker,0\ntael,4\ngold_leotard,0\nhayakawa_sonchou,1\nsuiso_(owp),1\nattic,0\norganic,0\nclovisxvii,1\nmakishima_shougo,4\nmeili_portroute,4\nbackbend,0\ntokeshi,1\ntime_travel,0\nhong_kong,0\ntikuwanwa,1\nhashimoto_kurara,1\nkenshin_kagemitsu,4\ntiramisu651,1\nyuyuko_(yuyucocco),1\nmashiro_(solopipb),4\nutawarerumono_radio,0\nqoom,1\nyuna_(kuma_kuma_kuma_bear),4\ntetsujin_28,4\nshikibu_honoka,4\nguzzlord,4\nhaze,0\nbending_backward,0\nkanti15,1\ngekkougahara_miaya,4\nmatthew_(yo_matthew),1\naotu_world,3\nyotti,1\nbuzzer,1\nexecutioner_smough,4\nchicken-mushroom_skewer_(genshin_impact),0\nsukoyaka_middle_school_uniform,0\nsailor_uranus_(cosplay),0\nt_misaomaru,1\nnami_qi,1\nnorada,1\nyuudadou,1\nshindou_mikeko,1\nmusse_(falkyrie_no_monshou),4\nmorino_kiriko,1\nsu34ma,1\nkent_(azur_lane),4\nnanahoshi_ren,4\naoi_renji,1\nsolaris_(sinhyg),1\nkawamoto_toshihiro,1\nbobby36446329,1\ngoogle_play,0\nkusunoki_kaho,4\nnicole_(usako),1\ncrash_man,4\nmanbou_no_ane,1\nkaedeno_yuu,1\nsachisudesu,1\nakausuko,1\nbuffalo,0\nsaki_usagi,1\nhanyang_type_88_(girls'_frontline),4\nryuusei_world_actor,3\nfrogging,0\ndark_anus,0\nkurata_yumi,1\nhanenashi,1\nmoda_(mo_da_3),1\nzarameru_(tsukumo),1\ntwo-tone_neckerchief,0\nwhite2013,1\nrider_gashat,0\nicarus_(azur_lane),4\ntsuke_(maholabo),1\npomki,1\nrumaki,1\nguy-manuel_de_homem-christo,4\nfrancie_gerard,4\nyukikaze_(sovereign_of_the_swing)_(azur_lane),4\nwarren_louw,1\ncondiment,0\ntakano_hayato,1\nkuroha_(rockluo213),1\nharukagi,1\ntoake_mikage,1\nkricketot,4\nara_(sora-ageha),1\ntlla,1\nrubber_soul,4\nnemeneko_6,1\nhyou_itto,1\nkazura_enji,1\ncatherine_kyoubashi,4\ngasoline,0\ntaranboman,1\njun_(kyurisin),1\njohnnie,1\ncolored_pussy,0\narsene_lupin_iii_(cosplay),0\nkuza_brs,1\nnoir_vinocacao,4\nrapa_rachi,1\nharp_note_(mega_man),4\nkawaii_rowa,1\nleather_shorts,0\nhemoon,1\nsakura_inu_(itoyatomo),1\ndewpider,4\nshands,1\nice_cream_kanojo,3\nkurai_masaru,1\namazio_komeko,1\nkonoshita_kiyomasa,1\nmihashi_(re4_glo),1\ntohsaka_rin_(formalcraft),4\nhukahire0120,1\nkomala,4\nmokopekko,1\nholding_by_the_ears,0\nmiwa_uni,1\nshiro_tsugumi,1\nvorupi,1\npoco.,1\nxperiajoker,1\nyeti_(mu_kaiten),1\ngyumao_(housamo),4\nyukana,4\niris_yi,1\nsakuramotikun,1\nmootecky,1\nmenbou_(menbow3v),1\nshirase_ui,4\nkusaka_kou,1\nstrawberry_syrup,0\nsuteinua,1\nfutami_kito,1\nyuragi_(nukomomo),1\nmiotama,1\ninusurvivor,1\nmochizuki_anko,1\ntorahime,4\nkabashima_yousuke,1\nshikinyan,1\nmochizuki_yomogi,1\nuzuki_takeru,1\nsys.ao,1\ncooler_(dragon_ball),4\nintruder_(girls'_frontline),4\n404_(artist),1\ntarou_(shironeko_project),4\narrowhead_(r-type),4\nmivioppai,1\nmochizuki_nonoka,4\nshinkyoku_soukai_polyphonica_aphonic_songbird,3\nkainohito,1\ntaniya_raku,1\nhariken,1\ncode_geass:_lost_colors,3\nkuromasa_shisei,1\nnorun,1\nrobokeh,1\ntani_takuya,1\nkama_(satoyan),1\ndairoku_tenma,1\nkuuyuu,1\ntsuuyakukan_reni,1\nakira_howard,4\nclarisse_de_cagliostro,4\njougen,1\nstrib_und_werde,1\nclutching_clothes,0\nsyou_(crecre),1\nneota,1\nyuuki_tsubasa,1\n0shino,1\nxsinon,1\nboss_coffee,0\nchang_koehan,4\nkirisawa_tokito,1\nsekiguchi_yuria,4\ngigi,1\naneimo,3\ntsuuma,4\nshirataki,1\njames_hotate,1\ntakanoru,1\nsmolev,1\nceru,1\ndelita_heiral,4\nrotan,1\nthundercats,3\nlina_(interlude),1\nflick-the-thief,1\nremora_works,1\nkcn,1\nyuri_ai,1\naguhari,1\nnoguchi_takayuki,1\ndate_hajime,1\nmeisamu,1\nretei,1\ndorothy_catalonia,4\nkawwa,1\nshirako_mugi,1\nkataasa-ko,4\nelena_(grandia),4\namarotamaro,1\npaprika,3\nsweet_ann,4\nmaria_(ff2),4\nfg42,0\ngandalf,4\nkagura_hinata,4\nshine_hausen,4\nbear_(artist),1\nasaki_yuki,1\nseth,1\nholiday,0\nlactic_acid_bacteria,0\nroberto,4\namaha_rihoko,4\nmegazone_23,3\nhamtaro,4\ntakanashi_kiyomi,4\neasty,1\nnemigi_tsukasa,1\nvullaby,4\ngladius,0\nmagical_amber,4\nanput_(nsfwolf),4\ninfinity_(module),0\nkusano_kouichi,1\nmiles_(gyee),4\nasashin_(asn),1\ncafe_little_wish,3\nshiratama_(xsrtmx),1\nhuman_homeosta,1\nphoenix_print,0\ngorou_naoki,1\nchibikki,1\nranhatu,1\nmacchaume,1\nmetadoll,1\nodyssey_21,1\nrock_climbing,0\ncm_lynarc,1\nhataraku_ufo,3\npolka_dot_sarong,0\nshiina_mahiru,4\notonari_no_tenshi-sama_ni_itsu_no_mani_ka_dame_ningen_ni_sarete_ita_ken,3\nchocolate_on_pectorals,0\ndrag-on_dragoon_2,3\nbinchou_maguro,1\njohssnny,1\nchunta,1\nreverse_bikini_armor,0\nunoobang,1\nvuxer,1\nyeorem,1\nsano_naoi,1\nscathach_skadi_(swimsuit_ruler)_(first_ascension)_(fate),4\nniizuki_(azur_lane),4\nminatsuki_(m1natsuk1),1\nmarvin_(omarvin),1\nniihashi_noel,4\nmiyu_(miy_u1308),1\nerory6_(ro),1\nhaemori_ako,1\njohanna_(pokemon),4\nyui_(summer)_(princess_connect!),4\ndaniel_renard,1\nmada_(shizhou),1\nisana615,1\nholding_lightsaber,0\nunown_p,4\nunown_b,4\nkuchinawa,4\nhealing_wand,0\nguraa,4\n0k0j0,1\nmao_xin'ai,1\nkirari_hikaru,4\ntenzen_(netspike),1\npesogin,1\nbossan_3310,1\nmclaren,0\nallen_m._sumner_(azur_lane),4\nkonoha_no_sekai_jijou_(vocaloid),3\nyoruda,1\nfirenzesaika,1\nsummertime_record_(vocaloid),3\ntoto_(lom),4\nakazukin_(otogi-juushi_akazukin),4\nnima_(nimamann),1\nokoge_(simokaji),1\nmidori-chan_(myslot),4\nwrist_wings,0\nkamado_nezuko_(cosplay),0\nhoushou_marine_(artist),1\nvampire_(the_breath_of_spring)_(azur_lane),4\nzap-nik,1\nlong-tailed_tit,0\nsukimi,4\nficus_finis,4\ntoufu_(toufu_53),1\npuppypaww,1\nneva,1\nhashimoto_(frog_flag),1\nhakusan_yoshimitsu,4\nnisha_labyrinth_(elsword),4\nsuzushiro_(daikon793),1\nbell_mccamp_(warship_girls_r),4\nshoujo-tachi_wa_kouya_wo_mezasu,3\ntanikku,1\nto_gemichi,1\nthe_sealed_esoteric_history,3\nraind,1\nhaji,4\ntom_(tom_and_jerry),4\nshirasu_don,1\ncubehero,1\nkapu_rinko,4\nitsuka_shiori,4\npaolo_antonio_aguasin,1\nfur-tipped_tail,0\nvivian_james,4\nechizen_murasaki,4\nswatty_(can_can_bunny),4\nkoube_shio,4\nleaning_on_weapon,0\nthree_of_hearts,0\nkuroinu9,1\nshihou_(g-o-s)_(style),0\nkomagome_azuzu,4\nmikoze_yui,4\ncekonikova,1\ncomiket_86,3\ndoor_to_heaven,1\nakit_(15jamjam),1\nyurako-san_(tama),4\nsummer-d_(dodojune),1\nsasame_yaya,4\nnidou,1\nmulticolored_sarong,0\npurple_mii,1\najigo,1\ngonzozeppeli,1\nfused_zamasu,4\nyukimura_kaname,1\nhongye_feixue,1\ndaydream_show,3\nmajin_bone,3\nmion_(htol#niq),4\ndh_ead,1\nconcon-collector,3\nnehani_(tworship),1\nayakashi_hyakkiyakou,3\nthai_flag,0\nbaseu,1\nmajo_koi_nikki,3\nkisaragi_maaya,4\nonee-chan_no_yuuwaku,3\ndiandianzai,1\nkirigiri_jin,4\nnagiriku912,1\nthe_dream_of_the_fisherman's_wife,3\nditen,1\nshindou_erina,4\nhayami_ritsu,1\nakilico,1\nruuko-san,4\nblade_regalia,0\nmotoyama_tomomichi,4\nonio,1\nflash_man,4\ndoublade,4\ntakahashi_kouta,1\nfrogadier,4\ncocytus_(wind_master),1\nsamurai_flamenco,3\nkitora_ai,4\nagent_legend,4\ncow_(life_of_maid),4\nmyuutau_tadakichi,1\nsoramame1110,1\njunka-sakura,1\nresistance_japan,0\nafghan_hound,0\nsolanikieru,1\npisuta_(yamashiro),1\niketsuko,1\nfuru_(retr0e),1\ncutie_moon_rod,0\nmiura_hajime,1\nitori_(clarice_note),1\ndue_(nanoha),4\norokanahime,1\nredlark_(r083),1\nrune_factory_oceans,3\niandrea,1\nhachini,1\nheimerdinger,4\ngradient_sarong,0\nbulzizzang,1\nunbuttoned_skirt,0\npk_(pmd-explorers),4\nawata_mokane,1\nyahankkwo,1\nmacho_ojiji,1\nzero_two_(darling_in_the_franxx)_(cosplay),0\nmatsuoka_(mtok_0),1\noz_sorcerer_(elsword),4\nshi_shi_ji,1\nmisono_chiaki,1\nd.k,1\nhasekura_airi,4\namarisu,1\neatbara,1\ntanada,1\nmonaco_(rmn02),1\nfukuko_fuku,1\nsuper_robot_wars_advance,3\ncosette_coalhearth,4\nc.seryl,1\nayu_(iyokanya),1\ntatwuku,1\nmomogesomaru,1\nhimeshima_koukichi,1\nyamija,1\nlaki,1\nsword_fight,0\nukitake_juushirou,4\nrasson,1\nazusayumi_meme,1\nsakura_mai_(photokano),4\nmanzai,0\nsanada_(teketo),1\nharuka-san,4\nevil-dei,1\nkaida_bola,1\nnagamon,1\njeanne_d'arc_(inazuma_eleven),4\nsatomi_rentarou,4\nn36hoko,1\nryuuko_(oggy),4\nserori_(koredemoka),1\noshiruko_(shiruko),1\ndoctor_strange_(series),3\nmissing_stars,3\noshimoto_yuri,4\nasmis_hara,4\nmechazinaida,1\nteikoku_gensui,1\ncatherine_(rakurakutei_ramen),4\nkurano_ema,4\naoi_(kiyokiyoaomushi),1\nchocolate_sable,1\nou_taiga,4\nnils_(fire_emblem),4\nyomi_(yomi14_pyaon),1\n502nd_joint_fighter_wing,0\nchain_whip,0\nminstrel_(ragnarok_online),4\nrosenkreuzstilette_freudenstachel,3\npanne_(fire_emblem),4\ngrouse01,1\nkumaori,1\ndrake_(pokemon),4\nelectra_(nadia),4\nirie_tamaki,4\nseifuku!,3\nyuukyuu_ponzu,1\nhaku_hakujou_daimaou,1\nsouji_kurokawa,1\nsatou_(su9arsatou),1\nxi_ying,1\nsoku_(bluerule-graypray),1\nokikurumi_(ookami),4\nhowl's_moving_castle_(novel),3\nttaji_(pass35),1\ntype_0_fighter_model_52,4\nlieselotte_w._dorssia,4\nomoi_yo_hitotsu_ni_nare,0\nokema,1\nclassicaloid,3\nmizuto_umi_(blue_monday),1\nna_(oagenosuke),1\ncierra_(riviera),4\nasarokuji,1\noinari_(koheihei1109),1\nkongbai,1\nadam_(nier_automata),4\nmaru_(umc_a),1\nskyfish_(kemono_friends),4\ndekkano!!,3\nprogramming_live_broadcast,3\nniizuma_lovely_x_cation,3\nhenpei_saboten,1\nmiyazaki_hiyori,4\nhyou-kun,4\nlittle_nightmares,3\nsquid_neetommy,1\nkemo_(pokka),1\nplaying_flute,0\naletta,4\nhansal,1\nzippo_teifujou,1\nkarasaki,1\nnero_claudius_(swimsuit_caster)_(fate)_(cosplay),0\nannyeongbangawo,1\nzhao_shuwen,1\ngz_(gzdteee),1\nz5987,1\nanzu_(sumisaki_yuzuna),4\nyellow_cloak,0\ntsukino_shizuku,4\ngukukimu,1\ndankesang,1\ntakarada_kaneo,4\nfutoshi_slim,1\nfucodoku,1\nmy_mai_tonight,0\ninitsukkii,1\nangelica_(gunslinger_girl),4\nshiro_(houseki_no_kuni),4\ngarapon,0\nizumi_kyouka_(bungou_stray_dogs),4\nasao_(vc),1\ndr.latency's_freak_report,3\nkijo_kouyou_(third_ascension)_(fate),4\nn0r0,1\ntsurumaru_tsuyoshi_(umamusume),4\nbellona_(azur_lane),4\nsgt_lonely,1\nneedle_(hollow_knight),0\ndaisx_(dais0115),1\nzonko,4\nkronshtadt_(begin_the_rush!)_(azur_lane),4\nuchiyama_lammy,1\npalina_(pokemon),4\nmisaki_kurehito_(style),0\nm_(mrtarou),1\nkompeitou_(lemon_garden),1\nwarabimochi_kinako,1\njiukuzi18797,1\npittman_(alchemy_stars),4\nashigara_(housamo),4\nrintaro_komori,1\nhunter_(the_owl_house),4\nprofessor_layton_vs._phoenix_wright:_ace_attorney,3\nbrown-haired_cat_girl_(kevbot),4\nsp9_(girls'_frontline),4\npaimon_genshin7,1\nregu_(reg95),1\nm1919a4_(girls'_frontline),4\ncharolic_(girls'_frontline_2),4\npemoyashi_(tianoblue),1\ngeneral_liu_(girls'_frontline),4\nmorridow_(girls'_frontline),4\nneneko_(yumeria),4\ntwintailed_girl_(ishiyumi),4\nttt75966067,1\ncaptain_america:_the_first_avenger,3\npecohophop,1\ngiuseppe_garibaldi_(azur_lane),4\nryuuzouji_akane,4\ntsushima_aki,1\nchuuka_ichiban!,3\ncream_on_breasts,0\nteisel_bonne_(mega_man),4\nmega_man_8,3\nkuzumotsu,1\nblack_(among_us),4\nniwatori_panda,1\navatar_generator,5\nkiso_(kancolle)_(cosplay),0\nholstaur_(monster_girl_encyclopedia),4\nmecha_eli-chan_mk.ii_(fate),4\nsunset_skyline,1\nfragarach_(fate),0\nado_(singer),4\nmadland,4\nrg_(gumin),1\nkuribulb,1\neneru_(enepuni),1\nmiss_black,1\npilot_(titanfall_2),4\nkagutsuchi_(victoragna),1\norange_serafuku,0\nblue_heart,0\npurple_kecleon,4\nreversible,3\ndusk_of_oolacile,4\ntenjiku_nezumi,1\nrunep,1\ngrey_asa,1\nyotsuya_yumi,4\nkuroinu_2,3\nbirijian,1\ncontra,3\nnijizuki_shino,1\ngenera-x,1\nmurasaki_shikibu_(swimsuit_rider)_(third_ascension)_(fate),4\npunished_pigeon,1\nscarz,3\nmei_mei_(jujutsu_kaisen),4\nsenji_muramasa_(second_ascension)_(fate),4\nloona_(helluva_boss),4\ndashingicecream,1\nclassic_(zildjian33),1\nchlorophytum,4\nophiuchus_shaina,4\natlus,3\nliar_princess,4\ntakajou_joujirou,4\nmigu_(migu_room),1\nrobocap,1\nuna_(pochincoff),4\nincoming_headpat,0\nmouth_focus,0\nkamen_rider_live,4\nfrilled_hakama,0\ntowel_on_arm,0\ninaka_44,1\nkyabekko,1\nbibico,1\nvoodoo,0\nice_man,4\nkalluto_zoldyck,4\nenemy_tantou,4\nqueen_marika_the_eternal,4\nlotus_eaters,3\ngolden_sun:_dark_dawn,3\nmazingkaizer,1\nishigaki_tetsurou,4\nmilitary_base,0\ncurry_bowl,1\nesper_(saga_2),4\nnila_(cyancapsule),4\nhanamura_shoma,4\ndoriy,4\nyari_no_yuusha_no_yarinaoshi,3\nkashiwara_mana,1\nsmall_head,0\namanda_werner,4\njanload1ng,1\nkiriyama_machi,1\nkame,1\nkoushi_rokushiro,1\ncure_fleuret,0\nkiyonaka_rei,1\nnishijou_myu,1\njobski,4\ntone_rion,4\nyoshi_92,1\nkitsune_choukan,1\nnemo_(piisukun),1\nhibiki_reine,1\nfray_myste,4\ntres-iques,1\ntakase_(harakiri),1\nyuuki_shishin,1\ncayenne_garamonde,4\nlsr,1\npiccolo_daimaou,4\ntetsumi,1\npako_(moto_paco),1\nhappy_margaret!,3\ntakunama,1\nkrutta_fan,1\ncecilia_helmold,4\nardnades,1\nakire_(akireru_shoujo),1\nouma_mana,4\nalice-yuki,1\nrafflesia_(flower),0\nkazuto_izumi,1\nonimusha:_dawn_of_dreams,3\nfiat,0\nsuminoe_riko,4\nglowing_arrow,0\nsara_kodama,4\nshinohara_asuma,4\nane-suisei,1\nalolan_sandslash,4\nmaru_(lagrange),0\nsaitou_rokuro,1\nyarai_miu,4\noda_nobunaga_(sengoku_collection),4\npokke_(pokke-chan),1\nmatsui_celine,1\nkiki_(koba),4\ncenter_(majisuka_gakuen),4\nkid_buu,4\nririvery,1\nxiaobei,1\npoison916,1\nemmeryn_(fire_emblem),4\ngammatelier,1\nrdg_red_data_girl,3\nheiyz,1\nmachi_fuka,1\nhentaix,1\ncora_stt,1\nskura01,1\nyakitori_(yakitori06),1\nsatou_pikuta,1\nsig_(granblue_fantasy),4\nmi_(liki1020),1\nhariyaa,1\nobybuss,1\nmagician_(elsword),4\ndeadly_chaser_(elsword),4\ncolored_smoke,0\nkajun_faycott,4\nsakaki_tsui,1\nassassin_(granblue_fantasy),4\nyoppy,1\nthomas_the_tank_engine_(character),4\njapan_animator_expo,3\ndouble_ok_sign,0\nyouko_(monster_musume),4\nnekobox,1\ncookie_hair_ornament,0\nmichael.r,1\nmobius_final_fantasy,3\npantie_painting,1\nmonotiina,1\nyuki_haru,1\nkontahsm,1\nharukasu_(mememememo),1\nressue_(gomgom),1\nsir_aaron,4\nlyra_(pokemon)_(cosplay),0\nharpe,0\nkuma_piv,1\nbarleyshake,1\nintrovert-kun,1\nnumanoan,1\ndive!_(love_live!),0\npsychic_parrot,1\nstratosphere_(coom1017),1\nweizen,1\nvirginia_kissless,4\nminau37,1\nimplied_death,0\nsuparaisu,1\nhinamayo,1\nyunotimo,1\nra_mun5239,1\naston_machan_(umamusume),4\nmitsuishi_kotono,4\nfelt_whitesnow,4\ngravity_suit,0\nbutch_(pokemon),4\nduoj_ji,1\ntim_(a9243190a),1\nkasamatsu_yukio,4\nchimimo,3\npiper_perri_surrounded_(meme),0\nmktr_(princess_mktr),1\nevil_twin_ki-sikil,4\nnagomi_tozakura,1\nyinori,1\ntenchou_no_matsumoto,1\nsouma_kisa,4\ndress_slip,0\npee-kay,1\nlvl3toaster,1\npoo_(saku),1\nhead_on_knee,0\nifrit_(final_fantasy),4\nhidora_art,1\nbatako_(pixiv54063972),1\nmoseley,1\nblueriest,1\nmgg_(x_arte),1\ndark_elementalist_lux,4\nzeri_(league_of_legends),4\nkekkaishi,3\nneko_nadeshiko,1\nkai28,1\nmercy_(overwatch)_(cosplay),0\nkarasu_hito,1\nchocolate_mint,0\nlanhacy,1\naoki_uru,3\nroyal_flush,0\nyuzuna_hiyo,1\npoteto_(potetosarada123),1\nookado_tsubasa,4\ngreat_knife,0\nsake_(kadai),1\nslakoth,4\nmirakurun_(cosplay),0\nmienfoo,4\ngakuen_kino,3\nmatmaj,1\ncatxuan,1\nhong_yun_ji,1\ntokyo_necro_suicide_mission,3\nholding_hoodie,0\ntai_yuan_(azur_lane),4\ntetora_(yumejihuka),1\nrummy_73,1\nbruno_(yu-gi-oh!),4\nriri_(ririwaldorf),1\nmittens_removed,0\njohannes_krauser_ii,4\nbenten_(ioj3446),1\notou_mamayo,1\ntokui_sora,4\nnakamura_ayamo,4\neel_boy,0\nmizuki_(mz),1\npt@i,1\nno_emblem,0\nghillie_suit,0\nshou_xun_bu_liang,1\nnanamiyuki,1\nscleriteaeaeaggadah,4\nno.aei,1\nmobukichi,1\nn2ewu,1\nisrael,0\noi_shibako,1\npronama-chan,4\nshi_oo,1\na-chan_senpai,4\nsakata_ginko,4\nultraman_geed_(series),3\nchuujou_kagetsu,1\nred_lightning,0\nmathilda_(fire_emblem),4\nhinamikan,1\neccma417,1\nminenami_ryou,1\nmeunhongcha,1\nakikaze_shirakumo,1\npikao,1\nmute_(mute89539160),1\nkinnikuman_(character),4\nshidaidaka,1\ndiamond_tiara,4\ntoranpo_rintarou,1\nninagawa_amuro,4\nitsme_takk,1\nkamogawa_(kamogawa_sodachi),1\ncatherine:_full_body,3\nkamen_rider_genm,4\nnarumi_suzune,1\nhaohi_(less),4\nmullany_(azur_lane),4\nmyuga66666,1\nxyomouse,1\nkira_(kira_dra),1\nakizuki_kouyou,4\nmdr_(cocktail_observer)_(girls'_frontline),4\nmasutaauu,1\nlight_oooo,1\nserie_a,0\nshirakawa_yuuko,4\nhayashi_ryouta,1\nkatia_waldheim,4\nkariki_hajime,1\nsledding,0\nk2pudding,1\nminnku,1\nminpou_(nhk),1\nhanakoizumi_yoruno,1\nfenrir_(ghost_(tama)),4\nmiura_kentarou,1\nsr-3mp,0\nmaiko_(mimi),1\ntyphoon,0\nveronica_type-asc,4\nkinaco_4738,1\nsnowdreams_-lost_in_winter-,3\nzoey_(pokemon),4\npurestream_(arknights),4\nstrigidae,1\nfujou_kirie,4\nmakinakid,1\ngeorgia_max_coffee,0\nyear_connection,0\nsatochi,1\ngaen_izuko,4\nukm-2000_(girls'_frontline),4\nzerg309,1\nivis,4\ntobari_(brokenxxx),1\nhei_ling,1\nsuzu_danna,1\nmomota_(sunaba_suzume),4\nsakusa_kiyoomi,4\nlicking_paw,0\npet_bed,0\nmalluel_(granblue_fantasy),4\nblue_facial_hair,0\nsasaki_bullet,1\nhikigaya_0926,1\npink_(ohasi),4\nkiri_sakura,1\narl,1\nniya,4\nshenqi_de_(9),1\notaku_heishi,1\nriley_fairfeather,4\nlyon_rem_helsos,4\ntyris_flare,4\nlangya_beike,1\nbmkro,1\nkaminosaki,1\nhayabusa_yuki,1\narmrest,0\nchigiri_kurenai,1\nresisting,0\nkutsunohito,1\nalpaca_club,1\ndawito,1\nzahlhamelina,4\nmetal_hero,3\nsalome_(fate),4\nkatoyo85,1\nmasikakuma,1\npuni_(punycolors),1\nburning_at_the_stake,0\nb-daman,3\ndille_blood,4\nlincoln_loud,4\nsasaki_yukina,4\nfubuki_rinne,1\nkinoruru_toiro,1\ngambier_bay_mk_ii_(kancolle),4\nearthspirit_(arknights),4\nshinonome_mozuku,1\ntube_top_pull,0\nsawaki_ken,1\npano_(mohayayamai),1\ntatara_kogasa_(cosplay),0\nholding_gag,0\nkat_(mazume),4\nshieldon,4\nstar-ring,1\ngilmang,1\nhen_zemi,3\noperator_21o,4\nstormstx,1\ntokihara_sayuki,4\nkim_hana,1\namai_hiyo,4\nnameless_king,4\nlaugh_111,1\nyokoe_(mealtime),1\nhaku_(utawarerumono),4\nkaenbyou_rin_(cosplay),0\naona_(noraneko),1\ntsuruhime_yachiyo,4\nsurf_(pokemon),0\nkushala_daora,4\nprincess_form_(princess_connect!),0\nlidia_sobieska,4\npot-palm,1\nsuiren_to_shion,3\ntagu,1\nribbon-trimmed_vest,0\njinbei,1\nvergolophus,1\nafei_(sfma3248),1\nisoroku_(haifuri),4\nren_kun,1\nishidaki,0\njinrou_judgment,3\nmustard_sfm,1\nsoumenhiyamugi,1\nsatou_takeshi,1\nwei_wuxian,4\nkou_(wagaya),4\ndarling0221,1\nyugirlpict,1\nhyuuga_kizuna,4\nnewmoonshira,1\ncat_busters,3\nshinatose_izana,4\ndingo_egret,4\nnatsuyasumi.,3\nsarasa_(kanbi),1\nrosamia_(granblue_fantasy),4\nwooden_tray,0\nmaromi_gou,1\ndoctor_doom,4\naoba_(kona),1\nyanagi_shinsuke,1\nkyohei,1\nniratama-don,1\nnakatsugawa_ui,4\ntakasu_ayako,4\nkawanami_eito,1\napollo_(fate),4\nshuka_(taupe),1\nkatsuto,1\nueda_kana,4\nkomorebi_ni_yureru_tamashii_no_koe,3\niczer-1,4\nmaple_colors,3\npc_angel,3\nakiyama_otome,4\nenel,4\nkureha_misaki,4\nkusanagi_motoko_(cosplay),0\nfaceset,0\niizuka_tatsuki,4\ncasshan_robot_hunter,3\ntogusa,4\nizuno_kenta,1\nkusabue_mitsu,4\nyuzudaze,1\nko-chin,1\nsakaki_soshi,1\nknucklecurve,1\nsarmat,1\nmontmorency_margarita_la_fere_de_montmorency,4\nkurenai_(red_ninja),4\nkazeco,1\nnezunezu,1\nmirror's_edge,3\nsasaj,1\ndelruki,3\ntrodh,1\nayuka,1\njulia_(cowboy_bebop),4\npopularity_contest,0\naerith_gainsborough_(cosplay),0\nlr_(last_remote_514),1\nnekogoro,1\nsuou_katsuya,4\nmeer_rowe,1\nsaki_(viper),4\nhyokkori_tamago,1\ntenjouin_fubuki,4\nwing_gundam_zero,4\nreis_duelar,4\nkyouko's_father_(madoka_magica),4\nshiragi,1\nkaburagi_(decadence),4\nkishimoto_ayase,4\nsu_(gyee),4\ninma_kourin_devil_carnival,3\ngrowlanser_vi,3\nmiki_(shugo_chara!),4\ncu-rim,1\nmetal_gear_rex,4\nmaronee_san,1\ntoboso_yana,1\nyoru_(xueyinye),1\nsanzu_haruchiyo,4\nruku_(ruku_5050),1\nmarutani,1\nkasuga_aya,4\nleon_luis,4\ntoyota_supra,0\ntaira_kosaka,1\nmira_(pokemon),4\nakanako,1\nmayu-tan_no_kung_fu,0\nmissingno.,4\nyukiou,1\nshindou_ai,4\nmia_(golden_sun),4\nmr._chin,4\npink_pet_bottle,1\nhakone_yumoto,4\nswiss_army_knife,0\ngougasha_akira,1\nkanae_(aab),1\nmalty_s_melromarc,4\nmzyk,1\nlace-trimmed_thighhighs,0\nmaster_hand,4\nsakamoto_bin,1\nswimsuit_around_one_leg,0\nfake_pregnancy,0\nchito04,1\nshisen,1\nregain,1\naiba_ruri,4\njyaco,1\ndalehan,1\nthe_a-team,3\ntamamono_atae,1\nham_pon,1\nseth_(fire_emblem),4\nrasha,1\nkatase_waka,1\nhpflower,1\nsokomushi,1\naka_(shoumae),1\nmugensaku,1\ngaldino,4\nrakkou,1\nsana_hamada,1\nmiatsushi,1\nkiryuu_yoshiya,4\nblackmore,4\nkaos,1\nyukimachi_tounosuke,1\ntsukamoto_takashi,1\nlewyn_(fire_emblem),4\ngilgamesh_(final_fantasy),4\nvalkyrie_skirt,0\nfam,4\naojiru_(yume_2kki),4\ntakamu,1\nasakura_mao,4\noohashi_sumika,4\npnk_crow,1\nbangoul,1\nb-man,1\nbiiji,1\nyna,1\nride_armor,4\nfuurisuto,1\nyuzuriha_p,1\nhiyoko_(kokeko),1\nsagatsune,1\nazalea_(flower),0\nzektbach,3\ndia_de_muertos,0\ntoba_minami,4\nkurose_yuuki,1\nkamino_saori,4\nkomasi,1\nmao_(yotaro),4\nmomomo12,1\nwaku2kitchen,1\ncar_keys,0\nhwoarang_(tekken),4\nrainbow_wings,0\nmulticolored_hair_bobbles,0\ntatsuyoshi_(zawahomura),1\nstylized_blood,0\nalexi_oekaki,1\nitalian_flag_bikini,0\nsplattershot_pro_(splatoon),0\njinxel_world,1\nyakushimaru_ryota,4\nsawatari_kazuma,1\nraikou_(gotaishu),1\nmari_(swimsuit)_(blue_archive),4\nedamame_(barium),1\nflame_style,0\ntonomiya68,1\nknight_lautrec_of_carim,4\ntakahashi_masaki,1\npi_(.hack//),4\ndiabolik_lovers,3\ngrey_mittens,0\nharibote_(desk_of_coulomb),1\ncoffeenougat_1985,1\ntoushirou_(sugarwhite1046),1\ntonestarr,1\nblaze_(burst_feline)_(arknights),4\nnehitsuji_(syatihokoga),1\norange_sports_bra,0\nmoon_reflection,0\nkirby:_triple_deluxe,3\nno_nut_november,0\numa_(oopartz_yang),4\nsteward_(arknights),4\nlymee,4\nrubber_chicken,0\ncoyomin,1\nholding_vase,0\ntoaru_kagaku_no_dark_matter,3\nsynergetic_suit,0\ngaydio_zrong,1\nmyuhuaki,1\nmitsuji_mitsuyoshi,1\nyossy_(yossy1130),1\nmomoko_(bombergirl),4\npatricia_schade,4\nmilia_leclerc,4\nmomoiro_guardian,3\nigatto,1\ntasasakiamagu,1\ncheese_wheel,0\npicarto.tv,3\norator_(fft),4\njasmin_darnell,1\nyashio_kaito,4\nred_ninja,3\nluxuria,1\niguchi_yuka,4\nconstantia_cantacuzino,4\naro,1\npandora-ex,1\nneuralyzer,0\nsin_(btc86amme),1\nsuzumo70,1\nsata_(sat),1\nkumaccyo,1\namagiri_yune,4\nmita_mitauzo,1\nrope_bridge,0\norange_blossoms,0\nmarimony_manumonica,4\nhigi_(rodriguez),1\nclipping_nails,0\nserena_(pokemon)_(cosplay),0\nmiyake_taishi,1\nguruto,1\nchishibuki_hiyoko,1\nnimuno_(munimuni),1\nkishimoto_masashi_(style),0\nakaneko_(idaten93),4\nsaogokushi,1\nthree_(drag-on_dragoon),4\narnval_mk2_tempesta,4\nkondraki,4\ncheckered_pants,0\nrizuriri,1\npapers_please,3\nkyuumoto_kuku,1\nmoni_(credo),1\nhosokawa_kazuko,4\nhoukiboshi,1\nlenk64,1\nkagura_(senran_kagura),4\nhiwakana6121,1\nfermium.ice,1\ngurasan_(happinesscharge_precure!),4\ntaichi_(yirkorn),1\ngaha,1\nhello_lady,3\nimaru_(yashiro19950425),1\nsenketsu-kisaragi,4\narabian_architecture,0\nyumeha_tseru,1\npekikokko,1\nu_5ham0,1\nremy_(street_fighter),4\negawa_hiromi,1\nnametake_(nekoyasya12172),1\nnakahara-kun_no_kahogo_na_imouto,3\naverage-hanzo,1\nkouzuki_(majc8345),1\neternal_bloom_(idolmaster),0\ntaburakashi,1\nkagura_tsuna,1\nwolf_hat,0\nnephrite_(sailor_moon),4\nnehelenia_(sailor_moon),4\nmelfina_(outlaw_star),4\nliete_(grandia),4\nmokutan_(link_machine),1\nstraight-laced_footwear,0\n1kudamo1,1\nniameresp,1\nsoga_kaede,4\ngolden_marriage,3\nirise_ryouji,1\nmega_metagross,4\nshirohebi_(monster_girl_encyclopedia),4\nha_youn,1\nmutsu_ane_daisuki,1\nresuta,1\npolka_dot_gloves,0\nmimi_(picarto.tv),4\nnishino_kanako,4\nkakotomirai,1\nbo_xun_lin,1\ntonogai_yoshiki,1\nstar_color_pen,0\nred_(neptune_series),4\nmimiru_(mimill),1\ngaige,4\nfiona_(border_break),4\n770mk,1\nahim_de_famille,4\nnakaji_(user_snap3353),1\ngrilled_fish,0\nglitch_censor,0\nwood_gradient_hair,0\nsusutouka,1\nfuha_mika,4\nvocaloid_(sour-type_ver),0\nvibrator_under_pantyhose,0\noonami_kizuna,4\nsakuma_hiragi,1\nkonnyaku_yuuna,4\nedelgard_von_hresvelg_(cosplay),0\ngirls_book_maker_~shiawase_no_libretto~,3\nhidaka_koharu,4\nmikage_sakurako,4\nkizinori,1\ngigantamax_pikachu,4\nwingedwasabi,1\nladder_cutout,0\nyukimochi_kinako,1\nasuka_mirai_(aikatsu_friends!),4\n001machi,1\ncaramel_(caramelmilk),1\nhi_(wshw5728),1\njuu_p,1\nsio2_(nisankakeiso),1\nakatsuki_(osamaru36),1\nkonekoneko_(indonesia),1\naoi_tori_(purple_software),3\nano54,1\nwindcaller,1\nyellow_(konkichi),4\nhoushou_(azur_lane),4\nminowa_hikari,4\nmiyako_(rabochicken),4\nsylvia_(dq11),4\ntoo_many_bows,0\nfurumiya_neko,1\nichimoku_(tansio5),1\npersona_3:_dancing_moon_night,3\nfuriruno,1\nakaya_(pixiv20545353),1\ngeromonja_teitoku,1\nnigane,1\nprelati_(symphogear),4\nchuki_(lydia),1\npeanutc,1\nshingeki_no_bahamut:_virgin_soul,3\nakamura_saki,1\nnayutan_sei_kara_no_buttai,3\nsoviet_navy,0\nbag_on_lap,0\nosanpogakari,1\nnana_(mizukas),1\nseigetsu_kotaku,1\nnear_(sound_voltex),4\nlowain_(granblue_fantasy),4\nharuichi_(sazanami_complex),1\ndamiaodi,1\nniffler,4\nganbari_mascarpone,1\nurano_suzu,4\nchoko_(chokotto_sister),4\nstoria,1\nwhitemop_jog,1\nlaurelfalcon,1\nfii_fii_(feefeeowo),1\ntop_speed,4\nkemi_(kemi433),1\ntsutsuji_(hello_x_2),1\nsino_(mechanized_gallery),1\nmisaki_yuu_(misaki_1192),1\nsara_manta,1\nsabo_rina,4\nliane_mistlud,4\ngrubbin,4\nmale_fighter_(dungeon_and_fighter),4\nleafa_(sao:im),4\nisetta,1\nback_slit,0\nwendy_corduroy,4\nmstm,1\nfuetakishi,1\nall_you_need_is_kill,3\ntokorot,1\nkurisu_ams,1\nrikuwo,1\ntamae_(pixiv40276),1\nugono_takenoko,1\nkamihara_mizuki,1\nasuke_yuki,1\nmikepon_(ota_office),1\nmariandale,4\ntail_removed,0\nsayaka-chan_(gashi-gashi),4\nknbilove,1\nfishing_gear,0\nimagawa_yoshimoto_(sengoku_collection),4\nskull_heart,4\nmister_rhino_(wangzisama1001),1\nfinal_fantasy_crystal_chronicles:_echoes_of_time,3\npikomaro,1\nanna_(gekkou_no_carnevale),4\nsakusaku_(sakusakucrab),1\nkaede_(ragnarock_city),4\nshino_(pixia),1\nnekokan_(cat's_cradle),1\nanz_(starry),1\nkangoku_senkan_2,3\nshaomei_rin,4\nted_(suikoden),4\ntokyo_yakult_swallows,3\nazarashing_day,1\nhirosaki_kanade,4\nmatsuoka_shuuzou,4\npeter_pan_(character),4\nmexican_flag,0\nkirigoe_mima,4\nkabata_(mechisan),1\nsalsa_(trusty_bell),4\nkurose_nao,1\naoi_sora_no_neosphere,3\nkurojiya,1\nogiwara_kyouko,4\nobject_riding,0\nizou_(one_piece),4\nczc_(deko),1\ngundou_musashi,3\nsherry_lai,1\npochi_katou,1\nmajolica_le_fay,4\npurple_leggings,0\ntate_(donnguriumai),1\nwatari_taichi,1\nsatou_shin'ya,4\nwhite_scales,0\nmustard_bottle,0\ntouko_(toukoneko),1\nliangzi_tai_hongcha,1\nsat_(yukipoha),1\nbruenhilde_(azur_lane),4\nmagi_(cu-little2),1\nninomiya_masataka,4\nmatuda_(matudayazo),1\nmarine_(ahute),4\nautodesk_3ds_max_(medium),5\npigeon_(wejil),1\nchuuou_academy_school_uniform,0\npanties_over_leggings,0\nyagara_(kishimen_f),1\ntama_project,3\nmenogias_(genshin_impact),4\nirodori_koukou_gasshoubu_yori,3\nhachiware,1\nrennala_queen_of_the_full_moon,4\nya_4004,1\nsesius_(haevest),4\nwatashinabe,1\npoint_(vocaloid),4\nfeater_(gourmet)_(arknights),4\ndaikazoku63,1\nenusabu_(enusub),1\nfujimaru_ritsuka_(male)_(decisive_battle_chaldea_uniform),4\nzas_m21_(white_queen)_(girls'_frontline),4\nu-47_(rookie_rider)_(azur_lane),4\nnijiura_7_(meme),0\noisiimizu,1\nsigurd_(memories_with_my_lover)_(fate),4\ntriangle_halo,0\nosakabe-hime_(foxy_lady)_(fate),4\nstarlime,1\nalmond_tofu_(genshin_impact),0\nhatyuuruinohito,1\nsky_child,4\nmakenevemoiine,1\nfound_modori,1\nriz3,1\nm500_(girls'_frontline),4\nhikarikmy,1\nbloom_into_me15,1\nkuchisake-onna_(ishiyumi),4\nkindo,1\ninsyu,1\nkakikorori,1\nkurobeko_(kur0bek0),1\nkofumi_(nxme5555),1\noligarchomp,1\nsyachiiro,1\nzukki0731,1\nking_arthur_(mythology),4\nbucephalus_(fate),4\npenelope_(azur_lane),4\nshoa_tksm,1\nchisuke_1104,1\nkonachan_sample,5\nlace_dress,0\ndentaku_music,1\nloussier_ellerensia,4\nmaehara_nina,4\nkitanxjk,1\ninukai_purin,4\nyudoufu_(yudouhu_1212),1\nalic_miao,1\nkujiramaru,1\nveinte,4\ncalum_(existence),4\nuratanuki,4\nruri_honjou,4\ndong_ji,1\nkurouso_(meikyoushisui),1\ndi_qiu_wang_shi,3\ncanna_(granblue_fantasy),4\nravaniz,1\nkobeni_hijiko,1\n72yan,1\nfrofrofrost,1\nhayamaso,1\nthats_not_it,0\nsuzurikawa_euphrasie_ruika,4\nheaven_ascended_dio,4\nanidante,1\nprint_bodysuit,0\ndoren,1\nemje_(uncover),1\nam24,1\ngobul_(armor),4\nmonkey_d._luffy_(cosplay),0\nfuguu-chan,4\nmercury_(planet),0\nnanno_hachirou,4\nblazbluefairy,1\nexice-zero,4\nsakatsuki,1\ninside_clothes,0\nyuyumi_(yuurei),1\nyonezu_kenshi,1\ntest_card,0\nrhine,1\nyuki_shizuku,1\nprostate_massager,0\nmnmktn,1\ntheycallhimcake,1\nsuna_(sunagawa),1\nkise_chiharu,4\nmashiro_tomoya,4\nhomua,1\nonimonogatari,3\nkokoda_kouji,4\nyurie_the_last_scholar,4\noikawa_shizuku_(cosplay),0\nyukata_(yume_2kki),4\nsuzuen,1\nnamako_mikan,1\npretty_rhythm_dear_my_future,3\nwonderbat,4\nalicia_rue,4\nshiraha_(pixiv10239953),1\naika_(eternal_arcadia),4\n10hmugen,1\noverhead_door,0\noonishi_shunsuke,1\nionocidium_(flower_knight_girl),4\no-minato,1\ncode:_electra_(elsword),4\nrakkuguy,1\nfinger_cannon,0\naoi_yuuta,4\nsamanator_club,1\nsenkyoushi_gondolf,1\nroku_(345),1\noda_raika,4\nmighty_switch_force!,3\nmouse_pointer,0\njaws_(okdol0928),1\ndantalian_no_shoka,3\nlady_j,4\nfaceplate,0\ntarou_(run),1\nreio,1\nakamomo,1\nmochitsuki_karen,1\npower_pro_kun_pocket_9,3\nmurasin,1\nancient_destroyer_princess,4\nyoumak,1\nhokutoro64,1\nkogawawaki,1\nmasakikazuyoshi,1\ndithered_background,0\nkumaneko_rococo,1\nsakura_no_uta,3\nqitoli,1\nrambo,3\nenne_kl,1\ncircle_k_sunkus,3\ntissuebox_(artist),1\nchibi_vanille,1\nnico_(blue_archive),4\nakatsuki_francesca,4\nm1_bazooka,0\ndonaldakron,1\nsakurano_miya,1\nnatsu-no-kamisama,1\njeina_(sumiyao_(amam)),4\nmichaellee4,1\nlofi_girl,4\nvf-19,4\nkakuzatou_(cubesugar03196),1\npatori,1\nlost_ark,3\nhadurin_(zdmzy),1\ndiolemonde,1\nmikuroron,1\nantica_(bigrbear),4\nwet_pavement,0\nblurry_vision,0\nbrill_p,1\nmirin_pengin,1\nroin,1\nfiona_mayfield,4\nchun_1234567,1\ntoyo_maru,1\ncarrot_earrings,0\nkanonno_grassvalley,4\na.ringo,1\nking_of_hearts_(card),0\nred_leather,0\nshiawase_usagi,1\nsinnra_art,1\nhelen_parr,4\nliving_jar_(elden_ring),4\nazzalea,1\nhakinikui_kutsu_no_mise,1\nnakagami_takashi,1\nhitachiin_hikaru,4\nkeisea,1\ntekkowang,1\nsmile_cubic!,3\nfeena_(ys),4\nnoda_yasuyuki,1\nmitsuka_souji,4\nnasa_yu,1\nrakuraku,1\nkaze_ga_tsuyoku_fuiteiru,3\nguchiaki,1\nhoriuchi_osamu,1\nelectric_wind_instrument,0\nweapon_removed,0\nfururu_(tales),4\ntuya_bairon,4\ntokutokenzen,1\nnaijiaer,1\nishihama_masashi,1\nblue_nightgown,0\ndougram,4\njerry,1\niris_wilson,4\niscario_(forever_7th_capital),4\ntalesofmea,1\nhaggy,1\nmiyuki_(nyaa),4\nmazinkaiser_(robot),4\nshizu_(kino_no_tabi),4\nsinsin08051,1\nashley_mizuki_robbins,4\nwitcher_medallion,0\ncliana_rimskaya,4\nwhitter,1\ncave_(neptune_series),4\nsora_(yukimi_shiro),1\nunplugged,0\nrapapa,1\ntokuchi_toua,4\nhane_(feathe02),1\npipe_organ,0\nnico_(doa),4\naoilio,1\nsteven_mack,1\nteeburu,1\nhair_net,0\nspica_(sennen_sensou_aigis),4\nbe9459,1\nkanagata_sugumi,4\nrei_no_sakura_sousetsu_(module),0\nyasuu!,1\nyf-21,4\nnota_ika,1\nsenju_hashirama,4\nchicchana_yukitsukai_sugar,3\nkitakami_kai_(kancolle),4\nnagi_aoi,1\nitou_katsunobu,1\nninjunker,1\naldegon_(rariatto),4\n2nii,1\nhei_chuan_gui,1\ndevonrex,1\nhomare_(g_hmr88),1\nharutoshi,1\nshain,1\nutsunomiya_hetaru,1\nenishi96,1\nseaport_princess_(cosplay),0\n4qw5,1\nmorton_koopa_jr.,4\nmistermagnolia,1\nkujou_mikuru,1\nya.yu.,1\nartsheops,1\ncure_miracle_(sapphire_style),4\nvana,1\ntowa_(towa_akqj10),4\nfuusha,1\nkuraki,1\nhori_kyouko,4\nhand_on_mask,0\nkuroi_k-ta,1\nniduannowu,1\nyumyum,1\ngalaco,4\no-yatsu,1\nashinowoto,1\nside-tie_shorts,0\ndiamond_mouth,0\nmega_altaria,4\nice_sculpture,0\njandare,1\ninkarmat,4\nmakochan42,1\nsuper_affection,0\npuck100ml,1\nkonununui,1\ncure_lovely_(lollipop_hip_hop),4\nbishounen_series,3\nibuki_kouko,4\ntoujou_yuuki,4\nrome35793562,1\nrakuchii_(rurituvo),1\nshared_sweater,0\nkozuka_yasushi,1\nlilium443,1\nujiga_waita,1\nprpr_friends,1\nazaz_(last_origin),4\nnekomo,1\ntrey_clover,4\nogi_(sham00),1\nstarship_troopers,3\nalbum_name,0\nm1904_mastiff,0\nrico_(mega_man),4\norochi_shermie,4\nlobsteranian,1\npavapo,1\nstar-kiss,1\nmizone,1\ngyuuki_(yuyuyu),4\npilder,0\nshirogane_kasane,4\nmaochao,4\njane_doe_(john_doe),4\ngrazing_(livestock),0\noretsuu,1\nol_mahonanoka,1\ndrop_tank,0\notimusyairoha,1\nblowgun,0\nsensor,0\nharutsuki_(azur_lane),4\nnoelia_ponce,1\nchiku_(gesu),1\nfurafura,1\nfish-flavored_toast,0\nsugar_mountain,4\nnagikiho,1\nbard_2_(sekaiju),4\nm82a1_(girls'_frontline),4\nnasunael,1\nari_don,1\nhand_biting,0\nsen_nai,1\nreimin,1\ndeoxys_(defense),4\nrinrin_(ppnk2835),1\neli_clark,4\nchaka3464,1\nseelehan,1\ndevi_(elsword),4\nfire_stone,0\nloch_ness_monster,4\nfutomayu-chan_(sinohira_rin),4\nf.k_(hs225kr),1\nnodame_cantabile,3\nreizo_ne,1\nsangue_llia,1\nmegawatt_(arms),0\ncorette,1\nfutago_no_haha_seihonnou,3\nanison,1\nyomiuri_giants,3\nsurstromming,0\narai_chie,4\nvvy,1\nmogura_(nichijou),0\nkisaragi_tsubasa,4\nedain_(fire_emblem),4\ntanaka212,1\nkakerayuri,1\nbencao_gangmu_(anquan_sy),1\nsrro_yo,1\ngd_choco,1\nhiwa_industry,1\ndive_bomber,0\nrennkuu,1\nmisakichintin,1\ndc_(makezzal),1\nastoria_(azur_lane),4\nmihoshi_middle_school_uniform,0\ntent_interior,0\nsaiun_(kancolle),4\nswitchblade,0\naesop_carl,4\nta_kaana,1\n456,1\nnalukikiki,1\nmogomaco,1\nmahousho,1\nkanda_aoi,4\nmiyaguchi_kanna,4\nshirohebidou,1\nitsuki_shu,4\nmeettheton,1\ndice_coffeedox,1\nrabii,4\nenoshima_electric_railway,0\ntokage_setsuna,4\nsamaru_(seiga),1\nryiel_rayford,4\nadolescence_(vocaloid),3\nlarry_koopa,4\nnassss,1\nzourion,1\nsen_(sennosenn1127),1\nji_mag_(artist),1\nsakuratsuki,1\nego6,1\nmeyuu_(kso),4\nyatani_(do9z),1\nrobert_j_case,1\nkuzakura_mika,4\nllpfmfc,1\nkasumi_(doa)_(cosplay),0\nsiha,1\naphmau,4\nshibamine_takashi,1\noku_hideki,1\ndrawingddoom,1\nblack_lemon-chan,4\ncentaur_no_nayami,3\ngoldion_hammer,0\nkonoha_(nozomi_tsubame),4\npersona_4_the_animation,3\ngweon_sua,4\nyamamura_saki,1\nguglielmo,1\nwoof,0\nsyaha,1\nbu4321,1\nhole_in_ears,0\nm26_pershing,0\nsecret_agent_~kishi_gakuen_no_shinobi_naru_mono~,3\nnicchi,1\npz-15,1\nyuriko2755,1\ntaneichi_(taneiti),1\nkazahari_kazuho,1\nmiao_yao_cha,1\npinkymomo,1\nyuzuki_kaoru,1\nruuji_familon,4\nda_ji,4\nonozuka_komachi_(cosplay),0\nfio_piccolo,4\nwarbonnet,0\ntail_rape,0\nweather,0\nyves_bigerel,1\n33paradox,1\ndorami,4\namanatsu,3\nmalzahar,4\nkawahara_makoto,1\nmikan_imo,1\nson_goku_(cosplay),0\nk-ma,1\ngundam_seed_c.e._73:_stargazer,3\ntoyomaru,1\nariga_hitoshi,1\nmakar,4\nshizu25,1\nte28,1\ncarina_verritti,4\nshimeta_hiromitsu,1\nkido_keiji,1\nmigiwa_kazuha,4\ncing,3\nikuhashi_muiko,1\nparace_l'sia,4\nborubikku,1\nlump_of_sugar,3\nyuzu-chan,4\nyoshitake_rika,4\naoyama_shunsuke,4\nxr650r,1\nsanson_(nadia),4\nakisame_kou,1\nbowser_(cosplay),0\nkeraton,1\nsenke_kagerou,1\nmad_bear_(tiger_&_bunny),4\nkihara_atsurou,4\nganzyu_i,1\nmaiko_(yoshida308),1\nvanessa_(fire_emblem),4\nmizuki_miyu,1\ntsubakiya,1\npulp_fiction,3\ntim_tim_machine,1\nbalsamic_vinegar,0\nmorisaki_kurumi,1\ntakeuchi_yuka,4\nshaiapouf,4\nyoyoyoyou,1\ncassini_m_bisuko,4\nmizuhashi_parsee_(cosplay),0\nkukku,1\nsumi-e,0\nnanaya777,1\nakitsuki_tsukasa,1\nokonogi_tetsurou,4\nban_airi,4\nmitsuki_mouse,1\nandromeda_shun,4\nk29,1\nkrjenl,1\nkyo9999,1\nspark_utamaro,1\nhanuu,1\ncecilia_flower_(genshin_impact),0\nplatinumcorundum,1\nozawa_yuu,1\ntaka_(0taka),1\nsigil,0\nclover_(hi-per_pinch),1\nkabaya_kousuke,1\nsekiranun_graffiti_(vocaloid),3\ntake-mikazuchi,4\nteruteru-deru,1\noyuki_(urusei_yatsura),4\nmochizuki_jun,1\njou_(mono),1\ngundam_virtue,4\ntententensan,1\nh-01,4\nbundou_seika,4\nokannigeru,1\nfutatsuiwa_mamizou_(cosplay),0\nmas_(5734ghji),1\nrukiana,1\ncupen,1\npiyo_(sqn2idm751),1\ninoue_takumi,1\ndingding_(chongsangjun),1\nrunia,1\n79inko,1\npopompon,1\nhakurou_(onmyoji),4\nstag_(snobby_snob),1\nlux_(dera_ix),1\ntakeakigaku,1\ntakayoshi,1\nvampire_knight,3\nnanami_(nanami811),1\nstardust_(chen'ai_weiding),1\nmarina_(noill),4\nvifam,4\nfraud,0\npumpkin_print,0\ncero320,1\ndahlia_(pokemon),4\nnogi_momoko,1\nshimazawa_noriko,1\nmizui_kaou,1\noasis,0\nyamashita_kurowo,1\ntakahashi_shin,1\nblue_swim_trunks,0\ncarol_anderson,4\nfuturama,3\nrage_of_the_dragons,3\nbounce,0\nufo_princess_valkyrie,3\nmagical_antique,3\narisa_glennorth,4\nbaphomet,0\nyogurting,3\nmochizuki_saku,1\naruka,1\nawakumo,1\nnichimatsu_seri,1\nkazeto,1\nyuha_(yh-krm),1\nkarrablast,4\ncheno_(amakuchi_mustard),1\nhashimoto_w.s.,1\ngift_eternal_rainbow,3\nproject-sp,3\nstress,0\ntayama_midori,1\njohnson_zhuang,1\ngokusai_kaibi,4\ncharacter_pin,0\nparufeito,1\ninternet_explorer_(merryweather),4\ngucha_(netsu),1\nsaltycaramel,1\nhana87z,1\nkyaradain,1\nespen_olsen_saetervik,1\nryuu_ga_gotoku_kiwami,3\nred_sweater_vest,0\nmon-chan,1\ndolce_(rune_factory),4\ninishie_no_megami_to_houseki_no_ite,3\narval_(fire_emblem),4\ncolored_tears,0\nbarkhorn0331,1\nseth_(under_night_in-birth),4\nzatu,1\nleadin_the_sky,1\nyuuki_hana_(jtnp5334),1\nsaitou_hajime_(third_ascension)_(fate),4\nkouri_(kyorosuukeeeeeee),1\nsion001250,1\nfinger_in_ear,0\nplaster_(2501),1\nnk_cell_(hataraku_saibou),4\nsd_gundam_world_heroes,3\nholding_cue_stick,0\nfake_scan,0\npriestess_(arknights),4\nrei_(ilust9999),1\nmagical_mirai_meiko,4\nmaboroshi_dandy,1\nshikanari,1\nferret-san,1\nhibiki_(blue_archive)_(cosplay),0\nthe_day_of_sagittarius,3\nichi10art,1\nbun'ya_(0874cirno141),1\nloud,0\nplayer_2_(cloba),4\nhentai_kuwa,1\ntsuchihara_ai,1\nsoul_of_cinder,4\nharurukan,1\nkotoha_(kotoha65),1\nzee_n3,1\nsaotome_shino_(chigusa_minori),4\nnazi_war_ensign,0\nbitten,0\nhare-kon.,3\nyangu_shigekiyo,4\nbianka_durandal_ataegina_(palatinus_equinox),4\nphantasy_star_online_2_new_genesis,3\npeach_blossom,0\nchuo8008,1\nhachimitsucoffee,1\njiliang_ji_ying,1\nclobbopus,4\nplanol_note,4\nuzutanco,1\nsara_gallagher,4\nsapphira_nyx,4\nenterprise_(anniversary_ride)_(azur_lane),4\nlynxgriffin,1\nyoroi_mikoto,4\nfabarm_sat-8,0\nshiori_(tateha),4\nsowan_(last_origin),4\nsuzuki80,1\nkuusen_madoushi_kouhosei_no_kyoukan,3\ncaeldori_(fire_emblem),4\nhisame_(fire_emblem),4\nbenny_(fire_emblem),4\neldigan_(fire_emblem),4\nreisun001,1\nhashiribe_akira,1\nryunbi,1\nkogetail,1\nshion_(len'en),4\nkallen_kaslana_(ritual_imayoh),4\nsumomo,1\ndoryudory,1\npotato_wedges,0\nranger_(warship_girls_r),4\nmokutan_mmmm,1\n3books,1\nleoharju,1\nkokorin,1\nsumomo_(raviklx50uc2r2d),1\nblackberry_cookie,4\nkoutetsu_no_majo_annerose,3\nsapphicneko_(sapphicneko),4\nokazu_(eightstudio),1\nchuunenpi,1\nkoyanagi_hanako,4\nkocona,1\ncounter_strike:_global_offensive,3\nshingetsu_nagisa,4\notsushimai,3\nponcho_(31103105),1\nriruno,1\nibuki_(ibukiro1003),1\nelel185,1\ndigimon_survive,3\nkurai_yonaka,4\nfiligree,0\nyoaferia,1\nlanlanlu_(809930257),1\nrunastark,1\nuzura_(bonnet225),1\npc_(z_yu),1\nleje39,1\nsilver_hairband,0\ncamus_(fire_emblem),4\njude_(minority_lilac),1\nkor_meteor,4\nfuuun_ishin_dai_shogun,3\nshijima_tohiro,1\nmchi,1\nosx,4\nsyerii,1\npom77,1\ndenshinbashira_(bashirajio!),1\nmiyuika,1\nciawasemono,1\naimo_(aimo1214),1\ngangnam_style,3\nkoroneko_p0w0q,1\nayataka,1\ntenten_(kitty),1\nsaphentite_neikes,4\ntsubuta_hiro,1\ncure_slum,1\nuko_(moi08),1\niizuka_yuzu,4\ntwo_of_spades,0\nultraman_tarou_(series),3\nhiroyuki_takahashi,1\nkyattsu,1\nyuguru,1\nquicksilver,4\nlafrenze,4\nunicorn_gundam_phenex,4\nkawashiro_nitori_(kappa),4\nlunica,1\nach,4\ninvincible_(series),3\nkzm,1\nkuma_teikoku,1\nnagute,1\nsuper_buu,4\nkuromu_(cr0711),1\nbattlefield_4,3\no'neill_cylinder,0\nsoffa,1\nmiyapo,1\nchen_(somanychens),1\ntre_(nanoha),4\nyuruno,1\nkokaji_sukoya,4\nzheyi_parker,1\nkannagi_yuuri,4\nkeith_shadis,4\nbasilis9,1\nsayuri_(k_pring),4\nakiomi_aiko,1\nruuto_(ruto3),1\ntefec,1\nxi_yuu,1\nnano_(mianhua_maoqiu),1\npipi_damowang,1\nxabungle_(mecha),4\nbanderasu,1\njinko_(monster_girl_encyclopedia),4\nkinagi_(3307377),1\ncheri_berry,0\ngagame,1\npolyhedron2,1\nsuzaki_aya,4\nkchair02_(k02-yan),1\nkurukuru_(korekita),1\nkawara_hajime,1\nfrigga_(last_origin),4\neleven_supernova,0\namamizu_(myofuu_kai),1\nikusa_katato,4\nmakishima_yuusuke,4\ndormouse_(monster_girl_encyclopedia),4\nyuukyan_(ucan85),1\nnekomancer_(granblue_fantasy),4\nadeshi_(adeshi0693119),1\nmikan-ya,1\nhaowei_wu,1\nhinoka_(allen),1\nhantsuki_(ichigonichiya),1\nmopiwo,1\nsilver_skirt,0\nake_(ake54),1\nkoma_kitsune_(kururito),1\nminatsuki_nao,1\nkirameki_mamika,4\naho_no_sakata,4\n1629doyasa,1\nhoshimaemi,1\npurple_(jobseeking),1\nfidget_spinner,0\nepisode_title,0\nmashiko_kaoru,4\nmillcutto,1\nshoumetsu_toshi_2,3\nvessel_of_sin,0\nkanata_no_astra,3\nogi_(torikari),1\n80mph,1\nkouson_q,1\nlappet-faced_vulture_(kemono_friends),4\namamiya_mei,4\ntsubaki_(yi),1\nblackheartxiii,1\ntendou_kisara,4\najikan_(azican),1\nzerogura,1\ntsukiji_uogashi_sandaime,3\nakamiso_(k074510),1\nminami_ikkei,1\ndesktop_army,3\nshinju-kan_uniform,0\nkirudai,1\nvicchan,4\ndust_(konosuba),4\njitome-chan_(tawawa),4\nbanjiao_qingniu,4\ndeboo,1\nxiao_me,4\nzee_(zee_sub),1\nushiyama_tatsuma,4\nbeelstarmon,4\ntakamiya_mizuki,1\ntattsun_(blue&hazel),1\ntsugou_makina,4\ngen_(bividgen),1\nnanase_(amagamido),4\ncat_loaf,0\nchloe_(granblue_fantasy),4\nveralde,1\nhoshikawa_hotaru,4\nsoujirou_(new_game!),4\nshinigami_wyvern,1\nmisoradeko,1\nkamabokopic,1\nfish_earrings,0\nkiryuu_kurou,4\nfumiko_(throughx2),1\npham_thai_chau,1\nlavie,1\nchica,4\naye,1\nblack_nipples,0\nkonishiki_(52siki),1\nuirina,1\npeter_griffin,4\nfoot_bath,0\nhobgoblin_(touhou),4\nzafina_(tekken),4\nnipple_push,0\nbeat_(dragon_ball),4\nchun_lo,1\ntsuyuta_kome,1\nmiyahara_ruri,1\nelesia,4\napple_da-ze,1\nfushimi_inari,4\nchomo_(asymmate),1\nshimashi_(mori_no_sato),1\nkamen_rider_kick_hopper,4\nflower_border,0\nodeclea,1\nkikujin,1\ntoro_(shiro),1\nhiyori_chisha,1\naestus_domus_aurea,0\nn7_armor,0\nred_dead_redemption,3\nshin_megami_tensei:_if...,3\nalma_elma,4\ncokua,1\npomeranianko,1\ndlkdhy,1\noda-sama_(yatterman),4\nharuchika,3\nhiyama_izumi_(wttdh),1\nmint_(flower_knight_girl),4\naoi_itsuki,4\nworld_of_final_fantasy,3\nthe_little_mermaid_(andersen),4\nstroking_beard,0\nconnie_maheswaran,4\nmaria_(saidaioujou),4\nyamazaki_ryuuji,4\nstuffed_elephant,0\nignis_no_meiyaku_kishi,3\nmastermind_(elsword),4\ntokyo_xanadu,3\nsorairo_innocent,3\nre-ka,1\nc.c.r_(ccrgaoooo),1\ncharlotte_shalzen,4\nbakenekomata,1\nii_fuufu_no_hi,0\nokita_ababa,1\nsong_ren,1\nivy_(flower_knight_girl),4\nkaburi_chiko,4\nling_xiang,1\nbis_(jsr),4\nknife_behind_back,0\nshiso_azuki,1\ntorla16,1\nkuto_tubuyaki,1\nsarina_(tosiyukiryousuke),1\ndenden_taiko,1\nsakai_jin,4\nmasato_(josou_jinja),4\ntoy(e),1\naphrodite_(fate),4\nofelia_(gogalking),4\npyrite_(ironbunz),4\ncomotaro,1\nkibisakura2,1\ntenpa_(tenpa2190),1\nareno,1\ndenjinq,1\npoppin'_up_(love_live!),0\narduina_(arduin_art),1\nsake_barrel,0\njustice_(tarot),0\ncryo_cicin_mage_(genshin_impact),4\nyoovora,1\njellypon,1\nnuntarou_(niudon_kajika),1\nanother_project,3\nkanashi_kumo,1\nmega_man:_powered_up,3\nprairie_(mega_man),4\ncoruthi,1\nidlecum,1\nsteel_mask,0\nakirara_(ishiyumi),4\nmikoto_freesia_scarlet_(goma),4\nendo_mame,1\nmg36_(girls'_frontline),4\nsimonov_(girls'_frontline),4\nbeak_(girls'_frontline),4\nlala_(g_(genesis1556)),4\ntarutaru_(ryousuke),1\nrakku_(rkrmz0n),1\ntungsten_(kwfr4544),1\nlauren_iroas,4\nkensei_(v2),1\nrobin_hood_(summer_hunter)_(fate),4\nace_attorney_investigations:_miles_edgeworth,3\nimmortals:_muvluv_alternative,3\nyounger_twin_sister_(muninshiki),4\niro_178,1\nsenketsu_(scarf),4\nkamenakake,1\nkizaki_erika,4\nnanase_yoshino,4\nasaoka_(0x0),1\njeanne_d'arc_alter_(ver._shinjuku_1999)_(fate)_(cosplay),0\nuchi_no_pet_jijou,3\nfairy_knight_gawain_(like_a_lady)_(fate),4\nii_desu_ka_ochitsuite_kiite_kudasai_(meme),0\ntatara_(alnath_may),1\nakabane_koume,4\nzhi_xie,1\nsaya_(casual)_(blue_archive),4\nyuugiri_ayano,4\ndolphin_print,0\nmagical_mirai_miku_(2013),4\nchristina_(real)_(princess_connect!),4\njuralumin,1\ntenpou_gensui,1\nyoshimune,1\nnosuta,1\nhikaru_(asteriskring),1\nyamaneko_ken,1\nshindou_mitsuko,4\ncheep_cheep,4\nemukae_mukae,4\nnishio_kouhaku,1\nshin'ya_(330696),1\nsasaki_youko,4\nhamachi_hazuki,1\nnaotaka,1\nlegionnaire,0\ntear_(recettear),4\nmorishita_michiru,4\nkuki_sanban,4\nafghanis-tan,3\nlaserdisc_cover,0\naituoku,1\nmiokuri,1\nclere,1\naoyagi_neko,1\nkita_no_miko,4\nmerii,1\nff_gradient,0\nshikidouji,1\nhikataso,1\ndead_space_2,3\nnaked_cat,1\nnazuki_nazu,1\nanimal_on_face,0\nyouka_(gensou_kyoudan),1\njoshu-san,4\ncelsius_(tales),4\ntanukimaso,1\ntengawara,0\naincrad,0\nadelaide_grand_marnier,4\nani_(aniya),1\nrindo,1\nkuro_(baseball0000),1\ndouble_sided_wrench,0\njack_in_the_box_(toy),0\nmayokichi,1\nfuu'un,3\nkeshin_armed,0\nleviathan_(the_seven_deadly_sins),4\nsoul_eater_not!,3\nbling_(wnsdud34),1\nnana-ine,1\nhikari_to_mizu_no_daphne,3\nf-lags_(idolmaster),0\nshimoogawa,1\npink_rope,0\nyube_(skyhacker),1\nmelua_melna_meia,4\ngingham_skirt,0\nbody_bag,0\nbokura_wa_minna_kawaisou,3\nsaturn-freak,1\nophis_(high_school_dxd),4\nkuzehashi_akari,4\nvera_collins,4\ncure_happy_(cosplay),0\nleclle,1\nhoshi_(arakawa),4\nsena_kizahashi,1\nkmikan,1\nchasen,0\nstrainer,0\neat666,1\ntanoshii_meat,1\nstuffed_giraffe,0\nwitch_(dungeon_and_fighter),4\nnapoleon_crossing_the_alps,3\njay_b_lee,1\nonsen_mikan,1\nkusaka_yuuya,1\nganno,1\nayane_(nagasarete_airantou),4\ngime,1\ned_edd_n_eddy,3\nfingers_between_toes,0\nroom603,1\nmutilation,0\ntenhi_tsukitori,1\nthemis_(ff14),4\nzangeki_no_reginleiv,3\nyutori_(clockwork_chicken),1\nmizore_arius,1\naru_(new_year)_(blue_archive),4\nbitou_raimu,4\npatricia_wagon,4\nhiki-wota,1\nshamshel,4\nfujii_tatsuya,1\nitou_yoshiyuki,1\nsuchi_(fsur7444),1\nsnake_costume,0\nrawrden,1\nmuteki_koujin_daitarn_3,3\nhanadi_(hndboo),1\nnishiki_ryouma,4\namana_raika,1\nmappo_m2,1\ndaikoku_(housamo),4\ndiao_chan,4\nlinatai,1\nwadaka,1\nashley_taylor,4\nkasumi_(blue_archive),4\nkonbuni,1\namu_(nsk0),1\nunscpro,1\ntsukimiya_kamiko,1\nkumamiya,1\nyasaka_kazuki,4\nikazuchi_no_senshi_raidy_ii,3\nshinobu_(princess_connect!),4\nguangsupaomian,1\ndangmyo,1\ngungnir_(toaru),0\nmygiorni,1\nyuusenmai_(momochieri),1\nfujiwara_mizuki,1\ngrabber_tool,0\nyihsien,1\nkiriya_haruhito,1\npink_crop_top,0\nkomugiko_no_mori,1\nmiracan,1\ngenbu_(kemono_friends),4\nbaimeme,1\nyukoring,1\nkir_(khw66136132),1\npectorals_on_glass,0\ndriftingtiger,1\nchemistry_set,0\nmazinger_z:_infinity,3\nmessengers_(bloodborne),4\nendou_aya,4\nbig_zam,4\nkamotsu_yasai,1\nbassoon,0\nmegotokyo,1\nqi_sili,4\nkokollet,1\ntranquill,4\ncenti_mnkt,1\nfuyukonbu,1\ntallgeese,4\nevil_twin_lil-la,4\nyoshioka_pochi,1\nalexa_pasztor,1\nsubway_(company),0\nspring_onion_print,0\nryuukishi_bloody_saga,3\nchamber_dragonmaid,4\nscarab,0\nmagneto,4\ncherry_(lucky_star),4\nsugac,1\nprisoner_(elden_ring),4\nki-43_hayabusa,0\nloxodon,1\ngattsun,1\nnakamura_misaki,4\nmakiemon,1\ngosama,1\ntousou_(touken_ranbu),4\nringo_ame,1\ngudakoguda,1\nmephilas_seijin,4\nkkaags,1\nmigata,1\nfled,1\njhonwalker,1\nsangoku_romance,3\nmeg_(granblue_fantasy),4\njulian_mintz,4\nsokuse_kienta,1\ncat_nose,0\ninumaru_akagi,1\ngin_(meitantei_conan),4\nkagamin_bocchi,3\neushufeal,1\nnarumi_(uminari),1\nsingle_tooth,0\nkonoekihei,1\nadventurequest_worlds,3\norbital_path,0\nlace-up_legwear,0\nmoblin,4\nlotus_hair_ornament,0\nshounen_hollywood,3\ncurecycadura,1\ncue!,3\nallze,1\ncape_grab,0\naguruma_(yukisita03),1\nr93_(holiday_lucky_star)_(girls'_frontline),4\nararagi_soushi,1\ntouching_toes,0\nlucerna_lunam,1\nmigumi_(niiya),4\nlion's_roar_(genshin_impact),0\ntaihou_(azur_lane)_(cosplay),0\nflik_(gensou_suikoden),4\nheadphones_over_headwear,0\nassassin's_creed:_brotherhood,3\njiayu_long,1\nbm94199,1\nnamaniku_(nmnk2020),1\nalternate_uniform,0\nfunasshii,4\nyuu_azma,1\nmiura_akane,4\ntablet-tan,4\nhatsune_miku_(if),4\nshiraui_tsumugi,4\nhappyongdal,1\ngishki_ariel,4\nkagehira_mika,4\nhisana,1\ntiger_mask,4\nyomogi_(monster_hunter),4\ndong_hole,1\nsapporo,0\nyoru_(sword),0\nlu_bu_(fate),4\nmigimaki_(migi_mawashi),1\nblack_reaper,4\nmashiroma_zenima,4\nsenra_(singer),4\nscarecrow_(twooz),4\nhasunoue_keroppi,4\nthe_hermit_(tarot),0\nkamkac,1\nsuzumia_(daydream),1\nregua,1\nkamen_america_(comic),3\nkurogoma,1\nduximeng,1\nkiri_(lwp01_lav),1\ndarth_vader_(cosplay),0\nchelsea_(7th_dragon),4\nhippowdon,4\nroland_(fate),4\nmitty_(made_in_abyss)_(human),4\ntoyoura_(23066494),1\nsiegfried_kircheis,4\nsutochan,1\nauge_(akd),1\nsabiimo25,1\ndevil_lo,1\njoney,1\nscandinavia_peperoncino,4\ngatchu,1\nscarlet23i0,1\nren_huozhe,1\nmatchaneko,1\nayanami_(pulse_of_the_new_year)_(azur_lane),4\njnsdh,1\na0lp,1\nakatsuki_(akatsuki_blitzkampf),4\npouring_onto_pussy,0\nvinne,1\nusuiken,1\nkero_kero_keroppi,3\nknee_grab,0\npick'k,1\nyanagiwara_maron,4\niris_(arknights),4\ndooru,1\nirkawaza,1\nmew_pudding,4\nimminent_fingering,0\ncytus,3\nkallen_kaslana_(sin_hunter),4\ndeoxys_(speed),4\n808,1\nhiromachi_nanami,4\nm320,0\nhudak,1\ngabranth_(ff12),4\ninui_achu,1\ncryogonal,4\narahiko,1\nlenny_face,0\nchristy_mii,1\nmaltese_cross,0\nhanamura_mai,1\nvera_nair,4\nmomofukki,1\nmammoth_(kemono_friends),4\npurdoy25,1\nrobobot_armor,4\nsora-bakabon,1\nacefish,1\njun_(ash),1\narisugawa_dice,4\neduck,1\nleto_(arknights),4\nbulkhead,4\nkoshou_shichimi,1\ngensi,1\nnatsume_remon,4\nsurprised_cat_(matataku),4\nshuga_(mhwii),1\n52ikaros,1\nyoshino_(gunform),1\nhiteihime_(katanagatari),4\nkyuunosuke_(lactis09),1\njohnalay,1\nnashoki,1\ntanaken,1\nyukihi,1\nzarude,4\nyouko_(santarose),1\ndnsdltkfkd,1\naki_(aki_k6),1\npotatopanicking,1\ntiffany_lilith_stella,4\nedamameoka,1\nd-1,4\nisaac_(golden_sun),4\nparai0,1\nsilver_spoon,4\nsagoromo_04,1\nchaos_0829,1\nmoosopp,1\ntamami_(jonsun),4\nleon_geeste,4\nhouzumi_kaede,4\nfishnet_panties,0\nmeiji_(meizi493),1\nunder_fire,0\nmameroku,1\nyuzu_kiro,1\nsakamoto_kazuya,1\nnishizono_honoka,4\nwimple,0\nnatsume_nono,4\nisuke,1\nstc,1\nmichaela_(evillious_nendaiki),4\nmega_man_4,3\nkissing_stomach,0\nyuki_(nanao_yuki),1\nmizutsune_(armor),4\ndosei,1\nkajii_supana,1\nparn_(lodoss),4\nnigiribashi,0\nspider_web_background,0\nhegemon_edelgard,4\nawa_(bihidasu),1\niwanishi,1\ntakai_sayaka,4\netidekailo,1\ncoco_kaine,4\nrevya_(female),4\nshuiyaoximushi,1\noneshot_(game),3\ncassandra_dimitrescu,4\naliasse,4\nchicken_(chickenx),1\ndongyue_sakura,1\nwashington_(warship_girls_r),4\nalter_ego_(danganronpa),4\nchorogon,1\narmorganger,1\nhatomura_(tareneko_club),1\namamizu_shizuku,1\nrealdoll,0\nmonopoly,3\noverine19,1\nyellow_sponge,0\n8_(e_uu88),1\ngigawix,1\nbojue_(hakus_1128),1\nrenkin_arthur,4\nnyoon,1\npachio_(patioglass),1\nlrpanda00,1\nk3_(girls'_frontline),4\ndandel,1\nsooperman,1\ngoto_hime,4\nradar_chart,0\nluka_millfy,4\nparty_parrot,0\nkurono_hyouka,1\nkeke_(kekekue),1\ntsurukawasha,1\nezakishii,1\nkoucha_maru,1\nikazuchi_(kancolle)_(cosplay),0\nchenaze57,1\nshigen,1\nklein_(fire_emblem),4\nirori_(hearth),0\nniimura_akane,4\nkikaijima_mogana,4\nm32,0\nmoy64904958,1\neiyuu_chronicle,3\nmanatsu_no_yoru_no_yuki_monogatari,3\nrifleman1130,1\ntoto_(kuro_toto),1\nbelle_(katahane),4\nfuku_d,1\nitsumi_erika's_gunner,4\nmaritan,4\ngall_force,3\nwaga_mama_capriccio,3\nkuso_bba,1\ncore_gundam_ii,4\nkyuuakaku,1\ndecadriver,0\npr_(puru),1\namamiya_ren_(cosplay),0\ntanaka_(cow),1\nchama_(painter),1\nturna98,1\nhanazono_kirara,4\nchara_soon,4\nkoyomi_(shinshia),4\ngarnet_cradle,3\ntoona,4\nnevermind,3\nbarricade,0\nbasilisk,0\nshirou,1\ndam,0\nsaegusa_miko,4\nkuroki_manatsu,4\nrustysalmon,1\nhanamaru_hareru,4\nchihara_minori,4\ngrendizer,4\ngilbert_guilford,4\nmizuno_kakeru,1\nyggdra_yuril_artwaltz,4\nnights_into_dreams,3\nonoda_yura,4\njimeko,1\ntank_(artist),1\nmak,1\nwhite_water,1\npython_(snake_legs),1\nhaydee_(gankutsuou),4\nzarbon,4\nkima,1\nochibana_ame,4\nsexy_commando_gaiden:_sugoiyo!_masaru-san,3\nkajun,1\nhashimoto_shin,1\nookusa_manami,4\nkamino_ryuuya,1\nalmaz_von_almadine_adamant,4\nsuper_nintendo,0\naryus,1\nkaprice,1\nooshima_miwa,1\nkemoribon,1\nkousaka_chihaya,4\nlate,0\nabrakadabra2012,1\nseventh_holy_scripture,0\nnoyuki_(3702),1\nsakurafubuki_nel,1\noda_nobunaga_(sengoku_otome),4\nryouko_(lovelovela),1\nganmo,1\nbean_bandit,4\nimoto_yuki,1\nfrostmourne,0\nmerue,1\nmadokan_suzuki,1\ntriple_anal,0\nnagiru,1\nkishimasa,1\nshuninshunin,1\nro_(igris-geo),1\nchitose_kiiro,1\nmaster_(gyee),4\nhonma_meiko_(cosplay),0\nx-com,3\ntennouji_nae,4\naquila_marin,4\nrhemora,1\nmeryl_star,4\nmusou_orochi_2,3\nwuduo,1\nkurokami,3\nkoube_an,1\nkateikyoushi_no_onee-san,3\nsuper_robot_wars_mx,3\nwarlock_(granado_espada),4\nnanakorobi_yaoki,1\nkimura_naoki,1\nhitori_(htr_t),1\nkiller_(one_piece),4\nsumi_mi,1\nstocking_stuffer,0\nyoshii_kyoko,1\nburter,4\nhakuyou-choun,1\ntian_ling_(qys3),4\ntemoshi,1\ntekla,1\njowy_atreides-blight,4\nprincess_evangile,3\nna2,1\nmorimoto_hirofumi,1\nmizuhara_arisa,4\niris_yayoi,1\nnegiko,1\nedward_teach,4\nfo~do,1\nmaya_sawamura_anderson,1\nkimigabuchi,1\nkatsuragi_chikagi,4\nkohinata_hikari,4\nwizardry,3\ntakahara,1\nshaliva,1\nkentou_kanami,4\nmamezuka_takashi,1\nyamato_(aoki_hagane_no_arpeggio),4\nimai_asami,4\ntakamiya_honoka,4\nhybrid_cat,1\ntenmaru,1\nsee-through_kimono,0\njustice_(guilty_gear),4\nprincess_of_the_crystal_(cosplay),0\nhaneten_kagatsu,1\nkado,1\nnyxkz,1\nmacross:_the_first,3\ndtcy,1\nneumo,1\noppai_ball,0\nkirisaki_kyouko_(toloveru),4\npoinikusu,1\npon_de_lion_(cosplay),0\ncielo_(zaki),1\nclock_lock_works_(vocaloid),3\nryan_(dq4),4\nfranken_stein_(soul_eater),4\ngeru,1\ndleung,1\nnorth_kaiou,4\nniyadepa,1\nnessa_(fractale),4\npetite_miku,4\np416,0\nyo-nashi,1\nprincess_dress,0\nlimousine,0\nkimiyoshi_natsumi,4\namd,3\nsuneo_(goten),1\nnitoridio,1\nchristinya,1\ntsuchinoto,1\ndornroschen,4\nusuda_hiro,1\nayamo_kaoru,1\nhomeless,0\nkakaaru,1\nlemon-chan,4\ntravo,1\nbeat_(jsr),4\nyokige,1\nsnarkhunt,1\nragna_the_bloodedge_(cosplay),0\nsarah_stone,1\nchigusa_hana,4\nthe_empress_(tarot),0\nmolly,1\ndouble_halo,0\nmio_(dream_c_club),4\nebi_no_hito,1\nokurapuchi,1\nkokumu,1\ntakano_kou,1\nmarinasu,3\ngoron_(phde2424),1\ninuinu_(project_october),1\ncaruta,1\ngipple,4\nkyojinjoa,1\nsuction_bomb_(splatoon),0\nnanbu_chitose,4\nbehemoth,0\nyuuyu_(moco20111115),1\nindai_(3330425),1\ngyoubu_ippei,1\ninsomnia-chan,4\nusapenpen2019,1\nroots_(hair),0\noptical_sight,0\nmokichi_(nvzy3n),1\nuncats,1\nsion_0d1m,1\nmismatched_underwear,0\name_ame,1\nshaohua_hatsune_miku,4\nnai_gai_hongcha,1\nnatsumi_(natumi06),1\nchiyoda_(azur_lane),4\nunova_mother_(bw),4\nkooeiatd111020,1\nsmol_mumei,4\nfletcher_(kancolle)_(cosplay),0\nrakikoko,1\nsmeared_blood,0\nchika_(keiin),1\nkatkichi,1\nnanase_(under_night_in-birth),4\npublic_urination,0\nslingshot_tan,0\nsanderson,1\ncasablanca_(cheer_squad_on_break)_(azur_lane),4\nwizardriver,0\nepoxy_putty,1\ninsect_on_finger,0\nenterprise_(starlight_oath)_(azur_lane),4\nponnu_(nikeytina),1\nabataa,1\nno_ahoge,0\nogasawara,1\nrena_illusion,1\nhal_(h_lambda_l),1\nsweethex,3\n676643396dolce,1\nbattlesuit,0\nayano_rika,4\nfutoshi_ame,1\nshinobu_akira_(madoka_magica),4\nbenawi,4\none_piece_film:_z,3\nsun_hair_ornament,0\n1950s_(style),0\nlu_xueqi_tongren_ye,1\ngolshi's_first_place_pose,0\n88_flak_(ash_arms),4\nkikurage_tom.,1\nhappycloud,1\nkurumiyasan_ns,1\nlongcloud,1\nclash_kuro_neko,1\nheris_ardebit,4\nmiyabe_makoto,1\nsophie_(fire_emblem),4\nice_scream,3\nunicorn_(little_star_songstress)_(azur_lane),4\nhizuki_ayumi,4\njohn_zerowb,1\nsenryuu_shoujo,3\nshakata_(syakatan),1\nuchida_shuu,4\nnprmtp,1\nbelieve_again,0\nryou_(kemurikusa),4\nkazamatsuri_rinna,4\nkanojo_no_seiiki,3\ndaydremec,1\nlamp_p9,1\nmikujin_(mikuzin24),1\ncar-15,0\nchipokan,1\ndoumyouji_cocoa,4\nsuzume_(simple0091),1\nddaomphyo,1\nshiontaso,1\nayase_aria,1\nuraha,1\nkarasu_h,1\nots-12,0\nspawn_(spawn),4\nrikka_(rikka331),1\njay_(tales),4\njeancle_abel_meuniere,4\nkyousa38,1\njinguuji_jakurai,4\nalternate_bottom_wear,0\na_will,3\nnyaon_oekaki,1\nbkub_duck,4\nkyanpero,1\ncatapult_(arknights),4\nsoma_(sennen_sensou_aigis),4\nkamen_rider_evol,4\nsiren_(borderlands),0\nhishi_(k-xaby),1\nstaff_riding,0\ntecchen,1\nufo_koikoi,1\nfreedom_wars,3\nasame21,1\nbesuyama,1\npretty_x_cation,3\nshibuya_susano,1\nramune_(cherrykde),1\nyunkru,1\nro-ichi,1\nelsa_(frozen)_(cosplay),0\norion-m,1\nhiyama_hikaru,4\ngomibako_(shirokumatei),1\nsukeroku_(treeee),1\nyuu_(primenumber7),1\nkozakura_shion,4\nnaraku_(senran_kagura),4\nkurutsuki,1\n3000_xiao_chun,1\nkoshi_(koshi_vortex),1\nflynn_(smt4),4\nmerlin_(nanatsu_no_taizai),4\nhoney_(space_dandy),4\nkakincho,1\nnekozombie,1\nmonk_4_(sekaiju),4\nyyi,1\nkomoe_(hinagatu),1\nisumi_(i-spixi),1\nfive_(drag-on_dragoon),4\nharo_button_badge,0\nkurohane,1\nsatou_yuu,1\nakagi_sena,4\nkappa_modoki,1\nkarasuma_sakura,4\nmajin_(kiidoumajin),1\nlitleo,4\ngobou_(gbu),1\nfinal_smash,0\ngaku_(wheel_of_lunokhod),1\ntoy_hammer,0\nyoshinoya_seine,4\nkuribayashi_shino,4\nmmlu_(honwa_karesu),1\nayano_no_koufuku_riron_(vocaloid),3\ntoki_(tokinokogiri),1\ng.i._joe,3\nyokaranu_yuuna,1\nmao_(mizuki_kotora),4\nqiangzi,1\nelasticity,0\nlevia-san,4\ngodzilla_(cosplay),0\npower_pro_appli,3\nshokkaa_(shmz61312),1\nfujimo_ruru,1\nhino_hikaru,1\naotsuba,1\nkac-pdw_(girls'_frontline),4\nhooded_leotard,0\nre:ia,1\nend_roll,3\nculton,1\nk2shh,1\nk.ei,1\nhair_rollers,0\nshe-ra,4\nhachimaru_(ediciusa),1\nnell_(pangya),4\nkent_mame,1\ntakahashi_(te6-6ba),1\nsos-dan_logo,0\nhanawa_kaoru,4\njustminor,1\nkyapu-10,1\ngumoyu,1\nkanata_(sentiment),1\nsimone_aragon,4\nfukuoka_softbank_hawks,3\npen_spinning,0\npolaris_(shinrabanshou),4\nyuzuki_(rinka01),1\nui_(majiwi),1\nburijittou,1\ncolor_issue,5\nsena_(mineruba),1\nougon_musou_kyoku,3\njaoooo,0\nadvance_wars:_days_of_ruin,3\nmedusa_(kid_icarus),4\nitirirenn,1\ntemple_gate,0\ntakada_yuuzou,1\nkamikita_futago,1\nkuri_(shibimame),1\ntamo_(tamokuteki_kuukan),1\nsotomichi,1\nsin_(hankotsu_bunny),1\nsakaokasan,1\ntenkomori_(bug_kura),1\nlace-trimmed_swimsuit,0\nwiola_magica,4\nneighbor_quartz,4\nhecarim,4\nhoozuki_suigetsu,4\n9so_(ponchon),1\nbygddd5,1\nkudou_akira,1\nmisaki_(kyal_001),1\ntogashi_kuzuha,4\nlute_(apocalypselibrary),1\nskeleton_costume,0\nkuma_(happylocation),1\ntorinannkotsukushi,1\nrika_eastre,4\nfuu-chan_(fujiwara_gacho),4\ntsushima_naoto,1\nvenus_(skullgirls),4\njulius_yu,1\nho-oh_(artist),1\noshiyon,1\nchamomile,0\nwater_spring,0\nkaryuu_koujo,4\nmif,1\nperry,1\nmuck_(artist),1\npersephone_(p&d),4\nfino_bloodstone,4\npublic_bondage,0\nsumemako,1\nmakoji_(yomogi),1\nhell's_kitchen,3\nvitamin_quest,3\nesmyrelda_maximus,4\natea,1\nzishanjiang,1\namicis_(amisic),1\nayamatazu,1\nblackma_(pagus0012),1\nshirai_momota,1\nhinako_(anzu15),1\npurino_party,3\ntarai_(silica5),1\nchu_(huaha1320),1\nhigashiyama_(higashiyama_honpo_l.t.d),1\n\"dateless_bar_\"\"old_adam\"\"\",3\nh-a-j-i-m-a-r-i-u-t-a-!!,0\nnapkin_holder,0\ngaoyang_ou_nisang,1\nhotaru_(ss801),1\nito_(silk9f),1\nakinoji_(akiponpon27),1\npassimian,4\nbrynhildr_(tome),0\nnaver_username,0\nside-tie_legwear,0\nhirano_kouta_(hsotd),4\nkirishina_(raindrop-050928),1\nvestaria_saga,3\nharu_hina,1\ninanome_me,1\nblouse_removed,0\ngu-rahamu_omega_x,1\nnijou_touka,4\nerich_von_rerugen,4\nyukimichi_(nieko),1\nkita_senju,1\nshenhai_(2556146833),1\nmountain_hare_(kemono_friends),4\nsivatherium_(kemono_friends),4\ndante_(devil_may_cry)_(cosplay),0\nkoubakotone,1\ntayuura_(kuwo),1\nakio_(akio1124),1\naikawa_fuuri,4\natamonica,1\naugust1st,0\nakasha_(syakoba),4\nenk_0822,1\nnishita,1\nbible_bullet,3\nmoi2m3,1\nrabbit+tank_form,0\nnagisa_(kantoku),4\ngandaresu_baran,4\nikeno_kaede,4\nhachikyaku_rozunieru,4\ndulse_(pokemon),4\nblue_(konkichi),4\ngreen_(konkichi),4\ny_xun,1\nshida_yuudai,4\nsuiguutou_(juuni_kokuki),0\nperseus_(fate),4\nluna_aegis_(closers),4\nwing_earrings,0\nhue_oo,1\nharukawa_fuki,4\nflametail_(sport_for_all)_(arknights),4\nthors_military_academy_uniform,0\n2zuz4hru,1\nofficial_art_inset,0\nsesshouin_kiara_(swimsuit_mooncancer)_(cosplay),0\nymir_fritz,4\nzanscare,0\narisugawa_bii,1\nfluorart,1\nakidenmania,1\nrakan_(league_of_legends),4\nvex_shadow_(league_of_legends),4\nholding_sickle,0\nso_nagi_(artist),1\nlb_(muraihou),1\nfushigi_mahou_fun_fun_pharmacy,3\nplatypus,0\naomi_maika,4\ncancer_death_mask,4\nxoaiu,1\nh_(158cm),1\nkatase_yuu,1\nchinoru,1\nsasha_kruschschev,4\nhak_(akatsuki_no_yona),4\nnig_18,1\nandy2465,1\nnitogebeto,1\nfujiwara_aoi,1\nanlucea,4\ntanaka_tom,4\nwandu_muk,1\nsaber_kitty_(disgaea),4\nmalshi_edroad,1\nnora-toro,1\nzealyush,1\nfutayamam2,1\nkawai_maria,1\nnurse_dragonmaid,4\namano_taiki,1\nno_tattoo,0\nlee_(punishing:_gray_raven),4\nempress_(last_origin),4\n163_(shiromeshi),1\nsoror,4\nshinidamachuu,0\nharagaita_i,1\nmizore_akihiro,1\nwhale_girl,0\n8'108,1\nradiant_light,0\nred_trim,0\nfukutaichou_badge,0\nfantasy_earth,3\nmr._x_(resident_evil),4\naikura_chihiro,1\nkurosaki_sayoko,4\nhacksaw,0\nkuno,1\ngrey_male_swimwear,0\nstar_breaker,4\nmaenoo,1\nmomo_no_sei_(onmyoji),4\nmurata_mine,1\nweather_report_(stand),4\nwekapipo,4\nhoshika_ranoe,1\nbrown_leggings,0\nsleeveless_turtleneck_dress,0\nholding_charm,0\nmisago_(525),1\nlarry_foulke,4\nshimantogawa,1\nichinomiya_kou,4\ncat_shop,1\nminakami_yuki,4\ntaking_cover,0\nreiroukan_misaya,4\nnoberuge,3\nadjusting_earrings,0\ncrueltear,4\nhaihai_(skeleton),1\nslush_(norasuko),4\nrinoko,1\nnanase_nanami,1\norange-shaped_earrings,0\nasada_okina,1\ntione_hyryute,4\nsachishiro_pengin,1\newokakuman,1\nspec,3\nmizuki_(quilt),4\npower_cord,0\nmouth_beam,0\nfinal_fantasy_vii_ever_crisis,3\ngroin_attack,0\naosiro-michi,1\npote_(aonibi_kairou),1\neris.y_(7hai),1\ntachibana_amane_(amane01a),1\nsasaoka_tatsu,1\njenny_dolittle,4\nnamuru_(kurinton),1\ntea_ceremony,0\niroha_(nullpo),1\nhusun_wei,1\nsakamoto_maaya,4\nadjusting_headset,0\nkamen_rider_ouja,4\nsuitenan,1\nhazuki_ryou,4\nsarnath,1\nhamaya_shin'ichi,1\nohagi_(hurimaro_metayaki),1\nnekokobushi,1\ntio_(005),1\nno_more_eiga_dorobou,3\nshen_woo,4\ngroup_battle,0\nakaya,1\nthomas_(aoakumasan),1\ntakahashi_keitarou,1\nkomaichi,1\nnein_(album),3\nsanjouno_haruhime,4\nkohaku_(rune_factory),4\nasahashi_tsuyu,1\nabarai575,1\nvanquice,1\nktrtokyo,1\ndragon_providence,3\nsakurano_asahi,1\ntanokura_mon,1\ngokugetsu_momo,1\ntakeout_container,0\nkojijima,1\nishita_(sunagimomo),1\nshirley_warwick,4\ntanaka_saeko_(haikyuu!!),4\nbunbun_(midukikome),1\nmika-shi,1\nred_beryl_(houseki_no_kuni),4\nwerbellia,4\nsharan_(dungeon_and_fighter),4\nbird_hood,0\nmogijabgo,1\nprinny_(series),3\nyin_yang_earrings,0\namatsuka_hikaru,4\nnatsu_(hottopeppa3390),1\nshimono_(utapre),1\nclimbing_wall,0\ncheety_(show_by_rock!!),4\nanette_(pso2),4\npuropera_(puropera),1\nfall_guy_(cosplay),0\ntracey_sketchit,4\nnessa_(pokemon)_(cosplay),0\nstormcallart,1\nbai_qi_(love_and_producer),4\nsetsuna_trip_(vocaloid),3\nwakkuchin20,1\nkikunojo_(one_piece),4\nseiya_hoshiko,1\nmori_calliope_(cosplay),0\nsuzette_(sa9no),4\nkouhai-chan_(fukutchi),4\ncam_(cammero95713700),1\nwebang111,1\nkaho_0102,1\ntakapin,1\nkuangtai_(amami_ryoko),1\nmoni_monico,1\nwuzhiang_liufu,1\nsignal_1120,1\nsurvival_friends,3\nluzzi_(milllim),1\nbad_e-hentai_id,5\nkuma-hina_(31_violence),4\nrayleigh_scale,1\nnayuyu1105,1\nmaru_(pixiv51714255),1\nchao_ho_(azur_lane),4\ntorino_kawazu,1\nyunarebun,1\ngusty10rk,1\ntsunami_samemaru,1\nsamidareura,1\nwoogi,1\ngel_(chiericyan),1\np2020_(pistol),0\nviria13,1\nkeiki_(juuni_kokuki),4\ncrow-chan_(karasu_raven),4\nsex_underworld_e_youkoso!,3\nkurt_robinson,1\nmaijima_karen,4\nprint_hair,0\ntekito_midori,1\nm1014_(girls'_frontline),4\ntac-50_(girls'_frontline),4\nichi_kq,1\neso_(toory),1\nultra_beam,0\nsweet_madame_(genshin_impact),0\nprint_neckerchief,0\nhikari-chan_(kanabun),4\n8c,1\nscathach_(formal_dress)_(fate),4\np90_(scarlet_turbo)_(girls'_frontline),4\nump45_(diamond_flower)_(girls'_frontline),4\nhiyari_(hiyarilol),1\nmimi_pearlbaton,4\ngrisaia_phantom_trigger,3\nsesshouin_kiara_(beast_iii/r),4\nartoria_pendragon_(swimsuit_archer)_(second_ascension)_(fate),4\nlillia_greyrat,4\nlunarscent,1\namakawa_hano,4\nfloating_crown,0\nsheth_(gentsuki),4\nfraxure,4\nmejiro_mcqueen_(racehorse),4\nhoukiri_nemu,1\nmachi_wt,1\nhanzo_(2929),1\nsly930105,1\nryu-tan,1\nric_(fwpbox),1\nelreyiens,1\nhato_(kosobin),4\nnaguramu,1\nkuruuya,1\nmetaring,1\nhagiwara_kazushi,1\nhashimoto_kokai,1\ncu_chulainn_(prisma_illya),4\ndog-san,1\nyamakake_(tororo1293),1\nkorogoro_(mago0057),1\nthose_girls,1\nmiyuki_(9029009),1\nmrt_mr,1\ngemba_(dlfms75),1\narisato_yui,1\nya_yan,1\nhouseki_hime,3\nkomiya_nonoka,4\nolivert_reise_arnor,4\nsanctuary-of-apricot,1\nqualia_qu,4\nsharasohju,1\nryo_chimo,1\nnattapuumuu,1\nzutsuyaku,1\nkorin_(shironeko_project),4\nniyasuke_(yama),1\nchan'nu,1\ntwitter_banner,5\ntoddifons_(arknights),4\nboole_(sangha0301),1\nsakayaya,1\nsuzui_shiho,4\njakomurashi,1\nsteam_from_mouth,0\ncharlotte_linlin,4\nsizque,1\nhukairi_botan,1\nbehalter,1\nbatman_(cosplay),0\ndisc_(needless),4\nchrono_(chrono_crusade),4\noffice_lady_taiwan,3\nkuroneko_pantsu,1\nludwig_von_koopa,4\nnagisa_nagi,1\nl.tea,1\nthorsten_erdt,1\nmaha_(gentsuki),4\naoko_(myut7287),1\nqp_shooting,3\nsaitama_seibu_lions,3\nspiked_wings,0\ncookie_jar,0\narthur_(fire_emblem),4\nsebychu,1\nsogegin,1\nmuyang,1\nultraman_suit,0\nnero_claudius_(bath_robe)_(fate),4\nj-chad,4\nisshin_(kaxz),1\nitou_junji,1\nfrom_ground,0\nhirose_(10011),1\nt'challa,4\ngradient_bow,0\namiibo,0\nnanagane_educational_institution,3\nj2l,1\nchained_sarkaz_girl,4\nthe_emperor_(tarot),0\nanubis_(stand),4\npearl_anklet,0\nignis_(last_origin),4\nay_(1054105084),1\nfluff_kevlar,1\nhacker_(7th_dragon),4\nzeri_(zeristudio),1\nwatchi,1\ncottontail_(voice_actor),1\nmasshu_(shu_123426),1\nivy_eveland,4\nai-bon,1\nnissan_gt-r,0\npoke200,1\neating_contest,0\nyuki_onna_(onmyoji),4\ntsukikusa_megumi,4\nkouryuu_densetsu_villgust,3\nlady_nagant,4\ni_am_l,0\nwankosoba_(wanwan_soba),1\nrune_(ru-nn),1\ncath_(fire_emblem),4\ndoinaka,1\ncard_pendant,0\nyurikawa_hana,4\nsuzumiya_haruhi_no_tomadoi,3\nseifer_almasy,4\nama_asagi,1\nno_freckles,0\nmumumu_hoshibito,1\nplushcharm,1\nannno_ans,1\npanda_copt,1\nnanashi_mumei's_horror_painting,4\nememtrp,1\nj.xh,1\njames_potter,4\ninaho178,1\nerotanuki,1\nimagine_breaker,0\nbonobono_(character),4\ndomestic_violence,0\ntaut_bikini,0\nspica_(vocaloid),3\nthe_kite,1\njulius_(fire_emblem),4\nkurumitsu,1\nidaku,1\nundressable,0\nmutsuki_albino,1\ncheshire_(ragnarok_online),4\nwayforward,3\nfremea_seivelun,4\nthree-wheeler,0\nneee-t,1\nobi_spin,0\nbasil_(st_1),1\nah-1_cobra,0\narmpit_onigiri,0\nai_cao,1\naegisfate,1\nshadow_rise,4\ntakashima_remi,4\nmikannsisyou,1\ntype_a_kou-hyouteki,4\nrosemon,4\nmusso_(gyee),4\nnendoroya,1\nclamps,0\ntihoro1609,1\ndolphro-kun,1\nbroken_bone,0\njeice,4\nhippopotas,4\nkrokorok,4\nsin_faye,4\nlink163353,1\ntokorinowa,1\nbondo_(borndragon),1\nhay_bale,0\ngunshot_wound,0\nsasihmi,1\nbanging,0\nkawaniwa,1\n29_(artist),1\nazumane_asahi,4\nmiri1120,1\nno_headband,0\nmiffy_(character),4\nkan0nakan0,1\nkasaki_sakura,1\nkuro_(grf),1\ndeneve,4\nstar_destroyer,0\noone0206,1\nrobot_(pixiv_42325944),1\nfemale_admiral_(kancolle)_(cosplay),0\nkk_(kkgame7733),1\ngoogerm,1\nseydlitz_(azur_lane),4\nraven_(fire_emblem),4\nyomitsuna,1\nspoon_bending,0\njirou_(ramen),0\napo_(apos2721),1\nkakueki-teisha,1\nrugby,0\nsu-47_berkut,0\ndeadpan,0\nchunlieater,1\nmoney_rain,0\nspotted_tail,0\njagged_sword,0\npatatata,1\ndecay,0\nyouta_(asatsukidou),1\ncele_(310v3),1\nguided_crotch_grab,0\ntop_gear,3\nnatsugumo_(kancolle),4\ngiulio_cesare_(azur_lane),4\nakuto,1\nsamemanma,1\nshinku_p,1\nyi_cat,1\nalondite,0\ngesoking,1\naboreen,1\ninspector_gadget,3\nrico_(jackdoa),1\nvice_granscenic,4\ntokugawa_soyo,4\nmagical_mirai_miku_(2015),4\nliving_(pixiv5031111),1\nunown_j,4\niggy_koopa,4\nimminent_fight,0\ntotomiya,1\nwet_kimono,0\nplant_boy,0\nlangley_(azur_lane),4\ncutesu_(cutesuu),4\nmid-boss_(disgaea),4\nmugikoma,1\nmochen,4\njack_krauser,4\nhiiragi_matsuri,4\nzeroyama,1\nhresvelgr,4\nsix_(little_nightmares),4\nhaho,1\nhanta96,1\nyohinori,1\nbubble_girl_(boku_no_hero_academia),4\nskullcap,0\nmizukanayuki,1\nkurogiri,1\nbetanya,1\nnautilus_(league_of_legends),4\nxbox_controller,0\nshinkai_makoto,1\nrobe_slip,0\naburage_(motimotigg20),1\nbosutonii,1\nwing_ribbon,0\nkyokugen_chikan_tokuiten_2,3\nshampoo_challenge,0\nnosuri,4\nkoyubita,1\nthunder_stone,0\neniwa_shii,4\nmaeda_mic,1\ncoalossal,4\nzymonasyh,1\ndoctor_magus_4,4\nsuzuki_mei,1\nwa_ga_ne,1\nnisshisshi,1\nvertical-striped_bow,0\ncutlass,0\nfaith_connors,4\nniniidawns,1\njaeyun,1\nc96_(girls'_frontline),4\nyigra_don,1\ntrick-or-treating,0\nspade_tattoo,0\nmikami_(vitamin_quest),4\nerk_(fire_emblem),4\nrairyuu,1\nspinel_(9057),1\nmajor_(hellsing),4\nidol_revolution,3\nseishun_fragile,3\nkaren_(karenendo),1\notoufu_(gotouhu),1\nnitefise,1\nreit,1\nwasabi_sushi,1\nkamishiro_rio,4\nbettykwong,1\nbeerko,4\nteke_(exploration),1\nstriped_umbrella,0\nmonousa,1\nsmooth_criminal,3\nvenusflower,1\nshotan,1\nnanase_rumi,4\nno_hairclip,0\nlch,1\nhetare_(hetare013),1\ncjrb1228,1\nunstableboiler,1\nbracket,0\ndanishi,1\nakuma_(ogino-m),1\nporun,4\nyoshinobori,1\nfur-trimmed_waist_cape,0\nayaya,1\nfujiwara_hisashi,1\nle_terrible_(azur_lane),4\neskimofox,1\nshirakawa_mayumi,1\nyuuge_(hangoban),1\nooba_eimi,4\nmrs.pumpkin_no_kokkei_na_yume_(vocaloid),3\nsayama_norika,4\nkudoi,4\nuso_da,0\nhanai_haruki,4\nmacross_2,3\nar-10,0\ndominia_yizkor,4\npurism_egoist,3\nsatchii,4\nshishiou_gai,4\notonashi_kotori_(cosplay),0\nkunon,1\nkazuki_mai,4\nthwomp,4\nemoncake.,1\nlefty10,1\ncherry_third,3\nmounting,0\nikki,1\nkino_hitoshi,1\nshirato_jin,4\ninase,1\nishino_satoshi,1\nrikaritta_aries,4\nyuuta_(tokoton_hirune_hiyori),1\nkafei,4\nasougi_rin,4\nenpou,1\nnekomata_(disgaea),4\nkujou_rin,4\npixiv_bottlecap,0\nmitosa,1\ngundam_astray_red_frame,4\npakunoda,4\ntakawashi_nagisa,4\nkagami_yuu,1\nd-zhai,1\ntakano_jiyuu,1\ndai_(uhyoko1102151),1\nsongstress,0\nsleepwalking,0\nsummoner_(fft),4\nnanai,1\nyagitori,1\nvectors,0\nabc_(type5_labyrith),1\nsilvers_rayleigh,4\npuyue,1\nkain_fuery,4\njaken,4\ncrimson_kaiserin,1\nsagano_aoi,1\nfuzuki_hajime,1\ncarnival,0\npalcomix,1\nmeteos,3\nzain,1\nkiyohisa,1\nshuuyu,4\nmusashimaru,1\nsolwyvern,1\nlittle_thunder,1\nhikari_no,1\ninferno_(nanbu14),1\njapan_railways,3\nwelkin_gunther,4\ntomo_wakui,1\nchouzetsu_yarou,1\nbovyng,1\nmiette_(pokemon),4\nmary_(soul_hackers),4\ndurandal_(kei),1\nrecoil,0\npon_takahanada,1\nmio_(fastest_lap),1\nmuraichi,1\nlegend_(tiger_&_bunny),4\nmao_(code_geass),4\nyomorin,1\nhimiko_(persona_4),4\nrei_(breath_of_fire),4\njigen_daisuke_(cosplay),0\n1_(kawaseha),1\nkricketune,4\nmiton_(ton321),1\nsorceress_(dragon's_crown)_(cosplay),0\nkuga_utao,4\nsima_yi,4\nhiiragi_ryou,1\nrururara,1\nsherlotta,4\nsora_no_manimani,3\nsatsuki_harunobu,1\nyoutike,1\nstrange_klug,4\nsuika_soda,1\nshiawase_okiba,1\nunohana_tsukasa,1\nheisei_yutorin,1\n888,1\ncore_fighter,4\ndark_repulser,0\nmatano_seiko,4\nsuenaga_(progressive),1\nlars_alexandersson,4\ntosaka_teru,1\njida,1\nlily_(ender_lilies),4\nbrand_of_sacrifice,0\nrey_za_burrel,4\nnagisa_(imizogami),1\ntakatsuki_kasumi,4\ncocontma,1\nyu_li,1\nfaerie_(seiken_densetsu_3),4\nnanjou_akimasa,1\nnanasuke,1\nponchi,1\nshousetsu,1\nhokkaido,0\noskar_von_reuenthal,4\nnirai_kanai,1\nashermes,1\nsasaki_masakatsu,1\nkomore,1\nsww13,1\nkuroshin,1\nkotobuki_reiji,4\nrindou_aya_(meshimase_idol),4\nryuujin_naga,3\nhansel_and_gretel,3\ndate_wingfield_reiko,4\nsana_(37pisana),1\nmattie,1\nosanpo02,1\n2gong_(9ujin_),1\nshijou_sadafumi,1\nhasekura_noizu,1\nhebina_masayoshi,1\nhariko,1\nurataros,4\nthousand_sunny,4\nmo_qingxian,4\nalfin,4\njinlin,1\nitame_moyashi,1\nagent_3_(splatoon_3),4\nasphyxia17,1\nmokkosu.,1\nhyper_police,3\nmurata_himeko_(scarlet_fusion),4\ngennai_ao,4\nyomatsuri_akari,4\nline-san,4\near_bar,0\npisu,1\nlucia_(ogino_atsuki),4\nair_pump,0\nsocial_kasu_(mob_oji_katu),1\nnekohige,1\nandonoz,1\nonda_aka,4\nite_fuji,1\nshirotae_moyashi,1\nsandragh,1\ntake_(take143000),1\npubic_hair_pull,0\ngloria_(devil_may_cry),4\nendo_yohane,1\nautumn-north,1\nbream-tan,1\nfrederica_irving,4\nmii_(makosuke),1\nanakin_sky_(utcc),1\nzin_(goraku_hiroba),1\nkukurus,1\nvictor_(tales),4\nnaoya_(devil_survivor),4\nminami_toshimi,4\nkangmoro,1\nenter_enter_mission!,0\nluncheon_meat_umai,1\nsilver_(metal),0\nhidden_camera,0\nindomitable_marie,4\nmonoheiya,1\nfukui_sora,1\naoten_(aoiroarekore),1\nhozuki_ferrari,4\neiroyi,1\nminamo25,1\nshizuhime,1\nshijima_(agkm),1\naesice,1\nigawa_asagi_(cosplay),0\nmarielle_(log_horizon),4\nkonohana_enishi,4\nashita_kura,1\neffole_(fairy_fencer_f),4\ndousaki_shin'ya,1\ntraene_(sorai_shin'ya),4\nyummy_(donyat1983),1\nnishimura_(prism_engine),1\nagano_(azur_lane),4\ntsukugu,1\nmakai_tenshi_djibril_4,3\ngochiwa,1\ntoo_many_belts,0\nigarashi_kei,1\nhiyashi_mikan,1\nilohasvio,1\ncinemagraph,0\nyano_(404878),1\nhelix_fossil,0\nriventla_nuck,4\nsadahara_inako,1\nlegendarysoulii,1\ndaien,1\nunitsu,1\nshirahane_suou,4\nrokudou_itsuki,1\nchipped_sword,0\ntare-katsu,1\nt_(toddy_t),1\ntorizousui,1\nkudakeru,1\nnise_pakuman-san,1\nyuzucky,1\nyancha_gal_no_anjou-san,3\nnina_klein,4\nryuu_(monster_girl_encyclopedia),4\nrevy_(black_lagoon)_(cosplay),0\nkanki_(kibunhasaikou),1\nsuzumori_kuroku,1\nmutsutsu,1\nartificial_academy_2,3\nporusasu,1\nimelda_rivera,4\nhikari50503,1\ninkspirate,1\nmiyasemao,1\nmylovelydevil,1\njohnnyyyyy,1\nbullet_girls,3\njugemu_(qqkyon),1\nyou_(nanban319),1\nyamada_ichirou_(hypnosis_mic),4\nbrown_buruma,0\nkrile_mayer_baldesion_(ff14),4\nshallistera_(atelier),4\nkumauwo,1\nenkidu_(sensha_otoko)_(fate),4\niceblue,1\nnetojuu_no_susume,3\nkate_(sketchbook_full_colors),4\nmatori_yoshika_(character),4\nkotarou_(kot_mochi),1\nsakusan_yousoeki,1\nmini_(pixiv6327751),1\nro-ga_(kurumaya),1\nconope,1\ni_(deichi),1\nkurosawa_karura,1\nufkqz,1\nnanatsu_no_umi,1\nranchuu_(akamusume),1\nhyper_highspeed_genius,3\naethos,1\nmusteflott419,1\nbenares_(honkai_impact),4\nseth_(closers),4\nmr._j.w,1\nraku_rakugaki,1\nhop_step_jumpers,3\nkusuriya_no_hitorigoto,3\nayanami_(warship_girls_r),4\ndes_moines_(warship_girls_r),4\nkimi_no_tonari_de_koishiteru!,3\n5pb_(neptune_series),4\nlibeuo_(liveolivel),1\nriku_(kemurikusa),4\nkuro_kinkan,1\nkalawarner,4\nrokusaki_coney,4\nokuzumi_yuiko,4\nkakari,1\nryakusun,1\nteppen,3\ntabiutaonpu,1\nkuhnowushi,1\ncarole_stanley,4\njennifer_(shepherd0821),4\nnovus_rue,1\nyoukan_(mattya_youkan),1\nilyfon133,1\nd_kake2,1\nlarum_(fire_emblem),4\npoe_(528yuzunon),1\nalexis_(zkstxxx),4\niya_maid,4\nyakushiji_megumi,4\nvika_(fire_emblem),4\ntsumugu_otome_to_taishou_no_tsuki,3\nzel_(ishuzoku_reviewers),4\norihira,1\npopo_(popopuri),1\niya_na_kao_sare_nagara_opantsu_misete_moraitai_yo_wa_pantsu_ga_mitai_zo,3\ntb_(spr1110),1\nfriedrich_der_grosse_(dark_raiments_of_gagaku)_(azur_lane),4\nshiro-hane,1\nkwrrrrrr,1\nthe_baron,4\ncoronavirus,0\ntaira_no_fumikado,4\nchise_(ichiri),4\noregano_(olgn_eao),1\nstuffed_otter,0\nguider_to_the_eternal_edge,4\nburnin_(boku_no_hero_academia),4\nyun_(dust-i1),1\ninsulting_viewer,0\nolder_twin_sister_(muninshiki),4\nd'orsay_heels,0\nunown_v,4\nfalslander,3\naizawa_(teaminazuma),1\nsilenxe,1\nsnap_my_choker_(phrase),0\nvibrator_over_clothes,0\n14c,1\ntongari_boushi_no_atelier,3\ndrilbur,4\nlost_one_no_goukoku_(vocaloid),3\nmaineko_ruru,1\nai_kotoba_iii_(vocaloid),3\nred_girl_(yuuhagi_(amaretto-no-natsu)),4\nsunset_nivaris,1\ncrunchobar,1\nniro_(sikabanekurui),1\nkalpas_(honkai_impact),4\nvf-31j,4\nwagnaria_uniform,0\nspore_(ragnarok_online),4\nkirby:_right_back_at_ya,3\nrokurokubi,0\nglowing_arm,0\nnissan_fairlady_z,0\ncum_on_skirt,0\nwendy_(honkai_impact),4\nkibitarou,1\nchibi_on_shoulder,0\nanho,1\nkmtk,1\ntanshio,1\nlittorio_(calabria_aurea)_(azur_lane),4\nhibiki_(cheerleader)_(blue_archive)_(cosplay),0\nsilver_bullet_(ecc12_8),1\nheavyrain_(tranquil_moss)_(arknights),4\nsilver_choker,0\nanshan_(azur_lane),4\nseallllion,1\ni:p_masquerena,4\naoman_de_cangshu,1\nsquirrel_boy,0\nhebi_(yurari),1\nrunawate56,1\noqwda,1\nbesthetz,1\nyuujoduelist,1\nkachou_fuugetsu_(onmyoji),4\nkinokorec,1\nkagimura_hazuki,4\nyamanata,1\nmirai_no_bokura_wa_shitteru_yo,0\nselenoah,4\nago_maguro,1\nyue_xiao_e,1\nyomogi_uehara,1\nretrospective_53_minutes,3\nsumeragi_sunao,4\nbosstseng,1\ntaku_(user_nxgk7748),1\nchi_ya,1\nsuzu_(susan_slr97),1\ndosu_(yodosu),1\nsoranona_(soranosuke),1\nlace-trimmed_babydoll,0\nsaint-germain_(symphogear),4\naction_heroine_cheer_fruits,3\nyouko_(onmyoji),4\ncycloneyukari,1\ntoriumi_harumi,1\nfrog_on_head,0\nakika_821,1\nimminent_double_penetration,0\nnekomiya_noru_(yuduki710),1\nbvucki36gzoeq1c,1\nkirakira_patisserie_uniform,0\nshunga_(shun608),1\nlight_elementalist_lux,4\nkyuubi_(kemono_friends),4\nshadowgale,4\nshiro_(bombergirl),4\nalice_in_musicland_(vocaloid),3\narima_natsubon,1\njocheong,1\nfeelition,1\namamiya_aki,4\nkiyotaki_keika,4\ncapitan_wei,1\ninsarability,1\nleonis_g,1\nmark_(heaven),1\nkaisou_(0731waka),1\nkibashiba,1\njeanne_d'arc_(drifters),4\nkamiya_agari,4\nsister_nana,4\nkolmio,4\nys_vi_ark_of_napishtim,3\ntwice_(group),3\nrobin_(unlimited_world),1\nnagatsuki_take,1\nhiwatari_makoto,4\nkoutetsu_(fe_steel_stone),1\nalternate_wing_color,0\nardyn_izunia,4\nlard_(kumazakiyuta),1\nozyako,1\nxing_hai,4\nakimoto_(akimomomoto),1\nshoggoth_(monster_girl_encyclopedia),4\notome_domain,3\nmisogi_(misogi1341),1\nmichiyon,1\nhajime_(gitoriokawaii),1\nyuzu_lemon,1\nito_(itokayu),1\nkona_(mmmkona),1\nkaori-san_(angelo),4\nano_hito,1\nfukuyama_naoto,1\ncockroach_girl,0\nbucket_spill,0\ncarrot_works,1\nsakurakouji_tsukuyomi,4\nlilele_(granblue_fantasy),4\nlord_of_walkure,3\nwill-o'-the-wisp_(mythology),0\ncrunchyroll,3\npirorun,1\nirina_jelavic,4\nandou_aiko,4\nmaidensnow_no_youkai_dai-makyou,3\nhkn_(ringya),1\ngraph_paper,0\nteikoku,0\nkaminari,1\nbitou_daisukenojou,4\nsemidou_jun,1\nshounen_democratica,1\namagami_rukichi,1\nmochiko_(x-game),1\nshirasaki_tsugumi,4\nchi_gura-ya,1\nholographic_keyboard,0\nasuna_(sao)_(cosplay),0\nsore_(whirlwind),1\nratana_satis,1\nsingle_slipper,0\nkeyaki_(mora_ll),1\nharugamitsu,1\nkaima,1\nshiina_shian,1\nmiyaoi,1\nike_(altitude_attitude),1\nkyoma_(yellowxcake),1\nkazami_miki,1\ncrane_stance,0\nflinch,0\ndalian,4\nc.c._(cosplay),0\nmonolith_(object),0\nnakashima_(middle_earth),1\ntadano_shiroko,1\nbunny_pajamas,0\nyuzumame,1\nkisaragi_(criminal_girls),4\nhisame_(shinrabanshou),4\ntomoe_(itigo),1\nnojima_chika,4\nneris_(shining_hearts),4\ntouhou_musou_kakyou,3\nrum_raisin,0\nroe_(d-c_-b),1\nmoryu,1\nhinoki_bayashi,1\nxiamianliele,1\nkono_sanorou,1\njoshua_(fire_emblem),4\nuh-1_iroquois,0\ntasuku,1\nmitsusaka_mitsumi,1\nmedori,1\nnekoda_kuro,1\nnagato_(battleship),0\nfuji_noyume,1\nnumyumy,1\nag_00000,1\nema_yuzuru,4\ncrimson_lotus_moth_(genshin_impact),4\nvengeful_hannya_(onmyoji),4\nblue_shell_(mario),0\ncleopatra_(third_ascension)_(fate),4\nsylvie_(isekai_maou),4\noh?_you're_approaching_me?_(meme),0\nharlow_garden,1\nkoharu_(morikura_en),4\nyuri_(anachronic),1\nsupershrimpcakes,1\nhiboshi_daizu,1\nfujinomiya_neko,4\ntakeuchi_kou,1\nyanase_aki,1\nsweet_flower,0\nnerdyart1,1\nsandayu_(housamo),4\ndot-matrix,0\ndeath_box_(apex_legends),0\nmina_(shingeki_no_bahamut),4\nalchemist_2_(sekaiju),4\nhism_25_(tsumari),1\nmikanoisi,1\nharpyia_(last_origin),4\nmugupo,1\nm1897_(girls'_frontline),4\nspp-1_(girls'_frontline),4\n9ji,1\nmn_(zig_r14),1\nchi_(chiwa),1\nlactmangan,1\nkrampus_(grizz),4\ngagaga,1\nspiked,0\nlzd,1\nfuzuki_yuu,1\nneko_cyber_(module),0\nasuto3,1\ncrime_scene,0\nsuzuhara_izumiko,4\nmitsu_(nonoko05),1\nryanreos,1\nbrown_armor,0\nideologue!,3\nwringing_hair,0\nadmiral_minami_kazusa,4\ntiger_mask_(series),3\ndouble_barrels,0\nvaryu,1\nhoshimaru_daichi,1\nakashiro_sen,1\nthe_king_of_fighters_2003,3\ntakanashi_tsumugi,4\nelsie-san_(oshiruko),4\nmhong,1\ncontrol_stick,0\nten_kurairakon_teikoku-gun,3\ncreamer_packet,0\nkarin_(rei862),1\nshort-haired_girl_(osomatsu-san),4\nsuzuna_isurugi,4\nrorona_s.,1\nsurgeonfish,0\nchoko_(last_period),4\nkazuma_(theworld000021),1\ndemimond23,1\ntsuzurao,4\ntsubuki_(ron-bb69),1\nmitsuki_ponzu,1\ntanpopo_hayabusa-maru,1\naqua_(konosuba)_(cosplay),0\ncapoki,1\nyumesaki_kaede_(game_club_project),4\nsunset_(porforever),4\ncrasher_wake,4\nevelyn_(pokemon),4\nyuukome_(tekunon),1\npearlscale0818,1\nrun_the_9tails,1\ntadano_souko,1\nyamate_kyouko,4\ntina_topia,4\nriou_(pooh920),1\nidenshi_hina,1\nmistimagi,1\nnahonanaho,1\nrib_(rib_delesetong),1\njintianhuahualema,1\npochimaru_(vtuber),4\nsiw0n,1\ninugami_korone_(dog),4\ndeki_(dekiebi),1\ncrouching_start,1\ngoetia_(fate),4\nmaiq06,1\nkaga_(battleship)_(kancolle),4\nishitsuki_(_0101_831),1\nshigure_(shigure_43),1\nanzu0130,1\nm-a-v-e-r-i-c-k,1\nkomecchi,1\nmasa_(masa-koba),1\nkappe_reeka,1\nreccu,1\nlee_sun_young,1\nv-22_osprey,0\nmelompan,1\nnakoya_(nane_cat),1\namano_takumi,1\nstuffed_raccoon,0\nsei_dorei_gakuen,3\npopori,4\ndrink_me,0\nyuzuko,1\nsanmi_tenten,1\nhymmnos,0\nni_(2shi),1\nmizuiro_32,1\nmuranushi_sayuri,4\ninari_(sennen_sensou_aigis),4\nboridongja,1\nshell_to_ear,0\nbioshock_1,3\nkoi_wa_ameagari_no_you_ni,3\nyk,1\nnecolab,1\ngabal_docker,4\nanjerain,1\nheroherotom,1\ndead_line,1\nmashima_taichi,4\nmob_ojisan,1\n04bou,1\nuchuu_kaizoku_sara,3\nbohemian_rhapsody,3\nsasorina,4\ntadano_myoushi,1\ntooka,1\noversized_insect,0\nwillfin,1\nphosphophyllite_(gemstone),0\nmorisoba_(silent_hill),1\nheaddesk,0\ntenryou_sena,1\nakira-riku,1\nels,0\nhira_taira,1\nlucina_(fire_emblem)_(cosplay),0\nasmodeus_(megido72),4\nbinding,0\nkumagapaniti,1\ntankcay,1\nuduki_(nissi),1\nnine_(dark),4\naek-999_(babe_driver)_(girls'_frontline),4\noukafafafa,1\nmaha5,3\nfullbottle,0\ngiant_leaf,0\nhirondo,1\nmocacoco339,1\nkord_(girls'_frontline),4\nmichi,1\nlwj,1\nshikishima_fugen,1\natlanta_(warship_girls_r),4\naegissanp,1\nkuro_wa_shinoru,1\nscamp_(kancolle)_(cosplay),0\nmitsuki_yuu,1\nsome1else45,1\nteru-chan_(aoi_tori),4\nudonko072,1\nyasu_suupatenin,1\ntadashi_hamada,4\nsiren_(mythology),0\nlawnielle,1\nmotsutoko,1\narabian,0\nmiranjo,4\nebine_toshio,1\nrindou_ringdong,1\nwild_arms:_million_memories,3\nmess_kit,0\nshumichi,1\nmailbag,0\nporthole,0\nsuzune_nia,4\nwerewolf_costume,0\nmaria_(ogino_atsuki),4\nmamiya_sakura,4\nhuey_laforet,4\nleglus,1\ntype-dog,1\nshien_(tatunokoshien00),1\nrinko_riban,1\nchoco_fashion,0\nnero_claudius_(idol_emperor)_(fate),4\ntower_of_dragon,3\nsoukoku_no_arterial,3\nhagimorijia,1\nkuronyanko,1\nstriped_sash,0\nkamishiro_rita,4\nkawai_sasami,4\naelion_draws,1\nnixtutyannh,1\npoppy_bros_jr,4\nlilac_(k32420276),1\nlittle_buddy_(splatoon),4\nnoptidha_lukchup,4\ndaiiichukiii,1\nhessra,1\nshirasu_(mashiro_(rikuya)),4\nfuu_torutanme,1\nherja,4\nmogi_yuusuke,1\naoi_kyouka,4\nbb_(fate/extra)_(cosplay),0\nkefir,0\nhoenn_(jgm1102),1\nhinoa_(hinoa1113),1\ncen_(cenll),1\nhoneyberry_(arknights),4\ndouble_teacher_life,3\nrodimus,4\netou_toshiko,4\njohn_mactavish,4\nue_(xjhu3558),1\npaulo_barrios,1\nhoshiko_(419401x),1\nyoul,1\nbonza,1\nzeta_plus,4\ncommissar,4\nyadu_nadu,1\nyatsushima_tetsuya,1\nfujita_mariko,1\ninahime_(sengoku_musou),4\ntusk_act4,4\nasami_yuriko,1\ndaikokuten_(fate),4\nsuzumusi114,1\nyasaka_(astray_l),1\nkumuiutabito,1\njune_(ne_z_asa),1\nregidrago,4\nyu_sa1126,1\nturtleneck_bodysuit,0\nhayasugi_hayato,4\narcher_(dragon_nest),4\nolivia_(yh),1\npillar_buster,1\namatou3,1\nkys_(k-k2),1\nyufeng_kaete,1\nstraight_razor,0\nangel_cage,3\nopen_can,0\njerun,1\nyayaziiii,1\nrafters,0\nabab_xiaxia,1\nscottish_fold,0\norange_eyewear,0\nkiss_kiss_drain,3\nhair_between_horns,0\nmahou_no_yousei_persia,3\nakuma_nihmune,4\nlittle_prinz_eugen_(azur_lane),4\nfrog_boy,0\nshuten_douji_(lostroom_outfit)_(fate),4\nnaohiro,1\nsanada-x,1\nnetflix,3\nchi-rol,1\nidnar,1\nzeorymer,4\nfino_ko,1\nalthough_she_hurriedly_put_on_clothes_(meme),0\nconfessional,0\npastel_(twinbee),4\nayaki_d,1\nthore_(nathalukpol),1\nkz-kura,1\nthriller,3\nhontani_toshiaki,1\niihoneikotu,1\nwashboard,0\nmemetaroh,1\nakieru_nomaki,1\nnekotawawa,1\nanhao1224,1\nharusameriburo,1\nmuneyuki,1\nkanade_suzu,4\nreah_(ys),4\naschen_brodel,4\nbreast_reduction,0\nnolma7,1\nbeer_crate,0\nclear,3\nyuuyan,1\nendend_(shinia),1\nnekojirou,4\naono_yami,1\npapepox2,1\nswan_lake,3\nannihilate_ray,0\nhuiqian,1\nmomikocu,1\nhane_riu,1\nfree_sex_sign,0\nneptune_(neptune_series)_(cosplay),0\nboba_fett,4\ntre_kronor,0\nradjeong,1\ncoupon,0\ncharles_ausburne_(azur_lane),4\nipheion_(flower_knight_girl),4\nfist_fight,0\npolice_motorcycle,0\nkare,1\npaku_paku_desuwa,0\nmakimaki_makky7,1\nkuon_bb,1\nbeer_keg,0\nmyholo_tv,3\nshiramori_sawa,1\numikaze_(azur_lane),4\nnext_white,4\nyuan_long,1\nbusou_kanojo,3\nkirov_(azur_lane),4\nbaicha_oqqa,1\nhonda_hanako,4\nfushimi_yuzuru,4\nhyakutarou_(momotar0_4),1\nfarmer_(sekaiju),4\neva_13,4\nyukichi_(tsuknak1),1\nichi_(pixiv6373491),1\nmuon,1\nrikei-chan_(tawawa),4\nhasegawamorito,1\nastral_buddy,3\nnonaka_yuu,1\nlingxia,1\namu_(doubutsu_sentai_zyuohger),4\npurplevortex,1\nyamakonbu,1\nnanamiso,1\ndrakeposting_(meme),0\niskandar_(fate)_(cosplay),0\nyazawa_mana,1\noywj,1\njyunhh,1\ngundori,1\ntamafurin,1\nedalyn_clawthorne,4\nlee_(gyee),4\nporno_dianno,4\nginmaru,1\nkukicha,1\ndeunan_knute,4\nshionji_ax,1\nkamisada_himari,4\nshumiao,1\ntharkis,4\nchiyo_(miichiyochin),1\nmagatan,1\nzongren,1\nnumarinko,1\nshinsei_(easycross1226),1\nhuan_yu,1\nheart_ribbon,0\nmononoke_(empty),1\nyakurope-moko,1\nyoshioka_haru,4\nbyako_(srktn),1\nchelodoy,1\nbertille_althusser,4\nfortisselle,1\nnight_strait_princess_(white),4\nn1k,0\nkeepvalley,1\nshiohana,1\nlillia_(league_of_legends),4\nmizushiro_takuya,1\ni_g1ax,1\nrepunit,1\ngypceros_(armor),4\noversized_plant,0\ntanuma_miyuki,4\nmozu_suka,1\ntifg39,1\nyanagiba_kiriko,1\nohiensis,1\nsmolder_(kanel),4\nz18_(azur_lane),4\ntsukunendo,1\nmia_alice,4\numezu_kazuo_(style),0\nphara,1\nhyuuga_makoto,4\nguraasan,1\njisoo_kim,1\nfuurin_restia,1\ncototiworld,1\nlili_levinas,4\npiano_wire,0\nkalim_al-asim,4\nbuntatta,1\nrougetsu,1\nsabertooth_cat,0\ndefibrillator,0\nashiga_oreta,1\nkitara_koichi,1\nmiyasato_haruka,4\nrasputin_(fate),4\nwei_yu,1\nwang_guo_nian,1\nace_(fft-0),4\nlorian_(elder_prince),4\nrakusai_(saisai_garou),1\npanties_around_toe,0\ntokiki_(tomok1),1\nhalo_removed,0\nbuta-don,1\numio_(neptune_series),4\nstriped_capelet,0\nyori_(a_a_yori),1\nspas-12_(goblin_huntress)_(girls'_frontline),4\nlim_(ramu),1\nfutaki_shiki,4\nsuper_sailor_chibi_moon_(stars),4\nteke,1\nmorse_code,0\nlaina_(show_by_rock!!),4\nyuugure_(azur_lane),4\nmm30212,1\narmored_legwear,0\nkokonoi_hajime,4\nmami_akira,1\ngrey_tongue,0\ninflatable_chair,0\nkotobuki_shiro,1\nkuyukian3,1\njsih,1\nhanging_on_arm,0\nharry_du_bois,4\ntape_dispenser,0\nyanagise,1\nmaboroshi_juuhime,3\nchaos_space_marine,4\nmomochi_chia,1\nsutegoro_shiina,4\npeperoncirno,1\nyugo_asuma,4\njomy_marquis_shin,4\nsirene_(last_origin),4\nm3_(gardevoir_m3),1\noppai_hoodie,0\nguts_man,4\ntone_(kancolle)_(cosplay),0\ngunuaki,1\nwilliam_tell_(fate),4\ntonbury,1\ntakimi_haru,4\nxexu,1\ngouken,4\nmrr_05,1\ncuso4_suiwabutu,1\nstanchion,0\ncamomi,1\nspectrier,4\naurastack,1\nshion_(kof),4\nshindoine,4\nmiles_(fma),4\nyamamoto_(ymmt_is_sexy),1\nxbsx,1\nldd.ek,1\ntouko_(kira2yue),1\nmek,1\ncondom_in_hair,0\nyatsucchie,1\nkaminari_qpi,4\nkouhai-chan_(mignon),4\ndelmo_commander,4\nflapple,4\nnomo_(16_16),1\nactinium89,1\nshinzousan,1\nhoshina_suzu,4\nleehwa,1\naotsuki_kaoru,1\nminami_shin_(zenshuu_bougyo),1\nsilverjow,1\ncokecoco,1\nhamstarhand,1\nnorisukep,1\ncolossus_(granblue_fantasy),4\ncarrier,0\nhamayumi_(genshin_impact),0\ntsuno_(nicoseiga11206720),1\npenis_wrap,0\nyamu_(yamuyama_web),1\nbatsuma,1\nbad_girl,4\nmidarin,1\nhanabi_(yuruneko0624),1\nmiura_takehiro,1\nshirakawa_(whitemist),1\nkazushiki_midori,1\ntonzura,4\nebisu_kana,1\nakagishi_k,1\nmamedenchi,1\nhaneiro,1\nmatokichi,1\nnadayui,1\nshin_mazinger_shougeki!_z-hen,3\nmadara_(natsume_yuujinchou),4\ncendrillon_(vocaloid),3\ncaterpillar_girl,0\nkapebeansies,1\nhanasaki_coa,1\nkotobuki_minako,4\nsode_no_shirayuki,4\ntyobimiru,1\norichalcum_reycal,3\npreschooler_(pokemon),4\nash_lynx,4\n5pb.,3\nkimikimi,1\nhys122211,1\nzieru,1\nj.2,1\nnagamori_mizuka,4\nflower_censor,0\nhinamizawa_hinami,4\nmosin-nagant_(moonlit_ocean)_(girls'_frontline),4\nmisogi_(halloween)_(princess_connect!),4\nguraedo-chungchoon,1\nhusband_and_wives,0\namakase_miharu,4\nutawarerumono:_futari_no_hakuoro,3\npenguinbox,1\natelier_ryza_3,3\nhakase_yurisuki,1\nkaran_koron,1\nbolero_(bo_le_ro66),1\nyun-yang,1\nsarayashiki_junior_high_school_uniform,0\nkyanduru,1\nskorpion_(crimson_starlet)_(girls'_frontline),4\ngs_(onsen_syndicate),1\nkitana,4\nyotogi_(yotogi_luminary),1\npink_delmo,4\nyagisawa_teru,1\nzunusama,1\nduzimura,1\nyaruse,1\nosananajimi_wa_daitouryou,3\nalessa_gillespie,4\ntakamizawa_natsuki,4\nnail_file,0\nnyamsas,4\nkirishima_akari,4\nrca,1\ncore_(girls'_frontline),0\ncook,0\nhamutz_meseta,4\ntetsukan,4\ntaka-chan,1\nsugar_sugar_rune,3\ngrenadier,3\ngeorg_prime,4\nshiratori_ryuushi,4\nyoshimi,1\nle_chevalier_d'eon,3\ngrandis_granva,4\nkatou_ryouichi,1\nninozen,1\neleanor_albertine_le_blanc_de_la_blois_de_la_valliere,4\ngamera,4\nkaz,4\nsue_(fire_emblem),4\ngolden_lore,3\ntorashiro_eiji,1\nakihabara_dennou_gumi,3\nmoriguchi_yuu,1\nyonasawa,1\ncornelius_alba,4\ngouen_no_soleil,3\nkirara_yakubou,1\nfelt,1\nanata_to_mita_sakura,3\nkokoro_na,1\n81_(mellowry),1\nwolfina,1\nasou_kasumi,4\nnicky_blake,4\nyunsuku,1\nsai_koro,1\nkanami_(bishop),1\nueda_toraji,1\nyellow_robe,0\nmaggie_mui,4\njyun,1\nte_to_te_try_on,3\ngundam_epyon,4\nelec_man,4\ncleavage_(game),3\nhumpty_dumpty,4\nsitar,0\njack-in-the-box,0\nwatabe_keisuke,1\nnana_to_kaoru,3\nmafu,1\nsakurai_masahiro,4\nc-3po,4\ngiygas,4\nkatou_taira,1\nwakka,4\nnabe_(crow's_head),1\nambush,0\npua,1\naltorealize,1\nmen's_young,3\ncosmos_(dff),4\nmitsurou,1\ncollateral_damage,0\nwhirlwind,0\nsasano_shiki,1\nsezamyan,1\nloli_fox_girl_(mdf_an),4\npiyo,1\nchewbacca,4\nshishio_(artist),1\nitou_youko,1\njuudai,1\nnp_(slipbounds),1\nyurul,4\ntougetsu_matsuri,4\nfuchi,1\nsarekoube,1\nyuraiko,1\nmurakumo1987,1\nyuzukineko,1\nkushabiria,1\ncuba_(hetalia),4\njyami,4\npolygonal,0\nborisx,1\nkazesayuru,1\nainili,1\nthe_king_of_red_lions,4\ntottema,1\nroteri_(roteri_69),1\npray_(furei),1\nviridian-c,1\nzi-dabu,1\nkatakoriku,1\nkihara_amata,4\namazume_ryuuta,1\nnathan_drake,4\nyuu-yuu,1\nsks,0\nkinoeneko,1\nstriped_leggings,0\nharuka_gracia,4\nshoujo_material,3\nboco,4\nidol_janshi_suchie-pai,3\nshiraishi_asuka,1\nmononobe_no_futo_(cosplay),0\nbeehunter_(arknights),4\nslapping_with_penis,0\nwasp_(anthyutena),1\nreno_(summer_spin-off)_(azur_lane),4\narmored_bodysuit,0\nshijohane,1\npersia_(mahou_no_yousei_persia),4\no_(jshn3457),1\nkunimitsu_(tekken),4\nmidnight_(arknights),4\ncthulhu_(poptepipic),4\nleotard_removed,0\nmario_golf,3\nsylvia_(konosuba),4\nholding_walkie-talkie,0\nshinonome_(cookie),4\nfood_delivery_box,0\nqawsedrftgyhujikolp,0\nmikimo_nezumi,1\nikameshi_(nega96396),1\nyuna_(ff10)_(cosplay),0\nmobile_armor,0\nsky_diver_xipuria,3\nhollow_knight_(character),4\nkasane_ao,4\nleona_garstein,4\nsakura_rin,4\narttoru,1\nkoma_(neko_musume_michikusa_nikki),4\nbeauty_(zoza),4\nlaozhanshi,1\ndnangel,3\ndog_mask,0\ngarden_eel,0\nmeginalter,1\ntekkai_blade,1\nellie_niunai_zhuyi_zhe,1\ngrimoire_~shiritsu_grimoire_mahou_gakuen~,3\namazu_(kurozu),1\nonmyoji:_the_card_game,3\ndd_(giogio99),1\nhappy_chaos,4\nmelissa_mao,4\nopening_can,0\nnatsumi_kei,1\ntataru_taru,4\nvt,1\njapa,1\nenta_shiho,1\natorosu,1\nsyringe_holster,0\nhakata_no_shio,3\ndhyana_mudra,0\nshinatsukou,1\nyui_(seiga),1\nzoe_(spacezin),4\nhoshino_(nia_hoshino),1\nnipye,1\nmilk_mustache,0\n66ta1yak1,1\nlindoh_flores,4\nccjn,1\nus2s,1\ntanyuu_karibusa,4\nden1208,1\ncanopri_comic,3\ns_(tenshi_no_kiss),1\nshimamura_joe,4\nshigatsu_(soratobuusagi),1\nfuji_kakei,1\nhutago,1\namaura,4\nmimosa_(flower),0\nchocolate_on_ass,0\nikeda_usao,1\n15kasikaze15,1\ndian_cecht,4\nichimatsu_(anaumemondai),1\noriotorai_makiko,4\nakiba's_trip_2,3\nhakurei_reimu_(fox),4\nneck_piercing,0\nhisami_nanami,4\nprofessor_ozpin,4\ngallia_(saint_seiya_omega),4\ndrain_(evork_festa),1\ndilation_insertion,0\navant_garde_(artist),1\nacrux,1\nfour_(drag-on_dragoon),4\nmochimochimochi,1\nnimbus_(world_flipper),4\ngillian_chen,4\ncomiket_85,3\nmiyabi_(miyabi_r18),1\nkikuma_kaya,4\noro_ponzu,1\nyoshida_kochou,4\nremington_model_700,0\nyuit_(queen's_blade),4\npacifica_casull,4\nbado_(kotoba_noriaki),4\nshiabisu,1\nfukemachi,1\njeong_surim,4\nprinny_~ore_ga_shujinkou_de_iinsuka?~,3\nayase_eli_(cosplay),0\nthe_lego_movie,3\nnumenume_(powa-ogutyogutyo),1\npiruluk,4\nfengsao_hua_tanzhang,1\nfeena_(shingeki_no_bahamut),4\ngyorui_(makjita),1\nebisumaru_(ebisumaru3),1\nkototora,4\nuchi_no_musume_ni_te_wo_dasuna!,3\nmiyako_(mongcocoa),1\nkotsu_masumi,4\nfortress_2_(sekaiju),4\nmogeko_(mogeko_castle),4\nquest_receptionist_(monster_hunter_3_ultimate),4\nfunuyu,1\nseneo,1\ndinosaur_hood,0\nhood_pull,0\notochichi,1\nlarge_pasta,1\nlarge_mouse_(monster_girl_encyclopedia),4\nmatsuura_ayane,4\nchiba_sayaka,4\nkatakura_supipi,1\ntakahashi_meishin,1\ncastille_(phantom_brave),4\narakumo_gakuen_soccer_uniform,0\nalbert_(shingeki_no_bahamut),4\nyumekawa_ruru,4\nseki_oriko,4\nkousaka_yuuma,4\nlis_zhu_long,1\n8gou,1\nkaru_(ricardo_2628),1\nhimeki_chifuyu,4\nkelvena_(xenogears),4\nkuronekozero,1\nclaudia_(saga),4\nmyriam_(saga),4\nazir,4\nlemres_(puyopuyo),4\ntamagoboro,1\nnanase_sena,4\nkazemachi_haruka,4\noxenia,1\ntsurikichi_obasan,0\ncaleen_keemosn,4\ndoctor_(granblue_fantasy),4\nanjou_(yancha_gal),4\nabyssal_nimbus_princess,4\nleech_queen_(matilda_fiship),4\nkasugano_sakura_(cosplay),0\nnukekip,1\narima_kishou,4\nmidori_(kemurikusa),0\nice_cream_crepe,0\nwojtek_(ido),4\nraiden_mei_(shadow_dash),4\nkamille_areopagita,1\nvision_(marvel),4\ntonton_(mathcaca24),1\nlove_love_princess,3\namedama_(akaki_4207),1\nmou_(mooooow),1\nhiei-chan_(azur_lane),4\nhimokawa_udon,1\nlanyingchengzhi,1\nmozu_(fire_emblem),4\namamiya_rindou,4\nmerric_(fire_emblem),4\nfeo_ul,4\nsammy_(bestsammy),4\np_(p25234112),1\nmugimaru,4\nsenchimee,1\nnanina_(nijnan),1\nbe_(ronironibebe),1\nmilkychu,1\nochikata_kage,1\nmoto_(otemoto02),1\nhinata_ema_(aikatsu_friends!),4\ncloneko_(zelmeledf2),1\nhino_(moca),1\nbrocon,0\nbrowning_hi-power,0\nyuria_of_londor,4\naltyane_hetata,1\ncallarinc,1\nhonda_tamaki,4\nniiyama_nico,4\ncure_mofurun,4\ncosmos_(the_crying_moon),1\nusutominsutaa,1\nalex_milne,1\nhum_(ten_ten),1\ndaakuro,1\nkatana_(life_is_beautiful),1\nwahiko_(black_bastard),1\nmamezou_(mamechan182),1\nhitoki_(kokusei1977),1\nh.dupp_(nama_aakiruu),1\ntapu_bulu,4\nyukimi_daifuku_(food),0\ntachibana_rino,4\nspirit_chiasma,1\nbeelzebub-jou_no_okinimesu_mama.,3\nmorty_smith,4\nwang_chen,1\nramnik5,1\nsaitou_kakkou,1\nhime_(ohime_pkg),1\nastromech_droid,4\ncabbage_soft,3\nfate/grand_order:_first_order,3\ngolden_tabby_tiger_(kemono_friends),4\nnumazume,1\nincro300,1\npig_tattoo,0\nanimal_balloon,0\nspot-billed_duck_(kemono_friends),4\nyuuutsu_shan,1\nchuuko_demo_koi_ga_shitai!,3\nchristian_private_white_clover_academy_school_uniform,0\nakira_(aristole),1\nimpossible_necktie,0\nharabacho_(gkfkqkch1),1\nmika_(under_night_in-birth),4\nblaster_master_zero,3\ntachibana_chizuru_(kimi_to_boku),4\ndew_(7302235),1\nkari_okome,1\nyaho_(yaho0211),1\nlepoule,1\nao_(1226ao),1\nyamaguchi_sapuri,1\ngata2013,1\nparfait_(lamune),4\nteam_plasma_uniform,0\ndream_c_club_uniform,0\npaint_on_fingers,0\ntowako_(akane_shinsha),3\ndenson,1\ndarandy,1\nitou_(golem_inc),1\npaintbrush_hair_ornament,0\nmomonoko_noko,1\nsutei_(xfzdarkt),1\nyuuhi_korona,4\nkuro4221,1\nsully_(fire_emblem),4\nbarber,0\nkarui_(naruto),4\nsll,1\nnamiko,4\nchidori_nekoro,1\nmendou_shuutarou,4\nido_(nothing679),1\ngoodsun_sunkumi,1\nyellow_rope,0\nenyon_moon5,1\nshoe_box,0\nchibigou,1\nkanno_naoshi,4\ntsukito_(leaf_moon82),1\nkisaragi_you,1\nsetsuri_(tubaki),1\nfujishiro_otone,4\nviorie,1\nel_(canon_jihad),1\nsake_(utopia_modoki),1\ngranberia,4\nyui_(daijun),1\nnao_akinari,1\nfukushima_uichi,1\nkettsu,1\nsakatsu_ohane,1\nengawa_(rarenago),1\nneji_(ultramarinesunset),1\nmatutoya,1\nlemonice,1\ntakenoko_seijin,1\ntaka_(copyrobot),1\nissho_ni_gohan_tabetai,3\nkasugai_haruko,4\nmusashino_kazuhiko,4\nkanaya_azami,4\nanother_code_(elsword),4\nmihirogi_uta,4\nano_(sbee),1\nkaraage_karara,1\nfat_step-sister_(orizen),4\nheadmistress_fiora,4\ngs-mantis,1\ndragon_ball_z_fukkatsu_no_f,3\nhage_tashuumi,1\npaint_gun,0\njulis-alexia_von_riessfeld,4\nknee_spikes,0\nyuuki_(nijiiro_palette),1\narukanu,4\ngoat_legs,0\nkazari_asami,4\njinlu_tongzi,4\nkuimu_lang,4\nnagatsukiariake,1\nkuramoto_chinatsu,4\nartillery_imp,4\nrokuroku_(xd_p),1\njosou_jinja,3\ncap105,1\nhuang_(darker_than_black),4\nkana_yukino,1\nfinch_(xenoblade),4\nnew_jersey_(pacific),4\nguild_cq,3\nkirinkirin,1\nsenkane,1\nphantasy_star_online_2_the_animation,3\nsaiko_aida_(pkmn_soda),1\ncawfield,1\nyu-gi-oh!_(toei),3\nyu-gi-oh!_duel_links,3\nnyx_(hades),4\nneroshi,1\nhiota_(kuhi_0301),1\nranemu,1\ndom_(animal_crossing),4\ndarr1o,1\nmonmo_mu,1\nno_coat,0\ntakeru_(hashiru11275),1\ndhokidoki,1\nsolitude_rain_(love_live!),0\nthe_lovers_(tarot),0\nthe_high_priestess_(tarot),0\nmeke_(77842928),1\nmasamika10086,1\nprinz_heinrich_(fireworks_and_tapestries)_(azur_lane),4\nrunning_blades,0\njinnai10,1\ngyudan_(t1k_7),1\nmejina,1\nkomari_mhy,1\ntautiki,1\nyuuppi,1\nred_hare_(fate),4\nthunderbird_type-blue,4\nyuugumo_(kancolle)_(cosplay),0\nqianze_chia,1\ngremyashchy_(azur_lane),4\nchapayev_(white_cavalier's_respite)_(azur_lane),4\nvk-47_flatline,0\nshelby_seraphine,4\nshaddoll_fusion,1\ntaiki_(juuni_kokuki),4\nfujiwara_tatsuroo,1\njuniper_(artist),1\nclothes_shop,0\nmarch_hare_(alice_in_wonderland)_(cosplay),0\nazuma_(lily-white_longing)_(azur_lane),4\ncaws_(girls'_frontline),4\nqiu_yue_(vtuber),4\nfujisawa_naoyuki,1\noverhaul_(boku_no_hero_academia),4\nu-sama_(u_summer0719),1\nsnoot_challenge,0\nkeishin_academy_uniform,0\nkryztar,1\nprecure_netorare_(meme),0\ndemons_driver,0\no22no,1\nero_condo,3\nbisquii,1\nluong,4\naguila,4\nm4a1_(suspender_of_time)_(girls'_frontline),4\ntoyosu_toyosu,1\noshino_hazure,1\nyoshishi_(yosisitoho),1\nmarble_(stone),0\nhachino_mugi,1\nsuika_aji,1\nsho_yai,1\nblowing_candle,0\ngirl_who_trained_on_mt._haku_(touhou),4\nskym_(kumei),1\naloupeep_(enna_alouette),4\nillyasviel_von_einzbern_(swimsuit_archer)_(third_ascension),4\nvsk-94_(night_on_the_silver_bay)_(girls'_frontline),4\nmary_anning_(fate),4\ngodtier_(homestuck),0\nsana_(tiny_evil),4\nleonardo_da_vinci_(azur_lane),4\nmagnum_boost,0\nnipio,1\nbare_legs_girl_(kamizaki_hibana),4\nfufu_(fufuichi04),1\ntsumugi_(halloween)_(princess_connect!),4\naoba_rinka,4\ninzanaki,1\nmaniwa_kamakiri,4\nonyuuuu,1\ntamichan,1\nshimizu_megumi,4\numami_(sakeikura),1\nmichigan,1\nkogure_yuuya,4\nserenade_(sinohi),1\ntakuan_(takuan0907),1\nsusukihotaru,4\njusc0,1\nrm_(rm32),1\nhosshi_(nariagari),1\nhokuto_(tokuho),1\ngunbam,1\nnigel_uno,4\nwallabee_beetles,4\nido_e_itaru_mori_e_itaru_ido,3\nlleu,1\nmarz_von_ludowing,4\nichiba_ko'ushi,1\ncomet-kun,4\nneoko,1\nichiya_(obey),1\nloup,1\nmaya_(tirolpop),1\nnijou_izumi,4\nerect!,3\ndekomegane,4\nkaiyi,1\nhokkana,1\npeninsula_(disappearedstump),1\nhimenomikan,1\nyagami_kagami,4\nakechi_mitsuhide_(oda_nobuna_no_yabou),4\nyukimaru_(gojo),1\ndragon_fruit,0\nkoiken_otome,3\ngekoge_satoru,1\nnaname_(fossama1),1\nibata_shouta,1\nmallard,0\nakatoki!,3\nk_liss_s,1\nkokura_asahi,4\nmagma_chipmunk,1\nscp-076-2,4\nmorphin_e,1\nfist_shaking,0\nchiisana_kanojo_no_serenade,3\nbrady_(fire_emblem),4\nmanmaru_tamago,1\nlaser_pointer,0\nourai_no_gahkthun,3\ntrombe,1\nokku,1\nyumemizuki,1\nsashiromiya_sasha,4\nevanyi,1\nikushima_(danshi_koukousei),4\nt-rex_na_kanojo,3\nkon-el,4\npegasus_koga,4\nsearch_bar,0\ndawit,1\nsoul_edge_(weapon),0\nyuge_sasatarou,1\nkom0980,1\nmzoo39,1\nnatsujiru,1\nazkn,1\nraymie0124,1\nlecturing,0\ngyuunyuukeepaa,1\nshokikanes,1\ncrash_landing,0\nmiffy,3\nsapphism_no_gensou,3\nvincent_t_(oriaarts),1\nrisem,1\nshikimori_kazuki,4\njalm,1\nwhipberry,1\nlime_(among_us),4\n343rone,1\nhige_(com),1\nnolmo,1\nface_cutout,0\nmizuno_minato,1\neyeball_bracelet_girl_(fkey),4\nsurumeika_(ninfiiiir),1\nfuzinoe_13b,1\nbroken_vase,0\nbaywatch,3\nban_(777purin),1\ncarmilla_(shepherd0821),4\nbelt_bow,0\nreminiscence202,1\ndarius_burst,3\nsawamaharu,1\ntoo_many_hearts,0\nghost_(modern_warfare_2),4\nmikajima_saki,4\ntoku_kekakewanko,1\nfondue,0\nzechs_merquise,4\ntakemoto_yasuhiro,1\naqua_wings,0\ncloche_hat,0\nkureson_(hayama_baa),1\nsovetsky_soyuz_(azur_lane),4\nemera_(bombergirl),4\ninverted_moon_of_the_heavens,0\nkris_(fire_emblem)_(female),4\nushijima_wakatoshi,4\nwatercolor_background,0\nlive_union,3\nvera_(punishing:_gray_raven),4\namayo_thranana,1\nsensaki_chihiro,1\nfuture_princess,4\nkaron_official,3\nfang_zhenjun,1\ncowardly_lion,4\ngreat_mazinger_(robot),4\nlegioss,4\nchinese_food,0\nimomochi,0\nlean_(konosuba),4\nlongzaibei01,1\nsg_(under_siiiiii),1\nuesugi_ren,4\nnagumo_(qmzp10),1\nmulberry_(plant_crude_drug)_(arknights),4\nueyasu,1\nk_ototo,1\ngoing_merry,4\nizubuchi_yutaka,1\nhatou_kei,4\nooshima_towa,1\nrwby_ice_queendom,3\nbb-28_(cosplay),0\njie_xian_(tsuki),1\ntraveler_(artbbt),1\nhanatsuki,1\nc-chaos,1\ntotal_drama,3\ntwelve,4\nsailen0,1\nsui_(aruko91),1\nnanami_(virtuareal),4\nide_naomi,1\nmiia's_mother,4\nwaa153,1\nchi_no,1\neyelash_curler,0\nainudraws,1\nsatonishi,1\nvagina_dentata,0\nultraman_trigger_(series),3\ndadamori,1\ngemini_kanon,4\ndetached_horns,0\ntettabuzz,1\ntei-o,1\nroyal_flare,0\nokuno_naru_(exoprsa),1\nnagata_ozu,1\nnanao_parakeet,1\nkyou,1\ndedeyong,1\ninori_(princess_connect!),4\nr-one,1\nwenu_(kirikirimai),1\nkakyoxx,1\niwashi_gimu,1\nmaruna_(maru01),1\nokayashi,1\nmiiru,1\n4tb_(4tera_byte),1\ncalling_card,0\naircraft_carrier_summer_princess,4\nhanakuma_chifuyu,4\nimac,0\nthe_dark_mangaka,1\nsutera_sea,1\nyokoshima_tadao,4\nt.o.d,1\nlamento,3\nmaldives,1\noga_tatsumi,4\nprunus_girl,3\nparappa_the_rapper,3\nshario_finieno,4\ngeorge_joestar,4\nyamaki_suzume,1\nsaegusa_mikoto,4\nbitaraga,1\nkumojacky,4\nzettai_muri_no_akira,1\nkaron_(vtuber),4\ntori_(qqqt),1\nban_(bannyata),1\nlugh_(fire_emblem),4\nsumeragi_(black_rose),1\nkiba_mikoto,4\nchisato_and_takina_kicking_each_other's_butt_(meme),0\nsanoharu,1\nsouth114,1\nfcp,1\ndisembodied_torso,0\ntachibana_akira,4\ncockadooodledoo,1\nkosanmaka,1\nbroca_(arknights),4\ncybertron,0\ntakanashi_rikka_(cosplay),0\nlawnmower,0\nepis,4\nnejiresyake,1\ngnosis_(arknights),4\ngureshi_db,1\nkouno_ruruka,4\nhood_over_eyes,0\nxyufsky,1\nsaitaniya_ryouichi,1\nmultiple_penis_fellatio,0\ntype-1_energy_sword,0\nssong2,1\nnonbiri_monban,1\n9degree,1\nkushibi,1\nrei_(farta_litia),1\ndepe,1\nsaki_tsurugi,1\nuzumaki_naruto_(cosplay),0\ngrimace_(mcdonald's),4\nisumi_(yangyan),1\nasahi_(vjss4548),1\nji_yue,1\nhanazono_serena,4\nkotengu,1\nkbyd_(idolmaster),0\nradioactive,0\nfujisaki_(hjsk),1\nparvati_iv,4\npop_sound_blossom_(idolmaster),0\nmenokonome,1\ndragon_install,0\nbiggs_(ff7),4\nella_of_the_sky,4\ntokiziku,1\ngeometric_pattern,0\ncum_bucket,0\nkobapyon,1\nfate/grand_carnival,3\nfake_hisui_(cookie),4\nfall_(aki),1\npekodam,4\nhijiri_(xxhizirixx),1\nu-doku,1\nlife_neko72,1\nstarstruckdon,1\nwauwa,1\ntenya_mizuki,1\nwozora,1\nmatayoshi_(nopple_1000),1\ntriple_vaginal,0\nsenri_mana_(princess_connect!),4\nshocker,0\nclitoris_pull,0\nirorigumi,1\nfumizuki_academy_uniform,0\nakatsuki_(kuon),1\nmorimasakazu,1\nebikawa_kanetake,1\nunown_x,4\nhokkaido_(artist),1\nkiyomasa_(dangan),1\nwudi_sao_nian,1\nenryuu_(rmxs3488),1\nkawasaki_raimu,4\namecha,1\npig_boy,0\nsuiiryu,1\nmia_(39565899),1\nnia_i,1\nrascala39,1\nrye_(hyn_uka),1\nyellow_tunic,0\nkasane_ted,4\npinchuu,1\nneekochanii,1\nshin9tani,1\nyuni_(irohasuiroiro),1\nyuki1977,1\nhozu_(hozumi),1\nichigozaka_middle_school_uniform,0\nasahina_samidare,4\nhomerun_ken,1\nriding_boots,0\nnecronomicon,0\nholding_shawl,0\ntokage_(kaamin),4\nene_mizunoawa,1\nxiwang_xintu,1\nfilicia_heideman,4\nice_flower,0\notamashimai,1\nadelbert_(madoka_magica),4\ntonikaku_kawaii,3\nmoboj13,1\nleo_(reiga),4\nkasukabe_tsumugi,4\nkotamun,1\nmido_(mido_chen),1\nyamamoto_akane,4\nyuki_(12cut),1\npollution,0\nbari_(destiny_child),4\nwata_(akawata),1\nyorick_(league_of_legends),4\nunagi189,1\nnanozenzen,1\nkirome_toru_2,1\nroxy,4\npulling_back,0\nkagamine_rin_(if),4\nt-5000_(girls'_frontline),4\ntomoe_hiyori,4\nkimae,1\nlee-taro,1\nbingbingzi,1\nwotori,1\notoboke-san,1\nsendou_airi,4\nandou_ryuu,1\nkumashiro_izuta,1\nmz_(yeye_ai_chipao_mian),1\nnn_(eogks),1\nankha_zone,0\nyufu_kyouko,1\nximubingo,1\nmush,1\nbula,1\ndokuga,4\ndeviantart,3\nthe_moon_(tarot),0\nnezielmi,1\nyabuki_shingo,4\nmcgillis_fareed,4\nrifufu,1\nnatsumikan,1\ncandy_corn,0\ncore1013,1\niberis_(ogami_kazuki),4\nsypha_belnades,4\npongari,1\nakatsuki_no_kiseki,3\neska_(cookie),4\nplasbott,1\nhisaki_(morenabe),1\ndotaku_(wran8845),1\nscarlett_(artist),1\nkama_(fate)_(cosplay),0\nhowa_type_89_(girls'_frontline),4\nhatsune_haruka,1\nyoda,4\nela_(rainbow_six_siege),4\nnakakouji_ayano,4\nbrigitte_stark,4\notogi_ryuuji,4\nrunerigus,4\nshinoe_nun,1\nefreezerarts,1\nyamata_no_orochi_(kemono_friends),4\nred_tulip,0\nkappa_mame,1\nhidaka_hokuto,4\ntomatology3,1\nnetorase,0\nedel_(ikeuchi_tanuma),4\nyupii,1\ntlman,1\nsu_ggushi,1\ncbj-ms,0\ndai_nikucho,1\nfukasugi_aiko,4\nhei_yksk,1\nsnow_on_body,0\nimaoka,1\npanel_gag,0\nxehanort,4\nmcrc_science,1\nknck,1\nhaibara_ayako,4\nterrakion,4\nicelandic_flag,0\nholding_hairband,0\nmorisu,1\nruvik,4\ntouma_(tsunamiharuru),1\ndenkichi,1\neva_03,4\ntorn_sarashi,0\nxinuo223,1\nnono_kotori,4\nyukimura_hajime,1\namado_(shin),1\naqua_apron,0\nholding_scale,0\namopui,1\njeritza_von_hrym,4\nkitsu+3,1\nsakippo_(sakippo0),1\nblank_(ff9),4\nfive_of_hearts,0\nsanasanayukikuni,1\nhitachiin_kaoru,4\nfavonius_greatsword_(genshin_impact),0\nhamster_(hanmster),1\njinguuji_kuesu,4\nwormadam_(plant),4\ntokihanatareshi,1\nzarashi,1\nsinape,1\nchijimetaro,1\ncatneylang,1\nsinged,4\nbaiola,1\nbai_winchester,4\nyoohei_(pizzadev),1\nsaitou_tsukasa,1\nlancefate,1\nmamo_(fortune-mm),1\nwindbreaker,0\nsarikyou,1\nsui_hi_sf,1\nakisuko,1\nracco,1\npoppi_pipopapo,4\nseijo_senki,3\nougi_(u_to4410),1\nwhac-a-mole,0\nannie_(destiny_child),4\nbannou_bunka_nekomusume,3\nyasuzumi_yoriko,4\nsuneru,1\nasai_makoto,1\nvoice_(vocaloid),3\narcana_famiglia,3\norisu_atto,1\namamiya_yuki,1\nqueen_qko,1\ntaihei_tengoku,1\ndoujin_work,3\nmirrrrr,1\nannerose_redrum,4\nuemoto_masato,1\nkikwi,4\ndiamond_dust,1\nsai_tamako,1\nsweetest_music,3\nnaga_(staygarden),4\nnayru,4\nm79,0\nsoma_(ar_tonelico),4\nzoids_shinseiki/zero,3\nmoric,1\nkatakura_nayuuki,1\nkatsuragi_mari,4\nmeily,1\nhobble_dress,0\nkalalasan,1\nyaeba,1\nkano-0724,1\nsierra,4\nmisono_chiaya,4\ngarickson,1\nmarinon,1\nfield_radio,0\nfairyfloss,1\nkuroi_mizore,1\nsprite_(drink),0\ncanvas_(medium),0\nfujimori_yuu,4\ntuzki,1\nmorizono_rikka,4\nalessi,4\nkenchi,1\nbelka_dog,1\nshakti_(elsword),4\nkirihara_izumi,1\nmacbook,0\nfiamma_of_the_right,4\nmad_(kusakabe),1\ntheodolite,0\nscal2let,1\nstufquin,1\ntamaoka_kagari,1\ngustaf,4\nsusan_(rakeemspoon),4\npemoko,1\nhoujou_kuniko,4\nnemu_(haibane),4\nbattlefield_3,3\ngarrett_hanna,1\npip_bernardotte,4\namraam120c,1\nmiori_(alice_parade),4\nsiosiosolty,1\nhoshiguma_yuugi_(cosplay),0\nkamen_rider_super-1,4\nnarumi_nakuru,4\nruby_(ff9),4\nringo_roadagain,4\nsouma_yuki,4\nvenus_versus_virus,3\nhievasp,1\nmayumio88,1\nelite_beat_agents,3\nreen_kadorer,3\nootori_chacha,4\njian,1\nflare_gun,0\none-armed_hug,0\ncarrot_glace,4\nassassin's_creed:_revelations,3\nlove_cube,3\nenone,1\ngenzaburoh,1\ntaro_(disgaea),4\nmakoto_(dandelion),1\nwalter_sullivan,4\nsonnano_ari,1\nakapug621,1\nichijou_kou,4\nmonmon,1\narthas_menethil,4\nniimura_(csnel),1\nmalboro,4\nnakadera_akira,1\nmiss_surfersparadise,0\ntakahashi_(ichigo_no_katamari),1\nariel_org,4\ntakarada_rikka_(cosplay),0\njdw,1\nkitsugai_sese,4\nshinigami0139,1\ns_sasaki_09140,1\nchilly_(kirby),4\nnirak,1\nshizuri_(neet_de_otaku_na_kunoichi_to_naze_ka_dousei_hajimemashita),4\npoechan_chan,1\npapion,1\ndaiichi_ruby_(umamusume),4\nhand_on_another's_ear,0\ncatumi_(ta938_ka23),1\nblack_rhinoceros_(kemono_friends),4\ntanima_yuri,4\nnaoya_(naoya_ee),1\nnigari_(ngari_0115),1\nanubituf,4\neyes_visible_through_headwear,0\nfukuinu,1\nkko_(um7mr),1\nshiyashiki,1\nnuts_(hazel-nuts),1\nonizuka_ao,4\nrobonyan,4\nholding_nose,0\nurashima_kanako,4\nblazing_souls,3\nferry_(halloween)_(granblue_fantasy),4\ntavn,1\nkazumi_(madoka_magica),4\na_(naruto),4\nkyama,1\nkrt736,1\nsimisear,4\nharold_berselius,4\nshimizu_naotaka,1\nriry,1\nowasaki,1\ntetsu_(cencoroll),4\nnanashin,1\niokawa_karada,4\nj-max_japan,1\ngoyacchi,1\nkoyama_tomosato,1\ntanya_(darker_than_black),4\nsader,4\nvesper_(pixiv3568),1\narx-7_arbalest,4\nsilversirius,1\nos9,4\nkuramachi_anna,4\nbattle_programmer_shirase,3\nootori_amane,4\nsaigo_(ip_police_tsuduki_chan),4\njohn_k._pe-ta,1\nnogami_shouko,4\nquality_cabbage,0\nfutaba_morishita,1\nebihara_minase,4\naratani_tomoe,1\nkimimaru,1\nsharin_no_kuni_himawari_no_shoujo,3\nforklift,0\nrei-kun,4\nrobo-ky,4\nchua_churam,4\nmagical_tale,3\nnakahara_(fukufuku),1\nyoshijima_ataru,1\nmatsubara_ryuu,1\nshiotsuki_kazuya,1\nlucia_(fire_emblem),4\nfigure_17,3\nhayashi_tsugumi,1\nshiratama_(irodoli),1\ntsuki_hana,1\nmomochi_zabuza,4\ncomic_megastore_h,3\n490,1\nsouto,1\ntsukushi_sasa,1\nkomaruri,1\naoba_shigeru,4\nmimizou,1\ncaptain_commando,3\nnanakagi_satoshi,1\nmime_(fft),4\nmagical_drop,3\npet_(sekaiju),4\nsheriff,0\nbartholomew_kuma,4\nr2sais,1\nd-stop,1\nozawa_yumi,4\nnao_(otosuki),4\nkadaj,4\nsasurai,1\ntakeshita_kenjirou,1\nphantasy_star_portable,3\nkujira_pasta,1\nchiru,1\nimagawa_yoshimoto_(sengoku_otome),4\ntsuyazaki_kokage,4\nfukumimi,1\nkarada_asobi,1\nwagashi_(okashina),1\nryuutetsu,1\nmephisto_pheles,4\nmaroyan,1\nshibamoto_thores,1\nryuukitsu_koushu,4\nsuupii,1\nimo_mushi,1\nsippo-soft,1\ngokkun_tororojiru,1\nhiya,1\nransa,1\nmovie_thief,4\niyokawa,1\ngarnet_(sumaga),4\nnumina,1\npokemon_ranger_2,3\nbreast_punch,0\ngvzzgl,1\nmizutani_tooru,1\nkazaya,1\noutside_of_play_area,0\nhoshinokaoru,1\nbolbbangbbang,1\naska_(anakoluth),4\nh&k_mark_23,0\nnukoji,1\nfairy_knight_lancelot_(third_ascension)_(fate),4\nyato_(arknights),4\nchloe_lilith_stella,4\neps3rd,1\nshiori_(jonsun),4\nmonster_world,3\nkousaka_rui,4\nhikaru_310,1\nflotation_belt,0\nindigo_(tylwing),4\nalcina_dimitrescu_(cosplay),0\nsafurantora,1\nch-47_chinook,0\njsscj,1\nhyakunichigo_ni_shinu_wani,3\nshadow_kirby,4\nhercules_(1997_film),3\nbasculin_(red),4\nspotted_hyena_(kemono_friends),4\ngalarian_darumaka,4\niroha_(samurai_spirits)_(cosplay),0\nyou'a,1\nsoaryuna,1\nbutterfly_on_hair,0\nitsuka_neru,1\npanda_(heart_sink),1\n7fuji_06,1\nsorata123,1\nanimal_ear_request,5\nmono_(mono_mon),1\nnonexistent_memories_(jujutsu_kaisen),0\ngalarian_farfetch'd,4\npushing_cart,0\ncaren_hortensia_(amor_caren)_(first_ascension),4\nbeta_(joutarou),1\nmidnight_(midnightstream3),1\nfan_hair_ornament,0\ncorn_potako,1\nmitsubishi_lancer_evolution,0\ntara_(szzj7733),1\npunc_p,1\nning_hai_(moon_palace_rabbit)_(azur_lane),4\ninuyama_kuroe,4\nhibana_(enen_no_shoubotai),4\nshannan_(fire_emblem),4\nfujii_shino,1\nooki1089,1\nnatsume_asato,1\nyoshino_junpei,4\nkotomura_akane,4\ntarantulaines,1\nkido_jirou,1\nmoyatarou,1\n9s0ykoyama117,1\nsantos,1\nrachel_(pokemon),4\nkomiya_nigi,1\nmurata_himeko_(arctic_kriegsmesser),4\nmonotosu,1\narchitect_(frame_arms_girl),4\nsemovente_75/18,0\npurple_overalls,0\noutsuki,1\nkomainu_ears,0\nreeze_(reezely),1\nichijou_kokona,4\nboarded_windows,0\nchagoon,1\nz16_friedrich_eckoldt_(warship_girls_r),4\nshimakaze_(warship_girls_r),4\nharuno_suzune,1\nkaras,3\nnotte_(dragalia_lost),4\ntugmix,1\nrocket_girls,3\ngentletiger,1\nfuugetsu_(sanmunyudai),1\nikk,1\nshin_(hokuto_no_ken),4\nrin_mokkomoko,1\nkarthus,4\nfarina_(fire_emblem),4\nhiiragii_(hiiragi_0404),1\ndawapat,1\nstitch_(lilo_&_stitch),4\nmiz,1\nunwrapping,0\nt_miyanagi,1\nnoir39,1\nkamekichi27,1\nkijinkutsu,1\nuehara_ayuko,4\nsmi_(enraku),1\nsette_(nanoha),4\nhitachi_izuru,4\nhibino_hibiki,4\nayatori_(sensei_heroism),1\nazling,1\nforo_(planet_cage),1\nplawres_sanshirou,3\nkel-tec_ksg,0\ntorte_(triggerhappy),1\nstir255,1\nchocolat_(noucome),4\nyoneyu,1\nchest_cannon,0\nmanami_sangaku,4\npsuede,1\niida_riho,4\ntsuburaya_mana,4\npayday_2,3\nxuelan,4\nremedei,1\nzogok_(okekan),1\nice_(doragon),1\nkumahara,1\nkazuraba_kouta,4\nviola_(trusty_bell),4\nkon_(tokyo_ravens),4\nkondou_totetsu,1\nsouji_(senran_kagura),4\nkajishima_masaki,1\njakuzure_nonon_(cosplay),0\nchokuboron_ryou,1\nmagnolia_arch,4\nmizoredama,1\nsayonara444,1\ngreen_screen,0\nlouis_vuitton_(brand),0\norange_moon,0\nuri_(uryu002),1\nmeme-tan_(bana_nan26),1\nkoizuka_koyume,4\nsatou_(danganronpa),4\nsouseiki_aster_gate,3\nfukujon,1\nakakitsu,1\nnaoya_come,1\ntool_kit,0\nkusari,3\nslee,1\nkuromitsu_maria,1\nshibuya_hajime,4\nalderion-al,1\nakira_(mr_akira),1\ngensou_suikoden_tierkreis,3\ntamaxi,1\narksign,3\ninsect_collection,0\nkyo_(kyo21413),1\npekoo_(pekota),1\nkitsune23star,1\nccaw,1\nling_(vivianling),1\nsucking_on_multiple_breasts,0\nnishi_tanuki,1\nshifumame,1\nnerokuro,1\nshidaccc,1\nbanana_takemura,1\nsonokawa_momoka,4\ntimaking,1\nphantom_gundam,4\nnijino_yurika,4\nhieda_no_amu,4\nsurre_academy_uniform,0\nnagachika_hideyoshi,4\nbacher,1\nmice_(rune_factory),4\ndina_(sennen_sensou_aigis),4\nmale_warrior_(disgaea),4\nstealstitaniums,1\niroha741852963,1\naiueo1234853,1\nminono_aki,1\nharukaze_sensation!,3\nitou_satoshi,1\nfailnaught_(fire_emblem),0\nsouki_lankni,1\nberlinetta_(pixiv_fantasia),4\nkusubii,1\naurora_(kanachirou),4\npool_party_caitlyn,4\nyuzuki_yukari_(cosplay),0\npopuri_(fushigi_mahou_fun_fun_pharmacy),4\ndaimon_masaru_(danganronpa),4\ntosh_(arc_the_lad),4\ntrento_(summer's_hotness?)_(azur_lane),4\ngunvolt,4\njiu_fanglianhua,1\ntktk135,1\nfunkysatou,1\nyonomo,1\nnatsu_(360c),1\ncolorful_drop_(module),0\nbella_(sennen_sensou_aigis),4\nmiranda_lawson,4\nkarioda,1\ngaruda,4\nnyanko_(marl_kingdom),4\nrekareka,1\ngigapuri,1\namano_uzura,1\nthunderbird,4\ngeshiko_(girls_und_panzer),4\nsimca,4\nkireina_(osiimi),4\nhathor_(p&d),4\nyagiryu,1\nsugar_sound,1\nshippitsu,1\ncharacter_counter_request,5\nnasuuni,1\nblind_prince,4\nmarusan,1\nkanbayashi_mizuki,4\nrisa_(pokemon),4\nblue_tears_(infinite_stratos),4\ngodzilla:_planet_of_the_monsters,3\nflatfield,1\nyamagishi_chihiro,1\nfarah_(legend_of_queen_opala),4\nmoriko06,1\nkoi_de_wa_naku,3\ninoue_yukihiro,1\nmint_(cerbi),1\nrable,1\nsanada_nako,1\nkuberu_e_pastillage,4\nkarl_gerat,0\ntsuji_tatsuya,4\nyakisoba_(kaz2113),1\nkouzuki_fukurou,1\nhimeno_shikimi,4\nshimanaka_arihito,1\nsadistic_music_factory_(vocaloid),3\nmazeshi,1\nyumeshima_kanata,4\nshijiani,1\nma2da,1\nkyer,1\naston_martin,3\nmortal_kombat_9,3\nmag_(phantasy_star),0\njack_(jackdou),1\nklein_(sao-alo),4\noyasumi_punpun,3\noinari_risuru,1\ntoufuu,1\norpheus_(inazuma_eleven),0\nsakuraba_himari,4\nloggins_(jojo),4\ncecilia_glinda_miles,4\na821,1\nsherad,1\nhibino_nozomu,1\nnaitou_maia,4\nronaldo_castroneves,4\nsilicon_magic,3\ngraphos,4\nbirch,0\nfull_metal_panic?_fumoffu,3\nsea_monster,0\npenis_chart,0\nmikoto_(my-otome),4\nsakaumi,1\nkameron,1\nbox_on_head,0\nzamius,1\nsamui_(naruto),4\nsami_(advance_wars),4\nlothric_(younger_prince),4\nkanzaki_souma,4\nyasiro_(oyasiro35),1\nmorganite_(houseki_no_kuni),4\ncaptainkuma,1\nmaniani,1\nmizonaki,1\nchloe_withers,4\nbico_(bicoris),1\nyamo_(sky2world),1\npanties_over_bodysuit,0\narcade_ahri,4\nshokuen_shiwe,1\nmatt_frank,1\nkomai_hasuki,4\nyin_lan_xue,1\nitou_(itsuko),1\nprisma_illya_(zwei_form),4\napron_basket,0\nsiesta_(artist),1\nmonotarou_(danganronpa),4\nchamnaitu,1\nsam_desu,1\njoanna_(persona_5),4\ntama_(mahoiku),4\nsakura_soujirou,4\nleo_(feeling_goooood),1\niotower,1\nhutaba123,1\npeter_xiao,1\nnasubi_(1ra1ri1ko2cho1mi2na),1\nfemale_crusader_(dungeon_and_fighter),4\nuhana,1\nupside-down_book,0\naraki_mitsuru,1\nkoinumaru-san,4\nsoap_(user_kghh4755),1\nschool_fanfare,3\naasu_kirishita,1\ngiant_anteater_(kemono_friends),4\nbarbary_lion_(kemono_friends),4\nred-eared_slider_(kemono_friends),4\nburent,4\nanocurry,1\naizawa_asahi_(unbalance),4\nasunogear,1\nsuginakara_(user_ehfp8355),1\nhoji_(hooooooooji1029),1\nnikujaga_(food),0\nhira_(otemoto84),1\njuubako,0\nmizukoshi_mio,4\nhoshi_no_girls_odyssey,3\nmaka_neko,1\nsatsuki_(notsachiko),1\ntwitch_username,0\nend_of_the_golden_witch,3\nkitsunegasaki_tametsugu_(tenka_hyakken),4\nallos,1\nbiskekun,1\nye_zi_you_bei_jiao_ju_ge,1\nkinoko_(benitengudake),1\nmetarogu,1\njeff17,1\ndrakloak,4\nlanlanlancho,1\nakari_(bokujou_monogatari),4\ngarderobe_swimsuit,0\nshinaso_(sachi-machi),1\nthe_iizumi,1\nitsuwa_(continue),1\ntarrasque_(fate),4\ncake_(isiofb),1\nau7,1\nensemble_girls_(artist),1\nmaryland_(azur_lane),4\nshaytan_(sound_horizon),4\nkv-1,0\ntorao_(torakmn),1\nsie-sie,1\nofuton_zeb,1\nsugar+spice!,3\naxanael,3\nsachiko_(omame),1\nhiiragi_shou,1\nhuleito,1\ncastlevania:_legacy_of_darkness,3\ndanny_lee,4\nkii_(theory),1\nmetallica,3\nahn_dongshik,1\naikawa_kizuna,4\ninraku_no_ketsuzoku,3\nmet-tha,1\nmurasame_reine,4\ntenamaru,1\nyukihiko_(tyabobo),1\nannyui,1\nelfir_traum,4\ncal_devens,4\non_finger,0\nyda,4\ngeorge_weasley,4\ncodemofel,1\nsuppi,4\ntotoya_z,1\nhatori_kumi,1\nnanairo_fuusen,1\nringo_orihara,1\nyouaresober,1\nhoney_lemon,4\nhitbox,0\nhawthorn,1\nhomura_shinji,1\nnekomiyanono,1\ntakanashi_kozue,4\nhidehirou,4\naki_(1360505188),1\nmondo_pop,1\nkurosu_rino,1\natai,0\nsonyntendo,1\nusasaki_shiro,1\nhirayama_eiji,1\nyanagin_(danshi_koukousei),4\nakou_(phoenix777),1\nshadow_queen,4\nclaudia_(granblue_fantasy),4\narisa_gunhale,4\ngreen_pepper,0\npaisley,0\nchaos_(dungeon_and_fighter),4\nmulin,1\nsanzhuangwangcat,1\noxykoma,1\ntetrahedron,0\nsirokuro_daruma,1\nchoke_(amamarin),1\nnoroiko,4\nglowing_nails,0\nkurotora865_90,1\nmasa_(p-piyo),1\nmikuni_saho,1\nno_goggles,0\nwindows_10,3\ntriangle!,3\non_fence,0\nmikuzukin_(module),0\nnashirasauce,1\nalloyrabbit,1\nremon_(10112),1\nyoshimi50,1\nleikangmin,1\nstylish_energy_(module),0\nramutaizumu,1\netsuo,1\nuesugi_kyoushirou,1\nclaudia_enfield,4\nleon_(idolmaster),4\nloincloth_aside,0\nstuffed_crocodile,0\ntriangle-shaped_pupils,0\nneetsr,1\nhappytreefriendspikapika,1\nberiko_(dotera_house),1\nkakeyu,1\nminami_hana_(ghettoyouth),4\naotsu_umihito,1\nnaoharu_(re_barna),1\ntoujou_mina,1\njay87k,1\nnatsumoka,1\ni_reibun,1\ntio_(konjiki_no_gash!!),4\nmonkey_d._garp,4\narnaud_g._vasquez,4\nroyal_flush_heroes,3\nbetter_call_saul,3\nhatsuru_koto_naki_mirai_yori,3\nstar_fox_assault,3\nonko,1\namatsuka_hotaru,4\ncyou_shigen,4\nb-29_superfortress,0\nbubuki_buranki,3\nhonda_takashi_(enorea),1\nsengoku_koihime_x,3\nbattle_koala,1\nkirara_ookami,4\nfarfalia,4\nmouse_hood,0\nosananajimi_(hanekoto),4\nsuzumi_(ccroquette),1\nakashiro_yulice,1\nscout_uniform,0\nraihan_(pokemon)_(cosplay),0\ntaino_kou,1\nleo_thasario,1\nmermaid_misty_(pokemon),4\nkumaane,1\nlineflo,1\nbambi-25,1\n1z10,1\nnono_i831,1\necolo_(puyopuyo),4\nrenge_(ngetyan),4\nwarfarin_(the_feast)_(arknights),4\nk.k._slider_(animal_crossing),4\nponzu_(udon),1\nminase_nagisa,4\nmatterhorn_(beach_guard)_(arknights),4\ninada_roku,1\ngeegee_(granblue_fantasy),4\nvelvet_rose_(idolmaster),0\nshimizu_tomoki,1\nharuna_(citrus_love_i),1\nhelena_blavatsky_(fate)_(cosplay),0\nkagerou_(kancolle)_(cosplay),0\nkubomi_943,1\nliwendala,1\njon_eve,1\nfire_man,4\nshinsuke_(moccori),1\nposcorn617,1\nkatsuragimay18h,1\nstar_plus_one,3\nasagiri_ai,1\nkana_(maple926),1\nqiandaiyiyu,1\nyang_harim,4\nomase_(mnnk_umai),1\nkawaii_voltage_wattson,4\nags-30_(girls'_frontline),4\nmarche_mk14,1\nlucia_(toaru_majutsu_no_index),4\nharuakira,1\nkatsuragi_(azur_lane),4\nmerlin_(camelot_&_co)_(fate),4\nwszkii,1\n12_(xaenedju),1\ndoku_yanagi,1\njosef_axner,1\nsnow_(housamo),4\nspider_genome,0\nchi_(hnnmemi),1\nnigekiri_sisters_(umamusume),0\ntakumin_dx,1\nharry_potter_and_the_cursed_child,3\nmarie_antoinette_(formal_dress)_(fate),4\ntype_79_(nine-tail_fox)_(girls'_frontline),4\nsabi1234,1\nhosoi_mieko,1\ncypher_05,1\ndiamond-shaped_brooch,0\ncure_magical_(sapphire_style),4\ncyclamen_(flower_knight_girl),4\nan-chan_(ananna0315),1\nsama_(sama24654684),1\nmeltryllis_(second_ascension)_(fate),4\npokemon_the_movie:_secrets_of_the_jungle,3\ncagliostro_(summer)_(granblue_fantasy),4\nthreo_(eternal's_summer_vacation)_(granblue_fantasy),4\nyui_(ogino_atsuki),4\nkuro_(kurojill),1\nshishi_osamu,1\nren'ai_boukun,3\nmarisuku,1\nclaw_hammer,0\nhosimo,1\ngaryljq,1\nmochako_(motyako),1\nkisaragi_gold_star,3\nren_(733),1\nleaf_bra,0\nsada_noriko,1\nyosugara_shou,1\namiya_(planter)_(arknights),4\nlechonk,4\nsatouin_reiko,4\nlemon_pan,1\nbalus,0\ntokino,1\nfantastic_belltier,0\nda_capo_iv,3\neminya_27,1\ntorimeiro,1\ngallows_carradine,4\nkozakura_ryou,1\ncrying_emoji,0\nisrafil_(housamo),4\nvajra_(summer)_(granblue_fantasy),4\nkitsunekotori,1\nrpg_fudousan,3\nshearing,0\nkajiri_kamui_kagura,3\nekaterina_orange,1\nmyaco9,1\nsee-through_pants,0\nholding_cd,0\nyoruillust,1\nmogupon,1\namazaki_ria,1\nyan_kodiac,1\njiaoshouwen,1\nhorn_bell,0\nsomasoutaro,1\notogi_resurrection,3\nkonna-nani,1\nyuzutosen,1\nnautica_(transformers),4\nasai_(00:05),1\njojiart,1\npresia_zenoskis,4\nmagallan_(shaved-ice_memories)_(arknights),4\nleoleonardk10,1\nhinata_mizuiro,1\nvodka13,1\ndagon_(megido72),4\nminn_(kangjm1107),1\nluki,4\nnoki,4\nonizaki_kirara,4\nchiba_lotte_marines,3\ntsukinogi_(arknights),4\nkivo_some_18_(voice_actor),1\npoyadevil,1\ngdat,1\nakkgsyk,1\nkarya,1\nchimimo_(character),4\npoyason,1\ni-beam,0\nmizoreshi,1\nthumb,0\nikegami_noroshi,1\nmikura0317,1\nju-ok,1\nkukuruyo,1\nmaechuu,1\nmanda_(luts7602),1\nizumi_mitsuki,4\nmihan77108047,1\nfallen-leaves,1\nsalamandinay,4\ngekiteki_na_beefsteak,1\nsilence_(frosted_breath)_(arknights),4\nkotomaru_(sirouko9511),1\nhard_drive,0\nseuga,1\nmibushiro,1\ngrandpa_gohan,4\nwadachitokakeru,1\nueno_chiyoko,1\nkuchiki_manabu,4\nfuruta_nimura,4\nsakimichan_(style),0\nechidna_(monster_girl_encyclopedia),4\nnatsume_(tsu-na),1\nmorimaiko,1\nkankurou_(naruto),4\nhg_ni_koisuru_futari,3\nar-57,0\nscathach_(first_ascension)_(fate),4\nhajun_(hey_sangha),1\noekakiboya,1\nnikaidou_shion,4\nkirishima_(kancolle)_(cosplay),0\nage_fx,1\nebihurai,1\ndconan_owo,1\nitou_shizuka,4\nrenault,0\nhelena_blavatsky_(swimsuit_archer)_(second_ascension)_(fate),4\nreincarnation,0\nsekaiitinoki,1\nspice,0\ncarcinization,0\nmiogrobin,1\nall_nippon_airways,3\nmiki-san_(danna_ga),4\nhuyusaki_taiga,1\nwave_motion_gun,0\nkyl490,1\nzi_nu_(qin_shi_ming_yue),4\nfue_(fuef),1\nserika_(new_year)_(blue_archive),4\ndearka_elsman,4\nhikaru_(mikan0407),1\norange_mikan,1\nkanae_funwa,1\njinguu_yakumo,4\nrook_hunt,4\nagate_crosner,4\ngong_cha,1\ntail_pussy,0\ninflatable_flamingo,0\nsummoner_(dungeon_and_fighter),4\nclynxen,1\nkite_flying,0\nimpossible_pants,0\nnnoitra_gilga,4\nceey,1\nvarshahn,4\nhabutae_kyusetsu,1\nritalem,1\ngerbera_tetra,4\nwuming,1\nebinomi,1\nmitsuya_takashi,4\nhisuian_lilligant,4\nbooth_babe,0\nuso_ewin,4\nbethlehem_(alchemy_stars),4\ncherry_stem_knot,0\ninaho_(world_flipper),4\ntoi1et_paper,1\ndaniel_oduber,1\nnekomata_okayu_(cosplay),0\nkogane_mushi,1\nalouette_(la_pucelle),4\nakakokko,1\nbarioth,4\nyaowu,1\nsukocchi_moruto,1\nshuangfeng,1\nmeltymaple,1\nshinka_musume_channel,3\ngetter_robo_arc,3\namedan,1\ntaemin,1\nhoroscope,0\nraimone_(nekokirinv3),1\nducking,0\nobservatory,0\nforastero,1\nolly_(ollycrescent),1\nribimura,1\nkayanuma_kiko,4\nwarrior_(sekaiju),4\narquebus,0\napron_grab,0\nsafai,1\ninazuma_(kancolle)_(cosplay),0\nlive_for_venus_(idolmaster),0\nafrican_elephant_(kemono_friends),4\nerubesuto,1\ntokoshibyra,1\novershirt,0\nffyak,1\nnogi_wakaba,4\ntogin,1\ncow_skull,0\nleris_muma,1\nhull_shoes,0\nhallucination,0\ntracy_reznik,4\ndarach_(pokemon),4\nrenze_l,1\npineapple_(pine),1\nakovo,1\nkentap,1\nsarashi_pull,0\nholding_cigarette_pack,0\nserie_niai,1\npen_holder,0\nkayama_kouji,1\naisawa_natsu,1\nbarnaby_brooks_jr._(cosplay),0\nstar_guardian_poppy,4\nyamasafu,1\nxianyu_liang,1\nk'lyn,4\narcana_trust,4\nootsuka_akio,4\nyama-michi,1\ntsuki_miso,1\ncelia_claire,4\n2003_server,4\nraidensan,1\nleech,0\nvaulted_ceiling,0\narizuki_shiina,4\ndonkoni,1\nlem,1\nmio_sasuga,4\nhyuu_(sing-dog),1\njichi,1\nhashihime,0\ncross_neko,1\njaimito,1\ngeinoujin_kakuzuke_check,3\nlcddem,3\nmacaroni_and_cheese_(artist),1\npowder,0\nfitness_boxing,3\ndrampa,4\nmiyano_akihiro,1\nkai_(pixiv12466647),1\nnakamura_aika,4\nm-shiganai,1\nzhu_mianzi,1\neggloaf,1\nauxtasy,1\nvenelana_gremory,4\nlinch,1\ntama_(gintama),4\nenjou_tomoe,4\naqua_coat,0\nwitches_in_7th_base,3\nyuito_(yuitokobunasbs0),1\nlionela_heinze,4\nniko_(oneshot),4\nyumeoi_kakeru,4\neol_9,1\nkuzumochi_(kuzumochiya),1\nhisato_ar,1\nglock_17,0\nurshifu_(single),4\nwelch_vineyard,4\nkneeling_girl_(kancolle),4\nbungee_jumping,0\ntachi_(weapon),0\nmicro_uzi,0\nkougami_kanon,4\nyakkuro,1\nmad_maggie_(apex_legends),4\ncoso-ri,1\nrita_bernal,4\nperiod,3\ntorisu,1\ning0123,1\nrisk_hunters,3\ngingham_(amalgam),1\ntorii_koyomi,4\nsnare_drum,0\nmelty_sweet_(idolmaster),0\nwhitebc,1\naoi_karin,4\nkitakami_(kancolle)_(cosplay),0\nsaamon_(salmonkomaku),1\nchalk_outline,0\nhole_in_face,0\nnigouu,1\nkurosawa_sae,4\ngoliath_(girls'_frontline),4\nkamakura_(city),0\nenia_(eniaart),1\nnifl_(fire_emblem),4\nakipeko,1\nclaire_rieveldt,4\nhorse_pose,0\ncybuster,4\nfleur_(personal_ami),4\nmechanic_(granblue_fantasy),4\nseiryouinryousui,1\nsolid_snake_(cosplay),0\njian_jing,1\nkokemomo_(makesound),1\nstand_my_heroes,3\nwednesday_addams,4\nairi_(alice_or_alice),4\niiros,1\noomikado_aoi,4\nmanami_tatsuya,1\nkrampus_(housamo),4\npatrasche_(re:zero),4\ncounting_money,0\nraru0310,1\nmumen_rider,4\nqmiqun,1\nevolto,4\nmahou_arms,3\nfuotchan,1\nclming,1\ntype_0_fighter_model_21,4\nhippie,0\nmii_gunner_(smash_4),4\naono_99,1\ndarcy_(pixiv11949485),1\nsocial_network,0\nuncharted,3\nrin_kyoutarou,1\nhot_tub,0\na_kirima,1\nhimuro_kinu,4\nderpy_hooves,4\nzhadanzhawugui,1\noniyan,1\nkino_hazuki,1\nsanhon,1\nmakaizou,1\nkari_(artist),1\nselkie,4\ngumi_(fwjn7284),1\nnasu_kinoko,4\nnishimo,1\ndiving_block,0\nkinezono_rio,4\nkirishima_sakura,4\njackary,1\nwatashishi,1\ngreenteamousou,1\nacid,0\nodajima_kosuzu,4\nmirai_millennium,3\nsozoremi,1\nahirun,1\nprincess_leona,4\njigoku_inu,1\nlucent_heart,3\nkacchuu,1\nranpu,1\nnoel_anderson,4\nakirame,1\ntsukimushi,1\ntype_90_kyu-maru,0\nmilk_ko,1\nspelunker,3\nsasagawa_satarou,1\nranshin,1\nmoedog,4\nguided_kiss,0\ntales_of_the_world_radiant_mythology,3\nmoriya,1\nsakura_(superbunnys),1\nomega.ep,1\nsana.c,1\nkunoichi_(game),3\ncaptain_ginyu,4\nbloody_roar,3\nmarron_glace,4\nfreudia_neuwahl,4\nsu_meen,1\nnina_antalk,4\nmozuyun,1\nkujou_ume,4\nogura_tubuan,1\nhoshigaki_(kyuukp),1\nyanggang,1\nrudia,1\nbloody_moon,1\nkumonosuke,1\nhani_(udauda),1\nshirasaya,0\nplanet_with,3\nrin_(princess_connect!),4\nbiafura,1\nkitsuta,1\nleicia,4\ndaiyousei_(cosplay),0\nquick_ball,0\nmadopen,1\nom_(carbohydratism),1\nminna_no_rhythm_tengoku,3\n9wa,1\nkendo_(artist),1\ntr-6_woundwort,4\nappare!_tenka_gomen,3\nsenri_(nazerine),1\nadworse,1\nhinomoto_aoi,4\ntukno,1\nikkaisai,1\notani_(gloria),1\nnam_(nam990902),1\nmoonyan,1\nkurosawa_noriko,4\nkagura_(oneechanbara),4\nnami_(cassette),1\nyamada_sakura,1\nguy_fawkes_mask,0\nidoko,4\ndaruma-san_ga_koronda,0\nkougai,4\nakabino,1\nru_251,1\neringi_oishii,1\nhajime_monji,1\ntobari_(pure_pure),4\njinrai_(owl12),1\nusotsuki_mii-kun_to_kowareta_maa-chan,3\nomaehadareda-uso,1\nkujiin_mika,4\nkarohroka,1\ncranberry,0\nyusukesan,1\nayase_miko,1\nbug_catcher_(pokemon),4\nanna_mcbein,4\nmomoyuki_(snow_fox),4\nkoyuki_(snow_fox),4\nmaruput,1\nougi_kaname,4\nhibird,4\nsakata_kaname,1\nheath41,1\nmugishima,1\notaku_(artist),1\nking_gainer_over!,0\nnanjou_kei,4\nayase_non,1\nsei_(shinkai_parallel),1\nshin_(irowanioedo),1\nsiri,4\nkoma_(qqq111),1\nyamaura_tamaki,1\njiachong_jun_z,1\nshirushiru,4\ngalarian_slowbro,4\naqua_eyeshadow,0\ndrunken_master,3\njtr,1\nkiriya_erika,4\nmonegi,1\nwatercolor_effect,0\nlent_marslink,4\nalien_alien_(vocaloid),3\narobiro,1\nmamotte_shugogetten!,3\nnihnfinite8,1\nyensh,1\nlo-ta,1\nhanneman_von_essar,4\nisamu_dyson,4\nqqqmei,1\nspider-man_(toei),3\nmale_protagonist_(live_a_hero),4\nartin_(boogbogex),4\nmoon_(yfsp7823),1\nrimocon_(vocaloid),3\nhirume,1\nyohaku,1\nb_d_one,1\nhoshikuzu_(milkyway792),1\nei_flow,1\nrocomani,1\nrethnick,1\nsorrau,1\nhiseki_erio,4\nrotom_(frost),4\nspleeny,1\npokemon_tower_ghost,4\njamaica_(azur_lane),4\ngod_hand,3\nmri,1\nminashiro_tsubaki,4\nvalsione_r,4\nkuutei_senki,3\ncoco_(artist),1\nvagrant_story,3\nkevin_graham,4\ndaniella,4\nthe_flash,4\nnurse_angel_ririka_sos,3\nmecha_hisui,4\nkapool,4\nlyre_(fire_emblem),4\nnitta_yasunari,1\nratchet_altair,4\ntomako,1\nnoda_megumi,4\nshutumon,4\nhoriguchi_hiroshi,1\nsakanaya_nakasa,1\nikari_shinji_raising_project,3\nsakura_mami,4\ncaimu,4\nwolf's_rain,3\nsilvia_de_alisia,4\nmadam_s,1\nokusama_wa_mahou_shoujo,3\n3ldk,3\nloli_ruri,4\nhibana,4\nurashima_haruka,4\ngeckolion,1\naoto_(ar_tonelico),4\nkyrie,4\nholding_frame,0\nsosser,1\naria_(seiken_no_blacksmith),4\ntsukudato,1\nnashiki_(5tella),1\nbyakudan_kagome,4\nbrayanong999,1\ntoy_tank,0\nede,1\nangel_wish,3\nyj_(yojo_san),1\nizumo_akatsuki,4\ncherry_peachcat,1\nkimakkun,1\nhiiragi_najica,4\ndiforland,1\nyui_(real)_(princess_connect!),4\nfujimaki_nora,1\ndivus_crewel,4\nkuonji_miyu,4\nmylene_rafa_holfort,4\nhimishiro,1\nshiranui_kazuki,4\nqin_liangyu_(chainsaw_of_the_dead)_(fate),4\nrpr,4\ntri-brigade_ferrijit_the_barren_blossom,4\nnakagawa_kanon_(pixiv32798535),1\nharuka_kuromiya,1\nsatomi_(745684552),1\nxiongbingbisata,1\nebba,1\nkooei,1\nabe_no_seimei_(fate),4\nmythic_live,3\nyuichi_(sp_sakura_yoshi),1\nshellos_(east),4\nnagase_sayaka,4\njag_ging,1\nhanabusa_(xztr3448),1\ncensored_anus,0\ntsukinomori_school_uniform,0\nxssh,1\nana_(vvvvor),1\nkonoe_sunao,4\nfantasy_bishoujo_juniku_ojisan_to,3\nhibika,1\nastesia_(frlibre_on_the_palace)_(arknights),4\nmarija_(muse_dash),4\nclitoris_peek,0\nhiccup_horrendous_haddock_iii,4\nmerchant91,1\nwhite_buruma,0\nlosse_(personal_ami),4\ntroll_(warcraft),0\ntwo_(drag-on_dragoon),4\npower_(lu_power),1\nsabou_san-shitsu_kokoro,1\ntorn_skin,0\nbullet_in_mouth,0\ntaiso_samurai,3\ntsukuyomi_luna,4\nvermeil_(kinsou_no_vermeil),4\noutfit_connection,0\nsad_cat_dance_(meme),0\nmonster_world_iv,3\nonaji_(sokudo_seigen),1\nsamo_(shichun_samo),1\nhand_over_another's_eyes,0\nbbakasatang,1\nekaki_no_mime,1\ngladiia_(return)_(arknights),4\nbakunetsu_god_finger,0\ntennosuke_(tejons),1\nthe_hierophant_(tarot),0\ncollar_chain,0\ncorgi_(corgi0322),1\ntakamatsu_(yamajiai),1\nwario_land_4,3\nwings_of_iron:_hazy_tales_(umamusume),0\nclonion,1\nosatou_(soul_of_sugar),1\nmikage_(shibi),1\nkiiro_(cocoa080),1\necole_du_ciel,3\nyoshi_(nagatoro),4\nnanami_mizuki,4\ntv_show,0\nazarashi_(snmfloowern),1\nsuzukuri_karin-chan,3\nmixer_(cooking),0\nichikawa_kazuhide,1\nhachi_(hachi_sin),1\ngalarian_darmanitan,4\ntrue_damage_(league_of_legends),0\nsmalley_(azur_lane),4\nsu_konbu,1\ndmitry_grozov,1\nvampire_(eloi's_blessing)_(azur_lane),4\narinsu_(kodamamaimai),1\nginro_(dr._stone),4\nshinka_musume,4\nhayami_sena,4\nyamabuki7979,1\nkimopoleis,1\nichino_(ichinon),1\nkurasaki_cosmos,1\nbottle_cap_challenge,0\nsabatuki,1\nkirishima_mana,4\nkiki_okina,1\nadmiral_graf_spee_(a_novel_anniversary)_(azur_lane),4\nna-code_(gurich),1\nochanomizu_mirie,4\nmoekan,3\nrealive,3\nizaac,1\nairbrush,0\nmiyama_tsubaki_me,1\ncocoa_cookie,4\nscorpion_tsuchida,4\nmiurin,1\npokemon_between_legs,0\nalternate_neckwear,0\ncecile_(porforever),4\nhard_gay,4\ncirrika,1\nakachouchin,4\ndokkaebi_(rainbow_six_siege),4\nurd_(p&d),4\n1202_koge,1\nsena_tsubasa,4\nblossom_(gizen'yasan),1\nabara_hanbee,4\npenelope_and_me,1\ndanyotsuba_(yuureidoushi_(yuurei6214)),4\ng4265059,1\naks-74,0\nsasugano_ruki,4\neighth_wonder,4\nacceptor,0\nmokyusuke,1\nholding_boxcutter,0\nmax_(ssss.gridman),4\nyato_(yama0x1),1\nrocker-chic,0\nvhumiku,1\npikapika_hoppe,1\nnanika_(nnkgh),1\nleki_ixion,1\nmothra_(godzilla:_king_of_the_monsters),4\nerusen_(des-arms),1\nhaun_(exodinary),1\nmac-11,0\nmitsunari_miyako,1\nkirihara_torajyuro_tatsumune,4\ntiger_dojo,0\nrapp_(grandia),4\nkiniro_(mushihime-sama),4\nmayakaek,1\nhatch_(7th_dragon),4\nnabeshiki_(rakuneko_yashiki),1\ncamouflage_helmet,0\nizuna_masaru,1\ngnar_(league_of_legends),4\nnanaly_(sennen_sensou_aigis),4\ntanith_(fire_emblem),4\noda_(101511a),1\nnanamiya_natsumi,1\nshigumo_(shigeru),1\nyashigaras,1\nshinonome_neko-tarou,1\nkirihara_youichi,4\nholding_pokedex,0\nhirotaka_(hrtk990203),1\nzero_the_flash,4\nogura_anko,1\nmatsuppoi,1\nskc,1\nnazoko,1\nkibazoku,1\nmintchoco_(mmn2),1\ndicorndl,1\ndan_fei,4\ntrain_hb,1\nporuserin,1\nxi_chen_chen,1\nmikanururu,1\nmoriyama_yuuki,1\nnamuya,1\nfuryouhin_(bubumelon),1\nnaavs,1\nsekaiju_no_meikyuu_x,3\nsuzuha_(nozomi_tsubame),4\ninte_(whitewolftail),1\nlinca_(atelier),4\nheridy,1\nilia_amitola,4\nyelsh,1\nhayami_hiro,4\nsuetsugi_konoha,4\nhibachi_(object),0\n45_(diagonal45angle),1\npouring_onto_another,0\nshiro_(muku),4\nyamashita_akira,1\nzin_(mame_denkyu),1\norinpachu,1\nshiratama_(siratama_ll),1\nlace_ribbon,0\neileen_(virtua_fighter),4\ndva,4\ntebukuro,1\nsoniani,3\nfukuroda_takaharu,4\nvivian_(lancerhd),1\nmage_(335656),1\nato_(bfj315),1\nmimura_ryou,1\ndevil_(monster_girl_encyclopedia),4\nwani02,1\nkumon_kaito,4\nyomi_yasou,1\nkago-tan,1\nnyasa,1\nsigina,1\nblue_apple,0\nflauschtraut,1\nshirayuki_shion,1\nthunder_kitty_wattson,4\nhane_yoshiyumi,1\nmikoshiba_seijuurou,4\nknifehead,4\nmiyoshi_saya,4\nikanomaru,1\ncalligraphy_pen_(medium),0\nkiseno,1\nblood_on_teeth,0\nhata_no_kokoro_(cosplay),0\ndolphin_earrings,0\nrunaway_girl_(jojo),4\nredoredo_(godprogress),1\nnankaichimu,1\nakuma_de_oshioki!,3\nfuruya_hotaru,4\nashida_yuri,1\nfudanshi,0\nsakazaki_akira,1\nnancy1209,1\ntkd_dkt,1\nmia_(miaflocon),1\nmori_girl,0\ndrawn_horns,0\nlennah,4\nsato_(sato_1_11),1\nhuizhiyin,1\nsakidesu,1\nlulu_season,1\nminma,1\nhatomugi_seika,1\nkaette_kita_ultraman,3\nkuon_(hasumi_(hasubatake39)),4\nketa_(psychetangle),1\nneon_genesis_evangelion:_iron_maiden,3\ncheer-chan_(tawawa),4\nnagumo_midori,4\nrausu_(undeadmachine),1\nendivinity,1\npeppedayo_ne,1\nqbase,1\nrocm_(nkkf3785),1\nhoney_badger_(gun),0\nmerokonbu0,1\nsongjiangcc,1\nyue_(qtxyjiang),1\nnise6,1\nlayered_panties,0\nwabuki_(ochigan),1\nhat_over_hat,0\nbenson_(azur_lane),4\nnaora_yusuke,1\ntorakichi37,1\ndemstouts,1\nkoisuru_natsu_no_last_resort,3\nalicetaria_february,4\ntsuki_jin,4\ngreil_(cosplay),0\nxi_zhujia_de_rbq,1\nmotto!_haramase!_honoo_no_oppai_isekai_ero_mahou_gakuen!,3\nkamada_issei,1\nnoda_eishi,1\nwuhuo,1\ngaku_ou,3\nspace_pirate_(metroid),4\nidolmaster_side-m_live_on_stage!,3\nshinmon_megumi,4\ntiguruvurumudo_vuorun,1\nkz_ripo,1\nmasao_(ebi_no_osushi),1\nrureizi,1\nyoroi_kabuto,1\nblue_bloomers,0\nkanemaru_(knmr_fd),1\nbt_(shio_oninko),1\nhitokuchii,1\nsuzurikawa_sasha,4\nkino_books,4\nageha_(ray-k),4\nwife_and_wife_and_wife,0\nmimimi_(echonolog),1\nniconico_id,0\nacca_13-ku_kansatsu-ka,3\nemily_(overwatch),4\npajaman,1\nringo_(nanaprin),1\n88_taho,1\nkibimoka,1\nalolan_muk,4\nsony_kisaragi,1\nhoshikoi_tinkle,3\nsakuragi_tooru,4\nms.assistant,3\ntamtamdi,1\nmonster_in_kamata,4\nninomae_ichijiku,1\nsavuxan,1\nyukino_(yukinosora1126),1\nnepgyaa,4\nsyuya,1\nscratching_ass,0\nwhale_ornament,0\nbutterfly_on_shoulder,0\nkakubayashi_tsuyoshi,1\nkamiya_ogawa,1\nhouzuki_michiru,1\ntavor_(m_tavor),1\ntsukikawa_chiri,4\ntenshin_kagehisa,1\nalpha_omega,4\nyus,1\nunmaker,1\ntakacchi,1\nhimawari!,3\nninjinshiru,1\nukeuke,1\nayakashi_onmyouroku,3\nthe_unlimited:_hyoubu_kyousuke,3\ngamora,4\ncheckered_sleeves,0\nazer,4\nset_(mythology),4\nholding_bandages,0\nmamo_(dokidoki!_precure),4\nkumo_(kumo8159),1\nkodachi_nagi,4\nsuou_mikoto_(k),4\nshinjou_sadagiri,4\nfreesia_(flower),0\nokuda_manami,4\npropane_tank,0\nfuurin,1\nhoono_yurumu,1\nore_monogatari!!,3\nrockman_xover,3\noz_(gerbera7),1\nzless,1\nnyoichi_(ekaini),1\nmillennium_rod,0\ngeworin,1\nchikku_(k2753),1\nmeranoreuka_(naokentak),1\ncrystal_shard,0\nnoka_(blackheart1118),1\nlily_(wanko),4\nbeach_boy_(stand),4\nirue,1\ningrid_sorveig_sorgrims,4\nfudama,1\nqtarou,1\nnaga-no,1\ntightrope,0\nmaki_(makidai2024),1\ncindy_campbell,4\nshinonome_satsuki,4\nh@ruichi,1\nokenokoneko,1\npoini_(king-scarlet-dead),1\nkyoudyu,1\nsakura_kiyomi,4\nkyouraku_shunsui,4\npicture_book,0\nrare_candy,0\nblack_panther_(marvel),4\nhimitsu_~kuro_no_chikai~_(vocaloid),3\nshuruken_(yuumo),1\nmm_(pomeme4),1\nkirochef,1\nkemono_fabric,3\ntiger_hat,0\nnoise_(suite_precure),4\noota_minoru,1\nfred_weasley,4\npaw_ornament,0\notsuki38,1\nsaseum_(kao_husband),1\nguild_sweetheart,4\nmabui,1\nnana_kusun,1\nkoto_(marron_marron),1\nharunohotaru,1\nayatudura,1\ndevice,0\niida_keiko,4\nchrono_clock,3\nkotomozou,1\nblack_garter,0\nezusuke,1\ntsukimiya_kaede,4\nawa_(rosemarygarden),1\nororooops,1\nthe_gate_(fma),0\nperson_on_back,0\nmicolash_host_of_the_nightmare,4\nbakedanuki_(touhou),4\nglasses_case,0\nkinoko_(shikimylove),1\nblack_kyurem,4\nmcyu,1\nlinia_pacifica,4\nhirasawa_geko,1\nscott_bennett,1\nkushinaka,1\nfujita_saki,4\notonashi_io,4\nkeemoringo,1\nquiet_(metal_gear)_(cosplay),0\nskyt2,1\nphonon_(under_night_in-birth),4\ndemon_hunter_(warcraft),4\ndragon_ryuuhou,4\nro96cu,1\ninumimi_moeta,1\neldelita_(rakurakutei_ramen),4\nnaitou-kun,4\nkure_(beniya),1\nhei_huo_chong,1\nmachino_(nidavellir),1\nchorogy,1\nkuzu_suzumi,4\nmamoru_(mamoru_jinja),1\nyugiri_mistwalker,4\nsakurai_(kage),1\nkunichika_yuu,4\nshe_li_(lynxm),1\nnagasode_(48789563),1\nenokorogusa_(flower_knight_girl),4\nnora_(act2),1\ninfinity_sword_(elsword),4\ngurochii,1\nryoune_yami,4\nnekoronbusu,4\ntera_l,1\nmellchi,1\nburgundy_(pokemon),4\n8-foot_joe,4\nvalkyrie_drive_-bhikkhuni-,3\nm.a.d_mafia_is_all_dead,3\nhiganbana_(flower_knight_girl),4\nchibimi,4\narcade_miss_fortune,4\ncaptain_kirb,1\nusaba_(usabara_c),1\nseushiki_(ponti-ron),1\nohara_rinne,4\nhachinan_tte_sore_wa_nai_deshou!,3\nkou_(inaba),1\ndecoration_(idolmaster),0\ntouyu_(yuruyuruto),1\nblizzomos,1\nkankitsu_(94rz),1\nroku_kyuu,1\nyamanoskk,1\namou_yuu,1\npepo_(flower_knight_girl),4\nflareze_(porforever),4\nnekkikamille,1\nnightmare_(mazohaha),4\nbellelba_(pokemon),4\nribbed_tank_top,0\nchained_tan,1\nterry_(dq6),4\nknowa,1\nkuroiwa_cookie,1\nkive,1\nskull_knight_(berserk),4\neight-tailed_fox_nari,4\ntakanashi_kiara_(cosplay),0\nle_malin_(azur_lane)_(cosplay),0\nvasily_(golden_kamuy),4\nskkc_128,1\nfive_of_spades,0\nkurokawa_keita_(haozz),4\n1hao_(@cerbero64),1\nxiawenjie,1\nmaguro_(minase1684),1\ngyuu_kaku_(gyu400),1\nsakiika0513,1\ntohru_(dragon)_(maidragon),4\nyatonokami_kanata,4\nnaoel_(naoel_art),1\nholding_party_popper,0\nboh_stick,1\nshakkiyi,1\nhonba_misaki,1\naonuma_neiru,4\ndarius_iii_(fate),4\nrope_(summer_flowers)_(arknights),4\nflat_escardos,4\njeanne_d'arc_(swimsuit_archer)_(fate)_(cosplay),0\ngraf_zeppelin_(kancolle)_(cosplay),0\nsendai_(kancolle)_(cosplay),0\nchrom_(spring)_(fire_emblem),4\nyokomine_ibuki,4\na_(kyousougiga),4\nun_(kyousougiga),4\neddie_(mega_man),4\nfiona_frost,4\nchivo_(kalchivo),1\nduca_degli_abruzzi_(lustrous_onyx_sirenetta)_(azur_lane),4\ndi_qi_gang_guang,1\nkanai23831347,1\nartifact_(genshin_impact),0\nhk416_(fang)_(girls'_frontline),4\nm1887_(girls'_frontline),4\ndon't_you_ever_stop_(meme),0\ningerdoll,1\nmameneko_(leos_vincent),4\nshogun_1_(sekaiju),4\nnecromancer_2_(sekaiju),4\nkankara_nashi,1\naiu404l,1\nstella_(black_rock_shooter),4\njunyou_(azur_lane),4\nsarika,1\nmonique_(arknights),4\nhototogisu_(7kanu_7ra),1\nbalor_(housamo),4\nkadota_hiromi,4\nsebas_(isekai_shinige_ojousama),4\ncupitan_(granblue_fantasy),4\nundeedking,1\nsimon_(kappa_no_kawanagare),1\nbanshouya_ena,4\nsutaku77224,1\nhaiba_lev,4\nnapoleon_bonaparte_(ladies_&_gentlemen)_(fate),4\nchi_meng_(hua_jianghu_zhi_bei_mo_ting),4\nweedhollow_(dokuran),1\nhat_tassel,0\ncarmilla_(swimsuit_rider)_(first_ascension)_(fate),4\nnijou_ryuu,4\ntoto_(caaaaarrot),1\npeng_yong,1\naltessa_(futagohime),4\ntype_95_aa_director,0\nteio_(teiotei),1\nkasumi_(summer)_(princess_connect!),4\ncube_(cube00),1\njongmin,1\nkiller_instinct,3\nblack_soccer_ball,0\ntsukizaki_shizuka,1\nmesou-san,1\nkagami_leo,1\nmurasaki-sin,1\nracoona,1\nhisame_(nekousatan),1\ncheckered_ceiling,0\na_(shiei_no_sona-nyl),4\nmimosa211,1\nlotter75,1\nkinosaki_(green_patio),1\nendou_michiko,4\nsagano_mito,1\nuva,4\nsigrunen,0\nschrodinger,4\nhigh_chair,0\npo_pooch,1\nexcalibur_(soul_eater),4\nktm,1\nmonono,1\ndr._daji,1\ncurling_stone,0\ntrue_love_story,3\nlovely_idol,3\neuropean_water_princess,4\nharukabo,1\ndeodorant,0\nrobosaa_(roboco),4\ncao-cao,1\nwas775,1\ntoo_many_weapons,0\ntaka_(hiroa),1\njishimaru,1\nfeather_skirt,0\nnatali_(rune_(pixiv_25170019)),4\nag+_(atelieriji),1\nedasaki_banri,4\nmarble_(marblesized),1\norrdriver,1\nnanashiki,1\nhyejin_(black_survival),4\nzhu_xiang,1\npaddy_field,1\nmagical_mirai_luka,4\nnezumi_otoko,4\nmatatabeat,1\ntoriko_no_hime,3\ndynamite-kit,1\npenguru_086,1\ngiant_otter_(kemono_friends),4\nhello_kitty_to_issho!,3\nohagi_(food),0\nreal_intention,3\nameya,1\np22_(girls'_frontline),4\ndarah,1\nbrown_eyeshadow,0\ncailin020,1\ntachibana_hinata_(fabiniku),4\netesumsom,1\nmogmogura,1\nspock,4\nuchigatana,0\nindonesian_high_school_uniform,0\nkotetsu_kiyone,4\nkiwwwwwi,1\nwet_lens,0\ngym_pants,0\nmorpho_knight,4\nyesod_(project_moon),4\nkato_(kato),1\nfood_on_penis,0\nzonzu,1\npokemon:_jirachi:_wish_maker,3\nlyric_(hina9111),1\ntowrituka,1\nhancho,1\nzhuge_liang,4\nspoken_panties,0\nschool_kid_(pokemon),4\nsephiroth_(cosplay),0\nlungs,0\nskeptical,0\nchangpan_hutao,1\nlizzydom,1\nnaganadel,4\nsmash_daisaku,1\nlounge,0\nkaromura,1\nchumugi,1\npsyche_oreca,1\namamiya_tsubaki,4\nhatimiz,1\nvulnificus,4\ncyborg_(dc),4\nred-eyes_black_dragon,4\nmonja_(monja0521),1\ntmtkn1,1\nnemesis_sudou,4\nwazd0183,1\noka_megumi,4\nkalua,1\nsuicide_bomb,0\ngruier_serenity,4\nfreideugoi,1\nfake_play_button,0\nakira_ray,4\nhamazaki_reina,4\nwolf_(fate),4\ntoroshio,1\notonashi_fumiko,4\nhiko_(hiko224556),1\nknee_boobs,0\nsikinose_val,1\nreptilian,0\nmax_caulfield,4\nkagura_(gintama)_(cosplay),0\ncynd,1\nsakurasakimasu4,1\ntoyohama_nodoka,4\nmaco,1\nyuri_lowell_(true_knight),4\nhalloween_(movie),3\nkouen_miska,1\njesus_burgess,4\nyomare,1\nrakshata_chawla,4\naomi_one,1\npk_machine_gun,0\nhewie,4\ntetori_(tetolisto),1\nstrelitzia_(kingdom_hearts),4\nomochimochi,1\nsada_(sadahalu),1\nsouffle_rosetti,4\nelina_(eri15),1\nten_cws,1\nhameln_(sinoalice),4\notodama_tamako,4\ndecal,0\nsalomon_(housamo),4\nnaginomori_gakuen_high_school_uniform,0\nceline_(sen_no_kiseki),4\npzkpfwi,1\ncokata,1\nyabacha,1\nchiem,1\ntoranpuman,1\nhimuro_kirie,4\ncyber_elves,0\nhot_rod_(transformers),4\nbeast_king_(sekaiju),4\naplerichi,1\ndain_(bishop_m),1\nitachi_(3dt),1\nlei_bailin,4\nhole_in_sock,0\nmgong520,1\naka_(440626),1\nheartsix,1\nfolkssoul,3\nsmol_gura,4\nshiro_(tower_of_fantasy),4\nsidorov,1\nblood_moon_akali,4\npanasonynet,1\nnew_orleans_(azur_lane),4\nnamo_(goodbyetears),1\nn.u.n.s.,0\na'gen_(the_legend_of_luoxiaohei),4\nsophia_(punishing:_gray_raven),4\npinnn,1\ndragon_age:_origins,3\nmao_zedong,4\nturing_love,3\nxiao_shi_lullaby,1\nyumi_(tuzisaka),1\nmr_tangsuyuk,1\nhashikure_taro,1\nhamllock,1\nbubble_wrap,0\nnull_qq,1\ngino_knab,4\nhunter_(left_4_dead),4\nteriton,1\nkamimon,1\npillbug,0\nurshifu_(rapid),4\nalicia_charlotte,4\nblonde_catgirl_(oota_yuuichi),4\ncheria_barnes_(innocent_maiden),4\nmizu_no,1\nred_corruption,3\nshinchou_ni_kansuru_kousatsu,1\nnameco_(nameco_h),1\nyoshida_yuuko_(machikado_mazoku)_(cosplay),0\nbumgae,1\nusanekorin,1\nbad_end_night_(vocaloid),3\npaintbrush_rack,0\nzumi6,1\nhypnos_(hades),4\nkishinuma_yoshiki,4\nyat_anshin_uchuu_ryokou,3\nshhis_(idolmaster),0\nhuangjin_shizi,1\nyamanaka_kotetsu,1\nchrisanother,1\ncrucible_(doom),0\nmeloettta,1\ntsukkon,1\nkoenma,4\njuju_coo_shnamur,4\nkento_matsuura,1\ntekin,1\nhype_beast_crypto,4\nmossberg_500,0\nfujita_ayano_(40hara),4\nliuliu,1\nbabymetal,3\nlasso_of_truth,0\nharken_browning,4\nretsuko,4\nhime-chan_no_ribbon,3\nhair_bun_girl_(nagioka),4\npps_submachine_gun,0\nkimberly_(street_fighter),4\nmaruno_ball,1\ntendou_kaoru,1\naugust_(coyote_ragtime_show),4\nine_(ineinnen),1\nflame_toys,3\nelastigirl,4\nluelue_zi,1\ngarma_zabi,4\nbureikubureido,1\ntakashiro_hiroko,4\nholocure,3\nkayoko_(new_year)_(blue_archive),4\ngoldfishu,1\nyao_(pixiv9482697),1\ntouya_kotonari,1\ntwinkle_star_sprites,3\nen_(shisui_no_utage),1\nenergon,0\ndejiko_(cosplay),0\nkurirou,1\nassassin's_creed_iv:_black_flag,3\nshiiba_tsumugi,4\nskinnytorch,1\ndaidouji_tomoyo_(cosplay),0\ntatsumi_(sekizu),1\nfukuyama_jeanne_sachie,4\ncavalier_hat,0\nticonderoga_(azur_lane),4\nyang_nari,4\nasutoro_(s--t),1\nblue_seed,3\nlost_passage,3\ncokuto1,1\njeanne_d'arc,4\nteardrop_earring,0\nanbu,0\nmutsu_(kitakaze_berry),1\narc_de_triomphe,0\nshiki_haru,1\nlay's,0\nyellow_buruma,0\nhelpig,1\nfirst-chan_(loalo),4\nnagi_(fire_emblem),4\narai_12,1\nmaxwell_manzoku,1\nyoshinari_atsushi,1\nyuniyuni,1\nporu_(tohopunk),1\nku_koro,0\nheeri,1\npps-43_(girls'_frontline),4\neris_jerand,4\nnyto_mercurows_(girls'_frontline),4\npracticing,0\nshellos_(west),4\nshin_(shin_k009),1\npuribate_(helgoland),1\nmea_koenig,4\nraymond_busujima,1\ntouzoku_arthur,4\nnekomia_(kaptivate),4\nm0_chi,1\n+tic_nee-san,3\neldridge_(kitty_idol)_(azur_lane),4\nrodriguez_(kamwing),1\nruriruno,1\nmother_brain,4\nportgas_d._anne,4\njdori,1\ntira_(elfenlied22),4\nm3_(girls'_frontline),4\nshippo_(shishizaru),1\njeetdoh,1\npekorin_(precure),4\numajiri_gyuunyuu,1\ncall_of_cthulhu,3\npatenusu,1\nastrid_(fire_emblem),4\nokojo,1\nhananokouji_kurara,4\nyuwan_2333,1\nfreefall,0\nsylvie_paula_paula,4\nmajorita_(disgaea),4\npiyo_piyo_apron,0\ngenki_dama,0\nbearded_seal_(kemono_friends),4\nurumi_(urumi00),1\nfishofthelakes,1\ngeumgang_(odd_snail),4\nalita:_battle_angel,3\nblindfold_down,0\ngigantamax_(other),0\nmaybe,1\nvanadis,4\nh_haluhalu415,1\nharushino,1\nkt_kkz,1\niku!_iku!!,1\nrin_(muse_dash),4\njudy_hopps_(cosplay),0\nkotobuki_haruki,1\nbigoru,1\nbroken_leg,0\nwilt_and_blush,0\nitunes_card,0\nookubo_rumi,4\nhibaneim,1\ncreamsea,1\nlatutou1,1\nyatsunagi_(oyasumi_sumika),1\nanna_graem,4\npurple_trim,0\namiami_(company),3\nvanink,1\ntail_slapping,0\npaint_in_hair,0\narmored_shoes,0\nraideen_(series),3\nyunoji_yusuke,1\nhoshino_kirara,4\nnaval_mine,0\nxing_xiao,1\natlanta_(kancolle)_(cosplay),0\nleap_frog,0\nyakin_byoutou_ni,3\nyakin_byoutou_san,3\nk_young03,1\nchie_(lcddem),4\nsatou_satomi,4\njizaikagi,0\nsaran,1\ntagawa_katsuya,4\nbuchou_chinke,1\ntasu_tasuta,1\ndc9spot,1\nyu_(8dgc4mfc),1\nmatou,1\ntsukimi_shokudouki,3\nyuki_shin,1\ndevil_gundam,4\npyuu_to_fuku!_jaguar,3\nalstede_brand,4\nsatou_masaki,4\nboyakki,4\ntokikago_yuri,4\nnamgic,1\nkorone,4\nemily_(last_origin),4\nko->u,1\nkikuchi_(xpoz),1\ncocura,1\nk@non,1\nayakashi_h,3\nou_(swdp),1\nwantacchi,1\ndeba,1\nnao_(necomugi),1\ndaidailong,1\npairleaf,1\nittan_momen,0\nloni_dunamis,4\naren_(fubuki-46),1\nanneliese,4\nminamori_noeru,1\nk19,1\nthief_(fft),4\nsyukonbu,1\nltlx_7000_(girls'_frontline),4\nkebaboishii,1\ncyril_(fire_emblem),4\nfelicita,4\nryze,4\nyuzaki_tsukasa,4\nmebachi,1\nshironekonokiki,1\narikawa_rui,1\nmakoto_(roketto-massyumaro),1\nyok01,1\nkusunoki_rikka,4\nzuu_(qq770463651),1\ntail_pillow,0\nwet_tail,0\nstatuette,0\nprotagonist_(devil_survivor_2),4\nelie_(rave),4\ncygnus_hyouga,4\nfoot_on_breast,0\nkanii_rate,1\nrae_(rob_ishi),4\nsenkou_high_school_uniform,0\nmiya_(zawarudo),1\nminazuki_(0038),1\njoze,1\nthwwshark,1\ninui_seishu,4\nkoyoka,1\notou_(otou_san),1\nbarnacle,0\nkei_(limitedgirl),1\nsword_world_2.0,3\nsakenotorii,1\nkimagure_temptation,3\nheatmor,4\nminibike,0\nkira_miki,4\ntuoni,1\nnekoreset13,1\nmabuta_kayumi,1\nk-dam,1\nnatsuki_iori,1\nharu_(arser_doil),1\nkirishima_reiko,4\nnarakuuu,1\nromani_(zelda),4\nbbb_(fabio8552),1\nkote_(dew),1\nkosmo1214,1\nchecking_watch,0\nmatsuro_meru,4\nyamae_saki,1\nasagizuisen,1\nnekokyu,1\nniya_(blue_archive),4\nran_nagisa,4\nwarin,4\nharuka_na_sora,3\nsenhime,4\nkamen_rider_super-1_(series),3\nada_vessalius,4\nkekyo,1\nhungarian_flag,0\natsuyu,1\nuhhgaoh,1\nhaki,0\namaoto,1\nkayaku_(banban),1\ndosanko,1\nslime_knight,4\nmaokai,4\ntsukuyomi_mana,4\nboulder_badge,0\ngoggles_around_arm,0\nsuehiro_anna,4\ncream_starter_(stand),4\nautomatic_door,0\nwool_(kurokrkr),1\ntamaki_iroha_(pajamas_costume),4\nheadhunting_permit_(arknights),0\nhimemiya_alice,4\nsuppy,1\nzuru,1\nantenna_(draconian),1\neyewear_on_clothing,0\nsouto_(0401),1\nfortythree,1\nitou_kanae_(amagami),4\nmonopollyan,1\nitou_shiori,4\nmobius_1,4\nleomodesto,1\nignis_(blazblue),4\nsora_(aki00),1\noozora_ako,4\nsaya6382,1\nili_(dream_c_club),4\noui_lion,1\nfgz,1\nmarilyn_monroe_(cosplay),0\nchupimaro,1\nhosoime,1\nmale_futanari,0\noda_kou,4\nkizuna_encounter,3\nonna_mahoutsukai_(maoyuu),4\nameru.miro,1\nhanahubuki1991,1\nrenee,1\nmouri_kogoro,4\nkyounami,1\npizza_cutter,0\npratty,4\nnana895,1\nmountaintop,0\nadette_kistler,4\n13cm,3\nmelo_(meromero),1\nsuzuki_kokono,1\nyacht,0\nboldore,4\nferroseed,4\neelektrik,4\nmisaki_(summer)_(princess_connect!),4\nakatuki_taku,1\nwtuw,1\nootsuka_kotora,1\nyoshida_nishi,1\nkatsu_ryouji,1\ntendou_souun,4\nkanna_ryouto,1\nleina_ashta,4\nserene_(gusarme),1\ninugami_kotarou,4\nmichudx,1\nkirishima_kotone,4\ngrandia_online,3\nmaki_yahiro,1\nkamen_rider_skull,4\ncotton_boll,0\nmakimachi_misao,4\narcana,3\nhinatabokko,3\nhaninozuka_mitsukuni,4\nkitaya,1\ngadget_trial,3\nsame_face,0\nracaseal,4\ntodoriki_rin,4\nkasuga_nozomi,4\nkusunoki_masashige,1\nhips_in_air,0\nhoshiful,3\narisu_reiji,4\nyamamoto_canponi,1\nnatsumegu,3\nkoaki,1\ntanan,1\nrubicante,4\nwrato,1\nvenis,4\nwolfgang_mittermeyer,4\nlady_pearl,4\nwakaya_hana,1\nsubaru_(choukou_sennin_haruka),4\nhirose_mariko,4\nclive_winslett,4\nsimisage,4\nmizuki_hau,1\npinkmm,1\nyokubari_saboten,3\ncapricorn_shura,4\ntaurus_aldebaran,4\npopping,0\nkaaya,4\nscuffed,0\ncarlos_toshiki,1\nhoshino_darts,1\nmomiji_(lucario),1\ntequila_marjoram,4\namisaki_ryouko,1\nhayashi_akemi,1\nchu,1\nminase_yuka,4\nasano_akira,1\nrandal_orlando,4\nyurikawa_midori,4\nkazehana,4\nkillingrock,1\nfusuma_(ramunezake),1\nmikuni_souichirou,4\nhassan_(dq6),4\nkujou_hyotarouo,1\nsasakura_ayato,1\npage_one_(one_piece),4\nyace,1\ndixie_clemets,4\nhi-yo,1\nyamiyo_ni_odore,3\njayun,1\nootori_naru,4\nconcertina,0\nyamagami_mozuku,1\ncrowanon,1\nheca,1\ntanarot,4\nmercelida_ygvar,4\nhoshimura_makina,4\niiru,1\nlovezawa,1\nookouchi_shino,4\nyuki_hikari,1\nboston_crab,0\nyuuyami_no_mikazuki,4\ngenk,1\ncherry_girls,0\nyorozu,1\npeppe,1\ngotou_(pixiv37128),1\nchar's_deleted_affair,3\ntrimcolor,1\nwizard_girl_ambitious,3\nookura_kazuya,1\nkadou,1\nkijima_matako,4\nsiroringo,1\nblue_destiny_01,4\nmyg,1\nmatsunami_rumi,1\nleviathan_(final_fantasy),4\nkira_kira,3\ngalacta_knight,4\nnakajima_akihiko,1\nnecking,0\npastels,0\nnikaidou_aya,4\ntoushin_toshi_iii,3\nselina_kyle,4\nungaro,4\nmelonpan_(artist),1\nyamoto,1\ncure_peach_(cosplay),0\nharada_shoutarou,1\ncyclonus,4\ntyamurai33,1\n5plus,1\nsugino_miyo,4\ntoshiue_lesson,3\nyoshii_yumi,1\nkaburaya,1\ncynthia_marguerite,4\npenis_envy,0\nnikaime,3\nharpie_queen,4\naika_himena,4\ngabao.,1\nfurisode_girl_kali,4\nnez-doll,1\nakagi_(deep_crimson_poppy)_(azur_lane),4\nmarrbl,1\nhakata-san,4\nsawanoguchi_sae,4\ncrrispy_shark,1\nmeemo,1\nnene_romanova,4\nroku-jou,1\ntierla,1\ndenji_(mugitomato),1\nsig_sauer_p220,0\nsetsuna_(inuyasha),4\nmallow_(mario),4\nhrk173,1\nakira_(natodaisuki58),1\npsychic_force,3\nsee-through_mask,0\ntwirling_weapon,0\nolesyaspitz,1\nuchiha_sasuke_(cosplay),0\nsega_game_gear,0\nalti,4\ndoomfist_(overwatch),4\nrope_around_waist,0\nmorisaki_nao,4\nfallen_angel_ero_maid_costume,0\nyzk_knmn,1\nyellow_leaves,0\nblack_headphones,0\ndrenched-in-sunlight,1\ncork_gun,0\nkitagawa_marin_(cosplay),0\nclover-shaped_pupils,0\nkarameru_(character),4\ncharlotte_(madoka_magica)_(cosplay),0\noogama_(youkai_watch),4\nbyeon_dha,1\nkashisu_mint,1\nrangers_(arknights),4\nbaburo,1\nnoele_(toosaka_asagi),4\nkh_(tanakananataka),1\nsenifu,1\nuohhhhhhhhh!_(meme),0\ncondom_on_nipples,0\nio_(onisarashi),1\nchuntarou_(kimetsu_no_yaiba),4\nsen_light,1\nzhudouzi,1\nstriped_arm_warmers,0\npantalone_(genshin_impact),4\nwallet_chain,0\nshirakami_fubuki_(cosplay),0\nbound_fingers,0\nnafta,1\nduke_of_york_(prestige_of_the_glorious_formula)_(azur_lane),4\nkurda_smahlt,4\nthundurus_(incarnate),4\nfishnet_swimsuit,0\nkurusu_piyo,1\nlazgear,1\nshibuzoh,1\nlowro_(en),1\ncastform_(rainy),4\nyasuda_genshou,1\nmorning_musume,3\nagent_47,4\niskaydi,1\nsonic_riders,3\nsadatou_ayano,4\nsayuuiede,1\npopogori,1\nsylveon_(cosplay),0\nkinese_(katasutorohu),1\ndainyuu_(dgls),1\nouter_science_(vocaloid),3\nmiyu_ottavia,4\nfotia_of_fireside,4\nmoon_uniform_(houseki_no_kuni),0\ntestest,1\nwhite_freckles,0\nmiyazaki-san_(mmyyzk),1\nusura,1\nkandagawa_jet_girls,3\norihalchon,1\ndumuzid_(fate),4\nrolf_(fire_emblem),4\nprogrise_key,0\nakatsubon,1\ntewo_(tewowet),1\ntsujisaki_(coa3),1\nkumamakura_kurumi,4\nhunting_era,3\ngingerbullet,1\nbauer_(girls_und_panzer),4\ntowada-san_(thank39),1\nlaffey_(bunny_clerk?)_(azur_lane),4\nzero808w,1\nsugihara_manami,4\nhandheld_fan,0\nhanazawa_yusaku,4\nayakashi_kyoushuutan,3\nidoukunn,1\nkamikawa_tamaki,4\nsanitized_(splatoon),0\nminew,1\nbutterfly_affection,3\nshinonome_(game_hakkutsu_tai),1\nwawatiku,1\nshido_mel,4\nshino_skk,1\nshiro_(mofuaki),4\nnarafume,1\nanimankan,1\nwar_thunder,3\nsanada_jp,1\nmao_(yuureidoushi_(yuurei6214)),4\nmoriririnn,1\nfavaro_leone,4\nnm222,1\ncacomistle_(artist),1\nirei_yukitoshi,1\nwater_pump,0\nrkzrok,1\nshamuichi,1\nrettou_joutou_(vocaloid),3\nhassystants,1\nluobo_(nsnr8754),1\nsilanduqiaocui,1\nkaga_yuuki,4\nmimosa_vermilion,4\nak_5,0\nisekai_cheat_magician,3\nsora_no_kanata_no_dystopia,3\nheart_ahoge_duo,0\nfan_ju,1\nmado_akira,4\nsoyokaze,1\neve_valerne,4\nsowitchraw_(cellphiena),1\nsardine,0\naira_blanc_neige_galdinius,4\nno_armwear,0\nkarasu_kame_ex,1\naplche,1\ngroot,4\ntakao_(88499191),1\nra_coon,1\npaindude,1\njadeite_(sailor_moon),4\nimminent_bestiality,0\n70_oku_no_bun_no_1,1\nyamauta,1\nthank_you_friends!!,0\nkemeko_(kemeko_deluxe),4\nnyan_(themare),1\nkina_(446964),1\nchinchilla_girl,0\nwkdnlwoddl,1\nparune_chigetsu,1\nfuyuri_(tibirobo),1\ndead_(inhabituels),4\nshirikon,1\nsnowflake_necklace,0\nyoongonji,1\nshirorenge_(huruhuru),1\ngeeto_gaadian,1\nnight_seeker_2_(sekaiju),4\nzgxuke,1\nmega_sableye,4\nsatsuki_suzuran,1\nchiyo_(no3baki),1\nsyake_(wadanohara),4\ngunzan,1\nkatekari_yuusuke,1\nshutou_suzu,4\nchiyaru,1\nangelmaster,3\nmusical_touken_ranbu,3\nsei_(bakuretsu_tenshi),4\nwhite_whale,0\nhotaru_(htol#niq),4\nnoyuki1204,1\nwattson_(pokemon),4\nboomina_the_maidroid,3\nchiigo,1\nyangyieva,1\ndaniella_(sennen_sensou_aigis),4\nlady_jewelpet,3\ntsukushi_(toxicdoll),1\nsh-60_seahawk,0\nmuraachi,1\naiovia,1\nomega_na_hito,1\nmasumofu,1\njunexp,1\npg_(pege544),1\nhugo_(suikoden_iii),4\nnishizawa_momoka,4\nmarianne_(unholy_sanctuary),4\nmatsurika_(j297021302),1\nhamagurihime,1\nkawamatsu_yoshinori,1\ndenim_shirt,0\nrtari,1\nyoshihara_motoki,1\nschoolgirls_love_tentacles,3\nsajiwa_(namisippo),1\nosakabe_makie,4\ntransparent_breasts_pads,0\nsouhi,1\nju_(old505),1\nmihashi_ren,4\nkushinada_(p&d),4\nlucian_(league_of_legends),4\nfiore_forvedge_yggdmillennia,4\nmaid-san_to_boin_damashii,3\nneko_zukin,1\nmaestrale_(azur_lane),4\nmink_(dramatical_murder),4\nsherman_firefly,0\nhunter.g,1\nikki_(tue_sein_bestes),1\nkent0320,1\nkazue_kato,1\nmonomono,1\nribbon_legwear,0\nformer_capital,0\nkururi_(oekaki_nikki),1\nminerva_(p&d),4\nian_samson,1\nmisoshiru_(meridianchild312),1\nmusashi_(aoki_hagane_no_arpeggio),4\nkinoto_kanade,1\nasagi_toshikazu,4\njandy,1\nrenboukouji_akira,4\nartemis_(p&d),4\nnanami_natsuki,1\nthe_iconoclasts,3\nkanda_saki,4\nmurikajin,1\nkamen_rider_zx,4\nwen_jr,1\neva200499,1\nvato_falman,4\nshiren_(fuurai_no_shiren),4\ngk,1\nmiracle!,1\nnemou,1\ntetsuyo,1\nphineas_and_ferb,3\naqua_(popogori),1\nisuzu_yuri,4\nninonuko,1\nshuko_hime,4\nbazelgeuse,4\ndiz_(diznaoto),1\ncinderella_(grimm)_(cosplay),0\nbismarcho,1\nnishihama_middle_school_uniform,0\nmasaki_shino,1\nyorurumo,1\ncode:_ultimate_(elsword),4\npirapirapirapira,1\ndi_yi_xing_zian,1\nshowers-u,1\ntsunagi_first_middle_school_uniform,0\nmogami_(azur_lane),4\nlong_fall_boots,0\ncutie_honey_(character)_(cosplay),0\nleska_(arara_cafe_au_lait),4\nkeller_enasa,4\nisami_don,1\nmr-poritan,1\norigami_yukari,4\ntsukiringo,1\npythagora-switch,3\nzhao_(pixiv12947327),1\nminami_(niiya),4\n103mol/l,1\nkyara_akaro,4\njin_yun,1\ngesundheit_(artist),1\nkid_cobra,4\nsakurayume_kome,1\njokerpang,1\ntsukimizu_(ordeal),1\ntakamaki_anne_(cosplay),0\nmitsuha_(kentairui),4\nbute_(butegram),1\ngatling033,1\nharu_(inuarashi),4\nmucchan,4\nitalian_wolf_(kemono_friends),4\nratel_(kemono_friends),4\nsaikura_noushu,1\nmahou_shoujo_ikusei_keikaku_aces,3\nyuni_(via_junk),1\namejaga,1\nkinohara_kossuta,1\nxanadu_avici,1\nadjusting_sleeves,0\nakiba's_trip_the_animation,3\nlilium0235,1\nshoukichi_(shony),1\nikoma_tatsuhito,4\nsleepfool,1\nguilhermerm,1\nweiss_winterprison,4\nazu_(azu401),1\nhwayoung,1\ntomiya_(tomiya2117),1\nxiang_wan_wei_wan,1\nnonokuro,1\nacorn_hair_ornament,0\nling_s,1\nyakan_(madoromio),1\nrolled_up_newspaper,0\njanoukyo19,1\nhatsuyukisou_(flower_knight_girl),4\nmaetenkan,0\nkanrobi,1\nneosnim,1\ngeneral_dynamics_lwmmg,0\nbam_(s2leona),1\neco_(petticoat),1\ntulip_(idolmaster),0\ntakae_(poupee_en_biscuit),1\narare_mochiko,1\nshiina_chizuru,4\nemptycicada,1\nahase_hino,1\ntsuji_shinnosuke,4\nanchoku_0621,1\ngoshenite_(houseki_no_kuni),4\nayatsuri-doll,1\nyasaidon,1\nnyako_(idolmaster),4\neba_rin,4\naper,1\nink.,1\nzun_hat,0\nxnalara,5\njohnson_ting,1\nraven_(guilty_gear),4\nrelief,0\nrisutan,1\nhot_dog_bun,0\nnil,1\nre;lord_dai_san_shou,3\namiko_(frostedchocolate),1\nmomin,1\nkarteira,4\nusukawa,1\nchaki-yam,1\nking_(ougon_kingyo-bachi),1\nmonita_(matataku),4\nyohsoro,1\nspika_(pangya),4\nbaby_5,4\nicon_(sugarless_yogurt),1\nsawatari_ginbee_haruomi,4\nelee0228,1\nelectric_flower,1\noccult_soda,1\nnecromorph,0\ndot_heit,1\nclyde_donovan,4\nnatsume_(iravati-4u),1\nnose_tape,0\nyuhji,1\ngingerbread_cookie,0\nvenomania_kou_no_kyouki_(vocaloid),3\nmissile_(ghost_trick),4\nbeat_(trusty_bell),4\nishikawa_fumi,1\nshiranori,1\ncryptid,0\nmatsumoto_mifuyu,4\nzaku_ii_fz_kai,4\ngotou_matabei,4\numesato_yukino,1\nataru_(ataru_squall),1\ndoctor_octopus,4\nasuma_shin,1\nokada_haruna,4\nshion_(shinrabanshou),4\nkuragehime,3\nmale_pregnancy,0\nwakame_mi,1\nkamaboko_(milky_holmes),4\nyokoi_rego,1\nfigure_stage,0\nsilent_sakia,1\nsagara1990,1\nkaga_(aircraft_carrier),0\nryuusei_date,4\nrose_(dragon_crisis!),4\nyukumo_(armor),4\nkusaka_maichi,1\ngoke_shike_(altamira05),1\nhiko_(lg612),1\nhidarikata,1\naine_(haibane),1\nnene_(oda_nobuna_no_yabou),4\nero-god,1\ntatsumi_(akame_ga_kill!),4\nseirei_(mimi_toka),1\nsatori0121,1\ngamma_(inazuma_eleven),4\nkirushi_(killcy),1\nsawara_(starligtvision),1\nsensei_(denki-gai),4\naiha-deko,1\nrando_seru,1\nichi/mine,1\nkagari_shuusei,4\nkyou_kara_maou!,3\nkasukabe_you,4\nnicole_watterson,4\nkurano_yae,4\nheizou_(hezo3361),1\npopgun_(22882502),1\nindian_wolf_(kemono_friends),4\nzabaniyya_(halloween)_(housamo),4\ntonight_at_the_ligne_droite_(umamusume),0\nboyfriend_(houkago_play),4\ntomoe_gozen_(swimsuit_saber)_(second_ascension)_(fate),4\nmumumu_(ahomoidasuyo),1\nshidare_(youh4016),1\nrain_(aaru),1\nnonddu,1\nalannoran,1\nbarbaracle,4\nqueen_complex,1\nvenus_chain_(sailor_moon),0\nrojiura-cat,1\nscissor_seven,3\nfive-seven_(adventures_of_fenfen)_(girls'_frontline),4\nishtar_(formal_dress)_(fate),4\nbingsardina,1\nink_(ink01_),1\nliberty_manurung,1\nletty_(ogami_kazuki),4\nthejunebug,1\nkomepan,1\nmmm3sushi,1\nnumera_goomy,1\nkim_yoon_(gondom),4\nelaine_auclair,4\nsan_(mononoke_hime)_(cosplay),0\npp-90_(girls'_frontline),4\nanna_(girls'_frontline),4\nvergil_(devil_may_cry)_(cosplay),0\narmais_(me-chan337),1\nkitsun8,1\nfunbolt,1\nririri_(user_rkrv7838),1\nsanya_v._litvyak_(cosplay),0\nmushoku_loli,1\nkardie,1\ncopy_x_(mega_man),4\ntufang,1\nmudrock_colossus_(arknights),4\ndm_(nguyen_dm95),1\nmohei,1\nushiwakamaru_(fate)_(cosplay),0\nanzu_yotsuba,1\nflare_earlgrande_gioral,4\nyulha_06,1\nnevercrymoon,1\nmimiko_(jujutsu_kaisen),4\ngazef_stronoff,4\nderrick_berg,4\nsethkiel,1\n1340smile,1\ncrossco,1\nasakou_(n_morninglight),1\nzhao_tianyou,4\nmarshal_(animal_crossing),4\nmagehound,4\nmisu_(miisuuu),1\nexusiai_(wild_operation)_(arknights),4\nserizawa_kamo_(fate),4\nwillow_park,4\npokefan_cheng,1\nairi_(queen's_blade_unlimited),4\narriet_(shingeki_no_bahamut),4\ng.yamamoto,1\nkawaiipony2,1\nakashi_maho,4\nille_(xcpa7325),1\nchaakusu,1\nballoon_vine_(flower_knight_girl),4\niwato1712,1\nhona_(pixiv7939518),1\nshiroi_ume,1\nling_si,1\ngorakujin,1\nguanghe_zuoyong_de_de_yezi,1\nf_1chan,1\nclutter,0\nchinese_spoon,0\nundyne_the_undying,4\nfubuki_(pekesan),1\non_ceiling,0\nzaki_(2872849),1\ndynasty_ahri,4\ncaracorn,1\nmamorunokoto,1\nmomo-deary,1\norie_mishiro,4\ngunslinger_(granblue_fantasy),4\nkei1115,1\nmokusa,1\nnijie,3\nresha_(cosmic_break),4\ntaamo_yu,1\ntype_speed,0\nrnkgmn,1\nnatora_einus,4\ncorona_(brand),3\nakuama,1\nmoonlaw,1\nyumizuru_eleanora,4\nisis_(ragnarok_online),4\namy26,1\ntenor_saxophone,0\nesythqua,1\ngaida,1\nnakazawa_minori,4\nrune_master_(sekaiju),4\njesse_pinkman,4\ntsukasaki_aoi,1\nalto168,1\nfig_(lchijiku),1\nhanzawa821,1\nyakuta_tetsuya,1\ntales_of_vesperia:_the_first_strike,3\ngrand_blue,3\nkamala_khan,4\nhirasawa_yui_(cosplay),0\nuneune,1\nermuzibu,1\nimouto_no_katachi,3\nginga_tetsudou_no_yoru,3\nuzuki_eri,1\nsencha_(coldcolor),1\nvicar_amelia,4\ndorei_k,1\nfleur_blanc,4\namage_kanade,1\nchurio,4\nkei_(keiuu),1\nhoshino_sora,1\nx-blades,3\njun_jun,1\nyoshitani_(aminosan),1\nqueen_sectonia,4\nsaints_row,3\nshining_nikki,3\nasakura_hao,4\ncleaned,5\nmp41_(girls'_frontline),4\nbaige0,1\nxpmc,4\nnadia_la_arwall_(cosplay),0\nshirakino,1\npocche-ex,1\naya_(star),1\nkannagi_miyabi,4\ns_poi_l,1\nm-eiji,1\nmaxgonta,1\na-king,1\narisawa_masaharu,1\nrouzille,1\nshishina,1\ncheerio,1\niro_(waterloafer),1\npadme_amidala,4\nrg_veda,3\nsatou_kuroon,1\nrobata,1\nthumbs_in_pockets,0\nbarokkusu,1\ncarue,4\nstudio_khara,3\nl4wless,1\nasumi_sena,4\nmuto_(uadocjon_21),1\nshiraki_rika,4\nsingle_hair_tube,0\nranko_no_ane,1\nhei_meiling,4\nkrulcifer_einfolk,4\ntorikai_hazuki,4\nhachi_(gaoo),1\nkangaroo_girl,0\ntsumi_to_batsu_(vocaloid),3\nbroken_finger,0\ntenpura_noraneko,1\ntristana_(girls_und_panzer),4\nkesha,1\nndo2,1\nartix_entertainment,3\nshino_satoru,1\nganyu_(qilin)_(genshin_impact),4\ntono_munekage,1\nloki_(danmachi),4\nnia_(littlestars),1\nrakuhei,1\nkamiya_(amamiko),1\nclearfile,1\nsonosaki_kazebayashi,1\ngohanduck,1\ndismaiden,1\npsylduck,1\nminnie_mouse_(cosplay),0\nyatonokami_nayuta,4\nobligation_chocolate,0\ndaison,1\nkazemaru_(arknights),4\ntmt,1\ndeathwing,4\n1b,1\nkohigashi_hitona,4\nqueen_of_hearts_symbol,0\njay_phenrix,1\nkanou_ayumi,1\nkirsten_(arknights),4\nwusie2,1\nseki_(vtuber),4\ntowa1,1\neve_(2nas)_(elsword),4\n1860_(ichi),1\nshinsoku_ikkon_(idolmaster),0\nthe_world_(tarot),0\npatio,0\nskidrow,1\nwing_piercing,0\ntachibana_(tach011194),1\ntsyn,1\nadeptus_mechanicus,4\nfrederica_greenhill,4\neuden,4\nhagiya_kaoru,1\nmegatron_(idw),4\nsuzuna_takano,4\nkeyfanjun,1\n99aj,1\npumo_(kapuchiya),1\ninsect_on_head,0\ncum_in_shoe,0\ndesire_driver,0\neriyama,1\nshort_hair_fox_girl_(mdf_an),4\nsilvercandy_gum,1\nnijino_saki,4\nryeon_(bluetom1),1\niovebly,1\nminnie_may_hopkins,4\nouken,4\nshirotsuki_shirone,1\nsymboli_kris_s_(umamusume),4\nmousou_dairinin,3\nlion_hood,0\nmiyuki_(yxbt7),1\naile_strike_gundam,4\nmii_aki,1\ntonki,1\nporikeracchou,1\ngalil_(girls'_frontline),4\nalchemist,0\nsideswipe,4\nhamu_fukurou,1\nakashic_chronicle,3\nholding_organ,0\nura_musi,1\nmouse_hair_ornament,0\nreon-shi,1\ncorki,4\nmasquerade_channel,3\naize,1\nyumeno_koto,4\nio-catalyst,1\nsaki_(14793221),1\nkiara_(kenshin187),4\nsara_scorpion,4\nchiyo_(genshin_impact),4\nkeienu0,1\nquelaag's_sister,4\nhanada_no_kiwami,1\nsnowman_costume,0\ntiger_panties,0\nbinbinsuke,1\nascot_(rayearth),4\nno_control,1\nsuaynnai_wanzi,1\nblue_curtain,0\npurasu_no_konbu,1\nencanto,3\nirisrey,1\nzenkai_magine,4\nkazunoko_(saria001),1\nrebellion_(ragnarok_online),4\ntoukashi_(2tou9),1\nrita_mordio_(catgirl_waitress),4\nhitomebore,3\nmilky_tea,1\nthai_clothes,0\ngriddle,0\nonegai!_ranking,3\npapaia_(quentingqoo),1\nkill_la_kill_final_episode_scissor_blade_relay_(meme),0\nclinic,0\nshui_lan_er,4\nmondoart1,1\nhayana_neru,1\narado_balanga,4\nzoku_owarimonogatari,3\nestus_flask,0\nkurokoshou_(spicyland),1\nsalad_bowl,0\nakira-tama,1\nkiyochii,1\ntwo_of_hearts,0\nkingyo_114,1\nwall_crash,0\nonigawara_rin,4\ntachi_(mtd),1\ntail_garter,0\npixie-bob_(boku_no_hero_academia),4\nuwazumi,1\ngambit,4\nkey_the_metal_idol,3\nsan_zhi_chun,1\nikoan,1\nphoenix_ikki,4\ndouble_bikini,0\nshimada_(dmisx),1\npetals_in_mouth,0\nelflorri,1\nfoil,0\nshinonome86,1\nuuroncha,1\nverniy_(kancolle)_(cosplay),0\nmomo_(last_origin),4\nblue_garter_straps,0\ngask_(architect_2d),1\ndeep_current_wattson,4\nbowsan,1\ntransparent_horns,0\nkamiya_yukihiro,4\nanimal_earmuffs,0\non_ball,0\nloly_aivirrne,4\nmiyamoto_(dominocube6),1\nmishima_ryo,1\ncurry_bread,0\nchun_bae,1\nyaxiya,1\nchikuwabuta,1\nuzuki_mei,1\nlattice_mast,0\nlatex_corset,0\nasami_you,1\ntktk-tnk,1\nnavigator,0\nsasaki_shounen,1\nwar_counselor_iji,4\nnokia_(harusion),1\nkorokoro,4\nsa-3_mozambique,0\nkkr_rkgk,1\nmugiccha2,1\nanxflower,1\ncatocala,1\nhasbro,3\nangruoxin,1\nmargaret_(rune_factory),4\netorofu_(kancolle)_(cosplay),0\nyukinimaru,1\nmoon_gundam,3\njunko_(touhou)_(cosplay),0\nxbox_series_x,0\nmaru-yu_(kancolle)_(cosplay),0\nmizutsune,4\ngaak11977,1\nbroken_teeth,0\nchae_ara,4\nnekokokazuma,1\nbukatsu_kikaku,3\nhatoya_hato,1\nkintaros,4\ndexio_(pokemon),4\nitou_souichi,1\nhinapo,1\nrathke,1\ninago,1\nkunieda_(miniaturegarden),1\nhondarai,1\nreika_(iamreika),1\nyaebane,1\nsuzako,4\nahira_yuzu,1\nfrontal_wedgie,0\nbanister,0\nfaux_text,0\nwakana_(nagomoo),1\nmonini,1\nringocha_(appleteatea),1\nelephant_hat,0\nnishikawa_eito,1\nvictoria_(damegane),4\nnt50,1\nhaku_wi,1\nmogami_rio,1\ntsukimizake,1\nholding_paper_airplane,0\nkotobuki_shiiko,4\ne-liter_4k_(splatoon),0\nyinqi,1\nlamborghini_countach,0\nkushiya_inaho,4\nnecoring862,1\norkz,4\nwhoareuu,1\nhiepita97,1\nyarareimu,1\nmatsuda_juukou,1\nangela_balzac_(cosplay),0\ngozaru,1\nmochi547,1\nhanasaka_yui,4\nronin,0\nurgot,4\naug_para_(girls'_frontline),4\nleonart,1\nnoko_morokoshi,1\nhankachi_(okayama012),1\nshimogami_ataru,1\ntsubaki-sama_wa_sakihokore_nai,3\npedestrian_crossing_sign,0\ngraphic_equalizer,0\nvibncent,1\nthrown,0\neuphoria_(clockup),3\ndaweykun,1\ndancouga,4\nhhy,1\ngentiana,4\nclark_(159123),1\npanties_under_bodysuit,0\ndousunnen,1\nmakita_(homosapiensu),1\nshufflebox,1\nkani_(kaniya),1\nringoanu,1\nnagatu_usagi,1\nnekoyanagi_(azelsynn),1\ndogmatika_ecclesia_the_virtuous,4\npyrefly,0\ndodoss_dont,1\nhelp,0\npower_drill,0\nttusee5,1\netchi_inoha_sukidesuka,1\ndomino's_pizza,3\ntanaka_nunu,1\nobject_on_bulge,0\nshiou_tsuyukusa,1\nmakai_wars,3\ntirtouga,4\nyuge_mugito,1\nuenomigi,1\nophelia,4\nsatolive20,1\nnina_dragnot,4\nbillbine,4\nlloyd_(mother),4\nshinomaru,1\nhin,1\nnemeko,1\njijing_zishui,1\nkoutetsu_jeeg,3\nchocomarybadend,1\nhoushou_(kancolle)_(cosplay),0\nkairoushu_(dones01127),1\nalice_garnet_nakata,4\nfuguriya,3\nkaiven,1\nerythroblast_(hataraku_saibou),4\nnanasaki,1\ngari_gari-kun,0\nkuroda_hikari,4\nselby,1\npm_tii_(matuko1024),1\nshira_(sirairo116),1\nopengear,1\nnatsuki_nori,1\ntank_truck,0\ntraver009,1\nshirosaki_rin,4\namaya_yuu,1\nmisaki_(chess08),1\nichinose_kazuki,4\nigawa_sakura_(cosplay),0\nliangfen,1\nminazuki_kashou,4\nplacenta_(sidonia_no_kishi),0\ndeni_m,1\nuno_usaya,1\nmhunter_45,1\nfalke_(street_fighter),4\nshiroimoufu,1\nsailor_chibi_moon_(cosplay),0\nshuri_(riri_shu),1\nwuziky00,1\nshima_(niconico),4\n156m,1\nrott_ur,1\nedelgard_(isekai_maou),4\namamami_prime,1\nryuu_(breath_of_fire_i),4\nramp,0\nyamanaka_koyomi,4\nasakaze_risa,4\nfu_shun_(azur_lane),4\nsilverpixia,1\nraito_(latek),1\nauditorium,0\ndragonith,1\ncloudlou,1\nkornod,1\ncomet_(comet-san),4\nkureha_(sound_voltex),4\nnanora,1\nchapa_kari,1\nshizuku_(game),3\ndvdraw,1\nkuwahara_hazuki,4\nclone_trooper,0\nelsynien,1\nglorybringer_(granblue_fantasy)_(cosplay),0\nnagi_ria,1\nsouma_(soumadian),1\nsame_ningen,3\nhosoinogarou,1\nnakano_futaba,1\nmononofu_~shirayuri_kassen_maihime~,3\nbinu_(nadenade),1\nxixing_si_yao_meng,1\namane_(amnk1213),1\nkinubari_nerune,1\napapico,1\nasakura_nanao,4\nuni_(uni-strain),1\nhata_(pixiv4102938),1\nsatou_usuzuku,1\nnanoningen_(anapoko),1\nnatsuki-chan_(natsuki_teru),4\nfamas_(girls'_frontline),4\nradishkek,1\nmichiko_malandro,4\netoile,1\nnyakkuru,1\ng_ig98,1\nkim_nag-seo,1\nsuzukimadaka,1\nmugicho_(kdks5554),1\nekubo_(ciaobero),1\nfuchsia,1\nsukumaraku,1\nshimizu_kokeshi,1\nigau,1\nmiyabi_(miyabi),1\ntorazou,1\njiseki,1\nfukabori_sumiyo,4\nbob_ross,4\nvault_girl,4\nsoutsuki_naru,1\nshiori_series,3\nakatsuki_akira,1\ntwitch_(league_of_legends),4\nmutsu_(gintama),4\nthe_last_guardian,3\nrecoome,4\nreborns_gundam,4\nsialeeds_falenas,4\nnitoro-star,1\nkonpasu,1\nakatuti,1\nmonio,1\nkadoya_tsukasa,4\nema_(shirotsume_souwa),4\nperfect_hole,3\nmugen_kageno,1\nkhnchak,1\neven_(even_yiwen),1\nmoriyama_a,1\nstamp-sheet,0\ndragon_empery_(emblem),0\ngigantamax_cinderace,4\nalcremie_(love_sweet),4\nmikawaya,1\nwatagashikn,1\nhanabusaraleigh,1\nyami_ga_fukami,1\nempire_state_building,0\nhishizaki_shaia_(gowcaizer),4\nhm_mono,1\nsakamina,1\nsola_(sola04),1\norico,1\nfriedrich_der_grosse_(zeremonie_of_the_cradle)_(azur_lane),4\nnightmare_(kirby),4\nnatsuki_mitsu,1\nraven_(artist),1\nkiri_(trouble_spirit),4\nokamoto_manami,4\ntelepathic_sex,0\nhone_shoukan,1\nkari-kenji,4\nenico,1\nkoyuki_(2smj),1\nmelissa_seraphy,4\nnabatame_hitomi,4\npp-19_(girls'_frontline),4\nhigurashi_akane,4\ntatiana_wisla,4\npurumia,0\nblade_of_the_immortal,3\ntamano_hinagiku,4\ncsi,3\numaro,4\nprima_aspallas,4\ndj_sakura,4\nmashiro_rima,4\nmarie_rudel,4\ngundam_gp-01_zephyranthes,4\nshibugaki_matsuri,4\npuchi_puri_yucie,3\ncatch,0\nsirius_black,4\nadictreader,1\nemupii_maid_promotion_master,3\nyanda,4\nhayata_aya,1\nooshiro_youkou,1\nfesta!!_hyper_girls_pop,3\nphinx,4\njunako,1\nkooriyama_ichirou,1\niga_oboro,4\nyamamura_hiroki,1\nhori_hiroaki,1\npp:_pianissimo,3\nbisco_(letitbleed),1\nfortress_(nanoha),4\nohagi,1\naikawa_jun,4\nbonten_karasu,1\nkayaba_ka-1,0\nemu_(trigger),1\nwriggle_nightbug_(cosplay),0\ntabasa,4\nkagura_(prism_ark),4\nefu,1\nnanairo,1\ntwo-tone_tail,0\nnumakura_manami,4\nkiririn,1\nmikisato,1\npeter_pan,3\ndhomochevsky,4\nnegurie,1\ngaden,1\nixpellia,4\nizana_minagi,1\nsuzumura_tomo,1\ndakushido,1\nshibasaki_roka,4\nkadomaru_misa,4\nhitsujin,1\nfujieda_hiro,1\nchocomoch,1\nirino,1\nt.r,1\ntsuji_aya,4\nsanada_ikki,1\ncastlevania_iii:_dracula's_curse,3\nyami_nabe,1\nshirasagi_mayuri,4\nrope_snake,4\nwanyuwa,1\nzawa_(onomatopoeia),0\nrick_dias,4\nsmoke_ring,0\ntsuchimikado_maika,4\nniounomiya_izumu,4\nmyouga,1\nakimegu_m,1\nkukuchi_heisuke,4\ndum_sticky_note,0\nmao_(shining_tears),4\n110_gou,1\nnishimura_nanami,4\nshimizu_eiichi,1\nfukudori,1\nhayami_rasenjin,1\neterno,1\ntamara,1\nmocchiri_oyaji,1\npadded_walls,0\ndevout,4\nillumination,0\nmakishima_yumi,4\nkamen_rider_knight,4\nvistahero,1\nochanomizu_doggu,1\nayumi_(x-blades),4\nunohana_no_sakuyahime,4\nhana_azuki,1\nmichael_myers,4\nmirun_(funimani),1\nkohei_nakaya,1\ngakuko,4\nwakanu,1\nm_onna_senka,3\ndetonator_orgun,3\nyma,1\ncray_(breath_of_fire),4\naoba_chise,4\nkoyama_sousuke,1\nsuemizu_yuzuki,1\nriku_(jonsun),4\ngenzou_(me_genzo),1\netceteraart,1\ncure_pine_(cosplay),0\nnicoco,1\nkoa_(koh_a),1\nbinding_blade_(weapon),0\narashiyama_sayoko,4\nstunk,4\ntazukichi,1\nkagamine_len_no_bousou_(vocaloid),3\nkokurikozaka_kara,3\npink_poison,1\nsaboten_pose,0\ndonoteat,1\ntaku_(fishdrive),1\nlorum_piercing,0\nshake_(ferit3),1\nsano_sho,1\nsunohara_nana,4\ngabu_kichi,1\n53,1\nalto,3\nmiyake_achi,1\nvf-27,4\nhamita_(rikopin_ika),1\nliskarm_(overload)_(arknights),4\nhi_no_tori_(kemono_friends),4\nearl_grey_(girls_und_panzer),4\nyu_iseol_(return_of_the_mount_hua_sect),4\niyo_(fate),4\njoker.z,1\nyoru_(0_0yoru),1\nkalista,4\nkouda_kouji,4\nkokkoro_(princess_connect!)_(cosplay),0\nconqueror_of_the_eternals,4\nessex_(craft_fairytail)_(azur_lane),4\nyustinos,1\nyan_ge,1\nitsu_(artist),1\nraiden_mei_(danzai_spectramancer),4\njustin_bailey,4\nmab_pa-15,0\ndierbeibanjia,1\neve_(nier_automata),4\ndorachan_r,1\ngrass_wonder_(saint_jade_healer)_(umamusume),4\ntakumi_mizuki,1\niwami_sayaka,4\nfleurdelis_(yu-gi-oh!),4\nk-rumi,1\nenoki_3106,1\nasutorii,1\nalfred_(bloodborne),4\nmiyamoto_musashi_(swimsuit_berserker)_(fate)_(cosplay),0\nmilephunter,1\nhazama_(hazamazama),1\ndragoon_(selen_tatsuki),4\nmanzai_sugar,1\nnearly_naked_coat,0\nibuki_imina,4\nultraman_orb_(series),3\nkijiyama_north_high_school,0\nmeloetta_(pirouette),4\nbai_xiao,4\nalfin_reise_arnor,4\nharu_(yomawari),4\nvermouth_(meitantei_conan),4\nchum_(splatoon),4\nkirikawa_ikumu,1\nyomoya_oc10,1\nariane_(gaikotsu_kishi-sama_tadaima_isekai_e_o_dekake-chuu),4\nnokuran,1\nmadeleine_(fantasista_doll),4\nuno_uzume,4\nemanuella_porlallora,4\noi_ke,1\nm-eine,1\nediblepanda,1\nhoshihara_hikaru,4\nberotore,1\njoel_(the_last_of_us),4\nguardias,1\ncarla_yeager,4\nsawamin,1\nmeumiharagane,1\nenomoto_yuiko,4\nemura_subaru,4\nkitakubu_katsudou_kiroku,3\nfunkid,1\nguan_hat,0\ntokiaki,1\nkusakabe_asako,4\nvusc,1\nhyakujuu-ou_golion,3\nseiken_tsukai_no_world_break,3\nheart_bubbles,0\nkouzaku_mitori,4\njang_won,1\npandy_(geistbox),4\nzixia_(msl),1\nnortheast_mountain,1\nkusuda_aina,4\ntsukisaka_sayu,4\nlouis_lloyd-judson,1\nmegurimu,1\nshirakami_itsuki,4\ntaiyou_(tori_no_su_studio),1\nlaaaicha,1\nnachi_(aoki_hagane_no_arpeggio),4\nshinma_daigo,1\nakatsuki_nagisa,4\ncity_below,0\nribeyrolles_1918,0\nnayutarou_(nyt_kag),1\ndaifukumochi_(qquuiieett),1\nsei_8220,1\n\"lu\"\"\",1\ntigern_(tigern28502735),1\niwatobi-chan,4\ndebris_(game),3\nclover_days,3\nhiiragi_natsume,1\npatdarux,1\nmisfit_funny,1\nmiri_(miri_1m),1\nfrostce,1\nmhs,1\nhachikoo_(astatine),1\ngon_(hoozuki_no_reitetsu),4\nyakimochi_stream,3\nmesme,1\nanotherxalice,3\njuse_rino,4\nfuse_midori,4\npaffel,4\nmikagura_seisa,4\neve_(kenzen),1\nmobuko_(akita_komachi),1\nphilippines,0\nmatatabi_(flower),0\namahira,1\nkikuko_(kazu),4\nhakuduki18,1\nmiracle_hoshi,1\nbouto_(paranoia),1\nvon.franken,1\nrana_(vocaloid),4\nkinosaki_reisui,1\nchu_chu_(xenogears),4\nvintem,1\nyaginuma_io,4\nkuonji_shizuka,4\nfyuria_(agarest_senki),4\nmaikeru_(dk_maikel),1\nishii_(isuwie),1\ntianyu_jifeng,1\nledgem_(rhapsody),4\nbird_type_girl_system,3\ntouma_saya,4\nkatee,1\ndraco_(monster_musume),4\nblue_track_suit,0\nnerisuke,1\nshijima_kiriko,4\nyokaze_(xxxdisxxx),1\nnoyama_(noyama8888),1\nhikawa_maria,4\nnisei_muramasa,4\nfuji_(rua-258),1\nnaguy_(nagui),1\nsignalkj,1\nisabelle_du_monceau_de_bergendal,4\nsoumu_(kehotank),1\nnakai_(zabuton_makura),1\nmaomao_(kusuriya_no_hitorigoto),4\nerica_(acerailgun),4\nhasshaku-sama_(cosplay),0\nkasakuri,1\nslamming_door,0\nkei_(keiclear),1\nwinged_animal,0\nsuisui_(hakkindou),1\npecorine_(princess_connect!)_(cosplay),0\nkatori_rea,4\nriri_(kemurikusa),4\nmatsuoka_chie,4\nlink_(shounen_captain),4\nsumiyao_(sumiyao_(amam)),4\namiyakinyu,1\nsasorichamaru,1\ntempuru,1\ncocoa_fuumi,1\nhinata_yume,4\ntsumugine_rei,4\npacha_(pachastuff),1\nlyoung0j,1\ntatiana_(fire_emblem),4\nhoney_trap_(hero-san_to_moto_onna_kanbu-san),4\ngurantsu,1\nalice-type_underwear,0\ntakahashi_tetsuo,4\nlola_(pangya),4\nhedgehog_girl_(yukimoto_shuuji_(gurigura)),4\nshidoh279,1\nmisonikomiii,1\nkariza,1\ndaigaku_jitome,1\nsak1023,1\nmeddy.exe_(mega_man),4\nmrxinom,1\nnillin,1\notsukimi_recital_(vocaloid),3\ncardinal_armand,4\nsan_mokmok05,1\nhigh_braid,0\nrokumon_tengai_mon_colle_knight,3\nmagic_research,0\nbun_(hiyokomame),1\nwaruwarutsu,1\nundone_ascot,0\nnekoemonn,1\ngracehoo,1\nsaiguuji_sachi,4\npuri_puri_prisoner,4\nnabuta375,1\nanyotete,1\noofxyphxia,1\namai_shuga,4\nsuzuhara_misaki,4\nmakino_(sinobusan),1\nrobo-fortune,4\nnekomitei,1\nbanana_batter,1\nlip_(panel_de_pon),4\ndoya,1\nnekoya_minamo,1\nkikou-kai_galient,3\nhosekisho_richard-shi_no_nazo_kantei,3\nyuria_(hokuto_no_ken),4\nogata_hiro,1\ntrouble_witches,3\nitoshiki_mikoto,4\nkumaneko_(kumaneko1138),1\nlariat,0\nrise_(alice_or_alice),4\nnihoshi_(bipedal_s),1\nshroomsworth_(pmd-explorers),4\ngreat_auk_(kemono_friends)_(carasohmi),4\nkasaran,1\ntill_(idaten93),4\nhiganbana_(onmyoji),4\ndoreking,0\ntama_(tm_suac),1\nlayered_stories_zero,3\nyoriha_yashiro,1\noklahoma_(azur_lane),4\nmozu_1oo,1\nkimijima_yayoi,4\nkuromiyagyo,1\nphoenix_(azur_lane),4\nhyakkihei,4\nfushigi_no_gensokyo,3\njanjan_umatarou,1\ndevil_may_cry_1,3\nmushiki_k,1\nbou_(sen_to_chihiro_no_kamikakushi),4\nfengguan,0\nrolled_up_paper,0\ntsuutenkaku,0\nnecojishi,1\nsu-57,0\neijitsu,1\nnetsuke,0\nnationale_volksarmee,0\nchorisow_(delta_chord),1\ncain_(granblue_fantasy),4\nzhi_(yammycheese),1\ndino_(reborn),4\nden'ei_shoujo,3\nshiden_(t41xz),1\nhoshinomori_chiaki,4\nkishirika_kishirisu,4\nunosuke,1\nuto_ki_te,1\ngomatarou_(pixiv196136),1\nyaha-kui_zashunina,4\nsengoku_hanafuda_kassen,3\nshy_(ribboneels),1\njeremy_anninos,1\nunajuu_(food),0\nblackwatch_genji,4\ncishi_nianshao,1\nrunesque,1\npfle,4\nlushuao,1\nsekine_hajime,1\nnagi_(xx001122),1\njapan_world_cup,3\neve_(cloud_meadow),4\nevan_(cloud_meadow),4\ntsuko_(25mnts),1\nshoko_(moccom),1\nlijupy,1\nvostok_(vostok061),1\nlapis_lazuline,4\nsakura_futaba_(cosplay),0\naruto_(shake_onigiri),1\nyouu_(midgard),1\nxenon_(kona-card),1\nohguro_mariya,1\nricotta_(ys),4\nmerc_(merc_storia),4\naxleaki,1\nquiss,1\nkaminashi_nozomi,4\nalolan_sandshrew,4\nsaionji_yuri,1\nmoeoh_ex,3\njean-paul,4\nmei_(overwatch)_(cosplay),0\nwenfei_ye,1\nqidai,1\nkazu_(really_in_hot_water_now),1\ncrazy_(zoza),4\nlalaco_godspeed,4\nkyle_(suikoden),4\ntamaya,1\nmarimotencho,1\nrabbitbrush,1\nb-2_spirit,0\ntrouble_witches_neo,3\naleksander_nikolaevich_her,4\ngalaxea,1\nsennin_mode,0\ngumball_watterson,4\nhei_yan-m82a1,1\norigin_(fefnir_nightload),1\nshii_(cocoa),1\nmiwatari_renge,1\namusphere,0\nhide_(lindalindalinda),1\nkuzuryuu_momoko,4\nasakura_yuuna,4\nforehead_writing,0\nzooya,1\nmitamura-kun_(landcell),1\nmario_party,3\nsuframare,4\nforge,0\nsadomochi,1\nritsu_(iqpi),1\ntamago_sando,1\nryu-san,4\nu_nagi,1\nmatsuo_bashou_(sengoku_collection),4\nkurano_mikoto,4\nfire_dragon_(inazuma_eleven),0\nmoyashi_koubou,1\nturkish_flag,0\n3mm,1\nscarlet_macaw,0\nipev,1\nsally_acorn,4\nhanairo_heptagram,3\nhuazang,1\njuumonji_kaho,4\npeter_(miku_plus),4\nakms,0\nrikko_(peso),1\nkodai_heiki,1\nboku_(isizakitakasi),1\nstar_saber_(transformers),4\nintercom,0\nmayana_(bbpp),1\nsasaki_kotone,4\nbristle,4\nchinchilla_(animal),0\ncure_girl,3\nnaoe_yamato,4\niza,1\ndead_people,1\nkonatsu_hare,1\nchappa_(kaetodo),1\nhana-tamago,4\nyosu,1\nkyonta,1\nogu_(oguogu),1\nkiryuu_mina,1\nhabbitrot,1\ndeviljho_(armor),4\nsuzuneko-rin,1\nholes,0\nakaname,4\ngmanee,1\nthe_path,3\ndaughter_(bakuretsu_hunters),4\nmitaonsha,1\nbattle_mage_(dungeon_and_fighter),4\nchamooi,1\nprehensile_toes,0\nclaude_faustus,4\nserizawa_katsumi,1\nkikuta_kouichi,1\nnanatsuki_(arca-nize),1\nkanata_ryou,1\ninui's_meltran,4\nkishiwada_robin,1\np_no_hito,1\nred_liquid_(artist),1\nonitobico,1\nmk_14_ebr,0\ntriple_action_thunder,0\nki_lllorz,1\nw-t,1\nkaryl_(princess)_(princess_connect!),4\nyago8_pp3,1\nlucy_loud,4\ndu_yaoye_(arknights),4\nren_zotto,4\nfumiomiomi,1\nprotagonist_(light_and_night_love),4\ncagliostro_(youthful_uniform)_(granblue_fantasy),4\nsomwang_07,1\nacky_bright,1\nnatsusemi,1\nshito_miu_(40hara),4\nsylas_(league_of_legends),4\njavelin_(blissful_purity)_(azur_lane),4\ntoniwing,1\ntanaka_jouji,4\nchoujigen_game_neptune_sisters_vs_sisters,3\nphantom_thief,0\nhakuryuu_(slice_dice_and_serve)_(azur_lane),4\nflame_princess,4\ncheat_kusushi_no_slow_life,3\nneku397,1\nsakuramai_(sakuramai_0525),1\nversen,3\nrobin_(gift_of_wild)_(arknights),4\ndanheng_(honkai:_star_rail),4\npra_(prapon0904),1\nbeatus_creation,3\nazumake_(azumakei),1\ntwo_soyjaks_pointing_(meme),0\nramiro_de_la_cruz,1\nhyper_muteki_(artist),1\nshikube,1\noshiruko_kizoku,1\nobobkkp,1\nscorpius_malfoy,4\nsakura_yuu_(hzjy8485),1\ngueira_(made_in_abyss),4\nvlad_king_(boku_no_hero_academia),4\nesojima_gary,1\ntype_56-1_(girls'_frontline),4\ngundam_breaker_battlogue,3\npolyvora,1\nolympus_(apex_legends),0\nliving_with_hipstergirl_and_gamergirl,3\nada_badguy,1\nthompson_(solowingfh),1\nglan_(159cm),4\nguee_(ebifry_teishoku),1\nkitsune_kemono,1\ncroriin,1\nmega_man_x1,3\nshinkansen_henkei_robo_shinkalion_z,3\nkukoi,1\njack_masser,1\nmilil,1\nziyue,1\nsakurai_nana_(moshichi),1\nhoro_27,1\nooyodo_(kancolle)_(cosplay),0\nkamikaze_(kancolle)_(cosplay),0\nchung1000,1\ncocon_(cocon_q),1\njawli,1\nz24_(azur_lane),4\numi_(k_mpk),1\nlser116,1\nthe_sun_(tarot),0\nstr11x,1\nshinigami_bocchan_to_kuro_maid,3\nfirewatch_(wilted_cypress)_(arknights),4\nmamiya_miya,1\nhatski.sin,1\nnabu_(d4ng4nn6bu12),1\nbad_weibo_id,5\nsl10_d,1\nmugi_no_hikyaku,1\natkm2,1\nbo9_(bo9_nc),1\ntr_(lauralauraluara),1\nsable_able_(animal_crossing),4\nfue_(lars0713),1\nii_tea,1\nkokko_(kokko3045),1\nyuni_0205,1\naosta_(arknights),4\nthe0neulost,1\narino_ayarei,1\nmakai_senki_disgaea_6,3\nfen_fen_fen_fen,1\nyayanri,1\nkumagitsune,1\nhongou_shio,4\ntoro_tarou,1\nshindayomon,1\ndezuko_(dezuko_no_heya),1\ngamyuu_(gamyu),1\nturpentine_(pin),1\nikoma_(kabaneri),4\nmateria_(frame_arms_girl),4\nmaki_honoka,4\nheart-shaped_breath,0\ngabriel_(dadaist),1\ntetsumaki,1\nwinter_wonder_lulu,4\nmydeerwitch,1\nlux_arcadia,4\nkiri_toichi,1\nrevia_serge,4\nbokyo,1\nnanashi_(shin_megami_tensei_iv_final),4\nmarco_diaz,4\nyanagi_ryuuta,1\nseven_(sao),4\ncut-away,0\nportgas_d._rouge,4\nsachico66,1\nji_dan,1\nyugeoryouki,1\nprimal_hearts_2,3\nsaotome_shizuno,4\ncommand_and_conquer:_red_alert_2,3\ndaifuku_(usagi_pie),1\nbroken_fence,0\nharukawa_(itsuka-itsukaichi),1\nmiokikoeru,1\nsen-jou,1\ntamago_tyoko_(ijen0703),1\nfuchibeppu_chiyuri,4\nshephira_(cert),4\nkikino,1\nkogasa-san's_sister,4\ndance_with_devils,3\naria_the_avvenire,3\n4b,1\nneiigal,1\nharin_0,1\ntartar,4\nseitarou,1\nsabano_niwatori,1\ntsurara0128,1\nshogu_(shoguchime),1\nlilith_(megami_paradise),4\nunohana_kotoha,4\nminamoto-kun_monogatari,3\nhirata_yurisa_(ghettoyouth),4\nthe_legend_of_zelda:_four_swords,3\nyousuke_(yosk),1\nagu,1\nakai_miho,4\nalatreon,4\nsobamushi_mo,1\ncaesar8149,1\nfuzino,1\nsakura_len,4\ncindy_moon,4\nnio_altugle,4\nyuitsuki1206,1\nuhou_renka,3\ntakataka,1\nhakozaki_chika,4\nrhombus,0\nyuusha-chan_(gassaku_no_hito),1\nashida_ichirou,1\nsquirrel_girl_(yuuhagi_(amaretto-no-natsu)),4\ncracklecradle,3\ninagaki_mami,4\nmurata_tomohide,1\noperating_table,0\nnick_carlyle,4\nnakajima_nobuyo,4\nkokonidarekairu,1\nnaname_ushiro,1\nayarin103,1\ntransformers:_war_for_cybertron_trilogy,3\nbeato2528,1\nkotokoto_(jumon),1\nena_(quilt),4\nacid_head,1\nciao_churu,0\nhiyunagi,1\nexodia_the_forbidden_one,4\nkiduguch,1\nshoveling,0\nbyoubyou,1\naemu_(august_life),1\nyuuki_(snowhouse),1\nbloomers_on_head,0\nhrna,1\nkom_(1323736),1\nangelo_sauper,4\nseabook_arno,4\ngoma_azarasi,1\npi_(math),0\ntoothless,4\nyamisawa,1\nkuroinu_momotarou,1\nwhite_leg_warmers,0\nisoi_haruki,4\nasuka_(viper),4\nmomi_yuro,1\nshi_er_xian,1\neclair_(girls_und_panzer),4\nzarik_kajiwara,4\ntamakibi,1\nbaka_ouji_persia,1\nallegretto,4\n4st_injection,1\nhurin_raika,1\nwonder_festival_2005,3\nooe_kanade,4\ntotal,1\nnovel_(object),0\nclaus_lester,4\nyuzuki_karin,1\nyouzen,4\nfuri,1\nmomotose_(hzuu_xh4),1\ndola,4\nrikuson,4\nfu_(tk1189227dhy),1\nart_itou,1\nclickdraws,1\nergouzi_echo,1\naohitsugi_samatoki,4\nnekomimimix,1\nbrick_st,1\nai_(popotan),4\nnemurase_hime_kara_no_okurimono_(vocaloid),3\nshou_(hanasakukoroni),1\naraki_hirohiko,1\npenny_crygor,4\nshnider,1\nghost_driver,0\nserana,4\nsyuntyu_katze,1\nmaita,1\nlightningstrikes,1\nhits_(hitstts),1\ntraining_room,0\nroute_66,0\nmenou_(virgin_road),4\nsoyoghi,1\nenchi,1\nelemental_hero_neos,4\nlady_(pokemon),4\na9712mob,1\nwizwu,1\nkiki_kaikai,3\nhanpen_(nijigasaki),4\npocket_mirror,3\nsumeshi,1\naino_osaru,1\nhaibara_nanaka,4\nyuugure,1\nbuff_bard,1\nvuipui,1\nchocoboo,0\nsoc_nau,1\nclaudia_madobe,4\ndededeteiu,1\nnanase_mizuho,1\nmeiko_(cosplay),0\nshukei,1\nbelka,4\nkamen_rider_saber,4\nfutaba_masumi,1\nhidejiu,1\nyostuba0704,1\naltas,1\nkimiko_(zakusi),4\nclothes_gagged,0\ngiant_squid,0\nisakysaku,1\nmiyan_(oceanmaiden),1\npsycho_soldier,3\nyoshimura_masato,1\nwokashiya,1\nblowtorch,0\nyoshidaworks,1\nfairy_knight_tristan_(third_ascension)_(fate),4\nryan_domonica,1\nkurosaki_karin,4\nmihaeru,1\ncasteliacone,0\nmotomiki,1\nkisaragi_shuuji,4\nmdnk,1\nbunny_eyepatch,0\nwedge_(ff7),4\nshindoi_akio,1\nmiyuara,1\nhanachirusato_(genshin_impact),4\ncure_yum-yum,4\nshippou_(inuyasha),4\nasai_genji,1\ncarrie_fernandez,4\nyangus,4\nyui_(spica),1\nbob-the-bison,1\nshoukin500,1\nseibzehn,4\ndoroti.,1\nzhao_190,1\nsirfy,1\nmanannan_mac_lir_(first_ascension)_(fate),4\nle_mars_(azur_lane),4\nkyu_(wein-seria),1\nsupport,0\nexposed_brain,0\nnanjou_(sumeragimishiro),1\ncandy_jar,0\nyi_(199702090505),1\ngaeun_(counter:side),4\nmukuo,1\nna222222,1\nwilliam.b,1\nhinomori_anzu,4\nnegura_meru,1\ntsuru_(680597),1\nzeradok,1\naraishi_maro,1\nhonami_takase_ambler,4\nlittle_legend,4\nliving_shadow,0\nseven_colors_of_the_wind,3\npurple_tunic,0\nzenith_greyrat,4\nootsuka_you,1\nkillmonger,4\nrotom_(mow),4\nsaberrung,1\nkotsuru_kari,1\neydis_(sao),4\nsasugano_roki,4\npencil_to_face,0\ncure_peach_(angel),4\ncovering_body,0\nmios1225,1\nfooring,1\nedward_elric's_son,4\natianshi,1\nnill,4\ncp2980606,1\nmohg_lord_of_blood,4\nosu!,3\nethan_(pokemon)_(cosplay),0\naoppoi_oto,1\nli_sushang,4\nzed_(wild_arms),4\nbatten_japari_dan,0\nleopard_2,0\nchark14,1\ngarex,1\nuni_mmtab,1\nheartki,1\nraimone26,1\nten_of_hearts,0\ntriple_vertical_stripe,0\nunacha,1\nsuzume_anko,1\nnohoho_(kakikonchi),1\nkoizumi_kazuaki_production,1\n80isiiii,1\nshirokuma_cafe,3\nbokiboki333,1\nhenriette_(fire_emblem),4\nmai_dog_love,3\naugma,0\nsuper_karna_(fate),4\nrairaisuruyo,1\nplesiosaur,0\nredluck,4\nseabread,1\nlian_(pokemon),4\nkunami_himehiko,1\nechidna_(last_origin),4\nfairy_(girls'_frontline),0\nneytharone_(drill_(emilio)),4\nharamin3,1\nmatou_sakura_(imaginary_around),4\nramon_(kof),4\nikaruga_(knight's_&_magic),4\nrainbowscreen,1\nk.pumpkin,1\nchai_(vtuber),4\nmother_superior_(diva),4\nrotom_(fan),4\ntobitori,1\nsyuraime_0,1\nyutsu,1\nnomad_(housamo),4\ntsukimiya_sara,1\nmizuki_haruka,1\nraven_(notorious_teacher)_(tales),4\ncsc00014,1\nluxuriou_s,1\nseri_gnsn,1\nmochikushi,1\nnext_black,4\nsuguharu86,1\nsasanoha_toro,1\nevileye_(overlord),4\ncore_gundam,4\nmidori_(mido0021),1\na-91_(girls'_frontline),4\nsanada_ryou,4\nmansu_(user_pnmp4287),1\nrococo_(girl_cafe_gun),4\nbburi,1\nyn1982,1\npalulap,1\nsterilesoil,1\ndodon_gadon,1\nsponge_cake,0\njio_(nayutarooo),1\nnanahoshi_kou,1\nc-sha,4\ncrow_(aaaaaaa068345),1\npoo,1\nedward_kenway,4\nemmett_brown,4\nmifune_chihaya,4\nsweets_lingerie,0\nmushiao,1\ntraptrix_rafflesia,4\nlakenightbug,1\nkogiso,1\nito_t20a,1\npanettone_(girls_und_panzer),4\nyumeno_ruruka,1\np00nipooni,1\ngrey_pajamas,0\ngeistbox,1\nbead_belt,0\nphantom_rose,3\nindonesia,0\nkadowaki_miku,1\nphantom_(mega_man),4\ncongqian_you_ke_xing,1\nyashiki_yuuko,4\nhellsinker,3\ntornadus_(incarnate),4\naikei,1\nqinni,1\nskinny_jeans,0\nhinata_tino,1\nshiva_(housamo),4\nazaka_(rionrita),1\nshirakamii,1\nbursting,0\nsain_(fire_emblem),4\neximmetry,1\nyasubaru,1\ndixie_kong,4\ndenpa_rasaito,1\nsatou_sara,4\nriver_(river_ga),1\nkabi_akaru,1\nkisaragi_reona,4\nnakashima_naomi,4\ngigi-chan,4\nyurigera_8959,1\ntqg_07,1\nshadow_sae,4\nshibao,1\nzb_(xucz8527),1\nsonic_team,3\nbandabekken,1\nfim-92_stinger,0\nred_innertube,0\ntikuwazyousyou,1\ncinders,0\nnishimiya_yuzuru,4\nernula,4\nlillin,1\nnabeyaki_neko,1\nluffie,1\nmissiles,0\ntakapii,1\nhitokoe,1\nchilunchilun,1\ngreen_trim,0\nnrmya,1\nyamada_(fanfantaisa),1\niizuka_ena,1\ncourtyard,0\njung_wonjo,1\nthe_roma-like_snowman,4\nhinakurukuru,1\ntafuu_(tortafu),1\narnaud_tegny,1\ntokyo_metropolitan_police_department,3\nfuuka,3\nturkey_leg,0\npiko_han,1\nintertwined_hair,0\nich.,1\ngiga_drill_break,0\nryan_jampole,1\nmiyata_souji,1\nkawaraya_koh,1\nbrown_pajamas,0\nsophiaenju,1\nemu_(marico_w),1\nleather_bag,0\ndai-gurren,4\nlinked_gag,0\ndiving_board,0\nrorretsim,1\nlicking_another's_lips,0\nshiro_kanae,1\ntimburr,4\nwonderful_magic_(idolmaster),0\nbarbarian_set_(zelda),0\nburnt_hair,0\nokome_2g2g,1\nsorahoshi_kirame,4\ninari1369,1\nmasakappa,1\nchiro_(norishiro_michiro),1\ntype_97_torpedo_bomber,4\nsateriasis_venomania,4\ncandy_island_(idolmaster),0\nkou_v05first,1\nsunkilow,1\nmetadio,1\ngomabura,1\nasahi_yanagi,1\ntang-du,1\nkitamiya_genbu,1\ndrawcia,4\ndararito,1\nnorigure18,1\nfrilled_pants,0\nfuji_takanasu,1\nakari_(shichigatsu),4\nnanako_(jujutsu_kaisen),4\nshelmet,4\nmia_karnstein,4\npink_lipstick_tube,0\nriku_(ukir125),1\nnakamura_3sou,1\nelocca,1\nvictoria_dahlgrun,4\ncolumns_ke,1\nelvafirst,1\nmechanical_bull,0\nnakoruru_(cosplay),0\npop_tab,0\nichitaka_(1015ichitaka),1\nnaitou,4\nkiyo_(kyokyo1220),1\nwatashi,4\nmonmonhomon,1\nkiso_azuki,4\ngreen_hill_zone,0\nroad_bicycle,0\nprint_(medium),0\nghost_hands,0\nlunastra,4\nkanikama_(character),4\naves_plumbum9,1\nkazuki_yone,1\narmd,4\nblue_blindfold,0\nfujimiya,1\nwooden_deck,0\npomf,0\nnikotama_mai,4\ncocoon_(yuming4976),1\npower_tool,0\nyonagi_kei,4\nyuzu_(kimagure_kankitsurui),1\nkousaka_kure,1\nchama_kou,1\nkoyami_tsukito,1\nseven_star,1\nihrie,4\ntraffic_cone_on_head,0\nkaopon,1\nkusanagi_kei,4\nacute_(vocaloid),3\naki_(broccoli-t),1\ninumaru_(sougen_no_marogoya),1\nfalsetto_(suite_precure),4\nring_toss,0\nmochi730,1\nkeele_zeibel,4\nsamayoi,1\nmetal_fight_beyblade,3\nkoizumi_chika,4\nlewis_gun,0\nwreathlit_noel,4\nclara_v,1\nsakura_kaede,4\nbetter_girls,3\njungtong,1\ncoon,1\nre_cation,3\nmatsuhisa_(ryo-tsuda1),1\nzero_(katana_zero),4\nvvv,1\nkozukata_yuuri,4\nshounan_no_tamasu,1\nshizukagata_naginata,4\norange_bloomers,0\npina_co_lada_(gate),4\nroku_(ntbr_fate),1\nthailand,0\nzocehuy,1\nhanakoizumi_an,4\nsysen,1\nyunohara_izumi,4\nbody_modification,0\nakebisousaku,1\nindia,0\npeacoat,0\nimageboard,0\nsaiya,1\nrna_(angel-smelter),1\nlure,0\nconey,1\nugetsu_(chimere/marie),1\ntoo_many_dogs,0\nzeppeki_shoujo,1\nsorceress_sellen,4\nracing_miku_(2012),4\npinkbell,3\nflint_(mother_3),4\nrae_(hexedwithluck),1\nyagi_(yagiumaaai),1\ntoshi_makoto,1\nsoxy,1\ngioha,1\nruun_(abcdeffff),1\nkarute,1\nkubo_takako,4\nblz,1\ntengai_makyou,3\ntapioka,4\nmisasagi_tasuku,1\nhasesese,1\nkamatori_pokari,1\nshimoda-kon,1\ntettere,4\nsiloteddy,1\nfractal,0\nsaikyou_tomomi,4\nsetsuka,4\nbaryan,1\nharu-chan,4\nms06s,1\nhanakago,1\ngargoyle_(nadia),4\ncliff_fittir,4\nhinano,1\nmystic_(fft),4\nmarsh_badge,0\nuni_tenten,1\nomgamilla,1\nkomito,1\ntabletop_rpg,0\nakishisu_(air_balance),1\nru&pauda_(artist),1\nko-ran,1\ntachibanaei,1\nolaf_(league_of_legends),4\nmitarai_yuuna,4\ncana_alberona,4\nkurotani_kyoukutsu,1\nmako_(avatar),4\nikusa_megami_(series),3\nanco_(platanity),1\ntakiteru,1\ncika,1\nsugoihi,1\nkonno_rei,1\nmamedanuki,1\nwu-qiao,1\nyurayura,1\nnamae_hamada,1\nliu_bei,4\nhanaori_kotoha,4\nlu_bu,4\npandaun,1\nanne_(wixoss),4\ntororo_inniina,4\naz_(shotatteiiyone),1\nmaid_in_heaven,3\nhaitaka,1\ntrainer_minamizaka,4\nsu-37,0\nmutsuki_hiiro,1\nlumia_waber,4\ncu_chulainn_(megami_tensei),4\nmajicjiang,1\nrawan,1\nvert_farbreton,4\ntmku,1\nakadou,1\ngreat_magami,1\nasakura_maina,4\nmaon,1\nfubuki_(busou_shinki),4\nnntn,1\nberetta_93r,0\nmining,0\nkatsuki_yousuke,1\ncatharine_blitzen,4\nshima_katsuki,4\nksfactory,1\nakatsuki_no_amaneka_to_aoi_kyojin,3\nlostdog121,1\nmakaron,1\nlight_gun,0\nmishiyomi_kazumi,1\nmakihara_izumi,4\nbigegg,1\namawashi_miku,4\nendou_tatsumi,1\ngarbage_doll,4\nhargon,4\npieta,3\nazumaya_akira,1\nfenrir_(vehicle),0\nfonewearl,4\nkiri_nada,1\nk3_(dolphin_brain),1\ntakeshiko,1\ngym_teacher,0\nfulunukko,1\nstragus_magus,4\nshiony_regis,4\naoi_usagi_(marinebluerabbit),1\nshinozaki_akira,1\nsora_tokumo,1\nkentarou,1\ntakamura_masaya,1\nmiyamayomema,1\nusakou,1\ngucchi,1\nacha,1\nhashiguchi_takashi,1\nyuu_(hi_lite),1\nkowarekake_no_orgel,3\numapan,1\naoi_mug,1\nvanilla_the_rabbit,4\ntoriko,4\nnecocafe_lili,1\nloli_hooker,1\nshabon,1\nshinmeiji_rinn,4\ntea_(kino_no_tabi),4\nayumi_tooru,1\nlip_van_winkle,1\neccentriky,1\nsuika_(game),3\nhida_mari,1\nhanasaki_akane,4\nnagase_takeshi,1\nlint_roller,0\nflandre,4\nmushiuta,3\nmisawa_hanei,4\ntsukihime_souka,4\nyghm,1\ntifa_lockhart's_sporty_dress,0\nlandorus_(incarnate),4\ngalarian_weezing,4\ngohan_(gohanchang),1\nhan_seol,1\npanko_(drive_co),1\nkisaragi_ren_(vtuber),4\npamiat_merkuria_(sweet_cherry_memories)_(azur_lane),4\nasha_(monster_world),4\ntsugumi-chan_(sora),4\nruka_(princess_connect!),4\nmarin_(ragnarok_online),4\nmedi_gun,0\nastrid_hofferson,4\nvacuum_tube,0\nmercury_xeno,1\nrianastia_flugel,4\ncode_geass:_genesic_re;code,3\nblack_tears,0\nyarr,1\nbloated,0\nkie_(yospcd),1\nmobugorilla,1\nrachael_foley,4\nfuji_den_fujiko,1\nkyoubashi_amane,4\ncult_of_the_lamb,3\nyoungjijii,1\nswedish_uniform,0\nxingqiu_(aoi_no_okina)_(genshin_impact),4\ngold_one-piece_swimsuit,0\nim_catfood,1\nholding_ruler,0\ntao_ren,4\nsaul_goodman,4\nicon_315,1\nparagus_(dragon_ball_z),4\nstan_(grandblue_fantasy),4\nbriareos_hecatonchires,4\nozeki_miyabi,1\ntor_ai,1\nhirata_ryou,1\nmizushima_kai,1\nsilver_(twisted_wonderland),4\nfuchi_(0616tk),1\nhinagiku_lala,4\nsebastians_(madoka_magica),4\nnakarai_keijin,4\ngleipnir_(series),3\nkika,1\nthe_o,4\nnodu,1\nnekoyanagi_reo,1\nthat's_your_girlfriend_(meme),0\nmacartura08,1\ndkxlek,1\nhoukago_play_3,3\nkinose_azusa,4\nharusaruhi,4\nxooku,1\nshared_sense,0\nxintianou,1\nkent_(fire_emblem),4\nasskiler,1\nhovercraft,0\nskype,3\nascoeur,4\nnoran,1\nritz_(h322),1\ntoritori,1\nnagisa_(maid_in_heaven),4\ntama_(nyan_koi),4\nsonolar,4\nkasei_yukimitsu,1\nshirouko,4\nunown_q,4\nunown_!,4\nbbmasa,1\nkiwi_(cyberpunk),4\naurora_(last_origin),4\ncastform_(sunny),4\nralf,1\nmitsuki_tayura,1\nwrist_belt,0\nmania_street,1\nkawai_miruku,4\nwhen_mama_isn't_home_(meme),0\nsparseseethe,1\nkumanosita,1\nnemupon_(goodlucky),1\nharuta_(user_dndp3458),1\narin_(fanfan013),1\ncross-laced_gloves,0\nxx_momomo_xx,1\nshizuku_(shinrabanshou),4\nremonoart,1\nshochiku,1\ndoctor_(last_origin),4\namy_razor,4\nmurechika,1\ndai_mahou_touge,3\npenguu_(green528),1\ngoose_(untitled_goose_game),4\nkieran_(fire_emblem),4\nkawosu_shikou,1\nsigure-zzzz,1\nelliot_(zkstxxx),4\nayanami_(grade_a_sailor_uniform)_(azur_lane),4\ninugami_korone_(cosplay),0\nuesugi_kenshin_(sengoku_otome),4\nrukuriritea,1\nkamonohashi_(girls_und_panzer),4\nhoshi_wo_miru_hito,3\nmonushi,1\nminoominoomi,1\nttc,1\nlilia_creative,1\nphina_(fire_emblem),4\nrosa_(hoshino),1\nwo_cai_bushi_zhushou,1\nskull_ring,0\nfrs2,1\nsherry_leblanc,4\npersia_(rune_factory),4\nprincess_shokora,4\nz-chan,4\nsonic_the_hedgehog_(2006),3\nafuganisu-tan,4\nleon_(leon_the_professional),4\nonene,1\nkobayashi_jin,1\nyumiyokiak,1\nniko_(silent.whitesnow),1\nmunakata_reishi,4\nares_(fire_emblem),4\ntouya_(log_horizon),4\nfilir_(ragnarok_online),4\nhino_ryuu,1\nkuro-hero,1\nnekojarashi_(yuuga),1\nmio1030,1\nkatia_(fantasista_doll),4\nshimeji_(fantasista_doll),4\nmangattan,1\nnew_year's_eve,0\nvaison,1\naquarium_tunnel,0\nskyfiss,1\nuta_(yagashiro25),1\nkyurin_(sunnydelight),1\nchizu_(fiute),1\nlillu,1\nsenjitsu_musou,1\nkawamura_takayasu,1\nojamu_(kotarou),1\ntara_olphoros,4\nmitsuki_hana,1\nsplash_free,0\njason_peng,1\nparviz_(gundam_build_divers_re:rise),4\nshantae_(cosplay),0\ngu_jian_qi_tan,3\ntrench_knife,0\ngtolin_chang,1\nonoda_sakamichi,4\nms_anne_(erubo),4\nfindoworld,1\ncracking_egg,0\nemma_(pokemon),4\nmxwbr,1\nr-ko_(rayla),1\nhilary_flail,4\nmiyanii_(myanie),1\nhimerinco,1\nrouko_(shichizai_shichifuku),1\nshindou_takuto_(mixi_max_oda_nobunaga),0\nastarte_(strike_the_blood),4\nsugeno_tomoaki,1\nai_1003,1\n9_(saki-ooo-kiyu),1\nvincent_(hiyakuen),1\nbyoukitakashi,1\nbebitera,1\nmobile_suit_gundam:_cucuruz_doan's_island,3\nnappooz,1\nvenera-sama_(cosplay),0\nhopebiscuit,1\njustin_(sera_tony),1\nandromeda_(p&d),4\nranger_(final_fantasy),4\ndrag009,1\ntorn_tabard,0\nmoryo,1\nwriting_on_hand,0\nsharaku_koji,1\nfrench_army,0\ncoup_(shun_soku),4\nfurui,1\nfalco_grice,4\ndosaken,1\nargentinian_flag,0\nboomina,4\nyamijam,1\nsumoffu,1\nkarasuma_kyousuke,4\ninu0831,1\ngauna_491,4\nhieihirai,1\nping_pong_(manga),3\nmintsu_(ichi--kun),1\nuro_(m369),1\nyuichiitan,1\nmatsu_(sekaowaoneok),1\ntoo_many_eyes,0\ntsuruko_turuta,1\nshynee_(p&d),4\nsuzumoto_mayu,4\ndream_c_club_gogo.,3\nblunt-katana,1\nnoah_(p&d),4\ngreatpengh,1\nsinsa_(alchemy_stars),4\nyabataso,1\noubou,1\nshokora_momiji,1\ncurry_(dbt),1\nitou_chitose,4\nsadu_dotharl,4\npapeapoo,1\nmikanmochi,1\nbuild_burning_gundam,4\nayamu_(igakato),1\nshurakrgt,1\ndende_(dndn222),1\nmanabe_mana,1\nmisao,3\nnekomicha,1\nshigatsu_shizuki,1\niguana_henshuu-chou,1\nnomura_kasumi,4\ntouya_(roukaku),1\nthe_cecile,1\ntabby_(.hack//),4\nnelke_to_densetsu_no_renkinjutsushi_tachi,3\nleeis_cool,1\ncala_maria_(cuphead),4\ntaiger,1\ntauburn_(star_driver),4\nshirayuri_sakuya,4\nasshimar,4\ndenimcatfish,1\nkouba_nobu,1\nfujinomiya_rio,1\nnikori,1\nsiam_(meow13),1\nair_kon,1\neringya_(marl_kingdom),4\nrukia_(incise_soul),4\niris_(sennen_sensou_aigis),4\ncure_spicy,4\nsnakeping,1\ncomomo_(tk),4\nwaymay,1\ntoa_(kitakaze_setsuna),1\nmizushima_serika,4\nossan_zabi_190,1\nsh22,1\nyuuichi_katou,1\npixelflag,1\nkuro75268,1\ninconvenient_ass,0\nharuka-chan_(pan_(mimi)),4\nchichi_chichi,1\nnakahara_mai,4\nunicorn_(warship_girls_r),4\nshinidei,1\nyulia_valkova,4\nnakahara_chuuya,4\npikatsu,1\nbramblefix,1\nraiju_(monster_girl_encyclopedia),4\nshiki_no_miko,1\nenamiru,1\ncaptain_marvelous,4\nwakaba_iro_no_quartet,3\ngrey_nipples,0\nprimcoco,1\nyamashita_majime,4\nharunoha,1\ngina_61324,1\neyewon_(precure),4\nnamekuji_ojiichan,1\nfalia_the_queen_of_the_mountains,4\ngaia_(another_eidos),4\ngriffon_(devil_may_cry_5),4\nmikiky,1\nyona_(edenkasuga),1\nnaraku_(inuyasha),4\ncloud.d,1\nyf-29,4\nh_(2de1flf8),1\nyoshihiro_(yoshihiro12190),1\nkneeichigo,1\nmother13fucker,1\nbrown_sarong,0\nkaworu_(kaw_lov),1\nshiyo_yoyoyo,1\njiaxi_daze,1\narena_of_valor,3\ninoshin_(inixia1748),1\nlani_(pink_pink),1\ngaro:vanishing_line,3\nnkise,1\ncherim,1\n1s44c,1\nz2_georg_thiele_(azur_lane),4\ncollared_bikini,0\npeachpii,1\nhn_(artist),1\nbaizu_(guszx),1\nhome_(houmei),1\ncoconat_summer,1\nrota_(bitmap1022),1\nreddgeist,1\npacific_rim:_uprising,3\nresident_evil_darkside_chronicles,3\nradiant_historia,3\ntoumin,1\nkaya_xavier,4\nizumi39,1\nmount_whip,1\nthanatos_eros,4\ndazol,1\nred_card,0\nengi_threepiece,4\npima_mashiro,1\nbonesaw,0\ntokeijikake_no_ley_line,3\nd-nobi,1\nmassuru,1\nripple_star,0\nkalata,1\ntenkyou_no_alderamin,3\nkyoudai_no_jouji_jijou_2,3\nkirieroido_iii,1\nadunba_rell,1\nkanzaki_akihito,4\nglow_(vocaloid),3\ncthylla_(chaos_code),4\nmuruchi-,1\nangel_(kof)_(cosplay),0\nhyakute_gyojin,1\nbidarian,1\nsayasama,1\nhiro_(spectral_force),4\nkaranashi_mari,1\nfood_fighter_441,1\ndekappara_futoriusu,1\ntakezaka_tarou,1\nalicia_(queen's_blade),4\ncipher_(ace_combat),4\nkyoji_(tmtrymetm),1\nmiyano_mai,4\nnyuuhin,1\nhukasikasi,1\npanah,1\nfley3black,1\nshuma_(daitokei),1\nstutter,0\naustrian_flag,0\n96neko_mtm,1\nharuka4413,1\nnakumonaga_uma,1\nrapama,1\nreishin_(tenpurasoba),1\nmsg01,1\nippachi,1\namase_(yagami666),1\nlovehammer,1\nkurarika,1\nsenkou_tobaku,1\nmura_kuroe,1\nyoke,0\nmkt,1\ninflating,0\nmiyama_fugin,1\nfoot_wraps,0\naki_(suterii),4\ntunomon,4\ndarwin's_game,3\ntenihaba_nana,4\nshikishima_gangu,1\nshiki_takuto,1\nyellow_kirby,1\nalba_(senyuu),4\njohn_marica,1\nohkubo_atsushi,1\nsonic_x,3\ntakashiro_(takashiro_factory),1\ntokugawa_landine,1\nborg_(alien_nine),4\nmeuneyu,1\npogchamp,0\nsachiko_(hayashi_custom),4\nchange_(437483723),1\nn3o2,1\nkakeshou,1\nchiki_(chikibw),1\npokestop,0\nsyntier13,1\nponsu_(ponzuxponzu),1\noku_(2964_okn),1\nabarai_ichika,4\nnoah_(livas),1\ni_am_jemboy,1\naira_(qwedcxza49),1\nkangaruu_(momotk1109),1\nkhloe_aliapoh,4\nenk,1\nhime_(crunchyroll),4\nnekomata_(youkai_hyakki-tan!),4\npope_(ragnarok_online),4\nonemegawatt,1\ncalamity_mary,4\nnagi_(siki2n),1\nnatori_sayaka,4\nnikuman_(samara),1\njhc_kai,1\njack_cooper,4\nmitsuha_(bless_blessing),1\npirozhki,0\nqi==qi,1\nkyoungi_nyang,1\nmicopp,1\nhiro_(hibikigaro),1\naglovale_(granblue_fantasy),4\ntakaya_tomohide,1\nfia_(riviera),4\nnanaji_(7ymf),1\nhmng,1\nku99_(kugugu),1\nhuli_daxian,4\nnal_(naru-1),1\nnspa_(spa-jcs),1\nmiyotarou,1\ntabako-bon,0\nmagician_servant,4\nkillian_phegor,4\nfrilled_lizard_(kemono_friends),4\npale_fox_(kemono_friends),4\nenpu_(ufo),1\naeus,1\nnakajima_yua,4\nshiva_(granblue_fantasy),4\nglenn_(chrono_cross),4\nsaiki_rider,1\noxp_(okipuu),1\ndrillhorn_sword,0\nkabos,1\nmiyako_(miyako_lplover),1\nrayrie,1\njun_(ittla),4\nnarynn_(character),4\nlinhe_de_chuangzi,1\noohara_tetsuya,1\nzhiyan_li,1\nkimukimu,1\nflash_suppressor,0\nhoshiineko,1\nrice_(okome_no_naru_ki),1\nno_sense_of_shame,1\nkuchibue_(tanima_club),1\nmeronpanna_(mikoniito),1\nmomiji_kei,1\nshiemasu,1\nbooker_dewitt,4\nichiban_renga,1\nyuuheisyoujyo,1\nparatrooper,0\nasprach,1\nshimada_(simada_bu),1\ntsuru_no_ongaeshi,3\nshima_chizuru,4\nkita_(higan),1\nkudou_taiki,4\nhimesuzu,1\nkagami_ei,1\nkuri_dora,1\navtechno!,0\naka_shiro_kiiro,1\ntsukuda_akemi,4\nmikami_rika,4\nairbo,1\ntakada_satsuki,4\noki_kuro,1\nmaruhana,1\nravage_(transformers),4\nwhirl_(transformers),4\ngero-gh,1\nhosizora_(sparetime),1\nyeonjun_park,1\nkono_dio_da_(meme),0\nsaber_(royal_dress)_(fate),4\nhina_saori_(himitsu),4\nfur_sweater,0\ntote_col,4\nwaha~,0\nshimanakao_(shimanaka_sushi),1\nproducer_(idolmaster_side-m),4\ndeepa_mitra,4\nyasaka_hitsugi,4\ncaooll,1\ndankestofdans,1\nconte_ryuu,1\nzero_one_driver,0\ntwitter_verified_checkmark,0\nshiki_karin,1\nviktor_(gensou_suikoden),4\nkizuna_akari_(tsubomi),4\nkumeri0804,1\nmiya_(24toys),1\neden_(sennen_sensou_aigis),4\naonik,1\npillow_straddling,0\nist_lei_mikan,1\nkagura_takeshi,1\nmuutsu_(maxwell0916),1\nnonosaki_tsubasa,4\nice_king,4\ntsuzuki_maki,1\nbattlecruiser,0\nsatsuki_miya,4\nsan_mon,1\nnagase_daisuke,4\nflower_(kowarekake),4\nmofuka,1\nholmy_(show_by_rock!!),4\nkikaider_(series),3\nchikuwa_(tikuwa),1\nuri-tan,4\nhead_removed,0\nsayuma,1\nanko_koubou,1\nhanamaru-s,1\nwei_ji,1\ntachiki_(naruki),1\nchinpo_ni_wa_katenakatta_yo,0\ntatsumaki_(cosplay),0\ngenerator,0\narima_kanae,4\ntakasaki_chidori,4\nlynn_lambretta,4\nsei_(seiryuuden),1\npioxpioo,1\nkageyama_shinobi,1\nnogami_ryoutarou,4\nasahi_(sakanasakana),1\nwhite_kyurem,4\nvasily_(run211),1\npheasant,0\nhigashi_(azm),1\nyamada_gogogo,1\nchako_nejio,1\nnishinomiya_saku,1\nmicrosoft_office,3\nakihara_ryou,1\nsakuma_sanosuke,1\npork_pie_sailor_hat,0\nturu,1\ncheng,1\nryuu32,1\ni_don't_have_a_single_regret_in_my_life,0\nchikkinage_nage,1\nchloe_price,4\nkamio_yuunosuke,4\nhinoki_(hinoki-buro),1\nosomatu-sama,1\ndipping,0\nyoshino_charles,4\npilot_chair,0\nzon_nura,1\nyomitrooper,1\nziran_juan,1\nsophie_(693432),1\ndoma_umaru_(cosplay),0\ncooking_oil,0\n125buri,1\nnishiwaki_yuuko,4\nfrank_araya,1\nsako_rk_95_(upotte!!),4\nkirishima_goro_(55541),1\nhinase_kei,1\nyoshida_haru,4\nisaac_netero,4\nkurisugawa_kii,4\nchoujuushin_gravion_zwei,3\nredblacktac,1\nemilia_(krt_girls),4\nrashid_(street_fighter),4\nreina_(maitetsu),4\ncarmen_(persona_5),4\nie_(nyj1815),1\nsouma_kira,1\nhadome,1\nkometa_(kome_17),1\niris_(ryou@ryou),4\nwing_umbrella,0\ndemitas,1\nyaplus,1\nlisesharte_atismata,4\nragi_(pluie),1\njne,1\ncaro-xy,1\nkeroko_(frolicfrogs),1\nhasumi_urara,4\nclaudia_emma_cross,4\nlaxia_(ys),4\nmoai21,1\nkayuma,1\nsuiren_(flower_knight_girl),4\nputeru,1\nwakaho_riku,1\nhiraoka_kanae_(akatsuki_usagi),4\nnovember_11_(darker_than_black),4\nsiska_leontyne,4\nchase!_(love_live!),0\ndana_(pokemon),4\nverity_(pokemon),4\nblade_of_mercy,0\nsuper_danganronpa_another_2,3\nbandaged_horns,0\npanther_boy,0\nah_yoshimizu,1\ndobok,0\noskar_(jasdavi),4\nevil_(okame_nin),4\ntsuji643163271,1\nshimo_hisae,4\nciosuii,1\nvegetto_(xeno),4\nreman_kamuy,1\nchannee_(cluseller),4\nchin_on_palm_challenge,0\nkowai_(iamkowai),1\nkani_bonara,1\nbright_memories_(idolmaster),0\nteddyellow,1\nameya_(okemu_ame),1\nalger_wilson,4\nkendo_club_president_(rangu),4\nsaria_(stronghold)_(arknights),4\nqianqianjie,1\nrimamo,1\nhitotu_no_naka,1\npan_jing_(the_legend_of_luoxiaohei),4\nmutsu_(kancolle)_(cosplay),0\nxsk_(ruanmumu),1\nhasewo,1\namano_misao_(battle_programmer_shirase),4\nagasa_(akasa_anodan),1\ngirl_dm,4\nzikryzero,1\nkokuoh,4\nalouette_(mega_man),4\nhiroikara_(smhong04),1\ncrystallization,0\nkondou_(dioptrie),1\ntoo_much_burger,0\nirohero,1\nfflora,1\nbenson_moretti,4\nkotohatoko510,1\nheinrich_(fernanderuddle),1\nboise_(sheepish_sapphire)_(azur_lane),4\nbandam,1\napu_spills_his_tendies_(meme),0\ndormouse_(alice_in_wonderland),4\nrole_player:_okayu_shimai_no_nenmaku_potrait_-_gurigucha_live!,3\nhawkeye_girl_(mechanical_buddy_universe),4\nrmb-93_(girls'_frontline),4\nluvluvvox,1\nmoti_ken,1\npodenco_(wake_up_from_a_nap)_(arknights),4\ntifa_lockhart's_exotic_dress,0\nsss_(komojinos3),1\nhyouka_(yashiro_sousaku),4\nnang_z1,1\nsenin_liku,1\nukiukikiwi2525,1\nicetea774,1\nkazami_(kuroro),1\nsakugan,3\npor,1\ntraces,1\nsouth_(monookibako),1\nsin_moriyama,1\ncaren_(mermaid_melody_pichi_pichi_pitch),4\nmaca_(macaca12),1\nalpha_(smashbox),1\nhoutei9,1\npiano_(agneschen),1\npotion_maker,3\ntsuchu,1\nbra_in_mouth,0\nsimplecar,1\ned_(end),1\ninuinuo_gataken,1\nnoa_p,1\nseven_(11),1\nasahina_natsuki,4\nshrek,4\nsports_panties,0\neducational,0\nchanohata_tamami,4\nnova_(warframe),4\nhuman_pyramid,0\nyuki_(ookami_kodomo),4\nhana_(ookami_kodomo),4\nfujioka_yatsufusa,1\nyotubeya,1\nblue_bird_(akitsu_taira),4\nkumacchi,1\naoi_akua,1\nrazu_(rus),1\nkuro_(chrono),1\nbunsen_burner,0\nswan_boat,0\nyoshiikirablr,1\ncourage_the_cowardly_dog,3\nsuiua,1\nuni_(vocaloid),4\ngunkata,0\neikiri_eimu,4\nasagiri_gen,4\nzipper_bikini,0\nryutaros,4\nyanwulazy,1\nluonawei,1\nglock_18c,0\nsuigi,1\nmeganei,1\nlucy_kaneshiro,4\naburai_yui,1\nkagemitsu_g4,0\nfurofuki_daikon,1\nxx_asui,1\nfomnant,1\nkomame_(wanton),1\nlemon_snail,1\nair_hockey,0\nhakamichi_hideaki,4\nren_(tainca2000),1\ngangure_(disemboweled),1\nd.sum,1\nkaiba_mokuba,4\nvan_arkride,4\nnyahpa20,1\nonsokuzekuu,1\nmayonnaise_bottle,0\ndesu,0\nyoshizaki_mine_(style),0\nholding_on,0\nionosphere,1\npink_leggings,0\ntuzaixia,1\nhiisu_(s-1104-d),1\ntogekk0,1\ne-0057,1\nupturned_umbrella,0\nomao,1\nalmohada,1\nmclaren_p1,0\nkaiyoko_star,4\nrakugaki_suruhito,1\nkirin_(kemono_friends),4\nwankosukii,1\nsenrireiri,1\nbon_clay,4\nyuuki_koutarou,1\ntaachika,1\nphiluffy_aingram,4\nwhite-faced_varre,4\ngorogoro_(sfx),0\nangelica_ainsworth,4\nbooba_(meme),0\nsukireto,1\numbrella_hair_ornament,0\nirenji,1\ny0u0k,1\nwakamiya_henri,4\nyellow_bandeau,0\nnekopantsu_(blt),1\narugou,1\nrui_(gsr1982),1\nroamu_65,1\n0:00,1\nholding_bow_(music),0\nstarbirbz,1\nhakumei_kosen,1\ntrigun_maximum,3\nrezeharu,1\nusui_sachi,4\nyuineko,1\nlower_(vocaloid),3\nbungaw,1\naya_rato,1\nblue_light,0\nokowa_0141,1\nburningblossom,1\naoki_daisuke,4\nnagano_mamoru,1\nsvveetberry,1\nokina_(805197),1\nnatsume_konoha,4\nta_ma_on,1\nl-gaim,4\nnanaironokabi,1\nrnfhv,1\nazure_(alchemy_stars),4\neggnog_cookie,4\nerty113,1\nyakisoba_spill,0\nshota-kun_(shinjiro),4\nb.bor,1\nkabu_usagi,1\nkihel_heim_(cosplay),0\nuu3cm,1\nasumi_(000),1\nvisual_prison,3\nrecord_jacket,0\naoki_mei,4\nevilblade,0\nsate_hatena,1\nbadou_nails,4\nbinah_(project_moon),4\npyroar_(male),4\nchocolate_cigarette,0\narc_phone,0\ntakanashi_nao,4\npig_mask,0\nkokonotsunbai,1\nami_thompson,1\nimu_(acmg3475),1\npeekaboo,0\nleknaat,4\nmismatched_horns,0\nmurayama_yuiri,4\nmonowheel,0\ncolt_(monster_farm),4\nheadphone-chan_(splatoon),4\nchinchilla_tail,0\nblack_claws,0\nnanataroo_7,1\nlv1021787418,1\ncinnamon_stick,0\nqiu_tong,4\nsakurai_kanade,4\nkonoe_haruka,4\nyanagi_fuyumi,4\nsharon_kreuger,4\ntakase_kou,1\npeach_(airline),3\nchesed_(project_moon),4\nmint_(uchi_no_pet_jijou),4\nkuga_kokage,4\ngreen_(among_us),4\nyumikoyama49,1\nribbed_hat,0\nponimu,1\npill_on_tongue,0\nfront_mission,3\nnoe_8ban,1\nmalik_al-sayf,4\nusagikoya,1\nharima_mika,4\nbifurcated_jaw,0\njingb_dx,1\n6mint,1\ngudadan,1\nsakana45,1\nmarcus_(ff9),4\ncounter-strike,3\nchihiro_ayaka,1\nbroly_culo_(meme),0\nesearu,1\nasteria_(driftingprhp),1\nnanigashi_(xla009),1\nlilith_(borderlands),4\nqian_renxue_zhuye,1\nmaniwa_koumori,4\nhakuuyori,1\nura_tomoya,1\nnekonetoru_take,1\nsonic_the_hedgehog_(film),3\nkuro_(blackpgmickey),1\nsukly,1\narvis_(fire_emblem),4\ngardnerverse,3\nshikai_yue,4\nmulticolored_butterfly,0\ncrescent_wand,0\nrui_(kimetsu_no_yaiba),4\nholding_tie,0\ntousang,1\nyukishiro_reika,4\ntamaki_iroha_(swimsuit_ver.),4\nbeth_(shepherd0821),4\nblanco026,1\ngingham_legwear,0\nhijirime_laeria,4\nshenq,1\nnomomono_eraser,1\ntamago_kago,1\nyorei_(death0813),1\nfoot_wings,0\nowannu,1\nkiki_witch,1\ndin_djarin,4\ndaitokuji_biko,4\nkumuo_(mirakurufusao),1\nyongzhe_mei_hong,1\nniseoto,1\nfrenzy_(transformers),4\nmiyabi_shigure,4\nharuue_erii,4\nstrash,1\nkido_airaku,1\nnyanko_kaitou,1\nnomuraumu,1\nsergei_strelka,4\nmuimi_(princess_connect!),4\nhimekawa_fubuki,4\ntsukushi_(741789),1\nkiller_bee,4\nuno_(mon_chat_noir),1\ngawain_(code_geass),4\nsatoimo_sanda,1\ninsect_pin,0\nacxg,1\nishizuka_chihiro,1\nmikago_kotaro,1\nmicosiva,1\nblack_tri-stars,4\nsuiseiseki_(cosplay),0\npppppan,1\nphantas-moon,4\nlandship,0\nsice_(fft-0),4\nbad_multiple_views,0\nshouhou_(kancolle)_(cosplay),0\nouu_min,1\nheaven_burns_red,3\nitokatsu,1\nbronya_rand,4\nstarmyu,3\nrilafm345,1\ntoromi_(samegami),4\nkuromu_(kaeru),1\ng-ist,1\ngunbai,0\npacking_peanuts,0\nkoori_(haraiso),1\nkorg,0\niron_fence,0\nstrong_stars_story,3\ngodzilla_vs_kong,3\nnaidong,4\nstone_pillar,0\nmilk_box_(leoleo963852741),1\nin-ear_earphones,0\nbig_band,4\nazu_ankoowl,1\nm249_saw_(girls'_frontline),4\nonoda_masahito,1\nmole_on_ear,0\nuit-25_(kancolle),4\nalfa_romeo,0\nivuki,1\nnakano_haito,1\nyounomiti,1\nkomagarita,1\nd-art,1\nyomo_(rb_crr),1\naphrodite_(suite_precure),4\nclear_regulus,1\nmargarita_blankenheim,4\ncachet,1\nyottur,1\nashinamaturi,1\ncure_princess_(sherbet_ballet),4\ngogot,1\ntera_(trs82341711),1\nhajilove_-making_lovers-,3\nchizuru-chan_kaihatsu_nikki,3\nyorha_type_a_no._2_(cosplay),0\nokamoto_fujio,1\ndomo-kun,4\nkate-fox,1\nbrk_603,1\nkuo,1\nshiny_(module),0\nsonozaki_akane,4\nbsq,1\nmoriton,1\nkaguya_luna_(cosplay),0\namezuku,1\nariorihaberi,1\nhamafugu,1\nyunoki_rina,4\nmorrigan_(dragon_age),4\nneo_geo,3\nkuro_n314,1\nar_(3779609928),1\nrelila,1\nyamatsuki_sou,1\nnabatani,1\numenodo,1\nna1_pkmn,1\nsu_xiao_jei,1\nthoto,4\nmdoctkscb,1\nindeedee_(male),4\nton_ton_tontoro,1\nkiaoekakishitai,1\ntsumikiy,1\nquiz,0\ncao_cao,4\nzeus_(fate),4\ntsubutarou,1\nwhite_negligee,0\ndomo_(domo_kizusuki),1\nbird_on_lap,0\nazu_(azzz),1\nletta,1\nyazumi_(yazzz),1\nfergus_mac_roich_(young)_(fate),4\nyamajun_(junyamaekaki),1\nbabamba,1\nshinigami_(tukiyomiikuto),1\narthur_fleck,4\ngoldeen_(cosplay),0\ngundam_barbatos_lupus,4\nguchuko,4\nmayata,1\njichou_senshi,1\nmasaoka_tomomi,4\nnorwegian_flag,0\npafekui,1\nshidomura,1\nflogger,0\nmatori_(penguin_batake),1\nso_korokoro,1\nhan_gong,1\nstilt_house,0\ndgk,1\nbyo_(kuro_usagi),1\namatsuka_watayuki,4\nfams_(group),0\nhollyyn,1\nxtango,1\nstegosaurus,0\noomikado_itsuki,4\ngoddess_kiss,3\nmisawa_daichi,4\nyu_chang_(42680610),1\nshikosour,1\narcane_viktor,4\nlabotamochi,1\naoi_sora-maru,1\nazuma_kyoutarou_(artist),1\npsychic_(7th_dragon),4\nemily_(pandora_hearts),4\nyutsuki,1\ncircuit,0\nfukaya_rin,1\nits_not_you_sit_down,0\nlumbbyz,1\nbismarck_(battleship),0\nholding_manga,0\nkojima_genta,4\nxion_(pulilulu),1\naisha_(sennen_sensou_aigis),4\ng3pen,1\nheadcrab,4\nsleevejob,0\nshi_ma86,1\njade_(ghostblade),4\nazalea_(love_live!),0\nrirashi,1\nayuko91,1\nrokuroubuna,1\nlockpick,0\nkazaharu_matsuhata,1\nhit-kun,1\nshirt_aside,0\nkotonemaru,1\npaaam,1\naiamu_iamu,1\nakitama,1\ntimpani,0\nhat_launch,0\nmussyu_danachan,1\npall,1\nfootjob_from_behind,0\nukrainian_text,0\nkronya_(fire_emblem),4\npope,0\nnijigen_dream_fever_(vocaloid),3\npirate_(sekaiju),4\naruki,1\npineapp_panda,1\npotiri02,1\nyumingtongxue,1\nglowing_jewelry,0\ni-19_(pillowy_paradise)_(azur_lane),4\nwindtalker,1\nsekken_kasu_barrier,1\nmethyl_key,1\nitsia,1\nkotona_matome,4\n3tohei,1\ndaji_(monster_strike),4\nichimi_tougarashi,1\nazuma_shouko,1\nbanamons,1\narcadia090,1\nhe_(eve),1\nshadeofshinon,1\ns_nyaau,1\ntsuneda,4\ndistrict_9,3\nbeluga_whale,0\nrezia,1\nofly_(ofly252),1\nookoshi_hidetake,1\narmkreuz,1\ntakanashi_sora_(soramyon),1\nserene_(riviera),4\nyu-ri_(kurione-sha),1\nsen-asanagi,1\nyakkun,1\neno_(mauritz_stiller),1\nshui_ran_moon,1\nyuezheng_longya,4\nmoopiekun,1\nemmxd325,1\na2ki,1\nmeowlian,1\nguunhanchi,1\nl.n,1\naoi-tama,1\nmysteryctu,1\nikedan,1\nt-65_x-wing,0\nmagentapeel,1\nlilynette_gingerbuck,4\nnawol,1\nt-hiko,1\nminior_(red_core),4\nsnowsakurachan,1\nvirtualcity-ex,1\nusami_renko_(cosplay),0\nnof,1\nventriloquism,0\ndress_suit,0\nkiraware,1\nrate_rapiku,1\nsukuneko,1\nmeythia,4\nmughi,4\njunji,1\noka_mariko,1\nsasaka_yayoi,1\nv_(govvvvw),1\nshoving,0\nkoppa_mijinko_(series2023),1\nmod_fashion,0\nririclub,1\nramta,1\nitou_mikoto,4\n6274,1\nakisame_ruu,1\nzonsters,1\neblmeka,1\nparuno,1\namanosora,1\nmatsuda98,1\ncelery,0\nkanisaka,1\nrivalun,4\nyossyzero,1\ntsunemoku,1\nspica_parfait,4\nsasaki_maguro,4\nhisui_hearts,4\nhokoodo,1\nhato_niku,1\nnights_(character),4\nann_yosh,1\nkawaiipenpen,1\nromania_(hetalia),4\ni-riya,1\nyurichi_(artist),1\naopoke,1\namamori_kohan,1\nletty_whiterock_(cosplay),0\nnishigyou_teraa,1\nr-18_jii,1\nhayabusa_hideki,4\nailu,4\nbosch_1/64,4\ndorowa_no_hito,1\nyuanmaru,1\naotsuki_takao,1\ntakenaka_hideo,1\nhwaen,1\nwanibuchi_emoko,4\nshinpei_(shimpay),1\namaguri_(guri_0330),1\ngagamatsu,1\nmiyauchi_hikage,4\ntomatoman01c,1\nhoshizaki_akari,4\nminato_(mntnm),1\nkeisuke_desu~,1\negg_(cknlun),1\nmogmogyasai,1\nsuigyoku_(module),0\nniradama_(nira2ratama),1\nmetroid_prime_2:_echoes,3\nrengeteki_(touhou),4\nlout_of_count's_family,3\nedchi,1\nmika_(lycoris_recoil),4\nokamoto_natsuhi,4\ndydoe,0\nkanzaki_ayane,4\nanmin_do_fuuuuu,1\nmar-c!,1\nprinz_rupprecht_(azur_lane),4\ndie_(ohisashiburi),4\neric_proctor,1\nfemuto,1\nhinagiku_lulu,4\nzandan_zero_to_na!?,1\nmidori_no_hibi,3\nanja_(madoka_magica),4\namaha_tsubasa,4\nalcremie_(berry_sweet),4\nkisaragi_tomi,4\ngyari_(bird),4\nsakurajousui_neko,1\nrima_(princess_connect!),4\nguragief,4\nmizukami_satoshi_(world_trigger),4\nunneul,1\nkamen_rider_mach,4\nm3_(mmm003),1\nwakum,1\ntraits,0\nimperfect_cell,4\ndatsuyuru,1\nblanchat,1\nifurita,4\nmaple_syrup,0\nliveactors,1\nmomo_alto,1\ndarunia,4\nizumi_(sachikara),1\nsamuraichamp,1\nlee_on,4\narai_ako,1\nkawamori_shouji,1\nbeating,0\nshian_(trouble_spirit),4\ntakuma_sakazaki,4\ntorako_(yotsubato!),4\nwatarumi,1\ndimple,0\nuirou_(uirou1),1\notoishi_akira,4\ndokkoida,3\nnigoolas,1\ntakamine_koyuki,4\nharada_chie,4\nchie_hallard,4\nbacharu_(vtuber),4\nkatase_yuki,4\nsumiya_akihiro,1\nkoiwai_flora,4\nnobuyuki,1\nspy,0\nshiho_elis,4\nkumashiro,1\nswatting,0\nflammie,4\nmanual,0\ncybela_kuto,4\ndusting,0\nsankaku_umako,1\nyugiri_princesca,4\ndodoria,4\nhoshino_erika,4\nindiana_jones,4\nume_(driveume),1\ntokomon,4\nmaki_chitose,1\nhidari_(coletica),1\nesuto,1\nm&m's,3\nred_(dq8),4\nmathnote,1\nmksm,1\nphoto_booth,0\norihara_kozue,4\nkatakura_kojuurou,4\ninvader_zim,3\nkokutou,1\nooka_(ohkaworks!),1\ntsujisaki,1\nkisaku,3\nred_arremer,4\nking_gainer,4\nsos_galactic_patrol,0\nmashitaka,1\nkisaragi_mifuyu,4\ndoushindou,1\nathyra,1\npisipisi,1\nhamihe,1\ntakami_rin,4\nfle_en,1\nnijiomu,1\nxuan_zhi_yue_ying,1\ntomo_(otosuki),4\nmadaraki_veronica,4\nyami_shigeru,1\nwood_man,4\nnakano_hinata,4\nmizu_mochi,1\nsutagu,1\nodajima_mayu,4\nhebereke_black,1\nleonardo_(fire_emblem),4\n8981,1\nmia_clementis,4\nbentoss_detritus,1\nhayami_kyuuen,1\ncurry_man,1\npsycho_mantis,4\nali_al-saachez,4\nscorpion_(mortal_kombat),4\nprince_of_wales_(the_laureate's_victory_lap)_(azur_lane),4\nloup-garou,1\nseo_hiroshi,1\nmentos,0\nschwarz_bruder,4\nyajima_mirei,4\nkoibumi,1\nkurayashiki_tae,4\nraichu_(cosplay),0\njagdpanther,0\nciela_lapana,4\njohannes_voss,1\nfukuzou,1\nyukiya_(shiya),1\nnoritake,1\nlayfon_alseif,4\nmaimu_(polka),1\ndie_(f_mega),1\naxis_(gundam),0\nboa_sorte,1\nmakimura_kaori,4\nshinonome_kokona,4\nribbon-trimmed_footwear,0\nnajashi,1\ncecelia_(arknights),4\nalternate_horns,0\nnyala_(nyala_766),1\nanimal_on_ass,0\njunsun,1\ndiagonal-striped_bikini,0\notome_kaibou_(vocaloid),3\ngamukami,1\nbiyora,1\ndarklux,1\ntirol_chocolate,0\niscan_(pokemon),4\nvsk-94_(christmas_eve_detective)_(girls'_frontline),4\nvivid_bikini_(idolmaster),0\nakari_ga_yatte_kitazo_(vocaloid),3\nazuri909,1\nfreudian_slip,0\nbergmite,4\nscathach_skadi_(swimsuit_ruler)_(second_ascension)_(fate),4\nshima6644,1\nnijie-tan,4\nminami_kawa,1\nteam_moka,1\ngrape_vine,0\nsekai_(cevio),4\nyu_416416,1\nhukutuuprunes,1\ndizzy_(guilty_gear)_(cosplay),0\nkirby_and_the_amazing_mirror,3\ncherrim_(overcast),4\nsoseji_(tjduswjd),1\nnoir_corne_(arknights),4\nreactive_armor,0\nshimeji_wyvern,1\nsmilesmile1312,1\nouma_kennosuke_tokisada,4\nsonyaneko,1\ngingrjoke,1\naquarium_(visual_novel),3\nichihi_(spinon),1\nmouse_on_shoulder,0\nmemories_off#5,3\nsquidward_tentacles,4\nsyatihoko,1\nirene_(ogami_kazuki),4\nsakurai_mikage,4\njo_area,1\njusteaze_lizrich_von_einzbern,4\naogami,1\nhonjou_hayate,4\ni-19_(kancolle)_(cosplay),0\nrokusai,1\nhzk_(ice17moon),1\nsylia_stingray,4\ngreymon_(nodoame1215),1\nzzzearly,1\nboooo-im,1\nnarukaze_minamo,4\nnanami_kanata,4\nmichelle_hoefener,1\nface_hold,0\nmabuta_(byc0yqf4mabye5z),1\ntatti_art,1\nyata_misaki,4\nhachikei,1\nsusu,1\neri_muuton,1\ndinyc,1\neve_no_jikan,3\nmuramasa_(so-hi-shikan),1\nsuzukaze_rin,4\n402_(o0_xxx),1\ngrace_(suisei_no_gargantia),4\nsasara_(fantasista_doll),4\nfoot_on_back,0\nshina_000,1\nakiyama_jungorou,4\nmzrz,1\nwing_diver,4\nfunamushi_nomore,1\ntea_stalk,0\nseok,1\nskiddo,4\nfinger_on_nose,0\npenyo1989,1\nshimogamo_yasaburou,4\natokniiro,1\nmistral_nereis,4\nfuyuki_jun,1\nparking_garage,0\ntyrunt,4\nrick_sanchez,4\nshio_(ayanepuna),4\nkataoka_megu,4\nfebrie,4\nkatase_(high_school_dxd),4\nmichitose_michiru,1\nazumadori_tsugumi,1\nkiryuu_aika,4\nassless_swimsuit,0\nhaniwa-dako,1\nsera_(dds),4\nwigglytuff_(pokeacc),1\nfurisode_(pixilvina),1\npink_no_ayumi!,3\ncollage_background,0\ntoramimi-senpai,4\namamiya_ten'ya,1\niwasaki_minako,1\nsex_teacher_tsuyoshi,3\nkyoukai_(kingdom),4\nblockun,1\ntransparent_bikini,0\nnils_nielsen,4\njustin_hsu,1\ntoo_low_salary,0\nringomaru,1\niritoa,1\nscheherazade_(magi),4\nmonsoon_(metal_gear_rising),4\nrayuse,1\nkoharuko_(khrkhrk),1\nenergy_whip,0\nafter_sweet_kiss,3\npengin_(takeoff425),1\nhakama_removed,0\nfuruya_satoru,4\nharu_(ryosios),4\nsa_tsuko,1\n4410_(kanimiso),1\nfukami_nana,4\ncanno,1\nsamidare_yui,4\nichikawa_meisa,4\nryairyai,1\nkenmochi_shiena,4\nto_love-ru_darkness:_idol_revolution,3\namakuri3000,1\namy_(bakuretsu_tenshi),4\ncharcoalo,1\nosa_(osakana1217),1\nshunkaku,1\nyuumano_yuuki,1\netihw,4\nnoodle-y,1\nmitsui_honoka,4\nkitayama_shizuku,4\nuc-lab,1\narch_lapin,1\nsakeno_rarukan,1\nblue_pussy,0\nteke-emon,1\nhemoglosso,1\nkoshirae_kenji,4\nbonnou-chan,3\nyaco_(nuitnotte),1\ntooda_riko,1\ntogakushi_touko,4\nsakikagami,1\nryuuri_(aoithigo),1\ntwo_of_diamonds,0\ncubesona,1\nmanticore_(invisible_dirge)_(arknights),4\nryudo_(grandia),4\nkurenaiz,1\ninraku_no_miko_ntr,3\nmechanical_skirt,0\nsaki_(koutetsu_tenshi_kurumi),4\nkemuri_jatarou,4\nosage_gankyou,1\nitoi_toi,1\nair_qh,1\nmysterious_eyes_(idolmaster),0\nnyanpassu~,0\ntakarada_rikka's_mother,4\nueda_kou,1\nweighing_breasts,0\nqixi_cui_xing,1\nnakamura_(marakimi),1\nfakegeo,1\nhito_komoru_(style),0\nmogami_(warship_girls_r),4\nzepar_(megido72),4\nkabane,0\nhoshizora_tetsudou_to_shiro_no_tabi,3\nred_button,0\nhiroshi_(hiroshixhiss),1\nhakusan_yoshimitsu's_fox,4\nshinigami_no_ballad,3\nre_eva,1\nkatuu,1\nmumu_vosp,1\numu_(phrase),0\nking_game,0\nhare_(yamihuji),1\nkimi_omou_koi,3\nmiro_(katsushikashibamata),1\nibashi_roni,1\nonna_kishi_no_shiro,1\nceline_(to_love-ru),4\nkiyomiya,1\nkamado_tanjirou_(cosplay),0\nthe_flash_(series),3\ngyatto624,1\ntao_mongarten,4\nasugi_(fire_emblem),4\nyamato_mikoto,4\nyuuuun0218,1\ndarli_dagger,4\nsata_anri,4\n2_nostg,1\nkukikomori,1\nkaripaku,1\nadmiral_hipper_(muse)_(azur_lane),4\nshikibu_mayu,4\nmitsukasa_ayase,4\npsidubs,1\nmizushima_(kazami4),1\nasakura_mihono,4\ncutie_honey_universe,3\nmji_(emucchi),1\nhiru-kun_no_ami,1\nsuzakuin_tsubaki,4\ncochlea1313,1\npink_jumpsuit,0\nimminent_vore,0\nbell_(hellchan3),1\nmikaponcho,1\noofusa_shizuko,4\nk164,1\nkakuzatou_(boxxxsugar),1\nkouryuu_kagemitsu,4\nkoga_(cookie),4\nkonno_shimako,1\ntokyo_clanpool,3\nfuran_(pixiv20237436),1\nariel_(mecha),4\nshako_(syakoba3),1\nyamabuki_ryuu,1\nhimeshita_johnny_mafuyu,1\nkanoya_rui,4\naroma0501,1\nnmkranker,1\nyellow_tulip,0\nkiryuu_tsukasa_(citrocube),1\nririka_(#compass),4\ntenshi_mikadokuni,3\namazima_mangetu,1\nm2_(guvn5745),1\nusamaru67pi,1\nharajuku_mimi,4\nuchuu_sentai_kyuuranger,3\ninugami_gyoubu_(kemono_friends),4\nbu_tika,1\ntomorrow_(konosuba),0\nsueyen,1\nmaou_no_kuse_ni_namaiki_da!,3\nanna_(or),1\nnatumiao,1\nnanba_mutta,4\nben-day_dots,0\nmaji_de_watashi_ni_koi_shinasai!_s,3\nshintani_kyou,1\nitsuki_(nanairo_megane),1\nkalian,1\nkurano_tomoka,4\nkajio_(maburo),1\nisabeau_(smt),4\nczech_flag,0\ndouble_eyepatch,0\nkoiiro_marriage,3\nweddie_(dq10),4\nmaya_(borderlands),4\ntakejun,1\nshiraishi_sara,4\nfrancisco_valle,1\nboribeya,1\nirezumi-san_(ozka),4\nzluu,1\nscylla_(monster_girl_encyclopedia),4\nghost_(monster_girl_encyclopedia),4\ntenni_noboru,1\norihika,1\nanesthesia_(rumble_roses),4\nalvida_(one_piece),4\nfoxfire_ahri,4\nyoshida_morohe,1\nshin_megami_tensei_i,3\nrasielcochma,1\nyuki_tarou,1\nyoruusagi,1\nxane_(fire_emblem),4\npharaoh_(monster_girl_encyclopedia),4\nsakamoto_desu_ga?,3\nminawa_(hemo),1\nmomozukuku,1\neichi_(wild_chicken),1\nilassa_(elh),4\nmiu_pachi,1\nshunnyun,1\nleni_loud,4\nongyageum,1\nkunieda_shiho,4\ng4m,0\nhotpants_(i'm_hot_yet!),1\nshoulder_necklace,0\nhonorikiti,1\nnecrosmos,1\nm_o_(prftz),1\ntorio_(mocd1985),1\nokudera_miki,4\nlace-trimmed_shorts,0\nhashibi_rokou,1\nkotoba_(1074421015),1\ntorii_hair_ornament,0\nyuuki_(yunky373),1\nhouten_(dre_a_mer),1\npallo,4\nkurorekishiman,1\nyuyu_(flip_flappers),4\nkobayashi_aika,4\nmonofunny,4\nisis_(terrorist_group),0\nred_hood_(dc),4\nveca,1\nczva,1\nshirokuro_(oyaji),1\nbeelzebub_(beelzebub-jou),4\nametsukana_yago,4\nlamorak_(granblue_fantasy),4\nwayne_chan,1\nbroken_(7589468),1\nsen_(sen69),1\natsumare!_fushigi_kenkyuubu,3\nyukitourou,1\nhonest_rate,4\nrei_no_mizugi,0\npaingumi,1\nhakama-chan_(aa),4\nyeh_(354162698),1\npiuta,1\nueki-chan,4\nrukialice,1\nemerson_tung,1\nmarion_quinn,4\ntsuki_yuuhi,1\nkatrina_elesius,4\natorasu,1\nyamaimo_torotoro,1\nokazaki_norie,4\nthanatos_eros_(cosplay),0\ntouhoku_rakuten_golden_eagles,3\nkotomine_kirei_(cosplay),0\nzen_(weishanzhe),1\nmincho,1\ngokou_ruri_(cosplay),0\nui-chan_no_niizuma_diary,3\nbonbori,4\nberyl_(shinrabanshou),4\nhanusu,1\ndokyuu_afro,1\nusuba_kagero,1\nsilhouette_sakura,1\nhiroshi_(jasinloki),1\nmakigami_kimiko,4\ntsurugi_yasuyuki,1\nhakusen-hiki,1\nwimifu,1\nnikon_(company),0\nkagamine_rinto,4\nb.leaf,1\nmamegohan,1\nkhezu_(armor),4\njebura,1\nyakkey,1\njack_of_hearts,0\nmuraya_yoshihisa,1\nnakajou_amane,4\nhua_ge_pi,1\ntoketa-sekai,1\nsuzuna_(summer)_(princess_connect!),4\nmavezar,1\nraikoh_(paradiso_guardian),4\nshounibyou_(shonibyodayo),1\numeno_shii,1\npippin_(pippin_sol),1\nhanamori_suzu_(hkgbkk8),1\njun_(real)_(princess_connect!),4\nyanagino_(yanagino3),1\nnarmaya_(the_black_butterfly)_(granblue_fantasy),4\nsilk_flower_(genshin_impact),0\ndmanya,1\nmizuhashi_parusui,1\np-gnesium,1\nokada_izou_(second_ascension)_(fate),4\ntamamo_cat_(third_ascension)_(fate)_(cosplay),0\nshiratori_aria,4\ndiarmuid_ua_duibhne_(sensha_otoko)_(fate),4\nsatori_day,0\nelizabeth_bathory_(first_ascension)_(fate)_(cosplay),0\naphrodite_(shuumatsu),4\nshiroi_suzume,1\nneutrophil,0\nakikusa_peperon,1\nwriting_on_ass,0\nlava_the_purgatory_(dusk_wisteria)_(arknights),4\nholding_hair_brush,0\nnagura_shiro,1\ntrumpet_boy_(meme),0\nahri_(league_of_legends)_(cosplay),0\n5_106y,1\nfenrir_(housamo),4\nyoritomo_(housamo),4\nwh1te,1\nrryiup,1\n2v_(joyeong),1\nchinetsu15,1\nhiyaori_(hiyahiyaval),1\nebura_din,1\ndohalim_(tales),4\nharry_potter_and_the_philosopher's_stone,3\ndrop.b,1\njiisan_baasan_wakagaeru,3\neden_(shiroki_yuutsu),1\nselena_(punishing:_gray_raven),4\n9150namihana,1\nopen_beta_(vtuber),3\njack_rockhardt,1\naigami_shion,4\nchaleu,1\nazusa_(granblue_fantasy),4\nselly55,4\ntgp11s_hawkeye_(mechanical_buddy_universe),4\nmatsumoto_(vivy),4\nmedea_(fate)_(cosplay),0\nhan_do-yoon,4\nnekoma_karin,4\nfefnir_(mega_man),4\nkuu_(haibane),4\nsp_(sweet_potato),1\nbidiu_(the_legend_of_luoxiaohei),4\nhanabusa_lisa,4\nchoukai_(kancolle)_(cosplay),0\ntruffleduster,1\nlank_(lankdesu),1\nkonota_ko,1\nsuweeka,1\nibaraki_douji_(onmyoji),4\nhiroki_bzdsk,1\nraps_(yohomeboyraps),1\nstar_wars:_the_empire_strikes_back,3\njuri_(blue_archive),4\nminami_rio,4\npravin_rao_santheran,1\nraiden_(hayabusa),4\njudgement_(tarot),0\ngrilled_eel,0\ntakemitsu-zamurai,1\nhakkatou,1\nchim,1\npingqiong_xiansheng,1\nnapalmbit,1\ng-tenko-r,4\nxpisigma,1\nvenuscho,1\ntakokichi,1\nmy_doll_house,3\niizuna_(milky_walker),1\nkobayashi_kobako,1\nkatayama_makoto,1\nalt_(apou),1\nj_(onjj),1\nwet_floor_sign,0\nhyou_(pixiv3677917),1\nnatedecock,1\ngundou_misuzu,4\nmonsters_university,3\nshindou_rei,4\nkiichi_(9ta),1\nane_yome_concerto,3\nkatou_miyako,1\nmizuno_(iori-amu),1\nmikawa_(xxcrisp),1\nmoi_(latte_art),1\nshatte_judevesten,4\ndianche_miao_(18826),1\nnikaidou_mari,4\nyorozuya_hyakuhachi,1\nzettai_ryouiki_sex_royale!!,3\nkiomota,1\nsole_survivor_(female),4\nminamoto_mamori,4\nserizawa_nae,1\nbluk_berry,0\npine-chan_ver._1,4\nhechima-bushi,1\nmuzzle_(trigger),4\nhirame_guard,1\nkawaii_joushi_o_komarasetai,3\nmyouga_teien,1\niriya_(lonesome),1\nshipu_(toppintetratorten),1\nunconventional_vibrator,0\ntbf_avenger,0\nrenge_miyamoto,4\ndoutei_(one-punch_man),4\nsongwut_ouppakarndee,1\ndokkoi_shoo,1\nhu_su,1\nnie_xiaoqian,4\nmisty_sheikh,4\njuno_bernal,4\nameno_sagiri_(yuragisou_no_yuuna-san),4\nsierra_(ws),1\nshirokuma1414,1\nb_gent,1\nlan_se_fangying,1\ntimins,1\nosabe_tom,1\ncarro_(watarui),4\nheikouidou_(seraeno),1\nmugi_maccha,1\nsakura_(flower_knight_girl),4\nishihara_usumi,4\nrabbity_art,1\ndansai_bunri_no_crime_edge,3\nfurisode_girl_katherine,4\nsentou_kouhei_kitsune,1\nslan_(berserk),4\nsarasara_shoyu,1\nanientte,1\njin2,1\npinky_iwata,1\nizu_lemon,1\nshino_aki,4\nsuica_koubou,1\nmomotarekawa,1\nperfumer_(species_plantarum)_(arknights),4\nyogetsu_high_school_uniform,0\nmi_tarou0412,1\nkinata_(area7),1\namakawa_tamawo,1\nzengi,1\ninoue_jun'ya,1\nikutsuki_shuuji,4\ntakuji_(dekosenn),1\nmoscow,0\nusami_sumireko_(cosplay),0\nquin_(himegata_alice),1\nsumashi,1\nsophie_hatter,4\nlayla_alstroemeria,4\ndekooop,1\njuujou_shion,4\nnaniiro,1\nkamen_rider_eternal,4\nmoritakusan,1\necoas,1\nspecterz,1\ntomtomjm,1\nchiaki_shin'ichi,4\nmugi_(twinbox),1\nhiraoka_masamune,1\nrikkunia,1\nkiririn51,1\nten_(tentojidon),1\npretty_x_cation_2,3\nsarai,1\nkazi,1\nkoitsu_(blue),1\nyrel,4\nkujira_(knave),1\nhot_plate,0\noota_ushio,4\nmutou_megumi,4\nkuro_(kurokami),4\nascot_removed,0\notomachi_una_(spicy),4\nbig_boss_(cosplay),0\nhidaka_toworu,1\nginshachi,1\norange_(satsurikukuma),1\nrokudou_rinne,4\nshiina_minori,4\nphi_brain_puzzle_of_god,3\nnijinosaki_dia,4\ndearoliha,1\nshotarou,1\noota_tamon,1\nladygt93,1\nne~pon?_x_rai_pon!,3\ncake_(adventure_time),4\nwheelie_(kirby),4\nvalona,4\ntsuizi,1\nngra,1\nhiyoyogi,1\nmuchousha,1\nmonochro_blue_sky_(vocaloid),3\nhecatoncheir,3\ndango_ya,1\ninkyubeiteo,1\niberiko_(soinesitai),1\nreu_daikon,4\npukun,1\nbaby_be'el,4\ngrell_sutcliff,4\nrabi-tan,4\noveralls_removed,0\nmujib,1\nichii_maina,4\ntail_concerto,3\nyohchi,1\nmiyamoto_iroha,4\nmomo-chan_(dagasi),4\nclover_heart's,3\npikuharu,1\nremoving,0\nfore_(va-11_hall-a),4\nol-chan_(ol_mahonanoka),4\nyuki_rin,4\nhenshin!,3\nsuzume_(summer)_(princess_connect!),4\nkokoro_toshokan,3\nmomomochi,1\nmusume_shimai,3\nhoujin_exaxxion,3\nshared_jacket,0\nhitotsubashi_inari,1\ntoto_mame,1\ndeuce_(fft-0),4\numehara_emika,1\nkonya_(chocolate_palette),1\nnia_(x_x02),1\nhastune,1\ntoriseka,1\nfinal_fantasy_xii_revenant_wings,3\nholding_water,0\nboomei_(nanashi_mumei),4\nhyaluron,1\nsu2525,1\nkiki_lala,1\ndiscworld,3\nlavender_(flower_knight_girl),4\nqueen_of_hatred,4\nborrowing_race,0\nnagase_jun,4\ncrusty_sean,4\ntachibana_kukuri,4\nakatsuki_(aktk511),1\ndodge,0\nbutton_prompt,0\nbelluch,1\nrokico,1\nkoguma105,1\ntamam_gnsn,1\ndear_vocalist,3\nanmochi_mochi,1\noritonagi,1\nhei_zhi_shi,1\nkingdom_death,3\naira_(exp),1\ncocoa_(cafe-chan_to_break_time),4\nutara_canaria,4\ncosmo_(chainsaw_man),4\npunishedplume,1\nvalhalla0707,1\nbromide,0\nwilly_pete,1\ncyu_ta,1\nyo-suke,1\nhinokami_sakura,1\nradagon_of_the_golden_order,4\nmiy_001,1\nq9q,1\nkitazato_shigure,4\ntessou_tsuzuri,4\nib_(yu-gi-oh!),4\narisaka_kazuki,4\narm_on_thigh,0\nviola_(instrument),0\nmeiyan_(boyimachao),1\nmonkey_jon,1\nrumeha_(aormsj22),1\npawoo_username,0\nshroomia,1\nsizu,1\nsuzuki_gou,1\nzergling_(cdror1004),1\nt0m_(projektmelody),4\nzenya,1\noishi_kuwagata,1\nmashiroyu,1\nbarseisui,1\nsonao,1\nkulolin,1\ncy_fros,1\nshaomin,1\ndanxing_aipangzi,1\ncherino_(hot_spring)_(blue_archive),4\nryougi_shiki_(second_ascension),4\ngurumi_mami,1\nsodemaru_unagi,1\nai_the_somnium_files:_nirvana_initiative,3\npenthesilea_(amazones_ceo)_(fate),4\nserjatronic,1\npariston_hill,4\nmanatee,0\nyan_(situyan0303),1\nassassin_(fate/zero)_(cosplay),0\nultraman_tarou,4\nmtk_(souko),1\nnotinversion,1\naqua_bodysuit,0\nsangheili,4\nkojirou!,1\nriding_shark,0\ncaliper,0\ngridknight_(ssss.gridman),4\nkleavor,4\nchatan_nakiri,4\nkashuu_kiyomitsu_(kiwame),4\nwinbay01,1\numi_no_tarako,1\nandrew_leung,1\nyone_f15,1\nmega_salamence,4\nz23_(breezy_doubles)_(azur_lane),4\ncpr,0\nstarpoint_lance_(fire_emblem),0\nastolfo_(sugar_vacation)_(fate),4\nakuru_(akr369akr),1\nblack_moon,0\nthe_devil_(tarot),0\nsthk,1\njell_(jell_y_fish),1\nnuggetkouhai,1\nblackpink,3\nabukawa_honpo,1\npixie_(monster_farm),4\nsoftenni,3\nshisha_no_karada,1\nanti-earth_bomb,1\nkuromine_hiraya,1\ndaniel_deves,1\nsseli,1\nots-14_(destined_love)_(girls'_frontline),4\nsaichi_(meme+),1\nsea_nami,1\nblack_snake,0\nadelie_penguin_(kemono_friends),4\nsatou_tatsuhiro,4\nholding_gourd,0\nooki_ikutoshi,4\ntama_(ponz3o1),1\nmeltyvixen,1\nbbul_horn,1\nisamu,1\nmakunouchi_ushio,4\nyukiyaii,1\nstatus_bar,0\nyoncha,1\ncentinel303,1\nspriggan_(last_origin),4\nnina_saotome,4\namakara000,1\nubwmitekure,1\ncoffee_milk,0\ncleansed_crystal_mirror,0\nchelsea_arcot,4\ncoyote,0\nkitorakito,1\nglenn_radars,4\nmichishio_(kancolle)_(cosplay),0\nolette,4\namaterasu_(fate),4\ntansug_(tansuk88),1\nmrpeanut_88,1\nclaus_valca,4\npumpkinpaii,1\npurple_male_swimwear,0\nkoohii_koucha_maru,1\ngundam_deathscythe,4\nhinamori_(m_nmy01),1\nnerukichikatafukuma,1\ntanaka_ryuunosuke,4\nyutoriko_(candy0905),1\nembroidered_legwear,0\nhappi_xfyg,1\nuiu,1\nsouya_akira,4\nnorato,1\nrena_(sky-freedom),4\ndeath_(tarot),0\ngraverobber_(darkest_dungeon),4\ntokiwa_senkei,1\nuchuuneko_(vtuber),4\nleftporygon,1\nnashi_y,1\nlowell_(ouranoss2kanata),1\nholding_pill,0\nmilksasa,1\nnesskain,1\nshiny_lips,0\nsasagawa_ryohei,4\nscathach_(makyou_sergeant)_(fate),4\norippa,1\nyubi_yubi_(inugami_korone),0\nmaeda_keiji,4\nmennsuke,1\nelf_village,3\ncuicuijiao,1\nmanya_drhr,1\nsefushi,1\ntienao,1\nimpossible_underwear,0\nmakoron117117,1\nmulti-strapped_swimsuit,0\npongu,1\nkitimoop,1\nsusukida_(sususabu0710),1\npaprika_(character),4\ntron:_legacy,3\nfatalis,4\njack_(identity_v),4\nmeow25meow,1\njuri_(yu_yu_hakusho),4\nk2h,1\ncooking_mama,3\nmeyshi,1\nsuper_famicom_cartridge,0\ndonki_(yeah),1\nsnafu_(snafy_snu),1\nhayaneko_(ceceragi),1\nsoap_dispenser,0\nhoney_calamari,1\nshamare_(echo_of_the_horrorlair)_(arknights),4\nsynn032,1\nhebrew_text,0\nzangya,4\nwabaki,1\nshino_(gouma_reifuden_izuna),4\ndaichengqi,1\nlezard_valeth,4\nhinami_riku,1\npurerin,1\ncamouflage_gloves,0\ngyorui_(katsuwo_drawing),1\nbasculin_(blue),4\nremi_puguna,4\ntokitou_yuichirou,4\nq18607,1\noujima_tamaki,1\nladiva,4\nvanitas_no_carte,3\nsubarashii_pose,0\nsuper_robot_wars_k,3\nbloopers,0\noimo_0imo,1\naeyga,1\nlion_space,1\npokemon_on_leg,0\nnaizo_(kimosugimasu),1\nkuroobi_(armor),4\nhimezaki_aoi,4\ncaptured_alien,0\nyamada_jirou,4\nminato_hiromu,1\nkirby's_adventure,3\nyu_jiu,1\nalexander_(fma),4\nrururaroru,1\nsetsuna_(nijisanji),4\nhyoutan_tan,1\nzihacheol,1\nsharla_(mujin_wakusei_survive),4\nshiisaa,0\nhoward_(mujin_wakusei_survive),4\nfumio_(snnmfmw),1\nasrbpy,1\nkokushibou,4\nyaotome_gaku,4\nipod_touch,0\nnishimiya_momo,4\niceringer,1\ntanpakuroom,1\nolivia_(shkm2443),1\nkoba_(jdhikdjdkfiwufh),1\nkikan_(kikanoe),1\nparkour,0\nbudgerigar_(bird),0\nduan_zhu,1\nryoku_(kemurikusa),4\nhalf_rest,0\nach_(zjakskwdf),1\nnekotama_(artist),1\nswallowtail_butterfly,0\nyamunashi,1\nhearts_recollection,3\nmagpie,0\nrei_(9086),1\ntribe_cool_crew,3\nshame,0\ntomako_(tatihitoe),1\nbahamut_lagoon,3\nriko_(shuz),4\nfuyu_urara,1\nmega_man_(character)_(cosplay),0\ndouble-decker_bus,0\nreligion,0\nart_jam,1\nwinter_(winterinkoakuma),1\nspoken_dollar_sign,0\nlemonpear,1\nkyoro_ina,1\naqua_fur,0\nshun'ei,4\nbailey_(azur_lane),4\natlanta_(azur_lane),4\nnaruto_maki,1\naiban,1\nnue_(tayutama),4\naokawa_daisuke,1\nhamaeru,1\nbaba_lamune,4\nkatai_uji,1\nzanka_(the-only-neat),1\npapyrus_(font),0\nsawsbuck_(winter),4\nyuelight,1\nriri_zuran,1\nmalphite,4\nmareeta_(fire_emblem),4\nshotel,0\natelier30,1\npizza_delivery_sivir,4\nbanana_popsicle,0\nnekojima,1\npoppy_girl_(surio),4\nkanzaki_yukiko,4\ntanemon,4\nmiamuly,1\ncozie178,1\nxiongshouji,1\nuiokv,1\nsayaka_(harris_hero),4\ns_(happycolor_329),1\nkllsiren,1\nkamiazuma_touka,4\nmoonbeam,0\naka_ruuko,1\nblue_napoleon_(idolmaster),0\nursula_raiment,4\nlayered_capelet,0\nnatsuki_yoru,1\nthree_little_pigs_(sinoalice),4\nparua,1\nprint_bed_sheet,0\neva_06,4\nuda_megumi,4\n0.05,1\naerosol,0\najc,1\nteam_instinct,0\nsaimin_seishidou,3\nalmonde_jagger,4\nmmm73,1\nnonjake,1\none3four!,1\nyakumo_koishi,4\ndildo_under_mask,0\nsumi_(joker),1\namatsuka_yuuna,4\nquincy_(azur_lane),4\nmotoko_(fe25),1\nisekai_no_seikishi_monogatari,3\na_ichiro,1\nryuusaki_rei,1\nhimeko_(sky-freedom),4\nabsurd_fox,1\ncanizzz,1\nmamaprofennn,1\nt-72,0\nplug_(feng-yushu),1\nmakai_(touhou),0\nshinonome,1\narwing,0\nbaron_(varon666),1\nkaze_no_stigma,3\nhasumushi,1\nkiki_(shepherd0821),4\nsheet_bite,0\nfanbox,0\nwall-e,3\nyache,1\nharuno_(kanimeshi),1\ncheck_my_note_(idolmaster),0\nannlin,1\nherishop,1\nsandaconda,4\nlet_me_solo_her,4\nteruteru_(teru_teru),1\nhayami_yoichi,1\nbaseball_base,0\nilis,1\nyja61,1\ntana_(tanabio),1\nprometheus_(movie),3\nleaving,0\nfubuchun,4\nomuraashu,1\nalolan_dugtrio,4\nrumble_(league_of_legends),4\nhakuto_hotaru,1\nhand_glasses,0\nkazahana_chiruwo,1\nsui25jiyuu,1\nmaster_xehanort,4\nstarsd,1\nmonjja,1\nkyouta_22,1\ncoffgirl,1\nnyokkiiiiin,1\nmxsoundtube,1\nmaury_(azur_lane),4\nsr-71_blackbird,0\nhanging_bridge,0\nyukki_bunny,1\nholy_mami,4\nyama_bikko,1\nrelax_(artist),1\ntokurei_sochi_dantai_stella_jogakuin_c3_bu,3\ntsuda_minami,4\nwashizu_iwao,4\nsendou_hachi,1\nfikusipu,1\nliftoff,0\nruka192,1\nnontan,1\narai29,1\nasaba_yuuta,4\nwaiko,1\nharahachibu_ajinosuke,1\nsakazakimay,1\nhoruda,1\n2c,1\ncruz_schild,4\nsayo_wini,1\nksaiki,1\nizumi_yura,1\nnagi_raiun,1\nsarasa_misa,1\ngwyn_lord_of_cinder,4\nhijiri_misaki,4\nkyouhaku_2,3\nmigi_tonari,1\ntadatomo_(housamo),4\nogata_kouji,1\nbijian_de_linghun,1\nyukiguni_eringi,1\ntoga_(toganawa),1\nsister_friede,4\npleated_shorts,0\ntype-alpha,1\npenpen_(penpen1942),1\nkogarashi51,1\nrabienu,1\nracing_miku_(2018),4\nshoot,0\nd4y_suisei,0\nart_gallery,0\ntakayuki_hiyori,1\ntsugai_kogarashi_(vocaloid),3\ntrico_(character),4\nashuku,1\nmikoto_paint,1\ndemimushi,1\nloiza,1\nyosida_komati,1\nblame_gakuen!,3\ngps,0\nteostra,4\nburanko_(marchen),4\nkame_(pixiv),1\nstregoicavar,1\nran_(mitama_~shinobi~),4\nimasara_maki,1\nishii_yuriko,1\nthailand_(hetalia),4\nteruki,1\nkawakami_bansai,4\nbrain_powered,3\nsakaki_kuuya,1\nsirakaro,1\nei_(akinosakae),1\nda_cider,4\nrona,1\nyuzin,1\ntanikaze_nagate,4\ntateshina,1\nishigaki_tamaki,4\nkanchigai,1\ngodtail,1\nbouquet_toss,0\nchloe_(elsword),4\nooe_chizuko,4\njakkun,1\nmaron_(quintet_colors),1\nhiroya_masaharu,1\nheathcliff,4\nhayosena,1\ntamari_(flawless),1\nnazotyu,1\ncereza,4\nmuruaka,1\nnaru_(kuma),1\nasm_ln,1\nphantom_of_the_opera,3\nheo_(tkgm),1\nsaotome_mirai,1\nmike_(mikenekotei),1\nrwk,1\nyomo,1\nshimamoto_harumi,1\nqianshuhao,1\nnagisa_k,1\nleomon,4\nelbow_on_another's_shoulder,0\nhunting_horn,0\nfelsus,1\nnorino_moto,1\nbbaltong,1\nscapegoat,4\ngotou_kiichi,4\nsaga_taichi,1\npixiv_robot_wars,3\nsheryth,1\ngateau_mocha,4\nkirisawa_shinji,1\nresident_evil_outbreak,3\ncerberus_(megami_tensei),4\nsatomura_akane,4\nben_jackson,4\nshynesslady,4\nnishimura_konomi,4\nrodeorodeo,1\njikunyaga,1\nkujou_amane,4\nmyu_(quiz_magic_academy),4\nbobobo-bo_bo-bobo_(character),4\natsushima_you,1\nneko_yuuko,1\ncrash_bandicoot,4\nakasaka_aka,1\nfreddy_krueger_(cosplay),0\nlazy_orange,1\nputotyra_(ooo_combo),4\nmajokko_megu-chan,3\nmizuno_yun,1\nagnes_boulange,4\nyume_koucha,1\nkuroi_hitsuji,1\nhontai_bai,1\nhanashiro_yuuka,4\ncaustic_crayon,1\nleo-dont-want-to-be-a-painter,1\n5-volt,4\nkinosuke_(pattaba),1\nedgar_valden,4\ngold_ship_(umamusume)_(cosplay),0\nmunakata_shiho,4\nrosaria_(to_the_church's_free_spirit)_(genshin_impact),4\nsakurano_mimito,4\nsaetusum,1\nthe_hammer,1\ncrab_print,0\nfasorasi,1\ntkr_(lovedelic99),1\nt6_ti,1\nsunmil,1\nbasement,0\nsi_kongqi_(hua_jianghu_zhi_bei_mo_ting),4\nmito_(sao),4\nxue_fengzi,1\ngnsn_aile022,1\nshirotaegiku_(flower_knight_girl),4\nharakune_(mugennero),1\nrinu_(stpri),4\nkokone_(vocaloid),4\nnuker_(nukerdraws),1\nbehemoth_(final_fantasy),4\nchip_(kirby),4\nyuuki_miaka,4\nkurikoma_komaru,4\nreibun_(raven1119),1\nshenhe_(genshin_impact)_(cosplay),0\nstanding_at_attention,0\ncat_(ghost_trick),4\ntokisaka_ena,1\nfujisaki_eru,1\nmira_(sumaga),4\nrenn,1\nkiko_(kikobooom),1\nkoko_(pokemon),4\nmo_(mainiti_omoti),1\ncyberdoll_may,4\npole2walker2,1\nrita_rossweisse_(spina_astera),4\nflattened,0\nichi_(antonym),1\nshigureszku,1\nseqet-aru,1\nasahiru_ban,1\nporirina,1\nspring_water,1\n24_(24phage),1\nmiakiuehashi,1\nelincie_yerthrop,4\nxiaoxiao_nanjue_buyaokeng,1\nyagami_coco,4\nshivue,1\namanogami_dai,1\nlens_no_mukougawa,3\nasio_(asiogimuto),1\nkorezyanai,1\ngrey_leggings,0\nkourin_no_machi_lavender_no_shoujo,3\nzyaki,1\nrichard_crazyman,1\nss39,1\nniwatori_takeshi,1\nmeranie,1\nkakei_juubei,4\nmismagius_(cosplay),0\nmiyata_akira,4\narcade_gamer_fubuki,3\nmiyanoshita_satsuki,4\nscarlett,3\nsenou_aoi,4\nrolento,4\nabyss,4\nkasai_tatsuyoshi,4\nthunder_force,3\nshimanto_youta,1\nyonko,1\nkoike_sadaji,1\nyuiki_yaya,4\nana_medaiyu,4\nhoumei,4\nwadatsumi_garland,1\nnakajima_sanae,4\nayasegawa_yumichika,4\nkaoru_miki,4\nnagii,1\nsakaki_takaya,4\nsatomi_hinako,1\nsarah_zabiarov,4\nelchi_cargo,4\nflag_custom,4\naizawa_sumie,1\nracism,0\npikuseru,1\ntakeuchi_hiroshi,1\nakasaka_koutarou,1\nshiratama_(mofutto),1\nyuuki_(ashitahare),1\nwitchcraft,3\nminamito_yui,4\namano_haruka_(sakogamitokuan),1\nsagittarius_aioros,4\nhotogi_shirayuki,4\npecorin,1\nmeg_maru2,1\ngainer_sanga,4\nsena_monaco,1\npenis_tattoo,0\nvisbou,4\nkimahri_ronso,4\necstasy,0\njin_roh,3\nngirln4,1\nlimi26,1\napple_bloom,4\ncauliflower,0\nhizuki_shino,4\nshamrock,0\ndecarabi,1\nkimi_to_boku_to_eden_no_ringo,3\ncube_(alma),1\nanimatic,5\nshin_maboroshi,1\nsega_saturn_(sega_hard_girls),4\no1118,1\nv_(cyberpunk),4\nyoshimori_isa,1\npc_(personification),4\nlizi_(st3648),1\nbokujou_monogatari:_hajimari_no_daichi,3\nchoco_la_tea,1\ncottan,1\nidolmaster_cinderella_girls_u149,3\nyatsunote,1\nmatahei,1\nnatsuki_straight,1\naekun_cben,1\nrina_(hunyan),4\nhoshikawa_koharu,4\nkagami_(haret46),1\nembroidered_dress,0\nnano_(nanojyaa),1\nnagi_(watamote),4\npanties_around_feet,0\nsilver_one-piece_swimsuit,0\ncottone_(highjethoo),1\nomodaka_(nitera1041),1\nniwa_haruki,1\noissu_tiwassu,1\nekaki-ya_okamoto,1\nmask_on_breasts,0\nyashino_84,1\nalois_rangeld,4\ntodoroki_(xttn9dul),1\nkiyu_fuyuki,1\nricken_(fire_emblem),4\nyuudachi_(the_bride_of_solomon)_(azur_lane),4\nchecklist,0\nnikukaiq,1\n2980,1\nyunopan_chako,1\nminoda_(mndh),1\ntorofu,1\nreno_0901,1\njhcrow3,1\ntatemiya_saiji,4\ng_munyo,1\nkajichan,1\nhikusa,1\nmonosuke,4\nbone_(armor),4\nsakurai_takahiro,4\n45_(mdf_an),4\nmatthew_(fire_emblem),4\nchapter0p,1\nwitch_springs,3\nyoshimitsu,4\nnegishio,1\nmiya_(akumatokeiyaku),1\ngabyo_nuno,1\nreireimu,3\nfutsuka_(dzone),1\nnatsune_ilasuto,1\ngeppuntei_dappun,1\neencya,1\ncheryl_(arc_the_lad),4\nmukoujima_takurou,4\nscorch_mark,0\nkanatarou,1\nmikan_(mikataaaa),1\nyukiru_akitera,1\nyugimaru_(sugar),1\nmugai_(tamac),1\nleaf_hat,0\nyuka_(mikuxluka),1\nmono_(nekogoya),1\nakizuki_buranko,1\njosephine_(twin_tail_rabbit),1\niris_hallet,4\nfelix_(felix901123),1\nnontan_(nontanexx),1\nnise_maou_dokuzeru,4\ngrisha_yeager,4\nippaiccha,1\nmasa_tarou,1\nyao_haa_dushi,4\nbig_cat_shan,1\natarime,1\nsenjimon_kayumi,1\ntogashi_(choco-bakama_kitchen),1\nnyoro_mutou,1\nhaze00,1\nnkgmgs,1\nmaguroido,1\nrebecca_hopkins,4\ntonyo_(milky_crown),1\nsuzuki_hayase,1\nin_jar,0\nkirara_(gundam_bf),4\nexposed_clitoris,0\nelbia_hernaiman,4\nfuse_takuro,1\nraion_(soraelf),1\ndonut_hole_(vocaloid),3\nbusujima_funya,1\nnickii25,1\npowai_pichori,4\nkamejikiriga,1\ntsuchiya_(1315444),1\navalugg,4\nhiren,1\nsanada_momen,4\ntraptrix_atrax,4\nmomoko_(momokyun),4\nsakurai_akane_(girlfriend),4\nlucio_(granblue_fantasy),4\nelicia_hughes,4\nrudolph_the_red_nosed_reindeer,4\nnirasawa_hiyoko,4\nmr.monster_(araido_kagiri),4\nmisohagi,1\nalice_claudia,4\nhinata_kanata,1\nrinta_(reyte),1\nza_yu_a,1\nyohioloid,4\nsouth_park:_the_stick_of_truth,3\nshikimiya_mana,4\nthirty-second_note,0\nsatou_iruno,1\na-line,1\nawilda_(p&d),4\nuricotake,1\ndeshima_shin,1\nnumachi_rouka,4\nnkyoku,1\nclause,4\nyuyu_(yuyudesu0806),1\nfuyuno_(kiddyland),1\nweill,1\nsakuragi_miria,4\nshirokuro_(lapinnoir),1\nkyouran_souryuu,1\nthree_twosix,1\nfujiwara_takumi's_toyota_trueno_ae86,4\nnoku_(eco),1\ncivilization_v,3\nkururu,4\nrushi_(bloodc),1\nhypertan,1\nkcalb,4\ngajumaru09,1\ntomo_futoshi,1\nmega_sceptile,4\nharapeko_(886011),1\nmame_(ballet2604),1\nhorseshoe_print,0\nootsutsuki_kaguya,4\ngingham_dress,0\nniko_(toitoi210),1\nthorn_(ashthorn),1\nhacha_(hachaowo),1\njjuwaap,1\nbremerton_(azur_lane)_(cosplay),0\nunou_(mousou_deguchi),1\nnagato_(azur_lane)_(old_design),4\nhms_monarch_(siirakannu),4\nzijiang_m99,0\norange_innertube,0\nbrave_neptune,3\nfrogbians,1\numino_chika_(character),4\nmizu_ramen,1\nvickyycy99,1\nrin_(sen_to_chihiro_no_kamikakushi),4\nmega_audino,4\nhanyuu_shion,1\ninterstellar_rhapsody,3\nmireille_(.hack//),4\nkataochi_chuuko,4\nalicia_(kagawa_yuusaku),4\nemizel_(disgaea),4\nisuzu_(uzushi),1\ntang_xinzi,1\nmiridereningen,1\nkirihara_jyazue,4\nlyuri_(riviera),4\nyuran_(erubo),4\nrelife,3\npenguin_highway,3\nsunsuke,1\ncello_(little_princess),4\nsalia_(cross_ange),4\nshiori_kirihito,4\npink_garter_belt,0\nstephanie_sybydlo,1\nblackberry-chan,4\nshinoda_eri,4\ncassio_yoshiyaki,1\nankoman,1\nmachi_(skyward_sword),4\nshamo_(ptwmjgda),1\nyy,1\nmaou_to_ore_no_hangyakuki,3\npurpleninfy,1\ngreen_ponpoko_(module),0\nbutudan_butugu,1\nhelena_(warship_girls_r),4\no'bannon_(warship_girls_r),4\nchongqing_(warship_girls_r),4\nmamima,1\ntanaka_(ueno-san_wa_bukiyou),4\nlieze_lotte,4\narutoria_(187497382),1\ntaira_no_chouki,4\nyuib3_(yuibitch),1\nkenki_fujioka,1\nstephanie_priscilla,1\name8desu,1\ndetective_pikachu_(game),3\nneko_kuruto,1\nfu-ha_jin,4\nrin_no_youchuu,4\ngomihitosi,1\nhazard_trigger,0\nhard-degenerate,1\nhotatechoco_(hotariin),1\nshokushu-chan,4\nubume_(onmyoji),4\nhiroyuki_koto,1\ndong-jin_rice-hime,3\nsuiji,4\nseiyo_academy_uniform,0\nkamogawa_girls'_high_school_uniform,0\nreiko_(tofuubear),4\nhassan_of_serenity_(fate)_(cosplay),0\noop,1\nmomodora:_reverie_under_the_moonlight,3\narrow_earrings,0\nyimamiantang,1\njudith_(glamorous_maid)_(tales),4\nyuri_lowell_(light_fedrock_uniform),4\ntsubakigaoka_metropolitan_high_school_uniform,0\nreflector_(photography),0\nonacia,1\nkiran_(fire_emblem)_(female),4\ncomputer_club_president_(suzumiya_haruhi),4\nmutual_foot_licking,0\nusukawa_(uskw_sr),1\nferry_(santa_minidress)_(granblue_fantasy),4\nyuzawa,1\nhiguchi_kaede_(swing!!),4\nyui_(new_year)_(princess_connect!),4\nkomatinohu,1\nsatellite_cannon,0\nlazflamme,4\npipelining,0\nkobe,0\nskyspace,1\nkaruna_(madlax),1\nfrea,1\nkabeyama_heigorou,4\nschedule,0\nyukishita_miyuri,4\nnekotama_shun,1\nusui_(tripcube),1\nyonecchi,1\nyupachi,1\nkori_(etinop),1\ngrandmother_(little_red_riding_hood),4\nlv21,1\nkuuya_(utawarerumono),4\nreimei_(1988),1\naoi_chiruko,1\nsakurai_natsuka,4\nrevolcane,0\nnanami_kazusa,1\neno_(whiskeyne),1\nsakou_mochi,1\nkurashita_tsukimi,4\nkiraboshi_(star_driver),0\nkudakitsune_(kaien_kun),1\naalge,1\nkarkat_vantas,4\nkurotama_(avino),1\nbonnou-s-rice,1\npoker_face_(vocaloid),3\nmomo_(gomenne),1\nkirishima_sagiri,4\nzetallis,1\nsekai_seifuku_kanojo,3\nkajimiya_(kaji),1\nsera_haruna,4\ndanbi2021,1\nsurrender,1\nyuichirou,1\nbow_bloomers,0\nyukaribe_setsuko,4\nmahou_shoujo_lyrical_nanoha_strikers_sound_stage_x,3\nkouchi_ayako,4\nkuroi_yasu,1\nshibata_katsuie_(oda_nobuna_no_yabou),4\nspiking,0\nabekawa_kinako,4\nmabui_(poloon),1\ntinpam,1\nhatyo,1\nkainou_yoshiko,4\n1059,1\nyucca_(sui_linx),1\nshirogane_mitsuki,4\nhatomugi_(hato6g),1\nmini_4wd,0\nhimawari_no_kyoukai_to_nagai_natsuyasumi,3\nsatou_toshio_(suisuisuisui),1\ncu-sith,1\nyuetsuki_(ash),1\n4b-enpitsu,1\nnukarumi_noren,1\nasmodeus_(the_seven_deadly_sins),4\ngamako,1\nmaji_moji_rurumo,3\nwreck-it_ralph_(character),4\nmikey_uo,1\nfuchigami_mai,4\nshinomiya_kyouya,4\namase_(siki696),1\nouran,1\nshe-venom,4\nisane,1\nsebastian_(dokidoki!_precure),4\ntsuki_(akatsuki_no_goei),4\nbrachydios,4\ndracul,1\nsadone,4\nsane_(zoza),4\nclassic_squiffer_(splatoon),0\nsploosh-o-matic_(splatoon),0\nhit_(dragon_ball),4\nchristina_(tanaka_the_wizard),4\ntachiagare!_orc-san,3\nakasabi,1\nyutaka_(yutakadeath),1\nmitsuya_bonjin,1\nono_itaru,1\nnya_lapucea,4\ntakefumi,1\naiko_(aiko_54),1\npaw_panties,0\npikachu_hood,0\nrikuo_(whace),1\nchloe_von_einzbern_(cosplay),0\nopened_by_another,0\nseung_mo_kim,1\nrawst_berry,0\ntini,1\ne_snow_jp,1\nokamen,1\nkatsuki_toshiya,4\nkiku_(ks5832),1\nhadashi_no_kenji,1\nkarakuri_shoujo,3\npedestrians_only_sign,0\noisih,1\nsumino_akasuke,1\nuss_des_moines_(ca-134),4\nrixch,1\nfluffy-pokemon,1\nnoe_aoikaba,1\nsawamura_chizuru,4\nnepsuka_(hachisuka),1\ngolden_eagle_(kemono_friends),4\nperegrine_falcon_(kemono_friends),4\nstriated_caracara_(kemono_friends),4\norisa_(overwatch),4\ncarmilla_(re:zero),4\nkafkasea,1\ntorigoe_gakuen_school_uniform,0\nfur-trimmed_shawl,0\nflaxvivi,1\nruru_(heat_haze),1\ntsumura_chita,1\nribbon-trimmed_choker,0\nfour_of_hearts,0\nishino_mikoto,4\nracing_miku_(2017),4\nmorino_hon_(style),0\nsparky_(arms),0\njulio_(precure),4\nai_nige,1\nharuirokomici,1\nmugheyart,1\narimura_shion,4\nhonjou_ranko,4\niyo_(nanaka-0521),1\nfujinoki_nene,4\nbad_patreon_id,5\ncrocea_mors_(rwby),0\ntakasaki_misaki_(koi_to_uso),4\niinuma_kaoru,4\nshujinkou_(eiyuu_senki),4\nkaijuicery,1\nbundesliga,0\ntanagawa_makoto,1\nmaa_(roninnn),1\nkantoqyoiko,1\nrosehip_t72,1\nkomadori_ui,1\ntekoki_karaoke,0\ngripen_(girly_air_force),4\ntsurumi_rumi,4\nelizabeth_(tomas21),1\ndaihannya_nagamitsu_(touken_ranbu),4\nyuuri_shachi,4\nsphinx_awlad,4\nmatsuya_(pile),1\namick_(americanomix),1\nrin_(catherine),4\nkano_(singer),4\nyano_(spirit1022),1\nbart._d,1\nrich_s,1\ntouhou_costume_examination_(meme),0\nseven_(scissor_seven),4\npa-15_(marvelous_yam_pastry)_(girls'_frontline),4\nbarururunru,1\nkemonosuke_(kmskths),1\ncontender_(flowerful_maid)_(girls'_frontline),4\nmayuzumi_yukino,4\nmatrix_of_leadership,0\nmultiple_shikishi,0\nberuzumi-m,1\nmachi_(nagasarete_airantou),4\nshanpao,1\nshou_(ahiru_shinobu),1\nfurudori_yayoi,1\nsteel_peach,1\ngreat_white_shark,0\nmizugi_kanojo,3\nivxxx,1\nsaliva_on_penis,0\nkeypad,0\nhananon,1\nlaika_sputnik_(shepherd0821),4\nou_kijin,4\nhoshiyui_tsukino,1\nmarshall_lee,4\nstella_glow,3\npub,0\nura_dora,1\nkagawa_rin,4\nenriend,1\nmmm_ss,1\nkirishima_noa,1\nlouis_(left_4_dead),4\nagent_(ikuoikuo),1\nyamakamu,1\nubunchu!,3\ndecarabia,4\nmuro_(ninimohu),1\nuirou-zazami,1\nyuuki_chigusa,4\nzed_o'_brien,4\ndonne_anonime,4\naju222,1\nmizukoshi_saki,4\nk-san,1\nsayo_ayato,1\npinko_(inazume-panko),1\ns-m!le_yuu,1\nkarmatron_y_los_transformables,3\nvans,0\nsniper_(sekaiju),4\nhimuka_roko,1\nnor_nao,1\ntoyo_(toyoyomi),1\nribbon-trimmed_bloomers,0\nkuroba.k,1\nko-man,1\ncako_asida,1\nasano_tomoya,1\nwiori_(mashiro_miracle),1\nfukiishi_ayako,4\nlimbs,0\nyuya_kyoro,1\nkurisu_kokone,4\nmeson,1\ncola_miku,4\nnabeo,1\nloki_78,1\np-kana,1\nyone_(kaguudou),1\nwatariganikun,1\nnikujag96737782,1\nhachi-kun,1\nsubdue_ezwei,1\nnorihe,1\nbielin,1\nchagataaa,1\ntaiyou_iwaku_moe_yo_chaos,0\nakizuki_maria,4\nyaegaki_erika,4\ncrowgod,1\nblaze_(minecraft),4\nshigatsugata,1\ncross_patty,0\ndakian,1\nhomoo...,4\ntakada_gan,4\nhagure_yuusha_no_estetica,3\ngalil_ar_(upotte!!),4\nkagosaka_mahiro,4\nhanabusu_arisu,4\nlicking_back,0\nredchicken,1\nfujima_emiri,4\nayase_sakimi,4\npoooka,1\nkoto-channel,3\nkamisama_no_inai_nichiyoubi,3\nadriana_visconti,4\nkos-mos_ver._3,4\nmilla_the_temporal_magician,4\nnonodera_minku,1\ntakssmask,1\nlittle_specter_(elsword),4\npanbukin,1\nkous_(onetwojustice),1\nshiro_ami,1\n\"watashi_ga_suki_nara_\"\"suki\"\"_tte_itte!\",3\njosh_corpuz,1\njubjub_(monster_girl_encyclopedia),4\nmamiya_akari,4\nsubete_ga_f_ni_naru,3\nthe_king_of_fighters_'96,3\nstayblack,3\nsaikou-iro_aurora,1\nizayoi_cha,1\nbenitoite_(houseki_no_kuni),4\nperri_(mnemosine),1\naki_(yunkana),1\nfoodtoyc,1\nsaboten_(flower_knight_girl),4\npineapple_hair_ornament,0\nyyillust,1\nhermithessa,1\nharuka_athena,4\nyuni_(manyutin),1\naankau,1\ncat_cutout_panties,0\nyoshimura_ken'ichirou,1\nsera_(doubutsu_sentai_zyuohger),4\nfuu_(frol),1\nhanamizuki_(flower_knight_girl),4\nairalin_(mark_folks),4\nyoshimizu_amine,1\nmakina00,1\nyae_(yae_ringo),1\ncrow0cc,1\nhinann_bot,1\nmimo_(pokemon),4\nastrid_(pokemon),4\nhiroshiko_(restart),1\nnightcoat,1\nmain_battle_tank,0\nblackdomo,1\nakino_sayuri,4\nakechi_mitsuhide_(fate),4\nhanamoto_tenka,4\nevarella_(berserk),4\nmama_x_holic,3\nprincess_piranha_plant,4\nyoshiyoshiwa,1\nruined_king:_a_league_of_legends_story,3\nkroos_(the_mag)_(arknights),4\nmyanyuki_h,1\nhiroaki_(hiropon_pj),1\nkimpanzi,1\nsuzumiya_rin,4\nshimasato,1\nmell_(dmwe3537),1\neveryntrge,1\npanther_print,0\njed_henry,1\ndressy_alice_(idolmaster),0\nvanica_zogratis,4\nhourai_girl_(touhou),4\ndice_members_(danganronpa),4\nmungduck,1\nlena_(azur_lane),4\nt-back_spats,0\nsushida_hayari,1\ndoham,1\ndanchu_(danchu0628),1\ngolden_axe_(weapon),0\nshiranui_(kancolle)_(cosplay),0\ncroissant_(seeker)_(arknights),4\nminecraft_sword,0\nmucc_(ren0522),1\nperfellcsaiko,1\nbomb_man,4\nmr._chang,4\nagarest_senki_mariage,3\noreshki,1\ntype_97_shotgun_(girls'_frontline),4\nweedy_(candy_cape)_(arknights),4\nikisugi_shokudou,1\npu_lona,1\nfelice,1\ngantz_sword,0\nk0nfette,1\nmono_(mono_zzz),1\ngin_daikon,1\nremomon_(sdnn8578),1\n329kome,1\nyinyoushirenmaotouying,1\nmephia,4\npatrick_fche,1\ncartesian_chart,0\nhamo_(maca-roon),1\nnonfiction!!_(love_live!),0\nootoriryouran_gakuen_school_uniform,0\nnarashika_asuka,1\npudding_(arknights),4\nhonolulu_(manjuu_mischief)_(azur_lane),4\ncheshire_(the_cat_and_the_white_steed)_(azur_lane),4\nlactone,1\nkingdom_of_victoria_logo,0\nnoa_yj,1\nradio.broom,1\napis_(ousama_ranking),4\ngintama_movie_2:_yorozuya_yo_eien_nare,3\nzuman_(zmnjo1440),1\nnihudau,1\nnikuko_(galko),4\ng36_(pure_white_cornflower)_(girls'_frontline),4\nkarna_(formal_dress)_(fate),4\nun4lord,1\nhand_on_back,0\ntakagi_junjirou,4\nrikimatsu_ariko,4\nyonesuke,1\nzamazenta_(hero),4\nkagikake,1\nshanzha_(fruit),0\nchiaki_lsd,1\nno~ma,1\nno_ribbon,0\nward,0\nviola_(soulcalibur),4\nstar_(ikaruga),1\nmaro_(nikeneko523),1\naoba_shou,1\nyamashita_ikuto,1\nprelati's_spellbook,0\nazuazuazu19,1\nminamoto_kouichi,4\ncharlotte_francia,4\ntsukumo_kazuita,1\nzinpati,1\ninawata,1\nrobbery,0\nsumiosmith,1\nyamashita_bungo,1\nflynn_scifo_(student_body_president),4\nqing_yunyi,1\nliiko,1\nshinon_(fire_emblem),4\nogre_battle,3\nshivie_aika,4\nsilver_leotard,0\ntoo_much_fluff,0\nwelve,1\nkohaku_teru,1\nalbus_severus_potter,4\nyonpii,1\nw.q.y,1\ntark_(318),1\nhashibiro_kou_(garapiko_p),1\nmituyota_76,1\nartina,1\nyunyun_(canaan),4\nkansuke_(bubuduke),1\nsyu.mu,1\nsetsuna_(kyoushirou_to_towa_no_sora),4\ngreen_mittens,0\nizumi_(kisshot1126),1\nokappixv,1\nraindrop_print,0\nbi_yao_zhuye,1\nmutsuki_shougatsu,1\nhide_(acceed),4\nwarakusa,1\nmizumi_(artist),1\nsebas_tian,4\ntable_tennis_net,0\nkuromori_suzu,4\nmomo_(idolish_7),4\ntakejirog,1\nzetsu_(naruto),4\nwakan_tanka_(fashionista_swimsuit),4\nlkdv,1\ngremio_(gensou_suikoden),4\ndune_(series),3\nkeanu_reeves,4\nmoriiiiiiiiiinn,1\ntomotototo,1\ntakeno_(hashi_falcon),1\nafrostar,1\nhippopotamuso,1\naphelios,4\nlookhow,1\nalternate_tail,0\ntouma_rui,1\nhal_jordan,4\nminette,4\ncommercial,0\nmumu_yu_mu,1\nloporrit,4\nun_lim,1\nodecono3,1\n10million,1\nshione_(memento_forest),1\nqueen_serenity,4\nsena_(illust_sena),1\nobake_no_q-tarou,3\ngumbat,1\nex_saki,1\ngz_(gyoju),1\nkkokko,1\nsunnywang03,1\nraining_blood,0\njangmo-o,4\ntsukumo_san,4\nsaeki_teru,4\nengawa_suguru,1\neileen_(a-soul),4\nsakuraoo,1\nsiplick,1\nkitami_tsuzuka,1\nteru_(kai_teru_),1\natsuko,4\nxyh,1\nmayreel_(guardian_tales),4\nfuto-inu,4\nkumano_(kancolle)_(cosplay),0\nblanca_(fate),4\nslums,0\nryaku,0\nmanasseh,1\nrit3set,1\nmayuge1017,1\nbreast_rings,0\nkuresu_(alice-pma),1\nkanzume_shima,1\nstitched_hand,0\naoki_rei,4\nreith,4\nmiki_(virtuareal),4\nnagatsuki_(azur_lane),4\narescr,1\nsayano_(yakob_labo),4\nkatori_(katokichi),1\nsakurai_yukino,4\nmb0sco,1\nanimal_background,0\nlirilias,1\ntime_bomb,0\neden_grenze,3\nisobe47,1\ntraffic_officer,0\nfrilled_hood,0\nveterinarian,0\nnakamura_hiro_(nobody10ch),1\ndiver_down_(stand),4\nmushuu,1\nsarah_kerrigan,4\nliptan,4\nmapuru,1\nune,1\nnever_gonna_give_you_up,0\ndiana_caprice,4\namayakan,1\nashleigh_hetrick,1\ntendril,0\nhibiki_tohru,1\ngakuen_alice,3\ntsuzura_(pixiv74922627),1\nbaobab,0\ndystopia,0\nnagatsuki_rio,1\nronarona,4\ntsukasaki_ryouko,1\nkarakasa_(murakumo_koushou),1\nmoleshi,1\ndido_(magicc),1\ntarako_supa,1\nkohinata_yuuma,4\nkycilia_zabi,4\nriruru,4\nsonny_boy,3\nsimekirikowai,1\noomikado_himari,4\nsimon_brezhnev,4\nalikap,1\nluxiel,1\niftuoma,1\nscar_through_eyebrow,0\nfastener_(psg),4\nmongz,1\nshirouri,1\nmystic_(tera_online),4\negyuuu,1\nadjusting_shirt,0\nkikokugai,3\nhollow_song_of_birds,3\nku_roiko,1\n4myaku1,1\namano_kokoko,1\nbeppo_(granblue_fantasy),4\nmizuha_(pixiv56938668),1\nshiromaru_illust,1\nlihuashuangxiang,1\nseto_tinami,1\nprosperous_peace_(genshin_impact),0\npon-chan_(mikeneko),4\n239_239,1\ntorishimo,1\nkusa_chuu,1\nhasumikaoru,1\nsona_(yuio58ok),4\nlynx_ears,0\ns_hitorigoto3,1\nskullworms,1\nhipster,0\nsesame_ange,1\nwonder_project_j2,3\nnatural_another_one_2nd_belladonna,3\nbeam_(chainsaw_man),4\nhijiribe_ruri,4\nsuki,4\nkanasaki,1\nnac_nac,1\nshinonome_soichiro,4\nkoromogae_maya,4\ntwo-tone_vest,0\ntendo_(zhazhatiantong),1\noz_(maplestory),4\nthumb_in_beltline,0\n5health,1\nshiba_(pixiv244),1\nthe_raineman,1\nhannyag,1\nhoujoh_(7th-heaven),1\nbennopi,1\ndoatobira,1\nangelo_(ff8),4\nrenaissance,0\nkishiinu,1\ntorn_belt,0\nleaning_in,0\nyolang_and_yolang,3\nleonardo_da_vinci,4\none_touch,1\npower,0\npentomo_(petra_gurin),4\nkazairo_kotone,4\nhorikoshi_jirou,4\nsakura_(honkai_impact),4\nichihashi_makoto,1\ngomora,4\nneimi_(fire_emblem),4\npurimari,1\ntanzawa_chizuru,4\nsticky_honey_roast_(genshin_impact),0\ncats_yone,1\nyuri-yuri,1\nbooth_tomato,1\nrally_car,0\nharutimu,1\nmaiini,1\n9h,1\nbowtruckle,4\nblue_garter_belt,0\ngavial_(combat_medic)_(arknights),4\nb6n_tenzan,0\nmugicaan1,1\nfetch,0\ngundam_kyrios,4\ncithis,4\nbenjamin4679,1\nbikuto_ryuu,1\niwazoukin,1\nbraid_girl_(enmu's_recruits),4\nmabelmine,1\nradek_ken,1\nheiyu,1\nlittle_armory,3\nmode_aim,3\njune_(squeezable),4\nvision_test,0\nfusou_(kancolle)_(cosplay),0\njin-lian,4\nrhine_lab_(arknights),0\namaya_uw,1\nshaketarako,1\nwakasa_reo,4\nlyoo_(cacj5482),1\nooyama_bokuchi,1\npalette_project,3\nyamazaki_(now_printing),1\nao_no_kitsune,1\nbeatrix_kiddo,4\nmiaodiande_yuanshoumiao,1\ninari,0\nmadaragi,1\nhayasaka_hiyori,4\nimpulse_gundam,4\npentakill_sona,4\nterauchi_kiyo,4\nmaokyu,1\nprototype-d,1\ndospi,1\nnapo8593,1\nyubaba,4\nkamen_rider_leangle,4\nmurabatodenki,1\nruo,1\ngrancrest_senki,3\nmon_eree,1\nacomu414,1\nurza_pranaice,4\nfoxxarius,1\nj._geil,4\nrecotasan,1\nbyougaku,1\nyoyomura,1\nklimspree,1\nkonoe_fumina,4\nusagi_niku,1\nfuriae,4\nmetamorphy_(elsword),4\nssss_ve,1\nyamanobe_miki,4\nholding_lifebuoy,0\nflan_(zhd91),1\ncrmanzana,1\nundine,0\nytrall,1\nhelena_harper,4\nlevin_sword,0\nshigure_kasumi,4\naketa_chika,1\nyuia,1\nhitsuji_(sheepsb22),1\nalfa_(alpharig),1\nakaisuto,1\nyong-gok,1\nwizarmon,4\nhakushoku_n,1\ndeus_ex:_human_revolution,3\nlikaou,1\nfurutori,1\nzugan_(berugkamp),1\nhiiragi_inori,4\npillow_(blackpirou),1\nremil,1\nsuzuki_kana,4\nki_min-woo,1\nnet_ball,0\nwangqi,1\narshes_nei,4\nmasyu_jyaga,1\nu2suke,1\nkarasuke_d,1\nnecromancer_(final_fantasy),4\nkei1_833,1\nfish_pillow,0\npoe_dameron,4\nz-jun.dd-zhong,1\npolka_dot_towel,0\nthe_chariot_(tarot),0\nknives_out,3\nkyo_kaneko,4\nscout_movement,0\ncode,0\ngrogu,4\nshoujo_sect,3\nyanuk,1\nsenkou_no_clarias,3\nbao_(s_888),1\nsheathing,0\npsycho-puzzle,3\nnext_frontier_(idolmaster),0\nhzw3,1\nsugata_dski,1\njunito715,1\nvirtu.al,1\niketatsu_shizuru,1\nesbeliben,0\njosette,4\nwodom_pod,4\nnanashiba_(banntlla),1\ntorn_flipper,1\nkikka_kitamoto,4\nrolycoly,4\nmonogram,0\nbat_background,0\nenterprise_(heroic_finery)_(azur_lane),4\nchain's,1\ntetose,1\nerspace,1\ntetsuzankou,0\nhayase_sou,4\nclaris_(group),3\nwaguruma!,3\nayano_rena,1\nshem-ha,4\nadzuma_nishi,1\nwill_of_the_abyss,4\nlaikaken,1\nweissritter,4\nhanadi_detazo,1\nkako_(reku),4\nstitched_eye,0\narchangel_(helltaker),4\nocelot_print,0\nnamiharuru,1\nitou_kanae,4\nredline,3\nsouma_ren,4\ntokiwa_kurumi,4\nkondate_(inugrm),1\ndende,4\namenosorashido,1\nakira_(cookie),4\nkanami9731,1\nsousei_no_onmyouji,3\nsaitu_miki,1\naya_(jonsun),4\nbutaneko,1\nsashimi0gou,1\nbelinda_(unlight),4\nyumemi_gachiko,1\nbunny_pillow,0\nkureneko,1\nmei_mu,1\nmozuo,1\nthor_(marvel)_(cosplay),0\nenoshima,0\nmakinon_tm,1\noctavia_melody,4\nhomer_simpson,4\nshishi_otome,1\nfuguriya_(monoton),1\npig_penis,0\nthe_legend_of_zelda:_tri_force_heroes,3\nyunlongchen,1\nbrz,1\nshiratsu_(white-seaside),1\nflip_(diiolive),1\nakaisu,1\nmorrow_(hitodama-x),1\nfishneak,1\naizawa_yoshihiko,1\nrain_(nadroj31),1\nvit,4\nkafei_(fkey),4\nh&k_hk417,0\nkon_(k0n16),1\nwkar,1\nuzaki_hitomi,4\nagainst_locker,0\narimura_hinae,4\npnikatro,1\nuta_(xuyansong1996),1\nfujita_yukihisa,1\nmian_(dream_c_club)_(cosplay),0\nryu_hari,4\nyakushi_kabuto,4\nwii_version,0\nlin-lin,4\nodin_(final_fantasy),4\nbibi_(bibi47881139),1\nsherumaa_(shellmound),1\nsumiregawa_nenene,4\namamorient,1\nkikusaka_kochou,4\nmuvluv_altered_fable,3\ntonia,4\nkuontendou,1\nhanami_(horizon),4\ntsukimi_(yukinagi),4\nddalrim,1\nruku_rx,1\nfine_falke,4\ntsuchiyama_niu,1\nheo_sung-moo,1\nhisaki_yukari,1\nkurokoge013,1\nbohe,1\naji082,1\nbyuune,1\nfreely_tomorrow_(vocaloid),3\nchiba_chinatsu,1\nchinkyuu,4\nplesioth,4\nmada_(mk333),1\nyuuguu_settai,3\nbard_(ragnarok_online),4\nioryogi,4\nmarci_(dota),4\naijima_cecil,4\nmizukimaru,1\ntwinpon,1\ndragoon_(fft),4\nearth_badge,0\nmist_dragon,4\napj,1\ntatsuji,1\ntapestry_-you_will_meet_yourself-,3\nsigetch,1\nkanogi,1\ncomma,1\nultra00,1\nbluebell,4\nebi_(daidalwave),1\njoka_(hiwai),1\nl-trap,1\nflyx2,1\nrui_yuda,1\nbanjoo,1\nteresa_beria,4\nanonimasu,1\nakubi_(fyfy),1\nokusan,3\nsasameki_koto,3\nseto_yuuki,1\nnogisaka_motoka,4\nakita_momoko,4\nmagazine_rack,0\nkimura_takako,4\nshindou_akane,4\nmanzi,1\nmurakata,1\nesmeralda_(disney),4\nminase_ruruu,1\nseer,3\nkasuga_kusunoki,4\nmutekikyuu_believer,0\nwindows_7,3\nkamisakai,1\naizawa_sachi,1\nwatahashi_yasumi,4\nkino_mayumi,4\ndoki_doki_oyako_lesson,3\nshigure_ama,4\nalex_(totally_spies),4\nkiiro,1\nmana_(gakuburu),1\nisayama_mei,4\nasuka_(busou_shinki),4\nguldo,4\ntortinita_fine,4\ncall_of_duty:_modern_warfare_3,3\nkajiwara_shikaji,1\nyamazaki_kana,1\nmutou_kazuki,4\nmiyata_(miyatami07),1\nnatsume_atsuko,4\nkoucha_inu,1\nholding_mouse_(computer),0\ns_gundam,4\nporipori,1\ntoyohara_mitsuki,4\nnemo_(nadia),4\nsuomi_(blissful_mission)_(girls'_frontline),4\nyamada_maririn,4\ndokuromaru,1\nnoel_kreiss,4\nshimoyama_mutsumi,4\nfranco_il_nero,4\ninazuma_kick,0\nayase_yuka,4\nwontam,1\namefurin,1\npollen,0\ninubousaki_aya,4\nhottan!,1\nloki_(matantei_loki_ragnarok),4\nkatou_setsuko,1\nmister_ajikko,3\ncrazy_hand,4\nmikiharu,1\ndodonpachi_daioujou,3\ns.advent,1\npd-x,1\nshirakawa_ryouko,4\nartemis_(junketsu_no_maria),4\nshinsekai_keikaku_sinsekai_city_project,3\nprotest,0\nkou_oishi,1\nmekameka_shii,1\n^v^,0\nchourui_keiko,1\nsuzushiro,1\nfasces,1\nokonogi_noi,1\nthe_sky_crawlers,3\nserizawa_ulala,4\nhonneamise_no_tsubasa,3\ntouma_hikaru,4\nm202,0\ninsemination,0\nkanzato_shin,4\nlucu_lucu,3\nryouta,1\ngunbelt,0\nalmostdeadbydawn,1\nqueen_zeal,4\nmaman_(shuugetsu_karasu),4\nnegatone,4\ntheend,4\nshinjou_izumi,4\nhosokawa_miki,4\nkakuu,1\ntsugumi_takakura,4\nlichtendahl_tsery,4\nkuraki_mizuna,4\nkiteretsu_daihyakka,3\nutsugi_tsuguha,1\nellone,4\nyuuki_kanade,4\nsage_(tick!_tack!),4\nsakurazuka_ren,4\nyuzaki_tatami,4\nseinarukana,3\nyakumo_hamaji,4\nkimura_masahiro,1\nkojima_tsuma,1\nkiryuu_nanami,4\nefira,1\nkurihara_nagisa,4\nfujisawa_kamiya,1\nfujisaki_nadeshiko,4\nmizuki_toko,1\ngetter_arc,4\nbilly_lee_black,4\n9tsumura,1\nootani_yuri,4\ninoue_kikuko,4\nmimizuku_auru,1\nyumei,4\nbenibara_nadeshiko,4\nmone,4\nibara,3\nlonghorn,4\nzakuro0508,1\nyoshimura_tatsumaki,1\nshiro_(hakukosui),1\nq-feuille,4\nyamamoto-genryuusai_shigekuni,4\nikeda_yuuji,1\ncross_world,3\ntwo-tone_thighhighs,0\nkumo_no_mukou_yakusoku_no_basho,3\nhakuro109,1\nsaimoe_2006,0\nprincess_bullet_bill,4\ngisela_(madoka_magica),4\nshiina_hikaru,4\nkunsei_hamu,1\nokita_kyouko,4\nsophie_(middle-school_mascot)_(tales),4\neddie_(gyee),4\nkeldeo_(resolute),4\nbodhi_wushushenghua,1\nhanata,1\ninushida_(dogsheepsheep),1\nanastasia_(shvibzik_snow)_(fate),4\nikr_(artist),1\nmaruke,1\nshinonome_chiharu,4\n0v0_(l_seohui),1\nyuugai_choujuu,3\ndie_letzte_(tc),1\nnonohara_himeko,4\nvee_(vtuber),3\ndongdong,1\nusagi_(786113654),1\nsatonaka_kei,4\nsk_(sk-g),1\ncacao_(cacaomgmg),1\nhatsune_miku_(vocaloid4)_(chinese),4\ndynamotor,1\nyiler,1\nyoukai_pad,0\ntail_in_mouth,0\nkintsugi,0\nceo_and_bodyguard,3\ncum_on_eyewear,0\nshio_kuzumochi,1\nnyuu_(pixiv12143565),1\nvacation,0\npsyco_gundam,4\nyao_ren_gui,1\nsatsuki_yomi,4\nworkout_clothes,0\ntsukidaruma,1\nkunimitsu_ii,4\narc2urus,1\nakqne,1\nbillie,1\nvirusotaku,1\nzawa_(zawzawranran2),1\nbehind_moon,1\nsig_sauer_p320,0\nfreddie_(gundam_build_divers_re:rise),4\nshino_(pharmacy),1\nsix_neon,1\nqian_yi,1\nrichard_ranashinha_de_vulpian,4\nshinalpha,1\nrokuno,1\nso_myeolchi,1\na_re,1\ntamo_(gaikogaigaiko),1\nsmoker_(left_4_dead),4\ncropped_head,0\nbanshee_sister_(mechanical_buddy_universe),4\nhina_(hinamatsuri),4\nmuay_thai,0\nhisakawa_sora,1\nregeneration,0\nkiriyama2109,1\nunown_z,4\npi0w0pi,1\npipi_o_(pipioo08),1\nmeeeeeeco359,1\nkirin_kai-ii,4\nlumiphi,1\npikachu_pop_star,4\nkomuro_takahiro,1\nghost-pepper,1\nsuzuhara_(13yuuno),1\nyureru_(junn7603),1\npyongtaro,1\nrayman_(series),3\nredman,3\nunoshima_kanaka,1\nsawsbuck_(autumn),4\nxobox,1\nkamisama_to_unmei_(series),3\nkimi_to_boku_no_saigo_no_senjou_arui_wa_sekai_ga_hajimaru_seisen,3\nwerlosk,1\nsouzaipan,1\nodoro_(nicoseiga81184094),1\ntpamjdsta_(usatokurasu),1\nyuuren_kyouko,1\nuni_sirasu,1\nhoodie_tug,0\nnuriko_(fushigi_yuugi),4\nalex_(sandora),1\nunigon_(kitsutsuki),1\nsao_(saowee),1\nyeqing_(gorgeous_mushroom),4\ngrape_(pixiv27523889),1\nshiratama_liliana,4\neumenes_(fate),4\nnagato_(guardian_fox's_shining_furisode)_(azur_lane),4\n10box_seisakujo,1\nhoshiyuki_aruru,1\nbutterfly_hat_ornament,0\nremus_john_lupin,4\ntakada_naho,4\nintestine_hair,0\nruty_(mafuyu),4\nwindworker,1\nparnkgjas,1\njiajiuli,1\nluetzow_(everlasting_blood_banquet)_(azur_lane),4\nshinozaki_ai_(corrector_yui),4\npiyo_(piyoko528),1\nmashiro_io,1\nwinsankemonodou,1\nshigure_(attack_i-490!)_(azur_lane),4\ngaron_(fire_emblem),4\nplanet_earrings,0\nkoma_neko_(natukawasaku),1\nrisemu_(c_liesem),1\nmytho_(princess_tutu),4\ncherry_blossom_(sk8),4\nhatigatunoneko,1\nkurumi_tsuchi,1\nmimo_lm,1\nchiyoda_momoka,4\nadachi_taeko,4\nyukishiro_nanako,4\ntama_(nyanko_daisensou),4\nphonic,1\nhajime_(wkpz8247),1\noliver_hamlin,1\nmatcho,1\ngrand_cupido,1\nsummer_days,3\nhuaji,0\nkazari_hisa,1\nisabella_(yakusoku_no_neverland),4\npaper_on_head,0\nnonneim,1\nkanina_shizuka,4\npriest_(ragnarok_online)_(cosplay),0\ndellu_(geenymous),4\nsayuco,1\nzuikaku_(girls_und_panzer),0\nleyu,1\nnoro_(tokyo_ghoul),4\nmyria_loussier,4\nstriped_nails,0\ntgxx3300,1\nhoshiyume_yashiro,1\ndreamsyndd,1\nlatex_shorts,0\nise_dango,1\nwinu_(hertrion),1\nrhineheim,1\ntess_turner,4\nsuyi-j,1\nwhite_witch_(lack),4\ntetsukui,1\ntwelve_(zankyou_no_terror),4\nmulticolored_text,0\ngig_(soul_cradle),4\nreminiscence_re:collect,3\nviolet_detector,3\ngin_ji,1\njoshua-42-as,4\nkashiwagi_yomogi,4\naozame_takao,1\nyunomi_(kyuusuu),1\nurooooboe,1\nhifumitaka,1\ngyess963,1\naoi_kao_(lsz7106),1\nsakura_(ichisakupink),1\nkaizin_rumble,3\ndead_body_(among_us),4\nasymmetrical_eyewear,0\nelwing_ra-nah_sylphith,4\n3692materia,1\nuta_(tokyo_ghoul),4\nred10,1\nmiyasutou,1\nhms_thunderer_(siirakannu),4\ntupai_(touhou),4\nkatou-chan_(shiromanta),4\nchong_wuxin,1\nyamine_kuro,1\nmaorzshu,1\nnishio_nishiki,4\nkuro_uso-ko,4\nkishiri_(sakurasaku_xyli),1\nyoshidanoe,1\nnue_(phrase),0\naikawa_you,1\nmega_garchomp,4\nmento,1\nscreen_door,0\nhanami_shione,4\ntommy_region,1\nkazumi_schlierenzauer,4\nfairyjack,1\ntoyo_(toyozine2009),1\nkaminaga_kouko,4\n2gold,1\nmoco_(captain_earth),4\nhijiki_(hijiri_st),1\nnanahara_shie,1\nfinger_piercing,0\nsixteenth_rest,0\nwhole_rest,0\ngarrison_regiment_(emblem),0\npiyopiyomen,1\nichinose_ibuki,1\nshinomiya_naka,1\ntarnyang_(queen's_blade),4\nadelie_(space_dandy),4\nd-tomoyo_(thekingkas),1\nboobies_uniform,0\nkiryuu_reia,1\ntatatsu,1\nkristoff_(frozen),4\ntransistor_(game),3\nkuraka,1\nmiyako_nagi,1\nclawitzer,4\nribbon-trimmed_ornament,0\nknights_chronicle,3\nmarimo_(momiage),1\nplainwhite,1\nkeep_this_a_secret_from_everyone_in_class,0\nthe_girl_and_the_robot,3\nfukagawa_kazumi,1\nnitta_hiroto,1\njack_bright,4\ntatsubuchi_(todoiru),1\ntekuteku_aruko,1\nkurosu_(nyakelap),4\no_imotarou,1\nyomi_(incubator),1\nakito_(owata11),1\nlove_(pspdspsp),1\nmikoshi_matsuri,1\nkuroleo,1\nyoshinaga_haru,1\nalisia_heart,4\ncat_pajamas,0\nhowling_(busou_shinki),4\nbra_tug,0\nafrika_korps,0\nmitsucho,1\nmochi_(touhou),4\nnehan_(granblue_fantasy),4\nmad_moxxi,4\ntaiyou_no_yuusha_fighbird,3\npondeomaru,1\nmeu_meu,4\nfuta-futa,1\ngreat_dane,0\nbrigette_(pokemon),4\nicelee,1\nlaura_toth,4\njr.,4\nkanzaki_ranko_(cosplay),0\nkuromitsu_nene,4\ntsunami_(sorudora),1\nnanami_(punishing:_gray_raven),4\nellowas,1\nhirobakar,1\nsharpening,0\n77,3\nto-ru,1\nfernandez_(fearless_night),4\nminazuki_chika,4\nnp_(edage_no_hazama),1\nnaju_soreiyu,1\nhiya_(dkr),1\nfukami_naoyuki,1\nkoukyou,1\nkotera_(koterabyte),1\nshapiro,1\ntoooka,1\nkorean_traditional_hat,0\nking_jikochuu,4\nmagical_charming!,3\nkraken_(monster_girl_encyclopedia),4\naya-on_(miria00),1\nnyame,1\nyiku_(sim7368),1\na's_wonderland,3\nnigatsu_(fevrali),1\nrinne_(pretty_rhythm),4\nchihaya_megumi,4\nshimazaki1152,1\nellie_(kisaragi_yuu),4\nagrt,1\nnamino.,1\ntanahashi_suzune,4\nohil_(ohil822),1\nenu_naitsu,1\nsakurai_kouji,1\nnatt_(made_in_abyss),4\nshougun-sama_wa_otoshigoro,3\nmaria_rasputin,4\nkagaya_nene,4\nbear_slippers,0\nsyrene_(kyuri_tizu),4\npink_tulip,0\ntiger_i_(personification),0\nchinese_robot_kid,1\nubo_(dbsgurdbsk),1\nchi_yei,1\nai_ken,1\nboss_(gindoro),4\nmeliyannn,1\nsoemy,1\norebelt,1\nkojima_hirokazu,1\nutsuro_no_hako_to_zero_no_maria,3\ncherry_(urusei_yatsura),4\nshishamo_(scholacco),1\nkanarai_taru,1\ncao_xiong,1\nraira,1\nkoshi-kun,1\nakagi_(aircraft_carrier),0\nyakubeni,1\nfujimaruu,1\nweapon_shop,0\nreniirean,1\nkatou_kouki,1\nizumo_konata,1\njitsudan,1\nshibaya_toshimi,4\nshinohara_seiko,4\nkikuchi_tae,4\nblack_(artist),1\nface_stretching,0\nhoozuki_(otome_youkai_zakuro),4\nsabutarou,1\nrifa_tellu_anelethea,4\ndevoured_by_darkness,0\nmikannu,1\nwashi_(micino),1\nyuki_miya,1\nzenpouji_isaku,4\nyou_marino,4\nmy_(mylilla811),1\nvriska_serket,4\nemperor_of_mankind,4\nkiriyama_yui,4\nsaikawa_(0902k137),1\nyuunagi_yuu,1\nkino-sr,1\nkanikani_(juicy),1\naneunyeoja,1\nmakai_penguin,1\npop_star,0\ntatsuo_(tty0607),1\npeanuts_(ennuim),1\nitosiki_zetu,1\nkoboke_(scscsc),1\ntakanya,4\ndurian,0\nkikimimi_612,1\ncomiket_82,3\nmogami_yoshiaki_(sengoku_collection),4\ntaichou_furyou,1\nhimekiss,3\nkingyo_(g-fish),1\nnoboes,1\ncharamel,3\nnellen,1\ntrencker,0\nnamaiki!,3\nuttt,1\nakuan_(7jackpot7),1\nyoshida_(nono_ko),1\ncamel_clutch,0\nrarorimiore,1\npandegg,1\nbura,1\nkimihara_himeno,4\nkannagi_ai,4\nzara_(queen's_blade),4\namane_yuki,4\nakira_atsushi,1\nichiman_nisen_yen,1\nnenemaru,1\nchiiutsu_(cheewts),1\ntaisos,1\nasheta7,1\nsasaki_(sid328),1\nmiyakawa-ke_no_kuufuku,3\nmarupuni,1\nshirato_sayuri,1\nchichi_kurage_ss,1\ntakatoiyori,1\nkikukawa_norihiko,1\nmikanagi_ibuki,4\nchiba_erika,4\nflight_highschool,3\ndorachefu,1\nikeda_akihisa,1\ntrixie_lulamoon,4\nnirasaki_hinata,4\nentrenching_tool,0\ncute_honey,3\nyingji_(zszero),1\nalpha_omega_(cosplay),0\nhoshitsuki_miki,4\nameiro_pk,1\nhelevu,4\naruuin,1\nrimsuk,1\nairplane_ornament,0\nmandara_misaki,1\nedita_(tanaka_the_wizard),4\nanotoki_ashi,1\nai_(re:lief),4\nhoso_miyuki,1\nnikaido_yamato,4\npsychicjin,1\ngal_to_otaku_wa_wakari_aenai.,3\nze_xia,1\nchloe_(melkor_mancin),4\nsasahara_natsuki_(hyper_police),4\nmyuracchi_(ayashii_hon'ya),1\nhuoyi_(zzh100200),1\nt.k.o,1\naoki_minami_(+box),1\nmonotsuki,1\nasake_ameji,1\nnelio,4\nneko_sheep,1\nraimu_(yuzu-raimu),1\nsonou_momoka,4\nminael,4\nakahuzi,1\nstar_tail_(alice_girls),4\ngamjolno,1\nmiss_barbara,4\nmaiori_00,1\ntouzokuou_bakura,4\nthe_boy_(the_last_guardian),4\nclock_hair_ornament,0\nashley_rosemarry,4\nshishikura_seiji,4\nmusical_note_earrings,0\nsaberillya2,1\nmiseo_(mrkglove),1\ntesomu,1\niguchi_akari,4\nchio-chan_no_tsuugakuro,3\nzagashira,1\nnorthstar_(titanfall),4\nyuzuaji,1\nsasaki_junya,4\ngreater_bird-of-paradise_(kemono_friends),4\nstoat_(kemono_friends),4\nakao_ppai,1\narkuny,1\nvalbar_(fire_emblem),4\nfujishima_(raving_phantom),1\nkaminashi_yamato,1\nice_keki,1\nmasamune_oekaki,1\nlumpychan,1\nolga_hodrewa,4\nnefushutan_no_yoroi,0\nyuzushiro,1\nhinase_(twoxout),1\nakiori_koromo,1\nbonfurai,1\nengraved,0\nsowichi,1\nreflector_(ookami),0\nkotegiri_gou,4\n1-gou_(111touban),1\nhakuto_momiji,1\ntoni_infante,1\nfliegerhammer,0\nshep_(stickysheep),4\nhoshigaki_(hsa16g),1\naiya_kyuu,1\nneckwear_lift,0\nenogu,3\nalpine_marmot_(kemono_friends),4\njack-barro,1\nkamomura_ayane,4\nchuu_(rinet),1\nazriel_(no_game_no_life),4\nthe_lamb_(cult_of_the_lamb),4\nsqueaky_(artist),1\ntopper_(nu_carnival),4\nkishibe_(young)_(chainsaw_man),4\nsucking_both_nipples,0\nxia_lan,3\nsymboli_rudolf_(archer_of_the_white_moon)_(umamusume),4\nmitsu_masaya,1\nhanegasaki_academy_uniform,0\nrifu_(hunihuni1130),1\ntat_(prototype2d),1\ncostone,1\nsorcerer_rogier,4\nysk_(yusuke),1\ngilgamesh_(modern_costume_of_volupte)_(fate),4\nkiyohime_(kiyohime_in_ribbons)_(fate),4\ndilemma_(vocaloid),3\ntasuketemama,1\n2020s_(style),0\nrostina_cosmos,4\nminecraft_pickaxe,0\nrain_of_arrows,0\nrivet_(vvrn2825),1\ncoat_stash,0\nserdyukov_(girls'_frontline),4\nshirokuro_(monochrome0226),1\ndoko_ka_no_hosono,1\nvepley_(girls'_frontline_2),4\nsatori_(sa_bird08),1\nthor_(toaru_majutsu_no_index),4\nfidget_(dust:_an_elysian_tail),4\ndust:_an_elysian_tail,3\njannong,1\nwar_wolf_(last_origin),4\nechi_kanichi,1\nservants_holding_aphrodite's_breasts_(meme),0\narcana_(swd3e2),4\nmaoi,1\nfantasia_re:build,3\ndqn_(rokomoko0),1\nwhislash_(glory_purple)_(arknights),4\nrin-chan_now!_(vocaloid),3\nikemeru19's_delivery_boy,4\nnik_ibi,1\nkoaraya,1\npumpkin_dance_(meme),0\nfrilled_bowtie,0\nlaffey_(white_rabbit_welcomes_the_spring)_(azur_lane),4\ngipehtyboo,1\nfoch_(rainbow_rendezvous)_(azur_lane),4\nmakurano_neena,4\nhigh_elf_(warcraft),0\ntoriko_no_shizuku_~natsu_no_gouka_kyakusen_de_kegasareru_otome-tachi~,3\nluvents3,1\namatya,1\nppk_(mach_tempest)_(girls'_frontline),4\ndnk,1\ncafe_cuties_soraka,4\npoisonousgas,1\nmayoko_(sisqo_5003),1\ngambian_rat_(kemono_friends),4\ncure_princess_(macadamia_hula_dance),4\nasd13,1\njay156,1\nbattle_academia_(league_of_legends),0\nhisuian_goodra,4\nfujimaru_ritsuka_(male)_(chaldea_pathfinder),4\nlukiarab,1\nshark_(gomtang),4\nsnifflesmp4,1\norgus_(f-kare),4\ncattleya_(houtengeki),4\ntitania_frost,4\ngoumonsha,1\nodo_7ta,1\nmanun-chan,4\ni-58_(kancolle)_(cosplay),0\nsanmian_(chidarakeno),1\niso_(nh15mint),1\nqianhai,1\nzzo0,1\nhoshizaki_rika_(kanojo_mo_kanojo),4\nhigashikata_josuke_(cosplay),0\nweser_(azur_lane),4\nsera_narumu,1\npink_dot_balloon_(idolmaster),0\nunder_the_desk_(idolmaster),0\nkira!_mankai_smile_(idolmaster),0\nnyotengu_(scarlet-tinged_hot_spring_vacation)_(doa),4\nelis_120%,1\nbutterfly_(love_live!),0\njaana_kettu,4\nimp_(impractical),1\nsushisalmon95,1\ninukai_michiru,4\nfei_er,1\narianna_caledonia,4\nmayoiga,3\ninaba_tewi_(bunny),4\nflat_tire,0\narukime,1\ntera2001,1\nkinako_(moment),1\nkurokurokuro,1\nlunging,0\nkoromo_(kinu),1\nnightmare_(soulcalibur),4\nseiya_(artist),1\najiko_ajio,1\nhyp,1\nmg3,0\nooka_(skavler),1\nmurasame_maru,1\nstudio_ghibli_(style),0\nasagiri_aya,4\naishiteruze_baby,3\nfoxinshadow,1\ndouble_fellatio,0\nnoel_(mermaid_melody_pichi_pichi_pitch),4\nneon_(valorant),4\nyoshida_sei,1\nlein,1\nsakeko,1\ncp9,0\nhayase_akira,1\nosagiri_shuka,4\nyuuki_makoto_(cosplay),0\ncleric_beast,4\nbaby_face_(stand),4\nikari_gendou_(cosplay),0\nadosan,1\nmizuna_tomomi,1\nlanxjourney,1\npio_(potion_maker),4\nsuzuka_(once),1\nkyo722,1\ntoudou_kyoushirou,4\ntsukimi_daifuku,1\ngoichi,1\neileen_galvin,4\nmahou_senshi_louie,3\nhikagi_tatsuhiko,1\norioto,1\nyunomachi,1\nnagone_mako,4\njanitor,0\nhabane_kotori,4\ntable_knife,0\nmasuko_mika,4\nsupernatural_(tv_series),3\ndorago_(doraemon4),1\nmr._and_mrs._smith,3\ndinef,1\ngiorno_giovanna_(cosplay),0\ndiaoxian_kuangmo,1\nstriped_ascot,0\nozu_(yojouhan),4\naji_paba,1\nkenshin_(kenshin3),1\nseiten_(queen's_blade),4\nkisaragi_akane,4\nsatoutakahumi,1\nhoshi_ichi,1\nwooden_bowl,0\nmaasan,1\nhajime_x_cross,0\nebrietas_daughter_of_the_cosmos,4\nmori_shinji,1\nhanaki_yuka,4\nasahikawa_yuuma,4\nshirai_sanjirou,1\nasame_shinbun,3\nsato_(samanosuke_0710),1\ntaishou_tanaka,1\nhuamuan_huamuan,1\nsetins,1\nmotorii,1\nkazanami,1\nyuukou,1\nnanashishi,1\nmultiple_penetration,0\nmenthuthuyoupi,4\nyet_you,1\nfgm-148_javelin,0\nnagase_riko,4\nnatsu_(norari_kurari),1\nsuper_sonico_(cosplay),0\nbanana_hair_ornament,0\nguilty_crown_lost_christmas,3\nmaabou,1\ntouka_(shirotsume_souwa),4\nmuvluv_alternative_chronicles,3\ndavid_semsei,1\nb_allbrack,1\nnago_celica,1\nsakurako-san_no_ashimoto_ni_wa_shitai_ga_umatteiru,3\ntyson_hesse,1\noscar_gonzalez_loyo,1\ngunslinger_(ragnarok_online),4\nslouch_hat,0\ntakekushi_meguru,4\nkira_hitomiko,4\nmasana_hatuse,1\nkonomu0522,1\niceojin,1\nfate/protoreplica,3\nochi_(ochi1094),1\nadella_the_nun,4\n^3^,0\nshimo_(yatagarasu),4\nlast_embryo,3\nkou_(01310808),1\niwashi_(nisankatanso),1\npink_usagi,1\neye_in_palm,0\nmidorikaze_fuwari,4\nharu_(haru2079),1\ntsukino_(show_by_rock!!),4\nsega_hatsumi,4\nbakemono_no_ko,3\nyou_taira,1\nuratari,1\nsantarou,1\npeter_white,4\nemperor_zuou,1\naoi_miyabi,4\ntakana_shinno_(character),4\nsore_ga_seiyuu!,3\nsaintpaulia_(flower_knight_girl),4\nryuugajou_nanana,4\nnatsume_asako,4\nlilim_(shingeki_no_bahamut),4\nranger_(elsword),4\nkowaremashita,1\nnana_(krt_girls),4\nyome_sagashi_ga_hakadori_sugite_yabai.,3\nmagika_no_kenshi_to_basileus,3\nginga_patrol_jaco,3\nkotone_a,1\ntouming_renjian,1\nsaphir_(sailor_moon),4\nume_neko_(otaku-nyanko),1\naka-san_to_kyuuketsuki,3\ntamaki_(tamaki_pic),1\nmomozono_momo_(high_school_dxd),4\nstarry_night,3\namida_arca,4\nmitsuba_(watergarden),1\ntamidro,1\nhitomilook,1\nnezumoto,1\nsalve_(8947279),1\nsumioo_(sumikko_no_ousama),1\nricardo_milos,4\np_kotarou,1\npochio,1\nrie-co,1\nshichisaburo,1\nsumimoto_ryuu,1\nfrench_maid_nidalee,4\nstolichnaya_(vodka),0\nkohaku_(fuu),4\ncarta_issue,4\nokinu_(okinu_dane),1\ntaiyang_xiao_long,4\nnatsunoyuu,1\nayame_kotoko,4\nxiaojishangtian,1\nmitorizu_02,1\nava_(ava31),1\nprogramming_(topic),0\nmerueki,1\nhachiko_(0088),1\nfemale_knight_(guardian_tales),4\nasakawa-san_(8107ka),1\nhunter_(great_one)_(bloodborne),4\nyigali_xinji,1\nmonster_girl_island,3\nreese_(mk001black),4\nmini_crewmate_(among_us),4\nyuiyui_(konosuba),4\nbeckey9415,1\ntwo_of_clubs,0\nphasmophobia,3\nwilbur_(animal_crossing),4\ndangyu_(danganpa),1\nochite_iku_niizuma,3\ntsubaki_(flower_knight_girl),4\nfuuto_tantei,3\nbouquet_(blue_dragon),4\nuemoto_sumire,4\nbracelet_removed,0\nhousengo,1\ntsuda_kousuke,4\nshi_huang_di_(third_ascension)_(fate),4\nnemu_(ceres_fauna),4\nkakino_nashiko,1\nkimono_girl_(pokemon),4\nintel,3\nlinebarrel,4\nheaven's_melody,1\nidolmaster_shiny_festa,3\npochiharu,1\nkadomaki_shinnosuke,1\nhina_(xoxo),1\nsayo_(kiki_kaikai),4\nnouzui,1\nkiki_(herayoshi),4\nimplied_pornography,0\nkisugae,1\ndaby,1\ngreatwhite1122,1\nniwacho,1\nhiraken,1\ngunspike,3\nmomohara_kana,1\nnlitz,1\nthe_dark_knight_rises,3\ntanoma_suzume,1\nmizukabe,3\npato_(ptro),1\nkataruruni,1\nnamama_(namama82),1\ninose_mai,4\ndance_pad,0\nsplatterhouse,3\nmattyakinako_(odango_imomushi),1\nhonda_civic,0\npygmalion._(group),3\nclaire_victorious,4\ncai_yuan,1\nnikumaru,1\nbookshelf_pov,0\nsado_yasutora,4\nkagome_(pattern),0\nthe_grudge,3\nseraphim_call,3\nilovetani,1\npig_snout,0\ngame_show,0\nhotel_dusk,3\nlemon89h,1\nshirokuroma_29,1\nalice_lendrott,4\noh_jiyu,4\nstandplay,1\ncherry_blossom_cookie,4\nnatsume_mio,4\nnikumocchi,1\nyuu_(warm_water),1\nnunuan,1\nhitopm,1\nshardanic,1\nmiraino_tsubasa,1\ninstance_domination,0\nwjs07,1\ncheona_(last_origin),4\nkijima_hyouka,4\nchiyou_yoyuchi,1\nvanta-black,1\nyonyon_(yotayota_honpo),1\nuzuki_kai,1\nnanmokaken,1\nswordfish_ii,4\ninu_(cookie),4\nsharu_(dog_days),4\nyukishiro_akira,4\nkey_(kagibangou),1\n1994,0\ntaitan,1\ntatebayashi_miharu,4\npuffin,0\nremyfive,1\nc_turtle,1\nphantasmic,1\ngreen_bandeau,0\ntamaki_(doa),4\ntewatasanaiinu,4\nkamikita_keiko,4\nhd-hlh-3h,1\nacaco,1\nbokuno,1\nmatching_earrings,0\nmozan,1\nkutori_pan'ya,1\nmilreaf,4\niwashi_111,1\nrosemary_bergamot,4\nhitohira,3\nfutago_monad,1\nd_(xxl30433461),1\nlena_dai,1\ndenchi_more_power,1\nnoppera-bou,0\nbickle_(bickle1983),1\ngarnet_(the_rumble_fish),4\nycyc,1\norangec,1\nsmersh,0\nslow_motion_(vocaloid),3\ntu_tora2,1\nyuuri_(vpxh7525),1\nbuster_dress,3\nthe_godfather,3\nlaurie_(personal_ami),4\nroki_(shouka65),1\nmenma_(enaic31),1\nanna_sakura,1\nsigurd_(first_ascension)_(fate),4\nmojipittan,3\nwhite-paka,1\neda,1\nicoo,1\ndon_corneo,4\nmorino_(harpoomoss),1\ntachibana_yuu_(shika),1\ninuwaka_nazuna,4\nblinders,0\nilmeria_von_leinweber,4\nmonara,4\ncatiua_powell,4\nthree_of_diamonds,0\nelna,1\nkitsunemiyoru,1\ndatli64,1\nnanao_mugi,1\nonigiri_yumi09,1\nkogyokuapple,1\nchewycandy,1\nkmcgold30,1\nokome2028,1\nigarashi_miyuki,4\ntaracomax,1\nfujiko_sugi,1\nmono_1010,1\ntokimori_aoi,4\nhiyoku_no_crosspiece,3\neroge!,3\ngge_(gebback_dark),1\nasahina_nono,4\nmugen_dai,1\nrumble_(transformers),4\nkeicha_(kmoekaki),1\nbreast_pull,0\nmachi_futo,1\nakane_yumiko,4\nkawai_shizuka,4\ncheemsburger_(doge),4\nrabbitcamilla,1\nyuukyuu_no_campanella,3\nhyou_haku,1\nscarletsky,1\nsin.x,1\nsatou_kivi,1\nbaund_doc,4\nrosamia_badam,4\nhe_c92,1\nrose_(dragoon),4\nkashiwagi_kazuhiro,1\nshredder_(tmnt),4\narthur_(fire_emblem_fates),4\nbi_ting_(xia_lan),4\nj-peg,1\nkeijimohumohu,1\nhirono_hiro,4\narisa_crain_femiluna,4\nyoco_n,1\nwade99,1\ninfini,1\nmayaa,4\nnumadaira,1\nwanmei_shijie,3\nrari_(badominton),1\nriri_yo,1\nkazumi_yoshizu,1\ne-bushi,1\nundone_bikini,0\nflat_chastity_cage,0\nt3x,1\ntsugu0302,1\nzabaniyya_(fashionista_swimsuit)_(housamo),4\nyuuki_hiko,1\nghost_girl,0\ntoro_zai,1\ndi_le_to,1\nnuime_(nuishiron),1\neske,1\ncoat_partially_removed,0\naoi_hane,1\nplanted_axe,0\nebichiri_sunday,1\nlin_xue_ya,4\nyamada_saburou,4\nsonia_(fire_emblem),4\nabisswalker8,1\nchagara,1\nryuryu_mt,1\n8041mm,1\nbysau,1\ntravel,0\nlivegun,0\nmogura2009,1\nbunny_puppet,0\nerimiko,1\nallez0525,1\nkengo_(granblue_fantasy),4\nokudera_momiji,4\nvi_(ena0930),1\nkiya_hajime,1\npocchipocchi,1\ngoro_simpson,4\nmunchie_(dq8),4\nsancking_(fatekl),1\ndell,0\nzentaiteki_ni_sensation,0\nsal,1\nnix_(ak-style),1\nshiratsuyu_(kancolle)_(cosplay),0\nrodent,0\nling_(doraling12),1\nyosuzu,1\nhellk111,1\nkairi_(oro-n),1\nwoshinon,1\nwinx_club,3\nrenkonv,1\nrajaki_(oboro_muramasa),4\nself_milking,0\nsevens_road_witch,4\nnanami_yachiyo_(pajamas_costume),4\naina_156cm,1\ncaiothevici,1\nhen-tie,1\nbilbo_baggins,4\nback_peek,0\nkamen_rider_zero-two,4\ngame_screenshot_background,0\nsuehachi_(hikage),1\nred_garter_straps,0\namego,1\nurami,1\ntamariyazuna,1\npubic_tattoo_through_clothing,0\ngong,0\nmiu_(c_blue),1\ninmu-kun,4\nzao_(housamo),4\nsora_(zwz030),1\nkizuta_(barometz),1\ndigimon_ghost_game,3\nbutterfly_mask,0\nfidough,4\nlan_wangji,4\nshiboritoranaide_onna_shounin-san,3\nisora_hibari,4\nimplied_object_insertion,0\npelleas_(fire_emblem),4\nfred_jones,4\nm4_gun,1\narin_(1010_ssu),1\np08_(girls'_frontline),4\nritsu_(re710pngn),1\nyakov_feltsman,4\ndolphin_penis,0\nblack_wetsuit,0\nliu_mei_fan,4\ndyarikku,1\name_tame,1\nooeyama,1\nzedoraart,1\nnemachi,1\nlost_july,1\nsansui.aoba,1\nfujita_kanbe,1\ntail_mouth,0\nxe-shine_(ishiyumi),4\nmuso-comet,1\ntachibana_surimu,1\nsqloveraven,1\nyour_tie_is_crooked,0\nshinoji_(shin_status),1\nastruma2,1\nnyto_alina_(girls'_frontline),4\npinlin,1\nmm39572,1\npelvic_thrust,0\nkeep_calm_and_carry_on,0\nnepodayo,1\nappas,1\ncarciphona,3\nlog_cabin,0\nhellme,1\nholding_flame,0\nkisaragi_mizuto,1\nsans_(cosplay),0\npenis_face,0\nlocking,0\nw4pz,1\nlangrisser_v,3\ndonald_duck_sailor_hat,0\npointing_spider-man_(meme),0\ntoppo,0\nz46_(girls'_relay)_(azur_lane),4\nmillie_chliette,4\nmp443,0\nakane_(getwild23),1\ntengan_kazuo,4\ndaru,1\nanal_wine,0\ntentacle_and_witches,3\ndivine_bustier_(dq),0\necht,1\nkawaii_hito,1\nferiowind,1\nayomo_ro,1\n0w0,0\nda_akana_xiv,1\nminuo,1\nsailor_saturn_(cosplay),0\nsin.,1\nyukimura_tokine,4\nfreya_(danmachi),4\nnagant_revolver_(astral_bond)_(girls'_frontline),4\nlume_sangria_(chrysa),4\njiege,1\nrota_(078),1\nwa_(wa),1\nhai_yoru,1\nsakuraume,1\nneiless_neiro,1\nayumu_(ayumumkrg),1\nnakazuki_yuuna,1\nmaiden_astraea,4\ntam_(tam0804),1\nharuhito1211,1\nsasahara_nonoka,4\nmos_yen,1\njulius_belkisk_harway,4\nwasami_(a27678193a),1\nonnomono,1\nnero_tol_scaeva,4\ndenim2,1\nkaida_haru,4\nienaga_kano,4\nchoister,1\nmrs._kujo,4\naya-0w0,1\nfletchinder,4\nlucifer_(helltaker)_(cosplay),0\nkbn317,1\nkuroshiro_no_tsubasa,1\nski_boots,0\nfencing_suit,0\nairmisuzu,1\ncrotch_ribbon,0\njin_yi_dui,1\nthe_girls_of_armament,3\nkimberly_(azur_lane),4\nncww_rinichi,1\njacknaiff,1\ntachi_yure,1\nmotsushi,1\nain_houfanghuashui,1\nfujiwara_miyabi_(aikatsu!),4\nyuduki_(tt-yuduki),1\nipod_nano,0\nfurumi_showichi,1\nanna_lindhurst,4\nkazama_touko,4\nplaying_card_print,0\nkey747h,1\nsayonara_wo_oshiete,3\nmugman,4\naru_(arudes),1\nhitoguchi_(hioxhio),1\nmother_lumi_(matilda_fiship),4\nbird_skull,0\nchiharudaaaaaaa,1\naikohgin,1\njeremy_chong,1\nkoke_ojisan,1\nrezoeline,1\nabyssal_chishima_princess,4\ngerichan,1\nnose_(oekaki1825),1\ntokoyami_towa_(cosplay),0\nla13,1\nflying_animal,0\nroki_(vocaloid),3\nporuneko,1\ns35,0\njudy_(animal_crossing),4\ngreen_fox_(sasaame),4\nerin_(granblue_fantasy),4\ninvisible_object,0\nkasuga_shun,1\nmixivsky,1\nzyuden_sentai_kyoryuger,3\nkoshirae,0\ncalculus,0\nucchii,1\nyamato_(083),1\nar_ru_(ar_tonelico),4\nisekai_sakaba_no_sextet,3\nmonkey1468,1\nshimada_arisu_(cosplay),0\nhatamichi_mihiro,1\nblue_reflection_tie,3\nnukui_hayu,4\nkanda_shouichi,4\nreginn_(fire_emblem),4\nkalsept,1\nkyuu_you,1\nbackdrop,0\nlemon_raimu,1\naussummer,1\ntrack_marks,0\nblood_on_shoes,0\nwataya_arata,4\nvgerotica,1\nmamiya_marie,4\ndisguised_zorua,4\nkusunoki_suzu,4\nimaikuy0,1\nhedge_clippers,0\ncoll_(erichankun),1\nnanahosiryuuki,1\nyukineko,1\nmeta-tron,1\nliangchanxingmingrixiang,1\ntsujieiri,1\nura_(ura-tennislove),1\nkizuchi_r,1\nhiruno_ushiro,1\njanne_d'arc,4\nyuzuriha_inori_(cosplay),0\nhair_raising,0\nblackarachnia,4\nbochicemetery,1\nballista_2_(sekaiju),4\nyuyu_(spika),1\nyaburebouki_akuta,1\numemoto_(konna),1\nisland_turtle,0\nliyu_li,1\nseshiro_(which501),1\nwtcolor,1\notokobara,1\ncatwyz,1\nsuzaku_(oekaki_no_sekai),1\nmaazyu,1\nhideyuki_i,1\nblackletter,0\nmotoko_(ambiy),1\ntetsu_(aurvandil),1\nkaleido_ruby_(cosplay),0\naw,1\nmizukiri_fuurai,1\nhonoo_teruki,1\ntoni_(artist),1\nosu5i,1\nlaw_(tales),4\nminato_kageaki,4\ntouzuki_suzuya,4\nmuroi_(fujisan0410),1\nchiiririn,1\ntoukoku_sasaiko,1\nkururunpa,1\nmuroto_aki,4\n1g_no_izumi,1\nbizet,1\nyamasaki_tomoya,1\nnakahara_sumi,4\nnekojita_(ika_neko46),1\nkyousin,1\nx<,0\nbashou_(senran_kagura),4\nmiyashiro,1\njifuwabe,1\njojofon,1\nfx-05_(girls'_frontline),4\nhitotoshite_jiku_ga_bureteiru,0\nrowkiba,1\nanetarou,1\namayadori_uki,1\nq-tarou,4\nliremi,1\nasou_yui,4\nszayelaporro_granz,4\nseparated_wrists,0\ndokudokudoku,1\ngroin_punch,0\nkajo,1\nkanade,1\nkoku_666,1\nkuchinashi_(needless),4\nsuika_(kinokoh),1\ntiamat_(last_origin),4\nceltic,0\ntame,1\nmichi_ta_(masquerade),1\nmikan_(wanko),4\nchiha,1\nhigashiyama_seika,4\nchihiro_(onigiri),1\nris,1\nkouotsu,1\nblitzwing,4\nebi_senbei,1\nnekoyashiki_nekomaru,1\nkanou_sumire,4\nohjin,1\napollo_(persona_2),4\nakimichi,1\nragnarok_online_2:_legend_of_the_second,3\nhikiyama_towa,1\nsailor_galaxia,4\nfetishy,1\nonock,1\ntemptation_h,3\nbans,3\nhiharo,1\nshippo_(skink),1\nletter_pose,0\nkagemaro,1\nimmature_blue,1\nnyctea_snow,1\nkujou_sakurako,4\nsin_(hitonatsu),1\nchibi-moth,4\nliminarity,1\nzerozaki_hitoshiki,4\nshiden_akira,1\nlaura_stuart,4\nkiss_(stand),4\nwith_ribbon,3\ngerda_(fate),4\ntarako,1\nselection_project,3\nyamada_yuuki,1\ntiru,1\npariya,4\nm-chan_(kinbakuman),4\nukitanisu,1\nitsuki_(sengoku_basara),4\nshige_(moe-ren.net),1\nsendou_yuzuka,4\nnomeoil,1\nhinuma_yuuri,4\niefukurou,1\nfang_xue_jun,1\nsalsa_tortilla,4\nshishidou_takane,4\ndondo,1\nseihouin_erika,4\nkaijuu_no._8,3\nfuyutarou,1\nshoot_the_bullet,3\ndefiaz_(infinity),1\nkazeoto_kirito,1\nusami_haru,4\naniki_gunsou,1\ntoutoumi,1\nmaid_imouto_(maoyuu),4\nmomoji_(momojihiha),1\nume_(pickled_plum),1\ntsuruki_noki,1\nootomo_sourin_(sengoku_otome),4\nispin_charles,4\n6kusa,1\nmegumi_yakiniku,1\nkanataria,1\nprincess_party,3\nteketeke_(tekenotteke),1\nsaty-rokuji,1\nan-bl,1\nzelus,1\nbruce_lee,4\nangellyuna,1\naymmogh,1\nkikuyarou,1\npaul_von_oberstein,4\nsatou_(una-vittima),1\nmerican_sack,1\nsunaipu_(age-zero),1\nhiiragi_(hanamaru_youchien),4\nasanagi_no_aquanauts,3\nkinoshita_yuuko,4\ntaruto_(takug0812),1\nk_kymz,1\nlilim_(megami_tensei),4\nsakurameguri_shirou,1\npierre_yoshio,1\njulion_(akesuzu),1\nmonable,1\nyukihiroyuki,1\nrainbow_badge,0\ninuzumi,1\ncrow_(nichijou),4\ncolonial_marine,0\nsan_moto,1\nbowcan,1\nmeganeko_(battle_spirits),4\nstay_puft,4\nutada_hikari,4\nvica,1\nayachin,1\nreisen_udongein_inaba_(bunny),4\nvagabond,3\nponnu_(tnpn2yw),1\nbatai,4\nsaitou_hajime_(rurouni_kenshin),4\nmind_rape,0\nmozzu,1\nnakano_kinzan,1\nplug_cryostat,4\nplumber,0\nmountain_bicycle,0\nanri_anriette,4\nyoshikawa_hazure,1\nspinzaku,0\nhasegawa_suzuho,4\ncrowgirl,4\ngenkai,4\nian_dimas,1\nzant,4\ntomahawk,0\npalru_s2,1\ngreed_packet_unlimited,3\naoi_sena,4\ntsukushite_ageru_no_ni!,3\npriscilla_(claymore),4\nfilho_rossi,4\nmiya_(pure_lemon),1\ndonkey_kong_country_2,3\nvladimir_elliot_kirilenko,4\nshugogetten_shaolin,4\nmr.lostman,1\nmisaki_runo,4\nangelic_serenade,3\nluli,1\nshiroi_noria,1\nbeidan,1\nunoone01,1\nkaena_swaya,4\nlucuha,4\nken_the_eagle,4\ngenocide_cutter,0\nthe_god_of_death,3\nryousan_gataki,1\nmochamillll,1\nshiraki_ai,1\ndanny_phantom,3\nclip_studio_paint,0\ntsuri_baka,3\nchroniko,4\ntaniguchi_(female),4\nkahama_youko,1\nnadeshiko_rin,1\nsatou,1\nikurumi_kaoru,1\nhachi_(hachikai),1\nhina_(one_piece),4\nkoyomi_hare_nanaka,4\nshinjou_kanae,4\nkatagi_ren,1\npenomena,4\nclover_(manga),3\nctn_sasuke,1\nquake,3\ntsuruya-senpai,4\nsirpent,1\nalexei_dinoia,4\nmagical_grim,4\nanejiru,3\nkousaka_ayano,4\nkousaka_yuuji,4\nkadowaki_satoshi,1\nyatsushiro_nanaka,4\nnaitou_shouko,4\ndecoration_disorder_disconnection,3\nsoho_reina,4\nannie_barrs,4\nnarcissu,3\ntakatsu_kokone,4\nmahou_tsukai_ni_taisetsu_na_koto,3\nshimabara_ushio,4\ntakano_akira,4\nescaflowne,4\nhasegawa_akemi,4\nhororo,4\nsarara,4\nmariachi,0\nsatsukitane_mikako,4\nkisaragi_miyuki,1\nnurse_(silent_hill),4\nblue_man,1\nmu_fengchun,1\nyuki_daruma92,1\nchildofa,1\nwazuka_na_shiawase,1\nkaoswald,1\nhimuro_rikka,4\nhaburashi,1\nmcq,1\nmacross_flashback_2012,3\ndaikinbakuju,1\nanko_anko,1\nmichelin,3\nakudato,1\nakanegasaki_sora,4\nsm156,1\notaple,0\nakasaki_koyo,1\naoba_rena,4\nhakobako,1\nchoppy,4\nkuroto_yamaneko,1\nflower_tank_(touhou),0\nrosetta,4\nchoumoku_(toriko_b_c),1\nangelous_lazward,4\ngentle2nd,1\nfutaori_arisa,1\nnatsuki_(natsuyasumi.),4\nsuiyou_taruta,1\nzilvern,4\nshells,0\nminghecanyue,1\nminior_(blue_core),4\nkaryl_(princess_connect!)_(cosplay),0\nmirabilis_(fire_emblem),4\nlentain,1\njames_cabello,1\nmargit_eberbach,4\nfoxy_(fnaf),4\nnicol_ascart,4\nmoyashi_san4,1\nalcremie_(mint_cream),4\nhippopotas_(male),4\nshinjin-chan_(belko),4\nmartha_(aerial_drive)_(fate),4\nyu-gi-oh!_go_rush!!,3\nalan_stuart,4\nkimidorix32,1\nespgaluda,3\nzantetsu_(gesogeso),4\namong_us_eyes_(meme),0\nmoonlight_~omoide_no_hajimari~,3\nwitch_hunter_robin,3\njanghwa_(last_origin),4\nbeat_shooter_(idolmaster),0\nindex_(toaru_majutsu_no_index)_(cosplay),0\nmateus_upd,1\nanson_jun,1\nkakoikaren,1\nbrown_(among_us),4\nfune_(fune93ojj),1\nr-15_(series),3\nmist_(rune_factory),4\nbellona_(epic_seven),4\nnew_moon,0\nsingle_fishnet_legwear,0\nplaid_sweater,0\nmiyama_mizuki_(hoshihoshi1220),1\nradiant_soul_(elsword),4\nwheel_of_fortune_(tarot),0\nobake-chan_(yozora_mel),4\nnozomi_(summer)_(princess_connect!),4\nazuki_(aduki),1\npeta_(snc7),1\nofficial_alternate_hair_color,0\npetsuo_(penpen),1\nqnakamura,1\nlangley_(kancolle),4\nyue_zi,1\nrasa_k,1\nshirosei_mochi,1\nshirona_mikoto,1\nbecky-4545,1\nroom_you_can't_get_out_of_unless_you_x_(meme),0\nangoha,1\nhi_(ibisf5umauma),1\nj.c._staff,3\ndaruizen,4\nteruteru12,1\nkashino_(maid_for_mayhem)_(azur_lane),4\nnorton_campbell,4\nusoco,1\neeeeeiti_aka,1\nestelle_(cieluscian),4\nhowl_(howl_no_ugoku_shiro)_(cosplay),0\nlibeccio_(azur_lane),4\nxeno_a,4\nfather_and_child,0\ndarkside_ochinpo_burst,1\nzi_ye_(hbptcsg2),1\njazz_kawa_sodom,1\nglass_(tate_no_yuusha_no_nariagari),4\nbrilliant_pagoda_or_haze_castle,3\nmochizuki_meiko,4\nkazu-chan,1\ndutch_(black_lagoon),4\nfrances_royce,4\nalso_sprach_zarathustra_(neco),3\nvanna,1\nmojisan_(ebimo),1\nasazuke25,1\ns_k_(shiro_karasu),1\ntamaki_(tamaki599),1\numaguti,1\nrideword_(ragnarok_online),4\nrisa_(pixiv23908854),1\ndyne_gallon,1\ntenjouin_miruku,4\ncometch,1\nstick_bernard,4\nusuzumi_kei,4\nkomeiji_koishi_(cat),4\njack_(kairuhaido),1\nlost_property_control_organization_(samidare),3\nshiraishi_kouhei,1\nurashima_(hidoro_mgmg),1\njishou_f-rank_no_oniisama_ga_game_de_hyouka_sareru_gakuen_no_chouten_ni_kunrin_suru_sou_desu_yo?,3\nmustard_(pokemon),4\nshinonome_ryouko_(juusan_kihei_bouei_ken),4\nmatsuha_shuu,1\nitsumi_(kaptivate),4\nnakonbu,1\naticotta,1\n30th_video_rentals,3\nizuna_kazuki,1\ngigantamax_gengar,4\ngyarakushi_shokudou,1\nariadoa_(kono_yuusha_ga_ore_tueee_kuse_ni_shinchou_sugiru),4\ntorikichi_(tsukikuma_enthalpy),1\ndrill_hand,0\nlamsass,1\nsangobob,1\nsucculent_plant,0\nhuuyu_1z,1\nhachimitsukyuuto,1\nsaber_(fire_emblem),4\nmyuu1995,1\namatsumara_(housamo),4\nfullani,3\nkino_haruc,1\nnameko_face_(osawari_tantei),0\nprestige_edition_(league_of_legends),0\ndoitsuudon,1\nsubverse,3\nsayuumigi,1\nendou_akira,4\nkai_(nyanko_daisensou),4\nit's_super_effective,0\nmacayase,1\nsorai_mahiru_(fukahire),4\nkiwa_(pokemonwars),1\nsin_devil_trigger,0\nnelnal,1\nmikhail_n,1\nzusshii_(libertasgenesis),1\nnachi_(herousa),1\nbuffering,0\nkokoperiiche,1\nmahou_no_tame_no_shoujo_club,3\nlataedelan,1\nikeshiki-chuujou,1\nh&k_xm8,0\nsytokun,1\noffice_worker_(pokemon),4\ndiabolo,0\nhand_on_knees,0\nnew_orleans_(warship_girls_r),4\nashigara_(azur_lane),4\nchoujo_(kakitama),4\ntransformers_super-god_masterforce,3\ndoonatsu.,1\nmidjourney,1\nstreets_of_rage_4,3\nnatsu_no_iro_no_nostalgia,3\nzanyak,1\nnekokawaigari,3\ntomoe_you,4\nmizuno_rin,4\nzhai,1\ninside_out,3\ndengeki_gx,1\nyatogami_kurou,4\nnelo_anjuurou,1\nhenrietta_(log_horizon),4\n507th_joint_fighter_wing,0\nzhang_wei_yi,1\nmoku_(racie45bv),1\nlilith_(shinrabanshou),4\nikuhiro_(19nnnkti16),1\ninamochi_keiichirou,1\ntakahashi_note,1\nheroman_(robot),4\ndarui_hito,1\nki_no_rapika,4\nhazime,1\nkrusier,1\nnatalia_luzu_kimlasca_lanvaldear_(beloved_princess),4\nnukidoki!,3\nhesocha,1\nclockwork_planet,3\nthatob,1\nwawawama,1\ntanuki_(metaltanuki),1\nkadaka_(9m),1\nqueen-zelda,1\nbeast_titan,4\ntoshiyu_(10shi_yu),1\nmiyachu,1\nyuitanpo,1\nexcalibur_(warframe),4\nchomiso,1\nroyal_tea,1\ntang_elen,1\nsolange_blanchefleur_de_luxe,4\nsahara_kazumitsu,1\nsekigan,1\nonigiri_(mmorpg),3\nholding_pants,0\ntobi_(daidaikukan),1\nkinako928,1\nkuromori_(1010845110),1\nsuikaxd(zhanweiheng1992),1\nmame_(yangqi787),1\nmia_(kuja999),1\nzawashu,1\ninuhiko_(istdog),1\nsand_on_skin,0\nzhen_panxie,1\nkirii,1\nbebe1999,1\neflunn_(emilylunn),1\ntakanoori_middle_school_uniform,0\nmrploxykun,1\nmayo_cha,1\nyoga_doujou_(misawajima),1\nkkkhosuke,1\nberserk_ryuuko,4\nplaid_sarong,0\njukuta_tsu,1\nmocollie,1\nkuze_matsuri,1\nunko_samurai,1\nhboxgames,1\nkii_(monster_musume),4\ntatsuki_(debris),4\nd-cao,1\nscotishfold,1\njeong_sana,4\ntaka_(tokyoboogienight),1\nueno_tomo,1\nkurenai907,1\nnishina_kazuki,4\ntauta_(meshia8787),1\nkenny_(poe90),1\ntubuan_oisii,1\nikami_(rockhardridefree),1\nyamagishi_saki,4\nsenpai_(oekakizuki),4\nkurebayashi_yuzuki,4\nnishino_hikoji,1\nbuchou,4\nmako_(macomaco7),1\nhonegai,1\nnull2deoru,1\nkainazuki,1\nkarambit,0\npaya_(paya19891115),1\nnegationtenmaru,1\nimaizumi_kagerou_(cosplay),0\nfumotewi,1\nrita_vrataski,4\nassassin's_creed:_unity,3\nchocola_flex,1\ngore_magala,4\nminami_natsuno,4\nhaiyun,1\nbunny_(d-rex),4\nthe_demonata,3\nfilet_(kai_himo),4\noslight,1\nshuri_(oshiro_project),4\nrinoda_mano,4\nizanami_hifumi,4\nyi_l_chen_5,1\nkuusou_code_plus,3\nneo-tk..,1\nhasutani_taki,1\nyumemiya_subaru,1\nyakota_(usuk-yako),1\nnanachi_(made_in_abyss)_(human),4\nbei_ju_luoxuan_wan,1\nles_chevaucheurs,3\nphenice_walholl,4\nmayu_(yuizaki_kazuya),4\nmelk_(7th_dragon),4\nanimaniacs,3\nokami_(kami_soubi),1\nnatalia_(idolmaster)_(cosplay),0\nberuche_(sailor_moon),4\nhawker_harrier,0\nmimolette_(galaxy_angel),4\ncleo_(suikoden),4\naisha_(saga),4\nshelkopryad,1\nsivamaron,1\nsekisei,1\ncure_southern_cross,4\nmyuuu_ay,1\norbis_terra,3\nharusame_tsubaki,1\nkurono_mika,4\njkisaradu,1\nakatsuki_urara,4\nscale_print,0\ninformation_sheet,0\nizna_(iznatic),1\nasano_sisters_project,3\noira_(kagaribi),1\nsteller's_sea_lion_(kemono_friends),4\nryourou_(edexigerero),1\ntatiana_kirgetova,1\ntsujigaito_satoha,4\nel_fuerte,4\nyu_arin,1\nikebana,0\nasagi_shigure,4\nboku_to_maou,3\nbranding_iron,0\nbianca_(agent_aika),4\nachilles_(fearless_diver)_(fate),4\nomedetou!_(meme),0\nyuki_hishaku,1\nnoiretox,1\ncalifornian_sea_otter_(kemono_friends),4\nmanny_ambassada,4\npogo_stick,0\noosato_haya,1\nhikoboshi_(cosplay),0\nphoenix_(x-men),4\ntakatsu_karino,1\nadachi_masahiro,4\nchirosuke_(nameless),1\nhenoeno,1\naner_(qqan00),1\nrammus,4\nrokuro_(ryvius),1\nkurobis,1\nrobin7188,1\nmiya_kazutomo,1\npvtskwerl,1\nplugging_ears,0\nfull_moon_(full_moon_wo_sagashite),4\nk-sk_style,1\nyaegashi_taichi,4\nmeowth_(cosplay),0\nbat_(hokuto_no_ken),4\nkamen_rider_birth,4\ntamanegi_(genpi),1\nbear_head,0\nteki_(kakari),1\ntoshizaki_shouma,1\nlangjiao,1\nyoshiyanmisoko,1\nvampirella_(character),4\nshared_innertube,0\nneko_kuriya,1\nsatta_naoto,1\nyounger_sister_(elona),4\nfeijitian,1\nmadsensei,1\nmoru_moru_moru,1\nmamiya_(sheena-1125),1\nnuruhachi_(honki),1\nelbow_gauntlets,0\nmikumari_yusa,1\nusalxlusa,1\nnekogurui_minako-san,3\nmorishima_kon,1\ns-ghost,1\nwormhole,0\ntodoroki_kakeru,4\nkissbell,3\ndark_emperors,0\nkokoro6636,1\ndark_flame_master,4\nkudou_asuka,4\ndeathwingxiii,1\nkagu_(a_hazy_moon),1\nmore_deban,0\ntit_horse,1\nsui_(fujiwara_gacho),4\nkill_me_dance,0\ngillis,4\nkaho_(ramb),1\nkubu_kurin,1\npoking_head,0\nnikcesco,1\nrunescape,3\nblacktheif,1\nsayonara_no_asa_ni_yakusoku_no_hana_wo_kazarou,3\nmasiro,1\nrurubell,4\na_kite,3\nmelantha_(letters_from_wessex)_(arknights),4\nblazefire_saber,0\nshigure_wasa,1\nshirt_rolled_up,0\namatake_akewo,1\nguinevere_(fire_emblem),4\nseal_(pukozin),1\notk,1\nr3ydart,1\n0000_(byoubyou),1\nmii-chan,4\nmy_room,0\n714_(leg200kr),1\ntakamaru_(akisora_drawing),1\namashi_(qcmrq906),1\nsiho_(ricchil),1\npickle_pee_pump-a-rum_crow,4\nhoneycomb_print,0\nultramarines,4\nkaki_gohri,1\njamil_(granblue_fantasy),4\nlori_loud,4\n28aarts,1\nmentai_mochi,1\nmizuno_(hal0527),1\nzeku_(furrock),1\nlightning_bolt_necklace,0\nmiyata_sayaka,4\ntied_jumpsuit,0\ngargling,0\naether_foundation_employee_(cosplay),0\nkamakani_(kanikama8192),1\nphantom_(the_legend_of_zelda),4\nshou_jian_yu,1\nyuki_(snowmaiden),1\nkibayashi_kimori,1\nsami_briggs,1\nchiyu_(kumataro0x0),1\ntiger_mask_w,3\nsugimoto_(niboshiumai),1\nnatsu97,1\nxionghan_de_guangtou,1\nkavies,1\ncat_eyes_(alice_girls),4\nlisa_(deel),4\ninstant_(ioarthus),1\nmoose_(moosu193),1\ngatotsu_stance,0\nmomohara_natsuki,4\nyu-bird,4\nmona_(destiny_child),4\n746kuchiku,1\nonibahime_(sennen_sensou_aigis),4\ntriggertop,0\nshikano_(oshiro_project),4\nkaramas,1\nnatsuno_hamuto,1\nspizzy,1\nnavka_(hetza),4\ntyotto_ko_i,1\nshioya_(soooooolt),1\nm-ko_(hoojiro_(found1093)),4\ndamubomu,1\njinmen-gyo_(kemono_friends),4\nhinomaru_zumou,3\nkumano09_(yaecha0),1\ndrift_girls,3\nsone_(takahiro-osone),1\nideon_gauge,0\nomanjuu_mascot,0\nyamagami_miori,4\npiroya_(shabushabu),1\neri_(erikiri),1\nstb-chan,4\nashitano_kirin,1\nyumekawa_yui,4\nsandy_bash,4\nshinachiku_(uno0101),1\nsakurame_kurame,1\nahhien,1\nkaleid,1\nhiiragi_tsumugi,4\nojou-sama_wa_sunao_ni_narenai,3\nsanohiramugi,1\nashtoreth_illacrimo,4\nmizuhara_erika,4\nmapyarong,1\nclarisse_(fire_emblem),4\nyukimai,1\njoy_(cyber_x_heaven),1\ndao_dao,1\nmanda_schank,1\nadeltrud_walter,4\ntufted_puffin_(kemono_friends),4\npale_background,0\nryukadomatsu,1\nyellowfur,1\nkousaka_mayuri,4\ndahe_zhuang_(yishi_fanhua),1\nserakawa,1\nshoulder_support,0\nexeter_(azur_lane),4\nnorthampton_(azur_lane),4\nspence_(azur_lane),4\nmichikusa_(roadksa),1\nshiratoriko,1\njaeger_(rainbow_six_siege),4\nberich_(7th_dragon),4\nlazy_guang_guang,1\nj_na,1\nyellow_mittens,0\noginouchihara_rei,4\ntheironmountain,1\neirudy,4\nnight_gaunt_(monster_girl_encyclopedia),4\nrisubokkuri,3\ncode:_sariel_(elsword),4\nvaal_hazak,4\nmozzi,1\nmomoi_saki,4\n0x3,1\nsakurai_ruka,4\nlabrador_retriever,0\nmad_(artist),1\naqwiz,1\nnaka-san,1\nsitting_on_liquid,0\nsilver_crow,4\nblack_lotus_(accel_world),4\nmunimuni_kinoko,1\nzen_wistalia,4\ndethmath,1\nmutou_tooru,4\nhua_ye,1\nl85a1_(upotte!!),4\nhidaka_kouki,4\nzu-mebio-da,4\nradiosity_(yousei),1\nstucco,0\nnessie_(kska),1\nsai_(abyss05),1\nlittle_xia_(elsword),4\nassi,1\nyomisawa_tsukino,4\ncomputer_chip,0\njey_rain,1\nhitsuji_kumo,1\nhakuba_ouji,4\nilhi,1\nha_ku_ronofu_jin,1\nhidaka_ajiko,1\ngb_hm,1\nadlet_myer,4\nshiruppo,1\nsakai-saka,1\nharu_akira,1\nthe_king_of_fighters_'95,3\nyamaguchi_mika,4\njiageya_(atojian_keikaku),1\notuming,1\nwatereffect.net,0\nanju_(utawarerumono),4\nnakama_yasukata,1\nanadapta,1\nalmiria_bauduin,4\nfimyuan,1\ndemon_slayer_(dungeon_and_fighter),4\nboo_1,1\nkeesuke_(kkosyoku),1\nhiro9779,1\nonuma_kuma,1\njung_myung_lee,1\nca2la,1\nonii-chan_kiss_no_junbi_wa_mada_desu_ka?,3\noctoman,1\nyaibaken,1\nabsurdly_fat_mons,0\napple_poison,4\nkafuu_kaya,1\n5ya,1\nliliana_hart,4\nroxy_rex,1\nlena_liechtenauer,4\nnoa_(shironeko_project),4\nshakuyaku_(flower_knight_girl),4\nkasa_jizou,1\nimouto_(hanekoto),4\nendou_mishiro,4\nunadon_(unadoom),1\nssong-ga,1\nkameseru,1\nlndrmnn,1\nsakura_yunuto,1\nferaltintinsimp,1\nnanaki_(mkmk_915),1\nfern_(sousou_no_frieren),4\nli_zeyan,4\nhephaestion_(fate),4\nbea_(pokemon)_(cosplay),0\nbarb-tan,4\nsaborou,4\nmaho_(fii-tan_the_figure),4\nazuremo,1\nruwo_benzen,1\nhanavvi,1\nroad_closed_to_vehicles_sign,0\nustn_(usatan),1\ntachiinu,1\nmeat_armor,0\nhatsukoi_zombie,3\nnortheastern_ocean_princess_(roshiakouji-chan),4\nddukae,1\nt373412,1\nkijo_momiji,4\nwamawmwm,1\nthree_of_clubs,0\nspica_(spica_1510),1\nforte_(crystalplanet00),4\nshunta,1\nvelceed,1\ncro_(pixiv14643743),1\nstrength_(tarot),0\namaki-aria,1\nsansenokumo,1\nargyle_coat,0\nsazare_(sazare_az),1\ngomi_(hakumaiteacher),1\nvoice-ore,3\nconconcon1031,1\nsanooxo,1\ncermia_(epic_seven),4\nminamoto_no_raikou_(fate)_(cosplay),0\nyamakaze_(kancolle)_(cosplay),0\nsushi_171,1\nnako_ryu,4\nemily_hu,1\ntallinn_(nostalgic_pilsner)_(azur_lane),4\nibuki_meno,4\nyukiusagi_(yukiusa),1\nhachihito,1\nmega_man_x3,3\nerica_blandelli,4\ndoremifa_rondo_(vocaloid),3\nouka_september,4\nthorns_(comodo)_(arknights),4\njukebox_priest_(mechanical_buddy_universe),4\nvoid_specialist_wraith,4\nwii_fit_trainer_(male),4\notoha_(h2o),4\nkyouka_(real)_(princess_connect!),4\nning_(smc),4\nnea_(nongta2002),1\nshino_laila,4\nisekai_ni_tobasaretara_papa_ni_nattandaga,3\nmidori_matsukaze,1\nviveka_(haguruma_c),4\nnashimochi_4,1\nvampire's_sister_(gogalking),4\nai_dongdong,1\njosal,1\nnijigen_project,3\nkabuto_tong,1\ndivine_spirit_(touhou),0\nbake-danuki_(genshin_impact),4\ndaimonji_ryugon,4\nitaba_atsushi,1\nwiping_pussy,0\ndolores_(kof),4\nsanta65,1\nhakujou_academy_uniform,0\ndiarmuid_ua_duibhne_(lancer)_(fate)_(cosplay),0\nklein_(honkai_impact),4\nisokaze_(new_year's_campaign)_(azur_lane),4\nadmiral_graf_spee_(world's_cutest)_(azur_lane),4\nnagato_(great_fox's_white_gown)_(azur_lane),4\nseseri_aoba,1\ncat_(masterwork_apocalypse),4\nblonde_shrine_maiden_from_a_future_era_(touhou),4\nnekoseki_rion,4\nharada_mutei,4\nascot_between_breasts,0\noshiego-chan_(mignon),4\nmidori_makibaoo,4\nmamagogo_(gomaep),1\nmiracle_(miracle1980),1\npeter_(peter6409),1\nfate/grand_order_waltz_in_the_moonlight/lostroom,3\nchemaru_(a8l),1\nhinbackc,1\nharu_kanata,1\nmaboroshi_chouji,1\nhelenium_(flower_knight_girl),4\nfrey_(fisheye_placebo),4\nmui_mui_(snk),4\ncalbee_(potato_chips),3\nhayashi_takeo,1\nkomio_(do@ho),1\nyashiro_(sakananohone),1\npascal_(free_spirit)_(tales),4\nyof_(sc_gazer),1\nmihono_bourbon_(ghosty_and_the_magic_of_halloween)_(umamusume),4\ntamamo_no_mae_(police_fox)_(fate),4\nkarna_(versus)_(fate),4\nokada_izou_(i'm_one_dapping_fella)_(fate),4\ngorgon_(third_ascension)_(fate),4\nhanamomo_(flower_knight_girl),4\nemergence_(shindol),3\nchisiro_unya_(unya_draw),1\nkkochmeli,1\ntomoe_mami_(swimsuit_ver.),4\nakke_(akke299),1\nrosumerii,1\nkoushou_academy_school_uniform,0\nheathcliff_blanchett,4\ngreek_flag,0\nx.x.d.x.c,1\nnightingale_(gundam),4\nkamino_maihu,4\nsonic_the_hedgehog_(idw),3\nhokkamuri,0\ngatakk,1\nlyuritis_(yoru_no_nai_kuni),4\nooi_kai_(kancolle),4\ntoo_many_scars,0\nleopardtiger,1\njabra_(one_piece),4\ntamura-chan,1\nshuffling_cards,0\npingu_(series),3\ncinnamon_sabaku,1\nheart-shaped_hole,0\ndevil's_hand_(ishiyumi),4\nsakura_mikan_(chirizakura),1\nhoujou_(takagi-san),4\nchigusa_nana,4\nhayama_sayako,4\ntowel_bunny,0\nriful,4\nyumesaki_emiko,4\nkise_hiyoko,4\nspinning_teacup,0\nhermana_larmo,4\njustin_paul,1\nshimizu_kaoru,4\nxia_lan_bi_ting_chao_hua,1\nmiyoshi_nao_(miyoshist),1\nkajitsu_no_hito,1\norouu,1\nyang_fang_leiden,4\nhesoten,1\nace_trainer_(pokemon)_(cosplay),0\nkurosaki_yuzu,4\nk-bone,1\nwata9mm_no,1\ntoine,1\nwoodsbench,1\nfalcom,3\nlimone_(gurande),4\nhiyoku,1\nshyi,1\nmadarame_ikkaku,4\ntaiki_shuttle_(bubblegum_memories)_(umamusume),4\nsasoribi-dekine,1\nkoromoya,1\nmaria_(housamo),4\nsentouryoku_5,1\nsoujirou_seta,4\nsakuragi_raia,1\nsora_megumu,1\nrudang,1\ndogdogbhh,1\njeanne_d'arc_alter_(holy_night_supper)_(fate),4\nnana_0253,1\nlulli,4\nholding_digimon,0\npasca_kanonno,4\ntethys_(fire_emblem),4\nshinomiya_satsuki,4\nshuuzen_(shu-zen),1\nheat_man,4\nblade_(nu_carnival),4\ntsuruba_(tsu41014812),1\nhorizon_(counter:side),4\nblaz_b._aros,1\nkingguyver,1\ntsuchida_satsuki,4\nhands_on_another's_thigh,0\nkabayaki,0\ncream_soda,0\norca_(pochincoff),4\nflorida-chan_(ryusei_hashida),4\nqutori,1\nfjsk,1\nmarumaru_no_shuyaku_wa_wareware_da!,3\nnu_(chrono_trigger),4\npokemon:_arceus_and_the_jewel_of_life,3\nschool_bus,0\nbrandish,3\ntorpedo_belt,0\nmiyu10366,1\nmima_tokiko,4\nj_(ppxx3543),1\nsilver_luster_tagore,4\nkicking_at_viewer,0\nzephryion,1\narimon_(dfrgty12),1\nakizuki_kanna,4\ntouyama_maki,1\nakikaze_cp,1\nnoro_assumed,1\nhidaka_aoi,4\nron_(lovechro),1\nsitonai_(third_ascension)_(fate),4\nmanip,1\nhanachirasu,3\nbactrian_camel_(kemono_friends),4\nenemy_ootachi,4\nnona_(yeun),4\nyong_jie_wujian,3\ntrieste_(rooftop_lunch_break)_(azur_lane),4\namano_miyabi,1\ncryptid_crab,1\nuzaki_hana_(cosplay),0\nreizei_hisako,4\ngigachad_(meme),0\nfkskii65,1\nj-unit_(lilykiss),1\nstarmine_(manga),3\ngijxgij,1\nlololo_(kirby),4\ngidget,4\nyusuke_(shiota),1\nhifumi_(art_sky_littel),1\ncustard,0\nqueen_(snow_white),4\njigoku_no_misawa_(style),0\noichi_(pokemon),4\nnina_(words_worth),4\nmezashi_gohan,1\nkami_mitsugu_(kamiken),1\nkitayama,1\ngbmah,1\nitou_mikan,1\ndefenestration,0\ndisposable_camera,0\nkatou_juri,4\ndrawing_kanon,1\npoono,1\ncounting_sheep,0\nhaiyahaiyohai,1\nphantom_(focus)_(arknights),4\ntakahashi_kazuki,1\nnettsuu,1\nlynx_tail,0\ntriangle_heart_3_lyrical_toy_box,3\nakahito_(genshin_impact),4\ndossei,1\npocahontas,3\nhaaam,1\nenki_(juuni_kokuki),4\ngoyouga-deann,1\nharii_(janib5kc),1\ntamaizumi_hiyoko,4\namidasketchbook,1\nrei_(456789io),1\ntrinity_universe,3\npandora_(saint_seiya),4\nprincess_kakyuu,4\ndeno_(denomina0),1\nbrain_drain_(skullgirls),4\nheroic_age,3\naddam_origo,4\nkanaa_(apple_tea_z),1\ntabgraphics,3\nkimi_to_issho_ni,3\narantheus,1\nmini_piano,0\nseta_soujirou,4\nlancelot_(smalock),1\nyurina,1\nyamika,1\nkuchibiru_(lipblue),1\npokemon_pocket_monsters,3\nrainbow_mika_(cosplay),0\nkuroda_kanna,4\nhaiero,1\nsamurai_(kasizuki),1\ntsukino_omame,1\nami7,1\nanubis_(z.o.e.),4\nkonishi_saki,4\nfujiwara_naeka,4\nmounted_dildo,0\neye_twitch,0\nnatsu_mikan_(level9),1\nnattsu_(nattu888_8),1\nwakamiya_shinobu,4\nsazanka_bianca,4\natsukan,1\nkuramochi_youichi,4\nhoumuari,1\nshiina_risa,4\nkukyo,1\nakashi_(akashimichi),1\nt@kuyoa,1\nkawai_fuguri,1\ncharge_blade,0\nred_(angry_birds),4\njohn_hamish_watson,4\nhokuna_rin,1\ntsuioku_(908026270),1\npetsematary,1\nbowed_wings,0\nnasuka@hiyokko,1\nore_deshita,1\nkamoroosaazu,1\nnashigami_tsubute,1\ntakasimareki,1\nmasaki_nonoka,4\nibuki_(clover_club),1\nyuki_(yuki3243),1\nmasa_ashe,1\nhirokawa_tomo,1\nyamamoto_youko,4\nii-chan,4\ngz_(gzxd),1\nimai_hiyoko,1\nseeing_stars,0\nkuragesaki,1\nwataru_kuri,1\nrindou_ruri,4\nlittle_match_girl_(sinoalice),4\nkai_(ootamuno12),1\ntom_marvolo_riddle,4\nrom_(show_by_rock!!),4\nvintage_dress_(module),0\nkuroda_matsurika,1\nhuddle,0\nhirayama_yukio,4\neutopia_(love_live!),0\nkawamura_yuzuriha,4\ngyakuten_sekai_no_denchi_shoujo,3\nomega_quintet,3\nrum_(falkyrie_no_monshou),4\njayamon,1\ntourbox,0\narisku,1\nleftame,1\nyousisi,1\nrockrock_(arknights),4\nmeinoss,1\nholding_shorts,0\naa-2153,4\nduke_nukem_(series),3\nnihility,1\nshinji_in_a_chair_(meme),0\ninsecticide,0\namor,0\nfail_(djmax),4\nbarley_juice,1\ninkan,0\nlifestream,0\nmeishou_(cantabile1222),1\nzenon_zogratis,4\nsuperdiviatomic,1\nnintendo_ds_lite,0\nibuki_douji_(swimsuit_berserker)_(second_ascension)_(fate),4\nblackberry_hair_ornament,0\nhiyashinssu,1\njiuyesang,1\nwinning_gundam,4\nimpero_(azur_lane),4\nimamura_ryou,1\nvitotraps,1\nyiga_clan,0\nkomeo,1\ncure_marine_(super_silhouette),4\nnotziegler,1\nsanroku_3,1\nfemboy_hooters_(meme),0\nhabanero-neesan,4\nshinka_(yonkun121),1\nfumi_(fumibeing),1\nlove_plus_plus,3\ntiler_(tiler00),1\nallenerie,1\ncelestial_(suzumiya_haruhi),4\nouma_zi-o,4\nmxr,1\nmakiyuki,1\neron,1\nichimonji_akane,4\nshiira_kan,1\npolygon_project,3\nmasi_masio,1\nshihaku_rare,1\ncas_cassis,1\nyellowking_hiro,1\nboingoo,1\ntwo-tone_cloak,0\nkome-kome_(precure),4\nhasegawa_haruka,4\noka_asaha,1\nup_(mmmmmmmmss),1\nmii_swordfighter,4\nwave505,1\nsurvey_corps,0\noeyama,1\namakura_kei,4\nblade_runner_2049,3\nsensei!_tsugi_wa_battle_no_jikan_desu.,3\nmojo_jojo,4\nfujii_shingo,1\ncecily_fairchild,4\nludwig_the_accursed,4\nakahaneko,1\nsayococco,1\njuliana_(megami_paradise),4\noshimaidebu,1\nlabyrista,4\nmazarimon,1\nhigh_heel_sneakers,0\nwatabonten,1\nokita_mitsuba,4\ndrapri_guu-ta-life_2,3\npleasedbyviolet_(voice_actor),1\nkemukemuke,1\nmichishio_nagasumi,4\ncocytus_(overlord),4\nnaka_(nicovideo14185763),1\nseele,4\neno_(joqeve),1\nkinoshita_rumi,4\nfrag,4\ncarbonara_hontyotyo,1\nkarol_capel_(girly),4\nryuuga_(cookie),4\nrokoido12,1\nmutsushika_misumi,4\nclear_cross,1\noboro_(ragnarok_online),4\nyuikannon,1\nnanase_(ribonshitoron),1\nnero_augustus,1\ndaichi_(hayate1328),1\nyoruniyoruyoshi,1\nedward-el,1\nfukiya_(fumiakitoyama),1\nkuraken,1\nvaleera_sanguinar,4\ni-pin,4\nkeiou_yuugekitai,3\nkirani,1\nleesuyeon,1\nryu_(gaquarium),1\nlycoris_challenge_(meme),0\ngeshi,1\nnatsumi_schwarz,4\ntriple_bun,0\nhat_girl_(umamusume),4\nkimono_tug,0\nguizhong_(genshin_impact),4\nthe_milkmaid,3\ndokuta,1\nut_pictura_poesis,1\ngungrave,3\nlimelam06,1\nyuusha_raideen,3\nkinako_(karasu_nomaru),1\nshoujo_hatsudouki,3\nfrightening_(zoza),4\nmishima_psycho,1\nrain_mikamura_(cosplay),0\nxian_miao,1\nnatts_(yes!_precure_5),4\nfisher903,1\nuranfu,1\nstoll_(tmxhf),1\nappleale19,1\nwang_cuilan,4\nwander_last_(vocaloid),3\nmochigana,1\nkrekkball,4\npiyomi,1\nslow_damage,3\ngerman_flag_print,0\namyu_(amm_asl_pa),1\nhoshikage_wataru,1\nnanatsuki_nana,4\nnkgw,1\nmaddestmao,1\nhoney_select,3\nbrick_(atelier_brick),1\nproto_messiah,1\nfintowing,1\ntakasaki_misaki_(yuru_yuri),4\nhajimari_wa_kimi_no_sora,0\nsigyn_erster,4\nultraman_belial,4\nhayashi_(kanzume),1\ncoiled_cord,0\nbitaro,1\nxingye,4\nyorishiem,1\nfuta_yami,1\ndia_(hong),4\nsister_quest,3\nkomugi_(wataame27),4\nthird_kureko,1\ne_(h798602056),1\nprotoman.exe,4\nhas_lossy_revision,5\nhomco,1\nyui_(yomawari),4\nsuzushika_(13_96),1\nhatsanxp,1\ndslr,0\nhiiraki_asuka,4\njing_king_of_bandits,3\nasashio_(the_transfer_student_underneath_the_dancing_petals)_(azur_lane),4\nkatou_mayumi,4\nutai_meika,4\nyandama,1\n5alive,1\nweathergirl,0\natychi,1\npadko,4\nreina_(phantom_rose),4\ntoy_bits,1\nshiyoo,1\ncommander_shepard_(male),4\nya_chuifeng_lai,1\nskyde_kei,1\ndoraemon_(character)_(cosplay),0\nshimao_kazu,1\nb6,1\nred_plate_(kyuu45),1\ntsukito_yayoi,1\nnaito_mare,4\nyellow_scales,0\nichizon,1\nabukuma_(azur_lane),4\narmored_animal,0\nmeda,1\nkurosaki_isshin,4\nwarts,0\nmagical_nuko-lenlen_(vocaloid),3\noboro_kai_(kancolle),4\nwarabe_(waraghi),1\nkiyu_(zuyu),1\namano_kenpi,1\ndog_nose,0\nreneph,1\nandre_grandier,4\nkiryuu_sento,4\nbiloxi_(azur_lane),4\nbanshee_(last_origin),4\nspade_echo,4\nrn_(radon'ya),1\nnuu_(liebe_sk),1\nkyrie_canaan,4\nxiao_xiao_chuan,1\nsquarevr,1\nakikaze_rui,4\nkumeki_(kk4615),1\nana_(warioware),4\ndif_(difman),4\nbaby_mario,4\nfinn_(star_wars),4\nkumataka,1\noyakorodesu,1\nchikuwa_(rinka),1\nreido1177,1\nkomamura_sajin,4\nmr_bowater,1\nthe_last_of_us_2,3\npanos_(ssgpanos),1\nyuetsu,1\noosaka_naru,4\nyonezawa_masaru,1\nharry_ord,4\ngospel_(mazohaha),4\nserver,0\nscp-073,4\nkaho_(amal135),1\nkofucchi,1\ncarrying_pole,0\nthe_beast_(vocaloid),3\nexren,1\nyinyong_yu,1\nyinghuahua,1\nmitora5,1\naranasi,1\nnanatsu_fuji,1\njinsai_sa_sa,1\nuzuratani_(uzu),1\nproject_winter,3\nducktales,3\nexabyte_(parallax05),1\ngold_skin,0\nhan_juri_(cosplay),0\nmusumi_renga,1\nalexandria_(xenoblade),4\njackal_(warship_girls_r),4\nlip_ring,0\nscrew_hair_ornament,0\nmaoyao-ll,1\nkubo_yurika,4\nghost_(among_us),4\nyu_skl,1\nhomutatu,1\nburgerpants,4\nblue_drop,3\nsweetheart_sona,4\nbigdog,4\nwhitelily_bread,1\nmahado,4\nkimidori_(dera_kimidori),1\nsimon_eckert,1\nsumeshiruko,1\nunfezant_(female),4\nlovebird,0\ngreen_rope,0\nningu,1\nnuruo_(pixiv39067734),1\ngyuu_mao,4\nparental_advisory,0\nsword_hilt,0\nmelmetal,4\nwinter_(winter168883),1\npoison_mushroom,0\nsatonaka_chie_(cosplay),0\nfor_all_time,3\ntakuro_(taku3949),1\nfeather-trimmed_gloves,0\nwowaka,4\ngun_devil_(chainsaw_man),4\nfumiya-taketatsu,1\n7nite,1\nshu-ten,1\ndirty_legwear,0\nshiawase_graffiti,0\nkugatunohito,1\na-1_pictures,3\nsaburou_hiji,1\npuchi-pochi,1\ngomesu_(gomes0343),1\ntiyi_(tiyi_a09),1\nkanabuso,1\nkyuukyoku_choujin_r,3\ngetter-2,4\nshizuku_(artist),1\nnikaidou_kouhei,4\ninui/byte,1\nfujimoto_you,1\nnote55885,1\nkirakira_monstars,3\nglowing_staff,0\nsagace,1\nnanohana_jiyuu,4\norinte,1\napple_(luffy123),1\nnonono_futaba,4\nhicham_habchi,1\nmegumegu,4\nyam_(yam6056),1\nyuzuki_yukari_(rei),4\ndimension_(module),0\nhibun_tsukasa,1\nmatchadzuke,1\nsince,1\nshiina_kagari,4\nfish_and_chips,0\nmitsuki_kaede,4\nyurooe,1\nkoyama_(gantz0409jp),1\n10011018,1\nmoyashi_(m-planter),1\ngyan_(akenosuisei),1\ngoshi-san,1\nitou_aya,4\nomo_(h98013114),1\njiseki_rena,1\nflab,0\nskulllee,1\ncyaron_(love_live!),0\nforce_(fossan_01),1\nnyanpe,1\nshi_wuxia,4\nkondou_mikoto,4\nsawashiro_kei,1\nturupiko,1\nak1222dece,1\nwasabi_karasi,1\nsetsugeka_tumugi,1\nshirai_kuroko_(cosplay),0\nhand_in_buruma,0\nreka,1\nmishima_ssuru,1\nhuanghyy,1\nkoma_kiri_aoko,1\nniino,1\nnaka_noboru,1\nyunvshen,1\nmetalinu,1\nmatsyumaro,1\nsk_(buta),1\nshinagawa_hiroki,1\nkinomiya_yukari,4\nwayukako,1\npilaf,4\nokuma_yuugo,1\nida_rintarou,1\nazito7,1\narishiki,1\nnananichi,1\nbitte,1\nkazumu,1\ntoriniku_(suikyou),1\ngoruti,1\nkayuu,4\ngaw_ha_leecee,4\nshimoku,1\nayin_(project_moon),4\nshangorilla,1\naoha_yuuki,1\netmc1992,1\nbrace,0\nsuzuka_g,1\nneko_(natsuiroclassic),1\ndarusu,1\nkoge-owl,1\nnikyu,1\ntotoro_on,1\nmikami_shiori,4\nminarei,1\nmew_(words_worth),4\ninomata_mamoru,1\nspider_itou,4\nrefuto,1\ntsuburaya_mitsuhiko,4\nthe_thing_not_quite_sure_what_it_is,4\nhina-uta,1\nnillith,1\nneru_fia,1\nyoku_wakaru_gendai_mahou,3\nbroom_ribbon,0\nnekodason,1\nminato_usagi,1\ne~ji,1\nkatsutake,1\number00,1\nhidamarinet,1\ninjuu_gakuen_la_blue_girl,3\npoker-face-008,1\nakabane_iori,4\nyxxrem,1\nyukirei,1\noginome_momoka,4\nmurakumo_takeru,1\nharada_midori,1\nkougasha,1\nseven_(fft-0),4\ntachikawa,1\nurushihara_satoshi_(style),0\nparesthesia,0\nptrs-41,0\nmonako_(sora527),1\nmaboroshineko,1\neri_(artist),1\namane_shinobu,1\nhanazawa,1\nmomo_(shinigami_no_ballad),4\nchanchan,1\nkurumayama,1\nminatsume,1\nnurie,1\nwait,1\nijuuin_mei,4\npaprika_(artist),1\nhimekawa_donki,1\npotionu,1\nhimemura_saki,1\npaku_romi,4\nrionoil,1\nmarginal_skip,3\nyoshino_(minami-ke),4\nyukibina,1\nmuryo,1\nkazuukarazu,1\nterrorist,0\nhieda_no_akyuu_(cosplay),0\nlast_shooting,0\nudberg_eldol,4\ncitan_uzuki,4\nnouzu,1\ndon_patch,4\nsumadera_kasumi,4\nzambot_3,4\nmilkriot,1\nunier,1\ntororoto,1\nkirihara_mana,4\nkayama_tamami,4\nsaiyki,1\naoi_ren,4\ncube_(jsr),4\nmochizuki_mari,4\nu-jin,1\ncoco_(eogks),4\npjman,1\nseiken_no_faeries,3\nimasan,1\nnighttsound,1\nmaou_mikage,1\nnightmarejan,1\nrenais_cardiff_shishiou,4\njak,1\nzakk,1\nashihara_chihiro,4\nkurihara_mari,4\nsoftball,0\nguinble,4\nteitei,1\nkonako,1\nalexander_lloyds,4\nashei,4\nbear_yutaka,4\ncaius_qualls,4\nsapporo_momoko,1\nfrancesca_(pokemon),4\nkitagawa_jun,4\nmatano_maya,1\nasamori_mizuki,1\nrui_wa_tomo_wo_yobu,3\ngakuen_tengoku,3\nmidas_money,0\nhiviki_n'alchemy,1\nnonsugar,1\nsheba_(golden_sun),4\nkame_house,0\ndengeki_daioh,3\nneko-kun,4\ntougyuu_yukio,1\nvinashyra,1\ncho_aniki,3\numenokouji_aoi,4\nmaicching_machiko-sensei,3\nkakouton,4\nhiyori7,1\nkidchan,1\nchi's_sweet_home,3\nellen_(folkssoul),4\nriolabo,1\ntennouji_yuugo,4\nbionic_commando,3\ngununu_(pixiv),1\nhigh_elf,4\nmugen_silhouette,4\nshuaigegentou,1\nmkz,1\nchicobo,4\nsugawa_maiko,4\nnonette_enneagram,4\nokura_shito,1\naomaxuanzexuexi,1\ntransparent_headwear,0\nsuzuya_(maru),1\nurajirogashi,1\nbryan_fury,4\neboshi,4\nkokumaren,1\nkamishakujii_renko,4\nmee_don,1\ntoxic_(toxicv),1\nyou_guo_chaocai,1\nshiomi_madoka,4\nsakuragi_megu,4\nsoliera_(pokemon),4\nlumakini,0\nracing_miku_(2020),4\noguri_cap_(miraculous_white_star)_(umamusume),4\nsuper_masara_ahegao,0\ntoto_(twooz),4\nflappy,4\nkanakubo_homare,4\nshatou_(c-com),1\nbirman_h,1\nasagi-so,1\noda_masaru,1\name_(candycircle),1\nmikage_mika,4\nsleeper_hold,0\nsr-25,0\ntendou_rushuna,4\nrayhwang,1\nkurage_(kurakurapix),1\nsengoku_nadeko_(cosplay),0\ncelestial_s,1\nkamishakujii_(poppenheim),1\nabemorioka,1\nchantez_arpinion,4\nl-gaim_mk_ii,4\nchouginga_gurren-lagann,4\nrizelmine,3\ndiaper_changing,0\nmomono_megumi,4\nyou_(yoyou),1\nchronica,4\nanzelotte,4\nakagi_ritsuko_(cosplay),0\nkaren_erra,4\nmood_swing,0\nclover_point,3\ntakuto_kira,4\nyumeori_amu,1\nsooya,1\nhouin_kyouko,4\nkomori_atsushi,1\ncalvin_&_hobbes,3\nsia_namsbinpeni,1\naspis,0\nflying_tree_frog,1\ntsutsumi_akari,1\nthroat,0\nerementa,1\nyuzouni,1\nsutein,1\nyuzu_ichika,1\nafrica,0\naralez,1\nhiro_kazuki,1\nwonder_festival_mascots,3\nchiba_nagisa,4\nalea,3\nunagidog,1\njanus_cascade,4\nfujiwara,1\nfeel,4\nnonaka_ai,4\nkoibito_doushi_de_suru_koto_zenbu,3\nabudala,1\nnumeri,1\nnanahikari_rami,4\ncaw=zoo,1\ntomonao,1\nrailway_gun,0\nakitsuki_ria,1\ncolomar,1\nrainforest,0\nharukawa_tomomi,4\nkitsune_onee-san_(shuugetsu_karasu),4\nmenou_kururu,1\nreki_(tiny_fin),1\nyamamoto_yamato,1\nclavat,4\nmikazukisou,1\nsteelwire,1\nwhyt,4\ngundam_mk_v,4\nnpon515,1\nfukuen_misato,4\nfoxy_(kof),4\namidamaru,4\ntaku-tama,1\nyagoro_kusuriya,1\nesencey,1\ntwirling_gun,0\nagnes_digital_(lovely_jiangshi)_(umamusume),4\nant-man,4\nkoahri,1\ntransparent_weapon,0\nnai_diffusion,1\ntodo-akira,1\nsky_background,0\nsquare_live,3\nchuuko_anpu,1\nmochizuki_erena,4\nshimamura_uzuki_(cosplay),0\ncheckered_footwear,0\nfluffydus,1\nsakaya313,1\nshenqi_xiao_hong_zai_nali,1\nsakana~_(meme),0\nakira_(sayo_dayoo),1\nprinz_eugen_(kindred_evening_spirits)_(azur_lane),4\ntendenbarabara,1\nkatheryne_(genshin_impact),4\nclose_game/offline_(project_sekai),0\nkagemaru_(kagemaru321),1\nyoujo_modoki,1\nrunamochi,1\nwararu_(user_uecx7457),1\nninon_(princess_connect!),4\ntokitou_akari,4\ndracula_(cosplay),0\nyu@genkoochu_(5tsukino),1\nnemesis_no_juukou_(vocaloid),3\nthundurus_(therian),4\nbyeoljagga,1\nchuhaibane,1\nouroboros_(lord_of_the_mysteries),4\nholding_halo,0\nhamu_767,1\nl.j.,1\nunko_yoshida,1\nbill_(left_4_dead),4\nmonowire,0\npororikin,1\njupachi18,1\npalm_tree_print,0\ndeerling_(summer),4\ntakayashiro_sayuki,4\nroland_(library_of_ruina),4\naki_a0623,1\nkano_(hanayori_jyoshiryou),4\nellen_baker_(cosplay),0\nterada_tera_(style),0\nnarugami_yuzuriha,4\ndragon_gal,3\nparsee_day,0\nhaerge,1\nnui_(shepherd0821),4\naomi_isara,4\nnarcian_(fire_emblem),4\njianshu,1\naruhi_ohimesama_ni_natteshimatta_ken_ni_tsuite,3\nmukago_(kimetsu_no_yaiba),4\necou,1\nparakeet_girl_(yukimoto_shuuji_(gurigura)),4\nlittorio_(the_glory_of_naples)_(azur_lane),4\nearth_defence_force_5,3\naoirnn,1\nmayu-mayu1026,1\nimari_maria,4\ndiyap,1\nkunimoto_ori,1\nbyleth_(fire_emblem)_(female)_(cosplay),0\nsally_(pacch0614),1\nbori_(3910234),1\ngordin_(fire_emblem),4\nsurtr_(fire_emblem),4\nhikagen_yoshio,1\nmark_(fire_emblem:_the_blazing_blade),4\nmele_retanagua,4\nace_akira,1\nmosomoso,1\namanomiya_jun,4\nmumei_(pokolv),1\nchinchin_kemokemo,3\ntamayo_(kimetsu_no_yaiba),4\ndino_(shepherd0821),4\nhizen_tadahiro,4\nmurasaki_tsutsuji,1\nafter_the_rain,0\nsheery_sbox,1\nezuki_luna,4\nrosele,1\nchikattochikachika_(kaguya-sama_wa_kokurasetai),0\ndesert_pattern,0\nyuyuyu_(pixiv19949705),1\ncoria,1\nkanade_kotonoha,4\nayabe_lilyna,4\nkide_koushin,1\nwilliam_d_porter_(warship_girls_r),4\nvellu_(geenymous),4\nganzu,1\nkagami_ryouko,4\nnido_(sebamaster),1\nkitanaga,4\nikeda_ruriko,1\nwhite_loincloth,0\npipoo,1\nnumahata_tofu.,1\nmari_(twrlare),4\ngyusukiudon,1\nrelly,1\nnatsuya_(pucelle),1\nsyn,1\nsylux,1\nkonoike_(pepe_expect),1\n3735geriragouki,1\nukino_youko,4\nsyertse,1\nkurohachiboku,1\nsingle_inverted_nipple,0\nnejitsu_(nukomasu),4\nbari_dal,1\nerze_(king's_raid),4\nhead_swap,0\ninverto,1\ntype_56_assault_rifle,0\nsano_jinya,1\nh.pn,1\nyukimori_nene,1\nwaveracer_d.va,4\ndanfango,1\nhitotose_hirune,1\nultraman_r/b,3\nrayearth_(character),4\nnortha_(fresh_precure!),4\nbunbee_(yes!_precure_5),4\nkuroda_kanbee_(sengoku_bushouki_muramasa),4\ndollinger,1\nmimiru_(.hack//),4\nxenon_(simlacurm),1\nmoge-ko,4\nwallwalking,0\nmasa_(neku),1\nchloe_ardenne,4\nwitoi_(roa),1\namou_june,4\nyaguchi_haruo,4\nnalse,1\nbeamed_thirty-second_notes,0\nheart_trace,0\nruthtria_(bloodline),4\nderoichi,1\nkakera_(comona_base),1\nlayla_(suptomat),1\nmotsuni_(lxxe1120),1\ndeck_(architecture),0\nyazuwo,1\nnintoku,1\nsakurame_kirie,4\nowju_(ouju),1\nnoaki,1\nhonnouji_gakuen,0\nteka,1\nhanon_(nonty),1\ngou_(tomero),1\nvocky,1\nminami_kotori_(cosplay),0\nhaiki_(hakkyoii06),1\npuremage,1\npatchouligo,1\nspecial_tan,1\ntsuzaki_tsunomi,1\ngettewi,1\nkai_toshiki,4\ngannen_harst,4\nbunyip_(monster_girl_encyclopedia),4\nanya_pandaria,4\npirihiba,1\nabyssal_sun_princess,4\npatricia_caulfield,4\nkaren_uji,1\nknife_in_hair,0\nararecoa,1\njmori44,1\nzek_(zecola),1\nnonomori_(anst_nono),1\niida_nana,4\nbig_mac,0\nmr123goku123,1\nsatsuki_(konohana_kitan),4\ncerevisiae-tan,4\nshori_bun,1\nroti,1\nshinobi_(ps2),3\nkinoshita_(air_hike),1\naoshima_kanae,1\nasatsuyu_sayoko,4\na-tsuki,1\nred_(transistor),4\nmanreeree,1\ntraptrix_myrmeleo,4\nnoh_seong-min,1\nsanzenkai_no_avatar,3\nteiputi,1\nsugar_(one_piece),4\ntoumi_(sr),1\ntenjouin_katsura,4\nmega_scizor,4\nazm_(mochanepore),1\nyomemi,4\nsherry_polnareff,4\ncrusty_(log_horizon),4\nimjayu,1\nendou_tatsuya,1\ntantanmen,1\nbudd_root,1\nponzu_yuki,1\nwheat_print,0\nmega_blastoise,4\nkubonouchi_eisaku,1\narchangel_(p&d),4\nkiss_ato_kiss_will_change_my_relation_with_you,3\nteam_flare_grunt,4\nshunori,1\nswepot,1\nuni_(unexistarts),4\nfaithom,1\nwooser_no_sono_higurashi,3\nten'yoku,1\nandou_natsuki,4\nrotoscoping,5\nruiko_(sad),1\nototarou,1\nshizune_(homare),4\nguang_yiren,1\nsofa_(enogunomu),1\nreborns,1\nalexa_(pokemon),4\nshimashima-ace,1\nsou_mei,1\nkickstarter,0\nryouki_(senran_kagura),4\nmimi_balguerie,4\narca_(summon_night),4\nceleste_(animal_crossing),4\nkamishiro_ryouga,4\nmusashi_(horizon),4\nuniphon,1\nred_seiryu,1\n78_(tky8),1\nhuman_(totomono),4\nmouse_print,0\nbookcage,1\nkarakura,1\nkingfisher,0\nkagami_kyousuke,4\nbaltan_seijin,4\nkamina1978,1\nbaby_steps,3\npinako_rockbell,4\nsatoji_(ochanomkmskry),1\nmy_melody_(cosplay),0\nhiiro_(coinxtossxdive),1\nkyuusenbinore_(gavion),1\nnatano_hisanori,1\ndry_bones,4\nyuniko_moontail,4\ngalio,4\nraccoon_costume,0\nhiep_studio,1\npiz,4\nantiquewhite,1\nhenry_(dq5),4\nmasquerade,0\nluai,1\nmiya_clochette,4\nunagi_(popotan),4\npetit_dragon,4\nkoto,1\nspookie,1\nplayer_avatar_prototype_(woman)_(kemono_friends),4\ndansei_virtual_youtuber_bacharu,3\nangerykacchan,1\nmimikkoui,3\ntapping_shoulder,0\nminamoto_momo,4\npanda_(azarashi_suki),1\ntanikaze_(azur_lane),4\nigarashi_sayaka,4\nkozimaki,1\nsurutsu,1\nhinata_mirun,1\nnekogami_yaoyorozu,3\nellis_(agarest_senki),4\nmochimon,4\nakai_katana,3\nrara419,1\nechidna_(fire_emblem),4\ntiger_lily,0\ntama_go,1\nshinonono_tabane,4\ncosmo_(bousoup),1\nnanatsuki_sousuke,1\nnagano_(5ronta),1\nmomoko_(kaeru314),4\nyezhi_na,1\nbambietta_basterbine,4\nmozukuzukuzuku,1\nuranoyoru,1\nlass_(pokemon)_(cosplay),0\njunk_doppel,1\nyatorishino_xam,4\nborubomu,1\nmax_anarchy,3\nu_(mypace),1\nkaoru_(rena12345),1\nmatsuda_jinpei,4\npropeller_hat,0\nkazami_shirou_(kaizou-zumi),1\nchou_chou_egotistical,4\nmillennium_necklace,0\ntoya_kento,1\ndwarf_(dq10),4\nacoco,1\nazumada,1\nuz3d,1\nharuno14,1\nrich_h1ll,1\nsanta_(kaisou_hikuutei),1\nwitch's_garden,3\nkugayama_konoka,4\nshoudou_kotoha,4\n009_re:cyborg,3\noumi_hi,1\nizumi_kanaaki,4\nmf_bunko,3\ndripping_eye,0\nemi-tan,1\nschool_wear_(idolmaster),0\napplechoc,1\nyeti_(monster_girl_encyclopedia),4\ntakenaka_hanbee_(sengoku_basara),4\nshiraishi_takashi,1\ntialoft_e_tromea,4\nkakuume,1\ncaules_forvedge_yggdmillennia,4\nrynn_(seibu),1\nnaga_(fire_emblem),4\nazai_nagamasa_(sengoku_basara),4\nyayoi_b_lutwidge,4\nvividyellow,4\nmoyashi_(karamisouma),1\nchenbo,1\nreducto,1\nsakamaki_izayoi,4\nannie_berton,4\nmio_(needless),4\nnodocchi,4\ntongue_twister,0\nparalysis,0\nran_(elsword),4\nshimashima_salmon,1\nshigatsu_itsuka,1\nichigo_seika,1\nasaigai_suzushi,1\nhasumi_keito,4\nkraken_(splatoon),0\n.96_gal_(splatoon),0\nriako,1\nvogue_(magazine),3\ndarou74,1\nkyung_han_kim,1\nwelding_torch,0\nyoshitaro_(almendra),1\nchaos_ruler_(granblue_fantasy),4\nmodel_warrior_julianne,4\nyouyou_(yoyoyo),1\nitkz_(silentknight),1\nmyouji_namawe,1\nhitokiri_battousai,1\nred_mask_(arizuka),4\nuni96_(uknee96),1\n61cm_triple_torpedo_mount,4\nchaji_xiao_bai,1\ntype_3_active_sonar,4\nsabo_rin,4\nichinose_honami_(amakano),4\nkasia_mikolajczyk,4\nyuusuke-kun,1\nouhashi_(yumenosukima),1\ntouhou_sky_arena,3\narcelle,1\npino_ko,1\nhamuta0404,1\nmother_(pso2),4\nrigurudo_(tensei_shitara_slime_datta_ken),4\nchagama_(tyagama0927),1\nmotitoy,1\nmbt64kmb,1\nyunael,4\nblue_moon_(module),0\nkamisama_minarai:_himitsu_no_cocotama,3\nmuki_(munikichan),1\njan_(janpx2012),1\nai-chan_(playstation),4\nkoyuki_ekaki,1\nun403lucky,1\nluli_daxian,4\nyangli_daxian,4\nfujiwara_rika,1\ncovering_another's_crotch,0\nfutaba_yodoyume,1\noribe_ririko,4\ntokitoki_(commando),1\ntouya_(tottoo-to),1\nmaned_wolf_(kemono_friends),4\ndancer_shantae,4\njoe_(j_studio),1\nunwrap_me_body_bow,0\nichinose_tomoe,4\ndodapan,1\nnamiki_kojiro,1\nxia_oekaki,1\nhanasei,1\nshah,1\nturn_of_the_golden_witch,3\ncamille_(league_of_legends),4\ntoaster_(arms),0\nkurimu_(yappen),4\ntakatsuki_arunashi,1\neruri_(mgmn),1\nkoi_nobori,1\nsaitama_(one-punch_man)_(cosplay),0\nouchi_ni_kaeru_made_ga_mashimaro_desu,3\nshanxin_(the_legend_of_luoxiaohei),4\nlew,1\nbunny_ear_headphones,0\nbow_babydoll,0\nkusumoto_miya,1\nbcoca,1\nhasha,1\nelise_angel,4\nchaoxi,1\nimplied_penetration,0\nalayna_danner,1\nmahou_chuunen_ojimajo_5,3\nmishido_sun,1\nkumei,1\na~_un~,0\nkeifuku-san,3\nhaine_koko,1\nz20_karl_galster_(azur_lane),4\nguozi_li,1\ncatbii,1\nawaken_the_power,0\nwukloo,1\nito_(silva),1\ne_mishi,1\nenokimo_me,1\nmatsukaze_(azur_lane),4\ncenm0,1\ntalesshop,3\ntekaru,1\nguratan,1\npot_of_greed,4\nhiiro_5-sai,1\nhazuki_(hazu_chaya),1\nkuzunoha_kyouji_(sunny_side_street),1\nalice_(criminal_girls),4\nmeitantei_holmes,3\nkuri-magu_kuroguro,1\nkuroba_(f-15c_eagle),1\nhali,1\nchiroru_(7450n),1\nwajima_maki,4\nparavane,0\nkoiso_tsukasa,4\nbackstab,0\nshiro_no_musume_(vocaloid),3\npyonkichi,4\ntamaki_(209),1\nocaca_(chocolate-hopper),1\nshou_(karigurashi_no_arrietty),4\nranka_(tonbo),1\nsleepy69,1\nmusekinin_kanchou_tylor,3\ncastlevania:_harmony_of_despair,3\noni_chichi,3\nsakura_bitmap,3\nhands_on_shoulder,0\nharui_(huruyi_817),1\nkeva_(liltkeva),1\nshiva_(tairakuten),1\nqing,1\nfujimna,1\ncirno_(cookie),4\nblue-eyed_girl_(hayabusa),4\nprologue_rouge_(idolmaster),0\nmarching_melodies_(idolmaster),0\nfumika_bug_(idolmaster),0\ngrateful_blue_(idolmaster),0\nyuiko_(yuiyuiko_108),1\nsio_genshin,1\nhandkerchief_biting,0\nuss_yorktown_(cv-10)_(y.ssanoha),4\ncloud_ya,1\ncurly_sue,4\nbwcloud,1\nthe_batman_(2022),3\nmarie_(splatoon)_(cosplay),0\ncho_mo_futoshi,1\nhya_(ohyaarin),1\nkikuta_mokutaro,4\npoker_face_failure,0\ndolly_(toaru_kagaku_no_railgun),4\nmelvy_de_florencia,4\nkuroiwa_brs,1\nnamae_(areees),1\nmurmansk_(sceneries_of_pure_snow)_(azur_lane),4\naru_aru,1\ndongye1551,1\ntaishi_karibe,1\nflower_facial_mark,0\nwl6yugi8go1,1\nabe_yuichiro,1\nmyoue,4\nnana_(mega_man_x:_command_mission),4\nghosty_(xiaobai),1\naluo_7762,1\njimmy09,1\n5600cm,1\ndesutruction,1\neula_(genshin_impact)_(cosplay),0\nseed_uniform_(ff8),0\ngoutokuji_mike_(cat),4\nluoloo,1\nharu_(maou-sama_to_kekkonshitai),4\narmads_(fire_emblem),0\nsuikario,1\nnasu_bacon,1\nskarltano,1\nfrenlyse,4\ncallmaichi,1\nwz.29_(girls'_frontline),4\ndragoon_(girls'_frontline),4\nots-44_(girls'_frontline),4\ntawa_(ookami_mio),4\nkomori_(komo_ricecake),1\nmp-446_(girls'_frontline),4\nfantia_commission,5\nmikazuki_(feimao),1\nruby_(nox),4\npi_(zcvj3588),1\nleeshin0919,1\nholding_bento,0\nyukihira_makoto,1\nyi_zhi_ai_xi,1\nfernanda_suarez,1\nnobell_(bell_no5),1\nchan_sang,1\nakazu_kieshi,1\nyjsnpi_interview_(meme),0\ntakuyasaeki,1\nancoloyuki,1\ndurga_(housamo),4\nmujun-gatamari_(meme),0\noyashio_kai_ni_(kancolle),4\nsera_(judgemint),4\nhk416_(percussive_bolero)_(girls'_frontline),4\nendless_library,3\nlordgenome_(young),4\nninniku_(mfu7324),1\nmissmoonified_(voice_actor),1\ntokarev_(a_couple's_journey)_(girls'_frontline),4\nxinshijie_de_akalin,1\nhijiki_(deriku4),4\nroubai_academy_school_uniform_(new),0\nfujimoto_kishino,1\naristear_remain,3\nandou_saki,4\nmatsumura_fuuka,4\nmecha-fiora_(speed_cowling),4\npafe_yuzuran,1\nmedusa_(lancer)_(final_ascension)_(fate),4\nvan_gogh_(second_ascension)_(fate),4\ncinna_(ff9),4\nereshkigal_(youming_niangniang)_(fate),4\nqi1san,1\nibuki_douji_(first_ascension)_(fate),4\nkobone_awaki,1\nartoria_caster_(fate)_(cosplay),0\narayuki_(sakurafubuki),1\nsephikowa,1\nzundamochi_(sera),1\nfine_motion_(titania)_(umamusume),4\nblacknight_(summer_flowers)_(arknights),4\naiba_(ai_the_somnium_files),4\nyao_bikuni_(onmyoji),4\nkaguya_hime_(onmyoji),4\narthurian_legend,3\ngareth_(swimsuit_saber)_(fate),4\nmerlin_(fate/prototype)_(third_ascension),4\nfuusen_neko,1\nerinerin99,1\ninora,1\nbilibala,1\nmituki_(mitukiiro),1\nryuuga_nanamaru,1\nanbivarens,1\nbrad_evans,4\noriko_(nicolai),1\nmomotarou_(character),4\nkingyo_chuuihou!,3\nyui_(imprinting),1\nminato0618,1\nbi_no_ossan,1\nasa_(y-asa),1\ntales_of_phantasia:_narikiri_dungeon_x,3\nsino_(rtlsino),1\nsaniiiwan,1\ninubousaki_shian,4\nlian_mang,1\nfurai_sen,1\nsooma4869,1\nreo_(haozz),4\nha_en,1\nhien_rijin,4\nbarbara_(genshin_impact)_(cosplay),0\nnagatani_(ngt_926),1\nnonaprev,1\nsukinako_ga_megane_wo_wasureta,3\nmotsunukisuki,1\nsawyer_(pokemon_masters_ex),4\nribbonsnek,1\nvariangel,1\nsyobonne,1\n10t,1\nsankichi_(croquette_crab),1\nmiyuu_(crazy_lollipop),1\nkyan_(glira),1\nfuromaaju_(fromage),1\nrikudou_reika,4\nice_cream_sandwich,0\n108tooya,1\nbanysun,1\name_(ookami_kodomo),4\nbox_magazine,0\nthar_chandran,1\nkekai_kotaki,1\ninshitsu_otaku_ni_ikareru_imouto_(kanojo),3\nmizuhara_saki,4\nkusanagi_mikoto_(artist),1\nkuga_hajime_(world_lover),1\nyamakumo,1\naira_(dq7),4\nzelgius_(fire_emblem),4\necruteak_city,0\nsaku_(amespi),1\nveggie,1\nnowheresoul,1\ngu_(goodnight),1\nniall_ardanach,4\nberserker_(fate/zero)_(cosplay),0\nhoron,1\nmurasawa_hiroshi,1\nemily_(meago),4\nakehime_saki,4\nnishiwaki,1\naeiou_(yoako),4\nneyagi,1\nshiranagi_masa,1\njerky,0\neleking,4\nsrco,4\ncanopy_(shelter),0\nssam_(samel10),1\nedelweiss_(senjou_no_valkyria),0\ntaka_t,1\ndidi_amen,1\ngarigarigari,1\nqplus,1\nbwanga,4\nshon,1\nreimaco,1\nkuzuneko,4\nmaribel_hearn_(cosplay),0\npregnancy_mark,0\ncommander,0\nokuma_tanukichi,4\nhasegawa_taizou,4\nmonkey_buonarroti,1\nmogumogu_fuyoudo,1\ncandeloro's_familiars,4\nruoganzhao,1\nhana_x_hana,3\nus@myo,1\nkubozuka_pikurou,1\nsuusuke,1\nsig_(gyee),4\nazuma_yuuhi,1\nnarugino_mikatan,4\ncromwell_(tank),0\nputin_(usavich),4\nsweetie_belle,4\nphiliera,1\narson,0\njosephine-843,1\nshiten_rekka_karin,4\ntonnelee,1\npajant,1\nvanilla_(nekomist),1\nsasuke_(ganbare_goemon),4\nkawazuishi,1\ncutting_onions,0\nkazuma_kuvaru,4\ngaon_(hisuikairou),1\nmuu1519,1\nkatase_aoko,1\nxelvy,1\nsyr_flover,4\nsahara_(charlotte),1\nnagasawa_yuki_(assault_lily),4\ngranatha_eternal,3\ntamtam,1\nkawai_ritsu,4\ncomiket_81,3\nsusinoyama,1\nhair_iron,0\nasura's_wrath,3\nsham_fu,1\nholo_(cosplay),0\nshooting_girl,3\nwater_battle,0\nbreast_clinging,0\nlucifer_(shin_megami_tensei),4\njikai,1\nmizukiyan,1\npikakoya,1\nnagato_(naruto),4\ncygnus_(maplestory),4\nkyougoku_makoto,4\nrenyu1012,1\nsudhiro_sappurisa,1\nkiefer,4\noizumi,3\nnda-p_(threelow),1\nsiguya,1\nmouthpiece,0\nfukkireta,3\ndamu_ningen,1\nkatagiri_ikumi,1\ndark_foreground,0\nhamon_ai,1\nkiro_(kirotayu),1\ncal_ruslan,4\noyuyamio,1\nhyoshiki,1\nsilver_(color),0\nmanzairaku,4\nfaith_(sbi),1\ntooya_(gin'iro_koubou),1\nchequita,4\nsenpai_(kuro_senpai),4\nminakami_nagara,1\ndespina_(queen's_blade),4\nm16a4_(upotte!!),4\nhungern_(skullgirls),4\nthi_fure,1\nramirisu,4\nfaefaea,1\ndd_tachibana,1\nhigami_akabane,1\nplaid_umbrella,0\ncrescent_conundrum,4\nkubota_junichirou,4\npoyosuke,1\njuliet_(granblue_fantasy),4\ntyuuboutyauyo,1\nyodokawa_(yukko),1\nkasumi_(shironeko_project),4\nworld_teacher_-isekaishiki_kyouiku_agent-,3\nfujiwara_ryo,1\ncheerful_candy_(module),0\nsakana_kidori,1\nshinmai_maou_no_testament_burst,3\nponpu-chou,1\nryoko_(game_x_over),1\nvar_(weapon),0\ntobi_(mue86),1\nvertical-striped_sweater,0\nnogizaka46,3\nmony,1\nspring_(trigger),4\nlicking_shoulder,0\nblue_halo,0\nshimomura_izumi,4\nno/min_(noumin_suijun),1\nnishio_akira,4\ntorigoshi_crow,1\nnewash,1\namerican_flag_skirt,0\nhaoto_(arnica_leaf),1\nyamada_uiro,1\npig_print,0\nasuteka,1\nrunachikku,1\ndark_duck,1\nfate_no_keshin,1\ncross_of_lorraine,0\ntakashiro_chidori,4\nyiqiang,1\ngal_gun_double_peace,3\nfencer_(sekaiju),4\nkoopalings,0\nflower_fairy_(osomatsu-kun),4\nankoku_broccoli,1\nwaremokou_(flower_knight_girl),4\nmomoko_(kof),4\nmilmir,1\nhalo_infinite,3\nmiyama_sana,4\naegaeon_(xenoblade),4\nmargo_(pokemon),4\njames_(pokemon)_(cosplay),0\nchikage_(bloodborne),0\nalov,1\nkuu_(0427),1\neryngii_yoko,1\nnips_(ohnips),1\nprimarch,0\nac/dc,3\nkunikida_(female),4\niru_may_(akairiot),4\nmuhyowo,1\nkdkaikai,1\nerhuo,1\nsumiyoshi_rocket,0\nlena_(fire_emblem),4\nhayden_mackenzie,1\nred_dragon_archfiend,4\nmagaqq123,1\nmoukin_punch,1\nwhiskey_project,4\neyelid_piercing,0\nangel_blade_punish,3\nyuo0,1\nakai_ibara,3\narisu_shiria,1\nmongkhon,0\nblue_period,3\nskull_(disgaea),4\nseggs_(meme),0\nbabigonice,1\nshawli,1\nniii,1\nsakura_kyouko_(swimsuit_costume),4\nakabane_kureha,4\nmallllma,1\nsanta_panties,0\nkinoshita_ringo,4\nchi_lian_qiju_zhu,1\nshoutoku_taishi,4\naoi_saki,4\ndc24v,1\nharusaki_air,4\nsensei_(tawawa),4\nkitsurubami,4\nippongi_ryuuta,4\nrita_ya,1\nedward_elric's_daughter,4\nkeipup,1\nmaa_(maa1),1\nmondragon_m1908_(girls'_frontline),4\ngezerun,1\nfran_(gudanco_(nyanmeowzer)),4\nhironegaika,1\nyae_miko_(cosplay),0\norangutan,0\nbustafellows,3\nmasked_booby_(kemono_friends),4\nsoto_miyako,1\nmatsushika,1\nthe_endsinger,4\nevemoina,1\nkurai_kako,4\nnamae_ga_kimaranai_man,1\nsherry_(langrisser),4\ndungeon_of_regalias,3\nyoimon,1\ntatsumi_(psmhbpiuczn),1\nnagatsuki_misoka,1\nlxjun_09,1\nbuu_(buu02),1\ntaka_(takahiro_si),1\nkamunika,1\n5to_rai,1\nmumu_mago,1\nspam,0\nyagiri_seiji,4\nknights_templar,0\nnipple_injection,0\nmauro_abelard,4\nkarekusa_meronu,1\nluma_li,1\nblack_lobelia,4\nlilithmy,1\nmuyu713,1\nfiora_pellerin,4\nblow,0\n447_records,3\nmaddy_lovecraft,4\nconvenient_hand,0\ntojorin,1\netoile_rosenqueen,4\nevasong,1\nsakuma_shiki,1\n99_yen_(tsubura),1\nfast_fashion_octane,4\nelise_schwarzer,4\natagumo_yuba,1\nyamanbagiri_kunihiro_(kiwame),4\nzokenwatarushi,1\nhinata_himawari,4\nzero_q_0q,1\nh&k_mg4,0\nkudou_aiko,4\nsoooooook2,1\ninu-hariko,0\nnu_wa,4\nacr_(girls'_frontline),4\ncoco_(h221414),1\ntenshin_no_kehyaku_tanuki,1\nrapiko,1\nchloe_(noir),4\nlasty_farson,4\niinikukuiita,1\nregina_mercedes,4\ndskb,1\nnaive_(day),1\ndaue,1\nwae,1\nmeilleure_chocolat,4\npiaroo,1\nbukiyou_na_senpai,3\nkannawa_azusa,4\ntomoe_(blue_archive),4\nkusunokinawate,1\nmakiko,1\neda_(prsy3),1\nrekka_yamato,1\npink_heart,0\nruint,1\nrurumo,4\niz_izhara,1\nhappa_freee,1\nspace_xu_fu_(fate),4\nnojiko,4\nfour_of_clubs,0\nwtparadise,1\nroderika_(elden_ring),4\nhakuro96,1\nsgawarananto,1\npentagram_earrings,0\nmikodanye,4\nmeng_lea,1\ngentlu_(precure),4\nvvvmung,1\ngdhs,1\nheart_bracelet,0\npul_(gks569),1\nsheryama,1\nwitch's_heart,3\nshadow_(kingdom_hearts),4\nnakamura_kuzuyu,1\naihara_kaichi,1\nsakurakkuma,1\nstranger_things,3\nqingfeng_canying,1\ncrossbone_gundam_x-1_full_cloth,4\ntomj,1\nhokuto_hyakuretsu_ken,0\nnusisring_tactical,3\nholding_planet,0\ngold_collar,0\nno_capelet,0\nkagoya1219,1\nkushima_kamome,4\ntsurumi_kazane,1\nziz_(housamo),4\nkawasaki_sakura_(idoly_pride),4\nfarnese_(berserk),4\nwu_zetian_(swimsuit_caster)_(first_ascension)_(fate),4\ninu_fuji,1\nimplied_tail_plug,0\notogi_yuugi,1\ndeath_knight_(warcraft),4\nitsumade_(onmyoji),4\nmasui,1\nmaya_(dewprism),4\nj-dragon,1\nanastasia_romanov,4\nmatsuba_moco,1\npingtsi_(chainsaw_man),4\nikurikaito,1\ndahadekan,1\nyanobrk,1\ndarudana,1\ndrawing_equipment,0\nnatsusora_aona,4\nshiranui_hansode,4\ndaeno,1\nkanoe_(tatsukanoe),1\nsugarbell,1\nbradamante_(welcome_bunny)_(fate),4\nkujo_jolyne_(cosplay),0\nossou_rocket,1\naose_touka,1\nchippendales,0\nemaason,1\nwooden_fish,0\nririka_(ab-yuri),1\ngon_(congchuabuoito),1\nhibiki_(nilten),1\nmori_tarou,1\ndrawn_on_eyes,0\nshimazoenohibi,1\ntoilet_brush,0\nforce_(r-type),4\nlava_lamp,0\npotato7192,1\nkkusak_(kkusag_ks),1\nresurrection,0\nenekk,4\nyumeneko_nyaa,1\nshirazu_ginshi,4\nfilm_cartridge,0\nmilaria,1\nsurps,1\nhana_no_yo,1\nhime_kake,1\ndark.h,1\nnoda_satoru,1\nseo_(tqhgud016),1\nneziiro,1\nkasuga_no_tsubone_(fate),4\namanomori_shou,4\njuugou_taki,1\nfuupo,1\nmasao_tsubasa,1\nvirgin_mary,4\nmo~zu,1\ncleveland_(reaper_fever)_(azur_lane),4\nyoshida_shouyou,4\nsosya_ku,1\nzangetsu_(shikai),0\neurica_(ub1mo),4\nmount,0\nhataraki_kuma,1\ndeerling_(autumn),4\nneil_(neil_nim),1\nmelissa_renata,4\nminato_hikaru,4\nvampirella,3\ntsuru_(nekopanchi),1\npainnico,1\njelly_fish,1\nplaid_bikini_top,0\nuchiha_mikoto,4\nryuuna_(shining_tears),4\nhimexin,1\nshadow_the_hedgehog_(game),3\nihiro,1\nopen_leotard,0\ntsukihiko_(kagerou_project),4\nkakeru_(fujiwara_kakeru),1\notome_no_teikoku,3\nizanagi_no_ookami_p.,1\ncomugico,1\nbirmingham_(azur_lane),4\ntenton_(henatyo),1\nemiya_shirou_(cosplay),0\npanties_over_bike_shorts,0\nmugen_lion,4\nshianebulae,1\ntitus_alexius,4\nakichi_mashiro,4\nhashima_renge_(ryou@ryou),4\nyanagita_(daitai_2_ton),1\ncharacter_portrait,0\nmichiyuki,0\nkura_(shironagasu02),1\ndolsig_ilangnolja,1\nkishinami_hakuno_(female)_(another_ending),4\nk-you_(pixiv),1\nsheeney_(muku),4\njade_(dross),4\nitodome,1\nportugal,0\nosananajimi_ga_zettai_ni_makenai_lovecome,3\ngoombella,4\nmichelin_man,4\nwootsang,1\nandro_juniarto,1\nsabusuka,1\nhira_(hinakomochi),1\ndishonored,3\nkackaorz1,1\nranger_2_(sekaiju),4\npine_(angel4195202),1\nsakurai_muto,1\n57friend,1\nyusya,1\nrosa_tsubomi,1\nfiro_(shiboritoranaide_onna_shounin-san),4\ntakuan_(a_mood_home),1\nchiba_michinori,1\nchibi_(nekomimimi),1\nred_ace,1\nkaoru_(mujin_wakusei_survive),4\neit_(ikeuchi),1\ntwo-legged_horse_(kanji),0\nmele_ck,1\nsaitou_sakae,1\nme_262,0\ntsuki_to_laika_to_nosferatu,3\ntyrca_(venus_blood),4\natlas_(mega_man),4\nmajora_(entity),4\nwinton_kidd,1\njiafei2o3,1\nhano9789,1\ntakizawa_seidou,4\nhonami_yuu,1\nopera_brest,4\npucho,1\ngumi_(cosplay),0\nhatsune_miku_(shinkalion),4\nkaibutsu-kun,3\ncocoro_moto,1\nkirze,4\nlucadark_art,1\narisa_(yuki_touko),4\nmeeboo_(arknights),4\nbarara_peol,4\nesuyukichin,1\nefi_oladele,4\n6suan,1\nsuper_mario-kun,3\nperoronti,1\nkuchiki_touko,4\nneon_(pixiv_31150749),1\nheron,0\nsolidus_snake,4\nchandra_nalaar,4\ngram_quartz,1\nsap,1\nabuto,4\nkuroki_shigewo,1\nhu_tu,1\nenjin_(idolmaster),0\ngenieko,1\nmutsuki_(kancolle)_(cosplay),0\nruo_(cruzada),1\nsou_230,1\nleatherclub_scene,0\nsena_(blue_archive),4\nyuuki_nanase,4\nabbey_(pui_pui_molcar),4\ntrigger_(ace_combat),4\nswitch_axe,0\nane_hoshimaru,1\nct990413,1\ngameso,1\nharley_davidson,0\nknee_to_face,0\ngawain_(granblue_fantasy),4\nfuyu_(utngrtn),1\nvarys_truss,4\ncopper,1\nmizushima_aru,1\nkoharu1807,1\nkauchoro_(namikazemakase),1\nkelly_0w0,1\nunown_?,4\nkebohan,1\n01rosso,1\nraoul_(raoul77),1\nkamen_rider_brave,4\npavianne_(ragnarok_online),4\nsuper_sailor_pluto,4\nmiranda_(feguimel),4\nplanting,0\nkonigstigerchan,1\nmokuren_(mozukukirai88),1\ndongdong_(0206qwerty),1\nhatoka_ra5,1\nice_dragon_(artist),1\nkouichi09,1\nroisa,1\nsaiun_sigma,1\nalbyee,1\ncelica_(xenoblade_x),4\ndobunomeme,1\nkykeon,0\nlinna_yamazaki,4\njokarara,1\nglastrier,4\nsira_(user_dswn7488),1\nsassakntm,1\nflashlight_beam,0\nfantia_username,0\nzygarde_(complete),4\numi_owl,1\nchen_zhang,1\nrockyroo,1\nayu_(ayuyu0924),1\ncode:realize,3\nxi-u,1\nspiral_warrior,0\nleon_(pokemon)_(cosplay),0\nkurena_kukumila,4\nschwerer_gustav,0\nparasite_eve_ii,3\nleon_(rune_factory),4\niguchi_yumi,4\nsnowflake_liliput_(idolmaster),0\nyuu_kurema,1\nhitsuki_miyu,1\nisaraa_005,1\nsanasedayo,1\nmashed_potatoes,0\nnenkou-san,1\nvexxxxa,1\nbernard_wiseman,4\nyukine,1\nidate,4\nkana_(kwbr),1\nfuki_to_takenoko,1\nsalty_eyes,1\nallgreen,1\ngridman_(character),4\nkenja_tori,1\nkagamigawa_chloe,4\n6tnut9,1\ns_o_i,1\nsquirrel_costume,0\nwitch_(dmfd),4\ndeyezi,1\nkuurimuart,1\nxiao_shei..,1\nmarishiten_(mar1sh110),1\ntsugikuni_michikatsu,4\nhibana_(vocaloid),3\nokiya_subaru,4\nburu,1\nsilber_1224,1\nichinose_mio,4\nbumblebee_(film),3\nrokuji,1\npunt_(kienbiu),4\nazuma_(sospower73),1\nkaminarichyan,1\nitou_chieri,4\nnishitaka,1\nbest_jeanist,4\nsoldier's_set_(zelda),0\n4me_4ma,1\ntsuaaa,1\nariane_cevaille,4\nmajor_2nd,3\nbsmycc,1\nssm_(ssm82048039),1\nmurasaki_atsushi,1\ntachibana_senzou,4\ntokita_kouichi,1\nhalo:_reach,3\nrokuya_nagi,4\nyuki_(luupechi),4\nclassictime,1\nmushroom_parent,4\ntsukimichi,1\npower_glove_(nintendo),0\nharumiya_hiro,1\nsamurai_(zoza),4\nkuchinashi_(not_on_shana),4\nlandorus_(therian),4\nfukai_ni_nemuru_oujo_no_abaddon,3\nshiryuu_akira,1\nnez_n,1\nhanma_yuujirou,4\nakizuki_(kancolle)_(cosplay),0\nbamme_o3o,1\nlexus_(artist),1\nfujimiya_momiji,4\npipikopipiko,1\nmoon_ball,0\nhayadai,1\na_mituhashi,1\nfestenia_muse,4\nscissors_hair_ornament,0\nelysia_watanabe,4\nling_dianxia,1\nchief_nuna_(zcune),4\ndermiss,1\nsilva_(enkyo_yuuichirou),4\ngrapple,0\nkhopesh,0\nsaikoro_(et1312),1\npopopo,1\nparuma_umu,1\nbugbug,3\nti2,4\naianchor,1\nvu-hakase,1\nprincipal_(hidamari_sketch),4\nsogekishu_(sni8er),1\nkomiya_ena,4\nblair_dame,4\nguihuo_inferno,1\ng_li,1\naek-971,0\nytuorvi,1\nashley_(pokemon_bw098),4\nrachel_ransom,4\nsumi_hei,1\nsa/tsu/ki,1\nazuma_tooru,4\nhimemiya_niina,1\npriest77,1\nnitumaruta,1\nmov,1\nmkt_(50r50r),1\nburiki_one,3\nursaluna,4\nsatorichan,1\nakarino_(yucco),1\nml.e,1\nnarumi_akiko,4\nt1ger_spuma,1\nbehind_cover,0\nyukipo,4\ndragon_maker,3\nhikari_no_4_senshi,3\nfax_machine,0\nhaystack,0\nyokoshima_(qb74pnkp),1\naihara_ai,4\ntamayo,1\nrosso_fantasma,0\nkannazuki_nemu,1\nside_part,0\nrobin_sena,4\nnakanoshima_tae,4\nrerere,1\nsheila_e,4\narisie,1\nmikazuki_tenma,1\nmentaiko_jojotarou,1\nwindsurfing,0\nichigo-chan_(yk),4\nclock_tower_(series),3\ntogashi_yuu,1\nkageyama_mari,1\nzorim,1\nkurumada_gouichi,4\nlilith_(vanpri),4\nwater_pipe,0\nmuttiy,1\npenny_(inspector_gadget),4\naaii,1\ncarren_(granblue_fantasy),4\ntaiyaki_a,1\ndaiuchuu_no_hokori,3\nconjaku,1\ntytree_crowe,4\nshime_mura,1\nporcupine,0\nfrancis_(left_4_dead),4\nsadcat,1\ngundam_gp-01_full_vernian_zephyranthes,4\nmajokko_a_la_mode_2,3\ngriffon_mask,4\nnankyoku_sakura,4\nemporio_ivankov,4\nmiss_goldenweek,4\nnapoleon_bonaparte,4\nelcia_harvence,4\nrichea_spodune,4\nkiui_(kogane),1\nchimoon,1\narmy-san,4\nimoman,1\naral,1\nnoko,1\nkotobuki_tsumugi_(cosplay),0\nviorate_platane,4\nsatsuyu_ito,1\nsylvia_christel,4\nsopranino,1\nkuriyama_kuriotoko,1\nshaco,4\numbreon_(cosplay),0\nise_(azur_lane),4\na.j._(pokemon),4\noofuji_reiichirou,1\nzhang_fei,4\nno_horns,0\nsangekimaru,1\ngogo/tad,1\nnayuta_ggg,1\nestcc,1\nmakai_no_koutaishi,1\njellen_aura,1\nkanata_(kiduka),1\ncresc-dol,1\nhideki,1\ngoto_kakushi,4\ndutou,1\nkawai_ameri,4\njosue_pereira,1\nken_(kenta1922),1\nuesugi_hidehiko,4\nbakugan_new_vestroia,3\ncampanella_(vocaloid),3\nshiro_(46isou),1\nginko_(sekainoowari),1\nashcape,1\nasuka_asuka,1\ncanute,4\npanya,1\ntaiyou_no_promia,3\nleo_(mobile_suit),4\nrose22,1\nrimibure,1\npenis_nipples,0\naruru_no_zaki,1\nseera_finis_victoria,4\nlastlong,1\nkoyade,1\nzeko,1\nm240,0\nbubble_slime,4\nfaye_(front_innocent),4\nedward_(fire_emblem),4\nponpoko_(vtuber),4\nscarf_girl_(tiger_&_bunny),4\nneiko,1\nmeru_(merumumu),1\nshining_dream,4\nsakuraebi_chima,1\nerul_tron,4\nsasaki_toshiyuki,1\ntsujiori,1\nuehara_sayoko,4\nboat_interior,0\nequestrian,0\nnanashiba,1\nyuurakudou_kurono,1\nquiz_nanairo_dreams,3\nyamakawa_kouji,1\nnurse_ni_omakase,3\nhouman,1\nhands_in_pants,0\nkoutake_hiroyoshi,1\nooki_bonta,1\nlimble,1\nfujiwara_takumi,4\nsaber_beam,1\nclammbon,1\nnina_geminis,4\nw.i.t.c.h.,3\nyuutenji_mishio,4\nre:n_ne,1\nmelfi,4\nazuki_miho,4\nsgt_hartman,4\nisozaki_bebebe,1\nyumejidake,1\ntytania,3\nminamino_nanami,4\ndoguu,0\nmehve,0\ngear_second,0\n2001_a_space_odyssey,3\nglemy_toto,4\ntsumuri,1\nmechi,1\ntukemono6,1\nlion_(trickster),4\nmushi_kei,1\nhana_(den-o),4\nprincess_bitch,4\nclerk_nagato,4\ntokusou_sentai_dekaranger,3\nmahou_sentai_magiranger,3\nkino_kuniya,4\nmetro-goldwyn-mayer,3\ndorei_jackie,1\npopeye_the_sailor,3\nmikuni_aoi,1\nalbatrosicks,3\nharuno,1\nliliane_vehlendorf,4\nmurmeltier,4\nfp-45_liberator,0\nkanikanitengoku,1\nnavel_(company),3\nsylphiel_nels_lahda,4\nhalo_(artist),1\nasatana,1\nyang_yang,4\nmitsuya,1\nred_(saga_frontier),4\ngorujitai,1\ndemupausagi,1\ngrace_o'connor,4\npatalliro!,3\nshinatsuhiko_yae,4\njack_sparrow,4\nyagumo_kengou,1\ndora_the_explorer,3\nnzack,1\nwankoro_mochi,1\nnanao_yuki,1\nshimabara,1\nruit,1\ntio_(grandia),4\nazalie_cait_sith,4\ncoach_(artist),1\nzetz,1\nharo_(artist),1\ntoda_ayu,1\nyuffie_kisaragi_(cosplay),0\nnakata_masahiko,1\nsaskia_gutekunst,1\ntanaka_souichirou,4\nmai_(popotan),4\nys_origin,3\nraijin,4\nnurse_no_obenkyou,3\nmarch_(coyote_ragtime_show),4\nkiris,1\nthumbelina,3\nsugarette,4\ngym_ghingnham,4\nkisaki_yuu,1\nflora_(claymore),4\ncrime_city_miss_fortune,4\nkotee,1\nitsukage,1\nmisaki_sango,4\nnewmanoid,3\nfujitsuki,1\narshtat_falenas,4\nsakashita_yuzuyu,4\nkonno_natsume,4\nhimeno_fumi,4\ntachibana_meiko,4\nbottle_opener,0\nhyatt,4\nfukamine_riko,4\ncollet,1\nachiba,1\nex-gear,4\naogu,1\naaku,1\nsenoo_chihogi,4\nxiaowei_(xxx29042536),1\nliving_armor,0\nogyadya,1\nshayla-shayla,4\nmaruwa_gray,1\nelinalise_dragonroad,4\nsaitou_chiho,1\nyuunagi_kanade,1\nshiratsuki,1\nnoel_(pixiv5459099),1\nsarah_adiemus,4\nchiyokawa_rin,4\nakita_inu,0\nnorth_korea,0\nprince_of_persia,3\nyuuforia,1\nakr_tmr,1\nnpt_shizuka,1\nyuki-ichigo,1\nbao_(kof),4\nsuzushiro_sayu,1\ndoris_(hololive),4\nboku_to_kanojo_ni_furu_yoru,3\nsarah-san_(mignon),4\nracing_miku_(cosplay),0\nsugou_asuka,4\nniccya,1\nkaizuka,1\nkiwoseo_meogneundas,1\nprince_of_lan_ling_(eastern_socialite_attire)_(fate),4\nmichia_(bourgognepony),1\npink-haired_nun_(skeb),4\nsuzugaeru,1\nvalkyrie-zero,1\nsakamoto_shuuji,1\nlindwurm_(last_origin),4\nbeer_hsk,1\nscarlet_ohara,4\nineuoy,1\nmutton_(user_hafp8324),1\numatachi_tsugumi,4\nwar_paint,0\nholding_sex_toy,0\nhalloween_baelz,4\ncirce_(last_origin),4\nnetapai1,1\nisabeau_de_baviere_(madoka_magica),4\nmashita_(candy_apricot),1\nyukatama,1\narmarouge,4\namagi_xx,1\npaisu-chan_(yashiro_sousaku),4\nstanding_leg_lock,0\nkamira_naito,1\njoy_(shenmue),4\nmershark_(monster_girl_encyclopedia),4\nlewdlux,1\nmanuba_(yukataro),4\nmaruyama-jp,1\nspinning_wheel,0\ncuilein-anbar_(genshin_impact),4\na-pose,0\nrise_(rise19851203),1\nholding_drawing,0\nanshinzawa_sasami,4\nkatachi_noboru_nishikino,1\nirori_(irorixc),1\namaemi-longing_for_you-,3\ncat_testicles,0\nchampa_(dragon_ball),4\nhiyokko_ep,1\nhacosumi,1\nkamisato_ayaka_(heytea),4\nreina_(xipuria),4\nluneth,4\no-hako,1\nsega_dreamcast_(sega_hard_girls),4\nyoko-ya_manjirou,1\nwiglett,4\nregenerate-x,1\nchristmas_is_cancelled,0\neve_(rurudo),4\nsexy_gals_(idolmaster),0\ntanu_(ace_ikachan),1\nirina_luminesk,4\ngao_guangyue,1\nmercedes_(maplestory),4\nryner_lute,4\nzygarde_(10%),4\nasymmetrical_jacket,0\nblanche_fleur,3\nsteel_ingot,0\nmiyashiro_takuru,4\npowered_suit_(toaru),0\nhoozuki_warabe,4\nredman_(character),4\nleadale_no_daichi_nite,3\ndeath_knight_(fire_emblem),4\nershisi,1\nsuimin_(sui_0y0),1\nzest_(lossol),1\nsentry,0\ndeath_(granblue_fantasy),4\nanti-aqua,4\nsayaka_ikku,1\nlilybell,1\ngloom_(irys),4\nseven_d3t,1\napple_magician_girl,4\nerik_burton,4\nlapaco,1\nryuuhou_(azur_lane),4\nretorou,1\nyuzuki_yukari's_younger_twin_brother,4\nmiin_miin,1\nmako-hime,4\nsashacall,1\ntokime_shizuka,4\ntsui_(kojiya),1\nkazekiri,1\nwisconsin_(pacific),4\nrottenweiler,1\ndate_crush_stories,3\nyuma_(yuuma_pants),1\nira_megumi,4\nnox13,1\nuungunover,1\nmuko_(kokia38),1\nmessenger_(41986996),1\ntatyaoekaki,1\nkuro_senpai_to_kuro_yashiki_no_yami_ni_mayowanai,3\nshirakami_fubuki_(artist),1\nfermion,3\nhinamizawa_kurumi,4\ntrkz_tmwk,1\nz36_(azur_lane),4\ngretel_(grimm),4\ntech_box_(azur_lane),0\nhakkaku_hailey,1\ngompang,1\nkl501,1\naoba_(azur_lane),4\nschool_yard,0\nced_(fire_emblem),4\nfelicia_(fire_emblem)_(cosplay),0\nmuni_nuren,1\ndim_lighting,0\nstahl_(fire_emblem),4\nhiranara_nirai,4\nkathy_(abubu),4\nlongship,0\nmunechika,4\naoi_yugina,1\nhosaka_miyuki,4\ntetisuka,1\nlobelia_(granblue_fantasy),4\nflippy_(cripine111),1\npixiv_forest,3\nchase_(kamen_rider_drive),4\nkisero_(kyuri_tizu),4\nzeixique,1\nyansae81,1\nlocation_request,5\nshiragami_youko,4\nshiro_(kiron),1\nhatoro_kuroyoshi,1\nayumi_(830890),1\nmem-mem_(precure),4\nnishizawa_shizuku,4\nfeifei_(fkey),4\nblapan,1\nyumeno_shiori,4\nnorthampton_(warship_girls_r),4\nrepulse_(warship_girls_r),4\ngrimms_echoes,3\naoki_clair,4\nhananenmi,1\ntrue_blue,3\nrozarita,1\nnina_kalinina,4\nkudou_naka,4\nryu_jiao,1\nlancer_(deltarune),4\nponto1588,1\nkaskia,1\nna_arva,1\narjend,1\nshiranui_inori,4\nalfi_(tok),1\narute_arisu,1\ntatara_kenshiro,4\npeople's_liberation_army_navy,0\nraydango,1\nred_pond,1\nrodan_(godzilla:_king_of_the_monsters),4\nmingakk,1\nrenpu_girls_school_uniform,0\nhal-bard,1\nmercury_black,4\nliangyilin,1\ndarlton,1\nkarakuri_neko_(tkfm),1\nred_blood_cell_(hataraku_saibou)_(cosplay),0\nshiro_(acad1213),1\nwhite_blood_cell_(hataraku_saibou)_(cosplay),0\njoule_(gunvolt),4\nfusou_(fuso0205),1\nsphie,4\ntombiiwa,1\nshiro_hakuchou,1\nspring_onion_hair_ornament,0\nzuihou_(kancolle)_(cosplay),0\natiti_(ttttt945),1\numino_(anesthesia),1\nqi_(bleachcxn),1\nmuguruma_miyako,4\ninsertsomthinawesome,1\nnuri,4\nuogokoro-kun,4\nnekome3,1\nbeat_saber,3\nawanqi,1\nsophie_(sennen_sensou_aigis),4\nuatemyrice,1\nakasaka4005,1\nqumaoto,1\nyuren,1\nwminiminiw,1\ntatsuki_(pizza_no_tempra),1\nyomo_renji,4\nenden,1\nsussex_(azur_lane),4\nmonster_energy-chan,4\nscp-040-jp,4\nyu_cheng_hong,1\nricken,1\nkisaki_souhei,4\nhappy_meal,0\nruka_(cookie),4\nkisaki_kanann,4\nmonty_oum_(creator),4\nmiyabi_reiji,4\nsy-l-via,1\nkiiro_kurumi,1\njill_besson_(vordandan),1\nendo_(makaron),1\nhyouka_(rat_hut),1\nlas_vegas_(accio),4\nyuri_meichi,4\nnira-chan,4\nhii_(hii101),1\nmusu,4\nbit_(kksbit),1\ncanari,1\nhertz_(tsuquart),1\nchiriri,4\nkousaka_honoka's_mother,4\nokaya_mrh,1\ngatling_raid,1\ni-401_(aoki_hagane_no_arpeggio),0\ncountryball,3\ndenbaa,1\nbyuey,1\nikarimame,1\nhimaruya_hidekazu_(style),0\nhelicopter_tail,0\nbahamut_greed,3\niris_freyja,4\nkon_(inakon),4\npai_(1111),1\nhimoo_yuina,4\nasakura_nuruma,1\ndominico,1\nshinyu_xingyu,1\nmr.way,1\nkiryuuin_souichirou,4\nchoiark,4\ncorsair_(final_fantasy),4\nxp-pen,0\nmaster_nabesama,1\namnesia_(majo_no_tabitabi),4\nmsugi,1\nhanchan,1\ntwinkle_eye,0\nmisumi_takasumi,1\nakiyama_yuuji_(naruko-tei),1\nyoshioka_kumiko,1\npanasonic_corporation,3\naestivalis,4\nnonomiya_shiho,4\nsuper-saiya-0173,1\nkuon_gramred_shutleheim,4\nyakata_(artist),1\nsanwa_(koyabu2171),1\nkisshii_(kic1224),1\nrh0012,1\nyae_(eky_567),1\nvmax-ver,1\nkazuya0810,1\nbbrangka,1\nyoshikanakamura,1\nsazaki_susumu,4\ntatara_maguro,1\ngluteal_fold_peek,0\nontama,1\nsugino_tomohito,4\nfolding_table,0\nyume_aoi,4\nnagi_mizuha,1\nusarinko,1\ndigestion,0\nsconce,0\npussy_juice_in_mouth,0\nperman_(series),3\nthimble,0\nmasinhwangje,1\ngaogao_(gaogaomegu),1\npink_garter_straps,0\nlalala_(kirby),4\nha84no,1\ncell1913,1\nnazuna_(log_horizon),4\nmizu_bonbori,1\nyankee41,1\nnakajima_yuuko,4\nleviathan_(zettai_bouei_leviathan),4\nmio_(jian_wei),1\nkei_(k_tmr),1\nminamixdrops,1\nsugiura_jirou,1\nhuman_shield,0\notyaume_1910,1\nkoorizu,1\nsashisu,1\nblack_torch,3\nsarashiki_kanzashi,4\nryugue,1\ndirector's_chair,0\neikichi_(mujirushi_shounen),1\nstacker_pentecost,4\nsuruga_ataru,4\neigo_ichii,1\nminami_mayu,4\nhikari123456,1\nyuzuki_ryouta,1\nlaing,1\nkoyama_mai,1\ndama_(akilay),1\nxbox_one,0\ngarththedestroyer,1\nnyan_cafe_macchiato,3\ntorn_footwear,0\nsakaki_kayumu,1\ntkbnmnm,1\nmagical_marriage_lunatics!!,3\nmegrim_haruyo,1\nhoshikawa_seira,4\nuchuu_senshi_baldios,3\nsatomi_naoko,4\nkamizawa_(sark),1\nkousoku_kidou_avatar_drive,3\ntorimachi_kazami,4\nwokami,1\nchiitamu,1\nmaou_toubatsu_shita_ato_medachitakunai_node_guild_master_ni_natta,3\nsolo_vivace_(hitokuirou),4\nshumai_(food),0\nsuzumebachi_(shikai),0\nkawaii_onna_no_ko_ni_kouryaku_sareru_no_wa_suki_desu_ka?,3\nkana_(ky4696),1\ntankobukids,1\nkimi_to_tsunagaru_koi_flag,3\nhelvetian_military_uniform,0\nyatsuo,1\ncondom_balloon,0\narthur_(granblue_fantasy),4\ndog_girl_(doitsuken),4\n9_-nine-_kokonotsu_kokonoka_kokonoiro,3\nfinger_on_eyewear,0\nsechka,1\npq_(lamune),4\noohashi_maiko,4\nyozi517,1\nakame_(chokydaum),1\nano_ko_wa_chuunibyou_tenshi!!,3\nmaki_(eru),4\nboy_(pixiv17542438),1\nkojiri,0\ndanchino,1\nmasturbation_day,0\nnatuki_miz,1\nhina_logi_-_from_luck_&_logic,3\ncrash_fever,3\naizawa_marimo,1\ncoolisushi,1\nkaede_(bakumatsu_rouman),4\nn2co,1\nmissouri_(pacific),4\nshinori_(efvbji6264),1\nlinse_shileska,4\namaetai_hi_wa_soba_ni_ite,3\nmarine_(46586031),1\njames_choo,1\nkaitori_oukoku,3\nkoga_yuika,4\ngraffiti_tracer,4\nryuu_ga_gotoku_3,3\npanties_under_leotard,0\nuchuu_gorira,1\nmatetsu_(nakayoshi_sanfujinka),1\ntsuzuku_(hayamisyoto),1\nspooki,1\nkurokku,1\nbokujoukun,1\nsumibiya_yasain,1\nasugano_subaru,4\ndoctor_masube,1\nbeer_tap,0\nblack-backed_jackal_(kemono_friends),4\nsecretarybird_(kemono_friends),4\nsister_nanashi,1\nresplendent_quetzal_(kemono_friends),4\nkouzuki_sanae,4\narhoangel,1\ndragon_tail_steak,0\nshiliuye_feiyu,1\nyucca_(yasabana),1\nfhilippedu,1\nhoushi,1\ndoshiko,1\noyanaku,1\nz1npool,1\ntbrsnsk,1\nbobble-chan_(splatoon),4\nsalmon_(657931354),1\nmulticolored_pajamas,0\nbantian_yindang,1\nmuni_(fdrk),1\nholding_sarong,0\ngakkou_no_seiiki,3\nsangoku_hime_4,3\nomoti_(1201208),1\nhaydee_(game),3\nheita0524,1\nadachi_(nogami_nono),1\nkonbu_(hida123),1\nmaru_(maruplum),1\nsenguyen1011,1\nalolan_rattata,4\n12.7cm_twin_gun_mount,4\nkamiya_yuuji,1\nradio_exercises,0\njakojakojako,1\nuterus_pose,0\nhaarmades,1\nrazz_berry,0\ngeiyajin,1\nkouenji_(crispina),1\ntakasaki_aneki,1\nsuou_mira,4\nponcho_(poncho),1\nahika_(akihasakuri),1\nmimi_(ranma3049),1\nkoma_saburou,1\nargyle_bow,0\nborscht_(food),0\ncoda_(ankoprpr3700),1\nzimu_jiang,1\nogasawara_hikari,4\nome_(mercury_cigarette),1\ndual_squelcher_(splatoon),0\nhero_roller_(splatoon),0\nfuka_(mizno_fuka),1\nkaizoku_ookoku_koronbusu,3\nalice_(grimms_notes),4\nnegi3,1\nonakon_3-nichi-me,1\nemodelas,1\nkojima_kana,4\nkuroge_(kewagyuu),1\nnewovermind,1\nvipper_captain,1\nmeikou_gijuku,3\neunnieboo,1\nqi_kou,1\ntoh.,1\nbreast_implants,0\nbteele,1\nmabu_(dorisuto),1\nhagano_ichigo,4\nhujimogeo,1\nnude_beach,0\nkodona,0\nfiona_fox,4\nslow_loris,0\ntacoyaki,1\nwet_hat,0\nkaku_(one_piece),4\nbing_gang,1\noogie_boogie,4\nhataraku_otona_no_ren'ai_jijou_2,3\nozma,1\nkoisuru_ojou-sama_wa_papa_to_yobitakunai,3\nsonobe_shino,4\ntoriumi_arisu,4\nyakou_(innocent_chapel),1\nruki_(senyuu),4\nkimyouna_juju,1\nhawk_(cwmg),1\nkyykttk,1\nrikamello,1\necchi_na_bunny-san_wa_kirai?_2,3\nnervegear,0\nnanigashi_yakko,1\nkrace,1\nminato_kazumi,1\npeta_(taleslove596),1\nbashikou,1\nmiusa,1\ninuwi_(yokose_y),1\nmochida64,1\ngemini_paradox,4\nottilie_kittel,4\npvmivs,1\nkuze_(ira),1\nsun_stark,1\ndieselmine,1\nsmskt_25,1\ngrim_(grim_adventures),4\nstar_bit,0\nwhitey,1\nkero_(tomoki-tiger),1\nkamiigusa_misaki,4\nplayer_(god_eater_2),4\nshinsei_inazuma_japan,0\nguhua67,1\ntakatsuki_nanami,4\nkeith8387,1\ngabuccc,1\nsukumizu_tabehoudai,3\nlor_starcutter,0\nadcd,1\nhimeneko,1\ncheckered_swimsuit,0\ncure_rhythm_(cosplay),0\nbunker,0\nami_hideto,1\nhitaishou_chiritori,1\nmonk_(syugyousou),1\nkassadin,4\nimpossible_shorts,0\nmiyoshi_(m-mallow),1\nkuroma_(no_plan),1\nshishamoji,1\nudan,1\nbooby_trap,0\ngd._fengzi,1\nnagidori,1\nnakanishi_toshimi,4\nshimizu_kyouko,4\nadenine_(artist),1\nwyx2,1\nraochuu,1\nsaitou_kon,4\nshuiro,1\ntail_stand,0\ntodayama_kyouko,4\nedgar_valtinas,4\nyatufusa1,1\nkyouta_(a01891226),1\nmotsu_(sararia),1\numino_tomo,1\nhinomoto_akari,4\ncaptcha,0\nsennotane,1\nhongou_kazuto,4\nrpk,0\nmoray_eel,0\nsonic_cd,3\nsionsionsion,1\nmervia_siebel,4\ntsurugaya_otsuu,4\nephtracy,1\nmobu_yuri,4\nnekomiya_yoshiko,4\ncio_hakatano,1\nharuna_konomi,4\nakagi_anna,4\nnakajima_atsushi_(bungou_stray_dogs),4\nshiori_(magical_girl)_(princess_connect!),4\nmiyako_(halloween)_(princess_connect!),4\nutsumi_erice_(swimsuit_avenger)_(second_ascension),4\nbattleborn,3\nfairy_knight_gawain_(ice_warrior)_(fate),4\nmonu,1\nwater_valkyrie_(p&d),4\ngenjitsu_no_yohane,3\ndailybloopy,1\nhibarigaoka_ruri,4\nban_(one_ban7241),1\ngakudayo,1\nclarisse_(soleil_blanc)_(granblue_fantasy),4\nanyacchi,1\nshaving_armpits,0\nking_halo_(noble_white_cheer_attire)_(umamusume),4\ntanacris_(third_kureko),4\nartemis_(third_ascension)_(fate),4\nbanbiiiino0303,1\ngreat_rune_(elden_ring),0\nkkix25,1\nhuracan_(vivid_strike!),4\nyuuyu_(yuuyu015),1\nraiden_punching_armstrong_(meme),0\nmaruyama_kurehiro,1\nmarikouji_kaede,4\nyunoji_(makuswel),1\nyamato-no-kami_yasusada_(kiwame),4\nbismarck_(iron_black_elysium)_(azur_lane),4\nunder_the_table_(arknights),0\nnick_wilde_(cosplay),0\nump45_(the_wish-making_sorceress_of_fireworks)_(girls'_frontline),4\ngreen_gym_girl_(nagase_haruhito),4\ndazzle_(shinkonryu),1\nsleepysolaire,1\n2027_(submarine2027),1\ncayna_(leadale_no_daichi_nite),4\nkyosuke1413koba,1\nark_royal_(coast_watcher)_(azur_lane),4\npeter_strasser_(a_moment_frozen_in_pure_white)_(azur_lane),4\ntama_gotoh,4\nkou_(kokounene),1\nberdly_(deltarune),4\nguitar_little_sister_(hitomi_o)_(cosplay),0\nnay_akane,1\nsmokey_(alchemy_stars),4\nborscht_(artist),1\nkayna_(monster_hunter),4\nyuul_b_alwright_(mythbreakers),4\nfalcon_(girls'_frontline),4\nwalking_mushroom_(dungeon_meshi),4\nmeldine_(g_(genesis1556)),4\nkodama_(sakura_yuki),4\ntraining_drone_(girls'_frontline),4\npzb39_(girls'_frontline),4\nalyssa_(irotoridori_no_hoshi),1\nkumatangent,1\nmeimei_(cb_mei),1\ntomurasuisen,1\ngou_haihaihaihai,1\nmitsuru_(mitsu5),1\nsoukoku,1\nshimijimi,1\nelven_founder_(ishiyumi),4\nflower_collar,0\nheart_challenger,0\nshuangbatian,1\nfinnish_army,0\nrice_shower_(umamusume)_(cosplay),0\nmega_man_10,3\npai_daxing,1\ndefaultz,1\nlittle_princess_(guardian_tales),4\nna_ta53,1\ntenroy,1\nratti_(shepherd0821),4\nakeha_(nier_reincarnation),4\nfellbeast,4\nstele,0\nmoonshen_timojim,1\nboku_no_edamame,1\nmorisaki_jiro,1\ncordelia_(bridal)_(fire_emblem),4\nnot_nodu,1\ntenpyou_no_kitsune,1\nantonio_(gyee),4\nhoshina_hoshimi,1\npatxi_(fate),4\natui_(utawarerumono),4\nextra_horns,0\ntempenite,1\npochi_(askas_is_god),1\namakawa_mayu,1\nsono_chieri,4\nmodoki_kuma,1\nmatching_ring,0\nmomoka_(abc_momoka0718),1\nsuzumura_yuu,4\nchiem_(vtuber),4\nba_ra_ran,1\nshirousagi_(sirousagi1998),1\nni_yuu,1\ngrausummon,1\naltessimo_(idolmaster),0\nexecutioner_maid_(centuriic),4\naridonall,1\nabyssal_hunters_logo,0\nbattle_angel_alita:_last_order,3\nmuta_kokichi,4\nline4x,1\nreijou_kanritou_~seifuku_shoujo-tachi_no_sakunyuu_reizokuki~,3\nlendivere,1\nxiaoxiao_de_kuangsan,1\nheshiko_disco,1\nastral_(yu-gi-oh!),4\naphrodite_(hades),4\nerimiyaman,1\nblack_gemstone,0\nmie_(sukinako_ga_megane_wo_wasureta),4\nness_(mother_2)_(cosplay),0\nhanuma_hanma,1\nzelo6,1\nayaya_(ayaya_ri),1\nonofre_wayne,1\nmiko_no_kamiko,1\nkaibara_elena_(cookie),4\nselka_zuberg,4\nhasegawa_urumi,4\nk_sen212,1\ndaniaeru,1\nleaf_(black_souls),4\nxerbatt,1\nreikakrzk,1\ntsuyuri_eri,1\nyueyue_no_hand,1\nkan_liu_(666k),1\nkiyovero,1\nden_dengaku,1\nsenacolada,1\ngaruru_(pripara),4\nnonh_(wormoftank),1\ncamilla_regina,4\npeneko,1\npredict,1\nagata_katsuhira,4\nnekopantsu_(xxxxxxxxx0621),1\nyagitome87,1\nsix_shame_faces,0\nsaberstaff,0\nkamari_(kama_ri),1\nmechanical_bird,0\ntakayashiro_yuzuka,4\nohako,1\nvolcanion,4\nisaac_hein_iii,1\nkaga_(battleship),0\nash_(closers),4\ndearche_kings_claudia,4\ntsuru_ringo,1\npumpkin_earrings,0\nbiscuit_griffon,4\ntibetan_clothes,0\ninternet_positif,3\nnekotamago,1\nnomura_(higurashi),4\nhuman_(lineage_2),4\nsansetsukon_no_lily,4\np.k.f,1\nkenja_no_mago,3\nariel23795,1\nnakamura_(ryou),4\nyuguran_(specs),1\nkobold_(monster_girl_encyclopedia),4\nchirithy,4\nshadow_yukiko,4\nkoyashi24,1\nz.s.w.,1\ngyakushuu_no_hoshiumi,1\njisuart,1\nkobayashi_yoshio,4\nimplied_anilingus,0\nchina_railway_girl,3\ndigimon_world_-next_0rder-,3\nranpo_kitan,3\nsven_(svenners),1\nabigail_(final_fight),4\nacchan,1\nsparrow_(xici9527),1\nzinnadu,1\nnicolas_brown,4\ntasouken,0\nfrogcage,1\nfiend_(juniper's_knot),4\njuniper's_knot,3\nfushimi_asuha,1\nonly_human,3\nyamada-san_wa_tottemo_baka_nan_desu,3\nnamu76,1\nsaratoga_(scharn),1\ndouzen,1\nelvetie,4\nshu_zo_(show_by_rock!!),4\nwusebuhui,1\nblack_knight_(dark_souls),4\nmurabito_sono2,1\nmikii,1\nfairy_(breath_of_fire),4\nshimejirou,1\nramune02,1\ntetsutetsu_tetsutetsu,4\npachyphytum,1\ndrow_ranger_(dota),4\nyurix,1\naoi_(lightsource),4\npiyo_(p_i_y_o),1\nmoiko,1\nmoko_(alice),1\nmizuhi_kou,1\ntopiary,0\ntou_ilie,1\nmarie_&_gali,3\njuan_(pokemon),4\na_(show_by_rock!!),4\nskyrider,4\nferret_tail,0\nkuryuu_megumi,4\nazumi_tooru,1\nmasked_lady_(deemo),4\nenseisong,1\nmurasaki_orange,1\nseymour,1\naizawa_natsumi,4\niyoda_mato,1\nluka_redgrave,4\nshiba_meiji,1\nhoney_bee_(bancoth),1\nmihamimo,1\ntoudou_kohaku,4\nlive_on_cardliver_kakeru,3\nsaikin_osen_-_bacterial_contamination_-_(vocaloid),3\nsaijou_hirokazu,1\nmujuuryoku_kantai,1\ntadano53,1\nwasanbon_(atwazooka),1\nkappa_(arakawa),4\nericsakura,1\ngogo,4\nmidou_masato,4\ntwilight-g,1\nshima_kujira,1\nthreaded_cane,0\nag_ss41,1\nnyako_(hitsuzineko3),1\nkanechitomoyo,1\nsakura_hazuki,1\npunishment_game,0\nbodies,0\ntaisa_(h68533631),1\ndorara9002,1\nsumikaze_midi,1\nblack_sheep,0\ntechwear,0\ntarariko,1\ngokurakuin_miito,4\nmohomen,1\nchar_(angel_beats!),4\nkishi_kaisei,1\nmizuse_kotone,1\nannerose_vajra,4\nshirotake_jinan,1\ntadakuni's_little_sister,4\nchinese_bellflower,0\nf-rhine,1\npotepote,1\nshivaharu,1\nilluminati,0\nreitsuki_kazuma,1\ndream_eater,4\nmusashino_udon,1\nubel_blatt,3\nyou_shugyouchuu,1\ncable_(marvel),4\nghound,1\nsou_ryuu,1\nak2,1\nquincy,0\nti_keep,1\nmumu-crown,1\nagahat,1\nfujino_kiyoshi,4\naugmented_reality,0\nsoojie_roh,1\nsazame,1\nixen-fei,1\nfutakoi_alternative,3\nui_(kirin),1\ntim_drake,4\nnijita,1\nkaeru_(ka=l),1\nhimekaidou_hatate_(cosplay),0\nprovocation,0\nraccoon_(trickster),4\npisu_1107,1\nabyssal_pacific_princess,4\npapiko_(sogebusaretai),1\nmizukami_satoshi,1\nhai,1\ncuvelia,4\nleliel,4\nishida_akira_(seiyuu),4\ncristina_valenzuela,4\nccllsaikou,1\nrqtkrqtk,1\nokinawa,0\nnarue_no_sekai,3\nkemu_inu,1\ninu_wi,1\ns4_league,3\nto_ze,1\nsalada,1\nalek_reyes,1\ncharacter_balloon,0\npersephone_ii,4\nstrawberry_pop_moon_(idolmaster),0\nnax,1\nai_(ai1470),1\nfymrie,1\nbulge_to_face,0\nfondolger,1\nbloom_(irys),4\nvertical-striped_necktie,0\nakagi_(dawn_phoenix's_summons)_(azur_lane),4\nflorbetriz,1\nchierishu,1\nfamicom_cartridge,0\nkirby's_dream_land_2,3\nyukino_ko_(yukino_shiratama),4\ncherinova,1\ncalcite_(arknights),4\ninana_umi,1\nhusui_parashi,1\namamiya_momona,4\nyuui1994,1\nyellow_suit,0\norcbarbies,1\nvane_(halloween)_(granblue_fantasy),4\nrain_wzq,1\ncarcass,0\negypt_(hetalia),4\nhiiragi_yuzu_(cosplay),0\ngogg,4\nfishsyrup,1\nheavy_ball,0\nsherylnome,1\nshuzoku_fumei,1\nadcalcium,1\nnaglfar,1\nraenoreto,1\nblack_tunic,0\norbited,0\nthe_scarlet_devil,1\nyazi114,1\nsawada_mio,4\ngantai-_(gxntai),1\ntalia_gladys,4\ncrown_of_insight,0\nratchet_&_clank,3\nsamia_of_the_shifting_sands,4\nboogeyman_(housamo),4\ncyde,1\nzombie_ke,1\nhanged_man,1\nna_bia,1\nishida_hiroyasu,1\ncarlos_marlon,4\nsaw_blade,0\nmr._rime,4\ncard_crusher,4\nsaitogiulio,1\nzuchi00,1\nhyara,1\nberserker_(tera_online),4\nviolet_parr,4\npenis_gag,0\nsost_fgo,1\nhurybone,1\n2r-_(pixiv8168114),1\ngigantamax_eevee,4\nvolume_symbol,0\nmillie_(paper_man),4\nsilva_(gentian_blue)_(granblue_fantasy),4\ntouka_(fukuoka_katsumi),4\naikawa_akane,4\ni-chandraws,1\ncyobiro,1\nbear_ringer,1\nhati,1\nkankitukou,1\npassimo,1\nhaduki_tohru,1\ndr._gero_(staedtler_0508),1\nlextodrawstuff,1\nmysterious_heroine_xx_(second_ascension)_(fate),4\nsolace,1\nvoy@ger_(idolmaster),0\nshigino_hayato,4\nkenmaster17,1\nkannazuki_yukito,1\nmeimu,4\nscan_dust,5\njohn_kafka,1\ndeku,0\nuriel_(alchemy_stars),4\ncagnazzo,4\nmisaq,1\nhayagiri,1\nyas_bitch_slay_(meme),0\ngigi_(whoopsatro),4\norange_bandeau,0\nmary_read_(swimsuit_archer)_(first_ascension)_(fate),4\ncross-laced_shirt,0\ncode009,1\ninae_koron,4\nkamen_rider_jeanne,4\nholding_shaker,0\nnagainosfw,1\nyamada_naoko,1\nrererere_mon,1\ntsujidou_miyuri,4\npoopy,1\nhokuyuu,1\nleaf_(pokemon)_(cosplay),0\nmew_ichigo_(cosplay),0\nkurosaki_sasori,1\nzaoanjisi,1\nkiitos,1\njapan_airlines,3\npennsylvania_(azur_lane),4\nlotus_(brand),3\nnufucha,1\nsaaal653,1\nsumiobunnya,1\nberetta_ar70,0\neurika_(falkyrie_no_monshou),4\nleafy_(kitsuneya),1\nvalentine_(tank),0\nworld's_edge,0\nramiki,1\ngundam_combat,3\nmamiya_otaru,4\nround_shelf,0\nokomeito,1\nravi_(epic_seven),4\np-chan_(suite_precure),4\ntokumaru,1\nnabunabu,1\ntizibade,1\ncoco_mercury,4\ndeer_skull,0\nporuneu,4\nmito_tomiko,1\nflaming_arrow,0\nsenbei_(roof-lock),1\nuphir_(megido72),4\nhiiragi_akio,1\nsai_hinoki,4\nkamen_rider_joker,4\nviscum,1\nfacedesk,0\nsollyz_(sollyz),4\ndefense_of_the_ancients,3\nkanitumuri,1\nkokonattsu,1\ngugalanna,4\nroutemoc,1\nmysterious_heroine_x_alter_(fate)_(cosplay),0\nmukai_(kof),4\nashinagi_(bijutu1),1\nkuuga_(mighty),0\nsavage_babe,4\nseria_kirmin,4\nsakura_mafumi,1\nao-yume,1\njanice_(chrono_cross),4\nnamazuo_toushirou_(kiwame),4\nkiyokazu,1\ntarai_(yamadarairai),1\nmarumarukin,1\nkkeiixxx,1\nnuekane,1\nkizaki_aoi,1\neugene_chaud_(mega_man),4\no3tofu,1\nhair_salon,0\nhonami_mikura_(amino_dopple),4\nvietnamese_commentary,5\ninternet_survivor,3\nms_(momose),1\narcle_(kuuga),0\naraka_luto,4\nparupome,1\nangelina_rocca,4\nharakawa_ken'ichi,4\nmau_sakura,1\ntsukikaze_aki,1\nolivia_(matilda_fiship),4\ndrum_(acta2436),1\njaguarman_series,0\nresi,4\nhiroshi_(ao_oni),4\nato_(ml_cc_g),1\nminobey,1\nribbed_jacket,0\nirako_mikan,4\nyellow_bracelet,0\ngear_print,0\nnyxview,1\nkeishi,1\nchae_na-ra,4\nh&k_sl8,0\nkotama_(blue_archive),4\nlouis_(beastars),4\nizabel_(madoka_magica),4\ng-saviour_gundam,4\ndragreder,4\nirumyuui,4\njane_(girls_und_panzer),4\nhina_asuka,4\nzuosi_zhichu,1\njango-joe,1\nanju_emma,4\nyuro_(mangasukinoyuro),1\nbercouli_(sao),4\nnacho_(nacho_1103),1\nazalea4,1\nni_celery_pk,1\nmiya_osamu,4\nmiyakawa_hikage,4\nyonago,1\nusseewa,3\nomega-xis_(mega_man),4\npictoria,3\nvulture,0\nazaya_(kuroi_azaya),1\nrobocop_(character),4\nkisama_(0213),1\nten_year_artist_progress_record,0\nmiyauchi_yuusuke,1\nsakurazuka_miki,4\nmemi_(gamemix),1\nshin_(shincrz),1\nkotomaru,1\nluchs,4\nrykysd,1\nyuzuha_(vtuber),4\numino_kiri,1\nembroidered_garter_belt,0\nmentaishi,1\nproject_(league_of_legends),0\nflatwoods_monster,4\ngiru_(dragon_ball),4\ncave_spider,4\nkwakah,1\nchanifge,1\nmomiji_(makuran),4\nhead_on_back,0\ntorasigure,1\nshinko_gunsei,1\nouer_moyu,1\nomisoshiru,1\nlatte,1\nniksoncrazy,1\nkashi-k,1\nambasa,1\nvieny,1\nasa_(asa_410st),1\ncamp_buddy,3\naoba_miu,4\nseset,1\nfenixman12,1\nsawayuzu,1\nsoar,1\narturaxia,1\nchurayuki,1\nyagiwashi,1\nhanon_(heartofsword),1\nonasu_(sawagani),1\nnorne_(fire_emblem),4\nhime_apple,1\njuvisy,4\nsaint_uvuv,1\npewposterous,1\nxiaomu_(a414171448),1\noctorok,4\nkkuwa,1\nonee-san_(penguin_highway),4\ntsukumo_nikyu,1\ntsubudashi,1\nmiyajima_(anthem-anthem),1\neisenwane_(sword_girls),4\nroy_(arknights),4\npurring,0\nart_study,0\nk3nzoteruta,1\nkoromia,1\nashi,1\nsouseiseki_(cosplay),0\nnorte,1\ntutor,0\nkurogane_tekki,1\nmidomido,1\nsaon101,1\nk12io,1\nzendamu,1\naiiro_bokujuu,1\nwarayanuko,1\nraptor,0\nhuckebein,4\nservachok,1\nkioroshin,1\njagi_(jagi_souken),1\nsakanobo_(sushi1021),1\ngloomy_(leonzo030),4\nabsorbing,0\nai-chan's_mother_(tawawa),4\nrunmo77,1\nbunny_paws,0\nredum4,1\ntowor_n,1\nuumenn,1\nunitaka,1\njapanese_national_police_agency_(emblem),0\nbucephalus.tvt,1\nkaren_ngao,1\ncommander_(forever_7th_capital),4\nbaldur's_gate,3\nimori_(46296895),1\njay_(shining_star),4\nchichikoucha,1\nguard_(girls'_frontline),4\ncamp,0\ntrolley_problem,0\nak-74u_(girls'_frontline),4\nnagitaro,1\njuu_ame,1\nonomachi_haruka,4\nplar0846,1\nyagate149,1\nuruha_rushia_(cosplay),0\nhayun,1\nbiker,0\ngen_(street_fighter),4\namulet_coin,0\nprinz_eugen1938,1\nriesun,1\nmotsupu,1\ntokuda_shinnosuke,1\nmimi_(mimi3mimimi),1\nkomugi_(2212),1\nnatsu_(rodysanp),1\narashio_(azur_lane),4\ncherre,1\nharley_(pokemon),4\ntelepurte,1\nishikane_aoi,1\npocahontas_(disney),4\nmerrick,1\numesasami,1\nbah_(dragon_ball),4\njirofly,1\nmaij,1\nbloody_crow_of_cainhurst,4\njump_king,3\nkbisuco,1\nonly_norisu,1\nryotarou_(seyana),1\nawazake_(2wairu),1\nmesa,0\niwai_munehisa,4\noliverror,1\nsorey_(kamui)_(tales),4\nlopmon,4\npaw_up,0\nsortiliena_serlut,4\nshiro_hebi_rei,1\notachi,4\npepsi_japan_cola_challenge,0\nlandel,1\nsword_of_seiros,0\nirem,3\nsulong_form,0\nspica_(yukataro),4\nmamezara,0\nkuroyoshi,1\nhermes_(azur_lane),4\nhunter_(azur_lane),4\nmikanagi_yuri,1\nkaneshiro_sora,4\nrije_(ikeuchi_tanuma),4\nibuki_mio,4\nmudamoro,1\nyoneda_taishou,1\nko-ma,1\nmaquia,4\nsonoo_koo,4\nkumahubuki,1\nsaku2621,1\ntsubasam,1\nkan_(pyy_c12),1\nsakura_machizaka_stories,3\nafba,1\ndemeter_(fate),4\nsomjeu,1\nthigh_bands,0\nyanagi_haru,4\nhumar,4\nkago_(lelien7),1\nlovey_(pride_of_eden),4\nhild_(aa_megami-sama),4\njoffre_(azur_lane),4\nnecronomicon_(persona_5),4\nwixoss_diva(a)live,3\nsculpting,0\nchinchira,1\nren_zhafan_paijizu_xitong,3\nakutsumi,1\nokumura_eiji,4\nwa--ka,1\nbarlunn,1\nkageco,1\nmugino_kouji,1\ngareki_(pandanokami),1\nnkshoujo,3\ntemperance_(tarot),0\nmorung,1\ncure_lovely_(cherry_flamenco),4\nmemoi,1\naeon_(skullgirls),4\ngreen_babydoll,0\nlisu,1\nmutsumi_(utawarerumono),4\nasuna_(blue_archive)_(cosplay),0\ntrigonometry,0\nray_(nagaseray),1\nkatsura_yukiji,4\nbenelli_m4,0\nplatinum_disco,1\ntsukina_(artist),1\nkaku_seiga_(cosplay),0\ntheoto_rikka,4\natori12,1\nnishikimaru,1\nshizuoka_mirei,4\nama_no_jaku_(vocaloid),3\nkyu_kyu_kyu_nyaa,0\nsatsuki_(kancolle)_(cosplay),0\nmaid_fairy_tale_(idolmaster),0\nsmelly_penis,0\npeanut_butter,0\nlittle_renown_(azur_lane),4\nmatenshi_(touhou),4\nhard,1\notonaru,1\nyatatashira,1\nkashima_fumi,1\ncyberspace,0\nat-at,0\nsongjo,1\nsumadera_yukio,4\nsemimarusemi,1\nxian_jian_qi_xia_zhuan_7,3\ngreasymeta,1\naji77,1\nfeng_mao_mc,1\nkuroama,1\ngaro,4\nmaus_(ash_arms),4\nnanoder,1\nkleken_(alchemy_stars),4\npreceptor_seluvis,4\nwanko_(realsight),1\nnosh,1\nkgeroua,1\nshio_(s_alt_shio),1\nkinoto_(ruindivinity),1\nmilky_(ishuzoku_reviewers),4\nhoyo,1\ntenma_maemi,4\nappare-ranman!,3\ntakase_(takase1214),1\nleg_behind_shoulder,0\ntome_(wolf),1\nhatoya_kohane,4\nind_(121),1\nsabamisob,1\nirima_(doron),1\nisomer_(girls'_frontline),4\nkujikawa_rise_(cosplay),0\nkarashino,1\nyuri7s0,1\nfolding_stock,0\nkaisar_lidfald,4\nharukaze_soyogu,1\nmeia_gisborn,4\nnekosination,1\nmashiro_yuki,1\nramuda_(guilty931),1\nbroken_shield,0\nshirogane_kihen,1\nryofuhiko,1\nfilament_(ar_tonelico),4\nhomomomomon,1\nwindbard,1\nhanabasami_kyou,4\nmitsui_mana,1\npomimiko,1\ngrease,0\nk_harris,1\nwitch_(goblin_slayer!),4\nsmirnoff_(vodka),0\naoi_hatori,1\nkiyota_yoshinori,4\nhagino_kana,4\nbruxish,4\nsawana,1\nhinatsu,1\nkoowa,1\nhisaka_(cookie),4\nsesshouin_kiara_(cosplay),0\nacasta_(azur_lane),4\nshillo,1\nisou_doubaku,1\npham_thi_ran,4\nxin_(zinc),1\nchristoph_aurel_arland,4\nwet_leotard,0\nvita_clotilde,4\nsiki_222,1\nosanzi,1\nopera_vectra,4\nseijo_no_maryoku_wa_bannou_desu,3\ntowing,0\nmdr_(mdrmdr1003),1\nperoppafu,1\nelven_knight_(dungeon_and_fighter),4\nmirelia_q_melromarc,4\nmitarashi_o,1\nshiina_rei,1\nstolas_(megido72),4\nhs.50_(girls'_frontline),4\notsutama_takashi,1\nootsuki_mina,4\nrukawa_kaede,4\namerika_zarigani,1\ntobita,1\nmiranda_(quiz_magic_academy),4\nbeta_(dream_hunter_rem),4\nalpha_(dream_hunter_rem),4\ncody's_art,1\nochau,1\nmonta,1\nseiju_natsumegu,1\nlyner_barsett,4\nclaptrack,1\nshoushu,1\nmephisto_(suite_precure),4\nyukimura_seiichi,4\nundine_(seiken_densetsu),4\nback_hair,0\ntakamine_mion,4\nshimura_shinpachi_(cosplay),0\nazumakuro,1\ntomcho,1\nb.sa_(bbbs),1\nnagihito,1\nmarika_(marie_&_gali),4\nghost_(starcraft),4\ntriple_baka_(vocaloid),3\ntyun,1\naomi_riru,1\naisha_(ash),4\nt-bth,1\nhirayama-h,1\nricca,1\nice_cream_cone_on_head,0\nsoushin_souma,1\ntwo-sided_capelet,0\nao_yasai,1\nitouei,1\nparallel_akiba_gakuen,3\nargent-ag,1\nshingyouji_mao,4\nsetsuna_(needless),4\nonikiri,1\nlsd,0\npower_level,0\nmadao,1\nazumamutuki,1\nnun_(marchen),4\nweltol,1\nodst,4\ncaptain_(hellsing),4\nyanagisawa_masahide,1\nkoyasu_takehito,4\nsugiya_manao,1\nkaiseki,1\ndig_dug,3\nthunder_badge,0\nnekogasuki,1\ntsukimido,1\nfuzuki_yoshihiro,1\nleopard_(sorakake),4\nbondo,1\noreha00701,1\nst06,1\nmiko+resurrection,4\nalice_(baalbuddy),4\nbara_no_maria,3\nsakurami_kyouko,4\nrukawa_sara,4\nharuka_nana,4\namatsuki_colors,1\nnemurimangetsu,1\nseizon_senryaku,0\nex_hien,1\nselina,1\nriku_(lingsky),1\nakuta_michi,1\nmask_alice,1\nmiki_(viper),4\ngrey_wolf,0\nsena_(ichiroku),4\nikuwataru_nagomi,1\notsukaresanpo,1\nzeno_1/128,4\nnail_hair_ornament,0\nnekonyan_(nekoworld),1\nultraman_nexus_(series),3\nfrench_clothes,0\nkorotan,1\nbrand_(league_of_legends),4\nshizume_genma,4\ndolcexxx,1\npause,3\nritsuko_(rittii),1\nnonbei,1\nchuukarudoruhu,1\natum_(stand),4\nnawo_(peace),1\nyuuki_sara,1\nnagi_kanami,1\npesu,1\n21grams,1\nvoldemort,4\ntcmk,1\nfukushima_masaru,1\nhealer_(7th_dragon),4\nhanami_mariya,4\nte_ru_ya,1\nenma_(mythology),0\nalice_blanche,4\ngouda_hiroaki,1\nhekeniko,1\nhamada_mari,1\nxxxxakixxxx,1\nmanfred_von_karma,4\nshouta_(shbz),1\nnmknf_(mkn),1\nmescaline,1\nkakikukeko,1\nrideback,3\nmandala,0\nmorph_ball,0\nsupreme_candy,3\nnoromi,1\neroppu,4\nyukkii,1\nground_gm,4\ndaico,1\njackie_chan,4\nnyuusankin,1\nkuroki_masahiro,1\nmoritomo_nozomi,4\nmilk_(artist),1\nnatsuka_qya,1\nalfonso_san_valiante,4\nsatoshi_igarashi,1\nchidori_kou,1\nfallen_of_albaz,4\nedward_confronts_shou_tucker_(scene),0\nfacejob,0\nkanden,1\nmoonlight_(base),1\nnihohe,1\nnevan,4\nmugcan,1\nhonoka_(ranukirai),1\nnamisi,1\nonmitsu_doushin_a,1\nperiscope,0\nbigur,1\niver_(reviolet),1\nsd-sos,1\ndew-spiegel,1\nmoto_gp,3\nfuoco,1\narx-8_laevatein,4\nyamada_rokkaku,1\nrokujou_jun,1\niichan.ru,3\nasou_asuna,4\nayasaki_wakana,4\nshakugan_no_shana-tan,3\ncharlott_camile_herlingum,4\nakabei,4\nshikimori_ibuki,4\nlind,4\nsrx,4\nebisu_senri,1\nasai_mugi,4\nitou_izumo,1\nkimidorin,1\naerobics,0\nphysis,4\nsumosamo,1\nmiwa_maku,1\nteperyndroors,1\nima_soko_ni_iru_boku,3\nnagisa_kaworu_(cosplay),0\nback_scrubber,0\ntanaka_punie,4\nlouise_francoise_le_blanc_de_la_valliere_(cosplay),0\nasahina_suzuka,4\nkonoe_nanami,4\nkousaka_makoto,4\nmine_fukaki_se_ni_tayutau_uta,3\nmiwa_hitomi,1\nkazakami_shun,1\nrody_soul,4\njuuken_sentai_gekiranger,3\nmaebari_teikoku_no_gyakushuu,3\narchaic_sealed_heat,3\nkaminendo,1\nkanazawa_hiromu,1\nburuxugi,1\nshio_poteto,1\npiyopiyo_(pphiyo),1\ndodonpachi_daifukkatsu,3\nvolkan,4\nsuzuno_kouya,1\nkatsu_aki,1\nazure_kite,4\nblack_canary,4\nyu_(lovepayon),1\nsyacyo,1\nleung_ka_che,1\nfm77_(artist),1\ndias_flac,4\ninagaki,1\nkiso_fumihiro,1\nyield,4\nhidechuu,1\nsuwi,1\nmichishita_masaki,4\ndaemonette,4\nriqurr,1\naymeric_de_borel,4\none_hundred_scenes_of_jiangnan,3\nninjatic,1\nlou_roux,4\nkotatsumuri,1\nalicia_priss,4\npyron,4\nsaisho_no_nakama,1\nmeiko_(puua),1\nartsunisiju,1\nwarped_context,0\nmarche_radiuju,4\ngogochi,1\nart_room,0\ndark_mint,4\nlowah,1\nholykoshi,1\nx-change,3\ncrossbow_bolts,0\nrio_(otosuki),4\nsegawa_haruna,1\nnokia,4\ncanae0,1\nkaza,1\naya003030,1\nedward_elric_(cosplay),0\nshima_juuzou,4\nmatsushima_koyuki,4\ntanada-bon,1\nkusunoki_yua,4\nsahare,1\namanohana,1\ngetter-3,4\nbattle_spirits:_brave,3\nstashia,4\nyuuki_shougo,1\nibuki_mana,1\nlost,3\nnire_nanaki,1\nmatt_cummings,1\nwelts,0\nmicaiah_chevelle,4\nwizardess_of_oz,4\ndameyo,1\ninjuotoko,1\nshiro_amada,4\nrena_geminis,4\npla0658,1\nhacking,0\nfee_(fire_emblem),4\nharu_no_hito,1\ntoothache,0\nguunome,1\nmonsterhentai,3\nthrough_panties,0\nlaura_(houtengeki),4\nzed_(trungbui42),1\nryuujou_mashiro,4\nriku_(kino_no_tabi),4\nmikihiro,1\nmayan_(macross),0\ntrimbil,1\nshania,4\nrenee_shika_egakan,1\nrosie99,1\ninunoya,1\nholding_javelin,0\nmi2mi2_minmi,1\nyeyuan33,1\nonigiri_(vtuber),4\nshuriken_sentai_ninninger,3\nyanfei_u,1\nrollingstonex6,1\niy_tujiki,1\nuuta_(uturautouto),1\nserious_sam,3\ngoeniko,4\nshadow_man_(mega_man),4\nrishi_(kurou),1\ntorture_dance,0\naeruusa,1\nsecre_swallowtail,4\nzealotus,4\nmuumin,1\ncreature_on_lap,0\njanku_daruku,1\nmaki_makishima_(makimaki),4\naozora_hayato,4\nlost-phews,1\nmmco,1\nagainst_chalkboard,0\nmuleta,0\nmndqn,1\nsogdin,1\ncalvaires,1\nshishou_(tensei_shitara_ken_deshita),4\ngrandpa_(shiromanta),4\nlightning_ahoge,0\nshima108,1\ntenshi_no_shippo,3\norga_(orgacl),1\nhanakoganei_hibari,4\nkumegawa_botan,4\ntamamura_tamao,4\ndai_toro,1\njessie_gurtland,4\nskirt_bow,0\nsiege_(legacy)_(arknights),4\nmechanical_gloves,0\ntoyo_(c8),1\nriding_animal,0\nmitake_miyao,4\ntwintails_girl_(kamisimo_90),4\nshibazaki_yousuke,4\nrikito1087,1\nkotegawa_chisa,4\nkaii_shoukougun_1,3\nwata0933,1\npurple_innertube,0\nirarei_(araisanblog),1\nangie_(meganekko-geki-love-1008),1\nzaso,1\nnorori,1\nakaike,1\npallas_(heritage)_(arknights),4\ncastle-3_(arknights),4\nborder_collie,0\nanswer_(guilty_gear),4\ngo_(mumuke),1\ntouching_tail,0\nyawdeone,1\ndryseaweed,1\nxia_wanzi,1\ninaki_shinrou,1\nskrelp,4\nasahi_nayuta,4\nobject_(vehicle),0\nsajima_yumi,4\ncornelia_(girl_cafe_gun),4\nashimine_arumi,4\nred_eyewear,0\nmisa_(929382672),1\ninapple,1\nsleep_kirby,4\nmaple_(abc2215),1\ngonzz_(gon2rix),1\nlittleamber,1\nnogami_(minamiituki),1\nc.q._cumber_(splatoon),4\nkaka_cheung,1\nrabimea_(ichiri),4\nwhite_haired_girl_(munashi_mujou),4\nhomura_kogetsu,4\necchisage,1\nmiruku_pan,1\ncryska_(rune_ocarina),4\npaperclip_hair_ornament,0\nprotagonist_(lost_property_control_organization),4\nnouhime_(sengoku_musou),4\nsuzuka_(suzuka9111),1\nfuko_(fukkofuko),1\nsuechiee,1\nomokage_~ecchi_na_happening!?_nandemo_dontokoi!~,3\namagai_kosame,4\nvalus_(shadow_of_the_colossus),4\ntransparent_ribbon,0\nachmad_faisal,1\nkoki_(latte1023),1\ngamma_(ogino_jun),3\nmaou_gakuin_no_futekigousha,3\nakagi_(muse)_(azur_lane),4\nblue_(nanostar),4\naku_no_onna_kanbu:_perigee_new_moon,3\njunjou_karen_freaks!_-freaks_romanticism-,3\noosaka_rei,1\nkonoha2014,1\nshellin_burgundy,4\nsudale,1\nselena_(fire_emblem:_the_sacred_stones),4\nlazycoffee_(wyen_iscordo),1\nno1shyv,1\nshigetashigezo,1\nrenroujiang,1\nmimamori,1\nnekoha_gc,1\nmishima_reika,4\nryou_(ryo_217cafe),1\nwoborou,1\nthistle_(dungeon_meshi),4\nkimono_dress,0\ntsukuyomi_(ff14),4\ngoro_tame,1\nblue_hair-chan_(ramchi),4\nmoikaloop,1\nz23_(the_banquet's_honor_student)_(azur_lane),4\nshura_(fire_emblem),4\npiiroinardesco,1\ndonnel_(fire_emblem),4\nshiro_(kida_kuro_mu),4\nmayoichi,1\njitsukawa_ashi,1\necchuu_fundoshi,0\nindigo_plateau,0\nsakura_miko_(cosplay),0\neinherjar_azena,4\nkotone_(tateha),4\nsheep_(minecraft),4\nharumiya_(meron89893),1\nvelchi,1\nnasunasuurin,1\nkitamura_motoyasu,4\nyonoko_k,1\nwakao_ruri,4\ntrainer_wants_to_battle,0\nglove_cuffs,0\nyamashiro_yui,4\noiessw,1\nlieyan_huangzi,1\nnattun_nattun,1\nyukisita_mayu,1\nakuma_gaoru,4\nyasuda_(fareast_blade),1\nboushi_(nandemo),1\ninou_eita,1\nhades1580,1\nholding_drawing_tablet,0\ncrayonchewer,1\noffice_lady_(eu03),4\nholding_pinwheel,0\ngalo_(warship_girls_r),4\nshin_(dragon_ball),4\nmojibake_text,0\nmalay_text,0\ndesyana_laurentia,4\nuta-chan_(pan_(mimi)),4\namelie_mcgregor,4\nwide_brim,0\nsevered_tail,0\nde_lisle_carbine,0\ntild_-_mage_a_louer,3\noberon826,1\ninugami_(gugukoku),4\nsemiramis_no_tenbin,3\nraicchi_(raicchi96),1\npygmalion,4\nkuro_(bombergirl),4\ntare_(hiden_no_tare),1\nmonme_(yuureidoushi_(yuurei6214)),4\nringosutta,1\ndilaih,1\nleather_footwear,0\nbattery_aida_ni_misu_ga_deta,1\nkiitos12,1\ngrey_headband,0\nanzai105,1\nnanase_shie,1\nmars_foong,1\not_(dog_wasd),1\nblack_hands,0\ntsuhiki_koyomi,1\ndan_mora,1\nammonite,0\njyaco7777,1\ncoco_(r5m),1\nebola-chan,4\ncoronation,0\nnan_(tales),4\npalm_(mushihime-sama),4\nakura_(arc_the_lad),4\nchu_chu_(shoujo_kakumei_utena),4\nlegretta_(tales),4\ntakatsuki_nao,1\nennishi,1\nhujitaumi,1\naltina_(shining_blade),4\ndolls_order,3\ndragk,1\namanda_evelyn_earl,1\nhinata_(hinata123),1\nnerimono_(nekokoban22),1\ntourniquet,0\nbad_boy,1\nnakano_(sewayaki_kitsune_no_senko-san),4\nmacaron_(ameto_yuki),4\nkenshjn_park,1\nvivi-t_(akagami),1\nyumekii,1\nmemento_mori_(m.m),1\nhanako-san_(gegege_no_kitarou),4\nkubota_hina,4\nhms_conqueror_(siirakannu),4\naynoh,1\naibara_mitsuki,1\nyaguchiya_tomoshi,1\npuuko_(iberiko_neko),1\nnishimikado_tami,4\nnanase_kaoru,4\nprince_kanata,4\nperorisu,1\narikui_(ooooalikui),1\nama_diver,0\nsakasagami_no_yura,4\nsakura_spirit,3\nkyoudou_maya,4\nroad_to_dragons,3\nglasslip,3\nsicile_gloria,1\nk_016002,1\nelise_(koakuma_teeri_to_kyuuseishu!?),4\nmil_(siratamamil),1\nyukimura_touko,4\ntoujou_nozomi_(cosplay),0\nliliraune_(monster_girl_encyclopedia),4\nbaiyin,1\nfeihong,1\nmega_swampert,4\nalicemagic,1\njuse_nozomu,4\nkousaka_honoka_(cosplay),0\nalpachiiino,1\nearmuffs_removed,0\nkuwabara_(medetaya),1\nhiki_yuichi,1\nmarino_(oyasumi),1\nhellcherr,1\nankh_(ankh_05),1\naoi_akira,4\nemuson,1\nbelldot,1\ndeaimon,3\nreplica,4\ntype_79_smg,0\narashiyama_jun,4\nkino_ayuri,1\nmizota_(rovel),1\nikkyuu_tensai,4\nsasuke_(ninin_ga_shinobuden),4\nyanagi_no_ki,1\nshiraho_(color-56),1\nmichel_d'alembert,4\nlilia_(madoka_magica),4\nmoricky,1\nma-ko_hunter,3\ntndkworks,1\nyamadaenako,1\nwu_ba_pin,1\ntenchi_souzou,3\nkonohanasakuya-hime,4\nkageakira_(shino1007),1\nfatima_(luminous_arc),4\nmatoi_isshin,4\numiushi_(poyopacho),1\ntsuboyarou,1\nyudeika3,1\nporcelain,0\nnaoko_(artist),1\nbarber_chair,0\ngobots,3\npenguin_hair_ornament,0\nnaka_ushiro,1\nbes-low,1\ninnocent_girl,3\njacqli_(artist),1\nmagiquone,4\nbakyu-n!!,0\nminisuka_to_niku_daigaku,1\nushiromiya_beatrice,4\nhayate_(higan_sakura),1\nmaccha_(jam513),1\nhosato_mikine,1\nicetiina,1\npoppo_sutchy,1\nbails,1\ncathy_idx,1\nrua,4\nruu_wan_mm,1\nmori_(gj-bu),4\ntaira,1\nsomeoka_yusura,1\nameya_shioichi,1\nlucky_channel,0\nkatou_hiromi,1\nyamado,1\ndioreta_(asicah),4\nengine_blade,0\ndragon_on_head,0\nude,1\ntamani_wakashi,4\ninquisition_(warhammer),4\naramaki_daisuke,4\nbibeak_(arknights),4\nyoshihiro-m,1\nkitiku,1\nroyal_air_force,0\nnodo_sn,1\nasmo_deus,1\njon_snow,4\nsyuurin,1\njoanna_(mojo!),1\nateka,1\nbeelzebub_(granblue_fantasy),4\nakikan_(credit),1\nbaku_(bakunooekaki),1\nzentlardy_alphabet,0\ntaiyo_akari,4\nblue_dragon_ral_omega_grad,3\nakatsuki_makoto,4\nmomingie,1\nkawahara_fantasia,1\nitsukushima_shrine,0\nmillennium_eye,0\nadam_kapowski,4\nkagehi_no_loo,1\nz23_(serious_idol_@acting_manager?!)_(azur_lane),4\ngouda_takeo,4\nyamato_rinko,4\nsakuragi_chisa,4\nclariskrays,4\nushijima_nozomi,1\nlatex_bikini,0\norguss_(mecha),4\nsaimin_enbu,3\nuttao,1\nshirataki_nako,1\nmichelle_k._davis,4\nnanase09rr,1\nshiongaze,1\nlobster_claw,0\nshikkoku_(border_of_season),1\noyume,1\nmoriah_saga,3\neburi_a,1\nshimogamo_yajirou,4\nifnil,1\nhell_princess,4\ninnocent_bullet,3\nivar_(tales),4\noozeki_koyui,4\nameng_(katena1990),1\nkobotoke_nagi,4\njolker,1\nazhang,1\nhakata_tonkotsu_ramens,3\nurakaze_(azur_lane),4\ndisgaea_team_attack,0\ncattleya_baudelaire,4\nyumekijiiro,1\nkyuujou_komachi,1\nfu-girl,4\n0byte,1\nwitoru,3\nsalon_pixiv,3\ninazuma_legend_japan,0\nsakuma_hideko,4\nkksukeke,1\nhasemi_ryou,1\nscp-682,4\nseriko_(seo77000),1\nmisawa_elena,4\nkurasuke's_maid_girl,4\nmomohime_ryouran!_sengoku_asuka,3\nlucifer_(the_seven_deadly_sins),4\nryuutsuki_basetsu,1\nkimi_e_okuru_sora_no_hana,3\nrefla,1\nmanbou_(manvow),1\nharpy_(monster_girl_encyclopedia),4\nshisonoha,1\nharikona,1\nopalheart,1\nshiokari_monaka,4\nsioagya,1\nroyal_candy,4\nmotouchi_naruka,4\ntaremayu_(kikai_tomato),1\nclumeal,1\nyumi_(soak1111),1\nsalar_de_uyuni,0\nwaistband,0\ngluko,4\natelier_lilie,3\nteketeke,1\nyuuhi_(at-speakeasy),1\nariilha12,1\nsen_hisame,1\nthe_last_comer,3\nalphe,1\nhigashikata_rina,4\nazuma_reiji,1\npig_man,0\nmina_(o414),1\nbingsang,1\nsolidus,3\nchey,1\naie,1\nbreakers,3\nkurusu_ren,1\nmonty_python's_flying_circus,3\nmokuzou,1\nvsjojo,1\n207,1\nbrave_new_world,3\nshin_mazinger_zero,3\nelsa_(demonbane),4\norihiro0614,1\nkandori_makoto,1\nkirishima_sakura_(hundred),4\ninkzooka_(splatoon),0\nmini_splatling_(splatoon),0\nhekiyama_yurika,1\ntawashi_(tawashisan),1\nwidowmaker_(overwatch)_(cosplay),0\n5ht,1\ntechnical_difficulties,0\nofukuro-sama,1\nfull_armor_gundam,4\ndrachea_rannak,1\ntoraneko555,1\nteam_valor,0\nhybrid_(1212apro),1\ninsect_glaive,0\nnaala,4\nshigure_rangetsu,4\ntorizaki_kuyuri,1\nlevel_difference,0\nheight_switch,0\nshijou_yuzuki,4\nseven_of_diamonds,0\nviscount_shishamo,1\nyajuuraku,1\nteshigawara_katsuhiko,4\nprotagonist_(susanghan_messenger),4\noki_kouji,4\nkuzya,1\ntying_panties,0\nmikeneko_mari,1\nalolan_diglett,4\nkomori_sana,4\nmiyazaki_chisaki,4\nogata_tank,1\npeachpa,1\nechipashiko,1\nraunchy_ninja,1\nmomona_(mvv),4\nnal_(studio_ng),1\nfallstreak_hole,0\nyasha_(endless_requiem),1\nmiyamo_chio,4\niroha_kaede,4\nmahou_shoujo_ikusei_keikaku_queens,3\nhirakata_masahiro,1\naikurushii_(idolmaster),0\nshonasan,1\naquna,1\namamiya_kanade,4\nsuzu_(sub-res),4\nharp_seal_(kemono_friends),4\ngreater_honeyguide_(kemono_friends),4\nkanna_kamui_(cosplay),0\n.ronde,1\nthe_dragon_knights,0\nblitz_(rainbow_six_siege),4\nyumemiru_prima_girl,3\nchoco_taberusan,1\nalice_vu,1\nhiraba_6018,1\nlayout_plan,0\nayasaki_yukino,4\nakira_ry0,1\nsara_(arorasyeimi),1\ncobushii_(arms),4\nready_player_one,3\nyagi_(s1120411),1\nracing_miku_(2010),4\ncollapsing,0\nkawabeako,1\nbungou_to_alchemist,3\nhasaki_(alice_ruru),1\nshared_hat,0\nkogakunama,1\n299_(horisso),1\nrobisonjr,1\nhinamushi_(shokuyou),1\norimiya_yui,4\npuma_tiger_scorpion,4\nsenta_(ysk_0218),1\nsailor_beach_wear_(no.s_project),0\nblipper,4\nfn_scar_16,0\nyoshimo_(yoshimo1516),1\nmei_(maple_152),1\nlydian_academy_swimsuit,0\nreo_(re2kn),1\nsiroromo,1\nyuki_len,4\nshishigami_(mononoke_hime),4\neir_(machi),4\nshougakusei,1\nsurgical_scar,0\ntakizi,1\noenothera_(flower_knight_girl),4\nmanosdetrapo,1\nsanwenyu_ganlao,1\nkurona_reole,4\ntoronto_(yamu),1\ntnmrdgr,1\nribbon-trimmed_pants,0\njapanese_skink,0\nanemos_(elsword),4\nshiro_q~,1\nasa_(memento),1\nhatsuharu_(azur_lane),4\nishtar_(elsword),4\nsorakado_ao,4\neggplant_costume,0\nshoukichi_usagi,1\nred_nipples,0\nmui_(muica),1\nwindfish's_egg,0\nmoubokobokodayo,1\nparasite_crest,0\nyellow_devil_(mega_man),4\nmodel_z_(mega_man),4\nyai_ayanokoji_(mega_man),4\nkaede_(harutan109),1\nturboflower,1\npora_0918,1\nhamza_touijri,1\npapaya,0\nsung-eun_(unleashed),4\n21_(eotyq58d6do16cs),1\nyeolyeo,1\ndiva_duo_(mechanical_buddy_universe),4\nfushi,4\n2010s_(style),0\nkounaien_(comic1217),1\nmadame_ping_(genshin_impact),4\ninubashiri_momo_(suna),4\nrents_(akirents),1\nmedici_(lord_of_the_mysteries),4\nkolibri_(girls'_frontline),4\nmg42_(girls'_frontline),4\naz_sainklaus,4\nslammo,1\nyuan_(ziranran),1\nq_haoyu,1\nblue_lock,3\nmassakasama_(style),0\nrokuya_(68_zusao),1\nliquid_metal_slime_(dq),4\ntsushima_hina,4\nhisiya_(wldn1112),1\nlan_ren_hui,1\njavelin_(energetic_idol_@120%_motivation!)_(azur_lane),4\nminneapolis_(wild_huntress_schoolgirl)_(azur_lane),4\ncelene_(3di),4\n33bun3,1\nchernobog_(housamo),4\ntetsuox_(housamo),4\nyohia,1\ncnanao,1\nwizard_(ii_orc_no_hi),4\nv_buckle,0\nclass_no_gyaru_ga_nazeka_ore_no_gimai_to_nakayoku_natta.,3\noota_kuniyoshi_face_(meme),0\nm1918_(bunny_girl)_(girls'_frontline),4\nspider-man:_across_the_spider-verse_(part_one),3\nybee,1\nshinigami_kiraki,1\nvector_(kitty_paws)_(girls'_frontline),4\ngirls_und_panzer:_atsumare!_minna_no_senshadou!!,3\ndaruma_is_god,4\nmoyashi_udon,1\nayan_1593817922,1\nbaliu,1\nzo_ochi2,1\nkumo_suzume,1\narmored_corset,0\nfletches,0\nrindou_matsuri,1\ncoin_(pokemon),4\nderaken,1\nfujimaru_ritsuka_(female)_(chaldea_pathfinder),4\njeanne_d'arc_alter_santa_lily_(summer_little)_(fate),4\nocha_(kinnkonnsousai),1\nharpie_lady_2,4\nhakasesuitchi,1\nushiwakamaru_(swimsuit_assassin)_(third_ascension)_(fate),4\nou-sama_no_propose,3\nillyasviel_von_einzbern_(swimsuit_archer)_(first_ascension),4\ngurugnsn,1\nzhuotian,1\nnattsume_(natttsume),1\nciel_(toosaka_asagi),4\nyama_usagi_(onmyoji),4\nmagical_mirai_len_(2019),4\nkitt_(yu-gi-oh!),4\nclear_(djmax),4\nitaru_(kidomh63),1\ntsumugi_(summer)_(princess_connect!),4\nindy_k,1\nnodokana_yuki,1\nshu_(pjxv7485),1\nvyo,1\ntwin-bush_disguise,0\nkunio-kun,4\nb-cat,1\nnatsuhiko_(pixiv40944),1\nnasca_dopant,4\nprofessor_sabaku,4\nyone_(qtron),1\nnanahara_kaoruko,4\nhibiki_(bagawa),1\nsuzusato_rinka,1\nkyako_youkan,1\nbaron_(baron-eros),1\nzettai_meikyuu_grimm,3\nfuujin_(ff8),4\nryuukichi,1\nkurakake_clara,4\nchikada_haruko,4\nshimoe,1\ntama_home,1\ntaka_(takalight),1\nakiba_nagito,1\nsawa_(kite),4\nvalkyrie_(lord_of_vermilion),4\notacool,3\ndark_bride,0\nthistle,0\nsex_life,3\ntsukiko_(meltdown),1\nsuyu38,1\ngun_zi_(i&eyes),1\nkawachi_(hina),1\nmatoba,1\neichi_(0903275),1\nkyoukya_(kyouya02),1\nremilia_scarlet_(bat),4\naria_vancleef,4\nbartre_(fire_emblem),4\nsuhara_(protea),1\nkojikoji,1\nmousou_youjo,1\nsleeping_beauty_(character),4\nmiyabi_(run),1\nibuki_suika_(watermelon),4\nfujii_tomoyuki,1\nmusupon214,1\nayanokouji_pai,4\nfujii_yakumo,4\npenis_bow,0\nhound_(transformers),4\nexile_(elona),4\nhionhk,1\nkasasagi07,1\nremiria100,1\nafuu,4\nmakochii,4\nwater_dress,0\ntobisawa_mana,4\nheat_(dds),4\nsweta_(sakerflc),1\nfei_(songyijie),1\nbaba_yasushi,1\nsk_jynx,1\ninari_jin,1\nchmyxo,1\nlow_horns,0\n10birthday10,1\npokemon_tcg_gb,3\ntomonaga_squadron_pilot_(kancolle),4\ntokitsukaze_(kancolle)_(cosplay),0\nmoonlgnance,1\nereshkigal_(fate)_(cosplay),0\neuryale_(fate)_(cosplay),0\nnorio_minami,1\nsamuel_b._roberts_mk_ii_(kancolle),4\naspear_berry,0\ntsuzuki_(flee_away),1\nyasaka_mai,4\nsaichuu_(more1208),1\nsora_(dkssud6580),1\n111111111_(leiyao),1\nsuezo,4\nhua_ming_wink,1\nskyape,1\nsevered_penis,0\nzinfian,1\nyouyan,1\nmadoushi_s,1\nsoraeda,1\nnonohara_nagisa,4\npuchipu,1\ntakanashi_izumi,4\nfurumero,1\nnarumi_remon,4\nserri_glaus,4\nhattori_(one_piece),4\nsharifah_ozdil,4\nalexandra_viktorovna_dashkova,4\ngolden_frieza,4\ninose_riku,1\ncologne_(ranma_1/2),4\npegasus_j_crawford,4\nyuko_(taxidermy),1\niwamine_shuu,4\nre_(tori),1\nkebei,1\ngraphig,3\npatty_(artist),1\ntama_(dragon_ball),4\nironing_board,0\nsumihara_satoka,4\nfen_zuo,1\nwebbing,0\ndeath2990,1\nkanraku,1\ndasulchan,1\nkensaint,1\ncynthia_rou,4\nsaints_row:_the_third,3\nisaac_macdougal,4\nbebe_0620,1\nrei_shabu,1\nq-chiang,1\nrioko,1\nneko0634,1\nhanui,1\nyaka_(kk1177),1\ncontrol_tower,0\nriyu_(yulevy),1\nluke_uehara,1\nexcela_noa_aura,4\nkonoyasoul,1\nharuno_hime,4\njun_(junko),1\nuntan,1\nhime_takeo,1\npar.,1\nhand_under_dress,0\nooi_choon_liang,1\noniku_(kusomushi_onick),1\nutsuwa0120,1\nkienan_lafferty,1\nmakuro_(inmomakuro),1\ncrow_(show_by_rock!!),4\namagiku,1\nnanairo_kouro,3\nhide_(rightstuff_annex),1\noota,1\nawa_(awaawa),1\nchevrolet_corvette,0\nakiran_(r32),1\ntsuyuxxx,1\nkadotarou,1\nmega_gyarados,4\npia_carrot_e_youkoso!!_2,3\nkyabetsutarou,1\nsg_(suuchan),1\nmorinaoekaki,1\niga_(nonono_tsuushin),1\nkurono_kiria,4\nakiru_(hokuouhuuhu),1\ngroza,1\nniao_sun,4\ngap_(pdmng),1\nhida_naria,1\nhimiko_(eiyuu_senki),4\nhinya_(wabi),1\nipo-chan,4\nguodon,1\nhello_hoshi_wo_kazoete,0\neris_(cosmic_break),4\nknight_(elsword),4\nnimura_ruruko,4\nopenvl,1\niwabuchi_haruka,4\nfiore_(baru),4\ndorothy_(granblue_fantasy),4\nima_(luce365),1\ntama_(05728),1\nmimori_(cotton_heart),1\nuenoike_(194753),1\nootori_ouka,4\nhacka_doll_0,4\nkurohebi,4\nnekonote_(neconote),1\ntefun_(tehun),1\nnazo_no_diaboro,1\ntake_no_ko_(4919400),1\ndimensional_hole,0\ndigimon_crest,0\nmua_(sleeping_earth),1\nlevi_russel,4\n3ping_lovers!,3\nelusya,1\nillaoi,4\neugene_sevenstark,4\nnikaidou_arashi,4\nlesser_dog,4\ngrillby,4\ntsurugi_yashiro,4\ndrum_major,0\nkasshoku_danchi_e_youkoso,3\nfubuki_(muvluv),4\nshrimp_cc,1\narcade_riven,4\nwanda_(wonder_festival),4\nglowing_veins,0\np-40_warhawk,0\nkagaku_chop,3\nclock_print,0\nsweetsoupman,1\nstanding_on_box,0\nbernie_sanders,4\nmanzoku-san,4\nmiss_siamour_(human),4\naranagi_(arng_4401),1\nbreasts_on_shoulders,0\ndelphinium_(flower_knight_girl),4\nbasilisk_(monster_girl_encyclopedia),4\napricot_(flower_knight_girl),4\ntokyo_tenma,3\nriyo_(ryon_96),1\ngfpebs,1\nninny_spangcole,4\nhiyamaru,4\ntacticsalt,1\nhachi_duchi,1\ntokeru,1\nlilith_(unxi),4\nbrendan_(pokemon)_(cosplay),0\nambertwo_(pokemon),4\nflytrapxx,1\nshiruko_(27anko),1\nkoyansuee,1\nyagi_(yagi5art),1\nmarcus_(rnarccus),1\npanapana_(pixiv_12562150),1\nmmmakaron888,1\nkamatpit,1\nzenra1112,1\ntoutou_(fufu0o),1\nmahoroba_youjo_kitan,3\ngopher_(soul_eater),4\nzhuang_yao,1\nwanco_(7200rpm),1\ndoongdang,1\nhoshiinasake,1\ngus_porter,4\nakanboh,1\nsuper_chat,0\nshared_artificial_vagina,0\ndollyspica,1\na_way_out,3\nlynx_(chrono_cross),4\nlapis_lazuli_(gemstone),0\nnai_(cnoadi8),1\nhachi_(live_union),4\ngr_(gule),1\nacco_(sh_in),1\nao_(chung0u0),1\nnew_battleship_princess,4\ngenn_00o,1\noshida_bob,1\nnatsume_minami,4\nstreet_hopper_(idolmaster),0\nalternator,0\ngerusyu,1\nluna_(punishing:_gray_raven),4\nshohje,1\ncapelin_s,1\ncomanie,1\naka_syakkou,1\nbox_(hajimeyou654),1\nchamuhz,1\nquruiqing,1\naozukikawasemi,1\namino_(li0a4),1\nievan_polkka_(vocaloid),3\nyoi_(tokoyoi),1\nnai_kitsu,1\nten_ryuu_sadaaki,1\nkodomonomikata_(noikurezant),1\nmiyama_waka,1\nsailor_crest,0\nizumi_shin'ichi,4\nshirosa,1\njoya_no_kane,0\nasahina_yoi,1\nyahoo,0\nmizuongaku,1\nhotateyuki,1\norgun,4\nao_homura,1\nnaruka_(ynarukay),1\nnumber_hair_ornament,0\nscarmiglione,4\neun_soyeon_(lustyfox),4\nkokonoe_misui,1\niskanderednaksi,1\nkanzaki_sayaka_(hg_ni_koisuru_futari),4\ntea_(084630000),1\nred_hood_(kawaguchi),3\nkkato,1\nruche,4\nhitsuki_(hiidukii),1\nelizabeth_bathory_(japan)_(fate),4\nhemyi,1\ndoctor_(arknights)_(cosplay),0\nshinomiya_akino,1\nju-on,3\nhwoi_(hw_123),1\nnoah_ebalon,4\namane_tsukuyo,4\nayashimon,3\nto-ya_(to-ya_can),1\nurabe_miyabi,1\nershin,4\nroy_campbell,4\nsoftp3ach,1\nshokorate,1\nyu_xiu,1\ntorisumi_horou,4\nblocking_kiss,0\nshiro_wa_(shiroshironix),1\nkasy,1\nasaba_ureshiko,4\nkagami_masara,4\nyoshinaga_masahiro,1\nsorting_hat,4\nstar_platinum_(game),3\ntsuna_(akmu8832),1\nichineko.,1\nakuakuran,1\ncy9,1\nsoviet_navy_flag,0\nsucho,1\nsaionji_kyouichi,4\nkuzuhana,1\nyuli_you_gua,1\ncolor_banding,5\nkabiyapyo,1\nxinghuo,1\nmoonlight's_anti-soul_(touhou),4\npark_bokja,4\nkohinata_mangetsu,4\nia_(ilwmael9),1\nniuwajun,1\npiku184,1\nroro_(shirobako),4\narifureta_sekai_seifuku_(vocaloid),3\ntirofinire,1\nlemon_browning,4\near_tug,0\niria_zeiram_the_animation,3\nsuccubus_familiar,4\nsengoku_driver,0\ntrick_(dorama),3\nnanami_izu,4\nnashi_juni,1\nlamborghini_aventador,0\nhimari_(blue_archive),4\nsaotome_nagi,4\nalicianrone,3\nanaglyph,0\nllmia4,1\nkaigaraori,1\nhyakkihime,4\nkawanishi_yuuji,1\nkingprotea_(second_ascension)_(fate),4\nmodoi,4\nkanatsuki_tatsuya,1\niralion,1\ncorroserum_(arknights),4\npuranaria,1\nglunk_(kirby),4\nkino707,1\nmosaiq_(lovechild),1\nmillia_il_velch_cutrettola_turan,4\nwinniconan,1\nmatchuri,1\nnatsu_(soulcalibur),4\nlimbo_(game),3\naura_(.hack//),4\nunderbar_summer,3\nwazy_hemisphere,4\nushiwakamaru_(corrupted)_(fate),4\nsetouchi_(blackse),1\nleslychoco15,1\nnieto_tokage,1\nrera,4\ntomie,3\nyuuki_homura,1\nmatsushima_kei,1\nice_dragon,0\nmonty_python_and_the_holy_grail,3\nroon_(viridescent_lullaby)_(azur_lane),4\nayukisa,1\nair_defense_cruiser_princess,4\ncracked_shell,0\nhashima_chihiro,4\nviolet_(ac8231),4\ndeadbeat_(calliope_mori),4\nkogarasu1st,1\nshuku,1\nmukuro_(yu_yu_hakusho),4\nmiyao_gaku,1\nhikari_yui,1\njoeian,1\npikojirokurao,1\nkatzueki,1\ndynorz,1\nlinbai22,1\nzimu,1\ncarmen_(project_moon),4\nsanami_(sanami_t_38),1\nwakatsuki_shuri,4\nkinoshita_sumie,1\nsuzuka_gozen_(third_ascension)_(fate),4\nleopardon,4\nmozu_taiya,1\npaundit,4\nsaz8720,1\njashin_doruton,1\nplatina77,1\nishikawa_goemon_xiii_(cosplay),0\npazuu,1\nlionet0806,1\nmail_(mail_gell),1\nhouraiji_kyuushou,4\nkuroda_(kuro_yyy),1\nlolzis,1\ndominoes,0\nunomiki,1\nplus1024,1\nlicoco,1\nsa-x,4\npenis_to_navel,0\nchick_print,0\naimpoleume,1\nsamura_hiroaki,1\ntwo-tone_sleeves,0\nhong_hongcha,1\nusui_nagi,4\nkami_otona,1\nmonugaeru,1\nharari,1\noozora_halu,1\njudge_eyes,3\nfate/extra_record,3\nsakamoto_ryouma_(lancer)_(fate),4\nzemzk,1\nholding_snowman,0\ncater_diamond,4\nidoraad,1\nzuihou_kai_ni_(kancolle),4\nnekodosaiun,1\ndeception,0\nwgm_oekaki,1\n2y_(tsuyu),1\nnagumo_shinobu,4\nshirakawa_hotaru,4\nlone_wolf,1\nluerstine,1\nakihare,1\nyaoku,1\ngrandia_iii,3\nkyon_(kyouhei-takebayashi),1\nyairenko,1\nberetta_model_38_(girls'_frontline),4\nchrocatz,1\ngie_(gienara),1\ncc_(c~fua),1\nfutami_shion,4\njasmine_(deltora_quest),4\nnui_(nuinui0300),1\nesper_girl,4\ngiant_skeleton,0\nblood_on_mask,0\nhoopa_(unbound),4\ngespenst,4\nangelos_armas,3\nfujiwara_yoshito,1\neternity_winner_(elsword),4\ncor369,1\nyuuka_(a0240765),1\nunicron,4\ntsuyuki_yuki,1\nohma,4\ntakahasho,1\nmotsu_(kk_3),1\nfrontera,1\nyinzinmiemie,1\nrepu_(rep_sha),1\nmagicami,3\nconstellation_(warship_girls_r),4\ntsukiyomi_ikuto,4\nblood_in_water,0\nmiang_hawwa,4\nkawaii_girl_(avogado6),4\nhawkeye_gough,4\npc_engine,0\ntsuina-chan,4\nrestya,4\nkokao358,1\nuhui,1\niris_krug,4\nvrco,4\nfan_no_hitori,1\nharuka_(new_year)_(blue_archive),4\nkonna_ko_ga_itara_boku_wa_mou,3\nmagical_canan,3\nhashimoto_sana,4\ndaihatsu,0\numisaki,1\niron_fist_alexander,4\nlimfoman,1\nfinger_wrap,0\nplaystation_symbols,0\narenoyoni,1\nyukamikayu,1\ninawa_akito,1\nkneesocks_senritsu,1\ncloud_horizon,3\nkaden_(muxt8423),1\nturning_around,0\nbroken_goggles,0\nhaks,3\natorie,1\nmookie_(e_mook9),1\nuth_95,1\npicnicic,1\nkurahashi_(kancolle),4\nhiramoto_akira,1\nspica1476,1\ntiger_mask_(object),0\nalsea,1\ntake-run-atelier,1\nmr_nini,1\nrizna_lanfebit,4\nyoo_sena_(jagaimo_(kkamja)),4\nnanase_kokono,1\nlinked_sausages,0\nchokota,1\nmamiru_(42105269),1\nxishuu_(user_dvah3828),1\ninica,1\nsaeki_kayako,4\nnorthampton_kai_(kancolle),4\nelliot_craig,4\nseele_(honkai:_star_rail),4\nemanon_(ice),1\nthe_iris_swordsoul,4\nizumi_natsuka,1\nvulcan,0\nchiave_(arknights),4\nhanemikakko,1\ndutch_text,0\nrabbit_ears_antenna,0\nnininisama,1\nqueenie_(mechanical_buddy_universe),4\ndou_(doudouzi),1\nlaolao_(granblue_fantasy),4\nwhite_l,1\nmossberg_590,0\nnankam,1\nakano_yomi,1\nkikouken,0\naxehorn_(ssambatea),4\ndima,1\nroyal_starlet_(idolmaster),0\nregal_blue_tang,0\nhei_yu,1\nzeikomi,1\nsananan,1\nwhite_soccer_ball,0\ngollizo,1\ncamouflage_dress,0\ndysoor,1\nvolcano_(liao),1\nayumi_(xiwu),1\noverblot,0\nnutella,0\ngazelle,0\ntanaka_(fate),4\nhang_gliding,0\nbart_simpson,4\nanagura_mogura,1\nkatann,1\nshouting_with_hands,0\nkit,1\nball_toss,0\nryuunagi_hyouga,1\ngooak,1\nnyaromon,4\naosuke,4\ntransparent_gloves,0\nyogurt_bakudan,1\nnemuri_miyako,1\nmelusmelon,1\nnyr50ml,1\nmizusawa_hikaru,1\ngoyoyoo,1\nalice_(odin_sphere),4\nkeima_ron,1\nhizaki_gamma_(artist),1\nmegazord,4\nmistimagi_(character),4\narowana2111,1\ndandruff,0\njliaan,1\nshoko-tan,1\ns.a.t.8_(pumpkin_skewers)_(girls'_frontline),4\nyuzuki_(hmr813k),1\nmaruman,1\nhayasaka,1\nstarlan,1\nchausson,1\naoaomzir,1\nhamidasu,1\nminase_shia,4\nshiranui_(onmyoji),4\nzanki_zero,3\nhiballista,1\nmonogoi_no_succubus_oyako_o_mitsuketakara_ijimete_yaru_koto_ni_shita_ww,3\nmadolche_magileine,4\nnehan_(gedatsu_nehan),1\ntrampoline,0\nsihai_(wsskdywe),1\nditer-trsey,1\ngu_tao,1\nultraman_taiga_(series),3\nfleki,4\ncatsila,1\naldharoku,1\ngigigimimi,1\nbyoru,1\nstorybook,0\nred_(aba02),1\nmaco_(crea-0328),1\nmano_(m1n0f2e1),1\npussy_steam,0\nkmgrru,1\ngretel_jeckeln,4\nhose_between_breasts,0\nmunya_(otikamohe),1\nneichii,1\ntagicrabbu,1\nscorecard,0\nsurf,0\netsuransha_no_rei,1\nkaon_(kyoushirou_to_towa_no_sora),4\nca_ba_ya_ki,1\nmary_(identity_v),4\nsen_rikyuu,4\nsuper_robot_wars_f,3\nhei_d,1\nkisaragi_pana,1\ng-sky_goddess_(ishiyumi),4\nz23_(the_eyecatch_in_the_rye?)_(azur_lane),4\nking_arthur_(eiyuu_senki),4\namanoyui,1\nsayu_(shirotsume_souwa),4\nchilakkk,1\nlaika_(slime_taoshite_300_nen),4\nshima_hinako,1\namico,4\nmiichinori,1\nanalogue:_a_hate_story,3\nkaikoinu,1\nnekomancer_(granblue_fantasy)_(cosplay),0\nishikawa_masakazu,1\nuchimura_reimi,4\ninagaki_miiko,1\naki_sora,3\nqbu-88,0\nmameneko_(pai),1\noscar_pine,4\npavolia_reine_(peahen),4\nsing152,1\ncanata_katana,1\nguy_(fire_emblem),4\nmangekyou_sharingan,0\nkuilaogouhuabudongle,1\nchizi,1\nmk_23_pistol,0\nisorashi,1\nfamitsu,3\np_shiki,1\nasahina_kokomi,4\ntajima_(minagawa),1\nbon_bonne_(mega_man),4\nkurotsuki_hiiragi,1\ntiny_tina,4\ndiagonal-striped_legwear,0\nmega_venusaur,4\nmoco,1\ngoro_desu,1\nharujiya_(setugetuka),1\npas'_black-haired_catperson,4\nmonorisu,1\nhandlebar_mustache,0\npresence,3\nremomon0,1\nhadi,1\ntenteru,1\nbenteja,1\naopiqoo,1\nkatubusi_kisimen,1\ncare_label,0\narasa_ol_haman-sama,3\nufoliving,1\nmushi_hara,1\nlunaria,4\nandre_roland_jean_gerard,4\ntaka_radjiman,4\nnairofu,1\nonomichi_(city),0\ntokiya_seigo,1\nnakamura_yukihiro,1\nchi4,1\nyowamidori,1\ndaria_(haguruma_c),4\nbokjumeoni,0\nasuka_(dream_c_club_zero),4\nwep16night,1\nand_uge,4\nzetsuhei_no_roran,1\nhuan_shi_tian_tong,1\ncannelle_(sword_girls),4\nsuu2510,1\nimpmon,4\nlooking_at_pussy,0\nrico_tta,1\ntoki_(1243309499),1\ntimy,1\nberi_(zankuro),4\ndudlesnoodles,1\nuwded_207,1\nnyuunzi,1\npn_(ltpn_257),1\nnemimini,1\nfawn,0\nasano_ruri,4\ndopoing,1\nintertwined_fate,0\ncryptocurrency,0\ncremanata,1\nsavoia_s.21,0\nnyaruin,1\noveridea,3\nakitsu_(davis0527dx),1\nquiz_quest,3\nfukunomiya_koko,4\nyamaya_oouemon,1\nbob_(overwatch),4\nthighhigh_removed,0\norigami_hina,4\nakapocho,1\ngin_(gin937),1\nnorun_(ru-on),1\nvanille_(hotel01),4\nryuu_ga_gotoku_isshin,3\nyong_(mg),4\nlee_nabi,4\nhoney_badger,0\nyayoi_(shichigatsu),4\namorphous,1\ngaraudon,1\namo_takumi,1\nkajiki_nora,1\ngreen_ranger,4\nprinz_(chainsaw_man),4\nspider-woman,4\nwaitress_(pokemon),4\nflear,4\nkitsune_no_ko,1\nwujiemang,1\naftergardens,1\ndeltora_quest,3\nmugendramon,4\nkusumori_shiba,1\natac,4\ntucciao,1\ntasutekete,1\ntorn_bag,0\nsasamura_kaede,4\nyougashi,1\npiririnegi,1\nasahina_yori,1\nvdv,0\nnekonin,1\nmisaki_(doa),4\nfanatio_synthesis_two,4\nyoshida_tooru,1\nsanze_(gokiburi_kirai),1\ncooper_(blazing_tennis_battle)_(azur_lane),4\nshiu_kazuki,1\nmatutoki_nara05,1\nhooded_jumpsuit,0\nsaiki_kusuko,4\ndorasu,1\nzerotwenty_(020),1\nagrias-san_to_love_love_lesson,3\nrein00,1\nverseir_001,1\nmigu,1\nsakais3211,1\nsoul_badge,0\nvolcano_badge,0\narithmetician_(fft),4\nogino_atsushi,1\ngokokukyou,1\njaack,1\nnagasaki_yuko,1\nyuu_(archaic_smile),1\nginger_root,0\nsu-33,0\nmiyama_leaves,1\nhulkbuster,4\nyooguru,1\nmiyaji,1\nkitahara_aya,4\nska,1\nvelocidrome,4\nryomou,4\nmuchakushoku,1\nhakuhouin_ayano,4\nsanadafelix,1\nmichael_jackson_(cosplay),0\namano_saki,4\nyuuji_(itadon),1\ngassun,1\nmitonoya_saki,4\nmimika_(puetilun),1\nfine_art,0\nluna_(kaminomi),4\nkyary_pamyu_pamyu,4\nblack_devil_girl,4\nmaruuchi_shouko,4\nandrea_averill,4\naniao_ya,1\nriko-m,1\nrairateru,1\nmagical_mirai_rin_(2019),4\nhaoyuan,1\nemilou_apacci,4\nnerugal,1\ngomix,1\nstarfox_(artist),1\ntsathoggua_(housamo),4\nsandbag_(smash_bros),4\njangif,1\ngabu,1\nfigure_four_leglock,0\nyaoyorozu-kobo,1\nhairy_pikachu,0\ngiant_salamander,0\nkamishiro_maiku,4\nmee_(sohin),4\nmillais_alloy,4\nkazuno_(horizon),4\nebisuke,1\nraviel,4\ntect,1\nkannasetsuna,1\nharustein,4\ncinque_(fft-0),4\nging_freecss,4\nfuton_tataki,0\nyachiwo,1\nyuucho,1\ntanuxu,1\ncover-d,1\ntetsuko_(tetsuko009),1\nheidi_(alps_no_shoujo_heidi),4\nacaallodola,1\nfutami_masaki,1\nayako_(twrlare),4\ntooaya,1\nmozya,1\nmizumizzumiz,1\njademoon,1\nkongbai_huanxiang,1\npink_hood,0\nlazoomaiga,1\nkuroneko_jiji,1\ntong_shui,1\ngreta_(pokemon),4\nbroken_staff,0\ncuracoa_(azur_lane),4\n1o_(ichio),1\nmaplum,1\nmaid_koubou,1\nlierre,4\nako_(zlzdf),1\nnenekirimaru,4\nryuuga_sazanami,1\nheheneko,1\nfaton,1\nyuki_(agent_aika),4\nbonnie_(fnaf),4\npimi_(ringsea21),1\nepomeno,1\nohya_ichiko,4\nraccoon_(potesara),1\nkogashirou,1\nli_xiangfei,4\nshidou_mana,4\nreal_robot_regiment,3\nnokita_(pinmisil),1\nshin_megami_tensei_ii,3\npiro_(exp_66),1\npandemonium,1\nzhang_xiaobai,1\ngalient,4\nsouya_yuki,4\nr04315,1\ntainaka_ritsu_(cosplay),0\nbeshiexe,1\nmazushii,1\npisti,4\ntour_guide,0\ntorayamato,1\nkubota_jun,4\ngorohati,1\nbutcher,0\nyukky_snow,1\nrutiwa,1\ntko_(hhan),1\nponjiritsu,1\ntakagi_takumi,1\nkomatsuzaki_umi,4\nfyy2333,1\np.kibi,1\nmiter,1\nmidoku_(itijikusakura),1\ntsuan,1\namano_issui,1\nrakkyhappy,1\npaizuri_while_penetrated,0\nchild's_play,3\ngrayllust,1\nseeso2d,1\nooishi_ryuuko,1\nmiyamoto_takashi,1\nedboy,1\nburanantoka,1\nmaria_onnette,1\nxiaoshan_jiang,1\npi_(pppppchang),1\ncheburashka,4\nuyoshi,1\ntuxedo_jacket,0\nkongai,3\npunchy_(animal_crossing),4\nyuzuki_(rurirara),1\nerinan,1\nweregarurumon,4\nmatsu_takeshi,1\nstrawberry_nauts,3\nkome_(kokomoti),1\ndannoura_yuuki,1\nrefile,1\nyokke,1\nlotus_earrings,0\nmiyaji_ryunosuke,4\nkirby's_epic_yarn,3\notter_costume,0\nageha,1\nlord_tenma_(touhou),4\nmrhunking,1\nichinose_natsuki,1\noppaisagara,1\nchiro_(pez777),1\nkoujisako,1\nakutsu,1\nmalaysia,0\nookamikakushi,3\nhp23,1\nthe_princess_and_the_frog,3\ndemonbane_(mecha),4\ngirl_with_a_pearl_earring,3\nlich_king,4\nkousaka_junpei,4\ntichiel_juspian,4\nffc,1\nakayama_toshifumi,1\nteostra_(armor),4\nkita_nayuta,4\nlouie_(pikmin),4\nk-nattoh,1\nbrolo,1\nkurokami_no_onna,4\nmatdoljangin,1\namagasaki_mikoto,4\ntokiha_takumi,4\npom,1\nlu_xun,4\nfumizuki_kou,1\nhayakawa_ai,4\nminazuki_kotoko,4\nlucrezia_noin,4\nxetton,1\nsanjou_sorata,1\nkamakurako,4\nselena_recital,4\ntari,1\nmiki_miki,1\ntakahashi_mariko,1\nmesopota,3\nkantoku_collection,3\nerika_sato,4\nlucy_van_pelt,4\nkawai_kei_(artist),1\nmirage_koas,4\nabe_takaya,4\nebisumaru,4\nmoriya_ririka,4\nmotomura_kouichi,1\nchoi_bounge,4\nusui_kagerou,4\ntotorosu,1\neel_girl,0\ncissnei,4\nlusamine_fused_(pokemon),4\ncat_between_legs,0\nlithium10mg,1\nmetal_gear_ray,4\ndortin,4\ntukasa,1\nninon_beart,4\norange_coffee,1\nmobuchin,1\noxoxox,1\nchuck_preston,4\nhizuki_reiya,1\nhateful_avenger_(arknights),4\nmitsuhashitaeko,1\namanogawa_subaru,4\nhillary_clinton,4\nkinoshita_tomomi,4\nkougekiryoku,1\nlaughing_octopus,4\nrduuroorn,1\nkuroyagi,1\ntatiana_vasilievna_stalina,4\nwhite_magician_pikeru,4\nmadhand,1\nkouzuki_kazuna,4\nmowsovsky,1\nsouyoku,1\nrudo,1\nyuzuki4no,1\n132,1\nhosokawa_gracia,4\ngeminiboar,1\nyanagi_kawa,1\nsarah_(suikoden),4\nbison,0\nchamoro,4\nkazuki_sanbi,1\nxbox_series_x_(personification),4\nfujimoto_shirou,4\ntoshipiyo,1\nrishiya,1\nnurumu,1\nfool_iketani,1\nkouzu_shou,1\nhitagiri,1\ncolor_works,3\nabel_nightroad,4\nsteven_steel,4\nfalce,4\nwar_machine,4\nschool_project,3\nmajoora,1\nhalluci,1\nlan_(gyee),4\nakezu,1\ntouch_(manga),3\nminasato_hibiki,1\nk-bose,1\nfujisaki_mana,4\nmitsuko,1\nferdinand_marl_e,4\nkira_yoshihiro,4\nevil-ss,1\nkunoichi_zero,4\nkiryuu_iyori,4\nsumeragi_amane,4\ngrowlanser_v,3\nyukishiro_mafuyu,1\nhoshino_yachiho,4\ncalvina_coulange,4\nmycstea,1\nwatsuki_nobuhiro,1\nkiyukiyutan,1\nsasa_kanako,4\nmemessa,1\neeteru,1\nsherry_cromwell,4\nhisakawa_haru,1\nkisugi_hitomi,4\nlolicom,1\nrainkeru,1\noverpowering,0\nmiyoshi_kaya,4\nvanessa_(luminous_arc),4\nhae-young_na,4\ngigan,4\nlaura_nissinen,4\nnancy_makuhari,4\nuzumi_(uzumi_yosi),1\nfhara,1\nnorayinu,1\nsuzuki-shi,1\ndeath_13,4\nmasaki_kazusa,1\nbearclaw,1\nminamoto_kouji,4\nhiiro,1\nlixsium,1\ntobimaru,1\nkamatani_yuuki,1\nhama_(sleeps),1\nmitsukii,1\nbyunei,4\nkamineko,4\nalina_gray_(halloween_ver.),4\nhottate,1\nsino_(oyasumi_hf),1\naiai_(jsm),1\nimai_miu,1\nkaigan,1\nyuuki_karin,4\n05deruta,1\nhyetta_(elden_ring),4\nno.1_machine,1\n0roshioji3ran,1\ninfel_(ar_tonelico),4\ncliov,1\nmakna_armour,0\nnayuta_(scarlet-noize),1\nmatebashi,1\ngaanc_23_(tomosuge),1\ntheakingu,1\nlrul,1\nmurasaki_shikibu_(purple_eye)_(fate),4\nflorence_nightingale_(divine_princess_of_the_storm)_(fate),4\nfujishino_shikino,1\nyae_sakura_(shuffle!),4\nhuracan,1\nffflilil,1\ncailleach_bheur_(last_origin),4\n416_day,0\nzerase_(gensou_suikoden),4\ntardis,0\nshimabara_minami,4\nkon_(kemono_jihen),4\nmondo_(crazy_raccoon),4\nnoda_megumi_(artist),1\nryuu_(ryuraconis),1\nsleipnir_(last_origin),4\nindian_rhinoceros_(kemono_friends),4\nmiriallia_haw,4\nun_(un0044),1\nnekomimi_mode_(tsukuyomi),0\ntatsumaki_udon,1\nlotus_wand,0\nshiyou_(kouda_suzu),4\njinri_shijie,1\nkirawus_(golden_kamuy),4\ngompang_11,1\ngash_bell,4\nulpian_(arknights),4\nyellow_cat,0\nwashing_face,0\nwilliam_leonard,1\nmachias_regnitz,4\nfrilled_sweater,0\nkado_(hametunoasioto),1\nhas_watermarked_revision,5\nueno_haruki,1\nking_(dakemakura),1\noyk_(signx),1\ntabobox,1\naisha_greyrat,4\nrika_(agent_aika),4\nho2nium,1\nyoshiaki_(yosiaki_ml),1\nmocha_(mochaxgm),1\ntaka-f,1\nkuromitsu_(9633_kmfr),1\nice_floe,0\nshiho_huit,4\nnocturne_krumenker_(nocxturne),4\nminato_aqua_(cosplay),0\nshoujo_rei_(vocaloid),3\nbloodhound_(apex_legends)_(cosplay),0\ntate_yuuichi,4\nseashell_print,0\nkagari_tuepesyu,4\nblack_knife_(elden_ring),0\nkanna_kamui_(dragon)_(maidragon),4\nkawamochi_(tddm3573),1\nanimal_pose,0\nakashi_(welcome_to_sofmap!)_(azur_lane),4\nikeya_(ikeya314),1\nnyansky,1\nkairi_(fotune),1\nfischl_(genshin_impact)_(cosplay),0\nshota-kun_(g_(genesis1556)),4\ngiant_robo_(mecha),4\nhirano_kouta_(style),0\ntenrai_(temple),1\nred_sheet,0\nbench_press,0\nchajott64,1\nshapeson,1\nnanaka_(princess_connect!),4\nred_haired_cure_(bomber_girls_precure)_(happinesscharge_precure!),4\ntild_framith,4\nikumo_taisuke,1\nracing_miku_(2016),4\nheyasamu,1\nminior_(yellow_core),4\nichijo_kazuya,1\nkrohnen,4\nsword_kirby,4\nakershus_fortress_(oshiro_project),4\nobey_me!:_one_master_to_rule_them_all!,3\ntorn_curtains,0\nbk_mita,1\nnuman_athletics,3\nunder_armour,0\naburana_(flower_knight_girl),4\nreverse_falls_(gravity_falls),3\nlsunl,1\nmaezono_koharu,4\nryuuki_(pokemon),4\nizumi_roka,1\nweapon_girls,3\nkaguya-hime_no_monogatari,3\ngamma_2,4\nsokimi_(sosojovan),1\nyubisaki_milk_tea,3\nsosai_salada,1\ntirnanogin_industries,1\nusirome,1\nbabyls_school_uniform,0\nakinatsu_meguru,1\nmisaki_(agent_aika),4\nbureoeve,1\nkoyuki_(kimetsu_no_yaiba),4\nkanzaki_aoi_(true_blue),4\nonigiri_no_gu,1\nfuchima,1\nk_ei3k,1\ngretia,1\niyama_nami,1\njangsunyo,1\nkaiouken,0\nmamo_murata,1\nkureihii,1\nminerva_(fire_emblem_awakening),4\nmelang_b,1\nricroot,1\naraburu_kisetsu_no_otome-domo_yo.,3\nviridiana_(girls_und_panzer),4\nartificial_angel_(araido_kagiri),4\nhelena_(may_i_have_this_dance?)_(azur_lane),4\nkokoro_magic_a_to_z,0\noshi_no_love_yori_koi_no_love,3\nhappy_happy_friends,0\nsaane_(monster_musume),4\nmelon_syrup,1\nlznustrpo,1\njosalyn_visenad,4\nhana_(me!me!me!),4\nli_zhiheng,1\nnaruyan_(arashiboushi2),1\nlexis_yayoi,1\nchisuzu_mei,4\nchiyu_(cotoritori),1\nito,1\ntam_tambourine,4\nmusumi_kiyoka,4\nbarbata,4\nyon_(yonana),1\nwill_(willanator93),1\nju_yorimoto_(ranten_yume),1\nbongnom,1\npokemon_between_breasts,0\ngsn_(nocturne),1\ndyogrammaton,3\nkamen_rider_kiva_(emperor_form),0\nsasamori_anna,4\nfuro_(harirate),1\ntetsuo_(watson),1\nfemale_commander_(forever_7th_capital),4\nnyanyanyanyanyanyanya!_(vocaloid),3\ndamien_dozias,1\nnase_yukana,4\nbattle_subway,0\nshinano_(warship_girls_r),4\ncirclet_princess,3\nstephen_potter_(azur_lane),4\nnellu_(geenymous),4\nbrulee,1\nfirepo,1\nmaggea22,1\nbenjomushi,1\ncagliostro_(granblue_fantasy)_(cosplay),0\nmy_eight,1\nuyalago,1\npolish_clothes,0\ntetsusaiga,0\nsuketoudara,4\nakito_(akitotika),1\nkoh_(user_kpcu7748),1\nmarison_(aono107),1\nartina_(disgaea),4\ntukisiro_nao,1\ntomari_shinnosuke,4\nklim_nick,4\nreki_connect,3\n33dot,1\ninari_kuromu,4\nstratoz,1\nleandro_franci,1\nhimekouji_yuki,4\nholding_rocket_launcher,0\nvelocesmells,1\nnagisa_otoha,1\nputting_on_condom,0\nneofreet,1\nkiri_ph,1\nyuli_(pop'n_music),4\ntori_(torinchi),1\nhagakure_hiroko,4\nsaki_(otsushimai),4\nocancan_dancing_school,1\njaycee_(tekken),4\nyeager_(tales),4\nzetta_(phantom_kingdom)_(book),0\ntellu_(sailor_moon),4\ngreen_cat,0\nteires_(teir3s),1\naps_(alice-momizi),1\nwiene,4\nfujisawa_aya_(gundam_build_divers),4\ncilfy,1\nnono_(norabi),1\ncamilla_(kagemusha),4\nviwop,1\nakagi_mako,4\nsenju_tobirama,4\nguriddopitto,1\nchikawa_shibainu,1\nnashimoto_yukari,4\nsaejima_haruka,4\ntsuji_keisuke,4\nberyl_gut,4\nkusunoki_(escude),1\ntheiamillis_gre_fortorthe,4\npeachcak3,1\nchoia,4\nmilkuriem,1\ncocoka,1\ntakapi_3,1\nginho,1\nsakuragouti,1\nkasumisometsuki,1\nrozuberry,1\n???_(artist),1\nemma_(dq11),4\naabtcndneefkg,1\nkarateka_(baromaru),1\nmeto_(cat),4\npiro_(piro_r),1\nmimoza,1\nnakano_kiho,1\ncookin,1\neducational_broadcasting_system,3\nroundhouse_kick,0\nclammy_zell,4\nshockwhite3,1\njoujou,1\nwet_ground,0\nsonya_jonah,1\ntamochi_(tamochi213),1\nmaruo_(mokurentenpu),1\nfox_daughter_(doitsuken),4\nnyt_(nagane),1\nbookend,0\nnakadashima,1\nhiraga_pikurosu,1\nxxinainaxx,1\npupil_g,1\nceph_(greatyazawa1819),1\nnariie_shin'ichirou,1\npauld,1\nduster_coat,0\npopo_agaga,1\nmozu_(pixiv12188108),1\nasahimachi,1\nmurasaki_(kyokugen_dasshutsu),4\natlas_(titanfall),4\ngrim-evilnov,1\nmumu2126,1\nrazurimu,1\nmio_(ressha_sentai_toqger),4\n0p_(spiriti),1\nhaishima_xv,1\nconflict_(module),0\nstola,0\njuusensha_koubou,1\nniizuma_wa_serafuku,3\nyura_458,1\nsouthern_cross,3\npower_pro_kun_pocket_13,3\nshinadume,1\nhanayono_menora,4\nneck_hold,0\nakiosketch,1\ntahm_kench,4\nkamiwazumi_maya,4\noriginal_zero,4\nppk_(foliage_romance)_(girls'_frontline),4\ncacn,1\nlong_fangs,0\nohirune,1\njip,1\nrose_lalonde,4\namatsuba_mimina,1\nicchiramen,1\nshotgun_speed_loader,0\nshisu_(binzo3),1\nkaya_(hydego),1\nxsorax812,1\nlovewolf5122,1\nclosing_book,0\niwatozaki_mamoru,1\nartemisia_(pixiv_fantasia),4\ngotou_masaki,1\npeonia_(pokemon),4\ntina_foster,4\nwander_(cordabyss),1\nnijimura's_father,4\nsakazu_mekasuke,1\nchougoukin_kurobikari,4\neviryun,1\npekerika,1\ntakojiru,1\njack-ddd-no13,1\nzola_project,3\nsig_sauer_p228,0\ncross_regalia,3\nhand_in_jacket,0\nfujimi_nemu,4\nphoebus_art,1\nrevenge_of_dragoon,3\ncoyote_tango,4\ncchhii3,1\nreina_de_medishi,4\nakari_(fantasista_doll),4\nmao_(tales),4\nyuu_(guruko),1\ncurry_udon,0\nlol_(harikofu),1\nbifanghuanshi,1\nkikiki_(hiya_mikan),1\nmigiue,1\nesha,1\nkouseki0024,1\nrag_uralo,4\nkakusei_avenger,3\nuntied_shoe,0\ntoushou_daimos,3\nsimonadventure,1\nmizushima_sayori,4\ngrune_(tales),4\nlacolon,1\nathria,1\namaterasu_(mythology),4\nazanami_(pso2),4\nelsa_(g557744),1\nhe-man,4\nnoske,1\nblack_widow_(cosplay),0\nyukihomu,1\nizanami_(p&d),4\ntochibi,1\ntype_97_te-ke,0\nhachi_(lgm),1\nalcohol_(coldfront),1\nolympia_(pokemon),4\nremoving_headwear,0\ntwt,1\nuss_albacore_(ss-218),4\nsimelu,1\nnatch_imaycz,1\ntsujikami_ayaka,1\nhsch,1\nriputon_(lipton_sabou),1\nkapirusu,1\nusui_ryuusan,1\nmashiro_yozakura,1\nkannovaku,1\nsix_heart_princess,3\ncheckered_cape,0\nmoromoro_0p0,1\nhoshino_yura,1\nasu_no_yozora_shoukaihan_(vocaloid),3\nj_(let's_&_go),4\nfey_(unknown_artist),1\ndonquixote_family,0\nhikuushi_series,3\ngyahu,1\nsupe_(yuusyasupepen),1\nmugi_(user_khzh5853),1\nping-yi,4\nvillage_chief_(hentai_elf_to_majime_orc),4\nrabbit+tank_form_(black_hazard),0\nkagami_shiori,4\nashikaga_tamane,1\nshi_jun_ti,1\nhong_da,1\ncum_on_horns,0\nstuffed_owl,0\nfuwasn1545,1\ndo2mi_doreimi,1\nyuzuyu_(cookie),4\nnatsuno_(natsunosho),1\nvri_(tinder_box),1\nknee_cutout,0\nmo_(mokatampe),1\nambitious_elf_jinx,4\nkurita_(kuritanatsu),1\nflow_(splatoon),4\nscarlett_ann,1\nmi_398,1\ndaisufuumi,1\ndal_(edalnem),1\nakatoki_2!_-tsumugu_mahou_to_koboreru_hikari-,3\nharami,1\njun_(nad-j),1\nshirosaki_rio,1\ncupcake-chan,4\ncanon_(nyori),4\nconception:_ore_no_kodomo_wo_undekure!,3\ntomare_(akashingou),1\nsiyusiyu13,1\nkuchifusa_yogiri,4\npantyhose_over_swimsuit,0\nnikawa_99-do,1\ngreat_grail,0\nkanadome_miyako,4\n36shiri,1\nmiwa_satori,4\nketchup_ninja,3\nharudori_tsugumi,4\nneena_hagen,4\nextra_nipples,0\nkamen_rider_beast,4\neiko_(tukino),1\nkoi_(nisikicoi),1\nsuzuki_ao,1\naabitan,1\nsolmoniq,1\nenki_(dragonfire),1\nnanamiya,1\nhashimoto_(yanagi-momo),1\nkay_(girls_und_panzer)_(cosplay),0\nakkii_(meragold),1\nnkraae,1\naqua_fire,0\nmaquia_(sayoasa),4\nkawakami_tomie,4\npatissier,0\nos_(kazos),1\nstudio_rakkyou,1\nhibachi_(dodonpachi),4\nkurisu_takumi,1\nlibra_(fire_emblem),4\nmaintenance,0\ncurtis_(pokemon),4\nmojya,1\nx2,1\nmark_sein,4\nguardian_cross,3\nmolly_(skullgirls),4\nmirage_precure,0\nmelty_(shining_hearts),4\nkamina_koharu,1\niwa_(iwa000ima),1\nmofuruo,1\nallison_(summer_lesson),4\nneptunite_(houseki_no_kuni),4\nmap_(map_imas),1\nnaratani,1\nhao_(udon),1\nb.va_(overwatch),4\namefurashi,1\nfrown_(wonderland85711),1\nshiruhino,1\nguu_(hakahonoo),1\nmiyamori_raira,1\ntorikoriko_please!!,0\nteam_mystic,0\nusano,1\nwatari_yuu_(haskey),1\ndynamo_heart,1\nopen_hatch,0\ncolor_bullets,3\ntangamja,1\nogashira_hiromi,4\nchietori,1\ntanaka_keiichi,1\nshijou_raimu,4\nalolan_raticate,4\nmatatabi_kikuno,1\nthealagator,1\njouyama_yui,1\nyuu_(masarunomori),1\nryuudouji_shimon_no_inbou,3\nyuuki_subaru,4\ngaa_(butsugen),1\nseia_(tikxxx),1\nshiiba_aki,1\ntoha_heavy_industries,0\nyonkuron,1\ntanuki_(siutkm0228),1\nmegumi_cv,1\n90mm_single_high-angle_gun_mount,4\nbluebird_(bluebird90),1\nmyon2,1\nidol_wars_z,3\nshi-ro,1\naotan_(aorin114),1\nkannagi_yuuma,4\ntower_of_hanoi,3\nhasamimushi,1\nneri_gozu,1\nrussia_(dangan_neko),4\ns2riridoll,1\nphantom_blade_(game),3\nfurihata_ai,4\nrooster_tail,0\narya-aiedail,1\nrdc7229,1\nleung_lik_hang,1\nnyanko_days,3\ncundodeviant,1\nc_(pixiv3064042),1\nrain_yoo,1\nelleco,1\nnfr,1\nchane_(nap_cat),1\ncrown_hat,0\nyoung_genji,4\nlancer_servant,4\nstar_wars:_the_last_jedi,3\npikunoma,1\nhonduran_white_bat_(kemono_friends),4\nmahou_shoujo_western_girls,3\nkitagawa_onitarou,1\nsprbouuz,1\nfutaba_no_taiko,1\nrumi_morimiya,4\ndaccubus_(pen),4\nnaomasa_(horizon),4\nlucifer_(monster_strike),4\nsora_hasama,1\ndna_man_(arms),4\nnamiko817,1\npandemic14,1\ngreat_kichi,1\nfuuka_(toy_jump),1\nhoshino_(illyasviel),1\nriza_dxun,1\nbingbing,1\ncopochui,1\nwatanuki_ron,1\nsatomatoma,1\nkoube_masahiko,1\nakiya_yukie,1\nrommeling,1\nhimaro,1\nkyle_marlon,4\nkourou_(kouroukun),1\nyashiro_(lockheart),4\nwariko,1\ntoroi_(run01211),1\nkeifuku_(tatsuki),4\ntsukkun,1\nsanada_ririna,4\nhonda_(obon),1\ndino_(blend_s),4\ngerumaga,1\nrossa_(pixiv27548922),1\nhorocca,1\nmanto_(inazuma_eleven),4\nwelrod,0\ncraven_(azur_lane),4\nmajesty_(dungeon_and_fighter),4\nstarhorse_pocket,3\nitoda_(spica),1\nslime_beth,4\ndoyou_tengoku_pikaraji,1\ninu_(mezonsidepark),1\ntenmas,0\nmonster_monster,3\nhonda_nsx,0\nbuccaneer_(fma),4\ncummerbund,0\nblack_angel_(elona),4\nmani_of_machine,4\ntakayanagi_katsuya,1\nkazu_(k_no_kobeya),1\nshuusaku,3\nzkxandy,1\nmercedes_marten,4\nkeigen_hichou,1\ntagashira_shinobu,1\nkihou_kanshouzai,1\nfuiyu_(feuille0818),1\nkooten_bergh_no_youhei,1\nshiroro,4\nyammy_(cellblo),1\nw.r.b,1\ngigginox_(armor),4\ncanas_(fire_emblem),4\npocky1202,1\nhusky_(artist),1\njenie,1\nminemura,1\nhimasen,1\nhagino_chiyoko,1\ngado-boa,1\nkousaka_daisuke,4\ntzecheleaf,1\nsha,1\nmizunashi_tomo,1\nwii_hola,1\nmy_chemical_romance,3\nointment,0\nrikkukku,1\nyada_masumi,4\nsano_keiko,4\nsachou,1\nchiyo_(chidori),1\ntarot_set,0\ntayashitsu,1\nmihama_hitsuji,4\nkishou_seireiki,3\nhunter_(little_red_riding_hood),4\nzhandou_greymon,1\nhamster_tail,0\ndark_nebula,4\nabysswolf,1\nsasarekoube,1\nkaka_(kirby126),1\nys_seven,3\nkirishiki_sunako,4\nbaphomet_jr,4\ncum_on_neck,0\nlady_and_the_tramp,3\nnana_muted_xilofon,4\niop,4\ncha-cha,4\nshuiyituzi,1\njabulani,0\ncolor_contrast,0\nmasurao_bc,1\nootori_akio,4\nstax,0\nmikasa_(battleship),0\ntouko_(tokotoko),1\nhachirodesu,1\nkasumi_(magical_girl)_(princess_connect!),4\nebiura_akane,1\nplain_girl_(kamisimo_90),4\nzhuganchangjiadan,1\nasagiri0700,1\nshadow_tracker_elina,4\nx_xith_x,1\npun-rii,1\nmimoe,1\nkai-o,1\nariakk,1\nfur_skirt,0\nbubble_(arknights),4\nayamy_(vtuber),4\nkiri_(0218htt),1\ncharisuke,1\nchikinan_tarou,1\ndaisy_mae_(animal_crossing),4\n30_minutes_missions,3\njuffles,1\nkadokura_(golden_kamuy),4\nmamt56,1\ndespuntater,1\nkomupi,1\nnatsume_nadeshiko,1\nfi_(atelier),4\nhozuka_(kadokawa),1\nshowtime_illusion_(idolmaster),0\nrare_(user_vxhu8375),1\nbbjj_927,1\nstar_fox_2,3\ndakkoku_jiro,1\nclevelad_(azur_lane),4\nchcn,1\nfajar_kurniawan,1\nmechanical_hair,0\nkatsushika_hokusai_(fate)_(cosplay),0\ncyjalway,1\ndonguri_big,1\nyuudachi_(kancolle)_(cosplay),0\nkomora_(huran0729),1\nmila_alexander,4\nmohato_official,1\narane_(lolitwin),1\ncharon_(alchemy_stars),4\nescape_ad,0\nguiyu_(nocaudal),1\nperrine_h._clostermann_(cosplay),0\nthe_distortion_detective,3\nmumere_(9_xa9),1\nzima_(ursusio79)_(arknights),4\npen_guin15,1\n50k_v3,1\nbuisen,3\ndeliciousmeatart,1\nregis_(world_flipper),4\nemi_star,1\njunko_day,0\nkings_canyon,0\nnako_(nekono_shippo75),1\nradiohead_(radio_paranoia),1\nfor_the_better_right?_(meme),0\nknb_(nicoseiga53198051),1\nraiden_(metal_gear)_(cosplay),0\nnuresuke_paradise_x,3\nbloody_panther_(last_origin),4\nnereid_(last_origin),4\nfreddyhalloween,1\nlart_art1,1\nfreesia_(granblue_fantasy),4\nkinjo_no_hito_no_nakimushi,3\nhanson_(nadia),4\nxps,5\nd.j_(dwcg2854),1\nhero_cantare,3\nspamton_g._spamton,4\nluxurious_sea-lord,0\nshio_(shirone),4\nfujii_daisei_(artist),1\nruna_(maritan),4\nhiei_(moonlit_cruise)_(azur_lane),4\nshangri-la_(utopia's_collector)_(azur_lane),4\nfood-themed_hat,0\nsarutahiko_(housamo),4\nidunn_(megami_tensei),4\nprotagonist_(tokimemo_gs4),4\nhisuian_voltorb,4\ntoo_(totoo),1\nfishkitty,1\ngarmr_(housamo),4\nmk23_(new_term_begins_with_a_meow)_(girls'_frontline),4\nsaiga-12_(crimson_navigator)_(girls'_frontline),4\nump45_(lonely_traveler_of_eternity)_(girls'_frontline),4\nhina_(akchu),4\ncure_sunshine_(super_silhouette),4\nrure,1\nshiori_(tsuchikure),4\nvenus_blood_-frontier-,3\nbrown_tunic,0\nrita_mordio_(exchange_student),4\neishin_flash_(collect_chocolatier)_(umamusume),4\nsatelyte,1\nhuo_linger_(wanmei_shijie),4\nholobirds,0\nbenienma_(third_ascension)_(fate),4\ntachibana_kaoru_(toosaka_asagi),4\nhello_hello_world!,3\nstorage_pot,0\nkani_(kkk_kani),1\nratatos_browntail_(arknights),4\nmayano_top_gun_(formation:_party)_(umamusume),4\ncapitano_(genshin_impact),4\nzer0.zer0,1\nnagase_miyako,4\ngoatwillow,1\nbreakrabbit,1\ntaphris,1\nyurui_tuhu,1\nkidon,1\nsenba_(592683801),1\nyurikamome8160,1\nkirisame0729,1\nsilvy_(hiruno),4\nhalfmoe,1\nketsui_no_hikari,0\nchillasan,1\nsriokorr,1\ninstruction_manual,0\nmario_&_sonic_at_the_rio_2016_olympic_games,3\nmonica_grace,4\nsagisawa_fumika_(cosplay),0\nmarie_mushroom,1\nkorigitsune,1\nyilocity,1\nkanon_(sennen_sensou_aigis),4\ncelistia_ralgris,4\nyukiiri,1\niroha_(ff11),4\nphilia_(sao-alo),4\nshidare_hotaru_(cosplay),0\nkumakuma,1\ngreater_dog,4\nenderspain,1\nyomena,1\nharunatsu_akifumi,1\nfish_hood,0\nep_(emio_parn),1\nriffey,1\nkorg_triton,0\nnekurokonomi,1\npov_finger_frame,0\nmelay_(khrssc),1\nyurax-mae,1\nmonika_ellmenreich,4\npetra_(granblue_fantasy),4\nikusabe_lu,1\ndktaka,1\nusui_horokeu,4\ntakecopter,0\nskyscraper_(artist),1\nargrim,1\nsekai_de_ichiban_tsuyoku_naritai!,3\nanonymous_(nijisanji),1\nwednesday_(starsilver),1\nchai_mao,1\nico_(engawa_roman),1\neichikei,1\ncastlevania:_harmony_of_dissonance,3\nmaare_(moyori),4\nzarisu,1\nleele,4\ntaichi_suzuki,1\ntogashi_yumeha,4\nleather_chair,0\nahoyhoi,1\nkikuchi_moa,4\nengine_sentai_go-onger,3\npisaro,4\nso_tsubasa,1\nmeta_gun,1\narima_yuu,1\nmade_in_heaven_(stand),4\nkinohe,1\nmisogi_(real)_(princess_connect!),4\nkiritachi,1\nnokonoko,1\ngood_breasts_day,0\nkiui,1\ngelgoog_s_char_custom,4\nshimusu,1\nsailor_iron_mouse,4\nrun_sho,1\namami_reiko,1\nsuccubus_(lord_of_vermilion),4\npepelogoo,4\nhoumornin,1\nm-hit,1\nonuj2$,1\nkyu_sugardust,4\nsyldra,4\njeje_(pixiv12541114),1\neaves,0\nzest_grangeitz,4\nyamada_(ishida_to_asakura),4\nmeowing,0\ncathayan,1\nyukitsuki_hisa,1\nfukai_ao,4\nabitu,1\nheriki_(trkj),1\nnayuzaki_natsumi,1\nomae_no_pantsu_wa_nani_iro_da!?,3\nmiomix,1\nmatoma,4\nlayna_scentriver,4\nreg_(artist),1\nhatachi8p,1\nspats_(footwear),0\namane0213,1\nmc-4,1\nnanananona,1\ntomino_yoshiyuki,4\ndoala,4\nmacchou_(tsubonekoya),1\nchiyo_(shuten_dj),1\nkai_(dorohedoro),4\nkonishi_naoki,4\npaw_cutout,0\nnil-eve,4\nhogehoge0710,1\n369-chan,1\nnyantamaran,1\nrika_(kakera),1\nender_dragon,4\nnokogiriotoko,1\naticsanir,1\nxhouz,1\nnoriko_(ni_noriko),1\nazumi_(madogiwa_bocchi_seki),1\nsyutyou,1\njewelpet_magical_change,3\nshikishiro_konomi,1\nsokabe_megumi,4\naligula,4\nkamen_rider_chaser,4\narumat_p._thanatos,4\nflora_(rariatto),4\nkurogane_shizuku,4\npaku,1\nhenjo_~hen_na_joshi_kousei_amaguri_senko~,3\nem_crazy,1\nejection,0\npiyon_(hunter_x_hunter),4\nhey_cre,1\nminazuki_aqua,1\nnva222,1\nyagura_miketa,1\nhume_(artist),1\nalbus_dumbledore,4\nmeryl_santos,1\nfalangies,4\nkotomickey,1\nallergy,0\nmali,1\nhino_kuu,1\nshiozaki_ibara,4\ngucce222,1\nnagiyamasugi,1\ncrys_(dai),1\nlyiet,1\nzuihou_(hechen121),1\npokasu,1\nakasakak,1\nyuzuyoukan,1\nzxc,1\nphosphora,4\nsatomi_(n-s_freedom),1\nshuumatsu_ga_yattekuru!_(vocaloid),3\ndigiegg,0\ntaekwon_(ragnarok_online),4\nbuck_(pokemon),4\nyuuse_kouichi,1\nchrome_(mon-musu_quest!),4\nfutami_(mg42fw190d),1\nkarate_shoukoushi_kohinata_minoru,3\nalternate_headgear,0\ndave_strider,4\naion_(show_by_rock!!),4\nhomura_chika,4\nikki_(amnesia),4\nmatsumoto_katsuya,1\nmonoma_neito,4\njimiko_(yamasuta),4\ndaisy_(flower_knight_girl),4\nuld_macaron,1\nsore_wa,3\nnopo_(patter),1\nc4,0\njohn_r,1\nnai_(erumaria),1\nyasuda_katsunori,1\nwakaba_girl,3\nrocket_engine,0\nhokuto_no_ken_shinpan_no_sousousei_kengou_retsuden,3\npp-91_kedr,0\nfujiwara_kaoruko,4\nseirei911,1\nscooby-doo_(character),4\ngoushu,1\nki-84_hayate,0\nsakuma_mashiro,4\nsasahara_souhei,4\nkurashiki_nanka,1\naizaki_(aizkaizk),1\nusami_shiori,4\ndevy,1\nk-me,1\nprint_cup,0\njiguang_zhi_aoluola,1\nchiro_(suzuka98),1\nbe_nantoka,1\nmozu-k,1\nogamiya_jin,1\nippo_tsuko002,1\nmine_thrower_(ore_no_bakudan),1\nfuoore_(fore0042),1\nyuukagen_(poipoipopoino),1\ndragra,1\nwolverine_(kemono_friends),4\nyoite,4\nfujishima_kazuya,1\nshiimo,1\npanzerschreck,0\nbanana_print,0\nkobiyuun,1\nteca_(ryeol),1\nwada_kenichi,1\ndorshe,4\nenemy_uchigatana,4\nararagi_yuuichi,1\npapas,4\nsamanta,1\nhaibara_you,4\n1mm_(norizo),1\nbeastlord_(sword),0\nemile_elanos,4\nsplit_depth,0\nyousui,1\ncocoa_bean,0\nlure_ball,0\nyamamoto_doujin,1\nbard_(league_of_legends),4\nazukiman,1\nqqmng,1\njewel_(umamusume),0\nbuffet,0\ntsukebo,1\nblue_raincoat,0\nmel_medarda,4\nhyafumi,1\ntokio_(okt0w0),1\ncovers_(kill_la_kill),4\nkezu,1\nkuroki_francisca_yuria,4\nbig_order,3\nkouga_(hipporit),1\nzuikaku_kai_(kancolle),4\ncassie_(paladins),4\nyayoi_asuka,1\nnegishi_hideto,1\nkokonex,1\nyomogi_(becr),1\ntrouble_trap_laboratory,3\ntakeshima_satoshi,1\nplant_sex,0\nguilty_princess,3\nsteven_armstrong,4\nrebaa,1\nnina_(tiny_evil),4\ngohan_beast,4\nsoitsu_(alb),4\nharuhana_aya,1\nkaku_(walletbreaker),1\nsantafe99,1\nbadluck,1\nfujimoto_(ponyo),4\nobyaa,1\nmanticore_(girls'_frontline),4\nning_rongrong_(douluo_dalu),4\nwomu,1\nsumita_kazuasa,1\nteo_(telo_ruka),1\nemu_1316,1\npyonsan,1\nmolu_stranger,1\nyomusugara_(uzo-muzo),1\nasanuma_katsuaki,1\njanus_zeal,4\nrudy_(ikeuchi_tanuma),4\neden's_ritter_grenze,3\ncodename47,1\nteruriu,1\nmegumi_222,1\nkyoudaidon_(sex),0\ntorakami14,1\nmai_(maittingu),1\nknot_gag,0\niyumekai,1\nnicholas_(granblue_fantasy),4\nshimoochiai_touka,4\nhitoiki,1\ntm_(utfp3372),1\nanemia_kwus,1\nxianjian_lingluan,1\nkasugazaki_yukino,4\naf_(afloatisland),1\nrizel,4\naki_yamane,1\nmorita_yukari,4\nhakisou,1\nbipup-hola,1\nmugen0017,1\nikari_warriors,3\nmittsu,1\nioruko,1\nsuarokin,1\nseto_(yancha_gal),4\nw_(w64851564),1\nbaron_nashor,4\ntaki_zen'ichi,1\nplant_wings,0\nchaya_mago,1\nsakurahuji-iro,1\npepo_(absolute1123),1\nkiteman442,1\nbaketsumuri,1\njoe_(crusher_joe),4\ndominion,3\nmaliketh_the_black_blade,4\nharibote_elegy,4\nnogchaminteu,1\nsockinajar,1\nquartz_(gemstone),0\nkuiqiu_kq,1\nlolo_(vtuber),4\nhair_behind_eyewear,0\nmagpul_fmg-9,0\namai_shirou,4\nshinganji_kurenai,4\nhiraoka_koushi,1\npeppa_pig_(series),3\nclov3r,1\nminamino_karen,4\nnameplate,0\nguozimiao,1\ng36c_(you_who_steps_up)_(girls'_frontline),4\nyuzu_sato,1\nhashiguma,1\ntamatabe,1\nmo_yu_de_jiaozi,1\nodessa_silverberg,4\nemmikn,1\ndownload_link,5\nbelted_skirt,0\nkassan_(kassan_5a),1\njustice_committee_club_member_(blue_archive),4\nessex_(a_trip_down_route_66)_(azur_lane),4\nmetaru_maccha,1\nkurosteel_ds,1\nsakyuu_futoshi,1\ngagumber,4\nshouz,1\nhakusyokuto,1\ndaiwa_(daicon),1\nkgctcg,1\nmijinko_(barabadge),1\name246,1\nroruri,1\nkaiso_(kaisooekaki),1\nyumekuro,3\nhuge_0330,1\nlua_klein,4\nyagen_toushirou_(kiwame),4\njack_(jacknoeaka),1\nokken,1\nmaruno,1\ntom_(remisaku),1\ntachi_(tachibana),1\nharstfazn,1\nniji_sugi,1\nonodera_punpun,4\nbluebreed,1\ndesuno,1\nkokodayo,0\najirou,1\nzoku_hitou_meguri,3\nspanking_self,0\nwo_xuyao_jiashui,1\nyotte,1\nrinbukyoku,1\nzim-o_(2cy520),1\nmare6ns,1\nprimitive_link,3\nnowsicaa,1\nvinny_(promare),4\ngaien_(jin_morisono),1\nnaked_costume,0\naquila_favonia_(genshin_impact),0\nhayapi,1\nyamada_auto,1\nmale_mage_(dungeon_and_fighter),4\ntomathao,1\nyumina_enclave,4\nkibstar,1\ndot_(poni_taoyaka),1\nkoebushi_(mat),1\nsara_(uunyan),1\njura,1\nrococomm123,1\npeter_huu_nguyen,1\nban_tang,1\nmochitsuki_usa,1\nimi_jericho,0\nmmmgnsn,1\ntakekawa_shin,1\nmakimura_minami,4\nmarcel_galliard,4\nmc,1\ncarnival_mask,0\ngabriel_pavani,1\nhisaba_iori,1\njururu,4\nhigh-waist_bikini,0\nsurufuji,1\nmojaranmo,1\nflyers,0\nma2_ereki,1\neumme_tongtong_gu-i,1\ntanimura_kaoru,4\nkitagawa_mikio,1\nhayami_aki,4\nhelmet_(trailblazer003),1\nmausratten,1\nweapon_stand,0\nliang_chan_xing_make_tu,1\nmichishio_(azur_lane),4\npainting_woman,4\naiee,1\njudith_(barely-there_black_bikini)_(tales),4\nehohin,1\nsukeban_deka,3\nhan_(hehuihuihui),1\nomochi_kuenai,1\ntogatamaki,1\nnonamejd,1\nhomocacti,1\nfuyukono,1\nzabu_rou,1\nmafuri,1\nniboss,1\nsyaofoo,1\nneko_punch_(user_hddm3373),1\namamoru_21,1\ncornflower,0\nkikuchi_milo,1\nhat_ring,0\ntyranid,4\nknsei,1\nthirteen_(scissor_seven),4\nkage_no_utage,1\n502nd_joint_fighter_wing_(emblem),0\nanastasia_(pixiv_fantasia),4\nrow_(dq11),4\nitsudzumi,1\ntatedano_kabae,1\nmarionette_(ragnarok_online),4\nmafuyun,1\ntoriko_no_shirabe_-refrain-_chouritsu_sareru_otome-tachi_to_onna_kyoushi,3\ncarabiniere_(azur_lane),4\nsageo_yn,1\ngevjon,1\ndiao_(nrays),1\nsaegusa_ibara,4\nmerellyne,1\nspray_poka,1\ncrested_hair,0\nnanamira_bi,1\nsafe3133,1\ngalactic_nova,4\nagatha_chris_q_outfit_(touhou),0\nao_orin_ringo,1\nnannyou_dojin,1\nstar_trek:_the_next_generation,3\nhobbit,0\nhussar,0\nvoidwalker_wraith,4\ntonokawa,1\nhorumu_(norubahu),1\ncheese_hair_ornament,0\nleilah_(ragnarok_online),4\nmurgoten,1\nbiro-budou,1\nbliss_(image),0\nuav,0\none_smoke,1\nrollermet,1\nnaraku,3\nhei_kuang_jun,1\nwindy_(suikoden),4\nshoumetsu_toshi,3\nshade_(futagohime),4\ngemini_(vocaloid),3\ntako_8_yaki,1\ntakumi_watanuki,1\nanaconda,0\nritz10_(benben),1\nedoben,0\nsuzunooto_shirasu,1\nsuga_natsumi,4\nkaguya-san_(nantyu-erosada),1\nliedein,1\nmeiya,1\nnoora_to_toki_no_koubou,3\nhirono_(hxze4434),1\nronen,1\nmiruro_(futagohime),4\nam_(star_wars),4\ngattame,1\nblackcliff_slasher_(genshin_impact),0\nblacksteel_worldwide_(arknights),0\nama_ane,3\neksistere_kyrenia,4\nshea_haulia,4\nhutaba_haru,1\nconfetti_ball,0\nmonofin,0\nmariel_(wild_arms),4\nmotto!_haramase!_honoo_no_oppai_chou_ero_appli_gakuen!,3\nkarou_(lhscck302),1\nbeyumi,1\nchina_jersey_(meme),0\nakasaka_ryuunosuke,4\ntkgoishi,1\nmyless,1\nlarge_head_wings,0\nsaburouta,1\njs05_(girls'_frontline),4\nkaneda_tamago,1\nryuuta_(akatukiryoka),1\nhio_(hiohio0306),1\nk31_(girls'_frontline),4\nsirotuki_ito,1\nfubuki_(senran_kagura),4\nnoir_eku,1\nipeulo,1\nyu_yin,1\ntail_or,1\nmachi_(machi333),1\nsaiko_heart_(love_live!),0\nyayo325,1\nnakatsuru_katsuyoshi,1\npyytato,1\nfumuna,1\nfrench_toast,0\ndabu_(dabuchan),1\ngrey_(mega_man),4\ndracozolt,4\nwatchdog_rol_(y1104280730),1\nunreal_night_girls,3\nshiraniwa_rin,1\ncastlevania:_lament_of_innocence,3\npatchoung_(aoshima),4\nrina_(crystalrina),1\nsakuraki_riichi,1\nrance_vi,3\napupu,1\neply,1\nroulette_roulette,0\neicy_(alchemy_stars),4\nazuma_ren,1\ntannkobuiwa,1\nnewflame,1\nh28,1\nshingai_eri,4\nzangi_(lkt2012),1\ntiny_stars,0\nmatsuko_(kazu-koto),4\ntakebouzu,1\nouija,0\nfurball,0\nwhite_garter,0\ntame_(tame-97),1\nggyoku,1\ndiablo_(isekai_maou),4\nhazuna_rio,4\nreyson_(fire_emblem),4\nborzoi,0\nsunya_(honorin-yuunibo),1\nnioh,3\nharuno_(macoro),1\nsuper_sailor_mercury_(stars),4\nhn_(honyori_ta),1\ngalvatron,4\nnawakena,1\nrichmond_(azur_lane),4\ngun_decal,0\nmizuabi_kamome,1\nyusheng,1\nking_clawthorne,4\ndelux_drawings,1\npuchidori,1\nswallow_zzy,1\nopen_wetsuit,0\nlaruna_(granblue_fantasy),4\n07touka25,1\ncrochet,0\nmosu2,1\nkinos_(kw00789),1\nshirisensha,1\nretar,4\nsakichi,1\nsmelling_pantyhose,0\ncookie_(ppyf5328),1\nplaystation_move,0\nkuuron_(moesann17),1\ndaimon_gorou,4\nnoitama,1\nsako_(oyatutabero),1\ncostume_combination,0\nota_(ota-0000),1\nmata,1\n2dswirl,1\nfried_squid,0\norochi_(kof),4\nminori_(m-noir),1\nkoyomi_(masayo),4\nnabeniuitagomi,1\ntonko,1\nhisagi_shuuhei,4\nunknown_artist_of_2ch_sakura_kyouko_thread,1\ncst,1\nsakigake!!_otokojuku,3\nmaji_(majibomber),1\nghangaji,1\nkung_fu_panda,3\nokita_juuzou,4\nmakai_tenshi_djibril_3,3\nmahou_shoujo_tai_arusu,3\nitou_ebiko,1\nhinduism,0\nsuzunoya,1\nluvriel,4\ntoki_reatle,1\nsuzuki_rui,1\ndark_talker,1\nisshii13,1\nbrave_princess_(ishiyumi),4\nstrip_hair,0\nnana-shi_hostler,1\nrengoku_ruka,4\nnyungsep,1\nkaguyano,3\nmamoi,1\nnanao_(nanao1023),1\nmurasame_(kancolle)_(cosplay),0\nespio_the_chameleon,4\ndvd_player,0\nrover_(animal_crossing),4\nbessho_emma,4\ncumdrip_through_panties,0\nscaleph,1\nparty_time_gold_(idolmaster),0\npaper_roll,0\ngrani_(miraculous_moment)_(arknights),4\nyuki_mashiro,1\nmulticolored_flower,0\nseven_of_hearts,0\ntakatou_sora,1\nnsio,1\ndragon_knight_(dungeon_and_fighter),4\ncasket,0\nsaltypoundcake,1\nmate_rin,4\nomega_labyrinth,3\nrange_blaster_(splatoon),0\nrishetta_(30ms),4\nstreet_gutter,0\nsonic_mania,3\naoinu_(shuumatsugeki),1\nfujimi_nao,1\nnew_york_yankees,3\nhey_(bluebell),1\nnakada_eiji,1\nramram_(arms),0\ntaimanin_asagi_zero,3\nchicken_wing,0\nsurprise_buttsex,0\ntamaki_shin'ichirou,4\nsatsu,1\ntatsukichi,1\nasagi_(seal47),1\naki_minoriko_(cosplay),0\nlast_man_battalion,4\namatlas,1\nseoltang_(nitro_sugar),1\ncontinue,0\nmenreiki,4\nnocunoct,1\no-djiko,1\nsleep_(isliping),1\nblue_haired_girl_(kamisimo_90),4\nfoo_fighters_(stand),4\ndr._gero_(dragon_ball),4\nbetty_boop,3\nbunny_black,3\nfutaba_lili_ramses,4\nmika_uni,1\n0_ebj,1\nshakuyouka,1\nkasuga_haruhi,1\nayumi_(as0206),1\ntrue_damage_qiyana,4\nshiro_(kemurikusa),4\nfelius_arwin,4\nmoonku,1\nmudbray,4\nyakisobaosu,1\nbulldog,0\n82jhin,1\nkishita_yuu,1\nkinokino,1\nchinatsu_(kuroonehalf),4\ndexter,4\nheppokokun,1\nmaaranto,1\nshooot108,1\nirene_(jojo),4\ntsukigime,1\naroha_(aroha390),1\nhoshino_aoi_(la_huynh_hai_than),1\never_(nann2013),1\nokasira_(superkurounmo),1\nsanso_(kasyawamoti),1\nkyarage_(soda),1\nnazono_mito,4\ngust-san,1\nhare_(aeex5727),1\nsourenkio,1\naino_pekonen,4\nlarge_cross,0\nyomogi_komegura,1\ngtgt_nishiteyaru,1\nmint_(summon_night),4\nfeleven,1\njessica_(clivia)_(arknights),4\norino_yushi,1\nkitakaze_higashikaze,1\nneho-kun,1\nxijian,1\npajamei,4\njeanne_francaix,4\nchoukaku,4\nhaegiwa_gonbee,1\nzoe_(crownsforkings),1\nichika_(quaternionxxx),1\nimpforhire,1\npantaloons,0\ntittu,1\ntorc,0\nfox_husband_(doitsuken),4\nyamada_vanhouten,4\nhashiba_natsumi_(animare),4\nsorrowny,1\nnuri_kazuya,1\ntensai_bakabon,3\noctavia,4\nixion_saga_dt,3\njiyasu,1\norange_wristband,0\nbrother_tomita,1\nsweeter_(h110111),1\ngolion_(mecha),4\nmatatabi_nia,1\nshorts_tug,0\nyui_(nightflight),1\neternita,3\narya_stark,4\npantarou,1\nrobosuke,1\nkoougi,1\nkusunoki_tomoe,4\ntwai,1\nmirk,1\nmiyamoto_musashi_(vagabond),4\nmidori555,1\nviper_gt1,3\nkamen_rider_gatack,4\nstellula_eques,3\ndelmore,4\ninaba_masao,4\nasano_(shikisokuzekuu),1\nblue_(saga_frontier),4\nbad_idea,1\ninuhiko,1\nminami-kamakura_koukou_joshi_jitensha-bu,3\nimuzi,1\nakebi_miso,1\nmami_(hidamari_sketch),4\nmasatome,1\notoma_may,1\ntype_61_(gundam),4\nviole_mai,4\nkotuzui_yositune,1\noberon_(sao),4\nrp_(necho),1\nshikikagami_sanae,4\nhimegami_shino,1\niroai_midodo,1\nhima_(nichikan),1\nyukimizu,1\njunkos,1\nyumesuke,1\nmomohime_(dancing_blade),4\nshima_(6land),1\nfailnaught_(fate),0\ntatsumi,1\nmiyamoto_sakura,4\nwil_(fire_emblem),4\nraide,1\nnekoro,1\nitsuku,1\nmassugu_go,0\nnakano_azusa_(cosplay),0\ndesigner_ojisan,1\nkey_trash,1\nkotomine_kirei_(sensha_otoko),4\nchibiki,4\nrubbish_selecting_squad,1\nhedge_trimmer,0\nmidori_no_umi,3\naohigeko,4\nevra_von,4\nwheeljack,4\nalgodoo,3\nsenntakuya,1\nl.v.c.,1\ntonnura,4\nrandou_serika,4\nli_luo,1\npoyamu,1\nluigi64,1\njuvecross,1\nbassdrum,4\nagatio_(golden_sun),4\ntehryu,1\nmageres,0\nsanyu_(ry_thae),4\nmigita,1\ncellophane,0\nmare's_leg,0\ngreenwood,1\nbluetheater,1\nshuu_(sirokumasabu),1\nmidori_(greenwood),4\nyamaoka46,1\nokome_rice,1\nmmorpg,0\nedward_keddy,4\nelran,1\nyuhka,1\ncomic_sigma,3\nsachirika,1\na-iueo,1\nnayuzu,1\nnyaasora,1\nshirokuroya,1\nnine_(fft-0),4\nbambi_nano,1\nnashida_oriha,4\namagi_daichi,4\nasuna_elmarit,4\nhaikuro,1\ntsurara_(pop'n_music),4\nwuliao555,1\njuder,1\nkonoe,4\nkawa_takatoshi,1\nmanji_(nanakirio),1\neastern_and_little_nature_deity,3\ntanaka_yuusuke,1\nminatsuki_(sitsu),1\nshikoke_(fizintine),4\nchiyomi,1\nmelon-chan_(cosplay),0\nivlis,4\nsurfing_pikachu,4\nnecrozma_(normal),4\nkio_sayuki,1\ndachshund_(kemono_friends)_(nyifu),4\nkris_(fire_emblem)_(male),4\ndancing_blade,3\nsvv_art,1\ngo_to_kozukuri,3\nimari,1\nmarie_(onegai_teacher),4\nritos_tortilla,4\nfamily_tree,0\nmahou_tsukai_no_hako,3\nmannish_boy,4\nmutsuki_masato,1\nkirishima_hijiri,4\ntakanashi_homare,4\nutsugi_sakuko,1\nyadoumaru_lisa,4\njenna_(golden_sun),4\nwalking_backwards,0\nakkirarara,1\nmika_(moc828),1\nkanae_arisu,1\nminase_kuuru,1\nfujitsuna,1\noneko,1\nyamaki_suzu,1\nyaiba_(7th_dragon_iii),4\ncytus_ii,3\nnisson,1\nutako,1\nyamato_(inraitei),1\nexcalibur_face,0\nomix,1\nvent_of_the_front,4\ngeara_doga,4\natsumi_haru,1\ngreen_green,3\nazuki_kurenai,1\ndaburoku,1\ncrossbone_gundam_x-2,4\nsumika_(smikas),1\nshouko_(airen),1\ninplick,1\nhamiko_(hakogardenmiko),1\nnatsuhina,1\njigsaw_(character),4\nmtmt_mtmt,1\nmitsurugi_asuka,4\nk.k.,4\nhimukai_rin,4\nmario_wibisono,1\nbackscratcher,0\numetarou_(shujinko_kidori),1\ntissue_princess,0\noki_kiki,4\ncoma_(light825),1\nkujou_miu,4\nkusuriuri_(dark),0\nmiyano_tomochika,1\ndaigo,1\nnanami_(fuku),1\nnekito,1\nko-yan,1\nyamaneko,1\ngisarme,1\nten_(manga),3\ncai,1\nshu_(arc_the_lad),4\nisobe,1\nemu_ichigo,1\nushi-oneesan,4\nnishijou_takumi,4\nyorisuke,1\njubilee,4\nryokosan,1\nshin_ringetsu,3\nozawa,1\nmarch_(trusty_bell),4\nminase_sakurako,4\nmokei,1\nmaruboku,1\nxenogears_(mecha),4\nhimukai_yuusuke,1\nslaanesh,4\ndark_lemonade,4\nultraman_tiga,4\niroiro,1\nmuraji,1\nakiko-sou,1\nk.sho,1\nrugal_bernstein_(cosplay),0\nyakushiji_ryouko_no_kaiki_jikenbo,3\narc_the_lad_twilight_of_the_spirits,3\nmochida_yuka,4\nchikinman,1\nbokkori,1\nchitose_(zenkou),4\nun_do,1\nmeisa,1\nyasuhito_(yasu_no_e),1\nlocked,0\nmaud0239,1\niwakiyamayukisatoshironanogojuurokushi_akira,4\nradical_highway,1\nyuu_kikuchi,1\nutsugi_lenka,4\nphantasy_star_iv,3\nni_no_sakura_kouchou_(module),0\nmint_(mintlemonade3),1\nzeta_(24904340),1\nokayu_(deleted),1\nmarjoly,4\nengineer_kim,1\naurore_(takatou_sora),4\nasso,1\nharuto_(nyannzou789),1\nswan_white,4\nkurashiki_(kas0),1\nshiina_tsubasa,4\nmiura_kazuko,4\nah_zhong_(mountain_han),4\nsakurazuki_yura,4\nyuzuki_(chobits),4\nballadeluce,1\nnymph,0\nonion_pikupiku,1\nshokuyou_pants,1\nriri,4\nmigumi,1\nrj_(lingshih10),1\nbetty_boop_(character),4\nhomare_(princess_connect!),4\nkarin_(princess_connect!),4\nklang,4\nerror_(errorless),1\nframboosi,1\naverage,1\nblood_the_last_vampire,3\ngreen_leggings,0\nt-90,0\nremiss_(trouble_spirit),4\nmacne_coco,4\ncircus66,1\ndonald_duck_(cosplay),0\nsou_(boxxx82),1\ncircle_ed,1\nminazuki_izumi,4\nthe_third,3\nniche_(tegami_bachi),4\nhanekawa_tsubasa_(cosplay),0\nareazero,1\niduhara,1\nkudou_asami,1\nninton,1\nyuzure_mon,1\nmisaki_mizuki,4\nmaria_torres,4\nrodin,4\nshanghai,0\ngusuku_luna,4\naikagi,3\nhoshino_asuka,4\nhoshino_aki,4\nmori_kaoru,1\ntakahashi_eriko,4\nphantom,4\nkoss,0\nkonosaka_kirino,4\nwatashi_no_oniichan,3\nshiratori_kuu,4\nmugityax,1\nkintarou,4\nyamamoto_enji,1\nhirai_hisashi,1\ntrain_heartnet,4\nfood_fight,0\ngore_screaming_show,3\ntsubakihara_ren,4\nshigarami_kyouma,1\nnonosaki_akiho,4\nonemu,1\nfirepower,3\norimoto_asami,1\ndawy,1\nonyxia,4\nprnt,1\nshinazo,1\nsirotuka_lambda,1\npaul_phoenix,4\nryou_(effort),1\npinky,4\nmaria_(silent_hill),4\nkanitama,1\nmilk-san,4\ngreat_teacher_onizuka,3\nlogicon,1\nyunamul,1\nitou_yoshiaki,1\nyuzun,1\nkicham,1\nneemui,1\nlittle_twin_stars,3\ntokimeki_memorial_only_love,3\nitai,4\nnaruho,1\nduel_love,3\nagata_no_michi,1\nheiyuen,1\nbatako,1\nayame_(norie11),1\ncomrade_stalin,1\nhigemorigen,1\nuwa_(rakko),1\nqb,1\nkibagami_genjuro,4\nmeso_(gjmeso),1\nhongchajun,1\nhair_bun_maid_(mdf_an),4\ncomiccho,1\ncomiket_98,3\nroberta_(summer_flowers)_(arknights),4\ntowa_(slow_damage),4\nkaiki_(osuppai),1\nciyana,4\nyoni_(zhang),1\nkomoreg,1\nprinz_eugen_(azur_lane)_(cosplay),0\ntemakizushi_(temakizushisand),1\nyu_kitsune,1\nzebrina_(show_by_rock!!),4\nkamui_(kurohshiro1),1\njoe_(megalo_box),4\nkiller_whale_(kemono_friends)_(stylecase),4\nisraeli_flag,0\nskull-shaped_pupils,0\naffliction_(darkest_dungeon),0\n88_(vashperado),4\nabdominal_stretch,0\nfuunyon,1\nblast-7,1\nmatsukan_(dug_pile),1\nsasasa_(pixiv1790125),1\nyukihira_itsuka,4\nempty_(mn3k_yo),1\nssi,1\nkawamoto_satsuki,4\nkac-pdw,0\nstar_guardian_xayah,4\nhero_shot_(splatoon_2),0\nashina_isshin,4\nsekai_saikou_no_ansatsusha_isekai_kizoku_ni_tensei_suru,3\nzabaniyya_(fashionista_suit)_(housamo),4\ndensha_otoko,3\nfiona_gilman,4\npiao_miao,1\njeanne_d'arc_alter_(swimsuit_berserker)_(fate)_(cosplay),0\noctoball,4\nkishimoto_maria_mirai,4\npng_pant_(bus),1\nichiya1115,1\nguan_tang_baozi,1\nteatix,1\nhasegawa_(hase_popopo),1\nrafale_revive_custom_ii,4\npieces_/_yurikago_no_canaria,3\ngiko,4\nyuzuha_(tengokugumi),1\nlc_7v2,1\nkeito4f,1\nneru5,1\nayase_shichikai,1\nmkt_(pixiv15187870),1\nfur_armlet,0\nelbing_(the_throne_of_misfortune)_(azur_lane),4\nfullta_(ikemeru19),4\nkasshoku-chan_(katuo1129),4\nkmkr,1\nharuharo_(haruharo_7315),1\nyidie,1\nkamen_rider_amazon_alpha,4\niris_(neco),4\nparasol_kirby,4\nkiana_kaslana_(white_comet)_(cosplay),0\nkagi_(dicedkey),1\ncastform_(snowy),4\ngreyy_(arknights),4\nnovelty,0\ntorn_robe,0\nlennys,1\ntousaki_(tousakiworks),1\nrachel_(seisou_fude_no_tabibito),4\nryannari,1\nquarter_1404,1\ncrotchless_shorts,0\nfuyuhi_tsukika,1\nshiiton_gakuen_school_uniform,0\ncleru_(cleruuuuu),1\nvicineko,1\nazuki-iro,1\nmake_maketan,1\nhong_xiu_ying,4\nshinonome_nemu_(nemulog_sn),1\ngaius_(shadow_of_the_colossus),4\nhana_arare,1\ntiequan_(last_origin),4\nkarinka,4\ngigantamax_alcremie,4\ngunvolt_chronicles_luminous_avenger_ix,3\nokamired,1\na_iri_a,1\ngerik_(fire_emblem),4\nnickleflick,1\nkikuri_yuki,4\ngisuka_yan,1\nposom,1\nmiyamoto_sakura_ga_kawaii_dake_no_shousetsu,3\nshion_(michiking),4\nnzwt,1\nruna_(user_guwn7382),1\nrelations_sisterxsister,3\neve_moonlit,4\nminazumi_kasane,4\nf_con,1\nkrtmtm,1\nnishimori_misa,4\nfuxiyu,1\nyotsura,1\nsakurada_hikari,4\ndeko_(kamemaru),4\nstretched_neck,0\noyuzaki_(ayuzaki),1\nniigaki_hina,4\nporontyo_07,1\nknbd,1\n2k-kun,4\ninvidiata,1\nsunnypoppy,1\nnun_(mdf_an),4\nhansel_(grimm),4\nchuchumy,4\nclive_(fire_emblem),4\nkurogane_naoto_(churushiko),1\nmiss_safety,4\nnavarre_(fire_emblem),4\nenki_(fate/prototype),0\nwjn-rance,1\nmirei-yume,1\ndebi,1\nshadow_ball_(pokemon),0\nmobile_legends:_bang_bang,3\nkanobitch,3\nchest_rig,0\nfundoshi_day,0\nkachi_(kachi5100),1\nmachida_ayaka,4\naibeya,3\nlieze_aria,4\nfury_(movie),3\nmiaohik,1\nmarvelousaql_(neptune_series),4\nargon_(exys),1\np_ion,1\nsouth_dakota_(warship_girls_r),4\nkongou_(warship_girls_r),4\naoba_(warship_girls_r),4\nsakurai027,1\nchikuyama,1\nr3d,1\nakari_(angel)_(princess_connect!),4\nyuzuriha_(pixiv_14248010),1\nmiura_daisenpai,4\nsasashigure_miyo,4\neric_ueda,1\ntropical_camouflage,0\nkawahagi-tei,1\nhanr10,1\nlina_rojas,1\nhiera12,1\nhyugakomati,1\nwrestling_boots,0\nnatsume3304,1\n666haorare666,1\ncolin_tan,1\nrwael,1\nandou_yuna,1\nakasuga_moyashi,1\nphilippine_flag,0\ngimme2000,1\nfujisee,1\nkingin_shishou,1\nbekko,1\nminori_yumeko,4\nsakura_cha,1\njacquelin_de_leon,1\nsicily_(disgaea),4\nfaust_(makai_shin_trillion),4\n7eddy,1\nlove_marginal,0\nthomas_claire,4\nsanae_(jomill04),1\nyoruko_(lily-spring),1\n60_(klioo1),1\nako_(so_crazy!?),1\nannerica,1\nyuurika_(gorua),4\nmegumi-square,1\nhakoiri_musume_~muku_na_shoujo_wa_shiroku_somaru~,3\nmulticolored_pubic_hair,0\nsuzuki_anzu,4\nfollett_(deathsmiles),4\nmilda_(grandia),4\nthe_regulars_(torikissa!),4\nbaritone_(suite_precure),4\nriiya_(akazukin_chacha),4\nheifetz,1\nwrappings,0\nphorni_(symphonic_rain),4\nwuim_(mana_khemia),4\nyachiyo_mei,4\nobakeart,1\ncigarette_candy,0\nfurawast,1\ndog_hate_burger,1\nariel_(kagemusha),4\nyohane_yoshiko,1\ntelstar_18,0\nstreyah,1\nred_bloomers,0\nhayami_rinka,4\nhigashikata_jobin,4\neosinophil_(hataraku_saibou),4\nremimiku,1\nnelke_von_luchetam,4\nkaisoku_hirosuko,1\nmosquito_coils,1\nryokuno_green,1\nkujou_fumi,4\nyayoi_shiro,1\nmakkuro_rokusuke,1\npetopetosan,3\nmurasaki_(deceive138),1\nuchimaki_subaru,4\nkuroi_ginko,4\nmishima_lisa,4\nagent_7,3\n7meill,1\nkalun_(fwme3378),1\nsensei_(shepherd0821),4\nhekonda_kan,1\ncharacter_badge,0\nkatagiri_mai,4\nfuu_(koneko_no_yomeiri),1\nshichikaku,1\nonly_sense_online,3\nyagen_sasami,1\nyeluno_meng,1\nyukiya_0_0,1\nzudarts_lee,1\nhiyori_(higanahannnti),1\nhanamakura,3\nnano_(cherry_line),1\nwttwj,1\nmega_diancie,4\ntoyono435,1\nbeniko08,1\nririfa,1\nazazel_(shingeki_no_bahamut),4\nmaomaozi,1\ntamago_soup,1\nchinese_gundam,4\ncartolaio,1\namerican_psycho,3\ntokimiya_rem,4\nrokuichi_(bluelamp61),1\ntaku_(yakumodaisuki),1\nmochizuki_usagi,1\naratakosu_(tako's),1\nmochizuki_hull,1\nnooko,1\nchild_of_light_(game),3\nprincess_aurora,4\nmuireko,1\nkonohana_suzuka,4\nareishia_spirit_academy_uniform,0\namakasu_hisone,4\noomune_binta,1\nsoushuu_senshinkan_gakuen_hachimyoujin,3\nso-ichi,1\notokonoko_heaven,3\nuemura_hitoe,4\nankoku_no_ojisan,1\nmiwa_shuuji,4\nmanatsu_daichi,4\nlilith_bristol,4\nonoderasan,1\nmela_(pokemon),4\naki_(o2x_x2o),1\n\"isekai_izakaya_\"\"nobu\"\"\",3\nirokawa_ruki,4\nzack_(doa),4\nrick_hunter,4\nelliot_march,4\nnaco_(manacool),1\nitakurakou1993,1\nkohinata_(sdu0628),1\nwashu_junkyu,1\nten'on_(amane09),1\nkurukuruchocolate,1\nclimaxmukr,1\nzhoujialin,1\nkz_(kazuma-rising),1\ncecil_(wing_r),1\npazuzu438,1\nisoroku_(gojuuroku),1\ndunk_tank,0\nhecktop,1\ndoraemon:_nobita_to_tetsujin_heidan,3\nkoopa_fortuna,4\namenomori_howa,1\nyomiclone,1\nnaruko_shoukichi,4\nmaiden_with_eyes_of_blue,4\nteiko_(gulp5959),4\nqubeley_papillon,4\nyu_yun,1\nrei_(persona_q),4\ndouble_facepalm,0\nlolitaii,1\nakk1,1\ntetra_(log_horizon),4\nkururu_(koisi122),1\nsonoda_umi_(cosplay),0\nrobert_de_jesus,1\nleonidas_sun,1\nusfdive,1\nakuyuu_(akuyuworld),1\nivolay,1\nsenoo_arika,1\nbryony_(pokemon),4\njyuma,1\nkawasemi_(pocorit),1\nkimi_to_kanojo_to_kanojo_no_koi.,3\nroco617,1\nshiu_(pika),1\nmurakami_murako,1\nsaphirya,1\nsimon_stafsnes_andersen,1\nbikininja,3\nskf,1\nshiratsuki_shino,4\nakeno06,1\nmos_(mostfunny),1\nitaba_yumi,4\ninasaba,1\nfumatake,1\nthu,1\ntakega_satsu,4\nmasami-san_(regdic),4\nmakokb,1\nkamiya_ueshi,1\nai_(kaminai),4\nkeke_(kotowari),1\nrealdragon,1\nsasamaru_(sasamaru),1\nkotori_(gokigen_iori),1\ntetsu10ru,1\naselia_bluespirit,4\nwasp_girl,0\nawara_chikako,4\nkukuri_(ahagon),1\nnoin_(shinrabanshou),4\ndonburimeshi,1\nhand_on_ankle,0\nfolko,1\nlio_convoy,4\npaper_towel,0\nnishikikope,1\ngravy,0\nsatan_jacob,4\nokota1869,1\norietta_chrono_istarica_ginasteele,4\nfallout_(black_torch),4\nryuuama,1\nhijiri_rue,1\ngensei_ruri,1\noharu_(mushibugyou),4\nsenkou_no_flash,4\nlucille_ernella,4\nelizax9x,1\nwater_elemental,0\nthe_robots_of_dawn,3\naozora_(syun8823),1\najapar,1\nshui_qian_he_kafei,1\nshizuki_sayaka,1\nnopal,0\nyatsuashi_matomo,1\nultra_guardians_uniform,0\nboston_dynamics,3\ndoomie1,1\nhatsuru_826,1\nhachijou_tooya,4\nimai_takahiro,1\nheather37,1\nwatari_shinji,1\nfujimi_yomi,4\nopen_in_internet_explorer,5\ndiode_(0_division),1\natobe_keigo,4\nmiura_tadahiro,1\nangel_lily,4\nnegev_(little_drifter)_(girls'_frontline),4\n92kuni92,1\ntoono_suika,1\nbukkan,1\nyuuki_(moon_child),1\ntakamiya_mana,4\nawakeningdog,1\narcafterdark,1\nruruie_(shinrabanshou),4\nkatrina_(romancing_saga),4\nikuya@,1\nl!sten,1\nmai_jin,1\nkyko,4\nakiaki_(mofumo-freak),1\netto_eat,1\nkuroda_miki,4\nkaitou_sentai_lupinranger_vs._keisatsu_sentai_patranger,3\nzhoumo_fangjia,1\nelach,1\nsa_ka_(sakanoya),1\ntouyama_(t3yama2),1\nxun_yu_(1184527191),1\nfuusuke_(f4989),1\nmoi_(yfvlibbl9i),1\nidle_antics,1\nkaede_haya_(lo0831lo),1\nfigurehead_(figurehead67),1\ntimoria_(elsword),4\nshasu_(lastochka),1\ngelato_(girls_und_panzer),4\nairuko_(justduet),1\nunicorn_(azur_lane)_(cosplay),0\nkominami_asumi,4\nstakataka,4\nmyoukou_(azur_lane),4\nmaya_(calm),4\narka91,1\nleaf-chan,4\nkingsglaive_garb,0\nomuretu_(butterroru),1\nancient_killers_(phantom_of_the_kill),4\njuli_kidman,4\nirise,1\npixiv_gakuen,3\npandora_smith,4\nkumino_(soup),1\ncyberdemon,4\ntico,1\n532,1\nmisakura_julio,4\nyouryokuso_(chlorophyll),1\nhakuaki,1\nsageo,0\nfutoshi_(tekidai),1\nvoltron_(mecha),4\nyoru_(yoruyonaka),1\nfattybot,1\npink_lady_mage_(character),4\nkuroonu_(gyakuro),1\nhejia_abby,1\nwebley-fosbery_automatic_revolver,0\ndensou_(kinnikuhunter),1\nlevka,1\nriyu_(gauzama),1\nnekomiya_shuu,4\nsengoku_esuji,1\nmelike,4\nrichard_li,1\nmano_sakurako,4\nsaber_ruri,1\nblood_on_snow,0\nsaionji_rei,4\ninagita,1\nmaronie_(flower_knight_girl),4\ninahara,1\nlove_is_blue_(bayonetta),0\nstanbot_(little_witch_academia),4\nyuubokumin,1\nkenta_(ittla),4\ndark_fuu,1\nguuchun,1\nkurozu_(hckr_96),1\nmedusa_(lancer)_(fate)_(cosplay),0\nchimame_chronicle,3\namazon_tree_boa_(kemono_friends),4\ntwin_angel_break,3\nshiny_floor,0\nluci_ole,1\ntatsuki_(irodori),1\ndog_(gabriel_dropout),4\nkatou_riko_(niichi),4\nhortensia_saga,3\nharugasaki_kanau,4\nchicken_(kemono_friends),4\nserizawa_shion,4\nshii_(niku-9),1\nkuroyanagi_ruriko,4\nc-eye,1\nponzu_(beetle_burner),1\nzdl_xiaobai,1\nnan0teck,1\nkakiiro_(takuya),1\nyoumu_(tomgoku2),1\nkisaragi_chitose,4\npre_sktch,1\nkaede_shiroppu,1\nnamazu_(dc_27546),1\nuchida_tamaki,4\naiura_mikoto,4\nchida_daisuke,1\nchyt,1\ntinker_bell_(disney)_(cosplay),0\nyuta_(kchimuuuuu),1\nglavenus,4\nhoushou_kisaki,4\nwrapping_paper,0\nkousetsu_(nonosuke),1\nchanary,1\ndynatron_(mighty_no._9),4\nalmaria,4\nnieve_(rabi_ribi),4\nlonyan_(gurande),4\nio_(ike_ike),1\nkenjin_(pageratta),4\nhinoborukaku,1\nfive_of_clubs,0\nshekinah_(phantom_of_the_kill),4\nrayfa_padma_khura'in,4\ndisembodied_breast,0\nys_iii_wanderers_of_ys,3\nnyangorobei,1\nttnap,1\noomune_mune,4\nzeabolos,4\nfav_(mahoiku),4\nsingle_mitten,0\ntoto_(flip_flappers),4\nkabisuke,1\nsilvia_piquet,4\nnakazeko,1\nmonokid,4\nnudist_beach_ni_shuugakuryokou_de!!,3\nsthesia_awar_nono,4\naria_(schwarza97rw0rd),1\ndiamond_ring,0\nla_coiffe_(granblue_fantasy),4\nvivid_(key),1\nshroud_of_martin,0\nveil_(disney),4\nnarukami_yuu_(cosplay),0\ngoggle-kun_(splatoon),4\nsumiwow,1\ncelestino_cialdini,4\nlongai,1\nnoromame,1\nyukimuro,1\nakatsuki_rabbit,1\nktyon3,1\nlieat,3\nogata_garaiya,4\nchintara10,1\nluan_loud,4\nyuki_(idolish_7),4\nrebaria,1\nikinokore!_shachiku-chan,3\nnigori_(keydoor),1\ncherry_(10013717),1\ntomato_hair_ornament,0\npuyon_(puyon),1\nnanahoshi_yukari,4\nonsen_man,1\noxalis_(flower_knight_girl),4\nmacaroni_(piyo4508),1\ncompany_captain_yorshka,4\nviola_(flower_knight_girl),4\ngv_natsuno,1\nwicker_furniture,0\nhiyami_aki,4\nvf-31c,4\nbangku_an,1\n72producer,1\nbethly_rose_daisley,4\ntrophy_head,0\nhakubishin_tamazusa,4\ntameiki,1\ntotal9,1\nlevia,4\npurinnkawayusu,1\ngirls_of_the_wild's,3\nsphene_(houseki_no_kuni),4\ngreig_(dq11),4\nbloocarrot,1\nakizuno,1\nkuina_(escapegoat),1\nflash_cards,0\nzenisu,1\nkochouka,1\ntsujita_daisuke,1\nkisaragi_hayato,4\nsugar_(chicchana_yukitsukai_sugar),4\nkleine_erdbeere,1\nnudge,0\nfuruichi_takayuki,4\nosaki_nana,4\ntamae_(jungetsu_fukou),1\ns2u,4\nzuoyou,1\nkei_nagase,4\nrin_(toriko),4\nramona_v_flowers,4\nanna_kokoro_(anko),1\nkeun_ju_kim,1\nyuusha_exkaiser,3\ntemk,1\ndiana_(umineko),4\nlamase_(41),1\narumaji_(kiss_kill_lila),1\nkagamine_lenka,4\ntampon_string,0\ncocone_fatima_rosa,4\nshinada_benio,4\ntsuchiya_ai,4\nhanahira!,3\ncrafting,0\nraideen_(mecha),4\nassa,1\nfire_bomber,0\ntoys_(pixiv),1\nruto5102,1\nkawarazakike_no_ichizoku,3\nalicia_viewstream,4\ntomoe_(criminal_girls),4\nice_axe,0\neridan_ampora,4\nyuki_(white_garden),1\nwada_katsu,4\nnoeru_(soul64),1\ndorcas_(fire_emblem),4\ncertificate,0\nkimi_wo_aogi_otome_wa_hime_ni,3\nanko_(w-anco),1\nmikuni_(mikunik),1\niracco,1\ncony_(la_locura),1\nartur_(fire_emblem),4\nran_to_haiiro_no_sekai,3\njuujiro_eru,1\nwormmon,4\nryo_(ryoxkj),1\ngeso_(nekomachi),1\nmiki_0,1\numakoshi_yoshihiko,1\nvincent_van_gogh_(style),0\nrapuka,1\ngolden_gate_bridge,0\ngolden_knight_(elona),4\nkitsuneko_azarashi,1\nyarakuru,1\nmitoki_6x6,1\nsay_(sakabin),1\nnanji3,1\nkittika_thaworn,1\nnishinakajima_nanpou,1\nredrose214,1\nneosagi,1\nyagami_tsurugi,4\nseijuu_shining_dragon,4\nyuuki_sawano,1\nigawa,1\ndaamiyan,1\nhiotan,4\nkameko_(denki-gai),4\ncross_punisher,0\nasp@juken,1\nvirtua_fighter_5:_final_showdown,3\ntraining_wheels,0\nnaka_no_hito_nado_inai!,3\norange_tree,0\nschool_festival,0\nmitsuki_(omezame_alice),1\ng=hikorou,1\nlittle_gigant,0\nkarimero_(calimer0),1\nluna_(tsuki_tsuki!),4\nchristine_ogawa,1\nchikaburo,1\ndiras,4\nfujimi_keisuke,1\nkarasuma_tadaomi,4\nnaginoya,1\nrayxray,1\nkonbini_dmz,3\nbenbe,1\ninada_(masu_shu),4\natbk,1\nshichi-go-san,0\nwillow_sage0000,1\narian_rod,4\ngregorio_zeppeli,4\ninufusa_yuno,4\nnishizumi_miho_(cosplay),0\nkagari_chiho,4\naka_no_ripika,4\ntsukiyama_shinobu,4\nkagura_mikazuchi,4\nkumashige,1\nkimmi,1\n8-ball,0\ndetached_tail,0\nebina_hina,4\ncamie_(one_piece),4\ndaimon_masaru_(digimon_savers),4\nssorasora,1\n946083d1,1\nigeta_(pattern),0\nshimakaze_(the_white_rabbit_of_wonderland)_(azur_lane),4\nrosetta_(summer)_(granblue_fantasy),4\nair_groove_(quercus_civilis)_(umamusume),4\noctopus_devil_(chainsaw_man),4\ncursed_sword_(monster_girl_encyclopedia),4\nfuufu_ijou_koibito_miman.,3\ndiagonal-striped_neckerchief,0\nbananafish1111,1\ndoggy_god's_street,0\nji_ruxue_(hua_jianghu),4\nblustar_sky,1\ntoki_(rumukio),1\nacea_n,1\nfujimaru_ritsuka_(female)_(fgo_orchestra),4\na-_-z_(b1u49i5nsk),1\ntakamachi_nanoha_(formula_ii),4\nlahti-saloranta_m/26,0\nshinigami_(tougetsu_hajime),4\nevolved_virgin_killer_sweater,0\nmordred_(memories_at_trifas)_(fate)_(cosplay),0\nseaside_sukeban_(mg)_(blue_archive),4\nnaguru_(cyoroama),1\nhy_(hem_oo),1\nhateri,1\ncrusader_(darkest_dungeon),4\ncure_honey_(coconut_samba),4\nplatinum_(o0baijin0o),1\nmackerel_(sabanoneko),1\njody_know-grow-help,1\nget_down_(meme),0\ng36_(mini_maid)_(girls'_frontline),4\ng36_(50_days_with_g36)_(girls'_frontline),4\nhoshi_no_otome_to_rikka_no_shimai,3\nguroo_(shine119),1\nnoela_(cheat_kusushi_no_slow_life),4\nkamen_rider_amazon_omega,4\ntoine_hoko,1\npaul_bunyan_(festival_outfit)_(fate),4\ncontract_monster,0\ndisco_(sbr),4\nkingbawoon,1\nshingao-chan,4\nzuikaku_(ceremonial_crane)_(azur_lane),4\nhood_(rosey_love_poem)_(azur_lane),4\nnarukami_arei,1\nhamster_on_shoulder,0\nllama8,1\nvhdtyzusixc7fai,1\nhighena,1\noekakiyari,1\ncode_geass:_soubou_no_oz,3\nmomen102_(sji09u),1\nqbird449,1\nelfboiii,1\nlighter-than-air_pancake_(genshin_impact),0\nmisoni_(mi_so_ni_t),1\nmottirimuttiri,1\nzeroki_(izuno),1\ndaika_(last_origin),4\nye_olde_zipangese,0\nhyde_(hyde_(tabakko)),4\nkawashima_yaruki,4\nmiyoshino_shiki,4\nriri_(ri0177),1\nosu(statatatatatata),1\nkanata_mako,1\nbren_(girls'_frontline),4\nwhite_facial_hair,0\nxieyanbbb,1\nkanogawa_hiro,1\nkamimori_kuuraku,1\nslope_(check238),1\nakatsuki_katsuie,1\nskybracer_(genshin_impact),4\nsasahara_(shou_goi),1\nkishimoto_sae,4\ntachibana_mayumi,4\nseisenshi_dunbine:_new_story_of_aura_battler_dunbine,3\ngodzilla_singular_point,3\nddd_(nicoseiga51845241),1\nkumiromi_of_harvest,4\nkeibi_inu,1\ntengirl,3\nariduka_anto,4\nfinger_counting,0\nurinary_drainage_bag,0\npurple_curtains,0\nlumilive,3\nlisa_78,1\nexmile,1\nrola_(vtuber),4\nkamu_kotan,1\ntotopepe888,1\nchascoby,1\nmashima_moyu,4\nuep,1\nhearts_of_iron,3\nryekie_(drunk_tiger)_(live_a_hero),4\ncaeda_(bridal)_(fire_emblem),4\nxander_(spring)_(fire_emblem),4\nmichaelfirman,1\nu-511_(kancolle)_(cosplay),0\nshoukaku_(kancolle)_(cosplay),0\ndarling_dance_(vocaloid),3\nunbeller,1\nbuta_no_liver_wa_kanetsu_shiro,3\nmugi_(cookie),4\nsakurazaka_yuzuki,4\nmoemoepiano,1\npocchari,1\ndaichi_(daiti1318),1\nlebruitestmoi,1\nnekoinu_bamboo,1\nradian_(paradiso_guardian),4\nmellow4043,1\nazuma_fubuki,4\npotato_(popopopopo623),1\ncallie_(splatoon)_(cosplay),0\naya_chan1221,1\nlolinnez.,1\ntwilimi,1\nkurarome,1\nkuroi-chan_(kuroi_moyamoya),4\nlegenders_(idolmaster),0\nvenus_syndrome_(idolmaster),0\ntesticle_tattoo,0\nringe_(ngetyan),4\nroundschen,1\njogo_(jujutsu_kaisen),4\nsatori_(blueinc324),1\ny_udumi,1\nkozakura_(urasekai_picnic),4\nanzu_(peace@pieces),4\notou_(otou3dayo),1\ncrr001,1\ndl_mask,1\niii_(yu-gi-oh!),4\nletro,1\ndorian_oishiiyo,1\nizumi_(gyee),4\nfillia_einhart_(eirgallant),4\neight_of_clubs,0\nnuebunny,1\nfudepenbrushpen,1\nevelynn_(league_of_legends)_(cosplay),0\nkamakura_shio,4\nice_witch_lupina,4\ncuntboy_with_male,0\nyour_throne,3\ntakahashi_mei,4\nmegajujube,1\nbuchibussei,1\nn.s.egg,1\nisarai_kanara,1\ninori_taimatsu,1\nkozure_ookami,3\nmurasaki_nami,1\nhatsune_(leaden_heart07),1\noketsu_fumio,1\nnalai,1\nelectra_(xenoblade),4\nchakku_illust,1\ncode:_exotic_(elsword),4\ntactical_trooper_(elsword),4\nmucus_toad_(monster_girl_encyclopedia),4\nlemon_tea_(15058751917),1\ndark_fencer_(granblue_fantasy),4\nsunken_scroll_(splatoon),0\nshelly_(kakuno),4\njaibus,1\nningyo_numa,3\nthe_legend_of_zelda_(cd-i),3\nmigita_makura,4\nerun_girl,4\nhachimitsu_(hati718),1\nhachifuku,1\nshiranui_hazuki,4\nthe_king_of_fighters_'98,3\nthe_king_of_fighters_'99,3\nbalancing_ball,0\nmeguri_tomoe,4\nbakusou_k,1\nsquid_pose,0\nmaimai_(game),3\nsion_(laterna_magica),1\nreebok_pump,0\nrian_(bdl),1\nastdevir,1\nkflamingo,1\nkanta-kun,1\nlooking_at_ass,0\nalo_(m-o-k-e-k-e),1\nkikuzuki_tarou,1\nkitty_cat_katarina,4\nshibuki_oroshi,1\nzenryoku_batankyuu,0\namal-amaru,1\nmeganemausu,1\ntenkawa_maihime,4\nmokokusa,1\nmoko_(iiioookkkaaa),1\nsuzuki_aika,4\nyukisaki_mayui,1\ntaishang_laojun,4\ntsukimi_(shironeko_project),4\nuss_wisconsin_(bb-64),4\nibm_(ajin),0\nhundun_no_bifang,1\nshadow_chie,4\nturizao,1\nwonkrin,1\ntikal_the_echidna,4\nteeri_(koakuma_teeri_to_kyuuseishu!?),4\nhimeno_yuka,1\nkabi_killer,1\nelena_peoples,4\ndotaku,1\nyilan,1\nmakaron611,1\nkanzuki_yuu,1\nyamada_(onigori105),1\ndog_slippers,0\nhayasaka_(neoneet),1\nriomario,1\npov_legs,0\nraichi_(quatsch),1\ngladiolus,0\nhachi_(aimu),1\nashita_kara_ganbaro,1\nsuzukaze_no_melt,3\nrokudou_hijiri,4\nsouensha,1\nshishou_no_deshi,1\nkuyuu_(somari),1\nueda_hashigo,1\nuezato_ryouhei,4\njaina_preventer,4\nameyoshi,1\ndaru_dayu,4\nakatsuki_(spacecraft),4\nkurosawa_kakeru,4\nyama_(rabbit_room),1\nmaximilian-destroyer,1\nuehara_(higanbachi),1\n1000-chan,4\njelonzo_(splatoon),4\nmayuzumi_takumu,4\ndishwashing_soap,0\ntenma_mitsuru,4\ntokiko_(psychopomp),1\ntuba-kun,4\nk3nnyn3v,1\nmekakuri_(otacon250),1\nagatsumaattsu,1\nyamazaki_jun,1\nfrey_knowles,4\njeorge_(fire_emblem),4\nenkou_shoujo,3\ngrand_harem,3\ntakatoo_erika,4\nbogyaku_no_m,1\ncroire,4\nminato_(minat0),1\nkou89,1\nsirat111,1\nuss_lexington_(cv-2),4\nharasaki_nozomi,4\ntoge_(owannun),1\ntowne,1\ncure_dream_(cosplay),0\nkemeo,1\nelectronic_entertainment_expo,0\nzhan_ji_tian_xia,3\nmugen_no_ryvius,3\nminazuki_jiyun,1\nrpg-exen,1\nemone04,1\nthe_legend_of_zelda:_phantom_hourglass,3\ntransparent_bow,0\nsputnik_(artist),1\ntear_ring_saga:_berwick_saga,3\nharuta_(h-oh),1\nfukuma,1\nneko_(dakemakura),1\nreisei,4\nhika_(ozeluk),1\nmariemon,1\nleon_(vocaloid),4\nsatou-san,4\nsnail8,1\nuro_(uro_zi),1\nitagaki_atsushi,1\ntori_(torashimaneko),1\nz-s-e,1\nscootaloo,4\nkiki_(tsunya),1\nsui_(komorebi),4\nnaraba_yueni,1\nkoromono,1\ns.shimizu,1\nwatabow,1\nta_ki,1\n3dbabes,1\ndorm_leader,4\nmutenka,1\nspiritia_rosenberg,4\nnapier,4\nmagus_(seiken_densetsu_3),4\nyyukke,1\niwamochi,1\nliran_(iro),1\nhikage_(sennen_sensou_aigis),4\ngzmon,1\nvox_aura,4\nyoshitomo_(koucha),1\nsaitooo,1\ngel_(guyver123),1\nkumari_kojika,4\nyeyong,1\nmobius_(suicideloli),1\nburying,0\nginryuu,1\nkirigiri_kyouko_(cosplay),0\nkuro_no_haijin,1\nmaho_(summer)_(princess_connect!),4\nsuika_(muneneko),4\nreiko_holinger_(cosplay),0\nneko_koi!,3\nb-gata_h-kei,3\ngodai_yuusaku,4\nstudded_trim,0\nbeam_shield,0\nyokozawa_(pyu-tohuku),1\nmashiro_moritaka,4\nshared_straw,0\ndecim_(death_parade),4\nyuh_7929,1\nkyomunohi,1\noppaihobby,1\nyoshinon_(yoshinon_kotori),1\nsabusupi,1\nboku_2020,1\naquamary,1\nsigma_(counter:side),4\numeyuki,1\npenguin_uwu,1\nluxion_(mobseka),4\nsilver_wolf_(honkai:_star_rail),4\nsemen_sprinkler_j,3\nalice_gear,0\ndrawn_halo,0\npan_chira,1\npeakjump,1\nsakatakin,1\nkyoku_hakaimado,1\npet_carrier,0\nsunny_(20597521),1\ndemeter_(destiny_child),4\npoe_no_ichizoku,3\nhabetrot_(last_origin),4\nemo_fashion,0\nmarika_(zeddaru),4\nvamp!,3\nshinonome_(ichigotsuki),1\nxiao_qiang_sang,1\nsnow_angel,0\ncage_unlimited,1\nhaiji_kiyose,4\nkamen_america,4\nyukino_kanae,4\nsaki_(the_atko),4\ndarksider_(star_wars),0\nriretsuto,1\nz'gok_char_custom,4\nsheep_print,0\nyumina_elnea_belfast,4\njonathan_kent,4\nnayuta_(chainsaw_man),4\nhatohara_mirai,4\numbral_knight_(ender_lilies),4\nxiebaowang,1\nyoungsok,1\nstoner08,1\nmiyako910724,1\nyelansu,1\nigniz_(kof),4\nnexeee,1\nmatsumotoasumu,1\nmockingeu,1\nyuuki_uyu,1\ninsitsukun,1\nshirai,1\nspirit_albarn,4\nsirofuku414,1\nsprinkling,0\ntsumugiya_ururu,4\nstarky_(chrono_cross),4\ndoushite-chan,4\nbuyong22,1\ndokkanohukukaityou,1\nruy,1\nharusame_(moyuna412),1\npeachy_michi,1\nneko_usagi_(nekousagi_jpn),1\nshino_(shino-xx),1\nanarchy_ptck,1\nchagama_(pot),0\nminus_sign,0\nqmin_arts,1\ndemon_king_fish,1\nbaofu,4\nkimo_suna,1\nyam_spectrum,1\npatio_swing,0\nhisagi_hotaru,1\nkamihara_ichi,4\nbaikamo_(flower_knight_girl),4\ntakasuga_tsukushi,4\nkyakya,1\nkisaragi_ren_(mahjong_soul),4\njaguchi_(bbbing),1\nimdrunkontea,1\noota_kouichirou,4\nkarameru,1\nitoshiki_majiru,4\ntounyu_melon,1\nbass_drum,0\norange_mittens,0\nkanade_(reveryearth),1\nenemy_yari,4\nfujizarashi,1\nskunk,0\nkirby_squeak_squad,3\npopeye,4\nnayaase_beleguii,1\nwoshihedawei,1\ngals!,3\nemilia_(saga_frontier),4\namamiya_sora,4\nernest,1\nmash_kyrielight_(enma-tei_uniform)_(cosplay),0\nkawamura_kumi,4\nlovecom,1\nmidarezaki_gekka,4\nhanesaki_nekome,1\nnoguruma,1\nrindou_(faker's_manual),1\niseria_queen,4\nprune_(bombergirl),4\nkumagai_chisato,4\nsamurai_(elden_ring),4\npicolumi,1\nchirori,1\nsasayuri_(genshin_impact),4\nhonky,1\nenshou,4\ns.o_chin,1\nryuuki_yumi,1\nbyakuran,4\nsumipic,1\nyolang,4\nsakecho,1\ndark_shadow,4\nske48,3\nyuzuki_kotona,1\npirlo,1\npokemon_stadium,3\nkania,1\nhelipad,0\npupuru_(sennen_sensou_aigis),4\namamiya_shiina,4\nhighway_star_(stand),4\ncervina,1\ncanele,0\nrydia_arsenal,4\njyn_erso,4\nscarlet_(ff7),4\nonsem,1\nbaku_(onegai_my_melody),4\nflam_(81),1\nkishimoto_lucia_raimu,4\nwaya,1\ncamus_(uta_no_prince-sama),4\nblooming,0\nfuunsaiki,4\nookami_inu_(werwolf),1\noosawa_fusatarou,4\npapillon,4\nsaruwatari_akari,4\nmomojiri_aya,1\ncojohn,1\nafter3310,1\nfluno,1\nkeqing_(genshin_impact)_(cosplay),0\n403_(artist),1\nfairchild,3\nevy_(mabinogi),4\nridge_racer,3\nmae_(blue_revolver),4\nyukishiro_haku,1\ntorn_choker,0\nsumi_(u-kar1n-89m0),1\ncitroen,0\nideolo_(style),0\nyamagara,1\nhenreki_san,1\nepiki_(nenekoneko0715),1\nhercules_beetle,0\nhaikeiyu,1\narcbun,1\nnaaga_sonomono,1\nkomipe512,1\nchip_le_cree,1\nautumn_boar,1\nr31harutan,1\npisapipi,1\nnamu_(112namu),1\nshibarikini,0\ntenshou_akira,1\njinrai_(frame_arms_girl),4\nmeteor_sweepers_uniform,0\non_toilet,0\nkisaragi_(kisaragi0930),1\npaw_stick,0\nume_(flower_knight_girl),4\nkosumone,1\npipette,0\nmutenka_(plfgb),1\nnoah_noah,1\nookami_ciro,1\ngodrick_the_grafted,4\nriuhi,1\namanagi_el,4\ncocaine,0\nshancha,1\nmaki_(seto_no_hanayome),4\nharsh-mallowz,1\nkamura_(rain_prophet),4\nman_dam,1\ntotal_war,3\nmabuchi_(junk_gaming_maiden),4\nfor-u,1\nhirumae,1\nkisaragi_yuki_(sora_saki),1\nmoruhinesan,1\nday_mello,1\npanilla_the_revival,3\ndissidia_final_fantasy_nt,3\nkoubou,1\ntakuan_(mo55ilst),1\npolka_dot_border,0\nyuusha_yoshihiko_to_maou_no_shiro,3\nar_(maeus),1\nbkyuuc,1\nknight_of_astora_oscar,4\nhonyaru_(nanairo39),1\nkotosuzu,1\nnewman,0\nhossy,1\nbulma_(future),4\nyanagi_koharu,4\noboro_neko,1\nsio_1234,1\nnanba_hibito,4\nmorgrem,4\nbatayu,1\ncurran_(dragalia_lost),4\nprinceton_(azur_lane),4\nkoeln_(azur_lane),4\nmei_(ayanepuna),4\nirie_keisuke_(handn),1\nkuon_kimi,1\neufrik,1\nalphamon,4\nhuge_afro,0\nimijikumo36,1\nshinagire_(sinanohaka),1\nnaka1379,1\nclarith,4\nsimmsy,1\nsakura_dungeon,3\natlantis:_the_lost_empire,3\nseven_(sixplusone),1\nmarii_pily,1\nalisa_landeel,4\nlantana0_0,1\nmob_(dohna_dohna),4\nsawsbuck_(summer),4\nback_arrow,3\nkakihou,1\njasmine_(disney)_(cosplay),0\npig_hood,0\nmaigo,1\nrobotta,1\nsaizeriya,0\nhida_sayuri,4\nkuro_(parade),1\nvitruvian_man,3\nephraim_(fire_emblem)_(cosplay),0\negomeshi,1\nnamikishiho,1\ntoripuru_(tripl3),1\njjuha6,1\nking_rouzer,0\nfujito_(call_f_),1\nmiyamaki,1\nhoukagi_yuu,1\nmiyabi_juri,1\njqhnharqld,1\npiatin,1\nyami_freyja,4\nmeasho,1\nkuroniko,1\nlucferz,1\nasatomjj,1\nholding_headgear,0\ncure_fortune_(anmitsu_komachi),4\nhosimaru,1\nsuzuki_ichirou,4\nten_ten_(ogino_atsuki),4\nhoneyworks,3\nzunda_mochi,0\nfrozen-sad,1\ncrimsonseed,1\nbreast_beam,0\nyuzukiaz,1\nviolence_devil_(chainsaw_man),4\nthylacine_(kemono_friends),4\nkumo_ryuun,1\neve_genoard,4\nvenosus,1\nmeriibe,1\nhousulu,1\niro_ni_ide_ni_keri_waga_koi_wa,3\nhanged_man_(stand),4\nriruku,1\nwasavi_8,1\nlunamoon_(style),0\nchoobackers32,1\nbewitching_elise,4\nnakamori_kemuri,1\nneck_snap,0\nterayamaden,1\ncoffee1223,1\ncharlotte_(ogami_kazuki),4\nbelle_(girls_und_panzer),4\nkawa_yui,4\nlemonade_kokoi,1\nparkiranhonda,1\nzappa,4\nchouno_maika,4\nwrecking_ball,0\npeng_kun,1\nminato_subaru,4\nfruit_hat,0\nzagizagi,1\nmonument,0\nheart_(kw0hahgk9nenhgs),1\nshoulder_rest,0\ngilbart_chris_von_muir,4\nmiu_(dears),4\natashi_no_kakedashi_yuusha-sama,3\ntakeda_shingen_(sengoku_collection),4\nfuziwara_ayumu,1\nryuuguu_yassuu,1\nlittiecy,1\ntroncill,1\ncuisine_dimension,3\nkezime,1\npippi_(osu!),4\nmonkeyyan,1\nyukichi_nya,1\nignatius_(fire_emblem),4\nmaster_sgt_mine,1\nmireille_lerner,4\nhanagamigendai,1\nnyuudles,1\nhero_(merc_storia),4\np.a.w,1\npeach_print,0\nkokutou_eiri,1\nstella_(flou),4\nkoukaku,1\nsanpo_(sanpo_1027),1\naoiyamagi4,1\nameen_naksewee,1\nghost-q,1\ntsukiyo_rei,1\ntrapeze,0\nnekonomi,1\npommel_tassel,0\ngooompy,1\nhoma_kura,1\njamesmikopi,1\ntoy_soldier,0\nbankongping,1\nawa_(12687414),1\nponta_(aoi),1\nthroat_grab,0\nitsumo_hokuto,4\nginyasama,1\n13844,0\nhamo_(user_zuky3273),1\nwiping_hands,0\nrgrey00,1\nfrog_mask,0\nrothy_(user_cezn8425),1\npantyhose_on_head,0\nrudder,0\nmulticolored_vest,0\nsailor_neptune_(cosplay),0\nhago,1\nbangeningmeng,1\ndrooping,0\npith_u,1\nnecalli,4\nnako_nya,1\nduck_costume,0\ndnlin,1\nmizuno_yui,4\nuguu~,0\nszainx,1\nnekodama2000,1\nsaikorodekimeru,1\nkuusen_otome_sky_valkyries,3\nranamon,4\ndekasugiburun,1\nshoulder_patches,0\nyahoo0124,1\ncylinder,0\nyam_(nekobeya),1\nclosz,1\nkadej,1\nmatcha_parfait,0\ncaptain_hannah,4\nadachi_eiko,4\na-teru_haito,1\nlovekov,4\nariake_(azur_lane),4\npurple_armband,0\ndisc,0\nmarkus_(gyee),4\nchise_(cym23730),1\ncrisis,4\nstupid_movie_sequels,3\nkz_(dbz_kz),1\nchii-chan_kaihatsu_nikki,3\nmashiro_chisato,4\nkusakihara_toshiyuki,1\ni!,1\nsarablanche,1\nmonodam,4\nk-sha,4\ntaboo_tattoo,3\nten_(ch),1\nkanna-mika,1\njin_(mitosupa),1\ndonnaoneone,1\nfelyne_(cosplay),0\nshimaneko,1\niori_4kagetsu,1\nfujii_yui,1\nyanase_takayuki,1\nyuzutouhu_ika,1\nelizabetta_(futagohime),4\nshuu_(ssyuu721),1\ngirouette_(mega_man),4\ngomadare_(310329),1\nkuromu_shado,1\nkominato_haruichi,4\nhiura_r,1\nmoth_hair_ornament,0\nkariginu_(gureviyo582),1\nhiden_aruto,4\nrock.fc,1\nlugh_beowulf,4\nnurumaru_yu,1\ntype_88_(girls'_frontline),4\n9ml,1\nkuzaki_rinko,4\nheracles_(fate)_(cosplay),0\nenomiya_milk,4\nha_yun,4\ncyclops_(girls'_frontline),4\npikachu_belle,4\nhole_in_ceiling,0\nehekatl_of_luck,4\narctozolt,4\nsangobana_(flower_knight_girl),4\nren_mizuha,1\nkogeneko,1\nozumii,1\nyuzuki_iori,4\ngreat_auk_(kemono_friends),4\naaaa_(gumi_niku),1\nmuq,1\nnola_moon_(girl_cafe_gun),4\nkess_(coffeechicken),4\narawado,1\nebifryman,1\nasagami_(hnt16303310),1\nathena_(fire_emblem),4\nelhddmois,1\nfire_flower_(vocaloid),3\ngrilled_tiger_fish_(genshin_impact),0\nbanirou,1\nlane_aim,4\nkohaku_sogo,1\ndeep_impact_(umamusume),4\nooki_kino,1\nddok,1\nres2shuu,1\ntofucakes,1\nniiboshi_reo,4\n4hands,1\niwasaki_rio,4\nhikounin_sentai_akibaranger,3\nsousaphone,0\nshawl_lapels,0\nscarlet_nexus,3\nhanuu_(kemomiku),1\nbrown_dog,0\npiss_bottle,0\nground_pound,0\nels_(ljhlee12),1\nvelcro,0\nmin1910,1\nwss_(32656138),1\nfood_on_tail,0\neini_a_lukkanen,4\nlycion,4\nnao_tsukiji,1\ngillian_(va-11_hall-a),4\norange_robe,0\ncomiket_83,3\namabane_nodoka,4\nrotom_(other),4\ntukimisou0225,1\nhakusoto,1\nranran_(iaotak),1\nnapolitan,0\nnekomusume_(pekoneko),4\nnatsume_mina,1\nreason!!_(idolmaster),0\nzerorespect_bot,1\nharumi_(haru_nee_to_no_dousei_shuumatsu),4\nrzx0,1\nmila_(fire_emblem),4\nnarrative_gundam,4\nsinful_hime,1\nwild_girls,3\nmofge,1\nduzie_e,1\nelmina_niet,4\nokazaki_beru,1\nhershey's,0\nsutetete,1\ngasora,1\nspinaria_(shingeki_no_bahamut),4\nmoi'dukdum,1\nbills,0\nyorck_(breaker_under_the_blood_moon)_(azur_lane),4\ntozaki_makoto,1\nheath_(fire_emblem),4\nkokonogi_kisara,1\nbenevolent_leanne,4\nhoneymelon,1\nminokasa_nagi,4\nchucky,4\ngrgrton,1\nyco_030601,1\nfirin,1\nsuikomu_now,1\nentrapta,4\nsasakura34,1\nrudorufu,1\nmiyoshi_(joker_game),4\nmuyue,1\nkuroki_rio,4\ngiji-p,1\ndread,0\nhwanhee,1\nfp-6_(girls'_frontline),4\ngiant_cat,0\nannyui_(cookie),4\noruserug,1\nyunico,1\neicam,1\nruhuyu_(show_by_rock!!),4\nponta_(poqpon),1\nminibow,0\ntoda_eulalia_kotohi,4\nbreast_piercing,0\nkosaka_yukina,4\ndiverse_order,3\nbita,1\nalloc_(playable_one),1\nshiraki_aeka,4\nfolding_stool,0\narko_(acucs),1\nmari_(rodoney-kiara),1\nhs2000,0\ngammei_(live_a_hero),4\npunkish_(module),0\nenvel203,1\nmasanori_ito,1\nvertical-striped_leotard,0\nsinisistar,3\nt0da,1\nizanami_kyouko,4\nkaoshuzi,1\nloke_(fairy_tail),4\nmiura_asahi,4\ngliding,0\ndantahi01,1\npepsi_ice_cucumber,0\nbeisaku_bei,1\nmelusine_(ff5),4\nkusama_daisaku,4\nbule,1\nzabuton_(mgdw5574),1\nshijima_gou,4\ncero,0\nayame_(senran_kagura),4\nperapera,1\nhiei_(kancolle)_(cosplay),0\nmio_(navy_field_152),4\nnavy_field_152,3\nmorioka_yasuto,1\nmayday,1\nzenmai,1\nyui_(josou_jinja),4\nto_love-ru_darkness_2nd,3\nindiana_jones_(series),3\nkamen_rider_ryuga,4\n27_degrees,1\nmedico_(dohna_dohna),4\nyaminokisan,1\nbusujima_riou_mason,4\ntype_63_(girls'_frontline),4\nraze_(valorant),4\nanna_mel,4\nrinse_7,1\nxila_qian_tang_shi,1\ndragon_slayer_(series),3\nmitsukuni,1\notaki55,1\nfage,1\nauro_drm,1\nmachin4719,1\nmai_waifu,0\nlove_death_+_robots,3\nwrys_(fire_emblem),4\nhakohako-does,1\ntadano_comina,1\nranran_3939,1\nshoe_strap,0\nraycrodu_h,1\nakutsu_mabu,4\nhuberta_von_bonin,4\nrazi,1\nexasperation,0\nxiaoai,1\ncarmine,4\nveffidas_feaze,4\nyuzu_juncgr,1\nnervlish,1\nichimai_ugou,1\nmoero_downhill_night_2,3\nyamori_511,1\njasmine_t,1\nmakarios_(fate),4\nbandai_daisaku,4\ninoue_iris_(sdustz),4\nbioshock_2,3\nkisalaundry,1\ngotou_jin,1\n19_okeke,1\nbaphomet_(ragnarok_online),4\ntakayama_kate,4\ncatzz,1\ndealesis,1\ntruffle,0\nkyona_(konakona),1\navatar_(movie),3\nshoukimaru,1\nnobuda,1\nran_s200,1\nmidou_miko,4\nsocial_commentary,0\nelroadmaster,1\nsaturn_devouring_his_son,3\nurushizawa_takayuki,1\nwei,1\ncomin,1\nshinatsu_azuki,4\nunichiri,1\nkurenai_yuuji,1\ntea_sly,1\nmizunoto_nozumi,1\nramba_ral,4\nsouya_touki,1\ncarnelian_(hohenlohe_chillysand)_(arknights),4\nruondea,1\nfk,1\nmasarou,1\nkousou,1\nnohko,1\nlily_salvatana,4\nsagami,1\nhaty,1\nprinz_luzifer,1\nsakuraizumi_yuu,1\ntsu_da,1\nzombie_neko,1\nyuzuki_kisa,1\nmage_(dq3)_(cosplay),0\nlilith_aileron,4\nkukuri_(kamisama_dolls),4\nkasu_(pixiv108801),1\nhinnu@ao,1\nsaegome,1\nsasamori_ryouta,4\nkatsuragi_takuto,4\nootaka_narumi,1\ngarudamon,4\nkoi_q!,3\nkanaiko,1\nrecube,1\nmot_(anticycle),1\narmeyer_dinze,4\nhoshi_mirin,1\nromance_wa_tsurugi_no_kagayaki_2,3\nnomura_fusako,1\nmossu,1\nkamen_rider_delta,4\njugem-t,1\nakitake_seiichi,1\nheat_hawk,0\nrom_(kochirasama),1\nouka_(oukakaka),1\nnanakorobi,1\nclariate,1\npydiyudie,1\nyuuto_(chakokin),1\nradio_telescope,0\njacker,0\nmogami_noa,1\nhuu00,1\naru-sci,1\nmochi_mocchi,1\nhorarezonu,1\nbalance_beam,0\nshirajira,1\nkisaragi_eiji,4\ngremyashchy_(ryan_greythorn),4\nnyx_avatar,4\nkisaragi_rei,4\ndire_(jojo),4\nnathan_spencer,4\nstiky_finkaz,1\nvoltes_v_(mecha),4\nbig_bang_beat,3\nakao,1\nnitou_akane,1\nshiro_mayu,1\notsuki_(tm3n),1\nusa-pom,1\niwami_shouko,1\ncat_penis,0\nkilt_hide,0\nyuu_(super_real_mahjong),4\nkaori_(super_real_mahjong),4\nmiyagi_yasutomo,1\ntsukudani_shirou,1\nmtr,1\ncrowdesu,1\nge-ha,1\nizumi_(ko8),1\nhua,1\nsuisui_-sweetheart_swimmer-,3\nyow,1\nagnimon,4\nakakinndaiya,1\nnami_(aoi_shiro),4\nsima_zhao,4\nchameleos,4\nathena_(megami_tensei),4\nayao77,1\nkikuno_mira,4\nminamizato_ai,4\nkai_(kai_013),1\naesop's_fables,3\nonigawara_sharu,1\nakumu_(hiziiiiii),1\nnaitou_satoshi,1\ndaigorou,1\nanarista,4\nswinery,1\nmeakashi-hen,3\nunconventional_broom,0\nnuri_(yoon_cook),4\nkirino_(blue_archive),4\njuno_(element_hunters),4\nlegaia_densetsu,3\nshinyae,1\ncyan_sung-sun,4\nasuka_pyon,1\npoppuru,1\nfriedbirdchips,1\nharu_urara_(first_urara_saku_sakura)_(umamusume),4\nmuchi_muchi_pork,3\neku_(threshold),1\nlove_machine,4\nitou_junji_(style),0\nsonson,4\nminchi_(lordofthemince),1\nkazama_akari,4\namakaze_sora,1\ntsukishiro_hikari,4\ntamaki_sakura,4\nsaitou_takana,1\nntake_toukasaien,1\ndiethard_ried,4\ntoron,1\ncow_(shadow),1\nukon,1\nkuropani_cos,1\nelephantus,4\nkuranaga_kozue,4\ndondongarara,1\nuchuu_teiou,1\nson_karin,4\nsakaagari_hurricane,3\nhall,0\ntaiga_joe,1\nsaitou_takeo,1\nmilk_(pop'n_music),4\nshiru_daku_settai,3\nseritsumi,1\nimahia,1\nmercedes_(viper),4\nichimatsu_akebi,1\nsuccubus_quest,3\nkafi_(cafee_kuu),1\ntony_(chikaku_kabin),1\ngundam_wing_dual_story:_g-unit,3\ntai_(pixiv6134),1\nhaitani_ran,4\nmnk,1\njamijami,1\nremona-san,4\nhoshino_reiji,1\nfinn_fish,4\nefg,1\nmime,0\nhizuki_mitsuna,4\nsterndorf,1\nitoi_kaede,4\nmiriam,4\nminoo,1\nelisalotte,4\nzhang_chunhua,4\ncrazyodin,1\nshijou_mako,1\nsaotome_jin,4\ntora-oneesan,4\nsakura_miyuki,4\nrukia_moon,4\nfushigi_na_merumo,3\nyukito_mayumi,1\nheadphone_+_musume,3\nsato_toshiya,1\njairo,1\ntap_out,0\nimari_yuka,1\nnadashima_gy,1\nyagi_norihiro,1\nmatsuda_shin,1\ngundam_00f,3\ntakashino_(noni-nani),1\nmarble_bloomers,3\npeony_ix,4\nmelon_(akikan),4\nfutaba_riko,4\nwalpurgisnacht's_familiars,4\nmots,1\nakiranime,1\nfs-project,1\nclaire_(clarevoir),4\nmahou_tsukai_sally,3\narima_souichirou,4\nnanjou_misao,4\nramekin,0\nwandaba_style,3\nflorges_(red),4\norexxxo,1\nserohan,1\nfrenchthenhen,1\nlycoris_radiata,3\nmiyouji,4\ngeronimo_(third_ascension)_(fate),4\ndragon_sword,0\nyuubari_gogo,4\njojon,1\nkadowaki_mai,4\nna_sera,4\nroberta_(madoka_magica),4\nisher_(liangzi_tai_hongcha),4\nsound_tamashi,1\nkat_(warioware),4\namigo_(hua_cao),1\nbattle_academia_lux,4\nheadphones_for_animal_ears,0\nsince2019,1\nkei_(trouble_spirit),4\nonly_you_recross,3\nsos,0\nho-cki,1\nkinggainer,1\nsaku_(soreca49),1\nnamonaiteidono,1\njudy_(artist),1\najishio_(loli_king),1\nrishia,1\nharry_tribeca,4\ngeneral_grievous,4\nmukimuki_mayuge,1\nmig-21,0\nquadruplets,0\nultimate_girl,3\nyoshinaga-san'chi_no_gargoyle,3\nphaia,4\ncharcoal,0\nmay_queen,3\nfuan_no_tane,3\nobscur,1\nyamada_akihiro,1\nkogure_kakeru,4\namakase_minatsu,4\nalielle,4\nbattlefield_1942,3\nyukihashi,1\nhimura_yuu,4\nhiyorimi,1\ntsuwabuki_masaharu,4\nnandeyanen,0\nraphael_sorel,4\npakky_(bachera),4\nmachine_robo_chronos_no_gyakushuu,3\nzou_azarashi,1\natelier_iris_grand_phantasm,3\nebimayo,1\nyuma,4\nlal_mirch,4\njanuary_(coyote_ragtime_show),4\ndozle_zabi,4\nnaox,1\nmatsuda_touta,4\ntonde_buurin,3\nojisan_f,1\nmarusuke,1\nakisawa_machi,1\nponkotta,1\namano_ai,4\nhone_onna,4\ndouble_arts,3\nkorutopi,4\nshinomori_aoshi,4\nkouga_gennosuke,4\nreset,1\npartner,3\nbaroque,4\nroute39,1\ncockatrice,0\nran_ran_ru,0\nkagami_kouhei,4\nkirimiya_mizuki,4\nmidarezaki_chika,4\nhazama_shouko,4\nasou_renji,4\n51_(gigamiso),1\nrsk,1\nfujisaki_aya,4\nshinkaida_tetsuyarou,1\nmonaka,1\ncorkscrew,0\naonagi_hayate,1\nant_(fenixant),1\nokihara_kotoha,4\nyuyayuyo,1\ntorichiyo,1\nsuouin_kana,4\nsuzuhime,4\ncu_(fsy84738368),1\nyusa_tk74,1\nkonchiki,1\nniboshi,1\nfigu@mate,3\nyakushiji_ryouko,4\ntodoroki_gou,1\nqueadluun-rau,4\nwilliam_knights,4\nathenacg,1\npike,0\ncreature_inside,0\naoi_subaru,1\nfujishiro_takeshi,1\njewel_(suikoden),4\naoki_reimu,1\nstones_of_dragon,3\nbenoit_picard,1\nbittenhard,1\nglyph,0\ntachibana-san-chi_no_dansei_jijou,3\naoba_yukichi,1\nur-8,1\ntwin_angels,3\ndusty_attenborough,4\nalarmy,1\nhime-chan_(ramchi),4\nochrejelly,1\namano_misaki,1\nartofhuan,1\nkyon-kyon_(jashin-chan_dropkick),4\nsaber_class_(fate),4\nfujita_hiroyuki,4\naki_(pixiv57498743),1\nmafti_nabiyu_erin,4\namano_rino,4\npierro_(genshin_impact),4\nshading_mismatch,0\nmurasaki_(ekyu),1\nakatsuki_reipu,1\ndawnlover_01,1\nyuutii,1\ndensetsu_no_yuusha_da-garn,3\naraya_kei,1\nqueen_tia_(mega_man),4\nsasaki_akane,1\ndemonlorddante,1\nteddy_(pui_pui_molcar),4\nkajika_(kabaneri),4\nkim_(mathias_leth),4\nheal_&_squeeze,3\nark_tr,1\nhitoba,1\narama_(genshin_impact),4\nworuta_(soloistlist),1\nibuki_(blue_archive),4\njue_buzheng_huo_gu_gu_zi,1\nminami_(dakemakura),1\nhonshou_chizuru,4\nking_(one_piece),4\nshino_yoshihisa,1\nishida_(danganronpa),4\ndark_magician_beth,4\nstar_wars:_the_phantom_menace,3\nagas_(vpwt7475),1\njigoku-san,4\nropi_(yyuichi29),1\nhaapi_jang_p,1\ntsuchigumo_(youkai_watch),4\n7dango7,1\ntrilby,0\nthunderbird_(monster_girl_encyclopedia),4\nkirby_air_ride,3\ndepayama_(depaty),1\nsuzukaze_(lvi),4\ntsuji_tomoko,1\nranger_(kancolle),4\nsword_guard_stance,0\nkisaragi_koushi,1\nvanguard_(warship_girls_r),4\ndaroon5,1\nmortar_shell,0\nrokujou_miyuki,4\nzeta_(vtuber),4\nchrissy_(animal_crossing),4\nlana_liddell-hart,4\numidemi,1\nyelan_(genshin_impact)_(cosplay),0\nsuisui_again,1\no_h_miona,1\nkevin_herault,1\ngundam_bael,4\nrozzi_(black_survival),4\nstylecase,1\nstealth_bondage,0\nanaheim_electronics,0\ngod_hunter,1\ncastle_dedede,0\njesus_revenge,0\nishikawa_yui,4\ndestoroyah,4\nyano_akane,1\nricardo_contreras,1\nopalisart,1\nutsumi_erice_(swimsuit_avenger)_(first_ascension),4\nhebai_xiaochuan,1\ncappy_(kirby),4\nsaturn_(satscarlet),1\nyuigaoka_music_program_school_uniform,0\nmidnight_anime_lemon_angel,3\nsitri_(fire_emblem),4\nyorutsuki_(sakurekichan),1\nuntied_swimsuit,0\nmomonosuke_(one_piece),4\nyoshitoki_(kisshin),1\nfour-leaf_clover_necklace,0\nkawazu_kento,1\ninuyama_(inuhill),1\nazumi_hagumu,4\nap_bar,1\nairrabbityan,1\ngrace_(kor)_(racehorse),4\nzo-wa,1\nkosma,4\ndeerling_(winter),4\ngougoku,1\nniufog,1\nsanada_yukimura_(sengoku_musou),4\nsaikre,1\ndainana_sugune,1\ntomi27,1\nsouya_agl_(kancolle),4\nnodj,1\nsenpai_(souzaipan),4\nzwei_(santanawamuujojo),1\nc3t_gg,1\ntenguro,1\nyogiri_(hololive),4\nnao_salad,1\nd.g,1\nsangoku_hime_3,3\nbig_bad_wolf_(grimm)_(cosplay),0\nnoshiro_(uncharted_festival_grounds?)_(azur_lane),4\nfudou_(kakko_kari),1\nlal_mel_martha,4\ngood_twins_day,0\nkozsen_810290,1\nshi_wu_you,4\nfuyuno_usako,4\nsunaguma,1\nkuran_(yourcatissick),1\nspeed_grapher,3\nsamohichi,1\nmurousaisei123,1\nanmin_daiteitoku,1\nmiso_bon,1\nalalen,1\nkomaniwa_pumpkin,1\nalec_(arc_the_lad),4\ngarbancobean,1\nmohn_(pokemon),4\nkisaragi_(new_year's_wish)_(azur_lane),4\naya-chan_(smoke),4\nhuaimeng,1\nkirihota,1\ndiving_mask_around_neck,0\nennui_orz,1\nrinko-san_(cocoa_fuumi),4\nnankaitarou_chouson,4\nlagombi,4\nchikuma_mask,0\nisekai_harem_monogatari,3\nshinonome_hatsuho,4\nshiroi_(shiroicbe),1\ntentenyakan,1\nnagano_hinata,4\nmichiko_(identity_v),4\nt-hou,1\nnagisa_iori,1\nsuper_bunny_man,3\nyu1,1\ndeadpool_(movie),3\ngerisita,1\ndiverse_system,1\nuuruung,1\nenchantress_(dungeon_and_fighter),4\nrokukatamari,1\namano_kotone_(ichigo_jet),1\ndeareditor,1\ntsuki_ni_yorisou_otome_no_sahou_2,3\namagiri_dia,1\nbobu_(bovyo222),1\nlinger_ftc,1\nxiao_dao_jun,1\nslave_knight_gael,4\nitoko_(i_t_k),1\nmasuji,1\nmiya_(baelfight),1\nchikusawa,1\nprincess_king_boo_(cosplay),0\nduo_kawa,1\nmitsuki3s_kir,1\nmanamachii,1\nhirayama_(hirayamaniwa),1\nlixiao_lang,1\ng-arcane,4\nyusa_makoto,4\nyukinohito_(koutyanomitai),1\nsw_(2311550438),1\ntakoyaki_kenken,1\nrita_(sennen_sensou_aigis),4\nkenzaki_raki,1\nrakko-nabe,0\nkamegawara_nikuo,1\nmorinaga777,1\nwatari_(hasumi_rina),1\niona_(wixoss),4\nmk_12_spr,0\njiu_(gaydio_zrong),4\nhoshinomiya_kunon,4\nyamiarisu,1\nmadan_no_ou_to_michelia,3\nkubo_shiori,4\namericano_exodus,3\nqueen_elizabeth_(warship_girls_r),4\nemden_(warship_girls_r),4\nchild_(elsword),4\nsonic_forces,3\nkaicchi,1\nds_a,1\nbaschyf,1\nkikimora_(puyopuyo),4\nsaijou_hinako,4\namon_koutarou,4\ncardigan_pull,0\nmarsia_(arc_the_lad),4\nnegimapurinn,1\nbattle_lover_scarlet,4\nhom_(atelier),4\nyako_mashiro,1\ngyeoggi_3_ban,3\naaoyama,1\nmao_san,1\nyoshida_saki,4\naz_(kroneko007),1\nvampire_(aoki_hagane_no_arpeggio),4\nei_(fran3bon),1\nendou_rino,4\nloz_017,1\nclan_senki,3\nposhii_(posy),1\nminerva_(blazblue),4\nsouma_chihiro,4\nfuku_(pukuyan),1\nnagoya_(oshiro_project),4\nguido_(grandia),4\nblack_negligee,0\nichibanboshi_no_rei,4\nthe_saga_of_larten_crepsley,3\nnine_delta,4\nyuuki_(yuuk_yume),1\nkochou_shinobu_(cosplay),0\nnicecream,1\namerican_flag_swimsuit,0\nfood-themed_necklace,0\nababarion,1\nnekomaaro,1\npandakorya,1\nmages.,4\nlovesheng1314,1\ngold_egg_(p&d),0\nroblox,3\narno_dorian,4\nqt1_jo,1\nbimi_(mgk),4\nbonklers,0\nshi_qi_kuang_beng,1\nvanzan,1\notohime_(kk23maa),1\nfeel_nilvalen,4\n2dcg,1\ndesert_sorceress,4\nelu_butyo,1\nfenrir_(shinkai_no_valkyrie),4\ndawkinsia,1\nmadlax,3\nmiltank_(cosplay),0\nolivia_(fire_emblem)_(cosplay),0\ntsuru_(tsubasa1993621),1\nyoneya_yousuke,4\nwyldstyle,4\nscaverle_(mao),1\nsakuragawanaa,1\nsonan_kyouko,4\nmuneate_removed,0\nsetouchi_chie,4\nchongtian_yixiao_shualuanfei,1\nmihama_kouji,4\nishikawa_purin,4\ntatami_san_tatami,1\nharukaze_bou,1\nmahou_shoujo_kanae,3\ndemon_core,0\nyusa1019,1\nrou+,1\nnegister,1\nchun_(ya_i_memories),1\nseha_lee,4\nsainyang_(queen's_blade),4\ncure_honey_(cosplay),0\nhayami_momoka,4\nhinata_nao_(iwamotochou_geinousha),4\nbishamonten_(noragami),4\nbekki_natsumi,4\nonioohashi,1\ndashinoya,1\ntrunchbull,1\nuzubilla,1\nhong_hai-er,4\ncall_h,4\nkiduki_kaya,1\nexcarabu,1\nlord_of_knights,3\nshikabane_gorou,4\nmiyako3344,1\nkagari_touya,4\nhaguro_(aoki_hagane_no_arpeggio),4\nmilleore,4\nfushoku,1\ncov-r,1\nbenisuzume_(gauna),4\nhdoom,3\nendou_minari,1\ntaturouxs,1\narea_aquamarine,4\njessica_jefferson,4\naona_masao,1\nbee_and_puppycat,3\ntrip_(dramatical_murder),4\ninkinesss,1\nsun_(sunsun28),1\nfrog_button,0\nonisuu,1\nthoth_(stand),4\npriget_plus,3\nafjc,1\nseigo_(seigou),1\nteina,1\ncaren_hortensia_(cosplay),0\nhillprime,1\ngloomy_bear,4\nmiyama09215,1\nnewon,1\nrutger_(fire_emblem),4\nlackatask,1\nmarine_benefit,3\ntyourou_god,1\nnekomata_(megami_tensei),4\nashishi,1\nmoyo_(k1rakira),1\nairi_(robotics;notes),4\nchaccu,1\nootori_kyouya,4\nhomura_(aristocrat-y),1\nshanghai_doll_(cosplay),0\ndryad_(seiken_densetsu),4\njade_harley,4\ntatarigoroshi-hen,3\ncatmesi,1\ntyson_tan,1\ntoot,1\nkamen_rider_shin,4\nred-50869,1\npoison_dart_frog,0\nmacne_nana_petit,4\nmanabu,1\nisana_yashiro,4\nanimal_yokochou,3\nkeino_(midorinoko),1\nfull_armor_unicorn_gundam,4\namistr_(ragnarok_online),4\nfuji-san,4\n0nodera,1\nkirbyheimi,1\nmelon_sakiguchi,1\nplhsxf,1\nfoxbat_(cannonball),4\npaella,0\nmushanokouji_iwai,4\nmery-chan,1\nhangaku_(araara0616),1\nflaurel,1\nsun_dou,1\nnonoharak,1\nguardian_place,3\nshibuya_arata,1\nhzrn_(ymj924),1\nloz,4\nemerada_etuva,4\nfujikura_miyabi,4\nsara_tefal,4\nyeng-hua,4\njougasaki_mika_(cosplay),0\nwjstpwls4,1\nkagura_ren,1\nvioka,1\ndarkwinslow,1\njericho_(nanatsu_no_taizai),4\nmusclecar,1\nissun_boushi_(ilmtkimoti),1\nhayami_shizuku,4\np_book,1\nkinoshita_teitoku,1\nkagari_(kgr_000),1\nnise_maou_sukaraberu,4\nfeylin,4\nlunar_eclipse,0\ntateyama_ayaka,4\namakata_miho,4\ndraculala_(gashi-gashi),4\nraleigh_becket,4\nkyosuke_fujiwara,1\nimouto_paradise!,3\ntess_tesryon,4\nminazuki_(karashikazoku),1\nxochi_(nueeen6978),1\nrance_01,3\nwireless_mouse,0\namane_satsuki,1\nshilfy_yo,1\ntaguchi_(igutiguti),1\nsignal_bar,0\nmad_catz,3\nosaji0909,1\nkokuko_(tsukiyotake),1\nland_rover,0\nhayami_jin,1\nhug_ff14,1\natk7,1\nkoi0806,1\njiang_xin,1\npeppa_pig,4\npicolette_xiii,1\nmikami_riku,4\ngreen_track_suit,0\nyaebi_(at2.),4\nkogara_(frenzied_kotori),1\nnene_(toji_no_miko),4\nmahou_shoujo_wo_mucha_kucha_taoshitai,3\ngotou_masahiro,4\nnibelart,1\nvsi0v,1\npechika_(mahoiku),4\nq.a._kinshachi,1\naiqing,1\nurota_shimapann,1\nchino_ukana,1\nbrunnya_(fire_emblem),4\ngundam_vidar,4\nrath_(fire_emblem),4\nruri_ookami,4\nakamizuki_(akmzk),1\nhand_pump,0\npandra,3\nkugehi,1\npoke_bean,0\nkurusu_nono,4\nchie's_mom_(ishikei),4\nniijima_makoto_(cosplay),0\nnishi_kita,1\niyojima_anzu,4\nshaapu,1\nkun52,1\nsena_(konosuba),4\nmaster_mummy_(arms),4\nkazuki_hana,4\nlevasol_defense_corps,3\npendulum_(game),3\ntakahashi_urara,4\nshima_(aliceanna0518),1\nsavannah_(yugino),1\nkapimaru,1\nbutter_run,1\ntinysnails,1\neurasian_beaver_(kemono_friends),4\nkoala_(kemono_friends),4\nlin_lin_(one-punch_man),4\nkinpun_(fgxdw447),1\nlloyd_(granblue_fantasy),4\nsandeul,1\nchi_wa,1\nmetal_hairband,0\nmk/ret,1\nhinacalibur,1\nelysian_(granblue_fantasy),4\nlyk_wuyan,1\nlonghorn_lance,0\noctopus_hair_ornament,0\nsissela_(black_survival),4\ntamanosuke,1\nconrad_(fire_emblem),4\nokamochi_(container),0\njam_(zamuchi),1\nochanomizu_ran,4\nflickering,0\nking_penguin_(kemono_friends),4\nxuefei_(snowdrop),1\nnoli-pee_(little_stupid),1\nhirayama_ityu,1\nmikejima_madara,4\nphinci,1\nasa_kusa_99,1\ndoujima_daigo,4\nmario_+_rabbids_kingdom_battle,3\nlost_echoes,3\nsman,1\nlazy_dungeon_master,3\nyuuki_miyaka,4\nsaijou_k,1\nkuma_(kuma1_kancolle),1\nsatom,1\nbroken_spear,0\nkamijororo,1\nakaneiro_no_kyoukaisen,3\nsilverbin,1\ncatapult_launcher,0\nshiraishi_mamim,1\nsugihara_azuki,1\nsasaki_fumi,1\narte_(evillious_nendaiki),4\nkusanagi_chouen,1\ntarousanlove1,1\nming_qian_luo,1\njaegan,1\nnahril,1\nmasuo_(masdlivelove),1\ndymao,1\nukamaru,1\nkuro_emimi,1\nhuai_diao_me,4\nponkotsu_musume_no_nichijou,3\nnekomarieru,1\nhotline_miami_2:_wrong_number,3\ncardia_beckford,4\nasano_(asamusuko),1\nhagi_neco,1\nseirei_fantasia,3\nnumahito,1\nzum,1\nrondo_(poccal),1\nharuka_faraway716,1\nmyuka_(kyouka_jinrui_amunero),4\ntki,1\ntorisuke_(koinohito),1\nrurukuru,1\nsuiruu_(yuriusu),1\nyaobin_yang,1\ncheckered_shorts,0\nbbci,1\nforehead_beam,0\nyf_studio,1\nnuwara_eliya,1\nkawasumi_(sanzen'in_matora),1\nfunako_(newggo),1\ntapwing,1\nshibasaki_kazuha,4\njack_heart,4\nex-rika,4\nvalerie_(blue_revolver),4\ncaron_(higyaku_no_noel),4\nhaydee_(haydee),4\nebina_hidekazu,1\nshinogi_k,1\nuni_(rabbit_beat),1\numigame_(dragon_ball),4\nclothes_on_wall,0\nmisty_hollow,4\notonashi_maria,4\nsakurai_kouichi,4\nkiriki_alice,4\nminami_rika,4\nnyago,1\nmuttan_(ashiru-f),1\nramototu,1\nfoot_smother,0\nkodatino,1\nli-e,1\nuchida_fumiaki,4\nrice_porridge,0\nluruko61,1\nkamioto_musu,1\nschoolish_girl_(idolmaster),0\nminamo_iruka,1\nsaya_(blood_the_last_vampire),4\nrumil,1\nshuri_(9818),1\ndaishou,1\nheki_kiri,1\nurinal_bottle,0\nmegumu,1\nsamuneturi,1\nhatsune_miku_no_gekishou_(vocaloid),3\nask_(dreaming_cat),1\nstuart_pot,4\nkurosaki_rendou,1\ntakobue,4\nnac0n,1\nchama_(1480),1\nglass_floor,0\nryokuyou_(greencosmos),1\nsano_toshihide_ga_anata_no_senyou_gengaman_ni_narimasu,3\nfail_whale,0\nhogeroh,1\naberu514,1\nkogamura_uril,4\nfujiwara_(suzumiya_haruhi),4\ngamel,4\napollo_(kaminomi),4\ndaisuki_na_sensei_ni_h_na_onedari_shichau_omase_na_boku_no/watashi_no_puni_puni,3\ndead_rising_1,3\nariori_haberi,1\nteru_(grafroller),1\nkyoushoku_soukou_guyver,3\nurakata_hajime,1\ngina_dickinson,4\ntsukiyama_sena,4\nenomoto_(luck-by-luck),1\nhogarth_pennywhistle_gilligan_jr.,4\nlip_(lih8),1\nfantasyxing,1\nyuga_(abubu),4\ndaisy_(pokemon),4\nyutif,1\nprez_(star_driver),4\nkamitsuki,1\nkunimura_kotone,4\npeacock_(p-location),1\nsakamoto_miko,4\ntoyotomi_hideyoshi_(sengoku_basara),4\nluo_zi,1\namarabi_(tobira),1\nmoriya_ako,1\njure_of_healing,4\nlorem_ipsum,0\nphenomeno,3\nanta_baka?,0\nrainybluebell,3\nhanakomiti,1\nizayoi-saki,1\nlalan_fengchu,1\nyinanhuanle,1\nboru-boru,1\nkanoko33,1\nkonbini_dmz_plus!,3\nkokutei_n,1\n9tt6,1\nichikawa_yoshiyuki,1\nhiba_(jun),1\n#104,1\nvtol,0\nstygian_zinogre_(armor),4\nnatsusaki_yomi,4\nren'ai_shimasen_ka?,3\nthe_naked_sun,3\nyasukouchi_yoshiko,4\ngram_(muneneko),4\nalisa_ilinichina_amiella_(cosplay),0\nbudouya,1\nzanak_abalonic,4\ngiren,1\norihara_sachiko,1\nshuizao_(little_child),1\nequipment_screen,0\ntranquilizer_(bestcenter),1\nshizuru_(daikoukaizidai),1\njagdtiger,0\nivioss,1\nxiaohan6th,1\nanya_hepburn,4\nhashibuto,1\nousawa_kanata,1\nyuunagi_show,1\nyoshikoshi_(mother_3),4\nitsumo_no_you_ni_love_&_peace!!,0\ncaesar_anthonio_zeppeli_(cosplay),0\npin_karo,1\nbrothers_conflict,3\npino_0_0,1\ntekkotsu_(tekkotz),1\nforever_(jojo),4\nsuperheroine_haruhi,4\nfuu-chan_(precure),4\nminako-san,4\nkagkfc1z,1\nokutani_toro,1\npotters_wheel_pose,0\ntiuana_rui,1\ntougenkyo_momo,1\nhighvoltage,1\nyou_(yawnmgmg),1\ndungeon_maker,3\nkischur_zelretch_schweinorg,4\nakiiro,1\nasamiya_shiina,4\nsenna_(bleach),4\nmiles-df,1\nlaon,1\nstore_room,0\nrealman,1\nballot,0\nuc,1\nnamasomi,1\nkagura_(anomalo-anima),1\nfreer,1\nmakabe_masamune,4\nanubisu-no-sinpan,1\nkoume_(hanamaru_youchien),4\nbai_kongque,1\nnatural_wind,1\nayasa,1\nren_(irotoridori_no_sekai),4\nkaden_(kuzek),1\nkaripa,1\nsword_art_online:_infinity_moment,3\nsabashi,1\nlinda_cube,3\ntomoki_k,1\nmuraosamu,1\ntattoo_machine,0\nrino_(sennen_sensou_aigis),4\necholocator_(splatoon),0\ndemonio_(elsword),4\nsnowdrop_(flower_knight_girl),4\nryuuzaki_(ereticent),1\nsirris_of_the_sunless_realms,4\nfrederica_(sennen_sensou_aigis),4\narmored_collar,0\npretty_(zoza),4\nmwo_imma_hwag,1\nmagure_senshi,1\nceres_(shingeki_no_bahamut),4\nmanjji,1\nplumeria_(flower_knight_girl),4\n91_days,3\nnumazoko_namazu,1\noimo_mushi,1\nvivian_(divine_gate),4\nclear_file,0\nkisaki_(strange_s_k),1\nzigrock,1\nyume_de_yozora_wo_terashitai,0\nkanami33,1\ngnlo,1\ncrystalline,3\nyabudatami,1\nvigilante_-boku_no_hero_academia:_illegals-,3\nebisque,1\nmaou_skun,1\nhinotta,1\nhexunart,1\nshuryukan,1\nlynn_loud,4\nchikomayo,1\nharkonnen_(gun),0\naisha_(shironeko_project),4\nojiya_(fueru_gohan),1\nking_of_clubs,0\nforutsu,1\nmuiko_i,1\nichika_(blue_archive),4\njoi_kun_(senzai_hiyori),1\ndamagefloor,1\nkagamine_rin/len_happy_14th_birthday,3\nyuki_(best010409),1\nbucky_(chainsaw_man),4\nmagical_mirai_miku_(2014),4\najrtkf44,1\nnishiyama_serina,4\nteruru_(teruru0321),1\nfujisaki_(saikin_yatotta_maid_ga_ayashii),4\nharigane_mutsumi_(harigane623),1\nayato_mabu,1\npokemon_the_movie_2000:_the_power_of_one,3\nmorbius_(film),3\nwatanabe_akari,4\nseiun_sky_(soiree_de_chaton)_(umamusume),4\ndear_stage,4\nzhuge_kongming_(paripi_koumei),4\nvoyager_(second_ascension)_(fate),4\nfullbban_g,1\ndharu_riser,3\ndice_(dharu_riser),4\nlacusblade,1\nnodoka_(hot_spring)_(blue_archive),4\nkono_healer_mendokusai,3\ngurongi,0\nlani_(ff9),4\nhyattlen,1\nushiwakamaru_(third_ascension)_(fate),4\netra_(etra-chan_wa_mita!),4\nrinneko_(rinne_paint),1\nfrancis_drake_(stormy_seas_outfit)_(fate),4\nfamiliar-possessed_-_wynn,4\npendreon,1\nmochinoki,1\nanastasia_(under_the_same_sky)_(fate),4\nsunagawa_yoshiharu,4\ntoda_fuyumi,4\nkitsuneco,1\ncrevice,0\nkikan_bakumatsu_ibun_last_cavalier,3\nstrike_witches_(lionheart_witch),3\nsatoko_(papapa_sikakici),1\nf-104_starfighter,0\ntsubaki_(p&d),4\nadore_(adoredesu),1\nmamaito,1\nurami_koi_koi_urami_koi.,3\nkumagai_yuuko,4\n5plus5,1\nmaguro_(guromaguro),1\nroppako,1\nhimukai_yuri,4\nxuan_chu,1\npuff_(go!_princess_precure)_(human),4\nstar_and_crescent,0\nkum_haehyun,4\npekakiu,1\nblackjack_table,0\nudon-udon,1\nsusuki_(flower_knight_girl),4\nsignum_(nanohanano77),1\ncheru_(sinkai_ringo),1\nsukuna-bikona_(tokoyo_no_higashi),1\npink-chan_(petenshi_(dr._vermilion)),4\ngundam_burai,3\nichinose_yuri,4\ndahlia_(xenoblade),4\nselene_kaguya,1\nsaimin_douga_de_nama_iki_nama_omo_ga_nama_iki_suru_namahousou_~jitaku,3\njuu_mensou_(vocaloid),3\nsphere-stc,1\nsamira,4\naimoto_rinku,4\nparkjinsuky,1\nningzzz,1\nebino_mei,4\ntomoe_(queen's_blade_unlimited),4\nbatavia_princess,4\nokyurita,1\nhimey,1\nnarukami_aki,4\nomul,1\nsweet_reverie,1\nvarie7k,1\nyamada_(iroha97151188),1\ndusa_(hades),4\nfour_of_diamonds,0\nsupreme_king_(yu-gi-oh!_gx),4\ntatsu_wan,1\nfen_bang_laoda,1\ncrystal_hair_ornament,0\nhammer_and_sickle_bikini,0\nmoofie_(vtuber),4\nore_dake_haireru_kakushi_dungeon,3\n72_(mmmmkk),1\nkeb00b,1\nmiyakura_haruto,1\nfang_(cruciata)_(arknights),4\ngals_rock_ambivalence_(idolmaster),0\nrimworld,3\ntrickstar_(ensemble_stars!),0\nk.g_(matsumoto_zo),1\nkiharatta,1\npeter_strasser_(chronos's_kalendae)_(azur_lane),4\nthe_cecile_(vtuber),4\nyoruno_mahiru,1\nq_qree,1\ntoketa_(toketa15),1\nnagi_(kannagi)_(cosplay),0\nb_nosk101,1\nryochan_(papipopi),1\nu-1212,4\nyaoshan_shi,1\nfatui_pyro_agent_(genshin_impact),4\npaisen,1\nsaver_(fate/prototype),4\nmitomaton,1\ninterceptor_(ff6),4\ntokiniha_netai_(pm8sleepy),1\nben_(ahan_uhun_345),1\nsphinx_of_giza,0\nkirarigaoka_middle_school_uniform,0\ncrackingtaro,1\nsentinel_ga_koku_ni_aru,1\nkumakumatc,1\nfuture_knight,4\nsmartbsm,1\nmihono_bourbon_(umamusume)_(cosplay),0\nmega_man_5,3\nauto_(mega_man),4\nimsofckinlost,1\nchocolate_strawberry,0\nmr._karate,4\nkara-age_kun,4\nroland_(ms_pigtails),4\ninuko_(ink0425),1\npussy_juice_in_container,0\ngamushiro_(souren),1\nhonda_rei,4\nnekoashifumare,1\nflambe,0\ntweedledee_(alice_in_wonderland),4\nlandacdeus,1\nspace_girl_(aetherion),4\nnyto_iso_(girls'_frontline),4\nevo_3_(girls'_frontline),4\nrei_(09991),1\nmargaret_(abubu),4\nnano_(nazuna0512),1\nyosshy,1\nyumu_(8181018),1\njiji_(creature),4\nhakaiou:_gaogaigar_vs._betterman,3\namerika_juu_pan,1\nfurioso,1\nmafia_(vocaloid),3\nsakaki_karen,4\nchengzhineixihuanxiaogou,1\nbardiche_(scythe_form),4\ncum_in_footwear,0\ncursor_(medium),0\nmalinda_(shingeki_no_bahamut),4\nmachine-g.a.p.,4\nfujita_asagao,4\nnoshiro_(xanadu's_eventide)_(azur_lane),4\nrodney_(future_seaside_admiral)_(azur_lane),4\nakashi_(akashi's_in_the_red_nya!)_(azur_lane),4\nrapbitan,1\nbradamante_(festival_outfit)_(fate),4\nshuttle_(ksb0123),1\nesthoric,1\nsuccubus_(oekakizuki),4\ntifa_amakura,1\nm950a_(concert_diva!)_(girls'_frontline),4\nwakan_tanka_mugen,4\nyusuke_oshida,1\npkp_(l.a.d.y)_(girls'_frontline),4\nump9_(the_world's_melody)_(girls'_frontline),4\n\"ump45_(\"\"just_this_time.\"\")_(girls'_frontline)\",4\nushi_(genshin_impact),4\npan_de_peace!,3\nhanrei_(dqncncilust),1\nmanryou_(flower_knight_girl),4\nsara_(tales),4\nminazuki_sho,4\n5tsukado,1\nmilla_maxwell_(maid),4\nyuebaihezi,1\ncute_potato_(cute_potato_ner),1\nmasamori_ikemo,1\namane_tari,1\norichalcum_reycal_duo,3\narsloid,4\nlizlett_l._chelsie,4\nsuzumeda_kaori,4\nange_(granblue_fantasy),4\nminigob,4\nkonghai_shanren,1\nchobo_ume,1\namattle,1\ntachibana_ritsuka,4\nmiyama_tsubame,4\nm19_(artist),1\npetri_dish,0\nrobo_misucha,1\nnaiya,1\n7melon,1\nshirayuki_maho,4\nomocha-san,1\nkatoshigu,1\nfire_poker,0\ngundam_age-2,4\nkunitachi_rinka,4\nyuu_(natsuyasumi.),4\nlynx_(animal),0\ngoblin_(final_fantasy),4\nsuzushiro_haru,1\nbody_(bacoborn),1\nsekigahara_ei,4\nfutakabe,1\nbleach:_memories_of_nobody,3\nkazra,1\narima_keitarou,1\nstrapless_dildo,0\nconago,1\nbeetle_horn,0\nshower_cap,0\nblonde_girl_(sumiyao),4\nshiromantou,1\nkomori-san,4\nsee-through_cape,0\nhisame_(gocbu),1\nmegara_(disney),4\ncif,1\nmaclo,1\nlibertas_(nyori),4\nyamata_no_orochi,4\naoi_kiriko,4\njorougumo_(youkai_watch),4\nyukadon,0\ngurihiru,1\nsea_serpent,0\nmarina_liteyears,4\njunsui_(omori0310),1\nkurosaki_ranmaru,4\nman_in_the_mirror_(stand),4\ntajima_naoto,1\nhamel,4\nisshiki_seiran,4\nolg,1\nkanou_aogu,4\nhyona_elatiora,4\nkiriya_naoki,1\nwater_in_navel,0\nfetefeteli,1\nojama_yellow,4\nshiraishi_nagomi,4\nekakiuo,1\nmura_(mapisha),1\naoaoaoao_(baiyanheibing),1\ntakahashi_rumiko_(style),0\ngaki_deka,3\nnnn-ollll,1\nl.wolf,1\nfan_(20110507),1\nredmoa,1\nmandaman,1\nozawa_tomohiro,1\nkellogg's,3\nmitsubasa_miu,1\nbistro_cupid_2,3\nwosero,1\nleague_staff_(pokemon),4\nnarumiya_inori,4\njaguar_(car),3\nyunikon,1\nimitation_lover,3\nberrypop,1\nhasumi_shizuko,1\nunizo,1\nsenguuji_yamato,4\nhand_drill,0\nfysc,1\nchorin,1\nyougasu,1\nnaotaka_(bh5fnkbd),1\nxxxx,1\nal_(arupaka),1\nxiayu93,1\njakou_nezumi,1\nzaphylla,1\nmazac,1\nniduca_(hio_touge),1\nryou_(pixiv779953),1\ntakenoko_(flamingo_garden),1\ncomra,1\ngirls_und_panzer_gekitou!_maginot-sen_desu!!,3\nkazuna,1\ncalifornia_king_bed,4\ntoujou_bun,1\nkeshizumi,1\nyoshizuna,1\nmomose_rin,1\ntakoyaki_shoujo,1\nhinase_kanoto,1\nmono_(bluesky),1\nbaharu,1\nfabled_grimro,4\nfujiwara_truffe,1\nioko,1\nromary_stone,4\ncom_kom,1\ntt_(poposujp),1\notonashi_hatsune,4\nmomomo_udameda,1\ntokonaru,1\nitadaki_shinji,1\nootsubo_yuka,4\ncradle-song,3\nwslasher,1\ncomiket_78,3\nsakuyamochi,1\nsrb7606,1\ncheadle_yorkshire,4\nkusunokiokonogi,1\nmizugame,1\nminazuki_(aqua-city),1\ntousaka_hiyoko,4\nrico_(fbn3),1\noreko,4\nmotoharu_(danshi_koukousei),4\nmegami_kouhosei,3\nkamen_rider_zo,4\neureka_seven:_pocket_ga_niji_de_ippai,3\nyamasaki_masato,1\nkashi_(number),1\nhay_fever,0\npink_water,0\nmo-mantai,1\nl4no,1\nyasunoharu,1\namagi_manami,4\neitoman,1\ntaki_noboru,4\nponishi.,1\nbeni0012,1\nred_sonja,4\nharikono,1\nnurikabe_(character),4\nlilith-lily,1\nkareido_(kaleidoscope),1\nrekishitai_hoonoji,1\nrek'sai,4\nryumaira,1\nkerberos,4\nsasaki_azusa,4\nsono_na_ha_eros,1\nlucarios,1\ntimes_square,0\nchikushi_nitouhei,1\nwan_mame,1\ntanno_shii,1\njessica_kaios,4\nalina_james,1\nfio88,1\nlum_berry,0\nuchi_no_isourou_ga_sekai_wo_shouaku_shiteru!,3\nkawaragi_yuuki,4\ncrotch_mousepad,0\nhana_(module),0\nkesa_kujiru,4\nfuta_with_newhalf,0\naoi_aruma,1\npink_santa_costume,0\nsassa_(cb),1\nchocolate_cosmos_(flower_knight_girl),4\njacqueline_(show_by_rock!!),4\nignitrix,4\nkia_(tumblr),1\njounoin_kaho,4\n0141zucker,1\nsweetwitch,1\namber_(5_22_lili),1\nzelda_ii:_the_adventure_of_link,3\nmakabe_midori,4\nbonjiri_(torippo222),1\nbird_scarer,0\nvulcan_(ejel2000),1\nakane_(akane0012),1\nxingnai,1\nsaviala,1\nli_chunfu,1\nd-n,1\nkaden_shoujo,3\ntracer_(elsword),4\nxi-988,4\nleni_(under_the_moon),4\nhimeno_sena,4\nnetsuzou_trap,3\nimouto_no_seiiki,3\ngongitsune_(gongitune2),1\nmaianh,1\nchamochi,1\nshisotex,1\n2bro.,3\ngodzilla_final_wars,3\nsilver_chain,0\nchikaoka_sunao,1\nkamiki_akinari,4\nsachiel_(mugen),4\nmaagori,1\ntrrcmb,1\nwirttian,1\nojyomu,1\nruby-eye,1\nmp-443_(girls'_frontline),4\ndaniwae,1\n.hack//quantum,3\nmokere_shikkan-sha,1\nmokaffe,1\nwu_zetian_(swimsuit_caster)_(third_ascension)_(fate),4\nhirasawa_meio,1\nkhrnnfz,1\nlost_driver,0\nrainbow_hair_ornament,0\nryuko_lee,1\noncidium_(flower_knight_girl),4\nstflash,1\ncpieng,1\ntakasaki_asuka,4\nwashout008,1\nhand_truck,0\ntea_leaves,0\ndestroyer_(7th_dragon_2020),4\ndaily_(daily178900),1\nmimuji_(shirobako),4\n7tp,0\njourney_to_the_west_(1986_tv_series),3\ntoa510,1\nbukui_shi_wo,1\nmecha_kaku_man,1\nnemesis_(girls'_frontline_2),4\ngggglaze,1\nundead_unluck,3\nsnow_feather_(last_origin),4\ntsukiya_sakumi,1\nnemesis_(tower_of_fantasy),4\nblonde_girl_(okpriko),4\nhironoshousei,1\nyukiko_(leovioykk),1\nmob3,1\nhitsuji_nata,1\npodone,4\nliu_liu,1\ntatamiya,1\nquatraise,1\njabuchi_you,4\ninfinite_justice_gundam,4\nikishima_midari,4\nfuron_(froon),1\nng_sam,1\ntanaka-san_(danna_ga),4\ninaba_tsukuyo,4\nloose_skirt,0\nair_master,3\ntakoyaki_pan,0\nlupicam,1\nbilly_(gyee),4\nkekel,1\nxano,1\nliver_spots,0\nfaxbunny,1\nclothes_only,0\namyucheu,1\nesecool,1\ngrowlanser_iii,3\ndrive_shot,1\nfusou_(meta)_(azur_lane),4\nnurse_angel,4\ngotcha_force,3\nweapon_on_floor,0\ncpt_(crazy_raccoon),4\nfukurou_(hukurou),1\nyue_natsuki,1\nflareza,1\nsasaki_miyuki_(kaedeko),4\na-545_(girls'_frontline),4\nold-night,1\nhigashiyama_shou,1\nansem_seeker_of_darkness,4\nlilco,4\nz-ki,1\nbrown_bandeau,0\nbenizika,1\nkiwi0314,1\nnuruko_(nuru55555),1\ntaoer.,1\nsasha_(animal_crossing),4\nchiaki_riko,4\nketanbakar,1\nazema,1\nhiwatari,4\nzombie_loan,3\nayu_(sweetfish_man),1\nthe_keeper,4\nrusher,1\nposeidon_(shuumatsu),4\nphantasy_star_i,3\narmory,0\noff-color_semen,0\nmegumi_(piyo7piyo9),1\ntaimanin_kurenai,3\nnoboru_gongenzaka,4\ntriceps,0\nkintoki-douji,4\nrathian_(armor),4\ninosia,1\nmeringue,0\nballista,0\nmeremero,1\nkishiro_yukito,1\nyoru_no_nai_kuni_2,3\nthe_tower_(tarot),0\nhino_miwa,4\nshira_(kunseitamago),1\nnudiedoodles,1\nbodysuit_aside,0\nswedish_flag_print,0\nhotoke_party,1\nto_e,1\niberiko_yuri,1\nself_fisting,0\narakawa,4\non_cloud,0\nbrachiosaurus,0\ntatsukisan,1\ncipozhong_yundepeitela,1\ncoffee_tart,1\nassisted_paizuri,0\nkiyu_(queue),1\nnguyen_tam_lee,1\nvizerothree,1\ntepechi,1\nvel_(kamuo),4\nkai_shiden,4\nmarco_polo_(the_queen_of_hearts)_(azur_lane),4\npool_party_zoe,4\nluck_gandor,4\nepeulu_(ate5424),1\npool_party_miss_fortune,4\nakelp,1\nmv_(spacecraft),4\nmchiefy,1\nkia_(sekien_no_inganock),4\nnyan_nyan_nyan_(idolmaster),0\nantique_telephone,0\ncarnage_(marvel),4\nruined_(league_of_legends),0\nmadoka_(abubu),4\nsioinari_03,1\ngintokyhenry,1\nkirin_(company),0\nhatake_hukuro,1\ncokio,1\nwarlock_3_(sekaiju),4\nkakouen,4\ndanno_gs,1\nehime_mikan,1\neiscue_(noice),4\ngear_fifth,0\ntetori_rina,1\nhostess,0\nplaid_ascot,0\ndrowzzi,1\nariatorai,1\nkendo_mask,0\npaya_(alunair),1\nquicksand,0\nembryo,0\nkanojo_no_carrera,3\nhiru0130,1\nyata_masahara,1\nblack_selena,4\nlelouch_lamperouge_(cosplay),0\nsouzan_kurasuke,1\napapo,1\nzeus_(one_piece),4\nyuteke_key,1\nshinba_yagi,1\nprima_doll_(anime),3\nmatou_sakura_(street_choco-maid),4\nuchuu_no_senshi,3\nakali_(cosplay),0\nyuki_miku_(cosplay),0\npiyoru_nico,1\nex-arm,3\ntomiya_natsuki,4\nkano_(kanograph),1\nshuimo,1\nhiji,1\nnush_(xter),4\npower_pro_kun_pocket_10,3\nmille-feuille,0\nblood_stalk,4\nmanglifer,1\nphiltomato,1\ntanupon,1\nwatanabe_ruriko,1\nmetaphor_(artist),1\nmaxiart,1\nblue_badger,4\nsaitou_ako,4\nidentity_(vocaloid),3\nsunomono,1\nutatoki,1\nsantyoku,1\nri_cochet,1\ncacaco,1\nati_(sekien_no_inganock),4\nsmol_baelz,4\nmirii_oreano_yakumo,4\ntales_of_the_rays,3\nmihua_mh,1\ntyrant,4\nlatte_(klimspree),4\nfuuma_shuriken,0\nryuuzaki_sakuno,4\npink_negligee,0\nakie_(44265104),1\noda_nobunaga_(swimsuit_berserker)_(third_ascension)_(fate),4\nsingle_leg_warmer,0\nfuchida_kyou,1\ninn,0\ngashadokuro,0\nnatose,4\nasagi1111,1\nrai,4\nshurock,1\nliquid_halo,0\nemi_(green_wave),1\nvagabond_(elden_ring),4\ndaisy_duck,4\nmemory342,1\nbistro_cupid,3\njakqbigone,1\ncat_helmet,0\ngear_shift,0\naimusu,1\nsania_(agent_aika),4\ntarako_jun,1\ncool&create,1\ncodename696,1\nmaki_yoshitake,1\nyamachi_(xadp7533),1\nsudkampsin,1\nkifune_mio,4\nk2_(before_dawn)_(girls'_frontline),4\nsunao_(70_the),1\nhunchback,0\nkakashino_kakato,1\nkozeni_isari,1\nchris_(babo),4\nrigu_(3di),1\nhiking_pole,0\nlulumiya_(abbb1233),1\nmatcha7611,1\npeeler,0\ncat_choker,0\nnekoichi,1\ngrateful_shell_collector,4\nartwolfaja,1\ngender_transitioning,0\nyoshikawa_miki,1\nkanohi_(bionicle),0\nsubu_art,1\njunik_(snrj2255),1\nmezamero,1\nyumihara_hina,4\nkyochuu_rettou,3\nmike_doscher,1\nlancer_mina,4\nzyunsei777,1\nrune_venus,4\nmatou_sakura_(deen_s&m),4\nsilver_(eden),4\nfujioni,1\naliza_(ragnarok_online),4\nkita_e,3\ns.claw,1\nminamino_tsubasa,4\nyukihana_(awa),1\norokudesu,1\npalm_strike,0\nilsa34660285,1\nkul_(ngsensei),1\nshachi_(one_piece),4\ntail_tale,3\nkeidai_3,1\ndith_ytk,1\ncure_tender,4\nludwig's_holy_blade,0\nkuji_kanesada,4\nshima_udon,1\nmoccasins,0\nyoshi-j,1\nyu_mei-ren_(fate)_(cosplay),0\njushoro,1\nlopuii,1\nsport_girl_(saberrung),4\nkei_(0497),1\namaimochi,1\npp-19-01,0\nukero,1\nbelt_bracelet,0\ndaishippai,1\nazumi_haruhito,1\naxis_(monori_rogue),4\nkitsune_no_botan_(flower_knight_girl),4\njiangshi_(chanta),4\nkamen_rider_geiz,4\nkaruushi,1\nserenya,4\nkiwami133,1\nzhi_xixi,1\ndatabook,0\nlotion_play,0\nvantsuki,1\nmin_suha,4\nkkomdastro,1\ndavi_(destiny_child),4\neris_(shadowverse),4\nshida_kuroha,4\ngorilla-shi,1\nhorie_ryuu,1\nrald_schwarz,4\nyuuouji_ouka,4\npyra_(xenoblade)_(prototype),4\nblanko!,1\nbexercube,1\nbyefrog,1\nunkmochi,1\ndankalaning,1\nbathym_(housamo),4\nalice_fiction,3\nkogomo,1\ntormod_(fire_emblem),4\nhualing,4\nhayasui_(kancolle)_(cosplay),0\nserizawa_yoshiko,4\njihl_nabaat,4\nashika_(yftcc948),1\nmo-mo,1\nguumin,1\nmesser_(mobile_suit),4\nchuchumy_(ishiyumi),4\nbealphareth,3\ncelia_alde,4\nparappa,4\nisis-chan,4\nshakuhachi,0\nshiroxai,1\nfatlulu_(1008),1\nmodel_a_(mega_man),4\nyoake,1\nwater_enchantress_of_the_temple,4\nstarfruit,0\nnue0,1\njeri20,1\nginnyo,1\natlurkabuterimon,4\nvelcozz,1\nkasuki_masato,1\nseino_(sasakike1305),1\nrandou_rino,4\nhino_akira,1\naone_hiiro,1\nyoboshi,1\nnasuka_gee,1\nshooing,0\ntrickster_(artist),1\nkitou_akari,4\nkaneko_shizue,1\ngwxx3435,1\nbow_camisole,0\nmega_man_star_force_3,3\nmissile_(ace_attorney),4\nsugoidere,1\nnixie_tube,0\nseira_(yuki_touko),4\nshousuke_(skirge),1\nouro_krono,4\ni_(yunyuniraaka),1\ndevo,4\nchisato_madison,4\nshishizaru,1\npuffphox,1\nliliana_vess,4\npenis_in_eye,0\nkurii_chasuke,1\nfuraffinity_username,0\nsurgical_scissors,0\nsakura_mikan,4\nharu4aki,1\nterrace,0\nkuroneko86,1\npenguin_(one_piece),4\ndragonfly_wings,0\nshiisaa_right,4\njavelin_(operation:_pillow_fight!)_(azur_lane),4\npurple_garter_belt,0\ng7_scout,0\nhibren,1\nlielac,1\nlawn,0\nnaonao_(sherry),1\nfukurau,1\net_gnsn,1\npolpo,4\nmorioka_moriko,4\npecopecosupipi,1\n241_(nishiki),1\nkisaragi_saki,1\nnanami_kazuki,1\nchidouin_sara,4\nhaar_(fire_emblem),4\nshu_(hokuto_no_ken),4\nhirakana,1\nhikonyan,4\nguri,4\naika_(konshin),4\nnanakamado_anno,1\ncoin_slot,0\nmetal_detector,0\nzang_li,1\nfura_(wind_rahu),1\nheartbee,1\nliger_zero,4\noziozi_kamuy,1\nmuskmelon,0\nmiharu_(ringo_sui),4\nouhina,1\nsuper_plugsuit,0\nkillia_(disgaea),4\nsarasuty,1\nfantasy_zone,3\nkamezou_(kame-zo),1\nrogue_division_agent,0\nkisou_nowora,1\nintroduction,0\nnamakarashi,1\nelferan,1\ntailyellow,4\nsorrysap,1\nhahaha,1\nmo_geng,1\nkamochomedesu,1\nsexting,0\n00e_fgo,1\nnaoki_(xhju8282),1\nsv-51,4\nangelica_(epic_seven),4\nmidgardsormr,4\nstrawberry_daifuku_(food_fantasy),4\nni_no_sakura_senbu_(module),0\nhappy_mask_salesman,4\nayakadegozans,1\nmoonlit_bear_(vocaloid),3\nakane_(cookie),4\namakawa_ginga,1\nkiwakiwa,1\nemily_dyer,4\neir,1\nrunar,4\nlpleader,1\nommmyoh,1\nmultiple_halos,0\nleaning_against_vehicle,0\nkuukai_(adexi),1\nkirishima_mizuki,4\nbikini_(dragon_ball),4\ncx4_storm_(girls'_frontline),4\nyajuu_no_gankou_(meme),0\n2wink_(ensemble_stars!),0\nking_of_diamonds,0\nkamui_aya,1\nbapio,1\nbasil_hawkins,4\nnuavic,1\nleo...,1\nleo_(warzard),4\nagainst_vehicle,0\nrabiane_(sinisistar),4\nyutapo,1\nlis,1\nmilkytiddyboy,1\nibuki_sakura_(sgw_v07),1\numai_neko,1\ntongue_hold,0\nmoriko_kyoho,4\nmidori_hemo,4\nshin_jia,4\nasada_ryou,1\nceilinginmyroom,1\nclass,0\nvivid_world_(love_live!),0\ntaue_shunsuke,1\ncassius_(granblue_fantasy),4\nkrogan,0\niczer-2,4\nfox_udon,1\npoppu,1\nakizuki_kei,4\ngensou_otome_no_okashi_na_kakurega,3\npyocomon,4\nburial_blade,0\nnekohanemocha,1\nkirito_(cosplay),0\nhero_(sekaiju),4\namepati,1\ncray,1\nmerumo,4\nnakaryo0404,1\nmakka_na_kedamono,1\ncarrotsprout,1\nkarukozaka_high_school_uniform,0\npanda_(tekken),4\nglassy0302,1\ntempty_(voice_actor),1\nnishikigi_chisato_(cosplay),0\nnyromide,1\nkuruto.,1\nshiranui_kensetsu,0\nbaku_(ff9),4\ni-tsd,1\nvalentina_tavolilla,1\nlr-300,0\nkurokagami_ryuuko,4\nmizuno_takahiro,4\nisaf,0\nspoon_hair_ornament,0\nmatsuo_mono,1\ntenkawa_akito,4\ndaphne_(last_origin),4\nkaeru_(meriruou),1\nspace_core,4\nkawagami_raito,1\nmakoto1009,1\ntayutama_2,3\njetty,0\nvilepluff,1\nmagnamalo,4\nmito_w,1\nashita_no_sakuya,1\nruisselait,1\nkinaee,1\nlemonade_alpha,4\nmiyazaki_yukichi,1\ntakagawa_sumire,4\nvinkyfre,1\nmido006,1\nmechanical_broom,0\nelza_forte,4\naoiakamaou,1\nkusari_no_shoujo_(vocaloid),3\nlandsknecht,0\nizumi_mogu,1\nkv-1_(ash_arms),4\nezraqi,1\nkowata_akane,4\nisayama_hajime_(style),0\nakira-kun_(ishiyumi),4\nlouise_(dragalia_lost),4\nyatarime,1\nuraha_(air),4\nkaname_mahiro,4\npimple,0\nushimaki_riko,4\ncruise_ship,0\nyuuko_(nora0x0),1\nrye-beer,1\nimplied_orgasm,0\nkatyusha's_mother_(girls_und_panzer),4\n0x0082,1\nrkmlady,1\nsayaka_(ponkichi),1\nsing&smile_(vocaloid),3\npupa,3\nfull_burrrrrrst,1\nxianming_lin,4\nazuma_sara,4\nam1m,1\nopa-opa,4\nhimono_hinata,1\nhal-py,1\ndia_(yvirus68),1\nfallschirmjager,0\ncloire_clover,1\nrca_connector,0\nateru,1\nshiragixx,1\nmiyazawa_midori,4\nsatsuki_meguru,1\nscyllei,4\nnanasawa_yuni,4\nharlequinwaffles,1\nishizaki_miwako,1\nizru,1\nsuminohirune,1\npichu_(cosplay),0\ndai-guard,3\ncrotalaria,1\nveloce_visrin,4\ntoe_fu,1\nshirakawa_mayo,1\nhoujou_mamushi,4\nnire_hikari,4\nkamidan,1\ntera_(aurahack),4\nhouki_(majo_no_tabitabi),4\nr_star,1\ntoma_(dragon_ball),4\nwhitemoor,1\nokota_(pixiv),1\nhoshikuzushi,1\ndivel_qree,1\nshadow_lugia,4\naoba_(aunana),1\nkuaru_(okamokomon),1\nhayake_(chenran),1\nmosou_keito,1\nmanbou_no_suiso,1\ntsugumori,4\ntsunenori,1\ntonebird,1\na-shi_(lion81923),1\nmouri_teru,4\nleila_(fire_emblem),4\nzenobia_(xenoblade),4\ndevastator_(transformers),4\nkurama_(urusei_yatsura),4\nzhao_yun,4\ncolor_73,1\nkaren_(artist),1\ndatemegane,1\nnavio,1\nsamael_(5211),1\nrei_hana_(nachis514),1\nootani_momoko,4\nshigure1213,1\nkurumi_rumi,1\ngj,1\nhanei_rin,4\nharusawa_yoshino,4\ncars_(movie),3\nocean_prince,4\nyurt_the_silent_chief,4\nsig_sauer_552,0\nqueen_(fft-0),4\nyukion,1\nushiina,1\nchurch_bell,0\nmelt_(artist),1\nc.z.,1\nyameshoko,1\nkishida_nica,1\nkouen,1\nsilvia_aizetto,4\nwilmarina_noscrim,4\nkuro_kichi,1\nmoses_sandor,4\nrequiem_for_the_phantom,3\nkuroshiba_kanae,4\nyokoshima_(tirimoti),1\njohnny_silverhand,4\nzerotted,1\ntami_moon,1\ncat_sidhe_nekoko,4\nshinohara_sera,4\nmagaki_(kof),4\nbenimaru,1\nsakura_laurel_(umamusume),4\nkirobaito,1\nmerusuke,1\nkarappa,1\nhayashibara_megumi,4\ntanpi,1\npartio,4\nboomer_(left_4_dead),4\nkhui,1\nfrancesca_lucchini_(cosplay),0\nhiba_manaka,4\nstacked_hats,0\ncavalier_of_the_abyss,3\nfumiyomogi,1\nkuroton@9610,1\nkaiyuna,1\nazya,1\ngien,4\ntanaka_yubiseiakikana,4\ns-kan,1\nkazuki_(kazu-king),1\neden_no_ori,3\neva_05,4\njin_kisaragi_(cosplay),0\nmizuz,4\ngamma_1,4\nshibuya_tomochika,4\nyam_(dr_yammy),1\namaki_ikuma,4\nflowerchild_ueda,1\nyukaris,1\nfujimaru_mamenosuke,1\nhayashi_(nnnsf),1\nyu-ga,1\nhaine_(summertime_render),4\nkakizaki_hayao,4\nyuke_yuke!!_trouble_makers,3\nsosogi_(qtgejyrkhrng4jk),1\nbaritone_saxophone,0\ngpnet,1\nmagdalena_kaczynski,4\nkhj,1\nsanshirou,1\nskadi's_seaborn_(arknights),4\nton_(artist),1\ninuu_ruru,4\nm_eme,1\ncharmy_bee,4\ndraug_(fire_emblem),4\ninbit,4\nkanna_(inuyasha),4\nbyakudan_midori,4\nanastacia_of_astora,4\njune_(semen_sprinkler_j),4\nsenjougahara_hitagi_(cosplay),0\nseijuro_shin,4\nenu_(spinal),1\nhitohira_(shiroringo48),1\nsilverms2,1\nzaqloxxx,1\nlangod,1\nthe_skeld,0\nihara_natsume,1\nskill,0\ntore_(ksg666xxx),1\nkazufumi_(kaz-newt),1\nkimi_ga_yobu_megiddo_no_oka_de,3\nurna,0\nhumio_(oriba),1\nlunaris_filia,3\nshippu_man,1\notsuo,1\ntotuka,1\nusurai,1\njiron_amos,4\nmzz,1\nhayami_tetsu,4\nhirakawa,1\ncrossbone_gundam_x-3,4\nnanatsume,1\nyamato_transport,3\nkagato_(artist),1\nkorin_(ra-sky07),1\nnic_(kevin),1\nhibiki_yoiko,4\ncastlevania:_circle_of_the_moon,3\nlieutenant_dan,1\nharawata,1\nrudy_(brave_soul),4\nkohuseigetsu,1\nhatchin_morenos,4\nshirohanamame_taichou,1\ndaiku_kenzaburou,4\nmoyuchocolats,1\nsam_wells,1\ntamajam,1\nrerisa_(kyouno),4\nshirogane_tobari,4\nhonda_asuka,4\nike_ko,1\nhikaru_(parodius),4\ndaydarion,1\npowhu,1\nchi_(character),4\ndestiny_(ishida),4\nte_okure,1\noctopus_print,0\nhoshimiya_yashiro,4\nmemusu,4\nspunky_knight,3\nidiot_sandwich_(meme),0\nreichi,1\nmisato_miyu,1\nkoutetsushin_jeeg,3\nnakatani_seiichi,1\nstreet_fighter_i,3\npara-medic_(mgs3),4\nkizuna,4\nwhite_innertube,0\nsunahara_shimako,4\nmizuki_(anda),4\npiranosuke,1\nawooo,0\nkizmel,4\nmitsumata,4\nmasturbation_from_behind,0\nkamen_rider_jack_revice,0\nrinmeikan_girls_school_uniform,0\nfuji_tooya,1\ntamamo_no_mae_(type-moon_racing)_(fate),4\nolbern,4\nsheska_(fma),4\nm-18,1\nhoujou_teppei,4\nhamhsi_miyar,1\nshinta_(the-mattyaman),1\npietro_maximoff,4\nbaymax_(cosplay),0\nfutaba_rentarou,4\nwhite_angel,3\nceroblitz,1\ngirls_und_panzer_little_army,3\nspikemuth,0\nsuzuke,1\nyukiyukidaihuku,1\nt-doll_contract,0\nkamishiro_mutsuki,4\nakatsuki_hayane,4\nsurigoma,1\nrikapo,1\nlewdlilies,1\n06erunium,1\njinnouchi_wabisuke,4\nsusu_(ysy),1\nzangetsu,4\nmatado,1\nmcr,1\nrobin16,1\nkachoo,1\npoketto,1\nmekeko,1\nnekota_chihiro,1\nhitori_(edge),1\nsniper_team,0\nwazuka_(wzzc),1\nmaguon,1\nhanamizawa_q-tarou,1\nshinonome_ryuu,1\nwittyz,1\n9room,1\nmwgi,1\nlarge_forehead,0\ncross_yuki,4\no-mars,1\nubuntu,3\nnona_(death_parade),4\nsuzuki_yuma,4\nalister_agrew,4\nmizukoshi_moe,4\nsakurazuki_kira,4\nimminent_hit,0\nishizuki_mana,4\nnannann,1\noribe_aoi,4\ntawara_hiryuu,1\nshion_humine,1\nwolfram_von_bielefeld,4\njessica_de_alkirk,4\nsandrum,1\ninuboshi,1\nmiranda_lotto,4\nkaoru_kozue,4\nfantastic_children,3\ntenrou_kunagi,4\nmidori_no_ruupe,1\npanzer_dragoon_orta,3\norta,4\ndragon_knight_4,3\nyoko_belnades,4\nkuroeart,1\nbloodrayne_(videogame),3\nsakuragi_yuzuki,1\nget9,1\ntako_ashin,1\notaut-r,1\ntsuzuki_kazuhiko,1\nhigashi,1\nkurotori_chiyoko,4\nburn-up_w,3\nkamijou_asahi,4\nnorimaki_gajira,4\nyukihiko,1\naki_toshi,1\ns_ko,1\nanata_no_shiranai_kangofu,3\noyamada_kouta,4\nnobunaga_hazama,4\nkeiji_asakawa,1\npark_sung_woo,1\nalyx_vance,4\n20th_century_boys,3\nminakami_kurena,1\nlesskiss,1\nsaraswati_(kore_wa_zombie_desu_ka?),4\nnyan-nyan_dance,0\nmidarezaki_yuuka,4\nrokusho,1\nalmira,4\nsugai,1\noshiete_re:maid,3\nmount_rushmore,0\nilia_silvestri,4\nsabinaok,1\nyume_no_crayon_oukoku,3\nelsa_la_conti,4\nhayama_kouichi,4\ngarcia_lovelace,4\nrayphenos,1\nbilly_coen,4\nfor_the_barrel,3\nars_magna,3\nangel_daisy,4\nmeisai,1\napple_(suikoden),4\ndark_rouge,4\nonly_haruka,1\nkiba,4\n175x172nyrn,1\nsogeking,4\nshop_p,1\nkinagirea,1\nzeroamu,1\nisobe_eiji,1\nargos_(ff14),4\nlocalized_gravity,0\nmatch_(scp115),1\ncode:_dragon_blood,3\ndela_delon,4\npussy_squeeze,0\nigni_suu,1\nokayama_shinako,1\neunyoo,1\nniiichi_21pk,1\nyuugji,1\nmashilemo,1\nkirima_aki,1\nosanai_sanday,1\nsek-it,1\noribe_tsubaki,4\nanimist,1\ngoofy_(goldgoofy357),1\nkoi_wa_sekai_seifuku_no_ato_de,3\nnukogami_(minniecatlove21),1\nnatsume_kako,4\nmumumuka,1\nsuzu_(user_kdex8732),1\nhoodie_pull,0\npochita,1\npopolocrois,3\ntake_tw01,1\nharukan_tiusu,1\ncasserole,0\nstar_wars:_a_new_hope,3\nmojakkoro,1\nchen_lio,4\ndassault_rafale,0\nshinjuku_cat,0\nunfortunate_hero,1\nmelone_(melonenbrot),1\nfiery_clothing,0\nyokojima_kemomi_mi_chuushin,1\nicarus_(nereid's_discovery)_(azur_lane),4\nkaneki_yushi,1\nspider-gwen_(cosplay),0\nyangsan_(2991076090),1\nspoken_emoticon,0\nriding_outfit,0\nnoddy_(kirby),4\np.a._works,3\nchaso_(konshin),4\nloladestiny,1\nmeowwniz,1\njitsuma,1\ni-19_(departure's_gentle_breeze)_(azur_lane),4\nclaudia_bruford,4\nshemagh,0\nzzzi_gn,1\nganbare!_nakamura-kun!!,3\nfysr,1\nrafu_(motrer1),1\nsweetheart_(omori),4\nrabbit_print,0\nnightstar0012,1\nross_(senyuu),4\ntank_(left_4_dead),4\nalraune_(monster_girl_encyclopedia),4\nshawn_flowers,1\nlace_bikini,0\nazurcentauri,1\nolha_(ys),4\nselvalanch,1\nhead_wreath_removed,0\ndeutschland_(demon_princess'_dark_hour_banquet)_(azur_lane),4\ngangut_(imposing_warden)_(azur_lane),4\nlyuka,1\nniki_(nikism1987),1\nminior_(green_core),4\nminami_hinata,4\nyudepan_(yuri_no_sugata),1\na-by,1\nmeru_rumi,1\nmootium,1\nbehindxa,1\nkuroki_hiromi,4\nhabaki,0\ncoffeebeanbrush,1\nicy02,1\nhiraga0613,1\nmonodevil,1\nclitorim,4\nrogu_(log_264),1\nkoroni_(nkrgs),1\njinrouki_winvurga,3\nore_no_ue_de_agaku_rokunin_no_togime,3\nhouriigurei,1\njudo_throw,0\ntaplaos,1\nsiena_(moratoriummaga),1\nchiro_(chi-bu-ko),1\ndoomer_girl,4\nmushinosuke,1\nredforge,1\nttutto,1\nthe_super_mario_bros._movie,3\ntoiro_gawon,1\ny_tyano,1\ngorokyu,1\nmakusu,1\nreinforced,1\nitooooofu8282,1\nlida_romero,4\ngravy_boat,0\nnyan5000,1\nyumoto_motoyu,1\nsoftmax,3\nalter_ego_conjurer_(granblue_fantasy),4\nfifteen_(katana_zero),4\ncleveland_(muse)_(azur_lane),4\nbeko_(beco_1122),1\nazana_shiyuga,1\nisabella_(seiken_densetsu_3),4\nnowoka,1\nlovely_aina-chan,3\nrindou_(kunoichi_tsubaki_no_mune_no_uchi),4\nrengoku_shinjurou,4\nkanou_aira,1\nmordecai_(fire_emblem),4\nshishigaj5,1\nmeteor_(yamashou),1\nshiroserika,1\nrike_lee,1\nryon_y0421,1\nbiting_testicles,0\ngennosuke,1\nazee_gurumin,4\nmaosanmu,1\nkanamori_maria,4\nlilith_(the_binding_of_isaac),4\nmay_wong,4\nmiyahara_mimikaki,1\nhorizon_(sushi0126),1\nlorna_(shining_hearts),4\nzetxune,1\nhukii,1\nsuzhi2333,1\nhoneydew_mei,4\ncat_burger,0\nwhipping_hair,0\npostblue98,1\ncloak_lift,0\nramblin'_evil_mushroom,4\npuru_(manatsu),1\nbane,4\nlautes_alltags,3\nleaning_tower_of_pisa,0\ncolette_belrose,4\ncoffee_siphon,0\nverdandi_(p&d),4\nkimven_(wenzisama),1\njiro-knightraider,1\nacheru_maru,1\nzorzero,1\ntadai_nu,1\nxiaoguang_(you_can_eat_the_girl),4\nsanta_fung,1\nouka_(kazuki_seihou),4\npuroshimin,1\nshinohara_takashi,1\nichijou_karen,4\nsukuda_mizuo,1\nangry_dog_noises,0\npieces_/_wataridori_no_somnium,3\nkamen_rider_blade_(king_form),4\nmedusa_(monster_girl_encyclopedia),4\nnoix_tranche,4\nnyanko960121,1\nguitaro_(yabasaki_taro),1\nthe_omoti,1\ndelano-laramie,1\nboar_tail,0\nspecial_g_(spg),1\nclaxton_(warship_girls_r),4\nsovetsky_soyuz_(warship_girls_r),4\nverniy_(warship_girls_r),4\ngraf_spee_(warship_girls_r),4\naquaman_(series),3\nmii_(yuureidoushi_(yuurei6214)),4\niwaizumi_hajime,4\nlajhen2651,1\nshinonome_natsuhi,4\nroman_buriki,1\nhinageshi_(amaetai_hi_wa_soba_ni_ite),4\nhatsune_speed:_hatsune_miku_roller_skating_music,3\npipin_try,1\nichigo_(daibouken!_yukeyuke_osawari_island),4\ntigrevurmud_vorn,4\nonemine_nene,4\nkurama-chan_ni_guitte_shitara_pisha_tte_sareta,3\nh0saki,1\npowered_gm_cardigan,4\nkujiragami_no_tearstilla,3\nbaron_of_hell,4\nchocoball,4\nhinoyama_ena,1\ndeatte_5-fun_wa_ore_no_mono!,3\nmizuno_shinya,1\nmongolian_spot,0\nchino_kawashiku,1\namane_a_(007_uiro),1\nkuku,1\ntomoyami,1\nbinetsu_kara_mystery,0\nsuttoboke,1\ndistillation_column,0\nyukiyago,1\nshiranai_love_oshiete_love,0\nthomas_emily,4\nnatubudou,1\nmaccha_xxxxxx,1\nmiyayoshi_(bricola),1\nniizato_aoi,4\njinguuji_mari,4\nt-55,0\ngurdurr,4\nmoumoku_pen_gin,1\nia-lu_(kemono_no_souja_erin),4\nsenko_(oshiro_project),4\nbroom_hatter,4\nsonobe_kazuya,4\nimpasto,0\ndental_(dentalsan),1\nbochi_(yamakan),1\nwm_(chawoo1357),1\npapiko_(papiko8901),1\nhasuhasuhasu0127,1\nauo123,1\nzillionaire,1\nredoxhn,1\nfemale_brawler_(disgaea),4\ngrady_sisters_(the_shining),4\nblanc_(ameto_yuki),4\nonyang,1\nseven_of_spades,0\nnabeshiki_(nabeyashiki),1\ngiselle_gewelle,4\nmeoon,1\novan_(.hack//),4\npicking_fruit,0\nsherry_belmont,4\nmeu_(spectral_souls),4\nbeniyuki_pangya,1\nadam_(erubo),4\nyokkoisho_(evtd8734),1\nvalgarv_(slayers),4\nmurimajimuri,1\nford_crown_victoria,0\nshimetta_masuta,1\nconstellation_hair_ornament,0\nmonster_collect,3\natelier_judie,3\nfuonon,1\ngoutokuji_kayo,4\npokemon_ranger_3,3\nnc_empire_(circle),1\nirasutoya,3\nzubon_no_onara,1\nsuu_(clover),4\niken,1\nren'ai_saiban_(vocaloid),3\njohn_price,4\nneo_zeong,4\ntanizakura_shidare,1\noshiego_ni_kyouhaku_sareru_no_wa_hanzai_desu_ka?,3\nradral,1\ncrystal_beast_ruby_carbuncle,4\nyasaka_himi,4\nshamko,1\narsmagna,3\nhoshizora_rin_(cosplay),0\nnanora_(sero4),1\nayamori_miyako,4\nka_ji,1\nitou_kazuki,1\nnapoleon_(one_piece),4\ntwitter_sparkles,0\nshinkai_kiiro,1\nura_(mukimeineko),1\npurple_mittens,0\njagariko,0\nsemi-perfect_cell,4\njee-hyung_lee,1\nkito_3_tyoki-tyoki,1\nrecoilless_rifle,0\nkaneda_(aqid),1\nhotel_yamato,0\nkirisame_tarou,1\ndangerousbride,1\nnarasaka_touru,4\ninception,3\ntarn,4\nsugito_akira,1\noresky,4\nsamidare_satsuki,1\nfelice_qaddaf,1\nno_cardigan,0\nkamisama_to_unmei_kakumei_no_paradox,3\nnuira,1\nmeganeno_dokitsui,1\ntazawa_(odamura),1\ngrace_blackberry,4\njeanne_(greenmarine),4\ncarrie_(sennen_sensou_aigis),4\naromatisse,4\ntachibana_sugane,4\nsakatsuki_sakana,1\ntuning_fork,0\ngusto_gulldo,4\ntian_dian,4\ngom_(kooskoo),1\nclara_(claris),4\ngrandmastag,1\npanye,1\ntaisowbukurow,1\nkumo_ni_notte,1\nryumikooo,1\nhu_(saimens),1\nsatou_masayuki,1\nwulfsaga,1\nnishizawa_saburou,1\ntransparent_bathtub,0\nfoaming_waves,0\nebipon,4\nnagai_gou_(style),0\naqua-lia,1\nseastar,1\ntakahashi_aoi,4\nvlad_tepes_(eiyuu_senki),4\ndae_(dog-of-maou),1\noozora_haruka_(danball_senki),4\nleidami,1\nbookseve,1\nmizuoka_magu,1\nsb_(hiratsei),1\niria_(iria_zeiram_the_animation),4\noogure_maiko,4\nmoney_bath,0\nfang_(fairy_fencer_f),4\nmenad_shisei,4\nhibiki_kohaku,4\nyukihira_furano,4\nreki_(lichk),1\nsys_(suisei),1\nsharlona,1\nkt_cano,1\nsakamoto_(pompa),1\nkashiwada_kiiho,1\ntada-kun_wa_koi_wo_shinai,3\ntenchi_muyou!_gxp,3\nscharnhorst,0\nakabuchi_megane,1\ntan_(knock_up),1\nluoye,1\nyukage,1\nfinger_to_another's_nose,0\notome_riron_to_sono_shuuhen:_ecole_de_paris,3\nmaro_no_kanja_wa_gatenkei_2,3\ndigimon_adventure:_bokura_no_war_game,3\nmiyanogi_jiji,1\nsakaikurinea,1\nwakasagihime_(cosplay),0\nseihai_(sailor_moon),0\nyouken,1\nkonohana_inori,1\naihara_(keitora),1\ndarashinai_imouto_ni_itazura_shitemita,3\nyucchan_(drizzle_star),1\nclauncher,4\nnukotama,1\nyukai_nao,1\numi_zenbiraki,1\nathena_av,1\nrabbirio,1\nyukichi_(bancho99),1\nsheria_blendy,4\ntsune-hime,4\nexocet,1\nhorace_(skullgirls),4\nalbus_(skullgirls),4\nthe_hurting,4\nthe_silence_of_the_lambs,3\nchaamii,1\nkurahika,1\npakupaku_choppu,1\nyukiguni_(ykgn),1\nmitani_kanae,4\nao_no_rupika,4\ntonshi,1\n66_(roro),4\nhouou_rinka,4\nrobin_(the_iconoclasts),4\ntakayama_akira,1\nmaco_(soliddevil),1\ntnt77,1\nsplit_image,0\nnattsu_(nicoseiga),1\nburakku_mutou,1\niwako_(eiken3kyuboy),1\nsakusan_(ss-awesome),1\nninchan,1\njoe_okada,4\nsue_(pso2),4\nwickebine_tres,4\nrero_rero,0\npoking_ass,0\nhachijou_ikuko,4\nrandle,1\nafpl_(parrotz4),1\ngamlin_kizaki,4\nangry_german_kid,4\nsuper_robot_wars_x,3\nrum,0\nbodai,1\ngosei_sentai_dairanger,3\nrichard_i_(fate),4\nhello_kitty_(character)_(cosplay),0\ndaitoku_junna,4\ncrusoe,1\nkirishima_ikuya,4\ngimicalmas,1\nwaporif,4\nchitose_mame,1\nmizuhotsuki,1\nunjou_no_fairy_tale,3\nshiroabe,1\nasagao_(kunoichi_tsubaki_no_mune_no_uchi),4\nautumnlll,1\nzettai_tenshi_kurumi-chan,3\nkurumi_(zettai_tenshi_kurumi-chan),4\ntamaki_(tmk-poison),1\nmadeline_(celeste),4\nceleste_(video_game),3\ndare_no_inarikami,1\nfeiyyx,1\npsi_(583278318),1\nbebseo,1\njeya_(leej3ya),1\notogi_frontier,3\nempty_plate,0\nsoranaka_ame,1\ndeath_march_kara_hajimaru_isekai_kyousoukyoku,3\nmikumo_shinden,1\nmaho_x_roba_-witches_spiritual_home-,3\nyaeno_miho,4\nbionic_joshikousei_(fukai_ryousuke),4\nn03+,1\nanko_(love_live!_sunshine!!),4\nblue_shrimp,1\nbulldog_(azur_lane),4\nshiromi_(15741279),1\noonamuamidabutu,1\ntechnical,0\ndisorder_6,3\nfps_xilou,1\ncz-805,0\nuji_(966qrr),1\nminamoto_no_hiromasa,4\npapuru_(bombergirl),4\nsnow_fairy_story_(vocaloid),3\nanother_kung_fu_girl,4\ninubouzaki_ayako,4\nnumi_(sin),1\npixshed,1\nsendouin_kaede,4\nhakua_shou,4\ngaruta_(yamcha),4\nhinoki_yuu,1\nlolipantherwww,1\namamiya_mizuki,1\nkuusou_ryodan,1\npollo_(evillious_nendaiki),4\ngermaine_avadonia,4\nbakuchiku,1\naircraft_carrier_summer_oni,4\nhatakeyama_yoshitaka,1\nchen_yan,1\ntouge_chayako,4\neve_(blaster_master_zero),4\nmetalmorag,1\nfogriver,1\nrad_shiba,4\nokazaki_yuma,4\nfancyark,1\nblouson_chiemi,4\nryuukishi07_(style),0\nchonkoo,1\nkannuki_natsume,4\nlim_aya_w,1\nfukufukupine,1\nkagumanikusu,1\nalliance_of_the_golden_witch,3\nriel_(yua),4\nwindows_logo,0\nmoyasi06_25,1\neonbound,3\nedamamezooooo,1\nnoyamanohana,1\ne_len,1\nhoshi_tanuki_(shironeko_project),4\nkatrielle_layton,4\nkamikawa_yuuto,4\ntalon_widowmaker,4\nk-ailisi,1\nniche-tan,1\nholding_blindfold,0\nwolbach,4\ncrois,1\nnorth_island_giant_moa_(kemono_friends),4\nkuusuke_(yo_suke39),1\ndusttodusk,1\nmountain_tapir_(kemono_friends),4\nroyal_penguin,0\nmidorikawa_maki,4\npopolocroits,1\nkimijima_(kimijima0301),1\naozaku_(hatake_no_niku),1\negg_(rxlal),1\naikagi_(azarashi_soft),3\nzhenyuan_(journey_to_the_west),4\ntomo_(552252),1\ntwintails_(mantids),1\nguzma_(pokemon)_(cosplay),0\nshiny_chariot_(cosplay),0\nhatsuji_horumon,1\nzp_hn02,1\ndangerous_zombie_level_x,0\ngaram_masala_(7355873),1\ntenkuu_no_otome-tachi,3\nmatsushita_(matsudbox),1\nfujiwara_no_shirogane_no_sanra,4\nmochimochi_mascot,0\nlizhp_libellus_aetern-ritter,4\nmuyihui,1\nmutual_feeding,0\nmiru_holstein,4\ncosmoem,4\ntsuyukina_fuzuki,1\nmutsunari_(crim0718),1\nkinutani_soushi,1\nhimeoka_yuki,1\nmuse_loss,1\nmaocha,1\nsister_blood,3\nmighty_action_x_level_2,0\ntetsuhige,1\nban_bu_bu_duou,1\nbiggumane,1\nporoze,1\ngeroro44,1\nriyuta,1\nokamin,1\nzafuri_(yzrnegy),1\nemuen,1\navalo_pizarro,4\nhabu.,1\nlollipop_(zoza),4\nchat_noir_(granblue_fantasy),4\ntype_0_reconnaissance_seaplane,4\nstaccato,0\nupside-down_text,0\nonizuka_kimihito,4\ntaki_reki,1\nsunko,1\nusami_eru,4\nrotating_brushes,0\nshinji_(metal-chan),1\nwiccan,4\ngintarou_(puipuiginta),1\noka_ball,1\nfuji_mitsuya,1\nfrilled_curtains,0\nka_4maki,1\nmiyano_(tanakeda),4\n29_to_jk,3\nhamha_s,1\nnrp_(pesu),1\nkoutetunamekuji,1\nkevin_hong,1\narue_(konosuba),4\nkodai_yui,4\nmaster_maichin,1\ninkstrike_(splatoon),0\ntopo_(musashiden),4\nharaguro_jakku,1\nfujimiya_sakura,4\nkatanon_(suparutan),1\nuso_(campus),3\nnatsuki_(digretking),1\ncleophee,4\ncar_trunk,0\nkoko_(kotobutyann),1\natelier_annie,3\nchikan_sen'you_sharyou,3\nsenbon,1\nniisan_alpha,1\nu.s.a.,0\nasura_(asura's_wrath),4\nmw,1\ncharlotte_lueder,4\ntarakan,1\nheroes_of_might_and_magic,3\nizuru,1\nhachimitsu_ame_(phoenix),1\nsuimin,1\ntsukimura,1\nmaddy,1\nsira,1\nkurou_(yugato),1\nousaka_asuha,4\ngiovanni_(ginga_tetsudou_no_yoru),4\nsanako_(tsubakiiro),1\nneko_nami83,1\nmaternity_dress,0\ntori_(matsuda_(matsukichi)),4\ntakanashi_shiori,4\nkoyano_ichigo,4\noresama_teacher,3\nnishina_kurumi,4\nme_(mikannu),1\nsonna_koto_ura_no_mata_urabanashi_desho?,0\nattouteki_yuugi_mugen_souls_z,3\nasyuaffw,1\nroland-gin,1\nsabotencc,1\nolivier_(heartcatch_precure!),4\ninari_(monster_girl_encyclopedia),4\nnamatyaba,1\nyamaguchi_tadashi,4\nplume_(junkpuyo),4\njagi_(nexboy),1\ntextured_hair,0\ngaleoria,1\nkumanoi_(nichols),1\noz_(manga),3\nkameneji,1\nnyx_(mebius_no_wa),1\ntayu_(yuntayu),1\njustinas_vitkus,1\nsakura_kaoru,1\nanbee_(arary),1\nciero,1\nmekami_suzu,4\nmokichi812,1\nuisaki_hinano,4\nmasashi_(excellent),1\nred-and-green_macaw,0\nblue-and-yellow_macaw,0\nmerkava_(under_night_in-birth),4\nmeroko_yui_(bunny),4\nyongoh,4\nkajanda,1\nfelching,0\ntaropun,1\narvalis,1\nforever_star_(idolmaster),0\nchloe_(kuroinu),4\nnanatsugumi,1\nhomurakko,4\nmomiji_manjuu,0\nfinal_fantasy_tactics:_hakuma_doushi_shibari,3\nakusera,4\nyanagita_kousuke,1\nttakuann,1\nriko_(maki-y318),1\nblack_belt_(pokemon),4\nuchida_kayoko,4\nnucco,1\nparrying,0\nchildren's_day,0\nuna_kata,1\ntales_of_pixiv,3\nmabera,1\nflower_umbrella,0\nvladimir_lenin,4\ndestructor_girl,4\nzatsuon,1\nfc_barcelona,3\npokowachikusu,1\nmurakami_mame,1\nkerun,1\ngunneko,1\nmonday,0\nparmesan_(168n),1\nrino_(kurumi),1\nkusakabe_tatsuo,4\nkinjou_manami,4\nnami_z,1\nmeteolance,1\neh?_ah_sou_(vocaloid),3\nnanatsu_maka,1\nringo_apple,1\nzaku_ii_f2,4\ntogemon,4\nvicsen-u5,1\nmatin_catorce,4\nsaeki_takashi,1\nkinoko-san,4\nfuuma_(humawww),1\nmouse_mask,0\nfiona_(agarest_senki),4\nhiruri,1\nbeatrice_castiglioni,4\nask_(densicho),1\nthree_plates,1\na_clockwork_orange,3\nsasaki_yuki,1\nhetiru,1\nhattori_hanzou_(hyakka_ryouran),4\nkiben_gakuha_yotsuya-senpai_no_kaidan,3\nshuujin/kami_hikouki_(vocaloid),3\nimo_(ryokyou),1\nkiwa_(a-bell-abi),1\nshoukaku_(aircraft_carrier),0\nbody_parts,0\nu-hi,1\nshioe_monjirou,4\nprincipality_of_wy_(hetalia),4\nichi_(lucky-dog1),1\npesu_(penpen),1\nnagi_(haruka_4),4\nexamination_table,0\nshub-niggurath,4\nsupepepe,1\nhisui_(paingumi),1\nyuu_yuu_(netaeshi58),1\nsenmi_aki,1\nmashiro_akira,1\ninou_hiroaki,1\nkanten_(kanten328),1\nnepeta_leijon,4\nsollux_captor,4\nfeferi_peixes,4\nseal_(seal1102),1\niinuma_chika,1\ncherry_numan,1\nshichimiso,1\nluna_rune,1\nkanemoto_akari,4\nparachute_pants,0\nkawazoe_mariko,1\nfmg,1\npochacco_(cosplay),0\nrino_(wonderland)_(princess_connect!),4\ntwitter_strip_game,0\nhanes_025,1\nmipe_(r_kkk12),1\ntachibana_kyouka_(jin),4\narianne_the_labrynth_servant,4\nlin_(greenopi),4\ngou_(gzgnight),1\nkaiware_(user_kamu3357),1\nsaijou_yurika,1\nginga_no_kou,1\ngyarike,4\nrice_shower_(longed-for_scenery)_(umamusume),4\ntorayamachi_academy_school_uniform,0\npokemon_ranger_and_the_temple_of_the_sea,3\njuhi-huji,1\nrondel,0\nisonami_kai_ni_(kancolle),4\nsantouka,1\naleister_crowley_(toaru_majutsu_no_index),4\nrestroom_sign,0\nedmond_dantes_(monte_cristo_uniform)_(fate),4\nsakata_kintoki_(third_ascension)_(fate),4\nasta_(asicah),4\ndear:_(utaite),4\neddybird55555,1\nmakababazi,1\nfestering_desire_(genshin_impact),0\norange_(sal1014),1\ndias_(tajima_kouki),1\nhowe_(pastry_princess)_(azur_lane),4\nomurice_(roza4957),1\nclosed_jacket,0\nshishui_guima,1\nluosicheng_5,1\ncheeseko,1\ncommeowdore,1\nsugaya_nowa,4\nao_hito,1\naldrich_devourer_of_gods,4\nozzzzy,1\nregis_lucis_caelum,4\nxeno_(xenoglitch),1\nrikotan_(vtuber),4\nmorgan_le_fay_(valentine_witches)_(fate),4\nnaoto_(sandersoniahirahira),1\nnekoshin_kagari,1\ndanshi_koukou_valentine_(meme),0\nereshkigal_(under_the_same_sky)_(fate),4\nshuten_douji_(under_the_same_sky)_(fate),4\njack_the_ripper_(chaldea_lifesavers)_(fate),4\ntomoe_gozen_(first_valentine)_(fate),4\nkama_(summer_enma-tei)_(fate),4\nmolten_rock_bath,0\nsaber_(lapis_lazuli_dress)_(fate),4\nm1_garand_(beach_princess)_(girls'_frontline),4\nisolde_(kof),4\nbenevole,1\nhire_(uret4788),1\ndouluo_dalu_xiaowu_zhuye,1\nvery_long_beard,0\ndruj_(jahy),4\numitsuki_(kurage_no_shokushu),1\nr.h_no.1_fuyumomo,1\nv_a_i_r,1\ngoshichi_shoji,1\nae_(aeiu4114),1\npome_charo,1\nkyoya_(0o-7snow7-o0),1\nochiai_(kinjo_no_hito_no_nakimushi),4\nhisu_(hisu_),1\n12_billion_yen_incident,0\nadam_(lord_of_the_mysteries),4\ndana_(ocana_dana),1\nkurokimono001,1\nfairy_ranmaru:anata_no_kokoro_otasuke_shimasu,3\nknocknarea_(fate),4\nzzzzoka,1\ntype_81_carbine_(girls'_frontline),4\nlee_gyu-hyuk,4\nkurumi_nari,1\nkarutia_(g_(genesis1556)),4\nelid_(girls'_frontline),4\nraiden_shuga,4\nsekiguchi_(odd_taxi),4\ngunu_(nyzn3223),1\nseo_yoon,4\nmoon_carver_(genshin_impact),4\nvariasii,1\nemma_hardy,4\nsorase_(srsrs_000),1\nwcks0774,1\nmabel_(maou-sama_to_kekkonshitai),4\nabi_(user_nzav7333),1\nryuji_ohara,1\nsnow_(sentouin_hakenshimasu!),4\nsocial_distancing,0\nl_1753ucon,1\noinari_33,1\nayasekira,1\nhagihara_asami,1\nrnknmrm,1\nrelic_buster_(granblue_fantasy),4\nseeking_the_pearl_(umamusume),4\nilion,1\nfuchi_(fuchi_1106),1\nu-head_trainer,4\ntaaru_(taru),1\nnine_tail_(ragnarok_online),4\nuzicha,1\nqiqi_(genshin_impact)_(cosplay),0\ni-8_(kancolle)_(cosplay),0\ni-13_(kancolle)_(cosplay),0\nmazu_(mazumaro),1\nmoses_(fate),4\nmii_brawler_(smash_ultimate),4\nmiyamoto_musashi_(fate)_(cosplay),0\nclarissa_(epic_seven),4\ngs_pno,1\nerato_(ennuigirl),4\ncocomeen,1\ncrypto_(apex_legends)_(cosplay),0\nktym_777,1\nfeathered_cape,0\ncarm_(ruoyeahs),1\nhan_joon-gi,4\nnekko_(pixiv62998998),1\notoma_(matoi0603),1\nyamashita_toshinari,1\nmugen_(sp7q4kv9),1\npurple_santa_costume,0\nmeitou_muku,1\nume2888,1\nboris_jinneman,4\nkyrieru,1\ndande_cat,1\nchikuwa_udon,1\nnansui_kinoko,1\nohama_kan'emon,4\ndvdarts,1\nmatt_groening_(style),0\nsakuraba_tamamo,4\ndomon_asuka,4\nsaginuma_osamu,4\namamiya_yuumu,1\narukooru,1\nhashiko_(pecopom),1\nroku_(hikokeng),1\nkoshigaya_tatsumi,1\nsado_tarou,4\nmaru0one,1\nbaia,1\ndays_(kagerou_project),3\nshizuma_yuho,4\nsheeg,1\nluna_(gkluna_mas),1\nangry_sun,4\noda_takashi,1\nblack_(kekkai_sensen),4\nleila_(yurisouls),1\nhanabatake_yoshiko,4\nstuffed_koala,0\nban_keiko,4\nsaya_(chocolate_capsule),1\nu-96_(azur_lane),4\npika_mouse,1\nkumakichi_(kuma-ana),1\nclosed_curtains,0\ntukinen,1\ntarutaru_gungun,1\nlion_cub,0\ntakigi,1\nnaoki_yukira,1\npz,1\narianna_(bloodborne),4\nmahou_sensou,3\niwaoka_(sikabanenomiti_park),1\nsensei_(hitagi3594),1\nhanamutsuki,1\nsaionji_reika_(ginga_e_kickoff!!),4\nkoriente,4\nalbreo,1\nkamaboko_bijin,1\ntakozonesu_(cosplay),0\na-801,1\nmeikyuu_tansaku_dragon_princess,3\neroriru,1\nscroll_lock_(scrool5),1\nshunki_gentei_poco_a_poco!,3\nbebe_(ad234_tenrou),1\nfukushima_nyuugyou_inc,1\nmasamune_(eight5050),1\npanzerfaust_(skullgirls),4\nguanhian,1\nkirihime_yoruka,4\nkougyoku_(module),0\nkaterea_leviathan,4\ntorn_unitard,0\ncoby,4\ncararina,4\numinagi_karan,4\nyuukaze_(sakazaki_freddy),4\nbiba_eichi,1\nmisibe,1\ngomi_yashiki,1\nkarua_m,1\nsengoku_yaraideka,3\nclulu_aluminal,4\ndark_knight_(elsword),4\norange_maru,1\nshika_tsui,1\nsuo_niao,1\nsugawara_esuko,1\nmizushina_hotaru,4\nmirai_shousetsu_arcana,3\nceleste_(granblue_fantasy),4\nsoggates-nyan_(amurka-chan),1\njuan_romero,1\nkudiramochi,1\nqwenthur_barbotage,4\narisugawa_reiko,4\nselena_(soccer_spirits),4\nsasamiya_saya,4\nkurogane_ikki,4\njoint06,1\nkuroda_sayuki,4\nittan_momen_(gegege_no_kitarou),4\nryouke_kaoru,4\nfu-mi.a,1\nhoshi_ame,1\nryusho,1\nshort_messy_bangs,0\nshan-n,1\nkanihara_eiko,1\nomochi_no_kimochi,1\nlantana_(flower_knight_girl),4\nfujitama_koto,1\nzhao_shixuan,1\ntongue_scarf,0\nmouretsu_atarou,3\nllicornia,1\nnyora_(soredemosekai),1\nforecast_janna,4\nb-17_flying_fortress,0\ntsukinami_yuu,1\nthis_is_fine,0\nnora_(greenteaneko),4\ncarrie_alberta,4\nsangcoon,1\nkitamiya_hatsumi,4\nosu!_tatakae!_ouendan_2,3\nselene_(ff14),4\nnachuraa,1\nshishamo_(abc_shishamo),1\nleisss,1\nfuuma_tokiko,4\nkinkuri_(axsc8mjrt),1\nkobayashi_kenya,4\n000_(jicasoe),1\nchikushoudou_pain,4\nsweet_aviation_model_div.,3\nsaitou_nekoichi,1\nsaimin_class_wonderful,3\nalisa_kirsten,4\nlucille_aleister,4\ncointreau,1\nsuginoji,1\nalvin_granford,4\nyamada_sawa,4\nheliotrope_(flower_knight_girl),4\nosakana_e,1\nalver,1\ncomaza,1\nprobably_noon,1\nglalda,4\nblue_penis,0\nchugging,0\nkuzunoha_rindou,4\nkotomori_ren,4\ndolores_(mazohaha),4\nkenny_(pokemon),4\ningo_(pokemon)_(cosplay),0\nakino_(gokosei),1\ninkopiko,1\nkarappo_(poket12),1\nko_shushu,1\nuehara_doh,1\ndesk_slam,0\namo_chenbe,1\nyui_4293,1\nhimmel_(allsky83),1\nshuri_(saidaioujou),4\nfurisode_girl_blossom,4\ntachibana_yui_(natsu_ga_owaru_made),4\nmink343,1\noastlv,1\nueda_hanako,1\nnew_southern_battleship_princess,4\nleonir_(gogalking),4\nkazanniro,1\nsenri_(yukataro),4\noscrol_las_casas,4\nsix_of_diamonds,0\nten_of_spades,0\nsowb,1\nmulti-strapped_dress,0\nyume_no_hana_(sbac0019),1\nito_lab,1\nvictory_(dog),4\noooranje_nlj,1\nsukoyasu_r,1\nalopias,1\njowol,4\nsugarhigh,1\nmira_(miramita8727),1\nmabel_able_(animal_crossing),4\ngalois,1\nchiyo_(ppp_808),1\nottomarr,1\ntarokazu,1\nbabyseven_77,1\nultraman_zero_the_movie,3\nm.i.y,1\ngo_to_paradise_(idolmaster),0\nl.m.b.g_(idolmaster),0\nmellow_yellow_(idolmaster),0\nazuna_(love_live!),0\nwincalblanke,1\ntakeno_omoti,1\nshikkoku_no_hono_mikado,1\nbrown_bandana,0\nbururai,1\nyuki_(fuguneko),1\ntamaki_rinko,4\n1/6_(vocaloid),3\nneko_suke,1\ntakagi_kick,1\nmarimuu,1\nmiruru_souya,1\nmetal_akira,1\nkasagland,1\ntetsuo_(amenohutikoma),1\nnick_fury,4\nrose_guns_days,3\npruzhka_(wardi113),1\naisarenakute_mo_kimi_ga_iru_(vocaloid),3\nmister_popo,4\nhijinrui_gakuen,3\nfixelcat,1\nkurose_rena,1\niwis,1\nhikagami_yukiri,1\nnarumi_karen,4\nshuangsen,1\nitsuki_(otsugei),1\nhatomugi_(mamotan),1\nsamezuma_jouji,1\nyuzb,1\ntogepi_egg,0\nlaevateinn_(phantom_of_the_kill),4\nto6_l,1\nexfeet,1\nkingfrogs,1\naraki_maki,1\naruu_(memories),1\nnameless_hill,0\n26_(sister_freedom),1\nmoney_slap,0\nsubstitution_technique,0\nfood_awe,0\nsatoimo_(jia64097023),1\ncobraja,4\nnasa-chan,4\nnagihoko,1\ndunn_smith,4\nbirdie_wing:_golf_girls'_story,3\negg_(lemyawn),4\nfins_(pixiv29142276),1\nminggoo,1\nsabikui_bisco,3\nmikame_v2,1\nlit_candle,0\nreignite,3\numehime,1\nangela_burton,4\nhood_grab,0\nusagiplanet7,1\ndate_shigezane,4\nbitterpain,1\ndaikou-chan,4\nceremony,0\ndandou,1\ntokiame_(style),0\nholding_utensil,0\ndohyo123123,1\nkanade_rindou,4\nblathers_(animal_crossing),4\na2t_will_draw,1\nkotobuki_ryou,1\nfake_nyon_(cookie),4\nbel_hydra,4\nkodomo_no_omocha,3\nkelbhin,1\nfasalina,4\nkihuzinz,1\ngu_xun_er_(doupo_cangqiong),4\nmisono_karin_(halloween_ver.),4\nunion_flag,4\ncandy_(pixiv15231759),1\nfilin,1\ngao_ex_kaiser,1\nsoul_hackers_2,3\ntaboolicious,1\nsano_(merrymerry),1\nfuransiumu,1\nyumiao79,1\nwuke_euco,1\nricardo_soldato,4\narcade_stick_template,0\nyashita_saki,1\nmasaki_(star8moon),1\nyaminabe_(szhal14),1\nfata_morgana_no_yakata,3\nz_umeshi,1\nsekiro_(cosplay),0\nrising_hopper,0\nxrjingx,1\nmugi_(mugimugi_9kv),1\nwakamoto_norio,4\nginko_(konekonoshippo),1\nthree_ramen_musketeers,0\nbaitu,1\nhekapoo,4\nfriend_ball,0\ntrundle,4\nwhite_xxxx,1\ncapture_styler,0\ntwitter_bird,0\nyu-twilight,1\nopen_gift,0\nhsxxx,1\nohayou_girls,1\nyuri_lowell_(cosplay),0\ntaeko_(tao),1\nireza,4\nnanana_narang,1\nebicha,1\nanmaki,1\nkakoogan,1\nreal_madrid,3\ntabazi,1\nheather_(fire_emblem),4\nai_(tick!_tack!),4\njungle_de_ikou,3\ngomarayu,1\nkishima_(ki123454321),1\nsweep_tosho_(monopolizing_the_chill?)_(umamusume),4\nnoir_(nowaru),1\nevanstan,1\nkosui_(artist),1\nzipper_legwear,0\nsaizaki_minori,4\neva-st-clare,1\nmita_kazuo,1\nsoranana_(sorabananasan),1\nraki_kr,1\nmisopanne,1\nkurohachi,1\ntailor,0\nzeolch,1\n675_(image_675),1\nkaze_yaku,1\nr2_online,3\ninoe_(noie),1\ngyopi,4\ncosplex,3\nsieru,1\nwapiko,4\nishikoro,1\nbiiko_(king1015g),1\npassion_harp,0\nmarkl,4\ntasogare,3\nastaroth_(soulcalibur),4\nken-sya,1\nzwei!!,3\nmika_mikli,4\nkimagureneko,1\nyumesphere,1\ntamaki_(glass_bottle),1\nimanatsu,1\ntakajou_yuna,4\nryou-tan+,1\narc_gurren-lagann,4\ncoco_(mermaid_melody_pichi_pichi_pitch),4\nhida_iori,4\nusamimikurage,1\niwagakure_symbol,0\nlmin,1\nfn_minimi,0\nmargit_the_fell_omen,4\nmasafumi,1\njin_kaze_tsukai,4\nmakishi_yaichi,1\nnetaballerina,4\ntakanashi_hinami,1\nyamakeitokokoro,1\nelle_(lom),4\nmaruta_maruta,1\nnet_ghost_pipopa,3\namnesia,0\ninanosuke,1\nsisco,1\nkame_no_nin,1\ntomida_tomomi,1\ndragon_lord,4\ntsushima_shuu,1\notaku_no_video,3\nfury_bowser,4\ntakagi_akito,4\nnobunaga_no_shinobi,3\nfruit_stand,0\npasheri,1\nliki,1\ngasketsu,1\nmayoko_na_kuroneko,1\nhongse_beiyu,1\nborijoikun,1\nmotiking,1\nminazuki_maya,1\nhirono_nagi,4\nlilith_(monster_musume),4\nkatase_megumi,4\nmihaya_(a-ta-i),1\njasper_(steven_universe),4\ntakashi_mare,1\nstudio_lights,0\nqingshui_ai,1\nginga_kuon,4\ntesla_violet,4\nnine_violet,4\nokono,1\nrose_quartz_universe,4\nnamayakeinu,1\nhizack,4\nillusion_(pokemon),0\nwing_bow,0\nmeerkat,0\ntakamiya_sora,4\npepsi2330,1\nullr_(last_origin),4\nangelchama,1\nnipuni,1\nwindy_(clow_card),4\nmikan03_26,1\nyanagiba_sakana,1\narcedo,1\nkyuri_(suika),1\nmizuta_marixxx,1\ndrawing_alpaca,1\nchloe_(real)_(princess_connect!),4\nmeryl_stryfe,4\nnatasha_(fire_emblem),4\ndole,1\nohtsuka_miyako_(calm_mashiro),4\nkemono_friends_r,3\niroha-kuro,1\nfish_hat,0\naoi_(amazu),4\ntorn_ascot,0\nimo_cyber,1\nsrgrafo,1\nhotei_kazuha,1\nstar_saber,4\nnor_(reader13),1\nsmears,0\nahamma,1\nsodom,4\nimai_taki,1\nhelixel,1\nkatakuri,1\nsamurai_7,3\nkaheru_(vtuber),4\npan_(xeno)_(dragon_ball),4\npjmiyo,1\nodaiba_girls_high_school_uniform,0\nyone_(league_of_legends),4\nmilksea,1\nela_angraeni_(revian_samuel_dani),4\nbeowolf,4\ny_skk,1\nposhul_(chrono_cross),4\nperopero_saimin,3\nchenalii,1\nadachi_ruri,1\nkurosu_taichi,4\npotato_iida,1\nmementomori,3\nryus_(ordinaryuzu),4\neika_(artist),1\nkiri_(foxsnake),1\nhymxiaocyan,1\nmousariababa,1\nyuzuriha_(etra-chan_wa_mita!),4\narkhangelsk_(azur_lane),4\nhaimine,1\nsalamander_(vocaloid),3\nkidmukuro,1\nmo_(smileomoti),1\nwhitek,1\nhyakka_onibi,1\namaton707,1\nsaburou_03,1\name999,1\na_cat_is_fine_too_(meme),0\nkaramomo,1\nenkaboots,1\nroncele,1\nindonesian_flag,0\ngondola_(meme),4\nlyn_(fire_emblem)_(cosplay),0\nwachiko,1\nkyouyama_(kuromon),1\nkity1211_tetsu,1\nxukong,1\nsanada_(tony2035176),1\nsawarabi_(sawarabi725),1\nonionyaa,1\nkumoi_ichirin_(cosplay),0\ndog_treat,0\nfishcoooo,1\nsmol_fauna,4\nkeyliom,1\nlovelyme,1\nmelkcoffee,1\ncamouflage_cloak,0\nshang_bu_huan,4\nonna_shachou,4\ntokinohiyoko,1\nkmkm_panna,1\nyoyterra,1\numisea,0\nmianbaoren,1\naccessories_switch,0\nanime-tamae!_tensei_no_miko,3\naltrouge_brunestud,4\nnoko351,1\nnogiwa_kaede,1\nmutugorou_u,1\namai-pai,1\nmippei,1\nnite_airen,1\nshigure_(kemonomichi),4\nsanyuejiuri,1\nhenryk,4\nmarupon,1\nyosafire,4\nasanagi_aoi,1\nhizikit,1\nmg4_(survival_club)_(girls'_frontline),4\nbarnette_orangello,4\nshuuen_no_shiori_project,3\nnori_(arara105),1\nkushizukino_ayame,1\nx-kulon,1\ngingham_background,0\nhpapo,1\nsawaragi_kyouka,4\nblackspade,1\nshakti_kareen,4\nsky_focus,0\ngriffon_(monster_girl_encyclopedia),4\njuneplums,1\ntarkus,4\nsutee_(ripobita),1\nray_lovelock,4\nunconventional_gun,0\npopcornflakes,1\nchou-10cm-hou-chan_(fuyutsuki's),4\nexcharny,1\neast_coast_canuck,1\nfalling_money,0\nkeibleh,1\nkiichirou,1\nfurono_(fuloru),1\nkan-e-senna,4\nlanjiujiu,1\nsig_sauer_p239,0\nhalhal,1\nokada_izou_(third_ascension)_(fate),4\nmaionese,1\nnarisawa_naruo,1\nmako_(eogks),4\ngarakuta_(garakuta_no_gomibako),1\nsam_(totally_spies),4\nmakino,1\nfridaynightcat,1\nkeykey117117,1\ntipsytrains,1\nlet,1\ntamai_shiina,4\nmosamune,1\nbordeaux_black_(voice_actor),1\nkaosu_(silverworld),1\nqueen_of_clubs,0\nbusiness,0\nmorros,1\nyatsuhashi_(pekemiddle),1\nbeltorchika_irma,4\ncomic_koh,3\ntenma_kenzou,4\nerio_patrol,1\nmr_yheu,1\nlily_(houtengeki),4\ndictionary,0\nokusama_ga_seito_kaichou!,3\nshio_midori,1\nqu_(punishing:_gray_raven),4\nnijuuni,1\nhishida_haru,4\nmatsuri_(princess_connect!),4\nastolfo_(sailor_paladin)_(fate)_(cosplay),0\nichimonji_kei,1\namamiya_(re-amamiya),1\nredamon,1\npower_suit_(metroid),0\nhoukago_no_senpai,3\ncyberdemon_no3,1\nsmol_ina,4\nxia_ekavira,4\nkeyyan,1\nroamingtuna,1\nmaumaou,1\nnanahoshi_milily,4\nhtk_mikan,1\nl_aciel,1\nbaked_potato,0\nlasgun,0\nmilyu,1\ncappccino,1\nasaya-bigun,1\nmarina_(pokemon),4\nliely,1\nkanuka_clancy,4\ncanned_tuna,0\nwata_ramune,1\nchaser_(warship_girls_r),4\ngyaku_oudou,3\ndace_(azur_lane),4\nkenbu_(kyoukai_senki),4\ncu_chulainn_alter_(curruid_coinchenn)_(fate),4\ntaro._(tataroro_1),1\ngeyser,0\nmurairamuraiari,1\nbhm,1\ndakikano,3\ntandem_bicycle,0\nsha_(nz2),1\ntobiuo_(62masa62),1\nkometa_virtual_live,3\npeyton_gee,1\nnemu_kotatsu,1\nnintendo_3ds_ll,0\nkay_(kf1n3),1\npokeblock,0\nhaguhagu_(19448514),1\nphares,1\nrakuen_(nethvn),1\nalcremie_(ruby_cream),4\nnegative_frames,3\nshirota_(takoyaki_110721),1\nizumi_(walnov),1\npuzzle_(vocaloid),3\narcher_(modern_black_costume)_(fate),4\npatient_zero,1\nbrandon_(pokemon),4\ntokimeki_general_girls_x,3\nkazuta_(kazutan62),1\nmischief_witch,4\nryoushin_no_shakkin,3\ngod_razor,1\noishi_(psycho-pass),4\nchanms,1\nitou_masanori,1\nblackcony,1\nwalker_gallia,4\nwamizu,1\nrizu033,1\ngoat_alter_(narane),4\neagle_(azur_lane),4\nkage_(ka_9e_4su),1\nxiao_lu,1\nkamo_0707,1\ntokujo-chan,4\nno_scarf,0\nkyler_(sweethex),4\ncapacitor,0\nntw-20_(xmas_reindeer)_(girls'_frontline),4\nkoyomiyoko_o,1\nuha,1\ninvisible_wanwan'o,1\nouka_(yama),1\nazarasi_haru,1\ncamouflage_background,0\ntanzhujiuyue,1\nakumey,1\nnecktie_on_mouth,0\nholding_mistletoe,0\ngorgeous_takarada,1\nhibino_matsuri,4\naigami_kaon,4\nangrykuma,1\nkurabe_juurou,4\ndollyly21,1\ngenie_(aladdin),4\ntodoroki_rei,4\nscw_(girls'_frontline),4\nobanana_(ahap7438),1\ntransformers:_revenge_of_the_fallen,3\nimuneko,1\nyan_(yan_36k),1\ntoiku,1\ncathy_(yu-gi-oh!),4\ntornadus_(therian),4\nhpknight,1\nelita_one,4\ngreen_smoke,0\nmokki_(smtkmokki),1\nkeisenko,4\nezume_(rosehip),1\nsiwan_yuan_(4oooomanyen),1\nvenom_snake_(cosplay),0\nziu,1\nryoga,1\nfruit_hair_ornament,0\nzap,1\nkitano_sora,4\nikemoto1001,1\nraise_a_suilen,0\nblack_hair_twintail_girl_(ichiki_1),4\ntoyota_karina,4\nidw_(cat_in_the_box)_(girls'_frontline),4\nnymph_(last_origin),4\nguren_seiten,4\nzhuo_ying,1\nbordeaux_(girls_und_panzer),4\nhorror_cat,1\nkokotendon,1\nfly_tutu,1\nmiin_(toukotouya),1\ntakezuchi,1\ntsubasansan,1\nokiura_mizuki,4\ncliff_(pokemon),4\nusas-12,0\ntakanashi_iori_(ichiyou_moka),4\nshidou_(x_2903),1\nhokke_(fryinghokke),1\nmokuzou_(mokumokuzo),1\nblack_chemise,0\ngurekoguriko,1\nmomosiro,1\ndahlia_(rune_factory),4\nzoids_wild,3\neve_(alchemy_stars),4\npancake_nun_(diva),4\nsye-,1\nzhu_(nitamagr),1\nodennoden,1\nboomslang_(kemono_friends),4\nmalin_falch,1\nelphe,1\nmotherboard,0\nnolan,1\nkaneko_ryou,1\nyu-no,4\nakira_kira,1\nzizizy,1\nfelix_(golden_sun),4\nthecovertgarden,1\niroidori4422,1\nluna_(unsomnus),4\ndaitarn_3,4\nisrafel,4\ntonari_no_jk_ni_odosarete_iribitararetemasu,3\nsnek_(terupancake),4\nnatsuiro_kokoro_log,3\ncafe_cuties_gwen,4\nleenvidia,1\ndegu_(kemono_friends),4\ntrashcan_lid,0\ngokushufudou,3\nsyringe_in_head,0\nalicuu_girls_maximum:_bahamut,3\nshi0n_krbn,1\ntanpaku-chan,1\nsuper_sailor_venus_(stars),4\nhara_yumi,4\noimo_imoo,1\naleste,3\nsaturday_night_live,3\nda-mii,1\narpiel,3\nsumeragi_subaru,4\noreazu,1\nleomon32,1\nmasai_no_senshi,1\nhunnyamai,1\nkinakonato,1\ntakamiya_mio,4\njet_jaguar,4\nnikuo_(29niku),1\nneginegio,1\nyueye_(blbl-y),1\nstremitelny_(azur_lane),4\nlilia_(king's_raid),4\ncheckered_neckerchief,0\nkae_(suguri),4\ncampaign_hat,0\nhell_and_heaven,0\nabimaru,1\nchunhwei_lee,1\nsoresaki,1\nteam_flare_uniform,0\nbigroll,1\nmizuya_chiharu,1\ncasey_(pokemon),4\nhaconeri,1\nhero's_shade,4\ninubana_jiruno,1\nbuzz_lightyear,4\nusu32,1\nxtransceiver,0\nmadara6k,1\narachne_boy,0\nmito_soosu,1\nolverse,3\nmoyashi_(oekaki_touhou),1\nfran_690,1\nshin_getter_robo_vs_neo_getter_robo,3\ngm_orangeade,4\nmyomu,1\nmushoku_loli_(character),4\nf.a.n.g,4\nbongo_drums,0\nikashun,1\nsuzuna_(fkpw5754),1\nwater_stone,0\nsnow_on_headwear,0\nmori_(pepekataokapepe),1\nkusanagi_yuuri,1\nggim_(kdnx8758),1\nheavy_meta-ko,4\nyellow_temperance,4\nesty_erhard,4\ndodari,1\nwamosukeda,1\nurasoe_(oshiro_project),4\nmikan_riji,1\nvesta_zc,1\nkahiika,1\npole_vault,0\nli_se,1\ncordula_(okame_nin),4\nanime_tenchou,3\nrick_astley,4\nshiny_forehead,0\njuiceneko,1\nnininbaori,0\nonoe_junki,1\ntsuyuri_(doujin_work),4\ntommy_oliver,4\nfinch,0\njdpr,1\nsumima,1\nlemonolemone,1\namatsuka_kosame,4\ntyasuzu,1\nlemontansan,1\nsame-hada,0\nmarik_(artist),1\nbrowning_auto_5,0\nmorinozuka_takashi,4\nin_net,0\ndemon_days_(gorillaz),3\nhayase_kouichi,4\nrain_(regen),1\npang_(sdorica),4\niseshima_aya,4\nwang-sensei,4\njorouyome-chan,4\nryopie,1\ndclaret,1\nremi_altava,4\nyukino_aguria,4\nhakui_(b600723),1\nnagihara_suzuna,4\nbloopiest,1\ngyokudama_(niku),1\nvk16.02_leopard_(ash_arms),4\noliver_koito,1\ntakao_kazunari,4\nnioh_2,3\ndoroshii,1\nkikyou_kiri,4\nkoga_taiga,1\ndiverdiva,0\nsatou_kazuma_(cosplay),0\nkuori_chimaki,1\nmutual_penetration,0\nzeroblood,1\nbaikinman,4\nwormadam_(trash),4\na_k_i,1\nladybird8n,1\nhaaru,1\njiaoshoutongxue,1\nglaug,4\nstarhump,1\nironing,0\nblondynkitezgraja,1\narrow_(en'en_no_shouboutai),4\napocalypse_now,3\nemojo,1\nmugyaclan,1\nsix_of_hearts,0\nbowser_peach,4\nhibanachiku,1\nfive_of_diamonds,0\nrasukii_(pamiton),1\nnirareba,1\nhokuro-chan_(tawawa),4\ntakarai_yua,4\nvirginia_glynnberets,4\nnya-c,1\ntadase_kairi,4\nkemonono_(inchiki_dou),1\ntsuruya_(l_re10_l),1\nchloe_(srgrafo),4\ncorvisquire,4\nkako_(azur_lane),4\nerufa_(pixiv),1\nmyao_(jumca_my),1\nwriggle_day,0\nyachi_(fujiyasu0616),1\nprecum_pool,0\nyuuya_bridges,4\nshiratama_shima,1\nblush_response,1\nlight_tank,0\nenergy_axe,0\nbarraskewda,4\niwashita_akemi,4\nfutomashi,1\nmagisa,4\nwang_yi,4\nnitoni,1\nmorishige_misora,4\nkamichama_karin,3\nisumi_michiru,4\ntmk,1\nclovis_la_britannia,4\nhuiro,1\nhattori_kiriko,4\ncard_creature,0\ngl_ztoh,1\nyukisa,1\nemaan,4\nkamen_rider_the_first,3\noli,1\nmifumi_takafumi,1\nmizumiyako,1\nz_(knkr1025),1\nshukketsubo,3\ncater_(fft-0),4\nisezaki_eri,4\nniwakaike,1\nmay_harvey,4\npineapple_(a30930s),1\n16_(0xhsk16),1\nkanasuke,1\nyamipika,1\nseath_the_scaleless,4\nreycal,4\ngelbooru,3\nazumi_on,1\ntemple_(artist),1\nmi-sya,1\nesmeralda_(mawaru_penguindrum),4\ntsan_dire,4\nsakuhou3390,1\nrubia_natwick,4\nmarta,4\narcherfish_(azur_lane),4\nnoroi_no_megane_(vocaloid),3\nkunugi_ayano,4\nriel,4\ntakuto_kira_(cat),4\nane_doki,3\nkunieda_aoi,4\nneo_geo_pocket_color,0\nfu_r_y,1\nnerf_gun,0\ncarrying_clothes,0\nsuga_koharu,1\nf.l.c.,1\narchangel_gabriel,4\npunpun,1\nmasaki_andoh,4\ncaterpillar_(artist),1\ncoupytwo,1\nbible_black_gaiden,3\nmutsuki_yui,1\nfighter_(dq3)_(cosplay),0\ncoco3186,1\norange_(moekibarasensei),1\narcturus,3\nshamu,4\nutahoshi_kengo,4\n81diver,3\nkoma_(remi_398),1\nterra_(dc),4\nmo-mo-ride,1\ntakimiya_kazutaka,1\nvaleria,4\nsocha_(pixiv99744),1\nhashimoto,1\nsuruga_kasune,1\nmeru_(dragoon),4\nmachahiro_(shiitake),1\nchocolate_misu_(cosplay),0\nvanitas_(vanitas_no_carte),4\nrindou_rinna,4\ngrassy,0\ntomone,1\nsuper_doll_licca-chan,3\nlilya_kyomi_(fiwivt),4\nnanban_teishoku,1\niwa_(alpaca_oukoku),1\nseo_hyesung,4\nnama_(namaiki),1\ntiihatanono,1\nhamutarou,1\nmoriya_marie,4\njohanna_wiese,4\nrikko_(jellyberry),1\nmagna_carta_2,3\ntamo_imai,1\nstranger_mukou_hadan,3\nmotida,1\nnanako_kaitai_shinsho,3\nkosmosshuffle,1\nlithiumia,1\nsep,4\nuto_uto,1\nyohi,1\nkamo_noritoshi,4\nakaname-san,4\nsodeya_itsuki,1\nterun,1\nlic_(licloud28),1\ntsuru_hiromi,4\nfant,1\nwakami_shion,4\naqua_sash,0\nsnake_charmer,0\naozane,1\nfujiya,3\nbizarro,0\nsuzumi_atsushi,1\nklamp,1\nenmto,1\nhirokawa,1\nv2_assault-buster_gundam,4\nhis_master's_voice,3\nhikouseki,0\nonohana,1\nakizuki_airi,4\nwagaya_no_liliana-san,3\nliliana_(wagaya_no_liliana-san),4\nsamurai10932,1\naki_shizuha_(cosplay),0\nkingindou_yumeji,1\ncika_k,1\nkannagi_ayano,4\nkamu_(camui),1\nsagami_(aikodesyo),1\narioto,1\nshiraishi_mako,4\nkirimochi,1\ntsukioka_misasa,4\ntakasaki_mako,1\nblack_dahlia,4\nm-ma,1\nweltall,4\nkameo,4\ntamatama,3\nmarasai,4\nscarlet_desires,1\nlas_vegas,0\nyumegi_atsuki,1\nmatsuno_susumu,1\nmasamurai,1\nmizuki_chika,1\nprima,4\ntoken_black,4\nmarjorine,4\nsophia_(front_innocent),4\nanavel_gato,4\ntsukuyomi_(kamikimi),4\nwoman_with_a_parasol,3\ndyuba000,1\nhimenomiya_kaguya,4\ngm_sniper_ii,4\nousuki_konome,4\nedelweiss_(wsparkz),1\nnamatame_tarou,4\nshiotan,1\nboar_costume,0\nliselsia_cesarini,4\narietta_fine,4\nauauun,1\nstudio_ring,3\noui,4\nsaki_(oneechanbara),4\nelena_stoddart,4\ncaptainosaka,1\nmarie_marigold,4\narden_(fire_emblem),4\ntourin_fuwa,1\nkomiya_yuuta,1\nhazuki_ruka,1\nsetter_(seven_stars),1\ngel_banana,0\nsakata3,1\ntwinbell,1\naegis_gundam,4\nmega_aggron,4\nyamada_eiji,4\nhawkeye_(fire_emblem),4\nriita_iga,1\nsumachii,1\naphex_twin,3\nsukumizu_2,3\nyazoo,4\nichiko,1\nnobi_tamako,4\ngrand_knights_history,3\nninny-world,1\nconstance_magee,4\nzoma,4\nhimano_(artist),1\nkururu_(princess_witches),4\nworld_(magical_drop),4\nsahara_jun,4\nraizou,1\nsigning,0\nyamada_3,1\nmorisaki_hichimi,1\nbakuryuu_sentai_abaranger,3\nturing_(gyee),4\nsuya000,1\nricarla_borgnine,4\ndevil_jin,4\nkaz_(kaz323),1\ndragon_(trickster),4\nwakky,1\nalicia_(pop'n_music),4\nlace-up_gloves,0\nsarisa_highwind_tycoon,4\noumi_megumi,4\narc_(ff3),4\nnegoro_shuujirou,1\nmega_man_6,3\nkokido,1\ncidolfus_orlandeau,4\ninagata,1\namakara_twins,3\ntella,4\nodawara,1\nadelheid_bernstein,4\ngenesis_rhapsodos,4\nfunbuns,0\njoey_(lilinjunyi),1\nkensuke_creations,1\nfauna,4\nlanding_craft,0\nnina_matsumoto,1\nmervamon,4\ninspecting,0\nhelmina_lent,4\ntsurukame_(mihomi),1\nkurohime,4\nhirohana_yukiko,4\nyamabuki_sayuki,4\njournal,0\nunlimited_saga,3\nokamocheese,1\nxo160,1\naugust_soft,3\njimmy_valmer,4\nnejimaki_kagyuu,3\nmaria_ross,4\nhair_chair,0\npappappao,1\nred_sonja_(comics),3\nalphonse_heiderich,4\n6-k-i-7,1\ncanadawbd,1\nhimekawa_fuuka,4\nhochikisu,1\ndrias,1\nhitotsukane_yuuko_olivia,4\neba,1\nlakuhito,1\nrao_ruki,1\nannie_(saga_frontier),4\nhotarubi,4\nallison_&_lillia,3\nmineji,1\nagnes_chevalier_de_milan,4\nnicole_mimi_tithel,4\nclover_(totally_spies),4\nwatanabe_mayumi,1\nubox,1\nkae_(artist),1\ndeden,1\nharuiro_ouse,3\nflora_beast_(disgaea),4\nhesuke,1\nfujimori_mikan,1\nbubblegum_crisis_2040,3\nshana_(cosplay),0\ntrip_dancer,3\nkuonji_yume,4\nyabai,4\np.k.,1\nsummon_night_swordcraft_story_2,3\nyamada_taeko,4\nbloodrayne,4\nd'eon_de_beaumont,4\nnagi_springfield,4\nhitoyume,3\nara_pengin,1\nrpg_gakuen,3\nkikuchi_yume,4\ntouji_no_sato,3\nwatanuki_hibiki,4\neushully,3\nnorton,4\nnaomi_hunter,4\nninpuu_sentai_hurricanger,3\nayase_touka_(piromizu),4\nfuurin_sou,1\nkaworu_(1030),1\nre:zero_kara_kasaneru_isekai_seikatsu,3\nunizuma_eleven,1\nonly_you,3\nplastic_little,3\nvelox,1\nyayuyoron,1\nsuzuki_mirei,4\nbanjo_(technistep),1\nmutsuya,1\notokawa_saori,4\nneumann_ku_100,0\nrinka_(ruuku),4\nminior_(meteor),4\nluserina_barows,4\nheus_(nuntarou),1\njacques_de_molay_(saber)_(fate),4\nheitian_keji,1\ntora_(net1nen),1\nmameshiba_(character),4\nblue_veil,0\nemilia_(yu-gi-oh!),4\nfujinami_tomoko,4\necchi_nano_wa_ikenai_to_omoimasu,0\nsakenomi_akane,1\nsapphirez39,1\notonashi_amane,4\nbitch_hime,3\nkyuubiness,1\nhagure_tanishi,1\nmarl35,1\nanyueh,1\nin'youchuu_shoku,3\nham_(eikasiahhh),1\nkurashima_nagisa,4\nkesuno,1\nueda_yuu,1\nhige_(yosemite),1\nkazemal,1\nhypoxis,1\nheki_(axis),1\nso-on,1\nprincess_mercury,4\ngabo,4\ntachibana_(suterii),4\nmotti_(motthi0711),1\nangel_salvia,4\nkurusu_alexandra,4\nrexfaxsex,1\nlukas_thadeu,1\ntakashi_(harukasaigusa),1\nyazawa_nico's_mother,4\nren_wu_ying,4\nyizhibao,1\npalbo_(hshhhh321),1\nmatori_(pokemon),4\nzet_(globalgears),1\naoiyui,1\nmegalateo,1\npanties_under_bloomers,0\nkeibeam,1\nopera_the_vermelho,4\nholographic_horns,0\ngirls_book_maker_~grimm_to_sannin_no_ohime-sama~,3\nyoyohachi,1\nsofthanten,1\nyaminabe_(honnouji_no_kaninabe),1\nshironagasu-tou_e_no_kikan,3\nshiki_kyouzoku,1\nyhorm_the_giant,4\nyakuoyoso,1\nsmolly_poli,1\nnatsu_ga_owaru_made,3\nizumo_saki,4\nrori_(artist),1\nnight_vision,0\nyasaka_(high_school_dxd),4\nbocchi_the_rock!,3\nahoge_removed,0\nmomota_ro5555,1\nvertical-striped_bodysuit,0\ndokidoki_yandemic,3\ncum_on_underside,0\ndiscowars,1\njuno_(pixiv32541104),1\ntohno_motosumi,4\nmanannan_mac_lir_(second_ascension)_(fate),4\nzenji029,1\nringo_(soul_hackers_2),4\nyokkest,1\nheka=ton,1\nash_sarai,4\naleth,1\nnixie_(rabi_ribi),4\nbandaged_ankle,0\nthrowing_money,0\nzeiss,1\ndemia_duodectet,4\nitalia_mondial,0\nfur-trimmed_robe,0\nsleigh_presty,4\nnaoto_kurogane,4\nkosian,1\nsulphur-crested_cockatoo,0\nrem_(hinotomi),1\nsakura_(yari_no_yuusha_no_yarinaoshi),4\nhsu1231,1\ntopgear,1\nanglerfish_dance,0\ncrabrawler,4\nkangbus,1\nzotari,1\ntakuan_(taku1219oekaki),1\nsuitokuin_tenmu,4\njinyu_lao_honglingjin,1\nobsidian_(houseki_no_kuni),4\n6fu_(11madhouse),1\nkaye_(blushyspicy),4\navrora_(shackled_saule)_(azur_lane),4\nkomachi_(gao_13),1\nsai_(idolmaster),0\npikachu_rock_star,4\nmeasuring_stick,0\nqueen_of_diamonds,0\nfutasan,1\npirukusu,1\nmetal_sand,0\ntamaki_(summer)_(princess_connect!),4\ndamarinasai_(mineo),1\nkumomachi,1\nfatima_betrorum,4\ngalar_mother,4\ncat_hoodie_girl_(tsubaki_tsubara),4\nseisou_fude_no_tabibito,3\nui97,1\nskullshatterer_(arknights),4\npyonko,4\ntensei_kyuuketsuki_san_wa_ohirune_ga_shitai,3\nluna_11777,1\nkoyemshi,4\nalpha_(katz332),1\ntorion_hei,0\nlaurell_weinder,4\nafro_(kngotezo),1\nstandard_manufacturing_dp-12,0\nyukimi_(poco),4\nprincess_princess,3\nremitei03,1\ngunbam_sonyeon,1\nkonowa_(kakumei),1\nwatsuji_aya,4\nraikou104,1\nfl_(l-fl),1\nplugg_(kirby),4\nsaiba_mirai,4\ngigantamax_duraludon,4\ndenney_(sukeru_ramune),1\nmaou_gakuen_no_hangyakusha_~_jinruihatsu_no_maou_kouho_kenzoku_shoujo_to_ouza_o_mezashite_nariagaru_~,3\nmihanada_kanata,1\nriinougat,1\npuni_y_y,1\ninvasion_stripes,0\nrrr_ato,1\nchupirinko,1\nho_(h_k_white),1\nlin_(user_uzmw2535),1\nmoeroknight,1\npechi_(peeechika),1\nshymiruku,1\ndemorzel,1\namayado_rei,4\nonaji_class_no_idol-san._around_me_is_full_by_a_celebrity.,3\nclitoris_sleeve,0\nocarinaotw,1\nglove_spread,0\nkokorone=pendulum!,3\nerdrick's_sword,0\nnanase_yuu,4\nmanichi,1\ndelinquent_(pokemon),4\nsaionji_leo,4\nbisexual_flag,0\nhaiumore,1\ntenma-gav,1\nmizunototori,1\nginban_kaleidoscope,3\nkurokami_yuuya,1\nhoncha,1\ntobias_leviathan,1\njill_stingray_(cosplay),0\ngwendolyn_(fire_emblem),4\ngunter_(fire_emblem),4\nmizushima_kasumi,4\nkarube_guri,1\nem8er,3\nshijiuqaq,1\nmereoleona_vermillion,4\nshikarii,1\nnanai_(ayinusu00),1\ncavalla_(azur_lane),4\nnightmare_(sinoalice),0\nai_(wakaba_iro_no_quartet),4\nmei-mei_(murenase!_shiiton_gakuen),4\nfly_(pokemon),0\nezel_the_king_of_fire_and_iron,4\ntowa_kiseki,4\ncrow's_nest,0\nakane_rose,1\nmarusa_(marugorikun),1\ngorirago,1\nchiffon_(chiruto),4\nfezat,1\nborchardt_c-93,0\na_ichi,1\nyamashita_(ueno-san_wa_bukiyou),4\nsaishuu_shiken_kujira,3\nmariero_(mariello),1\nlidia_(damegane),4\ngantan,1\neva_smith,1\nfalcom_(neptune_series),4\nakiyoshi_fuyuka,4\ncontest_button,0\ntenkuubashi_aika,4\nnyagi,1\ntsukimi_(pan_(mimi)),4\nsegawa_akane,4\nholding_hourglass,0\nmary_(marota),4\nseitokaichou_(seitokaichou_to_sayono-kun),4\nurban_camouflage,0\nnukki,1\nnovadada,1\npuckjjick_(belbesi19),1\ndanial,1\nsilver_sleeves,0\nfair-chan,4\nohno,1\nroche_(p&d),4\nbananannu,1\ndr._white_(wet.elephant),4\nuehara_(dormmmmir_),1\nkurokishi_to_shiro_no_maou,3\nkhaliqa_bell,1\nnekokoneko,4\nfallen_angel_(untsue),4\nshift_car,0\noxstar,1\ntachibana_kazumi,1\nsaito_(pigrank),1\niku_kurumi,4\nharuna_miyabi,1\naudrey_belrose,4\njessie_maye,4\nfuckin'_hot_(kuso_atsui),0\ncat-quest-sun,1\nshrimqsleeq,1\naliori_haberi,4\nyanows,1\nkuro-ra,1\nlancer-tan,4\nmegu_usagi,1\nnio_(einhorn),1\ntoudou_takatora_(sengoku_bushouki_muramasa),4\naoyama-kun_(penguin_highway),4\nacura_(gunvolt),4\nkosori_(dennoukitan),1\ncure_mirage,4\nkuneru_marta,3\npollity,1\ntyrea_(xenoblade),4\nink_(pixiv25450915),1\nkarasunomiya_asuka,4\ncampanella_(ginga_tetsudou_no_yoru),4\nkurosiro,1\nhoney_(norasuko),4\nhelena_adams,4\nrue_(dewprism),4\ndist_(tales),4\ndefect_mogeko,4\nraji_(aranmax),1\naegis_(persona)_(cosplay),0\ngeorge_kurai,4\npuka_(wild_arms),4\nkazami_nobuko,4\ndarknessukaru,1\ntakami_(manda),1\nousaka_sora,4\nginjoo_(ginjo_1116),1\nwboss,1\nhijikata_(shiromanta),4\noosaka_hierou,1\nsagami_fuu,4\nayakashibito,3\naorkgk,1\nmale_healer_(disgaea),4\nakatsuki_no_guuru,1\nhei_tong_shi,1\nkoyasu_kazu,1\nsha-pei_sahei,1\ntoujou_shufu,1\ngo_yasukuni,1\njas_(kda10457),1\nmyon_rio,1\nshimakaze_(world's_speediest_bunny_waitress)_(azur_lane),4\nyamamura_miwa,4\nkansen_(series),3\nharu_hikoya,1\ntatu,3\nq-pra,1\nyueyue,1\nbell_mha,1\nfull_metal_panic!_invisible_victory,3\nrin5325,1\nulith_(wixoss),4\ndoumyouji_haruto,4\nmariano_(fairy_fencer_f),4\niji_(u_mayday),1\naruto2498,1\nbullet_line,0\nkijipoko,1\nharuno_sora,4\ntedeza_rize_(cosplay),0\nja-punkster,1\nlocomon,1\nhibara_eiko,4\nhonda_(mtp),1\nmaru-chan,4\nnipeira,1\nigniculus,4\nbane_(haibanemumi),1\nbrick_oven,0\ntachibana_kana,4\nharegi,0\nyeedee,1\ndryad_(terraria),4\nflatbed_truck,0\ntamo_(nama-yatsuhashi),1\nanohito_(tokumei),1\nujimatsu_chiya_(cosplay),0\njulius_monrey,4\ncyborg-san_(sage_(mami1210)),4\nkatsuki_tsubasa,4\nhayate_(doa),4\nsaionji_makoto,4\nshii_(seaside720),1\nlotte_(madoka_magica),4\nmetto,1\nyuki_(sumaburalove),1\nkagura_(ressha_sentai_toqger),4\nkyoshincats,1\ncharles_caron,4\nramudayajirushi,1\nhercequary,3\nyusa_aoi_(kazoku_game),4\nchikuwabu_(yokowokazuaki),1\nsasami_(hallo),1\nduck_hood,0\ncpro,1\njk-ff,1\ndino_(trexsilence),1\ntetsukado_shin,4\ndiarrhea,0\nmorino_mizu,1\ngeb_(stand),4\nluna_(dota),4\nmonogo,1\ncocoda,1\nmouri_kazuaki,1\nmazinkaiser_skl,3\nmemi_(asa_no_ha),4\nzelc-face,1\nalchemist_(company),3\nsu_(noonrema),1\nlinnkou,1\nzinnia_silane,4\nduralu500,1\nhakurai_reika,4\ntensou_sentai_goseiger,3\nmomoayamo,1\nbat_(coumori),1\nflywinga7,1\nmashitono_desu,1\nakiyama_shun,4\ncomiket_72,3\nstealthmaria,1\nshintou,1\nnew_york_city_police_department,0\nsengoku_kiyosumi,4\ndouble_flare_skirt_one-piece,0\ndriselle_sharil,4\nnami_nami_nami,1\nai_(warekaku),1\niwakura_kazunori,1\ndeilrimix,1\nyamazaki_rin,4\nsherlock_(bbc),3\nsatoumizu_(j5xsyd9jk),1\nkonno_(genshiken),4\nhebinuma,1\nharuharu55,1\nitoguchi_(manma_melon),1\ngaius_worzel,4\nlegal_high,3\nstar_platinum_(cosplay),0\ndouraku_utage,4\neasily,1\nima_(minitomato123),1\nelnie_tachibana,4\neve_(mythology),4\npolskash,1\nwilliam_ruzicka,1\nrolling_vistamp,0\nshirt_basket,0\nguntank_(guriko),1\nnoronosuke,1\ntakase_shin'ya,1\ncure_lovely_(cosplay),0\nmachinicalis,1\nstar_build_strike_gundam,4\nlove_love_life,3\nhans_(senjou_no_valkyria),4\nhakuu_kanaka,1\nguido_(sucurapu),1\nnobunaga_the_fool,3\nrosa_(fuu'un),4\nhiedanotsukai,1\nalice_jing,1\nkatsura_kotetsu,4\nmidi_hazapero,1\nkokeshi_ya,1\nnote_(hikahikamahiru),1\ntenbin_no_la_dea_~ikusa_megami_memoria~,3\nitsumi1021,1\nkona_(silent913),1\nrokuromi,1\nsauro_dante,4\nfiliananna,1\nprint_bandaid,0\nnonbiri_jirou,1\nghost_(ghost528),1\nharapekopikachu,1\naya_(sabaneko),1\nbishoujo_senshi_sailor_moon_another_story,3\nogawa_misaki,4\nousawa_yayoi,1\nsleepsack,0\nmisaki_kyouko_(suchie-pai),4\nakino_(christmas)_(princess_connect!),4\nsatou_yoshimi,4\nslapping_penis,0\nhuffing,0\nstyrofoam,0\nturma_da_monica,3\nteshima_noriko,1\nasagiri_no_miko,3\nshin_kamen_rider_prologue,3\nmin,1\nakibotann,1\nhapoa,1\nryuka,1\nmikiki,1\nmmr_magazine_mystery_chousa_han,3\njinguu_maya,4\nteitoku,1\nbella_(dq5),4\nnier_(old),4\nvoc,1\npakisu-tan,4\nprincess_holiday,3\ntatsuta_rindou,4\nkamen_rider_gills,4\nnicoloso_da_recco_(azur_lane),4\ntiger_tattoo,0\nwroggi_(armor),4\nkanon_(ghost_trick),4\ngasaraki,3\nzubi_(skylinezb),1\nusagihop,1\nasahi_haru,1\nlegs_back,0\nswordsman_2_(sekaiju_4),4\nmogy88428,1\ntennis_skirt,0\nkazuha_(ichiwa),1\nsteve_fox,4\ne.de.n,1\nmaydream,1\nrune_factory_2,3\nnick300,1\nhibiki_ao,4\nzerion,1\nchiba_yuudai,4\nstreet_dog,1\nsiren_(xenoblade),4\nyurameku_kokoro_ni_michita_sekai_de_kimi_no_yume_to_yokubou_wa_kanau_ka,3\nkagaya_(oshiriudon),1\nemi_(fizintine),4\nshailiar,1\ncat_symbol,0\nchi_zu_crazy,1\nyun_(outsidey),1\nyukimi_ai_risu,1\nlila_(najica),4\npara_sitism,1\ntsunosame,1\nyukisaki_miale,1\nmidna01,1\ncasting_couch,0\ngenjitsu_shugi_yuusha_no_oukoku_saikenki,3\neurasian_lynx_(kemono_friends),4\nhamericano,1\ndetec_bell,4\nratatoskr_(monster_girl_encyclopedia),4\numekichi_(unbalance),4\nsam_delatore,1\nshimuro_(mentsukidou),1\nken_hayasaka,1\nashi_(samurai_jack),4\ndemya_dalliante,4\nlia_marin,1\nmatsufusa_ema,4\nelsam_(granblue_fantasy),4\nflehmen_response,0\ntsuki_ga_kirei,3\nnogitatsu,1\nnerima_(neconicoban),1\nkasahara_tetsurou,1\nshunki,1\nanne_petriceani,4\nkomori_aimi,4\nhakutaku_(granblue_fantasy),4\nyadokari_(yadokani),1\ntabigarasu_(mahjong_yuugen_gaisha_58),1\nmotoasako,1\nand_rira,1\nmu_yan,1\nmorpheus_(milk_tea-ya),1\nharu_(amagamido),4\nserruria_(flower_knight_girl),4\nkonomi_(yappen),4\nhair_fan,0\nhayanse,1\nmetroid:_samus_returns,3\nrosa_cossette_d'elise,4\nmucchiri_shiitake,1\nkazuki_seto,1\nmilktower,1\nterebi-,1\ncz_scorpion_evo_3,0\nmusical_note-shaped_pupils,0\nsuzuki_(cookie),4\nhamitamako,1\ndapple_dualies_(splatoon),0\nkim_han_seul,1\nyouichi_(45_01),1\ndai_fuku,1\nu-4989,4\nshinkami_hiroki,1\nfugaku_(fugaku22),1\nksartworks,1\nisaroishin,1\nraisun,1\nprotagonist_(romancing_saga_2),4\nrubill,1\nbattle_principal_yuumi,4\nidol_show_time,3\necho_(pandora_hearts),4\nroxie_(skullgirls),4\nakagi_(azur_lane)_(cosplay),0\nniwa_ryouka,4\ncamouflage_footwear,0\nsaikyou_mahoushi_no_inton_keikaku,3\nyuurei447,1\njasmine_(flower),0\ntakanoriha_kasui,1\nayanami_(azur_lane)_(cosplay),0\nargentinosaurus,0\nshinonome_tsukasa,1\nnoasa,1\naulick_(azur_lane),4\nbakadebiru,1\nkanikaniland,1\ncure_waffle,4\njersey_(azur_lane),4\namane_tsukasa,4\nmordred_(granblue_fantasy),4\nbroken_handcuffs,0\naqua_buruma,0\nkaguya_(force_of_will),4\narashigaoka_academy_uniform,0\ntan_(kiriya0752),1\nkouryou_academy_uniform,0\nblue_wildebeest_(kemono_friends),4\ntamak_rui,1\nblack_killers_(phantom_of_the_kill),4\nsakuragi_kurumi,1\nheru_(totoben),1\nspotted_skunk_(kemono_friends),4\nhibi_(grangcat),1\ndead_rising_2,3\nharukanaru_toki_no_naka_de_2,3\nshirufana,4\nkubooka_toshiyuki,1\nnunua,1\ncusozee,1\nshiratori_yuriko,4\nkadokeshi,1\nsemaphore_flags,0\njuu_ho,1\n64_(xfour),1\nmathuri,1\njoy_(joy-max),1\nbisuko_(bisco_mm),1\nakasaka_shop,1\nraptias,4\naxis04,1\nophelia_(elsword),4\ntakanon_(nekomaruya),1\nmint_clark,4\nniou_kaoru,1\nmamono_musume-tachi_to_no_rakuen_~slime_&_scylla~,3\nk.c,1\nnoa_(meing),1\nibanez,0\nhimuro_tatsuya,4\nselene_(dragon's_dogma),4\nblack_cat_(elona),4\nmusicalcombusken,1\nyukanomokume,1\nzaogao_xiaotu,1\ndirk_strider,4\nshuffle!_memories,3\nmiwa_ai,4\ntakahashi_ryuunosuke,1\ntake5321,1\nflavia_(fire_emblem),4\nsigemi,1\nchikurin_(sasamori_tomoe),4\name-kan,1\nmerli_(vocaloid),4\nhonda_s2000,0\nkanda_sorata,4\nhoshizora_hiroshi,4\ngale_(dds),4\nkimohiko,1\nseki_toshinari,4\nsig_(sfried),1\ntodoroki_suyoshi,1\ntsucaco,1\nblackmoon,1\njinpou_anne,4\nzenseava,1\npumpkin-crazy,1\nasahina_satoru,4\naonuma_shun,4\ntnaym,1\nmomobako,4\ngoya_(team_harenchi),1\nmichael_casteel,1\nhenry1025,1\naho_manten,1\nizatama,1\nshinobu_(kobanatu),1\nlipe-san,1\nnakedgeneral,1\nkurosawa_itsuki,1\nturenne,4\nshun_(nikoru555),1\nmisyagu,1\ngutter,0\ntorafuji_nagi,4\namamiya_kaoruko,4\nhakutakuanta,1\nrayu,1\ncello_case,0\nkkkkt,1\nsakuno_shion,1\nharu_(calipur),1\nk@ito90p,1\nhu58013901,1\ngeena_preddy,4\njitan777,1\nnise_maou_kikaizeru,4\nmasato_ayame,1\nejaeli_(granblue_fantasy),4\nasus,0\nsilvia_lautreamont,4\nfelpurr,4\nyamawaku,1\nterada_katsuya,1\nrucksack,0\nparimu,1\npairon,4\nhoritomo,1\nuta_(semimaru),1\nhimejima_kinoko,4\numibouzu_(gintama),4\ndeadmoon_(kein2002),1\nblack_n_12,1\nleona_ardealescu,4\nmoonshiner,3\nooku,1\nsoyaka,1\ntelephone_number,0\nnagae_iku_(fish),4\nstirring_rod,0\nhoukago_saikoro_club,3\ntomineko_(tomineko_p),1\nshiro_(maple_syrup9),1\nsprinkler_(splatoon),0\nbamboozler_14_(splatoon),0\niiwake,1\nhinako_(teruki_kuma),4\niberis_(flower_knight_girl),4\nkunochai,1\nkitaminami,1\neugenia_beilschmidt,1\nborezet,1\nmorphe_(granblue_fantasy),4\nshirokuma_(reirako-reirako),1\nshiraishi_(tanakeda),4\nrlin,1\nmorakkyo_(mephilas_g3),1\nkanda_(squall-rinoa),1\naijin_(pageratta),4\nkinomoto_(nazonoinu),1\nines_(tachiagare!_orc-san),4\nluna_skylark,4\nhappamushi,1\nyashiro_yuuya,1\nsoushin_shoujo_matoi,3\nbittersweet_lulu,4\ndragon_quest_heroes_ii,3\nmk82_(hoonsyh),1\nanimal_pov,0\nmahha_warabi,1\ngoriraneesan,1\nsharpheon,1\nhisohiso_(altoblue),1\nsakasaki_natsume,4\n10cm_twin_high-angle_gun_mount,4\nyuda_(hokuto_no_ken),4\nakazukin_(mary_skelter),4\nalice_(mary_skelter),4\nkobutya4696,1\nrina_(canvas+garden),4\nrom_(romshiro),1\nyunita_(hallelujah),1\nshikapiro,1\nrono,1\narrow_hair_ornament,0\nmiyamoto_hikari,4\nblackwatch_reyes,4\ncash007,1\nmadan_(kkh8936),1\nayuria,4\nsunahi_arumi,1\npelisse,0\noobari_masami_(style),0\nken19941028,1\nyu-han_chen,1\nshiragiku1991,1\nmap_background,0\nmice_(sake_nomitai),1\ntiana_(the_princess_and_the_frog),4\nsonacia,1\ninnocentia,4\nhuan_(hao7551789),1\nsanta_alter_(cosplay),0\ncoco_(hinatacoco),1\nnatsuiro_koi_uta,3\nsantou_suihei,1\nmadarabunchow,1\ngen_(gen_m_gen),1\nspats_sansei,1\nyoarashi_inasa,4\nfuhikari,1\nsaitou_(ghost_in_the_shell),4\nnakano_elsa,1\navenger_(dungeon_and_fighter),4\nhenry_davis,1\nkinatsu_ship,1\naltera_(fate)_(cosplay),0\naaaaddddd,1\nartificial_world,3\nfumika_asano,1\nayyataka,1\nyorha,3\nrizihike,1\nbejili,1\neleaclarisse,1\nw0ru,1\ncafe_choco,1\nikoma_minami,4\nmasayan_(minor-ms),1\nsuper_robot_wars_l,3\ndaime_fusonzai,1\nmuusu,1\nhatsune_miku_(roshin_yuukai/nitamagomix),4\nwakita_piyosuke,1\neari_(shining_hearts),4\nibarahime_shizuka,4\nshuu_(shu-nm),1\ngiggles_(happy_tree_friends),4\niwatsuki,1\nsennen_joyuu,3\niinchou_(justice_gakuen),4\ncheungchz,1\nyui_(kanatamoo),1\nhototogisu,3\nenola_(ebanataw),1\ncellphone_display,0\ntatsumaki_senpuukyaku,0\naako,1\nepic_hair,0\nigarashi_aguri,1\ntooyama_midori,4\nyamabiko,0\ndarren,1\ntempyou_kango,1\nmootor,1\nlmo,1\nrooster_costume,0\nx_sanders_x,1\ninfamous,3\nbattlestar_galactica,3\ndavecavedraws,1\nmomiji_ayaka,4\netsuko_pkmn,1\nchicken_feet,0\npoptrt,1\nyukisuke_(user_gtmm7833),1\nmorumoru_(kuromrmr),1\nnanakusa_(hillwithstars),1\nagaa_(masatu),1\ndreyfos,1\nkara_(sam_yang),4\nindol,1\nmato.,1\neloseu_(haribochase),1\nmors_gn,1\nkaixuan_lushang,1\npina_(blue_archive),4\nlumda,1\nu-410_(azur_lane),4\nkiyohime_(fate)_(cosplay),0\nraine_(acke2445),1\narcher_class_(fate),4\nokuzora_kohaku,4\nshirochimaki,1\nsazanami_(kancolle)_(cosplay),0\ntri-brigade_kitt,4\ndanyo_(chung0226),1\nmessiah_&_crea,1\ntoryu_fufu,1\nhoshino_aquamarine,4\nthyrsus_(fire_emblem),0\ntashkent_(the_blue_snoozer)_(azur_lane),4\nmaze_draws,1\ntsuzura_amo,4\nslovak_cuvac,0\niris.exe_(mega_man),4\nsasabe_opika,1\nnekoyo_chloe,4\nshirayuki_(wind_of_breaking_blade)_(arknights),4\nsuke_81,1\ntachibana_hinata_(tokyo_revengers),4\nolder_edelfelt_sister_(fate),4\ntokai_teio_(umamusume)_(cosplay),0\nhieda_yawe,1\nfukumune_iria,4\nsendou_chika,4\nsusuki_(kutan),4\nlittle_lass_(ishiyumi),4\nzen'in_naoya,4\nkazagumo_(azur_lane),4\nnekopurin_(nyanko_prin),1\nokuro_zmzm,1\nmotomiya_nagisa,4\nkeiz,1\nrroar8,1\nrevived_witch,3\nyukuso_(dabiandang),1\nstart!!_true_dreams_(love_live!),0\nhraesvelgr_(last_origin),4\ncomet543,1\npengin_pina,4\nria_(yfvv_ria),1\nmora_meat_(genshin_impact),0\nerulusyro,1\nbugie,1\noyo_hitsuji,1\nmysoda,1\nshining_shoot_(pose),0\nmaha5japan,3\nnautilus_(nadia),4\nhitte5416,1\nneconotaki,1\nakiyama0818,1\nnew_gnsn,1\nkim_leeyoon,1\nswiftsure_(beauty_of_white_jade)_(azur_lane),4\ngundam_age-2_darkhound,4\nanimate_object,0\nnekoname_tuna,4\nashura_(rg_veda),4\namiya_aranha,4\nwinged_lion_(dungeon_meshi),4\ncarla_carmilla_(rariatto),4\nhow_to_talk_to_short_people_(meme),0\nshoutarou_(shoutarotttt),1\nksvk_(angel's_paint_brush)_(girls'_frontline),4\nbaphomet_(fate),4\nzb-26_(nook_of_ephemeral_dreams)_(girls'_frontline),4\nsleepyhead,1\ng28_(beer_ranch)_(girls'_frontline),4\nprinz_adalbert_(after-hours_service)_(azur_lane),4\nc-ms_(the_wonderful_adventures_of_goose)_(girls'_frontline),4\notome_ga_irodoru_koi_no_essence,3\nkoga_(ringozaka_mariko),4\njunou,1\nfaymantra,1\ngrenda-san,4\nmatsumoto_(5okuen),1\nmiichi_(mimimi),1\njude_mathis_(butler),4\nprimordial_jade_cutter_(genshin_impact),0\nbatting_stance,0\nfairy_knight_tristan_(valentine_witches)_(fate),4\nqueendom_(love_live!),0\namel3di,1\nshironagasu_senpai,1\nkodama's_elder_sister_(sakura_yuki),4\nseaside_sukeban_(smg)_(blue_archive),4\nramn,4\nmidori_xu,1\ndrawing_mannequin,0\nmatsuno_(mat8k),1\ncatwalk_(modeling),0\nsumizome_(genshin_impact),4\ngrs-,1\nkuronushi_(genshin_impact),4\nji-yoon_(jourd4n),4\nlauren_phillips_lifting_alice_merchesi_(meme),0\nmagpie_(vtuber),4\nautomaton_(final_fantasy),4\nhomong,1\npokemon_4ever_-_celebi:_the_voice_of_the_forest,3\npokemon:_zoroark:_master_of_illusions,3\nsema_(mekemeke_king),1\nichimoku_ren_(onmyoji),4\nsayoko_(sayosny2),1\njeep_(company),0\nnekoma_volleyball_uniform,0\nvarniskarnis,1\nhuziiro_matutya,1\narafune_tetsuji,4\npaldean_wooper,4\ndivine_(scfworks),1\nalien_adviser,1\nonigami_mei,4\nlinnoko,1\nalvida_(peach_momozen),4\negao_no_daika,3\nglobburt,1\nku--ma,1\nmomijiko,1\ntango_(soccer_ball),0\nsakura_no_ame_(vocaloid),3\nworgen,0\nradittz,1\nkamogawa_akira,1\nblaze_union,3\nwise_(okaa-san_online),4\nkawery,1\nyuri_(yuri741),1\ntanatonkub,1\neuphemia_chevalier,4\ntama_(chai),4\nmike_(chai),4\njiecaoxiong,1\ncobra_(cobra_63),1\nserena_(yu-gi-oh!)_(cosplay),0\nwakami_suiren,4\naoi_nori_(aoicoblue),1\nwall-e_(character),4\nandy_w_hall,4\nunknownnoname0,1\ndxlsmax_(lizhimin),1\nmurakami_ginko,4\nhikora,1\nshima-tan,4\narianna_the_labrynth_servant,4\nk.j.,1\nnawate_(dij),1\ndiamond_dog,4\nsakumi,1\njulius_belmont,4\nhaori_(ki-na-ri),1\nchange!_ano_ko_ni_natte_kunkun_peropero,3\nseiran_(blue-orchid),1\nterraxle,1\nmasso_nullbuilt,1\nnon_(nonbiriya_mini),1\nlexus,0\nukyou_(amnesia),4\ntren,1\nnemunoya,1\nsorano_namida,1\nsucking_tail,0\npower_dolls,3\nkarla_(kono_healer_mendokusai),4\nmarubororaito,1\notoo_hyougo,4\nshiba_cyon,1\nhanosuke,1\nazuma_yuuki,1\nweighted_clothes,0\nviibean,1\nakn,1\npikuson,1\nhidaka_rina,4\nraimon_tarou,4\nconoha,1\nmetem_puella,3\nblackbad,1\nrubbing_neck,0\nweatheroid,4\nsuzugamori_ren,4\nkiriya_obu_gn,1\ncure_peace_pose,0\nznz,1\ncarol_(guilty_crown),4\nmakihara_nodoka,4\nkanou_kayoko,4\nmurasakijazi,1\nshiroi_yuki_no_princess_wa_(vocaloid),3\nguu_(guu8),1\nlynette_bishop_(cosplay),0\nkuromi_(cosplay),0\narrow_in_mouth,0\ntakase_hiro,1\ntakashima_zakuro,4\nlest_(rune_factory),4\nmatumasima,1\nshirogane_noel_(cosplay),0\nchastel_aiheap,4\nsakamoto_ahiru,1\nhirasawa_yuu,1\nkarl_liversidge,1\nsakurai_ryouko,4\nnakamachi_machi,1\nmiyuki_nknk,1\nyukishiki_shilfi,1\nnanami_k_bladefield,4\ntanjel,1\nduralumin,4\nshirogane_no_cal_to_soukuu_no_joou,3\ninoue_mikuni,1\nmaou_no_hajimekata,3\nmimit,1\ntangobat,1\nhappy_turn2,1\npaula_(sennen_sensou_aigis),4\nmanaka_mitsumi,4\nrynisyou,1\nhiro_(minorstar),1\nhiro_(14806390),1\nsuzuki_shunji,1\nmira_(world_trigger),4\nhasukawa_isaburou,1\ncatcan,1\ninaka_gyomin,1\nhans_humpty,4\nhoshino_hachirouta,4\nhiyuki-chan,4\nneferkitty,1\nyakumo_ling,1\nizawa_shizue,4\nfujisawa_tomio,1\nkokoala,1\ntongtongtong,1\nraimu_(ranxa),1\nmablex,1\nhel0205,1\nkose_takashi,1\nsouffle_sable,1\ntennenmoe,1\nsqueaky_mallet,0\nguranaada,1\nrosalie_(gothic_wa_mahou_otome),4\nwallfloristry,1\nmaitake_(maitake1234),1\ntrapping_ranger_(elsword),4\npuni_(artist),1\nblanket_(kkbjah),1\nshoudoku_taishi_(taishi),1\nheihei_de_hei_yan_long,1\nkogetsu_tooka,4\nkedamaton,1\nmitou_shoukan://blood_sign,3\nhigezamurai_(kurage_gunsou),1\ncat_peach,4\nover_the_garden_wall,3\nmurasaki_(game),3\nnishinosono_moe,4\npalidoozy-art,1\nsakura_setsumi,4\nkongouseki,1\nmexican_clothes,0\nkoi_suru_kimochi_no_kasanekata,3\nsuper_taruco,4\nmirai_(mikami_mika),4\nlarienne,1\nhibikase_(vocaloid),3\nmarine_miku,4\nhachimikkusu,1\nharumaki_haruki,1\npatricia_of_end,4\nkuroki_michi,4\nnatsutaro_(sss_stn),1\nttheyue,1\ndoremy_sweet_(cosplay),0\ntorinoko_tamago,1\nspoken_money,0\nlimebreaker,1\nhakai_no_ika,1\nandou_mario,4\nzn_(zzzzzni),1\nf-117_nighthawk,0\nomae_nobuyuki,1\nmako_dai_ni-dai,1\nbossmonsterbani,1\nfuri2play!,3\nhitohira_onsa,4\njotarozaku,1\nhagino_(axgh),1\nkris_bernal,4\nverdia,4\nizumi_(izumi_p),1\nchiharu_(dididididinosaur),1\nrain_sunny,1\nvideocassette_recorder,0\nhaires,1\nsotcho,1\nparsue,1\njueduihuoli,1\nhavoc_(darker_than_black),4\nakari_(baffu),4\nnao_suke,1\nmary_sera,4\nmomoza_r,1\nljayu,1\nfluf.p,1\nyoto_(rinlin2),1\nkora_(xenoblade),4\njosou_shinwa,3\nkewpie_(mazohaha),4\nnita_(pokemon),4\nphyco_(pokemon),4\nhilbert_(pokemon)_(cosplay),0\nchest_(furniture),0\noikawa_momosuke,4\nlana_branford,4\nhikari_(saidaioujou),4\nyuu_cream,1\nheadband_girl_(kamisimo_90),4\nnenekoko_(rariatto),4\nrikona,1\nnanael_(queen's_blade_unlimited),4\ngrand_admiral_marina,4\nnoble_succubus_bianca,4\nmemidesuyo,1\nolivia_(god_hand),4\nsizuo_1997619,1\ncasey_w._coller,1\nkaitofuuma,1\ngaziter,1\nred_leggings,0\nomiiverse,1\ngimmy_adai,4\nposture_collar,0\nzehel_az,1\nruben_de_vela,1\nbunny_choker,0\nfupoo,1\nliezerota,4\nyagisawa_keiichi,1\nsoukaa_(golden_sash),1\nhagi_(artist),1\nkoke_(moromiso),1\nyatabe_noa,4\nlouise_halevy's_mama,4\nshuen,1\nsuper_fumina,4\nall_seeing_eye,0\nmorimoto_kanaru,4\nkobayashi_shinpei,1\nyukise_miyu,1\nyaichino,1\nkamiya_mitobe,1\nnd,1\niwadate_yuan,4\nseventh_happiness,3\ncuttlefish,0\nwhite_sweatshirt,0\nkb-5,1\nroot_(stpri),4\ncolon_(stpri),4\nhiqu,1\nsmol_kronii,4\nwindow_shopping,0\nmami_(sweetcandy),1\nzero_two_driver,0\nflower_box,0\nkanotype,1\nmeuwzza_(me_zwa),1\nazusa_(sukumizuya),1\nsanskrit,0\ndauchimk_1,1\nasama_isami,4\nkonbanwa01,1\njibako,1\nholding_pendulum,0\nhinasaki_mafuyu,4\nbat_signal,0\ndandere_(tetsudan),1\nmomiahair,1\nbikkii,1\nkidagakash,4\nmatsumae_takumi,1\ninuyou,1\nmonane4,1\neirene_(oniro),4\nkanzaki_megu,4\nphase,1\ntachibana_itsuki,4\nsea_slug_girl,0\nlegless,0\nflower_in_drink,0\ntybernation,4\nvirtual_kouhou_taishi_project,3\npero_(pero7762),1\nreinhardt_(alchemy_stars),4\ndustcloth,0\nchozuru,1\nfat_joke,0\nangel_(nadegata),4\nniko_(2ars),1\nlilac_(live_a_hero),4\nsamu_(a117216),1\nshinigami_sama,4\nmatangomu-chan,4\nmisochige,1\nsatan_(the_seven_deadly_sins),4\nmikan_yuzuko,1\ncoral_(summon_night),4\ntogetsuhou,1\nstar_guardian_kai'sa,4\nthis_is_it,3\nhima_hawa,1\nspicy_nun's_mother_(diva),4\naobito_sukoyaka_bystander,1\nnini_tw99,1\naoharuto,1\namatarou,1\nmuraosa_(conjecture),1\nimeri_fuzuki,1\nsima_nozomu,1\nshirayuki_miho,4\naosi_(wasabiranzy),1\ntama_(nezumi),1\ndodecagram,0\nronaldo_(kyuuketsuki_sugu_shinu),4\ngyokuto_b,1\nradia,1\nyoshii_akira,4\npuppet_show,0\nnemui_(ohisashiburi),4\nkirara_akaru,4\nine_(vtuber),4\nhko,1\nthrown_food,0\nverdurous_anima,0\nkashiwagi_sumika,1\nppera,1\ninui_(shirakawa777),1\ndmuyaa,1\nthatpebble,1\nmorning6am,1\nkang_sae-byeok,4\ntokyo_babylon,3\nlisette_vertorre,4\nmaewix_(artist),1\nbenerokku,1\nrokutelie,1\ntoshokan_sensou,3\nbrown_butterfly,0\nryuda,1\nyosakuh,1\nuiru,1\nkopa,1\nmonch_(arknights),4\nmashle,3\nminusion,1\ngirigiri_love,3\ncutefreak,1\nkenshirou_(mono_ken),1\ncamisole_removed,0\nlee_chaolan,4\nfurizuu20,1\nyamone,1\ncreamyya,1\noutsider_0,1\nsoritari,1\nnakatomi_ryou,1\nshoujiki_mura,1\nshinano_eiji,4\nfuyuumikou,1\narrow_to_the_knee,0\nasahina_yuuta,4\nfromchawen,1\nichinose_ichino,4\nsaden_(magumo),1\nkisaragi_myau,1\ntsukai_yowo,1\nmegatron_(beast_wars),4\ntapa,1\nkinakomochi_(kazuna922),1\nayajik,1\nillustica_phantom,1\nscrambled_egg,0\nedelyn,4\ntowel_lift,0\netou_fujiko,4\nmausoleum,0\nza_(artist),1\nnidou_(rechlo),1\nmartha_(traveling_outfit)_(fate),4\nmagine,4\nawane_kokoro,4\nniwa2wa_tori,1\nfeca,1\nsabanobori,1\nrio_(usagiya),1\n1984,3\ninoue_takina_(cosplay),0\nmaumaujanken,1\nno_ears,0\nril_(wixoss),4\nnanokah2,1\nluminous_arc_3,3\ncum_in_headwear,0\nhousui_(g3hopes),1\nttopang,1\nzarsy,1\naoki_masahiko,1\nbamboo_(akimotoaki),1\nprotagonist_(ensemble_girls!),4\nmujizi,1\ncure_berry_(angel),4\nhoshino_mitsuki,1\nsouma_hatsuharu,4\nanti_the_infinite_holic_(vocaloid),3\nmizuhichi,1\nsenjou_no_pentsu,1\ndera_fury,1\nhisame_mon,1\nsilicone,0\nminerva_(spacecraft),4\nfujita_tatara,4\nwanoji,1\ntavros_nitram,4\nvldhomecenter,1\nvenom_(vocaloid),3\nakita_(20033203),1\nstudded_footwear,0\nolteca_(kamen_rider_revice),4\nnoveske_space_invader,0\nyami_reina,4\nkio_is_here,1\npipi20211026,1\nyaato_(yamato99725444),1\nxzu,1\nfujieda_yoshino,4\nrara086,1\nkoromo_take,1\nhanimaru_(h@nimaru),1\nhanafusa_itsuki,1\ncaptain_lamb,1\nmafia_(holostars),0\nkumakoro_(tetsupag),1\nlens_life,3\ntladpwl03,1\nkari_(atsuki_565),1\nme_meel,1\nelmo,4\nyuki_yukki12,1\nnekono,1\nmcnostril,1\nfish_cake,0\nhirose_koharu,4\nobara_gaun,1\npochi_(hetalia),4\nimomonono,1\nsazanami_jun,4\nkenmotsu_chiyo,1\nmurmur_(mirai_nikki),4\nwz_(woyzeck),1\nyuuhi_(yuyuhihi),1\nprint_ascot,0\nhimeko_(honkai:_star_rail),4\nzerotabi1210,1\njaws,0\ndarwin_watterson,4\ngreen_shell_(mario),0\nhakase,1\nashitaba_kemo,1\nkatagiri_ayako,4\ntada,1\nritae,1\nkaidou_nora-,1\nsanshi_(sannshi_34),1\nubuyashiki_kagaya,4\ncolor_creation,1\nshiosaki_mato,1\nlocketmonkey,1\na_ching,1\nkurasawa_makoto,1\ntaut_vest,0\nnumemon,4\nrollingcalling,1\nharu_(tateha),4\nimi_fumei,1\nmartina_zoana_mel_navratilova,4\nnautilus_(azur_lane),4\ntokimeki_tonight,3\nblack_ai,4\nvertical-striped_footwear,0\nkiev_(backstreet_silver_sonata)_(azur_lane),4\nfake_sleeping,0\nlegjob,0\nf4u_(naitou2),1\nanby_demara,4\nold-fashioned_swimsuit,0\ningrid_(sennen_sensou_aigis),4\npepper_cat,4\nserena_(konosuba),4\nshao_siming_guang_wei,1\nashino_chimado,1\nscottish_english_text,0\nsizzler_plate,0\nkoa,1\nsakuraminto,1\nurokodaki_sakonji,4\nnaoazaz,1\nsakugo,1\nsengoku_(one_piece),4\nkuronekokan_monpetit,1\nlucky_(sweet),4\nankuru_(ankle_art2),1\nwhite_dove,0\nmentally_deficient,1\ndiana_(a-soul),4\ntixie_lix,1\nnarumiya_suzu,4\nsocrates_(odin_sphere),4\namagi_hiiro,4\nuesugi_mihato,4\ndalimao,1\nnyoutou,1\nsetakman,1\nagainst_object,0\npetrushka,4\nvioletgrass,0\njuly_(coyote_ragtime_show),4\nsukasshu_(mroooo),1\nbanbon,1\nlunar_(lunar_815),1\nfusuma_(nohbrk),1\ntenshi_ni_narumon,3\nyumenomimizuku,1\nkoko_(hm142533),1\naqua-,1\npanzer_(pnzrk),1\nfuel,0\nfumo,1\nnyanom,1\nleeee_ro,1\nyygnzm,1\nsvenska_flygvapnet,0\nsumitomo,1\nhowe_(noble_rouge)_(azur_lane),4\nump45_(winter_journey)_(girls'_frontline),4\ngalka,0\ntaku_pi,1\ngana_(mknumi),1\ncrotchless_bodysuit,0\nagibe,1\nmdr_(ghost_trap)_(girls'_frontline),4\nchubb,1\ndiego_armando,4\nquichi_91,1\nhemachi,1\ntaja_spinner,0\nliver,0\nyankee-chan_(shashaki),4\nshion_no_ou,3\nhardy_(azur_lane),4\nsong_mia,4\noudondk,1\nsenkouji_hagino,4\nblaser_r93,0\njaxa,0\nbisuke_(isbsk_ekaki),1\nwato_samirika,1\neboda-x,1\nk.nock,1\nholding_thermos,0\nprincess_sailor_moon,4\nedea_kramer,4\nmunape,1\ngoowonjoon,1\nkakesu_(freiheit),1\nayanami_(witch_in_ambush)_(azur_lane),4\nbroken_necklace,0\ngedo_senki,3\ng141,1\ngaia_gear,3\nproject_gen2,3\ncapelet_lift,0\ncola-alter,1\npopopo_(popopo5656),1\nmaritchi,1\nsmol_calli,4\nnakaga_eri,1\nbobblehead,0\nkredorf,1\nzudah,4\nponn_mame,1\ngod_eater_resonant_ops,3\nsugiura_yoshio,1\nakoya_(anoko_konoko),1\na6m2-n,0\nhikotou_(sao73cat),1\nmizuno_star,1\nfey_(broken_cage),1\nalset,1\nhyper_brand,3\nlada_(car),0\nodysseus_eu_britannia,4\nsd_gundam_world_sangoku_soketsuden,3\neukrante,4\nvippaloid,0\nfrost_fog,1\nmidd_night,4\nsame_(carcharodon),1\nharami_(qz48lr),1\nzoids_wild_zero,3\nkoenigsberg_(azur_lane),4\nhaocong33,1\nmikoccccchan,1\nadfx-02_morgan,0\nultraman_trigger,4\nstu_diho,1\ngyroscope,0\njeet,1\nlobsterbaby99,1\nmon0351,1\nyurinozuku1112,1\nmash_kyrielight_(dive_to_blue),4\nshooting_through_heart,0\nwindows_95,3\nkamen_rider_punch_hopper,4\nyossui,1\ntamasi,1\nyuno_setouchi,1\nkung_fu_cooking_girls,3\ndagr_(fire_emblem),4\nkyou-chan,1\nshibata_g_ransu,1\nfujimaru_ritsuka_(female)_(walking_in_the_spring_breeze),4\nnezahualpilli,4\nauraaa,1\nfortune_(azur_lane),4\nqueen_chrysalis,4\nsaw272,1\ntapir_girl,0\nchon_(klliaytong),1\ntorn_mask,0\nnekotaririn,1\nmizushima_airi,4\nbean_sprouts_(6651003),1\nmondragon_rifle,0\nashiyafuku,1\nicqoo,1\ndizzy_(artist),1\ngalleon-joe,1\nairi_rei,1\ngotouge_koyoharu_(style),0\nsuzuki_aina_(seiyuu),4\naudrey_dreamweaver,4\nelegant_(sumisumi4268),1\ndeathclaw,4\nryouten9,1\nfujieda_kaede,4\nmamerakko-chan,4\nkaede_acer,1\nlop_(star_wars),4\ncyasha,1\nhata_matsuri,4\nkennymoney,1\nfilia_(star_ocean),4\nneoru_(cvfw7854),1\nhorin,1\ndai_zu_san,1\nsturm_(arowana_kingyo),1\ndream_smp,3\nudyr,4\nan_(angular-angler),1\nkatou_misaki,1\nnikku_hikikomori,1\nhenginnnnnn,1\nhk_nnm,1\nnishimura_haru_(7th_dragon),4\nomochi_chowder,1\nhitsuka_baka,1\ncicada_hug,0\nbowser_logo,0\nsumery,1\nkuradoberi_jam_(cosplay),0\nchococuco,1\nkutuna_yui,4\nwind_chime_focus,0\ngarmmy,1\nmilia_(lord_of_vermilion),4\ngod_of_the_new_world,0\nnaganegi,1\nkatamari,0\nossannoa,1\nt20210325,1\nshimizu_sorato,1\nmushi_aoi,1\npecka,1\nkm9902226,1\nalpholo_v,1\nmashiri,1\npink_pasties,0\namiya64k7,1\nalbino_(vocaloid),3\ntsuyu_sauce,0\nsengoku_basara_3,3\noverhead_swing,0\ndharc_(yu-gi-oh!),4\nnaozi,1\nmechjunk,1\nruinai,1\nmahou_shoujo_madoka_magica:_concept_movie,3\nshino_(housamo),4\nghostdoctor,1\nbelial_(megido72),4\ngrim_(twisted_wonderland),4\netta,1\ndokonjou_(odossan),1\ntripleeight,1\nregiana_(jubi),1\ncutie_honey_flash,3\nkanbe_piroshiki,1\nmiu_(dumbxaela),4\nminior_(orange_core),4\nminatoya_ringo,1\nunicorn_jabu,4\nlemnear,4\nseiji_(artman),1\nsigppang_(2shot00002),1\ntofuboyz,1\nsaab_gripen,0\n1ji45fun,1\neko_(yu-shao-eko),1\nmercedes-benz_g-class,0\nuzucake,1\npom_(soupy),1\nmihaia,1\ncoyote_starrk,4\nmobile_infantry,4\ntweedledum_(alice_in_wonderland),4\nzzb,1\nholding_cushion,0\nmeikyuu_black_company,3\nnanosheep_(character),4\nvanessa_(live_for_the_funk),4\nsumisumi,1\nuni_(uni9248),1\nsamara_chan,4\nenhancement_pill_(girls'_frontline),0\nwikumi,1\nks-23_(girls'_frontline),4\nk041800,1\nslipstream_(transformers),4\nvf-25_(cosplay),0\nhow_is_the_progress_(meme),0\nmagnolia_(pokemon),4\nbalabling,1\ntackle_box,0\ndatsuko_(momojam_koubou),1\nyukari_miyuri,4\njohnny_bravo_(series),3\nhagino_chihiro,1\nmindle_(mossacannibalis),4\nmirai_shounen_conan,3\ncherryton_school_uniform,0\nramia-yana,3\nsic77,1\nvinyl_scratch,4\nfour-leaf_clover_earrings,0\nfili,4\ntaiyouken,0\nsanoi_(giraffe),1\ngun_pointing_at_viewer,0\nava_(a-soul),4\nneg_50asu,1\nkitaru_(mabo_f),1\nhenna,0\ncherrymaru,1\ntwo-tone_jumpsuit,0\nyasakana_tooi,1\nwako_morino,1\nultraman_mebius_(series),3\ngiraffe_three,1\nys_kosato,1\nhinaname,1\nreaper_(overwatch)_(cosplay),0\ndeatiose,1\nlogo_hair_ornament,0\nstmoon,1\ngiant_spider,0\nkureiji_ollie_(artist),1\nstring_on_pinky,0\nminase_suzu,4\nniwatazumi_keiko,4\nbotantouki,1\notono_(bkt4b),1\nnanjou_satoshi,1\ncreamyghost,1\nyume_e_no_ippo,0\nhondo_kaede,4\ntori_knkr,1\nendou_aina,4\ngolden_knight_(granblue_fantasy),4\nbratja,1\ndark_eldar,4\nsol_badgal,4\ngarurumon,4\nmisaki_(jonsun),4\nowaowa_no_mi,1\nscar_on_ass,0\nal_guang,1\nnichi_(hibi_suimin),1\ngabri-l,1\nsuper_sailor_saturn_(stars),4\nnekoyama_shien,4\nque_meng_meng,1\nsoy_chicken,1\nkurusu_asami_(hitotose),4\nushio_takigawa,1\nsanaa,1\nmori_tatsuki,4\nariesuzu_(ariessz),1\nsaru_(pixiv13751598),1\nphotography,0\nsakai_chigusa,4\nkatyusha_(girls_und_panzer)_(cosplay),0\nbizure,1\ndon_(macaron_panda13),1\nsoriham,1\nnazuna_(nazuna_a2),1\nkiryu_coco_(cosplay),0\nmiyamoto_musashi,4\nsnow_print,0\nbuchou_(kakitama),4\ncleasky_(idolmaster),0\ntempplex,4\ngunsmoke,1\nrano_(u_rano),1\nrykard_lord_of_blasphemy,4\ngomas,1\nprincess_goomba,4\nflying_guillotine,0\nmira_shamaliyy,1\njellyfish_hair_ornament,0\nrilliona_the_magistus_of_verre,4\nblodia,4\npukamon,4\nbillowing_cape,0\nizumo-ss-yoshitunedenn,1\npixerite,1\npoifuru,1\nrick_(splatterhouse),4\nugusu24,1\nuzurako,1\ntennen_ahoke,1\nnei_(hashiko_nowoto),4\nkamen_rider_j,4\nbadger,0\ndosol,1\nbeepaint,1\n617247500,1\nrust_(game),3\nsekichuu_(unholywars12),1\nyamanouchi_hisako,4\nskrats,1\nkamiko_to_seiryoku,1\nkm_(ksolee1201),1\nfox_girl_(miya_(miyaruta)),4\nomega_rugal,4\njyb_unknown,1\nasu_kam,1\naluppia,1\ncomic_orga,3\ntsuruhisashi,1\ngreat_pretender,3\ntohsaka_tokiomi_(cosplay),0\nosana_najimi,4\numetori_uriri,1\nannouncer,0\nstalk,0\nterror_(halloween_terror)_(azur_lane),4\nchall_acustica,4\ndecima_velanox,4\nzaou_ryuu,4\ntinkerbat,4\nmaro-n,1\nicicle_fall,0\nasymmetrical_shorts,0\nqunqing123,1\nmitsurugi_heishirou,4\nseto_(venus_rumble),4\nxi_liu,1\ngustav_karl,4\nfinal_fantasy_xvi,3\ndenka_houtou,4\nsugimotty_nova,1\ngahara,1\ntakumi11,1\ngakukuru,1\nissycake,1\nkiss_(rock_band),3\nsirbine,4\nnordgreen,3\nrenga2250,1\njack-o'-lantern_cutout,0\npateo,1\ndent,0\nqzo_(akai_kitsune),1\nkisume_(cosplay),0\nhell2_(ses0297),1\nshrimp_cake,1\n029pom,1\nnineball_seraph,4\ntamachan,4\ntakeuchi_mariya,4\nventi_suki,1\nxiaomai_yorik,1\nback_pain,0\nshinguuji_sakura_(cosplay),0\nmachi_(uqyjee),1\nmystique,4\nzenrakishi,1\nhouse_m.d.,3\ns-sha,4\nmalphier,1\nriboshika,1\ntengaku_(vocaloid),3\ntonwwee,1\nmario_&_luigi:_superstar_saga,3\nmaruchan_akai_kitsune_udon,0\ntoujou_masateru,1\njazz_(fuukan),1\ncha_chazi,1\nemapippi,1\npixy_misa,4\nsuranaki,1\nmartian_officer,4\nwow+,1\ndazzling_white_town,0\ndel,1\nmatoba_kei,4\npomudachi_(pomu_rainpuff),4\npolora,1\nkyubi_(99b_1226),1\nhorikoshi_kouhei_(style),0\nteay_(ttttteay),1\nmemento1113,1\ndoneen69,1\nmayf42,1\nmige_shijiu,1\nstarcat,1\nseityr,1\nsakuramau,1\nlocked_outside,0\nshiro_yukimichi,1\nkayuo,1\nanntan,1\nwonchul,1\nstrange_ecolo,4\narno_(ft3014),1\nlayeyes,1\nhy136,1\nhibinpo,1\nkilling,1\nrata_to,1\nmiko_kubota,4\npoyo_party,1\nseres_(tales),4\nsienna_khan,4\nmomikodayo,1\nmochita_sei,1\ninu_mamoru_mizuki,1\naikosu_(icos),1\nhalsey_powell_(azur_lane),4\nharuno_ichigo,1\nnakata_jouji,4\ntenga_hajime,4\ndust_box,1\nyuri_(dirty_pair)_(cosplay),0\nibis1,1\nreed_(instrument),0\nmaro_(maro1108),1\nstuffed_alpaca,0\ninanami,1\nburmy_(trash),4\naragaki_nagisa,4\nscp,1\naloe_(sos961111),1\nshinbross,1\nhiomaika,1\namane_(7783),1\nsonken_bundai,4\nnishinishihigas,1\naria_advance,4\nshou_fuji,1\nokuda_yousuke,1\nyocchi_3601,1\nxeonomi,1\nmelody_(pokemon),4\nsasumata,0\ndemon_parade,0\nsakisaka_fuminori,4\ndaewoo_k11,0\nkotori_(may_queen),4\nponkotsu_ado,4\nnora_(le-chat-noir),1\nhenshin!!!_~pantsu_ni_natte_kunkun_peropero~,3\nflyinghigh,1\namane_(dream_c_club)_(cosplay),0\nsaeki_shouji,1\nqswan,1\nemukae_kaede_(plan),4\nspooky-dollie,1\ntawai,1\n30re,1\ntessa_1178,1\nvenus_ark_uniform,0\ntac-50,0\nrpd,0\nrifling,0\nbita_(vaderc),1\nteletelo,1\nvol.7,1\ntechi_(siro-white_0803),1\nvest_pull,0\ncigarette_p,1\nkukig8765,1\nminori,3\nnobingo,1\ncotoh_tsumi,1\nbyakusouya,1\nrin_takanashi_glacies,1\nn_(ruff),1\nkimu_(risatoko),1\ndendoumushi,1\nyakisake,1\nfrontier_town,1\nhilary_(pokemon),4\nchabatake,1\nchisuke,1\nrei_(pixiv_187780),1\nmetal_upa,0\nmigii_(tenra_banshou),1\nleina_(queen's_blade_unlimited),4\ntrey_(fft-0),4\notomo_megane,1\nnatsue,1\nnoland_(pokemon),4\nmucus,0\nyuuki_shinjuurou,4\nheike_falke,4\nsuzuhara_shima,1\nasaba_yuuki,4\ncolmack,1\ntouhou_mystia's_izakaya,3\ngravelord_nito,4\ntakahina,1\nbead_sex_machine,0\ntololi,1\ntokimatsuri_eve,4\nsoulless,3\nyo-rindou,1\nomochi_(433purupuru),1\nyotsuba_yuiko,1\nrukira,1\nmunakata_misae,4\nvanity_(monster_farm),4\nkishio_(agedama),1\nyunohara_konomi,1\nkurosukey,1\nrfa,1\nplacido,4\nyukiya,1\nhanchi_hannou,1\nbmw_z4,0\nbook_of_fuxi,4\namatsu_ai,4\nshino_(sosuketo),1\nnezu_miko,4\npassevo,1\nsilky_(last_origin),4\nmirage_(transformers),4\nteito,1\ntsubasa_miu,4\nshirayuki_usami,1\nkanaya604,1\nbow_(breath_of_fire),4\nmatangom,1\nasa1014,1\nshi_yusu,1\nyoshizawa_tamae,1\nstaring_contest,0\nnew_kamen_rider,3\nnational_geographic,3\neru_(aeeu2243),1\nvioletcoral,1\nkakura_yoshiki,1\nganpiro,1\nbourbone,1\nkent_(kariumu),1\nedorai,1\nwakou_tensui,1\nhikarinoko,1\nmizukiri,1\njennifer_yamada,1\npiyopiyo,4\nhafuri,1\nsoga_no_tojiko_(cosplay),0\nplusbrackets,1\npi_(space_maria),4\nmisenouchi,1\nrainbow-colored_septentrion,3\nmii_(jungle_de_ikou),4\nepurasu,1\nyuumeibokumeimei,1\nwakadori,1\ngreenapple,1\ncharlotte_(pandora_hearts),4\nmaki_(maki88),1\nakashin,1\nshinkuro_sanagi,1\ntsukubae_tomoe,4\naiba_ami,4\ntakahashi_osamu,1\nsugi_(shoufusha),1\ntorii_jungo,4\ntower_of_the_sun,0\nhogi,1\ndemon_(02030108),1\ntine_chelc,4\ndhiea_seville,4\nnakayama_(hidamari_sketch),4\nmatilda_caskett_(mega_man),4\nyamakatsu_(genrei_koubou),1\narmored_core_4,3\ndeanoia,1\nshitada,1\nkoutyousan,1\nsee-through_shorts,0\nsolail_(faya),1\nnen_master_(dungeon_and_fighter),4\nmcnuggies_(meme),0\ntennen0201,1\ntorii_(gundam),4\nteddy_(mother),4\nink_(artist),1\nastrotrain,4\nishikawa_yuga,1\nyomban,3\ntakatsuki_kanade,4\noujano_kaze,1\nmay_greenfield,4\nlanubis,1\njevil,4\nkamen_rider_ibuki,4\nphilemon_(butterfly),4\nmisaki_renka,4\nkiss_yori_saki_ni_koi_yori_hayaku,3\nravine,0\njenny_(artist),1\nzudomon,4\ntwenty,1\nriyan,1\ntrefle_r,1\ntandouji_alma,4\nterrorism,0\nhara_shouji,1\niyokamioto,1\ncao_pi,4\nskllp,1\nsugise_satoshi,1\nsaya7,1\nootori_sakuya,4\nakebi_(kakuri),1\nunusualpie,1\nyuki_miku_(2023),4\nhaoriya_chie_(minidraco),4\nhirokawa_takemi,4\nemily_brooks,4\nmelfina_bluesky,4\nswitzerland,0\nnasu_hanahana,1\nflower_hat,0\nshax_(megido72),4\nkomaki,1\nchildren_of_the_rune,3\nsezaki_takumi,1\nmimi_n,1\nmaron-chan,4\n=3=,1\nkoharu_nosuke,1\nshigeruoomi,1\nteepo,4\ndahlia_hawthorne,4\nyamada_naoko_(trick),4\nteppuu,3\nbody_slam,0\no5o3,1\nsakaiya_yumeno,4\nlude_(ragnarok_online),4\nfujita_nodoka,4\nknapsack,0\navalon_code,3\nseki_tomokazu,4\nhaneda_kobato,4\nyoneko,1\nfecchan,4\nmeido-fuku_ga_mitai,1\nanne_(ttgl),4\nbikkuru,1\nspread_urethra,0\nkanzaki_moe,4\nmina_(cafe_little_wish),4\namagi_yukiko_(cosplay),0\nvoltkatze,4\nkomota_(mikebukuro),1\nisogai_yuuji,1\nemudoru,1\nhuaronanago,1\nmonarch_(white_warrick)_(azur_lane),4\nikaruga_ibuki,4\ncocohore,1\nmotsu_rebaa,1\nsu_(pixiv44447),1\nizanagi_no_okami,4\nwattson_(apex_legends)_(cosplay),0\nwillwind30,1\nthumbcuffs,0\nkassim,4\nwakuraba,1\nvian,1\nelanore,1\ntakakura_aki,1\nelyos,4\nonoguru,1\nasaka_hinata,4\nnannnann,1\nlost-ko,4\nratoratah_(ooo_combo),4\nmagikoopa,4\nkurosaki_shigure,4\nhimenohara_suzuran,4\ntsun_(tsuncha),1\nyamamoto_nanashiki,1\nyouyu_(kyouno),4\npalpatine,4\npokurouta,1\nzhengyifan7,1\nmochimomomo,1\nsleepyowl_(jobkung15),1\ntokiha_suzumiya,1\nmito_hollyhock,3\nnikaidou_hitsugi,4\nkurosabi_neko,1\nmakita_(mugitya3776),1\ncocoa_miel,1\nkazahana_mashiro,4\nalyssa_searrs,4\nrovintus,1\nstar_voice_(module),0\noyatu55k,1\nrori_(4chan),1\npixcel,1\nexcellia_cruz,4\nsinclair_(limbus_company),4\nmobius_(daughter_of_corals)_(honkai_impact),4\nyuzuki_yukari_(a.i._voice),4\ntamamo_(destiny_child),4\nosashimisan,1\ntami_yagi,1\nsilverash_(york's_bise)_(arknights),4\nfire_punch,3\nkogara_toto,4\nmagahara_desumi,4\nmisono_denpachi,1\ngachimuchi_de_dosukebe_na_kateikyoushi_no_oniisan_to_sugosu_natsu,3\nminato_(houkago_no_pleiades),4\ndmc_pa,1\nshiro_(shounen_to_hero),1\nglaucus_(exterminator_in_the_square)_(arknights),4\nfood-themed_creature,0\nodokawa_hiroshi,4\nshichigusa_nanako,4\nsakuragasaki_fubuki,4\nwick_(identity_v),4\nandoain_(arknights),4\nqiumoyixing,1\nana_bi,1\ncode_nt,1\nshidai,1\nakagi_koku,1\nraven's_bite,0\nyang_guifei_(honey_lake)_(fate),4\nsekisouseki,1\nfenneko,4\nyeougui,1\nblack_maria_(one_piece),4\ntemari_maco,1\nsrm_chi,1\nwar_of_genesis_iii,3\nhippowdon_(male),4\nbad_kim,1\nhaiboku_no_megami,4\ncoffee_talk,3\nsakura_chika,4\ntartu_(overthinking_summer)_(azur_lane),4\nyan_wen_zi,1\nmiki_(miki125dragon),1\nkouno_megumi,1\nechoes_act2,4\njjwww_love,1\neriol_s2,1\ncien_(shikanokuni),1\nnanumn,1\nfusuma_(not_found),1\nlabia_ring,0\ntakamachi_momoko,4\ndeerchip,1\nsenba_hikari,1\nkomkomx,1\nbiwa_hayahide_(noel_rouge_carol)_(umamusume),4\npikachu_phd,4\nika_esu,1\nhonk_honk_(meme),0\nnykim0915,1\ncocktail_pick,0\nkiyone_(psychofox),4\nprinz_eugen_(blue_oath),4\noogushi_aritomo,1\nyahiko_(naruto),4\npsyco_gundam_mk_ii,4\nitsuki_(spitbreak),1\nhozumi_sayaka,4\nhisakawa_aya,4\nmoka._tapioka,1\naoi_matsuri,4\ntraghetto,1\nvictoria_cindry,4\nakio_(89e),1\nasato_ai,4\nnavy-san,4\nichinose_nagi,4\ntomason,1\nj_am,1\nari_suzushi,1\nemeraldas,4\nclarityblue,1\ncybernetic,0\nargetlahm,0\nsusukinohukurou,1\npucchan,4\nmekongdelta,1\nnosejob,0\nmikage_subaru,4\nkoimomo,3\noyakodon_(food),0\nmizukoshi_mako,4\nmusee,1\nlegend_of_lemnear,3\nkusata_murasaki,1\ntlachtga,4\nshadow_lady,3\nannet_myer,4\nmaggey_byrde,4\nwet_and_messy,0\nyaiba,3\ndear_my_friend,3\nnagoonimation,1\nnijiura,3\nreimu_no_yari,3\nhokoro,1\ndangaioh_hyper_combat_unit,4\nlisher,4\nkaku_sugar,1\nmiyazaki_hayao_(person),4\nena_(fire_emblem),4\nphilomel_hartung,4\nmina_likering,4\nryuukeichi_andromeda,1\nkomorebi_no_namikimichi,3\nkugayama_mitsunori,4\njumpei,1\ntenebrae,4\nhinohino,1\namulet_clover,4\nninja_(disgaea),4\nzoni-ko,4\noyamada_musshu,1\njokei_kazoku,3\nhajimenimodoru,1\namamiya_sakurako,4\nhonda_yuita,1\nmatsurika,1\nshiraki_(artist),1\n30ml,1\nyukinyan,1\nmin-mu,1\nguiche_de_gramont,4\nkurenai_shinkurou,4\nmiyoshi,1\njil,4\nle_petit_prince,3\nsea_chicken,1\nmafumofu_(armor),4\nko_yami,4\npierre_iwashi,1\nkuuron,1\ntodd_oyamada,1\nelea,4\nmaplesights,1\nhanasakichu,1\nganryou,4\nrakugaki_(artist),1\nshima_taka,1\nplatinum_the_trinity_(cosplay),0\niridori,1\ngeshopu,1\nempress,0\naobe,1\nchokotto_vampire!,3\nd_no,1\nkoshiki_miyuki,4\nmuraya,1\nprincess_silver,4\noryuu,4\nkemuma,1\nakito,1\nyamanezumi_rokikku,1\nyoukai_kusaregedo,4\naoi01fenrir,1\ntaruk,1\nbini_(xocolatl_501),1\nraise_(ryo),4\nalatreon_(armor),4\nutauinu,1\nclutch_shot_king,1\nshirou_kamui,4\nnikoro,1\nforceps,0\nkuro_no_utahime,3\nhayami_iori,4\nvegeta_(cosplay),0\ntokiwa_osamu,1\njay27,1\nnochatea,1\nmotsu_ryouri,1\nkanamaru_yuuki,1\nkusanagi_suito,4\nhoken_dayori,3\non_horn,0\nrihhi,1\nargath_thadalfus,4\noliver_poplan,4\nwashimine_yukio,4\ngumitaroo,1\nfolte,1\nchiro_(youkai_tamanokoshi),1\nmukai_yumiko,4\ngirl_with_bear_(madoka_magica),4\nshion_souta,1\nlisa_(lom),4\ngracia_hughes,4\nbuffalo_(trickster),4\nmacchatei_koeda,1\nvan_grants,4\ntakeda_shingen_(sengoku_otome),4\nnipponia_nippon,1\notamon,1\nduke_nukem,4\nyukimaru_ai,1\nzangaku,1\nurbinator17,1\nsuga_saru,1\nghost_belle_&_haunted_mansion,4\nmomoshina_fumika,4\ndyxm,1\nhtms_sri_ayudhya,4\nkisaragi_itsuka_(aufheben),1\nmyuu_(hellomagic),1\noshiru_(sealeu),1\nspacey,1\namatou_cacao,1\njinkou_no_kuma,1\ntwocar,3\ngenjimaru,4\nsakakibara_mizuki,1\ncommand_and_conquer:_red_alert_3,3\nhiki_furisode,0\nshirafuji_tamaki,4\nlm_0063,1\nreticulum,1\nelaine_(iron_saga),4\nnankai,1\nsalome_(phantom_kingdom),4\nkejourou_(monster_girl_encyclopedia),4\npepper_(norasuko),4\nrenko_(gayosiz),1\ntoyosaka,1\nhonoka_(the_third),4\nneptune_vasilias,4\nsugino_(tactics),4\nga_yeah,1\nnine_(zankyou_no_terror),4\nkhalida_trish,4\nmari_mari,4\nmisaka_(05),1\nthe_transistor,4\nultimate_weapon_(armored_core),0\nnaruse_yasuhiro,1\nuru-arrow,1\nchun'ai_zhanshen_milili,1\nrukia_(sound_horison),4\npretty_liar_(idolmaster),0\nangel_pena_(angelox),1\ngargadia_empire,0\nfender_precision_bass,0\nmarmalade,0\ntsuyoshi_takaki,1\nkatorius,1\ncollared_crop_top,0\ndevil_breaker,0\nyuumare,1\ntsukasa_(pixiv34617881),1\nsusutaketakumi,1\nsan_(winteroll),1\ncanzhajiang,1\ndappled_moonlight,0\nmega_beedrill,4\nplasmid,1\nstop,0\nfriulian_spear,0\namane_1906,1\nteresa_(iron_saga),4\nkon_hoshiro,1\nrafale1008,1\ntanaka_yuyuko,4\nbun_(food),0\nkatou_kei,4\nmabuchi_kyoma,4\ntrevor25527766,1\nfurutachi_ren,4\ngneisenau_(warship_girls_r),4\nsakashita_yomi,4\nthe_prey,3\nfinger_to_eyewear,0\nuzuki_sakura,4\nsaplus,1\nraimon_track_uniform,0\ntitanium_hrk,1\nberver,1\nscalizo,1\nsawade,1\nmunisuke_(zrkt7883),1\nchirakashi_(chiruto),4\nmizuamemochimochi,1\nlotte_(company),3\nmitsu336,1\nrokuo016,1\nkouyou_(12953910),1\nkizdollark,1\nyamamoto_rurika,4\ntomoe_(kemono_friends)_(niconico88059799),4\nwhether,1\nshijou_saikyou_no_daimaou_murabito_a_ni_tensei_suru,3\nbbuni,1\nkicdon,1\ntorigara_cha,1\nhiroyama_(hpzg5374),1\nshika_(hachilemon),1\nyooroongoo,1\nkiryuu_mizuha,4\nshachou_batoru_no_jikan_desu!,3\naruko_(nac000),4\nsacrifice_(sound_horizon),4\nmorita_shinobu,4\nenterprise_(blooming_peony)_(azur_lane),4\nqingjiao_rou_si,1\niuchar_(fire_emblem),4\nnozimami,1\na-m-one,1\nquick_camel,4\nmoru00f,1\nmurujimu,1\nshinoko,1\ncain_(fire_emblem:_shadow_dragon),4\nkineya_emuko,1\nbashira_(sennen_sensou_aigis),4\nsliced_meat,0\nsada-chan_(tawawa),4\ntokyo_city_hall,0\nadz_lrp,1\njyundee,1\nkougei_ciel_nana,4\nhansode32,1\nplumw,1\ntaeko_(onsen_tamago),4\nshantae_and_the_seven_sirens,3\naleixa_(aurahack),4\ninagawa_yuu,4\nirene_white_(girl_cafe_gun),4\nsuzie_(agent_aika),4\nkamui_(fire_emblem),4\nglitch_techs,3\numino_mo_kuzu,1\nzephiel_(fire_emblem),4\naran_(fire_emblem),4\nthe_immaculate_one,4\nmango_cat,1\nreina_(leinqchqn),1\nrobiola_(girls_und_panzer),4\ndog_girl_(yukimoto_shuuji_(gurigura)),4\nyen_(isamu-ki),4\nniuy,1\nbingshan,1\nnagao_uka,1\naihara_kazumi,4\nbabape,1\nstar_guardian_neeko,4\n3ri10te,1\nveronju_caesar_(unleashed),4\ngigantamax_machamp,4\nkuaile_de_si_jun,1\nryuusei's_short-haired_girl,4\nbronya_zaychik_(drive_kometa),4\nclarissa_snowflake,4\nmiruka,4\nyamashiro_(holiday_offensive)_(azur_lane),4\nyou-6-11,1\ntamamo_no_mae_(mythology),4\nsoju,0\nminami_noriko,1\nomotim000,1\nmouse_on_hand,0\nsaijou_karen,4\nyggdrasil_(sao),0\nmemory_(prophet5),1\nkouhai_(souzaipan),4\ngundongdejie,1\npink_blanket,0\nartoise,1\nincoming_letter,0\nkonno_yuuki_(sao),4\nmanao-ke,3\nkuhl-notes,1\nstray_hair,0\nckhd,1\nkimino_yume,1\nhijiriido_miyo,4\nicedev,1\ncrank,0\nwang_qiu_er_(douluo_dalu),4\nmiura_kazuki,1\nwakaura_asaho,1\njing_li,1\nphotoshop_flowey,4\ndigital_rain,0\npyroar_(female),4\nunfins,1\naardwolf_girl,0\ntierra-sensei,4\ntoro_th,1\nratetaso,1\nhamama2,1\nectas_online,3\narasumi_shii,1\ntatata_taira,1\nbokujou_monogatari:_tsunagaru_shin_tenchi,3\nknight_emperor_(elsword),4\nokabe_gyoza,1\nalice_(nikke),4\nsasakungoodsize,1\nranni_the_witch_(cosplay),0\ndarus5,1\nsega_mega_drive_(sega_hard_girls),4\nkurimuzon,1\nedamame_(buruburu),1\nyuki_no_city,1\nsumi_(suumiko_),1\nfrigate,0\nryuzu_(clockwork_planet),4\nmajima_(lycoris_recoil),4\nkonsune_(tengerium),1\nkimipiyo_(tenmiyakiyo),4\nhitotose_tanteidan,3\nyuu_(re:lief),4\nying_(suetmo),1\ncocoroppy,1\nkitagawa_(ktgw_116),1\ntamamo_no_mae_(swimsuit_lancer)_(fate)_(cosplay),0\nmatsunaga_maguro,1\nshizukawashi_sumi,1\nnezunomori,1\ntundra,0\nnoki_(potekoro),1\ndaredevil,4\ngatakenjin,1\nuzumaki,3\nloish,1\nraputsue,1\ndark_knight_(fft),4\nmizutani_hozumi,1\nka_koubun,4\nlucier_(7th_dragon),4\nmiyo_(aenmix),1\nelazul,4\nsagawa_yumeko,1\nmomo_tai,1\nkizu,1\njorge_joestar,3\ntonkatsu_(nagasarete_airantou),4\nmakimura_(miwmiw-cage),1\noozaru,4\ntenchi_muyou!_manatsu_no_eve,3\narzuros,4\nyamanoyu,1\nzigza_(gashi-gashi),4\ndann_of_thursday,4\ntryvor,1\nrr_(rr2),1\ngalaxy_dungeon,3\nirving-zero,1\nnotsuki_miko,1\nzippedsquire,1\nlea_(kingdom_hearts),4\nmikasa_ackerman_(cosplay),0\nkei_s01,1\nstan_lee,4\nkokuu_no_megami_athena_(armed),0\nnobuyo_ninomiya,1\nkyoto_tower,0\nria_hagry,4\nhonenashi_chicken,1\nnatuichi-7212,1\nchirarizushi,1\nkumio-appon,1\ngamigamimissile,1\ncatch_the_rainbow,4\nsaryn_(warframe),4\nmr_very,1\nsekibanki_(cosplay),0\nkasumi_toshizou,4\numedairuka,1\nblack_sig,4\ntm-pika,1\nojou-sama_wa_gokigen_naname,3\ntakahashi_meijin_no_bug-tte_honey,3\n88_(kimidori_midori),1\nlion_paw,0\nyuusya27,1\nyumekoi,3\nkapu_(tetete8901),1\ndoriri,1\nstardust11,1\njyan_borii,1\nmotoori_kosuzu_(cosplay),0\njunpei_(kyokugen_dasshutsu),4\ndj-yu,1\naul,1\namanohokosaka_mei,4\ngreek_letters,0\nshiraga_airi,4\nrainydayjp,1\nai_kotoba_(vocaloid),3\nleyte,1\nanime_revolution,3\nsenkaku_mei,4\nmayo.,1\ncynthia_(claymore),4\nshishihara_sawaya,4\nyuita,1\naiwm,1\nfuubuu,1\nprince_bubba_gumball,4\ncool4noodle,1\nziggy_kakziga,4\ndevelop2,1\ndaisenran!!_sangokushi_battle,3\nmetalbolic,1\nmiyamae_iroha,4\ncooling_tower,0\nwizard_barristers:_benmashi_cecil,3\nkujou_karen_(cosplay),0\ndk_(13855103534),1\nazusa_(rikuriku),1\ncure_empress,4\nexecutioner's_sword,0\nloki_(p&d),4\ne5_hayabusa_(shinkalion),4\nrano8,1\nquilladin,4\nnarumi_midori,1\nkumomiya,1\njyuui,1\nkomikado_kensuke,4\nyomi_yojo,1\npontata,1\nkamihitoe,1\ndclzexon,1\nforced_dressing,0\ntsukasa_takashi,1\nkazemura,1\nyura_tsubasa,4\nwikstrom_(pokemon),4\nroswell_ss,1\nvirus_(dramatical_murder),4\ndairenji_suzuka,4\nfairy_tale_girl_(pokemon),4\nmadou_king_granzort,3\nseri_p_tedoku,1\npink_ranger,4\nvaldgeist,1\nbee_(bee_and_puppycat),4\nweathernews,3\nkokemozuku,1\njun_sung_kwak,1\nzuikaku_(aoki_hagane_no_arpeggio),4\nrinnku,1\nkusanagi_matabi,1\nguts_seijin,4\nngv3553,1\nporupu,1\nakaikonomi,1\nhaishin,3\nconception_2,3\nsuzuki_yua,4\nyatsumura_tsuyuno,4\nvalkyr_(warframe),4\nbedman,4\nsnj,1\nteijiro,1\nknuckle_hair,0\nonmyou_taisenki,3\nkomainu_akira,1\nsatou_(satohstc),1\nminmii_(minmi078),1\nmakui_(umaku_ikanai),1\nshuga_(0329tixi),1\n8rats,1\nhidekichi_(09075470338),1\nmichi_l_(streetlamp),1\nfushimi_touka,4\nsasaki_sakichi,1\nfei_miao,1\nfuji_(d38635s10),1\nheemin,1\ntooru_acura,4\nchaos_drive,3\nkatou_fumitaka,1\nkonpane_(ohj),1\ndukehare,1\npride-kun,1\nnanno_alice,4\nfiona_(mabinogi),4\nharu_(inamura4),1\nfukunaga_yumi,1\nspriggan_(final_fantasy),4\nminipat_(sketch_wall),1\nre:birth_colony,3\nberisuno_(beriberi0707),1\nmasapeko,1\nk_(chissaiossan),1\nquadriri_(lansane),4\njenna_brown,1\nevanescent_existence,3\nearthen_miraculous_sword,3\nhaebara_zanka,1\njacket_(hotline_miami),4\ndead_drive,3\ntastysalt,1\nringorenji,1\nvought_os2u_kingfisher,0\nshimakusa_arou,1\nheitai_gensui,1\nmanako_(manatera),1\nholding_hoop,0\nnine_usagi,1\ngaul_galette_des_rois,4\namamiya_atsushi,4\nhoruta_suin,4\ntatenayua,1\nkamen_rider_j_(movie),3\ntimesoe,1\nrikadoh,1\nsetsuna215,1\nazuko_(ampenm),1\nkasugano_urara_(sabagebu!),4\nlisong_shen,1\nreclamon,1\nwarirui,1\nchloe_(sennen_sensou_aigis),4\nenikuma,1\ngadwin_(grandia),4\nnishina_kakeri,1\nreiji_0_g,1\ngowasu,4\nniikura_(city),4\nkoko_(aikatsu_friends!),4\nmadcookiefighter,1\nsteelycross,1\nalice_(flanaki),4\nsurume_(surume_8738),1\ngrey_sarong,0\ntomatojiusu,1\nkotomi_alpaca,1\ndr._sif_runarsdottir,4\nyuu_li_(glass),1\nkuma_no_yume,1\no.k.corral,1\njessica_(roku_kyuu),4\nreiya_(force_of_will),4\nsunflower_(tomodog422),1\ncraymond_(splatoon),4\nyorite_konoha_wa_kurenai_ni,3\nneva_(n_e_v_a),1\nz21_(azur_lane),4\nmary_drake,4\npink_bandeau,0\ninstant_udon,0\nmiya_(miyabio),1\ndenroku_(nokishita_no_katatsumuri),1\nmaromayu,1\nkochou_noel,1\nio_(sage_(mami1210)),4\nkagerou_(azur_lane),4\nkuroinu_juu,1\ntoukiden,3\nneaze,1\nhigashikata_tsurugi,4\nnabezuru,1\nyaya_(20090410),1\nkhimera_destroy_all_monster_girls,3\nkakudate_akizuki,1\nmonster_master_x,3\ntabana,1\ndeflect,0\ncoco_(tongari_boushi_no_atelier),4\nyuki_ga_tokeru_mae_ni_(vocaloid),3\nlamen3000,1\nchinese_border,0\nchicami,1\npon_(syugaminp),1\nlola_pop,4\nabysswatchers,1\nakihiko_(sw4553),1\nimouto-chan_to_taka-kun,3\nchabashira_(otya),1\nstar_guardian_ezreal,4\npolice_officer_(pokemon),4\nqueen_of_pain_(dota),4\nkiseijou_rei_(goddess_form),4\n791_(meiyuewudi),1\nonii-chan_kiss_no_junbi_wa_mada_desu_ka?_ecchi_no_junbi_mo_mada_desu_ka?,3\nkumagai_chihiro,4\nqinglong_zaitian,1\nyuki_(bakumatsu_rouman),4\nhuira444,1\nueno_meguru,1\nyosiyuki_yosizou,1\ninuono_mama,1\nmiyagekko,1\ndulapda,1\ndaasaki,1\nzienu,1\nbukei,1\nace_virgin,3\njing_mian_tu,1\nyuuri_(mafuyu),4\nameno_kiko,1\ngradient_filter,0\npushun_(muteki),1\nenta_girl,4\nmokuseirokku,1\ntsukune_(yagi),4\nprint_cloak,0\nnarulala,4\npawoo,3\nbananaxcs7,1\nmateria_kuro,4\neiri_su,1\npatton_(cross-bones-t),1\nkodemari_(flower_knight_girl),4\nmizushino_souta,4\nyamamoto_rintaro,1\nyoiro_(porigonn),1\njiinyo_(awamoe1207),1\nmatsuki_tou,1\nmegami_no_yuusha_wo_taosu_gesu_na_houhou,3\nhispol_(04-uma-alpha),1\numbrella_bow,0\ntumblr_logo,0\njuugo_(naruto),4\npokilewd,1\nsugatem!_-sugarfull_tempering-,3\nkotoba_(kotobato),1\nnabu_(xday),1\niriomote_cat_(kemono_friends),4\nfraternal_myotis_(kemono_friends),4\nblack_mamba_(kemono_friends),4\nrock_pigeon_(kemono_friends),4\nking_cheetah_(kemono_friends),4\ntorn_buruma,0\nxiao_yao_xiong_(xy450425885),1\nmaiponpon,1\nchiaki_(hoojiro_(found1093)),4\nprisoner_of_war_(metal_slug),4\nchiizu_ore,1\nmayuri_mariani,4\nfrilled_scarf,0\nshaman_(dungeon_and_fighter),4\nahd,1\ndolphin_pendant,0\nteen_titans_go!,3\nghandagoza,4\nshina_(sbk951121),1\nbamomon,1\nnaganohara_yoshino,4\nsuchie-pai,4\nkosyooka,1\nnachonachoz,1\npinkdrawz,1\nrace_limitation_(lingerie),0\narmy-kun_(splatoon),4\nkurasuta,1\nhakuchou_(swan_212),1\nribbon-trimmed_hood,0\nbienfu_(tales),4\nbei1997,1\nkasrina,4\ntouno_kyouko,4\nnakahara_yoshi,1\ninfinite_dendrogram,3\nsplish,1\nsonoko_neko,1\nmengnaidu,1\ngui_ss,1\nberyl_(blueberylpie),1\ncrml_orng,1\naikawa_miyuu,4\nbouncy_(kirby),4\nperoshi_(graphic_loops),1\nhyakkimaru_(100mani),1\nhiroki_(vvkagerouvvr2),1\nsorakuma_(oycue41),1\nendou-jun,1\nanezu,1\nkomochi,1\nblister_pack,0\ntsukiuta,3\nsawa30_(tan-g85mw),1\nfutatsuki_(perfect_lovers),1\nrikku_(cake),1\narahabaki_nonko,4\nphilodendron,0\ntype_0_observation_seaplane,4\n46cm_triple_gun_mount,4\nanhao,1\nshiijisu,1\nblood_type,0\naoi_hinata_(gin'iro_haruka),4\nkodama_(chonks),1\ncocoro_magical,0\ngremlin_(monster_girl_encyclopedia),4\nbaka_dakedo_chinchin_shaburu_no_dake_wa_jouzu_na_chii-chan,3\ntaro_(116taro),1\nmakarony,1\nchocofing_r,1\nkatochin_(skpresents),1\nshige_(st-k),1\naltair_(granblue_fantasy),4\nsamosuke,1\nsougetsu_saya,4\ntakahashi_kazuki_(style),0\nyang_(wuhan),1\nagitation_(module),0\nningyou_no_kuni,3\nhiromochi_(hiro39ra1),1\nnagaoka_satomi_(ero_zemi),4\nlux_(pixiv4480548),1\nlefiya_viridis,4\ndorook,1\njitsui_(joker_game),4\npiko_(domokonchi),1\nqichao_wang,1\naung_(girls_und_panzer),4\nlittle_helper_(tflh),4\nhansharu_(foxbut),1\nzxj,1\nepidendrum_(flower_knight_girl),4\nkurano_yuuichi,1\napril_tada,1\niona_(last_period),4\njikgu,1\nnona_(831korokke),1\ntri-slosher_(splatoon),0\nmaro_bideru,1\nmo253,1\nkujibiki_tokushou:_musou_harem-ken,3\ndannis,1\nnenenn_cranberry,4\npariet,4\ntena,1\ntako_otoko,4\ngaru_(inazuma_eleven),0\nalister,1\nslippy_toad,4\nneko_ame,1\ngunshou,1\nratsu_nitsu,1\nkeithgrif_hazeldine,4\ngetting_up,0\nmaarika,1\nkiriki_liszt,4\nprimary_~magical_trouble_scramble~,3\nlewdness,3\nblood_dupre,4\nnatsuki_tomosuke,1\nfujiwara_chiyoko,4\nnightmare_gottschalk,4\nyayo,4\nmomonkii,1\nmuku_(komainu),1\nblind_justice,3\nfurekuru_(freckle),1\nhorseshoe_crab,0\nkamisama_hajimemashita,3\ndaba,1\ndanbora,1\nshirojiro_shiro,1\neito,1\ncoba_(bushclover),1\nhekopon,1\nurara_(himitsu_kamitu),1\ncz474,1\nozaki_toshio,4\nhanemura_kaori,4\nyuuki_amane,4\nmelon3,1\ndark_side_of_the_moon,3\nkonta,1\nteku_(the3dempire),1\nsasagawa_kureo,1\nlynne_(vocaloid),3\noccacia,1\namerican_revolution,0\ntktn,1\nbeniyaorin,1\nsiori,1\nmadoka_(otomedius),4\nentershell,1\ngewehr_43,0\nmattsua,1\ntachibana_tou,1\nwater_dragon,0\nhossi,1\numehara_daigo,4\nepiphone_(flet06),1\nsako_(criminal_girls),4\nzenigata_tsugiko,4\nraven_(ambrosia),1\nsaeki_hina,4\nindoshiki,1\ncanopus_wolph,4\nmukai_kiyoharu,1\ntakata_akira,1\naps_rifle,0\nforde_(fire_emblem),4\nwaai!,3\nmitsuharu_nene,1\nrina_tachibana,4\nkokabu,1\nyuka_(mischief),1\nlevin_brenton,4\nnaka_(sm6130),1\nken_(shiyu),1\nwarechu,4\nmachi_no_dakashiya,1\ntohno_ren,4\nyachika,1\nunited_states_angel_corps,3\nmasobe_(masbe),1\ntsf_monogatari,3\nheizen_(sigama),4\nfu_(fma),4\nyomo_(ym),1\nmimolette_(mimo),1\nsora_(pikasora),1\njon_kneeland,1\nakitaka_(mcdonnell-douglas),1\nrei_(rsoujou),1\nkicchan_(neko_nyan),1\ntakka_(aegis9294),1\ntusk0315,1\ngennsuikyou,1\nnata_(cross_regalia),4\nnishina_(alive001),1\ntoroakikan,1\nharuka_(muneneko),4\nmicrone_magazine,3\nthe_walking_dead,3\nueda_hiroshi,1\nmanaflare_amil,4\nsuji,1\nrenjou_sayaka,4\nmizuki_yuika,4\nchinkuru,1\nharuka_(gyrozetter),4\ntsukahara_bokuden_(sengoku_collection),4\nhoshizuki_sora,4\nremington_new_model,0\nsouken_no_cross_age,3\nyokiri,1\nbaka_guruo,1\nanasheya,1\nsoukoku_no_regalia,3\ntorisoboro,1\nsmokey_brown,4\nkurano_izumi,4\nbed_of_roses,0\nmeiyaku_no_leviathan,3\nnurie_(siniariot),1\ntsuna_maru,1\nsaikin_imouto_no_yousuga_chotto_okashiindaga,3\nshukufuku_no_kane_no_oto_wa_sakura-iro_no_kaze_to_tomo_ni,3\nsea_bishop,4\nnakasaka_sakana,1\nfuwa_aika,4\np-geist2,1\nburonko,4\nmikakeha,1\nmaddoze,1\nhidden_weapon,0\nlovesick_puppies,3\nronixis_kenni,4\nyuugiri_(zettai_karen_children),4\nceres_(p&d),4\nhasuno_saki,4\ngem_(ddt),1\nhoshimiya_raichi,4\nnakatani_yukiko,1\necriture,1\nglue_stick,0\nvamp_time,0\nall.,1\ndlei,1\nmiyauchi_hina,4\nkomorebi_no_nostalgica,3\nwoofey,1\ndfc-tan,4\nadam_(evangelion),4\nuyuu,1\ncancan_dance,0\nichi-be,1\nfelox08,1\nkarasumaru,1\nbladewolf,4\npaparaya,1\njuuno_(nekoda),1\nmurachiki,1\npierce_villiers,4\nryouga_(fm59),1\nnatsuyon,1\nkabio,1\ndormammu,4\n23/7,3\nkaneda_akihiro,1\nkyouka_(summer)_(princess_connect!),4\nyu-gi-oh!_3d_bonds_beyond_time,3\nrealpha,1\nmonster_hunter_world:_iceborne,3\nsaga_(saga_kancolle),1\ngundam_tekketsu_no_orphans_urdr_hunt,3\nkeyhof,1\ngaen_(okame_nin),4\nparadox_(yu-gi-oh!),4\ntwo_pokemon,1\nshark_bag,0\nlewis_pepper,4\nyuukoku_no_moriarty,3\nbeau_(animal_crossing),4\nsakuramx,1\nliyaku,1\nsaki_saki_(kanojo_mo_kanojo),4\nnagase_kotono,4\nhayami_shizuno,4\ndai-kaijuu_battle_ultra_ginga_densetsu_the_movie,3\nlim_donghyun,1\nsaite_jewel_(idolmaster),0\nyuudachi_(woofy_floofy_christmas_night)_(azur_lane),4\neru_daydream,1\n99noe_honoka,1\nsusie_(lord_of_the_mysteries),4\nonikoroshi,1\nsunsirou,1\nemlyn_white,4\nsuzutsuki_(suzutsuki_hanetsuki_adept!)_(azur_lane),4\ndoggye_(zginrwsn),1\nrta_in_japan,3\nrta-chan,4\nniwatori_(eck16614),1\ngbcolor_(naza),1\ntomatoritori,1\nfried_food,0\nteddy_bear_(mother_2),4\nhoru_(horu_111),1\nhitsuzi-kun,4\nelosia,1\nyomogi_mametaro,1\nphilharmonic_princesses,3\nkoyanskaya_(fate)_(cosplay),0\ndrum_canister_(kancolle),4\numikaze_(kancolle)_(cosplay),0\nplayasia,3\nsemicircular_eyewear,0\ncyenwl,1\nylceon,1\nkara_namako,1\nweisskaeppchen,1\nexciting_animal_(love_live!),0\njake_park,4\nmattai_(38myyyy),1\nkenneth_sleg,4\nnichi_(omicon2pc),1\nousawa_miu,4\ntabmur,1\nhoshiya_takahito,1\nonogami_shigehiko,4\nnel_dcm,1\ntp82n1r,1\nmekyokyopon,1\nhaute_drop_wattson,4\nmeiji_(meiji770),1\nnorris_(clover_theater),4\njane_(alchemy_stars),4\nyano_(odd_taxi),4\nmachlian_(girls'_frontline),4\nf1_(girls'_frontline),4\narisa_(g_(genesis1556)),4\nttegi_(ddeck_dg),1\nida_(idalol490),1\ndivine_spirit_mausoleum,0\njia_redian_ruzi_ruzi,1\npanaham,1\nlicking_horn,0\nzoyu_(wuedti),1\ncaptain_(drawfag),1\nbareteru!_cocktail_night,3\nsher_(imnotsher),1\nseafoamboy,1\nnanjou_ao,4\nyukimi_papino,1\nkong_(gyee),4\nash_(ranger)_(rainbow_six_siege),4\nkogking,1\nhoyhoycoro,1\nfresuke_sanc,1\nsiegfried_(super_cool_biz)_(fate),4\npiancaesar,1\nnin_fake,1\nnanamesohuutei,1\ntrey_ollis_loffewa_(kim_eb),4\nsan_diego_(sandy_claus)_(azur_lane),4\nakashi_(the_black_cat_cometh!)_(azur_lane),4\nneco-arc_bubbles,4\nnyansan_oekaki,1\nhayasaka_(a865675167774),1\nagyo_(housamo),4\nasterius_(housamo),4\nchessy,1\ncavewoman_(comic),3\nmeriem_cooper,4\namrb,1\nvander_(arcane),4\nharry_potter:_magic_awakened,3\nffxivys,1\ncarol0905,1\norange_(agnimon11803164),1\nnagabe,1\nsheena_(gensou_suikoden),4\nmahou_no_onaho_(sorairo_nyannyan),3\nkakizaki_yuzuka_(mahou_no_onaho),4\nworking_slave_(character),4\naku_(samurai_jack),4\nmongolian_clothes,0\nsonic_the_hedgehog_2_(film),3\nshinyafuru,1\nonaho_(otayoku),1\ncu_chulainn_alter_(formal_dress)_(fate),4\nosigatoutoi_tou,1\nsumbird,1\nyoku_(chocolateq),1\nsatou_youko,1\nfaust_(limbus_company),4\nindigo_(serene_day)_(arknights),4\nemma_woods_(boudoir_dream),4\narc_draws,1\nkonomi_(kumagai20),1\nm99_(rabbit_squad)_(girls'_frontline),4\nmaka_(user_rryf2748),1\nlee_do-eun_(oddsnail),4\nestellise_sidos_heurassein_(magical_maiden),4\noyatsu_(1727318),1\nno_bitches?_(meme),0\ntenmei_no_conquista,3\nlewdzure,1\nmira_(cevio),3\nnero_claudius_(type-moon_racing)_(fate),4\nodeko_yma,1\ntuye_(cultivate_vegetation)_(arknights),4\ncu_chulainn_alter_(fate)_(cosplay),0\nmarie_antoinette_(fgo_orchestra)_(fate),4\njeanne_d'arc_(ruler)_(fate)_(cosplay),0\ntenebrism,0\npodo_(hrodvitnir),4\nshichi_(tarakochan-medo),1\nmisery-chan_(ehrrr),4\nmarudoll,1\nrui_(bomberman),4\nokita_souji_alter_(swimsuit_saber)_(second_ascension)_(fate),4\nwindflit_(arknights),4\nstudent_council_president_(suzumiya_haruhi),4\nriddel_(chrono_cross),4\ntop_gun:_maverick,3\nseno_lepo,3\noomuro_(omuraisu),1\nnkvoop,1\njack-o'-lantern_head,0\nkyonshii_imouto_(onmyoji),4\nsakura_no_sei_(onmyoji),4\nmochiko_(motiko5103),1\nkusakabe_yuki_(demi-chan_wa_kataritai),4\najula_wachula,1\ntachibana_hiro_(yakitomato),4\nyoiyoi_(kannkann100),1\nkamonekm,1\nanya_(anyapoiiii),1\ntong_(freedom2000),1\nsenpai-chan_(beni_shake),4\nno_stopping_sign,0\njanus_(pantheon),1\ninnkeeper_loraine,4\nhamamuraacca,1\nfutanari_shoujo_no_shasei_nikki,3\ntsuzuki_otome,4\nsnake_youkai_(touhou),4\njet_stream_attack,0\namafuku_amane,1\nminowa_hijiri,4\nshoutmon,4\nnishina,1\nyui930,1\nriri_(narikeen),1\nwarabi_yuuzou,1\ndimentio,4\nwinged_sword,0\nfullerene,1\ntsuki_usagi,1\nder_untergang,3\nonodera_kyouya,4\nraijin_(oboro_muramasa),4\nchakoru,1\ndress-up,0\nuchuu_keiji_gavan,3\nkabako_(lilypicture410v),1\ndusonson,1\nnijuku,4\nhinaco,1\nhunter_(bloodborne)_(cosplay),0\nmitu-yuki,1\nhorseback_archery,0\nfemale_majin,4\nevenicle,3\nsunway,1\nbario,1\nsakuragi_hiroyuki,1\nmizuki_yayoi,1\napollo_(aquarion),4\nautomaton_(object),0\nueda_kazuyuki,1\npika_pika_pikarin_jankenpon,0\nfinger_in_navel,0\nharunoichi,1\nbeigu,1\nleaf_wings,0\nretora,1\nchari_de_kita,0\nikaruga_(ship),4\nk0bo43,1\nusa_(cubic),1\nhinako_(turip-turop),1\npurple_scales,0\nhirayama_madoka,1\nsi-ma,1\nkurokoshi_you,1\nkageyama_reiji,4\ntobitaka_seiya,4\nsmile_pact,0\nmera_azusa,4\ngirls_dead_monster,0\nfukodesu,1\nyuela,4\nkatase_mayoi,4\nmaaboo_(asuka1026),1\niron_ball,0\nlilith_clawthorne,4\nluca_(seiken_densetsu),4\nsoxkyo,1\nferdinand_(akizuki),1\nkanamori_mao,1\nsg550_(upotte!!),4\nkumip,1\nmero-n_usagisan,1\nnicola_cepheus,4\nsurprise_deepthroat,0\ndinosaur_boy,0\nfirst_order,0\nstan_(honkai_impact),4\nikura_(user_uuyj7743),1\nbounami,1\nitak69,1\nsumith,1\n029,1\nsaika_s._falnese,4\nmiura_(ayame),1\naosaki_kanade,1\ntakeuchi_shunsuke,4\ntsukikase,1\nmutton,1\nusami_youko,4\naono_(cmns),1\ncomic-z,1\nmahoxyshoujo,1\nmasami_t,1\nchou_(module),0\nsakasa_gurasan,1\ncode_geass:_nunnally_in_wonderland,3\niruru5666,1\nakagi_toma,4\ntobari_susumu,4\nworick_arcangelo,4\nanegobeya,1\nnearly_naked_ribbon,0\njet_squelcher_(splatoon),0\nimoden,1\nkohiu,1\nan_jera,1\nwatage_(lucky_yyg),1\netsuji,1\nkazama_kenji,4\nrubin,1\necchi_de_hentai!_yakimochi_ojou-sama!!,3\nyama_batake,1\nzane_(ninjago),4\nkogetsu_azami,1\nm.b,1\nfunkgamut,1\nyukimiya_chino,1\npegina,1\nyasu_(shijimi_8),1\nyukikaze_(aaassszzz),1\nurai_tami,1\nshelling_guardian_(elsword),4\ndreadlord_(elsword),4\nprint_ornament,0\nnekoma_tagi,1\nshiro_gisu,1\naudi_r8,0\nsumi_(tkzk525),1\nyoru_kiri,1\nniwaniwatori,1\nteuyu,1\nhinoki_(neko_irazu),1\njinryou_karen,4\nlime_green_feather,0\nshamrock_(polynian),4\nthe_king_of_fighters_ex2,3\ntf_(tfx2),1\nshimo_(shimo_00),1\nmkonstantinov,1\nyugami_(mikami_mika),4\nkannagi_yuu_(god_eater),4\nosana_najimi_(yandere_simulator),4\nito_hajime,1\nkevin_glint,1\namber_harris,1\nseno_(nanrandesu),1\nredame,1\nxuehua,1\naoi_lavender,1\nnataku_(sennen_sensou_aigis),4\nsachiko_(osomatsu-san),4\nknights_(ensemble_stars!),0\nandroth,1\nhaiiro_purin,1\nred_panda_costume,0\nyellow_blood,0\nasukatology,1\nclarisse_(granblue_fantasy)_(cosplay),0\nharu_(monster_musume),4\nshiina_chieri,4\nnarumi_haruka,4\nmizusane_(mitsukidou),1\ngenkai_tokki_moero_crystal,3\nakizono_kanna,4\nartemis_(tsukuyomi),4\npahyon,1\nshow_chiku-by,1\nwendelin_von_benno_baumeister,4\nkumakosion,1\nkuronyankokko,1\nyashiro_gaku,4\nirisu_(rabi_ribi),4\noboro_(binzume_yousei),4\nrose_to_tasogare_no_kojou,3\nrose_(rose_to_tasogare_no_kojou),4\nur_(wulfa),1\njingzhongyin,1\ntsunetarou_(yasu),1\ncrota,4\nmashiromi_noah,1\nyurudorashiru,3\nkakipiinu,1\njenna_kirsty,4\nblaise_(akigayakozato),1\nherbalist_(sekaiju),4\ngogongzid,1\nkage_(kagetuki00),1\nnanashino_(nanasino101),1\nnotauchi_mawaru_ni-shiki,1\ndemonlordraizen,1\nmomosawa_nao,1\norlijiang,1\neto_(reve),1\nfellatrix,1\nenne_(porforever),4\nlyib,1\nsheba_(xenoblade),4\nahoge_cat_girl_(kevbot),4\nember_(7012),1\nkurobikari,1\nvulcan_joseph,4\ncommand_grab_(nuclear_wasabi),4\nstpen,1\nlooking_through_fence,0\nthe_boys,3\nash_(cat7evy),1\nrakuto89,1\ntaguno,1\nhorcrux_college,3\ntail_strap,0\nmonsterx,1\nmasked_royal,4\nwonder_ride_book,0\ntehnyo,1\nlucas_(pokemon)_(cosplay),0\nguts_(berserk)_(cosplay),0\nreverse_amazon_position,0\nmebachi_maguro_(trok_mebachi),1\nalleyne_(queen's_blade_unlimited),4\ntore-saki,1\nhashi_moto,1\nui_(fuugetsuin),1\nnori_(arinomamani),1\nbakarott,1\nkazemachi_kei,1\nsukoburu_maeda,1\nhisui_suzuhana,1\nbai_banca,1\nlimit_break,1\nkurahara_kakeru,4\nsendai_(azur_lane),4\nryuuichirou_(haineken),1\nmari_gwydion,4\npool_party_fiora,4\nyuzukicture,1\nskk,1\nnekohara_peninsula,1\ncursed_m4a1,0\nkakegami,1\ncargo_pallet,0\nmechanical_owl,1\nkaminaga_mutsumi,1\nyuhkiano,1\niiumiarts,1\nvirgo76612871,1\nyuzf,1\nkazami_shun,4\nrita_(rabi-ribi),4\nnomiya_yuu,4\nsumi_suya,4\nlancer_(tera_online),4\nyuenibushi,1\nhankon,1\nshibainu_goro,1\nnishiii26miii,1\nzmore,1\namoretta_virgine,4\nsutorea,1\ninverted_cross_earrings,0\nkageura_masato,4\nmari_(granblue_fantasy),4\nshimazaki_setsuna,4\nhakuisei_ren'ai_shoukougun,3\nhumany,1\ninabahitomi,1\nseozo,1\nkirschwasser,4\nzyuwfc,1\nyoukai_channel,3\nsaiunkoku_monogatari,3\nakowazaki,1\nreise,1\npeso_(honopesopeso),1\nsoudayu,1\neireen_(usagi_nagomu),4\nmiringx2,1\naria_pkmn,1\ndick_in_a_box,0\nwatarai_alice,4\nmaster_cycle,0\npile_of_trash,0\ntwigg_(hilda),4\ncourage_(character),4\nlion_mane,0\nhokma_(project_moon),4\nmonica_campanella,4\nshift_(shiftillust),1\nmegas_xlr,3\n39_kura,1\nkamexmusi,1\nneritantan,4\nyuzupapa,1\ncherish_ball,0\nlew_(mudamoro),4\nrizuto,1\nacqua_of_the_back,4\nkamisuiori,1\nellen_aice,4\nakuhaku,1\nflower-shaped_hair,0\nringer_t-shirt,0\nrifu_skr,1\ntuber_(pokemon),4\nmiturousoku,1\nwatanabe_keisuke,1\ntsutsuji_(etra-chan_wa_mita!),4\nrofuro-e,1\namerican_civil_war,0\nmika_ahonen,4\nniwa_(niwaniwa_1227),1\nathena_(mythology),4\nkudou_(90n),1\nhand_on_animal,0\nnickelodeon,3\nlanhua,4\nnaimiaomiaomiaomiao,1\nayumiso,1\nneo1031,1\nterui_ryuu,4\nmafuteru,4\nzearth,4\nba_fed_kitaku,1\nlaserbiubiu,1\ncombat_shotgun,0\nmashikodori_(mashidori),1\nangelium,3\nthird_eye_on_chest,0\nakizora_ni_mau_confetti,3\nlittle_(artist),1\nlyrica_(vtuber),4\nlaplace,4\nmiryuku,1\ntakano_yuki_(mangaka),1\nmarushi,1\nkorosuke,4\nniimi_yukito,4\nnana_(t-a-f),1\nkmkm9696,1\ndropper,0\nkazuho_(kazu-ho-ho),1\nind,1\ndokkiri_camera,0\nkurimilove,1\nmuseum2088,1\nchuong,1\npoyoyon_chihiro,1\nhotchkiss,3\nmihara_aika,4\nxp-kun,4\nst_basil's_cathedral,0\nserori,1\ndoriruman,1\nheen,4\nthalia,1\nfelia_hanakata,1\ntanya_natdhipytadd,4\ncagayake!_girls_pose,0\nmystyhw,1\ndeath_by_degrees,3\nb-river,1\nnakamoto_suzuka,4\nshyh_yue,1\nsawatarou_(roto),1\nmoot,4\nzanza_(xenoblade),4\nluca_blight,4\nshikkaku_ishi,3\ngahiro,1\nmelisaseventeen,1\nmetal_slime,4\nzearthp,1\nsale_(jojo),4\nareia_(alchemy_stars),4\ndragon_hat,0\nsteel_chronicle,3\ntoshiba_emi,4\ngrace_(pokemon),4\ncellphone_vibrator,0\nnekoyamiyako,1\nshaun_hastings,4\nsengoku_kakeru,4\nezroseven,1\nroguetwo,1\ntachibana_ukyou,4\nyuirinex,1\nrobot_(manga),3\nraypass,1\nichinose_hinano,4\nshouko_azuma,4\nchidori_hina_(vtuber),4\nzxanzai,1\nhong_long,4\nmindflayer,4\nzhai_mu_q,1\nsin_eater_(ff14),4\n88_flak,0\nkomorikorimo,1\ninumantle,1\nnishii_(pixiv4603624),1\n830_(hamio),1\nfork_hair_ornament,0\ncero_rains,1\nnanase_yuzuki,4\njinjin-roririn,1\nkamiyama_teten,1\nootsuka_ken,1\nfujitachobi,1\nimpressed,0\ncucumbear073,1\nnojiko_(natumag),1\nayasaki_remi,4\nfuruno_masashi,1\nameria_(artist),1\nyama_(yam0a),1\ndakkarubi,1\nryokotyu,1\nooka_miko,4\nsoi,1\nparu_(parucom),1\nguilty_gear_vastedge_xt,3\nsento-kun,4\nnext_green,4\nimibi_(zizi_niisan),4\nnghbr,1\nmikako,1\nsonasan,1\ntsugomori_(remilia0398),1\nheaven_canceller,4\nnabari_(ogami_kazuki),4\nmanami030,1\nbanana_(among_us),4\nyukimi_(pan_(mimi)),4\nprint_choker,0\nhat_on_lap,0\nnene_nene,4\nray_726,1\njura_basil_elden,4\nemile_bertin_(maid_fantastique)_(azur_lane),4\nch2o,1\nkuzen,1\naepuru_arts,1\nmurmoruno,1\noki_ardana,4\nksvk_12.7,0\nkuroblood,1\nise_corridor,1\ndal_li_0130,1\nmomoshiro_chiyoko,4\nillyasviel_von_einzbern_(choco_angel),4\ncomkdom,1\nkigi_tatsumi,1\nwataame_(tulip),1\nzama_masaaki,1\nyuna_(yu-yu),4\nprossss,1\nhatomura_yuki,4\ntofu_(bean359),1\npossum_ears,0\nunion_jack_print,0\nlila_(lilakeylk),1\nj.lili,1\natalanta_alter_(third_ascension)_(fate),4\nthe_joy_of_painting,3\nlilia_kjellberg,4\nyun_yun_guan_bo,1\nraeenay,1\nperorin,1\nching_nu_yu_hun,3\nkagari3,1\naniroud,1\nandrastae_(voice_actor),1\nsakurano_ru_(vtuber),4\nka_maru,1\nlayton's_mystery_journey,3\nsyusyu_043,1\nknifewaifu,1\naphrodite,4\nkiyui_(honey_citron),1\nrip_and_tear_(phrase),0\noda_nobunaga,4\nmordred_(true_samadhi_fire)_(fate),4\n9no_kabe,1\nback_fin,0\nfigure_story,3\nm16a1_(blazer_of_the_trail)_(girls'_frontline),4\ntyranno_kenzan,4\ndaiyousei_mob_(touhou),4\nhatomame,1\nmiyake_aoi,4\nreindeer_hat,0\nirene_belserion,4\nrumlockerart,1\nruka_(blueplus84),1\narisu_(mikannjs),1\nfrilled_bonnet,0\nkochimo,1\nburmy_(sandy),4\nmochizuki_chihiro,4\noyadi,1\npii_(taromura),1\ngradient_pants,0\nbouquetforangel,1\ntdc24,1\nmarble_floor,0\nyzk,1\nyaku_(999ykseo),1\ndominique_(bloodstained),4\njabba_the_hutt,4\nbyoko_(byokoramen),1\n168admiral_(sunflower),1\nzy_jomi,1\nkajiro_miyako,4\nmig-21_balalaika_(muvluv),4\ndjinoi,1\nsperm_whale,0\nkushishekku,1\nzukapin,1\nrvve,1\nfarrel_kb,1\ncupola,0\nsasaki33916,1\nyutorin_kakka,1\nasuka_minato,4\nl_yth,1\nmashiro03,1\nringocha,1\nanti-u.n.,0\nsharon_holygrail,4\ni7,1\nargyle_hat,0\nfoodieg,1\nkazama_shun,4\ngosegu,4\ntodatanoto,1\nz.boat,1\noxide_2,3\nsonic_rush,3\nviewran,1\nkitatyoco,1\noohara_hisui,4\nshirousagi_una,1\noda_nobunaga_(koha-ace)_(cosplay),0\nrorinko,1\nbeeftanizoko,1\nlairei_yen,4\ngalactic_empire_(gin'eiden),0\nkuzuya_ramurin,1\nkuna_mashiro,4\nyuzumaki_tajii,1\nmurasaki_shikibu_(third_ascension)_(fate),4\nkagurazaka_iroha,1\nblack_lobelia_(cosplay),0\nmomomo_(m0_3),1\nhikage_(0hi_kageo),1\nmystina_(valkyrie_profile),4\nhedwig,4\ncat_ear_bikini,0\nfur_shirt,0\nrenberry,1\nsekiha_love-love_tenkyoken,0\nspiked_ear_piercing,0\nyoineko,1\nrenaoka,1\ntakamine_kiyomaro,4\npool_party_lulu,4\nmasshigura,1\nbackrooms_(creepypasta),3\nhise,1\nsatomune_s,1\nhirose_tsunami,1\nquadruple_scoop,0\nhoukago_eroge-bu!,3\nangelg,4\nzzq,1\nfuco,1\nnakaizumi_tatsuya,1\nhanezo,1\nyupi_mild,1\nkotogi_raura,1\nhoshi_o_mite,1\nkyomeihibiki,1\nsylvia_richter,4\nhonoo_jun,4\nafro_samurai,3\nwoon,1\nasari_(23feline23),1\ndaidouji_mayura,4\nneo_zeon,0\neureka2,1\nishikawa,4\nprotoculture,4\nkumo_(kumo_hsc0216),1\nshiono_etorouji,1\nhansum,1\nmorimori_chikka,1\nsuzunashi_susumu,1\ngomasho_asuka,1\npsicochurroz,1\nzhaoyuan_pan,1\nminagata_isaka,4\nmamaa_(maeni6379),1\na_chika-tastic_summer,0\ndroite_(yu-gi-oh!),4\nkumatetsu,4\nhorace_(pokemon),4\npoppoman,1\nqueen_of_mane,4\nkazashiro_miu,4\njankojaro,1\nkagura_san,4\nblaze_rod,0\nflonne_(cosplay),0\nmizutani_yuuko,4\nmayu_(cowfee),4\nsato_zero915,1\nmaikro,1\nsen_(sen42724788),1\nmidorigawa_akari,1\nsetsuna_(kaiyari),4\nritsuko_kubel_kettenkrad_(cosplay),0\nowari_naki_natsu_towa_naru_shirabe,3\noni0417,1\nwan_ban,1\nitaoka1,1\nhidaruma,1\nscyze,1\nruka_tou,1\nkithera,1\ntom-masu,1\nangelic_pretty,3\naurora_(fate),4\ndharkon,4\nbherna_(armor),4\ntree_bowbow,1\nthorin_oakenshield,4\nshinano_(kancolle),4\naphrodai_a,4\nmorini_ochiteru,1\nst._cygnus,1\nfunky_kong,4\nchisato_(zyklus),1\nrin_(rinriemie),1\nminior_(violet_core),4\nearmuffs_around_neck,0\ncell_(acorecell),1\ntoriharara,1\ngeru_futota,4\nzokusuke,1\nwatase_(wataxx),1\nkorira,1\nmiao94236,1\nayla_(punishing:_gray_raven),4\nsentaro207,1\nmedic_2_(sekaiju_4),4\nohaduke,1\nooru_(t20nozomu),1\nribbed_cardigan,0\nfaeki,1\ncappu,1\nren_(sekaiju),4\nharikoe,1\njoker_(persona_2),4\nlavender_footwear,0\nwhite-reimu,4\nelica_dayo,1\nbaek_hyang'geum,1\nfg42_(girls'_frontline),4\ng43_(girls'_frontline),4\nx-gun,0\nbad_cgsociety_id,5\nhk23_(girls'_frontline),4\n6p62_(girls'_frontline),4\ncufant,4\np226_(girls'_frontline),4\nrishixiyan,1\nmaster_raven,4\n41y_(yooichiwai),1\ntigrex_(armor),4\nfai,1\nfu_u03,1\nyuu_chitose,1\nfrozensoba,1\ndixsept,1\nharitama_hiroki,1\nkojy,1\nkim_sung_hwan,1\ntatsunoko_pro,3\nrelated,0\ntasuku_(user_fkzv3343),1\nbro_(badmaiden),1\nkar98k_(purity_in_vermilion)_(girls'_frontline),4\ntenchou_(jahy),4\nnekono_moni,1\nstarblame,1\naoi_hana_(oumagadoki_doubutsuen),4\nmichibata_65,1\n27-nichi,1\ndei_shirou_(character),4\nmatcha_(user_yyss8744),1\nraurashun,1\nkiller7,3\nobabynight,1\nkinakomocci518,1\nlittle_boy_commander_(girls'_frontline),4\naegis_(girls'_frontline),4\nnakazaki_tou,1\n0tk_(ma),1\nsnake_man,4\ntsuzuki_yoshio,1\nokosan_(pixiv),1\nairnery,1\nzzizzi,1\nnochise_karin,4\nsakino_(sanodon),1\npaarthurnax,4\ntot_(zhxto),1\ntorry912,1\ntenchou_(sakai),1\nsuirenji_kiyoharu,4\nsusan_strong,4\nyansuiyuluo,1\nmegu_kaze,1\nmay_(arknights),4\niinchou_(seto_no_hanayome),4\nbishamon_(usagi_ba),1\nfutaba_(futaba_uc),1\nheeparang,1\nlady_of_the_darkling,4\nbrown_male_swimwear,0\ng-flame_goddess_(ishiyumi),4\nharai_kuuko,4\npigat,1\nkudoumiko,1\ntriple_bambi,1\nyamamura_sadako_(cosplay),0\nhayahoshi_akuru,4\ngo_shika_anan,1\nblack_cat_ronaldinho,1\nvincennes_(azur_lane),4\njfzm001,1\ndted30th,1\nbellemere,4\nuso_ashio,1\naisha_(king's_raid),4\napplemac,1\nwalkermachine,1\nsylvia_sherwood,4\nhmv,3\nnonaka_tama,1\ntouching_forehead,0\nleft_out,0\nys_memories_of_celceta,3\nhitch_dreyse,4\naarc,1\nteamfight_tactics,3\nb7a_ryuusei,0\ntsujiya_okuyasu,1\nyaegashi_isa,1\ndbals0807,1\nqueadluun-rea,4\numino_ht,1\nvintage_clothes,0\nsuper_sons,3\ntechsupportdog,1\norizuka_momoko,4\nfu_shark,1\ntouko_(wanko_to_lily),4\nkoron_(macarongirl27),1\ngaroshirou,1\nknuxy,1\nfensi,3\nreika_(time_gal),4\neggplus,1\nlucabassiart,1\nmarguerite_pistail,4\nsuga_yoshihide,4\ntwinrova,4\nsoldering,0\nathanasia_de_alger_obelia,4\nbotamon,4\nperidot_(houseki_no_kuni),4\nmagmastudio,1\nbaraen,1\nkaavi,4\ndorei_himekishi_to_dorei_jijo_to_no_slow_life,3\nchaboex,1\ncollie_(dog),0\nbeniimo_danshaku,1\notomo-san,1\nlone_wanderer,4\nlucia_(d&d),4\nalcremie_(ruby_swirl),4\nlisa_simpson,4\ncombination_wrench,0\nshaved_body,0\ntakani0721,1\nkikkoman,0\nsugita,1\ntanimeso,1\nsarisa,4\nzetsu_(zyej5442),1\nyui_(bofuri),4\nmagic_bikini_(dq),0\nkomori_(littleforest946),1\noshiri_(12764076),1\ntie_pilot,0\nunicorn_boy,0\nsatsuki_g,1\nchoice_scarf,0\npomuta_(tama922),1\ndaffy_duck,4\nookubo_kumi,4\ndrgryu750,1\nnakanojou_tsuyoshi,4\nreccoa_londe,4\nfuru,1\naikawa_fuugetsu,1\natari,3\npatsukin_(kakitama),4\nrobbie_(zelda),4\nwitch_lady_(dq8),4\ntapo,1\nnatuya_sai.,1\nstar_guardian_taliyah,4\ntwobey,1\nazik_eggers,4\ninferno_cop,3\nmasturbating_while_watching,0\naudrey_hepburn,4\npotters_wheel,0\nsarutobi_hiruzen,4\ncow_hair_ornament,0\nmizuno_akane,4\nracal_ra,1\nchushou_wang,1\nritsuko_(yamibou),4\nemily_kaldwin,4\nyobanashi_deceive_(vocaloid),3\ndrawloverlala,1\nstigmata,0\naya_(ayamenora),1\nsalyut,1\nprint_headband,0\nkatsuta_satoko,4\njoehongtee,1\nkubure,1\norange_sweater_vest,0\namagiri_tsukuyo,4\nhiiragi_hiyori,4\nfuji_meno,1\ndan_gan,1\nfoop,4\ntoma_(me666nm),1\nglowing_finger,0\nponono,1\ntagalog_text,0\nhand_on_handle,0\nnegi-mamire,1\nenki_(gurren_lagann),4\nkonoha_(shinrabanshou),4\nyi_(saver5607),1\nears_touching,0\nsniping,0\nchikaishi_chisato,4\naoiro_0w0,1\ncrazyskull,1\ndae_seo-yun_(nyantcha),4\nwave_61,1\namane_kanata_(cosplay),0\nhasumi_rain,4\nmonabianou,1\ndanusko,1\nhand_in_thighhighs,0\nmeerkat_boy,0\nashorz,1\nz28_(azur_lane),4\nfujino_yuuki,1\ntoy_horse,0\nwormadam_(sandy),4\npandramodo,1\nroribo_rucha_hashira,1\nguaili_shu,1\nnoor7,1\nnezumi_(09261377),1\nbakugan_gundalian_invaders,3\npluto_(planet),0\nn-bata,1\nyui_(linaw-key08),1\nnarumi_shouhei,4\nhitotsuba_kaede,4\nraquna_sheldon,4\ninquisitor_(dungeon_and_fighter),4\nzora_set_(zelda),0\nsturmjager,1\nkusaka_io,1\nbyneet,1\nkonagonana,1\nkk90,1\naoi_ume,1\nasura_senki,1\nprincess_rei,4\nsand_girl_(last_origin),4\nj_fang,1\nshippaidayo,1\nghostas,1\nyuuri_(fukuroudou),1\ncat_cube,1\nsumisi,1\nmoegirlstudio,1\nzoey_(shepherd0821),4\nten-u,1\nwatanuki_uchiha,1\nsabra_greengold,4\nhaitani_rindou,4\nkaguya_ame,1\nlunasa_prismriver_(cosplay),0\nsitting_on_chest,0\nemma_(usagi_nagomu),4\nnanamatsu_koheita,4\nhagehiro,1\nfujisawa_hikaru,1\ndaaaa,1\nfish_bread,1\npepsiman,4\nyuutopia,1\npavolia_reine_(artist),1\nogimotozukin,1\nchen_jun-zou,4\nnitta_minami_(cosplay),0\nsoppos,1\nkintsuba_(garapagosukkk),1\ncrying_cat_(meme),0\n41_(chvinyau),1\ndaishi_takamura,1\nwild_wet_quest,3\nyoshimori_misaki,4\nharupy,1\ndaryl_yan,4\nblu_(1712),1\neight_of_spades,0\nshino_(ten-m),1\nsizeaton,1\ntamazen,1\noomabu_shichirou,1\nvashti_(pokemon),4\nnnikko,1\ndiscord_logo,0\nmorito_leaf9,1\nharimao_(hanzou_uji),1\nengraulis,1\nbeam_scythe,0\ntotooria_helmold_(cosplay),0\ncacao_devil,1\ntamayomi,3\nnavi_(ivan),1\nkoshian_(taiyaki),1\noctopus_hold,0\nwii_balance_board,0\nhoshisakura_(starblossom),1\nyumiya_rakko,4\nhunter_rank_e,1\nkazuki_ren,1\nryukow_masseau,1\npetankoside,1\nlyria_(daughter_of_pearl)_(granblue_fantasy),4\npmoazi,1\n598teitoku,1\nshoka,1\nwhite_queen_(date_a_live),4\nblack_diablos,4\ncottage_project,3\nmahimaru,1\nkazoo,0\nkotone_ranmaru,1\noniku_(mndayo),1\nanchan,1\nkirika_(peach_momozen),4\nseal_costume,0\ncapotain,0\nhanawa_momiji,4\nphil_dragash,1\nnemutagari,1\nshimejirou_(000kk),1\nyeon_bom,1\nvector_the_crocodile,4\nsankusa,1\nkiyu_(doremi's_party),1\njack_(fft-0),4\nhitsuji_no_uta,3\nwalnusstinte,1\nradio_transceiver,0\nwhitemaria,4\nkiyonari_ulquiaga,4\nschool_shock,3\nviper_m1,3\nchikuwapan,1\nhomura_yuuka,4\nkirino_sami,4\ntoyatei,1\nhagiwara_natsuki,4\ndouganebuibui,1\nbeco,1\nxxkuroxx,1\nswain_(legacy),4\nhand_on_thighs,0\npony_(artist),1\ntora_(koihime_musou),4\ntakigawa_magister,4\naibu,1\nflolium_blosselliand,4\nruruguno_janus_enfinus,4\navicy,1\nhatoba_sakura,4\nlittle_monica_monogatari,3\ntintin,3\nyusa_aoi,4\nur-bracka_(gogalking),4\nnakajimayou,1\nzimbabwefumi,1\nnaridon,1\nmagical_arms_angel_nana,3\ninnocent_blue,3\ntktg,1\nurban_style,0\nhalf-elf,0\ncain_morris,4\nharudera_yuria,4\nshared_pocket,0\nkawama_shuusuke,1\nkatagiri_atsuko,1\nushi_(ushi_manji),1\nkomori_yui,4\nnnns,1\nmithos_yggdrasill,4\nadam_jensen,4\nmyougi_kuraganosuke,1\nnanarinca,1\nnme,1\nnogaru_wako,1\nkamishima_mihori,4\ntoudou_erika,4\nrom_sen,1\nxyzal,1\nmerri,1\nnonohara_mikako,4\nkyra,1\nitami_sumihito,1\nkkaiju,1\njiji_(wander_plug),1\nmatchin,1\nnessu_(nnn07897),1\njoey_hanma,1\nhizuki_(hidu_aki),1\nkanami_yuu,1\nmellpon,1\nayatori,1\ntokiwa_png,1\nmomen,1\nserizawa_kasumi,4\nnarusawa_kei,1\ndivine_nova,4\ntsutsuji,1\nwombat,0\nshiina_maru,1\nmomomosae,1\nnoir_(armor),4\ninukashi,4\nbanubeefriends,1\nmanbosakuranbo,1\nbyakko_(ao_no_exorcist),4\nkashiwaba_hisano,1\nduckchuni,1\nr_tanaka_ichirou,4\nururu,1\nmoffunnyo,1\nkiko_(strategist),1\njo_(artist),1\nj_(shining-next),1\nshou_zama,4\nli_xiaolang_(cosplay),0\nmineko,1\nmio_(dororo),4\nsig_curtis,4\nmuramasa_dash,1\nhiyoko_touna,1\nmm-mb,1\nmzd421,1\nbarnaby_brooks_sr,4\nsacchin_(yama),1\ntsukishima_orihime,4\nleukothea,4\ntaccomm,1\nmario_strikers_charged,3\nmikuri_yoru,1\ngan_ning,4\nxiahou_dun,4\nkuzumi_chizuru,4\nflapper_girl,0\n2mota,1\nlousun,1\njf_illustration,1\njamu,1\nrotasu,1\nnakbe,1\npainfultree,1\ndomu,1\ndio_(casshern_sins),4\nmenosuke,1\nichi_ran,1\ncloverpeia,1\nbushu_(lvl),4\npoopdick,1\ndouble-h_(mawaru_penguindrum),0\njozu,4\nsen_no_maken_to_tate_no_otome,3\nstuffed,0\nnotnoe_(dxcl),1\nyukagen,1\ntp65pxu4,1\nu_to_i,1\nkaburagi_muramasa,4\nryo_(piggerworld),1\nkate_(pokemon),4\nyuri_(purinlove),1\nshizuko_(chipccchip),1\nchaos_angels,3\niwashiro_byou,1\nkonno_seara,1\nmeji,1\nsion,4\nsanju,4\nsako_makoto,4\nchikyuujin_a,1\nakane_(ar_tonelico),4\nultraman_leo_(series),3\nmokana_natsumi,1\nmatsukaze881,1\nkiyobeii,1\nkarijuku_tomoe,4\ngir_(invader_zim),4\ntachiuo_nikominabe,1\ncollection,0\nkirishima_choushiro,4\ngrief_syndrome,3\nyukichi_(yu-ame),1\nminetani,1\nhappa16,1\nphara_l._olyn,4\nzzt_(zztsama),1\nsuzuki_address,1\nnanase774938,1\nmawaru_(ajan),1\nttl,1\nblack_matagi,4\nhamo_tosaka,1\n7h2o,1\nhazuki_natena,1\nkobayashi_takashi,1\ntenjuin_marie,4\nliefe,1\nhiiragi_mitsuna,1\nriki_(elseeker),1\nhitaki_azami,1\nandou_mirai,4\nsaito_himea,4\nyahweh,4\ngaruko,1\nkuu_(lyrical_lyric),4\ndecko,1\nkinohanaomise,1\nar_forgotten_summer,3\nkeeeesuke,1\nsister_mermaid,3\nsakurahime,4\nnott_(fire_emblem),4\nsoushisouai_note,3\ntoda_youkon,1\noniichan_kuchukuchu_shisugidayo,3\nnakahara_asami,4\nasakura_saki,1\nomokane_saki,4\nblack_sabbath_(stand),4\nhanda_shinobu,4\nhachi_kou,1\nmuramasa_konoha,4\ncross_days,3\nfake_money,0\nramii,1\nbarzam,4\nsuzaku_mikado,1\nhaou,1\nzetman,3\ndokin-chan,4\ngaplant,4\nbetabetamaru,1\nwakamiya_asuka,4\ndance_princess_of_the_ice_barrier,4\nbad_aim,0\ntsumiki_(12756023),1\nprincess_venus,4\nkumosuke,1\npoison_(final_fight)_(cosplay),0\nkodama_izayoi,4\nkotobuki_maimu,1\nmr._shine,4\nwakaouji_rui,4\nsa_haru,1\nspetsnaz,0\nmacla,1\nlio,1\nacademy_city,0\nkuro_(pixiv213382),1\nultimate_chimera,4\nasf,1\nsumomo_(kumatanchi),4\ntooru_jin,1\nuvao-tan,4\nslime_(minecraft),4\nsnake_lady,4\nshun_(artist),1\nkoto_(yu_yu_hakusho),4\nhoshineko_(kiraneko),1\nyu_tin,1\nfrodo_baggins,4\nmisa_(mikarin),1\nakechi_mitsuhide_(sengoku_otome),4\nalicia_infans,4\nsugisaki_yukiru,1\ntakumi_(quilt),4\nmiomio,1\nbattle_fantasia,3\nretpa,1\nmaru_(092102040413),1\nalexander_(final_fantasy),4\npurapa,1\nnonekong,1\nmyoujin_yahiko,4\nndemotte,1\nfuabio,1\nhiwari,1\nfuturegraph,3\namarao,4\nu_u_ki_u_u,1\nchristmas_girl_(itou),4\nforced_kiss,0\nayanami_raising_project,3\nnao_(nao_puku777),1\n10zikan_netai,1\nnelu_(rob_ishi),4\nkasukabe_(dorohedoro),4\nrenka913,1\nkobayashi_masakazu,1\ne-t,1\notenki_studio,3\nminase_nanami,4\nmeshiya,1\nnutsiqu,1\nsuperman_(cosplay),0\nyurine,1\nakadume,1\nvf-4,4\nnarodenden,1\ncaucasus,3\nsynchronicity_(vocaloid),3\ndaz_bones,4\nsuzushiro_(szsr),1\nx-4kazu,1\nkazane_hiyori,4\nprincess_mars,4\nnagimasa,1\nnekomatagi,1\nfemale_mechanic_(dungeon_and_fighter),4\ntaiyou_sentai_sun_vulcan,3\ntashite,1\nwalhalla_illusion,1\ntakamachi_miyuki,4\nthanatos_(sound_horizon),4\nkobayashi_tamami,4\nke-a-ru,1\nsauron,4\npenpon,1\ninjection_fairy_lily,4\nseira_orgel,4\nshuffle!_essence+,3\nalice_(ore_no_natsuyasumi),4\ntowashibuki,1\nhimawari_(sunlight_yellow),1\ninsider_(pix_insider),1\nasami_ogawa,4\ntoroko,4\nsivil,4\nyoigoshi-hen,3\nsanada_yukariko,4\nnanase_narue,4\ntokyo_underground,3\nyawara_a_fashionable_judo_girl,3\nkaruizawa_momo,4\nsenjou_nanase,4\nichimonji_mutsuki,4\nhadou_ruri,4\nminazuki_taeko,4\npoitanu,1\nkokeshi_men,1\numiichi_kurage,1\nmaiza_avaro,4\nmegastore,3\nnakopapa,1\nel_viento,3\nstray_little_devil,3\nmasaki_mayuka,4\nraidese_f_branstein,4\nnevada-tan,4\nsakura_kiri,4\nbakugaju,1\nyoshino_yuusuke,4\nhibiki_seiya,1\nfuchikoma,4\nlorna,4\nyun-chan,1\nfujii_toshiaki,1\nkaidou_hiroyuki,1\nianeira,4\nvanship,0\nshirogane_no_soleil,3\ntenbatsu_angel_rabbie,3\n86thunder,1\nindiana_jones_(cosplay),0\ncatty,4\nkawada_tsuyoshi,1\nbm03,1\nsharon_apple,4\nkyonko_no_otouto,4\nhimawari_(myslot),4\nbattle_moon_wars,3\nitaru,1\nootsuki_ren,1\nhouquet_et_rose,4\ngakuen_kantai,1\npower_slide,1\nasaki_(artist),1\nskan_srisuwan,1\nmaca,1\nneo_armstrong_cyclone_jet_armstrong_cannon,0\nmuu-chan,4\nlasse_aeon,4\ntamu_(tamurarucaffe1226),1\nhakojuurou,1\nmitomumitomu,1\nmakiko_gregory,4\ntanabe_ai,4\nkoni,1\nnecron,4\ntsunken,1\nkotobuki_miyuki,4\nphone_book,0\nsengoku_koihime,3\nkiki_(saint_seiya),4\nsakaki_chihiro,1\nrush_sykes,4\nsiva,1\ntoaster_oven,0\ntomooka_shinpei,1\ndiablo_2,3\nmad_scientist,0\nash_yokoshima,1\nhirose_tomohito,1\nosatou,1\npcell,4\nlux-pain,3\ntokyo_lover,3\npussy_eating_monster,0\nsuupuushan,4\nfacehugger-tan,4\nkirijou_mitsuru_(cosplay),0\ndark_aqua,4\noval_background,0\nburn-up_excess,3\nkurata_sana,4\nbandit,0\nharo_art,1\nvolt_crocodile,1\nelena_(jagaimo_(kkamja)),4\nhazuki_m,1\nhuyunora,1\nyumeno_sally,4\nkira_boshi27,1\nkamen_rider_kivala,4\nhowa_type_20,0\nrou_honoo,1\ntorino_rito,1\nillustrator,0\nlorelei_(module),0\nyuuki_susumu,1\nomigawa_namari,1\ngumi_9357,1\nkaiserreich,3\ntask_baron,1\nmarshmallon,4\ntotosu,1\nnene_(xenoblade),4\nalcremie_(flower_sweet),4\nam88121,1\nsawaki_rinna,4\nvampire_hunter_d,3\nshoryuki,4\nu-ka_(pixiv5407),1\nheinicke,1\nyuho_kim,1\nmakami_(kemono_friends),4\nmarumaru2820,1\nokazakileo,1\nkita_shinsuke,4\ntomine_kasumi,4\nyorkshire_terrier,0\nchikyuu_kuudou_setsu,1\nryuna_(inc_moon),1\nre-45_auto,0\nkasugano_midori,4\nwarden_(jadol_9),1\nkiseki_no_mahou_nozomira_melody,3\nclover_(ceres_fauna),4\nkensei_(ciid),1\ntoriko_no_tsubasa_~butaiura_de_midara_ni_odoru_shojo_ningyou~,3\nfireball_666,1\nkagamigawa_noelle,4\nstar_trek_the_original_series,3\nmira_(ogino_atsuki),4\nmaiya_(gundam_build_divers_re:rise),4\nyukkronii_(ouro_kronii),4\nitabag,0\nhimuro_rabi,4\nillustration_room_nagi,1\nplaymaker,4\nelsi,1\nmanaia_matawhaura_hato,4\nexpectant,0\ncicin_(genshin_impact),4\nimminent_bukkake,0\nchu_dong,1\ntaffy_(squeezable),4\nraven_beak_(metroid),4\nwitch_king_of_angmar,4\nyukikana,1\ntareus_(girls'_frontline),4\nkoruri-chan_(sora),4\nhayama_umi,4\ntentacle_underwear,0\nchipmunk_costume,0\nyousan_(pixiv540898),1\nsummon_lw,1\nyoung_cricket,4\ncale_henituse,4\nsilicobra,4\nciel_(tensei_shitara_slime_datta_ken),4\nsaggitary,1\nhanakoto_igusa,4\nnecrozma_(ultra),4\nkeikoku_(kujira),1\nyamashiro_(sales_clerk_offensive?!)_(azur_lane),4\nfraise_(nekopara),4\npof_(peuplierpof),1\nmgl-140,0\nfuyu_kiss,3\nivara_(warframe),4\nfushikawa_kokoro,4\nnecrozma_(dusk_mane),4\nmay_(bofuri),4\nhayakawa_natsuki,4\nmyudon18,1\nminazuki-sensei,1\nshiori_lee_jeng,1\nedgar_syu,1\nore_no_sugata_ga_toumei_ni!?_invisible_to_suuki_na_unmei,3\nnanase_miyuki,4\nrmtwo,1\nepko,1\ntsuruta_saya,1\ndorasakio,1\ndoumeki_parker,4\ntraptrix_nepenthes,4\nmetako_(hoyashi_rebirth),4\nnaruse_(0819),1\nc-47,0\nvivillon_(elegant),4\ncarnivore_(kemono_friends)_(abubu),4\nloboke,1\ngimai_seikatsu,3\nhatahata_p_(taritari1648),1\nyurian_(user_utch8788),1\nscamp_(scamp_f16),1\numeo_retto,1\nsasame_yozuru,4\nyukine_chris_(another),4\nginjiro_(ginziro525),1\nkatano_sukune's_bottle_opener,0\nsharon_les_halles,4\ndaxieshen_huashi,1\nserbu_super-shorty,0\nasagi_noko,1\nyun_ling,1\nfire_valkyrie_(p&d),4\nfeng_shao_kky_(arj0522),1\nstar_color_pendant,0\nnakata_seigi,4\nnarcolepsy-1900,1\npeppermint_jet,1\nro_mugi,1\nmaz-537,0\nwearshoes,0\nshin_(world_3000),1\nuokin2,1\nsephira_su,4\nw_nijuuyon,1\nbutterfly_on_face,0\ni-coat,1\npochimoto,1\ngokai_red,4\nkojima_takashi,1\nhirono_(hirono75493896),1\njoker_oowo,1\ngotmil,1\nvikala_(granblue_fantasy)_(cosplay),0\nelline_(kirby),4\nstonjourner,4\nblipbug,4\nletter_banner,0\nhoshigaoka_ciel,4\nbox85,1\nmatsuura@parao,1\nmorpeko_(cosplay),0\ngigantamax_centiskorch,4\ntaguchi_sp,1\nshy_(character),4\ndr._ziegler_(overwatch),4\nyatta_ne_tae-chan!_(meme),0\nferrari_f8_tributo,0\n86_(nononononoway),1\ngascogne_(muse)_(azur_lane),4\nmarrontorisu,1\nfoo_(wei),1\nshin'ichi_(yokosuka220),1\nyamashiro_(street_corner_offensive!)_(azur_lane),4\nozawa_rina,4\nlouis_cypher,4\nxaruex,1\nfairyapple,1\nchim_(atelier),4\nprivate_ten'ou_middle_school_uniform,0\nkoan_(sailor_moon),4\nglycan,1\ngodzilla_earth,4\nmimori_(mimori_05),1\nrevenant_(doom),4\ndies_irae_pantheon,3\nhawker_hurricane,0\ngeoffrey_(fire_emblem),4\nkaguya_(ookami),4\nakanesasu_shoujo,3\nhub_lass,4\ndoraxi,1\ndragon_ball_z_dokkan_battle,3\nmiko_(miko030751),1\nice_age_(movie),3\nred_ranger,4\ndama_(sindygao),1\nshiisuu_rattamu,1\nkobayuu,1\nlotus_pod,0\nmikmix,1\nmiyatomo_(hibaraya),1\nchevasis,1\nmimi_(mini1474),1\nakainoda,1\nfruitsrabbit,1\ncamilla_(sennen_sensou_aigis),4\niiris_(sennen_sensou_aigis),4\nanya_(sennen_sensou_aigis),4\nphysics_point,1\nwazawogi_(wzog),1\njack-o'-lantern_(kemono_friends),4\nkouki_(nowlearning),1\nyoyoiro_(sysi20),1\nayukawa_ayu,4\nxiao_you,4\nsyubare,1\nbendy_and_the_ink_machine,3\njaku-chara_tomozaki-kun,3\ntsukigime_(fool_ehle),1\nalpha.e,1\nmoondoggie,4\nshokujin_hatefukuchuu,1\ndorotte_(sb),4\neishin_flash_(umamusume)_(cosplay),0\nshimesaba_(masuraoburi),1\nyuzuki_(wixoss),4\nfencer_2_(sekaiju),4\nboeing_747,0\nnikki_(miracle_nikki),4\nrb2,1\nbravely_default:_fairy's_effect,3\nnigmatullin,1\narcher_(prisma_illya),4\njinshi_(kusuriya_no_hitorigoto),4\nkeoya_(keoya_01),1\nhatakaze_(azur_lane),4\nvauquelin_(warship_girls_r),4\nkent_(warship_girls_r),4\nnitrile,1\nsetia_pradipta,1\ngina_lestrade,4\ngipsy_avenger,4\nh&k_hk21,0\nchui_(weapon),0\nalexandrite_(gemstone),0\nharuno_(haruno_na),1\nsunakawa_mizuchi,1\nfafnir_guildmelag_linda_blair_hanako,4\ncurlew_(azur_lane),4\naikiyun,1\nkudou_shin,4\nchouku_tetsushitsuiwa,1\nfish_g,1\nmomoto0193,1\nxiaochentan,1\nniggurath_the_ancient_tree_branch,4\nbrooklyn_nine-nine,3\ns_a_k_u,1\ngunjin_(aguran),1\ntorso_only,0\nburuma_lift,0\nyamisuke_(silent-black),1\ndewey_(azur_lane),4\nwe-tan,4\nmyufrae,4\nneyonsan,1\nsotie,1\nmoneko_(nyanko_daisensou),4\nborderlands_3,3\nsawatari_honoka,4\nkuroe_(kimi_omou_koi),4\nbuntason_(buritarooooo),1\non_umbrella,0\ndddsunsky,1\naohane_riko,1\nnayamer,1\nasuta_(syunsn),1\nkashiyarrm,1\nusami_(50-point_caliper),1\nstar_wars:_attack_of_the_clones,3\nsententia_(senhariko),1\neno_(abekawa_hikozaemon_x),1\nmisakikawaii05,1\nhermit_(granblue_fantasy),4\nleepy,1\nbarbed_tongue,0\nmigimura_sakimori,1\nguroto,1\nhancock_(warship_girls_r),4\nakashi_(welcome_to_azurcon!)_(azur_lane),4\nmordred_(fate/stay_night),4\nkabitakamaboko,1\nmike3284,1\nbenzbt,1\nshingetsu_ernesta_fukami,4\nsumxsum03,1\nameonna,0\nsiamese_fighting_fish,0\nrobert_m,1\namot_211,1\ntournament_bracket,0\ntaikoi7,1\ntail_around_neck,0\nkamado_kie,4\nwaruzamurai,1\nkiwi_(pixiv6429539),1\nosawa_(zekkyon),4\nadjutant_(agent_aika),4\nreindeer_hair_ornament,0\nlily_love,3\nchito_(flying_witch),4\nyomoi_nui,1\npondo_(peng-model),1\nsurume_(su1193),1\nfernanda_dias,1\ntawasiupa,1\nli0n_(kongshushiwo),1\nguinea,4\nluceid_(wild_arms),4\nredfish,1\nnazukari_mirai,4\ntamachan_(gam_baru_ger),1\nchichinoe_plus,3\nmahou_shoujo_artelion,3\nkagari_rukako,4\nrankou_kyoushitsu,3\nleg_cast,0\nwatarai_sonoka,4\nooishi_(shiromanta),4\ndrax_the_destroyer,4\nrui_li,1\nmachi_(xxx503r),1\nphoru_(elsword),4\nokome_kogashi,1\nmatsumoto_waka,1\nmagekichi,1\nruebird,1\nemperor_(sennen_sensou_aigis),4\ngolden_spiral,0\nyuiti43,1\nsoma_somari,1\nrisenegi,1\nfooltown,1\negg_chair,0\nholding_wig,0\nishikawa_kuma_yarou,1\nmizusawa_matsuri,4\nhayakawa-dono,4\nyukawa_hideki,4\nmorishita_makoto,1\nrhode,1\nmary_swan_(coreytaiyo),4\nmega_man_x6,3\njuliet_starling_(cosplay),0\nelder_sign,0\nhenri,4\norirock_(arknights),0\nmimia_(96.5),1\nslj,1\nolga_gurlukovich,4\nmougira,1\nkishiro_(michiko),1\nmaria_reya,4\nuub,4\ndokumi,1\nmago_no_te,1\ntia_langray,4\nholding_dart,0\nbutiboco,1\ncasval_rem_deikun,4\nfalcon_punch,0\nmaeda_hirotaka,1\nchota,4\nkn96,1\nboya,1\nan'yu,1\nmonmonga,1\nditb,1\nhishikawa_ryouko,4\nshimotsuki_mika,4\ncaptain_commando_(character),4\nnekotemari,1\nlala_(sputnik),1\nyuu_(vocaloid),4\nrokumen_saikoro,1\nriftka,1\npepsiman_(game),3\ncocoro@function!,3\nmarcus_(fire_emblem),4\nleg_support,0\nnezulet,1\nlowen_(fire_emblem),4\ntamagoumauma,1\nsakurapain6918,1\ndeyamiro,1\nkoutetsu_jeeg_(mecha),4\nonigami_mutsumi,4\ndorocoko,1\nkoji_miruku,1\nayan,1\nfujita_kaori,1\nnogi_(sakanashikatabenai),1\nniki_(t26gfaxt),1\nookanehira,1\npaisley_park_(stand),4\nfirika_mia_shatana,4\nnocake,1\nhoney_bee_(bug-tte_honey),4\nikiteru,1\nmizumoto_nazuna,1\nempty_bathtub,0\nbeast_(disney),4\nouka_(cosmic_break),4\nmaz_(fanxuying),1\nsenjugiku_tabane,4\nsd_command_chronicles,3\ndenmoko,1\nniwma_(myriad_revery),1\nguiyu_(cindy),1\nsasha_kaidanovsky,4\nkamen_rider_zangetsu,4\ntreasure_map,0\nkino25_n,1\ngothic_princess_(idolmaster),0\ngoimago,1\nkatsuragi_shion,4\nnewton_geiszler,4\nshicewlysml,1\ngashima411,1\neddy_shinjuku,1\nmakai_gakuen_catastrophe,3\nye_xiu,4\nerthuricia_vitor_de_ritzhevin,4\nshimogamo_yaichirou,4\nacid_g,1\nbilly_the_kid_(eiyuu_senki),4\ninazumrai,1\njiao_(tales),4\nkoota_(rlet_loft),1\nsakamoto_masaru,1\nlemonponpuripuri,1\nhwei,1\nharagon,1\nkuriko,1\nhagiwara_sakura,4\nichijou_sayoko,4\nkarin_(fairy_fencer_f),4\nshoukoku_no_altair,3\ncomic_vitaman,3\nvamp_(metal_gear),4\nkawauchi_(bsyesterday),1\nice_(icegray),1\nhiguchi_(trigger),4\npuppycat,4\ngmg,1\niceberg_(scp),4\nsentinel_(x-men),4\nsaburou_(minami_makoto),1\nperidot_(manga),3\nshigeru_(rand),4\nyonari_phone_neon,4\npudding_(8008208820),1\nkichi_(kichifav),1\nkureshima_takatora,4\ndiamond_hands,0\nsoma_(closers),4\noogawara_haruo,1\nkagayama_kaede,4\nangelique,1\nokkobc,1\njun_ling,1\ntakemura_makoto_(hakushikei),1\natago_(aoki_hagane_no_arpeggio),4\nphanc,1\nsuna_ko1,1\ntonakai_(bunsuka),1\nrikantsu_seabury,4\n12v,1\nban_paku_(arazio),1\nmitsumine_hakuya,4\nmipi,1\nenergy_rings,0\nship_interior,0\nace_(kuni_no_alice),4\nx_k_o,1\nkirisaki_(gin16k),1\nsuohachi,1\nnagatsuki_yuuri,4\nmetroid_prime_3:_corruption,3\nfuka-chan,4\nkazuya_lolicon,1\nkanzumesabako,1\nsuzuki_yui,1\nteto_(no_game_no_life),4\nvietnamese_flag,0\nmanos_lagouvardos,1\nkiru_(sorr5042),1\nkippeijii,1\nhotaka_miyabi,4\nsaimin_class,3\ncutlass_(girls_und_panzer)_(cosplay),0\neromegane3103,1\nfallschirmhelm,0\nguila,4\nkazama_souya,4\npi_(p77777778),1\nthehumancopier,1\nkita_ryoukan,4\nfujino_sato,1\nhiso_(inoino_4),1\nnanami_chiaki_(cosplay),0\nnijinohouseki,1\nakashingo_(rotampel),1\nnegi_(ngng_9),1\nhev_suit,0\nbug_badge,0\nsudare,0\nkamigami_no_asobi,3\nmirin_(youton_jou),1\narihara_(arhr0),1\navilio_bruno,4\ntsushima_touko,1\nyasaka_pagoda,0\nmiyabi_(h-eaven),1\nmahoshiki,1\nleaning_on_broom,0\nsherry_0014,1\npeko_(akibakeisena),1\nmacha0331,1\nmajima_gorou_(cosplay),0\nharu_to_yuki,3\nootori_miou,4\nbosumonki,1\nkaneko_masaru,1\nrainbow_wing_(pokemon),0\nnemo_tty,1\nnyakkunn,1\nshuu_(mniarnoakou),1\nvodka_(meitantei_conan),4\neteru_(mofuaki),4\nkozukata_(oshiro_project),4\nfiji_(azur_lane),4\nyotsuya_(gs),1\nnijouin_hazuki,4\nneu_(frameice),1\nako_(td110349-7517),1\nkajitsu_ohima,1\nhenshitai_(user_cuvp2733),1\nemperor_(splatoon),4\nuyumizyunco,1\nnikomiudon_06,1\nshignonpencil,1\nmakui_-death_girl-,3\nseitetsu_academy_uniform,0\nmoon-chan,4\nok_k.o.!_let's_be_heroes,3\ngwen_(g90z),1\nasil,1\nhikikomoriamy,1\nmisowhite,1\nnamicha,1\nverone_gakuin_cheerleader_uniform,0\nakatsuki_daddy,1\ncotrpopor,1\nkeicyanyan,1\nkaren_(navy_42),1\nkkis-i,1\nyappy_(yapis_company),1\nextra_serval_(kemono_friends),4\nichira-san,1\nunira,1\nmurata_(bakeneko_soudou),1\nnekoze_(chatte_secca),1\nhinomi_(hisaka_hazara),4\ndrill_senki,3\nassist-a-roid,4\nsamubbitti,1\nairget-lamh_b/v2,0\nhoshikawa_hikayu,4\nwarabimochii,1\nkamiya_miwo,1\ntollrin-senpai,1\nyagyun,1\nsakura_(cookie),4\nxin_(24914),1\nkubotami,1\nhao_guangze_yu,1\nyukiha_(nozomi_tsubame),4\nnowa_(gunvolt),4\nmiramikaru_miran,4\njiji_(pixiv10646874),1\nlyra_heartstrings,4\nria_(naigashiro),1\nharutoyo,1\ntonowa,1\nu-2626,4\nlu_afrarn,4\nminamoto_no_raikou_(swimsuit_lancer)_(fate)_(cosplay),0\nhigetora_(higeusagi346),1\nhiro_(srso4_),1\nviet_le_quoc,1\n5th_grade_loli,0\nsenju_kayo,4\nkhulaz,4\nconone,1\nyuki_yanagi_(toumeikurage),1\nyagiyama_yotsuyu,4\nkili_(the_hobbit),4\noonogi_(kk_uen),1\nuleez,1\nmeo_(1271884559),1\nstreptocarpus_(flower_knight_girl),4\nlindem_baum_uniform,0\nwatermelon_tourmaline_(houseki_no_kuni),4\nnekotorina,1\nsrsojiro,1\nfletcher_(azur_lane),4\nyasuda_hakaru,1\nroutexx,1\nfunkunsan,1\nboku_no_kanojo_wa_ningyohime!?,3\nrunapiero,1\nlf_(paro),1\nkkkula_(kula),1\npredator_(granblue_fantasy),4\nrootdesign,1\nmon_(monsohot),1\nschatzkiste,3\nrasa_(kanrokuan),1\nthrowing_hat,0\n5114ave,1\nsyamu_game,3\nhanamaru_pippi_wa_yoiko_dake,0\nwhite_tulip,0\nkougousaki_ruri,4\ntakamiya_ouka,4\nakino_(1i1i1i1i),1\ndinosaurus_(azimangasaurus),1\nkurakura_(kura28913),1\nmini_bowtie,0\nultimate_ruirui,1\nfrost_(rainbow_six_siege),4\nmaginot_military_uniform,0\nsarada_doraivu,1\ntsuchinoko_(kemono_friends)_(cosplay),0\npascal_(nier_automata),4\nbound_penis,0\nshooene,1\nchinchilla_(kemono_friends),4\nemerald_tree_boa_(kemono_friends),4\ngastornis_(kemono_friends),4\ntoa_(user_enm6130),1\nomiomi_kekyu,1\nsyrinxwell311,1\nkawahara_ryuuta,1\nnico_(smile_precure!),4\nnemunemu_(bluelight5),1\nsailor_aluminum_seiren,4\nsaimin_yuugi,3\ntsukishima_yuuri,4\naina_ashwin,4\nalexandra_serbanescu,4\nhydroball,1\nstacia_(unlight),4\nwaltraud_nowotny,4\nmatatabi_dango,1\nt0day8,1\ntoufukin,1\nsiji_(szh5522),1\njatts,1\nharumiya_ria,4\npixitoro,1\nisagi,1\nairmail_envelope,0\ntarou_(you-0512),1\nvampire_(monster_girl_encyclopedia),4\nbelphegor_(the_seven_deadly_sins),4\nwurm_(monster_girl_encyclopedia),4\nlehm_brick,4\nkamui_sathi,1\nminorikoike,1\ntapiet,1\nasajima_yoshiyuki,1\nhanaukyou_maid_tai,3\nmaou_no_shimobe_ga_arawareta!,3\nusada_yuh,1\nnekoko_(nekonekonya),1\nsaya_(ccmkk54),1\ncureecoolan,1\nhand_in_underwear,0\nfairy_(jintai)_(cosplay),0\nmoontoxin,1\nookami_riku,4\nhare_(hal0331),1\ntomaty.,1\nhige_ani,1\ncode_g_(azur_lane),4\ngoshujin-sama_to_kemonomimi_no_shoujo_meru,3\nmel_(goshujin-sama_to_kemonomimi_no_shoujo_meru),4\nunodu,1\nsaijo_karin,4\nalex_negrea,1\ncucumber_quest,3\nmariebell,1\nma-sa,1\nmusashino_takumi,4\nsakurazaki_aya,4\nserisawa,1\nbuster_rifle,0\nalex_benedetto,4\nsegawa_hiroki,4\nkagefumi,1\nshadow2810,1\nshiz,1\nmomona,4\nyuzuki_sora,1\ngensou_shoujo_taisen,3\nharu_uso_-passing_memories-,3\norigumi,1\nofstan,1\nhachikou_nameko,1\nrapid_blaster_(splatoon),0\nbogue_con-vaart,4\npapupu,1\nyutsuki_ryou,1\noutfit_4_(kumamiko),0\nthorn_print,0\nkndy,1\nkaho_(momodora),4\nmasa_(masa0430),1\nortlinde=nblg=valkyria,4\ntakochan77,1\neva_armstrong,4\nzarina,4\nyashiro_ryo,1\nvampy_(cosplay),0\nkurata_ami,4\nnarumi_kaede,4\nsagisawa_karen,4\nhoshino_me_wo_tsubutte.,3\np-rus,1\nluo_qingyu,1\nlie_mei_(thunderbolt_fantasy),4\nfushiguro_yaya,4\nfularika,1\ninuko_(nozomi1118),1\nhulkling,4\ntachibana_yumeko,4\nnorita_(eri6m6rie),1\nchao_wu_xing_xian,1\nsaya_(rabi_ribi),4\nabwan,1\nfinger_hug,0\namai_yadoraki,1\naccent_mark,0\ntowel_tug,0\nhonzumaru,1\nnatsume-same,1\ntama!_(lazyturtle),1\nisha_(300_heroes),4\nshunter,1\nseashell_bracelet,0\nirakli_nadar,1\npomo_(lino-lin),4\njacien_visenad,4\nzero_momentai,1\nynorka_chiu,1\nkotori_hana,1\nmena_(suzunoki),1\nindex_acg,1\napprentice_illusion_magician,4\nmayuka_sanagi,4\naenrs,1\nli-fen,4\nkokoroke_(556k),1\nyoukai_fox_(forbidden_scrollery),4\nshengkong_(prank),1\nmuxia_yue_nai,1\nkaran_eri,4\nipass_(yi_ka_tong),3\nakoniii,1\nkim_eul_bong,1\nchintai_(mansyontintai),1\nyeondoo_(wnrhl7),1\nameisu,1\nsnow_(676528662),1\nsilent_hill:_homecoming,3\nmilady_(persona),4\nfuyu_rin,1\nshiro_(tiotolv),1\ntakane_(lovehatsune),1\ndipper_gleeful,4\ninuyama_(oshiro_project),4\nverethragna_seisen_no_duelist,3\nshen_yh,1\nthe_seven-year_itch,3\nyou_(gay322k),1\nchikan_da_~shinri_counselor_meika_no_shinryou_kiroku~,3\nz-crystal,0\nexxe,1\nnatal_(wawawama),4\nalushe_anatolia,4\nwalder,4\nnz_75,0\nlilia_baranovskaya,4\npop_in_q,3\nnanakusa-no-sekku,0\ngod_wars,3\ngod_wars:_toki_wo_koete,3\nkanaya_neko,4\nrighteous_tea,1\ncomamawa,1\nsophie_(howl_no_ugoku_shiro)_(cosplay),0\nerika_oldenburg,4\nscathach_(swimsuit_assassin)_(fate)_(cosplay),0\nmiya_(38_okho),1\nshiisaa_lefty,4\nrabbit_monster,1\nhakirino,1\nfor_honor,3\ncoatifan,1\nno_leotard,0\nmilk_(komeshiro_kasu),4\nchiva_(wonderworldwood),1\nlucky_beast_(kemono_friends)_(cosplay),0\neden_(eden871225),1\nmiyabino_reiichi,4\nren_kouen,4\nmashiro_kanna,1\nkanae_akita,1\nxuexue_yue_hua,1\nlamchun_(2006),1\nichiko365,1\nmorinaga_koeda,4\nsupopo_(pi4v2000),1\nsaitou_masakazu,1\nmatsuoka_sakiko,4\ntamashiro,1\nhekaton,1\nasababa_kure,1\ngoliath_tracked_mine,0\nebira_(ruvie),1\nteamgeist,0\nriichi_stick,0\nchip_'n_dale_rescue_rangers,3\nkirin404,1\nchiang_kai-shek,4\nyu_(kito),1\nmkcrf,1\nyellow_card,0\nolmec_head,0\nhyourin_no_mahiro,4\nsanosuke,4\nspiller,4\nhenrietta_grimm,4\nas_(ashes),1\nhiromasa_(1365),1\nbulldozer,0\npectong,1\nserizawa_an_ne,1\njenigata,1\noccult_club_(k-on!),4\nwire_fence,0\nkafun_shoujo_chuuihou!,3\nboku_(akamedou),1\nisumi_marika,4\ndennou_usagi,1\nkon_satoshi,1\nkurou_(utawarerumono),4\ndistortion_world,0\nlarva_(vampire_princess_miyu),4\nescalation_~kuruai_no_fugue~,3\ntask_(artist),1\npontoon,0\nall_points_bulletin,3\ngokicha,3\ncastiel,4\nkoura_higure,1\nfight_club,3\nkotaro,1\ntennen_hz,1\njakey,1\noppai_sensou:_kyonyuu_vs_hinnyuu,3\nkyou_fumei,1\nlustful_berry,3\nmatching_hourai,0\ntoudou_tsumugi,4\nkangokun,1\nmurasaki_(konekomilk),1\nhoozuki-san_chi_no_aneki,3\nfunabori,4\nharuichi_(haru123),1\nhello_world.,3\nlumberjack,0\nsawamura_shouma,4\nmifune_seijirou,1\nhokuto_ujou_hagan_ken,0\nmr_kunimitsu,1\ngamzee_makara,4\nbettou_izumi-shizuka_scarlett,4\nyoshida_tatsumi,1\nnose_plug,0\nkonnota,1\nshin_(criminal_girls),4\nmorisato_yuuji,1\notaking,1\nis-3,0\ngsq,1\ncypha_of_huckebein,4\ndurandal_fernek,4\nyes_i_am!,0\nmaster_eraqus,4\nmyou_mu,1\nkirinosuke,1\njeanne_d'arc_(hidan_no_aria),4\nsuzuki_amaharu,1\nmoop,4\nlulun,4\nsol_(tvtjk7ubec),1\nxacco,1\nhiroko_(keshika),1\namano_shinobu,4\noto_nyan,3\nnikutai_ten'i,3\nmoshidora,3\nken_(fkenorat),1\nkuronekotarou,1\nfluorite,1\nmiruto92,1\nnano_(veek),1\noda_nobunaga_(sengoku_basara),4\nsengoku_kyouhime,4\naka_no_hotaru,1\nmorimement,1\ncrimson_(cxrss377),1\ndefender_(elona),4\nnatsupoi,1\ndon9899,1\ntokusa_riko,1\nkoiwai_ringo,1\nseikon_no_el_dorado,3\nage_of_empires_ii,3\nichimura_(kiln),1\nmikagura_mirei,4\nmiura-san,4\namused,0\nshinobi_hanafuda,3\nebo,1\nmuutzi,1\nsunkazer,1\narara_(yuuan9x9),1\nmaaru_(moyori),4\ntrembling_legs,0\nmatono_emi,4\nchara_chara_makiato,1\nakuo_11,1\ncantabile_(arknights),4\nsal_(moosopp),4\nkokko_tofu,1\nmisumi_no_harawata,3\nquildren_(ike_eveland),4\nrakuyou_ame,1\nthe_symbiant,3\n700hash,1\nmont_blanca,1\nlis_111,1\nheles_(irestill_evening_dress)_(granblue_fantasy),4\nuchuu_ken'etsu-kan,3\nkarsh_(chrono_cross),4\nsuccuboi,1\nimpact_(ganbare_goemon),4\ndirection_board,0\nkoi_ni_tsuite_0.1-paasento,3\npeople_die_if_they_are_killed_(meme),0\nfairy_knight_lancelot_(final_ascension)_(fate),4\nmysterious_heroine_xx_(first_ascension)_(fate),4\nkai_ry,1\nyon_prmr,1\nfandeltales,3\nherzha_(derpixon),4\nkoyanskaya_(indian_lostbelt_outfit)_(fate),4\nannin_cha,1\nfia_the_deathbed_companion_(cosplay),0\nyi-sang_(limbus_company),4\nmoriyama_meiko,1\nfrancis_drake_(third_ascension)_(fate),4\nmatsui_haru,1\nfutena_goze,1\nsakamoto_shindobaddo,1\nthrud_(ring_the_bell)_(fate),4\nmash_kyrielight_(chaldea_dinnertime),4\nkkkkkirrier,1\nduanmu_rong_(qin_shi_ming_yue),4\njustsomenoob,1\njeje_(pixiv60670177),1\nrichard_(king_of_windor)_(tales),4\ncamelot,1\nkawatare,1\ntooru_(pixiv12953962),1\nkokuryuu-chan,4\nice_cream_stand,0\nshinoko_(ketchup_ninja),4\ncrescent_brooch,0\nsidelocks_onee-san_(sky-freedom),4\ntenti0619,1\norgansoup,1\nchocolate4170615,1\ndagasitotaiyou,1\niws_2000_(the_seventh_sealer)_(girls'_frontline),4\nanankos,4\nyagami_sakura,4\nzi_nu_zhuye_jun,1\nvelvet_(akeiro_kaikitan),4\ntype_95_(pure_white_graduation)_(girls'_frontline),4\npkp_(flower_and_water)_(girls'_frontline),4\nboku_no_chikyuu_o_mamotte,3\npersonality_excrement,0\nmegabee_e,1\nsquishy_(pokemon),4\nbarid_rex,0\nblue-eyed_blonde_hair_girl_(mdf_an),4\npondering_my_orb_(meme),0\nkouta(34765766),1\notsu_hai18,1\nhero_(ii_orc_no_hi),4\nkioh_gyoku,3\ncris_art,1\nmomosuzu_nene_(seal),4\nwater_deity_(housamo),4\nvoidsent,4\nliu_xiaolu,1\nduke_of_york_(eternal_night's_carola)_(azur_lane),4\nfusou_(perfect_partner?)_(azur_lane),4\nbelfast_(folded_fascination)_(azur_lane),4\nheichi,1\nyamu_gnsn,1\norange_brooch,0\ntsushima_leopard_cat_(kemono_friends),4\nizumi_kumi,4\nryuusa,1\nknotted_dildo,0\ntitan_(takt_op.),4\nyorha_type_p_no._2_(cosplay),0\nmena_(shingeki_no_bahamut),4\ntentopus,1\nmungersky,1\nkanna_(minamozuki),1\ndaz_studio_(medium),5\nueda_hajime_(style),0\n2_blankk,1\neina_field_(kishiyo),4\nwiaxixia,1\nballista_4_(sekaiju),4\ndr_unk2020,1\nophelia_(merryweather),4\neno_(preno_gb),1\nwoodwose_(fate),4\nundine_(last_origin),4\ntalon_feather_(last_origin),4\nsodia_(tales),4\ntennen_inari,1\nzura_(takayama_toshinori),4\npandaclip:_the_black_thief,3\nc.h.a,1\namaurot,0\nanzo_(anzu_elichi0928),1\nmefmera,4\nhk416_(girls'_frontline)_(cosplay),0\nagent_vector_(girls'_frontline),4\nhice_hideice,1\nnnicoinu,1\narisaki_(cnxy7525),1\nmountain_(dark_cloud)_(arknights),4\nticonderoga_(show_stopper!)_(azur_lane),4\ndespair_god_morroc,4\n10_io,1\naco_(bearchannel),1\nnanako_(chibikki),4\nddub1618,1\nfe_(umenomiya_tekkousho),1\ncrybaby_(mechanical_buddy_universe),4\ntauyuki_saema,1\nmmmmatimmmmati,1\ntonasegaill,1\nbattering_ram,0\nnono_(1n_n1_1),1\nfuga9,1\nfreakyfir,1\naire_(personal_ami),4\nunknown_god_(genshin_impact),4\norangeade_(last_origin),4\nkoinoya_mai,4\ntabetai_omochi,1\nrn10r,1\ntorio_(torrie_skm),1\nwine-chan_(159cm),4\nblack_monster_(nier),4\nmono_(little_nightmares),4\nshimosuke,1\ntenori_(curss),4\nkirameki_(rikukaikuu),1\nlessthanone,1\nnsb36046_(na),1\nshan_(ti0n),1\nhatsuzuki_(kancolle)_(cosplay),0\nashigara_(kancolle)_(cosplay),0\nhonkawa_works,1\noff_with_their_heads,0\nhassan_of_the_cursed_arm_(fate)_(cosplay),0\nmii_swordfighter_(smash_ultimate),4\npon_fresh,1\nbellerophon_(fate),4\nroana_(epic_seven),4\nsinoda,1\ntonguewasabi,1\npaul_greyrat,4\ndintea,1\nshinonome_meguri,1\nte'resa,4\nemain_(honkittyhonk),4\ngygerbeen_rtl06,1\nrikumu,4\nrappi,1\nshaguo,1\nhoqn,1\nenzo_fernandez,1\nroselle_gustav,4\npeagade,1\nkotaro_(tokoyami_towa),4\nkaede_(kaede_desu107),1\nyoi_otome_(idolmaster),0\nnegi_seijin,1\nhonmirin,1\nmuramasa_(tetsuok9999),1\nkusaba_eru_(happy_crystal),1\noozora_subaru_(cosplay),0\nnagisa_arcinia,4\namamidori,1\nmanjin512,1\nwamaru,1\neye_glitter,0\nneri_aisu,1\nsaeki_haruko_(idoly_pride),4\nhigeki_no_genkyou_tonaru_saikyou_gedou_last_boss_joou_wa_tami_no_tame_ni_tsukushimasu,3\nmitsue_(satoma_makoto),4\nvesperbell,3\nniizuma-chan,4\noku-sama_wa_niizuma-chan,3\nghost_girl_(donguri_suzume),4\nkinoshita_kazuya,4\nokfams_(group),0\nyoi_r,1\ngrape_juice,0\ncerberus_(hades),4\npaw_pendant,0\ndvd_logo,0\nthree_of_spades,0\n95---,1\ndouble_face_punch,0\nrabbit_pasties,0\nnorthern_sea_princess_(roshiakouji-chan),4\nmantou_yu,1\nsouth_pacific_aircraft_carrier_princess,4\nshaobao_(sdhx3728),1\nmiyama_okara,1\nsawa_(soranosawa),1\nkai_ooo1,1\nm1yu,1\nabuku,1\nyasushi_(n0t_0t4ku),1\nchloe_(enkyo_yuuichirou),4\nmobile_doll_sara,4\nbicycles_only_sign,0\nkamilisme,1\nsugita_(merinib),1\nrio_(seirei_gensouki),4\nhanser,1\nalex_(cerealex),1\nperun_(xenoblade),4\nquon_tama,4\nwerfmight,1\nmokokoiro,1\ngua61,1\nkamchrome,1\nkamiyaminatsu,1\nhiko_(zem_n),1\nshieriru,1\nsula_(s_ra760),1\nwhoru,1\nkiso_(wjnomcuzqmdjcql),1\nkokkuri-san_(game),0\nkai55,1\noretahone,1\nshishiro_botan_(cosplay),0\n1919_decoy,1\nhyeya,1\ntsunogai,1\nbutton_panties,0\nsachiko_(rinana239),1\nhitsuji_chronicle,3\ngaditava,1\njun_(mahou_girls_precure!),4\nmamiya_moeri,4\namerican_flag_background,0\ngedou_hakurou,1\ndragon_quest_builders,3\nzombiedaisuke,1\nkedouin_kororu,1\nbun_(game728hale396),1\nakane_keeko,4\nblair_armitage,1\nyotsuba_kokoro,4\ncocoa_(rabi_ribi),4\nrorinya,1\nebiten_g-san,1\nhijikata_toshizou_(hakuouki),4\ntetori,1\notometeki_koi_kakumei_love_revo!!,3\nhoshi_(ho4_no),1\nicylove,1\nkittsu,1\nnecktie_overhang,0\nelfriede_bernstein,4\nelazuls-core,1\ntamura_(sntmr),1\nwudi_de_pangxie,1\nlu_ying,1\nseikimatsu_rori,1\noosuzu_aoi,1\njade_(mortal_kombat),4\nshion_(kawasemi),1\nmin_(minyinr),1\ncure_march_(cosplay),0\nkerikaza,1\ngigginox,4\nhigurashi_aki,1\nchatubo,1\nblackjd83,1\ntransforming,0\nolympia,4\nzarathurtra,1\nnatsume_zange,4\nsatochi_(1122),1\ncomiket_77,3\ntsumanuda_fight_town,3\nshinobibe_himika,1\nhinoichi241,1\nlestored_cro,1\nkick-to-rip,1\nakai_ikuto,1\nsakurai_norio,1\nmotune,1\nsmr03,1\nore_to_ichino_no_game_doukoukai_katsudou_nisshi,3\nkurodani_yamame_(cosplay),0\nkitamura_hato,1\numamake_genko,1\nnishizawa_mina,4\nenoch_(enoch0501),1\ncrypt_of_the_necrodancer,3\nshiitake_(artist),1\nyamakawatani,1\nyszx,1\nbatman_symbol,0\nkasodani_kyouko_(cosplay),0\nsiv_(kuroino),1\nedo-sama,1\nnitou_inko,1\nmuu_(d-muu),1\neyulam,1\nkarasuma_sachiko,4\nyunomi_chawan,1\ntemplar_assassin_(dota),4\nles,1\njewelic_nightmare,3\nlamp_miku,4\nchauchat,0\nrackety,1\nfuchi_minoru,1\nmyutsusama,1\npush!_(pushmylove),1\nshikuhakku,3\nlenny_the_bomb,4\nsagami_hako,1\nosage_(8545675),1\nun_(show_by_rock!!),4\nsir_percival_(eiyuu_senki),4\nkawaguchi_norimi,4\nhalo_4,3\nistani,1\nshirokuma_(shirokuma_cafe),4\nhaku_(sinsifuku2),1\nyume_oukoku_to_nemureru_100-nin_no_ouji-sama,3\nastronomical_clock,0\nkikai-zaru,1\nbit_(r-type),4\nd-so,1\nmiyasaki1130,1\nwinter_soldier_(cosplay),0\npoke_nk,1\nsaint_seiya:_soul_of_gold,3\nsuzurame,1\nsachilko_(motiko),1\nark_mateus,4\ngsong-chan,1\nsuper_mario_strikers,3\nceleritas_lumen,4\ncross_fleury,0\nmxj,1\nstuffed_deer,0\nburai_yuuki,1\nlarry_d_warren_jr.,1\nforte_(rune_factory),4\nkusakabe_rin,4\necho_(pso2),4\nblue_snow,4\nkurosa_kichi,1\ngui_guimaraes,1\nakihisa201,1\nandy_anvil,4\nkarana_mudra,0\nminna_shinu_shika_nai_ja_nai!,0\nmyuutsuu,1\nharlem_heart,3\njin-jin,1\nhifumiyo,1\nkouno_kb,1\nscarlet_mirin,1\narachnid_(series),3\nchi_you,4\nhanyuuda_mito,4\nsae_shizuka,4\nheroine_(dq9),4\nsalmon_(fish),0\nogoro,1\nninja_(granblue_fantasy),4\nprint_belt,0\ncoco_ichibanya,0\nnamgwon_lee,1\njokou,4\nano_ko_ni_kiss_to_shirayuri_wo,3\nmary_(erubo),4\nelmott,4\njouhou,1\nakira_(ubw),1\njewel_resort_bunnygirl,4\nlop_ear_(erubo),4\nmason_69,1\ndiaclone,3\nhavia_winchell,4\nfungus_(vocaloid),4\namanda_(sennen_sensou_aigis),4\nnaval_flag,0\n38ban,1\nfran_(shironeko_project),4\nmu-ko,1\nqueen_dragun_djinn,4\nmaditsu,1\nkyoumu_(huangf91),1\nd1975,1\narise_(allicenogalca),1\nrue_(ruenis_chronowing),1\nwoo_chul_lee,1\nkaizu_(kaizukurodai),1\nkanataww,1\nmihae_(high_school_dxd),4\nsenasky,1\nruurara,1\nx.four,1\nkitte_(kittesan),1\nnemovo,1\ntsukayama_nagisa,4\nkoko_kara_natsu_no_innocence!,3\nfine_(ensemble_stars!),0\nsugarv,1\naida_(osomatsu-san),4\nkinrenka_(flower_knight_girl),4\namei_zhao,1\nrushou_kei,1\nminor.u,1\nrizalx,1\ngravel_(masou_gakuen_hxh),4\ndragon_hood,0\npuz_lee,1\ndryad_soraka,4\nmatsuno_karamatsu_(cosplay),0\nxf5u,0\nnocturne_(kunishige_keiichi),4\ntsuruoka_masayoshi_to_junjou_romantica_2,1\nsword_to_throat,0\nnishihata_kei,1\nizumi_rina,4\nmifuji_kiichi,1\nwipers,0\nmaya_(triptych),4\nmarimo_(ankokumarimo),1\nvasashi-uma,1\nsakura_miku_(cosplay),0\nsuchara,1\nhuniepop_2:_double_date,3\naoi_zero,1\ndiamond_cut_diamond,3\nsebek_zigvolt,4\nvf-11,4\nsuperphotrone,1\nsara_(fire_emblem),4\neat-man,3\nna-c,1\ncatherine_glass,4\nussan_(uzi),1\nbee_(artist),1\ndual!_parallel_trouble_adventure,3\ngenmai,1\nkami_(yoshipt0716),1\nlumpy_space_princess,4\nwadapen's_short_brown_haired_girl,4\ne.x.on,1\nokuni,4\nhitakikan,1\nrooomi,1\nyatabe_miu,4\npumpkin_shorts,0\nkusumiya_sayaka,4\nhimuro_fuu,4\njonathan_joestar_(cosplay),0\nyuzmit,1\nprincess_freia_(kotatsu_(g-rough)),4\nnarumiya_tayori,4\ncaro_bambino,1\nyukimatsu,1\nushimaru_(senran_kagura),4\nmaschinen_krieger,3\nyugume,1\ndaniel_(artist),1\nplay!_play!_play!,3\nnonta,1\ntenkuu_no_yumina,3\nokra,0\nform_fitting,0\nyandywu,1\noversplit,0\n19_(kaitou19),1\nnuzuki_(mamewo),1\nmegalopolis_knockdown,3\nunsure,0\nthe_rolling_stones,3\nshiki_ai,4\nmana_tree,0\nkoga_yoshihisa,1\n10rankai,1\nchile,0\nring_pop,0\nyuzuki_(blossom),1\nchongning,1\nkobii,1\nluce-in-the-sky,1\nkarasuba_yomi,1\nrinsu,1\nclassroom_crisis,3\ngroove_on_fight,3\nsooki,1\nweather_dopant,4\nxun_(xun124c41),1\nfeng_min,4\nthe_kiss,3\nkassitta,1\nshio_no.9,1\nshangrlia_2,3\n\"samfree_(\"\"night\"\"_songs)\",3\nchiba_(tibaacss),1\nsasha_(saint_seiya:_the_lost_canvas),4\nyuuki_tokito,1\nmimi_(mermaid_melody_pichi_pichi_pitch),4\nming-wu,4\nmini_torii,0\ntracie_(rob_ishi),4\ngadeung_hye,1\nultear_milkovich,4\nlucas_(pixiv_fantasia),4\nkimura_(pixiv178485),1\nrotroto,1\nkanan_yt,1\npupy_exe,1\noshiroi_hana,4\nkanzaki_miyu,4\nk_do,1\nroddick_farrence,4\nkesomaru,1\nakane_maniax,3\nlily_(moyori),4\nbibirii,1\nmoriya_suwako_(frog),4\nsteve_jobs,4\nharapeko_(sabernoahoge),1\n'&'_-sora_no_mukou_de_sakimasu_you_ni-,3\nonaramaru,1\nootsuki_(kaiji),4\n22jigen,1\nmpkxx,1\ntsunotsuki_(uguisu_maccha),1\nelectric_angel_(vocaloid),3\nyajirobe,4\nsplit_head,0\nkate_(7th_dragon),4\nmakinoatorie,1\nitagaki_tatsuko,4\nookami_mio_(cosplay),0\nflyff,3\ncrayon_arts,1\njedi_knight,0\ndonbee937,1\nkohaku_(cookie),4\nwagyandamu,1\nnakatsuka123,1\nniko_(azurite),1\nmochiya_(cookie),4\nyukke_(fh),1\nagi,1\nlamia_(voice_actor),1\nhagiwara_kenji,4\njudy_alvarez,4\nizumozaki_neneko,4\nakitu_kouta,1\nhaba_hirokazu,1\nwada_arco_(style),0\nelephant_girl,0\naoi_rokushou,1\nkuroba_yotsuha,1\nmutsuishi_haruna,4\nkomainu_boy,0\neni_(yoyogieni),1\nniko_(na_insoo),4\nseshima_rui,4\ntonikaku,1\nleica_(camera),0\nhiyori_sou,4\nannouu_ronpa,1\noniwa_nwai,1\namanun,1\nm72_law,0\nray_(mospeada),4\nhanasaki,1\negg_earrings,0\ncharizard_(cosplay),0\naizawa_masahiro,1\nkyuushiki,1\nhukuhuku,1\nixola,1\nwanijima_agito,4\nanianiani0607,1\nmaorenc,1\nremoving_necktie,0\nsuzu_coconatu,1\nfanfoxy,1\npopcat,1\nmogu_(miori_celesta),4\nterry_bogard_(cosplay),0\ncrystar,3\n122pxsheol,1\nmultimeter,0\nyeosi,1\namano-pantutyan,1\nharuno_ryo_1202,1\npeasant,0\njuno_(beastars),4\nmama_(cooking_mama),4\ncanadiananiguy,1\nplumapple3,1\nyumeno_gentarou,4\nflower_(clow_card),4\nelly_(pochincoff),4\nbewbchan,1\nkanna_satsuki,1\nche_guevara,4\nicyee,1\nsatomi_(stpri),4\nyamaya_aya,1\nhashimoto_(soukidann2010),1\nvicious_(cowboy_bebop),4\nthe_dress_(meme),0\nroyal_princess_(flower_knight_girl),4\nhyoumaru,1\nazu_(warehouse86),1\nnao_(naobinarydigit),1\nskoll_world,1\narms_ai,1\nsawaki_koma,1\ngoldregen,1\nholo_eden,1\ncrescent_tattoo,0\nonikabuto_(genshin_impact),0\nmillelunar,1\nyumeiro_patissiere,3\ncallen_(evertale),4\nphoenix_wright_(cosplay),0\nxuse,3\nninico_(vtuber),4\nizumi_arima,1\nvaati,4\nkuze_hisame,4\njohnny-chan,1\nakka_(oniro),4\ntukimotoreiji,1\nrai_(3stone),1\nrerendi,1\nphanto,4\nk-nashi,1\npoyon,1\nnkd,1\nprester_johanna,4\nfukuyo_kouko,4\nharvestasya_vista,4\nedgar_valden_(golden_ratio),4\ngift_bow,0\nrainforce,1\nmetropolis,3\nblossomppg,1\nnanase_chiori,1\nkouun,1\nsee-through_gloves,0\nhawkeye_(marvel)_(cosplay),0\nyagi_yui,4\ncalamity_jane_(third_ascension)_(fate),4\nblanka-chan,4\n7enn,1\nlien,1\npark_jinim_(parkgee),4\neyeharmheart,1\nanna_laemmle,4\npink_mousse,1\ncenturii-chan,4\nwinged_menace_wattson,4\nedgar_portsnell,4\nchadgarciaburg,1\nvalstrax,4\nrainbow_spectrum,1\nshinichi_kobe,1\nokada_kou,1\nikeda_yamada,1\nbread_crust,0\nevol_blackhole,0\nharu_(dorohedoro),4\nxhb,1\nregressor's_instruction_manual,3\nshine_cheese,1\nkimura_kitaka,1\nplurk_username,0\nsadan1317,1\nyoru_no_yayoi,1\nfujimaru_ritsuka_(female)_(waltz_in_the_moonlight/lostroom),4\nyue_yin,1\nkoinu_emiko,4\neien_no_24-sai_no_shakai_hito,1\ntanabe_ryou,4\ndorothy_(fire_emblem),4\nafuroya,1\ncyber_tutu,4\niwahara_yuuji,1\nmemeko,4\nfp-6,0\ndrogon,4\nbackhand,0\narcoiris,1\nwatagashi_unou,4\nsmc-gumi_(nijisanji),0\nkuma_(tekken),4\nduolingo,3\nshanti_rana,4\nasuima,1\nthe_stig,4\nmihiro_ardygun,4\nspace_ishtar_(astarte_origin)_(fate),4\nklone_(j.roswel),4\nmeebo,1\nabae,1\nyooko,1\nsearmy,1\nhand_on_arm,0\nichita_(yixisama-shihaohaizhi),1\ntiphereth_b_(project_moon),4\ndis_astranagant,4\ntsukusun,1\npurple_mask,0\njackrose_mary,1\nsiegward_of_catarina,4\nbudda_(pixiv2124),1\nangel_blade_(character),4\nliz_(mahou_girls_precure!),4\njiugong_chi,1\ntowani_kayui,1\ngrey_buruma,0\nminase_kou,4\nshinomiya_kikoru,4\ntrutsmn,1\nultraman_(shin),4\ndansearl,1\nollerus,4\nortlinde_(ring_the_bell)_(fate),4\nasanuno1510,1\naramaki_shinji,1\nkagitsume,1\nh_yuusui,1\nhoney_dogs,1\nsayakajou,1\nrisiyun,1\nnanashi_(nns302655),1\nmoriki,1\nkokage_(prisoner-67),1\nracast,4\nneku_oneneko,1\nc_i_an,1\nmale_swimwear_pull,0\ntales_of_innocence_r,3\ndebbie_(user_uapu3455),1\nwagner_(genshin_impact),4\nta-to_(sprout),1\nsuspenders_removed,0\nha_yuri_zahard,4\nabigail_williams_(welcome_to_the_travelling_circus!)_(fate),4\nmurasaki_shikibu_(second_ascension)_(fate),4\nnatapy1,1\nbelle_(disney)_(cosplay),0\naronman,1\neating_bugs,0\narjuna_alter_(student_council_president)_(fate),4\nheika,4\nruisha,1\nkurioka_maiho,4\nisomine,1\nkyouji_kasshu,4\nminifridge,0\nelmer_albatross,4\ngroo29,1\nf-22a_raptor_(muvluv),4\njidan_hua,1\ninutade,4\ntoripippi_7,1\nghost_hound,3\ntakanashi_sayumi,4\ntriforce_earrings,0\ngundam_deathscythe_hell_custom,4\nblade_liger,4\ncure_melody_(crescendo),4\nhammer_brothers,4\nprint_tabard,0\ntenten_(chan4545),1\nbootlegger_loba,4\ncharatei,1\ntachibana_naomi,4\nhokuotzu,1\nmrthersh,1\niruma_juuto,4\nmuromachi_atsushi,1\nfloating_lights,0\ncrimsonknigh_t,1\nkarasuto,1\ncode:_esencia_(elsword),4\nkherl,1\nlion_print,0\njohn_wayne_vercingetorix,4\ndcon_34,1\n5_(femfamme),1\nw-e-z,1\nfundoshi_removed,0\nabel_(fire_emblem),4\nueda_sanagi,1\notori_michiru,4\ncai_bi,1\nraleigh_layne_wheeler_(mac),4\naria_rin,4\nvirginia_robertson,4\ntohsaka_rin_(street_choco-maid),4\noptimus_prime_(shattered_glass),4\nwangzili_shitoumen,1\nkansya,1\nkiyohime_(the_faithful_dog_who_waits)_(fate),4\ntokikouhime,1\ngoblin_mask,0\nodin_(odin_sphere),4\nhashimoto_maki,1\nito_kashiwamochi,1\nmrpotatoparty,1\ncure_miracle_(topaz_style),4\nqiye_luoying,1\nsanzaka_nanao,4\nraeran,1\naoi_souji,1\nozzyart_0221,1\nk1llg,1\nforever's_end,3\npinocchio,3\ngame_of_life,3\nkinemon,4\norigoto,1\nbear_paw_s,1\nreta_su_gohan,1\nhzk_(user_kemd2843),1\nfudou_yukimitsu_(kiwame),4\nrobojanai,1\naster-effect,1\nlike_life,3\nwhaaa000,1\nitsaboutspoons,1\nkinsuke_z,1\ntouhakuden,3\nmakino_ikumi,4\nlilium_(okame_nin),4\nonion_cookie,4\nplayboy_pokemon,0\nhonjo_puni,1\nai_(sigatutoukaa),1\naim-120_amraam,0\nyonumo,1\nyumekui_shirokuro_baku_(vocaloid),3\nsun_fle,1\ndistracted,0\nogata_nenji,4\nhifu,0\nkouhiipan,1\nminausa,1\nidolmaster_relations,3\ntendou_machi,4\nnek3124,1\nshiromimin,1\naoi_13,1\nskeleion,1\namber_t,1\nching_nu_yu_hun_2,3\nleste_(humansequencer),1\nmaki_(soredemo_ayumu_wa_yosetekuru),4\npachpachpach,1\nmmm_ma_pmpm,1\nmerasgar,1\nchiyu_(synthesizer_v),4\nkona_(konahana),1\nyatozume,1\nmoroboshi_danshaku,1\ntibetan_sand_fox,0\nnatsume_fumika,1\nkirin_ouji,1\nkagato007,1\nchiappa_rhino,0\nnaono_naoru,1\nhare_(jungle_wa_itsumo),4\nkomano_hina,4\ncode_geass:_nightmare_of_nunnally,3\nrosalina_(cosplay),0\nsuperappleman,1\nhohahiida,1\nnunok,1\njrpulse,1\nusame,1\nandoplus,1\nsuzume_b,1\ntakeda_yuuichi,1\nfiesuke,1\nthe_king_(burger_king),4\nyuuki_mama,4\nbitou_(bitoumaturi),1\nsena_mikoto,4\nchorohanage,1\ndd139,1\ntogami_(tobysou526),1\ntropical_honey,3\nliukensama,1\nhisuian_arcanine,4\nzz,1\nyoshioka_(today_is_kyou),1\nbuket_pudding_i,1\nskirt_cutout,0\nsasamaruko,1\naliceliese_lou_nebulis_ix,4\nkaki_z3,1\nnoworld,3\naikazilla,1\nkadainist,1\naurelia_(dorei_to_no_seikatsu),4\nstringer,0\ntako_suzume,1\nlong_wuxian,1\nsaki_pokeoekaki,1\nmaid_in_oshigoto,3\nbag_behind_back,0\njuliet_douglas,4\nbok_choy,0\nsutoa,1\nmelusine_(housamo),4\nmikokomiyazawa,1\nasymmetry,0\nyamabuki0,1\nmili_(pixiv24297867),1\neas_(cosplay),0\nkite_balloon,0\naatsu,1\nanchundddd,1\nprojector_screen,0\nbow_shorts,0\ndondobi,1\nnishuu_miri,1\njk_(kamen_rider_fourze),4\nkamen_rider_nadeshiko,4\noka_ayuko,4\ngorogoronemuri,1\nsatero,4\nponta_(wwtaimeww),1\ngoldmondsel,1\ntanie_ritsu,1\nhead_on_ground,0\nshinada_an,4\nram_(computer),0\nbig_the_cat,4\njunineu,1\nmojibake_commentary,5\nf-4j_gekishin,4\nkuroi_shiba,4\nsaddle_shoes,0\nkurobako_bb,1\naqua_umbrella,0\nthorny,1\npoteo_(poteo_mot),1\nyodo_rado,1\nazuki_(ckxs7444),1\nnobushi_(genshin_impact),4\nbarbarian_(diablo_3),4\ntarao_(13raven),1\nbinishu,1\ndetritus,1\nesu_(wgdg3833),1\nsakurano_shiyue,1\nroony,1\nrita_(sweethex),4\nmakina_(nikki_m7_),1\ntyki_mikk,4\nsmilent,1\nlanze_reiter_(neco),4\nelinnasky,1\nsoranon,1\nterastal,0\ntess_(88884),1\nnocopyrightgirl,1\nhochun_mieru,4\nlukrevadraws,1\nmishiro_haruka,1\nkir_(kir_keropi),1\nafghanistan,0\ndori_(9720xyz),1\narowana,0\nni_no_kuni_ii,3\ntomonaga_yuuta,4\nharuto_sara,1\ngart,4\nshioha,1\nvayne_aurelius,4\ntomoki_(dais729sof),1\nlokyin_house,1\nsmelling_crotch,0\ndoctor_magus_2,4\nyamasaka_aimi,4\nooluoul,1\nmathieu_(madoka_magica),4\nkita_hiroyume,4\nquanxi's_group_(chainsaw_man),4\nma_na_roo,1\numabi,3\nshan_ji_jing_wu_(sngktry),1\nads_(girls'_frontline),4\npsg-1_(girls'_frontline),4\nmilk-doll,1\nazelle_(fire_emblem),4\nechihiro,1\ncash_cannon,0\nsese_nagi,1\n707arisu,1\nmoyashi_(rina),1\npoka_poka_neko,1\nancalagon,4\nquilted_clothes,0\nemua,1\numberblack,1\ncako_(a_ben),1\natora,1\nasaba_hiromu,1\nyumero,1\nsiluca_meletes,4\nlw_goombang,1\nkurasesu,1\nracing_miku_(2021),4\nkonohoshi,1\namekudaki,1\nruni_(87025),1\ngyoza_man,4\nwaaaai_osushi,1\nclara_mori,4\nshudou_rima,1\nc.x.c,1\nasha_(fate),4\ntere,1\nnui_inu,1\nkarin_(dragon_ball),4\nmayura,4\nhiroshi_(beolcoyote),1\nghana_(chocolate),0\nass_zipper,0\numigumo_yuuna,1\ndefender_(girls'_frontline),4\najitsuki,1\nmikanchii,1\nishizaki_uni,1\naine_(hoshi_wo_miru_hito),4\nyowaifish,1\nsigma_(sword_girls),4\nzyousha333,1\ngabriel_(housamo),4\nsuzuki_(2red_moon3),1\ntsuna2727,1\nvalerie-v,1\nfrozenpile,1\nshiying_no_yao,1\nkezhou,1\nharukix,1\njackie_quilt,4\ncruella_de_vil,4\nkalamari,1\ntomogy,1\nmeow_head,1\nsion_owatas,1\npurin_(iddunpg),1\nlinz_(linzimmm),1\nnekomiya_nao,1\nikarosu,1\nalumina_(kennmeidesu),1\npaddy_san,1\nadusa,1\nlunapont,1\nkirigaku_luo,1\naa211108,1\nsakimiya_iruka,4\nmoddedjoker,1\ncold_war,0\ncontinents,0\nheavy_metal,0\nm_kong,1\nmaru.selinn,1\nffkw,1\nm4rjinn,1\nsasaki_keigo,1\nharpie_dancer,4\nkuromaru_(dottomatto),1\njuno_(mofu_sand),1\ntakenoko_mgrc,1\nren_(rendrrr),1\nrenka_(echollapsar),1\nnevada_(azur_lane),4\nrick_dom,4\nhatsushimo_(azur_lane),4\nmoeshino,1\nshi_xu_jiu_zhou,1\njaeyeong,1\nmitsu_plus,1\nnigerundayo!,0\nting_come,1\n2754,1\nkuroteru_(just-shiny),1\nfui_(fui29493452),1\nred_nightgown,0\ncream_puff_cookie,4\nfuyu_no_kareha,1\nbiollante,4\ngaia_online,3\nbunny_tattoo,0\nprototype_fat_type_95_oxygen_torpedo_kai,4\nnzo_(oishii_pie),1\nsalt-apple,1\nmyria_(7855),1\nfolding,0\nargilla,4\nmitsui_jun,1\ncha_hou,1\nmonorail,0\nadmjgdme,1\nursula_(disney),4\nkira_izuru,4\nsleeping_ear,1\noroo,1\ntosil_080,1\nayashiro_keika,4\natera,1\ntakamiya_yuki,4\ninoue_takehiko,1\nibusuki,1\nmikky,1\nww&f_~the_world_of_water_and_a_fairy~,3\nchief_(91m10),1\nkuroakei,1\nscrunchie_girl_(hanazawa_suou),4\nshimamoto_utsumi,1\nprofessor_utonium,4\nalcremie_(salted_cream),4\nhollow_body,0\nwhite_bustier,0\nasakawa_yuu,4\nmoritatsu,1\nkickflip,0\nlingmuqianyi,1\nayumi_(agent_aika),4\nneeko's_father,4\nmuzin_chan,1\nbe_yu,1\nlixiang_guo_alice,1\nbearn_(azur_lane),4\ntachihara_sayu,4\nougi_maimai,1\npuriketsu03,1\ndaifuku_(pokefuka_art),1\nshinno,1\nmicha,1\nnano_(c175311),1\njill_(decadence),4\nandromedao,4\nnanawo_(7nanawo),1\nlanxcer,1\nhimesaki_yuzuru,4\njira,1\nbomb_suit,0\nblue_girl,4\nizuminnu,1\nvhs-d2,0\nmizunami_fossil_museum,3\naomi_haru,4\nmizunami_mio,4\nalone_belm,1\nmaru039,1\nyasuta_kaii32i,1\njawaco,1\nalthea_jade,1\nayamura_kirihito,1\nsaratoga_(kancolle)_(cosplay),0\ntoge_nbo,1\nemimeku,1\nshachi_(kaisendon),1\naono_wo,1\neizennn,1\nrakuichi,1\nroad_roller_da!,0\nsaotome_maria,4\nmini39mame,1\ndivine_arsenal_aa-zeus_-_sky_thunder,4\nyasunon,1\npoke_flute,0\nkisaragi_louis,4\nch'en_(arknights)_(cosplay),0\nhyun-ae,4\nchenjiyan_y,1\ndoutanuki,1\nbonorenofu,4\nanita_(growlanser),4\nnishikun,1\noyukome,1\nposhan,1\nuno_yuuji,1\nim_i_masa,1\narcher-tan,4\nsuberoa_zinnerman,4\nijirare_~fukushuu_saimin~,3\nososugita_isekai_tensei,3\nibara_kashipan,1\ntamanotsuyu,1\nfk696,1\nkinpatsu-chan_(suruga_kreuz),4\nyuken_52,1\ntwit-tan,4\nduet,0\nwarabi_tama,1\nikusu_(ikustasy),1\naima_imoko,1\nkyougi_sharyou,1\nlost_in_paradise,0\nlavie_(lapis_re:lights),4\nyuyo_(i_iuyo),1\nsilou_b,1\nmillia_rage_(cosplay),0\nwelcome_mat,0\nconstructicon,0\nlcron,1\nutsubo_kazura,1\nniranom,1\nbolo_(shantae),4\ntachakan,1\nziga,3\nla_brava,4\nhameneko,1\nsonson_(yuukyuu_365nichi),1\nkymp,1\nunlock-creed,1\nwhite_helmet,0\nmochizuki_azami,4\noma-chi,1\nmick_(m.ishizuka),1\nstraw_cape,0\noyabin_(shikouann),1\ngreat_mechanics_g,3\nryuu_ga_gotoku_2,3\nk_concord,1\nsa_(sam-ya),1\nkam-ja,1\nidconnect+,3\nfakkuma_(character),4\njapants,1\nssr_ng,1\nogma_(fire_emblem),4\nkilroy_was_here,0\ngreg_russellberg,4\nzedxxx,1\ngundam_seravee,4\nmuji_(majunduo),1\nokayu_(papiko1111),1\nteam-tanabe,1\nririko_deluxe,1\npendramon,1\nnurun_nuruntius,1\ntamato_berry,0\nsean_ari,4\ncondom_on_object,0\npikoguramyu,1\npeachyboo,4\nmochipro,3\nautopenetration,0\ngundam_00_sky,4\nhiroe_chiharu,4\ngruntilda_winkybunion,4\nsagiri_mikage,4\nyusshii,1\nsakashita_fubuki,1\nporco1127,1\nshiyo_(jkke5275),1\nkei_(dirty_pair)_(cosplay),0\nseiya_ingen,1\nli-ming,4\ntida_2112,1\nelesa_(pokemon)_(cosplay),0\nmandator_(ziga),4\noohara_kotone,4\nmystical_elf,4\nsion_astal,4\nkoma440,1\nfig_leaf,0\nplushmallow_(lyn),4\nsmith_(ardp13),1\njohn_(pokemon),4\narinko_(ant-lion),1\nclaire_bennett,4\ndsbz,1\nzyenokana,1\nhasanishi,1\nsilver_collar,0\nnathan_stefv,1\nmomo-chan_atakku,1\nciel-nuage,1\nturukokoko,1\npinyshi,1\nelsa_schtingheim,4\nsahaquiel,4\nmori_chu,1\nyukimura1130,1\nultraman_z,4\neight_(fft-0),4\nking_(fft-0),4\nrazer,3\nknhl,1\nyan_leixia,4\naegyo,1\nkanchikinps,1\nwillgoon,1\nhiiroichi,1\nclarissa_satsuki_maezono,4\nkuroki_kaze,4\nhara_(xper8243),1\nr_shotaro,1\nkyol-2,1\nfighter_(granado_espada),4\nmimi_no_jou,1\nsukara-san,1\npcrxle,1\nbekkuro,1\ncarol.j.jamison,1\ndurandal_(nanoha),4\nfirebate,1\nsanagarah,1\ndelta_plus,4\nbatarang,0\nenothela,1\nliz.,1\nren'ai_karichaimashita,3\ntakiyama_masaaki,1\nein_dalton,4\nscrew_(artist),1\nhoshinopurin,1\nbrave_beats,3\ndongsheng,1\nfather-son_kamehameha,0\naikatsu_planet!,3\nalbacore_(muse)_(azur_lane),4\nchristopher_shouldered,4\nfuchuu,1\ntank_gun,0\nfur-trimmed_arm_warmers,0\nkagami_jiima,1\nkyo_(krokikyon),1\nthundert,1\naki_masanari,1\nnew_getter_robo,3\nxiao_pa,4\nnyamunyamu,1\nnatsuki_yuka,1\n888senpai,1\nmona0101,1\nkiria_ai,1\nlumiel_(p&d),4\ntwin_milf,3\npobotto,1\nkae_karee,1\nmillennium_falcon,4\naotsuki_shinobu,1\nsaiki2,1\nkinokonoko,1\nmatsuoka_shun,4\ndouble_take,0\nintuos9,1\nkeluy,1\nsuzuki_hanako,1\nthievul,4\nsouya_(mawaru_penguindrum),4\nshirase_(mawaru_penguindrum),4\nhakobe_(ichiru),1\nsuper_elegant,3\nhongmao,1\no..o,0\nelise_trinh,1\nhinoto_hitsuji,1\nmolayne_(pokemon),4\nnoraneri,1\nmocchi_(monster_farm),4\ntae,1\nsumizuki,1\nrouche,4\nchi_yu,1\nsumikaze,1\nhiiragi_jun,4\nknj,1\nmalcontent,1\nearthrise,3\neve_neuschwanstein,4\nkansoku,1\nfranceska_mila_rose,4\n7repose,1\nfurusawa_asumi,4\nskids_(transformers),4\noruna,1\nmark_henry_bustamante,1\nmanjyuuya,1\ntonpara,1\nimai_kotoko,4\nhazuki_iku,1\nmatrimelee,3\nedogawa_conan_(cosplay),0\nkazuya_drops_kirby_off_a_cliff_(meme),0\nhime_x_hime,3\nnekono_ootaki,1\nnoko_(iamsimply2000),1\nalfine,4\nkyle_(under_the_moon),4\ndoroshi,1\nrokujou_minori,4\nmagutan,1\natlantica_online,3\nchidori_minamo,4\naritani_mahoro,1\ntakeda_souichi,4\nmimxxpk,1\nloverial+phantom,1\nfish_dumplings,1\nanise_tatlin_(cosplay),0\nrachel_alucard_(cosplay),0\njack_vessalius,4\nriten,4\ncumbie,4\nhigashi_yuzu,1\ngravios,4\nyamamoto_kumoi,1\nrocky_(chendongjian),1\ndsakuraff,1\namami_haruka_(cosplay),0\nin_kai,1\ntokijiro,1\nmatsumoto_tomoki,1\nmercurycraze,1\nbullet_time,0\ntakatsuki_yayoi_(cosplay),0\nkuro_(love_hina),4\notouto_(caster5),1\nfushimi_yukari,4\ngyworz,1\nharayan,1\nyuzuhara902,1\nduo_lon,4\nyamada_yukihito,1\ndoku_ta_pepperko,1\nkamen_rider_tiger,4\nlem_tea,1\nsoyasengoku,1\nnakajima_megumi,4\nluv,1\nkashiwagi_noriko,4\nsevenger,4\nyenyen,1\ntenga_egg,0\nsleeptopi,1\nmori-003,1\niray,1\nnaka_nohito,1\nsunny_(toriko),4\nsu-27,0\nwolfgang_krauser,4\nhakoda_eko,1\nkazura_sakura,1\nrinda,1\nhikiyama_kayo,1\nshauta_(ooo_combo),4\nfuyutsugu,1\nlinebeck,4\nriku_replica,4\npixa,3\nyuuki_nako,4\nqueen_emeraldas,3\nmakkusu_(max_101010),1\nmugen_soukyuu,1\nakira_(hiragana),1\nkamisama_no_iutoori,3\nmakashiki_(aarni_0),1\ndaryoon,4\ntemptation_2,3\nes_(glasscastle),1\nkihara_maya,4\nkashii_nanako,4\nkurosuke_(pixiv5704),1\nmr._bright,4\nhouen,1\nlegend_of_the_five_rings,3\ntoppara,3\nshirakawa_saori,4\nakira_(togainu_no_chi),4\ntomuman,1\nnannaspad,1\nmisada,1\nyuugiri_ruriko,4\nitousatou_mutou,1\nmiyazono_mashiro,4\ninugoya,1\nzaki_(artist),1\nusakotsu,4\nnemo_(mobile_suit),4\nyukigumo,1\nfujimura_kyuu,1\nmizutani_rin,1\nsugimoto_yoshiaki,1\njinja_eru,4\nkurotowa,4\nshigeohji,1\nzerozaki_maiori,4\ntoujou_akira,1\nyuki_arisa,4\napricot_(fruit),0\ntiaris_(langrisser),4\ntokino_hitonatsu,1\nshuusou_gyoku,3\ndaedalus,4\nriru_neko,1\nochimusha,1\narecus,1\nmotimamire,1\nshadow_triad,4\ncampaign_girl,0\ndowntown_no_gottsu_ee_kanji,3\nxaessya,4\nmarcus_fenix,4\nwamochi,1\np-38_lightning,0\nall-terrain_vehicle,0\nnarumi_aoi,1\nkizawa_hiroto,1\nsakura_chidori,1\nmoyashi_nabe,1\nmarge_simpson,4\njacky_bryant,4\ncricket,0\ntemplar,0\ngengar_(cosplay),0\nkanou_seia,4\nizumi_sora,4\nsaucybrtt,1\nkeiko_(emoticon),1\nhoukago_ren-ai_club,3\nsachinyopo,1\nundertaker_(sword_girls),4\nusagineko,1\nmonon_tulle,1\niwato_(celler),1\np-u-n-i,1\njaune_clafoutis,4\nr_inami,1\nboris_(borisasf),1\nmurasawa_kyara,1\nshiraha_mato,1\nfaceswap,0\nroten,1\nbebe_stevens,4\nzakka_(d-o-t),1\nizuko,1\nquin_mantha,4\nmiuta,1\nwarsman,4\nkoronu,4\namamiya_kurara,4\nakane_(goma),4\nokayu_(crosspoint),1\ndoku_donguri,1\ngatakiriba_(ooo_combo),4\naki_(emina&aki),4\ntoppiroki,1\npashiri_(shiripa),1\nyoshi_(cosplay),0\nskit,0\nwhite-light,1\nredalice,1\nafurichin,1\n10yen_kabu,1\ninutokage,1\namagase_yuuki,4\nmurasame_sumika,4\nkazama_ushio,4\njunkparts,1\nkamen_rider_zolda,4\ntarzan,3\nmorokoshi,1\ntaskmaster,4\nkuu_(agekichi),4\nkuro_(doko_demo_issho),4\ndaburu,1\nnanami_tomorou,1\noriennto,1\nshinki_musume,3\ntrick,0\nclaptrap,4\nharada_yuuichi,1\nazuma_doguu,1\nmitsuya_(iron),1\ngiga_bowser,4\nmomo_moto,1\nibitsu,1\nkusugaya,1\nmie_lu,1\nyang_niangniang,1\nkatou_yuu,1\nhouroku,1\nfuruya_usamaru,1\nprotodeviln,0\njohn_mangalile,1\nren'ai_byou,3\nfinal_destination,0\nmajorika,4\npiyyoota,1\nmatsu_(sengoku_basara),4\nnegativeundead,1\ncei_(sohin),4\ntooi,1\n24x24,1\ntsukubae_shizuka,4\nkono_bushitsu_wa_kitaku_shinai_bu_ga_senkyo_shimashita.,3\nmikimura,1\nningen_series,3\nluna_(sailor_moon)_(cosplay),0\ntake_no_ko,1\nkobayashi_koma,4\ntaimanin_asagi_2,3\nmiura,1\n1boshi,1\nfurubokko,1\nrokuri-eva,1\nshiawase_na_ohimesama,3\nsnow_white_evelysse,4\nnoora_brandor,4\nkuroneko_koubou,1\nneck_ribbon_removed,0\nwing_genome,0\nx_bokkis,1\ntamaru,1\nchange123,3\nhoshi_no_koe,3\ndrowtales,3\ngotou_hitori,4\nmikoshiba_rea,4\nmariko_(elfen_lied),4\nmiri_(roll),1\ndaena,4\nfuyu_kitsune,1\ngeki,0\nakaza_shiro,1\nmemory_card,0\neinhander,3\ngertrud_barkhorn_(cosplay),0\ndaicon_iii,3\nshenlong_gundam,4\nmatsumoto_eight,1\nshibamura_mai,4\nsana_(kerarino),1\ncathy_inaba,1\nkaga_mine_2,3\nculumon,4\noreiro,1\nblight_essence,1\nmomo_at_ten,1\nakisa,1\nkuchibashi,1\nfomarl,4\ncolorful_aquarium,3\nconnie,4\nweltall-id,4\nkid_(artist),1\nhanaki_misa,1\ncorey_sniper,4\nsunson,1\nunco_(pixiv457393),1\nnadia_cassel,4\nyuuno_(hack_y),1\ncookie_monster,4\nbiglove,1\nnisu,1\nyuasa_satsuki,4\npurple_heart_(cosplay),0\nblue_barret,1\ntime_gal,3\ninomoto_hiro,1\ntako_(pixiv8535),1\nshinguuji_moena,4\nkumaman,1\nchoco_holic,1\nsiukaukau24,1\nimamiya_satoshi,4\nffr-31mr/d_super_sylph,4\nmackey_(mthc_riku),1\nyomio,1\nbuta,1\nmehime_no_toriko,3\njuun,1\ncielo,4\nhitozuma_kasumi-san,3\ngene_starwind,4\nkoppamu,1\nkaze_no_ushiro_wo_ayumumono_(kazeko),4\nshimura_nobuo,1\nkaya_(mononoke_hime),4\nare_you_talking_about_kuririn,0\nkobayakawa_chinu,4\naerial,0\nhikaru_(angelic_layer),4\nrin_(nagasarete_airantou),4\natelier_iris_eternal_mana,3\nsakurano_tazusa,4\nevangeline_(lewdweather),1\ncurryuku,1\nkoonya_(baby_meowth),4\nbreedo,1\nroseidan_(haevest),4\nmitsuzuri_minori,4\nkonko,1\namasaki_ryouko,4\nhitsuji_hako,1\nyanzhi_bai,1\nhayami_ayuko,4\nli_shuwen_(young)_(third_ascension)_(fate),4\nnirco,1\ncolored_cum,0\nmigi_nagi,1\nmonge_baby,1\njon_(zyagapi),1\nkureya908,1\nmogupen,1\nbuttercupsaiyan,1\nesmeralda_(otomedius),4\nmildly_muscular_women_think_they're_gods_(meme),0\nitou_shizu_(assault_lily),4\nchibiosaka,1\nichinose_rika,4\nmiss_valentine,4\n009-1,3\nkannazuki_megumi,4\ntory_youf,1\nsamu_(7643109),1\nlasers,0\nlasagne,0\nsaisou_(2ndere),1\ncel,0\nshuuchakueki_kara_hajimeyou,3\nyoukoso_chinshusou,3\nxulhey,1\nholger_(madoka_magica),4\n720yen,1\nyomogi_opa,1\npercy_(fire_emblem),4\nikuryomaga,1\nmikikoto_hitsuji,1\nmilk_junkies_3,3\nkiharatotsunori,1\nkanbaru_suruga_(cosplay),0\nsieg_(mazohaha),4\nlitlicha,1\nwakase_izumi,4\nmetroid_suit,0\nbridget00747,1\nsaraband,1\nshukushou_gakuen,3\ndimension_zero,3\nyou_(kimito),1\nzettai_maou,3\nminesweeper,3\nsatori_(kxdm8872),1\nmayama_takumi,4\nmia_guillem,4\nkazami_hatsuho,4\nsagisawa_yoriko,4\nhanaji,1\nkyoudou_senna,4\nprincess_sarah,3\nirina_woods,4\nmaria_graceburt,4\nsanwood_mori,1\nkono_minikuku_mo_utsukushii_sekai,3\nikuina_sumi,4\nruby_heart,4\nmelfis,4\nworking_days,3\nmorimoto_leona,4\nyua_aida,4\nagatsuma_mizuki,4\nishizuki_koyori,4\nhasegawa_yukino,1\nhellmary,1\ntung,1\nmimori,1\nkita_michiru,4\nadrian_andrews,4\nsayama_mikoto,4\nnoumi_kudryavka_(cosplay),0\ngundam_astray_blue_frame,4\nrobin_mask,4\nguro_cure,3\nmiyano_mamoru,4\nzawapirori,1\nmia_ausa,4\ncorrine,4\nyukki_0125,1\nkasugai_hiroyuki,1\namakawa_yuuto,4\nborn_free,1\nnanase_yae,4\nusapiyo,1\nvelfro,1\nminatoya_shunsaku,1\nsore_wa_maichiru_sakura_no_you_ni,3\nfirebird,3\nshishunki,3\nametsuchi_akino,4\npeta_7,3\ndenim_powell,4\nmig-25,0\nxarlasar,1\nsazanami_(artist),1\nlina_inverse_(cosplay),0\nshuraki,3\ncarmen99,4\nyawaraka_sensha,3\nnakadai_chiaki,1\nnekoya_kazuya,1\ntanuki_happa,1\nmadoro,1\nspider-man:_no_way_home,3\nnase_asumi,4\nyoro4545,1\nomuro_musume,3\nhiramatsu_taeko,4\nliza_(bae.c),4\nkarakuri_hitoha,4\nakina-chan_(umezawa_itte),4\ndaliyang,1\nfueto_hiroki,1\nwei_yenwu_(arknights),4\nkoli_(ssssoliko),1\napopo,1\nzucreelo,1\ngear_fourth,0\nfreewaterlemon,1\nschwarzer_roegen,4\nmisheng_liu_yin,1\noniken,1\ngameyaruzaurus,1\nscotland,0\ntochiko_(spi),1\nyoru_sei,1\nblazemalefica,1\nnun_(konoshige),4\ngan-metal,1\nleon_belmont,4\nchelsea_torn,4\ncharu_(saru_getchu),4\nclaire_(bokujou_monogatari),4\nsnail_(ceres_fauna),4\nblackcat_(blackcatbox),1\ndraluc_(kyuuketsuki_sugu_shinu),4\nnagao_kei,4\nsilver_wings,0\njudeau_(berserk),4\na'he_(the_legend_of_luoxiaohei),4\nglenda_(puchi_puri_yucie),4\nnoshimurin,1\nwitchcrafter_haine,4\ntachibana_rikka,4\nbarton_(alchemy_stars),4\ntar,0\nglorenia,1\nyoshikawa_yuki_(hori-san_to_miyamura-kun),4\nfatzhai,1\nkmnk_(kumanuko),1\nohtado,1\namenboaoina,1\ndrapri_guu-ta-life,3\ndova,1\nmaron_(dragon_ball_z),4\nortina_lillibel_(yashiro_sousaku),4\nyamada_hanatarou,4\nchuchu_(the_legend_of_zelda),4\nmel_j_vanette,4\nentenca,1\nyuri_(etra-chan_wa_mita!),4\nsumi_(gfgf_045),1\ncradle_(2849),1\nminakami_hina,4\nno.21_(punishing:_gray_raven),4\najiki_kei,1\nhoshiko_(white_nova),4\nmejiro_family_matriarch,4\nanna_liebert,4\nhayashio_kai_ni_(kancolle),4\ntrash_taste,3\nnyarlathotep_(nyaruko-san)_(cosplay),0\nsatsuki_mei_(17maymay14),1\nargyle_pants,0\nbataan_(comfy_cotton_jammies)_(azur_lane),4\njitsu_wa_imouto_deshita.,3\nelemental_hero_burstinatrix,4\nbludwing,1\nuchuu_senkan_yamato_2205:_arata_naru_tabidachi,3\nmonza,1\nomiyacha,1\namissio,3\ndashi,1\nhavockr,1\nnodoameyatou,1\nlyna_(ff14),4\nocarina_(capitan_(tsyoujo)),4\nsaemoy,1\nuepon_(shimo_ponzu),1\nwatayumi_leo,1\nsu_xiaozhen,4\nsnao_(snao_na_snao),1\nhowaitosawa_papiko,4\npixiv_papico_design_contest,3\nogamikeito,1\npeaceablecolt,1\nli_sushang_(jade_knight),4\nfagun_yibei,1\nshure_55sh,0\nhomutan_(syjg2733),1\nraphael_(alchemy_stars),4\nmatatatatabi,1\nonizuka_furiru,1\nstone_(ksorede),1\nyokuko_zaza,1\ncandy_cane_hair_ornament,0\nl'indomptable_(azur_lane),4\nwes,1\nyupo_0322,1\nhenry_henderson,4\nghost_reaper_&_winter_cherries,4\ntencent_qq,3\npa-15_(lady_thief_of_champagne)_(girls'_frontline),4\nbeast_of_darkness_(berserk),4\nfu_ku1_437,1\nkirby's_house,0\ngrapefruit_slice,0\nkyouka_(tsugumomo),4\niznal,1\nkirishima_natsuya,4\nrum_ialis,4\neto_mitsuba,1\nmaypia_alexymetalia,4\nhanamori_healthy,4\nwu_dong_qian_kun,3\nmumbies_(kirby),4\nlord_(lord_of_heroes),4\ndaewoo_k1,0\ndhaniya,1\ndako_(dakosito),1\nxianyujun_sam,1\nneekosiah,1\nsrasa,1\nirie_kazumichi,4\ntsukimi_yoruha,4\nsetawar,1\nkifa_(hetza),4\nharenochi_hareta,1\ndeath_ball,3\nsuzukkyu,1\nyoshino_ns,1\npuripuri,1\ntirpitz_(iron_blood_snowstorm)_(azur_lane),4\n55_yamisan,1\npossum_tail,0\nsadiwosan,1\nresa_7z_(resastr),1\nkamesuke_(turtle0124),1\nseto_ferb,4\npechita,1\nayase_kaya,4\nph_draw,1\nnayuta/iho,1\ndyx217,1\nkurokiseow,1\nnonaturednerd,1\nazuma_kaisen,4\nly_(pixiv13839236),1\nbutano_(star-dust_boxxx),1\nst_ar-15_(prisoner_of_the_dream)_(girls'_frontline),4\nsports_drink,0\nkainushi,1\npofu31,1\ngregor_(fire_emblem),4\nz23_(perfect_smile?)_(azur_lane),4\namazingartistyellow,1\nflan_(f_l_an),1\nabhaya_mudra,0\naisu_mint,4\ntansuan_zhanshi,1\ngirusyu1945,1\naogumaptticrash,1\nbabumi!,3\nseigaaaa,1\nkinoshita_takako,4\nholding_scanner,0\nrifana,4\nultimate_antihero,3\nwet_nightmares,3\ngrand_summoners,3\nsatanya,1\nrakugo,0\nnakazou2000,1\nalpyro,1\nnarita_imomushi,1\ngo_(inmu),4\nmukaichi_mion,4\nshadow_(devil_may_cry_5),4\ndark_hound_3,1\nsubwoofer,0\npokurimio,1\nmashin_chaser,4\ntheresa_apocalypse_(violet_executer),4\ntachibana_tomoe_(absolute_duo),4\nshuu-chan_(me!me!me!),4\nyakinasu87,1\npldf,1\nisekai_meikyuu_no_saishinbu_wo_mezasou,3\ntoni_kensa_(splatoon),0\njoe_gibken,4\nmusashi_(violet_moonglow)_(azur_lane),4\nminatosu,1\nlenny-tree,1\nyu-ori,1\ntakkikun,1\nhoshino_miyako_(wataten)_(cosplay),0\nshiki_kayanotani,1\nzombie_(honkai_impact_3),4\nmaeter,4\nkarlsruhe_(azur_lane),4\nfur_bra,0\nferricblue,1\nmylene_(damegane),4\ncontainer_ship,0\nodeyama,1\nmahou_shoujo_tokushusen_asuka,3\nunova_mother_(bw2),4\ndogoo_man,4\nkimishima_kana,4\nminami_juujisei_renka,3\nexeter_(warship_girls_r),4\ntashkent_(warship_girls_r),4\nmonk_(ragnarok_online)_(cosplay),0\nyunohana,3\nexpressive_object,0\nstudy_(animerensyu),1\nteira,1\nkamiya_ris,4\nmonkey_kusai,1\nshining_dradon,4\nprotect-gear_(jin_roh),0\nnakahara_maria,4\nhoshino_(cona),1\ntanoki_(mituguma),1\nginrei_(senran_kagura),4\nlan_jue,1\nscratching_stomach,0\ngiant_gorg,3\nstanding_on_branch,0\nsakurada_en,1\ndragon_ash,1\nkaise_hiroyuki,1\n603_(lolipop),1\ngrubitsch_grady,4\npakkun_(naruto),4\nzero_the_glint,4\nshibekawa_081,1\nakycoo,1\nmahou_shoujo_taisen_contest_2,3\ntokiwa_machi,4\nsupi_(inner_map),1\nsenatorwong,1\nueno_zousui,1\npanda_(saitou),4\nogino_(watamote),4\nzol_(rambling7),1\ndel_(logicallogos),1\nfloatingapple,1\ndoughnut_pillow,0\nkochi-goori,1\nawai_(pixiv29777040),1\nfantasista_(arcade),3\nchilling_hedgehog_(elsword),4\nchocomint_(ameto_yuki),4\nsis-tan,4\nsolomon_(phantom_of_the_kill),4\nyui_(msy1302mana),1\nchiba_ryuunosuke,4\njouji_joestar,4\nnem_graphics,1\ntekutonbo,1\naofujiake,1\nheewon_lee,1\nmeitantei_marnie,3\nmarnie_(meitantei_marnie),4\noekaki_lemon,1\neliz0r,1\nmetal_gear_mk._ii,4\nstar_power_stick,0\nshioya_mutsu,1\nendrance_(.hack//),4\nboxboy!,3\nasgard_(wild_arms),4\nylmi,1\ngunbird,3\nmikhail_lancelot,4\ntorabishi_lana,4\nusushira,1\nptilol_(sailor_moon),4\nflorian_(tales),4\nid_(xenogears),4\nc52278,1\ntengaar_(suikoden),4\nduvalie,4\ntropical_vacation,3\nreeya,1\nannosada,1\namemiya_tamayo,4\nkunihiko_moriguchi,3\nmyelocyte_(hataraku_saibou),4\ngaixas1,1\nishida_kazuma,1\nnagisa_(bemani),4\nkongari_(kngr),1\nmorumoru00,1\nuronte,1\nren-co,1\nponita-poniponi,1\nyeon6432,1\nhoshido1214,1\nyuutosj,1\nmarauder_(doom_eternal),4\nmammon_(makai_shin_trillion),4\njinto,4\nabara_chiita,1\nillusion,0\nhabitacion_en_la_llave,3\ngalleta,1\nsoune1000,1\nholding_hand_grip,0\nlast_summoner,3\niko_(kingreia),1\nindisk_irio,1\nmoroboshi_ryuuichi,4\nchika_(kouya_no_kotobuki_hikoutai),4\nlololotton,1\nhat_hug,0\nlola_rembrite,4\nparadis47,1\nlishenna_omen_of_destruction,4\nkimura_matsuri,1\nnarumiko_busa,1\nane_yome_quartet,3\nbeam_kirby,4\nydg_(eorbsaos1004),1\ntsume3mai,1\nvarios,1\nvivian_(cross_ange),4\namami_shisen,4\nskylark_12,1\nsticks_the_badger,4\nwada_(watamote),4\nshirogane_x_spirits,3\nbida,1\nmisuki_op1155,1\nklem,1\nhitofudegaki_usagi,1\nwool103,1\nsuzuki_natsume,1\nmadakov_kodima,1\nkamiki_kinu,4\nimo_(suruga),1\nyukiji_tokiji,1\nkarasuma_pink,1\nmichiru_(nonewane),1\nink_(303682546),1\nbenny_(black_lagoon),4\nzielgigas,1\nakkari~n,0\nhou_akira,1\ncharaleet_(precure),4\nekuryua,4\nfukune,1\nyuto_(wyuichi_0503),1\npeiyu_zhou,1\nnagaresimasu,1\nsakusyaretsuden,1\ncutlass_(classic_chocolate),1\nmiyabi_mahore,4\ngyorui_(toura_minato),1\nakiha_(ominaeshi),1\nmachi_(mctri),1\nunitoon,1\npeanuts-kun,4\nmafuyu_no_mo,1\nraechelpapaya,1\napertio,1\nhebi_utage,1\nkawahagi_modoki,1\ntexus,1\nfegor,4\nmim_(mimya0600),1\npatio_chair,0\nasllence,1\namara_(captain_earth),4\narashi_teppei,4\ntie_baihe,1\npixiv_card_battler,3\ntokatti_(ressha_sentai_toqger),4\njuniper_woods,4\nkotobanori_aki,4\ntasogaren_212,1\nshirokoma_(wagahai_hakushaku),1\nlai_(pixiv1814979),1\nyuchi_(yuki0093),1\nwerehorse,0\nissun_boushi_(taku37taku),1\nchrono_(himadon),1\njinra_(mkzk_116),1\nyuuki_jun,4\nkonuko_(nukonuko210),1\n3678177,1\nmia_(jagaimo_(kkamja)),4\nkokeshi_1101,1\nmochi_mame,1\nspiritpact,3\nkeshitsubu,1\npetitbisou,1\nkake_(kuromitsu),1\nmagicpants,1\nsyeoseul,1\nnako_(inamenaihane),1\ntakumi_aldini,4\nkojiki,1\nelizabeth_(persona)_(cosplay),0\nzegga,1\njuno_(fire_emblem),4\nbrellom,1\nlegs_on_another's_lap,0\nhibino_mina,4\nshirai_keita,1\nharuna_(aoki_hagane_no_arpeggio)_(cosplay),0\nheart_card,0\nkuro_saki,1\nmayuzumi_machiko,4\nkako_(monogatari),4\nebi_typer,1\nhorus_(stand),4\ngeneral_pepel,4\nanchorage_akiko,1\nmyoukou_(aoki_hagane_no_arpeggio),4\nliarhatter,1\nhalcyon_(halcyon90),1\nloggi,1\nend80236189,1\nkae610_oekaki,1\nmatsubara_kanabun,1\nfranklin_(hunter_x_hunter),4\nlicking_hair,0\ntoto,1\nfrey,1\nghoul,0\nmultiple_3koma,0\nhachisuzume_shijimi,1\nbithmath,1\nnori_aji,1\njunmai_karin,4\nlonginus_(weapon)_(fate),0\nby_esc,1\nsainokami_ika,4\nkagetora,1\nice_cream_mad_lab,3\nfukkatsu_saisei_kaijin,1\nhirasaka_yomotsu,4\npochiron,1\npatreon_logo_censor,0\ninoue_mitan,1\nabraham_lincoln,4\nmomoyama_tsutsune,4\nabi,1\nmask_(gundam_g_no_reconguista),4\nkristoph_gavin,4\nmai_(senran_kagura),4\nchrisnfy85,1\nwen_juinn,1\nmarchosias,4\nemel_(7th_dragon),4\nshibari_marks,0\ngiselle_(pokemon),4\ntorn_underwear,0\nreona_amane,1\ndemonk,1\nlivly_island,3\n101_dalmatians,3\nkudan,1\nark_performance,1\nu_928,1\nususionorisio,1\nyanai,1\ndyna_blade,4\nmiko_(s1748s),1\npanzer_front,3\nhoshimiya_ringo_(aikatsu!),4\ngas_cylinder,0\nfuyunotete,1\nlucario_(ruins),4\nutako623,1\ntin_(wsp85205),1\nplatinum_fantasia,1\nfifa_world_cup_trophy,0\ngoldengear870,1\nhibachi_(mushibugyou),4\nmin1223,1\nm-goro,1\nkenpin,1\ndelta_monster,1\nalexander_rubzow,1\nkanure_stella,4\nhozumi_(8/1),1\ncyda_afrarn,4\nroad_233,1\ngangsta_republica,3\nminion_(league_of_legends),4\nsatou_kou,1\nkuuga_(cf),1\nsecret_garden_(fate/extra_ccc),0\nsaezu_habaki,1\ntakao_(cruiser),0\numbrella_corporation_(logo),0\naruolrn,1\nniels_(kyokugen_dasshutsu),4\nmotosuwa_matsuri,4\ntype_99_light_machine_gun,0\njom2,1\nrmm,1\nscp-408,4\nnogiguchi,1\nkotomiracle,1\nlocadol_promotion,3\nshiorinda,1\nkamen_rider_baron,4\nkamen_rider_ryugen,4\nari_laharis,4\ndenshi_yuugi_mokushiroku,3\ndoregusu,1\nburgerberg_q-taro,4\nwatchtower,0\ncelenike_icecolle_yggdmillennia,4\nshiden_kai_2_(kancolle),4\ngino0808,1\nmikunido202,1\nshimogamo_yashirou,4\nlambda_(tales),4\naqua_(tales),4\nsoraneko_(192355),1\nteiruzukingudamu,1\nnagisa_(12363),1\nmonomi_(danganronpa)_(cosplay),0\nsukuna_shinmyoumaru_(cosplay),0\nprovato_pecora_aries,4\nmio_(blue_dragon),4\ncole_(ninjago),4\nhuitu_xigai,1\npori88,1\nred_crown_(cult_of_the_lamb),4\nmelso,1\nragi_(schrdngr),1\nkyu-bum_lee,1\nleon_(over_zenith),4\nblack_sperm,4\ngrant_(pokemon),4\nimouto_paradise!_2,3\nasasaka_meguri,4\nsen_squid,1\nskadi_dragenfelt,4\nhato_(grazie_a_domani_7),1\nflounder_(the_little_mermaid),4\nichikawa_(addiction),1\nsuuzuki_ayato,1\nbartolomeo,4\nbonbori_yukico-tan,4\ntokiniwa_yuuki,4\nkamosikayasyamoji,1\ntaka_two,1\nfran_francois_francesca_de_bourgogne,4\nshin_(kingdom),4\nfujimiya_konomi,4\nroku_s3,1\nrayraw,1\nebi_(eeemimn),1\nromancing_abe,1\nwakaba_(azur_lane),4\nstuffed_airplane,0\nbeizhe_mu_jita_de_xiao_zhu,1\nmatsu_(a-type_corp),1\nkogarashi_8,1\nryon_1925,1\nyabukita,1\npopora_(nene_ichido),1\nyamator10t,1\nsankakuyama,1\nhigh_orc_(monster_girl_encyclopedia),4\ntakashina_taaa,1\nhanae_haruka,1\nmuragaki_(sgxx4878),1\ngatyo_5,1\nur_ymir,4\ndaybreaker_(elsword),4\nro47,1\nkanata_(chack_fastener),1\nhekisoujo_(juuni_kokuki),0\nkashima_mashino,1\nshaela_(force_of_will),4\nkanji_hair_ornament,0\nyuiga_nariyuki,4\ntri-color_desert,0\nacbin's,1\ntsab_rescue_military_uniform,0\nreiley_miller,4\nvampire_(artist),1\npoffle_(konkichi),4\noozaki_selena,4\nhagunontada,1\ncafe_mew_mew_uniform,0\nkusoyarou,1\ntsukui_michio,4\nharu-kun,1\nlicking_eye,0\nsonic_the_werehog,4\nglorious_(glorious_school_life)_(azur_lane),4\nshihomi,1\nporuporu,1\nmomoiro_closet,3\nbearthemighty,1\nnarami,1\nyamato_christina_wako,4\nsexy_or_cute?,0\nhina_kitty,1\nkokobuttz,1\nnatie_(latte),1\naries_spring,4\ntenmuki,1\ntaira_shihito,1\nayamiyuki,1\nzazaki,1\nyae_rin,4\ndaejun_park,1\nm'naago,4\nkongou_b,1\nanjanath,4\nsanrokumaru,1\nmilkyteaart,1\nginxiee,1\nrusk_(canvas4ban),1\nbridgette_(granblue_fantasy),4\nmoopic,1\nhazakura_shoha,1\ngodoju,1\nhinotsuki_neko,1\nphessian,0\nphoto_date_watermark,0\neiji_(sao),4\nkaramell,1\nnamco_namja_town,3\nrouto_(rot_0),1\nmisokatsuhaumai,1\ndorio_(dorio666),1\nyuutousei_ayaka_no_uraomote,3\nayaka_(yuutousei_ayaka_no_uraomote),4\nhitsuki_aki_(forked_road),1\nsekirei_tessar,1\ndaphne_(re:zero),4\naquila_(symbol),0\namerican_flag_gloves,0\ncrawford_(semochan),1\nnamaashi_(user_fuga4235),1\ntakanotsume,1\nwars-ma,1\nsakushaaya_(3948aya),1\nmkon,1\ndromedary_(kemono_friends),4\nwalrus_(kemono_friends),4\ngreater_rhea_(kemono_friends),4\nsuwa_nanaka,4\nshuten_douji_(onmyoji),4\nsatou_tomomi,4\nkatagiri_itsuki,4\nhirose_yuki,1\nhoojiro_(found1093)_(sketch),1\nhand_warmer,0\nkizami_yuuya,4\nnatsuki_hinata,4\n11ama,1\nprocrastination,0\nmammon_(the_seven_deadly_sins),4\nkicori,1\nkate_niemczyk,1\nalicetype,1\nnmunco,1\ndark_priest,4\narikawa_kaguya,4\nweresheep,4\nmikashimo,1\nlilin99jh,1\nthird_love,1\ntsumiwara,1\nmanaka_nemu,4\nvividgreen,4\nmifune_yuriko,4\nkenno_arkkan,1\nishiima_shiro,1\nbel_(dokidoki!_precure),4\nzutsuumochi,1\nnakamiya_mayu,4\ninsanity,1\nkyonyuu_fantasy_2,3\ntg,1\njii_baa,1\nno_more_heroes_2,3\nart_supplies,0\njack_the_ripper,4\nsuzuki_(gmbk),1\nboy_scout,0\nnegetsu,1\nsdkfz221,1\nkuroneco,1\nmitsuki_(p&d),4\ninoue_mayuko,4\nflootier,4\nlip_kiss,3\nrimei,1\ngrimoire_of_marisa,3\nkosagi_midori,1\nanus_piercing,0\nhirata_kazuya,1\nfreedom_planet,3\nkishiyama,1\ntaking_notes,0\non_nose,0\nmaokezi,1\nkuroka_tori,1\nrenshena,1\nlemon_magician_girl,4\nfifuth,1\ncushion_grab,0\ntsukimisou_(flower_knight_girl),4\nponujiri,1\nechinacea_(flower_knight_girl),4\ntaro_sasagae,4\nsugimoto_takeshi,1\nspice_rack,0\ntanaka_arumi,1\nsonya_(mon-musu_quest!),4\nasakura_meito,1\nbakgae,1\nbrora,1\nishtar_(macross),4\nnine_(suifla),1\nchip-chan_kick!,3\nbujin_(pageratta),4\nchoujin_(pageratta),4\ntsunashi_ryuunosuke,4\nmoryapanima,1\nsachiko_(suzume_0141),1\nxiao_duzi,1\ninuzuka_kouhei,4\nhoshimori,1\nsuzuki_shou,4\nmoing,1\nh&k_p7,0\ndaisuki_dattara_daijoubu!,0\ndao_fu,0\nshoutarou_(tibi2),1\nshiraki_(shiraki_shiki),1\nzabumaku,1\nfay_spaniel,4\nblackkdogg,1\nuro_(oolong),1\nnekotani_mikamo,1\nnight_(nightmargin),1\nbjmaki,1\nnatsu_no_majo_no_parade,3\nsamnedar,1\ntype_13_air_radar_kai,4\ncat_on_ass,0\ndanielle_redford_(kamezaemon),4\nerenav,1\nholding_bars,0\nkisaragi_mizuha,4\ncharacter_costume,0\nnako_(ayasakinako),1\ndanganronpa_gaiden:_killer_killer,3\nazure-aoi-,1\ntype_96_fighter,4\ntype_3_depth_charge_projector,4\nsonnet_form,1\nxinhao,1\npink_(4chan),1\ntachigi_(criver),1\ngirls_und_panzer_phase_erika,3\nmizuasagi,1\nhomaru_sangou,1\nmizuha_(zxass0612),1\nwakou_(zassou_tamashi),1\nying_(paladins),4\nbonple_(emblem),0\nkurea_(a114019),1\nmoa_(21energy12),1\nhallelujah_zeng,1\nrorimo,1\nstudent_no._0,4\ngamon_yuuta,4\nmargarita,0\nchorota,1\nass-to-breast,0\nabdomen_swell,0\nbleachist,1\nanna_nikonova,1\nbakugou_masaru,4\nkisaragi_yuu_(idolmaster),4\nhana_shiori,1\nnegligee_(game),3\nkokoro_(alice_girls),4\nkanbee0000,1\nmarfie,4\nyumemi_(uchi_no_hime-sama),4\ntoriniku_(selene1050),1\nlinxi,1\ncredence_barebone,4\nyuhack,1\nnoa_(kidoairaku),1\nsekai_(karakuri_shoujo),4\nmitsuki_(yu_hsiang_yi),1\nmitsuki_sanagi,1\nolive_oppert,4\nakcho,1\nhoshino_(sakuragi_ren),4\nstarly_girls,3\nshinsou_noise,3\nmizuhara_nayuu,4\npmasterm,1\nzhong_chai,1\ntahira_ureka,1\nmark_simonov,1\nhigashikurokawa_(oshiro_project),4\nreddit-tan,4\nsarami_(sa_rami30),1\njit,1\nnikunja,1\nefina,4\nkoshii_tai,1\nkagurazaka_reina,4\naletheia_(granblue_fantasy),4\nmamiya_myanmar,1\njie_(530940004),1\necila,1\nichigoya_(mazikayu),1\nraphire,1\nchawa_(chawawa),1\nyukimichi_(yki),1\nfran_(inazuma_eleven),4\nkatomiman,1\njin_chongtian,1\nkusaribe_hakaze,4\nitsuki_(yishu),1\nfujino_ichi,1\nscp-999,4\ngassan_kunimitsu,0\ntaimanin_asagi_3,3\nfamiki,1\ntaru_(sougoubunnka),1\ntorii_takashi,1\nkouusagi,1\nlove_of_ren'ai_koutei_of_love!,3\nthighhighs_under_pantyhose,0\nkyuugou_(ninekoks),1\njinbara_tatsuichi,1\nkomugi_(flower_knight_girl),4\nxu_ni,1\nsuper-skrull,4\nmusashi_(battleship),0\nrabbit19,1\ninterlocked_toes,0\nashitaka_(cosplay),0\nrolled_up,0\nmano_(shampoohatter),1\nmizore_maji,1\ngreat_jaggi,4\nyumemiru_kotori_(vocaloid),3\nniiya_teiichi,4\nteec,1\naruk,1\nmorozumi_junka,1\nf_(zxc0000),1\nsocket_wrench,0\nmedia_(quiz_magic_academy),4\nharuka_(dream_c_club),4\nraku,1\ndekatanaba,1\nanifamu,1\nshouten,3\nnakajima_kotoko,1\nwatanabe_mayu,4\nraivu,1\nmilluki_zoldyck,4\nnegi_(loveyr),1\ngreatestwashi,1\nyukinagi,1\nsasaki_yukimasa,1\nmountain_climbing,0\nhazuki_akaoto,1\nsea_la,1\ntakamizawa_mayu,1\njun_(666),1\nshigyou_yuuyami,4\nrlo,1\nhasuike_an,4\nm.e.m._yogosareta_junketsu,3\nmikage_(curry_berg_dish),1\nnyabe,1\ndouble_rainbow,0\nmochizuki_nana,1\nurara_(urara-nya),1\nmitsumete_knight,3\nlace-trimmed_boots,0\ntokitaka_(amaterath),1\nrondoline_e_effenberg,4\nyostel,1\nsakuya_(.hack//),4\nsawblade,0\nhello_good-bye,3\nminazuki_kurisu,1\nniangao,1\ntakakura_karin,4\naki_(prdx85),1\nyamami-hosyo,1\ni_wanna,1\nkanchou_(karaja),1\nharvest_(stand),4\nhimizuki_kazusa,1\njimmy_stone,1\nkarasawa_(weapon),0\nminako_(gazekura),1\nlen_brew,1\natami,1\nsaouji_ranko,4\nmegahouse,3\nsebascha,1\nbt-7,0\ncomic_papipo,3\nhousenki_(itigototyoko),1\nwashimi_tsutomu,1\nsofia_jalapeno_viviage,4\nbeiruto,1\nzm,1\nsuper_freedam,1\npica_(hpipi),1\nblaster_(transformers),4\nmike_(arcana_heart),4\nlana_rinchen,4\nmmyk81,1\ntodayama_izumiko,4\nweaponized_instrument,0\naku_no_hana,3\nfire_escape,0\noverflowing_bath,0\npiano_(mymel0v),1\nmiyasaka_takaji,1\nkumagai,4\nzashiki-warashi_(intelli_village),4\nmitsurugi_yoishi,4\nio_(puchimasu!),4\naoi_nana,1\nprincess_mi_amore_cadenza,4\ntyeinn-suineryuu,1\nsonokawa_megumi,4\npatchwork_girl_(onibi),4\norigami_(red),1\npxton,1\ngordeau,4\nootani_yoshitsugu_(sengoku_collection),4\nraincloud,0\nkalanchoe_xxxx,1\ncafeore,1\nuntied_obi,0\nsagara_yoshiharu,4\ntsukiyono_aroe,1\no_daizen,1\njuana,4\nuzura_no_tamago_(yudeuzutama),1\nroot_double_-before_crime_after_days-,3\nhattori_zenzou,4\nvon-cx,1\npeople's_liberation_army_ground_force,0\njk_bitch_ni_shiboraretai,3\ngal_gohan,3\ndragon_symmetra,4\nfukukaichou-chan_(minato_ojitan),4\nakino_(summer)_(princess_connect!),4\nkaori_(summer)_(princess_connect!),4\nnew_stars_rose,0\nteena_(kamizaki_hibana),4\nhigumamon_(kemono_friends),4\nyume_(i_think.),1\namelia_(maou_to_ore_no_hangyakuki),4\nwakuwaku_(spy_x_family),0\nkarameruderei,1\ngwyn_(sait0moriyama),4\nyomiya_sateko,1\nmimi_(real)_(princess_connect!),4\ndoutonbori_robo,0\nsunaonakapipara,1\nisurugi_gen,1\nheero_(whvu2288),1\nleah_(chrono_cross),4\nrazzly_(chrono_cross),4\nshiren_(koi_ni_tsuite_0.1-paasento),4\nnu_tarou_(tr84635391),1\nhornet_(pacific),4\nsiege_(city_destroyer)_(arknights),4\njing_ke_(water_shine)_(fate),4\nsei_shounagon_(third_ascension)_(fate),4\nnanami_ayane_(kusunoki5050),1\ngodfrey_first_elden_lord,4\nkumahachi,1\nyue_qingshu_(xian_jian_qi_xia_zhuan_7),4\nvan_gogh_(third_ascension)_(fate),4\nkoharu66353343,1\npompeo_magno_(azur_lane),4\nsorry_carl,1\njeanne_d'arc_(april_magical)_(fate),4\nmandricardo_(summer_sportswear)_(fate),4\nagong,1\nlumie_miratisa,4\njeanne_d'arc_(lostroom_outfit)_(fate),4\n029bdpq,1\nmouth-to-mouth_resuscitation,0\nfujimaru_ritsuka_(female)_(polar_chaldea_uniform)_(cosplay),0\nngron027,1\nkan_(sagasaga123),1\nkeyakizaka46,3\nleona_(sennen_sensou_aigis),4\nking_of_dinosaurs,4\nrom_(re:zero),4\ngre-chan,4\nyosaku09161,1\nsanada_(ufo_princess_valkyrie),4\nsmol_kiara,4\naa-12_(smokeless_lollipop)_(girls'_frontline),4\nvanessa_(fnaf),4\nkaerunrun,1\nan-94_(the_diving_bell_and_the_doll)_(girls'_frontline),4\nlucky_orb_(vocaloid),3\nntakehisa,1\narm_snake,0\nstitched_pants,0\ng11_(dragon_jr.)_(girls'_frontline),4\ndharc_the_dark_charmer,4\nsnow20200,1\nakagane_mic,1\noriginal-orange-610917,1\ninu_ni_nattara_suki_na_hito_ni_hirowareta,3\nigarashi_sakura,4\nlan_chuan_huo_dao,1\nkeneth_(gensou_suikoden),4\nzephyrine-gale,1\nhanamoto,1\nenyo_(granblue_fantasy),4\nci4,1\nindianapolis_(at_school_with_my_sister...)_(azur_lane),4\nportland_(at_school_with_indy!)_(azur_lane),4\nle_temeraire_(summery_temeraire!)_(azur_lane),4\nfumizuki_(sleepy_fairy)_(azur_lane),4\nnoshiro_(cozy_enclave)_(azur_lane),4\nsui_(blackcatsui_yoi),1\ndare_who_zzzz,1\ntaizo4282,1\nmaid_(gogalking),4\nraccoon_girl_(mdf_an),4\nxiao_shao_(kung_fu_cooking_girls),4\nholding_eye,0\ncremechii,1\niumu,1\nsoramimi_cake,0\nintirami,1\nyuzu_ren,1\nhana967531,1\nbelsidia_(world_flipper),4\njoo_shiyoung,4\nnitrus,1\nreinzwang,1\nprincess_4_(sekaiju),4\nswordsman_2_(sekaiju),4\ntyler_(merryweather),4\nyahiro_masamune,4\nghostly_march_(genshin_impact),0\noutrider's_champion_steak!_(genshin_impact),0\nmushroommirror,1\nozyomin,1\nhoshizaki_ao,4\nefreeti_(last_origin),4\namagami_sora,4\nmu_mu_xiansheng,1\nchameleon_(chameleon0613),1\numiboozu_(uminoyoukai),1\nmy_harem_grew_so_large_i_was_forced_to_ascend,3\nbee_print,0\nsilvia_(toaru_majutsu_no_index),4\ntoad_(mario)_(cosplay),0\nmr.zhuo,1\nmnemosyne_(last_origin),4\ncz-805_(girls'_frontline),4\ndoktor_k,1\nshuraku_yui,1\nasuka_r._kreutz,4\nmerulu_ilum,1\nyoki_(yotosekka),1\ndidtldms0312,1\nholding_ear,0\nhasu_murasaki,1\nakizuki_ryou_(gakuen_kumikyoku),1\nkarl_heisenberg,4\nk0a,1\nwii_fit_trainer_(female)_(cosplay),0\nexecutive_red_hood_arabelle,4\ndragon_mask,0\njamie_(pokemon),4\nntaluuu,1\nhisehisekin,1\nps_rinsu,1\nmasaki_natsuko,4\nasumi_maboroshi,1\nyounger_edelfelt_sister_(fate),4\nvsa_(xmj173178),1\nshiyu_(hagiwara_shiyu),1\nkisetsu_kinoko,1\nlemoneko,1\nisekai_joucho_(artist),1\njinfeng0430,1\nfujihana_(mugenpixel),1\nmejiro_mcqueen_(umamusume)_(cosplay),0\ndisplay_board,0\netm_(ahong),1\nbarrett_(mega_man),4\nroll_caskett_(mega_man)_(cosplay),0\nbass.exe_(mega_man),4\nhaitu,1\nre_mistar,1\nmomo_(redcomet1104),1\nroe2_(log_horizon),4\npeacekeeper_(shotgun),0\nmuteki_robo_trider_g7,3\nnakamura_haco,1\nchongzhen_085,1\nespresso_cookie,4\nkogarashi_kon,1\nchang_(gyee),4\nunryuu_(kancolle)_(cosplay),0\ntama_(kancolle)_(cosplay),0\nsouryuu_(kancolle)_(cosplay),0\nooi_(kancolle)_(cosplay),0\nmyoukou_(kancolle)_(cosplay),0\nnanase_eka,1\nriyo_servant_(bronco)_(fate),4\ntoyotomi_hideyoshi_(fate),4\nlancer_class_(fate),4\njoyeuse_ordre_(fate),0\ntoaru_majutsu_no_index:_genesis_testament,3\nmame_(hyeon5117),1\ntoaru_awl,1\nnoshiro_(fragrance_of_the_eastern_snow)_(azur_lane),4\nriri_(riri_nasinasi),1\numiushi_urara,4\nu-8787,4\nnekooonly1,1\nsihanjir,1\nuhi_(nia),4\nshio_tatsumi,4\nmoku_(pintor09),1\nporko,1\nhenry_partum,1\nnojikorirakkusu,1\ncczyjs,1\ntaho_(tamagotaho),1\nelidibus,4\nyuki_(pixiv17945343),1\nultimate_imposter,4\nhigashikata_josuke_(jojolion)_(cosplay),0\nmoa_(fade64222),1\nsubangelion,4\nsoda_(sod4),1\nnothing_but_you_(idolmaster),0\nmario_kart_64,3\ngreat_pyramid_of_giza,0\nhylian_set_(zelda),0\nyagami_akira_(dream_theater),1\nmyuchiron,1\nkim0501,1\nsumi_(tebukuro00),1\nwappa,1\nshiraishi_chisa,4\nnoedelsgeest,1\ngyulseu,1\nkuma_xylocopa,1\ndwight_fairfield,4\nu-suke,1\nt-one,1\nerrende_ebecee,4\nhaskyyyyy1,1\nunicorn_(angelic_night)_(azur_lane),4\nshasha_(shasha159357),1\nready_steady_(vocaloid),3\na-nya,1\nanji_(mk001black),4\nkuro_hanpen,1\nabyssal_mediterranean_princess,4\nmaora_oto,1\nclaudette_(queen's_blade_unlimited),4\njauni_(tofublock),1\n4chan_(/jp/),0\ncrossdressing_boy_(kamisimo_90),4\nserpico_(berserk),4\nrynn_(darknescorez),1\nskyla_(pokemon)_(cosplay),0\nduplica_(pokemon),4\nbaconontheclock,1\ncindy_(pigeoncindy_),1\nhasuha_makoto,1\njo_an,1\nyoru_(ei1han),4\nkinnexs,1\nhakuari_(hina),1\niiniku1212,1\nolympia_sweetman,1\nemia_mika,4\ngoro_orb,1\nheartseeker_ashe,4\nkinkaikii,1\nseiken_manifestia,3\nvinesauce,3\ntotoki_saki,4\nnuclear_wasabi,1\nrinn_(flou),4\nkumagamike,1\nkasu_(96ks_3h),1\nhyunnim01,1\nphoebe_(pokemon)_(cosplay),0\ntoren_(pokemon),4\nlilith_cat_(unxi),4\nnokinhizadati,1\nfloren_(xenoblade),4\nnewt_(xenoblade),4\neasy_(easycrew),1\nzzz_sakaz,1\nhelios_rising_heroes,3\nusagi_no_ou_(flower_knight_girl),4\nlingyan_heiye,1\naoi_bara,1\nyiran_kong_xian,1\nmuffet's_pet,4\nmirei_kh13,1\ntamamo_(kanokon),4\nhannah_blaze,4\nmary_lane,4\neve_ainsworth,4\nkei_(mahou_girls_precure!),4\nonaka_itai,1\nranunculus,0\nkigitsu_katsuhisa,1\nmeg_(suikoden),4\ntoto._(nahanahasai),1\nichijou_ranko,4\nakira_(valzerica),1\nthe_fast_and_the_furious,3\ndreadnought,0\npixie_servant_(shinkai_no_valkyrie),4\naboart00,1\nsurfboard_leash,0\nhorned_girl_(dream_demon),4\nrusuko,1\nspirit_blossom_riven,4\njesta,4\npepsiso,1\nraspberry_(game),3\nbutterfly_eyepatch,0\nmayo-black,1\nkraber,0\nys_vs_sora_no_kiseki_alternative_saga,3\ntakaya_kanae,4\nobi-wan_kenobi_(cosplay),0\nr_(shioaji),1\nsem_(honey_sv),1\nuzuki_asa,1\nmatsuko,1\nyouvvsuke,1\ncala_(artist),1\nai_shimai,3\nhiiragizawa_eriol,4\nagano_(yoshii_aki),1\nhasegawa_(hobby_kits),3\nshinigami_no_testament,3\namer,4\ntotsuki_touka_(orange_factory),1\nyubikiri_(vocaloid),3\nkiosk,0\nkusaka_yoru,1\ngiggi,4\nsakura_tasuke,1\nmichael_(aya-tokachi),1\nworker_(pokemon),4\nchart_(object),0\nscallion15,1\naoi_chimaki,1\nninomiya_ai,4\nkijima_natsuji,4\ndogdogdog,1\nramune_(ramu33),1\nai_(blacktea_milk),1\nsukoburu80,1\ntsurugimine_kiri,4\nmisonoo_mana,4\nchaban_capriccio_(vocaloid),3\ntachibana_chihiro,4\nharusame_yuuki,1\ncombat_girls_regiment,3\nsouffle_(gothic_wa_mahou_otome),4\nitezora_konayuki,4\npalutena_(cosplay),0\nnishino_eiichi,1\nging_(tokushima),1\nhainakku,1\nsuper_robot_wars_alpha,3\nbushin_renkei_zero,3\namrita_(sword_girls),4\nmorooka_kinshirou,4\nooba_kou,1\naruri_(whooo-ya),4\nxanadu,1\nmahougasawa_akane,4\nsakae4,1\ntokyo_teddy_bear_(vocaloid),3\nhokkai,0\ntokyo_kaidan,3\nuss_pennsylvania_(bb-38),4\nyaeno567,1\neld_pld,1\ncanon_rukusana,4\nseojung,1\nhasegawa_utsutsu,4\njersey_(module),0\nswimwear_b_(module),0\nelesis_sieghart,4\nboss_(saints_row),4\nscwibbles,1\nwarmhouse,1\nzutaboro,1\ngirly_pose,0\nvokatron,1\nwhite_blazer_(module),0\nshinomiya_utai,4\nticket_machine,0\nbonito,0\ndanzilla,1\ninui_takumi,4\n1992,0\nmiyama_nena,4\nlucky9,1\nmrs._victoria_(skullgirls),4\nsunkist,1\nkyuuta_(bakemono_no_ko),4\ngokuto_jihen,3\nyuuki_hitomi,4\nso3fans,1\ndragonfly_print,0\nsagami_gumi,1\nsaotome_otome,4\nhomurabi,1\nxipel,1\nnk,1\ntama_(moonriders),1\noozora_tsubasa,4\nfram_nara,4\nfutianxingyi_(warholx),1\nhuang_xie,1\nsenbe_(motimotio),1\ncattleya_(gothic_wa_mahou_otome),4\nkurihara_chiyo_(prison_school),4\nsuna_(signi57tifato),1\nbaron_suzuki,1\ndie_hard,3\nacid-230,1\nyagni,1\nsarly_planck,4\nveteran_commander_(elsword),4\nweapon_taker_(elsword),4\nlittle_hsien_(elsword),4\nangel/dust_neo,3\nfiana_else,4\nleopard_gecko,0\nbattle_of_midway,0\nfilasopila,4\nann_(krt_girls),4\nhitsuji_(erubo),4\nurio_yusuke,1\nshirohako_no_mahoutsukai,3\nrina_(natsumyun),4\nashiya_saki,4\nchita_mika,1\nmizuki_(satukisen),1\nnanto_seki,1\nirena_rosenmeier,4\njune183,1\nnaguchanchin,1\nooyama_(hnk1018),1\nohoho_(heavy_object),4\nbukatsu_(clubactivity),1\npushing_bicycle,0\nmusora,1\nhimekawa_hinari,4\nsayama_(chiwan0830),1\ndensuke_(iha-syuon),1\nchiruchiru,1\ndat_ass_(meme),0\nwy_lee_(pixelnoodle),1\nyuirimo,1\ndipladenia_(flower_knight_girl),4\nkamome_donburi,1\nhamano_ikusa,4\nhan_solo_(cosplay),0\ntuzik10,1\nmankai,0\nhelck,3\nendogeny,4\nrus_(monster_musume),4\nkoharu_biyori_(monadox),1\nkikakujou_mary,4\nfood_on_toes,0\nlkqyan,1\nm_tap,1\nleonstar,1\nazgby,1\ndobusu_(osomatsu-san),4\nidolive,3\nchlxms,1\nbunny_ear_panties,0\nhaiji_(sugakunigate),1\npinkjoe,1\ntoron_(toron-to),1\nadjusting_eyepatch,0\nsandersonia_(flower_knight_girl),4\nmasamune_shizuru,4\nnekoame,1\ntsukishima_kai,1\ngunjou_souun,4\naoi2410,1\nmorisuke,1\nhallch,1\nichinose_guren,4\n2snacks_(artist),1\nshibakarisena,1\nkomiya_harumoto,1\nalex_chow,1\nkakari_(peehs),1\nnora_(noragami),4\nnishi_(ainshaie),1\nbear_paw,0\nelysion_(16869144),1\nskull_cap,0\noragamura999,1\nkurumi_(forte),1\nlintufriikki,1\nfrilled_pantyhose,0\nmiracle_matter,4\nriana_(langrisser),4\naire,4\narne_(android_arts),1\nnue0192,1\ndata_east,3\nnarumiya_tsukasa,4\nkanaso529,1\nkinoshita_nanako,4\ninstrument_request,5\nbird_on_back,0\nrosie_the_riveter,4\neretzvaju,3\ntokikosann,1\nyamagata_isaemon,1\nmushina_suzume,1\namulet_spade,4\nanimetta,1\nzeng$_(zwj),1\nunagi77,1\ncrayon_drawing,0\nkyle_hyde,4\nk-zaki,1\ncollege_of_angel_(idolmaster),0\nthe_rock_(dwayne_johnson),4\nclinexgrim,1\nangela_leon,4\n0109_(artist),1\ncelicia_lockhart,4\nsoga_keena,4\nyamada_(b-gata_h-kei),4\npiccolo_(cosplay),0\nadam_warren,1\nkema_tomesaburou,4\nizuna_yoshitsune,1\nragetsu,1\ndaisan_hikou_shoujo-tai,3\nharuno_sakura_(cosplay),0\norca_(inazuma_eleven),4\nmr_bean,3\nthe_bremen_musicians,3\nsonidoriy,1\nmilcoco,1\nchu_yeon,1\nsumtj,1\naihara_akito,1\nlady_gaga_(copyright),3\nkazushima,1\nmizuyu,1\nel_(mushboom),1\nsuzune_kou,1\ndolnamu,1\nk0n3k0,1\nziyo_ling,1\nchu-e,1\nbeyond_good_and_evil,3\nsho_(gohan),1\nlei_kuugo,4\ntomo_(magical_girl)_(princess_connect!),4\nkujafumi,1\naihysa,1\nshuu@maihikuboshuchu,1\n1991,0\nkarori_(c-side),1\nhey_arnold!,3\nsiegfried_schtauffen,4\naohato,1\nutouto,1\nzilean,4\nbella_(honkai_impact),4\nrobo-powerful,1\nhanapin,1\nsumi_(38page),1\nayame_(artist),1\nmarumusikoya,1\nkaida_yuuji,1\nproduction_ig,3\nsakaki_shinobu,4\nakashi_ryouta,4\nvolume7,3\n0.7_(aysatnegr),1\narthropod,0\nneck_blush,0\nian_vashti,4\nwhat_a,1\nbuchiko,1\nzhuo_mi,1\nheadwear_pull,0\nalfred_izuruha,4\npping,1\nhannibal_lecter,4\ntohsaka_rin_(type-moon_racing),4\nbearded_girl,0\nbonz_(bonz0616),1\n39cva,1\nbad_company_(stand),4\nyin_yang_hair_ornament,0\nnarita_taishin_(difference_engineer)_(umamusume),4\nmintiaorion,1\neveryday2,1\njangmaseason,1\nsnowy_owl,0\nazuuart,1\nteddy_(artist),1\noguanf,1\nlucy_(mx0),4\nsuashi,1\nmariko_(leda),1\nblacktailmon,4\nbilly_(grim_adventures),4\nmerukoodo,1\ndaniku,1\nholotempus,0\ntscplayer,1\nyenshin_(k5142204),1\nchannel_ikihaji,1\nplus_links,3\naaa,1\nscorbunny_(cosplay),0\npinfan,1\nputo_trash,1\nkamome_(penguin_n),1\namacalva,1\ndiooksan,1\nshironeko_(whitecat_999),1\nkurenai_rin,4\nkuroya_kei,1\notonoha_naho,4\nsausage_legend,3\nlamitt,4\ndragon_xiuluo,1\nskyward_harp_(genshin_impact),0\napple_earrings,0\nmu_la_flaga,4\npolish_text,0\nreverse_leg_lock,0\nel_condor_pasa_(kukulkan_monk)_(umamusume),4\neliza_mayfield,4\nvivian_zhao,4\nkaito_(kaito921125),1\nleah_(pokemon),4\njwthor,1\nsensei_ga_oshiete_ageru,3\nnikuya_(nikuniku_nikuya),1\njhaysie,1\nsakakibara_yukino,4\nwinning_ticket_(dream_deliverer)_(umamusume),4\npiao_mao,1\ncrush_crush,3\nthicopoyo,1\nchyraliss,1\n10den,1\nmatsumoto_mayuko,1\nhisou_noa,1\nlizlette,4\nkinue_crossroad,4\naimitkkays,1\nkerana_art,1\n7c,1\ngedomaru,4\nspoken_clothes,0\nhitsuji_kusa,1\namenoma_kageuchi_(genshin_impact),0\ncarmilla_(castlevania),4\nmongo_art,1\nvane_(summer)_(granblue_fantasy),4\nkunikuni_(kunihiro2005),1\nrooibos,1\nimai_nyuu,1\nhalberd_(airship),0\npulao_(punishing:_gray_raven),4\nvictoria_mikoto,1\njs_souryuu_(kancolle),4\nh&k_hk45,0\njuventus_fc,3\nyurari_(co10rs),1\nteleporter,0\nmassage_table,0\nmizuku_hei,1\nlong_(chainsaw_man),4\nsatan_(mygrimoire),4\nopossumachine,1\ng4ku,1\nprussian_flag,0\nbandaged_wings,0\nleizero,1\noas,1\nrikki,1\nlove_delivery,3\nhakkinen,4\nhntk,1\nmuyekikikikikikikiya,1\nlitchi_hikari_club,3\nthundia_(nyanko_daisensou),4\nrobin_(mad_father),4\npeppermint_patty,4\nkamen_rider_ultimate_revi,4\nyuuki_(yukko7474),1\nfolka_albark,4\nbilei,1\ntoroi_jd,1\nokki_(studio_okki),1\nahedtra,1\nzipang_(kawaguchi_kaiji),3\nsazanami_mio_(style),0\nopen_hood,0\npeppsi_(saba_sabasuk0),1\nohdo_yuamu,4\nhishui_prpr,1\ngoomba's_shoe,0\nshin_(mac_no),1\nyumemi_naiad_suhichimi_ugaia,4\nmaya_(roadi3),4\nmagnamon,4\nlinda_(neptune_series),4\nparsujera,1\nmandy_(moniponichan),1\nzettai_muteki_raijin-oo,3\ntendo_yuuki,4\nrecona_057,1\ntivey_pearlbaton,4\nharusame_(kancolle)_(cosplay),0\nfrenchvanillu,1\ndachi_mahi,1\npanipuri,1\nemployee_(lobotomy_corporation),4\nsuper_bunyan_(fate),4\nmuse_(last_origin),4\nrif_(rif-art),1\nsagitta_weinberg,4\narcueid_brunestud_(cosplay),0\nhasegawa_zenkichi,4\nsky_(sora_no_gomibako),1\ntameshiwari,0\nahivemind,1\nroko_(pe0e07),1\nkiraiko,4\nescargon,4\nkasalelia,1\nformerly,1\nchabacha,1\nkishin_douji_zenki,3\nkamo_(rsrk),1\nahiru_tokotoko,1\nyami_makina,4\nurdnot_wrex,4\nsentinel_esr,0\nmetalfrog,1\nsub-zero,4\nroman_holiday,3\nkinokobatake,1\ntaroimo,1\nkagura_nanaki,1\nsouth_ac,1\nfosse_(dq7),4\nponto_nei,4\ncamembert_chizuko,1\nflamberge,0\ntekito_nimo,1\ndump_truck,0\nblt,1\narisakaaa_(crazy_raccoon),4\ngundam_battle_operation_code_fairy,3\nmonster_musume_td,3\nwuju_(1198979953),1\nmachiru,1\nhasu_(flower_knight_girl),4\naberu_(ycrr3542),1\nshiro_ymko,1\ntowa-darkmistic,1\narc_rise_fantasia,3\nrugrats,3\njessica_drew,4\nhockey_sweater,0\nouno_mayumi,1\nchesto_berry,0\nunowenf,1\ncarlo,1\nraion_(t12k1ro3),1\ndobrynya_nikitich_(first_ascension)_(fate),4\nkatasumi_(suraimu),4\ncha,1\nho_fan,1\nyuru_yuri_nachuyachumi!,3\nyukino_(zeroshiki_kouichi),4\nstella_(world_flipper),4\ndrawfagmona,1\nnt_(gun-ash),1\ntoasu,1\nari_(ariel_lopez550),1\nhiguchi_kotarou,4\nono_matope,1\nkitk_qun,1\nyang_guifei_(fate)_(cosplay),0\nsanyang003,1\nmoomoo-san,1\nplotmon,4\nnatsuno_hareruya,1\nbrooklyn_luckfield,4\nmissing_thumbnail,5\nblack_iron_great_sword,0\ncollective-mind,1\ncure_moonlight_(super_silhouette),4\nwatamate,4\npone,1\nnoctyx,0\nakatsuki_(ggsy7885),1\nginjiro_(vtuber),4\nsharkini,0\nyangyexin,1\nmochimerica_(hetalia),4\nizumi-no-kami_kanesada_(kiwame),4\nnakashizu_soyo,4\npokemon-amie,0\ngiven,3\nmobius_strip,0\ndilukha_(nyaalgebra),1\njack_the_ripper_(summer_little)_(fate),4\nnarumi_yuzurai,1\nlong_braid_girl_(hunyan),4\ncocktail_flower,0\nliechi,1\nkiyohime_(winter_thanksgiving_festival)_(fate),4\nkomatsuzaki_rie,4\npuchu_huang,1\nstring_bowtie,0\nhappy_state,0\ntanaka_hajime,4\ncharge_rifle,0\nshiro_(shin-chan),4\nnero_claudius_(traveling_outfit)_(fate),4\nfeza_chen_(ushaku),1\nbuming,1\ntauren_(warcraft),0\njack9614,1\ncure_tomorrow,4\nyufy,1\npush!!,3\nzxin,1\nghode_(basashi),1\nnaruto_run,0\nalice_mare,3\ng36c_(burning-eyed_g36c)_(girls'_frontline),4\nthumb_war,0\nalvin_(school_uniform)_(tales),4\nkamuify,1\nburont_(cosplay),0\nhagyuu_hibiki,4\nemeraude_(rayearth),4\nmegumi_shiraishi,1\ncher_i,1\ntako_(00303780),1\nsakagami_kouya,4\naqua_ascot,0\nforte,1\nyuuyrx,1\nhayner,4\nteliodraw,1\ntorn_veil,0\norange_amplifiers,0\nnyaldee,4\nfal_(phantasy_star),4\neel_mizue,1\nkudo_raika,4\ntsuki_mitsu,1\nfuyuu310,1\nzet_(twt_zet),1\ndoku_kobuko,1\ncamouflage_coat,0\nfon-due_(fonfon),1\ncake_walker,1\nsohu,1\nitohiro03,1\ntomoe_gozen_(festival_outfit)_(fate),4\nhimeragi_rinze,4\ntaha,1\ndongbaegsi,1\nmurasaki_shu,1\nyashio_(0321),1\nviolet_(kelvin_hiu),4\nakamine_yuuna,4\nsena_tea29,1\nlujang_(fudge),1\ndaijuujin,4\nred_five,4\nmirrorclew,1\niroh,4\nkuro_work,1\nbouzu_atama,1\nartoria_pendragon_(lancer_alter)_(ox-demon_king)_(fate),4\nsaikisaika,1\npetit_(shinoyasumicco),4\nreactor_(module),0\nbetuni,1\nikugawa_mayuri,4\nmomobami_ririka,4\nhiro_(kawa-hiro),1\nf1m,0\ndd_(897671246),1\naimi_(sky-freedom),4\n9_vcat,1\ngromky_(azur_lane),4\nokuma_masami,1\nsharpy_(kdy000913),1\nvolt_smg,0\nkoyap,1\nbonjirix,1\npetoke,1\nhong_jo,1\nwagamama_fairy_mirumo_de_pon!,3\ntachibana_mizuki_(pawapro),4\njitan_(jjvm4477),1\nyui_(princess_connect!)_(cosplay),0\nulmia,4\ncakeofcakes,1\ntatsu_(xenoblade_x),4\npokonyan_(kuhina0110),1\nmason_jar,0\nimplied_cannibalism,0\nr/h,1\ndabble,1\nkuratsuka_riko,1\nsisido_(black_candy),1\nkotorimyuu,1\nirodori_mayoi,4\nkesaran_pasaran_(beelzebub-jou),0\norla_gan_ceann,4\nadrian_helmet,0\nyoshio_(kimama),1\n1987,0\nrinfamm,1\ngeara_zulu,4\npatatatan,1\nshaokao_range,1\nblood_donation,0\nyanxijun,1\nkarakuri_futaba,4\nutsugi_sari,4\nhonami_tamae,4\nwaifubot,1\nnekoyama_(deaver),4\ncar_chase,0\nsinad_aruatjanapat,1\nserena_(nanoless),4\nsugiura_takako,4\nameshiki,1\nlifeguard_yuze,4\nairship_assassin_wraith,4\nessex_(brush_and_ink)_(azur_lane),4\ngotham_(series),3\nmcic0,1\nmichael_(bastard!!),4\nfault,3\ntosaki_mimi,4\nne.corn,1\nwafu_(wafu39080),1\nsujata_rikko,4\nsinder_(vtuber),4\nhimiyama_rei,4\nunti_no_azi,1\nguage,0\nmadeleine,0\notobi,1\nultraman_ace_(series),3\ntio_(futagohime),4\nvirgo_(fairy_tail),4\nfukiyu_(fhxyhky),1\nig1119,1\nssanghwa_tang1,1\n52hertz,1\nyagi_tsugumi,4\nnoyemik,1\nmidorikawa_sara,4\nanastasia_palma,4\nver_norma2,1\nmikura_(kancolle)_(cosplay),0\ncure_infini,4\njaduade,1\ntiara_removed,0\ntakane_tsubomi,4\nghast_(osiimi),4\nkuroe_futaba,4\ntanna,1\naodake_(winter1517),1\nodamaki_(260574),1\nkanata_(evuoaniramu),4\nkakukau,1\ntabiji_(tabiji_s),1\nsupure647,1\nyakkyokuya,1\nschelfaniel_(langrisser),4\norc_warrior_(ragnarok_online),4\n414_(hncx3355),1\nlunamaria_hawke_(cosplay),0\nokazaki_miku,4\neaster_bunny,4\nartastiq,1\npeppertomo,1\nchocolate_magician_girl,4\nqiujiao,1\nyoxtut,1\nsho.t,1\nrita_(rune_(pixiv_25170019)),4\nhash_browns,0\nstormy_waters,0\nseupil_hyugo_(spirohugo),1\ngable_roof,0\nlost_judgment,3\nair_hockey_table,0\nelse_shileska,4\ngetcha!_(vocaloid),3\n\"\"\"sweet_dream\"\"_(genshin_impact)\",0\ncetta_(cettadvd),1\nsawa_(sawa-house),1\nhagino_aki,1\nassault_suits_series,3\ngaleem,4\nnavel_fingering,0\nsquirtle_squad,4\nsuguni,1\nimajin_koji,1\nshuten_douji_(kaienntai),1\nzb_26,0\ngomu_(ujmu5458),1\nshirogane_(ice_scream),4\ngwelu_os_gar,4\nnihei_tetsuzou,4\ntahoumaru,4\nnikki_(ninciav),1\nyuuinoue,1\nsatoshi_nai,1\nmariyasu,1\ndark_sakura_(cosplay),0\nteio's_honey_song,0\nlabyrinthia_wordsworth,4\nmikoto_tsubaki,4\nt65_(girls'_frontline),4\nmarashii,4\ngold_bowtie,0\ntakechi_zuizan_(fate),4\nvayreceane,1\nshining_force_i,3\nranh,1\nanthea_(pokemon),4\nkapa19,1\nkurumu,1\nchocolate_bath,0\naella_(shepherd0821),4\nhoshizora_e_kakaru_hashi_aa,3\nwasawasabidayo,1\nmega_sharpedo,4\n12f_(arknights),4\nesmerelda_(saint_october),4\necce_homo,3\nryokukablog,1\n0_gundam,4\n216_zig,1\nbakonchi,1\nastrid_zexis,4\npeahen,0\nv_for_vendetta,3\nmorvay_(nu_carnival),4\nsaltnvalk,1\nasuka_eiji,4\nbendy,4\nuraya,1\nchikafuji,1\ndonyta,1\nsaf_(girls'_frontline),4\nnekotama_(tsuki),1\nbreeze_(arknights),4\norangekissess,1\nwitchonly,1\northodox_cross,0\njqpz_30,1\noku_hiroya,1\nmario_kart_8_deluxe,3\nmr._heart,4\nishii_kumi,1\nkazama_tooru,4\nkimun_kamui,4\ndekadekapokochi,1\nlil'_cactus,4\nyim_dice_(lansane),4\neruma,4\nace_kin,1\nthe_judge_(ace_attorney),4\nfujino_yayoi,4\nkeith_anyan,4\nkinsatsu_(grizzled),1\niash,1\nakihitohappy,1\ntaped_fingers,0\nsenzaki_makoto,1\ntunnarata,1\nheko_reimu_(hekoningyou),4\ngakuen_handsome,3\nhikarin0502,1\nkamui_(punishing:_gray_raven),4\nwelllllll,1\nojousama_kumikyoku,3\nkirby_otaku,1\nryuujinmaru,4\nlizard_taro,1\nmao_(precure),4\nshamashiel,1\nshenji_laurant,1\nlatin_commentary,5\nnagashi-bina,0\npaper_plate,0\n910m27r,1\npinku_pansaa,1\nazalea_(shima88),1\nyomogi_fumika,1\nachilles_(hades),4\ntentakun,1\nyamanote,1\ncure_moonlight_(cosplay),0\nmaru_itsuki,1\nhimitsu_sentai_goranger,3\nkae_(hyugafire),1\ndoromaso,1\ndenpajin-ryuushi,1\naron_e,1\npinion,1\np-model,3\nkanihai,4\nitagaku,1\notoja_(2bro.),4\ntheleopardcat,1\nmardock_scramble,3\nogura,1\nstudded_legwear,0\nsagawa_express,3\ntsurumura_ichiru,1\ns_(hdru2332),1\ntkt_(tango_0906),1\nmiketsu_(onmyoji),4\nsenpaihawkkun,1\nyukihana_(caramel_pancake),1\ntype_21_air_radar,4\nhigashiboujou_akira,4\nkardia_tou_abel,3\nooz,1\nkazuradrop_(fate),4\naxia_(03400441),1\nnezumipl,1\ncactus_girl,0\nfanf,0\nfree_palet,1\nmanga_nippon_mukashi_banashi,3\ndisembowelment,0\nkugutsu_(961598140),1\numinonew,1\nandvari_(housamo),4\nhimawari_(sunflower7373),1\nmamiya_yakumo,4\nimber,4\ns.w,1\nnaga_u_(style),0\nmariabowl,1\nkoshikawa_guu,1\nunozawa_shiori,4\nkalianabokalisi,1\nnao_(70_pocky),1\nnozomi_uni,1\npussy_hold,0\nuda_tetla,1\nmushitori_(pixiv261122),1\nyokohama_seaside_line,3\nweboshii,4\nliu_mao_xing,4\nfrederica_(z/x),4\nshirokuma_1231,1\nt'kebbe,4\nmurara,1\nroku_roku_(greentea66),1\noichi_(sengoku_musou),4\npunk_lolita,0\nquin_tails,0\nmomoroco222,1\njellot,1\naurelia_le_guin,4\nmeowyin,1\ntypho,1\nsolo_(twsolo),1\nss_kankon,1\nasuhiro_(handsome_aniki),1\ngenm7,1\nhazuki_lime,1\nnoah_(yakumo3903),1\nkooni,1\nwoodpecker,0\nnyanuki,1\nevan_stanley,1\nlove_destiny_(idolmaster),0\nusanta,1\nanelace_elfead,4\nye_luoli,3\nmirukuro092,1\nsnowmobile,0\ngau_fe,1\nsuzuna_subaru,4\npolyphonica:the_black,3\nnagase_mana,4\ncarrot_juice,0\niyar,1\nsakaido_(id:invaded),4\ntakashiro_chizuna,4\n1paku54,1\nsasagi_koushi,1\nmedea_solon,4\ndarkworldsss,1\nwho93,1\nprinceton_(warship_girls_r),4\nmiyamoya,1\nnao_0829_17,1\n0tiyo,1\nasumi-chan_wa_rezu_fuuzoku_ni_kyoumi_ga_arimasu!,3\nmocchii,1\namatsuka_sakura,4\ntm_yue,1\narthur_boyle,4\nset,0\nkatarina_alves,4\nserini_(pixiv_fantasia),4\nrodecchi,1\nalastor_(hazbin_hotel),4\nakamiho,1\nkuro-ekaki,1\noyomesandazo,1\nnanase_hr,1\nmultiple_tongues,0\nkirimitsu,1\nwhinghope,1\nvanity_doll,1\nweeniedesu,1\nbundeswehr,0\nthe_emperor's_new_groove,3\nange_(gensou_otome_no_okashi_na_kakurega),4\nganguro_(zerodigiporu),1\nbetelbear,1\ntako_rii,1\nkamen_rider_zeronos,4\ncut_(nifuhami_35),1\necru_(ameto_yuki),4\nhcho,1\nmitsukiro,1\nbupa_chila,1\n3so4ru5959,1\ndakuma,1\niwasawa_shiuri,1\nyukiomi_haku,1\nrenkoma,1\nhikapan,1\nrikadai,1\ngin_no_saji,3\nruoxin_zhang,1\nikuzonomiki12,1\nsamart_normal,1\nlesbian_flag,0\nrpg_(ram),1\ngreen_moon,0\ndyzd1,1\nburrito,0\narngrim,4\nsatsuki_(swkerc),1\nskn_nks,1\nyone-chan_(kuwm5222),1\nxia_moqin,1\npencil_behind_ear,0\nhisca_aiheap,4\nrumi_(rabi_ribi),4\ntuki,1\npoddo_(potto),1\nyan_er10,1\ntights_girl_(kamisimo_90),4\nkurumai,1\nsailex,1\ncoffee_filter,0\ncoat_on_head,0\ntaktori,1\nlisa_(ilya_kuvshinov),4\nshishi_odoshi,0\nglowing_glasses,0\ntransformers:_robots_in_disguise_(2015),3\nbukiya_(weaponman),1\nstalkingp,1\nsuzuki_suzu,4\nryouryou,1\nueda_azusa,4\nnekomanma-sensei,1\nren_xiongmao,4\nminebea_pm-9,0\ngentoo_penguin,0\nikuno_yui,1\nchaba_(cyazuke),1\neve_license_organization,3\nmacky,1\nchia,1\nlaliberte,1\nyuzor_a_rancia,1\nsakebiwagajoou,1\nkarin_(epic_seven),4\nhotaka_tamagorou,1\nizumikuu,1\nonigirisss,1\nlivemetal,0\nhane_(kirschbaum),1\nprincess_elise_the_third,4\ngyroid_(animal_crossing),4\nsramy,1\ntobunchudoku,1\nqinghejunzi,1\nkotoba_(610430468),1\neternatus_(normal),4\noohiro_saki,1\nchibana_ryoka,4\nokpa,4\nhitotsuyanagi_yuri,4\nmiyoshi_(344),1\nyuusha_no_yabou,3\nkazuha_(shichigatsu),4\nargyle_jacket,0\npepero_(prprlo),1\nfriday_(granblue_fantasy),4\njuju_(jelly_fever),1\nokiraku_boy,1\nnonomiya_nonono,4\nabsalom,4\njuicyneko,1\nhazuki_015,1\nla_hawzel,4\ntokishima_sikuka,1\nserbia,0\nyuririn,1\njohn_liberto,1\nclaudette_j_hornette,4\ntakamizo,1\ntiger_skin,0\nchevrons,0\naradia_megido,4\nwarthog,0\nryuu_ga_gotoku_5,3\nmechakucha,1\nrui_(dream_c_club)_(cosplay),0\nlono,1\narctovish,4\nfuta-chan,3\nfuntarunta,1\ndzc23,1\nyachigusa_itsuki,4\nuya_(munyu),1\nteacher_(saga_2),4\nseiha_(tinnke),1\ntoya_(yuyasilust),1\ntsukimi_okayu,1\nskullgreymon,4\nwakutsu_tomo,4\nmako_(lovely_panda_house),1\nbraille,0\nyano_mirura,1\nkusanagi_ryuuichi,1\nsakura_koiro,4\nq6q6tikin,1\nasusilver_(artist),1\ntetuankyo,1\nmikou_(monpamanpe),1\nsurumeika,3\nshinbo_tamaran,1\nblossom_(pokemon),4\nisotonix,1\ntanka_kikurage,1\ntaoi_(taoi58829762),1\ngogo_sentai_boukenger,3\nganbo,4\nurokoro,1\nenoki_nai,1\nultraman_mebius,4\nhio_raichi,4\nroxanne_(dq9),4\npolyacryla,1\nmontaro,1\nogamiya,1\nmint_(monster_farm),4\nalicia_mcfadden,4\nkusanagi_chisato,4\ndksemdgh,1\nkotepo,1\npat_bharasarn,1\nhujitu-sakuyasukii,1\n14sai14row,1\ntg01,1\nmomoon_karin,1\nranged_weapon,1\nhead_lift,0\nhamu_(i33095),1\nsweet_pool,3\narchery_shooting_glove,0\nstretta,3\nfugutai_ten,1\nstudiokougubako,1\ntori_no_karaage,1\nginter_(pokemon),4\nsignomi,1\nweapon_in_mouth,0\nharukaze_yumari,4\nshinonome_halltro,1\nta_ko,1\naraissu,1\nogushi_yuniko,4\nblackwargreymon,4\nmatsumoto_ryou,1\nelehime,1\nfundoshi_(tofupoid),1\nkuga_araya,4\ninsuto,1\ntower_records,3\nname_(nahopa!),1\nscrubber,0\nenu_(n_storage),1\nroman_knock,1\ndoukoku_soshite,3\nmarshadow_(zenith),4\nruri_(uewtsol),4\nmonster_destroid,4\nrainbowcard,1\nnakajima_hayate,4\nlio_(lune24),1\nsd,1\nsakura_genki,4\nrira_fuuka,1\nvampirdzhija_vjedogonia,3\nshiba_takeru,4\nguild_master_(game),3\ncaio_santos,1\nakusyu,1\nsun_quan,4\ndalian_(1457091741),1\npoten,1\nvega_(dendoh),4\nmisossu,1\neorinamo,1\ncat_hair,0\nasagiri_(pixiv_#10372),1\neko-des-co,1\npili_budaixi,3\nmiyamachi_kanae,4\nyuuri-622,1\nmotimoti,1\neila_ilmatar_juutilainen_(cosplay),0\nyukiuta_sahiro,1\nkosa_k,1\nimoda,1\nmiyata_waltz,1\ndevimon,4\ncoco_(nattou),1\nyamaneko_suzume,1\nkamen_rider_dark_kiva,4\ngundam_f90,3\nkizaki_ririko,4\ntsuruta_kenji,1\ndeneb,4\nlovely_ummm,1\npiyopiyo_(piroman),1\namder,1\nyonpachi,1\nholy_live,0\nnagisa_manoa,1\nsatake_(ichigo_mashimaro),4\njuuroku_anna,1\nrojen_p,1\nkumokawa_seria,4\nitalian_kingdom_flag,0\nrobce_lee,1\nhati_(shirow),4\nantec,3\nrauru,4\nespeon_(cosplay),0\ninjuu_kangoku,3\naerial_tram,0\nkakyoin_noriaki_(cosplay),0\ntony_the_tiger,4\namber_tobi,1\nbuddy_jiang,1\nfate_testarossa_(blaze_form_ii),4\ncadorunrun,1\nerica_anderson,4\nchikotamu_(shiro),1\nsuccubus_wilmarina,4\nwooga,1\nnaoki_(naoieo),1\najiyoshi_noriko,4\npecoe,1\ngyuniku,1\nbuilding_sex,0\nfast_animated_gif,5\ndaikan'yama_sumire,4\nricha_doa,1\nstarlight_(love_live!),0\nbebe_(nanahira),4\nxes_fantasia,3\nbosutafu,1\nking_of_all_cosmos,4\neve_(wall-e),4\nheinz,0\nanaloguma,4\nyagisawa_kasumi,4\nkuruma_(rk),1\ntarepanda,4\nsoukou_kijo_iris,3\nbattle_of_aces,0\nyosshii_(ropichan2),1\nruka_ch.,3\nbakunyuu_maid_gari,3\ndance_floor,0\nmakunouchi_ippo,4\nshako,1\nyakumo_shibata,1\nsumomo_(tyc78503012),1\nnenesha_(ar_tonelico),4\nflelincw,1\nitou_kaede,4\nsatou_ayano,4\nokonogi_kyouko,4\nseitaka,1\nyu-tan,1\ncartwheel,0\nmysk918,1\n8686island,1\nakantor,4\nwhite_fire,0\nmike_(koihime_musou),4\nkumaru,1\nkizaki_shin,1\nhalf-dress,0\nankle_holster,0\nnikkeru_suiso,1\niron_fist_(marvel),4\nkaioushin,0\nkiarino,1\njailbird,1\nxxxxchild,1\nmastercard,0\nomachi,4\npanda_boy,0\nken_to_mahou_to_gakuen_mono_2,3\neimelle_(nikukyuu),1\nyoshida_shiro,1\nshiho_hahnenfuss,4\nkotozuka_fumie,4\nkuromomo,1\nkobayakawa_sara,4\ngan-chan_(artist),1\nmihashigo_sabato,4\nannie_hamilton,4\nseu_9_(banya),1\nayunyan_pere,1\nkurita_ryokan,4\nwolfwalkers,3\nnezumimi-chan_(naga_u),4\nmea_(popotan),4\nmiy,1\nlydi_(dd),1\nshiropuni,1\nblackbird,4\nira96,1\nraryuu,1\nmig-31,0\nrufus_(street_fighter),4\nsakamoto_mio_(cosplay),0\nmihoka,1\nii_futami,4\norobas,4\nsunaya,1\ntashiro_yuu,1\nnekoif,1\nshiba_tomori,1\ntakahara_ai,4\nchiroru_shimai,1\nupright_piano,0\ncock_docking,0\nalpine,1\nsashimi555,1\nmeishoujo,3\nprog_wang,1\ntsuboraa,1\npd_(seripanda),1\nthe_riddler,4\nmutsuki_raimu,1\nmatsubara_kasumi,4\nwakusei_hakai_otoko,1\nkraid,4\nremyu,1\nkami-sama,4\nmuikou_(moeko0903),1\nhidaka_medaka,1\nraki_(claymore),4\nanima_(final_fantasy),4\nmagical_taruruuto-kun,3\nseiai_gakuen_fechi_ka,3\nnazuna_akaru,1\npurely,3\nmatsuya,1\nsaka,1\nragnarok_online_2:_gate_of_the_world,3\nichirou,1\nusui_kazuyoshi,4\nroro,1\ntakamine_tsukumo,1\nyuna_gram,1\nchocolat_maid_cafe_curio,3\nasakura_itaru,1\ntom-supaiku,1\nlazy_(jinroxx),1\narkas,1\ntsubomiya_inori,4\nmyu_ranran,1\nmikoshi,0\npurple_z,1\nyoshio_(yoshiwo0221),1\nlilly_kane,4\nhonda_today,0\nkoala_0l,1\npureakuma,1\nkoike_(coikekke),1\nlululewd,1\nwatawata_(wtaawata),1\nrosario+vampire_capu2,3\nmai_machiko,4\nryusuke1234,1\nkouzuki_yura,4\nyokomiya_mutsumi,4\nkirisa_(yuki),1\nlag_seeing,4\njaga_usa,1\nkirisaki_kaede,4\nshindog,1\nnon_(number),1\nnakamura_rio,4\nmojamoja,1\nmorishima_akiko,1\nquamzin_kravshera,4\nanakris,1\npeace_maker_kurogane,3\nakitsu_mikami,1\nai_ke_le_de_xiao_hong,1\nrin_(0917608),1\nore_no_natsuyasumi_2,3\nseihoukei,1\ndos,4\nfloralia+,3\ngoatse,0\nultimate_moe,0\nikz97,1\ngarbage_truck,0\nshort_cuts,3\ndrama_cd,0\nmaria_barcelito,4\nartesia_som_deikun,4\nninja_senshi_tobikage,3\nnagamori_yamato,4\nimamiya_noriko,4\nsoreyuke_marin-chan,3\ntakashi_akira,1\nyama,1\nshani_andras,4\nmatilda_matisse,4\nofftoon12,1\nalejandro_corner,4\nanisawa_meito,4\nsword_(clow_card),4\nscias,4\nposture_request,5\nhanaosutarou,1\ningus,4\nserikawa_chitose,4\nchuchu_astram,4\ntachibana_amane,4\nkinomoto_nadeshiko,4\nlavos_(chrono_trigger),4\nhimari_(morikura_en),4\nminamoto_raikou,4\ncsi_miami,3\nkuzumin,1\ntom-ani,1\nhimeno_suika,1\ngullwing_doors,0\nimouto_kansatsu_nikki_2,3\nasthma,0\ninaba_taiju,1\nyoake_eimu,4\nkannagara_kanagi,1\namanita_virosa,4\nsuzuya_akinori,1\nmilk_junkies_2,3\nnailkaiser,4\nuzushio_(uzusio),1\nomochi_ksw,1\nhs_(user_hvww8443),1\nlucia_(devil_may_cry),4\nasobi_juku,3\nnakatomi_nanaka,4\npalladion,4\ncrowcrycaw,1\nkometani_hisanobu,1\ntapiko,1\nwanyuudo,4\nchiyo_koharu,1\nrazzy,4\nyumemisou,1\nteru_teru,1\nin_series,3\nizusetsu,1\nkyma_curry,1\nrorikon_(youkon),1\nv_juri_f,4\nnanao_ai,4\nnanao_ren,4\nsaya_(namco_x_capcom),4\nxopc,1\nmizna,1\nadder,1\nraramia_rerenia,4\nstuffed_goat,0\nfigarette_elraine,4\nmejiro_family_butler,4\ntokikane_mikan,1\nhk,1\nshotia,4\nwonderswan,0\ndelphinus,1\ncanopy_(forest),0\ntakana_(srplus),1\nuwaki_tsuma,3\nnanjou_ran,4\nhatomugi_munmun,1\nasaba,1\nsadahara_ajiko,1\nsister_hell,4\nchigaunsuyo,4\noyakusoku_love,3\ndorogumi,1\nden_den_mushi,4\nmome_(orguss),4\nhanashino_karui,1\npenis_tail,0\ndc_high_voltage,1\nmy_lovely_lover,3\ntokura_temari,4\nnata_(kimeeee),1\nhide38,1\nguy_(ff2),4\nkarezel,1\nkumakichi_(character),4\npriscilla_(gunxsword),4\nmukai_mana,4\ninuyose_shinobu,4\nzock,4\ndavid_nassau,4\nsakai_toshihiro,1\ngokireddo,1\npochayuu,4\nmayu_(elfen_lied),4\nmoloch,4\ntsukimura_miki,4\nenari,1\nponky,1\nz4,1\naimi_(tikichin0229),1\nsakuraprin,1\nmachiya_matia,4\nmarie_mjolnir,4\nmarika_soresi,4\nshizuru_(ayuhiko),1\nkuruoshiki_oni,4\nemelenzia_beatrix_rudiger,4\nreona,1\nbla_(artist),1\nwinchan,4\ncruiser_bicycle,0\nyukariki_ichihime,4\nelh_melizee,4\nanrietta_rochefort,4\nhana_(yuta),4\nrevenantart,1\nchitose_shuusui,1\noktavia_von_seckendorff_(cosplay),0\npattadol,4\ncrotch_strap,0\nroyal_oak_(warship_girls_r),4\nkyoudai_no_jouji_jijou,3\nnakano_yae,1\nlan_zhu_gu,1\nmysterious_heroine_x_alter_(first_ascension)_(fate)_(cosplay),0\nayase_aisa,4\nparsley_(kn-08),1\nlyra_(fma),4\nblue_rose_(gun),0\nsister_scheme_2,3\nlinkartoon,1\nyonchi,1\ndsk,1\nrufia_(monster_maker),4\nroot_beer,0\nsuzaku_(shinkalion),4\nnayukis_(haevest),4\nkowata_shunki,4\nramble12,1\nan-mar,1\nrain_(roromi),1\nthe_huntress_(dead_by_daylight),4\n1006kbps,1\nnishiki_yoshimune,1\nhappi_(michiru_donut),4\nkanda_naru,4\nmarine_(starcraft),4\njolyne_fly_high_with_gucci,3\nmonosucre,1\nandras_(mabinogi),4\nhisuipechika,1\nbeatrice_(masterwork_apocalypse),4\nshort_hair_maid_(mdf_an),4\nneodym,4\nkogawa_(kris_386k),1\ndarao,1\nhiramatsu_(rama),1\nmateru_(2532),1\nsaika_(pixiv43370196),1\nenergy_camdy,1\ntotoraisu,1\ncellien_queen_(kemono_friends),4\nmido_(ocarina_of_time),4\nbatchgooya,1\nchocomaru,1\nmy_nameisyoon,1\noosaki_356,1\njames_moriarty_(archer)_(fate)_(cosplay),0\nfiz_breakfast,1\nkoharuno_silk,4\nts1016,1\ndeparture18,1\nsuperwoman,4\nreza_avanluna,4\nasakura_(asa_t77),1\nbunka_(aynt44),1\nshinka_(user_rcem8835),1\nyanagida_ichino,4\nnuclear_explosion,0\nhn_kn,1\npupu_(leopupu),1\nsaidasai,1\nnitta_aki,4\nglowing_ears,0\narashiyama_gorou,4\nfarigiraf,4\nseed01010,1\nyamikumo,4\naoe_nagi,4\nimori_(lizzy),1\nloveu,1\nsaja_(166j357),1\nlisa_(genshin_impact)_(cosplay),0\nfuyukara_kururu,3\nm1917_enfield,0\nbuhualuo,1\nhighmore_(arknights),4\nefxc,1\nshimizu_esora,4\nsaka_nanato,1\neyelashes_visible_through_hair,0\nnissan_silvia,0\nwet_socks,0\nkabula,4\ndin_(pixiv25800872),1\ndoiparuni,1\nnepperoni,1\ngyoubu_danuki_(monster_girl_encyclopedia),4\nshinokami_xatiii,4\nshigi_(shigi_4),1\nitoshii_kanojo_no_mamorikata,3\ntanngrisnir_(housamo),4\nbunny_girl_(ai_gon_deroga),4\nsnow_white_(grimm)_(cosplay),0\nminori_tea,1\nnmemoton,1\nsoviet_air_force,0\nfeiya6022,1\nototoi_koi,1\nsloth_girl,0\nevol_driver,0\nenta_(nia),4\nkyanna_delrio,4\ndanji_(danji_bang),1\nrensiusan,1\nlace-trimmed_umbrella,0\nyamabuki0211,1\nlarge_areolae-san,4\nhoshimachi_suisei_(artist),1\nhoushakuji_renge,4\nsekitsuki_hayato,1\nstadium_lights,0\ntara_(nortuet),4\n60lailah,1\npanon_14,1\npanda8581,1\ndennou_manjuu,1\ntranquility_of_nature,1\nhomare_nao,4\nhimeno_kagemaru,1\nmoco_ofuton,1\nppchen,1\nadam_smasher,4\nabigail_williams_(tour_outfit)_(fate),4\nroa_(passingpleasures),1\nlu_(pixiv20967832),1\njayj_824,1\ntanaka_aiko,4\nmoran_(pixiv27824646),1\nmofumofu_time!,3\ndai_(dragon_quest),4\nfukuda_tamotsu,4\naio_(shuuko),4\nlow_bitrate,5\nyosola_pl,1\nkaede_(watamote),4\nigu_(103milk),1\naktrks01,1\nayateaori,1\nnilou_(genshin_impact)_(cosplay),0\nmanao_misuzu,4\nfuji_(c-b-s),1\nmitsuhiro-510-goto,1\nscarlet_(fire_emblem),4\nxian_yu_zhanshi,1\nelle_shengxuan_shi,1\nren_(dokyakutu),1\nbelt-san,4\ntatsuko_(tttk_64),1\nyeoru,1\notomata_ruka,4\nkoichame,1\ndive_(pokemon),0\naki_ral,1\ncabronpr,1\nsakura_mei,4\noosuki_masato,4\nshintaro_(honmaguro),1\nmimikaki_rifure,3\nyotsutsuji_mayoi,4\nhino_(yuruyurukoubou),1\nmorii_kaho,4\nbroken_hilt_inn,3\nhinagiku_(kunoichi_tsubaki_no_mune_no_uchi),4\njigokuraku,3\ny_(35504109),1\nnun_(eri),1\nreiwa_hanamaru_gakuen,3\niruzu_(pixiv27236115),1\nao68,1\nhakoniwa_logic,3\nvideo_game_championships_2014,3\ncourregesa,3\nrevanche,1\narmedshipyard,1\nignis_ex,4\nmutual_tsundere,0\nnanase_subaru,4\njavelin_(let's_become_waitresses!)_(azur_lane),4\nnorth_korean_flag,0\nizana_(fire_emblem),4\nmelady_(fire_emblem),4\ncarolina_(last_origin),4\napollo_hotori,1\nmaronmokaet,1\nleonor_(kida_kuro_mu),4\nrowdy_reiko,4\nkeaton_mask,0\nhair_move,0\ndate_masamune_(sengoku_otome),4\ngesoten_oec,1\nnari_(bikkii),1\njamila_pose,0\nhana_(afuro),4\nmusical_note_background,0\nsoji_777,1\nnakime_(kimetsu_no_yaiba),4\ncroquel,4\nharurun_zw,1\nqian_pu_liu_shang,1\naudi_(tsuaii),4\noribe_mutsumi,4\nmarulire,1\nyamada_ichi,1\nwhite_delmo_n,4\nsensui_n,1\nmogy64,1\nshoukaku_(the_crane_that_dances_with_the_wind)_(azur_lane),4\ndark_matter_blade,4\nlegault_(fire_emblem),4\ncaineghis_(fire_emblem),4\ngatrie_(fire_emblem),4\nnolan_(fire_emblem),4\nteam_break,0\nmajin_android_21_(cosplay),0\nalex_(nobodybutalex),1\ndairin,1\noginy,1\nkaigaku,4\nnamiki_rin,4\ndong-wook_shin,1\nichigo_choco,1\nmatoi_tech,4\nsmalley_(candy_courier)_(azur_lane),4\nflorists_daisy,1\nrafiel_(fire_emblem),4\npent_(fire_emblem),4\nchenche-jun,1\nmitama_(mokochiko),1\nplastic_erazer,1\ntricker_(module),0\niroha_(pcrx7327),1\ndaigorou_(42036928),1\namiya_(arknights)_(cosplay),0\nkinyoubi_no_nangong_da,1\nseimannu,1\ndorothy_(pan_koujou),4\nunicorn_(prayer_of_plum_and_snow)_(azur_lane),4\nmochirou_(giri_choco_inverse),1\nafueeriru,1\npam-pam_(precure)_(human),4\ntatsumi_yashiro,1\numauma623,1\ncheolseung_ok,1\nnello_kun,1\nshiranui_(nisioisin_sinob),1\nuta_(siscon_ani_to_brocon_imouto_ga_shoujiki_ni_nattara_),4\nsiscon_ani_to_brocon_imouto_ga_shoujiki_ni_nattara,3\n5-en,1\nalisa_(razalor),4\nsunbeam_(artist),1\nyukikaze_(winter's_snowy_wind)_(azur_lane),4\ncikapasi,4\nling_qingzhu_(wu_dong_qian_kun),4\nhasebe_shikiri,4\nshark_yc,1\ndomaro_yui,1\nekoda_ren,4\nsparkle_earrings,0\nyi_da_zhi_lizi,1\nteam_star,0\ndisney_princess,3\nself_control!!,0\nmagatama_print,0\ntsutsumotase,1\njustin_chan,1\nsephie_michaela_deviluke,4\nnoahxica,1\nkarasu_(noein),4\nkizitora_hato,1\ndappou_tamer_no_nariagari_boukentan,3\nemma_(kouya_no_kotobuki_hikoutai),4\nhirakawa_natsumi_(jk_bitch_sannin_musume!),4\nmutsuki_nekohachi,1\ntakanashi_tarou,4\nnukoko_(akumagansyakudairi),1\nconniekims,1\nhow_to_draw_an_owl_(meme),0\nyike_(yr_marimo),1\nkanto_mother_(rgby/frlg),4\njohto_mother,4\nsoo_(vyve2555),1\npico_(rune_factory),4\nflamingo_(eme324),1\nuramoto_kouji,1\nimelda_rivera_(alive),4\nninto_(senran_kagura),4\nnine_epsilon,4\nkagamihara_alice,4\nmorozumi_yasubee,4\nmitsuya_ryo,1\nfukakai_na_boku_no_subete_wo,3\nkurano_kiriha,4\nback_alley_alliance,0\nnakahara_nakahara,1\nkokutenshi_hibaru,4\neina,4\nlee0110,1\nu_(uuupixi),1\nblack_jelly,1\ndorashieru,1\nhead_bowed,0\nstudio_yuraki,1\ncriminal_(meitantei_conan),4\nsuzuki_satsuki,4\nomori_yakumo,4\nriri_(joshi_shougakusei_hajimemashita),4\nshizuku_no_oto,3\nheaven_(inhabituels),4\nichigo_daifuku_(blumenwalzer0903),1\nqueen_ashi,1\nshoukichi,1\norigami_koori,4\nshinohara_yukinori,4\nkazama_levy,4\nyanagi_akane_(yousei_kinoko),1\nenuma_(uma-festival),1\nheartszora,1\nhtms_thonburi,4\nshinwa_densetsu_no_eiyuu_no_isekai_tan,3\nvixi_c,1\ntowa_(shironeko_project),4\nbi_ge_xing,1\ntype_38_rifle,0\nw2398510474,1\ntodoroki_natsuo,4\nnepitasu,1\nmerry_hearm,1\npix_mloof,1\ngirls_mate,3\narakita_yasutomo,4\ndaewoo_k5,0\nyugure,1\naino-san_(miximixi39),1\noblivious_(dmm),3\nk_(shinya90),1\nhamita1220,1\npty,1\nsemimaru_(user_zzuy5884),1\nnoburockman,1\ndeimos_(sailor_moon),4\nsutera_(flower_knight_girl),4\nshante_(arc_the_lad),4\nsucchii_(pikaru),1\npanda_panties,0\nen_(en-chune),1\nshin_megami_tensei:_liberation_dx2,3\nsnow_(iron_saga),4\nkrelian_(xenogears),4\npae_(ac40935_m41),1\nbundled_charge,0\nkokemaru_(12tama02),1\nalis_(majalis),1\ngalactic-overlord,1\nyococco,1\nmoe_musume,4\npaya_(aejx2345),1\nuni_(amnrsdn),1\nchip_(sonic),4\nshuu_(dragon_ball),4\nrebyo,1\npote0508,1\nrico_ot,1\nkokoro_(kokoro_toshokan),4\nkaneko_aaru,1\nmrs._estacion,3\nhishiro_chizuru,4\nshakata_(ozi3),1\nsuzuki_aya,4\nammi,1\nsuez-chan,4\ncum_on_testicles,0\nmaryceles,4\nd.mon_(overwatch),4\niktk,1\ndetention_(game),3\ntebukuro_withana,1\nwakashinoda_kei,1\npure_girls_project,0\ndisk2,1\nkyuma_(hisa_hisa_ma),1\nboku_no_amayakase_ikatsu,3\nlace_skirt,0\nbeli_lapran,4\nqueen_(snow_white)_(cosplay),0\nrammer_(ole_tower),4\ngems_company,3\nnagato_mikasa,1\nl.kili,1\nd-han,1\ntaiyaking,1\ntsukishiro_kohaku,4\ntatejima_kotetsu,4\nunnamed_tsrpg_protagonist_(eroe),4\nekibyou,1\nfruitfroze,1\nsamatha_(terra_battle),4\nrean_(sennen_sensou_aigis),4\nsasasa774,1\nashe_(amaburi),4\nstuffed_eggplant,0\nagnes_(gegege_no_kitarou_6),4\ntsurara_onna_(monster_girl_encyclopedia),4\nas_nodt,4\nshiratama_akari,1\nfutsuhiko,4\nii_naotora_(sengoku_musou),4\nmononobe_no_futo_(chicken),4\nmikkat,1\nrika_(mikunopantsu),1\nsnowflake_pin,0\ninuki-loves-steak,1\nha_kang,1\ntennessee_(warship_girls_r),4\nnorth_carolina_(warship_girls_r),4\narashi_(warship_girls_r),4\njuno_(warship_girls_r),4\nnagato_(warship_girls_r),4\nsirius_(warship_girls_r),4\nbanshee_(monster_girl_encyclopedia),4\ntsunoda_(aggretsuko),4\nkurokawa_rikuu,1\nnomad_(mjauharazhar),1\ncarminar,1\nhigashihongan_sanae,4\nheike_gani,1\nsorandia,1\ndancer_4_(sekaiju),4\nmassive_kagawa,1\nlirensheng,1\nkarakuri_burst_(vocaloid),3\nbyakuya_(under_night_in-birth),4\nkawai_hiroyuki,1\nnoname_(reticulian),1\nyurarin,1\ninazuma_eleven_choujigen_dream_match,3\npurple_brooch,0\nmagryo763,1\nn-jou_(princealbert),1\nmega_kangaskhan,4\nbaddie_(p&d),4\ntararelux,1\ndotted_eighth_note,0\nsakura_(ajrhine),1\ngundam_tr-1_hazel,4\nyuizawa,1\nedih,1\nizumi_ibuki,4\nkuro_shiraga,1\nyuuri_splatoon,1\nastraythem,3\nharuhito_(divineshalt),1\nbelafu,4\nhuntress_wizard,4\nharuakira_rika,4\nold_metal_666,1\nkeumran_(last_origin),4\nlove_ra_bride,3\nokano_hinata,4\nfisher_(pokemon),4\nlaan_(0110),1\nair_hockey_mallet,0\nalolan_grimer,4\ncolossus_(x-men),4\nsorayama_hajime,1\ndruella,4\nakishino_himeka,4\nfruit_pattern,0\ncony_(comicsun),1\ncourier_(fallout_new_vegas),4\nmaruo_eiichirou,4\nyuu_yamanami,4\nhibiki_ran,4\nmakoto_(blue_archive),4\nduzizai,1\nnyx_(warframe),4\nwet_bloomers,0\nember_(warframe),4\nshun-syun,1\n2zibure,1\natomic_samurai,4\nbankenman,4\ndyumo_(moffri),1\neco_(dragonar),4\nnanzuyo_(gnsi),1\nlaunch_pad,0\nmichitarou,1\nkuzuno_ha,1\niwasawa_saki,4\nwashizu0808,1\nkyo_(vocaloid),4\nwil_(vocaloid),4\nkkun88,1\nboro_(boroboro8931),1\nyappo_(point71),1\nblossomsa,1\nsaiouga-uma,1\ncomic_bangaichi,3\nmystletainn,0\nkiku_(popolina),1\ncure_diamond_(cosplay),0\ntnk_(p_freaks),1\nsikuhima,1\nuchi_no_toko_de_wa,3\nshikoku_yonkyoudai,3\nkuchinawa_(skyks),1\nhiiragi_mako,4\nnaegi_makoto_(cosplay),0\nougon_yuusha_goldran,3\nryuujou_(aircraft_carrier),0\nsatan_saber,0\nmito_amatsu,1\ntwo-handed_masturbation,0\nkaruga_(magusfly24),1\nmo-a-i,1\nwitch_bandora,4\nmitsumachi_senji,1\nhayase_yuuichirou,1\nseto_(sepcloud),1\nrannie_(dragon's_crown),4\n0808,1\numino_mokuzu_(a4_size),1\nshokuhou_misaki_(cosplay),0\nrabi_(swordofthestone),1\nbiruteratai,4\nakaxia,1\natelier_pocket,1\ncop_(shokkidana),1\nranjou_satsuki,4\nmerueto,1\nhetalia38,1\ncien516,1\nkurayuki0404,1\nre:kinder,3\nali_(maidoari),1\nwatanabe_satomi,1\nhieda_no_aya,4\nskeleton_horse,0\nisogai_yuuma,4\nneeko_wa_tsurai_yo,3\nvvv020vvv,1\nreikadou_ayame,4\nzelda_c_wang,1\nwakasagihime_(fish),4\nraku220p,1\naliana_(pokemon),4\nyashima_roi,1\nyukichi_(ohuton_zzz),1\ncryamore_condenser,0\nstolas_(lemegeton),1\nkureshima_mitsuzane,4\nhiruko_kohina,4\nlaikass,1\ndenpa_(kazuharu),4\nmonokurokenkenpa,1\namano_suzune,4\noda_kazuomi,1\nold_english_sheepdog,0\nyuuuuuuuuuuuuka,1\nliczka,1\nasukasuka,1\nisago_(lop),1\nzzzzzzzzzzzzzzp,1\nsugi_koutarou,1\nhasu_(lausdys),1\nmagical_rain_chan,4\nmidori_(rquick2009),1\nkoremi2,1\nyuu_akine,1\natori_(noein),4\nanzu_(hinamatsuri),4\nshirasagi_miki,4\nhiki-to,1\nkm_(kyoma0),1\ncreamsherry,1\nfinal_fight_2,3\nknight_rider,3\nmuvluv_alternative_chronicles_03,3\nsekiguchi_taro,1\nsuzuna_(mark_of_luck),1\nakiyama_tama,1\nedaman,1\njaguji_(jaguzzi),1\nshirua_(s4-42424),1\ntomekichi,1\nhachi_(hachin0124),1\ninvestigator_(koronu),4\nhans_(frozen),4\nbikusen,1\nbeluga_whale_(kemono_friends)_(stylecase),4\nbaku_ane_otouto_shibocchau_zo!,3\nmaya_bryce,4\nconga_line,0\nshiz_(#0077),1\nwave_(akame_ga_kill!),4\nadeptus'_temptation_(genshin_impact),0\nunagi_(515816703),1\nyakkunn,1\nkuyako,1\noni_musume_(yume_2kki),4\nshimarisu_(bonobono),4\naburi_saamon,1\nsakuyunomi,1\ngehirnkaefer,1\np-man-p-man,1\nkumax5,1\nmudan_tensai_wa_yurushimasen!,3\nakaba_reiji,4\nfatal_twelve,3\nharime_nui_(cosplay),0\nkuzunoha_kaede,1\nhorus_(p&d),4\nkyouki_no_kimi,1\nhihouden,3\nmahou_shoujo_madoka_magica_novel,3\nnakamori_koutarou,1\nkuroqueta,1\nokihana,1\ndaikon_(tomohiro158),1\nmatsuri_(araiyuutoo),1\ntrailblazer_(honkai:_star_rail),4\nmizumori_omizu,1\nking_en_(juuni_kokuki),4\nakeno_(akenosora),1\n243_(jel),1\nratenbo,1\nperpell,4\nashmedia,4\nhigeneko_(pluie),1\nblockhead_bh,1\nnishikino_maki_(cosplay),0\ndokozo_no_shirou,1\nchorus,0\ngiraffe_costume,0\nsen_(alshy379),1\nk1_(erin22),1\nmo_(k40633),1\nhaunted_astolfo_bean_plush,0\nbahamut_(shingeki_no_bahamut),4\nneck_corset,0\nfood211,1\nmoneko,1\nhh_(hhsis2),1\npre3445,1\nkakami_(pixiv7616827),1\nnekomusume_(gegege_no_kitarou_6)_(cosplay),0\nhayakawa_(hayakawa_illust),1\nprecision,1\nmoegi_itsukashi,1\nlit_ter,1\nmerong,1\ny_(hellenism),1\nfeather_choker,0\nmolianmengdada,1\nria_(efikrisia),1\nabyssal_patrolling_attack_hawk,4\ncao_(cucurbita_k),1\njii_dayday,1\nunits_lustil,1\naechmea_(houseki_no_kuni),4\nhiyo_moo,1\ncross_academy_uniform,0\nm/g,1\nsun-sensei,4\nribbed_skirt,0\nmama_coco,4\nedamame_senpai,1\ndanieri,1\nharuru_(haruharu_urara),1\nootokage_(big-lezard07),1\nbon_appetit_s,0\njupiter_(azur_lane),4\nsora_(7th_dragon),4\nmaron_(7th_dragon),4\nkazuna_@_winter_comi_15,1\nunmeinobasho,1\ntokunaga_(gokaku_kansuu),1\nbogue_(azur_lane),4\nblair_(pffk),4\nhekino_(aoruri),1\nokumura_haru_(cosplay),0\nakagami_(konkichi),4\nkimijima_asahi,4\nnosutaal,1\nonodera_(merrily;maryanne),1\nforest_of_blue_skin,3\neyewear_slip,0\npeel_(tool),0\nsilent-fly,1\nharu_(hall),1\nloki_alma,4\nice_queen_(monster_girl_encyclopedia),4\nbesuteia,1\nbinacle,4\nkyoro_(asdfg-hjkl),1\naoyama_homare,1\ninaba_(akane-jika),1\nstephanie_(princess_principal),4\nokhotsk_yukari,4\nibuibu_gakogako,1\nsophie_mackenzie,4\nkunimasa_ayami,4\nmone-san_no_majime_sugiru_tsukiaikata,3\nmiyu19996513,1\nmanna_(pixiv8805037),1\nrouzato,1\nkuune_(muttey-myg),1\njack-o'_valentine_(cosplay),0\nj._won_han,1\nharumari,1\nna-class_destroyer,4\nspoken_copyright,0\nkagarino_hikaru,1\nirina_clockworker,4\nshiroraku,1\neustace-flamek,1\nnagayama_(zappazappa),1\nfermata,0\nskuld_(kingdom_hearts),4\nnaan_bread,0\nwadachi_kururu,1\n20.3cm_twin_gun_mount,4\ntype_0_fighter_model_62,4\numiyama,1\nstarfish_print,0\nsakuraba_nao,1\nmizuki_(1054311109),1\nkaiho_izumi,4\nice_spirit_tarot,1\nyamashita_tomu,1\nnann_tou,1\nsamochau,1\npepii,1\nboosted_gear,0\nmucuzi,1\nrica_diaz,1\nshuang_xiyu,1\nntt_docomo,3\nledy,1\ncaptain_jerkpants,1\naizawa_u-ji,1\nminato_(ct_777),1\nworrisorochi,1\nsurato,1\ncv1115,1\nhimekawa_koyuki,4\nestonian_flag,0\ntakapi_(chimee_house),1\nkarenai_sekai_to_owaru_hana,3\nkinutasou_(flower_knight_girl),4\npolaris55740,1\nblackfoxes,1\nbil-ajeossi,1\ndrusilla,4\nenpitsu_(enpitsu_4b),1\ngretel_(mary_skelter),4\ntakemiya_09,1\nhakamo-o,4\nmagicaloid44,4\nnandemo_kanden,1\niwi_x95,0\nrogeris,1\ncatmouth,1\nkimpeul,1\nshiba_squish,0\nshou_xian_wu,1\nkimagure_mercy_(vocaloid),3\nshiina_kimagure,1\nlobster_costume,0\nooshima_mikaera,4\ntrumbeak,4\nmaimo,1\nxiaoye_eago,1\nkyoto_fantasy_troupe,1\nlizerietta_marsh,4\nnigeru_wa_haji_daga_yaku_ni_tatsu,3\nplumin,1\ndeliverer!,3\nshiiha_(sakuragi_ren),4\n310_(satopoppo),1\nrest_and_vacation,4\nlev_lainur_flauros,4\nkoyukiyasu,1\njiu_wei_hu,4\ntama_(tama_sphere),1\nreddverse,1\nfang_ray_shin,4\nremoooon,1\napsaras_(granblue_fantasy),4\nseotaku_(kyokkou),1\nlisa_(series),3\noneko-nnnn,1\nnemo_1988,1\ndream41,1\n7753,4\nshiroi_yuumi,1\nstuffed_shrimp,0\nazaka_(pipponao),1\nyouhe_qri,1\nbruno_buccellati_(cosplay),0\nsuzuki_zentarou,1\ntaega_chima,1\ndesian_(ljk920424),1\nrkn-chan,4\nrokuuso,1\ngouda_ryuuji,4\nred-crowned_crane_(kemono_friends),4\nbullet_tattoo,0\nshenhaixun,1\ntorn_blindfold,0\ntrung_doan,1\nalchemist_(shinkai_no_valkyrie),4\namato_nagi,1\narm_behind_leg,0\nxininz,1\nhaohe_buguo,1\nchilean_flag,0\nnichts_(nil),1\nmugo_(mugokii),1\nyun_lin,1\nlinus_(fire_emblem),4\ndf=6,1\nf14,4\naritsuka_ariichi,1\nbleach_(chemical),0\nfeather_tails,0\nmadogiwa_(ran5),1\ncurry_soba,1\npromethea_(granblue_fantasy),4\nspica_(starlitworks),1\nkagamiya_ruru,1\nshizukage_(shizukageya),1\nkappaman,1\nlooking_at_map,0\nbarq,4\nmonaca_burlone,4\nnengo,1\nizuno_wasabi,4\nsaijo_melia,4\ndungbae,1\ngacharunta,1\nkagikura,1\nyorunokonbini,1\nkazu_(otonoki86),1\nicenight,1\nshiratsuyu_natsume,1\nalice_(openhexagon),1\nkami_jigen_idol_neptune_pp,3\nh&k_g28,0\ntachibana_(dekitate_amaguri),1\nkokonoha_kitori,1\npink_liquid,0\nhimeji_shion,4\ngumshoos,4\nnestern,1\nkimi_to_yumemishi,3\nanimal_band,0\nluna_loud,4\ndal_segno,3\nmozuku_(new_game!),4\nnekodou_(yukatin1000),1\nise_sakura,4\nbluebird_(leh951025),1\nkinakon,1\nshirowa,1\nnina_alexandrovna,4\nsunshinek,1\nikasui_(okakenn1224),1\nkiro_(an_kilo),1\nkei_(aoddoa),1\ntamagoyaki_(megane-daisuki),1\nwerq1996,1\nnakoumi_kokoro,1\nsouda_emonzaemon,4\npekamatu,1\nkabuterimon,4\npiyo_(piyona),1\nkami_ryuoo,1\ntoshiaki_(lucky_star),4\nmeroun,1\nbulgaria_(hetalia),4\nmimaru,1\nsuzumiya_kiriha,1\noshakana,1\nmisui,1\nkiri_(regulaton),1\nmagna_carta:_the_phantom_of_avalanche,3\nkanlee,1\ncoma_(fginiy),1\ntsubugaai,1\narctic,1\nmei_mei_(nagasarete_airantou),4\nhimeno_kisara,4\nitou_mariko,1\njuuni_senshi_bakuretsu_eto_ranger,3\nshinano_(aircraft_carrier),0\nsavemenu,1\nkurt_irving,4\nlipton,3\nnarumi_yuka,1\nyuntea,1\ntype_61_(tank),0\nhatoya_mameshichi,1\nfilly_erhard,4\nsokobe_hiyori,1\nsakurakunet,1\nmemories_off_yubikiri_no_kioku,3\nrose_(the_path),4\nginger_(the_path),4\nyagyuu_gisen,4\ndate_seiji,4\nma_(pixiv1936865),1\nakabi_(alaburu),1\nhazuki_kaoru,1\nhijikata_raiden,4\nak-105,0\namaneryuusei,1\nao_(korindou),1\nko_torii,1\nyin-yang!_x-change_alternative,3\nserafuku_to_juusensha,3\nsaitou_nagisa,4\nsquare-leg,0\nbrandish_(h_manga),3\ntorotoro,1\nuno_(colorbox),1\nnakamura_yutaka,1\nchocora11,1\nsingin'_in_the_rain,3\ngojou_masaru,4\nsacchan_(hn0816),1\nsexy_beach,3\nt91_assault_rifle,0\naoki_yoshifumi,4\nkirishita_yuuji,1\nai_no_wakakusa_monogatari,3\noberon_(elsword),4\nangry_video_game_nerd,3\nsudou_tomonori,1\nprincess_jupiter,4\nnumany,1\nkajiwara_kagetoki,4\nemma_hetfield,4\nougi_makoto,1\nnanao_eriko,4\nmolten,0\nsidate,1\nsakurazuka_natsuki,4\nanneroze_siryou,4\nlovely_no_natsuyasumi,3\nkashiopea,1\nkishin_taisen_gigantic_formula,3\nkajiwara_io,1\nkokko361,1\nlulwy_of_wind,4\nlilica_evett,4\nshiraso_(silaso),1\nso-men,1\nionia_series,4\nrokugatsu_no_usagi,1\nblue_(rbb),4\nsakurai_ronoyuki,1\nookami_otoko,4\nkoami,4\nkomami,4\nyu_(kaburimono_ex),1\nleviathan_(shinrabanshou),4\nkanenoya,1\nhoshino.,1\nmanager,0\nasuka_sakurai,1\nmagical_suite_prism_nana,3\nfakku,3\njusty_x_nasty,3\nrouter,0\nnora_(kukumaka23),1\nchina_(ekimore),1\nyokotn,1\nmorikubo_yuna,4\narai_shouji,4\niguchi_(strawmat),1\nkisame_(muneneko),4\nblack_forest_cake,0\ndale_(disney),4\nkareshi_inai_reki_=_nenrei,3\nmetamin_(memethah),1\ntoa_(sarara23),1\nname_(sh),1\ntakanashi_china,1\nmaid-chan_(maze),4\nmikazuki_aoi,4\nmaki_(lovyu),1\nhaytham_kenway,4\nkakip,1\nizumi_yuu_(mee),1\nagsen,1\nyuibi,1\nechoes_(cassandratree),1\nsprinkler,0\nnitorou,1\npremium-chan,4\niwari_(kerokeroboushi),1\nsteven_stahlberg,1\nhallucigenia_(game),3\n74-gou_(73-gou),1\npecotank,1\nikeya_(higumake),1\nizumi4195202,1\nmay_(guilty_gear)_(cosplay),0\ntierra818,1\ndasumidara,1\nphi_(kyokugen_dasshutsu),4\ngakuen_taima,3\nleticia_draculair,4\nalicepowder,1\nmasu_193,1\nnoppo_bread,0\nnarmaya_(granblue_fantasy)_(cosplay),0\nneapolitan_ice_cream,0\nasteria_lizamarie_de_roschefall,4\nnokobeya,1\npokemon_battle_revolution,3\ngachatara,4\nshoal,0\ntaireru,1\ninu_to_hasami_wa_tsukaiyou,3\npatroklos_alexander,4\nkuro_(qqaid),1\nyoshimo_(yoshimo),1\nharukazedori_ni_tomarigi_wo_2nd_story,3\nsasya,1\number,1\nnearly_naked_sweater,0\nchoo,1\nscofa,1\nrichard_(hotline_miami),4\nshikke_(1877944),1\nikusa_(puchi),1\neyehead,1\nhasegawa_yume,4\nfairy_princess,3\ndokurohime,4\nenoki-kou,1\nbra_over_clothes,0\n31_(bluesan),1\nmiso_(appanjo),1\nfeichu_keju,1\nmaza_kisuke,1\nsankaku_saboten_(flower_knight_girl),4\nringo_(flower_knight_girl),4\ntakinashi_(friend_coffee),1\nfive_nights_at_freddy's:_sister_location,3\nyoshio_tanaka,4\nzetxsuna,1\nsheila_helman,4\nfujii_ren,4\njudge_(oekaki),1\nkondou_kisaki,4\nnarrator_(nobody),1\nashida_chika,4\nchip_(disney),4\nfu_(counting01),1\nyoimosezu,1\nmaniwa_chouchou,4\nichi_kawa_ichi,1\nmorishima_noriko,1\njudas_priest,3\nsay_my_name,0\nroas,1\nalthemia,4\nmaternity_mark,0\nketama_(mokoneko),1\nkiwota,1\nherta_(honkai:_star_rail),4\npunch_(punchrecipe),1\neriko_(valentine)_(princess_connect!),4\nrei_(summer)_(princess_connect!),4\ndandy_(superdive43),1\nphilanemo_mushroom_(genshin_impact),0\ndunyarzad_(genshin_impact),4\nlewddrawfag,1\nningre_huahe,1\nortlinde_(swimsuit_assassin)_(fate),4\nb-kun_(eita_789),4\nkoxo-01,1\nbroccoli_(ohasi),4\natsushi_kenzaki,4\nfeng_yezi,1\nrilu_rilu_fairilu,3\nhorheyer_(arknights),4\nstar_guardian_akali,4\nyakumo_mitama_(swimsuit_costume),4\nzeklewa,1\ncherry_(sp_gkdla),1\nvvv1356_ygo,1\nwhite_gemstone,0\nsophie_(futagohime),4\nhuidare,1\ntractrix,1\nlight_bow_shekinah,0\nmiyu_(reel),4\nu-treasure,0\ngodzilla_vs_megalon,3\nfrostleaf_(break_the_ice)_(arknights),4\nlenea_(eldrid_alm),4\nisosceless,1\nkingprotea_(third_ascension)_(fate),4\nfuririkkuru,1\nokame._(okame124),1\nalbert_de_morcerf_(gankutsuou),4\nartoria_pendragon_(lancer)_(first_ascension)_(fate),4\ntamamo_cat_(first_ascension)_(fate)_(cosplay),0\nbyam,1\nmyao_(marl_kingdom),4\nnowatari_hii,1\nparasite_(vocaloid),3\nap_(pixiv74197750),1\noptimus_prime_(kotobukiya_bishoujo),4\nnapoleon_bonaparte_(welcome_to_the_travelling_circus!)_(fate),4\nmash_kyrielight_(traveling_outfit),4\naster_(nu_carnival),4\narcher_(black_swimmer)_(fate),4\nspare_tire,0\n65gh0st,1\neggisalive,1\ntachibana_kanade_(cosplay),0\nnujig,1\nmiyata_mozuku,1\njiro_(regoied),1\njoyfulman,1\nkuchuanleikan,1\nsuruga_runa,4\nk11_(lil'_scientist)_(girls'_frontline),4\naugustus_(luca_kaneshiro),4\nenergy_reader_(apex_legends),0\ntsukishiro_ao,1\nkorone_(metata),4\ntmp_(red-eared_cat)_(girls'_frontline),4\nthunder_(black_swan's_dream)_(girls'_frontline),4\nshimazu_toyohisa_(sengoku_musou),4\naracnee26,1\nsayanestia,1\nko_hokoryoku,1\nsuuankou,0\ndalujiadebianyuan,1\nokitanation,1\npower_sword,0\ninukai_karen,4\neiul,1\nwudiyishileiyu,1\noekakikei,1\npink_hair_girl_(hanazawa_suou),4\nseijiikeuchi,1\nshirin_(tsukimiyagura),1\norgus_(housamo),4\ncode_beast,3\ngekichuu_youkai,1\noyu_no_mizuwari,1\nwersman,1\n98_(mdf_an),4\nteddy_(takarada),1\nshidiancijianongpao,1\ngreenapple_(g_apple0511),1\ntaka_(ace_attorney),4\nshiba257,1\nai-nohikari,1\neto_sister,1\nhinshi_hp0,1\ntanghc175,1\nswimming_club_kouhai_(fukai_ryousuke),4\nsuiran_(liquiddoes),1\nshizuka_no_uni,1\nswordsman_3_(sekaiju_4),4\nkai_yuzuki,1\nwraith_(last_origin),4\nhoukago_education!_~sensei_to_hajimeru_miwaku_no_lesson~,3\nryuu_to_sobakasu_no_hime,3\nhallo_(rltkdydrltk),1\nbubba_(saikorokyarameru),1\nvakaosciosa,1\nchi-chi_(pixiv984250),1\nkisaragi_(l-calena),1\nspecial_cat,1\ndomma_(arknights),4\ninker_comics,1\nscout_(girls'_frontline),4\nm21_(girls'_frontline),4\nshipka_(girls'_frontline),4\nballista_(girls'_frontline),4\nspitfire_(girls'_frontline),4\nnyto_nimogen_(girls'_frontline),4\nikikiksgiksg,1\nred_ocean,0\npurple_facial_hair,0\niwatoko_(iwatokko),1\nea_ateu,1\nmogumogu_(563chan),1\nbarbie_as_the_princess_and_the_pauper,3\nfuua_(fxae3875),1\nkirih_shiraishi_(sword_scream),4\nsaikuu,1\nkurari_rose,4\nguan_xuan_(the_legend_of_luoxiaohei),4\ntanaka_(nekoashifumare),4\nmaybell_(haniwa_(leaf_garden)),4\nribbon_akai,1\neverything_is_cake_(meme),0\nnyaasechan,1\nkagami_moch,1\nk_(shiganai_shakaijin),1\nadote,1\ngaon_(nijisanji),4\ncranes_(hiroro1),1\nkeikei_927,1\ntamachi_hiromi,4\nmoon_(anntan),4\nyuuki_fumi_(kueg7288),1\ntsukushi_aria,4\nhawai-tari,1\nrisai_(juuni_kokuki),4\nking_tai_(juuni_kokuki),4\nrakushun_(juuni_kokuki),4\nrudeko32,1\ngilles_de_rais_(caster)_(fate)_(cosplay),0\neliotvlunogord,1\npussy_sandwich,0\nsemotaretare,1\nmega_man_x2,3\nmutomorokoshi,1\nsakurai_hana,4\nbuttslayer,1\nsakuragawa_saki,4\nyoru_(valorant),4\nspleen211,1\nartmancer,1\nparanoiddroid5,1\nbooboo_(19816236),1\nlatte_cookie,4\narienne_(knights),4\ngibraltar_(apex_legends)_(cosplay),0\nzhileng_kong_tiao,1\nluin_(fire_emblem),0\nshi_mohaji,1\nbisque,1\nagurami,1\nobake_pam,4\nroro_982,1\ntashkent_(kancolle)_(cosplay),0\nseiji_kimoti,1\nbuchi_k018,1\nalbinoss_(siirakannu),4\nblossomlive!,3\nsister_reine_(foxyrain),4\nomenion,1\nk/da_all_out_akali,4\nk/da_all_out_ahri,4\nakarichan_(1286817552),1\nnamhorm_(puzenketsu),4\nneejyu,1\namanai_daisy,1\nchoco_(pui_pui_molcar),4\ngozen_(gozen0707),1\namericano_beans,4\noozora_migiri,4\nzei-minarai,1\npoke_kid_(pokemon)_(cosplay),0\nenko_momoda,1\nbird_feeding,0\ndemon_hunter,4\nkannagi_shiori,4\nlight_reflection_(water),0\nren'ai_phase,3\nhigashikata_hato,4\nsadness_(inside_out),4\ngustave_xiii,4\namon_patricia,4\nniitsumee,1\nselfira,4\nfuyuzima,1\nchampagne_coupe,0\nyumemiya,1\nkuro_neko_(yxmikan),1\nemma_(fire_emblem),4\nmega_houndoom,4\nyoruhasu_gekkei,1\nwelchsbinn,1\npanbukin_(dragon_ball),4\nsaki_haruka,4\nkakomura,1\nkousaka_karasu,1\nbyo_(daigakunote),1\nmomoppi,1\ncdov34,1\nshaea_(jiffic),4\numelim,1\nkauchipoteto,1\niruma_(ikutomi),1\nkaya_izumi,4\nbaby_magnum,4\nogi_non,1\nkat_(devil_may_cry),4\nhodogaya_emily,4\nxian_ting_xinbu,1\nnanahane_fl,1\nkikai_ningen,1\nfrisk_(undertale)_(cosplay),0\nlacress,4\nnoel_fortenmayer,4\nyurinotubomi,1\nrepulse_(aoki_hagane_no_arpeggio),4\nripod,1\nmimic_(dark_souls),4\nmiyachi_(qqm32xk9),1\nsukeberosu,1\ne-123_omega,4\nutahime_arthur,4\nkidani_mami,1\nc-130_hercules,0\nmorimachi_meguru,1\nharuhiro_(grimgar),4\nsix_same_faces,0\nyamaburo,1\njunjundsj,1\nhigurashi_nakaba,1\nume_ren,1\nneon_genesis_evangelion:_the_iron_maiden_2nd,3\nyamazaru_(one-punch_man),4\nmashiro_(sora1031),1\nkomiya_arisa,4\nwater_in_hands,0\npercy_pyl,1\nwhispwill,1\nanakochan,1\nweapon_rack,0\nrouge_(saga_frontier),4\nartifedex,1\nnishikiya,1\nnadeshiko_(flower_knight_girl),4\nre:rising_gundam,4\nerupusai2,1\nakechi_hideki,4\nbai_(darker_than_black),4\nrodrigo_yoshimiya,1\ntucker_(pokemon),4\npokemon_duel,3\nemmet_(pokemon)_(cosplay),0\nkusunoki_asuha,4\njujumaho_(nanigaxila),1\nirisl,1\nkyata_ti666,1\ndatomato,1\ncal_(pmgdd),1\nnia_(leafunia),1\nkibanohara_ethica,4\nbird_hoodie_girl_(tsubaki_tsubara),4\nhibiya,1\nirokawa_iku,1\nsex_and_dungeon,3\ncynthia_(pokemon)_(cosplay),0\nmozgus_(berserk),4\nretsu_(gesogeso),4\nmaria_arvana_(daeriion),4\nviq,1\nkino-cands,1\nkent_(mk001black),4\nmulticolored_belt,0\nntk_nartaku,1\nryo_(ryo_artys),1\nkuda_(okame_nin),4\nxianyu_fanshen_qian,1\nlagijay,1\nlucky_student_(chijimetaro),4\nfour_of_spades,0\nblu-ray_logo,0\nares_(hades),4\niv_(yu-gi-oh!),4\nfrancine_(animal_crossing),4\nka_keo,1\ntetsu_(kurotetsu1379),1\nsiebolds_demon,1\nmarutenmaruten,1\ndream_with_you_(love_live!),0\nhyodou_shizuku,4\nred_bodice,0\nririsya,4\ntorikaze_ito,1\nkokorowa-hime,4\nruru_raida,1\nsuccubus_adventurer_yuze,4\nwaiwai_mura,1\ninfinite_fleet,3\nmitogawawataru,1\netude_wa_ikkyoku_dake_(idolmaster),0\ns(mile)ing!_(idolmaster),0\nmochiii-s,1\nyukihiko_(hikosan),1\nshiriri_(cookie),4\nhuangshou_(the_legend_of_luoxiaohei),4\ndwarf_shaman,4\nkurony_(sirony),1\ncattleya_(lord_of_the_mysteries),4\nmarina_(splatoon)_(cosplay),0\npearl_(splatoon)_(cosplay),0\nai_(meira32373165),1\naether_(genshin_impact)_(cosplay),0\nchocorut,1\nzi_(murasaki0615),1\nmanaita_no_sake,1\nmahou_shoujo_madoka_magica_portable,3\nkunihiro_hajime_(cosplay),0\nmone_(14ri0000),1\nyuni_(seifuku-san),1\nchizuru_(ambient),1\nhamasin2424,1\nstar_ocean_blue_sphere,3\ngobuta_(tensei_shitara_slime_datta_ken),4\ntrue_rune,0\njkt_(sheltem),1\nmaria_(shiro_wa_kono_mahoutsukai),4\nshiver_(siva-hl),1\nbutte_(buttette),1\nsayukino,1\ngustav_klimt_(style),0\nmatsubara_kusuha,4\npeacemaker777,1\ntsukigane_maia,4\nsatsumai,1\nhaishima_isari,4\npochi_(popcooooorn),1\nsanzui,1\np-nut,1\nwrist_flexed,0\nblue_(jurassic_park),4\nkuma_(pripara),4\nkizuka_kanata,1\nsawashiro_yoru,4\nkonril,4\ntowa_(towa_no_jiyuuchou),1\ntsubaki_akira,4\nimmortan_joe,4\ntapping_foot,0\nsuo_(sunano),1\norion_(amnesia),4\nitogawa_mio,1\namphibian_eyes,0\ntobiko,1\nargama,4\nchankuro,1\nbakunyuu_hoken_onna_kyoushi,3\nshinomiya_yurika,4\nmazaki_kei,1\nusui_takumi,4\nkasodani_kyouko_(yamabiko),4\nred_garden,3\nkuroitsuki,1\npitbull,1\ncoo2co2,1\nbattlefield:_bad_company_2,3\ntottori,1\nyukiha_(kagaminomachi_no_kaguya),4\nu-ka_(fukei),1\namano,1\nniizuma_eiji,4\nratatouille,3\nsarin_(seoling),1\nyakku,1\ndrew_winchester,1\nnaniwadou,1\ncarmessi,1\ntakahashi_kenji,1\nkanatsu,1\nnemui_neko,1\nnisui_noki,1\nmimoton,1\nmichiko_verxina,4\nlacey_mallett,4\nouchu_(toustar),1\npotomithu,1\nninja_toes,0\nscratched,0\nlouise_fallsmyer,4\ntora_(gatling_cat),1\nakai_(kite),4\nhaiiro_(frabilovelove),1\nmidoro,1\nvalkyrie_(ufo_princess_valkyrie),4\ncomb_(suz),1\nyuri_(luupechi),4\nhishiishi_hisami,4\nyume_robo,1\nwendy_rasm_iknart,4\nicoico,1\nguardic_gaiden,3\nultimatemaverickx,1\nlily_(cafe_little_wish),4\ngreat_wall_of_china,0\nconose,1\naigis_(sennen_sensou_aigis),4\nnamikawa_rensuke,4\nkuro_(kuroi-nanika),1\nnanashi_(7th_exp),1\nsetta_(tokinon),1\nniccohudou,1\ngishin_anki,4\nkariu,1\nnauchi,1\nkiwicream09,1\nyorii_shuuichi,1\napr,1\ntarou_(kitsune_kitsune),1\niwase_aiko,4\nkong_ruili,4\nsakura_mayumi,4\naiba_mikoto,4\nseark,1\nwolf_(minecraft),4\nmichioka_airi,4\ntusika,1\nrokujou_chikage,4\nhatsukoi,3\nyuu_(pixiv769259),1\nxiezhua_(amyoy),1\nkuronuma_aoba,4\nrole_play,0\nhan_(ateez_hncrn),1\nberetta_model_38,0\ndalmatian_print,0\nkureto,1\nnataku39,1\nayatsuji_mia,1\nsoraaya_giima,1\nclose_(go!_princess_precure),4\ntoyo_(s9654431),1\nbirthday_card,0\nshush_(aquarion_evol),4\nikinari_happy_bell,3\ntenchi11,1\nfusehime_maaya,4\nkitoralsus,0\nnijigami_rin,1\nxleontan,1\ncuby_(dondoriansama),1\nnakagura_mato,4\ntenma_(xxx),1\nsmkd2,1\nyu_(13377),1\nhairan,1\njuujika,3\nlionet_soma,4\nkimi_no_nagori_wa_shizuka_ni_yurete,3\nvice_president_(danshi_koukousei),4\n75,1\nmignonette,1\nmogmahiru,1\ngalerie,1\nsamidareame,1\nicosahedron,0\nprema-ja,1\nooe_kintarou,4\nultraman_gaia_(series),3\nuss_northampton_(ca-26),4\nkirihara_akaya,4\navvo_(ekireikirei),1\nkarmatron,4\nghostrick_angel_of_mischief,4\ncomiket_80,3\nkoha_(midnight_pleasure),1\nrio_(e2759),1\nyui_(soranohako),1\nkoimekuri_clover,3\nshimotsuki_kitsune,1\nmashiro_blan_de_windbloom_(male),4\nazarea,1\nmisumi_tomoe,4\narudente,1\nlauqe,1\ntateyama,1\nrotya,1\npop_art,0\nhatomilkyt,1\naki4450,1\njen_bartel,1\nwwwe314,1\ncuriosity_core,4\nfullluv,1\ntomonori-kou,1\nscarlett_fairchild,4\nakimaru,1\nmidorikawa_yuhata,4\nmamiya_hasaki,4\nface_squeeze,0\npixiv_army,3\nesgkjj,1\nuruhara_ryuuku,1\nsetsu_(dream_c_club)_(cosplay),0\ngauu!?,1\nakinai_ari,1\njackson_guitars,0\nnanjouin_kiriko,4\nkyomono_(hjxop),1\nibuki_haruhi,1\nsenju_rion,1\navatar_state,0\nhaikichi,1\njebi,1\nvictor_hillshire,4\nrough_(riferio),1\nchikage_kazama,4\ndorayan,1\nhonoka_sisters,4\njajako,1\nflamberge_lo,1\nservati,1\ngrunhilde_serenity,4\nbeniyosweet009,1\nshirase_(azure),1\nikazu_cirno,4\numinekoritorubasuta-zu,1\nseitaiten_rivette,4\nsefi_raiado,4\ndefense_distributed_liberator,0\nyaiba_(show_by_rock!!),4\nitou_katsumi,1\nnihakusanren,1\nharukanaru_toki_no_naka_de_1,3\nhinoe_(harukanaru_3),4\nphil_ehart,4\nharuteru,1\nakatsuki_(mp31097),1\nasou_shina,4\nneo-venezia,0\nniwatori_(shimatori042),1\nhakkaku_shikimi,1\nfukkin_(hukkyunzzz),1\nnyorori_(tatsutaage),1\nchan_maya,1\nwaver_velvet_(cosplay),0\nshinazu_fujimi,4\njun_(summer)_(princess_connect!),4\ndopollsogno,1\nnyako_(utaneko31),1\nlotton,1\nsydney_opera_house,0\nmadlax_(character),4\nhatane_rona,4\nhinata_neru,1\nsmart_falcon_(twilight_triumph)_(umamusume),4\ntaisen_hot_gimmick_4ever,3\nr0c,1\nmizunoyu,1\niroto_89,1\nmgmgkyun,1\nleaf_girl,0\njito,1\nfurry_scale,0\nshimohigashi_kanna,1\nwatashi_ni_konya_ai_ni_kite_2,3\nkazuka,1\nhouri_shinji,1\nmacha,1\nichinose_kyou,4\nkoedo,1\ntakahashi_kazuki_(person),4\nmr._r_(2ch's_sailor_moon_thread),1\ntogenyan,4\nsansyodo,1\nangel_ring,3\nbunshuu,4\nhira_(daphne),1\nsuiseichu,1\nkuronon,1\nhouzuki_yuuno,4\nshinomiya_kouhei,1\nperidot68,1\nkanroji_nanami,4\nvalefor,4\nalice_(genshin_impact),4\nitaboon,1\nwon_(bokujou_monogatari),4\nfujimoto_setsuna,1\nmikomikko,1\ndarth_maul,4\numeshyu_sake,1\nzisu_(pokemon),4\nheavenly_gathering_of_clouds,3\nprotoss,4\nwestminster_palace,0\ndemise,4\nchinkyuu_koudai,4\nblackmorass,1\nloose_kneehigh,0\nsorairo_no_organ,3\nharada_hiroki,1\nquinny_il,1\nmibu_(1064493753),1\nwiping_blood,0\nd-sawa613,1\nre:d_cherish,3\narasa_(doko_tetora),4\nakatsuki_alut,4\ngiant_ojou-sama,3\ncondom_on_head,0\ndaichouhen_doraemon,3\nkuze_amane,4\n2t_(vmyz7342),1\nit's_morbin'_time_(meme),0\nmetal_gear_solid:_ground_zeroes,3\nkara_(acluf-0156),1\npairo,4\nito_taera,1\nryokuya,1\nbroken_neck,0\ntatsumi_neon,1\nmrw,1\nmimi_(mnemosyne),4\ntakechi_henpeita,4\nsenritsu,4\nshunka_tunacan,1\nmorinaga_milk,1\nconstantine-xii,1\nkigisu,1\nnaki_(otokuyou),4\nsi_kongqi_zhuye,1\nsadakata_kikuko,1\nsaeki_kira,4\nazeyma,4\nalstroemeria_(flower_knight_girl),4\ndogansa,1\nwolla,1\nred_pasties,0\nhazuki_chika,4\nmizuki_(lvo0x0ovl),1\ntall_male,0\nokita_j._souji_(second_ascension)_(fate),4\nedmun,1\nvanessa_gillings,1\nhair_length_switch,0\nzzz_zhi_he,1\nstar_guardian_sona,4\ndark_serge_(chrono_cross),4\nkin'usagi,1\ntoudou_aoi,4\ndr.kimochi,1\naxicoi,1\nsombernight,1\nonigami_hazuki,4\nmantle_clock,0\nhighleg_springsuit,0\nliu_xiu_(fate/empire_of_dirt),4\nmadolche_puddingcess,4\nvaginal_calligraphy,0\nandromeda_(uchuu_senkan_yamato),4\nkumoi_sora,1\nyuishironeko,1\naleister_(yu-gi-oh!),4\nturning_red,3\nvlad_charlie_staz,4\nshinomiya_natsuki_(mahjong_soul),4\ntbt,1\ntyphon_(re:zero),4\ncameron_(pawoo),1\nusada_o,1\nkakineko,1\nrosetta_(punishing:_gray_raven),4\napple_(inmu),0\nisanatori,1\nhiiragi_kagami_(cosplay),0\nankoku_inu_shougun,1\nmusicccc,1\ngara_(qbeuxvii22),1\ncarmen_kiruya,1\nghost_(mausuman34),1\nrexx,4\nhinata_(fukuoka_katsumi),4\nakane_(fukuoka_katsumi),4\natori_art,1\ngodou_tsugumi,4\nbushinyan,4\npikmin,3\nminazuki_hotaru_(amatsutsumi),4\nmagnum_shooter_40x,0\nxiao_li_yu_li_xian_ji,3\nreki_uraaka,1\nlege_bushi_shiwu,1\nslayer_(tera_online),4\nlicorice_nelson,4\nsorcerer_(tera_online),4\nshishio_(onmyoji),4\nmakoto-chan_(kanabun),4\nmadame_shirley,4\nangelic_serenade_art_collection,3\nminaret,0\nvat,0\nryman's_club,3\ntang_wutong_tongren_she,1\ndanzir,1\nrunana_(dq10),4\ntaki_(tkai40),1\nzephyr_(end_of_eternity),4\nyamashiro_(meta)_(azur_lane),4\nloss_(meme),0\nproject_qt,3\nwaretaka,1\nangel_exercise,0\ngrey_tunic,0\nstarr,4\nmahoutsukai_reimeiki,3\nlittle_cheshire_(azur_lane),4\ngreensvale_no_mori_no_naka,3\nmouri_shin,4\nhashiba_touma,4\nguide,0\nmeril_(odin_sphere),4\nshanhai_jing_hua,3\nyamaguchi_shinji,1\nj2m_raiden,0\nagua-verde,1\nkingdom_hearts_iv,3\n1509virgoart,1\nrob_110101101,1\nyuu_yuu910,1\ni3,1\npeppy_hare,4\numbrakinesis,0\ntatamaru_(vtuber),4\nyangmie_mieyi,1\nyssring_leavtruth,4\ntabata_yui,4\nryuukishi07,1\ndigital_stars,3\neggmaam,4\nganbariino,1\nsouma_shigure,4\nginga_senpuu_braiger,3\nnakamura_asako,4\nkagami_mira,4\nuyuu_(hirameki),1\nsatella,4\npaw_wand,0\nbunsai,1\nsaya_kuroha,1\nkanou_nagisa,4\nnarayamanta,1\nmangaka,0\ndrill_jiru,1\nhatsuka,1\nsombre_slahc,1\nhosaka,4\nrobbilgigih,1\nasuka_rkgk,1\nskullomania,4\nrumi_(rumigawa31),1\ntype_100_(gunslinger_miko)_(girls'_frontline),4\nmaatan,1\nthemed_playing_card,0\ndogdogwanwan,1\nyashima_otome,4\njontake,1\nmika_setilan,4\nminna_de_nyan_nyan,3\nminnhsg,1\nparco_1315,1\nhaneuzu_miuneru,4\nka_du,1\nkyoichi_(active_agent)_(live_a_hero),4\nberoring,1\nkishimoto_seiji,1\nyubrich,1\nventilation_fan,0\na_dog_of_flanders,3\nian_(laosmut),4\nnaluse_flow,1\nnami_(one_piece)_(cosplay),0\nhatsuitsumo,1\nmonarch_(amalee),4\nminami_itsuki,4\nenterprise_(azur_lane)_(cosplay),0\ngaryuu,4\nshigure_kai_ni_(kancolle)_(cosplay),0\nolin_(nienxddd),1\nsoma443,1\njiren,4\nooranokohaku,1\ntu_(to_sse),1\nyoyo_(550098),1\nroningasa,0\naq_arium,3\nchoisd4516,1\nnyontase,1\nomy-chan,1\nmable,1\nmurasaki_gin'ya,1\nakai_koudan_zillion,3\ntsugihagi_(chainsaw_man),4\ntobita_nikiichi,1\neiji_(tfkn2723),1\nkii_(fys-a),1\nweekender_girl_(vocaloid),3\ndog_request,5\nkinzou_(2828),1\nanpsart,1\nuru_(uru0301),1\natamagaitai,1\nteroo,1\narthur_(techno_smith),4\nlyu,1\nnanakamado,1\nlily_linglan,4\nnatsumi_yuu,1\nlifeff,4\nsawamura_kazuki,4\nninja_hattori-kun,3\nhoujou_yuri,4\nnezumi_(tuboshu2013),1\nkakure_animani,1\ntenkey2022,1\nhundredburger,1\nkamoromance614,1\nuuronhai,1\njnsghsi,1\nsakura_(kasupi),1\nebony_devil,4\n14mango,1\nkenshih,1\nass_expansion,0\nbarbapapa,3\ntraptrix_sera,4\nnomura_tetsuya_(style),0\nkagami_(kagami),1\nhiro_satochi,1\nnightmare_x_vampire,3\nushio_sumi,4\nvinci_v7,1\nharada_haruki,1\norlha_(chrono_cross),4\nzoom_chat,0\nyomine_miharu,4\ncandy_rimo,1\nyuna_(tarakanovich),4\ndeumosden,1\ncherry_pie,0\nsevilbarra,4\nkuntama11,1\nkanase_ito,4\nsenamashiro,1\nkiki_(little_twin_stars),4\nsidelocks_onee-san_(shinjiro),4\nrelica_(porforever),4\nsally_chang,1\ntonykun,1\nsumire_hina_official,3\nbusan_no_hamaguchi,1\ngammoth_(armor),4\nyui081,1\nsuzaki_airu,4\nmoon_gundam_(mobile_suit),4\nflatamany,1\n4chi,1\njapanese_castle,0\ngalactus,4\nenemy_tachi,4\nnatsukawa_kuroba,4\nrapan,1\ngolf_bag,0\nmukoda_saeko,4\nsheaf,0\nfur-trimmed_bandeau,0\nmichael_(granblue_fantasy),4\nspiny,4\nkoopa_paratroopa,4\nzhanggong,1\nshiogochi,1\nmakimakiringo50,1\nnakano_yamato,4\noreo_kirisame,1\nyasawa_kichi,1\ntv_tokyo,3\nultrakill,3\nfirecracker_jinx,4\nkinakomochi_(testament05),1\nmizumi_kamijo,1\npence,4\nmila_(smc),4\nnoloty_malche,4\nhubble_(girls'_frontline_nc),4\nkuze_kyouka,4\nardent_(azur_lane),4\nkogoe_(alphabetgir1s),1\ncreeper_(gametime),1\ngerbera_straight,0\ncensoring_text,0\ngomoku_(gomoku418),1\nsumire_hina,4\nrorikon_shinshi,1\nmutsu_aya,1\ndreaminerryday,1\nyachan,1\ndead_or_alive_4,3\ncure_flora_(mode_elegant),4\nfemale_protagonist_(live_a_hero),4\nmiko_hxh,1\ncell_junior,4\ns_sho_mkrn,1\npingu,4\nlace-trimmed_cuffs,0\nmashymre_cello,4\nwalter_kim,1\nmonchi_(kashiwa2519),1\nceroliz,1\nsone_(cortisone),1\nkurosakiinu,1\narlong,4\narachnart,1\njyu_gorilla,1\nna2cl,1\nutm_iota,1\neri_(vtuber),4\nmago_(maagomago),1\numou_(user_xxhp7583),1\nshen_jiu,1\nayakura_azuma,1\nezu_(e104mjd),1\nyami_kaname,4\ndanraku,1\ntechpriest,4\nkong_ting,1\nniko_kusa,1\nzest_(watts99),1\ncero421,1\nnelson_(luna_witch)_(azur_lane),4\ninternational_space_station,0\nnarusekei,1\nmiyakawa_hinata,4\norange_bracelet,0\ntail_scrunchie,0\npixelpulp,1\npasteljam,1\nbeer_glass,0\ndalek,4\nkitty_pryde,4\nhamuten_(hmltzero),1\nevelyn_celebrian,4\nyoture23,1\nqueen_(deltarune),4\nnimbus_goldbrum,1\nowner1657,1\njuaggu,4\ninari_iroha,4\nwu_chang,4\nvf-1d,4\nwa.,1\ntherese_alexanderite,4\nblue_flag,0\nasahi_(lvl),4\nnaomi_gumbs_(hanamimi),1\nkazami_ryou,4\nkamiyama_izumi,1\nshiba_ten,1\nmashita_(kuzsat),1\nkashenori,1\ntougou_haruka,4\nnakazawa_kazuto,1\nsayama_rika,4\ntime_stranger_kyoko,3\nalola_mother,4\nparadiso_guardian,3\nn_aaa01,1\nniku_soukyuu,1\nnettian51,1\nminor_(minor2730),1\nhaganemaru,1\nkiracchu_(pri_chan),4\ncarafe,0\nsawarame,1\nkirr_rr,1\nyoshino_yamato,1\nmomiji_(00mmj00),1\nspinach,0\nnagai_riku,1\noguchi_magami,4\nbonnggu223,1\nlontong,1\nneville_longbottom,4\nsky_feather,4\nunadon_(food),0\nyuchae,1\nap5ry,1\nloveloveknight,1\nleura_(suterii),4\nsktre12,1\nkiyoo0410,1\nmylene_hoffman,4\nmebu,1\nxio_derecha,4\nstunt,0\n3pm,1\nlaughing_girls_(meme),0\ntoombo12,1\nhibimaru,1\nking_crimson,3\ngulliver's_travels,3\nharuwo,1\nyuri_lowell_(improvisionist),4\nkoma_nezumi,1\nshibainutank,1\nreficul,4\nwakkigen,1\nsakamoto_yuuji,4\ntentacles_tactics,3\nshusiki,1\nhead_smash,0\ntoy_box,0\nyazawa_owl,1\ngeneral_(module),0\nkurodouji,4\npp-2000,0\nillusion_soft,3\ngirls-potion,1\nwinner's_platform,0\nkurokawa_usagi,4\nnyarlathotep_(housamo),4\nuri_(ut111),1\nif959u,1\nli_yang,1\nroy_mustang_(cosplay),0\nmiporinrpg,1\nkawasemi_alter,1\nsuzumi_(blue_archive),4\ntakashi_(nougyou),1\njun_(30409972),1\nyenm,1\nyagih,1\nsakamoto_(ojiojiojisanda),1\nshining_glitter_cookie,4\ninadera_rantarou,4\nnaraku_2,3\ninfinity_gems,0\nkanou_ryouko,4\nhiryuu_(kancolle)_(cosplay),0\nayana_(liberty_manurung),4\nyoukai_ningen_bem,3\nguinness_(beer),0\nshared_headphones,0\nbadapple1003,1\nye_(pixiv4862539),1\ncameroon_(hetalia),4\nconcordia_(pokemon),4\ntoriumi_isako,4\nna_greentea0302,1\nxii_yashizhongzhan,1\nmogami_kouji,1\nfav_faris,1\nnengorogoro,1\nspinosaurus,0\nbrave_story,3\nmoriyama_natsuki,4\nkiravera8,1\nlucrecia_crescent,4\nkutsuno_kanade,4\naid!,1\nfujii_rino,1\nmargit_hartmann,4\njianli,1\ninuyama_konan,1\nkosame_(iso),1\nlaffey_(sleep_to_clean_another_day)_(azur_lane),4\ncirnocchi,1\nkabutomushi_s,1\nhumiaojun,1\ntuyu_(band),3\nanglerfish_girl,0\nwaga_seishun_no_arcadia,3\ndinsoreprong64,1\nyugi_tsukasa,4\noubachiago,1\nyashirogi_suzuna,1\nagano_(kancolle)_(cosplay),0\nmelreon,1\n5rwpvc,1\nc-93_(girls'_frontline),4\nt91_(girls'_frontline),4\ncure_heart_(parthenon_mode),4\naiaipoponta0605,1\ntakeshi_kai,1\naqua_collar,0\noribe_kokoro,4\nsloshing_machine_(splatoon),0\nyamagara_tasuku,1\nsiegfried_kaslana,4\ntsu_ki2,1\nmarimoriah,1\nccru,1\nmiya_(counter:side),4\nholding_paw,0\nkamimura_maika,4\nlien_neville,4\njoshirah,1\nbune_poster,1\nbud_(lom),4\nonija,4\naoi_(mechanic)_(princess_connect!),4\nholy_water,0\npipe_(decadence),4\ngirphan_(ishiyumi),4\nspindle,0\ngelbooru-tan,4\nnachos,0\nprometheus_(mega_man),4\nkurorook,1\nparted_grey_nun_(diva),4\nbolatu_zhi_ji,1\ntayutau0a0,1\ntenuwi,1\nkouki_(chancegak),1\nyamayama3246,1\nhalo:_combat_evolved,3\nshineka,1\nunosaki2,1\nnyorotta,1\ntreble_(mega_man),4\nsoratobu_zippo,1\nmachikado,1\nhayamafair,1\nrussian_empire,0\nshibanui,1\nendo_(takolegs),1\nchin_gentsai,4\ntarunyan,1\nnekuro_(tamakooji),1\n364_holidays,1\nsawada_yukio_(style),0\nyuu_(yuu_yu),1\nredmoons,1\nnip_sakazuki,1\nband_yarouze!,3\nlace_veil,0\nkurosara,1\nshima_rin_(cosplay),0\nochi_ripca,4\nmark_nicht,4\nsobasakuhin,1\nwatanabe_hiroaki,1\ntamazusa,1\nnoir_(noworld),4\nnaga_siren_(dota),4\nsirowanwan,1\nconverse_(warship_girls_r),4\ny-wing,0\nmokorobi,1\nnamahoshi-chan,4\nyaya_(tempering),1\nqertame,1\njandara_rin,1\ngigle,1\nrori82li,1\nlancer_(worudrleh1),1\n1z1art,1\ngoom_(goomyparty),1\nthorkell,4\nhimewe,1\nhong_3740,1\nkui_ryouko,1\nmanami_(aph-23),1\nmacross_quarter,4\nwet_apron,0\nproject_cold,3\nedel_meitner,4\ngoetz_von_berlichingen,4\nshikaemon,1\nmiying_(13975192760),1\nsparrowafro,1\nbuki56,1\ncarabinieri,0\nyasai_sekai,1\nosanai_satoru,1\ndandalian,1\njessica_(feguimel),4\njiang1274,1\nfumi_fumi_(7837224),1\nena_(series),3\nkanata_(kanakanatn),1\nteletubbies,3\nhusimineko,1\n41cm_twin_gun_mount,4\nnemugiko,1\ndionysus_(hades),4\nadd-on_(off),4\ntype_3_shell,4\nalto_krauetta,4\nanmoto_shiika,4\nnabeyu,1\ntousen_kaname,4\nsegen_(segen311),1\nkuromai,1\nsoha_(littlesummerpe),1\nnana73,1\nbasketweave,0\nnonaginta_novem,1\noctahedron,0\nsawaki_momoe,4\nsapphrixrain,1\namamiya_mimori,4\nootorii_asuka,4\nmeru_corone,1\nstariwei,1\nmemeno_kei,1\nyubiwa_high_school_uniform,0\nyouyoukai,1\nyimiao,1\nkamishiro_kurea,4\nmaou_(maoyuu)_(cosplay),0\nbyakuya_kaien,1\nhiyashiru,1\npalkia_(origin),4\nninoji,1\nsachi_(160332),1\nsigit_martinus,4\nsuna_rintarou,4\nushiro_kana,4\nmarie_itami,4\nemeraudolupus,1\nsei_(cafe-chan_to_break_time),4\nmrpk,1\nkoishikawa_kohane,4\nyume_sai,1\nwufaxianshi_cnd,1\ngulping,0\nfree_knight_(elsword),4\nro_(pixiv34009774),1\njacket_over_head,0\nlankuchashuangjielong,1\nfirefight,0\nzon-leesean,1\nazumi_(mocha),1\nyoux,1\nkahill,1\naruke0,1\nkaenken_rekka,0\nsaihara_witty_(wittyhu),4\neupho-kun,4\nyi_gesang,1\nphayla_(mr_december206),4\nkomiki2gou,1\nfushe,1\nmenoo_(meno1921),1\namber_(genshin_impact)_(cosplay),0\nyusa_maruboro,1\nkara_(detroit),4\nerik_(jasdavi),4\nboko_dream,1\naz_(zero_glvimayhop),1\nequality_taira,1\ntohogaeru,1\nliba_(leo8d),1\nspeedloader,0\nnaze_turbine,4\nsonia_gran,4\nswipe,0\nmega_aerodactyl,4\nze_ro_saiji,1\nhiro_chikyuujin,1\neryu,1\nkellylee,1\nyawl,1\nuboaa_(uhhohho),1\njav,5\nhamon,0\nneru_(jojo86080879),1\nsosei,1\nirisu_haniwa,1\naiza-ku,1\nyomizu,1\narming_doublet,0\nfellming,1\nbertha_bernstein,4\nkei_(dirty_pair_novels),4\ncarrot_cake,0\nbeaugilliam,1\nwittyhu_(amgeltiga),1\nrabihiko,1\narchimbek,1\nsupply_depot_summer_princess,4\natusix,1\nkettlebell,0\nkarasumi_(sumizono),1\ndanganronpa_2.5:_nagito_komaeda_and_the_world_vanquisher,3\nmega-chan,4\nwabun,1\nbuddy_(lisa),4\ntaigei_(kancolle)_(cosplay),0\norionstar,1\nnene_hampdon,4\nwo_cao_xiao,1\ntouching_another's_back,0\ntailzkim,1\nhiiragi_ayako,4\nwyc_zz,1\nokada_maiko,1\nharuki_(nirvana),1\nblue_oak_(cosplay),0\nkyuuri_no_tsukemono,1\nmr._compress,4\nstreaming-chan,4\ntouchika,1\nnakazato_hikari,4\nruslorc,1\nlight_blonde_haired_girl_(michihasu),4\nfirez,1\nalamander,1\nkouzuki_luna,4\nki-61_hien,0\nstarish,0\ntumai_(touue11),1\nrocb,1\nquibi-chan,4\nnohohon_pictures,1\nnekotarou_(nktr299),1\nhair_tie_kappa,4\nyui_(92935941),1\ntomatomagica,1\nhokage,0\ngweni,1\nkoyuki_(blue_archive),4\nhiyoko_biimu,1\nguman_project,1\nyud79317724,1\ndante_zogratis,4\nkazumiya_akira,1\nballoom_17,1\nokb329,1\nnakaikane,1\na&w,0\nhwan_(verypoor),1\nmega_latios,4\nponzu_tas,1\nzumisan3,1\nulforcevdramon,4\nama_koi_syrups,3\nblue_oni_(chijimetaro),4\njingei_(kancolle)_(cosplay),0\nusamero,1\nlycsakd,1\ncompile_heart,3\nnanoda002_(saber427),1\nlabia_stretching,0\nkumaji_(kumazidayo),1\nkazuki_(ka3du6ki),1\nbeer_hat,0\narrodes_(lord_of_the_mysteries),4\nstudy_steady,3\nsam_(n1rv_ann-a),4\nkiyoro2,1\nbeefusteku,1\npenis_on_tongue,0\nringo_no_tart,1\nmode-pesu,1\nyuri_(freedom),1\nmakoto_(viper),4\nshinigami_a,1\nlydie_de_le_fehver,4\nkebin,1\nponponpon,3\nningen_plamo,1\ngmork,1\nm_spark,1\nnanowise,1\npatty_the_phantom_thief,4\nsnr_snr,1\njewelpet,3\nlaluna,1\nkeith_wayne,4\nikeuchi,1\nmoegi_yuu,1\nsnare,0\nsolar_flare,0\nnaodx,1\nmisa_brigitta_cristelis,4\nkujou_ria,4\nplatinum_wind,3\nharuka_(rehabili_byoutou_24-toki),4\nrehabili_byoutou_24-toki,3\nnousjadeul-ger,4\ndenki_(digi6598),1\nkarakasamatsu_toogo,1\nnishinogi,1\nwaterpaint,0\ntokyo_magnitude_8.0,3\ntenryou_ikki,4\nyanon,1\nako_(nedm),1\n15_bishoujo_hyouryuuki,3\nminami_shinju,1\ninatsuki_nanami,4\nvalter,4\ncaroll_kirkland,4\nnishio,1\ndownagi,1\nshamanic_princess,3\nrtmg,1\nkazamine_(stecca),1\ndarkzmonsty,1\ntakitsubo,1\npulcinella_(genshin_impact),4\nhusky_girl_(konoshige_(ryuun)),4\naosaki,1\nmaria_owens,4\nnenaiko_dare_da,3\ntennen_shiori,1\nnek,1\nglenn_(600224),1\nsicx_lives,3\nrikaon,1\ngavin007,1\nhyasumasa,1\nssgt-lulz,1\nchonmage_daikon,1\ntan_tan_tanuki,1\nkimera,1\nkantachi,1\nparadichlorobenzene_(vocaloid),3\nkichikuouji,1\nchisaki_(sorajik),1\nshiroi_kumo,4\nbike-chan,4\nprimrose,1\nscout_(granado_espada),4\nwizard_(granado_espada),4\nlost_planet,3\nusutsuchi_kine,1\nhidaka_megumi,4\narai_kazuki,1\nmika_vas,1\nyui_(puni_puni_handmaid),4\nhana_(yui),1\nprometheus_(ship),4\njyun_xix,1\nkaijin_reijou,3\ndoraski,1\nseizaverus,4\ntakeguchi_kouhei,1\nminior_(indigo_core),4\nkotake_(tuvaru),1\nleaf_pile,0\njane_xiao,1\nfinellen,1\nkakanashi1,1\nsenke_shinobu,4\nmitsuki_awano,4\nno_u-turn_sign,0\nhairanworkshop,1\nwatanai72,1\nbohi_yamage,1\ntakanashi_sei,4\ncomicstudio,0\nstark_jegan,4\nsignal,0\norangegoon,1\nfukuroi_mitsuru,4\nliyom,1\nakimiya_yamiku,1\nfelielle,1\nkeppi,4\ntamakoshi_horiyuki,1\nas_(kamen_rider_01),4\ndantera_rina,4\ncjyoung,1\negao_(sikorsky),1\nbaishi_(genshin_impact),4\ndixneuf,1\nmk48,0\nballoon_fight,3\nrinne_sharingan,0\nrihyaruto_bafuman,1\nconjoh,1\nfumezu1,1\nsanada_hideki,1\nsahli_lao,4\ncurrymeshi,0\ntamakingx422x,1\ntian115,1\nkominato_ryousuke,4\nieka,1\nheadset_removed,0\neye_piercing,0\ngina_chacon,1\nassembly_line,0\nhora_maru_mate,1\nrashoujin_mizuki,4\npotbelly_stove,0\nmaria_grace_fleed,4\ngurafuru,1\nciel_soleil,4\nkirara_mimi,4\nshirayuki_maihime,4\nchikamichi_(ssssgirl),1\npnhikaru,1\nmellow,1\nuzurara,1\nmare_(pixiv),1\nfenderu,1\naiba_nanako,4\nst.neet,1\nk1ruse,1\nsettsuno_kirimaru,4\nootani_ikue,4\nsasahara_rena,1\nkatou_otome,4\nuwasa_no_sana,4\nboma_(ghost_in_the_shell),4\nkaminagi_loop,1\namairo_chocolata,3\nviola_guines,4\nmiyamoto_rizu,1\namamomo,1\nyonayo,1\nradiation,0\nkotoko_(oxxxo),1\nknights_in_the_nightmare,3\nkouenji_madoka,4\nhikari_natsumi,4\nseme_&_mayo,1\nprincess_nautilus,4\nyajou_hirarin,1\nbessend,1\nray=out,3\nbabyfoxcc,1\nkonoha_kuzunoki,1\nkousonsan,4\nuya,1\nkmgk,1\nzbd60724,1\nlove_2_quad,3\nyajima_index,1\npearl_jam_(stand),4\ntora_kaede,1\numehara_masayoshi,4\nnokko,1\no0u0m,1\nbacchikoi!,3\nkomashiro,1\ncharles_xavier,4\nsethan_(stand),4\ncherrose,1\nrituiti,1\nmakita,1\nyoshizawa_tomoaki,1\nnarita,1\ngoogle_maps,0\ncard_ejector,4\nkuga_jun,4\naobara,1\nplant_uezi,1\nsora-ya_(uya_kyo),1\n00zumou,1\nmenruiko,1\ngothic_delusion,3\nzwei_2,3\njinno_nagi,4\nhayakawa_misaki,4\ntick_jefferson,4\n161,1\nareri,1\nkinari,1\ntama_(happiness),4\ns580,1\nfairly_life,3\namano_ginji,4\nnakamasomo,1\nkanzaki_hayato,4\nnokiri,1\nnatsuki_kiyohito,1\nmarina_wulfstan,4\nkaree_oshou,1\nkurayama_aya,4\nuys_els_ito_egum_ed_gorgon,4\nbankotsu_(inuyasha),4\njakotsu_(inuyasha),4\npigmask,4\ngarland_(megazone_23),4\ndeath_(castlevania),4\npaintball,0\nsuiya,1\nkate_sai,1\nhoutou_yeah_(meme),0\nparashima_tenko,1\neltole,1\namura_(artist),1\nqueen_elizabeth_(the_queen's_ball)_(azur_lane),4\nmee,1\nadashino_benio,4\nsomei_yoshinori,1\nsorax2112,1\nshinonome_moegi,1\nliera_scharnhorst,4\nduel_gundam,4\ngeneral_vamp,4\njinja_natsume,4\nichiban_shibori,1\nroad9ame,1\nakaimato,1\nkamui_gakupo_(cosplay),0\nring_suzune,4\noishii_garriel,1\nkeiryu,1\nsuzumura_azami,4\nhasegawa_takuto,4\nmurasaki-no,1\nterumax,1\nmikaze_takashi,1\ngakuen_saimin_reido,3\nhimeno_ame,1\niwamasama,1\ndentures,0\njorogumo_(neko_musume_michikusa_nikki),4\nmasutaa,1\nichi_(capsule29),1\ndungeon_crusaderz,3\nburiki_neko,1\nichidou_rei,4\nkanriken,1\nfeconf,1\nshikuchin,1\ngm_custom,4\nmnnnya,1\nb-saku,1\nace_combat_x,3\nking_(doukutsu_monogatari),4\nkl-chan,4\nsibata,1\nafternoon_(magazine),3\nyukifune,1\ntachibana_yukiji,1\npee_leak,0\nru_(xremotex),1\nmonster_hunter_portable_2nd,3\nfuki_raito,1\nmint_(pokemon),4\nblue_rose_(tiger_&_bunny)_(cosplay),0\nwinch,0\nhata_(transistor_baby),1\nramen_daisuki_koizumi-san,3\nkatteni_kaizou,3\naraime_yasuri,4\nincognitymous,1\nmoti_(m0cch1m0),1\ninriganan,1\nhellween,1\nhitsujimura_saki,1\ncanvas_3,3\nyamada_konayuki,1\nmookyuu9,1\npurple_software,3\nles_miserables,3\nnanashi_(stranger),4\ntakami_itsuki,4\nsuzumiya_botan,1\nishitsuki_merokoa,1\nclaude_claudel,4\nsakamoto,4\nmikanbako_(rakkyasato),1\ndaa!_daa!_daa!,3\ndekarunanshi_mohoro_byoudouin_gachiko_(takesinobu),4\nkbs_gk,1\nbarasoto_momo,4\nkusunoki_manami,4\nsukya,1\njane_(king's_raid),4\nbreast_pinch,0\ningrid_(seiken_no_faeries),4\nzhang_liao,4\nblaze_wu,1\nmikoshiba_rio,4\narlia,4\nr.aka.,1\nmohi_(neku_re),1\nehou,0\nsigmathefox,1\numechiui,1\namachi_osamu,1\nkusunoki_akane,4\nyamamoto_isoroku_(rance),4\nslut_shirt,0\nkarin_(rune_factory),4\neida@renshuuchuu,1\nstargeyser,1\nhirano_kei,1\nkitarow,1\ncat_shit_one,3\nminakami_misao,4\nzero1,1\nkamen_rider_scissors,4\nkazue,1\nkorita,1\nanother_agito,4\nisami_jun,1\nanko_(nanzo),1\nimamiya,1\nkoukoku_no_shugosha,3\novos,1\nsen_(hitsugi_katsugi_no_kuro),4\nmonoelegy,1\nharara,1\nkirin_(nijiura_maid),4\ntsucky,1\nmugen_shinshi,3\nthe_texas_chainsaw_massacre,3\nforest_of_pixiv,3\nagi_(kankarado),1\nizumi_(sa_na_ra_ra),1\ntakaba_momo,1\ne-n,1\nsutocking,1\nsakuma_reiko,4\nrivalun_(cosplay),0\nhosiiro,1\nnon-non,4\nriki_(saga),4\nmoursho,1\ntomw,1\nmakokujira,1\nxochitl,4\nnikaidou_yuri,4\nanesaki_dynamic,1\nshiro96,1\notoha_(karas),4\npokkuti,1\nwaxwa,1\nronce,1\nvector_(artist),1\nyuu_(genkai77),1\njakushou_archer,1\nasagiri_luna,4\nsing_shuixing,1\nkyon_feulion,4\ngrim_tales_from_down_below,3\nmilleuda_folles,4\ndaimon_sayuri,4\nfinal_fight_i,3\ndee_dee,4\njiang_wei,4\nfujimura,1\ntenkuuji_najimi,4\nhetano_yoko_sukii,1\ncocoroten,1\nxine_espio,4\nkonkon,1\nkatayudetamago,1\nmion_orz,1\nscratchmen_apoo,4\nmanose,1\nsetamo_map,1\nuchuu_no_kishi_tekkaman,3\nredlark,1\nhoshi_sukii,1\nmashimaro,1\ngundam_heavyarms,4\nsato_masaki,1\nkurobara,1\nfujimura_hinami,1\nshu_(suikoden),4\nseed_(suikoden),4\nsuehiro_madoka,4\nkeroyon-jima,1\nfrederica_bernkastel_(cosplay),0\nleona_(pixiv),1\nmoguri_m,1\nmizuhiki,0\nffr-41mr,4\nshonensan,1\nkyoka_(angel_blade),4\nyadamon,3\nleonora,4\nshirotsugh_lhadatt,4\nsendou_kaya,4\nkami_koppu,1\nrikky,1\neureka_iris,4\nakatsuki_byakuya,1\ntakanashi_kou,1\ndouble_neck_guitar,0\nyou_yude,1\nstjepan_sejic,1\ngomimushi,1\nsakura_kaedeko,4\nroper,4\nnene_rora,4\nanimal_abuse,0\nnanamako,1\nmaxwindy,1\nmiyoshi_yuiko,4\nnikolai_plisetsky,4\nshannon_(okiba_ga_nai!),4\nmayu_(nekogami_yaoyorozu),4\nshiramomo,1\nikinari_anata_ni_koishiteiru,3\ngenki_zenkai_day!_day!_day!,0\nkuro_imu,1\ncomic_0ex,3\nkaiba_(character),4\nnise_kyouso,3\nqp,4\nharukoi_otome_~otome_no_sono_de_gokigenyou~,3\nyuusha,1\neiga_danjuurou,4\nserin,1\nyagami_yuu,4\nsuzune_merveillex,4\nusi,1\nyukiuta,3\nlittle_my,4\nmarie_(moyashimon),4\nyumenosuke,1\ntiara_(shamanic_princess),4\nameri,1\npantsuga,1\nli_shuhua,4\njuni_argiano,4\nanna_lynn,1\nstecky,1\nmagical_heart_kokoro-chan,3\nshun'en_(homura0620alicia),1\nhyuuga_minori,4\nsatanick,4\nmizuiro_sanshou,1\nnearoul_kishi,1\nsakayan,1\nrocma_(ice_scream),4\nrupa,1\nkusayusaai,1\noushi,1\nyurushite_ochinchin_kyouso,1\n32_(mayama),1\nogata_sai,1\nshirotsume_kusa_(sayern),1\ngmp,4\nmoocharuto,1\nyoshinome,1\nkamakiri,1\nake_(harlequin),1\nshinooka_misa,4\nearth_(element),0\nrena_fraulain,4\nkutsuna_ayumu,1\nkuta_(maka),1\nhako_(swimjelly),1\nkomeko5,1\nafura_mann,4\nkumapan,1\nibara_muan,4\nutatane,1\nliam_lunettes,4\nhoippu,1\nshii_(nagian),4\nkanwa,1\nred_army,0\nshuu_(cencoroll),4\nhnt,1\nleo_hariyoru,1\nmarshall_law,4\nhistamine_c,1\nutacoco,1\nmaruko,1\ncr-s01,4\namami_mikage,4\ncotton_(game),3\nliquid_ocelot,4\nmercuria,3\nfujimiya_chisa,4\nriannon,4\nmajipuri,3\nakibablog,3\nsaga_bergman,4\nblackalpha,1\nfragments_blue,3\ntsukishima_ruriko,4\nhayashibara_hikari,1\nakasaka_saki,4\nguzuta,4\nragnarok_the_animation,3\nbokuseiinmonzeninari_sakura,4\ntia_noto_yoko,4\npeppo,4\nkouzuki_mio,4\nnahashi_lucia,4\nsuzumiya_kazuki,1\nchocomark,1\naoya_minako,1\nvaria,0\ngarandoh,1\ngeobreeders,3\ntakenaka_hisato,1\ntytti_norback,4\nhayakawa_saki,4\nhimemiya_arisu,4\noutlanders,3\noikawa_hazuki,4\nsawaguchi_daichi,4\nsanada_setsuko,4\nkirari_chito,1\nrape!_rape!_rape!,3\nlap_dance,0\nr_85,1\ntwirling_panties,0\nmihli_aliapoh,4\nmodelers,3\nkate_bush,4\nsakurai_yuyu,1\nbongun,4\nkahm,4\nkatou_yasuhisa,1\nlombax,0\nposokichi,4\nshiina_kasumi,4\nisami,1\nyamaoka_sawara,1\npe-tan,1\neriko_(chika),1\nover_9000_(meme),0\nstar_nemesis_fiddlesticks,4\nkemono_(fukanasumi),1\npumpkinnn,1\nsuzuzono_sai,4\nunidon_48,1\nmikeneko_nanashi,4\ndirty_pair_(novels),3\nkarindi_(pixiv_fantasia),4\naitsuki_nakuru,4\nmanagi,1\nkawaizumi_pome,1\ntsukimizaka_kiriha,4\nnero_claudius_(rose_vacances)_(fate),4\nayaka_uehara,4\nchiharu_kazuki,4\nhanako_nishizaki,4\nhz_ebfry,1\nlala_(little_twin_stars),4\nlizard_priest_(goblin_slayer!),4\ndialga_(origin),4\nmamemaru_(shiny_colors),4\nkjou,1\nnuclear_reactor,0\ncheria_barnes_(campus_cutie),4\nyoshikawa_maika,4\nojarumaru,3\nnagato_tamakichi,1\nzer0,4\nmaplo,1\nnipa_(graf_xsr900),1\n4138,1\nmacha_3939,1\ninuzumi_shibahiko,4\nkenneos,1\ntori_no_3046,1\namuria,4\ngalarian_darmanitan_(standard),4\nbunsuke,1\nooyuki,1\ntim86231,1\nmihanada_kasumi,1\nnero_claudius_(return_match)_(fate),4\nshiunga315,1\nellene_sylvana,4\nrd_(ardeee),1\nkuroshima_kurishiro_(muyi24108414),1\ngoogle_chrome_(merryweather),4\nazrael_(granblue_fantasy),4\ntoritoma_(sweetandsour),1\nkatou_jun,1\ntita_mu_koshigaya,4\nash_(shikkoku_no_tsubasa),1\nw_wonjin,1\nderlyt,1\nbrown_hair_maid_(mdf_an),4\ngongxiao_zao,1\nduke_nukem_3d,3\nshirayuri_(last_origin),4\nsam_(laosmut),4\natouda_yuuko,4\nyuzuhota0313,1\nochi_marco,1\nsakura_(1723231388),1\nbattleship_(eve_online),0\nohnaruto_muni,4\nresident_evil:_resistance,3\nsword_between_thighs,0\nmiko_(35nikomi),1\nopaque_helmet,0\ngravity_gun,0\ncameron_sewell,1\nmochiko_(tvygbntl),1\nstriped_border,0\nkotetsu_(gesogeso),4\ndefecating,0\nguihuafu81230,1\nbouncing_flat_chest,0\nhazakura_seiso,4\nhanai_yuyu,1\nforge-chan_(splatoon),4\nkurohime_yuuki,4\nkiriku_(nakuro),1\npig_hair_ornament,0\nropu_(ropu_10),1\nmaaa,4\nzc_ling,1\nflamel_emure,4\nthea_kreutzer,4\nvincent_andrada,1\npomegranate_nana,1\nz46_(chronicles_of_the_dust_wars)_(azur_lane),4\nkimihara_yua,4\ndoggo34476335,1\narchangel_gabriel_(toaru),4\nmarin_liekuriva_(mmliku),1\nl'heure_bleue,3\nyoshinobi_cos,1\njess_(buta_no_liver_wa_kanetsu_shiro),4\nrobot_girl,0\nville87804,1\nmassachusetts_(kancolle),4\nangie_(resident_evil),4\npicnic_table,0\nkimaguretaro,1\nhisamichi_(hisamichi1373),1\nkuunog,1\ndinelind_(drill_(emilio)),4\nnamuta,1\nharuna_(free_time_before_class)_(azur_lane),4\nonna_kishi_to_kemonomimi_no_ko,3\nsurfacage,1\nngkhyn,1\nkishin_sagume_(cosplay),0\nanyway_(amteun),1\nakira_(jitsuimo),4\norendi_laran,1\nemcee,1\ncenter_axis_relock_stance,0\nfiona_(xenoblade),4\nzanne,1\nkano_yatsuhashi,1\npyuu_(the_last_assassins),1\nfufu_060211,1\nergokinesis,0\narare_(op_ed_000),1\nsmol_sana,4\nkureha_(666)_(sound_voltex),4\ngodzilla_vs._destoroyah,3\n\"gundam_00_festival_10_\"\"re:vision\"\"\",3\nmizugame_mia,4\natatame_masuka,1\nolivia_(onna_kishi_to_kemonomimi_no_ko),4\nezokuroten,1\nultraman_orb,4\ntananne,1\npasties_removed,0\ntana_(aiko),4\nzib_(boriku),1\nmr._door,4\ntoratsugumi,3\nflying_spittle,0\ntreasure_island,3\nuzura_(piroro-foo),1\nkousaka_airi_(bebebe),4\nsakawa_(azur_lane),4\neugene_winter,1\nludmilla,4\noldrin_zevon,4\nloomyoi2,1\nhikari_(bokujou_monogatari),4\nshimejix,1\nwooden_house,0\n97-shiki_juubako,1\nbubble1995,1\nzucchini_(vegetable),0\nfuuma_kotarou_(sengoku_basara),4\nmomosuke_(toouka),1\nniguredou_julia,4\nviking-dutchboy,1\nmuraki_(owantogohan),1\nkavach_icarus,4\nclutch2130,1\nironworm,0\nlzc,1\nsuzukou,1\n0_05kmgrn,1\nskymax,1\nkarasu_tengu_(monster_girl_encyclopedia),4\nayamune_eri,4\nkomeichou-69,1\nrichard_(richaball),1\nkan6e_ver,1\nsushimo,1\ngenma_iroe,4\nsteel_glove,0\nfujimiya_rin,4\nyakou_kino,1\nyuukei_yesterday_(vocaloid),3\ntsuchi_(sh_spica1),1\npadocchi_(kurokitsune),1\ntiaplate,4\nelma_(ishuzoku_reviewers),4\nentum,3\nvisual_arts_market,3\nm26_pershing_(ash_arms),4\ngabriel_carrasquillo,1\nfrog_character_(yume_nikki),4\nness_(pjw0168),1\nhane_(8ne_k),1\nshin'ya_(yukiura),1\nneptune_(princess_of_the_reindeers)_(azur_lane),4\nizumi_rei_(stand_my_heroes),4\natory_totory,1\nstar_wars:_the_rise_of_skywalker,3\nugallu_(machikado_mazoku),4\n1nabatewi,1\nastolfo_(saber)_(fate)_(cosplay),0\nmokunami,1\nmouhantain,1\nnashubi_(to_infinity_wow),1\na_sanagi_a,1\nmorino_mari,4\ntetsuryuu,1\nsakatsuki_yakumo,1\ngangrel_(fire_emblem),4\ntakakido_jinguuji,1\nmacho_juice,1\npenguin_maru_(nizitama),1\nmugiaki,1\nmagurosu_(xgpy8228),1\ncollar_x_malice,3\nyuutsuki_yura,1\nmirai'g,1\nchick_girl_(yukimoto_shuuji_(gurigura)),4\nscorpion_harness,0\nsena_yuuta,1\nbottle7,1\ntsuukinkaisoku_oomiya,1\nrrtp,1\nmuarim_(fire_emblem),4\nkarel_(fire_emblem),4\nbigkwl,1\ndonut_(lily_love),4\nzayaku_(zayakuzazai),1\nwild_pokemon_appeared,0\npokemon_used_move,0\nkohaku_(ambermoe),1\nlop_(sugiyuu),4\nocelomeh_(monster_girl_encyclopedia),4\nyugiiro0127,1\nnagakura_emiru,4\nyoruno_yui,4\nmugi-chan_(muuran),4\nigap,1\nbethany_ashford,4\nminase_akiha,4\nsakaki_jin'ya,1\njimanaka_(yukinosingun),1\nshouwa,0\nmomoi_saku,4\nteatime_(mike),1\nmadaga_(animaofmoon),1\ntokedase!_mizorechan,3\nyala1453,1\neyebrow_twitching,0\nskeleton_t,4\nnitchi,1\nkutsujoku_2,3\nmaosu_(m0372n),1\nde_nim,1\nkazumaru,1\nezzyecchi,1\ndouble_zeta,1\nkkk_0mg,1\nstrip_battle_days,3\nimaushi_wakasa,4\nzaza_(zazam_s),1\nhimenagi_yuuki,1\njamke_(fire_emblem),4\noriti4,1\nsakana_(nagamizu),1\nkazami_maho,4\nkellam_(fire_emblem),4\nmisa_(hoshi_wo_miru_hito),4\nshinbee,1\nmusaceae,0\ntnk319,1\nrot_lapin,1\ncorodastan,1\nwatermelon_innertube,0\ngrowing_naru,1\ntakeshi~,1\nwarabeshi,1\nandi_1021,1\ndieck_(fire_emblem),4\ngrainne_draser_(girl_cafe_gun),4\nsemikaskas,1\npanzerfaust_3,0\nwaitress_delmo,4\nyamamoto_akie,1\nstanly_(azur_lane),4\nkyonart,1\nsorai_yuuka,4\ncarolrin,1\nring_announcer_(shinmai_maou_no_testament_burst),4\ntenjin_(ahan),1\nvanilla_anmitsu,1\nbeggar_so,4\nponkichi_(hazama_senkonmeiraku),1\nfurumachi_kyuu,1\nzera_the_hornless_empress,4\nalph_(pikmin),4\nyouheiogm,1\ndon_dogoier,4\nron,1\nmao_fukada,4\nfundoshi_lift,0\nkurotennsi,1\nratifuu,1\nj.h_j.h,1\nmacaroni710,1\nmozukusa,1\nshitaka_iori,4\nrevdol,3\nfeel_young,3\nzi_tong_zhi_lei,1\npeeqaboo,1\npandora_(monster_strike),4\nsuzuya_tang,4\namari_akari,4\nnyah_(christina_guo),4\nchristina_guo,1\nh&k_g36k,0\nokappa_(bobbed001),1\nshakeko_(neptune_series),4\nhannpen5500,1\ngenkai_tokki_moero_chronicle,3\nformidable_(warship_girls_r),4\nred_star_alliance,1\nz1_leberecht_maass_(warship_girls_r),4\nadmiral_scheer_(warship_girls_r),4\nadmiral_hipper_(warship_girls_r),4\nmaryland_(warship_girls_r),4\nhibiki_(warship_girls_r),4\nwichita_(warship_girls_r),4\nscharnhorst_(warship_girls_r),4\nshuten_douji_(halloween_caster)_(fate)_(cosplay),0\nyagami_takayuki,4\naru_u1g,1\nileheart,4\ntako_jirou,1\nyamamoto_taketora,4\nsankaku_no_kyori_wa_kagirinai_zero,3\noreh-stl,1\ntaipe_pepe,1\nmagik_(x-men),4\nhinezumi_(monster_girl_encyclopedia),4\ntakotoma22,1\nmusha_aleste,3\nhitsuji_hiko_(mareep15),1\nmesu_kyoushi_4,3\nooo_ayumu,4\nunknown_(tekken),4\nbryanz09,1\nhaito_mitori,1\npeach_slice,0\nfutago_imouto_(kakitama),4\nmiyama_(tokiwairo8),1\nrockmanwjh,1\nlissun_(inou-battle),4\ndairii,1\nkurokitsune_(float0108),1\ndlwhdals901,1\ninfinite_(sonic),4\ntatsu_(gokufushudou),4\ntsukishima_marina,4\nhatte_(bsrmkr),1\nrai_miruku,1\nshiragiku_(fatal_frame),4\nsagara_emi,4\nmariel_(yamibou),4\nmurabito_ba,1\nstarman_(mother),4\nmorax_(granblue_fantasy),4\ntiffany_maye,4\nelphelt_valentine_(cosplay),0\nn1rv_ann-a,3\nwater_pump_pliers_(ole_tower),4\ntomosato_risa,4\nkanojo_ga_ore_ni_kureta_mono._ore_ga_kanojo_ni_ageru_mono.,3\npulao,4\nweapon_in_garters,0\npamchapyuzu,1\nwizard_(tree_of_savior),4\nuraguchi_hiiro,1\nhakuramen,1\nnatsunone,3\ntotsuzen_kaijin_ken_jimuin_no_ore_ga_mahou_shoujo-tachi_wo_otosu_hanashi,3\nmaromi,4\nhyangu,1\nnagatsuki_towa,1\nshachou_(ojimashu),4\nootake_nami,4\nalice_to_zouroku,3\nyuka_(gore_screaming_show),4\nl.g_(greenforce1),1\ndyshana_(agarest_senki),4\nmikimoto_haruhiko_(style),0\nkunyu,1\ntakigawa_kotori,4\nruruo_(p76),1\nstanding_on_desk,0\nramenman,4\nseseri_(espgaluda),4\nluis_almeida_(sengoku_bushouki_muramasa),4\nmerle_(tenkuu_no_escaflowne),4\ngato_(snk),4\nshiine_(akazukin_chacha),4\nphobos_(sailor_moon),4\nnatsume_haru,4\nlilie_(atelier),4\nhermina_(atelier),4\nysui0000,1\nmarion,4\nanatamo,1\nven_(ven_neojio),1\nmconch,1\nmukouyama_mu,1\nfutonchan,1\nkira_sayuri,4\nakiho_hayuu,1\nkalechip,1\nripu_(vincecarter),1\naa-5100,4\ntowel_around_breasts,0\nsksk7r,1\nkanpiro,1\ntomomiya,1\nhm_(wonhml),1\nkuroaki,1\ninstagram-san,4\narahnia_taranterra_arachnida,4\nwataori_(ippuku_shimasho),1\nsakuya_(rune_factory),4\nvisark,1\nquelaana_of_izalith,4\n22-sai_(1092344778),1\nsisters_(manga),3\nbec_mcconn,4\nnine_beta,4\nnine_gamma,4\nnyarla_(shinrabanshou),4\nkumonon_(8f2k3),1\ngirls_for_m,3\nnimirom_(6403aghm),1\nkurata_muto,1\ntonkotu102,1\nyun_yu,1\nsakado_(oshiro_project),4\nmorioka_(oshiro_project),4\nkoya_(0okoya),1\nsaku_(saku5991),1\naokamei,1\nurujika,1\nkurtis_(disgaea),4\nnaked_sarashi,0\narai_tamako,4\nellen_carson,4\nkinouka,1\nshinsei_kamattechan,3\nminerva_orlando,4\nsuzuki_ikumi_(jinsei),4\nbiahnyang,1\ntogawa_shione,4\neeennnka,1\nkomugi_(komugi_ckdi),1\nhanzoumon_yuki,4\nqzik,1\nrmb-93,0\ntaso_(harutsukimikan),1\nrainnear,1\nanmofu,1\nhanayo_(wixoss),4\nsandgarden,1\nucukrtz,1\nmikan_(mkn_0710),1\nanosumi_(ggpg),1\ninori_(pokemoart),1\nkazumi_(okazumi),1\nyukasuke,1\nragu_(ragu00),1\nhellice_frost_demon_(p&d),4\nenjelicious,1\nmamiya_aira,1\nyayoi_(yay0ee),1\ntakasaki_natsu,4\nmodose_ruruki,1\nkakuriyo_no_mon,3\nwaiz_(waiz009),1\nuzunoki_tamaki,1\nuri_(20130828),1\ntsurupeta_(pikapika45),1\ndoro_rich,1\nkuang_(kzhw7588),1\nniiya_serina,4\nkiichigo_(k-15),1\nkiazee,1\ngoodman_(modapi95),1\ntakatori_kotori,4\nx_na,1\nfennekin_(cosplay),0\nhanasato_(okashino),1\nkanro_(3637_3637),1\nsaita794,1\nsemi_(ebs),4\name_isshiki,1\nblack_bear,0\nkizaki_reiji,4\nelizabeth_liones_(cosplay),0\nhase_yuuki,4\nlynn_(mabinogi),4\nebisu_(amagi_seitetsujo),1\nyucie,4\nmizurapi,1\nmitsu_(imoimou),1\ndouble_frill_skirt_swimsuit,0\nd-day,0\nnarumi_muran,1\nclaire_(hihouden),4\nthe_prince_(disney),4\npincet,0\nmii_(nano0o0),1\notome_switch,3\nyatsuhashi_otogi,1\nsakurazaka_tsuchiyu,1\ngariona_ronne,4\nappli-chan,4\nchikyuu_no_houkago,3\nhiyoko_no_tataki,1\nterric,1\neleventh_doctor_(doctor_who),4\nkiryuuin_ragyou_(cosplay),0\nyamagata_hideto,1\nkayama_(fukayama),1\nryu_un,1\nchemist_(final_fantasy),4\ncritical_hit,0\nkizeminato,1\nhyde_(hai-do),1\nsabamiso_(waruagaki),1\ncardinal_(sao),4\nray_of_grace,0\nfate_testarossa_(sonic_form),4\npuyopuyo_tetris,3\nzuru_(blame!),4\nutsugi_kanna,4\nokou_(hoozuki_no_reitetsu),4\nla_priere,3\ndrawing_gun,0\nl_axe,1\nraphy_(princess_connect!),4\nsakurai_makoto_(nichijou),4\nkang_hansung,4\nmeiryo_(horizon),1\nleafa_(cosplay),0\nninjin_nouka,1\nshuu_(xshuu),1\nkogitsune_(natsume_yuujinchou),4\nnyxon,1\ninferno_phoenix,0\nakaneu,1\nshimatta,1\ndora_marquez,4\n846kazuya,1\nu.s.m.c,1\ntubameraamen,1\n7gear,3\nsion_(blackhorse),1\nichinose_rom,1\nlpilz,1\n11857864,1\nchicken_(minecraft),4\nnenna,1\nmakino_ryuuichi,1\nportfolio,0\nalicegawa_chisato,1\nleonardo_vincent,1\nmaimaki_mai,4\nmisaki_hana,4\nnekokitsune0905,1\nyuri_landim,1\nkasasagi_(petarpan),1\nmitake830,1\nmanon_chastel,4\nyeni,1\nyinghuo,1\nposi_(creamy_mami),4\nnega_(creamy_mami),4\nr_giskard_reventlov,4\nwinglayer,1\nsandworm_(monster_girl_encyclopedia),4\nbranzent,1\nyoiyami_mutsuki,1\narras_ramus,4\nlely,1\nshimotsuki_eri,1\nrun_(sweettimehappy),1\nlukkage_(suisei_no_gargantia),4\nsitting_in_corner,0\nhammer_kirby,4\ntinkle2013,1\nnanahi_tsubaki,1\nyuu_knight3858,1\nhina_(naso4),4\nliruty,1\nbluesnowcat,1\nkray._(k-ray),1\nshokupa_(skp300),1\nokayannosuke,1\naoimio,1\nmahotama:_oshaburi_hen,3\nhazakura_sairento,1\nfundoshi_under_pantyhose,0\nknite,3\nkitsunetsu_(rcu_be1s),1\nyakan_(2281101),1\noohashi_ayaka,4\nmeimuu,1\nexeb.,1\ndrawbridge,0\ntsuki_miyabi,1\ncomic_purumelo,3\ntamura_shimeji,1\nleatherback,4\na10,1\nyudoufu_(yudouhu),1\nyagai_gakushuu_3,3\ncoojisan,1\nmineco000,1\ndagova_(artist),1\nkudukimii,1\nhera_(mythology),4\nzzsqg,1\noxo,1\ndeer_(deer423-81),1\nnanjin,1\nrarariot,1\nmoodycat,1\nsakura_simonov,1\nkumasang,1\nprince_fluff,4\nyomesuket,1\nkai_(ninjago),4\nishidah,1\nlayla_(hitsugi_no_chaika),4\ndumpty_alma,4\nterashima_shiori,4\nastralair_no_shiroki_towa,3\nloony_bear,1\nmega_mewtwo_x,4\ntakayama_misa,4\nhiwana_(nagare_hibana),1\nurban_knight,1\nseta_makoto,1\nmochisoldier,1\nminakami_toride,1\nmable_(pokemon),4\njamaican_flag,0\nhazama_masayoshi,4\ndiggersby,4\nkanbayashi_daidai,1\ntisalia_scythia,4\nakagi_mio,4\nsanjou_(weekly10),1\njade_(beyond_good_and_evil),4\nkaitou0215,1\nstrarf_mk2,4\nhinoto,1\nmegane-san_(kusada),4\nkonery_(reasonyou),1\nkaiten_(weapon),0\nchaos_(xenosaga),4\nhonda_yoshino,1\nmoyoosu,1\nshin'ya_(midnight_rain),1\nyuki_(tonbi),4\nashley_ann_swaby,1\nequuleus_shoko,4\nalk_(world_flipper),4\nribbed_bikini,0\nmashita_kanami,4\npapillon_(monster_girl_encyclopedia),4\nsonoshee_mclaren,4\naono_(anotherk),1\nchoujigen_game_neptune_the_animation,3\ncomic_masyo,3\nkadoyuki_(kadouki),1\nsilver_(atelier-tengu),1\nnaomura_tooru,1\nsonic_heroes,3\nkurogane_(scrapsteel),1\nshiohi,1\nfujiyama_arashi,4\nrayasi,1\nmaster_crown,0\nplayzholder,1\nbattletoads,3\nbuffy_(risottosf),1\ngo!_go!_nippon!,3\nmithra_tsukiaki_(vtuber),4\natare,1\ntakemoto_yuuta,4\nalien_simp,1\nkurei_tamao,4\nyunion_(sibujya),1\njackhammer,0\nblitz_gundam,4\nslb,1\nandrew_hibner,1\nsuika_(dr.stone),4\ncanal001,1\nsengoku_fubu,3\npeechun,1\nalexzhang,1\nblue_trim,0\nmiko_(murakami_suigun),4\nwyrm,0\nshinmon_benimaru,4\nzino,1\neden_they_were_only_two_on_the_planet,3\nmadoi_shiroki_no_kamikakushi,3\nhappy_shower,0\n"
  },
  {
    "path": "data/tags/e621.csv",
    "content": "mammal,5\nanthro,0\nhi_res,7\nfemale,0\nmale,0\nsolo,0\ngenitals,0\nclothing,0\nbreasts,0\nhair,0\nfur,0\nduo,0\npenis,0\nbodily_fluids,0\ncanid,5\nnude,0\ncanine,5\nsimple_background,0\nnipples,0\ndigital_media_(artwork),7\nvideo_games,0\nclothed,0\ntext,0\ngenital_fluids,0\nsex,0\nballs,0\nsmile,0\nblush,0\nerection,0\nbutt,0\nopen_mouth,0\npussy,0\nlooking_at_viewer,0\nabsurd_res,7\ntongue,0\npenetration,0\nbig_breasts,0\nenglish_text,7\ncum,0\nfelid,5\nnintendo,3\ncanis,5\nhorn,0\nmale/female,0\nferal,0\nwhite_body,0\npenile,0\nmale_penetrating,0\ntongue_out,0\nanus,0\nfeet,0\nblue_eyes,0\nclaws,0\npokemon,3\npokemon_(species),5\nteeth,0\nwhite_fur,0\nequid,5\nmale/male,0\nanimal_genitalia,0\nbiped,0\nequine,5\nhumanoid_genitalia,0\ngroup,0\nscalie,5\ntopwear,0\nfingers,0\nhumanoid,5\nstanding,0\nhumanoid_penis,0\ndialogue,0\nmonochrome,7\nwings,0\nnavel,0\nanal,0\nvaginal,0\nmuscular,0\nhasbro,3\nfeline,5\ncum_inside,0\nmy_little_pony,3\nlying,0\ntoes,0\nhuman,5\nfox,5\ntuft,0\nwhite_background,0\nbrown_body,0\nthick_thighs,0\n1:1,7\npiercing,0\neyes_closed,0\nspreading,0\nunderwear,0\ndragon,5\nareola,0\nbottomwear,0\nanal_penetration,0\ndomestic_dog,5\nanimal_penis,0\ngreen_eyes,0\nfemale_penetrated,0\ninterspecies,0\n<3,0\nblue_body,0\nvaginal_penetration,0\ncomic,7\nfriendship_is_magic,3\nblack_body,0\nwolf,5\nsize_difference,0\nbig_penis,0\nsitting,0\nbrown_fur,0\nfurniture,0\noutside,0\nspread_legs,0\noral,0\nlong_hair,0\nambiguous_gender,0\nplant,0\nmale_penetrating_female,0\nhuge_breasts,0\nshirt,0\nlegwear,0\nlooking_back,0\neyewear,0\nbig_butt,0\nmarkings,0\nmuscular_male,0\nsweat,0\nmulticolored_body,0\npenile_penetration,0\nfelis,5\nwide_hips,0\nlagomorph,5\ngrey_body,0\nyoung,0\n5_fingers,0\ndomestic_cat,5\nnarrowed_eyes,0\nblack_nose,0\npaws,0\nred_eyes,0\nfootwear,0\nreptile,5\ncollar,0\nmale_penetrated,0\n2021,7\n2020,7\nleporid,5\nfeathers,0\non_back,0\npresenting,0\nheadgear,0\nintersex,0\nsolo_focus,0\nblack_fur,0\nrabbit,5\nhorse,5\nbelly,0\near_piercing,0\n2019,7\nsignature,7\neyelashes,0\nfangs,0\npawpads,0\nsaliva,0\nblonde_hair,0\nanthro_on_anthro,0\nbrown_hair,0\npantherine,5\nmale_penetrating_male,0\nyellow_body,0\ndetailed_background,0\noverweight,0\nblack_hair,0\nmuscular_anthro,0\nmulticolored_fur,0\norgasm,0\njewelry,0\nknot,0\nejaculation,0\nabs,0\nglasses,0\ngrey_fur,0\n2018,7\nheadwear,0\npussy_juice,0\nyellow_eyes,0\nvein,0\neyebrows,0\nhat,0\n2017,7\navian,5\nhalf-closed_eyes,0\nbed,0\nnot_furry,0\nhandwear,0\ngynomorph,0\nbovid,5\nbarefoot,0\nbig_balls,0\npecs,0\ngloves,0\n2022,7\npenis_in_pussy,0\nblue_fur,0\nanthrofied,0\norange_body,0\n2016,7\ninside,0\nlooking_pleasured,0\nspeech_bubble,0\nanimal_humanoid,5\nmasturbation,0\nbound,0\nshaded,7\nanthro_penetrated,0\nfrom_behind_position,0\n4_toes,0\nfellatio,0\npanties,0\ncub,0\nfeathered_wings,0\nwidescreen,7\nblue_hair,0\nprecum,0\ncum_in_pussy,0\nwhite_hair,0\ntwo_tone_body,0\nportrait,7\nhyper,0\nholding_object,0\nbottomless,0\npurple_eyes,0\npants,0\npose,0\nfood,0\nnon-mammal_breasts,0\ntan_body,0\nlicking,0\nhybrid,5\ntoe_claws,0\ndisney,3\npony,5\nstripes,0\ngeneration_1_pokemon,5\nrodent,5\nbulge,0\nforeskin,0\nsketch,7\nrear_view,0\ncountershading,0\nmulticolored_hair,0\n3d_(artwork),7\nfan_character,4\ndominant,0\n16:9,7\ncanine_penis,0\nequine_penis,0\nanimated,7\nyellow_fur,0\ncum_in_ass,0\nbdsm,0\nscales,0\nunicorn,5\nkneeling,0\nsex_toy,0\nred_body,0\npurple_body,0\nanthro_penetrating,0\nmarine,5\nhuge_penis,0\ngirly,0\norange_fur,0\nred_hair,0\nslightly_chubby,0\nclitoris,0\nraised_tail,0\nhooves,0\ncleavage,0\naccessory,0\ntopless,0\nursid,5\ntree,0\nbird,5\nfluffy,0\nmembrane_(anatomy),0\ncutie_mark,0\none_eye_closed,0\nweapon,0\nsubmissive,0\nchest_tuft,0\ncurvy_figure,0\nwater,0\n2015,7\nbiceps,0\ngreen_body,0\nlooking_at_another,0\nkemono,0\n3_toes,0\nbacksack,0\nsky,0\nveiny_penis,0\npurple_hair,0\npartially_clothed,0\nswimwear,0\nbondage,0\nurl,7\nall_fours,0\nshort_hair,0\noverweight_male,0\ncumshot,0\n3:4,7\ntwo_tone_fur,0\nthigh_highs,0\npink_hair,0\nseductive,0\nmostly_nude,0\npink_body,0\ngroup_sex,0\nmembranous_wings,0\nfront_view,0\nmammal_humanoid,5\nfrom_front_position,0\nshort_playtime,7\ntan_fur,0\nanthro_penetrating_anthro,0\nstockings,0\nsega,3\npresenting_hindquarters,0\nhumanoid_hands,0\nfaceless_character,0\nring_piercing,0\nsonic_the_hedgehog_(series),3\njapanese_text,7\ntail_markings,0\npubes,0\non_top,0\nnecklace,0\nmakeup,0\ninner_ear_fluff,0\nmachine,0\ndripping,0\nsharp_teeth,0\ntears,0\ndigital_drawing_(artwork),7\ngeneration_4_pokemon,5\nlarger_male,0\n4_fingers,0\ndigitigrade,0\ncaprine,5\nfemale/female,0\nsmaller_male,0\n2014,7\n4:3,7\nshoes,0\ndrooling,0\nfaceless_male,0\nconditional_dnp,1\nvoluptuous,0\ncum_in_mouth,0\noral_penetration,0\nforced,0\nbrown_eyes,0\nbeak,0\nshorts,0\noverweight_anthro,0\nhuge_butt,0\nfluffy_tail,0\ndemon,5\ntiger,5\non_bottom,0\nbestiality,0\ncum_on_face,0\nborder,0\nalpha_channel,7\npegasus,5\nglowing,0\nnipple_piercing,0\nopen_smile,0\ndildo,0\nhuman_on_anthro,0\nbig_belly,0\nearth_pony,5\nfemale_focus,0\ngeneration_3_pokemon,5\narmor,0\nspots,0\nbedroom_eyes,0\ntrio,0\nmythology,3\nmulticolored_tail,0\nsheath,0\npillow,0\ngrin,0\nglistening,0\ntwo_tone_hair,0\nhair_accessory,0\nhuge_balls,0\nfish,5\nbikini,0\ngreyscale,7\ngrass,0\nhand_on_butt,0\nsoles,0\nfacial_hair,0\ncervid,5\nspikes,0\nhindpaw,0\nalien,5\npokemorph,0\ndress,0\npupils,0\nblack_and_white,7\npink_nipples,0\nhyper_genitalia,0\npink_nose,0\ncloud,0\n2013,7\narthropod,5\npurple_fur,0\nskirt,0\nhand_on_breast,0\nmurid,5\nsubmissive_male,0\ntentacles,0\ngeneration_2_pokemon,5\nmurine,5\narmwear,0\nmustelid,5\ngrey_background,0\nbovine,5\non_bed,0\nred_fur,0\nmelee_weapon,0\ntransformation,0\ntraditional_media_(artwork),7\npenile_masturbation,0\nfacial_tuft,0\ncum_on_penis,0\nlion,5\nhappy,0\ncensored,7\nfacial_piercing,0\nrobot,5\nafter_sex,0\nskimpy,0\nwhiskers,0\ninternal,0\nbent_over,0\nmature_female,0\near_ring,0\npink_fur,0\ndipstick_tail,0\nunknown_artist,1\nscar,0\ndisembodied_penis,0\nkissing,0\nzootopia,3\nfirst_person_view,0\nwet,0\nabdominal_bulge,0\nsound_effects,0\nlooking_down,0\nbig_muscles,0\ncheek_tuft,0\nundertale_(series),3\nbandai_namco,3\nboots,0\nbody_hair,0\nthreesome,0\nholidays,0\nribbons,0\ntranslucent,0\nage_difference,0\nfully_clothed,0\nbreast_play,0\nlong_ears,0\nerect_nipples,0\ncrossgender,0\nhyper_penis,0\nbra,0\nrestraints,0\nbeverage,0\ngeneration_5_pokemon,5\ndigimon,3\ngesture,0\nfull-length_portrait,7\nlips,0\ndigimon_(species),5\nhandjob,0\ngeneration_6_pokemon,5\nhumanoid_pointy_ears,0\nsmall_breasts,0\neeveelution,5\nplantigrade,0\nseaside,0\nmale_on_bottom,0\nsocks,0\nnight,0\nvore,0\nlarger_female,0\ngreen_hair,0\nblack_clothing,0\nflaccid,0\ntattoo,0\nsmaller_female,0\nflower,0\nbeach,0\nwinged_unicorn,5\nmature_anthro,0\nwebm,7\nblack_eyes,0\ntorn_clothing,0\npresenting_pussy,0\nday,0\nlegendary_pokemon,5\ndoggystyle,0\npenis_in_ass,0\nglans,0\nblack_sclera,0\ncontainer,0\nblack_penis,0\nponytail,0\nperineum,0\nuniform,0\nside_view,0\nspitz,5\n4:5,7\n<3_eyes,0\nathletic,0\npink_penis,0\non_front,0\nlizard,5\nhuman_penetrating,0\ntranslated,7\nanimal_crossing,3\nlong_tail,0\nraised_leg,0\ncum_while_penetrated,0\neyeshadow,0\nchiropteran,5\nlow_res,7\n5_toes,0\nwhite_clothing,0\ntight_clothing,0\neye_contact,0\nsquish,0\nshark,5\nbracelet,0\nfire,0\nhigh_heels,0\nnipple_outline,0\norange_eyes,0\ncum_drip,0\nleash,0\nwatermark,7\nrape,0\n2012,7\nundertale,3\nside_boob,0\nass_up,0\nincest_(lore),-1\npink_eyes,0\nfingering,0\nhuman_on_feral,0\nwink,0\nangry,0\nbelt,0\nfreckles,0\nmidriff,0\nembrace,0\nglowing_eyes,0\nforest,0\nmessy,0\nmoobs,0\nsource_filmmaker,3\nbreath,0\ngloves_(marking),0\nbeard,0\nhand_on_hip,0\nbow_(feature),0\noverweight_female,0\nfemale_on_top,0\nflat_chested,0\nferal_penetrating,0\ndominant_male,0\norange_hair,0\nmuscular_female,0\nanimal_pussy,0\nferal_on_feral,0\non_side,0\neulipotyphlan,5\nlactating,0\nquadruped,0\nneck_tuft,0\nnose_piercing,0\ncowgirl_position,0\nhumor,0\ntwilight_sparkle_(mlp),4\nhyper_breasts,0\ngag,0\npublic,0\ntank_top,0\ngoat,5\nbuckteeth,0\nbig_dom_small_sub,0\nsnake,5\njacket,0\nfelid_humanoid,5\nstriped_body,0\nranged_weapon,0\nlegs_up,0\nabstract_background,0\nblood,0\nexcessive_genital_fluids,0\nmouse,5\nsnout,0\nhedgehog,5\nhead_markings,0\nmarsupial,5\nahegao,0\n2:3,7\nprocyonid,5\nspotted_body,0\nhumanoid_feet,0\nleg_markings,0\nmotion_lines,0\npokephilia,0\nscarf,0\nantlers,0\nshadow,0\n2d_animation,7\nmane,0\nlingerie,0\nfacial_markings,0\nyellow_sclera,0\ninflation,0\nsurprise,0\nintersex/female,0\nparent,0\ndessert,0\nundressing,0\ngrey_hair,0\nhoodie,0\nmask,0\nhyper_balls,0\nshota,0\nmeme,7\nthree-quarter_portrait,7\npresenting_anus,0\nnordic_sled_dog,5\nmulticolored_ears,0\njudy_hopps,4\nrubber,0\nwhite_border,0\nsciurid,5\nsibling,0\nhands-free,0\nraccoon,5\nstar,0\ngeneration_7_pokemon,5\nclenched_teeth,0\ncattle,5\nno_sound,7\ntransparent_background,0\nfoot_fetish,0\nhug,0\nmonster,5\nbutt_grab,0\nsofa,0\ncolored,7\ntable,0\nslit_pupils,0\nchair,0\nphone,0\nfurgonomics,0\nnails,0\n3d_animation,7\nfeline_humanoid,5\nblue_skin,0\nsword,0\ndinosaur,5\nhyaenid,5\nblue_feathers,0\nfemale_on_human,0\nbreast_grab,0\nsmaller_penetrated,0\ncrossover,0\ninsect,5\nrope,0\ncrown,0\nmagic,0\nexclamation_point,0\nopen_clothing,0\nembarrassed,0\nromantic,0\nprofanity,0\n5:4,7\nbow_ribbon,0\nnecktie,0\nmario_bros,3\nsweatdrop,0\nbreast_squish,0\nvaginal_masturbation,0\ncrying,0\npinup,0\nferal_penetrated,0\nsocks_(marking),0\nwestern_dragon,5\ncute_fangs,0\nloli,0\nsubmissive_female,0\nhusky,5\nmacro,0\nvehicle,0\nwere,5\ndisembodied_hand,0\ncamel_toe,0\nlow-angle_view,0\ncat_humanoid,5\nintersex/male,0\narmpit_hair,0\nthick_penis,0\ndominant_female,0\nrestrained,0\nbite,0\nshort_stack,0\nleaking_cum,0\npastoral_dog,5\nbedroom,0\ncunnilingus,0\ngradient_background,0\nexcessive_cum,0\nlipstick,0\nfluttershy_(mlp),4\nelbow_gloves,0\npenis_lick,0\ncrouching,0\nfruit,0\nherding_dog,5\nlight,0\nspotted_fur,0\nhuman_penetrated,0\nmoan,0\nintersex_penetrating,0\nfeatureless_crotch,0\nwindow,0\nalternate_species,0\ncum_on_self,0\npink_tongue,0\nstriped_fur,0\none_eye_obstructed,0\nrainbow_dash_(mlp),4\npregnant,0\nonomatopoeia,0\ncrossdressing,0\nblue_background,0\nambiguous_penetration,0\nlooking_up,0\nblizzard_entertainment,3\nlifewonders,3\nfinger_claws,0\nsleeping,0\nmulti_tail,0\nblue_clothing,0\nslit,0\ndouble_penetration,0\nnick_wilde,4\ntapering_penis,0\nscottgames,3\nfive_nights_at_freddy's,3\ngynomorph/female,0\nclothing_lift,0\ncartoon_network,3\ndipstick_ears,0\ngreen_fur,0\nmale_on_anthro,0\ntail_tuft,0\nfemale_on_feral,0\nblack_nipples,0\ntranslation_request,7\ngun,0\ncanid_humanoid,5\nwerecanid,5\npartially_retracted_foreskin,0\nobese,0\nhead_tuft,0\nstar_fox,3\nhuman_on_humanoid,0\nmissionary_position,0\nred_clothing,0\nmythological_avian,5\nchain,0\nlutrine,5\nmoon,0\nthong,0\nhair_ribbon,0\nfloppy_ears,0\npattern_clothing,0\nglistening_body,0\nbone,0\nbell,0\nholding_weapon,0\nparent_and_child,0\ncum_on_breasts,0\npuffy_anus,0\nbig_areola,0\nloop,7\ncanine_humanoid,5\nelemental_creature,5\n3_fingers,0\nmusteline,5\nfingerless_gloves,0\ncum_on_butt,0\nbook,0\nsound,7\nfondling,0\nsemi-anthro,0\nshort_tail,0\nsex_toy_insertion,0\ntitfuck,0\nbow_accessory,0\ncuff_(restraint),0\nwhite_balls,0\ncum_inflation,0\ngynomorph_penetrating,0\nmale/ambiguous,0\n2011,7\nbedding,0\nanatomically_correct,0\nmale_pov,0\nhair_over_eye,0\nhands_behind_back,0\nyounger_male,0\nopen_topwear,0\ncum_on_body,0\npink_areola,0\ndark_body,0\nspread_pussy,0\nquestion_mark,0\ngoggles,0\nwarcraft,3\nsweater,0\nwebcomic,0\nbig_ears,0\nrarity_(mlp),4\nblack_border,0\nchristmas,3\ngaping,0\nlicking_lips,0\nanthro_on_feral,0\npinkie_pie_(mlp),4\nfeatureless_breasts,0\ntoony,0\nchoker,0\nsunglasses,0\nhair_bow,0\nbottomwear_down,0\nmephitid,5\nsmirk,0\nfin,0\nhalf-erect,0\nmusclegut,0\nromantic_couple,0\nclose-up,0\ngreen_skin,0\nalcohol,0\nhand_on_leg,0\nnon-mammal_nipples,0\nlucario,5\nblack_claws,0\nmulti_genitalia,0\nfoot_focus,0\nskunk,5\nmodel_sheet,7\ncrocodilian,5\nhuman_penetrating_anthro,0\nsaliva_string,0\npink_pawpads,0\nlong_tongue,0\nbouncing_breasts,0\nwhite_skin,0\nblue_penis,0\nrenamon,5\npatreon,3\ncostume,0\nhand_on_head,0\npivoted_ears,0\nwhite_tail,0\nbow_tie,0\nmale_on_human,0\ncup,0\ncum_string,0\nduo_focus,0\nnose_ring,0\nhelmet,0\nbouncing_balls,0\namber_eyes,0\nwebcomic_character,4\ncountershade_torso,0\nmedial_ring,0\nedit,7\nmale_on_feral,0\nbig_nipples,0\ntokyo_afterschool_summoners,3\norgasm_face,0\nfoot_play,0\nmilk,0\ngenital_piercing,0\n3:2,7\ngagged,0\ntwo_tone_tail,0\nriot_games,3\nleague_of_legends,3\nwhite_feathers,0\nhands_behind_head,0\nsheep,5\nherm,0\nagainst_surface,0\nasian_mythology,3\nrat,5\ncapcom,3\ntowel,0\nsister,0\nchild,0\ncolored_nails,0\nsuina,5\nheterochromia,0\nmulti_penis,0\nfurred_dragon,5\nrimming,0\nraised_arm,0\neast_asian_mythology,3\nsand,0\ndenim,0\nailurid,5\nring,0\nwerecanine,5\nbrother,0\napplejack_(mlp),4\ndenim_clothing,0\nanimatronic,5\nfrown,0\nasian_clothing,0\nprincess_celestia_(mlp),4\nred_panda,5\ncum_on_ground,0\nmother,0\npants_down,0\nfennec,5\neast_asian_clothing,0\nrainbow_hair,0\nlooking_away,0\nurine,0\ngreen_scales,0\nimminent_sex,0\ngryphon,5\nwerewolf,5\nineffective_censorship,0\ndark_skin,0\nmind_control,0\nthe_legend_of_zelda,3\nprincess_luna_(mlp),4\nantennae_(anatomy),0\nursine,5\nbrown_nose,0\nthick_tail,0\nflora_fauna,5\nleaning,0\nball_gag,0\nsuid,5\nbraided_hair,0\nprimate,5\ncum_on_balls,0\nmulti_limb,0\nleg_grab,0\nframe_by_frame,7\nlooking_at_partner,0\ngenital_slit,0\ntranslucent_hair,0\nsea,0\nanatomically_correct_genitalia,0\nnipple_fetish,0\ngeneration_8_pokemon,5\nsexual_barrier_device,0\nsus_(pig),5\ngenital_outline,0\ncondom,0\nlooking_back_at_viewer,0\nnipple_play,0\nboss_monster,5\nraccoon_dog,5\nsnow,0\nequine_pussy,0\nsucking,0\nspotted_hyena,5\nlooking_aside,0\nknotting,0\n4k,7\nspread_butt,0\nloincloth,0\nstory,7\nmicro,0\nbutt_focus,0\ntanuki,5\ncensor_bar,0\ntoying_self,0\nsex_toy_in_ass,0\nhand_behind_head,0\nself_lick,0\nanal_masturbation,0\n5:6,7\nexpansion,0\ntree_squirrel,5\nunknown_species,5\npanting,0\nretracted_foreskin,0\nteats,0\nkerchief,0\n9:16,7\nmale_on_top,0\nbandage,0\nstriped_clothing,0\nsquare_enix,3\nlight_body,0\nharness,0\nslim,0\nline_art,7\ntranslucent_clothing,0\nnot_furry_focus,0\nshaking,0\nmedium_breasts,0\ncellphone,0\ngiant_panda,5\nred_fox,5\nfishnet,0\nelf,5\njapanese_clothing,0\nstanding_sex,0\npseudo_hair,0\nunder_boob,0\nhuge_thighs,0\ntail_motion,0\njackal,5\nblue_nipples,0\nstriped_markings,0\nolder_male,0\nson,0\nrock,0\nchest_hair,0\n2010,7\ncutaway,0\nanal_orgasm,0\nspiked_collar,0\ndiaper,0\neye_patch,0\nsmall_waist,0\nhuman_focus,0\ncum_on_chest,0\ndeep_throat,0\nvibrator,0\nshackles,0\nopen_shirt,0\npink_clothing,0\namphibian,5\ncheetah,5\npartially_submerged,0\nlynx,5\nrouge_the_bat,4\ncape,0\nsuit,0\nballs_deep,0\nkobold,5\nhunting_dog,5\nvaginal_fingering,0\ncandy,0\nclothing_aside,0\nhumanoid_penetrated,0\nblue_scales,0\nhuge_muscles,0\ngrowth,0\nsmall_dom_big_sub,0\nlarger_anthro,0\npink_background,0\nactivision,3\neye_roll,0\nbiting_lip,0\ntentacle_sex,0\nred_penis,0\nsnow_leopard,5\nsmoking,0\nspecies_transformation,0\nstory_in_description,7\nfucked_silly,0\nbandanna,0\nmollusk,5\nsteam,0\nhigh_framerate,7\nsonic_the_hedgehog,4\nlarger_penetrated,0\npenis_size_difference,0\nshirt_lift,0\ntheropod,5\ntools,0\nbuilding,0\npurple_background,0\nwhite_eyes,0\nleaking,0\nbig_tail,0\ngynomorph/male,0\ncum_on_tongue,0\nspikes_(anatomy),0\nunderwear_down,0\non_ground,0\noral_vore,0\nreverse_cowgirl_position,0\nbarazoku,0\npenile_spines,0\nt-shirt,0\ncrossed_arms,0\ncum_on_leg,0\nflying,0\nmulti_arm,0\nyellow_feathers,0\nholding_breast,0\nhypnosis,0\npurple_skin,0\nblack_pawpads,0\nlong_penis,0\ngreen_clothing,0\nolder_female,0\nspirit,5\nmacropod,5\ndock,0\nartist_name,7\nplump_labia,0\ntan_skin,0\nblack_tail,0\nteasing,0\nblue_nose,0\nreclining,0\ncity,0\njeans,0\nholding_penis,0\nblack_skin,0\ntailwag,0\ntalking_to_viewer,0\neating,0\nleopard,5\ncosplay,0\npresenting_penis,0\nwarner_brothers,3\ncovering,0\nnature,0\nkoopa,5\ngaping_anus,0\ngardevoir,5\ndreamworks,3\nathletic_anthro,0\ngem,0\ncountershade_face,0\nexposed_breasts,0\npikachu,5\nhigh-angle_view,0\nlight_skin,0\nstriped_tail,0\nhelluva_boss,3\nleaf,0\nstraddling,0\nintersex_penetrated,0\ntrue_musteline,5\ncanine_pussy,0\nhorned_humanoid,5\nhalloween,3\ncasual_nudity,0\nmother_and_child,0\ngoo_creature,5\ngalliform,5\nhand_holding,0\nbouncing_butt,0\nmusk,0\nshiny_pokemon,5\nphasianid,5\nbethesda_softworks,3\nfinal_fantasy,3\nandromorph,0\ntail_accessory,0\nellipsis,0\nroyalty,0\ngold_(metal),0\nseptum_piercing,0\ngrey_skin,0\negg,0\ntaur,5\nwhat,0\npenis_outline,0\nv_sign,0\ninverted_nipples,0\nfemale_on_anthro,0\nsmoke,0\nbent_legs,0\neuropean_mythology,3\nbottle,0\ncrop_top,0\nkangaroo,5\nmarine_humanoid,5\ngrey_eyes,0\npeeing,0\nfather,0\neyebrow_through_hair,0\narm_support,0\nfox_humanoid,5\ncoat,0\ngerman_shepherd,5\nanimate_inanimate,5\ngarter_straps,0\nskull,0\ncum_on_belly,0\nplushie,0\nblush_lines,0\nhand_on_penis,0\nbust_portrait,7\nletterbox,0\ndildo_insertion,0\nhalf-length_portrait,7\nbeing_watched,0\npenetrating_pov,0\nhighlights_(coloring),0\nshy,0\nblack_topwear,0\nred_skin,0\nred_scales,0\nfully_sheathed,0\nhaplorhine,5\nvest,0\nobese_anthro,0\nglass,0\nunusual_anatomy,0\nmiles_prower,4\nglistening_eyes,0\nhand_on_thigh,0\nlooking_at_genitalia,0\nintersex_penetrating_female,0\nzebra,5\nfemale_anthro,0\napron,0\nred_sclera,0\ngreek_mythology,3\nfacesitting,0\nsony_corporation,3\nblack_background,0\nmagic_user,0\nwide_eyed,0\npasserine,5\nno_underwear,0\nsony_interactive_entertainment,3\noscine,5\ntext_on_clothing,0\nscared,0\ndancing,0\nundead,5\nrobe,0\ntalons,0\nfrench_kissing,0\nshower,0\namy_rose,4\nferal_penetrating_feral,0\nmulti_eye,0\nspread_wings,0\nsmaller_human,0\ngangbang,0\nplug_(sex_toy),0\nblack_scales,0\nspitroast,0\nwhite_countershading,0\ninviting,0\nbriefs,0\nfootjob,0\ngreen_background,0\nkrystal,4\nintersex/intersex,0\njockstrap,0\nblue_tail,0\npenis_piercing,0\nbrown_tail,0\nserpentine,0\nlong_playtime,7\ntail_feathers,0\npink_pussy,0\nprecum_drip,0\nimpregnation,0\nghost,5\ncigarette,0\nchibi,0\ndildo_sitting,0\nflexing,0\ncapreoline,5\ngraphite_(artwork),7\nthree-quarter_view,0\numbreon,5\nnervous,0\nclothed_sex,0\npenis_tip,0\near_tuft,0\ntoy_dog,5\n:3,0\npink_glans,0\nblack_balls,0\ninflatable,0\nrope_bondage,0\ndeath,0\nskinsuit,0\npolar_bear,5\nsmiling_at_viewer,0\n16:10,7\nsmall_penis,0\nwhite_topwear,0\nquestionable_consent,0\ndigital_painting_(artwork),7\nmature_male,0\ncanid_demon,5\nhand_on_stomach,0\ncum_splatter,0\ntoriel,4\nblue_tongue,0\nsmaller_anthro,0\nchangeling,5\nbig_eyes,0\nwet_clothing,0\nheadphones,0\nunderwear_aside,0\nspade_tail,0\nalternate_version_at_source,7\nfrottage,0\ndrinking,0\nfaceless_human,0\npencil_(artwork),7\nmonster_girl_(genre),0\ngynomorph_penetrating_female,0\nferal_penetrating_human,0\nsonic_the_hedgehog_(comics),3\nchastity_device,0\nwhite_underwear,0\nlooking_at_penis,0\ncephalopod,5\nclitoral_hood,0\nsparkles,0\nblack_bars,0\nblack_eyebrows,0\nleather,0\nblep,0\npolearm,0\nisabelle_(animal_crossing),4\nwhite_claws,0\nmaid_uniform,0\npurple_clothing,0\nslime,0\nintraspecies,0\ncetacean,5\nmountain,0\nmulticolored_scales,0\ncrocodylid,5\nathletic_male,0\npigtails,0\neevee,5\nnon-mammal_balls,0\nclothed/nude,0\ncrocodile,5\npink_skin,0\ndeltarune,3\nhellhound,5\nbrown_nipples,0\nfather_and_child,0\nannoyed,0\nwood,0\nwatersports,0\nupskirt,0\nagainst_wall,0\nwhite_scales,0\n6:5,7\nball_fondling,0\narms_tied,0\ncuddling,0\nnaughty_face,0\nears_back,0\nalternate_color,0\nball,0\nexhibitionism,0\nspike_(mlp),4\nunderhoof,0\nself_bite,0\nforked_tongue,0\ngrope,0\nforced_oral,0\ncybernetics,0\nblindfold,0\nthought_bubble,0\nbuttplug,0\n69_position,0\nmultiple_images,7\nmustela,5\nheadband,0\nbrown_skin,0\ndated,7\nbathroom,0\nbowser,4\nlip_piercing,0\nbangs,0\nimp,5\ncrossed_legs,0\nmtf_crossgender,0\ngallus_(genus),5\nuterus,0\nmonster_hunter,3\nchicken,5\nbarely_visible_genitalia,0\nanthro_penetrating_human,0\n2009,7\nerection_under_clothing,0\nsymbol,0\ndaughter,0\nblack_lips,0\nblue_and_white,7\narmband,0\nnotched_ear,0\nbrother_and_sister,0\nbubble,0\nhumanoid_on_anthro,0\nsequence,7\nsergal,5\narm_tuft,0\nhairband,0\nbiting_own_lip,0\nslap,0\nelbow_tuft,0\nwalking,0\nbed_sheet,0\nlegless,0\nmulti_nipple,0\ncar,0\nalien_humanoid,5\ndetailed,7\ninsect_wings,0\nscut_tail,0\ncircumcised,0\nwarrior,0\nlamp,0\nspread_anus,0\nteenager,0\nupside_down,0\ncoyote,5\ntoothed_whale,5\nwraps,0\nshocked,0\nunderwater,0\npenis_accessory,0\nraised_clothing,0\npredator/prey,0\ntusks,0\nlilo_and_stitch,3\nfist,0\ngore,0\nfur_markings,0\ncomputer,0\nnavel_piercing,0\ngrey_tail,0\ndeity,5\nshell,0\nhot_dogging,0\ndelphinoid,5\nears_down,0\nlove,0\nfeces,0\nmulti_breast,0\nhumanoid_pussy,0\nsmug,0\npanties_down,0\nsharp_claws,0\npussy_ejaculation,0\nleaning_forward,0\nnickelodeon,3\neastern_dragon,5\nmosaic_censorship,7\nhyper_belly,0\nsource_request,7\ncandle,0\neyewear_on_head,0\npurple_penis,0\nanatomically_correct_pussy,0\nfur_tuft,0\nblack_feathers,0\npole,0\none-piece_swimsuit,0\nchastity_cage,0\nlong_image,7\nbeastars,3\nbreast_expansion,0\npinscher,5\nyellow_scales,0\nlighting,7\nbraixen,5\ndobermann,5\nhappy_sex,0\nsubstance_intoxication,0\ngoatee,0\nshih_tzu,5\ncurvaceous,0\nthick_eyebrows,0\ndoor,0\nblack_ears,0\ntribal,0\nalligatorid,5\ncloaca,0\napode,0\nsperm_cell,0\nhourglass_figure,0\ndomestic_pig,5\npenis_jewelry,0\ntail_grab,0\nflat_colors,7\neyebrow_piercing,0\narchie_comics,3\narachnid,5\nbird_feet,0\npattern_legwear,0\nexperiment_(lilo_and_stitch),5\ntriceps,0\nsandals,0\nlube,0\nfingering_self,0\ntrans_(lore),-1\nknife,0\nfox_mccloud,4\nsonic_the_hedgehog_(archie),3\nalligator,5\ncorvid,5\nleggings,0\nthe_elder_scrolls,3\ncock_ring,0\nstarry_sky,0\nwild_boar,5\nsaliva_on_tongue,0\nbat_wings,0\nblack_stripes,0\nmulticolored_skin,0\ncarrying,0\nselfie,0\nmale_on_humanoid,0\nhyper_butt,0\novum,0\ndraconcopode,5\nlopunny,5\npenis_grab,0\ngender_transformation,0\nscat,0\nanal_beads,0\nbodysuit,0\nflash,7\nchristmas_clothing,0\nblack_bottomwear,0\nbubble_butt,0\noral_masturbation,0\nmusical_instrument,0\narms_bent,0\nslave,0\nsuspension,0\ntrembling,0\nmetal_cuffs,0\nbell_collar,0\nmotion_tweening,7\ndesk,0\nyellow_skin,0\nloona_(helluva_boss),4\nsheepdog,5\nthe_amazing_world_of_gumball,3\nhuman_penetrating_feral,0\nhuge_filesize,7\ncave,0\naccipitriform,5\ncollarbone,0\nmonkey,5\ncorset,0\nsylveon,5\nsplit_form,0\ncrash_bandicoot_(series),3\nblanket,0\nmale_pred,0\nreindeer,5\nanal_fingering,0\npurple_scales,0\ncharizard,5\npurple_nipples,0\nyounger_penetrated,0\nclothing_pull,0\nvaporeon,5\nobese_female,0\nlepidopteran,5\nyellow_tail,0\nblurred_background,0\ncum_on_hand,0\nnumber,0\npointing,0\ncum_on_own_face,0\npixel_(artwork),7\nsad,0\nfemale_pred,0\nsun,0\nfemale/ambiguous,0\nground_squirrel,5\nmustache,0\nblue_topwear,0\nmohawk,0\nyounger_female,0\nfti_crossgender,0\nred_nose,0\nshrub,0\ncum_everywhere,0\nzoroark,5\nsanrio,3\nbisexual,0\nmuscular_intersex,0\nmanly,0\noutline,0\nwardrobe_malfunction,0\ncovering_self,0\ncum_in_uterus,0\npuffy_nipples,0\ncurtains,0\ncollar_only,0\nhair_over_eyes,0\nbird_dog,5\nstrapon,0\nheadshot_portrait,7\nmonotone_hair,0\nthick_lips,0\ntall_image,7\nspace,0\nmuzzle_(object),0\nchubby_female,0\nbreast_size_difference,0\nlong_neck,0\nmother_and_son,0\n2_penises,0\nbeauty_mark,0\nferal_penetrating_anthro,0\nfurry-specific_piercing,0\nfrill_(anatomy),0\narm_warmers,0\nobese_male,0\ncollaboration,7\nurethra,0\nshoulder_tuft,0\nowl,5\nstriped_legwear,0\nfive_nights_at_freddy's_2,3\nchipmunk,5\nleotard,0\ncowboy_hat,0\ntoe_curl,0\nantelope,5\ngrey_clothing,0\ncontroller,0\ncum_from_ass,0\nthrusting,0\ntail_fetish,0\nbouncing_penis,0\nsunset,0\nmega_evolution,5\nfacial_scar,0\ndildo_in_ass,0\nhands_on_hips,0\nsuggestive,0\nhigh_heeled_boots,0\ntail_play,0\ntentacle_penetration,0\nmicrosoft,3\ngreen_penis,0\nparody,0\non_lap,0\nspeedo,0\nneck_bulge,0\nmirror,0\nswimming_pool,0\n2008,7\ntext_on_topwear,0\nanklet,0\nchair_position,0\nhybrid_genitalia,0\ncyborg,5\npanties_aside,0\n2_toes,0\nconvenient_censorship,0\noviposition,0\nglaceon,5\nwhite_belly,0\nmammal_taur,5\nfundoshi,0\nyordle,5\nhanging_breasts,0\nlarger_feral,0\nhumiliation,0\nregional_form_(pokemon),5\npoking_out,0\ndrunk,0\nrunning,0\nandroid,5\nurethral,0\ndigestion,0\nwhite_shirt,0\nvisual_novel,0\nsisters,0\nmollusk_humanoid,5\nchristmas_headwear,0\nhood,0\ndomestic_sheep,5\nblack_pupils,0\nftg_crossgender,0\nhybrid_penis,0\npolice_uniform,0\nblender_(software),3\none_leg_up,0\nthe_lion_king,3\nclock,0\nbovid_humanoid,5\nsunlight,0\nball_slap,0\nxbox_game_studios,3\nmounting,0\ntwo_tone_scales,0\nhumanoid_on_humanoid,0\nunderwear_only,0\nbrown_feathers,0\npink_anus,0\nasinus,5\nanatomically_correct_penis,0\nsanta_hat,0\ncloven_hooves,0\npattern_background,0\ncephalopod_humanoid,5\n5:3,7\nbig_bulge,0\ngynomorph/gynomorph,0\nraised_topwear,0\ndonkey,5\ndromaeosaurid,5\nflower_in_hair,0\nirrumatio,0\npokeball,0\nbandicoot,5\nbaseball_cap,0\n4_arms,0\nbrothers,0\nlaugh,0\nmolosser,5\ncum_on_feet,0\npasties,0\nrough_sex,0\nspiked_bracelet,0\nblue_bottomwear,0\ntoying_partner,0\nfight,0\nathletic_female,0\nhairy,0\ncum_in_hair,0\nschool_uniform,0\nautofellatio,0\nstretching,0\npatreon_logo,0\nskeleton,0\nstaff,0\nblack_pussy,0\nred_background,0\ndeep_navel,0\nhuge_hips,0\nroleplay,0\nblack_underwear,0\nwhip,0\naccipitrid,5\ngynomorph_penetrated,0\nfishnet_legwear,0\nfrog,5\nhemipenes,0\nsplatoon,3\nred_markings,0\nhand_on_chest,0\ngarter_belt,0\nanubian_jackal,5\ncamera,0\nsniffing,0\non_one_leg,0\n10:16,7\nsweetie_belle_(mlp),4\nbrown_ears,0\npurple_feathers,0\nmale_focus,0\nareola_slip,0\nraining,0\nqueen_chrysalis_(mlp),4\npuffy_areola,0\ngreen_nipples,0\nvoyeur,0\nhandcuffs,0\nbadger,5\narms_above_head,0\nball_tuft,0\nlagomorph_humanoid,5\nmuscular_humanoid,0\ngrey_feathers,0\nchimera,5\nwingless_dragon,5\nlooney_tunes,3\negyptian,0\npregnant_female,0\nwhite_penis,0\nasphyxiation,0\nbreast_suck,0\nflexible,0\norange_skin,0\norange_tail,0\nfather_and_son,0\nexercise,0\nblack_markings,0\nspider,5\nred_topwear,0\nspines,0\nflared_penis,0\nhumanoid_penetrating,0\nlegs_tied,0\ntransformation_sequence,0\nhappy_trail,0\nfood_fetish,0\nhymenopteran,5\nswallowing,0\nspyro_the_dragon,3\nglistening_skin,0\ntentacle_hair,0\ncum_from_pussy,0\noceanic_dolphin,5\nbag,0\nwhite_ears,0\ndalmatian,5\nbrown_background,0\nworm's-eye_view,0\narcanine,5\nhuman_penetrating_humanoid,0\nhuman_to_anthro,0\nrestricted_palette,7\nbreasts_frottage,0\nraised_shirt,0\nfoursome,0\nyellow_clothing,0\nteal_eyes,0\nblue_balls,0\nmultiple_poses,0\ntrixie_(mlp),4\nwounded,0\ngoblin,5\nsoft_vore,0\nblue_pussy,0\nhuge_areola,0\nyellow_background,0\ngrey_scales,0\nafter_transformation,0\ntongue_piercing,0\nbackpack,0\nbare_shoulders,0\npain,0\nlocker_room,0\nunusual_bodily_fluids,0\n2007,7\nbat_pony,5\nhyper_muscles,0\nmale_penetrating_intersex,0\nbench,0\nfilled_condom,0\nbrown_clothing,0\nblue_sky,0\nspiral_eyes,0\nmascara,0\npetplay,0\nblack_areola,0\nempty_eyes,0\nmonotone_body,0\nwitch_hat,0\nhandgun,0\nspear,0\nblack_legwear,0\nstand_and_carry_position,0\ncollie,5\nunusual_tail,0\nspanking,0\nhuge_nipples,0\ncaught,0\npumpkin,0\nbutt_from_the_front,0\nbig_pecs,0\norca,5\nmulticolored_feathers,0\nmale_(lore),-1\ncrotch_tuft,0\ngold_jewelry,0\nmottled,0\nbodypaint,0\ncum_pool,0\nahoge,0\ngrey_balls,0\nofficial_art,7\nsign,0\ntext_on_shirt,0\nhumanoidized,0\ntape,0\nbrown_balls,0\nrubber_clothing,0\nfingering_partner,0\ncollaborative,0\narctic_fox,5\ncougar,5\nflashing,0\ngoth,0\ncake,0\nanseriform,5\nambiguous_species,5\naged_up,0\nimprovised_sex_toy,0\napple_bloom_(mlp),4\nblaziken,5\nanatid,5\nprincess,0\nprincess_cadance_(mlp),4\nballs_outline,0\ngoggles_on_head,0\npink_tail,0\narm_grab,0\npalm_tree,0\ngaping_pussy,0\nscootaloo_(mlp),4\nblue_pawpads,0\nmating_press,0\nring_(marking),0\nbrown_penis,0\nprick_ears,0\nhotpants,0\naircraft,0\nbreast_fondling,0\nrainbow_tail,0\ngiraffid,5\nmulti_head,0\njapanese_mythology,3\nurethral_penetration,0\nurine_stream,0\nmorbidly_obese,0\nbig_anus,0\norgans,0\nlarge_penetration,0\nbig_macintosh_(mlp),4\nromantic_ambiance,0\napple,0\nfence,0\nsex_toy_in_pussy,0\nshining_armor_(mlp),4\nshiba_inu,5\nholding_food,0\ncollaborative_sex,0\nwetting,0\nbent_arm,0\nwhite_horn,0\nhands_tied,0\nholding_phone,0\nlogo,0\nbikini_top,0\nleporid_humanoid,5\nmuscular_gynomorph,0\nblue_markings,0\nquads,0\nfingerless_(marking),0\ncountershade_feet,0\nheadgear_only,0\nleash_pull,0\nfeline_penis,0\nwall_(structure),0\nfoot_lick,0\nbox,0\nrumbling_stomach,0\nboxers_(clothing),0\nblue_sclera,0\ncurved_horn,0\nrabbit_humanoid,5\nconsentacles,0\nhead_grab,0\nmachairodontine,5\nears_up,0\ngift,0\nmulti_ear,0\ncleft_of_venus,0\nlycanroc,5\naggressive_retsuko,3\ncloak,0\nsweaty_genitalia,0\npinned,0\nsmartphone,0\ndemon_humanoid,5\nretriever,5\nbody_writing,0\nglowing_genitalia,0\nholding_gun,0\nworried,0\ngreen_topwear,0\nmulticolored_clothing,0\nfecharis,0\npublic_nudity,0\nstitch_(lilo_and_stitch),4\nmonotreme,5\nfloating,0\nvowelless,0\ncel_shading,7\nwristband,0\nturtle,5\ntop_hat,0\nmultiple_scenes,7\nbathing,0\nback_muscles,0\ncentered_hair_bow,0\nsaggy_balls,0\nblack_horn,0\nmusic,0\nstring_instrument,0\npink_underwear,0\nmale_prey,0\nleg_tuft,0\nwinged_arms,0\nblaze_the_cat,4\nfood_play,0\ndragon_humanoid,5\ntwilight_princess,3\nimminent_rape,0\npink_inner_ear,0\nbeer,0\nthigh_gap,0\nrecording,0\nlugia,5\nunseen_character,0\nshadow_the_hedgehog,4\nunusual_genital_fluids,0\nbreast_rest,0\nzangoose,5\nmusical_note,0\nmonotone_ears,0\nred_feathers,0\nmass_effect,3\nblack_shirt,0\nemanata,0\nfoxy_(fnaf),4\nwhite_handwear,0\nrubber_suit,0\nnightmare_fuel,0\nderpy_hooves_(mlp),4\ncervine,5\ncountershade_tail,0\ntan_balls,0\nno_pupils,0\nblue_eyeshadow,0\npictographics,0\nholding_sword,0\norc,5\nhanna-barbera,3\npurple_tail,0\nbarely_visible_pussy,0\nmarvel,3\nasriel_dreemurr,4\nanon,4\nyokai,5\npinch,0\nworgen,5\norgy,0\nmuscular_thighs,0\nfive_nights_at_freddy's:_security_breach,3\ntouhou,3\n2_tails,0\nassisted_exposure,0\nheadwear_only,0\ntwokinds,3\nwyvern,5\nmanmosu_marimo,1\nreflection,0\nhand_on_shoulder,0\ntranslucent_body,0\nweight_gain,0\nbreath_of_the_wild,3\nbovine_humanoid,5\ntwo_tone_skin,0\ndreadlocks,0\nespeon,5\nvegetable,0\nwhite_gloves,0\ncoffee,0\nduck,5\nprince_albert_piercing,0\ncoiling,0\nwatercraft,0\nholding_butt,0\norange_scales,0\nbasic_sequence,0\nkitchen_utensils,0\nproboscidean,5\nringtail,0\nblack_spots,0\nraised_eyebrow,0\ndifferent_sound_effects,0\ndidelphid,5\ntoy,0\nuncensored,7\nanal_knotting,0\nthigh_boots,0\ndomestic_ferret,5\ngame_controller,0\nminiskirt,0\nwearing_condom,0\nankha_(animal_crossing),4\ntopless_male,0\ncorvus_(genus),5\ngrinding,0\nelemental_humanoid,5\nnipple_ring,0\nice_cream,0\npussy_piercing,0\ngaming,0\nyoung_on_young,0\none_breast_out,0\nfemale_penetrating,0\ncream_the_rabbit,4\nphoto,0\nblue_areola,0\nyellow_beak,0\nmother_and_daughter,0\ncover,7\ntan_countershading,0\ndress_shirt,0\nmoney,0\nwizards_of_the_coast,3\nsmaller_ambiguous,0\nzipper,0\nsports_bra,0\nwaving,0\nprosthetic,0\nsport,0\nlegs_together,0\ngiraffe,5\nball_size_difference,0\nbondage_gear,0\nelephantid,5\ntoeless_footwear,0\nteenage_mutant_ninja_turtles,3\nsmall_but_hung,0\nopen_bottomwear,0\npokemon_trainer,4\ntiara,0\neyeliner,0\nnipple_pinch,0\npattern_bottomwear,0\nhylian,5\nsound_warning,1\ndrugs,0\ndominant_anthro,0\n3:5,7\ntwins,0\nnaga,5\nhand_on_face,0\nwhite_markings,0\nposter,0\npublic_sex,0\nteeth_showing,0\nraichu,5\nechidna,5\nflaming_tail,0\ngoodra,5\nfrisk_(undertale),4\nsilhouette,0\nmastery_position,0\nred_tail,0\nglistening_genitalia,0\nsneakers,0\nmouth_shot,0\nundyne,4\nhead_crest,0\ntan_tail,0\nsweaty_balls,0\nschool,0\narched_back,0\njapanese,0\npaper,0\nworkout,0\nlegoshi_(beastars),4\ninkling,5\nanimal_print,0\nmidna,4\ntwo-footed_footjob,0\ncum_on_tail,0\nnipple_slip,0\noveralls,0\nsaliva_on_penis,0\nindustrial_piercing,0\nsurprised_expression,0\nsquare_crossover,0\nrobot_humanoid,5\nrose_(flower),0\nglass_container,0\nblue_claws,0\nopen_pants,0\nlarger_intersex,0\nanimated_skeleton,5\ndigit_ring,0\npokemon_mystery_dungeon,3\nsmall_tail,0\nbody_blush,0\nvampire,5\naliasing,7\ntrans_woman_(lore),-1\nhat_only,0\nbrown_areola,0\nunusual_cum,0\nfinger_in_mouth,0\npale_skin,0\npattern_underwear,0\ncum_in_self,0\nsling_bikini,0\nfalco_lombardi,4\nbioluminescence,0\ngrey_penis,0\nnicole_watterson,4\noff_shoulder,0\nblush_stickers,0\nleaning_back,0\nplucked_string_instrument,0\nsweaty_butt,0\ntext_with_heart,0\nvaginal_knotting,0\noffscreen_character,0\nsubmissive_anthro,0\ncobra,5\npresenting_balls,0\ngrey_ears,0\nblue_ears,0\nglistening_clothing,0\neyeless,0\nandromorph/male,0\ntyphlosion,5\nelephant,5\nbrush,0\n2:1,7\nkirby_(series),3\nface_fucking,0\n2_horns,0\nfakemon,3\ntelevision,0\nbig_head,0\npattern_topwear,0\ngreen_tail,0\nstruggling,0\ntail_through_skirt,0\ncross-popping_vein,0\ntouching_hair,0\nbunny_costume,0\npublic_use,0\nglass_cup,0\nfull_moon,0\nglistening_hair,0\nambiguous_penetrated,0\ngrey_nipples,0\nfart,0\nhands_on_legs,0\nhalo,0\nrhinocerotoid,5\nblack_text,0\nanimal_sex_toy,0\nelectricity,0\nintersex_penetrating_male,0\nanimal_dildo,0\nudders,0\nfinal_fantasy_xiv,3\ntwili,5\nvowelless_sound_effect,0\nskirt_lift,0\nhouse,0\nbig_feet,0\ndragon_ball,3\nborder_collie,5\ncurled_tail,0\nmessy_hair,0\npinniped,5\ncum_covered,0\nfood_creature,5\nmuzzled,0\nred_tongue,0\ntail_sex,0\nfinger_fetish,0\nyoshi,5\nthrobbing,0\nbar,0\nglory_hole,0\nbutt_pose,0\nbreast_milking,0\npenetrable_sex_toy,0\nmulticolored_penis,0\npainting_(artwork),7\n2006,7\neagle,5\nratchet_and_clank,3\nleafeon,5\ntired,0\nspotted_markings,0\nunderwear_around_one_leg,0\ntight_fit,0\nmtf_transformation,0\ngauged_ear,0\npooping,0\norange_background,0\nlinear_sequence,0\ncowbell,0\nfinger_play,0\ncum_in_own_mouth,0\nprecum_string,0\nscience_fiction,0\nchubby_male,0\nwhite_inner_ear,0\naroused,0\nwolf_o'donnell,4\nfairy,5\nvines,0\nfantasy,0\nmicrophone,0\ncleavage_cutout,0\nspreader_bar,0\nape,5\nfake_ears,0\npurple_nose,0\nmastiff,5\nfrilly,0\ncattle_humanoid,5\nlombax,5\ndirty_talk,0\narthropod_humanoid,5\npockets,0\ndisability,0\nstripper_pole,0\ncolored_sketch,7\ndutch_angle,0\nwolf_humanoid,5\numbrella,0\njolteon,5\nrelaxing,0\nmouth_closed,0\ntorn_bottomwear,0\nwool_(fur),0\ntwo_tone_ears,0\nbukkake,0\njiggling,0\nfaceless_female,0\neye_scar,0\nmembranous_frill,0\nbreast_squeeze,0\ntyrannosaurid,5\nchained,0\ncinderace,5\ntail_under_skirt,0\nanal_vore,0\ntickling,0\nmonotone_fur,0\nbowl,0\nmiddle_eastern_mythology,3\nneckerchief,0\nrifle,0\nsitting_on_lap,0\nbeanie,0\nopen_beak,0\nflareon,5\nfish_humanoid,5\ntail_jewelry,0\nyellow_penis,0\nkung_fu_panda,3\nnonbinary_(lore),-1\nscalie_humanoid,5\nbath,0\npower_bottom,0\nangel,5\nconfusion,0\npenis_backwards,0\nwet_body,0\nreading,0\nbodily_noises,0\noutside_sex,0\ntyrannosaurus,5\nclothed_feral,0\nsoft_shading,7\nmonotone_tail,0\nanonymous_artist,1\nbetter_version_at_source,7\ndiscarded_clothing,0\nraised_hand,0\ndetailed_bulge,0\norange_clothing,0\nfilth,0\nvelociraptor,5\nstudio_trigger,3\ntan_scales,0\nvinyl_scratch_(mlp),4\nfallout,3\nplatform_footwear,0\nwhite_pupils,0\nbee,5\nsnake_hood,0\npole_dancing,0\ngenital_torture,0\ncock_vore,0\nbridal_gauntlets,0\ndrinking_glass,0\nmerfolk,5\ntan_hair,0\ncurled_hair,0\nclitoral_winking,0\nthigh_socks,0\nwhite_briefs,0\nwine,0\nwallpaper,7\nineffective_clothing,0\nbird's-eye_view,0\ngills,0\nargonian,5\ndarkened_genitalia,0\ncum_from_mouth,0\nkimono,0\npixel_animation,7\ndouble_anal,0\nminotaur,5\npussy_juice_string,0\npull_out,0\nbrown_scales,0\nsally_acorn,4\ncoco_bandicoot,4\nmascot,0\narm_markings,0\nball_lick,0\nabsol,5\ngazelle,5\nunderwear_pull,0\ntentacle_in_mouth,0\naxe,0\nhuman_pov,0\n?!,0\nwaterfall,0\nlarger_gynomorph,0\ngynomorph_penetrating_male,0\nred_nipples,0\nbikini_bottom,0\nwonderbolts_(mlp),4\nlab_coat,0\nfootprint,0\nanthro_penetrating_feral,0\nlink,4\nalolan_form,5\nwinged_humanoid,5\nunicorn_horn,0\nwet_diaper,0\nnight_in_the_woods,3\nblack_nails,0\nequine_anus,0\nthigh_grab,0\nchristmas_tree,0\nleg_warmers,0\nsilver_hair,0\ndark,0\npink_panties,0\nwitch,0\nscientific_instrument,0\nhalo_(series),3\nveiny_muscles,0\nshield,0\ngreen_sclera,0\npen_(artwork),7\nmewtwo,5\nalphys,4\nbridle,0\nmidnight_lycanroc,5\nfeathered_dragon,5\ntoeless_legwear,0\nrainbow,0\non_sofa,0\n1_eye,0\nhumanoid_on_feral,0\ntyrannosaurus_rex,5\npolice,0\nkitchen,0\nfull_nelson,0\nreaction_image,0\npink_topwear,0\ntable_lotus_position,0\norange_feathers,0\nholding_leg,0\napron_only,0\non_glass,0\ntenting,0\nfurrification,0\nstuck,0\nunusual_genitalia,0\nliving_machine,5\nbald,0\n1:2,7\nwatch,0\ndildo_in_pussy,0\nkeidran,5\nclitoral,0\nlicking_own_lips,0\nblack_footwear,0\nbreastfeeding,0\nthrone,0\nwhite_panties,0\nlgbt_pride,0\non_model,0\ndestruction,0\nstool,0\nplatform_heels,0\nkhajiit,5\ndrinking_cum,0\nspiked_tail,0\namputee,0\ntoilet,0\nriolu,5\nleather_clothing,0\nyelling,0\ntan_background,0\nlol_comments,7\nlocker,0\nridiculous_fit,0\nmale_penetrating_ambiguous,0\nmid_transformation,0\nprosthetic_limb,0\ntribadism,0\nswimming,0\npatreon_username,0\nguitar,0\nself_fondle,0\nblue_shirt,0\nequestria_girls,3\npussy_juice_drip,0\npistol,0\nyellow_balls,0\nlonbluewolf,1\ncigar,0\nfemale_prey,0\ncross,0\nring_(jewelry),0\nhumanoid_taur,5\nprint_clothing,0\nin_heat,0\ncow_print,0\nstripper,0\nfootwear_only,0\nwaddling_head,5\nred_underwear,0\nlive-a-hero,3\nsoiling,0\nclitoris_piercing,0\nwhite_inner_ear_fluff,0\nfungus,0\negyptian_mythology,3\nlidded_eyes,0\nstudio_montagne,3\nhypergryph,3\njumping,0\ncrow,5\nraised_arms,0\nopen_jacket,0\npentagram,0\nguilmon,5\nkonami,3\nwhat_has_science_done,0\nralsei,4\ntan_penis,0\nbutterfly,5\ncutlery,0\narknights,3\ncleaning_tool,0\nincineroar,5\nsackless,0\npandaren,5\nband-aid,0\nsabertooth_(anatomy),0\nlong_foreskin,0\nnosebleed,0\npenis_milking,0\ncollaborative_fellatio,0\nnipple_suck,0\nvoice_acted,7\nthick_bottom_lip,0\nblack_collar,0\nwinter,0\nchocolate,0\ndakimakura_design,0\nsex_on_the_beach,0\ncovering_breasts,0\nmilking_machine,0\nmarsminer,1\npattern_panties,0\nunconvincing_armor,0\ncybernetic_limb,0\nguild_wars,3\nfather_and_daughter,0\ntail_ring,0\nfemale_(lore),-1\nhumanized,0\nbrown_bear,5\naction_pose,0\ndelphox,5\nweights,0\nthrobbing_penis,0\ntail_fin,0\nanal_juice,0\nsmothering,0\nknuckles_the_echidna,4\nfromsoftware,3\nsans_(undertale),4\nreach_around,0\nwrist_cuffs,0\nblue_underwear,0\nicon,7\npun,0\nstar_wars,3\npawprint,0\nintersex_penetrating_intersex,0\ncum_in_nose,0\neyewear_only,0\nsaliva_drip,0\ncolor_swatch,0\nglistening_breasts,0\ngameplay_mechanics,0\nskinny,0\nequid_taur,5\nglowing_penis,0\npride_colors,0\nstriped_underwear,0\nteacher,0\nplant_humanoid,5\nlarger_human,0\nimminent_vore,0\ncharacter_name,7\ncarrot,0\nstraps,0\nblack_panties,0\ntoeless_socks,0\nsmaller_feral,0\nhorn_jewelry,0\nblack_pants,0\nsmaller_version_at_source,7\nprotogen,5\n4_ears,0\nmask_(marking),0\nboxer_briefs,0\nafter_anal,0\nuniversal_studios,3\nheart_after_text,0\nwelsh_corgi,5\npopsicle,0\nlola_bunny,4\nplate,0\nunfinished,7\ntentacle_rape,0\nrope_harness,0\nobliques,0\nstarlight_glimmer_(mlp),4\nanvil_position,0\ncamera_view,0\nholding_cup,0\ntriple_penetration,0\noctavia_(mlp),4\narmlet,0\nafter_masturbation,0\nprostitution,0\nwebbed_feet,0\ntoeless_(marking),0\ndesert,0\nsusie_(deltarune),4\nmanga,7\nstriped_hyena,5\ndungeon,0\noffice,0\nglistening_penis,0\nfemale_on_bottom,0\nafrican_wild_dog,5\nscreen,0\ndialogue_box,0\nchubby_anthro,0\ndungeons_and_dragons,3\ndominant_intersex,0\ncoleoid,5\nmushroom,0\nice,0\narthropod_abdomen,0\nsound_effect_variant,0\ndiscord_(mlp),4\npage_number,0\nringed_eyes,0\nhammer,0\npresenting_breasts,0\nhand_behind_back,0\ngenital_expansion,0\nafter_orgasm,0\nfingernails,0\nchoking,0\ngoof_troop,3\nbrand_new_animal,3\neye_through_hair,0\nspooning,0\nanthro_focus,0\ndouble_dildo,0\npurple_tongue,0\nthumbs_up,0\nbackwards_hat,0\nkiss_mark,0\ndog_humanoid,5\nstriped_bottomwear,0\nholding_leash,0\nexposed,0\nunusual_penis,0\nsize_play,0\ntail_ribbon,0\nflag,0\nvalentine's_day,3\npiebald,0\nfluffy_ears,0\nlaptop,0\nlying_on_bed,0\nbegging,0\nhand_in_pocket,0\nvulpix,5\nthe_bad_guys,3\npizza,0\nchameleon,5\nepic_games,3\ndog_tags,0\nmoth,5\ncasual_exposure,0\nsquint,0\nblack_beak,0\nlamia,5\nmouth_hold,0\npurple_areola,0\ndarkstalkers,3\nbaby,0\nmao_mao:_heroes_of_pure_heart,3\nbottomless_male,0\ncolored_cum,0\nherpestid,5\ngoo_transformation,0\nolder_penetrated,0\nmeme_clothing,0\ndaww,0\ntauren,5\non_table,0\ngym,0\ntalking_to_another,0\nburping,0\nnightmare_moon_(mlp),4\nappliance,0\nwhite_footwear,0\ncovering_crotch,0\nheart_(marking),0\nmixed_media,7\npool_toy,0\nsalamander_(amphibian),5\nbonnie_(fnaf),4\nhair_bun,0\ngreen_feathers,0\nvanilla_the_rabbit,4\ndraenei,5\nsnowing,0\ntumblr,3\nelemental_manipulation,0\nfrenum_piercing,0\ntom_fischbach,1\ndraconequus,5\npattern_shirt,0\nstick,0\nsize_transformation,0\nmetroid,3\nsex_toy_penetration,0\nbucket,0\ngreen_balls,0\ncrystal,0\nleg_wrap,0\nhay,0\nmole_(marking),0\nass_to_ass,0\nbow_(weapon),0\ndot_eyes,0\ntally_marks,0\ninfidelity,0\ngastropod,5\nobject_in_mouth,0\ntake_your_pick,0\ncorruption,0\nnurse,0\ncum_from_nose,0\ncum_on_arm,0\nsssonic2,1\nlollipop,0\nbarn,0\ncum_on_back,0\nbeckoning,0\ngrabbing_sheets,0\nmaned_wolf,5\nwhite_legwear,0\ngrey_nose,0\nanimaniacs,3\nshallow_penetration,0\nballoon,0\ndc_comics,3\nplaying_videogame,0\nstrepsirrhine,5\ncock_and_ball_torture,0\nspread_toes,0\nbetween_breasts,0\ncybernetic_arm,0\npenis_base,0\njack-o'-lantern,0\nwebbed_hands,0\nweightlifting,0\nmotion_blur,0\nspanish_text,7\nswimming_trunks,0\ngrey_topwear,0\nthree_frame_image,0\nthigh_sex,0\ngame_console,0\nlemur,5\nscreaming,0\nsucker_punch_productions,3\nmarried_couple,0\nknee_highs,0\nthrough_wall,0\nsly_cooper_(series),3\ntwo_tone_penis,0\nlyra_heartstrings_(mlp),4\nbathtub,0\ngreen_tongue,0\nasgore_dreemurr,4\nftm_crossgender,0\ncat_tail,0\neye_markings,0\ndeep_penetration,0\ncutoffs,0\nmew,5\nfuf,1\nsportswear,0\nequine_dildo,0\ntail_wraps,0\nmorenatsu,3\nlatias,5\nnintendo_switch,3\nbovid_horn,0\ntoy_chica_(fnaf),4\nyellow_markings,0\nheaddress,0\nfour_frame_image,0\nwrestling,0\nreal,0\nsnuff,0\nspyro,4\narrow_(weapon),0\nfireplace,0\nheart_reaction,0\nselfcest,0\nblue_anus,0\nambiguous_fluids,0\near_tag,0\nleopard_spots,0\nmessy_diaper,0\nwriting_utensil,0\nridged_penis,0\nuvula,0\nrodent_humanoid,5\npen,0\nballs_touching,0\nstomach,0\npanties_around_one_leg,0\nring_gag,0\nnetflix,3\ndark_nipples,0\nno_sclera,0\nunavailable_at_source,7\ngreninja,5\nblue_pants,0\ncrowd,0\nmale_anthro,0\nornithischian,5\ncum_in_clothing,0\npotion,0\nsmelly,0\nwatercolor_(artwork),7\nfortnite,3\npokemon_legends_arceus,3\nyear,0\nmatemi,1\nnoseless,0\nbruised,0\nmuscular_arms,0\nidw_publishing,3\nname_in_dialogue,0\nsangheili,5\nmelanistic,0\nfloor,0\nfake_rabbit_ears,0\nrareware,3\ngolden_retriever,5\ncentaur,5\nstriped_panties,0\nhair_tie,0\nred_shirt,0\nbeady_eyes,0\ntail_coil,0\nmilitary,0\nmojang,3\nmultiple_angles,0\nunprofessional_behavior,0\nunusual_pupils,0\noutie_navel,0\nmultiple_positions,0\nfatal_vore,0\ncum_on_clothing,0\nhand_on_back,0\ntighty_whities,0\nnaturally_censored,0\nknotted_dildo,0\nunbirthing,0\nbrown_markings,0\npink_scales,0\njaguar,5\nrito,5\nspank_marks,0\nrobin_hood_(disney),3\nhow_to_train_your_dragon,3\nsubmissive_human,0\nextended_arm,0\ngrey_claws,0\nyellow_ears,0\nfrilly_clothing,0\narchived_source,7\ndonkey_kong_(series),3\nthigh_squish,0\nstandard_pokéball,0\nanthro_penetrating_humanoid,0\nherm_(lore),-1\ncloudscape,0\nriding_crop,0\nsalazzle,5\ncover_art,7\ntorn_pants,0\nblack_anus,0\nsighthound,5\nsagging_breasts,0\njack-o'_pose,0\nambiguous_prey,0\nmature_intersex,0\nkittydee,1\nwhite_text,0\nanthro_pred,0\ncard,0\nlatex,0\nnature_background,0\ngraffiti,0\nairplane,0\ntentacle_monster,5\npeach_pussy,0\nask_blog,0\ntail_growth,0\ncandy_cane,0\nbroken_horn,0\nmorbidly_obese_anthro,0\nhairclip,0\nglasses_only,0\naogami,1\nolder_anthro,0\nnightfaux,1\npink_feathers,0\ndimwitdog,1\nsiamese,5\nluxray,5\ncervix,0\nyawn,0\npenis_on_face,0\nleg_glider_position,0\nflying_wyvern,5\nkris_(deltarune),4\ngreeting,0\ngumball_watterson,4\npublic_restroom,0\nhuge_bulge,0\niris,0\nsuperhero,0\ntiny_toon_adventures,3\nsimple_eyes,0\ngarter,0\nfuze,1\ncalico_cat,5\ntorture,0\nalley,0\nriver,0\ncreepy,0\nfisting,0\ninfantilism,0\nafter_vore,0\nmaster_tigress,4\nvalve,3\nbackwards_baseball_cap,0\npenguin,5\ncuckold,0\near_fins,0\nhorn_ring,0\nred_bottomwear,0\nprosthetic_arm,0\nunzipped,0\npurple_markings,0\nbelly_overhang,0\npink_ears,0\nferal_pred,0\ncute_expression,0\npainting,0\nbase_one_layout,0\nbrown_stripes,0\ncamelid,5\nankle_cuffs,0\nhare,5\ntwo_tone_clothing,0\naquatic_dragon,5\nbrown_pawpads,0\nhorizontal_pupils,0\ngrabbing_from_behind,0\nbelly_scales,0\nliving_inflatable,5\nfreddy_(fnaf),4\norange_ears,0\nhairless,0\nsuirano,1\ncum_on_pussy,0\ngreen_shirt,0\nmy_hero_academia,3\ntopless_anthro,0\nfart_fetish,0\nhip_grab,0\nwomb_tattoo,0\nmulticolored_eyes,0\nblack_eyelashes,0\npirate,0\nnipple_tape,0\nmeat,0\nladder_piercing,0\ncookie,0\nlooking_at_self,0\ntext_box,0\nball_grab,0\none_row_layout,0\nbeaver,5\nstraw,0\nmale_penetrating_gynomorph,0\nunretracted_foreskin,0\nkevinsano,1\ntail_bow,0\nwhite_face,0\npoodle,5\near_markings,0\nanisodactyl,0\nzp92,1\ngulonine,5\nbasket,0\nandromorph_penetrated,0\nspot_color,7\nwet_fur,0\nbookshelf,0\ncyberconnect2,3\nhumanoid_penetrating_humanoid,0\nlooking_at_object,0\ncover_page,7\nparrot,5\npencil_(object),0\nmedical_instrument,0\ngeneration_9_pokemon,5\ndirectional_arrow,0\ndress_lift,0\nholding_clothing,0\nglowing_markings,0\n2005,7\nmink,5\nphoto_background,0\nbig_biceps,0\nbusty_feral,0\ngood_boy,0\nvillager_(animal_crossing),4\navian_humanoid,5\ncaptured,0\nback_boob,0\nflying_sweatdrops,0\nsplits,0\ncoin,0\nunknown_character,4\ntrunk,0\npunk,0\npetting,0\nbrown_spots,0\nstuttering,0\nvisor,0\nmouthless,0\n4_breasts,0\nblack_handwear,0\nrape_face,0\ngauntlets,0\nlatex_gloves,0\npurple_eyeshadow,0\nblack_wings,0\ncolor_coded,0\npet,0\ntailband,0\npark,0\ncharr,5\nscp_foundation,3\nclothed_female_nude_male,0\ndominant_gynomorph,0\nbent_leg,0\ncervical_penetration,0\ndoll,0\nsketch_page,7\nyellow_nipples,0\nmane_hair,0\nadventure_time,3\nbutt_shot,0\nbracers,0\nmonotone_genitals,0\npseudo_clothing,0\nmature_gynomorph,0\ny_anus,0\nclosed_smile,0\npurple_topwear,0\nblack_tongue,0\nviolence,0\nbig_hands,0\nskinny_dipping,0\ncountershade_legs,0\nliving_vehicle,5\nhead_wings,0\nimminent_death,0\nfeatureless_feet,0\nfoot_grab,0\ntranslation_check,7\nroxanne_wolf_(fnaf),4\nsculpture,0\nquilava,5\nmangle_(fnaf),4\nmarker_(artwork),7\nlake,0\ntwitchyanimation,1\nchinese_text,7\nshoulder_pads,0\noverwatch,3\nholding_character,0\nmonstrous_humanoid,5\nfully_bound,0\nforehead_gem,0\npregnant_sex,0\nchip_'n_dale_rescue_rangers,3\nfusion,0\ndark_fur,0\nwine_glass,0\ngreen_nose,0\npetals,0\nbutt_squish,0\nalien_(franchise),3\npendant,0\nleaking_precum,0\nfighting_ring,0\ndigiphilia,0\nriding,0\ntribal_markings,0\nsnivy,5\nbreast_growth,0\ncollar_tag,0\n2_heads,0\npurple_balls,0\nmotion_outline,0\nhot_spring,0\nhooved_fingers,0\nderp_eyes,0\nshort,0\nzombie,5\nmale_rape,0\nscutes,0\nsame_size_vore,0\ntied_hair,0\ntoe_ring,0\nblack_gloves,0\none_piece,3\ngorilla,5\ntwo_tone_face,0\nmaleherm,0\nhusband_and_wife,0\nwarhammer_(franchise),3\nxenarthran,5\npegging,0\nkorean_text,7\nbutt_expansion,0\nblue_horn,0\nsinging,0\noverweight_intersex,0\nblue_wings,0\ntrans_man_(lore),-1\nextended_sound_effect,0\ntranslucent_tentacles,0\nfor_a_head,0\ntem,5\nshaking_butt,0\ncaprine_horn,0\nherm/male,0\nvirginia_opossum,5\n3_heads,0\npinkamena_(mlp),4\nblinking,0\nninetales,5\nfire_manipulation,0\nanthro_on_top,0\ntemmie_(undertale),4\npantyhose,0\nminecraft,3\nmicro_on_macro,0\nevil_grin,0\nalternate_form,0\nplug_insertion,0\npacifier,0\nbottomless_female,0\nthree_frame_sequence,0\nblue_theme,7\nchica_(fnaf),4\n:d,0\ngreen_areola,0\ntan_inner_ear,0\npanty_pull,0\nnurse_clothing,0\nhand_on_knee,0\nlinked_speech_bubble,0\narmpit_fetish,0\nzzz,0\ngatomon,5\nasriel_dreemurr_(god_form),4\nmale_penetrating_anthro,0\ndaigaijin,1\nrubbing,0\nfeatureless_chest,0\neaster,3\nfurball_(artist),1\nwriting_on_butt,0\natlus,3\nmiddle_finger,0\nkaiju,5\nlock,0\ncum_through,0\ninteractive,7\nleather_topwear,0\ndairy_products,0\nhands_above_head,0\nsuspenders,0\nlarger_ambiguous,0\nsweaty_legs,0\ngenie,5\nbuttplug_insertion,0\nskindentation,0\ncharmander,5\nfishnet_clothing,0\nskyrim,3\noctarian,5\nkirlia,5\nkindred_(lol),4\nold,0\njungle,0\nthroat_swabbing,0\nnun,0\nmae_borowski,4\nstudent,0\ngengar,5\nforced_orgasm,0\nnose_to_anus,0\nrealistic,0\nfog,0\nhands_on_thighs,0\nballs_in_underwear,0\nturian,5\nflirting,0\nhyper_thighs,0\nunimpressed,0\nkitchen_appliance,0\nfrenum_ladder,0\nfreckles_(artist),1\nfemale_raped,0\ndingo,5\nsauna,0\nmienshao,5\nprincess_zelda,4\ngender_symbol,0\njay_(bird),5\nburger,0\nnight_fury,5\nred_claws,0\nsuper_smash_bros.,3\nxenomorph,5\nfluffy_hair,0\norange_penis,0\nbrick_wall,0\ngynomorph_penetrating_gynomorph,0\nexoskeleton,0\non_bench,0\nanatomically_correct_anus,0\nprequel_adventure,3\nholding_beverage,0\nt.u.f.f._puppy,3\ncryptid-creations,1\nbeach_ball,0\nshirtless,0\nserratus,0\nherm/female,0\nnude_male,0\nclothed_male_nude_female,0\nmegami_tensei,3\nnew_world_jay,5\nlooking_through,0\nbuttplug_in_ass,0\nfucking_machine,0\noctoling,5\nlatex_stockings,0\nhuge_penetration,0\nspitfire_(mlp),4\nextended_arms,0\npaint,0\non_towel,0\nholding_cellphone,0\nlimebreaker,1\nbat_(object),0\ncricetid,5\nred_balls,0\nzorua,5\nred_footwear,0\ntomboy,0\nlabrador,5\nlamb_(lol),4\ndominant_feral,0\nmarijuana,0\nclassroom,0\ninkyfrog,1\nsuper_crown,0\nkloudmutt,1\nnipple_penetration,0\ncityscape,0\nmichiru_kagemori,4\nserperior,5\ngym_leader,0\nforeshortening,0\nlong_sleeves,0\negg_vibrator,0\nhand_on_own_leg,0\nmiqo'te,5\nsmudge_proof,1\nbuizel,5\ncastle,0\nfox_tail,0\nbarbell_piercing,0\ngrey_bottomwear,0\negg_insertion,0\n2004,7\nholding_belly,0\nspread_arms,0\nwhite_wings,0\nanubis,4\nlarger_pred,0\nshivering,0\nhladilnik,1\nsubmerged_legs,0\nmale_raping_female,0\nbelly_expansion,0\ncolor_edit,7\ngilda_(mlp),4\nchinese_mythology,3\nprehensile_tail,0\nzeraora,5\ncleft_tail,0\nfloatzel,5\nblue_jay,5\nspiked_armband,0\nbrown_eyebrows,0\nparallel_sex,0\npartially_submerged_legs,0\nreins,0\nsunset_shimmer_(eg),4\npenis_expansion,0\nhead_fin,0\nsheriff_mao_mao_mao,4\nplanet,0\ncum_through_clothing,0\nwhy,0\ntom_nook_(animal_crossing),4\npurple_pussy,0\ndagger,0\nlevitation,0\nknight,0\nninja,0\nwhite_eyebrows,0\npattern_footwear,0\nsummer,0\ncum_on_own_penis,0\ngaping_mouth,0\nskull_head,0\nyounger_anthro,0\nmastergodai,1\nprisoner,0\nball_suck,0\nmuffet,4\nlandscape,0\ntonguejob,0\nsandwich_position,0\ntail_clothing,0\nstriped_footwear,0\nbroom,0\nlegband,0\nhook,0\nholding_tail,0\nliving_aircraft,5\nleather_jacket,0\nlava,0\nlightning,0\norange_sclera,0\nmonotone_breasts,0\ntights,0\nknock-kneed,0\nadult_on_cub,0\nholding_partner,0\nveiny_balls,0\nglistening_nose,0\nwet_underwear,0\ncrustacean,5\nambiguous_form,0\ngas_mask,0\nunusual_genitalia_placement,0\ngargoyle,5\nwarm_colors,7\nglistening_fur,0\nwhite_breasts,0\nprincess_peach,4\nfemale_on_humanoid,0\nwhite_bottomwear,0\nbutt_jiggle,0\nwing_claws,0\nlace,0\ncharmeleon,5\nkatia_managan,4\ncarpet,0\ncloacal,0\nfursuit,0\nforest_background,0\n3_eyes,0\nafterglow,0\nstairs,0\narm_tattoo,0\ngrizzly_bear,5\npartially_inside,0\nweavile,5\nfelino,1\ncanon_couple,0\nperspective,0\nspotted_tail,0\nwhite_perineum,0\ndoughnut,0\nmonotone_face,0\nhumanoid_penetrating_human,0\nbreast_lick,0\noverweight_gynomorph,0\ngrey_areola,0\nstare,0\nperching_position,0\nguardians_of_the_galaxy,3\nlarge_group,0\nfinnick,4\nmonotone_clothing,0\nwaiter,0\ngrey_horn,0\nentwined_tails,0\nblockage_(layout),0\nmorbidly_obese_female,0\nherm_penetrating,0\nall_three_filled,0\npussy_floss,0\nhamster,5\nmale_penetrating_andromorph,0\ncheek_bulge,0\nlegs_in_water,0\nspoon_position,0\npearl_(gem),0\nkick,0\nraised_eyebrows,0\ndrawing,0\nscorbunny,5\n6_breasts,0\nchalkboard,0\nswat_kats,3\nhuman_only,0\nsaddle,0\ntile,0\nrivet_(ratchet_and_clank),4\ncooking,0\nequid_humanoid,5\nlong_legs,0\nrottweiler,5\nhisuian_form,5\nyellow_topwear,0\nbanana,0\nbit_gag,0\nkemono_friends,3\ncool_colors,7\noekaki,0\nbody_part_in_ass,0\npattern_socks,0\nblue_border,0\nhollow_knight,3\nteam_cherry,3\nlove_handles,0\ncheerleader,0\nbaseball_bat,0\ngadget_hackwrench,4\ninformation_board,0\nfate_(series),3\nbirthday,0\nreptile_humanoid,5\noctopodiform,5\nbranch,0\ntranslucent_penis,0\narm_hair,0\nsweaty_breasts,0\ncrush,0\nurine_pool,0\ncum_overflow,0\nsatyr,5\nexcited,0\nprincess_twilight_sparkle_(mlp),4\nfalling,0\nthecon,1\npenis_tentacles,0\nmultifur,0\ntopwear_only,0\nhippopotamid,5\ntail_aside,0\nkirby,4\nmightyena,5\nmuscle_growth,0\nflustered,0\nglistening_butt,0\ndarkner,5\npillarbox,7\ndark_areola,0\ndon_bluth,3\nhuman_to_feral,0\npenis_tuck,0\naaron_(artist),1\nplaid,0\nethereal_hair,0\nankh,0\ncum_on_own_tongue,0\npussy_juice_on_penis,0\naudible_creampie,0\ntoy_bonnie_(fnaf),4\njrvanesbroek,1\nmario,4\ngrabbing_legs,0\nmetal,0\nsonic_the_hedgehog_(idw),3\norgasm_denial,0\nimprovised_dildo,0\navante92,1\nrocket_raccoon,4\nblue_stripes,0\ntwo_tone_feathers,0\nyin_yang,0\nambiguous/ambiguous,0\nspacecraft,0\n4_eyes,0\nlooking_through_legs,0\nharness_gag,0\nstriped_socks,0\nillumination_entertainment,3\nomorashi,0\nbarely_visible_penis,0\npumps,0\nbody_part_in_pussy,0\nsnarling,0\ncleavage_overflow,0\nlights,0\ncarmelita_fox,4\ntan_ears,0\nturtleneck,0\ndominatrix,0\nmountain_dog,5\nmoonlight,0\nmaster,0\nlight_fur,0\ntopless_female,0\ndeep_skin,0\nwayforward,3\ncompression_artifacts,7\nbarbel_(anatomy),0\nyoga_pants,0\nmulticolored_face,0\nyawg,1\ndota,3\nmonotone_nipples,0\nballs_expansion,0\nsonic_boom,3\nspiked_shell,0\nsugarlesspaints,1\ndistracting_watermark,7\nbeetle,5\nshowering,0\nexposure_variation,0\nbattle,0\nking_sombra_(mlp),4\n101_dalmatians,3\nmlp_g5,3\ndepth_of_field,0\nred_horn,0\nred_dress,0\nwinick-lim,1\nreshiram,5\npapyrus_(undertale),4\nlantern,0\nsuspended_in_midair,0\nbadge,0\ntrapped,0\npulling_hair,0\nterrier,5\nfennekin,5\nbeverage_can,0\npiledriver_position,0\nconjoined,0\npubic_mound,0\nspyro_reignited_trilogy,3\novipositor,0\ntrain_position,0\nguide_lines,7\nzecora_(mlp),4\nnew_year,3\ntechnical_incest,0\nnightgown,0\nstealth_sex,0\ntoho,3\nchin_tuft,0\nblack_glans,0\nreverse_missionary_position,0\npussyjob,0\nambiguous_pred,0\npauldron,0\nbare_back,0\nmineral_fauna,5\non_chair,0\ncolor_coded_text,0\nchanged_(video_game),3\norange_nipples,0\nargon_vile,1\ncamo,0\ncountershade_fur,0\nkatana,0\ncomparing,0\nstriped_topwear,0\nspandex,0\nleaning_on_elbow,0\ndoujinshi,7\nunder_covers,0\npink_lips,0\ntiptoes,0\njumpsuit,0\nsoap,0\npajamas,0\ngecko,5\nalternate_costume,0\nimpmon,5\nrussian_text,7\navoid_posting,1\npanel_skew,0\nsimple_shading,7\nscent_hound,5\nnipple_chain,0\npaper_mario,3\ngreen_bottomwear,0\nsubmissive_pov,0\nhugging_from_behind,0\nface_paint,0\ndarkened_balls,0\nprecum_through_clothing,0\ncaprine_demon,5\nmulti_horn,0\nfaceless_anthro,0\npornography,0\nbelly_inflation,0\ngrey_border,0\narachnid_humanoid,5\nsunglasses_on_head,0\nfetlocks,0\nkoopaling,4\ncoffee_mug,0\npenis_shaped_bulge,0\nspaniel,5\ndream,0\nholding_book,0\noral_invitation,0\nshantae_(series),3\nfrilly_underwear,0\nspoon,0\npenis_worship,0\nhumanoid_focus,0\ndirty,0\nbread,0\nhairy_balls,0\nmythological_firebird,5\nstocks,0\nlas_lindas,3\nbow_panties,0\nmistletoe,0\ngreen_markings,0\ncontact_onomatopoeia,0\ntext_on_headwear,0\nbrown_bottomwear,0\nmulticolored_antennae,0\nsweaty_thighs,0\ntent,0\nclitoral_masturbation,0\nvibrator_on_penis,0\nbreath_powers,0\nbalto_(film),3\nblazblue,3\nholding_bottle,0\ndorsal_fin,0\nchristmas_lights,0\npublic_exposure,0\nbottomless_anthro,0\nnight_elf,5\njackalope,5\npunch,0\nparty,0\ntwitter,3\ntail_pull,0\ngym_clothing,0\nretsuko,4\nsoda,0\nraised_inner_eyebrows,0\ncyclops,5\ngui,0\nhaida,4\nback_markings,0\nfamily,0\noverweight_humanoid,0\nmaid_marian,4\ntail_masturbation,0\nbecoming_erect,0\nceratopsian,5\ngodzilla_(series),3\nstage,0\npartially_colored,7\nship,0\ntorn_topwear,0\njaeh,1\nharu_(beastars),4\ndigimon_ghost_game,3\nnipple_barbell,0\ndoneru,1\nkirin,5\ndark_hair,0\nquestion,0\nmonotone_areola,0\nscratches,0\ndouble_leg_grab,0\noryctolagus,5\ninsect_humanoid,5\nlittle_tail_bronx,3\nsimba,4\npencil_skirt,0\nregular_show,3\nall_the_way_through,0\ntrout_(artist),1\ngarchomp,5\natryl,1\npublic_transportation,0\nwhite_sheath,0\nrestroom_stall,0\nshaymin,5\npenis_through_fly,0\ncommon_hippopotamus,5\nmonitor,0\nstatue,0\nadvertisement,0\noni,5\ntowel_only,0\nmax_blackrabbit,1\nherm_penetrated,0\ncutie_mark_crusaders_(mlp),4\nblack_mane,0\nanthro_pov,0\nnidoqueen,5\ndomestic_rabbit,5\nboxing_gloves,0\nsmaller_intersex,0\ngreen_pussy,0\nfelicia_(darkstalkers),4\nbowsette_meme,3\npetruz_(copyright),3\ndragon_ball_super,3\nboat,0\nchinese_clothing,0\ndragonite,5\nsmug_face,0\nsmaller_humanoid,0\nambient_arthropod,5\nnude_female,0\nscreencap,0\ncute_eyes,0\nsilver_soul,4\nrainbow_pride_colors,0\nalternate_universe,0\npink_shirt,0\nanthro_prey,0\nnala,4\ntokifuji,1\nequine_humanoid,5\nknee_pads,0\nhand_on_arm,0\nklonoa_(series),3\ncovering_mouth,0\nliving_plushie,5\nwalk-in,0\nchain_leash,0\nplaying_music,0\nred_collar,0\ncetacean_penis,0\nsqueezing,0\nflinters,1\nslugbox,1\nexplosives,0\nmetallic_body,0\nfield,0\nwing_boner,0\nfalconid,5\noffice_chair,0\nalbino,0\nferal_penetrating_humanoid,0\nquin-nsfw,1\npregnant_male,0\nmicro_bikini,0\nstrawberry,0\nbrown_claws,0\nunusual_penis_placement,0\ntickle_torture,0\nsepia,7\nfalcon,5\ntan_belly,0\npink_sclera,0\nunguligrade_anthro,0\nharpy,5\n8:7,7\n2003,7\npurple_underwear,0\nlaboratory,0\ngrey_countershading,0\nchalo,1\ntube_top,0\nimminent_anal,0\ncan,0\narm_wraps,0\npussy_blush,0\nstrip_club,0\nelectrostimulation,0\nmy_little_pony:_the_movie_(2017),3\nvirtual_youtuber,3\ncolorful,7\nsyringe,0\nathletic_wear,0\ndouble_handjob,0\ntoddler,0\nchest_markings,0\ngradient_hair,0\nautumn,0\nkey,0\nbad_parenting,0\nmegami_tensei_persona,3\nhuman_penetrating_female,0\nprimarina,5\nelder_dragon,5\nhandpaw,0\nwhite_socks,0\nfoot_on_face,0\nsemi_incest,0\nlifted,0\nram_horns,0\nyellow_horn,0\ndraft_horse,5\ndasyuromorph,5\nlarger_humanoid,0\nplap,0\nfeet_on_balls,0\nsing_(movie),3\nfart_cloud,0\nbikini_thong,0\nimplied_transformation,0\nfour_frame_sequence,0\nintimate,0\ndetached_sleeves,0\nbutton_(fastener),0\ncorpse,0\nartist_logo,7\nred_lips,0\nfossil_pokémon,5\nhumanoid_face,0\nbig_pussy,0\nsmall_balls,0\nholding_controller,0\nmottled_genitalia,0\nscreen_face,0\nmeowstic,5\ninsomniacovrlrd,1\nprojectile_lactation,0\nstreet,0\nplayful,0\nhead_frill,0\nlong_eyelashes,0\norange_balls,0\nportal,0\ntea,0\nshinx,5\nnightclub,0\nking,0\ncynder,4\nheadset,0\nampharos,5\nknotted_equine_penis,0\nliving_condom,0\nserval,5\nurine_in_mouth,0\npixar,3\nalaskan_malamute,5\ntail_mouth,0\nscp-1471,4\nmind_break,0\nbirth,0\nhair_grab,0\nblack_bra,0\nwood_floor,0\nflygon,5\nmagic:_the_gathering,3\nclitoral_fingering,0\nabuse,0\nsleep_sex,0\nround_ears,0\nsharp_nails,0\nblack_thigh_highs,0\nambiguous_on_human,0\nnipple_lick,0\nwizard_hat,0\nscp-1471-a,4\nlens_flare,0\nsymbol-shaped_pupils,0\nreplica_(artist),1\nbareback,0\nbig_knot,0\nconjoined_speech_bubble,0\nharem,0\naudino,5\nwrinkled_feet,0\npurple_sclera,0\nflamedramon,5\nmeesh,1\nspongebob_squarepants,3\nhyper_nipples,0\nsubmissive_intersex,0\nraised_calf,0\nmonotone_penis,0\nkadath,1\nmuzzle_piercing,0\nchromatic_aberration,0\nsonic_riders,3\nbarrel,0\nechinoderm,5\nmelting,0\nwrench,0\ndipstick_antennae,0\nhairless_cat,5\npotbelly,0\nmonotone_nose,0\nballs_on_face,0\ntwitching,0\nhazbin_hotel,3\npointy_speech_bubble,0\npicture_frame,0\nyu-gi-oh!,3\nexplosion,0\ntwinkle-sez,1\ntriceratops,5\nspider_humanoid,5\nhole_(anatomy),0\nsmaller_prey,0\nrug,0\nbrown_mane,0\nvowelless_reaction,0\noutside_border,0\ntoothless,4\ntwincest,0\nhyper_bulge,0\ncolored_fire,0\nprehensile_penis,0\ncloacal_penis,0\nside-tie_bikini,0\negyptian_clothing,0\nimpact_onomatopoeia,0\nhoundoom,5\nshoes_only,0\noverweight_feral,0\nover_edge,0\nwire,0\nprison,0\nmotorcycle,0\nmuscular_legs,0\nveil,0\nwhite_diaper,0\nhippogriff,5\nfinal_fantasy_ix,3\nlibrary,0\nwhere_is_your_god_now,0\nbutt_sniffing,0\nfishnet_topwear,0\nsurfboard,0\nvisual_pun,0\nlatios,5\nhorizontal_blockage,0\njuno_(beastars),4\nbreastplate,0\nburmecian,5\ncarrying_partner,0\nklonoa,4\nmr._wolf_(the_bad_guys),4\nwand_vibrator,0\ndeathclaw,5\nlouis_(beastars),4\nsnout_markings,0\ntorso_grab,0\ncrotch_lines,0\nbig_clitoris,0\nblack_dress,0\nmy_life_as_a_teenage_robot,3\nclipboard,0\nflesh_whiskers,0\nbelly_tuft,0\nchest_spike,0\njingle_bell,0\nsea_eagle,5\nveemon,5\nholding_both_legs,0\npantherine_humanoid,5\nerobos,1\nuraeus,0\nabsolute_territory,0\ntalespin,3\nsoarin_(mlp),4\nferaligatr,5\nfighting_pose,0\njack_savage,4\nholding_glass,0\nunguligrade,0\nhorn_grab,0\nblue_inner_ear,0\nhuge_pecs,0\nsocial_nudity,0\nfire_breathing,0\ndeep_rimming,0\nholly_(plant),0\nglacierclear,1\nbrown_topwear,0\nwedding_ring,0\nstory_at_source,7\nharem_outfit,0\nholding_head,0\npipe,0\nwavy_hair,0\nblack_hooves,0\nfork,0\n©,0\nhyper_pregnancy,0\nshorts_down,0\ngreen_yoshi,5\nface_lick,0\ndressing,0\ncrotchless_clothing,0\nunconscious,0\nstraight_legs,0\nzourik,1\nbrown_horn,0\npeafowl,5\navali,5\nmaud_pie_(mlp),4\ncloacal_penetration,0\nred_areola,0\ntransparent_sex_toy,0\nanthro_on_bottom,0\nmilitary_uniform,0\ngoat_demon,5\nlavenderpandy,1\nshocked_expression,0\nfreedom_planet,3\nhorizontal_diphallism,0\nruins,0\nmorning,0\nflaming_hair,0\ncrystal-for-ever,1\nshort_story,0\nmerging,0\nprecum_on_penis,0\nratchet,4\nbanjo-kazooie,3\nneck_bite,0\ncaprine_humanoid,5\nwilling_prey,0\nloose_feather,0\nmiss_kobayashi's_dragon_maid,3\nleucistic,0\ngideon,1\nfluff-kevlar,1\nobject_head,5\ngood_girl,0\nscenery,0\npurple_ears,0\nplant_pot,0\nfive_nights_at_freddy's_3,3\ndoctor,0\nsoldier,0\npurple_claws,0\nfemale_pov,0\ncross-eyed,0\ntwerking,0\nknee_socks,0\nblack_shorts,0\n:<,0\nblood_elf,5\nshantae,4\ntailjob,0\nbib,0\nbigdad,1\nbald_eagle,5\nmawile,5\ndumbbell,0\nbad_metadata,7\nsomescrub,1\ndiane_foxington,4\nshrinking,0\nsprigatito,5\njailbird,1\nimpregnation_request,0\nmottled_penis,0\ntentacle_in_ass,0\nducktales,3\nnuzzling,0\nseptum_ring,0\nwinking_at_viewer,0\nphoenix,5\ncrash_bandicoot,4\ndagasi,1\npink_balls,0\nmachoke,5\ntorn_legwear,0\nelden_ring,3\nzero_pictured,0\nlizardlars,1\nmandibles,0\naged_down,0\nmongoose,5\nimperatorcaesar,1\nlifting,0\nwhite_mane,0\ngreen_underwear,0\nbandeau,0\nferetta,1\nmale_symbol,0\nnurse_uniform,0\nmalacostracan,5\nraphael_(tmnt),4\nmonster_musume,3\nsamus_aran,4\nsphynx_(cat),5\nstomping,0\ngeeflakes,1\nsilver_the_hedgehog,4\nlip_ring,0\nzora,5\ndetached_sheath,0\ntwo_doms_one_sub,0\nbutt_heart,0\nbrother_penetrating_sister,0\nmarina_(splatoon),4\ntail_piercing,0\ntext_on_hat,0\npeg_pete,4\nwind,0\nhearts_around_body,0\ncountershade_neck,0\nblue_highlights,0\nmleonheart,1\nunited_states_of_america,0\ninside_car,0\nruaidri,1\ncum_on_anus,0\nred_lipstick,0\nhands_together,0\nbike_shorts,0\njojo's_bizarre_adventure,3\nid_software,3\nartificial_intelligence,0\nsamurott,5\nstomach_acid,0\nsparrow_(artist),1\njames_howard,1\nraised_bottomwear,0\nred_ears,0\nbottomwear_pull,0\ncompetition,0\npet_praise,0\nberet,0\njerseydevil,1\nmihoyo,3\nred_glans,0\npublic_humiliation,0\nclothed_anthro,0\nvombatiform,5\nejaculating_cum,0\nmalo,5\nhandwear_only,0\ndoom_(series),3\nnight_sky,0\nroad,0\nflower_creature,5\npattern_armwear,0\nfenneko,4\nslug,5\ninternal_monologue,0\nhealth_bar,0\nmarten,5\nimprint,0\n:o,0\nanibaruthecat,1\nteam_fortress_2,3\ntoenails,0\nlatex_clothing,0\npichu,5\ntail_bondage,0\nknees_together,0\ncondom_in_mouth,0\nduel_monster,5\nchara_(undertale),4\ndetailed_fur,0\nstep_pose,0\ngargoyles,3\nhead_first,0\nautotitfuck,0\nanal_tugging,0\nraised_skirt,0\nalolan_vulpix,5\nōkami,3\nstuffing,0\nworship,0\nhuge_tail,0\nfriends,0\nbloated,0\nstraitjacket,0\nchaps,0\nshark_tail,0\nround_glasses,0\nfeathered_crest,0\nhand_on_cheek,0\nlegs_behind_head,0\nfox_spirit,0\ncherry,0\ngnoll,5\ninstant_loss_2koma,3\npoolside,0\nprincess_ember_(mlp),4\nsex_slave,0\near_frill,0\nahri_(lol),4\nfloral,0\nlooking_forward,0\nvertical_splits,0\ntextured_background,0\nstraight_hair,0\nsaluki,5\ncupcake,0\ntawna_bandicoot,4\nteapot_(body_type),0\nmutual_masturbation,0\nnoelle_holiday,4\njustmegabenewell,1\nlustylamb,1\nhuman_prey,0\nambient_insect,5\ncolored_seam_underwear,0\ncampfire,0\nagainst_natural_surface,0\npurple_horn,0\nbedding_background,0\nfurret,5\nfemale_penetrating_male,0\nferal_prey,0\nhuman_on_bottom,0\nmulti_leg,0\nsuntan,0\nguts,0\nbea_santello,4\nhands_on_own_legs,0\ncolumbid,5\nstirrup_socks,0\nyo-kai_watch,3\nwand,0\ntrain,0\ndominant_human,0\n<3_censor,0\nrequiem_shark,5\nred_headwear,0\nponyplay,0\ntan_feathers,0\nhyper_hips,0\nhorizontal_cloaca,0\nbonbon_(mlp),4\nthe_weaver,1\nextreme_size_difference,0\nlegwear_only,0\nbare_chest,0\nneck_grab,0\njenny_wakeman,4\nbig_nose,0\nminerva_mink,4\ntransformation_through_sex,0\nflashw,1\nhyaku_(artist),1\nsex_toy_background,0\nvirgin,0\nbaggy_clothing,0\nfrogtied,0\ndark_souls,3\npurse,0\nflip_flops,0\nsnaggle_tooth,0\nshirt_up,0\npie,0\nleonardo_(tmnt),4\nfemale_penetrating_female,0\nber00,1\nbulging_breasts,0\nspecies_name_in_dialogue,0\ndoorway,0\nurine_on_ground,0\nthunderouserections,1\npattern_stockings,0\nafter_vaginal,0\nobscured_penetration,0\nmetro-goldwyn-mayer,3\nattack,0\ncosmic_hair,0\nprehensile_feet,0\nwolfdog,5\nbraces,0\nraven,5\nscooby-doo_(series),3\nyoga,0\n7:4,7\nbottom_heavy,0\nflesh_tunnel,0\nanal_fisting,0\nfifi_la_fume,4\nstore,0\nmiso_souperstar,1\nteacher_and_student,0\naustralian_shepherd,5\nbrainwashing,0\nmoxxie_(helluva_boss),4\nspeed_bump_position,0\nblue_panties,0\nthinking,0\ntristana_(lol),4\ninteleon,5\nsleeveless_shirt,0\nteddy_bear,0\nbreasts_on_glass,0\ncnidarian,5\ngoo_humanoid,5\nbig_hair,0\nballbusting,0\nfeathered_dinosaur,5\nsmall_pupils,0\nblack_headwear,0\ntan_line,0\ngrey_shirt,0\nspacesuit,0\nthumbnail,7\nmulticolored_topwear,0\ngym_bottomwear,0\nholding_sex_toy,0\nglistening_balls,0\nunwanted_ejaculation,0\nmeowth,5\ntight_foreskin,0\narm_around_shoulders,0\ngrey_beak,0\ngrey_inner_ear,0\ngrandfathered_content,7\nstriped_armwear,0\nbulbasaur,5\npaintbrush,0\nblack_lipstick,0\nleopardus,5\nbeak_fetish,0\ngrowling,0\nsuction_cup,0\nafter_rape,0\ntail_between_legs,0\nsuccubus,5\n2002,7\nred_shoes,0\nlog,0\ncum_on_bed,0\nmostly_offscreen_character,0\nwatsup,1\nlong_claws,0\narmless,0\nred_cheeks,0\nsnakebite_piercing,0\nmuzzle_(marking),0\nultra_beast,5\nsandwich_(food),0\nring-tailed_lemur,5\nfolded,0\nsky_forme_shaymin,5\nholding_thigh,0\ncanine_dildo,0\nakita,5\nsymbiote,5\nbasitin,5\ndirt,0\nthroat,0\npilosan,5\nclothed_male,0\nshelf,0\nbelt_buckle,0\npotted_plant,0\nencasement,0\nwristwatch,0\nred_nails,0\nanal_beads_in_ass,0\nprint_underwear,0\nhelltaker,3\ngym_shorts,0\nviverrid,5\njohn_joseco,1\nfreya_crescent,4\njoaoppereiraus,1\nsoiled_diaper,0\nbgn,1\ngrumpy,0\nprolapse,0\ntext_emphasis,0\nsindoll,1\ngrabbing,0\nskull_mask,0\nhioshiru,1\nfive_frame_image,0\nwhite_spots,0\nblack_stockings,0\nwrists_tied,0\nsploot,0\nstoat,5\naloha_shirt,0\nhard_translated,7\nflag_(object),0\ndragon_quest,3\nstinger,0\nsideburns,0\ntunic,0\ntenshigarden,1\nbored,0\ndreamkeepers,3\npearl_necklace,0\nbite_mark,0\ngreat_dane,5\ndegradation,0\nmusk_clouds,0\nwarframe,3\nmeerkat,5\nglamrock_freddy_(fnaf),4\nred_highlights,0\nslosh,0\nbridge_piercing,0\nnervous_smile,0\nsonic_adventure,3\nsciurid_humanoid,5\ntwo_tone_wings,0\nankk,1\norange_topwear,0\nkihu,1\nsnapchat,3\ntagme,7\ncomic_sans,7\nwaking_up,0\nhand_on_own_thigh,0\npoppy_(lol),4\nkass_(tloz),4\nlynian,5\ndaddy_kink,0\npink_nails,0\npurple_theme,7\nbody_part_in_mouth,0\npouch_(anatomy),0\nbarely_visible_balls,0\nkeyboard,0\nfarm,0\ngolden_shower,0\nopen_mouth_gag,0\nbody_size_growth,0\nafter_kiss,0\narm_pull,0\nkitsune_youkai,1\ntwilight_velvet_(mlp),4\noselotti,1\nneon,0\nremote_control,0\nextreme_penetration,0\nqueen,0\ndarkened_penis,0\nspotlight,0\nfolded_wings,0\nsefeiren,1\nspringtrap_(fnaf),4\npartially_translated,7\nmagazine,0\nspider_web,0\ncosplay_pikachu_(costume),0\ndecapoda,5\nfacial_spikes,0\nstriped_stockings,0\njapanese_school_uniform,0\nkitty_katswell,4\npenis_everywhere,0\nmurid_humanoid,5\nmelon,0\ngrabbing_thighs,0\ngenital_focus,0\nwet_topwear,0\nbreast_smother,0\ncrotch_shot,0\nfrilly_panties,0\nfelyne,5\nbeak_play,0\nzero_suit,0\ngynomorph/herm,0\ncolored_pencil_(artwork),7\nrussian,0\nparasite,0\nmurine_humanoid,5\nmuffled,0\ndigital_creature,5\nhiding,0\ndecapodiform,5\nred_wings,0\ncheerilee_(mlp),4\narctic_wolf,5\ngloves_only,0\nwarhammer_fantasy,3\nprotagonist_(tas),4\nhyper_anus,0\ndewlap_(anatomy),0\ncactus,0\nwrapped_condom,0\nblack_shoes,0\ndecapitation,0\ntag_panic,7\ndragonair,5\nmodeseven,1\npince-nez,0\nsly_cooper,4\nstretched_anus,0\n1-upclock,1\nreceiving_pov,0\ndewott,5\ncaracal_(genus),5\nbarely_visible_anus,0\nossicone,0\nbacklash91,1\npurple_pawpads,0\noral_knotting,0\nknotted_humanoid_penis,0\nbeak_sex,0\nafter_oral,0\nasterozoan,5\nstriped_skunk,5\nyellow_nose,0\nmarjani,1\ndigestion_noises,0\nms_paint_adventures,3\nblue_nails,0\ndouble_vaginal,0\nfireworks,0\ntext_on_tank_top,0\nchief_bogo,4\nblue_mane,0\nwrestler,0\nstarfish,5\nwhite_stripes,0\nhomestuck,3\nghost_hands,0\nexcessive_precum,0\nmizzyam,1\nbig_teats,0\nnidoking,5\nflutterbat_(mlp),4\non_top_of,0\nunder_table,0\nparappa_the_rapper,3\nvallhund,1\nblack_swimwear,0\nknee_tuft,0\nred_kerchief,0\nstolas_(helluva_boss),4\nredishdragie,1\nbeads,0\norange_markings,0\ntheboogie,1\n101_dalmatian_street,3\njar,0\nnatural_breasts,0\namaterasu,4\nupskirt_sex,0\nolder_intersex,0\ncasual_sex,0\nsoulcentinel,1\nmorbidly_obese_male,0\nrestaurant,0\nholding_writing_utensil,0\ntailless,0\nroyal_guard_(mlp),4\nbacksash,1\ntruck_(vehicle),0\ntan_nipples,0\nfanged_wyvern,5\nrainbow_symbol,0\ngodzilla,4\nswimwear_aside,0\nmillie_(helluva_boss),4\nmulti_frame_sequence,0\nskye_(zootopia),4\nforked_tail,0\ncane,0\npink_markings,0\nkneeling_oral_position,0\nhand_on_neck,0\nblue_shorts,0\nalternate_hairstyle,0\nchubby_cheeks,0\nplaid_clothing,0\nautopenetration,0\ntickling_feet,0\nstring_bikini,0\nsitting_on_bed,0\npenis_in_face,0\nnaruto,3\nfairy_tales,3\nderived_sound_effect,0\ndark_nose,0\nagainst_tree,0\ncloth,0\ntrue_parrot,5\nglare,0\n3mangos,1\nviroveteruscy,1\nwet_shirt,0\nbeakjob,0\nheart_clothing,0\nhead_in_crotch,0\ncirclet,0\nsimultaneous_orgasms,0\nbristol,1\nplaying,0\ngynomorph_(lore),-1\ncowboy,0\nmulti_balls,0\nchest_fur,0\nlari,5\nthese_aren't_my_glasses,0\ncalves_up,0\nlipstick_on_penis,0\npossession,0\nblue_footwear,0\nfemale_rimming_male,0\ncaracal,5\nducktales_(2017),3\nblue_lips,0\nmooning,0\nliving_room,0\nkilling,0\nbarely_contained,0\npanties_only,0\nnurse_headwear,0\nalpaca,5\nwhite_outline,0\near_bite,0\nmale_penetrating_feral,0\ncovering_face,0\nmonocle,0\nglowing_body,0\nsink,0\nscuted_arms,0\nkoala,5\neaster_egg,0\nmidday_lycanroc,5\nintersex_on_bottom,0\nfuel_(artist),1\nchinchillid,5\nplant_hair,0\nyellow_claws,0\nspiked_penis,0\npurple_wings,0\nsonic_unleashed,3\nf-r95,1\nbelly_grab,0\nporcupine,5\ntwin_bows,0\ntablet,0\nbadumsquish,1\nyoung_domination,0\nwhite_dress,0\naudience,0\ntea_cup,0\norange_nose,0\ntentaclejob,0\npatto,1\nmature_feral,0\npink_claws,0\nmaid_headdress,0\ncitrinelle,1\nlumineko,1\ninanimate_transformation,0\ndust:_an_elysian_tail,3\nsquirrel_humanoid,5\npawprint_marking,0\nsmug_grin,0\ngreen_ears,0\npink_bottomwear,0\nwedding_dress,0\nnoivern,5\ndragon_ball_z,3\ncheese,0\ntorn_shirt,0\nhalloween_costume,0\nreduced_sound_effect,0\nholstein_friesian_cattle,5\nhooves-art,1\nforeskin_play,0\nvavacung,1\nstudy_partners,3\npersonal_grooming,0\nbrown_face,0\nbusiness_suit,0\nribbed_penis,0\nmoritaka,4\nhearts_around_head,0\nunderwater_sex,0\nplushophilia,0\npink_theme,7\nayaka,1\nmarauder6272,1\nsweaty_penis,0\ncrescent_moon,0\ngiga,0\nmulticolored_mane,0\nnude_beach,0\ntroll,5\npanty_shot,0\nbadgerclops,4\noverweight_ambiguous,0\nbadgerben,1\ne-01,1\ncurled_horns,0\nfeather_hair,0\npenis_kissing,0\nsuperbunnygt,1\nviper,5\nsaltyxodium,1\ncold-blooded-twilight,1\nwater_bottle,0\nblack_bear,5\nmichelangelo_(tmnt),4\nfur_growth,0\ncage,0\nfloating_hands,0\nyounger_human,0\ntrash_can,0\nyveltal,5\nred_theme,7\ncrossover_cosplay,0\nodd_taxi,3\nbase_two_layout,0\nslippers,0\nhose,0\nflower_petals,0\naoizuri,1\ngarland,0\nwarfare_machine,3\nclothed_male_nude_male,0\nrosy_cheeks,0\npom_poms,0\nblack_inner_ear,0\nmonotone_eyebrows,0\nroly,1\ndewclaw,0\nspace_jam,3\ntan_clothing,0\nfluffy_chest,0\ntall,0\nmade_in_abyss,3\nstarbound,3\nlego,3\nvimhomeless,1\nskidd,1\neldiman,1\npec_grasp,0\nleg_hair,0\ngreen_claws,0\ngreen_theme,7\nhuman_on_human,0\nlabia_piercing,0\nmega_lopunny,5\nblue_text,0\npentacle,0\nfeline_pussy,0\ndrone,0\nmale_lactation,0\ntakara_tomy,3\ndouble_thigh_grab,0\nok_k.o.!_let's_be_heroes,3\nbetween_toes,0\nreverse_stand_and_carry_position,0\nprison_guard_position,0\nrunning_makeup,0\nmorgana_(persona),4\nthin_tail,0\nwave,0\nfishnet_armwear,0\npomeranian,5\nholding_clipboard,0\ncum_between_breasts,0\ntransformers,3\nbasketball_(ball),0\npenis_hug,0\nbound_together,0\ntorch,0\nscolipede,5\nwavy_mouth,0\ntreasure,0\nritts,1\nstars_and_stripes,0\nhumanoid_penetrating_anthro,0\nkacey,1\nmoose,5\nchinchilla,5\npikachu_libre,4\nanus_only,0\nlight_beam,0\nwatermelon,0\nmultiple_prey,0\nsticks_the_jungle_badger,4\npurple_bottomwear,0\nextreme_french_kiss,0\nflick_(animal_crossing),4\nocelot,5\ntempest_shadow_(mlp),4\nliquid,0\ntile_floor,0\nshotgun,0\nbarbell,0\nnipple_tuft,0\nambient_sealife,5\nos,1\nlactating_through_clothing,0\nhead_tilt,0\ntailzkim,1\nbeach_umbrella,0\nraymond_(animal_crossing),4\ntransparent_border,0\nwolfblade,1\nholding_arm,0\nabsorption_vore,0\npond,0\nsame-species_bestiality,0\ngrey_markings,0\nlong_nails,0\nintersex/ambiguous,0\nbig_sheath,0\nshort_male,0\nponification,0\nfeather_tuft,0\nbugs_bunny,4\nglowing_nipples,0\nspiral,0\nwaaifu_(arknights),4\npia-sama,1\ncum_explosion,0\nphalangeriform,5\nsepiruth,1\nmud,0\nsitting_on_chair,0\nparty_hat,0\nsun_hat,0\npolice_officer,0\nseal,5\nsix-stripe_rainbow_pride_colors,0\nbrown_footwear,0\nhornet_(hollow_knight),4\ngideon_grey,4\nchopsticks,0\nserafuku,0\nbrown_inner_ear,0\npeeping,0\nbraeburn_(mlp),4\njoelasko,1\ngrey_pants,0\necho_project,3\nnude_anthro,0\nslit_penetration,0\nzwitterkitsune,1\nbig_dildo,0\nevolutionary_family,0\nglowing_cum,0\nkissing_bough,0\nelpatrixf,1\nuser_avatar,0\nhorkeu_kamui_(tas),4\nbelly_rub,0\ntribal_spellcaster,0\npattern_swimwear,0\nthe_truth,0\nsmall_head,0\nwet_hair,0\nferal_focus,0\nbottomwear_aside,0\nsex_in_water,0\nskaven,5\nchinese_dress,0\ndiaper_fetish,0\nsteven_universe,3\nhalf_naked,0\nteal_hair,0\nblack_armwear,0\nblack_hoodie,0\ncartoon_hangover,3\npurple_stripes,0\ntransparent_dildo,0\nlegs_in_air,0\nhead_turned,0\ncomparing_penis,0\nscrafty,5\nblood_on_face,0\ntiger_shark,5\ndouble_v_sign,0\nhappy_tree_friends,3\nbunnie_rabbot,4\nsexual_competition,0\ncuphead_(game),3\nchinese_zodiac,3\nblue_glans,0\nthrobbing_balls,0\nfake_tail,0\ncomic_page,0\ncumshot_in_mouth,0\nsmaller_gynomorph,0\nlitten,5\nyellow_tongue,0\nshower_head,0\nnose_horn,0\nnarehate,5\nwide_stance,0\ncherry_blossom,0\npregnant_intersex,0\ndo_not_distribute,0\nhitachi_magic_wand,0\nrick_griffin,1\ncanid_taur,5\nankama,3\nintestines,0\nbloodshot_eyes,0\nmythological_sphinx,5\npenis_towards_viewer,0\nlounging,0\nyasuyori,4\ngreen_pawpads,0\npaddle,0\nbanjo_(banjo-kazooie),4\ntan_face,0\ntabby_cat,5\nfinal_fantasy_vii,3\nboop,0\nfully_submerged,0\nwind_waker,3\nveiny_knot,0\nauto_penis_lick,0\ninternal_vaginal,0\ndriving,0\nflowey_the_flower,4\nsauropod,5\nquadruple_amputee,0\nblitzo_(helluva_boss),4\nmole_salamander,5\npiranha_plant,5\nridged_horn,0\ncape_buffalo,5\nred_stripes,0\nholding_game_controller,0\nubisoft,3\npaw_patrol,3\nvdisco,1\nmultiple_piercings,0\nmonotone_balls,0\nholding_ball,0\nin_tree,0\nfeatureless_hands,0\nnurse_hat,0\nskateboard,0\nlong_mouth,0\nbad_dragon,3\ngrey_text,0\ncrab,5\nhook_hand,0\nquiver,0\nfours_(artist),1\njurassic_park,3\nforeplay,0\nrunes,0\nblade,0\near_penetration,0\nleib_(tas),4\npit_bull,5\nred_deer,5\nsuit_symbol,0\nfeeding,0\nmouse_humanoid,5\nlivestream,0\ntight_bottomwear,0\npurple_highlights,0\nhydra,5\negyptian_headdress,0\nchest_wraps,0\nbondage_gloves,0\nbojack_horseman,3\nsmoking_pipe,0\nside-tie_panties,0\narania,1\ncum_in_a_cup,0\nskullgirls,3\ncult_of_the_lamb,3\ninterlocked_fingers,0\nblind,0\nsiroc,1\nholster,0\nfeet_first,0\ncliff,0\nazaleesh,1\nhyper_areola,0\nfeather_hands,0\nperil,0\njcosneverexisted,1\napple_inc.,3\nglowing_tongue,0\nlicking_cum,0\nmakarimorph,1\nangstrom,1\nholding_balls,0\nsacrificabominat,1\nprint_topwear,0\nplaystation,3\nmadagascar_(series),3\nglowing_pussy,0\nyaroul,1\nblue_spots,0\nred_hat,0\nunwanted_cum_inside,0\nmecha,0\nwide_image,0\nstriped_shirt,0\npolygonal_speech_bubble,0\nmug,0\nred_pupils,0\nfemale_symbol,0\ntenno,5\nthin_eyebrows,0\nblack_jacket,0\nshiuk,1\nwebsite_logo,0\nvertical_diphallism,0\nhand_on_balls,0\nshane_frost,1\nyellow_areola,0\nfemale_rape,0\n4:7,7\nresident_evil,3\ngenital_scar,0\ndeltoids,0\nspiky_hair,0\nheader,0\nsigh,0\n2_fingers,0\nblue_pupils,0\ntrenchcoat,0\ninner_tube,0\nrole_reversal,0\near_grab,0\nkaka_(blazblue),5\nshirou_ogami,4\nskinny_tail,0\namerican_mythology,3\nbald_crotch,0\nink,0\nred_text,0\ninterspecies_reviewers,3\ngreen_headwear,0\nname_tag,0\nwolverine,5\nimmobile,0\nms_paint,0\ngold_tooth,0\ndonatello_(tmnt),4\ncanine_taur,5\nstubble,0\nblack_outline,0\ncallie_briggs,4\nbob_cut,0\nfoo_dog,5\ntears_of_pleasure,0\nboo_(mario),5\npenis_awe,0\npuddle,0\neldritch_abomination,5\nsmall_wings,0\nbinder_(restraint),0\nedging,0\nhands_in_both_pockets,0\ngenital_growth,0\npurple_shirt,0\nmidair,0\nstriped_arms,0\nred_pawpads,0\nnipple_clamp,0\ncousins,0\nraised_foot,0\nblouse,0\nsuicune,5\nveiny_breasts,0\nwinte,1\nred_scarf,0\nmoogle,5\non_desk,0\nafro,0\nben_10,3\nambient_bird,5\nmilotic,5\ncervical_contact,0\nvulture,5\nhyper_cum,0\nhirundinid,5\nmorning_wood,0\nlittle_red_riding_hood_(copyright),3\nhungry,0\nrobin_hood,4\ncountershade_arms,0\nferal_penetrating_female,0\nsuggestive_gesture,0\nblack_hat,0\ndarkmirage,1\narmpit_play,0\nbeach_towel,0\ngold_coin,0\nnezumi_(artist),1\nfood_insertion,0\nwhite-tailed_deer,5\ndacad,1\nliving_tail,0\nstretched_pussy,0\ngrovyle,5\nbeagle,5\nmti_crossgender,0\nexcessive_feces,0\nthe_lion_guard,3\nolder_gynomorph,0\nowl_demon,5\nboob_hat,0\ncrate,0\njewel_buttplug,0\nsloshing_belly,0\nsenz,1\nchart,0\nmonitor_lizard,5\noff/on,0\nred_pussy,0\npuro_(changed),4\nfelkin,5\ntentacle_in_pussy,0\nwhistle,0\nforehead_markings,0\ntush,1\nlink_(wolf_form),4\nstraw_hat,0\nearth,0\nintersex_on_top,0\nalvin_and_the_chipmunks,3\nhelpless,0\nprodding,0\nkomdog,1\ncocktail,0\nmuscular_feral,0\ndual_holding,0\nred_border,0\nhairpin,0\ntape_gag,0\nmarble_pie_(mlp),4\nmassage,0\nbutt_blush,0\nwave_the_swallow,4\nemolga,5\nmetal_collar,0\nnubbed_penis,0\narmadillo,5\nhead_horn,0\nwrist_grab,0\ntowel_around_neck,0\nstriped_legs,0\ncovered_eyes,0\ndark_pupils,0\nscarf_only,0\nintelligence_loss,0\npussy_juice_leaking,0\nwriting_on_thigh,0\nthick_eyelashes,0\npurple_anus,0\nbreathing,0\ntotodile,5\nheader_box,0\ndotted_background,0\nvulpera,5\nnargacuga,5\nswallow_(bird),5\nscythe,0\nnimbat,5\nflower_(anatomy),0\nfelid_taur,5\nhatching_(art),7\nbehind_glass,0\nrigby_(regular_show),4\ntwistedscarlett60,1\nsneasel,5\nmultiple_orgasms,0\nsafe_sex,0\nstreet_lamp,0\nmultiple_penetration,0\nnozzle,0\n6_arms,0\ncarrot_(artist),1\nfamily_guy,3\nknot_in_sheath,0\nancient_art,7\narthropod_webbing,0\ng-string,0\nmysticalpha,1\naura,0\njirachi,5\nsister_location,3\nwhite_nipples,0\nswiss_mountain_dog,5\ngrowlithe,5\n>_<,0\nlevel_difference,0\nball_worship,0\npteropodid,5\nliving_fruit,5\nblack_face,0\nferalized,0\nwhite_nose,0\ncobondage,0\nonesie,0\ncensored_genitalia,0\nnavel_fetish,0\ncum_on_head,0\nharness_ball_gag,0\nasthexiancal,1\nmordecai_(regular_show),4\ncreative_commons,3\nblue_fire,0\nlapras,5\nfish_tail,0\npenis_in_penis,0\ngabumon,5\nlolita_(fashion),0\nyellow_countershading,0\nnull_bulge,0\nclouded_leopard,5\nkoopa_troopa,5\nclubstripes,3\nrov,1\nextended_leg,0\nscappo,1\nran_yakumo,4\nbenjamin_clawhauser,4\nscroll,0\nfungi_fauna,5\nmiruko,4\npath_lines,0\nplatform_sex,0\ncold,0\nblack_tie_(suit),0\nheart_print,0\nbimbofication,0\npopcorn,0\nvirgin_killer_sweater,0\nrevolver,0\nwariza,0\ncerberus,5\nimminent_orgasm,0\npudgy_belly,0\nthefuckingdevil,1\nmoss,0\nanthro_dominating_human,0\nbeerus,4\nlamb_(cult_of_the_lamb),4\nclade,1\nclawed_fingers,0\ndipteran,5\ngrimace,0\ngroup_masturbation,0\nfaceless_ambiguous,0\nfidget_(elysian_tail),4\nocarina_of_time,3\nasbel_lhant,1\naxolotl,5\nspecies_request,5\nbraided_ponytail,0\npink_highlights,0\ngenshin_impact,3\nholding_legs_up,0\ncoco_pommel_(mlp),4\npants_pull,0\ninsane,0\ninsult,0\nmega_charizard,5\nnicnak044,1\njollyjack,1\nhot_dog,0\nangiewolf,1\nnon-mammal_anus,0\nlady_and_the_tramp,3\nbridge,0\nhill,0\nmaster_po_ping,4\nasari,5\ngoogle,3\ngynomorph_on_bottom,0\npoochyena,5\nhand_in_underwear,0\ninkblot,5\nblue_headwear,0\npet_bowl,0\ncave_story,3\nass_on_glass,0\nforced_transformation,0\ntwo_row_layout,0\nuntil_they_like_it,0\natrolux,1\ncream_heart_(mlp),4\n2001,7\nwet_panties,0\nbernese_mountain_dog,5\nsalandit,5\ncounter,0\nblack_skirt,0\nrainbowscreen,1\nsitting_on_another,0\nbasketball,0\nsweatpants,0\nteratophilia,0\nanal_threading,0\nkremling,5\nfaun_(spyro),5\nnecklace_only,0\nundercut,0\ngreaves,0\npack_street,3\nribs,0\nemoji,0\nleather_cuffs,0\nyellow_teeth,0\ngyrotech,1\nzeiro,1\nelora,4\nbreast_jiggle,0\ndiamond_tiara_(mlp),4\nldr,1\nbatman_(series),3\nshort_anthro,0\nsanta_costume,0\npectoral_bulge,0\nditto_(pokémon),5\ncocker_spaniel,5\nbreath_play,0\nzummeng,1\nfelching,0\namulet,0\nsmolder_(mlp),4\nfrench_text,7\nsash,0\ntodex,1\ncharacter_request,7\nsuperix,1\nkalnareff,1\nperitian,1\nmastectomy_scar,0\npearl_(splatoon),4\nbathrobe,0\ndrinking_urine,0\nglowing_horn,0\nkeyhole_clothing,0\nbull_terrier,5\nfridge,0\ncosplay_pikachu_(character),4\ndoxy,1\ninfinite_genital_fluids,0\nbullying,0\npurple_lips,0\nskyscraper,0\npink_eyeshadow,0\nblack_socks,0\nintersex_on_human,0\ncamo_print,0\ndripping_pussy,0\npurple_and_white,7\nhand_under_leg,0\nyoujomodoki,1\nbrown_pants,0\nkidnapping,0\nchao_(sonic),5\norange_areola,0\nfeet_together,0\ngrey_wings,0\nslit_play,0\nbean_bag,0\nwhisker_markings,0\nboxing,0\nsatisfied,0\nfather_penetrating_son,0\ngazelle_(zootopia),4\ncum_on_partner,0\nphoto_manipulation,7\nych_(character),4\nthe_summoning,3\nsilver_fox,0\ntasque_manager,4\npunishment,0\naudie_(animal_crossing),4\nthe_owl_house,3\ntype,1\nlegs_over_edge,0\nliving_insertion,0\nletter,0\nhair_between_eyes,0\ncock_transformation,0\n^_^,0\ngouryou,4\nyellow_wings,0\nbutt_cleavage,0\nred_mane,0\nanimal_mask,0\nflower_garland,0\nblue_swimwear,0\nhypno_(pokémon),5\nurethral_bulge,0\nsmeargle,5\nsweaty_feet,0\niguanid,5\nbelly_dancer,0\nhead_flower,0\nsmuttysquid,1\nwrestling_singlet,0\ncellulite,0\ngalacticmichi,1\nscorpdk,1\nexhausted,0\nwedgie,0\nsoraka,4\nyellow_shirt,0\ninterspecies_domination,0\nplankboy,1\nhousepets!,3\nconker's_bad_fur_day,3\nswitch_dog,4\npaladins,3\ninternal_anal,0\nelectronic_arts,3\ndual_wielding,0\nloincloth_aside,0\ndbaru,1\nwaist_grab,0\nclaire_(the_summoning),4\nred_bandanna,0\n0r0ch1,1\nlamniform,5\nmarik_azemus34,1\ndrxii,1\nhead_spikes,0\nif_hell_had_a_taste,3\nleaf_hair,0\ntrash,0\nlooking_at_mirror,0\nnintendo_controller,0\nnorithics,1\nzaush,1\nmarie_(splatoon),4\nstanding_in_water,0\nredrusker,1\nkaboozey,1\nassault_rifle,0\nsamoyed,5\ndelivery_(commerce),0\n4_horns,0\nshoulder_blades,0\nangel_(lilo_and_stitch),4\nstaggering_(layout),0\nimplied_incest,0\nmomiji_inubashiri,4\ntwo_subs_one_dom,0\npuppyplay,0\nlifeguard,0\ntranslucent_swimwear,0\ntray,0\nzebstrika,5\nkinktober,3\nbanner,0\nyellow_pussy,0\nlittlest_pet_shop,3\nbittenhard,1\nsharpclaw,5\nyoutuber,0\nstated_sexuality,0\nmulti_tone_fur,0\nlegendary_duo,0\nwince,0\neurasian_red_squirrel,5\npokefound,1\nnarrow_tail,0\nultilix,1\nathletic_intersex,0\nmicropenis,0\norange_beak,0\nswim_ring,0\npleated_skirt,0\nass_to_mouth,0\nyellow_inner_ear,0\namazon_position,0\nhungothenomster,1\nit'll_never_fit,0\nmudkip,5\nplaying_card,0\nmulti_tone_body,0\n<3_pupils,0\nwfa,1\njurassic_world,3\ncyberpunk,0\nanti_dev,1\nreddened_butt,0\nreverse_forced_oral,0\narthropod_abdomen_genitalia,0\nbuckle,0\ndigby_(animal_crossing),4\nstriped_scales,0\noil,0\nscratching,0\neyebrow_ring,0\nsuggestive_food,0\ntojo_the_thief,1\nsoccer_ball,0\nwhite_pussy,0\nfully/fully_submerged,0\nlilo_pelekai,4\naccidental_exposure,0\nbody_in_mouth,0\ngalarian_form,5\nbodyguard_position,0\nreligion,0\nsavanna,0\nrattata,5\npublic_masturbation,0\ncum_on_perineum,0\nmantis,5\nhatterene,5\njack_(beastars),4\ntai_l_rodriguez,1\neating_feces,0\ntsundere,0\nfupa,0\ncum_in_underwear,0\ngrey_face,0\neric_schwartz,1\nblack_eyeshadow,0\ngrey_spots,0\nblue_countershading,0\nbreaking_the_fourth_wall,0\ntreasure_chest,0\nmulticolored_wings,0\nblonde_mane,0\nliving_clothing,5\nblue_eyebrows,0\nchespin,5\ndecidueye,5\ncircle_eyebrows,0\nbared_teeth,0\norgasm_from_oral,0\nflora_(twokinds),4\npolice_hat,0\nbulletproof_vest,0\ngiratina,5\nwereeulipotyphlan,5\nrepeated_text,0\nvehicle_for_hire,0\nwerehog,5\nholding_underwear,0\nplaying_guitar,0\ncrash_team_racing_(series),3\nfantasizing,0\nout-of-placers,3\nscience,0\npride_color_flag,0\nshoulder_grab,0\nribbon_bondage,0\nleomon,5\nwriting_on_belly,0\naphrodisiac,0\nmaking_out,0\nmonotone_skin,0\npresenting_cloaca,0\nchocobo,5\nroaring,0\nenigi09,1\nwhite_tail_tip,0\nymbk,1\nhoop_ear_ring,0\nred_panties,0\nneck_bow,0\nin_container,0\ncurled_up,0\num_jammer_lammy,3\ncum_in_cloaca,0\nneon_lights,0\nllama,5\nvase,0\nknee_boots,0\nwanderlust,3\ndemicoeur,1\narm_under_breasts,0\non_surface,0\nrolled_up_sleeves,0\nsicmop,1\ncity_background,0\nblue_sky_studios,3\nrudragon,1\npokémon_fusion,0\ntentacle_ovipositor,0\nmaster_splinter,4\npink_horn,0\nsitting_on_ground,0\nred_wolf,5\nfasttrack37d,1\nleaning_on_wall,0\nbutt_slap,0\npussy_tape,0\nwolfy-nail,1\nmulti_wing,0\necmajor,1\nbong,0\nmuscular_human,0\nstable,0\nwendy_o._koopa,4\ngrasp,0\nabluedeer,1\ngenital_mutilation,0\nkimacats,1\nthundercats,3\ndetachable,0\ntank,0\nsynth_(vader-san),5\nmontgomery_gator_(fnaf),4\nwalter_sache,1\ninfinite_cum,0\nhearts_around_text,0\npouting,0\npink_lipstick,0\nhead_between_breasts,0\nsoiling_diaper,0\nconfetti,0\ntree_squirrel_humanoid,5\non_hind_legs,0\nblack_boots,0\nbalcony,0\ntikal_the_echidna,4\npear-shaped_figure,0\nadult_swim,3\nwind_instrument,0\narbok,5\nlube_bottle,0\npurple_glans,0\nvibrator_in_pussy,0\nkrogan,5\nmissing_arm,0\ndefeated,0\npurple_border,0\ntranslated_description,7\nmagic_circle,0\nface_mask,0\nhand_on_own_butt,0\njay_naylor,1\nwallaby,5\nherm_penetrating_female,0\nxenophilia,0\nsquirtle,5\ngrey_stripes,0\nbushiroad,3\ncomputer_mouse,0\nsandy_cheeks,4\ngyro_feather,4\ncursedmarked,1\ncircumcision_scar,0\nargento,1\ndrunk_bubble,0\ntwin_hair_bows,0\nleash_and_collar,0\nthylacine,5\nnerd,0\ncommercial_vehicle,0\npointing_at_self,0\nmaldu,1\ncum_taste,0\nblue_dress,0\nstraining,0\nbrick,0\nkilinah,1\nneckwear,0\ntoo_much,0\nbarcode,0\nr-mk,1\ncloaca_juice,0\nbody_horror,0\nratte,1\nforward_arm_support,0\ntexnatsu,3\nin_mouth,0\npercussion_instrument,0\nwhisperfoot,1\nblaze_(marking),0\nhoney_(food),0\npink_footwear,0\ncumming_together,0\nunderwear_sniffing,0\nmap,0\novum_with_heart,0\nholding_container,0\nlysergide,1\ndream_and_nightmare,1\nevening,0\nbubble_gum,0\nserious,0\nmiltank,5\nbacklighting,0\nclown,0\nsnot,0\nstudded_collar,0\nleather_daddy,0\nprosthetic_leg,0\npachirisu,5\norb,0\nmega_man_(series),3\nangel_(mlp),4\nmuffin,0\nbrown_pussy,0\narmbinder,0\nbefore_and_after,0\nrukis,1\nstar_eyes,0\nteeth_visible,0\nhandjob_while_penetrating,0\nlatex_legwear,0\nsleeveless,0\nobscured_eyes,0\nwhat_has_magic_done,0\nmulticolored_footwear,0\nlooking_at_butt,0\nxenoforge,1\nriendonut,1\nguardian_spirit,5\nliger,5\nglamrock_chica_(fnaf),4\nfearingfun,1\nblaidd_(elden_ring),4\nstriped_skin,0\ndesperation,0\nkazooie,4\nmulticolored_legwear,0\nmellonsoda,1\nxylas,1\ngift_wrapped,0\nemenius,1\nhololive,3\nnecrophilia,0\nbetween_legs,0\nspeaker,0\nthem's_fightin'_herds,3\nlying_on_ground,0\nsable_able,4\nexveemon,5\nasura,5\nsuckling,0\nruby_(gem),0\nych_result,0\nclone,0\nstomach_hair,0\ntom_and_jerry,3\nblitzdrachin,1\nclub_(weapon),0\nstraight_leg,0\ntoothy_grin,0\nmetal_(artist),1\njinti_(artist),1\nsolatorobo,3\nbassybefuddle,1\nhyper_feces,0\nfur_trim_(clothing),0\njumpstart_games,3\nlarid,5\nmettaton,4\nsnake_humanoid,5\nkingdom_hearts,3\ndarkflash23,1\ntsudamaku,1\npocketpaws,1\ntube,0\nwasp,5\ngroping_breasts,0\nmega_lucario,5\nstocky,0\ninnuendo,0\ngroping_from_behind,0\ncorruption_of_champions,3\nori_(series),3\nmonotone_butt,0\nwhisper_the_wolf,4\nmeloetta,5\nburgerkiss,1\nkeyhole_turtleneck,0\ncross_necklace,0\nfixed_toy,0\nblack_hands,0\nforce_feeding,0\ntiger_humanoid,5\npussy_outline,0\ntan_areola,0\nteam_rocket,3\npizza_box,0\nhot_tub,0\npurple_lipstick,0\nsmooth_horn,0\nred_and_white,7\nraised_heel,0\ngynomorph/ambiguous,0\nsunbeam,0\nlepidopteran_wings,0\npseudo_mane,0\nglistening_areola,0\nshibeta,4\npython,5\nworm,5\nangry_sex,0\nbrushing,0\ntsampikos,1\npride_color_clothing,0\nlaboratory_equipment,0\ngerudo,5\nelateroid,5\nhand_on_chin,0\nspontaneous_ejaculation,0\ntight_topwear,0\nhorizontal_staggering,0\nmalicekira,1\nshower_sex,0\nred_eyebrows,0\nholding_pokéball,0\nmommy_kink,0\nmattel,3\ntail_hug,0\nfaint,1\nblue_face,0\nspelunker_sal,1\nhaychel,1\ndrako1997,1\ntruegrave9,1\ngynomorph_on_human,0\nau_ra,5\nblue_collar,0\nfeet_up,0\ntentacle_around_leg,0\nclaw_marks,0\nholding_tool,0\nsleeves,0\nfirefly,5\ngrey_pawpads,0\nmokdai,4\ndresser,0\ntoy_freddy_(fnaf),4\npanicking,0\nneopets,3\npurple_panties,0\nbamboo,0\nhospital,0\nface_mounting,0\npolitics,0\nel-loko,1\nraised_leg_grab,0\nhorseshoe,0\nback_groove,0\nleg_wraps,0\ntraining_bra,0\ntelekinesis,0\nthinking_with_portals,0\nsubtitled,0\nsbshouseofpancakes,1\nwakfu,3\nbomb,0\ninanimate_object,5\nv-cut,0\nzero_unit,0\ntricksta,1\ngull,5\ncum_on_ear,0\nslideshow,7\ndrowning,0\ngrid_layout,0\nrockruff,5\npirate_tawna,4\nsega_toys,3\nred_legwear,0\nlight_face,0\ntrue_owl,5\nhose_inflation,0\nmetal_gear,3\nstriped_genitalia,0\ngrazing_antelope,5\ngas,0\nexposed_endoskeleton,0\nbouncing,0\nwings_of_fire,3\nvibrator_in_ass,0\npenis_on_head,0\npenis_humiliation,0\npit_viper,5\nlaser,0\nraised_paw,0\ntoto_draw,1\nchips_(food),0\nstudio_klondike,3\ncardboard,0\ninfestation,0\nmultiple_ova,0\nscrewingwithsfm,1\nli_li_stormstout,4\nkomodo_dragon,5\nred_pandaren,5\nhandcuffed,0\njet,0\nbare_breasts,0\nsanta_claus,4\nopen_frown,0\ntaokaka,4\nflurry_heart_(mlp),4\nearbuds,0\nkatie_hofgard,1\nnekojishi,3\nlineup,0\nheart_underwear,0\nnewspaper,0\ndreiker,1\nmedieval,0\nx-com,3\nprint_panties,0\ncyancapsule,1\narms_by_side,0\nsexfight,0\nsocks_only,0\nblues64,1\nposexe,1\nlong_horn,0\nhand_on_own_hip,0\nscabbard,0\nlaboratory_glassware,0\ncollaborative_titfuck,0\non_grass,0\nwinnie_the_pooh_(franchise),3\niskra,1\nkeyhole_underwear,0\nloveslove,1\nnurinaki,1\nprostate_stimulation,0\ntail_gesture,0\nmixed_breed,5\nharmarist,1\ntemple,0\ncord,0\nseth-iova,1\nsilver_spoon_(mlp),4\nrooster_teeth,3\nannouncing_orgasm,0\no_o,0\nstreet_fighter,3\ncountershade_butt,0\nkeith_keiser,4\npsy101,1\nfrumples,1\ngrape,0\namazing_background,0\npenis_growth,0\nyinglet,5\nlizardman,5\nbelly_riding,0\nlandscape_dwarfing,0\nbreath_cloud,0\nankle_strap_heels,0\nkirby_and_the_forgotten_land,3\ntorso_shot,0\nitsunknownanon,1\nprostate,0\nholding_flag,0\nmottled_body,0\ntroll_(homestuck),5\nknot_fucking,0\ntwintails_(hairstyle),0\npigeon,5\ni_mean_breast_milk,3\nshirt_collar,0\nurine_on_face,0\nblushing_profusely,0\novaries,0\nx_anus,0\nlong_torso,0\nswamp,0\nleashed_pov,0\ncrash_team_racing_nitro-fueled,3\naccident,0\nbigdon1992,1\naggron,5\nashraely,1\nmot,1\ngyobu,4\ngirokett,1\ngallade,5\nzig_zag,4\nsitting_on_penis,0\ntipping,0\nblonde_eyebrows,0\nlittle_red_riding_hood,4\nhorn_piercing,0\namphibia_(series),3\ncemetery,0\nhay_bale,0\nfire_emblem,3\nthe_jungle_book,3\nrave,0\npredator_(franchise),3\nkenket,1\ntribal_tattoo,0\nneurodyne,1\nmax_goof,4\npickles-hyena,1\ntwo_tone_topwear,0\nsceptile,5\nholding_condom,0\ncompfive,1\npheromosa,5\nseashell,0\nteapot,0\npink_dress,0\ncolor_coded_speech_bubble,0\ncrotchless_underwear,0\nmrs._cake_(mlp),4\nholding_pen,0\npurple_nails,0\nsix_frame_image,0\ngreen_wings,0\ndipodid,5\nsniper_rifle,0\nsalute,0\near_bow,0\nshyguy,5\nstar_trek,3\nteemo_(lol),4\nkomainu,5\nlarva,0\npancake,0\nautofootjob,0\nquills,0\ngreen_hat,0\nferal_on_top,0\noblivion,3\nanal_prolapse,0\ninbreeding,0\nfire_creature,5\njenna_(balto),4\nresting,0\nreaching,0\nrath_wyvern,5\npassionate,0\nrebecca_cunningham,4\nstriped_penis,0\ntranslucent_topwear,0\nnatani,4\nneck_ring,0\nphotorealism,0\nsabretoothed_ermine,1\nant,5\nfurryfight_chronicles,3\nbobert,1\nathletic_gynomorph,0\narthur_(series),3\nkitchiki,1\npigeon_toed,0\nsheath_piercing,0\neyelashes_through_hair,0\nrevadiehard,1\nmonotone_eyes,0\nwhisker_spots,0\nangel_humanoid,5\nhammock,0\njerboa,5\ntail_anus,0\nfive_frame_sequence,0\ntail_in_mouth,0\nshota_feline_(marimo),4\npenis_shot,0\nemo,0\nthreatening,0\nnotkastar,1\npeculiart,1\nfallout_equestria,3\nberseepon09,1\ndefloration,0\ncum_on_wall,0\nsunburst_(mlp),4\ncallie_(splatoon),4\ncypriniform,5\nyautja,5\nnavel_penetration,0\npatamon,5\nblack_bikini,0\nmyriapod,5\nhand_wraps,0\nopen_vest,0\nturkey,5\npink_collar,0\njon_talbain,4\nconrie,1\ndofus,3\nmissing_sample,7\npantsing,0\n2000,7\nkeyboard_instrument,0\nminkmen_(one_piece),5\nredout,1\nsilly,0\nelderly_female,0\nexplicitly_stated_nonconsent,0\nfinger_lick,0\ncaptain_nikko,1\nspecies_name,0\ngreen_anus,0\ndawn_bellwether,4\nsnowflake,0\nmasochism,0\nstar_vs._the_forces_of_evil,3\nobstagoon,5\nnotebook,0\nkuroodod,1\nkoul,1\nwhite_shoes,0\nmy_little_pony_(idw),3\nbroken_condom,0\nvolos,4\nmedical,0\nstroking,0\nnintendo_ds_family,3\ncu_sith_(tas),4\ncleaning,0\ngreasymojo,1\nlammy_lamb,4\nvrabo,1\nmarker,0\nparasol,0\nmonotone_belly,0\nfishing_rod,0\ndruid,0\nnervous_sweat,0\nasnnonaka,1\noppai_loli,0\ntombstone,0\nsensory_deprivation,0\nglorp,0\nraised_finger,0\ncyprinid,5\nboots_only,0\nzekrom,5\nbrown_theme,7\nash_ketchum,4\nglowstick,0\nfeather_duster,0\nspotted_skin,0\nfeminization,0\ninu-sama,1\nniis,1\nneopet_(species),5\ndark_theme,7\nnazi,0\nfoot_on_penis,0\nbluey_(series),3\nsushi,0\ncape_only,0\nsuper_mario_odyssey,3\nscrotum_piercing,0\nchest_tattoo,0\nmonotone_claws,0\ncommand,0\nstriped_background,0\nobject_in_ass,0\nslb,1\nolder_dom_younger_sub,0\nclassy,0\nheart_nose,0\nthesecretcave,1\ndiives,1\nclydesdale,5\nshirt_cuffs,0\nrooftop,0\nsunrise,0\nspotted_scales,0\nshirt_only,0\ndominant_humanoid,0\nupset,0\ntentacle_fellatio,0\nfalvie,1\nemoticon,0\ndenizen1414,1\nnidorina,5\nbird_humanoid,5\nswampert,5\nbed_bondage,0\nclothed_female,0\nblack_feet,0\n4_balls,0\ndisgust,0\ndirty_feet,0\nfedora,0\nwalrus,5\nsam_and_max,3\nopen_robe,0\nxnirox,1\nlatiar,1\ncaroo,1\nsubmissive_feral,0\nanimal_head,5\n9:14,7\njavkiller,1\nsasha_(animal_crossing),4\ngallus_(mlp),4\nimanika,1\nvg_cats,3\neliana-asato,1\nmiles_df,1\nartica_sparkle,4\nsidewalk,0\ndigital_hazard,0\ninverted_zero_unit,0\nbutton_mash_(mlp),4\nblue_legwear,0\ndanji-isthmus,1\noryx,5\nowo,0\npokemon_humanoid,5\nsiberian_husky,5\ntorahiko_(morenatsu),4\ns-nina,1\nunwanted_erection,0\ndark_text,0\nsnout_fuck,0\nprincess_connect!_re:dive,3\nkerchief_only,0\nstirrup_stockings,0\nbrown_wings,0\nslimefur,1\nshort_fur,0\nyellow_border,0\nstarter_trio,0\nwhite_thigh_highs,0\nkathrin_vaughan,4\nfive_nights_at_freddy's_4,3\nwhite_butt,0\nkanel,1\nsonic_x,3\nleviathan_(mh),5\nfingerpads,0\nori_and_the_blind_forest,3\nleather_harness,0\non_one_knee,0\njewelpet,3\nvertical_blockage,0\njuuichi_mikazuki,4\nback_spikes,0\nkandlin,1\ncalendar,0\nstar_polygon,0\nnicole_the_lynx,4\nextended_legs,0\nridley,4\nanchee,1\nrailing,0\npicnic,0\ndragonborn_(dnd),5\nwrist_tuft,0\nstorm,0\nscissors,0\nvisibly_trans,0\ngris_swimsuit,3\nlooking_at_breasts,0\nbatartcave,1\npheromones,0\nthigh_markings,0\nstyle_wager,1\ntransgender_pride_colors,0\nsaurian_(artist),1\ncrotchless_panties,0\npurple_legwear,0\nblotch,1\nflynx-flink,1\nknot_root,0\nlight_hair,0\nrunning_mascara,0\nshoreline,0\nhand_on_tail,0\nbegging_pose,0\npink_legwear,0\npants_around_one_leg,0\nmummy,0\ntext_on_underwear,0\nmega_absol,5\nviper_(x-com),5\nmti_transformation,0\narmchair,0\nundressed,0\ncum_through_underwear,0\nheather_bruton,1\nmatospectoru,1\nsonic_the_werehog,4\nsash_lilac,4\nittybittykittytittys,1\nmonotone_topwear,0\nteckworks,1\nsmall_penis_humiliation,0\nholding_smartphone,0\ncondom_balloon,0\ncamychan,1\nlooking_down_at_viewer,0\nsonsasu,1\niwbitu,1\ncloth_gag,0\nobject_penetration,0\nathletic_humanoid,0\ncotora,1\ncybertronian,5\nthebigbadwolf01,1\nsunscreen,0\nkrazyelf,1\nmonster_kid,4\ntsaiwolf,1\noverstimulation,0\npresenting_partner,0\nmonotone_background,0\nrat_tail,0\nliquid_latex,0\nreverse_countershading,0\njumperbear,1\ndisembodied_head,0\nstrapless_clothing,0\nisland,0\nlightsaber,0\nakiric,1\nmascara_tears,0\nhyper_inflation,0\ncat_lingerie,0\ncum_collecting,0\ntopwear_pull,0\nadult_(lore),-1\nhuman_and_animal_ears,0\nbuttplug_tail,0\nheat_(temperature),0\nblastoise,5\ncoffee_cup,0\ninside_balls,0\nkyappy,4\nnanachi,4\ngeneral-irrelevant,1\npadlock,0\nbayleef,5\nlust,0\ncauldron,0\nhypnotic_eyes,0\nladder,0\nbutt_hair,0\nnettsuu,1\nbar_emanata,0\nwhite_hands,0\nventkazemaru,1\ngimp_suit,0\nmana_(series),3\nankles_tied,0\npussy_close-up,0\nwhite_headwear,0\nhands_on_knees,0\nbouquet,0\ncum_on_muzzle,0\norientation_play,0\ndarkness,0\nsnail,5\ntree_stump,0\nteen_titans,3\nbucky_o'hare_(series),3\nabstract_art,0\nhuge_anus,0\noshawott,5\nchewycuticle,1\npenny_fitzgerald,4\nfrilly_bra,0\nelvche,1\nsheath_play,0\nbreegull,5\nascot,0\nseyrmo,1\nadastra_(series),3\nyellow_underwear,0\ntan_markings,0\nred_eyeshadow,0\nyellow_bottomwear,0\nvolleyball,0\nfoot_wraps,0\nsenthaurekmern,1\ntesticle_cuff,0\nnon-euclidean_sex,0\npink_border,0\nglistening_tail,0\nrattlesnake,5\nfacial_horn,0\nwander_over_yonder,3\nbonk,1\nvessel_(species),5\ncamping,0\ntext_header,0\nandromorph_(lore),-1\nbubo_(genus),5\nalolan_ninetales,5\nfurryratchet,1\nsnorlax,5\ndark_elf,5\nwe_bare_bears,3\nnoname55,1\nnegger,1\ndiamond_(gem),0\nblue_hat,0\ntorn_jeans,0\ngold_necklace,0\nrainbow_clothing,0\nkekitopu,1\npocky,3\nlordstevie,1\ngnar_(lol),4\nclosed_frown,0\nskipsy,1\nblack-kitten,1\ncheek_spots,0\nundershirt,0\nrotten_robbie,1\nsurprise_sex,0\nnekomata,5\ntyranitar,5\nanonymous,4\nboosterpang,1\noblivious,0\nbodily_fluids_in_pussy,0\npink_bra,0\nqualzar,1\nmittens,0\nmerunyaa,1\nquarian,5\ngrey_pussy,0\nobese_feral,0\nsandslash,5\nfood_humanoid,5\nclassic_sonic_(universe),3\nbirthday_cake,0\nmismagius,5\nholiday_message,0\ngranblue_fantasy,3\nfish_hooking,0\npopcap_games,3\ntoe_restraints,0\ngorsha_pendragon,1\ngrey_eyebrows,0\nanthroponiessfm,1\ninvader_zim,3\ntitle,0\nzero-sum,1\nisvoc,1\nbowed_string_instrument,0\nfaceless,0\nlonginius,1\npenis_through_leghole,0\nbar_stool,0\nlunalei,1\naccelo,1\nshovel,0\nlegs_back,0\ncensored_penis,0\nnasus_(lol),4\ntrinity-fate62,1\nheart_font,0\nimminent_oral,0\nw4g4,1\nnoodles,0\ntennis_ball,0\npillar,0\nbraeburned,1\nmole_(animal),5\nbelly_groan,0\ngregg_lee,4\nshoulder_guards,0\ndoesnotexist,1\nrubber_duck,0\npterosaur,5\nkong,5\nslypon,1\nsack,0\nadastra,3\nanserinae,5\nvisionaryserpent,1\ncollar_ring,0\nkingofacesx,1\nhell,0\norange_tongue,0\nsdorica,3\nslippy_toad,4\norange_face,0\nsumo,0\nmimiga,5\nearthbound_(series),3\nlop_rabbit,5\ntoothbrush,0\niconography,0\ninuki,1\nminun,5\nweregarurumon,5\nsonic_forces,3\ncum_on_knot,0\nking_k._rool,4\ndragk,1\nleash_in_mouth,0\nlily_pad,0\nc.j._(animal_crossing),4\nwolf_tail,0\nstitch_(sewing),0\nflashlight,0\ncervine_penis,0\nghibli,3\ntalking_to_partner,0\ntaking_picture,0\nnon-mammal_pussy,0\nmulticolored_shirt,0\nprincess_connect!,3\nred_handwear,0\nfuture_card_buddyfight,3\nassimilation,0\nlegendz,3\nplusle,5\nglistening_tongue,0\nj7w,1\nsunflower,0\nkazuhiro,1\nbabs_seed_(mlp),4\narm_around_neck,0\nmirror_selfie,0\nscientist,0\nosamu_tezuka,3\nback_tentacles,0\nmedium_hair,0\nbig_claws,0\nuncle,0\nveiny_dildo,0\nsoftestpuffss,1\nurocyon,5\nmale_penetrating_herm,0\nexcessive_pussy_juice,0\ngasp,0\nchrisandcompany,1\nberry,0\nmolestation,0\nspice_and_wolf,3\nnaughty_dog,3\nlop_ears,0\nteil,1\nhuman_to_humanoid,0\nmachamp,5\nsableye,5\nclimbing,0\ncovering_own_mouth,0\nbutt_markings,0\nnephew,0\nbanette,5\ncockatoo,5\nlimestone_pie_(mlp),4\ntattoorexy,1\ntoad_(mario),5\ntouching_penis,0\ntag,0\ninfernape,5\nwings_tied,0\niztli,1\ntendrils,0\nbig_tongue,0\nsunny,0\nenergy,0\nbreast_implants,0\nluxio,5\ntoxtricity,5\nanais_watterson,4\nwedding,0\nvambraces,0\ncarrot_(one_piece),4\nbowser_jr.,4\nogre,5\nbig_pupils,0\nmickey_mouse,4\ndark_eyebrows,0\ndildo_fellatio,0\nwildstar,3\nsubmissive_gynomorph,0\ndark-moltres,1\nflaaffy,5\nscar_(the_lion_king),4\ntoeless_stockings,0\npalico,5\nholo_(spice_and_wolf),4\narmello,3\ncountershade_hands,0\nred_inner_ear,0\nyellow_pawpads,0\nkammi-lu,1\nfuturistic,0\nbelly_squish,0\nritual,0\njenny_(bucky_o'hare),4\nclothing_bow,0\ndbd,1\narthropod_taur,5\ntwin_braids,0\nsnowman,0\ntaunting,0\noystercatcher7,1\nphotography_(artwork),7\nlucky_pierre,0\nbelt_pouch,0\nbelly_markings,0\nthreaded_by_tentacle,0\njames_m_hardiman,1\nfox_taur,5\nbzeh,1\nspinal22,1\nwooloo,5\nsulfurbunny_(artist),1\ndancewear,0\nshining_(sega),3\njoke,0\ntwo_tone_eyes,0\nreilukah,1\ngame_over,0\nshrug,0\nsnowballing,0\nflower_crown,0\nface_imprint,0\nrescued_dragons_(spyro),4\npurple_mane,0\nnewt,5\nholding_flower,0\nwittless-pilgrim,1\nbabs_bunny,4\nsorafoxyteils,1\npenis_shrinking,0\nwolf_(lol),4\nwhite_wool,0\nbunnybits,1\npenis_in_mouth,0\ngoogle_doodle,3\ndr_comet,1\ntail_censorship,0\nizzy_moonbow_(mlp),4\npatient,0\narms_together,0\nbody_part_growth,0\nnoose,0\nvenom_(marvel),4\nfrist44,1\ntoilet_paper,0\nryona,0\npersonalami,1\nmulticolored_horn,0\nlightsource,1\ndisgaea,3\nhandstand,0\ndaring_do_(mlp),4\nconcept_art,7\nashigara,4\njwinkz,1\nambiguous_focus,0\narmpit_sniffing,0\nholding_staff,0\ndrugged,0\ncollared_shirt,0\ntorracat,5\nrattle_(anatomy),0\nback_tuft,0\nsunibee,1\nflower_accessory,0\nshirt_pull,0\nbicycle,0\npaw_pose,0\nbus,0\nangel_dust,4\nsuper_smash_bros._ultimate,3\nboo3,1\nslightly_chubby_female,0\ntail_penis,0\nsheep_humanoid,5\namerican_dragon:_jake_long,3\nhappy_birthday,0\nnom,0\nback_spines,0\ngammamon,5\nwriting_on_breasts,0\nsamurai_pizza_cats,3\ngreen_highlights,0\nanimated_comic,7\ntea_bagging,0\nsweaty_anus,0\nwarwick_(lol),4\nplants_vs._zombies,3\nromantic_sex,0\npolo_shirt,0\ngenital_danger_play,0\nerect_clitoris,0\npink_and_white,7\nagainst_furniture,0\nthick_neck,0\nbrown_hands,0\nrengar_(lol),4\nalcor90,1\nmarblesoda,1\nsuelix,1\nstargazer,1\nunbuttoned,0\nmagazine_cover,7\nbed_covers,0\ntexting,0\nslashysmiley,1\njersey,0\ngomamon,5\ndasyurid,5\nseviper,5\nflashback,0\ncushion,0\nfox_and_the_hound,3\nraya_and_the_last_dragon,3\nota_(artist),1\ndrip_effect,0\npaperclip_(artist),1\ndracojeff,1\ncouch_sex,0\nflaming_mane,0\nwartortle,5\narceus,5\nbrian_griffin,4\nprincelykaden,1\nborzoi,5\nankle_tuft,0\ncardboard_box,0\nby-nc-nd,3\ntan_breasts,0\nslightly_chubby_anthro,0\nhand_fan,0\nsalkitten,1\namerican_black_bear,5\nyogoat,1\nstraight_arm,0\nstring,0\ntan_nose,0\ncolored_edge_panties,0\n9_tails,0\nplaystation_controller,0\n17:24,0\nhead_pat,0\nkiara,4\nemerald_(gem),0\npokemon_unite,3\nbars,0\ndusk_lycanroc,5\nmouth_play,0\npointing_at_viewer,0\npillow_hug,0\nsylvanedadeer,1\nnorth_american_mythology,3\nhuge_dildo,0\nwhite_armwear,0\nmykegreywolf,1\nendosoma,0\npurple_inner_ear,0\nshadow_pokémon,5\ntucked_arm,0\nmachine_gun,0\nraboot,5\ngoomba,5\ndonkey_kong_(character),4\nvictini,5\nchastity_belt,0\ncreating_art,0\npride_color_accessory,0\nfishing,0\ndawmino,1\nshikaro,1\nschwoo,1\ncookware,0\nmagnaluna,1\nambris,1\nholding_dildo,0\nfuzzamorous,1\nlicho_(tas),4\nkeyhole_bra,0\ndrupe_(fruit),0\narh,1\ndoctor_whooves_(mlp),4\nbelly_rolls,0\ntoy_gun,0\nrajii,1\nminus8,1\nmtg_crossgender,0\nwine_bottle,0\ncum_drool,0\nrymherdier,1\ntoucan,5\nmr.pink,1\ncum_on_shoulder,0\nmotion_onomatopoeia,0\nflexing_bicep,0\nholding_raised_leg,0\nhand_heart,0\nblue_skirt,0\nunaware,0\nart_nouveau,0\nindigenous_north_american_mythology,3\nhelicopter,0\ncaptainzepto,1\nconker,4\nunwilling_prey,0\norange_border,0\nrick_and_morty,3\nportal_(series),3\nchikn_nuggit,3\ndisguise,0\nbambi_(film),3\nblue_cum,0\nglistening_pussy,0\npokehidden,1\nbutt_size_difference,0\nleg_tattoo,0\ncervid_taur,5\nwildcat,5\ndouble_cumshot,0\ncuffs_(clothing),0\nbunny_and_fox_world,3\nsherri_mayim,4\nold_world_vulture,5\ncosmic_background,0\nfunkybun,1\nx-digimon,5\nmonotone_horn,0\ndeath_by_snu_snu,0\nkitfox-crimson,1\nrukifox,1\ne621,3\nblack_eyewear,0\nbobcat,5\nmad_rat_dead,3\nwaving_at_viewer,0\ngarden,0\nstep_position,0\ndisney's_aladdin,3\nneotheta,1\nface_in_ass,0\nhologram,0\npenis_focus,0\nluigi,4\nutility_belt,0\nroserade,5\nvenus_spring,4\nrwby,3\nalasou,1\nthief,0\nvertical_bar_eyes,0\ndanza,1\ngrey_belly,0\nbattle_axe,0\n1998,7\nherm/herm,0\nwarhammer_40000,3\nanimal_bikini,0\ndice,0\ntrainer,0\nunguligrade_legs,0\nbold_text,0\ndhx2kartz,1\none_ear_up,0\nbisexual_sandwich,0\npattern_thigh_highs,0\nelectric_fan,0\nmunkeesgomu,1\ncircle,0\nsmaller_on_top,0\nhands_on_own_thighs,0\ngreen_horn,0\nnightstand,0\nurine_on_chest,0\nshark_humanoid,5\nprotagonist_(hollow_knight),4\nvector,0\nneko-me,1\nsadism,0\nlin_(changed),4\n8:11,7\nthe_xing1,1\njinu,1\nwhite_fundoshi,0\nwhite_feet,0\nblue_lipstick,0\ntrident,0\n1:3,7\nbrionne,5\nspread_knees,0\npremature_ejaculation,0\nalp_(tas),4\ntasteful,0\npokemon_victory_fire,3\nchurn,0\nmultiple_insertions,0\nblack_eye_(injury),0\nfidchellvore,1\ngolden_freddy_(fnaf),4\nsukebepanda,1\nkabeshiri,0\ncattledog,5\nquanjiang,1\ntears_of_joy,0\nfruit_tree,0\nflashing_breasts,0\nvanillaware,3\nschool_swimsuit,0\nminnie_mouse,4\ndiadorin,1\npost-apocalyptic,0\ncum_expulsion,0\nnateday,1\ntwitch_(lol),4\nbodily_fluids_in_ass,0\nmattress,0\nphenyanyanya,1\nhand_spike,0\ngreen_nails,0\n2_frame_animation,7\nhaunter,5\ncherry_(animal_crossing),4\nsideways_oral,0\nsplash,0\nsubscribestar,3\nplate_armor,0\nshort_snout,0\nshoulder_stand,0\ntribal_clothing,0\niggi,1\ntissue,0\nfurronika,1\nthunderlane_(mlp),4\nindigosfm,1\nreuben_(lilo_and_stitch),4\nstrangling,0\nfin_piercing,0\nthick_arms,0\npurring,0\ntangle_the_lemur,4\nnarse,1\nmina_mongoose,4\near_blush,0\ngillpanda,1\nsqoon,1\ntan_inner_ear_fluff,0\nwireless_controller,0\njockey_position,0\nviera,5\nobject_between_breasts,0\npache_riggs,1\nlooming,0\nsoccer,0\nblack_tank_top,0\nbreathing_noises,0\nagumon,5\nunderwear_sex,0\ntehbuttercookie,1\nleaf_tail,0\nwhipped_cream,0\ninsemination_request,0\ndust,0\nkurama,4\nliving_doll,5\naardwolf,5\nnikkibunn,1\nmofuaki,1\ndrawer,0\ntied_shirt,0\nyoutube,3\nthe-minuscule-task,1\ncaption,0\nwendigo,5\ndeonwolf,1\nmajin,5\nbrown_hooves,0\ndesertkaiju,1\nlekku_(anatomy),0\nori,4\ndanaume,1\nprehensile_clitoral_hood,0\nrainbowsprinklesart,1\nyellow_face,0\nvertical_cloaca,0\nivysaur,5\nkusosensei,1\nmay_(pokémon),4\norange_wings,0\ndripponi,1\nlicking_another,0\nporsha_crystal,4\nbags_under_eyes,0\nwhimsicott,5\nblack-rat,1\nunusual_lactation,0\ncafe,0\narmpit_lick,0\nmega_charizard_x,5\nthegreatmatsutzu,1\ncrawling,0\nshooting,0\npangoro,5\nyakantuzura,1\nstepped_on,0\naustralian_cattle_dog,5\nlongblueclaw,1\ngrey_fox,5\npantsless,0\nsecretary_bird,5\n3barts,1\nforced_partners,0\ncum_in_bowl,0\njigglypuff,5\nviejillox,1\nkanashiipanda,1\nunsigned,0\ngreen_stripes,0\ndestiny_(video_game),3\nneck_frill,0\nteemo_the_yiffer,4\nvivarium,0\nkokuhane,1\nhigh_heeled_sandals,0\nhowl,0\nzeklullaby,1\nkenno_arkkan,1\nsmell,0\nkarno,1\ntickle_fetish,0\nsticker,0\nhand_on_own_penis,0\ngirlsay,1\nanteater,5\nhard_vore,0\nmax_(sam_and_max),4\nminccino,5\nsmutbooru,1\nfitting_room,0\nawkward,0\nfeathering,0\ncaribou_(artist),1\nms._harshwhinny_(mlp),4\nsevered_head,0\ncatty_(undertale),4\ncoach,0\nratcha,1\ncaress,0\nvomit,0\nnana_gel,1\nfreedom_planet_2,3\nevehly,1\nravoilie,1\nholding_musical_instrument,0\nkarabiner,1\nbalto,4\nmagic_cat_academy,3\ncarpetwurm,1\nsubmissive_ambiguous,0\nmonotone_wings,0\nchunie,1\nsweatband,0\norange_bottomwear,0\ntight_underwear,0\nsan_ruishin,1\nhattonslayden,1\n1999,7\nwhite_pants,0\nleashed_top,0\nhip_tuft,0\nsweatshirt,0\nroxanne_(goof_troop),4\nnavel_outline,0\nmulticolored_underwear,0\nmamabliss,1\nanthro_on_taur,0\ntrias,1\nbastionshadowpaw,1\nurinal,0\nvolleyball_(ball),0\npoking,0\nrascals,3\ntail_tied,0\nglistening_pawpads,0\nferalise,1\nnegoya,1\nenema,0\ngrypwolf,1\nfive_nights_at_freddy's_world,3\nrayman_(series),3\ncourage_the_cowardly_dog,3\nhairbrush,0\nmedusozoan,5\nsketchybug,1\nmelthecannibal,1\nmomo_(google),4\nwhite_crest_(artist),1\nsmegma,0\nbirdo,5\nmonotone_pussy,0\nwhip_mark,0\nweskers,1\npenis_tongue,0\ngarfield_(series),3\nsponge,0\ncigarette_holder,0\nmeloetta_(aria_form),5\norange_shirt,0\nbakuhaku,1\nlooking_down_at_partner,0\nsonic_the_fighters,3\nsloth,5\nwrinkles,0\nstriped_thigh_highs,0\ninnersloth,3\namong_us,3\nvanny_(fnaf),4\neyes_mostly_closed,0\nnexus,1\nsyuro,1\ntitfuck_under_clothes,0\ngem_(species),5\nvolcano,0\nheresy_(artist),1\nsunny_way,1\nscowl,0\nflower_hair_accessory,0\npussy_juice_on_ground,0\nmuscle_tone,0\nintersex_on_feral,0\nkyatto_ninden_teyandee,3\noposa,1\nelvofirida,1\nsimple_coloring,0\nautocunnilingus,0\naka6,1\nhotel,0\nmarci_hetson,4\nscrunchy_face,0\ntraining,0\nfinn_the_human,4\ncurrency_symbol,0\ndaftpatriot,1\nyellow_stripes,0\ntapering_tail,0\naveryshadydolphin,1\nkeadonger,1\nhard_hat,0\nike_marshall,1\ndate,0\npushing,0\ncoconut,0\nkissing_cheek,0\nthemefinland,1\nhandbag,0\ncow_bikini,0\nprint_shirt,0\nbrandy_and_mr._whiskers,3\npuzzle_and_dragons,3\nmad_rat_(character),4\nbasset_hound,5\nhairy_pussy,0\ntorogao,0\nlotus_(mlp),4\nbig_bad_wolf,4\nambiguous_pov,0\nbent_spoon_position,0\nbandaged_arm,0\naloe_(mlp),4\nazzilan,4\nharnny,1\nmicro_organism_(organism),5\nplanted_leg,0\nlong_story,0\nsteampunk,0\nwhitekitten,3\nforearms,0\ngrimart,1\nreign-2004,1\nrocko's_modern_life,3\nflesh_creature,5\nblack_paws,0\ndevil_horns_(gesture),0\nfti_transformation,0\narm_by_side,0\ndisposal,0\nartdecade,1\nfries,0\nsmelly_feet,0\ndawn_(pokémon),4\nparasitedeath,1\ncollage,0\nred_gloves,0\nzeriara,1\nwearing_diaper,0\nambiguous_penetrating,0\ncowlick,0\nstretch_marks,0\nbangle,0\nwhite_canine_(marimo),4\nlavilovi,1\ncramped,0\nalanscampos,1\nroller_skates,0\npine_marten,5\nclothing_cord,0\nchest_grab,0\nimplied_oral,0\nzooshi,1\nt0l0k,1\nliara_t'soni,4\ndipstick_limbs,0\nyellow_belly,0\nsuper_planet_dolan,3\npochincoff,1\norange_horn,0\nlight_bondage,0\nswing,0\nanimal_tail,0\nskyrim_werewolf,4\nchampagne,0\nmagenta7,1\ncannon,0\nradio,0\nbutt_smother,0\nangry_eyes,0\namicus_(adastra),4\nscreentone,0\nleather_straps,0\ninkling_girl,4\ntotesfleisch8,1\npenis_ribbon,0\noverlord_(series),3\nfab3716,1\ntrue_antelope,5\nblood_in_mouth,0\nlong_snout,0\npuppet,0\nparakeet,5\nbikini_aside,0\ncub_domination,0\nmimikyu,5\nnakoo,1\ntight_orifice,0\nfeather_in_hair,0\ndark_penis,0\npurple_yoshi_draws,1\nlovelesskiax,1\non_furniture,0\nmechanic,0\nfrying_pan,0\nmrs._katswell,4\nred_crown_(cult_of_the_lamb),4\nnurse_redheart_(mlp),4\nchakat,5\ndaybreaker_(mlp),4\nhooved_toes,0\nkig-yar,5\nunborn_kicking,0\nnobby_(artist),1\nkyaru_(princess_connect!),4\ndoug_winger,1\ntrap_(contrivance),0\nnightmare_rarity_(idw),4\ndot_warner,4\ndiamond_dog_(mlp),5\nmarthedog,1\nponytail_ears,0\nphotomorph,7\ntail_heart,0\nwife,0\nburning,0\nipan,1\n14:9,7\nshadowpelt,1\nbreeding_slave,0\nzerofox1000,1\nmoki,1\nnika_sharkeh,4\npink_mane,0\nworld_flipper,3\nhanged,0\nrapidash,5\nselenophile,1\nhair_mouth,0\nstar_marking,0\neon_duo,0\nazur_lane,3\ndouble_chin,0\ndr._eggman,4\ntown,0\nbig_the_cat,4\nstrapon_sex,0\nhand_in_pants,0\nnintendo_console,0\nreysi,1\nglopossum,1\nvkontakte,3\nfizz_(lol),4\ncaviid,5\nred_bow,0\nswimwear_pull,0\nsex_toy_in_mouth,0\nhunter,0\nhisuian_typhlosion,5\nlamnid,5\nxilrayne,1\nfoot_on_head,0\nbeakless,0\ndrawstring,0\nsmall_nose,0\nfur_pattern,0\njealous,0\noctavia_(helluva_boss),4\narmy,0\nhands_on_belly,0\nsamurai,0\nglistening_legs,0\nworried_look,0\nfreckles_on_butt,0\nbutt_crush,0\nmonotone_hands,0\nlagotrope,1\nstreaming,0\nblood_on_hand,0\nhisuian_zoroark,5\nleaning_on_object,0\nstyle_parody,0\nblack_and_blue,7\nmasters_of_the_universe,3\ngrey_underwear,0\nsobble,5\ncum_vore,0\nchochi,1\njester,0\ncastration,0\nalarm_clock,0\nthe_giant_hamster,1\ncum_trail,0\npuffed_cheeks,0\nsupernumerary_breasts,0\npointing_at_another,0\nblue_perineum,0\nreaching_towards_viewer,0\nraveneevee,1\nlight_fury,5\nsunbathing,0\neyelids,0\naer0_zer0,1\nunder_shade,0\namwulf,1\ndoublestuffed,1\ngynomorph_on_top,0\nsisu_(ratld),4\nneoteny,0\ncurious,0\nstanding_doggystyle,0\ntreecko,5\ntremble_spikes,0\nuniparasite,1\nuhoh,0\nchair_bondage,0\nexcito,1\nsailor_moon_(series),3\nkecleon,5\nbody_outline,0\ndaisy_dukes,0\ncamo_clothing,0\nslightly_chubby_male,0\nfacepalm,0\npenis_creature,5\nelzzombie,1\norange_pawpads,0\nchua,5\nopen_hoodie,0\nhalbean,1\npartial_nudity,0\nmortal_kombat,3\nmonster_girl_encyclopedia,3\nscary,0\nsummoning,0\nlooking_at_phone,0\nthong_straps,0\nblue_hoodie,0\nwhite_pubes,0\nchef_hat,0\nhyper_pussy,0\nrika_nonaka,4\nbuxbi,1\nelbow_pads,0\ncat_keyhole_bra,0\nbolt_(film),3\nstockings_only,0\nimminent_knotting,0\nbrandy_harrington,4\nspider-man_(series),3\nservicing_from_below,0\norange_theme,7\nliving_latex,0\nharlem,1\nbullet,0\ntasteful_nudity,0\ncondom_wrapper,0\nquill,0\npills,0\ntranslucent_underwear,0\npillow_humping,0\nstated_homosexuality,0\ngreen_pupils,0\niriedono,1\nnudist,0\nspazman,1\neating_food,0\ninktober,3\nbroken,0\nwhite_stockings,0\nforeskin_pull,0\navali_(original),0\nmount,0\ncell_(organism),5\na-chan,4\nraised_shoulders,0\norange_stripes,0\naeris_(vg_cats),4\ncum_bubble,0\nazura_inalis,1\nmarlon.cores,1\nstadium,0\ncelebi,5\ntwo-handed_masturbation,0\nsynthetic,0\nengrish,7\ntridark,1\nbrown_feet,0\nbackwards_arm_support,0\nthighband,0\nsexy_eyes,0\nholding_both_thighs,0\noouna,1\nbionicle,3\ncrotch_rope,0\ndelivery_employee,0\nblack_goo,0\nferal_dominating_human,0\nnipples_touching,0\ndragon_tail,0\nbabydoll,0\nelfdrago,1\nnight_light_(mlp),4\nphathusa,1\ngreen_lips,0\ntowergirls,3\nberry_punch_(mlp),4\nthousandfoldfeathers,1\ntony_tony_chopper,4\ndrum,0\nsatsukii,1\nwolf_(petruz),4\ncainesart,1\n96panda,1\nsurreal,0\nhimbo,0\nhogtied,0\ndaiidalus,1\nshadow_lugia,5\nplagueofgripes,1\ngreen_text,0\nenookie,1\nvocaloid,3\ntile_wall,0\nfleur_de_lis_(mlp),4\nfleshlight_position,0\nryekie_(live-a-hero),4\nsubmachine_gun,0\nbambii_dog,1\ncomedy_central,3\nbyondrage,1\npupbii,1\nbravo,1\nnut_(fruit),0\njoints,0\nshort_ears,0\nanimal_skin,0\npokemon_champion,0\nstarfish_(accessory),0\nlatex_armwear,0\nunderline,0\nwugi,1\nhilda_(pokémon),4\nblack_legs,0\nfake_cat_ears,0\nhyper_pecs,0\nanthozoan,5\njakethegoat,1\near_pull,0\ndigitaldomain123,1\npier,0\ntoad_(frog),5\nalishka,1\ncross_fox,0\nnazuna_hiwatashi,4\ngreen_footwear,0\narachnid_taur,5\nfacial_tattoo,0\ncatmonkshiro,1\nplayboy_bunny,0\ncum_in_throat,0\nmicrochiropteran,5\ntooth_gap,0\ngentle_giant,0\nprocyonid_humanoid,5\ntale_of_tails,3\nsponty,4\ndoomthewolf,1\nsandwich-anomaly,1\nlineless,7\ndetachable_head,0\npirate_eagle,4\nholding_hips,0\nscratch,0\ntadatomo,4\nwired_controller,0\ngenet,5\nannoyed_expression,0\nwingedwilly,1\nmonsters_inc,3\nratofdrawn,1\nbionics,0\nlegend_of_queen_opala,3\ncreepypasta,3\nrenekton,4\norange_(fruit),0\nclover,0\nage_regression,0\npurple_armwear,0\nfivel,1\negg_from_pussy,0\nskitty,5\naomori,1\nfiona_fox,4\ncheerleader_outfit,0\nfeet_together_knees_apart,0\nfurlana,1\nintersex_pred,0\nrudolph_the_red-nosed_reindeer,4\ntggeko,1\nzinogre,5\nfrisky_ferals,3\ndramamine,1\ngreen_glans,0\nreina.,1\nkyander,1\nduct_tape,0\ncum_on_own_balls,0\nturntable_(animation),7\npasaran,1\nlink2004,1\nhands_under_legs,0\nhrothgar,5\nmarshal_(animal_crossing),4\ncasual_erection,0\nbittersweet_candy_bowl,3\nprehensile_tongue,0\ncountershade_scales,0\njbond,1\ngoat_humanoid,5\ncum_on_fur,0\ncommunal_shower,0\nvono,1\nautumn_blaze_(mlp),4\nglasses_on_head,0\nchihuahua,5\ngrey_footwear,0\nrichard_watterson,4\ntentacle_around_arm,0\ninkit89,1\nlighter,0\ncloset,0\nsnails_(mlp),4\ntentacle_grab,0\nsitting_on_sofa,0\ndsan,1\nraccoon_humanoid,5\nmagic_wand,0\ncum_on_own_chest,0\naraivis-edelveys,1\nfirondraak,4\nwet_dream,0\nalradeck,1\nbarrel_(live-a-hero),4\nkalnareff_(character),4\nwestern,0\nhalter,0\nwitch_(the_owl_house),5\ncommander_shepard,4\ntrials_of_mana,3\npurplepardus,1\ncreek,0\nlong_body,0\nheart_background,0\ntriforce,0\npolly_esther,4\nfuzzy,0\ntower,0\nslightly_damned,3\nwarriors_(cats),3\ncubone,5\nhand_in_panties,0\nyounger_dom_older_sub,0\ncum_fart,0\ncum_in_nipples,0\nankle_grab,0\nredpixie,1\ntrace_legacy,4\nking-cheetah,1\nseamen,1\nheadless,0\nred_anus,0\nthe_cabin_in_the_woods_(arania),3\nclothed_female_nude_female,0\npeeing_inside,0\nholding_towel,0\nscepter,0\ngums,0\njellyfish,5\nphilippine_eagle,5\nhuge_sheath,0\nsticky,0\n♦,0\naward,0\nangrypotato96,1\nvideo_camera,0\nhalftone,0\nbody_pillow,0\nyarn,0\nwhite_bra,0\nzeromccall,1\nbuster_bunny,4\nblack_perineum,0\ncooliehigh,1\nstereogram,7\nbrown_headwear,0\nholding_knife,0\nsigenoya,1\ncastbound,1\nr3drunner,1\nseth_(tas),4\nangoramon,5\nforsaken_(artist),1\ndisc_jockey,0\nrainbow_flag,0\narashidrgn,1\nmultiple_versions,7\nlounge_chair,0\nbloominglynx,1\nmcsweezy,1\nevergreen_tree,0\ninsectophilia,0\ntranslucent_penetration,0\nblinds,0\nbird_wyvern,5\nclawroline,4\ndomino_mask,0\nsake,0\nmanika_nika,1\nbobbydando,1\ntechnology,0\nfoxes_in_love,1\ngreen_tentacles,0\ngrey_hooves,0\nhiggyy,1\n007delta,1\nshinysteel,1\nyakovlev-vad,1\nno_nut_november,3\nmega_gardevoir,5\nwho_framed_roger_rabbit,3\nbackground_character,4\nclothing_loss,0\nlight_ears,0\nsengoku_puzzle,3\nrevali,4\nrairai-no26-chu,1\nlulu_(lol),4\nwhite_swimwear,0\ngreen_pants,0\ndizzy,0\njake_long,4\nakunim,1\nwyntersun,1\nbig_flare,0\ngreen_fox_(foxes_in_love),4\nsuper_mario_galaxy,3\nskimpy_bikini,0\npussy_juice_on_hand,0\nintersex_focus,0\nfront-print_panties,0\nunusual_vore,0\nwriting_text,0\neuplerid,5\nthorns,0\nhandheld,0\nbrain,0\ngrisser,1\nmarceline_abadeer,4\nbolt_(bolt),4\nfreckles_on_breasts,0\nmature_humanoid,0\nname_drop,0\npink_bow,0\nred_necktie,0\nuncle_and_nephew,0\nblind_eye,0\nair_bubble,0\nslurping,0\nwargreymon,5\nsuspension_bondage,0\nfull_nelson_(legs_held),0\ntail_bell,0\ncreeper_(minecraft),5\nbna_v5,1\nself_suckle,0\nundressing_another,0\napril_o'neil,4\n+,0\nliving_sex_toy,0\nbathym,4\nhorse_tail,0\nheavy_thrusting,0\ndrill_curls,0\nice_cream_cone,0\nthe_simpsons,3\n4koma,7\ncomic_panel,0\nkarol_pawlinski,1\nproboscis_(anatomy),0\nhyperstorm_h,1\nfoot_in_mouth,0\nlight_breasts,0\ngrey_breasts,0\nzackary911,1\nbleats,1\npiñata,0\ncornchip21,1\nwiggle,0\nblunt_bangs,0\nimmobilization,0\nfuntime_foxy_(fnaf),4\nplantpenetrator,1\niudicium86,1\nsurface_piercing,0\nmiyu_lynx,4\nclaws_out,0\nchaos_emerald,0\nstella_(helluva_boss),4\ndafka,1\ncanisfidelis,1\nreverse_gangbang,0\naurora_borealis,0\npseudo-penis,0\ntriangle_position,0\nbaloo,4\nblue_fox_(foxes_in_love),4\nbully,0\ndangpa,1\nred_neckerchief,0\nfurafterdark,3\ninverted_pentagram,0\nficficponyfic,1\nmcfan,1\ntsareena,5\npink_wings,0\nincase,1\npata,1\n5_eyes,0\npicture_in_picture,7\npubic_tattoo,0\npurple_tentacles,0\nheart_pair,0\nonsen,0\nswallowing_sound_effect,0\nmonotone_tongue,0\nchristmas_present,0\nexed_eyes,1\nbreeding_mount,0\ncervid_humanoid,5\nzi0808,1\nself_service_pump,0\nkovu,4\npeppy_hare,4\ntranslucent_wings,0\nbutt_tuft,0\npandashorts,1\nbrown_sclera,0\ngoonie-san,1\nhadrosaurid,5\nralts,5\ntalking_to_prey,0\nmoondancer_(mlp),4\nwar,0\nmettaton_ex,4\nhumanoid_pussy_on_feral,0\npyramid,0\ncasimira_(orannis0),4\nqr_code,0\ninuyasha,3\nwater_gun,0\ndisembowelment,0\ncybernetic_leg,0\npopplio,5\nstethoscope,0\ntongue_wrap,0\nketzio,1\nglitch,0\ntop_heavy,0\ncum_while_chaste,0\npink_knot,0\nanterior_nasal_aperture,0\ncrepix,1\noutside_panel,0\nbleach_(series),3\nazuma_minatsu,1\narm_spikes,0\nlunate,1\nmultiple_subs,0\nred_swimwear,0\ntaur_penetrated,0\nlong_labia,0\nrainbow_body,0\nassisted_sex,0\nmulticolored_markings,0\nstriptease,0\nplushie-like,0\nnawka,1\nlizard_humanoid,5\nrinny,1\nlycangel,1\nhooved_plantigrade,0\ntokin_hat,0\nhand_on_crotch,0\npurple_dress,0\nstuck_together,0\nfat_rolls,0\nplaid_topwear,0\nthrough_clothing,0\nscientific_experiment,0\nblue_mouth,0\nmisty_(pokemon),4\nmodel,0\nscooby-doo,4\ndedoarts,1\nmoreuselesssource,1\nchesnaught,5\nchikorita,5\npussy_juice_through_clothing,0\nchat,0\ncyndaquil,5\nbody_armor,0\nspotted_legs,0\nwhite_tank_top,0\nkiseff,1\nshell-less,0\ndark_clothing,0\nbone_frill,0\nthrowing,0\nsoina,1\ntire,0\n8_breasts,0\nnet,0\ntext_on_body,0\nvalkoinen,1\nheadkerchief,0\nsparkling_eyes,0\nnarration,0\nhotel_transylvania,3\ndigimorph,0\nriver_otter,5\nyak,5\ngold_ring,0\nmarsupial_penis,0\ncum_on_food,0\nlooking_back_at_partner,0\nmawplay,0\nkotobuki,1\njet_the_hawk,4\nblack_and_white_fur,0\ngreen_apron,0\nsubmerged_tail,0\nvibrating,0\nyangochiropteran,5\ncropped,7\nferal_pov,0\nsports_mask,0\nartsy-theo,1\ncloud_emanata,0\nhand_on_another's_butt,0\nbrown_shoes,0\nacstlu,1\nthe_other_half,1\nisolatedartest,1\ncabin,0\nholowear_(pokemon),0\napartment,0\nomari,1\njosou_seme,0\nprince_sidon,4\nagamid,5\ncountershade_genitalia,0\nghoul_school,3\nhypnotic_visor,0\nintersex_pov,0\ncracky,1\ncum_strand,0\nxbox,3\nx_eyes,0\nannelid,5\nspirale,1\nshirtless_male,0\nbisexual_pride_colors,0\nmario_and_luigi_(series),3\npiano,0\nmarco_fanjul,1\najna,1\nwhite_chest,0\nanthroanim,1\nheart_pattern,0\ncompound_eyes,0\nconstricted_pupils,0\ndrecom,3\nlamiaaaa,1\n1997,7\nblood_splatter,0\nrough_collie,5\nwhite_pawpads,0\nhoop_earrings,0\na_story_with_a_known_end,3\ntohupo,1\nfurfrou,5\nsmooth_motion_outline,0\nflag_print,0\nrock_creature,5\npink_text,0\nrose_petals,0\nconfident,0\nrayquaza,5\nyellow_pupils,0\nshadman,1\nabsolutely_everyone,0\nsligarthetiger,1\norange_underwear,0\nsabrina_online,3\nmonotone_bottomwear,0\nshonuff,1\nalolan_meowth,5\nrusty_trombone,0\narms_in_front,0\nlube_drip,0\nsmall_butt,0\nfurry_wearing_fursuit,0\nbitchsuit,0\narm_above_head,0\nsweater_vest,0\nhand_on_own_breast,0\ncum_on_neck,0\noral_sandwich,0\neunuch,0\nflash_game,7\njanner3d,1\n2d_(artwork),0\npink_swimwear,0\nblue_blush,0\nchalk,0\nvexstacy,1\nnukerooster,1\nquotefox,1\nhand_print,0\ntail_cuff,0\ntavern,0\ndrinking_straw,0\nbridal_carry,0\nporin,1\nhusband,0\nking_dedede,4\ntsathoggua,4\nsentient_penis,0\nventral_groove,0\navatar:_the_last_airbender,3\ngaikiken,1\ngreen_swimwear,0\nlostgoose,1\nmayor_mare_(mlp),4\npine_tree,0\nftm_transformation,0\nbedroom_sex,0\ns2-freak,1\nnadia_fortune,4\ntired_eyes,0\nzer0rebel4,1\ncradling,0\navian_caruncle,0\nsunny_starscout_(mlp),4\nboth_pregnant,0\nravrous,1\ndarkrai,5\nrestrained_arms,0\nwhite_nails,0\nafrosoricid,5\ntorn_stockings,0\neye_mist,0\njak_and_daxter,3\nmutual_penetration,0\nstone_wall,0\nbusty_bird,4\nmuscular_andromorph,0\nbabystar,1\nspikedmauler,1\nblack_sheath,0\nlord_dominator,4\nfifa,3\nmtg_transformation,0\ndon_ko,1\nralek,1\nlong_nipples,0\ntheblueberrycarrots,1\npussy_sounding,0\nnose_to_nose,0\nmaine_coon,5\nholding_headgear,0\nownership,0\nsmileeeeeee,1\nhand_imprint,0\nmismatched_genitalia,0\nebonychimera,1\ndismemberment,0\nfairies_vs_tentacles,3\ncyanotic_epithelium,0\ncarol_tea,4\ngrandparent,0\n3_tails,0\nleapfrog_position,0\njulius_zimmerman,1\nsyvaron,1\npink_cheeks,0\nvisor_cap,0\npregnant_cub,0\nsana!rpg,1\nsport_swimsuit,0\nimmelmann,1\nprimate_humanoid,5\nblack_fingernails,0\nstunnerpony,1\nshamelesss,1\ntsunoda,4\nportal_sex,0\ndreamy_pride,1\nchano,1\nlegacy_(ratte),3\nterriermon,5\npurple_footwear,0\nirl_trace,0\nname_badge,0\nskoon,1\ntassels,0\ntenrec,5\nsemi_public,0\nnavel_poke,0\n</3,0\ntail_over_skirt,0\ngimka,1\nwetting_diaper,0\ncupcake_(fnaf),4\nblue_belly,0\nmuzzle_fuck,0\nneotropical_parrot,5\nspotty_the_cheetah,1\nyuumi_(lol),4\nchat_box,0\nlarvitar,5\neel,5\nfool's_hat,0\nwhite_hat,0\nflippers,0\nbroodal,4\nbelladonna_(trials_of_mana),4\nmonotone_inner_ear,0\ndragonfly,5\nkyrosh,1\ninternal_oral,0\ncomputer_keyboard,0\nok_sign,0\nstrapped_in_toy,0\npepé_le_pew,4\nbigshow,1\nmindfuck,0\nteddy_(clothing),0\ntinygaypirate,1\nsabrotiger,1\nalolan_raichu,5\nblue_jacket,0\nnipple_pull,0\nenderman,5\nsuperiorfox,1\nhaydee_(game),3\nholding_crotch,0\nfront_pussy,0\npattern_diaper,0\nfirefightdex,3\nsailoranna,1\npac-man_(series),3\nleg_over_thigh,0\nhydreigon,5\nmuk,5\nimpalement,0\nutau,3\nsilfoe,1\ntriangle_bikini,0\nsweaty_face,0\nhoney_badger,5\ncrovirus,1\nplatypus,5\ndangling,0\nface_squish,0\ngreen_panties,0\nluckypan,1\nmarine_the_raccoon,4\nbrown_anus,0\noob,1\navian_(starbound),5\npiplup,5\ntakagi_kyou,1\nheadphones_around_neck,0\nqlock,1\ntbid,1\nfoot_sniffing,0\nequine_taur,5\nthe_looney_tunes_show,3\nrillaboom,5\nsalivating,0\npussy_juice_on_tongue,0\ngrenade,0\nbutt_worship,0\nsheathed_weapon,0\nhaydee,4\nshakotanbunny,1\ngarfield_the_cat,4\nkostos_art,1\npanties_bulge,0\n1_horn,0\ndiplodocid,5\ndouble_oral,0\nfrustrated,0\nolder_feral,0\nfake_horns,0\nlollipopcon,1\ntwo_tone_beak,0\norange_mane,0\nfull_bokko_heroes,3\nunbuttoned_shirt,0\nkardie,1\nbaphomet_(deity),4\npatagium,0\njackaloo,1\nsparkledog,5\ngothbunnyboy,1\nursaring,5\ncarp,5\nwitch_costume,0\nmisleading_thumbnail,0\nanimancer,1\noven,0\ngoofy_(disney),4\nmiu,1\nroy_mccloud,1\ntwo_tone_footwear,0\ndetailed_navel,0\nflower_humanoid,5\nunderfoot,0\nprionailurus,5\njerry_mouse,4\ncabinet,0\nilulu,4\nrotom,5\nfenavi_montaro,4\nrathalos,5\nsybian,0\nwrist_wraps,0\nold_world_monkey,5\nraccoondouglas,1\nram_horn,0\nhand_gesture,0\nmartian,5\nnutjob,0\nspiral_knights,3\nmultitasking,0\nliepard,5\nryunwoofie,1\nboredbun,1\ngerrkk,1\nconnivingrat,1\nlichfang,1\nwavy_tail,0\nchubby_belly,0\ntaomon,5\nsnowy_owl,5\nlilligant,5\nangel_(lady_and_the_tramp),4\nasymmetrical_breast_frottage,0\nfood_in_mouth,0\ngarrus_vakarian,4\ncracks,0\ncavalier_king_charles_spaniel,5\njrjresq,1\nhashtag,0\nsquishy_(artist),1\nkristiana_puff,1\nvaginal_fisting,0\nkyotoleopard,1\nurine_on_legs,0\nanus_outline,0\nthreaded_by_penis,0\nkaiketsu_zorori,3\nuberquest,3\nthomas_cat,4\n1boshi,1\nfenrir_lunaris,1\nfurfragged,1\nfourball,1\npink_paws,0\nslavedemorto,1\ntrials_in_tainted_space,3\ntogruta,5\nweapon_tail,0\nred_xiii,4\nsenshion,1\nunibrow,0\nblackjr,1\nemelie_(cyancapsule),4\nzaviel,1\nterraria,3\nsundown_(artist),1\nlila_(kashiwagi_aki),4\nchapaevv,1\nopen-back_dress,0\nkeishinkae,1\nspeeds,1\nadelia_(changbae),4\nnipple_sex,0\nreading_book,0\ngrey_sclera,0\ndragonfu,1\ntwo_tone_mane,0\nhuman_on_taur,0\nboa_(snake),5\nangrboda,1\nspider_taur,5\nbandanna_only,0\npriest,0\nred_face,0\nglitter_trap_boy,1\ngaomon,5\nmytigertail,1\nalec8ter,1\nmicro_abuse,0\nblue_breasts,0\ncybercat,1\nbovine_horn,0\ndark_nek0gami,1\ntext_print,0\nyellow_breasts,0\nmulti_pussy,0\nchest_scar,0\nnekocrispy,1\nhalcy0n,1\nshadow_siren,5\npussy_juice_on_leg,0\nbig_quads,0\nflamingo,5\ndistorted_contour,0\nhand_in_hair,0\nshort_sleeves,0\nambient_butterfly,5\ntreasure_planet,3\ndtalvi,1\ngreen_dress,0\nprincess_daisy,4\nkishibe,1\nmace,0\nsweaty_body,0\ninformation,0\nsmack_(sound_effect),0\nemboar,5\nsarabi,4\nprecum_through_underwear,0\nribbed_clothing,0\nglowing_anus,0\nreppy_(mlp),4\ncurved_penis,0\nkitsunewaffles-chan,1\nzerolativity,1\npiggyback,0\nprison_uniform,0\nfairy_tail,3\nbrok_the_investigator,3\nleopard_cat,5\nsnout_growth,0\ntentabat,1\nspotted_arms,0\njaynatorburudragon,1\nlong_socks,0\nexpressions,0\ngreen_cum,0\ndaigo,1\nomny87,1\nmaleherm/male,0\nxpray,1\nferal_on_bottom,0\nmegane_inu,1\ninuhoshi-to-darkpen,1\ngotobeido,1\nifus,1\nthe_lego_movie,3\nfour_frame_grid,0\ngreen_and_white,7\nhandles,0\nbutt_wings,0\ncock_gag,0\nred_skirt,0\nself_taste,0\nrainbow_pride_flag,0\nvivian_(mario),4\nmaririn,1\npurple_handwear,0\nlooking_at_porn,0\nsatchel,0\nface_grab,0\nmorrigan_aensland,4\npsychedelic,0\nbemani,3\ndualshock,3\nchance_furlong,4\necaflip,5\nphyllostomid,5\nguard,0\nspa,0\ntape_bondage,0\npelvic_curtain,0\nunderground,0\nuntil_it_snaps,3\ncloud_chaser_(mlp),4\nmadmax,1\nlicking_partner,0\nstroking_penis,0\npatch_(fabric),0\nni70,1\ncaptainjohkid,1\nreverse_piledriver_position,0\nadorabat,4\nopen_coat,0\nmonotone_shirt,0\npower_tool,0\nkaa_(jungle_book),4\nk-9,1\nzinovy,4\nlight_tail,0\nshock_collar,0\nelectric_guitar,0\nmilachu92,1\nguiche_piercing,0\nfrenulum,0\nsundress,0\nhallway,0\ncomputer_monitor,0\nbunnywhiskerz,1\nflower_on_head,0\ntail_genitals,0\nshirt_cut_meme,3\nmonotone_feet,0\nwhite_tuft,0\nepilepsy_warning,1\nhandheld_console,0\nrenabu,1\nkaboozle,1\nred_ball_gag,0\nmudsdale,5\nbison,5\nmasyunya_(vkontakte),4\nshaved,0\nraven_(dc),4\ncrotch_sniffing,0\nspell,0\ngoblet,0\nreligious_clothing,0\nirken,5\nsex_toy_under_clothing,0\nnauth,1\nflannel,0\nfisheye_lens,0\nin_box,0\nkame_3,1\ncheckered_background,0\nbroad_shoulders,0\nblack_belt,0\ncrossed_ankles,0\nlurantis,5\ncum_ballooning,0\nteal_background,0\ncooking_with_furs,0\ncontour_smear,0\nkorichi,1\nwhite_legs,0\nchubby_gynomorph,0\ncooler,0\nrockbottomfeeder,1\nwing_growth,0\nblack_and_grey,7\namerican_football,0\ndonald_duck,4\ntoilet_use,0\nsuitcase,0\nprincess_ruto,4\npink_face,0\ntsitra360,1\naardvark,5\nfoot_shot,0\nfocus_lines,0\nyakko_warner,4\nrainicorn,5\narticuno,5\nmoodyferret,1\nglowing_mouth,0\nbulge_frottage,0\ndekomaru,1\nknot_sitting,0\nbig_horn,0\nsyrinoth,1\near_stud,0\nholding_sign,0\nyellow_anus,0\nhands_on_shoulders,0\npendulum,0\nalfa995,1\nhand_on_hand,0\npudgeruffian,1\nmonstercheetah,1\npipp_petals_(mlp),4\nmarshmallow,0\ndisappointed,0\nruff,0\nmilla_basset,4\nganondorf,4\nnazrin,4\nrumble_(mlp),4\ntifa_lockhart,4\ntali'zorah,4\nshoulder_bite,0\nurine_on_belly,0\nseat,0\njogging,0\nbubble_tea,0\nmechanical_arm,0\nmale_raped,0\ngreen_spots,0\nwoodwind_instrument,0\nanthro_penetrating_female,0\nchastity_piercing,0\npurple_collar,0\ntanukiarts,1\negg_bulge,0\ngynomorph_pred,0\nneck_lick,0\nalex_(harmarist),4\nred_cape,0\narbuzbudesh,1\nbikupan,1\nvipery-07,1\ncum_tube,0\nturtle_shell,0\nunwanted_impregnation,0\nbeer_bottle,0\nshooting_star,0\nid_number,0\nholding_another,0\nshirt_in_mouth,0\nsyngnathiform,5\nvault_suit,0\nballet,0\nclothing_swap,0\npenis_close-up,0\nbeauty_and_the_beast,3\norlandofox,1\nplanted_legs,0\nsamoyena,1\nkouya_(morenatsu),4\nred_ribbon,0\nshowing_teeth,0\nmilking_tentacles,0\nrivals_of_aether,3\nsnake_tail,0\nleobo,1\ncomforting,0\nripli,1\nreference_image,0\non_branch,0\nkoopa_humanoid,5\nketchup,0\ntight_shirt,0\nhorn_growth,0\nred_bikini,0\nbodyjob,0\nball_bulge,0\nbeach_chair,0\nchasing,0\nporn_dialogue,0\nblack_glasses,0\nliving_hair,0\nprehensile_hair,0\nzorori,4\nvkyrie,1\ncheckered_floor,0\nhairy_arms,0\nalex_marx,4\ncursed_image,0\npenis_milking_machine,0\ngrey_inner_ear_fluff,0\npersian_(pokémon),5\nsyngnathid,5\nmulticolored_bottomwear,0\niron_cuffs,0\n?_face,0\nreptilligator,1\ngrey_theme,7\nceehaz,1\ngoemon_(tas),4\nlyme-slyme,1\nyounger_feral,0\nshort_dress,0\nlinoone,5\ngeometric_background,0\npublic_domain,3\nslug_(artist),1\nstarcraft,3\nrealistic_wings,0\nkoorivlf,1\nblowing_kiss,0\ndire_wolf,5\nfaf,1\nsetouchi_kurage,1\npig_(artist),1\npancham,5\nholding_headwear,0\nbuneary,5\nwerefox,5\npokémon_costume,0\nsilk,0\ncum_in_goo,0\ngift_box,0\ndecoration,0\nhandjob_frottage,0\npangolin,5\nbloodborne,3\nseaweed,0\ngreen_border,0\nprincess_bubblegum,4\nspace_dandy,3\nprrrrrrmine,1\nbrooch,0\nmega_charizard_y,5\nyounger_intersex,0\nho-oh,5\nstar_pupils,0\nfloral_print,0\nagainst_fence,0\nkion,4\ntakotyutyu,1\nmacaw,5\npridark,1\nnickit,5\ntreasure_hoard,0\nradial_speed_lines,0\nbreath_of_fire,3\ntan_bottomwear,0\nblack_arms,0\nhymenopteran_humanoid,5\namur_carp,5\nroanoak,1\nbride,0\npark_bench,0\ntypical_carp,5\nhibbary,1\nfuraffinity,3\nguoh,1\nyaoifairy,1\nsummoning_circle,0\nglistening_glans,0\nexecution,0\nnimzy,1\npizademokttero,1\nchowdie,1\nnergigante,5\nchewing,0\nchangbae,1\nsdorica_sunset,3\nboinae,5\nkoi,5\npenis_riding,0\nflash_sentry_(mlp),4\nmagpie_(corvid),5\nelk,5\nnaomy,1\nbathhouse,0\nmodem_redpill,1\nfuck_bench,0\nokapi,5\n20th_century,7\nthreat,0\ninside_clothing,0\ngammainks,1\nlipstick_on_balls,0\nstoned,0\nretro,0\n0r0,4\nkwik_(artist),1\nbig_deltoids,0\nstarbucks,3\nashido_mina,4\n6_nipples,0\njock,0\ninterspecies_pregnancy,0\ntail_bite,0\nsilverstream_(mlp),4\ndirtyscoundrel,1\ndashboom,1\nsounding_rod,0\nunderpable,1\ncount,0\nholding_hat,0\nsamuel_dog,4\nhieroglyphics,0\nzebroid,5\nvenusaur,5\nduck_dodgers,3\n4_legs,0\nbikini_pull,0\nnatoli,1\nrosalina_(mario),4\nfinger_ring,0\ngravity_falls,3\nketty,1\n♠,0\nblood_in_pussy,0\ncaninu,5\ngabby_(mlp),4\nrear_admiral_position,0\npelecaniform,5\nrover_(animal_crossing),4\nevilymasterful,1\nshape_shifter,0\nbutler,0\ngynomorph_penetrating_herm,0\nenhibitionism,0\ncheezayballz,1\npolka_dots,0\nstab,0\nlunarii,1\nthorax_(mlp),4\nmmd,3\nupside_down_fellatio,0\nartist,0\nchango-tan,1\naquatic_gastropod,5\npinned_to_floor,0\nshaolin_bones,1\ntheblackrook,1\npuggy,1\nmuzz,1\nevomanaphy,1\ntomato,0\nraikissu,1\ndepression,0\nclothed_to_nude,0\ntailed_beast,5\npink_clitoris,0\nchainmail,0\nmismatched_penis,0\nsexercise,0\ncum_bath,0\nseahorse,5\nzenthetiger,1\ndlrowdog,1\ngorgon,5\nbelly_tattoo,0\nangel_dragon,5\nnexcoyotlgt,1\ncovering_eyes,0\ndaydream,0\nlit_candle,0\n0laffson,1\nclean_diaper,0\ngin-blade,1\nmakoto_nanaya,4\norange_eyebrows,0\ngundam,3\nhand_on_ground,0\nscrewdriver,0\neye_glint,0\ntentacles_everywhere,0\nmulti_tongue,0\nvju79,1\ncere_(anatomy),0\nheart_(mad_rat_dead),4\ntweetfur,4\nprecum_on_ground,0\nsledge,4\nmiko_outfit,0\nmaleherm_(lore),-1\nalvin_seville,4\nzenless_zone_zero,3\nkatahane3,1\ngagging,0\ngrotesque_death,0\ngrey_sheath,0\ndollar_sign,0\n256:135,7\nfurryrevolution,1\noliver_and_company,3\nmystikfox61,1\nbrown_countershading,0\ncurtains_open,0\narthropod_abdomen_pussy,0\nmr-shin,1\nh.p._lovecraft,3\ndistracted,0\nhaps,1\nanaugi,1\ntwi'lek,5\nanthro_penetrating_male,0\nquillu,1\nvoodoo,0\ngroudon,5\nscreencap_background,0\nwolftacos,1\nalpha_pokémon,5\nhidden_eyes,0\nkaitycuddle,1\nlotion,0\naimi,1\nfroslass,5\ngentle_femdom,0\ndamian5320,1\ncrisis-omega,1\ncolumn,0\nthyreophoran,5\nkilt,0\nfelineko,5\nopen-back_swimsuit,0\ndark_ears,0\nmeow_skulls_(fortnite),4\nmostly_clothed,0\ncaitian,5\nbriefs_only,0\nskylar_fidchell,4\nholding_microphone,0\ntan_perineum,0\nmako_mickt,1\nbow_experiment_(resident_evil),5\npalate,0\nsurprise_buttsex,0\nsandbar_(mlp),4\nrocket,0\ncum_on_nipples,0\nblood_on_clothing,0\nprince,0\ninverted_pentacle,0\ntoyomaru,1\nalopex,4\ncherrikissu,1\nyellow_footwear,0\nliving_candy,5\npuwa,5\nlockworkorange,1\nleaning_on_self,0\nmizo_ne,1\nwriting_on_chest,0\npurple_eyebrows,0\nlight_countershading,0\npiko_(simplifypm),4\nsaliva_on_face,0\npalkia,5\nottsel,5\ncotton_(artist),1\nhyper_sheath,0\nshush,0\ndoppel,1\ndwarf,5\nmale_penetrating_humanoid,0\nmarionette_(fnaf),4\nfossa,5\ntanuki_humanoid,5\ndashie116,1\nbartender,0\nshoulder_markings,0\nliving_piñata,5\nblack_eyeliner,0\nomegasunburst,1\nchubby_protagonist_(tas),4\ndarkgem,1\norange_pussy,0\nhairy_legs,0\nleather_armor,0\nnamagakiokami,1\nlepidopteran_humanoid,5\nsmall_horn,0\ndarwin_watterson,4\nice_age_(series),3\nwheel,0\nqueen_tyr'ahnee,4\nswastika,0\nnapalm_express,1\nzacian,5\nplug,0\nimminent_facesitting,0\npipsqueak_(mlp),4\nblue_paws,0\npartially_submerged_tail,0\nnightshade_(kadath),4\n12beat13,1\npear_butter_(mlp),4\nfrenky_hw,1\nlacing,0\npurrloin,5\ndixie_kong,4\narmpit_tuft,0\nlilith_calah,4\ngrumpy_griffin_creations,1\nsuggestive_pose,0\nhomophobic_slur,0\nruler,0\ntan_topwear,0\ncheek_spikes,0\ntail_in_ass,0\nhand_on_own_knee,0\nwolflady,1\ncownugget,1\ncarsen,1\nblack_jewelry,0\ntentacle_bondage,0\ndirected_motion_outline,0\nprincess_molestia,4\nobi,0\ntwo-handed_handjob,0\nsmall_molosser,5\nheadboard,0\nbikini_armor,0\nsilverfox5213,1\nwhite_anus,0\ndrawyourfursona,0\nraven_hunt,4\nrobyn_paperdoll,1\ngeekidog,1\namped_toxtricity,5\nborisalien,1\ncat_ear_panties,0\ncrazy_redd,4\nsausage,0\nfoot_blush,0\nblue_tentacles,0\nassertive_female,0\nnest,0\nbroom_riding,0\nchild_on_child,0\nelfein,1\nfaun,5\namphibian_humanoid,5\nplaga,1\ndark_eyes,0\nmulti_mouth,0\nblue_bikini,0\n>:3,0\ngreen_inner_ear,0\nfrosted_flakes,3\n3_claws,0\ncandlelight,0\ngrabbing_both_ears,0\nlizard_(petruz),4\npouring,0\ncthulhu_mythos,3\ndiscordthege,1\neggplant,0\ndongitos,1\ntoes_tied,0\ncaptain_amelia,4\nwig,0\ncleave_gag,0\nill,0\nbarbarian,0\ncomparison,0\nsanders,1\nobject_insertion,0\nmrsakai,1\nsamurai_jack,3\nmcfly0crash,1\nsaint_bernard,5\nretracting_foreskin,0\ntrunk_(anatomy),0\nfuga:_melodies_of_steel,3\nopqhlak,1\nangus_delaney,4\nliveforthefunk,1\nkittentits,1\nribbed_sweater,0\nsea_slug,5\nbooponies,1\nbreast_bondage,0\nprint_swimwear,0\nbrown_legs,0\nmygalomorph,5\ngynomorph_pov,0\npanties_around_legs,0\ntarantula,5\nblue_shoes,0\nknight_dd,1\nlizet,1\nnitani,1\ncocolog,1\npurple_dildo,0\nbrooklyn_(gargoyles),4\nwhite_highlights,0\nmifa,1\ntan_horn,0\nbase_three_layout,0\nblack_belly,0\nmeraence,1\nvr_headset,0\nmike_sherman,1\nlatex_transformation,0\nhariet_(mario),4\nremmy_cormo,4\nphone_call,0\npurple_swimwear,0\ntony_the_tiger,4\noutline_heart,0\nmizutsune,5\npeeing_on_another,0\nthe_witcher,3\ndankflank,1\nunusual_navel,0\nfdokkaku,1\npink_breasts,0\nlying_on_another,0\nspatula,0\nfurrowed_brow,0\nanimaniacs_(2020),3\nsek_studio,3\nmonkey_humanoid,5\nshima_luan,4\ntwitter_hoodie,0\nlolbit_(fnaf),4\nlgbt_history_month,3\nmasterploxy,1\npattern_thigh_socks,0\ncrownedvictory,1\ngrey_butt,0\nhand_on_pussy,0\npidgeot,5\nholding_knee,0\nmistress,0\ncivet,5\nhead_wreath,0\naleu_(balto),4\nblackshirtboy,1\nbrute_wyvern,5\nleon_powalski,4\ntime,0\nscorpion,5\nmilkytiger1145,1\nazelyn,1\nbearlovestiger13,1\nsaku1saya,1\nsmushpretzel,1\nball_sniffing,0\nunikitty,4\nadios,1\npompadour,0\nshampoo,0\nwolflong,1\nbrown_handwear,0\nleaking_anus,0\nvylfgor,1\nelevator,0\ndarkdoomer,1\nwindy_whistles_(mlp),4\nlooking_up_at_partner,0\nwaiting,0\nsigma_x,1\nsnake_penis,0\ns1m,1\nhakama,0\ntwo_tone_horn,0\npusspuss,1\nunknown_artist_signature,1\nsitting_on_balls,0\nwhisperingfornothing,1\npom_antennae,0\nutahraptor,5\nunusual_pussy_placement,0\ntasmanian_devil,5\nrakisha,1\nbat_ears,0\ncarpet_shark,5\nsoul_devouring_eyes,0\nzyira,1\nhunting,0\nursid_humanoid,5\nteamwork,0\nplaguedogs123,1\nbob_(animal_crossing),4\nneon_genesis_evangelion,3\ngradient,0\npet_food,0\nungulatr,1\nsnoiifoxxo,1\ntropical,0\nmesprit,5\nafter_vaginal_penetration,0\npower_armor,0\npussy_juice_puddle,0\nwill_(harmarist),4\nthewyvernsweaver,1\nfungi_humanoid,5\nred_pants,0\nnaughtymorg,1\ndialga,5\nbeau_(animal_crossing),4\nobese_ambiguous,0\nunimpressive_(artist),1\nraised_hips,0\nrenegade-157,1\ndazed,0\nsirjzau,1\npresenting_mouth,0\nsolgaleo,5\nmufasa,4\nambient_firefly,5\ngynomorph_on_feral,0\ntwo_tone_shirt,0\nmimic,5\naruurara,1\nhollandworks,3\nhitch_trailblazer_(mlp),4\nblin_(tloz),5\nsnake_hair,0\nakitaka,1\nicy-marth,1\npounce,0\nfinger_to_mouth,0\nskull_and_crossbones,0\ncable,0\ndmxwoops,1\ndildo_in_mouth,0\nmacan_(tas),4\nbandolier,0\negg_in_ass,0\nnippon_professional_baseball,3\ngrainy,0\nhands_everywhere,0\nplatter,0\ndoggomeatball,1\nvolibear,4\nblue_butt,0\nnote,0\nsparks,0\njindragowolf,1\ncollaborative_hot_dogging,0\nrobotic_arm,0\nmajin_android_21,4\nrabbity,1\nblattodea,5\nflower_in_mouth,0\nbrown_shirt,0\nanal_piercing,0\nsmitty_g,1\nhoodie_only,0\ngold_bracelet,0\nbasketball_uniform,0\nstack,0\nplaystation_4,3\nshiron,4\ndahsharky,1\nfakeryway,1\ndomestic_goat,5\nscruffythedeer,1\nmosa,1\nflat_cap,0\nsmoke_from_nose,0\ncigarette_in_mouth,0\npurple_headwear,0\nwhite_arms,0\ntf_into_fictional_character,0\nsuds,0\nlapinbeau,1\nclitoral_hood_piercing,0\nrelieved,0\nholding_spear,0\nshe-ra_and_the_princesses_of_power,3\npurple_gloves,0\nqwertydragon,1\nbrown_paws,0\nring_(hardware),0\nstealth_masturbation,0\nfountain,0\nvex_(lol),4\nbreast_envy,0\nleg_over_edge,0\nbird_legs,0\nstriped_thigh_socks,0\ngrimdark,0\nkorean,0\ncygames,3\nmr._snake_(the_bad_guys),4\nlock_symbol,0\nrika,1\njohnmarten,1\ntanutanuki,1\ntegerio,1\npasta,0\nshinigamigirl,1\nvader-san,1\nomesore,1\nmetal_penis,0\nmottled_fur,0\nshow_by_rock!!,3\nsalamence,5\nasaneman,1\nred_jacket,0\nhand_on_mouth,0\nautumm_airwave,1\nglowing_hair,0\ntansau,1\nlegend_of_ahya,3\ntrophy,0\nanal_wink,0\nblackfox85,1\njellystone_(hbo_max),3\ndumdum,1\non_shoulders,0\npink_spots,0\nparasaurolophus,5\nmontgomery_glands,0\nsaliva_on_anus,0\nthe_secret_of_nimh,3\nglistening_scales,0\nurshifu,5\ndryadex,1\nwashing_machine,0\nunusual_eyes,0\nbegging_for_mercy,0\ncountershade_balls,0\nshower_room,0\nflag_clothing,0\nxingzuo_temple,3\nkazecat,1\ncuckquean,0\ncum_in_water,0\najin,1\nchigiri,1\nblack_countershading,0\ntriple_anal,0\nevening_gown,0\nmilkshake,0\naintsmart,1\norange_claws,0\niphone,3\nprincess_hinghoi,1\npanda_(wbb),4\nthe_deadly_six,4\npacevanrign,1\ntext_on_hoodie,0\ngabshiba,1\nwhiskey,0\nrosie_(animal_crossing),4\ncocotama,5\ndemonic,0\noffscreen_male,0\nbrown_arms,0\npoison,0\nsmall_ears,0\ncamisole,0\npone_keith,4\nchain_necklace,0\noff_the_hook_(splatoon),4\nsometh1ngoranother,1\njen_(vf),4\nlight_theme,7\ntotemoii_029,1\ngrey_feet,0\nstarfighter,1\nnuzzo,1\nfrosting,0\nmovie_theater,0\nking_cheetah,5\nblue_jeans,0\ntranslucent_legwear,0\ngoo_hair,0\npurgy,4\ndesbjust,1\ngreen_eyeshadow,0\nbad_end,0\nfamir_(artist),1\ninside_stomach,0\nsprite,0\ncovered_nipples,0\ntierafoxglove,1\ntongue_penetration,0\npov_blowjob,0\nmantle_(mollusk),0\nfoot_tuft,0\nchain_chomp,5\nred_bra,0\nmuscular_taur,0\nmilky_way_(flash_equestria),4\ndigitoxici,1\nslit_sex,0\njijis-waifus,1\nre-sublimity-kun,1\nballs_above_penis,0\nfleischer_style_toon,0\nspiked_legband,0\nbutton_pop,0\ndicknipples,0\nbig_diaper,0\nsmooshkin,1\nsususuigi,1\nahsoka_tano,4\nlight-skinned_female,0\nboulder,0\nbulldog,5\nsuishou0602,1\nskeletonguys-and-ragdolls,1\nskylosminkan,1\nheadlock,0\nwaterline_view,0\ndolly_(101_dalmatians),4\nthundercats_2011,3\npinned_arms,0\nyellow_text,0\nhoney_the_cat,4\nmedium_truck,0\nsubtle_animation,7\nbig_wings,0\nregular_grid_layout,0\nblackbetty,1\nblue_scarf,0\ndog_knight_rpg,3\nmeow_(space_dandy),4\nv-tal,1\nglistening_arms,0\noutstretched_arm,0\ntwo_tone_legwear,0\nkero_tzuki,1\ngrey_legwear,0\nsingle_braid,0\nblood_from_pussy,0\nfingerless_elbow_gloves,0\nkeldeo,5\nchainsaw,0\ngruiform,5\nworking,0\ntetsushi,1\nage_restriction,0\npink_stripes,0\nmnxenx001,1\nfeatureless_limbs,0\ncoffeechicken,1\nhumping,0\npitchfork,0\nbreasts_apart,0\nbreathable_gag,0\nblack_necklace,0\nis_(artist),1\nskecchiart,1\nbaseball_uniform,0\npenis_in_panties,0\ngang_rape,0\nlord_magicpants,1\non_hood,0\nspazzykoneko,1\ntechnophilia,0\nleavanny,5\ndm29,1\nchampa,4\nsteele_(balto),4\nblank_stare,0\nhorse_humanoid,5\nrikose,1\ntarot_card,0\nincorgnito,1\ntoon_link,4\nmurazaki,1\nafter_fellatio,0\npink_dildo,0\nfred_perry,1\nblack_spikes,0\nhuge_feet,0\nsubmissive_andromorph,0\ngrass_skirt,0\nuwu,0\nkicktyan,1\npointed_tail,0\nakatsukishiranui-fox,1\nchain-link_fence,0\npurple_text,0\nshenzi,4\nneckerchief_only,0\ndelta_rune_(emblem),0\nkarnator,1\nshopping,0\nprint_bikini,0\nstriped_ears,0\npurple_spots,0\ngrunting,0\nslim_male,0\nbelly_growl,0\nhead_between_cheeks,0\nprank,0\ncheese_the_chao,4\ntaur_penetrating,0\ntape_measure,0\nintimidation,0\nblack_thong,0\ngrowlmon,5\nbrian_mcpherson,1\nhuge_knot,0\nblargsnarf,1\npineapple,0\ndeerling,5\ntagg,4\ncum_on_beak,0\nrhydon,5\nfeliscede,1\nobese_humanoid,0\nkrampus,4\ngummy_(mlp),4\nmelonleaf,1\nvector_the_crocodile,4\ndroll3,1\nmulticolored_exoskeleton,0\nmulti_heart_reaction,0\nkuroma,1\n80's_theme,0\ne254e,1\nghost_sex,0\ninfinitedge,1\njedayskayvoker,1\ndyed-hair,0\npup_mask,0\ndragon_ball_fighterz,3\nvan,0\namur,1\nfay_spaniel,4\njess_(teckly),4\nmora_linda,4\nwetsuit,0\nhonorific,0\nchimpanzee,5\nbambi,4\nrip_(psy101),4\nholly_marie_ogburn,1\ndiddy_kong,4\ngradient_penis,0\nred_shorts,0\nunzipped_pants,0\nlemon,0\nbronwyn,4\nblack-backed_jackal,5\nbomb_(artist),1\nstealing,0\nrocko_rama,4\njyto,1\nmarsupial_balls,0\ntimmy_nook,4\nderek_hetrick,1\nkissxmaker,1\nfoxball,1\nbow_in_front,0\nbetelgeusian,5\nwrappings,0\nletodoesart,1\nlight-skinned_male,0\nnaughtybassard,1\ntwiren,1\nhead_on_hand,0\ninjection,0\npincers,0\nheart_on_body,0\nsheath_outline,0\n6_legs,0\nnotched_wings,0\nbatoid,5\nbeedrill,5\npanties_on_feral,0\ntommy_nook,4\ncargo_pants,0\njackal_humanoid,5\nnishi_oxnard,1\nshrine_maiden,0\nmarried,0\nsenimasan,1\nagroalba,1\nblue_handwear,0\ndoom_slayer,4\ngarouzuki,1\nraine_silverlock,4\ncensored_pussy,0\nmulti_pec,0\nzistopia,3\nmutilation,0\njessica_rabbit,4\nlightning_dust_(mlp),4\ndktorzi,1\npetrification,0\ntan_sheath,0\nexpression_sheet,7\nnidoran,5\nsailor_uniform,0\nchinese_new_year,3\nkangaskhan,5\nkigurumi,0\nblorp,0\nred_eyewear,0\ndiaper_change,0\nbrown_gloves,0\nreclamon,1\nfabfelipe,1\ngoodbye_volcano_high,3\nnobody147,1\necru_(artist),1\n7:10,7\ncum_in_penis,0\ncoral,5\nhulu,3\nsurfing,0\nkamperkiller_(artist),1\nthevale,1\nmartini,0\npersonification,0\nphosaggro,1\nwhite_fingers,0\nchico_(fuel),4\napollo_(animal_crossing),4\ngloria_(pokémon),4\ntoe_in_mouth,0\nthermometer,0\nhighlighted_text,0\nhand_on_ankle,0\nking_ghidorah,4\nteranen,1\nenlarged_clitoris,0\nthekinkybear,1\nouch,0\nred_heart,0\n4th_of_july,3\nshutterflyeqd,1\ngreat_white_shark,5\nruri_tsukiyono,4\nftg_transformation,0\nblue_bra,0\nsynthwave,0\ngalaxy,0\ncereal,0\nred_(pokémon),4\nvitani,4\npadding,0\nsex_in_car,0\npuzzle_(kadath),4\nmale_dominating_female,0\nsemi_(artist),1\nmasterj291,1\nleo_(vg_cats),4\nbill_(beastars),4\ndusk,0\nipoke,1\nsiphon_(anatomy),0\nnursing_handjob,0\npolygon5,1\nass_clapping,0\nthick_calves,0\nflipnote_studio,3\ncreatiffy,1\nbreast_markings,0\ntorakuta,1\nkaylii,1\ngood_parenting,0\nmeganium,5\nrowlet,5\nmessing,0\npolice_badge,0\nsergeantyakirr,1\npaper_mario:_the_thousand_year_door,3\nkatt_monroe,4\nsandshrew,5\niguanasarecool,1\nterdburgler,1\nflag_bikini,0\ngingy_k_fox,1\nfreeflyspecter,1\npattern_pants,0\njackalope_(artist),1\nyuki_(evov1),4\nperpendicular_titfuck,0\nk.k._slider,4\nfarting_on_face,0\nnintendo_ds,3\nroman,0\nhands_on_own_knees,0\neasy_access,0\nprime_(las_lindas),5\nnipple_mouth,0\nfreddy_fazbear's_pizzeria_simulator,3\ndroopy_(series),3\nreclined_table_lotus,0\nplaid_shirt,0\nseraziel,1\nmegasweet,1\ngrizzly_(wbb),4\nfelicia_cat,1\nvintage,0\nsorc,1\nhair_covering_breasts,0\ngreen_shorts,0\nblue_seam_underwear,0\nkirby:_right_back_at_ya!,3\nbuxbi_(character),4\nyellow_swimwear,0\nsnips_(mlp),4\npants_around_ankles,0\nhookah,0\nlivestock_guardian_dog,5\nstring_bow,0\nkanna_kamui,4\nhello_kitty_(series),3\nnot_safe_for_reality,1\nkami-chan,1\ntail_around_leg,0\nblack_breasts,0\nbig_abs,0\nwhitney_(animal_crossing),4\noctopus,5\nmcnasty,1\nlabor,0\nafterimage,0\nblack_choker,0\ngantu,4\ntail_upskirt,0\nnibbling,0\nbutt_tattoo,0\nmedal,0\nrose_(mlp),4\nstyling_hair,0\ncockroach,5\npretty_cure,3\nyouwannaslap,1\nskye_(paw_patrol),4\nvaginal_prolapse,0\ntwo_tone_arms,0\nbestiality_impregnation,0\nstarit,1\nmonster_energy,3\nnose_boop,0\norange_inner_ear,0\nsymm,1\nkasdaq,1\ngold_earring,0\ngobanire,1\ntrue_eagle,5\narwing,0\nleather_bottomwear,0\nunsure,0\nsilvally,5\nmercurial64,1\nnekowuwu,1\nbabysitter,0\ncrane_(bird),5\nhamtaro_(series),3\nkingbeast,1\nmonster_on_female,0\nhigh_waisted_bottomwear,0\n4chan,3\nmulti_knot,0\nseam_(sewing),0\ndark_tail,0\ncolgate_(mlp),4\ndarkened_pussy,0\nthe_land_before_time,3\ncatch_condom,0\ndelcatty,5\nspotted_clothing,0\n3_penises,0\nobese_intersex,0\nocaritna,1\nrisk_of_rain,3\ntan_chest,0\nmonotone_mane,0\npussy_focus,0\nwerefelid,5\nfox-pop,1\nmedli,4\npurple_face,0\nfatal,0\ngerman_text,7\nversatile,0\nmdgusty,1\ncarrot_top_(mlp),4\nsmaller_pred,0\npink_tentacles,0\nmusikalgenius,1\npunching_bag,0\nhorror_(theme),0\nfredina's_nightclub,3\nstomach_mouth,0\nyellow_handwear,0\ncrackers,1\ntrio_focus,0\ndevo87,1\nbodily_fluids_in_mouth,0\non_tongue,0\nb-ern,1\ngrookey,5\nheart_panties,0\nhoodie_(artist),1\nthejoyfuldragon,1\nrockfall,1\nfth_crossgender,0\nwreath,0\ntight_pants,0\ndrawing_tablet,0\nblue_feet,0\nomg,0\nshinodage,1\ntorchic,5\nchip_(sonic),4\nbrown_butt,0\ndescription,0\nhumanoid_on_top,0\nammunition,0\ndragontheshadows,1\nswan,5\nnun_outfit,0\nskyelegs,1\naquarium,0\nfoot_suck,0\nfruitbloodmilkshake,1\npanther_caroso,4\ncello,0\nshino_(housamo),4\ndr.bug,1\njake_clawson,4\ndetailed_scales,0\nfootball_(ball),0\nsurge_the_tenrec,4\noksara,1\nhatsune_miku,4\nmuko,4\nparticles,0\nneck_markings,0\nmoob_grab,0\ngaming_while_penetrated,0\nwrestling_mask,0\ndaffy_duck,4\ntiger_dancer_(zootopia),4\nkanji,0\nbrown_pupils,0\nroflfox,4\ngazimon,5\nambient_fish,5\nhandjob_while_penetrated,0\ndark_claws,0\nsuit_transformation,0\ngoat_lucifer_(helltaker),4\ngreen_handwear,0\nbrown_perineum,0\nvalsalia,1\ngouhin_(beastars),4\nelza_(interspecies_reviewers),4\nusekh,0\nbeast_(disney),4\nblackbear,1\npurple_pupils,0\nrrowdybeast,1\nsiren,5\ndnp101,1\nquetzalcoatl_(dragon_maid),4\nobject_in_pussy,0\nwheat,0\nblack_t-shirt,0\ngrey_tongue,0\nchen_(touhou),4\ntepig,5\nlock_bulge,0\nservine,5\ncobalt_snow,1\nserena_(pokémon),4\nnikiciy,1\nlizard_tail,0\nspread_eagle,0\ntext_on_collar,0\ncustapple,1\nfinal_space,3\nsand_castle,0\nenjoying,0\nmuppets,3\non_head,0\nraised_dress,0\namethyst_(gem),0\nmitten_hands,0\ngnaw,1\nzipper_down,0\nvortex_(helluva_boss),4\nwater_inflation,0\npicturd,1\nstriped_hair,0\nthigh_expansion,0\nramen,0\nplague_doctor,0\nsapphire_(gem),0\nnightmare,0\nteryx_commodore,4\naudrarius,1\nhand_on_foot,0\nleona_(aka)_little_one,4\nwherewolf,1\nlalafell,5\nsubmissive_humanoid,0\ncheering,0\nmajora's_mask,3\nxero_(captainscales),4\nvampire_bat,5\n2koma,7\ngrey_anus,0\noriginal_characters,4\ntiefling,5\nhalftone_background,0\nbloo,1\nimminent_incest,0\npoulet-7,1\nearpiece,0\nzeti,5\nlong_fingernails,0\nlooking_at_own_penis,0\nclawed_feet,0\nleonifa,1\nanimal_noises,0\ncottontail,1\ndieselbrain,1\nblue_gloves,0\nblurred_foreground,0\nhelsy,1\nmaebari,0\nhyenaface,1\nmirapony,1\nhiccup_horrendous_haddock_iii,4\nsweaty_arms,0\nmismatched_humanoid_penis,0\ndisinterested_sex,0\nr!p,1\ngrey_perineum,0\nfellatio_pov,0\nsatsumalord,1\nholding_both_knees,0\nbig_moobs,0\nheart_pasties,0\nmissing_leg,0\ndakkawoof,1\nhimeragoldtail,1\ntoughset,1\na-side,1\ntearing_clothing,0\npraise,0\nholding_pencil,0\nyear_of_the_tiger,3\nsmoke_from_mouth,0\nstaggered_grid,0\nratite,5\nwinnie_werewolf_(ghoul_school),4\npirate_hat,0\nsocial_grooming,0\ntelegram_sticker,0\nmanadezimon,1\nkit_cloudkicker,4\nfiretally,1\ndash_ravo,1\ncats_don't_dance,3\nlost_my_keys,0\ntutu,0\ncrossbow,0\namegared,1\nmulticolored_butt,0\nherny,1\nbluebean,1\nbdsm_gear,0\nfinal_fantasy_xi,3\nstreamer,0\nsoul,0\ntentacle_tongue,0\ncumlube,0\ntest_tube,0\nenglish_honorific,0\neigaka,1\nfinger_bite,0\ntoxoglossa,1\nnavel_rim,0\ndragalia_lost,3\naltered_forme_giratina,5\nlooking_at_belly,0\nlightbulb,0\npaper-wings,1\nreligious_headwear,0\nlibra-11,1\nphotolol.03,1\nmiia_(monster_musume),4\nnnecgrau,1\npurple_cum,0\npencils_(artist),1\ndeep_tongue,0\nocellus_(mlp),4\ngold_chain,0\nmichelle_(dashboom),4\nero_(erobos),4\ncurved_tail,0\nken_sugimori,1\nneytirix,1\nalpha_and_omega,3\nmonotone_legwear,0\nslap_(sound_effect),0\ncatcouch,1\nespurr,5\ncapybara,5\nland_forme_shaymin,5\ndragon_quest:_the_adventure_of_dai,3\ningi,1\nholding_mug,0\nnull-ghost,1\nwilykit,4\nmouse_tail,0\namusement_ride,0\npink_eyebrows,0\ngrey_mane,0\ncaster_tamamo-no-mae,4\ngreen_legwear,0\nselene_leni,4\nnull,0\npixelated,0\ncum_on_glasses,0\naisyah_zaskia_harnny,4\nbetter_late_than_never,3\nzoom_layer,0\ncard_game,0\nblue_(jurassic_world),4\nmrs._wilde,4\nterrie_smith,1\ngolden_eagle,5\ntan_pussy,0\ndarkened_perineum,0\nholding_feet,0\nhitec,1\nhekapoo,4\nservo,4\nscificat,1\nseascape,0\ncocktail_glass,0\nzeta-haru,1\ndisembodied_tongue,0\nnumber_print,0\nmehdrawings,1\ntwilight_sparkle_(eg),4\npussy_torture,0\nlunaris_parukia,1\nwheelbarrow_position,0\npattern_bikini,0\nfalcon_mccooper,1\nmienfoo,5\nparent_and_son,0\nhoot_(artist),1\nb-epon,1\nholding_cigarette,0\ncorablue,1\nfrilly_accessory,0\nmrs._shy_(mlp),4\ngame_screen,0\nblack_exoskeleton,0\nhow-to,0\nsexuality_symbol,0\nlechecker,1\ntwo_panel_image,0\nsonic_the_hedgehog_(film),3\nstove,0\npeeing_while_penetrated,0\nsheep_wrecked,3\noutlaw_star,3\npredaguy,1\nbroken_glass,0\nraving_rabbids,3\ndewclaw_hooves,0\ntimon,4\nlava_lamp,0\nicelectricspyro,1\nhand_between_legs,0\nmostly_nude_anthro,0\nmutation,0\nbobthetanuki,1\nkyogre,5\nchristmas_decorations,0\nbrown_belly,0\npregnant_gynomorph,0\nraised_fist,0\noverweight_human,0\nbinoculars,0\ngourgeist,5\npip-boy,0\nkikurage,1\ndeep_cunnilingus,0\nspinda,5\ntuke,1\nallosaurid,5\ninuzu,1\nambiguous_on_anthro,0\nbowser_day,3\nbrushfire,1\nsea_salt,4\npicnic_basket,0\nheartbeat,0\nsuicide,0\ntrashbadger,1\ntail_in_water,0\nraised_hoof,0\nfoot_rub,0\nopen_door,0\nsatsui-n0-had0u,1\nruanshi,1\nlooking_at_anus,0\nseashell_bra,0\nhooters,3\nneutral_expression,0\nthekidxeno,1\ncontextual_arrow,0\nedmol,1\nboy_shorts,0\ncavern,0\nsoviet_union,0\ngreen_mane,0\nfist_bump,0\nflying_sex,0\nbahnbahn_(artist),1\nfoxovh,1\nchain_jewelry,0\nimagination,0\nbutton_eyes,0\nolder_human,0\ncynthia_(pokémon),4\ntail_over_edge,0\nhoundour,5\nbrown_sheath,0\nball_nuzzling,0\nobscured_sex,0\npink_blush,0\nswimwear_removed,0\nbraford,1\nbearded_vulture,5\nmonotone_anus,0\ndog_tail,0\ncondom_decoration,0\ntwilight,0\n0119_muu,1\nglistening_lips,0\nsex_toy_fellatio,0\nroy_koopa,4\nzipper_mouth,0\nalternating_focus,0\ndurg_(artist),1\necho_(series),3\ntwotail813,1\npace-maker,1\nmount/rider_relations,0\nstraining_buttons,0\nbeast_boy,4\nhooters_uniform,0\nvera_(artist),1\nclasped_hands,0\nraccoon21,1\nhoodie/briefs_meme,0\ncomb_(anatomy),0\nyellow_perineum,0\nchurch,0\nexposed_diaper,0\nthree_row_layout,0\nwhistle_(object),0\nzetsin,1\nmeadow,0\nrichard_foley,1\nsprinkles,0\nskink,5\nemo_haircut,0\negg_inflation,0\nmoddish,1\namakuchi,1\nzigzagoon,5\ntatu_wani_(artist),1\nsyynx,1\nfladdykin,1\nbarbed_humanoid_penis,0\ntabaxi,5\nhuge_ears,0\ncuddlehooves,1\nfuturama,3\nmabel_able,4\ncelio_(peritian),4\nkajinchu,1\nfeatureless_face,0\nin_our_shadow,3\nwonderslug_(artist),1\npyron,4\nshawl,0\nhazard_symbol,0\nkageyama,1\nmulticolored_beak,0\nslowpoke,5\ngreen_face,0\nwakko_warner,4\ndecorated_bow,0\nblock,0\neclipsewolf,1\ndoublepopsicle,1\ncatherinemeow,1\nnightterror,1\nsmite,3\ncalem_(pokémon),4\nsilver_(metal),0\ntera_online,3\nwattle,0\nsharp_fingernails,0\npansexual_pride_colors,0\ntderek99,1\nberdly,4\npururing,1\nloverofpiggies,1\nside_by_side_stereogram,7\nbunsen,4\nkounosuke_(morenatsu),4\npermanent,0\nzabivaka,4\nback_to_back,0\nletterman_jacket,0\nbionic_arm,0\ntoe_play,0\ntree_hugger_(mlp),4\npunchy_(animal_crossing),4\naseethe,1\nmicro_in_hand,0\nmummy_costume,0\nbrunkdutt,3\nbrown_hat,0\nglowing_nose,0\nblack_butt,0\noutta_sync,1\nkoveliana,1\npop'n_music,3\ndale_(disney),4\ndark_room,0\nstinkface,0\nancesra,1\nsuper_fuck_friends,3\nrito_humanoid,5\nuncensor_request,7\nmale_penetrating_human,0\nhand_on_shin,0\nspying,0\noddjuice,1\nsweaty_belly,0\nhand_on_calf,0\nxray_view,0\ntied_clothing,0\nglowing_fur,0\nspotted_genitalia,0\nfureverick,1\nkaion,1\nspats,0\nsalamikii,1\nsue_sakamoto,4\ngrandchild,0\nbeer_mug,0\nmrs._brisby,4\nlion_humanoid,5\nfemale_dominating_male,0\nscruffy,0\nsatsuki_rabbit,1\nbillynr,1\ngoon_(goonie_san),4\nhimerosthegod,1\nfroakie,5\nfarmer,0\ncrooked_tail,0\naircraft_humanoid,5\ndinky_hooves_(mlp),4\ngrey_hands,0\ncatfish,5\ncontent_repetition,0\ncutout,0\nfloating_wings,0\nfierglief,1\nfink_(ok_k.o.!_lbh),4\nhazakyaracely,1\ncum_in_slit,0\nstink_lines,0\nphotonoko,1\nviwrastupr,1\nstellar_flare_(mlp),4\njacki_northstar,4\nzipp_storm_(mlp),4\ncoat_cape,0\nstriped_face,0\ninaccurate_knotting,0\nzorro_re,1\nvent,0\ncozy_glow_(mlp),4\ngenital_markings,0\nsarcolopter,1\nwick_(artist),1\nanatomy,0\nmaractus,5\nbulge_grab,0\ntorn_shorts,0\ncacomistle,5\nalcid,5\nkrezz_karavan,1\nshrek_(series),3\nantenna_hair,0\nhalter_top,0\nlei,0\npgm300,1\nwhite_seam_underwear,0\nmuscular_ambiguous,0\ngreen_gloves,0\nfaceless_intersex,0\npenis_nursing,0\nmaster_viper,4\ncuphead_(character),4\nvirtyalfobo,1\noogamikennta,1\nyoga_mat,0\nzubat,5\naaaninja,1\nchip_(disney),4\nimminent_tentacle_rape,0\nchiro_(artist),1\nsex_education,0\ngothitelle,5\ntiny_kong,4\ntydrian,1\nweb_bondage,0\neuyoshi89,1\nclenched_fists,0\nwearing_glasses,0\nsurrounded,0\neyestalks,0\nsketchy,0\ntoe_suck,0\nmirage_(disney),4\niranian_mythology,3\ndilated_pupils,0\nhiro_amanokawa,4\nyourfavoritelemonade,1\nflitter_(mlp),4\npikajota,1\nzoophobia,3\nteaselbone,1\nsilent_hill,3\nchowder_(series),3\ndire_(fortnite),4\nsoyuzmultfilm,3\nzillford,1\nholding_candy,0\nreverse_spitroast,0\ngynomorph_focus,0\nfur_collar,0\nbighorn_sheep,5\nkeke_(artist),1\ndinosaurs_inc.,3\nkuroran,1\novercast,0\nlost-paw,1\nunusual_position,0\nseibear,1\nseedrian,5\nshopped,7\nclassic_amy_rose,4\nhoutengeki,1\ntrick_or_treat,0\nmike_schmidt,4\nmythological_carbuncle,5\npink_skirt,0\nalacarte,1\nurine_in_ass,0\npenis_shadow,0\nlin_hu,4\nscruff_bite,0\ndry_humping,0\nphuufy,1\nyellow_theme,7\nrevenge,0\nerection_under_skirt,0\ndiaper_fur,0\nbonnie_hopps,4\nlooking_back_at_another,0\nsquirrel_and_hedgehog,3\nhabit,0\ncrotch_grab,0\nmeowscles,4\nmorbidly_obese_feral,0\niko,1\ncrusch_lulu,4\nchrysalisdraws,1\nwhite_toes,0\nzhanbow,1\nwolfie-pawz,1\nbig_teeth,0\nagyou,4\ncanine_genitalia,0\neye_bags,0\npink_pupils,0\nbelly_hair,0\nvillainous,0\nageplay,0\ndistracted_sex,0\nkima_(kimacats),4\nredemption3445,1\ncowboy_boots,0\nyellow_gloves,0\npyruvate,1\npokemon_go,3\nnifuramu_(pizademokttero),4\nvirtual_reality,0\nshirokoi,1\ndr._voir,4\nbass_guitar,0\narm_in_front,0\ncommentary,0\ngastly,5\nbrown_boots,0\nweapon_on_shoulder,0\nmineral_humanoid,5\nstump,0\nsquare_glasses,0\nleggy_lamb,4\nfor_sale,0\nmustelid_humanoid,5\ntowel_on_shoulder,0\nlazysnout,1\njonty,4\nkae_esrial,4\npotion_bottle,0\nbig_pubes,0\nslobber,0\nchimangetsu,3\nacorn,0\nalexaxes,1\nhazel_(shakotanbunny),4\nstained_glass,0\ncolonel_klink,1\njeanwoof,1\nyellow_headwear,0\nknot_hanging,0\nanimal_ears,0\nredraw,0\nhead_back,0\nno_swift,1\nshoelaces,0\nstriped_swimwear,0\nmr.under,1\nnon-mammal_navel,0\nnike,3\ntoshi_(artist),1\nmonotone_beak,0\ngothic_lolita,0\ntouching_diaper,0\nzooerastia,3\ntatemil,1\npussy_shot,0\npolice_car,0\nhallogreen,1\nonmyou_taisenki,3\njewish_mythology,3\nmegumi_bandicoot,4\nbrown_breasts,0\nmissy_(artist),1\ndualshock_4,3\nbetween_butts,0\nraptor007,1\nsawyer_(cats_don't_dance),4\narcher,0\nrotary_fan,0\nkuma,1\nzhali,4\nbrown_and_white,7\nblonde_highlights,0\ndogear218,1\ndrgraevling,1\ntomb_raider,3\nkatsuke,1\nfox_whisper85,1\nmewgle,1\nmulticolored_socks,0\nenvelope,0\nmr._cake_(mlp),4\nfuntime_foxy_(fnafsl),4\nflower_pot,0\ncloudz,1\nyellow_cum,0\nantiroo,1\nhypnotic_clothing,0\ndark_violet,1\nxopachi,1\nholding_card,0\npink_hoodie,0\nlegend_of_mana,3\ncuff_links,0\nflattened,0\nsnoring,0\ngame_boy_family,3\nx-men,3\nkuroame,1\nmostly_nude_male,0\nstudded_bracelet,0\npattern_skirt,0\ndixie_(fath),4\nairship,0\nbent_over_with_legs_held_straight,0\naamon_(james_howard),4\nhibiscus,0\ndudley_puppy,4\ndoorknob,0\nhead_down,0\nxenoblade_chronicles_2,3\nplasma_gun,0\naeolus06,1\njamminbison,1\ndemien,1\ntinker_bell_(disney),4\nhuman_penetrating_human,0\nevilbanana,1\nsquid_sisters_(splatoon),4\ndumpster,0\naftertale,3\noverbite,0\nheight_chart,0\nmanticore,5\nlong_mane,0\nsneasler,5\nrocket_launcher,0\nheavily_excessive_cum,0\nj5furry,1\nstylus,0\nspotted_face,0\nbbc-chan,1\none_eye_half-closed,0\ntrashtoonz,1\nthe_dark_mangaka,1\nkori-nio,1\nlatex_(artist),1\ndradmon,1\noops,0\nsex_doll,0\nmoon_bear,5\nabyssal_wolf,5\nender_dragon,5\nveyll,1\nscale_(artist),1\npeeing_on_self,0\nopen_book,0\ntrampling,0\napogee_(tinygaypirate),4\nindominus_rex,5\nplow_yoke,0\nbaron_engel,1\nscourge_the_hedgehog,4\nonion,0\nyellow_feet,0\nmhdrawin,1\ncrib,0\ngaping_urethra,0\nleaking_pussy,0\nbiyomon,5\nnr_ac,1\nholivi,1\ntatzlpony,5\nkonzaburou,1\noneshot,3\nhuman_on_male,0\nsnoot_game_(fan_game),3\nbluecoffeedog,1\ngeminisaint,1\nruth66,1\nmusic_video,0\ntorn_underwear,0\nteal_body,0\nlow_key_toxtricity,5\narcade,0\npilot,0\ntacticalfur,1\nel_arca,3\nviola_bat,1\ndiaperfurry,0\nwhipping,0\nsupervillain,0\nvillage,0\namniotic_fluid,0\ntrigger_discipline,0\nderpx1,1\ntooboe_bookmark,3\nei-ka,1\nball_squeeze,0\ncosmo_the_seedrian,4\nhand_on_wall,0\nscalie_schoolie,3\npubic_boot,0\ntarunah,5\npith_helmet,0\n9x9,1\nopen_toe_heels,0\ngargomon,5\nsnowskau,1\nrussia,0\ngold_choker,0\ngemma_polson,4\nice_cube,0\nloli_dragon_(berseepon09),4\nmicroskirt,0\nrio_(series),3\nhalf-life,3\nwood_wall,0\nmulti_tone_tail,0\ntekken,3\nbare_legs,0\nmasked_owl,5\npresenting_teats,0\nnintendo_3ds,3\nangela_cross,4\nbox_xod,1\nyookie,1\npartially_clothed_anthro,0\nbegging_for_more,0\npent_up,0\ntytonid,5\nfoam,0\nflight_rising,3\nkicks_(animal_crossing),4\nlong_fangs,0\nkiaun,1\narno_(peritian),4\npoethewondercat,1\nlikulau,4\nsyrios,1\ncum_meter,0\namerican_flag_bikini,0\nkid_icarus,3\nxbox_controller,0\ndiaper_only,0\nleather_handwear,0\nall_dogs_go_to_heaven,3\nhyper_abdominal_bulge,0\ncross_pupils,0\nreplytoanons,1\nlawyerdog,1\nlube_in_ass,0\nslur,0\nleaf_clothing,0\nexcellia_(coc),4\nhiked_leg,0\nheld_up,0\nwetblush,3\nrabbid,5\nbrown_glans,0\ncustom_character_(sonic_forces),4\nsaiyan,5\nhoofjob,0\nmythological_golem,5\nlt._fox_vixen,4\narsauron,1\nsr,1\nhyper_tongue,0\ntestowepiwko,1\nheart_tattoo,0\ndominant_ambiguous,0\nspazzyhusky,1\nfastener,0\nagitype01,1\nsuprised_look,0\nboon_digges,4\nsubway,0\nfemboy_hooters,3\nvelma_dinkley,4\nball_ring,0\nmichele_light,1\nthehades,1\noccipital_markings,0\nrainbow_fur,0\nhand_on_bulge,0\npink_bikini,0\nflask,0\nknightmoonlight98,1\nhorn_fetish,0\nblokfort,1\nundressing_partner,0\nskylar_zero,4\nnsfwzhenya,1\nhornedfreak,1\nark_warrior,1\nsuckers,0\nfluffle_puff,4\ntinydeerguy,1\nholding_person,0\nglitter,0\nstretched_clothing,0\nstuck_genitals,0\nattention_emanata,0\nmagician,0\nskyline,0\nwebcam,0\ntyrantrum,5\ncourage_the_cowardly_dog_(character),4\nsphere_creature,5\nultrabondagefairy,1\nkatrina_fowler,4\nhirurux,1\nrobbie_(rotten_robbie),4\nthe_binding_of_isaac_(series),3\npussy_peek,0\nsalaciouslx,1\nobese_gynomorph,0\nmacop,1\nbojack_horseman_(character),4\nbow_(stringed_instrument),0\n4_wings,0\noral_while_penetrating,0\n3:1,7\ncrookedtrees,1\ninterstellar_demon_stripper,4\nyounger_gynomorph,0\nformal_wear,0\nnumber_on_clothing,0\nmeasuring,0\npecjob,0\ncolleen,4\npiero03432812,1\nhumanoid_dildo,0\nmedicham,5\nharem_jewelry,0\nhoopa,5\nholding_face,0\nwhale_shark,5\nantler_grab,0\nshadow_creature,5\nasheraart,1\namocin,1\ntoga,0\nballs_blush,0\nukan_muri,1\nziggie13,1\nnubless,4\n1996,7\nsarong,0\nbarely_contained_penis,0\nflorges,5\ntailtufts,1\nhot_chocolate,0\nro,1\nbikini_removed,0\nquestioning,0\nspace_dragon_(metroid),5\nsitting_on,0\njulicat,1\nfast_food,0\nvixavil_hayden,4\nhorn_play,0\nhisuian_zorua,5\nautobot,0\ntakataka,1\nflag_swimwear,0\n4_claws,0\nmaleherm_penetrated,0\narch_position,0\nauburn_hair,0\nsymbareangoramon,5\nemerald_jewel_(colt_quest),4\njoltik,5\nmarkie,1\nflowing_hair,0\nshota_deer_(berseepon09),4\nblue_bow,0\ntail_button_bottoms,0\nslorsh,0\nno_irises,0\npower_rangers,3\ngrey_glans,0\nslit_dress,0\nskeleion,1\nfloran,5\ndrapes,0\nkyubi_(yo-kai_watch),4\ncrotch_breasts,0\npussy_ring,0\nyukata,0\nlegendary_trio,0\nmanectric,5\ngimp_mask,0\ngoo_tentacles,0\nblazethefox,1\npuffin,5\nmutual_oral,0\nlight_clothing,0\nluigi's_mansion,3\njonas,1\ntwo_tone_underwear,0\nkinoshita-jiroh,1\nback-print_panties,0\ndakka,4\no-kemono,1\nbangaa,5\nsidnithefox,1\ninfinite_(sonic),4\npegleg,0\nnemes_(clothing),0\nthe_great_mouse_detective,3\nwhimsydreams,1\nmacmegagerc,1\nzerg,5\ndripping_wet,0\npiko_piko_hammer,0\norange-peel,1\nxaenyth,1\nball_of_yarn,0\nofficer,0\nyitexity,1\nholding_paper,0\ncasparr,1\nside_by_side,0\nkyaramerucocoa,1\ndelki,1\nkammymau,1\nscars_all_over,0\nadopted,0\nsloppy_seconds,0\nhauringu,1\nzingiber,1\nphotographer,0\nsunhuiz,1\nurbosa,4\npredicament_bondage,0\nfaraden,5\nwolfkidd,1\nnier_automata,3\nfemale_humanoid,0\nhello_kitty_(character),4\ndipodomyine,5\ncheckered_clothing,0\nrayhuma,1\nnipple_censor,0\nwarthog,5\ntasanko,1\nkraken_(artist),1\nizzy223,1\nheteromyid,5\nhonovy,1\nbalancing,0\nclassic_sonic,4\nbatman,4\ncolrblnd,1\nbead_necklace,0\nchelodoy,1\npartial_speech_bubble,0\ntail_spines,0\npunkypanda,1\ncapelet,0\nangels_with_scaly_wings,3\nstuck_penis,0\ncolubrid,5\nwinnie_werewolf_(hotel_transylvania),4\npurple_bra,0\npink_headwear,0\nsecurity,0\nxenoblade_chronicles,3\nmagic_inhibitor,0\nnight_(dream_and_nightmare),4\nband-aid_on_nose,0\nvu06,1\nstoopix,1\nventrexian,5\nwhite_spikes,0\nbaseball_(ball),0\nice_bear,4\ngervic_(vju79),4\npaw_gloves,0\ntucked_arms,0\nmelianah,1\ndullahan,5\nsheela,1\nemote,0\nchristianity,0\nmoth_humanoid,5\nreddragonkan,1\nsmokyjai,1\nblue_briefs,0\nfilthypally,1\nboss,0\nsassy,0\nsnofu,1\nbig_triceps,0\nstraight_to_gay,0\nholding_brush,0\naennor,1\npointing_at_penis,0\nrabbit_ears,0\nlara_croft,4\ntezcatlipoca,4\nreccand,1\nnovaspark,1\nbelly_focus,0\ncircus_baby_(fnaf),4\nvitrex,1\nomnic,5\nkespr,1\nyooka-laylee,3\ndead_tree,0\ngigantamax_pokemon,5\njulie_bruin,4\nwaddledox,1\npleasured,0\nteal_scales,0\nraised_pinky,0\nsebafox,1\nplaytonic_games,3\nhime_cut,0\nboneitis,1\ncucujoid,5\ntopknot,0\nariveil,1\nnoill,1\nhabbodude,1\nblack_highlights,0\nmerrunz,1\nbrown_pubes,0\nsheeporwolf,1\nblithedragon,1\nspinning,0\nleather_gloves,0\nkencougr,1\nziegelzeig,1\nhetty_(faf),4\nexercise_ball,0\npokémon_move,0\nsinfulwhispers15,1\nfinger_gun,0\ntwo_tone_legs,0\nimminent_gangbang,0\nveigar,4\nsilvergrin,1\ndiscarded_sex_toy,0\ntakiminada,1\ndark_sclera,0\nstirrup_(marking),0\ntext_message,0\ncentorea_shianus_(monster_musume),4\nbacn,1\nblack_and_white_and_red,7\nutsuki_maito,1\nnitro,1\njhenightfox,1\npawpsicle,0\nnyuunzi,1\nredoxx,1\nembers,0\nlaundry,0\ntgwonder,1\nrosa_(pokémon),4\nrobin_(bird),5\nreverse_bunny_costume,0\nkiss_on_lips,0\nsexotheque,1\nmickeymonster,1\nponcho,0\npu_sukebe,1\njennifer_(study_partners),4\nthewill,1\nchin_piercing,0\nmedical_syringe,0\ntabard,0\nrei_(pokemon),4\nagainst_desk,0\nstartled,0\nshirt_logo,0\nben300,1\ncooking_pot,0\nmarshtomp,5\nhuman_edit,0\nholding_camera,0\nbelly_blush,0\npainted,0\nthestory,1\nfree_use,0\ndwarf_rabbit,5\nsymbol-shaped_eyes,0\nscyther,5\npillow_bite,0\nhimitsu_no_cocotama,3\npac-man,4\nsneefee,1\nninetht,1\npink_shoes,0\nboris_noborhys,1\nthewilldpink,1\nmykiio,1\nforced_anal,0\nhelia_peppercats,4\nwerefox_(character),4\nwet_penis,0\nmercenary_(character),4\nblue_hands,0\nbonasiah,3\nmarilyn_(quotefox),4\nfinger_suck,0\nanonymous_character,4\nartik_ninetails,4\nlampropeltini,5\nblue_vest,0\ngirafarig,5\ndanandnite,1\nfootsie,0\ngyro_tech,4\nsnake_hood_piercing,0\nhero,0\nred_fundoshi,0\ncurrency_amount,0\nictonica,1\netis,4\n:>,0\npec_grab,0\nbustier,0\nglamfur,0\ngunmouth,1\nblue_legs,0\npenis_bite,0\nleaking_diaper,0\npraying,0\nripping,0\ncrowning,0\nknot_grab,0\nt72b,1\ntissue_box,0\nexposed_butt,0\nwolfpsalm,1\nmilitary_cap,0\nbastriw,1\nladybug,5\nyasmil,1\nvtuber,3\nblack_cum,0\ncondom_suit,0\njake_the_dog,4\nslim_anthro,0\ndarknsfwindie,1\nfurred_kobold,5\nrepzzmonster,1\nzombikiss,1\nsollyz,1\nscene_hair,0\nkurtassclear,1\nattribute_theft,0\nequine_genitalia,0\njoe_randel,1\nsleeveless_hoodie,0\nistani,1\nsex_swing,0\nbarn_owl,5\nakari_(pokemon),4\nkrekk0v,1\nrock_dog,3\nred_glasses,0\norisa_(overwatch),4\nfirecat,4\nstormdragonblue,1\ntoots,1\nyama_the_dorumon,4\ntennis_racket,0\nskinny_male,0\ntadano_(aggretsuko),4\nfighting_over_boy,0\nolder_humanoid,0\ncum_on_chin,0\nthanksgiving,3\nzeena,4\nundeadkitty13,1\nblue_dildo,0\nponsex,1\nmilk_container,0\nteenage_mutant_ninja_turtles_(2012),3\npeach_(fruit),0\ndanganronpa,3\ndylan_(101_dalmatians),4\nmartial_arts_uniform,0\nhead_in_mouth,0\nla_pavita_pechugona,3\ncatti_(deltarune),4\ndragon_tales,3\nchiropteran_humanoid,5\npadjetxharrington,1\nstrikeanywhere,1\nponporio_(artist),1\nheart_in_signature,0\nrenee-moonveil,1\ngranny_smith_(mlp),4\nsummer_camp_island,3\nvial,0\nblinders,0\nezukapizumu,1\nallosaurus,5\ncrux,5\ndannoitanart,1\ntatsumichi,1\ninspired_by_formal_art,7\nfalling_leaves,0\ndiaper_under_clothing,0\nwilling_pred,0\nfail,0\nmagikarp,5\ntickling_armpits,0\nmichiyoshi,1\njosun,1\ncactuscacti,1\nskykain,1\npenis_bow,0\ncock_sock,0\nbeta_pokémon_games,3\ndildo_lick,0\nview_from_below,0\nlovecraftian_(genre),3\ntracksuit,0\nsarox,1\neda_clawthorne,4\nchakona_space,3\nbeta_pokémon_(species),5\nakitamonster,1\nnelly63,1\nauroth_the_winter_wyvern,4\nstoic5,1\nholding_panties,0\nmarkwulfgar,1\nandyd,1\nbee_humanoid,5\ncum_on_own_leg,0\nmarowak,5\nhumanoid_pred,0\nkennen_(lol),4\nsirmasterdufel,1\nsoap_bubbles,0\nhasukii,1\nspitey,4\nxerneas,5\nscribble_censorship,0\nred_boots,0\nblue_yoshi,5\ncanon_x_oc,0\nblue_kerchief,0\nappelknekten,1\ninternal_wall,0\ntransformation_mechanism,0\nnew_world_monkey,5\nfurnut,1\npurugly,5\nchinese,0\ncock_hanging,0\ngreen_collar,0\nbrushing_teeth,0\npainted_claws,0\nwagon,0\none_calf_up,0\npubes_exposed,0\nespio_the_chameleon,4\ncolored_toenails,0\ntolerain,1\ngrandparent_and_grandchild,0\nretro_controller,0\nzonkey,5\nkogenta_(onmyou_taisenki),4\ntail_blade,0\ndripping_text,0\nfacial_scales,0\nmonster_girl_quest,3\nwhite_boots,0\nlarger_herm,0\nthecatnamedfish,1\nmulticolored_thigh_highs,0\nnevobaster,1\ntrue_buffalo,5\nbrown_beard,0\ncockslap,0\nweather_instrument,0\ngold_scales,0\nhead_on_pillow,0\nfatal_dx,1\nspiked_cock_ring,0\nblaster_master,3\npsychic,0\nwhite_bikini,0\nghostoast,1\ngreen_countershading,0\ndragmon,1\nspirit:_stallion_of_the_cimarron,3\nbit-small,1\nforced_exposure,0\ncosmiclife,1\nthebigmansini,1\nkoorinezumi,1\ndemona_(gargoyles),4\nmulticolored_shoes,0\nmonster_hunter_stories,3\nrampage,0\ncavity_storage,0\ntwo_tone_bottomwear,0\namazon,0\ntoothed_beak,0\nmissphase,1\nfrilly_hairband,0\ndire_machine,5\ndead_or_alive_(series),3\nholding_stomach,0\nfigurine,0\ntime_lapse,0\nshin_(morenatsu),4\ntecmo,3\nmeditation,0\nursine_penis,0\nportuguese_text,7\nspill,0\nhair_through_hat,0\nmall,0\nsecuripun,1\nmenu,0\ncamel,5\naisha_clanclan,4\nzeekzag,1\ndvixie,1\nbound_top,0\ncroiyan,1\ncannibalism,0\npanken,1\ncum_on_viewer,0\nburgerpants,4\nsmilodon,5\nglameow,5\nfumiko,1\nfixed_dildo,0\nfuchs,1\nmilachu,4\nlooking_at_pussy,0\nrathian,5\neverquest,3\nyuniwolfsky,1\ndragon_taur,5\nkrampus_(housamo),4\nwatching_tv,0\nfeuerfrei,3\nvoodoo_doll,0\nfoot_crush,0\nmetalfox,1\ngreen_eyebrows,0\nspaca,1\ntan_eyes,0\noverlay_layer,0\ndaredemon7000,1\nwater_drop,0\npenectomy,0\nhairless_dog,5\nspinosaurid,5\nplants_vs._zombies_heroes,3\ncannibalistic_tendencies,1\nplaid_bottomwear,0\ndandi,1\nhand_on_side,0\ncamo_bottomwear,0\ntail_vore,0\nprofile,0\nnose_beak,0\ntongue_on_penis,0\nballerina,0\nmule_deer,5\ncaressing,0\nholding_legs_back,0\npixiv,3\nblowup_background,0\ngreen_hoodie,0\nblue_hooves,0\nbouncing_belly,0\npackage,0\nmr.smile,1\ndelicatessen,1\nmuskie,1\nblade_arm,0\nroblox,3\ntrixythespiderfox,1\ncinccino,5\nseii3,1\nmythological_canine,5\ncruelty,0\ndirtymac,1\nluck_(animancer),4\ncountershade_breasts,0\ncat_costume,0\ngarmr,4\ngrey_shorts,0\naspirindabaitu,1\nelectricity_manipulation,0\npatricia_bunny,4\nbuta99,1\nvignette,0\nred_hoodie,0\ncervina7_(artist),1\nfuture,0\ncum_on_furniture,0\nworkout_clothing,0\nsupersatanson,1\neaster_bunny,4\npetrock,1\ntail_frill,0\njeffthehusky,1\nfernando_faria,1\nnecrodrone,1\nbow_bra,0\nfood_delivery,0\nsaransaran,1\ndiesel_wiesel,1\npotoobrigham,1\nunderbite,0\nvinyl,0\ncharmrage,1\nmisterstallion,1\nmail,0\ngalarian_ponyta,5\ndingodile,4\nbitebox64,1\nstripes_(marking),0\nthe_gentle_giant,1\nlunala,5\nunusual_pussy,0\nmipha,4\npiebald_body,0\ndaxzor,1\ncodeine,1\nrobotic,0\nnumber_on_topwear,0\nholding_plate,0\nbrok_(character),4\npink_beak,0\nmonotone_footwear,0\nmaid_apron,0\nhijackerdraws_(artist),1\nfruit_humanoid,5\nspotted_hair,0\njumba_jookiba,4\ndryad,5\nair_inflation,0\neyeball,0\ntan_claws,0\nthe_little_mermaid_(1989),3\nsaintversa,1\nmeta_knight,4\ninterspecies_impregnation,0\nmythological_fox,5\nnihallaks_(species),5\nblack_pubes,0\nobjectification,0\nhaaru,1\nstand_(jjba),5\ncharlie_morningstar,4\nmessage,0\nlatchk3y,1\noven_mitts,0\nfurfit,1\npump,0\nplump_camel_toe,0\nserving_tray,0\ndaxter,4\ngremlin_(spiral_knights),5\nspace_jam:_a_new_legacy,3\nblood_on_weapon,0\nbrown_shorts,0\npride_color_background,0\ndragon's_crown,3\nassassin,0\nlightning_bolt,0\nrabid,1\nkoraidon,5\ncurse,0\nwooky,1\nklodette,4\namaichix,1\nfrog_humanoid,5\nloshon,1\nlegoman,1\nsabrina_(sabrina_online),4\ndouble_bun,0\nsimon_seville,4\npatrikthedog,1\nprecum_on_self,0\nzinfyu,1\nsheathed_humanoid_penis,0\namusement_park,0\nhombretigre,4\nstu_hopps,4\nbandit_heeler,4\nstrawberrytfs,1\ncum_in_ear,0\nserialdad,1\nshitpost,0\nstasis_chamber,0\nmoney_bag,0\nrose_in_mouth,0\nred_savarin,4\ncurved_text,0\njapan,0\nshu-chi,4\ndoll_joints,0\nmonster_hunter_stories_2:_wings_of_ruin,3\nblue_glow,0\nthrush_(bird),5\nspottedtigress,1\ncheetahpaws,1\ntouching_leg,0\nkill_la_kill,3\nwall_of_text,0\nncs,1\nblue_arms,0\nkneeling_sex,0\nbutt_lick,0\npherociouseso,1\nage_progression,0\nlostdragon01,1\nsyrup,0\ndotkwa,1\nfinch,5\nwyla,1\ndrum_bunker_dragon,4\nlillie_(pokémon),4\nmancoin,1\nbaby_bottle,0\nsaliva_on_balls,0\nwolfroad,1\ndecepticon,0\nbeez,1\nambiguous_on_top,0\nvirizion,5\nwizzikt,1\nstickers,0\nteba_(tloz),4\nkirbot12,1\nkanga,4\narmpit_sex,0\nwhiteleo,1\nholding_umbrella,0\nmale_rimming_male,0\nbrown_collar,0\nred_pubes,0\nholding_fixture,0\nsonic_underground,3\ntinydevilhorns,1\nleather_pants,0\ncum_in_navel,0\nekans,5\ncommon_ferret,5\npuppkittyfan1,1\ncuculiform,5\ncadaverrdog,1\nkemo_coliseum,3\nshino_(animal_crossing),4\nwillitfit,1\nskirt_down,0\nvolleyball_net,0\neri-yo,1\npoker,0\nzaire_(nightdancer),4\njcdr,1\nnerdbayne,1\nparappa,4\ninkplasm,1\nmega_ampharos,5\npink_countershading,0\nstirrup_legwear,0\nillegaleel,1\nbehemoth_(ff),5\nunzipping,0\nblue_inner_ear_fluff,0\nalbum_cover,7\nsuper_gay,0\ngasaraki2007_(copyright),3\nwedding_veil,0\ncryptid,5\nholding_whip,0\nball_gown,0\nfaceless_gynomorph,0\ntoomuchdynamite,1\namon_(atrolux),4\nteal_skin,0\nbast,4\nexercise_clothing,0\ngats,1\nlying_on_sofa,0\neggerlander,5\nkyra_(atrolux),4\nmuumuu,0\ndk-,1\nambiguous_on_bottom,0\nspread_cloaca,0\nlemondeer,1\ncoveralls,0\nred_briefs,0\nshirokoma,1\nnewyorkx3,1\nchimney,0\ninvisible_penis,0\netna_(disgaea),4\navencri,1\ncaluriri,1\nholding_eyewear,0\nmabel_(cherrikissu),4\nmedallion,0\nsex_shot,0\nmawashi,0\nmega_stone,0\nsheath_and_knife,3\ncocked_hip,0\nring_fit_adventure,3\npaper_bag,0\npurple_hat,0\ncotton_tail,0\nrory_kenneigh,4\nlurking_tyger,1\nred_countershading,0\nenginetrap,1\nbondage_furniture,0\nalice_in_wonderland,3\nmariano,1\nmega_mewtwo,5\nxjenn9,1\nnullraihigi,1\nchumbasket,1\nargument,0\npickaxe,0\nstripes_(character),4\nposture_collar,0\nkweltikwan,5\nalcremie,5\nhigh_place,0\ngreen_jacket,0\nperdita,4\nshippou_(inuyasha),4\npeeing_into_container,0\nspiked_anklet,0\nscope,0\non_pool_toy,0\nhand_above_head,0\npin_(fastener),0\nekbellatrix,1\nspaghetti,0\nmetal_sonic,4\noral_threading,0\nlady_(lady_and_the_tramp),4\ntunnel,0\nlinna_auriandi_(character),4\nserah_(black-kitten),4\nspine,0\nball_squish,0\nstegosaurian,5\ntoast,0\nbaggy_pants,0\nbirthmark,0\npumpkin_cake_(mlp),4\nbaton,0\nwax,0\nface_to_face,0\nfoxjump,3\nsnoopjay2,1\nmarmalademum,1\nalt,4\nnukochi,1\nprotagonist_(live-a-hero),4\nsabrith_ebonclaw,4\nfaceless_feral,0\ncheetara,4\nfood_print,0\nfluttershythekind,1\ngrimoire_of_zero,3\nleashing_pov,0\nstriped_horn,0\ngasping,0\nrossciaco,1\nder,4\nmary_janes,0\negg_from_ass,0\nspots_(marking),0\nnishikunsp,1\ncookie_(furryfight_chronicles),4\no-ring,0\nviolin,0\nmatypup,1\nfurboz,1\npale_fur,0\nthumb_in_ass,0\nkumao,1\nmaple_leaf,0\nmuzzle_gag,0\ntentacruel,5\nheadpiece,0\nfinal_fantasy_x,3\nzambuka,1\ncradle_position,0\ncountershade_ears,0\ndododragon56,1\nredcreator,1\nred_kangaroo,5\nfallout:_pca,3\ncrotch_tentacles,0\nrysonanthrodog,1\nred_armwear,0\nmurkrow,5\nbrolaren,1\nred_spots,0\ncrewmate_(among_us),4\njakkai,5\nsplashyu,1\nyellow_panties,0\nbilliard_table,0\nside-tie_clothing,0\nbody_swap,0\nsomnamg,1\ntripping,0\nipod,3\ncum_in_eye,0\nbiobasher,1\nharpseal,1\narizonathevixen,1\nsyngie_(artist),1\ngiygas,4\nholding_lollipop,0\nhair_ring,0\npound_cake_(mlp),4\nponyville,0\njune_(jinu),4\ngwen_tennyson,4\nzambs,1\nfurry_balls,0\nyuni_hermit,4\nlute,0\ntan_wings,0\nassasinmonkey,1\nsemiitu,1\nlaser_(artist),1\nsayuncle,1\nspearfrost,1\nyurusa,1\ndiving,0\nmilkcrown,1\nabra,5\nleodore_lionheart,4\njungledyret_hugo,3\ndire_vehicle,5\ntobi-kadachi,5\nserex,1\nhip_piercing,0\nwarm,0\nsurprised_face,0\ntfzn,1\nfireball,0\ngiraffe_(artist),1\nglint,0\nbraided_tail,0\nselina_zifer,4\npearlyiridescence,1\niggy_koopa,4\nalectorfencer,1\nbutterfree,5\nyupa,1\nmasturbating_while_penetrated,0\naval0nx,1\nblackmore,1\ncockpit,0\nhappy_harvey,1\nrubber_(artist),1\ncamp,0\nwoody_(study_partners),4\nh155296,1\nncmares,1\ngoose,5\ntina_(james_howard),4\ncroconaw,5\nwater_buffalo,5\nkaviki,1\nsicklyhypnos,1\nankha_zone,3\ncanadian_lynx,5\naiming,0\nkamui_shirow,1\nmoyamoya_kuroi,1\npink_scarf,0\npig_nose,0\nfoxboy83,1\ncodyblue-731,1\nportable_music_player,0\nshyguy9,1\nhands_together_elbows_apart,0\nkulve_taroth,5\nglistening_jewelry,0\nridges,0\ndogelore,3\npenelope_(rainbowscreen),4\ncanterlot,0\ndronification,0\ncaptainjingo,1\nbriefcase,0\ncum_in_container,0\nrain_world,3\nblack_latex,0\nsylviajo,1\ncatra,4\nurban,0\ncoffee_shop,0\nstriped_bikini,0\nhuge_biceps,0\nitoruna,1\nspandex_shorts,0\ntyroo,1\nhalf_clothed,0\nmagnetus,1\nbeef,0\nakitokit,1\nhatake,1\n:|,0\nconstellation,0\nvonboche,1\ncosmicminerals,1\ngarry's_mod,3\nspoiled_rich_(mlp),4\ntext_on_panties,0\nmamoru-kun_(series),3\ncecaelia,5\nsora_(kingdom_hearts),4\ncum_dumpster,0\nzira,4\nmath,0\nhorrorbuns,1\nraised_index_finger,0\nsecurity_guard,0\nprince_blueblood_(mlp),4\nfluffy_balls,0\nminedoo,1\nlarger_on_top,0\nharusuke,1\nslickerwolf,1\nsonata_dusk_(eg),4\nfennix_(fortnite),4\ngrindavikbydaylight,1\nrainstorm_(marefurryfan),4\norigin_forme_giratina,5\nkyrakupetsky,1\njohnfoxart,1\nblack_elbow_gloves,0\nlaverne_(sssonic2),4\nsphinx_(mlp),4\nblue_membrane,0\nbrown_belt,0\nolder_sibling,0\ndragoon86,1\ndirection_lines,0\nfredek666,1\nkaterezonate,1\nhugging_pillow,0\ntetetor-oort,1\nonegai_my_melody,3\nkled_(lol),4\nlaura_(twokinds),4\nstrangerdanger,1\nkokoro-doll,1\nquadruple_penetration,0\nlong_nose,0\nwing_bondage,0\nlevel_number,0\nblack_leash,0\nclothing_too_small,0\ngnome,5\nnastycalamari,1\nffm,0\nskyearts,1\nerunroe,1\nglans_piercing,0\ncart,0\nrenthedragon,1\nvideo_call,0\nwhite_jacket,0\nmikhaila_kirov,4\npink_socks,0\nrainbow_background,0\nnextel,1\nkyera,4\nsoulgryph,1\ntickling_machine,0\npanty_lines,0\naccelo_(character),4\nniko_(oneshot),4\nglitched_securitron,1\ninuyuru,1\ngab_(comic),3\nfanning,0\nwatering_can,0\nscrew,0\ntailed_humanoid,5\narena,0\nzim,4\nyamatokuroko965,1\nbraless,0\nshackled,0\nkivwolf,1\nfactory,0\nporcine_penis,0\ntg-0,1\nmonotone_arms,0\nsafiru,1\nnintendo_entertainment_system,3\npumpkin_head,0\nlaquine,5\nsilly_face,0\ngeiru_mirua,1\nhair_hand,0\nunrealplace,1\ndabelette,1\nrayka,1\ntufted_fur,0\ncricket-inc,1\npink_heart,0\ncumming_at_viewer,0\nstiletto_heels,0\nexposed_muscle,0\nskull_accessory,0\njack_russell_terrier,5\npinky_and_the_brain,3\ndhole,5\nmulticolored_armwear,0\ngarnetto,1\nsequential_art,3\nwriting_on_face,0\nrilex_lenov,1\nlube_on_dildo,0\nsneaking,0\nsteering_wheel,0\ncum_on_sheets,0\nwhite_paws,0\nanimal_legs,0\nunderwear_on_head,0\nailuranthropy,1\ngeta,0\nwhispering,0\nthe_man,1\ntan_butt,0\nfern,0\nsex_toy_transformation,0\nchokodonkey,1\ntalking_to_self,0\nhospital_bed,0\nblu3danny,1\nblood_from_mouth,0\nchipped_ear,0\nichthy0stega,1\nraincoat,0\nkai_yun-jun,4\nbiker_mice_from_mars,3\nscentplay,0\nslark_the_nightcrawler,4\ntouching_face,0\nfemale_protagonist_(tas),4\nlouart,1\nbrown_fingers,0\npastelletta,1\nmy_life_with_fel,3\nlightningfire12,1\nrisenpaw,1\ntokaido,1\ncrazydrak,1\neyes_rolling_back,0\naj_the_flygon,3\nalsoflick,1\nthe_penguins_of_madagascar,3\nclementine_(aswake),4\nrita_(jungledyret),4\ngrave,0\nsaint_andrew's_cross,0\ncollaborative_pussyjob,0\ndoe_(alfa995),4\nobscured_face,0\ndiasuke77,1\nspotted_penis,0\ndrone_(mlp),4\ntigertooth,1\ndasa,4\nkarakylia,1\nrenimpmon,4\nsaidra,1\nleast_weasel,5\npussy_juice_on_tail,0\nartie,4\ndark_natasha,1\ntaur_on_taur,0\ninformation_box,0\nneko3240,1\nyowesephth,1\nevolution,0\niceman1984,1\nfirefighter,0\nctarl-ctarl,5\nbasement,0\ntamberella,1\nouter_highlight,0\nmuscle_size_difference,0\nuromatsu,1\nlight_penis,0\nsuper-tuler,1\nscizor,5\nbirthday_hat,0\ninoby,1\npooka,5\ncum_on_tentacle,0\nwolfjedisamuel,1\nred_beak,0\noffering_to_viewer,0\nhyattlen,1\nsequential_arrow,0\nfriday_night_funkin',3\nanglo,1\nheart_before_text,0\nhopey,4\ndarkajugin,1\nmullet,0\nlittlepip,4\ncheek_piercing,0\ntoy-bonnie,1\nimminent_kiss,0\ndual_persona,0\nabsolutedream,1\nbull_horn,0\nleather_footwear,0\nstar_wars_visions,3\nglass_surface,0\nanimal_pool_toy,0\npltnm06ghost,1\ncloufy,1\npavita_pechugona,4\nrat_snake,5\ncum_kiss,0\npanty_and_stocking_with_garterbelt,3\ntranslucent_shirt,0\nshennong,4\nshirako,1\npyro_(team_fortress_2),4\nlazydez,1\nroswell_grey,5\nartonis,1\nrealius,1\ndodo,5\nrainbow_legwear,0\nashtray,0\npokéball_insertion,0\nbamia,1\npteranodontid,5\nwater_creature,5\nruins_style_lucario,4\ncookie_crumbles_(mlp),4\nn0nnny,1\nbilateral_penetration,0\ndouble_fellatio,0\nalex_spastic,1\nd.va_(overwatch),4\nevil_face,0\nyoshimister,1\nquill-weave,4\nmargret_stalizburg,4\njagged_mouth,0\ngatling_gun,0\ncargo_shorts,0\nspinel,4\ncum_on_own_stomach,0\nbernielover,1\ntahlian,1\n68_(artist),1\nstuck_knot,0\nmegacoolbear_(artist),1\nfreepancakes,1\nmcdonald's,3\npurple_belly,0\nsgt._frog,3\ndipstick_beak,0\ninunoshippo,1\nbiker,0\nhands_between_legs,0\nharness_bit_gag,0\ncam_show,0\norange_spots,0\nhalberd,0\nhadou_(satsui-n0-had0u),4\ntoadette,4\nyellow_nails,0\nmeatboom,1\nunder(her)tail,3\nbottom_pov,0\ninverted_cross,0\naugustbebel,1\nbovid_taur,5\nkionant,1\ndengon,1\ntext_on_bottomwear,0\nnite,1\nfinal_fantasy_tactics,3\ndialogue_with_sound_effects,0\ncrisstail,1\nrubble,0\nmulti_penetration,0\nnight_stalker_(fallout),5\nlettuce,0\nthe_shark_(changed),4\nishiru,1\ncum_flooding,0\nmr_rottson,1\nstraight_arms,0\nkanna_(blaster_master),4\nroselia,5\nalenkavoxis,1\nsarah_(study_partners),4\nprice,0\nholding_console,0\ngaokun,1\nsalty_nebula,1\nspiral_penis,0\npizza_delivery,0\njasper_(family_guy),4\nbig_dick_day,3\nurdnot_wrex,4\nkick_(artist),1\ncallmewritefag,1\ndiscord_(app),3\nleather_boots,0\nleopard_print,0\nliving_insertion_play,0\nmega_banette,5\ndaikuhiroshiama,1\ngreen_sweater,0\ntzarvolver,1\near_twitch,0\ncoca-cola,3\nhip_expansion,0\ncarifoxleopard,1\nferanta,1\ncollege,0\ntentacles_on_male,0\nmass_vore,0\nsugar_belle_(mlp),4\nspectrumshift,1\nmithra,5\nosos,1\npikmin,3\nswatchling,5\nhyilpi,1\notakuap,1\nragdoll_(study_partners),4\nbarbed_canine_penis,0\nnanimoose,1\norange_text,0\nhierophant_green_(artist),1\nbaseball_(sport),0\nvicar_amelia,4\nhusky92,1\ncan't_see_the_haters,3\nbell_harness,0\nmeganemausu,1\nrumble,4\nalpha0,1\nnude_edit,7\nfood_dressed,0\nstrapless_underwear,0\ngwen_geek,3\nvelvet_reindeer_(tfh),4\nshort_horn,0\ntail_ridge,0\nshariea,1\nami_bandicoot,4\nprint_jersey,0\ngaster,4\nwigglytuff,5\ncum_stain,0\nblueballs,1\nsikai,1\ndrowzee,5\npokémon_gold_beta,3\nduality,0\nrumbling,0\norange_feet,0\njockstrap_only,0\nunderfell,3\nholding_melee_weapon,0\nalistar_(lol),4\nfully_clothed_to_nude,0\nheart_print_underwear,0\njay_(1-upclock),4\npink_yoshi,5\noversized_shirt,0\nshoutmon,5\nblacksad,3\nrestraining_table,0\nred_sweater,0\noutstretched_arms,0\nblue_boots,0\nnoms_(nimzy),4\nturquoise_hair,0\nkimun_kamui_(tas),4\ntaoren,1\nneon_sign,0\nkinkymation,1\ncurt_(animal_crossing),4\nlackadaisy,3\nblack_speech_bubble,0\nscan,0\nkit_(kitsune_youkai),4\nchip_'n_dale,3\ntama-tama,4\nrubber_creature,5\nserving,0\nganyu_(genshin_impact),4\ngerman,0\nlamarian,5\narm_fins,0\noaks16,1\nyellow_dress,0\nsplashing,0\nexcessive_sweat,0\nmonkeyxflash,1\nolivia_(animal_crossing),4\nsmaller_andromorph,0\nwater_deer,5\nmeagan_(silver_soul),4\nmatoc,1\njessie_(team_rocket),4\ntoned_female,0\nmonster_rancher,3\nsports_panties,0\nkisukemk777,1\ndragon-heart,1\nblack_tuft,0\nfullmetal_alchemist,3\namputation,0\nheart_print_panties,0\nhuffslove,1\nponythroat,1\nmickey_the_retriever,1\nwhite_t-shirt,0\nnevrean,5\nbeast_(bloodborne),5\nbreeding_stand,0\nanaconda,5\nhilbert_(pokémon),4\nconcert,0\nspongebob_squarepants_(character),4\ndark_face,0\ndrks,1\ncrade,1\nbrownieclop,1\ntsukino_(monster_hunter_stories),4\nmonsters_university,3\nnightstick,0\nmihari,4\npussy_juice_on_face,0\nsiroc_(character),4\nclothing_grab,0\nsmooth_skin,0\ngiru_(artist),1\nslave_leia_costume,0\ntheoryofstrings,1\ndoctor_who,3\nkiwa_flowcat,1\nruuhtian_(kig-yar),5\nmonique_pussycat,4\nsunglasses_only,0\nball_bra,0\ntril-mizzrim,1\nroadrunner,5\nkillioma,1\nlaying_on_ground,0\nstriped_feathers,0\nlewd_dorky,1\ndoctor-sfm,1\nsewn_mouth,0\naraidian,1\nnew_world_ground_cuckoo,5\nsenky,4\nblue_sweater,0\nsniper,0\npurple_pants,0\nel-gallo,1\neverest_(paw_patrol),4\noverflow,0\ncherry_tree,0\nmuscular_herm,0\nambient_crustacean,5\nfridge_(artist),1\nhand_on_ear,0\nchastity_bulge,0\nsix_fanarts_challenge,3\nrunaboo_chica,4\nchicken_meat,0\nlynncore,1\nlace_panties,0\nfelina_feral,4\nrussell_(castbound),4\ncorn_snake,5\ndream_mirage,1\ncyanosis,0\nside_butt,0\ntemujin,4\nsquats,0\nprincess_carolyn,4\nsilent_e,1\ntongue_bite,0\nbody_control,0\nblackwargreymon,5\ncockatiel,5\nslugcat_(rain_world),5\nfoxtrot_(glacierclear),3\neto_ya,1\nsweaty_armpit,0\nrooking,1\nrickleone,1\nklongi,1\ncitra,5\npteranodon,5\nakkusky,1\nafter_anal_penetration,0\ntubes,0\nnekostar,1\ncoolblue,1\npartially_clothed_male,0\nzawmg,1\nscalesindark,1\nblack_fingers,0\nfully_clothed_anthro,0\nsebastien_(black-kitten),4\nwhite_areola,0\nassisted_rape,0\nlapfox_trax,3\nanixis,1\ngreen_fire,0\nyellow_spots,0\nsmall_feet,0\npastel,0\nbuilding_sex,0\nserval-chan,4\nleotard_aside,0\ngrandmother,0\ncentaurworld,3\ntwo-footed_autofootjob,0\ndeinonychus,5\nflittermilk,1\nmonotone_underwear,0\nhollo_nut,1\nbrass_instrument,0\nlatchkey_kingdom,3\njurassic_beauties,3\ninumatori,1\nhand_in_mouth,0\ndonryu,1\nheathcliff_and_the_catillac_cats,3\npatohoro,1\ngold_collar,0\nanisis,1\nteddy_(animal_crossing),4\nround_breasts,0\nashley-arctic-fox,1\nlunlunfox,1\npenis_on_tongue,0\nyona_yak_(mlp),4\nred_hairband,0\nbody_pillow_design,0\ncanada,0\nlop_(star_wars_visions),4\nms._tarantula_(the_bad_guys),4\ntopazknight,1\n5:7,7\nkashmere,1\narrwulf,1\nquicksand,0\n6_eyes,0\noffice_lady,0\nzomacaius,1\ncoughing,0\nblue_necktie,0\ntatsuki_(morenatsu),4\ndalwart,1\nbuzzer_(artist),1\nbutter,0\nlink6432,1\nglass_table,0\npip_(paladins),4\nedtropolis,1\nborderless_panel,0\nhusdur,1\nseff,1\nwii,3\nbrogulls,3\non_cloud,0\nmeter,0\ntayelle_ebonclaw,4\nbounce,0\nanticipation,0\npocketwatch,0\nseiza,0\ncum_exchange,0\nfloating_head,0\nblue_socks,0\nnowandlater,1\ndiacordst,1\ncocky,0\ndark_markings,0\ndog_food,0\nkeeshee,4\ndragon_wings,0\nmabit,1\nqueervanire,1\nurethral_fingering,0\ngeeflakes_(character),4\ncainethelongshot,1\nrice,0\nhinata_sakamoto,1\ndevil_hs,1\nbratty_(undertale),4\nwolnir,1\nyellow_butt,0\npetaurid,5\nquetzalli_(character),4\ntingtongten,1\npkfirefawx,1\nmega_mewtwo_y,5\nzoe_trent,4\nwolfpack67,3\nmagnemite,5\ndakimakura_pillow,0\ncanastus,1\ndarky,1\nroi,4\nulti_(ultilix),4\nneko_ed,4\ntsaoshin,1\nmop,0\nspiral_background,0\nyandere,0\nambient_bat,5\nring-tailed_cat,5\nmagicjob,0\ntwo_tone_butt,0\nvesper_art,1\nulitochka,1\ndemon_lord_dragon_batzz,4\nair_creature,5\nbra_strap,0\nseedbed,0\npenlink,1\nnikraccoom,1\ntohru_(dragon_maid),4\npenta002,1\nqhala,4\nwolflance,1\nsucked_silly,0\nroarey_raccoon,1\nlipstick_ring,0\nthehumancopier,1\nhentai_boy,1\npmoss,1\netskuni,1\nbluechika,1\njimmy_crystal,4\nhitmore,1\nkadohusky,1\njadony,1\ngabite,5\ngorath,1\nhand_on_another's_shoulder,0\nmovie_poster,0\nsean_(senz),4\nroots,0\nbrown_border,0\nviriathus_vayu,4\npicid,5\namethystdust,1\nhoof_boots,0\n8_nipples,0\nbikomation,1\nshia,1\nencouragement,0\nveiny_arms,0\ncarrot_dildo,0\ngarage,0\nbiohazard_symbol,0\ngrape_jelly_(housepets!),4\ncrocodine,4\nuntied_bikini,0\nlight_inner_ear,0\nludwig_von_koopa,4\naryanne_(character),4\nsuddenhack,1\nbreast_focus,0\nlight_balls,0\nuxie,5\nmonotone_legs,0\nzen_(twokinds),4\nara_(fluff-kevlar),4\nlight_nose,0\nyorha_2b,4\nscreamoshaymin,1\ngin_(twitchyanimation),4\nmasterelrest,1\nnauyaco,1\nxanderblaze_(copyright),3\ntan_feet,0\ndaisy_duck,4\nslightlysimian,1\nking_clawthorne,4\neublepharid,5\nhardtones,1\ntanks_(artist),1\ncarniscorner,1\nkili_(kilinah),4\nluskfoxx,4\nkarnal,4\nmanene,1\ncerberus_(helltaker),4\nj._r._r._tolkien,3\nrobotjoe,1\namara_burrger,1\nteteteko,1\nlepi,5\npapadragon69,1\nsombrero,0\nfantasy_weapon,0\nautobukkake,0\nbreakfast,0\ntankh,1\ncybernetic_eye,0\ncubi,1\njuice_box,0\nhigsby,1\nduck_hunt,3\nshining_force,3\nsheila_vixen,4\npuella_magi,3\nchoker_only,0\npokémon_amie,3\nfallopian_tubes,0\nhyenatig_(artist),1\nbuta5kawa,1\nbioshock,3\nnipple_grab,0\ngewitter,1\nukenya,1\nshoen,4\nentangled,0\nchris_goodwin,1\nbarmaid,0\njelly_(food),0\nblazingcheecks,1\nhandles_on_hips,0\nkrokorok,5\nbellyjob,0\ntazara,1\nflaky_(htf),4\ndandy_demons,3\n1995,7\nheart_areola,0\nsuccubi_samus,1\nleg_garter,0\nandromorph/gynomorph,0\nwhite_skirt,0\nyellow_membrane,0\nlarger_prey,0\nbat_nose,0\nelliotte-draws,1\ntwink_protagonist_(tas),4\nknees_pulled_up,0\nclank_(ratchet_and_clank),4\nnative_american,0\npukemilked,1\nmia_(world_flipper),4\nchazcatrix,1\nvolinfer,1\nmr_canvas,1\ncompetition_number,0\nluxuria,1\nblackmail,0\nkuruk_(character),4\nwall_art,0\nnumber_on_jersey,0\nmercy_(overwatch),4\nkagerou_imaizumi,4\nkitty_pride,3\npregnancy_risk,0\nchakat-silverpaws,1\ncapaoculta,1\nserrasalmid,5\nkassen_akoll,4\ncolored_fingernails,0\nblueberry_(fruit),0\nmr._shark_(the_bad_guys),4\npie_cut_eyes,0\nshepherd0821,1\nbitterplaguerat,1\nsecretary,0\ntan_arms,0\nglistening_belly,0\ngrey_legs,0\nstrawberryneko,1\ncrosslegged_pose,0\nredmoon83,1\nheart_pattern_underwear,0\nspellbook,0\nzero_gravity,0\nweight_bench,0\nmulticolored_headwear,0\npink_stockings,0\nzafara_(artist),1\nswaying,0\nassertive,0\npoofroom,1\nrib_cage,0\npink_diaper,0\nyellowpower,1\ncountershade_border,0\nkimba_the_white_lion,3\nwaist_accessory,0\nrapier,0\ninstagram,3\ntrooper036,1\nraised_wings,0\nrashchaos,1\ndiamond_(kadath),4\nwolfmalro,1\nmanta_ray,5\nfaunus,5\nlaunny,1\ntoby_art,1\nwhite_shorts,0\nanchor,0\nkantai_collection,3\nrayley,1\nbandaged_leg,0\npurple_breasts,0\nke_mo_suke,1\nnarusewolf,1\ntartii,1\naurelion_sol_(lol),4\nwalkies,0\nbamfear,5\nkoopacap,1\ninline_skates,0\nalbinoart,1\noffering_leash,0\navian_penis,0\ntext_on_apron,0\nlegs_over_head,0\nquad_skates,0\njavanshir,1\nunknotting,0\nsweating_profusely,0\nfoxenawolf,1\nstick_figure,0\nyounger_ambiguous,0\neasel,0\nflute,0\nlion21,1\norange_countershading,0\nmass_orgy,0\ncartoonlion,1\npiranha_(fish),5\nneenya,1\ncloudy,0\nshadowbolts_(mlp),4\nmessing_diaper,0\nmailbox,0\njowybean,1\nbackless_panties,0\nda~blueguy,1\ncrowned_sword_zacian,5\ncanyne,5\npalamute,5\norange_butt,0\npink_handwear,0\na_hat_in_time,3\nfull_tour,0\northopterid,5\nwitchofavalon,1\nexpand-blurples,1\nanalon_(artist),1\nwolflong_(character),4\nchef,0\nbladder,0\npurple_mouth,0\nunit,0\nspicyocean,1\nspacescape,0\nolder_brother,0\nherro,1\nlong_arms,0\njake_cottontail,4\nsevered_genitals,0\nlapinstein,1\nsuit_jacket,0\nheliolisk,5\nzex,1\nnub_tail,0\ngamecube,3\naoino_broome,1\niradeon,5\nstar-shaped_background,0\nhaxorus,5\nglowing_pawpads,0\nstated_heterosexuality,0\ngame_media,0\ntutifruti_(artist),1\nexe_exem,1\nreaper3d,1\ndjpuppeh,1\nnancher,1\nkunai,0\nnightcap,0\nyellow_cheeks,0\nofuro,1\n18:17,7\nmarshmallow-ears,1\nmole_under_eye,0\nno_homo,0\nchewing_grass,0\nodin_sphere,3\nno_climax,0\nshiba-kenta,1\ncumbread,1\nfabio_paulino,1\nlisa_(study_partners),4\naztec,0\nliz_bandicoot,4\npure_command,1\nhaley_(nightfaux),4\nsoup,0\nmonotone_feathers,0\nnavarchus_zepto,4\nbarking,0\n3_legs,0\njesus_y,1\ngoldfish,5\n169_position,0\nsmearing,0\ndrill,0\ncorsac_fox,5\nmta_crossgender,0\ntakemoto_arashi,1\numbilical_cord,0\nbigshine000,1\n3d_background,0\nblue_beak,0\nplaid_skirt,0\nda_goddamn_batguy,1\nshort_film,0\nidsaybucketsofart,1\nneph,1\nyoung_link,4\njay_ward_productions,3\nraichoclub,1\nhervy_(uchoa),4\ngoshaag,1\nafghan_hound,5\nsayuri_tatsuyama,3\nimage_macro,7\nscale_markings,0\nstar_trek_the_animated_series,3\ngrowing,0\nhappy_happy_clover,3\ndizzyknight,1\nmusteline_humanoid,5\nhane,1\nangelthecatgirl,1\nchikiota,1\nhair_size_difference,0\nportal_ring,0\nnot_a_furfag,1\naak_(arknights),4\nblack_vest,0\natori,1\nneverneverland,1\nstrapless_bra,0\npaledrake,3\naventis_vixxx,1\nrakan,4\nunwanted_cumshot,0\nblizzieart,1\nunnecessaryfansmut,1\nharry_potter,3\nred_rope,0\npurple_bikini,0\nwkar,1\ndrawstring_topwear,0\nsfrogue,1\nwardraws,1\ncherub,5\nwhining,0\nlaw_(sdorica),4\nzac_(lol),4\nclarice_(disney),4\ndrizzile,5\nurw,1\nbunihud,1\nblack_beard,0\nbraided_beard,0\npalmon,5\nben_(zenless_zone_zero),4\nvulapa,1\nkin-shun,1\nsugar_glider,5\nmiddle-earth_(tolkien),3\nmeandraco,1\nforceswerwolf,1\narm_on_leg,0\nthrone_room,0\nflash_emanata,0\npuella_magi_madoka_magica,3\nknee_grab,0\nbook_of_lust,3\nprecum_pool,0\ntailclops_(species),5\nmike_(twokinds),4\nregret,0\nhighland_cattle,5\ndripdry,4\ntwist_(mlp),4\npregnancy_test,0\nglistening_legwear,0\npower_ponies_(mlp),4\nemitting_cum,0\nfolding_fan,0\nvagabondbastard,1\nimalou,1\nstegosaurus,5\nboomerang,0\nmirror_reflection,0\nsean_blackthorne,1\nchasm-006,1\ngrey_arms,0\nasking,0\npanini_(chowder),4\nsherlock_hound_(series),3\nmultiplayer,0\nziemniax,1\npaintchaser,1\ntrioami260,1\nosprey,5\npurple_countershading,0\nsuggestive_look,0\nfredryk_phox,1\ncloudy_quartz_(mlp),4\nyear_of_the_ox,3\npathfinder,3\npointing_up,0\nkamelotnoah,1\nprint_briefs,0\narareroll,1\nlady_nora_(twokinds),4\nasymmetrical_horns,0\nm'ress,4\ndragging,0\npurple_scarf,0\ngrey_headwear,0\ngaiki,1\ngangstaguru,1\nsquigly,4\nblack_necktie,0\navocato,4\nflying_squirrel,5\nsleeping_beauty_(1959),3\nwarden006,1\nbrittany_miller,4\nsogaroth,1\ntail_head,0\nskuntank,5\nphallusbro,1\ndirty_socks,0\nprison_cell,0\nt-dick,0\nwadorigi,1\nbattle_angel,1\nbarely_visible_breasts,0\nbuttercup_saiyan,1\neerieviolet,1\nkangaroo_rat,5\nspiral-horned_antelope,5\nprimatius,5\npeanut_butter_(housepets!),4\nground_shark,5\neiroru,1\nhands-free_bubble_tea,3\nperegrine_falcon,5\nsharp_horn,0\nlatex_skin,0\n<3_tail,0\nkaisura,5\nharness_ring_gag,0\nmilkteafox,1\ndinner,0\nthunder,0\nmartial_arts,0\ndisposable_cup,0\nexamination,0\npaw_tuft,0\nnargleflex,1\naunt,0\ngrotesque,0\nshoulder_tattoo,0\npredator_penetrated,0\nopen_diaper,0\nwoodpecker,5\npatchwork_creature,5\nnun_habit,0\nkatarhein,1\nmother's_day,3\nborky-draws,1\npeeing_on_furniture,0\nsekiguchi_(odd_taxi),4\ndiner,0\nnamah_calah,4\nlight262,1\nsonic_chronicles:_the_dark_brotherhood,3\npulling_pants_down,0\nbattery,0\njonas-puppeh,1\nsynge,4\ntranslucent_panties,0\nhighleg,0\nstorage_media,0\nglistening_anus,0\nuncomfortable,0\nwide_brim_hat,0\nhinami,1\nblue_ribbon,0\ntigrex,5\nautotonguejob,0\ngoat_horns,0\narm_around_waist,0\nshot_glass,0\nbusinesswear,0\nbluebird,5\nsix_frame_sequence,0\ncaramel_(mlp),4\ngeneral_yunan,4\nmesoamerican_mythology,3\nneronova,1\nkakuteki11029,1\nhakiahki,1\nmisdreavus,5\nazumarill,5\nslob,0\ndax_(daxzor),4\ncarrie_krueger,4\npony-berserker,1\nclapping,0\nokioppai,1\nar-15,0\nkaitou,1\npenis_on_penis,0\nhorn_sex,0\nwolfmask,1\nfeces_in_mouth,0\npink_sweater,0\nhat_ornament,0\nred_seam_underwear,0\nlasso,0\nyus-ts,1\nfur_coat,0\nraikoh-illust,1\nmanaphy,5\nafter_orgasm_torture,0\nbig_horns,0\ngadget_the_wolf,4\nzacatron94,1\ndrmax,1\nvermelhatan,1\nlocosaltinc,1\nnotorious84,1\nmax_draws,1\nhoard,0\ntime_period,0\nmangneto,1\npaladin,0\ngloria_the_hippopotamus,4\nhe_wants_to_order,3\nmasshiro,1\npregoo,1\nburble_(sound_effect),0\nfalcrus,1\nanal_hair,0\ndezz,1\nempoleon,5\nball_camel_toe,0\ncthulhu,4\nmango_(3mangos),4\nred_bow_tie,0\nedjit,1\nmcfli,1\ndrake_fenwick,1\n3_breasts,0\ntoa,5\nsmall_top_big_bottom,0\ncreature_inside,0\nprint_t-shirt,0\ncrying_laughing,0\nadriandustred,1\nherm_penetrating_male,0\ncomb_(brush),0\nanyare,1\nmagical_pokaan,3\nnapstablook,4\nshinerai,1\nspitting,0\numpherio,1\nphone_drawing,0\nberri,4\nhand_on_own_belly,0\nkrokobyaka,1\nsamantha_brooks,4\nbrown_hyena,5\nvest_(artist),1\nsachiel_666,1\nplaystation_console,0\nscorpion_tail,0\ngummi_bears,3\nmarble_fox,0\ntwo_tone_feet,0\nstain,0\nchibineco,1\nmenacing_(meme),3\nhoneycalamari,1\nvictor_(pokémon),4\nlefthighkick,1\nuncanny_valley,0\nwumpa_fruit,0\ncaliluminos,1\nmetroid_(species),5\nfeces_in_ass,0\nmedium_story,0\ngame_cartridge,0\nfolded_ears,0\njou,5\npenis_on_butt,0\nalakazam,5\ncurled_horn,0\nrekin3d,1\ngame_cg,0\ntuxedo_cat,5\nfrankly-art,1\nhyhlion,1\npurple_fire,0\nyuman,5\ntan_anus,0\nchloe_sinclaire,4\nhaori,0\nnuclearwasabi,1\nlegs_around_partner,0\nshade_the_echidna,4\nconverse,3\nsex_while_gaming,0\n1ceberg,1\nbadsheep,1\non_shoulder,0\nwaving_hand,0\nfsmaverick,1\ndogyd,1\nrach_verity,1\ndakimakura_pose,0\nhead_feathers,0\nblack_suit,0\ngyumao,4\nnu_pogodi,3\neyeofcalamity,1\ndavidsanchan,1\ndraw_me_like_one_of_your_french_girls,3\nariannafray_pr,1\ndove,5\nalty,4\nholding_spoon,0\ngamba_no_bouken_(series),3\nborderlands,3\nshaman,0\nneodokuro,1\nsolterv,1\nanal_only,0\nnyaswitchnya,1\nrubber_boots,0\ncaptainkirb,1\n1:4,7\npink_flower,0\ndreamy_pride_(character),4\nside_mouth,0\nbloomers,0\nmajor_arcana,0\nsamurai_shodown,3\nstud_piercing,0\ndunewulff,1\nwildblur,1\nmashiro,4\ngreen_bikini,0\nhumanoid_nose,0\nwinter_nacht,1\ngoopyarts,1\ntied_string,0\nred_sky,0\ncompletealienation,1\nchelicerae,0\nbehemoth_(housamo),4\nholding_can,0\nupside_down_cunnilingus,0\nword360,1\nwrists_to_ankles,0\nmeggchan,1\nlizombie,1\nduck_hunt_dog,4\nwhatinsomnia,1\ngrass_field,0\nlifts-her-tail,4\ntongue_stud,0\nkeldeo_(ordinary_form),5\nolympics,3\nbrushing_hair,0\ninfamousrel,1\nyasser,1\nretracted_sheath,0\nteardrop,0\nbonnet,0\nsexting,0\nproud,0\ninfinite,4\nd-rex,1\nheavymetalbronyyeah,1\nglowing_tail,0\nbarely_visible_nipples,0\nstone_floor,0\nnomad_(tas),4\ncervine_taur,5\nhiroyuki_(morenatsu),4\ngwen_martin,4\nmottled_nose,0\nanthro_to_inanimate,0\nmuffin_top,0\nanal_bead_pull,0\nmonochrome_fur,0\nkeikogi,0\nelin,5\npointy_nose,0\nconstructed_language,0\ngmad,1\ndontfapgirl,1\nyouki029,1\nfleetfoot_(mlp),4\nsidelocks,0\nworld_war_2,0\ntales_of_(series),3\ncum_in_tentacles,0\ntongue_in_foreskin,0\nfloraverse,3\nsatina_wants_a_glass_of_water,3\nskianous,1\nbrown_text,0\nfreeze-pop88,1\nsteak,0\npenis_markings,0\npignite,5\nshoulder_spikes,0\ntiger_print,0\nfake_antlers,0\npsyduck,5\npacifier_gag,0\ndoctordj,1\nadagio_dazzle_(eg),4\nmugman,4\nnipple_bite,0\ndocking,0\nsonne,1\nband,0\ndorukolorukalai,5\npokemoa,1\nweredog,5\nvending_machine,0\nfranubis,1\nsawsbuck,5\nl1zardman,1\nnu_mou,5\ntany_(doneru),4\nakineza,1\nbastika,1\ncandyfoxy,1\nkaz_(kazudanefonfon),4\ndorsal_frill,0\ndetermined,0\nharley_quinn,4\ninflatable_toy,0\nprincess_jasmine_(disney),4\nchernobog,4\ncaterpie,5\ndenlusty,1\ntouching_thigh,0\nkawfee,1\nujishiyo,1\ncrash,0\namberpendant,1\nsplurt,0\nfossilizedart,1\nxtreme7,1\nbrown_exoskeleton,0\nsake_kemosalmon,1\ngoku,4\nmonodontid,5\nbugdex,3\ndudebulge,1\nhobkin,5\npercentage,0\naztepyeen,1\nkeisha_makainn,1\ntohfu,1\ntransformers_aligned_continuity,3\nround_body,0\nklr-rio,1\nnasal_penetration,0\nnecrodrone_(character),4\nexternal_gills,0\nfara_phoenix,4\npercy_(teckworks),4\ndipstick_hair,0\ndeadpliss,1\nenergy_drink,0\nself_grope,0\nwanda_(one_piece),4\nhugh_muskroura,4\npottery,0\nstage_lights,0\nwooden_horse_(device),0\nchipar,1\nliru_(magical_pokaan),4\nastronaut,0\nnanger,5\nsoft_abs,0\nhector21314,1\nholding_bag,0\nsheath_penetration,0\narkaid,1\nplgdd,1\ncynthiafeline,1\nbreast_imprints,0\nrapel,1\ncpctail,1\noutdoor_sex,0\nred_butt,0\nmismatched_nipples,0\ndeadxqueen,1\nliarborn,1\ntatiilange,1\nhiroshi_odokawa_(odd_taxi),4\nd:,0\ndratini,5\npj_(goof_troop),4\ncobaltsynapse,1\nballs_on_glass,0\nricky_hoffman,1\ntablecloth,0\noral_while_penetrated,0\nyokozuwari,0\nslice_of_life,0\nozi-rz,1\nbrown_toes,0\nscp-682,4\nspeedo_only,0\ntranslucent_bottomwear,0\ntylerstark,1\nteal_penis,0\nfeathered_snake,5\nhotkeke1,1\ninterrupted_speech,0\ntatwuyan,1\nspotted_skunk,5\nelkhound,5\nsanfingulipunrapin,1\nfall_of_equestria,3\nhoof_gloves,0\nstylusknight,1\nfizzyjay,1\nbad_guy_cafe,3\ntengu,5\ngcfmug,1\nasui_tsuyu,4\nmarsonaut,1\nsnaxattacks,1\norange_sky,0\nmaverick,1\nsyrazor,4\nflippy_(htf),4\nmonotone_handwear,0\nfatz_geronimo,1\nmorhlis,1\nfish_hook,0\nhunched_over,0\nvib-ribbon,3\nolivia_(kadath),4\nparent_and_daughter,0\ntrevor-fox_(character),4\nspilled_drink,0\npina_(beastars),4\ncum_bucket,0\nweasselk,1\nberkthejerk,1\ncaninelove,1\njamearts,1\nphinja,1\nbacon,0\ndoost,1\ncatwolf,1\ndisfigure,1\nevane,3\nbulge_fondling,0\nnib-roc,1\ngypsy,0\nzzvinniezz,1\nfitness,0\nhtpot,1\nswinging_penis,0\nst._patrick's_day,3\nkrd,1\nvibri,4\ngreen_skirt,0\nportals_of_phereon,3\nnutty_bo,1\ncaption_box,0\nsythe_(twokinds),4\nlunar57,1\ninui_(aggressive_retsuko),4\nnikoyishi,1\nsteenee,5\npervertguy341,1\nsierra_(mana),4\nfurball_(character),4\nmixermike622,1\nraunchyhaunches,1\nmiscon,1\nhambor12,1\nsubmarine_screw,1\nmyarukawolf,1\nfinal_fantasy_xii,3\nspider-man_(character),4\nbig_legs,0\nfastrunner2024,1\nnomax,1\nbrother_penetrating_brother,0\nkrystal's_staff,0\nred_earth,3\nimp_(doom),5\nhybrid_(fortnite),4\ngrandson,0\nseven_frame_image,0\nwheelchair,0\nbarista,0\nwall_eye_stereogram,7\ncurved_eyebrows,0\ntongue_showing,0\nkatfishcom,1\ntremarctine,5\nkneeling_on_bed,0\nmargony,1\njunyois,1\nsuffering,0\nl-i-t-t-l-e_f-i-r-e,1\nzootopia_shorts,0\nbunnie_love,1\nbokoblin,5\nhorizon,0\nlapres,1\nqalcove,1\nred_blush,0\nnfl,3\ncorrsk,1\ndexstar,1\naltar,0\ncocktail_garnish,0\nproxy_(pizzacat),4\nceiling,0\nannoying_dog_(undertale),4\nblue_macaw,5\ndanellz,1\ntonytoran,1\ntentacles_on_female,0\nheart_triplet,0\nprotogen_visor,0\nrime_the_vixen,1\nikitsunyan,1\ntan_eyebrows,0\nbody_modification,0\nplayground,0\nmature_human,0\ngutovi-kun,1\nsilver_jewelry,0\nsaddle_bag,0\ndraeusz,1\nlando,1\nclawed_wings,0\nthathornycat,1\ninformation_section,0\ntwo_tone_exoskeleton,0\ncenegan024,1\nsurgical_suture,0\nnicobay,4\ndildo_vibrator,0\ntribadism_on_penis,0\nrecliner,0\ncarla_(tcitw),4\nface_censor,0\nill_dingo,1\ngregory_(fnaf),4\neipril,1\nophion,4\nback_rolls,0\ntales_foxdale,1\nmagnifying_glass,0\nblood_on_mouth,0\ncubboard,1\ncat_smile,0\nleo_(red_earth),4\ncum_on_horn,0\nshouk,1\nesix,4\nda3rd,1\nplushification,0\nrainbow_arch,0\npadded_room,0\nsaruuk,1\norange_footwear,0\nterrible_the_drawfag,1\ndisembodied_foot,0\nbones_in_feces,0\nstarykrow,1\namara_telgemeier,1\ntennis,0\nkappa,5\nonlyfans,3\nskylanders,3\nkemokin_mania,1\ntimberwolf_(mlp),5\nsquirrel_tail,0\nspectacled_bear,5\nslickehedge,1\nclamp,0\ncross_section,0\nsub-res,1\nyooka,4\nholding_plushie,0\npanzery25,1\nbrown_legwear,0\nswinging,0\nazelf,5\nsleep_molestation,0\nd6,0\niksar,5\nyamimarik1994,1\nmask_only,0\nfran_(final_fantasy),4\nminishorts,0\ndreadwolfclaw1990,1\npatting,0\nwhimsicalsquirrel,1\nnikkyvix,1\nbirdvian,1\nbrown_nails,0\nsea_serpent,5\nhand_on_another's_hip,0\ntext_on_swimwear,0\nhataraki_ari,1\nmammoth,5\nwhite_line_art,0\nheartless,5\nsirredbenjamin,1\nkappadoggo,1\nsagestrike2_(artist),1\nbutterfly_net,0\nreptilian_orbit,1\ntibetan_mountain_dog,5\ncteno,4\nglowing_tattoo,0\ndripping_speech_bubble,0\nurine_on_penis,0\nevov1,1\nmareep,5\nromman08,1\nsudonym,1\ntoothpick,0\ngalaxyoron,1\npale_eyes,0\nkirara_(inuyasha),4\ncopperback01,3\nbandanna_on_neck,0\naurru,1\nshugowah,1\nxaveknyne,1\nskully,1\nfarah,4\npiranha_fish,1\nsarki,1\nspinosaurus,5\nholding_handgun,0\nsnorkel,0\nclone26,1\non_armchair,0\npterodactylus,5\nthericegoat,1\nsecretly_loves_it,0\ndino_devil,0\nbabywife,1\ndevilscry,1\ntasteofchoklit,1\nslave_auction,0\nsea_lion,5\ncrayon,0\nraricow_(mlp),4\nlewdtias,4\npepsi,3\nintersex_on_anthro,0\nmindmachine,1\nshrimp,5\noze,1\ninfinity_symbol,0\nsandwiched,0\nimpact_(font),7\nh0rs3,1\nnews,0\ntracer_(overwatch),4\ncum_vomit,0\nbig_fangs,0\nmr._peanutbutter,4\nfeces_on_body,0\nvestina,1\ntail_out_of_water,0\nangelofhapiness,1\nrimba_racer,3\noversized_oral,0\nclock-face,1\nwarioware,3\nhayakain,1\n1_toe,0\nmarbles_swiftfoot,4\norange_hands,0\nhighmountain_tauren,5\nnewgrounds,3\nlumo,1\nover_knee,0\npraiz,1\nnewd,1\nbrown_antlers,0\nkeeltheequine,1\nrainbow_penis,0\nrealvinyl,1\npokémon_café_mix,3\nratherdevious,3\nyellow_bikini,0\nlakeslug,1\nmagikoopa,5\nky_(malamute),1\nshower_curtain,0\nford,3\nsachasketchy,1\nspring_bonnie_(fnaf),4\nrex_equinox,1\nbrainsister,1\nvic34677,1\nsitting_on_pumpkin,0\nearmuffs,0\nmistydash,1\ncum_on_own_hand,0\ncookie_run,3\nswimming_goggles,0\nfake_breasts,0\nhyucaze,1\nshnider,1\nsailor_hat,0\npizzacat,1\nunion_jack,0\naimbot-jones,1\ncynxie_(artist),1\njuiceps,1\npear,0\ngayousi7,1\nturbinedivinity,1\nmaster_ball,0\nbiggreen,1\nupper_body,0\nrini-chan,1\nsuurin_2,1\nradiowave,1\nacid,0\nthe-alfie-incorporated,1\nruthredmane,1\nservant,0\n♣,0\nsnowstormbat,1\nteer,1\nsong,0\nson_penetrating_father,0\njohnithanial,1\norgasm_control,0\nhand_grab,0\npolka_dot_panties,0\ntamanosuke,1\nfuntime_freddy_(fnafsl),4\npushbutton,0\nwhite_beak,0\nritzcat,1\nknights_college,3\nhoneymono,1\njubei_(blazblue),4\nsymmetry,0\nshade_the_wolf,1\nfrilled_lizard,5\nviskasunya,1\nmis'alia,4\ndiscordnight,4\nunderpaw,0\nhorn_accessory,0\nartca9,1\nnoise_(artist),1\nscout_(team_fortress_2),4\npink_gloves,0\npink_thigh_highs,0\nheylaw21,1\njamesfoxbr,1\ntamati,4\nmega_mawile,5\nelectrocution,0\nwill-o-wisp,0\ntalking_feral,0\nthe_boy_and_the_beast,3\ntoradoshi,1\nviola_bat_(character),4\nmadelyn_adelaide,4\npicnic_blanket,0\noutletdraws,1\nlouie_duck,4\norphen-sirius,1\ntetramand,5\nlapdance,0\ntheowlette,1\nsinensian,1\nnymph,5\nfour_frame_staggered_grid,0\ndark_blue_fur,0\ngabe,1\nzamazenta,5\nfaustsketcher,1\nep777,1\nbreed,0\nmale_dominating_male,0\nt-virus_mutant_(resident_evil),5\nsandara,1\nspefides,1\npowfooo,1\nallandox,1\nmikrogoat,1\ncetacean_pussy,0\nbeak_mask,0\nexposing,0\nchanta,1\nanother_eidos_of_dragon_vein_r,3\ndeath_(personification),4\nshinn,1\ntiarawhy,1\ncandy_gore,0\npiebald_fur,0\nyoshi's_island,3\nside_slit,0\nhuge_deltoids,0\n.hack,3\nshebeast,1\nflir,3\nblack_bow,0\ntochka,1\nejaculation_while_penetrated,0\nholding_tray,0\nsleepy_(sleepylp),4\nbrother_bear,3\nangie_(study_partners),4\ndefeat,0\njadf,1\ncham_cham,4\ncigarette_smoke,0\ncoy,0\ncatsudon,1\nwhite_pillow,0\nmazapan,1\nsuirano_(character),4\nchest_harness,0\nhufnaar,1\nayame_emaya,1\nbandage_on_nose,0\nlotus_position,0\nstingray,5\none_(manga),3\nholding_chin,0\nsex_toy_in_urethra,0\npetting_head,0\ndeanwolfwood,1\nfully_clothed_male,0\nnommz,1\nnaomi_rasputin,4\nheight_assist,0\ndinogaize,1\npassword_(visual_novel),3\nsitting_on_stump,0\nmmf,0\nlkiws,1\ngoo_dripping,0\ngoggles_only,0\ndoritohead,1\nvacuum_cleaner,0\nhandshake,0\nmargaret_smith_(regular_show),4\nredraptor16,1\nrakkuguy,1\nrhea_snaketail,4\nbottlebear,1\nconsole,0\nxelthia,4\nroy_arashi,1\nwheels,0\nsuspended_by_penis,0\nziggs_(lol),4\nsteel_cat,1\nladle,0\nrise_of_the_teenage_mutant_ninja_turtles,3\njoykill,1\ndithering,0\nblood_on_arm,0\nfydbac,1\nreallynxgirl,1\npinned_to_wall,0\ndoing_it_wrong,0\nreaching_out,0\ncaught_off_guard,0\nrhyu,1\npackmind,1\nlabret_piercing,0\nsenior_fox,4\nwebby_vanderquack,4\nscout_uniform,0\nufo,0\nrun_aki,1\njay-kuro,1\nmannequin,0\nking_boo,4\nsuki_lane,4\ng-sun,1\nritorutaiga,1\nwobbling,0\nsilvyr,1\npassimian,5\naggressive,0\nbrown_jacket,0\nwolfrun,4\ncydonia_xia,1\nkatz_(courage_the_cowardly_dog),4\nnavel_ring,0\ncompass_(artist),1\nnozomyarts,1\nkaty_kat,4\nmeg_hoi,1\ngekasso,1\nuniball,0\ntwisted_sex,0\nnikoh,1\nkellwolfik,1\nmonotone_lips,0\nsingle_strike_style_urshifu,5\nschwartzgeist,1\nsubakitsu,1\nkibbles_(uberquest),4\nstruggling_to_fit,0\nthe_rising_of_the_shield_hero,3\nknuxlight,1\nworker,0\ndewclawpaw,1\ncum_on_shirt,0\nsnow_(tas),4\nshopping_bag,0\nlechugansfw,1\nshow,0\nkurapika,1\ndown_blouse,0\nthat_time_i_got_reincarnated_as_a_slime,3\ncamera_flash,0\nglitchtrap,4\nscuba,0\nlabia_ring,0\nmummification,0\nsulfer,4\nhonesty_(artist),1\nyounger_humanoid,0\nezria,4\ndrow,5\npogchamp,4\npatreon_exclusive,0\ngate,0\npurple_skirt,0\nlove_bite,0\ncalling_for_help,0\nheart_boxers,0\ntenaflux,1\nblood_drip,0\ntabuley,1\narm_scar,0\nyellow_lips,0\nassisted_bathing,0\ngenital_rope,0\nblood_on_ground,0\ncuddle_team_leader,4\nbladder_bulge,0\nthrowing_object,0\nkommo-o,5\nbagelcollector,1\nover_the_hedge,3\nk0suna,1\nmulticolored_stockings,0\nrexouium,5\noddish,5\ndraph,5\nall_nine_eeveelutions,0\nandrew_oleander,4\nmaplespyder,1\nwolftang,1\nclear_urine,0\nbinary_drawing,0\nghost_tail,0\nkorean_mythology,3\nnummynumz,1\nfemale_fingering_male,0\norc_(dragon_quest),5\njuliathedragoncat,1\nblack_lingerie,0\nfionna_the_human,4\ntentacle_maw,0\nneo_goldwing_(artist),1\nmilodesty,1\nhead_tails,0\npride_color_topwear,0\nchari-gal,4\nsleeping_bag,0\npin_button,0\nbincu,4\nsea_monster,5\nsunflower_(pvz),5\nfaucet,0\nsword_in_mouth,0\nmimic_chest,5\nright_to_left,0\nthe_aristocats,3\nrestrained_legs,0\nsquare_(anatomy),0\nsnowgrave,0\ntwang,1\npartitioning,0\npoof,0\nmodca,1\nkittellox_(artist),1\njunebuq,1\nhacony,1\nassaultron_(fallout),5\nmotorboating,0\ncoffeefly,1\ndormouse,5\nguided_breast_grab,0\ncatfolk,5\nstanding_position,0\nnaughtygryph,1\nliving_rubber,0\nalejandra_coldthorn,4\nlam-chan,4\namazinggwen,1\ntogekiss,5\npercy_vison,4\nleilan,1\ngunfire_reborn,3\nismar,4\nhinar_miler,1\nblowing,0\nsweater_lift,0\nvurrus,1\nutterangle,1\npeace_symbol,0\naaassstaro,1\nauto_foot_lick,0\nsonyan,1\ndrama,0\nzapdos,5\nbinturongboy,1\nklaus_doberman,1\ntemrin,1\nmidna_(true_form),4\nquoll,5\nfrisbee,0\npoppy_playtime,3\npussy_juice_on_dildo,0\nsurgical_instrument,0\nukisudori,1\nsurfer,0\nvoidlesky,1\nblack_tattoo,0\nancient_rome,0\nshalinka,1\ndarksorm,1\nraven_wolf,3\nhunterramirez,1\nball_stretcher,0\nhooved_hands,0\nrobcivecat,1\ndomovoi_lazaroth,1\numisag85rabb99,1\nanuvia,1\ngrant's_gazelle,5\ndewey_duck,4\nsergen_(silver_soul),4\nt_square_position,0\ntiffy_(fastrunner2024),4\nbelly_jiggle,0\nscrunchie,0\ncamo_pants,0\nglurk,0\nnipple_weights,0\nurakata5x,1\nhotel_room,0\nnew_year_2022,3\n1994,7\npropaganda,0\nbeingobscene,1\nshaved_pussy,0\nsingafurian,1\ncrumbs,0\ncounting_cougar,4\ndankodeadzone,1\ncum_in_toy,0\ngrill,0\nandromorph/female,0\nhummingbird,5\negg_in_pussy,0\nmachop,5\nhoof_fetish,0\nhands_on_ears,0\nescaping_text,0\naftercare,0\nwaist_bow,0\nbunnykisses,1\nherm_penetrating_herm,0\ndilophosaurid,5\nporn_magazine,0\nmoonsprout_games,3\nlight_belly,0\nyosino,1\nforced_to_watch,0\npepper_(paladins),4\nmace_(dreamkeepers),4\nstorm_(stormwx_wolf),4\nshirane_kan,4\nigglypou,1\ncrombie,1\nobject_vore,0\nfrench,0\ni_love_you,0\nnidoran♂,5\njevil_(deltarune),4\nhomogenousrule,1\nbahamut,4\nbrown_beak,0\nhylotl,5\nspotted_feathers,0\ndragonfood,1\nskidoo,1\nsinking,0\nsun_bear,5\nbug_fables,3\none-punch_man,3\ngarble_(mlp),4\nanimated_png,7\ninigo_(kusosensei),4\ndachshund,5\njesonite,1\nlavender_hair,0\nimpaledwolf,1\npowerpuff_girls,3\ncomplextree,1\ngeneral_scales,4\narms_around_neck,0\nwarhammer,0\nsnaked,0\nbovine_penis,0\nlonglevy,1\npokémon_professor,0\nmeru_(merunyaa),4\n19th_century,7\ncarry_position,0\n7:8,7\nlinked_nipples,0\nahiru621,1\nlambent,1\ntail_around_partner,0\nthigh_strap,0\nwhite_speech_bubble,0\ndart,0\nmetalslayer,1\nv-d-k,1\nsmiley_face,0\napology,0\ngym_pals,3\npostal_delivery,0\nlight_pussy,0\nintersex_penetrating_ambiguous,0\npumkat,4\nbowserboy101,1\nami_dixie,4\nchikn_nuggit_(chikn_nuggit),4\npink_feet,0\ntan_teeth,0\nmale_impregnation,0\nfictional_language,0\nlauren_faust_(character),4\nnanoff,1\ndanomil,1\nelh_melizee,4\nraikou,5\nsakamata,1\npira,1\nleviathan,5\nfaeki,1\nnicole_(nicnak044),4\nchristmas_ornament,0\nyosshidoragon,1\nklei_entertainment,3\njet_pack,0\nyuguni,1\ngreen_perineum,0\nwork,0\ncrossman,1\njynx,5\npolygonheart,1\nbantar2,1\nelise_(greyhunter),4\npouch_(disambiguation),-1\nlatex_thigh_highs,0\nlight_butt,0\nacrador,5\ntree_bondage,0\nprimodrago,1\nmutual_handjob,0\nprey_pov,0\nblack_mask,0\ncharle_(fairy_tail),4\nduga_(shining),4\nshinigamisquirrel,1\nwithered_bonnie_(fnaf),4\nblack_tail_tip,0\nromarom,1\nflesh,0\nsophie_(argento),4\nshrine,0\nmetallic,0\ngrey_handwear,0\nslowderpyguy,1\nsaliva_on_breasts,0\nlarry_koopa,4\nbuilding_penetration,0\nseven-stripe_rainbow_pride_colors,0\naygee,1\nsomnambula_(mlp),4\nstarcraft_(franchise),3\ntakato_matsuki,4\nkyodashiro,1\nunistaart,1\nkify,1\nrin_kaenbyou,4\nsoft_focus,0\nincredibleediblecalico,1\ncalvin_and_hobbes,3\nluxar92,1\ncheeky_panties,0\nteenager_on_teenager,0\narcade_machine,0\ndilophosaurus,5\nroz,4\ntablet_pen,0\nlong_fur,0\nsample,0\nskye3337,1\ndoggo_(undertale),4\nnavitaserussirus,1\nkobi_lacroix,1\ncream_(disambiguation),-1\nholding_shield,0\nrabblet,1\nsummer_wars,3\nmonotone_thigh_highs,0\nimminent_oral_vore,0\nhisuian_growlithe,5\nmetalpandora,1\nsynx_(synxthelynx),4\nlabelle_able,4\nlimb_slot,0\npokédex,0\nmale/male_symbol,0\nvorusuarts,1\nchecker,4\nleia_organa,4\ncarapace,0\nmalachyte,1\nnightwing_(wof),5\nrussian_blue,5\nloose_foreskin,0\ntop_cat_(series),3\nspecies_description,0\nfalleninthedark,1\nlitwick,5\nbose,1\npronghorn,5\ntyphon,4\nkadabra,5\nhigh_heeled_shoes,0\nnekuzx,1\nnihilochannel,1\ncrunch_bandicoot,4\nmamoru-kun,4\nmt,1\nkyma,1\noscar_marcus,1\nziffir,1\nelapid_(snake),5\nbassenji,1\nareye_(artist),1\nspiritraptor,1\nnedoiko,1\ncrackiepipe,1\nyellow_hat,0\nspacewaifu,1\nakira_volfsar,1\nlegend_of_jenny_and_renamon,3\nseries,0\nfel_(my_life_with_fel),4\nwildering,1\nwhite_elbow_gloves,0\nhelixjack,1\ntelescope,0\nclefairy,5\nrandomboobguy,1\njeanette_miller,4\nthelionfish,1\nbreeze_in_the_clouds,3\nsir_gallade,4\nimprovised_gag,0\ncooner,1\nrory_(ceehaz),4\nrodrigues404,1\nmedusa,4\nabubu,1\nrayliicious,1\npouches,0\ntelleryspyro,1\nevalion,1\nnavi,4\nbetelgammamon,5\nbedwetting,0\nlink_(rabbit_form),4\nblue_sheath,0\ntaurin_fox,1\ncheek_markings,0\njava,1\ntrain_(artist),1\nnail,0\nsynced_to_music,0\nshun_(morenatsu),4\nkobold_quest,3\ngoudadunn,1\nmale_on_taur,0\nblack_heels,0\nflash_conversion,7\nmonsterbunny,1\nponyta,5\nhand_on_hair,0\nsharing_sex_toy,0\nfrozen,0\ndingoringo30,1\nwrapped,0\ncucumber,0\nbucklebunny,1\ncleo_catillac,4\nliving_sex_doll,5\njames_corck,1\ncanyon,0\nciena_celle,4\ngame_(disambiguation),-1\nlagiacrus,5\nrarakie,1\nalexstrasza,4\ncarrot_pen,0\nopen_:3,0\ngrunt_(pokémon),0\ndannyckoo,1\nfake_wings,0\nmr.tektite,1\nadventures_of_sonic_the_hedgehog,3\nloonatics_unleashed,3\njunior_horse,4\nsimonaquarius,1\ntauros,5\njellymouse,1\nnyar,1\ntrading_card,0\npokegontc,1\nzheng_(artist),1\npositive_wishes_(artist),1\nmiraidon,5\nnekubi,1\nred_tentacles,0\nsumatran_rhinoceros,5\nfurred_wings,0\nrisk_of_rain_2,3\nlizardman_(overlord),5\nl-a-v,1\ntalon_hands,0\nhazel_(animal_crossing),4\norange_anus,0\nscene_kid,0\npdxyz,1\ndetective,0\npom_hat,0\ndrake_(disambiguation),-1\ncoati,5\nmin,1\nkingretrokirby,1\nbeast_(disambiguation),-1\nloki_(bitterplaguerat),4\noneminutesketch,1\nsize_theft,0\nturning_red,3\ntlt_echelon,1\ncloak_only,0\nmrscurlystyles,1\ntheycallhimcake,1\ndezmine21,1\nisabella_bandicoot,4\nwalkie_talkie,0\nembarrassed_nude_male,0\non_roof,0\ncaedere,1\nheart_(organ),0\nkota´,1\ndon't_starve,3\nheel_claw,0\nzerva_von_zadok_(capesir),4\nreluctant,0\nflorecentmoo,1\nbitter_(bristol),4\npink_belly,0\npainted_balls,0\nwantaro,1\nworried_face,0\nglobe,0\ndarkwing_duck,3\ndora_the_explorer,3\nkumatetsu,4\nkuroodod_(fursona),4\nkumiho,5\nbashful,0\nriptideshark,3\nmissile,0\nrhk,1\ncum_from_navel,0\nethersaga,1\nratih_(study_partners),4\nsheriff,0\nslime_inflation,0\nwhitephoenix52,1\nholding_arms,0\nfashion,0\ninvisible,0\nsherly_karu,4\naviator_cap,0\nball_tugging,0\nadjatha,1\npotato_chips,0\ngalaxxxart,1\ntysontan,1\ncoloratura_(mlp),4\non_pillow,0\ndamage,0\nlancer_(deltarune),4\nkeronian,5\nsynnfultiger,1\ngyarados,5\nlevitating,0\nkrookodile,5\nbulge_in_face,0\ncyn.,1\nonnanoko,1\nplacard,0\ngreen_scarf,0\nyellow_glans,0\ndarknaigart,1\npawpadcomrade,1\nbunk_bed,0\nnidoran♀,5\nmoblie,1\nel_booki,1\nlady_bow,4\nquakehoof,1\nbraided_pigtails,0\nzenu,1\nfensu-san,1\nfeline_ears,0\nryarik,1\nkiichi,1\near_accessory,0\nhihikori,1\nhand_under_shirt,0\njade_harley,4\ncooper_estevez,4\nshishi_juuroku,1\nsyoee_b,1\nbrown_lips,0\ndannyg,1\niontoon,1\ngreen_shoes,0\ntoolbox,0\ndr._k_(changed),4\nbone_gag,0\nking_of_fighters,3\narmorine,1\nsiberwar,1\nfellatio_gesture,0\nrecord,0\nbad_trigger_discipline,0\nt-pose,0\nlittlerager,1\netheross,1\nyellow_exoskeleton,0\nlow-riding,0\nplantar_flexion,0\nbig_mouth_(anatomy),0\ndetective_pikachu,4\nmale_raping_male,0\nmarenlicious,1\nsino_(furfragged),4\nvale-city,1\nholding_money,0\nusb,0\ntan_hands,0\ngreen_lipstick,0\nautofisting,0\nangel_kryis,4\nsharp_toenails,0\nyellow_kerchief,0\njooshy,1\ndavid_lillie,1\naltered_reflection,0\ntail_hand,0\nstatik,1\nkazushi,1\njellymon,5\nzbrush,3\nstring_panties,0\nvammzu,1\nnecktie_pull,0\nwhite_tail_feathers,0\nhands_on_ankles,0\ncar_wash,0\nduo_(artist),1\nchase_(paw_patrol),4\nhiccuping,0\nchococosalo,1\nvaesark,1\nbendy_and_the_ink_machine,3\nlovespell,1\nnolollygagging,1\nragnarok_online,3\ntanutronik753_k,1\nlist,0\nssssnowy,1\nphoto_shoot,0\nbadcoyote,1\nhead_on_lap,0\nafternoon,0\nblacksmith,0\nvodka,0\ntolsticot,1\nmule_heels,0\nazathura,1\ncnidarian_humanoid,5\nmustela_humanoid,5\ngeronimo_stilton_(series),3\nviga,1\nadelaherz,1\nivorylagiacrus,1\nkitt_kitan_(artist),1\nambiguous_penetrating_female,0\npenis_between_breasts,0\nsub-tympanic_shield,0\nkodashi,1\nkalahari,1\nbalancing_on_tail,0\nlittleblackalas,1\ntanio,1\nmushroom_humanoid,5\ndedenne,5\nheroes_of_the_storm,3\nhidden_vibrator,0\nwing_piercing,0\npixie,5\nred_thigh_highs,0\ncyan_background,0\nsvarzye,1\nwolfywetfurr_(artist),1\nhigh_five,0\njasiri,4\nhumanoid_on_taur,0\ncassielink,1\ngamba_no_bouken,3\nchloe-dog,1\nstar_symbol,0\nslave_leia,0\neye_moisturizer,1\nblack_leggings,0\nmonotone_nails,0\nskateryena,1\ngem_creature,5\nass_stack,0\ncovered_breasts,0\nstirrup_footwear,0\nshining_wind,3\nnearphotison,1\napple_tree,0\nre:zero,3\nlongtailshort,1\ndsw7,1\nentei,5\ngoat-kun,1\nperched,0\ndracony,5\ndragaux,4\nwile_e._coyote,4\nshin_grab,0\noctopus_humanoid,5\nstuds,0\ntan_pants,0\nayn_(fluff-kevlar),4\naurorus,5\nblack_sweater,0\nfarin,4\nred_hakama,0\nlizheru,1\nunder_surface_view,0\nx-leon-x,1\nkatt_(breath_of_fire),4\nronso,5\nclothes_hanger,0\nara_(genus),5\ncrystal_pony_(mlp),5\nmoon_pearl,1\nasian,0\ncomputer_screen,0\nthelunarmoon,1\ngulusgammamon,5\nartblush,1\nmatimus91,1\nsquirming,0\neraser,0\nrain_silves,4\nimmortalstar,1\ndoraemon,3\na.b._lust,1\nnic-m-lyc,1\ndropping_object,0\nmaynara,1\nnyuroraxbigdon,1\ncaelum_sky,3\npang_(sdorica),4\ngray_impact,1\napatosaurus,5\ntinybeasts,1\neikasianspire,1\nblue_armwear,0\nnaruever,1\ndragon_age,3\nback_dimples,0\nlusty_argonian_maid,3\ncommunism,0\npug,5\naventis,4\ncervine_pussy,0\nyoshi_(character),4\noral_request,0\ncaraid,1\nnytro_(fluff-kevlar),4\nheart_cutout,0\nantar_dragon,1\ntail_in_pussy,0\nflesh_wall,0\nhyper_tail,0\nyeti,5\nthin_penis,0\nsalmonid_(fish),5\ngladiator,0\nhelmet_only,0\nnon-canine_knot,0\nt'vaoan,5\nbrendan_(pokemon),4\nlagomorph_penis,0\nmega_milk,3\nvibrantechoes,1\ndude,0\npantherine_taur,5\nlupe_the_wolf,4\nchinese_crested_dog,5\nhyrule_warriors,3\nplushtrapboyuwu,1\nhades_(game),3\njeniak,1\nvasuki,1\npatachu,4\ndelirost,1\ntoeless_shoes,0\nskateboarding,0\nillustration,0\njuantriforce,1\nsnowboard,0\ndain_4201,1\nshinobe,1\nbranding,0\nwrappedvi,1\nlobokosmico,1\nhand_on_ears,0\nfeet_in_water,0\ncrocdragon89,1\nserval_humanoid,5\nchanclas,0\nspottyjaguar,1\nshaze,4\nsloppy_kiss,0\nikakins,1\ndocu_(doppel),4\ncastlevania,3\nblue_flesh,0\nexcessive_saliva,0\ndarknetic,1\ntimothy_vladislaus,4\ninterrogation,0\nliving_weapon,5\nwinona_(mlp),4\nfluffx,1\njooper,1\numa_musume_pretty_derby,3\ngolden_jackal,5\nking_kazma,4\nskimike,3\nsash_(backsash),4\norange_and_white,7\nshintori,1\nchromamancer,1\nflashing_pussy,0\ntakahirosi,1\ntan_spots,0\nscreen_head,5\npyravia,4\ntirek_(mlp),4\ngliscor,5\nzonkpunch,1\nglasswalker,1\npattern_handwear,0\nantelon,1\ncash_register,0\nconjoined_eyes,0\nthatblackfox_(artist),1\nfir3born,1\nelectric,0\nronno,4\noffscreen_sex,0\nlevelviolet,1\nnumbat,5\nstatic,0\nburied_frog,1\nyellow_shoes,0\nragdoll_cat,5\ntanned_skin,0\ntext_with_emanata,0\nvhkansfweer,1\ngold_piercing,0\njtveemo,1\nmutual_fellatio,0\nwatermelon_slice,0\nbigmaster,3\nfuroticon,3\nsquid_humanoid,5\nruby_savarin,3\nbayonetta,3\ncandy_kong,4\narsalan,4\ngreen_mouth,0\nmean,0\nmiloff,1\nnokuri,5\narufina_w,1\nwbnsfwfactory,1\ndrerika,1\ndripping_penis,0\nbrown_tail_tip,0\ngreymon,5\nraptor_claws,0\nr18alphawolf,1\npixelkitties,1\nchow_chow,5\nparted_bangs,0\nretro_console,0\nleek,0\nsailor,0\nday-t,1\ngreg_panovich,1\nsnuddy,1\nouka,1\nbreast_shot,0\ncum_on_eyewear,0\nbeezlebumawoken,1\nluxurias,1\nincense,0\nsmoking_weed,0\nbrokenwing,4\nelemental_dragon,5\nyaki_atsuage,1\nwarp_pipe,0\nmonotone_pawpads,0\nkalita_(furryfight_chronicles),4\nteal_nipples,0\nnolegs_(oc),4\ndracreloaded,1\npost-it_note,0\ndappled_light,0\nfreefall_(webcomic),3\nwanted_poster,0\npiper_perri_surrounded,3\nhal,4\nsantanahoffman,1\ncast,0\nchaos,0\nshuddering,0\ndippubear,1\nprostate_orgasm,0\npink_hands,0\nred_stockings,0\nashnar,1\nblue_neckerchief,0\ntokugawa_ieyasu,4\njester_laughie,1\nbuwaro_elexion,4\nspunkubus,1\nfoster's_home_for_imaginary_friends,3\nthroat_grab,0\nmonotone_gloves,0\nshishikasama,1\ntekandprieda_(artist),1\nmomiji-kun,1\nflagpole,0\ntakeover,0\nzi_ran,1\ngiggle,0\nglowing_claws,0\nmrs._nibbly,4\nmiosha,1\nred_inner_ear_fluff,0\ncyan_yoshi,5\npenis_under_skirt,0\ntengen_toppa_gurren_lagann,3\ndoctorpurple2000,1\nursofofinho,1\nbooth,0\nballs_on_floor,0\ntwo_tone_shoes,0\nneeko_(lol),4\nbashfulsprite,1\nbetty_(weaver),4\ncorviknight,5\nschwarzfox,1\nportal_panties,0\nmanitka_(character),4\npool_float,0\nanonipony,1\nsoda_bottle,0\nshamrock,0\npussy_spreading_tape,0\nkurohime,1\nxanthor,1\ndocked_tail,0\npeskybatfish,1\ntoying_each_other,0\ndeervvitch,1\nsparklyon3,1\nicing,0\nfeatureless_legs,0\nlickitung,5\nlittlesheep,1\none_stormy_night,3\nbright,0\ntapir,5\nashwolves5,1\nshamziwhite,1\ngame_boy,3\nchimchar,5\nshintatokoro,1\nkamek,4\ncum_circulation,0\nauction,0\nomikuro,1\nmarx_(kirby),4\nbrown_inner_ear_fluff,0\nface_in_breasts,0\nsolaxe_(artist),1\ndoggie_kruger,4\nqueen_sectonia,4\ndamaged_clothing,0\nhawlucha,5\nholding_axe,0\nferal_druid,0\necho_(game),3\ntail_concerto,3\ndeku_(tloz),5\nsilver_dragon,5\nraaz,1\nmega_blaziken,5\nblattarieva,1\nbowser's_fury,3\ndesi,4\ntwo_tone_hat,0\nsmartwhitefang,1\ngeier,1\nthingshappen,1\nback_grab,0\ncovering_pussy,0\ngrinn3r,1\nconcon-collector,3\ncycling,0\ndarkshadow777,1\nanubislivess,4\nlaylee,4\ncarmen_(animal_crossing),4\nking_snugglemagne_xxv,4\nroxythefoxy,1\ntwitter_logo,0\ncoatieyay,1\npidgey,5\nexelzior,1\ntentacle_around_penis,0\nponehanon,1\nstunky,5\ncurly_brace,4\nozoneserpent,1\nacta_(spacewaifu),4\ncum_on_wings,0\npure_faraden,5\negg_from_ovipositor,0\npreview,0\ntales_of_rebirth,3\nindeedee,5\nhammer_and_sickle,0\nhyoumaru,1\npink_ribbon,0\nshaving,0\nfcsimba,1\ndroid,5\npapercraft,0\nthe-narutoshi,1\nmethados,1\ncresselia,5\nivory-raven,1\nurethral_tonguing,0\npolyamory,0\ngaming_chair,0\nomegazuel,1\nhand_on_own_arm,0\nfalla_(f-r95),4\nmrdegradation,1\ncavafly01,1\ndusknoir,5\nzhurong_(tas),4\nraphtalia,4\nrodenbeard,1\nmynka,1\nshin_guards,0\nreisen_udongein_inaba,4\ndeck_chair_position,0\nfurromantic,1\naakashi,1\nxchiseaxmargaritax,1\nchangeling_tale,3\nmrs._otterton,4\nxbox_360,3\nfishnet_handwear,0\nsaw,0\nsprinkles_(artist),1\ndracovar_valeford,1\nwallet,0\nmulticolored_hat,0\nnduli,1\nlighthouse,0\nsethpup,1\nkris_where_are_we,3\nradiation_symbol,0\natlas-white,1\nda_silva,3\ngold_markings,0\nsmall_nipples,0\nhitmonchan,5\nbottomless_intersex,0\nnirvana3,1\nafrobull,1\ntooth_necklace,0\nbottomwear_only,0\nplayboy,3\nlupine_assassin,4\nlicense_info,3\ntelehypnotic,1\neye_of_horus,0\nolkategrin,1\nyagi_b._(artist),1\nspy_(team_fortress_2),4\nben_tennyson,4\nslide,0\nlorum_piercing,0\ntod_(fath),4\ngeecku,4\nbagheera,1\ngold_crown,0\nmale_fingering_female,0\npulling_underwear,0\nrapistwerewolf,1\npattern_scarf,0\nsauce,0\ndark_balls,0\nlooking_at_own_breasts,0\nkara_resch,4\ncanvas,0\ngrey_gloves,0\narctic,0\nglaring,0\nzumjakal,1\nelio_(pokémon),4\nzombieray10,1\ncrystal_ball,0\nbrony,0\nplates,0\naldea_(character),4\nfetal_pose,0\ndevilbluedragon,1\nfeathered_arms,0\ntrigaroo,1\ntitan_a.e.,3\nbox_of_chocolates,0\nduzt,1\nuntied,0\narms_out,0\nskimpy_armor,0\nworried_expression,0\nalphonse_(james_howard),4\npunk-pegasus,1\nhowl_echoes,1\nsnowball,0\nlight_text,0\nbeardofzoose,1\nmumu202,1\npeter_the_cat,4\ndiscreet_user,1\ntamagotchi,3\ndelibird,5\nfeet_tied,0\nmrt0ony,1\neclipse,0\nclockhands,1\nmoorsheadfalling,1\ngynomorph_penetrating_ambiguous,0\nlarru-larru,1\nresine,4\nfolwilliar,1\nmikaduki_karasu,1\notterbits,1\nokiyo,1\njug,0\nmale_penetrating_maleherm,0\naltaria,5\njmg,1\nunseen_male,0\norange_glans,0\ncharlie_(weaver),4\nfwench_fwy_(chikn_nuggit),4\ntgchan,3\ndelilah_(101_dalmatians),4\nsecond_life,3\nsnappygrey,1\nraburigaron,1\njimmy_(faf),4\nbasketball_court,0\nwarning_cream_filled,3\ncrimvael_(interspecies_reviewers),4\ndynamite,0\nbernard_(ok_k.o.!_lbh),4\nbound_by_tentacles,0\nmachete,0\nstoat_humanoid,5\npyotr_repkin,1\nblue's_clues,3\npedipalps,0\npush-up,0\nv-neck,0\nwasp_waist,0\nlionsilverwolf,1\nrohan_scribe,1\nadamb/t2oa,1\ntail_wrapped,0\nthanu,1\nmargay,5\nroommates_(comic),3\neliksni,5\npink_mouth,0\nflannel_shirt,0\n7:5,7\nepona_(tloz),4\ntribal_jewelry,0\npresto_(artist),1\ndavid_a_cantero,1\nsitting_on_tail,0\nlistening_to_music,0\nnepentz,1\nelaine_(furryjibe),4\ngatogenerico,1\nhud,0\nori_and_the_will_of_the_wisps,3\nplasma_blaster,0\ndeoxys,5\nb-intend,1\nsilver_(ezukapizumu),4\nsuperhero_costume,0\nusagi_yojimbo,3\nwimple,0\nhyper_ears,0\nbeavernator,1\nspotted_ears,0\nzatch_(notkastar),4\nbadgengar,1\nsunitai,1\nemufu,1\nlien-da,4\n9:10,7\ndimmi_(character),4\ncuddlesong,1\nskyward_sword,3\nambiguous_penetrating_male,0\nzeriara_(character),4\nmario_kart,3\nbathroom_sex,0\nnaive_tabby,1\ngang_xi_siyu,4\nxenomorph_queen,5\npolar_patroller,4\nheart_above_head,0\nclawing,0\nunown_(pokémon),5\ncentipede,5\nharara,1\nshendyt,0\ntorii,0\nwalk_cycle,0\nteat_piercing,0\ndelga,4\nrammy_aaron,4\nboston_terrier,5\nfrostwyrm102,1\ncockiestspaniel,1\ntail_mane,0\npenis_pump,0\nkm-15,1\nlololo,4\nsand_cat,5\ngodoffury,1\ndabbling_duck,5\naeonspassed,1\nlemurlemurovich,1\npembrokewkorgi,1\nprey_penetrating_predator,0\nawesomenauts,3\nunie,1\nimminent_pegging,0\nbokustar_fox,1\nsymrea,1\nfuzzy_handcuffs,0\nmarshadow,5\ndreamcatcher,0\nleopard_gecko,5\nbreastless_clothing,0\nnelljoestar,1\nexceed,5\nblack_toes,0\nfather_penetrating_daughter,0\ncrazy_eyes,0\nliving_cloud,5\nkodardragon,1\nthe_three_caballeros,3\npink_hat,0\npumpkybutt,1\nmicrosoft_windows,3\nsmiju,1\nmulticolored_swimwear,0\ninfatuation,0\njustwhite,1\nx_navel,0\nbng,1\ntwistedterra,1\nblack_thigh_socks,0\ntassy_(artist),1\nfishnet_leggings,0\nzone,1\nmothra_(series),3\neverstone_guild,3\nsword_art_online,3\ndragonification,0\npopsicle_melting,0\nroommates:motha,3\nukent,1\ntan_glans,0\npoppy_opossum,3\ntelemonster,3\nshoulder_bag,0\nshorts_pull,0\nhair_down,0\nphoto_finish_(mlp),4\nmunks_(character),4\ncicada_(artist),1\njedi,0\nsneeze,0\ntaco,0\nsea_otter,5\nratatooey,1\nenroshiva,1\ndeerstail,1\ntears_of_pain,0\nfacehugger,5\nsurgical_mask,0\ndestiny_2,3\n9_6,1\nbeaker,0\ntwistcmyk,1\nelectroporn,1\nunigan,5\nsilentwulv,1\nhildegard_(fidchellvore),4\nshirokumaou,1\nfluffydonuts,1\nkiyosan,1\nderideal,3\ntimbywuff,4\njogauni,5\ninsulting_viewer,0\nhugtastic_pinkie_pie,4\nshooty,4\nrain-yatsu,1\nseatbelt,0\nredflare500,1\nverona7881,1\nreformed_changeling,5\nimperial_unit,0\nlog_(artist),1\nruco,1\nbubba_(spyro),4\ncorn,0\naveryhyena,1\ndiagram,0\ngizmo0sue,1\norange_dress,0\nballoon_boy_(fnaf),4\nminiferu,1\ngreen_belly,0\njouljehart,1\nchest_lick,0\ndiamondwing,4\nhanging_from_branch,0\nkai_the_collector,4\nkaminosaki,1\nenon,1\ndimfann,1\nbob-omb,5\nlizardman_(warhammer_fantasy),5\nlined_paper,0\nkermode_bear,5\nnightswing,4\nfull_diaper,0\nimplied_rape,0\ngeppei5959,1\nsilvia_windmane,4\ncirrus_(xp),4\nwhite_dress_shirt,0\nabduction,0\nanvil,0\nblack-husky,1\nmaster_crane,4\nivy_valentine,4\nlabel,0\nhorned_helmet,0\nhazukikai,1\nvorechestra,1\npit_(kid_icarus),4\nboyfriends,0\ngreek,0\nlynjox,1\ngrowth_drive,0\ngrabbing_arms,0\nmilestone,0\ncursed_item,0\nneck_spikes,0\nballoon_fetish,0\nhyeing02,1\nalyrise,1\n3d_fluid_sim,0\nvelrizoth,1\ngift_bow,0\ndrying,0\npower,0\narteia_kincaid_(arctic_android),4\ncombat_boots,0\nbenji_(artist),1\ndryer,0\nrikuaoshi,1\nmanitka,1\nblue_light,0\nspray_paint,0\nyellow_sheath,0\nthe_rescuers_(disney),3\nairfly-pony,1\nshads,4\nunbuttoned_pants,0\ncolo,1\nmorbidly_obese_ambiguous,0\nsunnyowi,1\nblack_bodysuit,0\nperidot_(steven_universe),4\nrikitoka,1\nxdarkspace,1\npurple_perineum,0\nrecord_player,0\nholding_knot,0\nfrieza_race,5\nhooded,0\nlyorenth-the-dragon,1\nmirabelle,4\nthetransformtentacle,1\nseyferwolf,1\nbowing,0\nvaginal_tugging,0\nwonder_woman,4\nblue_eyewear,0\nharp,0\ncovid-19_pandemic,3\nshellder,5\nkensuke_shibagaki_(odd_taxi),4\npalutena,4\nhuiro,1\ndutch_rabbit,5\nsweet.lemons,1\nwhite_beard,0\nlovkuma,1\nandromorph_on_top,0\nskaifox,1\nhocolatemilk,1\ntrapped_in_clothing,0\nt.f.a.n.c.s.,1\ngrandfather,0\nmelon_(beastars),4\npyroar,5\nklent,1\nmilo_(juantriforce),4\ncum_from_penis,0\nramaelfox,4\nping_koon,1\nsignirsol,1\ngau_(artist),1\non_rock,0\nhuitu_c,1\nnullo,0\nbrachioradialis,0\nkonbu,1\n4322chan,1\n6_horns,0\npickle_(food),0\ntimer,0\nmulticolored_handwear,0\ngravewalker,1\ngreen_breasts,0\nthigh_tattoo,0\nstrapless_dress,0\nthanshuhai,1\nultraviolet,1\nmr._piranha_(the_bad_guys),4\nranshiin,4\nscent,0\nbraffy,1\nyamper,5\ngmeen,1\nnidorino,5\nmy_pet_tentacle_monster,1\nyukiminus_rex_(evov1),4\nprotective,0\npumpkinsinclair,1\ntorn_shoes,0\ndtcx97,1\nrika_(character),4\npheonixbat,1\nchun-li,4\nanthro_to_feral,0\npornomagnum,1\nminigun,0\nkinokoningen,1\nmagpi,1\nknot_bulge,0\nleonthelionel,1\nmarshall_(paw_patrol),4\nfreako,1\nhyper_soiling,0\nmane-iac_(mlp),4\npattern_briefs,0\nelectrike,5\nuncut_with_sheath,0\nluchador,0\nlibrarian,0\ntall_lizzard_(artist),1\nnathanatwar,1\ndialogue_outside_panel,0\nchirasgi,1\nskajrzombie,1\nitameshi,1\nyinller,1\ndovne,1\nblue_knot,0\nsharp_fangs,0\ncunnilingus_gesture,0\ncuffs_to_collar,0\nhand_on_wrist,0\nmagical_girl_outfit,0\nmklancer00,1\nikiki,1\nrose_(funkybun),4\nmeasurements,0\nswiper_(dora_the_explorer),4\ndaf,1\ncatchabird,1\nneri_(caelum_sky),4\nashesdrawn,1\nsirotae_konnta,1\n3rd_party_watermark,7\ngarter_belt_leggings,0\nred_dildo,0\nwhite_membrane,0\nbaron_of_hell,5\nred_belly,0\ntwo_tone_breasts,0\nsoaking_feet,0\nanglerfish,5\nrelle,4\nteddiursa,5\naccidental_vore,0\naryanne,1\ncrossed_feet,0\nmischievous,0\n1993,7\njuanmao1997,1\nhut,0\ntriadfox,1\nteavern,1\ndynamax,0\nsupported_legs,0\nnotactuallyhere,1\njoakaha,1\nsuper_form,0\nsunofureiku,1\nspintherella,1\nimpious,1\nmagatama,0\nurethral_masturbation,0\nloss_of_dexterity,0\ngender_confusion,0\npolyle,1\nyacht_club_games,3\nshrew,5\ninside_mouth,0\nbutt_bump,0\nboxgoat,1\nkurohane_karasu,1\ntan_tongue,0\nmulticolored_tongue,0\ngoldendruid,1\ncacturne,5\nwendy_pleakley,4\norange_arms,0\nhideki_kaneda,1\nbench_press,0\nderrick_(hextra),4\nsincrescent,1\nstanding_tough,1\nsketchy_skylar,1\ndivinity:_original_sin_2,3\nbuke3jp,1\npartner_swap,0\ncommanderthings,1\nvempire,1\nfeces_on_penis,0\nmayar,1\ntaylor_renee_wolford_(darkflamewolf),4\nbubble_kitten17,1\nnokamiwd,1\nkatt_(animal_crossing),4\nrepeat_(visual_novel),3\ndeadanthro,1\nmew_duo,0\nfrito-lay,3\nscaled_forearms,0\nelectrixocket,1\nsealer4258,1\nhyper_gape,0\nbus_stop,0\npink_armwear,0\nkianamai,1\ncork,0\nwhap,0\nkodi_(balto),4\neager,0\none_after_another,0\nnebula,0\npainal,0\nlooking_down_at_self,0\nfood_costume,0\nspiff,1\ndistressed,0\npabbley,1\nfuzzy_balls,0\ndragon_pony,5\nvon_lycaon,4\nfloatie,0\nlight_claws,0\nfidget_the_fox,4\nlopmon,5\nmothra,4\nhyper_fart,0\nomnipresentcrayon,1\nsketchytoasty,1\nrachnera_arachnera_(monster_musume),4\nmuppet,5\nsip_i.a.,1\nwhite_neck,0\ntani_da_real,1\npaoguu,1\nshore,0\nsmolder,4\nback_tattoo,0\nsnowfoxatheart,1\nsharing_clothing,0\nbobthedalek,1\nchilllum,1\nbarbed_wire,0\nfkk,1\npatricia_mac_sionnach,4\nsex_battle,0\nayame42612,1\npockyrumz,1\nreveal,0\nconjoined_twins,0\ngarden_of_eden,0\ndrooling_on_partner,0\ntall_grass,0\ngrey_hoodie,0\nfive_nights_at_freddy's_vr:help_wanted,3\nlight_hands,0\noff_screen_character,0\nstar_print,0\ndelta.dynamics,1\ndaylight,0\ndiancie,5\ntwo_tone_inner_ear,0\nglistening_claws,0\ncrotchless_bottomwear,0\ngawr_gura,4\noli_snowpaw,1\nsplatoon_(series),3\nexcadrill,5\nbioshock_infinite,3\ndogmeat,4\nblue_cheeks,0\nzaggatar,1\nhoodwink_(dota),4\nsulley,4\nwide_arrow,0\nizuku_midoriya,4\nexposed_back,0\nkaeritai07,1\nconstruction_worker,0\ncum_in_foreskin,0\nessien,1\nreverse_doggystyle,0\nfire_emblem_fates,3\nrainbow_pride_clothing,0\nbaraking,1\ncorrupt_cynder,4\nrawrunes,1\nfibs,1\nvitashi,1\nrelief,0\ncandy.yeen,1\nkotori,1\ninside_underwear,0\nmustard,0\nyellow_legwear,0\nsevered_balls,0\ngreen_t-shirt,0\nredic-nomad,1\nteam_skull,3\npokemon_berry,0\npuckered_anus,0\nblvejay,1\nlittlenapoleon,1\nlucien,1\ngrey_eyeshadow,0\nschmutzo,1\nostrich,5\nstarshippizza,1\noctillery,5\nbluedraggy,1\nrotten_owl,1\ndomasarts,1\nstoopedhooy,1\non_glass_surface,0\nthe_elder_scrolls_online,3\nsutibaru,1\ncorrupted,0\nfivesome,0\nlucyfercomic,1\nwerefeline,5\nbonedra,1\nleaning_on_another,0\nfeels,0\nbckiwi,1\nshdingo,1\nformal,0\nrainbow_eyes,0\nred_thong,0\ninterspecies_relationship,0\nak-47,0\nwhite_apron,0\nmulticolored_breasts,0\nteaching,0\nlooking_through_window,0\npurple_shoes,0\nkillryde,1\ncox,4\npurple_thigh_highs,0\nlightforged_draenei,5\nprismanoodle_(artist),1\nokunawa,1\nscafen_(artist),1\nmarc_(theblueberrycarrots),4\nnotdonebaking,1\ndisplacer_beast,5\npunk_hair,0\nru_(rudragon),4\nskinny_anthro,0\nxennos,1\nbikini_down,0\nsynx,5\nrotarr,1\npikmin_(species),5\nwarlocke,1\negyptian_vulture,5\nmega_swampert,5\nrevous,1\ninner_boob,0\nholarctic_magpie,5\naleone,1\nteri_(tawog),4\nscooter,0\ncountershade_belly,0\nmulticolored_kerchief,0\ndaimo,1\nchaos_(sonic),4\nleonkatlovre,1\naggie,4\nloimu,1\nremote_controlled_vibrator,0\nraljoy,1\nfoot_on_back,0\npeaked_cap,0\nblue_bender,1\narguing,0\nhelioptile,5\nflesh_structure,0\ncanine_genitals,0\nbouncyotter,4\nup_and_over,0\ntentacle_under_clothing,0\nbutt_hug,0\nrinrin_(pixiv),1\nblack_tentacles,0\ninterrupted,0\nstarry_background,0\ntender,0\nanas,5\nmick39,1\nhopelesshighschool,1\npuffy_lips,0\njacketbear,1\nhanging_(disambiguation),-1\nbellossom,5\nmuffinlewds,1\nhand_lick,0\ntyrande_whisperwind,4\nside_cut,0\nalakay_alex,4\nmegaman_(classic),3\ntwo_tone_neck,0\ndust_(elysian_tail),4\nbreast_pillow,0\npaprika_paca_(tfh),4\nsin-buttons_(artist),1\ncadmiumtea,1\ngela-g-i-s-gela,1\n09hankris,1\nblazer,0\npoisindoodles,1\nketchup_veins,0\nlirkov,1\nplorgonarian,5\nsitting_on_table,0\ndraining,0\nyousan,1\nfurlong_(live-a-hero),4\ntrash_bag,0\ncreepy_smile,0\ntwstacker,1\nprecum_on_own_penis,0\npurple_hoodie,0\nqrichy,1\nwinter_coat,0\npooh_bear,4\noniontrain,1\nidentity_death,0\neto1212,1\nneelix,1\nhatiimiga,1\ntail_pussy,0\njinbe,4\nblue_tank_top,0\ncupboard,0\nrubbing_penis,0\nsoups_(superiorfox),4\ncompliment,0\nadventurer,0\nwall_mounted_dildo,0\nk-10,1\nsovy,4\nshaking_legs,0\nelectroshock_weapon,0\nbrave_new_world_(style_wager),3\nanearbyanimal,1\nbeakstick,0\nthresh,4\nweedle,5\nbranded,0\nskweekers,1\nside_ponytail,0\nwax_play,0\ntrunchbull,1\nheadlights,0\nbreast_tattoo,0\ndrayk_dagger,4\ntaito,3\nhurikata,1\nsewayaki_kitsune_no_senko-san,3\npwink,4\nchung0_0,1\nmisx,1\nalcina_dimitrescu,4\nvoluptuous_female,0\ngaping_cloaca,0\nspeech_bubble_outside_panel,0\nkomeko-nk,1\nset_(deity),4\nmatt_riskely,4\npointy_horn,0\nfernier,4\ndeymos,1\ngreame,1\nflexing_both_biceps,0\nstories_of_the_few,3\nclyndemoon,1\n69_(number),0\ntranslucent_hand,0\ndamianvertigo,1\np-v-s,1\nnano,0\ncyberpunk_2077,3\nhammerhead_shark,5\nblack_high_heels,0\nmiiyori,1\nsparkling_character,0\nmaster_chief,4\nmonotone_pants,0\ncotton_candy,0\nflamethrower,0\nrue_(the-minuscule-task),4\nblonde_pubes,0\nthatworgen,1\nheavy_(team_fortress_2),4\ngreen_butt,0\nholding_gift,0\nthe_more_you_know,0\nchristmas_stocking,0\nwrapped_up,0\nnose_hook,0\nminami_juuji,1\nhair_sticks,0\ngimmemysmokes,1\nthe_legend_of_spyro,3\nvolcarona,5\nstalagmite,0\nffjjfjci,1\nclitoris_outline,0\ncracker_(artist),1\nmrchocolate,1\njoystick,0\nchode,0\nsecretden,1\nharryclopper,1\nrazplus,1\nanchors_art_studio,1\nintersex_(lore),-1\nshinrabanshou,3\nchampagne_glass,0\nfabric,0\ntied_ears,0\nrosary,0\nghastlygh,1\nh.w.t._studios,3\nshirt_grab,0\njingle_bell_harness,0\ndeke_(ittybittykittytittys),4\ntramp_stamp,0\ndaria_mcgrain,1\ncasino,0\ntreadmill,0\nornaments,0\ntinder_(artist),1\nlaurel_wreath,0\ndeep_kiss,0\nshuriken,0\ncross-hatching,7\ntan_sclera,0\nsea_sponge,5\nfloral_pattern,0\nlizard_(divinity),5\ncarcharhinus,5\nclawlion,1\nsir-dancalot,1\norange_legs,0\nfleet-foot,1\nskating,0\npenelope_pussycat,4\ntext_background,0\nrubbing_pussy,0\nleokingdom,1\nbow_knot,0\nmei_(one_stormy_night),4\nflamespitter,1\nsanguine_paladin,1\nhololive_en,3\nblue_diaper,0\nhands_over_head,0\newgengster_(artist),1\nlooking_surprised,0\nglaive_wyvern,5\nblack_knot,0\nwerepantherine,5\ncum_on_crotch,0\nmark_m,1\ncaesar_(peculiart),4\n8chan,3\nfrozen_(movie),3\nunderswap,3\nverosika_mayday_(helluva_boss),4\nexcalibur_(zerofox),4\ncum_on_armpit,0\nhands_on_leg,0\ntaggcrossroad,3\nricochetcoyote,3\ncatwoman,4\nnicolaswildes_(artist),1\nbloom,0\nammo_belt,0\ngblastman,1\nerlenmeyer_flask,0\nbroken_sex_toy,0\nevolution_(transformation),0\nblack_antennae,0\nappel,4\nkuroi-kisin,1\njerberjer,1\nsylvester,4\nking_(tekken),4\njeffybunny,4\nblue_clitoris,0\ntan_legs,0\neye_reflection,0\nzigzagmag,1\nsonic_storybook_series,3\nadeloo,1\ncreamygravy,1\nwinddragon,1\nboard_game,0\nsonichu_(series),3\nbridal_lingerie,0\nsecretary_washimi,4\nyogi_bear,3\ndall_sheep,5\ntheobrobine,1\nlong_sleeve_shirt,0\npumpkaboo,5\nquest_for_fun,3\nanna_(kelnich),4\ndona908,1\nlenyavok,1\ncharging,0\nwasteland,0\nbluey_heeler,4\nnatural_furfrou,5\npumpkin_butt,0\netuix,1\nblack_dildo,0\ncum_on_paw,0\nextensor_carpi,0\nvaginal_canal,0\nmdthetest,1\nyura_kousuke,4\nfeces_pile,0\nchameloshi,1\nbacky_(mlp),4\nfiona_(artist),1\nstriped_handwear,0\nmechanophilia,0\nproposal,0\nfearow,5\nslitfluid,0\ndevilenby,1\nfundoshi_aside,0\nsiberian_tiger,5\nfuecoco,5\norange_highlights,0\nhumanoid_ears,0\nwhite_foreskin,0\nhukitsuneko,1\nryuta-h,1\nguinea_pig,5\nadventure,0\nnitobe,4\npost,0\nkiffy_(artist),1\nxtoka_samax,1\nnhala_levee,4\nsmall_eyes,0\nred_lantern,3\nsnk_(artist),1\nhair_buns,0\ngenetic_chimerism,0\nadidas,3\nnauticalcanine,1\ndemireality,1\nheartlessfang,1\ntoe_wiggle,0\nsruto,1\nmulticolored_tail_feathers,0\nferris_wheel,0\nhung_(arknights),4\npurrcules_(artist),1\norgunis,1\n00murice,1\narekishi,1\nfamwammer,3\ndenyfake,1\nshenhibiki,1\na_link_to_the_past,3\nvelannal,1\nmismatched_ears,0\nshame,0\nson_penetrating_mother,0\ncorset_piercing,0\nmrmadhead,1\ndon_karnage,4\nstuck_to_foot,0\non_food,0\nvaginal_contractions,0\nfeeding_tube,0\nmiss_l,4\nserious_face,0\nfin6,1\nmonotone_scales,0\nicicle,0\nluca,1\npatrick_(kadath),4\ngeneral_mills,3\ndoodlelu1992,1\nresisting_orgasm,0\nrina_(ratcha),4\nhat_feather,0\nfrancine_(animal_crossing),4\nsildre,1\ncum_underwater,0\nthe_crab_mage,1\nsylvanas_windrunner,4\npotionmastercernun,1\nflap-necked_chameleon,5\nsaphireshear,1\nthe_moomins,3\nfondling_internal_bulge,0\nmorticus,1\nmale_udder,0\nooo-belise-ooo,1\npepper_(puppkittyfan1),4\nexposed_bone,0\nchris_sawyer,1\nanal_stretching,0\nxingscourge,1\nlilmoonie,1\nhand_on_forearm,0\nbubonikku,1\ncountertop,0\ncutting,0\nmallard,5\ncureboltium,1\nsiyah,1\nlucy_(bcb),4\nnyaaa_foxx,4\nthepatchedragon,1\nmr_fuwa,1\nofficer_flint_(foretbwat),4\ntoaster,0\norionart,1\ntail_size_difference,0\nsignpost,0\ncocktail_dress,0\nark_survival_evolved,3\ncoffin,0\nbattle_principal_yuumi,4\ndalipuff,1\nsilver_skin,0\ninks,0\nhaiku_oezu,1\nshowkaizer,1\nsuck_mcjones,1\ngogoat,5\nimprovised_weapon,0\ncinta,1\nnipple_ring_pull,0\nreplica_(oc),4\ngrabbing_raised_legs,0\notterjunk,1\nbicep_curl,0\nexposed_brain,0\nhappyanthro,1\nalbinoraynedeer,1\nfid,1\ntight_shorts,0\nlady_snakebite,1\nrube,1\nskaydie,1\nmingchee,1\nhands_on_waist,0\nfolder,0\nnyarlathotep_(housamo),4\nfainted,0\nfoxxfire,1\nstarfire_(teen_titans),4\nsparkydb,1\nganon,4\nstampmats,1\nlight_eyes,0\nball_blush,0\nbuteo,5\ndoghouse,0\ntiffany_valentine,4\ndangerous,0\nchrysalis,0\nfestival,0\nears_outwards,0\nanakuro,1\nspindles,1\nboombox,0\nlapatte,1\ndigimon_survive,3\nform_fitting,0\nrainbow_piercings,0\npenis_size_chart,0\nclosed_(disambiguation),-1\nbubble_bath,0\nsetter,5\nformal_art,7\nblpanda,1\nblack_foreskin,0\nkosian,1\nliquor,0\nrabbit_(winnie_the_pooh),4\ndifetra,1\ndbruin,1\nmulticolored_jewelry,0\njames_cameron's_avatar,3\nclothing_on_floor,0\nwailord,5\nquestion_to_viewer,0\nsteamyart,1\nsleeveless_dress,0\nblue_(blue's_clues),4\nkeffotin,1\nwaist_up,0\nkimahri,4\nelektr0,1\nseverus,1\nair_humanoid,5\ncarnivorous_plant,0\nhentist,1\nlyrics,0\ngreen_vest,0\napinkgrape,1\nkaynine,1\nkarukuji,1\nwater_jacking,0\narcheops,5\nrat_humanoid,5\nclamcrusher,1\ntoilet_slave,0\nproxer,1\narumo,1\nfoxfoxplz,1\nxorza,1\nxezeno,1\npoison_dart_frog,5\nfish-men_(one_piece),5\nglowing_flesh,0\nvcrow_shuu,1\nkinsheph,1\nmeta,0\npink_(pink),4\nweighing_scale,0\nequus,1\nhon55728,1\nstalking,0\npainting_(object),0\nnaruto_uzumaki,4\nwastedtimeee,1\nauntymoira,1\nalaiaorax,1\narwenscoots,1\nrude,0\ncorinoch_(artist),1\nittybittyshark,1\nwolf_taur,5\nbidoof,5\nkaeldu,4\nmagical_binding,0\nweaselgrease,1\nmale_rimming_female,0\nduke_weaselton,4\ngrey_shoes,0\nmorton_koopa_jr.,4\noughta,1\ndwarfism,0\nigphhangout,1\ndick_pic,0\nbhawk,1\nclimbing_on,0\npsakorn_tnoi,1\nblue_thigh_highs,0\nloch_ness_monster,5\nmedical_examination,0\nbadnik,5\ndumderg,1\ngreenendorf,1\nclovis_(twokinds),4\noxygen_mask,0\nmaster_sword,0\nslowbro,5\nfang_(gvh),4\nshad0w-galaxy,1\nhowling-strawberries,1\n>:d,0\nskygracer,1\ntalking_to_pred,0\nrururaida,1\ngo_to_horny_jail,3\nmighty_the_armadillo,4\nmollusk_shell,0\nvashaa,1\nsitri,4\nbarely_visible_sheath,0\nmaddeku,1\nxanderblaze,4\nka-samy,1\nnapkin,0\nliving_toy,5\nstriped_scarf,0\nfirst_page,7\nchokehold,0\ncum_pooling,0\nchandelier,0\nmistpirit,1\navelos,3\nredgreenfluffball,1\nreal_world,3\norange_nails,0\nrazor,0\ntala_(suntattoowolf),4\ntangy_(animal_crossing),4\nsquid_dog_(changed),4\nfujoshiineko,1\nmonk,0\nkyle_(animal_crossing),4\nbacteria_(organism),5\nserving_beverage,0\nrockstar_games,3\ncutesexyrobutts,1\ngrumpyvulpix,1\ngrabbing_ankles,0\nribbonjob,0\nxerneas_(active_mode),5\nawake,0\nmrsk,1\nnulloffset,1\nbarioth,5\ndragonscape,3\nskymafia,1\nsabuky,1\nknot_lick,0\nhanging_by_tail,0\nkrocialblack,1\ncockatrice,5\ncheckered,0\nmr.brapion,1\nfizzle_(mlp),4\nno_harm_no_fowl,3\npinkcappachino,1\nvilani,1\ndojo,0\ntimestamp,0\nsmartypants_(mlp),4\nmarco_(angstrom),4\nrainwing_(wof),5\ndarkmor,3\nburquina,1\npurple_sky,0\nnightdancer_(character),4\nbursting,0\ntimoteihiv,1\nsilencer,0\nhere-kitty-kitty,1\ngeckoguy123456789,1\nanal_egg_insertion,0\nglue,0\nbunnag,1\nsmoking_tobacco,0\nzoologist_(terraria),4\ngreen_eyewear,0\ncomparing_breasts,0\ncandlestick,0\nmicro_prey,0\nwagnermutt,1\niridescent,0\nmauroz,1\nkurus,1\ntv_remote,0\nxytora,1\ntentacle_around_waist,0\nchess,0\nsmaller_herm,0\npomupomu490,1\ngabu,4\nmenmen_kesinn,1\ncoraciiform,5\nstitch!,3\nx_pupils,0\nholding_pillow,0\nlilith_(zajice),4\nstudio,0\nclyde_wolf,1\nclefable,5\nmusk_fetish,0\nraianonzika,1\nraygun,0\ndomination/submission,0\nhoity_toity_(mlp),4\nfukiyo,4\natticus_mura,4\nsolar_flare_(pvz),4\nblack_line_art,0\ncoyotek,1\nimage_comics,3\nhowlfeiwolf,1\ncosmic_flesh,0\ngentlemanplayer,3\nearhole,0\nnani_pelekai,4\nrag,0\ngrid,0\nclub_(disambiguation),-1\nlucifer_(helltaker),4\nleg_over_shoulder,0\npixel,0\nxxsparcoxx,1\nglistening_horn,0\nrthur,1\nsam_(kuroodod),4\njcfox,4\nthe_human_heart_(game),3\nendium,1\nfatal_fury,3\nsperm_whale,5\nbruteandbrawn,1\nmaren_taverndatter,4\nniece,0\ncum_transformation,0\nbubsy_(series),3\ngaping_nipples,0\nlevitating_object,0\nphyseteroid,5\nbivalve,5\npurple_eyewear,0\nhornjob,0\nlothar,4\nalsares,1\ncomfycushion,1\nwhistling,0\nanimew,1\nsingingbirdstudio,1\nburrserk,1\ntoe_outline,0\nthick_tongue,0\nspring,0\nclothing_transformation,0\nunwilling_pred,0\nkate_(alpha_and_omega),4\noro97,1\nhiking,0\nlesspie,1\negg_in_mouth,0\nchase,0\nthehuskylord,1\nmaleficent,4\nfuthark,0\nextremedash,3\nlisaamint,1\naereous,1\nbig_man_(splatoon),4\nfury_bowser,4\njiangshi,5\nspirit_(cimarron),4\nmessenger_bag,0\njagon,1\nflag_design,0\ntrump,1\nzephy_03,1\nglowfox,1\nagent_(artist),1\nhorny,0\ncum_in_sex_toy,0\nlemon_testicles,0\nxenoguardian,1\nblue_bandanna,0\nunderscore_b,1\nfrozen_over,1\nbelt_collar,0\nsex_box,0\nsurprise_kiss,0\ncanson,1\natane27,1\njilo,1\nmadam_reni_(twokinds),4\ncountershade_crotch,0\nthunderfap,1\nhunter_x_hunter,3\ncassie_(dragon_tales),4\nmunsu89,1\nasbie,4\nfemale_licking_male,0\nborvar,1\nduly_noted,1\nwaddle_dee,5\nlemmy_koopa,4\nwooper,5\nsquare_pupils,0\npredator_(disambiguation),-1\nsuperia,4\nagainst_table,0\noozaru,5\ntankard,0\nbardju,1\ny0dare,1\nsinalanf,1\nroni_collins,4\nupside_down_penis,0\nroselyn_(twokinds),4\nherpydragon,1\nwindmill,0\nchain_collar,0\npostal_carrier,0\nf_draws,1\npink_eyewear,0\ntheodore_seville,4\ncruelpastry,1\nmadacon,1\noutie,0\nzooey_the_fox,4\ndeusexmoose,1\ndemonnyuu,1\nsharkysocks,1\nty_conrad,4\naddison_(frisky_ferals),4\nwhimper,0\nlong_antennae,0\nvespiquen,5\npuppet_bonnie_(fnafsl),4\nerect_tail,0\nwool_(disambiguation),-1\ntheater,0\nsuper_animal_royale,3\nwarning,0\ndulce_(mr.pink),4\njaqrabbit_(artist),1\ntan_neck,0\npeter_pete_sr.,4\nask_bottom_armor,3\ncofagrigus,5\ncollar_pull,0\nmedic_(team_fortress_2),4\nblue_fingers,0\narthur_(furfragged),4\nrollwulf,1\ntongue_grab,0\nhuman_to_inanimate,0\nmeow,0\nsl350,1\npropositioning,0\nviking,0\nthekite,1\nfirefox,3\nbackyard,0\nwamudraws,1\ndance_shoes,0\ninsomniac_games,3\nthreek,1\nleviathan_(skullgirls),4\nwhatsapokemon,1\nretracted_balls,0\nhand_on_own_calf,0\ntirrel,1\nlance_(disambiguation),0\nmocking,0\nneighday,1\nrevtilian,1\nchristian_symbol,0\nknuckle_up!,3\nlime,0\nyellow_collar,0\ndrekir,5\nwhiteboard,0\nwanikami,1\nrogue,0\nfeather_earring,0\nspartan_(halo),4\nsnake_(petruz),4\nhammer_brothers,5\nhobbes,4\nleft-handed,0\ntear_(marking),0\nthresher_shark,5\npopping,0\ndoge,4\ncarton,0\nred_spikes,0\ntool_belt,0\noffering_collar,0\nresting_on_belly,0\nfollower_(cult_of_the_lamb),4\nrecolor,0\ngynomorph_on_humanoid,0\nblack_membrane,0\npeashooter_(pvz),5\nbendy_the_dancing_demon,4\norange_breasts,0\naipeco18,1\nvirito,1\nboss_lamb_(hladilnik),4\ncoco_(animal_crossing),4\naptom7747,1\n$,0\nkukuri,5\nsparklecat,5\nsalmon,5\nincest_play,0\navioylin,1\nhybrid_pokemon,5\nvixine_comics,3\nmadhotaru,1\nnoibat,5\npillow_grab,0\nkatai,1\nwhooo-ya,1\nah_club,3\nball_inflation,0\ndiscarded_underwear,0\nthe_muppet_show,3\ntwo_tone_thigh_highs,0\nregalia,0\nbadassbaal,1\narcee,4\nbanni_art,1\ntouching_own_leg,0\njoe123123123,1\nmacro_focus,0\npurple_feet,0\nsculpture_(artwork),7\nbronzecatworld,1\nwater_manipulation,0\nsound_edit,0\ngolduck,5\nnotbad621,1\nennismore,1\nbellsprout,5\nwolfywetfurr,4\naraneomorph,5\nrhari,1\nenglish_audio,0\nblood_on_leg,0\nsneaky,0\nburp_cloud,0\nagent_8_(splatoon),4\nswaybat,1\ndebris,0\nnayaa,1\ncombusken,5\ndark_ishihara,1\nnavy,0\nwerecat,5\nvaginal_egg_insertion,0\nmistystriker,1\neinshelm,1\nkieran,4\nartbyyellowdog,1\nleonin,5\npartially_behind_glass,0\n96tning,1\nbamboo_tree,0\nfurdo,1\nautorimming,0\nmarket,0\ncoiled_tail,0\norange_pupils,0\nblackteagan,1\ncravat,0\ngoblinhordestudios,1\nluccatoasty,1\nariel_(disney),4\nmiyamoto_usagi,4\naria_blaze_(eg),4\nfallen_angel,5\noffice_clothing,0\nmountain_(arknights),4\ncum_in_pumpkin,0\ngin_(blackfox85),4\nwerethrope,1\nwater_ripple,0\nmule,5\nxenthyl,1\nchin_spikes,0\nface_focus,0\ndeku_scrub,5\nartlegionary,1\nmagica_de_spell,4\nstaggered_grid_layout,0\nkitshokat,1\nbard,0\nhuey_duck,4\nclass,0\nboulevard,1\ncamp_pines,3\nhands_on_arms,0\nlolly_(animal_crossing),4\nsecrets-from-dark,1\nmoblin,5\nbuilding_destruction,0\nspiritd,1\nmalfaren,4\ntwistedhound,1\ncaptain_jerkpants,1\ngold_armor,0\nconcave_(artist),1\nchallenge,0\nhear_(artist),1\nspiked_armor,0\naccidentally_gay,0\nblack_bow_tie,0\nmy_melody,4\nmario_plus_rabbids_sparks_of_hope,3\nswedishsnus,1\n>:),0\nhind_legs,0\nblack_teeth,0\nsurprise_(pre-g4),4\nsable_(marten),5\nyencatx,1\nkaneru,1\njakethegoat_(character),4\nstats,0\nraaggu,1\nripped-saurian,1\nmrchasecomix,1\n>:(,0\nhyper_knot,0\nsumeriandragon,1\npenis_bondage,0\ntiger1001,1\ntwo_tone_briefs,0\ncaptaincronus,1\ntyping,0\nnepeta_leijon,4\ntaimanin_(series),3\nholding_calf,0\ntail_warmer,0\nskin_folds,0\nnottrevbe,1\nwindow_seat,0\nraptoral,1\nwoadedfox,1\nstaraptor,5\nportal_fleshlight,0\nliontaro,1\ntentacle_around_tail,0\nacethebigbadwolf,1\ntraced,7\ndenisse,4\ntinval,4\nscaliepunk,1\nkyubimon,5\nrenimpmon_x,4\nthe_gamercat,3\nnihea_avarta,4\nscratch21,3\nbucerotiform,5\nsophiecabra,1\nshiro_uzumaki,4\ndrayk,3\nvaloo,4\nunpopularwolf,1\nspooky's_jump_scare_mansion,3\nlynel,5\nvictreebel,5\njill_valentine_(resident_evil),4\nvant_talon,1\nspookable,1\ncropped_hoodie,0\nkyubey,4\nshriekingmagpie,1\nslate,1\nlocket,0\nlight_horn,0\ntowel_on_head,0\nriku9797,1\npokemon_snap_xxx,3\ntaurika,1\npaliken,1\npepper_clark,4\nbenjipaws,1\ncanary,5\npropeller_hat,0\ndoomington,1\nsyukapong,1\nseaward_skies,4\nchoreuny,1\nelectabuzz,5\nnekokagebevil,1\nson2j,1\nbunnicula_(series),3\nkhaleesi,1\ncaramelcraze,1\npride_color_legwear,0\npencil_bolt,1\nvixey,4\nfakeveelution,5\nkita_9999,1\nturk128,1\ngoron,5\npilot_saluki_(cuphead),4\nbraviary,5\ndaws19,1\npaul_lucas,1\nilot,1\nazir_(lol),4\npentagram_harness,0\neaster_balls,0\ncrestfallenartist,1\ngrungecandy,1\ncoprophilic_intercourse,0\nwinterrock_(partran),3\nbreastfeeding_during_sex,0\ncum_on_eye,0\nconvention,0\ncocampplus,1\nstudded_belt,0\ngangster,0\nkiske_7key,1\nflame_pattern,0\nquaxly,5\nsarek_aran_desian,1\nronnie92,1\nleaning_on_table,0\nsophie_slam,4\nchickenhawk,5\nursine_humanoid,5\nhissing,0\nrubella_the_worgen,4\ncaradhina,4\nvalkyr_(warframe),4\nmulti_anus,0\ntoybox_pals,3\naurancreations,1\nrunescape,3\nair_tank,0\nflutterthrash,1\nmrs.mayhem,4\nfox_mask,0\ndstears,1\nchristmas_light_bondage,0\nhoopa_(confined),5\ntaking_turns,0\nroco,1\nstepping,0\nyossi,4\nmeatshaq,1\npartially_clothed_female,0\nlei-lani,4\npink_fingernails,0\ndemigod,5\nmodular,0\nunusual_ovum,0\ncilia,0\nfossa666,1\nexposed_testicle,0\nyshanii,1\ncrayon_(artwork),7\nty_hanson,4\nanime-aniacs,3\nrick_(ratcha),4\ngood_cheese,3\nizvy_(artist),1\ngrey_exoskeleton,0\nspiked_belt,0\nbomberman,3\ngoliath_(gargoyles),4\nadira_riftwall,4\nshydale,1\nhole_(pit),0\nselianth,1\nonyx_(jmh),4\nmr._peabody_and_sherman,3\ndrool_on_feet,0\nmr._peabody,4\nvanzard,1\nrogone2,1\nwhite_coat,0\nforced_smile,0\nmulticolored_gloves,0\nbandaid_protagonist_(tas),4\nwork_uniform,0\nnaïve,0\nzinnick,1\nwavy_speech_bubble,0\nflower_bouquet,0\ngushing,0\nblue_stockings,0\nmonotone_chest,0\nshamrock_(lysergide),4\nuochandayo,1\nmonian,1\nflight_suit,0\ng3mma,1\nkhayen,1\npollo-chan,1\narthropod_abdomen_anus,0\nfionthebunny,1\nnanodarkk,1\nlong_fingers,0\ndtz_(cdrr),4\ntangela,5\nhand_on_diaper,0\niggy_(jjba),4\nminami_(artist),1\nstretchy,0\nstraydog,1\npomf,0\ncrossbar_emanata,0\nking_julien,4\naogitsune_jitto,1\ntentacle_around_neck,0\nbisexual_train,0\npink_cum,0\nspray_can,0\nmax_(hoodie),4\nbiozs,1\nseraph,1\nsekk'ral,4\nflag_(shape),0\nfocused,0\nextreme_dinosaurs,3\nurine_on_balls,0\nflame_princess,4\nfairwind,1\nviolet_hopps,4\npyredaemos,1\ngreen_kerchief,0\nornn_(lol),4\nberry_ranieri,4\ntiri_mama,1\nverawitch,1\nhyper_feet,0\nigiveyoulemons,1\nmaiteik,1\nnose_blush,0\nbasketgardevoir,1\nmabel_pines,4\nprice_tag,0\nstanding_69_position,0\nhua113,1\nlifted_by_tail,0\nanothermeekone,1\nwearing_eyewear,0\nsnk,3\nholding_hairbrush,0\nraised_head,0\nleo_(velociripper),4\nlemoco,1\nsaitama_seibu_lions,3\nlow_wall,0\ngumdramon,5\nmismatched_wings,0\nturret,0\nremmmy,4\nmarika_(teer),4\nnoah_(downthehatch),4\nround_head,0\nfoxy-rena,4\npulling_clothing,0\nblake_belladonna,4\nkrypto_the_superdog,3\nemotional,0\nopen_shorts,0\nkredri,1\nexo,5\npenny_fenmore,4\nplant_pred,0\nmilo_stefferson,4\nmuseum,0\nnorphen,1\nanime_eyes,0\nstaffkira2891,1\ncelebration,0\nsuper_sonic,4\nofficer_fangmeyer,4\nmenacing_(disambiguation),0\ndevilchild,5\nwhite_whiskers,0\ngroup_birth,0\nshell_(projectile),0\npublic_urination,0\nramerooni,1\nabelisaurid,5\nbeluga,5\ncamseven,1\nvilepluff,1\nblack_inner_ear_fluff,0\nrocketgirl,4\nshirokuma_cafe,3\nfenrir_(housamo),4\nmrxrickyx,1\nzaftigbunnypress,1\nhecarim_(lol),4\nsue_(peculiart),4\nnia_(senz),4\nsylvia_marpole,4\nchipposter,1\nhand_on_own_face,0\nsatanic,0\ngrabbing_arm,0\nkinkykong,1\nhuman_on_top,0\ndigitalpelican,1\ndella_duck,4\nleroy_(lilo_and_stitch),4\noutlet,0\ndaemont92,1\ntoying,0\nfootball_player,0\nsan_tejon_high,3\nartificial_insemination,0\nthigh_stockings,0\nastrid_hofferson,4\nprince-vulpine,1\nnegligee,0\ndormitory,0\nneksu,1\npuppy_eyes,0\nmalachi,1\ndasha_(petruz),4\nboa_(clothing),0\namaverse,3\noasis,0\ngazpacho,1\nyellow_(shiro-neko),4\nginga_densetsu_weed,3\narabesque,1\nazure_(bluedude),4\nmarkus_(dowantanaccount),4\nbendy_straw,0\nblue_t-shirt,0\nfootprints,0\nnidalee_(lol),4\nthumb_suck,0\nmonster_high,3\npurplelemons,1\nlaundrymom,1\nsurprised_look,0\nmakari,4\npride_color_jewelry,0\ncountershade_chest,0\nblack_armor,0\nstradivarius,1\nkisha,4\nsunken_seat,0\nscrooge_mcduck,4\nhands_free_cum,0\nseriousb,1\nbubsy,4\ngamecube_controller,0\ngrey_skirt,0\nkame-sama88,1\ndark-ahroun-friesian,1\nhands_on_stomach,0\nshared_speech_bubble,0\nshaorune,4\nadondis,1\nunitard,0\nlong_beard,0\npride_color_piercing,0\ncalf_grab,0\nangela_(gargoyles),4\ndylan_(zourik),4\ndiarrhea,0\nhead_between_thighs,0\npewas,1\ncloacalingus,0\nnoitro,1\nred_knot,0\nyojoo,1\nyang_(artist),1\ntoonbat,1\nbakugan,3\nspike_(disambiguation),-1\nrangarig,1\nffog,1\nprocy,4\nprsmrti,1\nangry_birds,3\nchuki,5\npained_expression,0\nknifeh,1\nlena_(ducktales),4\nlube_on_penis,0\nbinturong,5\nxuan_sirius,1\ndelicious_(artist),1\ndog_treat,0\nneosavias,1\ncuriodraco,1\nrescue,0\nradasus,1\nloving_reaper,3\nhyenafur,3\nhottophoto,1\neleanor_miller,4\nbulk_biceps_(mlp),4\nsolid_snake,4\npetsoftthings_(artist),1\nstring_lights,0\nskullman777,1\ntan_mane,0\nrennin,4\nits-holt,1\npropeller,0\nbuddy_thunderstruck_(series),3\nanus_peek,0\nzoyler,1\nholding_guitar,0\ncloacal_masturbation,0\nanimalympics,3\npregnant_andromorph,0\nbent_over_table,0\nunusual_pussy_juice,0\nyellow_pants,0\npkaocko,1\nred_membrane,0\ngrabbing_head,0\njenny_jinya,1\ngrolarbearsins,1\nlong_pseudo_hair,0\nangry_cat,1\nvega_(artica),4\nvulgar,0\nkathy_(danellz),4\nd20,0\nadopted_son,0\nandrey_4k,1\nmiramore,1\nferal_on_taur,0\ncherry_blossom_tree,0\nmy_neighbor_totoro,3\npancarta,1\nrita_(disney),4\nfuckie,1\npenis_envy,0\nnondelismell,1\nzax_(zwalexan),4\nyoshizaurusu_n,1\ninformation_label,0\nred_breasts,0\nsp_advanced,1\nbroodmother,0\nekkokenight,1\nkitsunebi,0\nelizabeth_(bioshock_infinite),4\nmulticolored_dress,0\npearl_(boolean),4\nwindragon,5\njacket_only,0\nsmile_pretty_cure,3\nwingull,5\nmind_flayer,5\n11:6,7\nseawing_(wof),5\nadult_on_child,0\niscream_(chikn_nuggit),4\nbra_down,0\npubraseer,4\nnotglacier,1\nopen-back_leotard,0\nairport,0\nactionbastardvirginblstr,1\nteamacorn,1\nwooden_chair,0\nmuzzle_scabs,0\ngreen_bra,0\ncocoline_(artist),1\nninjakitty,1\n340m/sec,1\nlobster,5\ntres-art,1\nlong_whiskers,0\nxolotl,4\nminerea,1\nred_foreskin,0\nsleigh,0\ndoctor_artemis,1\nchanrom,1\nfinalofdestinations,1\ndyed_fur,0\nsimipour,5\nzadirtybish,1\ntail_grapple,0\nlaser_gun,0\nredhand,1\npenis_lineup,3\nmel21-12,1\ncoltron20,3\norange_kerchief,0\ninfernal-beggar,1\nblyzzarde,1\nsallyhot,1\nsanny,1\ngoogle_chrome,3\npale_body,0\nslenderman,4\nsparx,4\npete_(disney),4\ncum_in_diaper,0\nleaking_penis,0\nopal_(jellydoeopal),4\ngum,0\nhair_bell,0\nfetishame,1\nwhoop,1\nbulge_lick,0\nporch,0\nleinhart,1\ngivo,1\ntalash,4\nboy_scout,0\nbpq00x,1\ngreen_legs,0\nincubator_(puella_magi),5\nconcrete,0\nclinging,0\nicewing_(wof),5\nborba,1\nnatsume_(tooboe_bookmark),4\npurple_exoskeleton,0\nbrown_wantholf,4\nnyanyakotarou,1\nmeasureup,3\ncatheter,0\nbelly_chain,0\nwhite_hoodie,0\nfather_hill,1\nmary_senicourt,4\ngatotorii,1\ncontest,0\nfight_(artist),1\nriz_(beastars),4\nspacecolonie,1\nfinal_fantasy_viii,3\nhal_greaves,4\ntalonflame,5\nball_growth,0\nheracross,5\ntan_horns,0\npointing_down,0\nsyberfab,1\nlonewolf_(343),1\ntransformation_ring,0\nechoen,4\npheagle,4\nchanging_table,0\nlil_scooter56,1\nstealthnachos,1\nrd406,1\ntouching_hip,0\nfacelessjr,1\nsmall_mouth,0\nblaze-lupine,1\nhu_ku_li_(milkytiger1145),4\nmochashep,1\npresenting_panties,0\nal_gx,1\ntenebscuro,1\nwall_clock,0\nstreetdragon95,1\ngreen_hands,0\nsprinkah,1\nimplants_(disambiguation),0\npeeing_on_face,0\ncharmy_bee,4\nbmayyneart,1\nflash_draw,1\nmantrin,5\nsailing_watercraft,0\npotato,0\nnyarai_(furryfight_chronicles),4\npoker_chip,0\ntai_lung_(kung_fu_panda),4\nhidden_(artist),1\ndrunk_sex,0\nnetherwulf,1\nn_(pokémon),4\nskye_(animal_crossing),4\nsnot_bubble,0\nengineer_(team_fortress_2),4\nmilligram_smile,1\ngrey_nails,0\nstrapon_fellatio,0\nbrianna_(kitfox-crimson),4\ndewgong,5\nwaffle,0\nheart_topwear,0\narrowed,0\nlight_feet,0\nk.m._(krautimercedes),4\nshocked_face,0\narabian,0\ndog_boy_(berseepon09),4\nsebrina_arbok,4\npuffy,0\ncherrim,5\ndrain,0\njk,1\nzipper_jumpsuit,0\nmechanical_wings,0\nduchess_(aristocats),4\ncum_on_lower_body,0\nkiasano,3\nrampage0118,1\ngeno28_(artist),1\nstrigiformes,1\nteary_eyes,0\nskywing_(wof),5\nsounding_beads,0\ncrucifix,0\nplattyneko,1\ndustox,5\ntufted_ears,0\nmoon_lace,3\ndrake_(zerofox),4\nvisiti,1\npaddedulf,1\nnorasuko,1\nethanqix,1\njishinu,1\nspiked_clothing,0\npercussion_mallet,0\nred_armor,0\nragujuka,1\ntangrowth,5\nbehind-space,1\nwestern_zodiac,3\nsharkrags,1\nfaejunkie,1\nmodeus_(helltaker),4\npukaa,1\ncthugha_(tas),4\njimnsei,1\nhandkerchief,0\nbee_sting,0\nskarmory,5\nreploid,5\nbusiness_attire,0\nna'vi,5\nrealistic_penis_size,0\ngoombella,4\nzoran,4\nexpression_avatar,0\nfluffy_fur,0\nlilly_(vimhomeless),4\nsukiya,1\ndigivice,0\ncuchuflin,1\ngaturo,1\nthe_end,0\ncoonkun,1\ntoshabi,1\nzhadart,1\nnoir,0\nsona_(lol),4\nrole-playing_game,0\nd685ab7f,1\nchaba,1\ntrailssfm,1\nafnet_(clothing),0\nredwolfxiii,1\nishoka,1\nblack_briefs,0\nczu,1\nlifting_another,0\nclown_nose,0\nflorence_ambrose,4\nredimplight,1\ntraver009,1\nsewing,0\ndebirobu,1\nheadscarf,0\ndiscordmelody,1\nprincess_koopa,4\npuinkey_(artist),1\ntwo_tone_socks,0\ndemonkussh,1\nrazy,1\nloxchi,1\nhere_there_be_dragons,3\nburning_building,0\nruby_(jewelpet),4\nms._chalice,4\nza-owl,1\nmerry_christmas,0\npeaceful,0\nkoops,4\nselene_(pokémon),4\nkenkou_cross,1\nwickerbeast,5\nalfredblaze,1\ngudlmok99,1\nkelpie,5\nlori_(jmh),4\nabesdrawings,1\nrobertge,1\nstanding_over,0\ncut_(disambiguation),-1\nphurie,1\nsenko-san,4\npermanent_chastity_device,0\noverflo207,1\njewel_(rio),4\nfleshformomo,1\nreiko_usagi,4\nholding_fruit,0\npink_tattoo,0\ngynomorph_on_anthro,0\nanal_hook,0\nmelloque,1\nsacrifice,0\ndorian-bc,1\ncostom10,1\nfurniture_lamp,0\nfuli,4\njapanese_kobold,5\nspirited_away,3\npalace,0\nmeryiel,1\nnox_(artist),1\nblowhole,0\nview,0\namoeba_(organism),5\nrikki,4\nthehelmetguy,1\nroger_rabbit,4\nproduct_placement,0\ncult,0\nhula,0\nptcmtr,1\nfarfetch'd,5\nvaggie_(hazbin_hotel),4\nfunnel,0\nsaltcore,1\npotty_dance,0\nred_lightsaber,0\nkeovi,1\nzephyr_breeze_(mlp),4\npakwan008,1\nnecromancer,0\nshiverz,1\ncoffeewithdicks,1\nlast_origin,3\noddrich,1\nscaly_tail,0\nhevexy,1\ndoe_with_antlers,0\nexposed_belly,0\nautotailjob,0\nbean,0\ntwo_tone_hands,0\nnew_faraden,5\nthrust,0\nbovine_taur,5\nvibrator_on_pussy,0\ncrocodiler_owen,1\nimpostor_(among_us),4\nfirebrand,4\nsoul-silver-dragon,1\nsidra_romani,4\nbioware,3\npussy_juice_on_pussy,0\nblood_stain,0\nbutt_slam,0\ndarling_in_the_franxx,3\norange_juice,0\nred_perineum,0\nplant_monster,5\nmaggot,5\nmasamaki,1\nseniorseasalt,1\nmr.ink_(artist),1\ndust_cloud,0\nhalterneck,0\nrequiemdusk,1\nbob-jiggles,1\nmartini_glass,0\norange_jumpsuit,0\nkentuckiyucki,1\ncurious_cat,3\nsoviet_cartoon,0\nblen_bodega,1\nflirting_with_viewer,0\nflexor_carpi,0\nalcoholic_drink,0\nhead_insertion,0\ndinkysaurus,1\norix_buffaloes,3\nthelupinprincess,1\npower_lines,0\nmulticolored_pawpads,0\nchief_komiya,4\nmagnificent-arsehole,1\nsmoothlabs,1\nsis_(fyoshi),4\ngieeg,5\nskyart301,1\nwoebeeme,1\nbell_accessory,0\nchristmas_topwear,0\nplaykids,3\ndandelion,0\noculama,0\npuyo_puyo,3\nstruggling_prey,0\ndragon_(dnd),5\npride_color_underwear,0\noselotti_(character),4\nsloppy,0\ndboy,1\nbandage_on_face,0\nplushtrap_(fnaf),4\nghostbusters,3\nayden_(brogulls),4\ntheredghost,1\ndevice,0\ncider,0\nmature_herm,0\ngrape_jelly_(artist),1\njaina_proudmoore,4\nkitchen_knife,0\narthropod_abdomen_cloaca,0\noveralls_only,0\nup1ter,1\nbrown_tongue,0\ninnocence,0\nhentype,1\ntail_on_ground,0\naugensinum,1\ncervina,4\nbonnie_(lilo_and_stitch),4\nmaple_town,3\nlion_(steven_universe),4\ngroping_crotch,0\nblissful_mouth,0\nfeyhearts,1\nburn,0\nbeherit,1\nhead_in_ass,0\npenis_under_shirt,0\nrachael_saleigh,4\nbanknote,0\nwelost,1\npfh,1\nsandra_(roanoak),4\ngummy_(food),0\npherokinesis,0\nside_belly,0\njin_(jindragowolf),4\nturntable_(decks),0\nstrapless_leotard,0\npin_(disambiguation),-1\nheart_pattern_panties,0\nnodding,0\ntabra,4\ndelta-eon,1\nvir-no-vigoratus,1\ndragoneer_(character),4\ndcheese,1\nthestral,5\ntobbywolf,1\nin_cup,0\ndesolate,0\nstagor55,1\nsong_of_the_south,3\nflag_on_wall,0\nlight_brown_fur,0\nwhite_tongue,0\njean_(minecraft),4\nheart_collar_tag,0\nhail_(medicalbiscuit),4\ncarnotaurus,5\nre-re,1\nbakemonoy,1\nmaxydont,1\norange_swimwear,0\nintravaginal_penis,0\npeacock_feather,0\nleaf_ears,0\nskiba613,1\nmasterbrony,1\n1pervydwarf,1\nshibatanukiti,1\nmissmixi,1\nwhite_flower,0\njeck,1\ncranihum,1\nregu,4\nunnamed_character,4\ndaxhush,1\npandora_(artist),1\nbig_brachioradialis,0\nbottom_armor_(lefthighkick),4\ngyroid,5\ngao_(fuze),4\nchristina_piercing,0\nnavel_cutout,0\ntreant,5\ntcw,1\ngerudo_outfit,0\nshe-venom,4\nhonchkrow,5\nwycicus,1\n13:14,7\nfeet_on_table,0\nohs688,1\nmagenta_body,0\nmaehdoggie,1\nmushbun,1\njackboot_ihi,1\nwolfyalex96,1\ncoffee_table,0\nutopianvee,1\nmonmokamoko,1\nlight_switch,0\njonas-pride,1\non_model_audio,0\nlooking_at_own_belly,0\nfestive,0\nferrin,5\nfairy_dragon,5\narachne,5\nludexus,1\nallatir,1\nboot_(artist),1\nboosette,4\ncornelius_(odin_sphere),4\nblackfury,1\nkittykage,1\nbig_ball_gag,0\ngypsy_vanner,5\nbimbo_lip,0\nsuper_mushroom,0\nmakara,4\nmrrrn,1\nmansion,0\nsith,0\nmagnta,1\nmordecai_(lemondeer),4\ndemimond23,1\nbrown_rope,0\nball_rope,0\nplatform_standing_doggystyle,0\nclaw_growth,0\ntachiuo,1\ncream_hair,0\nsquigga,4\ntree_house,0\nmotion_path,0\nimpact_lines,0\nred_tank_top,0\ntriple_collaborative_fellatio,0\ncensored_face,0\njerry_(sing),4\nhand_on_pecs,0\nfireball_(disney),3\nunzipped_bodysuit,0\ntrololohstuffs,1\nmishabahl,1\ntaro_(liontaro),4\nmilk_bottle,0\nraijin,1\nhermesdidit,1\ndirty_clothing,0\ncum_on_table,0\nhuge_triceps,0\ngrey_jacket,0\ntimidwithapen,1\ntf-sential,1\nyellow_legs,0\nvoodoo_penetration,0\nbearbox_doodletimes,1\non_swim_ring,0\nperyton,5\nmxl,1\npenny_(anaugi),4\nsloshing_balls,0\nambiguous_on_feral,0\nbludraconoid,1\nboiful,1\nmouth_full,0\nnyan_cat,4\ndragon_drive,3\nk_98,1\nfar_beyond_the_world_(series),3\nricegnat,1\ndark_horn,0\njuice_(disambiguation),-1\nbowman's_wolf,5\njuano,1\ncelestina,1\ndragon-v0942,1\nfishnet_thigh_highs,0\nfour_leaf_clover,0\nstogiegoatarts,1\ntickling_penis,0\nwinston_(overwatch),4\ncrosswise_nipple_piercing,0\npedalspony_(artist),1\ntrucker,0\ntruck,0\nerection_in_diaper,0\nunusual_coloring,7\njosé_carioca,4\nlipstick_on_face,0\ndeviantart,3\nrainset,1\nkomasan,4\nmat,0\nstriped_back,0\nmasturbation_through_clothing,0\npenetration_lick,0\nfekkri_talot,4\nxmetalhusky,1\nlusamine_(pokémon),4\nyagi_b.,4\ntransformation_through_kiss,0\nvictory_(texdot),4\natode_kimeru,1\nbirdpaw_(artist),1\nriptide_(riptideshark),4\nmulan_(1998),3\ndgemporium,1\ncameron_(skunkdude13),4\nhoof_hands,0\nkolkolukija,1\nflooding,0\ndesubox,1\nflicker-show,1\nanatomically_inaccurate,0\ndan_darkheart,4\nmonoflax,1\nambient_starfish,5\nv-i,1\nahab_(tas),4\nshark_fin,0\nnovawuff,1\nenfield,5\ntentacle_in_navel,0\nnipple_plugs,0\ngeneralthunderbat,1\nsex_during_birth,0\nshardshatter,1\nstith,4\nmale_humanoid,0\nbunybunyboi,1\nblue_fingernails,0\nscarlet_macaw,5\nhashdrawingslasher,1\ndanonymous,1\nice_dragon,5\ndarkest_dungeon,3\nscouter,0\nnose_leash,0\nkammypup_(artist),1\nbloons_tower_defense,3\n3_horns,0\ndrjavi,1\ndreyk-daro,1\nshurian,5\nturban,0\nlotusaur,1\nbig_chest,0\nawoo_(ac_stuart),3\npearl_(steven_universe),4\nbody_invasion,0\nsandwing_(wof),5\nsplit_color,0\nhellhound_(mge),4\nfuuga,4\nadoptive_mother,0\nikshun,4\ntvma,1\nstupidgnoll,1\nsketchbook,0\ngears,0\nnightmare-arts,1\nsekhmet_(link2004),4\ntiktok,3\nflit,1\nemblem,0\ndevil_may_cry,3\nhazel_weiss,4\nmoji_(paladins),4\npenis_nuzzling,0\nbow_thigh_highs,0\nhajime_tanaka_(odd_taxi),4\npicti,1\nnyotaimori,0\nrimentus,1\nomenyanozero,1\nrufciu,1\nchaos_daemon,5\nzuboboz,1\nsneer,0\nchristomwow,1\nwoory,1\ntabi_socks,0\ncashier:3,1\ntwo_tone_markings,0\nimpracticalart,1\nmerffle,1\nspiral_knight,5\nred_feet,0\nmontimer_(yinller),4\nplant_tentacles,0\nritsukaxan,1\nhand_on_abdominal_bulge,0\nf-ss,1\ndrossel_von_flugel_(fireball),4\nself_harm,0\ncupcake992,1\nlong_beak,0\nkakhao,1\nducky_(artist),1\nexposure_to_minor,0\nsolo_in_panel,0\njarnqk,1\nmulefoot,1\ntjpones,1\ndouble_ankle_grab,0\nmittsies,1\npony_dreaming,1\nben_(roanoak),4\ndraw_over,7\ngarabatoz,1\nmicrowave,0\npolaroid_photo,0\nlooking_at_hand,0\npurrchinyan,1\ncappy_(mario),4\nkrazykurt,1\nevie_(zummeng),4\nkajiura,1\nredneck,0\nlatex_topwear,0\nenrique849,1\ngradient_tail,0\nthe_rune_tapper,3\nlucia_(satina),4\nyellow_spikes,0\nsalmonid_(splatoon),5\nmolly_cunningham,4\nperson_present,0\ncloud_humanoid,5\ngab_shiba,4\nsluggystudio,1\nkarri_aronen,1\nchest_gem,0\nfemale_penetrating_intersex,0\ncrobat_(artist),1\nfrieza,4\nkishū_inu,5\ngraded_penis,0\ncontrol_collar,0\ncloves_(freckles),4\npandora's_box,1\nac_stuart,1\nmalaika4,1\nneocoill,1\nsonia_the_hedgehog,4\nmonara,4\nzacianswords,1\nxbox_360_controller,0\ntkc2021,1\nholding_pistol,0\nstrega,1\nyongdasom,1\nflabby_arms,0\nhell_knight,5\nfood_in_ass,0\ntext_border,0\non_phone,0\npurple_shorts,0\ntreyer,1\njizoku,1\ntrapezius,0\nmultiple_birth,0\nkartos,1\nheart_suit,0\n8_legs,0\nx-com:_chimera_squad,3\nmarill,5\naccordion,0\nthigh_tuft,0\n6_tails,0\nholding_wrist,0\nlustful_gaze,0\ngrey_squirrel,5\nliteu,1\ncaptainchaos,1\nstubby_tail,0\ncow_horn,0\nsushirolldragon,1\nbargglesnatch-x1,1\nadorableinall,1\nmario_plus_rabbids_kingdom_battle,3\nyellow_and_black,0\nsweaty_chest,0\nlumikin,4\nbowler_hat,0\napoetofthefall,1\nteal_tongue,0\nrope_around_balls,0\nmissing_eye,0\npattern_dress,0\nthatsexdog,1\ntinker_doo,4\nfoxmode,1\nnuzleaf,5\narjuna,1\njustin_(ieaden),4\ntaki_(takikuroi),4\nlifting_partner,0\nauvere,1\nkillianwalker,1\nrasha,4\nowlalope,1\nfetus,0\ndragonasis,1\nwuffamute,1\nnipple_torture,0\npants_wetting,0\nscrewroot,1\ndetachable_penis,0\nsparrow,5\npractice,0\nenergy_sword,0\nnon-euclidean_masturbation,0\nplant_sex,0\npepamintop,1\ngorilka,1\narthropod_abdomen_penis,0\nhijab,0\npetro_(artist),1\nneom-daddy,1\nmorokko,1\nakabane_jin,1\ntiny_tiger,4\nservice_height,0\nwhite-devil,1\nneera_li,4\nlinkin_monroe,1\ndoctor_(arknights),4\nkipfox,4\ndorsal_ridge,0\ncanadian_flag,0\nnakimayo,1\nred_fingernails,0\nmulticolored_bandanna,0\nbuffalo_bell,4\nellistia,1\ntoo_big,0\n13:16,7\nassassin's_creed,3\nbypbap,1\nantoine_d'coolette,4\nrequiembeatz,1\nreiduran,1\nkrackdown9,1\nrai_(radarn),4\ntroubleshoes_(mlp),4\nheavy,0\natelid,5\nhanuvo,1\nblaze-lupine_(character),4\ncattail_(plant),0\nnewborn,0\navery_(roanoak),4\neight_frame_image,0\ncum_on_cheek,0\nfklow,1\nblubluumon,1\njimmy_(jamearts),4\nirish_setter,5\noversized_sleeves,0\npink_shorts,0\nflammars,1\nblackjack_o'hare,4\ngluck,0\npattern_sweater,0\nsarah_silkie,4\nusername,0\nscenery_porn,0\nescape,0\ntan_shirt,0\nvenusflowerart,1\nanniversary,0\nbnbigus,1\nsleeping_together,0\nflufflecraft,1\nfreya_(animal_crossing),4\ncollaborative_handjob,0\npuckered_lips,0\nwolvalix,1\nlarge_female,0\nharumi,1\nbillboard,0\nrendered,0\nreverse_carry_position,0\nbadart_(artist),1\nfrilly_dress,0\nvolga,4\nfox_ears,0\nstork,5\nmiau,1\nsonic_and_the_black_knight,3\nmonokuma,4\nnexivian,1\nsutasl,1\nneokat,1\nalbinefox,1\narvalis,1\ntsunamidusher,1\nsteven_stagg,1\nathosvds,1\nnovsilv,1\ntwo_tone_headwear,0\npuptini,1\nskyleesfm,1\ngerbil,5\nred-tailed_hawk,5\nnorse_mythology,3\ninterrupted_by_reaction,0\nmargie_(animal_crossing),4\ncupping_chin,0\nthehuntingwolf,1\nbeartic,5\nhidden_face,0\nsupergiant_games,3\nbullet_bill,5\nichduhernz,1\noouyuki_benten,1\nclose_nipples,0\njex,5\ndogpig28472,1\nshoe_soles,0\nbengal_tiger,5\ncherry_jubilee_(mlp),4\nqueblock,1\ndagger_(sdorica_sunset),4\nspazkid,1\nyuuya333,1\nnipple_vore,0\ncurtis_wuedti,1\neris_(marefurryfan),4\nkanevex,1\nrocksteady,4\npulsing,0\nrubberbuns,1\nsavageshark,1\nalastor_(hazbin_hotel),4\naudunor,1\nfused_fingers,0\nprey,0\ngold_body,0\ncum_on_upper_body,0\ndemona69,1\nglurgle,0\nkryztar,1\nparallel_speed_lines,0\nrivey_ravenheart,4\nkettle,0\nwizardlywalrusking,1\nyellow_and_white,7\nzoohomme,3\ndizzytizzy,1\nspring_deerling,5\ndemanding,0\nkali_belladonna,4\nassassin_shuten-douji,4\nberry_frost,4\nbackless_gloves,0\nlight_bulb,0\ngi0,1\nglue_studios,3\ndeino,5\nginger,0\nblue_insides,0\ntc,1\nethanw,1\nred_yoshi,5\nbutterfly_clip,0\nthe_smoke_room,3\nelinor_wonders_why,3\nninja_kiwi,3\nthebigslick,1\nwindy_dripper,4\nfusionxglave,1\nmilitary_clothing,0\nfancypants_(mlp),4\nwolpertinger,5\nteathekook,1\naustralian,0\nwilykat,4\nt.y.stars,1\npaulo_(bcb),4\ngoo_dragon,5\ncentinel303,1\nfuyoudo624,1\nevulchibi,1\nvesairus,4\nskulkers,1\nfatal_wound,0\nglenn,1\nspinater,1\nblood_pool,0\ngold97fox,1\nblake_sinclair,4\ntorn_pantyhose,0\nbrothel,0\nfiona_maray,4\ncircus,0\ngllorvillain,1\nnila_(cyancapsule),4\ndksk30,1\nhitsuji,1\nfood_penetration,0\nakita_inu,5\near_expansion,0\nanojaa,1\nfull_orifice,0\ngreatsword,0\ndoodle_dip,1\nloupgarou,1\narm_cannon,0\nbaby_kangaskhan,5\nvellvetfoxie,1\nabandoned,0\nhigh_heeled_feet,0\npeable,4\nfuyuki_yamamoto_(odd_taxi),4\ndabunnox,1\nfall_guys,3\nzanthu,1\nidolmaster,3\norange_panties,0\njinx_doodle,1\nmythological_chimera,5\ndim_lighting,0\nmandrill,5\nhuge_lips,0\nfanning_self,0\nbig_extensor_carpi,0\nstack_(character),4\nbadroy,1\nsanssouci,1\nazural_cobaltros,1\nbakki,1\nshadowed_eyes,0\nblades,0\nribbontini,1\nsektiss,4\nthegeckoninja,1\nsalad,0\nblack_leotard,0\nsmug_expression,0\ninterplanetary_macro,0\nfull_attack,3\nperformance,0\nblack_fingerless_gloves,0\nbet,0\nforced_to_top,0\nsquish_(sound_effect),0\ntzokatli,1\nnerton,1\nllametsul,1\nryo_agawa,1\nushanka,0\neye_spots,0\ndonkles,1\nkarate,0\nsuper_nintendo,3\nbelsnep,1\nlet_me_in,3\nvocalization,0\ncaboni32,1\nvespid,5\nsuggestive_dialogue,0\nscorci,1\nlegiana,5\nkingdraws,1\nafter_shower,0\nmarc_leonhardt,1\nkimba,4\ndanger,0\npiyotm,1\nbewear,5\naledonrex,1\ngolden_brooch,4\ncasual_masturbation,0\nbessi_the_bat,4\nfacebook,3\ninternet,0\npkuai,1\nsyntex,1\ngundam_build_divers_re:rise,3\ncera_(the_land_before_time),4\nbodi_(rock_dog),4\nimminent_digestion,0\nhalfling,5\ninflatable_buttplug,0\nmakoto177,1\nethereal_tail,0\ngashi-gashi,1\nkeytar,0\nmugen,3\natlas_(artist),1\nanarchy_symbol,0\nfez,0\nbobtail_cat,5\nproject_x_love_potion_disaster,3\nmoetempura,1\npartially_submerged_sex,0\natlantic_puffin,5\namazin-arts,1\ngothwolf,1\npresenting_slit,0\nforced_kiss,0\nhole_in_wall,0\npatch_(marking),0\nakamu_ver20,1\ndislyte,3\nkenny_(kenashcorp),4\nexpansion_sound_effect,0\ngalarian_zigzagoon,5\nbonnie_bovine,1\nfiction,0\ncaliosidhe,1\npenis_leash,0\nlace_bra,0\nsoul_patch,0\neda,1\ncoot27,1\nequestria-prevails,1\ncrescent0100,1\nblueberry_kobold,4\ngamma-g,1\nzoe_(nnecgrau),4\ntanned,0\nzashy,4\nchocolat_gelato,4\nsocial_media,0\nrubbing_head,0\nschwarzpelz,4\nbaseball_glove,0\nraripunk,4\nvideo_in_description,7\nmaeve_(twokinds),4\nesophagus,0\nwhiterabbit95,1\nhalf_submerged,0\nlive_birth,0\nforced_prostitution,0\nsheath_poking_out,0\nquail,5\nkonekonoarashi,1\nroko_(cocolog),4\ncreepy_face,0\nlegend_of_spyro,3\nnastya_tan,1\nbattler,1\nnowykowski7,1\nsilver_body,0\nmiss_kitty_mouse,4\nholidaypup,1\namenlona,1\nbaalbuddy,1\ntext_in_heart,0\ncake_the_cat,4\ngeorgette_(disney),4\ncalm,0\ndclzexon,1\nibuki_(beastars),4\nwilbur_(animal_crossing),4\nweaver_bonnie,4\nfeather_ornament,0\ndouble_bitted_axe,0\ndarkluxia,1\nindoraptor,5\nredmoa,1\ndew_dragon,1\nknocking,0\ncheckered_topwear,0\nleft_4_dead_(series),3\nrandomdragon,1\ndeep_cleavage,0\npokéball_sex_toy,0\nalanisawolf777,1\nclose_to_bursting,0\nscrungusbungus,1\nmissaka,1\npattern_bra,0\nkneesocks_daemon,4\nseed,0\nsnow_utamaru,1\nmulti_tone_feathers,0\nfoxmusk,1\nmaniacpaint,1\nartz,1\ndrmellbourne,1\npixylbyte,1\nfaceless_(species),5\nheyitshappydoodles,1\nsea_salt_ice_cream,0\nbayzan,4\nskunkjunkie,1\nangelina_marie,4\nhands_on_own_hips,0\ntentacle_cilia,0\nhexacult,1\nvinzin_(character),4\npersian_cat,5\npommn_mn,1\ntar,0\nstarry_eyes,0\nraydio,1\nformal_clothing,0\nretractable_claws,0\nparted_lips,0\nmugger_(my_life_with_fel),4\nsleepover,0\nstrip_poker,0\ncecily_lin,1\nzangusuu,1\nsuper_mario_3d_world,3\nscotty_kat,4\neva_(ozawk),4\nsunnynoga,1\npointe_shoes,0\nultra_ball,0\npattern_arm_warmers,0\npizzaozzy_(artist),1\nmega_audino,5\nheart_pillow,0\nnose_scar,0\nleo_(saitama_seibu_lions),4\npull-ups_(diaper),3\nprecum_on_tongue,0\nlatin_text,7\nbds_charmeleon,1\ndave_(tcitw),4\nzed_burrows,4\nkrakenparty,1\nthecoldsbarn,1\npattern_bow,0\nsimple_face,0\nhorizontal_pussy,0\nblack_and_red,7\nrobe_only,0\nice_creature,5\nwalking_stick,0\nbodily_fluids_from_pussy,0\nduffel_bag,0\nsomik,1\nrammy_lamb,4\neternity-zinogre,1\nfiercedeitylynx,1\niceblizzard,1\nflesh_binds,0\nlady_olivia,4\nfurry_tail,0\nballs_on_head,0\nshandi,4\nscenic_view,0\ncolorful_background,0\nshadedance,1\nkairaanix,1\nprincess_skystar_(mlp),4\nmiphassl,1\ncube_(object),0\nsitting_on_desk,0\ndeskai,1\norange_shorts,0\ndeanosaior,1\nshorts_only,0\nsilvrsterlng,1\newmo.de,1\ntohilewd,1\nsat_on,0\nribombee,5\nbrown_chest,0\nretsuko's_mother,4\nhopping4,1\namerican_paint_horse,5\nlynxgriffin,1\nroe_deer,5\nshadow-teh-wolf_(copyright),3\nkuron,1\nleaf_(pokémon),4\ngreen_feet,0\nkittyodic,1\nthemuffinly,1\nwide_sleeves,0\n32:41,7\nmia_(.hack),4\njoan_whitecat,4\nsiyu,4\nmonds,1\nikea,3\ngame_boy_console,0\nkyuu_(beastars),4\nnsfsushi,1\ndean_(drako1997),4\ntapu_lele,5\ncarrying_over_shoulder,0\nbulge_size_difference,0\nfox's_sister_(kinokoningen),4\nraven_eevee,4\ncookiedraggy,1\nskuttz,1\nmike_argentum_(artist),1\nvolk,4\ndogshaming,3\ngrim_reaper,4\nsaphira,4\ntext_on_t-shirt,0\nmaxime-jeanne,1\ndefeat_sex,0\ntasting,0\nzedrin,1\nred_light,0\nmedabots,3\ndr._pizza_boi,1\nsparky_(lilo_and_stitch),4\nrocky_rickaby,4\nvetra_nyx,4\nbetrayal,0\nmetalisk,1\ntarnished_(elden_ring),4\ncola,0\nshining_force_exa,3\nkeyhole_panties,0\nfefairy,1\ndigitslayer,1\nk0bit0wani,1\njenny_(ajdurai),4\ntorn_footwear,0\nlordstormcaller,1\nspread_mouth,0\nsilvia_(peculiart),4\nwrap,0\ngreen_(shiro-neko),4\nsex_dungeon,0\nwii_fit,3\nsasamino,1\nan_american_tail,3\nnken,1\nkemoribbon,1\ncredits,7\nbumomomoboa,1\ntranslucent_censor,0\nginko0101,1\ngrandmother_and_grandchild,0\nutx-shapeshifter,1\nlobofeo,1\narcticlion,1\neragon,3\nhanging_by_feet,0\nsegway_(segwayrulz),4\nkitchen_spatula,0\nharzu,1\nanalpaladin,1\ncity_destruction,0\nstream_chat,0\ndubmare,4\nsneakerfox,1\npurple_yoshi,5\nfoot_transformation,0\nlerapi,1\nchansey,5\nafrica,0\ntexas_(arknights),4\nhockey,0\nraventhan,4\nmonotone_toes,0\ncontainer_of_milk,0\njulie-su,4\nsprig_plantar,4\nstimulation,0\npanty_peek,0\njananimations,1\nunicellular_organism_(organism),5\ngustav_(here_there_be_dragons),4\nreese_(animal_crossing),4\ntoxicroak,5\nblood_moon,0\ndabbing,0\nlooking_at_bulge,0\ndewwydarts,1\nblitzpitz,1\nmonotone_hooves,0\nexcella,4\nchandelure,5\nnijisanji,3\nmartha_speaks,3\nbig_fingers,0\nsony-shock,1\nheavy_balls,0\nmisterkittens,1\nkairel,4\ncrytrauv,4\nsupplesee,1\nfreya_(zionsangel),4\npink_inner_ear_fluff,0\naztec_mythology,3\narty_stu,1\ntail_tenting,0\nglistening_eyewear,0\nbutton_prompt,0\ncare_bears,3\norangutan,5\ndotted_line,0\noli_(thepatchedragon),4\nhazmat_suit,0\nfluffytuft,1\nuotapo,1\ndog_operator,4\nclove_the_pronghorn,4\nnoblewolfa,1\narms_bound_to_collar,0\ngiggling,0\nbroken_bone,0\nturtwig,5\nselkie_(my_hero_academia),4\nblitz_(gyro),4\ntied_down,0\ngreen_briefs,0\nmiranda_lawson,4\ncrittermatic,1\nprince_vaxis_(copyright),3\ngroan,0\nvoltorb,5\nred_speedo,0\nhair_beads,0\nattack_on_titan,3\ntrumpet,0\norange_inner_ear_fluff,0\nherm_on_top,0\nestrogen,0\ndaniruu,1\ndonutella,1\ntwo_tone_tail_feathers,0\nxyi,1\njackintaro,1\nboob_drop,0\nleg_scar,0\nsniper_(team_fortress_2),4\nsquatting_position,0\nbreaking,0\nbrown_tuft,0\nhypnotizing_viewer,0\nbloody_roar,3\ncuddles_(htf),4\nunusualmatias,1\ncum_fountain,0\ntext_on_shorts,0\ncadou_host_(resident_evil),5\ndutch_angel_dragon,5\nanal_oviposition,0\nsliding,0\nkyo_(kiasano),4\nsvenners,1\npidgeotto,5\nkindle_(frisky_ferals),4\nvel_valentine_(strawberrycrux),4\nhumanoid_prey,0\nmonkeyspirit,1\nwhite_hooves,0\nclaweddrip,1\nriis,1\nblackdragon4444,1\ncum_in_pants,0\npink_hooves,0\nbakameganekko,1\nblaster,0\ntalisman,0\njonesy_hoovus_(grimart),4\nangellove44,1\nnude_modelling,0\nhymen,0\nblushbutt,1\nclb,1\ndandy_(artist),1\ndisco,0\nmiketheuser,1\ncheese_sandwich_(mlp),4\njustin_(study_partners),4\nhuman_fingering_anthro,0\nprecum_on_face,0\nloincloth_lift,0\ngrey_chest,0\nkorrok,1\nzephyxus,1\ndamn_lasso_tool,1\ndriosawm,1\narmadirou,1\ncheese_cake,1\nryai_(character),4\ngarurumon,5\nchita_(ketchup),1\nwolfgerlion64,1\nmurasadramon,5\nimgonnaloveyou,1\nmale_swimwear_challenge,3\nblack_toenails,0\ndarma_(rock_dog),4\nvaporotem,1\nsaturdaymorningproj,1\nmafia,0\ndouble_amputee,0\nleg_on_shoulder,0\nprotagonist_(helltaker),4\nmime,0\ncroagunk,5\ndrawholic,1\nhigh_elf,5\nfuzzy-britches,1\nmac-daddy,1\nengine,0\nhippie,0\nshere_khan,4\nyuki_yoshida,4\nvictory_position,0\nkeeper_of_the_moon,5\nmeasuring_penis,0\nalecrast,4\nwhite_eyelashes,0\nstriped_arm_warmers,0\ninheritance_cycle,3\nmonotone_fingers,0\nnatasha_(jmh),4\napril_fools,3\nwario,4\nphineas_and_ferb,3\npienji,1\ndestiney_crawford_(thatworgen),4\njump_rope,0\npalette,0\nchikaretsu,1\nprayer_beads,0\nspit-take,0\ntashalisets,1\nears_front,0\nhorus,4\nbored_expression,0\ndiving_mask,0\nstripedcrocodile,1\nhudson_soft,3\nturanga_leela,4\nhypnofood,1\nvastaya,5\ncregon,4\npants_peeing,0\ncocaine_(artist),1\nmelamoryblack,1\nkanou,1\ntanya_keys,4\n90_percent_studios,3\nmisunderstanding,0\ncum_cannon,0\nadine_(angels_with_scaly_wings),4\ntabasukotrr,1\nsobek,4\nnitrods,1\naddickted,1\ndestabilizer,1\nlight_nipples,0\nelectrode,0\nallan_(zourik),4\nfelix_reverie,4\nsavourysausages,1\nankylosaurian,5\nminnosimmins,1\nthe_amazing_3,3\nleashed_male,0\nbutton_ears,0\ndrunk_oak,1\nankle_band,0\nhead_spines,0\nmedusozoan_humanoid,5\nbouncer,0\nluvashi,4\npercy_(pickles-hyena),4\nmostly_nude_female,0\nblack_talons,0\ndaire301,1\nvlagg_(vju79),4\ntail_boner,0\nalien_vs._predator_(franchise),3\ngambling,0\nascar_angainor,1\nsoranamae,1\ncala_maria,4\nhisaki_(live-a-hero),4\ngame_of_thrones,3\nlava_cum,0\njackson's_chameleon,5\ndeath_piss,0\ncloacal_fingering,0\nmalik,4\non_style,0\nloimu_(character),4\nses_vanbrubles,1\ndead_eyes,0\npom_clothing,0\ncrunchobar,1\nthe-chu,1\npoliwrath,5\ndarkgoose,1\npiercing_pull,0\ntharkis,4\nperfectlynormal,1\nmonotone_sheath,0\nmutual_chastity,0\ngary_goodspeed,4\nexam_table,0\nhands_on_wall,0\nharness_only,0\nspiral_pupils,0\nnintendo_64,3\ndevil-vox,1\nmenhou,1\nanixaila,1\ndinoalpaka,1\nred_arremer,5\nrikuo_(artist),1\nvksuika,1\napocalypse,0\nmasterzoroark666,1\nparclytaxel,1\ntorn_leggings,0\nsuperman,4\nslime_(blob),5\nkuromi,4\ndustin_c,1\nawoo,0\nsnap,0\ntransformers:_beast_wars,3\ncarrying_another,0\nmaxine_d'lapin,4\nblue_speech_bubble,0\nlegbinder,0\nliving_melee_weapon,5\ndeep_fisting,0\nrunning_away,0\njokoifu,1\ncum_plugged,0\ndragon_(petruz),4\ndark_feet,0\nfarorenightclaw,1\nshared_heart,0\nmozukuzanmai,1\nrodicle,1\nmonferno,5\nkraidhiel,1\nuser_interface,0\nmatch,0\nmarei,4\nfoxynoms,1\nchristmas_sweater,0\nhigh-bear,1\ndenzeltip,1\nnipple_fingering,0\ndoritos,3\nboss_(gym_pals),4\nraventenebris,1\nheart_catchlight,0\nlemondude,1\nflat_belly,0\nheart_tag,0\nplastic,0\nbell_bow,0\ncyrakhis,4\ncaptain_bokko,4\nplum_rhazin,4\nblack_hole,0\nhuge_quads,0\nkerneldecoy,1\ntextless,0\nizra,1\nfacial_spots,0\nflavored_milk,0\nzelripheth,1\njellyfish_humanoid,5\nbat-eared_fox,5\nceleste_(artist),1\narizona_cow_(tfh),4\nzabrina_(afc),4\ntaillove_(artist),1\nbowling_ball,0\ndevin_(yungyiff),4\nauradeva,1\nsloshing_breasts,0\ngrey_hat,0\nthomas_whitaker,4\ntan_fingers,0\nchameleon_humanoid,5\ntaranima,1\nfugasvbashnyu,1\nlilibee,5\nhatching,0\nfluffy_mane,0\ngrey_spikes,0\nbrachyzoid,1\nfaunazon,5\njeane_(ceehaz),4\nsuina_humanoid,5\ntugging,0\nlarger_taur,0\ncosmic_fur,0\nchibisuke,4\nsakura,0\nfang_the_sniper,4\ndoggettdouglasmcdog,1\nonykr,1\nness,4\nsubstitute_doll,4\npurple_stockings,0\nyellow_bandanna,0\nlilith_aensland,4\nbalaclava,0\nchipp,4\nclover_(happy_happy_clover),4\nqueenkami,1\nbefore/after_focus,0\narthur_read,4\nsubmissive_herm,0\naluka_(dragoon86),4\nfruitz,1\nwriting_on_crotch,0\nsemi_pov,0\nholding_hair,0\nlimbless,0\nx-ray_flash,0\nwatatanza,1\npapi_(monster_musume),4\ngreen_glasses,0\nprecum_squirt,0\ncalheb-db,1\ncelesteela,5\ntatami,0\nyamaneko_sougi,4\nkaimstain,4\nalexandra_(velocitycat),4\nluma,5\nsockjob,0\nred_exoskeleton,0\norange_skirt,0\ntatujapa,1\nrobophilia,0\npink_thong,0\n5_heads,0\ndruddigon,5\npngx_(artist),1\nmass_effect_andromeda,3\nmongolian_clothing,0\nsepulte,1\ntenyati,1\nvagabond_(artist),1\nchaoshetra,1\nprint_headgear,0\nstraw_in_mouth,0\nash_(sing),4\nripples,0\ncartoon_saloon,3\ndragondrawer,1\nlaces,0\nfallow_deer,5\nhands_on_own_breasts,0\nkdmn,1\nchemise,0\nalex.fetter,1\nbillmund,1\nvoodoo_sex,0\ndrumming_stick,0\nsoggy_diaper,0\neyeball6300_(chiv),1\nmeles,5\nhastogs,1\nfang_(animal_crossing),4\nfiftyfifthfleet,1\ntank_(mlp),4\nmagnet,0\nmira_(target_miss),4\ncelestial_being,5\nholding_bow_(weapon),0\nunderwear_around_legs,0\neaster_basket,0\npenis_sniffing,0\nswellow,5\nstriped_sleeves,0\npink_foreskin,0\nsoukosouji,1\nblender_cycles,3\nkid_cat_(animal_crossing),4\nmrfatcakes,1\nnecktie_grab,0\nlappland_(arknights),4\nseattle_fur,3\nminedoo_(character),4\ncow_costume,0\nsorok17,1\ndripping_heart,0\nblue_exoskeleton,0\niron_cross,0\nkumo_desu_ga_nani_ka?,3\ngalea,0\ncamp_lazlo,3\nmassage_table,0\norange_legwear,0\nteenage_mutant_ninja_turtles_(2003),3\nkatlin,1\nfedupfox,1\nmorsylvia,1\ndominant_herm,0\nempty_speech_bubble,0\ntigerlilylucky,1\ncowgirl_(disambiguation),-1\neavesdropping,0\nlow_poly,0\nmushoku_tensei,3\nedgar_(the_summoning),4\nwhite_suit,0\nmeller's_chameleon,5\navogadrotoast,1\nliving_car,5\npawzzhky,1\naniece,4\nbruce_mccorkindale,1\ncommand_to_clean,0\nhercules_(1997),3\nrattle,0\nfangdangler,1\nagent_torque,4\nlary_(yinller),4\nnudibranch,5\npluckyninja,1\npeanuts_(comic),3\nkyra_(greyshores),4\nshortwings,1\nmia_(talash),4\nspeculum,0\nbig_glans,0\nstriped_neck,0\nradioactive,0\ns'zira,4\nchesta,1\nagainst_window,0\nragingsemi,1\nparfait_(plaga),4\njapan_studio_(game_developer),3\nhead_on_shoulder,0\narcsuh,1\ncatdog_(series),3\nholding_potion,0\nxayah_(lol),4\nroyalty_(artist),1\nsky_(artist),1\nelisa_maza_(gargoyles),4\nwater_lily,0\nking_kong,4\nwhite_haori,0\nquiet_(metal_gear),4\nchildish_panties,0\nxnanchox,1\npepper_(sketchytoasty),4\nbright_eyes,0\nsevered_penis,0\nonix,5\ncolorless,0\npolitoed,5\nnolly_(artist),1\nemikochan,1\ngreen_membrane,0\nferal_bondage,0\nmurana_wolford_(darkflame-wolf),4\nimpishhyena,1\nshoulder_carry,0\nvtza,1\nwii_remote,0\ncookie_crisp,3\nhome,0\ntfc0234,1\nmedia_case,0\nluvdisc,5\ngillpanda_(character),4\nbubble_bobble,3\njosemalvado,1\nmorca_(character),4\nambar,4\nsalireths,1\ncherryfox73,1\ntransformation_by_item,0\nrocky_(paw_patrol),4\nelectricsnowfox,1\nthick_sheath,0\nanxiety-chan,1\ngrand_theft_auto,3\nmexican_wolf,5\ntamara_fox,4\nindustrial,0\nteal_clothing,0\nultimateshadow,1\nturquoise_(ralek),4\nimadeej,1\nbarbecue,0\nknee_pulled_up,0\npattern_accessory,0\nsevenarms,1\nsakifox,1\ndante_kinkade,4\npatch_(ask-patch),4\nfeatherweight_(mlp),4\nkeiko_sakmat,4\npatrick_star,4\nsmiling_at_each_other,0\nkumak71395,1\nwarehouse,0\ngrey_socks,0\nsparkx,4\nwolver_mustang,1\nbea_(pokemon),4\ninkling_boy,4\ndribble_(warioware),4\nbonfire,0\nbisharp,5\npan,0\nmoomis,1\nthigh_highs_only,0\nthigh_cuffs,0\nthe_ancient_magus_bride,3\nrain_(cimarron),4\nambush,0\nball_and_chain,0\nprey_penetrating,0\ngynomorph_penetrating_andromorph,0\nunused_condom,0\nsugar,0\nartemis_tsukino,4\norchiectomy_scar,0\nprobablyfakeblonde,1\nhexagon,0\narm_around_back,0\nwesley_(suave_senpai),4\nmtflying30371,1\nhowlart,1\ngentleman,0\nstarman_deluxe,1\nrock_out_with_your_cock_out,0\ncyber_dragon,5\nmartinballamore,1\nflail,0\ngirl_scout,0\nelbow_spikes,0\npaper_mario_(2000),3\nkurokuma824,1\nskunkhase,4\non_display,0\nupside_down_pussy,0\nno_shoes,0\nelias_ainsworth,4\nlunarmarshmallow,1\nlvlirror,1\npoison_trail,4\nnose_wrinkle,0\nfira3dx,1\ntrashdrawy,1\ndoctor's_office,0\ntricked,0\nkristakeshi,1\ndark_legwear,0\nstylized_text,0\n3sthrees,1\nsoft_belly,0\nsmoaer,1\npatreon_link,0\ncosmic_horror,0\ndekaisen,1\nred_leash,0\nshelf_bra,0\nendoskeleton,0\ndragonchu_(character),4\nlewd_symbolism,0\nstatus_effect,0\nimminent_masturbation,0\ncum_in_beak,0\nanticularpony,1\ninvincible_(comics),3\nalvo_(target_miss),4\njack-jackal_(character),4\nrobotization,0\nsled,0\ntrick_(tricktrashing),4\ncollaborative_breastfeeding,0\nsloss,1\nadora,4\nkemono_inukai,1\njam_(miu),4\ncocktail_umbrella,0\nmdjoe,1\nmeilin_lee_(turning_red),4\nferetta_(character),4\nvistamage,1\nlynxbrush,1\ny'shtola,4\nnegullust,1\ndrifloon,5\nfanofthefurr,1\noffering_food,0\nsamur_shalem,1\nqqmelon888,1\nethan_(pokémon),4\nrj_oakes,4\npresenting_cream_pie,0\nchelsea_chamberlain,4\nanise_(freckles),4\nkierus,1\ncapricorn,5\nbailey_(brogulls),4\nmulticolored_tentacles,0\nrafflone,1\ncar_sex,0\ndiplodocus,5\norange_cheeks,0\nranamon,5\npeeing_on_ground,0\n6071:8598,0\nconvincing_weapon,0\nstippling,0\nkudu,5\ncropped_jacket,0\ngadoran,1\nwolfwithwing,1\nahnik,1\nkammypup,4\npurrfect_apawcalypse,3\nblossomforth_(mlp),4\nzokva,1\nimago_ic,1\nautumndeer,1\nset_(species),5\ncomic_book,0\nmilk_carton,0\nblue_glasses,0\ntashi_gibson,4\nmagpiehyena,1\nlisa_simpson,4\nuwotinfokm8,1\nmonomasa,4\ntearing,0\nrailway_track,0\nadra,4\njobo37,1\nlight_truck,0\nfffffolder,1\nbutt_fluff,0\nunicorn_humanoid,5\n32:33,7\ncum_in_bucket,0\nexcessive_urine,0\ngrey_tuft,0\nlazy,0\nbarcode_tattoo,0\nsiamkhan,1\nyatosuke,1\npurple_eyelids,0\njackknife_chelicerae,0\nthoughts,0\nbook_title,0\ndeadpool,4\nhovering,0\nobaum,1\ndaz3d,3\nnollety,1\nglowing_balls,0\nbluebreed,1\nbanderi,1\nlesbian_pride_colors,0\nnumber_word,0\nkamikiller,1\npashoo,1\nbebecake,1\npapillon,5\nlacy_(blazethefox),4\nsilverfox057,1\nalibi-cami,1\nfelicity_longis_(colorist),1\nbaboon,5\nrawr,0\nhalo_horns,0\nultra_(ultrabondagefairy),4\ndate_natsuku,1\nsassy_saddles_(mlp),4\n4_nipples,0\nshadow_bonnie_(fnaf),4\nhornet,5\nfour_arms_(ben_10),4\nphotoshop,3\nblue_genitals,0\nyuio,1\nenryo,1\nmetroid_prime,3\npunishedkom,1\nsparky_the_chu,1\nmr.albafox,1\nren_and_stimpy,3\nredxbacon,1\ncum_on_footwear,0\nhand_over_head,0\ndiscipline,0\ndjcoyoteguy,1\nanthro_fingered,0\ndarkwolfhybrid,1\nthebatfang,1\ndestroyed_building,0\nbitemylip,1\nbreast_physics,0\naxew,5\nbelle_(beauty_and_the_beast),4\nelicitie,1\ngrandfather_and_grandchild,0\nadvos,1\nhikari_kamiya,4\nzed_technician_games,3\nnonbinary_pride_colors,0\ngalo,1\ncollot_(beastars),4\norange_eyeshadow,0\nlako,1\nagemono,1\narrested,0\nlube_on_sex_toy,0\nblanca_(nicky_illust),4\nnocturnalfuzz,1\ndrockdraw,1\nslimshod,4\nschool_days,3\nburuma,0\npixelsketcher,1\nfan_(disambiguation),-1\nblack_chest,0\nantira,1\nqueenie_(shoutingisfun),4\ndutch_(artist),1\ndib_membrane,4\nbunnicula,4\nbr'er_fox,4\nsuspended_via_penetration,0\nmissing_tooth,0\njake_(study_partners),4\ncasynuf,1\ngalarian_rapidash,5\ndredjir,1\nsprite_art,0\nzackdadawg,1\nimplied_cannibalism,0\nfafcomics,3\nclothes_pin,0\ncursed,0\nendless_(artist),1\ntail_stripes,0\npickup_truck,0\nstagshack,1\nupstairstudios,1\napex_legends,3\nmilking_self,0\naerodactyl,5\nkeys,0\nlong_skirt,0\nholding_shin,0\nlies,0\nevelia_zara,4\nlayered_heart,0\nin_one_ear_and_out_the_other,0\nandromorph/andromorph,0\nnes_controller,0\njojocoso,1\nbilliards,0\nconfession,0\nhairjob,0\ninflatable_transformation,0\nbow_in_back,0\nahnik_(character),4\nfanny_pack,0\nyello,4\nmouth_scar,0\nleo_(twitchyanimation),4\nmonotone_panties,0\nclothed_humanoid,0\nuniped,0\ncondom_inside,0\nprettypinkponyprincess,1\nwolfiecanem,1\nphysical_list,0\nraised_tank_top,0\ndrogoz,4\nmyenia,1\nmartha_lorraine,4\ndolorcin,1\nlowkey_nottoast,1\nswelling,0\npurple_hands,0\nkamudragon,1\nhand_on_another's_chest,0\ngaruda_six,1\nelectrikestorm,1\nrareel,4\ninter_schminter,0\nbastiel,1\nrayzoir,1\nden255,1\nangellsview3,1\ngreen_glow,0\nprint_headwear,0\nyellow_hands,0\nsheath_grab,0\nvaktus,1\njesse_collins,4\nwhiteabigail,1\nmongolian,0\neggnog,0\ndaryl_vecat,4\ntangobat,1\nthe_gory_saint,1\nflabébé,5\nangelauxes,1\navo_(weaver),4\npirin-apex,1\ngrillby,4\ngarnet_(jewelpet),4\nkatsuke_(character),4\ncosmic_tail,0\namarihel,1\nugly_bastard,0\nfruitymilk,1\n3dsmax,3\nthevgbear,1\ntupidwithouts,1\ntardis,0\nblue_lightsaber,0\ncanine_ears,0\npolice_baton,0\nlittle_john,4\npetaroh,1\nskulldog_(species),5\ndrychicken,1\nanthro_dominating_male,0\nnude_gynomorph,0\nunknownlifeform,1\npussy_juice_splatter,0\nkappy,1\nleg_spreader,0\njasmine_(skidd),4\nmei_(overwatch),4\ninvisible_sex,0\nadrian_gray,4\nmacaronneko,1\nzbornak,5\ncorner,0\nsylvia_(wander_over_yonder),4\nskintight_clothing,0\nminxydoodle,1\nthe_legend_of_korra,3\nmegan_giles,1\nlong-tailed_weasel,5\nneumono,5\ncheesecaked,1\ndas,1\nkeltaan,1\nchip_the_wolf,4\nbiffalo,1\nherm_on_bottom,0\ndanawolfin,1\nikugo_(artist),1\nmooing,0\n16:21,7\npokémon_tcg,3\nthechurroman,1\nsuggestive_shirt,0\ntabhead,1\nchicobo,1\npenis_on_breast,0\nsprout_cloverleaf_(mlp),4\nkoba,1\noriental,0\nredvais,1\nself_cum_inflation,0\npink_butt,0\nlizardfolk,5\nbeaten,0\nrip,0\nkobold_adventure,3\ntail_curl,0\nwaist,0\npanel_overlap,0\nin_food,0\nshiver_(splatoon),4\nwonder_boy_(series),3\n135:256,7\nmrs1989,1\nmarvol,4\nfeather_6,3\nkeyblade,0\nphotography,0\nthe_fatcat,1\npride_color_markings,0\njademerien,1\nheart_tail,0\nhexteknik,1\nbolero_delatante,4\nhentaib,1\nsoto_(freckles),4\nhunnipanda,1\nholtz,1\nred_gem,0\nancient,0\nin_throat,0\ninnocenttazlet,1\nbig_forearms,0\ntwinning,0\nrapid_strike_style_urshifu,5\ngoblin_slayer,3\ncervine_humanoid,5\nkanannbo,1\nittla,1\ninkwell,0\nchester_ringtail_magreer,4\nfuzzywuff,1\nkentowan,1\nlanturn,5\nbhtoss,1\nleech,5\nflag_background,0\nghislaine_dedorudia,4\nservo117,1\nsirphilliam,1\nneedy,0\nabandoned_building,0\nmuskydusky,1\nbreast_torture,0\nkuroisumi,1\nmay825,1\nearthworm,5\nopera_kranz,4\nupright-infinity,1\nbriskby,1\nwindow_light,0\nmond_reyes,4\ndots,0\nclaspers,0\nscarlet_(sequential_art),4\ndusk_rhine,4\ndouble_fisting,0\ntan_beak,0\nsanka-tetsu,1\nkanada,1\nkelly_hamilton,1\nglados,4\ncherushi,1\niron_will_(mlp),4\nnovus,4\nspaulder,0\nmusician,0\npawalo,4\npokéball_anal_beads,0\nsophie_(funkybun),4\nbeach_blanket,0\nmichikochan,1\nlooking_outside,0\nmagenta_hair,0\npuffy_sleeves,0\narai-san,4\ncock_warmer,0\nailaanne,1\ntwo_tone_antennae,0\nawesome_face,0\nbreast_blush,0\nimminent_fellatio,0\nranadi,1\nwhitephox,1\norbitalis,1\nshesamonkey,1\nlinda_wright,4\nhumanoid_domination,0\npooping_on_floor,0\nalicia_acorn,4\nvem,4\nfire_emblem_awakening,3\npeeing_into_cup,0\ndreamspinner,5\nflogger,0\ntentacle_mouth,0\njaki-kun_(character),4\nkiyo,1\ncoconut_drink,0\njulie_(jhenightfox),4\nspunkie,1\ncyrillic_text,7\nsnowfyre,1\naipom,5\nevals,4\nbaby_powder,0\nveggie55,1\nbehniis,1\ngrey_fingers,0\nruri_tsubame,1\naozee,1\nharwick,1\nfurlyfe_redux,1\near_growth,0\nlexxs,4\nvixie00,1\nsuikuzu,1\nkoishi_chikasa,1\ngrimm_(rwby),5\nalma_(vixinecomics),4\ngarruuk,1\nnami_(one_piece),4\nschnauzer,5\nzygodactyl,0\nluvon,1\ncrobat,5\ntaran_fiddler,1\nanal_storage,0\nrookieanimator210,1\niseenudepeople,1\nouginak,5\nsummon_night,3\nrizonik,1\nhelmed_(helmed),4\nruff_(clothing),0\nzombiecat,1\nkelsey_sienna,4\nbow_dress,0\ntouching_own_hip,0\ncocothezebra,1\nmisterpickleman,1\nkougatalbain,3\njeremy_mullins,1\nberruchan,1\ndamingo,1\nemoji_(race),5\nspicedpopsicle,1\ntwstacker_(character),4\ngimp,0\nsilicon_studio,3\nscarlet-frost,1\nsouladdicted,1\ncandy_corn,0\nreverse_amazon_position,0\ntoco_(artist),1\nphlegraofmystery,1\nhitting,0\ngolf_club,0\nc0nnerc00n,1\nbasketball_hoop,0\nvivzmind,1\nevolve_(copyright),3\ndrippy,0\ndurg,4\nsyaokitty,1\nwolfrad,1\nunregisteredcat,1\nglorsh,0\nflick-the-thief,1\neudetenis,1\nmr._mist,1\ntaurusart,1\npanty_bulge,0\nxing_(the_xing1),4\ngardening,0\ngrumpig,5\ndolpix,1\nmoonabel,1\nmajin_buu,4\nsanzo,1\nursula_vernon,1\nsifyro,4\nstar_trek_lower_decks,3\nnaked_mole-rat,5\nlovetaste_chica,4\ndiddy_kong_racing,3\nmind_drive,1\ndeormynd,1\ncollaborative_footjob,0\nwater_reflection,0\ngothorita,5\ntfancred,1\njenni_(jennibutt),4\nlarger_cub,0\nworkshop,0\npiercing_bondage,0\nsevi_blaze,1\ninfection,0\nfire_hydrant,0\nplus-alpha,1\nkonpeto,1\naccidental_holly,0\ncrowned_shield_zamazenta,5\nchaos-draco,1\nswirl,0\nmaliketh_(elden_ring),4\nnut-case,1\nnessie_(disney),4\nhair_dryer,0\nyamisonic,3\nomega56,1\nhip_markings,0\nhedge,0\nnia_(xenoblade),4\nartofthediscipline,1\ngrey_tail_feathers,0\nopalescence_(mlp),4\njeffusherb,1\nkiggy,4\nelias_acorn,4\npastry,0\nlets0020,1\ndeath_knight,0\nafevis_(character),4\nniniidawns,1\nanormaluser,1\nhobbes_maxwell,1\ntowel_around_waist,0\nyoshi_egg,0\ndoom_eternal,3\ntahm_kench_(lol),4\nbeak_lick,0\nokata,1\nconversational_sign,0\nchaoji_xiao_shou_he,1\nglass_bottle,0\npawl_(fuze),4\nballs_on_penis,0\nshudayuda,1\ntriple_vaginal,0\ntan_stripes,0\nollie_(pop'n_music),4\nbondage_chair,0\nfuton,0\nmulti_clitoris,0\npillars,0\nmulticolored_panties,0\nsimple_nose,0\nc-3matome,1\ncirruskitfox,1\nhoop,0\ntrial_captain_lana,4\nhealing,0\ntreebarkdragon,1\nchristopher_thorndyke,4\nblue_toes,0\nhigh_contrast,7\nheart_accessory,0\ndesmond_(ceeb),4\nluca_(pixar),3\nmizuse_higomaru,1\ngrispinne,1\nsaria,4\nplussun,1\nlurkergg,1\nshio_inu,1\nnightmare_foxy_(fnaf),4\nfoxy_(cally3d),4\nliving_sword,5\nwintersnowolf,1\nanuv,4\ndr._t'ana,4\nutility_pole,0\nbarmaku,1\nttothep_arts,1\ntchaikovsky2,1\nfemale_rimming_female,0\ntigra,4\nmonster_girl_profile,3\ndark_samus,4\npxlfur,1\ndrxsmokey,1\npenny_ling,4\nlodi,1\nxianjaguar,1\nmeloetta_(pirouette_form),5\nsya,1\nbig-fig,1\nneltharion290,1\nzanamaoria,1\nbody_zipper,0\nwhite_ribbon,0\nfashion_saddle,0\nmitsuharu,1\nson_dom_father_sub,0\namuzoreh,1\nrisky_boots,4\ncozy,0\neamart,1\nkoffing,5\nhearts_around_entire_body,0\ncobalion,5\nopening_door,0\nkomoroshi_(artist),1\nbd,1\npumbaa,4\nferal_to_anthro,0\nqwaxi~lixard,1\nloss_of_speech,0\nmarnie_(pokémon),4\nreuniclus,5\namber_(fuf),4\nblue_tuft,0\nhighoncoffee,1\ngiancarlo_rosato,4\ngreyhound,5\nteen_titans_(television_series),3\nyellow_inner_ear_fluff,0\nrutmutt,5\ninward_tail_speech_bubble,0\nfloebean,1\npvt._keron,1\nmercenary,0\nexpression_cutaway,0\nnatsumemetalsonic,1\nrt001,1\nbelly_squeeze,0\ntraffic_cone,0\nfilbert_(animal_crossing),4\nrackun,1\nspirale_(character),4\nmultiple_forms,0\nbrontosaurus,5\nel-yeguero,1\njeffron,1\nzetsuboucchi,1\nwonderbolts_uniform,0\nlonely,0\nspuydjeks,1\nryn_purrawri,4\nhand_on_own_shin,0\njay-marvel,1\nkalida,1\nfreya_howell,4\nbuster_moon,4\nhyena_father_(pickles-hyena),4\ndragonofdarkness13,1\nurine_stain,0\nkokiri,5\n21:9,7\nsugaryhotdog,1\namixeduppuppy,1\ndarkdraketom,1\ndulcine,4\nmeisaikawaii,1\nleg_hug,0\nnoirbutt,1\nholding_ankle,0\ncream_tail,0\napplebottom_family,4\nbandaged_chest,0\nhappyending,1\nmaci_(ceehaz),4\nhyper_lips,0\nthaasteo,1\nmaddworld,1\nporygon-z,5\nhaloren,4\nmrpandragon,1\npink_glasses,0\ndeath_by_penis,0\npanchito_pistoles,4\nperverted_bunny,1\ndigital_clock,0\near_nibble,0\nspike_(eg),4\nhip_to_hip,0\nramdoctor,1\neelektross,5\npenis_in_cloaca,0\nsagging_diaper,0\nsmall_iris,0\nportal_penis,0\npaintfox,1\nmalefor,4\nredfred,1\nelegant,0\ndanmakuman,1\nbonbon_(animal_crossing),4\nink-eyes,4\nilovejudyhopps,1\nazre,1\nhanul,4\nbasket_position,0\nluthien_nightwolf,1\nhappi_(clothing),0\noleander_(tfh),4\nmarble,0\nsilvia_(pullmytail),4\nnevarrio,4\nsharpedo,5\nbastion_aduro,4\nminum,1\non_one_hand,0\nookami-kun,1\nt-kay,1\nbetween_cheeks,0\nmikeinel,1\ndoxxyl,1\nboard,0\nchibi-marrow,1\npokkén_tournament,3\nface_tentacles,0\nmacro_pred,0\nkkoart,1\nrise_of_the_guardians,3\ncoolryong,1\nmeru_(hhc),4\nvaried_multi_penis,0\nwrestling_outfit,0\ncosmic_wings,0\ndagger_leonelli,1\nstanding_on_another,0\nlunar_epitaph,1\nlichgirlart,1\nbee_haji,1\njoycon_controller,0\nsticker_pack,0\nscarabaeid,5\npaper_lantern,0\nbow_hothoof_(mlp),4\ngassy,0\nfishimira,1\nhuge_abs,0\noffering_condom,0\nfade_out,0\ninu-jean,1\nwhite_collar,0\nscratching_head,0\nholding_sheath,0\nnightmaremoons,1\nblue_spikes,0\nbagi_the_monster_of_mighty_nature,3\ncovertcanine,1\ncake_sitting,0\nfood_container,0\nradiantrealm,1\ntorterra,5\nnon_toxic_(oc),4\nmuddy,0\ntranslucent_dress,0\nsadcat16hrz,1\ndog_days,3\nbeauceron,5\nsly,0\ngintaro,4\naunt_and_nephew,0\nlizeron,4\nmarking_territory,0\nmallow_(hhc),4\ngreen_arms,0\ncrowbar,0\nglowsticking,0\ncranebear,1\nchimera_ant,5\nspeedpaint,0\neti_(utopianvee),4\nvf-01s,1\ncutout_heels,0\nfols,4\nseph_(naughtymorg),4\npesty_skillengton,1\nallesiathehedge,1\nholding_fork,0\nwii_fit_trainer,4\nmarkydaysaid,1\nmonotone_tuft,0\nfukurou_ya,1\nstesha_di,1\ncollarbone_piercing,0\nmylar_(discreet_user),4\ninkudoragoon,1\nsuperabsurd_res,7\nkermit_the_frog,4\nvertical_nipple_piercing,0\nbattycat,1\nlolo_(klonoa),4\nreef_shark,5\npyro29,4\nleaning_on_edge,0\nfootjob_while_masturbating,0\ncolor_partitioning,0\nmaya_(software),3\nidoodle2draw,1\nyamatoji201,1\nlonelycharart,1\noo_sebastian_oo,1\ngrumblepluck,1\nzamzi,1\npork,0\nhands_on_back,0\nsalonkitty,1\niguanamouth,1\nh-key,1\nferalsoren,1\ndouble_diamond_(mlp),4\na_fox_in_space,3\nhealingpit,1\ntrick,0\njames_mccloud,4\ncleaver_(weapon),0\nstained_clothing,0\nnerdmouse,1\namanda_(tcitw),4\ngashiboka,1\neparihser,1\nsoutarou_(morenatsu),4\nblood_on_penis,0\nteddy_jack,1\njlullaby,1\ntheo_young,1\nmanya,1\nvictoria_viper,1\nbreast_tuft,0\nanimal_plushie,0\nfather_of_the_pride,3\nhoratio_svetlana,1\ndenzel_t_smith_(character),4\nosira,4\ntsukinori,1\nfeeldoe,0\nbirthday_sex,0\nshopping_cart,0\nzenmigawa,1\nlobadelaluna,1\nclothing_down,0\nblade_(xenoblade),5\nsalt,0\ngonewiththefart,1\nssirrus,1\ncall_of_duty,3\nken_ashcorp,4\nstar_pattern,0\npetunia_(htf),4\nthe_walten_files,3\n4pcsset,1\nwen,1\nbottomless_gynomorph,0\nhutago,1\nnotesaver,1\npatacon,1\nthediscorded,1\ngold_tiara,0\ndark_hands,0\nbucky_oryx-antlerson,4\near_rub,0\nbisamon,1\nhorn_magic,0\nshun_imai_(odd_taxi),4\ngreen_exoskeleton,0\ntarian,1\ngoldmikun,1\npinocchio,3\nlute_(zinfyu),4\nnardoragon,5\njames_auvereign,4\nzak_(fvt),4\nmanfromearth,1\npat_(lapatte),4\nrattatatus78,1\nnightmare_bonnie_(fnaf),4\nred_coat,0\nflabbyotter,1\nwhitmaverick,1\ngrowth_sequence,0\nfixed_vibrator,0\nvondranart,1\nyellow_yoshi,5\nferris,1\nheavensdoor,1\nthe-butcher-x,1\nflinters_(character),4\nuniverse,0\nreinkorn,1\nnatasha_cat,1\nsoul_stealing,0\ngrostenmeiers,1\nlitterbox_comics,3\ngym_bag,0\nwaitress_uniform,0\npregnant_herm,0\nhate_sex,0\nsolardelton,1\ngary_(zootopia),4\nofuda,0\nklifflod,1\nwishbone_mouth,0\nyellow_scarf,0\nforced_rimming,0\nshwonky,1\n90sigma,1\nneayix,1\nshido-tara,1\nbrand,0\njay-r,1\nafter_exercise,0\nmetapod,5\nsera_(sera),4\nvoidtails,1\nsasha_la_fleur,4\ngiggles_(htf),4\ncharlie_barkin,4\nzal,4\ngang,0\norcfun,1\nkanizo,1\nmaid_hat,0\nfire_salamander_(salamander),5\nkinkypinkie,1\nlight_eyebrows,0\nsomeone's_pc,3\nkiddie_pool,0\nsparkling_background,0\nobijime,0\ndirty_anal,0\nimpximon,1\npetronoise,1\nmarvel_cinematic_universe,3\nboxing_gloves_only,0\nbig_flexor_carpi,0\nskippy,4\noatmealpecheneg,1\nreddo12340,1\nbycocket,0\nwitchking00,1\nwolfarion,1\nnullification,0\nteam_pose,0\nzyria,1\ndawnlux,1\ntaintedstar,1\nrevealing_clothes,0\ngamercat_(character),4\nkaiotawolf,1\nofficer_wolfard,4\nknotted_condom,0\nnuclear_throne,3\nangewomon,5\njeremy_fitzgerald,4\nname_in_internal_monologue,0\npenis_on_glass,0\nelectric_shock,0\nlucy_(hladilnik),4\nklenerschluchti,3\nhida,4\nudder_balls,0\ncum_inflated_breasts,0\nmonotone_paws,0\nthread,0\ntek_(tekandprieda),4\nrubbercat,5\nerect_nipples_under_clothes,0\nshokan,5\ngrey_armwear,0\nneltruin,1\nnedroid,1\neulipotyphlan_humanoid,5\nprimal_reversion,5\nburn_scar,0\nsnao,1\nsunni_gummi,4\nextraspecialzone,1\npasadena_o'possum,4\nbent_over_furniture,0\nmega_man_x_(series),3\nmixi_elkhound,4\nvyktor_dreygo,4\ngame_case,0\nseismitoad,5\nsuper_sentai,3\ncrushfang_(sdorica_sunset),4\ndildo_sitting_reveal,0\nposter_(object),0\ntsukune_minaga,1\nkitsunekotaro,1\nevlampyshka,1\nquagsire,5\npawtsun,1\nlewdreaper,1\ntan_exoskeleton,0\ngaming_while_penetrating,0\nrapid_pregnancy,0\nredwall,3\nleo_(whiteleo),4\nspread_slit,0\nfishnet_gloves,0\nkalie,4\ndouble_footjob,0\nsunflora,5\nneracoda,1\npink_panther,4\neye_mask,0\ndiana_(animal_crossing),4\nni_jikan,1\nvoluptuous_gynomorph,0\nsaturniid,5\nfnaf_vr_help_wanted,3\nsaryn_(warframe),4\nnull_symbol,0\nnight_creep,1\nintersex_symbol,0\ngun_arm,0\norf,1\nhuge_clitoris,0\ncondom_crusader,4\ndark_grey_fur,0\nthe_ballad_of_nessie,3\nyuguni_(character),4\nsharing,0\nexposed_chest,0\nthaz_(artist),1\nlantha,4\nchilling,0\nthaine,3\nbagi,4\n\"norithics_\"\"nori\"\"_kusemurai\",4\nblitzle,5\nglacierk,1\nlungless_salamander,5\nbrown_neck,0\ndaikitei,1\ncutlass,0\nhelaviskrew,1\nnicecream_man,4\nking_shark,4\ndj_bop,4\nfrench_artist,0\nrichard_(james_howard),4\nziina,4\ndodedo,1\ncheetah_(dc),4\n180_fov,7\ndaz_studio,3\nceiling_fan,0\nhoverrover,1\nlewnoli,1\nmd34,1\nreverse_wheelbarrow_position,0\nlexington_(gargoyles),4\nracf92,1\ngreen_paws,0\nbambookat,1\nparumpi,1\nhappylittlecloud,1\nboxers_only,0\ndark_topwear,0\ngato_matero,1\nrussel_(pickles-hyena),4\nsnowyfeline,1\ntails_doll,4\nholding_glasses,0\nshared_masturbator,0\nwolfgang_(animal_crossing),4\nthrottle_(bmfm),4\nkimero_kat,1\nmishakun,1\narm_on_shoulder,0\nskullfuck,0\ngrunt_(mass_effect),4\nradcanine,1\nlittle_witch_academia,3\nhospital_gown,0\nhand_under_chin,0\nparking_lot,0\nmaho-gato,4\nstormcutter,5\nd.w._read,4\nvikna_(fluff-kevlar),4\npokémon:_let's_go,3\nbrenna_jorunn,4\ncultist,0\nbebebebebe,1\nnikubo,1\nphess,1\nduck_hunt_duck,4\nmusic_player,0\npurple_legs,0\nricky945,1\nheadscissor,0\nthorny_devil,5\norange_headwear,0\nmetal_gear_rising:_revengeance,3\nmcyt,3\nfeatureless_arms,0\nstan_(beez),4\nbluekomadori,1\npublic_service_announcement,0\ndandoo,1\nwhite_exoskeleton,0\nbayonetta_(character),4\nfurrypur,1\nrakete,1\ndoggadee,1\nonigiri,0\nqupostuv35,1\nking_of_sorrow,4\ndarkmare,1\nachakura,1\nkera,4\nhildegard_rothschild,4\nmomamo,1\nnezumi_(magic:_the_gathering),5\nmarii5555,1\npurple_jacket,0\ntresertf,1\ndom_(naughtymorg),4\nsweaty_pussy,0\nhand_on_another's_waist,0\nanal_request,0\ngreen_shell,0\nfriday_the_13th,3\npokémon_snap,3\nhornbill,5\nfeces_on_face,0\nberalin,1\npolt_(monster_musume),4\nmythological_salamander,5\nkento267,1\nmorgan_gorgon,1\nzeeka,1\nevil_look,0\nholding_popsicle,0\ntogepi,5\nshiarah,1\nthatweirdguyjosh,1\ndirtyfox911911,1\nwhisk,0\njaylus_t_meowstic,1\njulia_brain,4\nrotor_the_walrus,4\nw'rose_radiuju,4\ntentacle_bulge,0\ntales_of_vesperia,3\nplains,0\nfrogadier,5\nsitting_backwards,0\njinx_(lol),4\navatar_material,0\nfilthyopossum,1\nhand_sign,0\nazurebolt,4\nhiding_erection,0\ntemtem,3\ncomputer_virus_(species),5\npanashe_(summon_night),4\nmetric_unit,0\npurple_butt,0\nhnz,1\ndarkmagic,1\nfin_frill,0\ntriplets,0\ncanyne_khai,1\nvovo,4\nlaudanumserum,1\nspirit_dancer,1\nlunamew,4\nfluffysnowmeow,1\nmagenta_scales,0\nruruduu,1\noddwilds,1\ntouching_own_thigh,0\ncalvin_(calvin_and_hobbes),4\nice_manipulation,0\nbackdraft,4\narbiter_(halo),4\nscottish,0\nscarecrow,0\nshakattax,3\nwolfyzeeb,1\nhitmontop,5\nthorso_the_vile,1\ngrey_panties,0\nloose_anus,0\nheart_after_signature,0\nturtle_penis,0\ngastrodon,5\nvalley,0\ncoszcatl,1\nfurikake,1\naestheticc-meme,1\npantheradraws,1\nseraphine_(roflfox),4\ncrema_(company),3\nmalon,4\nvikifox,1\nreptile_(mortal_kombat),4\norange_bandanna,0\nfeather_boa,0\nmacharius,4\ntramp,4\nelderly_anthro,0\nartoria_pendragon,4\nkogotsuchidark,1\nissun_(okami),4\nfoxinuhhbox,1\niabelle,1\nstarrffax,1\nequine_balls,0\ndonk,4\nwhite_scarf,0\nakamai,4\njetfrozen,1\nyimingsama,1\nwillisrisque,1\nfingerless_gloves_(marking),0\nlyrian,5\nvanripper,1\nrunt_(artist),1\nace_attorney,3\nmegawolf77,1\nmonotone_headwear,0\n2channel,3\ndrenmar,1\nfu_dog_(character),4\nwedge_(footwear),0\nrobot_arm,0\njoooji,1\nbadenov,1\nfannypacking,0\nsasquatch,5\nbonnie_bovine_(character),4\nsunshine_form_cherrim,5\nfried_egg,0\ngoatesque,1\nlucreteer,1\ntail_around_penis,0\nzorryn,1\nranphafranboise,1\ngame_avatar,0\nholding_down,0\nlofi,1\nfritz_the_cat,3\nanthro_on_male,0\ncetacean_humanoid,5\nsinna_roll,1\nnegasun,1\nduo_in_panel,0\nkatnay,1\negyptian_mau,5\nstylized,0\nitisjoidok,1\nkitsunebi_(artist),1\nmummy_wrappings,0\nodogaron,5\njam_(artist),1\nr-rova,1\ngynoidherring,1\nhumphrey_(canisfidelis),4\nmulti_tone_face,0\ntini_(grimart),4\nhead_on_chest,0\npechschwinge,1\nappmon_(species),5\npistol_pete,4\nspace_zin,1\nbinding,0\nsimisear,5\nticket,0\nsitting_on_glass,0\nlord_shen,4\nwriting_on_penis,0\nwarpaint,0\nwafu,4\nduskull,5\ncroxot,1\nrusteh_(sharkbum),4\ncromachina,1\ngerph,1\nreagan700,1\ndipper_pines,4\nrolling,0\nerection_under_shirt,0\nanimal_yokocho,3\nferal_penetrating_male,0\nsammy73,1\nunwanted_cum_on_body,0\nsuid_humanoid,5\nrysoka,4\nanimal_costume,0\ntattooed_arm,0\nselfie_stick,0\nwonder_boy:_the_dragon's_trap,3\ntinted_glasses,0\nbiidama,1\nred_(redishdragie),4\nmareanie,5\nalbatross,5\ncaressing_face,0\nmrshu,1\ngeorgia_lockheart,4\nprotagon,1\nsally_(scalie_schoolie),4\nunderchikichan,1\namit,1\nlion-san,4\nmohurin,1\nkreic,1\nanthro_top,0\nibex,5\nsoftailfox,1\nholding_neck,0\nsheila_(spyro),4\ncountershade_body,0\neyes_always_closed,0\ndra'essa,5\nai_only_dream,1\nspade,0\nhearthstone,3\nplayboy_outfit,0\nmisskari,4\nlight_markings,0\naccent,0\nvamplust,1\nowlowiscious_(mlp),4\nvileplume,5\nhamili,1\nstomak,4\npietro_(felino),4\nmichael_higgs,1\nbigcozyorca,1\nrave_raccoon,4\nunder_blanket,0\nominous,0\nspring_salamander,5\nbray_(kitfox-crimson),4\ndep,1\nhead_turn,0\nmilk_stream,0\nmulticolored_neckerchief,0\nwilford_wolf,4\nhumanoid_penetrating_feral,0\nflammie,5\ninvincible_(tv_series),3\nbroadway_(gargoyles),4\nerection_under_bottomwear,0\nsewing_needle,0\nstriped_pants,0\nlavender_body,0\nevangelyne,4\nblack_flesh,0\ndanny_phantom,3\nkrypto,4\ntwo_tone_handwear,0\nferris_argyle,4\nhorn_markings,0\nking_felix,4\nvateo,1\nmaleherm_penetrating,0\nfurryrex_(artist),1\nanthro_fingering_anthro,0\nxngfng95,1\nmagna_(armello),4\ngrabbing_object,0\nfree-opium,1\nbattletoads,3\nrinrin_(pokémon_gold_beta),5\nforearm_grab,0\nsilveredge,1\nbelly_lick,0\npeanut.k,1\nwriting_(disambiguation),-1\ndragonoid_(dark_souls),5\ntopwear_lift,0\ngreen_shadow,4\nzack_(thezackrabbit),4\nkel,4\nhark,1\njessimutt,1\npanthy,4\nmileena,4\nguppic,1\nstaro,1\novercoat,0\nfully_clothed_female,0\nzoop,4\nhand_on_torso,0\ncowboy_outfit,0\nsoul_vore,0\nshin_(mr-shin),4\neastern,0\nramul,1\ncacodemon,5\ncrt,0\ndock_piercing,0\n4_penises,0\norionsmaniac_(artist),1\nyellow_eyeshadow,0\ntropius,5\nlost_bet,0\netchgerbil,1\nmisterdonn,1\nevelynn_(lol),4\nsexual_contact,0\near_size_difference,0\nvalorlynz,1\ndomzywomzy,1\nfredina_(cally3d),4\nlenexwants,1\ntarget,0\nsuperbinario,1\nwereursid,5\npartran_(tiger),4\nfeline_sheath,0\nrorr,1\nhirothedragon,1\nsinshadowed,1\nmasemj,1\nmrease,1\njackie_chan_adventures,3\noldshep,1\nrat_bastard,1\nslyus,1\nsm0shy,1\never_oasis,3\nbedsheetwalking,1\nvampire_costume,0\nsoul_eater,3\nupscale,0\nvagoncho,1\ngemsbok,5\nty_(tygerdenoir),4\nxienoan,1\ntan_tuft,0\nonikuman,1\nhighguard,1\neyelash_fetish,0\ncock_warming,0\nfrye_(splatoon),4\nstaryu,5\nprint_hat,0\ncandid,0\nmexican,0\nplantigrade_to_digitigrade,0\npussy_juice_in_mouth,0\nwoolrool,1\ninvoluntary_penetration,0\ntadpole,5\nfood_censorship,0\nfupoo,1\ntext_on_jacket,0\nsasamix,1\nember_(spyro),4\nmexico,0\nmariah_wolves,4\nrainbow_six:_siege,3\nzoey_(brushfire),4\nrolf,4\nlight_tongue,0\ntitusw,1\nbaggy_topwear,0\nv2wolf,1\nkarelian_bear_dog,5\nsleepwear,0\nwriting_on_balls,0\ndr_zombie,1\ndogfu,1\ngreen_tank_top,0\nnightshade_(dragonofdarkness1992),4\nkaittycat,1\ntip_jar,0\ntojol,5\nshade_okami,1\ngold_nipples,0\ndrum_set,0\ncheesecrumbles,1\nnights_into_dreams,3\nsneakyphox,1\nknot_swelling,0\nsunil_nevla,4\ngrakata733,1\nwhite_robe,0\nalex_(beez),4\nthe_buzz_on_maggie,3\ncadpig,4\nshirota,4\ntomatocoup,1\ntucked_legs,0\nbrachiosaurid,5\ntotalgary,1\nthymilph,1\nfortune_teller,0\nnotched_shell,0\nholding_waist,0\nblackgatomon,5\ndugtrio,5\ntwixxel_minty,4\nrubber_lass,4\ncrumbles,1\ncirclejerk,0\nmammary_slits,0\ncommoddity,1\nnihilego,5\nred_robe,0\nwwaxyy,1\nmuscle_worship,0\ncofi_(chikn_nuggit),4\nphrannd,1\nblack_bikini_top,0\nelder,0\npenis_rope,0\nredradrebel,1\nbutton_(disambiguation),-1\nthetenk,1\nurine_drip,0\nelectronics,0\nanjuneko,1\nkingjaguar,1\nkusarikakemono,1\nbebop,4\nskunk_taur,5\nmephitid_taur,5\ndarkboss,1\ntridognait,1\nhand_on_own_head,0\ndripping_contour,0\nshirt_down,0\nunusual_saliva,0\nrag._(artist),1\ncreatures_of_the_night,3\nsamantha_(syronck01),4\ncats_n'_cameras,3\ngoro_(live-a-hero),4\ndandabar,1\ndaphne_blake,4\nkiyoshiro_higashimitarai,4\ntyelle_niko,1\nonihidden,1\nhitmonlee,5\nstrikethrough,0\ndirtybird,1\nmoomin,5\nshiike999,1\ndarkstylerz,1\norville_(animal_crossing),4\ndaveman1000,1\nloose_shirt,0\nmissebony,1\nbrock_(pokemon),4\ntangled_(disney),3\nbakukurara,1\nlowerkuo,1\nxbox_one,3\nmuns11,1\nrethex,4\nwerewolf_the_apocalypse,3\nwuffle_(webcomic),3\nwhite_heart_(oc),4\ndizzymilky,1\nzippysqrl,1\nsyldria,4\ntemptation,0\nmars_miner,4\npatch_(artist),1\nkindle_fae,4\nxatanlion,1\navian_taur,5\nblue_foreskin,0\nfather_dom_son_sub,0\nsyl_(enginetrap),4\ncaramelldansen,3\nraghan,1\nnuree_art,1\nholding_leg_up,0\nsinger,0\ndrider,5\nphone_screen,0\ndiablo,3\nevange,1\nshar_pei,5\nsarki_(character),4\ncontroller_on_ground,0\ncouatl,5\nmorphine_(artist),1\npachyderm,5\nslit_fingering,0\nlazuli_(doggod.va),4\nstepandy,1\nk_gutless,1\nflora,5\nmcsadat,1\nblahaj,4\nlupelongo,1\nflamez,1\ngoujuyu,1\ninprogress,1\nsteaming,0\namagi_brilliant_park,3\nzeitgeist,4\nblack_cape,0\nmoonfluffmf,1\nmulti_hand,0\nbastion_(overwatch),4\nnavel_fingering,0\nevil_coco,4\nhuka,1\npimp,0\nnekonny,1\nmalamol,1\ntranquilizer,0\nspider_monkey,5\nbundadingy,4\nspace_station,0\ndr._seuss,3\nlinuell,1\nxatu,5\nmackinn7,1\nmosin,1\nstretched,0\nbreke,4\nplaystation_button_symbol,0\nadult_on_teenager,0\nbear_hug,0\nstar_reaction,0\nshow_me_yours,0\ntabaarus,1\nbam_(animal_crossing),4\nholding_bow,0\ncynder_nightshadow,4\nwub_(artist),1\nwinter_sawsbuck,5\nsubmissive_top,0\nrepomorame,1\nmomentai,1\nrottytops,4\nstriped_sins,3\nkalk427,1\nchiquitita_(shining),4\ngex_(series),3\nglistening_bodily_fluids,0\nfroot_loops,3\nbaldric,0\nunchastity,0\nfour-pundo,1\npharaoh,0\nsquidward_tentacles,4\nkumbartha,1\nsoiling_underwear,0\ncorin,1\ndivenka,5\ngraphene,1\nusuario2_(artist),1\nbodily_fluids_drip,0\nkart,0\neyrich,1\npatterns,0\npleased,0\nherseio,1\ngunshot,0\nfebii,4\naeril_(helios),4\nchevrolet,3\npurple_man_(fnaf),4\nxu53r,1\nmercy_(goonie-san),4\ntouching_butt,0\nfraternity,0\nsem-l-grim,1\ncasting_couch,0\ninuki_zu,4\niwano,1\ntail-blazer,1\nbandaged_tail,0\nhuggablehusky,1\nimaginary_friend,5\ncolor_fox,1\npokémon_clover,3\nremilia_scarlet,4\nbroken_window,0\nwingding_eyes,0\npurinharumaki_karameru,1\nseptum_circular_barbell,0\naku,4\ntaur_penetrating_anthro,0\nleglet,0\nluz_noceda,4\n10:7,7\nslendid,1\nkalypso,4\nbunnymund,4\nwet_skin,0\ngenital_removal,0\ncarliabot,1\nsketch_background,0\ntranslucent_stockings,0\nthe_fairly_oddparents,3\nshark_tooth_necklace,0\ngolbat,5\njinash,1\nstriped_sweater,0\ngrey_lips,0\nhanadaiteol,1\nblazera,1\nbooth_(structure),0\ncovering_chest,0\nthe_grim_adventures_of_billy_and_mandy,3\ngraff_filsh,4\ncandy_humanoid,5\nmy_gym_partner's_a_monkey,3\nkoraru-san,1\nhaibet,1\nhumanoid_dominating_human,0\nskvader,5\nkuuko,4\nstriker_(helluva_boss),4\nzeta_the_echidna,4\ndinosaucers,3\nuperior,4\nfake_screenshot,0\ntanith,4\ncampfire_(buttocher),4\nlua_dos_dragoes,3\nnami_(lol),4\nkobayashi_(dragon_maid),4\npsyk323,1\nsaul_ashle,4\nincrediblecrocodile,1\nthetiedtigress,1\nidol,0\nsabel,4\nspotted_bow,0\nwinterfox,1\navi_(character),4\nastraldog,1\nsaru_gundan,1\nlunaflame,1\ngym_uniform,0\nshadarrius,1\nradiation,0\nbanana_peel,0\nhyper_problems,0\npenis_between_toes,0\nmona_lisa_(tmnt),4\nhitsunekun,1\nganba,4\njader,1\nbody_harness,0\nbright_mac_(mlp),4\norange_yoshi,5\nmrs._hudson,4\nrainier_(rain-yatsu),4\nryuukikeito,1\nwrestling_briefs,0\nukulele,0\nred_arms,0\nbizymouse,1\nsten_fletcher,4\nneash,1\nflandre_scarlet,4\nautumn_leaves,0\nnarikusha,1\nsafety_pin,0\ndark_humor,0\nh3nger,1\nhobbsmeerkat,1\nmagic_lamp,0\npinheadchains,1\ncurled_fingers,0\noxynard,4\nzixiong,1\nsweet_voltage,4\ncommon_pigeon,5\nbakery,0\nsame_evolution_group,0\nleaf_on_head,0\nquibble_pants_(mlp),4\nbrown_underwear,0\nramphastos,5\npokémon_go_trainer,4\ndovahkiin,4\nblack_heart,0\nashimaroo,1\nshadow_blue_(cloppermania),4\nsoldier_(team_fortress_2),4\ncuccokingu,1\ngabrielle_(legend_of_queen_opala),4\nfrooby,1\nstorm_the_albatross,4\nrustyclawshot,1\nfalconry_hood,0\narchery_(artist),1\ntomek1000,1\nlori_meyers,4\nandre_vazzios,1\nslugsdog,1\nawaldkize,1\npink_perineum,0\nmulti_tone_clothing,0\nfainting,0\nhourglass_(object),0\noiled,0\njohnny_(sing),4\n9:21,7\nzuthal,4\nstar_(marking),0\nholding_up,0\nhexanne,1\nengineer,0\ndragoon,0\nrokuyon,1\nmagolor,4\nsheepuppy,1\nsliggoo,5\npurple_bow,0\ncum_on_panties,0\nmidnight_blue,1\ncracked,0\nwendel_fragoso,1\nsinribbons,1\nloque,1\ngreen_dildo,0\ntrout_(character),4\ndragapult,5\nriddleaugust,1\noriginal_character_do_not_steal,3\nfelin,5\ndark_scales,0\ncreamygrapes,1\nafrometalmizu,1\ns.t.a.l.k.e.r.,3\ndisney_parks,3\nshellyochunks,1\nphantasma_(ghoul_school),4\nforced_impregnation,0\nzeamaeri,1\nyamagah,1\nsmashmat,1\ndeerrobin,1\nchevron_(marking),0\nback_alley,0\ndemino_(deminothedragon),4\nbuzzwole,5\nmittens_(bolt),4\ntsubasa1110,1\npurple_kerchief,0\nexclamation,0\nwar_paint,0\ncolored_line_art,7\ncream_(miu),4\nottahz,1\ncheek_lick,0\nheart_eye_patch,0\nlemmy_(lemmy_niscuit),4\ncollegehumor,3\nrexwind,1\nstunbun,4\nrajirra,4\nflotation_device,0\nshovel_knight,3\ncloud_strife,4\nback_hair,0\ngrumpyfloof,1\nrisuou,1\nhole_(disambiguation),-1\nes74,1\nbake_gosut,1\nyordraw,1\nbin_(artist),1\ncrotchless_pants,0\nperuanoart,1\nrobin_raccoon,4\ncrocodilian_penis,0\nsailing_boat,0\nstop_sign,0\ntwitch.tv,3\nspotted_shoulders,0\npants_only,0\narucarrd,1\nmanspreading,0\nblack_whiskers,0\nfeardakez,1\nroksim,1\ntentacles_around_legs,0\nkineceleran,5\non_ice_(artist),1\nbbsartboutique,1\ntracy_(sailoranna),4\nblue_blood,0\non_haunches,0\nrabbit_shopkeeper,4\niceeye_ena,1\nolive_(fruit),0\nhalotroll,1\nexplanation,0\npawsmasher,1\nkida_howlette,1\nneedsmorefuta,1\nsupervised_sex,0\nbackstage,0\nhorrified,0\ndinosaurs_(series),3\nliving_underwear,0\nwasha,1\ntogetic,5\ntarot_(housepets!),4\nsrriz_adventure,3\nwintermadness,1\nnibhaaz,1\neducational,0\ncerberus_conjoinment,0\n100racs,1\nlong_eyebrows,0\nartsenravenbrave,1\nshina_(daigo),4\neugeniy_g,4\nfrilly_apron,0\nmedicinal_succ,1\npubic_fuzz,0\ngurochanop,1\ncerf,1\nzawn,1\nignatius_husky,1\ntrunk_play,0\ncosmicscourge,1\nace_of_spades,0\nparasprite_(mlp),5\nrantan_chan,1\nheron,5\nblueberry_inflation,0\nremarkably_average,1\niyo,4\noverheated,0\nd-lowell,1\ntehweenus,1\nankylosaurid,5\nsugaryviolet,1\nmcarson,1\nday_of_the_dead,3\nget,0\nthe_last_of_us,3\ndustyerror,1\nadrian_iliovici,4\ndamaged_wall,0\ne621_post_recursion,7\nkas20241013,1\nsige,4\nsteeckykees,1\nkhiara_(personalami),4\ncrushpepper,1\nlemur2003_(artist),1\nnight_guard_(mlp),4\ntsukudani_(coke-buta),1\nconcupisco,1\nhoney_(zootopia),4\nfugtrup,1\nalolan_exeggutor,5\nmatatabi_movie_labo,3\ncosmonaut,1\ngex_the_gecko,4\nvalentines_day_card,0\npetitecat,1\nzutheskunk,1\ndunstanmarshall,1\nblack_seam_underwear,0\nlemonade,0\npresenting_bulge,0\njwolfsky,1\nlarovin,4\ndocwario,1\nduel,0\npurple_membrane,0\nkid_vs._kat,3\nshewiff,1\nsummer_(jwinkz),4\nbow_underwear,0\nwing_spikes,0\nclothes_on_floor,0\ngreywolf_blacksock,4\nmushu_(disney),4\narc_rose,1\nking_(housepets!),4\ninspector_gadget_(franchise),3\nbutt_in_face,0\nnihilophant,1\nket-ralus,1\nbiting_own_tongue,0\nzoidberg656art,1\nscale_eyebrows,0\nfran_(litterbox_comics),4\npurple_glasses,0\nrepede,4\ngeno_sans_(aftertale),4\ncasual_incest,0\nmarchosias_(tas),4\nmarsel-defender,1\nxander_the_blue,4\nmcdave19,1\ncrimetxt,1\ndemon's_crest,3\nimminent_pain,0\ndmitrys,1\nunousaya,1\nsv_grart,1\ntight_dress,0\njurassiczalar,1\nburied_penis,0\nfloating_island,0\neruca,1\nfanned_tail_tip,0\ntrouble_(series),3\ngrey_collar,0\nmuhny,1\nlady-darkstreak,1\nbright_colors,0\nzidane_tribal,4\ncolty8,1\ntranslucent_censor_bar,0\nmaria_robotnik,4\ngrubbs_(stinkyawei),1\nbackseat,0\nkarma_faye,4\ncloudy_sky,0\nkonosuba:_god's_blessing_on_this_wonderful_world!,3\nusing_wings,0\ninterrupted_orgasm,0\ncyborg-steve,1\ngreen_socks,0\ngrey_eyewear,0\nlocal_cannibal,1\nderangedrake,1\npepperoni,0\ngyu_hydrogen,1\nfood_bowl,0\nmedicine,0\ngay_to_straight,0\nrarity_(eg),4\ncum_on_snout,0\nmolly_(angstrom),4\nalolan_marowak,5\nraver,0\nhachi_duchi,1\nchemical,0\ntisinrei,1\nironkongstudios,1\nportal_gun,0\nrodan_(toho),4\njacktor,5\nyuudai,1\namelia_steelheart,4\nthe_knight,1\nfernut,1\ntachimi,1\ntan_shorts,0\nsinistereternity,1\nbreeding_season,3\nsilentpassion,1\nsteve_(minecraft),4\nmr_valentine00,1\nbryce_daeless,4\nlaefa_padlo,4\naoki6311,1\npub,0\nnameless_character,4\nriding_toy,0\nludwig_bullworth_jackson_(copyright),3\nkulza,4\nbondage_pants,0\nd-ring,0\nbanbanji,1\nfloral_background,0\nholding_vibrator,0\nblu_(rio),4\ntwilight_scepter_(mlp),4\nbuddy_thunderstruck_(character),4\nsaneaz,1\nveiny_tentacles,0\ntranslucent_body_parts,0\nnessa_(pokemon),4\npippuri,1\nwitchtaunter,1\nmomosukida,1\nraizinndx,1\ngarret_mvahd_(oc),4\nchocolate_milk,0\nrocket_knight_adventures,3\nuncomfortable_pose,0\nstacey_(ews),4\ngrey_toes,0\norange_shoes,0\nspitz_(warioware),4\nanus_focus,0\nzazush_(zazush-una),4\niqua_kicks,4\npor_furryart,1\npecan_(animal_crossing),4\nbutt_to_cheek,0\nrohgen,1\nsarah_kerrigan,4\ntrollface,0\nyiffy1234,1\ntaji_amatsukaze,4\njaxneesen,1\nstephie_(fraydia1),4\nminakamin90,1\ntwo_tone_chest,0\ngondar_the_bounty_hunter,4\nreporter,0\ndirty.paws,1\novipositor_penis,0\nlindaroze_(artist),1\nhigoro,1\nmermaid_tail,0\nuseless_clothing,0\nfaeki_(character),4\nyellow_arms,0\nsteel_tigerwolf,1\npurple_sweater,0\nhioshiru_(character),4\nsnow_creature,5\nsandalf,4\nvincher,1\ncheetah_humanoid,5\nrhyperior,5\nnekoforest,1\nvellum,1\nirregular_speech_bubble,0\nsweet_lolita,0\nfoxxx321,1\neyemask,0\nhypergal,1\nsecret_squirrel_show,3\nruby_rustfeather_(nakuk),4\nmegawaffle_(artist),1\nshirtless_anthro,0\nmaxima,1\ns-purple,1\nsydney_swamp_(vimhomeless),4\nc1-11131,1\nbokonus,1\nalpha_rain,1\njambalayathepit,1\ninuryu,1\nwolf's_rain,3\ndruids_the_comic,3\nrocco_(zoohomme),4\ndead_space,3\nrabbid_peach,4\njessica_vega,4\nrusheloc,1\nbox_chan,1\nnaughty_cube,1\nmarukomuru,1\nkobold_princess,4\nlucas_(fuze),4\nurine_in_pussy,0\nclue_(artist),1\nbulging_eyes,0\njamie_the_oryx,4\nhardscales,1\nseabed,0\natmosseven,1\nmachati-sama,1\nhybernation,1\nhead_down_ass_up,0\ngreasyhyena,1\nsickle,0\nhereford_cattle,5\nliechi,1\nxxtheoneguyxx,1\nprisma6,1\nholding_box,0\nmaplemoon,1\naluminemsiren,1\nalfa_quinto_(artist),1\ntweedabop,1\nlore,0\nboastudio,1\ncurvy_female,0\ncleats,0\noyatsu,1\npurrr-evil,1\nhuman_penetrating_taur,0\nmagolobo,1\ngreen_lantern_(series),3\nzenocoyote_(oc),4\ndrakemohkami,1\nracoon-kun,1\nhat_band,0\nmoonlightdrive,1\nfreckles_on_shoulders,0\nsitting_table_lotus,0\npolunoch,1\natago_(azur_lane),4\npride_color_shirt,0\nrocket_grunt_(artist),1\ntantalog_text,7\ndarkmon_(ryodramon),4\njoziododoi,1\ntaki_kaze,1\naku_aku,4\npearl_krabs,4\ncreative_censorship,0\ngreen_teeth,0\ncdv,1\ntentacle_suspension,0\nhelmeet_el_gato,1\ntracy_porter,4\ndelivery_bear_service,3\nmti777,1\nmammal/reptile,0\nokithau,1\ndraconicmentalist,1\ncenny,4\nfoxyverse,3\nrelationship,0\nrip_k,1\ncanis3,1\ntygerdenoir,3\nsheer_(artist),1\nholding_bottomwear,0\nblur_(disambiguation),-1\npak009,1\nracism,0\ngreatm8sfm,1\npawprint_tattoo,0\nmaggie_pesky,4\ngryn_vs,1\nsabertooth_(disambiguation),-1\nfrusha,1\nblue_heels,0\nprecum_on_balls,0\nspearow,5\nlily_(mlp),4\npoké_puff,0\nklaus_doberman_(character),4\nlokidragon87,1\nyildunstar,1\nbau_husky,4\nhaku_(spirited_away),4\nyellow_shorts,0\ngendomx,1\nbillboi,1\nelvia,4\nfront-tie_bikini,0\ncaptain,0\nscott_cawthon,3\nmottled_skin,0\nyellow_lipstick,0\nmaarthul,1\npull_ups,0\nappletun,5\nsam_(changing_fates),4\npokeandpenetrate,1\npink_pants,0\nexwolf85,1\nholding_hammer,0\ndishes,0\ntwilightchroma,1\npokesiimii,1\nring_(sonic),0\nyukikazefactory,1\n0ottotto0,1\nwhitefeathersrain,1\nfather's_day,3\nchica_(cally3d),4\nunderbutt,0\nshire,5\ndoublescale,1\nbeing_held,0\nzestibone,1\namon_(rukis),4\nvioletechoes,1\nscuzzyfox,1\njack_(tcitw),4\nclitoral_sucking,0\nurine_on_breasts,0\nrunning_shoes,0\ntusk_(fuschiafire),4\npon_(pixiv),1\nears_through_headwear,0\nholding_vegetable,0\npoipole,5\ndunsparce,5\ndosanco15,1\nslates1n,1\nshyloc,4\nbananaramasama,1\nindex_to_index,0\nsexist_slur,0\ncroisshark,1\nkenai,4\nhuman_pred,0\nrimming_request,0\nchloe_shiwulf,4\nticl,1\nmelissa_morgan,4\nbasil_(mikrogoat),4\npurple_hooves,0\nsternocleidomastoid,0\nscp-956,4\nlabbit1337,1\nthumbless,0\nshadow_queen,4\nthe_lord_of_the_rings,3\nreiger,1\nariados,5\nlivesinabag,1\nfey,5\nswimming_fins,0\ndrakk_art,1\nfaceplant,0\ntentacool,5\nsaliva_on_foot,0\ngroceries,0\ncommander_(commanderthings),4\nwaylon_(thecosmicwolf33),4\ndsp2003,1\nduase,1\nryou,1\nparasect,5\nthe_complex_adventures_of_eddie_puss,3\npunkydreamer,1\ncurrentlytr_ash,1\nbodyguard,0\n2_tongues,0\nlong_(wish_dragon),4\nheart_choker,0\nyellow_tuft,0\nblathers_(animal_crossing),4\npseudo_horn,0\novopack,1\nloree,4\nwish_dragon,3\nwrapping,0\nred_headband,0\npaige_(artist),1\ncircular_barbell_piercing,0\ncum_in_panties,0\ndark_footwear,0\ntrogan,1\nzebra_dad_(hladilnik),4\nstealth,0\ngoolee,1\nfleeing,0\ninterview,0\ntrance,0\ndark_wings,0\npaw_on_head,0\ncrack_ship,0\nthea_sisters,3\nmongo_bongo,1\ndouble_arm_grab,0\ncorelle-vairel,1\nplanet_destruction,0\nyaojou,4\nredeye,1\naardman_animations,3\ndarius_davis,4\npedestal,0\njocarra,1\ncardcaptor_sakura,3\nharem_girl,0\nentaros_(character),4\nthrust_lines,0\nspurting,0\nmonotone_skirt,0\nnastynatalie,1\nmastertrucker,4\nfairy_dust,0\ngreen_fingernails,0\nzoological_gardens,0\ndark_stripes,0\nreis,4\ntan_tail_tip,0\nom_nom_nom,0\nfoxnick12,1\nstaggard,1\nfoot_on_leg,0\ncross_eye_stereogram,7\nsplit_screen,0\nrust,0\nvonderdevil,1\nbottlenose_dolphin,5\ncolossalstars,1\nbrawlhalla,3\njin_(artist),1\ndarwin_(tinydeerguy),4\nstaggeredline,1\nbalddumborat,1\ndance_floor,0\ndamaged,0\nnakagami_takashi,1\nhive,0\nsting,0\nblx24,1\npokéshaming,0\nblackjack_(pinkbutterfree),4\nheel_tuft,0\ntongue_in_pussy,0\nkevin_(ac_stuart),4\naotoaka,1\naudiophilekitsune,1\ncum_in_urethra,0\nshirosaru,1\nblazbaros,1\nlooking_up_at_viewer,0\nkirby_64:_the_crystal_shards,3\nhot_air_balloon,0\ndarkarlett,1\ngakujo,1\nzorse,5\nred_tattoo,0\ngag_mask,0\nda_vinci_(101_dalmatians),4\njar_jar_binks,4\nrobotic_leg,0\ntaxicab,0\ncowl,0\nwazzaldorp,1\nkeyhole,0\nmintyspirit,1\njuicydemon,1\nbonkers_d._bobcat,4\nstrike_witches,3\nkeenie_(helluva_boss),4\nfurious_(artist),1\ntwunk,0\namione,4\nbilliard_ball,0\nflapcats,1\nrygel_spkb,1\nsockiepuppetry,1\ndepressing,0\negg_play,0\nfoot_on_butt,0\nmostazathy,1\nangry_expression,0\nbrother/brother,0\njay_(sqoon),4\nmedieval_clothing,0\nmacaque,5\nshane_nelson,1\nbimbofied,0\npipa_(kitfox-crimson),4\nwinter_clothing,0\nsleepingpowder,1\npornwhal,1\napocheck13,1\ntofu_froth,1\ncobblestone,0\nsakura_d_lyall,4\nfrankenstein,4\noutline_speech_bubble,0\ntentacle_around_wrist,0\ndevious,0\npetpolaris,1\nsrrizadventurer,1\ncadbury_bunny,4\njinu_(character),4\nforniphilia,0\nkevin_snowpaw,4\nm@rt,1\nchupacabra,5\nfuckboy,4\nbar_counter,0\npyc-art,1\nhyndrim,4\ninktober_2020,3\nfurries_with_pets,0\ncrotch_attack,0\nty_the_tasmanian_tiger_(series),3\nlipstick_on_anus,0\naycee,1\ndatabase_error_(twokinds),4\nplap_(sound),0\nyukaran_nosuke,1\nhot_drink,0\nchirasul,1\nrathmutatio,1\narrow_pointing_to_crotch,0\nzandar's_saga,3\nc-puff,1\nali_valencia_(dominus),4\nvriska_serket,4\nmega_rayquaza,5\nhoney_bee,5\nswimwear_theft,0\nblack_mage,5\nbelly_dancer_outfit,0\norange_fingers,0\ndiaminerre,1\nbumpywish,1\nrangarig_rex,4\nwhite_mage,4\ndarkriallet,1\ndarnell_(buddy_thunderstruck),4\ntied_to_pole,0\nnurse_(silent_hill),5\nraticate,5\nred_hands,0\nprecum_on_hand,0\nfacing_each_other,0\ncarriage,0\nsweets,0\ngrey_sweater,0\nanal_musk,0\ncharmerpie,1\nlion-o,4\nadmiring,0\ncrotch_apron,0\nshredded_wheat,1\nicedev,1\nrainbow_text,0\nthievul,5\nmechogama,1\neugeniyburnt_(character),4\nnimushka,1\nsin_bruh,1\nkaz_mercais,4\nmetal-renamon,1\nin_denial,0\nbooboo34,1\ncuddlebutt,1\nceiling_lights,0\ndinosaur_(google_chrome),4\nhickeybickeyboo,1\narm_cuffs,0\nbonneter,5\nmuhut,1\nsonic3,1\nwilliam_afton_(fnaf),4\nlightly-san,1\nbrazil,0\nrena_ayama,1\nafrican,0\neebahdeebah,1\nakella-yukami,1\nfelicer,1\ndalagar,1\nboon_(vimhomeless),4\nrace,0\ntouching_tips,0\nhawkmon,5\nteam_penny,1\nraccoon_penis,0\nsorrel,4\n3d_glasses,0\npectoral_(jewelry),0\nlarry_(zootopia),4\nredras_shoru,1\norange_perineum,0\nepileptic_goat,1\nballs_slip,0\nxeshaire,1\nwulfer-shepherd,1\nguntz,4\nhula_hoop,0\narchaeopteryx,5\njohnny_bravo_(series),3\nzipper_topwear,0\niii_oridas_iii,1\npheromone_breathing,0\nowl_humanoid,5\ncarol_(hladilnik),4\natomic_cat,1\npupils_only,0\nmars_incorporated,3\nname_stutter,0\nslutty_clothing,0\naeon_calcos,4\nsora_(trias),4\nthisnameistaken,1\nlegs_out_of_water,0\nsatan,4\ntigger,4\ncheezborger_(chikn_nuggit),4\nmegfluff,1\nbeastmilk,1\nthemongrel,1\nlaced_boots,0\nosamu_tanaka,4\nyo-yo,0\nkeith_(tcitw),4\ngrey_pupils,0\nnamygaga,1\ncombatraccoon,1\nportrait_(object),0\ndynamitegrizzly_(artist),1\nsam_(pink),4\ncramorant,5\nshirteater18,3\nupai,1\nhockey_stick,0\npointy_breasts,0\npussy_on_glass,0\ndrinking_milk,0\nacky05,1\nlingerie_on_feral,0\nwitchfiend,1\nvenom,0\npig_humanoid,5\nshantae:_half-genie_hero,3\ndossun,1\nmaypul_syrup,1\nankle_wraps,0\nsukimi_(hataraki),4\npainted_butt,0\naffectionate,0\ngradient_body,0\npractice_sword,0\nmisericorde,1\nmolly_(koyote),4\ndanger_mouse_(series),3\nricocake,1\nsherilane,1\ncaitlyn_(swordfox),4\npal_(gym_pals),4\nhair_up,0\nearthclan3d,1\nslipperycupcake,1\naltharch,3\nsogaya,1\narabatos,1\nhammytoy,1\nresasuke,4\npiper_(tcitw),4\nforl_(thepatchedragon),4\ncirrel,1\ncyber_(disambiguation),0\nhelbaa_(smutbooru),4\nblue_pubes,0\nprofessor_starflare_(metal),4\nkaren_taverndatter,4\nhanging_belly,0\nmayonnaise,0\nseelnose,1\ndr._chaos,1\nlakitu,5\npinned_to_ground,0\nentwined_fingers,0\nsophiathedragon,1\nprint_container,0\ngrey_tank_top,0\nursso_(artist),1\ngeo_(pechallai),4\npachycephalosaurid,5\nshikoyote,1\neileen_roberts,4\nig,1\nneo_geppetto,1\nleliel,4\ncoffekitten,1\ndodudoru,1\nthe_hobbit,3\nloonertick,1\nblitz_(road_rovers),4\ngrey_wolf_(kemono_friends),4\nlilith_clawthorne,4\neqlipse_(artist),1\nbrachiosaurus,5\nmuzzle_grab,0\ndominate_(artist),1\ntrashtikko,1\neiffel_tower,0\ninno-sjoa,1\nnightmaren,5\ntoonarscontent,1\nresisting,0\nrag_doll_(toy),0\ncaptain_falcon,4\npurple_spikes,0\noofrowdy,1\nrock-a-doodle,3\nhorde,0\naponty,1\nhuggles,4\ndiscovery_channel,3\nspotted_accessory,0\ngaster_blaster,4\ndibujosv12,1\nnote_pad,0\nsmall_areola,0\nankh_necklace,0\ntairu,4\nkemosara,1\nteal_nose,0\nturnout_gear,0\nkayla_kitsune,4\nplatform,0\nmolly_(slightlysimian),4\nhusdingo,1\nhangar,0\nbella_(gasaraki2007),4\nfreddie_(gundam_build_divers_re:rise),4\nbns_arts,1\ndexter's_laboratory,3\nbovine_ears,0\nsmoking_cigarette,0\npeaches_(miu),4\nluna_(sailor_moon),4\nmiokomata,1\nrough_(disambiguation),-1\ntoy_story,3\ncolonelyobo,1\nlimb_growth,0\nrainbow_footwear,0\nkite,0\nrainbow_mane,0\nperpleon,1\njuxzebra,1\nworld_cup,0\ncoywolf,5\nthe_angry_beavers,3\nsteve_jovonovich,4\ngard3r,1\nloincloth_only,0\nobject_ingestion,0\ngrawlixes,0\nhekar,4\nblackmailz,1\njack_hyperfreak_(hyperfreak666),4\nfumikage_tokoyami,4\ngoo_(disambiguation),-1\nflirtatious,0\nloneliestbara,1\nko-fi,3\nghangaji,1\nseiya_(saku1saya),4\npokkuti,1\nmetalowl,1\nsanta_suit,0\nmagzol,1\nwrist_guards,0\neldingo_(artist),1\nmezcal_(artist),1\naquas_sirenix,1\ntail_bracelet,0\npurple_socks,0\nbaltnwolf_(artist),1\ndead_by_daylight,3\nphilomena_(mlp),4\nksaiden,1\ndeadmimicked,1\nfart_in_mouth,0\nnativefall,1\ntabirs,1\nforced_fellatio,0\nelchilenito,1\naaaaaaaaaaa,0\nkitsunepurin,1\ntom_clancy's_(series),3\nfranchesca_(garasaki),4\nzieis,1\nsilgiriya_mantsugosi,1\npink_jacket,0\noppai_heart,0\nfenixdust,1\nglass_door,0\nlittle_hareboy,1\nnamarx7,1\noctoboy,1\nlunlunfox_(character),4\nzazu,4\njohndoe1970,1\nguilmonboy,3\nnectrid,5\nharpy_eagle,5\nparachute,0\nanal_squirt,0\nt'au_(warhammer),5\nsmack,0\nrmtwo,1\ndragon_night800,1\nedis_krad,1\npolecat_(mustelid),5\ntransformation_by_substance,0\ntaffy_(las_lindas),4\nrexx_(artist),1\nesther_(rinkai),4\nandy_porter,4\njammiez,1\nhorn_bow,0\nvolkokot,1\nunistar,1\nspace_station_13,3\npyramid_head_(silent_hill),4\nlillia_(lol),4\ntewi_inaba,4\ndaigo_(character),4\nnipple_tassels,0\nheart_font_signature,0\nroy_(beez),4\ngeneral_proton,1\nfenrir_osbone,1\ntitan,5\nkeychain,0\nomunikin,1\ndiplocaulus,5\ndagapuff,1\ntwin_clothing_bows,0\nbantha,1\npanties_around_ankles,0\nredrabbu,1\nvalcron,1\neric_vaughan,4\nprimitive_dog,5\nyellow_eyewear,0\nskoon_(character),4\ncracked_wall,0\nsilvarus,1\nflowerpigeon73,1\nfenn.perrox,1\nwolter_(weaver),4\ndarkenstardragon,1\nblaketheflareon,1\npizza_slice,0\nsirfetch'd,5\nwhislash_(arknights),4\nunder_clothes,0\nblue_seam_briefs,0\nlykranic_studios,3\nbox_(hajimeyou654),1\nalolan_persian,5\nrainbow_socks,0\nyellow_hooves,0\nlucas_raymond,4\nbiting_clothing,0\npurple_paws,0\ndaryabler,1\nmightycock_(artist),1\nabsa,4\nschnecken,1\nbarnaby_kane,4\nchris_mckinley,1\neatmybuns,1\nsophring_jie,4\nspamton_g._spamton,4\nlying_on_table,0\nspiked_wristband,0\nthick_fur,0\nralena/ralaku,4\ndaena,4\nmessy_room,0\ntsurugi,1\nmarcodile,1\ntail_around_waist,0\nmichelle_(hladilnik),4\nkansyr,1\ncybercorn_entropic,1\nmilking_table,0\nauntie_vixen,4\nzapor666,1\nmulti_hair_tones,0\narofatamahn,1\nwererodent,5\npuapka,1\nomegaozone,1\nimminent_bestiality,0\nexpressionless,0\naquest,1\nzach_snowfox,4\nking_adelaide,4\nbroken_legs,0\nask_jappleack,0\nkoopa_clown_car,0\nsnow_leopard_humanoid,5\n5_claws,0\nmulti_breast_growth,0\ninsomni,4\ngiant_anteater,5\nalolan_sandslash,5\nhunter_(road_rovers),4\namber_steel,4\nalien_abduction,0\nhyper_dildo,0\ndarkskye_(artist),1\nfizzy-dog,1\nwhite_thigh_socks,0\nvegeta,4\nchobonolly,1\nnaahva,1\nbarbed_dildo,0\nema_npr,1\nred_hood,0\npelecaniform_humanoid,5\nice_skates,0\nvictorian,0\nplastic_bag,0\nskyfifer,1\nmotivational_poster,0\ntwo_tone_armwear,0\nsoria,4\nacino_(artist),1\ndamage_numbers,0\nfuzzies4you,1\nsaesar,1\nbrendancorris,1\ntorn_socks,0\nzachc,1\nkorone_inugami,4\nfanfic_art,0\nx-celebril-x,1\nball_smother,0\nfemale_fingered,0\nwhat_the_hart_wants,3\nyoko_darkpaw,1\nghoskee,1\nunderwear_in_mouth,0\nmuscle_shirt,0\ngrandall_(artist),1\nambient_fly,5\nbonnie_(cally3d),4\ngirdle,0\nthecaptainteddy,1\nstereo,0\nruddyrzaq,1\nballora_(fnafsl),4\ninsaneeighteen,1\nkuromaru,4\ntoffee_(svtfoe),4\njacato,1\neddiew,1\nkianara,1\nchromaskunk,1\nnippleless,0\nmega_houndoom,5\nswatcher,1\naustrum,1\nvex_(donryu),4\nchiu,4\nreginald_(nedroid),4\ntarke,4\nmarylin_(hladilnik),4\nchibity,1\nlilotte,4\nmaster/pet,0\ntempestus_vulpis,1\ncrotch_focus,0\nahegaokami,1\nphotocopier,0\ndotty_(animal_crossing),4\nadelgund,4\ngrey_sky,0\nthe_purple_wolf_guy,1\nwind_lift,0\nzanzagen,1\nshort_pants,0\ndonya,1\nprurientpie,1\ndakkpasserida,1\ncum_while_flaccid,0\norange_cum,0\nuhmsprs,1\nopen_window,0\nxbox_console,0\nfishnet_shirt,0\npongo,4\navian_demon,5\nfluttershy_(eg),4\nharuto_arashiki,4\narm_around_partner,0\nral,4\nazuraracon,1\nskirt_pull,0\nm0n1e,1\nspider-gwen,4\ncondom_skirt,0\nnightcrawler,4\nnuka-cola,0\nhellsing,3\nbabe_bunyan,4\nzero_one,4\nnamu_gunsou,1\nketei,1\nlava_creature,5\nslightly_muscular,0\nthe_joker,4\nwuffle,4\nracoe,1\nallagar,1\nchocolate_sauce,0\nlovelysquishythings,1\nblue_outline,0\nbastian_(leobo),4\nmage_(final_fantasy),4\ngalgard,1\nrei_vagan,1\nraziel_(caelum_sky),4\nkuromu,1\ntheenyface,1\n2_anuses,0\npossumpecker,1\nnipple_orgasm,0\nmataknight,1\nthompson_gun,0\non_stool,0\nplatemail,0\nmonotone_armwear,0\natari,3\nheart_in_mouth,0\nhuge_head,0\nscalie_taur,5\ntaser,0\npinky_(warner_brothers),4\neklund_daily_life_in_a_royal_family,3\nsatire,0\nmarshaxmarshmallow,1\njailbait_knight,1\nintestinal_bulge,0\namazinky,1\nrover_(mlp),4\ntotoro,4\nferalcatalyst,1\nwell,0\nsnakedakyoot,1\nmosquito,5\nshizuru,1\npastel_(artwork),7\nvector-brony,1\nlangdon_marston,4\npester,1\naggrobadger,1\nanjanath,5\ncrater,0\nrubber_body,0\nblack_neck,0\ncarrying_person,0\npop_out_cake,0\nmonkey_tail,0\nregurgitation,0\nliving_costume,5\nmiramint,1\ncoonix,4\n?_block,0\naiushtha_the_enchantress,4\ngoop,0\ntracey_(ews),4\nslave_market,0\nconsole_on_ground,0\nred_high_heels,0\nshaggy_hair,0\njupiter_europe,1\nsadbitch,1\nshockstk,1\nmitokep,1\npiebunny,1\nsolar-slash,1\ndeeja,4\ncat_demon,5\nzephra,1\npattern_gloves,0\ndisembodied_eyes,0\nvine_whip,0\nsorceress_(dragon's_crown),4\ncate_wurtz,1\nhthfp,1\nsteven_quartz_universe,4\nbad_dragon_dildo,0\nryūko_matoi,4\nkiliankuro,1\ngabe_(mytigertail),4\ngrid_background,0\nheat_(lilo_and_stitch),4\ndark_feathers,0\ncrab_walk,0\ngokhan16,1\ncaramel-kitteh,1\nflame-lonewolf,1\nsblueicecream,1\nsentret,5\nsweat_stain,0\ntext_on_sweater,0\nend_table,0\namalgamate,5\nkitty_(kimba),4\ncard_hand,0\ncontraption_concept,0\nnatalie_de_corsair,1\nzlut385,1\nnyuudles,1\nzhang_fei_(full_bokko_heroes),4\nlightingsaber,1\ngyaru,0\ntracey_tailor,4\ntwig,0\nolive_(rawk_manx),4\near_lick,0\nhenbe,1\nplundered,1\nal-cat,1\nitou_sora,4\ndumbun,4\nevil-rick,1\ndark_anus,0\ndesiree_lee,1\nfilthy_rich_(mlp),4\nface_hugging,0\nvictordantes,1\ntransformation_through_magic,0\nrenoky,1\nyoshida_hideyuki,1\ndraco_(artist),1\nauroriia,1\npronk_oryx-antlerson,4\netsu_cuprumfox,1\nbig_hat,0\nmaxximizer,4\nshaved_head,0\nmoccha_(abluedeer),4\nkannos,1\nzigrock001,1\nlatex_panties,0\nelyssa_(trinity-fate62),4\nmaocrowhard,1\nlemon_smoothie,1\nwynter,4\nanna_(study_partners),4\ne-123_omega,4\ntambourine,0\nbelt_accessory,0\nlolori,4\nstar_butterfly,4\npussy_juice_on_butt,0\naunt_maire,1\nahastar,4\nsarikyou,1\nbunnelby,5\ndoublewbrothers,1\nknockedoutdragon,1\nfenix-fox,3\ntowel_wrap,0\nbigdead93,1\ndemon_hunter,0\ncoal_(samt517),4\naliena-cordis,1\ncum_as_food,0\nzkky,1\nciriliko,1\nbahati_whiteclaw,4\ngarbodor,5\nblue_submarine_no._6,3\nvivillon,5\nsailor_moon_(character),4\nreimu_hakurei,4\npatting_belly,0\njuneduck21,1\nraxkiyamato,1\napc_(artist),1\nfoghorn_leghorn,4\ntoroko,4\nscared_shitless,0\njankey18rnbadd,1\nthe_firebrand,1\nardail,1\nteal_markings,0\nultraman_(series),3\nolimar,4\nryan_moonshadow,4\ngoldiescales,1\nnakhta,4\nphantump,5\nvantanifraye,3\nantanariva,1\nfire_humanoid,5\nromeo_(leobo),4\nrippley_(fortnite),4\nravinosuke1,1\nlanyard,0\nstudio-pirrate,1\ndark_nurse,1\namelie_(bunnybits),4\nbijou_(hamtaro),4\ntesticle_pregnancy,0\nsitting_on_ball,0\ndry_orgasm,0\nmother_puss,4\naroused_smile,0\npajama_shirt,0\nblackbewhite2k7,1\nherrmoki,1\nstareostar,1\nhuepow,4\nsweater_pups,1\nlady_drasami,1\nsunagawa_(bonedra),4\nmiyuka,1\nchris_sutor,1\nbondage_and_chill,0\ncassie_(foxydude),4\nnameless00,1\ncyiakanami,1\nlyre_belladonna,4\nmonster_penetrating,0\nfirepawdacat,4\nmenyang,1\npiratefoxbox,1\ngoldcrustedchicken,1\nlovers_of_aether,3\narun_(tokaido),4\nwhite_head,0\nprincess_vaxi,4\nmaiz-ken,1\npink_tank_top,0\nsoccer_uniform,0\nfirst_orgasm,0\nepicbassface,1\nheat_(disambiguation),-1\nbreezie_(mlp),5\nwooden_fence,0\nbluesh,1\nhaircut,0\npseudowyvern,5\nanimeflux,1\nstage_curtains,0\nmobian_prey,0\nsyx,4\nedited_screencap,0\n2_pussies,0\nshian,1\nedwin_inculous_(character),4\ncubby_chambers,1\nubermonkey,1\nsaber,0\nyantaro_keno,1\ndarkened_sheath,0\nfirelight,0\nspoiler,0\nzenfry,1\nelbestia,1\ndarkminou,1\nmrkipler,1\nvyrn,4\ncollar_to_collar,0\nikuta_takanon,1\nno_symbol,0\nchizi,1\naye-aye,5\npurple_robe,0\nswanna,5\ntentacle_around_breast,0\nkitsunami_the_fennec,4\njill_(james_howard),4\npedverse,1\nvermilion888,1\nindi_marrallang,4\npink_wolf_(ac_stuart),4\nscott_otter,4\nmeeka_rose,4\nx_scar,0\nwingjob,0\ndildo_knotting,0\nfleatrollus,1\nin_bubble,0\nyoditax,1\namethyst_(steven_universe),4\njibanyan,4\nbiscuit_(biscuits),4\nkiva_(amazon),4\nhumanoid_pov,0\ndragon_horn,0\nhexxy,1\nmaximumpingas,1\no-ishi,1\nskia,1\nrooc,1\nkdhynamo,1\nfront_and_back,0\nlaundry_basket,0\npheeze,4\nadhira_hale,4\nyuzu_zuzu,1\nraier_(unrealplace),4\nscorchen,5\nzygarde,5\nsky_chaser,1\nheart_emoticon,0\nschool_desk,0\nevenesko.d.fox_(artist),1\nall_the_king's_men,3\nbbdworks,1\ntree_frog,5\njuliagoldfox,1\nkekeflipnote,3\nmakowolf1,1\njesse_(falcon_mccooper),4\ntrevart,1\ngaro_(garoshadowscale),4\nstacey,4\nspamjamz,1\nharkrun,1\nmechanical_dragon,5\ndiaper_puff,0\nsamuelwolfo,1\ndonkeypunch,1\n6my,1\ncanopus335,1\nfarkhan,1\nempskit,1\nnorataro,1\ncum_spurt,0\nsixsidesofmyhead,1\nbarbed_tongue,0\nfeather_markings,0\nbrandi,1\nsleepiness18,1\nkeron,4\nsparkittyart,1\nyoung_(lore),-1\ndoctorzexxck,1\nebonhorn_(foxxeh),4\njorge-the-wolfdog,1\nmulticolored_belly,0\ntakarachan,1\nasymmetrical_coloring,0\ngwen_mason,4\nfeet_behind_head,0\nrelatedguy,1\nnoaharbre,1\nkakuna,5\nkimubota,1\nholding_cleaning_tool,0\nblizzard_(weather),0\nnightmare_freddy_(fnaf),4\nmeheheehehe,1\nmizky,1\nlovemummification,1\ncryphalen,1\nslutty_face,0\nsobbing,0\nfel,1\ntaker_pov,0\nranara,1\nvaporwave,0\nwonderboy,3\nfall_guy,5\nsquablodecomplash,1\nratbat,1\nflatulance,0\nxenochelle,1\nbrand_parody,0\nbrushart,1\ntiesci,4\namanddica,1\nmatuska,1\nfur_clothing,0\nbackground_shot,0\nfizzz,1\nkisera,1\ndaniel_kay,1\nsigma_x_(character),4\nfrank_westerveldt,4\nhigglytownhero,1\nember_the_typhlosion,4\nstrebiskunk,1\nhowsplendid,1\ngremlin,5\ngrip,0\njojo_pose,0\nriver_(armello),4\nsunnyhoneybone,1\ntoot,1\nequum_amici,1\ng1r0r0,1\ndam_(artist),1\nskimpy_dress,0\nloriinae,5\nclam,5\nnightskrill,1\nshort_legs,0\nfek,1\naxo_(fortnite),4\nsudkampsin,1\n54321awesome,1\njotaro_kujo,4\ndeerstalker_hat,0\nrsotart,1\npsyredtails,1\nhead_hands,0\ncat-sith,5\nbaneroku,1\nmonotone_perineum,0\nwit_1,1\nsheath_vore,0\nstamp,0\ntim_o'rourke,1\nred_flower,0\nburrito,0\ninoby_(character),4\nmamagen,5\nlooking_down_at_another,0\ngroot,4\nolimacdoodles,1\nunderwear_festival,3\nford_mustang,3\nescopeto,1\nbursting_out,0\nglistening_knot,0\nfraye,4\nslop,3\nlizebra,1\nararu,1\nwet_tail,0\nred_legs,0\nswadloon,5\nlube_string,0\ntribaldragon,1\nwobbuffet,5\nnecktie_only,0\ntranslucent_bra,0\ntwillight_(twillightskunk),4\norange_belly,0\nking_spade,4\nmythical,0\ntarkir,1\nkumoko,4\nrylee_(senimasan),4\ngauged_snake_hood,0\nanneke_(weaver),4\napplying_makeup,0\nmaggie_applebee,4\nkaislair,0\nunyin,1\nsrriz,4\npaloma-paloma,1\ncommandg,1\nshark_week,3\neroticphobia,1\ncumsplosion,0\ngreenmonkey,1\nruze,4\ncosmicunicorn,1\nmewdles,1\njohn_blacksad,4\nsqueaking,0\nmarzipan_(spottedtigress),4\nnivy_(artist),1\nkris_(zourik),4\nreizo,4\nrochelle_barnette,4\ngoat_horn,0\nvest_only,0\nbanzai_(the_lion_king),4\nhand_on_table,0\nporldraws,1\nleggings_only,0\nglaive,0\ntoe_scrunch,0\ndiaszoom,1\nangryelanoises,1\nroz_gibson,1\nnaga_(artist),1\ndick_in_a_box,0\ntower_duo,0\ngold_skin,0\nais05,1\nnoctowl,5\n:s,0\nplant_print,0\nspreader_toy,0\nbagheera_(jungle_book),4\ni-psilone,1\nolethros,1\npink_sky,0\narchitecture,0\ntapering_tongue,0\nrental_mommy,3\nmarota,1\nelectro_current_(oc),4\ncontainment_tube,0\nundertaild,1\nbound_and_gagged,0\nsleeveless_jacket,0\ncheap-wazoo,1\npec_squeeze,0\nblack_scarf,0\nalvano_amala,4\nporygon,5\nlipstick_on_butt,0\ncoontail_hair,0\nwallpaper_(decoration),0\nlewd_latte,1\nneverwolf,1\nlarkdraws,1\nzenonzard,3\ngarr_(breath_of_fire),4\npicnic_table,0\ndress_up,0\njiralhanae,5\ngears_of_war,3\nresachii,1\nt.n.,1\nkeedot,1\nteam_aqua,3\ntracy_j._butler,1\nmother_and_father,0\ndanika_(wolflady),4\nvandalistpikachu,1\ntigerinspace,1\nace_stryker,1\ntayronnebr,1\nbig_trapezius,0\noksara_(character),4\n\"\"\"honest\"\"_john_foulfellow\",4\noswald_the_lucky_rabbit,4\ngradient_eyes,0\nkogeikun,1\npaint_can,0\ngroup_hug,0\nfantasyblade,1\ntektah,1\nahoge_(artist),1\nmutio,4\npiranhapettingzoo,1\nfhyra,4\nsix_frame_staggered_grid,0\nalori_dawnstar,4\ntoddrogue69,1\nluigiix,1\nmalerouille,1\nmonkey_d._luffy,4\nsubnautica,3\ntwo_tone_gloves,0\ncra,5\nda_polar_inc,1\nwayesh,1\nblueshark,1\npopogori,1\ncat-boots,1\nleviantan581re,1\nveiny_skin,0\nrapid_digestion,0\nowen,4\nwet_bottomwear,0\ntiki_san,1\ntwo_side_up,0\nhockey_mask,0\ndlw,1\nlouis_wain,1\nneo_hajime,1\npattern_necktie,0\nkouh,1\ntwistedgrimtv,1\none_hand_up,0\ndark_eyelids,0\nprone_bone,0\nreverse_grip,0\nnorio_(pheromosa_times),1\nholding_topwear,0\nraemyshu,1\nblue_pillow,0\nmothman,4\ngiraffe_mom,4\nscratch_(adventures_of_sonic_the_hedgehog),4\nquest_for_glory,3\nanivia_(lol),4\narchon_eclipse,4\nskink_(warhammer_fantasy),5\nlucas_(sssonic2),4\nten_kodori,4\nrobedart,1\ndry_bones,5\npepe_the_frog,4\nmuffy_(animal_crossing),4\nmintyskin,1\nkohtek,1\nillusion,0\nvolcanins,1\ntoxic-mario,1\ntsuyagami,1\nflour,0\nspy,0\nsesame_akane,4\ngore_magala,5\nsuri_polomare_(mlp),4\npudding,0\nkoosh-ball,1\nred_pillow,0\nlight_areola,0\nsiege_(arknights),4\ncinder_glow_(mlp),4\ntitfight,0\nduster_(dustafyer7),4\n17:22,7\nwing_markings,0\ncloudeon,1\nenko_(mrt0ony),4\nshinkaku,1\nrevenge_sex,0\nfanfiction,0\nian_dela_cruz,4\nsaeko_art,1\nsjevi,1\nnose_spike,0\nleqha,1\ndorohedoro,3\nkeroro,4\nvinnie_(bmfm),4\nbearded_dragon,5\nclipping,0\nmontage,0\nnoguchi,4\nhornbuckle,1\nbowling_pin,0\nsamoji,1\naegislash,5\nmagiace,1\nwilson_(brogulls),4\npantherlily,4\nkatty_katswell,4\ntoodledipsy,1\nbokeh,0\nfallen_(artist),1\ndavid_hopkins,1\ntamaranean,5\nholding_penetrable_sex_toy,0\ndoodledoggy,1\nmadcow100,3\nalex_kitsune,1\nblowjob_beast,5\npsibunny,1\nyoungster_(pokemon_sword_and_shield),4\nknochka,1\nasderzx,1\nplugsuit,0\neurobeat,1\nrat_god_(mad_rat_dead),4\npurple_bonus,1\npom_(tfh),4\nhicanyoumooforme,1\ndouglas_kim,1\ngreta_(mlp),4\nplumber,0\nnoxy_(equinox),4\nwaterscape,0\nreddrago,1\nhead_leaf,0\nnogard_krad_nox,4\ncat_o'_nine_tails,0\nmendobear,1\nunusual_heels,0\naustralia,0\npomacentrid,5\ndarksideofdiscovery,1\nmagearna,5\ntan_toes,0\nhelmeted_lizard,5\nbible,3\nflim_(mlp),4\ngas_station,0\ndiana_(bashfulsprite),4\nmarc_(smar7),4\nfurry_force,3\nhimachi,1\nnightmare_fredbear_(fnaf),4\ngermany,0\nsolratic,1\nboltund,5\nspecies_name_variant,0\npitcher,0\ntentacle_tail,0\npav,1\ncolarix,1\nandromorph_focus,0\nbovine_pussy,0\nvani-fox,1\ndigi,4\nmonstro_village,3\ngenital_tattoo,0\nvenus_de_milo_(tmnt),4\nspoonyfox,3\nhijirinoyuta,1\ngeometryboymejia,1\nloss,3\ntre,4\nhotbento,1\njace_(gasaraki2007),4\nkokkoro_(princess_connect!),4\nsighing,0\nburrnie,1\nchaindecay,1\ngoldeen,5\nfyixen,1\ntycloud,4\nband_accessory,0\nasterius_(hades),4\nsongbird_serenade_(mlp),4\njerro,1\nhysk,1\nmultiple_impregnation,0\ncountershade_penis,0\nhyper_foreskin,0\nbroody,4\ntenynn,1\ntorn_body,0\nhuge_teats,0\nvetisx,1\noldman_artist,1\nhand_on_floor,0\none_shoe_on,0\nstomped,0\ngunpoint,0\nkairunoburogu,1\nutawarerumono,3\npop-tarts,3\nfoxxj,1\nwhiro,4\nlinahusky,4\nslaking,5\nlakehounds,1\nblue_overalls,0\nfootless_socks,0\nkyrio,1\njigglyjuggle,1\nglass0milk,1\nthevillager,1\nannairu,1\nstudent_mei_ling,4\nmitti,1\n1ndigocat,1\nruby_quest,3\nnaughty_skeleton,1\nmagayser,1\nsudden,0\nworking_buddies!,3\nexcessive_drooling,0\n8:9,7\nstardep,1\nanothercolouranon,1\nnayel-ie,1\nitalian_text,7\ndakota-bear,1\nback_plant,0\ncaesar_(anglo),4\nstorm-tiger,4\n4_panel_comic,0\ncum_on_dildo,0\ngreeneyedwolfking,1\nmonster_prom,3\ndevilturtle,1\npenis_mouth,0\nfalcon_mccooper_(character),4\ntaylor_knight,4\nobject_shows,3\ntrail,0\ncaribbean_blue,3\nurine_in_own_mouth,0\nbluedouble,1\ndaniel_porter,4\nfleur-de-lis,0\nscottred,1\nkikunoya,1\nash_(ashkelling),4\nsnapping_fingers,0\ntwoscale,1\nfennec_humanoid,5\nurethra_worm,0\ndaz_3d,3\nlooming_over,0\ndark_thigh_highs,0\nmattie_(chimangetsu),4\nnashiholy,1\nglut,0\nbuffbumblebee,1\nsatoshi_nagashima_(odd_taxi),4\norange_handwear,0\nblack_antlers,0\ntoned_stomach,0\ngrovyle_the_thief,4\ndigo_marrallang,4\nvicioustyrant,1\nthatgryphonguy,1\nthe_wayward_astronomer,3\nmulti_body,0\nichkoro,1\nwhite_sweater,0\nfish_tank,0\npuzzle,0\ngrimmsnarl,5\njockstrap_aside,0\ndelta_vee,4\nkigoh-neko,1\nsloth_bear,5\nrandt,1\nfortune_telling,0\nzera_(titsunekitsune),4\nsurgical_operation,0\nkeldeo_(resolute_form),5\nende,1\nkajabuubuu,1\nizrez,1\nantti_remes,1\nblack_blindfold,0\nguillotine,0\n6_fingers,0\nserving_food,0\npadoga,1\naerith_gainsborough,4\nurta,4\ndiamondbackdrake,1\npleasantlyplumpthiccness,1\nluwei_(artist),1\nnon-humanoid_machine,0\nhasana-chan,1\ncaution_tape,0\nwithered_chica_(fnaf),4\nskdaffle,1\nnestor_(spyro),4\ndyson_(eldiman),4\nmykendyke,1\nburu_(jaynatorburudragon),4\nrobot_master,5\nluraiokun,1\nblue_(shiro-neko),4\nneck_ribbon,0\nalcelaphine,5\npyritie,1\nkyuuhari,1\nkissing_neck,0\nfeatureless_eyes,0\nfukuzawa,4\ncloset_coon,3\nkincade,4\nneonyx,1\nclopician,1\nrajah_(disney),4\ncroissant,0\ncocaine,0\nbowser_koopa_junior_(roommates),4\nkom_(komdog),4\nweighted_companion_cube,4\nunit_no04,1\nfused_legs,0\ntiger_(monster_rancher),5\ncrystal_creature,5\nsheriff_of_nottingham,4\nslip,0\nwhiteperson,1\nsassylebraix,1\nsuiting,0\nmad_scientist,0\nbitfly,1\nhomophobia,0\ncolor_coded_hearts,0\ndraco_shokan,5\ndr.bubblebum,1\nemotionless,0\n0227,1\ndaniel_(hladilnik),4\nprogressoftomorrow,1\nhamstrings,0\nglasses_askew,0\nsomewhatsketchy,1\nlongdanger,1\navalonsfm,1\nanbs-02,4\nsplashtf,1\ntharis,4\ngreen_hill_zone,0\nlittledoll,1\nmantle,0\nroger_(mike_sherman),4\nnobro,1\nclownfish,5\nbursting_out_of_clothing,0\ndress_pants,0\nkotetsu_rexen,1\npennant,0\nstrayserval,1\nsyandene,4\nprofessor,0\ndoggieo_(character),4\nherm/ambiguous,0\nhawtmoon,1\nwater_slide,0\nlinsang,5\nphat_pants,0\nhorn_ornament,0\nlivia_(dreamypride),4\nladyvenommyotismon,1\nniko_(pkfirefawx),4\nswitch_console,0\ndoginacafe,1\nnikorokumitsero,3\nvolodyanocturne,1\nhamuga86,1\nrariedash,1\nlee_the_kec,4\npimpartist,1\nhose_in_mouth,0\ndoctor_neo_cortex,4\nholding_note_pad,0\narm_guards,0\ntithinian,1\nindigo_marrallang,4\nstevenlew,1\npouring_onto_self,0\nyogi_bear_(character),4\nmiroukitsu,1\nlaw_(doggylaw),4\nchupadore,5\nwhite_heart,0\nholding_collar,0\ncanyon_(artist),1\nwffl_(artist),1\nferilla,1\nrarewhoroastbeast_(artist),1\namethyst_(kitfox-crimson),4\nohakotome,1\nmonamania,1\nellie_saionji,1\ntan_headwear,0\nprivvys-art,1\ncheck_mark,0\ninkanyamba_(artist),1\nturnip,0\nblack_eyelids,0\nlicker_(resident_evil),5\nkazoko_(artist),1\nonmyoji,3\ncyrus_(animal_crossing),4\nkenjikanzaki05,1\nthrakos,4\nfirelander,4\nstowaway,1\nkaitty,4\nprinny,5\nsheeva,4\ngourd,0\naverrisvis,1\nthirstydraws,1\ntoxi_de_vyne_(artist),1\nledian,5\njoyride_(colt_quest),4\nbicorn,5\ngradie,4\nfluke,1\n4:1,7\nflame_markings,0\ncacatua,5\nkouseki0024,1\nsiriusdog,1\nlatex_boots,0\nkaoru_(kitaness),4\nlolly_(butterscotchlollipop),4\nnight_sky_body,0\nx03,1\nmaxpany,1\nmiltonholmes,1\nyoungster_(pokemon),4\nsatisfied_look,0\nblue_speedo,0\nvannie,1\nstriped_wings,0\nholstaurus,5\ntaboo_tails_(copyright),3\nthor_(series),3\nleather_collar,0\nmizukithia,1\ndrake_drachenlicht,1\ncum_on_sheath,0\nsaintcocoa,1\ntaracod,1\nryoko_(character),4\nblack_jackal,1\ngolf,0\ntaur_penetrating_taur,0\ncorinoch,4\n2_mouths,0\nanimasanimus,1\nstarlow,4\nkimmy_(felino),4\nskunk_spray,0\nwattchewant,1\nhoneyboyy,1\ngeodude,5\nsawk,5\nfatyogi,1\nperspective_shot,0\nfiring_weapon,0\nbungie,3\nribiruby,1\nrobby_bunny,4\nspiked_choker,0\nkebi,1\nday_count,0\ncum_in_stomach,0\n17:11,7\nveiny_belly,0\nshira_(ice_age),4\nface_in_crotch,0\ngrey_highlights,0\nmeryl,4\nstrategically_covered,0\npawsve,1\nladon_(character),4\nsum,1\nsegmented_body,0\nrynring,4\nethan_bedlam,4\nrealization,0\nwrists_together,0\nmodelling,0\nevillabrat,1\nmale_fingering_male,0\npurple_arms,0\nsleep_fetish,0\nmechanical_penis,0\nluna_paws,4\nflaming_wings,0\nsharperit,1\nbreeding_spree,0\nlean_muscle,0\nwhite_glans,0\nyosioka_san,1\nfol,1\ncursor,0\ncum_on_sofa,0\nemmitt_otterton,4\nfirefly_(pre-g4),4\npenny_flynn,4\nprey_penetrated,0\nelmelie,4\npelvic_fins,0\nhuegirl19,1\npastel_please,1\nbindings,0\nskymachine,1\nanikifaux,1\nwander,4\nwormmon,5\nelephant_penis,0\ngrummancat,1\ntraffic_light,0\ninvalid_tag,-1\ncombos-n-doodles,1\nalpha_garza_(vimhomeless),4\ntyranid,5\nmiss_bianca_(the_rescuers),4\nfelicity_longis,4\ngrandmother_and_grandson,0\nhangover,0\nthe-wag,1\nmarcus_(rukis),4\npixile_studios,3\nssu_open,1\ngreen_neckerchief,0\nclothed_female_nude_intersex,0\nkamyuelo,1\ncolored_pussy_juice,0\nalric_kyznetsov,4\nipad,3\nsihai's_legacy,3\nhalloween_decoration,0\nparooty,1\npattern_headgear,0\nnobody3,1\ncolor_contrast,7\ncuffs_(disambiguation),-1\nthroat_(artist),1\nbrunhilda_(dragalia_lost),4\nprincess_mononoke,3\nmocha_latte,4\nmaron2475,1\nlemonbizate_(artist),1\nidolomantises,1\ncontent,0\npetri_(animal_crossing),4\npresenting_sheath,0\nrobosylveon,1\nsuu_(monster_musume),4\nwhitepone,1\nredrick_(erickredfox),4\ndigital_sketch,0\nbo-gilliam,1\nigazella,1\ncontrapposto,0\ncortana_(halo),4\nrookie_bear,1\nred_glow,0\nsebastian_cummins_(thechavicgerman),4\nmonkey_king,4\npinkaxolotl,1\ntwo_tone_dress,0\nsolidasp,1\ngameplay,0\nmajmajor,1\nstephen_king_(copyright),3\npinkuh,1\nentrapment,0\nlucretia,1\nsaffron_masala_(mlp),4\nmanakete,5\nkrinkels,1\njason_voorhees,4\nforceful,0\ncrimsonrabbit,1\naijou,4\nheyitscousindave,1\nwaitress_(artist),1\nfennec_(artist),1\nfoxene,1\nwithered_foxy_(fnaf),4\nkinaj,1\nheavy_blush,0\npelican,5\nduskguard,1\nbeast_(marvel),4\nmurdered,0\nsleepyinu,1\ntactical_gear,0\nbob_(vju79),4\nlegs_above_head,0\nthe_avengers,3\nautolactation,0\ntanookicatoon,1\ncoel3d,1\nsnow_(matthewdragonblaze),4\non_counter,0\nnavel_tuft,0\ndovecake,1\npepper_(fruit),0\ndado463art,1\nmonotone_hat,0\ntauntaun,5\nemperorstarscream,1\nblood_on_body,0\nfrancis_misztalski,4\nuno_yuuji,1\ncracked_ground,0\nhandle,0\nnaz_namaki_(cynxie),4\nskoll_(wolf-skoll),4\ngas_tank,0\nkapri,1\nlay_the_dragon,0\nfemale_dominating_female,0\nbrown_outline,0\njacket_vest,0\nshanukk,4\nleghorn_chicken,5\nbluewhale127,1\nonward_(2020),3\n006_zerozerosix,1\ntabatha_(samoyena),4\ngrandfather_and_grandson,0\ndangan,1\nadrian_(firewolf),4\ntree_trunk,0\nwhitney_(pokemon),4\nzeigram,1\npokemon_(anime),3\nraccoon_tail,0\nmother_kate_(jakethegoat),4\nextremespeedslowpoke,1\ngreen_goo,0\ndemon-man,1\ngarrosh_hellscream,4\nhead_on_butt,0\nectoplasm,0\nnight_elf_(feral),5\nmiss_piggy,4\ncardigan,0\nnights,4\nsasha_gothica,4\nphursie,4\nkink,0\nsitting_up,0\nlucas_(earthbound),4\nbieesha,4\nkaiju_paradise,3\nwolfsoul,1\nchallenge_accepted,0\nkasaler,1\ns.leech_(oc),4\njagras,5\nrosie_(roselynn_meadow),4\nreflective_floor,0\nvacation,0\nfurfnsfw,1\ndaestra_the_hedgehog,4\nhighwaytotartarus,1\nboron_brioche,4\njeri_katou,4\ngarter_belt_socks,0\nkunugi,1\nheavy_metal,3\nmn27,1\nbodily,0\nsabuke_(character),4\nolivia_hart,4\nimminent_vaginal,0\nwrong_hole,0\nhoverboard,0\nmeteor,0\ntriangle_nose,0\nmonotone_shoes,0\nmulticolored_feet,0\nangoraram,1\nhand_on_object,0\nfirefighter_helmet,0\nbiting_shirt,0\nowo_sfm,1\nunikitty!,3\nhorsen,1\nfish_birb,1\npongldr,1\ncarnivorous_owl,1\nnastypasty,1\nlumina_(stargazer),4\ncarelessdoodler,1\nkl0ndike,1\nalpi,1\ninfinity_train,3\nteddy_conner,4\nboomer_(nanoff),4\nhydrabb,1\nwarskunk_(artist),1\nside_grab,0\nmulti_head_kiss,0\nwhiteskyline,1\nvisark,1\nwanderlustdragon,1\nochaco_uraraka,4\ndusk_(tabuley),4\npussy_noir,4\nqueen_novo_(mlp),4\njazzotter,4\ncinnamoroll,3\nmelody_(mellybyte),4\nlounge,0\nbrass_knuckles,0\nthe_shadow_of_light,3\nbreezie_the_hedgehog,4\nfurred_shark,5\naiden_laninga,4\nfellowwolf,1\nethriol,1\nhazuki_mikami_(hasukii),4\nyaudizz,1\npokémon_battle,0\nivan-jhang,1\nsnavel,4\nrainbownspeedash,1\nm4,0\npresenting_cervix,0\nmister_d,1\nsavemekitty,1\nheart_shirt,0\nyellow_flower,0\nurethral_plug,0\nscuba_gear,0\nbig_bun_burgers,3\nsewn_pussy,0\nnik_(sonicfox),4\nbalding,0\ngouache_(artwork),7\noverweight_semi-anthro,0\nbadwingm,1\nbarlu,1\ndark_chao,5\ngrocery_store,0\nkrisha_russel,4\ntsukigata_rossi,1\nrobin_(dc),4\ncaged,0\nultima_(oc),4\nshema,4\nkokkoman,1\ntammy_squirrel,4\nteal_mane,0\ncam_collins,4\nwireless_shiba,1\nfilly_anon,4\nethereal_mane,0\nmaquenda,1\ncondiment,0\nin_swim_ring,0\nlight_arms,0\nmoordred,1\ngarret_(rain-yatsu),4\nsex_gesture,0\nnovember,4\nsomething_different,3\npink_panther_(series),3\nrubbing_sound_effect,0\ncustom_species,5\nyellow_skirt,0\nonly0neman,1\nfrill_(disambiguation),-1\nrecursive_vore,0\nhotbrotkuroi,1\nblack_speedo,0\nholding_single_card,0\ngame_boy_cartridge,0\nflam_(mlp),4\nscataraxia,1\nkraft_lawrence,4\ngtskunkrat_(character),4\ndiggersby,5\ngrievousfan,1\nannonymouse,1\nthe_dreamstone,3\nvandclash,1\ndalley-the-alpha,1\nkarbo,1\ncum_on_underwear,0\nclaydust,1\nanutka,1\nnipple_focus,0\nwhite_fingernails,0\nfloral_clothing,0\nethiopian_wolf,5\nholaxes,1\nzohara_(reddragonsyndicate),4\nkinojaggernov,1\nzander_(zhanbow),4\nkailys,1\nmercury_shine,4\nshadow_effect,0\nhellbridge,1\nflash_slothmore,4\nconverse_shoes,0\nkanna_(joaoppereiraus),4\nshoebill_(kemono_friends),4\nirisarco,1\nspiral_horn,0\ntwotail_(mlp),4\nskunk_fu,3\nmonotone_stockings,0\nfriesian,5\nayana,4\nharbour_princess,4\ndave_(password),4\nankylosaurus,5\nwhite_kerchief,0\nbiyemorph,5\nhawkvally,1\n6:7,7\nwyverian,5\nanna_(sailoranna),4\ninake,1\nkhblacky97,1\nmistaken_identity,0\namerican_bison,5\nrabbitbrush,1\ntilionmaia,1\nmustelid_penis,0\ncaroo_(character),4\nsex_toy_in_penis,0\nnaughty_smile,0\nhb-viper,1\nkaidzsu,1\nendless_orgasm,0\njasmine_(pokemon),4\nfunky_kong,4\nsoraa,1\nflamevulture17,1\nziggy_(dezo),4\nbayonet,0\nhands_on_feet,0\ncum_on_glass,0\nsweater_only,0\ncat_(petruz),4\nswordkirby,1\nvi_(bug_fables),4\nbambolbi,1\nmeowser,4\naoi_takayuki,1\n7:9,7\nusnarbit,1\nextro,1\ntrolling,0\nmuto_(godzilla),4\nyear_of_the_rat,3\nendtown,3\nepic_soul,1\nduo_radon,1\ndelia_(anglo),4\nthesociallyawkwardpinguin,1\nafrican_civet,5\ndahs,1\nshoelaces_untied,0\nryuakira,1\nlove_death_+_robots,3\nrawdarkness,1\nlog_horizon,3\nmarkiplier,4\nblue_archive,3\nabnarie,1\nbuild_tiger,3\nblur_censorship,0\ninkune,1\nviolet_(artca9),4\nstasis_delirium,1\nroad_sign,0\ncrocodilianbooty,1\nmagic_staff,0\nvexedlupine,1\nfeirune,4\nbow_(decoration),0\nhusk_(hazbin_hotel),4\nby-sa,3\nnissan,3\nredboard,1\nfemale_shepard,4\nwanderertamplior,1\nhazel_(flittermilk),4\numbrian_(species),5\nmabel_(1-upclock),4\nyuki_motoe,4\nblackjack_(fallout_equestria),4\nsquelching,0\nspera,1\nclear_sky,0\nsusaroo,1\nxuan_(xuan_sirius),4\npeanut_butter,0\ntawny_otter,1\nfrill_piercing,0\nbradley_(stylusknight),4\nface_on_penis,0\nhand_on_elbow,0\nself-bondage,0\nkatie_kirster,4\ndosh,1\nnick_(beez),4\nearplugs,0\nmountain_range,0\ntiffany_(animal_crossing),4\nsly_asakura,4\nlordflawn,1\ndrauk,5\naerth,1\njv,4\nrytlock_brimstone,4\nfist_pump,0\nmanyu,1\nlethal_league,3\nslushi_(chikn_nuggit),4\n3_panel_comic,0\nholding_marker,0\nlight_wings,0\ndigging,0\nmoses_(samur_shalem),4\ntwo-handed_face_fucking,0\nbucephalus,4\nokdrsutsu,1\nmoon_knight_(series),3\nrastaban_coal,1\nlovebrew_(oc),4\npredator_penetrating,0\nteal_pussy,0\nyin_yang_yo!,3\nsaillestraife,1\nforepawz,3\nleovictor,1\nlong_dress,0\nreggie_(tokifuji),4\ngold_penis,0\ndamian_(zoophobia),4\npeeing_on_penis,0\npet_bed,0\narylon_lovire,4\naleu_moonshadow,4\nnoonie-beyl,4\nsajik,1\nnasa,3\npixelyteskunk,1\nculpeofox,1\nrubikon,1\npokey_pierce_(mlp),4\naccidental_sex,0\nadjusting_glasses,0\nball_markings,0\nblue_flower,0\nloneclaw,1\nneboveria,1\nanalog_clock,0\nvibrator_hip_strap,0\nwill_delrio_(sketchybug),4\nbroken_glasses,0\ncaught_masturbating,0\nsato_afroleone,1\nhayven_celestia,3\ndiesirae,4\nsijimmy456,1\nshapeshifting,0\nrider_of_black,4\nangelface,1\nobject_shot,0\nsupergirl,4\nyamato_iouko,4\nfrumples_(character),4\npinkie_peaches,1\nsodiav,1\nwolfgangcake,1\npaguroid,5\n9999gpera,1\nmilkjunkie,3\ncum_on_own_feet,0\nfudchan,1\nnekoarashi,1\nmulticolored_boots,0\nnosivi,4\nsaxophone,0\ncum_on_pillow,0\ncoffeesheizen,1\nselene_blackcat,4\ngular_flap,0\nbartok_the_magnificent,3\na_princess_of_mars,3\nred_t-shirt,0\nmegumigoo,1\nmottled_pussy,0\ncodpiece,0\nnatttttalina,1\nsarana_(knotthere),4\npastelcore,1\nfaline,4\nchrissy_(animal_crossing),4\nred_tuft,0\nsagging_pants,0\ndrpolice,1\npalisal,1\ndeezmo,1\ndetailed_genitals,0\nserilde,4\ntionishia_(monster_musume),4\nlocker_bench,0\nember-dragoness,1\nplaying_piano,0\nnorthernsprint,1\nbeavertyan,1\nfleet_wing,1\nmicro_in_clothes,0\ndarwen,4\ntenchi_muyo,3\nmargaret_(vetisx),4\ngreen_slime,0\nidrysse3,1\npinkie_pie_(eg),4\ntres-apples,1\ngoattrain,1\nneferpitou,4\nquillu_(character),4\nonyx_wasson,4\nkrayboost,1\npurpleground02,1\nlandon,4\nsteel,0\ncoffinpaws,1\ndiablo_the_rex,1\nswept_bangs,0\nteenage_mutant_ninja_turtles_(1987),3\ndylbun,1\nchuurow,1\nsolii_(gizmo1205),4\nelim_dorelga,4\ndappled_fur,0\nlio29227541,1\nwindborn,3\nsowat-blend,1\nclothing_around_waist,0\ngrey_dress,0\nselective_coloring,0\namur_leopard,5\nyoul,4\nhairless_tail,0\nyrel,4\nfisuku,1\nchaise_lounge,0\nknotted_tapering_penis,0\ndetailed_mouth,0\nmicrophone_stand,0\ndragontim,1\nprehistoric,0\npinstripes,0\nkubikitsune,1\nclarabelle_cow,4\nhuckser,1\npattern_headwear,0\nchibsarts,1\nkorean_jindo,5\ned_edd_n_eddy,3\ntan_(artist),1\nkamui_(kill_la_kill),5\nyaoyasohachi,1\nbelt_bondage,0\ntail_lick,0\njasentamiia,1\nthong_only,0\nkoda-kota,1\ndynoex,1\nbetsibi,4\nbeartato,4\ninfesticles,0\nsitting_on_stool,0\ngo1den_(wanda_fan_one_piece),4\nplaystation_3,3\nkeith_(funkybun),4\nmole_on_breast,0\ne-zoid,1\nscarfyace,1\n12:13,0\namerican_eagle,4\nblue_tail_feathers,0\nagata_(beastars),4\nlongsword,0\nanubii_(quin-nsfw),4\nbeholder,5\nbibarel,5\nghostwolf,1\nbran-draws-things,1\ndeusexequus,1\nsenketsu,4\nstrings,0\nfan_comic,0\nblue_neck,0\nfirebunny,5\ndark_lips,0\ndogma,1\nused_diaper,0\nmulticolored_hands,0\nsteen,1\nteleportation,0\ncrossbreed_priscilla,4\nsnuffy,4\nkaeaskavi,1\nfelimon,4\ntwo_tone_stockings,0\ntouching_chest,0\nsnack,0\nhead_out_of_frame,0\ncostom10_(character),4\norion,4\nwarning_symbol,0\nnurse_joy,4\nidena_(swordfox),4\ntombola1993,1\nsidekick,1\nthe_great_prince_of_the_forest,4\ngf,1\nyang_xiao_long,4\nkowalski,4\nadmiralobster,1\ndanslittlefurs,1\npooping_on_another,0\nd.angelo,1\nhuman_to_taur,0\ncreamytea,1\njaggi,5\nstarswirl_the_bearded_(mlp),4\ntwo_tone_paws,0\nclip_accessory,0\nfreddy_(dislyte),4\nhuskyman24,1\nmalware,1\nathlete,0\njace_(darknaig),4\nludmilla_(bartok),4\ncattle_taur,5\nvertical_staggering,0\nthugji3,1\nnoke_(delicatessen),4\nequine_legs,0\ncoby_(mao_mao),4\nnastysashy,1\non_fence,0\nderpyrider,1\nramiras,1\ncrested_porcupine,5\noverweight_andromorph,0\nspace_dragon,5\ngoldie_pheasant,4\nnullenigma,1\nfat_mons,0\ncyanzangoose,1\n025aki,1\ndirector_ton,4\nmickey_mouse_shorts,3\njmsdf,3\nplanktonheretic,1\ntapiko,1\nswift_fox,5\ngreen_light,0\nswear,0\ndouble_deck,1\nnude_intersex,0\nflower_ornament,0\nvapor_trail_(mlp),4\nwatermelon_(artist),1\nfiretails,1\ngrey_paws,0\nmilking_cum,0\nlyra_(pokémon),4\ncopper_(fath),4\nalice_margatroid,4\nshadowfenrirart,1\nrecon_scout_teemo,4\npsychic_powers,0\nmetalhead97,1\npepperchan,1\nshuuko,1\nmaya_henderson,4\nms._zard,4\namplifier,0\nslipping,0\ndarkynsfw,1\nrapid_transit,0\npraise_kink,0\nmayoineko,1\nmale_oviposition,0\nmyrilla,4\nbeholdervee,1\nmine,0\nperfume,0\nshaggy_rogers,4\nhisuian_samurott,5\nblack_wool,0\nerror,0\nrandall_boggs,4\ntorn_panties,0\nimminent_rimming,0\nstraight_bangs,0\nbumped_dildo,0\ngooze_(sunibee),4\nberserk,3\nrough_sketch,0\nmintyderg,1\nleg_spikes,0\npurple_necktie,0\nzoom_lines,0\nhelelos_(artist),1\nteam_shuffle,1\nultrafem,1\nedesk,1\ntoothpaste,0\nmangobird,1\npansage,5\nbourbon_(artist),1\ngsphere,1\nbusiness,0\nbarzillai,4\ndoctorproxy,1\nalfred_(umpherio),4\nmike_(bcb),4\nraft,0\nveigar-chan,1\nimpidimp,5\nblack_tail_feathers,0\nimabunbun,1\nteryx,3\nmega_sceptile,5\nmorpeko,5\ndark_blue_body,0\npoker_table,0\naglet,0\nstriped_necktie,0\nnanukkluik,1\nsheik_(tloz),4\nkojiro-brushard,1\ninner_monologue,0\nmashiromiku,1\nthaz_(character),4\neihman,1\ndeareditor,1\nvoviat,1\nscombriform,5\nkaeli_cedarfallen,4\nriska_(artist),1\nauria_jansson,4\ncaustics,0\nslap_mark,0\nbegasuslu,1\nsnowboarding,0\nbellies_touching,0\n0k0j0,1\nshoes_removed,0\ndavey_(diadorin),4\narm_on_thigh,0\nmonotone_swimwear,0\nryder_(striped_sins),4\nfake_cow_ears,0\nalmost_fully_inside,0\nglistening_gem,0\nyuugi_hoshiguma,4\no-ring_bikini_top,0\nheart_pawpads,0\noxfort2199,1\nhuge_brachioradialis,0\nhallucination,0\npachycephalosaurus,5\nrita_(fuf),4\ndildo_mask,0\nlube_container,0\nspotted_wings,0\nholding_basket,0\narm_around_leg,0\nlotus_(flower),0\ndouble_knotting,0\namazon_(dragon's_crown),4\ncum_on_lips,0\nbirthday_gift,0\nfemale_penetrating_gynomorph,0\nspray_bottle,0\npolitical_cartoon,0\nart-abaddon,1\ngir,4\nirish_wolfhound,5\ndrulttur,5\nniban-destikim,1\nsky_(youwannaslap),4\nrwolf,1\nalex_(phrannd),4\ndipstick_fingers,0\niji,1\ncamping_tent,0\nstudio_chizu,3\nhiddenmask18,1\narmadillomon,5\ncheese_wedge,0\nbubbeh,1\nryu_masakaze,1\nunwanted_creampie,0\nsavestate,3\nriven_(lol),4\nsasha_sweets,4\nedi_(mass_effect),4\nmachgaogamon,5\nyear_of_the_pig,3\ndmitrei,4\ncapdocks,1\nblue_cape,0\nprinisdead,1\nnekonade,1\nsimul,1\nmomo_(dagasi),4\ndibujito,1\nfonyaa,1\nseshed_circlet,0\ntekahika,1\nsaucer,0\nblack-footed_ferret,5\nincestaroos,3\nholding_dagger,0\nsakana8888888,1\nquicktimepony,1\ncoco_nebulon,4\nskarlett_cynder,4\nasexual_pride_colors,0\ntrue_hawk,5\nschizy,1\nssvanti,4\nears_aside,0\ngreen_speedo,0\ncleric,0\nblaze_(wolf),4\ndarkpotzm,1\ndiaper_creature,5\nkatie_tiedrich,1\nflavored_cum,0\nhalu_1129,1\nadjusting_clothing,0\ndisco_ball,0\nsirenian,5\nisisazza,1\nimplied_orgasm,0\napogee,4\nannie_and_the_mirror_goat,3\nmoblie_(character),4\nnight_(nightfaux),4\nmodpone,4\nmisaki_furry515,1\nanon_(snoot_game),4\nmagnetiorchid,1\ngastropod_humanoid,5\ndragonweirdo,1\nneozoa,1\nverbal_reaction_to_tf,0\ntapestry,0\nbattlefield,0\nlundi,1\nlettuce_(artist),1\narm_around_shoulder,0\nmatt_(scratch21),4\nsouth_park,3\nsea_anemone,5\npugthe2ro,1\nyakou,1\ntwilight_stormshi_(character),4\nthe_stag,4\nziggy_fox,1\ndenmoko,1\ndesktop,0\ngeng,1\nbattlerite,3\nnight_glider_(mlp),4\nlocked,0\ncreaturecorp,1\nmotmot,5\nevening_gloves,0\nrelevancy,1\nnightlycatgirl,1\nmugshot,0\nhelemaranth,1\nbat_symbol,0\nqueen_(deltarune),4\nbunnie_love_(character),4\nyellow_tank_top,0\nannie_(anaid),4\nreggie_(whygena),4\nyellow_neckerchief,0\ntwo_tone_balls,0\ntentacles_from_pussy,0\nbeanish,5\nviddharta-joshua,1\nleila_snowpaw,4\ncell_(dragon_ball),4\norange_gloves,0\ngroping_chest,0\nsen_grisane_(artist),1\ntwister,3\nheart_glasses,0\npush,0\nkunn_(artist),1\ndrooling_cum,0\nfoxyghost,1\nzayats,4\nkate_(jakethegoat),4\ncharlotte_(phurie),4\nbludermaus,1\nbsting,1\nhorngasm,0\nteitoryu,1\nharpy_humanoid,5\ninkart_flow,1\nsuper_monkey_ball,3\nthescarletdragon1,1\nolder_herm,0\ncowardlion,1\nlizardman_(artist),1\nimpreza,4\nkruth666,1\nkatxfish,1\nbody_jewelry,0\ntail_on_furniture,0\nboulder_(mlp),4\nnose_kiss,0\nby-nc-sa,3\npurity_the_hedgehog,4\nlotus_pose,0\nvera_(frisky_ferals),4\nnarmaya,4\nlock-wolf,1\ncanine_teeth,0\nelectivire,5\nsila_dione,4\nverbal,0\nwooden,0\ncum_in_own_ass,0\ncandy_(mrmadhead),4\nsecurity_camera,0\nestper,1\npassionatefloorromance,1\norange_hoodie,0\nflushed,0\npattern_kerchief,0\ntacet_the_terror,4\nbilabee,1\ngapao,1\narti4000,1\nkaji_(karnator),4\nnecrozma,5\nbudgerigar,5\nilluminatii,1\nhair_tied,0\nsheath_tuft,0\ngrace_mustang,4\nwolfeed,1\nmaaia,1\npowderkona,1\nthunder-renamon,1\nrj_(over_the_hedge),4\ncapt_hairball,1\nforeskin_bite,0\nweeniewonsh,1\nwarning_(fluff-kevlar),4\njumpjump,1\ngirls_frontline,3\nskippy:_adventures_in_bushtown,3\nzlatavector,1\nmaladash,4\nabe_(mikrogoat),4\ncurls,0\npenis_hold,0\ncham22,1\nsakimichan,1\nanthro_penetrating_taur,0\nsamantha_whitten,1\nhakuro_(onmyoji),4\ntolpain,1\nbowl_cut,0\nshadowfirdark,1\ncoypowers,1\nmuhjob,1\nred_carpet,0\nranok_(far_beyond_the_world),4\ndark_bottomwear,0\ngabe_(james_howard),4\nmale_and_female_submissive,0\nvillmix,1\ndramatic_lighting,0\nplaying_violin,0\njoss_(funkybun),4\nlittle_cato,4\nwavy_horn,0\ncum_on_own_tail,0\npunch-out!!,3\nsmaug,4\nkatta,5\nranni_the_witch,4\njapanese_hare,5\ngreen_lightsaber,0\nmountain_dew,3\nallannocte,1\ntwin_ear_bows,0\npenis_on_belly,0\nyellow_bow,0\ndamsel_in_distress,0\nhiona,4\ncdi,1\nambient_coral,5\nhth_studios,3\ndrive-thru,0\nfeces_everywhere,0\nmonotone_socks,0\nmilkwyvern,1\nregigigas,5\nnongenerous,1\nmorgana_(lol),4\nkarin_(tetetor-oort),4\nyu_chi_i,1\ntotally_spies!,3\nnyurora,1\ntwintails3d,1\nprint_bottomwear,0\nkrista_(zillford),4\nqueen_(alfa995),4\nmixed_cum_impregnation,0\ndildo_shitting,0\npanzerschreckleopard,1\nfoe:_project_horizons,3\ncricket,5\ncobb_(shade),4\nnina_tucker,4\nyellowroom,1\nleafdog,1\nalanottaviano,1\nliz_(eye_moisturizer),4\nmilk-jug,1\ntoodles_galore,4\nskull_earrings,0\nmagic_hands,0\nsatina,4\ndodger_(disney),4\nmaguro,1\nudder_breasts,0\nroyluna,1\npillow_fight,0\ndragonmaid_(yu-gi-oh!),5\nsuperhypersonic2000_(artist),1\namber_williams,1\nthe_smurfs,3\nlunarlacepony,1\nshlick,0\ncorset_dress,0\nsdx3,1\nwolverine_(marvel),4\nschool_bag,0\nxxangeluciferxx,1\nbrown_coat,0\nthiccwithaq,1\nstranger_things,3\nfursin,1\nrosy_firefly,4\ntabbycat,5\nrevoli,4\nwall_bondage,0\nmalamar,5\ngame_grumps,3\nwindow_sill,0\nred_ear_fins,0\nkabuki_homewood,1\nworshiping,0\nlewdookami,1\nmilo_nettle,1\nsaltwatertoffee,1\nlooking_around_corner,0\ndingbat,1\nkirin_(mh),5\nracoonwolf,1\npink_chastity_cage,0\ncrocodile_(petruz),4\ndisembodied,0\nnon-euclidean_penetration,0\nnovus_(kitfox-crimson),4\nhuman_on_female,0\nyessys,1\nforrest_(chump),4\nnap,0\nginga_nagareboshi_gin,3\ndipstick_horn,0\nshira_kaisuri,4\ncinna-tree,1\nchav,0\nlerico213,1\nacreep,1\ncover_them_up_slut,3\nlc79510455,1\nnongqiling,1\ntush_(character),4\nblack_piercing,0\nfvorte_(character),4\npheronoa,4\nstuff_gag,0\nblown-ego,1\nadult_fink,4\nclothing_theft,0\nsakaeguchi_okarina,1\nitomic,1\nflight_attendant,0\nthundergrey,4\ncosmog,5\nbarrin84,1\namber,4\nexcessive_lactation,0\nzhekathewolf,1\nrattfood,1\norange_lesbian_pride_colors,0\nren_amamiya,4\nclown_makeup,0\nuokkom,1\nflailing,0\nkevintheradioguy,1\nhokku_(artist),1\nassisted_peeing,0\nmitsuko_(spacescape),4\nmoirah,1\ndeer_prince,4\nglowing_ears,0\nback_wings,0\nrubik's_cube,3\ntamfox,1\nwing_hug,0\nsuspended_via_tentacles,0\nmulticolored_text,0\nbarbonicles,1\ngorou_(genshin_impact),4\ndiving_suit,0\nsteelix,5\nhyu,4\npallas's_cat,5\nchani_(ajdurai),4\nrz54,1\ntehbluebubble,1\ndaycare,0\nsverhnovapony,1\noffering_to_another,0\nbussaca,1\nmagical_masturbation,0\nkitt_kitan_(character),4\nboke_(artist),1\njolt_(fuze),4\nrubberskunktoo,1\nyurari_yr,1\nvitaly_(madagascar),4\nplunging_neckline,0\nla-frugele,1\nblooper,5\nthe_loud_house,3\nflay_(wingedwilly),4\nthash,4\nblue_thong,0\nsubmarine,0\nlux_(lol),4\nmachimotetaikou,1\nfaggotrat,1\nmulti-word_onomatopoeia,0\ngammamon_(ghost_game),4\nyopy,1\nsea_turtle,5\nwolf_children,3\ndark_magic,0\nyaya_panda,4\njumperkit,1\nduplicitousmachine,1\nscott_ramsoomair,1\nblade_wolf,4\nwdh3905,1\nwalking_away,0\nxoti_(artist),1\nd-wop,1\nmotogen,1\nraidramon,5\nshushup,1\nnipple_band-aid,0\nmuh-arts,1\nfortunefox,1\nzinzoa,1\nnekojita,1\nhomura_(homura_kasuka),4\nkevemperor,1\nmarge_simpson,4\nsarafina,4\ncm26,1\npewdiepie,3\nidlecil,1\nyano_(odd_taxi),4\nraptorroper,1\nunknown_worlds_entertainment,3\nblack_corset,0\nzexyprof,1\ncontrast,0\nkaya_(knockedoutdragon),4\nprincess_samoyed,1\naxis_(character),4\nfen_(lagotrope),4\nelise_(sousuke81),4\nrog_minotaur,1\nmalekart,1\nictonychine,5\nmare_do_well_(mlp),4\ntora_chitose,4\nchaoz_(chaozdesignz),4\nmatt_donovan,4\naustin_(night_physics),4\nsonichu_(character),4\nanal_kiss_mark,0\nforced_masturbation,0\nman_bun,0\nlight_chest,0\nbotak,1\nkarkat_vantas,4\nshirokuma,4\nniviox,1\nzehn,1\nmo_to_i_chi,1\ndreke,1\nterrabutt,1\nsavagelyrandom,1\nowahi_ego,1\ndoktor-savage,1\nbaterco,1\ndenatontr,1\nsyl_(fvt),4\nmononi,1\nskipsy_dragon_(character),4\neddie_puss,4\nmiu_vamcat,1\nbistup,1\ngoatse,0\nthank_you,0\ndancer_outfit,0\ngender_symbol_penetration,0\nkaiju_girls_(webcomic),3\ntofuubear,1\nfrostedchase,1\ntokumori_kaisen,1\nfemale_on_taur,0\nlongma,5\ndeviljho,5\nakuma_gaoru,4\nspunky_mutt,1\nkifyun2,1\nleon_henderson,4\nstudying,0\nshashe'_saramunra,4\ntheo_hightower,4\nliard,1\nhexami,1\nharem_pants,0\nlindong,1\nneylatl,1\nlactaid,3\nzzx,1\nm16,0\ngloom_(pokémon),5\nclifford_the_big_red_dog,3\nhazard_symbol_print,0\nelesa_(pokémon),4\nmuramasa:_princess_commander,3\nbreast_creature,5\nspot_(arknights),4\nlonewolffl,1\ncosplay_lolita,0\ncumjarbunny,1\nkemonono,1\nyukari_yakumo,4\nqtipps,1\nteal_pawpads,0\nbackless_dress,0\ninsignia,0\nzilla,4\njiandou,1\nloyse,4\nirony,0\nsalmy,4\nbeelzemon_(artist),1\nmiri,1\ntephros,4\nstar_dragon,5\njodira,4\nambrosia,4\ntarzan_(disney),3\ntheothefox,1\nrope_gag,0\nseljhet,4\ngreen_robe,0\nallie_von_schwarzenbek,4\nimpala,5\npanko_(lawyerdog),4\ndo_obmmm,1\npantheggon,1\neraquis,1\nmodo_(bmfm),4\nperspective_text,0\ncamcroc,1\nelbow_fin,0\ng-cat,1\nhumanoid_on_bottom,0\nlatch,4\nclothed_masturbation,0\n4_tails,0\ndabelette_(character),4\ncum_from_ear,0\nfaunoiphilia,4\nbounty_hunter,0\nralek_(oc),4\nslingshot,0\ncrustacean_humanoid,5\nmuetank,1\n20:29,7\ntania_tlacuache,4\nannham,1\nhexagram,0\nsek-raktaa,4\nvinesauce,3\norange_jacket,0\nbody_slider,0\norca_(artist),1\nkira_nerisu,1\nholding_carrot,0\nunderwater_view,0\ntron,3\nsyntech,1\nshermugi,1\nheaddress_only,0\nkalimah,1\naudiophilliac,1\n2020_tokyo_olympics,3\nbruised_eye,0\ntoucan_sam,4\nshake,0\ndrew_dubsky,4\nlove_ball,0\nback_scar,0\nfuse,0\nwrinkled_soles,0\nanal_juice_drip,0\nhaley_sturmbringer_(character),4\nvibershot,1\ncombat_helmet,0\nfurmessiah_(character),4\ntheslimedragon,1\nqueen's_stallion,5\nxpray_(character),4\nravindra,1\nhair_dye,0\ncupcakes_(mlp_fanfic),3\nmkcrown,1\ngofa,1\nyuureikun,1\ncorndog,0\nbored_user,1\ntetraodontiform,5\nprometheus_(franchise),3\nthomas_ii_(zer0rebel4),4\ntrixie_(jay_naylor),4\ntamacolle,3\nhelena_(bonk6),4\nvoid_elf,5\nplatform_shoes,0\ngamecube_console,0\nforced_autofellatio,0\ndenied,0\nbig_udders,0\ngreey,1\nbutterchalk,1\nside_b,4\nno3512,1\nfirebadger,1\nkabrro,1\ndnk,4\nhammerhead_(petruz),4\n4ears_5eyes,1\ndesert_eagle,0\nmonster_world_(series),3\nurine_on_arms,0\ngravelurkertsk,1\nwetsealky,1\nfeline_tail,0\nrequestfaeg,1\ncyberia,3\naoniya_yuudai,4\nhuckle,4\ncoderenard,1\nhair_sex,0\nidolmaster_cinderella_girls,3\ndark_spots,0\nair_conditioner,0\ncalolily,1\nmale_non-humanoid_machine,0\nmowgli,4\nsquidapple,1\nxd,0\ncalvin_mcmurray,4\ncarving,0\nthroat_biting,0\nechinozoan,5\nlactaid_cow,4\nnate_(8chan),4\ninukon_geek,1\nquetzalcoatl,4\nswiftsketchpone,1\nnood1e,1\nsallandril,1\nagent_classified,4\nvela_(kagekitsoon),4\nakhlys,4\nfuzzikayu,1\nmarco_(adastra),4\nryukawa,1\nshoe_sniffing,0\njazzabelle,4\nmayan_mythology,3\ncowification,0\ncum_from_eyes,0\ncobu,1\nconjoined_thought_bubble,0\noata_rinsky,4\nexperiment_627,4\nhoward_(james_howard),4\nconcern,0\nmale_fingering,0\nprovocative,0\ngastropod_shell,0\nsixpathoffriendship,1\nnaivintage,1\nyarpi,1\nsnacks,0\nhax-the-monster,1\nwhitev,1\nbeartouma_0517,1\nantiander,1\nfoot_on_crotch,0\ndisc,0\nwhite_bow,0\nsurfing_charizard,1\nkleinvoimond,1\njay-r_(character),4\nwiredhooves,1\ndish,0\ndisney_fairies,3\nclassified-crud,1\ncheetah_print,0\ncinko,1\nsweetie_bot_(mlp),4\ntransformers:_animated_(2007),3\nluca_paguro,4\nred_heels,0\nslime_rancher,3\ncydergerra,1\nstyx_(jelomaus),4\nriipley,1\nharry_amorós,1\nnightmare_chica_(fnaf),4\njanitor,0\nvrchat,3\nskulldog,1\nthe_vore_house_of_klyneth,3\ndatfurrydude,1\nmonster_mind,3\nflair_projects,1\nshuckle,5\nbanglow,1\nzoey_(jwinkz),4\nwarning_sign,0\nskull_necklace,0\nricky_landon,4\nsonia_(pokémon),4\norangusnake,4\nrex_(disambiguation),4\nyellow_sweater,0\nangel_the_catgirl,4\nhidden,0\nchooy64,1\nnarrow_legs,0\neruprior,1\nnatsuki_takano,1\nuncle_and_niece,0\nzone-tan,4\nstake,0\ngardenminttea,1\ntrypophobia,0\nnero_eternity_(artist),1\ncumminham,1\nkaiyonato,4\nkiss_the_carrot,1\ndandee_(character),4\nnekoyuu,1\ntala_(fluff-kevlar),4\nmoomba,5\nxeono,1\nricharddeus,1\nthe-hydroxian,1\nflashing_panties,0\nnecroizu,1\neye_creature,5\nchatting,0\ndeli_(delirost),4\nthe_red_prince,4\nfchicken,1\ntaku,1\nsymbianl,1\nshuppet,5\nsfmoclock,1\nweisswinddragon,1\nclub_penguin,3\nikasama,4\nsheath_fingering,0\nudder_growth,0\npenis_drawing,0\nkobu_art,1\nrt0no,1\nnicolaowo,1\ndonk_sis,4\npunkinbuu,1\npingpenne,1\nblue_heart,0\nbrain_(inspector_gadget),4\nkatsuki_bakugou,4\nicy_heart,4\ngrey_membrane,0\nlooking_at_panties,0\nkazerad,1\njayjay_(zoophobia),4\nhat_on_penis,0\nunder_balls,0\nkalasiris,0\nren_(daikitei),4\nblue_antennae,0\nsnowy_(creatures_of_the_night),4\nsaffira_queen_of_dragons,4\nhel_(shiretsuna),4\ntwo_tone_nose,0\nquote_(cave_story),4\nshaking_breasts,0\nshadyadi1,1\nfullfolka,1\nshyvana,4\nmaster_emerald,0\nzephyr_(dragon),4\ntoraya_inugami,1\nsethrak,5\ndany-j,1\npharynx_(mlp),4\nkiseru,0\nnsfwronin,1\nreiko4835i,1\ndirtyrenamon,3\npetted_silly,0\nkarzahnii,1\nhoof_heels,0\ngloryworm,1\nshephira_(cert),4\nligoni,1\nedgar_rice_burroughs,1\nbunnyfeet,1\ndimonis,1\nsupernatural_stimulation,0\nhoppip,5\nsidni,4\nace_of_hearts,0\nboa_constrictor,5\nmonotone_shorts,0\ngreenlinzerd,1\ntail_around_neck,0\nhand_on_hat,0\nxnassyx,1\nawkwardzombie,3\ncream.pup,1\nken_(claralaine),4\nmobian_hedgehog,5\ntasque,5\nfootball_field,0\ndracozolt,5\nfighterjet,1\nblacklite,1\nbiobatz,4\nskelbely,1\n:q,0\ndangling_legs,0\nlatex_elbow_gloves,0\nbraided_mane,0\ntransformation_potion,0\nbelt_bra,0\ntemtem_(species),5\nluther_denholme,4\ndisturbed,0\nruby_(rubyluvcow),4\nfootball_uniform,0\nxasyr,4\npencilsdgr,1\nmorrowind,3\nsilentravyn,1\nzebra_print,0\nzony,5\nheart_formation,0\njohn_doe_(artist),1\ndrpickelle,1\nmaster_shifu,4\nasymmetrical_transformation,0\ntach8,1\nmomorodent,1\njoel_mustard,4\nstriped_gloves,0\nred_jewelry,0\nprimeape,5\nmeshpet,1\npoduu,1\ndiego_abel,4\nenergy_wings,0\nsaurus,5\nrenard_queenston,4\nbrachydios,5\nracing,0\ntennis_court,0\nhuge_moobs,0\nband_shirt,0\ndiamondstorm,1\ntriuni,1\nrayman,4\nanal_object_insertion,0\ncoconut_bra,0\nlyon_carter,4\nchangle_(ffjjfjci),4\ngold_clothing,0\nbingo_heeler,4\ncausationcorrelation,1\nflukes,0\npelvic_thrust,0\nwater_break,0\nkitchen_stove,0\nleatherhead,4\nwurae,5\nlesser_dog,4\ndark_pawpads,0\nitem_box,0\nliving_appliance,5\nham,0\nmomdadno,1\nthistle_(frisky_ferals),4\nzaboom,1\nbookmark,0\nmagnus_(spyro),4\nholding_each_other,0\nvexus,4\nzajice,1\narkanman,1\nthegreatrouge,1\nraised_sweater,0\nsolutionwcs,1\nlazuli_delarosa,4\npussy_slip,0\ncondom_in_pussy,0\nxc404,1\ntongue_wrapped_around_penis,0\nazurei,1\nqwertyigloo,4\ntoejob,0\nfate_valentine,4\nrose_(skybluefox),4\nheart_shaped_box,0\nglamrock_bonnie_(fnaf),4\nakai,1\ntanithjackal,1\njin_macchiato,4\nal_(weaver),4\nalmos-tiroshi,1\nzevex,1\nblue-eyes_white_dragon,4\nkrunch_the_kremling,4\njay_(oc),4\nbaconfetish'ntomato,1\nhinata_hyuga,4\ndropping,0\nbreastwizard,1\nsinibun_95,1\nspitfire_(hideki_kaneda),4\nbri_(ennismore),4\nscrewball_(mlp),4\nrim_light,0\nterrakion,5\nmama_maria,4\nvinejob,0\nlyre,0\nrokito,1\nsnowcheetah,4\nwolfdawg,1\ng_brigander55,1\nspotted_butt,0\nwildwolfproduction,1\ncubicle,0\nಠ_ಠ,0\nthink_mark_think!,3\nthe_great_warrior_wall,3\nkato200_0,1\nsha_(twf),4\nfive_nights_at_freddy's_ar,3\nchemistry,0\nthemeshow101,1\nchoo-choo_(top_cat),4\nfth_transformation,0\ngreen_armwear,0\nstains,0\nforastero,1\ncrocs,3\ndishka,1\near_nom,0\npandawa,5\nayden_feuer,1\nplesiosaur,5\ncat_food,0\nadam_caro,4\nyumei,1\npavement,0\nsnickerlewdles,1\nforced_to_penetrate,0\nreallydarkandwindie,1\nlocksto,1\npink_legs,0\n7:6,7\nsolid_hooves,0\nred_neckwear,0\ngame_background,0\nbayron_(artist),1\nvambrace,0\ntime_travel,0\nbending,0\nresting_arm,0\nstilettopink,1\nhorn_ribbon,0\nbio-android_(dragon_ball),5\ngift_tag,0\nmutt_(wagnermutt),4\nrotalice2,1\nsexylinguini,1\nmei_(artist),1\nplaneswalker,4\nshlorp,0\nnight_time,0\nbadquinque,1\nworkplace,0\ncardiac_monitor,0\nmoth_sprout,1\nholding_ice_cream,0\ntop_in_heels,0\nholding_comb,0\nvck,1\nblue_fin,0\nhomeless,0\nember_(warframe),4\nashlee_hurwitz,4\ntongue_around_penis,0\ndragon_quest_v,3\nflower_hair,0\nskull_grunt,4\ngear_(mlp),4\nfully_submerged_legs,0\nfuzefurry,1\nfadingsky,1\nthetyrant,1\npixxy_fizzleclank,4\nsergeantbuck,3\nfrancine_(ruanshi),4\nwhite_muzzle,0\nglistening_thighs,0\nbelly_on_glass,0\nanthony_(goldiescales),4\ncotton_swab,0\nhung_bottom,0\nglistening_ears,0\nharpoon,0\nurine_meter,0\nsnus-kun,1\ndarth_talon,4\ndj-rodney,1\namber_(disambiguation),4\nurethral_fisting,0\negg_belly,0\nmr5star,1\norange_hat,0\nfire_eclipse,4\nmuscular_maleherm,0\nadelar_elric,1\nskeletonkid5,1\nriley_(s-nina),4\njasmine_ivory,4\nfuf_(character),4\ndragroon,1\nwood_table,0\nshrink_ray,0\nsphere,0\nterrenslks,1\nboobipede,5\nkekpafrany,1\ntaking_selfie,0\ncorsola,5\nisaki,1\nblazedscarf,1\nbootydox,1\nzahra_(airheart),4\nspinneborg,1\nskeletal,0\nathus,1\ntbfm,1\ncosmo_(artist),1\ngilgash,1\njuniper_(freckles),4\nkerun,1\nnotepaddy,1\ncum_on_hoof,0\nguided_penetration,0\ndolphydolphiana,1\ngolisopod,5\nbullet_hole,0\nskull_symbol,0\ngreat_horned_owl,5\nmarsha_twilight,4\nfelicia_(tahlian),4\nbethesda,3\nknight_(towergirls),4\nashchu,4\nfatzoimp,1\npurple_briefs,0\nhigh_elf_archer_(goblin_slayer),4\njames_killian_spratt,1\nthe_nightmare_before_christmas,3\nbig_obliques,0\ngraedius_(character),4\nmulticolored_nose,0\najani_goldmane,4\nxia_(cydonia_xia),4\nmarisa_kirisame,4\nfursat,1\nspiderweber,1\nibgross,1\nzolombo,1\naura_spark,4\nblack_kerchief,0\nextracurricular_activities,3\nliquefactiophilia,0\nnanogrrr,1\nretros,1\nlobar,1\nshouta_magatsuchi,4\nazurill,5\ncupless_bra,0\nmudkipful,1\nmillennium_dragon,5\nmorning_after,0\nshaking_hips,0\ndarkereve,1\ndiaper_squish,0\nblue_antlers,0\nrainbow_stockings,0\njuggling,0\nsemple,4\ntucker_chimera_(fma),5\nrekuuhh,1\nlicking_nose,0\nminotaur_hotel,3\nhaziq_(hazumazu),4\nengagement_ring,0\norgasm_from_handjob,0\nsheppermint,4\nxbox_wireless_controller,0\ntaigerarts,1\nhappyroadkill,1\nkamina1978,1\ntornado,0\nenjoyment,0\nremake,0\nhawke_(mastergodai),4\nenvy,0\nabbi_(kilinah),4\nshrink,0\ngiovanni_(pokémon),4\nmask_off,0\nblue_teeth,0\ndotoro_(artist),1\ndrooling_onto_other,0\nsky3,1\nmighty_magiswords,3\nperec,4\npeppercake,1\nfainting_couch,0\naspenofsimpcon,1\nzack_(naruever),4\nillumise,5\naperture_logo,0\nlucha_libre_mask,0\ncomic_portrait,0\noniiyanna,1\njaxonian,1\nrannik,4\nnirriti,1\nsleepy_princess_in_the_demon_castle,3\nvaginal_stretching,0\ncesar23,1\nsegremores,4\njjem1920,1\nallbadbadgers,1\nid_card,0\nspeckled_body,0\npuccaruu,1\ngali,4\nevolutionary_stone,0\nfake_rabbit_tail,0\nnapalm_(artist),1\nmulticolored_collar,0\nsally_hazel,4\nwereequine,5\narm_wrestling,0\nverbal_abuse,0\nwhite_egg,0\nindigochto,1\nmephiles_the_dark,4\nbaigak,1\nmr._kat,4\nwolfyama,1\ndiskodeath,1\nkelp,0\nyellow_hoodie,0\ntwistedlilheart,1\nskyvo,1\nmarothedarkrabbit_(artist),1\nbanjo_(instrument),0\nimminent_tentacle_sex,0\nshyybuchi,1\nlily_(flower),0\naura_sphere,0\nscanty_daemon,4\nshu_(legendz),4\ntennis_ball_in_mouth,0\nfart_sniffing,0\nporo,5\norange_beard,0\npurple_blush,0\norange_sheath,0\nbrush_(benju),4\nziravore,1\nkittehkatbar,1\ntv_dinner_art,0\nstyx_y._renegade,4\nmerchant_ship,0\nsix343,1\nmarshmallow_fluff_(character),4\nbelly_piercing,0\nginnosuke,1\nnelldemon,1\nshadowreindeer,1\nmukomizu,1\ninflated_belly,0\nmicki,1\nurine_inflation,0\nclyde_(discord),4\ngunnar's_dad,4\ncontract,0\nlocation_in_dialogue,0\nbrown_skirt,0\nprehensile_footjob,0\nshenanimation,1\ncum_hose,0\nvoki_(youwannaslap),4\norganic_high_heels,0\nm-47,1\ntahoe,4\non_stage,0\nkibacheetah,4\ntitanfall,3\nkon_the_knight,4\nstopwatch,0\nlopoddity,1\nritual_sex,0\nwe_baby_bears,3\nbelly_dancing,0\ndetnox,1\nfurzota,1\nboshi,4\nombwie,1\nhashire,1\ncaramel_carnivale,3\njoeydrawss,1\nammit,4\npop_(sound_effect),0\nassisted_fellatio,0\nmarbled_polecat,5\narcane_shade,4\nmonotone_collar,0\nblack_harness,0\ncayo,1\ngosha_(beastars),4\npawn,1\ndarknud,1\ncyan_hijirikawa,4\ncatoblepas_(tas),4\ntentaclothes,0\ngametimeasia,1\ncarcharodontosaurid,5\nsanusanu,1\nleon_(haychel),4\noumseven,1\nsplit_personality,0\nlittle_buddy,3\npussy_to_mouth,0\nrunningtoaster,1\nkolshica,1\nclothed_female_nude_gynomorph,0\nlumberjack,0\nscrubs,0\nlogan_grey,4\nwhite_bedding,0\nsitting_on_head,0\nwintersink,1\nmultiple_partners,0\ndan_and_mab's_furry_adventures,3\nevergreenplate,1\nthechavicgerman_(artist),1\ned_(scratch21),4\nsevered_limb,0\nlight_legwear,0\nvagina_dentata,0\nchibi_(c1-11131),4\nkess_(coffeechicken),4\nholding_bulge,0\nemperor_penguin,5\netrius_van_randr,4\nkikimora_(the_owl_house),4\nessence_of_rapture,1\nzergling,5\ncheri_(atrolux),4\ngame_show,0\nmawmain,1\nvine_bondage,0\ntouching_breast,0\nlinen_lolita,1\nreggie_(james_howard),4\ncosma_(ok_k.o.!_lbh),4\npainted_breasts,0\nosmar-shotgun,1\nlinkle,4\nanal_birth,0\nriddlr,1\nblue_robe,0\nlooking_at_sex,0\nlittle-gray-bunny,1\nazrealm1,1\nniffty_(hazbin_hotel),4\nnine_frame_image,0\ngiga_mermaid,4\nfallenfolf,1\nshirley_the_loon,4\ncidea,1\nfoot_ninja15,1\npullmytail,1\nimminent_transformation,0\nshinystarshard,1\nuchiwa_fan,0\nhisashino,1\ngevual,1\n16:11,7\nlying_on_breasts,0\nsaliva_on_chin,0\namalia_(claralaine),4\nranch,0\nrinka_eya,4\nsagara_shino,1\nslight_smile,0\nvjsins,1\ntarzan,3\naoino,1\nsandunky,1\ntentacle_spitroast,0\nsebastian_(kadath),4\ngreen_inner_ear_fluff,0\ndebudraws,1\ninktober_2021,3\nbard-bot,1\ntail_collar,0\nempyu,1\npika,5\nqueenbloodysky,1\nhellboy_(series),3\nwaistband,0\nfumes,0\nmidori_(nakagami_takashi),4\nboneless_hamham,1\nmiscellanea404,1\nwammawink,4\nrenaissance,0\nsnakehead404,4\nkblankii,1\nrady-wolf,1\ncebid,5\npurple_fingernails,0\nobscured_masturbation,0\nrileysockfoxy,1\ndelisle,1\npeeka_(mario),4\nelfilin,4\nbig_hero_6,3\ntoybadgers,1\nbronx23,3\nbell_piercing,0\nskitter-leaf,1\nabomasnow,5\nfully_submerged_tail,0\naaron_amethyst,1\nblue_bow_tie,0\nit's_a_trap,0\nsfan,1\n7nulls,1\nkraken,5\nbite_mark_breast,0\nbeastkin,5\nzankuro,1\nhandjob_while_masturbating,0\nvirus_(organism),5\nmacro_penetration,0\ndestroyed_vehicle,0\nboo_(sonic),5\ncamgirl,0\nself_hug,0\nquitetricky,1\nfish_bowl,0\nnorithecat,1\nyuricrabking,1\nalexz_(artist),1\ntex_avery,3\nmilk_drip,0\nmudwing_(wof),5\ngaikotsu,1\nunderwear_transformation,0\naosano_tenpura,1\narm_fin,0\ndebudave_12,1\ngrimm_(hollow_knight),4\nlucky_star,3\nblossom_(battlerite),4\ncolelucario,1\ndark_breasts,0\nwaffle_ryebread,4\nliving_onahole,5\nsenbiku_mew,1\naryani,4\nholding_wand,0\nfauna_(animal_crossing),4\nleto_(letodoesart),4\ncum_from_offscreen,0\nwreck-it_ralph,3\nalilkira,4\nsylvane,4\nglistening_footwear,0\nlight_legs,0\nmuriat,4\nolympiaxylaige,1\npoisonkinoko,1\njumper,0\nmagic_penis,0\ncerbera,1\nhearts_around_upper_body,0\nbrll,1\nbecky,4\nkirby:_planet_robobot,3\ninside_train,0\nbella_(animal_crossing),4\nmaru_(marujawselyn),4\nmohumohuotou,1\ncelebi-yoshi,1\npremier_ball,0\nwhite_seam_briefs,0\nfuku_fire,4\nverybatty,1\ncliff_(unpopularwolf),4\nby_dream,1\ncathyl_(monster_musume),4\nsuspicious,0\nluna777,1\nforced_feminization,0\nfylk,4\nprecum_in_mouth,0\nheaven,0\nrocky_shore,0\nkrabby,5\ndash-the-cheetah,1\nhachirouta,1\nfabienne_growley,4\nkyuq,1\ngato_matero_(character),4\np5ych,1\ntit_(bird),5\nrazorsz,1\nclive_(doneru),4\nparka,0\npaya,4\npushmi-pullyu,5\nzen-sin-temple,1\nunusual_feces,0\nalbedo_(overlord),4\nproby,4\nkingparked,1\nelinor_rabbit,4\nsapphire_(anglo),4\nhera_(hera),4\nsecret_of_mana,3\ndale_(ponehanon),4\ncigar_in_mouth,0\ncreesa,1\nswatch_(deltarune),4\ncorporalbackrubs,1\npurple_beak,0\nmoltsi,1\ncovering_nipples,0\ntre_(milligram_smile),4\nsertaa,1\nholding_gem,0\nside_shave,0\nhand_on_own_chest,0\nmarcofox,1\nblack_hairband,0\nnirvana,3\nsuvaru,1\npython_(genus),5\ncreaking,0\nhenka,1\ngreen_flu_mutant_(left_4_dead),5\nbrianne_(spikedmauler),4\nthehonestrival,1\nlowkey,1\ngallgard,4\ni69himdaily,1\nshamanguli,1\nmackstack,1\ntarah_(fvt),4\nfruit_print,0\nrawrcharlierawr,1\nfatelogic,1\nkoki,1\nambrosine92,1\njojobiz,1\nnik_(nik159),4\nrokiloki,1\nx1aoyaoya,1\nfirefly8083,1\nplaster,0\nmilkyway_(truegrave9),4\njock_protagonist_(tas),4\nkurogewapony,1\ncorridor,0\nlight_topwear,0\nsomali_cat,5\nvic_(animal_crossing),4\nempressbridle,1\ntradelt,1\nkasuka_(kusuki),1\nyoako,1\nfrostbite_(rubberbuns),4\nno_internal_organs,0\ntanner_(mao_mao),4\nnick_(the_xing1),4\nrugby,0\ndiana_(thecon),4\nsweetie_(paw_patrol),4\nmglblaze,1\nzsisron,3\nupside_down_cross,0\nkyoko_usagi,4\nbreeder,0\nsparkler,0\noouichi,1\nkingjion,1\nweirdkoaladream,1\ninfested_kerrigan,4\nnasty-pink,1\nswish,1\nclitoris_ring,0\nstriped_bra,0\nweezing,5\nthe_secret_lives_of_flowers,3\nsugar_(gats),4\nritter,1\nthane_(armello),4\narm_stripes,0\nyutakira92,1\nintersex_prey,0\nyorutime,1\ngrenade_launcher,0\nsara_(phrannd),4\nikanomaru,1\nmta_transformation,0\nkonomofu,1\ncum_writing,0\nwater_humanoid,5\ncuteskitty,1\nblack_bracelet,0\nhakkids2,1\ngnu,5\ncoral_reef,0\non_toilet,0\nbugbear,5\nstarmie,5\ndarke_katt,4\nchimereon,5\nturning_around,0\narchshen,1\nbearmon,5\nred_pikmin,5\nheartthrob_cafe,3\ncato_(peritian),4\namanda_(simonaquarius),4\nmochimochi39mo,1\nphiladelphia_eagles,3\nabby_doug,4\nmiitopia,3\noblivionrising,1\nmeer,4\njammerhighwind,1\nbmw,3\nlight_feathers,0\njelomaus,3\nmermaidification,0\ndesidobie,4\nclothed_intersex_nude_intersex,0\nmaria_(pancarta),4\npestil,1\ndakimakura_style,0\nbored_sex,0\nluka_cross,4\ncaprine_taur,5\njapanese_bobtail,5\nnymlus,4\npalmarianfire,1\nhikku,1\nthea_stilton,4\npowzin,1\ndustyspaghetti,1\ndaisy_(bcb),4\naxelferdinan,1\ntrinidad_motmot,5\nhonky_kat,1\nalicorn_amulet,0\ndumbo_(movie),3\npoliwag,5\ncarrying_position,0\npeeing_together,0\nrose_dandy-ba,4\nanso/rez,1\ntriple_d_(101_dalmatians),4\nkathy-lu,1\nglo-s-s,1\nxsatanielx,1\nmega_gengar,5\nrikku,1\nlipstick_on_body,0\nfacial_expressions,0\ndarkviperbara,1\ngrey_boots,0\nvhs,3\nantenna_wire,0\ntable_humping,0\nfrance,0\nreal_axolotl_hours,3\nwhisker_tuft,0\nselina_kyle_(character),4\nburlesque,0\nursaluna,5\nworld_war_1,0\nlooking_sideways,0\nonyxtanuki,3\npriscillasheep,1\njustsomenoob,1\nnecrosmos,1\nariyah_(meg),4\nsheila_(beastars),4\nx231_(artist),1\npaw_on_penis,0\nstarman,5\nzygarde_10_forme,5\nout_of_frame,0\nartemis_the_absol,4\nground_sign,0\nmultiple_toys,0\nshort_jeans,0\npuazi,5\nice_skating,0\njamie_(novaduskpaw),4\nrick2tails,4\ntv_head,5\nprogress_pride_colors,0\nhead_ridge,0\nlong_bangs,0\nkuuneho,1\nniwatora,1\nlife_ring,0\ndragonsponies,1\nbladder_inflation,0\nnegativetheory,1\nfauvfox,1\nbboing,1\ncumming_while_penetrating,0\ntravis_(zootopia),4\nerdfurry,1\nfrown_eyebrows,0\nnebssik,1\ndark_gaia,4\ncaptain_celaeno_(mlp),4\nisuna,1\npirate_leader_tetra,4\nnoctoc,1\nunrealcereal,1\nfoggy,0\nratteguhn,5\nnavos,4\nbig_cheeks,0\nkhris_dragon,4\ntop_cat,4\nsalarian,5\nsporran,0\nthatwildmary,1\nalchemist,0\npawoo,1\nshoebill_humanoid,5\npleased_expression,0\nreptile_taur,5\nfoot_markings,0\nlatissimus_dorsi,0\njintally,1\nkashino_(azur_lane),4\nkingdra,5\npwcsponson,1\nbegonia-z,1\ntits_(lysergide),4\nq_wed,1\nchief_(animal_crossing),4\nmulticolored_legs,0\nskybeatz,1\nseyumei,1\ngrey_thigh_highs,0\nglistening_bottomwear,0\nmeidri_(interspecies_reviewers),4\nsonicfox,3\nkoorivlf_tycoon,4\nshaka,0\nangela_(badgerben),4\nalios,1\nmadturtle,1\njaguar_humanoid,5\nbravo44_(artist),1\nkiba_kurokage,4\nhandmantoot,1\ngud,1\nbrokowski,1\nperro-kun,4\nriley_(scratch21),4\nefradraws,1\nhand_on_own_ankle,0\ngreycat_rademenes,1\nshino_asada,4\naquaticvibes,1\nkosmonius,1\nblue_armor,0\nsinrizuki,1\n6pklion,1\npseftis_savra,4\nhuntress,1\nholographic_screen,0\nsourou_cerulean_wolf,5\njarmenj,3\ntoshu,4\nlaugh_emanata,0\nzeetar,1\nazumaril,1\nivanks,1\nlolzguy,1\nlong_ponytail,0\ndeimion_j_shadowwolf,1\nmocha_(eikasianspire),4\nsy_noon,1\nlower_lip,0\nice_climber,3\nbukikobuta,1\nblue_coat,0\nfutaba_kotobuki,4\nmilklemon5127,1\ntongue_in_mouth,0\nletfurry1t,1\nnikku_lunatique,1\nrizkitsuneki,1\nshedinja,5\nfused_arms,0\nlooking_angry,0\novorange,1\nferima,1\nferro_the_dragon,4\ncrucifixion,0\nred-9,1\nmahmapuu,1\nfisk_cerris,4\neledensfw,1\nbattle_for_dream_island,3\nfloating_limbs,0\nmklr,1\ndauna_(reptilligator),4\ncat_knight,4\nincontinence,0\nsuto,1\nmagister39,1\nolivia_flaversham,4\nzeeb_wolfy,4\njazmin_usagi,4\nsake_bottle,0\nstrange-fox,1\nobject_on_head,0\nmonotone_apron,0\nwebsheck,1\nreceiving_footjob_pov,0\negg_from_urethra,0\nkejifox,1\nshipwreck,0\nsteps,0\nnamihira_kousuke,4\ntarkatan,5\ncorvuspointer,1\nrumour_(kitfox-krimson),4\nno_nut_sabotage,3\nmousepad,0\nballs_in_panties,0\nprosthetic_hand,0\nsilver_sickle_(oc),4\nbdsm_outfit,0\nair6ornepig,1\nhalf_body,0\nred_beard,0\nepisode0006,1\namhidden,1\nciavs,1\nshared_dialogue,0\nitsuko103,1\nkizaruya,1\nfoxra,1\nemperor,0\nzafara_(neopets),5\namy_(fvt),4\nclothed_male_nude_intersex,0\ngoat_ears,0\nanora_drakon,1\njuly_hopps_(mistermead),4\nkenn,1\nson237,1\nmarty_(weaver),4\nslushy,1\nmrsafetylion,1\nmoonlight_flower,4\nwinterwolfy,4\nnotkadraw,1\ncrimellgrim,1\nbaebot,1\nlarge_wings,0\nshenzel,1\ngelatin,0\nbra_pull,0\nfanartiguess,1\namogus,0\ncryozen,4\nshoulder_freckles,0\nobakawaii,1\nlong_orgasm,0\nholding_game_boy,0\nimminent_stomp,0\nsurgicalarts,1\nbloodhound,5\n8_eyes,0\npokemonfromhell,1\nglowing_fungus,0\nnoah_(artist),1\nhand_on_throat,0\ntwistedteeth,1\nugandan_knuckles,3\nmystery_skulls,3\na_link_between_worlds,3\nhungrypaws,1\ngirl_staring_at_man's_chest,3\nkarn_(karn_the_wolf),4\nnyufluff,1\nrhythm_heaven,3\npink_leash,0\nskater,0\nsigned,0\npink_apron,0\nmeicrackmon,5\nbook_cover,7\nreptile_penis,0\njonathan_stalizburg,4\nnaomi_minette,4\nkristall_krit,1\nhumming,0\nwilly_(artdecade),4\narchery,0\ndunkleosteus,5\nfirekitty,1\nalexandra_(david_siegl),4\nshycryptid,1\ngreen_fingers,0\nrodent_penis,0\nnikita_akulov_(nika_sharkeh),4\ndrake-rex,1\nreina_(hypnofood),4\ndarbaras,1\npants_around_legs,0\nchen_stormstout,4\nchest_binder,0\nlandmark,0\nloreking,1\nwhite_mask,0\nbay_(marking),0\nimplied_cunnilingus,0\nrock_humanoid,5\nofficer_mchorn,4\nsusy_sallister,4\nhibiscus_blossom,4\nthe_emperor's_new_groove,3\nmilk_leaking,0\nmaximal,5\nfat_arms,0\nmindoffur,1\nspaal,1\nd.howk,1\nonechan,1\ngroping_breast,0\nknitting,0\nduke_(thecon),4\npseudo_skirt,0\npoisewritik,1\nnoblood,1\nelizabeth_fox,4\nbodice,0\nleg_lick,0\nspotted_seal,5\nsandals_only,0\ngrey_stockings,0\nspread_fingers,0\nanthrosaurs,3\nsweatdrop_(iconography),0\nbirthday_party,0\nnipple_birth,0\natmospheric_perspective,0\nridiculouscake,1\nlowkeydiag,1\nbreast_pregnancy,0\nunderbelly,0\nnihonthedragon,1\nzeta-la-angie,1\ndrift_(fortnite),4\nfuel_gauge,0\nbrahkest,1\nholding_stick,0\nwkd,1\nheadstand,0\nmelissa_(hipcat),4\nfuraffinity_logo,0\noptimus_prime,4\nslurpuff,5\nthescarletartist,1\nchromefox,1\nbow_hat,0\nbirchly,1\nmoe_(kobold_adventure),4\nhoukuko,1\nmonodog_(artist),1\nmako_shark,5\npainted_background,0\nblack_and_white_body,0\ntranslucent_footwear,0\ntoons,0\ndark_border,0\nbare_butt,0\nartmarshmallow,1\ndenim_bottomwear,0\nshearing,0\nspiked_gloves,0\nnikcesco,1\nokono_yuujo,4\ngreen_boots,0\nnikuyoku,1\neye_socket,0\nink-leviathan,1\ngoronic,1\nzoru,4\ntanaka_kusao,1\nceres_(radarn),4\nconfession_booth,0\nalphaaquilae,1\nturboranger_(artist),1\nkwuff,5\nmintytempest,1\nanocris,5\nmaplestory,3\nsubaru_aotk,1\nneferu_(adastra),4\ndeep_fossa,0\nmia,4\nsniffing_diaper,0\nkameloh,1\ndragonheart,3\nsugarnhoney,1\npustule,0\nscissored_leg_glider_position,0\nhighway,0\nfuddy,1\nmitsuhisa_aotsuki,4\nmizumizuni,1\nwhite_kyurem,5\nslowking,5\nimplied_scat,0\nhakumen,4\nmechagen,1\nzaikudo,1\n/fur/,3\npoison_ivy,4\nmaxamilion_the_fox,4\nbamwuff,4\nmorca,1\nrealiron_(artist),1\nvacuum,0\nelecmon,5\nsaliant,1\nvoreception,0\nwaru-geli,1\nwouhlven,1\njanjin192,1\nthe_last_guardian,3\nplatinumeggs,1\njknewlife,1\ndizzy_(dizzymilky),4\nred_jockstrap,0\nchocolate_bar,0\nwitchcraft,0\nfootball_helmet,0\nurine_on_back,0\nheart_container,0\ntomol6,1\nimpending_doom,0\nyttrium_(artist),1\nkei_kun,1\nzaramecatnyar,1\nkosafordraw,1\nvenjiiart,1\niloota,1\nblack_beanie,0\npsyg2,1\nanawat,1\nreverend_(ratte),4\nmulticolored_arms,0\nstrawberry628_(artist),1\nleo_(thetwfz),4\neastern_grey_squirrel,5\nkeiron_white,1\n1990s,0\nfrilled_petal_dragon,5\nhardblush,3\nmr._big,4\ngraith,3\nbarbed_corona_glans,0\ncumlord,1\nlever,0\ncue_stick,0\ntan_hat,0\njohn_carter,4\npochemu,1\ndogamy,4\ndobrota,1\njudgement_(helltaker),4\nimminent_danger,0\nfemboi_lugia_(lightningfire12),4\nmaya_(nightfaux),4\nrainbow_feathers,0\nfull_cleavage,0\n;3,0\nstylized_empty_eyes,0\nburied,0\nazalia,4\npokémon_detective_pikachu,3\nlukurio,1\nximema,1\novereating,0\ndigitigrade_heels,0\nruger,4\nkkerotix,1\ntrack_pants,0\njames_(team_rocket),4\nkein_avp,1\nscrew_(character),4\nnightborne,5\ncremedelaclop_(artist),1\nmatilda_(adventures_in_bushtown),4\ndark_magician_girl,4\ntail_ornament,0\ncoffeecat4321,1\ncotton,0\ncontessaskunk,3\nfd-caro,1\nkushala_daora,5\nwoobaloo,1\nfriendship_is_witchcraft,3\ntentacle_in_penis,0\nhand_spikes,0\ndopq,1\nincognitymous,1\ndoukutsunezumi,1\nmanatee,5\ntess_(jak_and_daxter),4\ntheshamelessfreak,1\nboobsgames,1\npride_color_bottomwear,0\nkiddy_(todeskiddy),4\ncolored_pencil,0\ngeordie_79,4\nwrapped_tail,0\ndrages,1\npointedfox_(character),4\norange_pubes,0\nanimal_stall,0\ncrash_azarel_(character),4\nreverse_titfuck,0\ntwo_tone_tentacles,0\npuffy_tail,0\nspiritomb,5\nthe_infection_(hollow_knight),4\nnailstrabbit,1\npalavenmoons,1\nlifeguard_swimsuit,0\nstormrider,1\nplaystation_portable,3\nrum,0\neye_spot,0\nwerehorse,5\nhow-about,1\nstray_pubes,0\nbrun69,1\nviva_piñata,3\ntomb,0\nsmurf,5\nroller_coaster,0\nblair_(soul_eater),4\nheart_necklace,0\nband_(marking),0\nbowser's_inside_story,3\ncryptozoo,1\nthreskiornithid,5\negg_in_urethra,0\nfishing_net,0\nventesthefloof,1\nknipp_(knipp),4\nfurinkazan,1\neyes_obscured,0\nbarretxiii,1\nkotezio,1\nslam,0\nspreader_straps,0\nwasp_humanoid,5\ncold_sweat,0\ndrakawa,1\nsora_(sorafoxyteils),4\npelipper,5\nrorrek,1\nlobo_(animal_crossing),4\ncrossroadspony,1\nvolkenfox,1\npandemonium_wizard_village,3\nlotix,1\nblakenfen,1\nramzyuu_(ramzyru),4\nquesi,4\nwhite_lips,0\nhopping,0\nquintuple_penetration,0\nearthb-kun,1\noriont,1\ncloyster,5\nrampardos,5\nmartincorps,1\nsandcavern,1\nzephyr_the_drake,4\npyukumuku,5\nletho_donovan,4\nglowing_scales,0\nmanwiched,0\nterezi_pyrope,4\nprinnydood,1\nfire_extinguisher,0\ncheek_to_cheek,0\nzmeydros,1\narm_on_knee,0\nsybil_mccready,4\nhostage,0\nexercise_equipment,0\nlocofuria,1\nambiguous_on_humanoid,0\npink_toenails,0\ncammy_white,4\nuaykan,1\nprimal_groudon,5\njohn_(photolol.03),4\nchippendales,3\nstreet_sharks,3\ng4rron,1\nstockings_(marking),0\notake,4\nsecret_(character),4\ntwo_tone_tongue,0\ntororoudn,1\nskrawl,1\ncomatose,1\nyulliandress,1\nalesia,4\nred_lingerie,0\nahuizotl,5\nladychimaera,1\nskylanders_academy,3\nyazoe,1\nzeltha,1\nin_rut,0\nasymmetrical_hair,0\nbomber_jacket,0\nfeces_on_ground,0\nalexandra_salome,4\ncrossbreeding,0\nsnagglepuss_(series),3\nanonjg,1\njill_(alfa995),4\nsqueek,4\nlong_taur,5\ngod_of_war,3\nadleisio,1\nashiji,1\nshendu,4\nbrushstroke,1\netrian_odyssey,3\nluka_(monster_girl_quest),4\nkeijimohumohu,1\npocketmew,1\nhurst,4\nargent,4\nchestnuts_(artist),1\nlizalfos,5\nponyographer,1\nxredpandax,1\nsweaty_tail,0\nseeker_(transformers),5\naode_(asonix),4\nkingdoujin,1\nspring_(season),0\nnight_owl_(creatures_of_the_night),4\nh2o2,1\nsevered_arm,0\nbori_(neopets),5\nnumbered_ear_tag,0\naviator_goggles,0\nyellow_bra,0\nblack_armband,0\nnaughtysableye,1\nparallel_clips,0\ntoy_poodle,5\ntrapped_in_shoe,0\nfirekeeper77,1\nkaneinu_kosuke,4\nlong_coat,0\ntrapped_in_net,0\ngrinion_(species),5\ncider_(ciderbunart),4\nfood_on_face,0\nether-0,1\nsweltering,1\nnoire_vala,4\nglunk_(sound_effect),0\nheartbeats,1\nohagi,1\nmutantnight,1\neeple,4\npink_boots,0\nlulu_(final_fantasy),4\ngradient_text,0\nsellon,1\nchrno,1\nshirley_the_medium,4\nindynd,1\nsamara,4\ngrus_(genus),5\ndaemon_lady,1\nred_vest,0\npokéball_collar,0\nbimbo_anthro,0\nlegume,0\nzweilous,5\nfemclaw,4\nstarburstsaber_(character),4\nsubdivisions,1\nrezukii,4\ncremacat,1\nsister_in_law,0\npennawings,1\nvape,0\ngrumpy_gray_guy,1\ncomfort,0\nmidnite_(mario_plus_rabbids),4\ncoffeesoda,1\ngrey_neck,0\nottoman,0\ncum_shower,0\nstrongfat,0\nremanedur,1\nblue_toenails,0\ndexterthekobold,1\nlagoon_bluebear,1\nwolf250,1\nplaying_with_hair,0\n18:39,7\ncynocephalus,5\ntape_muzzle,0\nbananastheleech,1\nvetiver_n,1\nhaxsmack,1\nmiraoff,1\nbimbette,4\npipitasout,1\nkohane01,1\nhiccyart,1\nghoul,5\nhoneypot_ant,5\npurple_bandanna,0\nalissa_(alasou),4\narkoh,1\nkritter_(kremling),5\nredshift_(reddrawsstuff),4\npokémon_taur,5\nbump,0\nculixcupric,1\nchaostone,1\nrunny_nose,0\nbig_glasses,0\ncaveman,0\nvarium,1\nmouse_trap,0\npixel-perry,1\nsoleil_(itstedda),4\nforced_undressing,0\nstraddling_penis,0\ninka_(inkplasm),4\nconcentration,0\nhyperdimension_neptunia,3\npenis_peeking_out_of_water,0\nyellow_glow,0\npooling,0\nbunzo_bunny,4\ndancingchar,1\nlaundromat,0\ndominic_armois,4\nwii_u,3\nreimachu,4\nkittikary,1\nemma,4\nkorosuke,1\npaul_(zourik),4\nrolf_(animal_crossing),4\nstrapon_in_ass,0\njane_read,4\nakali_(lol),4\nfinn_(phantomfin),4\nred_paws,0\ncolored_edge_bra,0\nsackrany,1\nswissleos,1\ntoriel_(underfell),4\nfeve,1\nchichi,4\nwerethrope_laporte,4\nsamrunner,1\namunet,4\ndallas_prairiewind,4\nunexpected,0\nanimextremex,1\ndragons_fucking_cars,0\nzoom_in,0\ndomestic,0\nsquarerootofdestiny,1\nmostly_submerged,0\nalasta,1\ncandy_orca_dragon,5\nlube_on_butt,0\nmagenta_fur,0\nstarscape,0\ntarolyon,1\nnino_inukai,4\nstoner_rifle,0\ncorrin,4\n64:35,7\nghostbro,1\nganguro_(artist),1\nslinkoboy,1\nthe_brain,4\nponchuzn,1\nkluclew,1\nfacility,0\nkotatsu,0\nperunagekko,1\nuniversaldragon,1\nflower_necklace,0\nnenemaru,1\ndanza_(character),4\nvenlightchaser,1\nink_brush,0\nclass_of_heroes,3\nextraterrestrial,5\nnoxoic,1\ntweecredo,1\npointing_at_head,0\nruby_(rq),4\ngs,1\noffscreen_human,0\nreygunpocket_(artist),1\nartply,1\nbouncing_tail,0\ntoumak_(character),4\nlion_sora,4\ntool01k,1\ncerebropodrido,1\nmaraca,0\naokabike,1\nkouryuu,4\nalphax10,1\neto_rangers,3\nboxman,1\nmusuko42,1\nlovely_pets,3\nroxikat,4\nariwalter,1\nwarts,0\nfox_(housepets!),4\nmanlyster,1\ncuprohastes,1\nreliusmax,1\nmaroon_fur,0\nphluks,1\nkumamikan,1\nskinny_female,0\nelyssia_(armello),4\ntsenaya,4\nyosuke7390,1\nscamp,4\ntapio_chatarozawa,4\nsideless_swimsuit,0\nchili_dog,0\nleg_in_air,0\nhaiko_frostypaws,4\nfriendly,0\nakashi_(live-a-hero),4\nexplorer,0\nmirroredsea,1\ncobaltcerberus,1\nnoelleneko,1\nsuspension_bridge_position,0\nanaglyph,7\ngerm_warfare_(nitw),4\npsychoseby,1\npuppyluxe,1\nrollingstoneeeeee,1\nthomas_(zourik),4\npenis_in_slime,0\ntetto,1\ngame_boy_color,3\ncensored_text,0\nregression,0\ncarousel,0\neuropean_badger,5\ntrapped_in_butt,0\nleg_stripes,0\nlovepuma69,1\namiya_(arknights),4\ncinnamama,1\nsqueeshy,1\nrick_sanchez,4\npla0net5lai8ka,1\nrubbing_cheek,0\nunbuckled_belt,0\ntawni_tailwind,1\nbright_light,0\nchuroe,1\nlou_(thekite),4\nwinterblack,1\nnicky_illust,1\nhirochanu,1\nmob_boss,0\nequis_universe,0\nmonotone_knot,0\nposed,0\nmysteryfanboy91,1\npufferfish,5\ntootsie,4\ngrose,1\nthe_hunter_(bloodborne),4\nsyntia,4\nneogoldwing,4\nasatrua,1\ndyaniful,1\nsneakers_only,0\nnova_(meganovav1),4\nruska,4\nwrabby,1\nze_blackball.d,1\nfantastic_mr._fox,3\nenaya-thewhitewolfen,1\nholding_bowl,0\nponk,1\ngrassland,0\nnataliya_(petruz),4\nohfourmouse,1\nmewlava,5\ndurham_(beastars),4\ncyandrive98,1\nbon_donuts,1\nsitting_sex,0\noutstretched_hand,0\nbluedmoka,1\nface_torture,0\neddie_(doginacafe),4\nball_python,5\nbutton_dress,0\nlight_anus,0\ngrabbing_hair,0\nlenni_(artlegionary),4\n7b7a2f,1\nbakugatou,1\nmachv99,1\nwhippet,5\naction_scene,0\nphone_number,0\nzpectralkrystal,1\nstargazing,0\nbrunalli,3\nkorra,4\nchillyphillix,1\nblindcoyote,1\ndreameclipsewolf,1\nrazr,1\nsaixyuniz-xynz,1\nhellen_lockheart,4\ndetachable_limbs,0\nlittle_strongheart_(mlp),4\ndodger_(creatures_of_the_night),4\nbirdvian_(character),4\ninside_vehicle,0\nmeika_(rimba_racer),4\nflugeldog,1\nsleepyhelen,1\nrg01_(undertale),4\nbeehive_(hairstyle),0\ngold_digger,3\nboltswift,1\nred-billed_hornbill,5\nvetrowolf,1\nlimp,0\nnightmare_on_elm_street,3\nshadowmatamori,1\nlove_pillow,0\nvanessa_(furryrex),4\ncrowskull,1\ngunshot_wound,0\ntasha_(animal_crossing),4\nmudkipz9,3\nglazed_penis,0\nnorthern_cardinal,5\nwatagashikn,1\nthread_transfer,0\nsaki_(tloz),4\nsugslimic,1\nscarlet_(armello),4\nmrcbleck,1\nnico_robin,4\nsashunya,1\ndarkpenguin,1\nx-zelfa,1\nbk-mita,1\nhumanoid_penis_in_slit,0\nichi_inukai,4\ndnapalmhead,1\nblood_in_ass,0\nokami_bark,4\namity_blight,4\ndevs-iratvs,1\njoycall3,1\nself_insert,0\nweirdhyenas,1\ndaniel_segja,4\norange_tentacles,0\nkaivolate,1\ncum_creature,5\nnailed,0\ngrease,0\nmadness_combat,3\nivxair3p,1\noter,1\nbeowulf1117,1\nkero_(cardcaptor_sakura),4\nkochapatsu,1\nalexa_neon,1\nargyle_(pattern),0\nhand_under_clothes,0\nnovakid,5\noutercourse,0\nhand_on_glass,0\nteaser,0\nbandlebro,1\nitsdante,1\ndlost,1\nlooking_at_food,0\nkaiman_(dorohedoro),4\nryonggay,1\nrie_(artist),1\nlake_guardians,0\ncandle_wax,0\nhouseplant,0\noonami,1\nnotmypornaccount,1\nmarion_(changeling_tale),4\nbreast_scar,0\ngreen_seam_underwear,0\npsi_(artist),1\nthe_sunfish,3\ngamegod210,3\nlight_scales,0\nimpatient,0\ninkerton-kun,1\ned_ryujin,4\nvoshiket,1\nmajalis,1\n1691_position,0\nmoon-s,1\nski,0\npepper_ackerman,4\nrhaenjarr,1\nkiara_aman,4\ncurby,1\nehime_mikan,1\nshadesflame,1\ndakuroihoshi,1\nswissy,4\ntaro_heppoko,1\nmynokiarules,1\nhuge_extensor_carpi,0\nmouthguard,0\nsugoi_kinniku,1\ntacdoodles,1\nshanher,1\nsand-rain,1\ndiorexity,1\nndragon3,1\ngretchen_(kazeattor),4\nantennae_markings,0\nborn-to-die,1\nashley_(mewgle),4\nhymn_(aogami),4\nfinger_on_penis,0\njadedjynx,1\nchris_(teckly),4\nnylon,0\nracingwolf_(artist),1\nwu_sisters,4\nsindenbock,1\nsamantha_thott,4\nkaikoinu,1\njesse_cat,4\nslight_blush,0\npalace_(character),4\nglowing_wings,0\norange_exoskeleton,0\nbibbo_(oc),4\ntote_brando,4\nursa-m1nor,1\ngraded_dildo,0\nlahla_(mario),4\nvalmir,4\ntyphek,4\nhectorthewolf,1\nblack_rubber_suit,0\narizuka,1\nspaghetti_strap,0\nleglegleg,1\nfrommarstomercury,1\nsherlock_hound,4\ngranddaughter,0\ntemari-brynn,1\njen_(jindragowolf),4\nhyper_udders,0\nglup,0\nholly_zanzibar,4\nsir_squiggles_(character),4\nmunchlax,5\nkempferzero,1\nsierra_(father_of_the_pride),4\ncherri_bomb_(hazbin_hotel),4\nscarlet_sound_(oc),4\npink_fingers,0\nvandalism,0\nscimitar,0\nmulti_pecs,0\nmailbag,0\nramona_alvarez,4\nhand_puppet,0\nlicking_tip,0\nswoobat,5\nmegalodon,5\naria_(aogami),4\nattea,4\nhellticket,1\nvibrators_on_nipples,0\nstar_sprite,5\nanorexia,0\noriental_shorthair,5\nsalem_(sutherncross2006),4\nleaning_on_furniture,0\nlimp_tail,0\nvenomoth,5\nsuggestive_fluid,0\ncelia_(s2-freak),4\nmonarch_butterfly,5\nview_between_legs,0\ngiru,4\nshove,0\nnx147,1\ncoal,0\ntherris,4\nstaticlustdemons,1\nruribec,1\ntamama,4\ndahurgthedragon,1\nbedfellows,3\ngenital_exploration,0\nkeith_(marsminer),4\nket_ralus_(character),4\nmystery,0\nreykat,1\nventious,1\nzoke,1\nstormgryphon,4\nkeiran_tracey,4\npippi913,1\nheart_hair_accessory,0\ncamera_hud,0\ncountersfm,1\nfleki,1\ndogeoisie,1\nvine_tentacles,0\nkamui_(hitsunekun),4\nyuzuki_fang111,1\nspilling,0\nzoruken,1\nspace_marine,0\nsundae,0\nshoulder_length_hair,0\nscimunk,1\nbomberman_jetters,3\ndreepy,5\nnobusuke,1\nsafety_harness,0\nrhodesio,1\ngingerbread_man,0\ntirashanks_(artist),1\nsakuya_izayoi,4\nbooth_seating,0\ngrey_foreskin,0\npyroxtra,1\nteba_motoko,1\neggshoppe,1\ngarou_kazeoka,4\nhand_on_horn,0\nspruceloops,1\nshin_mao,4\ndiana_rayablanca,4\nksharra,1\ndarastrix_(ihavexboxlive),4\nglowing_skin,0\nnami_(teranen),4\nflucra,1\npaws_around_penis,0\nsophie_(shyguy9),4\ntito_lizzardo_and_catty_b,3\nkekkaishi,3\ndwarf_(coh),5\nmessy_fur,0\nhorsea,5\nferal_penetrating_taur,0\npokey_minch,4\nside_balls,0\npossessive,0\naktiloth,1\nhydlunn,1\npipisan,1\ncursive,0\nsovietcatparty,1\nbethany_(jay_naylor),4\nelliot_(unpopularwolf),4\nargos90,1\nwilliamca,4\ngosgoz,1\namazed,0\namelia_abernachy,4\nskyla_(pokemon),4\nmachine_bondage,0\ngally_(monsterbunny),4\nwhite_text_border,0\ndormin-kanna,1\nneko_hakase,4\nin_locker,0\nsusie_(kirby),4\nlaito,4\nbladder_penetration,0\ngekk0,1\ndrakorax,4\ndesingahv,1\nzentagas,1\nsoftdiamond,4\nhailberry,1\ntabytha_starling,4\nmerfiller,1\nelectric_spark,4\npanapoliz,1\nalicia_pris,4\ntranslucent_tail,0\ngigantamax_charizard,5\noutdoor_nudity,0\nluxury_car,0\ndaxmarko,1\nmr._whiskers,4\nvarby,4\nundyingwolf,1\nsherb_(animal_crossing),4\nfatima_eaglefeather,4\nkeller_(kellervo),4\ntom_(ehs),4\npink_ball_gag,0\ndrokmars,1\neye_tattoo,0\ncoercion,0\neternallytardy,1\npride_color_wristband,0\nsoulman1,1\ntail_tale,3\nhands_on_ground,0\nmotorcycle_helmet,0\njin_yorushika,4\ncharlise_(animal_crossing),4\nixi_(neopets),5\nthibby,4\nnuwa_nightstone,4\ntitle_card,0\ndumplings,0\nportal_amputation,0\nmedical_thermometer,0\nwhitewolf20xx,1\nmotel,0\nconfetti_streamer,0\nhosiery,0\nkicking_balls,0\nwhitebeast20,1\nbeak_piercing,0\nkolae,1\nnate_(mindnomad),4\nyellow_sky,0\nbetilla,4\nbanrai,1\nfalconid_humanoid,5\n7th-r,1\nyennefer,4\nthe_road_to_el_dorado,3\nqr-code,1\nhachimitsu,4\nsnagglepuss,4\nrusal32,1\ndoduo,5\ntipsy,0\nconveyor_belt,0\nlicking_own_beak,0\ntrico_(species),5\nmanahallowhound,1\nhead_torture,0\nno_straight_roads,3\nhuge_hands,0\nbottle_in_ass,0\nzinnthos,1\nwork_clothes,0\nliquid_hair,0\non_rug,0\nknockout,0\nwerelion,5\nkara_(trippledot),4\nrenard_(homura_kasuka),4\nleoponleopon,1\npukei-pukei,5\nkronexfire,1\nvideo_game_logo,0\nrobyn_mcclaire,4\nauzzie,1\nvasira,4\nterminator,3\ndraite,1\nlucas_(pokémon),4\nmegan_ziegler,4\nwolf_(we_baby_bears),4\nasuka_langley_soryu,4\ncrescent_(shape),0\nyellow_raincoat,0\npizza_pup,4\ntying,0\ndark_guardian_corporation,1\nsasamaru,1\nlaxes,4\npink_wool,0\ndreamscreep,1\nammylin,1\nterithes,1\nfletchling,5\ntrapinch,5\nmaster_monkey,4\nkeinga,1\nchrissy_mccloud,4\nreverse_fleshlight_position,0\nkazu_(thatgaysushi),4\nclay_calloway_(sing),4\nmolly_macdonald,4\ncrystalberry,1\nchital,5\nwan_wan_celeb_soreyuke!_tetsunoshin,3\nrakuo,4\nbeluinus,4\nredesign,0\nkraft_trio,4\nbazelgeuse,5\norange_neck,0\ncerezo,1\npurple_inner_ear_fluff,0\ndelilah_(gargoyles),4\nmidori_gel,4\nwrestling_match,0\nwhite_ear_fluff,0\nlin_(helluva_boss),4\nextremexworld,1\nkevin_and_kell,3\nstirrups,0\nsamantha_reyes,4\nurine_on_self,0\nkai,4\ntransparent_buttplug,0\nasphagnum,1\nequine_teats,0\nthe_pokedex_project,3\ningi_(character),4\nhyaenid_penis,0\ntwo_tone_panties,0\ndeermary,1\nferrissimulator,1\nairu,1\nblack_muzzle,0\nzachsroom,1\nmiles_(nanoff),4\nshoguru,1\nwarm_lighting,0\nlutra,5\nluryry,1\ndemondragoncyan,1\nbreaking_bad,3\ntauren_(feral),5\nberger_blanc_suisse,5\ndonut_joe_(mlp),4\nkazzypoof_(character),4\nspidersnax_(artist),1\ntwerpishimp,1\nkokoni,1\nhappy-cat,1\ncatkitte,1\nfake_cow_horns,0\nnviek5,1\nsabari,4\nalolan_rattata,5\ntan_rouge,4\ndress_shoes,0\ncephei,1\nlooking_to_the_side,0\nhimbo_hooters,3\ncyanroll,1\nknot_tugging,0\nwilly_(ohs688),4\nshemagh,0\ncreamyowl,1\nfrozenartifice,1\nderetto,1\noverweight_taur,0\nbeepunz,1\ncolin_young,4\ncheepard,1\nmina-the-pie,1\nxptzstudios,1\nshort_stackification,0\nanupap,1\nscratch_mark,0\nleg_cuff,0\nambipom,5\nyami_the_veemon,4\ncatnip_(khatnid),4\noloxbangxolo,1\ndark_shirt,0\nrev_runner,4\nrazzberryboat,1\ncindy_bear,4\nvoxell_voxell,1\nbondagefanart,1\nsmoking_gun,0\nasterios,4\nyoisho,4\npink_gums,0\nstink_fumes,0\nroof_legs,1\nfoamytail,1\nony,4\neddie_(evane),4\ntuca_and_bertie,3\nvisible_nipples,0\ntrunk_sex,0\nhalapmir,1\nnushi,5\nmetagross,5\nbedside_table,0\nghosts_'n_goblins,3\ngefauz,1\nxeila,4\ntight_suit,0\nlife_jacket,0\nwolf_costume,0\nbarontoko,1\nalchemy,0\nmichi_tsuki,4\ni.kain,1\nalicethedeer,1\nmarvin_the_martian,4\nlampy_(azura_inalis),4\nmultiple_doms_one_sub,0\nstrawberry_panties,0\nsheep_and_wolves,3\narms_behind,0\nno_shading,0\nlokpik,1\nflora_colossus,5\nscocks4you,1\nartifact,0\nwizart_animation,3\nclitoral_fossa,0\nall_hail_king_julien,3\nnihontd,3\ncaninius_dog,4\nyourdigimongirl,1\nskyeprower,1\nplatform_missionary_position,0\nrein_(amaterasu1),4\nsuplex,0\nkamaitachi,5\nfoot_expansion,0\nartesjsc,1\ntarantuloo,1\nalarm,0\nshower_hose,0\nsniffing_anus,0\nmagaska19,1\nhuman_skin,0\ndark_legs,0\ncherri_topps,4\ndelicioussoup,1\nchabett,4\nkadeki,1\nwolfox004,1\nanthro_dominating_anthro,0\nkhayen_(character),4\ndawn_(jeremy_bernal),4\nchickenass,1\nimplied_snuff,0\ngrey_pubes,0\nnagainosfw,1\nhands_on_another's_butt,0\nbawp,1\nnao_(artist),1\nophelia_(sssonic2),4\nblinky_bill_(series),3\nball_kiss,0\nlost_andsafe,1\nmanaka_(aggretsuko),4\nhitmanatee,1\njayjay_(artist),1\nwater_cooler,0\ndisturbed-mind,1\nkusanagikaworu,1\nshayla_the_pink_mouse,4\nbow_tie_only,0\ncar_seat,0\nfake_advertisement,0\ndarksoul,1\nkintuse,4\nexlic,1\ncindy_(cindyquilava),4\ncriminal,0\ngrief,0\nilustrets_spoks,1\nrainbow_markings,0\nbinary_code,0\nhiding_face,0\nmossyartburger,1\npadded,0\nparas,5\nmemento~mori,1\nfalcon_humanoid,5\ndylan_(the_human_heart),4\nevilfoxyfull,1\nan-m,1\ninktiger,1\ndanidrawsandstuff,1\nlooking_at_cellphone,0\nruzeth,4\nchase_hunter,4\nplatform_spitroast,0\ntorn_dress,0\nsolicia,4\nliving_vegetable,5\nrokie38,1\nbrown_tail_feathers,0\nheartlessangel3d,1\nbleachedleaves,1\nholding_cigar,0\n69beas,1\nra4s,1\ncandy_apple,0\nruined_makeup,0\nlocitony,1\nshawd,1\nklotzzilla,1\nrorikemo_(j7w),4\nopen_toe_footwear,0\npink_pepper,3\nskintight_suit,0\ncaleb_magness,1\nferoxdoon,4\ncum_in_hands,0\nfuzeyeen,4\nnyxapnea,1\ngavalanche,1\nlimousine,0\nashe_(starshippizza),4\njosh_oliver,4\nthe_feast_of_nero,3\nujac,1\navinz,1\nzoarity,1\ntentacle_handjob,0\nlargerest,1\nkoslov,4\nnoko_illust,1\nblackburn538,1\ndongly12,1\nlucky_(animal_crossing),4\nlyn_nyl,1\nstomach_torture,0\nloopy_de_loop,3\nmagneton,5\nswirls,0\npenis_tattoo,0\nrose_(limebreaker),4\npuppy3d,1\ncarnivore,0\nxeup36,1\n4_pecs,0\nmeat_on_bone,0\nwerechiropteran,5\ndrool_on_face,0\nvanja,1\nlime09,1\nintravenous,0\nlilly_(alpha_and_omega),4\nmouth_pussy,0\nkatarina_du_couteau_(lol),4\narunira,4\nvel'koz_(lol),4\nleg_pouch,0\ndiapersuit,0\ncinnamon_(disambiguation),-1\nkippykat,1\nsangelia,1\ncupcakecarly,1\ntiquitoc,1\njack-n'-lantern,0\nmature_(disambiguation),-1\nchester_the_otter,4\ndirtyduckart,1\ndracula,4\nhigh_socks,0\nkardukk,4\nsamurai_jack_(character),4\nbleachers,0\nscaramouche_rotbelly,4\nelezen,5\ndfectivedvice,1\nprotecting,0\npandottermon,1\nflo,1\nflipside,1\ndiona_(genshin_impact),4\nperidotkitty,1\nandroid_18,4\noscar_peltzer,4\nmetalling,1\nbyzil,4\nstrapon_over_chastity,0\nvinci_(itsmemtfo4),4\ngreen_bow,0\nricksteubens,1\nloopend,1\nyellow_speedo,0\nxenopera,1\nozzy_(weaver),4\nblood_from_eye,0\nhoihoi,1\ntiamat_(god),4\nkhezu,5\nstriped_shoulders,0\ntaichi_kamiya,4\ntenshoku_safari,3\nflower_panties,0\nglistening_face,0\nsparks_the_raichu,4\nanimated_heart,0\nzephyr_(tyunre),4\nsaljidark,1\nkiwi_(viroveteruscy),4\nglistening_eyelids,0\nwasp_(artist),1\ngreen_thigh_highs,0\nlucina,4\njimmyrumshot,1\nbenji_(mainlion),4\nzica,1\nbroken_(artist),1\nrhinoking,1\norange_scarf,0\ntrubbish,5\nsabrina_(pokemon),4\nwalloruss,1\nblackchaos666,1\namara_lemur,1\nwolf_nanaki,4\ncaring,0\nfeces_on_butt,0\nandy_renard,4\nmeatball,0\nfluffqween,1\nchester_(bunnicula),4\ncaramel_(cherrikissu),4\nthrusting_sound_effect,0\nrubber_stockings,0\nxiamtheferret,1\npolice_brutality,0\njohis,1\nmarket_stall,0\nnei_chi,1\nblack_jockstrap,0\nglock,3\npuki,1\nkumajjjj,1\nchristmas_bauble,0\nlitleo,5\nammit_(moon_knight),4\ndraako,5\ndeeless,1\nfade_in,0\n4_heads,0\nfreelapse,1\nrolling_pin,0\nathletic_human,0\nask_pun,3\nfried_chicken,0\npeggy_patterson,4\ncomplaining,0\naccidental_incest,0\nstardragon102,1\nfemtoampere_(character),4\nmingamia,1\nmodem_(character),4\nthylacoleo,5\nunnero1,1\nblissey,5\nmonster_girl_gamu,3\nsyrth,4\ncassidy_(alec8ter),4\nunico_(series),3\nblarf,1\ndeep_sea_prisoner,3\nlucia_traveyne,4\ntank_the_dragon,4\nmarkdeth,1\nebonytigress,1\neurasian_otter,5\nross_(rossciaco),4\npolakuma,1\nlinyxart,1\nchaotic,3\nsepisnake,1\nfancy_clothing,0\nzuma_(paw_patrol),4\nkhopesh,0\nmewtowo_(shadman),4\nargodaemon,1\nsetharu,1\ntripod,0\ntrailer,0\nmessy_tail,0\nflaming_eyes,0\nsven_the_giramon,4\ngrade,0\neastern_bluebird,5\ncasual_cocksleeve,0\nkozacasa,1\nren_höek,4\nlytta_the_bug,1\nplasmidhentai,1\ntimid,0\ncowgirl_outfit,0\nnsfwoaf,1\nanise_(quin-nsfw),4\nblack_betty_(meme),3\nmarquis2007,1\nsubscribestar_logo,0\nmoonlight-kat,1\nethan_white,4\ntsutami,4\nweekly,4\ndrooling_tongue,0\nhaymaker,1\nalex_(carpetwurm),4\ntwile,4\nhaltie,1\nfizzarolli_(helluva_boss),4\nota3d,1\nleshana,4\njudy_(animal_crossing),4\nfaroula_twitt,1\nrosita_(sing),4\ndesesperadoleon,1\nlactating_cum,0\ncaesarcub,1\nkobradraws,1\nmohinya,4\npermavermin,1\nribbons_(anatomy),0\nnetherdrake,5\nsoraslipheed,1\non_car,0\nmulticolored_pussy,0\nbeat_banger,3\nceltic_mythology,3\npride_color_bodypaint,0\nlewdchuu_(artist),1\nnatsumewolf,1\nworld_of_darkness,3\ngtskunkrat,1\nratcandy,1\ncladz,1\nkazzyboii,1\nkrimzen_redwing,1\naevoa,4\naronhilistix,1\nfrowntown,1\ndrakuun,3\ncucarachaaa,1\nchunkerbuns,1\nniichan,1\nhuffpup,1\nbonsai,0\ngeir,1\ngaze,0\nhind_toe,0\nholding_shirt,0\nxi_yue,4\nwoozle,5\nandelai,1\nleptail,1\ndog_toy,0\nairiniblock,1\nzephyr_(bateleurs),4\nglyphs,0\nvoltron_legendary_defender,3\namaranth,4\ntime_card,0\ndiego_(ice_age),4\nbrick_floor,0\nstylized_eyes,0\ncocicka,1\ngenus,3\nkassillea,1\nfuckit,1\nseabreeze629,1\naster_faye,4\npointy_and_animal_ears,0\nfurry_(artist),1\nmismatched_threading,0\nkarmakat,4\nkieri_suizahn,4\nhulooo,4\nsailewder,1\ngiantboonehusky_(artist),1\nvizlet,4\nbatruse,1\nlaser_pointer,0\nkyleroo,1\nrounded_star_polygon,0\nmagnifire,1\nthigh_crush,0\nsubmarine_sandwich,0\naogoushitsu,1\nazul_draconis,4\nyellow_tentacles,0\nblack_ear_tips,0\ntwo_tone_boots,0\noiled_body,0\nthecumrat,1\nimminent_anal_penetration,0\ndownward_dog,0\npenis_on_ground,0\nhotoshuken,1\ntim_weeks,1\nmexican_flag,0\ndebidebi_debiru,4\nnamoke,1\nroccorox,1\nleather_legwear,0\nguzreuef,1\npyrocynical,4\ndivinemello,1\nbutt-berry,1\neddie,4\nbuster_baxter,4\nbramble_(hitsunekun),4\nholding_reins,0\nshaya_(dalwart),4\nadma228,1\nspray,0\ncinderfrost,3\njackerwobb,1\ntail_down,0\nodie_the_dog,4\ncracking,0\na-,1\nphobe_(lfswail),4\ncmitchell,1\npitch-black-crow,1\nnatura,3\nsheathed_sword,0\nhooved_fingertips,0\nmagician_hat,0\nsaint_position,0\nass_ripped,0\npenny_(inspector_gadget),4\naaronhibiki,1\nhose_in_butt,0\ncinnamon_(cinnamoroll),4\nc2ndy2c1d,1\npixelated_heart,0\nrogueliger,1\ndawnthemetamon,1\nsnackbunnii,1\nne_i_ro,1\nacrylic_painting_(artwork),7\nporaka7,1\nvalerie,4\nflapping_wings,0\nlover_(coldfrontvelvet),4\nfempyro,4\nthe13thblackcat,1\nero_lolita,0\nhald_(manadezimon),4\ndragon_dildo,0\nshinki_k,1\ntnt,0\nrufia,1\nwolf's_rain_next_generation,3\nsprout,1\nvulgarstarling,1\ngandergeist,1\ndraixen,4\nhyper_penetration,0\nmuffin_(themuffinly),4\nmagic_trick,0\nloopy_(loopy_de_loop),4\nengineskye,1\ndisembodied_leg,0\nburping_up_clothing,0\nfrag_(furfragged),4\ntorn_thigh_highs,0\nmerchant,0\nteal_sclera,0\nsweaty_abs,0\nbaiyushou,1\nkorean_clothing,0\nrelaxablefur,1\nraypeople_(rayman),5\nchthon,5\noxygen_tank,0\npink_cloaca,0\ntopless_human,0\nhappysheppy,4\nwakasumire,1\njonsthaman,1\nzoma,4\nhigh_school,0\nhuska,4\naiden_harris,4\nshowing_penis,0\nnefer,4\nmachino_henmaru,1\nfuchsia_(animal_crossing),4\ntattoo_on_butt,0\nearjob,0\nvorelord,1\nshinragod,1\nratatula,1\n9tales_comic,3\ndozer_(braford),4\nkui-tan,5\nnatamaru_a,1\nadharc,4\nstarrffax_(fox_sona),4\nmcnubbies,1\nthe_flintstones,3\nrhyhorn,5\nsonichu_(species),5\nbangs_(character),4\nbear_trap,0\nwest_sea_gastrodon,5\ncoppertone_(sunscreen),3\nover_dildo,0\nswift_(artist),1\nvogold,1\nclaymore,0\nkryptchild,1\nribera,1\namadose,1\ntrevor_pride_(knotfunny),4\nnohni_wabanda,4\nbartucthebloody,1\nmagmar,5\nextreme_gear,0\ntailshigh,1\nfleetwoodbrak,1\nblondefoxy,1\nmetrothefox,1\nsheath_through_fly,0\ntentacle_in_ear,0\nnyama,4\nsock_in_mouth,0\ncandy_cane_dildo,0\nmetaljaw75,1\nhibarikatsuru,1\nshowgirl,0\nsaetia,1\npull,0\nfennephilim_fox,1\npatrick_(david_siegl),4\ncracking_knuckles,0\nholding_rope,0\nmajisuta,1\nstinger_(anatomy),0\ndance_dance_revolution,3\nhashu,1\nfleshlight_gag,0\nmellonbun,1\nhedgehoglove,1\nwastedtime,1\nsimmsyboy,1\ngreen_beak,0\nflookz,1\nexeter,4\nginger_(iginger),4\nnew_looney_tunes,3\npossumgod,1\nblue_bodysuit,0\npod,0\nquake,3\nbeatriz_overseer,3\nkrowlfer,4\nappledectomy,4\ntinysmallman,1\nzorayas,4\noviraptorid,5\npopwitter_ox,1\ncursed_clothing,0\nmothercrow,1\nmae_(paige),4\nsho_shibamoto,1\nignitus,4\nrela,4\nzaush_(zaush),4\nakino_(kemokin_mania),4\nwood_furniture,0\nroadhog_(overwatch),4\ndrgnalexia,1\nafter_penetration,0\nleaning_over,0\nking_koopa,4\ntracy_siren,4\npellet,0\nducktits,1\nknownvortex,1\ninget,1\nitswolven,1\nnixuelle,4\nbluepanda115,1\nhuge_calves,0\nsarek_aran_desian_(character),4\nwarg,5\nmale/female_symbol,0\nneceet,1\nnolycs,1\nruffu,1\ntyrogue,5\nothukimi,1\ndr._hutchison,4\n:t,0\nnellko,4\nlevel_up,0\nagro_antirrhopus_(character),4\nfunny_face,0\ninked,0\nkoopa_paratroopa,5\nthagomizer,0\ntina_lynx,4\nfamily_photo,0\noutfit_change,0\nsapphire_shores_(mlp),4\nskate_park,0\npurple_flower,0\nsnoopy,4\nmoney_in_underwear,0\ndoctor_lollipop,3\ngroup_picture,0\neden_fries,1\nepic7,3\ninkh,4\ntinsel,0\nfreckles_on_chest,0\ndal_(dal_your_pal),4\nflip_(flipyart),4\npink_membrane,0\nfur_(theterm),4\nmuscular_butt,0\nto_be_continued,3\nechoseed,1\ndodrio,5\npedobear,4\nchowder,4\nworld,0\nsarovak,1\nnicopossum,1\nmadarao_(kekkaishi),4\nspecies_name_in_internal_monologue,0\nfreakster,1\nsimple-phobiaxd,1\nketsuneko,1\ndarth_vader,4\nbook_stack,0\nanna_(ayaka),4\nlan_rizardon,1\nswimwear_down,0\npokemon_domination,0\nudder_nursing,0\nv-shaped_eyebrows,0\natherbirochi,1\nhexado,1\nmocho4266,1\nmisterhinotori,1\nchek,1\nsexual_harassment,0\nsafurantora,1\naltavy_(altavy),4\nshocking_(artist),1\nthe1king,1\nscreamqueen1991,1\nthe_mystic_golden_flame,3\nzephyr_lyall,1\nbig_mouth_(disambiguation),-1\nharlequin_rabbit,5\nurine_on_tail,0\nlooking_at_reflection,0\nmyri_(fvt),4\nrobocop_(franchise),3\nsuperstar_saga,3\nmelzi,1\ncheeky,0\nionic44,1\nneitsuke,1\nbryce_(lonewolfhowling),4\nauguscus_acilcolus,4\ndisiwjd,1\nhazing,0\napplepup,1\njon_arbuckle,4\nstrutting,0\nbaroque_(artist),1\ngombay,1\ncuteancuddly,1\nlunastra,5\njyoka,1\ncassette_player,0\npeachpunch11,1\nbailey_(os),4\nnormal_rotom,5\ncalico_cat_humanoid,5\nfootball_jersey,0\ndoomghost,1\nshandrawaka,1\nceltic,0\ndard,4\ntragia,4\nbutch_(cursedmarked),4\nnubbed_dildo,0\nmamaduo,1\ngallows,0\nwild_sheep,5\nlonewolf,1\nbackup4now,1\nfrmcast351,1\nluna_moth,5\npaintheart,4\nkenta_yamashita,4\nvyprae,1\nadjot,1\ned_(the_lion_king),4\nnebaglubina,1\nepicwang,1\nfurryafoxy,1\ndreamsicle_swirl,4\nnatsu-nori,1\ncatnip,0\n7fukuinu,1\nbreeder_(species),5\nyamaraim,1\neyes_close-up,0\nchimecho,5\ncollaborative_gesture,0\nquintonquill,1\nfrankie_foster,4\nkej_(kejifox),4\njeeper,4\nrainbow_six,3\npurple_knot,0\nmanx,5\npink_briefs,0\nkage6415,4\nmax_(maxdamage_rulz),4\nforced_vaginal,0\narfventurer,1\nsarah_fairhart,4\noccult,0\nprince_borgon,4\ngreenteaneko,1\nkittenkeiko,4\nmajor_friedkin,4\nmucknagabe,1\nfrostyribbons,1\naethrus,4\ncaptain_otter,1\nfutonmania,1\nponykillerx,1\nrhinoceros_beetle,5\ntragicfame,1\nduckface_fellatio,0\nroina,1\nkaylin,4\npins,0\nrhoda_(the_dogsmith),4\ngrimphantom,1\nannabelle_cow,4\nphanpy,5\nhirake!_cocotama,3\nharigane_shinshi,1\npouch_purse,0\nhand_behind_neck,0\nollie_canal,1\nokami_wolf,4\nsplit_dialogue,0\ncalpain,4\ntext_tattoo,0\ndactyloid,5\nark_(shade),4\ndwn000,1\noviraptor,5\nincursean,5\naerosaur83,1\ncoffee_maker,0\ncrius,4\nball_stretching,0\njad'thor,4\nprint_tank_top,0\nliloli_(artist),1\nbayeuxman,1\njeep,3\ninuyasha_(inuyasha),4\neredar,5\nonda_seki,1\nernest_and_celestine,3\nover_sex_toy,0\nred_necklace,0\nfuse_(analogpentium),4\nmadmaz,1\npurple_glow,0\nzorondo_ron,4\ncuoqet,1\nhmage,1\nryuusei_(mark_ii),1\ndregna,1\nnova_(disambiguation),0\nmiley_mouse,4\nsadflowerhappy,1\nanon2000000,1\nbaikobits,1\nwilliam_(falcon_mccooper),4\nthwomp,5\nlettuce_(latexia),4\nbeheeyem,5\ngabby_(kadath),4\nvshojo,3\npride_color_text,0\ninflatable_gag,0\nfish_meat,0\nalekoin,1\nlillianwinters,4\nfurreon,1\ndreamertooth,1\nthe_woody_woodpecker_show,3\nchel,4\nbutterfly_humanoid,5\nwooy,1\nbrown_armwear,0\naaron_(falcon_mccooper),4\nblack_crop_top,0\nnirimer,4\nnicholas_c._corbin,4\nmervas,0\nfrohawk,0\nknees_out_of_water,0\nhat_bow,0\nleg_spots,0\nremoraid,5\npole_masturbation,0\nbelly_folds,0\nimminent_threesome,0\ncuddles_(character),4\ncharlottechambers,1\nms._peachbottom_(mlp),4\ndiamond_(disambiguation),-1\nsophring_hao,4\ncity_crushing,0\nzagura,1\nmoroq,1\nspotted_balls,0\nrobe_lift,0\notterlike,1\na_name_for_me,1\nglowing_tentacles,0\nphrostbite,1\ntaphris,1\noverweight_herm,0\nbrooz_(interspecies_reviewers),4\nnekoart,1\ntrenderhoof_(mlp),4\nmr._resetti,4\nblack-rose-exterio,3\nstick_in_mouth,0\nsolarlewds,1\nladnelsiya,1\nsmallsrabbit,1\negocider,1\ntroodontid,5\npervymarioman,1\nnyx_(mlp),4\ntommysamash,1\nthreaded_by_body,0\ncum_request,0\nfolsky,1\nkuehiko_roshihara,4\ngreycore,1\nbirddi,4\npier_(felino),4\nbicolored_fur,0\nkomissar_bav,1\nboyfriend_(fnf),4\nherm_penetrating_gynomorph,0\nsleeves_past_wrists,0\nnozukznsfw,1\ndraco_(draco),4\nbee_(minecraft),5\nmeimei_kia,1\npurevil,1\neosphorite,1\nguwu,1\ncovered_pussy,0\ndazidentevil,1\ncheat,0\norange_toes,0\nsepiapaws,1\nscaleddelta,1\nxianos,4\nsean-zee_petit,4\nrocker,0\nquilladin,5\nmonodramon,5\nthylus,4\nfoxehhyz,1\nmetal_tail,0\nstarstrikex,1\nemotions,0\nrain420,1\nmangamaster,1\nholding_polearm,0\nsidgi,1\nlooking_at_relative,0\neerieeyes,1\nmaria_(wffl),4\ndickbutt,4\nlokkun,4\nkaitofletcher,1\nbuffurun,1\ncandelabra,0\nstrapless_swimwear,0\nhvost,1\nwolfgang_(slickerwolf),4\nstalvelle,1\nweed_(ginga),4\nnivek15,1\nthe_mysteries_of_alfred_hedgehog,3\nhippocampus,5\nalphadesu,1\ntrish_(gvh),4\nquirky-middle-child,1\nnisetanaka,1\nnicoya,4\ngerry_(dongitos),4\njourney_(game),3\nkomodo89,1\nrags,0\ndr.whiger,1\ngame_boy_color_console,0\nselinatc,1\nguak,1\naquei_(fvt),4\nschool_bus,0\nvicky_wyman,1\nblackarabi,1\npattern_neckerchief,0\ndsub9,1\ngiovanni_da_milano,4\nkamuri,4\nthegentlebro,1\nmulticolored_balls,0\ncassie_cooper,4\ndragonfoxgirl,1\nmaid.,1\neerie_(telemonster),4\nhauntzor,1\nilikepandaren,1\nbow_legwear,0\ncholericat,1\nmilitary_hat,0\ntogedemaru,5\nknullox,1\nbergamo,4\nigraine,4\nyu_narukami,4\nazserfy,1\nkerrydark,1\nomochi_kuitai,1\ntasha_lisets,4\nsyringa,1\nspiked_footwear,0\nkroxigor,5\nwrinkled_penis,0\nva_art,1\nloganhen,4\ntouching_noses,0\nuntied_verbeger,1\noikawa_shizuku,4\ntortavi,5\ncinema4d,3\ngryph000,1\nhind_hoofjob,0\ncatchlight,0\nflannery_(pokemon),4\nshorts_aside,0\nsureibu,4\nfully_impaled,0\nusername-password,1\nconsent_themes,0\njubb,1\nunifawn,1\nconsensual_cuckold,0\nneshi,1\nnumber_on_body,0\nnegativefox,1\nexeggutor,5\nsun_rays,0\nkali_(kilinah),4\n7th_heaven_(artist),1\nloveseat,0\nitchyears,1\nfutaku,1\ndartrix,5\ngranbull,5\ncavitees,1\nswedish_text,7\nsize_chart,0\nwetness_indicator,0\nbunnie_(animal_crossing),4\nsia_(ebonycrowned),4\nigglybuff,5\nlamborghini,3\nshedding,0\nblack_eartips,0\ndiru,1\ncatluvs3,1\nshaking_head,0\nash_cinder,4\nearth_wyrm,5\npartial_line_speech_bubble,0\nvanth,4\nred_(topazknight),4\nfunnybox,1\nalex_(happytimes),4\nnudelinooo,1\nkiwi_(bird),5\nbead,0\nhorsie,4\nkake0078,1\nlight_neck,0\nayato,1\nailin,4\nranma_1/2,3\nzeha,4\nstranger_(mamoru-kun),4\nlinux,3\nunbreakable-warrior,1\nraptorkou,1\ngpd_(lurdanjo),5\npink_flesh,0\nkatabreak,1\ntaighet_28,1\nninoeros,1\nneon_mitsumi,4\nlarge_male,0\nthrall_(warcraft),4\ncupid's_arrow,0\ntak,4\ncrocodilian_humanoid,5\nmalinois_dog,5\nqwertyas1,1\njulia_(vestina),4\nmisakatsuneko,1\nfauxhawk,0\nsmush-sin,1\non_wall,0\norange_lips,0\ntickling_belly,0\nkippy_the_sharkip,4\nfelix_the_cat_(series),3\nponylicking,1\noracle_of_ages,3\ncon5710,1\nsitting_in_chair,0\nclifford_(red_dog),4\ncody_(falcon_mccooper),4\nslime_(slime_rancher),5\nfoxx,1\nsunny_way_(character),4\ncountershade_wings,0\nwurmple,5\neliot_(heroic_ones),4\nimric1251,1\ntoothy_fellatio,0\nsousaku_san,1\nvivigator,1\ncreatures_(company),3\nwolfalaska,1\nnakedsav,1\nnilla,4\nisis_(nightfaux),4\nroad_runner_(looney_tunes),4\nblue_merle,5\nhikuchi,1\narianna_altomare,4\ngage_the_panther,4\nkiguri,1\nbig_sword,0\nkiro_(tits),4\ngloom_lines,0\nfatima,4\ndingding_(artist),1\nmedic,0\nwaluigi,4\ncharacter_collage,0\ngavin_(tokifuji),4\nmetonka,1\nglowing_mushroom,0\nsodacaps,1\njack_darby,4\npurple_thong,0\npeachmayflower,1\ngreater_dog,4\nshibacream,1\npatrol_03,3\nshadoca,1\naoinu,1\nliquid_inflation,0\nhooked_beak,0\nfood_in_pussy,0\nharmonydescent,1\nsakuyamon,5\npuffy_hair,0\nsanlich,4\nspotted_back,0\nvaltik,1\nholding_burger,0\ndiamonsion,1\nrui_(sugaru),4\ndisembodied_balls,0\ndumderg's_signature_cutie,4\nswivel_chair,0\nmagnamon,5\nyellowluster,1\nlacey_(meesh),4\nwyer_bowling_(meme),3\nsalanchu,1\ntranslucent_latex,0\ncolt3n,1\nsmoxul,1\nbrown_highlights,0\nwebsite,0\ncunnilingus_pov,0\nmelanie_(hambor12),4\nclumsy,0\nfersir,1\ncaiman,5\ntiggon_the_great,1\nswingers,0\nmasha,1\nmiss_fortune_(lol),4\nguardian,0\nyellow_antennae,0\nhexdisciple,1\nvicjohansen,4\nduo_transformation,0\nspacecadet,1\nwhite_towel,0\nmamizou_futatsuiwa,4\nawful_lad,1\npirate_outfit,0\nchase_(mlp),4\nhollow_eyes,0\nhale.,1\nblackboltlonewolf,1\npixiv_fantasia,3\nceylon,4\ndalehan,1\nrektum,1\nkaraoke,0\nleaf_print,0\nstar_fox_adventures,3\ncyberdemon,5\nbulumble-bee,1\nzipper_pull_tab,0\nhanging_sign,0\nbibi_(o-den),4\ntirrel_(tirrel),4\nnumbered_sequence,0\ndarth_saburou,1\njludragoon,1\nvlc525,1\nenema_bag,0\nhare_(monster_rancher),5\nmayku,1\nzowato,1\nandromorph/ambiguous,0\nray_the_flying_squirrel,4\npiemations,1\nmultiple_outfits,0\nnimbus_(world_flipper),4\nsheared,0\nnemi,4\nspidr,5\niniquity,1\nelfantastico,1\ntucked_leg,0\nchrono_trigger,3\ncomfy,0\nerune,5\nregolithart,1\nballad-of-gilgalad,1\nhotsatyr,1\nneck_muscles,0\nkagome_higurashi,4\ncalm_(artist),1\nbandit_(disambiguation),-1\ntsudanym,1\ngeetee,1\nlucky's_tale_(series),3\nobscured_oral,0\ngarnet_(steven_universe),4\nbobo_(gamba_no_bouken),4\nsekhmet,4\nround_shield,0\njosephine_rodgers,4\nhyperflannel,1\nmuntjac,5\nabused,0\nbonfire_(buttocher),4\nwererat,5\nhilary_(regular_show),4\nglass_furniture,0\ncactuskiss,1\ntail_sway,0\nscombrid,5\nmirroidal,1\nswablu,5\nkim_possible,3\ndraconer,3\ngorillaz,3\nray_cyber_tech_(artist),1\naviarian_wolf,5\nsling,0\njames_(sayuncle),4\nbuttons_(milachu92),4\nfeminine_pose,0\nhousewife,0\nkermo_(kamui_shirow),4\npink_pubes,0\nheather_(over_the_hedge),4\npride_color_hair,0\nfront-tie_top,0\nsasizume,1\nhuge_diaper,0\nambiguous_knotting,0\nhewge,1\nsgsix,1\npandaman90,1\nitsspoopsb,1\npresenting_crotch,0\nagatha_vulpes,4\nanal_prodding,0\nwhite_bandanna,0\ntwitch_(twitch),4\nfatty_humps,0\nleipori,5\ntherapy,0\nmissing_limbs,0\nraspberry,0\nshotgun_shell,0\nmorris_(artist),1\neva_grimheart,4\nitf_crossgender,0\na1ph4w01v,1\neeekay,1\npraimortis,5\nsonny_boop,4\ngiant_sperm,0\nwafflefox,1\nspeedoru,1\nhomohomofever,1\nhugging_legs,0\nsobieniak,1\nblake_rothenberg,4\nsnow_globe,0\nnotes,0\nbrown_feces,0\nkitorie,1\nkomenuka_inaho,1\ncalheb_(calheb-db),4\nblack_gargoyley,1\nwyerframez,1\npanscolipede,1\nkemosuke,1\ntailcoat,0\ntetris,3\ncubedcoconut,1\nshiori_(kurus),4\nwasileus,1\nnooxgard,1\nayzcube,1\navaliy_conely,1\naoru,1\nkitsune2000,1\nfly_agaric,0\nmagntasona,4\ndetailed_foreground,0\nwater_park,0\nfood_on_breasts,0\narticulated_hooves,0\nretro_parasite,1\ntack,0\nlittle_mac,4\ndawn_(disambiguation),-1\nsesame,1\nplanz34,1\nparis,0\nlefantis,1\nginette_cerise_(girokett),4\nanimorphs,3\nstarsoul,1\naraiguma_11,1\nlance_(radiantblaze),4\njanja,4\nthehyenassbe,1\npurple_boots,0\nrussian_flag,0\nrizdraws,1\nshroob,5\njewene_the_ewe,4\nshadoweyenoom,1\niron_man,4\nlandysh,1\nhelsy_(helsy),4\nstrapped,0\nfaputa,4\nhilichurl,5\ndreamworks_smirk,0\nolannah,4\nholding_ear,0\ndsharp_k,1\nmuffin_top_(general_use),0\ndorosheva-e,1\ndisney_princess,3\nsillydraco,1\ndragonwithgames,1\nmiles_yellow,4\nwallyroo,1\nmeowcaron,1\nxeno,4\n1991,7\nzane_darkpaw,4\ntriangle_(shape),0\nshaking_penis,0\nglistening_armwear,0\ndanielssj,1\nfeathered_tail,0\nthe_sprawl,3\njiggly_juggle_(oc),4\neeveecholo,1\nfrederic_(david_siegl),4\ndizzy_(101_dalmatians),4\ntabezakari,1\napplejack_(eg),4\npurple_fingers,0\nneo-spacian_aqua_dolphin,4\nalice_hill,4\npyriax,1\nperch,0\nvenonat,5\nscrew_loose_(mlp),4\nsplash_woman,4\nboardwalk,0\nmissblue,1\ngaothunnfsw,1\ntsume_zyzco,4\nippan_josei,4\njc_(artist),1\nriskitforthebiscuit,1\nnomad_genesis,1\naetherouranos,1\nlamb_(feretta),4\nopal_(ashnar),4\nmonotone_mouth,0\ngoyemon_k,1\nhydryl,4\ncat_paws,0\nholding_viewer,0\noseron,1\nruby_rose,4\nredapropos,1\nyellow-throated_marten,5\nmairi_nigalya_ponya,4\nshou_(securipun),4\ngreedent,5\narcade_bunny,4\narceronth,1\nmapdark,1\ntailsup4tyranno,1\nelderly_male,0\ndaich,1\nthe_end_(minecraft),0\nslugma,5\nhickey,0\nhumbuged,1\nmtttut_(artist),1\nkenzie,4\nintense,0\nrocky_and_bullwinkle,3\ndee_dee_(101_dalmatians),4\nbattle_armor,0\nmiburi,1\nzilx_(bugmag),4\n1oi,1\nkuroblood,1\nyellow_chest,0\nuseful_bear,1\nbjpentecost,1\nfirepawdacat_(artist),1\nsemura_(character),4\nfoot_over_edge,0\ngootraxian,5\nsubmerged_leg,0\ncasetermk,1\nstarly,5\nemmm,1\nvalentino_(hazbin_hotel),4\ngemini_the_otter,4\ntenecayr_(artist),1\nbouffalant,5\nshibaemonxsk,1\ncoop_(wrng),4\nfelix_(striped_sins),4\nhitchhiking,0\nnailah,4\nice_wolf_(undertale),4\nbeardo_(animal_crossing),4\ncaylin,4\nnyawe,1\nantoreakk,1\nredfirestar,1\nclothing_in_mouth,0\nspeechless,0\nnarija,1\nocerydia,1\npac,1\ndrake_mallard,4\nthong_leotard,0\nevonallure,1\nfredrik_k_t_andersson,1\nrespecies,1\nteletubby,5\ndragon_princess,4\ncorrompida,1\ncum_in_balls,0\ngail,4\nkeigai,1\nafrotropical_parrot,5\nhuntress_wizard,4\nsketchy_skylar_(character),4\njimnsei_(character),4\nfran_cervicé,4\nmuscle_bird,4\ntanu-tan,1\ntwerkey,4\nmolly_collins,4\nkaomoroart,1\nnibroc-rock,1\nasteriid,5\nmasturbation_in_stomach,0\nbeverly_(athiesh),4\nnatsume_(wrng),4\nboreoboros,1\nukraine,0\ndreaj1,3\nholemann,1\nasuka_kurehito,1\nlaarx,4\nsona_(noxiis),4\nfjord_horse,5\npec_squish,0\nnova_(warframe),4\nalonwoof,1\nsharparadise,1\nwerelagomorph,5\namprat,4\neightysix,1\nskull_face_paint,0\nneko_no_hito,1\ndolphin_bomber,4\nko_(fabio_paulino),4\nzantanerz_(artist),1\nround_nose,0\nnoronori,1\nandromorph_penetrating,0\njoshy_(kibaru),4\nvelvet_remedy,4\nknife_play,0\ntest_subject,0\nlift_job,0\nreward,0\ntoy_selection,0\nfelisrandomis,1\ncatherine_applebottom,4\nyao_(sdorica),4\nsomevelvetmorning,1\ncalling,0\nbitnarukami,1\nmiri_rodgers,4\nironhades,1\nforced_bestiality,0\nglowfox_(character),4\nmike_wazowski,4\ndogs_in_space,3\nrobbie_sinclair,4\nthighsocksandknots,1\nnaexus,1\nigneous_rock_(mlp),4\nstated_bisexuality,0\npenises_touching,0\nheather_kowalski,4\ngraphic_tee,0\nboris_(theboris),4\n7theaven,1\nblood_on_knife,0\nyajima,1\npaolumu,5\nboa_sandersonia,4\nclothing_ring,0\nholding_tongue,0\ndark_straw,4\nhondo_flanks_(mlp),4\nthighlordash,1\nnokemop,1\nshilumi,1\nhooded_jacket,0\ntribe,0\nskyshadow_(character),4\nthe_princess_and_the_frog,3\nzachariah_(velocitycat),4\nkupopo,1\ntocatao,1\nplanet_penetration,0\ntrix,3\ntrigger_(trigger12),4\ngraphite_(artist),1\ndoodlemouser,1\ninn,0\nroy_(raichu),4\njegermaistro,4\nliteraturabdsm,1\nrhythmpopfox,1\nryu_(street_fighter),4\ncheshire_cat,4\nsheath_lick,0\norangina,3\nty_(appleseed),4\ncreature_print,0\nlomas,4\npurrcules_(character),4\nsavage,4\nwhite_soles,0\nfahleir,3\nbask,1\nchris_(meesh),4\n40hara,1\ndr_nowak,1\ndizzy_eyes,0\nwookiee,5\nradicalweegee,1\nselix,4\nkidden_eksis,4\nparalyzed,0\nkordi,4\nhuynhduyad14,1\ncheesoart,1\njamesgrim,1\nclaire_redfield_(resident_evil),4\nexternal_wall,0\nnegieggy,1\nr18,1\nthigh_squeeze,0\nred_panda_mirr,1\ne-w01f,1\npast_sins_(fanfic),3\nishimaurell,1\nphina_(ashnar),4\nrefer,1\nplive,1\njackbox_games,3\ncum_in_toes,0\nronnie_(yinller),4\njustagoodboy,1\nelephant_costume,0\nsuzume_333,1\nwolfyhero,4\ndaisy_(mlp),4\nhatarla,1\nthe_tishen_transformation,3\ndaji_(full_bokko_heroes),4\nsong_(kung_fu_panda),4\nbrushing_fur,0\nstarscream,4\nmutual_footjob,0\nsupermarket,0\nfazbear_fanverse,3\ntila_sunrise,4\nanimal_arms,0\nsaberhorn,1\nanimal_ear_fluff,0\nrodemaru,1\navery_willard,4\ndoorframe,0\nabigail_roo,4\nchew_toy,0\nmulti_head_fellatio,0\neyes_on_the_prize,0\nbeehive,0\nride_sneasler_(pokémon_legends:_arceus),4\ntapering_tentacles,0\nskan_drake,4\nthibbycat,1\nnoinipi,1\njlazarus,1\nrake,0\nequustra_(ecmajor),4\ntravon,1\nek_goya,1\ndark_beak,0\nunp,1\npearleden,1\npom_pom_(mario),4\ngrey_t-shirt,0\nseen_(keeperseen),4\nmommy_long_legs,4\nelectroejaculation,0\nscary_face,0\nvacuum_bed,0\ntoribako,1\ncariamiform,5\npeko,4\ninscryption,3\nkyuubi360,1\nsstinkies,1\nrex_santos,1\nhuge_flexor_carpi,0\npootanger_sfm,1\nfinancial_domination,0\nvertical_ellipsis,0\ncosmic51moon,1\narm_growth,0\ntjloog,1\npatty_(vimhomeless),4\nnostril_ring,0\nrobot_joints,0\nleah_(lipton),4\nbessie_(zp92),4\ntaross,4\nreformation,0\ndaggett_beaver,4\ntrucker_hat,0\namethyst_necklace,0\npacific_rim,3\nmud_covered,0\nklutzatdusk,1\ncrutch,0\nblue_frill,0\nknotted_glory_hole,0\ndarkchakal,1\nghetto,0\nrocky_(kusosensei),4\nmlock,1\njaw_spikes,0\ncombee,5\napple-faced,1\ntekitourabbit_(artist),1\ngradient_ears,0\nbb,1\ncrunch,0\nann-jey,1\ntroodon,5\nsaphayla_(zelianda),4\ntied_to_chair,0\nkentachen27,1\npipyaka,1\nmomobeda,1\nmoomaid,1\nguitar_pick,0\njames_(james_howard),4\nshephard,4\nkids_gamera,1\ndg254,1\nlo,4\nkaepotassium,1\nbarney_the_dinosaur,4\nscrappyvamp,1\nbenjibat,1\nmindkog,1\nann_gora,4\nsplashbrush,1\nbue_(character),4\ncrew_(anti_dev),4\narith,4\ntail_wrapping,0\ntentacle_in_urethra,0\nstrikersa,1\nkrosbar_(artist),1\ndog_taur,5\nmilo_(catastrophe),4\namerican_pit_bull_terrier,5\nblack_genitals,0\nuni,1\ngrabbing_shoulders,0\nexperiment_(disambiguation),-1\nravensun,1\nms._mowz,4\nthe_cyantian_chronicles,3\ndaniela_idril,4\nkaohto,1\nmanizu,4\ntracy_(linker),4\nfeversfm,1\nkaiizree,1\narms_back,0\nraised_arm_support,0\napron_lift,0\nthehenwithatie,1\noracle_of_seasons,3\ngorget,0\nholding_paintbrush,0\nlobogris,1\nvhs_filter,0\ntwisted_table_lotus,0\nnugget_(diadorin),4\ndynamite_(kadath),4\nhudson_(gargoyles),4\npink_lingerie,0\nplume,0\nalan_white,4\nchisa_sa,1\nshadowy_figure,0\nbimbo_(bakery),3\nbongo_(antelope),5\nmono_g,1\nkam,1\nbarley_lightfoot,4\nchubby_intersex,0\nnegitives,1\naugust_moon,4\nblade_and_soul,3\nammy,4\nscarlet-spectrum,1\ndark_glans,0\npurple_tank_top,0\nhand_mirror,0\nsweetmeat,1\nunico,4\ngreen_pillow,0\nniur,1\ntaffyy,1\nnyquil,1\ntony_(tonytoran),4\nchinpo,1\nashcozy,1\nmalt_marzipan,4\npsychpsyo,1\nblue_chest,0\nconfusedraven,1\npoppy_opossum_(character),4\npercey_(character),4\nnargle_(nargleflex),4\nkcn,1\nskeletorskeletonized,1\nfox_(minecraft),5\nseikeikei2015,1\ndevergilia,1\nmrs._amp_(mramp),4\nvivian_rose,4\nbunny_raven,4\ndiamond_grenadier,1\nfkey,1\nfalcon_woodwere,4\nnelson88,1\ntrish_(invasormkiv),4\nsans_(underfell),4\nratontheraccoon,1\noricorio,5\nfaliet,1\nteaspoon,1\nbill_(skybluefox),4\npharah_(overwatch),4\nwaifu_chart_meme,3\ntartan_bottomwear,0\nmarcus_mccloud,4\nbibbo,1\ngwon,1\nfinegan,1\nstiches,0\nmoobjob,0\nthelasthope,1\nno-ink,1\nsabitare,1\ncum_on_object,0\nelements_of_harmony,0\npower-up,0\nmartha_wakeman,4\njorge_san_nicolas,4\nperenthis,1\nblack_robe,0\nmaximus_(tangled),4\nhorse_(centaurworld),4\nphione,5\nhyper_prolapse,0\ntrigger12,3\nackanime,1\nnemo2d,1\nmajiro_the_hedgehog,4\nbontiage,1\nxigma,1\nmiracle_star,3\ngummy_bear_(food),0\nspread_urethra,0\nautumn_sunrise,1\nshorebird,5\nkilix,4\nthe_spiner,3\nseamless_loop,0\nrainbow_armwear,0\nraised_hoodie,0\nshed,0\nblue_screen_of_death,0\ntwo_tone_swimwear,0\nflip_bunny,4\ndoedog,1\nwolfsecret,1\narm_over_head,0\naperture_science,3\nkipchin_2nd00,1\nbbc,3\njake_hart,4\ntawny_otterson,4\ngator_(artist),1\nlight_pupils,0\nli_shan_(kung_fu_panda),4\nblue_formalin,1\nbracelet_only,0\ncircuit_markings,0\npipepo,1\npeeing_on_chest,0\ntwymouse,1\nhawaii,0\nfoot_hands,0\nwebsly,4\nnameko_no_neko,1\nsebun_(beastars),4\ngrey_piercing,0\nheadband_only,0\nwhite_thong,0\nwolfwood1,1\nsouthern,0\nthe_huckleberry_hound_show,3\nyellow_boots,0\ntrench-meat,1\ndustedpollen,1\nspe,1\njinku_56,1\nstygimoloch_(artist),1\ndogaressa,4\ntopless_humanoid,0\ntrash_anon,1\nakamaru,4\numikazenet3,1\nmaxx-ros,1\neldegoss,5\ngrey_glasses,0\nblue_pikmin,5\nbolts,0\ndressuptober,3\npussy_juice_pool,0\ndvd,0\nfroggy_(sonic),4\ncommand_and_conquer,3\nzera_stormfire,4\nrui_nikaido_(odd_taxi),4\nmetal_chain,0\nyuuuki_desu,1\nosiris_henschel,4\nork,5\npilitan,1\ncaprine_pussy,0\nblue_leash,0\nultrazeta120,1\nrtzero,1\nfriskalpox,1\nneckband,0\nbombay_cat,5\nchin_grab,0\nwallswhisper,1\nnopetrol,1\njulian_(animal_crossing),4\ntext_shadow,0\nole,1\nglistening_nails,0\nsnekkobean,1\nfoxydude,4\nmulti_wielding,0\ntorso,0\nescape_to_nowhere,3\nkenzofong,1\nflipyart,1\nketo,1\nsoonico,1\ndahecksajerry,1\nfish_insertion,0\nvanara,5\nfood_on_body,0\nspooky_(sjm),4\nforefox,4\nlully_pop,4\norang111,1\nkomane,4\npseudo_bottomwear,0\nfurry_penis,0\nkektails,1\nglowing_hands,0\nbristles,1\ntail_tattoo,0\nfairy_musketeers,3\nkeinos,4\nmessy_eater,0\nmax_(notkastar),4\nbogexboog,1\nchimera_humanoid,5\nnatu,5\ncondom_disposal,0\narkomeda,1\ncurtsey,0\nprostate_milking,0\nazukipuddles,4\nheyimteedo,1\njolliapplegirl,1\nkinar_(amocin),4\nthelazydreamer,1\njustice_(helltaker),4\nblack_bandanna,0\nconfederate_flag,0\nimmelmann_(character),4\npb-art,1\nhouses,0\nphysen,1\nmonotone_glans,0\ngroggyghoul,1\ntiffany_brewwer,4\nwonder_boy,4\ndrizziedoodles,1\nstrapon_in_pussy,0\nglowing_areola,0\nsintronic,1\nxion_archaeus,4\nluna_the_eevee,4\ndunmer,5\nveronica_(securipun),4\npups_of_liberty,3\nlonefox,1\nsakura_haruno,4\ngeld_(that_time_i_got_reincarnated_as_a_slime),4\nshenki,1\nfenra,5\nhisashiyo_0705,1\nemil_(funkybun),4\nwavern,4\nbat_(petruz),4\nfenrir_osbone_(character),4\ngreen_stockings,0\nsith_lord,0\neugeniyburnt,1\nmulticolored_outline,0\nmako_(rudragon),4\nwitchanon,1\naeolius,1\ndiegotan,1\norange_collar,0\nbooties,0\nzudomon,5\nwooden_sword,0\nmyrl,4\nbegging_to_stop,0\nbunearyk,1\nclothes_line,0\nforsburn,4\nsamaraka,1\nelisa_(maddeku),4\nbent_back,0\nvermine,1\nmathew_kelly,4\nvanessa_(fnaf),4\nudtf,0\nterribly_british,0\nkeeperseen,4\nvetarix,1\nnotpcd,1\nhidoritoyama,1\nlovelyneckbeard,1\ndouble_thumbs_up,0\nzandermanith,1\nzoophilic,1\ncassiopeia_(lol),4\ngynecological_chair,0\nroyaljellysandwich,1\nragnacock,4\nkuriusagi,1\nsarcophagus,0\nde_ktgr,1\nleaking_urine,0\nbrown_loincloth,0\nburnt_clothing,0\nyamatoooooo,1\ntaral_wayne,1\nsambaneko,1\nseisuke,1\nrosechu_(species),5\nverlo_streams,4\nrectal_thermometer,0\nterror_bird,5\nshower_stall,0\nminos,4\njb_greymane,4\ncollar_of_keidranification,0\ncapseys,1\nkatlin_perkins,4\npalms,0\nglowing_sex_toy,0\nredsmock,1\nsugar_sprinkles,4\nheadless_play,0\ntaoist_talisman,0\ncelebrity_bangmatch,3\n1mp,1\nnaginata,0\ntaur_penetrating_human,0\nornifex,4\ndi19826,1\njinjing-yu,4\npencil-arts,1\ntonosan,1\nperry_the_platypus,4\nsilvermidnight,1\nlucia_(character),4\nnlr_domain,1\nwildfire_(rubberbuns),4\nhuckleberry_hound,4\neeyore,4\nemma_the_eevee,4\nmulticolored_skirt,0\nerosuke,1\nnormal_forme_deoxys,5\nkinako_(40hara),4\ndouble_deep_throat,0\nsamantha_(infinity_train),4\nshigoto,1\nshe_tikin,1\npenis_slap,0\ndraco32588,3\nneck_kiss,0\ndante-feline,1\nts-cat,1\ntida,4\nfingerprint_(artist),1\nbeware_the_shadowcatcher,3\naurenn,4\nemphatic_heart,0\npr-egg-nant,1\nmth_transformation,0\nrinkai,1\nzaphira_(zummeng),4\nspiral_oculama,0\narcanis,4\nhero_of_many_battles_zacian,5\nmajor_wolf,4\nvenus_flytrap,0\nbioluminescent_penis,0\nkigtoons,1\nfootjob_while_penetrated,0\nookamiwaho,1\nartistissues,1\naegis_(infinitedge),4\nloon,5\nkronas,4\nfurx_(character),4\npyruvic,4\nspank_(sound_effect),0\nms._moona,4\nstriped_tentacles,0\nibengmainee,1\nkyouji_(morenatsu),4\nechin,1\nzorgoia,5\npointer,0\ntrevenant,5\nladynoface96,1\ngarden_warfare,3\ngalmgaruda51,1\nkneeling_on_one_leg,0\nitroitnyah,1\nalwaysfaceleft,1\nsheelahi,4\nmoonway,1\njohnsergal_(character),4\nbāozi,4\nbiohazard_(artist),1\nfrom_side,0\nso_i'm_a_spider_so_what?,3\ndragon_city,3\nseth_häser,4\nplu,3\nblack_and_white_hair,0\nhotline_miami,3\nwererabbit,5\ntunny,4\nflyingram,1\nolder_ambiguous,0\ndante_yun,1\n6_limbs,0\non_knee,0\norange_pseudo_hair,0\nduskihorns,1\njade_jacky_kim,4\ncid_(fuze),4\necchipandaa,1\ntami_k_maru_(yourfavoritelemonade),4\ncradily,5\nria_(gnoll),4\nbody_fur,0\ntaranza,4\ntug_of_war,0\nchadrocco,1\nemperpep,1\ndoor_slam,0\ncloud_meadow,3\nishton_(artist),1\nyoko_littner,4\nwaffl3sk4t,1\nlivingroom,0\ncum_on_own_arm,0\nashley432,1\nsupine,0\nwrap_bra,0\nprogression,0\nred_merle,5\nmrpotatoparty,1\nburn_marks,0\neddy_okapi,1\nalfiq,5\nlucy_black,4\ngoldenemotions,1\npink_floyd,3\niris_(pokemon),4\nwastester,1\nnude_human,0\njeremeh,1\ntentacles_around_arms,0\nmale_to_female,0\nmeeya,4\nrpg_densetsu_hepoi,3\ndrop_shadow,0\nevan_(kihu),4\nmittens_(panapoliz),4\nshani_(zummeng),4\ndragon_ball_(object),0\npaper_fan,0\nkyrie_eleison,1\ntatzlwurm,5\nracha_(otterjunk),4\nmad_max,3\ngulp_(sound_effect),0\nnovaarts,1\ncolored_feces,0\nctrl_alt_yiff,1\nglistening_topwear,0\nmaychin,1\nscp-2547,4\ntop_pov,0\nlilinfeng,1\nmarco_diaz,4\ndemon_dragon,5\nbobby_frederick,4\nnuroi,1\nlyc,1\naction_figure,0\ncandy_borowski,4\ngreen_spikes,0\nparsnip_(game),3\nsundyz,4\ngelbun,4\neinarr_(personalami),4\nalicorn_oc,0\nmik3thestrange,1\nradonryu,1\nsock_fetish,0\nbdanimare,1\nsakusan_kc,1\nsamuriolu,1\nshyren,4\namber_puppy,4\neggnant,0\nkirumo-kat,1\njaykat,1\nesasi8794,1\namadeus_prower,4\ntranslucent_skirt,0\npinumontbalou,1\ntoy_(mcnasty),4\nyanaka,1\nstocking_(pswg),4\nvolatus,1\nchopsticks_in_hair,0\nspiral_staircase,4\ncrayon_(character),4\ntotem,0\nyamato_(one_piece),4\nsam_(colo),4\nineedanaccount,1\nboss_wolf,4\npoison_joke,0\nweiss_schnee,4\nnatsumeggggg,1\ncolleen_(sugarnutz),4\nclimbing_wall,0\nqueen's_blade,3\nglowing_belly,0\ncowboy_bebop,3\nalberto_scorfano,4\nartbynit,1\nirah_(fvt),4\nsuule,1\nguinefurrie,1\npartially_submerged_leg,0\nmoray_eel,5\naipangpangdeyua,1\npatriotism,0\nblue_goo,0\nrockgaara,1\nhitsuzi_taro11,1\ncontrail,0\nsoda_uyu,1\nbottom_view,0\nropes_(character),4\nlooking_ahead,0\ndrredhusky83,3\nlennoxicon,1\ntwindrills,1\nscaled_penis,0\nhelelos,4\ncanadian,0\nhoof_beat,3\nmoozua,1\nblocked_birth,0\nbeenic,4\ncredit_card,0\ncoinpo,1\nlemming,5\nhuztar,1\nusawa_fuwakaru,4\nnaira,1\nluka_(artist),1\nnanahoshi_suzu,4\nnatt333,1\nfelling_axe,0\npaul_grayson,4\nmonotone_fingernails,0\nsexotheque_(copyright),3\nass_to_pussy,0\nzoey_(dirtyrenamon),4\nthigh_high_stockings,0\nhidden-cat,1\npmd-e,3\nrapunzel_(disney),4\ndiamond_(marking),0\nitzamna,4\nrenatetherat,1\nlykra,5\non_ball,0\njmadoc,1\nwang_chow,4\nholstered_pistol,0\nsan_inukai,4\ntwo_tone_shorts,0\nfurry-specific_brand,0\nnanomoochines,4\nmuscle_mouse,4\ncleaver_(knife),0\nsawblade_(artist),1\ngeek,0\nvagus_(haychel),4\nalpacapala,1\nadlynh,1\ncat771115,1\nsitting_on_chest,0\njcm2_(artist),1\ntwitch_plays_pokémon,3\nnomu,5\nbrown_foreskin,0\nbowser_logo,0\nzapapanda,1\nviolet_echo,4\nhellboy_(character),4\nimjim007,1\nmega_garchomp,5\nbrouva,1\ncoop_burtonburger,4\nlief_woodcock,4\nnoxybutt,1\ncymbals,0\nurine_on_butt,0\nfennec_fox_(kemono_friends),4\nrabbi-tom,1\nmilkbreaks,1\nteal_topwear,0\nhyouza,4\nsummer_deerling,5\nintense_orgasm,0\nlddraws,1\nden,0\nred_outline,0\nleg_in_water,0\nm_and_m's,3\nfilled_womb,0\ndom_(animal_crossing),4\ngariyuu,4\nmrs._henderson,4\ndote,1\nopal_(animal_crossing),4\nveldazik,1\ndakota_(kaggy1),4\npower_rangers_spd,3\nphysical_censor_bar,0\nmesh_shirt,0\nlying_on_top,0\nmizuty,1\nrandomguy999,1\ncubow,1\njmynstyx,1\nclit_torture,0\nkamikitsu,1\nnew_pokemon_snap,3\ncaptain_america,4\nhead_jewelry,0\ncum_on_own_breasts,0\nalma_aurora,1\nanaxus,1\nschorl_(kitfox-crimson),4\nguerillasquirrel,1\ntotentribe,1\nlight_shirt,0\ncxcxxcxxxx,1\nholding_torch,0\npants_around_thighs,0\nhemiclitores,0\nsex_magic,0\ncrys,1\ntymbre,4\nmonroe_lehner,4\nmaplepudding,1\ndark_brown_fur,0\nphyco,4\nori-doggo,1\nthebrokencog,1\nbrown_eyeshadow,0\nsabuteur,4\npumping,0\nkfc,3\nbimbo_bear,4\nwegcremington,1\nmaster_oogway,4\ncheckered_shirt,0\nnikaidooooooooo,1\njayjay,4\nmonotone_dress,0\ndodge_(brand),3\nyolk_(artist),1\ndoughnut_fucking,0\nnp4tch,1\nturning,0\nreprogramming,0\nroot8beat,1\npinecone,0\ntapering_clitoris,0\ndixie_(balto),4\nhair_growth,0\ndizfoley,4\nmulti_sheath,0\nken_(garouzuki),4\ncherry_popper,4\ndrawfruit,1\nnectar,0\nwmdiscovery93,1\naskart,1\ntheicedwolf,1\nomega_wolf_(soulwolven),4\ncrayzee609,1\nkukumomo,1\nlillymon,5\nmega_kangaskhan,5\njoltik_(artist),1\nprime_warframe,5\nbra_only,0\nkabe2mugi,1\nsteelfire,4\ncharm,0\npinsir,5\nbuck_(evane),4\nblack_headphones,0\nsock_sniffing,0\ndark_pants,0\nstd,0\nshapeshifterprincess,1\nsurprised_eyes,0\ncoast_(artist),1\nkettukarkki,1\nhoothoot,5\nheatherwolf,1\ncleffa,5\npride_rock,0\nglistening_thigh_highs,0\ngalarian_meowth,5\ntiger_trace,4\nguilty,0\nmiryam_(giru),4\ncountershade_skin,0\nmatt_(wackyfox26),4\nlunakia,1\nphone_view,0\nclusterskulls,1\nendogeny,4\nsnowy_(yuki-the-fox),4\nkiwifruit,0\nstreetdog,4\ngray-day,1\njack_daniel's,3\nlucifer,4\nakabur,1\nitsdraconix,1\nprimal_kyogre,5\njoshin,1\nx-ray_vision,0\nnadnerbd,1\nsoftsorbet,1\nhalcyon_(series),3\nsalomonkun,4\nspiked_dildo,0\nobscured_anal,0\nkhakis,0\nayakashi,5\nrolo_(rolo_stuff),4\nblack_jeans,0\nmonsterblender,1\nfuo_(hanadaiteol),4\nbloocherrypie,1\nrabbit_(wolfpack67),4\nxiao_hui_(ffjjfjci),4\nsoryuu,1\nmayan,0\nmabo_(artist),1\nluster_dawn_(mlp),4\njack_mckinley,4\ndatte-before-dawn,1\nlegged_snake,5\ntamaro,1\nred_(among_us),4\nleto_(grimart),4\nn64_controller,0\nachromatic,1\nquote,0\namanita,0\nsergiroth,1\nannie-mae,1\nshinard,1\nmurray_hippopotamus,4\nki'rinaes,5\ngrey_vest,0\nreverse_dancer_position,0\ncoach_night,4\nproblematicpossum,1\nnoir_(yobie),4\nfuzzymaro,1\nnobunagapero,1\n20th_century_fox,3\nbuilding_insertion,0\ntentomon,5\nmario_party,3\nvanillite,5\nstacey_(goof_troop),4\nyoung_horses,3\nkitsu,4\ntiedernas,1\ntrial_captain_mallow,4\nrainbow_cum,0\nthrowing_character,0\nmonstercat_media,3\njaque_smith,4\ntaeshi_(artist),1\ndof,1\nmorty_smith,4\nmysaowl,1\ncolored_claws,0\nkoekoek,1\nrussie,4\nquinto,1\ntom_(lm),4\nplanetmojo,1\nanthro_claw,1\neddie_(dessy),4\nremidragon,4\nsoarin_(soarinarts),4\npliers,0\nmelissa_sweet,4\nliving_toilet,0\nthrobbing_knot,0\ntsukane_yoda,1\ncalem_(ruddrbtt),4\nanthropornorphic,1\ncrotch_kick,0\nthe_wolf_and_the_seven_little_goats,3\nbearphones,4\nben_day_dots,0\nyounger_sibling,0\nrolo_stuff,1\ncreepy_gun,1\ntrunorth,1\nundyne_the_undying,4\nexplicitly_stated_consent,0\nmoschid,5\nconbudou,1\nvibrator_controller,0\nshetland_sheepdog,5\nmarcus_(thehades),4\nseeds,0\npozole,1\nsun_marking,0\nbucked,1\nmike_argentum_(copyright),3\nme!me!me!,3\ncapuchin_monkey,5\ntrix_rabbit,4\nnanoless,1\nuluri,1\nchef_uniform,0\nanti-gravity_boobs,0\njax_the_bat,1\nthegreyzen,1\nsei_monmusu_gakuen,3\njunip,4\ndan_(smarticus),4\nmilftwo,4\nsoraawoolf,1\nkael_tiger,1\nquse,4\npodium,0\ntetsunoshin,4\nshauna_(pokémon),4\nspike_(extreme_dinosaurs),4\ngoo_(razy),4\nscarlett_(whiterabbit95),4\nrebirth,0\ncritical_role,3\nassumi,4\nplumage,0\njakegr,1\n34from1800,1\nthumper_(disney),4\nanal_tube,0\npears_(artist),1\nadrian_donovan,4\npixelflare,1\nashley_(ashleyboi),4\nnorbert_beaver,4\nchrysolophus,5\nfire_conejo,1\nattic,0\nreevah_(nuree_art),4\nriroburo,1\nkiss_mark_on_penis,0\ngeckozen,1\nartemis_(sailor_moon),4\nscratazon,5\nsinamoncake1,1\nfriend,0\nblack_tail_tuft,0\nken_singshow,1\nslit_throat,0\nbig_sternocleidomastoid,0\nbuck_(buckdragon),4\nstewie_griffin,4\nblender_(machine),0\nbloodline_(webcomic),3\nextinctioners,3\nnipple_bell,0\natariboy,1\nbear_hand,3\ntoeless_boots,0\nrunasolaris,1\nfake_dog_ears,0\nreddyrennard,1\nvalerie-v,1\nhelodermatid,5\noddworld,3\naromatisse,5\nbasch,1\nteostra,5\nfinger_on_chin,0\nsmoochum,5\nozzybear,1\nlah_(sonic),4\nshoru,1\npubic_stubble,0\nspiked_balls,0\nandross,4\nfelix_the_cat,4\nrpbbw,1\nholly_applebee,4\ngrandall_(character),4\nblacknemera,1\nking_(cave_story),4\nayvee,1\nravieel,1\npuffchu,4\nzaldenvire,1\nportzebie,1\narcarc,1\nambient_spider,5\nsummon,5\namerican_mcgee's_alice,3\nlazzylad,1\n34san,1\njo-vee-al,1\npaw_on_face,0\nchrisbmonkey,1\nstan_the_woozle,4\ndaisuke_yomo,4\nforced_in_fabric,0\nsissel_(repeat),4\nbent_forward,0\ndrawings,0\nripper_roo,4\nnonarycubed,1\nnarcotic_sprinkles,1\nbrown_vest,0\n5bluetriangles,1\nshasta,4\ndisembodied_tentacle,0\nblonde_beard,0\nshiitakemeshi,1\ntext_on_footwear,0\nwild_west,0\ndiaper_bulge,0\nxefra,4\narctic_shrew,5\nzeroseven,1\ngolden_pheasant,5\nrobbery,0\nkyle_(redrusker),4\nlezified,1\ntan_foreskin,0\nshadaria,0\nnana-yuka,1\nsex_on_bed,0\npeyotethehyena,1\nroland_guiscard,4\nmzhh,1\nmovement,0\nchemicals,0\npurna_whitewillow,4\noz_(buxombalrog),4\nya-ya-tan,1\naerrow,4\nbranding_iron,0\npoop_(artist),1\nlongcat,3\nwoofyrainshadow,1\ntext_censor,0\nloose_orifice,0\nreverse_zangoose_day,3\nleongon,1\nrose_duskclaw,4\nburnt,0\nruben_(djcoyoteguy),4\norange_membrane,0\nxargos,4\nrotting,0\ntoyification,0\nzeekerz,4\nwasajoke,1\nwaywardmutt,1\nblaki_raiper,1\nanne_kennel,4\npotty,0\nhazel,4\nsummer_grass,4\nlaohu,1\nknees_bent,0\ndarkdorito,1\nosato-kun,1\nlovehinba,1\nmayhem_(renard),4\nchirenbo,1\norinette_(ceehaz),4\nwardy,4\nwzzzki,1\ngrillo,1\nmario-grant,1\nflying_fox_(artist),1\narmwear_only,0\ncountershade_snout,0\nnomsi_(character),4\nnekomajinsama,1\nswollen_pussy,0\nmonki,4\nyellow_armwear,0\ntahla,4\ntam_(tamfox),4\nglin720,1\nkiku_(white_knight19),4\ntinker_belle,4\nblack_sunglasses,0\npandx,1\npride_color_armwear,0\namericananomaly_(artist),1\nbone_pattern,0\npurple_light,0\nroo_(winnie_the_pooh),4\nrocket_boots,0\naverage-hanzo,1\njinxit,1\nkawa_(artist),1\nakasha_the_queen_of_pain,4\nreik_(peritian),4\nenid_(ok_k.o.!_lbh),4\ninsaneproxy_(artist),1\nkissing_butt,0\nballs_in_face,0\nstory_in_picture,0\ncity_lights,0\nlaid_back,0\ncocoline,4\nspotted_bottomwear,0\nkyubun,1\nthephantompornographer,1\nflintlock,0\nred_hooves,0\ntail_garter,0\nmob_cap,0\nsame_size,0\nlove_can_be_different,3\nnipple_covers,0\nballerina_position,0\ngunter_(frisky_ferals),4\nmemory_match,4\ntan_footwear,0\nambient_figure,0\ngrabbing_bedding,0\n18:37,7\nmemegmu,1\ngraboiidz,1\nchessi,1\nmiyabita_cheetah,1\nwombat,5\nallin,4\nprotoceratops,5\nshigatake,1\ntongue_fucking,0\ngerardson,1\nbartholomew_martins,4\ngoggles_around_neck,0\ngala_(carmessi),4\ncrizbn,1\nglitch_(the_gamercat),4\nxanthewolf,1\nturquoise_body,0\npaul_(knights_college),4\ntiamat_(dnd),4\nblack_skinsuit,0\nadjusting_hair,0\nz00p,1\nslouching,0\nwhite_lingerie,0\nscaled_legs,0\n17:9,7\ngila_monster,5\nsake_dish,0\nroxy_bradingham,4\nlitchi666,1\nbridal_veil,0\ndewy-eyedboy,1\nround_cloaca,0\nartificer_(risk_of_rain),4\ntelepathy,0\ncollared_lizard,5\ncheetos,3\nmaterclaws,1\ncut_ear,0\ncorrvo,1\nazazel_(helltaker),4\nktq15,3\ndrawn_together,3\nbaggy_eyes,0\nhypnofire86,1\npride_color_bandanna,0\nsnort,0\nlickilicky,5\nninetails_(okami),4\nkuramichan,1\nhowxu,1\nreed_(bearra),4\nkade_(savestate),4\nbodyattk,1\narabian_clothing,0\nchip_bag,0\nnauskills,1\nnimbus_whitetail,4\nsinto,1\nleokato,1\nnikuq_owata,1\nyinyue_(artist),1\nfritz_the_cat_(character),4\nprisonsuit-rabbitman,1\ncoal_(artist),1\nredcoonie,1\nbugsnax,3\ndosent,1\nbatesz2,1\none_piece_suit,0\ncamber,4\nsquat_toilet,0\nblank_humanoid,5\ndiscomfort,0\nchain_position,0\ncabura,1\nbleakcat,1\nnamelessenemy,1\nhyper_clitoris,0\nalice_(kairaanix),4\narm_spots,0\nresort,0\nrobotic_reveal,0\naiming_at_viewer,0\nvoyeur_pov,0\nmaxmushroom,1\nchrislhi,1\nkitty_(under(her)tail),4\nshrabby,1\npresenting_genitalia,0\nlilika_snowheart,4\neffulgent_dragon,5\narrkhal,1\nfrances_sugarfoot,4\nrand,1\nslayers,3\nzorro_re_(character),4\nhorse_taur,5\nstardew_valley,3\nhand_on_another's_tail,0\nthorin,4\nfoot_on_thigh,0\npun_pony,4\nchinchou,5\nashes,0\nwearing_sign,0\npeter_griffin,4\nadaline_(sharemyshipment),4\nthe_jackbox_party_pack,3\ntorotale,1\nbrain_(top_cat),4\nandytakker,1\nsol_the_guilmon,4\naaliyah_(oc),4\n00284_(character),4\npoppy_(animal_crossing),4\nneonatta,4\neonbr,1\ncastrodour,1\ntemiest,1\nfilter,0\ncannot_unsee,0\nkeyhat_tk10,1\nhulk,4\nalex_dowski,4\nlolmaster,1\nliquidmark,1\nmyumon,5\naidan_(doubledog),4\nsnowroserivenstar,1\nnam,1\nflea,5\noran_berry,0\npenis_in_slit,0\nskashi95,1\nkraid,4\nno-name-no-problem,1\ndark_arms,0\nfuzzychicken,1\nsmall_clothing,0\nrugrats,3\njohn_(meesh),4\ntheridiid,5\nalice_in_wonderland_(disney),3\nbouncy,0\ndabbledraws,1\nvalderic_blackstag,1\noliver_(fuel),4\nanus_on_glass,0\nblowing_raspberries,0\nwrendeer,1\nantennae_growth,0\nwuirnad,1\nporygon2,5\ntalilly,1\nbiskblizk,1\nthigh_jiggle,0\nstuck_in_door,0\nthreaded_by_tongue,0\nskyshadow_(artist),1\ngasmaskfox,1\nbig_latissimus_dorsi,0\naryn_(the_dogsmith),4\ncereal_box,0\nvsdrawfag,1\nclassic_tails,4\ncum_in_sheath,0\nsimamanta,1\nribbed_dildo,0\nshinoda_hamazaki,1\nsuperslickslasher,1\nlugen_kobold,1\nfuckable_pin,4\nsleep_mask,0\ndowski,3\njonky,1\nrubbing_eyes,0\ninusen,1\nllirika,1\nlootz,4\nintroduction,0\novni,4\ncrashgall,1\nthedirtyshark,1\nmonotone_spikes,0\nandikapatok,1\nweapon_on_back,0\nspectre,5\nesahma,1\nkatty_hupokoro,4\ntweezalton,1\nonstatobol,1\nkaikururu,1\nplasma_rifle,0\nnogitsunegabriel,1\nseth_(sethpup),4\npenis_on_shoulder,0\narlon3,1\npanthra78,1\nms._renee_l'noire,4\ndarnell_(zummeng),4\nroketchu,4\nmulticolored_jockstrap,0\ncaprine_penis,0\nthiingamajiig,1\nprincess_(paigeforsyth),4\ntext_with_star,0\ngrowingdragon,1\namanda_(smile4amanda),4\nspedumon,1\njulia_woods,4\nskipper_(madagascar),4\nheart_pubes,0\nverbal_degradation,0\nscopedout,1\nhenri_(r3drunner),4\npink_soles,0\nphylloaurea,1\nfox_costume,0\ndraco_(dragonheart),4\ngreen_lantern,3\nhaan_(character),4\nmorbid,0\nelkir,1\nyukikaze_panettone,4\nrumpaf,1\nthe_king's_avatar,3\nhair_bobbles,0\nthalislixeon,1\nlion_granny,1\nowen_edwolf,1\nblack_rhinoceros,5\ndigitigrade_footwear,0\npoppin,1\nnotched_fin,0\ndust_(mewgle),4\nparallax05,1\nember_nifflehiem,4\nmistressadaira,1\nthai_text,7\npattern_hat,0\nplumed_basilisk,5\ntrapped_in_condom,0\nvoid,4\nyin_(yin_yang_yo!),4\nalumx,1\ncone_of_shame,0\nthewinterbunny,1\ncanadianbacon,1\nhomebro,1\npin_accessory,0\nlinkin,4\nchewbacca,4\nkiller_instinct,3\nnastacula,1\nhand_around_waist,0\nnoirnoir,1\ndiederich_olsen_(knights_college),4\nweepinbelly,1\nrocking_horse,0\njames_(the-jackal),4\nplushcrochet,1\nnyn_indigo,4\nred_suit,0\nffuffle,1\nfang-and-fantasy,1\nregisteel,5\nstudy,0\njackie_hopps_(grummancat),4\naya_blackpaw,4\ntrenco,5\nvaporeon_copypasta,3\nred_toenails,0\ntoukurou,1\nchrisarmin,1\nbovine_tail,0\nz-afiro,1\nmilkie_souris,4\nathletic_andromorph,0\narthur_mathews,4\nastaroth,4\ncasseroleafy,1\ndante_(dmc),4\nsolo_cup,0\n18plusplus,1\ncancatbeans,1\ndoom13,1\nnazuranoke,1\napple_jewel_(mlp),4\nbrown_head_tuft,0\nnat_127,1\nfleshysack,1\nstylized_pubes,0\nsenpailove,1\ntaree,4\npenile_breasts,0\none_sock,0\nfapp,3\nakkla,4\nmentha,1\npulling_panties,0\nhi-ku,1\nfakeanna,1\nnervous_grin,0\nholding_wrench,0\nxxmysteryxx,1\njabberjaw_(character),4\ngaslight,4\nflo_(overflo207),4\ncanton,0\nsnow_humanoid,5\nnaika,1\njockstrap_on_face,0\npegasi_guard_(mlp),4\nkate_(hioshiru),4\nmagazine_(gun),0\nkawma,1\nsam_(orf),4\nbessy_(here_there_be_dragons),4\nkegel_weight,0\nejaculating_dildo,0\ntigerlovedog,1\naikaanarchy,1\nfurrball,4\nairsicksubset,1\nsean_o'hare,1\nxexus,1\nplaystation_logo,0\ncogsfixmore,1\nskates,0\nailurid_humanoid,5\ntorkoal,5\nmobian_pred,0\ndessy,4\nballet_boots,0\nspotted_exoskeleton,0\nsavannah_cat,5\nnavirou,4\ngame_and_watch,3\nk.k._slider_album_redraw,3\nvitaly_(artist),1\noar,0\nlawn_chair,0\njabberjaw,3\nyukkooart,1\ncypher,4\ncock_bulge,0\nteal_highlights,0\nred_lighting,0\nlispp,1\nlife_(gaming),0\nnora_(zummeng),4\ndrudgegut,4\nhdoom,3\nfb1907,1\nage,0\none-handed_face_fucking,0\nhuge_muscle,0\ntranslucent_loincloth,0\nkensan,1\ntime_skip,0\nskunk_bunk,1\nlooking_at_own_butt,0\npet_foolery,1\nspellcasting,0\nsilver_fox_(kemono_friends),4\njacques00,1\nteam_magma,3\npuff_(softestpuffss),4\nlemonlime,1\nmankey,5\nkumammoto_(artist),1\npurple_chest,0\nmostlyfunstuff,1\nkangaroo_mouse,5\nrivvoncat,1\nsskomu_(artist),1\nglistening_sunglasses,0\ncrystal_humanoid,5\npokémon_colosseum,3\npumpkin_breasts,0\nshadowed_face,0\nsirn_0121,1\nred_(characters),4\njazz_jackrabbit,4\nblackgtr72,1\nserona_shea,4\nstarfish_bra,0\neurasian_sparrowhawk,5\nguin,4\npanthera,5\nnagifur,1\namon-sydonai,1\nhershey_the_cat,4\nwicketrin,1\nbill_cipher,4\nholding_on,0\nfused_shadow,0\npark_horang,1\nkemonon,1\nsharkstuff,1\nshawoo,1\nvixy_(hyilpi),4\namawdz,1\nfenrir_(amakuchi),4\nshantae_(monkey_form),4\nevalion_(character),4\nronchainu,1\nlamortmon,5\npursed_lips,0\nmulticolored_egg,0\nfuni,1\nhazumazu,1\nburied_in_sand,0\nalexis_(character),4\njoe_rosales,1\nflexible_survival,3\ntelepurte,1\nharness_ring,0\nnintendo_badge_arcade,3\nwillow_(glopossum),4\nwindow_curtains,0\nsulong_carrot,4\ndissolving_clothing,0\nalexi_tishen,4\nshep,1\nnarwhal,5\nliberty_(bluecoffeedog),4\nmoonshine_(miso_souperstar),4\nchloe_(iamaneagle),4\ndoorbell,0\nmurontis2001,1\nlahuncham,1\nthe_adventures_of_puss_in_boots,3\nthunderbolt_the_chinchilla,4\nred_cloak,0\nin_pokéball,0\ntracy_vale,4\nzempy,4\ncocoronut,1\nulya,4\nscynt,4\nblack_and_green,0\nferloo,4\npurple_pubes,0\nbill_grey,4\nzmsfm,1\nvivian_(animal_crossing),4\nunwanted_knotting,0\nsirod,1\namaura,5\nwahafagart,1\nassisted_masturbation,0\nentropy_(billeur),4\nvee_stitch,1\nchainmail_bikini,0\nterry_bat,4\nbastroceive,1\npatch_(disambiguation),-1\nphinnherz,1\ncampsite,0\nkuni,1\nner0_kobold,1\ngabby_(disambiguation),4\nunknown_(disambiguation),-1\nskydiving,0\nloki_(lowkeytoast),4\neaster_breasts,0\nmaster/slave,0\nspinarak,5\ntechnicolorpie,1\npanties_around_ankle,0\nmara_(gunmouth),4\nclawed_hands,0\nmerlinmakes,1\nnamekian,5\nhoe,0\nbeta_tyson,4\njenny_(slither),4\ntailmouth_(species),5\nfari_paredes,4\nduster_(duster),4\nsibella_dracula,4\npride_color_kerchief,0\nnorthern_dragon,5\nmabyn,1\nseeing_stars,0\ncrentonigen,1\nedtertainerd,1\nseel,5\ntaharon,1\nthe_raccoons,3\nsir_aaron,4\nnull_(sssonic2),4\nrainbow_mika,4\ndracomon,5\ngible,5\nlilbluefoxie,1\nladies_of_the_shade,4\ntwo_piece_swimsuit,0\nbailey_(naughtymorg),4\nhospitallerinaboat,1\nara_(kin),4\nkissy_face,0\nzombineko,1\nroy_blake,4\nsnes_controller,0\nboo-boo_bear,4\nlayla_(mrdirt),4\nalin_raven,1\nfruit_juice,0\nhipster,0\ndoor_handle,0\nyukigatr_(evov1),4\nsaffron_(safurantora),4\nbarby_koala,4\nitalian,0\nurethral_oviposition,0\nrick_marks,4\ndeoxi,1\nbaburusushi,1\nlip_expansion,0\nsoren_ashe,4\nunusual_scat,0\nwallet_chain,0\nbiskydraws,1\ndaria_lang,4\negan,4\ntwee,4\ndiploma,0\nredfiery,4\neleode,1\nname_in_narration,0\nmalphas_(enginetrap),4\nflir_(rabbit),4\nnekopara,3\nbrian_reynolds,1\nmanagarmr_(housamo),4\n8horns,1\nrothfale,4\nsharkiedude,1\nairachnid,4\nstrohdelfin,1\njace_zantetsukin,4\ncole_cassidy,4\nlong_(zerofox),4\ntayferret,1\nbaconbasket,1\nholding_chest,0\ncartoon_physics,0\nmesoplush,1\nmiso_(miso_souperstar),4\nhyper_teats,0\nfantasia,3\njazzlioness,1\ncommon_collared_lizard,5\nsataenart,1\nmulticolored_tank_top,0\nknavie_(k_navie),4\nbrown_eyewear,0\nazul_alexander,4\nleg_back,0\nsonic_x-treme,3\ngranbun,4\nviv_(lowkeytoast),4\nlana_banana_(felino),4\nwhite_belt,0\nelekid,5\norange_paws,0\nvixeyhuskybutt_(artist),1\nrubber_transformation,0\neymbee,1\nmalkai_(malkaiwot),4\ndarius_leodragon,1\nlove_mechanic,3\ntoe_socks,0\ndeirdrefang,4\nspiritalpha,1\nrumine,1\nolivia_may,4\nacacia_dune,1\ncloth_diaper,0\noopsie-gay,1\njudas_and_jesus,3\nnews_report,0\nrheumatism,1\ndango_(food),0\njägermeister,3\ndrakthug,1\nogling,0\nashiji_(character),4\nramudey,1\npocketcookie,1\npool_party,0\ndorito_ru,1\navian-king,1\nlizard_soup,1\ndigidestined,4\nsploot_(unknownspy),4\ncottage,0\nvortigaunt,5\njulia_(apizzatrash),4\nhistory,0\nsamanator_club,1\nmaxtheshadowdragon,4\nhakuna,4\nmelancholicmash,1\nspotted_underwear,0\nthe_sole_survivor_(fallout),4\nmitarashi,1\ntigerfestivals,1\nstar_clothing,0\nold_spice,3\ngun_holster,0\nlen_(focus),4\npink_heels,0\ntaratsu_(character),4\nshadow_wolf,4\nrabbit_(petruz),4\nishiga-san,1\nyiffmasters,1\nrainbow_underwear,0\nradiance_(mlp),4\npercy_technic,1\ngigaboy,1\naztep_(azzyyeen),4\nwaifu,0\natsuii,1\nsorcererlance,1\nseff_(character),4\nname_shout,0\ncayenne_(freckles),4\ncocky_smile,0\nstorage_room,0\nrotto_(mrrottson),4\nshurueder,1\njumpy_jackal,1\nmawaifu,1\ncum_on_slit,0\nholding_net,0\nguin_saga,3\nlooking_at_sibling,0\ndryftwood62,1\namorous,3\nerraz_(group17),4\nslime_(dragon_quest),5\nefenrai,1\nkappy_(character),4\nguards,0\nhand_under_breast,0\nmulticolored_bra,0\nthrar'ixauth,4\nambiguous_threading,0\nverbal_domination,0\nmisterdonut,1\nloose_footwear,0\norb_robot,5\naria_(neracoda),4\nheart_keyhole_panties,0\npattern_leg_warmers,0\nlucia_(paledrake),4\ntegon_(dsc85),4\nmobian_monster,1\nobject_on_lap,0\nzipper_dress,0\npussy_juice_trail,0\ntetsuo_oshiba,1\ntwo_tone_bikini,0\nbalros_(echoen),4\nsculpt,0\ngreen_cape,0\nghostth39,1\ntipping_hat,0\npeegus,1\ndecorative_scarab,0\ngold_anklet,0\npenis_through_underwear,0\nproject_geeker,3\ndrifblim,5\npileated_woodpecker,5\ngrabbing_pillow,0\ntying_hair,0\npower_girl,4\nblack_head_tuft,0\nhigh_cut_bikini,0\nfig_leaf,0\nmikey_(mikeyuk),4\nnoah_(project_geeker),4\ntao_(rubber),4\nballs_on_nose,0\nkinkyturtle,1\nglowing_dildo,0\nmulticolored_elbow_gloves,0\nb-dorai,1\ncornered,0\nsealled,1\nlucusold,1\nboarred,1\nthe_three_little_pigs,3\nnude_humanoid,0\nmalk,4\nnew_brian,4\nkoluthings,1\nalhazred_(ralek),4\nteletubbies,3\nbalanar_the_night_stalker,4\nphrygian_cap,0\nzudragon,1\ngaiawolfess,1\nithilwen_galanodel,4\nafter_frame_focus,0\nkanabō,0\npetilil,5\nspooky_(ahegaokami),4\njensca,4\nextra_credit,0\nmorsectuum,5\nlatecustomer,1\ncanon15,1\nglistening_handwear,0\nhuman_penetrating_male,0\nfood_transformation,0\ngolurk,5\naaron_(undertale),4\nwaspsalad,1\nmao_otter,4\nvault_dwellers_(fallout),4\nmiraculous_ladybug,3\nportal_autofellatio,0\nmoonski,1\nmicro_pov,0\nsara_(sailoranna),4\nsubmerged_arms,0\ncatd,1\ndogrot,1\ntrexqueen,1\ntail_hold,0\nseveralbaps,1\nicariusunlimited,1\nviktor2,1\nambercoyote,1\nturnaround,0\nkintubaovo,1\npartially_exposed_penis,0\ndongoverlord,1\nflamingbeaver,1\nerzabloodred,1\nhorumu,1\nnantangitan,4\ntokami,4\nruby_(animal_crossing),4\nkpnsfw,1\nclaire_o'conell,4\nkitsuneten,1\ndeath_stare,0\ntsoup,1\nspeckled,0\narawn_(howlfeiwolf),4\ncoco_(doctor_lollipop),4\nreynard_the_fox,4\nthumping,0\ntja,1\ninkybeaker,1\nhuman_dominating_anthro,0\nfingerless,0\nstormy_flare_(mlp),4\nfrankenstein's_monster,4\nscottish_fold,5\nwildcatf14,1\ntufted_deer,5\ncorneliousrr,1\ndrawpile,3\nkiba24,1\nmulticolored_headgear,0\noz_(wrng),4\nfelipunny,4\nnina_morena_agil,4\nstormtrooper,4\nhanging_by_arms,0\nclarisse_(sabrina_online),4\njerome_jacinto,1\nbernard_doove,1\ntsbellatre,1\nharag,1\nsuzamuri,1\nwaffle_(ashwaffles),4\ndpronin,1\nkanogetz,1\nextreme-ember,1\nwoong,1\nvalentina_(aimbot-jones),4\nlatex_leggings,0\nvirus-20,1\ncybertuna,1\nruined_reputation,0\nhydra_problems,0\nexenthal,4\nfuko,4\npurple_cape,0\n18:23,0\npurple_cheeks,0\nfilled-in_censorship,0\ngunnar,4\nouter_wilds,3\nhuge_flare,0\nmike_blade,4\ngigantilewd,1\nmagra_(clusterskulls),4\ncaptain_neyla,4\nbelly_play,0\nzigword,1\ncanteen,0\njumping_spider,5\nhowlitebadger,4\nisometric,0\nblood_spray,0\nslav_squat,0\nskewedl0gic,1\nbed_head,0\nvibur,1\npsychedelic_background,0\ndark_blue_hair,0\nanna_(luke154),4\ntatara94,1\nco_asomasom,1\nrakihiro,1\n:c,0\ndeepfriedlasereyes,1\nbayron_(character),4\nka_sarra,4\npussy_juice_on_balls,0\nryuu_majin,1\nmina_(mina_the_hollower),4\nsochi_(lynx),4\ncrome,4\nokuri,1\npurple_goo,0\ncutting_board,0\nchell,4\nchuck_e._cheese's_pizzeria,3\ntiramisu_skunk,4\nrektalius,1\ngwen_(zaggatar),4\nbroccoli,0\nmagumomo,1\nderrysome,1\ndeku_link,4\nbongo_cat,4\njudy_reinard,4\namalj'aa,5\nkittykuscell,1\nstinger_tail,0\nsilver2299,1\neaster_bunny_(rise_of_the_guardians),4\nbroly_culo,3\nvensicle,1\npride_color_neckerchief,0\nicarus_aresane,4\ntobacco,0\ngaghiel,4\ntinymunch,1\nporygon2z,1\nfoxglove_(cdrr),4\naleidom,1\nlafontaine,3\nevil_laugh,0\nred_eyeliner,0\nmarykimer,1\nscottytheman,1\nwwredgrave,1\nblusky,4\nmovie_reference,0\nglistening_cum,0\nsir_fratley,4\nkazat,1\narctic-sekai,1\nred_sofa,0\nstriped_leg_warmers,0\nardan_norgate,1\ngami_cross,4\ndal_(joelasko),4\nfunamusea,3\ndelilah_(trias),4\nsuperpowers,0\nstall_(disambiguation),0\nhair_sheep,5\ntherasis,1\nnicky_equeen,4\nyamatopawa,1\ncum_on_hat,0\nflies_for_smell,0\nthe_pose,0\nabby_(rukifox),4\ntengo,1\ntina_leyk,1\ngiroro,4\nphant0mhat,1\ntorn_arm,0\nardidon,1\nroommate,0\nklaus_(shakotanbunny),4\nbrutus_(twokinds),4\nchaco_(cave_story),4\ngaz_membrane,4\ntan_hooves,0\nbadlandsdrws,1\ntozamtr,1\nvexyvoo,1\nking_dice,4\ngustav,4\ncrotchhugger,0\nfoot-paws,1\ntristan_knight,4\ngold_armband,0\ncyberlord1109,1\n3rdharleyjoe,1\narcheryves,1\nsaddnesspony,1\nchun-ni,4\nimminent_blowjob,0\njakel009,1\nanonym0use,4\neve_cadrey,4\nmarcushunter,1\nkaban-chan,4\ndonuts72,1\ncapreoline_humanoid,5\nplinko,1\nwiping,0\ndòu,4\npsp_console,0\nborealis_(live-a-hero),4\nlingonberry,0\ncirkus,1\nunderwear_on_face,0\nehada,1\ntanetomo,4\nlittle_black_dress,0\nspotted_topwear,0\nvendor_stand,0\ncap.grolarbear,1\nqueen_aleena_hedgehog,4\nbamboo_stick,0\nmulti_tentacle,0\nmoondog,5\nrorick_kintana,4\nkhanivore,4\nyogher,1\nlaini,4\nrozick,4\nmantis_humanoid,5\nkiukiu,1\nback-tie_bikini,0\nelaine_(pokémon),4\nkatuu,1\nbootleggz,1\ntamarinfrog,1\nzcik,1\ntelson,1\nderfisch,1\nunder10mato,1\ntamaskan_dog,5\norigami,0\nleg_over_shin,0\ngoosebumps,3\nsugarcup,1\npride_pin,0\ndoodlemark,1\nnataly-b,1\nvelvela,4\nwojak,4\nperky_butt,0\nmasahikoko,1\nmettle_winslowe,4\npunimofu,1\ncool.,1\nfabercastel,1\nheftyotter,1\ndairou,4\nitsuki_(hane),4\ntacokurt,1\nmichelle_catty,4\ncoiling_around_penis,0\ndeflation,0\nfuripon,1\ncamo_topwear,0\nyukihoshiak,1\nogomi_yatai,1\nhumphrey,4\ntatsuchan18,1\njohn_barrett,1\nmoki_(character),4\nmina_the_hollower,3\nannie_(brian_mcpherson),4\nryuseihikari,1\nbasian,4\nbloot_(bloot),4\n;p,0\nlunasfolly,1\nsuppainu,1\neigetsu,1\nbleuhawke,1\nred_speech_bubble,0\ntomierlanely,3\nfishbook5,3\nrhynobullraq,1\nhigh_school_dxd,3\nlandscape_background,0\nisher,4\nlinked_thought_bubble,0\npurple_foreskin,0\nhecticarts,1\noutside_masturbation,0\ncorrupteddiscipline,1\nsoarinlion,1\nrayne_blanc,4\nhuntress_(risk_of_rain),4\nronin-nc,1\n32:9,7\nskull_(marking),0\nfeetymcfoot,1\ngiran,4\nnekomarudon,1\nbearwivme,1\ntuki_(shantae),4\noversized_ball_gag,0\narmaldo,5\nvivian_vivi,4\nvelociawesome,1\nyashak_(artist),1\nnewdraconergraffiti,3\nagainst_counter,0\ndickhead,0\nperci_the_bandicoot,4\nhatchet,0\njontxu-2d,1\norionart1991,1\nvex_(alibiwolf),4\nblue_apron,0\nfamir_(character),4\npixiv_fanbox,3\nliving_fursuit,5\nrileymutt,4\nrani,4\nvera_(vera),4\nnova_nsfw,1\ndascarl,1\nhip_dips,0\nskippy_squirrel,4\nmr._deathcat,1\nacchan_(arkaid),4\nthehoneybutter,1\ncandy_bar,0\ngirly_pred,0\ntherion,5\nmono_(badgeroo),4\nbob_(undertale),4\ndainoth,1\nlfer,1\nonigiri_punch,1\ntogether_(disambiguation),0\nbutt_press,0\niva_(cornchip21),4\nlanding,0\nrumakis,1\nsnowyowlkonnen,1\nsnejek,1\n1397_david,1\ntanukimaru,1\ncrane_(machine),0\ngutter-bunny,1\ncowolewd,1\nicepack,0\njohnny_worthington,4\nmonotone_egg,0\nwhygena,1\nleponsart,1\nlily_mari,4\ngreen_hooves,0\ndidihell,1\nlromstar_(artist),1\nalexzozaya,1\nhead_mirror,0\n2dredders,1\nklee_(genshin_impact),4\nexposed_shoulders,0\nkaimu,4\ndragonataxia,1\nmgmr,1\nriding_dildo,0\nshaking_orgasm,0\nmakoruu,1\nbewitchedink,1\nclubbon,4\nmurcat,1\nsusan_van_camp,1\ndamienkamien,1\nmetalfoxt,1\nreverse_facesitting,0\nlaceration,0\ndigimon_frontier,3\nfvorte,1\nwolfforhire,1\npepper_(wonderslug),4\nhonedge,5\nleskaviene,4\ngentle_puppet,1\nvictoria_violeta_(usuario2),4\nadian_(moki),4\nboots_(character),4\nhayatohalada,1\nn31l_(artist),1\nmechanical_leg,0\nd3mo,1\npartners_in_time,3\neye_black,0\nvera_(iskra),4\nscalemail,0\nnaaraskettu,1\nalecani,5\nlizard_(rain_world),5\nzel_(interspecies_reviewers),4\nmanzanaringopai,1\ncarla_guzman_(bzeh),4\ndrop,0\ncrescent-blue-zero,1\nbanded_linsang,5\nclothed_male_nude_gynomorph,0\nhuussii,1\nspectrier,5\nadhara,4\nkatinka,4\nshin_(artist),1\nnemurism,1\nkitty_(hayakain),4\nlaika_horse,4\ni_0rai,1\nhair_on_shoulders,0\nlady_rainicorn,4\n11:8,7\nxlyuz,1\noff_(game),3\nprint_dress,0\nhermit_fox_byakudan,4\njakensitou,1\nasyr,4\nhands_on_floor,0\nzhenai,1\nsharla_(zootopia),4\nguttybee,1\nezo_red_fox_(kemono_friends),4\nsagging,0\nluuriolu,1\ndom/sub,0\nrosheatfreak,1\nnhl,3\nhandsdownhound,1\npride_color_collar,0\nwrist_on_leg,0\nthelivingtrashcan,1\npale,0\ngotikamaamakitog,1\nbody_marking,0\ntaimanin_asagi,3\nladydevimon,5\nhatakerub,1\ncapra_demon,5\nsate,4\nmuffy_crosswire,4\nmyett-wrath,1\nmottled_tongue,0\nprofessor_oak,4\nshadart,1\napril_(zigzagmag),4\narm_feathers,0\nlizanne,4\ntanashi,4\nkingcrazy,1\nnapoleon_(underscore-b),4\nidea,0\nasymmetrical_clothing,0\nstatiik_(artist),1\nchinese_water_deer,5\nilluminati,0\nyu-gi-oh_card,0\nbatter,0\nneoncel,1\nzairiza,1\naira_kokonatsu,4\nstraight_horn,0\nrobomax,1\nbiomechanical,0\nlassie_lunaris,4\nminikane,4\nbandana_waddle_dee,4\nerika_(ambris),4\ncreature_sp,1\nmakemon,3\nvaginal_footjob,0\nbilly_&_friends,3\nstriped_tongue,0\nsong_lyrics,0\nsammy_(hambor12),4\ntail,-1\nshaesullivan_(artist),1\ncedarwolf,1\ndrinking_potion,0\nlinlvjia,1\njohnny_test_(series),3\ntail_suck,0\nvaranis_blackclaw,4\nbandit_(cathare),4\nmother_penetrating_son,0\nmilky_(interspecies_reviewers),4\nbarkyeet,1\npresenting_foreskin,0\nleo_llama,1\ngrinch,4\nhot_dog_down_a_hallway,0\nprison_rape,0\nclydeli,1\nfionbri,5\nlaunchpad_mcquack,4\nmaddy_(bonk),4\nfingers_between_toes,0\nbullet_vibe,0\nhoof_focus,0\narmor_king,4\nstella_(vivzmind),4\nelvira_(mistress_of_the_dark),4\nsoot_in_suit,1\nbonding,0\ncain_(neko3240),4\nxiaolin_showdown,3\njigglet,1\noni_(artist),1\nckt,1\ncheek_horn,0\nthigh_up,0\nred_armband,0\ncatty_baby,4\nhooded_cloak,0\nkingchan,1\nmandibuzz,5\nlillymoo,1\ndildo_in_penis,0\nmy_little_pony:_a_new_generation,3\ngralicbutter,1\nfyxe,4\ndrakeraynier,1\nfrionella,4\narms_around_waist,0\nanubian,5\nmr._henderson,4\ndarkingart,1\nhae-hyun,1\nnicobay_(artist),1\nwhip_(dreamkeepers),4\njade_(gem),0\nserving_alcohol,0\nkoshkio,1\ntempting,0\nliving_dildo,0\nerection_under_blanket,0\nnecrolepsy,1\nkkrevv,1\nfrosty_(sharky),4\nsmallcircles,1\nkraven,4\npilu_(artist),1\nvoidbeerfloat,1\ndarkchibishadow,1\nsoty,1\nchihiro_ogino,4\nomastar,5\narskatheman,1\nmesa_(warframe),4\ndawny_(oc),4\nenergy_drain,0\nto-be-named-later,4\njulian_(kazecat),4\nsocialpoint,3\nwater_balloon,0\nsleepytoy,1\namashiro_natsuki,1\npuivei,1\ndongwongtang,1\nkura_(zoohomme),4\nxbuimonsama,4\nkiddeathx_(artist),1\ncirrus_sky,4\nprint_pool_toy,0\nprofessor_rena,4\nhaganedon,1\nlucky_wolf,4\nsvadil,1\ntoco_toucan,5\nstepping_on_face,0\npigma_dengar,4\nalexis_kitsune,1\ntongue_play,0\nbagging,0\nosada,1\nbangabear,1\nliberty_(furfragged),4\nfatalis_(artist),1\nmilitary_pants,0\nforestdale,3\nthe_laughing_cow,4\nspotted_neck,0\nholding_ink_brush,0\ncyril_(spyro),4\nrazr_(character),4\nunnamed_fox_(utterangle),4\ncuremitsuba,1\nvillainous_muse,1\nh1draw,1\ntalking_penis,0\ndannydumal,4\nichibangravity,1\noripathy_lesion,0\nrisenhentaidemon,1\ncrimsoncreaturecreations,1\nalexyorim,1\nllydian_(fyixen),4\nmonogatari,3\nyellow_urine,0\nnarley,1\nedna_(school_days),4\nebonyleopard,1\nneopatamonx,4\nankle_guards,0\ncheezebawls,1\nnesskain,1\nred_apron,0\ncountryside,0\npixie_blume,4\nsusfishous,1\ngrabbing_knees,0\nhunter-husky,1\ngrumpus,5\ncho0c0,1\nblack_top_hat,0\ndook_(lildooks),4\nline_tail,0\nwind-up_key,0\nlooking_annoyed,0\ngakusha,4\nraptor_matt,4\nplucky_duck,4\noverhang,0\ntaylor_vee,4\nsalvador_zabrali,1\nfate_(trinity-fate62),4\ndasoka,1\nmoo_lawgoat,4\nlooking_up_at_another,0\nloki_(marvel),4\nheart_in_pupils,0\npurple_mask,0\nstomping_pov,0\ncheems,4\nmarsh_(marshthemalo),4\nlone_(lonewolffl),4\napricot_(viroveteruscy),4\ndeviltod,4\nharley_(copperback01),4\ntemperate_rainforest_ratteguhn,5\nchocolate_bunnie,1\ncress_(tartii),4\nferal_heels,0\nheadbutt,0\nkarukan_(monjya),1\npemyu,1\nlawkie,1\nfizzpop,1\nnapping,0\nzannah,1\nbattle_fennec,1\nbluepawpanda,1\nstar_ringer,1\nchoose_your_own_adventure,0\nholding_pole,0\nhand_on_own_crotch,0\nskids,4\narisu_starfall,4\ngodrays,0\nzaryusu_shasha,4\nsmooch,0\nannie_(disfigure/rafielo),4\n1080p,0\nfreezing,0\nokka,1\nimpregnation_attempt,0\nrash_(battletoads),4\nblood_on_foot,0\nakanisen,1\nkulu-ya-ku,5\nyellow_foreskin,0\nazure_night,4\nshapeshiftinterest,1\nduckhere,1\nlooking_at_back,0\ncastform,5\nsoftlight289,1\noctavia_(vivzmind),4\noilblkrum,1\nkamen_rider,3\npubic_(disambiguation),0\nbloodhawk_(character),4\nteaksamin,1\ndergon_(edjit),4\ncarbiid3,1\nteraunce,4\nmacabre,0\nmice_tea,3\nrocket_j._squirrel,4\nspunky_(artist),1\nmulticolored_sky,0\nnightshade_(kittyprint),4\nzombbh,1\nmonotone_pubes,0\nlunadial09,1\nshannon_shark,4\nxanderg,4\nuppercut,0\nfetish-art,1\nsolar_eclipse,0\nrenv,1\nambberfox,1\ntwo_tone_genitals,0\npepper_(kittyprint),4\nscolding,0\nsaanen_goat,5\nclothed_intersex_nude_gynomorph,0\ndaisy_dingo,4\nregalia_(averyshadydolphin),4\npeter_quill,4\nmetroid_dread,3\nmoketiw,1\nwyth,1\nzabraxas,1\nmyemetophobia,1\nkrek,4\nurine_in_bowl,0\ntentacle_pit,0\ncinna_(megacoolbear),4\ntanya_(mcnasty),4\nnetchy_boo,1\nsa-chat,1\nswiftayama,4\ntabletop,0\nwolfland,1\ncaptaincob,1\nbillfish,5\nmagumataishi,1\nsunr4y,1\nivy_(plant),0\nrabbittakahashi,1\nrace_queen,0\nwyla_(character),4\narchermagnum,4\ndolph_(fortnite),4\nbry,4\ngaslightdog,3\ngreen_pubes,0\nroyalsobatya,1\nhoneycomb,0\nplumbelly,1\nmulti_anal,0\nmonotone_boots,0\nblood_on_breast,0\nrogelio,4\nkenjin,1\nthunderstorm,0\nasteroid,0\ngoblin_princess,4\nvitiligo,0\nsaintblue,1\nbusty_bunny,4\nlion_taur,5\nsendar,1\nrin_tyan,1\ncubi_(race),5\npurple_ribbon,0\nblacktigerr,1\nmonuke30,1\ngoji_(flitchee),4\naya_shameimaru,4\nikaribunbun,1\ndaisy_(flower),0\nthumb_in_mouth,0\neloise_(animal_crossing),4\nhate,0\nebonyrubberwolf,1\nlizardbeth,1\nnatural_armor,0\nhalf-shirt,0\nponpuramu,1\nateni,1\ngremm,1\ncardstock,0\nbara-diction,1\nlocodemon,1\ntotal_war:_warhammer,3\nvibrava,5\nsilver_piercing,0\nurekemo,1\n8-tomb,1\nnogi,1\nobservation_window,0\nsnoot_(trinity-fate62),4\npresident_alexander,1\nyukio_ammy,1\nfeelers,0\nrosemary_prower,4\ndj_shark_(dj_sharkowski),4\nfrankie_(lyme-slyme),4\nqueen_oriana,4\ndream_smp,3\ngreen_martian,5\ny_leaves,1\ndonzatch,1\ngothabelle,4\njishwalob,1\nhisexpliciteditor,1\nnylons,0\nanimated_meme,7\nalatreon,5\nvenipede,5\nportal_autopenetration,0\nmomo_(creepypasta),4\ndrachenmagier,1\nshen_(zummeng),4\ngalaxyviolet,1\nsenri_ooedo,4\nhel,1\nlooking_worried,0\nchris_chan,4\nsrmario,1\nleather_vest,0\nband_merch,0\nmoana,3\ntyrranux,1\nnarrimander_(artist),1\nrepair,0\npink_leotard,0\nskiddo,5\nsingle_strap,0\nistiophoriform,5\ntarot,0\nmeowscles_(shadow),4\nspencer_(lonewolfhowling),4\nwater_wings,0\numbraunderscore,1\nwarioeag,1\ntsurikichiyuyu,1\nsprucy,1\nincertusfatum,1\ndinobutt,1\noch5,1\ncasidhevixen,3\ndeja_vu_(101_dalmatians),4\ntsuki_akurei,4\nblazar,1\nscruffasus,1\nleg_armor,0\nlittlest_pet_shop_a_world_of_our_own,3\nneckwear_only,0\nkiunata,1\ngwizzly,1\nramzryu,1\npumpkin_patch,0\ncleo_(yutrah),4\nottah,4\nmommomma114,1\ngoldenyuusha,1\nsingle_strap_clothing,0\nkajizy,1\nclancy_(inkyfrog),4\nmini_me,0\nnikorieru,1\ngirlfriend_(fnf),4\nedtrash,1\npeachkuns,1\nwide_tongue,0\naunt_molly_(nitw),4\nparty_favor_(mlp),4\ngoldie_o'gilt,4\nred_panda_humanoid,5\nnoha,1\nthecrazydragon,1\nbasil_(disney),4\ndogfluid,1\ntr.anonymous.h,1\nfans,0\nalma_(capaoculta),4\nwolfybuns,1\nryusuke573,1\nbitterstrawberries,1\npetrabyte_incast,4\nalmost_caught,0\nblood_from_ass,0\ngarek_maxwell,1\nskiing,0\namerican_akita,5\ndeyvarah,1\nazureinthedark,1\nhands_on_calves,0\nekayas,1\nalizea_(blackie94),4\nmagnezone,5\nde-flator,1\nknox_(artist),1\nrvb_revolution,3\ngypsy_king_(artist),1\ndawkins_(101_dalmatians),4\ngymnast,0\nkeeshond,5\nbaseball_(disambiguation),-1\ntoast-arts,1\nkobe_bear,4\njoebluefox,1\ntokusou_sentai_dekaranger,3\navilon,1\nsymbolism,0\nbreast_rub,0\ndarkcandle,1\ncafet'zin_(artist),1\ndross,1\nranger_rabbit,4\nfoxychris,1\nlutrai,5\ntamaryuu,1\nwarlocknyan,1\nknedit,4\nchubby-shark,1\nholidaydipstick,1\nrichard_(lcbd),4\njoixxx,1\nshark_teeth,0\nember_(elitetheespeon),4\nceline_louison,4\nima_att,1\nmocha_latte_love,4\nsherwind,1\ncjzilla88,1\nlittlefisky,1\nfellatrix,1\nrayhiros,1\noutlast,3\nmedaya,1\npointblankfluffpistol,1\nmeral_fleetfoot,4\nkineta,4\nstar_pasties,0\ncafeteria,0\nbunbunart,1\nforked_penis,0\nlooking_around,0\njoel_calley,4\nlucah,1\ndirndl,0\nrileyisherehide,1\nhelping,0\ncanary_(fiaskers),5\nkyle_bavarois,4\ndiaper_transformation,0\nprince_john,4\ngynomorph_rape,0\nutunu,4\nbeach_ball_(character),4\npinkfong_(character),4\ncuddly,0\nzhivagod,1\nglurt,0\nround_eyes,0\nireading62,1\nrockcandy,1\nkyorg7,4\ncharme,4\ntigerxtreme,1\nfrancine_frensky,4\nriot_shield,0\nazsola,1\npurple_toes,0\nguitarist,0\npitfallpup,1\nshello_lakoda,4\nkiva~,1\nbeachside_bunnies,1\nbryan_(zourik),4\nubzerd_(character),4\nshellder_(slowbro),5\nstardragon,4\nk0yangi,1\namelie_(jinx_doodle),4\nseamaster,1\ngrey_briefs,0\njazzycat,1\ncassette_tape,0\nelexis_(mramp),4\nhagom,1\nholliday_(artist),1\ngripping_sound_effect,0\nwhynotwynaut,1\nfirenor,4\nnemhippie,1\nrotary_phone,0\nvirus.exe,1\nfeces_in_pussy,0\nshmeepo,1\narki,4\ncrown_only,0\nlong_tail_feathers,0\nanemonemisc,1\neasyspark,1\ngape_fart,0\nritika448,1\nswoop_(philadelphia_eagles),4\nred_solo_cup,0\nmotion_trail,0\nkaptain_spicy,1\nhonoka_(doa),4\ngnauseating,1\noscar_the_purrloin,1\nfarting_at_viewer,0\ntanngrisnir_(tas),4\nnesquik_bunny,4\nvitali_advenil,4\nentrails,0\ncharzcavern,1\nruby_blossom,4\ndoormat,0\nraiouart,1\nglowstringing,0\njoji_(@jojipando),4\nbogexplosion,1\n00freeze00,1\nextruded_text,0\nrazor231,1\npixelhat,1\ns-o-husky,1\npenis_hat,0\ntala128,1\nfurry_ears,0\nstarman75042,1\ncaptain_flintlock_(felino),4\nwholesome_hug,0\nchelsea_(pearlhead),4\ngynomorph_prey,0\nbagon,5\npenis_blush,0\nomochalaroo,1\nrome,0\nramenbeny,1\non_piano,0\nemerald_dragon,5\nxstupid_furryx,1\nzin,4\ndeskmaniac,1\ndeku_princess,4\nheel,0\nbehemoth89,1\nhetfli,1\ntracer_painter,1\nholding_animal,0\nshooting_gun,0\njwecchi,1\nsepilian,5\naurawing,1\nred_fingers,0\nsintacle,1\npaw_shoes,0\n5-d,1\nyula,4\nbarbera_(regular_show),4\narrow_sign,0\ncharrcoal,1\namber_(squablodecomplash),4\nreferee,0\nleo_the_magician,4\nbobbie_(rotten_robbie),4\nobfuscator,1\nnaomi_(mastergodai),4\nsegmented_tail,0\ngregory_horror_show,3\nbody_motion_path,0\ndiscarded_object,0\nohayashi55,1\nsuper_saiyan,0\nallandi,4\nherm_on_human,0\nzeta_r-02,1\nmaruskha,1\nhand_on_another's_stomach,0\nholding_pants,0\narcc,1\ncanister,0\nmarilin_(inkplasm),4\nchinese_mountain_cat,5\nabaddon,4\nshiin,1\nihavnoname,1\nusssar12,1\nscott_calico,1\ncherubi,5\nbig_(disambiguation),-1\nlooking_at_own_pussy,0\nkolaa,1\nphrenik,1\natari_first_party,0\nroyzilya,1\nmew_mew_kissy_cutie,3\nfrench_flag,0\naurora_spencer,4\nmiasma_velenosa_(miasmium),4\nwhite_antennae,0\nblueumbra,1\nmogmaw,4\nby_spoon,1\noverly_muscular,0\nradiator,0\nprinter,0\ndevil_costume,0\nsearching,0\ntabykat,1\ncaptainskee,1\nnina_(eigaka),4\nomanyte,5\nfyxe_(artist),1\nbutteredshep,1\nobscenecanary,1\nmelody_(aseethe),4\nakazulla,1\nsucker_for_love,3\ngrimm3d,1\nwaeverstan,1\nliz_(lizzycat21),4\nhand_on_another's_face,0\nraymond158,1\nequine_tail,0\nhowz,1\ndark_fingers,0\nflong,1\nstray_prey,1\nslinkydragon_(colorist),1\nstorefront,0\nserge,4\nfarron_jacques,4\nsmokii,1\ndragonslash,1\ngrimev,1\nthrack,4\nracket_rhine,4\nmilitary_helmet,0\nhammy,1\ngarnnet,1\nerror_message,0\nratchetjak,1\nquartzz,1\njoseph_ny,1\nzandria,4\nalruic,1\ngrace_(floa),4\ndisinterested,0\nwolfthorn_(old_spice),4\nraptorart,1\nsaliva_on_butt,0\nwuffinarts,1\ntiberius_(paladins),4\nnoisy_(redace83),4\nmamba,5\nkoei_tecmo,3\nyelnatsdraws,1\npurple_sheath,0\na1tar,1\nthebonezonedeluxe,1\npikative,1\nsascha_(hypnofood),4\nhat_tip,0\nbow_(anatomy),0\nkitsune_sign,0\nmahotis_(bristol),4\nantonsfms,1\nbibio,1\nroll_(mega_man),4\nwemt,1\nalphina,4\nkaedeno_yuu,1\nrovik_(rovik1174),4\nrena_(rena0107),4\nreverse_kabeshiri,0\nharuki_no_saidai_no_teki_wa_risei,3\npeki_polight,4\namanitaceae,0\ncosmosarts,1\nholding_broom,0\nhedgehog_humanoid,5\ngael_the_scrafty,4\nzikeny,1\ndorian_(bds_charmeleon),4\nnate_(pokémon),4\nfroggy_wobbly,1\nspheal,5\nleo_alvarez,4\nlaying_on_floor,0\nsam_(sawolf151),4\naozora_(nosada),1\nheiko_(domasarts),4\nmappy,3\nkabuto,5\npiti_yindee,1\n10_breasts,0\nabyssinian_cat,5\nukabor,1\nfluxom,1\nbig_booty_pikachu,4\njet_(quin_nsfw),4\nwithered_freddy_(fnaf),4\nvaini,1\nthe_incredibles,3\nexcalibur_(warframe),4\nerozer,1\neurasian_eagle-owl,5\nsail,0\nlimitedvision,1\nsquare,0\nripped_stockings,0\nplaystation_2,3\nkida_kuro_mu,1\nzipper_(cdrr),4\nsuika_ibuki,4\nbuilding_damage,0\nthorn,4\nasdfmovie,3\nchipchell,1\nequipment,0\nbedsheet_ghost,0\nyungknight,1\njamiephut,1\ntail_insertion,0\nenema_syringe,0\nkittenboogers,1\ntaggen96_(artist),1\nlyenuv,1\nanai_(aggretsuko),4\nmetal_chastity_cage,0\nultrayanto,1\nmoo_(klonoa),5\nannonguy,1\nsarcasm,0\ndildo_penetration,0\nchuukichi_(morenatsu),4\narthurclaws,1\njenn_(zp92),4\ndripping_blood,0\nmousepad_design,0\ntentacle-muffins,1\ndarkholm1,1\n3cir_cle,1\nsharpfury_(character),4\nmewmus,1\narcatech,1\nlil'_shock,1\nblack_thought_bubble,0\nkola_(artist),1\ndeadflow,1\nfroggit,5\nold_world_viper,5\nfurry_lifestyle,0\ncreepychimera,1\ngrey_armor,0\nash_(g-h-),4\nmega_man_zero,3\ncrescendeon,1\nelectrical_plug,0\nvaginal_prodding,0\nconsent,0\nanimatics,1\nbare_arms,0\nhooded_robe,0\nthreaded_by_object,0\nboxf,1\nima_(imabunbun),4\nunknown_text,7\nvictor_johansen,4\nbittertooth,1\nlapis_(mellonsoda),4\nvapplepie,1\nafraart,1\nmaleherm/herm,0\nviolavirus,1\nbanana_slug,5\napple_gag,0\ncharacter_bio,0\npain_stars,0\namy_rose_the_werehog,4\npussy_rubbing,0\nvolkswagen,3\ndrad,4\nancientonyx,1\npred_focus,0\nlooking_at_balls,0\nzeeman,1\nbonfiredemon,1\nfru_fru,4\njell-o,3\nhisahiko,1\ncovenant,0\nsheet_music,0\ntina_russo,4\nrivy_k,1\njayaero,1\ncervina's_sister,4\npetrosapien,5\nchip_at_night,1\nmale_stripper,0\ngravy,0\nhisuian_goodra,5\nclay,0\nunibro_pi,1\nfrost_(cinderfrost),4\npikipek,5\nzabaniya,4\nstar_tracker_(mlp),4\nmicerunt,1\nfoxvomitarts,1\nstorm_(stormblazer),4\ngeroo,5\nkitchiki_(character),4\ndiaper_penetration,0\ndespicable_me,3\nodor,0\nsukebe,4\nreaching_back,0\nfluffbug,1\ntwo_tone_collar,0\nzen_(kemono_artist),1\nyellow_mouth,0\nspades,0\nfierglief_(character),4\nsilverdeni,1\ncroix,4\nreindeer_costume,0\npdude,1\nchiko_(bristol),4\ntoontown_online,3\nvigmarr,1\nscott_(fasttrack37d),4\neugene_(mao_mao:_heroes_of_pure_heart),4\ntybalt_(animal_crossing),4\nyellow_jacket_(clothing),0\nalbum,0\nkalchivo,1\nryuuzenga,1\nlairon,5\njewel_the_beetle,4\nunnatural_colors,0\ngiro,4\nneighborhood,0\ndiving_board,0\nmalakhael,1\npolicewoman,0\nglistening_feet,0\nwball,1\nrebreather,0\ncoal_(catastrophe),4\nhand_tuft,0\nbecoming_erect_during_penetration,0\npocket_jabari,4\nsimon_(boneitis),4\nyumiakiyama,1\ncindersticks,1\npenis_under_clothes,0\nreeds,0\nebluberry,1\nwarfaremachine,1\nsunni_smiles,4\ntinkerbat,5\npenetrating_while_penetrated,0\nmohumohudansi,1\nback_to_the_future,3\ncamerupt,5\njetn_2.0,4\nmalan_(athiesh),4\ndressing_room_(disambiguation),-1\ngalacticgoodie,1\ntwo_tone_egg,0\nlipstick_(object),0\nmutual,0\nbailey_(housepets!),4\nmoiyablochki_(artist),1\nold_male,0\ngenital_close_up,0\nbeau_(williamca),4\nfriggling,1\nslash_freezen,1\nanthozoan_humanoid,5\ncandy_tooth_(artist),1\nmerino_sheep,5\nerumeruta,1\nkaku_q._spookaboo,4\nthe_search_for_lost_wings,1\npunkinillus,1\ndemon_slayer,3\ncoldgemini,1\nbagu,1\nookami_(aggretsuko),4\npikachu_pop_star,4\nprint_legwear,0\nty_arashi,1\nvontsira,5\nset_(puzzle_and_dragons),4\nhands_clasped,0\nsheep-goat,5\npinku_(miscon),4\nfiinel,1\nvladichslg,1\nglory_(wof),4\ngroom,0\nleg_over_knee,0\nsa-dui,1\ncook,0\nxalex14,4\nmario_(series),3\ncupping,0\nsatanic_monkey,1\nspherical_inflation,0\nshysiren,1\ntalynn,1\nbruma,4\nseraphic_crimson,4\nmonster_pred,0\nusb_tail,0\nfur_trim,0\nreverse_table_lotus_position,0\nbiting_another,0\nbattle_droid,5\ndaedalus_vindryal,4\ngunther_hausmann,4\nulric_arnoux,4\ndark_inner_ear,0\nandorozon,3\nchocobibear,1\ngalathea,4\ngiga_(artist),1\nsir_pentious_(hazbin_hotel),4\nfemme_fatale,0\nphotocopying_butt,0\nhands_on_own_leg,0\narms_bound_behind_back,0\nqinling_panda,5\nnukde,1\nhali_(character),4\nfoxkai,1\nrei_ayanami,4\nsubaru331,1\nred_clitoris,0\nspezvolf,1\ntransparent_anal_beads,0\nalicia_(northwynd),4\nsasha_phyronix,4\nmegnog,1\nbec_noir,4\ncatpumpkin,1\nlike_like,5\nmass_crush,0\nqwazzy,4\nfloette,5\nowner_(artist),1\nlace_stockings,0\nsiegfried,4\npornhub,3\ndominokotya,1\ncalypso_tayro,4\nmutual_foot_worship,0\nchikarasox,1\nmod_(glacierclear),4\nscritt,1\ntohofuhai,1\nsplashburr,1\nass_to_other_mouth,0\ntrix_avenda,4\nethan_(teckly),4\ncazar_(ratchet_and_clank),5\ndagonian,5\nkippycube,1\nstuart_(naughtymorg),4\nbelly_bump,0\nhamton_j._pig,4\ndirtymutt,1\ntamada_heijun,1\ndurga,4\nthebrushking,1\nraspberry_(viroveteruscy),4\nforehead_mark,0\npaintings,0\ngracie_(animal_crossing),4\nfrori,4\nfoxventus,1\ngrinex,1\nrainbow_blaze_(mlp),4\nsleeveless_topwear,0\nseigen,1\nlarge_paws,0\nbuttersprinkle,1\nred_curtains,0\nsicmop_(character),4\ncausticcrayon,1\ntropicalpanda,1\nonyxavia,1\natticuskotch,1\nraesheris,1\npinkkoffin,1\non_chest,0\nfirestar_(warriors),4\nloike,4\nrorian_blackrose,4\nkate_(playkids),4\ngenji_(overwatch),4\nfood_pool_toy,0\ninkgoat,1\nproteus,1\npronouns,0\nhypnovember,3\nbelly_fondling,0\nlicking_head,0\nmalfunction,0\nmango_(fruit),0\nthompson-vonjung,1\nkemonobito,1\nniku405,1\ngloomthebat,1\nheat_rotom,5\nyunlongchen,1\nbra1neater,1\nprilly_(lysergide),4\nra_tenpu,1\naruri,4\nnanadragon4,1\nsmiling_at_partner,0\nbulma,4\ndunstan,4\ndusclops,5\npacman20,3\ncaring_hearts_(mlp),4\npotoo,5\nphillipthe2,1\nbillie_corneja,4\nkemojin,1\nblue_rope,0\nmttbsmn,1\nbianca_(pokémon),4\nanukkyt,1\nglue_(artist),1\nzeeb_(holly_marie_ogburn),4\ndouble_knee_grab,0\nred_(glopossum),4\nsecret_squirrel,4\nmitch_savours,4\ngerrark,4\nbongo_(dad),4\nunfezant,5\njujala,1\nmisty_(g5),4\ncollagen,1\nmasuyama_ryou,1\nalexandradane,1\ngaon,4\nlegs_on_shoulders,0\npoi_(artist),1\npink_arms,0\npulling_shirt_down,0\nhilda_the_huntress,4\nms._pac-man,4\nglove_snap,0\nwintie,4\nmushroom_cap,0\nsolaxe,4\nsakuragiyomi,1\nselkie_(fire_emblem_fates),4\nflower_mantis,5\nghost_(claralaine),4\nwelive,1\nmushroom_cloud,0\ncruise_ship,0\nleonirikuz,1\nsue_ellen_armstrong,4\nglory_hole_station,0\nhannah_evans,4\nbulbous_nose,0\nrainbow_heart,0\nzourik_(zourik),4\nzygarde_core,5\nlittlestfuzz,1\nlawn,0\nbleedman,1\nvoltron,3\nraider_(fallout),4\nsankam,1\nbow_headwear,0\npisaster,5\ncervelet,1\nhand_on_nipple,0\nmr._osomatsu,3\nthe_matrix,3\nleg_twitch,0\ninubikko,1\ntribal_outfit,0\nsweet_temptation_club,3\ntorn_skirt,0\nbig_beak,0\nkarhyena,4\njunkmixart,1\nlya_(scalesindark),4\nvexxy,1\ntiara_boobowski,4\ndrawloverlala,1\nnumemon,5\nflexing_muscles,0\nhomunculus,5\ninumania,1\ngold_nails,0\nmothandpodiatrist,1\nblue_eyeliner,0\npozole_(character),4\nkit-ray-live,1\nthemrock,1\nground_squirrel_humanoid,5\nmitosis,0\njaren_(foxyrexy),4\nyorha_9s,4\nlink's_awakening,3\nwrong_udders,0\nfarm_girl,0\ntesan,1\njomokin,1\nmale_presenting,0\ndeathzera,1\nrippel_(izzy223),4\nlalala,4\nathletic_tape,0\ntoyota,3\nkevbot,1\nbomba_(krillos),4\nvisible_ribs,0\nmandala,0\noruka0827,1\nplayshapes,1\nsix_frame_grid,0\ntabbyseraph,1\nredfeathers,1\nmoku_nameko,1\nlewdcactus,1\nthizorac,1\nerostud,1\nflash_bubble,0\nscrapcorcist,1\nshen,4\nthesolarwinds,1\nfrancine_pennington,4\nleafjuly,1\nmitzi_(animal_crossing),4\nprostokvashino,3\nalex_(jrbart),4\nyomari_u,1\ntext_on_necktie,0\nopal_(bakuhaku),4\nliam_(fuf),4\nstevechopz,1\nleafysnivy,1\ndeancrazz,1\nmulticolored_sweater,0\nazazel_(tas),4\ndan_vs.,3\nopen_season,3\ngearfactory,1\ngrey-yordle,1\nboyhowdy,1\nviolet_(sailoranna),4\nelaz,4\nstupidshepherd,1\nsurin,4\ntobi_(squishy),4\ncalf_tuft,0\nzhīma,4\nkairyu211,1\nunagi_bukuro,1\nlilith_(jl2154),4\nxeno'jiiva,5\nshinobiya,1\nkecomaster,1\nglistening_sex_toy,0\nboxing_tape,0\nripper_(jurassic_world),4\npizza_rabbit_(rabblet),4\nmustard_(welcometothevoid),1\nshifty_(htf),4\nhuskyfog,1\nray-bleiz,4\ntinker_(hladilnik),4\nasura_(artist),1\nnana_(ice_climber),4\nlewdua,1\nwalking_towards_viewer,0\nasinus_humanoid,5\nclassic_lolita,0\nikaring,1\ncherry_(s2-freak),4\nvk102,1\ncherry-gig,1\nlarger_andromorph,0\nfeathered_headdress,0\nabby_(canisfidelis),4\nenergy_weapon,0\ntyroo_(character),4\niron_boy,4\nelvira:_mistress_of_the_dark,3\nchadthecartoonnut,1\ninframammary_scar,0\nxboxking37,1\nhead_on_stomach,0\nchacrawarrior,1\ntenga,3\nratonga,5\nyellow_socks,0\ntwrlare,1\nkunemon,5\ntheredhare,3\nlady_brushfire_(kitfox-crimson),4\nantoszowa,1\ninstructions,0\nkace,4\njohnfreak,1\nrainbow_collar,0\nbuttplug_bikini,0\ncum_in_food,0\nalmee,1\nyassui,1\ntroplilly,1\nchesshire,1\nhoopa_(unbound),5\nkorai_(horokusa),4\ninner_side_boob,0\nmakizushi,0\nbelly_worship,0\nduke_(bad_dragon),4\ntriplecancer,1\nchiptunebrony,1\nchanging_(disambiguation),0\nclementyne,1\nrita_(animaniacs),4\nkingler,5\nbrowser,0\ncube,0\nstrapless_bikini,0\nwolfling,1\nrobotic_tentacles,0\ncarnage_(marvel),4\naquilinae,5\nrinienne,1\nnora_(elfdrago),4\nhonda,3\nnovelty_censor,0\nspiralingstaircase,1\nmarrubi_(artist),1\njeffybunny_(artist),1\njigglybutts,1\njaykasai,1\nmylen,1\nopal_(al_gx),4\nforced_to_expose_self,0\nskunk_tail,0\ncomet_(reindeer),4\nk1ngl30n,1\nfuntime_chica_(fnaf),4\nfilling_(disambiguation),-1\nyu-gi-oh!_gx,3\npheloniblazyk,1\ndj_strap,4\ncherushi_(character),4\nsakyubasu,4\nhead_on_breast,0\nglistening_glasses,0\nlewdshiba,1\nminila,1\nhisuian_lilligant,5\ndualshock_3,3\nwatson_(sherlock_hound),4\nelranno,1\nholding_wine_glass,0\nsafety_goggles,0\ntits_out,0\norion_(jacobjones14),4\ntentacle_ring,0\nduke_nauticus,4\n>.<,0\ngrei,5\nfrancine_manx,4\nnitrus,1\nfather-in-law,0\ntoeless_heels,0\nsaloon,0\nbleuxwolf,1\npenetration_tunneling,0\near_play,0\nfox_shadow_puppet,0\nquidhansed,1\nn0ncanon,1\nsai,0\nscouts,0\nmolin,4\nmichael_(zourik),4\narm_spreader,0\naleksikashvets,1\nagonylight,4\nred_bedding,0\nevilfrenzy,1\nlooking_at_feet,0\nchristopher_(zummeng),4\npoppers,0\nels_(beastars),4\nmilitary_jacket,0\nhornband,0\ngummy_worm,3\nevil_kima,4\npublic_birth,0\nkrilinus_sixus,4\nmemburu,1\ndora_marquez,4\nkrusha,4\nshoulderless_shirt,0\npurple_speech_bubble,0\nojififo,1\nsyrup_(puzzle_and_dragons),4\ntorn_bodysuit,0\nfoaming_at_mouth,0\nsweaciabic,1\nricky_(fuze),4\nrabidraccoon,1\ntwin_dragons_(webcomic),3\nbridgette_(thighlordash),4\ningo_(pokemon),4\ncari_williams,4\nwindow_shade,0\njolly_roger,0\ntwo_tone_jacket,0\nmaze,0\ngem_(redfox09),4\nhelicopter_tail,0\ndramatic,0\njuutton,1\nsupreme,3\nperci_(thiingamajiig),4\neneirem_(artist),1\nstandalone_testicles,0\ngiraffid_humanoid,5\nwisp_(sonic),5\nunbuckled,0\naronai,4\ndutchsyndicalist,1\nshadow_(lol),4\npulred,1\nkonigpanther,4\nocarina,0\ndanger_mouse,4\nmingaru,1\nwhite_heels,0\ninky_rose_(mlp),4\nrule34rox,1\nragged_clothing,0\ngilbhart,1\ngnorr,4\npov_titfuck,0\nindycat,1\niflyte_(ff),4\nvanity_mirror,0\nivan_grey_(character),4\nghost_costume,0\ntakeshima_(nia),1\nscheadar,1\nguardianslade,1\ntealmarket,4\nsuntan_lotion,0\nrythulian,5\nmulticolored_nipples,0\nximorexx,1\ntenzide,1\nmasturbation_inside_body,0\ntig_(slypon),4\ntrash_bandicoot,4\ncatrobis,5\nmeghan_mauriat,1\nmacey_(fvt),4\nlordaardvark,1\ntamira_(rimba_racer),4\npointing_gun,0\nroza_(woadedfox),4\nflunky,1\nholding_vehicle,0\noooeygoooey,1\nshumey,1\nbigmi_nono,1\nlotusgoatess,1\nsakura_ani,1\nzapher,4\nfish_in_midair,0\ncheek_pinch,0\ntrex_b6,1\nmien_(pandashorts),4\nsteel_wool_studios,3\npink_sea_star,5\nanasheya,1\nrubrad,1\nla_volpe,1\ncommercial,0\nbodily_fluids_from_mouth,0\nmutate_(gargoyles),5\nholding_sunglasses,0\nrod_garth,4\nimadeus,1\nmarie_(aristocats),4\nacw,1\ngoina,1\npaintdog_(artist),1\npom,4\n43:48,7\nsmuttymutt,1\nleaf-tailed_gecko,5\nmonster_(game),3\ndeuzion,1\nsparkychu,4\nyana-r,1\niberian_lynx,5\nfrisky-lime,4\ncreambake,1\nrcc2002,1\nmhicky93,1\nreddishfox_(artist),1\nstrappado,0\nthark,5\neuca_(repeat),4\nfiaskers,1\nmadness_combat_(series),3\ntwolfe,1\nconstruction_site,0\nsquirt_(sound_effect),0\nbo_(slipco),4\nfantasy_axe,0\narvie_dreadmaw_(character),4\nfeelin_synful,1\nterry_(a-signature),4\nlee_(winged_leafeon),4\nsaurian_(disambiguation),-1\nharem_boy,0\nhitokuirou,1\nezo_red_fox,5\nhugging_object,0\nmaxis_(ea),3\nsucking_tongue,0\npride_color_swimwear,0\noleola123,1\nkhuraji,1\ncubchoo,5\nfarigiraf,5\nbada-butterfly,1\njuicyghost,1\nbrutal_paws_of_fury,3\nurine_on_hand,0\nxbox_360_console,0\njaguar_(kemono_friends),4\nnoxus_poppy_(lol),4\nmitchell_(felino),4\nshimo_kawa,1\nanput,4\nedgarkingmaker,1\nthe_nut_job,3\nrant,0\ndragunsnack,1\nmister69m,1\ntooboe_huusuke,1\nquaraci,1\nmr._game_and_watch,4\nxskullstomperx,1\ngloria_(zummeng),4\ngrey_head_tuft,0\nnanori-chan,1\nsmolspearrow,1\ntobias_(thehades),4\naella,4\nsuction,0\nbeuwens-folder,1\nkirill475,1\ncashier,0\ngreen_coat,0\ntankini,0\nxaenyth_(character),4\nwarning_label,0\nfeatherystorm,1\ncookie_dough_(oc),4\nduskdragyn,1\ntom_the_gatomon,4\nluna_(zummeng),4\nmarienne_silverleaf,4\nvi_(lol),4\nmisukitty,1\nblurred_character,0\nscythemouse,1\nowligatorstudios,1\nblack_dragon_(dnd),5\nunaware_pred,0\nheavy_bondage,0\nsaterina,1\nbig_toes,0\nstunned,0\nsaybin_iacere,4\nlira_(remix1997),4\ncrazy_sll,1\nfar_cry,3\nyukiin,1\nmason_hamrell,4\nfamous_toons_facial,3\ngreedyorb,1\ncoat_hook,0\nhanazawa,1\nstarock,4\nzephyr,4\nhot-gothics,1\nrainbow_heart_(character),4\ntito-tonton,1\nsorto,4\nivara_(warframe),4\npork_pie_hat,0\narm_restraints,0\nmulticolored_scarf,0\ntakesu,1\ntail_orb,0\nblizzard_(blizzyfox),4\nleaking_pre,0\nstressed,0\nmsobscure,1\nshizumi_tsubasa,1\nskitalets,1\nluca_(patto),4\nxoloitzcuintli,5\nblue_water,0\nhatsumiilkshake,1\nzunu-raptor,1\nvarren,5\nvanilla_(canary),4\nsawolf151,3\n^w^,0\nfutashy_(cartoonlion),4\nhyenahonk,1\nisland_(character),4\nthebigbrap,1\nsulcate,1\nmewball,1\nherm_on_feral,0\ngrey_antlers,0\nmercy_(mercy),4\nsalmon_shark,5\neveryday2,1\ncobaltbadger_(character),4\napplebloomers,3\nkay_(1-upclock),4\ndrillmole,1\neftiinsfw,1\nseymore,4\nhavemoon,1\nimafetish,1\nwinteranswer,1\ngluttony_(changing_fates),4\n>:o,0\nlazzzy_drawings,1\nemolgack,4\nstop_thinking_about_sex,3\nkate_starling,1\ntrio_in_panel,0\nfood_in_stomach,0\njupiterorange,1\nlucky_(101_dalmatians),4\nlocalized_pointy_speech_bubble,0\nrowf,1\nstella_(over_the_hedge),4\nmc_morrales,1\nmotaro_(artist),1\nbikini_lift,0\nvictoria_(two-ts),4\ncartoonlion's_futaverse,3\nharu,4\nmario_smoking_weed,3\nbathing_together,0\nmrlolzies101,1\nkendratheshinyeevee,1\nlion_(kemono_friends),4\nglacier,0\nausar,5\nmarty_the_zebra,4\nregina_(ragnacock),4\nzyra_(lol),4\ndavecartoons,1\n>_o,0\nsako_(cocolog),4\npronghornpunk,1\n0600hours,4\nlabia_pull,0\nyouraugust,1\ntoasting,0\npacifier_in_mouth,0\nnicolette_the_weasel,4\nrenaspyro,1\nblack_rabbit_(huitu_c),4\njenny_(powhatan),4\npepper_(pepperfox),4\ngavin_pearson,4\nexposed_teeth,0\npokéball_background,0\nhoaxy,1\ncerberus_(artist),1\nkigisuke,1\ntentacle_arms,0\nfeces_on_leg,0\npaw_panties,0\nwani_panic,1\ntwo_tone_kerchief,0\nguinea_(interspecies_reviewers),4\nbattouga-sharingan,1\nmultiple_pregnancies,0\nsalamander_(artist),1\nnoriko_takahashi,4\nnunudodo,1\npomela_(artist),1\nchubby_humanoid,0\nsherpa_hat,0\nchuuta,4\nofficer_jenny,4\nstefan_(hextra),4\nsirenslut,1\ndhaval_(character),4\nfingers_on_penis,0\nraynadkins,1\npeachy_(marshmallow-ears),4\nlonestar_eberlain,4\nkey_necklace,0\nmonotone_bra,0\nkiiko,1\nmulticolored_necklace,0\ndarktronicksfm,1\ndredd,1\nruzzy,4\nglitter_(kadath),4\nsalamander_(disambiguation),-1\nunzipped_shorts,0\nahappypichu-mod,1\nsky_(umbry_sky),4\njumpscare,0\nshawnguku,1\njoe_kido,4\ndrake_(kitty_pride),4\nvortex_(vivzmind),4\ntales_of_tabira,3\nlampshade,0\nsi'itiae,5\nwarg_(fours),5\nmantine,5\nsplit_jaw,0\nma-san,4\nsilicon_chub,1\nakeahi,1\nmurskahammas,1\nlefty_(fnaf),4\npot_(disambiguation),-1\npride_color_thigh_highs,0\ncybernetic_hand,0\nphallic,0\nheliofox,1\nmobilemutt,1\ntwotails,1\nnatural,0\nkyllo_(son),4\nsentient_ears,0\nninja_gaiden,3\nring-tailed_vontsira,5\nijoe,1\nchi-chi_(dragon_ball),4\nikobi,4\nyu_yu_hakusho,3\nthirstspace,1\nhuge_anal_beads,0\nkha'zix_(lol),4\nsuyasuyabi427,1\nabella_mf_spirit,4\n>w<,0\nbernadette_hedgehog,4\nbrianxkaren,1\nmotherly,0\nrileyomalley,1\nforbiddenknights2,1\nlap_dance_position,0\nremi_(neo_geppetto),4\ncrossed_clips,0\npaws_on_face,0\npussy_juice_on_feet,0\nfeilen,4\nplainoasis,1\ndittodotto,1\ngo!_go!_hypergrind,3\ndachimotsu,1\nfuneral,0\ny_sheath_opening,0\n19:25,7\ncoach_dale,4\nyes_pillow,0\njem,4\ntalwyn_apogee,4\ndaemon_of_slaanesh,5\nmei_marzipan,4\nfelicia_(brushfire),4\ndecent.,1\njasper_(steven_universe),4\ncho_second,1\njunibuoy,1\nshot_one,3\nchromamorph,1\nimminent_cunnilingus,0\nnate_(dragoneill),4\nemositecc,1\nmaple_syrup,0\ntouching_legs,0\nutsuho_reiuji,4\nmulticolored_paws,0\nturkish_van,5\nezumi_mh,1\nthe_frosty_chemist,1\nmanticore_humanoid,5\nkate_(father_of_the_pride),4\ncyberblade_(character),4\nsukendo,1\nunusual_penetration,0\nrefegi,1\namy_(lcut),4\nlevsha,1\njiayi,1\nbunga,4\nstrapped_down,0\nlittletiger488,1\nmonotone_elbow_gloves,0\ncackletta,4\nbailey_(angellove44),4\nmaniacbox,1\nhowlfei,4\nvd-dv,1\nd0nk,4\nreddit,3\ncartuja,4\nwhite_speedo,0\nrubbing_eye,0\nbelly_slapping,0\nhoodie_lift,0\ntwo_tone_pants,0\nonyx666,1\nunclescooter,1\nugly_sonic,4\ndcat07,1\nglistening_feathers,0\nskkortysoup,1\nunderbust_corset,0\nthundragon,1\nwyrm_(dragon),5\near_scar,0\ngraham_(artist),1\nbedethingy,1\npurple_ball_gag,0\nwhatarefurries,1\npointy_hat,0\nkiera_(shot_one),4\nryme_(totodice1),4\nsmurfette,4\ntriakid,5\nnolani_(quin-nsfw),4\njuvira,1\nbarely_visible_areola,0\ngerdeer,1\nproportionally_endowed_gynomorph,0\nkarukim,1\ntucolewds,1\nempty_bottle,0\nsnu-snu,0\nzeru_(ma),1\nfoxy_roxy,4\ntateha,1\naki_(wingedwilly),4\ncitra_taur,5\nanal_beads_in_urethra,0\ngreedygulo,1\nshade-shypervert,1\natomicmeta,1\nocular_prosthetic,0\nbreakdancing,0\ndarknesshaven,1\ncubikore,1\nlooking_over_shoulders,0\nfloating_hearts,0\nscoota,1\nomegax,1\nwater_ripples,0\nrimuru_tempest,4\ngolem_(pokémon),5\nsparkdraws,1\nbezdomny,1\nsafi'jiiva,5\nsippo,1\nfelestell,1\nrita_mordio,4\ndisregarding_notices,0\nqsteel,1\npetresko,1\nookami_mio,4\nmokanyann,1\npoleyn,0\nvulpes_foxnik,4\nbulge_suck,0\nselena_(baelfire117),4\nnethil,1\nthe_lusty_stallion,3\nauric,1\nsuper_mario_bros._2,3\name_(wolf_children),4\nalbafox,4\nplatform_leg_glider_position,0\nturret_(portal),4\nian_(braeburned),4\nviolise,1\ndistrict_9,3\nmango_(mangobird),4\napologizing,0\niceberg,0\namber_(batartcave),4\ndink_(slypon),4\nhaley_long,4\nsapsan,1\nabortion,0\nryndion,4\nnarwhal69,1\ndance_studio,0\nnyghtmar3,1\nnsf,3\nifgirl,1\nstephen,4\nbinocszoomx10,1\nround_tail,0\nbutton_underwear,0\nschitzofox,1\nfox0808,1\nyoung_intellegent_furry_friend,1\nwynaut,5\ncheating_wife,0\nlylla,4\nhigh_chair,0\nhexadec,1\nshrek_(character),4\nsatanic_leaf-tailed_gecko,5\nrafiki,4\nangel_loveridge,4\ndog_girl_(berseepon09),4\ntorgore,1\naesir_(artist),1\ngamermac,1\nwes_(pokémon),4\nbent,5\nalxias,3\nkippy,1\nhero_chao,5\nshutter_shades,0\nto_be_continued_meme,3\nlunicent,1\nsmaller_fingered,0\nelma_(dragon_maid),4\nroodaka,4\npumpkinspicelatte,1\nmr._mephit,4\na0nmaster,1\nlucas_(lucasreturns),4\nflat-tailed_gecko,5\ndiablos_(mh),5\nholding_leaf,0\ndirk_aukea_(artist),1\ntobacco_pipe,0\ninfected_(species),5\np-sebae,1\nanubis_and_the_buried_bone,3\nlemendigogoat,1\njewel-thief,1\nneck_to_tail_bondage,0\nglimglam,1\nnewfoundland_dog,5\nellie_cooper,4\npaimon_(helluva_boss),4\nradar,0\nvivi_ornitier,4\nrazzper,1\nsk8th,1\ntargso,1\nsaerro,4\nfender,4\nlentejota6,1\nsupermoon,0\nbluebun,1\nseyorrol,1\nbelly_hug,0\nwiping_mouth,0\nzoroa553,1\nskeleton_markings,0\ntheartmanor,1\npokéball_gag,0\nwhite_antlers,0\npatterned_fur,0\nalice_in_wonderland_(1951),3\nsteve_gallacci,1\nr_ex,1\neyes_in_darkness,0\npoisoned,0\nreverse_v_sign,0\nsupersoupnova,1\nfree_(beastars),4\nsex_through_clothing,0\ntomdantherock,1\nblocky_snout,0\npang4746,1\ncasey_jones,4\nyungoos,5\nballet_leotard,0\nevil-sprite,1\nchipfox,4\npublic_pool,0\ncaravan_palace,3\ndrampa,5\nolga_(here_there_be_dragons),4\nherald_hearth,4\ntulip_(flower),0\nclitoris_slip,0\nfamily_guy_death_pose,3\nshukin,1\ngeno_e._vefa_(coyotek),4\nelisedae,4\npink_neckerchief,0\ntractor,0\ngrimfaust_(nightterror),4\nmulticolored_thigh_socks,0\nbudew,5\ntom_sawyer_(2000_film),3\n:i,0\narf-fra,1\nporah,4\nmudshark,1\nelise_(lustylamb),4\nqmanshark,1\nghost3280,1\nfluffymare,1\ndating_sim,0\ntan_nails,0\nvanimate,1\nroxanne_(spikedmauler),4\nlucky_(luckyabsol),4\nyellow_briefs,0\nkurosuke0755,1\nkagetora_(pop'n_music),4\ndupli,1\npark_kr,1\nhung_clothing,0\nbig_female,0\nwhale_tail,0\nmylafox,1\nnonksoit,1\ndecorative_pin,0\nred_sheath,0\nuno,3\nmissing_limb,0\njamila_queen_cobra,4\ncoconutmilkyway,1\ndoritomon,1\nakari_jamisson,4\npawmi,5\nblue_pseudo_hair,0\nexecutioner,0\nrussell_ferguson,4\noro_(ungoliant),4\newr_115,1\nhashimoto-chan,4\ndavid_(bcb),4\npidove,5\nrecord_of_lodoss_war,3\nkodi_(sqink),4\nwooden_spoon,0\nphos_(phosaggro),4\nrokuke_shiba_(character),4\nizuku.,1\nvermintide,3\nouroboros,0\nfluffy_wings,0\nlumieart,1\ngabriel_(fuze),4\npotion_label,0\nfuzzled,1\nvulpa,4\nlime_ade,4\nteckit,1\nbluewavecon,1\ngao-lukchup,1\nhumongous_entertainment,3\naaaa,1\nspartadog,1\ngi_(disambiguation),-1\nhylian_shield,0\nmitachurl,5\nmoneychan,1\nred_leotard,0\ngordon_freeman,4\nsnips456fur,1\nkatibara,1\ngameroo,1\nstrelizia,4\nfi_(blen_bodega),4\nnorakaru,1\ngreen_necktie,0\nlulubell,1\nplague_knight,4\noh_fugg,0\nday-tripper-guy,1\nsorez,4\nsam_(the_sunfish),4\nnes_console,0\nkrixata,1\nrainbow_crash,4\ngreenhouse,0\ndan_bluestone,1\nsilver_fang,4\ngausscannon,1\nhooks,0\nfirr,4\nankle_crossing_leg,0\ntheserg,1\npolygons,0\npukao,1\ntasticstarlight,1\ntales_of_arcadia,3\nmulticolored_inner_ear,0\nquaise_(doneru),4\nzorym,1\nmomo_(doodle_dip),4\nmia_perella,4\norange_bikini,0\npepipopo,1\ncha_hieun,4\ndiaper_package,0\nairborne,0\nfern_walters,4\ntenderegoist,1\nzeir0,1\nmorrigan_the_marwari,1\nhand_on_bed,0\nchloeelaw,1\nbuzzing,0\nduragonart,1\ntongue_sheath,0\nzebra_taur,5\nstumpeg,1\nali_gray,4\nmetal_table,0\neverstone,0\nanatomically_correct_balls,0\nthunderbird_(tas),4\nlight_bottomwear,0\nkovaltiel,1\npastelmistress,1\nsmrtka769,1\nvisible_underwear,0\nnotsafeforhoofs,1\nnausea,0\ninker_comics,1\ngligar,5\nvarknakfrery,1\nteam_ico_(game_developer),3\nthunder_ring,4\nriproarrex,1\nbottle_insertion,0\nzephyr_the_hyena,4\ndaxratchet,1\nsapphwolf,1\nfiztheancient,1\ndeeroni,1\ngreyshores,1\nsidonie,1\naiko_stable,1\nimpact,0\nleopard_shark,5\nkaltren,4\ngarcia,4\naevere_(anotherpersons129),4\nkokobiel,1\natoh_darkscythe,4\nj3t,1\nmauro_skyles,4\nliving_tank,5\ncentipeetle,4\ntiril,4\nkiss_mark_on_balls,0\nscanlines,0\ntoofer,4\nbirthday_candle,0\nagainst_rock,0\ndennhaze,1\nbiri,1\ntumble_the_skunk,4\nhibari,4\nmanic_the_hedgehog,4\nrex_rabbit,5\neoks,1\namelia_(ryuakira),4\nalphamoonlight,1\nbackbend,0\nlodish,4\ngoroguro,1\nailaiweiyala,1\ndj50,3\nsecretkitsune,1\npoegryn,1\nbrown_dress,0\npink_high_heels,0\nzaxstar,1\ntopaz_(lipton),4\narms_on_legs,0\npichu90,1\nthetroon,1\nking-kakapo,1\nryukyur,1\nconical_hat,0\nowen_(repeat),4\nbeverly_(sailoranna),4\npool_chair,0\nzander_oro,4\nnina_flip,4\npiglet,4\nbart_simpson,4\nstunfisk,5\nface_panties,0\nfang_asian,1\ncade_(the_human_heart),4\nroly_(roly),4\nlavender_(flower),0\nslither_(slither),4\ntrainer_aliyah,4\nblack_kitty,1\nneyukidou,1\nsun_wukong,4\ngibbons,1\nwraith,5\nsammehchub,1\nzebra_finch,5\nemerald_(katai),4\nagape_(petruz),4\nelvis_(animal_crossing),4\ncalico-chan_(akamu_ver20),4\nuc77,1\npuffypinkpaws,1\nthe_next_mutation,3\nyellow_pubes,0\nmargevonn,1\nlugus,1\ndisembodied_mouth,0\nsynxirazu-niam_(character),4\nskiaskai,1\nglitch_pokémon,5\nscene_interpretation,0\npeeing_on_viewer,0\ndan_(dan_vs.),4\nsparrowl,1\nexit_sign,0\nmaruzyrukun,1\nvortixx,5\nsairaks,4\nwinter_(wof),4\nbloo_(character),4\nsupearibu,1\ndroplets,0\nchoking_on_penis,0\nhokkyoku_kuma,1\ndominique_(bionichound),4\ndullyarts,1\nbesped,1\nonmyoji-mama-rama-sama_(nightfaux),4\nzake,4\ncosmic_being,5\nbutt_bite,0\nside_bangs,0\nflesh_fang,0\nsantafire,1\ndagos,1\nbonita_(gaturo),4\nnorthfelle,1\nhollow_knight_(character),4\nholding_pizza,0\nvaginal_foot_play,0\nsai_(weapon),0\nchimera_synx,1\nnursery,0\nnording,1\nalcitron,4\ntail_belt,0\npredatory_look,0\ntagging_guidelines_illustrated,0\nredwolfalang,1\nemployee,0\nnecrobern,1\njuanomorfo,1\nvehicle_destruction,0\nbeatriz_resont,4\nsar,4\nsybervenn,1\nholding_bikini_top,0\ngeralt_of_rivia,4\nsueli_(joaoppereiraus),4\ngreen_blood,0\nghostblanketboy,1\nbottomless_human,0\nred_knight_(sirphilliam),4\nsquean,0\nsephaloid,1\nsambal,4\ntimblackfox_(character),4\nblorb,0\nyafya_(beastars),4\narche_kruz,1\noral_fixation,0\nsinyxstra,4\nneve_vecat,4\nskin_tight_suit,0\nbroken_arm,0\npanda_po,1\ntaped_mouth,0\njail_placard,0\ndark_gloves,0\nminor_arcana,0\nokayado,1\nstern,0\nbl4ck-cl1n1c,1\ntxlegionnaire,1\nangle_(copperback01),4\nbookman_v,1\namaryllis_(amy)_sharmila,4\nplot_twist,0\npink_antennae,0\nspanking_paddle,0\nelbow_on_knee,0\nshoulder_scar,0\nhaze_the_giraking,4\nlarge_pecs,0\ngreen_diaper,0\nr-fenrir,1\nvarenvel,4\ntight_panties,0\nkale_(angellove44),4\ncum_from_cloaca,0\nsentai_rabbit_(marimo),4\npointed_feet,0\nbluethebone,1\nshitsu_kushi-mono,1\nbribe,0\nlemy,4\nkemoppai,1\ndyspo,4\nwhite_bars,0\ncassandra_hart,4\ncountershade_thighs,0\nmaleherm/maleherm,0\n8k,0\nshrimp_(uk_brony),4\nmaly_paczek,4\navj_(artist),1\nwoopu_(zoohomme),4\nreiko_(goonie-san),4\nseldom,1\nanus_lick,0\nwhalegourd,1\nyard,0\nrikamon,4\nbiker_jacket,0\n9:7,7\ngreen_roon,1\near_ribbon,0\nozy_and_millie,3\ncrazedwd,1\nriku_tavash,4\nwarship,0\ngetting_up,0\ndark_tail_feathers,0\nanthro_only,0\nwindpaw,1\nbrown_head,0\nparamour_(artist),1\nlectern,0\nusb_necklace,0\nasylum,0\ndante_(101_dalmatians),4\nlinked_piercing,0\nsledgehammer,0\norange_neckerchief,0\nyoda,4\nin_pouch,0\ndantae_meoi,4\nchuck_(braford),4\nhm3526,1\nmentalcrash,1\nmoonagvaze,1\ntrinity_(farran_height),4\nwaist_ribbon,0\npresenting_belly,0\ncountry,0\nfujiokaaika,1\npolartoons,1\nasphyxia_lemieux,4\nleopard_humanoid,5\nvoss_(beastars),4\nmole_humanoid,5\nvictim,0\nlevi_west,4\npanty_bow,0\nadonis_(redimplight),4\nthousandarms,1\nfynath,4\nspica_(aoino),4\nteien,1\npink_latex,0\nt-shirt_only,0\nlap,0\ncubi_(characters),3\nbalaclavacat,1\nmungo_(housepets!),4\nsarah_van_fiepland,4\nlordzbacon,1\niris_(ratcha),4\nkittmouri,1\nmutemyth,1\nkorrina_(pokemon),4\nbaron_von_jackal,4\nluenas,4\nskadjer,1\npurple_elbow_gloves,0\npluvian,4\nhazelkisses,1\nshixiexiaomo,1\nkokuhane_(character),4\npenis_arm,0\nsulcus,0\nrufus_(mao_mao:_heroes_of_pure_heart),4\npuinkey_(character),4\ndark_paws,0\ndipstick_toes,0\njem_(hornedproxy),4\nrann,1\nhydoor,4\ndiamobster,1\nshirakami_fubuki,4\nandersonicth,1\ndeimos,4\npecorine_(princess_connect!),4\nrookie425,1\nduskie-06,1\nsize_shaming,0\nmatar,4\npink_sheath,0\nvincenzo_moretti,4\nhistorical,0\nhornybunny,1\nvapor,0\nrayu_(kamui_shirow),4\nvaginal_storage,0\nfeces_on_hand,0\ngraph,0\nhow_to_talk_to_short_people,3\ngeorgesabertooth,1\nfloorninja,1\njayecho,1\nanubiskruger,1\nhusky_(artist),1\nfur_hire,4\nosiriix,1\nball_bite,0\nmuraachi2gou,1\nruff_bull,4\nalice_lovage,4\nnickolai_alaric,4\njustin_(aaron),4\nyukizard_(evov1),4\ngrrrwolf,1\norange_seam_underwear,0\ncirce,4\ncrest_(disambiguation),-1\nlopin,4\niratu_elexion,4\near_fur,0\nbee_the_cat,4\nmonotone_tank_top,0\nmusorok,1\ntrunkjob,0\nmasturbator,0\ngoldie_(animal_crossing),4\nmametanu_tanuki,1\nmochi-bun,1\nhappiny,5\nhammerface,4\nfuleco,4\norenjisalmonpaw,1\nrecursion,0\nbella_mouse,4\nbeowolf_(rwby),5\nfluffybardo,1\ntext_on_pillow,0\nwob,1\nralan_(thepatchedragon),4\ngrappling,0\neliotak,1\ndiver,0\nglacierdragon,1\nplated_scales,0\nhajime_sorayama,1\ncowfee,1\ndrybone,1\ngrabbing_wrists,0\nslashner,1\nusing_magic_on_self,0\ntoilet_pov,0\njmeo1230,1\ncopymirror,1\nserth,1\nfireflufferz,1\ncharacter_description,0\nfur_gauntlets,0\nomegabrawl,1\nluxury_ball,0\nrosiesquish,4\npenance,4\nallstatus3,1\ntail_spots,0\nqweeli,1\nbianca_(dragon_quest),4\nuthstar01,1\ndragonmanmike,1\npolesitting,0\ndrapion,5\nalvar_miles_udell,4\nautoknotting,0\n11:9,7\nn3f4str10,1\nkitsuumi,1\nreylin,4\nbubbles_(powerpuff_girls),4\ndaxx_(shirteater18),4\nestemilk,1\nhypnotized_prey,0\nroger_mello_(dynamitegrizzly),4\nlordosis,0\nratarang,4\nhuge_trapezius,0\nsensual,0\nteateastuff,1\nkaio_kincaid,4\ntindalos_(tas),4\nseyloid,5\nkalei_(dreamkeepers),4\nlight_handwear,0\ndata_(wouhlven),4\nhuge_tongue,0\naven-fawn,4\nfay,4\nberlin,1\njakescorp,3\n50percentgrey,1\namber_(mancoin),4\njack_(mass_effect),4\nclei,4\njuanonyx,1\nuser_cpsf8285,1\nblack_arm_warmers,0\nu-turn_penetration,0\nbrown_sweater,0\nhose_in_urethra,0\nsnorunt,5\nshomunona,1\nselker,1\nflir_(panther),4\nsolapi_(artist),1\northros,5\nanklav,4\ngreedmasterh,1\npool_noodle,0\ntentacle_dildo,0\nseaking,5\nnightmare_(species),5\nstepping_on_balls,0\ndaisy_chain,0\nmazzy_techna,4\naccidental_bow_mutant_(resident_evil),5\nfriendly_fire,0\njake_(fuze),4\nvinoda,1\nfitletter,1\nmiyuki_(helzimgiger),4\ndouble_pov,0\nduncan_(kitfox_crimson),4\ncurry,0\nchampionship_belt,0\ncallmedaddy,1\nescaping_heart,0\nlinette_noir,4\niceshadow13,1\nnavel_lick,0\nfruit_slice_(yurusa),4\njuri_han,4\nlyn_(z-ray),4\ntongue_in_sheath,0\ngrabbing_hips,0\ndough,0\npredacon,5\ncloaca_ejaculation,0\nsalmacisreptile,1\nshiro,4\nfur_pile,3\nrolly_(maple_town),4\nbiohazard_symbol_print,0\nparchment,0\nred_teeth,0\nprea,4\nrocking_chair,0\nchigui_(character),4\n7010,1\nredgreendied,1\nudder_lactation,0\nmary_magdalene,4\nnyjasca,4\nteragabba,1\nredmn,1\nolive_(disambiguation),-1\nback_bow,0\ndaniel-sg,1\none_eye_visible,0\namara_(jwinkz),4\ndaloaf,1\njack_dragon_(character),4\nfriita,1\nstan_borowski,4\ngraph_paper,0\npimple_(battletoads),4\nsinister-jordex,1\nlying_on_pool_toy,0\nflip_phone,0\njeffrey_taggart,4\noctomaid,5\nkira,4\nnaoki_saito,1\nfreckles_(nukepone),4\nlindsay_(funkybun),4\nlicking_teeth,0\nkewon,1\ngem_eyes,0\nzach_(zer0rebel4),4\nblaquetygriss,1\ntsukiyo,4\nkukkiisart,1\ndreemurr_reborn,3\nsovulsen,1\njorden,4\nsookmo,1\nfenrik_(artist),1\ncosmo_(beastars),4\ngarbagioni,1\nshishiro_botan,4\nyellow_t-shirt,0\norange_tuft,0\npussy_juice_on_tentacle,0\ndistracted_boyfriend,3\nexeggcute,5\nswarm,0\nmina_(gaturo),4\nmeowcephei,1\nmilo_(captain_nikko),4\njessesmash32,1\noola,4\nkoruro,1\nrunway,0\nbox-s,1\nbarraqda,1\nsu_wu,4\nmstivoy,1\nrouken,3\nyellow-billed_magpie,5\nzantyarz,1\nteam_plasma,3\nscarlet,4\ndurabelle,4\narrow_through_heart,0\nempty_scrotum,0\ncula,1\nhairy_belly,0\nduke_nukem_(series),3\ndera_kimidori,1\nshadow_of_the_colossus,3\nradwolf,4\nheart_pendant,0\ngtoyaannno,1\nmrw32,1\nadena_(ewgengster),4\non_vehicle,0\nkneeling_position,0\nsuger_phox,1\ndobie_(animal_crossing),4\nxevv,1\nshadify,1\ngem_(babystar),4\nkevak_(castbound),4\nselune_darkeye,4\nsalamandr,1\nsouga,4\ndiana_digma,4\nemmy_dook,4\nearning_chastity_removal,0\nwiess,1\nambiguous_rimming_male,0\nsir_cums_a_lot,1\ndio_(diorexity),4\nethan_(thiingamajiig),4\ngopher,5\nglistening_armor,0\nv-invidia,1\nhimimi,1\natsuya_baba_(odd_taxi),4\ngreen_head,0\nbondage_harness,0\nmaple_(maplegek),4\ncoffeeslice,1\ndreamyart,1\ndillon's_rolling_western,3\nwhywhyouo,1\nanalon_(character),4\ntuwka,1\ne-ward,1\ncaroxmaster,1\nhisuian_sneasel,5\nlunette_(lunebat),4\nimflain3d,1\nbutt_flap,0\nhomer_simpson,4\nnuxinara,1\nmysterious_mew,1\nkollerss,1\nstar_panties,0\n5danny1206,1\nkeitronic,1\nbreast_freckles,0\nweewizzylizzy,1\ntrish_(winter),4\ncinnamomo,1\nmunchkin_cat,5\nreverse_forced_cunnilingus,0\nwen_kamui_(tas),4\nmulticolored_neckwear,0\nsidotama,1\nniuxii,1\nkayle_(lol),4\nkrorenshima,1\nreverse_prince_albert_piercing,0\nunbuttoned_shorts,0\ndj_mixer_(character),4\nrikuta_tp,1\nblunted_horn,0\nstraxus,4\nrottencanines,1\nholding_chopsticks,0\nneomorph,5\nfeebas,5\ndatbadger,1\nrawchomp,1\nspeaker_ears,0\nerokaiga,1\nfuneral-paws,1\non_penis,0\nlotad,5\nsymmetra_(overwatch),4\ngazer_(mamono_girl_lover),4\nlung,0\nhuskii-s,1\nhowlite,1\nsickbelle,1\nnazebesu_hobby,1\norangy,1\ntales_of_the_ashes_(series),3\ncatfight,0\nviken_welopl,4\nherdier,5\nnotched_tail,0\nalexclimax,1\ndashthefox,1\nfoot_on_foot,0\nexplosive_orgasm,0\nsaliva_on_pussy,0\nvorekingdom,1\nshadow_mewtwo,5\narm_over_edge,0\nprawn_(district_9),5\ngalacta_knight,4\nripping_sound_effect,0\nqueen_bee,5\nfused,0\nusb_compatible,0\nfinnish_text,7\nnosch,1\ndragon_village_m,3\nnipple_tattoo,0\nblack_widow_spider,5\nworkout_equipment,0\nalternate_breast_size,0\nkedama,1\nbrian_o'connell,1\noguchi_magami_(tas),4\nstormfront,4\ntwo_tone_speedo,0\nolexey_oleg,1\ntaking_order,0\nmiss_rain,1\nfossa_penis,0\nnekokai,5\nhuge_udders,0\nmrfoxees,4\nthe_thing,3\nwhite_wolf_publishing,3\ncharles_entertainment_cheese,4\nsulid,5\ngammauzumaki,1\ndrago_(bakugan),4\ndorobo_39,1\nfurukara,1\nkoopie_koo,4\ntwo_tone_claws,0\ndestiny-yuuei,1\nimpstripe,1\npansear,5\nwatermelon_crushing,0\ntenseiani,1\nscruffymusk,1\nkatsurokurosaki,1\notterscience,1\nmaxy,4\nmagic_dildo,0\nsephiroth,4\nbender_bending_rodríguez,4\ncertedia,1\nstar_(shape),0\npurple_dragon,5\nlyn,5\namarian,1\ngrove_(regalbuster),4\nsidern_brethencourt,4\nsabine_(lykenzealot),4\nraptoral_(character),4\nblack_ball_gag,0\nyuuh1212,1\nimplied_anal_penetration,0\ncarnivorousvixen,1\nzoe_heartfields,4\nkodaibun,1\nblazkenzxy,1\nice_queen,4\ntoony_expression,0\npocketmob,1\nuzaki-chan_wa_asobitai!,3\nlatea_hyena,1\nrealistic_fur,0\ncheerie,4\nm2vcjtad5hsdvla,1\nboom_boom,5\nkatamra_(spazman),4\nkittyrosie,1\ntea_party,0\nraymondfoxxx,1\nimminent_unbirth,0\nnecktie_between_breasts,0\nbottomless_humanoid,0\nmojaloo,1\nzoom,0\nwatership_down,3\nbound_breasts,0\nplank,0\nxetajts,1\nacino,4\nvenus_(trias),4\nfidzfox,1\nsquish_(artist),1\nduop-qoub,1\ntigress_(disambiguation),-1\nmaleherm/female,0\nstronkfurry,1\natmongoose,1\nchappey,1\nvrock,4\npussy_growth,0\nkittydogcrystal,1\ndogson,1\nrosanne_hayes,4\nstimulation-free_orgasm,0\nlovingwolf,1\nkajinman,1\nthe_queen_(fvt),4\ngrind3r,1\nbastardpalace,1\nwhite_tipped_tail,0\nps4_console,0\njonfawkes,1\ntamani_(coc),4\ngildedbonexfm,1\nholding_paws,0\nvulpesvant,1\nshinyluvdisc,1\nwest_of_heaven,4\nrobyn_(kaylii),4\nzeflex,1\ntattoo_on_belly,0\nsnowstorm,0\nstantler,5\nvao_(coffeechicken),4\nblackrabbit-13,1\nbow_on_head,0\ntan_border,0\npuffylover69,1\ntoy_car,0\njuniper_(egocider),4\nplejman,1\nstickysheep,1\nnooshy_(sing),4\ntoe_lick,0\nlicking_object,0\nprincess_(nicoya),4\nvirovirokun,5\ntdtbaa,1\nextyrannomon_(artist),1\norchid_mantis,5\nthe_pirate's_fate,3\nblankieplush,1\ngroping_butt,0\nwalter_moss,4\nblinx,4\nrelatable,0\ndevon_(furball),4\nhaley_(elysian_tail),4\namused,0\ngalvinwolf,1\nroscoe_(animal_crossing),4\nfrosmoth,5\nkrita_(program),3\ncoiled_up,0\ndreamous_(writer),1\nlatrans,1\nrayne_(quin-nsfw),4\nzoey_lavender,4\nzraxi,1\ndelet_this,3\nmia_(eag1e),4\nfishine,1\nlistening,0\ncaeleste,1\nsatellite,0\ngrey_helmet,0\ncum_enema,0\naureola,0\nkissing_with_both_sets_of_lips,0\nchameleos,5\npurple_pillow,0\noreo_(food),3\nduke_corgi,4\nsirartwork,1\nbfw,4\ndiathorn,1\nasuri_(brawlhalla),4\ntaro-fox,4\ngingy_(gingy_k_fox),4\nshrinking_breast,0\ncharming,0\nthundurus,5\naysu,4\nboxing_shorts,0\nsugarbandit,1\njapanese_badger,5\nkoyanskaya,4\nbondage_wrist_cuff,0\ntext_on_shoes,0\nandybunny,1\nzeecibee,1\ntwistingtoxic,1\nfuka_(kantoku),1\nwatchog,5\nbel_group,3\ndeer-spangle,4\ncyoa,4\ntherapist,0\nsnuckums,1\ngrandpaced,1\nhsp,1\nxenoblade_chronicles_1,3\nrine,1\nlouie_(bomberman),5\ndarth_vader_sanchez_(housepets!),4\nevangellos_(artist),1\naisha_(neopets),5\nsynn,4\nakylie,1\nepic_journeys_and_random_encounters,3\nphoton_(ratte),4\nishigray,1\nvirginity,0\no-ring_collar,0\neuphorica,1\nluga_(ut134567),4\noffering_hand,0\nslydragoon16,1\nmimi_(playkids),4\npaw_grab,0\ndonkey_humanoid,5\narturo_juarez,1\njotaku,1\ntosx,1\npinkierawr,1\nfreakyed,1\nrainven,1\nmonobe_yuri,1\njepso,1\nbondage_mitts,0\ncasual_knotting,0\nvulpesvant_(character),4\nunicycle,0\nerebonbon,1\nohohflamethrower,1\ndaisy_(doom),4\nstepmother,0\nmitsuhide_vulpes,4\naltowovurr,1\npadunk,1\njournal,0\nblowout,0\nfish_hook_piercing,0\ndamian_(funkybun),4\nskyican,4\nkeiko_tachibana,4\neukayoticprokaryote,1\nshorttail,4\nkloogshicer,1\nteatfuck,0\ntrampoline,0\nsubmission_hold,0\nbellecandie,4\npandora's_fox,4\nshawnthegirl,1\ntrilby_(hat),0\nwing_grab,0\nforeign_girl_lovers'_association,1\npinkushika,1\noctavian,4\ntolbi,1\nmunty,4\ntoon_patrol,0\nlucy_(wherewolf),4\nstargate525,1\ncarbink,5\nsmash,0\npollen,0\nzaigane,1\nneon_(artist),1\nscuted_legs,0\nmulticolored_highlights,0\ngevind,1\nstrawberrycucumber,1\nnegative_number,0\nus_flag,0\nscarlett_vithica,4\nbianca_(sheep_and_wolves),4\ntagovantor,1\ntapping_foot,0\ntom_(mlp),4\ncum_on_screen,0\npro_bun_(hladilnik),4\nzoroj,1\nambus_(grimart),4\nlaosduude,1\ngirthy,0\ncyote,4\nfrackhead,1\nlewdcreamy,1\nlittlepawz,3\nconfrontation,0\nbatibatizekkyou,1\ntoodles_(springtime_for_thomas),4\nwrinkle,0\nanthro_to_human,0\ntoothy_smile,0\ntaiden2,1\nxylious,1\nmalberrybush,1\nquadruple_anal,0\nholding_both_ears,0\ndrake1dragon,1\n9:17,7\nandrefil360,1\nnunutaro3,1\nkrabby_(artist),1\nshijin,4\nraven_darkfur,4\npink_bed,0\ntangle_(fnaf),4\nassisted_undressing,0\ngrey_fingernails,0\ngreen_egg,0\ntom_(animal_crossing),4\nimprobable_(artist),1\northros_(mlp),4\nstein,0\nlilithmon,5\nkoi-chan,4\nporn_studio,0\nnoisy_oral,0\nkenobear,1\nhithog,1\nheatboom,1\nyacht,0\ndarksilver,1\nchizu,1\nthornbeast,1\nbanned_from_equestria,3\nyounger_fingered,0\ndungeon_fighter_(franchise),3\nseuchenkater,1\nblacky-moon,1\nplaying_sport,0\nhit_ton_ton,1\nfrostbone,1\nrasalhague,1\nlesser_hedgehog_tenrec,5\nvolac,1\narea_(artist),1\naurelina_canidae,4\nsouleatersaku90,1\nglistening_gloves,0\nlimebeatz,1\npteruges,0\nshaybecke_(character),4\nqunari,5\npeachymewtwo,1\nplum_(insomniacovrlrd),4\nconqista,1\nmariah_veiethe,4\nmathew_(srmmk_mce),1\nsneel,1\nkorokke,1\n10:11,7\ninked-waffle,1\nsorlag,4\nred_bull,3\ncode_name:_hunter,3\no-ring_bikini_bottom,0\nmorgdl,1\nkmd023,1\nfurry_problems,0\nsoundwave,4\nnata_rivermane,4\nrtil,1\nanthro_to_humanoid,0\nnitrosimi96,1\nkanzashi,0\nlampent,5\nlilina,4\nbutt_transformation,0\nmnementh,4\nsantana_the_dewott,4\nlauren_faust,4\nxhyra,4\nrudderg33k,3\ncase,0\ndezo,3\nrecklessarts,1\nspiderpony,5\nimprovised_bondage,0\nsupermegatopia,3\npurplefondue,1\nratharn,4\nredo_of_healer,3\nshira-hedgie,1\nmonstercat,4\nbcpony,1\nlesang,1\nzōri,0\nadrian_(crovirus),4\nmeru_(biggreen),4\nthreewontoo,1\nmorosuhe,1\nbeating,0\nnose_lick,0\nchorsinnell39,1\ns_mino930,1\nallie,4\numeguru,1\ntail_embrace,0\nsetsuna_(redo_of_healer),4\nshai,4\ngrace_kaiser,4\nblazeymix,1\ntoy_chica_(eroticphobia),4\nsheep_taur,5\nband-aid_on_face,0\npouring_on_breasts,0\nbutt_pillow,0\npaperdrop,1\ntribute,0\npecha_berry,0\nlost,0\nspamcat,1\npepper_(crushpepper),4\ndragonclaw36,1\ntiggs,4\ncold_quarantine,1\nmaisie_whisk,4\npaintchat,0\ntony_tony_chopper_(horn_point_form),4\nbase_four_layout,0\namiibo,3\near_clip,0\nzartersus,4\ncarrioncat,1\nheart_body_writing,0\njana_(jana's_lab),4\nrogers_(alfredblaze),4\nmultyashka-sweet,1\nevan555alpha,1\nnova_(anonym0use),4\nexcessive_fluff,0\nhose_in_penis,0\nvernid,5\naj_(ajisthebest),4\njack_(webcomic),3\ncseed,1\nplaystation_1,3\njackhammer_position,0\ntam_o'_shanter,0\ncheesecake,0\nmorpeko_(full_belly_mode),5\nprofessor_kukui,4\nkotaro_(leobo),4\npsychedelic-lemur,1\nhalloween_2021,0\ntundra,0\nbear_nuts,3\nlewdicrousart,1\nribr0t,1\nundersized_clothing,0\nkadoo,4\ntickling_nipples,0\nwrestling_clothing,0\nsunrays,0\npato_(bastriw),4\nred_tail_tip,0\nktandoku,1\nspook_(top_cat),4\nmayor_pauline,4\ncovered_mouth,0\ntara_(taranima),4\ntepigfan101,1\nrecca,4\nsweater_dress,0\nsoccer_field,0\nchocolate_syrup,0\nstegz,4\nsofi_(aygee),4\nblue_poison_dart_frog,5\non_tail,0\nfighting_game,0\ntigran_the_werewolf,1\ncoff,1\nsit_up,0\namalgam,0\norange_cape,0\nfaldarea,4\nakaunkel,1\namyth,1\npananovich,1\ntinywag,1\ngardie_(otukimi),4\nbelgian_shepherd,5\nkitara_cydonis,4\npenis_in_ear,0\nlil-heartache,1\nholding_coffee_mug,0\ndr._mario,3\nwi,4\ncarotte666,1\nmoonwhitetiger,1\nspilled_liquid,0\npink_exoskeleton,0\nariel_(james_howard),4\nsharkvore,1\nmorain_xs,1\nnebulabat,1\npenis_dildo,0\npumpkin_belly,0\nalister_azimuth,4\nseiko_(chewycontroller),4\nevilthabad,1\ngrappling_hook,0\ngundam_build_divers,3\nfingerless_armwear,0\nettie,4\njmf,1\nshell_necklace,0\nanal_kiss,0\ninviting_cumshot,0\naltenusy,1\npalm_town,3\nkennzeichen,1\njust_right,3\njessie-katcat_(artist),1\nmaxim_theos,1\ng-virus_mutant_(resident_evil),5\ntauski,4\nexplaining,0\ncai_yuwang,1\nhandjob_through_clothing,0\ndragonmaid_sheou,4\nshepherd,0\n9air,1\npill_bottle,0\nnekogarasu,1\ndromedary,5\nhexerade,4\nloving_gaze,0\nmattie_(pokefound),4\nkitt-n-valentine,4\n5_nails,0\nrailroad_mejic,1\ncharity_(sanders),4\npartially_(disambiguation),-1\naunt_orange_(mlp),4\nsindaj,1\nwtf_face,0\nwattacat,1\nhorn_size_difference,0\ndomatriuz,4\njess_(capdocks),4\nmeeka_(spiko),4\nsunspotfish,1\nsiam_fox,1\narmpit_worship,0\nthumbclawz,1\nmonotone_bikini,0\nannie_(lol),4\n1-up_mushroom,0\nmultiple_genders,0\nvio023,1\nnenerhea,1\nframed_picture,0\nbulb,0\nicarus_skyhawk,4\nearband,0\nisaiah,4\nthe_wonderful_wizard_of_oz,3\npathfinder_(apex_legends),4\nmeowth_(team_rocket),4\ntritscrits,1\nmaxwellshiba,1\nuniversity,0\ncheek_frill,0\nunderwear_around_ankles,0\njunglepony,1\nlycalopex,5\nnotsafeforweh,1\ntravel,0\ntribes_of_tanglebrook,3\nmordekaiser_(lol),4\nariozyn-soulcatcher,1\namber-aria,1\nmiss_brush_(brushfire),4\nfilm_(disambiguation),0\nmuffin_top_(bottomwear),0\nblue_gem,0\nunusual_font,0\nhomework,0\nwarrnet,1\ncum_flow,0\nluna_(domovoi_lazaroth),4\nusagin,1\nterror,0\nredvelvetbat,1\ncantio_(lawyerdog),4\nteedraws,1\nnikohowlii,1\ncherry_the_trainer_(redimplight),4\narms_around_legs,0\nitaly,0\nteslajellymon,5\nkiba_(kiba32),4\ngarble_(drowsyboi),4\nunzipped_jacket,0\nkayasamix,1\nra,4\njayrunner_(kitfox-crimson),4\noral_footjob,0\njersey_devil,5\ndrboumboom32,1\ntarakanovich,1\nthe_testimony_of_trixie_glimmer_smith,3\nhead_arms,0\nhermione_granger,4\nceline_(vinfox),4\nsega_genesis,3\nhitori09,1\npiccolo,4\nmomorawrr,1\nasestrada157,1\nstench,0\nmaxine-dragon-787,1\naleximusprime,1\ntriceraton,5\nmosstheopossum,1\npink_clitoral_hood,0\nsalt_shaker,0\ntenides,1\nnuadha,4\nlunarez,1\nrothar,4\n>o<,0\ntoph_beifong,4\ntheterm,1\nstarburst,3\nchristie_(felino),4\nhanzo_(overwatch),4\nyogan,4\nflag_on_structure,0\ngigawix,1\nkami_(kamicheetah),4\nbarboach,5\nthick_foreskin,0\nalduin,4\nwild_west_c.o.w.-boys_of_moo_mesa,3\nranillopa,1\naralyre,1\ncopper_(animal_crossing),4\nsolomon_(johnithanial),4\njiggydino,1\njogging_pants,0\norangebox,1\ngombee,1\nweather_trio,0\nmp5,0\nshamu_meruruusa,4\ntacticalmagpie,1\nkamos_(sylvanedadeer),4\nnafeon,4\ndronesuit,0\npointer_(dog),5\ncountershade_feathers,0\nsplendid_(htf),4\nmental_transformation,0\nbucker,4\nshen_(archshen),4\nfang_the_weavile,4\nchirros,1\nscratte_(ice_age),4\nimaranx,1\nprotest,0\nbrown_thigh_highs,0\nvarollis,1\nselmers_ann_forrester,4\nnearu-senpai,1\nbadcat,1\nshiuk_(character),4\ntext_on_jockstrap,0\nadonis,1\npawronica,1\nshadowthespirit,1\nshoulder_armor,0\ncum_disposal,0\nisal,1\ncarhop,0\nangus_(critterclaws),4\nhooves-art_(oc),4\ndragonith,1\ncups,0\nstepson,0\nmostlymlpanthroporn,1\nrope_leash,0\nangelic,0\namniotic_sac,0\nsrfx18,1\nz-lion,1\nconto,1\naquila_chrysaetos,1\nneoarcadianx,1\njolt_(wm149),4\nickleseed,1\ndespina,4\nglowing_spikes,0\nmardi_gras,3\nflame_(spyro),4\nelwynofastora,1\njegc,1\nstarfox_adventures,3\nlemon_shark,5\nrainbow-flyer,1\nplayjoe2005,1\navali_underfluffies,0\nnick_(ulfhednar),4\njustpony,1\npooding,1\nlan_(zeta-haru),4\neve_(1pervydwarf),4\nmusket,0\nshon_arts,1\nholding_pool_toy,0\npartial_transformation,0\nokatana,1\nian_r_soulfox,1\ncole_(colelucario),4\nreptile_tail,0\nviking_helmet,0\nmarflebark,4\npit,0\nzoodystopia,3\nliz_art,1\nclaudia_(averyshadydolphin),4\nhynvale,1\nletsdrawcats,1\ntojo_the_thief_(character),4\ncloacal_kiss,0\ndelivery_vehicle,0\nholding_ankles,0\npenelope_(sly_cooper),4\nbuck_(ice_age),4\njenna_kutu,4\ncaroline_waters,4\nmidnight_meowth,1\nkickboxing,0\notter_grafitsnake,1\ntatotake_mono,1\nsaikorodekimeru,1\ncoppertone_girl,4\nshenron,4\nwhite_cat_legend,3\npattern_cape,0\ncolin_(anonymous3355),4\nraevi10,1\nrevealing_penis,0\nmyosotis_(gym_pals),4\nmara_kilpatrick,4\nbroken_rape_victim,0\nmarilyn_monroe,4\nleopold_visette,1\nbow_collar,0\nemaciated,0\ndenton,1\ncreamydonuts,1\nfiszi,1\nlone_digger,3\numbrella_cockatoo,5\ncchilab,1\ndeadlift,0\nrodinsinker,1\nnft,0\ntheember,1\nmonotone_eyewear,0\npile_(breeze_in_the_clouds),4\nhimbofication,0\nred_loincloth,0\norange_tank_top,0\ndogget_(doggettdouglasmcdog),4\nlemonkyubun,1\nheadcrab,5\nhigh_collar,0\npip_focus,0\nriver_lakes,4\nmollish,1\nmephitid_humanoid,5\ntrevor_henderson,3\ntoad_(disambiguation),-1\nruby-kila,1\nrainbow_wings,0\nblack_arms_(sonic),5\nfalcon_graves,4\nnose_ring_pull,0\nwatermelon_pattern,0\nspring_sawsbuck,5\nsand_creature,5\noriginal_content,0\nlying_on_floor,0\ngoh_(pokemon),4\nhydralisk_(starcraft),5\nteslawolfen,4\nkingbriarturtle,1\nomithefox,1\nking_andrias_leviathan,4\ngekko-seishin,1\nmodern_bird,1\nglistening_underwear,0\nleaves_in_hair,0\nrainbow_topwear,0\njapanese_tally_marks,0\nfoxiful,1\nblue_rose,0\nunf,0\npreciousrat,1\nsonic_the_comic,3\nsoap_bar,0\nmaya_del_phox,4\nmynerva,1\nfast_sex,0\njudylavernehopps,1\nexhibit,0\nbiohazard_tattoo,0\nslate_(slates1n),4\nquadruple_amputee_portal,0\nvaultlad,1\nspicetail,1\nanitwenty,1\nkitzy_(character),4\nchocobo_tales,3\nred_(redpixie),4\no-ruff,1\ncabinets,0\ncroft,1\nsquirrelman,1\nhyaenid_humanoid,5\nthe_last_unicorn,3\nred_headgear,0\nelytron,0\nswinub,5\nswitcher-roo,3\nclaire_(ponehanon),4\nregice,5\nchoke_hold,0\nstoaty,4\nhuman_on_robot,0\nfist_of_the_north_star,3\nschool_for_vampires,3\nriversausage,1\nbrown_pseudo_hair,0\nim51nn5,1\nrayfkm,1\ntrack_and_field,0\nlow_twintails,0\nnewtype_hero,1\nstirrup_clothing,0\ndinosaur_planet,3\nlucentleader,1\nmira_(animal_crossing),4\nentwined,0\nfievel_mousekewitz,4\nhelen_dish,4\ncynicalmoose,1\nepsilon,4\noneeyewolf_(artist),1\nmethodia_rascal,1\nlameboast,1\njesse,4\ncum_on_boots,0\ntooneyd,1\nbridgie_the_heligator,4\nryken,4\nlei_long,4\nkaelyn_idow,4\nvanilla_(buta99),4\npattern_shorts,0\nblort,0\nbrooks_(anti_dev),4\nheart_a._chicago,4\nselucilia,1\nseadra,5\nqunteki,1\nsavalkas,1\nxvvajra,1\nmartha_(roly),4\nleering,0\nalyona_the_floof,4\nrace_car,0\ngrey_head,0\nhexatoy,5\ninbetweening,0\nskunkfrakker,1\ndisarten,1\nthestrider,1\ntheo_the_zebunny,4\ncrimsonmercury7192,1\nmonsterfuzz,1\nryeono_kemo,1\nargo_(knights_college),4\nmarema_kishin,1\ndianna_(komponi),4\njaquin_s,1\nsheazu,4\nzilla_(airlea),4\nbasicbiscuit,1\nholly_(fvt),4\nkipwolf,4\nsheen,4\nhun-yi_(wherewolf),4\nkratos,4\nslut_dragon,5\nnightmarebearpuff,1\njenette_neils,4\nthel_'vadam,4\nnekonohige,1\nmudbray,5\nunited_kingdom,0\nwinter_deerling,5\ntapu_fini,5\nblak-dragon-boymk2,1\nurine_on_body,0\ntoothy_(htf),4\nmulti_face,0\nwolfwalkers,3\nskutchi,1\ndantera_rina,4\nmuq,1\npucker,0\namalia_sheran_sharm,4\nshiver_(shivereevee),4\nsaint,0\nventox,1\nyuki_(wolf_children),4\nhorny_blue_bowlingball,4\nbuyobutt,1\nli_bing_(white_cat_legend),4\nambient_jellyfish,5\naleron,1\nkipo_and_the_age_of_wonderbeasts,3\nwildmutt,4\nfnafng,3\nsue-chan_(artist),1\nslug_humanoid,5\nmoisteaglevent,1\nmythological_bird,5\njugg4,1\nvincentcc,1\ncaricature,0\nquivster,1\nmelo,1\nhhazard,1\ntaykoe,1\nlewi_(toomuchdynamite),4\nnanuna,1\ntmnt_1987,3\nbooker_(animal_crossing),4\nsenka-bekic,1\nglistening_hooves,0\nbelly_pop,0\n;d,0\nplugged,0\ntfwnocatgirlgf,1\nremert,1\nkyder,1\nscuta_patch,0\nfullbodywolf,1\nsmoliv,5\ntammy_(animal_crossing),4\ndarkfang100,1\nvicious_kitty,4\nmatsuura,1\nresinger17,1\nlamika,4\nstanding_on,0\nfinvi,4\nspier17,1\ntail_bag,0\nbael_(tas),4\nnucahfox,1\nhikagenootimsya,1\nkelvin_hiu,1\nrhoda,4\nhidden_orosubi,4\ndrawalaverr,1\nnero_(naruever),4\nharder,0\nfuwayuuko,1\nmegatron,4\nbrekkist,1\nrokumaki,1\nposing_for_picture,0\nthickick,1\nryn_(stargazer),4\nfull_body_suit,0\ntriforce_print,0\nuselesslizard,1\nside_saddle_position,0\nsolar_gush,1\nqibli_(wof),4\nangeloid003,1\nshampoo_bottle,0\nantinous_(character),4\njitenshasw,1\ndrake_inrelal,4\nheart_as_word,0\nalegrimm,1\ngarret_(pickles-hyena),4\nvicente_(romeodog),4\nsheriff_badge,0\nhanna_fondant,4\npatriotic_clothing,0\npopka,4\ndoctor_dee,4\nrujirublkdragon,1\nbrown_cowboy_hat,0\ntroy_lesage,4\nnsfwquynzel,1\nipsywitch,4\nvoodoo_masturbation,0\npuniwanko,1\nmestiso_(character),4\nsipping,0\nwindwttom,1\nlife_preserver,0\ndweet-tea,1\nat_work,0\ncombat_gear,0\nproboscidean_humanoid,5\nyellow_frill,0\npasiphae_structure,0\narokha,4\nfenix31_(artist),1\npretzel_(piemations),4\ncharlotteray,1\ngoldfur,4\nrosie_(heavensdoor),4\nfaisonne,1\nmazedmarten,1\nreal-life_pornography,0\ndrakkor,4\ntemporalwolf,1\ndicephalic_twins,0\nepididymis,0\nlamia_(lamiaaaa),4\nsoapy,0\narwokom,1\nreverse_penetration,0\nfinding_nemo,3\ntigon,5\nfoxelyn_tyson,4\nbroken_furniture,0\nclover_(totally_spies!),4\nrequested_sex,0\ntail_on_tail,0\nbaleinebleue,1\nangelise_reiter,4\nexamination_room,0\nbeautyfromabove,1\nchub_(disambiguation),-1\nryla,4\nrozga,1\nbastion_(bastion),4\ncempe_(caelum_sky),4\nbenson_dunwoody,4\nmilkie,1\nhotcoffeecat,1\nwepawet,4\nnew_world_oriole,5\nbouncing_pecs,0\nzentai,0\nflashingfox,4\nlyrebird,5\nwhite_neckerchief,0\ntheloanwanderer216,1\ntelem,1\nlatenightsexycomics,1\nrokesys,1\nsignhereplease,1\nvalstrax,5\nskunk_humanoid,5\nbodily_fluids_from_ass,0\nstar_(babystar),4\nxenarthran_humanoid,5\nchelsea_(meesh),4\nkoto0v0haru,1\nwhite_tattoo,0\ndombrus,1\nsrymaimon,4\nsinisterheaven,1\ncasey_hartley,4\ncinder_(cinderfrost),4\ndillon_(dillon's_rolling_western),4\ngreen_flesh,0\ndoughtea,1\nsuiro,1\nleg_restraint,0\nconvent_of_hell,3\nemberwick,1\nsynthia_vice,4\nnyagirl,1\nantler_headband,0\nshoji,0\nhaik,1\nhot_sauce,0\nsherwood,1\nboywiththebrokenhalo,1\nminimalist,0\nmirokuj7,1\nhound_(character),4\nfakerface,1\njoerat,1\nred_choker,0\nmothmandraws,1\nbent_wrist,0\nsans_(underswap),4\nninjago,3\ndusk_acres,3\nfaeseiren,1\nhand_on_sheath,0\nlight_rays,0\nnumbro,1\npawfeather,1\nblack_howler,1\nold_anthro,0\nforced_incest,0\nzangief,4\nmulticolored_membrane,0\nol'_blue,4\nkoda_walker,1\nkai_(fuze),4\naradortd,1\nen_pointe,0\nbandaged_feet,0\npink_inner_pussy,0\ncopper_crescendo,4\nthe_monster_within,3\nsunflowmon,5\nlight_gloves,0\narmy_uniform,0\nmonochrome_(series),3\nhadrian_(character),4\ngarlic,0\nllama_llama,3\nwisp_(warframe),4\nhicane,1\nblue_(limebreaker),4\nsanaki,1\ngazer,5\nso_close_yet_so_far,0\nupov,1\nquentin_(zylo24),4\nsebtheredpanda,1\nsports_pads,0\ncosia,1\nred_belt,0\nsitting_on_own_balls,0\ndr_rabbit_(tomtc),4\nriot41,1\narctic_hare,5\nverakultura,1\nlexi_bunny,4\nral-jiktar,4\nwhitecrow,1\nsaruki,1\nnetto_(uk-brony),4\nstanding_in_doorway,0\nthe_lareme_triplets_(battler),4\nhappycrumble,1\nbubblewolf,1\ntoraisix,1\nworn_down_children,3\nnil,4\ngreen_sheath,0\nphotocopying_self,0\nfrosti_loxxxe,4\ncobalt_(tatsuchan18),4\ntimmothy_arts,1\npussy_pump,0\nstem,0\nmetalslay3rs,1\nvyxen_(tolerain),4\nchimiko,4\nivy_pepper,4\nholding_utensil,0\nautumn_rhapsody,4\nfurred_snake,5\ntext_on_handwear,0\ntwo_tone_tuft,0\negyptian_cat,5\nbeer_glass,0\nifus_(character),4\nnir_(old_design),4\nranthfox,1\nb00mt00b,1\nzeglo-official,1\nmemory,0\nconcrete_wall,0\nashleyzombie,1\nhiroyko_art,1\nberenstain_bears,3\ndark_dragon_(american_dragon),4\nclearing,0\njager-darklite,1\nhexafusion,0\nsakuyako_kyora,1\na5wagyu,1\nwanda_werewolf,4\ndinosaur_train,3\ncarracosta,5\nformalinov,1\nblackpassion777,1\njoyful,0\nsmile.dog,4\nhypohate,1\nrosechu_(character),4\nholding_egg,0\nvirul,4\nbulge_rubbing,0\namboyna,1\nvalkyrie,0\nrasile_murdock,4\ncordell,4\nvoff_akita,4\ngus_the_gator,4\ndoumon,5\ntwo_tone_head,0\nmirroid,5\nmaxwell_(reign-2004),4\nziggy_zerda,4\nsev_(batartcave),4\nragey,4\nm@k,1\nx-38_(maddeku),4\nahekao,1\nfinnegan_lyonhardt,4\nmax_(sci),4\namy_(canisfidelis),4\nphilomaeus,4\nsagaris_uwu,1\nmoromorowephi,1\nkaripup,1\nnachos,0\ndiary,0\nkuroeda_(plus-sized_elf),4\nirving_(100_deeds),4\n12-tf,1\npurple_speedo,0\nmasked_matter-horn_(mlp),4\ncum_in_jar,0\ndaisy_maybelle,4\nscarr_ruddlocke_(harmonydescent),4\nurethral_sound,0\ndar-kuu,1\nhat_flower,0\nlolidonk,0\nthe_smooze,4\nscrubbing,0\nprincess_fiona,4\nlenses,0\nbulk,0\nspike_wolf,4\nrough_the_skunk,4\nbaek-myo,1\njodero,1\nsunderlovely,1\npurple_diaper,0\ntanis_(ghoul_school),4\nwawik,4\narabian_goggles,0\nhead_growth,0\nholding_baseball_bat,0\nmarcus_red,4\nmaria_whiteblood,4\noversized_sweater,0\ndrapery,0\ntau_maxim,4\nfoxy101,1\npeng,1\nabbey_(bcb),4\ninput-command,1\nchikiot,4\nneiliousdyson,1\ngreen_heart,0\ngreen_clitoris,0\nwhitecolt_productions,1\ngem_(doubledog),4\ntied_drawstring,0\nwood_mouse,5\nvaatari,4\nsen_grisane_(character),4\nwalrider_(outlast),4\nrainbow_(artist),1\nwulfiewilk,1\ncass_(nekomimiranger),4\noreocakes,1\nponcle,5\nsheep_mom,4\njaspixie,1\nblue_dragon_(character),4\nbato_the_cyborg,1\nshoe_fetish,0\nino_makani,4\nkemo_nuko,1\nhead_wound,0\nyilx,1\nkittie,4\ntaus,1\npower_symbol,0\npachislot,1\nmike_(sigma_x),4\nprimal_dialga,4\ncovered_navel,0\nmulticolored_speedo,0\ntsuderou,1\nkelkessel,1\ndirty_face,0\nwhite6000,1\neye_makeup,0\nkonomichi,4\nrick_(dream_and_nightmare),4\nintermundano,1\nmiles_(anti-tails),4\nold_man,0\nincarnata,1\ntouching_breasts,0\ndetailed_eyes,0\nalivia,4\ndog_bed,0\nwavyrr,1\nkiriban,0\nhanger,0\nerroremma,1\nsmeargle20,1\nwally_(pokémon),4\nkosperry,1\nslime_core,0\nwobble,0\nfisting_partner,0\nmangolynx,1\nvallycuts,1\nball_penetrating,0\nkamukamu6392,1\nsukarabe,1\nreishuseyu,1\ncaution_stripes,0\nparalee_(character),4\nspaceship_interior,0\nthe-rasp-b,1\nsupermattym8,1\nstar_guardian,0\nsenatorwong,1\ncatmuti,1\nninon_(artist),1\nteddy_porter,4\nlucas_arynn,4\nfurvie,1\nmoozel,4\nlanya_(shian),4\ngoblimon,5\nsouthern_belle,4\ntuba,0\ndesiree_(jmh),4\npepperoni_pizza,0\nmidnight_sparkle_(eg),4\ncomment,0\ndeepest_sword,3\namy_pratt,4\nbra_aside,0\nclicking,0\nmerengue_(animal_crossing),4\nstraps_across_chest,0\npencil_in_mouth,0\nquil,4\nradixpanther,1\ncheshirecatsmile37,1\nastremine,1\nwashcloth,0\nwriting_utensil_in_mouth,0\nlooking_into_mouth,0\ntubasa,1\nair_vent,0\nanotherpic,1\nblack_headgear,0\nitsmorti,1\nwhiscash,5\nj.fbelen,1\ndokuga,4\narwen,4\ngattatta,1\nharvin,5\nlocomotive,0\ngallar_(nnecgrau),4\nmerystic,1\ntribal_paint,0\ngatox_(artist),1\nabigail_shire_(platylot),4\nuken_l,1\nqew123,1\npocky_day,3\ntempestryder,1\nst4rsbucks,1\njose-497,1\nbounsweet,5\nclaw_pose,0\nkajhiro,1\ndmann892,1\nevolution_chart,0\ncum_on_pants,0\neurotica,3\nrenki_blackwolf,4\npubic_hair_peek,0\nmochagato,1\nboxer_briefs_only,0\nmordetwi,3\nrygel_(rygel_spkb),4\ngab,4\nuzi,0\ntitle_screen,0\nkalisster_ssin,4\nrepzzmonster_(character),4\ncarrot_(carrot),4\njack_(disambiguation),-1\nshirano,4\ncobalt_the_unicorn,4\nkadomarco,1\nriff_(riff34),4\nfolding_chair,0\nmike_(mrmellow),4\nremmyfox,1\nlovelytrashpanda,1\nfrilly_legwear,0\nerakir,4\nfelicia_(krekk0v),4\nholding_own_penis,0\nbow_(artist),1\nnon_fatal_vore,0\nfoot_claws,0\nlexy_the_sheep_taur,4\ncilok,1\nhugo,4\nbaelfire117,3\nfallen_angel_(artist),1\ndrawn-sex,1\nspecies_sheet,0\ncamera_phone,0\nladypixelheart,1\nshaak_ti,4\namonomega,1\ncierras,1\nnahadon,1\nalex_(loobka),4\natlas_(jelomaus),4\nworld_of_final_fantasy,3\nqueen_rain_shine_(mlp),4\nkyain,1\ncrotch_rub,0\nmazilion,1\nraised_forearm,0\nkuma25-ya,1\nturtle_neck,0\narctix_(talaniss),4\nball_tattoo,0\ndark_shoes,0\ntouching_balls,0\nimeow,4\nbrewheardt,1\npheanir,1\ntext_on_gloves,0\nlooking_at_computer,0\ncaramelthecalf,1\ntyson_(password),4\nvirgil_(apoetofthefall),4\nphasianus,5\nbig_hamstrings,0\nparcly_taxel,4\nbelly_to_belly,0\nninjapony,1\ngracie_(vixeyhuskybutt),4\nsierraex,1\ngrey-headed_flying_fox,5\nfully_shaded,0\nritkat,1\nlie,0\nshiny_fakémon,5\ntickling_balls,0\nclothing_around_legs,0\nmosaic,0\ndrafthoof,1\nhourlessmage,1\ndipo_(artist),1\nbone_in_mouth,0\nbrindle,1\nlong_the_dragon,4\npussy_juice_stain,0\nsteelph,1\nxlr8,4\nscience_lab,0\nmamandil,1\nadc1309,1\nmalcontentus,1\nobsidiana,4\namber_(femsubamber),4\nkrinele_fullin,4\nxenstroke,1\nalex_(nsf),4\nhisuian_arcanine,5\nmaster_mantis,4\nnailed_bat,0\ncharbold,1\ndunes,0\nkurube,1\npebble_(letodoesart),4\ngreen_ribbon,0\nlewdzure,1\nminna_sundberg,1\nviktorvaughn,1\nafrican_grey,5\nmits_(character),4\naishasoup,1\npride_heart,0\npawniard,5\nsrw225we,1\nyvem,1\nmathythemathy,1\nkarlo,1\ndark_tongue,0\nsaygoodbye-sfm,1\nfenris64,1\nmaxizz,1\nko-gami,1\ndracokaitonsfw,1\nmelonpussy,1\nalchiba,4\nlupiarts,1\nbase,0\nsyrios_(character),4\ndarkman-zero,1\nfukashinx,1\npreyfar,4\nthydris,1\ncorruption_of_champions_2,3\ndark_underwear,0\nimplied_pregnancy,0\nfauxsquared,1\nzziowin,1\ncomplex_vortex,1\ndeadman_joe_velasquez,4\nobedient,0\ncoalt,4\nscratazon_leader,4\nspaffy,4\nandrew_oikonny,4\n3doss,1\ndrakxs,1\nunluckyoni,1\njoushi,1\nrel,4\nlazybutt_(artist),1\nwinged_dragon,5\nshadowfenris,1\ncautioncat,1\njamie_(boosterpang),4\nlt._john_llama,4\nvier_punksterne,1\nshirokuro0,1\nq-blackbun,1\nmommyosha,1\nmud_wrestling,0\nmanor_(bottlebear),4\nfootball_gear,0\nravebounce,4\nisna,1\nmankini,0\ntail_penetrating,0\npink_light,0\ncats_(musical),3\nciwi,1\nunderwear_around_ankle,0\nspookaboo,1\nlive,0\njohara_mombasa,4\nwigwoo1,1\nmulti_tone_scales,0\nmyrsi,4\nlong_shirt,0\ntight_balls,0\nsyntek_(character),4\ngankgoat,1\nlaserkitten,1\nknives4cats,1\njonathan_(character),4\nselicia,4\nmarching,0\nriley_(disjachi),4\nelewdfurs,1\nyen_rin,1\nsnazzamazing,1\n15:19,7\nblitzen,4\nradaq,1\nyagi-no-baka,1\nleg_around_pole,0\ndoeboi,1\nhares_(unit_no04),4\nsagejwood,1\nfili-second_(mlp),4\nlolo_(lomidepuzlo),4\ntaillessbunny,1\nhukeng,1\nextry,1\nhorror_story_(character),4\nrylie_(hypernovagm),4\nfetal_movement,0\nsega_controller,0\nbadday28,1\nfoxx.dott,1\nrome_(feuerfrei),4\naudrey_(woofyrainshadow),4\nbling,0\nasmodeus_(helluva_boss),4\nskittle_(oc),4\nginglymostomatid,5\nfillyscoots42,1\nblackblood-queen,1\npoppy_(justkindofhere),4\naziel_softpaw_(character),4\nprofec,1\niron_aegis,4\njunior_(playkids),4\nfoxie,4\npangurban91,1\nbillmurray,1\nglowing_stripes,0\ntrimming_(grooming),0\ncinemagraph,0\nsuki_yamamoto,4\nbetta_(genus),5\nflood,0\nreddishmaroon,1\norgasm_count,0\nalduin_hearth_(character),4\nmedical_play,0\nflappydog,1\nlf,1\nthe_isle,3\ndalthia,4\nbecca_(bernielover),4\ngerson,4\nflorence_flask,0\nhand_over_breast,0\nkeiren_(twokinds),4\nwolf_j._samuel,4\nskeptical,0\ncherry_(macmegagerc),4\nmicrowave_oven,0\nbobby123,4\ngraduation,0\nwendy_corduroy,4\nargit,4\netherial_bitch,1\nzacharoff_(anothereidos_r),4\nzedzar,1\nbrandon_(cookiefoxbrandon),4\nkatxlogan,4\na-wh-b,1\nrod_steele,4\nclef,4\nhumanoid_fingers,0\ndingaling_productions,3\nheir-of-rick,1\nswift_(sleekhusky),4\neinom,1\nbundle0sticks,1\nsparklepupfaeri,1\ngreyscale_background,0\nmrs._bull,4\nthorsoneyja,3\njana's_lab,1\ndeilan12,1\nanne_barnetson,1\ngourami,5\nludicolo,5\nsnake_(animal_crossing),4\npenny_(plantpenetrator),4\nesterr_(artist),1\njoh29,1\nmagenta_(magenta7),4\ndottipink,4\njimahn,1\nblue_tail_tip,0\ntime_stop,0\nwooxx,1\nthokk_(invincible),4\nmulticolored_bracelet,0\nbakap,1\nwolferno,1\ndick_slip,0\nsimon_(evane),4\nhalf-dude,1\ngavin_(spyro),4\nezalias,1\nggv,4\naqua_teen_hunger_force,3\nratatoskr,4\nlarynkir,4\narkanoego,1\nroasting_spit,0\nstar_censor,0\nsenpuuki-chan,1\nthespicypaprika,1\nfelix_joyful,4\nnyong_nyong,1\npilz_moos,1\ngivuon_(artist),1\nclaire_(bunnybits),4\ngojho,1\nshadow_(copperback01),4\nsalem_(discordthege),4\nsilas_blackwing,1\nmira_bloodstar,4\ncelesse_souris,4\ncostume_transformation,0\nmarie_(oughta),4\nlooking_at_crotch,0\ninverted_(disambiguation),0\navarice_panthera_leo,4\nmash_kyrielight,4\nknight_(nightfaux),4\npurple_hood,0\ndeejayhan,1\nturkey_meat,0\nultra_nyan,4\nfiamme_(citruscave),4\nshippun,4\nbubblegum_(cuddlehooves),4\ndillon_(aaron),4\nlaughing_at,0\natlas_(fusion_h0ss),4\nfermusieboir4,1\nunder_foot,0\nduct_tape_gag,0\norange_t-shirt,0\ncustardalvis,1\nsangie_nativus,4\ntiberius_creations,1\nfirefighter_uniform,0\ntorrent_(elden_ring),4\nstarbirbz,1\nspringbok,5\ndonkey_(shrek),4\nmr._frenzy,1\nsweet_apple_acres,0\nafk_arena,3\nsaria_legacy,4\nred_mask,0\nhanako_(lyorenth-the-dragon),4\ntongue_taco,0\nto_fat_to_fly,1\nyellow_(character),4\ntailsmight,1\nwobblelava,1\nmourn_the_buck,1\nmounted_sign,0\nalgae,0\nmirialan,5\nkilika,4\ntwo_tone_neckerchief,0\ngolf_ball,0\nembereon,5\ndistress,0\nrayoshi,4\nvincian_pride_colors,0\nfury,0\nrifykoh,1\npaintrfiend,1\nelbow_fur,0\nsiman-clifton,1\ndav-19,1\naustralian_flag,0\nbrown_spikes,0\npopo_(ice_climber),4\nthedragonred12,1\nclaudette_dupri,4\nbrawl_stars,3\nentsk,1\nbicycle_helmet,0\ncali'fon_(sinister),4\nkabbu_(bug_fables),4\ngym_equipment,0\nfermata_suzuka,1\nkaptainarr_(character),4\nnantaimori,0\ngat_(character),4\nkourourin,1\notter_humanoid,5\nwood_fence,0\nleafwing_(wof),5\ntape_over_penis,0\nnarinder,4\nsylas_(sylasdoggo),4\nnaginata_katsurino,1\nwizard_robe,0\nmask_with_sex_toy,0\nripper_torsent,1\nfrench_accent,0\ngreen_tunic,0\norchard,0\ncrows_feet,0\nsammy_(buxbi),4\nandy_(nekomimiranger),4\nblack_eye_patch,0\ngojiro_(pak009),4\npresenting_to_viewer,0\ncommon_pheasant,5\noldgreg,1\nprojector,0\ntwi_paww,1\nchance_(bad_dragon),4\nteal_wings,0\noolong_(dragon_ball),4\nsatsuki_kiryūin,4\nnurse_shark,5\nrancid,1\nsunglasses_on_face,0\nnix_(ceehaz),4\nalibiwolf,1\nharp_seal,5\nbrickoven,1\nriju,4\nleg_ring,0\nalonsocas15,1\nwomen_livestock,0\npopped_collar,0\nhand_on_own_foot,0\ncustomer_service_wolf,3\npitu_le_pew,4\nclair_(seel_kaiser),4\nball_crush,0\nsexilydrawn,1\naldo_(my_life_with_fel),4\nbutt_fondling,0\nkappa_spark,1\ncepheus_(lieutenantskittles),4\nharami,1\nanymouse1968,1\ndori-to,1\nslacks,0\nagony_(copyright),3\nbatgirl,4\nabigfathen,1\nplop,0\n..._(artist),1\nneck_floof,0\nsiretoko_panda,1\npaivio_selanne,4\nkibbleztheyeen,1\nit_(stephen_king),3\njukebox,0\nkavaeric,1\nrane_(fluff-kevlar),4\ntwo_tone_skirt,0\nlace_(lacethecutegoat),4\nwanko0487,1\nghast_(minecraft),5\nmale_fingered,0\nchef_kawasaki,4\nclothed_human,0\nfeelferal,1\nbeanie_(roommates),4\nneversoft,1\nhit,0\nlyga,4\ncutebold,5\nniko_(artist),1\nkaffii,1\nnayrin,1\nblackmorass,1\nsnout_grab,0\nkiss_my_ass,0\nm0000rgn,1\namaterasu_(artist),1\ngenesect,5\nbeastmen_forest,3\ndoodle_champion_island_games,3\nbody_takeover,0\nsound_effect_pair,0\nacru_jovian,1\ngreen_sky,0\nshakes_heartwood,4\nhand_on_knot,0\nmech_(mechedragon),4\ngosalyn_mallard,4\nmedivh_(soundvariations),4\nimpressed,0\ncomfortable,0\nhan_moz,1\nsan_renard,1\nwalton_(vdisco),4\nurine_on_feet,0\ncaspar_the_frog,4\ncompression_tools,0\nbaseball_field,0\nmartin_ballamore,4\ntemils,1\norangeflyingfox,1\nwing_wu,4\nnim-nim,1\nindian,0\nsantino_rosato,4\nkira_redpaw,4\nfloramon,5\nblossom_(powerpuff_girls),4\nchestburster,5\ndisk_(daftpatriot),4\nkusunagi,1\ndave_(notkastar),4\ndeaver,1\nmoon_studios,3\nsmokeyocity,1\npresenting_armpit,0\npinklop,1\nsemi-anthro_on_semi-anthro,0\ntattoo_on_chest,0\nflapper,4\nyeenstank,1\nyugia_(evov1),4\nsayakat,5\nhacatiko,1\njasonwerefox,4\ntezcatl-ayauhtli,1\nduolingo,3\nblade_runner,3\nkameri-kun,1\ngiant_food,0\ngrishnax,1\ntail_hair,0\nsugarboy,1\nquarko-muon,1\ngab0o0,1\nhair_loss,0\nsheldon_j._plankton,4\ndaven_(dado463art),4\nmerena_(azaleesh),4\nfurtshi,1\nthaman,1\nwasabitea,1\nkuatabami,1\ndeihnyx,4\nerie51,1\nexawolf,1\nrobertfiddler,1\ncosmicvanellope,1\narmored_boots,0\nshado3,1\nsralivewolfox,1\ndeath_note,3\nexotic_dancer,0\ntrixie_hardfuse,4\nearthworm_jim_(series),3\nmr.guinea_pig,1\nkama_sutra,3\ntranslucent_armwear,0\ndeath_stranding,3\nlobodelamuerte,1\nnijisanji_en,3\ngriotte_(armello),4\n8_ball,0\nbronyant,1\njellybats,1\nstereoplair,1\ncastitas,1\nmargaret_de_campos,4\ndawn_(ymbk),4\nmultiple_hands,0\nredmok,1\neep,0\ntitanic,3\nrape_rack,0\nfierce,0\ninsect_taur,5\nfamished_(artist),1\nword_substitution,0\nberuzumi-m,1\nprint_diaper,0\nmitoro,1\n3rr0rartz.stud10,1\njasmine_(bcb),4\nemerald_swift,5\ntikki_(zonkey),4\ngraduation_cap,0\nuncut_with_slit,0\nwicke_(pokémon),4\ntaleir,4\nyiffalicious,3\nrevealing_(disambiguation),-1\namerican_badger,5\nmoon_(marking),0\ncypher_(diaperedglowwolf),4\nblack_seam_briefs,0\nrezflux,1\nc52278,1\nmikinyaro,1\nleo-wolf,1\nmega_man_star_force,3\ntotolove35,1\nbastet_(houtengeki),4\njuliojakers,1\nfortuna_(unknownlifeform),4\nmaaty-s,1\nglowing_spots,0\ntales_of_sezvilpan_(copyright),3\ntogaed,1\nbun_butts,1\nhriscia,1\ntears_of_orgasmic_joy,0\nwatering,0\nkokuhaku,4\nindependence,4\nimaani,1\ntomiwoof,1\nspotlights,0\nmrrshan,5\nsilver_(shiro-neko),4\nespent,1\nsquirmle,5\ntina_(tonytoran),4\nwam,0\nlykenzealot,1\npec_smothering,0\ntail_removed,0\nbad_idea,0\ngarwaron,1\nwrist_markings,0\njomaro_(artist),1\nm_ikky,1\njunker,4\ncensored_breasts,0\nharmonie_goof,4\nunder_tree,0\nh56_(hikkoro),1\nlanhai,1\ndractaco,4\ndragon_ball_xenoverse,3\nkc_(kingcrazy),4\nrybiok,1\nsexual_tension,0\nrape_pregnancy,0\nmellos,1\ntart_(eto_rangers),4\nphoberry,1\npathia,4\nmatomonstera,1\nkaiser_(ayaka),4\ntheburningdonut,1\nfeet_everywhere,0\nlandingzone,1\ntygre,4\nvelvet_roe_(weaver),4\nalbinoturtle,1\nodst,0\ngoggles_on_headwear,0\ndravening,1\npurple_neckerchief,0\nmaddi_beller,4\ngrossarts,0\nblackriver,4\ntoony_eyes,0\nfilia,4\nfejess96,1\nsmallfryspy,1\ngenji_(animal_crossing),4\nsupersonicsoup,1\nbleeding_eyes,0\nbreech_loader,1\n6_hands,0\nskiploom,5\nphantasy_star_online_2,3\nnanozell_spirit,5\ndragonlove,1\ngraded_belly,0\nlxander191,1\nmanwiththemole,1\nthrowing_knife,0\nakiya-kamikawa,1\nawrpie,1\nmayin,1\nwith_you_and_the_rain,3\nspiked_boots,0\nhilda_(warcraft),4\ncurtains_closed,0\nraising_leg,0\nconstance_everheart,4\nzeke_(crocdragon89),4\npatrat,5\npespeso,1\nniis_(character),4\ndeathheadmoth00,1\ndasher,4\nk'sharra,4\nmoki_(species),5\nmkz_kabeuchi,1\nglowing_glans,0\naudie-gryph,1\nzac_heartfields,4\nokko,1\nmox_sapphire,0\nnikora_angeli,1\nausjamcian,1\nannie_(the_sunfish),4\nbirdy,1\nhana_(jishinu),4\nlulu_(zerach),4\nian_(gothicskunk),4\npheel,1\nrack_(disambiguation),-1\nimprovised_vibrator,0\nforest_of_the_blue_skin,3\nmatching_hair/eyes,0\ncybernetic_face,0\nhodiaa,1\nravios,4\nrevolverwing,1\nhand_on_paw,0\nmeat_hook,0\ntoonstruck,3\nvibrator_under_clothing,0\nhexdragon,4\nalef_(shining),4\nking_of_sorrow_(artist),1\nglistening_hands,0\nsd_(artist),1\noral_egg_insertion,0\norange_armwear,0\nnemesisprime909,1\npawssfm,1\nfauxpawe,1\nshari_(tiger1001),4\nzipper_jacket,0\ncitrinelle_(character),4\ncum_on_own_belly,0\nbozi,1\nhewhoerasesmost,1\nshinolara,1\nsnout_scar,0\ngoldenwolf,1\nmute,0\ndickbitch_molly,4\ndeserter_(artist),1\nqueen_of_spades,0\npanpour,5\nhuntressgammerz,1\nkkron_m,1\nnylonlyon,1\ncalamity_(fallout_equestria),4\nred-crowned_crane,5\njess_(kinaj),4\nmikah_miller_(character),4\nroomba,3\ngintama,3\nsdjenej_(artist),1\ndeamondante,1\nlizzie_green_(dreamworks),4\nmisokemo,1\nrelaxed_expression,0\nhellanoided,1\nglow_ring,0\nfred_(fredrick_brennan),4\nshena,4\npanthro,4\ndelfucko,1\nanhmaru,1\ncracked_glass,0\nfoshu_(character),4\nbuttershe,4\nsafeword,0\naimi_(sleepysushiroll),4\ngrand_councilwoman,4\ncard_deck,0\nvuljath,5\nomni_(sonicfox),4\na-10,0\ndragonblue900,1\ntubswubadubs,1\nchazcatrix_(character),4\nceylon_(stitchy626),4\nblack_bikini_bottom,0\nprint_hoodie,0\nliving_balloon,5\nriushi,1\nj-fujita,1\nsusiebeeca,1\ngiaru_(artist),1\non_breasts,0\nmay_sanderson,4\njay_(drredhusky83),4\npawpadpup,1\ntriangular_anus,0\namerican_dad,3\npulling_up_pants,0\nfauxtellno1,1\nbenji_(bng),4\nhaifisch_ehrlich,1\nsr-71_blackbird,0\nbrown_membrane,0\non_hands_and_knees,0\nmaking_love,0\nprotoqueen_bountiful_(oc),4\npeppercat,5\nflipaclip,3\nveo,1\nberry_pinch_(mlp),4\nkiggles,4\namelia_(yips),4\nfrost_wolf,4\nvareoth,4\nfront_view_butt,0\nbuns,0\nstanding_on_hind_legs,0\nbreast_piercing,0\namatsucat,1\nwolfscar2810,1\nsimple_eyebrows,0\ntaiga_(bungotaiga),4\nnazimi00,1\ndaenerys_targaryen,4\nmetal_wings,0\nsheep_magik,1\npartially/partially_submerged,0\ncement,0\nsex_shop,0\nfinger_wag,0\nkanic,4\ntyrant_(resident_evil),5\ndallas_(gingersnaps),4\nfeces_on_genitals,0\nmatchesyashi,1\nlumpy_space_princess,4\nkotsu,1\nblueberry_jam_(viroveteruscy),4\ndullpoint,1\nholding_beer,0\nbruno_rheinbear,4\nhands_on_shins,0\nbreast_crush,0\ngemkin,1\ntorchy,4\nthemed_object,0\ntunic_(video_game),3\nkrystal_(dinosaur_planet),4\nayuukuro,1\nlockpick,0\njamesab,1\nrobo-fortune,4\nbarryfactory,1\nfinch_(xenoblade),4\nb1_battle_droid,4\nvezerem,1\ncyanu,1\nheart_sunglasses,0\nfyr,4\naiko_(infamousrel),4\n100_percent_wolf,3\nfoxia,1\nrandolph_(randt),4\nking_tangu,4\nwater_tank,0\nkhrunkisillegal,1\nomar_mercado,4\nmeg_griffin,4\ntouching_hand,0\nverde_the_snivy,4\ndeathlight,1\ntitanium,0\nwan_wu,4\nholo_doks,1\nlevin_rhekunda,4\nfraxure,5\nhand_to_mouth,0\nkillian_joy,1\nri_denueth,1\ngrotesque_genitals,0\neerie_(thekite),4\nradiograph,0\nshigehisa_nakaue,1\napostle,1\nmatthew-x,1\nklefki,5\nhiding_behind_object,0\nelizabeth_báthory_(fate),4\ncelestialwolfen,1\nmad-project,1\naoi_(ukenya),4\nneck_torture,0\nheart_collar,0\nreflective_body,0\nscp-049,4\nevil_celestia_(idw),4\nsilverclaw1,1\nrelight,4\nholding_tablet,0\nmuttasaur,1\nlei_(skecchiart),4\neupharrow,1\ncharem,4\nbulkmon,5\njalle,1\npanties_removed,0\nwalrein,5\ntoonpimp,1\nknell_bell,1\nhead_lick,0\nraised_claws,0\nmojo_jojo,4\njoey-darkmeat,1\nwatery_eyes,0\nfae_(disambiguation),-1\nshen_shepa,1\nkatherine_(caelum_sky),4\ncow_and_chicken,3\nleaning_to_side,0\ntiifu,4\ng-ma,4\nmiga,1\njohn_silver,4\nwestern_dragon_humanoid,5\nhondra,4\ntygra,4\nentwined_arms,0\nspeckles,0\nk0ira,1\nmanipulation,0\nclairen_(rivals_of_aether),4\nalexander_grayhaven_(characters),4\nfiddagracepaws_(artist),1\nwhite_back,0\nguppy_(artist),1\njaveloz,4\nsalz_sop,1\ndark_clefita,1\nunusual_tongue,0\nfriisans,1\npreparation,0\ndelos,5\nashsky,1\nslasheramaya,1\nchubby_feral,0\nmetal_teeth,0\nchuuta_(pixiv),1\nmeier_tennant,4\nfabian,4\nhomeless_dog,4\ntentacle_pregnancy,0\nprosthetic_tail,0\nclerian,1\nbucky_o'hare,4\ntai_(changing_fates),4\ngnell_(inkgoat),4\ndhstein,1\nbreasts_are_the_best,3\nsorayasha,4\ncodymathews,1\nflowing_mane,0\nriku_tachibana,4\nirma_langinstein,4\nhee-na,4\neye_bulge,0\nsonomatic,1\nneck_brace,0\nlottie_(animal_crossing),4\nwarped_flesh,0\ncaltsar,4\naryll,4\nliquiir,4\nfreeedon,1\nheart_stream,0\nwereursine,5\ndahsharky_(character),4\nmegan_thompson,1\nbalthromaw,4\ndentist,0\nlizzy,4\njohnofe,1\nfileossur,4\nkoalcleaver,1\nsurf's_up,3\nunited_states_forest_service,3\nblood_on_teeth,0\npurple_outline,0\nyukimushi6,1\nshane_(shane),4\nmilenth_drake,4\nruttingstrap,1\nkrystal_appreciation_month,3\ngeorge_(george701),4\ntalking_angela,4\nblue_ball_gag,0\nshikaruneko_(series),3\nsoot_(bleat),4\nlarge_tongue,0\nsnugundies,1\nhandymonsters,3\ncoronta_(tenshoku_safari),4\ntrollhunters,3\nerise_(talarath),4\number,4\ndawntrotter,1\nvarian_nye,4\nscas,1\nfood_carrier,0\nperromalo,1\nshe-hulk,4\nplanet_vore,0\napollo_(caldariequine),4\nnikozoi,1\nwiping_forehead,0\ngen_kiryu,4\nstretch_(sound_effect),0\nkaltag_(balto),4\nzeke_the_zorua,4\nshaming,0\nmorning_sex,0\nlicking_sound_effect,0\npinny_lane_(mlp),4\nholding_fan,0\nxxzero,1\nonoskelis,4\ndetention,0\naldus,4\nforearm_muscles,0\narthur_(lapinbeau),4\noscar_(braford),4\nwhitecrocus,1\nminx_kitten,4\nmetal_slug,3\nportugueselynx,1\nlittletale,3\nsonson-sensei,1\nhornygraphite,1\nkofomy,1\nconal_(character),4\napadravya,0\ncropped_tail,0\ngharial,5\nsirachanotsauce,1\nchubbyjam,1\nkebab,0\njay_wolfe,4\nlifty_(htf),4\nruby_(ultilix),4\nchiptune,0\nforeheads_touching,0\nyae_miko,4\npartially_visible_vulva,0\nseviyummy,1\nthendyart,1\ncum_from_spanking,0\npolo,4\ndot_executables,1\nsyrup_(artist),1\npaw_shot,0\nr4,1\nluca_(doubledog),4\nritt_(character),4\nlapinousmalice,1\nswimsuit_down,0\nchaossabre,1\nitreyu,4\nbryce_(angels_with_scaly_wings),4\nlotte_(cobalt_snow),4\njohnny_(fuze),4\npokelai,1\nbaking_tray,0\ndeebo_(zoohomme),4\nalbelwolf,4\nalexalaz,1\ndavidsone,1\n18_(artist),1\nzeckle,1\nlilo_pelekai_(experiment),4\nshred_(shonuff),4\npurpleakumu,1\nayrrenth,4\npramanix_(arknights),4\nkajin-sama,1\nrebecca_(jamearts),4\nshale_(insomniacovrlrd),4\nnageruamado,1\ntallion,1\ninvertebrate_proboscis,0\ngreen_neck,0\nduster_coat,0\nbenny_(kibaru),4\nthe_dragon_prince,3\ncali_(nastycalamari),4\nroostax_wilddog,1\ndark_flesh,0\nsiamese_fighting_fish,5\nsterr,1\nbooshie,1\nms._pennypacker,4\ntome,0\nabasirisippo,1\ntwo_best_friends_play,3\nfallinnight,1\nzitz_(battletoads),4\nmillicent,4\nnystemy_(artist),1\naliscik,1\nel_shaka,1\ntardar_sauce,4\npuuzo,1\ndaniel156161_(character),4\nhidden_mickey,0\ndukey,4\nsega_dreamcast,3\nfive_nights_at_candy's,3\nobsidian_(character),4\nuleezoo,1\nthe_cajun_fox,4\nariesredlo,1\nrnarccus,1\nmon311,1\ndaria_arbuz,1\ngin_(ginga),4\ndegen3d,1\njetta_the_jolteon,4\ngreen_outline,0\ncrocobu,1\nyaoimeowmaster,1\nappaloosa,5\nyosh!_comics,3\naftermath,0\neverest,4\ndare,0\nthomas_james_o'connor,4\nipomoea_(oc),4\nmrflaptastic,1\nalcohol_enema,0\nforsen,1\nefudek,1\ndragon_fruit,0\nwall-e,3\nspecterdragon,4\ntharja_(justkindofhere),4\ndragon_ball_gt,3\nfidough,5\ntail_bulge,0\nsessa,1\nnirsiera,1\nmiss_sunflower,4\nnuclear,0\nbard_(lol),4\nsadida,5\nbowling,0\ncahoon,1\nfatchaos,1\nhigh_boots,0\nschmozy,4\narabic_text,7\nkwzu,1\ndogg,1\nrabies_t_lagomorph,1\ngaruganofu,1\nhypno_eyes,0\nmulti_taur,5\nbro_wolffox,4\nwallflower_blush_(eg),4\nbet_condition,0\nflute_dragon,5\nyacteruc1,1\nchris_t._snuggleskunk,4\nnatricle,1\nelbrar,4\nkincaid,4\npuzzle_piece,0\npoleaxe,0\nyvette_(kilinah),4\nkobraa,1\nu.s._navy,3\nmommy_alpaca,4\nfivethirtyeight,3\ndaxterdingo,4\ninhale,0\nkonarofu,1\nminion_(despicable_me),5\nservice,0\nholding_beach_ball,0\nkonda,1\nmarlon_(marlon.cores),4\nsilvaentys,4\ncalendar_graphic,0\nfishjob,0\npickle-pee,4\nwhite_wall,0\nultra_necrozma,5\npeeps,3\nblepwep,1\ndemon_royal,1\ntfsubmissions,1\nmechanicalstage,1\nscale_growth,0\njellcaps,1\nevzen_(dreamkeepers),4\nblack_hanekawa,4\ngb_of_bs,1\nfannfare,1\ntrip,4\nsore,0\nthreeworlds,1\nlovie_(anjuneko),4\nforce_field,0\naudrey,4\nomnii34,1\nlow-leg_panties,0\ncjfurs,1\nblushing_ears,0\ntippy_toes,0\nlessthan3,1\nkatherine_(appledees),4\npoisoned_(artist),1\ndive,0\nniucniuc,1\nfoxretro,1\nmesh_top,0\nmuffinshire,1\ndissolving,0\nkoba_(koba),4\nboris_the_friendly_wolf,4\ncairo_(armoredkangaroo),4\npunxsimon,1\nsaddle_rager_(mlp),4\nthermos,0\naciag,1\nnievelion,4\nvanillayote,1\niandragonlover,1\nsadayoshi,4\nwhite_sky,0\ncirno,4\ncan't_enjoy,0\nterrible_terror,5\nninjara_(tmnt),4\nmonotone_high_heels,0\nlogo_parody,0\nkoginoro_28,1\nfancomic,0\nmr._krabs,4\nblue_beard,0\ngreen_spines,0\npeanut_(food),0\nlooking_at_foot,0\nmeditating,0\nanubis_(smite),4\ncarmine_embershard,4\nrusty_(darkrusty),4\nevgenydion,1\ncottongryph,1\nrenee_(jasen_tamiia),4\nthejinxess,1\nrichardrodney,4\ngigantic,3\nsnap_clip,0\ngame_poster,0\ntonitrux,4\nmelnitsa,3\nissilora_(artist),1\nchris_(totesfleisch8),4\nthistle_(evilymasterful),4\nwater_drops,0\nsergioghi,1\nlullaby_of_the_lost,1\nrouge_the_werebat,4\nforebucks,0\nv-i-e,1\npornthulhu,1\nenorach_(0laffson),4\nvader120,3\nblacksaikou,1\nblack_head,0\ntyunre,1\ngalactabee,1\n39coit,1\ntorfur,1\nbonfire_(bonfirefox),4\nchild_abuse,0\narms_restrained,0\nkagase-san_(sakamata),4\nglacial_(wintrygale),4\nprotoss,5\nbleok,4\ndrilbur,5\ninika,4\nroast,0\nstun_gun,0\nnell_two,1\nzeusralo_(character),4\nokawari_jiyuu,1\nnite_(danandnite),4\noneobese,1\ndork,0\npig-fish,1\nsirtroglodon,1\njellyfishjulep,1\nkog'maw_(lol),4\nnobody_(artist),1\nnolow,1\nshizuka,4\naria_(walnut225),4\ngaram,1\nkissing_booth,0\ndonphan,5\nladygreer,1\neye_penetration,0\nmochizuki_tooya,1\nosiris,4\npygmy_goat,5\ngladion_(pokémon),4\nglowing_weapon,0\n9-puzzle,1\nsabrina_(housepets!),4\ncamazotz,4\neclipse_silverwolf,4\nwashing_dishes,0\navezola,1\nrevolver64,1\nkorafuro,1\nrizzyofen,1\nmrscrambled,1\npapa_soul,1\nzinpatink_m,1\nwhite_jockstrap,0\ncorablue_(character),4\nfootless_legwear,0\nsitting_on_back,0\nbeastmen_(warhammer),5\nriley_(rileypup),4\nindigo_(artca9),4\nnorse,0\nslanted_eyebrows,0\nsoarinarts,1\ncriminalbunnydraws,1\nmusky_armpit,0\ngeebie33,1\ntolnga,1\ntasmanian_devil_(looney_tunes),4\ncane_(fairy_musketeers),4\nfish-ears,1\ndark_nails,0\nyukiharu_nyawate,1\npattern_leggings,0\nttherandom,1\nsasayama_akira,4\nrobaato,1\nlight_thigh_highs,0\nbafbun,1\narrow_(anatomy),0\ncourtroom,0\nbeatriz_rebollo,1\nmarijuana_blunt,0\nogremon,5\njotunneko,1\nbluewolfavenger,1\nkyte_frost,4\nlicheart,1\nburk_(benzo),4\nraster_dreams,1\nflowing_tail,0\ndoc_icenogle,1\nafter-der,1\nzoy,1\nyax,4\nstajan,4\nthe_deep_dark,3\ndenike,1\ngohami,1\ngolden_ticket,4\nandalite,5\nholding_nose,0\nirgramfox,1\nbravest_warriors,3\ntwisoft,1\njohn_(bunybunyboi),4\nexsys,1\npinsandquills,1\no3o,0\nopblaaskrokodil,1\nrhade,4\npaperwork,0\ncalua_napage,4\ngod_rays,0\npettankon,1\nxxxx52,1\ndante_lovett,4\nseregios,5\ngalactic-overlord,1\nmisty_the_mouse,3\ngrandmasterfdc,1\nmoi,4\nclauschristmas2,1\ntim_(rain-yatsu),4\nadagadeprata,1\ncrosswalk,0\nburger_king,3\nimplied_nudity,0\nmikhail_alkaev,4\nmochi-squish,1\nasiri,4\narofexdracona,1\neidilon,4\nlatex_underwear,0\nnight_light_(species),5\nlittlegeecko,1\npants_pooping,0\nmindes_(grimart),4\nloss_of_self,0\nyellow_glasses,0\nazzunyr,1\ndominant_in_chastity,0\nwilliam_birkin_(resident_evil),4\npink_genitals,0\nsweaty_clothing,0\nlerose,4\npinkmoth,1\nmini_flag,0\nskully_(skully),4\nsakuri_rainne,4\ncrushed_object,0\nkandi_(bracelet),0\njason_(mr5star),4\nleaf_print_clothing,0\ntoye2004,1\nsnow_leopard_taur,5\ngrabbing_partner,0\nkoray_(clockwork_journeys),4\nnicky_(thea_sisters),4\nathom,1\nbirch_tree,0\ncheckered_wall,0\ndukebarbatos,1\nmaty,4\ncaedis_animus,4\nglistening_collar,0\nbel_(cyancapsule),4\nholding_chalk,0\ngumiboie,1\ntimothy_(zer0rebel4),4\ncontortionism,0\na-pony,1\nsilverfang_the_steel_wolf,4\nkela_ariolima,4\nmdwines,1\nshadi_(0laffson),4\ntomukemono,1\nimprisonment,0\natomic_wedgie,0\ncensored_anus,0\nflamingtitania,1\nlaundry_room,0\nnezha_(warframe),4\nback_at_the_barnyard,3\naquabunny,1\ntwirling_hair,0\napple_macintosh,3\ngroup_kissing,0\nsaitama_(one-punch_man),4\n10:13,7\ndevon_(misterstallion),4\nmenacing_approach,3\nneerishia,4\nthwackey,5\nraised_underwear,0\nholding_footwear,0\nmotor_scooter,0\nsonic_rainboom,0\ngrammeowster_chef,4\nanamosus,1\nlotion_cat,4\nkursed_(star_fox),4\npina,1\nlolzneo,1\npink_speech_bubble,0\nhappy_feet,3\nbakamaokun,1\nanchors_(artist),1\ntizoc,4\ncircle_censor,0\nsqueezing_butt,0\nlilandy,1\nstomach_bulging,0\nmafekoba,1\nmorbidly_obese_intersex,0\nizumi_(artist),1\nnari_oakes,4\nrawr_(tendril),4\nnarrow_beak,0\nsmokey_bear,4\nstick_in_tail,0\njared_(peculiart),4\nromanginzburg,1\npux,1\ntwopapers,1\nalynna,4\nnorth_shepherd,4\nbleating,0\nhook_penetration,0\nmiranda_arqayla,4\nthor_(marvel),4\ndjijey_hellfire,4\ncleo_(theredghost),4\nrockyhardwood,1\nduncan_roo,4\nfi,4\nbri-sta,1\nperching,0\ngorsha_(character),4\nkestrel,5\nside,0\ndebra_diaz,4\ndark_end_(stitch!),4\nshroomish,5\nchevy_dahl,4\nhatsuen_kikan,1\nlogan_the_fox,4\ntire_swing,0\naxel_(lazydergenboi),4\nmonsterdongles,1\npusheen,4\ndakota_(dark_stallion),4\ngeisha,0\nmeeting,0\nthegalen,1\nikugo_(character),4\nvirmir,1\nbeautifly,5\nafrican_elephant,5\nlunatone,5\nmoody,0\ncutiepoppony,1\nvikalh,1\ncrab_stealing_clothing,0\ntsuchi_dash,1\nrivalry,0\nmess1ah,1\ninuki_(character),4\nlosian,4\nshadow-anubis,4\nlure,0\nhornystorm,1\nemail,0\nblack_dragon_kalameet,4\nsydneysnake,1\nbiglovealicia,1\nshiarra,4\nexhaust,0\nlocks,0\nmandarax,4\nkra-ra,4\nincendax,1\ne-series,5\nhazelmere,1\nrerepop,1\narchway,0\ngenderfluid_pride_colors,0\nbush_viper,5\nlotion_bottle,0\nhillside,0\nskyler_(fuze),4\nkanekuo,1\nbearp_(artist),1\nkoalarobot_(artist),1\ntemmie_(deltarune),4\ngoo_penetration,0\npapayamist,1\nmennnntaiko,1\ncum_in_top's_ass,0\ninakamichi,1\ncruel_pred,0\nashleigh,4\nukrainian_flag,0\nnion,1\nit_ain't_gonna_do_itself,3\nscuttlfish,1\nfelicity_(animal_crossing),4\nsheycra,1\nmaude_(bts),4\nhazel_(the_sword_in_the_stone),4\ndobu_(odd_taxi),4\nbent_horns,0\nlicking_mouth,0\nmobian_bat,5\nbasilllisk,1\nzdrada_(helltaker),4\nscratching_butt,0\nmedieval_armor,0\ndrackonthanri,4\naruse,1\nshanher_(character),4\ncamo_(breeze_in_the_clouds),4\nbig_arms,0\nbray_(lucyfercomic),4\nflirting_look,0\npenis_horn,0\nducky_(the_land_before_time),4\nheart0fink_(artist),1\nalex_(totally_spies!),4\nimminent_fight,0\ngrey_wall,0\nmeteor_shower,0\nsuper_mario_world,3\nsnowball_fight,0\nthroat_hug,0\ncandykittycat,1\navielsusej,1\nbarber,0\nmegumin_(konosuba),4\nveterinarian,0\nthispornguy,1\ninflatable_ride,0\nfelicesta,1\ndixie_seterdahl,4\ncum_on_shoes,0\nashfur_(warriors),4\nnargle,4\nlisp,0\nhollow_(bleach),5\nvaiderman,1\nkuroneko_waltz,1\ntamamo,4\nzephery_hughes,1\nshandra_(renthedragon),4\nspider26,1\nruhje,1\nmappy_(character),4\nimplied_erection,0\ncelebrated_earl,1\nfalcomon,5\ndonguri,1\ntokenworks,1\ncoochan,1\ndressing_up,0\nltr300,1\nless_(artist),1\nabe_(artdecade),4\nscott_ryder,4\ncowering,0\nily_sign,0\nleg_humping,0\ntwisteddragon,1\ndrawstring_bottomwear,0\nfozuna,1\nhilda_(series),3\nyellow_necktie,0\nmcerror,1\nbow_shirt,0\nbahn_(slapstick70),4\nweketa,1\ntheseus_(hades),4\nbrown_back,0\nlapel_pin,0\nkurt_the_thunderfloof,4\ngao_(gaokun),4\nshinnie_(shinigamigirl),4\nrainforest,0\ntavin,1\npoof_effect,0\nvelvet_(amberdrop),4\ncallitrichid,5\nmanji_luo,4\nsam_(totally_spies!),4\npride_color_face_paint,0\nhat_over_eyes,0\nwarlordhunter01,1\nsasha_(trigger12),4\nkobold_dellarte,1\njangmo-o,5\ntanner_james,4\npocky_in_mouth,0\nansel_(anaid),4\nray_(disambiguation),4\ntatiana_(sorcererlance),4\ncytrusawa,1\npython_nu_kappa,4\nboxtop,1\nkatlek,1\nixkouu,1\nslapping_self,0\ninstrument_(disambiguation),-1\nepitaphkho_(artist),1\ngalen,1\npixie_(thekite),4\nferalbeans,1\njacques_(fuze),4\nfellatio_request,0\narteficialtrees,1\nscribs03,1\nstraw_(cstrawrun),4\nord_(dragon_tales),4\nrb,1\n4ere4nik,1\nwetchop,1\nlight_inner_ear_fluff,0\nlumixdragonfey_(artist),1\nibis,5\ntopaz_(sonic),4\ngenital_jewelry,0\ninteglol,1\nelvor_xaetri,4\nbutt_massage,0\nblooregard,4\neldrick_pica,4\nstoutland,5\nthumbs_down,0\nfloverale-hellewen,1\nfemale_operator,4\nrimworld,3\npoofy_hair,0\npurple_flesh,0\ndazen_(character),4\ntoque,0\npinky_(animal_crossing),4\nannabelle_(all_dogs_go_to_heaven),4\ntachi_(kaptcha),4\nblue_eyelids,0\neliott,4\nsawyer_(ferobird),4\nwolfluffyfly,1\nkofi_(kofithechee),4\ngaroh,4\ncoffeesoda_(fursona),4\nsquint_(leobo),4\npasschan,1\nindoors_sex,0\ncoffaefox,1\nlsd,0\nsuce,1\nholding_bouquet,0\nferdinand_(film),3\nalamander,1\nflan,0\nflyer_(pixiv),1\nbleak_ambiance,0\nwafflebond_(artist),1\ntiny_feet,0\nred_frill,0\ncoal_(maririn),4\nartemis_jackalope,4\njen_foxworth,1\nseaweed_toast,1\ncafe_plaisir,3\nfood_shot,0\nbacon_(baconbakin),4\nrudolph_the_red-nosed_reindeer_(tv_special),3\ntorn_sleeves,0\nrorero,1\nscobionicle99,1\nh_futako,1\nbuckshot_(metal),4\nshark_puppy,5\nyogurpodrido,1\neura,1\nsirocco_zephyrine,4\nremoving_underwear,0\nschnuffel,4\nramon_nemeris,4\nzofia,4\nhumanoid_tail,0\nswingset,0\nhecking,1\ngnoll_(monsterpunk),5\ngundanw,1\nbedroll,0\ndaisy_mae_(animal_crossing),4\nboosterpang_(character),4\nwoody_woodpecker,4\nfurvidd,1\nhan,4\nstrikedramon,5\nsylvari,5\nmillie_(sayuncle),4\nstripey,0\njason_takayama,4\nguss_(vju79),4\nnekonote,1\nmavezar,1\nsahara_(nicnak044),4\nwriting_on_foot,0\nneck_bell,0\nastromech_droid,5\nsmokedaddy,1\ntwo_tone_membrane,0\nisatan,1\nlionkinen,1\nruark,1\nemetophilia,0\npranky,1\nfluffins,1\nbf_109_(hideki_kaneda),4\ncreation_trio,0\nbunny_ears_(gesture),0\nshimm,1\nkaxiota,1\nquasart,1\nzenia,1\nstroller,0\npearboy-ooh,1\n35:18,7\nkivu,4\nmummified,0\nmina-mortem,1\nmistake,0\nattached_sheath,0\ngomdepp,1\nahornsirup,1\ntillie_(vimhomeless),4\nsoul-silver-dragon_(character),4\ntech_control,0\nplushkinn,1\ndahbastard,1\nrchammer,1\nthe_eye_of_ramalach,3\nlillya_(biggreen),4\n11:17,7\nbub,4\nxxmileikaivanaxx_(artist),1\ncc0,3\ndakota,4\nredeyedgazer,1\nchick,5\ndoug_(101_dalmatians),4\nromancruzzz,1\nbanicsidy,1\nlexorez,1\ntheroflcoptr,1\noasis_(character),4\nsmog01,1\nsami_demarco,4\ntwo_tone_spots,0\nrino99,1\ncharacter_chao,5\nscar_reach,4\nnisharu,1\nundnift,1\nbluemaster,1\npussy_to_ass,0\ntoe_talons,0\nwash_rotom,5\nhakya11,1\nchomper_(the_land_before_time),4\nkooper,4\nceratosaurid,5\nheart_between_text,0\npussycat_(o-kemono),4\ntext_on_container,0\ndekatanu,1\nhavesomemoore,1\ndrowsy,0\nkyo_(stargazer),4\nnara,4\nwaidan_kai,4\nhand_on_another's_belly,0\ntender_taps_(mlp),4\nchalk_(oc),4\nanal_threesome,0\nblaine_edan,4\ntitty_vixen_(character),4\ntext_with_iconography,0\njinn,5\nmaomi_(doomdutch),4\nmnty_(character),4\nmr_happy,1\negg_in_uterus,0\ndevilman_(series),3\ncum_on_legwear,0\nplna,1\nyuudai_(character),4\ntwintailssfm,1\nroman_clothing,0\nspinnerets,0\nmoob_grope,0\npoison_lily_(kazudanefonfon),4\ndeceased_bunny_(artist),1\nflying_kick,0\npico_(f-zero),4\nsitting_on_branch,0\nbig_spikes,0\nbrick_break_after_dark,1\nyellow_speech_bubble,0\nareku,4\nriolutiny,1\nfossil,0\nbraided_fur,0\ncassidy_(ruth66),4\nlu123,1\neon_(typhlosion),4\nfinneon,5\nx3no,4\nbody_scars,0\nclownboy1,1\nmono_ka_tarl,1\nivnis,1\nfergus_(101_dalmatians),4\nkaceuth,1\nhandwritten_text,0\ndewstar_(artist),1\ncreamsicle,0\nholding_elbow,0\nimmortality,0\nholding_platter,0\ndrawain,1\nelma_(tenchi_muyo),4\ncarmen_(patrol_03),4\nliving,5\n9de-light6,1\nscarlet_rose,4\narcshep,4\nmilkymaiden,4\nweimaraner,5\nblade4649,1\nrunar_(ffxiv),4\njollyferret,1\nzaccai,4\nthe_story_of_ferdinand,3\nbroken_sword,0\nconductor,0\njuandelcoyote.inc,1\norange_sweater,0\nhelium,0\npaw_tattoo,0\nseraphie,5\nmazda,3\nlimp_arms,0\ntahoma,1\ntennis_ace,3\nglance,0\nnat_the_lich,1\nrainbow_stripes,0\nsky_bison,5\ncybergoth,0\nswadpewel,1\nzoey_(senip),4\nraised_bra,0\nr.o.b.,4\nfluorite,1\nalystaircat,1\nmoomintroll,4\nerika_(meesh),4\nruka_vaporeon,4\nchumpy,1\nsky_(sky),4\ncans,0\ndallas_(101_dalmatians),4\nstickmanwww,1\nporon53,1\nteo_(hayakain),4\nartimus_(character),4\nsun_dragon_bal,4\ndeanka,1\nlaobai,1\ncynthia_(david_siegl),4\nholding_riding_crop,0\njessie,4\nde2w,1\ngracie_films,3\nsonokido,1\nlakeside,0\nkuro-gane,1\nchad_(meme),3\ntext_on_sports_bra,0\npizza_delivery_carrier,0\nhitmaru,1\nxbox_logo,0\nviki_(vikifox),4\nruslorc,1\nx-tian,5\nintense_stutter,0\nred_blanket,0\nsenorkah,1\nmagniym,1\nhair_bow_(anatomy),0\npenetrable_sex_toy_in_mouth,0\nnosugarnohoney,1\nllamama,3\ncloudburst,4\ncoltsteelstallion,1\nskunkdude13,1\nyuffie_kisaragi,4\n474,1\npurrl_(animal_crossing),4\nkrokodos,1\nbook_whitener,4\nshiko,4\nspy_fox_(series),3\ncrypticfigurines,1\ndiamondhead,4\ntamura_kazumasa,1\nmagic_jackal,4\ngoozie,1\nhaunted,0\nally_(alxias),4\nwhiteleonard,1\nburstfire,1\npoem,0\nnoodle-lu,1\ngaytor,5\nfluffy_butt,0\nsilver_draw,4\nschpicy,1\naas,1\nblack_mouth,0\nharriet_(harry_amoros),4\nbose_(character),4\nniko_(animal_crossing),4\nace_(tuftydoggo),4\nbeauwolfhusky,4\nspilling_drink,0\ndocmoreau,1\nmona,4\ngattles,1\ngreen_speech_bubble,0\nchoi_yujin,4\ninkmaven,1\npink_bow_tie,0\ndanwolf15,1\ncum_feeding,0\njorunna_parva,5\nhand_on_own_elbow,0\ntwo_tone_text,0\nkaizooki,1\nred_mouth,0\nfelix_(disambiguation),-1\nhiroyko,4\nmabaya,1\nquivers-for-arrows,4\nprecum_from_penis,0\nsaliva_on_finger,0\nopen_belt,0\ntex_(desertmotels),4\nenya_(littlemutt),4\nkanaya_maryam,4\nbroken_antler,0\ndemeterservant,1\nvelveteksotica,1\nxscar10,1\nnetsuko,4\nkonata_izumi,4\nkatida,1\nfoxbtails,1\nferrari,3\niotran,3\njessica_elwood_(character),4\nflufflix,1\nshadowweasel,4\nbruh,0\nblazingifrit,1\nkai_the_cervine_ghost,4\ntyra_reckks,4\ncosmicdanger,1\nkimber,4\nloceri,1\nlip_stud,0\nthe_humbler,1\narcnod,1\nforefinger,0\ndandruff,0\ngirdled_lizard,5\nrainbow_boa,5\nsoledad_(atomic417),4\njennifer_nyte,4\ncasual_urination,0\nbubble_lee_(character),4\nmascara_maroon,4\nmarina_datillo,4\ndespairchanpu,1\nmulticolored_eyewear,0\ngold_eyeshadow,0\nophiotaurus,5\ndoolyboobieboy,1\narkveveen_(artist),1\nrita_skopt,4\nhaduko1,1\nscuba_diver,0\ntitanfall_2,3\nandisun,4\nzan_(zantanerz),4\nlewdango,1\ndrip_(dripponi),4\nviolet_seren,4\nsakura_wadagaki_(odd_taxi),4\nbulluppa,1\njenny_(capt_hairball),4\npoppy's69,1\ndark_talons,0\ndua_(bahnbahn),4\nlunarclaws,1\nazura_(azura_inalis),4\nsori_(ara_chibi),4\nsaloo,1\nmelkah,4\ndoraemon_(character),4\nplessie,4\nyuji_uekawa,1\nabby_sinian,4\ncymek,1\ngrey_(character),4\npoland_(artist),1\nlunara_(warcraft),4\nadoption,0\nerickredfox,1\ninspection,0\nazura_racon_(fursona),4\nberi_(sqoon),4\nmiralle,4\ncrystal_empire,0\nalmar,1\nmod,0\nvault_boy,4\nstu_(artist),1\nsora_takenouchi,4\nmeepo_the_geomancer,4\nero-bee,1\ninubashiri,1\nancient_greece,0\nbig_gag,0\nultrafox,1\nreyes,4\nawarebear,1\ntoontown_corporate_clash,3\nginsingoo1,1\ntalehnyan,5\nh_rin0u0,1\nskyspeardw,1\nmidnight_snowstorm,4\nvex_(44vex),4\nhoya82,1\nrobot_penis,0\nsnackcracker,1\nradioactivemint,1\nzipper_shorts,0\nyong-sil_(ryonggay),4\ntreble_clef,0\nty_the_tasmanian_tiger,4\nbear_2key,1\nsashaviel,1\nashesg,1\nkunaru,1\ncrushed_micros,0\ntranslucent_socks,0\ntricorne,0\nnightglider,4\nbeau_(luxurias),4\njulia_autio,4\npouch_(clothing),0\nspoogiehowl,1\nlight_paws,0\nunderwear_crabs,0\negg_from_cloaca,0\nholt-odium,1\nnamielle,5\nmarcus_of_the_cloud_forest,3\nomochiwotakusan,1\nunseen_partner,0\nflag_underwear,0\npickle_juice,1\njolly_jack_(character),4\nfeatureless_penis,0\norange_bunny,4\nosamodas,5\nkp-yoshi,1\nyorkshire_terrier,5\nkinkmasternero,1\n20pixels,1\nsexy_doll,1\ndshou,1\nrandochris_(character),4\nfighting_foodons,3\nchloroform,0\ntryst_entangled,1\n1_arm,0\nliebeslied,1\nthere_she_is,3\nalucard_(hellsing),4\ngoldy_(golden.dragon),4\nky-jane,1\nincogneato,1\nsasukex125,1\ngs-fox,1\nlui-ra,1\nyuki_sairenji-noroi,4\ncherry_(dredjir),4\nagito-savra,1\nyaoi-no-mikan,1\nlove_letter,0\nderoichi,1\nbuster_sword,0\nouji_(fashion),0\nmalina_(athiesh),4\ncorgidor,5\nwolf_wolfindeir_(thewolfycreator),4\neringi,1\nmizumi_(pyrojey),4\narm_in_water,0\nvibrator_on_clitoris,0\nheartman98,1\nsevered_leg,0\nhuge_hair,0\nlegion_(mass_effect),4\nglowing_gem,0\nbivalve_shell,0\nbasedvulpine,1\nlight_underwear,0\nwhinge,1\nsarina_doyle,4\ntan_theme,7\nblackwhiplash,1\ndotte_(gunwhale),4\nmarkazian,5\n22:17,7\ncanine_penis_tongue,0\nartofmander,1\napprehensive,0\nrokacake,1\nopen_onesie,0\narkailart,1\nahatas,1\nmkvero,1\nmoodytail,1\nalex_nightmurr,4\nsubjectnumber2394,1\nrandoseru,0\naetherxov,1\nre:_strained,3\nhead_tail,0\nspace_furry_(copyright),3\ntongue_expansion,0\ncross_country_detours,3\nstar_wars_rebels,3\nearly_pregnancy,0\njessie_(disambiguation),4\nfawn_deer,4\neruru,4\ncayugo,1\nkinkykeroro,1\nyuta_agc,1\nsyrena_(riptideshark),4\ntribal_armor,0\nfever-dreamer,1\npussy_nipples,0\nbaba,4\nsweetpupperoo,1\nla_lune_rouge,1\niop,5\npunipuri,1\nryujisama,1\nmidsection,0\nterry_(roanoak),4\nalmatea,1\npokemania,1\ndogmanart,1\nseirva,1\nsummer_solstice_(oc),4\nmaruyama_(artist),1\nredfoxsoul,1\nwheezie_(dragon_tales),4\nkingdomxathers,1\nsnickering,0\nzull,5\ncreatures_of_sonaria,3\nhc_hybriddave,1\nninja_kaiden,1\nrape_play,0\npinkamena_diane_pie,4\nbluffy,4\narmpit_musk,0\nkissing_pov,0\nprimal_(series),3\ntaxidermy,0\ndiablo_3,3\nceratosaurus,5\nrebouwu,1\nborni,1\nintest,1\nporunga,4\nmoyashi,1\nsady,4\ngradient_feathers,0\nmatoi-chan_(mamoru-kun),4\nheart_after_name,0\nrainbow_lass,5\ntaryn_crimson,4\nkyyanno,4\ngiik,1\neztp,1\ncela,4\ntyviania,1\njack_reston,4\nforced_cunnilingus,0\nwatte,1\nincestuous_fantasy,0\nbymyside,1\nrandoramble,1\nblackguard,1\nslurk,0\nakaro_(lukiro),4\nheckded,1\nremy_(angels_with_scaly_wings),4\nroguecolonel303,1\ndromaeosaurus,5\nbuffalo_(disambiguation),-1\nsnaketeeth12,1\nfreely_redistributable,0\nares_(devilenby),4\nmatthewwoodward,4\nevil_luna_(idw),4\nvirus_(noronori),4\npazymomo,1\njune_greenfield,4\nvictor_(brushfire),4\npigburger,1\narctic_fox_masseuse_(zootopia),4\nnex_anima_canis,4\nneedleplay,0\nskarltano,1\nthorne_(jurassic_beauties),4\nnorth_wind,4\nsketchygarden,1\ncarcharodontosaurus,5\nveela,4\nshelby_(aquasnug),4\nbreasts_on_ground,0\npticelov,1\nsoranoiro_(artist),1\nrockyrcoon,1\nbody_art,0\nflintlock_pistol,0\nedhel,4\nroxyrex,1\nmoosh,4\naurin,5\nnight0wi,1\nsteven_magnet_(mlp),4\nnavel_gem,0\nkemonokun,1\nnekomata_(disgaea),4\ngreatwuff,1\nsanura,4\nanthor,4\nzarizav,4\nwander_crown,3\nrikitsu,1\nsusan_long,4\nsooperman,1\njeacn,1\nskunk_(skunk_fu),4\nfyoshi,1\nplankton_(species),5\nglenskunk,1\nshenanigan,1\nspurt_(disambiguation),0\njaybeyyy,1\nsupported_tail,0\nvulpamon,4\nclover_(kitfox-crimson),4\nheart_meter,0\nswitch_(disambiguation),0\nsona_(yuio),4\ntopless_intersex,0\nyes-no_pillow,0\nslitherpon,1\nframe_blending,7\nquirachen,1\ngaldon,4\nblakefox,1\nsewage,0\nfloor_sex,0\nlox_(artist),1\ncokesero,1\nfjorge,1\ntree-kangaroo,5\nsoulsplosion,1\ncumu,4\nmemories,0\nakferal,1\nappa_(avatar),4\nsurrealatorium,1\npinupgirl,0\nheartgear,4\nlewdlemage,1\njodyinkfist,1\nshiho_ichimura_(odd_taxi),4\nalhedgehog,1\nysera,4\nkingraam,1\nblueflarefox1,1\nyellow_tail_tuft,0\nharuki,1\nmiyao_yu,1\nflags,0\nradicles,4\nbokuman,1\nneck_bow_(anatomy),0\nadr,1\ngear_(artist),1\ntiki,0\npeeing_into_bowl,0\ntongue_scarf,0\nfranciscassidy,1\nwhimpering,0\nomega-xis,4\nsnowdrop_(character),4\njerkcentral,1\nribbontail_(character),4\nfolvondusque,1\nfeniks_felstorm,4\nsoranotamashii,1\nvanilla,4\ncleopatra_in_space,3\nbailey_(fluff-kevlar),4\nedgar_munroe,4\nxlkev,1\nnormi,1\npengu_(ratld),4\nrazorfox,1\noutdated_model,0\nbean_(legume),0\npinned_to_bed,0\nharmaagriffin,1\nruolina,1\nsentharn,1\ncrystal_bloom,4\nfreeda_(himynameisnobody),4\nyellow_fingernails,0\nsombra_(overwatch),4\npink_crop_top,0\nao_(pixiv_145813),1\nsoul_release,0\nprecum_in_ass,0\nunknownspy,1\nmagnus_(pasc),4\ngranolapunch,1\nanchor_tattoo,0\nbrittany_(roushfan5),4\nhana,4\nfinalroar,1\ndim,4\nhizzacked,1\nguitar_case,0\ncock_limbs,0\ninsole,0\nhands_in_lap,0\ncarcar,4\nfast,0\nbutt_smack,0\nmr._small,4\nspix's_macaw,5\ngoddess_of_madness,4\nsamurai_armor,0\nshazzi,1\nmissingno.,5\nflash_sentry_(eg),4\nvixikats,1\nbirdcheese,1\nmajora,4\nblaker,1\nthe_dread_fall,3\nimpa,4\nheater,0\nchonmage,0\nkierstal,1\nsookta,1\nmusicsheep,4\ncrystal_clarity,4\ntteyuu,4\nollicantskate,1\nschattenklaue,0\nsensh_the_cat,4\nflauschdraws,1\nfulvus,4\nch_ia_ki,1\nscraptrap_(fnaf),4\nhumanoid_penetrating_female,0\nthepsychodog,1\nrosanne_(artist),1\nleg_fins,0\nclover_(happytimes),4\nmisoden_(artist),1\ngrace_(sssonic2),4\nghoul_(fallout),5\nhands_on_own_ankles,0\nkyle_the_fox,4\ntofu-doggo,1\nkiro_(warcraft),4\nxìngyùn,4\nraiden_shin'emon,4\npaint_splatter,0\nsourlemonade,1\nred_toes,0\nbakudanarare,1\nleafrunnerk,1\ntaillow,5\nlight_tuft,0\nchicostyx,1\npink_rope,0\ntimberjack_(mlp),4\nclenched_hands,0\nalice,4\ninunodaidokoro,1\nsmashmael,1\nstudded_armlet,0\norionfell,1\ntrade_offer,3\nnicecream,1\nwailmer,5\nstyxandstoned,1\nnecromorph_(dead_space),5\nhakati,4\nlooma_red_wind,4\nfinal_fantasy_vi,3\nblake_(character),4\ngreen_chest,0\nsulphur-crested_cockatoo,5\ncheri's_dad_(atrolux),4\nrath_raholand,1\nkin-cishepholf,1\ntoe_pads,0\nautumn_deerling,5\njuice_that_makes_you_cum,3\nyoelrabbit,1\nblue_hairband,0\nraihi_(shining),4\ncountershade_pussy,0\nmulticolored_wristband,0\ngalarian_zapdos,5\npurple_leotard,0\npierce_(animal_crossing),4\npurple_sex_toy,0\nnicole_murdock,4\nkazarart,1\nweight_machine,0\nzakumi,4\ntouching_stomach,0\npink_necklace,0\nparade,0\nwrath_(kuroodod),4\nbyowt,1\nbo_staff,0\nmifmaf,1\ntsukielewds,1\nzark,1\nkontan_(yo-kai_watch),4\nnivanne,4\nmanticore_(mge),4\ngeneral_grievous,4\ngreat_pyrénées,5\nkitraandra,4\nred_(sethkeidashi),4\nleather_underwear,0\ndilation_belt,0\nmouthful,0\nhead_push,0\nhair_intakes,0\nspragon,5\nsnowscape,0\nlekisceon,1\nrdroid,1\njoshi_raccoon,4\nlakota_lander,4\ntao_(gunfire_reborn),4\ntorn_face,0\ndevanstar,1\nshort_penis,0\near_plugs,0\nhighleg_leotard,0\npixel-butts,1\nwhite_armor,0\ntoonsexual,1\nfake_fox_ears,0\nunity,1\nleo-artis,1\nm-da_s-tarou,1\ntail_on_sofa,0\nclay_creature,5\nmusky_cock,0\ntiberius,4\nshinamin_ironclaw,4\nyuki,4\ntooners,1\nminor_wound,0\ngrand_theft_auto_v,3\nasterion_(minotaur_hotel),4\nonigiriad,1\ndraigy,3\nmagicalfurry,1\ncebron,4\nblue_bikini_top,0\nrose_(snivy),4\ngreen_cloak,0\nkounfuyu,1\nmagnamalo,5\nstartop,1\nhector_(blackmailz),4\nhudson_(zp92),4\nquack_pack,3\nleon_(furry_force),4\ndarli_buni,1\nphantom_inker,1\nloose_hair,0\ndynotaku,1\nareola_piercing,0\nbrasslion,1\nbands,0\neriray076,1\nafter_footjob,0\nharu_(gingitsune),4\ncock_breasts,0\nvikozlav,1\nkaorh,4\ncum_spray,0\nhighs,0\nnazi_uniform,0\nobsidianlit,1\ngegegenomin,1\nbutts_touching,0\nsuchi,1\nnosen,1\nterry_katt,4\nraiettei_(artist),1\npatt_(waver-ring),4\neveryone_else_has_had_more_sex_than_me,3\ndraco-canine,1\nstarbat,1\nmark_beaks,4\nrizapiska,1\nalfred_hadalen,4\ntickling_pussy,0\nrikki_landon,4\nsea_anemone_humanoid,5\nvalerie_(shortwings),4\nhope_(chalo),4\nflipping,0\ntaraelblackwing,1\nmonstar_(space_jam),5\nhomebearstudio,1\nchastity_plug,0\npon3splash,1\nnaruka,1\nskea,4\nthelordp_chan,1\ndays_felter,4\ncatniped,1\nhoru,1\ndispleased,0\ncock_and_balls_blowjob,0\ngradient_horn,0\nzapp_(mlp),4\nzapa,1\ntommy_(hladilnik),4\nsturdyplywood,1\nheathecliff,1\noktoberfest,3\noro_uinku,4\nrichard_(pandad),4\ngriffin_(awpdragon),4\nmoonstalker_(character),4\nsketh,1\nupskirt_photo,0\nsyc,1\nrockmai3,1\nrosetti,1\nmeep_the_kobold_(character),4\nrobo_(pixiv),1\nkoc,3\nmii,5\npaperman,3\nacev,1\nwiltshire_horn,5\nmarvel_vs._capcom,3\norc_king_(dragon_quest),5\ncanine_sheath,0\nribbon_(kirby),4\nbackrub,0\nboxer_(dog),5\nbucentaur,5\nhand_on_forehead,0\nporky_pig,4\nspoophoop,1\nunit_04,4\nkauko,4\nemily_(disambiguation),-1\nemily,4\nbaron_montesque,1\nalmasy,1\nbarely_visible_pawpads,0\naladar_(character),4\npolly_plantar,4\ncathedral,0\nminnow_(lemonynade),4\nstanding_on_toes,0\nred_nail_polish,0\ntaiyo_akari,4\ntoby_the_dobie,4\nthe_thing_(organism),5\nhorseback,0\nreverse_rape,0\nheart_eye,0\nmix_(derideal),4\nfemale_fingering_female,0\nznhc,1\ndecember,4\ngor1ck,1\n=,0\nviviana_(souladdicted),4\ngrriva,1\ndino_(flintstones),4\naosion,1\nnol,4\npurplecat,4\nchatalie,4\nparamount_pictures,3\nvitorleone13,1\ncrime,0\ngrabbed,0\nduo_(duolingo),4\ngold_the_tenrec,4\nlog_cabin,0\nsharkall,1\nlates,1\ndeke,4\ncrested_penguin,5\nrai_(wyntersun),4\ndiscarded_panties,0\narkoh_umbreon,4\nmiles_(kingofkof),4\nnivrozs,1\nfishys1,1\nsasq,1\nholymeh,1\nkruze,4\nriko_(made_in_abyss),4\npatchouli_knowledge,4\nentwined_toes,0\nzuzu_(paledrake),4\npinkanimations,1\nwrist_under_leg,0\nslapping_butt,0\nzenon_(character),4\nclawdia_dia,4\nsakanadaze,1\nzero_(grimoire_of_zero),4\nsillyme,1\njuindalo,1\nkwaza_(ozawk),4\npvtscott,1\nshanys,4\nrancidious,1\nlenny_face,3\nmag_(warframe),4\nfinger_in_foreskin,0\nlinvar,4\ncarried,0\nblott,4\njason_chan,1\nslave_pup_(marimo),4\nface_shield,0\nspadamon,5\nyoh-sl,1\nnazurah,4\ndrakkin,1\nspasm,0\ngreen_tail_feathers,0\nbaconatordeluxe,1\nhattsy,1\nyanma,5\nabsorbtion,0\nbagheera_(fursona),4\nroz_(rosstherottie),4\nnitocris_(fate),4\ndisappearing_inside,0\ngreen_toes,0\nkonomi_(uyu),4\nlufty,1\njack,4\npaw_socks,0\nbeverage_between_breasts,0\nemi_(lyme-slyme),4\nloquillo66,1\nmarvolk,1\nbroken_teeth,0\nupshorts,0\ncaviaporcellus27,1\nhand_on_tongue,0\npleasure_island,0\ndaaon_dragon,1\ngorgon_(zerofox),4\ngatoggy,1\nblue-and-yellow_macaw,5\nhooved_digitigrade,0\npurple_leash,0\nbuckold,0\nanimated_sparkles,0\nblowing_bubbles,0\nshadowponi,1\nfreckles_(kurenaikyora),4\nteddybeer0525,1\nruby_rouge_(colt_quest),4\ncakecatboy,1\nsamodora1030,1\ntsudashie,1\nlord_daruk,4\nkorben_brandis,4\nada_(liebro),4\ndax_(dax1),4\nfake_anna,1\nlayer_(artist),1\nhoodie_stalker,1\ngmarrascapache,1\nflavored_pussy_juice,0\nkasia_mikolajczyk,4\nlighty_marteniz,4\ndestiny_(101_dalmatians),4\nsecoh2000,1\nluvbites,3\ntabletorgy,1\nsucy,4\namber_sclera,0\nbark_the_polar_bear,4\nsandile,5\nbombay_(artist),1\ndarryl,4\nshining_tears,3\nbillybaphomet,1\ngardeaalgedo,1\ngunpowdergreentea,1\nyugo,4\nbadrainbow,1\nplatinum_blonde,0\nthe_hunchback_of_notre_dame,3\nyamiikarus,1\nkuro_murasaki,4\nzoey_(left_4_dead),4\nswanlullaby,1\nchelsea_addison,4\nsha_vida,4\nmelina_(nekuzx),4\nfood_gag,0\nsilver_earring,0\ngeneraldegeneracy,1\ndebukemo,0\nbuild_tiger_(character),4\nsomeity,4\nkino_strife,4\nsal-sal,1\ncandyxxxcorpse,1\npublic_toilet,0\noh_so_hero!,3\nsuits,0\nwarhamon,1\nwinter_hat,0\nrahkvi,4\niginger,1\naugie_doggie_and_doggie_daddy,3\ncum_in_bottle,0\naliensymbol,1\ndragalge,5\nsword_sheath,0\ncanvassolaris,1\ntarantula_taur,5\nrabbid_rosalina,4\nmidgardsormr_(dragalia_lost),4\nexcessive_musk,0\nlucinda_(baterco),4\nacah_orange,1\nandy_(roxie),4\nconsole-tan,3\nmewtwo_strikes_back,3\naida_(jagon),4\nhugo_the_riolu,4\nivy_sundew,4\nprogress_bar,0\nolfactophilia,0\nambulance,0\nwhismur,5\nsilvius_(draethon),4\ncaffeinecanine,1\nnyusu_ut,1\nninnasaurio,1\npurple_vest,0\nvera_(viswey),4\nmega_blastoise,5\nlevidos,1\npuffy_vulva,0\nfallen_captain,5\nquad_nipples,0\ncum_on_sex_toy,0\nalula_(oneshot),4\nsuccubus_gardevoir,4\nerection_under_briefs,0\ndrnx,1\nhelga_(urw),4\na_dusty_wolf,1\nsonicboom30813,1\nscale_armor,0\nserial_threading,0\nhands_on_another's_shoulders,0\nphiltrum,0\nslyrray_(masterj291),4\nyellowhellion,1\nlerchief2007,1\npockoon_(insomniacovrlrd),5\nholding_psp,0\nswordfish,5\nvacuum_penis,0\ntapering_snout,0\nthe_adventures_of_kincaid,3\nmoriarty_(sherlock_hound),4\nkaj_(vaerinn),4\nicy_xisaru,4\nalice_detective_bureau,3\nspaceweasel2306,1\narcticfrigidfrostfox,1\nkristoph_wulphenstein,4\nbaker_(kokuhane),4\noinari-sama_(kemono_friends),4\nblue-footed_booby,5\nfinger_on_mouth,0\nthorphax,4\ntorres_(rimba_racer),4\nduke_(nightterror),4\ntransformice,3\nbrenda_sawruss,4\nshagaru_magala,5\nseaman_hardy,4\nlocust,5\npenny_fox,4\nmouse_hole,0\netchpony,1\nkururi_itachi,1\nvress_(character),4\neraclea,4\nbishopbb,1\n666,0\nzxc,1\nwindigo_(mlp),5\natendedordeboludos,1\narai,4\npacific_glow_(mlp),4\nlavender_background,0\nc4d,0\nmuscular_neck,0\nnight_vision_goggles,0\nyellow_fingers,0\nexpression_meme,0\nsandy_(bcb),4\nthud,0\nnomidot,1\nfootstool,0\nplanted_weapon,0\npurple_canid_(hane),4\nonetiredbear,1\nlockjawsfm,1\nr0cketjumper,1\nluciamaribela,1\nthq_nordic,3\nteraurge,3\nsuspendedpain,1\nmels_monster_(artist),1\nmob_rat_(mad_rat_dead),4\nkungfufreak07,1\nrastaban_coal_(character),4\nminhpupu,1\nakira_(film),3\ngoldie_(smutbooru),4\ncarli_chinchilla,4\npaulina_(thea_sisters),4\narino,1\nelvenbiker,1\nairam,4\ncaster_queen_of_sheba,4\naurora_(lufty),4\nnayunata,1\nlooking_at_sex_toy,0\npunching_face,0\nhadronighini,1\nkeel-billed_toucan,5\ntgt1512,1\nrenamon_x,5\nsilvertongue,5\nkutekittykatt,1\nsex_inside,0\nlavender_eyes,0\npepper_(vammzu),4\nbailey_(honeyboyy),4\nzaphod,1\nhanging_by_wrists,0\ndregadude,1\n10_cosmo_24,1\nfile_cabinet,0\naleak_r,1\nthe_quick_draw_mcgraw_show,3\ninkanyamba,4\nfluffy_body,0\nashley_brooks,4\nmilitary_vehicle,0\nnathan_(beatriz),4\ndransvitry,4\naternoir,1\nfamir_(thebestvore),4\nharibo-arts,1\nred_tail_feathers,0\nsaliva_on_hand,0\ncopinlighter,1\nnidus_(warframe),4\npurple_tattoo,0\nolivepup_00,1\nzavi-chan,1\nacaris_(artist),1\nbindweed_(artist),1\nmitch_calhoun,4\nwedding_lingerie,0\nstylized_speech_bubble,0\nshao,4\nscoreboard,0\nstat_display,0\nmaam,4\nnyanlathotep_(sucker_for_love),4\nwerewire,5\nshiro_(sewayaki_kitsune_no_senko-san),4\nugly_tortilla,1\nbugzilla,1\nartietheartbull,1\nlip_scar,0\nbegging_to_cum,0\nsaliva_on_dildo,0\nidrawgayboys,1\nsatiro,4\nfirst_aid,0\nfoot_domination,0\nsomniferous,1\nsuper_strength,0\nhoney_cum,0\nnekkie_niceburgs,4\ndryden_teichmann,4\npointy_nipples,0\nwhateverbender,1\ngauge_(character),4\nchrome,0\nsexbot,0\nfableiii,1\nqwilfish,5\ncatwalk,0\ndeal_with_it,3\nscylla_(coc),4\nvolamont,1\nruby_doulton,4\nseaside_(artist),1\nxsrwe12,1\nfishnet_bikini,0\nmallory_dunn,4\njustsyl,1\nneonlink,1\nequestria,0\nclawdeen_wolf,4\nmakydeli_(artist),1\nbulge_(sound_effect),0\nmusso,1\nsyndhart,1\nleon_kennedy_(resident_evil),4\nnostril_piercing,0\nspiked_wings,0\nlatte_(whisperingfornothing),4\nlabial_pit,0\nshaytalis,4\none_ear,0\nbrown_tail_(artist),1\nhaokan,1\ndimitri_trio_(101_dalmatians),4\ngold_ear_ring,0\nunknown_colorist,1\nfloaty,0\nbandana_on_neck,0\nrobin_(rodent_powered),4\nmakioraku,1\nunknownwolf,1\nlatex_bottomwear,0\ntrowel,0\nholding_apple,0\npaomer,1\nzero_(mega_man),4\nmunieru,1\ntwo_tone_toes,0\nvixen_labs,3\nedge_(mario_plus_rabbids),4\nreverse_rusty_trombone,0\ntntkl,1\nevelyn_(yutubaketa),4\nnendo,1\nfanmon,0\norange_teeth,0\nnohmad,1\nfloppyearfreak,1\ndustine,4\ngruftine,4\nbabslechat,1\nonyxcenturion,4\nroadhead,0\ndrafthorse,1\nlelnopem8,1\nhaswell,4\nmicroscope,0\nnoodlewd,1\n1trick,1\njak,4\nprothean,5\nura,1\nborushi,1\nmeemee,4\nkurt_(braford),4\nrobotic_tongue,0\nnotama,1\nkosmikophobia,1\npogo,3\nbento_(character),4\nreedflower,1\ntokemaru,1\naramet,1\nchin_scratch,0\njack_(bargglesnatch-x1),4\nchiji,1\nruin_seeker,4\nfleety_(artist),1\npink_t-shirt,0\nsitting_on_throne,0\nkalo_division,4\nadamios,1\nbael_thunderfist,4\nmewtwo_clone_machine,0\nwide_smile,0\nsugarblight,1\narms_at_sides,0\nholding_list,0\nkittbites,1\nsnow_fawn_poppy_(lol),4\nstar_wink,0\njuwunipur,1\ncelestial_star_polygon,0\nchest_piercing,0\nyiezzas,1\nmonotone_glasses,0\nscribble-potato,1\n9:8,7\nbit-bite,1\nmarcelo_(aaron),4\nbody_search,0\nnews_reporter,0\nswitch_logo,0\nloonanudes,1\ntexas,0\nsapphire_lareme_(battler),4\nyellow_toes,0\noverlay,0\np.v.su,1\nhandrail,0\nexploring,0\nnon-humanoid_creature,0\nring_marking,0\ntherobd,1\nwide_tail,0\npander_(lostpander),4\nritios,1\nash_(disambiguation),4\nlight_sub_dark_dom,0\njackira,1\nyamashiro_(azur_lane),4\nyay_(milkytiger1145),4\nsweetchu,4\nhandles_on_shoulders,0\npride_color_neckwear,0\nmajinvoir,4\nkat,4\nzoey_(berk_rider),4\nxiavier_(cydonia_xia),4\nxkax,1\ntwo_tone_bra,0\nsupersegasonicss,1\nchocolate_chips,0\ngeewolf,1\nmuramasa:_the_demon_blade,3\npompsadoodle,1\ntabletop_game,0\nbragg_(stitch!),4\ngordon_(pokefound),4\njadenarts,1\npussy_sniffing,0\nreshsfm,1\ndesir,5\nillyasviel_von_einzbern,4\ngeecupcake,1\nsnowyzi,1\nkiki_the_cyber_squirrel,4\ntaguel,5\nwwe,3\ntaco_bell,3\nmolly_(bcb),4\nshenanigans,1\njakthedrox,1\ntobicakes,1\nchandra_(abluedeer),4\nangelina_onyx,4\nhow-did-we-get-here,1\nm7,1\nbloodhound_omega,1\ncreative_flair,4\nmilk_(miu),4\ntanya_(character),4\nelnora_magner,4\ndarkwolf_(darkwolfdemon),4\nlucy_(jcdr),4\nraik_(glacierponi),4\ninspector_arai,4\nspork321,1\nsagemerric,1\ntattooification,0\ndeadro,1\nfamiliar,5\nhyper_messing,0\nleather_chaps,0\nkinoko,1\nsir_hiss,4\nveronika_zebra,4\nbody_worship,0\ndream_breaker,1\nyoriko,4\nupset_stomach,0\njeinsx,1\npsychosocial,1\nturntable_(record_player),0\nnolaf,1\nfused_toes,0\nsmpthehedgehog,1\nlynne,4\nmagic_glow,0\nharold_grifter,4\nmagcargo,5\nvodka_kovalevski,4\njumajumi25d,1\nkarukuji_(character),4\nglavenus,5\nglowing_paws,0\ndazen_cobalt,1\ntulpa,0\npokémon_center,0\nn7,0\nmale_birth,0\nsmacking_ass,0\nyukusasu,1\ndanielle_o'hare_(akiric),4\nfeyyore,4\nreaper_(overwatch),4\njetski,0\nscarlet_svobodova,4\nnintendo_logo,0\nsurskit,5\neliza_(canisfidelis),4\nfazbear's_fright,0\nsketchyboi08,1\namphydamph,1\nlanoya_(artist),1\nthreaded_by_sex_toy,0\nbunnielovesyou,1\nhailey_(kittyprint),4\nbatmanholecover,1\nbepis,3\nsirbossy1,1\ntakeru_takaishi,4\nkicks_(kicks),4\ntransformed_clothing,0\nvolbeat,5\nkawazu_fumi,1\nlewd_can,1\nshy_ayu,1\nskellertom,1\ngammachaos,1\nthunderrangers,3\nwrapper,0\nworen,5\nruka_landberg,4\nkatazai,1\nfarran_height_(oc),4\nveterowo,1\ndian_(jewelpet),4\nnoodle_(domovoi_lazaroth),4\nsilver_(pokémon),4\nmiss_pearl,4\ncum_from_nipples,0\nalphabet,0\nscent_play,0\npolka_dot_bikini,0\nmelissara,4\nxinaelle,1\nfurnace,0\ntaurus_demon,5\nbucky_boy,1\ndeltadrawz,1\nhdddestroyer,1\ntaneem,4\ncristalavi,1\nsango_(jewelpet),4\nyata,1\ntailwear,0\nsphynxx11,1\njackie_(nitw),4\nnecro,1\njazminbunni,4\nodin_(wulframite),4\namras_lelliath,4\nred_husky,5\nsitting_on_knees,0\nkalemendrax,4\ntat_(klonoa),4\nurga_(a_small_tool),4\nkira_adelay,1\ntossing,0\nspeedy_cerviche,4\npilosan_humanoid,5\nayken,4\nray_gun,0\nmoxaji,1\nwarr,1\njamba,3\nyuumei,1\nrainbow_bandanna,0\nled_light,0\nkoakuma,4\nloafsfm,1\ntwo_tone_fingers,0\nyoke_(restraint),0\nlyle_(animal_crossing),4\njade_shine,4\nonigrift,1\nnina,4\nmilking_request,0\nrabbit_fursuit,0\nebon_thundermoon,4\nstardragon_(species),5\nredo_(artist),1\ntipsycanvas,1\nstephen_(sisco),4\nfamily_portrait,0\nrobyn_goodfellowe,4\nextra-vertebrae,1\npalchamon,1\nmasturbating_on_bed,0\nkalianne,4\ntoasty,4\nyogurt,0\ndonut_pool_toy,0\nhorny_bat,0\ncondom_gagging,0\nshou_toramaru,4\njamie_(klausd),4\nlesterhusky,4\nmulticolored_hoodie,0\nbag_over_head,0\nlavabath,1\nwillump_(lol),4\nmelting_ice_cream,0\nscarecorrode,1\nsexybigears69,1\nthefreckleden,1\nlicking_glass,0\nkanrod_stavoyan,1\nflower_field,0\nulvbecker,1\nmoriguru,1\nsveemon,1\nisla_aukate,3\nakella,1\nnzuuure,1\ntail_around_arm,0\nabruptus,1\nxxmidknightxx,1\nafter_sex_smoking,0\nankle_socks,0\nmoob_suck,0\nskipper,4\nlewdyroom,1\nsquidking,1\nstriped_exoskeleton,0\neric_dream_everyotherheart,1\nfirst_time_sex,0\ndj-black-n-white,1\nvulpessentia,1\nmight_and_magic,3\nrongs1234,1\nsisco_(artist),1\nludroth,5\nmr._saturn,5\nmacroceli_(artist),1\nmystery_(mystery_skulls),4\ntelkop,4\nkitsune-kajiru,1\nbarnaby_(armello),4\nziats,1\nnoet,1\nphantom,4\njohnny_bravo,4\nfire_stone,0\nroute9,1\nhelium_tank,0\nstrain,0\nthug,0\namyth_(character),4\nreo_grand,1\nsilicone,0\nsharkie,4\ndrying_fur,0\nwet_tentacles,0\nskips_(regular_show),4\nkakuheiki,1\nberr,4\nlicking_blood,0\ncoco_kiryu,4\ntrail_arnak,1\npleasuring_self,0\ndonation_drive,0\nizvy,4\nkalumiya,4\nray_doug,4\nbrazier,0\nrowrow,4\njericho_(disambiguation),-1\ncontrol_panel,0\nblack_white_body,0\nten_frame_image,0\nmonster_girl_1000,3\ncrazy_water,1\nah'momo,4\nvulkin,4\nlordofnothin1,1\nnisha_(bluedingo),4\nzupat,1\nsamsung,3\nberry_slice,4\njinpei_shinooka,4\nhairy_body,0\ntoyger,5\nsyndey,4\nopium5,1\nicy_(character),4\npriincessu,1\ncum_on_desk,0\nlisa_the_painful,3\nplatform_boots,0\narmadillo_girdled_lizard,5\nholdem,4\nbombshell_(nitw),4\ncrybringer,1\nponlets,1\nsinlesscelery,1\ndamaged_armor,0\npeeking_nipple,0\nthe_shining,3\nproserpine,1\nalix_(dsc85),4\nnoko_ume,1\ndisfigured,0\nmrrshan_empress,4\nn2o,1\nsombird,1\njustis,1\npuss_in_boots_(dreamworks),4\ninvoluntary_cowgirl,0\nsandygast,5\nrock_(genre),0\ncolossus,5\nwriting_on_tail,0\ncocco,1\npokemon_the_first_movie,3\nequation,0\nnibinoylin,1\nfrogela,4\nurn,0\nlili,4\nemeraldwing,1\nlilith_(glasswalker),4\ntawney,4\nscore,0\nsanyo2100,1\nportia_(bittenhard),4\ncorganda,1\nnathan_adams,4\nbalu_blackcat,4\nace_bunny,4\nthefemininesangheili,1\nmaccao,5\ntoriko_(series),3\nastrozerk,1\nwindows_10,3\nheartbroken,0\nunitypressdigital,3\nloafers,0\nsugaryhotdog_(character),4\nheart_buttplug,0\nvapula_(tas),4\neraanthe,1\ntesticular_rupture,0\ntouching_own_face,0\nrobloxian,5\ncondom_in_ass,0\ndelivery_stork,4\nrail_transit,0\npiggyfront,0\nsitting_on_grass,0\nkyle_(she-ra),4\nkaine_lewis,4\nfibilis,1\nteasfox,1\nsumo_wrestling,0\ncricket_talot_(character),4\ndawn_(darkjester),4\nerthy3d,1\nwhite_fire_(character),4\nretrospecter_(character),4\ngogarty,1\nalrik_yeenobotham,4\nyuuri_splatoon,1\nbrittle_(plaga),4\nanimana21,1\nzerauskii,1\nalphaafterdark,4\njerked_silly,0\nyamame513,1\nzw3,1\nxxsnake_spiderxx,1\nhighleg_panties,0\nsin_(varanis_ridari),4\nnyxqt,4\ndrinking_water,0\nfor_science!,0\nivorydusk,3\nnihil_(guchiyama),4\ntriangle_mouth,0\ngenitals_through_zipper,0\nernest_(ernest_and_celestine),4\nholding_bat,0\nblack_makeup,0\nsexualdoggo,1\npopsicle_in_mouth,0\nbluob,1\nfieryashy,1\ntongue_on_glass,0\nstylish_apollo,1\nholding_carton,0\nin_comic_sequence,0\ndakuterooty,1\nmeat_sweats,1\nforl,0\nblue_blanket,0\nakuro-,1\nblue_loincloth,0\npokuytred,1\nasian_sword,0\nending,0\n=_=,0\nhan_solo,4\nket,4\ni_ship_it_real_hard,1\nbrightwing,4\nblanagami,1\ndream_eater,5\nkoromaru,4\nellise_the_bat,4\namalgamate_(themefinland),5\nsmash_ball,0\nsyrae-universe,1\nbaryonyx,5\nthousand_yard_stare,0\nheatran,5\nsketchkat,1\n333456,1\nlucy_(frmcast351),4\nkyrii,5\nmyris_(odin_sphere),4\nkuttoyaki,1\ngallery,0\nruss,4\nnahyon,1\ndig_dug,3\ncharly,4\ndik-dik,5\ncritter_coven,3\nelkaart,1\namekomi_lover,1\nmelted_cheese,0\nsheep_demon,5\nnaerie,4\nmistyrdis,1\nsonicthebitch,1\ncolormeviolet,1\nmile,0\npsykrow_darcy,4\nsports_car,0\narthur_pendragon,4\nkeaton,5\npines_(panzery25),4\ndragonator,4\npolarissketches,1\nying,4\niron_bull,4\nredwolfofdeath,4\nkyra_gruson,4\nscott_ruggels,1\nferrit,4\nsnowlik3,1\nhoneymoon,0\ndouble_masturbation,0\nroger_bacon,1\ninfinityplus1,1\ntraveler,4\nskinning,0\ndovne_(character),4\ntiki_(fire_emblem),4\n1992,7\ndrac_(dracwarrior),4\ntaski,1\nsaberjackal,1\nedowaado,1\nbutton_boxers,0\nyellow_wool,0\nswiftriff,1\negun,4\nlorelei_(chromefox),4\ngeek_illustrations,1\nshaggy_fur,0\ndakota_(kittyprint),4\ntemp_the_imp,4\nlumihanta,1\nbee_costume,0\npec_milking,0\ntaur_pred,0\nkoropatel,1\n0v00w0_(artist),1\nattack_forme_deoxys,5\nwandering_lizardfolk,1\nfrogdor,4\nvelvet_(hirurux),4\njay_(raccoonbro),4\nblack_neckwear,0\njennifer_white,4\nurine_on_pussy,0\naliaspseudonym,1\nclover_(deltarune),4\nshort_sleeved_shirt,0\nzuri_(duskthebatpack),4\nzyyphelze,1\ngrey_tail_tip,0\nradiant_scar,1\nruby_(the_land_before_time),4\nmangakitsune2,1\nursula_(disney),4\nruetteroulette,1\nsilver_tail,0\ntehstupidbug,1\nfoxer421,1\nkilver,1\npacmancorp,1\nthunt,1\nautomail,0\nwet_mane,0\nscuba_tank,0\ng_reaper,1\nwearing_sunglasses,0\niyhuh7vxmhdc9ht,1\nxintro,1\nfeces_as_food,0\nlostwisdom,1\nskeleito,1\ndraftgon,1\nspandex_suit,0\nkiwi_hugh,1\ndrawing_in_a_drawing,0\nhyper_insertion,0\nn64_cartridge,0\nchain_piercing,0\nglistening_chest,0\nverkele,1\ncoin_purse,0\ncheddarcat,1\nall_tomorrows,3\nfoufi,1\naround_the_world_with_willy_fog,3\naiai,4\nguchiyama,1\nbonbon_(roommates),4\nserenity_(whitefeather0),4\ncass_(simplifypm),4\ndracmon,5\nthaylen,4\ncountmoxi,1\ntotatetta,1\nkiki_(animal_crossing),4\nsavannah_horrocks,1\namelia_(animal_crossing),4\nameizinglewds,1\nneungsonie,1\ncreep_(goosebumps),4\nkissa_yander,4\nsadomasochism,0\nbayard_zylos,4\ndimidiummorsumbra,1\nganachethehorse,4\nfull_bladder,0\nholding_cake,0\nmadkuzya,1\nnumber_on_shirt,0\ndrednaw,5\nlunch,0\ntight_legwear,0\nvalerie_(diddlier),4\n2d_artwork,0\njathiros,4\njeanx,1\nphone_booth,0\nkoira,4\nrubber_chicken,0\nhanmonster,1\ncovering_ears,0\nbonaxor,1\nsirfox,1\nprancing,0\nwolfy-nail_(character),4\nmrponeswildride,1\nhigh-waisted_thong,0\nnick300,1\nshane_(lafontaine),4\nrebecca_cyrus,4\nskeletor,4\nfill,4\nsewaddle,5\ndino.d.dice,1\nmime_jr.,5\nplain_white,1\ncooltime-fooltime,1\nball_play,0\ngeneral_pepper,4\nlucy_the_dragon,4\nfumio936,1\nholt5,1\nhe-man,4\nivy_trellis,3\ngegege_no_kitaro,3\ntimberwolfmax,1\nprincess_anna_(frozen),4\npandora_(doug_winger),4\nstan_(hamtaro),4\nbaphometbimbo,1\nbai_(laobai),4\nsenos,1\nsentientsocks,1\nthe_great_gonzales_jr,4\nunggoy,5\ndummy,0\nanarchist,0\nibuki_haruno,1\nviolabossanova,1\nunzipped_jumpsuit,0\nxx-junglebeatz-xx,1\ntass_(tassy),4\nmamimi_(artist),1\nmajinizombie,1\nskyhorn's_adventures,3\ngarden_dormouse,5\nrissy,4\nwalt_disney_world,3\nshirt_around_waist,0\nerika_(pokemon),4\nbeep_beep_i'm_a_sheep,3\nrahir_(artist),1\nthebartender,1\nblushbaker,1\napplespicex,1\nstated_currency_amount,0\nsnout_overhang,0\ntimmy_fox,4\nforked_antennae,0\nmanna-mint,4\nsabrina_the_teenage_witch,3\ngaro_(artist),1\nrigel_(1stsavagery),4\ntheyiff,1\nglitchedskunk,1\n0508madaramoyou,1\nname_in_message,0\nkobold_orion,0\nracing_suit,0\nlin_(abluedeer),4\ngoliath_(evolve),5\ngynomorph_raping_female,0\njerome_baker,4\nkunstwaffe,1\ndoki_doki_literature_club!,3\neguchi_tumoru,1\npokémon_card,0\nhabatakuhituji,1\nsya_ruusa,4\nseattle_seahawks,3\nnude_hiking,0\nhigh_heels_only,0\nsex_from_behind,0\nruby_(kadath),4\ntatsumaki,4\nkatara,4\nsasha_(ashnar),4\nwinterbalg,1\nsolosandwich,1\nsion_(artist),1\nenema_bulb,0\nyosuke_hanamura,4\nsuzu_(sub-res),4\nvictory,0\nteta,1\naxton,4\nsunkern,5\nnuka,4\nbrandon_(sefeiren),4\nvideo_cassette,0\nmadness_demon,1\nangel_(copperback01),4\nadolf_hitler,4\nswallow_(disambiguation),-1\nfountain_pen,0\ntech,4\ndoors,0\ntiger_taur,5\nprophet,1\nmaeworl,1\nanna_(jinash),4\nalbedo_azura,4\nkrasnya,4\nvaginal_orgasm,0\nmorningbread16,1\nslushie-nyappy-paws,1\nplug_gag,0\nhaavex,4\ntake_tsugu_roh,1\ncalamity_coyote,4\nskanita_drake,4\nchrono_cross,3\nfox_xd,3\nanal_beads_in_pussy,0\narms_around_shoulders,0\nwitch_(left_4_dead),4\ngideon_(gylph),4\nmetal_container,0\nexaxuxer,1\nshieradevil,1\nhomedick_shimmer,4\ntakipsilim,1\nsauksauk,4\nmorgrem,5\nnai-chan,1\nfraydragon,1\nretro_future,1\nrimestar,1\nhatter's_lye,1\nbatt_the_bat,4\nsmiles,0\nknife_cat,3\nanglo_(anglo),4\nn0nd3scr1pt,1\nsand_fur,0\nacidic,1\nfalvie_(character),4\nreva,4\nprobe,0\nnoses_touching,0\nspacesmilodon,1\nalloyrabbit,1\nbrittany_diggers,4\nlawyer,0\nprettypinkpony,1\ngaston,4\ngiidenuts,1\ndisembodied_tail,0\nlarger_gynomorph/small_male,0\nhermitpioneer,1\nsarah_and_duck,3\nyami_(lunaris_parukia),4\nkeavemind,1\nallanel,1\nruby_lareme_(battler),4\ndyna_soar,1\npandemonica_(helltaker),4\nsarah_(twokinds),4\nscp-939,4\nlyra_(w4g4),4\ncattanooga_cats,3\ntan_membrane,0\ncrinklemouse,1\npokémon_masters,3\nlucareelo,1\npamela_(lewdua),4\nnail_(weapon),0\nringing_bell_(film),3\n2_panel_comic,0\nglistening_swimwear,0\nyoko_(kitaness),4\nhinozuki,4\nadam_bryce_thomas,1\nbirry41,1\nkawarage_yatano,1\npublic_erection,0\neyebrow_wiggle,0\nbrown_shell,0\nimminent_snu_snu,0\naasimar,5\ncum_on_own_neck,0\nalipse,1\nshimmy_shake_(mlp),4\nmamaubear,1\njake_(blazingpelt),4\nlosing_bet,0\nkausgammamon,5\nwingdings,0\ntext_on_jewelry,0\nrichard_baer,4\nthesorapoi,1\nwhite_straitjacket,0\ngatto_(kitty_pride),4\napple_pot,1\nwet_scales,0\nizzy_(cadaverrdog),4\nru_(ruaidri),4\nalayana,4\nmiranda_(heatboom),4\nprey_dom_predator_sub,0\ncubcore,1\nlourkanda,1\nblue_jewelry,0\ncookie_demon_(robotjoe),4\nmars_(thequeenofmars),4\nnik_(darkfawks),4\n6xiachunqiu7,1\ndarkzerojack,1\nojijinotete,1\ntjin_(artist),1\nlooner,0\nb.koal,1\nrah_jan_(zummeng),4\ngill_play,0\nkhampa_(rock_dog),4\nvevosonian,5\nwispytuft,1\negg_shell,0\nred_mage,4\nnarffet,1\nstripped_down,3\nteaselbone_(character),4\nuntying,0\nimagining,0\noppaihobby,1\nlicking_screen,0\nfranschesco_(artist),1\nknee_pit,0\nisland_fox,5\nsierra_(wackyfox26),4\nmirri_ringfox,4\nada_(fallout),4\ndax_(evane),4\nshugowah_(character),4\ncatching,0\ntaluthus,4\ncinnamonhunter,1\nlotte_(munks),4\npyonko,1\nrariatoo,1\nalphasabre,1\ninterface,0\nbursting_breasts,0\nemasculation,0\npikuna,1\ncaressing_balls,0\nnipple_bondage,0\nsheila_skyworld,4\nchicken_nugget,0\nghost_(nhalafallon),4\ngettingeggywithit,1\npackge,1\nnoop,5\npack,0\nnacchan96,1\nsasuke_uchiha,4\nyaita_(character),4\nprincessharumi,1\nwerewolfdegenerate,1\nfirenox1559,1\ngoobie_(da3rd),4\npussy_juice_on_viewer,0\nzack_(nitrosimi96),4\nsoft_drink,0\nvinyl_record,0\nfuturistic_armor,0\ncanes-cm,1\nblvefo9,1\ncaptain_grime,4\nhand_in_water,0\nrecursive_penetration,0\nowen_(amadose),4\nbutterscotch_(wonderslug),4\ndevour1129,1\ngoric,4\nkrolik,1\nemu34b,1\nlong_boots,0\nnoz_orlok,4\nslit_(wound),0\nopen_kimono,0\npacothegint,4\ndrakonst,1\nlaxative,0\ncream_(dashboom),4\nfacesitting_in_underwear,0\nnortum_(augensinum),4\nflarita,4\nmaylene_(pokemon),4\npride_color_patch,0\nsyourinbonzu,1\ntwo_tone_hoodie,0\nkunemon_(survive),4\nitskorrie,1\nlight_footwear,0\nprinted_eyes,0\nrunicnature,1\nspace_opera,0\nmona_(2channel),4\ngonzarez1938,1\nthecomet,1\ngreenninja,1\nlillipup,5\nulos12,1\ntiger_tail,0\ntranslucent_skin,0\nddil,1\npurple_pikmin,5\nleaky,0\nball_pit,0\ndjbeats,3\nazazel_(tboi),4\nplatinum_fang,4\nmarkshark,4\nfluorescent_light,0\nclaudia_(peculiart),4\nyourfurryotaku,1\nbeachfox,1\npoland,0\nfloppsies,1\ndye,0\ntemperature_play,0\nfeline_genitalia,0\nspade_(character),4\nrev_(artist),1\nyurano_(cocotama),4\nstretched_ears,0\nponies_in_real_life,0\nsteam_locomotive,0\nravensflock,1\nlilith_(artist),1\ndrilldo,0\njackie_shay,4\nleokitsune,1\nwe're_back!_a_dinosaur's_story,3\nisil,1\ncorgii,1\npurple_heart,0\nripparu,1\ntlk92024,1\nshishimaru_genjurou,4\nnorael,4\nacid_armor,0\nthwillartz,1\njackneft,1\ncassandra_(funkybun),4\nschesta_(character),4\npizza_thot,3\nanubis_(houtengeki),4\ndark_countershading,0\ndiana,4\ngreen_liquid,0\nmrjimmydafloof,1\ntraditional_halo,0\nrainbow_thigh_highs,0\neu03,1\ngreater_roadrunner,5\nseiya_mesu,1\nseachord,1\ndisembowell_(artist),1\nedgy,0\nyellow_dildo,0\ntyne_(yaudizz),4\nartbymadara,1\nsloth_(changing_fates),4\nlory_(maple_town),4\nqueen_nualia,4\nunreal_(series),3\nbiobrony,1\ncoelhinha_artes,1\nfart_bukkake,0\namali_(tloz),4\nshira_(greywolf_blacksock),4\nkashif_akhter,4\npicket_fence,0\nfidda_gracepaws_(character),4\ndraxius,4\nhage,1\nhierro_(artist),1\nmothim,5\nhands_on_crotch,0\nrainbowclops,1\ndumb-bell_(mlp),4\ntransguiche_piercing,0\ncatjam_(artist),1\nmoira_(casitoarroyo),4\nshoulder_lick,0\ndempsey,4\nspeed_(artist),1\nred_shetland,4\nvibrating_controller,0\nazrael_rhincodon,4\nflynn,4\ngroup_photo,0\nparsnip_bunner,4\nfootrest,0\narcy_the_arcanine,4\nkjatar,4\ndante_(elcondedeleon),4\nonae,1\nsakana_maru_(pixiv),1\nmoonrick,1\nred_neck,0\ndouble_tail,0\nmr._wolf_(toybox_pals),4\njennifer_(geckoguy123456789),4\nnekoni,1\nitsbirdyart,1\nboss_(james_howard),4\neyebrow_stud,0\npurple_arm_warmers,0\nred_shell,0\nstriped_dress,0\nmoist_mommy,1\nthegamingzilla,1\ndurag,0\npyongyang/moxie_(yourfavoritelemonade),4\nkerub_crepin,4\nskoogers,1\nfuzzt0ne,1\nciel_(cinderfrost),4\nkoreanhusky,1\nantediluvia,4\nohohokapi,1\ndoki,4\nfys,4\ncoxaplenty,1\nnefertimon,5\nsolrock,5\nrahn,5\ngrinch_(artist),1\nrachel_(bcb),4\ngirls_und_panzer,3\nlittle_mouser,5\nouthouse,0\nmilkybody,1\nbreast_groping,0\nhizzie,1\nmalyabay,4\nthe_wild_thornberrys,3\ndysa,1\ncherubimon_(evil),5\nrayoutofspace,1\nsizable_danger,1\nmlice,1\nanya_havok,4\nharsh-mallowz,1\njungle_poppo,1\nsean_(roommates),4\nhack_montblanc,4\nsurisu_(tohupo),4\nclothed_intersex_nude_male,0\nzead_(artist),1\npumpkin_balls,0\nbat_penis,0\nhungrysuccubus,1\nthicc_bug_(impishhyena),4\npower_outlet,0\nmikoyan,1\nsubway_(restaurant),3\npokebii,1\ndolph_(beastars),4\nfire_emblem_three_houses,3\ncleovelot,4\nquasarbre,4\nraijin_(capdocks),4\ntwist_(twistcmyk),4\nzelenyy,4\nlegendary_beasts,5\nyunobo,4\nhands_on_table,0\nshoulder_devil,0\nramaraffe,4\nrocketraccoon,1\nvent_art,0\nmutantail,1\npromontory_(mlp),4\ncopyright,3\ndusty_(dusty),4\nscaredy_squirrel,3\nazusis,4\nwhitediamonds,1\nrob_(rthc),4\nslice,0\ntokeki,1\niggi_eastwind,4\nserious_sam,3\nbarrus,4\nryuu1ch1,1\nbosshi,1\nmutual_rimming,0\ntiaamaito,1\ndiablito_(artist),1\nkite512,1\ntunnel_plug,0\nbeagle_boys,4\nlumpsofcole,1\nsunstab,4\njikylio,1\ncum_drop,0\npitcher_plant,5\nezzleo,3\npinstripe_potoroo,4\nholydust,1\nwolfger,4\narts_of_indiego,1\ncircus_of_anya,3\nsolarissativa,1\nchisara,1\nayden_(character),4\ncassia_the_pronghorn,4\nsnapback_hat,0\numbrella_corporation,3\ncarl_theodore_grant_(grafton),4\nsinnerscasino,1\nfrench_braid,0\nkiu-wot,1\ndream_mirage_(hyperion),4\nvixvixart,1\nparkour,0\nroger_wynne,4\nvlad-lox,1\ncassius_(oldmancassius),4\nmishiranui-san,1\nkierra_holt,4\nkei_(notglacier),4\nneck_scar,0\ndark_headwear,0\nchocolate-beverage,1\nutouchmyweird,1\npanda-chan_(artist),1\ncatsikune_(character),4\nlornsky,1\ncrrispy_shark,1\nluoluokun517,1\nbreezie_the_hedgehog_(archie),4\nsneer_(artist),1\nlinker,4\nbattu,4\nbikini_plate,0\npowers,0\nowen_clerk,4\nneonway,1\nmoisture_(chichi),1\nstepfather,0\n91o42,1\nsinner!,1\nreaver,4\nsnowyblue1,1\nulako,1\nkingdorkster,1\nwhite_leotard,0\ntight_skirt,0\nblitzo_(vivzmind),4\nglacey_(silver_soul),4\nmaxwtv,1\ndart_(brok_the_investigator),4\nunclesam1976,1\nlittle_bear,3\nholding_buttplug,0\nsally_whitemane,4\npetal_maw,0\niisaw,1\naradia_megido,4\ndragonewt,5\nbattleship,0\nseeq,5\npassage,1\nrobin_(fire_emblem),4\ndeep_rising,1\nalice_liddell,4\npancake_(character),4\nshiren_the_wanderer,3\nmoving,0\ntsunade,4\nratfolk,5\ntomlad,1\naf-js,1\ngoblin_shark,5\nchioro,1\ncanyon_(adventure_time),4\nfetch,0\nhonk,0\nthe_weaver_(character),4\npsylocke,4\nkiki_(jurassiczalar),4\ngreat_fairy,4\nrou_kemonone,4\ns.o.r.u.,4\njackson,4\nsephrendemon,1\nbokkun,4\nminashirazu,1\ntriti,4\nveryfluffy,1\nfoxpawmcfly,1\nstatue_of_liberty,4\nsnowiezegreight,1\nchase_the_otter,4\ntitanoboa,5\ntildriel,4\nzoosie,4\ndeep_anal,0\ntugma,4\njamesjackobgermany,1\noutlandish_studios,1\nbergmite,5\ndrumming,0\nbakemonogatari,3\nfrenor,4\nswag,0\nsaturn_(planet),0\nbomba_world12,1\nbustingmangos,1\nlunging,0\nblue_cloaca,0\nreverse_forced_fellatio,0\ndrawstring_swimwear,0\nred_seam_briefs,0\nkiseki_art,1\nsunny_(lucentleader),4\nmayra_boyle,1\nemerald_blade_(oc),4\nfurry_breasts,0\nglurb,0\nhikinks,1\nefryol,1\nbrittany,4\ncyclizar,5\nsimonsbathtub,1\ndj_subatomic_supernova,4\ncapra_kid,1\ncouple_(disambiguation),-1\nsuruga_(xsurugax),1\nichig8miruku_(artist),1\naurora_(disambiguation),-1\nguzzle,4\nmrxrayfire,1\nsquealers_chief,4\nzip_tie,0\ngreen_tuft,0\nohiri,4\ncock_ring_vibrator,0\nscrap_baby_(fnaf),4\nparker_(kibbleztheyeen),4\npolar_bear_humanoid,5\nrotom_phone,4\nashtonsparx_(artist),1\ndengus-pengus,1\nultimate_custom_night,3\ndoctor_monifa,4\nwingdavon,1\nelara,4\njyxa,4\ndarkwufflez,1\nkiit0s,1\nchirin_(ringing_bell),4\nsex_toy_titfuck,0\nangrydraconequus,1\ntaliesin-the-dragoon,1\nthe_depths,3\noney_plays,3\nmessyszop,1\nbds17,1\nlucky_(mcnasty),4\nlotus55,1\nejaculating_while_penetrated,0\nmystical_stratus,4\nrockstar_foxy_(fnaf),4\noini,1\ndelicious_in_dungeon,3\nslate_wolf,4\nlovely_tail_(dlrowdog),4\nbuzya,1\ncornflakes_(derek_hetrick),4\nagent_0730,1\nsix~,4\nkestenan_(artist),1\ncrew_(dippubear),4\ntism_rabbit,5\nhelena_(paledrake),4\nbernie_burr,1\ndiarmaidhutchence,3\nreizohozon,1\nhair_tubes,0\nkendall_(wastester),4\nmiriam_hutchins,4\ndergum,1\ntyler_3d_(artist),1\nciervorobot,1\ntommybunz,1\nvance_(zephyrnok),4\ntaur_to_humanoid,0\nray_(takemoto_arashi),4\ndesk_lamp,0\nfenoxo,1\nkathleen,4\nhairy_ass,0\ntripping_balls,0\nnidrog,1\nkryptonite,0\nsydea,4\nleaf_umbrella,0\nsabre_(weapon),0\narvo92,1\npsycrhen,5\nimperial_dragon,5\ngauge,0\nkmf97,1\nneelix_(character),4\nsixsydes,1\nracket,0\nkeigai_(character),4\nstarblaze25,1\nmistress_mare-velous_(mlp),4\nsekotta,4\nphoebe_(animal_crossing),4\ndogtanian_and_the_three_muskehounds,3\nmad_dummy,4\nfuck_the_police,0\ntaneysha,1\npatio,0\napp,0\nclover_(madagascar),4\ndingbat_(character),4\nwanking_gesture,0\nguanaco,5\ndiddydoo,1\nghost_of_a_tale,3\nbololo,1\ntay_(powfooo),4\ncyanne,4\ncraymin,1\ndraneas,1\nby,3\nmekko_rarekko,3\nsi_ra_ta_ma3,1\nburnbuckie,1\nmad_moxxi,4\nluminyu,1\nsebastian_greninja,4\nturkojar,1\njiffic,1\nholding_forearm,0\nteal_belly,0\nterrador,4\nperforating_wound,0\nmaneki-neko,0\ncatsmeow,1\nsonicgamer,1\ndaenanguis,5\nkilo_(kilocharlie),4\nchelsea_(zombieray10),4\nrainihorn,1\ndemon_beast,5\nsallie_may_(vivzmind),4\nhenrietta_hound,4\nayabemiso,1\ndonkeyramen,1\nnycteus,4\nnomuralok,1\ngylala_(artist),1\npanickingad,1\nnose_bandage,0\nbrown_hoodie,0\nsammyphan,1\nmood_lighting,0\nvamux,4\nsyx_(symbiote),4\nbandaged_hand,0\nblue_(among_us),4\nelpizo_(artist),1\ntail_covering_crotch,0\nying_li_(lucariored),4\nkokoro-tokoro,1\nleg_squeeze,0\nzen_(grimart),4\namo_(amocin),4\nsarah_(the_last_of_us),4\nvertical_standing_split,0\neleniel,4\nfinal_fantasy_tactics_advance_2,3\ndairy_air,3\nkt80,1\nzahk_(knight),4\naleks_howes,1\nhyenajack,4\neroskun,1\npink_eyelids,0\nlucheek,1\nmask_transformation,0\nelfuda_(plus-sized_elf),4\nskull_boss_guzma,4\nmelanie_cow,4\nferal_transformation,0\nblackbatwolf,1\ntouching_thighs,0\nrifle_sling,0\nkishna,4\nteal_claws,0\nconvertible,0\nsoledad,4\ngolde,1\nmoles,0\ncomet,0\ncassie_cage,4\nsoliscanis,1\nsober_(character),4\ndean.winchester,1\narilen,4\nthunder_stone,0\nganassa,1\n1970s,0\nmeegol,1\ncalamity_(averyshadydolphin),4\nrosie_(cyancapsule),4\nemmapresents,1\nblackcat,1\nwet_breasts,0\nnalica,4\naria_t'loak,4\nlbt9000,1\nanapnea,1\nstapler,0\nreginaprimata,1\nkharnak,1\nlaurel_(freckles),4\nheligator,5\nharumati_ituko,1\nsapphire1010,1\neluna_odis,4\nhamsteroftime,1\nhome-cooking,1\nvenauva,1\nemerald_raven,1\ndaiha,1\nseptum,0\nalt-b-shephelie,4\n8-bit,0\ntyranos,4\nseras_greil,4\nanaktis,1\ntygar_tiger,1\nwhatsalewd,1\nshaadorian,1\npatsy_smiles,4\namethyst_star_(mlp),4\ndiaper_bag,0\nmaple_(animal_crossing),4\nsimon_belmont,4\ntakatmadisney,1\nhead_accessory,0\nfrisbee_in_mouth,0\nwittleskaj,1\nfrankescobarx,1\nanal_impregnation,0\nmenstruation,0\nmalegardevoir,1\nslightly_chubby_gynomorph,0\nwaving_arms,0\nhelga_(world_flipper),4\npantvore,1\nitzalisix,4\nbetween_feet,0\ncjweasle,1\nhilwu,4\nah_yes._me._my_girlfriend.,3\nmaylah,4\nmovie_accurate,0\nkindergarten_uniform,0\nsockodrawing,1\nmindfucklingskelly,1\nmarcosaurus_(imperatorcaesar),4\nascord,4\nbelly_kiss,0\ncatmakinbiscuits,1\nblack_sky,0\nrorik_(the_human_heart),4\nxylerthewolf,1\ntongue_out_piercing,0\ncleo,4\ndoor_frame,0\ngabriel_(luckyabsol),4\nmonotone_back,0\nzylenox,1\npoochybig,1\nsvi,4\nmomo_92698,1\ngarou:_mark_of_the_wolves,3\nmulticolored_sclera,0\nstickyguts,1\nminamikoboyasy,1\ntopless_gynomorph,0\nlorena_(artist),1\nflower_(bambi),4\ndiana_linda,4\nlegend_of_the_werehorse,3\nsoroxel,1\nvasha_vinodragova,4\nmars_light_carbuncle,4\nplover,5\nwater_hose,0\njapanese_flag,0\ncharmin,3\nterra_macro,0\ngreen_cheeks,0\nsyncope,1\ndining_room,0\naniel,4\nlance_(weapon),0\nyeenbitez,1\nlight_armor,0\ncountdown,0\nrenrailos,1\nmakuta,5\norange_glow,0\nmulticolored_briefs,0\nluz_(the_owl_house),0\ncait_sith_(ff7),4\nalice_(gold97fox),4\nkyubicat,1\nbritz_strudel,4\nburninggryphon,1\nmilftoon,3\ntawnix,1\nroninsong,1\ndiana_(lol),4\ncutedeer,1\nshun_shirai,4\njinbei_(clothing),0\nsubaru,3\ndarunia,4\nganson,1\ntwo_tone_t-shirt,0\nfire_flower,0\nello_(anaugi),4\nclara_(canisfidelis),4\nkuroneko_(doukutsunezumi),4\npnoll,1\niguanodontid,5\nthe_bottomless_district,3\ncheetabbit,0\nftnranat,1\nangel_patoo,1\ntouching_ear,0\nkatlovesshrimp,1\nthe_neopets_team,1\nhavoc63,1\nmonotone_inner_pussy,0\naxentooth,1\nsurvival_of_the_fittest,3\ncanyne_khai_(character),4\nfeodaron_sd,1\nxinwan_(artist),1\npapyrus_(underswap),4\nlacy_panties,0\nnorihito,1\nhip_tattoo,0\nike_(fire_emblem),4\nhochune_meowku,4\nparfait_(yesthisisgoocat),4\nraina_(goopyarts),4\nolive_(olive1155),4\nchurroshiba,1\npak_choi,4\nholding_tablet_pen,0\nshiratzu,1\nsleepysluff,1\nkenron_toqueen,1\nred_swimming_trunks,0\ntail_nom,0\nshopping_mall,0\nhuman_on_machine,0\nsmall_beak,0\ntight_jeans,0\nada_wong_(resident_evil),4\ngreen_saliva,0\nholding_ruler,0\nhornet's_needle,0\nwildworks,3\ndart_(nuttynut93),4\nluckymax2012,1\ndrinking_blood,0\nicaron,1\nashley_williams,4\nstonecircle,1\nauro_vee,4\nholding_back,0\npixie_(monster_rancher),5\npenny_(tits),4\nkhurje,1\nchikkibug,1\nmirkrali,1\nsquirrel_girl_(marvel),4\ndulcinea,4\nremitost_(bigrottiedawg),4\ncharlotte_(bzeh),4\nhacking,0\nanatomically_correct_cloaca,0\nfleet_wing_(fursona),4\nhost,0\ntakemoto,4\ncurry_(copyright),3\nforeskin_piercing,0\ncrankyconstruct,1\ngus_(flir),4\nlagombi,5\nshulk,4\nys,3\nqinus_axia,4\nkizion_ksharr,1\nchet_(anti_dev),4\ninitiation,0\npouty,0\nlight_toes,0\nhamgie,4\nflatsfag,1\nharb_freton,4\ngabu2929,1\nfur_jacket,0\npochizizi,1\ndicksndemons,1\nsirus,4\ndemon_pony,5\nheart_speech_bubble,0\ntennessee_kid_cooper,4\nhuge_latissimus_dorsi,0\nwerepony,5\ntentacle_lick,0\napple_pie,0\nbrushing_tail,0\nkhanyvor,1\nxuteng_(tokifuji),4\nsrmko,1\nanamniotic_egg,0\nconcoction_(artist),1\nmaka_(anthemoftears),4\nsuerte,4\nhermann_(knights_college),4\nwireframe,0\nsynkosium,1\ngirokemo,1\njina_choi,4\nlewdstuffstack,1\nluxury_gin,1\nkatie_tiedrich_(persona),4\nclitoris_rubbing,0\nbastet_(puzzle_and_dragons),4\noutcrop,0\nshina_(artist),1\nvalheru,4\nbody_wraps,0\nk-draws,0\ntasteydonuts,1\nceles_traydor,4\ntouching_pussy,0\ntofu_(food),0\nrare_ltd,3\nmulticolored_necktie,0\nbanded_tail,0\nwortox,4\nsoft_lighting,0\nignitus7,1\ncyd_(animal_crossing),4\nananafruit,1\nbeans_(rango),4\none_glove,0\ndai.dai,1\nnibe.a,1\ndanilokumriolu,1\nnatsu_(natsu_o3o),4\nace_(kamex),4\nsefuart,1\niudi_(iudicium86),4\npanda-kun,4\nback_plates,0\nblack_circus,3\nmaewix_(artist),1\nbutts_everywhere,0\nhyena_girl_(study_partners),4\nmexifurfoof,1\nsachidog,1\nbmf_6666,1\ncoal_(tawny_otter),4\nleakyroot,1\nsaaxon,1\ngarnnet_(character),4\nturismoturbo,1\nhoedeer,1\njessica_ainsley,4\nwoolier,1\nsarybomb,1\ndiana_(jewelpet),4\ntinkerbomb,1\nefrejok,1\nthigh_holster,0\nmistresssable,1\ntrombone,0\njakkal,1\nrubilocks,4\nvress_(artist),1\nduez,4\nmulti_handjob,0\nconkeldurr,5\nfreebird11,1\nruzha,4\nkimihito_kurusu,4\nmavi,4\nmixing_bowl,0\ncongalala,5\njenny,4\nhindu_mythology,3\nhoot_(character),4\nron_spencer,1\nblanche,4\nthe_surgeon,4\nstarbuck,4\ncat_taur,5\nsmexyoryx,1\nkurokawasudou,1\ndog_costume,0\nftl:_faster_than_light,3\nmirromy,5\nmy_singing_monsters,3\ndecay,0\niuana,4\nchristine_day,4\ngouguru_(artist),1\nrainypaws,1\nwheat_field,0\ndeadjackal,1\nhibiki2,1\n1950s,0\nida,4\nbanding,0\nbelted_boots,0\nevay,4\nsadistic_smile,0\nvoice_actor_joke,0\nclover_(lost-paw),4\ncabrony,1\nhayden_(solfies),4\ndekotf,1\nrubiont-47,1\nbrian_(thespiderbunny),4\navalee,4\nlexiedraw,1\nlitho_sandoval,4\nkastoluza,1\nwet_anus,0\nmighty_switch_force!,3\nimminent_death_by_snu_snu,0\ndanny_(funnybox),4\nash_bunny_(skeleion),4\nlionel_(fluffedwings),4\nwolfthatmeows,1\nlong_term_chastity,0\nlizardmane,1\ntrainer-kun,4\nspikysketches,1\nmelusine_(final_fantasy_xiv),4\nflaffy_(viskasunya),4\njenery,1\nholding_diaper,0\nkloe_(artist),1\nmek,1\ngeckonori,1\nduo_(character),4\npebble,0\ngermainethevixen,1\ntwo_ton_tina,4\nrichard_conrad,4\ntachyon,1\nanthro_scale,0\ndeckland_(tokifuji),4\nherbivore,0\ncacnea,5\nshading_eyes,0\napex_(starbound),5\nlegend_of_krystal,3\nlarathen,1\nkonani,1\nsoroka-ne-soroka,1\ngranberia,4\nshempu,1\nmillie_(ozy_and_millie),4\nkyoshinhei,1\ntavros_nitram,4\nyukino_kouta,1\ndigital_hysteria,1\nmiz_ma'm'selle_hepzibah,4\ncrying_blood,0\nstefan_(smove),4\nkaaly_(notbad621),4\ntatiana_tuschenko,4\n/co/,3\ncalico_pattern,0\nentering,0\nsteve_martin,1\nsnow_white_and_the_seven_dwarfs,3\naskadolesentspikewebcam,1\nkatja_(tigertau),4\ncum_on_torso,0\nselection_menu,0\nseparation_(layout),0\nmonotone_earbuds,0\npingumarci,1\ngold_hooves,0\ntorou,1\nkoji_koda,4\nthroh,5\nari_yellow_bell,4\nprint_apron,0\nlonnyk,1\ngoopy,0\nmonotone_neckerchief,0\nmonobutt,0\nkeira_niobe,4\non_container,0\nsammy_(dogfluid),4\nkimera,5\ndimitri_(xelaaredn),4\nnanniras,1\nsoleil_(keffotin),4\nnikki_(nikkithetanuki),4\nnsilverdraws,1\npuss3250,1\ndevon_(nikora_angeli),4\nlicking_popsicle,0\nking_cobra,5\nakira_(shane),4\npj_(pittiepj),4\nnautilus,5\ndark_stockings,0\nelse_(masterful),4\npink_speedo,0\nmetal_balls,0\nhandprint_(marking),0\npopemadara,1\npink_necktie,0\niaian_luxo_fox,1\nuiokv,1\nin_glass,0\ntsunami_(wof),4\nkleika,5\nfour_(bfb),4\ngossip,0\ndeathclaw_humanoid,5\nnose_steam,0\nfalling_over,0\nerection_under_towel,0\ndiraulus,1\nkloe_kitty,4\nrhiannon_(gingerm),4\nkolossal,1\noscar_statuette,0\njukan_ace_no.007-2,3\nstreaked_tenrec,5\ncrazygreyrabbit,1\nbelle_fleur,4\nelsword,3\nsectoid,5\nhigh_kick,0\nair_force,0\ntsukihime,3\naether_foundation,3\nvaldis_the_bard,4\nrabbitexe,1\npurple_antennae,0\nvanilluxe,5\nrek'sai_(lol),4\nshay_(hladilnik),4\ncounter-strike,3\nyow,1\namy_(dicknation),4\nspritzee,5\ndrakengard,3\nunktehila,4\nkyros_(dowski),4\ngarr_(artist),1\namanda_(artist),1\narcturusx1,1\noviduction,0\ndraconid,5\nglancojusticar,1\ndragon_hybrid,5\nmartin_(qckslvrslash),4\namedama12321,1\n57mm,1\nblue-rum,1\nsteele_(accelo),4\ntenugui,4\nbread-kun,4\nblub,0\ngatorbeast,1\nps1_controller,0\nmeltan,5\ncreamgag,1\nkomajiro,4\nkunako,1\ngarth,4\nruua,1\ncum_on_grass,0\nizzy,4\nscourge_(warriors),4\nq-nik,1\nthrasian,1\nskibby,1\nrollingslash,1\nparaplegic,0\nbug_chasing,0\nyabuinu,1\nmarie_rose,4\naccidental,0\ncaptainninja,1\nflashspot,1\nbecquerel,4\nfoxey_(artist),1\nwinner,0\nfyrre,4\nbloodstone,4\nchimeratechspyro,1\ndangerking11,1\ncarbon_(carbon-draws),4\nred_(redeye),4\ncharacter_cipher,7\ntympole,5\nnemo_(simplifypm),4\nevan_(lavilovi),4\nmadkrayzydave_(artist),1\nvulpamon_x,4\npear_(don_ko),4\nouse,1\ncon_badge,0\nlily_(ralenfox),4\npinchibird,1\ncinn_delafontaine,4\ngusta_(gusta),4\nclarabellecrow,1\nvesna,4\nkitket,1\nkyron-ladon,1\ndaryl_(cringebird),4\nbumblewish_(artist),1\numbryte,1\nstyrling,4\nreloading,0\nsaurian_(mortal_kombat),5\nholding_plant,0\nmulticolored_spots,0\nleotard_pull,0\naka_leopard,1\nunwilling_vore,0\ncolson_grainger,4\nwhite_pseudo_hair,0\ntsillah,4\npink_undergarments,0\ntraining_pants,0\nblue_sex_toy,0\nbuckler,0\nkadith,1\nsmall_fangs,0\nraozone,1\nbellhop,0\nvoider_(artist),1\nfur_rug,0\ntosin,4\nnamugriff,4\ngalaxy_fight,3\nzero_escape,3\nmolly_(zootopia_fan_character),4\njack_frost_(rotg),4\npasikon,1\ntoyger_chives,4\nhead_plate,0\nprimal_rage,3\nedward_elric,4\njinzhan,1\nangelickiddy,1\nfc32,1\necstasy,0\ncyana_(code-blocker),4\nnina_neckerly,4\ntsunderplane,4\ngasoline,0\nsw1tchbl4de,1\nlifted_by_neck,0\nenro,4\nice_cave,0\nrock_band,0\ncharlotte_(puella_magi_madoka_magica),4\npeterson,1\nstrawberry_dragon,4\nhighborn,3\nfox_(bloody_roar),4\nsuit_and_tie,0\nmennsuke,1\nsable_antelope,5\nsatellite_dish,0\nskyraptor,1\nfundles,1\npat,0\nsilverlonewolf,1\nshimille,1\nnightwind,4\naita,4\npattarchus,4\nc-v-m,1\n24cakes,1\ndraringoa,1\nminosuke_mino,4\njasmine_(arizel),4\nmahalo_(mahalocheetah),4\nstepmother_and_stepson,0\nrocket_grunt,4\nwickedcake,1\nbiomutant,3\nhope_blossoms_(colt_quest),4\nbig_blue_bubble,3\ngoldyura,5\nfiller_shmazman,1\nbeak_growth,0\nlara_(daniel156161),4\ntoto_(character),4\nfemale_monster,5\nhoney-beest,1\nmarty_shepard,4\nhornyvoir,4\nlash,4\nfrozen_solid,0\nsubmerged_arm,0\ninterrobang_exclamation,0\nbuttpalace,1\nice_humanoid,5\nglalie,5\nrawk_hawk,4\ngoro_(leobo),4\nlick_zack,4\npage_(jay-r),4\nomori_(game),3\nnatadeko_kitsune,1\nleaf_pattern,0\nsofia_(jagon),4\nekoi1995,1\nchevronfox,1\ndoctor_stable_(mlp),4\ndio_brando,4\nlavender_(arizonathevixen),4\nrhonbon,1\nsnoval,5\nbig_stomach,0\nnut_(hardware),0\nsupercell_(company),3\npuppychan48,1\nanthro_domination,0\nlola_(lewdua),4\ne4hargus,1\nvivian_varker_(herny),4\ndarthhell,1\nhat_ribbon,0\nmama_rabbit_(tmftw),4\nblack_knee_highs,0\ncddi_h,1\ndisclaimer,1\nflowerdino,1\ntoucannon,5\ncovering_erection,0\nnabi,4\nbarutan,1\nuncensored_version_at_source,7\nfrontbend,0\nblob_creature,5\ndotsfa,1\nbuttercup_(powerpuff_girls),4\norion_mckracken,4\nflay,4\nhenkeiusagi,1\nglistening_egg,0\nmonotone_sweater,0\nspike_bulldog,4\ntvcomrade,1\nteddy_bear_(species),5\nmankor,1\nsmollypoli,1\nrocking_out,0\nfluffylambbooty,1\ncum_on_command,0\nthe_man_from_the_window,3\nbelly_on_ground,0\ntsarina,4\nsealguy,1\nsquealydealy,1\nwitch_(puella_magi),5\nxing_the_cheetah,4\nokoge_16,1\nassisted_oral,0\nshinywark,1\nsnatcher_(ahit),4\nari_(caudamus),4\nflushthebatsanta,1\ndanny_(no3512),4\nennard_(fnafsl),4\nmiu_(aas),4\nfofa,4\nabyssal_(kancolle),5\nevelynn_(stargazer),4\nhot_skitty_on_wailord_action,3\nberserker_tamamo_cat,4\nhakumimis,1\nshamerli,1\nkay_rox,4\nchiderg,4\nlibri,4\nskyler_(diegojhol),4\nsei'ven,4\nsinsxie,1\nlock_down_(monowono),4\neluku99,1\nblenderknight,1\nterikressner,4\nnsfwshamecave,1\nmanokit,5\nblue_shell,0\nukimori,5\nshowers,0\nsasha_(maloo),4\nthirsty,0\ngahowolf,1\ngeckzgo,1\nair_freshener,0\nbindi,0\nconnec,4\npurple_rope,0\nandalusian_horse,5\nbelle_(cainesart),4\nsky_stinger_(mlp),4\nprincess_sherry,4\nlemoncore,1\nturbine,0\nneoneon,1\noliverfox,1\nmoonlight_raven_(mlp),4\nsuel,4\nphoto_booth,0\nplum_(fruit),0\nfloating_crown,0\niizuna,1\nnaked_ribbon,0\npresident,0\namethystdust_(character),4\nhunter_(father_of_the_pride),4\nkajex_surnahm,4\npopori,5\nfink_(artist),1\nailure,4\nsonatadragon,1\nari_guardian,1\nsnekkuu,1\nvaginal_threading,0\nnaomi,4\nwafflecat,1\nspotted_nose,0\nrevenant_(supersoupnova),5\nhands_on_own_butt,0\ndarkburst_(artist),1\ndenim_(artist),1\ngina_(lightsource),4\nmasquerain,5\ndelorean,3\nskyeder0,1\nt-bone_(extreme_dinosaurs),4\nsmokedpone,1\nember_(angstrom),4\nmelissa,4\nanila_(granblue),4\ncloudjumper,4\nmaximilo,1\nballs_through_fly,0\nmisplaced_spigot,1\ncliffs,0\nsharing_scarf,0\nfirewood,0\njagged_teeth,0\nleg_muscles,0\nresting_balls,0\noz_(tas),4\nexercise_mat,0\npussy_tickling,0\ndizzyvixen,1\ndogslickingsoda,1\ntinntira,1\ndergorb,1\ndante_(ghost_forger),4\nnox_(sonicfox),4\nhunter_(rubber),4\nmatainfancias,1\nlanwin,1\njanrock,1\nface_on_breast,0\nannetpeas,1\neggbot15,1\nsharkdark,1\nunusual_nipples,0\ncorvid_humanoid,5\ntsuraipossum,1\nmia_dyke_(character),4\nira-arn,1\nyamacha012,1\nhiore,1\ntied_to_bed,0\npurple_cloak,0\nrainbow_dildo,0\nalex_the_crocodile,4\nbobo_(bristol),4\nstar_oculama,0\nsoovka,1\ncharacter_map,0\nwezengammamon,5\ntong,0\ngene_trifell,4\ncomorito,1\nmashiro_sssinohu,1\nvladislav_(lynxoid),4\nizm_rm7,1\nmojiuwu,1\nryuzoku_seitai_chosa_han,1\nwilderkin,5\nmucdraco,1\nninjamoon,1\ngoobit,5\nlucas_(littlerager),4\nbrassiere,0\nbaniflakes,1\nweb_(disambiguation),-1\ntommy_koi,4\ntimon's_ma,4\nsuri_alpaca_(kemono_friends),4\ncloudpie,1\namano_jack,1\nsketchyjackie,1\nsimona,1\nprancer,4\ncranidos,5\npretzel_(food),0\ngolden_sun,3\nms-seven0,1\nsnowmutt,1\ntailzkip,1\nsamson_(skullgirls),4\njackajack21,1\ndraki,4\nmyebi,1\nkorurun,1\ngray.wolf,1\nderetto_alexiel,4\npeeing_into_pool,0\ntacofoxbrazil,1\nyuujirou_(lagoon_lounge),4\ngroaning,0\nkousen,1\nscritches,0\nsupermarine_spitfire,3\nwet_balls,0\nsu1ka,1\nwhipping_butt,0\ncelestia_(last_origin),4\nfixink,1\nkanon_(applejacksville),4\npink_elbow_gloves,0\nclovergame0,1\nsarah_(sarah_and_duck),4\ncolleen_(masterofall),4\ndrinking_own_cum,0\ndangling_arms,0\ntamamo-chan's_a_fox,3\ndlion0000,1\nyokikana_yk,1\nrokan_(rokanartz),4\nhorus_wild,4\nsanta_dress,0\nshoejob,0\nknest,1\nsoviet_flag,0\nthe_nether_(minecraft),0\ninstinct_legoshi_(beastars),4\nstern_look,0\nheart_headwear,0\nrottenrollz,1\ndragonsaviour,1\nmitokon_dorian,1\nkara_(dandarkheart),4\ncivibes,1\nmottled_nipples,0\nfluffy_paws,0\nthepandobo,1\nkali_(artist),1\nftrashman_(artist),1\ncode_geass,3\ntenna_cale,4\ntransfer_birthing,0\nkohaku_sunwalker,4\nalba_(character),4\nyukira,4\n:v,0\nmegrodite,0\nclutterstep_(oc),4\nwandrevieira1994,1\nrandomgirl1265,1\ntriss_merigold,4\njazcabungcal,1\ngandharva,4\nvendor,0\nlanaya_the_templar_assassin,4\nbox-cat,1\nmagpie_(artist),1\nmichael_caddell,1\nnama,1\nsydney_o'connell,4\nathiesh,4\ncirclea61,1\nlatex_hood,0\nflygon_(artist),1\nmusharna,5\nsorakan,1\ngrey_swimwear,0\nlazertooth,1\nheyriel,1\ndetective_pikachu_(video_game),3\nmia_(artist),1\nsushi_xisaru,4\ngigan,4\nunderwater_scenery,0\nuno_(unokoneko),4\numbry00,1\ntrough,0\nglowstone2001,1\nmcgack,4\nlonelyworld,1\nheavy_bottom,0\npanda_humanoid,5\njodelr,1\naudrey_(herny),4\nsylvia_(ratherdevious),4\nryuryutwins,1\nblue_eyelashes,0\nkixx_(lilo_and_stitch),4\nkralex,4\nlatex_skinsuit,0\nbrush_tail,0\nmelvelvin,1\ntouching_shoulder,0\nwerehyaenid,5\narrow_hearted,1\njamie_(tawog),4\nisomaru,1\npisces_kelp_(fursona),4\nquestzer,1\nclipped_ear,0\nblue_bikini_bottom,0\nnaruto_shippuden,3\ntorture_device,0\nroyal_ludroth,5\naizawasilk,1\nterry_cloth,4\nzak_(dragon_tales),4\nkorok,5\nspace_shuttle,0\noctobertiger,1\nsmall_upper_body,0\ntwili_z,1\nthe_quick_brown_fox,4\nsuper_buu,4\ndistantcognition,1\nelijahelegia,1\nsurgeon,0\ncoffinberry,1\nrhaja_aaruna,4\nhamakei,5\npolish_text,7\nbutcher,0\ndancer_position,0\nroegadyn,5\ncrayon_(artist),1\nsis_(robin_hood),4\nemerald_(ultilix),4\nholding_crowbar,0\ngryphon_(untied_verbeger),4\ngreen_frill,0\nsocchinn,1\npurple_t-shirt,0\nlance_(xevv),4\nzyneru,1\nchainsaw_man,3\ngoss_harag,5\ntouching_arm,0\nrawenski,1\nvisible_stench,0\nlink_(linklynx),4\nflorin_eventide,4\npaleoart,0\nnoodle_(herpderplol),4\ndativyrose,1\ncheyenne_(inu-dono),4\nponett,1\ndeltav,1\njakeseeker,1\ngrey_goggles,0\nscaled_underbelly,0\ncoat_rack,0\nmale_feet,0\nholding_mace,0\nevlass,1\nsilver_(killerwolf1020),4\nkasetsu_hanga,1\nfauna_island,1\ngalliform_humanoid,5\ndonut_print,0\nnikolai_(the_smoke_room),4\ngreyofpta,1\njade_(batartcave),4\nstrahinium,1\nrumble_(movie),3\npunklestia_(mlp),4\nbecky_(disambiguation),4\nstudiofow,1\nburgerpocalypse,1\ntorakaka,4\nkenku,5\nalan_(beez),4\nprint,0\naubrey_leung,1\nhanako_(ayaka),4\nhyperion_(character),4\narchspirigvit,1\npoop_creature,5\nmilkibee,1\nmarkus_(kadath),4\ndynamax_pokemon,5\nmonster-chan,4\ndirtywater,1\nastrix,4\ncancerdoge,1\npustyxox,1\nvolkv_vseslav,4\nnanako,4\ntaylor_(fuel),4\ncocoa_(3mangos),4\ndestiny_(milodesty),4\nskye_(jakethegoat),4\nroommates,3\nnebula_(toonsexual),4\ndoppledadko,1\nleoafterhours,1\nxneostarx,1\nsockrateesy,1\ntory_(backup4now),4\nprotective_gear,0\nviolet_sabrewing,4\nvalez,4\ncapra_goofus,1\nnuba_ball,1\njockington_(deltarune),4\n5ushiroll,1\ngreenbeanyeen,1\nlawn_mower,0\ncharlotta_fenia,4\ntee_k.o.,3\nfloofy_(character),4\ntriplesevens_(artist),1\nvaligar_(himeros),4\nbludragoon,1\nandy_price,1\npainting_nails,0\nshiki-kun-baka,1\nblood_on_tail,0\nkayla_(zoophobia),4\nchipmunk_humanoid,5\nmizumew,1\ngooey_(kirby),4\nanus_mouth,0\nvexxus_(vxserenade),4\nnosepass,5\nkit-bash,1\nscissorsrunner,1\nyagatake_arashi,4\ngrowing_up,0\ncorvidius,1\nwake_up,0\nihara,1\nsixty,4\nask_princess_molestia,3\nyoona,1\nniko_(paintchaser),4\nkimberly_ann_possible,4\npixel-prism,1\nmy_little_pony_'n_friends,3\nshiratsuki,1\nzokkili,1\nmrsorange,1\nmoana_waialiki,4\ngynomorph_dominating_male,0\nkantra,4\nfelixspeagel,1\nblue_whale,5\ndarkwingo,4\ngarigari,1\nhipstar,4\nmarrazan,1\nyuuyatails,1\no_0,0\ncountdarkhugs,1\ncock_birth,0\ntamyra,1\ndelilittle,1\ngreaser,0\nmakuhita,5\nxheten,1\ndanarius_valterian,4\nzhean_li,1\nhands_on_own_face,0\nboss_(hamtaro),4\npoiuytrew,1\ndocument,0\nblack_soles,0\ncatherine_(datbadger),4\nmichelle_(disambiguation),-1\ngerpuppy,1\nspotted_legwear,0\nmrkashkiet,1\ngrimgrim,1\ncorporal_the_polar_bear,4\ntextbook,0\nfox_fury,1\ncrotch_teats,0\nsashi_(syrinoth),4\nsarustreeleafwolf,1\nby-nc,3\njacob_sheep,5\nthe_assistant,4\nfrost,0\ndarius_(fullmetal_alchemist),4\ngazebo,0\nsupki,1\npenis_on_paws,0\ndizzydills,1\ntaffy_monster,5\nrazalor,1\nspearmint_(character),4\nponcho_(artist),1\nspy_fox,4\nstupjam,1\nbuckskin,0\nmilkexplorer,1\nkeovi_(character),4\nmaikeru,1\ntwilightflopple,1\niriai_inasa,1\nsaintdraconis,1\ncum.cat,1\nellie_(alphax10),4\nslashing,0\nnerd_(character),4\nendermoonfur,1\nhatenna,5\ngoodbadartist,1\nmiasmagrowlmon,4\nclitellum,0\ndylian_hailford,4\nyoda's_species,5\nmanumaru,4\ncrown_prince_(gunfire_reborn),4\nspunky_(spunky),4\nmew_(helixjack),4\nlittleslice-sfm,1\npercy_(lazysnout),4\ntrumbeak,5\nponeboning,1\nkomi-san_wa_komyushou_desu,3\nyamikoneko,1\npolidog_patrol,3\nabuniverse,3\nmodern,0\nanthromate,3\nhighheeledjill,1\nillis,1\nthinking_pose,0\naurora_(purplebird),4\ndipteran_humanoid,5\nraditas,4\nvixy_(vixynyan),4\nloona_in_mexico,3\nkespuzzuo,1\nparadoxing,1\ntoxic_waste,0\nsyukouakanaru,1\nmaster_wolf_(neo_geppetto),4\nmutagen,0\nsaxicoline,5\nmatoran,5\nmonotone_leash,0\nneon_j.,4\nyurai,1\nnaxther,4\njane_(jakethegoat),4\nbandaged_head,0\nmicah,4\nsmall_norm,4\nsquid_girl_(series),3\nlewis_(glopossum),4\nconvenient_power,0\nreaching_for_object,0\njovi_cap,1\nhondaranya,1\njenklinbullterrier_(artist),1\nosaki_eru,1\nornateraven,1\ntoxic0266,1\nzyneru_(character),4\nmourning,0\nr'shiru_oddmane,4\nfaelyn,4\nholding_chain,0\nmattythemouse,1\nboony,4\nkordcross,1\nvasciel_aplisto,4\nbow_(disambiguation),0\nyellow_talons,0\nsupermoonshroom,1\nvivian_(clockwork_journeys),4\ntext_on_vest,0\ncalico_kai,1\njunk_food,0\ngoddamnitrobin,1\nchip_(lightsoul),4\ntwo_handed_weapon,0\ndartboard,0\njericho_(ahoge),4\ndrip_(jack),4\nbreast_bulge,0\nbroken_weapon,0\nhand_on_another's_hand,0\nhynik_(artist),1\nduck_lock,1\ndualsense,3\nrenge0101,1\nneko_kaminari80,1\nmooncheese,1\nvector_(hsd),5\nichigo,4\nlilithrose,1\ncrazy-matroskin55,1\npenny_pound,4\ndusty_(balto),4\ncoiljob,0\nwiping_sweat,0\nanimal_bride,0\nworgen_(feral),5\numiriko,4\nproxicute,1\nblackfang,4\nkevin_(kadath),4\nmama_bear,4\norangetaming,1\ntowel_rack,0\nkittytitikitty,1\nphilfox,1\ncarrotwolf,4\ndrawller,1\nirondragon5150,1\nmulticolored_apron,0\nleg_cuffs,0\nspringer_spaniel,5\ncirez,4\nurbanmonster,1\nskade,4\ntempesta_(scarywoof),4\nwingedwolf94,1\nnarcissism,0\ndouble_entendre,0\nhalf_demon,5\nhop_(movie),3\nfane_kobalt,4\nmyrina_(o_im_soniic),4\nnaskatan,4\nscarlet_(scarlet-drake),4\nusagi_star,1\nryoken,1\ntop_knot,0\nkeleth,4\nalex_(minecraft),4\nmisha_(colo),4\naboriginal,0\nzsloth,1\nsandlava,5\ntalyxian,5\nmanestream_studios,1\nsupermare,0\noral_fingering,0\nmud_bath,0\nleprechaun,5\nnineka,1\near_chain,0\nkokobuttz,1\nkaizer_(showkaizer),4\nmattumby,1\nanus_behind_thong,0\ncum_on_navel,0\npink_thigh_socks,0\nmantrinrus,1\nredcrystal,1\nhands_on_sides,0\nmutt_moth,5\nlennox_(mynka),4\nheavy_truck,0\nspider_legs,0\norange_light,0\ngingersnaps_(oc),4\ntrisha_fox_(zzx),4\npregnancy_tally,0\ndarbo,4\nhugging_leg,0\nhalf-dragon,5\nchingling,5\nsaphine,1\nerza_scarlet,4\nshadowprints,1\npens,0\ntheidiotmuffin,1\nmythruna,1\ngood_guy_loses,0\nfront_gap_briefs,0\nmyoti,1\nlariska_(diafilm),4\nhuffaromas,3\ntetragon,1\nnoah_(fuze),4\narlo_beauregard,4\nred-eyed_treefrog,5\ndark_the_xenodragon,4\nriley,4\nranga_(that_time_i_got_reincarnated_as_a_slime),4\nreggie_(thenowayout),4\nwetwaffls,1\nren,4\nrasenxoru,1\nsquare_eyes,0\nheffer_wolfe,4\nbarricade_tape,0\nyellow_vest,0\nelmejorlecheroart,1\nmila.moraes,1\nchili_pepper,0\nalexmakovsky,1\ngylala,4\nrevealing_outfit,0\ntaga,1\nfinland,0\nannaklava,1\nrouen_(blazingfrostwolf),4\nminze,1\nchi_chi's_mom,4\nf.l.u.d.d.,4\njohanna_(paledrake),4\ntouching_own_breast,0\nweb_encasement,0\njraisins,1\nfake,0\nhako,1\nfinfoka_starman,4\nelsifthewolf,4\nelmo-san,1\nregnar,1\nlabbedog,1\nrufus_(the_dreamstone),4\nkaratakewari,1\njustin_(nimh),4\nthoth,4\ncrystalvapor,1\nsterling_(animal_crossing),4\nlifted_by_legs,0\nminidress,0\njellicent,5\nruin,0\njay_malamute,1\nscat_inflation,0\nfurpics,1\nrazzlespup,1\npartners,0\nbank,0\nsharpy,1\nprince_tricky,4\ncolosseum,0\nharatuka,1\ncock_armor,0\nhands_on_another's_head,0\nlady_red_(wolfpack67),4\nmizett_(doneru),4\nmarshbreeze,1\nbro,0\nswitchy_(joaoppereiraus),4\nemule,1\nsensen,1\npenny_(natani),4\nsateco,1\nfimoman,1\npov_crotch,0\norianne_larone,4\nholding_armor,0\nwarfarin_(arknights),4\ntototlfluff,1\nmurphy_and_mitzi,3\ngarrett_cooper,4\naxl_shoutmon,4\nboth_hands_on_penis,0\nalisa_(iskra),4\narm_fur,0\nstiban_(character),4\nsyna_the_umbreon,4\ncountershade_perineum,0\nzouletsentiment,1\nyoshiheat,1\ntokeli,4\neffects,0\nswfpony,1\ndogbert,4\nkaryn_urtsakar,4\nhot_breath,0\nsein,4\npip_mcgraw,4\nmofumofu,1\ncharlotte_moore,4\nambiguous_slit,0\nmadame_le_floure_(mlp),4\nrakan_(lol),4\ninspector97,1\nnaughtybigdog,1\nochropus,4\nsuicidebones,1\narms_(game),3\ntaira_(totesfleisch8),4\nzo'dee,4\nnorth_korea,0\nchocola_the_chao,4\nquiet269,1\nclaudia_vial,4\ntwo_tone_elbow_gloves,0\nender_riens,4\nzipper_swimwear,0\nfront-tie_clothing,0\nbill,0\nblue_egg,0\nsebastian_the_husky,4\ntail_stocking,0\njayden_coultier_(zaush),4\nbento_box,0\npatrick_fitzgerald,4\nflickering_sparkles,0\nsmaller_non-humanoid_machine,0\ndesert_iguana,5\nalliteration,0\nmakaronnie,1\nraxastake,1\nkumalino,3\nalorias_(kasaiokami),4\nronte,4\ncasting_spell,0\ntristan_growlagher_(spiff),4\nsamantha_snow,4\nnom_nom_(wbb),4\ncorrupted_gem,5\ngbwr,0\nnoh_mask,0\nrex_(cat),5\ndisembodied_finger,0\nsydney_bronson,4\nshellder_(slowking),5\njapanese_wolf,5\nvglewds,1\nmana_(manaozyfolf),4\nsextember,3\nzoqi,4\njames_patterson_(author),3\n9klipse,1\nsex_toy_in_nipple,0\nsilvana_(silviathepony),4\nbody_inflation,0\npointed_cross,0\nlonegreenorcacalf,1\ngin_(chunkyboardad),4\nchelsea_(dkside41),4\nkareca,1\ntext_on_briefs,0\nmira_(1-upclock),4\nenarane,1\ndean_(password),4\nchinchy,1\nkaren_(meme),3\negnahcio,1\ncameron_(zootopia_fan_character),4\nrahkshi,5\nsnuggelina,4\nsebastian_(flugymalugy),4\nrimefang,4\npokéball_clothing,0\nblood_on_wall,0\nketzel99,1\nbumping,0\nmighty_ducks,3\nmutlicolored_hair,0\nmega_mewtwo_x,5\ndanny_cat,4\nstrom_(nihilochannel),4\nnyu_(nyufluff),4\npkay,4\nphoenix_wright,4\naerobics,0\ncaracol,1\nfanboy,0\nsigmarion,1\nsign_(character),4\nmelty_blood,3\nishaway,1\ntruce,1\ndesert_angels,3\nharuz,4\nforsakenmaddness,3\nkatie_(echodiver),4\ncolette,4\ntesslashy,1\ngalrock,1\nsanty,1\ndogbomber,1\ndc_simpson,1\ndragonslayer_ornstein,4\nroy_(roy_mccloud),4\nno_game_no_life,3\nchloe_(chloe.hydraconis),4\nthemanwithnobats,1\npandyshera,1\ndraco,4\ntammy_vixen,4\ncrotch_crab,0\nalucaje_(pixiv),1\ndani_(daniruu),4\nrivia_green,4\ncannibalus,1\ntag_(rimba_racer),4\ngiraffe_humanoid,5\nelsera,1\npinknuss,1\noshawott222_(artist),1\nrokoa,4\njustvisitingg,1\nbrave_(disney),3\nmoldred,3\nspoink,5\njardenon,1\nyaegerarts,1\ntall_girl,0\nblack_blood,0\nsevered_tail,0\nlulemt,1\nborges,1\nexcessive,0\nakuann,1\nopen_jumpsuit,0\npix_(lol),4\nraindrops_(mlp),4\nwolf_(parasitedeath),4\na0n,4\nestablishment_shot,0\ninukoro_(kikurage),3\ninabaart,1\nsejha,1\nsincastermon,1\ntherealf1rebird,1\nethrk,1\nhead_in_pussy,0\nkullax,4\nyellow_jacket,0\nhands_on_own_arms,0\nrisen,4\nblackberry_(purplealacran),4\ntanao,4\nmarsupial_humanoid,5\ndart_(dewwydarts),4\nmysteryboy18,1\narms_around_torso,0\nlionstorm,1\nparovozik,1\nfappuccinoart,1\nzenrii,1\nalecrc,1\nsa_ba_can,1\ndemocrat_donkey,4\nwater_tower,0\npui_pui_molcar,3\njess_(azathura),4\nholding_body,0\nholding_plush,0\nexplicit_text,0\npig_sister_(study_partners),4\nillogicaljumble,1\nkaite,4\nsweet_treat_(gyro),4\nteran,4\nthe_mask,3\ndung_beetle,5\ngoolahan,1\nnotched_leaf,0\nthelousy,1\ncapsule,0\narms_in_water,0\nclothing_by_feet,0\nreiji_tanukian,1\nrainbow_ears,0\ncamwhoring,0\nask-scylla,1\nkit_fox,5\nrobot_unicorn_attack,3\naxelegandersson,1\npink_rathian,5\ncheetahpaws_(character),4\nrandal_hawthorne,4\nslushie,0\nshinekolt,1\nsnorkasaurus,5\ncum_on_egg,0\nmellany_mellons,4\nmina_(mlp),4\nhanar,5\nfuurin_rei,4\nhazardouskink,1\nsnowii,1\nreality_undoer,1\nlarrybay2,1\nhamsy,1\nmurlik,1\ntom_(rq),4\ntriangle_(disambiguation),-1\ngreat_grey_wolf_sif,4\nmarik_azemus,4\nbureido,1\ncrissrudolf,4\nropnolc,1\nnyreen_kandros,4\nhuttsergreywolf,1\nshikakaka,1\nseth65,1\nweebl,1\nlaptopgun,1\nfenni,4\nikusame,4\nglitch_(starbound),5\ncynical_furo,1\nshadowthedemon,4\ndragon's_lair,3\nkabuki_(animal_crossing),4\ndragon_quest_x,3\nbackyardigans,3\nrorik_ironwill,4\ngoatboner_(artist),1\ntrashcamell,1\neiminsansan,1\nbanded_gecko,5\nlogan_sato,1\nfrankuwu,1\ncerdeorhys,1\nshiny_(disambiguation),-1\npussy_towards_viewer,0\nkrishadraws,1\nreirei_(character),4\nmakumo,1\nchii_(nyapple),4\nponepony_(oc),4\npsssh,0\nmotion_arrow,0\ngamesfan,1\nangel_(lightsource),4\nloki_(lowkeygoat),4\nkoriarredondo,1\nhimeros_(himeros),4\nshinyuu_(character),4\npink_blood,0\nkebchach,1\ngingerbread_cookie,0\nnira_(unrealcereal),4\n9dtq0,1\nblueseamoon,1\nalpha_blizz,4\nkemokare,0\nfruit_bowl,0\nzipper_t._bunny,4\nbedhead,0\npaw_on_chest,0\njagal,1\ninuiookawa,1\nfinial,0\njade_brewpaw,4\nhoopoe,5\npropped_up,0\nwolfport,0\nhidden_text,0\nerimad,1\nbaby_(fnafsl),4\ndue,0\nkristen_wolfheart,4\nsnowers_(fan_character),4\nkaniku,1\nsad_eyes,0\ninari_okami,4\nacacia,4\nkamabokobun,1\npommyn64,4\nnoichi_53,1\nvulpin,5\njunkedart,1\ncyrus_(repzzmonster),4\n0711kdes,1\nelysianelly,1\npurple_frill,0\n11:15,7\ntinky,1\nrealistic_anatomy,0\nartamid,5\nmulticolored_pseudo_hair,0\npride_color_jockstrap,0\ndraconian,5\nfatehunter,4\nfish_in_mouth,0\nidel,1\nbalan_wonderworld,3\njuliantheturtle,1\npenis_hot_dog,0\nblaze_(mglblaze),4\nexotic_species,5\nblue_slime,0\nmiagecko,1\nwaiter_tray,0\ndark_fingernails,0\nlow_light,0\nhonduran_white_bat,5\ntanquito,1\nbroken_leg,0\npurmoral,1\nkironzen,1\nbeer_belly,0\nkumadasi,1\ndeadlocked,1\nroobin,1\nrurik_(metalmilitiaman),4\nred_apple,0\njustdavefnd,1\nkoko_(kishibe),4\nlying_on_partner,0\nhoney_(stagshack),4\nshiori_shi,4\nyumi_yama,4\nkougra,5\nbluepanda1,1\njim_hawkins,4\npenny_squirrel,4\nscalchop,0\nshiki_taigen,4\nutilizator,1\nniking,1\nmezzanine_(artist),1\nobi-wan_kenobi,4\nale,0\narchdemon,5\ntimburr,5\npagoda,0\naurora_selachi,4\nbravestarr,3\nseductivesquid,1\nflagging,0\ntokyo_mew_mew,3\ndrcockula,1\nlucknight,1\ndarkeshi,1\ndrawfag,1\nrylai_the_crystal_maiden,4\ngreldon,4\nserareldeer,1\npaintbrush_tail,0\ntranslucent_balls,0\nornate_hawk-eagle,5\n33:50,7\nsabbyth,4\nakittu,1\ntanya_rhyne,4\ncombat_ready_(artist),1\ntahoma_(evergreendrgn),4\nrusso-ukrainian_war,3\nandythetanuki,1\njamie_(zootopia_fan_character),4\ntervos_(character),4\nbunny_enid,4\ndragonlordfluffyxd,1\nthediyemi,1\nelephant_humanoid,5\nrockstar_bonnie_(fnaf),4\ncerberus_(resident_evil),5\nfranset,1\nkastral,4\nsaucy_(sunhuiz),4\nsheriff_hayseed,3\nbǐnggān,4\nhiveswap,3\nrenabu_(character),4\nfully_erect_inside_sheath,0\nspartan_armor_(roman),0\nlying_sex,0\npat_(bluey),4\nsog_(squishy),4\nyoshu_makato_(character),4\npbs_kids_(copyright),3\nshort_hair_with_long_locks,0\nsilverscarf,1\nempress_jasana,4\nlori_jackrabbit,4\nbaroque,4\naedollon,1\npettanko,0\nzeph_boone,4\nlauralien,1\ntylowell,1\nkatamari,3\naohren,4\nscream_(artist),1\n6_toes,0\nthenomeking,4\ntonomori_suguru,4\ndragonflora,5\nbaileys,4\nthe_ring,3\ncuriousferret,4\nteal_anus,0\ntopony,1\nnoogie,0\nvilous,3\njstarwolf13,1\nsine_(character),4\nbird_cage,0\nrock_climbing,0\nhorn_penetration,0\npipelining,0\ntemplate93,1\nknitting_needle,0\nkiller_croc,4\nkgh786,1\npost_birth,0\nmrincred,1\nmireska_sunbreeze_the_dark_willow,4\nmklxiv,1\niguanodon,5\nyuhbuh,1\nemille_selachi,4\nmilk_jug,0\nglistening_head,0\nsquirting_dildo,0\nkit,4\nclarice_(rudolph_the_red-nosed_reindeer),4\nlas_plagas_host_(resident_evil),5\nrush_(mega_man),4\nquizzical_(artist),1\nglistening_shoulders,0\nhead_wraps,0\nvjmorales,1\ncure_(character),4\nlazy_(elvche),4\ndaryl_nimble,4\nwill-o-wish~,1\ncaltroplay,1\nchronos_(dragalia_lost),4\nkisses,0\nmelony,4\nchuck_(angry_birds),4\nequestria_trainers_society,3\nrelax_lion,1\nsturmovik_(hideki_kaneda),4\nmnty,1\nchiro_(skweekers),4\ncum_drenched,0\ngoldenfur,3\nampz,4\nmarine_explorer_buizel,4\noraderg,1\nphyrexian,5\npink_choker,0\nscottieman,1\ncuriosity,0\neurotrish,4\naafiya_khalil_(spiff),4\ndvenadtsat_(character),4\nprisma_faerdo,4\ncontemplating,0\nkitsuakari,1\nmira_(wetchop),4\nnsfwulf,1\nduck_(sarah_and_duck),4\npermagrin,0\ntinky_(character),4\nzylothefusky,1\nlinkaransfm,1\nottmutt,1\nmeowscular_chef,4\naustralian_magpie,5\ntakakei1,1\nfemale_penetrating_herm,0\nd._e._belton_(artist),1\ngalidor-dragon,1\nneon-chan,1\ngreen_backpack,0\npie_(food),0\npearl_bracelet,0\nkurorak,4\njennifer_(abluedeer),4\nholding_mask,0\npesky12,1\nflashequestria,1\nanakitsune,1\nbeth_gabriel_(lemonfont),4\nshota_orca_(marimo),4\nzirilon,1\nfenefell,1\ncommando_(risk_of_rain),4\nllama_llama_(character),4\nwhitesky,1\ncamelid_taur,5\nshadow2007x,1\nwrath_(changing_fates),4\nmaxillopod,5\nmipsmiyu,1\nsakisukem,1\nkyla_thompson,4\nkoko_(youki029),4\naladdin_(disney),4\ndrake239,1\niridiu,4\n7oy7iger,1\nshort_beak,0\nkuruko,1\nrimentus_(character),4\nvalerie_veronica_winchester,4\njameslewis,1\ngroucho_(animal_crossing),4\ndark_brown_hair,0\ngossifleur,5\nstephen_wintre,4\nwashing_hair,0\nclara,4\nsimon_7617118,1\nback_stripes,0\nveiled616,1\nwear,0\nmasso_nullbuilt,1\nfizition,4\ncracticinae,5\none_shoulder_out,0\ndouble_anal_fisting,0\nbreast_curtains,0\nkeith_wilson,4\npurple_clitoris,0\nhauhau_mg,1\nkane-neko,1\nfeeling_up,0\nleashed_female,0\nivka,4\nstar_decoration,0\nthehuskydragon,1\nhalf-lidded_eyes,0\nstars_around_body,0\nglitch_(glitch308),4\nloki_rel_zephyr,4\nblue_boxer_briefs,0\nomoi,1\nhstudios,1\ntacoghastly,1\nhaley_baxter,4\ngold_accessory,0\nthe_fangs_palace,3\ntropicana,1\ngiant_squirrel,5\nplanks,0\n60_fps,0\ntracy_(sugarnutz),4\nfluffyslipper,1\neonbound,3\nreallyreallybigbang,1\nsolarbyte,1\nidess,1\nwaffleirony,1\nzavian,1\nceltic_knot,0\nthirty_thirty,4\nten,1\nrage_face,0\nblacklight,0\ndescension,4\ntouching_self,0\nmm_(kilinah),4\nsupernatural,0\nkampyo,4\nhguy44,1\ncurled,0\nsupremekitten,1\nmac-10,0\nta-ek,1\nlumineon,5\nharusupu,1\noshaki,4\nadelbert,4\nmanoreo,1\nbutcher_knife,0\nsharemyshipment,1\ngenchi,1\nzana6_(artist),1\naffablesinger6,1\nfreshly_uprooted,1\nterryeternity,1\nquiritum,1\nscarred_for_life,0\nsallie_may_(helluva_boss),4\nartariem,1\ngwen_stacy,4\namelia_raevert,4\nsocko,1\nalsoan,5\naerotransor,1\ndaao_(petruz),4\nerynerikard,1\nmerengue_z,1\naikan_(sisco),4\ndetra,1\nrealistic_feral,0\nnezubunn,1\nx-red,1\nmocha_(mochalattefox),4\nnoctis_(kinkmasternero),4\nmoba_(artist),1\npurple_neck,0\nsnivybatt,1\nflag_in_mouth,0\nchakat-silverpaws_(character),4\nydart,1\nnekosnicker,1\nyom_mido_plus,1\nlip_fang,0\njewel_(whitekitten),4\ntouching_knee,0\nteal_shirt,0\njaspian,4\ndekonsfw,1\nspanklet,1\nrose_(rosethegoat),4\ngozso-alako,1\neri_(feral.),4\nsouffle_murdock,4\nperrox,1\nperegrine,1\ntamara,4\np.chronos,1\naklazzix,1\nabigail_(musikalgenius),4\nbailey_rosworth,4\nduke_komarovski,4\nemerald_(yuureikun),4\nvenom_snake,4\nelmo,4\nwankerscramp,1\nokabe_masatsuna,4\nmordecai_heller,4\nginger_(elysian_tail),4\nmeteorsmash,1\ndumb,0\nbagel,0\nkaotikjuju,1\ncloud_kicker_(mlp),4\nirie-mangastudios,1\nsquirrelpony,1\ngarnet_til_alexandros_xvii,4\nami_(oonami),4\nffl_paris,1\nval_mal,4\ngunfire,0\ndarc_sowers,1\ngakuran,0\nxelvy,1\nyoung_justice,3\ndansyron,1\nbigbang,1\nchubby_beach,3\nhole_in_ear,0\nexploud,5\narticfox,1\norange04,1\nbenj24,1\ndrood,4\nhimitsudragon,1\nswalot,5\nheinkel,4\ndraconic,5\nhidro_(nekuzx),4\nspotted_panties,0\nmorrigan_(dragon_age),4\nwaver-ring,1\nicelyon,1\noversized_weapon,0\nverra,4\nprojectile_cum,0\ncreepy_susie,4\nshyama,4\nkobold_thief,4\nfairdahlia,1\nprince_arthur,4\nchat_window,0\naedbc,1\narrowdark,1\nlight_grey_fur,0\nsakayasaka,1\nglacierdragoon,1\ngwen_lee,4\nivy_(paganee),4\ntalen,4\nstories:_the_path_of_destinies,3\ntouching_belly,0\nfoughtdragon01,1\nfoxcyen,1\nmommyulysses,1\nkatzun,4\narchie_otterdog,4\nshu-hoocooh,1\nnelewdy,1\nmint_(disambiguation),-1\ndragomar,4\nprofessor_venomous,4\ndubindore,1\nfang_(primal),4\ngang_orca,4\nkiro,4\nmedjed,4\naxelwolf,1\nfull_nelson_position,0\nmaxine,4\nmayhem_(artist),1\nmatzzacre,1\nruby_(chowdie),4\nhome_on_the_range,3\nb.cat,1\napple_fritter_(mlp),4\nteresa_brisby,4\ndiesel_(ralarare),4\nlorliz,1\nsaltedtea,1\nrammus_(lol),4\nsweden,0\nayumi_(ayumixx),4\nmeken,1\nblancmark,4\nazumanga_daioh,3\nthebravelittle,1\nstrength,0\nbug_net,0\nkara_(raptor007),4\nkylie_koopa,4\ntrianglepapaya,1\ndiaper_disposal,0\nonionsan,4\ndestiny_blackmoon,1\nenslaved,0\ndiantha_(pokémon),4\ngrizzly_(animal_crossing),4\nmomo_(avatar),4\nmark_(evane),4\nback_focus,0\nrepgg,1\nsonic-mj,1\nnejumipro,1\nneck_collar,0\ncrispcactus,1\nalvaz,1\npom_poko,3\nsugar_cube,0\nhuge_sternocleidomastoid,0\nshaved_ice,0\naafox196,1\ndoooo2424,1\ncourtney_brushmarke,4\nmessage_box,0\nlucky_(artist),1\ntoned_muscles,0\namara_(windborn),4\ngarter_snake,5\nsea_angel,5\nwronglayer,1\npride_color_penis,0\nsickeleye,1\ncherrii_pop,1\nhead_only,0\ndorsal_crest,0\nshoulder_angel,0\ndragonsnakeowo,1\nfurrholic,1\njackie_moo,4\nfeces_on_balls,0\ntuntematon,4\ngiving_up_the_ghost,0\nfrostbound,1\ngooseberry_kobold,4\nnicole_(foxnick12),4\ngeorge_(bottler),4\ngobbo_(kooni),4\nholding_tea_cup,0\nmiss_cougar_(new_looney_tunes),4\ngrennadder,1\nmind_(disambiguation),-1\ntobyfox,3\nlupisvulpes,3\nyawning_position,0\nblack_toe_claws,0\nsvadil_(character),4\nketu,4\ndesire_yoshi,4\npredator_city,0\nbed_frame,0\njabba_the_hutt,4\niridescent_fur,0\nfishbone,0\nmega_altaria,5\nboo_(boo3),4\noki_(okami),4\nstamina_bar,0\nedgar_vladilisitsa,4\ncanon_grimaldy,4\ntight_swimsuit,0\nzaaru,1\nridleymorph,5\nhelga_(iskra),4\ndart_gun,0\njet_set_radio,3\ntranquill,5\nred_sky_fruit_strawberry_dragon,4\nosansyoup,1\nyoshioka_haru,4\npanel_gag,0\nbullseye_(artist),1\ncrow_demon,5\nwelding,0\nlogo_print,0\njorts_(artist),1\nolive_cow,1\nmarauder_(doom),5\nbdmon,1\nyellow_light,0\nfoogyakumo,1\ngooborg,5\nalphabet_(mike_salcedo),3\nred_pseudo_hair,0\njohn_(johnithanial),4\nsabah_(radarn),4\narttukorppu,1\nwhite-faced_owl,5\nrevertigo,1\nkitsune-2000,1\nankle_markings,0\ncam_(artist),1\nkanagawa_kitsune,4\nzebrov,1\nthedinosaurmann,1\nvorochi,1\nwood_elf,5\nmarbearis,1\ncole_the_shark,4\n9:11,7\nmohitopaw,1\nartdexo2000,1\ndiscarded_bra,0\nmisty_(lewdfruit),4\nalduinred,1\npetal_(petal11),4\ntobias_wolf,4\nkate-nikki,1\ncold_warrior,4\nlickagoat,1\nzeym,1\nkiva_(partran),4\nms._fortune_(toonstruck),4\nryan_(ryanwolfeh),4\ntip,0\nkid_buu,4\ntoha_a'nassura,4\ninternal_kiss,0\nzulf,4\njazzwolf,1\nsevered_hand,0\nmartina_(weaver),4\nsmall_moo,4\naquaticas,1\nbrask_vovik,4\nrad-lizer,1\nmechanical_bull,0\nstubbornstallion,1\ndanger_dolan,4\nflat_texture,0\nrockstar_freddy_(fnaf),4\nstellizard,1\ndrawindonkey,1\npoz,0\nandromorph_impregnation,0\nbrooke_(simplifypm),4\nmaggie_(kitty_bobo),4\nsharing_dildo,0\nsyn_(neurodyne),4\nf_(mike_salcedo),4\nxzorgothoth,1\nmutant_(franchise),3\nsagadreams,1\nmokko,3\npussywillow_moonsugar,4\nusada_pekora,4\nwreckage,0\nnightmareroa,1\nyulia_(bakedbunny),4\nair_bound,3\nkrotsgier,4\ndoral,4\nrorix,1\nlemonynade,3\nnormal_castform,5\ncritter,0\nthe_walking_dead,3\ndracolich,5\nstarberyl,1\nhc_svnt_dracones,3\nrazor_blade,0\nglury_the_unown,1\nreese,4\nxennie,4\nlucifer_the_doom_bringer,4\ncone,0\naurora_(haven_insomniacovrlrd),4\napexyotie,1\nfoongus,5\ncamillia_(camychan),4\nblake_(desidobie),4\nbonicfan123,1\ngoatjeph,1\nexpression_print,0\nhyper_deltoids,0\ndive_ball,0\nartfight,3\nheart_clip,0\nsin_cyan06,1\ntumugiv,1\nncr_ranger_(fallout),4\npiper_(smuttysquid),4\nglowing_orb,0\nden_(zerofox1000),4\nxvii_(artist),1\nsentry_gun_(team_fortress_2),4\nwolke,1\nmrs.mayberry_(helluva_boss),4\nzinni,4\nbuns-n-spurs,1\nwhyte_(daemon_lady),4\nlina_the_slayer,4\nfawkesdrox,1\ni_will_dance_only_if_the_beat_is_funky,1\nbikini_bottom_removed,0\nlugiaberry,1\ntricolor_fur,0\nspanklet_chocoa,4\nbr'er_rabbit,4\nkyouman,1\nsignal_line,0\nf0rever13,1\nnekodon_san,1\ncafe_(coffeefly),4\nsifaka,5\nholding_(disambiguation),-1\ndiesis_schmitt,4\ntamandua,5\nst.boogie,1\nbixiekz,1\nelectric_razor,0\nbooty_ass_meme,3\nlacrimal_caruncle,0\narm_ring,0\nantylamon,5\nshaymee_(lunaris_parukia),4\nmegan_(animal_crossing),4\ncaprice_art,1\njessica_(fejess96),4\ntytus_the_arcanine,4\navocado_seed,1\nmenma911,1\nfile,0\nthanris_(thanris),4\ngemerency,1\ntakuya_yamashita,4\npatches_ito,4\naccidentalaesthetics,1\nboleroofbooty,1\nshiftry,5\nwet_butt,0\ndisenchantment_(series),3\narokha_(human),4\nregys_(carp),4\nfart_tubes,0\nrune,0\nstanding_on_tail,0\nwhite_jewelry,0\nhamatnk,1\ncloroxformius,1\nruki_(character),4\nneiiio,1\nvoxell,4\ncuisse,0\nwillemsvdmerwe,1\nagainst_locker,0\nnerond,5\ntrundle,4\ndoberbrothers_comic,3\nfatalsyndrome,1\ncum_on_hips,0\nraykayra,1\npuppypaws,1\neixin,1\nmixxiwuff,1\njustduet,1\nkitsunekit,1\nflicky,5\ntko-san,1\nbeta_ray_bill,4\nfeather_bangs_(mlp),4\njarek,4\nfranklin_(series),3\nsloth_(kuroodod),4\nemily_chan,1\ncuddlesong_(mlp),4\ndakota_(tartii),4\nmatthew_taranto,1\neek,0\nakasch,4\nmega_gallade,5\nhaxton,4\nabstractshadow,4\nhyper_condom,0\ndeus_ex,3\nparakarry,4\nthe_dark_crystal,3\nno_navel,0\nkagamine_len,4\nsilby_(silbyaws),4\nmass_rape,0\nskylar_wing,4\ngigi_(sheepuppy),4\nbaku,1\nfreenzy-plant,1\nakam,1\ngiant_squid,5\nrio_(miu),4\nmatidramon,1\nsylene_(blissey1),4\ntail_pouch,0\nkettlebell,0\nhokin_the_bear,1\ncheloniid,5\nmobian_rabbit,5\nlewdbones,1\npappel,4\ncaravan_stories,3\nfoot_on_shoulder,0\ncalvin_bowling,1\nkunaboto,1\nleostar,4\ndarou,4\nshiny_celebi_(eotds),4\nchloe_von_einzbern,4\noutstretched_leg,0\nmaroon_hair,0\nshinyfoxguy,1\nkirena-kaya,1\nfangs_bared,0\nnurah,4\nburgess_shale_(lucidum),4\nhasukichi,1\nsurrealism,0\ntharakaos,1\npuquanah,4\nnorang94,1\nmoose_(kemono_friends),4\nsnowshoe_hare,5\ndarknader,1\nakuro,4\nscp-173,4\nblueberrysnow,1\nann_gustave,4\nmrmilky,1\npolice_tape,0\npainful_penetration,0\nspell_tag,0\nlynn_(twokinds),4\ncheep_cheep,5\nhideo_katashi,4\nmikituu,1\nredrosid,4\npanty_(pswg),4\nblitza,4\nfluffyboobs,1\nsexual_exploitation,0\nkaleesh,5\nscottish_terrier,5\nsam_(samwiding),4\nhand_spanking,0\nshaffer,1\njack_skellington,4\ntreat,0\nendie,4\npadme_amidala,4\nshep_(animal_crossing),4\nhot_dog_bun,0\ncanoe,0\nkaiberu,1\nsedyana,4\nterra,4\nmonette,4\nfr0stbit3,1\nfurry_sb,1\nzortie,1\nfanch1,1\nkomi_shouko,4\neraxa_(character),4\navery_(vir-no-vigoratus),4\nkotaro_kurokawa,1\ntavyapl,1\nlost_(series),3\nmeo_the_meowth,4\nrocky_mountain_goat,5\nrearing_up,0\nscaled_dragon,5\nwerehusky,5\nparaphore,3\ndollification,0\nsonja_wusky,4\nwhite_earbuds,0\nxiaoyaozhi,1\nlisyra_(avelos),4\nmilo_(aliclan),4\ndororo_(sgt._frog),4\npowfeen,1\ndaelyhelaxon,1\nopaline_(mlp),4\ndarkito420,1\nyaarp,4\nsmores_(ribbontini),4\nslime_sex,0\nmagnadramon,5\nmochi,0\ntheartsygirl94,1\nblemishine_(arknights),4\nblack_thigh_boots,0\nmaruku,1\nhood_up,0\nknightferret,1\nkia,4\nfishyboner,1\nfoulfrost,1\nfamiliarsaint,3\nchana,1\nlemon_bread,4\nak-74,0\nawilddrawfagappears,1\nrace_track,0\nscaroused,0\ncotton_(locosaltinc),4\ngibbon,5\n4_hands,0\ncommunicator,0\npizza_hut,3\nsokajou,4\nhelix_piercing,0\nthe_roop,1\njoshy_furret,4\npulling_down_pants,0\nborahorn,4\nmarines,0\nbrawl_in_the_family,3\nboxer_(disambiguation),-1\neverfree_forest,0\nsnover,5\nschism,4\ncote,1\nsaberon,5\nsienna,1\nshinooka,1\nenico,4\nwolf_(minecraft),5\ngibberish,0\nblastgoggles,4\nlong_toes,0\ncolton,4\ntapping,0\nc-smut-run,1\ncornelius_(commissioner),3\nmalcolm_douglas,1\nhitting_the_showers,3\ncoiling_another,0\npericings,0\nwhooperscooper,1\njavier_(photolol.03),4\nsath15,1\nmel_price,4\nreyn_goldfur,1\nmorbidly_obese_gynomorph,0\nlight_perineum,0\nkif_yppreah,4\ncome_and_learn_with_pibby,3\ntakorin,1\nkatiedragonart,1\nbuttonverse,3\nholding_dress,0\nwisp_(wispeon),4\nsatanbear,1\nimplied_popping,0\nblitz_the_seahawk,4\ndisaster_dragon,4\ntwo_tone_dildo,0\nblack_(among_us),4\nanjing_kampuss,1\nraedainfossa,1\njames_di_benedetto,4\nmcmadmissile,1\nchoco_monaca,1\ngreen_gem,0\npartially_submerged_arm,0\nbloon,0\ntowelthebear,1\nhumiliating,0\ntails_touching,0\nheadphones_only,0\ndonation,0\nchigusa_amano,1\nsophia_hellstrand,4\nthe_dark_brotherhood_(the_elder_scrolls),4\nwhiner,1\ngiselle_(open_season),4\nmax_(dominussfm),4\nmpanda_kuma,1\nkirby_star_allies,3\nvampirsttg,1\nursula_(furronika),4\ncaust,4\nunder_paws,0\nasiahao520,1\nthe_legend_of_zelda:_twilight_princess,3\nichiri,1\nrockhoof_(mlp),4\nspider-man:_into_the_spider-verse,3\ndeepak_(101_dalmatians),4\nalex168wang,1\nstrawbear,1\nappl,1\nfizintine,1\nedgeartstation,1\nrogialos,5\ndoomer_(meme),3\nunconventionalrender,1\npokebraix,1\ntoumoro_22,1\ncirca,1\ncassidy_(kaviki),4\nsam_(cuchuflin),4\njoyce_(totesfleisch8),4\ntakeshi_kemo,1\nmosasauroid,5\nskye_primis,4\nmine_yoshizaki,1\nairisubaka,1\nkody_(pudgeruffian),4\nburlington,4\nthenaysayer34,1\ncornelia_(glacierclear),4\nangel_the_mew_(character),4\nremnartx,1\nrena_(raptor007),4\nheads_and_tails,3\nfurry_logic,0\nstar_tattoo,0\nflying_saucer,0\nchacumera,1\npushing_away,0\nhobo,0\nburned,0\nsarge_(braford),4\nover_table,0\nmr._shy_(mlp),4\nrebrokota,1\ndavos,4\nferret-badger_(artist),1\nodium,4\nketirz,1\ntommy_(meesh),4\ninsect_(petruz),4\nmaurice_(nexus),4\nkayz_(snepkayz),4\nepsi110,1\nminoss,1\nspace_dog,5\nalvh-omega,1\nferri_(enti123),4\nanhotep,4\nwolf552906,1\npussy_juice_on_sex_toy,0\naeldari,5\nshironeko_(doukutsunezumi),4\nkaya_(twin_dragons),4\nkingcreep105,1\ntan_handwear,0\n17:20,7\nfayrofire,1\nneatnick,1\ntwo_tone_headphones,0\ntrpcafterdark,1\ngunya,1\nlight_socks,0\nriley_(disambiguation),4\nrei_(breath_of_fire),4\nkabos,1\nheatmor,5\nswedish_flag,0\nket_lesh,4\ndarmanitan,5\nbikini_briefs,0\nkumamon,5\nwinter_(yuki-the-fox),4\nbig_bird,4\nshin_(negger),4\ntrbox,1\nmeditite,5\ntortuga,1\n1jaz,1\nivan_(blackmailz),4\nstory_seeker,4\nkatie_dodd,4\neggplantina,1\nann_takamaki,4\nshoebill,5\ndzk,1\nsucking_tip,0\nforetbwat,1\nzecho,1\nnyonyoimpact,1\nfanta_(carrotfanta),4\nmordechai,4\nplum_(viroveteruscy),4\ndavid_(misterstallion),4\nzwitterkitsune_(character),4\ndexter's_mom,4\nsnowing_outside,0\npiekiller,1\nroshea_(rosheatfreak),4\nlarretthekinkyferret,1\nd4,0\nchelsea_larimore,4\n9/11,3\nbukka,4\nsilvermist_(notglacier),4\ncarapacian,5\ndrogon,4\nvice_the_raccoon,4\ncum_in_ears,0\nheyyy_it's_the_king!,3\noctii,4\nledge,0\nedward_alrik_of_ravenwood,4\nmysticaldark,1\nlikkezg,1\nsiqko,1\nsign_language,0\nepona_(quaraci),4\nteddiette,0\nemma_(shouk),4\nollie_(pokefound),4\nshower_cap,0\npenny_(ceeb),4\nblack_eye_(disambiguation),-1\nthwap,0\nhuman_on_monster,0\nrose_b_luck,4\nravirr,1\nslowaf,1\nparker_(theredhare_and_demicoeur),4\nkabuki_trim_furfrou,5\nstar-nosed_mole,5\nzynn,4\n11:10,7\nfeatheryboy,1\nqueen_haven_(mlp),4\nsodo_(breeze_in_the_clouds),4\nhuge_serratus,0\nmrmeatlovers,1\neating_flesh,0\nsakuroma_(retrospecter),4\nblack_neckerchief,0\npidgeon_toed,0\nimminent_tickling,0\nracketraccoon,1\noncha,1\npussy_juice_on_self,0\nmonotone_headgear,0\ntoumitu,1\ntwo_tone_thigh_socks,0\ngynomorph_penetrating_anthro,0\npriestofjashin,1\nneeshi_(vorekingdom),4\nkahunakilolani,1\nkodacine,1\nkooni,1\nfirael,1\nkaurimoon,1\nspelunky,3\nluger,0\necoas,1\nwriggle_nightbug,4\nhorizon_zero_dawn,3\npyndan,4\nbeat_up,0\naptonoth,5\nblacky,4\nmentaiko,1\ndefinition,0\nmelon_frost,4\ncaptions,0\ndanny_xander,4\nbroken_bed,0\ncanada_day,3\nphillip-banks,1\nmathew_porter,4\ndaft_punk,3\nwhat_a_twist,0\nc-trigger,1\nxaxoqual,4\nnikita_(oc),4\nrequiem,4\nsnapping_turtle,5\nrearhwhitetail,1\nkerokamina,1\nseats,0\nmalamin,1\nnurukuro,4\njamie_(ldr),4\ngohan,4\nfeeder,0\ngia_the_jaguar,4\nsexual_frustration,0\nripster,4\nvore_planet,3\nudder_milking,0\ngully,1\nkudalyn,1\nsupport,0\nmen_in_black,3\nclonecest,0\nclock_tower,0\nvanshart,1\nkxflyer,1\nescargoon,4\nsheori,4\nbeauty_mark_(oc),4\npornography_(artist),1\navionscreator,1\ncharliebadtouch,1\ntyramis_(kuroma),4\nturned_on,0\nfoxyane,1\nzepthehyerian,1\nrantanatan,1\nkarate_akabon,1\npenis_on_back,0\npinkypills_(artist),1\nportraits,0\nlined,0\nmilkette,4\nlatex_dress,0\nspace_invaders,3\ndark_neck,0\ntouching_own_penis,0\npowerlines,0\nprincess_carry,0\nsakura_hichuena,4\nmauricebeverle2,1\nleg_strap,0\nsporeman_(artist),1\nghost_ship_games,3\ncharlotte_genevieve,4\nsonic_channel,3\nyellow_neck,0\nkey_disposal,0\npopodunk,1\ntodd_(joelasko),4\nhello_nurse,4\nnipple_zipper,0\nconnor_(snakemayo),4\nmasked_fox_(kame_3),4\nfully_clothed_humanoid,0\nglistening_teeth,0\nbelladonna_(all_dogs_go_to_heaven),4\nami_(personalami),4\npondering_my_orb,3\ntenyo_cat,4\nself_exposure,0\nhedgehogblue02,1\nruby_(ghostth39),4\nfur_and_scales,0\nhugging_plushie,0\ntemmie_chang,1\ngreed,0\nrunawaystride,1\ngoat_demon_humanoid,5\ncalib_peterson,4\ncringebird,1\nqueen_regina,4\nnowego_(artist),1\nwaynlag,1\ntringa,1\nsplitalien,1\nreabault,1\nscraffyraccoon,1\nthelightsmen,1\nbiped_taur,5\nmalaysian,0\ndensantra_(deathhydra),4\nsmallpanda,1\ntactical_gloves,0\ntwisted,0\napawcalyptic,3\nusername_(character),4\nsouthnorth,1\nnozabii,1\nsmewed,1\ngordon_(fuze),4\naraphre_(artist),1\ndirk_aukea,4\nscott_(rosheatfreak),4\nshiftylook,3\ndaphne_dress,3\nzuri_(tlg),4\nusagichi_(vkontakte),4\ngunther_(mating_season),4\nlynn_(deltav),4\ntechnical_illustration,0\nkodiak079,3\njoel_(adondis),4\nprisma_(fr0gv0re),4\nlight_back,0\ngreat_horned_bunwolf,5\nitf_transformation,0\ngroping_ass,0\nstyracosaurus,5\nmx99926,1\nmimi_(mr.smile),4\nkoko_comet,1\ntysuga,1\nscrublordman_(commissioner),3\nafrican_wild_dog_(kemono_friends),4\nshindorei,4\nid,0\nvespur,1\npeta,3\ndixievonfur,1\nhead_swap,0\nvahnfox,1\nmonoeye_(artist),1\nwindows_xp,3\nraine_kirijo,4\npudding_(plaga),4\nblumagik,1\nimminent_impregnation,0\nlekismon,5\nkitora,1\nsnow_white,4\nwoobat,5\njanet_q,4\nshurya,4\nhexuas,4\nmixvariety,1\ncamera_shake,0\nrita_(sugarnutz),4\nprison_suit,0\ngarbledina,1\nkit_mambo,4\ntala_tearjerk,4\nkiwa,4\nentwined_tongues,0\nhildryn_(warframe),4\nflechette,4\nspiritfarer,3\nnoonun,1\njustsantiago,1\nhumanoid_to_feral,0\napache_(artist),1\nmeleon,1\narnius,1\neve_hawthorne,4\norange_dildo,0\na2,1\nramzymo,1\nautumn_sushi,1\nkitterjitters,1\ncinnamon_buns_(oc),4\nalexis_(hacken),4\nw0lfmare,1\nlionmom,1\nerin_(kawfee),4\nartz_(eevee),4\narching_back,0\nkiryu,1\nnightwear,0\nphoto_frame,0\nturquoise_blitz,4\nin_hand,0\nhannibalazul,4\nfive_nights_at_freddy's:_the_day_shift,3\n1985,7\nmimirin,4\nkorbinite,5\nenvironment,0\nkabeu_mariko,1\nqiao,4\ndarin,4\njon_sanders,4\nnook-lom,1\nsolaire_of_astora,4\nesk,5\nmegane_dragon,1\namy_untold,3\nniko_(kitroxas),4\nbadwing,1\nrazter,1\nturtlechan,1\ndeuce,1\nvixy,4\nhead_ornament,0\ncooked_alive,0\nfanfic,0\ncaoscore,1\nursine_ears,0\nzweihander,0\ntolng,4\nrozelyn_the_floatzel_(mischievous-skunk),4\nreligious_symbols,0\ncrimsoncolored,1\nsammy_(disambiguation),-1\norcasanddragons,1\nusul_(neopets),5\nnyasplush,1\nkitnip,1\njona_kazuo,1\nmouse_(maynara),4\nair_manipulation,0\nsky_(xxskyxx),4\nsnegireva,1\ncharlie_peaches_(raunchyhaunches),4\nhaoming,1\ncrat_(connivingrat),4\ncurved_beak,0\nholding_arrow,0\nexadian_hybrid,5\nneumokun,1\nglittermiilk,1\nkhaki_body,0\nsavvel,4\nbrown_antennae,0\nscapula,0\nheld_upside_down,0\nveiny_teats,0\nsunsetsarsaparilla,1\nspaicy,3\nangelfish,5\ntakum,4\ninvisible_wall,0\nconch,0\nfetishsketches,1\nrandomobliquity_(artist),1\nblue_jockstrap,0\nneshi_(character),4\ncromren,1\nzedwin,4\nm6,1\nvonnir,1\nphantom_freddy_(fnaf),4\nexmoz,1\ndeliciousq,1\nmutant:_year_zero,3\nolive_(xylious),4\nakyko_(ceehaz),4\ngulasauce_(artist),1\nsurprised_pikachu,3\naxela,4\nnagafication,0\navalondragon,4\npatrigue,4\nkracker,1\nmacro710,1\nsticki_bun,1\nvirgil_(maxydont),4\nmaharen,1\nfemlek_(elektr0),4\ndavidkyatt,1\npomopuchi,1\nliam_(tempestus_vulpis),4\nlennonblack,1\ndisembodied_pussy,0\nrd-rn00,1\nsilipinfox1298,1\ndecapodian_(futurama),5\nspotted_pawpads,0\ndiscardingsabot,3\nmarleybraun,1\ntoxel,5\neipon_tarou,1\nlumpy_(htf),4\nteenagebratwurst,1\njack_pot_(mlp),4\npokilewd,1\nrehzi_(fluff-kevlar),4\nmike_(doomhelm),4\ngrey_headphones,0\ntontaro,1\nsniffing_self,0\naerothefox,3\nmulti_tone_skin,0\nsilver_fox_cn,1\npeeing_out_of_fear,0\ngame_item,0\nphantomx999,1\nyuki_(quin-nsfw),4\nlifting_belly,0\nkeisatsu_dog_(sususuigi),4\nmalcolm_(applelover22),4\nvampiricpig,1\nmars,0\n10ne-v,1\ncallie_(furry_force),4\nwislow,4\nnedrik,1\naruru,4\nawoogasm,1\nunsatisfied,0\nelisasharky_(artist),1\nfallflys,1\nblue-wolfy,4\nfishnet_underwear,0\njimsdaydream,1\nsplatter,0\nkittehlazer,1\nchloe_thompson,4\nnova_spark,4\nred_alert_(series),3\nmulti_tone_wings,0\nmousecat,1\nchinchilla3333,1\nwooden_shield,0\nmega_gnar_(lol),4\noliver_hornski,4\nleaf_censor,0\nhornyforest,1\nabigrock,1\njupiters,1\nthatphatbun,1\ncarly_bear,4\nminimalism,0\nzary_(zarycolour),4\nnoupu1115,1\nkalivero,1\nbreezie_hedgebot_robotnik,4\nmei_ambers,4\naxel_the_tepig,4\nabum,5\nbreast_punch,0\nbugga_beau,1\ndoctor_ark,1\ntech_the_renamon,4\nhidoihito,1\nslug_(character),4\nrivas,4\nmomma_(ice_age),4\nfire_engine,0\npride_color_tank_top,0\nmaxhe,1\nrotfell_the_fox,4\nsleep_talking,0\ndouble_wrist_grab,0\nbastien,4\nchase_(retriever),4\nturria,1\nfenalia,1\ntiredanon,1\ndaclusia,1\nseedot,5\nlexibutt,1\ngunzcon,1\ndontbeazombie,1\nspecial_feeling,3\ncerebella,4\nbreeze,0\nblackgate_(game),3\nxids,1\nswitch_(pakobutt),4\nboreuben,1\npukkunnnn,1\nspots_(spotthecat),4\nlana's_mother,4\nfaye_(ipan),4\neternatus,5\notsu,1\nnicole_(xelaaredn),4\nfleek_feather,4\nchristmas_star,0\nrangetsu_(onmyou_taisenki),4\nsuper_robot_monkey_team_hyperforce_go,3\ndoctor_starline,4\nbuck_(disambiguation),-1\nazzaraeus,1\nbatty_(100_percent_wolf),4\nchillhop_raccoon,4\nsweat_pool,0\njasmine_miller,4\ntem_(beastars),4\nbrown_eartips,0\nyetifish,1\nkinnni-chan,1\nkopk,1\nmiklia,1\ndiamond_sword,0\nviewer_count,0\nmeeya_(furball),4\naurus_(endertwinks),4\ncrop_hoodie,0\ntails_gets_trolled,3\nlimon_picante_(oc),4\nbow_shoes,0\npink_rabbit_(huitu_c),4\nkhan_maykr,4\nthe_seven_year_itch,3\nyoru_vida,1\nzafy_takada_(ludexus),4\nkitty_(meyou),4\nblack_loincloth,0\nmy_little_goat,3\ngabiru_(that_time_i_got_reincarnated_as_a_slime),4\nark_celosar_(polokun),4\ntongue_stuck,0\npornstar_(meme),3\ntremors,3\nunicorn_taur,5\neud,1\nbeldum,5\nmerci,4\nblue-eyed_black_lemur,5\nmia_(nanodarkk),4\nvixen_(reindeer),4\nburning-heart-brony,1\nthatwhiskeredthing,1\ngear_(guilty_gear),5\nmikazuki162,1\nopal_weasel,1\nfantajii_dm_(artist),1\nmadame_flurrie,4\noranguru,5\nskizu,1\nlair,0\nwo262,1\nsandry_vallheim,4\nrenga_sato,4\nheart_bra,0\ntyler_(the_human_heart),4\nlee_(colt),1\nbarndog,1\ndreadbear_(fnaf),4\nlamont786,1\nkennehbreen,1\ndivdurvart,1\nindigo_eyes,0\njacob_(bosskubal567),4\nrammionn,1\nmoonblood,5\ntestostepone,1\nstar-rod,1\nzed_(scales),4\nthewizardstick,1\nliving_puppet,5\nmagnus_(bristol),4\ntj_hess,4\nsteve_(rumble),4\ndelbin_(spyro),4\nclothed_intersex_nude_female,0\nacacia_(ashcozy),4\nkolu_(koluthings),4\nalabasterlion,1\nanimal_genitalia_on_humanoid,0\npura_(crash_bandicoot),4\nrooty_(leakyroot),4\nmilia_wars,3\nopen_zipper,0\nyellow_headband,0\nkoa_wolf,1\nvanimateapp,3\nrubbermage,1\nstriped_headgear,0\nlofiflavors,1\nsilverqueen0,1\nsasha_(ariveil),4\nzimabel,1\ntahara_(altrue),4\ntod_d,1\nfour-clawed_gecko,5\ncynlonyth,1\ntonza,4\ntriple_oral,0\nnoahsense,1\ncheri_(animal_crossing),4\nsugarbeast,4\nhelium2,1\ncum_on_teats,0\nmechagodzilla,4\nmeatspin,3\ncallmebisky,1\njaal_ama_darav,4\nlana_(arnethorn),4\ntail_expansion,0\nknightthewolfal,1\ngaping_cervix,0\ncouldnotparseline,1\nverd,4\nrun_turn,4\nvoid_(sssonic2),4\nbossy_the_bat,4\nsplatterhouse,3\ntoriko,4\ncesium,1\ndavid_kawena,4\ngrinder,0\nkavat,5\ngambeson,0\ndelidah,1\nblack-kalak,1\nxaigatomon,1\nsweet_strokes,4\ndio_leila,4\npermavore,0\nmuskox,5\nmagic_aura,0\nravenousdash,1\nazzy,4\njig,1\nyellow_thong,0\nlong_twintails,0\nleanna_fennec,4\nreindeer_humanoid,5\nbucky_(the_sunfish),4\namon_bars,4\ntao_(beastars),4\nsleeveless_turtleneck,0\nchloe_culson_(ryltar),4\ngouki_(the_spicy_ninja_scrolls),4\nmarcusunderwood,1\nwasabi_(aimbot-jones),4\nplastic_bottle,0\narin_(daxhush),4\nace_combat,3\nkeranas,4\nxane,4\nhand_on_feet,0\nforehead_kiss,0\nnick_(disambiguation),4\ngroup_transformation,0\nkyrie_(eleison),4\nale_vananice,1\nadeleine_(kirby),4\ndevyshirehell,1\ntuberosekotoki,1\nsven_(frozen),4\nevgheshkafx,1\nsquishymare,1\nvorusuarts_(character),4\nmeiju_(ashnurazg),4\nsheela_(rajak),4\njones_boi,1\nralefov,1\nstardust_(tricktrashing),4\nair_guitar,0\norange_stockings,0\nmusical_keyboard,0\nlistening_to_belly,0\ntina_(vrabo),4\ntomilixak,4\nwenisberry,1\naerocats,3\nfurry_mom_(wbnsfwfactory),4\nkenshiro_daimon_(odd_taxi),4\nankle_crossing_thigh,0\nthe_whiteboard,3\nfanatic-heretic-101,1\naurora_(kamikazekit),4\naresanchor,1\nwhite_sneakers,0\nthe_alby-cat,4\ntylwing,1\nijpalette-color,1\nskippyarts,1\nkimero_(kimero_kat),4\nbellenightjoy,1\nkneeing,0\njohn_egbert,4\ngreat_old_one_(h.p._lovecraft),5\nnylla,4\nsevere_wound,0\ntorn_leg,0\ndagmar_(totesfleisch8),4\nelote_(enginetrap),4\nalejandro_(xenoforge),4\npattern_bedding,0\nandy_(kaboozey),4\nfantum_fox,1\ntueetch_ambersnout,4\nrottentuttifrutti,1\ntopaz_lareme_(battler),4\nazel_(nickii),4\nmxxnkiddo,1\ndildo_riding,0\npink_butterfree,5\ntank_top_only,0\nlifting_up,0\nnilina_(felino),4\npekoneko,1\nwhite_necklace,0\nvoyuer,0\nexperiment_101,3\nflam_kish,4\nkuma_richards,1\nelf_costume,0\nmaddencreatures,1\nvis_(bob0424),4\nkazashino,1\nsamantha_wolf,4\nlazyollie,1\nzibanitu6969,1\ndragostewolf,1\nholly_(abluedeer),4\nballs_shot,0\nsandstorm,0\ncurvy_anthro,0\nwalked_in_on,0\nchristian_cross,0\nvirginal_blood,0\ncasual_vore,0\nindramon,5\nholding_helmet,0\nnavel_close-up,0\nstoryboard,0\ngrub_(insect),5\nspaboofy,1\nryoku_(character),4\nxc,1\nbare_thighs,0\ncrona_(artist),1\nberonon,4\nlewdydoo,1\nluditima,1\ncurry_(parker_simmons),4\nparty_cannon,0\nasekeu,1\ngyee,3\nm3nsfw,1\nalex_(xanderblaze),4\nayatori,1\npale_scales,0\nfozzey,1\ncorwolf,4\ncrossed_wrists,0\ngofenix,1\nsister_penetrating_brother,0\ndesoto_(disney),4\nponegranate,1\nletigre,4\neverquest_2,3\nrosianna_rabbit,4\nshad,4\nmagic_book,0\nmolten_corgi,5\nslakoth,5\ncamazotz_(smite),4\npigpen,0\nnoiz,1\npegibruno,1\nadebola_melesi,4\nprincess_tiana,4\nsnapper,5\nanimal_hood,0\nsoftcore_works,3\npafull,1\nsahash,5\njadenkaiba,1\nshou_(salkitten),4\nnyani_ga_nyander_nyander_kamen,3\nkyubun_(character),4\nkryn,4\nprogramming,0\nmrpenning,1\nmasmas,1\ncd-i,3\noffering_gift,0\nsophitia_alexandra,4\nface_covered,0\nsirdooblie,1\nrandomdragon_(character),4\ncattivino,1\ndancer_(reindeer),4\nbody_lick,0\nshrike_alvaron,4\nbrazilian_flag,0\nsleufoot,1\npulp_fiction,3\ndanica_(daniruu),4\nblackaures,1\nmarmelmm,1\ngumball_machine,0\nkukulkan,4\nxiin,1\nnogicu,1\nmackenzie_(modeseven),4\nsen_(looneyluna),4\nmiharushoka,1\ncompression_shorts,0\nasanagi,1\nspiked_club,0\namazon_milk_frog,5\norchidpony,1\ntail_wiggle,0\nvalz,4\nanteater_humanoid,5\nred_rose,0\npurplemantis,1\nblue_piercing,0\nthomas_(shane_frost),4\ndark_ron,0\npredalien,5\nidlecum,1\npyramids,0\nenzi,4\ndemi-glenn,4\nchromosomefarm,1\nnilapony,4\njane_porter,4\nnikku_(ra),1\ntek,4\ncoliser,1\nheiken,4\ndemo,0\nwaddles,4\ntail_slap,0\nwakamezake,0\nxilimyth,4\nrax_zenova,4\nreptar,4\nblue_(pokémon),4\nbamga,4\nmey_mey,4\nlintu_(character),4\nsinder,4\nmilochu,4\nshingeki_no_bahamut,3\nmashato_basuka,4\nmagiculation,0\nextinct,0\ncorriezodori,1\naltera,4\njohnsergal,1\nkaley_(lynxer),4\nlearning_curves,3\nhebiko,4\ncuteosphere,1\nsir.smiley,4\nspiracles,0\npocky_game,0\npoor_yorick,1\ndrake_tigerclaw,1\nlordwolfie,4\nhentagon,1\nrei,4\nsukemyon,1\ngreenlion,1\nvincent_(vincent),4\npashmina_(animal_crossing),4\nderigrowl,1\ncogwheel,0\nprinplup,5\npussy_juice_vore,0\nsylvia_(disambiguation),4\narty_stu_(fursona),4\nklavinova_(mlp),4\nblue_quills,0\nshy_smile,0\njde10,1\nrudgy_(aquilak),4\ntree_time,4\nmaster_hand,4\nkutar_g,1\nbasculegion,5\niridescent_scales,0\njack_(gunwhale),4\nsupporting_breasts,0\nrurua,1\ndrude,5\ngyrodoodle,1\nlara-su,4\nprismatic_wolf,1\nroxie_(pokemon),4\nstriped_headwear,0\ngarrett_(gamegod210),4\nstorage_device,0\nggan_ggandi,1\ncupping_breasts,0\nlady_kluck,4\nambar_black,4\nhill_(father_hill),4\nwilson_(furry_force),4\nscale_hair,0\nnathradas,1\nt_rex_(weaver),4\nfionafortunecookie,1\nsunamori,1\nshoroch,1\nainro,1\notis_(darkpenguin),4\ndr_emery,1\nsea_creature,5\ntakoyaki,0\nron9,1\neviljrgr,1\nterrajou,4\nxiel_milano,1\non_bedding,0\npartially/fully_submerged,0\nthylacine_penis,0\nmr._jellybeans,1\nquangdoann,1\ngekko_(character),4\npink_hairband,0\nowl_beast_(the_owl_house),5\nrajak_(rajak),4\nblack_apron,0\nrevy_(revy),4\nkoufun,1\npansol_(kochapatsu),4\nharmony_(splatoon),4\nraptie_(caedere),4\n300_(film),3\ncakeinferno,1\nobserving,0\nzacks123,1\nwinserferret,1\npenis_leg,0\nshax_(artist),1\nars_goetia,3\nshironaga67,1\nmikey_roo,4\nminka_mark,4\nrachel_wilson,4\nrazi_(covertcanine),4\nchmunk,4\noctonnibal,1\ncarmen_herrera,4\ndrowned,0\nango76,1\nchris_(chris13131415),4\nchrimson,4\ngraboid,5\nbalthazar_haxter,4\nkudamon,5\npadraig_(masterofall),4\nperish_(artist),1\nsharkinwaves,1\nunknown_artist_(artist),1\nkith0241,3\nqueen_octavia_(teathekook),4\nkanachirou,1\nzaos_(anidra),4\nflashing_light,0\npokebreeder_(mabit),4\nseated_carry_position,0\norenji_salmonpaw,4\nlunarpanda8686,1\nmouthmoth,1\nboggartowl,1\nwooden_door,0\nanglerfish_humanoid,5\nao_bai_(gunfire_reborn),4\ntheunokcringe,1\niijackie3678ii,1\nleaf_print_topwear,0\nblue_necklace,0\nrho_(warg),4\nchillhop,3\nsmaller_taur,0\ngothstoat,1\nkerry_(character),4\nsmall_claws,0\nhelpy_(fnaf),4\nzterry,1\nkaa_bakensobek,1\nvixel,1\ntug_(brother_bear),4\ntraknoch,1\nlaspyke,1\ndtella,5\nstrauburi,1\ngardenia_(pokemon),4\nbrazilian_carnival,3\ncottonsocks_minkelson,4\nbutton_skirt,0\nrixx_(yawg),4\nrobin_(submarine_screw),4\npufftor,1\nfeet_on_desk,0\nimaaahorny,1\ncasiika1,1\nprecum_on_chest,0\ntiger_lily_(tito_lizzardo),4\nengie_(liebro),4\nvimmy_(squishy),4\ncovered_in_goo,0\nherzog_silverfang,4\nhands_in_mouth,0\nherba_(hasukii),4\nhoney_pie_(character),4\nmy_little_pony:_pony_life,3\nrawgreen,1\ncat_peach,4\nbamboodog,1\ncatch,0\nreaper_bird,4\ntina_(caribbean_blue),4\nirregular_fetishes,1\nlarge_feet,0\ndotrook,1\nkotetsu_redwood,4\nnme,1\nharlequin,0\nxrayzebra4,1\nelaine_applebottom,4\ncommander,4\nlurelin,1\ndrazil,4\nmarionette,0\ncyndan,4\nbigtyme,1\nongoing,0\nblissful,0\nbutt_scar,0\nkemono_michi:_rise_up,3\nfluffybunz,1\nroom_kinoko,1\ntassets,0\nsplit_color_hair,0\nsmug_eyes,0\nholding_device,0\nwishy_washy_(clexyoshi),4\nihcaris,1\nhades_(thehades),4\nforced_knotting,0\nrick_(rain-yatsu),4\nquinlan_(halcyon),4\nleo's_father_(vg_cats),4\natil,4\nmolly_(hendak),4\nwhite_high_heels,0\ntahu,4\nposthuman,5\nkouda_(kemokin_mania),4\ncousin_dave,4\ngage_(ft522),4\nmonotone_bandanna,0\nleloli,1\nbecquerel_(timidauxiliator),4\nmiyu_(rimefox),4\nkiara_(blacky),4\nchubby_penis,0\npurple_genitals,0\nsuzuran_(arknights),4\nfox_next_door_(horokusa),4\nobjects_in_condom,0\nrusso,4\ndavirook,1\nilpion_(hyilpi),4\ngordon_the_otter,4\nfzst,4\njasmine_(kevinsano),4\nazulejo,1\nelyzalizah,1\noral_on_backwards_penis,0\nhellbrain,1\nhookturn_(kitfox-crimson),4\nyellowparrottw,1\ndischimera,1\nthigh_belt,0\nlogan_(misterstallion),4\nnearl_(arknights),4\nmaverick_(lonekeith),4\nisiica_(ishton),4\nad-games,1\nemoticon_on_clothing,0\ntwentles,4\nhairy_feet,0\nfoot_on_tail,0\ngrey_bandanna,0\nvitaj,1\nferuda_(farstaria),4\nward0r,1\nkadeki_(character),4\nshikame_akihiro,4\nbow_bikini,0\npre-transformation,0\nspeed_forme_deoxys,5\nwater_shuriken,0\nblack_chair,0\nice_breathing,0\nbig_mama_yena,1\niorarua,4\nmandyfoxy,1\ncaressing_head,0\ntetisuka,1\nvale,4\nskye_(skyebubblez242),4\nlanguage,0\nadultpartypunch,1\nbitting,0\nkowbold,5\nakuna,4\neve_(wall-e),4\nmu_plus,1\ntimeless,3\nbrave_fencer_musashi,3\nebi_193,1\npapaya_(artist),1\norcinus,4\nslot_machine,0\nthe_rookie_(character),4\nberet_girl,4\ndiego_brando,4\npudú,5\nsilver_shadowheart,1\nphoenixe_(character),4\nforeskin_stretching,0\nperforming,0\nblack_dragon,5\nfidget_spinner,0\nhat-kun,4\nparenthood,0\navalugg,5\nxj-6,4\nbewbchan,1\nblocking,0\nred-eyes_black_dragon,4\npop_(htf),4\nseylyn,1\nimplied_handjob,0\nbadtiger,1\nxwhitedreamsx,1\nimax,0\nwandering_nipple,0\nbasketball_shorts,0\njyta,4\nsierra_lowe,4\nliara_(microphone),4\nayumi_(whitephox),4\nhead_bump,0\nhuntail,5\nferyl,4\npucacorgi,4\ntaira,4\ntiny_panties,0\nwacom,3\nhuge_eyelashes,0\negsaku,1\ngullet,0\nribbed,0\nmaternal,0\ntumiohax,1\ndragon_princess_ii,4\nsnowdrake,5\none_way_mirror,0\nraspberyl,4\nkatie_koopa_(character),4\nmio_(powfooo),4\nemmonsta,1\narsemaus,1\nstereotype,0\nahobaka,1\nlegends_of_chima,3\nepithet,3\nmayor_swinton,4\nduck_penis,0\npurra,1\nuntitled_goose_game,3\nchikorita_moon,1\nzuwardo,1\nchiubear0214,1\nheartberry,4\nozzy_otter,4\naether_employee,4\nshiori_(anklav),4\nglitter_trap_boy_(character),4\nkiva_(kiva),4\nmoonlynxx,1\nfranko_(negger),4\nirria,4\ndust_the_otter,4\nfiona_gummi_(fan_character),4\npierre_collins,4\nlog_(fox),4\nchrona_(cat_busters),4\nmojito_(novusnova),4\nr-z,1\nkirikaze_(eclipseprodigy),4\nsky_dragon_(cave_story),5\nautumnflower_(game),3\ncircuitry,0\ntomatoztp,1\nsolosis,5\nkodiakwolfy,4\neruption,0\nphillip_(repeat),4\nquagsireofvp,1\nuncertain,0\nanal_toy,0\nscheknul,4\nbig_daddy_(sing),4\nsanic,4\ncup4eney,1\nkaizeh,4\nfray_(twinfoxes),4\nrizcifra,1\nkaczy,1\ndamian_(maim),4\nbritt,4\nrina_von_dan,4\nandres_chung_jr,1\naskfrosty,1\nast,1\nunderstall,0\ndaroach,4\nlemonscent,1\nelvaan,5\nnana_noodleman,4\nyonezmi,1\nbull_shark,5\ndarkartskai,1\nmason_(suck_mcjones),4\naurawolf,4\nlier_magician,1\nstar_trek_the_original_series,3\ndeathwing,4\nriko,4\nacme,3\nmoodraw,1\nsliv'oth,4\nxandrah,4\nmonokini,0\nfooga123,1\nmob,0\ndeep_insertion,0\ngamblefur,1\nbano_akira,1\nbunny_(dure),4\nrhianna_ravenclaw,4\nyume_nikki,3\nlemon_hearts_(mlp),4\nlaionss,1\nbluespaceling,1\ndean_blitz,4\ndark_queen_oriale,4\nteam_galactic,3\nyoo_oona,1\nhypnofur,1\nleina_(sandwich-anomaly),4\ngarmina_(curiousgarchomp),4\npcraxkers,1\nlopmon_(survive),4\ntowel_on_lap,0\nnegativedye,1\nlightningwolt,1\nlorenzo_(royluna),4\niridium_gloom,4\neinrotica,1\nyuki_(side_b),4\njz-jake,4\nbalinese_cat,5\nhunibun,4\nfelhound_(warcraft),5\nroy_(chuki),4\nwilliam_adler,4\nbruce_morgan,1\ndemonstration,0\nyogin,1\nfloating_hair,0\nlileep,5\ncoolmaster98,1\ntribez,3\ncurved_claws,0\nriko_saikawa,4\nconnie_savannah,4\nredphlannel,1\nrusoide,1\nyukkoo,1\npengi_nsfw,1\ntorchembers,1\npink_bedding,0\nsouls,0\ntorturedtorchic,1\nblue-senpai,1\nsoy_sauce,0\nnu_(bikupan),4\nsnowsnow11,1\ncowprint_lingerie,0\nin_vehicle,0\ncyclostomata,5\nsantagiera,1\nesmeia,1\ndoodle_(doodledoggy),4\nmustard_(fek),4\nteddie_(persona),4\nraeford_(brogulls),4\nnova_(purplebird),4\navalon,4\ntodd_hayseed,4\nharem_clothing,0\nlevel_drain,0\nbalaa,1\ngrapploct,5\nfluffy_penis,0\ngina_cattelli,4\nblushing_at_viewer,0\nberry_juice,0\nmasked_dragon,5\nshane_boder_(shaneandco),4\nsnapps,1\ntwo_tone_headgear,0\nyellow_(among_us),4\nnetogra,4\ncinnabyte,4\nmarikuishiyutaru,1\nwafflemouse,4\nkrystamon_(character),4\nlong_braid,0\nwrist_fluff,0\naxiomtf,1\ndiscarded_condom,0\nvuaisu,1\nleaf_wings,0\npatricia_wagon,4\ngnoshy0,1\npeggle,3\niryx,4\nalchemical_symbol,0\nmolly_(disambiguation),-1\nviktor_(paladins),4\nmoxie_the_mouse,4\neric_sacae,4\nkeith_(black-kitten),4\nben_(sssonic2),4\nlorekeeper_zinnia,4\nsheerheart,1\nchuck_(pokemon),4\nagent_3_(splatoon),4\namelia_(petruz),4\nunicuck,1\nlidia_(hyperstorm_h),4\nmoonrunes,1\nstakeho_lder,1\nlarge_weapon,0\nagainst_bar_counter,0\nsmoke_heart,0\nikaika,4\nnonyammychoko,1\nyoshikage_kira,4\nleporid_taur,5\npride_color_body,0\nnottanj,1\nvenus_noire,1\nvaluthar,1\nenen666,1\nred_tail_tuft,0\namputated_arm,0\norigin_story,0\nrailcar,0\nstrapped_in_dildo,0\nextremius_amphibious,1\ngreat_knife_(silent_hill),0\nblack_widow_(marvel),4\nbobby_pin,0\nmr_person,1\nelectronic,0\nstephanie,4\nbladed_weapon,0\nasymmetry,0\ngrubber_(mlp),4\ndearmybrothers,1\nkiruki,4\naquagalaxy,1\ncrotch_fur,0\nsereth,4\nsinful-spector,1\npenmark,1\nanimal_bride_1,3\nsora_(tokifuji),4\nmimic_dragon,5\nsalkafar,1\nthri-kreen,5\ntrooper_(yifftrooper501),4\ndenim_skirt,0\nbluebear_(animal_crossing),4\nmillipede,5\nshugr,5\ntabaluga,4\narmored_vehicle,0\nsafi_(safiru),4\nkitchen_sink,0\nquill_wonderfowl,4\ncerealharem_(artist),1\nspiked_sex_toy,0\nhand_over_shoulder,0\nmala_(malafox),4\nannie_hole,4\nrigel_(kivwolf),4\npillow_talk,0\nchris_(chrisbmonkey),4\nrazia_(narej),4\narimura_taishi,1\nmrbroomstic_(artist),1\nliz_(draconder),4\nbeth_bunny_(ota),4\ngator_girl,4\ntrapped_in_bubble,0\nrabbit_taur,5\ncutefckngbunny,1\nizzybsides,1\nfenris_williams,4\ngeneralgodzilla,1\nmadame_broode,4\nhittoga,1\nroadkill_(zackdadawg),4\nyeehawt0wn,1\nmanifest_harmony,1\nmusi,4\nguildmaster_wigglytuff,4\ngeometrian_(species),5\n13:15,7\nkresto,1\ncobra_(petruz),4\nleaning_on_tree,0\ngaku_kodori,4\nseras_victoria,4\nicy_breeze,4\nsurprise_transformation,0\njasper_(bgklonewolf),4\nlight_stripes,0\ndaycare_attendant_(fnaf),4\nsmithing,0\nsyntheticimagination,1\npopsicle_stick,0\nresting_bitch_face,0\ncicada,5\nsalim_latif_soman,4\nsprite_(soda),3\nbumpty_(artist),1\nduke_nukem,4\nkalida_(character),4\nstrredwolf,4\naphexangel,1\ncottonee,5\naster_rhodes_ravier,4\nsex_pet,0\nculpeo_fox,5\nxenogon,5\nlionfish,5\ngraphicbrat,1\nscarlett_(furball),4\ns'more,0\nkhyaber,1\nfoolish,4\ndv-ch,1\ncastanic,5\narta_aere,4\nheartszora,1\nkit_ballard,4\nukiyo-e,0\npriley,4\nhead_on_arm,0\none_in_one_out,0\nayerart,1\nwilliam_(misterstallion),4\nrayla_(the_dragon_prince),4\npenis_on_cheek,0\nextreme_inflation,0\nmasterofwolves99,3\ndress_removed,0\npolygonal_thought_bubble,0\nfoot_grinding,0\nmadjoker,1\nhunicast,3\nhead_in_hands,0\nkyu-bum_lee,1\nkyoko_(cocolog),4\nfunktilda,1\nlotus_(seuchenkater),4\ngenie_(disney),4\nmarkhor_(artist),1\nmagic:_the_gathering_card,0\ntotem_pole,0\neva_(disambiguation),4\nkakula,4\ninushishigami,1\nfoxtide888,1\ncarrie_(s2-freak),4\nbullwinkle_j._moose,4\nchili_(zummeng),4\nelliot_(fuf),4\nsweepyy,1\npatchwork_monster,5\npdart,1\nneck_tied,0\naugust_(artist),1\nbarriss_offee,4\nvirushunter,1\nfantasy_creature,5\ninflatable_bondage,0\ndesmond_(zootopia_fan_character),4\nregina_(dino_crisis),4\nmary_blissany,4\ngarrote,0\nshibasaki_saki,4\nrayjay,1\npaint_(artist),1\nctrl-z,1\nagnes_(animal_crossing),4\nsharu,4\ncookie_(animal_crossing),4\nfender_mcbender,4\ncaribun,1\nbaresenio,4\nakiru01,1\ncentrifuge,4\nbruxish,5\ntales_of_symphonia,3\nhelen_parr,4\nsteam_(software),3\nbravely_default,3\nklump,4\nsock_puppet,0\nzedeki,1\nnoiverus,1\ncaleb_(kokuhane),4\ngeneral_barcode,1\npleasure_bon_bon,3\nstar_ko,1\nwakan_tanka,4\nxionxiii,1\nplache6,1\nakweer,1\nmannysdirt,1\nreku,1\nkarasu_chan,1\nzagiir,1\njazzax,1\nholding_katana,0\npost_vore_scat,0\nunusual_sperm_cell,0\nnyaongssi,1\nrepeated_internal_monologue,0\nfelinecanis,1\nbigbeanpole,1\ndiggy,4\nphotobomb,0\neyrie_(neopets),5\ninternal_frottage,0\nkahvi_(coffeesoda),4\n0ne_(only0neman),4\nthrowing_clothing,0\nginzake_(mizuumi),1\nhokolee32,1\njanong,1\nclasp,0\nedric_blight,4\nyellow_armor,0\ncum_on_mask,0\nbreeze_(breeze_in_the_clouds),4\nsharkinn,1\npigmyhippotam,1\nwolfen,4\nrashii,4\nsilverane,1\ntouching_chin,0\nlastik,1\nkirby_triple_deluxe,3\nmaenomeri,1\nzilya-lya,1\npale-skinned_female,0\nnighdruth_(character),4\nvoui,1\ncapte,1\nkillerdragn,3\nhosemistress,4\nlooking_seductive,0\nslapstick70,1\n11:12,7\nzuri_(the-shadow-of-light),4\ncitrus_(character),4\ncinnamon_(yoko_darkpaw),4\naward_ribbon,0\nmurzikteijiro,1\nsketch-mantel,1\nkumaneko,1\ncharlie_(wbb),4\nsadleen,1\nhand_on_own_hand,0\nsheep_demon_(hazbin_hotel),4\nflint_westwood,4\ntouhoku_itako,4\nobscured_pussy,0\nzurezuredesigns,1\nkael_(diablo_the_rex),4\nfur_cape,0\nruth_failla_thomas_(the_dogsmith),4\nolia,4\neiscue,5\nio_(sepiruth),4\nhonezika427,1\nyouzora_samo18,1\nquickietime,0\nhehky,1\nchikachi,4\nmel_lancia,4\njulius_(hugetime),4\noscar_(snivybatt),4\nchymlaxi,5\nsaliva_puddle,0\nmonotone_towel,0\nlooking_at_mouth,0\nannie_hill,4\nkasusei,1\nchizu_(rinnyrawr),4\nchevrolet_camaro,3\ninside_throat,0\nfourarms,4\nc-section_scar,0\njay_(fizzyjay),4\nspiffydragon,1\nkawa-v,1\nalyss,4\nbig_shoes,0\nchosen_undead,4\nhilda_(neurodyne),4\nbimm,4\nsolatok_shadowscale,4\ntediousramen,1\nkii_catano,4\noptions,0\nblackfrost,1\nofficer_delgato,4\nzen_(character),4\nadam's_apple,0\ngraedius_(linoone),4\nlihzahrd,5\ndoublade,5\nban,1\nsylvia_sobaka,4\nsteelwings,4\nmike_the_charmander,4\nshishi_dog,5\nichigo_kurosaki,4\nkinkajou,5\nkeine_kamishirasawa,4\nthe_barrens,0\nlupanarium,3\nyashendwirh,1\npast_meets_present,0\nblinded,0\npink_slime,0\nroy_(fire_emblem),4\nartrockt,1\nclara_bacou,1\nchiffon,4\nquanno3,1\nlalee,4\napple_juice,0\ngio_madfang,4\nherm_on_anthro,0\ninfected_heart,1\nmario_golf,3\nglowhorn,1\ndubsthefox,4\nboxy_briar_(lil-potion-shop),4\ncyancoyote,1\n14:15,7\nkeyshop_miss,1\npuppet_(fnaf),4\nkhonorik,5\nrating_scale,0\npwslz,1\nmaurick,4\nruby-milk,1\ntitandraugen,1\novipositor_penetration,0\ninazuma_eleven_(series),3\njeremy_(topazknight),4\nst3ph3n,1\nstrobe-totem_(artist),1\nback_mane,0\nsitting_on_car,0\nholding_key,0\ndeck_(structure),0\nfhtng_the_unspeakable,4\nportal_mask,0\nunder_bed,0\nlunar_new_year,3\nmafty_(artist),1\npentagram_necklace,0\ndervid_(taktian),4\nsulfur_snail_(artist),1\nloggerhead_sea_turtle,5\nborotamago,1\nwide_dicephalous,0\nlab_(disambiguation),-1\nwired_phone,0\nvargas_(fours),4\nqueen_vinyl_da.i'gyu-kazotetsu,4\ndigit_(chalo),4\nfish_(thecatnamedfish),4\nspiked_tailband,0\n467adv,1\nulvinne,4\nshackles_only,0\nhellcat120,1\nvortiganshine,4\nluna_(lunaris_parukia),4\namazon_(company),3\ngekishiro,1\nannoying,0\nkukurikoko,1\nmebh_og_mactire,4\ntouching_panties,0\njax_(mels_monster),4\nsmol_boss_(penlink),4\nshared_reaction,0\nhollyleaf_(warriors),4\n4622j,1\ngearfox98,1\ncaflec,4\nunbakable,1\ntuli_(metrohunter),4\nstrip_game,0\nzinny_(duase),4\nwindows_(saku1saya),4\nmew_tuely_(fan_character),4\nsheera_castellar,4\ntoasty_toast,4\nmogy64,1\npetunia_(gabbah),4\nkawara_gawara,1\ntwo_tone_pawpads,0\nmomma_jerbear,4\nchiyosuke_masin,1\nela_(angryelanoises),4\nisland_kahuna_olivia,4\nshikapandakuma,1\nkascz,1\nkelda,4\njeanne_droue,1\ndolly_(nana_gel),4\nevelyn_(sff),4\njericko_(germanshepherd69),4\nennfet,1\nyoumadsin,1\ngoober_(cobat),4\nsplishsplat,1\ncomparison_chart,0\nhumanoid_to_inanimate,0\nacechan_f,1\nblood_on_tongue,0\nkings-gz,1\njiggling_butt,0\nbitfang,1\ncrocodilchik,1\nanon_1515,1\nstormer_swiftpaws_(character),4\nstanding_on_object,0\nchat_message,0\namelia_(sandwich-anomaly),4\nsammy_(ssammyg),4\nbenji_(benjipaws),4\nmonsterverse,3\nmetal_mask,0\ncadblank,1\nshreddy_(shreddyfox),4\nsauwastika,0\nexv508,1\njohn002021,1\nalister_(sangreroja),4\ndumpling_(tricktrashing),4\ndouglas_(guchiyama),4\ntroy_(rudragon),4\nawa_awa,1\nandr0ch,1\npink_tail_tuft,0\nardy,4\neva_(reygunpocket),4\nsubmissive_focus,0\nlunchbox,0\nfenrir's_revenge,1\nholding_menu,0\nzig_and_sharko,3\nnirvanilla,1\nshadowwolfhunter,1\ncynicallysly,1\ncalzone_(artist),1\nbleeding-heart_monkey,5\nlupi_(playkids),4\nhuge_obliques,0\ncarrying_character,0\nliving_pool_toy,0\ncathood,0\nlatex_(character),4\nbond,0\nholographic,0\nrecombinant,0\nricedawg,1\nraggedy_ann,4\nmulticolored_nails,0\ndoromiez,1\nsatori_komeiji,4\notterly_(character),4\nbelly_scar,0\ndelta's_art,1\ndonut_(misterdonut),4\nnatasha_(gasaraki2007),4\nhalloween_theme,0\njuicy_(sweet_temptation_club),4\nspirit_dream_eater,5\nthatguynamedjoe,1\npenis_on_pussy,0\nacornart,1\nred_bodysuit,0\ninterior_view,0\nflaminhotcheatoes,1\nprotagonist_(repeat),4\nhubristhehorse,4\npolishing,0\nprimagen,5\nfinian_wren,4\nhair_over_shoulder,0\nleona_(lol),4\nmaya_white,4\ndelbert_doppler,4\npuggy_(character),4\nsethos,4\nveesocks,1\njunk,0\ndeam_nitrel,4\neris_(cat_planet_cuties),4\njinxed,3\ntight_pussy,0\nourflatcoat,1\ngaren_(lol),4\ni_animate_ponymotes,1\npsy,4\nrobert_hill,1\nlifted_by_self,0\nbitcoon,1\nardanis_(sinister),4\noctaviados,1\nsaturnspace,1\nruby_pyrenees,4\nrick_(rukifox),4\ntailsrulz,1\ncyndiquill200,1\nreuben_(artist),1\nomochao,4\ne!,1\ncloudy_jay,4\ncloacal_knotting,0\nelf_(dragon's_crown),4\njuggalo,0\npup_(character),4\nnoises,0\ndraxi,4\nborrowed_character,0\nantlion,5\nbait,0\nlightning_loons_(character),4\nsierra_(pumapaws),4\nshoulder_hair,0\nwoofmaple,1\ndragollo,1\nbelly_stuffing,0\naimkid_(copyright),3\nfrilly_skirt,0\naziran,0\nmobian_lynx,5\njaunty7,1\nglare_(lighting),0\norgasm_squirm,0\nzack_(fuze),4\nvergo_(darkfox49),4\nmichael_tanuyama,4\nvegetable_humanoid,5\nsweet_chubbs,1\nwhite_blouse,0\nfairycatcreation,1\nberryvapor,1\nroast_(kumalino),4\nnoroi,4\nnebby,4\njacob_(bluesh),4\npikachu_belle,4\njackie's_story,3\ncygnovum,4\nminior,5\nchugging,0\nmaraschino,4\nluxordtimet,3\npussy_drip,0\ncthulhu666,1\nzelamir,1\nt3gray,1\ndebby_katt,4\nsprrigs,4\nwatercolor_lollipop,4\nduffy,4\ngalen_dhaelos,4\nalvcard,4\nkookaburra,5\ngarroh,1\ngangnam_style,3\nnot-a-comedian,1\nkara_(furryneko),4\nbepo,4\nglorantha,3\ntirol,4\nwatt,4\ninstant_erection,0\nswedish,0\njohrnyreport,1\nvixen_tamer,1\nweather,0\ncygni,1\ntibbs,1\nmaverikat,4\nozzy_fitch,4\nthe-boar-house,1\ndribbling,0\nhebe_(pixiv),1\nflax_(artist),1\nlustragon,1\nbody_tattoo,0\ncomputer_virus_(program),0\nelisabeth_(eipril),4\nsendra_(barzillai),4\nvial_furglitch,4\nsketchmantel,1\ncarrus,1\ngreen_dragon_(untied_verbeger),4\nrhode_arts,1\nkorndoggychub,1\ncarolina_(mikrogoat),4\nglowstick_bracelet,0\nvic_(delirost),4\nbetter_call_saul,3\nfade_to_black,0\nleaving,0\nmortal_rot,1\nrednoodle.inc,1\ncho'gath_(lol),4\nmrbowater,1\ndaihatsu,3\nwater_fountain,0\npera,4\nking_of_dinosaurs,4\nlittle.sparrow,1\ntoxicempress3,1\nsyrup_haislip,4\nice_jogauni,5\nfuck_penders,0\nkoshiro_daimon_(odd_taxi),4\njapanese_audio,0\nducklett,5\namii,4\nbbq,0\nplsgts,1\ntasteful-clopper,1\ncynfall,4\nrat_ogre,5\nbiggcuties,1\nkayla_angel,4\npacelic,1\npreykill,1\nfluke_the_husky,4\nhokkaido_nippon-ham_fighters,3\nwhite_yoshi,5\nkazukio,1\nfacebook_fox,4\ndragon's_dogma,3\narashiin,4\ndaedalusui,1\natherol,1\nblunt-katana,1\npoker_face,0\nmaryll,4\nowen_grady,4\nscene_parody,0\nindiana_jones,4\nsparksstars,1\nthescarletdevil,1\njustin_(o_im_soniic),4\ndeijii,1\nartyom_(duke-jarnunvosk),4\njordan_the_chipmunk,4\nkaijusundae,1\nyanidesu,1\nvaikus,4\naurorabound,1\nribbon_legwear,0\npewt_(synpentane),4\npaul_(majin764),4\nbeelzebub_(helltaker),4\namputated_leg,0\npen_(pd),4\nhero_of_many_battles_zamazenta,5\nbraver_(character),4\ncrabtopus,1\nglowing_plants,0\npattern_boxers,0\nmagnum3000,1\nvirus_(kittikary),5\nafter_market_universe,3\nholding_surfboard,0\naubrey_ferris,1\nsperm_cell_with_face,0\nvideah,4\narchiblender,1\niggy_(ignigeno),4\npiiunivers,1\nrexumin,1\ninfinite_devotee,0\nmoofus,1\ntight_swimwear,0\nchanged_remake,1\nsnow_serval,5\nrenamom_(slickerwolf),4\nmuscular_calves,0\nisaribi,4\nleonel_(danellz),4\namira_winters,4\narturfox,1\nleaf_print_shirt,0\nsuprised_eyes,0\nrgb_(artist),1\nstriped_butt,0\narm_hug,0\nnante-p,1\ngalina_(elmo-san),4\ncapuccinichan,1\nplaypen,0\naster_crowley,1\n13:17,7\nmarsaovo,1\nmonique_(tacodragon),4\nqiwaiz,1\nlucy_lupa,4\nlinorgoldenfish,1\nmtpcrew,1\njockstrap_down,0\nway_bad,4\nplump_anus,0\nleilani_(shortwings),4\nsoruton,1\nsmallcoffemaniac,1\nfencing,0\ncoat_only,0\nreptil,5\nlambent_panpan,4\nbencoon_(character),4\nraiden_(metal_gear),4\nviolet_(femtoampere),4\nxander_(trigger12),4\nfrost_bright,4\nbrokeguy21,1\n7624cq,1\npeephole,0\nknux_(maestroknux),4\ngame_boy_advance,3\nkriyu,4\nlooking_at_screen,0\ngravyfox,1\neradragon,4\nredrocketsfm,1\nlarvesta,5\nhyper_urine,0\ntaiarts,1\nsplashing_water,0\ncomb,0\nlutari,5\nmr_sadistokun,1\nallopreening,0\nfiligree,0\ninside_diaper,0\nmovie_night,0\nhoney_(bluey),4\nwetwasabi,1\nkitty_(courage_the_cowardly_dog),4\ntkdchamp02,1\ndrool_cutie,1\nocerydia_zoona,4\npervertedgiants,1\nelwind_(thiccvally),4\nstirring,0\nsatanickpaws,1\ndoon,1\nbig_muffintosh,1\ndualshock_2,3\nanile_fryscora,4\npride_color_footwear,0\nagzil_mellah,4\ngeferon_(geferon),4\nbudded_cross,0\nwaving_tail,0\nness_(risenpaw),4\nsmollsaid,1\nshu_(dragon_ball),4\ndemisexual_pride_colors,0\nnootherway,1\nshockley23,1\nnightmarebros,1\nneondonut,1\ndlostarts,3\ncatbeecache,1\nhiding_breasts,0\nmasquerade_mask,0\nsam_deko,4\nathletic_feral,0\nwolfbuns,1\ntovio_rogers,1\nred_clover_(artist),1\nolder_sister,0\nteratophilia_(artist),1\njump_(blackbolt),4\ntj_konesky_(dark_blue),4\nbodily_fluids_on_penis,0\ntallarra,1\nroquemapache_(artist),1\nember_(bloodline),4\njason,4\ngabrielle_lawson,4\nhyper_chode,0\nhalf-life_2,3\ngraycatluna,1\njack_murdock,4\nlollipop_in_mouth,0\nrasmussen891,1\nblue_leotard,0\nsigrid_(snakedakyoot),4\nbeeb,4\nunison_birth,0\ndroopy_eyes,0\nfire_hose,0\nelbow_grab,0\ndal_(blazethefox),4\nfusion_(character),4\ntan_gloves,0\nesmeralda,4\ndzat,1\ntic-tac-toe,0\nresting_on_arms,0\ndoppelgänger_(species),5\nmurky_(heroes_of_the_storm),4\nsibugaki_2810,1\ndudemantix,1\npaper_seal,0\naoba_(artist),1\ntaunt,0\njay_fortissimo_(jforte91),4\ngagged_talk,0\nfrank_fathih,4\n3_talons,0\nheart_t-shirt,0\nheart_ring_(hardware),0\ncherry_(bds),4\nrodent_tail,0\nlance_(kloogshicer),4\nfu_ren_chi,1\nalexis_(gutter-bunny),4\nultimate_mating_league,3\nstilioweirdo,1\njosey,4\nmaskedpuppy,1\ncryme_the_cheetah,1\ngrave_gryphon,5\nshiroi,1\ntiger-paws,1\nvetom,4\nmel_(dionysis),4\nemotes,0\nlalox,1\ndarkdragoon,1\ng.f.d,1\nroxy,4\ntakoma,4\nbakeneko,5\ncustomer,0\nearth_light_carbuncle,4\ntintiai,1\nicy_(foxfan88),4\ninterval,1\nlykina_(character),4\nflintex,1\nedith_up,4\nkaminoan,5\npointed_tongue,0\ncherise_chevron,4\naodhan,4\nmelancholysanctuary,1\nd-dog,4\nzack_magellan,4\npom-pom_oricorio,5\njacqueline_(spoonyfox),4\nberrywoof,1\nsebastillion,4\ndangernoodledraws,1\nkay,4\nkricketune,5\nhierro,4\ndrawponies,1\nred_boxers,0\nnitefire,1\nacne,0\ncathricorn,1\nnecromancy,0\nheadache,0\nzosha_(armello),4\nskye_prower,4\nasper_(panzery25),4\ncaimon,4\nmericella,4\nnemesis_qq-type,1\nlunaismaiwaifu,1\ninukami,1\neliza_(vader-san),4\nkiu_piu,1\nsonic_and_the_secret_rings,3\nraikarou,1\nzin_teki,1\nprimal_(infycharmander),4\njonah_(insomniacovrlrd),4\ncecilia_(gorbograndman),4\nswolptr,1\nmoonlight_(ramsusxiii),4\nvaptvulpe,3\nin_bread,0\nhawaiian,0\nsquishy_(character),4\nsadosaurus,1\ngold_(shiro-neko),4\nsam_(bts),4\nspiky_flair,4\nixen,4\npatty_(inkit89),4\nthis_lukk,1\nsitting_on_planet,0\nconfidence,0\ngabu_art,1\nnarwhal_iv,1\ninferna_dragnis,4\nseasonal,0\nred_vernal_(killioma),4\nclenching,0\nsoulless_eyes,0\ncontour_smear_lines,0\naman_(weibo),1\ninterz,1\npaprika_(series),3\nirc_(artist),1\nfatal_(fatal_dx),4\nvodcat,1\nkei_(bonedra),4\ngrabbing_calves,0\nruby_the_bat_(ruby_savarin),4\nontsuna,1\nrapidstrike,1\nxerawraps,1\nwilczeu,1\nbob_(biohazard),4\nimminent_violence,0\nfreefox,1\nholy,0\ngomtang,1\nyear_of_the_goat,3\nhaska,1\nwendy's_old_fashioned_hamburgers,3\nguzzlord,5\ndark_shadow,4\ncomjuke,1\nsaw_(movie),3\nslammu,4\nkirsch,1\nloboan,5\ninq,4\nwizardmon,5\nrei98,1\nnorve,4\nkris_maltoa,4\nsyphon,4\nelena_of_avalor,3\nhand_in_pouch,0\nprofessor_squawkencluck,4\nlorenzo_(bowserboy101),4\ncow_(cow_and_chicken),4\namezawa_koma,1\nstar_trek_the_next_generation,3\ntruedevirish,1\nrhode_island_red,5\nmolte,4\nrio_(artist),1\nkyell_gold,3\nsierra_starpaw,4\ndejah_thoris,4\ncorporalcathead_(artist),1\nthrone_position,0\nyurihimawari,1\nintox,1\nhandy_(htf),4\nredwix,1\nrankin/bass,3\nohiekhe,1\nloonyjams,1\nescaping,0\nveiled_chameleon,5\nvictoria_lancaster,4\nculixcupric_(sheep),4\nshi-niss,4\nhorae_deerling,4\np700,0\ncyth-swag,1\nunusual_blood,0\nglush,0\nstained_glass_window,0\nblacksheeptfs,1\nsweater_around_waist,0\noffice_sex,0\nescuron,4\nexcited_for_sex,0\nkaohto_(character),4\nadopted_daughter,0\npenis_on_balls,0\npeppermint_(talvi_is_here),4\ngrey_beard,0\naniapt_(manga),3\nafter_anal_masturbation,0\nmatt_wolf,4\nsaigou_shirou,4\nhorde_symbol_(warcraft),0\nclaudia_(klausd),4\ndahliathefox,1\nwhite_tentacles,0\nsecurity_uniform,0\nsatori_(verfyhi),1\nasura_(character),4\nme_and_my_teacher,3\nsteller's_jay,5\nraggedy,1\ntumugi_topia,1\nhushhusky,1\nawkward_moment,0\nice_king,4\ncocoa_(las_lindas),4\nneck_snap,0\nwander_(powfooo),4\nrioeg,1\nblue_anole,5\nplate_carrier,0\npsydraggy_(artist),1\npalmedo,4\ntwo-piece_swimsuit,0\nsunny_funny,4\ndaffodil_squeaks_(character),4\nadriky1012,1\ndarkzel,1\nnaoki,1\nsnow_(snowier),4\ncamboody,1\nscatterbug,5\nmcpartyworld,1\nhews-hack,1\nprismblush,3\nholding_disposable_cup,0\nhair_bondage,0\ngoldomond,4\nlordburqan,1\nbiker_cap,0\njessica_(arknights),4\nl_buffer,1\nmulticolored_belt,0\nvag_(pixiv),1\nnintendo_button_symbol,0\nlee,4\nzarude,5\nspooky_dune,1\nred_antennae,0\njune,4\nplaid_background,0\nlana_baginsky_(furlana),4\nschizoideh,1\ndirt_path,0\nnehmkey,1\nkrousser,4\nklovs,1\nsaffron,4\ncastagno,1\nskandark,5\ncrystal_heart,0\nmomo_(momorodent),4\nmulticolored_towel,0\nbiting_sound_effect,0\nnevan_nedall,4\near_mouth,0\nmammalian_dragon,5\nrayke,4\nrainbow_neckerchief,0\nfalcomon_(survive),4\nlighthoof_(mlp),4\nzephyr_the_praimortis,4\njanny_(ritts),4\ntdk,1\ndark_mane,0\npound_puppies,3\nrandall_(draugr),4\ntrickate,1\nproann,1\nleif_(bug_fables),4\nalbator_(fern/alba),4\nkikiluv,1\nshout,0\npants_undone,0\ntammy_connelly,4\nerganyfox,1\nbrown_robe,0\nmashie,4\ntenecayr,4\nscat_desperation,0\nhat_kid,4\nfunnel_in_ass,0\nsrcook,1\nhuttser-coyote_(character),4\nmisu_(dirtyrenamon),4\njarofslime_(artist),1\ndaisy-marshmallow,1\nlars_(0laffson),4\ngigardrawz,1\nmadlag,1\nmynameiscomic,1\nship_deck,0\nbluespice,1\nsonicsfan81,1\nbit555,3\nbeleoci,1\nnightmare_star_(mlp),4\ncoco_(vonark),4\nfrancesca-ictbs,1\nmz._ruby,4\njun_(pokefound),4\nlynxy_jones,4\nnipple_cutouts,0\nsilverdrool,1\nzeitzbach,1\nmonster_steven,4\nacomfyblanket,1\nhutt,5\nn1k0,1\nkknssd,1\nsammy,4\noverwight,0\nmarblepan,1\ncharlene_sinclair,4\nsly_shadex,1\nrockonvelzmor,1\nbruised_face,0\ndexie93,1\ntwo_toned_body,0\nspotted_tongue,0\norange_slice,0\ndaemon_of_khorne,5\nenso_t0324,1\nimplied_vaginal,0\nuchawi,4\nflint_(blazingflare),4\neaster_anal_beads,0\ntealsick,1\nleaning_on_counter,0\n007,3\nmaster_(gym_pals),4\nprohibition_sign,0\nblushbrush,1\nslit_nostrils,0\nambiguous_oral,0\nliuoie2,1\nacrasia,4\nalien_hominid_(character),4\nfrowning_at_viewer,0\nruined_clothing,0\nflorence_nightingale_(fate/grand_order),4\ndrpepsi,1\nrithnok,4\ntartare,1\nannoyance,1\ncowcatgames,1\npeyton_(repzzmonster),4\nrestricted,0\nbondrewd,4\nwhite_light,0\nazael_dragonfang,4\natwistedfool,1\nmayobug,1\nsamba,0\nembarassment,0\nantena27,1\nlugiem,1\ndaxxcat,4\nratatouille,3\nrazile,1\ncherri_(artist),1\ncosith,1\nseiren,1\nducko,1\npussy_juice_on_bed,0\nboom,0\nmulti_torso,0\nell,4\nrainingskys,1\nstechow,1\nangst,0\nct,1\ncontrolled,0\nlowemond,1\nlucy_heartfilia,4\ncevelt,1\nlynn_(modeseven),4\nyasima,4\nred3engine,1\nflamewolf22,1\nceruledge,5\nsleepyslut,1\nfur_ridge,0\nsampson_(thyme),4\nshort_glans,0\ntkupbook,1\ndarrow0,1\ngarden_hose,0\nsashacakes,1\nxeoniios,1\ntailhug_(artist),1\nmitsuharu_nene,1\nmatatabi88,1\nkimichika,1\nsorisoru,1\n1md3f4ul7,1\nsuguha_kirigaya,4\ntanzy_(tanzanite),4\nkapusta123,1\nabby_(jwinkz),4\ndez-fm,1\n15:16,7\nanon_fox,4\nandyaoa,1\nmulticolored_thong,0\ndark_armwear,0\nlaurella_the_eevee,4\nmasc0t361,1\nnaganadel,5\nloppu_(diives),4\nbakedanooki,1\nlaphund_(artist),1\npastel_(bigcozyorca),4\njhoneilerld,1\nbubbashiad,1\npeach_(disambiguation),-1\nracal_ra,1\ncooch_(supermansion),4\nfyixa_(fyixen),4\nstanding_over_viewer,0\nsitting_on_object,0\ndci,1\njarvis_(darthandroid),4\njoe_(joebluefox),4\nindie,4\nfinger_on_tongue,0\nbloss,1\nredsaber,1\nhorse_mask,0\nmetallica,3\nvenison_belevik,4\nnojo,1\ndgfox,1\nmark_patten,1\nbig_shiba,4\nsakamoto_(nichijou),4\nstrider_auroch,4\nfalz,4\nloom,0\nmiiverse,3\nglassesgator,1\nchrono_eternae,4\njaw_drop,0\nleak,0\nyuuri_(character),4\npichigani,1\ngaiasangel,1\ndakota_hazard,4\nzadee,4\nthird_leg,0\nallosaurus_(artist),1\ngoro_(mappy),4\nblanc_de_hotot,5\npocahontas,3\ndrell,5\nkyoumoto_takayuki,1\ndance2forget,1\nmelchior_leonall,4\nlovelitchi,4\nart_deco,0\nveska,4\nsafari,3\nmana_dai_daries,4\nvicuña,5\ntalia_(tasticstarlight),4\norange_eyewear,0\nasriren,1\nbragging,0\nstcaipirinha,1\npsydoux,1\ndirty-canvas,1\ntriplecorne,1\nlina_(prsmrti),4\nlooking_at_muscles,0\nkeaton_(animal_crossing),4\nmimicry_(fluffobuggo),4\nblack_pseudo_hair,0\nthrumbo,5\naukives,1\nmulticolored_swimming_trunks,0\nsweating_towel_guy,3\nmo23,1\nlutivian,1\npainted_penis,0\nvamrack,1\nclothed_gynomorph_nude_female,0\ntube_dress,0\nglowing_hooves,0\nunsafescapewolf,1\nkelly_(ruribec),4\npink_pseudo_hair,0\narm_bite,0\nvivi_(inline),4\nsush1d0g3,1\naidennguyen17,1\ngelato24,1\nyellow_tail_feathers,0\nbionic_eye,0\nfive_o'clock_shadow,0\nvox_glass,1\nkathu_thal,4\ncashmerekangaroo,1\naretna,1\nsasha_(digitalpelican),4\nred_dead_(series),3\nkaren_(redacted),4\nazenzeph,1\nkashe,1\npen_in_mouth,0\nshinto,0\ntofu_(ralenfox),4\nking_of_the_hill,3\npink_fairy_armadillo,5\ndigbox,1\nellie_blue,4\nneko_works,3\npardok,1\nagony,0\nmorph,5\nveyll_(centum),4\nsmutty-smeargle,1\ncaine_(cainesart),4\nmaya,4\nstrobes,4\nyamcha_death_pose,3\nreverse_furry,0\nlazydoogan,1\nryouta_sumeragi,1\njosilver,1\ngrymmbadger,1\nchampagne_bottle,0\nnegigi,1\napoptosis,1\nkotorahime_neneko,4\nanidra,1\ncookiekangaroo,1\nakudrache,1\npolice_lineup,0\ntanabata,3\nfluffy_(artist),1\nophelia_(gargoyles),4\nbarghest,5\nlatex_pants,0\nmetro,0\nwispowillo,1\ncookie_monster,4\nfabinella,4\ntoxictigerex,1\nthe_oblongs,3\npinguinolog,1\ndirk,4\ntoragami_gaou,4\ntundra_dragon,5\nwylderottie,4\nbrianna_(artica),4\ndaisypayne_(artist),1\nkernelewdies,1\nxurkitree,5\ncellina,4\nlol_religion,0\nnamelessimp,1\nkopa,4\nball_hug,0\nrampie,1\ncum_in_jockstrap,0\ninternet_explorer,3\nshadow_ball,0\nlegs_around_head,0\ntoilet_man,1\npig_(angry_birds),4\ncurtain_doggo_(photonoko),4\ncd_player,0\nbumble_bee_(species),5\nroxadelic,4\nmagic_sword,0\nwulframite,4\neclairscollection,1\ngroenveld,1\ngaymingwolfy,4\nstarbearie,1\nchowie_tanuki,4\naltagrin,1\nstandby,1\ndelirium_(tboi),4\njunkieboi,1\nzephyr_(a12),4\ntheyeager,1\nbengal_tiger_(kemono_friends),4\nrhys_wysios,4\nvirusotaku,1\nferolepo,1\nnivawa_and_saitou,3\ntoroitimu,1\ndiamond_hakamo-o,4\nvaliance22,1\npussy_transformation,0\njirafona,1\nxensoi,1\nlight_spots,0\nhanes,3\nroz-chan,4\nnexomon_(species),5\numine,1\ndusty's_poke'adventure,3\nhenrycharizardboi,1\nbdsm_suit,0\npointing_at_object,0\nrex_(furrybeefrex),4\nlomito_dankev,4\nwhite_undershirt,0\nbrulee_(y11),4\nlaure_(thekite),4\ntristen,4\nblack_tip_tail,0\nharold_(harmarist),4\ngreen_eggs_and_ham_(animated_series),3\npubic_trail,0\nholding_rose,0\nsalmon_background,0\nrain_(rain420),4\nzoom_in_transition,0\ndenki_shougun,1\nelbow_on_leg,0\nmolesting,0\ntrue_fossil_soul,1\naevyn,4\ndicknipple_balls,0\njason_(disambiguation),4\nc.j._(cjtheotter),4\naddy_otter,4\nfiling_cabinet,0\nreverie_(dreamsinscareden),4\nsanory_(artist),1\nralen_(ralenfox),4\nsei_kuroneko_kishidan,3\nskunny,5\npromiscuousmaractus,1\nsizzling,0\nyellow_spines,0\ntwo_piece,0\nshu_20625,1\nleaf_pile,0\ncollision,0\njill_hopps,4\nskag,5\nslave_outfit,0\nbaile_oricorio,5\nenurubis,1\ncloudtrotter,3\nmolest,0\nblue-paint-sea,1\nmiakameron,1\nbetty_boop_(series),3\nminer,0\nbandit_(holidaypup),4\nsetmann123,1\nfortress,0\ncloacal_prolapse,0\nmanila_doyle,4\ngreedo_(legendz),4\nk.o.,0\nburning_blaze,4\nlilaira,1\noumagadoki_zoo,3\nmega_pidgeot,5\nastrofenn,1\nbcokami,1\nkurumiken,1\nfurrycandyshop,1\nescavalier,5\nzelo_lee,1\ninkersod,1\nmarquis_the_eevee,4\nmensies,1\nanna_(feuerfrei),4\nmimizu,1\nconquering_storm,4\nkate_(morpheuskibbe),4\nhextaur,5\nyad,1\nnoble,0\ndouglas_benson,4\neridan_ampora,4\noliver_cotter,4\nviolet_(zootopia),4\nemlan,1\nvixie_(averyshadydolphin),4\nhal_adhil,4\nnissei_(artist),1\nzilvus,4\nshriek_dubois,4\nzephyrus_orgy,1\nbodyxcount,1\ninju_otoko,1\ngrogar_(mlp),4\nsmall_sheath,0\nana_(overwatch),4\nme_(master_elrest),4\nlouis_(tpatf),4\nkururu,4\nquiet-ala,1\nchocolate_bunny,0\norion_(aluminemsiren),4\nkiritsune,4\ncolin-tox,4\nlord_kass,4\nspas-12,0\nmonopoly,3\nichitro,4\ndirtypawz_(artist),1\ndiction,1\newok,5\nstripes-the-raccoon,1\ncarnivine,5\nbud_compson,4\nsapphire_(disambiguation),-1\nargentina,0\nnausicaä_of_the_valley_of_the_wind,3\nthe_valet_and_the_vixen,3\nnanasun,1\ngunslingeratticus,1\nsion_allona,4\nmikey_(scataraxia),4\ngentlemanpaux,1\nred_cum,0\nswomswom,1\nlaser_wisp,5\nheigani,1\ngaming_headset,0\nryouta_(leobo),4\nbec_(lobokosmico),4\nerch_toons,1\nvega_(stargazer),4\nxer'sai,5\nwenqu0304,1\nhansel_(101_dalmatians),4\ntora-chan_(horokusa),4\nscarlena4,1\ncanid_kaiba,1\ndamon_fallow,4\ntan_head,0\npartially_submerged_arms,0\nwrapping_paper,0\nhands_on_neck,0\naddison_rodgers,4\ndettyfenik,1\nsir_pentious'_hat,4\nchivaran,1\ncooked_food,0\nbaby_mario,4\nash,4\nfreschrenders,1\nlizzyglizzy,1\nazi,0\nisolde_(rukis),4\nwhite_bodysuit,0\ngou_(lagoon_lounge),4\nhugoriolu,1\nbringeall,1\nhael,1\nihoundr,1\nember_(chillypepperstash),4\nomo_kemo,1\nswimwear_only,0\nstoven_(xdarkspace),4\nlot_par,1\nphoenix_vorster,4\nspookybooty,1\nowen_(mels_monster),4\npengy_(pengi_nsfw),4\nshlap,0\nsteamedvegetables,1\nshaidan_(amocin),4\nkorfiorano,1\nsuckmycoccyx,1\nzowslli,1\nzat_virgil,1\nwerenimal,0\nkora_brandis,4\ncleaning_cock,0\nnigirizushi,0\nrestrained_feet,0\ntodding,1\nandee_(rvb_revolution),4\ndobie-ace,1\nshun_gonfano,4\npeanut_(peanutham),4\njoosiart,1\ncocoa,4\nlooking_confused,0\nmoni_(monidraws),4\ndeep_rock_galactic,3\nitwasscatters,1\nx-s_(lumen_fox),4\nvulkalu,1\nrib_lines,0\nobese_taur,0\njaythefox333,1\ndragonsica,1\nrandom_doom,3\nomega_(yitexity),4\nmirrorreach,1\nhand_focus,0\nbiological_illustration,0\nduality448,3\nsafety_glasses,0\ncubcam,3\ndarkgrim2,4\nkundofox,1\nsetup1337,1\ntricycle,0\nziyana,4\njack_(david_hopkins),4\nnatsume_yuujinchou,3\nkasia88,1\nlive_on_cardliver_kakeru,3\nkure,1\nsmog,0\nshibeari,1\nmirry92,1\nlynraccoon,0\nwanpaku,4\nbelly_pinch,0\nyuio_maid_dress,3\nmortimer_todd,1\nclipped_wings,0\ncum_on_car,0\ntiger_blueberry,1\nelek-tronikz,1\njapanda,1\nbeetlejuice,3\nsophia,4\nyumiki,4\nblacklight_(character),4\nlife_is_strange,3\nroo_(valtik),4\njugend,1\njiggy,0\npelvis,0\nmeera,4\nxenium,1\nbent_beak,0\njavik,4\nangello_cauich,1\nbollard,0\nmozu,1\nartica_lagopus,4\nbrushie_brushie_brushie,3\nmega_latias,5\nmint_(bittenhard),4\npinkie_pie_out_of_fucking_nowhere,0\nshiretsuna_(character),4\nursa_minor_(mlp),4\nlilyness,1\nkrona,1\nrift_(wolfywetfurr),4\namara,4\ntotem.v,1\npenelope_(hamtaro),4\ncringing,0\nandreia-chan,1\nzombie_(character),4\nscaled,0\nprincess_tempora,4\ntanuki_costume,0\nkida_howlette_(character),4\nwes_(dominus),4\nnookprint,1\nlooking_at_book,0\nmewichie,1\nmonotone_pillow,0\nbird_(petruz),4\nhisuian_braviary,5\nniku_(gym_pals),4\npizzacolt_(zhanbow),4\nsuccubusbnny,1\ncaptain_style_cinderace,4\ncarl_(misterstallion),4\nwilliam_(tinypigdraws),4\npeculiar_doll,1\nhiggington,1\nmaseru,1\narjinmoon,1\nfenris_(zephyxus),4\nbreast_slap,0\nholding_flashlight,0\nnobushito,1\nwendover_(halcyon),4\npanties_around_thighs,0\nnemo_nutkin_(character),4\nleather_armwear,0\ndisco_bear_(htf),4\ngulk_(sound_effect),0\nstephen_inesty,4\nmay_(kojondian),4\ncassandra_(momiji),4\njelly_bean,0\nofficer_munroe,4\nscientific_name,0\ndanganronpa_v3,3\nsetonanaki13,1\nabby_(polyle),4\nero_jasper_(artist),1\nantler_removal,0\nleydon,4\nbelle_the_tinkerer,4\norange_briefs,0\npixie_(brushfire),4\noopsynsfw,1\nolexa_vrane,4\nthigh_bow,0\nteal_underwear,0\nskwovet,5\nwalnutgecko,1\nuglyshadow,1\nfringe_trim,0\nfluitaire,4\nrenaissanceofchaos,1\nnixx,1\nseiren_(artist),1\nkitsuneymg,1\njackheretherealone,1\nfoot_insertion,0\neddie_brock,4\nwedding_night,0\ntoots_(character),4\nbruce_(animal_crossing),4\ngawein-dragon,1\nstoney-pony,1\nxplaysx,1\ndarkestmirrored,1\nopen_toe_shoes,0\nmonkeysuit,1\nminute,4\nshin_maple_town_monogatari,3\ndeath_grips,3\nbandit_hermit_(gunfire_reborn),4\npinderhooks,1\ntulip_(hyeing02),4\nkejzfox,1\nsports_bikini,0\npeachiekeenie,1\ncidius,1\nmewscaper,1\namethese,4\nzekra_(ramul),4\nfight_cloud,0\nderpybelle,4\npelagice_(insomniacovrlrd),5\nanu,4\nholding_revolver,0\nblush_emoticon,0\nlong_feet,0\ndoll_eye,3\ngalloping,0\nbess_project,3\nbulge_nuzzling,0\nthis_is_fine,3\nspectrobes,3\nprint_thigh_highs,0\nyellow_helmet,0\nsara_(nekuzx),4\nchilldog,1\nkangy_(tegerio),4\nvirtue's_last_reward,3\nbundroid,5\nwereshiba,1\nholding_skull,0\nkwskkaruta,1\nyellow_pseudo_hair,0\ncheri_(lord_magicpants),4\nfoxialewd,1\nlilly_(inkit89),4\nwhite_choker,0\nroast_chicken_leg,0\nreclining_pose,0\ntylerayrton,1\nsmush,0\nsparklyblanket,1\ndoggydog,1\nflummery,4\ncatrina_(mlp),4\ntwin_brothers,0\nfjnm000,1\nkumahachi0925,1\nluna_(buizanine),4\nsumiwohakuneko,1\ntongue_in_throat,0\nharry_campbell,4\nsans_(sanssouci),4\ndanganronpa_2,3\nvixieblues,1\nkisaragi_(azur_lane),4\njames_flynn,4\npuppycorn,4\napex_(artist),1\nparty_time,0\nmatz,4\nmatelk,1\nminecart,0\npinki-husky,4\ntrapmagius,1\nfelicario,4\ncountershade_anus,0\njesse_(ciderward),4\nmile_high_club,0\ngreg_universe,4\nwhitty_(fnf),4\njessica_young_melis,4\nrayda_(how-about),4\nkoopagirl,4\nsuper_famicom,3\ntraashmann,1\nfuck_request,0\nsensiive,1\nkrimble,1\nsair,5\ndenny_(dracojeff),4\nyzyhet,1\nholding_feather_duster,0\nharufeng,1\ngemstones,0\ncolson,4\nd.j._(101_dalmatians),4\nbunny_maloney,3\nbogrim,1\nkidde_jukes,1\nsevenserenity,1\nsemajsttseb2,1\nmadrigal_(aquest),4\nyaco_puma,4\nazuli,4\nsmall_anus,0\npurple_slime,0\nmalgam_(fidchellvore),4\namber_(scooby-doo),4\ntorn_bra,0\ntea_(teabunni),4\nfloral_dress,0\nskirt_around_one_leg,0\nchastity_key,0\nsoot,0\ngardemom,4\noral_pretzel,0\namber_wing,4\nbadger_humanoid,5\nkyle_kendricks_(forestdale),4\ns-q,1\nvenusfalls,1\ncomic_(under(her)tail),4\nmobian_fox,5\nred_sneakers,0\nrandoonest,1\nlady_wolf_(arbuzbudesh),4\naranea_serket,4\nfarran_height_(artist),1\nmiw_(darkdoomer),4\nonline,0\ndarkened_foreskin,0\npepper0,1\nkaisgaru,5\nrichter,4\nionai,1\ntempura_puppy,1\njelli_(jellithepanda),4\nbent_knees,0\nmonotone_eyelids,0\nvito,1\nfainting_goat,5\ncarne_asada,4\nyabby,1\ngeronimo_stilton,4\nvenvatio,1\nkojote,4\nkix,4\nleomagna,1\npashmina,4\ntrix_the_cat,1\ndiesel_(komatose),4\nammon,4\nmaximillianveers,1\nstick_(satel),4\namaya_(bcb),4\nfancy-fancy_(top_cat),4\n1960s,0\nmimi-fox,1\nwittle_digi,4\nhadalmartian,1\njaws_(film),3\nbaby_creeper,4\nlandreu,4\nking_(kingbeast),4\ngoldenfox,1\nnilania,4\nzelen,1\nstasis,0\nvojt,4\nsynad,1\nmettaton_neo,4\nsatin,0\nzuphyx,1\nmelory,4\njaz_(nanimoose),4\nsalrith,4\nlindwurm,5\nchamber,0\nbodalack,1\nmr-dna,1\nrexlabs,3\nroora,4\ngluttony,0\nbig-red_(character),4\n1990,7\nsleeping_cap,0\nseath_the_scaleless,4\nlenika,1\nnovaberry,1\n69_breast_suck,0\nchikiko,1\nshadowzero20,1\nmomo_(sy_noon),4\nvoid_lizard,1\nrey_(star_wars),4\nduality_(character),4\nchisai,4\nfake_mustache,0\nscootiebloom,1\naku_tojyo,1\nganbanman,1\nobstructed_eyes,0\nclassic_knuckles,4\nbunny_(averyshadydolphin),4\nlesdias,1\nxsissa,1\nseturou1010,1\nsierra_(ashcozy),4\ndripping_milk,0\naltair_(patto),4\nworkbench,0\npixie_and_brutus,3\nlaco,4\ndognextdoor,1\ncreed,4\nafika,5\nrandagio_(fairy_musketeers),4\nspiked_shoulderpads,0\nrainbow_bracelet,0\nvertical,0\nsheecktor,1\nvenisin,1\nkiyo_mae,4\ntawa_1908,1\ndrippy_dragon,4\nchocolate_egg,0\nfishnet_bodysuit,0\ngontadanuki,1\nspecial_week_(pretty_derby),4\naipiepo,1\nleaf_crown,0\nbeaver_and_steve,3\ninnocent_expression,0\ncinny_the_incineroar,4\nwheat_in_mouth,0\nchessie_(shycyborg),4\ntentacle_growth,0\niavan,1\ntiburia,4\nsqueakie,1\ntouching_own_thighs,0\ndriiadi,1\ncharlieleobo,1\nforestwalker,4\nshoppaaaa,1\nbaguette_(artist),1\nlobs,1\ntemrin_sanjem,4\nransom,4\nfox-die,1\ndemidevimon,5\nstep,0\ntami_(poonani),4\nquickie,0\nbombette,4\narmiger_(bxrnstellar),4\nbeast_sergal,5\npurple_eyeliner,0\negyptian_god,5\nspelunker_sal_(character),4\nbull_sharkowski,4\ncombine,5\nrutting,0\nnoel,4\nbitty,4\nminime_jones,4\nluketh,4\ntaiikodon,1\nbuzz_lightyear_of_star_command,3\nbalance,0\ntorture_rack,0\npiston,0\nphantasy_star,3\nponyhidden,4\nmiss_moosie,1\nhasani,4\nkane_ridgescale,4\ngothita,5\nmilo_(shortwings),4\ntest_pattern,1\njayne_doe,4\nbill_(dreamkeepers),4\nmuscleartguy,1\nginger_snap_(mlp),4\nmunna,5\nexposed_crotch,0\ncaim_(evilfawx),4\nneroj,4\nnikitak,5\nbloominrose,1\nplini,4\nnotveryathletic,1\negg_transfer,0\nm-p-l,1\nmoffle_(species),5\nprincess_terria,4\nalisa-walker,1\nzankytime,1\nlightz_raela,4\nfr,1\namanda_(mastergodai),4\nvictoriano_the_chief,1\ndavid_(anakuro),4\nmadeleine_(caninelove),4\nin_abyss,1\nhoshizora_miyuki,4\nx-zudomon,1\nmaneframe,1\ndestiny_(character),4\nxpfoddball,1\nteleport,0\nracthetmechanic,1\nmacbook,3\nkivuru,1\nhooki,1\ninstant_transformation,0\nsleepywozzy,1\nprincess_romy,4\npointed_nose,0\nlooking_down_at_penis,0\ntd_(artist),1\nchip_(animal_crossing),4\nthe_creacher,1\nbone_collar_tag,0\nsvevato,1\ntransgender_symbol,0\nmulticolored_arm_warmers,0\ncryska_wintergaze,4\nflower_bow,0\ncrystal_sprinkles,4\nlewdshark,1\nclark_(smoothlabs),4\npearl_(al_gx),4\nanatake,1\nkapri_(kapri),4\nfoxibiki,1\nnekomellow,1\nwolftapioca,1\ncat_suit_(mario),0\nspy_x_family,3\ncurtis_(awarebear),4\ndrewby_(drewby),4\njseph,1\nsat_v12,1\nteot,1\ncupped_hands,0\nkomokuu,4\ntiago_(rio),4\norange_ringtail_thief,4\nkubota_keita,1\nplanescape_(franchise),3\nnot_pulling_out,0\nknotalot,1\nhoney_dipper,0\nchloe,4\nchikurako_kanoeki,4\nshira_snep,4\njunkrat_(overwatch),4\nmarco,4\nstar_(balto),4\nsokolas,1\ndeannart,1\nred-eyed_crocodile_skink,5\nesartist,1\ndominik_(lipton),4\nrosemary_wells,3\nviolet_(thea_sisters),4\nflakes,1\nnight_vision,0\nzaya_(ajdurai),4\njidane,1\nflockdraw,3\nwisp_(dreamkeepers),4\nsteamy_feet,0\nluna_(dota),4\nsambers,1\namber_(armello),4\ncupid_(reindeer),4\nglazed_(artist),1\nshaneinvasion,1\nsugahbite,1\nalarmed,0\ndream--chan,1\nsuplolnope,1\nminoru_mineta,4\npopi,4\nminish_cap,3\nclockwork,0\nshockwave_(transformer),4\nignis_rana,1\ndashiathebunny,1\nheads_together,0\nsteelhead,5\nlenore_(lamezone),4\nchatot_(eotds),4\ninspector_gadget,4\njoey_(alfa995),4\ndinner_table,0\ntsathoggua_(cthulhu),4\nmasked_singer,3\nsirevisconde,1\nblack_diaper,0\ngloved_hands,0\npulling_down_shorts,0\nsin-chan,1\ntrial_captain_acerola,4\nheather_moore,4\ndaz1319,1\nakimi_(merunyaa),4\nlemonpuffs,4\nveronica_(natani),4\nmonroe_(winterspell),4\nhaiku_(haikufox),4\ndashiesparkle,1\nnardo,4\narq_(ramul),4\nfoxy_(nekojita),4\nbirch,0\nprofannytea,1\nbrown_ear_tips,0\npink_harness,0\nzerika_(artist),1\nscale_knight_(medicinalsucc),4\nshirokyure_(watte),4\njenevive_(chimangetsu),4\nkneeling_over_dildo,0\nbelly_punching,0\nreverse_mouth_shot,0\nahcocqui,1\ngrabbing_own_breast,0\nocchan,4\neljelicsnsfw,1\noswin_(password),4\nblack_text_box,0\nimmoveableguide,1\nstrapped_in_vibrator,0\ncaelan_(far_beyond_the_world),4\nmike_(sing),4\nmaple_(cobat),4\nmagma_wolf,4\nfoot_on_belly,0\napollo_(dirtypaws),4\njessica,4\nwonderbunny,4\nkitchen_cabinet,0\naraizumi_funaka,4\nsugekuma,1\nwg_suru,1\neve_(wolfpack67),4\nfur_cloak,0\niorite_(doesnotexist),4\nrobin_(twoscale),4\nkeira_(jak_and_daxter),4\nrain_(vanillayote),4\nkenta_(afuckingcamel),4\nlisa_(tiger),4\ntentacle_eye,0\nmonica_raybrandt,4\nhunter_(destiny_2),0\n9x8bit,1\nthebluebear27,1\ndrunkarcher,1\nkusanali_(genshin_impact),4\nsteepled_fingers,0\ncryptocrisis,1\nkyoko_komurasaki,4\nkisaragi_syoo,1\nflame_bikini,0\nravenpen15,1\nvitamin_unknown,1\navy_(syvaron),4\nwolfie,4\ngantan,1\nblueblaze95,1\nyellow_goggles,0\nmeowolf222,1\nwhite-kano,1\nazure_rathalos,5\ncollar_grab,0\nhard_love,4\nliona_mcgraw,4\npotoroo,5\nblinky_(pac-man),4\nranma_saotome,4\nmark_haynes,1\ndynx,5\ncandy_(artist),1\nbroly,4\nswordfight,0\ncindy_(fnac),4\ninvolved_expression,0\nspunky_(spunky_mutt),4\ntower_of_god,3\nbastiodon,5\naquariusfox,1\nlobo,4\nrazul,4\nunhinged_jaw,0\nplum_(artist),1\nhercules_(disney),4\njon_jafari,4\npplpvtr,1\nkate_summers,4\nmutual_knotting,0\ntsukasa,4\ngeno_(geckonori),4\nblue_mood,0\nshared_gag,0\nsonnano_ari,1\nsocket,0\nflash_animation,0\nqurupeco,5\norange_vest,0\nkuglu,1\ntao_2carat,1\ntwin_tail_nojaloli_fox,4\ntail_around_pole,0\npattern_apron,0\nbackstory,0\nhypno_goggles,0\npouch_piercing,0\nkyle_walden,4\nbromeister2,1\nlarger_sleeping,0\nkompakt,1\ncake_slice,0\nlupinossai,5\nservius_(vestina),4\nrussell_(adondis),4\nmoduckten,1\nshort_eyebrows,0\nundressing_between_scenes,0\ndante_(dreiker),4\nempress_(ahit),4\nshepherd_(torata3220),4\nclara_(bussaca),4\nmike,4\njett_(draco),4\nsonic_frontiers,3\nskull_print,0\nkomena_akamori,4\nshabi96522,1\nivalyth,4\nzen_allen,1\nlottie_cummins_(thechavicgerman),4\nunderwear_wetting,0\nmagia_(kyuuri),4\nsketchy_knight,1\nachievement_unlocked,0\necho_flower,0\nmehawk,1\nheineken,3\nbowletta,4\nengraving,0\nhalley,4\negging_(artist),1\nredbeanviolin,1\n12_breasts,0\nrotton,1\nverdilacs,1\nzoids,3\nmab,1\nmaniani0122,1\nessentialryu,1\ntongue_sex,0\nponzu_tas,1\nlogan,4\nblue_neckwear,0\nspider-ham_(character),4\ndorak_(artist),1\nsekhmet_(egyptianexo),4\ntanna_nokka,4\nmrs._mayberry_(vivzmind),4\nrin_(kittyrin),4\nwrastor,4\nkerestan,1\near_over_eye,0\ndiscarded_footwear,0\nazzydrawsstuff,1\nbelt_unbuckled,0\namp,0\nblack_mustache,0\nsnowberry,1\nvixycore,1\ngrizzlygus,3\nhands_on_tail,0\ndistortion,0\nalfred_j._kwak_(series),3\ngarr,4\nvaginal_blood,0\nart_progression,0\njoy_ravenhurst,4\nferric_(chirmaya),4\nsheryaugust,1\nonehundredandone,1\nwood_container,0\ncollaborative_hand_heart,0\ncafet'zin,4\norenjipiiru,1\njoelbearb,1\nminttu_(loimu),4\nsuinmsg,3\nun0sk,1\nerdno_(commissar_prick),4\naquasixio,1\nstuck_insertion,0\ndogga,4\nhugo_(jumperbear),4\nninjin_clash_of_carrots,3\nleaking_through_clothing,0\nteabro,1\nconsensual_transformation,0\nnoticing,0\nferal_armor,0\nquququl,1\nspiritraptor_(character),4\nbutterbit,1\nflowing_water,0\npuniko_(arekishi),4\nholding_lighter,0\nmaxartwolf,1\nwilling_vore,0\nsam_(pronista),4\nmasvino,1\ntasmin_(natani),4\njackofak,1\nmoenkin,1\nmarisa_the_vaporeon,4\nturquoise_scales,0\nlegendary_titans,5\nbarboskiny,3\nlaurelhach23,1\nyaquis_de_obregon,3\nshenzel_(shenzel),4\ncabezilla,1\nlight_flesh,0\nears_tied_back,0\nsex_toy_in_slit,0\nharu_(disambiguation),4\nyellow_text_box,0\nrazzybun,1\nmotse,4\nlewdware,1\ndiety,5\ncrinaia,4\nyuki_(characters),4\nteckit_vance,4\nsilver_fly,1\nmeo_miou,1\nrio_(botter_dork),4\nbunny_bloom,4\nhead_harness,0\nkoh,1\nenryuuchan,1\nelliot_(fluke),4\ngrunge,0\ngermaine_(vixen),4\nbattleborn,3\nnaughtyrobby,4\nmandy_(nedoiko),4\nclementine_(bearlylegal),4\nsolo_jazz_pattern,3\ndamakrell,1\npuddingpaw,1\ntwoots,1\nstumbling,0\nspunkyrakune,4\ngood_morning,0\nsergio_the_buff,4\nkkmck,1\nnova_whitesail,4\nspacebender,3\nflynx,4\nkry,4\nfever,0\nchocolate_cake,0\nsäikky,1\nafter_vaginal_masturbation,0\nglitch_(chip_'n_dale_rescue_rangers),4\nvole,5\nkejta,4\ntigerlukke,1\nrainebow,1\nkyatune,1\nnot-fun,1\nwatchmen,3\nusada_hikaru,4\nbones_(artist),1\nwhoreomatic,1\nakiru_cario,4\nderry,4\ncrimson_emberpaw,4\nred_(jay_naylor),4\n60fps,0\npiscine_wyvern,5\nmranthony2,1\ndouble_(skullgirls),4\nlacera_viscera,4\ncrab_claw,0\nskinless,0\nsnartles,1\nfrde,1\nlumen_(9tales),4\nalpaca_taur,5\nsasha_(jay_wolfe),4\ndress_aside,0\nvictor_mccain,4\nsofu_(pyritie),4\nkimori_yjgmf,1\nkody_rowan_(character),4\nsammy_mouse,4\nlunar_duo,0\ndenim_vest,0\naliya_sari_(readerno31142),4\neijiro_kirishima,4\ncan't_reach,0\nindrel,5\nkine_(absol),4\nnarutomaki,0\nstal,4\nside_hug,0\nreed_(scuzzyfox),4\ngreat_kitsune_(housepets!),4\ncbl_art,1\ntamlin123,1\ncheshire_cat_(mge),4\ncyrie,1\ndoberman_moralist,1\nkyoob_(thegentlebro),4\ntmnt_2003,3\nfalls-down-steps,1\nmallory_renard,4\ncalluna,4\nnearu_nikos,4\nchinigan,1\nette_(juniperskunk),4\nhamilton_loree,4\nwhite_oyster,3\nsamantha_(helios),4\nbreezer_marais,4\ngrey_speech_bubble,0\nflunky_(character),4\nukkaritanuki,1\nkonishi,1\nargentas_(insomniacovrlrd),4\npalm_civet,5\nbaphis_(character),4\nbaylong,1\ncecil_(luckyabsol),4\nlilly_rosebud,4\nzenon_s2017,1\nsade_(firestorm3),4\nrune4,1\nziegelzeig_zoona,4\nray_the_buck,4\nralph_(wbb),4\nsapho_berga,1\ncaster_thomas_edison,4\nparumpee,1\nailu_h0,1\npol6473,1\nadrian_weylin_(vorell),4\njeison_(character),4\nbest_bes,1\nrazor_(swat_kats),4\nnick_(kinaj),4\nspoted_fur,0\nphysics,0\nraak,4\nrevenant_(doom),5\nsingle_glove,0\ncrinos,5\npecon,1\ngold_trim,0\nteal_mouth,0\nwatching_movie,0\nsum_kemono,1\nairlemi_(character),4\nsteffanni,4\nvwpologt,1\ntemplate,0\nrickter_stonesong,4\nmiàntiáo,4\nxander_(momiji),4\ndarkbolt,1\nkorosuke556,1\nmicrosoft_office,3\njang_(tokifuji),4\nmeadow_vivillon,5\nelectricity_creature,5\nflaming_feathers,0\nangel_(lechugansfw),4\njenny_(chris13131415),4\nsummoning_square,1\ntenacitrus,1\nkira_(disambiguation),4\nblue_crop_top,0\nred_chest,0\nyuuki-abe,1\nhorn_in_mouth,0\nashleyloob,1\nballoonie,0\nmaned_dragon,5\nrai,4\nink_incuberia,4\nwhateverthefox,1\nbk_(tokifuji),4\ndeadpan,0\nfrozenfangs,1\nbertie_(tuca_and_bertie),4\nmast,0\nhoritomo,1\ndasher_whitetail,4\nneesah,4\nhumplex,3\neel_humanoid,5\nbrutis,4\ncedargrove,1\nspy_vs_spy,3\ncommander_star,1\npokémon_uranium,3\nfencepost,0\nscaredy_squirrel_(character),4\nmegara,4\ncattont,1\nglitchedweasel,1\nooo_(^_^),1\nesprit-arait,1\ntheecchiqueen,1\nsealeo,5\nnova_scotia_duck_tolling_retriever,5\ncoffuu,1\nfenny_(furryfight_chronicles),4\ndragonrage,1\nerica,4\nathestnox,1\nthomas_woolfe,4\nprismgirls,3\nsheena_the_lioness,4\ngloveboxofdoom,1\npridestar_(furious),4\nshinji_ikari,4\n1980,7\nmiles_(mascot),4\nfearmywaffles,1\nkobato,3\nfrozen_yoghurt,4\ndildo_saddle,0\ncheckerboard,0\ndynablade_savior,1\nmango_tango,4\nisaac_clarke,4\nkaiven,1\nmursa,1\nclaire_wheeler,4\nblushmallet,1\nnipple_pump,0\ndasmuskel,1\nphreigya_pryntounia,4\nmeatier_shower,3\ndetruo,1\nlotusshade,1\nstarvinartmajor,1\ncuttlefish,5\nvideo_recording,0\nrekohunter,4\nheimerdinger_(lol),4\nmr_samson,1\nceobe_(arknights),4\nblue_legband,0\nshatter,0\nthefoxydragon,1\nryhn,4\nwhiskeypanda,1\ninabayasuri,1\njo-ann_wolf,4\ngrabbing_forearms,0\ntolder,1\ntattoo_on_arms,0\nbaji_(morobox),4\nbombergirl,3\nartisipancake,1\ngregory_(gregory_horror_show),4\ntoggle_(artist),1\nwulg,5\nsilvy,4\ncolors_(dirtypaws),4\nakenju,1\nrevealing_breasts,0\nsitting_in_tree,0\nmy_little_pony:_tell_your_tale,3\nasiagosandwich,1\nico_(fatzoimp),4\nkiat_(cool.),4\nwaist_turned,0\ndan_bear_(dan_the_bear),4\nmortalis_the_grim,4\njoshua_reed,4\nlily,4\nkieba,1\ndrydude,1\nanubis_(puzzle_and_dragons),4\nspiral_(thespiralaim),4\nmonotone_neckwear,0\nyellow_piercing,0\nbianca_(chainit),4\npenetrable_sex_toy_in_ass,0\nsand_on_foot,0\nbf-felz,1\nminichin_chubby_day,3\ntechnicoloris,1\ncasual_birthing,0\nlow_framerate,0\nredjasper,1\nstring_hair_bow,0\ncarmen_(boolean),4\nglasses_tanuki_(youki029),4\nblue_lingerie,0\nzilch1998,3\nrachel_addison,4\npetruz,1\ncoat_markings,0\ngrimms_notes,3\ngrafaiai,5\nbernard_(the_rescuers),4\ndoggydog_(character),4\nhippodrake,5\nmadrathefox,1\nihzaak,1\ndouble_bass,0\nelmer_fudd,4\nsheva_alomar_(resident_evil),4\nspecies_change,0\nzoruabydefault,1\nyeehaw_goth,1\nkeel_(keeltheequine),4\nhand_on_another's_thigh,0\nlecture,0\nsandy_schreiber,1\nfeathered_hat,0\noral_oviposition,0\ntakiune_(pixiv),1\nlaw_of_love,3\nsahara_(skimike),4\ncaligae,0\ntenjosan,1\ngreen_suit,0\nhofi-peak,1\nmulti_snout,0\nruka_(artist),1\nxenoyparxi,1\noreo_(terdburgler),4\npeskybatfish_(character),4\nblue_high_heels,0\ncroclady,4\nbishop_locke,4\nsculpture_(artist),1\ntuoppi,4\npleasemoarr,1\nedis_(edis_krad),4\nmax_(the_secret_life_of_pets),4\ntree_bark,0\ninkenginecompany_(artist),1\nsienna_khan,4\nkyawei,1\ntecfront,1\narlene_(amocin),4\nan-jun,4\nbailey_craig,4\ncaptain_eudora,4\nalexios_(adastra),4\nshoulderless_dress,0\naureldrawsstuff,1\nkita_(saku1saya),4\nangel_kitsune,4\nred_magma_(oc),4\nandromorph_on_feral,0\ncouter,0\nstomach_storage,0\npetting_pov,0\ncamshow,0\nmosquito_humanoid,5\nkaliancia,4\nblanca_(animal_crossing),4\nwakeangel2001,1\ntour_(jewelpet),4\nmikiron,1\nclown_costume,0\nin_utero_penetration,0\nmay_(dewwydarts),4\njigglygirls,3\ndrakeniea_tearfall,4\ngal,0\niemier,4\nobey,0\nthehuskyk9,4\nclitoris_leash,0\nfinal_fantasy_v,3\nkiyoshi_fox,3\npenguinexperience,1\ntotal_drama_island,3\nstreex,4\nclerk,0\ngrosspotoo,1\nnanimoose_(character),4\nkarai,4\ntentacle_pussy,0\nsirbrownbear,1\ncora_valion,4\nxkoshiji,1\nad-6-0001a,4\nbae_bunny_(artist),1\nkavik,4\nmoonestone,1\niris_(slypon),4\ncrowded,0\nbigbewbs,4\natlasf4,1\ncameronwolfe,1\ncum_on_cloaca,0\nrazinoats,1\nfull-face_blush,0\nsuperb_lyrebird,5\nvillainous_(series),3\nkokopelli-kid,1\njonah_(vulapa),4\nbin,0\nmelody_prower,4\ndarkghost,1\nmeow_wow,5\nmystical,0\ngalarian_articuno,5\nbubblemummy,5\ntechnicolor_genitals,0\ncapras,1\nhiyo_(hiyoratory),1\nnat10730,1\nkinoselynn,1\nbody_tearing,0\nkira_kathell,4\nrex_(mouse),4\nhand_out,0\nblakjakal,1\nphasmophobia,3\nwhat_has_art_done,0\nblood_on_back,0\numireomi,1\nchiko_mew,1\nkupoklein,1\nnule,1\nviolette_belle,4\nmistleinn,1\ndimitri_1_(101_dalmatians),4\ndark441,3\nfuwuart,1\ncamellia_(halbean),4\nfurbait_(artist),1\nbiggslorp,1\npink_sheets,0\nleaf_in_hair,0\nzagz,1\nray_(fuze),4\nbuvanybu,1\nbalros,4\nsex_in_stomach,0\nrico_(madagascar),4\nmulticolored_bodysuit,0\nvvmilotic,1\nalan_(alanisawolf777),4\npussy_juice_collecting,0\nnavel_vore,0\ntype_moll,1\nzeck_(icycoldfox),4\nfatpad,0\nlazarus_(rukaisho),4\nelawaxd,1\nviewed_from_above,0\nemiramora,1\nglistening_weapon,0\npia,4\nfaulds,0\navariceprism,1\nazerta56,1\nlotus_orsetto,4\nroot_beer,0\nchaz,4\nslit_day,3\nsorrow,0\ngiganotosaurus,5\nupright_straddle,0\ndragon_quest_viii,3\nchristopher_robin,4\ntiuhu,1\nfinal_fantasy_unlimited,3\nsliderspoint,1\nhearthian,5\nfreehdmcgee,1\nsammi_(sammi_kay),4\nsailby,1\nnotsafebear,1\npearboy_(oc),4\npauliusthemad,1\nlhikan_(chrislhi),4\nfurrypinups_(artist),1\nnightingtail,1\nblue_tail_tuft,0\nsasha,4\nremleiz_(remleiz),4\ntwo_tone_pseudo_hair,0\nmelty_(lilo_and_stitch),4\nshide,0\nauramargaret,1\ncatzakir,1\nsergal_taur,5\njoanna_hart,4\nimminent_spitroast,0\nbetween_the_lions,3\ntranslucent_breasts,0\nvalerie_oberlin_(monster_prom),4\nboeing,3\name_(angiewolf),4\nzote,4\ncaramel_(dashboom),4\nchief_(zonkpunch),4\nshrinking_balls,0\ncaffeine3,1\nsarasa_arujine,4\nporygonleft,1\nshianko,1\nnegative_energy_(legacy),0\n2d10,1\nyuel,4\nventi_(genshin_impact),4\narray_(oc),4\nakumu_(nightmareroa),4\nruby_(rodinsinker),4\nunasunas,1\nseffie_(blazera),4\nmanticore_(mlp),4\ntrotting,0\nscrape,0\nethan_(zourik),4\nshaenarys,4\nbone_print,0\npopkage,1\nnauiho,1\ndirty_bottomwear,0\ncold_insertion,0\nludd,4\nchappystick,1\nkim_soohyun,4\nsinser,1\nmobian_chipmunk,5\n0onooo66,1\ncuadra_side,1\nlegs_held_open,0\nt_(nimzy),4\nhand_on_pole,0\neye_of_ra,0\ntrainer_kelly,4\nguiche_ladder,0\nleather_stockings,0\ncronic,4\nhood_only,0\npurple_lingerie,0\nplant_antlers,0\npurrcival,4\nqueen_susie,1\nvolka,4\njanus_zephyrine,4\nvolo_(pokemon),4\nteal_stripes,0\njagged_tail,0\ngreasymeta,1\nprecum_bead,0\ni_sexed_the_pumpkin,1\nthe_familiar_of_zero,3\nhive_(destiny),5\nmashiro_(solopipb),4\nborkthunder,1\njojo218,1\nlokey,1\nrouge_(fossi3),4\ngoose_(untitled_goose_game),4\nbaba_(tloz),5\ndhalo_(himeros),4\ntentacle_creature,5\nnoctilucent,4\nerica_(disney),4\nven_(yo-lander),4\ncontrol_bestow_therapy,0\nasymmetrical_breasts,0\nalex_ries,1\nlily_(dfstarfield),4\nsoddy,1\nash_harden,4\nflashfire,1\nspinel_sun,4\nquas-quas,1\nethancostas,1\nnematious_(character),4\nredintravenous,1\nsqueaky,4\ndorkly,3\nniic,4\nsillysinz,1\nmolly_mcalister,4\ndivafox,4\nsale,0\nsleepiitreat,1\nvera_(pitoux2),4\nfarris,4\nfuchur,1\nsailing_ship,0\nplaying_dead,0\nfrom_the_back,0\ninvisible_partner,0\nwaltz,1\njackie_(brand_new_animal),4\nmotion_of_the_ocean,3\nryan_(fluke),4\niceblueeyes3d,1\ndrazelle_(artist),1\nshapeshift,0\ndragga,1\njecbrush,1\nlotus_heat,4\nrogue_(character),4\nberrypawnch,1\ncobbie,4\nsamasan_(artist),1\nsandy_(hamtaro),4\nhandjob_gesture,0\ndavid_(beez),4\nmarco_(kayla-na),4\nchakka_(s2-freak),4\nwoodenplankstudios,1\nprotagonist_(biomutant),4\nclarevoir,1\ntheresa_(paperman),4\n56_june,1\nmostly_offscreen_male,0\nmadara_(natsume_yuujinchou),4\nluis_(fuze),4\nred_eyelids,0\nnsfw-hideous,1\nhano101,1\nrousso,4\nstretching_legs,0\nbreakersunny,1\nryder_howell_(yitexity),4\nmr_roo_(artist),1\ntales_from_valmeridia,3\npen_(shane_frost),4\nophelia_(nightfaux),4\n1107263,1\ngurranq_(elden_ring),4\naeiou_(yoako),4\ncarnival_(disambiguation),-1\nsample_(lilo_and_stitch),4\npawsy-paws,1\nmilk_on_floor,0\ngomadare_papi,1\ncimche,1\nfoot_on_balls,0\nave,4\nblue_helmet,0\nankleband,0\nch4ng3,1\nmitabi,1\nred_line_art,0\nseraphsigil,1\nthe_tale_of_jasper_gold,3\ncamille846,4\nblood_puddle,0\nemitting_precum,0\nalmy,1\nchariot_(vehicle),0\njolteontravis,1\ncracking_joints,0\ncheese_wheel,0\n19:21,7\nmeadow_(lightsoul),4\nheat_(vr_game),3\nside_slit_dress,0\nretr0foxx,1\ntannis_(tolerain),4\nfamily_tensions,3\ncatherine_o'daisies,4\ndraconder,1\nartist-chan,1\nskull_bow,0\nkaixo,4\nyellow_scutes,0\ncoke,0\nstitches_(animal_crossing),4\npregnant_anthro,0\nmassak_(fluff-kevlar),4\npartially_visible_genitals,0\nthreedeedude,1\nmetal_tongue,0\nvix_(quin-nsfw),4\nampersand_ad,1\ngreen_jockstrap,0\ndeimion,4\norlando_(password),4\nrango,4\ntsukemono,1\nfenix_(cookiedraggy),4\ncrystalwhisker,1\ndragoness31,1\nheart_gold_(dormin-kanna),4\nmaskedcube,1\nobject_behind_ear,0\nsupported_arms,0\nultra-ryo,1\nkacey_(kacey),4\nback-tie_clothing,0\nauburn_fur,0\nbackwards_cap,0\nzorgy,1\niida_(wonderslug),4\nzombiate,1\ntass_the_bovine,1\ntwo_tone_pupils,0\nursk,1\ndeath_battle,3\ndonkey_kong_country_tropical_freeze,3\ntakkju,4\nglistening_fingers,0\nmatt_(silverfox442),4\nrey_(furlana),4\ntentacles_in_ass,0\nanise_(wonderslug),4\ntony_tony_chopper_(walk_point_form),4\nprecum_on_leg,0\nlight_eyelids,0\nholding_trident,0\njordan,4\nsharko,4\ntiger_lily_cookie,4\npenis_in_pseudo-penis,0\nsweetwater,4\ngreen_wall,0\narsenth_neodal,4\nfoxygrandpaa,1\nstepping_on_head,0\ntrafalgar_law,4\nsafe_stead,4\nandroid_(os),3\nclaudette_(lightsource),4\nmiddle_part,0\ntinycurlyq,1\nissac_lazarus,1\nextortion,0\nbrown_eyelids,0\ncyavian,5\nvgbutts,3\nsmashing,0\nfinnish_spitz,5\nraven_(psy101),4\ncum_all_over,0\ngarlic_(character),4\nfurrychrome,1\nkahnso_(ceeb),4\nawkward_smile,0\nanythinggoes,1\nbaculum,0\nautocannibalism,0\nthorax,0\nnitefang,1\n370ml,1\nwii_u_gamepad,0\ntyruas,1\nshapes,0\nkaomoro,4\nin_the_new_age,3\nsiberian_cat,5\nsleepymaid,1\nfalseknees,1\nkaiuchiha15,1\ninfected,0\norion_(pheel),4\nshado_(shadowolf17),4\nquirkilicious,1\nthreadwing_antlion,5\nfire_emblem_heroes,3\npirates_of_the_caribbean,3\nmoonshine_(artist),1\nhelena_soderberg,1\ndare_(artist),1\nbun_(character),4\nslenderdragon,4\nmascot_contest,0\nqarrezel,1\nmudokon,5\npimples,0\nsquatlord,1\nsahara_(movie),3\npog,3\ncollege_football,3\nmystic,4\ndorrex,1\nsammie_(spyingredfox),4\navatar_(disambiguation),-1\notherthatguy,1\nroomi,4\nbilly_fore,1\nscampi,4\ntweety_bird,4\nsasanoha6011,1\ncollaborative_rimming,0\ncream_belly,0\ndobie,4\ngreat_izuchi,5\njoxdkauss,1\nboth_cutie_marks,0\npatecko,1\ncinnablon,4\nsandnite,4\ngiving_orders,0\nhelga_(cosmiclife),4\nsocks_million,4\ngold_nose,0\negodance7matsu,1\nserena_(lemondude),4\ncolydos,1\npasserina,5\nmarvellous_spatuletail,5\nproject_diva,3\ngoallonely,1\ndraw-till-death_(artist),1\nleskarmory,1\nlyla_(thehelmetguy),4\nannabee_(woebeeme),4\nbun_jay_(synpentane),5\nlucy_fischer,4\nsonicfoxhound,1\nt.d._kennelly,4\nfriedrich_(poppy_opossum),4\nmisery,0\nsparkly_(sparklyblanket),4\nxinnainai,1\nroachtemi,4\nmonotone_scarf,0\nred_diaper,0\nscaty,1\nimp-tan_(hdoom),4\nkiku_(sango-kaku),4\npaper_towel,0\nstrabimon,5\nslender_body,0\nshyning_fingah,1\nveiny_nipples,0\nhaxxyramdhan,1\nodalia_blight,4\nthyro,1\npenis_resting_on_thigh,0\nsambun_(tim),4\nsleeveless_clothing,0\nryley_(arbiter_000),4\nesrb,3\nmando,1\noh_these?,3\nluke_delfino_(character),4\nandromorph_penetrating_male,0\nburlywood_face,0\nhoof_piercing,0\ndead_stray_bear,1\nyato_(yatofox),4\nharuaneki,1\nkatkichi,1\npink_tuft,0\nkobaltoco,1\nsorcerland,3\nfinimun,1\npride_color_necklace,0\nprofdatdrawin1556,1\nmoesouna_gomi,1\nbow_garter,0\nizanagi_creations,1\ndynotaku_(character),4\nrhylith,4\nnoir_(jennifer),4\nfurrlough,3\ndreaddenimpirate,1\nstarri,1\nekihnox,1\nblue-the-unknown,1\nzhiibe,1\nsourspot,1\nshaved_breasts,0\nkogiinu,1\nexposed_panties,0\ngermaine,4\ntuton,4\nskycroc,1\naskar,4\ncheesepuffs,1\ncatfiddle,1\nkneejob,0\ncolored_eyes,0\nfurii,1\nmidnite,1\nleg_fur,0\npixell,4\nreaper_(disambiguation),-1\nthecynicalhound,1\nsebastian_king,4\nhelloanonmyoldfriend,1\nwynterhorn,1\nmatthew_(articwuff),4\nshinju_(bittenhard),4\ntwo_tone_scarf,0\ntarou_(taroumyaki),4\nmirai_(hyperion),4\nhenry_vargas,1\nbunny_(courage_the_cowardly_dog),4\ngrum_(grumbbuck),4\nshima_laqi,1\nfufucatu,1\nerin_tannis,4\nmaple_(cyancapsule),4\nniwani_watori,1\nallysia_(killy),4\nwho_(species),5\nyùmǐ,4\ntoothed_whale_humanoid,5\nsaltyserpent,1\nmaxine_dragon,4\nkenjilokung,1\nlumi_(felino),4\nmaleherm/gynomorph,0\nlevaligress,1\nabraxocleaner,1\ninsperatus,4\nelle,4\nmarcus_(marcus_of_the_cloud_forest),4\nzelda_(fuel),4\nneebaridge,1\nbolt-s_(artist),1\nstardragonhorse,1\nhousebroken,3\nizzy_(oc),4\nsmiyao,1\navery_(itsmythos),4\njacklantern_11,1\nhayati,4\nzale_(purplebird),4\nig1119,1\ngabz,4\npixyl_(pixylbyte),4\nsideways,0\nefe,1\nswift_(tenebscuro),4\nwave_(purplebird),4\ndream_maker_watanabe,1\ntongue_on_balls,0\ncatin-milk,1\natalanta_(fate),4\nmr._chazokov,4\neerieeden,1\ngus_(peculiart),4\nflatwoods_monster,4\nbloody_knife,0\nplug_(jewelry),0\nsherlock_(series),3\nenzeru,4\nship-wreck,1\npathetic_(meme),3\nanubis_rose_(character),4\ncommander_braithor,1\nwintech3112,1\nkatrosh,1\n>:<,0\nzennyc,1\nzukaro,4\ngreen_tail_tip,0\ncuriouscat96,4\nistaryl,4\nleaves_on_ground,0\nkosaa4,1\nbluejr,1\nhands_over_breasts,0\nchruscik_(dudelinooo),4\nscops_owl,5\nstriped_dildo,0\nshibuya_2810,1\nskorupi,5\noozing_cum,0\ngfox404,1\nring_eyes,0\nleg_out_of_water,0\nstoat_(inscryption),4\nmole_(disambiguation),-1\naltelier_t,1\nkyle_(kaikaikyro),4\nspeckled_fur,0\ntwo_tone_apron,0\near_on_shoulder,0\nunusual_sex_toy,0\nred_chair,0\njet_(briefgarde),4\niida_(skweekers),4\njaye_(arknights),4\nmola_(zerofox),4\nstellarhusky,4\nliving_statue,5\nkhaki_fur,0\nyellow_outline,0\nleg_accessory,0\nkimako-desu,1\ndiver_(artist),1\n02_(kirby),4\nnoxy_(noxy),4\ngigachad,4\nlynxrush,1\nvivian_boo,4\naki_the_reindeer,4\nunown_text,7\nenglish_lop,5\nlegos_(legos09),4\nzachseligson,1\nskyebold,1\nryuu-neko,5\nbearing_fangs,0\nvayron,5\nsammy_(9tales),4\npastelpastel,1\nrabbit_(parasitedeath),4\nbroken_key,0\nshupamikey,1\nanonymous_colorist,1\ndusknoir_(eotds),4\nhetomy,1\njavigameboy,1\ngryx,1\nbuzz_brambles,4\nindian_giant_squirrel,5\ngnull,1\njunketsu,4\ndenver_broncos,3\ncum_tank,0\nkuiskata_schwarzpfote,4\njoly_(kitty_pride),4\nheroesheaven,1\nbheni,4\nnasido,4\ngujira,1\nemerging,0\nbunnylace,1\nrydian,4\nryanshinyzard,4\nprimer_(artist),1\nkaku_renbo,4\ndreiko94,1\nwaffle_(megawaffle),4\nnameplate,0\nlene_nezumi,4\nsixshades,1\ntemplar,0\nnahami,1\nev133,1\nheraldry,0\ncoren_(desertwandererr),4\nastralynx,1\namorousartist,1\nsakana_maru_(sakana_maru),4\nhelp!_my_dad_fucked_my_boyfriend,3\nmighty_eagle,4\nkyla_(nawka),4\nzephy,4\nspinal_plates,0\npointy_hair,0\njustice_league,3\npanteon013,1\none_tone_fur,0\nhillmyna,1\nnergal.bragi,1\ndividedwreck,1\nluna_(hunterx90),4\nred_rug,0\n00makumakuma00,1\nwest_highland_white_terrier,5\naddison_(arh),4\nreaching_towards_another,0\nlupin,5\nkalaztuz,4\nkatauni_(ghost_forger),4\nsad_cat_dance,3\nmohalic,1\npenis_size_comparison,0\neggseru,1\nmonstrifex,1\nyasaikakiage,1\nhands_under_breasts,0\nphoebe_(felino),4\ndota_underlords,3\nmituni_(artist),1\nagent_york,4\nm1911_pistol,0\nfa_mulan_(disney),4\njohn_burroughs_(akiric),4\nnumbered_anal_beads,0\nhellox2,1\nred_boxer_briefs,0\nperformance_art,0\nalekseyvvcx,1\nopen-butt_dress,0\nt-boy,1\nfhyrrain,3\nsamantha_snakes_(unknown6505),4\npaizli,4\nluke_skywalker,4\ndraca,4\nvikavolt,5\ni.v._(ivycomb),4\nandroid_21,4\ntrashtail,1\nzero_in_panel,0\npolly_polaris,4\ncolorfulhoovednights,1\nnav,4\nmasonparker,1\ntrigger_(wordcaster),4\nvaleera_sanguinar,4\nrunsammya,1\nrifel,1\ngleipnir,3\nramzi,1\nsilverfish_(artist),1\nachievement,0\njax_bline,4\nbub_(bubble_bobble),4\ntyrse,4\nbaramx,1\nwotan888,1\nunderneath,0\nxration,1\nsairine,1\nclamperl,5\ndoggie_daddy,4\nkaijusamurai,1\nmary_moonshine,4\neyazen,4\ntempest,4\nlobodelamuerte_(character),4\nluckywhispersjellyfish,1\nmorgenergy,1\nsonggoishtar,1\nc-string,0\ndynexia,1\nspraying,0\narlen_tawny,4\nanthro_to_taur,0\nkazami_karasu,1\ndawkz,1\nalaitallon,1\nshadarrius_(character),4\nopaque_glasses,0\nrick_(fuze),4\njeanette_(xelaaredn),4\nsantiago_(o_im_soniic),4\nsoay_sheep,5\npofuilly,1\nwood_sign,0\ndevellix,1\nkella,4\nxazariel_(queen-of-sin),4\nstealth_the_series,3\nslugger_(lilo_and_stitch),4\nhood_husky,4\nmarilyn_e,4\nroo_boy,1\nmisby,4\nmeertak,1\ndot_(mcnasty),4\nyokappa,1\nstimia_(rampage0118),4\notterboxed,1\nluci_(disenchantment),4\napin59,1\nghostli,1\ntartii_(character),4\ndodgercr,4\ncity_skyline,0\nleatificat,1\npulled_to_side,0\npenelopisspiss,1\npoking_penis,0\nkirlan,4\nalexa_(10ne-v),4\njagonda,1\nbrown_swimwear,0\nhemuchang,1\nscp-1471-a-37,4\nfurry_rome,3\npride_color_tail,0\njason_(greyknight),4\npiercing_outline,0\nflying_broomstick,0\nsarquiat,1\nfap_(sound_effect),0\nspeech_scroll,0\nsmaggthesmug,1\nmikko,4\nlazorchef,1\ndivine,0\nengland,0\nmyra_foxworthy,4\nhawkthorn,4\nsuper_mario_land,3\nbroken_bottle,0\nnarse_(character),4\nshaza_(artist),1\npoppy_mouse,4\nsorako,1\njen_(convel),4\nnimtai,1\nkedamono_(popee_the_performer),4\nyuuki_yuma,1\ndarylith,4\nmiranda_doug,4\nthatpeon,1\nukulilia,1\nkit_(powfooo),4\npanty_wetting,0\nkaga_(azur_lane),4\ntrapped_in_underwear,0\ndrakons,4\ntoren,4\nangelthegamer,1\ndraquarzi,1\nweebl's_stuff,3\nsegainfinity,1\nconstruct,0\niradium_piros,4\nfrickabee,1\nmy_sweet_piano,4\nru_(final_fantasy_unlimited),4\ngarrek,4\nc-jen,4\nhaku_(maneater),4\nantifa,0\nhorridus,4\ninternal_sheath,0\ncoronamon,5\nfred,4\nmocha-wing,1\nrebeccacablah,1\nradiance_(hollow_knight),4\nfoxielove,1\nshe-ra:_princess_of_power,3\n2b_(artist),1\nwinged_lemur,5\nwhite_flag,0\nunauthorized_edit,0\nbra_straps,0\nunknown_editor,1\nbell_earrings,0\nbelly_hump,0\nwendy_(wolfy-nail),4\ntalbuk,5\nmeesh_(character),4\nkwikdog,4\npokewanko,1\nskeksis,5\nwoodlouse,5\nalien_hominid,3\nharbor,0\nfoxy_harris,1\nthor_(dildo),0\nblack_tears,0\nclaw_machine,0\ndark_queen,4\nscruff,0\nfrancine_(karps),4\npcz,1\npunipaws,1\nyamiji,1\nsand_dune,0\nsuggestive_eating,0\ncindy_(nekocrispy),4\nchimera_sui_generis,5\ngavin_alvarez,4\nhorton_hears_a_who!_(film),3\ngreentapok,1\nlynx_(fortnite),4\ntibetan_sand_fox,5\ncounter-strike:_global_offensive,3\nbabayana,1\nvelocirection,1\ncheese.crisp,1\nomelette,0\nghetto_delphox,4\nmona_(genshin_impact),4\nkrazyivan,1\nkingdom_hearts_3,3\niagu_viron,4\ntiban,5\nmicro_focus,0\nblue_(bluethegryphon),4\ntoaster_aaa,1\njero,4\nzulu_(sleepysheepy17),4\nyinhu885,1\nmatija,4\nblood_stains,0\nnaschethelion,1\nnklove3104,1\ndevy_(devil-vox),4\nprint_crop_top,0\njinx_(dc),4\naykos,4\ncaveira,4\nmulberrytarthorse,1\nnipple_size_difference,0\nowlletta,1\ngoldendoqqs,1\nhoudini_(lilo_and_stitch),4\nbeast_mode,0\nsheryl_(artist),1\njyrki,4\nbonnibel_(roommates),4\nmasa_(masamune),4\nppmp,1\ncorvus_humanoid,5\nshining_(arknights),4\namocin_(amocin),4\ndirty_anus,0\nbone_tail,0\njust-another-vore-artist,1\ntrixy_the_spiderfox_(character),4\nalvedo_vhiich,1\napplin,5\njacksleight,1\ngaramando,1\npenis_over_shoulder,0\nkadrion,1\nrope_pull,0\ngrey_tentacles,0\nabby_(cobalt_snow),4\ncarnecalary,1\nen_1_9,1\ncircumjacentity,1\nzombot,5\nkinky-roo,0\nwiggling_hips,0\nhoshino_kedama,1\ncyberblade,1\nrexxar,4\nvallie_(ivy_trellis),4\nmeower_(skweekers),4\ndetached_arm,0\nexcelsus,4\nface_punch,0\nsimple_anus,0\nuntied_panties,0\nvanilla_(coffekitten),4\nbloudin_(whatisdamatter),4\ngreying_hair,0\noddbuffet,1\nmilkysodaa,1\ngao_(kusosensei),4\npuyo_puyo_tetris,3\nshin_mare,1\nmindy_blaese,4\nmonotone_pseudo_hair,0\nnomai,5\nrambler_(hhc),4\nlouvely,1\nlightening,0\nfoam_finger,0\nfrock,0\nbutterfly_knife,0\nblue_toad,4\nbeth_callaway,4\nexhaustion,0\norange_mouth,0\nhelena_sif_(elfox),4\ngagmanzx,1\nleading,0\neric_(silentiron),4\ngremlins,3\nmint_(deessel),4\nspiritpaw,4\nhoney_hunter,4\nripped_tights,0\nrecorder_(musical_instrument),0\ntwo_tone_eyewear,0\ncaramel_(pawfeather),4\npixiv_id_1806579,1\npeer_pressure_insemination,0\nflash_effect,0\nchicken_costume,0\nelectric_plug,0\nplastic_container,0\nhoukaisp,1\nichigodawashi,1\ndunkin_kk,4\nstann_co,1\npeppa_pig,3\ndemenmenabung,1\ngiras,5\nbent_over_surface,0\nsmonia,4\nadelena_(thatonevocals),4\nrollerlane,1\norange_tail_tip,0\ncarmine_(foxovh),4\napofiss,1\npartial_69_position,0\nhoka,1\nsubscribestar_link,0\nclip_(lilo_and_stitch),4\ndividing_ovum,0\nzach_(dj50),4\nmasanori,4\ngame_boy_logo,0\nbroderick_longshanks,4\nstirrup_leggings,0\nbruhboi69,1\npurple_bodysuit,0\nnio_(patto),4\ncanndy_(neceet),4\npeekeroro,1\nneginoheya,1\nkitsune_nyx,1\nfrist_(character),4\nktn_kuta,1\nevian,1\nabe_(oddworld),4\naaron_(bino668),4\nboof,4\nh-picaso,1\ndome,0\neuchre,4\nace_the_bat-hound,4\nhotaru-mia,1\nrika_ibori,4\nbulletsoup,1\nattract,0\nlagomorph_pussy,0\nlaquadia_(legend_of_queen_opala),4\nriche,4\nliomynx,1\nvaping,0\nwillow_tree,0\nzokoira,1\nemiridian,1\nbonnie_(pokémon),4\nworld_war,0\nminerva_(spinnerette),4\nspengbab,4\nhaison,1\noddciders,1\nomericka,4\nrobin_(rml),4\nlucian,4\nstinger_(bzeh),4\nbabrukus,4\ncroc:_legend_of_the_gobbos,3\nyear_of_the_monkey,3\nfuraiya,4\nautumn_sawsbuck,5\nsoldier_76_(overwatch),4\nviagra,3\npassing_out,0\ninubito,1\nchigico_u,1\nkaito_oji_churippa!,3\nrose_(scalesindark),4\ncanopy,0\nakrennian,5\ntekno_the_canary,4\npoppy_(mindnomad),4\nglee,0\nheroes_of_might_and_magic_iii,3\nviktor_vasko,4\nkoopatrol,5\npublic_indecency,0\nghstkatt,1\nrita_malone,4\nallymoodyneko,1\ndangaroo,4\nisabella_mendez,4\nchelsie_(kawa),4\nkuiskata_svahrem,4\nkartana,5\nscp-999,4\nblitzwolfer,4\nthumb_in_pocket,0\ndark_chest,0\ncerinian,5\nvera_noyce,4\nleaning_on_railing,0\nprojekt_red_(arknights),4\nkurtcbrox,1\nheart_keyhole_clothing,0\notusian,5\nwizaria,1\ngopnik,0\ndiablo_(character),4\nblackgatomon_uver.,5\ndysart,1\nhebokun,1\nantelope_humanoid,5\nassassyart,1\nhands_free_penetration,0\nxbi,1\nfliwirrel_(insomniacovrlrd),5\nkeyring,0\nafter_oral_penetration,0\nkale_(critterclaws),4\nlee_the_meowth_(asderzx),4\nmarching_band_uniform,0\nfleurfurr,1\nbelly_fluff,0\nshiza_(deckerws),4\njelly_(jacobthebobcat),4\nanno_dorna,4\nvisorelle,1\nbunny_(delta.dynamics),4\nlip_gloss,0\nprywinko,1\nhythrojin,1\nsonar_caspersky,4\ndomoipetti,1\nkiartia,1\nskylar_(incorgnito),4\nchibi_panda_(buddyfight),4\nvasmeth,4\nkayla_(rysonanthrodog),4\nunrealfox,1\nboiling,0\ncum_on_socks,0\nquantum_shift,4\nservice_dog,0\nash_(rksparkster),4\nturz,4\nhoosier,4\nbestiality_girlfriend_catalog,3\nbastianmage,1\ndragoon-rekka,1\nacala,4\nperformer,0\nhidden_camera,0\naestheticmachine,1\nacidrenamon,4\nblacksnake,1\nhopper_(tnt),4\nfoxteru,1\nboman100,1\ntess_(wolfyne),4\ntangle,4\nirae,1\ncheezypb,1\nkarma,4\nlilith_(tboi),4\ntalking_tom,4\nkillian,4\ninterstellarmachine,1\nsereos_(character),4\nahriman_harken,4\ndaskingu,1\ncobra_mcjingleballs,1\non_balloon,0\nxanthe,4\nmcpippypants,1\nkenikenikeke,1\nblue-ringed_octopus,5\nfuremani,1\nglowing_background,0\nspeeddrop,1\nstangun,1\nsweet_potato,0\nberetta_92,0\nliz_(mykegreywolf),4\nriedel_scallion,4\nbrisky~,1\nquarter_horse,5\nkirby_superstar,3\nsaliva_on_chest,0\ncynnamin_(cynnamin),4\nheelpop,0\nduke_rocheister,4\ndreamsthefox,1\nmartin_(dosent),4\ngravity,0\nnirik,5\nbooby_trap,0\nvogelrove,1\nchatai,1\nbanjo_(kihu),4\ntamberlane_(comic),3\ndecaf,1\nfloppy,0\nsorrel-wolf,1\ntina_(jaeh),4\nkiki-uma,1\nunder_sheets,0\nyaise,1\nzepht7,1\nfresnel_(buyobutt),4\nyosshi,1\nheidi_geathers,4\ntimmy_turner,4\nmitsuko,4\nprecum_stain,0\nkuroba,4\nmike_schmidt_(fnaf),4\nmattiyyah_lion,1\nsmartwatch,0\nteasing_with_tail,0\njake_(jakewolf00),4\nnightguard,0\nomni-tool,0\nskxx_elliot,1\nbreath_fog,0\nspiked_helmet,0\nkabula_(artist),1\nlilith,4\nlopearedquentin,1\ncat_dragon,5\nchara_(coalava),4\nshieltar,1\nsingle_strap_swimsuit,0\nforehead,0\nnikki_duma,4\nkizu_the_wolf,4\nbella,4\ncolanukl,1\nserver_dingo,4\noutline_star,0\npouncer_(httyd),4\nsilver_ring,0\ngold_spikes,0\nnonbinary_bunny,1\nbran_(beez),4\npussy_stacking,0\ncora_(cora),4\nsyakomon,5\nheart_swimwear,0\nsingle_strap_swimwear,0\nzilvanv,1\nmulticolored_cape,0\nmystgoose,5\nradishflavor,1\nwanda_(fop),4\ncum_funnel,0\nted_(mapdark),4\ndynafurryart,1\nchomper_(pvz),5\nholding_magazine,0\nopa_wulfen,4\naura_(lazysnout),4\ncorrine_(naughty_skeleton),4\nmilkdeliveryguy,1\nmedieval_fantasy,0\nmonster_sora_(character),4\nperrserker,5\nlonnie_(she-ra),4\ned_(eene),4\nhissoriing,1\nzed_(beef_supreme),4\nsparks_99,1\nstone_carving,0\norange_chest,0\noiruse,1\nkillergrizzly,1\nfoxlove,4\nprincess_alicia_acorn,4\nfemale_rimming_gynomorph,0\nartybear,1\ncilia_whitewater,4\nusb_cable,0\nrezzybat,4\ngav_(ruddrbtt),4\nlucidlemon_(artist),1\nleynadtsio,1\npayphone,0\nchestnut_hair,0\nraytig12,1\nblack_eyepatch,0\nveris,4\nalaynakgray,1\nash_(st4rsbucks),4\nscrat_(ice_age),4\njason_(joushi),4\nducktales_(1987),3\nnote_raygun,4\ndarksly-z,1\nnico_(sensopi),4\nchompers_(fuze),4\ngular_sac,0\norange_spikes,0\nzyria_the_dragon,4\narctic_ikume,4\nfancy_pigeon,5\ntrish_(hocolatemilk),4\npenis_through_neckhole,0\nmarsupial_pussy,0\nzabrak,5\nyellow_blush,0\nvivian_plums,4\nkali_(ashnurazg),4\nkitsuna_tyakoto,4\ntrinity_night,1\nbjorn_(sturattyfur),4\nshikaruneko,4\nfilburt_shellbach,4\nhorton_hears_a_who!,3\nchocolate_chip_cookie,0\ndoctor_fauna_(mlp),4\nkotalis,1\nsamudra_aquarium,3\ndelightful_shiny_pie,1\ndocks,0\nmootcookie_(artist),1\nplayful_face,0\ninnocent_smile,0\nnick_bondra,1\ndaisy_train,0\nn647,1\njojo_(rainbowscreen),4\nomega_symbol,0\ngraphic_digestion,0\njaxxy_fur,4\nneckroo,1\nvira_and_viana,4\nsuggestive_clothing,0\nkeki_(rukifox),4\nibukyu,1\nnikanuar,1\nluca_(chisara),4\ncurlers,0\nthe_nameless_guy,1\nmaru_show,1\nsigil_(fursona),4\nvyxx_(rimba_racer),4\nskipping,0\nbakeware,0\nsheath_ring,0\nripperelite,1\nobleacream,1\nshibori_kasu,1\nanvel,0\nxensilver,1\norange_necktie,0\n80s_hair,0\nstahl_(stahlz),4\nouterwear,0\nglow_bracelet,0\ngeowaffle,1\nclyde_(lilo_and_stitch),4\nsiraviena,1\nphrisco,4\nsimon_(braford),4\nkerespup,1\nnelly,1\nboo,0\ngulliver_(animal_crossing),4\nnachiwanko,1\nbody_cast,0\nlockerobster,1\nsowia,1\nlightningjolt,4\nultrasound,0\nmrfarrow,1\nhobbit,5\nchauvels,1\ndox_drakes,4\nronald_mcdonald,4\nyuuma_fujimori_(tsunderepanda),4\nwolfskin,5\nlockheart,1\ndalek,5\nsun_(smu),4\nslayer,4\nrusty_(bluey),4\ngreen_helmet,0\npantaloons,0\nayasakiace,1\nwhite_curtains,0\nkc_(killedbycuriosity),4\ntwentle,4\nyumi_akiyama_(character),4\nbecoming_flaccid,0\nallister_carver,4\nbear_and_breakfast,3\nsuchmim,1\nblack_headset,0\nkitty_jo,4\nnns,1\nheld_by_tail,0\nwarthog_vehicle_(halo),0\npuppyemonade,1\ncomicstormcreations,1\nbarnyard,0\njackie_(jackie's_story),4\nmai_(kitty_pride),4\n8989to,1\npenis_lift,0\nout_of_focus,0\nvhs_tape,0\nyuuya_habu,4\nthe_neon_children,3\nbow_lingerie,0\nrichie_(yinller),4\nsmurple_(grumbbuck),4\nnikoyosan,1\nmike_cubes,1\nlakalando,1\nsmutbase,1\ngav,1\nlei_luo,4\nseeds_of_chaos,3\nzeke_white,4\nlithiumred,1\nnyx_(klifflod),4\nshowing_leg,0\ngwen_(sirphilliam),4\ntahomich0,1\nanchor_symbol,0\nashe_(overwatch),4\nhourglass_(disambiguation),0\nmeka_(overwatch),4\nwerewolferos,1\npercy_lynxoln_(callmewritefag),4\nash_(abz),4\npattern_t-shirt,0\ngrey_seam_underwear,0\ntomo_(tmtm_mf_mf),1\ndaniels_(twokinds),4\nblossom_(thousandfoldfeathers),4\npaddle-boat,1\ngun_to_head,0\nfennelseed,1\nantennae_piercing,0\nflynn_moore,4\nmotherkarma69,1\npb_and_j_otter,3\nleaning_on_arm,0\nsynapsid,5\ngary_(furry_force),4\nprocreate,3\nfoxlett,1\nnick_(funkybun),4\ndowsing_rod,0\nfinn_(funkybun),4\nultrahand,1\nsabah_(character),4\nhobkin_redux,5\nsander_(dislyte),4\ncappuchino,1\nfuriquarter,1\nzakurei,3\nwhite_dragon,5\nbrown_scarf,0\nbottomless_andromorph,0\njuncos_(jayfeath3r),4\nsherry_birkin_(resident_evil),4\nfelix_cattelli,4\nchastity_seal,0\npostal_(artist),1\nbiro_(inkplasm),4\nfilled_belly,0\n15:13,7\ndr._mario_(character),4\nzoe_(awr_hey),4\npetunia_pig,4\ntailsoft,1\nrainbow_shirt,0\nbedupolker,1\nkasedries,1\naero_vonheart,4\ncum_on_claws,0\ninternal_organs,0\ncalorie,1\ngilian,3\nchinese_cock_trap,0\npuflitos,1\nvulapa_y_taljeek,4\ncaucasian,0\nnorse_runes,0\ntrist,4\nbullzeye,4\ncielo,4\ndirty_blonde_hair,0\ncaptain_sale,4\nnanojam,1\npaint_(character),4\nlucine,4\njewel_(insomniacovrlrd),4\njoel_the_lemur,4\nlevel-5,3\nillusiveelusive,1\ncaucasian_mountain_dog,5\nkonkitty,1\nanimal_jam,3\nbetween_fingers,0\ndramatical_murder,3\ncum_in_gills,0\nleo-ravioleo,1\ntasha_voron,4\nstitcheddolls,1\nkamilazu,1\npanzer,0\nasme,1\nne0fox,4\nlooking_through_hole,0\n8598:6071,0\npuppynsfw,1\nbearafterall,1\nlevi_(karisuto),4\naurora_(spacecamper),4\nplaid_underwear,0\neyespots,0\nmessy_mane,0\nvecnarvi,1\nwalks-in-shadows_(lorzid),4\ndingots,1\nfront-print_briefs,0\nnea_(dewwydarts),4\non_stump,0\nkaokao,1\nroachelle,1\nwaist_apron,0\nkiwanoni,1\nbigrbear,1\npride_color_tailband,0\npurple_armor,0\n13:19,7\nkammuraqi,1\nmira_(silent_hill),4\nbu2ma,1\ntentacle_plant,5\nspectre_(titanfall),5\ndeme_0816,1\nstatic_spark,4\ndirkstridoritos,1\nnaoto,1\nvern_(vernacularshark),4\nmunrei,1\npoofy_dragon,1\nvitrex_(character),4\nsuarez_(nanoff),4\nmole_on_butt,0\nmeroune_lorelei_(monster_musume),4\ndracmon_(survive),4\nrionquosue,4\ndreyol,4\nred_sandals,0\nstickycunter,1\nzapper:_one_wicked_cricket,3\nkeros_(ssssnowy),4\noga_(plus-sized_elf),4\nraiden_(nuree_art),4\nobject_in_penis,0\nbinch,4\ntoned_calves,0\njon_(redtwin),4\nmarumori0619,1\ngreydaboy,1\nsage_(critterclaws),4\nx'sara,4\nxenahasaclit,1\nfabi_(fabifox),4\nl077,1\nshilly_(sachidog),4\nsuccubus_(book_of_lust),4\ncayde-6,4\ncatalyst_(fortnite),4\nberserker_ibaraki-douji,4\nincest_marriage,0\nteej_(sigma_x),4\ndirty-palms,1\nalna_fratcher,1\nlydus_(fingarfin),4\ndreyol_(artist),1\niryanic,1\nzipper_(artist),1\nqueencomplex,1\ndani_taylor,4\nhuger_smot,1\nbunnie_(bunnielovesyou),4\nchurch_(reccasenli),4\nriukykappa,1\ntitty_sprinkles_(oc),4\nazalea_(insomniacovrlrd),4\niyako,1\ndanielasdoodles,1\ncyan_cube,4\nminakaka_(spinneborg),4\nkangal,5\nlambofanubis,1\nryo_yambe,1\nkale_(covertcanine),4\nplating,0\nmr.shigglesworth,1\ngiraffid_taur,5\nsaintsucrose,1\nrabbyrabbithole,1\niro_gomasio,1\nkiwizerf,1\nsacred_scarab,5\ninfogrames,3\ncloudcat,1\nglassshine,1\nreho,1\nlizard_queen,4\ntwinkle,0\ngladius,0\nlogitech_(character),4\nmr,1\n/trash/,3\nslapstick,0\nemmy_(battle_fennec),4\nrockhopper_penguin,5\nepickitty_(character),4\nquelico,1\nzenith,4\narabian_horse,5\ncameroo,1\nestranoh,1\nvalravnconcorde,1\ndana,4\ni_am_nude,1\ndurant,5\nkilian_alexander_barker,4\nvelociprey,5\nenormous_(artist),1\nfolklore,3\nshared_condom,0\nmori,4\nkimo,4\nneokandra,1\ngatchmon,5\nkaeku,1\nphone_guy_(fnaf),4\nmyiko,1\nlouvelex,1\nbarbara_blacksheep,4\nliber_souvlakia,4\nles_pooche,3\nclose_up_panel,0\nwater_spray,0\nava,4\npoetry,0\nlift_(disambiguation),-1\nstorm_shepherd,4\ncardboard_container,0\nturquoise_tail,0\noinu-chan_(hanadaiteol),4\nmalka,4\nkondo_musashi,1\nflawedspirit,1\ndinosaur_taur,5\nflyingrotten,1\nruffrunner_(httyd),4\nsherwind52,1\ntop_tank_meme,0\njschlatt,3\ndirt_(st4rsbucks),4\nstomach_wound,0\nfive_nights_in_anime,3\nkory_bing,1\ndragon_quest_xi,3\nsnackhorse,1\ndiana_(daredemon7000),4\nshowering_together,0\nnightmare_king_grimm,4\nshuma-gorath,4\nbjyord,1\ntrick_or_treatment,4\ntouching_foot,0\nholding_spatula,0\ntanuki_leaf,0\nfishnet_panties,0\nmatilda_(starthemutts),4\nluck_(film),3\nleatherlick,1\ntheodrekr,1\ncolt_(weaver),4\npepper_shaker,0\nterrarium,0\nvamp_(character),4\nbumblebee_(transformers),4\nsirzi,1\nmisty_striker,4\nsatynapaper,1\nmotivation,0\norchid_(flower),0\nkittiara,1\nsarmon,1\nwilson_percival_higgsbury,4\nanakin_skywalker,4\npshyzo,1\nferal_to_human,0\nsabur,4\nstories,3\nnanothehedgehog,1\nc0sm0,1\ndutch_shepherd,5\nbluari,1\nrumiir,4\ncaptain_carrot_and_his_amazing_zoo_crew,3\ngusana,1\nruby_pinch_(mlp),4\nmoot,4\nmadnessandgiovanni0595,1\npayday_(series),3\npepper_the_poochyena,4\nbleeding_dragon,1\nprison_guard,0\nbrak,4\nsnorkmaiden,4\nwaterside,0\nurine_from_mouth,0\neugene_gallardo,4\nlyeni,1\nfyrephase,1\ncaptricosakara,1\nwolver,5\nshimazun,1\nadnarai,1\nss,0\nbubby,4\nthe_sake_ninja,4\nblackmesajoe_(artist),1\nxen_(kirbot12),4\nhotneon,1\nvietnam,0\nripple,0\nabby_(abby),4\npokémon_art_academy,3\ngothicskunk,4\nslow_motion,0\nbigbidoof,1\nkey_rooki,1\namumu_(lol),4\nbarack_obama,4\nnigel_thornberry,4\nsilversimba01,1\nchasington,1\nraidy,4\ngaruo,4\npuddlepup,1\nprize,0\nblackarachnia,4\ndibillboard,1\nhand_on_own_chin,0\njourney_to_the_west,3\ncasper_(dacad),4\nrubbish_chameleon,1\ndragontim_(character),4\nlily_(animal_crossing),4\nkuroda_(odd_taxi),4\nmiss_bliss_(mhdrawin),4\nprincess_hippo_(toybox_pals),4\nkhail,4\nambient_moth,5\n:/,0\nnonny18675309,1\nhanakatsuo10,1\ncumporeon,5\nelena_(shastakovich),4\nthe_servant_omen,3\nsomecrazybastard,1\nchiggedychew,1\nsassy_(sassylebraix),4\ngrey_pillow,0\nwhite_fox_(utterangle),4\n4_talons,0\nfurgonomic_footwear,0\ncyrusthecat,1\nruna_ravnsdal,4\nbros_being_bros,0\nbarefoot05,1\nderelict,1\ntiloucia_(biggreen),4\nredxelxet,1\nmelly_(itsmemtfo4),4\ncaster_nitocris,4\nrose_(disambiguation),-1\ntemiree,1\nstare_pris,4\noiled_up,0\ntext_on_armwear,0\ntext_on_legwear,0\nfrenhm,1\nmusky_butt,0\ndun_(ponehanon),4\ncelia_(animal_crossing),4\nmusaparadise,1\nresting_on_balls,0\ngunnar_(spyro),4\np.b._(daria_mcgrain),4\nneri_(azura_inalis),4\nglass_of_milk,0\npack_(container),0\nholding_doughnut,0\ntalidrawing,1\nloren,4\noff_balance,0\ndaring,0\njackasss,1\nharddegenerate,1\nlwrottie,4\ndiamond_pickaxe,0\norctober,0\ncettus,1\nshlop,0\nsad_cube,4\ntyler_johnson,4\nsmove,3\ntentacle_legs,0\nmirri_cat_warrior,4\nmuzzle_flash,0\nparty_favor,0\nlucareon,4\npriscilla_anchorstream,4\nrotating,0\nmutsukemo,1\npurplesplash1372,1\nmook,5\nkour,1\ndaniela_shepard,4\nhoundgrey,1\nmmoboys_(artist),1\nopposable_toe,0\noptical_illusion,0\ntorn_tights,0\nsenseibushido,1\npenthouse,0\nhurk,0\nlorelei_cummins,4\ngambit_farsight,4\nlowleg,0\ndalilallana100,1\nkeith,4\nember_(blazikem),4\nsafe_(container),0\nfongu,1\nzor_(nya4),4\nsilver_claws,0\nbakura_(kitty_pride),4\nderomofo,1\nbarggmel,1\nruined_orgasm_(disambiguation),0\nthe_oni_(dbd),4\nbetter_version_at_paywall,0\nalonsoart,1\nwelcome_to_valhalla,3\nzhu_(character),4\nwalas21,1\nlight_mane,0\nbad_boy,0\npokemon_plushie,0\negg_from_mouth,0\nvin_(ng_canadian),4\npeppercorn_kiddo,1\ntkraccoon,1\ngreen_eggs_and_ham,3\nsmokey_blokey,1\nhealer,0\nnomad_(lw),4\nliowako,1\nlamm,1\nrazzek,1\nborg,5\nnubs,1\nxeros,4\nxilver,4\nspiked_bat,0\nkittenpawprints,1\nlegends_of_belial,3\nplaying_with_toys,0\npowree,1\nblackbuck,5\nlauren_(hexxia),4\nsilroidan,4\nmystia_lorelei,4\ndvd_cover,7\nplow,0\nnumairiaoi,1\npeter_potamus,4\nrubbery,0\ncaramelix,1\nmyris,4\nponyboom,1\nbitterjackal,1\ngeometry_dash,3\nflasher,0\nblood_everywhere,0\nlordzid,1\nsleeve,0\nsalamon,5\nmaegsker,1\nseraphim,1\ntelltale,3\njam_(kokurou),4\npanties_around_tail,0\noutlaw,0\nrenokim,1\nsek,4\nremy,4\nduck_hunt_dog_(artist),1\nrondonu,1\nlizab,1\ndtkraus,1\ncogs90210,1\ncalli,1\nfrostedmountain,1\nlobotomy,0\nkelvin_kombinat,1\nvinicius,4\nben_(shiuk),4\nluck_of_the_draw,3\ncleateater,1\nmyfi,4\nmr._pickles_(series),3\ntabi_usagi,4\nthewanderingfox,4\ntygre_(artist),1\nfoozle,5\nthought,0\nsakura_kinomoto,4\nmurderer,0\ngadsden_flag,0\nnicki_minaj,4\nstupid,0\nsteel_shark_(character),4\nheart_legwear,0\npurple_bed,0\nbubblecop,1\nzesty_(zestibone),4\nrio_(dangpa),4\nswimming_trunks_down,0\nthe_texorcist,1\npawgyle,1\nzuppu11,1\nmischief,4\nwhite_glasses,0\nballoon-quilava,1\nblue_headphones,0\nnico_(disambiguation),4\nbulkca1783,1\nbeargarbage,1\nelicazzz,1\nmalice_(pinkmoth),4\nmedabots_(models),5\nblue_dress_shirt,0\nleaf_bikini,0\nreggie_(mao_mao:_heroes_of_pure_heart),4\npinching_cheeks,0\ncissa_(genus),5\nvalkairis_sarikblod,4\ntori_(elvche),4\nhazeker,1\ngoldie_buckingham,4\nmuddy_maestro,4\nokasaira,1\nlauri,4\nmoisty,1\nfake_halo,0\nbow_armwear,0\nlofihill,1\ntornwing,4\nbree_(bikupan),4\nalyx_(alyxalyx),4\njakob_(mechanicaldclaw),4\ncheeky_(roommates),4\nstomach_scar,0\njade_catkin,4\nsmutphibian,1\ntorn_skin,0\ncarnivorous_plant_humanoid,5\nhalabaluu,1\nlong_term,0\ngaby_shiba,4\nvrbit_(comicanon),4\nmax_raccoonism,4\nk1ko,1\npulsemon,5\ndu_amae,1\nshoichi_urata,4\neliot_fanghanel,4\nayah_(prince_vaxis),4\nk-dromka,1\nask_dark_molestia,1\nstar_(fvt),4\nannabelle_(amboyna),4\nfuddyblog,1\ngundypip,1\nmusabo3neo,1\nzekken,4\nether_(character),4\nrico_(sylvanedadeer),4\nmomo_yaoyorozu,4\nirda,4\nnovah_ikaro_(character),4\notter-casey,4\nrotoscoping,0\nyelftea,1\nshirojackote,1\nlovrina_(pokémon),4\ngrandfather_and_granddaughter,0\nsol_doliodos_(character),4\nwinterwarning,1\ngurobase,1\ntd_coltraine,3\nvictor_9326,1\nboundlightning,1\nhigh_gear_(oc),4\ndiscordriderr34,1\nvincent_(foxmcc),4\nsickle_sword,0\nbree_(junk_planet),4\nmulti_color_fur,0\ntail_growth_in_pants,0\nmega_man_legends,3\nsuzidragonlady,1\ntolendare,4\ngiant_candy,0\nafrican_wild_dog_humanoid,5\nmith_(mith),4\ntail_around_another,0\nlamoz571,1\njuggermelon,1\nalastor_(featheredpredator),4\nicedragondee_(artist),1\npermanent_transformation,0\nglowing_runes,0\naubreganimations,1\nmagyo6,1\njoeycwolf,4\nmaleherm_on_bottom,0\nonene,5\ngutsout_(artist),1\nmia_woods,4\nfuzzwolf,4\nfeliccia,4\nsakiiti,1\nmod_lemon,1\nscrews,0\nnameless_typhlosion,4\nlight_brown_body,0\nanthro_fingering,0\nhigurashi_no_naku_koro_ni,3\nmosasaurus,5\nmikakitty,1\nchapu,4\nbonsly,5\njanuspeldragon,1\nspacekitten,1\nzodiacnicola,1\ntraining_dummy,0\nknockabiller,1\ndial_m_for_monkey,3\nmegan_fawkes,4\nlukiro,1\njames_silvani,1\nmizusawa_nino,1\nlimety,4\ndisgruntled,0\ncharmin_bear,4\ncyberspace,0\nkynmedia,1\nholmy_(show_by_rock!!),4\nkriss_vector,0\nmulticolored_dildo,0\nsocks_with_sandals,0\nconfessional,0\ntabby_slime,5\nfaeyyaa,1\nagainst_pole,0\npink_headband,0\nsunshine_light,4\ncomet_stars,4\nsubject_number,0\npriapup,1\nmilkydraws8,1\nmeme_face,0\nlackofcomfort,1\ntoeless_socks_(marking),0\nheart_trim_furfrou,5\nthe_suicider_rat,3\nreliable_excavation_demolition,3\nnew_world_suboscine,5\nhato_the_collie,4\nespro,4\nsaltyseaskunk,1\ntransformation_through_technology,0\nhaumi,4\nleather_armband,0\nsuzi_(susaroo),4\nstriped_elbow_gloves,0\nshadow_chao,4\nhiding_pussy,0\nvideo_game_character,0\nelseirius,1\neve_(joaoppereiraus),4\nspotted_salamander,5\npromotional_art,0\nnicashee,4\nsadasaka_usui,4\nforbiddenlight,1\nkylefrommicrosoft,1\npantsu_smiley,1\nmulticolored_tailband,0\npurple_condom,0\nwrist_warmers,0\naskalin,1\nsmaller_maleherm,0\nmelody_(sakuradlyall),4\nfeeling,0\nlayla_(legend_of_queen_opala),4\ncanoweissmon,5\nfourway_(artist),1\nmokochii,1\nvappy,4\ndart_(httyd),4\nfire_eyes,0\nbreast_mutilation,0\nduly_(character),4\nlooking_over,0\nkyubimaru,1\nsuburbs,0\nfuzzybear,1\ncervical_prolapse,0\ncummysonic,1\nfagriel,4\nmao.j,1\nsword-dance,1\nleg_torture,0\njoylewds,1\np-body_(portal),4\ndrawful-s,1\nits_cerverus,1\nblake_(xenozaiko),4\ncyan_glans,0\nmackenzie_(theredhare),4\ndr.francat,1\nclothing_removed,0\nbumbleborb,1\npiebald_skin,0\ncamouflaged,0\nfleety_(character),4\ndrawmeaponynamedbob,1\na_cat_is_fine_too,3\nraum_(paladins),4\ndiji_(masterj291),4\nhuman_penetrating_machine,0\napril_marchand_may_(roommates),4\ndwzaafi,1\naubry,4\nflappydog_(character),4\ntojo,4\njaggiekant,1\naero_novara,4\nshawd_kaleb,4\nwhite_leggings,0\npussy_tongue,0\nsonicharinezumi,1\nday_with_dna,0\nblast,0\nnodis_node,1\nbloocarrot,1\ndelta_(mating_season),4\nkylani,4\nlegend_of_kay,3\nsally_(doomthewolf),4\nvaerinn,4\nbuttdawg,1\nmeanmotorscooter,1\nsammfeatblueheart,1\njunkersquawker,1\nzarana,4\nmash_(artist),1\nwoola,4\ntar0,1\ntammy_(study_partners),4\ndan7821,1\nsally_cooper,4\ntoralei_stripe,4\nautoerotic_asphyxiation,0\npop_out,0\ncassandra_cat,4\nangus_(adios),4\nbeartp,4\nspacebat,5\nvulpes_pawpad,4\nkumakuma,1\nswollen_breasts,0\nzer0ember,1\nvanellope_von_schweetz,4\njake_(jake-dragon),4\nassistant_(nobody147),4\ntt-n,1\ncappuccino,1\nchico110,1\numbra-b3ar,1\nskylight_(artist),1\nprdarkfox,1\nzs99,1\ndonny_squirrel,4\ngummi,4\ntonywolf,1\nfaith_(daq),4\ndim333,4\nsapphicneko,4\nrangiku_matsumoto,4\nviper_king,4\nshea,4\nnogard,4\namoonguss,5\nkeebles,1\nrovoska,4\nsilk_dancing,0\ndoniroux,4\nbarkwoof,1\nregsmutt,1\ntasha_(nightfaux),4\napimpnamedcheerilee,1\navante_(character),4\ntruttle_(character),4\nroza_barboskina,4\nluck_of_the_draw_1,3\ndusky_(oc),4\nkori_(potoobrigham),4\ndarling,4\naang,4\ndog_city,3\ndaragh,4\ntanya_quille,4\nriptor,4\narrogance,4\nminnie_shoof,4\nhelia_(coc),4\npolygamy,0\njayce_(jayce0rangetail),4\nbeastmaster,1\nsam_(braford),4\nsilverwing_(series),3\nsister_of_battle,0\nphietto,1\nvolkcreed,1\nchezza,4\ncardinal_screen,1\nprostate_exam,0\nmc_(kayla-na),4\nheartbreak,0\nhall,0\nkayiko,1\ndusty_tomes,4\ndarkartist,1\nlincoln_loud,4\nmelee_bishop,4\nholding_other,0\nami,4\nweapon_glint,0\ncomplex_markings,0\ndr._viper_(swat_kats),4\nalistair_(kadath),4\ndr._welps,1\ntakenokogohan,1\nturkish_angora,5\nbolt_(fastener),0\ncerberus_the_demogorgon,4\ntransformation_by_fictional_prop,0\npurple_tail_tip,0\nthunk_(gyro),4\nferdinand_the_bull,4\nunusual_threading,0\nthrowing_pokeball,0\nvhyena,1\nmugicaan1,1\nmarcyandmathy,1\nnude_outside,0\nsnaphappy,1\nerma_felna:_edf,3\ndara_(kasdaq),4\ntask_(the-minuscule-task),4\nshort_loop,0\nchuchodraws,1\ncooney_(wherewolf),4\nyoung_adult,0\ntail_person,1\nnach,1\nbaker,0\nglowing_halo,0\norgasm_from_frottage,0\nhank_(bear_and_breakfast),4\npulling_sound_effect,0\neurasian_wolf,5\nheight,0\ntailfro,0\nkeatonnoir,1\nbarman,0\npull_up_bar,0\nclyde_(pac-man),4\npixels,0\nwall_socket,0\ncassandra_(cd),4\nkalkaph,4\nzamtrios,5\nbremen_avenue_experience,3\ncrashwolf,1\nindia,0\nzefirotreddi,1\nherm_pov,0\nbullydog,1\nseikox,1\ntokyo_yakult_swallows,3\ntrish_(4chan),4\njin_(mugenjin),1\nbox_art,0\nsyri_(tits),4\nsunbetch,1\nolonia,4\nalice_angel,4\nteeterglance,1\nklace_(pokefound),4\ntemetnosce88,1\ngamzee_makara,4\ngenital_fluids_drip,0\nwilhamena,4\ntoned_body,0\ncatscratch08th,1\nnila_(purplealacran),4\nlight_lips,0\nstriped_hat,0\ndonburikazoku,1\nyvette_(vikbys),4\nsirokitten,1\nwing_embrace,0\neyeless_face,0\ngabriel_(robinstic),4\ndustin_(sfd),4\nthe_last_of_us_part_ii,3\nsilvertongue_(artist),1\njanet_(sailoranna),4\naisuroma,1\nesperanza_(cimarron),4\nnozoku,1\ntia_(nastypasty),4\nkhaki_shorts,0\ngui_(smuttysquid),4\nkai'sa_(lol),4\npenis_silhouette,0\ntoby_(animal_crossing),4\naife,4\nsalugia,5\nbody_inside_body,0\nhusko,4\ngold_lipstick,0\nyev-san,1\niggy_bomb,1\nherm_pred,0\nbonfirefox,1\nkaenidi,1\nashley_(igph),4\nvera_(shinori),4\nfe'lis_(character),4\nnerdy_(sirphilliam),4\nchocobo_taur,5\nmiu_vamcat_(character),4\nsprout_(plant),0\nshort_arms,0\nmarlowws,1\nbare_hands,0\nholding_club,0\nblau_draconis,4\nchameli_muthupalaniappan,4\nimpmon_x,5\noberon_(karnal),4\nraiyk,1\nshadownight456,1\nandromorph_on_bottom,0\ndrug_paraphernalia,0\nbeachwear,0\nceline_(cuddlesong),4\nlawychan,1\nhayhorse,1\nrakeesh,4\nalterise,4\ndumari,4\nsibling_swap,0\nlockheedskunk,1\ntorionion,1\nliea,1\nwords_worth,3\nbeau_555,1\ncaelacanthe,1\nlehran,4\nvirdi_(elberik),4\nsushipet,3\nrubbing_chest,0\nstratocaster,3\nkita,4\nbrass_(medabots),4\naerosocks,1\nleafs,0\ndahr,1\nmachina,1\naisty_(mancoin),4\nsamuel_(renthedragon),4\ncommon_dolphin,5\nrelease,0\nfat_hoodie,0\ncheerios,3\ngully_(character),4\nxena_slatesight,4\norcaxdragon,1\noffering_beverage,0\ndd159,1\nnaughtycatnick,1\nsyrahfairbairn,1\nkipper0308,1\nfritzlesticks,1\nanal_probe,0\nanailaigh,4\ncoral_snake,5\nsmashingrenders,1\ncinders,4\npurenova,1\nnanas_friend,4\nfutaba_channel,3\nwater_bowl,0\nalba_(blackfox85),4\nshrapnel_(character),4\nrabin,1\nsleipnir,4\nthick_nipples,0\nhong_meiling,4\npuffy_cloaca,0\nkkhoppang,1\nbanana_hammock,0\ngoblin_girl,4\nmorgue,0\ngweek,1\nwenni,1\nhockeywolf,4\nnenwef,4\nkaturo,1\nalaskan_klee_kai,5\nrally_ryder,4\nbetty_boop,4\ntransgressors-reworks,1\nmachinewithsoul,1\naymint,1\ntopsy_(disney),4\nrichard_moore,1\ndoll_(character),4\njackthekipper,3\njazz,4\nkf_furry_design,1\nindochinese_green_magpie,5\nalekksandar,1\nsunburn,0\nspicychaikitten,1\nkris_(pokemon),4\nista_(avelos),4\ngunso_p,1\nblenafee_(keroro623),4\nkib,4\nfoxgirl_(glin720),4\nxingren_(diives),4\norange_thigh_highs,0\nvoluptuousness,0\nfingertips_touching,0\nlou_(dofus),4\nagent_s_(animal_crossing),4\nskyversa,1\ni2lsx,1\ngold_footwear,0\nlittle_bear_(character),4\nthree_tone_face,0\nsqueeze_tube,0\npixie_(megami_tensei),4\naariel_(wolfyalex96),4\nnova_rain,1\nring_binder,0\nletter_block,0\nwhike,1\npepperuranus,1\nfeegie,4\nhand_print_on_butt,0\nbasil9,1\nvdezten,1\nazurtaker_(artist),1\nkate_the_wolf,4\nsculpting,0\nrattdawg,1\nsilverfang725,1\nhalo_(device),0\nopen_bra,0\nkaiipwilde_(artist),1\n1_fang,0\nlewdert,1\naztrial,1\naxton_(ns22),4\nplasma_cutter,0\npi,0\njonathan_stryker,4\ntanga,0\nkiba_inuzuka,4\nsofakinggood,1\nausjamcian_(character),4\nconvicted-clown,1\nkisu-no-hi,1\nfukami,1\nsuper_shadow,4\nsupon,1\nflemaly,1\ncrayonchewer,1\nelection,0\nbramblestar_(warriors),4\nmr._mistoffelees,4\nvulva_spanking,0\nmyaddib,4\ntentacletongue,4\nvampirekitty,1\nantar,4\npinball,0\ngeumsaegi,4\nmewman,5\ncinderella_(disney),4\nvelvet_pastry,4\nwyldfire7,1\nlilchu_(character),4\nkitana,4\nboait,1\nletrune,4\nhead_to_head,0\nsilversketch,1\nevan_stanley,1\nknimzknov,1\nmylo_rabbit,4\nkiko_kempt_(character),4\nluckyruby,1\nartsy-rc,1\nsarah_(nb),4\ntak_(aeolus06),4\nlicked_silly,0\nblack_knee_socks,0\nanormalzombie,1\nra'ghalek,4\nsonigiraldo,1\nunusual_taur,5\nbyleth_(fire_emblem),4\nchatski,1\nbun_buns_(bun_buns),4\nargigen,1\nyuki_mitsuya_(odd_taxi),4\nleafymyllee,1\nnico-mo,1\nunderwear_peeing,0\nmini_comic,0\nweath_verncel,4\nj4kl,1\nmarycitrus,1\nlooking_bored,0\ngokong,4\nasira_(ashnar),4\ncarl_(thecosmicwolf33),4\ntail_coiling,0\ninternal_testicles,0\npplover,1\nsudo,3\narha,4\ncyrus_nightfire,4\nbloodstain,0\ngloomyacid,1\njanslobonejo,1\nstunk_hazard,4\n12:17,7\nbowling_alley,0\nmadkaiser,1\nrazumi,4\nbarbed_glans,0\nhomolution,1\nmishka_(starstrucksam),4\nbelphemon_(rage_mode),5\nshimakaze_(kancolle),4\noral_tube,0\nsweatysabel,1\nciroking,1\nwool_clothing,0\norange_bow,0\nsv3n,1\nsframboob,1\ncomputer_tower,0\nzettadragon,1\nuniporno,1\nforehead_protector,0\nbilberryfryst,4\njazzynsfw,1\nsaitou_(yakantuzura),4\nbitelickart,1\nsetsubun,3\nposnno,1\nsomefoolfp,1\nmavrickzoo,1\nstretched_out_leg,0\ncheese_slap,3\nconjoined_at_midsection,0\nsilver_(silverlonewolf),4\ntoy_block,0\nknee_out_of_water,0\ngeorge_heartfields,4\nlavender_skin,0\ndblack,1\nsterlingsilver07,1\nfrostyphox,1\naroohwahoou,1\nakatadobuchiki,1\nokami_(masterokami),4\nglistening_piercing,0\nwaiter_suit,0\ncollieh,1\nwishiwashi_(solo_form),5\nsitting_on_pillow,0\nimminent_crush,0\nmr._pig_(viroveteruscy),4\naaron_schmit,1\nmr_baton,1\npalisman_(the_owl_house),5\nbilby_(dreamworks),3\nena_(taracod),4\ncobar_the_echidna,4\nhorn_ring_(piercing),0\nlana_(characters),4\ngrab_from_behind,0\npaxemerson,1\ncrocanine,5\ncocodrops_(artist),1\ndark_tuft,0\nkimi_(caribbean_blue),4\nyonpii,1\npaw_on_stomach,0\nserialfrost,4\nwild_tapioca,1\nvickyvoo,1\ncaprine_horns,0\ntofu_(miso_souperstar),4\nlin,4\npurple_apron,0\npaiku,4\nmisha_makioraku,4\nblitzyflair,1\nosiris_(hyenafur),4\ng4cruf0,1\ntouching_nipples,0\nsapphicwetpanties,1\naurasai,4\nscleriteaeaeaggadah,4\nyenocwolf,1\nneveen_(kulkum),4\nbody_penetration,0\njekerela,1\naveryfondoreo,1\nshadry-chan,1\nblue_(ruaidri),4\nclenched_feet,0\nopen_muzzle,0\nfelicia_(felino),4\nvalkoinen_2.0_(character),4\nballgagged,0\ntwig_the_velociraptor,4\nbegging_for_sex,0\nyurel,4\nwolf_midna,4\nathena_(f_draws),4\nkiliminstra,1\nalterkitten,1\nmaggie_hudson,4\nsanikink,1\npinniped_humanoid,5\nonikisu,4\nyairo,1\npulling_arms,0\nleg_stretch,0\nwoodstock_(peanuts),4\nnelvana,3\nholding_baby,0\nliving_ranged_weapon,5\ndigos,3\nbronzor,5\ncandace_flynn,4\nfeet_on_belly,0\nfairy_fighting,3\ndochyde,1\nadleisio_(character),4\nporsche,3\njumping_rabbit,3\nbird_taur,5\nnba,3\nnestkeeper,1\npinkpunk95,1\nbe_gentle,0\nbell_gargoyle,4\nnerdcario,4\nscarlet_witch,4\ngunbunny,4\nysergrin,4\nwolfespada,1\nputinforgod,1\ndarkra,1\nprincess_daphne,4\ngreen_dragon,5\nkemonogatari,3\nball_jewelry,0\nzephyrmon,5\nthe_neverending_story,3\nlittlewolf112,3\njaimeprecoz,1\ncancer,0\nmadoa,4\nauron_ardere,4\nmottled_scales,0\ntheheckinlewd,1\npainting_body,0\ndire_car,5\ncomment_chain,7\ndroll,4\nbabysp00ks,1\nxeno_(darkfox49),4\nsosya142,1\ntristan_(zummeng),4\narrancar,5\nkurtcbrox_(character),4\nyonachka_doki,1\nkawa_(rebouwu),4\ntide_pod,3\namber_abbadon_lang,4\npussy_wound,0\nsam_(samwellgumgi),4\nneboone,1\nibis_humanoid,5\nanagod,1\nsharing_diaper,0\nwhatsapp,3\nyellow_knot,0\nlifeguard_chair,0\nkodota,1\noctojo,1\nveevei,1\nvesper_(vesper_art),4\nsydney_the_shinx,4\nowner,0\ngreen_tattoo,0\ntattanbu,1\nsteffy-beff,1\nlaying_on_table,0\nashardy,1\nblack_legband,0\nglomp_(sound_effect),0\nphol,1\nout_of_breath,0\npepin_(keke),4\ninorog,4\nzip_(disambiguation),4\nbb-8,4\ndenial_(disambiguation),0\ndragon696,1\nbiskit_(animal_crossing),4\njenny_(insomniacovrlrd),4\nbrown_goggles,0\nurso,4\npiko_(pehkeshi),4\npower_glove,0\nfacesit,0\ndominant_prey,0\nroughlove69,1\nhypnotherapist,0\nholding_cheese,0\nmale_teacher,0\nhollow_(minikane),5\nlegs_on_furniture,0\ndirector_himuro,4\nefty,4\nname_list,0\nsexism,0\nfenrir_ovekovoy,1\nneenbeanmachine,1\nmitzy_(mitzythebatpony),4\ntammy_(disambiguation),4\nafoxywitch,1\nfrieder1,1\ngadthegod,1\nkinathefox,1\ngherwinh_riel,4\ndante_(jaeger),4\nsniffing_clothes,0\npriscilla_(zentagas),4\nderagon,4\nthea,1\nqunke,1\nashley_blackwood,4\nthe_shape_of_water,3\nchiroina,1\nlotuschild,1\nwatermelon_bikini,0\nnavel_tickling,0\ncork_board,0\nminoru,4\nhestia_(danmachi),4\nki'eruu,4\njack_salem,4\nbronze,0\nwake,4\ntitankerberos,1\ngrass_plain,0\nkix_(irootie),4\nexotic_navel,0\nstellar_eclipse_(mlp),4\nimminent_torture,0\ndress_down,0\neroquis,1\narsinoe,4\nroukan,4\nblanche_(animal_crossing),4\nkarma_(kuroodod),4\nweegboi,1\njonah_(kiasano),4\nrufus_(powfooo),4\nmanekanaineko,1\nalazak,1\nsheepish,1\nzeusdex,1\nkizu,1\ntaori,4\nhiding_penis,0\nbribery,0\njessica_(bae),4\nteam_four_star,3\ntanz,4\nberriessparrowmouse,1\ncrime_scene,0\nikorane,0\ngladys_(animal_crossing),4\npontiac,3\nlitter,0\ntack_(petokikka),4\ndoathejackalope,1\nhappy_ending,0\nrancid_kill,4\nsecretdwagon,1\nsobeloart,1\nleather_cap,0\ncum_in_partner's_clothing,0\ntentacle_sex_in_water,0\ntracy_(anaugi),4\nglistening_headwear,0\nwalter_white,4\neevilish,1\nloporrit,5\nkokidius,1\ntoshabi_(character),4\nimplied_breast_expansion,0\nabagail_cutersnoot,4\nsampson_(angrypotato96),4\neddy_(eene),4\nmichael_(robinstic),4\nlandsec_(character),4\nnew_super_mario_bros._u_deluxe,3\nyounger_sister,0\nabbie_(chelodoy),4\ntempest_wolf,5\nbran_(mitarashi),4\njade_verdi,4\nmolly_(kionant),4\nmythra_(xenoblade),4\nhebleh,4\ndutch_(skweekers),4\naless-sotan,4\nuther_(red-izak),4\ncar_hood_pose,0\nshirt_pulled_up,0\nsillygoose,1\nassless_pants,0\nlil'bun,1\ndiana_(kyotoleopard),4\njoy_(1-upclock),4\nmouth_covered,0\nborkbawbaw,1\nsilvertale,1\ngoshawk,5\nlow_lighting,0\ndouble_sex_toy,0\nc91,1\npize,1\nboxification,0\nbeefjerkie,1\ndinosaur_(disney),3\nbarroth,5\nbella_(screwroot),4\noversized_console,0\nespiozx,1\ncephalopod_shell,0\ndrinking_fountain,0\njam_(juicydemon),4\neye_shot,0\nsyo_you9,1\npikachu_onesie,0\najhira_(personalami),4\nmasking_(artist),1\ndark_panties,0\nchrystaldraw,1\n1977,7\nliina_(aruurara),4\nsheena_falafel,4\ntomi_(arino),4\nroseonapot,1\nchompy_(pencils),4\nturtle_humanoid,5\ngold_chastity_cage,0\ntanta_(zaush),4\nshirt_on_shirt,0\nmonotone_genital_slit,0\nbow_footwear,0\nday_gecko,5\nmechanical_jaws,1\natticus_(treebarkdragon),4\nsharpedo_bluff,0\nleo's_mother_(vg_cats),4\nspitting_drink,0\ntable_lamp,0\nryuusei,4\nstated_price,0\njack_mauer,4\nthe_forest_of_love,3\ngoatdraw,1\nremu-kun,4\nagidyne,1\ndrago_(reddrago),4\njenklin_(character),4\nasmotheos,1\nboloid,1\nbrick_background,0\ndiego_(tithinian),4\nrabid_(webcomic),3\niaredumbo,1\nzeroitamae,4\nhippowdon,5\neverett_(copperback01),4\nell_(character),4\ntorata3220,1\nmeushi_mattie_(matsu-sensei),4\nonion_(powfooo),4\nkiba_(wolf's_rain),4\nmatt_lion,4\nface_humping,0\nalolan_raticate,5\nstew,0\nmilftails,4\ncottoncanyon,1\nradiant_glow,4\nshiyusu,1\nmecha_musume,0\nroxy_(inkyfrog),4\nflayre,4\ntynamo,5\nsheriff_callie's_wild_west,3\ncrimson-karma,1\nalma_elma,4\nbrushtail_possum,5\nhoney_pot,0\nselkie,5\natlass,4\nskylight,0\nkemokemono,1\ncascoon,5\nshuki,4\ngigginox,5\nhope_brielle,1\nyukiashi,4\naskareth,4\nsven_the_rogue_knight,4\nlederhosen,0\npower_cord,0\nmoofah,5\ncharlotte_(nox),4\narmed,0\ndr_lazarus_lamar,1\nunusual_anus,0\nwolkewolf_(artist),1\naccelgor,5\nin_bottle,0\npantsuneko,1\nlyanti,1\ndizzy_demon,1\nrobocop,4\nmongor,4\nventress,4\ngarion,4\nfluffy_pony,5\ncum4mekurogane,1\nmega_medicham,5\ncarenath,4\nvictoriadaedra,1\nmaia_(ipoke),4\nino_yamanaka,4\nanimal_abuse,0\novens,1\nprobopass,5\nkatiramoon,1\nkaren_star,4\nhowllie,1\nkilala_lyko,4\nmetaletemon,5\nsaiya_darkfire,4\nandre_(dosent),4\nthick_knot,0\nexclusive,0\nturuiemon,5\nbirrin,5\nridgeback_dragon,5\npac-man_and_the_ghostly_adventures,3\nallen_myriad,4\npelboy,1\ntumbleweed,0\nsoulstealer666,1\nbraiding_hair,0\nsmoosho,1\njaguarundi,5\nshadow_dragon,5\nmariachi,0\nchurippa,4\nsasha_(jeremy_bernal),4\ndiablo_2,3\nbiting_hair,0\nshanaa,4\nigriega,1\navocado,0\nhemlockgrimsby,1\nbrittany_(angrypotato96),4\ngigalith,5\npendulous_g,1\nxero,1\ndemira_lilian,1\nbay_breeze,4\nricardo_milos,4\nfur_tattoo,0\nbell_bracelet,0\nendo_(artist),1\nfoxglove_(roommates),4\ndildo_in_urethra,0\nyans_the_furret,4\ncarboncopy612,1\nvincent_(litterbox_comics),4\npoi_(last_origin),4\nalternate,0\npawprint_clothing,0\nflying_pig,5\nhimbo_stitch,0\ngoner_kid,4\nonyx_(ner0_kobold),4\nelbows_on_table,0\nsuite,0\ntamamo_fushimi,4\nnighdruth,1\nvelvetdelusion,1\nsharkieee,1\nsad_tomato,1\nstepbrother,0\nbaby_mobile,0\ntan_boots,0\ninkbunny_(character),4\nsanta's_little_helper,4\nsfl-art,1\ngargoyle's_quest,3\nwaackery,1\nnennachan,1\nambiguous_orifice,0\nseabreeze_(mlp),4\nhelga_vanilla,4\nnikovi_(chasm),4\nrandomdud,1\ncats_(movie),3\nwakeful,4\nsmoke_pipe,0\nraaru,4\nkitty_(averyshadydolphin),4\ngolden_lion_tamarin,5\nsurrealtone,1\nhiad,1\njustausernamesfm,1\nbrandy,4\nindian_flying_fox,5\nmouth_piercing,0\nlaluka,4\nrura,1\npaper_demon,1\nstella_(cornchip21),4\nsamanthaweltzin,1\ntaurus_(fairy_tail),4\nchibibass,1\nsuzumaru,1\nmonterey_jack_(cdrr),4\nthenamesmel,3\nkazukoto,1\nela,4\nsir_kavalier,4\nmassage_oil,0\nluke,4\nkula,4\ncleo_(between_the_lions),4\nisabella_ryan,4\nparadox,0\ndisappearing,0\ncosmic,1\ndelia_ketchum,4\natlas,4\n6/26,3\ncm_august,1\nthe_wonderful_101,3\nnekoshiba,1\nstomach_ache,0\nsinfullysweet-tea,1\ndungeon_ni_deai_wo_motomeru_no_wa_machigatteiru_darou_ka,3\nvolsar,4\nwobbleblot_(artist),1\njasmine_isis,4\nhenjikotetsu,1\naltmer,5\ntransportation,0\noot,1\nminimap,0\npeaches,4\narcticdunx,1\ngeorge_lundgren,4\nkayla,4\ncar_trunk,0\ntweak,4\nmetal_bikini,0\nwalnut225,1\nboko,4\nanthony_sarkasuo,1\ncasual_ejaculation,0\nnaraku_kimura,4\nkain,4\nmonoth,1\ntusky,4\nafterglow_the_ampharos,4\nkoshimoto,1\nbaron_the_raichu_(character),4\nlem_(latiodile),4\nastronaut_suit,0\ngrimoire,0\neric_cartman,4\nmauricio,4\nsmokeforears,1\ndigidredg,1\nc4tspajamas,1\nbolas,0\noverflowing_cum,0\nerotibot,1\nprotruding_teeth,0\nhead_injury,0\nlust_from_afar,3\ndrago,4\nzu_(rudragon),4\nsarah_(naughtymorg),4\nusashiro_mani,1\ny_incision,0\nsnuggle_bunny,4\nmercrantos,1\nnose_chain,0\npancakebunny,1\njasper_(jewelpet),4\nsuicide_squad,3\ndizzysauce_nsfw,1\ntoyslave344,1\nargohazak,1\ny5_(adventure_time),4\nfroggy_chair,0\nblazinahegao,1\ncriegrrunov,1\nkaerfflow,1\nlubed,0\nthese_are_all_cakes,3\ngold_ship_(pretty_derby),4\nkranson,1\nchopsuey_(lilo_and_stitch),4\nlatex_dungeon,3\nmarshall_(dangpa),4\nlunatic_pangolin,1\nlewxen,5\nfire_axe,0\npride_color_lineup,0\nsquid_(minecraft),4\ntravon_(character),4\ndarkthorns,1\ninsert,0\n1967,7\nwerewolf_wednesday,4\nmomo_(kiichi),4\nvilka,4\nkapuzendrache,1\nhase_popopo,1\nwinston_(vaanxdragon),4\nsamoyed-chan_(kishibe),4\nadeptus_astartes,0\nrose_(h2o2),4\nhorusla,1\nsorenstar,1\nraziya_(character),4\ngun_play,0\nmomu9172,1\nhamu_ym,1\nchess_(endernia),4\nblackholedog1,1\nnatchan,1\noutstretched_legs,0\nyuu_h,1\ntinkerwing_(sirholi),4\ncyancouatl,4\nsakatagintoki117,1\nweresciurid,5\nchastity_bra,0\nlongging,1\nchiropteran_demon,5\nkonu_eikuku_hentaru,1\nwyatt_(wyatttfb),4\nichimatsu_matsuno,4\nblond_fur,0\nisabel_(doctorartemis),4\nbarrypark11,1\nspoony_(spoonyfox),4\nelaismurnhem_afarman,4\nmonta_(beartouma_0517),4\nleondraw,1\nlicking_stomach,0\ncreamy_kitty,1\nkat_(iseenudepeople),4\nconjuration,0\nsigrid_(loneclaw),4\nshota_equine_(marimo),4\nkaramimame,1\nballet_dress,0\nbxb777,1\ngwen_(frisky_ferals),4\neinraeslost,4\nlluisabadias,1\npanman11293,1\noverlord_(game),3\nbeatrix_dominatrix,4\nelwysprigg,1\nsquirting_sex_toy,0\ntdph2dubnoxxthu,1\nrib_(ribera),4\ntagxo_(artist),1\nholding_own_legs_up,0\ndevil_horns_(disambiguation),-1\nroy_(fuze),4\nmelancholic,0\nrodd.y,1\ncountershade_tentacles,0\nshirsha,1\nmelon22,1\nextant/extinct,0\njoao_(joaoppereiraus),4\nprint_boxers,0\nswallowing_eggs,0\nartesderatzyu,1\nivory_(derideal),4\nrochestedorm,1\ncello2424,1\nshiiorina,1\ngraskip,1\ncallie_barker,4\ngrey_wool,0\njustwusky,4\nwhelpsy,1\nxxxbiliwinxxx,1\nfizwack,1\ndark_meta_knight,4\nlaharl,4\ndearest_deer,4\ndemi,4\nnokoppa,1\nsirmeo,1\nlemon-devil,1\nhyenahyena,1\nsenran_kagura,3\nphessian,5\nveil_heartwood,4\ngoshhhh,1\nfamous_comics,1\nhiroyuki_setogawa,1\nhellcat,5\nsaggy,0\nfaust_tigre,4\ngrandfather_clock,0\nkalahari_(character),4\nbyron_howard,1\nroot,4\nmusimon,5\nstarhell,3\nlucky_charms,3\nailah,1\nthepainfultruth,1\njklind,1\nsmoking_during_sex,0\nmurakami_takashi,1\nflorentine,4\nisismasshiro,1\nsopa11uri,1\nvans,3\natlas_the_fox,1\nblue_one-piece_swimsuit,0\nshan_chui_cha_(ffjjfjci),4\nlactating_in_cup,0\n1959,7\nballjob,0\nfood_tray,0\njusticeposting,1\nxbox_one_console,0\nfairy_tail-rella,4\njairou,1\ndallas_burnside_(forestdale),4\nbig_boo,4\nspiked_ring,0\nslug_(wattchewant),4\ncrop_(anatomy),0\nnevan_nedall_(colorist),1\nkatrina_(animal_crossing),4\nnotus_(character),4\nshira_stargazer,1\nmametchi,5\nvakama,4\nmrhart,1\nmaeko_(chimangetsu),4\ntzuni26,1\njestal_orccio_(dynamitegrizzly),4\nmonsters_and_mutants,1\nalluringcryptid,1\npride_color_fur,0\ndupe_(lilo_and_stitch),4\ngentials,0\ntotobun,1\nwing_size_difference,0\nplamzdoom,1\nindigo_cho,1\ndress_bulge,0\njuanp1arts,1\nrepublican,3\nannalie,4\nanmtns,1\npixyfox23,1\nraine_(rainedog),4\nblack_headband,0\nblack_rope,0\ndouglas_buttons,4\nroresu,1\ncoloring_request,0\nornithomimid,5\nyerbabuena,1\nindy_jaws,4\nsally_(tnbc),4\nsen_(mewgle),4\nlegolas_panthar,4\nmelman_mankiewicz_iii,4\nyiwol,1\nchloe_(nerishness),4\nlunooky,1\ncharizardtwo,4\nblade_runner_2049,3\nmangybones,1\nwilderlove,1\nringstudios,1\nyumi_(samechankawaii),4\nhey_kid_ever_had_ya_dick_sucked,3\nswan_boat,0\nvenandi,5\nbakugan_(series),3\nchozogoat,1\nshanutaka,1\n0mr-wolf0,1\nsamantha_hochschild,4\nborges_(aoba),4\nminacream,1\nzoological_illustration,0\ntudduls,1\nxanaduxxx,1\ngas_canister,0\nmaro,1\nfootjob_pov,0\npink_lighting,0\nimperial_loser,1\nlifted_by_leg,0\nspace_core_(portal),4\nbane_(dc),4\non_blanket,0\nmawliet,1\nburping_in_face,0\nh0y0n,1\njessie_(lapinbeau),4\ntwin_tail,0\nbiepbot,4\nopen_skirt,0\nlatex_bodysuit,0\nmorningpanda,1\nshabnack_(artist),1\nmuttgirl,1\nskin_deep,3\nfeathered_raptor,5\nteren,4\ndegu,5\nwalliscolours,1\nblue_skinsuit,0\nassisted_penetration,0\npink_towel,0\npride_color_socks,0\nmixterious,1\nfelicia_sundew,4\nmarcy_wu,4\npyroashes,1\nclothed_gynomorph,0\nholding_micro,0\nlexy_(coachman),4\nyellow_jewelry,0\ntouching_cheek,0\nshin_kerron,1\nfloor_mat,0\ndiamond_eyes,0\nnightshadeink93,1\ncocktail_shaker,0\nalexander_lynx,1\ndustin_(fuze),4\nyuuichi_michimiya,4\ndrako_swiftclaw,4\nlostspotschee,1\nyak_humanoid,5\ntailskemon,4\nkai_kageo,1\nmr._stanley,4\nturned_away,0\nbutt_only,0\nhandle_bar,0\nspace_furries_(comic),3\ntabo_bear,1\nziyane,1\nkimsan-stuff,1\nellen_heart,4\nquackrobo,1\ndark-lunch,1\nautumn_(autumndeer),4\nqwell,1\nzulius_(centaurworld),4\nglistening_skinsuit,0\nmatixcs,1\nzodiac-z2,1\nstanding_missionary_position,0\nthe_legend_of_pipi,3\nlavenderaraliya,1\nfrillious,1\nkura_(svarzye),4\nhalf-naked,0\nneil_walker_(pawpadcomrade),4\ngreen_insides,0\nforced_to_undress,0\ntira_dovi,4\nsukoi_(artist),1\ntransformation_pov,0\nbalthor_(diablo_the_rex),4\nstar_rifle,1\nspiralart_(artist),1\nholding_balloon,0\niridescent_hair,0\ndildo_in_cloaca,0\ntrapisarts,1\nblack_pantyhose,0\ntapered_tail,0\nsapphire_(wallooner97),4\nkrugell,1\ntaystie_park,4\nnei_(neytirix),4\nlila_becker,4\nfundoshi's_day,3\nviper-desires,1\ncorvidbelow,1\nshiraha_(no.1_machine),4\nsu_(drawholic),4\nbaronflint,1\ngenital_exam,0\npole_between_cheeks,0\nmilly_(millcore),4\nender_malcolm,1\nieyasu,1\nbeer_cock,1\npride_color_headwear,0\nlando_mcflurry,4\nsaran_kit,1\nnatsuminyan,1\nmoonkin,5\nmame_taro,1\nred_feather_hair,0\nkangwolf,1\nteck,4\nunhappy_raccoon,3\noverhead_lighting,0\nsteve_scriggins,4\nair_hose,0\npokoemon_(character),4\ncloak_and_dirk,1\ntorushitakara,1\nunown_e,5\nleo_rockenburg,4\nvasta,4\ntammy_(worldf0x),4\nfelicia_(flafty),4\npaw_mitts,0\nkuzuri,4\nescalator,0\nseismic,1\nanpii,4\nenzo_wolf,4\nheralds_of_the_avirentes,3\nopen_top,0\nnchproductions,1\nwish,0\nxbc9,1\nnoodlefreak88,1\nsonia_(blackmist333),4\nprincess_of_moonbrooke,4\nrazgriz_darkheart,4\nbenny_the_ball,4\niri-neko,1\nmaishida,1\nlaying_on_top,0\npteryon,1\nsoulfire,4\nshtoltz_(artist),1\nhatzu,4\nlewdhorses,1\nnereida,4\nseelena_zorn_(iskra),4\nuitinla,1\nlucy_bones,4\njaquelindreamz,1\nmuffin_top_(topwear),0\ndanae_(character),4\nhinoraito,1\nnitro+chiral,3\nsometimessmuthappens,1\nartonis_(character),4\nlooking_at_chest,0\nkuno_bloodclaw,4\nagnaktor,5\nflamyphantom1,1\nred_(reddeadfox),4\ntopazxwolf,1\nagralewyn,4\nhueroc,4\ndinopotamus,5\nlucioro,1\nlove_live!,3\nsynth_(hax),4\ntuqiri,4\nsofia_(maikeru),4\nalyx_vance,4\nseiryuuden,1\nskylar_(swayzie),4\nmuriel_bagge,4\nmaul,0\nsha'an,4\nfoxicube,1\ntusk_ring,0\ntimon-berkowitz,1\nrimi_(triuni),4\nzeal_raegus,4\ncondensation,0\nattacked,0\ncondom_box,0\njester_outfit,0\ninkyblot,1\nvaluvial,1\nquetzal_(dragon_tales),4\nlovely_mawile,1\ntoba_hiyoko,1\npsi,4\nnecromuncher,1\nfurronymous,1\nyaiba_(show_by_rock!!),4\nprom,0\nbastet_(link2004),4\nbluegirl91,1\nequius_zahhak,4\nmanaita,1\nleokatana,1\nspqr,0\nnightmare_mangle_(fnaf),4\n55level,1\nsonictopfan,1\ndeltaflame,1\ngondwanagod,1\nzest_(artist),1\nneck_piercing,0\narmadillidiid,5\ntjin_(character),4\noversized_hoodie,0\nblood_tears,0\ntobitobi90,1\nnicroxes_(thony_dog),4\nvapebrowoeon,1\nsleeve_dress,0\nhidenafox,1\nchow_(animal_crossing),4\nbulky,0\ndulcy,4\nyannit,4\natsuineko,1\nastolpho,1\nsnoot_challenge,3\nstrawberry_cheesecake_(glacierclear),4\ntgab,1\ncatherine_hopps_(siroc),4\nstaring_at_penis,0\nvranda,4\nshybun,4\njudge,0\npatxi_(fate),4\ngradient_tongue,0\nlooking_at_paw,0\nturbo_mcgogo_(commissioner),3\nsaraiah_(heraldinthedark),4\nblue_moon_(glacierclear),4\nbiolumine,1\naraneesama,1\nraven_gardevoir_(ashraely),4\nbria_cindertails,4\nhedgewolf,5\nmunsshy,1\nl_(l2876),4\nmaya_(ironkongstudios),4\nlibby_(tasteofchoklit),4\npolaris_(mousguy),4\nasella_(nelly63),4\nkyoriichi,1\ntail_pants,0\nseven_the_synthehog,4\nmicendius,1\nsubtle_motion_lines,0\ncharger,0\nmarcille_donato,4\nsebas_(smoothlabs),4\nsea_cucumber,5\nwriting_on_calendar,0\nkeqing_(genshin_impact),4\nfoshka,4\nrainbow_horn,0\nleleack12,1\nbonnie_(satsumalord),4\ngripping_penis,0\nggu_open,1\nghastly_stitches,4\nnuskalion,1\nkah,1\npascal_(jeffusherb),4\nflower_on_tail,0\nstacyroseland,1\ntmgt26,1\ncontroller_on_table,0\nsiurize,1\ndane_(max_draws),4\na_certain_(franchise),3\nblood_on_claws,0\njunkochi,1\nblowjob_face,0\nrodian,5\nmedusalewdles,1\nnavy_fur,0\nmulvan_treehugger,4\nspam_(zoophobia),4\nwhite_toe_claws,0\ncoriander_(wonderslug),4\npanty_pee,0\ndrap_karnow,4\nholding_weights,0\nbonkieblues,1\nrouken_(character),4\nyoumu_konpaku,4\nvvolfaith,1\natlas_(portal),4\nmia_mackat,4\nconcrete_floor,0\nauro_(auropaw),4\ngame_over_screen,0\nrose_sunsprite,4\nlittlebird,1\nbuchineko,1\nblue_crane,5\nshira_frozenmoon,4\nluraknot,1\nbottomwear_around_legs,0\nyule_(tas),4\nmesidukainumaru,1\noneflymagpie,1\nportable_fan,0\nreflective_clothing,0\nlobani,5\nfuzzywooly,1\ntetz_(artist),1\nnequamars,1\nalice_(jamearts),4\nfishsticker,1\nlili_(character),4\nkivalewds,1\nioragabhar,4\nmaccy_(character),4\nbulletfang,1\npaint_on_self,0\ngift_wrapping,0\npango_(klonoa),4\nboost_wisp,5\nquasarbearcat,1\ndevin_d_parlett,4\ngrow_(sound_effect),0\nmetallic_tentacles,0\nwax_seal,0\nmagma_admin_courtney,4\nbutterflysneeze,1\nartisyone,1\nshamisen,0\nkeiko_matsuhani,4\nserpentine_(ninjago),5\njowls,0\nfacing_aside,0\nqueen_scarlet_(mlp),4\nfenton_crackshell,4\nbungo_(beartouma_0517),4\nnoah_(ghost_forger),4\nhands_on_own_feet,0\n13:10,7\nflying_machine,0\njyuri_(ziroro326),4\nmrwhiskerz,1\nmilo_(gioven),4\npoffin,0\ncane-mckeyton,1\nami_(character),4\nmerry_(ken_singshow),4\nbokomon,5\nbloodfart,1\neyes_rolled,0\ntoei_animation,3\nmiriam_beaks,4\nazwraith_the_phantom_lancer,4\nstyx_(of_orcs_and_men),4\nhun,1\nreina_(artist),1\n5j4c720,1\ndreamer69,1\njanine_(bad_dragon),4\ncrayola_foster,1\nalphinaud_leveilleur,4\nbonelesswolf,1\ngaia_online,3\nlurry,1\nsmall_chest,0\nstrips,0\nrensis,4\nfortissima's_treasure_hunters,3\nspoongod,1\nnere,4\nrogue_(marvel),4\nkelani,4\nratipiko,1\nhannahugs,1\nkip_cat,1\nghost_(artist),1\npozy,4\nbonnet_(fnafsl),4\ntoya_pup,4\nmesserschmitt,3\nselling,0\nheart_bikini,0\nsushi_(sootsprite),4\nqueen_bea,4\nbust_chart,0\nnano_(the_gamercat),4\narcticsnow1,4\ntoro29,1\nmetro_2033,3\ngen_(baconking),4\nla_brea,4\ncryogonal,5\nhana_uzaki,4\nenergizer,3\ndakota_(wiprogress),4\ngrey_back,0\nlipecachorrinho,1\nred_harness,0\nangrycaboose,1\nval,4\nrekkit,4\npink_antlers,0\nalexandra_reznova,4\nprint_bra,0\nshelgon,5\npride_color_bracelet,0\npurple_jockstrap,0\neyvind_earle,1\neveryone_is_so_mean_to_me,3\ntravis_(sebafox),4\nwaist_belt,0\ncum_between_legs,0\nbitting_lip,0\nfully_clothed_to_mostly_nude,0\nechinoderm_humanoid,5\numbradraws,1\nsarah_(disambiguation),4\nwyrdeer,5\nmauve_(artist),1\ndiandre,4\nstars_around_head,0\ntochinoko,1\nghost_(nateac),4\npost_digestion,0\npentagram_tattoo,0\npeach88,1\nsilverash_(arknights),4\nyak_(kemono_friends),4\nmrkatman,1\nzardoseus,1\n25:18,7\nyellow_diaper,0\nfreddy_lupin_(100_percent_wolf),4\ngreen_swimming_trunks,0\nthe_gray_garden,3\npride_color_highlights,0\nblue_thigh_socks,0\nmehajiki,0\njoeyzliaotang,1\ncountershade_sheath,0\nfood_clothing,0\ndeep_sea_creature_(artist),1\nmirothefox,1\ncarduelis,1\nshnuzzlez,1\n617foreverwithy,1\nkhemia,3\nkoron-dash,1\npoi,0\npurple_neckwear,0\nsto-chan_(m-da_s-tarou),4\nnoodlybat_(artist),1\ngreen_leotard,0\nelias_larranaga_(pluvioskunk),4\ndazzlekong,1\neva_(kleiny),4\nsaffronic,1\ndigestive_fluids,0\nmaximus_(smartydragon),4\nlizzard,5\nregal-bowser,1\nkinkivas,1\ntiger_claw,4\nholding_mirror,0\nquiver_(arrows),0\nmiazuma_shouki,1\npyrope_(genericdef),4\nthawb,0\nchuck_(captain_nikko),4\nnameless_lucario,4\ntempest_(xsomeonex),4\nrudy_(kayla-na),4\nlittle_man_(sloss),4\noliversart,1\ntext_on_sign,0\nthalia_grace,4\nbelly_rubs,0\ngrizzlesbear,1\namarissa_(abluedeer),4\nnazu'lah_(yuricrabking),4\ndoguma-sin,1\nalice_yagami,1\nfurjoe0,1\nlucas_(sylvanedadeer),4\nfelidre_(artist),1\nxoc_onda,4\nobsius_(paledrake),4\ncountryballs,3\ndehaka,4\nkirsten_odessa,4\nsally_pride,4\nlìzhī,4\nneve_(plattyneko),4\nstockingshot56,1\nb._wolf,4\nemarosa,4\nsamael_(nicoya),4\npanty_peeing,0\ntimid_cookie,4\nluluangel,1\nyaku_(yakushishi),4\nweers,1\nblvckmagic,1\nno_dialogue,0\nchase_(pokémon),4\ntygriis,1\nulven-f,1\nalakayne_alembine,4\ndrake_terrys,4\nwhite_beleth_(floraverse),4\nlater_alligator,3\nashley_(themuffinly),4\nhyper_pubes,0\neracin,1\nxarr,1\nshirt_pocket,0\nbull_(torquewintress),4\nytrall,1\nnanntaro,1\namaruu,1\nbelo4ka,1\nlazy_eye,0\npopo_(telemonster),4\nspit_in_mouth,0\nfurffles_paloosa,4\ngidora_(artist),1\nleonberger,5\nstreamers,0\nblau,4\nblack_tights,0\ngakuseigitsune,1\ncrystalshards,1\ntommy_(jay_naylor),4\nbert,4\ndrion,4\ntreasure_map,0\nterri_and_terry_perry,4\nshammy,4\naura_(moomanibe),4\nape_escape,3\nvampirella,4\nd.a.r.e.,3\nze,1\ncum_through_pants,0\ncherrie,4\nsex_show,0\nhashburrowns,1\nmel_(character),4\nunflared,0\nkyoujin_(character),4\nclip_studio_paint,3\nnanomachines,5\npupitar,5\ninvictus_(caticus),4\nchloe_park,4\nunobtrusive_watermark,0\nchakram,0\nleg_bar,0\nlunar_(nedoiko),4\ncomparing_butts,0\nburmy,5\nradial_(artist),1\nwillie_munk,4\nglenn_(chrono_trigger),4\nnasu,1\ncolette_(thea_sisters),4\ngraybluestudios,1\ncock_udder,0\nfuel,0\nimprovised_lube,0\nphanto,5\nraine_(raine1082),4\nshadow_ieyasu,4\nkehto,4\ngraves_(lol),4\norange_flower,0\ndahlia_(blen_bodega),4\nsilver_rain_(sergeantbuck),4\nwind_sprint_(mlp),4\neiji_kakihana_(odd_taxi),4\nshiny_(petokikka),4\nyuuki_(princess_connect!),4\ntwo_tone_pillow,0\ncrane_game,0\nholding_heart,0\nklempner,1\nholding_cookie,0\ngauged_labia,0\nwiring,0\nlayered_heart_eyes,0\nmaggie_(zapper:_one_wicked_cricket),4\nrekkit_the_rabbit,3\namber_(zaush),4\nose_(megami_tensei),4\nfluffydave,1\ndrawing_on_body,0\nblack_frill,0\ndeerest_stag,1\nspeech_emanata,0\nhazel_dormouse,5\nkamina_(gurren_lagann),4\nshiro_lolita,0\ndodo_(dododragon),4\ntail_around_body,0\npocket_square,0\nknife_in_mouth,0\nchristina_mort,4\npartial_fur,0\npapriko,1\nhuge_size_difference,0\nmistress-honey,1\nholding_sack,0\n<3_eyebrows,0\ngreen_leash,0\ntrapeze,0\nbeing_gagged,0\nmaleabel,4\nthis_big,0\nlucidpariah,1\nbear-paws,3\nslang,0\nnosantee,1\nglowing_breasts,0\nmany_eyes,0\niguini,5\ncharge,0\nmirotic,1\nkrispup,4\nnear_death,0\nnekomonogatari,3\npimp_hat,0\nbass_(artist),1\nbackwards_virgin_killer_sweater,0\nnickolas,4\ndictator,0\nsaba,4\nk-on!,3\nepulson,1\nnightseeker_(oc),4\nlacertius,4\nvalencia_(jmh),4\nazazel_(character),4\npetal_spark,4\njonesy,4\nedude,1\nthe_jetsons,3\ncayleth,1\ntemeraire_(series),3\nscott_visnjic,4\nsakazuki,0\n326,1\nmr2cats,1\nfayleh,1\nwii_nunchuk,0\njaggard,5\nximen99_(artist),1\nmohg_lord_of_blood,4\njotun22,1\ndesdemona_(gargoyles),4\nwolfeenix,1\nyellow_apron,0\ntripartite_jaw,0\nsheebu,1\nmegurine_luka,4\nshedding_skin,0\nbaelz_hakos,4\nfood_on_penis,0\nartdemonslair,1\nbreast_poke,0\nyuki_(caribbean_blue),4\ndistorted_text,0\nlust_(kuroodod),4\nnangnam,1\nlentocn,1\nassisted_autofellatio,0\ntail_on_bed,0\nvehicle_humanoid,5\nstarston,1\nlong_toenails,0\nkally_(tits),4\nkaysa,1\nred_felyne,4\nlena_the_kobold,4\nleg_warmers_only,0\nglowing_collar,0\nsallos_(character),4\nunoryoku,1\nambrose_the_kobold,4\narchaeotter,1\ndenaturedalbumin,1\njawsfm,1\nlawnmower333,1\nblack_outfit,0\nmadmanransom,1\nsimon_(zourik),4\nsyrrik,4\nrammie_(jschlatt),4\nglacey_(glaceonthepet),4\nlibra_bethelon_(libra-11),4\ngame_piece,0\nwolftea42,1\nsnaildoki,1\njunkbag,1\nleg_on_furniture,0\nhypnotherapy,0\nlegomorph,5\nholding_hose,0\ntrivial_pursuit_(oc),4\ndevious_grin,0\npastries,0\nincubus_(project_x),4\nbetty_boom_(character),4\njustirri,1\nnoa_(lunaris_parukia),4\nslimecatt,1\nnaze,1\ngabrielgryphon_(character),4\naqua_fur,0\nsweetroll,0\npluto_(woebeeme),4\ngirly/girly,0\nandrew_(dosent),4\nwes_(ultilix),4\nsquishheart,1\nhan_wenqing_(tka),4\netcexera,1\nroquemapache,4\ntail_ring_(piercing),0\ntwo_tone_heels,0\ndiscarded_shoes,0\nstudded_ring,0\nkelv_(vdisco),4\nnipple_tag,0\nin_your_best_interests,3\nflaming_eyebrows,0\nalperion,4\npowerinfinity,1\nanal_impalement,0\nsaberleo_(character),4\nkoraku_(baroque),4\nhand_tattoo,0\npenis_on_leg,0\nnt6969,1\ndalrus_plaguefang_(character),4\nspaughtyena,3\ntiffany_turlington,4\naphid,5\nkayadult,1\nblackberry_dragon,1\nbadminton_racket,0\nkochimel,1\nchewing_gum,0\nasadama,1\ninkedfur,3\nheart_locket,0\nemboss0320,1\nblu,4\n4ofswords,1\nbaby_bop,4\nx-mas,3\nopen_underwear,0\nstephanie_lynn,1\nfire_belly_newt,5\nfarellemoon,1\nsaberuneko,1\nscotty_panthertaur,4\nveis,4\nraivenderouthelion_(artist),1\ncat_face,4\ndorian_zibowski,4\ncro_funky,4\nvirtigogun,1\ndecepticon_insignia,0\nfgs,4\nbroken_mirror,0\nminiature,0\nmxgurl89,1\njouigidragon,1\nbending_down,0\nballistic-cottontail,1\nchip_n'death,1\nmetal_tentacles,0\narakupa,1\ntina_(digitalpelican),4\nsini_(auriok),4\nreitounek,1\nstella_(gasaraki2007),4\nzorzero,1\ndima_(artist),1\nfrozentrovador,1\nfilo_(the_rising_of_the_shield_hero),4\nsyderyvuris,1\nheadgrab,0\noperculum,1\nonojeff,1\nlucky_beast,5\nhoney_x_scars,3\nbitters,4\nmortar_and_pestle,0\npicco_(artist),1\ncum_blending,0\nkirone,4\njorie_(thirteeenth),4\ntodd_(vir-no-vigoratus),4\nfaris_(crackers),4\nzero_two_(ditf),4\nirkingir,1\naraceli_(bzeh),4\ntom_(fuze),4\nmags_(hambor12),4\nartemis_(nobby),4\nfoxinjacket,1\nfenriz278,1\nherald_(cobat),4\nhand_on_own_waist,0\ngudao_(fate),4\nrina_(klr-rio),4\nvic_senpai,1\n18:25,7\nchainedbirds,1\nthe_fox_(falvie),4\nharkin_theflyinghog,1\ntash0,1\nkyra_(invasormkiv),4\nfilth_hound,4\nshoes_on,0\nstepdaughter,0\nkya_(palkitos),4\nlicking_belly,0\nanothergamer,4\nhuge_eyes,0\nmaiya_(gundam_build_divers_re:rise),4\ndyani-yahto,1\ncrazy_company,1\narinadler,1\ncloverleaf_tarragon,4\notorigin,1\nbilebubble,1\ndoodledaeng,1\nthis_egg_got_me_acting_unwise,3\ncalendar_pinup,0\nflaviomodezto,1\nmystery_(twisted-doctor),4\nmikojin,1\nred_headkerchief,0\ncrouching_over_dildo,0\nshrunken_city,0\niiimirai,1\nfluffyglitch,1\ngolub_lol,1\ngreat_kilt,0\nhuxiaomai,1\naluxander01,1\ntsugumi_(shiredo),4\ndeterex525,1\nanart_(cliffpadfoot),4\nkompeito,1\nhornynym,1\nthe_white_rabbit_(disney),4\npinereese,4\nstriped_head,0\ndes_(falcon_mccooper),4\nfurry_specific_accessory,0\nparaepa,1\nreines_(doneru),4\ngalvanic_mechamorph,5\nwhite_genitals,0\nage_stated,0\ndeadgirl_neon_rosado,4\njedi_tunic,0\nakane_(akanisen),4\nmini_top_hat,0\nfood_stand,0\nkeke_(hotkeke1),4\ntaj_(artist),1\nlevan_zan,1\ntonythetiger16,1\nbreanna_(9tales),4\nflower_knight_dakini,3\nraver_roo,1\nspirit_blossom_teemo,4\nmissing_anus,0\nblaketheflareon_(character),4\nmilkywhy,1\nindexer,1\nsnickers,3\ncarbon_(zombieray10),4\nshellos,5\nazul,5\nsharp_stallion,4\nflexet_(photolol.03),4\nexit,0\nalebrijeman,1\nlabra_(jewelpet),4\nryu_(breath_of_fire),4\ngui_(character),4\naureus,4\npenny_(ggh),4\nboarball,1\na_inc,1\njilo_(character),4\nkittypony,4\ntena_teardrop,4\ndowel_roddenbury,4\ncarpemortem_(artist),1\naster,4\nion-27,1\njames_(confrontedwolf),4\nviper_rsr,3\ndug_(species),5\nnvidia,3\ntwindrags,1\nmilo_(mrtweek),4\ngumshoos,5\nartgerm,1\notama,1\ndavid_crown,4\neve,4\npingas,3\nrugia1992,1\nsinclare,4\njoshua_(longblueclaw),4\ncarousel_boutique,0\nwi3llowbee,1\nekubo,1\nsmallsavant,1\nprosthetic_ear,0\nlamprey,5\nackie,4\nnaughtybirdart,1\nginger_(r-mk),4\nliving_cock_sleeve,0\ncurl,0\nbleat_(character),4\nklem_hessit,4\nbig_unflared_glans,0\nnennsen,1\nalonso_(alonsocas15),4\nclarissa_arts,1\ntiran,4\nlegswithsnake,1\nlajiao_(diives),4\nfrihskie,1\nfluffybastion,4\nlucariolover448,1\nbasilisk_(disambiguation),-1\ndirk_skunkdad,4\nlewdaesthetics,1\nsunny_(wereshiba),4\nrestrained_by_tentacles,0\nbeaver_(beaver_and_steve),4\nbkub,1\nsister_bear,4\nmearu,1\nblack_spines,0\nchamille,4\ngianghanz,1\nbear-box_doodletimes,1\nterror_mask,4\nblair_(titankerberos),4\nbadcompzero,1\nthex-plotion,1\ntwilightsaint,1\npikachu_rock_star,4\nbencoon,1\naman,4\nnelya,4\nnekra,4\nkeno9988,1\nlintufriikki,1\neddie_noodleman,4\nzwolf,1\nspicedevil,1\nfiship,1\nthestarwarrior,1\nfyrien,4\ncolton_(animal_crossing),4\npeaking,0\ndragon_booster,3\nalon,4\nroronoa_zoro,4\nwolfman,4\nmana,4\nmoa_(warframe),5\nconejoblanco,1\nkaylink,1\nwafflebird,4\nauro_(human),4\nyokkora,1\nkaliber,1\nrobin_(rusheloc),4\nvelyash,1\ncapydiem,1\nindarkwaters,1\nreyriders,1\ntuesday_(kyaramerucocoa),4\nyoyofreakcj,1\ncaptain_marvel,4\nnoelle_(oc),4\njezzlen,1\nzootopia:_crime_files,3\nsteve_(smsfoxx),4\nballoon_animal,0\nloculi,1\narchie_(pokémon),4\nmoneybags_(spyro),4\nsquizxy,1\nsheldon_lee,4\nmikalovesyou,1\nrydenan,1\ntetsu_hayami,4\ntan_po_po_tan,1\njontron,3\nmishra,4\nstan_luckbun,4\nhypno-hatter,1\nkijima222,1\nspring_bane,1\ntinky_winky_(teletubbies),4\nmuzzle_(disambiguation),-1\nyukiharu_kuri,4\npsychonauts,3\nforced_perspective,0\nkit_bash,4\nmechari,5\nmilky_(jewelpet),4\ns00t,1\nretra,4\nsnarf,4\nexposed_stomach,0\ncandylady,1\nprogram,0\nbuckwulf_(artist),1\nvektor,4\nnightshirt,0\nmonster_of_the_day,0\nrazeth_(razeth),4\nvolezor,1\nheart_attack,0\nusbdongle,1\ndragon_soul_e,1\nred_winds,4\ncow_suit,0\nnicole_(jmh),4\nteknikolor,1\nemofuri,3\ntyson_hesse,1\nwilldrawforfood1,1\nluu_(lonbluewolf),4\nmami_tomoe,4\nefa,4\nmisogyny,0\ntheonyn,1\nthe_red_angel,1\nshira_schattenklaue,4\nfliegen80s,1\nmaude_o'dell,4\nbaralust,1\ntoepads,0\ncurled_tongue,0\nal_(littlerager),4\ngrowth_potion,0\ntheparagon,1\naloejuice0917,1\ncheek,0\ngranite,4\ntentaculeo,1\nmatthew_gein,4\nevdokiya,4\njames_fox,4\nmajestic,0\ntsukitate,4\npocket_pussies,3\naltoryu,4\nfaust,4\npennicandies,1\nshikokubo,1\nbeaver_humanoid,5\nsnes_cartridge,0\npull-ups,0\nsitting_on_shoulder,0\npinkyhemmit,4\nruby_sahira_(haybuck),4\nsamsung_sam,4\nwe_can_do_it!,3\nere-yandara,1\nzerokun135,1\ndark_clouds,0\ndandy_(legendz),4\npulled_pants,0\ncasey_(moot_point),4\npride_color_bikini,0\nsmall_eyebrows,0\nmelanie_(diddlier),4\nteo_(world_flipper),4\njasmine_(draugr),4\nohayou_milk,1\nchloe_(jolo),4\nyugyny_white,4\nshelly_(wirelessshiba),4\nps5_console,0\ndickneck,0\ngaafus,1\ncatarsi,1\nreyes_(sepulte),4\nneve_(naneve),4\nchill,0\njerma985,3\nsamuraijackin,1\nkuramafurrypaw,1\nfingering_sheath,0\npussy_sweat,0\nlucent_(oc),4\nfluffy_bloodfang,4\nmaverick_chocobo,4\nherex,4\ncolor_change,0\nenergyvector,1\nskull_panties,0\nulfric_(misterstallion),4\nbboyhunter_(character),4\nclothes_stolen,0\nbon_bon_(ocaritna),4\nmythil_flower,1\nsamsti,1\nsports_uniform,0\nfelia,4\nwiitchguts,1\njoe_(physicswolf),4\nshoulder_cape,0\nhead_rub,0\nhtodinth,1\nmacadam,1\nsimplepossum,1\ndani_(lysergide),4\ncarbene_(viwrastupr),4\nshieldon,5\nkoro_(koro_kiama),4\nwanderer1988,1\nzagredos_(spirit_bathouse),4\nwander_(shadow_of_the_colossus),4\nosiimi,1\nfoot_torture,0\nyssalia_(sarybomb),4\ndandelion_(character),4\nbreast_smothering,0\nsoul_(undertale),4\nmarle_talbender_(darkflamewolf),4\njak_(dominus),4\nd-class,4\ntwistedfurby,1\non_sand,0\nanzox,4\nlotulist,1\nvioletghost,1\nghrom,4\nhop_(pokémon),4\nsage_(kaerfflow),4\nlynn_badger,4\nkijimaru,1\neinsamkeitus,1\nluriga_freefox,4\nswift_wind_(she-ra),4\nthree_piece_suit,0\njaguatiric4,1\ndisappearing_clothing,0\ndrew_the_mountain,1\noscar_(pickles-hyena),4\nportal_autocunnilingus,0\npanquequecin,1\nmatsuo_kunikuni,4\nhands_in_hair,0\nnaiacreations,1\nknifefish,5\nsoothe_bell,0\ndialuca01,4\ngrantly,4\ngreen_antlers,0\nthrough_underwear,0\narm_hold,0\npearl_aurora,4\nmick,4\nrainstar,4\njinx,4\nwebvampi,1\ninosagi,1\nchicken_(nuclear_throne),4\nblackmoon1504,1\ngreen_headgear,0\nrook_kawa,1\nrhysio,4\nnarcoticdream,1\nimplied_bondage,0\njeancito93jean,1\nkeino_(firestarterwolf),4\nrockblackhorn,4\nfantail_pigeon,5\nkhris_(shining),4\nzephyriwolf,1\nnotcuti,1\ngrey_ring_piercing,0\nfugashi4090,1\njack_(el_tigre),4\nfemale_teacher,0\ncrymini_(hazbin_hotel),4\ndragonboii78,1\nkaty_(piporete),4\npinkdiablo,1\nsquid_girl_(squid_girl),4\ntora_oekaki,1\ntommy_(kiwabiscuitcat),4\nbro_aniki,1\ndeus_(the_suicider_rat),4\nblue_choker,0\ndantez,1\nbrown_bra,0\nwector,1\nirishwolf_lythi,4\nroom_number,0\nmultiversus,3\nwriting_on_object,0\nsande_(pixiv),1\nneopolitan_(rwby),4\nkiyana_(marcodile),4\nprimma_(windborn),4\nhimitsu,1\nn'cathe,4\nanselme,1\nnoah-the-husker,1\nandrew_(yiffyhusky),4\nhainequem,1\njason_(yiffyhusky),4\njessica_(bcb),4\nstriped_skirt,0\nccruelangel,1\ntop_turned_bottom,0\nheathenpixel,1\ndelmin_(show_by_rock!!),4\nwhisker_growth,0\npenni-chan69,1\nmonotone_jacket,0\nsmashbeaw,1\npurple_hairband,0\ntoyokuni,4\nliquid_(negieggy),4\ndearhotglues,1\nsnub-nosed_monkey,5\nrogerbacon,1\nfirestrot,1\npaws_(cyanroll),4\nverna_(milkscrew),4\nkrista,4\nuxdragon,1\nfelixf,1\nblack_bowtie,0\nkimono_kemono,1\nwyverness,1\npentagram_lingerie,0\nbunnynha,1\nbrandon_(sloss),4\nfuturistic_clothing,0\ni_was_banished_from_the_party_and_became_the_leader_of_the_strongest_female_dragon_party!,3\nblack_one-piece_swimsuit,0\nsos_or_loss,1\ncocoa_(cheesecaker),4\nspicyteggy,1\nottiro,1\nthiccc,1\npalomap,1\nyamik64,1\nsa1ntmax,1\nace_(the_human_heart),4\nmonochrome_kg,1\nlex_sergal,4\nnico_(screamoshaymin),4\nfuzz_fizz,4\nmike_(brownieclop),4\nguacamolesenpai,1\namputated_tail,0\nfultemounte,1\nrolled_up_pants,0\nfart_inflation,0\ncinicalvoice,1\nthornedog,1\nreaction_contrast,0\nlush,4\nnezulet,1\nprimal_(biomutant),5\nback_to_the_outback,3\npokey_(mario),5\neuphemism,0\ntickling_thighs,0\npride_color_cape,0\ndani_(tegerio),4\nkylar_mclaughlin,4\ntheartofvero,1\ntext_on_belt,0\ncacklin,5\nflight_helmet,0\nmoji,4\nmid_skb,1\ncia_the_dark_sorceress,4\n:3c,0\nmr-haitch,1\ncarrotcaramel,1\nkaizen2582,1\nsylvanos,4\nyellow_belt,0\nclothes_rip,0\nazlech,1\nfwomp,0\nimmunefox,1\npinkiraspberry,4\nkaya_the_silverdragon_(character),4\nxinnai0485,1\nhirame42,1\nanima_(lord_salt),4\nruby_(nope797),4\ngrey_frill,0\nashley,4\nravirus,4\nmostly_nude_humanoid,0\nsentient_ooze_(roanoak),4\nmime_(htf),4\njacobart,1\non_boat,0\nomen_(blaidd),4\npetite-pumpkin,1\ndemonancer_(character),4\nlilly_snow,4\ndust_(dustwolf13),4\nrazor_the_flying_fox-bat,4\neastern_dragon_humanoid,5\nskull_marking,0\nsouponmars,1\nsunshine_lolita,4\nfelinid,5\nzala,4\nsiwo_(artist),1\nadriana_(usuario2),4\nblack_buttplug,0\nshima_(lucaraixen),4\npomsky,5\ntomu,1\nred_crop_top,0\nthe_darwin_chronicles,3\narm_flailing,0\nshub-niggurath_(h.p._lovecraft),4\nstead_(connivingrat),4\ntwitching_tail,0\nfeet_in_face,0\nsindaraye,5\nfishnet_pantyhose,0\ngame_boy_advance_sp,3\nandy_(heyitscousindave),4\n934,1\nhair_in_mouth,0\nmuffin_top_(thigh_highs),0\ngardener,0\nblunderbuss,0\npolarpandemonium,1\nhmph,0\nceltic_cross,0\ndrakethefox,1\nrock-g,4\nkfutaba,1\ncosmic_(cosmicmewtwo),4\nbobert_(character),4\njames_(videah),4\nrobbie_the_rabbit_(silent_hill),4\njuke_rivers,4\ncoming_from_portal,0\nbeers,4\nsteve_(beaver_and_steve),4\ncolin_(moodyferret),4\nshallow_rimming,0\nnorn,5\nglistening_water,0\nmisha_(character),4\nrobbie_(mangeybones),4\nhearts_around_penis,0\non_the_forest_trail,3\nviana_(foxxd),4\nsoulasexypanda,1\ntexas_toast,1\nvira_(foxxd),4\nmoxiepawler_(artist),1\namarok_(bbd),4\ntext_on_helmet,0\nmillie_(jigglephysics),4\ntwo_tone_back,0\nkaz_(foxialewd),4\nzan_(citrinelle),4\nvore_sex,0\nmilkydreams,1\njay_(jackthespartan),4\nband-aid_on_knee,0\njericho_(ulfhednar),4\nalternate_timeline,0\nnatyss,4\nmulticolored_bow,0\nwild_knights_gulkeeva,3\ndannydemon,1\nwatersucc,1\nlancer:_the_knights_of_fenris,3\nwaterfall_tears,0\nbrown_neckerchief,0\nbiscuit_(bizkit),4\nguayabajava,1\nkitunelovealt,1\naevery,4\nthumb_tack,0\neden/fig_(viroveteruscy),4\nclaire_(batartcave),4\nryan_(zourik),4\nivy_(sukebepanda),4\ndouble_anal_penetration,0\nberri_(vdisco),4\nsex_on_floor,0\nmusca,1\nface_in_pillow,0\nrodecchi,1\nbulochka,1\nkanie_(kanel),4\nfeet_on_furniture,0\nrollriver,1\nmiravine,4\nraising_arm,0\npotatobud3,1\nemerald_tree_boa,5\nargent_cookie,1\nbearhybrid,1\nmr._pickles,4\ngikowinko,1\npink_spikes,0\nkyameta,1\nglowing_abdomen,0\nlilac_fur,0\npuck_(re:zero),4\nkutv,1\nstreif,1\nnom-sympony,1\naaa-its-spook,1\nollie_rabbit,1\nchikuwabu,1\nscorbunny_(bluejuicyjuice),4\n65wata,1\nshawnghost,1\nben_(rollingstoneeeeee),4\ndaru_brek,1\nmulticolored_heels,0\ncarla_(rio),4\nshitora_(chimangetsu),4\nammy_fluff_(character),4\nmilkshake-lion,1\nfirewolf,5\naith_the_imp,4\nziyi_angrec_arktändr,4\nindigo,4\nemily_moegelvang,4\npawpi,4\nlapsushominum,1\nravenclaw_(siblings),4\nelgyem,5\njackson_grayman,4\ncoatl_dragon,5\nkoala_kong,4\nfred_jones,4\nbullsworth,4\nintravenous_drip,0\nemilythepenguin,1\nhazardbarzard,3\nfnaf_the_alternative_story,3\ntankana,4\npulling_shirt,0\nrubendevela,1\ndelilah_evona,4\npolly_(sherlock_hound),4\ncirrus_(modeseven),4\njaijai,1\nme_gusta,0\npink_berets,4\naudi,3\nhoss,4\nbhloopy,1\nkaraken,4\nsnake_wyvern,5\ndragoooon1223,1\nkaj,4\nlucky_(shifty-powers),4\ndexdoggy,4\nsanji_(one_piece),4\ngwen_fawkes,4\nspice_(powfooo),4\njoon,1\nmwako,4\naging,0\nnintendarkland,1\nsyntarsis,1\nxerlexer,1\ngueuzav,1\ntussytot,1\nandrea_(bzeh),4\ndisembodied_torso,0\ninky_(pac-man),4\nst637,1\nmeowz,4\nplatinum_fox,0\nqueen-zelda,1\ntakataka_(character),4\nfongsaunder,1\notakuwolf,1\npixel_flare,1\nteriyaki,1\nduncan_(k-9),4\norganic,0\nidian,4\nyolanda_camacho,4\nlyra_(pop'n_music),4\nrick_taylor,4\nelmyra_duff,4\ngenesis_(kabier),4\nbiran,4\nyaking,1\nr2-series_astromech_droid,5\ninstagram_logo,0\nmexicommie,1\nmelody_(zhanbow),4\nbodbloat,1\nvitzeal,1\nthorny_gremlin,1\nvert_(vertywerty),4\nignis,4\narthur_draco,4\nthandor,1\neztli_(user_55),4\naurelia_(unbeholden),4\nramish,1\nrainfallcat,1\nmroleoso,1\nruby_(comfycreations),4\npride_color_t-shirt,0\navastra,1\nkazemon,5\nrussianbluenx01,1\ngio-joe,1\nvivian_(bloodline),4\nageaus,1\nbutt_biting,0\nonzeno,1\nsealed,0\nrhemora_(artist),1\ntraximus,4\ngoat_taur,5\nno_way_fag,3\nmatthias,4\nandvari,4\nsalacious3d,1\ngemwist,1\npearlcatcher_dragon,5\nweasely,1\nziggyhusky,4\ngarugirosonicshadow,1\nseitora,1\nstingmon,5\nkamikaze_otium,4\nhudson_(powfooo),4\nmistressmunchies,1\nnes_zapper,0\ndwebble,5\ntsunotori_pony,4\nti-killa,1\ndekitama_(artist),1\nslime_princess_(towergirls),4\nblack_kyurem,5\nwonderduck,1\nlegacy_of_kain,3\nspicy,0\n7_tails,0\ngabriel_gatto,4\nmonoglove,0\nxxomgx,1\ncatastrophy,1\nkay_(legend_of_kay),4\ncavity_search,0\ncyberdramon,5\nhalgalaz,1\ncardfight!!_vanguard,3\npoofy,0\nchuchu_(show_by_rock!!),4\niggy,4\nthemirth,1\njade_faircrest,4\nrusty_wollef,4\nrhubella_rat,4\nraphiel,1\niris-icecry,1\nwhite_spottytail_mage,4\nrebornica,1\nlowrider-girl,1\nkampferwolf,1\nforsaken,4\ncontessa_(animalympics),4\nkirillk,1\nnedzu,4\nmukucookie,1\nklystron,4\nsickyicky,1\nthefluffyrey69,1\nprecum_on_floor,0\npeeing_underwater,0\nexperiment_pod,0\ntych0,4\nmeirune,1\nhazukashii_team,3\ndamien_hayabusa,4\nemoti,1\ncorsack,1\nplink,4\nvaaan,1\nyuna_(ffx),4\ngolden_snub-nosed_monkey,5\nlarathelabrat,1\nivona_(vrabo),4\nlanding_gear,0\nlumi_(mrnutty12),4\npattern_hoodie,0\nfransi,1\nhighland_psycrhen,5\nplasmoid_(lilo_and_stitch),4\nempty_eye_sockets,0\nworkout_clothes,0\nperegrine_pegs,1\nundone_belt,0\nakishycat,1\njulie_ann_irons,4\nnova-umbreon,1\ntourist,0\nknob,0\nyuzuki_(kame_3),4\nseaandsunshine,1\nglass_wall,0\npouting_lips,0\nclitoris_lick,0\nbelly_press,0\nkage,4\nkatherine_(reindeer),4\nleanfide,1\nudontarai,1\nnoah,4\nroswell_(password),4\nbrandy_(avogadrotoast),4\nshibadoodles,1\nthecrowartist,1\nweiss_(darkfox49),4\ngrowth_serum,0\nkatie_(fish_birb),4\nnotebook_paper_background,0\nguadr,1\njdanieloart,1\nbutt_kiss,0\nfire_performance,0\nmichisamael,1\nholding_swim_ring,0\nalec's_meerkat,4\nbranded_hem,0\nrobby_(beez),4\npizzacat_(zhanbow),4\nfelicia_lake,4\nbolf_(bo-lf),4\nashentail,1\ntarquon,4\nrest,0\ntrang_(furry_force),4\nshalulu_(enen666),4\ncommander_ryun,4\nringing_bell,0\nangela_flux,4\nshark_plush,0\nlin_elamura_(novaduskpaw),4\nnightwing_(shiro-neko),4\nid_badge,0\nsleet_(sonic_underground),4\nnipple_penetrating,0\nhellap,1\nisrael_(artesderatzyu),4\namarynceus,1\ntaped_hands,0\nshamanbr96,1\ngirros,5\ndis_the_fox,4\nlaura_(lddraws),4\nsalix_the_mossdog,4\nunluckypaw,1\ntail_burst,0\nconfusedewe,1\npickles_aplenty,4\nholding_cross,0\nbusybunny,1\nstatic_electricity,0\nlecerf,1\nyuzuki_yukari,4\nholding_art,0\nhorn_lick,0\nnikki_kofi,4\nno.1_machine,1\nposduroo,1\nmy_chemical_romance,3\nbdsm_room,0\nka92,1\npattern_pajamas,0\ntheawesomefoxguy,1\nchevka,4\nglowing_object,0\npampering,0\npiczel,3\nbutt_touch,0\ndomi_(altowovurr),4\norio_(character),4\nzukaro_travon,1\ncum_on_diaper,0\nvaguecreature,1\nhand_on_chair,0\nbells_(animal_crossing),0\npenis_sheet,0\ndiane_henderson,4\ngene_kruger,4\ngodseeker,4\nforced_spreading,0\nsketchywolf-13,1\nchikin,5\namanda_payne,1\nkrinn,4\ndeathlyinnocent,1\nkarishad_(housepets!),4\ndecko,1\nuchider,1\nanimal_bride_4,3\nvertigo_(primal_rage),4\nnaomi_(ajdurai),4\nbreast_massage,0\nbirdpawss,1\nleinad56,1\nyuri_(xdyuxd),4\nafrican_wild_ass,5\nokamiden,3\nryo-ohki,4\ncutesauce,1\nizzy_izumi,4\nsleepy_(character),4\ngundam_build_fighters,3\ngina_(darkspot),4\ndrakoilex,4\nartimas,1\nondine,1\nnessus,4\n1984,7\nolla,1\nagious,1\nandrox,4\nglowing_sword,0\nmerrymaladies,1\npj_saber,4\nboston_crab,0\ndrakvir,4\ngenesis_controller,0\nsnow-wolf,1\nconnie_(big_mouth),4\ngamukami,1\nfilthy_frank,3\nriask,4\nfangame,0\nkaito_(vocaloid),4\ndetroit:_become_human,3\nneckfluff,0\namber_(spicyocean),4\nblack_backpack,0\nbetsuto,1\nbeau_(starshippizza),4\nimpressionism,0\ncum_on_leggings,0\npaige_(mr-rowboat),4\nthesneakyzone,1\nzaffwyn,4\nkazuhira,4\nthefoxbro,1\nfully_restrained,0\ncorkiicorgii,1\nmonotone_crest,0\nnubruki_(artist),1\ntransformative_collar,0\nzach_the_wolf,4\ncolor_coded_text_box,0\nreverse_gryphon,5\njapanese_spitz,5\nmarcus_(orbitalis),4\nfanzeem,1\npaw_on_leg,0\nprince_gumball,4\ngeodat64,1\njackson_(zer0rebel4),4\ngarage_door,0\nshimomaro,1\ncostume_party_style_lucario,4\nfafnir_stardust_(artist),1\ntricorder,0\ntwo_tone_armor,0\non_box,0\npinkuunegai,1\ngreen_rope,0\nkai_(kaidzsu),4\nkushina13,1\nhyoudou,4\nkd_gai,1\nmetamorphosed_nermal_(kitty_pride),4\nthebunwiththescarf,1\ngame_weapon,0\npawsnfurs,1\nweapon_holster,0\nopen_hands,0\nstompsthecroc,1\nbig_floppa,4\namenia_(teckly),4\nforced_to_creampie,0\npixie_(pixie_and_brutus),4\ncrumb_(buizel),4\nfeng_lion,4\nmilo,4\ncub_(htf),4\nvoskhodart,1\nbottled_water,0\nben,4\nceleste_(disambiguation),-1\ngrey_shell,0\nkirtapsart,1\ntiffany_frost,4\ndebutante_trim_furfrou,5\nsnip_(marking),0\nfood_on_head,0\nsports_tape,0\nrinjiro3,1\ndildo_with_face,0\nyellow_lightsaber,0\nclubbed_tail,0\nholding_cane,0\nrubi_(stemingbunbun),4\nleg_focus,0\ndreamingnixy,1\ncandice_(quin-nsfw),4\nmonster_card_(yu-gi-oh),0\nslushy_(lilo_and_stitch),4\nchelizi_(diives),4\nender,4\nholding_bone,0\ntrick_rex_(artist),1\ngrammi_gummi,4\nhans_lewdington,1\nred_(fuze),4\nhollow_sex_toy,0\nheart_with_emanata,0\npablo_(pcraxkers),4\nsoiling_bottomwear,0\nkulbara,1\nartzilla60,1\ntwiss_(armello),4\ndaren,4\noh_exploitable,0\nknuxy,1\nkourney,1\nflein_silvermane,4\nbangcanine,1\nflogging,0\nstringmouse,1\nwhis,4\nmark_gilbert,4\ncocoa_(drink),0\nkb-unlimited,1\nbarrett_m82,0\ngoigoi,4\npilot_uniform,0\npurple_head,0\nshout_(artist),1\nplinkiepoi,1\nchesschirebacon,1\natlantica0208,1\ncalamari,4\nunholysoul,1\nrinkhet,1\nnightshroud,1\nedy_(inkyfrog),4\nvaako-7,1\ntrench,0\nalpha_(demon),4\nmare_in_the_moon,0\nelectric_eel,5\nraolinn,4\nhamsterball,1\ngold_ring_piercing,0\nwinter_nights,4\nazhax,1\nprofessor_virginia_burret,4\nnotsafeforwank,1\nnowi,4\nfreaking_out,0\nshelby_bunny,4\nrossy_(rossy105),4\nmarcie_montis,1\njakob_(megfluff),4\ncremekuma,1\neurofurence,3\ncole_(temptations_ballad),4\nskullcat_(sar),5\ntakoko_yakisoba_(combos_&_doodles),4\nmiriam_(starfighter),4\nhaze_(cyberblade),4\ntext_on_toe_ring,0\nloose_noose,1\nr4c00n,1\nmavis_delcat,4\nvoldrak,4\nhand_scar,0\narty_crop,0\nizabell_carroll_(forestdale),4\nheart_keyhole_bra,0\nthe_asset_(the_shape_of_water),4\ndietshantytown,1\nangart_(artist),1\nskymill_studios,3\ndigimon_data_squad,3\nelbows_together,0\nequine_penis_tongue,0\nmazda_mx-5,3\nskakdi,5\ngordon_(sailewder),4\npropaganda_poster,0\ntan_shoes,0\near_scratch,0\nblack_fin,0\nreferences,0\ntranslucent_water,0\nfroggiepaws,1\ntrunk_piercing,0\nkali_(disambiguation),4\nhypnolizard,5\nben_(disambiguation),-1\ngreen_screen,0\nriesz,4\nred_(redraptor16),4\nbluxen,4\nlunar_(series),3\nfelicity_(stargazer),4\nblack_leather,0\nfully_clothed_to_bottomless,0\nwood_chair,0\ngoo_tail,0\ncliffside_(series),3\norange_crest,0\naria_whittemore,4\nbrown_facial_hair,0\nsaberpaws,1\nzird,4\nwolfbear303,1\nred_baseball_cap,0\nidrysse,4\nbreasts_press,0\naromantic_pride_colors,0\ngardy_(oofrowdy),4\nice_bondage,0\nmysterywhiteflame,1\nlaught,1\ncopper_(character),4\noptixpanda,1\nkadzu,1\nhacker,0\nglass_dildo,0\nzenyatta_(overwatch),4\nushimaru,1\ncomputerdeathglare,1\nhorizontal_slit,0\nrachel_(ninja_gaiden),4\nanonopony,1\npsalm,4\nblank,4\nanimo_no.2,3\ntoku,1\nfurcollector,1\nairy_(bravely_default),4\nlilirulu,1\nlightstep,1\njago_dibuja,1\nfloating_on_water,0\ndieselpunk,0\nrena_dyne,4\nshira_skuehrem,4\nreptilian_penis,0\ninputwo,1\nmadou_monogatari,3\nforeskin_sheath,0\nslippery,0\nsixsome,0\nlegwear_webbing_toes,0\nnee,1\nbride_of_frankenstein,4\njjiinx_(character),4\nkeiko_(deadpliss),4\nbridget_(guilty_gear),4\ndudey64,1\nspooky192_(pixiv),1\nfuega_(velociripper),4\nsammy-upvotes,1\nskurry,4\noccam_(character),4\nfunny_post_number,0\ntrissyfen,1\nxneobeastx,1\nada_oz,1\nmintmonkey,4\ndigital-maesma,1\nshiira,4\nmarianne_(avencri),4\nsabi_(pyrewerepyre),4\nsomenity,1\nturquesa,4\nlukoi,1\nallosaurex,1\nzhengfox,1\nann_maren_(annmaren),4\nwyvern_humanoid,5\nsybil_vaadia,4\nrovak,1\necho_(overwatch),4\ntrefoils_(character),4\nrico_(vandclash),4\nturquoise_ears,0\nuna_(gargoyles),4\nsou_notamine,4\nclover_(violetgarden),4\nzetal,4\nspinstellar,1\nfenrik,4\nfoxene_(character),4\nelijah_zx,1\n8762e13,1\nbeautifulpanda20,1\njockstrap_pull,0\nbanzay,4\nrendy_maya,4\nspeech_box,0\nemerson_(edef),4\nshtarfish,1\nstickyglobule,1\nskin_fang,0\narched_soles,0\nlusty_symphony,4\n13:12,7\ncooper_(fuze),4\nraleigh_knight,4\nbhavfox,1\nkirby_squeak_squad,3\nstone_guardians,3\ndiesel_(evanskvrl),4\nlewdity,1\nkyoot_(snakedakyoot),4\nyxxzoid,1\nwaterlogged_diaper,0\nhybrid_pussy,0\nforced_oviposition,0\ngahiji_jager_(mr.edoesart),4\nbigboy4025_(artist),1\nmajimartbcn,1\nozawk_(character),4\nlunacatmia,1\nv_ig_v,1\nweapon_swing,0\nafro_puffs,0\ndark_link,4\nraspberrydragon,1\nzakiko,1\nbobtail,0\naoshi_kn,1\nbuutymon,1\nfull_frontal,0\ntally_nihil_(artist),1\nmars_fidchell,4\nbrown_mustache,0\ninstant_noodle,0\nuwunice,1\nblue_jumpsuit,0\ntorotheking,1\nsmagloosh,1\ndariusaurelius,1\nvaleria_(vestina),4\ntorfur_(torfur),4\nkily_(knives4cats),4\nnattsu_(kuroma),4\nhand_mark,0\nmikanishi,1\nchick_montblanc,4\nshit_eating_grin,0\ndew,0\nlicking_sex_toy,0\nolan_(nickii),4\nzipper_swimsuit,0\nlarc_(mana),4\nmass_effect_3,3\npeach_(rodent_powered),4\nprieda_(tekandprieda),4\ncinnamon_(undertale),4\npyrite_(ironbunz),4\noro_(oro97),4\ncrotch_plate,0\nroyal_australian_mint,3\niridius,4\nproportionally_endowed_male,0\nwinter_(nohmad),4\nfunahashi_yugoro,1\npedi_supea_(a140fox),1\nbaren,4\npenis_ring_(piercing),0\nadam_(pickles-hyena),4\nluna_(rex_santos),4\nbreeoche,1\nfantasyisland,1\npandora_(lopoddity),4\nmiffy,4\nhellosummers,1\nmissmillerz,1\neri_washington_(panzery25),4\nmasami_yoshida,4\nspringhare,5\nspiral_(character),4\ndemonic_eyes,0\nbloom_(warden006),4\ngnollbard,4\nriftryu,1\nf-14,0\nneguchi69,1\nbang_(space_jam),4\nzero,4\ndyers,4\npower_strip,0\ncalinbeast,1\nlynnelle,4\nxan,4\nkindness,0\nsdark391,1\nzdemian,1\nradoslav_kovsai,4\nhair_bows,0\nkricketot,5\nnaruto_(series),3\ngraphics_card,0\nladonna_compson,4\nxxxfurryneddyxxx,1\ntor_dog,4\nexonite,1\nflaerion,4\nduke_stallion,4\nmelody,4\ntrack,0\nobmeiste,4\ngorath_(character),4\nquib,1\ndraken,5\nrex_(mario),5\nfisk_black,4\nfishnet_elbow_gloves,0\ntricolor,0\nport,0\nwinged_cat,5\nhospital_room,0\nsarichow,1\nmild_hyper,0\nstarlight_spark,1\njosef_(lafontaine),4\nsavage_dragon,3\nnumpia,1\ncoway,1\njumpyneko,1\nsissy_boo,4\nangelwingart,1\npseudo_pupils,0\nvolcana,4\nmimi_(disambiguation),0\nhomeless_bellwether,4\ngomchichan,1\nvore_day,3\nxenozaiko,1\njojo_quote,0\nheart_piercing,0\nruffled_bikini,0\ntyrartist,1\nknee_spikes,0\nmika_(disambiguation),4\nminami_(piporete),4\nkiophen,1\nhyenalattes,1\npetina_demouse,4\n6heiang27,1\nlobita_(uwunice),4\nwhite_tusks,0\nwill_the_pokemon_trainer,4\nwa_lolita,0\nrainbow_pride_collar,0\nrobota_(tegerio),4\ntakathekitty,4\nlegends_of_runeterra,3\nazzyjackal,1\ndoran_(pixiv_artist),1\nprincess_and_conquest,3\nalpha_worship,0\nqueen_azshara_(warcraft),4\nwii_console,0\n<3_pubes,0\njokku,1\nbirbdrain,1\nexplosive_play,0\nshariea_(character),4\npacific_swallow,5\ndevin_arts,1\nateko_(sarybomb),4\njoenobody,1\npatched_clothing,0\nsage_kuwa,4\nhyacinthia,4\nkatalina_molathi,4\n6suan,1\nfishnet_footwear,0\nmeatroza,1\nimplied_violence,0\nflamboyant,0\niron_nicole,4\nteenluma,1\nfiona_(warcraft),4\nskrill_(species),5\nfallen_tree,0\nmechanical_pencil,0\nmanhole,0\nmongrelist,1\nlil-maj,4\nnialus,1\nsadonghao,1\nclogs,0\nketerok,1\nbichosan,1\nmfive_(artist),1\nlalavi,1\nibuo,1\ncamerannicephore,4\nthe_giga_competition,3\nregue_chicken,3\nkaiki_hito_ningen,1\nlittlelionman,1\nbluedy_(estper),4\npenny_(bolt),4\ndave_(beez),4\njeronmuh,1\ndaisy_(conker's_bad_fur_day),4\nleleo,1\nkira_sher,4\npoo_creature,5\nnostracon,1\nsypherus,1\nsage_(disambiguation),-1\nhookfang_(httyd),4\nglistening_dress,0\ndigidevil,5\nhooch_(cadaverrdog),4\nxbox_series_x/s,3\ncannonball_prey,0\nthe_dark_skull,1\nzees1,1\ngrey_belt,0\nfoggy_(foggyshades),4\ncitag_(citagalpha),4\nbramble_(katlovesshrimp),4\nthetransformistress,1\nflare_the_delphox,4\npride_color_belt,0\nkogino,4\nolivia_paprika,4\nfrilly_bikini,0\ngemsum,1\ncheckered_kerchief,0\nethereal,0\ntickling_breasts,0\nplaystation-tan,4\nkassis_orange,1\ntwo_tone_jockstrap,0\nkai_(desertmotels),4\nobscured_character,0\nverelle,4\nglistening_fingernails,0\nedd_(eene),4\ndetailed_anus,0\nookm,1\npyrce_(doxxyl),4\nbakvissie,1\nmacarroni,1\nvalavari,1\njade_(takkin),4\nglowing_saliva,0\nflight_goggles,0\nkuroi_kamome,1\nfanbox,3\nangel_(sayakat),4\nalexander_siegfried_wrong,4\nyakiniku,1\nhead_over_edge,0\nfrikinky,1\ncrouching_reverse_cowgirl,0\nthreaded_by_beads,0\njeffrey_burke,4\nplatinum_(arknights),4\nnevolsky,1\nsleepypandaburr,1\njhonnyseitgut,1\nfurry,-1\nrentcg,1\ntarantula_hawk_wasp,5\nmulticolored_head,0\nalec_(f1r3w4rr10r),4\nroyalbootlace,1\nsilcoon,5\nberibeardraw,1\nfinn_(theredghost),4\narcadepup,1\ntoongstar,1\nalpha_(james_howard),4\nchevrolet_corvette,3\nhand_on_own_ear,0\nlewis_resmond,4\nayla_(awesomenauts),4\nwhiluna,1\nagtaur,1\njamie_(mizzyam),4\ntina,4\nreddragon,1\noban_star_racers,3\nsp3ktr3,1\ndojo_kanojo_cho,4\nblackgryph0n,1\nsalon,0\nykoriana,1\nbliss_(character),4\nkumotta,1\nwasabi,0\nyifftrooper501,1\nstickymon,1\ntala_(tala128),4\npig-man,4\ndistracting,0\npawneddyfurry,1\nmandi_(touchmybadger),4\ncinder_wing,4\nferngully,3\nlulu_(grind3r),4\nseeker,4\nlondon,0\nzalgo_edit,0\nprince_vaxis,4\nanonanim,1\nsnake_arms,0\nruko,1\nwildhound,1\nyunaki,1\nardel,4\nazirik,1\nisaac_(tboi),4\ncbear624,1\ningrid_giraffe,4\nwater_nymph,5\ndarcian,4\njack_(colt3n),4\noinari,1\nshalien,4\nshoyru,5\nbarnyard_dawg,4\nimplied_penis,0\nbone_breaking,0\nsrklmsama,1\nkai_the_fox,4\nfilthy_perfection,1\nmecha417,1\nfutsutsukamono,1\npandaemondx,1\namonomega_(character),4\nvitamin_connection,3\ndizrahk_(artist),1\nkaiti_(piporete),4\nzebesian,5\nziats_(ziats),4\ntwo_tone_pussy,0\ndynomutt,4\nfluffy_duffy_(unknown6505),4\nningerion,1\nlabbit,5\nsnootydogg,1\ndontjudgemeimlonely,1\npursuers_(outer_wilds),5\nchestnut_mouth,0\nharaboudgg,1\nmatt_the_rain,1\ngynomorph_rimming_gynomorph,0\nhazel_(nullbunny),4\no-ring_swimsuit,0\nmetang,5\nlocopelli,1\nfawxythings,1\nlearning,0\nfrankieancelotti,1\nfarcuf,1\npower_play,0\npicorna,1\nmiaska_aleksandrova,4\nsleepysealion,1\nholly_(appledees),4\nbluebell,4\nicelyon_(character),4\nlavenderrose,1\nakita_stromfield,4\n34no404,1\nhead_nom,0\nbluelimelight,1\nphena,4\nhornymustardsauce,1\nroger_smith,4\nhelen_(lightsource),4\ngorelion,4\nmolkrom,1\ncoal_(tabra),4\nchewtoy,1\ndetonator,0\nraylude,1\ntype_null,5\nanimeclipart,1\nguffaw,1\nsmokescreen117,1\nuntil_i_scream,1\nsalvation,1\nkronilix,1\ntiki_torch,0\ncordie_(cliffside),4\nquvr,1\nlynnsnowmew,1\nkissing_belly,0\nxenthra_(anotherpersons129),4\nmervyn,4\nfpsblyck,1\nkyepon,4\nraku_700,1\nkazuhiro_nakata,4\nkerfuffle_(mlp),4\njasper_(kazeattor),4\nyen_(character),4\narilace,1\njdarts,1\nlemurfeature,1\nuneven_balls,0\ngonnaneedabiggerboat,1\nkea_(asaneman),4\nlucie_choquette,4\nkrixroos,1\ntech_tails_might,4\nhetore,4\ninfinite_precum,0\nbradley_baedjzer,4\ntucker_(wanderlust),4\nlewdishsnail,1\nthe_handler_(monster_hunter),4\nstareo_(sona),4\nsirdoomwolf,1\nfiona_(psyk),4\nrenny_(mr.mortecai),4\nradbmaboo,1\ndogfurno999,1\nfunnel_gag,0\naoihitsuji,1\nlef_(996cobalt),4\nnull404err,1\nswimming_in_cum,0\ncroconut,1\nnermal_(garfield),4\nbeatrix_(drzexxck),4\nnoctua_(grimart),4\nolive_(joaoppereiraus),4\nallison_(slither),4\nalice_the_slug,4\nelafi,1\n6_heads,0\ncain_(pickles-hyena),4\nnigel_(zummeng),4\nfeet_on_thighs,0\nbranchata_(vkontakte),4\ncappy_(cappyowo),4\npink_quartz_(gem),0\nmath_lady,3\nbrick_block,0\nharley_davidson,3\nshadebunny,4\npomegranate,0\ndragon_costume,0\n1_wing,0\nwookylee,1\nmajor_mitchell's_cockatoo,5\nnepomuk,4\ntractor_beam,0\nzippo_lighter,0\nnicol_bolas,4\nking_of_hearts,0\nthedracojayproduct,1\ngumroad,3\nthe_book_of_life,3\nlavitzskall,4\nbreeder_queen,4\nsalnith,1\nmilking_breasts,0\nj_(oc),4\nshaded_background,0\nmountain_kobold,5\nalternate_version_at_patreon,0\nradio4ctive,1\nfuturetankcrc,1\nquote's_mom_(quotefox),4\nhands_on_wrists,0\nmismatched_sexual_dimorphism,0\nneferkiti,5\narmiv,1\ntsukiya_(rajx3523),1\nflint_(qoolguyart),4\nheart_shaped_flare,0\nyan_wiah,1\nwrist_spikes,0\nguronolock,1\nfinnter_(e-zoid),4\nachievement_overlay,0\npancake_flattened,0\nelias_(wolfyama),4\nwontonrhino,1\nrandy_d_raccoon,1\nteabag,0\nmuscari,4\nmax_(pokémon),4\ndgenr,1\nlazlo,4\nthekzx,1\njoji,4\nfoxywolf,1\nenergetic,0\nrunny_mascara,0\njay_(daria_mcgrain),4\nvietnam_war,0\ncollapse,0\nseliron_(character),4\nblack_serafuku,0\nvanthrys,4\nmeowmavi,1\nnicole_(nic-m-lyc),4\nratboy,4\npafu_(exed_eyes),4\nneotorakuma,1\nsmile_hd,0\nnada_(nadacheruu),4\nalmond_deer,1\nreticulated_giraffe_(kemono_friends),4\nmobzylewd,1\nintersex_pride_colors,0\nmike_(disambiguation),4\nmoujya,1\nwuffe,1\nspider_wasp,5\ntammy,4\nsoro,1\nnot_by_me,1\nloki_(fluff-kevlar),4\nlingguang,1\ncatninja13,1\nshiranai,4\nfrankier77,1\nkinbou_soukai,1\nexploration,0\ngiorno_giovanna,4\njulee,4\nsigu,1\nyuki-the-fox,3\ndomino_mono,4\npiromane,1\nshakran,4\nbattle_cat,4\nrhythm_game,0\nstargate,3\nphenna,4\npink_hair_bow,0\ningrid_(extremedash),4\nnethartic,1\ncrossed_bangs,0\narm_wound,0\nclyde_donovan_(artist),1\nbunbuncreamery,1\ndarkeros,1\npaige_(tits),4\nmaking_porn,0\nsleepyscientist,1\nambiguous_penetrating_intersex,0\ndj_hazardous,4\nronny_(kloogshicer),4\ntiny_(disambiguation),-1\ndr._simon,4\neros,4\njaskenator7000,1\nmetalockdown_(artist),1\ngrimoiren,1\nanimal_crossing_pocket_camp,3\nsword_pointing,0\ngenevieve_susalee,4\nexposed_clitoris,0\nlucatiel,4\nflag_cape,0\nmythosart,1\nzoel_no_one,1\ndraft_(disambiguation),-1\nliko,4\nrob_(rgmbleh),4\nbashira_o,1\nnaofumi_iwatani,4\namily_(coc),4\nconversion,0\nhomage,0\ngramophone,0\narm_strap,0\nagainst_door,0\nmipedian,5\nrefraction,0\nharmonica,0\nshining_f,3\nmesser-aramis,1\nslit_piercing,0\npenis_between_thighs,0\ntwo-tone_scales,0\nbikini_skirt,0\nprimal,0\nlooking-back,0\nmelfur,4\nreligious_symbol,0\nocean_floor,0\nrivets,0\nkukri,0\nkoopa_shell,0\nashlynn_(kayla-na),4\ndisplacement,0\nmusic_box,0\ndoridian,4\nlit_fuse,0\ncellar,0\nkasdraws,1\nbirthnight,1\naira,4\nvond,4\nmobster,0\nmalicorne,1\njekka,4\ncotton_(coc),4\nlike_a_boss,0\nrenamonpaws,1\nthingrei,1\naky,1\nenig,1\nmacaroni,0\nchristy_(christykitsune),4\nfracture,4\njadoube,4\ndawn_(zapher),4\nlightria,1\nhurdy,4\nserule,1\nbridge_position,0\nhinia,1\nzaylin,4\nmagic_carpet,0\nenth,4\nushio_and_tora,3\nwitchness,1\nflight_jacket,0\nmatilda_(mlp),4\ngordon_ramsay,4\ntedry_(fox_and_dragon),4\nluxury,0\nkenji_mikazuki,4\ntiberious,4\nmelona,4\ngold_areola,0\ndomino_(artist),1\nstrifeheart_crescentmoon,4\ncorythosaurus,5\nhornydragon,1\ngamutfeathers,1\ntastytoxins,1\neyefuck,0\nnbowa,4\nspanking649,1\nmarte_(gaturo),4\nshorty-antics-27,1\ntara_strong,4\nrope_walking,0\nollie_baysch,4\nelroc_(character),4\nogura_anko,1\nkimpze_(character),4\nlazo,4\nbar1,1\nkattymouse,1\nmulti_pupil,0\nzorusky,1\nnadim_(elroc),4\nkeaze,1\nalpaccasneaky,1\nakah'nen,4\nchapiduh,1\nerk_gloom,4\ng1,3\nrussell_(htf),4\nhanging_upside_down,0\ncatscratch,3\nmitsuhakai,1\nyamsgarden,1\ngroup_in_panel,0\nkagami_hiiragi,4\nbrainsucks,1\njenel_silvermane,4\nopal,4\njoeycwolf_(copyright),3\ncorpus_(warframe),4\nmila_(president_alexander),4\npurple_heels,0\nweight_loss,0\nkeglunek,1\ninfinumf_(artist),1\nasderat,1\nyukito_sinion,4\nkonazarame,1\nslow_transformation,0\npolarfoxpat,1\nexedrus,1\nalex_(extremexworld),4\nzoey_v_(character),4\nstole,0\nmangoicy_(character),4\nmerle,4\nannie_(jeso),4\navantaberrant,1\nshootingstar,1\nforearm_tuft,0\nspitbug,5\nhilary_locke,4\njmy_(character),4\nlegionaire,4\nhanybe,1\nneemon,5\nbeavis_and_butt-head,3\nskyffan,1\nbutthurt,0\nkhanco,4\ncopper_top_(mlp),4\nyaxerins,4\ntweaker_(artist),1\nwilla_dragonfly,4\nlicking_sheath,0\nvimz,1\nshoresan,4\ndrchops,1\naarifleman,1\nkosyo,1\namagaeru_(hylathewet),1\nbutch_(animal_crossing),4\npandadox,1\nbelzeber,4\ndhelmise,5\nolive_the_other_reindeer,3\ngrineer,5\nmoaina,4\njaryl_(character),4\nbarabird,3\nladyjessica,4\nwildlifers,3\naraphre,4\njc_(lafontaine),4\njhusky,4\nmind_reading,0\nskeeve,1\nmilftails_(herro),4\ndarkpatito,1\nblossom_(solarbear954),4\ndemidelerious,1\nthe_fuzzy_princess,3\nmysterycrab,1\nkatey_rune-fang,4\nlaurel_lightfoot,4\nroden_(rodenbeard),4\nmablevi_eto,4\nbird-chan_(bebebebebe),4\nhomo_the_domo,1\nobamicon,3\nfellock,4\nlucemon,5\npandaischub,1\nsunnyleafeon_(mintyspirit),4\nskull_kid_(character),4\nbayernsfm,1\nfenghuang_(kung_fu_panda),4\nkilling_bites,3\nfratz,1\nred_goo,0\neyewear_around_neck,0\nlobotomy_corporation,3\ntmnt_2014,3\npikanjo,1\naria_calliope,4\ndanielsung,1\nsigrid_(oblivion),4\nprunuscerasus_(artist),1\nnumber_3,4\ncodras,1\ntaur_penetrating_feral,0\nwelsh_sheepdog,5\nglowing_feathers,0\ninnunammi,1\nlucy_the_comrade,1\neve_softpaw,4\nolivia_dusset,4\nduraludon,5\nkiro_(kiroyal),4\ngooeykazoo,1\nrex_(fours),4\nscaled_belly,0\nmasturbating_under_clothing,0\nmonarquis,1\nmerry_(animal_crossing),4\ndark_elbow_gloves,0\nsamantha_(samantha-dragon),4\nhands_around_waist,0\nbeastmon,5\nstriped_kerchief,0\nmiss_jenine,4\nscratching_self,0\nmagpie_igor,1\nsaranya_deerwalker,4\npawkaf,4\ntoxic_soda,1\nliuke448,1\nrez,4\nboyfriend_to_death,3\nmarshal_(serbiansockfight),4\nyellow_antlers,0\nblitzit,1\ndiboci,1\nhula_dancer,0\ngrumpy_feathers,1\nzephyri_q_wolf,4\nkolt,1\nenter_the_gungeon,3\nwxyjs1997,1\nwhored_out,0\ncourtyard,0\ndront,1\nlogan_(geckoguy123456789),4\ntheo_nyx,4\nfootpaw_hands,0\nregreto2,1\npaige_(snapshotstami),4\nholly_(lammynatrix),4\nart_mercenaire,1\nlaying_on_breasts,0\nphat_smash,1\nloot,0\nmeturem,1\nzapphira,4\ntrue_finch,5\nps4_controller,0\nfreja_vann,4\nfemboi_(lewd_can),4\nroxie_roux,4\npenis_squeeze,0\nmoria_parrell,4\npointing_back,0\ncalvin_(disambiguation),4\nurbanator,1\nfade_(koboldwrangler),4\nranlunghsu,1\nnurse_giraffe_(toybox_pals),4\nlazy_work_horse,1\nlewa,4\noculus_(brand),3\ndrin_(character),4\ntouching_own_butt,0\ntetae,1\nblack_accessory,0\nmerellyn,1\nbodily_fluids_from_penis,0\nyvette_(jigglephysics),4\nooe_senbee,4\ndetectivebubble,1\nken_dalton,4\nkrona999,1\nrhino_guard,4\nbreast_suppress,0\nmikeyama,1\nmadana9622,1\nhands_in_water,0\nhierozaki,1\nholding_letter,0\ntelkie_(patchkatz),4\nrain_flower_(cafe_plaisir),4\nstabbed_heart,0\nlamekun,1\nheart_sticker,0\nparadim,4\noscar_(olimacdoodles),4\nvales_(fvt),4\nemanuel_(ritts),4\nchick+a_boom,3\nhisseefit,1\ntan_jacket,0\nmatokiro,1\nfev_mutant_(fallout),5\nblue_curtains,0\nshit-tier-skunk,1\ndavenachaffinch,1\nbrown_chitin,0\nboyaka,4\ns_gringo,1\ngralo,4\npilot_(shepbutt),4\nbrother_fingering_sister,0\nmissmccloud,1\nbeach_volleyball,0\njerry_5779,1\nhoneyslushi,1\nvarra_(dragon-tear),4\nsnowcario_(artist),1\ncow_(petruz),4\npink_wall,0\nnessie_(submissivetrout),4\n100_variations,0\nbathroom_floor,0\nspicy_wahtte,1\nvm94,1\n1978_rainbow_pride_colors,0\nninjin_(ninjin_clash_of_carrots),4\nelysabith_(elysabith_maxima),4\ntommy_(tommybunz),4\nchitgor_daimei,1\nlangjingshen,1\ndonation_alert,0\nsolar_comet,4\ntouching_back,0\nwisespeak,1\ntwo_tone_bow,0\ndizzyt,1\nprivy,1\ncashmere_(cashmerix),4\npup_(puppyluxe),4\nshamenando,1\ngerovort,1\nhaylapick,1\nx0009000x,1\njasmine_(loneclaw),4\nshaded_sketch,0\numbralant,4\nwater_breaking,0\nemynsfw06,1\nlady_watamaraka,4\nbaltoy,5\ncody_(bastion),4\nbeam_rifle,0\ndevin_(onta),4\ngingie,4\nmalika,4\n18th_century,7\nyvonne_(lolzguy),4\nbasculin,5\ndiaper_inflation,0\nbatman_beyond,3\nfur_boots,0\nplebbles,1\nthroat_transfer,0\nsierra_the_eevee,4\nmio_(zaggatar),4\ngen_the_calico,4\nleviathan-29,4\nbuttertoast,4\nrockarboom,1\ncontingency,1\narvie,1\nxalda_(future_ver.),4\nechoeternal,1\nskyevixensartwork,1\ncum_peril,0\nrikyuu_quartz,4\nwarforged,5\nsmudgedcat,4\nstarfig,1\ncaptain-cheto,1\nbearpatrol,1\nmintgears,1\nblowup_doll,0\ndarzycat,1\ncrustle,5\nbelle_(lilo_and_stitch),4\njeff,4\nendless_cum,0\ntesting,0\nlemmings,3\nchombie,1\nkalika-tybera,1\njake_spidermonkey,4\nanonymoo,4\nlove_train,0\ncontainment,0\nsepticemic_(artist),1\ngrace_(chalo),4\npixels_bunni,4\nabraxas,4\nkaelith,4\nqueencold,1\nbarachaser,1\nwithout_panties,0\naidan_(koyote),4\nflookz_(character),4\nyotsubato!,3\nhiddenmode,1\ncassie,4\ncian_yo,1\nbongo_drum,0\nzant,4\nghouliegrim,1\nmr-punctual,1\nnegaren,4\ndeku_baba,5\ntess-27,1\nlorddarke,1\nzach_(gamerfox),4\narkbeast_(artist),1\nwolfenstein,3\ntaj_(kman),4\nkoishi_komeiji,4\nvacuum_pumping,0\nkoutou,1\nnoxor,4\naerusan,5\ndinamitecupcake,1\nkaioshin,5\njustice_(artist),1\ncum_in_toilet,0\ndarkyamatoman,1\nash_(fantastic_mr._fox),4\nizumi_mahiru,1\nspookysushi,1\nchinstrap_penguin,5\numbra_(k3ta),4\ngucci,3\npopgoes,3\ndakota_thunders,4\nforest_of_pixiv,3\nyotomoe,1\nrudolph_the_red-nosed_reindeer:_the_movie,3\nking_of_red_lions,4\nnina_(breath_of_fire),4\ntetsuro,4\nrufus_(-rufus-),4\nchairman_meow,4\npull-up,0\nliminalbean,1\nkemonngo,1\nsibsy,1\nkumbhker,1\nstrelka,4\nhideaki_(character),4\nmagic_spell,0\nnerevar,1\nenaeric,1\nclogged_toilet,0\nskunket,1\ntsarin,4\nmaine,0\nkryptonian,5\ncracked_screen,0\naudria,4\ndefiant,0\nnudging,0\njolan_joestar,4\ndefending,0\nbindle,0\ntechnijui,1\ntellico,1\nzuki,4\nfood_bikini,0\nfaith_(8chan),4\nsmokepaw,4\nblack_rose,0\ncrossed_fingers,0\nnose_touching,0\nshido_ya,1\nrabbit_vibrator,0\nequine_ears,0\nmind_alteration,0\nblacktip_shark,5\nps3_console,0\nveiny_pussy,0\nthatgrouchybadger,1\ntrilobite,5\nladyjekyll,1\nrilea,4\nwynnoa_(tolerain),4\nrenoit,1\nred_wall,0\ngary_the_snail,4\n1deathpony1,1\nkariga,4\ngavit,4\nkda,3\nalex_jager,4\nrooster_(the_secret_life_of_pets),4\nfoxidro,1\ntriangular_ears,0\nm9kndi,1\nmrs._wilde_(weaver),4\nzoosadism,0\nicarus_(darkgem),4\nscp-3887-b,4\nnekomata_ftnr,1\nsuikoden,3\nmicro_panties,0\nsalvia_carhina,4\nadam_(spottyadam),4\nvyrenn,4\naries_(zodiac),4\nfloaff,1\nlanie_bannister_(lildredre),4\nashwyn_natharadas,4\nandybear,4\nmarina_marshmallow,4\nyen_sign,0\npaper_(mlp),4\nkind,0\nrotodisk,1\nwunderhase,1\nchandra,4\ncopier,0\nsubaryun,1\npineco,5\nmoped,0\nkemonosuki,1\ncatapult,0\nunderarm_carry,0\ntygrus_(character),4\nswooning,0\novergrown,0\nskycrown,1\nbronze_(metal),0\nizuna,4\nblowtorch,0\ntisha,4\nvdru7,1\nonagi,1\nmetalgreymon,5\nschutzstaffel,0\ncatherine_(alpha-wolf),4\nthe_scream,3\nterra_the_troodon_(character),4\neverette,4\nrap,0\nsandybelldf,1\nimposing,0\nalura,4\ngreatredfoxwolf,1\naunt_polly,4\nclenching_toes,0\nmartin_bell,4\nnomozuni,4\nbloomth,1\ntentacle_cum,0\nkami_cheetah_(aja_williams),4\nferan_blackridge,4\ngorn_(species),5\nreese's,3\nzerpes,4\ntail_whip,0\ndenise_(meesh),4\ngnarlton66,1\nking_louie,4\nappmon,5\nkludge,4\nillaoi_(lol),4\nfenrir_(rrowdybeast),4\nnecronomicon,4\nnorijaga,1\ntimothy_fay,1\ndotaluit,1\nseraphimkitsune,4\nshiinotic,5\ncolesutra,1\nsan_(san_renard),4\nherculesrazor,1\nscrap,0\nbillieboypup,1\nkung_fu_cat,3\nlightly_breeze_(pony-way),4\npepperpkmon88,1\nclyde_(blackbear),4\nclovishusky,1\nclothing_gain,0\nelbow_on_table,0\ntrash_bun_(itsded),4\ndragon_knight_leon,4\nsyu,4\nwilm_(drawholic),4\nmonika_(klausd),4\nshe_scale,1\nmandu_kuma,1\ndj_booth,0\nnotafurrytho,1\nballs_on_tail,0\nafter_cloacal,0\nwindstraw_kidwell,4\njoey_(digitalpelican),4\nfenrih,1\namai_puwai_(character),4\nrulean,1\nlizzy_(fish_birb),4\nkiday_(kiday),4\nbachri,1\nspotty.cat,1\nkuro_(tzug-12345),4\npolitepuppet,1\nanther,0\nmay_harper,4\ndirtyt's,1\ncadenza_vivace,4\nillfang_the_kobold_lord,4\nannyglaceon_(mintyspirit),4\nthundurus_(incarnate_form),5\ntermiteterror,1\nluffsas,1\ntakeshi1000,1\npants_pee,0\nquestioning_heart,0\non_hands,0\nyellow_mongoose,5\nzoo_52,3\ncurved_arms,0\nblack_ring,0\ngoatboydraws,1\nribbonne,1\nnyanners,4\n1920,7\nmeadow_(meadow.dragon),4\ngreen_necklace,0\nsydney_van_der_boor,4\nverde_okuro,4\nheroin-burn,1\nbaraqueen,1\nperfect_cell,4\ninsides,0\nshoxxe,1\nterra_vi,4\ndis,4\nhan_drake,4\nnarric_techna,4\nken_(littlerager),4\nleiks,4\nwarumono_tomii,1\nalex_(lundi),4\nelsa_(brand_new_animal),4\ngay_bear,4\nshukinhekon,1\nwater_tentacles,0\nkillystein,1\npepperidge,4\nblushy,0\nelectric_toothbrush,0\nu.s._air_force,3\ntoumal,3\ntail_eye,0\nnanney,4\nwhite-beaked_dolphin,5\nglasgow_smile,0\nnatasha_(spotty_the_cheetah),4\nnoah_mcmurphy,4\nlex_(servalex),4\narflin_(species),5\nfulguris,4\nmelira_(pibby),4\non_plate,0\neliza,4\nbarbed_tail,0\nblood_on_stomach,0\nelectronic_musical_instrument,0\nherm_on_humanoid,0\nalyssa_kintana,4\nhal_(artist),1\nsawyer_snax,4\nazuki_(fortnite),4\nagainst_railing,0\nnumbered_heart,0\nmal,4\ndot_(dalmationcadet),4\nmyrotiggy,1\nlarissa_(lowrider-girl),4\nmoogie_(twistcmyk),4\nmako_(ketoarticwolf),4\ntribal_hunter,3\ngunzo,4\nresting_legs,0\nscuty_(artist),1\nsorin_(cabura),4\natta_catto,1\nboke_(bokensfw),4\njawful,1\npassenger_railcar,0\nyovi_thing,1\nzurianima_(yagdrassyl),4\nfarengar_dazus,4\nsam_(cobalt_snow),4\nmika,4\nnomax_(character),4\ncain_(superiorfoxdafox),4\ngimuza,1\nwisteria_bell,4\nbasdl2003,1\nchana_kim,1\nvanilla_(tirashanks),4\nprince_(gym_pals),4\ngem_(gemkin),4\nreallycoykoifish,1\nbusiness_card,0\nhair_heart,0\ntoru_(koalcleaver),4\nbrown_yoshi,5\ntied_to_tree,0\nnioh,3\nyukibuster-z,1\nviceviev,1\nbithurga,4\nbox-of-chalk,1\ncherry_feyre,4\ndetective_gammei,4\npenis_in_tentacle,0\nwalkway,0\ntek-fox,4\nnoruu,1\nhero_(snofu),4\nsmall_cabbage_white,5\ncookie-pone,1\nsadwhale,0\nnico_fluff,4\nlaiche,4\nkinfolk_(species),5\nwhite_cape,0\npetal_(kilinah),4\nlightningkimba,3\nellie_(zp92),4\nnekoeko,4\nbileshroom,1\nsomnacanth,5\ngrabbing_own_ass,0\ntorn_jacket,0\nbonkers_(vimhomeless),4\nzoey_(zoeyleafy),4\no0aquadragon0o,1\ngalvan_(ben_10),5\nbeastcub,1\nkomorebihebiart,1\ndark_sheath,0\norange_fingernails,0\nrick_griffin_(character),4\nbless_online,3\njames_cabello,1\nsphinx_taur,5\nmarya,4\nkira_(kira),4\neyes_rolled_up,0\naries_(symbol),0\nval_(valthejean),4\n0w0wer,1\npower_line,0\nbee_movie,3\ntwinkletwilight,1\nsleight_(jacksleight),4\nmulti_nostril,0\ndustbiter_(hurricane),4\ntinto_(artist),1\ncharonnix,1\namayasenpai,1\nfaith_miller,4\nafter_cunnilingus,0\ndetective_hat,0\ncelestiawept,1\npig_p0318,1\nwanderlustzing,1\ngrey_apron,0\ntedd77,1\nma-xx,4\nzawn_(character),4\nskirt_only,0\ncoronavirus_(organism),5\nhanging_by_legs,0\ntarnb,4\nthe_mist_walker,1\ndusty_(dustwolf),4\nthe_sea_beast,3\nblackgriffin,1\nmagic_item,0\nholding_package,0\nlewd_die,1\nvanilla_(glacierclear),4\nargiopa,4\nmgangalion,1\naban_wrench,1\nenoughinnocent,3\nsleepysous,1\ncampfire_donut,1\npiecing,0\nbig_hipped,0\nrymogrime,1\nacara_(neopets),5\nsuspension_bridge,0\nharrison_maker,4\nleg_on_side,0\nchip_(pickles-hyena),4\nizen_puppyfox,3\nyaoifairyxxx,1\noneko_takasuke,1\nana_margarita_(leviantan581re),4\nharima,4\nsandbox,0\nraihan_(pokemon),4\nfenderquil,4\nnoboru_(sakamata),4\nne_(nefuraito336),1\nsnack_food,0\nkoviell,4\nholding_switch,0\ndemi_human,5\nn64_logo,0\nigxxiii,1\ntorausimuma7,1\nefilon_draghi_(nolife05),4\nhuge_arthropod_abdomen,0\nbebe_bernarde,1\nlonich,4\nchowba,5\naries_(cheetahmen),4\nbiers,4\nminato_yuu,1\nnaviwavi,1\nhazel_(lewdshiba),4\nelias_bigby,4\nankie.,1\nghost_fox,4\npencil_holder,0\nchoco-floof,1\nturning_the_tables,0\ncrystal_dynamics,3\necho_(echoic),4\ncut_(wound),0\npandaking757,1\ncalie_(s2-freak),4\nflourish_glade_(pananovich),4\norange_boots,0\nliquor_bottle,0\nragnir_(brawlhalla),4\nmottled_balls,0\nshion_(that_time_i_got_reincarnated_as_a_slime),4\nblaze_monstrosity,4\nwhite_knee_socks,0\nkancho,0\ntettyamansp,1\nmeadowbrook_(mlp),4\nchase_(character),4\nalfred_krastgon,4\noculus_rift,3\neddie_(atlas_rysios),4\ncherry_(ztwidashz),4\ncaww,1\nelement_(zapcatelement),4\nhi-rez_studios,3\nmarius_(fursona),4\nback_horn,0\nphoenix_adverdale,1\nkobe_(luka),4\noreo_(kilinah),4\nkinkybird,1\nsoendapuss,1\ndizzi_(morhlis),4\nbikini_shorts,0\nmedusabold,5\nram_(deeroni),4\nblackstarv,1\nspicy-eva,1\nkasumi_(garasaki),4\nalfred0sauce,1\nticklegasm,0\nsleeveless_vest,0\nunion_jack_bikini,0\nethernsfw,1\nhalfbaked-hope,1\nellie_rinette,4\nmonotone_leotard,0\nokuri_yamainu,4\ntina_(nexus),4\ntaylorillustrated,1\ng41_(girls_frontline),4\ntidbit,4\nnin_(kimacats),4\nmako_mankanshoku,4\nhandles_on_back,0\nmori_(wittyusername),4\nmiko_(wolf-skoll),4\nfox_(figgylicious),4\near_flick,0\nxanadus,1\nfinger_on_face,0\nwhite_goo,0\noto,4\nao32686845,1\ntylor,4\nevan,4\nhydrowing,1\ngolfinho,1\nnera_abey,4\nbrad_carbunkle,4\ndumas,4\nchaos_star,0\nkoutanagamori,1\nlaguna_silverjaw,4\nspider_(minecraft),5\nstrangelymediocre,1\nvarlastreak,1\nemiechii,1\nfio,1\nmeal,0\nrickenbacker,1\nlykus,4\nphantom_chica_(fnaf),4\ndasaod,1\nxaniya,4\ntani_(tani_da_real),4\nthe_legendary_starfy_(series),3\natiratael,4\nviolet_(pnkng),4\nescoria,1\n3trees,1\ndawn_(decollie),4\ntrinity_(warframe),4\nava's_demon,3\nkirisha,4\nsyynx_(character),4\nicarus_the_phoenix,4\ngoagon,5\nfreedom,0\nembriel,1\nterraraptor,1\npercytheplatypus,4\nastr4ltr4in,1\ntiedup,0\nstanding_behind,0\nentoxia,1\ndanny_(anakuro),4\nwolky,4\nnaughtycactus,1\npainted_hooves,0\nkazzypoof,1\nkiyttani,3\nnanase,4\nsundown,0\nchutkat,1\ncanal,0\nnekrall,4\nv-sarg,1\narin_(letodoesart),4\nbeam,0\nnogitsune,5\nsemi-colon,1\n7-car-pileup,1\nroaringmoon,1\nmalice,4\nwolfsrain88,1\nhybrid-no.1,1\naleutia,4\nobelisk_the_tormentor,4\nmega_mushroom,0\nstormdragonblue_(character),4\nlamneus,4\nbxblazexd,1\ncrusader,0\ndogfight,0\nsynkardis,4\nheadlamp,0\nhooked_penis,0\nabyssal,4\nholly_(monster_rancher),4\ntsutsun,1\ngluttony_(kuroodod),4\nboa_hancock,4\nlong_day_at_work,0\nalchemy_stars,3\ncold_yellowtail,1\ndenatri,4\nshinozaki,4\naaron_(arlon3),4\npalace_pets,3\nmindless,0\nwakasagihime,4\njames_(kinojaggernov),4\nbeak_fuck,0\nisaac_(colonel_klink),4\nangry_koala,1\nhorse_lover,0\nsiggurd_bjornson_(character),4\nkubora,1\neelektrik,5\nskib,4\nnextime,1\nzara_(katnay),4\nzerbert,0\nblue-tailed_skink,5\nziggy_(wildering),4\ncanime,1\nponilove,1\nronindude,1\ngbrushandpaint,1\nfenikusu,1\n1uped-art,1\npirill-poveniy,1\nonce_upon_a_forest,3\ntyrannomon,5\nthe_batter_(off),4\nbayzan_(artist),1\njohn_wilde,4\nnaneki,4\nbutt_envy,0\nthexiiilightning,1\nkushishekku,1\nportia_(animal_crossing),4\nciel_(nicobay),4\nalice_madness_returns,3\nming_(shadowzero20),4\nkitti_belle,4\nsailor_jupiter,4\nrocking,0\nalyn_gryphon,1\nanal_beads_in_mouth,0\nblue_sphere,0\nbamumu10,1\ntoe_ties,0\nanimal_strife,3\nbarelynsfw_(artist),1\nmallowchu,1\nnox_(nox),4\npete's_dragon,3\nlukinda,4\ntan_cheeks,0\ntroglodyt-3d,1\nhiding_object,0\nnadeah_fur,4\njustdrox,4\nag-wolf,4\nphilippe_(oooinfin),4\nraenix_(species),5\nundermafia,3\nkatie_killjoy_(hazbin_hotel),4\nkumbomb,3\nabtp,1\ndekto_cat(oc),4\nlolicept,1\nlinklynx,3\npongotora,1\nyuki_(enotou_moi),4\nkatherine_(sem-l-grim),4\nkirinit,1\niideek,1\ngreen_towel,0\ncaillie-ann,4\nledge1606,1\naiko_makura,4\nsheep_costume,0\nace_(lilo_and_stitch),4\nduncan_the_aphid,4\nhenry_(henrycharizardboi),4\nraidak5,1\nmythological_nian,5\ngummibar,4\nkyssick,1\ncosmic_mane,0\nbuttplug_pull_out,0\nget_stickbugged_lol,3\nmanzanita,4\nicarus_(tjin),4\ndon_(slipco),4\npokéball_necklace,0\ntrashbinpanda,1\nrythmyr,4\nxexue,1\nsevered_testicle,0\nsiegerabbit,1\nlego_monkie_kid,3\npolka_dot_bow,0\npurple_(among_us),4\nk-vrc,4\nancient_dragon_lansseax,4\ngracidea_flower,0\ndusk_(duskdgn),4\nsexual_exploration,0\ndragon-storm,1\nshedon,4\nblack_powder_weapon,0\nstrigopoid,5\nleather_hat,0\nremi_(retrogear),4\nkaen_nakayoshi,4\nvalkaveri,1\nsilviaxrk,1\nskull_hair_accessory,0\ndigitalfurbelow,1\norez_art,1\nlip_sync,0\nkatja_(chimangetsu),4\nlime_(kemari),4\nsibithia_the_cat,4\nfox_girl_(ehs),4\nbig_mustache,0\nolaf_(animal_crossing),4\ngreen_storm_(oc),4\nmega_man_battle_network,3\nsourcherry,1\ndimsun,1\nwill_(wolfpack67),4\nlevi_(betaetadelota),4\nmorelia_(snake),5\naskknight,1\nzyro_(zyrothedragon),4\nmishark,4\neliatrope,5\nfalling_object,0\ngaze_indicator,0\nsquibble_(rabblet),4\nkarou_(thekbear),4\nmitzi_may,4\ncontroller_on_sofa,0\nshio_(quilava),4\nhair_on_floor,0\nelm_(glue),4\nmonokosenpai,1\nmia_rose,4\nkuroamekemo,1\nlaila_zephyrine,4\nemerald_(viroveteruscy),4\niamoddabellatay,1\nz_tsuruo,1\ntom_(1ceberg),4\nartians,1\ndebbie_(lewd_dorky),4\nhighware,1\n20_(skushi),4\nkarol_(lombaxtail),4\ntabunie,4\nphanterbull,4\ncelestian_(ashnurazg),4\none_horn,0\nzwishi,1\nsupported_leg,0\nmax_(maxpany),4\ncelestial_wolf,5\namamizu_sl,1\nnyxie,5\nuneven_legs,0\ncrystal_lizard,5\ngina_(satsumalord),4\nair_puff,0\nthroat_slitting,0\nglamrock,0\nfellatio_while_penetrated,0\nscream_(movie),3\nmanebaloart,1\nkuroshiba_nagomi,4\nkumari,4\npanne,4\niron_kodiak,4\nkazusa,4\nferal_noises,0\nmtmcats,1\ntom_(isolatedartest),4\nayumu_gouriki_(odd_taxi),4\nleaf_arms,0\nneonpeppermint,1\ntoriel_(altertale),4\nkingdragyn,1\nholding_both_shins,0\nbluelikestea,1\nfrost_(gyrodoodle),4\nsollarian,1\npaskanaakka,1\ncat-sith_(sao),5\ncooking_tongs,0\nelechtronshock,1\nolli_(sharkrags),4\nbunbijou,1\ndiscarded_swimwear,0\ndark_mask,0\nchillyspicky,1\nlilythekitsune,1\ncum_burp,0\nplug_when_not_in_use,0\nxenphira_hollyvine,4\nkushinadahime_(full_bokko_heroes),4\nggponk,1\nclara_(meesh),4\nbaiying,1\nskullbird,1\nazerith,4\norcane,4\nsoulwing98,1\ncandy_cane_in_mouth,0\ndress_bow,0\nskye_rackham,4\nmimicry,0\nanne_(arcnod),4\nlogo_censor,0\ngail_redmane,4\nstockholm_syndrome,0\nchoki,1\nbahamut_(dnd),4\norange_leaves,0\nheart_eyewear,0\ntight_bikini,0\nfreekiller,1\npink_liqueur,1\nreminnoir,1\nahdrii,4\nholding_jar,0\nendra,4\nwoods_(dreamkeepers),4\njacqueline_renier,4\nhypercawk,1\non_another,0\nmother_goat,4\nimminent_cock_vore,0\nseamonsterping,1\n0.05,1\nwhite_cat_(taku),4\napril_strongarm,4\nmandy_koopa_(slb),4\nrumble_randolph_(character),4\nthe_intern,4\ngolub1ka,1\neradossfm,1\nswimming_pool_ladder,0\nacanthurid,5\nknot_frottage,0\ningrid_(harry_amoros),4\nbrinstar,1\nkebi_(character),4\nkororoman,1\npaul_hayden,4\nneck_pussy,0\nholding_sandwich,0\ntree_humanoid,5\narakune,4\npooh_(kaboozey),4\nmonodie,1\ndiapered-buns,1\npinky_out,0\nmaximilian_acorn,4\nanges,1\nthespanker_(artist),1\nblack_pillow,0\nalexi_(alexithewerewolf),4\nmarlin,5\nthb886,1\ngreg_shepherd,4\nlucy_(cooliehigh),4\nrithe,4\nheart_belt,0\naegis_aurora,4\neli_(fleetwoodbrak),4\nmarshall_(shewiff),4\nsideless_dress,0\nphia_(impishhyena),4\nllama_(parasitedeath),4\nms._tiger_(toybox_pals),4\nflower_clip,0\ntight_speedo,0\nscarneck_(artist),1\nshelby_(chimangetsu),4\nvioleta_herrera,4\nnikki_(nikki_forever),4\nharpsichord_(artist),1\nkosame,1\nerica_(igph),4\nruzne,4\nsydney_(nobby),4\nminmiki,1\nadmiral_brickell,4\ndodogama,5\nicecreamwolf,1\ncharlie_mandango,1\none_panel_comic,7\nescape_from_tarkov,3\nwinged_yoshi,5\noliver_(striped_sins),4\nbig_outie_navel,0\nprimeleap,3\npenny_prickles,1\nanaeya_elizabeth,4\nluka_(lucario),4\nroc_(xenoblade),4\nregistereduser,1\nsarah_(simplifypm),4\njoid_(itisjoidok),4\ndraxial,4\nsqualiform,5\nnebulilac,1\ndickarmdaryl_(artist),1\nfelris,1\nbitesize_art,1\nhandlebarsprites,1\nkissing_forehead,0\nelder_lemurian,5\nnanbuskhan,1\nmtcerber,1\nmagmarift,1\nprowler,5\nweso,1\nhannah_artaje,4\npantyhose_down,0\njanitor_closet,0\ngoldlightyou,1\nazzy184,1\nwedding_garter,0\nneedle_rifle,0\nnoodle_(jolteon),4\nthedax_(character),4\nwuffeet,1\nkarma_(lol),4\nnocimon,1\nhotchkisstank,1\neris,4\nlucky_the_leprechaun,4\nava_seer,4\nbosomancer,1\ntentacle_dog,5\njoshii,1\namia_(backlash91),4\nretweet,0\nkae_goldeye,4\ntirantherex,3\nkenfoxx,1\nsquellac,5\npink_pacifier,0\nsummoner_(doom),5\nbloodletter,5\nthe_almighty_tallest,4\ncum_stains,0\njackiry,1\nomnitrix,0\nlarrydraws,1\nkrazen,4\nnekazzy,1\nimminent_suicide,0\nyasumitsu,1\nzoe_zamora,4\nyukikiba,4\ntanjil_skooma,4\nsashimi,0\npaintfox_(character),4\nsailor_venus,4\ngirtablilu,5\navery_(animal_crossing),4\nmircelio_(character),4\ncough,0\nunderage_drinking,0\nspitted,0\njaehnne,4\nliliel,4\nfidgit_(character),4\ngelatinous_cube,5\nzeroslash,1\nbarbed_girls,4\nperiodic_table,0\ndeath_(tarot),0\nred_button,0\nf-thefirst,1\nonion_rings,0\narakkoa,5\nfeeding_bottle,0\n2=8,1\nbarrzalex,1\ncelestiathegreatest,1\nanna,4\njoaobear,1\nhobgoblin,5\ncity_scape,0\nkubikitsune_(character),4\nbaby_carrier,0\npamela_(thea_sisters),4\nbun-bun_(aquabunny),4\nilleroi,4\nazure_(lemonynade),4\njudy_hopps_allegation_challenge,3\ndevilstophat,1\nsammy_(murrmomi),4\nhyundai,3\nloki_(cheatnow),4\ncharlie,4\nsquidt10tickles,1\nprimaldialga1992,1\nyzmuya,1\nshaving_cream,0\nmatthew_(oop1oop2),4\nnue_stargazer,4\nryver,4\ntrapped_in_socks,0\ndarama,1\nblizzie_(blizziethelion),4\nkarakusa.p,1\ngopher_chucks,1\ndelilah_aurelian_(fiftyfifthfleet),4\npurple_coat,0\nwolf_of_dreams,3\njapanese_armor,0\nbellylliumu,1\nslime_string,0\nnanozapz,1\npeppermint_(disambiguation),0\npacho_(olimacdoodles),4\nben_thompson,4\nshino_inuzuka_(full_bokko_heroes),4\nmaasdam_(zentagas),4\ncringecorecat,1\nmulti_tone_headwear,0\nscratchmarks,1\nnotamo,1\nzoom_out,0\nvalentine_(skullgirls),4\ndiantha_(zaviel),4\nselin,4\nmisentes,1\nred_cap,0\nartemis_bloodfang,4\nliving_scarecrow,5\nwia,1\nmilo_khembre,4\nhands_on_knee,0\nfuckallofit,1\npattern_wall,0\ncritter_catcher,1\ndoctor_noc,4\nhorn_point,5\ndeetr,1\nhumanoid_penis_with_medial_ring,0\nkazyan_(kazy0008),4\njanet_(vhsdaii),4\nhimerosy,1\ncassandra_(tabra),4\ntraitmill,1\nhau_(pokémon),4\nvtalfluffy,3\nsukarabe_ren,4\ntrace_(my_life_with_fel),4\nelfein_(character),4\nmoziqiao,3\nmorrigan_(morrigan_the_marwari),4\nenigma_(daltenigma),4\nnignogs,1\ngenital_theft,0\nclover_(1-upclock),4\n14:19,7\ngeneral_cataloupe,4\nkiwi_(mutantnight),4\nnightmarionne_(fnaf),4\npepperoach,1\nprincess_syalis,4\npublic_aquarium,0\nfelicia_cat_(character),4\nwhiskey_(redwhiskey),4\nmaraart,1\namayakasuneko,4\nbluescr33m,1\nmoth_lamp_(meme),3\naudition,0\ngarro_facebreaker,4\npikachu_ph._d,4\nfushigiboshi_no_futagohime,3\ngelus,4\nobjection!,3\ngravity_rush,3\ntorri,4\nfaymantra,1\njames_t._kirk,4\ncaltro,1\nmurskme,1\naulann,4\ncompsognathus,5\nkarr'serath,4\ncapital-h,1\nmocca_(character),4\nlunamon,5\nfleetingember,1\ntail_flick,0\nsoulofmusashi,1\nqueen_yamul,4\nkodalynx,4\nkyala,4\nin_memoriam,0\nneckbeard,0\nnorphen_(character),4\nraus_(recklessarts),4\nlani_(bcb),4\nflintheart_glomgold,4\nmercury_light_carbuncle,4\nrentham,1\ncovering_up,0\nnorwegian_elkhound,5\nalpha_(character),4\ncybersix_(copyright),3\nguardian_dragon,5\ndoggycoffee,1\nclassical_unicorn,0\nunwrapping,0\nmilo_(furfit),4\npahanrus2,1\ndanterain,1\nian_(drawdroid),4\ntrisha_(desmondpony),4\nordos,4\nptsd,0\nmizu,4\nmr._herriman,4\nfeather_mane,0\nfoxtrotarts,1\nfingers_spread,0\nakumademo,0\nexhaling,0\nfrazzle_rock_(mlp),4\nkahix,1\nollie_(spirit_bathouse),4\npholus_reborn,0\nkaku_(kluclew),4\ntraz,4\ncum_on_gloves,0\ncollection_tank,0\npink_marky,1\nmino,4\nscissor_blade_(kill_la_kill),0\ngrovyle_(asbel_lhant),4\ngolf_course,0\nmedigun,0\nlady_lo,4\ncomparison_bet,0\nyaktan,4\nagumon_(survive),4\ndoggiemonkey,1\nrickroll,3\npuss_in_boots_2,3\nyipkin,1\nmidriff_jacket,0\nms._green_(m_m),4\nfantasy000,1\nskillet91,1\ncatree,1\nryuma210,1\ndalmatian_father_(pickles-hyena),4\nbiscuit_(disambiguation),4\nwhite_freckles,0\nthurkitten,1\nmikosake,1\nbobby_(fluffy_gf),4\ndemichan,1\nthigh_scar,0\nstadium_lighting,0\ngiraffe_print,0\nwet_tongue,0\nraechel_jagger,4\nduda_(moki),4\nbexley_(scappo),4\np.r.e.g.,3\nrachellebun,1\nawfuldendart_(artist),1\nfiltrandez,1\nbicolored_tail,0\nantzy,4\nkitrosun,1\nleif_(helvetia),4\nsaltypantz,1\nathena_(megustalikey),4\nblack_sandals,0\nlia_(fluff-kevlar),4\ngosounokitsune_sonhaku,4\ntundra_(stellar_tundra),4\nprofessor_fluff,1\neifiemoth,1\nkiwikltten,1\nstar_tail,0\nanus_behind_g-string,0\ntdxlabs,3\ndeadboltreturns,1\nkrow_(miso_souperstar),4\nhibiscus_(thecon),4\nside-tie_bottomwear,0\nchris_(bluesh),4\nblender_(disambiguation),-1\nzol_(naniwacomteg),1\nthehashbaron,1\nfinikart,1\nbunta_(sisiwaka_3),1\nvakari,5\nmonsters_at_work,3\nacidic_saliva,0\nfluffy_feet,0\nfuton_(artist),1\ndei,1\ndante's_inferno,3\njesse_(neus),4\nmeasuring_cup,0\nkroxy,4\nunwanted_attention,0\ngrouse,5\naleksai,4\njessica_albert,4\nkonqi,4\ntjdolphin,1\nlongboard,0\ndetachable_arms,0\nmarineangemon,5\nfrankie_(modjo),4\nryker_(wildering),4\nlagoon,0\nryelletibun,1\nlesson,0\nmalfestio,5\nshadowfangz,1\njames_bond,4\ntassle,0\nchaos99,1\nsafira,4\ntaylor_(onta),4\nbarbariank,1\norange_blush,0\nblink_(artist),1\nhelen_(johnbrittish),4\nbobskunk,4\npyrite_(oc),4\nsyl_(psykrow),4\nmato,4\ntesla_coil,0\ntzarious,4\nplanet_of_the_apes,3\nymskk,1\nvelenor,1\nnightwind005,1\nkikivuli,4\naiza_(flashw),4\npara-dice,4\nbane_(species),5\nzhiral,3\nroland,4\npaulgq,1\nz-crystal,0\naron,5\nzooshi_(character),4\nahzi,1\npenis_harness,0\nmetal_skin,0\nshooting_range,0\nking_the_gengar_(character),4\nayelet_ripley,1\nageinu,1\ncorwyn,1\nenergizer_bunny,4\nflayra,4\nthaine_(character),4\nmalroth,1\nhead_kiss,0\nmuzzle_feet,0\nextra_fingers,0\nthe_wuzzles,3\nprotatypo,1\nlight_machine_gun,0\nrayne,4\nprime-l,4\nbaraaya,4\nzetaxen,1\ndasaki,4\nstorm_hawks,3\nporforever,1\nstaples,0\neaskull,5\ngou,1\nfang_out,0\niris_(twokinds),4\nmobile_suit_gundam,3\nalinu_(roadiesky),4\ndagger_leonelli_(character),4\nartbeta,1\nkvnpoulsen,1\ninakagurashi,1\nkaren_the_fox_(mexicommie),4\nforced_labor,0\nthroatpie,0\nmawarisaka_(character),4\ndominion_tank_police,3\nshizumoh,1\nkoge_(kogenta_blackfang),4\ndorothy_(artist),1\nsleeping_top,0\nyuriyuri_(ccc),1\ntentacles_in_pussy,0\namimalcrossin,1\nlatex_crop_top,0\nchelostracks,1\ncarmine_acciai,4\nhobbled,0\nsilicas,4\nbreath_control,0\nbrown_socks,0\nmummy_dragon,4\ngeoff_(yoshi),4\njennifer_bourne,4\nnighthead,1\npenta_(cum.cat),4\ntraxex_the_drow_ranger,4\nreina,4\ngatten,1\n3pac,1\nsonique,1\nsarah_n._dippity,4\ndigiknight,3\nlizette,4\npatron,0\nkitsyfluff,4\nemi_(character),4\nesdeath,4\ndunn,4\nvar'kel,5\nkaru,4\ntrolley,0\npentabins,1\nnotfornothin,1\nhicktown,4\nartomis,4\ntilo,4\noglaf,1\nwild_eevee,1\nsonicaimblu19,1\npedals_(pedalspony),4\noqtozille,1\ndesmond_sutherland,4\ncorgimarine,1\nzaiel,1\nfringedog,1\nsyria_(tid),4\npurrgis,4\nviolet_(limebreaker),4\nmiguel_(bgn),4\nnappana,1\nloopy_tuberose,4\nsinful_ink_(artist),1\npenna,1\ncheckhoff,1\ndetailed_penis,0\nmusouduki,1\npound_(space_jam),4\nfoxgirl83,4\nwilfred_butterton,4\nfoxosexual_(lane),4\nqueek_headtaker,4\ntrinanya,1\nyapo,1\nimminent_group_sex,0\nparfait_(dessert),0\ndormant_otter,1\nderpsickle,4\njabot,0\nthrough_window,0\ndaisuke_amaya,1\nelectronic_device,0\nkokoha_is_here,1\nhackel,4\nlux_(character),4\nbrother_fingering_brother,0\nnovaray,1\ndeegee,1\nchristine_bayle,4\nbrown_chair,0\nhoneyson,1\nnikkora,1\nsatoshi_(nakagami_takashi),4\natelierlily,1\ntyphoonteaser,1\nkrahs_tsai,1\nnessova_(only0neman),4\nshani_uzuri,4\nwired_headphones,0\nyaco_puma_striptease,3\naya_(thekite),4\nloki_roland,4\nnefitail,1\ncrunchyspoon,1\ntinder_skitty,4\ngurgling_balls,0\nshy_worgen_lady,4\ngris_vala,4\nzorro,4\nyamausagi0619,1\ndhole_(kemono_friends),4\npickup_(disambiguation),-1\nmonkey_wrench_(series),3\nstarling_(bird),5\nnagawa_tomo,1\nface_on_butt,0\ncutting_chipset,4\n13:20,7\ndasoupguy,1\nshugariosa,1\nmr_dark_and,1\njoe_(disambiguation),-1\ncelebrity_paradox,0\nemoji_censorship,0\nchichu_littlepaw,4\npenis_theft,0\nunsigned_nez,1\naviators,0\nbooster_(fuze),4\nknife_sheath,0\nprofessor_marmalade,4\nclutter,0\nsangguri_32,1\nfloor_lamp,0\ndmin,1\nlhacedor,1\nblue_makeup,0\nyamwamm,1\ndragon_quest_ii,3\ndarkraifu,4\nklavinova,1\ncheek_pull,0\nprincess_rei,1\nthe_flash,4\nkairiyu,4\nkenny_mccormick,4\naevsivs,4\ntora_(toradoshi),4\ncmaggot,1\nutx,4\nbad_friends,0\najumia,4\ncunny,4\nricky_(bleats),4\nendium_(character),4\nuneven_eyes,0\nsouth_africa,0\nfatality,0\nbanana_split,0\nslumber_party,0\ntsuki,4\nxenosaga,3\ndarkness_(konosuba),4\nchaosrruruus,1\nrufen,4\nmoe,0\nryosuke_ishigami,4\nezzie,4\nsasisage,1\njoducus,4\nember_(deathhydra),4\ncloud_quake,4\nwimbocs,1\nliving_ship,5\nstatic_(animal_crossing),4\ngilian_(character),4\nningenzoo,1\ngruntilda_winkybunion,4\nroadkill,0\nraskvel,5\nthe_cat_in_the_hat,4\nmysterious,0\nelwinne,1\nlotosu,1\nbetsythebeaver,1\ncrimson,4\nkusuda_korone,4\narios,4\nsnarbolax,5\naaros_(character),4\npahpreeka,4\ncassie_the_rock_vixen,4\njohannes_cuthbert,4\ndistention,0\nnekan,1\nvividred_operation,3\nfitz,4\nsanta_coat,0\nfeligris,4\nberserker,0\nhunter_(left_4_dead),4\nghost_rider,4\nrosa_pyle,4\nstella-chan,4\nlatex_socks,0\nnatsuco_7star,1\nada_carlia,4\nwolf_nanaki_(artist),1\nohfour,4\nskidd_(character),4\njelly_otter,4\npasspartou,1\nzennithm,1\nmultum,4\ncane_toad,5\nbanryu,4\ntwifoxy,1\nmisterbunny56,1\nexuli,1\ntapering_dildo,0\ncleyran_maiden,4\ntelim,4\nhyakkin,1\ncornish_rex,5\nsaber_(raevocrei),4\ndrayce,4\nchi's_sweet_home,3\nriorix,1\nhindu,0\nmistergre,1\nallegro,4\nkinglikeme,1\nagentmoose,1\nray_cyber_tech_(character),4\namerican_kestrel,5\njankingen,1\ndrayl_(character),4\nrear_pussy,0\ndrowtales,3\nasimos,1\nobix,4\nscylla,5\nb_j_bear,1\nnife_(character),4\nikkakumon,5\nsahak_darkcloud,4\nalternate_ending,0\nnekrozs_(character),4\nkeyhole_lingerie,0\nzika,4\nbyser,1\ntibolf,4\nvenus_the_hedgehog,4\ndr._heinz_doofenshmirtz,4\nmalani,4\nlucy_loud,4\ncara_black,4\nerro,4\nkaydee_ackland,4\nvaleria,4\nflossy,4\nvampony,4\nmouse_princess,4\nthe_feels,0\nhimawari_shinomiya,4\nsachiko,4\nzima_(arknights),4\nbreezy_(lotp),4\npuni_101010,1\ni_am_kat95,1\nourboiroy,1\ntrick_moon,3\nmagenta_(character),4\ncassandra_pines,4\nkuromu_(nekojita),4\njay_(jaythefox333),4\nderkeethus,4\nsweet_biscuit_(mlp),4\nonxel,1\nstereographic_panorama,0\nsaren_(saren662),4\nfingers_in_hair,0\nbig_shot_(splatoon),5\nflare_phoenix,4\ngz_draws,1\nchargin'_chuck,5\nderen_(kagami_valgus),4\nfae_(fire_emblem),4\nechto,1\ngold_ear_piercing,0\nlips_on_muzzle,0\nlicking_abs,0\ncarne_(inkplasm),4\npeach-,1\nalexis_(ketzio_and_gbb),4\nblack_slime,0\nniwa0w0,1\nfizzarolli,4\nnatasha_(mammaawd),4\nleaning_on_desk,0\nturned_around,0\nurbanica,1\nthe-crowfox,1\nokamical,1\nhappyraccoons,1\nayame_(zillford),4\naviesergal,1\nno_shirt,0\ndendollae,1\nwhite_outerwear,0\narchibald_thorburn,1\nren_(aceren),4\nstarwarriors,3\nuthalla,4\nigazella_(oc),4\nmicaxiii,1\nsalisha,4\nwet_arms,0\nspotted_swimwear,0\njerome_(ginga),4\nfenwolf,4\nrubber_thigh_highs,0\nmitri_rukin,4\nspike_(the_land_before_time),4\nfreezietype,1\nsweaty_neck,0\nporn_cover,0\nkyler_underwood_(avok),4\npine_squirrel,5\nveiny_hands,0\nbullbluedog,1\nlance's_dad_(kloogshicer),4\nbethany_blacksboro,4\nemsevell,1\nroop_(the_roop),4\nram_satinga,1\nmale_protagonist_(pokemon_sv),4\nholly_(aygee),4\nkassiradragon,4\nfan_tail,0\nweedymeadowfawn,1\nhoisxi,1\ntherapsid,5\npriscillia_(xilrayne),4\nmosh_(oc),4\nlinhe_(mklancer00),4\ndrinking_from_condom,0\nfish_boy_(elranno),4\nvicvance,1\nblackrabbitshone,1\nserenity_(leafysnivy),4\n1c_company,3\ndan_(paintfox),4\nlive_action,0\narm_pads,0\norlena,4\nversus,0\nelectrical_outlet,0\ncalot,5\nvelux,4\nsaina,1\nmastersounds,1\nfutalova1,1\nstudded_anklet,0\nhajinn,3\nfattydragonite,1\nspot_pig,0\ntorn_swimwear,0\ncroc_(petruz),4\ngeoffrey_the_giraffe,4\nmaicha_(briefgarde),4\nsmallking,1\nlinda_(james_howard),4\norenjimaru,1\nre_jin37,1\ndefense_forme_deoxys,5\nnew_world_vulture,5\nelex_the_smeargle,4\nstargrave,1\ncam,4\nmilkcat_(hataraki),4\nmicroshorts,0\nsrfkkk,1\nsergeres,4\ngardening_tools,0\nfrankensteinsmonsterfucker,1\ncrimestrikers,3\nkevin_(sff),4\nblossomblaze,1\ntouching_ears,0\ndawn_wings_necrozma,5\npudding_(jakkid13),4\nthokk's_daughter,4\nselen_tatsuki,4\noskar_(coffee.png),4\nr4t1cky,1\nwhite_sports_bra,0\ndiscarded_dildo,0\nhelen_sack_(savagelyrandom),4\nzannos,4\ndharma_(zeromccall),4\ndigimon_taur,5\ngao_53937056,1\ngecko_(fallout),5\ncum_in_tube,0\nmulticolored_pupils,0\ndouble_cervical_penetration,0\ninkoart,1\nelaine_budderbup,4\ngoblintown,1\n27:22,7\nmatt_(firekit),4\nfutaholic,1\nrudolph_trnd,1\ngreen_tree_python,5\ntent_through_fly,0\nmale_receiving,0\ninkgelato,1\nthemadrabbit,4\nalpine_ibex,5\nlutz_(lutz-spark),4\nzamuzaza2,1\nherm/andromorph,0\nmay_dog,1\nwolfen_(wolfracer559),4\nevan_(cloud_meadow),4\nren_hana,4\nbunonii,1\ntrixie_(eg),4\nyuka_(animal_crossing),4\ngajo,1\nnerts,4\nkabramari,1\ntreehouse_of_horror,3\nmarshal_moo_montana,4\nlinuell_s'eleross,4\nhang_in_there,3\ndevicre,1\nsamanya_mohatu,4\nd8,0\nbrooke_reed,4\ngamera_(series),3\nruby_(salkitten),4\nchazore,4\nhotlegmeme,1\npokeality_love,1\njulia_(ungulatr),4\naraiguma,4\nonigrift_(character),4\nadrian_alexander,4\ndark_spyro,4\nkanokon,3\ndarkria,4\notachi,4\ncrablouse,1\nrpadi,3\nlucky_and_chocolate_charms,3\narzuros,5\nmodestyshorts,1\ngondola_(spurdo),4\nlemlem97,1\ntina_rex,4\nmeoxie,1\nowen_(adam_wan),4\nspitroast_(object),0\nflarethedragon,1\nthe_mole_(htf),4\nquagga,5\nerra_(tits),4\ntaihab,1\nceiling_cat,3\ndavide76,1\nglenda_(trias),4\nboxice,1\nice_cooler,0\nmindora,4\nlena_lardoon,4\nlazy_amp,1\ngamer2,1\ntension,0\nookamicasha,1\nmilk_bath,0\nthe_mute_one,3\nstarry,4\nrichard_katellis,1\naiming_at_another,0\nteam_instinct,3\nkelly_(tits),4\nsashido_zerako,1\nshuna,5\nbaba_looey,4\nserandite,4\ntwinfox,1\ntruth_or_dare,0\nnaotohirai,1\ndanilo_correa,1\nblushing_penis,0\nflame_(pkmndiamond493),4\nkrideg,1\nti_(spazzyhusky),4\nb2u5n,1\nkinomikinobori,1\ncylynix,1\nsuzumusi114,1\nunicornblue,1\nconstipation,0\narcher_gilgamesh,4\nkawiku,1\nkitsune_drifty,1\nleno_woof,1\nmining_helmet,0\nnatalie_kintana,4\ntarsier,5\nspread_thighs,0\nverusha_(tits),4\nscarfshepherd,1\nsteller's_sea_eagle,5\njaynator1,1\nsonya_(averyshadydolphin),4\nschnuffelienchen,4\nlewd_lotl,1\ndaigo_kumano,4\non_heel,0\naki_(rilex_lenov),4\ntacoma,1\naria_stormwood_(frooby),4\nokochira,3\nfelicity_(rainbow_butterfly_unicorn_kitty),4\nlynxwolf2,1\nherm_focus,0\nanahi_viron,4\ntsubasagahoshi,1\nvalvi369,1\nerovsaaaka,1\ntacoma_(character),4\nasarimaniac,1\ndkdevil,1\nsexyspots,1\nelite_the_espeon,4\nurethral_all_the_way_through,0\nhong_kong_phooey_(character),4\nkalta_(blokfort),4\nunderview,0\nmoisesgrafic,1\nbottom_with_big_penis,0\nlobi_top,1\nwalmart,3\njude_williams,4\niwano.kal_(artist),1\ndale_(mykiio),4\ngū,4\nsegufix,0\nmetal_virus,0\nsuspended_lotus_position,0\nmaleherm_penetrating_female,0\ninside_shoe,0\nangel_lazzu,1\nsora_(warsgrasp),4\nraxel,1\no'hare_(animal_crossing),4\nsammy_(sammy73),4\nclub3,1\ngreen_eyelids,0\ncum_on_soles,0\nvlad_von_knottenburg,4\nanatomical_diagram,0\ndigimaru,1\nnox_(yajuu),4\ndisbelief,0\ncum_on_sandwich,0\nrestraint_device,0\nciderbunart,1\nskylar_(terq),4\nspacedog,1\nzipperhyena,1\nkobuchi_(524koki),1\ngreen_bikini_bottom,0\nhellfox,5\nzangtober_2020,0\nemadbz,1\nholding_shoes,0\nlittlethieflyra,1\nskaith,4\nkamalia_mingan,4\nsofthanten,1\ndemon_eyes,0\noh.chert,1\n\"meibelle_\"\"belle\"\"_renee_rougeux\",4\nvictoria_(arrkhal),4\ncaramelthegoat,1\nace_(ayukawataur),4\nbag_of_lewds,1\ncubism,0\nkansen,0\ntwo_against_one,0\npanda_(catkitte),4\nbunny_boy_(artist),1\nchance_(experiment),4\nstriped_beak,0\nheart_gem,0\ncedrato,1\ncrosner_code,1\nizuchi,5\nskoll_wernersson,4\nkisa_(donshadowwolf),4\nsquash_(fruit),0\nlitsi,1\nhowell_(ventkazemaru),4\nmousey_love_girls,3\nyopo9810,1\nfortune_(fortunefox),4\nweaponized_breasts,0\nyellow_heart,0\nbabyfier,4\nsiakstuff,1\ncaphound,1\nmulticolored_shell,0\nandro'neesa,4\ngaogamon,5\nmiitara,1\nmednia_vahl,4\nsteeb_the_boar,4\nsippy_cup,0\nasphalt,0\ntaiyaki,0\nkuro_lolita,0\ntext_outside_panel,0\njenokamui,1\nmegan_bryar,4\ngwen_(spiritfarer),4\nlouie_(jishwalob),4\nshota_fong_(character),4\nbasketball_jersey,0\npuko_(aggretsuko),4\nchest_plates,0\ntatugon,1\nisaaclou,1\nattached,0\nflaming_head,0\nbreast_sway,0\nholimount,1\nkraken_d'waggin,4\nheathcliff_rogers,4\nfruit_bikini,0\n6strife9,1\nflamey,4\ncuirass,0\nshyny,3\nying_(paladins),4\nsheath_pull,0\nandrew_swiftwing,4\naustin_abel,4\nvolleyball_court,0\npuppyloveimani,1\ngoldi,4\nko-shu,1\ndelvin_(character),4\nriperils,1\ncocoa_puffs,3\nnanodirty,1\nbloodline,3\nbloodhound_(artist),1\npatty_dangao,4\nfutalova,4\ndesignjh,1\nbyokiboy,1\nsplooge,1\nmonstrous_nightmare,5\ndisembodied_breasts,0\nimplied_prostitution,0\nlionheartcartoon,1\nzonuche,1\nmalboro,5\ntogenanafushi,1\nfireman's_carry,0\nemukon,1\nkanon,4\npatch_(101_dalmatians),4\nrod,0\nsucc,0\njking1200,1\nfurloid,3\ncalorath_(character),4\nsayo,1\nailin_gardevoir,0\nmadoc,1\nric-m,1\nadar_nasiykh,4\nnottesan,4\nshelmet,5\ngoro_majima,4\ndrega,4\nserendipity,4\noctopussy,0\nserendipity_the_pink_dragon,3\nholmssie,1\ntooca,4\nphenique,4\nbooou,1\nmysterymanbob,1\nsky_(xenonwolf),4\ndakr0819,1\nmozeeeeeeeee,1\nperokisu,1\ndomestication,0\ndier_von_dan,4\nzuri,4\nraindancer,1\narius,1\nzafo,1\nkatherine,4\ncorrin_(fire_emblem),4\nwaiting_in_line,0\nkoromon,5\nkayin,4\ntail_scarf,0\ninnards,0\njerking_off_hand_motion,0\nw.d_gaster,4\nbedpost,0\nflats,0\ndeviliveb,1\nricochet,0\nfrigidmidnight,1\ndominic_(redrusker),4\nchateau_de_monster,3\njaneen_brotherthat,4\ngreen_mask,0\ndubcub,4\namelia_(twokinds),4\nirotha,4\nanal_pull_out,0\nroom_701,0\nne_sun,1\nlittlemomoko,1\nshine_ali,1\nzenobia,4\nviga_(character),4\npepper_(lord_salt),4\ngroup17,3\nriven_of_a_thousand_voices,4\nkneeling_on_ground,0\nhands_on_another's_chest,0\nsillyfoxart,1\nsprinklepoo,1\nmcarspec,1\naltered_shadow,0\nlindy,4\nyumyumyeen,1\nkotya,1\nsuspender_skirt,0\nmsdeadsoul,1\ncyberjoel,4\nkamikazetiger,3\nsasha_(sashaviel),4\nbit_(bit-small),4\nvorgy,0\neuclid,0\nmarko_comics,1\ntwig_(umbra),4\nthiccrobots,1\nroropull,1\nbec_the_rabbit,4\ngrounder_(adventures_of_sonic_the_hedgehog),4\nnangi,4\nshambles,1\ncylus_karamele,4\nsaltwater_crocodile,5\nthefishe77,1\nvegetoid,4\nalice_the_vixen,4\nvaskurknsfw,1\nbushy,0\nrayna,4\nbbmbbf,1\ndr.p,1\naeris_(foxxd),4\ninverted_color,0\ncalliecho,1\nselva,4\nwolf_pack,0\nmed121,1\nslithice_the_naga_siren,4\nsuperman_(series),3\nscribe_the_grey,4\nsailor_suit,0\nlora_northstar,4\nredboi,1\nwolfeus,4\nmustang-blaze,1\nheresy-darling,1\ndodge_charger,3\nandgi,4\nlord_ocean,1\nratchet_zufreur,4\nchris-sowden,1\nlotta_lamour,4\nit's_a_trap!,1\nvita,4\ndaydream_kinamoto,4\nthewildwolfy,1\nbad_breath,0\nbee_(mykiio),4\nsnakegood,1\nravenpaw_(warriors),4\nmakkon,1\nzephir,1\ncum_on_tree,0\ntiare_mehran,4\nimiak,1\nyennsee_miller,4\nrielle,1\nezreal_(lol),4\nhaefen,4\ndieselblue,1\n1989,7\ntoe_cleavage,0\nemma_(emma),4\nofficer_pai_(miso_souperstar),4\nmercury_gray,4\nlight_headwear,0\ngabe_(onom),4\ntaint_lick,0\nraised_surface_support,0\nmeicrackmon_vicious_mode,4\nkongthegrain,1\nfrancis_(lost-paw),4\ndildo_in_slit,0\nhermaeus_xerxes,1\nd2_(marsminer),4\nmaku_(burrserk),4\nbirshy,1\ntakosen,1\nkorwin,4\nurine_on_fur,0\nbloody_bunny_(series),3\ntucked_shirt,0\nhornyartzsucks,1\nthreatening_aura,0\nashley_(shaymin),4\nsuperdry,3\nta777371,1\nshoolmail,1\njasienorko,1\nmomo_(mymyamoo),4\ncommander_d,1\nbeckerdobermans,1\nfirecracker,0\nzigs_(infinitydoom),4\nvore_transformation,0\npenis_fingers,0\nkeith_(kitfox-crimson),4\nlykan_(endertwinks),4\nhangetsu_(ko-gami),4\ngrex,4\ncourtney_gears,4\nbydena,1\nparkwillbark,1\nlandomcflurry,1\nogami_aratsuka,4\norio_(orioles03),4\nolive_(conker's_bad_fur_day),4\ntan_kerchief,0\ntail_through_keyhole,0\nzippy_(lunaris_parukia),4\ntoo_fast,0\nprincess_platinum_(mlp),4\nswitch_pro_controller,0\nlogan_(disambiguation),4\nkami_the_cat,4\nfolded_clothing,0\ndoomlard,1\ninteractive_porn_game,0\nblack_forest_cake,0\nlandlord_(wick),4\npan_red,1\nkalla_(snarlin),4\nkomugi_(lee),4\nlotus_(lotusgoatess),4\nsolopipb,1\nhungover,0\nwater_drip,0\nkimber_di_furetti,4\nmuroku,1\nkirk,4\nmorghus,4\ntoongrowner,1\njennifer_l_anderson,1\nbambi's_mother,4\nbizarre,0\njimmy_the_fox,4\nchaor,4\nclcoon,1\nshimajiro,4\nsuea_sowwet,4\nredevan_tauron,4\nsoloid,1\nsechs_fuckheaven,4\nskyress,4\nbyere,4\nbojiku,1\njake_(the_rescuers),4\nfumei,4\nblue_leg_warmers,0\npop_glace,1\nmana_(manahallowhound),4\nwingzord,4\nlexi_redd,4\nozone_griffox,4\nfynncat,4\ngku,1\nsebastian_(lemon_smoothie),4\ngrumpmuzzle,1\npaimon_(genshin_impact),4\nchildhood,0\nnoctobi,1\ncetancodontamorph,5\nfluffy_arms,0\nweon1119,1\ndt-b,4\ntouching_tail,0\nmikeyex,1\nsquchan,1\nkouhaku773,1\nirbeth,4\nandromorph_on_human,0\nadamayster,1\nhitting_head,0\nlizzard_ych,1\nmophingu,1\nn0b0dy,1\nred_gag,0\ncrooked_glasses,0\nblairtheglaceon,4\nbeaked_toad,5\nhiro_(toa),4\nthe_vermander_curse,3\njax_(yeen.queen),4\nkana_(ironkongstudios),4\nishan,1\nradar_(thetwfz),4\nparsujera,1\nalex_(ticktockfox),4\nnikki_(pogonip),4\nondatra,1\nandres_(elfein),4\ncatherine_(wolfpack67),4\nveiny_neck,0\nclara_(funkybun),4\nrupira,4\npriscilla_(slimshod),4\nchase_(chasedatotter),4\nsicklizardman,1\nschrodinger_(hellsing),4\nstretch_(alluringcryptid),4\nblack_wolf57,4\nkuon_(telson),4\nazimoert,4\naziran_(fluffybastion),4\nbuoy,0\nlopht_desarls,4\nlight_blush,0\nwhirlott_(insomniacovrlrd),5\nchubbyfurries,1\nashley_(warioware),4\nevil_hare_(monster_rancher),5\nboxofmonsters,1\nser_ori_tuft,4\ncum_in_urinal,0\nstardust_(vulpesfoxnik),4\nsangerla_(anselme),4\nmary_muffin,4\nbogard_(fate),4\ndizzy_(animal_crossing),4\nqoppa,1\n2tipsie4me,1\ndaria,4\nelly,4\ncoshi-dragonite,1\nsnuggly,4\ngreed_(kuroodod),4\nmstuarn,1\nargyle,4\nmakare,4\nsymbolhero,1\ndusty-pixels,1\nbearlylegal,1\nyougrover,1\nken_ichijouji,4\nurethral_vore,0\nmackeymike,1\nrobin_savage,4\ndrayjay,4\nelliot_(pete's_dragon),4\nlegionoftoast,1\nwazzart,1\nskewer,0\nfake_blood,0\nraptor_jesus,4\nballroom,0\njyaguti,1\ndiamondback_rattlesnake,5\nbrett_booth,1\nfox_gungrave,1\nleelee,1\ntynx,5\naydan,4\nbro_bun_(hladilnik),4\nvixult,5\nraella_(tluuvyen),4\ntoynuke,1\nlpawz,1\nmarcelo_canario,4\nsheila_(rocko's_modern_life),4\nthe_dakota_dude,4\nzett,4\nflattered,0\nbrummington_the_chipmunk,4\nspringtail,4\nben_saint_james,4\nbootz,4\nunown_d,5\ncolored_eyelashes,0\nrichard_vulpes,4\nred_outfit,0\nquirrel_(hollow_knight),4\nryotsuke,1\nvincent_(luvbites),4\ndark_jacket,0\nnasuno_(yosuke),4\nlocke_(spoongod),4\nalpha_(mating_season),4\nkabu_(pokemon),4\nflashing_penis,0\npalm_frond,0\ntan_legwear,0\nutamu_d28,1\nskal_maneater,4\nlantu_(artist),1\nemilios,1\ndelta_(hardtones),4\ndoughroom,1\nfully_submerged_tentacles,0\nalex_delobo_(character),4\nemufur,1\njasy,4\nanthony_caligula,4\nezra_(dookfiend),4\nsaliva_on_tentacle,0\nmermaid_position,0\npolygenerational_incest,0\nsitting_on_character,0\npinky_(doom),5\nhands_on_own_ears,0\nrocket_wisp,5\nsinatzeek,1\nspinel_(steven_universe),4\nhachimaki,0\nenia,1\nfoot_on_furniture,0\nmawfulme,1\nsunelchikito,1\nindigo_(useful_bear),4\njack_sunshine_(oc),4\ncube_wisp,5\njuicestandmango,1\nkatauri_interactive,3\nslasher_(dead_space),5\nthe_legend_of_luo_xiaohei,3\nkaiden,4\nwicpers,1\nshelly_(skullman_777),4\ndownward_dog_pose,0\ndevilbeing_(artist),1\ncommodore_international,3\nblack_miniskirt,0\nback_door_bat_(nokemop),4\nslavekini,0\ncolored_seam_briefs,0\nmackerel_(fish),5\nleila_(playkids),4\nhozunomi,1\nfalling_asleep,0\nphoto_album,0\nhop_pop,4\nhowl_(grimart),4\nffloofball,1\ncuckoo_clock,0\nddguy,1\n20daysapple,1\norioz,1\ntanning_lotion,0\nrubber_mask,0\nvol'jin_(warcraft),4\nstack's_womb_marking,3\nbalancing_object,0\nholding_snout,0\nred_headphones,0\nlight_jewelry,0\nthorinblender,1\nnadja_(borba),4\ncardueline_finch,5\nvarzek_(character),4\nspek,4\nkatia_(demicoeur),4\nlight_censorship,0\n\"melinda_lou_\"\"wendy\"\"_thomas\",4\nhearth,0\nsweet_tomato,1\narte_(r-mk),4\nmillie_(satsumalord),4\nkalibus,4\nwelling_tears,0\nbody_oil,0\nholding_feather,0\ncardueline,5\nthanuki,1\nradar_chart,0\norphira,1\nbun-e,1\nred_boxing_gloves,0\nsnowleandre_(artist),1\nmrkeypoo,1\nrussian_hippie_vixen,4\nblood_on_fur,0\nsnowpaw2927,4\nstephan_(spacebunz),4\ntraditional_moogle,5\nkoukysato,1\nxama_pro,1\nzillionaire,1\ninkohaulyc-1,1\nsollux_captor,4\nraytee_lee,4\nchase_cartwheel_(oc),4\nsuper_robot_wars,3\nnova_grimm,4\nvyriss,1\nislamic,0\nolivier_oswald,4\nthis_isn't_my_horn,0\nwayward_vagabond,4\ninsecure,0\njean_jacket,0\nbraindps,1\ndragon-chan,1\npaige_forsyth,4\nrachel,4\ntritus,4\ndon't_tread_on_me,3\nleg_cross,0\njake_(scorpdk),4\nuba,1\ndaddy-o,4\nrenu,4\ngindo,5\nhyper_mess,0\nincendramon,4\netezarumonkey,1\nfucktoy,0\nmao_(chirenbo),4\nallan_mcdougal,1\nterrykurosu,1\ncat_gloves,0\nlillablu-e,4\nzygarde_complete_forme,5\nsashikari,4\ncoraline_loret,4\nweredragon,5\njolaris,4\nisithael,4\ndemiveemon,5\nup_(film),3\nmalith_volskov,4\nwormadam,5\niahfy,1\nhammer_bro,5\nmakochin,1\nelektro_(maxwell1394),4\ntsukunertov,4\npaddy_(artist),1\nwall-e_(character),4\nfred_flintstone,4\npuffy_short_sleeves,0\ndarth_the_fox,4\nhashire_(character),4\ntheman,1\nkhraym,4\narlo,4\nthe_melancholy_of_haruhi_suzumiya,3\nmech_suit,0\nhyruzon,1\nreddyeno5,1\ngingerm,1\nnada,4\ncreature_from_the_black_lagoon,4\ntiny_bunny,3\ndaloon,4\nfreya,4\nlumi_the_lizard,4\nashi,1\nhitman_(series),3\nspritztheskusky,4\ndarkfire,4\nryoji,1\nlass_(pokemon),4\nrobin_(silkysworld),4\nbadmanbastich,1\njahgo,1\ngene_starwind,4\nstormwolff,4\nrobot_chicken,3\ntongueplay,0\nminamoto_chizuru,4\nwolfoxokamichan,1\nkarakina,1\nhanekumo123,1\nsmogyday,1\ndanae,4\nbackalleyfallz,1\ncompound_bow,0\nzeek,4\nclothing_store,0\ninkasylum,1\nrad_(notsorad),4\nshiki,4\nace_(kacey),4\ntux_the_penguin,4\nrainbowscreen_(character),4\nthoran,4\nstop_motion,0\nhand_on_own_wrist,0\nfoxmon_(dgfox),4\nwhiplash_(game),3\npurple_line_art,0\nblaze_(blazethefox),4\nultrakill,3\notn,0\nnyupu,1\nglaze_(thepianofurry),4\nmother:_cognitive_dissonance,3\nlyla_the_honey_buzzard,4\nmercy_leaf,4\npsycheapple,1\nmaggie_(justkindofhere),4\nmikeknight19,1\nmanbun,0\npith,4\nseashell_panties,0\ndaddy_pone,1\npearbottom_(oc),4\nlifting_object,0\ndezi,1\nalmighty_tallest_purple,4\nseshafi,4\neverruler,1\nrawr_(artist),1\nhelena_douglas,4\nknighthoof_(oc),4\nlipstick_smear,0\nsuper_soaker,3\ndemarticusstone,1\ngizee,4\ncelierra,4\nodahviing,4\nhoser,4\nneifaren,1\nkoku_(kokurou),4\nmaiden,0\njollysaunter,1\numigarasu,1\njustinfox,1\ncold_penetration,0\nmattdarey91sfm,1\njones_tsunamidusher,4\nyaku_zorah,4\nmumm-ra,4\nkirianna,4\nbadfidhell,1\nfleurdeiris,1\naudience!,3\njupiter_(planet),0\nmetal_bar,0\nhyper_lactation,0\nzozia,4\nekg,0\nmuffin_top_(underwear),0\ntamarik,4\nbaiken,4\nlillium,1\ng-spot,0\ncarbinecat_(character),4\nnyrumx,1\nruben_(zaviel),4\nking_richard,4\njamari,1\ncandle_holder,0\nnational_geographic,3\nstarving,0\nkenox,4\ntail_in_pants,0\nkoume_keito,1\ndoor_knob,0\ntweaker,4\nkuritama,1\nalvia,4\necchi_graffiti,1\nabsolutely_everything,0\nkishin,4\nnorthern,0\nsaebira,1\nsucy_manbavaran,4\nkristofferson,4\npaloma,4\nacephlosion,1\nsredrahs,1\nfloccinaucinihilipilification,1\nneko_musume_michikusa_nikki,3\nyuki_nexus,4\nfraggle_rock,3\nnora_wakeman,4\njamie_lamont,4\ncinnamoncookies,1\nandean_mountain_cat,5\ndelta,4\nsilber,1\ndrugbat,4\nkori,4\npyxaron,4\nlou_(stripes),4\nfitz_(xandispin),4\nlargehadronkalidah,1\ntrancesequence,1\nmott_(animal_crossing),4\nfetish_gear,0\ngrunt,5\nnaote,4\nphyore,4\nltl,1\nmasterxxxl,1\nancientbot,1\nwimpod,5\nkthanid,1\ngeckomania,1\nthepurplemaniac,1\n102_dalmatians,3\nroxie_raccoon,4\nrain-fox,1\nallene,4\nso_(artist),1\ntodd_(ttrf),4\ntheboundraccoon,1\nfrigadae,1\ncot,0\ncloud_(amaterasu1),4\nkitsoone,1\nandrew_(dragondrawer),4\njenni,4\nnoise,0\noff,3\nvivi_(malis),4\niron-dullahan,1\nfunhentai,3\naries_passadar,4\nthe_cleveland_show,3\nscath_schattenklaue,4\nschwertwal,1\nfuvi,1\nryn_iiskra,4\njaime_sidor,1\najie-g-sketchbook,1\nrumiko_nonaka,4\nconicer,1\nwhite_lipstick,0\nchevre_(animal_crossing),4\npatreon_censored,0\nthevixenmagazine,1\nfajeh,1\nmega_latios,5\nbanzai_bill,5\ncardboard_tube,0\nmila_(powfooo),4\nnokino_k,1\nschopenhauer,1\nmarlo,4\nchobi-pho,1\nlilith_(sefeiren),4\nclexyoshi,1\nshanet,4\ntaz_(facebook),4\ne-102_gamma,4\ngeogreymon,5\nnonchalant,0\nelva,4\nzalsfm,1\ncattleya,4\ngrilled_cheese,0\njuice87,1\ndarumaka,5\nnekole,4\nmisterdavey,1\nlacgl,1\nfiat,3\ngurdurr,5\nbutakoma_300g,1\nzakoryu,1\nnikkisheep,1\nritwell,1\nkakashi_hatake,4\narunax,4\nmrs._squirrel,4\nda_boz,1\nravica,1\nrika_(recklessarts),4\nphantom_thief,0\naverious,4\ngdane,1\nelektra,4\npugna,4\nrunei_worth,4\nbonbonboy,1\nlawlspasm,1\nclifford_tibbits,4\ncandide_(amazinky),4\nstepsister,0\nmidnight_rampager,1\ncumulus_(character),4\nsilverferak,1\nstandard_mode_darmanitan,5\nchainilla_(artist),1\nsayunu,1\neleven_frame_image,0\npotion_name,0\nhands_on_shin,0\nwebb_(neko3240),4\ncoombrain15,1\nextremely_distracting_watermark,0\nchibiemiko_(artist),1\nbatboybasil,1\ncrying_sound_effect,0\nworld_trade_center,0\nfreya_(zavan),4\nvoogaroo,5\nlap_pillow,0\npretztail,5\nava_(azura_inalis),4\npink_(among_us),4\nkagekave,1\nrye-beer,1\nnatasha_(copperback01),4\nwindreg1,1\nmaster_panda_(comic),3\natom,0\ndirtytabs,1\ndark_grey_hair,0\nqurnix,1\nongi,1\niynize,4\nmacroceli,4\nbailee_(nikoyishi),4\ntori_cro_(bistup),4\nabdominal_piercing,0\njovejun,1\nskriddha,4\nkirby's_return_to_dream_land,3\nwhite_lab_coat,0\nsemi-trailer_truck,0\nbunnydewart,1\nakkoarcade,1\nwiskar,4\ndobermann_(arknights),4\ndangling_leg,0\nedan_(irishkofi),4\ncaffeinatedsins,1\ntaiyo_no_hana,4\nninn,4\nfatkylefat,1\ndoriangolovka,1\nflower_bed,0\nlatiospegasus,1\njakiel_blacktusk,4\nkai_(disambiguation),4\ncryowolf9,1\nsprrigs-,1\ngwendolyn_ruby,4\nayla_(saphe),4\nperesum,1\nsheepish_grin,0\ntltechelon,1\n5_horns,0\nmothersatana,1\nblack_lagoon,3\ndreamtanker,1\nhello_kitty_panties,0\napolar_(apolar),4\ntesshin_(ginga),4\nalysha_silverwing,4\nbladed_tail,0\nmetaphor,0\nqueentexx,1\nhunter_(the_owl_house),4\nfun_bun,4\nperu_fur,0\nkelly_(delta.dynamics),4\nfanny_mcphee,4\nblake_dinewel,4\nquinn_(behniis),4\nhanzou_(tetsunoshin),4\nerebus_(giygaswar),4\nsexy_robot_(hajime_sorayama),4\nceleste_(roughfluff),4\nfull_body_view,0\nmr.woodsman_(dalwart),4\nthe_maid_(petokikka),4\ndouble_entendre_(character),4\nkaila_(scappo),4\naaden_(angellove44),4\ntimet,4\nguitar_hero,3\nbondage_straps,0\ndrimogemon,5\ngrind,0\nguts_(berserk),4\nginga,4\ndaikikaitou,1\neli_(captain_nikko),4\nluniquekero,1\nkiska_romanov,4\njuba,1\nahkahna,1\nadria_(adleisio),4\nsonson,4\nacacia_prium,4\nleo_altum,4\nlewdbyaj,1\nunik,1\nmarie_(funkybun),4\nlaikacat,4\nlicking_back,0\nmilk_tank,0\nensafir,5\nrenoahemiru,1\nmarwari,5\nbunnyadmirer,4\nanu_and_syl,4\nthe_lizard_(marvel),4\nal-x,4\nlinsaya,1\nchubbypandabastard,1\nthekaimaster07,1\nyiffmachine,1\njessi_(slither),4\nrickwulfk95,1\nxavier_jascoe,4\njeffron_purescale,4\nheart_lock,0\nskye_(acetheeevee),4\ncharlie_(jurassic_world),4\nktdz,1\nfan_dance,0\nanubis_(mge),4\npolaris_(crackers),4\nsadako_(leokingdom),4\nillbarks,1\nkastronome,1\nhands_behind,0\npetra_(hotkeke1),4\nzenonclaw,1\nmanifest,1\nlog_(dog),4\nmeus,4\nvita_console,0\ngrani_(arknights),4\nflammie_(furamit),4\nkaosu0195,1\nlancer_cú_chulainn_child_of_light,4\nyuel_(granblue_fantasy),4\nstripes_(copyright),3\npink_blanket,0\nmilky_bell_(slb),4\nomicronian,5\nsp-rings,1\njag_(artist),1\ncao_haze,4\nellen_(beastars),4\njunthebun,1\ntavit_khalil_(spiff),4\nikomochi,1\ntachaal,1\nspakka5,1\npuredarkness500,1\ntensazangitsu,1\njerome_(kokuhane),4\nboss_hosstrich,4\nrebe-it,1\nnil_sunna,1\nsupporting_head,0\nsuzanne_hayabusa,4\nelf_hat,0\nfurfurric,1\nflint_(vir-no-vigoratus),4\npianitchi,5\ndeath_threat,0\ngaf1117,1\nveiny_dick,0\nvintem,1\nunown_i,5\nmetal_shield,0\nhypnotic_screen,0\npiggy_bank,0\npower_up,0\nscrub_brush,0\nstar_catcher_(pre-g4),4\nworld_of_warcraft,3\nkerock-ketu,1\nsmsq,0\npeewee_(mlp),4\nsunny_bear,4\nsex_talk,0\nrockman_(species),5\nelemental_games,3\ntundra_wolf,5\npushed_down,0\nclothing_bulge,0\nsuperfilly,0\ninayori,4\nlong_tails,0\nboys_taken,3\nclothes_falling_off,0\nmorose_ambrose,1\nunder_view,0\ncoffeelsb,1\nwetness,0\npants_aside,0\ngreen_chair,0\nchakat_blacktail,4\nsplattershot,0\nsilly_straw,0\nrosie_(ionic44),4\nthenekoboi,1\nhelen_lorraine,4\ntitle_drop,0\nfeic,4\ninterest,0\nflounder_(disney),4\nbladecham,1\nprawn,5\nearthworm_jim,4\nbreezy,4\nkarishad,4\ntabby_(animal_crossing),4\nflehmen_response,0\nyasha_greenpaw,4\nrandolfsparks,1\nbranch_(artist),1\nabhishri,1\nfuzzy_lumpkins,4\nkaylee_(xenium),4\nschool_daze,3\nmirror's_edge,3\nironclaw_(rpg),3\nfrogger,3\nxanthus,4\nshiv,0\ncamilla_(fire_emblem),4\nchelsea_myriad,4\nninjatertel,1\neclipse_(gabe),4\nfujiwara_no_mokou,4\npaparazzi,0\nsagwa_the_chinese_siamese_cat,3\nchristopherlee,1\ndonburi,1\ntess_(frisky_ferals),4\nbiotari,1\nkesper,4\nohlordyit'sjordie,1\nstar_font,0\nponytail_over_shoulder,0\npurps,4\nhex_sinstolus,1\nrecreational_vehicle,0\ndirt_(mrdirt),4\nomi_slidefur,4\ncavasomnia,1\nson-in-law,0\nviximon,5\nbronx_(gargoyles),4\nkaittiolu,4\ntyler_mcrae,4\nthumb_in_waistband,0\nedo_(rabblet),4\nbfct,4\ndocumentary,0\nvalorant,3\nlisa_(feline_humanoid),4\ncancer_(symbol),0\nkoharu_(blue_archive),4\nbaniraad,1\nsledge_bro,5\ngayrider8,1\nmomhopantsu,1\nsonic_wolfe,4\njoe_(nanoff),4\n463_jun,1\nmalawrist,1\nangora_rabbit,5\nbraum_(lol),4\nsalatranir,4\nsharp_tail,0\ncow_print_thighhighs,0\njayri_(jayri-veradian-avieock),4\nhuge_glans,0\nglitch_techs,3\nnico26b,1\napulaz,1\nmuscular_arm,0\nmaldoando,1\njohnny_test,4\ndinah_(vdisco),4\ntriste_miedo,4\narchmage-rykarr,1\nhand_on_moob,0\nbiowolfmlya,1\ndark_lighting,0\nteriyaki_(character),4\nbackbone_(game),3\nmarie_(gaturo),4\nxander_hewett,4\ngalutine,1\nwalking_on_water,0\nluong_lao_shi,4\nvape_pen,0\nstrangersfm,1\naquarius_(scalier),4\nkara_(chelodoy),4\nshotbun_(anaugi),4\ncrapemyrtlemarket,1\ngreat_ones_(bloodborne),5\nnikole_(darkwolf),4\nbigjoppa,1\ntan_(character),4\nduemeng,1\nstarfleet,0\nfundy,4\ndroogiesparrow,1\nfluffy_the_werewolf,4\ngrey_seam_briefs,0\nfrilly_bow,0\nsmenco_(artist),1\nmarth_wait,1\nfin_scar,0\nmorikoke,1\nmamoru's_mother_(mamoru-kun),4\nmarine_iguana,5\nstephen_(agidyne),4\nvorix,1\ndestruction_of_property,0\n2_phut_hon,3\npenis_across_breasts,0\nrutilix_(live-a-hero),4\njcfireescape,1\nfurbeyond,1\nmulti_tone_hat,0\nblorsh,0\nvolcasaur,4\nheart_penis,0\nkaomoji,0\nlamp_shade,0\noliver,4\nbeastman_(gurren_lagann),5\ncameron,4\nlevin_(dinglederp),4\npecs_vore,0\nlykostherium,1\nshield_moblin,5\nbibbidy,1\nballs_theft,0\nkvie_cloverhoof_(kvie),4\nuncensored_version_at_paywall,0\ngalia_(sandwich-anomaly),4\nhand_crush,0\ntensor,1\noliver_(ventkazemaru),4\nruhuyu_(show_by_rock!!),4\nhockey_jersey,0\nmesh_clothing,0\njane_(wolfpack67),4\nhand_under_clothing,0\nif_it_fits_it_sits,3\nspace_rangers,3\nrotting_flesh,0\ncelery,0\nsitting_together,0\nleona_pryde,4\nribby_(character),4\nrunelocks,1\nkarmal,4\ncritical_hit,0\npushed,0\nlen4ik555,1\ntan_dress,0\nfluid_tap,0\nsarah_maple,4\nsubmissive_predator,0\nmiko_(snowweaver),4\nlightnymfa,1\nokureya,4\nshadiel,4\nseren_duskflare,4\nblue_belt,0\nrei_(guilty_gear),4\ntahnee_monroe,4\nsweaty_ears,0\nadoptive_father,0\nnyxt,4\nferris_(ferrissimulator),4\nwheat_body,0\nnylonheretic,1\ncamchao,1\nrob_(daisy-marshmallow),4\nmonotone_bow,0\nbrutus_(amazingawesomesauce),4\nshear_(disambiguation),-1\nredvel_fett,1\nprecum_from_mouth,0\nlexington_ulfric_izunia,4\njohann_(t0l0k),4\nmarcus_caelesti,4\nozone_(antoreakk),4\nsomeshittysketches,1\nparrot_humanoid,5\nsuane_(suane_lightfurr),4\nadsouto,1\nkami_(queenkami),4\ntani_d,1\nmarsh,0\ncamo_shorts,0\nuri_bennet_(ryltar),4\ns1_luna_(mlp),4\nlenalia,4\ncharlotte_(redflare500),4\nfoule,0\nrangstrom,4\namber_(pwnycubed),4\nelastico,4\nfeliraichu,4\nnude_to_clothed,0\nkitana_(unhappy_raccoon),4\narkkusx,1\ndeerfox_(hilda),5\nsaitudon_(character),4\nkaze_and_the_wild_masks,3\nmonotone_whiskers,0\nbanshee,5\nsherman,4\ndark_elven_forest_ranger,4\nbucketoflewds,1\nz0mbieraptor,1\nthatweirdguy,1\nfuckplant,5\nchris_(silveredge),4\nkon_shearo,4\ncolar,0\nanna_(kayla-na),4\nteacher_clothing,0\ndoggy_(disambiguation),-1\nriley_bunny,4\nbrother_in_law,0\nexposed_underwear,0\nblue_condom,0\nseatohao,1\nkouga0225,1\ndinedon,4\nleroy_(joaoppereiraus),4\nlapis_(endertau),4\ncigarette_box,0\nblue_shark,5\nspike_piercing,0\nxoven,4\nbellyburster_(species),5\nlogan_thackeray,4\nobakedazo,1\ncat_nose,0\nnightmare_at_freddy's,0\noink,0\nparadisebear,3\ntwentle_olivica,4\naround_drum,1\ncum_on_hood,0\ntan_spikes,0\ncornfield,0\namber_(ping-ether),4\nyellow_snow,0\nbrachiosass,1\ngakor,4\nsobakistan,3\ntkckid,1\nrenaa_railos,4\ncollaborative_autofellatio,0\nkafrizzzle,1\nholding_sponge,0\ndomina_(friskyfoxie),4\nmikachu_tuhonen,1\njoshua_(ghostbane),4\nh_the_raptor,4\nsparky_sparkeroni_(mlp),4\naurora_(softestpuffss),4\nnitroneato,1\ncereal_mascot,0\njacket_around_waist,0\nkantachibli,1\nshort_horns,0\ndiscarded_hat,0\nbunbunmuffins,1\nlost_out_gi,1\nbriar_(squishymare),4\ndancingchar-fetish,1\ncigarillo,0\nsweet_(deltarune),4\norange_back,0\nkamiyu_saeki,4\nvaginal_grip,0\npawpadpup_(character),4\ncalderian,5\nraised_shoulder,0\nmister_handy_(fallout),5\nnatey_(ritts),4\nseago,4\negg_from_penis,0\npulp_(artist),1\niron_artist,0\nsuspended_by_belly,0\nbelly_noises,0\ngarasaki_(copyright),3\nwisemans,1\nflbl,1\nthr33y3dg0at,1\nwirberlwind,1\nminoru_hyuga,4\nsilver_markings,0\npurple_wall,0\ncaylleen,1\nbenjithatfoxguy,1\nsmg4,3\nflexing_pec,0\nlooking_happy,0\nrastacakez,1\namber_ladoe_(sabre_dacloud),4\nwhite_piercing,0\nanimatedmau,1\nfiresalts,1\n2n5,1\nserver_room,0\nsilverware,0\nwelcome_to_doozy,3\nwistfane,4\narno_(terraapple),4\nirollyouover,1\naerosouthpaws,1\nlipstick_fetish,0\nroxanne_(frostfur101),4\nimminent_scat,0\neliza_(averyshadydolphin),4\nnight_dress,0\ntaurus_(zodiac),4\njoeadok,1\ndemontower,3\naubrin,1\nwaffle_(artist),1\nrina_(runei),4\nshameful-display,1\nechinoderma,1\nqin_(character),4\ngradient_inner_ear_fluff,0\nanal_fluids,0\nnarkoto_the_water_dragon,4\nicysage,1\npopy,4\nhex,4\njason_(mestiso),4\nlily_(sefeiren),4\naazhie,1\ngdhusali,4\nroasted,0\nbandit_(mario),5\nmasahiro,4\ndevlin_miski,4\nwom-bat,1\n0ishi,1\nurii,1\nthe_cake,0\nwckd,1\nmbvgfw1108,1\nsealeen_(twokinds),4\nangry_sun,4\ngrace_(spotty_the_cheetah),4\nsam_starfall,4\nchaud_magma,1\nfetalstar,1\nbahm-bu,4\nalebrije,5\nregeneration,0\npossumfox,4\nfoamy_(artist),1\npatrickgainher,1\ntokyo,0\nmirage_(warframe),4\nastigmatism,4\nsabbath,4\nlimayra,4\nsdeekkk,1\nalleros_(howlingampharos),4\nbrown_sofa,0\ncum_release,0\nstacy_(satsumalord),4\n2d,0\npickynickit,1\ninterior_background,0\nvaginal_pull_out,0\nramenshopkenz,1\naileas_(fossi3),4\ntaffyy_(character),4\noff_screen,0\nnana_(peter_pan),4\nrealistic_lighting,0\ndragonium_(artist),1\nkusama,1\nallie_(rimentus),4\nlong_fall_boots,0\nfrancis_(frenky_hw),4\nzerrex_(zerrexnarrius),4\ntorathi,1\ncatinatrash1,1\nkurasuto_(cottontail),4\nglistening_hat,0\nbluechubbywolf,1\ntheo_(disambiguation),4\nchair_breaking,0\na,0\nwarning_message,0\nsars-cov-2,5\nruhh-roh,1\naustin_(thomasthesharko),4\nastralantipode,1\nhail-fanged_dragon,5\nnyctilian,5\nexposed_ribcage,0\ngazing,0\nwooferwoof,1\nmondegreen,1\nsurrendering,0\ncrest_(heraldry),0\nfin_ring,0\ndelphox_waitress,4\ndiskofox,3\nagent_washington,4\nyellow_elephant,1\njewel_collar,0\nalexander_the_fox,4\nspreader_gag,0\npaws_on_hips,0\ntooeks,1\nstarble,5\ntamsey_(vdisco),4\nminekoo2,1\nangie_(magolobo),4\ned_(disambiguation),4\nunwanted_orgasm,0\nvertical_stereogram,7\nsejuani_(lol),4\nbrotha's,1\nskiffkhariben,1\nyoshu_makato,1\nidiot_sandwich,3\nasha,4\nsoul_reaver,3\nhebrew_text,7\nmark_(stripes),4\nadmiration,0\ndink_the_little_dinosaur,3\nsilverzar,1\noperator_(warframe),4\nbadendxxx,1\nvortex,0\nsandy_carington,4\nshard_the_metal_sonic,4\nmarcus_techkat,4\ncamille_(scalie_schoolie),4\nps2_console,0\nskybrigidrain,1\nzeus_female,4\npostalroo,1\nrori,4\nfoxhole,3\nover_9000,3\ndanny_(monstar),4\ntap_dancing,0\nstrobe_lights,0\nrachelle_verity,4\nvijounne,4\narashi_maeda,4\ntomoe,4\neddie_holly,1\nshattered,0\nlobstersnail,1\njasmine_(hexxia),4\nmion_orz,1\ntaran_zhu,4\nt.g.r.s.l,1\najar_(sahara),4\nfigmandor,4\njude_(shmagaman),4\nxander_moraine,4\ncyril_(modjo),4\nfearghus,4\nlakebound,4\naatrox_(lol),4\nthe_eric_andre_show,3\nprincecoffeecakes,1\nvinnie_terrio,4\nwolfox09,1\ngrayson,4\nsketchfox,4\nalika,4\nrooth,4\nnorthernironbelly,1\nalyssia_byrne,4\ndrakerogers,1\ngeena_gonorah,4\nsan_francisco,0\ngeworin,1\nporrim_maryam,4\ncabbit_(tenchi_muyo),5\nsaalim,4\nbattle_tiger,1\nmomo_(nekowife),4\nplaguerat_(character),4\ncum_on_window,0\naqui,1\nkabaoum,4\nagent_orange,1\ndechroma,4\nisuckusuck,1\ndkqksms1004,1\neric,4\ndevinian,1\ntripping_the_rift,3\npalecat,4\nchelsea,4\ncaracal_(kemono_friends),4\nchippo,1\nflaring,0\nminxen,5\nrushana,4\nsnowshoe,4\nmaeterlinck's_blue_bird,3\nnokyel_(under(her)tail),4\nkamehameha,0\ndrgn8d,1\nkiha_(coc),4\nzeemf,1\njunn,4\nssorobo,1\nprejudice,0\nland,0\ngiselle,4\ngalian-beast,1\ndrawcia,4\nsour_kangaroo,4\nwren_cronkowski,4\nriley_o'shane,4\ntyobetyobe,1\nizma_(coc),4\ntail_ovipositor,0\nreed_waller,1\njudd,4\nlahwhinie,4\nkatzeh,1\nlibido,1\nlina_(saitama_seibu_lions),4\nmisswerehog,1\nking_leonard,4\nerikka,4\nrabbit_(skunk_fu),4\nbzeh_(bzeh),4\ncaim,4\nbreakerpangolin,1\ncartoonjunkie,1\njcheetah,1\nfar_cry_3,3\ngforce,1\nblaze_(zabaniya),4\naiden_(samwiding),4\ntylersdad,1\nsilverhawke,4\nponydoodleday,1\nsitting_on_butt,0\nconnie-may_(blancmark),4\nstormspike,1\nrope_marks,0\nsaimon,1\nmordin_solus,4\ncinderella,4\ndangerouslygooey,1\nashi_(samurai_jack),4\nuncharted,3\nflowamai,1\nhikariviny,1\nxantouke,1\nmrmaxwell,4\nexited,0\nkyu,4\naven,5\nbattlefield_(series),3\nkirbee,4\naoi_tsuyomi,4\nwinnie_woodpecker,4\nnipple_leash,0\nhello.byeperson,1\njason_shiro,4\nalex_(elliotte-draws),4\nmulti_fuck,0\nflowbish,1\nlogan_(marvel),4\nfeet_on_butt,0\nsouslik,4\noddball_(101_dalmatians),4\npandeth_(pop'n_music),4\nquixotically_erotic,1\nsakehabera,1\nxavier_(xamz),4\nlaurel_(bitterstrawberries),4\nwing_armor,0\nrei_illustrator,1\nflux_the_jolteon,4\nrepublican_elephant,4\nalfred_blaze_(character),4\n2022_beijing_winter_olympics,3\nboris_(spyro),4\nniar_(potzm),4\ngreen_turtleneck,0\nelhuachicolero,1\nfang_(magpie_magnetism),4\nsad_sun_knight,1\njules_(joaobear),4\nbastefan16,1\nmaiiyumi,1\ntwitter_handle,0\nxen,1\namy_hyperfreak_(hyperfreak666),4\nshirousagi,4\ndesmond_(bayron),4\njaber_(cadaverrdog),4\nteinwilde,1\nsoldier_uniform,0\ndai0,1\nkenkudog,1\nfont_change,0\nclothes_on_ground,0\ndorian_(dorian-bc),4\npooping_on_partner,0\ninfinibeans,1\nfrank,4\ntodoroki_shouto,4\npenumbra_(ducktales),4\nspike_(shade1),4\ngofer_(dudelinooo),4\nasher_saiph,4\ndragon_nexus,1\nsibluself,1\njunichi_(junryu),4\nmal_(hasukii),4\nleo,4\nspottymichi,1\naria,4\nakatosh_el_shota_furro,1\nsnow_(cerberus),4\npaper_bag_(oc),4\nflowing_clothing,0\nsmashcuenta123,1\nwoopo,1\nsuvi_(tinygaypirate),4\nskip_(skipperz),4\nmary_jane_watson,4\ntan_neckerchief,0\nbittenbun,1\nsouthernyote,1\nbrown_floor,0\nside_slit_skirt,0\nyakami_hime_anime,3\ngambit_the_scrafty,4\naamakuruu,1\nchipped_tooth,0\nfelix_(feliscede),4\ncoffeelove68,1\nbow_hairband,0\nazucana,1\nunder_paw,0\nlycadio,1\nmilana,4\nradiohead_(pixiv),1\ngrey_floor,0\nhydaus,1\nkonghou,4\nwhite_glow,0\ndark_green_hair,0\nblueapple,1\ndusk_mane_necrozma,5\njun_rasenfox,1\npoopysocks9,1\nhermvivi,4\napron_aside,0\ntypography,0\njosie_(os),4\neffie_the_skunk,4\nsundae_(kei),4\ntanzanite_(character),4\nheidii_(ryarik),4\nxemkiy_(character),4\ndewey_(deweyferret),4\nkaspersa,1\nzulu_(zuluthelemur),4\nautumn_(mr._fox),4\ncum_spill,0\nbrandt_(desertkaiju),4\ncgeta,1\nzell_(jinu),4\nsunbull,1\nbloxwhater,1\nmedical_fetish,0\ndixie_mae_carlisle_(character),4\nditto_(disambiguation),0\n009w,1\nmonak,1\njoykill_(character),4\nmarrok_(silentmike16),4\nparis_francaise,4\nbunfan_games,1\nthisdingo,1\ngaza,4\nsirène_(devilman),4\nkirianna_tatsukao_(rithnok),4\norin331,1\nshirou_(nikiciy),4\nyubi_clearsky,4\nconsentual,0\nellowa_(novaduskpaw),4\ngrayson_reed,4\npeafowl_humanoid,5\nlluumi,1\nsilel,4\npknicky,1\ncally_(theenyface),4\ntopazice,1\ndimitri_(anthrodragon),4\nowy,1\nnipple_growth,0\nevangelo,4\nakane_(candescence),4\neve_(difetra),4\nhenry_(mrrottson),4\noroshi_(the_spicy_ninja_scrolls),4\nredhorn_(zerofox),4\nt-fruit,1\nstock_image,0\nsetsu_(omunikin),4\nramune,0\nleppi_(hotkeke1),4\nmonodelphis,5\nsilentyed,1\nbaikoko_island_(tansau),3\nginn_tnrnrngnsr,1\ndreit,4\ngymnast_leotard,0\ngyro_gearloose,4\nizumi_h27,1\ntexas_flag,0\npapyton,0\nhedax,1\nheroine,0\nyoshoblue,1\nshorts_around_ankles,0\nsucker_punch,3\nbrownies,0\nneormk,1\nsewage_monster_(sakamata),4\ngud_(fursona),4\nkyle_(critterdome),4\ntapeworm_(artist),1\nminty_(tatwuyan),4\ncarrydraws,1\nagzi,4\nsewer_monster,0\nflashyscloset,1\npoppy_(p-o-p-p-y),4\ncrowhite,1\nleeson_smith,4\nrna_(artist),1\nvictoria_(lilo_and_stitch),4\nrudolf,4\nalexa_woods,4\nfuboku,1\nkorouxus,1\ngrizz_(croc),4\ncarrot_panties,0\nsamantha,4\npink_camisole,0\nmicroraptor,5\nlands_of_fire,3\nhuntress_(nutty_butty),4\nyellow_head,0\ncole_(colesutra),4\ndaruzenon,1\nstub_tail,0\nmay_abbagail,4\nfuusenroba,1\nrailway,0\nvins-mousseux,1\nbreech_birth,0\nbeetle_humanoid,5\nawakening,0\nlyra_the_latias_(leviathin1),4\ndraven_(dravendergen),4\ndrew_gardner,1\nhorny-oni,1\nmessy_clothing,0\nback_side,0\npredation_(game),3\ncoffilatte_(artist),1\npowerofsin,1\nakachionmain,1\noscar_(chunkyboardad),4\ncia_(ultilix),4\nparfait_(gothbunnyboy),4\nkris_(krisdabirb),4\nranulfr_(nanonator3),4\nholeymole,1\nelmutanto,1\nalexa_bloom,4\nlight_dress,0\nnatsuki_(my_little_goat),4\nbreasts_fondling,0\nktrk5,1\nigocu,0\ndk.senie,1\nwhite_uniform,0\nlemon_slice,0\nblacktalons,1\nbronybyexception,1\ndems,4\nqueens_blade,3\nkhramchee,1\nspilled_milk,0\nmephit,5\nloading_screen,0\nreynold,4\nass_out,0\nsitrus_berry,0\nhand_in_ass,0\nsony_pictures,3\npussy_juice_on_clothing,0\ncellan_(species),5\nsnotter,5\nchess_board,0\nmeteorite,0\njesse_pinkman,4\nknightsnipe,0\nyuan-ti,5\nground_sloth,5\nvaulting,0\nred_baron,4\nbent_backwards,0\nplucking,0\ngargantuan,0\nalibi,1\nhorshu,5\nmalech,4\nkiva,4\nchampion,0\nfrancine_(badgerben),4\njustin_(braford),4\narimah,4\ncaal-kain,4\ngwen_applebottom,4\nbilly_li,4\nbmxii,1\nganym0,1\ntether,0\ntornking,1\nfleetway_sonic_(character),4\nghuraok,1\nmeena_(sing),4\nloox,4\nonodera,1\nkiyoshi,1\ntrenya,4\nvigilante,0\nnymph-77,4\ncharu,1\nmike_wolf,4\nrhyzern,4\ncybera_(character),4\nmetal_gear_(robot),5\nginyu_force,4\nyorozpony,1\njosh_(paintfox),4\nmural,0\nsummercat,4\nserum,0\nq_(lynx),4\nezio_auditore,4\nmaxraiden,1\nthedarkestt,1\namber_fauna,4\nyaku_(artist),1\nlord_friez,1\nredkin,4\nmaster_oki_akai,1\naudrey_ii,4\naomidori,1\nruby_necklace,0\nstar_fox_zero,3\ndkjmn,1\nsilentsound,1\najani_(artist),1\nkarozagorus,4\nalcoholic,0\narianna,4\nberin_(character),4\nsabine_(ritts),4\nsawblade,0\nhachi,4\ndogo_argentino,5\nampallang,0\nenvtoxic,1\nposey_(pre-g4),4\nmegaherts,1\ngash,0\nian_(scottieman),4\nhammy_(over_the_hedge),4\namelia_(xingscourge),4\nflash_gordon,4\nyeet,0\nindigestion,0\ndennis_(meesh),4\nvswitch,1\ntransition,0\nslave_ball,0\ntruck_bed,0\ntimothy_brisby,4\nfidgeting,0\nira,4\nbelka,4\novernut_(artist),1\nrattios,4\nwolfgirl_(artist),1\nmentos,3\nspritermx,1\nsantalol,1\ncacuu,1\ndesa,1\nhinoarashi,1\nthe_dazzlings_(eg),4\nerika,4\nbammlander,3\nchester_equine,4\npeppermint_butler,4\nkaala,4\njakashi,1\nmr.russo,1\nnoire_kooshe,4\nwunp,1\nlissandra_(lol),4\ndaflummify,1\nbutter_sugoi,1\nnora_(tasanko),4\nmorihiko,4\nmonotone_fingerless_gloves,0\ncaptain's_hat,0\nlustfulaves,1\nkuro_(brand_new_animal),4\nshoulder_fluff,0\nsmolkaiju,1\nperineum_lick,0\ncatwarrior_(artist),1\nradiomann01_(artist),1\nfoulmonster,1\nizzy_skye,4\ncatalina_(zeromccall),4\ntail_muscles,0\nfinnian_ennis,4\nboxers_down,0\nswitchblade_knife,0\nmamas_art,1\ntrixie_(bluey),4\nmakumba,1\nangel_(evangelion),5\nreverse_footjob,0\nantennae_grab,0\nbiting_arm,0\ntight_fit_(oc),4\nkomanyachi,1\nmarie_makise,4\nartofadam8_(artist),1\nhizathri_(species),5\nzenarator_(artist),1\nbearbeer,1\nsophie_(coc),4\ncazinkwolf,1\nanimal_skull,0\nrel_(relightcharge),4\nromaji_text,7\ntentacle_masturbation,0\ndoubutsu_sentai_zyuohger,3\nmarealeopard,1\nhel-ish,1\nyellow_cape,0\nno_lube,0\nottersoup,1\nhazel_(typh),4\nflattened_breasts,0\nthed4rk1ord,1\nsparecoyote,1\nooshio7734,1\nliam_(silveredge),4\nchilean_flag,0\nangusart,1\nkalea_(lei-lani),4\nrintrah_(marvel),4\ndom_(ritts),4\npurple_outfit,0\nnikita_(cerberus),4\nnadia_(littlebranch),4\nmr_chocolate_eclaire,4\ntesla_(brand),3\nkitsune_drifty_(character),4\nbrown_cheeks,0\nironmouse,4\nxtreme3246,1\nviolet_(polyvoir),4\nspyglass,0\nglistening_bodysuit,0\nnaatti_(artist),1\nfreya_vix,4\ngrey_robe,0\npiebald_scales,0\npink_arm_warmers,0\ncaiuslupus,4\nvanity,0\nhead_in_hand,0\npaige_(dreamkeepers),4\nborochi,1\ncharlie_brown,4\ndave_cheung,1\nmoonzy,3\nfoot_growth,0\nchuchu_(kirby),4\nqueen_(scalesindark),4\nits-spot,1\nxigua,4\nfiffle,4\n5_panel_comic,0\nrouwrf,1\njack_(topazknight),4\nfrozunny_(insomniacovrlrd),5\ntsukino_(show_by_rock!!),4\nasena_(full_bokko_heroes),4\nphiladelphia_rainbow_pride_colors,0\nwofflemint,1\nhorn_suck,0\nthe_urge_within,1\nreverse_forced_anal,0\nmila_horny,1\nsashenka,4\nalexia_(zarunart),4\ntatsuo_kimura,4\nhotblooded_pinkie,3\npartially_clothed_human,0\nsweaterch,1\nmanny_raibolt,4\ncbd,1\nnewworld-9,1\nrexy_(jurassic_world),4\nbunny_nebula,1\njasmine_(jaspixie),4\nkathy_(yajuu),4\nhanryo,4\nfiyawerks,1\nscapulari,1\nferry_(granblue_fantasy),4\ngreen_flames,0\ncastle_wall,0\nkalystri,1\nboop_(musicarooey),4\nshiro_(nomifuki),4\nhead_n31,1\nflare_pris,4\ngittigiti,1\ncasey_(starthemutts),4\nzamora_(sisters),3\nzanshin,4\nprince_hisan_(mlp),4\n19:18,7\nkitscat,1\njoe_(oh_so_hero!),4\naerith_(twokinds),4\ndecibel_(himeros),4\nsprite_cranberry,3\ng0masolt,1\ntranslucent_ovipositor,0\nentity,5\nnova_astralis,4\nspitfiremlp,4\norange_foreskin,0\npubbi,1\nluxain,4\nwooden_table,0\nlittle_b0t,1\nfriday_(crybringer),4\nmotor_vehicle,0\nmelissa_(clarrygoldstein),4\nbrevman,1\nleg_pull,0\ntabitha_wildcat,4\npostscripting,1\nrai_(shadowblade945),4\naviator_jacket,0\nkalama,1\nvergil_(devil_may_cry),4\nmajike,1\nkituneno-lullaby,1\nmarjani_(character),4\ngraybeast,1\nbuddy,4\nmoonabloom,1\nshanny_(nol),4\nkev,4\nvikemon,5\nvicki_(brian_mcpherson),4\nmewgia,1\nelectricfox777,3\nnaoren,1\nmintymousyx_(artist),1\nboggle,1\nlady-darky,1\ntyzain,1\norifice,0\nario,1\nhogger,4\nskala,4\nyuki-menoko,1\nmowgli_(character),4\nmonkeycheese,1\nhermione,4\ntribble,5\njimmy_li,4\nlindsey_ranger_(teckworks),4\nshonomi,1\ntyltyl_and_mytyl's_adventurous_journey,3\nrekhit,4\npartial_penetration,0\nalastair_snowpaw,4\nsarine,4\nhector_(whyteyote),4\nchisel,0\ncrazed,0\nscratch_gryph_(artist),1\nmomiji_the_dolf_(artist),1\npraise_the_sun,0\ndavin,4\nsobek_(character),4\nflexibility,0\nlime_fur,0\nredrevolution,1\ntrainer_card,0\nbutt_pinch,0\npokémon_ranger,3\nmuffin_top_(panties),0\ncharlotte_e_yeager,4\nmonorus,1\nhy_thegreykatt,1\ncernunnos,4\nsprinkler,0\nmilky_way,0\nrecipe,0\nthermalcake,1\nanimewave,1\nchloe_the_shark,4\njetwave,1\ndwps,1\namy-lynn_(scorpdk),4\nvera_(mlp),4\ndewo_(character),4\nrainbow_theme,0\ntunderi,1\nmorticia_addams,4\nretoree_(show_by_rock!!),4\nxander_(madkaniini),4\nnotska_(character),4\ntopaz_(artist),1\nmonster_super_league,3\nblack_outerwear,0\ndiasis,4\ndrex,4\nfelix-kot,1\nzaffre,4\ndonshadowwolf,1\nbertha_(fritz),4\nnigauritaruto,1\ndenim_(character),4\ndeltasomnium,1\ncynthia_(cynthiafeline),4\naldy_(aldyderg),4\nnyankyun540,1\nflucky_bat,1\ngrapple,0\n7_eyes,0\nthe_vixen,3\ngolden_keylime_(oc),4\nnatsuhakoura,1\njave_the_13,1\nzoecinno,1\npale_clouded_yellow,5\nfrilly_stockings,0\nnagi_(nagifur),4\ncobalt_(rtzero),4\nmonotone_jewelry,0\nsprite_(homestuck),5\nalphathewerewolf,1\nelain_blackfish,4\nangie_(disambiguation),4\nruffling_hair,0\nsandy_(eevee),4\nblack_sneakers,0\ncovering_own_breasts,0\nandromorph_lactation,0\nmuzy_frile,4\nsitting_on_wall,0\nmedicatedcannibal,1\nrezzy,1\nnowax,1\nnekochan90,1\nduosion,5\nleisure_bug,1\nironpotato,1\nin_heat_(game),3\nparker_pierce,4\nscipio_(khemia),4\nscarlet_(doctorpurple2000),4\nholding_strapon,0\nlatex_handwear,0\nnumbered_list,0\nstanley_(zer0rebel4),4\nel_brapitto,1\nkel_(capracreep),4\nnightynight,1\nyoshi.kaoru,1\nsagezilla,4\npie_furry,1\nripple_lighting,0\n0v00w0paws_(artist),1\ndarkblue,1\nrai_(nikuzi),4\narihyena,4\nloot_llama_(fortnite),4\nfern_plant,1\nmossy,4\ntentacle_on_penis,0\npresenting_body,0\near_ornament,0\n<vampirefuuucker>,1\nblacksmithing,0\nvalyrie_(tolerain),4\nname_plate,0\npolly_(birdie),4\nsfm_eclipse,1\nvaldroxx_studios,3\nransom_(jijix),4\nanomalocarid,5\nhoward_lotor,4\nkeenei_thunderhoof,4\nyagaru,4\ngenderfluid,0\nmonty_python_and_the_holy_grail,3\nlooking_like_about_to_cum,0\ncattail_(pvz),5\nopen_palm,0\nraymond_boxman,4\nkaro-amu,5\noppaimagpie,1\nchloe_the_copperhead,4\ndarktree,1\njennifer_(longblueclaw),4\nalli_(animal_crossing),4\nkazibug,1\nblood_spatter,0\nhigh_score_(artist),1\nbatnbun,3\nmaka_drake,4\nnoisemaker21,1\npremature_orgasm,0\nkurohachuurui,1\nmutated,0\npost-mortem,1\nraganzi,4\nyandere_trance,3\nsilver_collar,0\nfomantis,5\nryusei_(artist),1\nizzy_(thekzx),4\nmax_mcconnor,4\nmukutamukumuku,1\npurochen,1\nfanaloka,5\nmoongazeponies,1\ncrashb,4\nlilly_goat,4\nkorhiper,1\ntenzen_miyabi,1\nkleo_(fallout),4\nkarrablast,5\nberriiazul,1\nspiral_dragon,5\nleo_(dragonslash),4\ngrey_scarborough,1\namber_(kanel),4\noff_the_ground,0\nchung-sae,1\nchiko_(dotkwa),4\namelia,4\ndawn_(character),4\nknox_(otter),4\nsamson,4\nhyacinth_macaw,5\nfinal_fantasy_fables,3\ndeadlycomics,1\nmaria_calaveras,4\nfondue_(flowerimh),4\npitt_(organization1337),4\nkokosetto,1\ncosmicpussycat,1\npride_color_armband,0\ncolored_nipples,0\nbebatch,1\ntako_(takopupper),4\nmentally_troubled_eeveelutions,3\nmagicorn,5\ncolton_(sparklepupfaeri),4\nnephtys-ma'at,4\nelana_(altrue),4\nthe_coalition,0\nfoxy_carter,4\neri_(mha),4\ngreen_fundoshi,0\nsadtoasterr,1\ncharlene_palmer,4\n=w=,0\nglistening_elbow_gloves,0\nlubanart,1\ndr._nefarious,4\ncoccui,1\nu_rakaz,1\nauntie_lofty_(mlp),4\nfreyja_(merlin),4\ncasidhe,4\nsimon_tesla,4\nnynn,4\nza_barro,1\nliz_(funkybun),4\nmasturbation_denial,0\nmulti_penis_bulge,0\nglistening_rubber,0\nhinget,1\nsex_during_oviposition,0\nkobold_girl_(glacierclear),4\nblack_and_brown,0\ndark_back,0\ng-milk,0\ndanmachi,3\nscarlet_(final_fantasy_vii),4\nchase_(frostedchase),4\npharaoh_hound,5\naffax,4\nzorgy_cuddles_(oc),4\ndanie_(moonski),4\npetra_(carrot_kiss),4\ncerebus,4\nrezzit,4\nseara_(fidchellvore),4\ncheckered_neckerchief,0\nmr._plagait,4\nstick_arms,0\ntesticular_exam,0\nmyof,1\ndark_prism,1\nregina_(kadath),4\nbc4life,1\nkain_(calamities156),4\npollution,0\nalbatross_(artist),1\nask-elyse,0\ncaramel_kitteh_(character),4\ncogma,4\nahirulion,1\npatiroku,1\nembroidery,0\nprim_hemline_(mlp),4\nillogical-dreams,1\ndaisy_laine,4\nrainbow_pubes,0\nchief_inquisitor,1\ncodename:_kids_next_door,3\nbloodymascarade,1\nglax,4\npurple_lighting,0\nphoebe_(sachasketchy),4\nmarketplace,0\npinning_down,0\nvii_rii_(vrart1),4\nnafan,1\nguard_rail,0\nhead_pussy,0\ncrop_top_jacket,0\nkryotic,4\nblargg,5\ncryptidbits,1\nwolf_maid,4\nnordic,0\nglastrier,5\nbernie_(demdoe),4\ntaking_notes,0\nkoneko_(spazzykoneko),4\nwrist_bangle,0\nladybugk,1\njobbold,3\ndorian_(furdo),4\nskeley,4\ncadaver_(skulldog),4\nbriefs_down,0\nember_starwillow,4\ndevilukez,1\nahab_(ahugebird),4\nmixplin,1\nwill_smith_slapping_chris_rock,3\ninside_sex_toy,0\ntarkir_(character),4\nnachan,1\nquest_for_camelot,3\nfeatureless_(disambiguation),-1\nfrilly_swimwear,0\nwaffles_(artist),1\nmeteorreb0rn,1\nmow,1\nlalieri,1\nkoki_(skunkhotel),4\nvoicelikecandy,1\nskyverchase,1\nwisp_(partran),4\ntallula,4\nkimmy77,1\nbest_princess,0\nlooking_into_eyes,0\nfunkydeer00,1\nshadowkan666,1\naxis_powers_hetalia,3\neren,4\nscar_(predator),4\nellowas,1\nnightfire,1\ndavo_(katnay),4\nsuspender_belt,0\nblue_mage,4\nwarmth,0\nmanhandling,0\nmichael_williamson,4\ngreasy_(character),4\nmic_check,4\navalath_tiger,1\ngenevieve_quicksilver,4\nupdate,0\nlomo,4\nenergy_shield,0\nmystery_science_theater_3000,3\nspunk3y_monk3y,1\nleo286,1\nramona_(the_prey),4\naoi_(ittla),4\ncerise_(delrar),4\ntongue_clamp,0\nboonedog,1\nsaphistar-tries-to-art,1\nguepardoxart,1\nlaon8130,1\nveiny_eye,0\nsunnybakedham,1\nvird-gi,1\nhbo,3\nbastoro,4\nkitty_(plankboy),4\nto'pkek,4\nfreia_(frei22),4\nguratan_wa,1\nnora_leslie,4\ninkbuns,1\nstarpeace,1\nlittletrixter,1\nelpis_dugan,4\ntera_(tera_tyrant),4\nhorse-loving_dog_(marimo),4\nlid,0\nstriped_mane,0\nyournightlydesires,1\nsykez,4\nhuman_skull,0\narulouprouge,1\njamie_sharp,4\ntennis_uniform,0\nadam_lyon,4\nbell_necklace,0\nstroking_head,0\nariesartist,1\ndrax_the_destroyer,4\nflinch,0\nextradan,1\nblue_roan_(marking),0\nschwarzfox_(character),4\npussy_dripping,0\nturquoise_background,0\narm_under_breast,0\npillow_fort,0\nuzziah,4\nhaganef,1\nzappy,1\nunown_a,5\njackalopedewey,1\nstrawberry_print,0\njohn_fell,1\nuntier,1\nludis-luteo,1\nwhite_chocolate_(glacierclear),4\nxabelha,1\narthropod_abdomen_fingering,0\nkoriyama_meiko,4\nkuma_(pixiv_881259),1\ngrakerrbraconc,1\nketsueki_(character),4\nvynn_(icy-marth),4\norange11803164,1\ntwo_tone_frill,0\nmoyoki,1\npurple_bikini_bottom,0\nbrown_speech_bubble,0\nanimal_(muppets),4\nsquirrelfromthesouth,1\nfantomartz,1\nghost_thewolf,1\nleksi_(artist),1\nwhite_(among_us),4\nweight_gain_drive,0\nsam_eeveelutions,1\nrashouru,4\npink_curtains,0\nitzal_eguzkia,4\ndefenestration,0\nsarah_g_lato,4\nbronzebanana,1\nnight_howlers,0\nolivershiny,1\nkoro_(kokoro-doll),4\nyoru_(xienoan),4\nmiijiu,1\njack-in-the-box-sfm,1\nmxnster_fxcker,1\npride_color_scarf,0\nwerther,4\nlino_the_lion,1\nelastic,0\nsiekatar_(karmasrealm),4\nquadriceps,0\nbody_of_water,0\nwetwoof,1\nfeet_on_breasts,0\nzilkas,4\nwigmania,1\nrainbow_pride_penis,0\nmonchichiwa,1\noverall_dress,0\nfeet_paws,0\nkat_bishop_(bishopsquared),4\nblaze_(blaze125),4\nnine-volt,4\ndispenser_bottle,0\npressing_breasts_together,0\nblack_saliva,0\nike_(ironkongstudios),4\nbasilic_(character),4\ngorimondo_(kirby),4\n8-pus,1\ntokonuri,1\ntkup_(tkupbook),4\ntwelve_steps,1\nthe_pink_flamingos_(brand_new_animal),4\nbaby_(svtfoe),4\ntinder_wailord,4\nholding_doll,0\nradanon,1\nseepingooze,1\npurple_egg,0\nbloodscale_(imperatorcaesar),5\nclown_shoes,0\nmuli,4\nfurvilous,1\nrichard_pinkman,1\nice_chip,4\nkamesu_micchacara,1\ngatomon_x,5\nm1_garand,0\nkrendius,4\ncodytiger,4\nvirmir_(character),4\nhand_bra,0\ncrankydove,1\nkalashnikov,3\nmemory_loss,0\nfoxxo,4\ncresce,4\njigokuyouchien,3\nlatiar_(character),4\ncircular_saw,0\nmo-hiro,1\nprocene,4\nclaire_farron,4\ndigipixelfluff,1\nlum,4\nevil_bear,4\njomblluc,1\nnabooru,4\nnenenero,1\ndennis_clark,1\nki_(kitsunewaffles-chan),4\nlanoro,0\nlq_(character),4\ndaniel_coppren,4\ndoug_ramses,4\nmineva,4\nkotaotake,1\nbing,4\nmatt,4\nshiarah_(character),4\ncommander_feral,4\nrikoshi,4\nsilverblaze,4\ningo,4\nrubonku,1\nashley_(strider_orion),4\neschiver-monty,4\ntheomegaridley,1\nruran,1\nxena,4\ncoconut_crab,5\nmgx0,1\nrestraining,0\nsilverbolt,4\nagent,0\ngolden_snub-nosed_monkey_(kemono_friends),4\nbino_(housepets!),4\nblood_bowl,3\nkiiro_the_scrafty,4\nput,1\npetkitten,1\npac-man_party,3\nfalkor,4\ngreening,1\nashelin,4\ncadmium,4\nshovel_knight_(character),4\nostuffles,1\nsha'ra_(fariday),4\nrute_(driftlock),4\ndairuga,4\nthel,5\nfossa_(artist),1\nnixi,4\nkimen,4\nyori,4\nwinona_nelson,1\nballs_in_clothing,0\nhood_down,0\nboobart,1\n10_legs,0\ncum_on_photo,0\nfiarel,1\naxel_(animal_crossing),4\nstorm_devil,1\nbf_109,0\nmoominpappa,4\nsunset_nivaris,1\ntreecky,4\nconstance_johnson,4\nkota_(hattonslayden),4\nkyrathehyena,1\nkagekitsoon,1\nkarmasi,4\nmorto,1\nnorikowolf,1\nprincess_luna_(eg),4\ngravity_(character),4\nsnistrtaz,3\nhuffzie,4\ntgtf234,1\nriosha,1\noatmeal,0\npeter_rabbit,4\nsalessi,4\nhackman23,1\nbelfry_(tamberlane),4\ngold_dildo,0\nethan_(bastion),4\njaron,4\nsponsz,1\ndas_(character),4\npontiac_firebird,3\nlifesaver,0\nwinged_pikmin,5\nuniformvixen,1\njoveehusky,1\nlaa-laa_(teletubbies),4\ngthusky,1\najvulpes,1\njackoffrabbit,1\nkakithefox,1\nselena_hala_(oc),4\nburl_(connivingrat),4\nwuzzle,5\nolkl1234,1\nnerfocalypse,1\nokami_(artist),1\npsychomittens,1\nexposed_skull,0\nseamus_o_tuathail,4\ncinnamon_(dashboom),4\ncleo_(twin_dragons),4\nstriped_antennae,0\nbugbytes_(artist),1\ntoga_himiko,4\ntenga_egg,3\nxiao_ye,4\nnicole_(yourfavoritelemonade),4\nfirra,4\nfemale/tentacles,0\ntechnoblade,4\nlittle_moth_bro,4\nottlyoo,1\nha11nu,1\nkai_the_dewott,4\ndacsy,1\nabyss_(shirakaisuri),4\nvolkswagen_beetle,3\nmike_griffon,1\nshait,1\nmonster_love_hotel,3\nqigiu,1\n17:19,7\neuropean_robin,5\nrx1213,1\nsarin_(saerro),4\nvulpevex,1\nunknown_language,7\nzeffin_(zefaa),4\nnyaur,1\nlonelytear,1\ndualshock_1,3\ntani_rinkan,4\nk_pring,1\namika_zhona_(kimmikammi),4\nnoodlerain,1\nkuraon,1\nafelinesguiltypleasure,1\ngradient_wings,0\nlaundry_machine,0\nlayla_s.,4\namber_(raphael),4\nirbeus,1\nkotaro_kou_(kotarokou),4\ncawaden,4\njoker_(2019_film),3\nglacius_draconian,4\ntaffetta,4\nthestinkywolf,1\ntwo_tone_cape,0\nbonk_town,1\nketlimur,1\nmara_(natura),4\nmagra_(rezisa),4\nppt_(ppt),4\n25:16,7\namelie_(lf),4\nlanguage_barrier,0\ncheezar,1\nashalle,1\nyusa_(polygonheart),4\nqueen_(band),3\nkidney,0\nnunu_(lol),4\nlight_yagami,4\ndeaf,0\nbroken_neck,0\nsquadrick,4\nrunnerman360,1\nshina_(bloody_roar),4\nflint_(bad_dragon),4\nonedirtydog,1\nbanishment,0\nfire_fart,0\nelastrator,0\nazalea,4\nstella_(balto),4\nobscurabuns,1\nmeowing,0\npenis_sitting,0\nmiekyll,1\nshibatheinu,1\ndnaxcat,3\nnatalie_grayswift,4\nguff_(fortnite),4\nmothux,1\nkessler,4\nball_penetration,0\nsuper_soldier,0\nboss_battle,0\ndc_super_hero_girls,3\ninner_mouth,0\ntears_of_rage,0\nraven_fields,4\njordan_wolf,1\nlevxrus,1\nfutaba_sakura,4\ncarrots_(starman),4\nnatasha_(kitfox-crimson),4\n8haon8,1\naoki_kanji,1\ncare_bear_cousins,3\nventral_scales,0\nremoving_condom,0\nroadkill_(sufficient),4\nrockstar_chica_(fnaf),4\nbardis,4\nthatdirgedude,1\npaprika_(miso_souperstar),4\nlightsongfox,4\ncartoonsaur,1\nnyx_(quin-nsfw),4\ntaithefox,4\nqaoxia,1\nzipper_(character),4\ntavix,4\norange_tail_feathers,0\nyellow_ear_frill,0\nbox_tie,0\ncheeki,1\nhilda_(hilda),4\nbarnaby_(overzen),4\nqīngjiǔ,4\ngandalf_the_grey,4\nerial_kathranis,4\nholding_belt,0\norbulon,4\nsaniko,4\naar0njay,1\nalicefrainer,1\nlapis_(chowdie),4\nweblure,1\nvancefluff,1\npublic_park,0\ncocooned,0\npumadime,1\nnova_(ketzio_and_gbb),4\nowlflame,4\nmaxwell_(hamtaro),4\nisis_(mythology),4\nsandy_(kemono_friends),4\nflou,1\nchi_(cat),4\nmaria_pappas,4\nsollace,1\niti_crossgender,0\nkhamira,4\nkuavera,1\nwindzurartz,1\nlumia_(raven_wolf),4\nnumbertwos,1\nshadowhulk,1\ncorruption_(species),5\npan_flute,0\nvergence,4\nshort_mane,0\nclippers,0\naircraft_carrier,0\ntizzle_bizzle,1\nspike_spiegel,4\ntrying_not_to_laugh,0\nfat_grab,0\nchiger,4\nmotosuwa,1\nscaffolding,0\nchecker_pattern,0\ndemon_on_angel,0\nguana,4\nneji_neji,1\nthe_king_(armello),4\nshimera,4\nslicing,0\nsprinting,0\nboneless_(mlp),4\nglowing_hand,0\nplotcore,1\nsoap_dispenser,0\nshoe_laces,0\nbloodshot23,1\nnazi_salute,0\nbobbycheez,1\nsixfoot,1\nnoodle_arms,0\nshakumi,1\nmana_(skimike),4\nyarn_in_the_closet,3\nakiwarumono,1\nsammi,4\npticenoga_(natalie_de_corsair),4\ndoragia,4\ntranslucent_thong,0\nspitz_(princelykaden),4\nerogenous_change,0\ncelestbrook,1\nlooking_at_own_genitalia,0\ngold_armwear,0\n13titoazazel,1\ncaramelhooves,1\nzahra_(dragonlordfluffyxd),4\nzady,1\nmarci_avilov,4\nhermit_moth,1\npierreperifel,1\npaz_(kkoart),4\nsapphire_(flafty),4\nmetal_barrel,0\nmitts,0\nklaushy,1\nshuichi_kagaya,4\nnihilistdigby,1\nmarco_(marcofox),4\ntape_recorder,0\nyoke,0\nsandra's_day,3\njasmine_(rowanakita),4\nsea_grass,0\nimprovised_buttplug,0\nmaddie_(back_to_the_outback),4\nled_(ironkongstudios),4\npuffy_(ayaka),4\nneff_(smneff),4\nkara_(picti),4\ngaia_(charityssongbird),4\ngyi.,1\npuffkiss,0\nhyper_flare,0\ncat_cutout,0\nshaver,0\nfather_fingering_son,0\nshared_thought_bubble,0\nlight_whiskers,0\nhot_dog_costume,0\napologetic,0\nserbaka,5\nangela_(disambiguation),4\nscruffydraws,1\ntiny_arms,0\nraven30_(artist),1\nfull_exadian,5\nmia_(marbearis),4\npotara_earrings,0\nkinaisan22511,1\ncat_stockings,0\nkuso_800t,1\nfunkybun_(character),4\nophelia_(critterdome),4\nmaloo,4\ngenital_fluids_on_body,0\ntwokindswierdo,1\nmirig_(aygee),4\nleongar,4\nivy_(eerieviolet),4\nraythefox,1\nmurenase!_seton_gakuen,3\nbigok,1\npenetrated_by_pumpkin,0\nspencer_(spencer),4\nmikes,4\nkobold_(5e),5\nquartz_xtal,4\njessicanyuchi,1\nbellamy_(gasaraki2007),4\nshilensis,4\nscarlet_(oofrowdy),4\nwing_ring,0\narm_length_gloves,0\nrfta,1\naurora-chiaro,1\nkhaybat,4\nsqueak,0\ndem,4\ntsuna0,1\nbaxxid,5\nredmiles_the_shark,4\nsolita,4\nplasdurock,4\nnommz_(character),4\nkoobi,4\nmythcomplex,1\ntexy,4\nwhyteyote,3\nmiko_(character),4\ndickpenis,4\nhoshi_kubi,1\nnightlinez,1\nharipo_(artist),1\nnoons_(character),4\ntyelle_(character),4\nkyra_(cadray),4\nfeminist,0\nazure_velour_(mlp),4\nprofessor_birch,4\nbackwards,0\nveedramon,5\ngkg,1\nnycket,1\nneon_fur,0\nscamwich,1\nxxmioxx,1\nluminari,5\nhumilliation,0\nval_raptyress,4\ndrake-van-howler,4\nozyosa,1\nnobody_(kingdom_hearts),5\nlaish,4\nkiki,4\ncraid,4\ndrake_(tasuric),4\npapers_please,3\npentoolqueen,1\nclairissa,4\nmelanie_(cainesart),4\ntekuho,1\ntyni,4\nrebel_(nuclear_throne),4\nkawacy,1\nkael,4\nwolfcat95,1\nresurrection,0\ntheodore_cooper,4\nmadoka_kaname,4\nponyecho,1\npenny_darwin,4\nkilowolff,4\nfrostibunni,4\nhalf-orc,5\nflicker_show_(oc),4\nono,4\nkagesan,1\nnut-bar,1\nbruno-dz,1\ncoren,4\nyurii,4\ncloakedthief,3\nrosa_(gvh),4\nla_pockis,1\nvaliamoonseer,4\nblackrose_(.hack),4\ntanpopo_hayabusa-maru,1\nmistic_hobo_(artist),1\nwyla_(furball),4\nmurphy_(ajmarekart),4\ndirtydooddoodlez,1\nalex_(my_life_with_fel),4\nbuzz_the_bee,4\ndarkarlett_(character),4\nchien,4\npolarwave,1\nluca_(nouyorus),4\nrams_(world_flipper),4\nzem_(artist),1\nren_(vee4eva),4\ndynamictrigger22,1\nangrytotemwolf,1\nzylk0r,4\nstella_(gvh),4\nboypretties,1\nverelin,1\nlavin,4\ngoatonomous,1\ndirtyhorror,1\npokéball_censor,0\nyumich,1\ncouvert_(kishibe),4\nkirby's_dream_land_3,3\ncolorwrath,1\nschmuccubus,1\nmyrian_(veo),4\nsuction_cup_dildo,0\nnsfwbunniii,1\npadjet_harrington,4\nafrican_golden_wolf,5\nmikhael_rosenburg_(oc),4\nleofel_barraund,1\nchin_balls,0\nleo_simensen_(s0uthw3st),4\ncuadraws,1\njoze_osaka,1\nvashja,4\nmulticolored_sex_toy,0\nhestis_(fidchellvore),4\nbutt_window,0\nhufnaar_(character),4\nwarden_(minecraft),5\nnobinolife,1\ndarkadibuja,1\nbutt_rubbing,0\nthe_boy_(the_last_guardian),4\nbodskih,1\naugen_sinum_(character),4\nrexton_industries,1\ngrey_antennae,0\ntimber_(oc),4\nfansl,1\nliviuh,0\nmooexe,1\nzeriie,1\ncash_(character),4\ntighs,0\nabstractunitorn,1\ncarnivore_cafe,3\nperineal_raphe,0\nskapu,1\niron_collar,0\nouttabellets,1\nmizuchi_(beastars),4\npurple_loincloth,0\nverobunnsx,1\nzashi_(ashes),4\nthick_feathers,0\nghostface_(scream),4\none-piece_suit,0\nnumber_tattoo,0\nchris_redfield_(resident_evil),4\nveloceryx,1\nglowing_head,0\nscreen_light,0\nzakurujay,1\ndekamaster,4\nbrightosaur,5\ndarius_koopa_(character),4\nxxxbattery,1\nbucklesandleather96,1\nmirror_universe,0\nartistorphy,1\nmutants,0\nmaelice,1\nskerpent,5\nohyuki,1\nkecha_wacha,5\nthemanesex,1\nkennel,0\nphilosophy,0\nmoving_vehicle,0\noldmusic_(artist),1\nrabbit_hole_brothel,3\nhighschool_of_the_dead,3\noral_fisting,0\nyagi_mutsuki,1\ncielo_rey,4\nfelix_(kevintheradioguy),4\nsuper_mario_3d_land,3\nlag,1\nepic93,1\nwhimsun,4\ndodgeball,0\ntygger,1\nmendo_(bgn),4\nhand_on_lap,0\nbandi_(character),4\ngrizard,4\ngrawlee,4\nming,4\narrow_(scuzzyfox),4\nz2727,1\nbbm,0\nrookiex,1\nknick_knack,3\nbarraki,5\ndark_skirt,0\nkingjnar,1\nkumakai,1\nwolfdan86,1\npencethehence,1\ngreen_bikini_top,0\nloy_miyazaki,4\nennis,4\nhally_(hally),4\nstamin-up,1\nrenny_(darkwheel1),4\nn_gata21,1\nllydia_the_fluff_dragon_(darkflamewolf),4\nmarina_(misterz100),4\nboss_(kamui_shirow),4\nlisse_(leah),4\nsintastein,1\nlily_(lagotrope),4\ntreyer_(character),4\nthe_courier_(fallout),4\nrodrick_(colelucario),4\nammy_rootpaws,1\nathkore,4\numbris_(character),4\nsaph_(izzy223),4\nzebra10045,1\nkinuli,1\nkocia_pierdocia,4\njack_(jackwolf),4\nelectrode_pad,0\nburgersnshakes,1\nspawnofchernobog,1\npaul_robertson,1\nc1a0,1\nedwiener,1\nblue_exorcist,3\nstorm_(minotaur_hotel),4\neric_the_dragon,4\nwereshark,5\nxanthippos,1\nvelvetqueenh,1\nnitorou,1\ntank_(mykiio),4\nsesquin,4\nsakitastar,1\nsuperlolian,1\nsyrusdragon,4\nkane780302,1\nsteve_prescott,1\npoptop,5\ndisembodied_voice,0\nliglig,3\ndirtiran,1\nrum_chaser,4\nkomiger,4\nshy001,3\nraphian,4\nakaname,4\nplayer,4\ntetsuya_inoue,4\ncaptainhoers,1\ngekko_(zelda),5\nburlywood_ears,0\nrandomdrawpony,1\nerlik_(tfzn),4\nkatja,1\nwelcome_mat,0\nksenik,1\ntapering_glans,0\nprecum_on_own_balls,0\naimee,4\nteres_major,0\nitazura_igen,1\nplushie_pred,0\ntouching_own_head,0\nsyndra_(lol),4\nclay_(enginetrap),4\npyroshay_(pyrojey),4\nvirgil_(virgil_deer),4\nellie_(elicitie),4\nnicovault,1\njames_(masterjames),4\ntiamat_(smite),4\nmulipios,4\ngael_(windborn),4\nrawhell,1\ntorn_coat,0\nredpandawaifu,1\ntachidomatte,1\nsirius_hoshi_skaarsgard,4\npecking,0\nchisana,1\nopen_flap,0\nguppy_(boi),4\npatra,4\nplace_mat,0\ne.m.m.i.,4\nztar4,4\nsailor_mercury,4\nsitting_on_shoulders,0\naxey,4\nredheadpika,1\ndisk,0\ncontra,3\nmargay_(kemono_friends),4\nsuk0tto,1\nsyberfox,1\n3dconfursion_(editor),1\nchuck_(rocko's_modern_life),4\nrufus_b._cobber,4\ncriticalhit64,3\nmillie_p_geot,4\nheriyama,1\nkhyn,5\nmoneyshot_(artist),1\nself_hypnosis,0\nglytch_koore,4\nvaya,4\nwerefish,5\nakane-ichii-kitsune,1\nfancymisslady,1\naiya,4\nsnufkin,4\ncum_on_pubes,0\nfleetway,3\ncraftyandy,1\nk-ho,1\npenis_rubbing,0\nalex_kl5,1\nabyss_(scorp29),4\naeroingo,1\ngwynevere,4\ntron_bonne,4\nreiva_the_rabbit,4\nhellsing_ultimate,3\nartsy,1\nhaley_maruti,4\nmantis_shrimp,5\ncat_noir,4\ngabe_(character),4\nraksha_silvermoon,4\nseth'cor,4\nrednight,1\ntarget_corporation,3\nluckytama,4\ncashew_(sif),4\nanal_training,0\nsketchyknight,1\ndawn_crumhorn,4\ngitani,4\ntutu_(animal_crossing),4\nshayde,4\nlustrous-dreams,1\npopon13,1\nselena_shadowpaw,4\nrikkoshaye,1\nwaismuth,1\nsyrinox,4\nboog_(open_season),4\nassassination_classroom,3\ncleopatra_jazz_(mlp),4\nsheanimale,1\nstaghart,4\nroarak,4\nseif,4\ntony_(katnay),4\nfernando_vargas,1\npokefusionman,1\ncarbonoid,1\nspottedchai,1\noral_slit_play,0\nmangus0723,1\norion_schilt,4\ndizzy_(guilty_gear),4\nvibrato,4\nnurro_denthyme,4\nkieren,4\nyayster,1\nogre_(dragon_quest_x),5\naudlin,4\nholographic_fur,0\nspear_(primal),4\nglowing_antennae,0\nreynard_foxglove,4\ncamilla_(101_dalmatians),4\ncaroline_(animal_crossing),4\nguard_(squid_game),4\nmutlicolored_skin,0\ntakoros_(character),4\nthatblackcopfromdawnofthedead,1\nreed_thomas_(the_dogsmith),4\nnilghais,4\ndocu_(divide),4\npan_(sxfpantera),4\npandarita,1\nalex_nerpy_fox,4\narten_reichtum,4\nrupey,4\npiper_(animal_crossing),4\naerial_silk,0\nsuzune_(acky05),4\narexualex,1\nruneechan,1\ndraco_(zephyrthedrake),4\nkulplant,1\nlucid_rose,4\nyonaki,1\nzrin,4\nballon,0\ngudako_(fate),4\nosopolar-kun,1\nyoungtani,4\ndaystone,3\nowlel,1\ngem_(naughtymorg),4\nterri_the_dragon,1\ndecky_(pongodecky),4\nines_(eleode),4\ntyrcola,1\nmsdk_max,1\nzombiesunlight,1\nfuria_(zuboko),4\nshetland_pony,5\ntitanian,5\nrobotic_legs,0\ntrigger_word,0\nkyou_(ittla),4\nvenasii,1\nkengo_takabushi,4\nberurun,5\ncropped_tank_top,0\nmadoka_tagokoro,4\nrobinstic,1\nangel_(dragon_ball),5\nthirsthound,1\nkatie_(study_partners),4\nsabbasarts,1\ntitezi-pyrump-art,1\nbattle_beast,3\npseudo_pussy,0\nrodraccoon,1\nthedemonfoxy,1\njazz_hands,0\narrjaysketch,1\nartsu_(artsu),4\nwrist_tattoo,0\nbackstripe,0\nplanetary_macro,0\nbaggy,0\nfingering_mouth,0\nantoinette_(el_senor_erizo),4\nrope_around_penis,0\n4rchf1end,1\nbolo_(shantae),4\ncum_unplugged,0\nmstdndkkkkk,1\nember_the_firesmart_fox,4\nvenus_(smashmat),4\nholding_feces,0\nken_(sush1d0g3),4\ngummy_(disambiguation),4\nholding_ladle,0\nhuwon,1\nholding_scissors,0\ndomehead_(commissioner),3\nphosbara,1\nbeepsweets,1\nmashup,0\nsteamedeggz,1\ngavrok,4\nsamantha_(disambiguation),4\ntleatlnox59,1\nexodite,4\nmelia_(indynd),4\nheart_thigh_highs,0\nmegusuri,1\nglistening_food,0\nclaw_gloves,0\narkeus,1\nkarin_kinako,1\nmulticolored_robe,0\nkeenadraws,1\nwaldo_(where's_waldo?),4\nastralis_(bzeh),4\nsigil_of_baphomet,0\neffie_(bypbap),4\nnathan_(aogami),4\nwolzard_sternheld,4\nchyme,0\nlemonbastards,1\ndimitri_2_(101_dalmatians),4\ntiffany_lyall,4\ntanzanite,1\nholding_parasol,0\ndetective_button,4\nred_hair_tips,0\nlynxie_(subtiltycypress),4\nkemonofluffy,1\nriller,4\nkeetahspacecat,1\ntony_tony_chopper_(heavy_point_form),4\ncanadian_flag_bikini,0\nembarrassed_nude_anthro,0\ncanine_skull,0\nmusachan,1\nzonkeyshow,1\ncuresnow,1\nmat_(mbh98),4\nheight_reduction,0\nrain_the_vaporeon,4\ncarys_(nebula1701),4\nsocarter,1\ntentacles_in_water,0\naethis_stormlight,4\noro_(danji-isthmus),4\nlusus_naturae,5\nyugklabs,1\n1_finger,0\nallanor_(carenath),4\nmissing_finger,0\naluminum,0\ncocoa_(trout),4\nleaning_on_elbows,0\ninking,5\ncarmen_hardon_(rampage0118),4\nlindsay_cibos,1\ngauze,0\nstilts,0\nmistressbloodershy,1\ncloaca_juice_drip,0\ntan_underbelly,0\nannmaren,1\ncolplasticat,1\nguppy_(thatpuggy),4\nsorvete,4\nstardust_kids,3\nahastar_(artist),1\nterry_(slashysmiley),4\nnobby,1\ngamepony-verysecret,1\nrayn_luxray,4\nbryanshoot,1\nkaitoharo99,1\nbagelbytes,1\npointing_gun_at_viewer,0\nnihaku,1\nfaleen,4\ncropped_topwear,0\npee_on_face,0\nsalun_(pjt),4\nanimalk,1\nraize_d'herian,4\npheromosa1111,1\nmetallic_wings,0\n6:13,7\nlycus_(ayx),4\nstraining_clothing,0\ndiesel_(101_dalmatians),4\ntoko,4\nlivestock,0\nsylus-foxdragon,1\nvulcan,5\nearthia_the_seedrian,4\npotchi,1\nlabyrinth,0\npochiro,4\nreykay,1\nprince_of_peent,4\ngurimjang,1\nnubbed_tentacles,0\nchestopher,4\nthoron,4\nbaojun,4\nzephere,4\ngaroto_guloso,1\nsiv_(urw),4\nscarlett,4\nkoyo_whitepaw,4\nclancy_(tokifuji),4\nsix_(monferno),4\nnalesia,1\nopenlor,1\nabsinthy,4\nsweet_shalquoir,4\nkeira_(sparrow),4\ngoldyne,4\neliza_(mastergodai),4\ntrahern,4\nvaltykeaton,1\nblufeather,1\nviktor_balthis,4\npixelannex,1\nl_cut,4\nsilentpon3,1\nzora_link,4\nkathiras,4\nkirron,1\npart,0\nkikisinkspray,1\naimee_major,1\nwerewolf_calendar,3\nkidd_(animal_crossing),4\njess,4\ndaniela_malfor_grey,4\njuniper_(dahwchooa),4\nsleepysuccubusstudios,1\nprint_mug,0\ndoregami,1\nzephix_(aimbot-jones),4\nvanny_(echa4797),4\nspiral_tail,0\npatriot_(presto),4\nrilum_(kuromu),4\nspooks_(agrievousspooks),4\nmakupatoo,1\neat_and_run,0\ncatsudon_(character),4\ncalamath_(himynameisnobody),4\ninflated_breasts,0\nbloodred739,1\nurine_tube,0\nred_towel,0\nbrown_glasses,0\ncamo_shirt,0\ntsum_tsum,3\nmika_(mikanishi),4\npompompurin,3\ntransformative_clothing,0\nlatex_footwear,0\nvixx_(character),4\nbia_(slipperyt),4\nkcstando,1\n1cassius1,1\nkasugai,1\nalfa_(alfa995),4\nriceserpent,1\ncaim_(chu-tora),4\nyellow_neckwear,0\nkrista_van_hoorn,4\ngrey_cape,0\ndocked_ears,0\ntaoz,1\nfun_paste,0\nanomalynexus,1\nmelffy_mommy,4\narume_lux,1\nnutria_(rodent),5\npseudo-penis_penetration,0\nchains_(zoroark),4\nkira_kitira,1\ncatsuit_(disambiguation),-1\negg_in_nipples,0\nhairless_butt,0\ntherianthrope,5\nfoxavril,1\ndathomirian,5\noil-paper_umbrella,0\nbenji,4\nleviathan_(fortnite),4\npeeing_on_belly,0\nclassical_elements,0\nprismwind,4\npinkboyjay,1\nlipezkaya,1\ncum_in_own_hair,0\nkevin_(disambiguation),4\ndat,4\ndark_eyeshadow,0\numbra_(sagestrike2),4\nunusual_urine,0\nhavoc_(tatsuchan18),4\nthinking_about_another,0\nflower_bracelet,0\npon_(orionop),4\nshizuko_izumi,4\nprecum_through_jockstrap,0\nbodily_fluids_string,0\nunsheathing,0\ngold_stripes,0\nglowing_insides,0\nluxiger,1\nmulticolored_knee_highs,0\nshazetta,4\ngenital_swap,0\neostex,1\nblue_text_border,0\ngoomanagarcha,1\ngenital_fluids_on_ground,0\n5keys_x86,1\njuanito_medina,1\nquincy_(felino),4\nazon_azimuth,4\nquasi-ghost,5\nfuya_(tempupupu),1\narkanumzilong,1\nbottom_swap,0\ncid_(vg_cats),4\nsirah,4\nek_(artist),1\nassistant,4\nkate_hanami,4\nswedish_vallhund,5\nsai_(lovelymiyu),4\ntrix_(matetrix),4\neddie_(ice_age),4\ndefecating,0\nailus_tochar,4\nbranding_mark,0\ntherealnaffy,1\nsafi,4\nfire_dancing,0\nbrann,4\npaul_defenbaugh,1\nflaich,1\nurban-coyote,1\nvolga_(thievery),4\nflame_atronach,5\nkarabela,4\nmika_(skimike),4\nfightbite,4\nsnow_drift_(oc),4\nlovesick,0\nxial,4\nkio_(keovi),3\nsenrai,4\nsakkan,1\nundercover,0\naegis_tunesmith,4\nlil_(katnay),4\ncolorlesscupcake,1\nbarb_castor,4\nsharingan,0\nshego,4\nblues27xx,1\ncaprino_bencivenni,4\njasmine,4\njoellethenose,1\nherd,0\nnantaly,1\nluxianne,1\nsouzousha,1\nsnow_taradien,4\ncockatrice_(mlp),4\nhelg,1\nepcot,3\nsir-prince,1\nbalrog_(cave_story),4\nforeskin_worship,0\ncremia,4\ntriprat,4\nkrall,5\nmary_ann,4\narkblon,4\nc4th,1\neinar,4\nvisual_commodity,1\ninstant_orgasm,0\nlegion_(character),4\njorlus,4\nbuurgerboy,1\npussy_creature,5\nx1x1,1\nd'arcy,4\nanesthesia,0\nclementine_(plantpenetrator),4\nalbeon,4\nknullmannen_(artist),1\nvethuleion,4\nrastafarian,0\nrtas_'vadum,4\ntophatharry,1\ncontessa_skunk,4\ncarligercarl,1\nsolomonfletcher,1\nmutton_chops,0\nbossman1969,1\nissah_wywin,4\nninggeez,4\nscribbles,4\nelowyn,4\neclipser,1\nmohawkrex,1\navimedes,1\nkrispy_(character),4\nmiss_dagger,4\nnobuyuki,1\neamze,1\nlibra_(lazyhowl),4\npyronica,4\ntaeko,4\nkell_dewclaw,4\nheartz,1\nda1k1ra,1\nrena_tamer,1\nevil_eyes,0\nakari,1\ndorian_pavus,4\nkarura_(artist),1\nhoney_nut_cheerios,3\nruun,4\ntaski_(character),4\nstoking,0\nvanir,4\njiji_(kds),4\nnidopug,1\nbunniehkins,1\nkinkangel,1\nchemicalcrux,1\ntoumal_(character),4\npaw_holding,0\nkuro_(darkumbreon90),4\nquo_(rubbishdragon),4\nfurbulous,0\nmanazlash,1\nivalician_moogle,5\nkartoffelowo,4\ngame_cover,0\nfiworo,1\ntammy_(tammycat),4\nsz,1\npoge_jirushi,1\nready_player_one,3\n327b_(artist),1\nchiclet_(roommates),4\nfaye_valentine,4\nheart-of-a-dragoness,1\namber_(nebulilac),4\nrepent,4\nasta_windsong,4\nlunamuenster,1\nkoebi,4\nlady-t_(artist),1\nprototype_shadow_blitz,4\nvethehex,4\nezra_(torgore),4\nboxxmore,1\nstygian_(mlp),4\ntaliamirai,1\ntwin_drills,0\nmuscle_man_(regular_show),4\nfeather_stride_(character),4\nfolds,0\ngrizzlyear34,1\nbandi_(xen),4\nsnow_goose,5\naro_rouon,4\nyokogami,1\nfarfalle_(ehnu),4\ncoffee_bean,0\nexercise_ball_dildo,0\ninbis,4\nbonnie_(dirkstridoritos),4\namiga_family,3\ntserera,1\ncottontail_fizz,4\ninflation_fetish,0\nhakashe_(inukon_geek),4\nlarger_semi-anthro,0\ndarius_aurelius,4\nandy_borrego_(zaush),4\nregunya,1\nrandom-bard,1\nbeverage_bottle,0\nmaxiinne_sylver,4\ntwo_tone_flesh,0\nsmall_glans,0\nnexiv_foxclaw,1\nmarlena_(empskit),4\nren_(remanedur),4\nnemi_(dinodoggo),4\ndh29pcr,1\nrin_i9,1\nbaccus_loka,4\nsilas_(ratte),4\nleather_legband,0\nhoverbike,0\nthekitsunegamer,1\nspicy_triangles,1\npngtuber,3\nfeo_ul,4\ncussing,0\nkyoka_(princess_connect),4\nsinscaliecringe_(artistdragon),1\nwavebird_controller,0\negg_creature,5\nandre_taslim,4\nshoop_da_whoop,3\ndaisy_(daisypayne),4\npink_text_box,0\nsyd_(useful_bear),4\nartin_(bogexboog),4\nback_fur,0\nsolt,1\ncattle_(petruz),4\nracist_slur,0\nbarbie_(doll),3\nsnowcone_(awintermoose),4\nfox4,1\napollo_(cheetahmen),4\nmarumaru_hh,1\nsquirm_(sound_effect),0\nvirginia_wolfe,4\nprecum_on_belly,0\nvoregence,1\ncarter_(major_carter),4\nyin_(lilo_and_stitch),4\nocelotlrama,1\nalbert_(moordred),4\nwedge_sneakers,0\ndtfrisk345,1\ntori_saito,4\nslipped,0\nsmoke_from_belly,0\nsinthetic,1\nchubbybunns,1\npride_color_towel,0\nleaning_on,0\nabstract_text,0\natomic_bomb,1\ndixydelightful,1\ndannydregorak,4\nscrunched_nose,0\ndakota_(rayliicious),4\njagg_(thatgryphonguy),4\nl0ad1ng,1\npourwatter,1\nzipper_underwear,0\nnidinen,1\nmkogwheel,1\nmalocke_(himeros),4\ninuarashi,1\nred_(aurawing),4\niris_ar-cerra,4\nwillian_shion,1\nplague_doctor_(darkest_dungeon),4\nplasma_grunt,4\nsarah_(dog_fox),4\ncaffeine,0\nquinny,4\ncogsworth,4\nsnake_pony,5\nmonkey_bars,0\nacidskunkwolf,1\nligynkey,1\ndovecoon,1\nchyo,0\nsojin_advance,1\nchris_bunny,4\npectoral_fin,0\nsol_(luvdiz),4\nleech_(kostos_art),4\namarthgul,1\nsurcoat,0\ncory_(hevymin),4\nvisitor,4\nsarah,4\nshoronpo,4\nspur_(thepatchedragon),4\nwatermelon_print,0\nbuffy-sugo,4\nquick_bourne,4\nellkir_fox,1\nuhokue,1\nkineris_(artist),1\nspudtagus,4\neleutherodactylus,5\ndiana_(idontknow2),4\nmia_helsinki,4\ndignity_or_debt,3\nyasano,1\nhelios_(talarath),4\nslightly_artistic,3\nslim_humanoid,0\nfake_tiger_ears,0\nflickering_heart,0\ndkase,1\nstretched_mouth,0\nholding_melon,0\nlight_genitals,0\nsebastian_(askim_shepherd),4\nmarielle_oakem,4\nbandits,0\nwedge_sandals,0\nruttinren,1\npche,1\nbjorn_jr,4\nizanagi,4\nmetal_fence,0\nstan_paprika,4\nandrewgtrez,1\nbular,4\njahlee_lebeau,4\nhamham_sexy_dragon,4\nrykliss_(tolerain),4\nskunkinsly,1\ncheckered_bandanna,0\nchunks_(bestdoggo),4\nsareis_(manene),4\nsharon_(naughtymorg),4\nfoxero,1\nholding_object_with_feet,0\npekopekokuma,1\narms_on_breasts,0\nbetween_mouths,0\nsandy_marton,3\nchuffo,4\nthebigblackcod,1\nboot_licking,0\naika_(tomlloyd),4\nblue_text_box,0\nsoddo_(ironkongstudios),4\npawprint_print,0\nflorence_(deer),4\nblepishepi,1\nbarboros_(anothereidos_r),4\ncaleb_(fuze),4\ndeadpotato,1\nmercury_ruslanovich,4\nrylai_the_pokegirl,4\ngreepurl,1\npixwell,1\nchromie_(warcraft),4\nthe_doll_(bloodborne),4\nfelixgryphon,4\ndendrophilia,0\nflare_(flarevrc),4\npawprint_in_signature,0\nmize_(ironkongstudios),4\nryke,4\ngusset,0\nnyabeyo,1\naarakocra_(dnd),5\nkey_ring,0\nlyka_(gau),4\njessica_whiteclawz,4\nsatanick,4\nbeast_(pikmin),5\nenna_alouette,4\njadeart9,1\nyaph_(amodestmouse),4\nfringe_clothing,0\nsips_n_scales,3\ntired_look,0\nrotsw,1\nlight_(world_flipper),4\nsubmissive_taur,0\ncollege_tem_(jyto),4\ncaptain_dragon,4\njeryl,4\nlucky_(disambiguation),-1\ni4_kan,1\nautumn_(kumacat),4\nodile_nightingale,4\nsheep_witch,4\nlatte_(vonnir),4\nmyra_(glacierclear),4\ngosannana,1\nlarikane,1\ngrand_theft_auto:_san_andreas,3\ncaribe,1\nfennecsilvestre,1\nberry_wabeet_(slb),4\nbeth_(masterj291),4\nkamrose_(stinger),4\nusagine_(tenshoku_safari),4\nbonnie_valentine,4\ndjako_hyena,1\nwhiteraff,1\nexodia_the_forbidden_one,4\nzero_chan,4\njulie_delacroix,4\ntheta_iota_kappa,3\ntorartlol,1\neugene_(animal_crossing),4\ndekxer,1\nshirakami,4\nsatomi_renshu,4\nice_face_eiscue,5\nlazarus_(lazarus13),4\nwakamolez,1\nkylie_(alphafox1234),4\npenis_in_stocking,0\ncollie_(mal-and-collie),4\nrevy_(terrythetazzytiger),4\nlolscarletxi,1\nnoname_slow,1\nlaser_sword,0\nevy,4\npawberry,1\nmistmane_(mlp),4\nroberto_(twokinds),4\nvelvet_(coldfrontvelvet),4\nfalchion,0\nchikara,4\nhylogon,1\njo_(poonani),4\nnedd_bear_(fnaf),4\nwawo,1\nh_rt2,1\nkitty_is_not_a_cat,3\nreduncine,5\nplateon_blueneon_(character),4\ndaroondar,4\nursa_(gummi_bears),4\nchess_(chesshire),4\nallyson,4\nhumorous_sound_effects,0\ndracaris,4\nkuon_(cyanroll),4\nruck_the_rockruff,4\nkinar_(kinarofficial),4\nkimbies214,1\neyebrows_off_head,0\negk513,1\nnorodoggo,1\ndrug_addict,0\nqalcove_(character),4\nprint_sweater,0\nbriznaburr,1\nhyper_extensor_carpi,0\nwhip_collar,1\nsephie_(sephieredzone),4\nhadva_(wub),4\njohnnyzzart,1\nhikoero777,1\nnaughtyxerigart,1\naix_(andreariel),4\ncoinn8,1\nquaint_and_crazy_ventures,3\nalex_carter,4\nearth_manipulation,0\ntaweret_(moon_knight),4\nartrogero_(artist),1\nhorus_(tas),4\nred_backpack,0\nsileynus,1\nfoglia_(wanderlust),4\nfezateru_dragon,5\naaron_(avali),4\nsubmissive_maleherm,0\ndichromatic_eyes,0\nkinktober2022,0\nbestiality_pregnancy,0\n32:27,0\nmexicanjoe,1\nlouiz,1\ntristan_(bluebunboi),4\nsasha_(imbeethebunny),4\nwilma_the_sheep,4\nmune_(guardian_of_the_moon),4\nakaighoul,1\nspraying_water,0\nchip_(rawpotatochip),4\nnightcrawler_(kaiju_paradise),4\nash_greytree,4\njust_woke_up,0\nfloral_markings,0\npfp,0\nevan_(sharkrags),4\nzubuzz,1\nslurp_juice,0\ntheo_marks,4\nhealin'_good_precure,3\numbrella_soldier_(resident_evil),4\nescher_drxii,4\nraccoonbro,1\namphithere,5\nwink_(mt),4\nmochi_(rainbowscreen),4\nmono_(artist),1\ncantor_(hextra),4\nthundurus_(therian_form),5\njustin_turner,4\nhog-nosed_snake,5\nj_flores_draws,1\ntopo_(musashi),4\nfoolgirl,1\nkuumar_(artca9),4\nprint_handwear,0\nlooking_at_tail,0\nelisa_(teer),4\nwethamster1,1\nraaf_helder_(character),4\nchewybun,1\nstormbreeze,4\npink_condom,0\nrige21,1\nyiffnotgif,1\neliza_(pwcsponson),4\nxandria,4\nbeakbum,1\nchristopherfoxman,4\nshawl_only,0\nmayumochi,1\nboss_fight,0\nequine_satyr,5\nmaximirusupauaa,1\nchizitx,1\nlaure_(alexthecatte),4\nbalter_(connivingrat),4\ntal_(gmeen),4\nrockin_candies,1\naaron_d'verse,4\nyakinikuinu,1\ngriff_(rtzero),4\ncrowne_(live-a-hero),4\nalx_(lousy7),4\nlactation_denial,0\npmd-unity,3\nbedtime_story,0\nred_eyelashes,0\nshelty,4\nkeke_(kirby),4\nfang_matos,4\nowl_(winnie_the_pooh),4\nrukasu,1\nsmall_body,0\nmyst_(wyldfire),4\ngamba,4\nkacheek,5\nperci,4\nmalorne,1\nxeánica,4\npeggy_(nanimoose),4\nbecka,4\nnalani,4\npersegan,1\nbeowulf_kennedy,1\nandrew_reynart,4\nmelba_(animal_crossing),4\ntailbiter,1\nnic_(dewott),4\nchilon,1\nmixels,3\nnatasha_vladislaus,4\ntriple-shot,1\ncruelpix,1\ndazed-and-wandering,1\njack_hunter,4\nrockytheprocy,1\ngamorrean,5\nranshin,4\nsweat_stains,0\nnajarala,5\nkirita,1\nnagano_tenzen,1\nattempted_autofellatio,0\nalamode,4\ndoctorconnie,1\nlapino,4\nkaji_aldewolf,4\nzambuka_(character),4\ndispari,4\nwhoa_nelly_(mlp),4\nbune,4\ndave_rapoza,1\nteeka_(karno),4\npinkthehedgehog,1\nflossing,0\nomega,4\ntiercel,4\nserengeti_(gideon),4\njinxy_falina,4\nnaughtyimp,1\nyotiecoyote,4\njesse_(onta),4\neddie_(guffaw),4\nstigmata,1\nki_ko,4\njayce_(cursedmarked),4\naliss_(tits),4\nsorika_mai_selena,4\nbabbuful,1\nstreaky_the_supercat,4\nwario_land,3\nponyclopsasaurus,1\neris_(legends_of_chima),4\nwhat_if,0\npainted_underwear,0\nzahira,4\ntommy_the_buizel,4\nzigzagziggy,4\nmimic_princess,4\ncheese_(modeseven),4\nwaddle_doo,5\nwick,4\ndanny_(nitw),4\ncyrus,4\nnessie,4\ngranoa,4\nsmoothie_(artist),1\nlesson_zero,0\ndentist_(artist),1\nwangkingfun,1\nteam_flare,3\nthe_last_supper,3\nsands_of_destruction,3\ndaxxe_(character),4\ntianshi,4\nforneus,4\nmistress_ruby,4\ncatherine_(video_game),3\ntattletail,3\nshnitzel,4\nshiro_kamaitachi,4\nviperious,4\nplaguelizard,1\nauto_(artist),1\nwerew0lfyiff,1\nthe_dragon_next_door,3\nscylez,4\nsweetvixsin,1\nfractal,0\nyung_yagili,4\neloriya,4\npandy_panda,4\nmonique_(animal_crossing),4\nhahli,4\nrexam-1,1\nrex_(bad_dragon),4\narepo,4\nrabies,0\nnurse_sweetheart_(mlp),4\nmorrogh,4\nvalnos,4\npeterandwhitney,1\nzodd,4\nmythril_blackpaw,4\nkiisa,4\nlukemgh,1\nsaasmimz,1\nroy_(9tales),4\ntaiko-sihori,1\nbrennan_d_vries,1\nthenameisradio,1\nmarinemarines2,1\nkhaz_(artist),1\ngreen_belt,0\nbartlebyjones,1\nwally_(mhdrawin),4\nvibe_(hoodielazer),4\nortwin_rd,1\ninfinite_anal_beads,0\npink_sandals,0\nkujo,1\nnetcrow,1\nblowing_smoke,0\nketei_(character),4\nmike_(freehugz),4\npseudofaun,1\nkenshin_midori,4\nninna_(ninnasaurio),4\nbart_addams,4\ntokaya,5\nbig_collar,0\narms_on_knees,0\nxiztit,4\nblack_lives_matter,3\nland_of_the_lustrous,3\ntwo_tone_tank_top,0\nchanceyb,1\nruffythelion,1\npink_kimono,0\ndeltaswap,0\nbluetick_coonhound,5\nflybeeth,1\nshiaz,1\nevy_(fish_birb),4\nbanan_zielony_(dudelinooo),4\nkathrina_prowler,4\nbow_kori,4\nmarble_(kitfox-crimson),4\nshowcase,0\nathletic_taur,0\nears_on_shoulders,0\nnail_(evilthabad),4\nfluffy_clothing,0\nparacanthurus,5\nscarab_locke,4\ncrimson_night,4\nbelfryluna,1\ngold_mask,0\nharper_(harperpibble),4\nlock444,1\nhymin_(hybrid-mind),4\nitzkoaro,1\nhand_fetish,0\ninbetweenie_navel,0\nwallross,1\nleo_zeke,1\nsingle_strap_topwear,0\nthrisker,1\nsniffling,0\non_top_of_penis,0\ndark_neckwear,0\naniko_rose,4\necholocaution,3\nraithvaneal,1\netherwuther,1\nnft_monkey,4\nkelbi,5\ndeerie_(helluva_boss),4\nzeus_(bitterstrawberries),4\njoecat,1\nvlw4zegrsgtsi6e,1\nferelay,1\nalyssa_(lizet),4\nglans_in_mouth,0\ncameron_(azaleesh),4\nligia,4\na_stranger12,1\nchallenging,0\nolivia_(disambiguation),4\ntimewastedo,1\npuss_in_boots,4\nflat_top,0\ndream_merchant,1\nrectangle_rug,0\nsuper_mutant_(fallout),5\nhellfurred,1\npiker,0\nharmony_inkwell,4\npyry_(jzbthx),4\nleg_tucked_under,0\nbirbit,5\nroom_divider,0\nphiloctetes,4\ngood_and_bad_ones,0\nleah_(leo_llama),4\namper,1\npossat,5\ntrip_(artist),1\nfluffy_the_bringer_of_darkness,4\nowler,1\nlily_(theycalmehavoc),4\ngokai-chibi,1\njellse,1\nteam_charm,4\ntap,0\nslylemur,1\nruberoidart,1\nresin,0\ndarkhatboy,1\nlex_cypher,1\nhoshi_kitsunuki,1\nnina_snorlax,4\nalan_powers,4\nfillyphalanx,1\npolecat_(artist),1\nradical,0\nzpd,0\nphantom_mangle_(fnaf),4\norchard_blossom_(mlp),4\nlasterk,1\ncinderella_(copyright),3\nhelvetica_(artist),1\njumblehorse,1\nspeedy_gonzales,4\nwmruckwr,1\nchad_(a_goofy_movie),4\nalaer,1\nfio_germi,4\nmimi_lafloo,4\nrinku,1\nparty_hard,0\ndtmech,1\nderekireba,1\nprince_naveen,4\nleon_(rocko's_modern_life),4\ngingertail,1\nprofessor_genki,4\nmr._turnip_(mlp),4\nslipe,1\nnikki,4\ncleasach,4\nrainbow_panties,0\nunown_g,5\nlily_opossum,4\npickra,4\nbullet_casing,0\ndanger_duck,4\nbalderdash999,1\ndragonmassiel,4\nzigzagg,4\ntrue_love,0\nfygar,5\nmu_surai,4\nbloody_bunny,4\nallesey,1\nknox,4\nazugarlic,1\nunusual_dildo,0\nmiia's_mother_(monster_musume),4\nhyperion_(bluepanda115),4\nangela,4\njacqueline_crowlie_(feldspartan),4\nshinnycoyote,1\ngate_(series),3\nzahra_(garal),4\nbeatrice,4\nrabbitholes,1\nkinipshun,1\navi_(avibigshark),4\nvalentina,4\ntwentle_actin,4\nfighter_of_the_stars,1\nkadzukai,1\ndoncogneetoe,1\ntachitamachi,1\naaron_(cyphernova),4\ndaigo-48,1\nstarlight_(disambiguation),4\njungle_aleu,3\nkajy,1\npagrynga,1\npaldean_wooper,5\nsimargl,1\ncyan_(among_us),4\nmrs._pig_(toybox_pals),4\ncumbreon,4\nspiral_glasses,0\nrena_(disambiguation),4\nblack_sheep,4\nmarie_(cally3d),4\nluna_giraffe,4\nluxioboi22,1\noral_and_nasal_mask,0\ndrowsy_(lilo_and_stitch),4\naurora_(walurs),4\nnahura,1\nmuzz_(muzz),4\nsnow_wave,4\ndialated_pupils,0\nrieko,1\ncheers,0\nthankfullorris,1\nflat_shading,0\ndarkness789,1\nracheltheseeker,4\nmartian_(duck_dodgers),5\nzack_spades,4\nsnakehunter,1\nesther_winchester_(cuphead),4\nsummer_(101_dalmatians),4\nrainbow_bottomwear,0\npurple_makeup,0\ninsignium,4\ndanish_flag,0\ncharcoal_(artwork),7\nkimber_(devin_arts),4\nvalve_(mechanical),0\nleo_(symbol),0\nprecum_on_finger,0\nalexandra_(baronvondrachen),4\ndane_(character),4\nperfectblue97,1\nsahagin,5\ndusk_sarsis,4\nchikokuma,1\namouge,4\nsixfour_(artist),1\nuni_puma,4\ntempus_(under(her)tail),4\nromeo_ellis,4\n2_stupid_dogs,3\nnickie_(dajinn),4\nshantika,4\nbill_katt_(8chan),4\ncatboy_(character),4\nalbana-the-dragoness,1\ntemeraire,4\nfootband,0\nsuper_mario_bros_super_show,3\nasuna_yuuki,4\nxenogears,3\nailees,4\nduel_masters,3\ntsunomon,5\nlizardking,1\nprincesssilverglow,1\nfirestormsix,1\nlocked_up,0\nmetadragonart,1\nhumping_leg,0\nelisawind,1\nrelydazed,1\npilgrim,0\njonah_(alex.fetter),4\nsummer_sawsbuck,5\nwhite_fangs,0\nzymonasyh,1\nkemomimi!,3\nucweb,3\nalexalan,1\nprotein_shake,0\nbarechested,0\ngeode,0\nmatched_pair,0\nspecky-arts,1\nsmirgel,4\nwedding_gloves,0\nbraided,0\ninterlacing,7\ngendoempertags,1\ngas_pump,0\ncallie_(wrinklynewt),4\npandadough,1\ncarousel-cat,1\nrionkion,1\ngix_nightstalker,4\ndanny_(mptm),4\nboston_dynamics,3\nafrican_wildcat,5\nblackbird_(artist),1\nkevsky_draws,1\ndasoowolf,1\nsonya_mayers,4\nphusion,4\nrancid_horace,4\nf_is_for_family,3\ndanchundemei,1\ncenegan's_tentacles,4\ncelsian,1\nholding_newspaper,0\nindy_(vdisco),4\nhige_(wolf's_rain),4\nkinaya_(dbd),4\nschesta,1\nfroylan,4\ntree_root,0\nbroken_object,0\nnanten,4\nflat_stomach,0\ninfinite_urine,0\npink_accessory,0\nhoshiguma_(arknights),4\nyoshi-eats-your-pie,1\nharla,4\nmuscat_(fuga),4\neddy_dusty,1\nboney_(earthbound),4\nvictory_clint,1\nhoccult,1\ndaniel_cooper_(blair93),4\nvamcat,5\nakane_futaba,4\nhalf-beak,0\nnikku_lunatique_(character),4\nnikki_(redeye),4\nchubby_face,0\nsnowycrystalangel,1\nunbreakablebond,1\nsnak3,1\nyellow_loincloth,0\nwolfeddown,1\ntengridus,1\ncommon_coquí,5\nkugi,1\nenigma_(artist),1\nhand_on_railing,0\npiker_(thepatchedragon),4\nsyrra,4\ndaisy_(haven_insomniacovrlrd),4\nexperimental,0\nfelix_(buckfelix47),4\nfantharubi,1\npov_hands,0\norange_outline,0\ntako_(character),4\npiper,4\ntawny_fur,0\nmulticolored_helmet,0\nseth_raymond,4\nviper_rat,4\njingu_sayoko,4\nfanakfurry,1\nkairy_draws,1\ncooper_(ritzcat),4\nsarammat,1\nabryssle,4\nnotenoughpink,1\nezequiel,4\nresin_drake,4\nspook_(oc),4\nbeing_photographed,0\npogoo,1\nbrannahgirl,1\nbottomless_bar,3\npussy_juice_on_paw,0\na_walk_home,3\nborophagine,5\ntatl_(tloz),4\nsarah_(caninelove),4\nmordaine,4\nlionbear,5\nshorty_(breeze_in_the_clouds),4\nlino_(manene),4\njason_steiner,4\nstriped_hoodie,0\nbibit_(cocotama),4\nsam_(jailbird),4\nelinnayt,1\n14:11,0\n15:17,7\nkaufycream,1\nascended,5\npincerpencil,1\ntablet_computer,0\nenigma_(psychosocial),4\natehrea,1\nsexyhalofan,1\nkelly(photolol.03),4\nfervent_entropy,3\nsamantha_(jay_naylor),4\nrettriverr,1\nrayleigh,4\ndoom12,1\nthe_circle_game,0\nbrett_(bluefoxyboi),4\ncupofcoco,1\njmf32,1\nlight_outline,0\narachnymph,1\nchrry_(character),4\nmama_llama,4\nkyari_(adversarii),4\nxiaoshun,1\nsniffles_(htf),4\nhand_on_own_balls,0\nunicronian,5\ngenevieve_(micatra),4\nolivia_(zer0rebel),4\ncurtis_(sobeloart),4\nminty_(kurus),4\nyuriguba,1\nta'lesy,4\ncake_(deltarune),4\njars,0\nshon_(shonarts),4\nalulu_(paperman),4\npheeni,4\nabyssalchimo,1\nmegan_thorne,4\nspanx,4\nkoda_kattt,1\nmal_lock,1\nyamamura_sadako,4\npipe_wrench,0\nreane,4\nlimp_wrist,0\nblush_face,0\nkonno_tohiro,1\nself_milking,0\nasheru_(setting),3\nkubasama_(artist),1\nunafkennyart,1\nbalantes_tueri,3\nrainbow_claws,0\nbehind_tree,0\nchrono_bluewing,4\nmarci_mcadam,1\nmspaintponies,1\nhawkward,4\ngenesis,4\nsqjgg693,1\ngreat_blue_heron,5\nfangmon,5\ntreads,0\nthatoneweirdo,3\nundyne_(underfell),4\nmai_karmel,4\nreading_glasses,0\npromenthefus,1\nxranzem,1\n343_industries,3\nstriped_wall,0\nmedium_length_hair,0\nmushi,4\npolo_jasso,1\nrikku_(final_fantasy),4\nbrynja_(coc),4\nhair_on_breasts,0\ngreat_nix_fox,1\nnhibao,1\nstomach_wraps,0\nratchet_lomu,4\nawkward_pose,0\nsilvex,5\nwakizashi,0\nhoyeechun,1\nmerrie_melodies,3\ngriffon_vulture,5\nwrestling_belt,0\naside_glance,0\nchakisuu,1\nflashbang,0\ntengamanzero,1\nreiser,1\ndevourer,5\nfurcon,0\nmashed_potatoes,0\nblackm3sh,1\nakr,1\ndipping,0\nalma_(elfdrago),4\ntkil,0\nsteven,4\nknives_(yovi),4\nflower_tail,0\n2_talons,0\nlance_(lancefoxcia),4\nbrent_abbott,4\naarondrawsarts,1\nleslie_(experiment626),4\naeryn_(thehelmetguy),4\nbrubearbrown_(character),4\n3000vnd,1\nbyakkotig,1\ngabbslines,1\nfibbelous,1\ntv_lighting,0\nnopantsdog,1\ntausen_lion,1\ngreen_eyelashes,0\nice_hair,0\nskarneti,4\ncai_(notsafeforweh),4\nmudraptor,5\nkate_(disambiguation),4\nthreaded_by_dildo,0\nzixh,1\nmarshall123x_(artist),1\ntittybat,1\ncryena,1\npepper_mynt_(togothehusker),4\ngloria,4\nhazel_luvsol,4\npom_(suger_phox),4\nwet_hands,0\nresting_on_arm,0\nbeewomanlol,1\nfriday_night_funkin'_minus,3\nhissmiss,1\nninanidorina,1\nash_(amazinggwen),4\nbooki_(character),4\nsergld,1\ndoug_(ews),4\nout_of_character,0\ndisgruntled_(artist),1\ndry_himbones,4\nchase_shinien,1\nbrittany_(monarquis),4\ndenim_(hirurux),4\nshen_(sihai's_legacy),4\nfreckles_on_face,0\npidge_(hoot),4\ncinnamonrug,1\ndraccy,4\ntoxicmilkyx,1\ncasey_(clementyne),4\nsarah_(vulpisshadowpaws),4\ncoontail_v2,4\ngymnasium,0\nnewt_wolfbuck,1\nblack_swimming_trunks,0\namber_(orgunis),4\nachak-claw,4\nbechamel_(puffquff),4\nhelm_(thehelmetguy),4\npearypanda,1\nhands_above_breasts,0\nariana_'ari'_(darkflamewolf),4\nnerf_(toy),3\nrazz,4\nnathy_(arbuzbudesh),4\neddy_hare,4\ntorajiro_(taimanin_asagi),4\nrubber_panties,0\nfletcher_collins,4\ndamian_weir,4\nabsurd_dumbbell,0\nhyaenodontid,5\nnix_rayne,4\nalbinodragon,1\neth_(artist),1\ncinnkin,1\nsenip,4\nchataya,4\noceanus_shenron,4\naquarius_(symbol),0\ncum_blockage,0\nalacorna,0\nchiquita_(lexoastonov),4\nhappstablook,4\nmarco_(imperatorcaesar),4\nmatt_(two_best_friends_play),4\nglowing_bracelet,0\nrodd_(fuze),4\nnavel_jewelry,0\nscotty_(ghastlyscotty),4\npresent_box,0\nhnav,1\nbored_ape_yacht_club,3\nmilitia_(thefuckingdevil),4\nhands_on_foot,0\nchompa_(character),4\ncharr_starz,1\nshadeofshinon,1\nmamaito,1\non_crate,0\nmaleherm_penetrating_maleherm,0\nhurt_expression,0\nboonieboo0,1\nhero:_108,3\nbiscus,4\nmimechan,1\nslick,0\ncrosshair_eyes,0\nnovery,1\ntyrrain,4\nfalrissa_lothe,4\nbane_(identity_v),4\njurij_bajer,1\nadalore,1\n19:20,7\nonicristice,1\nhair_decoration,0\nraccoonuki,1\nbxhrd,1\ndavias00,1\ngrunt_(madness_combat),5\nvoidyy,1\ndolores_(apoetofthefall),4\nhemo_the_alchemist,4\nlondys,4\npurple_cloaca,0\nante_flan,1\nmuffin_(bluey),4\nknight_(deepest_sword),4\nwizardjpeg,1\nruste_(w4g4),4\nmellojellowo,1\nfroen_(zi_ran),4\npestilence_(plaga),4\nshanegdraco,1\nwhite_kimono,0\nnekosuna5115,1\nchad_(black-kitten),4\nmulticolored_fire,0\ntan_panties,0\nkathy_(felino),4\npororikin,1\nall-starwarrior,1\nhikerumin,1\nhibernotion,1\nrey_(makumo),4\nlicking_candy,0\ndraconic_burners,1\nberingel_(rwby),5\npokemon_egg,0\naurel_(majp),4\ntommy_(tornato33),4\ncronum,1\nryukiro,1\nsubway_station,0\nqaz,4\nmolasteak,1\nblood_on_floor,0\nrope_bridge,0\nconstance_(glopossum),4\nmale_on_back,0\nakitakacbr,1\napparatus,0\nlaura_(fvt),4\nkai_(beastars),4\ncrosswind,4\nburmese_python,5\nspyzslair,1\nanjogatobr,1\nred_car,0\nsitting_on_fence,0\nellisarts,1\nbellna,4\nyude_pea,1\ncrown_of_thorns,0\nplus_sign,0\nsachat,4\nhot_water,0\nsega_logo,0\nzandii_(thefreckleden),4\nanaconda_(song),3\nmaster_roshi,4\ncarrot_cake,0\ntatosi_wyrdghost_(character),4\nmega_tyranitar,5\nkusarigama,0\nppsh-41,0\nbuck_(catastrophe),4\nbix707,1\nvik,4\nsnifit,5\naisukuriimu,4\nphone_wallpaper,0\ndyani,4\nms._endive,4\nresplendence,4\ngruntchovski,1\npeanertgallery,1\nmettaton_ex_(underfell),4\nvandringar,1\ngnorc,5\nunleashedbrony,1\nwinddragon_(character),4\nllewelyn,4\nicefoxx,4\nnatali,4\nlily_(sssonic2),4\nghost_(character),4\nterry_(masterful),4\nspikeheila,1\nglenn_(character),4\neskaria145,1\nstardarkfurr,4\njessica_(aj_the_flygon),4\nb0rn_t0_die,1\nitoril,1\nruby_gloom_(series),3\npatapon,3\nlambda,0\nwerepyre-warrior,1\nwicklesmack,1\nkitty_tush,4\nsamuraidemon,3\nlightning_chaser,4\nvance_(istricer),4\nxiixxii,4\nhuman_princess,4\nstella_(disambiguation),-1\namy_sharkiri_(character),4\nhollyk,1\n\"mimi_\"\"godiva\"\"_dulcifer\",4\nwhite-snow-wolf,1\nevil_counterpart,0\nobsidian_(dragon),4\nuniqua,4\nfwuffyfurry,1\nmuffy_vanderschmere,4\nweirdoxs,1\nxaie,4\nsnoop_(character),4\nanna_puma,4\nhound_wolf,1\nnurse_lingerie,0\nurine_in_uterus,0\npern,3\nnan_(nightfaux),4\nlokya,1\nsuperkeen,1\nmindwipe,1\nmonado,0\nheilos,1\nxylex,4\nanisava,3\nrudolph_(blue_dragon),4\noffspring,0\ncaerulus,4\nmakucha,4\nelemental_hero_neos,4\nhadriae,1\nsalt_pepper,1\nemma_fletcher,4\nwide_waist,0\nles_paul,3\nahmenset,4\nthe_devil_(tarot),0\nkanta_the_invincible,1\njen_(shutupjen),4\nvercursar,3\nhobbesdawg,4\nasotil,4\nmeet_and_fuck,3\ncephalopussy,0\namorecadenza,1\nnutshot,0\nnecrothant,1\nakemi_(character),4\nlythrion,5\nlily_lace_(mlp),4\nbouncing_bed,0\nhoof34,1\nmasking,0\nawoken,5\ncocoa_(toba),4\nafoxinabox,1\ncallistofox,1\nklara_(monster_girl_gamu),4\ntristian,4\nvilldyr,4\naonik,1\nkakapo,5\nmoonlight_carbuncle,4\nquadruple_handjob,0\nmercurio_(armello),4\nfearsfortears,1\npower_suit,0\npussy_freckles,0\nchuunibyou_demo_koi_ga_shitai!,3\nmuttninja,1\nceleste_(s0c0m3),4\nnoodle_(gorillaz),4\nadam_(gvh),4\nfurniture_noises,0\nmelanth_(artist),1\nneck_penetration,0\ntophire_gemhorn,4\nmerlin_(lllmaddy),4\ngroup_bondage,0\nbarley_(wonderslug),4\ncottontail_rabbit,5\nartorias_(artist),1\ncaptain_qwark,4\nedioretysa,1\naspect_of_lust,4\nena_(achakura),4\nsipuha,1\nleaf_(animal_crossing),0\nclaire_(akitokit),4\n28gooddays,1\nmulticolored_earbuds,0\nnoki_(hexteknik),4\nopen_towel,0\nmorethreedee,1\nearth_(plaguedogs123),4\nfox_ear,0\ncheaty_(opqhlak),4\nriddleheart,1\nreverse_(reversecall),4\noumi,1\nlobe-finned_fish,5\nthere_once_was_a_dog,3\nlolita_channel,1\nhazed,1\ndark_cloud,3\ngaspar_(asderzx),4\nmartuguma,1\ncitrus_fruit,0\nneopets:_the_darkest_faerie,3\npeeposleepr,1\ngrim-kun,1\nmiko_(abz),4\nlarger_fingered,0\ndimly_lit,0\ncaptain_kobold,1\nlaying_on_grass,0\nporncooby,1\nburhuru,1\nyohei,4\ncanis_(canisfidelis),4\nbeta_morgana_(persona),4\nollie_the_otter,4\nthorn_paw,1\nprimal_(aquilak),4\ntsuda_delcat,4\nprecum_on_viewer,0\nlura_dura,1\nsudz,4\nlaura_(ironkongstudios),4\nluiz_(mr_fuwa),4\nmary_(dnapalmhead),4\nantelope_penis,0\nvixen_mighty_(itsjojo),4\nfyonna_(twinkle-sez),4\ncheer_bear,4\n6ironknight9,1\nrumpy_apode,0\nkaia_(truekaia),4\nmachine_penetrated,0\njocasta_(dogsmith),4\npressing_against,0\nspark:_a_space_tail,3\nmud_mask,0\nholly_(juicydemon),4\ndanny_(bluewulv),4\nsuhomei,5\nstar_guardian_poppy_(lol),4\nlea_(whisperingfornothing),4\nfrostypuppy,1\ncharliemcarthy,1\njat_(thepatchedragon),4\nhumanoid_genetalia,0\ngreen_hairband,0\nstar_topwear,0\nchest_bow,0\nsquish_vaporeon,4\npartial_fursuit,0\nreallyhighriolu,1\nstanding_over_dildo,0\nnikolai_zaccarin,4\namarok_black_(character),4\nmayku_(character),4\nesacosaverde,1\nlani_aliikai,4\npicaipii,1\nmega_man_x_(character),4\nluvalind_blue,4\nlukeskytera,1\nyiffler,1\nelectrode_on_breasts,0\nsextuple_penetration,0\ntamaki_(warriors),4\nbridge_(the_man),4\nclosetcanibal,1\nyellow_headgear,0\nmichael_afton,4\nthigh_thighs,0\nshiro_shiba,4\ncyberrodrigo,1\njun_(scj),4\nfelibot,4\ndarell-sama,1\ncrasherchroma,1\ncait_sith_(tas),4\nchlamydoselachid,5\nxbox_series_x,3\nbulkybun,1\nzoey_(mastergodai),4\nkutcher,4\npyro_koshka,4\nhazelnut_yui_(character),4\nlandylyn_(yitexity),4\ninimus,1\nchristie_(doa),4\nsmappa,1\npolinagribova,1\nyuckydizzy,1\nrory_(aquasnug),4\nabby_(caldariequine),4\nrockgods,3\ngoldfur's_cogsverse,3\nk/da,3\nkielah_(altrue),4\ncurvaceous_female,0\ngoldenbuckles,1\npink_smoke,0\nspicykiwki,1\ncyberpunk_edgerunners,3\ncanine_tail,0\nabathur_(starcraft),4\nrebecca_pawlson,4\nerich_von_talonitz,4\nallister_(pokemon),4\nmalihus,4\naten_(ratte),4\nskarlett_cynder_(artist),1\nnebula64,1\n24:23,7\nwhite_bed_sheet,0\nmiroku_(inuyasha),4\nscoob!_(movie),3\ndamalu,1\nmonet,4\nvoid_(feliscede),4\nsea_urchin_(artist),1\nbrown_dildo,0\nmrjakkal,4\nstuck_balls,0\nkurogin_(artist),1\ncum_between_toes,0\nffen,4\nking_round,4\nnaughtybynature,1\nfutomomomoe,1\nkalani_(9tales),4\nblack_sofa,0\ndate_rape,0\nryuunosuke,4\nyorunekomata,1\neggplants,1\ntry-trial,1\nian-exe,1\nderpibooru,3\nflecks,1\nexistential_crisis,0\nfurrlex,1\njaycemonde,3\nhexfloog,1\nmith_(furfit),4\nlong_breasts,0\nschorl_tourmaline_(oc),4\nbox_cutter,0\nmeek,4\nwaero,1\ncoming_out,0\nmilk_(character),4\nemilysome,1\naanthony_(artist),1\nfurry_fandom,0\nmonanniverse,1\ncharjabug,5\ncarl_gould,4\nlushminda,1\nmrmick,1\ndavec,4\nkyoponi,4\ncuson,1\ncelia,4\nmanic47,1\nhazmat,0\ngaiters,0\nxena_warrior_princess,3\nkui_lin_chen,1\nho-oh_(artist),1\nmultiple_environments,0\ncinderella_3d,3\nwiley_farrel,4\nsleeping_isotope,1\nsveta,4\nedel_(azelyn),4\nsn,1\nsabrecat,5\nwhiteraven90,1\nblack_straitjacket,0\nvonredwing,1\nzefi,1\nzeurel,1\nviridianvariant,1\ndakotaraptor,5\nyosha,1\nanekhmet,4\ntaoryu,1\natronach,5\nzeplich,1\nblackpaw,4\nleather_suit,0\nkogamaru,1\npanty_raid,0\narcenaux,4\nvatz,3\nminiblin,5\nliving_furniture,5\nflut_flut,4\ntaupy_toplan,4\ndominion69,1\nbody_odor,0\nzoe_(jay_naylor),4\nmarch_gustysnows_(mlp),4\nchristian_weston_chandler,4\nlogie_(character),4\nmeeko,4\nchandraken,1\npromotion,0\nfolxmon,4\nalastair_(alastair),4\nautobot_insignia,0\nsplatterbunny,1\ngugu-troll,1\ntobias_wilson,4\nbatboy,4\njafar_(disney),4\nbugatti,3\nvilldyr_(artist),1\ncruising,0\nsimon11028,1\nexasperated,0\ngorgonzola,4\njade_(tits),4\npivot,4\npuma_(company),3\ncalamity_(chalchiotlique),4\nwerepuppy,1\ngrim_tales_from_down_below,3\neskimo,0\nmiji,1\niluq,1\nrjdog115,1\nratchet_(transformer),4\nkalira,1\npandora_pig,4\ngrimmi,4\nsweetcorn,4\namby,1\nbrain_creature,5\nblackeevee,1\nivorystain,1\nnigel_ratburn,4\nflatrat,1\nfn_fal,0\nroggenrola,5\nsilowyi,4\nwalt_(animal_crossing),4\nares165,1\nonde.pingvin,1\ncarafalsa,1\nkittfoxx,1\nicicle_(character),4\nlissy,4\nkit_airheart,4\npain_elemental,5\nwilt,4\npaxredemption,1\nbino,4\nvoyd,4\nlava_shark,5\nlufeed,1\ndelsin_(jush),4\ndualberettas,1\nhooktail,4\nbaron_puddin_paws,1\nshadydog,4\npussymon,3\ngiggi,5\nnitromethane,1\nanim,0\nsirius,4\npikunamon,4\nvictoria_(p-headdy),4\nfelicia_(terryburrs),4\nalphazion,3\npertinax,4\nvidel,4\norzero,1\nsydney_(bastard),4\nrar1990,1\nrhea_gale,4\nseela,4\nsubarashi,1\nsina_(pokémon),4\nron_(greenpanunk),4\nkfz114514,1\nkrim_hue,1\nhiromoru,1\ndystopia,0\nstrawbearer,1\nsarcobutter,1\nhayden_(akirashivi),4\nbaggy_bottomwear,0\ngabe_goat,4\nitsredcreator,1\nhoshi_(artist),1\nagainst_vehicle,0\nogigayatsu_sadamasa_(full_bokko_heroes),4\npanda_tail,0\npassigcamel,1\nkraso_(xxsparcoxx),4\ntomotomo15,1\nshimanto_youta,1\npercival_(fuze),4\nsek_(species),5\nbonesandfeathers,1\nbrow_hair,0\nekull,1\nstarlyfly,1\nrose_(agidyne),4\nwaruneko968,1\ncloe_(pixiecatsupreme),4\nrosemary02,1\ntea_bag,0\nninfii_(syst),4\nkemohero,0\nphawxxy_(fursona),4\nky'lar_tarrez,4\ncolored_underwear,0\nblue_sweatshirt,0\ndudewhatthefuck_(artist),1\ncapri_pants,0\ncinder_fall,4\narmlet_(marking),0\nbernard_(bna_v5),4\nal_sensei908,1\nstepping_on_tail,0\ndarellzark_(artist),1\njill,4\npyrogatto,1\nscratched,0\nsigil_(symbol),0\nserp_(mrsnek),4\nxaix,1\nred_leaves,0\ndeepfur,1\norions-tipp,1\nlight_shoes,0\nrodent_(conker),4\nblindstash,1\nsteam_writing,0\nmenu_screen,0\nvimmi_rayphont,4\nshelby_(simplifypm),4\nmulti_penis_handjob,0\nsilkworm205,1\npony-straponi,1\nkirilia_(shift),4\nhands_on_own_shins,0\ntoshio_(joaoppereiraus),4\ndoghead_(dungeon_fighter),4\ndifferent_artstyle,0\ngrey_headset,0\nbarong_(tas),4\nred_(red_loup),4\nodia_(aswake),4\nkwill_(infinitydoom),4\nkrayxii,1\nflaming_fur,0\nmta_new_york_city_transit,0\ncharmandrigo,1\nstratodraw,1\ncactua,1\nleon_aokee,4\nmarlboro,4\npriestess_tsah,4\nnezzux,1\nchasey_ultra_beast_goodra,1\nfrilled_shark,5\nshameen,4\nruby_(shockblast),4\nsqueaky_toy,0\nminina,4\nkimikun4,1\nyvonne_(ritts),4\nruby_(katai),4\neggshell,0\narcana_heart,3\nneo,4\nsilverfish,5\nsassy_snake,4\nblackadder,1\nsquirrel_monkey,5\nmodification,0\nnekkouwu,1\ndipingxiangtr.d,1\nsheppi,1\ninterruption,0\nnagatsuki,1\ndamaris_reunallat,4\ntragobear,1\ndenim_jeans,0\nbalasar_(character),4\nend,0\nskull_helmet,0\nnaturism,0\nthane_krios,4\neggs_(salamikii),4\nkennykitsune,4\nmiia_disain,4\nrielity,1\nrikitakawi,4\nchris_sketch,1\nbushwoolies,5\nebony_(blitza),4\nbeastrancers,3\ngabrielle_(gangstaguru),4\nchainsword,0\ndebbita,4\npook_(nightdancer),4\nelmont,1\nkayla_(phoenix777),4\nbec_blanche,4\ncadenza,1\ntonsils,0\ntoejam_and_earl,3\nrajas_ledies,1\ngoatboy,1\nkoro-sensei,4\nbodyslam,0\nnidawi,1\nkidsune,4\nluca-chan,4\nupgrade,0\nbroken_zipper,0\nlost_planet,3\nbluevon,1\nsilvia,4\nanya_(droll3),4\nvictoria,4\ntwiggy_(oc),4\nspace_fox,5\ndrew_(barabird),4\nflutter,4\nyes,3\nkaibootsu,1\nsonic_shuffle,3\nsiam_(mbr),4\nrobotboy,3\ngalaxy_dragon,5\nkitty1208,1\ngompriest,1\nspetsnaz,3\nfoxeye,4\ntauldir,4\nsalad_pervert,1\nnikki_(demicoeur),4\nschandbringer,1\nkindle_spirit_(eradragon),4\nliving_image,0\nphsueh,1\nbig_moth_bro,4\nbeastess,4\ncinnamon_(sinamuna),4\nangelbite_piercing,0\nchika_(denyfake),4\npatty-plmh,1\nuzon,1\nsoiling_panties,0\nmemy,4\nraff_(kihu),4\nmarinette_dupain-cheng,4\nvaquita_shoujo,1\nrooftops,0\nlyka_(neon_purple),4\nsam-fox_(character),4\noob_(character),4\nwater_lily_siren,4\nteam_sonic_racing,3\nzetterburn,4\nmismatched_humanoid_pussy,0\nawp,0\nlube_on_anus,0\nsan_(beastars),4\nsvetlana_belenkova_(renthedragon),4\nspace_leaper:cocoon,3\nzhenghu_maolong,1\ndarkdukewolf,1\nrinehart_nye_(wynn),4\nletti_(higgyy),4\nthe_itchy_and_scratchy_show,3\ndendoro,1\nprincess_timmothy,4\nbrambles_(chowdie),4\nmermay,3\njuniper_skunktaur,4\npichi_(suirano),4\nterran_(yoshifinder),4\nprydr,4\nvox_(lithiumred),4\ncrisisaura,1\naqua_(innocentenough),4\ntentacle_suit,0\nkatinka_vexoria,4\nriding_motorcycle,0\nraijin_(muramasa),4\ncali_(kittyprint),4\nscorpia_(she-ra),4\nwitch_doctor_(terraria),4\npunished_kain,1\ncyberkaps,1\nhary96,1\nmercilessmeep,1\npaw_sandwich,0\nivynathael_(artist),1\nrashida_(ordia),4\nfast_food_restaurant,0\ncopperajah,5\ntala_(teveriss),4\n88grzes,1\nroxie_(lagotrope),4\nvaginal_transfer,0\nferalfelony,1\ntasha_(hayakain),4\ndeepspacebug,1\ndaddy_topps,4\nguess_i'll_die,3\nvillainy,1\nyasha_(yashak),4\ncurlypie,1\nloose_socks,0\ncaramel_(insomniacovrlrd),4\nara_(buta99),4\nmiko_kubota,4\nstrangemodule,4\nlatex_fox,1\ncarrying_tail,0\nrocketshibaa,1\nglistening_saliva,0\ndereck_dingo,4\nsex_pillow,0\nclothed_ambiguous_nude_male,0\nholding_watermelon,0\nraspberry_(fruit),0\nnah_(prequel),4\ntenebris_umbra,1\ntecoco,1\naspen_(klayter),4\nravy_(ravoilie),4\nhand_under_head,0\nmaundrill,4\ndarkestmbongo,1\ncock_stocks,0\nartistnjc,1\ndimitrescu_sisters,4\notorize,1\nvarnish_(artist),1\ncream_(repomorame),4\nsidd_(temptations_ballad),4\nmikurulucky,1\nmallory_(magos_rel),4\nzinovia_star,1\nyellow_coat,0\nyark-wark,1\nskellisquid,1\nkai_ken,5\nbomb_collar,0\nabyssa,1\nmu-wolfmkii,1\njake,4\ntrishabeakens,1\nomegaterasu_(artist),1\nmaya_(petsoftthings),4\nmillymay,1\nazurioad,1\nhyflin,1\nwhite_toenails,0\nunderflowing_text,0\npepper_(fuel),4\nashee_cakes_(ashee),4\nedsomez,1\npheo_(aubrie),4\ngio_(da_goop),4\npierre_(dirtypaws),4\ncherrybxnnie,1\nhand_on_clothing,0\npervyangel,1\nnaughtybrownies,1\nmetroidvania,0\nguillermo_del_toro,3\ngreen_grass,0\nnyrex,4\nbowrbbear,1\nchocobo_(series),3\nteknotyk,1\nlionbun1,1\nstriped_breasts,0\ntheotormon,4\nzephyrgales,1\nfertility_pills,0\nrookie_(interfan),4\ndungeons_and_dragons_(animated),3\njames_(shewiff),4\neye_chart,0\nroyal_vixult,5\nbiphony_(rubbish_chameleon),4\ngeletulator,1\nbeetlepie,1\naurora_starling,4\nwerecoyote,5\nhellgoddess,1\ninitial_d,3\naburaage,0\nyotsuba_koiwai,4\ntied_knot,0\ndrew_(drewbat),4\norobas_(artist),1\ncleopatra,4\narcticneu,1\ntoothlessfan,1\npedro_of_the_treetops,4\nursid_taur,5\ndrakku,4\npenelope_white,4\nballoon_popping,0\nwatoson,1\nfelibold,4\nsauri_(s.a.u.r.i),3\nguywiththepie,1\nflaming,0\nsushi1515,1\nsilentjay,1\noctoling_boy,4\nsylvia_(joaoppereiraus),4\npuzzle_bobble,3\ncolonel-strawberry,1\nclear_sky_(mlp),4\nmalo_1.1,5\nhate_art,0\nazure_(nekocrispy),4\nlewddale,1\nstupidsmut,1\ncoco_(pixar),3\niku-t0,1\nalexis_bishop_(lildredre),4\ns_h_o,1\n11:16,7\nmagister_jezza,4\nhama_(ceehaz),4\nknightashshadowborne,1\nspanish,0\nexposed_wires,0\nwater_sheep,4\ndimitri_(sinistermongoose),4\njake_(disambiguation),-1\ncrybitur,1\ndaebelly,1\noverwritten,0\nkatakana,0\nlo-fi,0\nruby_mello_(dynamitegrizzly),4\nnery_(reaper3d),4\nms3ktn,1\nsylon_lyonwolf,4\nmomiji_(makuran),4\nruum,1\nbiche,1\ndonryu_(character),4\nhoney_(artca9),4\nannukarts,1\nanoningen,1\ndeebu,1\nlactating_ink,0\nisaac_bishop_(bishopsquared),4\nv3nusbby,1\nboom_microphone,0\nhumanoid_merfolk,5\nray_raider,1\nswing_set,0\nremnant:_from_the_ashes,3\nsensei_(chisara),4\nxiel_the_dragon,4\ntsumi,1\nirida_(pokemon),4\nsad_zarya,1\nmarie_kanker,4\ncipher_(zerohours),4\nprecum_on_butt,0\nhandles_on_thighs,0\nancesra_(ancesra),4\ndesire_(mako_mickt),4\ntiny_terrible,0\nana_(shadowtrickss),4\nsmall_breast_angst,0\nconsort_(homestuck),5\nushi-oni,5\nrassiart,1\npenis_to_vagina_tf,0\narmarouge,5\nyakyarts,1\nmandaryn,4\nsca_sii,1\ngrunkle_stan,4\ndalmin,5\nyuxare,1\noverzen_(characters),3\ncatherine_york_(callmewritefag),4\ndavid_(michelangelo),3\nbrown_muzzle,0\nleo_(flynx-flink),4\njane_crocker,4\nlight_ring,0\neagle_orion,4\nmeiko_(vocaloid),4\nblood_on_shoulder,0\nnayeliefox,1\nraspberry_tuffcakes,4\nblood_string,0\ncara_mitten,1\nammo_fetish,0\nabysmal0,1\nnoxia,4\nclarice_(pokyuii),4\nform,0\nscreenshot_edit,0\nfuturegalaxea,1\nfetish_wear,0\nrapid-rabbit,1\nkerydragon,1\nhooves_in_air,0\npetal_(kinac),4\njaila,4\nvincent_(gaiki),4\nwaffle32547,1\ntyson_clawing,4\ntenta_(tentabat),4\nmonidraws,1\nlibrarian_and_student,0\nhexanchiform,5\nruby_(10livesleft),4\nanor_nikimura,4\ncow_ears,0\nmy_little_pony_(2009),3\ncj_(jelomaus),4\nlinkette_(thatdoggolinkie),4\nanarietta,1\nmrs._fillyjonk,4\nbuzzling,4\ndiana_(jamearts),4\nacordviridis,4\nalex_winter_(artist),1\nnicohhusky,1\nalfa_quinto,4\ngeneralecchi,1\ncowqet,4\nstoryman,1\nclevzx,1\nkhodu,1\nsilkwing_(wof),5\ngrung,1\nmint_(alfa995),4\npurple_thigh_socks,0\nangela_(walter_sache),4\nabortion_mark,0\ntabaxitaxi,1\nlil_doggy_(artist),1\ndogbit,1\nvivian_(greyskee),4\nchise_hatori,4\nimobi,1\ndakota_(cavix),4\ncarine_(character),4\njimmy_corsac,4\nken_cougr_(character),4\nzakretian,5\ndauntless,3\narbitgon,4\nfiona_(flight_rising),4\nneveyk,1\nraya_(ratld),4\ncurves,0\nweremustelid,5\nkharu,4\nironmania,4\nthedispenser69,1\nl.gecko,1\nreanimatedrabbit,1\nbuick_skylark,1\neyebrow_spikes,0\ncontinue_screen,0\nzara_(ketzio_and_gbb),4\n404bot,1\nzore_(moki),4\nhost_hu,1\nsculptris,3\npurple_towel,0\nbiting_object,0\nstomach_tattoo,0\nzipper_sweater,0\nbirman_cat,5\nresearcher,0\nreykoli,1\nmask_gag,0\nfennex,1\nvereynne,4\nheavy_musk,0\ncharacter_off_screen,0\nmiss_moth,4\nrosycoyote,1\npink_anal_beads,0\nandromedika,4\nmac_(foster's),4\nhand_on_dildo,0\nstar_(mario_bros),0\njim_(jmh),4\nback_fat,0\nsycotei-b,1\ndark_belt,0\nfeces_on_self,0\nvix_(a_space_tail),4\nwurzzie,1\nweskers_(character),4\nzener_(artist),1\nrambi_(wayesh),4\ncole_(disambiguation),4\nstar_diaper,0\nc0draw,1\nchef_cheiro_(artist),1\ntattoo_on_thigh,0\ncypress_(zavan),4\nonlypaws,1\necho_(notsafeforweh),4\ndoodlesnail,1\nkyle_furs,1\nradiospeed14,1\nbo4a,1\nsomesortacreature,1\nprincess_(bunbunny),4\nhair_bite,0\nlatotabo,1\nnatural_habitok,1\ndiscarded_briefs,0\non_elbow,0\nroxy_(senorkah),4\nshyghost,1\nwanko_to_kurasou,3\nvulpineadonis,1\nslightly_muscular_male,0\nmisakatsuneko_(character),4\nbored_draggy18,1\nrudolf_(disambiguation),4\nfahada,4\nadventure_chica_(fnaf),4\ndark_nz,4\nquetzalcoatlus,5\nahegao8,1\ncoelophysis,5\nthe_strange_show,3\ntigerlily,4\nswirling_eyes,0\nbig_navel,0\ntimothy_(windpaw),4\nyellow_underbelly,0\nstained,0\nhexapod,0\nrobert8164,1\ndariuswhitefur,4\npinkieinprivate,1\njagged,1\neversong_interrogations,3\nprincipal,0\nregina_kukklitaat_santkitankni,4\nevolved,0\neye_gouge,0\nbulbawhore,4\nblaster_pistol,0\nfalcon_punch,0\nmayo850921,1\nkanj'isha,5\nbust-a-move,3\nalexandrevla,1\nsilkysworld,1\ntira,4\narlorian_sloane,4\nkardukk_(artist),1\nadry53,1\nbreakfast_in_bed,0\nrevision,0\nfenndragon,0\nrachel_gates,4\nmeiying,4\nprince_illusion,4\ndark_hare,4\ndemarticus_stone,4\nyattermang,1\nwildberry-poptart,1\nfloppy_breasts,0\ntheblackvixen,1\nrawrden,1\nmalachiexe,1\notaku,0\nhowie_(vasuki),4\nsykur,4\npersephone_(artist),1\nhappy_holidays,0\nlegacy_of_the_phoenix,3\ndrinking_horn,0\ndry_bowser,4\nelenazilla,1\ngrabbing_neck,0\ndlpeattie,1\nrough_riders,3\njillas,4\ndad_joke,0\ntriclops,5\nbronto_thunder,4\nboater_hat,0\nodd_keystone,0\ndutcher,4\nlurking,0\ndershep,4\nhelp_me,0\nsachicoon_(char),4\nvonder,4\nsfm-brew,1\nalexandraflordicharlotte,1\nblancathewolfdog,3\nvince_(angellove44),4\nspiked_ball,0\nwhere's_waldo?,3\nalittlepony,1\nskeleton_princess,4\ndralam,1\ncybunny,5\naviansie,5\nhovercraft,0\nspices,0\narjuna_(character),4\nmondo_media,3\nmettaton_(underfell),4\ndivequest,3\nparagoomba,5\nfoxykin,1\nsleepyscreen,1\nwafer,0\nlupinchopang27,1\nfalstaff,4\ngrayson_starbone,4\notokoter,1\nrivenlod_rygers,4\nmaphi_assassin,1\noktavia_(roadkilla12),4\nhypnoticdragon_(character),4\njudo_(musclegutdaddy),4\neugen_(iskra),4\nmacsboredworld,1\ncomet_(fvt),4\ngavin_(invasormkiv),4\nreassuring,0\nlidiya,4\nmk_artichoke,1\nandes,4\nalyx_(sheela),4\ngaijin_entertainment,3\ntranslucent_membrane,0\nhimitsuarts,1\ngarbatge,1\nspicedrake,1\ncutelickart,1\nmimmy_white,4\nnitro_(anothereidos_r),4\noliver_masthay,4\nouijaa_(artist),1\nahwu_sensei,1\ncallmedarky,1\nmoody_lighting,0\nflare_gun,0\nhot_dog_wolf,1\nbrown_outerwear,0\ngomibin_art,1\nmostly_nude_gynomorph,0\nintense_stare,0\ntriangle_(musical_instrument),0\napollo,4\nratopombo,1\nwildtail_(artist),1\nkellsmiley,1\ncd_projekt_red,3\nchloe_(aruurara),4\nkim_wang_jyang,1\nmedusa_(kid_icarus),4\nstacy,4\nhex_degoli,4\ntranslucent_curtains,0\nserarokusu,1\npuku216,1\nfoxysquirrel,4\nwrinkled_nose,0\ndanny_(disambiguation),4\nred_outerwear,0\ndivadale_(snakedakyoot),4\npixelzsinful,1\nburning_wolf_(fortnite),4\nwhite_mustache,0\nredheadpika_(character),4\nuga_buga,4\nkakukaku,1\nclaire_gillard,4\nclassic_doom,3\nlydia_(lobokosmico),4\nsweet_(asderzx),4\nhasshaku-sama,4\nandromorph_on_anthro,0\nspirit_(kioreii),4\ntyrvari,5\nratcatcher,1\nleonor_(kida_kuro_mu),4\nxan-gelx,1\nkoro_fumei,4\nrileykit,1\ntakao_(azur_lane),4\ntamara_(cuchuflin),4\nbottles_(banjo-kazooie),4\nracer,0\ntukk_ordo,4\nfail_zero,4\nnibbler,4\ngolden_wing,4\ncometu,1\nnorwegian_flag,0\nnahyon_(character),4\nemerald_necklace,0\nnasal_vore,0\ntetarga,1\npouch_vore,0\ntheseus9,1\nsakura_(shima_shima_tora_no_shimajirou),4\novershirt,0\nacceptance,0\ncynik,1\nchromatophore,1\nbrain_dead_13,3\nsuv,0\nskyfall,4\nrenvra_(tits),4\nhip_bump,0\nthe_oatmeal,1\ndeeriojim,1\nnitori_kawashiro,4\ndrummer,0\nacus,1\nvelvetine,4\nsimplepale,1\nclara_hopper,4\nmidnight_mist,4\nshenandoah,4\nmake_america_great_again,3\ndon_leonardo,4\ntate,4\nthe_x-files,3\nblackchain,1\nbaseball_base,0\nwhitedragon103,1\nseti,4\ninfernox-ratchet,1\nfull_stop,1\nsean_(nikoh),4\nzik,4\nfencing_foil,0\ned_(nidogatr),4\ndidi,4\nnickle_(artca9),4\nmrs_bartender,4\nfinal_froggit,4\ndiana_(sailor_moon),4\nrekodo_vekod,4\na_clockwork_orange,3\nfrank_(amwulf),4\nsting_chameleon,4\nfiddlesticks_(mlp),4\nvam,5\nqueen_la,4\ntattletail_(species),5\namphy,4\nnegaduck,4\nelectrocardiogram,0\nvene,1\nmagpie_(twokinds),4\nadventure_foxy_(fnaf),4\nwolfenfury,1\ntora_(uat),4\nvixys,4\nso_deep,0\nsp00nzie,4\nneko_musume,4\njoker_fox,4\naldemar,4\nwristlet,0\nspain,0\nsibi_(yoko_arika),4\nganesha,4\npink_head,0\nnelya_rhys_(character),4\nbaera,4\nkirion_pegu,4\nflippy,4\nlilac_sky_(mlp),4\nosmosis_jones,3\npeanutsatiety,1\neve_(coffinberry),4\ndragonketsu,1\nmovie_slate_(character),4\nnatia,4\nsarahsilver,1\nkabalmystic_(artist),1\npanty_birth,0\ncrayfish,5\nmokadu,4\ntlailaxu,3\ntakezamurai,1\nsciphan,1\nvahnfox_(character),4\nhumvee,3\nmetallicumbrage,1\npandadough_lewdles,1\nmax_(oversheep),4\nchocolate_cum,0\nsivir_(lol),4\nclayton_(amwulf),4\nocean_orca,4\nbrown_cum,0\nprimal_zerg,5\npenis_extension,0\nandroid_lillia,4\nharvic,4\npotira,1\nvincewolf,1\nricket,1\ncasey_(tuke),4\nvarossion,4\nloiosh,4\nfearingfun_(character),4\nbloodsoakedsnow,1\nmercy_f._hare,4\ngenyokuenbou_(pixiv),1\ncherish,4\nsilkycurve,1\nkira_swiftpaw,4\ndahn,4\nthe_magic_school_bus,3\nrapper,0\nimpersonation,0\nultradog_(undertale),4\nmogma,5\nsimon-fox_(character),4\nbosmer,5\nchest_fuzz,0\ntelroth,4\ngretchen_(camp_lazlo),4\nfederico_panella,1\nlaura,4\njasmine_leaf_(mlp),4\ndanimate,1\nbaeowulf,1\ndaisy_smata,4\ntoonfan0,1\nquest,0\nkotep,4\nshirley_robins,4\nred_sonja,4\nbandetto,4\nmokotomuku77,1\nblackwolf,1\nkiwi_(artist),1\ncabronpr,1\nnaive_sex,0\nscottish_flag,0\nrear_pawjob,0\nvensual99,1\nplastron,1\ngeorge_(tch),4\ngirlnani_(nanimoose),4\nfront_horn,0\ntea_kettle,0\ntoruu_(character),4\nbubble_helmet,0\nmathewmii,1\nmarble_(thalomine),4\njasafarid,4\nlatex_armwarmers,0\njellyenvy,1\ndemi-human,0\nshikan,4\nzazpihuts,1\nlilian_(tenebscuro),4\nlament,1\nmultimedia_(artist),1\nwediz_(sollyz),4\npandacouch,1\nanajir,4\nkrina,4\nmairusu-paua,1\nmondealy,3\nfire_sword,0\namber_(sequential_art),4\nmark_(disambiguation),4\ncally_(clydeli),4\nmary_the_raccoon,4\npunnchy,1\nberial,4\nunder_butt,0\nsiren_(the_binding_of_isaac),4\nomega_wolfblood,4\nbuttplug_leash,0\nholding_close,0\nwoodland,0\ncobalt_(disambiguation),4\nalice_(blattarieva),4\nterito,1\nalex_(alexanderthewolf),4\nzivvles,4\ntukino,1\nartificial_incident,3\nzeno_(komenuka_inaho),4\ncondom_strip,0\nmick_fries,4\nhailey_(peculiart),4\ntickling_anus,0\nestix,4\n9:13,7\npurple_smoke,0\nlee_sin_(lol),4\njakuson_z,1\nlily_long,4\nmizu_(pixiv),1\nhair_covering_nipples,0\ndeer_in_a_onesie_(artist),1\nlarge_axe,0\njenny_(hood's_mad_animals),4\norange_thong,0\nx_marking,0\ncalling_out,0\ncherry_blossom_kid,1\nshack_(artist),1\ngawgaw,4\nkumatta,4\nroxy_the_t-rex,4\nhouse_plant,0\nthe_king_of_fighters,3\npatchwork_clothing,0\nbathroom_tiles,0\nfilolial_queen,5\nglistening_bra,0\nrose_the_lopunny,4\nrobotic_hand,0\nskimmywolf,1\ncaelo_stellar,4\nlight_spikes,0\npooka_(dig_dug),5\nheart_box,0\nprezer0,1\n32rabbitteeth,1\nlaruh,4\ncyan_fox_cody,4\nkunalyn,4\ngummigo,1\nluca_(thegoldenjackal),4\nlunar_cipher,1\nfigure_skates,0\nflashquatsch,1\nfrilly_topwear,0\nmooncake_(final_space),4\nbullet-blast-43,1\nnocure21o,1\nthalia_(niveusaurum),4\ndrooped_ears,0\nmars.cacxtus,1\nhippopotamus_humanoid,5\nchocoscorner,1\npony_of_shadows_(mlp),4\nphun,4\ntabaticbloom,1\ncovered_in_slime,0\npanduh,1\nitzcharlie,1\ntradition,0\ntips_(gats),4\npaw_frottage,0\ndustybeau_(artist),1\nayyk92,1\nderpynaut,1\nsteampunk_goggles,0\ndecorating,0\nabu_(aladdin),4\nhow_this_all_happened_(kabangeh),3\nneon_(floraverse),4\nvinnie_(starbearie),4\navilon_(fursona),4\nvisentha_(chirmaya),4\ncitrina,4\nnoisebat,4\ncomoro_flying_fox,5\nhowl_(miso_souperstar),4\nkittykero,1\nmark_folks,4\naji_arts,1\nsamantha_(adventure_time),4\nherroverdober,1\nbrooke_(dullpoint),4\nsyscod,1\ndelphinium,4\ngenesis_console,0\ngunhild_(securipun),4\nnotsafeforcurt,1\njames_newland,1\nmilcery,5\nback_spots,0\ndillon_blake_jr,4\nseraph_(seraph),4\nsturm_(granblue_fantasy),4\njulia_(waffl3sk4t),4\nmagnificentsexygals,1\nhalf-moon_glasses,0\ntom_cervo,4\nmiss_minerva,4\nbreast_to_breast,0\nnemoskii_stripey,4\ncat_n1p,1\npokohyo,1\nnadialilium,1\npurple_mascara,0\nmimiru_(mantist),4\nkaty_the_cat_(unico),4\nkeita_elyssar,4\nnisha_(pocket-sand),4\nspudenski,1\nmiddrilo,4\nnokucroc,1\nlowestpolygon,1\nsoda_(dogslickingsoda),4\nfire_alchemist,4\ngaoemon3,1\nsalvador_bear,1\naukoon,1\nanomalocaris,5\ndrakloak,5\nerin_(9tales),4\nghostpepper,1\npussy_to_pussy,0\nmax_(deltax3),4\ncells_at_work!,3\nhumping_air,0\nshingo_(threes_axelred),4\nwhack,0\ndzyer,1\nomnishambles,1\nphelia,4\nnutlety,1\nhhhori,1\nata_(anaid),4\nstand_stats_graph,0\nanfys,4\nexposing_reflection,0\nlight_fast_luz_negra_(whygenamoon),4\nnictitating_membranes,0\nliczka,1\nmatthew_nguyen,4\nnetuk,1\nhands_on_mouth,0\nkarleen,4\ntundra_(polarlights),4\nhotline_bling,3\nlizard_taur,5\nhose_in_pussy,0\nmackles,1\nsnail_humanoid,5\naldharoku,1\nz-ton,1\naustin_(lonmo),4\njean-philippe,4\nvix_archaser,4\nrgb,0\ntheinexplicablebrony,1\nclose_call,0\nanswer,0\njustfox,4\ncho!cho!,1\nhatori,1\nbylisboa,1\nmiyanokoko,1\nvorelord_(character),4\nmisspelling,0\nshiranui_(okami),4\nvertical_mouth,0\nthe_f_tales,3\nbig_sex_toy,0\nglowing_lips,0\nvictoriana,0\nyamasan,1\ntenchi_muyo_gxp,3\nantarctic_press,3\nsol_emerald,0\nemerald_mist,4\neustace_bagge,4\nmaltese,5\nkeema,4\npumpkin_carving,0\nena_(lm),4\ncrotch_markings,0\nruvark,1\ntya.,1\nkat_(aabsurdity),4\nbastet_(world_of_darkness),5\nspirals,0\nnintendo_dsi,3\nsamantha_nishimura,4\nphilljonskimax,1\nfalseflag,1\nlucie_(camperschaf),4\nlahja,4\ndisembodied_wings,0\nsunlover611,1\nheart_earrings,0\nnmvsolidus,1\ncentiskorch,5\nragnar_(xnirox),4\ndisembodied_legs,0\nfood_on_feet,0\nmichael_whelan,1\ned_(fuze),4\njessica_(housepets!),4\ncallie_(vtechgamez88),4\nnifsara,4\nkanaya_azami,4\ninquisitorspurius,1\nminicomic,0\nred_light_dreams,3\nlori_raleigh,4\nmichelle_(sachidog),4\ntanookin,4\nponiidesu,1\nkururur444,1\ndamian,4\nbramdon_(supplesee),4\nstarrberry,1\nsexygoatgod,1\nauroraweaver,1\nmemory_erasure,0\nin_30000,1\nhk416,0\nfoot_in_pussy,0\ng.i._joe_(hasbro),3\nundone_shirt,0\nlea_(son2j),4\nakane_(nandred),4\nmelinda_pastor_(lildredre),4\nfeces_on_breasts,0\nkeeb,1\nset_beast,0\nkitsumy_(azura_inalis),4\nsmoke_(fuze),4\nnaurin,4\nlori_(loshon),4\nwhitexterior,1\nludwig_(lddraws),4\nunderwear_around_thighs,0\ninsect_penetrated,0\nmynx_(akiomai),4\nmilo_(pokemon),4\nartificial_turf,0\nthemadsurgeon,1\nthebmeister,1\nlahmu_(fate),5\ncollapsed_dorsal_fin,0\nsmusserd,1\nffenics,4\nfarting_in_mouth,0\nquilaru11,1\nkhiv,4\nsussurro_(arknights),4\nmolly_(animal_crossing),4\nplateau,0\ndesligar,1\nbpflyingcircus,1\ndouble_middle_finger,0\ngojirag,1\ntwo_tone_stripes,0\nblack_cheeks,0\nvhitany,1\npussy_juice_on_stomach,0\nblack_scutes,0\ntube_in_ass,0\nentwined_legs,0\nmikiluque,1\nhand_covering_face,0\nbariumfox,1\nglowing_precum,0\nkimadesigns,1\nadoohay,1\ntess_sovany,4\namunet_(ducktales),4\nhugging_arm,0\nnikaido_(dorohedoro),4\nrowan_(animal_crossing),4\nnoebert_laimable,4\njaethebunny,1\nfluffboye,1\nemeraldeye,1\nfiggylicious,1\nbhaskara,4\nhicheeras,1\nuni_(wazzaldorp),4\naluminum_can,0\nwrist_scar,0\nsemper_fidelis,3\naubrey_(character),4\nbaron_the_raichu,1\nskinny_humanoid,0\nwhirlipede,5\nthe_cowlorado_kid,4\nnick_(left_4_dead),4\nasteyr,4\ntomtornados,1\ndr.tanner,1\nethan_(thaine),4\nrachel1987,1\nmurasaki14134,1\nzetsho,1\nruperteverton,1\ntikka,1\nrimle_mike,1\nolive_eyes,0\nurumi_ushizaki,4\nzuzulf,4\nviewtiful_joe_(series),3\nwergis,1\nlengry,1\nse-4258,4\ndz'isu,5\noil_rig,0\nbunniecope,1\nsamantha_(redtwin),4\nstrawberry_poison-dart_frog,5\nscp-686,4\npute_819,1\nkerodash,1\nnadine_(dalmatiannadine),4\nmale/tentacle,0\nboytaurs,1\nastral_girl,1\narrakis,4\nni_no_kuni,3\narm_scales,0\ndanielle_(lady_and_the_tramp),4\nmadoka_starpunch,1\nblacky_the_stallion,4\njasbun07,1\nriisago,1\nruthie_(grimmagent),4\ncontent_disclaimer,0\ndrasna_(pokemon),4\nkohaku_(dagasi),4\ncassie_evans,4\nrubber_underwear,0\ntail_decoration,0\nscent_gland,0\nmijak_(thony_dog),4\nchokaso,1\nkosa,4\nimplied_gender_transformation,0\ngogeta,4\nnoteworthy_(oc),4\nrupie_(artist),1\nelgato17,1\nresh,4\nterezifaps,1\nr-mk_(character),4\ndio_uryyy,1\nbluezeru,1\nphil_(dank_wankem),4\nsynth_(iahfy),4\nreality_revision,0\nmulti_tone_butt,0\ncorpsmanwelt,1\n14:17,7\nkalonezhno,1\naspev,1\ngreen_blue_eyes,0\nzell_usagi,4\nranka_ookami,4\nalex_(jewelpet),4\nlezagrad,5\ngnome_(warcraft),5\nmuscles_mouse,4\nsuibelly,1\nzaszthecroc,4\nteseirei,1\ncurly,4\nhildale,1\nkyuta,4\nsunnyslash,1\nashe_(lol),4\nsweetapple_(mxxnkiddo),4\njim_rat,4\ndrugging,0\ncasey_(chris13131415),4\ncum_pump,0\nbadcactus,1\nstupidsexyrobes,1\ngolt,0\ntheartrix,1\nmuskrat,5\ncael_o'donnell,4\nfurry_bomb,3\npoofy-shark,1\nmentalraven,1\npete_(housepets!),4\nkissing_nose,0\nj.f,1\nulyssia,4\nanthroraptor,1\nharold_(bunnicula),4\nb0nf1r3,1\nkaxlene,1\nmonchi,1\nmr._mordaut,4\npascal_(yggdrasill00),4\ntwarda8,1\nbarracuda,5\nreality,0\nthematelija,1\nnak_anust,1\nboom-boom_beagle,4\nrabbu,4\ntimothy_squirrel-woolfe,4\nsilphymon,5\nintravenous_bag,0\nalmighty_tallest_red,4\nleafpool_(warriors),4\ngenesis_starwind_(genesisstarwind),4\nlikeshine,1\nkonsuke,1\nvrischika,4\nnastypoke_(character),4\ntrolls_(film),3\ngolan_the_insatiable,3\ntrixie's_mom_(idw),4\nzahra_borngen,4\njora,4\nteresa_(scalie_schoolie),4\nmaki,4\nglitcher,1\nbeluga_damiens,4\ntamurross,1\ntarja_esterdottir,4\nnaaby,1\njunk_planet,3\nmisery_(cave_story),4\nstarlight_blossom,4\nvolcanion,5\nriviena,4\nbimbo_bread,3\nkaknifu,1\nrowanhardt,4\nbon_bon,4\nkyubi,4\nterream,4\ngreyfox_(artist),1\nstoryteller_(artist),1\ny_r_k_4,1\nspock,4\nhandlebars,0\nmoka_(character),4\npencil_sketch,0\nkouya_ni_kemono_doukokusu,3\nthe-nsfw-diner,1\nfixxxer,1\nlydia_deetz,4\nsuperheroinecomixxx,3\ncaptain_courage,4\nnobby_(character),4\ndoug_(series),3\ncoraline_(oblivion_zero),4\nvertical_69_position,0\nplanes,3\nbiting_pear_of_salamanca,4\nserenity_the_gardevoir,4\nfiona_(wolfpack67),4\nblazer_(dark441),4\nolivia,4\nred_(captaincob),4\nchuy_draws,1\nrachel_walker_(pawpadcomrade),4\nnaviheart,1\nazazel_(syrios),4\none_paw_up,0\nfattmana,1\non_throne,0\ndemdoq,1\nlilim_(mge),4\nblanca_(taphris),4\nzentt,1\nhotrod_(fuze),4\nopen_bodysuit,0\ncentorea's_mother_(monster_musume),4\nroyalboy_zafara,5\nimminent_bukkake,0\nyamakake,1\nnoita,3\nsilverray17,1\nfamiliar_(helelos),4\nyuyami_gaoka,1\nlull_(skully),4\nmunch_(tribal_hunter),4\nholding_bikini_bottom,0\nmissy_(triatelx),4\nvarix,1\nadra_(artist),1\npride_color_tattoo,0\nmellyarts,1\nsequins,0\nsevk,1\navelos_(character),4\nniamh_(chimangetsu),4\nzipper_hoodie,0\nzaruku,1\nyerolay,1\nnatany,4\nfat_legs,0\ngronnulv,1\njay_(dontjudgemeimlonely),4\nshattered_roxanne_wolf_(fnaf),4\nissac_(cadaverrdog),4\npretaxrat159,1\nhoritoy,1\nzidanemina,1\nruby_(mikrogoat),4\nwittnv,1\nglowing_armor,0\n\"jade_\"\"cascade\"\"\",4\nthor_volt_(swordfox),4\nwiener-fag,1\nshortsword,0\nbrady_(armorine),4\nluckypupa,1\nstriped_tank_top,0\nmadu_(anaid),4\nwriting_on_self,0\nmonkey_wrench,0\nrin_tōsaka,4\npolar_bear_(ice_climber),4\nwhenwolvescryout,1\nkyssani_(tolerain),4\nguccigarf,1\neduuux,1\nfiber_(fiberr),4\nrekiz,4\nghost_aldaine,4\nms._battleberry,4\nmaddie_(manicmoon),4\nartofrhues,1\nrai_the_raichu_(character),4\nghoja_(rick_griffin),4\nglyphid,5\nvin_(tanith),4\nflipnote_studio_3d,3\nrudderbutts,3\ncollection_cup,0\ncubi_(dragon),4\nrolling_over,0\nqueen_of_cats,4\nhand_on_own_shoulder,0\ndiaper_down,0\nhazker,1\nrubykila,1\nirresistible_love,3\npostiche_beard,0\nmiddy_(midrushnic),4\nkarissa_(character),4\nchen_shi_(white_cat_legend),4\nmandela_catalogue,3\ncrocwife,1\ntwo_tone_swimming_trunks,0\nsugarsaturn,1\ntempting_moonlight,4\njessotter_(artist),1\nblue_lines,0\nfurball_shirokm,1\nsun_lounger,0\nemily_(10livesleft),4\nhmeme,1\n7_heads,0\nbelgian_draft_horse,5\nhaita,1\ncock_in_ass,0\ndreamy,0\nhippopotamid_humanoid,5\nkiki_(felino),4\nthird_person_dialogue,0\nderimiko,1\nrayray72,1\nbuster_whelp_of_the_destruction_swordsman,4\npretending,0\ntesla,4\nroundscape_adorevia,3\nthalomine,1\nprofessor_layton,4\ndonkey_kong_64,3\nroden,5\ntroubled_(artist),1\nbreakup,0\ncheekles,1\nacid_trip,0\nricochet_rabbit_and_droop-a-long,3\nwynne_patton,4\nazure_muneca,4\nshekka_(tits),4\nnanosuit,0\nthistle_candytufts,4\ndesertyrain_minrok,4\nmoon_knight,4\ntouch_fluffy_tail,0\nsweet_temptation,3\ngaminggoru,1\nwavemaster,4\nseductivefeline,1\nni-pul,4\nhuttser,4\ncoldfire,4\nabove,0\nrick_astley,4\noutertale,3\nfrannie_funbun,4\nlunatik,4\npixie_(character),4\nleiton,4\nmatter_manipulator,0\nclemikou,1\nkaleb_(copperback01),4\nmarci,1\nano,4\npadzyan,1\nravyn,4\nbaiko,4\nun_do,1\nsuperpower,0\nmaachi,1\nrachel_raccoon_(zp92),4\nizora,4\ntranslucent_belly,0\nexcessive_lube,0\nrex_kitsune,4\nchistokrovka,1\nmixel_(species),5\nniku_1987,4\nalphaschakal,4\ndragonsushi,1\nnikodavis,1\ncum_play,0\ntokumaru_(cocotama),4\ntoxi,4\noonzucht,5\njaguar_(zootopia),4\njen,4\nwindblade,4\nmog_(artist),1\nklaskk,1\nsouthernsteed,1\ntorute,1\npioky,4\nalexandros,4\nrunawaydanish,1\nmoominmamma,4\nona,4\nglas,4\nmiya_(skimike),4\nariadne,4\nmelanie_summers,4\ngabriel1393,1\npanorama,0\nknight_armor,0\nkobb,1\nsports_bike,0\nxtermination,1\nkobbers,1\nsylus_(kyro),4\nmaya_(tasanko),4\nquival,1\nairi,4\na_(livinlovindude),4\nnaritsu,1\nauya,4\ndante_(thelaststarfighter),4\nxenon_archer,4\ndaniel_goldcoin,1\nliterallyjumble,1\nkintsuki_soran,1\nkennedy_miller,4\nkenshinho_arts,1\ngyan_nightwolf,1\nhimeka_(ro),4\nfailinis_(full_bokko_heroes),4\nplanning,0\nlemmy,4\nkeesthewolf,1\nkarouart,1\nten_of_hearts,0\nsynth-crador,5\nminty_(ertis),4\nbody_part_in_cloaca,0\nkitsune_(tee_k.o.),4\nskyfire_(arknights),4\nlady_lovegreen,4\ntex,1\ngloria_(heartermobs),4\nmoyexingchen,1\nrocky_(pocky_and_rocky),4\nryev_alki,1\nsheyza,4\nhuman_dominating_feral,0\nsrgreja_(artist),1\npudutoast,1\nbowrb_(character),4\nlun_(pixiv),1\nmaria_(alfa995),4\nhanna_(sketchmantel),4\nraylor_7,1\nssalbulre,1\nsebastian_(angels_with_scaly_wings),4\ncastle_crashers,3\nprivon,1\niron_maiden,0\ndave_(martythemarten),4\nsam_(desidobie),4\nulbandi,1\njaana_kettu,4\nfoulserpent,1\ncoloring_book,0\nzinny_(scalesindark),4\nbb-series_astromech_droid,5\nwalnusstinte,1\nfuchi,4\nterrance_(jessimutt),4\npineconedraws,1\nkat_(mazume),4\nyigyuki,1\nsmooth_penis,0\nsole_(saltyman66),4\nlana_(bonifasko),4\ntank_(animal_crossing),4\nflag_on_vehicle,0\nriptide_(disambiguation),4\nsr_panda_86,1\nfloor_bondage,0\ngradient_legs,0\nosahar_(securipun),4\nkitty-face,4\njungle_menace,4\nhuge_horn,0\ncinnameana,1\ncitrine1105,1\nyellow_tail_tip,0\nkyn_skyther,4\nunnamed_old_ram_(furfragged),4\nashley_(ashleypikachu),4\nholding_mistletoe,0\npembroke,1\natomic_corenthal,4\nwovstah,1\nshrike_(shaymin),4\nsnow_(kobu_art),4\nanyyuum,1\nwhit3salmon_23,1\nwendy_carter,4\nelcnusmedy,1\nbandoned,1\nsh-4rk,1\nmia_(disambiguation),4\nwhite_helmet,0\nleveensky,1\nkeith_(monsieurkeit),4\nkel_(028-mendicantspire),4\ntenshio,1\nbutt_hat,0\ncloud_weaver,4\nvictoria_(ibengmainee),4\ncyborg_taur,5\ncum_on_own_sheath,0\nliamhowardfluffyboy,1\nfast_food_(food),0\nfake_equine_ears,0\nclaragonza3,1\namishrakk_(rule63),4\nchester_(extracurricular_activities),4\nappule,4\nwarmers,0\nyellow_robe,0\nsilver_penis,0\neuropean_rabbit,5\numbreonthewhovian,1\nspider_bones,1\ntaru_psd,1\no_0@isogashitsu,1\nfurrymang453,1\nkira_dra_h,1\nsvetlin_velinov,1\ncreepy_castle,3\nberndem-bones,1\norder_compulsive_(character),4\nhopelessness,0\ndigeri_dingo,4\nmallory_mcmallard,4\nconcept,0\nroyal-pain-in-the-ass,1\nthomas_carter,4\nlunamoth,1\nlaramee_(aj_the_flygon),4\nsmelly_paws,0\nromanthony,3\nabc_insects,3\ndemfox19240,1\namari,4\ndeaththehusky,4\nthad,4\nsayori,1\nzero_(character),4\njocelyn,4\ntonya,4\nnaesyroc,1\nmalwolf,4\nhansi_bello,4\nkago_shintaro,1\nsergaelic,1\nkitigaru,1\nkumagoro,4\nnanokyuu,1\nniv-mizzet,4\njalak,4\nmonster_sex,0\nmaria_lys,4\ntempest_streamrider_(oc),4\ninuyama_kensin,1\nstorytelling,0\ncrocodile_humanoid,5\nvendant,1\nlifted_by_arms,0\nuncle_chuck,4\nplaying_with_yarn,0\nmakisy,1\nmoe_(artist),1\nrena_ayama_(character),4\nslimy_(character),4\ndrakel_phyrohell,4\nkeco,4\nmetapuns,1\nakacia,1\nyanna_(character),4\nzeydaan_(artist),1\nsnowflake_print,0\nmarble_(kiwa_flowcat),4\ngriff_(gargoyles),4\nniki2ki884,1\nsuutooroo,1\nrobin_tinderfox,4\nsaintmuerte,1\njoshua_(fezmangaka),4\nvaragod,1\nfloating_legs,0\nnaturist,0\ndarklycan,1\ndropped,0\nno_ears,0\nmount_fuji,0\nminerva_(s-q),4\nitsa_winter,1\nringmaster,0\nzoyler_(character),4\nclothed_intersex_nude_herm,0\ni_can't_fap_to_this,3\nriley_(kadath),4\nudder_expansion,0\nwolfgang_von_kraftman,4\namerok,4\nfluffy_shoulders,0\nmother_penetrating_daughter,0\nshiro_(akishycat),4\nmonotone_thigh_socks,0\nsasha_(trunchbull),4\nvoltek,1\nallie_(tajem),4\nmolly_(oc),4\nrenshi_vivieh_(lowkey_nottoast),4\nkirya_gilbert,4\ngreen_goggles,0\nelle_andrews,4\nwiggler_(mario),5\ngallonegro,1\nnoel_vermillion,4\nbumped_tentacles,0\nrachelle_(vdisco),4\nnadia,4\nasahina_yasuyoshi,4\nduamutef,4\npencil_point,4\nrufus,4\nsniff_(moomin),4\nlewdcario,1\nkillercod,4\ndiasfox,1\nkaijumi,4\nstalker_(warframe),4\ntalpimado,4\nserpy,4\njacklyn_grayman,4\namaki_tsukishiro,4\ncycloned,1\nniki_(character),4\nlightning_mcqueen,4\nfauna_fox,4\nreia,4\njade-sapphire,4\ncyran,1\nharlem_(character),4\nkirai,4\noverlai,1\nbrostone_brohoof,1\nlillayfran,1\ncandor,4\nforiko,4\njujubeeluv,1\nwolfi-hitory,1\ntentaclemonsterchu,1\nschwarz_(mattman),4\npip,4\ndoctor's_coat,0\nlolli,4\narc_nova,4\nstoop,4\nequinox_(warframe),4\nzevtibull,1\nmixer1981,4\nmissing,0\nlap_of_luxury,3\ntoronn,1\ndenise_hyena,1\nheletamera,4\ncupcake_(character),4\ngluepaw,1\nstarfy,4\nlittlenapoleon_(character),4\narmeline_zobelpelz,4\ndragonbros,3\nmogli,4\njade_(whitekitten),4\nash_louren,1\nmonotone_vest,0\nweight_conscious,0\nglowing_frenulum,1\nbig_teres_major,0\nhole_in_chest,0\nblacksmith_hammer,0\njoanne_maple_(conadolpomp),4\nolivia_(screwroot),4\npussy_juice_on_spreader_bar,0\nchloe_(zaush),4\nbullstorm,1\nfluffybunz's_fursona,4\npandear,1\nilliyanora_(himynameisnobody),4\nalexdraws,1\nmia_miller_(guak),4\ngrey_talons,0\nraffle_prize,0\nforced_69,0\nroolthelion,1\nsaintbullart,1\nkao_the_kangaroo,3\nsemirulalmite,1\nrisque,0\nr_anon_4,1\nmlinzi_(series),3\nspotify,3\nbody_stack,0\nkillbeat,4\nweeeeps,1\nfatale,4\nlikeablemouse,1\nprocyonid_taur,5\nhitomi_uzaki,4\nitachi_guma,1\noleanderin,1\nseminophagia_(copyright),3\npokemon_rgby,3\nchief_gilbert,1\nsmelling_balls,0\nhotchkiss,1\nfunnel_in_mouth,0\nordering_food,0\nnijtus,1\nolexafox,1\ngreen_(among_us),4\nsaltorii,1\nsophie_(daniel156161),4\nsyn_club,0\nxartknight,1\ncockroach_humanoid,5\near_jewelry,0\nvalcyrie,4\nnova_(okochira),4\nmistletoe_bow,0\nkatzu,4\njk-kino,1\ntenna1869,1\nchubby_(chunknudies),4\nyodi_(oc),4\nkoan_mascus_(rithnok),4\nmerry_(inline),4\nzarra_(artist),1\nahava,4\nebnet,1\nrippage,0\nglistening_pecs,0\nripushko,1\nforzenta,5\nalina_volkova_(renthedragon),4\nleon_the_cat,4\nmike_(sleepysheepy17),4\nkingrusty,4\nekko1939,1\nren_(rabbity),4\nfumufumu_(character),4\nnorna,4\nvalence,4\ntae_(pkuai),4\nalotie,4\nshepy_vilkavos,4\nhoookerii,1\nmiragoldra_(character),4\nsarah_handlebach_(spiff),4\nwally_wallechinsky,4\nimplied_audience,0\nblack_crown,0\ncalciumchloride,1\npedal,4\nchef_sigmund_bautz,4\nleather_headgear,0\ntender_(diadorin),4\nricebunny,1\nsuggestive_print_clothing,0\nnameless_(venustiano),4\ndakini_(flower_knight_dakini),4\nlinked_collars,0\nthe_dark_one,4\nthalia_(milkriot),4\nocdraco,1\nterra_kane,4\nshrimp_humanoid,5\nraikuma,1\nfailed_attempt,0\nsoleo_the_solgaleo,4\nholding_necklace,0\nsinker_(lilo_and_stitch),4\npijay,4\nhaika,1\nchar,4\ndarcknessart,1\nmolly_(cyancapsule),4\ncum_in_milking_machine,0\nkirionek,1\nweezer,3\nsephra,1\nstriped_neckwear,0\nbrucks_(steamedvegetables),4\nsph,0\nlsd_(vrabo),4\ndanneroni,1\nhazard,1\nbig_sis_(artist),1\nsilky_sifaka,5\nberry_(strawberrytfs),4\nharvey_(stiban),4\nbass_(fish),5\nkiss_on_forehead,0\ntrimean,1\npawronica_(fursona),4\nforgottenscales,1\ndefago,1\nthal_verscholen,4\nvanga,4\nlvl,1\ndragoshi,4\nseras_(ratherdevious),4\nreigan,1\nmenzo,4\ncock_teasing,0\nsquall_leonhart,4\ntouhoufan,1\nkaneoya_sachiko,1\nami_(ellistia),4\nvista,4\ndrash,1\nr.j._(katnay),4\nnod,0\nthrushes,1\nmagnus_(zerofox),4\ntammy_(starfighter),4\nquinton_(maxl8),4\ntera_zip,1\nkarma_(character),4\nwallswallswalls,1\nmelrose,4\nmuttmonster,1\nkitty_softpaws,4\nderracias-35,1\nmel_(polar),4\nhamster_ball,0\nyou_are_umasou,3\nmonroe_(character),4\ndinotopia,3\neighteight,4\njosie_(spacepoptart),4\nlemonscentedbiscut,1\nshivah,4\npeaches_(ice_age),4\neighty_stevedore_nido,4\nmyre,4\nbaddoganimations,1\nsyrinoth_(character),4\nrazor_mouse,4\npepsiman_(character),4\nskill,0\nlobowupp,1\nscrapgoat,5\nhcg,1\nmighty_no._9,3\ne1m8,1\nlittle_sister,4\nelayne,4\nginger_(bittenhard),4\nkyros,4\nnue_houjuu,4\nwikiwarrior,4\nthirty8ght,1\nholding_ring,0\ndisturbia,1\nimpending_anal,0\nbridget_(latchkey_kingdom),4\nfrazzledragon,4\nrainbow_factory_(mlp_fanfic),3\ndragonlord,4\nlizaosan,1\nashinowen,4\nwangsworth,4\nalex_maxwell,4\nstress,0\nspottedleaf_(warriors),4\nbuttercupbabyppg,1\nszaeravar,4\nsandal,0\ndaphne_maer,4\nleylahshan,1\nnemnth,4\nmakwa,4\ndior,1\nseregir,4\nkomekko_okomeya,1\ngirder,0\ntrophy_necklace,0\ncathy_kitana,4\nnyuuchandiannepie,1\nseleccion_canina,3\nukrainian_text,7\nkeiko_ayano,4\nlas_vegas,0\nshabby_blue,1\nalex_young,4\nhunter_(redfeatherstorm),4\nsohmder,5\nroksanath,1\nnelizar,4\ncircuit_board,0\npseudonymous,1\npixelated_background,0\nphallic_looking,0\nbrass,0\ngio_(electroporn),4\nunintentionally_funny,0\novulation,0\nkorn,3\nhoodie_vest,0\nvixlries,1\nmattings,1\nelalvaradog,1\nchestfur,0\nshiverfox,1\nkbo_league,3\nneba,1\nnyarengadget,1\nnightlight,0\naiden_(gekko),4\ncrummles,4\nmkb_56,1\numbu_yvynya,4\nd12,0\npooky_(raichupuppy),4\nlamborghini_countach,3\nbonybones,1\nlegs_over_shoulders,0\nsilk_lace_(oc),4\nhairy_armpits,0\nhuman_to_monster,0\njourney_into_imagination,3\nmonotone_fin,0\nanimal_limbs,0\nkissing_tip,0\nnintendo_3ds_console,0\nlady_luna,1\nfaceless_herm,0\nusagina_(sergiroth),4\ntony_keys,4\npao_pao_(crimsoncolored),4\narttmadness,1\nmatt_draggot,4\ndismembered,0\nyeeta_the_puppy,4\nflow_(splatoon),4\n612,4\nartha-amberose,1\ndrxeno,4\nkai_(x13),4\nbianca_(animal_crossing),4\ndj_mixer,1\npaintball,0\nprey_for_me_(comic),3\nkutan,1\nallo_(dinosaucers),4\nkuro_(kuronell),1\nvampi,1\nortensia_(artist),1\nskrap,4\nclaire_dearing,4\nfyrefly,1\ndiscorded,0\nmaneater,1\nkyuu,4\ndailevy,1\nplug_suit,0\nkouya_(kekkaishi),4\ndarksilvania,1\narizona_iced_tea,3\nsilverwolf_(character),4\nmaria_notte,4\nzayne_kingsley,4\njolie_sparks,4\ndarkuangel,1\njetta,4\nultron,4\nkeith2002,1\nvanguard,4\nkindle_wolf,4\nvicar,1\ncharlene_(mousey_love),4\nazureblues,4\ncarrot_kingdom,3\nthe_get_along_gang,3\nmisskin,1\naleksi,4\nspackered,1\nthemauvestorm,1\nkizzneth,4\ntokiya_sakuba,1\nblowhole_penetration,0\ntumbler,0\nlittering,0\ngenma_saotome,4\nptolemy,4\nmugheyart,1\nshalinka_(character),4\nspiritual,0\nvergewemyasb,1\nventilation,0\nmieu,4\nsparxus,4\nsparra,4\nslickpuppy,1\nlapis_(jewelpet),4\nshampoo_(ranma_1/2),4\nshutupjen,1\nblackagumon,5\ndragon_quest_iii,3\nzoorama_comics,3\nbill_(left_4_dead),4\nfluffylai,1\nsinister_taz,4\nshinobu,4\nkazza,4\ndin,4\nthweatted,1\ntwi,4\nhorse_tack,0\ndafnier,4\nzanji_zamamura,4\nanoroth,1\nspitshy,1\nblack_doom,4\nsheriff_(artist),1\nlight_from_below,0\nmakoh,4\nkanerudo,0\npo_ni,1\nprincess_celestia_(eg),4\nkarate_belt,0\nnezudomo,1\nitou_yuuji,1\nfluffy_(metal-renamon),4\ndolf,4\ntobias_(fox),4\nflying_v,3\nphalloi,0\nblack_mesa,3\nresistance,0\nkezmmar,1\ngreypolf,4\ntotal-krazen,1\nziude_(character),4\nmorpha,4\nseto_kaiba,4\npink_nail_polish,0\nkizi0n,1\njanemba,4\nbruin,4\nyunicoon_(character),4\naf,1\nshowoff,0\nsynandcynaria,1\nsy_freedom,4\ntrinity,4\nfazar,1\nsonitweek,1\npyrexia,4\nkoriah,4\nlovelybonez,1\nnectarine_wynne,4\njohn_bull_(mlp),4\nmousetache,1\nsending_nudes,0\nrobotic_arms,0\nry-u,1\njesie,1\nrivus,1\nwhen_you_see_it,0\nberetta,3\nfunnymouth,1\nmulti_urethra,0\nloba,4\nimactuallygarbage,1\nlupe_(ferdinand),4\nremadi,4\nhawthorne_foxington,4\nhorus_(puzzle_and_dragons),4\nbaron_(zerofox1000),4\nnikki23,4\nnevermown,1\nnacked,0\nstripe-faced_fruit_bat,5\nnifela,4\nside_table,0\nshellvi,1\nzoomer_(nanoff),4\nflash_draw_(character),4\npants_off,0\nshuttlecock,0\nshoulder_holster,0\nsilk_(dreamkeepers),4\nepithymia,1\nmisty_(oc),4\nherding,0\npussy_fins,0\nkumiho_(purplelemons),4\njarlarild,3\nmfus,1\nsi_(lady_and_the_tramp),4\nma'ara,4\nharvey_(lysergide),4\nlewdkitten,1\nkati,4\nsam_(tiquana),4\nstreet_corner,0\nazura_(loneguardian),4\nsimoon,1\nvitexen,1\ndendy_(ok_k.o.!_lbh),4\nsails,0\njyueng,1\nciril_kastion,4\nnikkimory,1\nallmate,5\nmidnightmuser,1\nrockosedits,1\nsucked_and_plowed,0\nbrigitte_(overwatch),4\nkari_(0laffson),4\nyuki_(tooboe_bookmark),4\nkira_(staffkira2891),4\nchicken_run,3\npride_(undeadkitty13),4\ninklingbear_(artist),1\ndeepstroke,1\nchango_the_cow,4\ncetacean_taur,5\ngokushiki_kasuta,4\no-kemono_(character),4\naurora_(insomniacovrlrd),4\nrometwin_(artist),1\nexo_stranger,4\nbutton_down_shirt,0\nlikri,1\nwillow,4\ndrinking_pussy_juice,0\nguy-am-i,4\ncorona_(beer),3\nfelixleong,1\nshaun_the_sheep,3\nfeha_(killergrizzly),4\nsvd,0\nhood's_mad_animals,3\nerron_buchanan,4\nsoraru_(sorafoxyteils),4\nburnt-toast,1\nnorthern_lights_(coca-cola),4\nvicuna_dog,4\ntanya_(dullpoint),4\nhozure,1\nharu_(cainethelongshot),4\nfantasy_world,0\nhay_bed,0\ntwig_(hilda),4\nblood_on_armor,0\njay_the_cat,4\ncrustacean_taur,5\nbutton_(control),0\nfurred_monster,5\nchum_(splatoon),5\nannoy_(character),4\nringofriend,1\nspotted_bikini,0\nkete_wawakari,4\nbeat_saber,3\nsubjectdie_(artist),1\nabsolut_vodka,3\nlite_(character),4\nbutterscotch_(hoodie),4\nball_punching,0\nrushdownbirdie,1\ndivan,0\nriverta,4\nzack_the_dragon,4\ndraeus,4\nthe-urocyon,1\naero_(aeromagazines),4\ncoyzoi,1\ncheesy_(cheese_cake),4\ncaptain_sharkbait,4\nrananya_(vrabo),4\niggy_(ignatius_husky),4\nholy_water,0\nerection_under_loincloth,0\nsamantha_drazelle,4\namora_the_t-rex,4\ncariboops,1\nteporingo_(species),5\nskaereth,4\nchunkyoreo,1\narcade_stick,0\nkaki_no_tane1,1\nremmm,4\nsaros_(copperback01),4\ngreen_paint,0\nbob_vorsh_(jack),4\nnicoguer,1\npotap,4\nrosetta_(jludragoon),4\n60:47,7\nrodin,1\ntunky_(furryfight_chronicles),4\nikunsfw17,1\ntwo_tone_headset,0\nolivie_rosestar,4\nshadethehellhound,4\nkitkat_(ethan64),4\nreindeer_(petruz),4\nfuxiao_(ffjjfjci),4\nmossist,1\nscore_(mlp),4\nclient,0\nlyndane,4\nweathervane,0\npharos.e,1\nmr_dog,1\ngamer_girl,0\ngolden_axe,3\ntigra_watanabe,1\nchickhawk96,1\nnykka,4\nlucemon_(rookie),5\nraknar,4\nalice_(cayo),4\nelbestia_(character),4\nelysia_(shadowkitteh123),4\nahsan,4\nmuffle,1\npouch_teats,0\nmelonyan,4\nshadowcat_(artist),1\nplatrev,1\njune_(blackknife12),4\nlavenderhush,1\nrafael_(rio),4\nfluffabie,1\noh_joy_sex_toy,3\ncrimsonbugeye,1\nvampire_the_masquerade,3\nforced_handjob,0\nzayne_camacho,4\ndolan,4\nbackstreet,0\nlilandria,4\ncarrion_(character),4\nfigment,4\nsiegebeast,1\ncongee-painting,1\nbeatrix,4\ngoodbye,0\ndecomposition,0\nmeammy,1\nuktemperance,4\nnoisemaker,0\nvarric,4\nffefox,4\nstarling_(snowrose),4\nt2death,1\nthebluevibrava,1\nsilent-fly,1\nlockhart,4\nclawitzer,5\nbarret_wallace,4\ngarakutea,1\nny-4n,4\navimcmillan,4\nshinigami,5\na_centaur's_life,3\nrin_(nihilochannel),4\nkena,1\nstripetease,1\nmaxis_core,4\nspats_(lilo_and_stitch),4\ntal_rex,4\nglider_(artist),1\nstonedshiba,1\nkine_(kirby),4\nben_morbez,1\nclothes_bursting,0\ndunks,1\nnorwegian_text,7\nlittle_dragon,1\nrhino_penis,0\nfa_plastilinka,1\narms_down,0\ngiantmosquito,1\nrommy_winterlight,4\nprairie,0\nyaya_han,1\nnordic_runes,0\nheads_up_display,0\npenis_down,0\nerohd,1\nwar_beast,5\nwhite_fang_(tenebscuro),4\nhip_hop,0\nthe_tower_(tarot),0\nsnoway,1\nesmareld,4\nmessier_87,0\ndonabe,1\nlibrary_of_ruina,3\namarimo,1\narchivist-kayl,1\npromedio,1\nnsfwkingrian,1\nbluesnesscasual,1\nara_chibi,1\ncactus_flower,0\ngartie,1\njacksonbottestr,1\nbreel_(housepets!),4\nferionion,1\nzetamath,1\nreshimom_(thiccwithaq),4\nu5rilla_ktzk,1\nnegativskill,1\nmulti_teat,0\nboa_only,0\nthescorchingdragon,1\nlayered_heart_pupils,0\nmikami49,1\ngalore_(flight_rising),4\nunknownlewder,1\npride_color_stockings,0\nbloom_(rodinsinker),4\nbelovedfoxx,1\nmaugrim,4\naero_the_acro-bat_(series),3\ngjall,4\nalolan_grimer,5\nfendalton_sinclaire,4\ntodviorns,1\nvoidsylphid,1\nkaia_(ulfhednar),4\nlemonlycan,1\nferal_dominating_female,0\nmoon_marking,0\nghost_meowscles,4\nthrow_net,0\nandira_(granblue_fantasy),4\ntext_on_crop_top,0\ndefense_stat_(yu-gi-oh),0\narisel_uwu,1\n1111122,1\nmold_(fungus),0\nfetal_kick,0\nblblchiyori,1\ncamo_underwear,0\nlinnaea_(silviathepony),4\neleanor,4\nyaris_(chimangetsu),4\npatrick_(lunchmeat),4\ntouching_own_stomach,0\nsparkly_eyes,0\nferivyr_(shift),4\nkrista_blonde,4\ncell_(cells_at_work!),5\ncitrus_tree,0\nkona_(fluff-kevlar),4\nspitting_on_face,0\nfurry_in_a_hurry,1\nkantus,4\nmellie_(only0neman),4\nedwina,4\nlight_foreskin,0\ngym_topwear,0\nfurrawin,1\nchostrawbie,1\nankle_ring,0\nmetronome_bat,4\nwasim_(meesh),4\na_pony,4\nmistel_(capaoculta),4\ngolde_(golde),4\nmango_(h2o2),4\nill_fitting_clothing,0\nhensa_(waitress),4\ndazzle_(hazbin_hotel),4\nmaw-malice,1\nchicken_wings,0\ndonovan_dmc,4\nciggybunny,1\nfingers_on_face,0\nbea_(toomuchdynamite),4\nhinzen,1\npride_color_thong,0\nflexing_flexor_carpi,0\ncum_on_topwear,0\ntoria,4\nysabelle_kentuck,4\navery_(disambiguation),4\ngenesis_yuya_kono_(desertpunk06),4\nriu,1\nmonotone_briefs,0\nskunkworth,1\nmorgan,4\ntano_(far_beyond_the_world),4\ngauged_tongue,0\nmiriam_smyth,4\ndusky_the_dusky,4\nlynofdeath,1\nweretober,0\nguaxraccoon,1\nface_closeup,0\nunfoe363,1\nmonty_mole,5\nviola_(masterofall),4\ncreation,0\nholly_(ews),4\nbody_encapsulation,0\ntsumeno,1\norange_jockstrap,0\nsingle_strap_shirt,0\nspindle_(mlp),4\nramuchoppu,1\ntransparent_fabric,0\nkaijin_(thatrandomlurkingguy),4\nyukon,4\njaundice_rossenfield,4\nsmogville,1\nfleur_ladouce,4\nprincess_smolder_(mlp),4\npikachurin,1\npolka_dot_bra,0\nhyper_glans,0\ngame_boy_advance_console,0\nslyus_(fursona),4\nshiron_(jude-shyo),4\nsubmerged_hand,0\nphil,4\nmr._williams_(rotten_robbie),4\nspark_(sparkitty),4\ncachorroamor,1\nneonsheath,1\nquantum_deathclaw_(fallout),5\ndesamistesae_fafratarello_flumendo_styx,4\nezmeralda,4\njim,1\nangel_(badlandsdrws),4\nmario_tennis,3\njaxon_(fuze),4\ngiant_salamander,5\nfigurines,0\ndeezchief,1\nnick_(chana_kim),4\nplapjax,1\nlesley_(funkybun),4\ndiane_evans,4\nnamabito,1\nclub_dance_dragon,3\nspitting_out,0\nblood_from_eyes,0\nprint_gloves,0\nneofi,1\ndekoude,1\nterri_(morkai88),4\nono_kitsune,4\nmarcus_poorner,1\nfather_fingering_daughter,0\ndarkling,5\njiara_jaro_(coltron20),4\nreiji_(reijikitty),4\ndonation_message,0\nbooze_roo,4\npepper_ann_(las_lindas),4\nnutty_(el_senor_erizo),4\ntouching_own_crotch,0\nfriends_(panken),3\narmored_trico_(the_last_guardian),4\nnotedwolf,1\nandrealphus_(helluva_boss),4\nstriped_neckerchief,0\nsiljan_clawson,4\ntre_(chuki),4\nlana_(heellana),4\njammyjams,1\nhorn_decoration,0\nchaikodog,1\ncat_city,3\nt-ace_juice,1\nwaa153,1\ntomoe_ame,4\nlizzles,5\npunky,4\najun_(character),4\nverysleepycat,1\ngothpanda,1\nlas_plagas_parasite_(resident_evil),5\ndracanine,5\ngrace_(shining),4\nsmiling_friends,3\nmp4ort,1\niv_line,0\nmushroom_glans,0\ninert-ren,1\nalexzandr_sokolov,4\nblack_earbuds,0\nimminent_spanking,0\nillian_(komodo_dragon)_(ritts),4\nplant_transformation,0\nurethral_candle,0\npoundbandana,1\ni_quillian,1\ncynthia_saito,4\nneksu_(pokesona),4\nwrongcable,1\nmini-ham,4\npakobutt,1\nclove,4\nxmobile,1\nshadowraine,1\nlucky_(blondefoxy),4\nthe_stare,0\nrip_slyme,4\nscorchingnova,1\nfaithandfreedom,1\nshui,4\nknight_princess,4\niyarin,1\nheavy_ball,0\nmiss_kitty_mouse_(artist),1\nurine_from_nose,0\nbegami,1\nfarly_(firenor),4\njko_2,1\nunstableimagination,1\nblueberry_(disambiguation),-1\nluca_shoal,4\nhomealone,1\nlavaar,1\nshady_daze_(mlp),4\nenchantment,0\nholiday_dressed,0\nrainier_(artist),1\nirongut,4\ncerberus_(houtengeki),4\nhatch,0\nscruff_mcgruff,4\nsl,0\nsan_(tigerinspace),4\ntyr,4\nmilo_nettle_(character),4\ntheodore_winters,4\ncarolina_panthers,3\nhodgepodgedl,1\nshira_seskai,4\ndigitamamon,5\nn-prophet,1\njenner_(nimh),4\nalternate_eye_color,0\nceri,4\ncum_on_stockings,0\nukagaka,3\nselo,4\nsatyn,4\nvivamus_lican.,1\nkwami,5\nshaw_(arknights),4\nkilling_floor,3\nkipper,1\npup_(grisser),4\npedals,0\nalitica,4\nsex_club,0\nwordsworth,4\njace_beleren,4\n10hmugen,1\nchronoa,4\nwithered,0\nlena,4\nbras_d'honneur,0\nben_the_dragon,1\nsebulba,4\njezzel_(hth),4\nfighting_vipers,3\ntube_socks,0\ntoe_grab,0\nidentity_disc,0\nmuzzzzz,1\nmandakatt,4\nglowing_piercing,0\nlady_weavile,4\nlundsfryd,1\nfierywitherrose,3\nthe_lovers_(tarot),0\nbee_(gremm),4\nratchetsly,1\nhachisan5656,1\ncoif,0\nhappie_(character),4\nwarumonzaemon,5\nlink_(rito_form),4\nblack_tip_reefshark,5\nmossy_(nirvana3),4\nartolvrsmth,1\nnerf_blaster,0\nmoka_yume,4\nf-22_raptor,0\nbilabee_(character),4\nkoriko_(kanikui),1\nmaite_terranova,4\nsacredsun519,1\nbargaining,0\ntail_scales,0\nvalor_(eonshinato),4\nvictoria_(pockediginut),4\nlearning_the_mirrors,3\ngurney,0\nvolcanic_eruption,0\nmr._polywoo,4\nprescott,4\nperninae,5\nserratia,4\narustuff,1\nslapfuzzy,1\nworship_play,0\nspecter_koen,4\nkatazaki,1\nstardust_(shyvrc),4\ntranslucent_nightgown,0\nnipple_kiss,0\nvance_sloan,4\njosie_mouse,4\nlaura_(joaoppereiraus),4\nluna_star,4\nsiela_(velannal),4\njosiah_(themuffinly),4\nbryta_(zummeng),4\nfahrencrysis,1\nark_noir_(character),4\ndea_(conrie),4\nolyvia_cross_(sexyblaziken),4\ngreat_girros,5\nrogbiejoke,1\npegasus_humanoid,5\ncohozuna,5\nrandrana,4\nma_wen,1\nrex_(samanator_club),4\nnaz'akh,4\ncustom,0\nhayrider,1\nwhan,1\njust_(justkindofhere),4\nshatteter,1\nrouge_flare_(character),4\nbackdrop,0\nliunkaya,4\ntigerfur,1\nsame_size_pred,0\nluke_(james_howard),4\noxocrudo,1\ncomplex_shading,0\npink_backpack,0\nstarburn,4\nimminent_inflation,0\nhanzotitmada,1\nsnickersthecat,1\njnstudio,1\nfive_nights_at_freddy's:_fazbear_frights,3\nzenberu_gugu,4\ntekkymunster,1\nterah,4\nkeyboard-draws,1\nalykia_lumine,4\nfaraday_(fluff-kevlar),4\nthatcatzoey,1\nsari_sumdac,4\nbobby_(maple_town),4\nskellymor,1\nward,0\njustwannadraw,1\nbosstones22,1\ncody_(rocketraccoon),4\nnine,4\nsymbiotic,0\nfallynangel,1\nsami_(character),4\nyiff_in_hell,0\nraksha_noroi,4\nkina_jardine_(kinojaggernov),4\nsandy_rivers,4\ntavia,4\nfoot_on_breasts,0\ndummy_(undertale),4\nsanaki_koga,4\nheadmaster,1\nishioto,1\nemit,1\nzidonuke,4\nrange_weapon,0\nlucy_(school_days),4\ntwilight_(series),3\nzicker,1\nwiizeru3950,1\npersephone,4\nlyle~b,4\nrienn,4\nrakshani,5\nsonikey0_0,1\nsochi_2014,3\nzephyrflash,1\nstreaks_skunk,4\nkurona_(neko_musume_michikusa_nikki),4\nkattotang,1\npiraka,5\ncrystallos,1\nstan_melgar,4\nfafnir_(little_witch_academia),4\nceraph_(coc),4\ndante-ml,1\ntutankabron2uv,1\nnintendoland,3\ndawnwalkerwolf,1\neli-sin-g_(artist),1\nnado_(character),4\nincense_burner,0\nnaburus,1\nrukacollie,4\nchronicles_of_narnia,3\ntiluta,1\nfurmarks,0\nahgot,1\nentwined_penises,0\nlemmy_(sapphinarose),4\nmoon_symbol,0\nlimb_regression,0\ngumbo_(colo),4\ncarpeted_floor,0\ncrystal_panier,4\nredriver24816_(artist),1\nmx_ragam,1\npomegraniter,1\nbuiron,4\nxerneas_(neutral_mode),5\nsikur,5\nethan_forestfox,1\nsir_dragon,4\nflag_patch,0\nmimi_(pop'n_music),4\nvee,4\nneoma_(reign-2004),4\ntail_under_clothing,0\nbroxoles,1\nfingers_on_butt,0\nmysterydad,1\ncinnie_(wizpig),4\nk2146938,1\nkogitune,1\nnaya_(nuree_art),4\nexternal,0\nannabelle_(madmax),4\ncrown_(kemokin_mania),4\ndoggette_(bahnbahn),4\nurine_in_condom,0\nsmalldom,0\nalternate_gender,0\nkhaki_face,0\narty,4\nspikes_wisp,5\npulling_down_shirt,0\nspoopy-abby,1\nmuggsart,1\nhbky1101,1\nvisibel,1\nmorse_code,0\njulesy,4\nnintendo_ds_console,0\nallaros,1\nlean_body,0\nlevitus,4\nthedrunk,1\nteacup_gryphon,5\nanimal_body,0\nnikki_(phenyanyanya),4\nben_gally_(callmewritefag),4\nimightbemick,1\ndrakkmac,1\nshikyotis,1\nrevna_(garal),4\nconnor_walker_(leviantan581re),4\nvehicle_crash,0\nopening_shirt,0\nyuki_(yukitallorean),4\nnerif_(nerif),4\nryanburr,1\ntasha,4\ngecko_humanoid,5\nsaliva_on_legs,0\nmaxima_(inukon_geek),4\nalex_winter,4\nnova_(hijinxfantasy),4\nxerhom,3\nsve_ulfrota,4\nclint_(lelewinter),4\nfoot_in_ass,0\nmemjioof,1\nrook_(nimratu),4\naniu_(balto),4\nthink_tank_(fallout),5\npimientanas,1\nthought_bubble_outside_panel,0\ntransformation_transition_effect,0\nmommy_(sloss),4\ndusk_fonce,4\nmonotone_belt,0\nmeruka-kun,4\nnablacah,1\nruddy,0\nwingsandfire72,1\ndr._k,4\nmangrove_(mangrovefox),4\nstardustpony,1\nych,0\nakiidiamondheart_(artist),1\naion_(city),4\ncitail,3\nhole_in_pants,0\nhyena-kun_(manadezimon),4\ncd_case,0\nsubject_67_(helltaker),4\nnapoleon_(random_doom),4\nkhaba,4\nokapi_(kemono_friends),4\njoltink,1\nmalladus_(char),4\nbupkus_(space_jam),4\nsiren_(lightwolf27),4\ncage_(artist),1\ndeesamane,1\narik_(dttart),4\nkyron_farspire,4\nqueen_kaliendra,4\ndriveway,0\nvavelu,1\nharuki_genia,1\nazentaru_(r-a-s-p),4\nskypup,4\ndouble_fine_productions,3\nthis_is_sparta_(meme),3\naisha_(longinius),4\namanda_(flufflewdzthings),4\nzoot_suit,0\nangel_in_the_forest,3\nmalina_(kazukio),4\nhendersimp,1\nzvn,1\nbela_dimitrescu,4\nrider117,1\nzipper_skirt,0\njosomez,1\ndaddy_mug,0\ncoconomi,1\ngenital_fluids_on_self,0\nhand_on_another's_pussy,0\nmarqslewds,1\ndeer_spots,0\ntyler_(ccwoah),4\nphantom_balloon_boy_(fnaf),4\nwing_tuft,0\nphylla_(coc),4\nbassfxlimit,1\npenny_(mao_mao:_heroes_of_pure_heart),4\ncow_horns_crown,0\ntheflerffyburr,1\ndetectivecoon,1\nallay,5\nyuka_(layer),4\nhorsecat,1\nblurau,1\nwheresmyale,1\nruby_(othinus),4\nkarmi_(pencil_bolt),4\nraijū,5\nvoltybee,1\nnull_(nefariousnull),4\ncube666dice,1\ndon't_dead_open_inside,0\nuni_hkdm_gsg,1\nrigbythememe_(artist),1\nriocynn_ra'ak,4\npred_quest,3\nmyuu_(arisumeria),1\n00fantasy00,1\nmilkpudding,1\ndisney's_house_of_mouse,3\ndruid_(feral),0\nbackless_swimsuit,0\nsora_(arknights),4\njomasfaceisugly,1\nmoonbane_(artist),1\nfiji_(johann),4\ntoilet_paper_dispenser,0\nfoxworks,1\n44shio,1\naxle,4\nsairisha,4\ngart,1\ngnj97,1\ncum_on_magazine,0\ntigeraf,1\namao,4\ntaur_transformation,0\nturner_(grafton),4\nzekit,1\ntrickster.puppy,1\nbarry_torres,4\nbo_(domovoi_lazaroth),4\nmaya_the_bee,4\nmonita_(nintendoland),4\ndamalia,1\nferalmoonlight,1\nsynx_ryugami,1\ncloe,4\ncreaturecandy,1\ndewey_teagarden,4\nsabrina:_the_animated_series,3\nlenora_(specter01),4\nrawrzky,4\nmkonstantinov,1\noceanrider,4\nsquilliam_fancyson,4\nwater_spirit,5\nkyree,4\nleorajh_(aurastrasza),4\ndieff,1\nstriped_dolphin,5\ncassia_(seff),4\nkinoko.kemono,1\ntarasa,4\nescaflowne,3\nolaf_(frozen),4\nkawaguchi_youhei,1\nreddoshirousagi06,1\nnanites,0\npopcornkitten,1\nsilver_stiletto_fly,5\nlonging,0\nwildkicheko,1\nsatoru_iwata,4\nwind_turbine,0\nused_tissue,0\nbaywatch,3\nhybridmink,1\ndigimon_humanoid,5\nmouse_lemur,5\ntumblr_ask,0\ntoonlancer,1\nmeena_the_kobold,4\nhuang_(takataka),4\nfurisukiii,1\nmessiah_rundall,4\nspooderdoodler,1\nh3llvixn,1\ndivifilly,1\nzhongli_(genshin_impact),4\nmollusk_merfolk,5\nsugoi_hi,1\ndodoro_(zoohomme),4\nterri_(lordflawn),4\nuchimaru,1\nmamako_oosuki,4\noctopus_merfolk,5\njolbee,1\nclimbing_tree,0\njanemoroh,1\nmax_(shining),4\nsoggygoat,1\ncharlyhorse,1\ninflatable_chair,0\nplotting,0\naeon-a302h311_(character),4\ndelloknon,1\nfoot_on_ankle,0\narcher_emiya,4\nexperience_bar,0\nkopy_k,1\nholding_stack,0\nbell_(overgrown_lizards),4\nthroatspit,1\nspider_strumpet,1\nryder_(seintaur),4\nlight_nails,0\nhorn_spikes,0\nicon_of_sin_(doom),4\nwigglelines_(artist),1\nhimbocuga,4\njoey_(sentharn),4\nbella_(fluffyglitch),4\ntama_(the_lion_king),4\ncj_fauxx~,1\ndorak_(character),4\ntay_(tayjayee),4\nlauren_aza,4\nmassjoinment,0\njaeger_(lewddragons),4\npapilla,0\nfigaro_(artist),1\njulian_(cadaverrdog),4\nold_speckled_hen,3\ntouching_neck,0\nomaha_the_cat_dancer_(franchise),3\nvex_(destiny),5\ntails_of_iron,3\ncamo_headwear,0\npeteko,1\nrafaknight-rk,1\nthieu_(thieutheowl),4\nperserika_(doneru),4\nnipple_clamp_pull,0\nchiro_(zerochill),4\non_ceiling,0\nlilmothiit,5\nseppuku_(artist),1\nyear_of_the_rabbit,3\nkintaro,4\nedryn_(coc),4\nblindwatchman,1\npuffedup,1\nphallusfantasy,1\nrockk,1\naxel_gear,4\nrick_(kirby),4\ninuwanko,1\nevan_(thaine),4\nderago,4\ndunceneygak,1\nglacialpain,1\nmegan_(two-ts),4\nlex_kempo,4\nprincess_(harvey_beaks),4\nlunarwolf,1\nartemis_(pokesona),4\nranek,4\nv-v,1\nbalance_beam,0\npumpkinmon,5\nfelix_radziwill_(kinrovaldis),4\nzazi,4\njanet_(trias),4\nsevota,4\nlikanen,1\ngwendolyn_mai,4\nzerospanda,1\nassociated_student_bodies,3\nprices,0\nraijin_(shaftboop),4\nacting,0\nminish,5\nstalafarnahe,1\nsweethellgirl,1\ncalli_(scalie_schoolie),4\nkizzneth_(character),4\ntoby_(tatertots),4\ntectael,4\nkal_noven,4\nknight_knight,4\ntio,4\nbessy_(back_at_the_barnyard),4\nlabatate,1\nmoro,4\nmesperal,1\ncodelizard,4\nmurderwolf,4\nalgooriginal,1\nlaura_(derideal),4\nwendy_(bugzilla),4\npinkpossum,1\nechinozoan_humanoid,5\nnaughty_(bear213),4\naukai,4\nsunny_miami,4\nspunkdragon,1\np-balloon,0\nerin-fox_(character),4\nnagamo-kun,4\nauri_(thehuskylord),4\nkmmm,1\nkehta00,1\nsecurity_puppet_(fnaf),4\nloaf_(dogs_in_space),4\nchinchilla010,1\nclapperboard,0\ntravis_mayer,1\nraven_baxter,4\nhip_focus,0\nblackshepard,4\naleph,4\naisu_kyo,4\npentarch,1\npaula_(1-upclock),4\ngerman_(altpuppy),4\ntakaoka_motofumi,1\n6_penises,0\njade_(fvt),4\nfureezy,1\nshahra_genie_of_the_ring,4\nriley_(jendays),4\nvailet_deer,1\nbabie_fluff,1\naction_shot,0\ntrace_raymes,4\nandesc,1\nnightmarebat,4\nblack_and_tan,0\nflying_car,0\nthe_eighth_sign,3\nnietzab,1\nangelo_(siperianhusky),4\ncaribooty,4\nhotdog_costume,0\naniki_faux_(character),4\nlyla_no'uka,4\nsylvester_merrimen,4\nmonikano,1\nkaltt,0\ncody_hedgie,4\nipetro,4\njill_bridges,1\nrabbit_panties,0\neurovision_song_contest,3\nmaoochao,1\nsmuppetfan69,1\njuno_(tabunnie),4\nmelanie_(fiercedeitylynx),4\nattack_stat_(yu-gi-oh),0\nguarana_(fruit),0\n/co/nrad,4\nsurprise_oral,0\norange_frill,0\nxiaoman_(yogin),4\nabomination_(darkest_dungeon),4\nelectricjolt,1\ndanger_n00dle,4\nrealistic_hypnosis,0\ndark_shorts,0\ncock_corset,0\nwinnigrette,1\nyaky_(yakyarts),4\nlilmousybianca,1\nfeerone,1\ntinbash,1\nthehiggles,1\ncum_on_eyes,0\ndiamonikon,1\nvellacraptor,1\ntelethia_(scorpdk),4\nyear_of_the_snake,3\nmorumotto,1\nsynthesizer,0\nturnsky,1\nbadminton,0\nchazwolf,4\ntolbi_angara,4\ndonitkitt,1\nkizrae,1\nclouded_(fa),1\nfuzon-s,1\nprunella_deegan,4\nartamis_snowpaw,4\ndrena,4\nfatecoyote,4\nbetsumon,5\ntribo,1\nmooshroom,5\ncouchcrusader,1\nnisimawari,1\njack_(shadowcatcher),4\nzee,4\nskuell,1\ngrandifloru,1\nrayverak,1\nquokka,5\napophis,4\ncreeper_hoodie,0\ngao_mikado,4\nspanking_(artist),1\nslaughter,0\nhilt,0\ndonovan,4\ntwodeepony,1\nkazuma_kiryu,4\nahemai_(maim),4\namy_lawrence,4\ndarkin,5\nlyra_belle,4\nprofessor_hubert,4\nangie_(character),4\nrustbust,1\nstarcrossing,1\nduncan_(dark_nurse),4\nyellowstumps,1\nterru,4\nero_trap_dungeon,3\ndokara,1\ntight_coupling,3\nsapphire_(steven_universe),4\nnero_(devil_may_cry),4\nyarne,4\nyuri_the_lion,4\nseong_mi-na,4\nivory_(blitza),4\nbiscuit_(carrot),4\npinopino,1\ntessa,4\ndraculaura,4\nkeeby,4\nethan_alexander_(tabra),4\nslavcat,4\nprincess_(alpha_and_omega),4\ntaw,4\nraceplay,0\nc_j,1\nyazoo,4\nflying_afro,1\namy_the_zangoose,4\nd3monstar,1\nmerlock,4\ndanelda,4\nveck,1\njira_lightstalker,4\nwormhole,0\nwolfplot,3\nrj,4\nrum_tum_tugger,4\nxelophus,4\nmother_mountain,4\ncybersix,4\npico_(ayame_emaya),4\ncassidy_(spoonyfox),4\naryan_(species),5\nhand_on_nose,0\ntrainer_penelope,4\naverage_artist,1\nurban_(artist),1\ncupcake_(oriole),4\nrivercoon,1\nkino_(character),4\ncowdere,4\njustin_bieber,4\nimaajfpstnfo,1\nbuns_rabbot,4\nrip_kackel,4\njamesthedoc,1\ntenth_doctor,4\nbelun,1\nrydah_hazard,4\nrenx,1\nluigiman,1\nnikki_(balto),4\ngachimuchi,3\npandafox_(artist),1\nmareef,4\nsmudge,1\nrex_(bgn),4\nmr_zero,1\nsnoop_dogg,4\nhelping_hand,0\nmega_beedrill,5\nkuroki_tomoko,4\nsailor_mars,4\nrukia_kuchiki,4\nfray_(icy_vixen),4\nd-gate,1\necf,4\nfidgit,1\nbennemonte,1\npear_of_anguish,0\nfossil_fighters,3\nmonster_under_your_bed,5\nouma_tokiichi,1\nalligator_snapping_turtle,5\ncoo_(kirby),4\nblackgabumon,5\ntermite,5\nrainbow_earring,0\ntsen,4\nmoyses_damasceno,1\nrevankitty,3\nyamame_kurodani,4\njustaweirdogirl,1\njousterl,4\nslyphin_drakil,4\nosiosi,4\nevil_varby,4\nvaleford,4\nshirukawaboulevard,1\nsebris,4\nbushtit,5\noutbreak_company,3\ncut_tail,0\nf-16,0\nmichael_myers,4\nrod_(animal_crossing),4\nceo,0\nrichard_(rikarda),4\n>:c,0\ngale_and_gloria,4\nthekc,1\nlittlenaughtypony,1\nsosarin,4\nadjusting_swimsuit,0\nruby_(deonwolf),4\ncitrine,4\nkenko,4\ngorgoroth,4\nnausicaä,4\ntute_(character),4\nleash_training,3\ndyluck,4\nowlboy,3\nsilver_(oxsilverxo),4\nomaha_the_cat_dancer,4\nkrow,4\nchingilin,1\nbaltomutt,1\nfrocta,4\naustiniousi,1\nastra,4\nzell_(animal_crossing),4\nforging,0\nmariel_(tch),4\nkeeyrow,1\nevana,4\neva_(sahara),4\nray_van_siegheart,4\nmox,4\ncatahoula_cur,5\nrenji_(cocotama),4\nallergic_reaction,0\nmaomaogames,3\nblood_blockade_battlefront,3\nblanko_(space_jam),4\nfuriorid,4\nwhoops,0\nfloating_eyebrows,0\ndesmond_fallout_(desmondfallout),4\nnight_fumei,4\nsolar_(aspect.tribal.wolf),4\nehri_(rashchaos),4\nel-recondite,1\ncatsithx_(character),4\noinking,0\nimplied_bisexual,0\ndemacianyordle,1\npukopop,1\nganler,1\ndarius_shah,4\npuffinza,1\nchell_(fursona),4\ngreen_boxer_briefs,0\nharasaki,1\nthemimicartist,1\nshredder_(hocolatemilk),4\nrennafestive,1\npressing_against_cheek,0\nchairoi_tategami,3\ngloria_(slither),4\nskrekdathird,1\nangelgatomon_(character),4\nchaclaveloz,1\nmangchi,1\ntatum_(tolng),4\ntongmung24,1\nzelena_(thatonevocals),4\nspotted_chest,0\nissack_wink,1\nvyncent_(omegaozone),4\nelma_(sleepiness18),4\nlightning_flash_(oc),4\neva_(dewwydartz),4\npop_cat,3\ntinydevil,1\nsusan_(tunesdesu),4\nbulge_under_clothes,0\namber_wind_(character),4\nkasloth,1\nflamberry_(artist),1\ntuti_(tutifruti),4\nashra-nour,4\nkon_(habitualboomer),4\naylornia,1\nsilverzard,4\ndronis_(psyphix),4\nfoxy_loxy_(1943),4\ndiana_(huffslove),4\nshadeii,1\nyao_(takataka),4\ncollaborative_ball_licking,0\ngibly,1\nmoitasart,1\ntianzhen_xianhua,4\naurochs_humanoid,5\nsprocco_(artist),1\nbrimstone_(zer0rebel4),4\nk'joor_(artist),1\nzzyzx,4\nfoot_on_own_penis,0\nblue_wristband,0\nwish_(splishsplat),4\nshmny,1\npeachykeen,1\nknia_(devil-vox),4\nyellow_head_tuft,0\nryou_(ryoudrake),4\nparinton,4\nfutaba_(mamoru-kun),4\nshibusun,1\nchocky_(pop'n_music),4\nellis_(left_4_dead),4\neris_bird,4\npoison_control,3\nglistening_goggles,0\nkaitii_(kaitii),4\nwei_yenwu_(arknights),4\ngabe_walker_(pawpadcomrade),4\nbredlay,4\nsoren_kisamora,1\ndaku,5\nfluffy_hypocrite,1\nsora_(gargoyles),4\nbrooke_marlow,4\nesatu,1\ntake_a_number,0\njack_hoo_(artist),1\nmaxa',1\nrosycozy,1\nninu_kenage,4\npotes,1\nzerdaofdebauchery,1\nsketchkat_(character),4\napollo_caelum,4\nbun_cover,0\nlooking_at_smartphone,0\ncannonball_(game),3\nbluefire,4\nknightsfm,1\nawanata_lighthoof,4\nafterlife,0\nmagic_show,0\nkaos,4\nkyn,4\ndylarts,1\nadolyn,4\ncharacter_creator,0\nrasher_(animal_crossing),4\nparasyte,5\nricky_(zerofox1000),4\nhazel_(cherrybxnnie),4\nplatinum_hair,0\nfemale/female_symbol,0\ndom_turn_sub,0\nbonznsfw,1\ninstinct,0\nellian,4\ntight_highs,0\nidate,4\njess_mcclover,4\n[in]vader,1\njuniper_(coffeefly),4\nthehurdygurdyman,1\nshennanigma,1\nnomi_no_sukune,4\njenn_(jackaloo),4\nhead_tattoo,0\nclaire_(golderoug),4\nafurreak,1\nmascot_costume,0\ngradient_scales,0\nhiggo,4\nathyn,4\nwerner,4\nlunarthunderstorm,1\ntuuwa,4\npacificside18,1\nzanakil,1\namailemon,1\nkhalo_(jelomaus),4\npeachtree_(hoodielazer),4\nchuchu_(dragoon-rekka),4\nlight_grey_body,0\nhinatawolf,1\npuck,4\namakagew,1\nmhfap!,3\nshowers_the_vaporeon,4\nedjit_(character),4\ncarpo,4\nkazumichi_irie,4\nfurry_outpost,1\nscratchdex,1\naxtrosis,4\ntrina_park_(sketchybug),4\nhand_on_door,0\nvex_(vexlynx),4\nian_(disambiguation),-1\npeony_(fvt),4\nmattaku_mousuke,1\nraz_von_coon,4\nbreaker-of-oaths,1\njiang_winters,4\nnemi_(tenshoku_safari),4\nkloseddoors,1\ngreen_lizard_(rain_world),5\nstrongbana,1\nfoxyhunter,1\npurple_armband,0\nidlerawr,1\nmufksin,1\nbig_pawpads,0\njersey_cattle,5\nfoxnose,1\nbralios,4\nsavannah_(saxa),4\nkaddo,1\nrovafur,1\natlas-66,1\niguana_(genus),5\nzhh,1\nwhite_shell,0\nkynosura,1\nbrown_hood,0\nkila_ilo_(character),4\nkurimi_(lunarspy),4\nicarus_(dragon_ball),4\nsheath_pressing,0\ntay_the_bear,4\njeremiah_(seth-iova),4\nryden_dire,1\nasura_(rinkai),4\ngraham_(tuke),4\nleg_on_thigh,0\ngureeookami,1\ncath_palug,4\nanakaris,4\naidan_(apollo13),4\nwallabee,4\nanon_(koorivlf),4\ndelta3814,1\nheart_balloon,0\nsitting_on_breasts,0\nrex_(magpiehyena),4\nkfc_bucket,0\nblue_inner_pussy,0\nchuck_fenmore,4\nfarv_(funkyknife),4\ndhahabu,4\nlyritha,4\napelairplane,1\nroople,4\njacktheripper2008,1\nshira_(furryfight_chronicles),4\nrollfox,1\nclaws_in_mouth,0\nmonotone_thong,0\njackiey,1\npeargor,1\nmadmark,1\npix_(piczel),4\nfoxxfire_(character),4\njacklyn_brown,1\nbastet_(full_bokko_heroes),4\nunguligrade_hands,0\ntonycomics,3\nreindeer_orisa_(overwatch),4\nstriped_chest,0\nguardian_(zelda),5\nkira_(hellshound),4\nautumn_vector,4\nvamptod,1\nmarnie_(grimart),4\naoi_futaba,4\nsilver_reichtum,4\ntentacle_wrapped_around_leg,0\npetpet_(neopets),5\nligerbull_(species),5\nsingarti,0\nscott_calico_(scottc),4\nadamai_(wakfu),4\ntagumi,1\ncunnilingus_through_clothing,0\nshanty_(tfh),4\nlesbian_correction,0\ndesecration_of_graves,0\nwhite_skinsuit,0\nelectrical_hair,0\nglowing_necklace,0\npetrus_(petruslol),4\nyakumodaisuki,1\numbrella_drink,0\ndark_green_fur,0\nbunzerk,1\nrusty_(air_bound),4\ncuddle_knight,4\nsong_sehee,4\n17:12,7\ntechboy1423,1\ndisembodied_limb,0\nred_one-piece_swimsuit,0\nbree_(bender),4\nwokky,1\ngign-3208,1\nsnocotan,1\nstructure,0\nothoxon,1\nchris_dunn,1\norange_(among_us),4\nmagellan,4\nalt_h34,4\nthespel,4\nverbrand,4\nglowing_arms,0\nlakritz_(quin-nsfw),4\ndidky,1\ndump_truck_ass,0\nbear_(bear_in_the_big_blue_house),4\ndeerdaddy13,1\ndaisy_moore,4\nnipple_bow,0\ntattered_ears,0\ndawnwashere,1\ncum_on_own_head,0\ndusto,1\nhanakusotokyo,1\nshiningloardaaa,4\nhuman_penetrating_ambiguous,0\nnipple_tentacles,0\napep,4\ncuchufflay,1\nsqueaks_(rimentus),4\nantrimbull,1\non_snout,0\npaigescribe,1\ntai_(viskasunya),4\nren_winterfox_(character),4\nmaleherm_penetrating_male,0\nasrael_zogendral,4\nlipstick_on_pussy,0\nelh_mimaiya,4\ncannons,0\nifra,1\nlars_(anti_dev),4\nlayndon,1\nshroudedmouse,1\nartwithmoira,1\ndoug_(daxhush),4\ntiziri,1\nwuffypie,1\nloketoki,4\njeanne_(hyenahonk),4\nraccoon_ears,0\ngarrett_the_turtle_(character),4\norange_eyelids,0\nxandra_(xandertheblue),4\ntorusop,1\nbifurcated,0\norca_taur,5\ndanger_rangers,3\ncrimson_crescent_(nolollygagging),4\ndromarch,4\nsilksong,3\nbra_removed,0\nscarlet_dragoon,1\nadjustable_wrench,0\nsrfennec,1\nleo_(zodiac),4\ndigimonforever,1\nradiation.,1\nkila_ilo,3\nisuku,4\nkatja_(baldrek),4\nkeiko_(artica),4\noswald_(ahnik),4\ntreeing_dog,5\nbluizer,1\npalemoonwendigo,1\nadler_(feber12),4\nmg_42,0\nwadjet_(kiala_tiagra),4\nkamochiruu,1\nepsilion,4\nzabumaku,1\ngill_penetration,0\nakima_(eddiew),4\nselara,4\nrubikang,5\ngordian,1\ndibbun_(ordosan),4\nnana_(fadey),4\nmeguru_salmon,1\ndaisy_(furel),4\nblanket_(character),4\nvanna_(jomokin),4\nmargarine_(deumosden),4\npanzercaptjason,1\nghen_(artist),1\nfrostedwarlock,1\nkorol,1\nspace_cat,5\nrobonyan,4\nsandbag_(super_smash_bros.),4\nyorunoko,1\npixel_(the_gamercat),4\nxizana,1\nalistair_(toothpasta),4\nbullsquid,5\nmodifiedlast,4\ngrimlock,4\nvernon_hunter,4\nseason,0\n8-xenon-8,1\nnishi_yoshi,4\nsmuttybacon,1\nalicia_(ricochetcoyote),4\ntachiyawolf,1\nkoto_(yu_yu_hakusho),4\nwesleyfoxx,4\nmcgruff_the_crime_dog,4\nshivra,1\nrockin,4\nnanuk,4\nkuridora,1\nsheepwithcrystallicfur,1\ncyberwuffy,1\naero_the_acro-bat,4\nmabeelz,1\nprimehunterwolf,1\nkatanimate,1\nwalker,0\naoba_seragaki,4\nfelix_(modeseven),4\ntimesplitters,3\npirates,0\nsquishy_kitty_(artist),1\nfrancis_(left_4_dead),4\nbigdaddyrhino,4\namerican_psycho,3\neros_(comic),3\nenf-lover,1\nask-a-deathclaw_(artist),1\nmakogrey,4\nfoxfeather,1\ndental_gag,0\ncassi_dupuis,4\nlincoln,4\nautofrottage,0\nalice_reed,4\nnotyoursagittarius,1\nrage_grenade,1\nlupis_wolfe,4\nkeitai_denjuu_telefang,3\nglace,4\njoona_(colarix),4\nraichamonolith,5\nmarilith,5\ninutonotawamure,3\nlegs_lifted,0\ninvisibility,0\nsin_teal,1\nsamiweasel,1\nyellow_wall,0\nzucker_(animal_crossing),4\nfrostleaf_(arknights),4\nvibramare,4\nomiya599,1\nairport_security,0\nfreya_(tanrowolf),4\nkoi_(carrot_kiss),4\ncourtains,0\ngrandfather_penetrating_grandson,0\nmorphing,0\nkittyq,1\ngagged_top,0\nnaturalist_panther,4\ncap'n_(deltarune),4\nsylve0n_(user),4\noyabun_to_fushigina_kusuri,3\nrerebrace,0\nfeedies,1\ncum_on_face_mask,0\ndouble_barrel_shotgun,0\nriki_(ginga),4\nwavy_eyebrows,0\nheart_apron,0\naliv141,1\nyouzaiyouzai112,1\nlooking_at_console,0\nashley_(pickles-hyena),4\nexplosive_pone,4\nbarry_(eroborus),4\ngeriel_(iztli),4\nsuperbusty,1\nkatiana_(ruaidri),4\njaze_(gau),4\npasufani,4\nalarm_cock,0\nmakima_(chainsaw_man),4\nsaya26,1\ncaroline_(fiercedeitylynx),4\nhyper_brachioradialis,0\narianna_(jackpothaze),4\ntram,0\nmango_the_pikachu,4\nkemofujin_(comic),3\nneon_dark_(destiny-yuuei),4\nwaterbaby_(centaurworld),4\nkatya_zhang,4\nmammoth_humanoid,5\ncinccina_(lucyfercomic),4\nkinkykaida,1\ncooper_(cooper),4\ngreiser,1\njamie_(jailbird),4\nkate,4\nilluminated,0\ncody_(pizzakittynyan),4\nxbox_original,3\nmulticolored_armband,0\ndog_princess,4\ngiovanna_(guilty_gear),4\nbabysteps,1\nvantablack_fur,0\noriental_longhair,5\nzenia_wolf,1\nbdrd,1\nsharkmaps,1\nblue_virus_(dr._mario),5\nbangle_(animal_crossing),4\nliam_(codymathews),4\nsprocket_(oc),4\nlulitadarkrose,1\nblackheart_xi,1\nholding_wood,0\nmead_(kuiperfrog),4\nredgi_(tails_of_iron),4\nanalog_raccoon,1\nellie_(maddeku),4\nmaculata,4\naxel_hell,1\ndiscarded_pants,0\ntarumeow,1\nmelanie_mortrose,4\nshaker,0\narclun,4\naladar,4\nbluewoman,1\nbigdogenzo,1\nhu_tao_(genshin_impact),4\nbegging_not_to_stop,0\nfumonpaw,1\nkirika_(peach88),4\naiden_(kadiboudacz),4\npythor_(fan_character),4\negg_transformation,0\nfaxy_(pillo),4\nhazama,1\ndo-rag,0\nshuffy,1\nstar_necklace,0\nkippz,1\nadynamical,1\nchi_(fumblingfoxpaws),4\nsuzumiya11,1\ncosmic_frill,0\nbody_part_transformation,0\nandrea_(deminothedragon),4\njacob,4\nheckler_and_koch,3\nonyx_kingstone,4\ngreen_bracelet,0\nmicco_(grimart),4\navery_(peculiart),4\nquestion_block,0\nnoct_(noctilus),4\nchsim662iawh7ai,1\nkobold_(warcraft),5\np812p,1\nhollow-dragon,1\nwasabikitten,1\njared_(lipton),4\nbaal_(cult_of_the_lamb),4\njusu-tengu,1\ndonacutie,4\nsafeword_(character),4\nvirdemis,1\naccipitriform_humanoid,5\negsaku_(character),4\nblood_covered,0\naldi,1\nvilosa,4\ndrawer_(artist),1\nfu-do,1\nravager_(naruever),4\nthat_pool,0\ncrystal_glaze_(oc),4\nmint_(goldenbuckles),4\nsquid_baron,4\ncroiyan_(character),4\nlurker_bot,1\nradjin_(radjinwolf),4\nemmerich_(evkenn),4\nsitting_on_building,0\nsela,4\nragna_(hollandworks),4\nsnackable,1\nostrich_feather,0\nlord_darcia_iii,4\nti-suger,1\nbackwards_text,0\nvulprofox,1\nharper_del,1\nwilcar92,1\nevil_anaunara,1\norgasmic_birth,0\nstaino,1\naquarius_(bgn),4\nalargewoodenbadger,1\nosabakitina,1\ndanny_(zackdadawg),4\nhades_(disney),4\nsmelling_penis,0\ncandy_the_skitty,4\namnesia_creations,1\ncrystal_necklace,0\ndogtanian,4\nitsdatskelebutt,1\nrusti,4\nsting_12,1\nfestive_winter,4\nlunati,1\nknot_squeeze,0\nhomemosaco,1\ndoodledan86,1\nrova,4\nmknrhsm,1\nwolfgang_(fuze),4\nraunikayle,5\nari_(kalofoxfire),4\nelder_scruffy,4\nzyena,4\ncool_cat_(series),3\nmewgia_(species),5\nkomahu,1\nazumi_kix,1\nmofuringu,1\ndrake_(dreyk-daro),4\nshadowboxer,1\nroantiger,4\nkingatrandom_(kar),4\n10_nipples,0\nmegan_(al_gx),4\nkuro_(cyborg_kuro-chan),4\npenis_popsicle,0\ncowprintsoda,1\nserenaught,1\ngarreth_(thedgamesd),4\nspicydurassno,1\nkomolord,1\narm_torture,0\nsamson_(zentt),4\nwolfie-feral,4\nsenphyro_(character),4\nbus_stop_sign,0\nmegamilk_(character),4\nvanthi,1\njim_(disambiguation),1\nrocks_and_bugs_and_things,3\nysilla,4\njohnny_(kralex),4\nshay_(heatzone),4\ncotton_candy_(glacierclear),4\nbarry_the_pizza_bear,4\norion_(jackalope),4\nheart_wall,0\nforeground_sparkles,0\ncalira_(mcfan),4\nrim_lighting,0\nrocketwolfy,1\nsilica_(forktongue),4\nroxanne_(skarlett_cynder),4\nautumntree,1\naureskarispriomnis,1\ncunnilingus_request,0\nredick,4\nabzollozdol,1\nblu_(bludoe),4\n7_horns,0\nzofia_squirrel,4\nmargot_mallard,4\ntired_of_this_shit,0\njavadog,4\namerican_red_squirrel,5\nmartin_the_warrior,4\ngenital_raphe,0\nhunterandom,1\ncinnamon_(spice),0\nv1sage,1\nhennin,0\nasd5,1\nnarci_(moreuselesssource),4\ncookieglory,1\nryan_(sing),4\naguila_la_serie_animada,3\nmulticolored_crop_top,0\ncarbon,4\ngynomorph/male/gynomorph,0\nmig_(interspecies_reviewers),4\nbusinessman,0\nlee_(disambiguation),4\nverk_(presto),4\nkioreii_(character),4\nddevil,1\nmavy_(alicethedeer),4\nrokutenachimutsu,1\nlow_cut_shirt,0\nstickerboard_(tf2_demo_2004),4\nhairpiece,0\nmentalkitty,1\nfay_feline,1\nbonniegame31,1\nhane_w_maxwell_(hane),4\nswunnel_(insomniacovrlrd),5\ncrowsfire,1\nshenshepa,1\njelly_zafara,5\njosh-u4,1\npainted_text,0\njorani,4\ndeelohial,4\nmysticfluff,1\ns.wolf,1\npawprint_background,0\nvictor_(igiveyoulemons),4\ntsk03,1\nprecum_on_bed,0\numbreeunix,1\njunibuoy_(character),4\nblack_boxers,0\nverna_floplock,4\npecs_touching,0\nsodabox,1\nplasma,0\nsaucepit_(artist),1\npuzzleplush,1\nfour_tone_fur,0\nbastiel_(character),4\nfryegg,1\nflytrap_humanoid,5\nrokh_(artist),1\nllunablue,4\njugger_(character),4\nxxsanitariumxx,1\npinniped_pussy,0\nalternate_(species),5\nnetsuki,1\nscout_(joshuamk2),4\ndirty_fur,0\nroland_(tehweenus),4\nkizuna_ai,4\nnaamah_(slb),4\naysu_(roxannetheokami),4\ncheefurraacc,1\nquija,4\naidan_(sryer),4\nariku,1\nrupee_(character),4\nbluestream,1\namidasuke,1\nluna_(overwatch),4\nimp_(not_safe_for_reality),4\nregenerator_(resident_evil),5\ndigimon_xros_wars,3\nollie_(overgrown_lizards),4\ngosuzun,4\norca_teacher_(bebebebebe),4\nnasharan,1\ndimorphodon,5\nmiscellanea,4\naleks_(armorine),4\npink_neckwear,0\nmarrubi,4\ngalarian_weezing,5\nmax_(max_and_ruby),4\nfluffychuck91,1\ncumfall,0\nnt00,1\nclove_vaughn,4\nsalga_0310,1\nryme,1\nlulucien,1\nbehold_my_girth,1\nreizu47,1\nhibakiti,1\nkhronosz,1\nsasha_moss,4\nmotiyuki,1\nasti_(lexoastonov),4\ngarlic_bread,0\nakito_yagami,1\nhuge_aerola,0\nsoftuftos,1\nheresy,0\nbushycat,1\nkira_(nekogirl1257),4\nenvious,0\npuppet_strings,0\nshakuto,1\nonegathos,1\nloui,1\nsemi-anthro_penetrating,0\n\"\"\"big_mama\"\"_rosie_(blackfox85)\",4\nsmite_(artist),1\nmanure,0\nryusei_iouko,4\ndust_bunny,5\nthe_sun_(tarot),0\nellis1342,1\nart_class,0\ngreninjohns,4\nbuttgrab,0\nkisakarou,1\nmathematics,0\nraph,4\nred_sun,0\nchill_(dr._mario),4\nwdl,1\nelslowmo,1\nweeds,0\nlyle_(icehawk),4\ndangus-llc,1\nbitcoin,3\nspike_(lilo_and_stitch),4\noval,0\npokemonartist,1\npillow_talk_(oc),4\nrile-reptile,1\ntukamos_(character),4\nknee_guards,0\nbucket_hat,0\npohatu,4\nred-striped_basculin,5\ncrazyeyes,1\npesakd,1\nriku_usi,1\nyana_(jelomaus),4\nkonnestra,1\nrivak,1\nanimal_hat,0\nmuffin_top_(legwear),0\nossifrago,4\nriyo,4\nrico_ro-ni,4\nnaughtywrens,1\nbailey_(kirbot12),4\njggjqm522,1\nocto-risotto,1\nfalconry,0\ndsana,1\npopporunga,1\npyrope,4\nzazz,4\nbetty_rubble,4\ngalondria,4\ncubeychou,1\napple_watch,3\ngraros,1\nchewythewolf,4\nshalone,4\nrhari_(character),4\nkimmy,4\nsasha_(eradragon),4\njinny,4\nsvenno,1\nphantom_marionette_(fnaf),4\nurethral_piercing,0\nswiftnicity,1\njean_(artist),1\ndigimon_tri,3\npoprocks_(oc),4\njogger,0\ntikki_(miraculous_ladybug),4\narkant_monanza,4\norangesoiree,1\ndark_talbain,4\nembryo,0\nslam_dunk,0\nnight_akula,4\npersonal_training,0\nwatamote,3\nyekkusu,4\nwizbooty,1\nlumina_flowlight,4\ndankwart,1\nhungerynano,1\nidaialo,1\ntoraneko,1\nmotiif,1\nbraxia_(artist),1\nkiyochii,1\nshrunk,0\naaaamory,1\nemoticon_(renard),4\nhot_wax,0\ntaya,4\nkogawa_kenji,1\nrupert_bear,3\nagua,4\ntwitchdawoof,4\npsicoyote,1\ncassandra_(tailsrulz),4\nkagami,1\nkammy_koopa,4\nseb,4\ntyskha,4\nwdj,1\ndark_vilani,4\nlaila_myrhe,4\nanajlis,4\nshark_tale,3\nmale_taking_female_virginity,0\namanda_caracal,4\ntorben,4\nkit_(james_howard),4\nwarriors,0\nflaming_weapon,0\ncaan_(james_howard),4\nburrbito,1\nmonster_sam,1\natelier_sol_aer,1\nsupersly-mouseguy,1\nwrists_to_legs,0\nsmogslog,1\nnen_nen_koro4,1\nsucking_anus,0\nalpha_(aisu),4\ndinobot_(species),5\nandrea_(dj50),4\nkuroneko_coffee,1\nphoneris,5\nkaizermelvon,1\nmozyz,4\naphast,4\nbepisfox,4\nshuifi_(shuifi),4\nlaura_(soft_rain),4\nkubwa_kalua,4\nribbon_(cocotama),4\nneonxhusky,4\nkathleen_rosetail,4\ncheeky_smile,0\nxeinzeru,1\nheterogeneous_tentacles,0\ngrogu,4\nholding_ranged_weapon,0\nbloowolfy,1\nrinyabjorn,1\ntongue_on_foot,0\ncyrucrem,1\nnaval_uniform,0\ngold_hair_ornament,0\ncage_muzzle,0\nfuzzball_(fuzzballfox),4\nmei_lian_(magiace),4\nskuddbutt,1\nzero_(vavacung),4\npat_(later_alligator),4\nsimetra_kuro,4\nscarlet_(wof),4\nshroom_girl,4\ndosey_doe,4\nunixcat,1\nni_no_kuni_2,3\nfeoi,4\narrokuda,5\ntysavarin,1\nripy_(oc),4\nakl,5\nflan_(puppyemonade),4\nplanet_devourer,5\nchloe_(nakagami_takashi),4\nsousuke_(lagoon_lounge),4\nalabaster_(daikuhiroshiama),4\nguoba_(genshin_impact),4\nignituspanda,0\nlena_(thekite),4\ncoffle,0\nqueen_toasty,4\nmaurito,1\nkaceymeg,1\nmarie_(ni_jikan),4\npulling_down_underwear,0\npinecone_chicken,1\nbaroshi_(baroshi),4\nricky_(libra-11),4\nmoschus_troll,5\nagainst_chalkboard,0\nb_(nargacuga),4\nfou'luko_(treble_wulph),4\ncheddy_(galcheddy),4\ngran,4\nnyoko_(mallowchu),4\nmulticolored_glans,0\nfuenzesunny,1\n15.ai,3\nfantasy_fulfillment,0\nalirfesta_felastis,4\nankles_together,0\nlinkz_artz,1\nshine_(ownfanatic60),4\nmorapandita,1\nbelly_valve,0\nfluff_softpaux,4\nkiki_(nekopumpkin),4\ngimmick_(tekandprieda),4\ncoper_(rudragon),4\nstartgenk9,1\nionicisaac,1\nalex_(everbolt),4\ntay_tengry,4\nthyz_(kouh),4\namp_(amphissal),4\nfight_message,0\nricci_(curiousitykills),4\nyear_of_the_dragon,3\nmovie_screen,0\nsebasdono,1\nabyss,0\ndipped_tail,0\nkemofujin,4\nelusion_(elusionair),4\nonua,4\nbull_(petruz),4\nburrow_(cartoon),3\ndragon_otter,5\nrarehare,1\naxle_(tricktrashing),4\nblue_sofa,0\nstar_fox_2,3\nwhite_sandals,0\ncoladezorro,1\nhuskrblight,1\ncanine_plushie,0\nalten,1\ntoimo_2610,1\nhailegabriel,1\ngohgw1,1\ngooning,0\nazashar,4\ncocoankimo,1\nbody_part_in_penis,0\nmodular_anatomy,0\ndojerodesigns,1\nsylox,4\nopen_crotch,0\ncaely,1\ngrey_the_eevee,4\ntuatara,5\nlicking_body,0\nhippopotamus_(kemono_friends),4\nscreeching,0\ncum_on_knee,0\nseizure,0\nfloating_tail,0\nnipple_vibrator,0\nkale_(kipper0308),4\near_tunnel,0\nbotamon,5\nbed_curtains,0\ncrazy-go-lucky_(artist),1\nburning_eyes,0\ncardigan_welsh_corgi,5\nnolegal,1\nlustfulhunter,1\nthehobbyhorse,1\nangel_jones,4\nmelting_flesh,0\nleg_on_head,0\ndarkwolfie,1\nlizard_taro,1\nrada_(woadedfox),4\nbluwolfie42,1\nvulstice_(infinitedge2u),4\nrin,4\nireland,0\nhungarian_sheepdog,5\ncantina,0\njade_(sequential_art),4\ngunshowcomic,3\nschizowolf,1\nastral_projection,0\nsol_(fidchellvore),4\neyes_closing,0\nwaterwang,1\ngunma_(gunma747j),4\nsonic_robo_blast_2,3\nthe_silence_of_the_lambs,3\nrena_(kitfox_crimson),4\nkirli,4\nkenny_(fleetwoodbrak),4\nmale_friend_(panken),4\ncherryblossomgames,3\ncephalopod_merfolk,5\nsazzy,4\nunju_(character),4\nmale_taur,0\npartially_retracted_sheath,0\nisabella_(hoodielazer),4\neloise_(dnapalmhead),4\nnelly_(neceet),4\nnate_(ritts),4\nmob_mentality,3\nlauren_(tfp),4\nhow2101,1\nmax_(dacad),4\nhalston,4\nnova_(nova_umbreon),4\nsassparilla_(chikn_nuggit),4\nblack_fundoshi,0\nmomo_(sirbrownbear),4\nzandar_skonk,4\npuma_tuler,4\ncomponent,0\ngrinning_at_viewer,0\nyiff_moon,3\nyellow_crop_top,0\nmiicchii,1\ndenki,4\nkalt-jn,1\nlumi_(cypress),4\nsukep,1\nyuuki_(varknakfrery),0\nendoereanart,1\nrasik,1\ngloop,0\nhuan_tian_xue_lang,1\nnintendo_seal,0\nwilly_(oddjuice),4\nurian_(nateday),4\nraoni_(felino),4\nzeso,1\nceiling_decoration,0\nxbox_software,0\nryuko_tatsuma,4\nmr._sheep_(toybox_pals),4\nencapsulated_vore,0\nsimejinameko,1\nmay_(disambiguation),4\npokesymbiote,1\ncoral_leaf_(oc),4\nleo_(pikanodannna),4\nnearie,4\nrobocattnsfw,1\nproteus_(proteusiii),4\nocean_blues,0\nchibetto,1\nfoxryk,1\npartb_(artist),1\ntankarank,1\nleo_(kuroodod),4\nmonique_santifcer,4\nvebli,4\ndalamadur,5\nscalefish_520,1\nsy'ros,4\nmushroompus,1\ndrakien,4\nbrandyftw,1\nkyro_(phoenix2014),4\nerosky,1\ninsect_princess,4\nquinn,4\nlight_natsuko,1\ndarkshiner8,1\nvizza,1\nb.b._hood,4\nquasar,4\nkroq_gar,4\npet_store,0\nopal_(steven_universe),4\ndarkky,5\nchelsea_(zaush),4\nolga_discordia,4\ncake_(artist),1\nemojis,0\njosia,4\ndipp3rman,1\nnashiru,1\nasuraa,1\nvenus_impera,4\nsianna,4\nraven_(artist),1\nsnyperfox,1\nchuy_(character),4\ntuke_(brother_bear),4\na_user_to_remember_(artist),1\nalasiri_kivuli,4\nelder_titan_the_worldsmith,4\nlux_hearths,4\nminx_lyra,4\njixer,4\nzi-tei,4\nsoothingbunny,1\nmoth_(creepy_castle),4\nesteban,1\nslink_(character),4\nghostlewds,1\niravo_(arcanine),4\nmellow_(character),4\ndebt,0\ncum_on_computer,0\nblanket_grab,0\nbetting,0\ncartoonmeat,1\nthebestfox,4\nrocky_road,1\nkatkhol,1\nwaterbot,5\nhands_on_bed,0\notamom,4\nball_clamp,0\ndsketch3r_(artist),1\naturn,1\nstepfather_and_stepchild,0\nhy_eight,4\non_hay,0\nbetty_lu,4\nesotericer,1\ngoldfishdog,1\nmurdoch_byrnes,4\nhaku_hyogaki,4\nscorbunny_(artist),1\ndrinking_beer,0\njusticecaptainv,1\nunnamed_rabbit,4\ntamatamako,1\nkaterine_flores,4\nnyx_(icebounde),4\ndeaglen,1\nxena_(megustalikey),4\ntriforce_symbol,0\nking_noble,4\nkuranaga15,1\nsavannah_pendragon,4\ncaressing_belly,0\nniwan,1\nfenris_ragnulf,4\nbukibun,1\nsteaming_body,0\nmakuta_teridax,4\nhusky_inu,5\nbilly_(juvira),4\nhigemorigen,1\nfanet,1\ninsert_(artist),1\nhauptmann_meade,4\nfrilly_garter,0\nseres_(seresdragon),4\ncum_as_lube,0\nshirothedragon123,1\nunzipping_pants,0\nassassin_cartuja,4\nlittle_bits,4\ncally3d,1\npupwolf,1\namethyst_aria,4\nrmmlusitania,1\nchenannanm,1\nthatonegojimun,1\nmostima_(arknights),4\nzgrate,4\ndabura,4\ndeneira_(diamondstorm),4\nsammy_darkeye,4\ntentacle/female,0\nniqab,0\nvae_(character),4\nwallace_(wallace_and_gromit),4\nsaradrawsart,1\nbrimstone_(jasafarid),4\nengrid,4\nliskis,1\nkaden_(fire_emblem),4\ntorsten_knot_(knotthere),4\nmultigenerational_incest,0\nbone_piercing,0\ntakeyama_yu,4\nbenji_(archonwanderer),4\n21:32,7\npelycosaur,5\ncowlink_(cashier:3),4\ngrey_loincloth,0\nblack_spy,4\nglistening_shirt,0\nlynn_(orang111),4\ncard_in_mouth,0\nathosart,1\nhairs,0\nfive_(character),4\ngaku_(hhc),4\nlick_kiss,0\ntransformative_mask,0\ndominohyena,1\ngold_headwear,0\nrathain_kuromaru,4\njebbthefoxy,1\nhand_between_breasts,0\nleopold_(zummeng),4\nzaer_(vju79),4\nred_pubic_hair,0\ndeshee,4\nlorret_(infinitydoom),4\nneapolitan_ice_cream_(skateryena),4\nagoti,4\nfiona_(phantomfin),4\nbioluminescent_eyes,0\nkaiza_teira,1\nwhitescale_sisters,4\ngale_(slither),4\nnora_(rain-yatsu),4\nwahuku18,1\njzarko_(artist),1\nmarti_dumont,4\nshanikafaceless,1\nwendy_(beatleboy62),4\nsharing_beverage,0\nsans_(altertale),4\ntwo_tone_mask,0\nbathroom_sink,0\ntalo_tsurrat_(nimratu),4\nshrunken_planet,0\nora,4\nmosfet_(character),4\nbeeprlae16,1\nshoulder_spots,0\nakishiberian,1\njulienne_(reapcreates831),4\nmale_non-humanoid_creature,0\ntango_gunma,1\nlogyn,4\nprotective_cup,0\nluxatile,1\ntiberius_(mlp),4\nspittle,0\npilot_(titanfall),4\nbrush_(artist),1\nlordfriez,1\nsuper_meat_boy,3\nsandworm,5\nriley_(pokémon),4\nputty,1\nven,4\ndarkshadow,1\nnobody_(oc),4\ndoopliss,4\nmitsui-jun,1\nivy_terroir,4\nraindrop,0\nalf,3\nhuthro,1\ngriz_sylverwing,4\nmyan_(artist),1\nmarshal_blue,4\nraz_(nanimoose),4\nstar_rod,0\nnexybutt,1\nnightfox,4\nfelicity,4\ntakame,1\nghirahim,4\nokamy,1\nfrau_streusel,4\nsphenacodontid,5\ntwitter_bird,4\nmonocerus,1\ndaniel_ottmaw,4\ntankers,4\nctfbm,1\nassassin_of_black,4\nwellbredkitsune,1\nnagoshinikake,1\nscarleteyedragon,1\npd04140298,1\ntodd_bronson,4\ncubber_(artist),1\ngreggory,4\npiper_(bralios),4\nsilver_ears,0\nriley_(tinydeerguy),4\ntrip_hamston,4\nmonte_(worgenrouge),4\ngene_(kloogshicer),4\nanfani_(artist),1\nlucas_lightfoot_(zaush),4\nsmut,0\nsamia_of_the_shifting_sands,4\nchiwidth,1\nviviana_(lord_salt),4\nelectricblueruby,1\ndragonboy618,1\nlane_(kilinah),4\nash_(yeahbeezii),4\nface_kick,0\ndaro_silvertail,4\nkayle_(ravencrafte),4\nrings_on_arms,0\nkeep_your_hands_off_eizouken!,3\nchris_deck_(character),4\nfilm_reel,0\ngrey_ear_ring,0\ncrazyaniknowit,1\nfoot_on_stomach,0\ncanind,5\nchief_thunderhooves_(mlp),4\nhornedrat,1\nsir_lintcelot_(mlp),4\nhands_crossed,0\nhigh_tights,0\ngala_(animal_crossing),4\nvolkswagen_bus,3\npunch_(drink),0\nviven,1\npox,4\nkevin_(housepets!),4\nbob_trumpet,4\narchangel,5\nriznben_(artist),1\nmanicure,0\nreverse_prayer,0\nmutilated,0\nbevor,0\nbrandishing,0\ncrenelations,0\nmodest,0\nnabbiekitty,1\nstephen_mcguffin,4\nmosin_nagant,0\nchocolatechilla,1\nsnicker,0\n.,0\ngiant_man,4\npaw_markings,0\nwacky_races,3\nmingi,4\nlong_feathers,0\nquick_ball,0\nrinkaru,4\ncrazed_look,0\ngutter,0\nflow_the_riolu,4\ndevil_children,3\ntayla,4\nfaris_scherwiz,4\nqu'eii,5\nstarburst_pupil,0\narcas,4\nbound_leg,0\ntabris,1\nblack_undershirt,0\ncolored_edit,0\nspotting,0\nblood_on_balls,0\nphantom_spirit_battle_academy,3\nfinger_grab,0\nhead_bag,0\natv,0\nctb-36,1\nvirgin_mary,4\nstill,0\nfeather_antennae,0\nphotographed_drawing,0\nkishu,4\nmandolin,0\nheart_on_butt,0\nanitech,1\ncurb,0\ncum_squirting,0\nprincess_fluttershy,0\nclutterdrop,1\nshadowball,1\nmuscle_vein,0\nbaitong9194,1\nhanging_from_ceiling,0\nshinai,0\nslave_sale,0\nharvesting,0\ncorrector_yui,3\nclaire_(cloudtrotter),4\nhfps,1\nadvent,5\nkumiko_(aleron),1\narnold_the_pitbull,4\nsenpaiworks,1\nace_(lumar),4\nreddandwhyte,1\nmiezekatze,4\nsynzin_(character),4\ncolifox,1\nicewolf,1\nzaiksmckraven,1\nbrushy,4\nauto_ball_lick,0\npoison_gas,0\ncyrion100,3\nrampage_(game),3\njuliart15,1\nkoneko_toujou,4\naym_(cult_of_the_lamb),4\nluminousdazzle,1\nrascal_(thehades),4\nsaffryn,4\nstreet-panit2015,1\nindigo_(fursdd),4\nglazirka,1\norinvega,1\nsable_(ivory-raven),4\nignitus_(artist),1\nhelena_(hugetime),4\namber_(snoot_game),4\npoppet_(conker),4\nkhopesh_aeterno,4\npaprika_(sapphinarose),4\narcc_(character),4\ngewahren_(austrum),4\npink_corset,0\nareola_outline,0\ndiamond_armor,0\nhirari_(hhc),4\nrobo_(robosylveon),4\nsplendidsplend8,1\nstonks,3\niain_(zhanbow),4\nivorden_bar,1\ncody_the_coelophysis_(character),4\ntilitea,4\nbike_pump,0\nzikaur,1\ncharlotart,1\ncornelia_(kosa),4\ncafe_(coffeebeangoat),4\nmorusaart,1\ndark_mouth,0\ndaoru-drawing,1\nsinelesh,1\nlateri,5\ntrinketsworkshop,1\nbubbletea,4\nlizardpuke,1\nlgag006k043_(artist),1\nspiffybunny,1\n1nar,1\ncresty_(white_crest),4\nstar_before_text,0\nbaggy_(artist),1\nhog_badger,5\nsable_(characters),4\nartejaxton,1\njules_(dutch),4\nalyssa_bandicoot_(oc),4\nichorynth,5\nnate_croou,4\nscribblesock,1\nrahel_efrayim,4\nsmile_(kiaren),4\nhand_out_of_water,0\nserenity_(arctic),4\nnuitt,1\nkrystal_carol_(chriskwolf),4\nkaito_shinonome,4\nezra_(trashy_panda),4\naurum_(lupinator),4\nru_melbourne,4\ngoat_(halcyon),4\npyra_(lyorenth-the-dragon),4\nmitzi_(characters),4\nmanhole_cover,0\nholding_paddle,0\noliver_(rockk),4\nsashiki,4\nspike_(animal_crossing),4\npog_benis,1\ndogfuji15,1\nkamuii_(lyreska),4\nbig_chin,0\napollo_(artist),1\nkanak,4\nfoxsnacks,1\ngrey_(sheep_and_wolves),4\nkarina.gk,1\nsilent_refuge_(oc),4\nsabre_(tabbysabby),4\npawp,4\nminion_of_set,0\ntrinket_(character),4\ngale_(lordy_dia),4\nkiri_(sky),4\nzeke_(chewycuticle),4\nsand_cat_humanoid,5\nspiked_body,0\ntrinity_(furbakirkie),4\nfluorings,1\nlinkoblin,4\nmaschinengewehr_42,0\nleaned_back,0\nceru_(eurocracy),4\nclauren_(scottieman),4\njazzycard,1\nthundernawr,1\ncarrus_olivia,4\ntaymankill,4\nxx56su_x,1\nelvian,5\nkrazak,1\nsubstance_painter_(software),0\nsaline,0\nash_(jackaldoc),4\nivee_rose,4\nms._b_(jooshy),4\nfour_of_hearts,0\nkorone_(setonanaki13),4\ncerthioid,5\ndevon_(panken),4\nryokun,1\njakepankeke,1\nsayrina_vakesen,4\nivan_(ivan9402),4\narianna_(ariannafray),4\nalator,1\nrashishibe,1\nlaranxart,1\nten_(beastars),4\nred_bag,0\ngeometric_shapes,0\ncum_drunk,0\nhidden97,1\ncomo,4\nsoleil_(animal_crossing),4\nmogul_khan_the_axe,4\n5toes,0\nlolphi,4\nshadow_weaver,4\nkilcodo,1\nkahei_yattsu,1\ncarmen_sandiego,4\nmunchy_(diskodeath),4\nrock_star,0\ntheuseless,1\ndraik_(neopets),5\nlus,4\ndbear,4\nhazel_lulamoon,4\ndarkglider,1\ngraaz,4\ncandlebars,1\nrinko_iori,4\nhouse_of_the_dead,3\nvampire_squid,5\namberli,1\narkthewoff,4\ncock_bondage,0\nkao,4\nguglehupf,1\nkanpachi,4\nakatsuki_no_guuru,1\nfrost_rotom,5\ncelesti,4\nsteppe_in_the_right_direction,3\nvel'gahrus,4\noctopus_tadashi,1\nnatalya_gremory,4\nabbbbbbk(,4\ndelphine_(officialbitwave),4\ndexter_(demicoeur),4\nmike-,1\nmeteorsmash_(character),4\ndarkseid,4\npots,0\ndirty_bristles,1\nragna_the_bloodedge,4\nnovah_ikaro,1\nnayeli,4\nowlhaus,1\nferanya,1\ntree_trunks,4\nnose_plugs,0\nnattya,1\ndorri_lawless,4\nropang,1\nmemoriesforgotten,1\nnaoto_shirogane,4\nsuridora-chan,4\ndeerdigger,4\nnikraria,1\nanarchoshark,1\ndewbon,4\ngoober.,1\nsunnyside,4\nnameless_(chaosie),4\nfatcat17,1\nquelyntr,1\ndia,4\nloopus,1\ngunter_(galaxy_fight),4\nainoko,4\nbeatrice_horseman,4\nmmtora,1\ntoraneko38,1\ntcw_(character),4\nsilverslime,1\njeff_(zp92),4\nvivian_(valtik),4\nserith,4\nmega,4\ngreykenny_wolfz_(artist),1\ndeirdre_(animal_crossing),4\nyun,4\nwolgensim,1\nhead_bob,0\nparfait_(artist),1\ntsavo_(slightly_damned),4\natlantis:_the_lost_empire,3\nmegan_williams,4\nkenzie_wong,4\nalpacinosbaby,1\nkiddy,4\ngreece,0\nzaun-derground,1\nfrostpaw,4\nneybulot,4\nsammy_(chalo),4\njoey_(housepets!),4\nfenrirwolfen,1\nquintus_(handsdownhound),4\nnovaquinmat,1\ndrider_princess,4\nchrome_pony,4\nglek_tarssza,4\nmugenillustrations,1\narmlock,0\ntina_(e-01),4\nsuezo_(monster_rancher),5\nkg,4\nyellow_flesh,0\nmooshmouse,1\nsailorsyaoran,1\nzeeka_(character),4\ncavewoman,0\nakira_slide,3\nmonotone_speedo,0\nquinarth_snowtide_(eastern),4\noil_cum,0\namelia_(mistpirit),4\ncadence_the_goodra,4\ndreadqueen_rathian,5\nclothed_male_nude_ambiguous,0\nhonorboundnoob,1\nred_genitals,0\nriso_bianca,1\njazzhands,1\njandaya,5\nazure_(star),1\nraccoon_douglas_(character),4\nurine_splatter,0\nrose_(skaii-flow),4\nsatoss,1\nbillie_(billie_bust_up),4\nakiione,1\npull_up,0\nkamek_sans,1\nzevrant_bapt_(artist),1\nliz_(wolflance),4\natta_(gahowolf),4\nfiishdude,1\npuffer_puff,1\nstepparent_and_stepson,0\nrory_(kadath),4\nsphaded,1\nzoe_pandora_(seuchenkater),4\nkatlo,4\nfoldblank,1\nberry_(skye3337),4\noldsoup,1\npencil_(disambiguation),0\ntaqiyah,0\nmeeko_(disney),4\naquarius_(zodiac),4\nbaliyo,4\nspells,0\nfluffyvulps,1\nmara_(spwalo),4\nhisone_to_masotan,3\ndonkizari,4\nli'l_cheese_(mlp),4\namy_(flash_draw),4\nreilion,4\ndiaper_on_face,0\nbonbonbear,1\ndiaper_check,0\nrisew,4\ngvz_7,1\nnight-on-fire,1\nbrown_backpack,0\nscp-1472,4\nyanni,4\njay_lurker_(ayejaykay),4\npandapower897,4\nhank_j._wimbleton,4\npogo_(joaoppereiraus),4\non_barrel,0\nsiber_(thegoldenjackal),4\nsnowblind,4\nswimwear_around_legs,0\nchroma_(chromamancer),4\nrima_(princess_connect!),4\nspore_(game),3\nterrance_(saberterranced),4\nbarnikan,1\nruined_pussy,0\npanakotta,1\nroman_(arbor_fox),4\nconjoined_at_genitalia,0\nho-oh_(025aki),4\nzabozamojo,1\nmousepaw,4\nbuckled_boots,0\nlost_soul,5\nhuman_brain_to_dog_brain,0\nunusual_ovaries,0\netya_(dmin),4\nrecord_of_ragnarok,3\nwest_(westfox),4\nmoeflavor_cheerleader_uniform,3\nintersex_anthro,0\ndotty_(jovi_cap),4\nvotm,1\nmetta,4\non_heels,0\ntamalesyatole,1\nbeach_bar,0\ngoodnites,3\nflith,0\nfrottage_in_slit,0\nraine_whispers,4\njabberwock_(full_bokko_heroes),4\naarqon,1\nlilavi,1\nferal_menace,4\nflexing_brachioradialis,0\ngil_softpaws,1\nsoul_nero,1\nkongiku,4\n8ud,4\nyaj_leaf,1\narekusanderu,4\nadjustedbicuspid,1\nfamale,4\nvasili,4\ngarf_of_finland,1\nmaxcoyote,4\nninjato,0\nlauir,4\ndrawesome,1\nchucky_(child's_play),4\npetunia_(raichupuppy),4\nfrothing,0\nharuhi_suzumiya,4\nmilly_(millydeer),4\nkohitsuji,1\nkyma_(character),4\nlove_triangle,0\nthe_starry_night,3\nlittle_shewolf,3\nfan_rotom,5\nzucchini,0\nfetter,0\nbinky_bunny,4\ntabitabi,1\nteevo,1\nrockabilly,0\novnee,5\nlicks,0\nthe_dog's_days_of_summer,3\nshades_of_elysium,3\nlycos,4\nbovine_balls,0\nknrin,1\nsandbags,0\nmitsu_(derek_hetrick),4\ncielorey,4\nrose_tattoo,0\ngrey_kangaroo,5\njiggle_physics,0\nneko_majin,1\nharvek,1\ndraken_(character),4\nbarracks,0\ninusawa,1\ngingerbread,0\nlukas_artair,1\nwulven_game_studios,3\nchristmas_card,0\ntomoyokinomoto,1\neevo_(author),1\nkonu,4\nshinotsuku,1\nxander_olivieri,4\nrift_dragon,5\nrachelle,4\ndice_magica_(oc),4\ncookie_dough,0\nranken,1\nbarefoot_sandals,0\nokiyumi_kase,1\nrunning_eyeliner,0\nbanjies,1\nagentagnes,1\ncrossybear_(artist),1\nrorykenneigh,1\nhesh,4\njane_(avencri),4\nmierumonaru,1\nayndrew,1\npained_look,0\nbetamon,5\nbecky_wilde_(visiti),4\nakor,1\nscarfy,5\npirotess,4\ntl;dr,0\nsasako_(shirokuma_cafe),4\nfreelime,1\npochacco,4\ndr._fox,4\ntifu,1\nquad_breasts,0\npango_(animal_crossing),4\nheavenly_nostrils,3\nluos,4\nkelkko,4\ntacha_encre,4\nquil_(yodishy),4\nbucket_of_semen,0\ntygrysiolowek,1\nbryce-roo,4\nmokamoka,1\nmr._wolf_(takemoto_arashi),4\nreplicant,5\ninternal_screaming,0\nzajji,4\nyamino,1\nlevy_(longlevy),4\nfever_(dr._mario),4\negglaying_advise,0\nkabuto0495,1\nmarcie_(animal_crossing),4\nbeer_pong,0\nslipperyt,1\nsaoul,4\nki-software,1\nni_ki,1\nmiyamae_porin,1\nwishful_thinking,0\nrebelgandre,1\nkoda_(supahuskey),4\nrushics,1\nlumekat,1\nysa,4\nrainbow_nails,0\narkanum_zilong,1\ngoatmancer,4\nmaddie_fenton,4\nironraptor,1\npeleng,5\nfeet_above_head,0\nnwopi,1\nlewin_(bukkbuggy),4\nlovemilliesm,1\nbrown_scabbard,0\nobject_entrapment,0\nreindog_(multiversus),4\nmismatched_eyes,0\nponehanon_(character),4\nkid_icarus_uprising,3\nshoulderless_clothing,0\nalto,1\nsimulated_amputation,0\nnixi_(athighhighguy),4\nbrotherhood_of_steel_(fallout),4\nmonster_(fnf),4\nbelladonna_(prismatic_wolf),4\npokedollar_sign,0\nnursery_mobile,0\ntoofy_(character),4\nakame_(ginga),4\nyen_tokk,1\ntara_(spacecamper),4\npinabble,1\ngreat_sword_(monster_hunter),0\nsrgriko,1\nmesopotamian_mythology,3\ngrace_persia,4\nshota_cow_(cheesecrumbles),4\nkal'tsit_(arknights),4\ncape_fox,5\nness_(larathelabrat),4\nsingle_shoe,0\nvinlom,1\npikie_folfuwu,4\narchvile_(doom),5\nvoid_(atomic_cat),4\nseptimus_(smartydragon),4\nkiera_southpaw,4\nnabo_(olimacdoodles),4\nocellus_(dragon_form),4\navii_cinderfeather,4\ndragorii,5\nesmeralda_(cerebro),4\nprehensile_holding,0\nkarri,4\norca_(pochincoff),4\nshaxs,4\njack_(joaoppereiraus),4\nlurdanjo_mistaro_(lurdanjo),4\njaidreamsicle,4\nwind_demon,5\nsmozumi_(insomniacovrlrd),5\nnigerian_dwarf_goat,5\nkousen_(kousenzephyr),4\nmagic_hat,0\nsakuhuu,1\nsimplex,0\nm-preg,1\ndeerwalker,1\nsandwich_grill,1\ndon_the_bear,4\nflower_on_ear,0\nmonica_(baconbasket),4\nquadruple_collaborative_fellatio,0\nshaundi_(darkwolf),4\namy,4\ntwo_tone_piercing,0\njazzymongoose,1\npanini_(panininha),4\nsuzie_(sindiewen),4\ndumbification_to_dog_brain,0\njack_(jackaloo),4\ncueliton,1\nmarytoad,1\nclaw_foot_bathtub,0\ndragon_land,0\ncat_breakdancing_meme,3\nhyper_flexor_carpi,0\nricka_(wolfling),4\nhimuhino,1\nshinkichi,1\nspanki_the_kangadra,4\npoju_(geir),4\nyuwi-cyu,1\ncavalina,4\nsylver_tsuki,4\nal-an_(subnautica),4\nleandre_snow,4\nhanging_streamer,0\nbwrd,1\ncastell,1\npseudo_clothing_removed,0\npurple_rubber,0\nstuck_to_butt,0\ngdn0522,1\ncherri_(cherrii_pop),4\ncrimson_(crimsoncreaturecreations),4\nryka_(ultilix),4\ndevil_may_cry_5,3\nerin_(dualitydot),4\natlas_(avali),4\nmolinatwins,1\nscalenes,0\nmatt_the_hedgehog,4\nramen_mao,1\nthe_underworld,3\nfuryraptor23,1\nsrxnico97,1\ntrevor,4\nmusical_note_(marking),0\ntsukamototgg,1\nmagic_kingdom,3\npenumbraart,1\nfumizuki_(arknights),4\nadam_flint,4\nmarch_hare_(disney),4\njigjig,1\nnebbii_(laniii),4\nclover_(luckyabsol),4\ndclxvi-heaven,1\ndevon_the_sobble,4\nwatermelon_popsicle,0\nskydiggitydive,1\nsanmamiya,1\ncung,1\nalessandra_(scream),4\nzaflep,1\nbandana_(character),4\nms._kitty,4\nkymera,5\nwashing_partner,0\nvirus_(dr._mario),4\nyiri_(milkand),4\nmaghost,1\npunishedgen,1\nfizzy_pop_the_popplio,4\nmc_skat_kat_and_the_stray_mob,3\nshaded_color,0\nafter_titfuck,0\nmao_lee_(sirjzau),4\ngradient_clothing,0\njimines,1\njoanna_marshall,4\nbernie_sennenhund,4\npanon_rabbit,5\n0c95yzr015ps0j5,1\nholding_media_case,0\ntoxy_squishy,1\nsoftshikioni,1\naphelion_darkmoon,4\nvox_(space_station_13),5\ndualitydot,1\nabsinthe_(drink),0\nwiwirawr,1\norikomi_(character),4\nzaunis,1\ncrystal_(blitza),4\nhannibal_lecter,4\ncryptid_(call_of_duty),5\nirelia_(lol),4\nsupercell,4\nxk2x,1\ntameraali,1\nurethral_sex,0\nelcoyote,4\ngraveyardshift,1\nplanking,0\nserina_franizzi,4\nhusqi,4\neli,4\nshaman_king,3\ngibbet,0\nfear_and_loathing_in_las_vegas,3\nparty_pat,4\nmabari,5\nlyren,4\nkusa_(iridiumx),4\ndaire,4\nnirai_(artist),1\nshuffahlong,1\nsystem_shock,3\nleben_schnabel,4\nvader_(vader-san),4\ngunslinger,0\nclawsofslash,1\nperry_(hextra),4\njenna_(aj_the_flygon),4\nspawn,4\ndj_acid,4\ndudley,4\nmaple_(modeseven),4\nnekohaiku,4\nhermit_(.hack),4\njax_rabbit,4\nhoi~poi,1\ninferno_sabercat,4\nemily_valia,4\nblood_sucking,0\nabel_(dmfa),4\nblood_on_ear,0\nbig_papa_(paradisebear),4\nanastasia_(kalahari),4\nkuufuku,4\nhitotsuki_nebura,1\ngooeythedragon,1\npop_candy,4\ndigimon_fusion,3\nvictoria_crowned_pigeon,5\nbrian_cochen,4\nquiver_silvertongue,4\nlolly-pup,3\ntoonpower,1\nmoo_(atryl),4\nlong_pussy,0\ntimetime726,1\nfeatherscale,1\ngen_(inuki),4\npsycho_(character),4\neetoro_(artist),1\nshlone,4\ncolliefleur,4\nbloodcifer,1\nsawhorse,0\nsenseidezzy,1\nmyanie,1\ninkbird,1\nfan_(fnaf),4\ngrawiorum,1\nmgalekgolo,5\nsheriff_dogo,4\nsunoga_(character),4\nefu,4\ncormorant,5\nphysical_abuse,0\ncharcoal,4\ndani_(devoid-kiss),4\ndiva_(artist),1\n5tarex,1\nselonian,5\nivy_(sweetfilthyfun),4\nremyl,1\nproposition,0\nmanawolf,1\nthe-star-hunter,1\nnightstalker400,4\nblind_penguin,1\nmobile-kun,1\nbakemon,5\nwiitenuant,1\nroxley,4\ngratiel,1\ncarmen_(tawog),4\njager_the_wolf,4\njudgement_(tarot),0\nnezuney,1\nzena,4\nheadband_ears,0\ndipstick_legs,0\nstrawberry_milk,0\ncaretaker,0\nfiberopticfeline,1\ngolden_gate_bridge,0\nyully_yullington,4\npiia,1\nscrunchy,0\ntsavo_(artist),1\nbird_skull,0\nstepladder,0\nhans_faffing,4\nlow_pants,0\ntanno_maru,1\ntoast_in_mouth,0\ncoaster,0\ndramatic_pose,0\nfluttershyspy,3\nyingpingu,3\ninverted_belly_button,0\nkinakomochi_199,1\ngrove,0\nclary_(creamgag),4\ncannibalharpy,1\nfelicia_fox,4\nmetal_armor,0\nevelyn_(whygena),4\nloudspeaker,0\ncontrol_room,0\nvonce_(bgn),4\nyellow_guy_(dhmis),4\ndrawing_program,0\nkaliyah_(charr),4\nazlyn_(character),4\nplaytime_with_gnar,3\nblue_b,1\nkirf,1\nsoftware,0\ntransparent_latex,0\nspaghettistorm,1\nkirsenter,1\nfermrviper,1\nmannack,1\nrazuya.torazaki,1\npholidine,5\ntwo_tone_helmet,0\nhyness_(kirby),4\nfenton_(dizzyvixen),4\nholding_by_tail,0\npettankochan,1\nvolmise,1\nkathy_(mrrottson),4\nerise,4\nkuroorcas,1\nkudo_the_fox,1\njosephine_(dovecoon),4\nchelsea_fortuna,4\ncerealkat,1\neccentricspider,1\nureos_(artist),1\nleopold_(waitforrain),4\ndraken_sjacharytiss,4\njgbun,1\nhurikata_judodo,4\nsagittarius_(symbol),0\nyuri_catsuki_(yitexity),4\nbrown_cloak,0\nin_pool,0\nveemecelli,1\nleg_between_thighs,0\nangelica_(ashkelling),4\nbayoshii,1\ny_(doneru),4\nlog_draws,1\nalfas,1\nemarcanine,4\nnur_(0laffson),4\nlolu,4\ngreen_fin,0\nwartorn,3\njt_(limitedvision),4\ntentacle_on_leg,0\ncynosure,1\neleanor_'elly'_zhi,4\ncaptain_emily,4\npetunia_petals_(mlp),4\nbjorn_(makaronnie),4\ngame_boy_advance_sp_console,0\nshokly~,1\nlong_pigtails,0\nneverdream,1\nalex_the_dilophosaurus,4\nganymede_(overwatch),4\nntm.,1\nzea_(character),4\nmouth_fetish,0\nsphincter,0\nwinston_(roller-2009),4\nacira_selvrica,4\nshade-shark,1\njasmine_winters,4\ndawnrn,1\nvarcey,1\nbellspurgebells,1\njustinblong2003,1\nzoe_(chimangetsu),4\njawa,5\njedader,4\nssthisto_(artist),1\nimdudrjsmi,1\nkemo-chan_(8chan),4\nhearto,4\ntinyfawks,4\njusteen,4\nfaolan,4\nkagehara_hanzow,1\nkaya,4\ngallantmon,5\ncowardly_lion,4\naaru_(tenrake_chaya),1\nsepter,1\ntusk_(dota),4\naryte,4\nmimic_(artist),1\nmatchstick,0\ngrimmjow_jaegerjaquez,4\npharos,4\nukiki,4\nkero_(luniquekero),4\nquantumdot,4\nlexi_(portzebie),4\nurai,4\nwalzrj,1\ntambre_the_ferret,4\nfastspeedy,1\nannamaria,4\nfetishes,0\nkat_chipmunk,4\naeywon,4\npeep_and_the_big_wide_world,3\nbaatlif,1\nhandcannon,0\nsteve_du,4\ncharlie-spaice-doggy,1\nsukeban,0\nsharna,4\nchibitakumi,4\nimoya,4\njason_(mobilemutt),4\nkougi,4\nferretface99,1\nwipes,0\nechowolf800,1\njessica_hubbard,4\ngoldie,4\nryusuke,4\ngritou,4\nmixing,0\nling-ling,4\nblix,4\nrunt,4\ngraith_ilesanmi,4\nkris,4\nqa'a,4\nmushni,4\nmacher,4\nfasha,4\nquillcy,4\nheart_shaped_bed,0\nfapmasterflex,1\nzana_zamora,4\ntactical_snake,1\nmacie_(phsuke),4\nslashweilerdog,1\ndanaroo,4\ncrystalcheese,1\nminoir,4\ndimetrodon,5\nchangeling_hive,0\npeg_(disney),4\ntylenn,1\ndoki_adventures,3\na-02,1\nrumsshi,4\ntheia,4\nbran_(strangerdanger),4\nmeow's_father_(space_dandy),4\nolympia_vale,4\nmaintenance,0\ngoose_(maverick),4\nthe_draft_horse,1\nigrushka_(polyle),4\nlaenei,5\nviata,4\numbra_(disambiguation),-1\njib_kodi_(artist),1\ntamaki_(rilex_lenov),4\ntammy_(fukmin-dx),4\nmyria_(salverion),4\nelleseve,4\ndan_(meesh),4\nzano_zevash_(runawaydanish),4\ncolt_bronco,4\nsato_(artist),1\nmarsha_(marshalepochi),4\ncedricktheluxray,4\nrokonrico,1\nbatsy,4\nlynxon,0\nsilver_(alopex),4\ncollette_(lady_and_the_tramp),4\ndreamflowerbunny,1\npink_headphones,0\nzia_(hel-ish),4\nclair_sewall,4\naria_the_espeon,4\nokapi_humanoid,5\nstarling_fox,4\nkevin_murphy,4\ntorri_biggs,4\nmacchiato_fox,1\ndonnie_(yoko_arika),4\nharper_(fairdahlia),4\nbengt_(pewdiepie),4\ncole_(animal_crossing),4\nbird_jesus_(twitch_plays_pokémon),4\n30:23,0\nbombstaticz,1\nfoot_on_arm,0\nelitedog,1\njey_caroot,4\nlaserflip,1\npaisley_(nobby),4\nneecheecoyote,1\nambrosine_(snowyfeline),4\nrocket-lawnchair,1\nred_leggings,0\nspacestation,0\ntantlysa,1\nrafiq_(zsisron),4\ncartoon_violence,0\nshaye,4\ncass_(falcon_mccooper),4\nthresher_(lilo_and_stitch),4\nwas_scepter,0\nezili,4\ni_want_you,3\ndreamertooth_(character),4\nflutti,1\nfenrir_(kobold_adventure),4\ncharli_(rickgriffin),4\ncircus_tent,0\nquada_platt,4\nbutcha-u,1\ncitrox,4\nelbow_deep_in_a_horse,0\ncoffeekit,1\nthatnav,1\ncensorrottie,1\nwalnut_(pixiv),1\npiru_(girokett),4\nlinden_mcconville_(character),4\nocelot_humanoid,5\nmarcie_roo,4\nllama_mama_(thehoneybutter),4\nblack_bridal_gauntlets,0\nthe-j-man,1\nnostril_penetration,0\nfilmon,5\ncumming_dildo,0\nnico_oyabin,1\nniccu,4\nplant_cloak_burmy,5\npowerless,0\nzhu,4\ncarbie_(atrolux),4\n<:<,0\nmarcy_(marcy's_lewd_images),4\nkeenfox,1\nbottom_bunk_filling_meme_(tofudumps),3\nflazy,4\nrime_(9tales),4\ngunfire_games'_the_ashes_(franchise),3\nbreeding_request,0\ntd-4,4\ntheir_name_(series),3\ntipped_ears,0\narnold_(software),3\ndaiazuma,1\ncasimirevore,1\nstargazer_(goldfur),4\nplum_(shellyochunks),4\ngyshka,1\nexadian,5\nnian_(arknights),4\nfennecfuchs,1\nshinonizaru,1\nshallot_fogg_(artist),1\ntsaotsaow,1\nvalion_(irishderg),4\nastropandaart,1\nttrop,1\njack_(sanssketches16),4\nfully_clothed_taur,0\nzhenyaburnt_(character),4\nextra_mouth,0\nigarashi_ta,1\nveerr_(orphen-sirius),4\nlow_tier_god,3\nophelia_(fiftyfifthfleet),4\nshell_casings,0\nbreath_of_the_wild_2,3\nstanding_in_urine,0\nprince_gamon,4\nspiral_light,4\nsqueezing_breast,0\ngeneral_buta,1\nbird_d,1\namiga_(computer),3\nprojector_screen,0\njuniper_(disambiguation),4\nmae_magritte_(artist),1\nmidnightsultry,1\nroquet,4\ndark_helmet,0\nfacedown_doggy,0\nmightywheelchair,1\ngradient_skin,0\nmssafiru,1\narchilycant,1\nwhite_bow_(anatomy),0\nradic,4\nshenvalor,1\nbow_apron,0\nrastafariansfm,1\nleo_(artist),1\nsky_chaser_(character),4\nwuk_kathell_(psychofuchs),4\nc4d_max,1\npattie_(pencil_bolt),4\nkooky_fox,4\ndarkfox,4\nnephthys,4\njupiter_jyohti,1\ncathleen_keiser,4\naether,4\nnozdraws,1\narthurleoufdu60,1\ncrotch_zipper,0\ncoelacanth,5\nhyde,5\nbastinado,0\nlumi,4\nclitoris_clamp,0\nrezzic,4\nhugh_(taz-mania),4\npacato,4\nalphamon,5\neinthebusinessdeer,1\nartsyrobo,1\nhere's_johnny,0\noctavia_(warframe),4\nzato,4\nstarhill_magic_erotica,3\nfuckemall,1\ntyrana,4\nacesential,1\nturtonator,5\ncannibal,4\nkarla,4\nr0ckya,1\nanne,4\nkyaru,4\nnatsumi_hinata,4\nmashuu,4\nmsi_dragon_lucky,4\nclaptrap,4\naralyn,4\npurplegriffin,1\nuchu_sentai_kyuranger,3\ncharmcaster,4\naccidental_penetration,0\nplatonic,0\ncece,4\ntiriosh,4\nkanzakietc,1\nstarbomb,3\napefromspace3,1\ncyberunique,1\nkriin,5\ndishonored,3\nanju,4\nkonsumo,1\nnipha,4\nlycanthropy,0\ndesiree_(danny_phantom),4\njezekin,4\nw0lfb0ne,1\nsmerk,0\ngrubbin,5\nmalph,4\nbabs,4\nvenomoussausage,1\narden,4\nsuwako_moriya,4\nmiss_heart,4\ncrescera,4\ntwistedskunk,1\nparasoul,4\nvictoria_tallcos,4\nrydia,4\nsharpe,4\ntail_holding,0\nblooper_(artist),1\nbreadbitch420,1\naethial,4\nkilroy_was_here,3\neverestdragon,4\ndirty_pair,3\nveronicaskunkette,1\nmessier_87_(personification),4\nhecate_(megami_tensei),4\narctovish,5\ngullet_(character),4\nevarist,4\nblastoiseanimator,1\nvelouria,4\nmonotone_mask,0\nlarger_maleherm,0\nkygen,1\nchub-united,1\nlouise_(elvche),4\nakasiosio,1\nf-euphrates,1\nmousesix,1\nastro_(astro_ferret),4\nribbonfemale,1\ndean_(libra11),4\ncharmin_ultra_soft_mom,4\nthat1greenbro,1\nhork-bajir,5\nfera_(disambiguation),-1\nakki_cnmn,1\ndynamoheart_(artist),1\ntwitter_username,1\ngnabgnoffe,1\nbeat_bladesman_fur_hire,4\nlooking_down_at_stomach,0\nsetta_flamowitz,4\ndark_eyewear,0\npumpkin_rabbit,4\nsnoot_(artist),1\nwayne_(hylics),4\nrevan_grey,4\n6kix,1\nlamont_(fursona),4\nshiloh_(shicho),4\nandorian,5\nunknown_position,0\nm1_abrams,0\ngruziya,4\nhoneymooo,1\nreaper_(djijey_hellfire),4\nhanging_feces,0\nmana_inuyama,4\nholding_mushroom,0\nyamowl,1\ndisciplewinter,4\ngentlebun,4\neagle_(petruz),4\nsamson_(hugetime),4\nsekk'ral's_father,4\nemad,4\nian_the_wolf,4\nverbal_consent,0\nbystander,0\nkit_(fortnite),4\nssb_(artist),1\nkate_sweetblood,4\nhands_on_own_head,0\nmonkeywithaafro,1\npink_visor,0\neye_of_providence,5\ntaorena_(evil-sprite),4\nmempha,4\nickyfig,1\npattern_jacket,0\npeeing_into_river,0\nbokken,0\nnekokun28,1\ndave,4\ngreen_neckwear,0\njewel_(himynameisnobody),4\nrandytheartdog,1\njennifer_(chris94),4\nswift_sketch_(character),4\ncynocephaly,1\nrogerwoof,1\ndelux,1\nhickory_(hhc),4\nante_(ante_flan),4\nrdnw0519,1\nwillow_(vdisco),4\nmackmcstacks,1\nsomemf,1\nsadnicole,1\nda_shangzhi_zhi,1\nthin_beak,0\nsonic_characters_walking_into_stores,3\nlucas_(elchilenito),4\nglurch,0\nrick_(disambiguation),4\nkawasaki,3\ndetached_oral,0\njosue_pereira,1\nsinuous_horn,0\natari_controller,0\nmix_(ikkykrrk),4\nairotf,1\nalyx_(tiredfeathers),4\nlemondrop_(character),4\nsabrina_(disambiguation),4\nrimedown,1\npackaged_console,0\nmonica_blackwater_(wsad),4\nuni0421,1\nlostipants,1\nblizzarian,5\nyoghurt_(pazymomo),4\niron_golem_(minecraft),5\ndiscarded_bikini,0\nkins_(brok_the_investigator),4\narti_(alfredblaze),4\nblinian,1\nbra_up,0\nmage_bun_(niking),4\ntoontk,1\namber_(gem),0\nnina_(lavabath),4\nluxro,4\nmultiple_colors,0\nred8ean,1\nhakuginnosora,1\nminami_(remanedur),4\nfluffies,0\nkyra_(nightargen),4\ndouble_trouble_(she-ra),4\nmomikacha,1\nholding_chainsaw,0\nbellydancing,0\namidnarasu,1\nbloomz,1\nwinnie_(ajk),4\ncharlie_(charkie),4\nr'hael,4\nhildahyena,1\nthe_minimighty_kids,3\ntrixie_glimmer_smith,4\npowan_po40,1\nyori_the_goldyura,4\nthewugoddess,1\nkanada_(character),4\nromantic_polycule,0\nka'eo_o_coileain,4\nhose_in_nipple,0\nmachid,4\npatricia_(dav-19),4\nreading_newspaper,0\nmale_swimwear,0\njester_lavorre,4\nhalphyos,1\ndani86,1\nvanessa_(zebra),4\nprint_bow,0\nbarawerewolf,1\nlooking_scared,0\nsparkle_the_rabbit,4\nradiodelta,1\nmistress_filth,4\nglimmer_alma-yu,4\nunnamed_old_wolf_(furfragged),4\nshyny_destiny,4\nbig_snout,0\nblack_tubes,0\npiping_bag,0\ndorulykos,4\nakeroh,4\ngeneral_taboo_(copyright),3\ntito_(disney),4\nsnesflint,1\nglottis,0\nchaoskomori,1\nsparks_pichu,4\nross_beckers,4\ntachi-e,0\nr_rvuv18,1\nlassie_(krillos),4\nkailys_(character),4\nmonique_bellemare_(lildredre),4\neve_the_familiar,4\ngrim_aloe,4\nganghandog,1\npenny_(blazethefox),4\nstone_(video_game),3\nmamma,5\namp_(metrochief),4\nglomiagui,1\nweapon_over_shoulder,0\nnotquitehuman,1\nqtippywastaken,1\nground_vehicle,0\nbryce_(marmalademum),4\ndracouro,1\ncherry_agency,1\nhigh_heels_leggings,0\nindex_key_nine,1\nzetrocci,1\npsychotalbain,4\naedira,4\nbechology,1\nnoir_(demicoeur),4\nmadnevil,1\nstone_(character),4\nskull_pattern,0\nleacrea,4\nhooked_eyewear,0\ntarathiellyris,1\ntaki_(soul_calibur),4\nanthrocon,3\nfudge_the_otter,4\nalternate_cutie_mark,0\narne,5\nlavosvsbahamut,1\nheadlight,0\nmordle,5\nshaved_hair,0\ndohyo,0\nkyary_pamyu_pamyu_tv,3\nluna-v,1\nmarisama,1\nprotopet,5\nruby_ring,0\nzenerotic3dx,1\nbubblehermit,1\napus,4\nklynolder,1\nthera,1\npurple_rug,0\nlucille,4\ncslucaris,1\nciara,4\ncassandra_(soul_calibur),4\nbelia,4\ndaffytitanic,1\ngerra,4\nyura_inaho,1\nbell_pepper,0\nvalentine_jakobsson,4\npenelope_(ironkongstudios),4\nnitro_(nitro38304647),4\nvera_(shewiff),4\nwitch_(stitch!),4\ncrustonpie,1\nconjoined_at_penis,0\noshiso_sio,1\nkawahagimizuki,1\nlocke_protogen,4\njacket_over_leotard,0\njusttoast,1\nmisha_(galacticmichi),4\nwyatttfb,3\nwaketab_(character),4\njurassic_world:_dominion,3\ngold_chastity_device,0\nkintoki_sakata,4\nsoft_gore,0\nmagdalia_(fvt),4\nuglycoal,1\nreece_silvermane_(silverhorsey),4\nfox_girl_(ruaidri),4\nvaalgarth,1\nevamal_(soulwing98),4\nlorna_(miso_souperstar),4\nblue_dragon,3\njacelyn_dracorris,4\nbiscuit_(food),0\nsilver_eyebrows,0\ndonnadoll18,1\nyakeera_(hoofen),4\npika-cola,0\nsierra_(exelzior),4\nmultiple_penises_pictured,0\nturo_of_akesh,4\ncrazy_miru,1\nscrotal_raphe,0\ninufaiya,1\nleika_(zaush),4\nbassy_(bassybefuddle),4\nkithara,4\nbig_infraspinatus,0\npandskyy,1\nfile_folder,0\npulsar_(character),4\nvaelophis_nyx,4\nbilkaya,1\nenthusiastic,0\nkiriu,4\nlarret_barret,4\nripto,4\nesonver,1\nflower_wreath,0\npants_around_ankle,0\nina_arazu,1\naffectos,1\nnokamarau,3\ndragk_(character),4\nfalling_petals,0\nrainbow_jewelry,0\njadeitor,1\nmellony_(p4nter),4\nerika_(xcxeon),4\nadobe_photoshop,3\nyurimatsue,1\ntristian_oakenrod,4\nemeraldfur,1\ncaptaincassidy,1\ninochi,1\nshowingoff,0\naquilus,4\ntwin_sisters,0\ntraditional_dress,0\nbenzo,4\ncleverfoxman,1\ngangsta,0\nluanova,4\nanlysia,4\nakali,4\ncloudshywolf,1\nskootch,4\notakon_(artist),1\namour,4\nsyrus,4\n2ll2l,1\nshin_godzilla,4\naurinaka,4\ntug,4\nrobakusa,1\npepe,4\neente,1\nmanba_(character),4\nliquids,0\nsugas,4\ndrake26,4\nfelix_(felixfox),4\nshadowwalk,1\nsilentcario,1\nphyllis_(animal_crossing),4\nthe_great_wave_off_kanagawa,3\nboobcat,1\nsjru,4\nguido_anchovy,4\ncrawl,0\nsanctioned13,1\nminyerva,4\ntav,4\nking_boom_boo,4\nakitary,1\nsomber,0\nbrucebadger,1\npec_frottage,0\nkanderous,4\nfallingwaterx,1\nwayne_reynolds,1\ntyurru,4\ndorothy_gale,4\nstan_marsh,4\naiyana,4\ntaxis,4\nmax_yunlong,1\nlars_grant-west,1\nniki,4\nroulette,0\nmilkmaker,1\nearlybirdspecial,1\namelia_gideon,4\nirene_rita_sandburg_(nightfaux),4\nrainhues_(artist),1\nxanadu7,1\nbigchuru,1\nvalerie_valentine_(strawberrycrux),4\ncigarette_pack,0\nprecum_on_sheath,0\noxiel_(character),4\nturtle_(wof),4\nddzarts,1\nmetal_amy,4\nimpregnation_kink,0\nsaffina_(zhanbow),4\ndamasco25,1\nin_need_of_a_hospital,0\ntohfu_(tohfu),4\ngothabsol,1\nstarwolf_(species),5\nark_gullwing,4\n17th_century,7\nkukuruyoart,1\nmouser,4\nblaze_dragoness,4\nsceptile_(artist),1\nlionsgate,3\nhiyaudon,1\nkaiya_(jewelpet),4\ntinycat,1\npenis_under_dress,0\naiassis,4\nparamedic,0\npaarthurnax,4\nayloulou,1\nicycario,1\nsigoogle,1\nfemtoampere,1\nsurf's_up_2:_wavemania,3\nwolfurryon,1\njapes,1\njen_(mykegreywolf),4\nfinn_the_wolf,4\nlazuli_(hamtaro),4\nxassassinx,1\nassassination,0\nrichard_(goofygoobersama),4\nvote,0\naaron_(fuf),4\ndipstick_wings,0\ngreat-uncle,0\nclaire_(nikoyishi),4\nsamuel_hayden,4\nzelendur,1\nfrancisco_goya,1\nhentai9ja,1\ncandle_the_saluki,4\nlos_pintin,3\nzani_toshkin,4\nlassodraw,1\nardana_(oc),4\nchilly_(derek_hetrick),4\nyuzpoco,1\ndominator,0\nfreya_(elise_larosa),4\nsheepgnyook,1\nginger_(hotbrotkuroi),4\nkragith,4\nsairu,4\njackaye,4\njeurantaes,4\nkitsune_mom_(othinus),4\nnobox05,1\nfelngo,5\nslay_the_princess_(meme),3\ngeki-mcclain,4\ntickling_clit,0\ncosmo_(sweerpotato),4\nshikaari,4\nkimblee_(artist),1\npeppa_pig_(character),4\nbjorn_(bjornsquirrel),4\ntara_hart,4\nthalya_(jyan),4\n4_tentacles,0\ngeminii,4\nmartial_eagle,5\nwhiplash_(doom),5\npattern_pillow,0\nkernkraftwerks,1\nnovanbean_(artist),1\nmona_(averyshadydolphin),4\nrouen_(eipril),4\ncoffune,1\nusopp,4\ndope-dingo,1\nluaky,1\nraseme,4\nmorgana_(the_pirate's_fate),4\nchloe_(bluey),4\nnivv_(pmd433),4\nsebastien_(whyteyote),4\ngoiaba,1\nmelmetal,5\ntadashi_hoso,4\nodette_zephyr,4\nnekeisha_(igph),4\nnoodleartz,1\nransomone,1\ncum_in_brain,0\nrhizza_(la_ninya),4\ncosmicfs_(artist),1\noni_draws,1\nabyss_dragon_(kiryu),4\nniola_(character),4\nchinese_paddlefish,5\nfilemonte,1\ntoxicsoul77,1\ntimmy_(allesok),4\n"
  },
  {
    "path": "data/tags/key_phrases.json",
    "content": "{\n    \"Abstract Concept\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"522531369\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"absurd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"adequate\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"agnosticism\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"controllability\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"determinate\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dignify\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"faithfulness\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fate\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"formal\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hope\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"imperative\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"intend\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"likability\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"lying\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"progressive\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"reality\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sainted\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sensation\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"standpoint\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sufficient\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Artists\": {\n        \"priority\": \"\",\n        \"pattern\": \"[*by .* and by {} {|}][*by {} {|}][, by {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1188546684\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"A. B. Jackson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"A. J. Casson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"A. R. Middleton Todd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"A.B. Frost\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"A.D.M. Cooper\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aaron Bohrod\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aaron Douglas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aaron Horkey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aaron Jasinski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aaron Siskind\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abbott Fuller Graves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abbott Handerson Thayer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abdel Hadi Al Gazzar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abdur Rahman Chughtai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abed Abdi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abigail Larson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Begeyn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Bloemaert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Bosschaert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham de Vries\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Hondius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Mignon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Mintchine\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Pether\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Storck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham van Beijeren\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham van Calraet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham van den Tempel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abraham Willaerts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abram Arkhipov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Abram Efimovich Arkhipov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Achille Leonardi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ada Hill Walker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adam Bruce Thomson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adam Elsheimer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adam Hughes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adam Martinakis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adam Szentp\\u00e9tery\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ad\\u00e9la\\u00efde Labille-Guiard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ad\\u00e9la\\u00efde Victoire Hall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adi Granov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf Bierbrauer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf Born\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf Dietrich\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf F\\u00e9nyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf Hir\\u00e9my-Hirschl\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf H\\u00f6lzel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf Schr\\u00f6dter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf Ulric Wertm\\u00fcller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolf W\\u00f6lfli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolfo M\\u00fcller-Ury\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolph Gottlieb\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolph Menzel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adolphe Willette\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adonna Khare\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen Brouwer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen Coorte\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen Hanneman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen Isenbrant\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen van de Velde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen van de Venne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen van der Werff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen van Ostade\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adriaen van Outrecht\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adrian Ghenie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adrian Paul Allinson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adrian Smith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adrian Tomine\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adrianus Eversen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Adrienn Henczn\\u00e9 De\\u00e1k\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aelbert Cuyp\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aert de Gelder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aert van der Neer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aertgen van Leyden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Afarin Sajedi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Affandi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agnes Cecile\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agnes Lawrence Pelton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agnes Martin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agnolo Bronzino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agnolo Gaddi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agostino Arrivabene\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agostino Carracci\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agostino Tassi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aguri Uchida\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Agust\\u00edn Fern\\u00e1ndez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ahmed Karahisari\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ahmed Yacoubi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ai Weiwei\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ai Xuan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ai Yazawa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aileen Eagleton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aim\\u00e9 Barraud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Akihiko Yoshida\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Akira Toriyama\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Akos Major\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Akseli Gallen-Kallela\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Al Capp\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Al Feldstein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Al Williamson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alain Laboile\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"c\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alan Bean\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alan Davis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alan Lee\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alan Moore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alan Parry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alasdair Grant Taylor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alasdair Gray\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alasdair McLellan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alayna Lemmer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Anker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Benois\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Bertelsen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Bierstadt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Bloch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Dorne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Dubois-Pillet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Eckhout\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Edelfelt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Gleizes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Goodwin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Guillaume\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Henry Krehbiel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Irvin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert J. Welti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Joseph Moore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Joseph P\\u00e9not\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Keller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Koetsier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Kotin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Lynch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Marquet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Namatjira\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Paris G\\u00fctersloh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Pinkham Ryder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Robida\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Servaes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Swinden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Tucker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Watson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albert Welti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alberto Biasi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alberto Burri\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alberto Giacometti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alberto Magnelli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alberto Morrocco\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alberto Seveso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alberto Sughi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alberto Vargas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albin Egger-Lienz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albrecht Altdorfer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albrecht Anker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albrecht Durer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Albrecht D\\u00fcrer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aldus Manutius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alec Soth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alejandro Burdisio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alejandro Jodorowsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alejandro Obreg\\u00f3n\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksander Gierymski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksander Gine\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksander Kobzdej\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksander Kotsis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksander Or\\u0142owski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksandr Gerasimov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksandr Ivanovich Laktionov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksey Savrasov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aleksi Briclot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alena Aenami\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alessandro Allori\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alessandro Galli Bibiena\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alessandro Gottardo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alessio Albi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alesso Baldovinetti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Alemany\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Andreev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Colville\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Garant\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Grey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Gross\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Hirsch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Horley-Orlandelli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Howitt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Katz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Maleev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Prager\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Ross\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Russell Flint\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Schomburg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Timmermans\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alex Toth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Archipenko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Bogen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Calder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Carse\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Deyneka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Fedosav\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Ivanov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Jansson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Johnston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Litovchenko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander McQueen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Millar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Milne Calder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Nasmyth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Robertson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Rodchenko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Roslin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Runciman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Sharpe Ross\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander Stirling Calder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexander V. Kuprin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexandr Averin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexandre Antigna\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexandre Benois\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexandre Cabanel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexandre Calame\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexandre Falgui\\u00e8re\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexandre Jacovleff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexandre-E\\u0301variste Fragonard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexei Harlamoff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexei Kondratyevich Savrasov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexej von Jawlensky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexey Merinov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexis Grimou\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alexis Simon Belle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfons Karpi\\u0144ski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfons von Czibulka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfons Walde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfonse Mucha\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Augustus Glendening\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Charles Parker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Cheney Johnston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred East\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Edward Chalon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Eisenstaedt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Guillou\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Heber Hutty\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Henry Maurer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Janes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Jensen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Kelsner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Krupa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Kubin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Leslie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Leyman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Manessier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Munnings\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Parsons\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Richard Gurrey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Sisley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Stevens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Thompson Bricher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfred Wallis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfredo Jaar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alfredo Volpi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Algernon Blackwood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Algernon Talmage\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alice Bailly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alice Mason\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alice Neel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alice Pasquini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alice Prin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alice Rahon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alison Bechdel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alison Debenham\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alison Kinnaird\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alison Watt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aliza Razell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allan Brooks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allan Linder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allan Ramsay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allen Butler Talcott\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allen Jones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allen Tupper True\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allen Williams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allie Brosh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Allison Bechdel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alma Thomas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Almada Negreiros\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Almeida J\\u00fanior\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alois Arnegger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alonso V\\u00e1zquez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aloysius O'Kelly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alphonse Legros\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alphonse Mucha\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alphonse Osbert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alpo Jaakola\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alson S. Clark\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alson Skinner Clark\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alton Tobey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Altoon Sultan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alvar Aalto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alvaro Siza\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alvin Langdon Coburn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Alyssa Monks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amadeo de Souza Cardoso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amadou Opa Bathily\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amalia Lindegren\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amanda Sage\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amandine Van Ray\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ambrose McCarthy Patterson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ambrosius Benson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ambrosius Bosschaert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ambrosius Bosschaert II\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ambrosius Holbein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Am\\u00e9d\\u00e9e Guillemin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amedee Ozenfant\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Am\\u00e9d\\u00e9e Ozenfant\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amedeo Modigliani\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amelia Pel\\u00e1ez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amelia Robertson Hill\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Americo Makk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amiet Cuno\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ammi Phillips\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amos Ferguson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amy Earles\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amy Judd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Amy Sillman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"An Zhengwen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anato Finnstark\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anatoly Metlan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ancell Stronach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anders Zorn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ando Fuchs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Bauchant\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Beauneveu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Castro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Charles Bi\\u00e9ler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andre De Dienes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andre de Krayewski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andre Derain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Derain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Fran\\u00e7ois\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andre Kertesz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Kert\\u00e9sz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andre Kohn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Lhote\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Masson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andre Norton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Pijet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9 Thomkins\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andre-Charles Boulle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrea del Sarto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrea del Verrocchio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrea Kowch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrea Mantegna\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrea Pozzo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andreas Achenbach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andreas Franke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andreas Gursky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andreas Levers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andreas Rocha\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andreas Vesalius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andr\\u00e9e Ruellan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andre\\u0301i Arinouchkine\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrei Kolkoutine\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrei Markin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrei Rublev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrei Ryabushkin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrew Atroshenko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrew Ferez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrew Loomis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrew Macara\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrew Robertson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrew Whem\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrew Wyeth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrey Remnev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andrey Yefimovich Martynov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andries Stock; Dutch Baroque painter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Android Jones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andy Fairhurst\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andy Goldsworthy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andy Kehoe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Andy Warhol\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aneurin Jones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Angela Barrett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Angela Sung\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Angelica Kauffman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Angus McKie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aniello Falcone\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anish Kapoor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anita Kunz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anita Malfatti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anja Millen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anja Percival\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anka Zhuravleva\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ann Stookey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ann Thetis Blacker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Ancher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna and Elena Balbusso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Bocek\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Boch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Dittmann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Findlay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna F\\u00fcssli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Haifisch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Maria Barbara Abesch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Mary Robertson Moses\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anna Razumovskaya\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Annabel Eyres\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Annabel Kidston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Bachelier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Brigman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Dewailly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Dunn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Geddes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Mccaffrey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Nasmyth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Packard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Redpath\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Rigney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Rothenstein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Ryan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Said\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Savage\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Stokes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Sudworth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne Truitt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anne-Louis Girodet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anni Albers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Annibale Carracci\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Annick Bouvattier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Annie Abernethie Pirie Quibell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Annie Rose Laing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Annie Soudain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Annie Swynnerton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anselm Kiefer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anson Maddocks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antanas Sutkus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anthony Gerace\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anthony Thieme\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anthony van Dyck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anto Carte\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antoine Blanchard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antoine Ignace Melling\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antoine Le Nain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antoine Verney-Carron\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antoine Wiertz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton A\\u017ebe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Corbijn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Domenico Gabbiani\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Fadeev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Graff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Lehmden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Mauve\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton M\\u00f6ller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Otto Fischer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Pieck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton R\\u00e4derscheidt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Raphael Mengs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton Semenov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonello da Messina\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antoni Gaudi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antoni Pitxot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antoni T\\u00e0pies\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonin Artaud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton\\u00edn Chittussi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Anton\\u00edn Slav\\u00ed\\u010dek\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Canova\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Cavallucci\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Ciseri\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio de la Gandara\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Donghi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Galli Bibiena\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio J. Manzanedo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Mancini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Mora\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ant\\u00f4nio Parreiras\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Rotta\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Roybal\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antonio Saura\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Antony Gormley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Apelles\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Apollinary Vasnetsov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Apollonia Saintclair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arabella Rankin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Araceli Gilbert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Archibald Motley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Archibald Robertson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Archibald Skirving\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Archibald Standish Hartrick\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Archibald Thorburn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arcimboldo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arent Arentsz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arie Smit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aries Moross\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aristarkh Lentulov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aristide Maillol\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arkhip Kuindzhi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arkhyp Kuindzhi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arlington Nelson Lindenmuth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Armand Guillaumin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Armand Point\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Armin Baumgarten\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Armin Hansen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold Blanch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold Bocklin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold B\\u00f6cklin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold Bronckhorst\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold Br\\u00fcgger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold Franz Brasz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold Mesches\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold Newman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arnold Schoenberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aron Demetz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aron Wiesenfeld\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arshile Gorky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Art Brenner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Art Fitzpatrick\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Art Frahm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Art Green\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Art of Brom\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Art Spiegelman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Artemisia Gentileschi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Artgerm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Adams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur B. Carles\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Boyd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Burdett Frost\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Dove\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Garfield Dove\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Hacker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Hughes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Lismer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Melville\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Merric Boyd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Quartley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Rackham\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Radebaugh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Sarnoff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Stanley Wilkinson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Streeton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Tress\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Wardle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arthur Webster Emerson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Artur Bordalo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arturo Souto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Artus Scheiner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Arvid Nyholm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ary Scheffer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Asaf Hanuka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Asger Jorn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Asher Brown Durand\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ashley Wood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Atelier Olschinsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Atey Ghailan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aubrey Beardsley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Audrey Kawasaki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"August Friedrich Schenck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"August Lemmer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"August Macke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"August Querfurt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"August Sander\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"August von Pettenkofen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Auguste Baud-Bovy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Auguste Herbin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Auguste Mambour\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Auguste Toulmouche\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Augustin Meinrad B\\u00e4chtiger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Augustus Dunbier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Augustus Earle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Augustus Edwin Mulready\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Augustus Jansson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Augustus John\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Augustus Vincent Tack\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Augustyn Mirys\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aur\\u00e9l Bern\\u00e1th\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Auseklis Ozols\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Austin Briggs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Austin Osman Spare\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Avigdor Arikha\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Awataguchi Takamitsu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Axel T\\u00f6rneman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ayako Rokkaku\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ayami Kojima\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Aykut Aydogdu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ayshia Ta\\u015fk\\u0131n\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bai\\u014dken Eishun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bakemono Zukushi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bal\\u00e1zs Di\\u00f3szegi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Balcomb Greene\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Balthasar van der Ast\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Balthus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Banksy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bapu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"c\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Balmer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Greg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Hepworth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Kruger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Longhi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Nasmyth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Nessim\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Stauffacher Solomon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barbara Takenaga\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barclay Shaw\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barent Fabritius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barkley Hendricks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barkley L. Hendricks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barnett Newman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barry McGee\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barry Windsor Smith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bart Sears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barthel Bruyn the Elder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barthel Bruyn the Younger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barth\\u00e9lemy d'Eyck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Barth\\u00e9lemy Menn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bartholomeus Breenbergh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bartholomeus Strobel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bartholomeus van Bassen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bartholomeus van der Helst\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bartolome Esteban Murillo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bartolom\\u00e9 Esteban Murillo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bartolomeo Cesi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bartolomeo Vivarini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Basil Blackshaw\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Basil Gogos\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bastien L. Deharme\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bastien Lecouffe-Deharme\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Basuki Abdullah\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bauhaus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bayard Wu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Beatrice Ethel Lithiby\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Beatrice Huntington\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Beatrix Potter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Beauford Delaney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Becky Cloonan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bedwyr Williams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Beeple\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Beksinski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"B\\u00e9la Ap\\u00e1ti Abkarovics\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"B\\u00e9la Cz\\u00f3bel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"B\\u00e9la Iv\\u00e1nyi-Gr\\u00fcnwald\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"B\\u00e9la Kondor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"B\\u00e9la Nagy Abodi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"B\\u00e9la P\\u00e1llik\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bella Kotak\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ben Aronson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ben Goossens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ben Nicholson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ben Quilty\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ben Shahn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ben Templesmith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ben Thompson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ben Zoeller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Benedetto Caliari\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"B\\u00e9ni Ferenczy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Benito Quinquela Mart\\u00edn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Benjamin Block\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Benjamin Gerritsz Cuyp\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Benjamin Marra\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Benjamin West\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Benjamin Williams Leader\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Benoit B. Mandelbrot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernard Aubertin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernard Buffet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernard D\\u2019Andrea\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernard Fleetwood-Walker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernard Meninsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernard van Orley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernardino Mei\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernardo Bellotto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernardo Cavallino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernardo Daddi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernardo Strozzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernat Sanjuan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Berndnaut Smilde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernie D\\u2019Andrea\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernie Wrightson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bernt Tunold\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bert Hardy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bert Stern\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bertalan Karlovszky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bertalan P\\u00f3r\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bertalan Sz\\u00e9kely\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Berthe Morisot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bertil Nilsson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bertram Brooker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bess Hamiti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bessie Wheeler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Beth Conklin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bettina Heinen-Ayech\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Betty Churcher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Betty Merken\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Betye Saar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bholekar Srihari\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bhupen Khakhar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bikash Bhattacharjee\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Brandt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Brauer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Carman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Durgin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Gekas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Henson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Jacklin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Lewis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Medcalf\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Sienkiewicz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Traylor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Viola\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Ward\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bill Watterson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Billie Waters\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Billy Childish\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bjarke Ingels\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bj\\u00f8rn Wiinblad\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Blanche Hosched\\u00e9 Monet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Blek Le Rat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bo Bartlett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bob Byerley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bob Eggleton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bob Ringwood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bob Ross\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bob Thompson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bohumil Kubista\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bojan Jevtic\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bonnard Pierre\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bordalo II\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Boris Grigoriev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Boris Groh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Boris Kustodiev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Boris Vallejo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Botero\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bouchta El Hayani\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bo\\u017eidar Jakac\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bracha L. Ettinger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brad Kunkle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brad Rigney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bradley Walker Tomlin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brandon Mably\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brandon Woelfel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brassa\\u00ef\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brenda Chamberlain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brent Heighton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brett Weston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brett Whiteley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Breyten Breytenbach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian and Wendy Froud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian Bolland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian Despain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian Froud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian K. Vaughan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian Kesinger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian M. Viveros\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian Mashburn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian Oldham\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brian Stelfreeze\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brice Marden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bridget Bate Tichenor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bridget Riley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brigid Derham\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Briton Rivi\\u00e8re\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brooke DiDonato\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brooke Shaden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brothers Grimm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Brothers Hildebrandt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce Coville\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce Davidson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce Gilden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce McLean\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce Munro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce Nauman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce Onobrakpeya\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce Pennington\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruce Timm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruno Catalano\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruno Munari\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bruno Walpoth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bryan Hitch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Buckminster Fuller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Bunny Yeager\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Butcher Billy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Byeon Sang-byeok\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Byron Galvez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"C. R. W. Nevinson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caesar Andrade Faini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caesar van Everdingen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cagnaccio di San Pietro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cam Sykes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Camille Bouvagne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Camille Corot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Camille Pissarro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Camille Souter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Camille Walala\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Camille-Pierre Pambu Bodo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Camilo Egas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Canaletto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Candido Bido\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"C\\u00e1ndido L\\u00f3pez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Candido Portinari\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cao Zhibai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caravaggio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carel Fabritius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carel Weight\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carel Willink\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carey Morris\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Arnold Gonzenbach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Barks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Critchlow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Eugen Keel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Eytel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Frederik von Breda\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Gustaf Pilo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Gustav Carus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Heinrich Bloch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Holsoe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Hoppe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Larsson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Rahl\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Spitzweg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl Walter Liner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carl-Henning Pedersen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carles Delclaux Is\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlo Carlone\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlo Carr\\u00e0\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlo Crivelli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlo Galli Bibiena\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlo Martini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlo Randanini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlos Berlanga\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlos Enr\\u00edquez G\\u00f3mez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlos Francisco Chang Mar\\u00edn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlos Saenz de Tejada\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlos Schwabe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carlos Trillo Name\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carmen Saldana\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carne Griffiths\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caroline Chariot-Dayez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caroline Gotch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caroline Lucy Scott\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Carrie Mae Weems\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Casey Weldon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caspar David Friedrich\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caspar Netscher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Caspar van Wittel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cassandra Austen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cassius Marcellus Coolidge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"c\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Catherine Hyde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Catrin G Grosse\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Catrin Welz-Stein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cecil Beaton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cecile Walton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cecilia Beaux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cecily Brown\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cedric Peyravernay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cedric Seaut\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cedric Seaut (Keos Masons)\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cefer\\u00ed Oliv\\u00e9\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Celia Fiennes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Celia Frances Bedford\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cerith Wyn Evans\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"C\\u00e9zanne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chad Knight\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chagall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chaim Soutine\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cha\\u00efm Soutine\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chantal Joffe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Addams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Alphonse du Fresnoy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Alston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Angrand\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Bird King\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Blackman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Camoin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Codman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Conder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Crodel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Cundall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Dana Gibson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Demuth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles E. Burchfield\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Ellison\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Fremont Conner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Furneaux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Ginner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Gleyre\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Gwathmey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles H. Woodbury\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Harold Davis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Haslewood Shannon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Hinman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Hopkinson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Joshua Chaplin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Le Brun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Le Roux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Liu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Mahoney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Marion Russell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Martin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Maurice Detmold\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles McAuley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Mozley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Ragland Bunnell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Rennie Mackintosh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Ricketts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Roka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Rollier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles S. Kaelin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Schridde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Schulz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Spencelayh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Thomson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Uzzell-Edwards\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Vess\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles W. Bartlett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Williams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles Willson Peale\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles-Am\\u00e9d\\u00e9e-Philippe van Loo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles-Andr\\u00e9 van Loo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles-Francois Daubigny\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charles-Fran\\u00e7ois Daubigny\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charlie Bowater\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charline von Heyl\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charlotte Nasmyth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Charmion von Wiegand\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chen Daofu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chen Hong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chen Hongshou\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chen Jiru\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chen Lin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chen Rong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chen Yifei\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chen Zhen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cheng Jiasui\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cheng Zhengkui\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cherryl Fountain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chesley Bonestell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chica Macnab\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chiharu Shiota\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chiho Aoshima\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Childe Hassam\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ching Yeh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chinwe Chukwuogo-Roy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chip Zdarsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chizuko Yoshida\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Choi Buk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Claremont\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Cold\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Foss\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Friel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris LaBrooy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Leib\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Mars\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Ofili\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Saunders\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Turnham\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Van Allsburg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chris Ware\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christabel Dennison\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christen K\\u00f8bke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christian August Lorentzen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christian Jane Fergusson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christian Krohg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christian Rohlfs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christian W. Staudinger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christoffel van den Berghe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christoffer Wilhelm Eckersberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christoph Amberger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christoph Ludwig Agricola\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christophe Vacher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christopher Balaskas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christopher Jin Baron\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christopher Moeller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christopher Williams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christopher Wood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Christopher Wren\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Chuck Close\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cicely Hey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cicely Mary Barker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cimabue\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cindy Sherman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claes Corneliszoon Moeyaert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claes Jansz. Visscher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claire Dalby\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claire Hummel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clara Miller Burd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clara Peeters\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clara Weaver Parrish\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clarence Holbrook Carter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clarice Beckett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clark Voorhees\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claude Bonin-Pissarro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claude Cahun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claude Lorrain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claude Monet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Claude Rogers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clemens Ascher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cl\\u00e9ment Serveau\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cleon Peterson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cleve Gray\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cliff Chiang\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cliff Childs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clifford Ross\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clive Madgwick\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clovis Trouille\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clyde Caldwell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Clyfford Still\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Coby Whitmore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Coles Phillips\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Colijn de Coter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Colin Campbell Cooper\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Colin Geller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Colin McCahon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Conor Harrington\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Conrad Marca-Relli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Conrad Roset\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Conroy Maddox\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Constance Copeman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Constance Gordon-Cumming\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Constance-Anne Parker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Constantin Brancusi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Constantin Hansen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Constantine Andreou\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Coppo di Marcovaldo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cor Melchers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Corneille\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelia MacIntyre Foley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelia Parker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis Anthonisz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis Bisschop\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis Claesz van Wieringen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis de Heem\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis de Man\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis Dusart\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis Engebrechtsz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis Pietersz Bega\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis Saftleven\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis van Haarlem\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis van Poelenburgh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelis Verbeeck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cornelisz Hendriksz Vroom; the Younger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Correggio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cory Arcangel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cory Loftis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Craig Davison\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Craig Mullins\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Craig Thompson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Craola\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cricorps Gr\\u00e9goire\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cristofano Allori\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Csaba Markus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cui Zizhong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cuno Amiet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cy Twombly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cynthia Sheppard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Cyril Rolando\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"D. Alexander Gregory\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"D. Howard Hitchcock\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dai Jin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dain Yoon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dale Chihuly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dali\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dal\\u00ed\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Damien Hirst\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dan Flavin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dan Hillier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dan Mumford\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dan Scott\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dan Smith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dan Witz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel Buren\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel Chodowiecki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel Clowes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel F. Gerhartz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel Garber\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel Maclise\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel Merriam\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel Ridgway Knight\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniel Seghers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daniela Uhlig\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dante Gabriel Rossetti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daphne Allen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daphne Fedarb\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Daphne McClure\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Darek Zabrocki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Darwyn Cooke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dave Dorman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dave Gibbons\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dave McKean\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David A Hardy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David A. Hardy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Aja\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Alfaro Siqueiros\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Allan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Annand\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David B. Mattingly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Bailly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Begbie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Bomberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Bowie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Brewster\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Burdeny\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Burliuk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Burton-Richardson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Chipperfield\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Choe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Cooke Gibson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Dougal Williams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Driskell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Eugene Henry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Finch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Firth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David G. Sorensen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Garner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Gilmour Blythe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Hockney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Inshaw\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David LaChapelle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Ligare\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Lynch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Macaulay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Macbeth Sutherland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David McClellan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Octavius Hill\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Palumbo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Park\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Paton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Ramsay Hay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Roberts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Shrigley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Spriggs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Teniers III\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Teniers the Elder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Teniers the Younger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Watson Stevenson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Wiesner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Wilkie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Wojnarowicz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"David Young Cameron\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"De Hirsh Margules\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dean Cornwell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dean Ellis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dean Roger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Debbie Criswell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Delaunay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Delmer J. Yoakum\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Delphin Enjolras\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Demetrios Farmakopoulos\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Denis Eden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dennis Flanders\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dennis H. Farber\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dennis Miller Bunker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Derek Chittock\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Derek Gores\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Derek Jarman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Desmond Morris\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Diane Arbus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Diane Dillon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dick Bickenbach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Diego Dayer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Diego Giacometti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Diego Rivera\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Diego Vel\\u00e1zquez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dieric Bouts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dino Valls\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dionisio Baixeras Verdaguer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dionisius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dirck de Bray\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dirck de Quade van Ravesteyn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dirck Hals\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dirck van Baburen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dirck van Delen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dirck van der Lisse\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ditlev Blunck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dmitry Kustanovich\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Doc Hammer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dod Procter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Domenichino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Domenico di Pace Beccafumi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Domenico Ghirlandaio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Domenico Induno\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Domenico Pozzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Domenico Quaglio the Younger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Domenico Zampieri\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Don Bluth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Don Maitz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Donald Judd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Donald Roller Wilson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Donald Sherwood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Donato Giancola\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dong Kingman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dong Yuan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dora Carrington\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"D\\u00f3ra Keresztes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dora Maar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorina Costras\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Doris Blair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Doris Boulton-Maude\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorning Rasbotham\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothea Braby\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothea Lange\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothea Tanning\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothea Warren O'Hara\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy Bradford\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy Burroughes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy Coke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy Elizabeth Bradford\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy Hood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy Johnstone\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy King\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy Lathrop\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dorothy Lockwood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dosso Dossi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Doug Chiang\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Doug Wildey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Douglas Bourgeois\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Douglas Robertson Bisset\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Douglas Shuler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Douglas Smith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dr. Atl\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dr. Seuss\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"c\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Drew Struzan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Du Jin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Du Qiong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Duccio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dugald Sutherland MacColl\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dulah Marie Evans\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Duncan Grant\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"D\\u00fcrer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dustin Nguyen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Duy Huynh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Dwight William Tryon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"E. Charlton Fortune\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"E. H. Shepard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"E. Simms Campbell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"E. T. A. Hoffmann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"E. William Gollings\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Earl Norem\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Earle Bergey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Earnst Haeckel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ed Benedict\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ed Binkley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ed Brubaker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ed Emshwiller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ed Freeman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ed Mell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ed Paschke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ed Roth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eddie Campbell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eddie Mendoza\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edgar Ainsworth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edgar Degas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edgar Schofield Baum\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edi Rama\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edith Edmonds\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edith Grace Wheatley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edith Lawrence\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmond Aman-Jean\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmond Bille\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmond Xavier Kapp\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmund Blampied\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmund Charles Tarbell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmund Dulac\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmund F. Ward\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmund Greacen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edmund Leighton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edouard Manet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edouard Riou\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eduard von Gr\\u00fctzner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eduard von Steinle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eduardo Kingman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eduardo Kobra\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eduardo Lefebvre Scovell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eduardo Paolozzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edvard Munch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Armitage\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Arthur Walton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Atkinson Hornel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Avedisian\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Bailey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Baird\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Ben Avram\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Burne-Jones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Clark\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Corbett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Dugmore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward George Handel Lucas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Gorey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Henry Potthast\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Hicks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Hopper\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward John Poynter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Julius Detmold\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Kemble\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Lamson Henry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Lear\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Marshall Boehm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Mitchell Bannister\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Oku\\u0144\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Otho Cresap Ord; II\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward P. Beard Jr.\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Robert Hughes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Ruscha\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Simmons\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Sorel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Steichen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Wadsworth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Weston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edward Willis Redfield\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edwin Austin Abbey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edwin Deakin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edwin Dickinson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edwin G. Lucas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edwin Georgi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edwin Henry Landseer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Edwin Landseer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eero J\\u00e4rnefelt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eero Saarinen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eero Snellman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Egbert van der Poel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Egbert van Heemskerck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eglon van der Neer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Egon Schiele\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Egon von Vietinghoff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ei-Q\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eiichiro Oda\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eileen Agar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eileen Aldridge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Einar Hakonarson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eish\\u014dsai Ch\\u014dki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eiz\\u014d Kat\\u014d\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ejnar Nielsen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"El Greco\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"El Lissitzky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elaine de Kooning\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elaine Duillo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elaine Hamilton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elbridge Ayer Burbank\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eleanor Best\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eleanor Fortescue-Brickdale\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eleanor Hughes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eleanor Layfield Davis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eleanor Vere Boyle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elenore Abbott\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elfriede Lohse-W\\u00e4chtler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elias Goldberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elias Ravanetti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elina Karimova\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elinor Proby Adams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eliot Hodgkin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eliott Lilly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elisabeth Collins\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"\\u00c9lisabeth Vig\\u00e9e Le Brun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eliseu Visconti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth Charleston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth Durack\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth Forbes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth Gadd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth Jane Lloyd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth MacNicol\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth Murray\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth Polunin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth Shippen Green\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elizabeth York Brunton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elke Vogelsang\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ella Guru\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ellen Gallagher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ellen Jewett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elliott Erwitt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ellsworth Kelly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elmer Bischoff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elmyr de Hory\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elsa Beskow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elsa Bleda\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elsie Dalton Hewland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elsie Henderson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elsie Vera Cole\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Elwood H. Smith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emanuel B\\u00fcchel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emanuel de Witte\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emanuel Leutze\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emanuel Schongut\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emil Alzamora\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emil Carlsen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emil Ferris\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emil Fuchs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emil Lindenfeld\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emil Nolde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emil Orlik\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emile Auguste Carolus-Duran\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"\\u00c9mile Bernard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"\\u00c9mile Gall\\u00e9\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emile Lahner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emilia Wilk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emiliano Di Cavalcanti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emiliano Ponzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emilio Grau Sala\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emily Carr\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emily Kame Kngwarreye\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emily Murray Paterson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emily Shanks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emma Lampert Cooper\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emmanuel Shiu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emmanuelle Moureaux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emory Douglas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Emperor Huizong of Song\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Endre B\\u00e1lint\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Enguerrand Quarton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Enki Bilal\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Enrique Grau\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Enrique Simonet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Enrique T\\u00e1bara\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Enzo Cucchi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ephraim Moses Lilien\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eppo Doeve\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eric Dinyer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eric Fischl\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eric Peterson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eric Taylor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eric Wallis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eric Zener\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Erich Heckel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Erin Hanson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Erlund Hudson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Bi\\u00e9ler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Briggs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Buckmaster\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Crichlow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Heber Thompson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest H\\u00e9bert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Lawson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Morgan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Procter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest William Christmas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernest Zobole\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernie Barnes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ern\\u0151 B\\u00e1nk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ern\\u0151 Gr\\u00fcnbaum\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ern\\u0151 Rubik\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ern\\u0151 Tibor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernst Fuchs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernst Haas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernst Haeckel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernst Ludwig Kirchner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernst Thoms\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ernst Wilhelm Nay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Erwin Bowien\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Esaias Boursse\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Esaias van de Velde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Esao Andrews\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Esther Blaikie MacKinnon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Estuardo Maldonado\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Etel Adnan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ethan Van Sciver\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ethel Schwabacher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Etienne Delessert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"\\u00c9tienne-Louis Boull\\u00e9e\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ettore Sottsass\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ettore Tito\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Euan Uglow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugeen Van Mieghem\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eug\\u00e8ne Boudin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eug\\u00e8ne Brands\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eug\\u00e8ne Burnand\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eug\\u00e8ne Carri\\u00e8re\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugene Delacroix\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eug\\u00e8ne Delacroix\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eug\\u00e8ne Grasset\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eug\\u00e8ne Isabey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugene J. Martin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugene Leroy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugene Montgomery\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugene Tertychnyi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugene von Guerard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugenio de Arriba\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugenio Granell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugeniusz Zak\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eugeniusz \\u017bak\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eva Gonzal\\u00e8s\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eva \\u0160vankmajerov\\u00e1\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Evaristo Baschenis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Evelyn Abelson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Evelyn Cheston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Evelyn De Morgan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Everett Raymond Kinstler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Everett Shinn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Everett Warner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Evgeni Gordiets\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Evgeny Lushpin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ewald R\\u00fcbsamen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Exekias\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Eyvind Earle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"F Scott Hess\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"F. Scott Hess\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fabian Perez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fabien Charuau\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fabio Hurtado\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fairfield Porter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Faith 47\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Faith Ringgold\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fan Kuan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fang Congyi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fang Lijun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fanny McIan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Farel Dalrymple\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fathi Hassan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fede Galizia\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Federico Barocci\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Federico Zandomeneghi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Federico Zuccari\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fedot Sychkov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fei Danxu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Felice Casorati\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Felipe Seade\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"F\\u00e9lix Arauz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"F\\u00e9lix B\\u00f3dog Widder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"F\\u00e9lix Labisse\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Felix Octavius Carr Darley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"F\\u00e9lix Vallotton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"F\\u00e9lix Ziem\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Felix-Kelly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Feng Zhu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fenghua Zhong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ferdinand Bol\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ferdinand Hodler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ferdinand Knab\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ferdinand Van Kessel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ferenc Joachim\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fern Coppedge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fernand Khnopff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fernand L\\u00e9ger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fernand Pelez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fernand Toussaint\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fernand Verhaegen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fernando Amorsolo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fernando Botero\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fernando Gerassi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fikret Muall\\u00e2 Sayg\\u0131\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Filip Hodas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Filippino Lippi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fiona Rae\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fiona Stephenson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fitz Henry Lane\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fitz Hugh Lane\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Flavia Blois\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fletcher Martin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Flora Borsi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Flora Macdonald Reid\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Florence Engelbach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Floris van Dyck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Floris van Schooten\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ford Madox Brown\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fra Angelico\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fra Bartolomeo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fra Filippo Lippi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frances C. Fairman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frances Currey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frances Hodgkins\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frances Jetter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frances MacDonald\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesca Woodman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Albani\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Bartolozzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Bonsignori\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Clemente\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Cozza\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco del Cossa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Filippini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Furini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Guardi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Hayez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Raibolini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francesco Zuccarelli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Bacon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Bourgeois\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Cadell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Coates Jones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Davis Millet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Ernest Jackson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Focer Brown\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Helps\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francis Picabia\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco de Burgos Mantilla\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco De Goya\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco de Holanda\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco de Zurbar\\u00e1n\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco Goya\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco Jos\\u00e8 de Goya\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco Mart\\u00edn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco Oller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Francisco Z\\u00fa\\u00f1iga\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franciszek Kostrzewski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franciszek Smuglewicz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franciszek Starowieyski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franciszek \\u017bmurko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Barraud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Bocion\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Boquet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Boucher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Clouet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Girardon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Joseph Heim\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Louis Thomas Francia\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fran\\u00e7ois Quesnel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Auerbach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Barrington Craig\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Buchser\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank DuMond\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Frazetta\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Gehry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Holl\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank J. Girardin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Leonard Brooks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Lloyd Wright\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Mason\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank McKelvey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Miller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Montague Moore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank O'Meara\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Schoonover\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Stella\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Tinsley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Weston Benson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frank Xavier Leyendecker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franklin Booth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franklin Carmichael\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frans Hals\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frans Koppelaar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frans Masereel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frans van Mieris the Elder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frans van Mieris the Younger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franti\\u0161ek Jakub Proky\\u0161\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franti\\u0161ek Kav\\u00e1n\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franti\\u0161ek Kupka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Ci\\u017eek\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Fedier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Hegi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Karl Basler-Kopp\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Kline\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Marc\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Sedlacek\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Stuck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Vohwinkel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz von Lenbach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Franz Xaver Winterhalter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fred A. Precht\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fred Cress\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fred Ludekens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fred Marcellino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fred Mitchell;\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fred Williams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fr\\u00e9d\\u00e9ric Bazille\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederic Church\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederic Edwin Church\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederic Leighton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederic Remington\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederick Carl Frieseke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederick Edwin Church\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederick Goodall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederick Hammersley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederick Lord Leighton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederick McCubbin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederik de Moucheron\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frederik Vermehren\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frida Kahlo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Friedensreich Hundertwasser\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Friedrich Gauermann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Friedrich Ritter von Friedl\\u00e4nder-Malheim\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Friedrich Traffelet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Friedrich von Amerling\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frieke Janssens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frits Thaulow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Frits Van den Berghe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fritz Baumann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fritz Bultman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fritz Glarner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fritz Puempin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fritz von Dardel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fritz von Uhde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fujishima Takeji\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fujiwara Nobuzane\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fujiwara Takanobu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fuller Potter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fuyuko Matsui\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fyodor Slavyansky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fyodor Vasilyev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gabor Szikszai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gabriel Ba\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gabriel Dawe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gabriel Metsu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gabriele M\\u00fcnter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gaetano Pesce\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gaetano Previati\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gaetano Sabatini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gai Qi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gang Se-hwang\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gao Cen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gao Fenghan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gao Qipei\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gao Xiang\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gareth Pugh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Garry Winogrand\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gary Larson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gary Panter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gaston Anglade\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gaston Bussi\\u00e8re\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gat\\u014dken Shunshi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gaudi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gaugin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gavin Hamilton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gediminas Pranckevicius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Geertgen tot Sint Jans\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gen Paul\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gene Davis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Genevieve Springston Lynch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Genndy Tartakovsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gentile Bellini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gentile Tondino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Geof Darrow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Geoffrey Dyer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georg Arnold-Grabon\\u00e9\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georg Baselitz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georg Friedrich Kersting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georg Friedrich Schmidt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georg Jensen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georg Karl Pfahler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georg Scholz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georg Schrimpf\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Abe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Aleef\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Ault\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George B. Bridgman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George B. Sutherland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Bain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George barbier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Barker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Barret; Jr.\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Barret; Sr.\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Baselitz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Bell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Bellows\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Benjamin Luks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Biddle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Caleb Bingham\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Catlin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Claessen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Cruikshank\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Dionysus Ehret\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Earl Ortman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Fiddes Watt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Frederic Watts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Frederick Harris\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George French Angas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Gardner Symons\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Grosz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Hendrik Breitner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Henry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Herbert Baker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Herriman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Hurrell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Inness\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Jamesone\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Lambourn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Lucas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Luks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Manson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Morrison\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Papazov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Passantino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Paul Chalmers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Pirie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Reid\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Romney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Stubbs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Tooker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"George Wyllie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georges Braque\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georges de La Tour\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georges Emile Lebacq\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georges Lacombe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georges Lemmen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georges Rouault\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georges Seurat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georges Stein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georgia O'Keeffe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georgia O\\u2019Keeffe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Georgina Hunt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerald Brom\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerald Kelley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerald Kelly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerald van Honthorst\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerard David\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerard de Lairesse\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"G\\u00e9rard Ernest Schneider\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerard Houckgeest\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerard Seghers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerard Sekoto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerard Soest\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerard ter Borch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerbrand van den Eeckhout\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerda Wegener\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerhard Munthe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerhard Richter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Germaine Krull\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Germ\\u00e1n Londo\\u00f1o\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerrit Adriaenszoon Berckheyde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gerrit Dou\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gertrude Abercrombie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gertrude Greene\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gertrude Harvey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giacomo Balla\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giambattista Pittoni\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gian Lorenzo Bernini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gianluca Foli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gifford Beal\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gigad\\u014d Ashiyuki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gijsbert d'Hondecoeter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gil Elvgren\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gilbert Stuart\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gilberto Soren Zaragoza\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gilles Beloeil\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gillis d'Hondecoeter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gillis Rombouts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gino Severini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giocondo Albertolli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giorgio Cavallon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giorgio de Chirico\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giorgio De Vincenzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giorgio Giulio Clovio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giorgio Morandi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giorgione\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giotto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giotto Di Bondone\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Antonio Galli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Battista Bracelli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Battista Cipriani\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Battista Gaulli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Battista Innocenzo Colombo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Battista Piazzetta\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Battista Piranesi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Battista Tiepolo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Battista Venanzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Bellini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Bernardino Asoleni\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Bernardino Azzolini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Bernardino Mazzolini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Boldini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni da Udina\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Fattori\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Francesco Barbieri\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Giacometti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Lanfranco\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Paolo Cavagna\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Paolo Pannini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giovanni Pelliccioli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Girolamo Muziano\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giuseppe Antonio Petrini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giuseppe Arcimboldo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giuseppe Avanzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giuseppe Bernardino Bison\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giuseppe Camuncoli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giuseppe de Nittis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Giuseppe Grisoni\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gjon Mili\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gladys Dawson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gladys Kathleen Bell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Glen Angus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Glen Keane\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Glenn Fabry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Glenys Cour\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gloria Stoll Karn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Go Nagai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Godfrey Blow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Godfried Schalcken\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gong Kai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gong Xian\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gonzalo Endara Crow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gordon Browne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gordon Parks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Goro Fujita\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gottfried Helnwein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Govert Dircksz Camphuysen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Govert Flinck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Goy\\u014d Hashiguchi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grace Cossington Smith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grace English\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grace Pailthorpe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Graham Sutherland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grandma Moses\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grant Wood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grayson Perry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Greg Hildebrandt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Greg Rutkowski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Greg Simkins\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Greg Staples\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gregorio Lazzarini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gregorio Prestopino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gregory Crewdson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gregory Manchess\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grete Stern\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grethe J\\u00fcrgens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grigoriy Myasoyedov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Grzegorz Rutkowski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gu Hongzhong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gu Kaizhi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gu Zhengyi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guan Daosheng\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guerrilla Girls\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guido Borelli Da Caluso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guido Crepax\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guido Reni\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guillermo del Toro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guo Pei\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustaf Munch-Petersen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustaf Tenggren\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustav Dor\\u00e9\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustav Klimt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Baumann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Boulanger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Buchet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Caillebotte\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Courbet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Dore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Dor\\u00e9\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Moreau\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gustave Van de Woestijne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gusukuma Seih\\u014d\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guy Billout\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guy Denning\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Guy Rose\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gwen Barnard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gwen John\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gwenda Morgan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gwenny Griffiths\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gwilym Prichard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gy\\u00f6rgy R\\u00f3zsahegyi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gy\\u00f6rgy Vastagh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gyosh\\u016b Hayami\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gyula Aggh\\u00e1zy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gyula Basch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gyula Batthy\\u00e1ny\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Gyula Derkovits\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"H. R. (Hans Ruedi) Giger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"H. R. Giger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"H.P. Lovecraft\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"H.R. Millar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Haddon Sundblom\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hajime Sorayama\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hal Foster\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hale Woodruff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hallsteinn Sigur\\u00f0sson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hamilton Sloan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hamish MacDonald\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hanabusa Itch\\u014d\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hanabusa Itch\\u014d II\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hanna-Barbera\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hannah Hoch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hannah H\\u00f6ch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Arnold\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Baldung\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Baluschek\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Beat Wieland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Bellmer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Bol\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Burgkmair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Eduard von Berlepsch-Valendas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Erni\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Falk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Gude\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Hartung\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Hinterreiter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Hofmann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Holbein the Elder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Holbein the Younger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Leu the Elder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Makart\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Memling\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Mertens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Sandreuter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Schwarz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans von Aachen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans von Bartels\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hans Werner Schmidt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harald Giersing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hariton Pushwagner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harold Elliott\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harold Gilman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harold Harvey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harold McCauley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harold Sandys Williamson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harold Shapinsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harold von Schmidt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Haroon Mirza\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harriet Backer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harriet Powers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harriet Zeitlin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harrington Mann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harrison Fisher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harry Clarke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harry Morley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harry Shoulberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harumi Hironaka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harvey Dunn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harvey Kurtzman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harvey Pratt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Harvey Quaytman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hasegawa Settan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hasegawa T\\u014dhaku\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hashimoto Gah\\u014d\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hasui Kawase\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Haukur Halld\\u00f3rsson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hayao Miyazaki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hayv Kahraman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hedda Sterne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hein Gorny\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinrich Bichler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinrich Brocksieper\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinrich Danioth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinrich Herzig\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinrich Hofmann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinrich Kley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinrich Lefler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinrich Maria Davringhausen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinz Anger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinz Edelman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Heinz Edelmann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helen Berman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helen Binyon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helen Dahm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helen Edwards\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helen Frankenthaler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helen Stevenson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helen Thomas Dranga\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helene Knoop\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helene Schjerfbeck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helio Oiticica\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helmut Federle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Helmut Newton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick Avercamp\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick Bloemaert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick Cornelisz Vroom\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick Cornelisz. van Vliet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick Goltzius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick Goudt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick Terbrugghen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick van Balen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrick van Streeck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrik Gerritsz Pot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrik Goltzius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrik Kerstens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrik Martenszoon Sorgh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrik van Steenwijk I\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrik van Steenwijk II\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hendrik Willem Mesdag\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henning Jakob Henrik Lund\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"c\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Alphonse Barnoin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Bellechose\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Biva\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Cartier-Bresson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri De Toulouse Lautrec\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri de Toulouse-Lautrec\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Fantin Latour\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Harpignies\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Le Sidaner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Matisse\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Michaux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri Rousseau\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri-Edmond Cross\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henri-Julien Dumont\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henric Trenk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henricus Hondius II\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henriett Seth F.\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henriette Grindat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henriette Wyeth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Asencio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry B. Christian\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Bright\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Carr\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Fuseli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Heerup\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Ives Cobb; Jr.\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Justice Ford\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Lamb\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Macbeth-Raeburn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Moore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Moret\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry O. Tanner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Ossawa Tanner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Otto Wix\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Raeburn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Raleigh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Scott Tuke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Snell Gamley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Tonks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry van de Velde\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Wallis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henry Woods\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henryk Rodakowski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henryk Siemiradzki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Henryk Sta\\u017cewski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herb Ritts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herbert Abrams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herbert Bayer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herbert James Gunn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herbert List\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herbert MacNair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hercules Seghers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herman Saftleven\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herman van Swanevelt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hermann Feierabend\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hermann R\\u00fcdis\\u00fchli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hermenegildo Anglada Camarasa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hermione Hammond\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herve Groussin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Herv\\u00e9 Guibert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hew Lorimer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hidari Jingor\\u014d\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hideyuki Kikuchi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hieronim Bosch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hieronymous Bosch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hieronymus Bosch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hikari Shimoda\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hilda Annetta Walker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hilda May Gordon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hilma af Klint\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hirohiko Araki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hiromitsu Takahashi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hiromu Arakawa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hiroshi Honda\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hiroshi Nagai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hiroshi Sugimoto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hiroshi Yoshida\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hiroshige\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hiroyuki Tajima\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hishida Shuns\\u014d\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hishikawa Moronobu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hisui Sugiura\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hokusai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Honor C. Appleton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Honor\\u00e9 Daumier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hope Gangloff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Horace Vernet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Horatio McCulloch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Horatio Nelson Poole\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Horst Antes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hovsep Pushman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Arkley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Butterworth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Chandler Christy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Chaykin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Finster\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Hodgkin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Kanovitz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Knotts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Lyon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Mehring\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howard Pyle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Howardena Pindell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hristofor \\u017defarovi\\u0107\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hristofor Zhefarovich\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hsiao-Ron Cheng\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hu Jieqing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hu Zaobin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Huang Binhong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Huang Ding\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Huang Gongwang\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Huang Guangjian\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Huang Ji\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Huang Tingjian\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hubert Robert\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hubert van Eyck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hubert van Ravesteyn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hubert von Herkomer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugh Adam Crawford\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugh Ferriss\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugh Kretschmer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugh William Williams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugo Anton Fisher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugo Heyrman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugo K\\u0101rlis Grotuss\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugo S\\u00e1nchez Bonilla\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugo Scheiber\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugo Simberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hugo van der Goes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hundertwasser\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Hyacinthe Rigaud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"I Ketut Soki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Iain Faulkner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ian Fairweather\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ian Hamilton Finlay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ian McQue\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ian Miller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ib Eisner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ibrahim Kodra\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ida Rentoul Outhwaite\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ignacio Bazan-Lazcano\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ignacio Zuloaga\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ignacy Witkiewicz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ignat Bednarik\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Igor Morski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Igor Zenin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ike no Taiga\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ikuo Hirayama\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ilya Glazunov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ilya Kuvshinov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ilya Ostroukhov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ilya Repin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ilya Yefimovich Repin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Incarcerated Jerkfaces\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ingrid Baars\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Inio Asano\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Inoue Naohisa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Irma Stern\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Iryna Yermolova\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Isaac Cordal\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Isaac Levitan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ismail Inceoglu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Istvan Banyai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"It\\u014d Jakuch\\u016b\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ivan Aivazovsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ivan Albright\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ivan Bilibin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ivan Shishkin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Iwan Baan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"J. J. Grandville\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"J.C. Leyendecker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"J.M.W. Turner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jacek Yerka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jack Butler Yeats\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jack Davis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jack Gaughan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jack Kirby\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jackson Pollock\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jacob Hashimoto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jacob Lawrence\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jacob van Ruisdael\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jacques Le Moyne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jacques Nathan-Garamond\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jakub R\\u00f3\\u017calski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Abbott McNeill Whistler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James C Christensen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Ensor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Gilleard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Gillray\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Gurney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Jean\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Montgomery Flagg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Stokoe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Thomas Watts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Tissot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"James Turrell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jamie Baldridge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jamie Hawkesworth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jamie Hewlett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jamie McKelvie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jamini Roy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jan Brett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jan Luyken\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jan Pietersz Saenredam\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jan Van Eyck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jan van Kessel the Elder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jane Graverol\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jane Newland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Janek Sedlar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jasmine Becket-Griffith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jason A. Engle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jason Edmiston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jasper Johns\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jaume Plensa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jaya Suberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"JC Leyendecker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Arp\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Auguste Dominique Ingres\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Bourdichon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Delville\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Dubuffet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Fouquet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Giraud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Jullien\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Marc Nattier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Metzinger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean Nouvel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean-Antoine Watteau\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean-Baptiste Monge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean-Fran\\u00e7ois Millet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean-Honor\\u00e9 Fragonard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean-L\\u00e9on G\\u00e9r\\u00f4me\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean-Louis Prevost\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean-Michel Basquiat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jean-Paul Riopelle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeanloup Sieff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeannette Guichard-Bunel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jed Henry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jef Wu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeff Easley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeff Kinney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeff Koons\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeff Legg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeff Lemire\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeff Simpson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeff Wall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeffrey Catherine Jones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeffrey Smith art\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeffrey T. Larson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jenny Saville\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"JennyBird Alcantara\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeremiah Ketner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeremy Geddes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeremy Lipking\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jeremy Mann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jerry Pinkney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jerry Siegel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jerzy Duda-Gracz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jesper Ejsing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jessica Rossier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jessie Willcox Smith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jhonen Vasquez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jillian Tamaki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jim Burns\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jim Davis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jim Lee\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jim Mahfood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jim Woodring\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jimmy Lawlor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joachim Brohm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joan Mir\\u00f3\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joan Tuset\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joao Ruas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joaqu\\u00edn Sorolla\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joe Bowler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joe Fenton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joe Jusko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joe Madureira\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joe Webb\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joel Meyerowitz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joel Sternfeld\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Johann Wolfgang von Goethe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Johannes Itten\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Johannes Vermeer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Johfra Bosschart\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Anster Fitzgerald\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Atkinson Grimshaw\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Bauer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Berkey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Blanche\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Bratby\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Cassaday\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Constable\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Currin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Duncan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Frederick Kensett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John French Sloan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Harris\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Howe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Hoyland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John James Audubon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Kenn Mortensen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John La Farge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Lavery\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Martin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Perceval\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Philip Falter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Salminen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Singer Sargent\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Singleton Copley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Stezaker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Totleben\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Wayne Gacy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Whitcomb\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John Wilhelm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"John William Waterhouse\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jon Klassen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jon McCoy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jon Whitcomb\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jordan Grimmer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jorge Jacinto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Josan Gonzalez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jos\\u00e9 Clemente Orozco\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Josef Albers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joseph Cornell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joseph Ducreux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joseph Lorusso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joseph Mallord William Turner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Joseph Stella\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Josephine Wall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Josh Kao\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Josh Keyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jovana Rikalo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"J\\u00f3zef Mehoffer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Juan Gris\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Judy Chicago\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Juergen Teller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jules Bastien-Lepage\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Juliana Huxtable\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Julie Bell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Julie Blackmon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"c\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Julie Mehretu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Julien Delval\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Julius Horsthuis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Jun Kaneko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Junji Ito\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Justin Gerard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kadir Nelson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kaethe Butcher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kapwani Kiwanga\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Karel Appel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Karel Thole\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Karen Wallis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Karl Blossfeldt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Karl Schmidt-Rottluff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Karol Bak\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kate Beaton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kate Greenaway\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"K\\u00e4the Kollwitz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kathryn Morris Trotter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kati Horna\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Katsuhiro Otomo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Katsushika Hokusai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kawanabe Ky\\u014dsai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kaws\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kay Nielsen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kay Sage\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kazimir Malevich\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kazuo Koike\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kehinde Wiley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Keith Haring\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Keith Negley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kelly Freas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kelly Mckernan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kelly Sue Deconnick\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kelly Vivanco\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ken Fairclough\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ken Kelly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ken Sugimori\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kengo Kuma\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kenne Gregoire\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kent Monkman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kentaro Miura\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kevin Sloan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kieron Gillen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kilian Eng\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kim Jung Gi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kim Keever\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kitagawa Utamaro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kitty Lange Kielland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Klaus Burgle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Klaus Janson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Klaus Wittmann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kobayashi Kiyochika\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Konstantin Korovin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Konstantin Yuon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Koson Ohara\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Krenz Cushart\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kris Kuksi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kuang Hong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kunisada\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kurzgesagt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"L. Birge Harrison\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lady Pink\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Larry Elmore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Larry Poons\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Larry Sultan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"L\\u00e1szl\\u00f3 Moholy-Nagy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Laurel Burch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Laurent Grasso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Laurie Greasley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Laurie Lipton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lawren Harris\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lee Krasner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lee Madgwick\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lee Quinones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Leiji Matsumoto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Leon Kossoff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Leonardo Da Vinci\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Leonetto Cappiello\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Leonid Afremov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Leonora Carrington\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Les Edwards\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lesley Vance\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Leticia Gillett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Liam Wong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lisa Frank\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lisa Keene\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Liu Ye\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Liubov Sergeevna Popova\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lois van Baarle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lorena Alvarez G\\u00f3mez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lorenz Hideyoshi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Loretta Lux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lori Earley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Louis Comfort Tiffany\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Louis Glackens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Louis Icart\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Louis Janmot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Louis Rhead\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Louis Wain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Louise Bourgeois\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Louise Dahl-Wolfe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lovis Corinth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lucas Cranach the Elder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lucian Freud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lucy Madox Brown\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ludwig Mies van der Rohe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Luis Royo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lynd Ward\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lynda Barry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lynda Benglis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lyonel Feininger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lyubov Popova\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"M.C. Escher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"M.W. Kaluta\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mab Graves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Maginel Wright Enright Barney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Magnus Enckell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Makoto Shinkai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Malcolm Liepke\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Man Ray\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mandy Disher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mao Hamaguchi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marat Latypov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marc Chagall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marc Davis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marc Simonetti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marcin Jakubowski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marco Mazzoni\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Margaret Brundage\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Margaret Macdonald Mackintosh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Margaret Mee\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Margaux Valonia\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Maria Pascual Alberich\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Maria Sibylla Merian\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marianne North\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marianne von Werefkin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marie Guillemine Benoist\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marie Spartali Stillman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marius Borgeaud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marjane Satrapi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mark Briscoe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mark Brooks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mark Keathley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mark Lovett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mark Rothko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mark Ryden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mark Seliger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Marsden Hartley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Martin Ansin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Martin Deschambault\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Martin John Heade\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Martin Johnson Heade\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Martin Kippenberger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Martine Johanna\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Martiros Saryan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mary Anning\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mary Blair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mary Cassatt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Masaaki Sasamoto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Masamune Shirow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mat Collishaw\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mati Klarwein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Matt Bors\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Matt Fraction\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Matt Groening\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Matthias Gr\\u00fcnewald\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Matthias Jung\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Maurice Sendak\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Max Beckmann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Max Dupain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Max Ernst\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Max Pechstein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Max Weber\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Maxfield Parrish\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Maximilian Pirner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Maximilien Luce\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mead Schaeffer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"M\\u00e9ret Oppenheim\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Meryl McMaster\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michael Carson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michael Cheval\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michael Deforge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michael Heizer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michael Hutter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michael Parkes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michael Sowa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michael Whelan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michal Karcz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michal Lisowski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michelangelo Buonarroti\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Michelangelo Merisi Da Caravaggio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mickalene Thomas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Miho Hirano\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mikalojus Konstantinas Ciurlionis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mike Campau\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mike Deodato\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mike Mayhew\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mike Mignola\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mike Winkelmann (Beeple)\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mike Worrall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mikhail Larionov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mikhail Nesterov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mikhail Vrubel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mikko Lagerstedt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Milo Manara\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Milton Avery\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Milton Caniff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Milton Glaser\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Miriam Schapiro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Moebius\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mordecai Ardon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Mort Kunstler\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nan Goldin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Naoki Urasawa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Naoko Takeuchi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Naomi Okubo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Naoto Hattori\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Natalia Goncharova\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nathan Coley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nathan Wirth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"NC Wyeth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Neil Welliver\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"NHK Animation\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ni Chuanjing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nicholas Roerich\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nick Knight\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nick Sharratt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nicola Samori\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nicolas de Stael\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nicolas Delort\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nicolas Mignard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nikolai Ge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nikolina Petolas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Noah Bradley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Nobuyoshi Araki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Noelle Stevenson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Noriyoshi Ohrai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Norman Ackroyd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Norman Bluhm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Norman Foster\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Norman Rockwell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Octavio Ocampo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Odd Nerdrum\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Odilon Redon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ogawa Kazumasa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ohara Koson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Olafur Eliasson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Oleg Oprisco\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Olga Skomorokhova\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Olivier Bonhomme\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Olivier Valsecchi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ollie Hoff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Os Gemeos\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Osamu Tezuka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"OSGEMEOS\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Oskar Fischinger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Oskar Kokoschka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ossip Zadkine\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Otto Dix\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Otto Marseus van Schrieck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pablo Picasso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pamela Colman Smith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paolo Roversi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paolo Veronese\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pascale Campion\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Patrice Murciano\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Patricia Polacco\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Patrick Caulfield\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Patrick Dougherty\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Patrick Heron\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Patrick Woodroffe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Barson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul C\\u00e9zanne\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Chadeisson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Corfield\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Delvaux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Gauguin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Gustav Fischer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Henry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Klee\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Laffoley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Lehr\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Ranson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Strand\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paul Wonner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paula Modersohn-Becker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Paulus Potter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pawel Kuczynski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Andrew Jones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Bagge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter De Seve\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Doig\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Elson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Gric\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Holme III\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Howson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Max\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Milligan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Mohrbacher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Paul Rubens\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Sculthorpe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Peter Wileman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Phil Foglio\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Phil Jimenez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Phil Koch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Phil Noto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Philip Guston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Philippe Druillet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Philippe Parreno\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pierre Bonnard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pierre Puvis de Chavannes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pierre-Auguste Renoir\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Piet Hein Eek\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Piet Mondrian\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pieter Aertsen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pieter Bruegel The Elder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pieter Claesz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pieter de Hooch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pieter Jansz Saenredam\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pipilotti Rist\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pixar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Pixar Concept Artists\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Posuka Demizu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Qian Xuan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Quentin Blake\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Quentin Tarantino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Quint Buchholz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rafael Albuquerque\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rafa\\u0142 Olbi\\u0144ski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raffaello Sanizo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raina Telgemeier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raja Ravi Varma\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ralph Horsley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ralph McQuarrie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ralph Steadman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ramon Casas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Randolph Caldecott\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raphael\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raphael Lacoste\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raphaelle Peale\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ravi Zupa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ray Caesar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ray Donley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raymond Briggs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raymond Duchamp-Villon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raymond Leech\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Raymond Swanland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rebeca Saray\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rebecca Guay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rebecca Louise Law\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rebecca Sugar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Reginald Marsh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rembrandt Van Rijn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Remedios Varo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ren\\u00e9 Lalique\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rene Laloux\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rene Magritte\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"RETNA (Marquis Lewis)\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Reylia Slaby\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"RHADS\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Burlet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Corben\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Dadd\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Deacon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Diebenkorn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Doyle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Eurich\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Hamilton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Lindner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard McGuire\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Misrach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard S. Johnson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Richard Scarry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rob Gonsalves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rob Liefeld\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Antoine Pinchon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Childress\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Crumb\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Hagan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Irwin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"c\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert M Cunningham\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Maguire\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert McCall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Mcginnis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Motherwell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Rauschenberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert S. Duncanson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Stivers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Vonnoh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert William Hume\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Robert Williams\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Roberto Ferri\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Roberto Matta\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rockwell Kent\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rodney Matthews\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Roger Ballen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Roger de La Fresnaye\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Roger Dean\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rolf Armstrong\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Romero Britto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ron Mueck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ron Walotsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ronald Balfour\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ross Tran\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Roy Gjertson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Roy Lichtenstein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Roz Chast\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ruan Jia\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rudolf Freund\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rufino Tamayo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Rumiko Takahashi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Russ Mills\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Russell Ayto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ruth Bernhard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ryan Hewett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ryan McGinley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ryohei Hase\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sacha Goldberger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sailor Moon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sakai Ho\\u0304itsu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sally Mann\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"black-white\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Salomon van Ruysdael\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Salvador Dali\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sam Bosma\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sam Kieth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sam Spratt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Samuel and Joseph Newsom\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Samuel Earp\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Samuel Melton Fisher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sandra Chevrier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sandro Botticelli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sandy Skoglund\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sanford Kossin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sangyeob Park\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Santiago Calatrava\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Santiago Caruso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sarah Lucas\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Satoshi Kon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Saturno Butto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Saul Bass\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Saul Steinberg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Saul Tepper\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Scarlett Hooft Graafland\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Scott Listfield\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Scott Naismith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sean Scully\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sean Yoro\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Seb Mckinnon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sebastian Errazuriz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Serge Marshennikov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shaddy Safadi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shaun Tan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shawn Coss\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sheilah Beckett\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shepard Fairey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sherree Valentine Daines\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shin Jeongho\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shinji Aramaki\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shintaro Kago\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shohei Otomo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shotaro Ishinomori\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Shusei Nagaoko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sidney Nolan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Silvestro Lega\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Simeon Solomon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Simon Birch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Simon Bisley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Simon Stalenhag\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Simone Martini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sir James Guthrie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Siya Oum\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Skottie Young\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Slim Aarons\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sofonisba Anguissola\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sonia Delaunay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sou Fujimoto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Squeak Carnwath\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stan And Jan Berenstain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stan Lee\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stanislav Poltavsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stanis\\u0142aw Szukalski\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stanley Donwood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stephan Martiniere\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stephen Gammell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stephen Shore\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stevan Dohanos\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Steve Dillon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Steve Ditko\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Steve Henderson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Steve Lieber\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Steve McCurry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Storm Thorgerson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stuart Davis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stuart Haygarth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Stuart Immonen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Studio Ghibli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sue Bryce\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Susan Luo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Susan Seddon Boulet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sven Nordqvist\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Syd Mead\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sydney Edmunds\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Sydney Prior Hall\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tadao Ando\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Taiy\\u014d Matsumoto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Takashi Murakami\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Takato Yamamoto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Takeshi Obata\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tamara Lempicka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tara McPherson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tari Ma\\u0301rk Da\\u0301vid\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tatsuro Kiuchi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"teamLab\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ted Nasmith\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ted Wallace\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Teophilus Tetteh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Terada Katsuya\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Terry Oakes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Terry Redlin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tex Avery\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"theCHAMBA\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Theo van Rysselberghe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Th\\u00e9odore G\\u00e9ricault\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Allom\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Benjamin Kennington\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Blackshear\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Cole\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Eakins\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Gainsborough\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Kinkade\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Moran\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Rowlandson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Saliot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Struth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas Visscher\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thomas W Schaller\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"special\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Thornton Oakley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tim Burton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tim Doyle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tim Hildebrandt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tim White\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tintoretto\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Titian\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Todd McFarlane\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Todd Schorr\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Toei Animations\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tokujin Yoshioka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"tokyogenso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tom Bagshaw\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tom Hammick\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tom Lovell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tom Roberts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tom Thomson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tom Whalen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tomasz Alen Kopera\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tomer Hanuka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tomi Ungerer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tomma Abts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tomokazu Matsuyama\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tony DiTerlizzi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Toshiharu Mizutani\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tove Jansson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Travis Louie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tristan Eaton\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tsutomu Nihei\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tyler Edlin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Tyler Shields\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ub Iwerks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Uemura Shoen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Umberto Boccioni\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Utagawa Hiroshige\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Valerie Hegarty\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Victo Ngai\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Victor Adame Minguez\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Victor Brauner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Victor Moscoso\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Victor Nizovtsev\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Victor Vasarely\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Victoria Crowe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Viktor Vasnetsov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Vincent Di Fate\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Vincent Tanguay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Vincent Van Gogh\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Virgil Finlay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Vito Acconci\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Vittorio Matteo Corcos\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Vivian Maier\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Viviane Sassen\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Vladimir Kush\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"W. Heath Robinson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"W.W. Denslow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wadim Kashin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Walt Disney\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Walt Kelly\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Walter Crane\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Walter Kim\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Walter Langley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Walter Percy Day\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wangechi Mutu\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Warren Ellis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Warwick Globe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wassily Kandinsky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wayne Barlowe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wes Anderson\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wilfredo Lam\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Will Barnet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Will Eisner\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"cartoon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Willem de Kooning\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Willem van Haecht\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Blake\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Eggleston\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Etty\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Gropper\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Henry Hunt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Hogarth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Holman Hunt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Kentridge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Morris\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William S. Burroughs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Steig\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Stout\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Wegman\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William Zorach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"William-Adolphe Bouguereau\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"c\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wim Crouwel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-high-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wim Wenders\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Winslow Homer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Winsor McCay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wojciech Ostrycharz\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wolf Kahn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Wolfgang Tillmans\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Worthington Whittredge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yaacov Agam\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yanjun Cheng\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yasuo Kuniyoshi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"ukioe\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yasushi Nirasawa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nudity\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yasutomo Oka\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yayoi Kusama\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weird\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yiannis Moralis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yinka Shonibare\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yoji Shinkawa\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yoshitaka Amano\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yoshiyuki Tomino\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"anime\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yue Minjun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yuri Ivanovich Pimenov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yuumei\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yves Klein\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yves Tanguy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"scribbles\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Zack Snyder\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-med-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Zanele Muholi\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"n\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Zeen Chin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"digipa-low-impact\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Zhang Kechun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fareast\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Zinaida Serebriakova\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"fineart\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Attribute\": {\n        \"priority\": \"\",\n        \"pattern\": \"[ {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"46780892\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"blush\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bottomless\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bound\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"embarrassed\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"glowing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"happy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"see-through\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"wet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Body\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1280333430\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"abs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"animal ear fluff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"animal ears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"anus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"armpits\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ass\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bare arms\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bare legs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bare shoulders\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"barefoot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"gore_basic, gore_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"breasts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cat ears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cat tail\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"claws\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cleavage\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"collarbone\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"colored skin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"covered navel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cum\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cum in pussy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cum on body\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dark skin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dark-skinned\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ear\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"eye\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"eyebrows\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"eyelashes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"facial mark\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fang\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fangs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"feet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"female\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"female pubic hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"finger\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fingernails\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"flat chest\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"flying sweatdrops\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"foot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fox ears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fox tail\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"groin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hand\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"heart\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"horns\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"huge breasts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"large breasts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"legs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"lips\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"makeup\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"makeup\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"medium breasts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"mole\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"mole under eye\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"muscular\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"nails\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"navel\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"nipples\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"nose blush\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"makeup\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"oral\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"penis\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"perfect vagina\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pointy ears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pubic hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pussy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pussy juice\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"rabbit ears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"saliva\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"scar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"gore_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"shiny skin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"shoulders\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"skindentation\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"small breasts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"soles\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"stomach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sweat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sweatdrop\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"tail\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"tattoo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"tattoo\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"tears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"teeth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"testicles\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"thick eyebrows\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"thick thighs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"thighs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"toes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"tongue\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"upper body\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"upper teeth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"v-shaped eyebrows\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"vagina\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"vaginal\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"vulva\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"wings\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"wolf ears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Clothing\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"99501894\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"apron\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"arm support\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"gore_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"armor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ascot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"tie\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ascot tie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"tie\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"backpack\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bag\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"bag\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bandages\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"gore_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"belt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"beret\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"military, headwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bikini\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"swim, swimming\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blazer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bodysuit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"boots\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"shoes\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bowtie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"neck, tie\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bra\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"underwear\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bracelet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"jewelry\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bunny suit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"buttons\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cameltoe\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cape\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"capelet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"chinese clothes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"chinese\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"choker\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"jewelry, neck\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cleavage cutout\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"clothing cutout\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"coat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"collar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"collared shirt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"shirt\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"completely nude\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cosplay\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"costume\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"costume\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"covered nipples\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"crop top\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"detached collar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"detached sleeves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sleeves\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dress\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"dress\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dress shirt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"earrings\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"jewelry\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"elbow gloves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"gloves\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"eyepatch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear\",\n                \"filter_group\": \"gore_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fake animal ears\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fingerless gloves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"gloves\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"footwear\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"feet\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"frills\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fur trim\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"garter straps\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"glasses\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear, glasses\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"gloves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"gloves\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair bow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"hair\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair flower\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"hair\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair ribbon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"hair\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair tubes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hairband\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"hair\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hairclip\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"jewelry\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"halterneck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"dress\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"hat\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hat ribbon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"headband\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"headgear\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"headwear\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"high heels\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"highleg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hood\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hoodie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hot pants\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"skimpy, pants\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hotpants\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"skimpy, pants\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"jacket\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"jacket\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"japanese clothes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"japanese\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"jewelry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"jewelry\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"kimono\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"japanese\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"knee boots\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"kneehighs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"underwear\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"legwear\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"legwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"leotard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"lingerie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"long sleeves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"shirt\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"maid headdress\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"mask\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"micro miniskirt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"skimpy, skirt\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"midriff\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"skimpy\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"In fashion, the midriff is the exposed human abdomen.\"\n            },\n            {\n                \"phrase\": \"military uniform\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"miniskirt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"skimpy, skirt\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"mobcap\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"mocap suit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"neck ribbon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"neck\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"neckerchief\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"neck\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"necklace\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"jewelry\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"necktie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"neck, tie\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"no bra\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"no panties\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"no shoes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"nude\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"one-piece bodysuit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"one-piece swimsuit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"open clothes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"open jacket\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"open shirt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"panties\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"underwear\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pants\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"pants\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pantyhose\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"underwear\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"piercing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"jewelry\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"plaid skirt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"playboy bunny\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pleated skirt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"skirt\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"puffy short sleeves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"puffy sleeves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sleeves\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ribbon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"hair\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sailor collar\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sandals\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sash\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"scarf\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"school swimsuit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"swim, swimming\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"school uniform\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"uniform, school\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"scrunchie\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"serafuku\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"japanese, uniform, school\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"A Japanese school uniform.\"\n            },\n            {\n                \"phrase\": \"shirt\",\n                \"priority\": \"5\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"shirt\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"shirt lift\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"shoes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"shoes\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"short dress\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"short shorts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"skimpy, pants\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"short sleeves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"shirt\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"shorts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"pants\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"side-tie bikini bottom\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"swim, swimming\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"skirt\",\n                \"priority\": \"5\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"skirt\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"skirt lift\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sleeveless\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sleeves\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sleeveless dress\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"dress\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sleeveless shirt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sleeves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sleeves\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sleeves past wrists\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"socks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"socks\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"strapless\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sunglasses\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear, glasses\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sweater\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"swimsuit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"swim, swimming\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"thigh boots\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"thigh strap\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"thighhighs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"underwear\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"topless\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"torn clothes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"turtleneck\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"shirt\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"underwear\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"underwear\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"underwear only\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"underwear\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"uniform\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"vest\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"wide sleeves\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sleeves\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"witch hat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"headwear\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Color and Texture\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"2008843282\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"floral print\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"looking back\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"shiny\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"striped\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Composition\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1606894233\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"4koma\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"comic, manga\",\n                \"filter_group\": \"\",\n                \"description\": \"Yonkoma manga, a comic strip format, generally consists of gag comic strips within four panels of equal size ordered from top to bottom.\"\n            },\n            {\n                \"phrase\": \"ass visible through thighs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw_basic, position, framing, shot\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blurry background\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"background\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"close up\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cowboy shot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dutch angle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"feet out of frame\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"from above\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"from below\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"from side\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"full body\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot \",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"gradient background\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"background\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"grey background\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"background\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"mugshot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"multiple views\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pantyshot\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw_basic, position, framing, shot\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pov\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"position, framing, shot\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"side vag\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw_basic, position, framing, shot\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sideboob\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw_basic, position, framing, shot\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"simple background\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"background\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"underboob\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw_basic, position, framing, shot\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"white background\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"background\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Yonkoma\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"comic, manga\",\n                \"filter_group\": \"\",\n                \"description\": \"Yonkoma manga, a comic strip format, generally consists of gag comic strips within four panels of equal size ordered from top to bottom.\"\n            }\n        ]\n    },\n    \"Creature\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"2137164522\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"animal\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bird\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cat\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pokemon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Details\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"943429446\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"absurdres\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"banned artist\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bar censor\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blurred\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"border\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"censored\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"commission\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"highres\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"higly detailed\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"intricate details\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"lowres\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"mosaic censoring\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"parody\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"smooth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"trending on artstation\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"uncensored\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"watermark\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Eyes\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"839792505\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"aqua eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"black eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blue eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"brown eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"green eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"grey eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"heart-shaped pupils\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"heterochromia\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"Heterochromia is a variation in coloration. The term is most often used to describe color differences of the iris, but can also be applied to color variation of hair or skin.\"\n            },\n            {\n                \"phrase\": \"orange eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pink eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"purple eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"red eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"symbol-shaped pupils\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"yellow eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Food\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1672622223\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"eating\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"food\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fruit\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Game\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1756044678\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"an ingame rendering of\",\n                \"priority\": \"10\",\n                \"pattern_override\": \"[{} {|}]\",\n                \"show_if\": \"empty\",\n                \"trigger\": \"empty\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"arknights\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"azur lane\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"final fantasy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fire emblem\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"genshin impact\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"gta\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"halo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"gore_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"idolmaster\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"idolmaster cinderella girls\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"kantai collection\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"touhou\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Genre\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1520019552\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"bdsm\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cyberpunk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dark fantasy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dieselpunk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"fantasy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"scify\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"steampunk\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Hair\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1079282017\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"ahoge\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"aqua hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bald\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bangs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"beard\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"black hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blonde hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blue hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blunt bangs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bob cut\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"braid\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"An ahoge (top of the head). Ahoge (\\u30a2\\u30db\\u6bdb, \\u30a2\\u30db\\u3052), literally foolish hair, is a visual cue common to Japanese anime and manga.\"\n            },\n            {\n                \"phrase\": \"brown hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"double bun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"drill hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"eyes visible through hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"facial hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"floating hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"gradient hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"green hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"grey hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair between eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair bun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair ornament\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hair over one eye\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"light brown hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"long hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"low twintails\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"medium hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"multicolored hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"one side up\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"orange hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"parted bangs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pink hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ponytail\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"shiny hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"short hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"side ponytail\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sidelocks\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"silver hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"single braid\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"single hair bun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"streaked hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"swept bangs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"twin braids\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"twintails\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"A long curl of hair that is worn hanging down at the side of the head by some Jewish men.\"\n            },\n            {\n                \"phrase\": \"two side up\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"two-tone hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"very long hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"wavy hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"white hair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Lighting\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"998529368\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"backlighting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"beams of sunlight\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blue hour\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cool twilight lighting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dramatic backlighting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"god rays\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"golden hour\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"harsh sunlight\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"light shafts\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"midday\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"radiant glow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"subsurface scattering\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sunlight\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sunrise\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"volumetric lighting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"warm lighting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Movies and Streaming\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"444512542\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"hololive\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Objects\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"817114132\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"bed\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bed sheet\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"bell\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blush stickers\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"book\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"chain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"chair\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cup\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"headphones\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"katana\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"nail polish\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"phone\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"pillow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ring\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"star\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"stuffed animal\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"stuffed toy\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"table\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"umbrella\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"water\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"window\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"wrist cuffs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Other\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"131527998\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"blue sky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cloud\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cover\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"gradient\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"military\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"no humans\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"scan\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"shadow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"signature\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"solo\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sparkle\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"speech bubble\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Painting\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"428854850\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"a photorealistic painting of\",\n                \"priority\": \"10\",\n                \"pattern_override\": \"[{} {|}]\",\n                \"show_if\": \"empty\",\n                \"trigger\": \"empty\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"an expressionist painting of\",\n                \"priority\": \"10\",\n                \"pattern_override\": \"[{} {|}]\",\n                \"show_if\": \"empty\",\n                \"trigger\": \"empty\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"a painting of\",\n                \"priority\": \"10\",\n                \"pattern_override\": \"[{} {|}]\",\n                \"show_if\": \"empty\",\n                \"trigger\": \"empty\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"detailed oil painting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"expressionist painting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"People\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"52938317\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"hetero\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"loli\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"magical girl\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"maid\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"male focus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"multiple boys\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"multiple girls\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"siblings\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Photo\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"2143842947\",\n        \"description\": \"All things camera and photo related.\",\n        \"entries\": [\n            {\n                \"phrase\": \"a photo of \",\n                \"priority\": \"\",\n                \"pattern_override\": \"[{} {|}]\",\n                \"show_if\": \"empty\",\n                \"trigger\": \"empty\",\n                \"search_tags\": \"photo\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"blurry\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sharpness, details, blur, focus\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"depth of field\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"focused\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sharpness, details, blur, focus\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fujicolor Superia 1600\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fujifilm Instax Film\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fujifilm Velvia 100\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Fujifilm Velvia 50\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ilford Delta 3200\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ilford HP5 Plus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Ilford XP2S\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kodak Ektachrome E100\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kodak Ektar 100\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kodak Portra 160 Professional\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kodak Portra 400\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kodak T-Max P3200\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Kodak TRI-X 400\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Lomography Lady Grey\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"out of focus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sharpness, details, blur, focus\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Polaroid 600 Instant Film\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Polaroid i\\u2011Type Instant Film\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"Polaroid SX-70 Instant Film\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"photo, camera\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sharp focus\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"sharpness, details, blur, focus\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Place\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"2027254727\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"beach\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"forest\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"garden\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"house\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"indoors\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"lake\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"landscape\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"moon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"mountain\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"ocean\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"on back\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"on bed\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"on water\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"outdoors\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"river\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"school\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sea\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sky\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"underwater\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"work\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Plant\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"2062043064\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"flower\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"leaf\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"petals\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"rose\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"tree\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Pose\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"248871340\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"arm up\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"arms behind back\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"arms up\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"breast grab\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"closed eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"closed mouth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"crossed arms\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"crouching\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"erection\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"evading\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"expressionless\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"falling\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"from behind\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"frown\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"grabbing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"grin\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"half-closed eyes\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hand on hip\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hand up\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hands up\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"head tilt\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"holding\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"holding hands\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hug\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"jumping\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"kiza\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"kneeling\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"leaning forward\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"leg up\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"looking at another\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"looking at viewer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"looking away\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"looking down\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"looking to the side\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"on side\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"one eye closed\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"open mouth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"parted lips\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"profile\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"running\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"seiza\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sex\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"nsfw\",\n                \"filter_group\": \"nsfw_mild, nsfw_basic, nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sitting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sleeping\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"smile\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"spread legs\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"squatting\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"standing\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"standing on one leg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"thigh gap\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"nsfw_strict\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"tongue out\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"trembling\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"turning\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"walking\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"wariza\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"Informal sitting posture for women is called wariza (\\u5272\\u5ea7, literally \\\"separate or split sitting\\\", \\\"w-sitting\\\" or \\\"reverse tailor style sitting\\\" in English) which resembles seiza posture, whereby the buttocks are on the floor and the lower legs are bent off to their respective sides.\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"wavy mouth\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Rendering\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1704404477\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"an 3D rendering of\",\n                \"priority\": \"10\",\n                \"pattern_override\": \"[{} {|}]\",\n                \"show_if\": \"empty\",\n                \"trigger\": \"empty\",\n                \"search_tags\": \"rendering\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"a rendering of\",\n                \"priority\": \"10\",\n                \"pattern_override\": \"[{} {|}]\",\n                \"show_if\": \"empty\",\n                \"trigger\": \"empty\",\n                \"search_tags\": \"rendering\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"cg\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"uncanny valley\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"virtual youtuber\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Style\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"811378957\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"comic\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"greyscale\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"hyperrealistic\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"in the style of\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"infographic\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"monochrome\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"noir\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"official art\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"original\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"silhouetted\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sketch\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Time\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"943080489\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"autumn\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"dated\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"day\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"night\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"spring\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"summer\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"winter\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    },\n    \"Tools and Weapons\": {\n        \"priority\": \"\",\n        \"pattern\": \"[, {} {|}]\",\n        \"trigger\": \"\",\n        \"id\": \"1074728780\",\n        \"description\": \"\",\n        \"entries\": [\n            {\n                \"phrase\": \"bow\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weapon, hunt, bow\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"gun\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weapon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"holding sword\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weapon, sword\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"holding weapon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weapon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"sword\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weapon, sword\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            },\n            {\n                \"phrase\": \"weapon\",\n                \"priority\": \"\",\n                \"pattern_override\": \"\",\n                \"show_if\": \"\",\n                \"trigger\": \"\",\n                \"search_tags\": \"weapon\",\n                \"filter_group\": \"\",\n                \"description\": \"\"\n            }\n        ]\n    }\n}\n"
  },
  {
    "path": "docker-compose.yml",
    "content": "version: '3.9'\n\nservices:\n  stable-diffusion:\n    container_name: sd-webui\n    build:\n      context: .\n      dockerfile: Dockerfile\n    env_file: .env_docker\n    environment:\n      PIP_EXISTS_ACTION: w\n    volumes:\n      - .:/sd\n      - ./outputs:/sd/outputs\n      - ./model_cache:/sd/model_cache\n      - conda_env:/opt/conda\n      - root_profile:/root\n    ports:\n      - '7860:7860'\n      - '8501:8501'\n    deploy:\n      resources:\n        reservations:\n          devices:\n            - capabilities: [ gpu ]\n\nvolumes:\n  conda_env:\n  root_profile:\n"
  },
  {
    "path": "docs/1.Installation/1.one-click-installer.md",
    "content": "# Installer\n\n---\n\n### Sygil WebUI\n\nHome Page: https://github.com/Sygil-Dev/sygil-webui\n\n### Installation on Windows:\n\n\n\n- Clone or download the code from the [Repository](https://github.com/Sygil-Dev/sygil-webui).\n\n- Open the `installer` folder and copy the `install.bat` to the root folder next to the `webui.bat`\n\n- Double-click the `install.bat` file and wait for it to handle everything for you.\n\n### Installation on Linux:\n\n- Clone or download the code from the [Repository](https://github.com/Sygil-Dev/sygil-webui).\n\n- Open the `installer` folder and copy the `install.sh` to the root folder next to the `webui.sh`\n\n- Open a terminal on the folder where the code is located and run `./install.sh` ,make sure it has the right permissions and can be executed.\n\n- Wait for the installer to handle everything for you.\n\nAfter installation, you can run the `webui.cmd` file (on Windows) or `webui.sh` file (on Linux/Mac) to start the WebUI.\n"
  },
  {
    "path": "docs/1.Installation/2.windows-installation.md",
    "content": "---\ntitle: Manual Windows Installation\n---\n\n<!--\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 Sygil-Dev team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n-->\n\n# Initial Setup\n\n> This is a windows guide. [To install on Linux, see this page.](3.linux-installation.md)\n\n## Pre requisites\n\n### Install Git & Miniconda :\n\n* https://gitforwindows.org/ Download this, and accept all of the default settings it offers except for the default editor selection. Once it asks for what the default editor is, most people who are unfamiliar with this should just choose Notepad because everyone has Notepad on Windows.\n\n![CleanShot 2022-08-31 at 16 29 48@2x](https://user-images.githubusercontent.com/463317/187796320-e6edbb39-dff1-46a2-a1a1-c4c1875d414c.jpg)\n\n* Download Miniconda3:\n  [https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe](https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe) Get this installed so that you have access to the Miniconda3 Prompt Console.\n\n* Open Miniconda3 Prompt from your start menu after it has been installed\n\n* _(Optional)_ Create a new text file in your root directory `/sygil-webui/custom-conda-path.txt` that contains the path to your relevant Miniconda3, for example `C:\\Users\\<username>\\miniconda3` (replace `<username>` with your own username). This is required if you have more than 1 miniconda installation or are using custom installation location.\n\n## Cloning the repo\n\nType `git clone https://github.com/Sygil-Dev/sygil-webui.git` into the prompt.\n\nThis will create the `sygil-webui` directory in your Windows user folder.\n![CleanShot 2022-08-31 at 16 31 20@2x](https://user-images.githubusercontent.com/463317/187796462-29e5bafd-bbc1-4a48-adc8-7eccc174cb62.jpg)\n\n---\n\nOnce a repo has been cloned, updating it is as easy as typing `git pull` inside of Miniconda when in the repo’s topmost directory downloaded by the clone command. Below you can see I used the `cd` command to navigate into that folder.\n\n![CleanShot 2022-08-31 at 16 36 34@2x](https://user-images.githubusercontent.com/463317/187796970-db94402f-717b-43a8-9c85-270c0cd256c3.jpg)\n\n* Next you are going to want to create a Hugging Face account: [https://huggingface.co/](https://huggingface.co/)\n\n* After you have signed up, and are signed in go to this link and click on Authorize: [https://huggingface.co/CompVis/stable-diffusion-v-1-4-original](https://huggingface.co/CompVis/stable-diffusion-v-1-4-original)\n\n* After you have authorized your account, go to this link to download the model weights for version 1.4 of the model, future versions will be released in the same way, and updating them will be a similar process :\n  [https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt](https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/resolve/main/sd-v1-4.ckpt)\n\n* Download the model into this directory: `C:\\Users\\<username>\\sygil-webui\\models\\ldm\\stable-diffusion-v1`\n\n* Rename `sd-v1-4.ckpt` to `model.ckpt` once it is inside the stable-diffusion-v1 folder.\n\n* Since we are already in our sygil-webui folder in Miniconda, our next step is to create the environment Stable Diffusion needs to work.\n\n* _(Optional)_ If you already have an environment set up for an installation of Stable Diffusion named ldm open up the `environment.yaml` file in `\\sygil-webui\\` change the environment name inside of it from `ldm` to `ldo`\n\n---\n\n## First run\n\n* `webui.cmd` at the root folder (`\\sygil-webui\\`) is your main script that you'll always run. It has the functions to automatically do the followings:\n\n  * Create conda env\n  * Install and update requirements\n  * Run the relauncher and webui.py script for gradio UI options\n\n* Run `webui.cmd` by double clicking the file.\n\n* Wait for it to process, this could take some time. Eventually it’ll look like this:\n\n![First successful run](https://user-images.githubusercontent.com/3688500/189009827-66c5df32-be44-4851-a265-6791444f537f.JPG)\n\n* You'll receive warning messages on **GFPGAN**, **RealESRGAN** and **LDSR** but these are optionals and will be further explained below.\n\n* In the meantime, you can now go to your web browser and open the link to [http://localhost:7860/](http://localhost:7860/).\n\n* Enter the text prompt required and click generate.\n\n* You should be able to see progress in your `webui.cmd` window. The [http://localhost:7860/](http://localhost:7860/) will be automatically updated to show the final image once progress reach 100%\n\n* Images created with the web interface will be saved to `\\sygil-webui\\outputs\\` in their respective folders alongside `.yaml` text files with all of the details of your prompts for easy referencing later. Images will also be saved with their seed and numbered so that they can be cross referenced with their `.yaml` files easily.\n\n---\n\n### Optional additional models\n\nThere are three more models that we need to download in order to get the most out of the functionality offered by Sygil-Dev.\n\n> The models are placed inside `src` folder. If you don't have `src` folder inside your root directory it means that you haven't installed the dependencies for your environment yet. [Follow this step](#first-run) before proceeding.\n\n### GFPGAN\n\n1. If you want to use GFPGAN to improve generated faces, you need to install it separately.\n2. Download [GFPGANv1.3.pth](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth) and [GFPGANv1.4.pth](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth) and put it into the `/sygil-webui/models/gfpgan` directory.\n\n### RealESRGAN\n\n1. Download [RealESRGAN_x4plus.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth).\n2. Put them into the `sygil-webui/models/realesrgan` directory.\n\n### LDSR\n\n1. Detailed instructions [here](https://github.com/Hafiidz/latent-diffusion). Brief instruction as follows.\n2. Git clone [Hafiidz/latent-diffusion](https://github.com/Hafiidz/latent-diffusion) into your `/sygil-webui/src/` folder.\n3. Run `/sygil-webui/models/ldsr/download_model.bat` to automatically download and rename the models.\n4. Wait until it is done and you can confirm by confirming two new files in `sygil-webui/models/ldsr/`\n5. _(Optional)_ If there are no files there, you can manually download **LDSR** [project.yaml](https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1) and [model last.cpkt](https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1).\n6. Rename last.ckpt to model.ckpt and place both under `sygil-webui/models/ldsr/`.\n7. Refer to [here](https://github.com/Sygil-Dev/sygil-webui/issues/488) for any issue.\n\n# Credits\n\n> Modified by [Hafiidz](https://github.com/Hafiidz) with helps from Sygil-Dev discord and team.\n"
  },
  {
    "path": "docs/1.Installation/3.linux-installation.md",
    "content": "---\ntitle: Manual Linux Installation\n---\n\n<!--\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 Sygil-Dev team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n-->\n\n### The definitive Stable Diffusion WebUI experience ™ Now 100% Linux Compatible!\n\n#### Created by [Joshua Kimsey](https://github.com/JoshuaKimsey)\n\n> This is a Linux guide. [To install on Windows, see this page](2.windows-installation.md).\n\n**Note: This guide describes how to use the automated installation script created by [Joshua Kimsey](https://github.com/JoshuaKimsey). It is my personal recommendation to use this script as it will automatically handle downloading and updating the repo for you. This is not a requirement to running the Stable Diffusion WebUI on Linux, but you will need to install your own conda environment manually and then run `webui.sh` to run the Stable Diffusion WebUI.**\n\n## Features\n\n- Automates the process of installing and running hlky's fork of Stable Diffusion with the WebUI for Linux-based OS users.\n- Handles updating from the hlky fork automatically if the users wishes to do so.\n- Allows the user to preset their configs for running their setup (Gradio version only).\n\n## Initial Start Guide\n\n**Note:** This guide assumes you have installed Anaconda already, and have it set up properly. If you have not, please visit the [Anaconda](https://www.anaconda.com/products/distribution) website to download the file for your system and install it.\n\n**WARNING: Multiple Linux users have reported issues using this script, and potentially Stable Diffusion in general, with Miniconda. As such, I can not recommend using it due to these issues with unknown causes. Please use the full release of Anaconda instead.**\n\n**Step 1:** Create a folder/directory on your system and place this [script](https://github.com/JoshuaKimsey/Linux-StableDiffusion-Script/blob/main/linux-sd.sh) in it, named `linux-sd.sh`. This directory will be where the files for Stable Diffusion will be downloaded.\n\n**Step 2:** Download the 1.4 AI model from HuggingFace (or another location, the original guide has some links to mirrors of the model) and place it in the same directory as the script.\n\n**Step 3:** Make the script executable by opening the directory in your Terminal and typing `chmod +x linux-sd.sh`, or whatever you named this file as.\n\n**Step 4:** Run the script with `./linux-sd.sh`, it will begin by cloning the [WebUI Github Repo](https://github.com/Sygil-Dev/sygil-webui) to the directory the script is located in. This folder will be named `sygil-webui`.\n\n**Step 5:** The script will pause and ask that you move/copy the downloaded 1.4 AI models to the `sygil-webui` folder. Press Enter once you have done so to continue.\n\n**If you are running low on storage space, you can just move the 1.4 AI models file directly to this directory, it will not be deleted, simply moved and renamed. However my personal suggestion is to just **copy** it to the repo folder, in case you desire to delete and rebuild your Stable Diffusion build again.**\n\n**Step 6:** Next, the script will ask if you wish to customize any of the launch arguments for the Gradio WebUI Interface. If yes, then a series of options will be presented to the user:\n    - Use the CPU for Extra Upscaler Models to save on VRAM\n    - Automatically open a new browser window or tab on first launch\n    - Use Optimized mode for Ultimate Stable Diffusion, which only requires 4GB of VRAM at the cost of speed\n    - Use Optimized Turbo which uses more VRAM than regular optimized, but is faster (Incompatible with regular optimized mode)\n    - Open a public xxxxx.gradi.app URL to share your interface with others (Please be careful with this, it is a potential security risk)\n\nThe user will have the ability to set these to yes or no using the menu choices.\n\n**Note: These only apply to the Gradio WebUI interface. The Streamlit Interface version has/will have the ability to set its own preferences from within the WebUI**\n\n**Step 7:** The script will then proceed to call the `webui.sh` file within the repo folder. This will handle the creation and updating of the conda environment, named `ldm`, as well as handle the downloading of the upsclaer models used by both Streamlit and Gradio. It will also download the Concepts Library for using custom models in the Streamlit version.\n\n**Building the Conda environment may take upwards of 15 minutes, depending on your network connection and system specs. This is normal, just leave it be and let it finish. If you are trying to update and the script hangs at `Installing PIP Dependencies` for more than 10 minutes, you will need to `Ctrl-C` to stop the script, delete your `src` folder, and rerun `linux-sd.sh` again.**\n\n**Step 8:** Once the conda environment has been created and the upscaler models have been downloaded, then the user is presented with a choice to choose between the Streamlit or Gradio versions of the WebUI Interface.\n    - Streamlit:\n        - Has A More Modern UI\n        - More Features Planned\n        - Will Be The Main UI Going Forward\n        - Currently In Active Development\n        - Missing Some Gradio Features\n\n    - Gradio:\n        - Currently Feature Complete\n        - Uses An Older Interface Style\n        - Will Not Receive Major Updates\n\n**Step 9:** If everything has gone successfully, either a new browser window will open with the Streamlit version, or you should see `Running on local URL:  http://localhost:7860/` in your Terminal if you launched the Gradio Interface version. Generated images will be located in the `outputs` directory inside of `sygil-webui`. Enjoy the definitive Stable Diffusion WebUI experience on Linux! :)\n\n## Ultimate Stable Diffusion Customizations\n\nWhen running the script again after the initial use, the user will be presented with a choice to run Stable Diffusion with the last used parameters used to launch it. If the user chooses `Yes`, then all customization steps will be skipped and the Stable Diffusion WebUI will launch without pulling in new updates.\n\nIf the user chooses to Customize their setup, then they will be presented with these options on how to customize their Ultimate Stable Diffusion setup:\n\n- Update the Stable Diffusion WebUI fork from the GitHub Repo\n- Customize the launch arguments for Gradio Interface version of Stable Diffusion (See Above)\n\n### Refer back to the original [WebUI Github Repo](https://github.com/Sygil-Dev/sygil-webui) for useful tips and links to other resources that can improve your Stable Diffusion experience\n\n## Planned Additions\n\n- Investigate ways to handle Anaconda automatic installation on a user's system.\n"
  },
  {
    "path": "docs/1.Installation/4.docker-guide.md",
    "content": "---\ntitle: Running Stable Diffusion WebUI Using Docker\n---\n<!--\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 sd-webui team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n-->\n\n## Running prebuilt image\n\nThe easiest way to run Stable Diffusion WebUI is to use the prebuilt image from Docker Hub.\n\n```bash\ndocker pull tukirito/sygil-webui:latest\n```\nThis image includes the barebones environment to run the Web UI. The models will be downloaded during the installation process. You will have to take care of the volume for the `sd/models` directory.\n\n\nYou can run the image using the following command:\n```bash\ndocker container run --rm -d -p 8501:8501 -e STREAMLIT_SERVER_HEADLESS=true -e \"WEBUI_SCRIPT=webui_streamlit.py\" -e \"VALIDATE_MODELS=false\" -v \"${PWD}/outputs:/sd/outputs\" --gpus all tukirito/sygil-webui:latest\n```\n\n> Note: if you are running it on your local machine the output directory will be created in the current directory from where you run this command.\n\n## Building the image\n\nThis Docker environment is intended to speed up development and testing of Stable Diffusion WebUI features. Use of a container image format allows for packaging and isolation of Stable Diffusion / WebUI's dependencies separate from the Host environment.\n\nYou can use this Dockerfile to build a Docker image and run Stable Diffusion WebUI locally.\n\n\nRequirements:\n* Host computer is AMD64 architecture (e.g. Intel/AMD x86 64-bit CPUs)\n* Host computer operating system (Linux or Windows with WSL2 enabled)\n    * See [Microsoft WSL2 Installation Guide for Windows 10] (https://learn.microsoft.com/en-us/windows/wsl/) for more information on installing.\n    * Ubuntu (Default) for WSL2 is recommended for Windows users\n* Host computer has Docker, or compatible container runtime\n    * Docker Compose (v1.29+) or later\n    * See [Install Docker Engine] (https://docs.docker.com/engine/install/#supported-platforms) to learn more about installing Docker on your Linux operating system\n* 10+ GB Free Disk Space (used by Docker base image, the Stable Diffusion WebUI Docker image for dependencies, model files/weights)\n\nAdditional Requirements:\n* Host computer is equipped with a CUDA-compatible GPU (e.g. Nvidia RTX 2xxx, 3000x)\n* NVIDIA Container Toolkit is installed\n    * See [NVIDIA Container Toolkit Installation Guide] (https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#supported-platforms \"Official NVIDIA Installation Guide\") for more information on installing.\n\nOther Notes:\n* \"Optional\" packages commonly used with Stable Diffusion WebUI workflows such as, RealESRGAN, GFPGAN, will be installed by default.\n* An older version of running Stable Diffusion WebUI using Docker exists here: https://github.com/Sygil-Dev/sygil-webui/discussions/922\n\n### But what about AMD?\nThere is tentative support for AMD GPUs through docker which can be enabled via `docker-compose.amd.yml`,\nalthough this is still in the early stages. Right now, this _only_ works on native linux (not WSL2) due\nto issues with AMDs support of GPU passthrough. You also _must_ have ROCm drivers installed on the host.\n```\n    docker compose -f docker-compose.yml -f docker-compose.amd.yml ...\n```\nor, by setting\n```\n    export COMPOSE_FILE=docker-compose.yml:docker-compose.amd.yml\n```\nin your `.profile` or through a tool like `direnv`\n\n\n---\n\n## First-Time Startup Instructions\n\n### Clone Repository\n\n* Clone this repository to your host machine:\n  * `git clone https://github.com/Sygil-Dev/sygil-webui.git`\n* If you plan to use Docker Compose to run the image in a container (most users), create an `.env_docker` file using the example file:\n  * `cp .env_docker.example .env_docker`\n  * Edit `.env_docker` using the text editor of your choice.\n  * Ensure `VALIDATE_MODELS` is set to `true`\n\n    > Options available in `.env_docker` allow you to control automatic model file checking/download during startup, and to select the Stable Diffusion WebUI implementation to run (Gradio vs Streamlit). You may the set `VALIDATE_MODELS` option to `false` after the initial run (once models are downloaded) to speed up startup time.\n\n### Create a Container Instance Using Docker Compose\n\nThe default `docker-compose.yml` file  will create a Docker container instance named `sd-webui`\n\n* Create an instance of the Stable Diffusion WebUI image as a Docker container:\n  * `docker compose up`\n* During the first run, the container image will be build containing all of the dependencies necessary to run Stable Diffusion. This build process will take several minutes to complete\n  * After the image build has completed, you will have a docker image for running the Stable Diffusion WebUI tagged `sygil-webui:dev`\n\n(Optional) Daemon mode:\n\n* You can start the container in \"daemon\" mode by applying the `-d` option:  `docker compose up -d`. This will run the server in the background so you can close your console window without losing your work.\n* When running in daemon mode, you can view logging output from your container by running `docker logs sd-webui`\n\n> Note: Depending on your version of Docker/Docker Compose installed, the command may be `docker-compose` (older versions) or `docker compose` (newer versions)\n\n### Accessing your Stable Diffusion WebUI Instance\n\nThe container may take several minutes to start up if model weights/checkpoints need to be downloaded. You can view progress via `docker compose ps` to see the current status or by checking the logs using `docker compose logs`.\n\nDepending on the WebUI implementation you selected in `.env_docker`, you can access the WebUI at the following URLs:\n\n* Gradio:  http://localhost:7860\n* Streamlit:  http://localhost:8501\n\nYou can expose and access your WebUI to/from remote hosts by the machine's IP address:\n(note: This generally does not apply to Windows/WSL2 users due to WSL's implementation)\n\n* Gradio:  http://\\<host-ip-address\\>:7860\n* Streamlit:  http://\\<host-ip-address\\>:8501\n\n### Where is ___ stored?\n\nBy default, model weights/checkpoint files will be stored at the following path:\n\n* `./model_cache/`\n\nOutput files generated by Stable Diffusion will be stored at the following path:\n\n* `./output/`\n\nThe above paths will be accessible directly from your Docker container's host.\n\n### Shutting down your Docker container\n\nYou can stop your Docker container by pressing the `CTRL+C` key combination in the terminal where the container was started..\n\nIf you started the container using `docker compose`, you can stop the container with the command:\n\n* `docker compose down`\n\nUsing the default configuration, your Stable Diffusion output, cached model weights/files, etc will persist between Docker container starts.\n\n---\n\n## Resetting your Docker environment\n\nShould you need to do so, the included `docker-reset.sh` script will remove all docker images, stopped containers, and cached model weights/checkpoints.\n\nYou will need to re-download all associated model files/weights used by Stable Diffusion WebUI, which total to several gigabytes of data. This will occur automatically upon the next startup.\n\n## Misc Related How-to\n\n* You can obtain shell access to a running Stable Diffusion WebUI container started with Docker Compose with either of the following commands:\n  * `docker exec -it st-webui /bin/bash`\n  * `docker compose exec stable-diffusion bash`\n* To start a container using the Stable Diffusion WebUI Docker image without Docker Compose, you can do so with the following command:\n  * `docker run --rm -it --entrypoint /bin/bash sygil-webui:dev`\n* To start a container, with mapped ports, GPU resource access, and a local directory bound as a container volume, you can do so with the following command:\n  * `docker run --rm -it -p 8501:8501 -p 7860:7860 --gpus all -v $(pwd):/sd --entrypoint /bin/bash sygil-webui:dev`\n\n---\n\n## Dockerfile Implementation Notes\n\nCompared to base Stable Diffusion distribution, Conda-based package management was removed.\n\nThe Pytorch base image with Nvidia CUDA support is used as the base Docker image to simplify dependencies.\n\nPython dependency requirements for various packages used by Stable Diffusion WebUI have been separated into different groups. During the container image build process, requirements are installed in the following order:\n\n1. Stable Diffusion (core) requirements (`sd_requirements.txt`)\n2. General Requirements (`requirements.txt`)\n3. External optional packages requirements (`ext_requirements.txt`)\n4. WebUI requirements (`ui_requirements.txt`)\n\nPython package dependencies have been version-pinned where possible.\n\n**Developers:  When developing new features or making changes to the environment that require dependency changes, please update and make notes in the appropriate file to help us better track and manage dependencies.**\n\n### Other Notes\n\n* The `root_profile` Docker Volume\n  * The `huggingface/transformers` package will download files to a cache located at `/root/.cache/huggingface/transformers` totalling nearly ~1.6 GB\n"
  },
  {
    "path": "docs/2.Streamlit/1.streamlit-interface.md",
    "content": "# Streamlit Web UI Interface\n\n## Features:\n\n- Clean and easy to use UI: A clean and simple UI with an easy to use design.\n\n- Support for widescreen displays.\n\n- Dynamic Image Preview: This allows you to see how your image is looking during the generation process in real time or near real time (no more waiting until the end to see your image).\n\n- Stop Button: A stop button to stop your generation mid-way if you do not like how your result is looking based on the image preview.\n\n- An integrated gallery to show the generations for a prompt or session (Coming soon!)\n\n- Better optimization VRAM usage optimization, less errors for bigger generations.\n\n- Ability to load and use almost any `ckpt` models or model from HuggingFace.\n\n- Text2Video: Generate video clips from text prompts right from the Web UI thanks to Diffusion Walk.\n\n- Concepts Library: Easy to browse and use textual inversion library of custom embeddings others people (or yourself) have made via textual inversion.\n\n- Textual Inversion: Allow you to create your own embeddings from images and use them in the UI.\n\n- Actively being developed with new features being added and planned - Stay Tuned!\n\n- Streamlit is now the new primary UI for the project moving forward.\n\n- *Currently in active development but still missing some of the features present in the Gradio Interface (Post-Processing tab).*\n\n---\n\n## Text To Image\n\n![](../../images/streamlit/streamlit-t2i.png)\n\nStreamlit Text2Image allows for a modern, but well known, Stable Diffusion Textual Image generation experience. Here is a quick description of some of the features of Text2Image and what they do:\n\n- Width and Height: Control the size of the generated image (Default is 512px)\n- Classifier Free Guidance (CFG): How closely the final image should follow your prompt (Default is 7.5)\n- Seed: The number (or word) used to generate an image with.\n- Images Per Batch: The number of images to generate consecutively (Does not affect VRAM usage)\n- Number of Batches: How many images to generate at once (Very VRAM Intensive)\n- Sampling Steps: The quality of the final output, higher is better (Default is 30)\n- Sampling Method: Which sampler to use to generate the image (Default is `k_euler`)\n\n---\n\n## Image To Image\n\n![](../../images/streamlit/streamlit-i2i.png)\n\nStreamlit Image2Image allows for you to take an image, be it generated by Stable Diffusion or otherwise, and use it as a base for another generation. This has the potential to really enhance images and fix issues with initial Text2Image generations. It also includes some built-in drawing and masking tools to help create custom generations. Some notable features of Gradio Image2Image are:\n\n- Image Editor Mode: Choose whether you wish to mask, crop, or uncrop the image\n- Mask Mode: Allows you to decide if a drawn mask should be generated or kept\n- Denoising Strength: How much of the generated image should replace the original image. (default is 75%)\n- Width and Height: Control the size of the generated image (Default is 512px)\n- Classifier Free Guidance (CFG): How closely the final image should follow your prompt (Default is 7.5)\n- Seed: The number (or word) used to generate an image with\n- Images Per Batch: The number of images to generate consecutively (Does not affect VRAM)\n- Number of Batches: How many images to generate at once (Very VRAM Intensive)\n- Sampling Steps: The quality of the final output, higher is better (Default is 30)\n- Sampling Method: Which sampler to use to generate the image (Default is `k_euler`)\n\n## Text To Video\n\n---\n\n![](../../images/streamlit/streamlit-t2v.png)\n\nThe Text2Video tab allow you to generate videos based on a text prompt, it does so by using diffusion walk which generates images using txt2img and then interpolate them in order to walk between prompts or parts of a prompt. As of right now you can only use a single prompt which is then duplicated based on the number of seeds you use.\n\n#### Options:\n\n- Width: The width in pixels for your output image.\n\n- Height: The height in pixels for your output image.\n\n- CFG: How close you want clip to guide the generation toward your prompt.\n\n- Seed: Seed to use during generation, can be an integer, a word or several integers and words separated by comma. When multiple seeds are used the resulting video might be more consistent than when using a single seed.\n\n- Max Duration in Seconds: How long your video should be in seconds.\n\n- Custom Model: A list of models from the HuggingFace website to use, any model hosted on HuggingFace can be used for txt2vid. To add a new model to this list you need to edit the config file on `configs/webui/userconfig_streamlit.yaml`, find the `txt2vid` section and add your model under `custom_models_list`, use other models there for reference on how the format should looks like.\n\n- Sampling Steps: How many steps to perform on an image, this can be seen as the amount of denoising steps performed on the image, higher values mean you get an image with less noise, it also affects the amount of repetition on the image you will get. For higher resolutions with short prompts and long prompts with low resolution you need to increase the number of samplings steps to get a better result, otherwise the amount of repetition on the image will increase exponentially if you use a lower sampling steps value.\n\n- Inference Steps: Extra denoising steps performed between frames/images. This helps make the video more consistent and jump less around, higher values are always better but will make it so the video takes longer for generate.\n\n- Scheduler: Scheduler to use for inference.\n\n- Beta Schedule Type: Scheduler type to use.\n\n## SD Concepts Library\n\n---\n\n![](../../images/streamlit/streamlit-concepts.png)\n\nThe Concept Library allows for the easy usage of custom textual inversion models. These models may be loaded into `models/custom/sd-concepts-library` and will appear in the Concepts Library in Streamlit. To use one of these custom models in a prompt, either copy it using the button on the model, or type `<model-name>` in the prompt where you wish to use it.\n\nPlease see the [Concepts Library](https://github.com/Sygil-Dev/sygil-webui/blob/master/docs/7.concepts-library.md) section to learn more about how to use these tools.\n\n## Textual Inversion\n\n---\n\nTextual Inversion allows you to create your own embed files training the model in a few images to teach it a new concept based on what is already in the original model, this is fast and do not need too many resources to do so. You can train a new concept to use on the Concepts Library with Textual Inversion, once you finish training it you can then use it on the concepts library.\n\n## Model Manager\n\n---\n\n![](../../images/streamlit/streamlit-model-manager.png)\n\nThe Model Manager page allows you to download models with the click of a button, instead of having to go and manually find the link to download a model and then finding where to put it on your disk for the app to detect it we made it so the Model Manager page does most of the heavy lifting for you.\n\n## Tools\n\nThis section is a work in progress.\n\nThe idea behind it is to provide extra tools for advanced users to do things they need that are not possible with other normal pages. This is intended mainly for developers or technical people wanting to do more than just basic stuff with the UI and even integrating their own things into it.\n\n## Settings\n\n---\n\n![](../../images/streamlit/streamlit-settings.png)\n\nThe Settings page allows you to customize how you want Streamlit to run. These changes will be saved to a personalized user setting file in `configs/webui/userconfig_streamlit.yaml`, this file is independent from the defaults file located in `configs/webui/webui_streamlit.yaml` and will not be reset after updates unless a mayor change that would break some options is released, in which case this file will be reset to the defaults values and you would need to configure your settings on the Settings page again. After editing the settings on the Settings page you need to scroll down and hit the `Save` button for it to take effect, you can also use the `Reset` button to reset your settings manually to the defaults in case you made a mistake with any of your settings and you need to reset them, so, feel free to experiment with them and test which settings work best for you and which don't.\n"
  },
  {
    "path": "docs/3.Gradio/2.gradio-interface.md",
    "content": "# Gradio Web UI Interface\n\n:::danger Warning\n\nThe Gradio WebUI is considered legacy or deprecated, it is no longer being maintained and it lacks several features compared to new versions. Always try to use the most recent version of our UI when possible.\n\n:::\n\n### Gradio Web UI Features:\n\n- Older UI design that is fully functional and feature complete.\n- Has access to all upscaling models, including LSDR.\n- Dynamic prompt entry automatically changes your generation settings based on `--params` in a prompt.\n- Includes quick and easy ways to send generations to Image2Image or the Image Lab for upscaling.\n- *Note, the Gradio interface is no longer being actively developed and is only receiving bug fixes.*\n\n### Launching The Gradio Web UI\n\nTo launch the Gradio Web UI, you will need to do the following:\n\n- Windows:\n  - Open your command line in the repo folder and run the `webui.cmd` file.\n- Linux:\n  - Open your terminal to the repo folder and run `webui.sh`, then press `2` when prompted.\n- Manually:\n  - Open your terminal to the repo folder.\n  - Activate the conda environment using `conda activate ldm`\n  - Run the command `python scripts/relauncher.py`\n\nOnce the Gradio Web UI launches, a link will appear in your command line or terminal, click or copy and paste that link into your browser to access the interface.\n\n## Text2Image\n\n![](../../images/gradio/gradio-t2i.png)\n\nGradio Text2Image allows for the classic and well known Stable Diffusion Textual Image generation. Here is a quick description of some of the features of Text2Image and what they do:\n\n- Width and Height: Control the size of the generated image (Default is 512px)\n- Classifer Free Guidance (CFG): How closely the final image should follow your prompt (Default is 7.5)\n- Seed: The number (or word) used to generate an image with\n- Images Per Batch: The number of images to generate consecutively (Does not affect VRAM)\n- Number of Batches: How many images to generate at once (Very VRAM Intensive)\n- Sampling Steps: The quality of the final output, higher is better with dimiishing returns (Default is 50)\n- Sampling Method: Which sampler to use to generate the image (Default is `k_lms`)\n- Push to Img2Img: Send the image to the Image2Image tool to continue working with it via Stable Diffusion\n- Send to Image Lab: Send the image to the Image Lab for Enhancement and Upscaling.\n\n## Image2Image\n\n---\n\n![](../../images/gradio/gradio-i2i.png)\n\nGradio Image2Image allows for you to take an image, be it generated by Stable Diffusion or otherwise, and use it as a base for another generation. This has the potential to really enhance images and fix issues with initial Text2Image generations. It also includes some built-in drawing and masking tools to help create custom generations. Some notable features of Gradio Image2Image are:\n\n- Image Editor Mode: Choose whether you wish to mask, crop, or uncrop the image\n- Mask Mode: Allows you to decide if a drawn mask should be generated or kept\n- Denoising Strength: How much of the generated image should replace the original image. (default is 70%)\n- Width and Height: Control the size of the generated image (Default is 512px)\n- Classifier Free Guidance (CFG): How closely the final image should follow your prompt (Default is 7.5)\n- Seed: The number (or word) used to generate an image with\n- Images Per Batch: The number of images to generate consecutively (Does not affect VRAM)\n- Number of Batches: How many images to generate at once (Very VRAM Intensive)\n- Sampling Steps: The quality of the final output, higher is better (Default is 50)\n- Sampling Method: Which sampler to use to generate the image (Default is `k_lms`)\n\n## Image Lab\n\n---\n\n![](../../images/gradio/gradio-upscale.png)\n\nThe Gradio Image Lab is a central location to access image enhancers and upscalers. Though some options are available in all tabs (GFPGAN and realESRGAN), the Image Lab is where all of these tools may be easily accessed. These upscalers can be used for generated images sent to the lab, or on other images uploaded to it. The tools included here are:\n\n- GFPGAN: Fixes and enhances faces\n- realESRGAN: A 4x upscaler that uses a GAN to achieve its results\n- GoBig: A 2x upscaler that uses realESRGAN, but preserves more detail\n- LSDR: A 4x upscaler that uses Latent Diffusion, preserving a lot more detail at the cost of speed and VRAM\n- GoLatent: Uses LSDR to do a 4x upscale, then GoBig to make a final 8x upscale with great detail preservation.\n\nPlease see the [Image Enhancers](../4.post-processing.md) section to learn more about how to use these tools.\n\n## Scene2Image\n\n---\n\n![](../../images/gradio/gradio-s2i.png)\n\nGradio Scene2Image allows you to define layers of images in a markdown-like syntax.\n\n> Would it be possible to have a layers system where we could do have\n> foreground, mid, and background objects which relate to one another and\n> share the style? So we could say generate a landscape, one another layer\n> generate a castle, and on another layer generate a crowd of people.\n\nYou write a a multi-line prompt that looks like markdown, where each section declares one layer.\nIt is hierarchical, so each layer can have their own child layers.\nIn the frontend you can find a brief documentation for the syntax, examples and reference for the various arguments.\nHere a summary:\n\nMarkdown headings, e.g. '# layer0', define layers.\nThe content of sections define the arguments for image generation.\nArguments are defined by lines of the form 'arg:value' or 'arg=value'.\n\nLayers are hierarchical, i.e. each layer can contain more layers.\nThe number of '#' increases in the headings of a child layers.\nChild layers are blended together by their image masks, like layers in image editors.\nBy default alpha composition is used for blending.\nOther blend modes from [ImageChops](https://pillow.readthedocs.io/en/stable/reference/ImageChops.html) can also be used.\n\nSections with \"prompt\" and child layers invoke Image2Image, without child layers they invoke Text2Image.\nThe result of blending child layers will be the input for Image2Image.\n\nWithout \"prompt\" they are just images, useful for mask selection, image composition, etc.\nImages can be initialized with \"color\", resized with \"resize\" and their position specified with \"pos\".\nRotation and rotation center are \"rotation\" and \"center\".\n\nMask can automatically be selected by color, color at pixels of the image, or by estimated depth.\n\nYou can chose between two different depth estimation models, see frontend reference for name of arguments.\n[Monocular depth estimation](https://huggingface.co/spaces/atsantiago/Monocular_Depth_Filter) can be selected as depth model `0`.\n[MiDaS depth estimation](https://huggingface.co/spaces/pytorch/MiDaS), used by default, can be selected as depth model `1`.\n\nDepth estimation can be used for traditional 3d reconstruction.\nUsing `transform3d=True` the pixels of an image can be rendered from another perspective or with a different field of view.\nFor this you specify pose and field of view that corresponds to the input image and a desired output pose and field of view.\nThe poses describe the camera position and orientation as x,y,z,rotate_x,rotate_y,rotate_z tuple with angles describing rotations around axes in degrees.\nThe camera coordinate system is the pinhole camera as described and pictured in [OpenCV \"Camera Calibration and 3D Reconstruction\" documentation](https://docs.opencv.org/4.x/d9/d0c/group__calib3d.html).\n\nWhen the camera pose `transform3d_from_pose` where the input image was taken is not specified, the camera pose `transform3d_to_pose` to which the image is to be transformed is in terms of the input camera coordinate system:\nWalking forwards one depth unit in the input image corresponds to a position `0,0,1`.\nWalking to the right is something like `1,0,0`.\nGoing downwards is then `0,1,0`.\n\n## Gradio Optional Customizations\n\n---\n\nGradio allows for a number of possible customizations via command line arguments/terminal parameters. If you are running these manually, they would need to be run like this: `python scripts/webui.py --param`. Otherwise, you may add your own parameter customizations to `scripts/relauncher.py`, the program that automatically relaunches the Gradio interface should a crash happen.\n\nInside of `relauncher.py` are a few preset defaults most people would likely access:\n\n```\n# Run upscaling models on the CPU\nextra_models_cpu = False\n\n# Automatically open a new browser window or tab on first launch\nopen_in_browser = False\n\n# Run Stable Diffusion in Optimized Mode - Only requires 4Gb of VRAM, but is significantly slower\noptimized = False\n\n# Run in Optimized Turbo Mode - Needs more VRAM than regular optimized mode, but is faster\noptimized_turbo = False\n\n# Creates a public xxxxx.gradio.app share link to allow others to use your interface (requires properly forwarded ports to work correctly)\nshare = False\n\n# Generate tiling images\ntiling = False\n```\n\nSetting any of these to `True` will enable those parameters on every launch. Alternatively, if you wish to enable a `--parameter` not listed here, you can enter your own custom ones in this field inside of `scripts/relauncher.py`:\n\n```\n# Enter other `--arguments` you wish to use - Must be entered as a `--argument ` syntax\nadditional_arguments = \"\"\n```\n\n## List of command line options\n\n---\n\nThis is a list of the full set of optional parameters you can launch the Gradio Interface with.\n\n```\nusage: webui.py [-h] [--ckpt CKPT] [--cli CLI] [--config CONFIG] [--defaults DEFAULTS] [--esrgan-cpu] [--esrgan-gpu ESRGAN_GPU] [--extra-models-cpu] [--extra-models-gpu] [--gfpgan-cpu] [--gfpgan-dir GFPGAN_DIR] [--gfpgan-gpu GFPGAN_GPU] [--gpu GPU]\n                [--grid-format GRID_FORMAT] [--inbrowser] [--ldsr-dir LDSR_DIR] [--n_rows N_ROWS] [--no-half] [--no-progressbar-hiding] [--no-verify-input] [--optimized-turbo] [--optimized] [--outdir_img2img [OUTDIR_IMG2IMG]] [--outdir_imglab [OUTDIR_IMGLAB]]\n                [--outdir_txt2img [OUTDIR_TXT2IMG]] [--outdir [OUTDIR]] [--filename_format [FILENAME_FORMAT]] [--port PORT] [--precision {full,autocast}] [--realesrgan-dir REALESRGAN_DIR] [--realesrgan-model REALESRGAN_MODEL] [--save-metadata]\n                [--share-password SHARE_PASSWORD] [--share] [--skip-grid] [--skip-save] [--no-job-manager] [--max-jobs MAX_JOBS] [--tiling]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --ckpt CKPT           path to checkpoint of model (default: models/ldm/stable-diffusion-v1/model.ckpt)\n  --cli CLI             don't launch web server, take Python function kwargs from this file. (default: None)\n  --config CONFIG       path to config which constructs model (default: configs/stable-diffusion/v1-inference.yaml)\n  --defaults DEFAULTS   path to configuration file providing UI defaults, uses same format as cli parameter (default: configs/webui/webui.yaml)\n  --esrgan-cpu          run ESRGAN on cpu (default: False)\n  --esrgan-gpu ESRGAN_GPU\n                        run ESRGAN on specific gpu (overrides --gpu) (default: 0)\n  --extra-models-cpu    run extra models (GFGPAN/ESRGAN) on cpu (default: False)\n  --extra-models-gpu    run extra models (GFGPAN/ESRGAN) on gpu (default: False)\n  --gfpgan-cpu          run GFPGAN on cpu (default: False)\n  --gfpgan-dir GFPGAN_DIR\n                        GFPGAN directory (default: ./GFPGAN)\n  --gfpgan-gpu GFPGAN_GPU\n                        run GFPGAN on specific gpu (overrides --gpu) (default: 0)\n  --gpu GPU             choose which GPU to use if you have multiple (default: 0)\n  --grid-format GRID_FORMAT\n                        png for lossless png files; jpg:quality for lossy jpeg; webp:quality for lossy webp, or webp:-compression for lossless webp (default: jpg:95)\n  --inbrowser           automatically launch the interface in a new tab on the default browser (default: False)\n  --ldsr-dir LDSR_DIR   LDSR directory (default: ./LDSR)\n  --n_rows N_ROWS       rows in the grid; use -1 for autodetect and 0 for n_rows to be same as batch_size (default: -1) (default: -1)\n  --no-half             do not switch the model to 16-bit floats (default: False)\n  --no-progressbar-hiding\n                        do not hide progressbar in gradio UI (we hide it because it slows down ML if you have hardware accleration in browser) (default: False)\n  --no-verify-input     do not verify input to check if it's too long (default: False)\n  --optimized-turbo     alternative optimization mode that does not save as much VRAM but runs siginificantly faster (default: False)\n  --optimized           load the model onto the device piecemeal instead of all at once to reduce VRAM usage at the cost of performance (default: False)\n  --outdir_img2img [OUTDIR_IMG2IMG]\n                        dir to write img2img results to (overrides --outdir) (default: None)\n  --outdir_imglab [OUTDIR_IMGLAB]\n                        dir to write imglab results to (overrides --outdir) (default: None)\n  --outdir_txt2img [OUTDIR_TXT2IMG]\n                        dir to write txt2img results to (overrides --outdir) (default: None)\n  --outdir [OUTDIR]     dir to write results to (default: None)\n  --filename_format [FILENAME_FORMAT]\n                        filenames format (default: None)\n  --port PORT           choose the port for the gradio webserver to use (default: 7860)\n  --precision {full,autocast}\n                        evaluate at this precision (default: autocast)\n  --realesrgan-dir REALESRGAN_DIR\n                        RealESRGAN directory (default: ./RealESRGAN)\n  --realesrgan-model REALESRGAN_MODEL\n                        Upscaling model for RealESRGAN (default: RealESRGAN_x4plus)\n  --save-metadata       Store generation parameters in the output png. Drop saved png into Image Lab to read parameters (default: False)\n  --share-password SHARE_PASSWORD\n                        Sharing is open by default, use this to set a password. Username: webui (default: None)\n  --share               Should share your server on gradio.app, this allows you to use the UI from your mobile app (default: False)\n  --skip-grid           do not save a grid, only individual samples. Helpful when evaluating lots of samples (default: False)\n  --skip-save           do not save indiviual samples. For speed measurements. (default: False)\n  --no-job-manager      Don't use the experimental job manager on top of gradio (default: False)\n  --max-jobs MAX_JOBS   Maximum number of concurrent 'generate' commands (default: 1)\n  --tiling              Generate tiling images (default: False)\n```\n"
  },
  {
    "path": "docs/4.post-processing.md",
    "content": "---\ntitle: Post Processing\n---\n<!--\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 Sygil-Dev team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n-->\n\n\n\nIncluded with both versions of the Web UI Interface are a series of image restorers and upscalers. They are included to help users create outputs with restored features, such as better faces, or at larger resolutions than Stable Diffusion is able to natively output.\n\n## GFPGAN\n---\n\n![](../images/GFPGAN.png)\n\nGFPGAN is designed to help restore faces in Stable Diffusion outputs. If you have ever tried to generate images with people in them, you know why having a face restorer can come in handy. This is where GFPGAN comes in handy. It uses it's own GAN to detect and restore the faces of subjects within an image. It greatly helps to enhance the details in human faces, while also fixing issues with asymmetry or awkward looking eyes.\n\nIf you want to use GFPGAN to improve generated faces, you need to download the models for it separately if you are on Windows or doing so manually on Linux.\nDownload [GFPGANv1.3.pth](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth) and put it\ninto the `/sygil-webui/models/gfpgan` directory after you have setup the conda environment for the first time.\n\n## RealESRGAN\n\n---\n\n![](../images\\RealESRGAN.png)\n\nRealESRGAN is a 4x upscaler built into both versions of the Web UI interface. It uses its own GAN to upscale images while retaining details of an image. Two different versions of RealESRGAN can be used, `RealESRGAN 4X` and `RealESRGAN 4X Anime`. Despite the name, don't hesitate to try either version when upscaling an image to see which works best for a given output.\n\nIf you want to use RealESRGAN to upscale your images, you need to download the models for it separately if you are on Windows or doing so manually on Linux.\nDownload [RealESRGAN_x4plus.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth) and [RealESRGAN_x4plus_anime_6B.pth](https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth).\nPut them into the `sygil-webui/models/realesrgan` directory after you have setup the conda environment for the first time.\n\n## GoBig (Gradio only currently)\n\n---\n\nGoBig is a 2X upscaler that uses RealESRGAN to upscale the image and then slice it into small parts, each part gets diffused further by SD to create more details, great for adding and increasing details but will change the composition, might also fix issues like eyes etc. The settings are similar to Image2Image, with regards to strength and seed of the generation.\n\nTo use GoBig, you will need to download the RealESRGAN models as directed above.\n\n## Latent Diffusion Super Resolution - LSDR (Gradio only currently)\n\n---\n\nLSDR is a 4X upscaler with high VRAM usage that uses a Latent Diffusion model to upscale the image. This will accentuate the details of an image, but won't change the composition. This might introduce sharpening, but it is great for textures or compositions with plenty of details. However, it is slower and will use more VRAM.\n\nIf you want to use LSDR to upscale your images, you need to download the models for it separately if you are on Windows or doing so manually on Linux.\nDownload the LDSR [project.yaml](https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1) and [ model last.cpkt](https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1). Rename `last.ckpt` to `model.ckpt` and place both in the `sygil-webui/models/ldsr` directory after you have setup the conda environment for the first time.\n\n## GoLatent (Gradio only currently)\n\n---\n\nGoLatent is an 8X upscaler with high VRAM usage. It uses GoBig to add details and then uses a Latent Diffusion (LSDR) model to upscale the image. This will result in less artifacts and sharpening. Use the settings to feed GoBig settings that will contribute to the result. Please note, this mode is considerably slower and uses significantly more VRAM.\n\nTo use GoLatent, you will need to download the appropriate LSDR models as described above.\n\n---\n\n## Future Additions\n\nCurrently, these are the 4 main enhancers and upscalers used in the project, but more may be implemented in the future. Stay Tuned!\n"
  },
  {
    "path": "docs/5.concepts-library.md",
    "content": "# SD Concepts Library\n\n## SD Concepts Library\n\n---\n\n![](../images/streamlit/streamlit-concepts.png)\n\nThe Concept Library allows for the easy usage of custom textual inversion models. These models may be loaded into `models/custom/sd-concepts-library` and will appear in the Concepts Library in Streamlit. To use one of these custom models in a prompt, either copy it using the button on the model, or type `<model-name>` in the prompt where you wish to use it.\n"
  },
  {
    "path": "docs/6.custom-models.md",
    "content": "# Custom Models\n\n<!--\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 Sygil-Dev team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n-->\n\nYou can use other *versions* of Stable Diffusion, and *fine-tunes* of Stable Diffusion.\n\nAny model with the `.ckpt` extension can be placed into the `models/custom` folder and used in the UI. The filename of the model will be used to show the model on the drop-down menu on the UI from which you can select and use your custom model so, make sure it has a good filename so you can recognize it from the drop-down menu.\n\n# Official models supported:\n\n## Stable Diffusion versions:\n\n- ### [Stable Diffusion v1-3](https://huggingface.co/CompVis/stable-diffusion-v1-3)\n\n- ### [Stable Diffusion v1-4](https://huggingface.co/CompVis/stable-diffusion-v1-4)\n\n- ### [Stable Diffusion v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5)\n\n## Waifu Diffusion versions:\n\n- ### Waifu Diffusion v1.2\n\n- ### [Waifu Diffusion v1.3](https://huggingface.co/hakurei/waifu-diffusion-v1-3)\n\n## Trinart:\n\n- ### [Trinart Characters](https://huggingface.co/naclbit/trinart_characters_19.2m_stable_diffusion_v1)\n\n- ### [Trinart v2](https://huggingface.co/naclbit/trinart_stable_diffusion_v2)\n\n-\n\n## Unofficial Model List:\n\n- ### [Rentry Stable Diffusion Model List.](https://rentry.org/sdmodels)\n"
  },
  {
    "path": "docusaurus.config.js",
    "content": "// @ts-check\n// Note: type annotations allow type checking and IDEs autocompletion\n\nconst lightCodeTheme = require('prism-react-renderer/themes/github');\nconst darkCodeTheme = require('prism-react-renderer/themes/dracula');\n\n/** @type {import('@docusaurus/types').Config} */\nconst config = {\n  title: 'Sygil WebUI',\n  tagline: 'Web-based UI for Stable Diffusion',\n  url: 'https://sygil-dev.github.io',\n  baseUrl: '/sygil-webui',\n  onBrokenLinks: 'throw',\n  onBrokenMarkdownLinks: 'warn',\n  //favicon: 'images/logo.svg',\n\n  // GitHub pages deployment config.\n  // If you aren't using GitHub pages, you don't need these.\n  organizationName: 'Sygil-Dev', // Usually your GitHub org/user name.\n  projectName: 'sygil-webui', // Usually your repo name.\n  deploymentBranch: 'gh-pages',\n\n  // Even if you don't use internalization, you can use this field to set useful\n  // metadata like html lang. For example, if your site is Chinese, you may want\n  // to replace \"en\" with \"zh-Hans\".\n  i18n: {\n    defaultLocale: 'en',\n    locales: ['en'],\n  },\n\n  // ...\n  plugins: [\n    [\n\t  // enable search using docusaurus-search-local\n      require.resolve(\"@cmfcmf/docusaurus-search-local\"),\n      {\n\t  // whether to index docs pages\n\t  indexDocs: true,\n\n\t  // Whether to also index the titles of the parent categories in the sidebar of a doc page.\n\t  // 0 disables this feature.\n\t  // 1 indexes the direct parent category in the sidebar of a doc page\n\t  // 2 indexes up to two nested parent categories of a doc page\n\t  // 3...\n\t  //\n\t  // Do _not_ use Infinity, the value must be a JSON-serializable integer.\n\t  indexDocSidebarParentCategories: 1,\n\n\t  // whether to index blog pages\n\t  indexBlog: true,\n\n\t  // whether to index static pages\n\t  // /404.html is never indexed\n\t  indexPages: false,\n\n\t  // language of your documentation, see next section\n\t  language: \"en\",\n\n\t  // setting this to \"none\" will prevent the default CSS to be included. The default CSS\n\t  // comes from autocomplete-theme-classic, which you can read more about here:\n\t  // https://www.algolia.com/doc/ui-libraries/autocomplete/api-reference/autocomplete-theme-classic/\n\t  // When you want to overwrite CSS variables defined by the default theme, make sure to suffix your\n\t  // overwrites with `!important`, because they might otherwise not be applied as expected. See the\n\t  // following comment for more information: https://github.com/cmfcmf/docusaurus-search-local/issues/107#issuecomment-1119831938.\n\t  style: undefined,\n\n\t  // The maximum number of search results shown to the user. This does _not_ affect performance of\n\t  // searches, but simply does not display additional search results that have been found.\n\t  maxSearchResults: 8,\n\n\t  // lunr.js-specific settings\n\t  lunr: {\n\t\t// When indexing your documents, their content is split into \"tokens\".\n\t\t// Text entered into the search box is also tokenized.\n\t\t// This setting configures the separator used to determine where to split the text into tokens.\n\t\t// By default, it splits the text at whitespace and dashes.\n\t\t//\n\t\t// Note: Does not work for \"ja\" and \"th\" languages, since these use a different tokenizer.\n\t\ttokenizerSeparator: /[\\s\\-]+/,\n\t\t// https://lunrjs.com/guides/customising.html#similarity-tuning\n\t\t//\n\t\t// This parameter controls the importance given to the length of a document and its fields. This\n\t\t// value must be between 0 and 1, and by default it has a value of 0.75. Reducing this value\n\t\t// reduces the effect of different length documents on a term’s importance to that document.\n\t\tb: 0.75,\n\t\t// This controls how quickly the boost given by a common word reaches saturation. Increasing it\n\t\t// will slow down the rate of saturation and lower values result in quicker saturation. The\n\t\t// default value is 1.2. If the collection of documents being indexed have high occurrences\n\t\t// of words that are not covered by a stop word filter, these words can quickly dominate any\n\t\t// similarity calculation. In these cases, this value can be reduced to get more balanced results.\n\t\tk1: 1.2,\n\t\t// By default, we rank pages where the search term appears in the title higher than pages where\n\t\t// the search term appears in just the text. This is done by \"boosting\" title matches with a\n\t\t// higher value than content matches. The concrete boosting behavior can be controlled by changing\n\t\t// the following settings.\n\t\ttitleBoost: 5,\n\t\tcontentBoost: 1,\n\t\ttagsBoost: 3,\n\t\tparentCategoriesBoost: 2, // Only used when indexDocSidebarParentCategories > 0\n\t  }\n\t},\n    ],\n  ],\n\n  presets: [\n    [\n      'classic',\n      /** @type {import('@docusaurus/preset-classic').Options} */\n      ({\n        docs: {\n\n\t\t\tsidebarCollapsed: false,\n\t\t\tsidebarPath: require.resolve('./sidebars.js'),\n\t\t\t// Please change this to your repo.\n\t\t\t// Remove this to remove the \"edit this page\" links.\n\t\t\teditUrl:\n\t\t\t\t'https://github.com/Sygil-Dev/sygil-webui/tree/main/',\n\t\t},\n        blog: {\n\t\t\tshowReadingTime: true,\n\t\t\t// Please change this to your repo.\n\t\t\t// Remove this to remove the \"edit this page\" links.\n\t\t\teditUrl:\n\t\t\t\t'https://github.com/Sygil-Dev/sygil-webui/tree/main/',\n\t\t},\n        theme: {\n\t\t\tcustomCss: require.resolve('./frontend/css/docs_custom.css'),\n        },\n      }),\n    ],\n  ],\n\n  themeConfig:\n    /** @type {import('@docusaurus/preset-classic').ThemeConfig} */\n    ({\n      navbar: {\n        title: 'Sygil WebUI',\n        //logo: {\n        //  alt: 'Sygil Logo',\n        //  src: 'images/logo.svg',\n        //},\n        items: [\n          {\n            type: 'doc',\n            docId: 'Installation/one-click-installer',\n            position: 'left',\n            label: 'Getting Started',\n          },\n          {to: '/blog', label: 'Blog', position: 'left'},\n          {\n            href: 'https://github.com/Sygil-Dev/sygil-webui',\n            label: 'GitHub',\n            position: 'right',\n          },\n        ],\n      },\n      footer: {\n        style: 'dark',\n        links: [\n          {\n            title: 'Community',\n            items: [\n              {\n                label: 'Discord',\n                href: 'https://discord.gg/ttM8Tm6wge',\n              },\n              {\n                label: 'Twitter',\n                href: 'https://twitter.com/Sygil_Dev',\n              },\n            ],\n          },\n          {\n            title: 'More',\n            items: [\n              {\n                label: 'Blog',\n                to: '/blog',\n              },\n              {\n                label: 'GitHub',\n                href: 'https://github.com/Sygil-Dev/sygil-webui',\n              },\n            ],\n          },\n        ],\n        copyright: `Copyright © ${new Date().getFullYear()} Sygil.Dev`,\n      },\n      prism: {\n        theme: lightCodeTheme,\n        darkTheme: darkCodeTheme,\n      },\n    }),\n};\n\nmodule.exports = config;\n"
  },
  {
    "path": "entrypoint.sh",
    "content": "#!/bin/bash\n# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Starts the webserver inside the docker container\n#\n\n# set -x\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\ncd $SCRIPT_DIR\nexport PYTHONPATH=$SCRIPT_DIR\n\nif [[ $PUBLIC_KEY ]]\nthen\n    mkdir -p ~/.ssh\n    chmod 700 ~/.ssh\n    cd ~/.ssh\n    echo $PUBLIC_KEY >> authorized_keys\n    chmod 700 -R ~/.ssh\n    cd /\n    service ssh start\n    echo \"SSH Service Started\"\nfi\n\n\nMODEL_DIR=\"${SCRIPT_DIR}/user_data/model_cache\"\nmkdir -p $MODEL_DIR\n# Array of model files to pre-download\n# local filename\n# local path in container (no trailing slash)\n# download URL\n# sha256sum\nMODEL_FILES=(\n    'model.ckpt models/ldm/stable-diffusion-v1 https://www.googleapis.com/storage/v1/b/aai-blog-files/o/sd-v1-4.ckpt?alt=media'\n    'GFPGANv1.4.pth models/gfpgan https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth'\n    'detection_Resnet50_Final.pth gfpgan/weights https://github.com/xinntao/facexlib/releases/download/v0.1.0/detection_Resnet50_Final.pth'\n    'parsing_parsenet.pth gfpgan/weights https://github.com/xinntao/facexlib/releases/download/v0.2.2/parsing_parsenet.pth'\n    'RealESRGAN_x4plus.pth models/realesrgan https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth'\n    'RealESRGAN_x4plus_anime_6B.pth models/realesrgan https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth'\n    'project.yaml models/ldsr https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1'\n    'model.ckpt models/ldsr https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1'\n    'waifu-diffusion.ckpt models/custom https://huggingface.co/crumb/pruned-waifu-diffusion/resolve/main/model-pruned.ckpt'\n    'trinart.ckpt models/custom https://huggingface.co/naclbit/trinart_stable_diffusion_v2/resolve/main/trinart2_step95000.ckpt'\n    'model__base_caption.pth models/blip https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model*_base_caption.pth'\n    'pytorch_model.bin models/clip-vit-large-patch14 https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/pytorch_model.bin'\n    'config.json models/clip-vit-large-patch14 https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/config.json'\n    'merges.txt models/clip-vit-large-patch14 https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/merges.txt'\n    'preprocessor_config.json models/clip-vit-large-patch14 https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/preprocessor_config.json'\n    'special_tokens_map.json models/clip-vit-large-patch14 https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/special_tokens_map.json'\n    'tokenizer.json models/clip-vit-large-patch14 https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/tokenizer.json'\n    'tokenizer_config.json models/clip-vit-large-patch14 https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/tokenizer_config.json'\n    'vocab.json models/clip-vit-large-patch14 https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/vocab.json'\n)\n\ndownloadModel() {\n    local file=$1\n    local path=\"${SCRIPT_DIR}/${2}\"\n    local path_dir=\"${MODEL_DIR}/$2\"\n    local url=$3\n\n    if [[ ! -e \"${MODEL_DIR}/$2/${file}\" ]]; then\n        echo \"Downloading: ${url} please wait...\"\n        mkdir -p ${MODEL_DIR}/$2\n        mkdir -p ${path}\n        wget --output-document=${MODEL_DIR}/$2/${file} --no-verbose --show-progress --progress=dot:giga ${url}\n        ln -sf ${MODEL_DIR}/$2/${file} ${path}/${file}\n        if [[ -e \"${path}/${file}\" ]]; then\n            echo \"saved ${file}\"\n        else\n            echo \"error saving ${MODEL_DIR}/$2/${file}!\"\n            exit 1\n        fi\n    fi\n}\n\necho \"Downloading model files...\"\nfor models in \"${MODEL_FILES[@]}\"; do\n    model=($models)\n    if [[ ! -e ${model[1]}/${model[0]} || ! -L ${model[1]}/${model[0]} ]]; then\n        downloadModel ${model[0]} ${model[1]} ${model[2]}\n    fi\ndone\n\n# Create directory for diffusers models\nmkdir -p ${MODEL_DIR}/diffusers/stable-diffusion-v1-4\nmkdir -p ${MODEL_DIR}/diffusers/waifu-diffusion\nmkdir -p ${SCRIPT_DIR}/diffusers/stable-diffusion-v1-4\nmkdir -p ${SCRIPT_DIR}/diffusers/waifu-diffusion\n# Link tokenizer to diffusers models\nln -fs ${SCRIPT_DIR}/models/clip-vit-large-patch14/ ${SCRIPT_DIR}/diffusers/stable-diffusion-v1-4/tokenizer\nln -fs ${SCRIPT_DIR}/models/clip-vit-large-patch14/ ${SCRIPT_DIR}/diffusers/waifu-diffusion/tokenizer\n\nif [[ -e \"${MODEL_DIR}/sd-concepts-library\" ]]; then\n    # concept library exists, update\n    cd ${MODEL_DIR}/sd-concepts-library\n    git pull\nelse\n    # concept library does not exist, clone\n    cd ${MODEL_DIR}\n    git clone https://github.com/Sygil-Dev/sd-concepts-library.git\nfi\n# create directory and link concepts library\nmkdir -p ${SCRIPT_DIR}/models/custom\nln -fs ${MODEL_DIR}/sd-concepts-library/sd-concepts-library/ ${SCRIPT_DIR}/models/custom/sd-concepts-library\n\nmkdir -p ${SCRIPT_DIR}/user_data/outputs\nln -fs ${SCRIPT_DIR}/user_data/outputs/ ${SCRIPT_DIR}/outputs\n\necho \"export HF_HOME=${MODEL_DIR}\" >> ~/.bashrc\necho \"export XDG_CACHE_HOME=${MODEL_DIR}\" >> ~/.bashrc\necho \"export TRANSFORMERS_CACHE=${MODEL_DIR}\" >> ~/.bashrc\nsource ~/.bashrc\ncd $SCRIPT_DIR\nlaunch_command=\"streamlit run ${SCRIPT_DIR}/scripts/webui_streamlit.py\"\n\n$launch_command\n\nsleep infinity\n"
  },
  {
    "path": "environment.yaml",
    "content": "name: ldm\n# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\nchannels:\n  - pytorch\n  - defaults\n  - nvidia\n# Psst. If you change a dependency, make sure it's mirrored in the docker requirement\n# files as well.\ndependencies:\n  - conda-forge::nodejs=18.11.0\n  - yarn=1.22.19\n  - cudatoolkit=11.7\n  - git\n  - numpy=1.23.3\n  - pip=20.3\n  - python=3.8.5\n  - pytorch=1.13.0\n  - scikit-image=0.19.2\n  - torchvision=0.14.0\n  - pip:\n    - -r requirements.txt\n"
  },
  {
    "path": "frontend/.eslintrc.js",
    "content": "module.exports = {\n  env: {\n    node: true\n  },\n  'extends': [\n    'plugin:vue/vue3-essential',\n    \"plugin:@typescript-eslint/eslint-recommended\",\n    \"plugin:@typescript-eslint/recommended\",\n    'eslint:recommended',\n    '@vue/typescript/recommended'\n  ],\n  ignorePatterns: [\n    'node_modules/',\n    'dist/',\n    'coverage/',\n    'pnpm-lock.yaml',\n    '*.js'\n  ],\n  rules: {\n    'no-console': process.env.NODE_ENV === 'production' ? 'warn' : 'off',\n    'no-debugger': process.env.NODE_ENV === 'production' ? 'warn' : 'off'\n  }\n}\n"
  },
  {
    "path": "frontend/__init__.py",
    "content": ""
  },
  {
    "path": "frontend/css/custom.css",
    "content": "/* ----------------------------------------------\n * Generated by Animista on 2022-9-3 12:0:51\n * Licensed under FreeBSD License.\n * See http://animista.net/license for more info.\n * w: http://animista.net, t: @cssanimista\n * ---------------------------------------------- */\n\n/**\n * ----------------------------------------\n * animation fade-in\n * ----------------------------------------\n */\n @-webkit-keyframes fade-in {\n    0% {\n      opacity: 0;\n    }\n    100% {\n      opacity: 1;\n    }\n  }\n  @keyframes fade-in {\n    0% {\n      opacity: 0;\n    }\n    100% {\n      opacity: 1;\n    }\n  }\n\n\n/* CSS HEX */\n:root {\n--eerie-black: #141414ff;\n--jet: #373737ff;\n--white: #ffffffff;\n--rajah: #faa549ff;\n--tart-orange: #9c85fb;\n--light-steel-blue: #b7d0f1ff;\n}\n/* Gallery items (not working) */\n.gallery-item.svelte-1g9btlg.svelte-1g9btlg{\n    border: none!important;\n}\n/* Loading background */\n.dark .wrap.svelte-2fvq7v{\n    background-color: #373737ff;\n}\n\n/* generate button */\n#generate, #img2img_mask_btn, #img2img_edit_btn{\n    transition: 0.3s;\n    color: #9c85fb!important;\n    border-color: #9c85fb!important;\n}\n\n#generate:hover, #img2img_mask_btn:hover, #img2img_edit_btn:hover{\n    color: #141414ff!important;\n    background-color: #9c85fb!important;\n}\n\n\n/* Generation paramters */\n#highlight > div.textfield.bg-white.dark\\:bg-transparent.rounded-sm.text-sm.box-border.max-w-full.break-word.leading-7.mt-7 > span:nth-child(2){\n    background: none!important;\n    color: white!important;\n}\n#highlight > div.textfield.bg-white.dark\\:bg-transparent.rounded-sm.text-sm.box-border.max-w-full.break-word.leading-7.mt-7 > span:nth-child(4){\n    background: none!important;\n    color: white!important;\n}\n#highlight > div.textfield.bg-white.dark\\:bg-transparent.rounded-sm.text-sm.box-border.max-w-full.break-word.leading-7.mt-7 > span:nth-child(6){\n    background: none!important;\n    color: white!important;\n}\n#highlight > div.textfield.bg-white.dark\\:bg-transparent.rounded-sm.text-sm.box-border.max-w-full.break-word.leading-7.mt-7 > span:nth-child(8){\n    background: none!important;\n    color: white!important;\n}\n#highlight > div.textfield.bg-white.dark\\:bg-transparent.rounded-sm.text-sm.box-border.max-w-full.break-word.leading-7.mt-7 > span:nth-child(10){\n    background: none!important;\n    color: white!important;\n}\n#highlight > div.textfield.bg-white.dark\\:bg-transparent.rounded-sm.text-sm.box-border.max-w-full.break-word.leading-7.mt-7 > span:nth-child(12){\n    background: none!important;\n    color: white!important;\n}\n\n/* Mask background */\n.dark .bg-gray-200{\n    background-color:rgba(55, 55, 55, 0.105)!important;\n}\n.cropper-wrap-box, .cropper-canvas{\n    background-color:rgba(55, 55, 55, 0.105)!important;\n}\n.cropper-bg {\n    background: none!important;\n}\n\nselect {\n    background:#000;\n    color:#fff;\n}\n\nselect * {\n    background:#373737ff;\n    color:#9c85fb;\n}\n\n/* General Background */\n.gradio-container {background:#141414ff;}\n\n/*General Text color on hover */\n.dark .hover\\:text-gray-700:hover{\n    color: #9d85fb8a!important;\n}\n/*General Text color */\n.text-gray-400{\n    color:rgba(255, 255, 255, 0.504);\n    transition: 0.3s;\n}\n\n/* General container of everything */\n.dark .dark\\:bg-gray-950 {background-color: #141414ff!important;\n    -webkit-animation: fade-in 1s ease-in both;\n\t        animation: fade-in 1s ease-in both;\n}\n/* labels in frames of gallery */\n.dark .dark\\:bg-gray-900 {\nbackground-color:#9d85fbdf!important;\nborder: none!important;}\n/* Background for Gradio stuff along with colors for text */\n.dark .gr-box {\n\n\n    background-color:rgba(55, 55, 55, 0.105)!important;\n    border: solid 0.5px!important;\n    border-color: rgba(55, 55, 55, 0.055)!important;\n    /* sampler selector color */\n    color: #9c85fb!important;}\n\n/* Secondary Buttons color */\n.dark .gr-button-secondary{\n    color: #9c85fb;\n    border-color: #9d85fb5c;\n    transition: 0.3s;}\n\n.dark .gr-button-secondary:hover{\n    color: #141414ff!important;\n    background-color: #9c85fb!important;}\n\n.dark .gr-button-primary{\n    color: #9c85fb;\n    border-color: #9d85fb5c;\n    transition: 0.3s;}\n\n.dark .gr-button-primary:hover{\n    color: #141414ff!important;\n    background-color: #9c85fb!important;}\n\n/* image lab process button */\ndiv[id*=\"111\"]{\n    width: 50% !important;\n    align-self: center !important;\n}\n/* Selected tabs color */\nbutton, input, optgroup, select, textarea {color: #9c85fb!important}\n\n/* -or- text color wtf */\n.text-gray-300{\n    color:rgba(255, 255, 255, 0.504);\n}\n\n/* Sliders colors */\nbutton, input, optgroup, select, textarea{\naccent-color: #9c85fb!important;\n}\n/* Text color for placeholder in prompt */\ninput.scroll-hide.block.gr-box.gr-input.w-full.gr-text-input::placeholder{\n    color: #9d85fb5c;\n    transition: 0.3s;\n}\n/* disabling borders for stuff */\n.border-gray-200{\n    /* no border */\n    border: none;\n}\n\n.border-b-2{\n    /* no border */\n    border: none;\n}\n/* disabling backgrounds for labels and buttons */\nbutton, select, textarea {\n    background: none!important;\n}\n/* radio selection border and background */\n.dark .gr-input-label{\n    background: none!important;\n    border: none!important;\n}\n/* checkbox and radio buttons color when checked */\n.dark .gr-check-radio:checked{\n    background-color: #9c85fb!important;\n}\n/* checkbox and radio buttons color when unchecked */\n.dark .gr-check-radio{\n    background-color: #373737ff!important;\n}\n"
  },
  {
    "path": "frontend/css/docs_custom.css",
    "content": "/**\n * Any CSS included here will be global. The classic template\n * bundles Infima by default. Infima is a CSS framework designed to\n * work well for content-centric websites.\n */\n\n/* You can override the default Infima variables here. */\n:root {\n  --ifm-color-primary: #2e8555;\n  --ifm-color-primary-dark: #29784c;\n  --ifm-color-primary-darker: #277148;\n  --ifm-color-primary-darkest: #205d3b;\n  --ifm-color-primary-light: #33925d;\n  --ifm-color-primary-lighter: #359962;\n  --ifm-color-primary-lightest: #3cad6e;\n  --ifm-code-font-size: 95%;\n  --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1);\n}\n\n/* For readability concerns, you should choose a lighter palette in dark mode. */\n[data-theme='dark'] {\n  --ifm-color-primary: #25c2a0;\n  --ifm-color-primary-dark: #21af90;\n  --ifm-color-primary-darker: #1fa588;\n  --ifm-color-primary-darkest: #1a8870;\n  --ifm-color-primary-light: #29d5b0;\n  --ifm-color-primary-lighter: #32d8b4;\n  --ifm-color-primary-lightest: #4fddbf;\n  --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3);\n}\n"
  },
  {
    "path": "frontend/css/no_progress_bar.css",
    "content": "/*\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 Sygil-Dev team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n*/\n.wrap .m-12 svg { display:none!important; }\n.wrap .m-12::before { content:\"Loading...\" }\n.progress-bar { display:none!important; }\n.meta-text { display:none!important; }\n"
  },
  {
    "path": "frontend/css/streamlit.main.css",
    "content": "/*\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 Sygil-Dev team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n*/\n\n/***********************************************************\n* Additional CSS for streamlit builtin components          *\n************************************************************/\n\n/* Tab name (e.g. Text-to-Image) //improve legibility*/\nbutton[data-baseweb=\"tab\"] {\n  font-size: 25px;\n}\n\n/* Image Container (only appear after run finished)//center the image, especially better looks in wide screen */\n.css-1kyxreq{\n\tjustify-content: center;\n}\n\n\n/* Streamlit header */\n.css-1avcm0n {\n  background-color: transparent;\n}\n\n/* Main streamlit container (below header) //reduce the empty spaces*/\n.css-18e3th9 {\n  padding-top: 1rem;\n}\n\n\n\n/***********************************************************\n* Additional CSS for streamlit custom/3rd party components *\n************************************************************/\n/* For stream_on_hover */\nsection[data-testid=\"stSidebar\"] > div:nth-of-type(1) {\n  background-color: #111;\n}\n\nbutton[kind=\"header\"] {\n  background-color: transparent;\n  color: rgb(180, 167, 141);\n}\n\n@media (hover) {\n  /* header element */\n  header[data-testid=\"stHeader\"] {\n    /* display: none;*/ /*suggested behavior by streamlit hover components*/\n    pointer-events: none; /* disable interaction of the transparent background */\n  }\n\n  /* The button on the streamlit navigation menu  */\n  button[kind=\"header\"] {\n    /* display: none;*/ /*suggested behavior by streamlit hover components*/\n    pointer-events: auto; /* enable interaction of the button even if parents intereaction disabled */\n  }\n\n  /* added to avoid main sectors (all element to the right of sidebar from) moving */\n  section[data-testid=\"stSidebar\"] {\n    width: 3.5% !important;\n    min-width: 3.5% !important;\n  }\n\n  /* The navigation menu specs and size */\n  section[data-testid=\"stSidebar\"] > div {\n    height: 100%;\n    width: 2% !important;\n    min-width: 100% !important;\n    position: relative;\n    z-index: 1;\n    top: 0;\n    left: 0;\n    background-color: #111;\n    overflow-x: hidden;\n    transition: 0.5s ease-in-out;\n    padding-top: 0px;\n    white-space: nowrap;\n  }\n\n  /* The navigation menu open and close on hover and size */\n  section[data-testid=\"stSidebar\"] > div:hover {\n    width: 300px !important;\n  }\n}\n\n@media (max-width: 272px) {\n  section[data-testid=\"stSidebar\"] > div {\n    width: 15rem;\n  }\n}\n\n/***********************************************************\n*  Additional CSS for other elements\n************************************************************/\nbutton[data-baseweb=\"tab\"] {\n  font-size: 20px;\n}\n\n@media (min-width: 1200px){\nh1 {\n    font-size: 1.75rem;\n}\n}\n#tabs-1-tabpanel-0 > div:nth-child(1) > div > div.stTabs.css-0.exp6ofz0 {\n  width: 50rem;\n  align-self: center;\n}\ndiv.gallery:hover {\n  border: 1px solid #777;\n}\n.css-dg4u6x p {\n  font-size: 0.8rem;\n  text-align: center;\n  position: relative;\n  top: 6px;\n}\n\n.row-widget.stButton {\n  text-align: center;\n}\n\n/********************************************************************\n    Hide anchor links on titles\n*********************************************************************/\n/*\n.css-15zrgzn {\n\tdisplay: none\n\t}\n.css-eczf16 {\n\tdisplay: none\n\t}\n.css-jn99sy {\n\tdisplay: none\n\t}\n\n/* Make the text area widget have a similar height as the text input field */\n.st-dy{\n\theight: 54px;\n\tmin-height: 25px;\n}\n.css-17useex{\n\tgap: 3px;\n\n}\n\n/* Remove some empty spaces to make the UI more compact. */\n.css-18e3th9{\n\tpadding-left: 10px;\n\tpadding-right: 30px;\n\tposition: unset !important; /* Fixes the layout/page going up when an expander or another item is expanded and then collapsed */\n}\n.css-k1vhr4{\n\tpadding-top: initial;\n}\n.css-ret2ud{\n\tpadding-left: 10px;\n\tpadding-right: 30px;\n\tgap: initial;\n\tdisplay: initial;\n}\n\n.css-w5z5an{\n\tgap: 1px;\n}\n"
  },
  {
    "path": "frontend/css/styles.css",
    "content": "/*\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 Sygil-Dev team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n*/\n[data-testid=\"image\"] {min-height: 512px !important}\n* #body>.col:nth-child(2){\n    width:250%;\n    max-width:89vw\n}\n\n#increment_btn_minus {\n    align-self: center;\n    background: none;\n    border: none;\n}\n#increment_btn_plus {\n    align-self: center;\n    background: none;\n    border: none;\n}\n#prompt_input, #img2img_prompt_input {\n    padding: 0px;\n    border: none;\n}\n\n#prompt_row input,\n#prompt_row textarea {\n    font-size: 1.2rem;\n    line-height: 1.6rem;\n}\n\ninput[type=number]:disabled { -moz-appearance: textfield; }\n\n#generate, #img2img_mask_btn, #img2img_edit_btn {\n    align-self: stretch;\n}\n\n#gan_image {\n    width: 512px;\n    height: auto;\n}\n\n[id$=\"highlight\"]{\n font-size: 1.2rem\n }\n[id$=\"highlight\"] .uppercase{\n    text-transform: initial;\n\n}\n[id$=\"highlight\"] .textfield .textspan:nth-child(1){\n    font-size: 1.2rem\n}\n\n/* Mobile fixes and styles */\n@media only screen and (max-width: 768px) {\n    /* rearrange the columns on mobile */\n\n    #body>.col:nth-child(2){\n        width:100%;\n        max-width:100vw;\n        order: 1;\n    }\n    #body>.col:nth-child(1){\n        order: 2;\n    }\n    #body>.col:nth-child(3){\n        order: 3;\n    }\n\n    #txt2img_actions_row,\n    #txt2img_output_row{\n        flex-direction: row;\n        flex-wrap: wrap-reverse;\n    }\n    /* fix buttons layouts */\n\n}\n\n/* Gradio 3.4 FIXES */\n#prompt_row button {\n    max-width: 20ch;\n}\n#text2img_col2 {\n    flex-grow: 2 !important;\n}\n"
  },
  {
    "path": "frontend/css_and_js.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\nfrom os import path\nimport json\n\n\ndef readTextFile(*args):\n    dir = path.dirname(__file__)\n    entry = path.join(dir, *args)\n    with open(entry, \"r\", encoding=\"utf8\") as f:\n        data = f.read()\n    return data\n\n\ndef css(opt):\n    styling = readTextFile(\"css\", \"styles.css\")\n    if not opt.no_progressbar_hiding:\n        styling += readTextFile(\"css\", \"no_progress_bar.css\")\n    return styling\n\n\ndef js(opt):\n    data = readTextFile(\"js\", \"index.js\")\n    data = \"(z) => {\" + data + \"; return z ?? [] }\"\n    return data\n\n\n# Wrap the typical SD method call into async closure for ease of use\n# Supplies the js function with a params object\n# That includes all the passed arguments and input from Gradio: x\n# ATTENTION: x is an array of values of all components passed to your\n# python event handler\n# Example call in Gradio component's event handler (pass the result to _js arg):\n# _js=call_JS(\"myJsMethod\", arg1=\"string\", arg2=100, arg3=[])\ndef call_JS(sd_method, **kwargs):\n    param_str = json.dumps(kwargs)\n    return f\"async (...x) => {{ return await SD.{sd_method}({{ x, ...{param_str} }}) ?? []; }}\"\n"
  },
  {
    "path": "frontend/dists/concept-browser/dist/assets/index.3ab9729b.css",
    "content": "svg.no-preview-icon{fill:var(--text-color);width:72px;height:72px;opacity:.2}.no-preview{align-self:center;text-align:center;color:var(--text-color)}.concept-card{background-color:var(--secondary-background-color);border-radius:5px;margin-bottom:20px}.concept-card-content-wrapper{flex-direction:column!important;display:flex!important;height:360px}.concept-title{margin-top:0;margin-bottom:24px;font-size:1em;color:var(--text-color)}.concept-img-wrapper{flex-grow:1!important}.card-favorite{text-align:end}.concept-img{max-height:100%;height:100%}.concept-img img{border-radius:8px;object-fit:cover}.img-bg{background-size:cover;background-position:center;background-origin:content-box;background-repeat:no-repeat;height:100%;width:100%;border-radius:8px}.icon-star{cursor:pointer;position:relative;top:-3px}.token-char{color:#939393;font-weight:700;position:relative;top:1px}.concept-card-footer{align-items:center}.concept-type-tag{background-color:#898989;border-radius:16px;padding:5px 16px;font-size:.7em;color:#fff;display:inline-block;font-weight:700}.concept-type-style{background-color:#0095ff}.concept-type-object{background-color:#ff9031}.button{height:35px;cursor:pointer;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;font-weight:400;padding:.25rem .75rem;border-radius:.25rem;margin:0;line-height:1.6;color:inherit;width:auto;user-select:none;background-color:var(--background-color);border:1px solid rgba(128,128,128,.8)}.button:hover{color:var(--primary-color);border-color:var(--primary-color)}.err__title[data-v-4d5bb78e],.err__msg[data-v-4d5bb78e]{margin:0}body,html{margin:0;font-family:Source Sans Pro,sans-serif}/*!\n * Bootstrap Grid Only (grid and responsive utilities extracted from Bootstrap 4.1.3)\n * GitHub: https://github.com/dmhendricks/bootstrap-grid-css\n * Bootstrap License: MIT (https://github.com/twbs/bootstrap/blob/v4-dev/LICENSE)\n * Credits: Twitter, Inc. & The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n */@-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,*:before,*:after{-webkit-box-sizing:inherit;box-sizing:inherit}.bootstrap-wrapper .clearfix:after{display:block;clear:both;content:\"\"}.bootstrap-wrapper .visible{visibility:visible!important}.bootstrap-wrapper .invisible{visibility:hidden!important}.bootstrap-wrapper .hidden-xs-up{display:none!important}@media (max-width:575.98px){.bootstrap-wrapper .hidden-xs-down{display:none!important}}@media (min-width:576px){.bootstrap-wrapper .hidden-sm-up{display:none!important}}@media (max-width:767.98px){.bootstrap-wrapper .hidden-sm-down{display:none!important}}@media (min-width:768px){.bootstrap-wrapper .hidden-md-up{display:none!important}}@media (max-width:991.98px){.bootstrap-wrapper .hidden-md-down{display:none!important}}@media (min-width:992px){.bootstrap-wrapper .hidden-lg-up{display:none!important}}@media (max-width:1199.98px){.bootstrap-wrapper .hidden-lg-down{display:none!important}}@media (min-width:1200px){.bootstrap-wrapper .hidden-xl-up{display:none!important}}.bootstrap-wrapper .hidden-xl-down,.bootstrap-wrapper .visible-print-block{display:none!important}@media print{.bootstrap-wrapper .visible-print-block{display:block!important}}.bootstrap-wrapper .visible-print-inline{display:none!important}@media print{.bootstrap-wrapper .visible-print-inline{display:inline!important}}.bootstrap-wrapper .visible-print-inline-block{display:none!important}@media print{.bootstrap-wrapper .visible-print-inline-block{display:inline-block!important}}@media print{.bootstrap-wrapper .hidden-print{display:none!important}}.bootstrap-wrapper .container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.bootstrap-wrapper .container{max-width:540px}}@media (min-width:768px){.bootstrap-wrapper .container{max-width:720px}}@media (min-width:992px){.bootstrap-wrapper .container{max-width:960px}}@media (min-width:1200px){.bootstrap-wrapper .container{max-width:1140px}}.bootstrap-wrapper .container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.bootstrap-wrapper .row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.bootstrap-wrapper .no-gutters{margin-right:0;margin-left:0}.bootstrap-wrapper .no-gutters>.col,.bootstrap-wrapper .no-gutters>[class*=col-]{padding-right:0;padding-left:0}.bootstrap-wrapper .col-1,.bootstrap-wrapper .col-2,.bootstrap-wrapper .col-3,.bootstrap-wrapper .col-4,.bootstrap-wrapper .col-5,.bootstrap-wrapper .col-6,.bootstrap-wrapper .col-7,.bootstrap-wrapper .col-8,.bootstrap-wrapper .col-9,.bootstrap-wrapper .col-10,.bootstrap-wrapper .col-11,.bootstrap-wrapper .col-12,.bootstrap-wrapper .col,.bootstrap-wrapper .col-auto,.bootstrap-wrapper .col-sm-1,.bootstrap-wrapper .col-sm-2,.bootstrap-wrapper .col-sm-3,.bootstrap-wrapper .col-sm-4,.bootstrap-wrapper .col-sm-5,.bootstrap-wrapper .col-sm-6,.bootstrap-wrapper .col-sm-7,.bootstrap-wrapper .col-sm-8,.bootstrap-wrapper .col-sm-9,.bootstrap-wrapper .col-sm-10,.bootstrap-wrapper .col-sm-11,.bootstrap-wrapper .col-sm-12,.bootstrap-wrapper .col-sm,.bootstrap-wrapper .col-sm-auto,.bootstrap-wrapper .col-md-1,.bootstrap-wrapper .col-md-2,.bootstrap-wrapper .col-md-3,.bootstrap-wrapper .col-md-4,.bootstrap-wrapper .col-md-5,.bootstrap-wrapper .col-md-6,.bootstrap-wrapper .col-md-7,.bootstrap-wrapper .col-md-8,.bootstrap-wrapper .col-md-9,.bootstrap-wrapper .col-md-10,.bootstrap-wrapper .col-md-11,.bootstrap-wrapper .col-md-12,.bootstrap-wrapper .col-md,.bootstrap-wrapper .col-md-auto,.bootstrap-wrapper .col-lg-1,.bootstrap-wrapper .col-lg-2,.bootstrap-wrapper .col-lg-3,.bootstrap-wrapper .col-lg-4,.bootstrap-wrapper .col-lg-5,.bootstrap-wrapper .col-lg-6,.bootstrap-wrapper .col-lg-7,.bootstrap-wrapper .col-lg-8,.bootstrap-wrapper .col-lg-9,.bootstrap-wrapper .col-lg-10,.bootstrap-wrapper .col-lg-11,.bootstrap-wrapper .col-lg-12,.bootstrap-wrapper .col-lg,.bootstrap-wrapper .col-lg-auto,.bootstrap-wrapper .col-xl-1,.bootstrap-wrapper .col-xl-2,.bootstrap-wrapper .col-xl-3,.bootstrap-wrapper .col-xl-4,.bootstrap-wrapper .col-xl-5,.bootstrap-wrapper .col-xl-6,.bootstrap-wrapper .col-xl-7,.bootstrap-wrapper .col-xl-8,.bootstrap-wrapper .col-xl-9,.bootstrap-wrapper .col-xl-10,.bootstrap-wrapper .col-xl-11,.bootstrap-wrapper .col-xl-12,.bootstrap-wrapper .col-xl,.bootstrap-wrapper .col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.bootstrap-wrapper .col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-3{margin-left:25%}.bootstrap-wrapper .offset-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-6{margin-left:50%}.bootstrap-wrapper .offset-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-9{margin-left:75%}.bootstrap-wrapper .offset-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-11{margin-left:91.6666666667%}@media (min-width:576px){.bootstrap-wrapper .col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-sm-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-sm-0{margin-left:0}.bootstrap-wrapper .offset-sm-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-sm-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-sm-3{margin-left:25%}.bootstrap-wrapper .offset-sm-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-sm-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-sm-6{margin-left:50%}.bootstrap-wrapper .offset-sm-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-sm-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-sm-9{margin-left:75%}.bootstrap-wrapper .offset-sm-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-sm-11{margin-left:91.6666666667%}}@media (min-width:768px){.bootstrap-wrapper .col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-md-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-md-0{margin-left:0}.bootstrap-wrapper .offset-md-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-md-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-md-3{margin-left:25%}.bootstrap-wrapper .offset-md-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-md-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-md-6{margin-left:50%}.bootstrap-wrapper .offset-md-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-md-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-md-9{margin-left:75%}.bootstrap-wrapper .offset-md-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-md-11{margin-left:91.6666666667%}}@media (min-width:992px){.bootstrap-wrapper .col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-lg-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-lg-0{margin-left:0}.bootstrap-wrapper .offset-lg-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-lg-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-lg-3{margin-left:25%}.bootstrap-wrapper .offset-lg-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-lg-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-lg-6{margin-left:50%}.bootstrap-wrapper .offset-lg-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-lg-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-lg-9{margin-left:75%}.bootstrap-wrapper .offset-lg-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-lg-11{margin-left:91.6666666667%}}@media (min-width:1200px){.bootstrap-wrapper .col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-xl-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-xl-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-xl-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-xl-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-xl-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-xl-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-xl-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-xl-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-xl-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-xl-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-xl-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-xl-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-xl-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-xl-0{margin-left:0}.bootstrap-wrapper .offset-xl-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-xl-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-xl-3{margin-left:25%}.bootstrap-wrapper .offset-xl-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-xl-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-xl-6{margin-left:50%}.bootstrap-wrapper .offset-xl-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-xl-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-xl-9{margin-left:75%}.bootstrap-wrapper .offset-xl-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-xl-11{margin-left:91.6666666667%}}.bootstrap-wrapper .img-fluid{max-width:100%;height:auto}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}\n"
  },
  {
    "path": "frontend/dists/concept-browser/dist/assets/index.b5b962e4.js",
    "content": "const vp=function(){const t=document.createElement(\"link\").relList;if(t&&t.supports&&t.supports(\"modulepreload\"))return;for(const i of document.querySelectorAll('link[rel=\"modulepreload\"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type===\"childList\")for(const s of o.addedNodes)s.tagName===\"LINK\"&&s.rel===\"modulepreload\"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin===\"use-credentials\"?o.credentials=\"include\":i.crossorigin===\"anonymous\"?o.credentials=\"omit\":o.credentials=\"same-origin\",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}};vp();function tr(e,t){const n=Object.create(null),r=e.split(\",\");for(let i=0;i<r.length;i++)n[r[i]]=!0;return t?i=>!!n[i.toLowerCase()]:i=>!!n[i]}const Ip=\"itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly\",Sp=tr(Ip);function Du(e){return!!e||e===\"\"}function to(e){if($(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],i=Vt(r)?Bp(r):to(r);if(i)for(const o in i)t[o]=i[o]}return t}else{if(Vt(e))return e;if(Ft(e))return e}}const Ap=/;(?![^(]*\\))/g,Tp=/:(.+)/;function Bp(e){const t={};return e.split(Ap).forEach(n=>{if(n){const r=n.split(Tp);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function Ti(e){let t=\"\";if(Vt(e))t=e;else if($(e))for(let n=0;n<e.length;n++){const r=Ti(e[n]);r&&(t+=r+\" \")}else if(Ft(e))for(const n in e)e[n]&&(t+=n+\" \");return t.trim()}const Op=\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\",xp=\"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\",Fp=tr(Op),Ep=tr(xp),ia=e=>Vt(e)?e:e==null?\"\":$(e)||Ft(e)&&(e.toString===Ru||!z(e.toString))?JSON.stringify(e,Lu,2):String(e),Lu=(e,t)=>t&&t.__v_isRef?Lu(e,t.value):pr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,i])=>(n[`${r} =>`]=i,n),{})}:Cu(t)?{[`Set(${t.size})`]:[...t.values()]}:Ft(t)&&!$(t)&&!Uu(t)?String(t):t,vt=Object.freeze({}),zr=Object.freeze([]),le=()=>{},Mu=()=>!1,Dp=/^on[^a-z]/,ji=e=>Dp.test(e),xs=e=>e.startsWith(\"onUpdate:\"),kt=Object.assign,Ua=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Lp=Object.prototype.hasOwnProperty,ot=(e,t)=>Lp.call(e,t),$=Array.isArray,pr=e=>eo(e)===\"[object Map]\",Cu=e=>eo(e)===\"[object Set]\",z=e=>typeof e==\"function\",Vt=e=>typeof e==\"string\",Na=e=>typeof e==\"symbol\",Ft=e=>e!==null&&typeof e==\"object\",Pa=e=>Ft(e)&&z(e.then)&&z(e.catch),Ru=Object.prototype.toString,eo=e=>Ru.call(e),Va=e=>eo(e).slice(8,-1),Uu=e=>eo(e)===\"[object Object]\",ka=e=>Vt(e)&&e!==\"NaN\"&&e[0]!==\"-\"&&\"\"+parseInt(e,10)===e,ms=tr(\",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"),Mp=tr(\"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"),no=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Cp=/-(\\w)/g,hn=no(e=>e.replace(Cp,(t,n)=>n?n.toUpperCase():\"\")),Rp=/\\B([A-Z])/g,Hn=no(e=>e.replace(Rp,\"-$1\").toLowerCase()),wr=no(e=>e.charAt(0).toUpperCase()+e.slice(1)),lr=no(e=>e?`on${wr(e)}`:\"\"),Bi=(e,t)=>!Object.is(e,t),ui=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},Fs=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Up=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let bl;const Nu=()=>bl||(bl=typeof globalThis!=\"undefined\"?globalThis:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:typeof global!=\"undefined\"?global:{});function sa(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let an;class Np{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&an&&(this.parent=an,this.index=(an.scopes||(an.scopes=[])).push(this)-1)}run(t){if(this.active){const n=an;try{return an=this,t()}finally{an=n}}else sa(\"cannot run an inactive effect scope.\")}on(){an=this}off(){an=this.parent}stop(t){if(this.active){let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.scopes)for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);if(this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.active=!1}}}function Pp(e,t=an){t&&t.active&&t.effects.push(e)}const $a=e=>{const t=new Set(e);return t.w=0,t.n=0,t},Pu=e=>(e.w&Kn)>0,Vu=e=>(e.n&Kn)>0,Vp=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=Kn},kp=e=>{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r<t.length;r++){const i=t[r];Pu(i)&&!Vu(i)?i.delete(e):t[n++]=i,i.w&=~Kn,i.n&=~Kn}t.length=n}},oa=new WeakMap;let yi=0,Kn=1;const aa=30;let re;const yr=Symbol(\"iterate\"),ca=Symbol(\"Map key iterate\");class ja{constructor(t,n=null,r){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,Pp(this,r)}run(){if(!this.active)return this.fn();let t=re,n=Wn;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=re,re=this,Wn=!0,Kn=1<<++yi,yi<=aa?Vp(this):gl(this),this.fn()}finally{yi<=aa&&kp(this),Kn=1<<--yi,re=this.parent,Wn=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){re===this?this.deferStop=!0:this.active&&(gl(this),this.onStop&&this.onStop(),this.active=!1)}}function gl(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let Wn=!0;const ku=[];function Or(){ku.push(Wn),Wn=!1}function xr(){const e=ku.pop();Wn=e===void 0?!0:e}function Ie(e,t,n){if(Wn&&re){let r=oa.get(e);r||oa.set(e,r=new Map);let i=r.get(n);i||r.set(n,i=$a()),$u(i,{effect:re,target:e,type:t,key:n})}}function $u(e,t){let n=!1;yi<=aa?Vu(e)||(e.n|=Kn,n=!Pu(e)):n=!e.has(re),n&&(e.add(re),re.deps.push(e),re.onTrack&&re.onTrack(Object.assign({effect:re},t)))}function On(e,t,n,r,i,o){const s=oa.get(e);if(!s)return;let a=[];if(t===\"clear\")a=[...s.values()];else if(n===\"length\"&&$(e))s.forEach((l,d)=>{(d===\"length\"||d>=r)&&a.push(l)});else switch(n!==void 0&&a.push(s.get(n)),t){case\"add\":$(e)?ka(n)&&a.push(s.get(\"length\")):(a.push(s.get(yr)),pr(e)&&a.push(s.get(ca)));break;case\"delete\":$(e)||(a.push(s.get(yr)),pr(e)&&a.push(s.get(ca)));break;case\"set\":pr(e)&&a.push(s.get(yr));break}const c={target:e,type:t,key:n,newValue:r,oldValue:i,oldTarget:o};if(a.length===1)a[0]&&la(a[0],c);else{const l=[];for(const d of a)d&&l.push(...d);la($a(l),c)}}function la(e,t){const n=$(e)?e:[...e];for(const r of n)r.computed&&_l(r,t);for(const r of n)r.computed||_l(r,t)}function _l(e,t){(e!==re||e.allowRecurse)&&(e.onTrigger&&e.onTrigger(kt({effect:e},t)),e.scheduler?e.scheduler():e.run())}const $p=tr(\"__proto__,__v_isRef,__isVue\"),ju=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==\"arguments\"&&e!==\"caller\").map(e=>Symbol[e]).filter(Na)),jp=ro(),zp=ro(!1,!0),Wp=ro(!0),Yp=ro(!0,!0),wl=Hp();function Hp(){const e={};return[\"includes\",\"indexOf\",\"lastIndexOf\"].forEach(t=>{e[t]=function(...n){const r=rt(this);for(let o=0,s=this.length;o<s;o++)Ie(r,\"get\",o+\"\");const i=r[t](...n);return i===-1||i===!1?r[t](...n.map(rt)):i}}),[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\"].forEach(t=>{e[t]=function(...n){Or();const r=rt(this)[t].apply(this,n);return xr(),r}}),e}function ro(e=!1,t=!1){return function(r,i,o){if(i===\"__v_isReactive\")return!e;if(i===\"__v_isReadonly\")return e;if(i===\"__v_isShallow\")return t;if(i===\"__v_raw\"&&o===(e?t?Gu:Ju:t?qu:Ku).get(r))return r;const s=$(r);if(!e&&s&&ot(wl,i))return Reflect.get(wl,i,o);const a=Reflect.get(r,i,o);return(Na(i)?ju.has(i):$p(i))||(e||Ie(r,\"get\",i),t)?a:Kt(a)?s&&ka(i)?a:a.value:Ft(a)?e?Zu(a):Wa(a):a}}const Kp=zu(),qp=zu(!0);function zu(e=!1){return function(n,r,i,o){let s=n[r];if(qn(s)&&Kt(s)&&!Kt(i))return!1;if(!e&&(!Es(i)&&!qn(i)&&(s=rt(s),i=rt(i)),!$(n)&&Kt(s)&&!Kt(i)))return s.value=i,!0;const a=$(n)&&ka(r)?Number(r)<n.length:ot(n,r),c=Reflect.set(n,r,i,o);return n===rt(o)&&(a?Bi(i,s)&&On(n,\"set\",r,i,s):On(n,\"add\",r,i)),c}}function Jp(e,t){const n=ot(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&On(e,\"delete\",t,void 0,r),i}function Gp(e,t){const n=Reflect.has(e,t);return(!Na(t)||!ju.has(t))&&Ie(e,\"has\",t),n}function Zp(e){return Ie(e,\"iterate\",$(e)?\"length\":yr),Reflect.ownKeys(e)}const Wu={get:jp,set:Kp,deleteProperty:Jp,has:Gp,ownKeys:Zp},Yu={get:Wp,set(e,t){return sa(`Set operation on key \"${String(t)}\" failed: target is readonly.`,e),!0},deleteProperty(e,t){return sa(`Delete operation on key \"${String(t)}\" failed: target is readonly.`,e),!0}},Xp=kt({},Wu,{get:zp,set:qp}),Qp=kt({},Yu,{get:Yp}),za=e=>e,io=e=>Reflect.getPrototypeOf(e);function ss(e,t,n=!1,r=!1){e=e.__v_raw;const i=rt(e),o=rt(t);n||(t!==o&&Ie(i,\"get\",t),Ie(i,\"get\",o));const{has:s}=io(i),a=r?za:n?Ya:Oi;if(s.call(i,t))return a(e.get(t));if(s.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function os(e,t=!1){const n=this.__v_raw,r=rt(n),i=rt(e);return t||(e!==i&&Ie(r,\"has\",e),Ie(r,\"has\",i)),e===i?n.has(e):n.has(e)||n.has(i)}function as(e,t=!1){return e=e.__v_raw,!t&&Ie(rt(e),\"iterate\",yr),Reflect.get(e,\"size\",e)}function vl(e){e=rt(e);const t=rt(this);return io(t).has.call(t,e)||(t.add(e),On(t,\"add\",e,e)),this}function Il(e,t){t=rt(t);const n=rt(this),{has:r,get:i}=io(n);let o=r.call(n,e);o?Hu(n,r,e):(e=rt(e),o=r.call(n,e));const s=i.call(n,e);return n.set(e,t),o?Bi(t,s)&&On(n,\"set\",e,t,s):On(n,\"add\",e,t),this}function Sl(e){const t=rt(this),{has:n,get:r}=io(t);let i=n.call(t,e);i?Hu(t,n,e):(e=rt(e),i=n.call(t,e));const o=r?r.call(t,e):void 0,s=t.delete(e);return i&&On(t,\"delete\",e,void 0,o),s}function Al(){const e=rt(this),t=e.size!==0,n=pr(e)?new Map(e):new Set(e),r=e.clear();return t&&On(e,\"clear\",void 0,void 0,n),r}function cs(e,t){return function(r,i){const o=this,s=o.__v_raw,a=rt(s),c=t?za:e?Ya:Oi;return!e&&Ie(a,\"iterate\",yr),s.forEach((l,d)=>r.call(i,c(l),c(d),o))}}function ls(e,t,n){return function(...r){const i=this.__v_raw,o=rt(i),s=pr(o),a=e===\"entries\"||e===Symbol.iterator&&s,c=e===\"keys\"&&s,l=i[e](...r),d=n?za:t?Ya:Oi;return!t&&Ie(o,\"iterate\",c?ca:yr),{next(){const{value:p,done:_}=l.next();return _?{value:p,done:_}:{value:a?[d(p[0]),d(p[1])]:d(p),done:_}},[Symbol.iterator](){return this}}}}function Nn(e){return function(...t){{const n=t[0]?`on key \"${t[0]}\" `:\"\";console.warn(`${wr(e)} operation ${n}failed: target is readonly.`,rt(this))}return e===\"delete\"?!1:this}}function ty(){const e={get(o){return ss(this,o)},get size(){return as(this)},has:os,add:vl,set:Il,delete:Sl,clear:Al,forEach:cs(!1,!1)},t={get(o){return ss(this,o,!1,!0)},get size(){return as(this)},has:os,add:vl,set:Il,delete:Sl,clear:Al,forEach:cs(!1,!0)},n={get(o){return ss(this,o,!0)},get size(){return as(this,!0)},has(o){return os.call(this,o,!0)},add:Nn(\"add\"),set:Nn(\"set\"),delete:Nn(\"delete\"),clear:Nn(\"clear\"),forEach:cs(!0,!1)},r={get(o){return ss(this,o,!0,!0)},get size(){return as(this,!0)},has(o){return os.call(this,o,!0)},add:Nn(\"add\"),set:Nn(\"set\"),delete:Nn(\"delete\"),clear:Nn(\"clear\"),forEach:cs(!0,!0)};return[\"keys\",\"values\",\"entries\",Symbol.iterator].forEach(o=>{e[o]=ls(o,!1,!1),n[o]=ls(o,!0,!1),t[o]=ls(o,!1,!0),r[o]=ls(o,!0,!0)}),[e,n,t,r]}const[ey,ny,ry,iy]=ty();function so(e,t){const n=t?e?iy:ry:e?ny:ey;return(r,i,o)=>i===\"__v_isReactive\"?!e:i===\"__v_isReadonly\"?e:i===\"__v_raw\"?r:Reflect.get(ot(n,i)&&i in r?n:r,i,o)}const sy={get:so(!1,!1)},oy={get:so(!1,!0)},ay={get:so(!0,!1)},cy={get:so(!0,!0)};function Hu(e,t,n){const r=rt(n);if(r!==n&&t.call(e,r)){const i=Va(e);console.warn(`Reactive ${i} contains both the raw and reactive versions of the same object${i===\"Map\"?\" as keys\":\"\"}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const Ku=new WeakMap,qu=new WeakMap,Ju=new WeakMap,Gu=new WeakMap;function ly(e){switch(e){case\"Object\":case\"Array\":return 1;case\"Map\":case\"Set\":case\"WeakMap\":case\"WeakSet\":return 2;default:return 0}}function uy(e){return e.__v_skip||!Object.isExtensible(e)?0:ly(Va(e))}function Wa(e){return qn(e)?e:oo(e,!1,Wu,sy,Ku)}function fy(e){return oo(e,!1,Xp,oy,qu)}function Zu(e){return oo(e,!0,Yu,ay,Ju)}function kr(e){return oo(e,!0,Qp,cy,Gu)}function oo(e,t,n,r,i){if(!Ft(e))return console.warn(`value cannot be made reactive: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const s=uy(e);if(s===0)return e;const a=new Proxy(e,s===2?r:n);return i.set(e,a),a}function mr(e){return qn(e)?mr(e.__v_raw):!!(e&&e.__v_isReactive)}function qn(e){return!!(e&&e.__v_isReadonly)}function Es(e){return!!(e&&e.__v_isShallow)}function ua(e){return mr(e)||qn(e)}function rt(e){const t=e&&e.__v_raw;return t?rt(t):e}function Xu(e){return Fs(e,\"__v_skip\",!0),e}const Oi=e=>Ft(e)?Wa(e):e,Ya=e=>Ft(e)?Zu(e):e;function Qu(e){Wn&&re&&(e=rt(e),$u(e.dep||(e.dep=$a()),{target:e,type:\"get\",key:\"value\"}))}function tf(e,t){e=rt(e),e.dep&&la(e.dep,{target:e,type:\"set\",key:\"value\",newValue:t})}function Kt(e){return!!(e&&e.__v_isRef===!0)}function Tl(e){return dy(e,!1)}function dy(e,t){return Kt(e)?e:new hy(e,t)}class hy{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:rt(t),this._value=n?t:Oi(t)}get value(){return Qu(this),this._value}set value(t){const n=this.__v_isShallow||Es(t)||qn(t);t=n?t:rt(t),Bi(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Oi(t),tf(this,t))}}function py(e){return Kt(e)?e.value:e}const yy={get:(e,t,n)=>py(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const i=e[t];return Kt(i)&&!Kt(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function ef(e){return mr(e)?e:new Proxy(e,yy)}var nf;class my{constructor(t,n,r,i){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[nf]=!1,this._dirty=!0,this.effect=new ja(t,()=>{this._dirty||(this._dirty=!0,tf(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=r}get value(){const t=rt(this);return Qu(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}nf=\"__v_isReadonly\";function by(e,t,n=!1){let r,i;const o=z(e);o?(r=e,i=()=>{console.warn(\"Write operation failed: computed value is readonly\")}):(r=e.get,i=e.set);const s=new my(r,i,o||!i,n);return t&&!n&&(s.effect.onTrack=t.onTrack,s.effect.onTrigger=t.onTrigger),s}const br=[];function bs(e){br.push(e)}function gs(){br.pop()}function E(e,...t){Or();const n=br.length?br[br.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=gy();if(r)Bn(r,n,11,[e+t.join(\"\"),n&&n.proxy,i.map(({vnode:o})=>`at <${mo(n,o.type)}>`).join(`\n`),i]);else{const o=[`[Vue warn]: ${e}`,...t];i.length&&o.push(`\n`,..._y(i)),console.warn(...o)}xr()}function gy(){let e=br[br.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const r=e.component&&e.component.parent;e=r&&r.vnode}return t}function _y(e){const t=[];return e.forEach((n,r)=>{t.push(...r===0?[]:[`\n`],...wy(n))}),t}function wy({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:\"\",r=e.component?e.component.parent==null:!1,i=` at <${mo(e.component,e.type,r)}`,o=\">\"+n;return e.props?[i,...vy(e.props),o]:[i+o]}function vy(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(r=>{t.push(...rf(r,e[r]))}),n.length>3&&t.push(\" ...\"),t}function rf(e,t,n){return Vt(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t==\"number\"||typeof t==\"boolean\"||t==null?n?t:[`${e}=${t}`]:Kt(t)?(t=rf(e,rt(t.value),!0),n?t:[`${e}=Ref<`,t,\">\"]):z(t)?[`${e}=fn${t.name?`<${t.name}>`:\"\"}`]:(t=rt(t),n?t:[`${e}=`,t])}const Ha={sp:\"serverPrefetch hook\",bc:\"beforeCreate hook\",c:\"created hook\",bm:\"beforeMount hook\",m:\"mounted hook\",bu:\"beforeUpdate hook\",u:\"updated\",bum:\"beforeUnmount hook\",um:\"unmounted hook\",a:\"activated hook\",da:\"deactivated hook\",ec:\"errorCaptured hook\",rtc:\"renderTracked hook\",rtg:\"renderTriggered hook\",[0]:\"setup function\",[1]:\"render function\",[2]:\"watcher getter\",[3]:\"watcher callback\",[4]:\"watcher cleanup function\",[5]:\"native event handler\",[6]:\"component event handler\",[7]:\"vnode hook\",[8]:\"directive hook\",[9]:\"transition hook\",[10]:\"app errorHandler\",[11]:\"app warnHandler\",[12]:\"ref function\",[13]:\"async component loader\",[14]:\"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"};function Bn(e,t,n,r){let i;try{i=r?e(...r):e()}catch(o){ao(o,t,n)}return i}function $e(e,t,n,r){if(z(e)){const o=Bn(e,t,n,r);return o&&Pa(o)&&o.catch(s=>{ao(s,t,n)}),o}const i=[];for(let o=0;o<e.length;o++)i.push($e(e[o],t,n,r));return i}function ao(e,t,n,r=!0){const i=t?t.vnode:null;if(t){let o=t.parent;const s=t.proxy,a=Ha[n];for(;o;){const l=o.ec;if(l){for(let d=0;d<l.length;d++)if(l[d](e,s,a)===!1)return}o=o.parent}const c=t.appContext.config.errorHandler;if(c){Bn(c,null,10,[e,s,a]);return}}Iy(e,n,i,r)}function Iy(e,t,n,r=!0){{const i=Ha[t];if(n&&bs(n),E(`Unhandled error${i?` during execution of ${i}`:\"\"}`),n&&gs(),r)throw e;console.error(e)}}let Ds=!1,fa=!1;const Xt=[];let fn=0;const Wr=[];let cn=null,kn=0;const sf=Promise.resolve();let Ka=null;const Sy=100;function Ay(e){const t=Ka||sf;return e?t.then(this?e.bind(this):e):t}function Ty(e){let t=fn+1,n=Xt.length;for(;t<n;){const r=t+n>>>1;xi(Xt[r])<e?t=r+1:n=r}return t}function co(e){(!Xt.length||!Xt.includes(e,Ds&&e.allowRecurse?fn+1:fn))&&(e.id==null?Xt.push(e):Xt.splice(Ty(e.id),0,e),of())}function of(){!Ds&&!fa&&(fa=!0,Ka=sf.then(lf))}function By(e){const t=Xt.indexOf(e);t>fn&&Xt.splice(t,1)}function af(e){$(e)?Wr.push(...e):(!cn||!cn.includes(e,e.allowRecurse?kn+1:kn))&&Wr.push(e),of()}function Bl(e,t=fn){for(e=e||new Map;t<Xt.length;t++){const n=Xt[t];if(n&&n.pre){if(qa(e,n))continue;Xt.splice(t,1),t--,n()}}}function cf(e){if(Wr.length){const t=[...new Set(Wr)];if(Wr.length=0,cn){cn.push(...t);return}for(cn=t,e=e||new Map,cn.sort((n,r)=>xi(n)-xi(r)),kn=0;kn<cn.length;kn++)qa(e,cn[kn])||cn[kn]();cn=null,kn=0}}const xi=e=>e.id==null?1/0:e.id,Oy=(e,t)=>{const n=xi(e)-xi(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function lf(e){fa=!1,Ds=!0,e=e||new Map,Xt.sort(Oy);const t=n=>qa(e,n);try{for(fn=0;fn<Xt.length;fn++){const n=Xt[fn];if(n&&n.active!==!1){if(t(n))continue;Bn(n,null,14)}}}finally{fn=0,Xt.length=0,cf(e),Ds=!1,Ka=null,(Xt.length||Wr.length)&&lf(e)}}function qa(e,t){if(!e.has(t))e.set(t,1);else{const n=e.get(t);if(n>Sy){const r=t.ownerInstance,i=r&&ac(r.type);return E(`Maximum recursive updates exceeded${i?` in component <${i}>`:\"\"}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`),!0}else e.set(t,n+1)}}let gr=!1;const Nr=new Set;Nu().__VUE_HMR_RUNTIME__={createRecord:Po(uf),rerender:Po(Ey),reload:Po(Dy)};const vr=new Map;function xy(e){const t=e.type.__hmrId;let n=vr.get(t);n||(uf(t,e.type),n=vr.get(t)),n.instances.add(e)}function Fy(e){vr.get(e.type.__hmrId).instances.delete(e)}function uf(e,t){return vr.has(e)?!1:(vr.set(e,{initialDef:bi(t),instances:new Set}),!0)}function bi(e){return Pf(e)?e.__vccOpts:e}function Ey(e,t){const n=vr.get(e);!n||(n.initialDef.render=t,[...n.instances].forEach(r=>{t&&(r.render=t,bi(r.type).render=t),r.renderCache=[],gr=!0,r.update(),gr=!1}))}function Dy(e,t){const n=vr.get(e);if(!n)return;t=bi(t),Ol(n.initialDef,t);const r=[...n.instances];for(const i of r){const o=bi(i.type);Nr.has(o)||(o!==n.initialDef&&Ol(o,t),Nr.add(o)),i.appContext.optionsCache.delete(i.type),i.ceReload?(Nr.add(o),i.ceReload(t.styles),Nr.delete(o)):i.parent?(co(i.parent.update),i.parent.type.__asyncLoader&&i.parent.ceReload&&i.parent.ceReload(t.styles)):i.appContext.reload?i.appContext.reload():typeof window!=\"undefined\"?window.location.reload():console.warn(\"[HMR] Root or manually mounted instance modified. Full reload required.\")}af(()=>{for(const i of r)Nr.delete(bi(i.type))})}function Ol(e,t){kt(e,t);for(const n in e)n!==\"__file\"&&!(n in t)&&delete e[n]}function Po(e){return(t,n)=>{try{return e(t,n)}catch(r){console.error(r),console.warn(\"[HMR] Something went wrong during Vue component hot-reload. Full reload required.\")}}}let fr,mi=[],da=!1;function zi(e,...t){fr?fr.emit(e,...t):da||mi.push({event:e,args:t})}function ff(e,t){var n,r;fr=e,fr?(fr.enabled=!0,mi.forEach(({event:i,args:o})=>fr.emit(i,...o)),mi=[]):typeof window!=\"undefined\"&&window.HTMLElement&&!(!((r=(n=window.navigator)===null||n===void 0?void 0:n.userAgent)===null||r===void 0)&&r.includes(\"jsdom\"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(o=>{ff(o,t)}),setTimeout(()=>{fr||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,da=!0,mi=[])},3e3)):(da=!0,mi=[])}function Ly(e,t){zi(\"app:init\",e,t,{Fragment:ie,Text:ho,Comment:fe,Static:ws})}function My(e){zi(\"app:unmount\",e)}const Cy=Ja(\"component:added\"),df=Ja(\"component:updated\"),Ry=Ja(\"component:removed\");function Ja(e){return t=>{zi(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const Uy=hf(\"perf:start\"),Ny=hf(\"perf:end\");function hf(e){return(t,n,r)=>{zi(e,t.appContext.app,t.uid,t,n,r)}}function Py(e,t,n){zi(\"component:emit\",e.appContext.app,e,t,n)}function Vy(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||vt;{const{emitsOptions:d,propsOptions:[p]}=e;if(d)if(!(t in d))(!p||!(lr(t)in p))&&E(`Component emitted event \"${t}\" but it is neither declared in the emits option nor as an \"${lr(t)}\" prop.`);else{const _=d[t];z(_)&&(_(...n)||E(`Invalid event arguments: event validation failed for event \"${t}\".`))}}let i=n;const o=t.startsWith(\"update:\"),s=o&&t.slice(7);if(s&&s in r){const d=`${s===\"modelValue\"?\"model\":s}Modifiers`,{number:p,trim:_}=r[d]||vt;_&&(i=n.map(O=>O.trim())),p&&(i=n.map(Up))}Py(e,t,i);{const d=t.toLowerCase();d!==t&&r[lr(d)]&&E(`Event \"${d}\" is emitted in component ${mo(e,e.type)} but the handler is registered for \"${t}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${Hn(t)}\" instead of \"${t}\".`)}let a,c=r[a=lr(t)]||r[a=lr(hn(t))];!c&&o&&(c=r[a=lr(Hn(t))]),c&&$e(c,e,6,i);const l=r[a+\"Once\"];if(l){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,$e(l,e,6,i)}}function pf(e,t,n=!1){const r=t.emitsCache,i=r.get(e);if(i!==void 0)return i;const o=e.emits;let s={},a=!1;if(!z(e)){const c=l=>{const d=pf(l,t,!0);d&&(a=!0,kt(s,d))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!o&&!a?(Ft(e)&&r.set(e,null),null):($(o)?o.forEach(c=>s[c]=null):kt(s,o),Ft(e)&&r.set(e,s),s)}function lo(e,t){return!e||!ji(t)?!1:(t=t.slice(2).replace(/Once$/,\"\"),ot(e,t[0].toLowerCase()+t.slice(1))||ot(e,Hn(t))||ot(e,t))}let Qt=null,uo=null;function Ls(e){const t=Qt;return Qt=e,uo=e&&e.type.__scopeId||null,t}function ky(e){uo=e}function $y(){uo=null}function yf(e,t=Qt,n){if(!t||e._n)return e;const r=(...i)=>{r._d&&$l(-1);const o=Ls(t),s=e(...i);return Ls(o),r._d&&$l(1),df(t),s};return r._n=!0,r._c=!0,r._d=!0,r}let ha=!1;function Ms(){ha=!0}function Vo(e){const{type:t,vnode:n,proxy:r,withProxy:i,props:o,propsOptions:[s],slots:a,attrs:c,emit:l,render:d,renderCache:p,data:_,setupState:O,ctx:P,inheritAttrs:X}=e;let Q,gt;const pt=Ls(e);ha=!1;try{if(n.shapeFlag&4){const Nt=i||r;Q=Ne(d.call(Nt,Nt,p,o,O,_,P)),gt=c}else{const Nt=t;c===o&&Ms(),Q=Ne(Nt.length>1?Nt(o,{get attrs(){return Ms(),c},slots:a,emit:l}):Nt(o,null)),gt=t.props?c:zy(c)}}catch(Nt){_i.length=0,ao(Nt,e,1),Q=je(fe)}let Ct=Q,Lt;if(Q.patchFlag>0&&Q.patchFlag&2048&&([Ct,Lt]=jy(Q)),gt&&X!==!1){const Nt=Object.keys(gt),{shapeFlag:Ze}=Ct;if(Nt.length){if(Ze&7)s&&Nt.some(xs)&&(gt=Wy(gt,s)),Ct=Jn(Ct,gt);else if(!ha&&Ct.type!==fe){const Le=Object.keys(c),Te=[],Be=[];for(let Et=0,Oe=Le.length;Et<Oe;Et++){const Zt=Le[Et];ji(Zt)?xs(Zt)||Te.push(Zt[2].toLowerCase()+Zt.slice(3)):Be.push(Zt)}Be.length&&E(`Extraneous non-props attributes (${Be.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`),Te.length&&E(`Extraneous non-emits event listeners (${Te.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`)}}}return n.dirs&&(xl(Ct)||E(\"Runtime directive used on component with non-element root node. The directives will not function as intended.\"),Ct=Jn(Ct),Ct.dirs=Ct.dirs?Ct.dirs.concat(n.dirs):n.dirs),n.transition&&(xl(Ct)||E(\"Component inside <Transition> renders non-element root node that cannot be animated.\"),Ct.transition=n.transition),Lt?Lt(Ct):Q=Ct,Ls(pt),Q}const jy=e=>{const t=e.children,n=e.dynamicChildren,r=mf(t);if(!r)return[e,void 0];const i=t.indexOf(r),o=n?n.indexOf(r):-1,s=a=>{t[i]=a,n&&(o>-1?n[o]=a:a.patchFlag>0&&(e.dynamicChildren=[...n,a]))};return[Ne(r),s]};function mf(e){let t;for(let n=0;n<e.length;n++){const r=e[n];if(po(r)){if(r.type!==fe||r.children===\"v-if\"){if(t)return;t=r}}else return}return t}const zy=e=>{let t;for(const n in e)(n===\"class\"||n===\"style\"||ji(n))&&((t||(t={}))[n]=e[n]);return t},Wy=(e,t)=>{const n={};for(const r in e)(!xs(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n},xl=e=>e.shapeFlag&7||e.type===fe;function Yy(e,t,n){const{props:r,children:i,component:o}=e,{props:s,children:a,patchFlag:c}=t,l=o.emitsOptions;if((i||a)&&gr||t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Fl(r,s,l):!!s;if(c&8){const d=t.dynamicProps;for(let p=0;p<d.length;p++){const _=d[p];if(s[_]!==r[_]&&!lo(l,_))return!0}}}else return(i||a)&&(!a||!a.$stable)?!0:r===s?!1:r?s?Fl(r,s,l):!0:!!s;return!1}function Fl(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){const o=r[i];if(t[o]!==e[o]&&!lo(n,o))return!0}return!1}function Hy({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}const Ky=e=>e.__isSuspense;function qy(e,t){t&&t.pendingBranch?$(e)?t.effects.push(...e):t.effects.push(e):af(e)}function Jy(e,t){if(!Ht)E(\"provide() can only be used inside setup().\");else{let n=Ht.provides;const r=Ht.parent&&Ht.parent.provides;r===n&&(n=Ht.provides=Object.create(r)),n[e]=t}}function ko(e,t,n=!1){const r=Ht||Qt;if(r){const i=r.parent==null?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&z(t)?t.call(r.proxy):t;E(`injection \"${String(e)}\" not found.`)}else E(\"inject() can only be used inside setup() or functional components.\")}const El={};function $o(e,t,n){return z(t)||E(\"`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature.\"),bf(e,t,n)}function bf(e,t,{immediate:n,deep:r,flush:i,onTrack:o,onTrigger:s}=vt){t||(n!==void 0&&E('watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.'),r!==void 0&&E('watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.'));const a=pt=>{E(\"Invalid watch source: \",pt,\"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.\")},c=Ht;let l,d=!1,p=!1;if(Kt(e)?(l=()=>e.value,d=Es(e)):mr(e)?(l=()=>e,r=!0):$(e)?(p=!0,d=e.some(pt=>mr(pt)||Es(pt)),l=()=>e.map(pt=>{if(Kt(pt))return pt.value;if(mr(pt))return $r(pt);if(z(pt))return Bn(pt,c,2);a(pt)})):z(e)?t?l=()=>Bn(e,c,2):l=()=>{if(!(c&&c.isUnmounted))return _&&_(),$e(e,c,3,[O])}:(l=le,a(e)),t&&r){const pt=l;l=()=>$r(pt())}let _,O=pt=>{_=gt.onStop=()=>{Bn(pt,c,4)}};if(Ei)return O=le,t?n&&$e(t,c,3,[l(),p?[]:void 0,O]):l(),le;let P=p?[]:El;const X=()=>{if(!!gt.active)if(t){const pt=gt.run();(r||d||(p?pt.some((Ct,Lt)=>Bi(Ct,P[Lt])):Bi(pt,P)))&&(_&&_(),$e(t,c,3,[pt,P===El?void 0:P,O]),P=pt)}else gt.run()};X.allowRecurse=!!t;let Q;i===\"sync\"?Q=X:i===\"post\"?Q=()=>ce(X,c&&c.suspense):(X.pre=!0,c&&(X.id=c.uid),Q=()=>co(X));const gt=new ja(l,Q);return gt.onTrack=o,gt.onTrigger=s,t?n?X():P=gt.run():i===\"post\"?ce(gt.run.bind(gt),c&&c.suspense):gt.run(),()=>{gt.stop(),c&&c.scope&&Ua(c.scope.effects,gt)}}function Gy(e,t,n){const r=this.proxy,i=Vt(e)?e.includes(\".\")?gf(r,e):()=>r[e]:e.bind(r,r);let o;z(t)?o=t:(o=t.handler,n=t);const s=Ht;Zr(this);const a=bf(i,o.bind(r),n);return s?Zr(s):_r(),a}function gf(e,t){const n=t.split(\".\");return()=>{let r=e;for(let i=0;i<n.length&&r;i++)r=r[n[i]];return r}}function $r(e,t){if(!Ft(e)||e.__v_skip||(t=t||new Set,t.has(e)))return e;if(t.add(e),Kt(e))$r(e.value,t);else if($(e))for(let n=0;n<e.length;n++)$r(e[n],t);else if(Cu(e)||pr(e))e.forEach(n=>{$r(n,t)});else if(Uu(e))for(const n in e)$r(e[n],t);return e}function Ga(e){return z(e)?{setup:e,name:e.name}:e}const gi=e=>!!e.type.__asyncLoader,Za=e=>e.type.__isKeepAlive;function Zy(e,t){_f(e,\"a\",t)}function Xy(e,t){_f(e,\"da\",t)}function _f(e,t,n=Ht){const r=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(fo(t,r,n),n){let i=n.parent;for(;i&&i.parent;)Za(i.parent.vnode)&&Qy(r,t,n,i),i=i.parent}}function Qy(e,t,n,r){const i=fo(t,e,r,!0);tc(()=>{Ua(r[t],i)},n)}function fo(e,t,n=Ht,r=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...s)=>{if(n.isUnmounted)return;Or(),Zr(n);const a=$e(t,n,e,s);return _r(),xr(),a});return r?i.unshift(o):i.push(o),o}else{const i=lr(Ha[e].replace(/ hook$/,\"\"));E(`${i} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const Fn=e=>(t,n=Ht)=>(!Ei||e===\"sp\")&&fo(e,t,n),tm=Fn(\"bm\"),Xa=Fn(\"m\"),em=Fn(\"bu\"),Qa=Fn(\"u\"),nm=Fn(\"bum\"),tc=Fn(\"um\"),rm=Fn(\"sp\"),im=Fn(\"rtg\"),sm=Fn(\"rtc\");function wf(e,t=Ht){fo(\"ec\",e,t)}function vf(e){Mp(e)&&E(\"Do not use built-in directive ids as custom directive id: \"+e)}function or(e,t,n,r){const i=e.dirs,o=t&&t.dirs;for(let s=0;s<i.length;s++){const a=i[s];o&&(a.oldValue=o[s].value);let c=a.dir[r];c&&(Or(),$e(c,n,8,[e.el,a,e,t]),xr())}}const pa=\"components\";function Dl(e,t){return am(pa,e,!0,t)||e}const om=Symbol();function am(e,t,n=!0,r=!1){const i=Qt||Ht;if(i){const o=i.type;if(e===pa){const a=ac(o,!1);if(a&&(a===t||a===hn(t)||a===wr(hn(t))))return o}const s=Ll(i[e]||o[e],t)||Ll(i.appContext[e],t);if(!s&&r)return o;if(n&&!s){const a=e===pa?`\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`:\"\";E(`Failed to resolve ${e.slice(0,-1)}: ${t}${a}`)}return s}else E(`resolve${wr(e.slice(0,-1))} can only be used in render() or setup().`)}function Ll(e,t){return e&&(e[t]||e[hn(t)]||e[wr(hn(t))])}function Ml(e,t,n,r){let i;const o=n&&n[r];if($(e)||Vt(e)){i=new Array(e.length);for(let s=0,a=e.length;s<a;s++)i[s]=t(e[s],s,void 0,o&&o[s])}else if(typeof e==\"number\"){Number.isInteger(e)||E(`The v-for range expect an integer value but got ${e}.`),i=new Array(e);for(let s=0;s<e;s++)i[s]=t(s+1,s,void 0,o&&o[s])}else if(Ft(e))if(e[Symbol.iterator])i=Array.from(e,(s,a)=>t(s,a,void 0,o&&o[a]));else{const s=Object.keys(e);i=new Array(s.length);for(let a=0,c=s.length;a<c;a++){const l=s[a];i[a]=t(e[l],l,a,o&&o[a])}}else i=[];return n&&(n[r]=i),i}function cm(e,t,n={},r,i){if(Qt.isCE||Qt.parent&&gi(Qt.parent)&&Qt.parent.isCE)return je(\"slot\",t===\"default\"?null:{name:t},r&&r());let o=e[t];o&&o.length>1&&(E(\"SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.\"),o=()=>[]),o&&o._c&&(o._d=!1),_e();const s=o&&If(o(n)),a=rc(ie,{key:n.key||s&&s.key||`_${t}`},s||(r?r():[]),s&&e._===1?64:-2);return!i&&a.scopeId&&(a.slotScopeIds=[a.scopeId+\"-s\"]),o&&o._c&&(o._d=!0),a}function If(e){return e.some(t=>po(t)?!(t.type===fe||t.type===ie&&!If(t.children)):!0)?e:null}const ya=e=>e?Uf(e)?oc(e)||e.proxy:ya(e.parent):null,Gr=kt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>kr(e.props),$attrs:e=>kr(e.attrs),$slots:e=>kr(e.slots),$refs:e=>kr(e.refs),$parent:e=>ya(e.parent),$root:e=>ya(e.root),$emit:e=>e.emit,$options:e=>Tf(e),$forceUpdate:e=>e.f||(e.f=()=>co(e.update)),$nextTick:e=>e.n||(e.n=Ay.bind(e.proxy)),$watch:e=>Gy.bind(e)}),ec=e=>e===\"_\"||e===\"$\",Sf={get({_:e},t){const{ctx:n,setupState:r,data:i,props:o,accessCache:s,type:a,appContext:c}=e;if(t===\"__isVue\")return!0;if(r!==vt&&r.__isScriptSetup&&ot(r,t))return r[t];let l;if(t[0]!==\"$\"){const O=s[t];if(O!==void 0)switch(O){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(r!==vt&&ot(r,t))return s[t]=1,r[t];if(i!==vt&&ot(i,t))return s[t]=2,i[t];if((l=e.propsOptions[0])&&ot(l,t))return s[t]=3,o[t];if(n!==vt&&ot(n,t))return s[t]=4,n[t];ma&&(s[t]=0)}}const d=Gr[t];let p,_;if(d)return t===\"$attrs\"&&(Ie(e,\"get\",t),Ms()),d(e);if((p=a.__cssModules)&&(p=p[t]))return p;if(n!==vt&&ot(n,t))return s[t]=4,n[t];if(_=c.config.globalProperties,ot(_,t))return _[t];Qt&&(!Vt(t)||t.indexOf(\"__v\")!==0)&&(i!==vt&&ec(t[0])&&ot(i,t)?E(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`):e===Qt&&E(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){const{data:r,setupState:i,ctx:o}=e;return i!==vt&&ot(i,t)?(i[t]=n,!0):r!==vt&&ot(r,t)?(r[t]=n,!0):ot(e.props,t)?(E(`Attempting to mutate prop \"${t}\". Props are readonly.`,e),!1):t[0]===\"$\"&&t.slice(1)in e?(E(`Attempting to mutate public property \"${t}\". Properties starting with $ are reserved and readonly.`,e),!1):(t in e.appContext.config.globalProperties?Object.defineProperty(o,t,{enumerable:!0,configurable:!0,value:n}):o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:o}},s){let a;return!!n[s]||e!==vt&&ot(e,s)||t!==vt&&ot(t,s)||(a=o[0])&&ot(a,s)||ot(r,s)||ot(Gr,s)||ot(i.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:ot(n,\"value\")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};Sf.ownKeys=e=>(E(\"Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.\"),Reflect.ownKeys(e));function lm(e){const t={};return Object.defineProperty(t,\"_\",{configurable:!0,enumerable:!1,get:()=>e}),Object.keys(Gr).forEach(n=>{Object.defineProperty(t,n,{configurable:!0,enumerable:!1,get:()=>Gr[n](e),set:le})}),t}function um(e){const{ctx:t,propsOptions:[n]}=e;n&&Object.keys(n).forEach(r=>{Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>e.props[r],set:le})})}function fm(e){const{ctx:t,setupState:n}=e;Object.keys(rt(n)).forEach(r=>{if(!n.__isScriptSetup){if(ec(r[0])){E(`setup() return property ${JSON.stringify(r)} should not start with \"$\" or \"_\" which are reserved prefixes for Vue internals.`);return}Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>n[r],set:le})}})}function dm(){const e=Object.create(null);return(t,n)=>{e[n]?E(`${t} property \"${n}\" is already defined in ${e[n]}.`):e[n]=t}}let ma=!0;function hm(e){const t=Tf(e),n=e.proxy,r=e.ctx;ma=!1,t.beforeCreate&&Cl(t.beforeCreate,e,\"bc\");const{data:i,computed:o,methods:s,watch:a,provide:c,inject:l,created:d,beforeMount:p,mounted:_,beforeUpdate:O,updated:P,activated:X,deactivated:Q,beforeDestroy:gt,beforeUnmount:pt,destroyed:Ct,unmounted:Lt,render:Nt,renderTracked:Ze,renderTriggered:Le,errorCaptured:Te,serverPrefetch:Be,expose:Et,inheritAttrs:Oe,components:Zt,directives:_n,filters:Mr}=t,Me=dm();{const[et]=e.propsOptions;if(et)for(const tt in et)Me(\"Props\",tt)}if(l&&pm(l,r,Me,e.appContext.config.unwrapInjectedRef),s)for(const et in s){const tt=s[et];z(tt)?(Object.defineProperty(r,et,{value:tt.bind(n),configurable:!0,enumerable:!0,writable:!0}),Me(\"Methods\",et)):E(`Method \"${et}\" has type \"${typeof tt}\" in the component definition. Did you reference the function correctly?`)}if(i){z(i)||E(\"The data option must be a function. Plain object usage is no longer supported.\");const et=i.call(n,n);if(Pa(et)&&E(\"data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.\"),!Ft(et))E(\"data() should return an object.\");else{e.data=Wa(et);for(const tt in et)Me(\"Data\",tt),ec(tt[0])||Object.defineProperty(r,tt,{configurable:!0,enumerable:!0,get:()=>et[tt],set:le})}}if(ma=!0,o)for(const et in o){const tt=o[et],zt=z(tt)?tt.bind(n,n):z(tt.get)?tt.get.bind(n,n):le;zt===le&&E(`Computed property \"${et}\" has no getter.`);const Xe=!z(tt)&&z(tt.set)?tt.set.bind(n):()=>{E(`Write operation failed: computed property \"${et}\" is readonly.`)},Qe=Xm({get:zt,set:Xe});Object.defineProperty(r,et,{enumerable:!0,configurable:!0,get:()=>Qe.value,set:Ce=>Qe.value=Ce}),Me(\"Computed\",et)}if(a)for(const et in a)Af(a[et],r,n,et);if(c){const et=z(c)?c.call(n):c;Reflect.ownKeys(et).forEach(tt=>{Jy(tt,et[tt])})}d&&Cl(d,e,\"c\");function It(et,tt){$(tt)?tt.forEach(zt=>et(zt.bind(n))):tt&&et(tt.bind(n))}if(It(tm,p),It(Xa,_),It(em,O),It(Qa,P),It(Zy,X),It(Xy,Q),It(wf,Te),It(sm,Ze),It(im,Le),It(nm,pt),It(tc,Lt),It(rm,Be),$(Et))if(Et.length){const et=e.exposed||(e.exposed={});Et.forEach(tt=>{Object.defineProperty(et,tt,{get:()=>n[tt],set:zt=>n[tt]=zt})})}else e.exposed||(e.exposed={});Nt&&e.render===le&&(e.render=Nt),Oe!=null&&(e.inheritAttrs=Oe),Zt&&(e.components=Zt),_n&&(e.directives=_n)}function pm(e,t,n=le,r=!1){$(e)&&(e=ba(e));for(const i in e){const o=e[i];let s;Ft(o)?\"default\"in o?s=ko(o.from||i,o.default,!0):s=ko(o.from||i):s=ko(o),Kt(s)?r?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):(E(`injected property \"${i}\" is a ref and will be auto-unwrapped and no longer needs \\`.value\\` in the next minor release. To opt-in to the new behavior now, set \\`app.config.unwrapInjectedRef = true\\` (this config is temporary and will not be needed in the future.)`),t[i]=s):t[i]=s,n(\"Inject\",i)}}function Cl(e,t,n){$e($(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Af(e,t,n,r){const i=r.includes(\".\")?gf(n,r):()=>n[r];if(Vt(e)){const o=t[e];z(o)?$o(i,o):E(`Invalid watch handler specified by key \"${e}\"`,o)}else if(z(e))$o(i,e.bind(n));else if(Ft(e))if($(e))e.forEach(o=>Af(o,t,n,r));else{const o=z(e.handler)?e.handler.bind(n):t[e.handler];z(o)?$o(i,o,e):E(`Invalid watch handler specified by key \"${e.handler}\"`,o)}else E(`Invalid watch option: \"${r}\"`,e)}function Tf(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:s}}=e.appContext,a=o.get(t);let c;return a?c=a:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(l=>Cs(c,l,s,!0)),Cs(c,t,s)),Ft(t)&&o.set(t,c),c}function Cs(e,t,n,r=!1){const{mixins:i,extends:o}=t;o&&Cs(e,o,n,!0),i&&i.forEach(s=>Cs(e,s,n,!0));for(const s in t)if(r&&s===\"expose\")E('\"expose\" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.');else{const a=ym[s]||n&&n[s];e[s]=a?a(e[s],t[s]):t[s]}return e}const ym={data:Rl,props:ur,emits:ur,methods:ur,computed:ur,beforeCreate:ee,created:ee,beforeMount:ee,mounted:ee,beforeUpdate:ee,updated:ee,beforeDestroy:ee,beforeUnmount:ee,destroyed:ee,unmounted:ee,activated:ee,deactivated:ee,errorCaptured:ee,serverPrefetch:ee,components:ur,directives:ur,watch:bm,provide:Rl,inject:mm};function Rl(e,t){return t?e?function(){return kt(z(e)?e.call(this,this):e,z(t)?t.call(this,this):t)}:t:e}function mm(e,t){return ur(ba(e),ba(t))}function ba(e){if($(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function ee(e,t){return e?[...new Set([].concat(e,t))]:t}function ur(e,t){return e?kt(kt(Object.create(null),e),t):t}function bm(e,t){if(!e)return t;if(!t)return e;const n=kt(Object.create(null),e);for(const r in t)n[r]=ee(e[r],t[r]);return n}function gm(e,t,n,r=!1){const i={},o={};Fs(o,yo,1),e.propsDefaults=Object.create(null),Bf(e,t,i,o);for(const s in e.propsOptions[0])s in i||(i[s]=void 0);xf(t||{},i,e),n?e.props=r?i:fy(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function _m(e){for(;e;){if(e.type.__hmrId)return!0;e=e.parent}}function wm(e,t,n,r){const{props:i,attrs:o,vnode:{patchFlag:s}}=e,a=rt(i),[c]=e.propsOptions;let l=!1;if(!_m(e)&&(r||s>0)&&!(s&16)){if(s&8){const d=e.vnode.dynamicProps;for(let p=0;p<d.length;p++){let _=d[p];if(lo(e.emitsOptions,_))continue;const O=t[_];if(c)if(ot(o,_))O!==o[_]&&(o[_]=O,l=!0);else{const P=hn(_);i[P]=ga(c,a,P,O,e,!1)}else O!==o[_]&&(o[_]=O,l=!0)}}}else{Bf(e,t,i,o)&&(l=!0);let d;for(const p in a)(!t||!ot(t,p)&&((d=Hn(p))===p||!ot(t,d)))&&(c?n&&(n[p]!==void 0||n[d]!==void 0)&&(i[p]=ga(c,a,p,void 0,e,!0)):delete i[p]);if(o!==a)for(const p in o)(!t||!ot(t,p)&&!0)&&(delete o[p],l=!0)}l&&On(e,\"set\",\"$attrs\"),xf(t||{},i,e)}function Bf(e,t,n,r){const[i,o]=e.propsOptions;let s=!1,a;if(t)for(let c in t){if(ms(c))continue;const l=t[c];let d;i&&ot(i,d=hn(c))?!o||!o.includes(d)?n[d]=l:(a||(a={}))[d]=l:lo(e.emitsOptions,c)||(!(c in r)||l!==r[c])&&(r[c]=l,s=!0)}if(o){const c=rt(n),l=a||vt;for(let d=0;d<o.length;d++){const p=o[d];n[p]=ga(i,c,p,l[p],e,!ot(l,p))}}return s}function ga(e,t,n,r,i,o){const s=e[n];if(s!=null){const a=ot(s,\"default\");if(a&&r===void 0){const c=s.default;if(s.type!==Function&&z(c)){const{propsDefaults:l}=i;n in l?r=l[n]:(Zr(i),r=l[n]=c.call(null,t),_r())}else r=c}s[0]&&(o&&!a?r=!1:s[1]&&(r===\"\"||r===Hn(n))&&(r=!0))}return r}function Of(e,t,n=!1){const r=t.propsCache,i=r.get(e);if(i)return i;const o=e.props,s={},a=[];let c=!1;if(!z(e)){const d=p=>{c=!0;const[_,O]=Of(p,t,!0);kt(s,_),O&&a.push(...O)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!c)return Ft(e)&&r.set(e,zr),zr;if($(o))for(let d=0;d<o.length;d++){Vt(o[d])||E(\"props must be strings when using array syntax.\",o[d]);const p=hn(o[d]);Ul(p)&&(s[p]=vt)}else if(o){Ft(o)||E(\"invalid props options\",o);for(const d in o){const p=hn(d);if(Ul(p)){const _=o[d],O=s[p]=$(_)||z(_)?{type:_}:_;if(O){const P=Pl(Boolean,O.type),X=Pl(String,O.type);O[0]=P>-1,O[1]=X<0||P<X,(P>-1||ot(O,\"default\"))&&a.push(p)}}}}const l=[s,a];return Ft(e)&&r.set(e,l),l}function Ul(e){return e[0]!==\"$\"?!0:(E(`Invalid prop name: \"${e}\" is a reserved property.`),!1)}function _a(e){const t=e&&e.toString().match(/^\\s*function (\\w+)/);return t?t[1]:e===null?\"null\":\"\"}function Nl(e,t){return _a(e)===_a(t)}function Pl(e,t){return $(t)?t.findIndex(n=>Nl(n,e)):z(t)&&Nl(t,e)?0:-1}function xf(e,t,n){const r=rt(t),i=n.propsOptions[0];for(const o in i){let s=i[o];s!=null&&vm(o,r[o],s,!ot(e,o)&&!ot(e,Hn(o)))}}function vm(e,t,n,r){const{type:i,required:o,validator:s}=n;if(o&&r){E('Missing required prop: \"'+e+'\"');return}if(!(t==null&&!n.required)){if(i!=null&&i!==!0){let a=!1;const c=$(i)?i:[i],l=[];for(let d=0;d<c.length&&!a;d++){const{valid:p,expectedType:_}=Sm(t,c[d]);l.push(_||\"\"),a=p}if(!a){E(Am(e,t,l));return}}s&&!s(t)&&E('Invalid prop: custom validator check failed for prop \"'+e+'\".')}}const Im=tr(\"String,Number,Boolean,Function,Symbol,BigInt\");function Sm(e,t){let n;const r=_a(t);if(Im(r)){const i=typeof e;n=i===r.toLowerCase(),!n&&i===\"object\"&&(n=e instanceof t)}else r===\"Object\"?n=Ft(e):r===\"Array\"?n=$(e):r===\"null\"?n=e===null:n=e instanceof t;return{valid:n,expectedType:r}}function Am(e,t,n){let r=`Invalid prop: type check failed for prop \"${e}\". Expected ${n.map(wr).join(\" | \")}`;const i=n[0],o=Va(t),s=Vl(t,i),a=Vl(t,o);return n.length===1&&kl(i)&&!Tm(i,o)&&(r+=` with value ${s}`),r+=`, got ${o} `,kl(o)&&(r+=`with value ${a}.`),r}function Vl(e,t){return t===\"String\"?`\"${e}\"`:t===\"Number\"?`${Number(e)}`:`${e}`}function kl(e){return[\"string\",\"number\",\"boolean\"].some(n=>e.toLowerCase()===n)}function Tm(...e){return e.some(t=>t.toLowerCase()===\"boolean\")}const Ff=e=>e[0]===\"_\"||e===\"$stable\",nc=e=>$(e)?e.map(Ne):[Ne(e)],Bm=(e,t,n)=>{if(t._n)return t;const r=yf((...i)=>(Ht&&E(`Slot \"${e}\" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`),nc(t(...i))),n);return r._c=!1,r},Ef=(e,t,n)=>{const r=e._ctx;for(const i in e){if(Ff(i))continue;const o=e[i];if(z(o))t[i]=Bm(i,o,r);else if(o!=null){E(`Non-function value encountered for slot \"${i}\". Prefer function slots for better performance.`);const s=nc(o);t[i]=()=>s}}},Df=(e,t)=>{Za(e.vnode)||E(\"Non-function value encountered for default slot. Prefer function slots for better performance.\");const n=nc(t);e.slots.default=()=>n},Om=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=rt(t),Fs(t,\"_\",n)):Ef(t,e.slots={})}else e.slots={},t&&Df(e,t);Fs(e.slots,yo,1)},xm=(e,t,n)=>{const{vnode:r,slots:i}=e;let o=!0,s=vt;if(r.shapeFlag&32){const a=t._;a?gr?kt(i,t):n&&a===1?o=!1:(kt(i,t),!n&&a===1&&delete i._):(o=!t.$stable,Ef(t,i)),s=t}else t&&(Df(e,t),s={default:1});if(o)for(const a in i)!Ff(a)&&!(a in s)&&delete i[a]};function Lf(){return{app:null,config:{isNativeTag:Mu,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Fm=0;function Em(e,t){return function(r,i=null){z(r)||(r=Object.assign({},r)),i!=null&&!Ft(i)&&(E(\"root props passed to app.mount() must be an object.\"),i=null);const o=Lf(),s=new Set;let a=!1;const c=o.app={_uid:Fm++,_component:r,_props:i,_container:null,_context:o,_instance:null,version:zl,get config(){return o.config},set config(l){E(\"app.config cannot be replaced. Modify individual options instead.\")},use(l,...d){return s.has(l)?E(\"Plugin has already been applied to target app.\"):l&&z(l.install)?(s.add(l),l.install(c,...d)):z(l)?(s.add(l),l(c,...d)):E('A plugin must either be a function or an object with an \"install\" function.'),c},mixin(l){return o.mixins.includes(l)?E(\"Mixin has already been applied to target app\"+(l.name?`: ${l.name}`:\"\")):o.mixins.push(l),c},component(l,d){return va(l,o.config),d?(o.components[l]&&E(`Component \"${l}\" has already been registered in target app.`),o.components[l]=d,c):o.components[l]},directive(l,d){return vf(l),d?(o.directives[l]&&E(`Directive \"${l}\" has already been registered in target app.`),o.directives[l]=d,c):o.directives[l]},mount(l,d,p){if(a)E(\"App has already been mounted.\\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. `const createMyApp = () => createApp(App)`\");else{l.__vue_app__&&E(\"There is already an app instance mounted on the host container.\\n If you want to mount another app on the same host container, you need to unmount the previous app by calling `app.unmount()` first.\");const _=je(r,i);return _.appContext=o,o.reload=()=>{e(Jn(_),l,p)},d&&t?t(_,l):e(_,l,p),a=!0,c._container=l,l.__vue_app__=c,c._instance=_.component,Ly(c,zl),oc(_.component)||_.component.proxy}},unmount(){a?(e(null,c._container),c._instance=null,My(c),delete c._container.__vue_app__):E(\"Cannot unmount an app that is not mounted.\")},provide(l,d){return l in o.provides&&E(`App already provides property with key \"${String(l)}\". It will be overwritten with the new value.`),o.provides[l]=d,c}};return c}}function wa(e,t,n,r,i=!1){if($(e)){e.forEach((_,O)=>wa(_,t&&($(t)?t[O]:t),n,r,i));return}if(gi(r)&&!i)return;const o=r.shapeFlag&4?oc(r.component)||r.component.proxy:r.el,s=i?null:o,{i:a,r:c}=e;if(!a){E(\"Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.\");return}const l=t&&t.r,d=a.refs===vt?a.refs={}:a.refs,p=a.setupState;if(l!=null&&l!==c&&(Vt(l)?(d[l]=null,ot(p,l)&&(p[l]=null)):Kt(l)&&(l.value=null)),z(c))Bn(c,a,12,[s,d]);else{const _=Vt(c),O=Kt(c);if(_||O){const P=()=>{if(e.f){const X=_?d[c]:c.value;i?$(X)&&Ua(X,o):$(X)?X.includes(o)||X.push(o):_?(d[c]=[o],ot(p,c)&&(p[c]=d[c])):(c.value=[o],e.k&&(d[e.k]=c.value))}else _?(d[c]=s,ot(p,c)&&(p[c]=s)):O?(c.value=s,e.k&&(d[e.k]=s)):E(\"Invalid template ref type:\",c,`(${typeof c})`)};s?(P.id=-1,ce(P,n)):P()}else E(\"Invalid template ref type:\",c,`(${typeof c})`)}}let fi,jn;function wn(e,t){e.appContext.config.performance&&Rs()&&jn.mark(`vue-${t}-${e.uid}`),Uy(e,t,Rs()?jn.now():Date.now())}function vn(e,t){if(e.appContext.config.performance&&Rs()){const n=`vue-${t}-${e.uid}`,r=n+\":end\";jn.mark(r),jn.measure(`<${mo(e,e.type)}> ${t}`,n,r),jn.clearMarks(n),jn.clearMarks(r)}Ny(e,t,Rs()?jn.now():Date.now())}function Rs(){return fi!==void 0||(typeof window!=\"undefined\"&&window.performance?(fi=!0,jn=window.performance):fi=!1),fi}function Dm(){const e=[];if(e.length){const t=e.length>1;console.warn(`Feature flag${t?\"s\":\"\"} ${e.join(\", \")} ${t?\"are\":\"is\"} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.\n\nFor more details, see https://link.vuejs.org/feature-flags.`)}}const ce=qy;function Lm(e){return Mm(e)}function Mm(e,t){Dm();const n=Nu();n.__VUE__=!0,ff(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:r,remove:i,patchProp:o,createElement:s,createText:a,createComment:c,setText:l,setElementText:d,parentNode:p,nextSibling:_,setScopeId:O=le,cloneNode:P,insertStaticContent:X}=e,Q=(f,h,w,S=null,I=null,x=null,D=!1,B=null,F=gr?!1:!!h.dynamicChildren)=>{if(f===h)return;f&&!di(f,h)&&(S=oe(f),pe(f,I,x,!0),f=null),h.patchFlag===-2&&(F=!1,h.dynamicChildren=null);const{type:T,ref:U,shapeFlag:C}=h;switch(T){case ho:gt(f,h,w,S);break;case fe:pt(f,h,w,S);break;case ws:f==null?Ct(h,w,S,D):Lt(f,h,w,D);break;case ie:Mr(f,h,w,S,I,x,D,B,F);break;default:C&1?Le(f,h,w,S,I,x,D,B,F):C&6?Me(f,h,w,S,I,x,D,B,F):C&64||C&128?T.process(f,h,w,S,I,x,D,B,F,tn):E(\"Invalid VNode type:\",T,`(${typeof T})`)}U!=null&&I&&wa(U,f&&f.ref,x,h||f,!h)},gt=(f,h,w,S)=>{if(f==null)r(h.el=a(h.children),w,S);else{const I=h.el=f.el;h.children!==f.children&&l(I,h.children)}},pt=(f,h,w,S)=>{f==null?r(h.el=c(h.children||\"\"),w,S):h.el=f.el},Ct=(f,h,w,S)=>{[f.el,f.anchor]=X(f.children,h,w,S,f.el,f.anchor)},Lt=(f,h,w,S)=>{if(h.children!==f.children){const I=_(f.anchor);Ze(f),[h.el,h.anchor]=X(h.children,w,I,S)}else h.el=f.el,h.anchor=f.anchor},Nt=({el:f,anchor:h},w,S)=>{let I;for(;f&&f!==h;)I=_(f),r(f,w,S),f=I;r(h,w,S)},Ze=({el:f,anchor:h})=>{let w;for(;f&&f!==h;)w=_(f),i(f),f=w;i(h)},Le=(f,h,w,S,I,x,D,B,F)=>{D=D||h.type===\"svg\",f==null?Te(h,w,S,I,x,D,B,F):Oe(f,h,I,x,D,B,F)},Te=(f,h,w,S,I,x,D,B)=>{let F,T;const{type:U,props:C,shapeFlag:N,transition:k,patchFlag:ft,dirs:_t}=f;{if(F=f.el=s(f.type,x,C&&C.is,C),N&8?d(F,f.children):N&16&&Et(f.children,F,null,S,I,x&&U!==\"foreignObject\",D,B),_t&&or(f,null,S,\"created\"),C){for(const yt in C)yt!==\"value\"&&!ms(yt)&&o(F,yt,null,C[yt],x,f.children,S,I,te);\"value\"in C&&o(F,\"value\",null,C.value),(T=C.onVnodeBeforeMount)&&sn(T,S,f)}Be(F,f,f.scopeId,D,S)}Object.defineProperty(F,\"__vnode\",{value:f,enumerable:!1}),Object.defineProperty(F,\"__vueParentComponent\",{value:S,enumerable:!1}),_t&&or(f,null,S,\"beforeMount\");const St=(!I||I&&!I.pendingBranch)&&k&&!k.persisted;St&&k.beforeEnter(F),r(F,h,w),((T=C&&C.onVnodeMounted)||St||_t)&&ce(()=>{T&&sn(T,S,f),St&&k.enter(F),_t&&or(f,null,S,\"mounted\")},I)},Be=(f,h,w,S,I)=>{if(w&&O(f,w),S)for(let x=0;x<S.length;x++)O(f,S[x]);if(I){let x=I.subTree;if(x.patchFlag>0&&x.patchFlag&2048&&(x=mf(x.children)||x),h===x){const D=I.vnode;Be(f,D,D.scopeId,D.slotScopeIds,I.parent)}}},Et=(f,h,w,S,I,x,D,B,F=0)=>{for(let T=F;T<f.length;T++){const U=f[T]=B?$n(f[T]):Ne(f[T]);Q(null,U,h,w,S,I,x,D,B)}},Oe=(f,h,w,S,I,x,D)=>{const B=h.el=f.el;let{patchFlag:F,dynamicChildren:T,dirs:U}=h;F|=f.patchFlag&16;const C=f.props||vt,N=h.props||vt;let k;w&&ar(w,!1),(k=N.onVnodeBeforeUpdate)&&sn(k,w,h,f),U&&or(h,f,w,\"beforeUpdate\"),w&&ar(w,!0),gr&&(F=0,D=!1,T=null);const ft=I&&h.type!==\"foreignObject\";if(T?(Zt(f.dynamicChildren,T,B,w,S,ft,x),w&&w.type.__hmrId&&_s(f,h)):D||Xe(f,h,B,null,w,S,ft,x,!1),F>0){if(F&16)_n(B,h,C,N,w,S,I);else if(F&2&&C.class!==N.class&&o(B,\"class\",null,N.class,I),F&4&&o(B,\"style\",C.style,N.style,I),F&8){const _t=h.dynamicProps;for(let St=0;St<_t.length;St++){const yt=_t[St],ae=C[yt],Rn=N[yt];(Rn!==ae||yt===\"value\")&&o(B,yt,ae,Rn,I,f.children,w,S,te)}}F&1&&f.children!==h.children&&d(B,h.children)}else!D&&T==null&&_n(B,h,C,N,w,S,I);((k=N.onVnodeUpdated)||U)&&ce(()=>{k&&sn(k,w,h,f),U&&or(h,f,w,\"updated\")},S)},Zt=(f,h,w,S,I,x,D)=>{for(let B=0;B<h.length;B++){const F=f[B],T=h[B],U=F.el&&(F.type===ie||!di(F,T)||F.shapeFlag&70)?p(F.el):w;Q(F,T,U,null,S,I,x,D,!0)}},_n=(f,h,w,S,I,x,D)=>{if(w!==S){for(const B in S){if(ms(B))continue;const F=S[B],T=w[B];F!==T&&B!==\"value\"&&o(f,B,T,F,D,h.children,I,x,te)}if(w!==vt)for(const B in w)!ms(B)&&!(B in S)&&o(f,B,w[B],null,D,h.children,I,x,te);\"value\"in S&&o(f,\"value\",w.value,S.value)}},Mr=(f,h,w,S,I,x,D,B,F)=>{const T=h.el=f?f.el:a(\"\"),U=h.anchor=f?f.anchor:a(\"\");let{patchFlag:C,dynamicChildren:N,slotScopeIds:k}=h;(gr||C&2048)&&(C=0,F=!1,N=null),k&&(B=B?B.concat(k):k),f==null?(r(T,w,S),r(U,w,S),Et(h.children,w,U,I,x,D,B,F)):C>0&&C&64&&N&&f.dynamicChildren?(Zt(f.dynamicChildren,N,w,I,x,D,B),I&&I.type.__hmrId?_s(f,h):(h.key!=null||I&&h===I.subTree)&&_s(f,h,!0)):Xe(f,h,w,U,I,x,D,B,F)},Me=(f,h,w,S,I,x,D,B,F)=>{h.slotScopeIds=B,f==null?h.shapeFlag&512?I.ctx.activate(h,w,S,D,F):It(h,w,S,I,x,D,F):et(f,h,F)},It=(f,h,w,S,I,x,D)=>{const B=f.component=zm(f,S,I);if(B.type.__hmrId&&xy(B),bs(f),wn(B,\"mount\"),Za(f)&&(B.ctx.renderer=tn),wn(B,\"init\"),Ym(B),vn(B,\"init\"),B.asyncDep){if(I&&I.registerDep(B,tt),!f.el){const F=B.subTree=je(fe);pt(null,F,h,w)}return}tt(B,f,h,w,I,x,D),gs(),vn(B,\"mount\")},et=(f,h,w)=>{const S=h.component=f.component;if(Yy(f,h,w))if(S.asyncDep&&!S.asyncResolved){bs(h),zt(S,h,w),gs();return}else S.next=h,By(S.update),S.update();else h.el=f.el,S.vnode=h},tt=(f,h,w,S,I,x,D)=>{const B=()=>{if(f.isMounted){let{next:U,bu:C,u:N,parent:k,vnode:ft}=f,_t=U,St;bs(U||f.vnode),ar(f,!1),U?(U.el=ft.el,zt(f,U,D)):U=ft,C&&ui(C),(St=U.props&&U.props.onVnodeBeforeUpdate)&&sn(St,k,U,ft),ar(f,!0),wn(f,\"render\");const yt=Vo(f);vn(f,\"render\");const ae=f.subTree;f.subTree=yt,wn(f,\"patch\"),Q(ae,yt,p(ae.el),oe(ae),f,I,x),vn(f,\"patch\"),U.el=yt.el,_t===null&&Hy(f,yt.el),N&&ce(N,I),(St=U.props&&U.props.onVnodeUpdated)&&ce(()=>sn(St,k,U,ft),I),df(f),gs()}else{let U;const{el:C,props:N}=h,{bm:k,m:ft,parent:_t}=f,St=gi(h);if(ar(f,!1),k&&ui(k),!St&&(U=N&&N.onVnodeBeforeMount)&&sn(U,_t,h),ar(f,!0),C&&en){const yt=()=>{wn(f,\"render\"),f.subTree=Vo(f),vn(f,\"render\"),wn(f,\"hydrate\"),en(C,f.subTree,f,I,null),vn(f,\"hydrate\")};St?h.type.__asyncLoader().then(()=>!f.isUnmounted&&yt()):yt()}else{wn(f,\"render\");const yt=f.subTree=Vo(f);vn(f,\"render\"),wn(f,\"patch\"),Q(null,yt,w,S,f,I,x),vn(f,\"patch\"),h.el=yt.el}if(ft&&ce(ft,I),!St&&(U=N&&N.onVnodeMounted)){const yt=h;ce(()=>sn(U,_t,yt),I)}(h.shapeFlag&256||_t&&gi(_t.vnode)&&_t.vnode.shapeFlag&256)&&f.a&&ce(f.a,I),f.isMounted=!0,Cy(f),h=w=S=null}},F=f.effect=new ja(B,()=>co(T),f.scope),T=f.update=()=>F.run();T.id=f.uid,ar(f,!0),F.onTrack=f.rtc?U=>ui(f.rtc,U):void 0,F.onTrigger=f.rtg?U=>ui(f.rtg,U):void 0,T.ownerInstance=f,T()},zt=(f,h,w)=>{h.component=f;const S=f.vnode.props;f.vnode=h,f.next=null,wm(f,h.props,S,w),xm(f,h.children,w),Or(),Bl(),xr()},Xe=(f,h,w,S,I,x,D,B,F=!1)=>{const T=f&&f.children,U=f?f.shapeFlag:0,C=h.children,{patchFlag:N,shapeFlag:k}=h;if(N>0){if(N&128){Ce(T,C,w,S,I,x,D,B,F);return}else if(N&256){Qe(T,C,w,S,I,x,D,B,F);return}}k&8?(U&16&&te(T,I,x),C!==T&&d(w,C)):U&16?k&16?Ce(T,C,w,S,I,x,D,B,F):te(T,I,x,!0):(U&8&&d(w,\"\"),k&16&&Et(C,w,S,I,x,D,B,F))},Qe=(f,h,w,S,I,x,D,B,F)=>{f=f||zr,h=h||zr;const T=f.length,U=h.length,C=Math.min(T,U);let N;for(N=0;N<C;N++){const k=h[N]=F?$n(h[N]):Ne(h[N]);Q(f[N],k,w,null,I,x,D,B,F)}T>U?te(f,I,x,!0,!1,C):Et(h,w,S,I,x,D,B,F,C)},Ce=(f,h,w,S,I,x,D,B,F)=>{let T=0;const U=h.length;let C=f.length-1,N=U-1;for(;T<=C&&T<=N;){const k=f[T],ft=h[T]=F?$n(h[T]):Ne(h[T]);if(di(k,ft))Q(k,ft,w,null,I,x,D,B,F);else break;T++}for(;T<=C&&T<=N;){const k=f[C],ft=h[N]=F?$n(h[N]):Ne(h[N]);if(di(k,ft))Q(k,ft,w,null,I,x,D,B,F);else break;C--,N--}if(T>C){if(T<=N){const k=N+1,ft=k<U?h[k].el:S;for(;T<=N;)Q(null,h[T]=F?$n(h[T]):Ne(h[T]),w,ft,I,x,D,B,F),T++}}else if(T>N)for(;T<=C;)pe(f[T],I,x,!0),T++;else{const k=T,ft=T,_t=new Map;for(T=ft;T<=N;T++){const Wt=h[T]=F?$n(h[T]):Ne(h[T]);Wt.key!=null&&(_t.has(Wt.key)&&E(\"Duplicate keys found during update:\",JSON.stringify(Wt.key),\"Make sure keys are unique.\"),_t.set(Wt.key,T))}let St,yt=0;const ae=N-ft+1;let Rn=!1,rs=0;const Un=new Array(ae);for(T=0;T<ae;T++)Un[T]=0;for(T=k;T<=C;T++){const Wt=f[T];if(yt>=ae){pe(Wt,I,x,!0);continue}let xe;if(Wt.key!=null)xe=_t.get(Wt.key);else for(St=ft;St<=N;St++)if(Un[St-ft]===0&&di(Wt,h[St])){xe=St;break}xe===void 0?pe(Wt,I,x,!0):(Un[xe-ft]=T+1,xe>=rs?rs=xe:Rn=!0,Q(Wt,h[xe],w,null,I,x,D,B,F),yt++)}const is=Rn?Cm(Un):zr;for(St=is.length-1,T=ae-1;T>=0;T--){const Wt=ft+T,xe=h[Wt],ir=Wt+1<U?h[Wt+1].el:S;Un[T]===0?Q(null,xe,w,ir,I,x,D,B,F):Rn&&(St<0||T!==is[St]?bt(xe,w,ir,2):St--)}}},bt=(f,h,w,S,I=null)=>{const{el:x,type:D,transition:B,children:F,shapeFlag:T}=f;if(T&6){bt(f.component.subTree,h,w,S);return}if(T&128){f.suspense.move(h,w,S);return}if(T&64){D.move(f,h,w,tn);return}if(D===ie){r(x,h,w);for(let C=0;C<F.length;C++)bt(F[C],h,w,S);r(f.anchor,h,w);return}if(D===ws){Nt(f,h,w);return}if(S!==2&&T&1&&B)if(S===0)B.beforeEnter(x),r(x,h,w),ce(()=>B.enter(x),I);else{const{leave:C,delayLeave:N,afterLeave:k}=B,ft=()=>r(x,h,w),_t=()=>{C(x,()=>{ft(),k&&k()})};N?N(x,ft,_t):_t()}else r(x,h,w)},pe=(f,h,w,S=!1,I=!1)=>{const{type:x,props:D,ref:B,children:F,dynamicChildren:T,shapeFlag:U,patchFlag:C,dirs:N}=f;if(B!=null&&wa(B,null,w,f,!0),U&256){h.ctx.deactivate(f);return}const k=U&1&&N,ft=!gi(f);let _t;if(ft&&(_t=D&&D.onVnodeBeforeUnmount)&&sn(_t,h,f),U&6)Cr(f.component,w,S);else{if(U&128){f.suspense.unmount(w,S);return}k&&or(f,null,h,\"beforeUnmount\"),U&64?f.type.remove(f,h,w,I,tn,S):T&&(x!==ie||C>0&&C&64)?te(T,h,w,!1,!0):(x===ie&&C&384||!I&&U&16)&&te(F,h,w),S&&Mn(f)}(ft&&(_t=D&&D.onVnodeUnmounted)||k)&&ce(()=>{_t&&sn(_t,h,f),k&&or(f,null,h,\"unmounted\")},w)},Mn=f=>{const{type:h,el:w,anchor:S,transition:I}=f;if(h===ie){f.patchFlag>0&&f.patchFlag&2048&&I&&!I.persisted?f.children.forEach(D=>{D.type===fe?i(D.el):Mn(D)}):rr(w,S);return}if(h===ws){Ze(f);return}const x=()=>{i(w),I&&!I.persisted&&I.afterLeave&&I.afterLeave()};if(f.shapeFlag&1&&I&&!I.persisted){const{leave:D,delayLeave:B}=I,F=()=>D(w,x);B?B(f.el,x,F):F()}else x()},rr=(f,h)=>{let w;for(;f!==h;)w=_(f),i(f),f=w;i(h)},Cr=(f,h,w)=>{f.type.__hmrId&&Fy(f);const{bum:S,scope:I,update:x,subTree:D,um:B}=f;S&&ui(S),I.stop(),x&&(x.active=!1,pe(D,f,h,w)),B&&ce(B,h),ce(()=>{f.isUnmounted=!0},h),h&&h.pendingBranch&&!h.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===h.pendingId&&(h.deps--,h.deps===0&&h.resolve()),Ry(f)},te=(f,h,w,S=!1,I=!1,x=0)=>{for(let D=x;D<f.length;D++)pe(f[D],h,w,S,I)},oe=f=>f.shapeFlag&6?oe(f.component.subTree):f.shapeFlag&128?f.suspense.next():_(f.anchor||f.el),Cn=(f,h,w)=>{f==null?h._vnode&&pe(h._vnode,null,null,!0):Q(h._vnode||null,f,h,null,null,null,w),Bl(),cf(),h._vnode=f},tn={p:Q,um:pe,m:bt,r:Mn,mt:It,mc:Et,pc:Xe,pbc:Zt,n:oe,o:e};let R,en;return t&&([R,en]=t(tn)),{render:Cn,hydrate:R,createApp:Em(Cn,R)}}function ar({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function _s(e,t,n=!1){const r=e.children,i=t.children;if($(r)&&$(i))for(let o=0;o<r.length;o++){const s=r[o];let a=i[o];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[o]=$n(i[o]),a.el=s.el),n||_s(s,a)),a.type===fe&&!a.el&&(a.el=s.el)}}function Cm(e){const t=e.slice(),n=[0];let r,i,o,s,a;const c=e.length;for(r=0;r<c;r++){const l=e[r];if(l!==0){if(i=n[n.length-1],e[i]<l){t[r]=i,n.push(r);continue}for(o=0,s=n.length-1;o<s;)a=o+s>>1,e[n[a]]<l?o=a+1:s=a;l<e[n[o]]&&(o>0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,s=n[o-1];o-- >0;)n[o]=s,s=t[s];return n}const Rm=e=>e.__isTeleport,ie=Symbol(\"Fragment\"),ho=Symbol(\"Text\"),fe=Symbol(\"Comment\"),ws=Symbol(\"Static\"),_i=[];let Ve=null;function _e(e=!1){_i.push(Ve=e?null:[])}function Um(){_i.pop(),Ve=_i[_i.length-1]||null}let Fi=1;function $l(e){Fi+=e}function Mf(e){return e.dynamicChildren=Fi>0?Ve||zr:null,Um(),Fi>0&&Ve&&Ve.push(e),e}function ln(e,t,n,r,i,o){return Mf(Pt(e,t,n,r,i,o,!0))}function rc(e,t,n,r,i){return Mf(je(e,t,n,r,i,!0))}function po(e){return e?e.__v_isVNode===!0:!1}function di(e,t){return t.shapeFlag&6&&Nr.has(t.type)?!1:e.type===t.type&&e.key===t.key}const Nm=(...e)=>Pm(...e),yo=\"__vInternal\",Cf=({key:e})=>e!=null?e:null,vs=({ref:e,ref_key:t,ref_for:n})=>e!=null?Vt(e)||Kt(e)||z(e)?{i:Qt,r:e,k:t,f:!!n}:e:null;function Pt(e,t=null,n=null,r=0,i=null,o=e===ie?0:1,s=!1,a=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Cf(t),ref:t&&vs(t),scopeId:uo,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null};return a?(sc(c,n),o&128&&e.normalize(c)):n&&(c.shapeFlag|=Vt(n)?8:16),c.key!==c.key&&E(\"VNode created with invalid key (NaN). VNode type:\",c.type),Fi>0&&!s&&Ve&&(c.patchFlag>0||o&6)&&c.patchFlag!==32&&Ve.push(c),c}const je=Nm;function Pm(e,t=null,n=null,r=0,i=null,o=!1){if((!e||e===om)&&(e||E(`Invalid vnode type when creating vnode: ${e}.`),e=fe),po(e)){const a=Jn(e,t,!0);return n&&sc(a,n),Fi>0&&!o&&Ve&&(a.shapeFlag&6?Ve[Ve.indexOf(e)]=a:Ve.push(a)),a.patchFlag|=-2,a}if(Pf(e)&&(e=e.__vccOpts),t){t=Vm(t);let{class:a,style:c}=t;a&&!Vt(a)&&(t.class=Ti(a)),Ft(c)&&(ua(c)&&!$(c)&&(c=kt({},c)),t.style=to(c))}const s=Vt(e)?1:Ky(e)?128:Rm(e)?64:Ft(e)?4:z(e)?2:0;return s&4&&ua(e)&&(e=rt(e),E(\"Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.\",`\nComponent that was made reactive: `,e)),Pt(e,t,n,r,i,s,o,!0)}function Vm(e){return e?ua(e)||yo in e?kt({},e):e:null}function Jn(e,t,n=!1){const{props:r,ref:i,patchFlag:o,children:s}=e,a=t?km(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Cf(a),ref:t&&t.ref?n&&i?$(i)?i.concat(vs(t)):[i,vs(t)]:vs(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o===-1&&$(s)?s.map(Rf):s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ie?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Jn(e.ssContent),ssFallback:e.ssFallback&&Jn(e.ssFallback),el:e.el,anchor:e.anchor}}function Rf(e){const t=Jn(e);return $(e.children)&&(t.children=e.children.map(Rf)),t}function ic(e=\" \",t=0){return je(ho,null,e,t)}function Sn(e=\"\",t=!1){return t?(_e(),rc(fe,null,e)):je(fe,null,e)}function Ne(e){return e==null||typeof e==\"boolean\"?je(fe):$(e)?je(ie,null,e.slice()):typeof e==\"object\"?$n(e):je(ho,null,String(e))}function $n(e){return e.el===null||e.memo?e:Jn(e)}function sc(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if($(t))n=16;else if(typeof t==\"object\")if(r&65){const i=t.default;i&&(i._c&&(i._d=!1),sc(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!(yo in t)?t._ctx=Qt:i===3&&Qt&&(Qt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else z(t)?(t={default:t,_ctx:Qt},n=32):(t=String(t),r&64?(n=16,t=[ic(t)]):n=8);e.children=t,e.shapeFlag|=n}function km(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const i in r)if(i===\"class\")t.class!==r.class&&(t.class=Ti([t.class,r.class]));else if(i===\"style\")t.style=to([t.style,r.style]);else if(ji(i)){const o=t[i],s=r[i];s&&o!==s&&!($(o)&&o.includes(s))&&(t[i]=o?[].concat(o,s):s)}else i!==\"\"&&(t[i]=r[i])}return t}function sn(e,t,n,r=null){$e(e,t,7,[n,r])}const $m=Lf();let jm=0;function zm(e,t,n){const r=e.type,i=(t?t.appContext:e.appContext)||$m,o={uid:jm++,vnode:e,type:r,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,scope:new Np(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Of(r,i),emitsOptions:pf(r,i),emit:null,emitted:null,propsDefaults:vt,inheritAttrs:r.inheritAttrs,ctx:vt,data:vt,props:vt,attrs:vt,slots:vt,refs:vt,setupState:vt,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx=lm(o),o.root=t?t.root:o,o.emit=Vy.bind(null,o),e.ce&&e.ce(o),o}let Ht=null;const Zr=e=>{Ht=e,e.scope.on()},_r=()=>{Ht&&Ht.scope.off(),Ht=null},Wm=tr(\"slot,component\");function va(e,t){const n=t.isNativeTag||Mu;(Wm(e)||n(e))&&E(\"Do not use built-in or reserved HTML elements as component id: \"+e)}function Uf(e){return e.vnode.shapeFlag&4}let Ei=!1;function Ym(e,t=!1){Ei=t;const{props:n,children:r}=e.vnode,i=Uf(e);gm(e,n,i,t),Om(e,r);const o=i?Hm(e,t):void 0;return Ei=!1,o}function Hm(e,t){var n;const r=e.type;{if(r.name&&va(r.name,e.appContext.config),r.components){const o=Object.keys(r.components);for(let s=0;s<o.length;s++)va(o[s],e.appContext.config)}if(r.directives){const o=Object.keys(r.directives);for(let s=0;s<o.length;s++)vf(o[s])}r.compilerOptions&&Km()&&E('\"compilerOptions\" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.')}e.accessCache=Object.create(null),e.proxy=Xu(new Proxy(e.ctx,Sf)),um(e);const{setup:i}=r;if(i){const o=e.setupContext=i.length>1?Jm(e):null;Zr(e),Or();const s=Bn(i,e,0,[kr(e.props),o]);if(xr(),_r(),Pa(s)){if(s.then(_r,_r),t)return s.then(a=>{jl(e,a,t)}).catch(a=>{ao(a,e,0)});if(e.asyncDep=s,!e.suspense){const a=(n=r.name)!==null&&n!==void 0?n:\"Anonymous\";E(`Component <${a}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`)}}else jl(e,s,t)}else Nf(e,t)}function jl(e,t,n){z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Ft(t)?(po(t)&&E(\"setup() should not return VNodes directly - return a render function instead.\"),e.devtoolsRawSetupState=t,e.setupState=ef(t),fm(e)):t!==void 0&&E(`setup() should return an object. Received: ${t===null?\"null\":typeof t}`),Nf(e,n)}let Ia;const Km=()=>!Ia;function Nf(e,t,n){const r=e.type;if(!e.render){if(!t&&Ia&&!r.render){const i=r.template;if(i){wn(e,\"compile\");const{isCustomElement:o,compilerOptions:s}=e.appContext.config,{delimiters:a,compilerOptions:c}=r,l=kt(kt({isCustomElement:o,delimiters:a},s),c);r.render=Ia(i,l),vn(e,\"compile\")}}e.render=r.render||le}Zr(e),Or(),hm(e),xr(),_r(),!r.render&&e.render===le&&!t&&(r.template?E('Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".'):E(\"Component is missing template or render function.\"))}function qm(e){return new Proxy(e.attrs,{get(t,n){return Ms(),Ie(e,\"get\",\"$attrs\"),t[n]},set(){return E(\"setupContext.attrs is readonly.\"),!1},deleteProperty(){return E(\"setupContext.attrs is readonly.\"),!1}})}function Jm(e){const t=r=>{e.exposed&&E(\"expose() should be called only once per setup().\"),e.exposed=r||{}};let n;return Object.freeze({get attrs(){return n||(n=qm(e))},get slots(){return kr(e.slots)},get emit(){return(r,...i)=>e.emit(r,...i)},expose:t})}function oc(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(ef(Xu(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Gr)return Gr[n](e)}}))}const Gm=/(?:^|[-_])(\\w)/g,Zm=e=>e.replace(Gm,t=>t.toUpperCase()).replace(/[-_]/g,\"\");function ac(e,t=!0){return z(e)?e.displayName||e.name:e.name||t&&e.__name}function mo(e,t,n=!1){let r=ac(t);if(!r&&t.__file){const i=t.__file.match(/([^/\\\\]+)\\.\\w+$/);i&&(r=i[1])}if(!r&&e&&e.parent){const i=o=>{for(const s in o)if(o[s]===t)return s};r=i(e.components||e.parent.type.components)||i(e.appContext.components)}return r?Zm(r):n?\"App\":\"Anonymous\"}function Pf(e){return z(e)&&\"__vccOpts\"in e}const Xm=(e,t)=>by(e,t,Ei);function jo(e){return!!(e&&e.__v_isShallow)}function Qm(){if(typeof window==\"undefined\")return;const e={style:\"color:#3ba776\"},t={style:\"color:#0b1bc9\"},n={style:\"color:#b62e24\"},r={style:\"color:#9d288c\"},i={header(p){return Ft(p)?p.__isVue?[\"div\",e,\"VueInstance\"]:Kt(p)?[\"div\",{},[\"span\",e,d(p)],\"<\",a(p.value),\">\"]:mr(p)?[\"div\",{},[\"span\",e,jo(p)?\"ShallowReactive\":\"Reactive\"],\"<\",a(p),`>${qn(p)?\" (readonly)\":\"\"}`]:qn(p)?[\"div\",{},[\"span\",e,jo(p)?\"ShallowReadonly\":\"Readonly\"],\"<\",a(p),\">\"]:null:null},hasBody(p){return p&&p.__isVue},body(p){if(p&&p.__isVue)return[\"div\",{},...o(p.$)]}};function o(p){const _=[];p.type.props&&p.props&&_.push(s(\"props\",rt(p.props))),p.setupState!==vt&&_.push(s(\"setup\",p.setupState)),p.data!==vt&&_.push(s(\"data\",rt(p.data)));const O=c(p,\"computed\");O&&_.push(s(\"computed\",O));const P=c(p,\"inject\");return P&&_.push(s(\"injected\",P)),_.push([\"div\",{},[\"span\",{style:r.style+\";opacity:0.66\"},\"$ (internal): \"],[\"object\",{object:p}]]),_}function s(p,_){return _=kt({},_),Object.keys(_).length?[\"div\",{style:\"line-height:1.25em;margin-bottom:0.6em\"},[\"div\",{style:\"color:#476582\"},p],[\"div\",{style:\"padding-left:1.25em\"},...Object.keys(_).map(O=>[\"div\",{},[\"span\",r,O+\": \"],a(_[O],!1)])]]:[\"span\",{}]}function a(p,_=!0){return typeof p==\"number\"?[\"span\",t,p]:typeof p==\"string\"?[\"span\",n,JSON.stringify(p)]:typeof p==\"boolean\"?[\"span\",r,p]:Ft(p)?[\"object\",{object:_?rt(p):p}]:[\"span\",n,String(p)]}function c(p,_){const O=p.type;if(z(O))return;const P={};for(const X in p.ctx)l(O,X,_)&&(P[X]=p.ctx[X]);return P}function l(p,_,O){const P=p[O];if($(P)&&P.includes(_)||Ft(P)&&_ in P||p.extends&&l(p.extends,_,O)||p.mixins&&p.mixins.some(X=>l(X,_,O)))return!0}function d(p){return jo(p)?\"ShallowRef\":p.effect?\"ComputedRef\":\"Ref\"}window.devtoolsFormatters?window.devtoolsFormatters.push(i):window.devtoolsFormatters=[i]}const zl=\"3.2.38\",tb=\"http://www.w3.org/2000/svg\",dr=typeof document!=\"undefined\"?document:null,Wl=dr&&dr.createElement(\"template\"),eb={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const i=t?dr.createElementNS(tb,e):dr.createElement(e,n?{is:n}:void 0);return e===\"select\"&&r&&r.multiple!=null&&i.setAttribute(\"multiple\",r.multiple),i},createText:e=>dr.createTextNode(e),createComment:e=>dr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>dr.querySelector(e),setScopeId(e,t){e.setAttribute(t,\"\")},cloneNode(e){const t=e.cloneNode(!0);return\"_value\"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,r,i,o){const s=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{Wl.innerHTML=r?`<svg>${e}</svg>`:e;const a=Wl.content;if(r){const c=a.firstChild;for(;c.firstChild;)a.appendChild(c.firstChild);a.removeChild(c)}t.insertBefore(a,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function nb(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(\" \")),t==null?e.removeAttribute(\"class\"):n?e.setAttribute(\"class\",t):e.className=t}function rb(e,t,n){const r=e.style,i=Vt(n);if(n&&!i){for(const o in n)Sa(r,o,n[o]);if(t&&!Vt(t))for(const o in t)n[o]==null&&Sa(r,o,\"\")}else{const o=r.display;i?t!==n&&(r.cssText=n):t&&e.removeAttribute(\"style\"),\"_vod\"in e&&(r.display=o)}}const Yl=/\\s*!important$/;function Sa(e,t,n){if($(n))n.forEach(r=>Sa(e,t,r));else if(n==null&&(n=\"\"),t.startsWith(\"--\"))e.setProperty(t,n);else{const r=ib(e,t);Yl.test(n)?e.setProperty(Hn(r),n.replace(Yl,\"\"),\"important\"):e[r]=n}}const Hl=[\"Webkit\",\"Moz\",\"ms\"],zo={};function ib(e,t){const n=zo[t];if(n)return n;let r=hn(t);if(r!==\"filter\"&&r in e)return zo[t]=r;r=wr(r);for(let i=0;i<Hl.length;i++){const o=Hl[i]+r;if(o in e)return zo[t]=o}return t}const Kl=\"http://www.w3.org/1999/xlink\";function sb(e,t,n,r,i){if(r&&t.startsWith(\"xlink:\"))n==null?e.removeAttributeNS(Kl,t.slice(6,t.length)):e.setAttributeNS(Kl,t,n);else{const o=Sp(t);n==null||o&&!Du(n)?e.removeAttribute(t):e.setAttribute(t,o?\"\":n)}}function ob(e,t,n,r,i,o,s){if(t===\"innerHTML\"||t===\"textContent\"){r&&s(r,i,o),e[t]=n==null?\"\":n;return}if(t===\"value\"&&e.tagName!==\"PROGRESS\"&&!e.tagName.includes(\"-\")){e._value=n;const c=n==null?\"\":n;(e.value!==c||e.tagName===\"OPTION\")&&(e.value=c),n==null&&e.removeAttribute(t);return}let a=!1;if(n===\"\"||n==null){const c=typeof e[t];c===\"boolean\"?n=Du(n):n==null&&c===\"string\"?(n=\"\",a=!0):c===\"number\"&&(n=0,a=!0)}try{e[t]=n}catch(c){E(`Failed setting prop \"${t}\" on <${e.tagName.toLowerCase()}>: value ${n} is invalid.`,c)}a&&e.removeAttribute(t)}const[Vf,ab]=(()=>{let e=Date.now,t=!1;if(typeof window!=\"undefined\"){Date.now()>document.createEvent(\"Event\").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\\/(\\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let Aa=0;const cb=Promise.resolve(),lb=()=>{Aa=0},ub=()=>Aa||(cb.then(lb),Aa=Vf());function fb(e,t,n,r){e.addEventListener(t,n,r)}function db(e,t,n,r){e.removeEventListener(t,n,r)}function hb(e,t,n,r,i=null){const o=e._vei||(e._vei={}),s=o[t];if(r&&s)s.value=r;else{const[a,c]=pb(t);if(r){const l=o[t]=yb(r,i);fb(e,a,l,c)}else s&&(db(e,a,s,c),o[t]=void 0)}}const ql=/(?:Once|Passive|Capture)$/;function pb(e){let t;if(ql.test(e)){t={};let r;for(;r=e.match(ql);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===\":\"?e.slice(3):Hn(e.slice(2)),t]}function yb(e,t){const n=r=>{const i=r.timeStamp||Vf();(ab||i>=n.attached-1)&&$e(mb(r,n.value),t,5,[r])};return n.value=e,n.attached=ub(),n}function mb(e,t){if($(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>i=>!i._stopped&&r&&r(i))}else return t}const Jl=/^on[a-z]/,bb=(e,t,n,r,i=!1,o,s,a,c)=>{t===\"class\"?nb(e,r,i):t===\"style\"?rb(e,n,r):ji(t)?xs(t)||hb(e,t,n,r,s):(t[0]===\".\"?(t=t.slice(1),!0):t[0]===\"^\"?(t=t.slice(1),!1):gb(e,t,r,i))?ob(e,t,r,o,s,a,c):(t===\"true-value\"?e._trueValue=r:t===\"false-value\"&&(e._falseValue=r),sb(e,t,r,i))};function gb(e,t,n,r){return r?!!(t===\"innerHTML\"||t===\"textContent\"||t in e&&Jl.test(t)&&z(n)):t===\"spellcheck\"||t===\"draggable\"||t===\"translate\"||t===\"form\"||t===\"list\"&&e.tagName===\"INPUT\"||t===\"type\"&&e.tagName===\"TEXTAREA\"||Jl.test(t)&&Vt(n)?!1:t in e}const _b=kt({patchProp:bb},eb);let Gl;function wb(){return Gl||(Gl=Lm(_b))}const vb=(...e)=>{const t=wb().createApp(...e);Ib(t),Sb(t);const{mount:n}=t;return t.mount=r=>{const i=Ab(r);if(!i)return;const o=t._component;!z(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML=\"\";const s=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute(\"v-cloak\"),i.setAttribute(\"data-v-app\",\"\")),s},t};function Ib(e){Object.defineProperty(e.config,\"isNativeTag\",{value:t=>Fp(t)||Ep(t),writable:!1})}function Sb(e){{const t=e.config.isCustomElement;Object.defineProperty(e.config,\"isCustomElement\",{get(){return t},set(){E(\"The `isCustomElement` config option is deprecated. Use `compilerOptions.isCustomElement` instead.\")}});const n=e.config.compilerOptions,r='The `compilerOptions` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka \"full build\"). Since you are using the runtime-only build, `compilerOptions` must be passed to `@vue/compiler-dom` in the build setup instead.\\n- For vue-loader: pass it via vue-loader\\'s `compilerOptions` loader option.\\n- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\\n- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-dom';Object.defineProperty(e.config,\"compilerOptions\",{get(){return E(r),n},set(){E(r)}})}}function Ab(e){if(Vt(e)){const t=document.querySelector(e);return t||E(`Failed to mount app: mount target selector \"${e}\" returned null.`),t}return window.ShadowRoot&&e instanceof window.ShadowRoot&&e.mode===\"closed\"&&E('mounting on a ShadowRoot with `{mode: \"closed\"}` may lead to unpredictable bugs'),e}function Tb(){Qm()}Tb();var kf={exports:{}},At={};/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */(function(){var e=typeof Symbol==\"function\"&&Symbol.for,t=e?Symbol.for(\"react.element\"):60103,n=e?Symbol.for(\"react.portal\"):60106,r=e?Symbol.for(\"react.fragment\"):60107,i=e?Symbol.for(\"react.strict_mode\"):60108,o=e?Symbol.for(\"react.profiler\"):60114,s=e?Symbol.for(\"react.provider\"):60109,a=e?Symbol.for(\"react.context\"):60110,c=e?Symbol.for(\"react.async_mode\"):60111,l=e?Symbol.for(\"react.concurrent_mode\"):60111,d=e?Symbol.for(\"react.forward_ref\"):60112,p=e?Symbol.for(\"react.suspense\"):60113,_=e?Symbol.for(\"react.suspense_list\"):60120,O=e?Symbol.for(\"react.memo\"):60115,P=e?Symbol.for(\"react.lazy\"):60116,X=e?Symbol.for(\"react.block\"):60121,Q=e?Symbol.for(\"react.fundamental\"):60117,gt=e?Symbol.for(\"react.responder\"):60118,pt=e?Symbol.for(\"react.scope\"):60119;function Ct(R){return typeof R==\"string\"||typeof R==\"function\"||R===r||R===l||R===o||R===i||R===p||R===_||typeof R==\"object\"&&R!==null&&(R.$$typeof===P||R.$$typeof===O||R.$$typeof===s||R.$$typeof===a||R.$$typeof===d||R.$$typeof===Q||R.$$typeof===gt||R.$$typeof===pt||R.$$typeof===X)}function Lt(R){if(typeof R==\"object\"&&R!==null){var en=R.$$typeof;switch(en){case t:var f=R.type;switch(f){case c:case l:case r:case o:case i:case p:return f;default:var h=f&&f.$$typeof;switch(h){case a:case d:case P:case O:case s:return h;default:return en}}case n:return en}}}var Nt=c,Ze=l,Le=a,Te=s,Be=t,Et=d,Oe=r,Zt=P,_n=O,Mr=n,Me=o,It=i,et=p,tt=!1;function zt(R){return tt||(tt=!0,console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")),Xe(R)||Lt(R)===c}function Xe(R){return Lt(R)===l}function Qe(R){return Lt(R)===a}function Ce(R){return Lt(R)===s}function bt(R){return typeof R==\"object\"&&R!==null&&R.$$typeof===t}function pe(R){return Lt(R)===d}function Mn(R){return Lt(R)===r}function rr(R){return Lt(R)===P}function Cr(R){return Lt(R)===O}function te(R){return Lt(R)===n}function oe(R){return Lt(R)===o}function Cn(R){return Lt(R)===i}function tn(R){return Lt(R)===p}At.AsyncMode=Nt,At.ConcurrentMode=Ze,At.ContextConsumer=Le,At.ContextProvider=Te,At.Element=Be,At.ForwardRef=Et,At.Fragment=Oe,At.Lazy=Zt,At.Memo=_n,At.Portal=Mr,At.Profiler=Me,At.StrictMode=It,At.Suspense=et,At.isAsyncMode=zt,At.isConcurrentMode=Xe,At.isContextConsumer=Qe,At.isContextProvider=Ce,At.isElement=bt,At.isForwardRef=pe,At.isFragment=Mn,At.isLazy=rr,At.isMemo=Cr,At.isPortal=te,At.isProfiler=oe,At.isStrictMode=Cn,At.isSuspense=tn,At.isValidElementType=Ct,At.typeOf=Lt})();kf.exports=At;var $f=kf.exports,Bb={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Ob={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},jf={};jf[$f.ForwardRef]=Bb;jf[$f.Memo]=Ob;var zf={exports:{}},Tt={};/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/var Zl=Object.getOwnPropertySymbols,xb=Object.prototype.hasOwnProperty,Fb=Object.prototype.propertyIsEnumerable;function Eb(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function Db(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(o){return t[o]});if(r.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(o){i[o]=o}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch{return!1}}var Lb=Db()?Object.assign:function(e,t){for(var n,r=Eb(e),i,o=1;o<arguments.length;o++){n=Object(arguments[o]);for(var s in n)xb.call(n,s)&&(r[s]=n[s]);if(Zl){i=Zl(n);for(var a=0;a<i.length;a++)Fb.call(n,i[a])&&(r[i[a]]=n[i[a]])}}return r},Mb=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\",Cb=Mb,Rb=Function.call.bind(Object.prototype.hasOwnProperty),Ta=function(){};{var Ub=Cb,Ba={},Nb=Rb;Ta=function(e){var t=\"Warning: \"+e;typeof console!=\"undefined\"&&console.error(t);try{throw new Error(t)}catch{}}}function Wf(e,t,n,r,i){for(var o in e)if(Nb(e,o)){var s;try{if(typeof e[o]!=\"function\"){var a=Error((r||\"React class\")+\": \"+n+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw a.name=\"Invariant Violation\",a}s=e[o](t,o,r,n,null,Ub)}catch(l){s=l}if(s&&!(s instanceof Error)&&Ta((r||\"React class\")+\": type specification of \"+n+\" `\"+o+\"` is invalid; the type checker function must return `null` or an `Error` but returned a \"+typeof s+\". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"),s instanceof Error&&!(s.message in Ba)){Ba[s.message]=!0;var c=i?i():\"\";Ta(\"Failed \"+n+\" type: \"+s.message+(c!=null?c:\"\"))}}}Wf.resetWarningCache=function(){Ba={}};var Pb=Wf;/** @license React v16.14.0\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */(function(){var e=Lb,t=Pb,n=\"16.14.0\",r=typeof Symbol==\"function\"&&Symbol.for,i=r?Symbol.for(\"react.element\"):60103,o=r?Symbol.for(\"react.portal\"):60106,s=r?Symbol.for(\"react.fragment\"):60107,a=r?Symbol.for(\"react.strict_mode\"):60108,c=r?Symbol.for(\"react.profiler\"):60114,l=r?Symbol.for(\"react.provider\"):60109,d=r?Symbol.for(\"react.context\"):60110,p=r?Symbol.for(\"react.concurrent_mode\"):60111,_=r?Symbol.for(\"react.forward_ref\"):60112,O=r?Symbol.for(\"react.suspense\"):60113,P=r?Symbol.for(\"react.suspense_list\"):60120,X=r?Symbol.for(\"react.memo\"):60115,Q=r?Symbol.for(\"react.lazy\"):60116,gt=r?Symbol.for(\"react.block\"):60121,pt=r?Symbol.for(\"react.fundamental\"):60117,Ct=r?Symbol.for(\"react.responder\"):60118,Lt=r?Symbol.for(\"react.scope\"):60119,Nt=typeof Symbol==\"function\"&&Symbol.iterator,Ze=\"@@iterator\";function Le(u){if(u===null||typeof u!=\"object\")return null;var m=Nt&&u[Nt]||u[Ze];return typeof m==\"function\"?m:null}var Te={current:null},Be={suspense:null},Et={current:null},Oe=/^(.*)[\\\\\\/]/;function Zt(u,m,g){var A=\"\";if(m){var M=m.fileName,ut=M.replace(Oe,\"\");if(/^index\\./.test(ut)){var j=M.match(Oe);if(j){var st=j[1];if(st){var Yt=st.replace(Oe,\"\");ut=Yt+\"/\"+ut}}}A=\" (at \"+ut+\":\"+m.lineNumber+\")\"}else g&&(A=\" (created by \"+g+\")\");return`\n    in `+(u||\"Unknown\")+A}var _n=1;function Mr(u){return u._status===_n?u._result:null}function Me(u,m,g){var A=m.displayName||m.name||\"\";return u.displayName||(A!==\"\"?g+\"(\"+A+\")\":g)}function It(u){if(u==null)return null;if(typeof u.tag==\"number\"&&bt(\"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue.\"),typeof u==\"function\")return u.displayName||u.name||null;if(typeof u==\"string\")return u;switch(u){case s:return\"Fragment\";case o:return\"Portal\";case c:return\"Profiler\";case a:return\"StrictMode\";case O:return\"Suspense\";case P:return\"SuspenseList\"}if(typeof u==\"object\")switch(u.$$typeof){case d:return\"Context.Consumer\";case l:return\"Context.Provider\";case _:return Me(u,u.render,\"ForwardRef\");case X:return It(u.type);case gt:return It(u.render);case Q:{var m=u,g=Mr(m);if(g)return It(g);break}}return null}var et={},tt=null;function zt(u){tt=u}et.getCurrentStack=null,et.getStackAddendum=function(){var u=\"\";if(tt){var m=It(tt.type),g=tt._owner;u+=Zt(m,tt._source,g&&It(g.type))}var A=et.getCurrentStack;return A&&(u+=A()||\"\"),u};var Xe={current:!1},Qe={ReactCurrentDispatcher:Te,ReactCurrentBatchConfig:Be,ReactCurrentOwner:Et,IsSomeRendererActing:Xe,assign:e};e(Qe,{ReactDebugCurrentFrame:et,ReactComponentTreeHook:{}});function Ce(u){{for(var m=arguments.length,g=new Array(m>1?m-1:0),A=1;A<m;A++)g[A-1]=arguments[A];pe(\"warn\",u,g)}}function bt(u){{for(var m=arguments.length,g=new Array(m>1?m-1:0),A=1;A<m;A++)g[A-1]=arguments[A];pe(\"error\",u,g)}}function pe(u,m,g){{var A=g.length>0&&typeof g[g.length-1]==\"string\"&&g[g.length-1].indexOf(`\n    in`)===0;if(!A){var M=Qe.ReactDebugCurrentFrame,ut=M.getStackAddendum();ut!==\"\"&&(m+=\"%s\",g=g.concat([ut]))}var j=g.map(function(ye){return\"\"+ye});j.unshift(\"Warning: \"+m),Function.prototype.apply.call(console[u],console,j);try{var st=0,Yt=\"Warning: \"+m.replace(/%s/g,function(){return g[st++]});throw new Error(Yt)}catch{}}}var Mn={};function rr(u,m){{var g=u.constructor,A=g&&(g.displayName||g.name)||\"ReactClass\",M=A+\".\"+m;if(Mn[M])return;bt(\"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",m,A),Mn[M]=!0}}var Cr={isMounted:function(u){return!1},enqueueForceUpdate:function(u,m,g){rr(u,\"forceUpdate\")},enqueueReplaceState:function(u,m,g,A){rr(u,\"replaceState\")},enqueueSetState:function(u,m,g,A){rr(u,\"setState\")}},te={};Object.freeze(te);function oe(u,m,g){this.props=u,this.context=m,this.refs=te,this.updater=g||Cr}oe.prototype.isReactComponent={},oe.prototype.setState=function(u,m){if(!(typeof u==\"object\"||typeof u==\"function\"||u==null))throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,u,m,\"setState\")},oe.prototype.forceUpdate=function(u){this.updater.enqueueForceUpdate(this,u,\"forceUpdate\")};{var Cn={isMounted:[\"isMounted\",\"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"],replaceState:[\"replaceState\",\"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"]},tn=function(u,m){Object.defineProperty(oe.prototype,u,{get:function(){Ce(\"%s(...) is deprecated in plain JavaScript React classes. %s\",m[0],m[1])}})};for(var R in Cn)Cn.hasOwnProperty(R)&&tn(R,Cn[R])}function en(){}en.prototype=oe.prototype;function f(u,m,g){this.props=u,this.context=m,this.refs=te,this.updater=g||Cr}var h=f.prototype=new en;h.constructor=f,e(h,oe.prototype),h.isPureReactComponent=!0;function w(){var u={current:null};return Object.seal(u),u}var S=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0},x,D,B;B={};function F(u){if(S.call(u,\"ref\")){var m=Object.getOwnPropertyDescriptor(u,\"ref\").get;if(m&&m.isReactWarning)return!1}return u.ref!==void 0}function T(u){if(S.call(u,\"key\")){var m=Object.getOwnPropertyDescriptor(u,\"key\").get;if(m&&m.isReactWarning)return!1}return u.key!==void 0}function U(u,m){var g=function(){x||(x=!0,bt(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)\",m))};g.isReactWarning=!0,Object.defineProperty(u,\"key\",{get:g,configurable:!0})}function C(u,m){var g=function(){D||(D=!0,bt(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)\",m))};g.isReactWarning=!0,Object.defineProperty(u,\"ref\",{get:g,configurable:!0})}function N(u){if(typeof u.ref==\"string\"&&Et.current&&u.__self&&Et.current.stateNode!==u.__self){var m=It(Et.current.type);B[m]||(bt('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',It(Et.current.type),u.ref),B[m]=!0)}}var k=function(u,m,g,A,M,ut,j){var st={$$typeof:i,type:u,key:m,ref:g,props:j,_owner:ut};return st._store={},Object.defineProperty(st._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(st,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:A}),Object.defineProperty(st,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:M}),Object.freeze&&(Object.freeze(st.props),Object.freeze(st)),st};function ft(u,m,g){var A,M={},ut=null,j=null,st=null,Yt=null;if(m!=null){F(m)&&(j=m.ref,N(m)),T(m)&&(ut=\"\"+m.key),st=m.__self===void 0?null:m.__self,Yt=m.__source===void 0?null:m.__source;for(A in m)S.call(m,A)&&!I.hasOwnProperty(A)&&(M[A]=m[A])}var ye=arguments.length-2;if(ye===1)M.children=g;else if(ye>1){for(var Fe=Array(ye),me=0;me<ye;me++)Fe[me]=arguments[me+2];Object.freeze&&Object.freeze(Fe),M.children=Fe}if(u&&u.defaultProps){var sr=u.defaultProps;for(A in sr)M[A]===void 0&&(M[A]=sr[A])}if(ut||j){var rn=typeof u==\"function\"?u.displayName||u.name||\"Unknown\":u;ut&&U(M,rn),j&&C(M,rn)}return k(u,ut,j,st,Yt,Et.current,M)}function _t(u,m){var g=k(u.type,m,u.ref,u._self,u._source,u._owner,u.props);return g}function St(u,m,g){if(u==null)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+u+\".\");var A,M=e({},u.props),ut=u.key,j=u.ref,st=u._self,Yt=u._source,ye=u._owner;if(m!=null){F(m)&&(j=m.ref,ye=Et.current),T(m)&&(ut=\"\"+m.key);var Fe;u.type&&u.type.defaultProps&&(Fe=u.type.defaultProps);for(A in m)S.call(m,A)&&!I.hasOwnProperty(A)&&(m[A]===void 0&&Fe!==void 0?M[A]=Fe[A]:M[A]=m[A])}var me=arguments.length-2;if(me===1)M.children=g;else if(me>1){for(var sr=Array(me),rn=0;rn<me;rn++)sr[rn]=arguments[rn+2];M.children=sr}return k(u.type,ut,j,st,Yt,ye,M)}function yt(u){return typeof u==\"object\"&&u!==null&&u.$$typeof===i}var ae=\".\",Rn=\":\";function rs(u){var m=/[=:]/g,g={\"=\":\"=0\",\":\":\"=2\"},A=(\"\"+u).replace(m,function(M){return g[M]});return\"$\"+A}var Un=!1,is=/\\/+/g;function Wt(u){return(\"\"+u).replace(is,\"$&/\")}var xe=10,ir=[];function il(u,m,g,A){if(ir.length){var M=ir.pop();return M.result=u,M.keyPrefix=m,M.func=g,M.context=A,M.count=0,M}else return{result:u,keyPrefix:m,func:g,context:A,count:0}}function sl(u){u.result=null,u.keyPrefix=null,u.func=null,u.context=null,u.count=0,ir.length<xe&&ir.push(u)}function Mo(u,m,g,A){var M=typeof u;(M===\"undefined\"||M===\"boolean\")&&(u=null);var ut=!1;if(u===null)ut=!0;else switch(M){case\"string\":case\"number\":ut=!0;break;case\"object\":switch(u.$$typeof){case i:case o:ut=!0}}if(ut)return g(A,u,m===\"\"?ae+Ro(u,0):m),1;var j,st,Yt=0,ye=m===\"\"?ae:m+Rn;if(Array.isArray(u))for(var Fe=0;Fe<u.length;Fe++)j=u[Fe],st=ye+Ro(j,Fe),Yt+=Mo(j,st,g,A);else{var me=Le(u);if(typeof me==\"function\"){me===u.entries&&(Un||Ce(\"Using Maps as children is deprecated and will be removed in a future major release. Consider converting children to an array of keyed ReactElements instead.\"),Un=!0);for(var sr=me.call(u),rn,wp=0;!(rn=sr.next()).done;)j=rn.value,st=ye+Ro(j,wp++),Yt+=Mo(j,st,g,A)}else if(M===\"object\"){var yl=\"\";yl=\" If you meant to render a collection of children, use an array instead.\"+et.getStackAddendum();var ml=\"\"+u;throw Error(\"Objects are not valid as a React child (found: \"+(ml===\"[object Object]\"?\"object with keys {\"+Object.keys(u).join(\", \")+\"}\":ml)+\").\"+yl)}}return Yt}function Co(u,m,g){return u==null?0:Mo(u,\"\",m,g)}function Ro(u,m){return typeof u==\"object\"&&u!==null&&u.key!=null?rs(u.key):m.toString(36)}function $h(u,m,g){var A=u.func,M=u.context;A.call(M,m,u.count++)}function jh(u,m,g){if(u==null)return u;var A=il(null,null,m,g);Co(u,$h,A),sl(A)}function zh(u,m,g){var A=u.result,M=u.keyPrefix,ut=u.func,j=u.context,st=ut.call(j,m,u.count++);Array.isArray(st)?Uo(st,A,g,function(Yt){return Yt}):st!=null&&(yt(st)&&(st=_t(st,M+(st.key&&(!m||m.key!==st.key)?Wt(st.key)+\"/\":\"\")+g)),A.push(st))}function Uo(u,m,g,A,M){var ut=\"\";g!=null&&(ut=Wt(g)+\"/\");var j=il(m,ut,A,M);Co(u,zh,j),sl(j)}function Wh(u,m,g){if(u==null)return u;var A=[];return Uo(u,A,null,m,g),A}function Yh(u){return Co(u,function(){return null},null)}function Hh(u){var m=[];return Uo(u,m,null,function(g){return g}),m}function Kh(u){if(!yt(u))throw Error(\"React.Children.only expected to receive a single React element child.\");return u}function qh(u,m){m===void 0?m=null:m!==null&&typeof m!=\"function\"&&bt(\"createContext: Expected the optional second argument to be a function. Instead received: %s\",m);var g={$$typeof:d,_calculateChangedBits:m,_currentValue:u,_currentValue2:u,_threadCount:0,Provider:null,Consumer:null};g.Provider={$$typeof:l,_context:g};var A=!1,M=!1;{var ut={$$typeof:d,_context:g,_calculateChangedBits:g._calculateChangedBits};Object.defineProperties(ut,{Provider:{get:function(){return M||(M=!0,bt(\"Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?\")),g.Provider},set:function(j){g.Provider=j}},_currentValue:{get:function(){return g._currentValue},set:function(j){g._currentValue=j}},_currentValue2:{get:function(){return g._currentValue2},set:function(j){g._currentValue2=j}},_threadCount:{get:function(){return g._threadCount},set:function(j){g._threadCount=j}},Consumer:{get:function(){return A||(A=!0,bt(\"Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?\")),g.Consumer}}}),g.Consumer=ut}return g._currentRenderer=null,g._currentRenderer2=null,g}function Jh(u){var m={$$typeof:Q,_ctor:u,_status:-1,_result:null};{var g,A;Object.defineProperties(m,{defaultProps:{configurable:!0,get:function(){return g},set:function(M){bt(\"React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\"),g=M,Object.defineProperty(m,\"defaultProps\",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return A},set:function(M){bt(\"React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\"),A=M,Object.defineProperty(m,\"propTypes\",{enumerable:!0})}}})}return m}function Gh(u){return u!=null&&u.$$typeof===X?bt(\"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"):typeof u!=\"function\"?bt(\"forwardRef requires a render function but was given %s.\",u===null?\"null\":typeof u):u.length!==0&&u.length!==2&&bt(\"forwardRef render functions accept exactly two parameters: props and ref. %s\",u.length===1?\"Did you forget to use the ref parameter?\":\"Any additional parameter will be undefined.\"),u!=null&&(u.defaultProps!=null||u.propTypes!=null)&&bt(\"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?\"),{$$typeof:_,render:u}}function ol(u){return typeof u==\"string\"||typeof u==\"function\"||u===s||u===p||u===c||u===a||u===O||u===P||typeof u==\"object\"&&u!==null&&(u.$$typeof===Q||u.$$typeof===X||u.$$typeof===l||u.$$typeof===d||u.$$typeof===_||u.$$typeof===pt||u.$$typeof===Ct||u.$$typeof===Lt||u.$$typeof===gt)}function Zh(u,m){return ol(u)||bt(\"memo: The first argument must be a component. Instead received: %s\",u===null?\"null\":typeof u),{$$typeof:X,type:u,compare:m===void 0?null:m}}function nn(){var u=Te.current;if(u===null)throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);return u}function Xh(u,m){var g=nn();if(m!==void 0&&bt(\"useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s\",m,typeof m==\"number\"&&Array.isArray(arguments[2])?`\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks`:\"\"),u._context!==void 0){var A=u._context;A.Consumer===u?bt(\"Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?\"):A.Provider===u&&bt(\"Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?\")}return g.useContext(u,m)}function Qh(u){var m=nn();return m.useState(u)}function tp(u,m,g){var A=nn();return A.useReducer(u,m,g)}function ep(u){var m=nn();return m.useRef(u)}function np(u,m){var g=nn();return g.useEffect(u,m)}function rp(u,m){var g=nn();return g.useLayoutEffect(u,m)}function ip(u,m){var g=nn();return g.useCallback(u,m)}function sp(u,m){var g=nn();return g.useMemo(u,m)}function op(u,m,g){var A=nn();return A.useImperativeHandle(u,m,g)}function ap(u,m){{var g=nn();return g.useDebugValue(u,m)}}var No;No=!1;function al(){if(Et.current){var u=It(Et.current.type);if(u)return`\n\nCheck the render method of \\``+u+\"`.\"}return\"\"}function cp(u){if(u!==void 0){var m=u.fileName.replace(/^.*[\\\\\\/]/,\"\"),g=u.lineNumber;return`\n\nCheck your code at `+m+\":\"+g+\".\"}return\"\"}function lp(u){return u!=null?cp(u.__source):\"\"}var cl={};function up(u){var m=al();if(!m){var g=typeof u==\"string\"?u:u.displayName||u.name;g&&(m=`\n\nCheck the top-level render call using <`+g+\">.\")}return m}function ll(u,m){if(!(!u._store||u._store.validated||u.key!=null)){u._store.validated=!0;var g=up(m);if(!cl[g]){cl[g]=!0;var A=\"\";u&&u._owner&&u._owner!==Et.current&&(A=\" It was passed a child from \"+It(u._owner.type)+\".\"),zt(u),bt('Each child in a list should have a unique \"key\" prop.%s%s See https://fb.me/react-warning-keys for more information.',g,A),zt(null)}}}function ul(u,m){if(typeof u==\"object\"){if(Array.isArray(u))for(var g=0;g<u.length;g++){var A=u[g];yt(A)&&ll(A,m)}else if(yt(u))u._store&&(u._store.validated=!0);else if(u){var M=Le(u);if(typeof M==\"function\"&&M!==u.entries)for(var ut=M.call(u),j;!(j=ut.next()).done;)yt(j.value)&&ll(j.value,m)}}}function fl(u){{var m=u.type;if(m==null||typeof m==\"string\")return;var g=It(m),A;if(typeof m==\"function\")A=m.propTypes;else if(typeof m==\"object\"&&(m.$$typeof===_||m.$$typeof===X))A=m.propTypes;else return;A?(zt(u),t(A,u.props,\"prop\",g,et.getStackAddendum),zt(null)):m.PropTypes!==void 0&&!No&&(No=!0,bt(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\",g||\"Unknown\")),typeof m.getDefaultProps==\"function\"&&!m.getDefaultProps.isReactClassApproved&&bt(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\")}}function fp(u){{zt(u);for(var m=Object.keys(u.props),g=0;g<m.length;g++){var A=m[g];if(A!==\"children\"&&A!==\"key\"){bt(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\",A);break}}u.ref!==null&&bt(\"Invalid attribute `ref` supplied to `React.Fragment`.\"),zt(null)}}function dl(u,m,g){var A=ol(u);if(!A){var M=\"\";(u===void 0||typeof u==\"object\"&&u!==null&&Object.keys(u).length===0)&&(M+=\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");var ut=lp(m);ut?M+=ut:M+=al();var j;u===null?j=\"null\":Array.isArray(u)?j=\"array\":u!==void 0&&u.$$typeof===i?(j=\"<\"+(It(u.type)||\"Unknown\")+\" />\",M=\" Did you accidentally export a JSX literal instead of a component?\"):j=typeof u,bt(\"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",j,M)}var st=ft.apply(this,arguments);if(st==null)return st;if(A)for(var Yt=2;Yt<arguments.length;Yt++)ul(arguments[Yt],u);return u===s?fp(st):fl(st),st}var hl=!1;function dp(u){var m=dl.bind(null,u);return m.type=u,hl||(hl=!0,Ce(\"React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.\")),Object.defineProperty(m,\"type\",{enumerable:!1,get:function(){return Ce(\"Factory.type is deprecated. Access the class directly before passing it to createFactory.\"),Object.defineProperty(this,\"type\",{value:u}),u}}),m}function hp(u,m,g){for(var A=St.apply(this,arguments),M=2;M<arguments.length;M++)ul(arguments[M],A.type);return fl(A),A}try{var pl=Object.freeze({}),pp=new Map([[pl,null]]),yp=new Set([pl]);pp.set(0,0),yp.add(0)}catch{}var mp=dl,bp=hp,gp=dp,_p={map:Wh,forEach:jh,count:Yh,toArray:Hh,only:Kh};Tt.Children=_p,Tt.Component=oe,Tt.Fragment=s,Tt.Profiler=c,Tt.PureComponent=f,Tt.StrictMode=a,Tt.Suspense=O,Tt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Qe,Tt.cloneElement=bp,Tt.createContext=qh,Tt.createElement=mp,Tt.createFactory=gp,Tt.createRef=w,Tt.forwardRef=Gh,Tt.isValidElement=yt,Tt.lazy=Jh,Tt.memo=Zh,Tt.useCallback=ip,Tt.useContext=Xh,Tt.useDebugValue=ap,Tt.useEffect=np,Tt.useImperativeHandle=op,Tt.useLayoutEffect=rp,Tt.useMemo=sp,Tt.useReducer=tp,Tt.useRef=ep,Tt.useState=Qh,Tt.version=n})();zf.exports=Tt;var Vb=zf.exports;const Yf=new WeakMap,Oa=new WeakMap;function Mt(e){const t=Yf.get(e);return console.assert(t!=null,\"'this' is expected an Event object, but got\",e),t}function Xl(e){if(e.passiveListener!=null){typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"Unable to preventDefault inside passive event listener invocation.\",e.passiveListener);return}!e.event.cancelable||(e.canceled=!0,typeof e.event.preventDefault==\"function\"&&e.event.preventDefault())}function Xr(e,t){Yf.set(this,{eventTarget:e,event:t,eventPhase:2,currentTarget:e,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:t.timeStamp||Date.now()}),Object.defineProperty(this,\"isTrusted\",{value:!1,enumerable:!0});const n=Object.keys(t);for(let r=0;r<n.length;++r){const i=n[r];i in this||Object.defineProperty(this,i,Hf(i))}}Xr.prototype={get type(){return Mt(this).event.type},get target(){return Mt(this).eventTarget},get currentTarget(){return Mt(this).currentTarget},composedPath(){const e=Mt(this).currentTarget;return e==null?[]:[e]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Mt(this).eventPhase},stopPropagation(){const e=Mt(this);e.stopped=!0,typeof e.event.stopPropagation==\"function\"&&e.event.stopPropagation()},stopImmediatePropagation(){const e=Mt(this);e.stopped=!0,e.immediateStopped=!0,typeof e.event.stopImmediatePropagation==\"function\"&&e.event.stopImmediatePropagation()},get bubbles(){return Boolean(Mt(this).event.bubbles)},get cancelable(){return Boolean(Mt(this).event.cancelable)},preventDefault(){Xl(Mt(this))},get defaultPrevented(){return Mt(this).canceled},get composed(){return Boolean(Mt(this).event.composed)},get timeStamp(){return Mt(this).timeStamp},get srcElement(){return Mt(this).eventTarget},get cancelBubble(){return Mt(this).stopped},set cancelBubble(e){if(!e)return;const t=Mt(this);t.stopped=!0,typeof t.event.cancelBubble==\"boolean\"&&(t.event.cancelBubble=!0)},get returnValue(){return!Mt(this).canceled},set returnValue(e){e||Xl(Mt(this))},initEvent(){}};Object.defineProperty(Xr.prototype,\"constructor\",{value:Xr,configurable:!0,writable:!0});typeof window!=\"undefined\"&&typeof window.Event!=\"undefined\"&&(Object.setPrototypeOf(Xr.prototype,window.Event.prototype),Oa.set(window.Event.prototype,Xr));function Hf(e){return{get(){return Mt(this).event[e]},set(t){Mt(this).event[e]=t},configurable:!0,enumerable:!0}}function kb(e){return{value(){const t=Mt(this).event;return t[e].apply(t,arguments)},configurable:!0,enumerable:!0}}function $b(e,t){const n=Object.keys(t);if(n.length===0)return e;function r(i,o){e.call(this,i,o)}r.prototype=Object.create(e.prototype,{constructor:{value:r,configurable:!0,writable:!0}});for(let i=0;i<n.length;++i){const o=n[i];if(!(o in e.prototype)){const a=typeof Object.getOwnPropertyDescriptor(t,o).value==\"function\";Object.defineProperty(r.prototype,o,a?kb(o):Hf(o))}}return r}function Kf(e){if(e==null||e===Object.prototype)return Xr;let t=Oa.get(e);return t==null&&(t=$b(Kf(Object.getPrototypeOf(e)),e),Oa.set(e,t)),t}function jb(e,t){const n=Kf(Object.getPrototypeOf(t));return new n(e,t)}function zb(e){return Mt(e).immediateStopped}function Wb(e,t){Mt(e).eventPhase=t}function Yb(e,t){Mt(e).currentTarget=t}function Ql(e,t){Mt(e).passiveListener=t}const qf=new WeakMap,tu=1,eu=2,Is=3;function Ss(e){return e!==null&&typeof e==\"object\"}function wi(e){const t=qf.get(e);if(t==null)throw new TypeError(\"'this' is expected an EventTarget object, but got another value.\");return t}function Hb(e){return{get(){let n=wi(this).get(e);for(;n!=null;){if(n.listenerType===Is)return n.listener;n=n.next}return null},set(t){typeof t!=\"function\"&&!Ss(t)&&(t=null);const n=wi(this);let r=null,i=n.get(e);for(;i!=null;)i.listenerType===Is?r!==null?r.next=i.next:i.next!==null?n.set(e,i.next):n.delete(e):r=i,i=i.next;if(t!==null){const o={listener:t,listenerType:Is,passive:!1,once:!1,next:null};r===null?n.set(e,o):r.next=o}},configurable:!0,enumerable:!0}}function Kb(e,t){Object.defineProperty(e,`on${t}`,Hb(t))}function nu(e){function t(){Gn.call(this)}t.prototype=Object.create(Gn.prototype,{constructor:{value:t,configurable:!0,writable:!0}});for(let n=0;n<e.length;++n)Kb(t.prototype,e[n]);return t}function Gn(){if(this instanceof Gn){qf.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return nu(arguments[0]);if(arguments.length>0){const e=new Array(arguments.length);for(let t=0;t<arguments.length;++t)e[t]=arguments[t];return nu(e)}throw new TypeError(\"Cannot call a class as a function\")}Gn.prototype={addEventListener(e,t,n){if(t==null)return;if(typeof t!=\"function\"&&!Ss(t))throw new TypeError(\"'listener' should be a function or an object.\");const r=wi(this),i=Ss(n),s=Boolean(i?n.capture:n)?tu:eu,a={listener:t,listenerType:s,passive:i&&Boolean(n.passive),once:i&&Boolean(n.once),next:null};let c=r.get(e);if(c===void 0){r.set(e,a);return}let l=null;for(;c!=null;){if(c.listener===t&&c.listenerType===s)return;l=c,c=c.next}l.next=a},removeEventListener(e,t,n){if(t==null)return;const r=wi(this),o=(Ss(n)?Boolean(n.capture):Boolean(n))?tu:eu;let s=null,a=r.get(e);for(;a!=null;){if(a.listener===t&&a.listenerType===o){s!==null?s.next=a.next:a.next!==null?r.set(e,a.next):r.delete(e);return}s=a,a=a.next}},dispatchEvent(e){if(e==null||typeof e.type!=\"string\")throw new TypeError('\"event.type\" should be a string.');const t=wi(this),n=e.type;let r=t.get(n);if(r==null)return!0;const i=jb(this,e);let o=null;for(;r!=null;){if(r.once?o!==null?o.next=r.next:r.next!==null?t.set(n,r.next):t.delete(n):o=r,Ql(i,r.passive?r.listener:null),typeof r.listener==\"function\")try{r.listener.call(this,i)}catch(s){typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(s)}else r.listenerType!==Is&&typeof r.listener.handleEvent==\"function\"&&r.listener.handleEvent(i);if(zb(i))break;r=r.next}return Ql(i,null),Wb(i,0),Yb(i,null),!i.defaultPrevented}};Object.defineProperty(Gn.prototype,\"constructor\",{value:Gn,configurable:!0,writable:!0});typeof window!=\"undefined\"&&typeof window.EventTarget!=\"undefined\"&&Object.setPrototypeOf(Gn.prototype,window.EventTarget.prototype);var b={};b.SIZEOF_SHORT=2;b.SIZEOF_INT=4;b.FILE_IDENTIFIER_LENGTH=4;b.Encoding={UTF8_BYTES:1,UTF16_STRING:2};b.int32=new Int32Array(2);b.float32=new Float32Array(b.int32.buffer);b.float64=new Float64Array(b.int32.buffer);b.isLittleEndian=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;b.Long=function(e,t){this.low=e|0,this.high=t|0};b.Long.create=function(e,t){return e==0&&t==0?b.Long.ZERO:new b.Long(e,t)};b.Long.prototype.toFloat64=function(){return(this.low>>>0)+this.high*4294967296};b.Long.prototype.equals=function(e){return this.low==e.low&&this.high==e.high};b.Long.ZERO=new b.Long(0,0);b.Builder=function(e){if(e)var t=e;else var t=1024;this.bb=b.ByteBuffer.allocate(t),this.space=t,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1};b.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1};b.Builder.prototype.forceDefaults=function(e){this.force_defaults=e};b.Builder.prototype.dataBuffer=function(){return this.bb};b.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())};b.Builder.prototype.prep=function(e,t){e>this.minalign&&(this.minalign=e);for(var n=~(this.bb.capacity()-this.space+t)+1&e-1;this.space<n+e+t;){var r=this.bb.capacity();this.bb=b.Builder.growByteBuffer(this.bb),this.space+=this.bb.capacity()-r}this.pad(n)};b.Builder.prototype.pad=function(e){for(var t=0;t<e;t++)this.bb.writeInt8(--this.space,0)};b.Builder.prototype.writeInt8=function(e){this.bb.writeInt8(this.space-=1,e)};b.Builder.prototype.writeInt16=function(e){this.bb.writeInt16(this.space-=2,e)};b.Builder.prototype.writeInt32=function(e){this.bb.writeInt32(this.space-=4,e)};b.Builder.prototype.writeInt64=function(e){this.bb.writeInt64(this.space-=8,e)};b.Builder.prototype.writeFloat32=function(e){this.bb.writeFloat32(this.space-=4,e)};b.Builder.prototype.writeFloat64=function(e){this.bb.writeFloat64(this.space-=8,e)};b.Builder.prototype.addInt8=function(e){this.prep(1,0),this.writeInt8(e)};b.Builder.prototype.addInt16=function(e){this.prep(2,0),this.writeInt16(e)};b.Builder.prototype.addInt32=function(e){this.prep(4,0),this.writeInt32(e)};b.Builder.prototype.addInt64=function(e){this.prep(8,0),this.writeInt64(e)};b.Builder.prototype.addFloat32=function(e){this.prep(4,0),this.writeFloat32(e)};b.Builder.prototype.addFloat64=function(e){this.prep(8,0),this.writeFloat64(e)};b.Builder.prototype.addFieldInt8=function(e,t,n){(this.force_defaults||t!=n)&&(this.addInt8(t),this.slot(e))};b.Builder.prototype.addFieldInt16=function(e,t,n){(this.force_defaults||t!=n)&&(this.addInt16(t),this.slot(e))};b.Builder.prototype.addFieldInt32=function(e,t,n){(this.force_defaults||t!=n)&&(this.addInt32(t),this.slot(e))};b.Builder.prototype.addFieldInt64=function(e,t,n){(this.force_defaults||!t.equals(n))&&(this.addInt64(t),this.slot(e))};b.Builder.prototype.addFieldFloat32=function(e,t,n){(this.force_defaults||t!=n)&&(this.addFloat32(t),this.slot(e))};b.Builder.prototype.addFieldFloat64=function(e,t,n){(this.force_defaults||t!=n)&&(this.addFloat64(t),this.slot(e))};b.Builder.prototype.addFieldOffset=function(e,t,n){(this.force_defaults||t!=n)&&(this.addOffset(t),this.slot(e))};b.Builder.prototype.addFieldStruct=function(e,t,n){t!=n&&(this.nested(t),this.slot(e))};b.Builder.prototype.nested=function(e){if(e!=this.offset())throw new Error(\"FlatBuffers: struct must be serialized inline.\")};b.Builder.prototype.notNested=function(){if(this.isNested)throw new Error(\"FlatBuffers: object serialization must not be nested.\")};b.Builder.prototype.slot=function(e){this.vtable[e]=this.offset()};b.Builder.prototype.offset=function(){return this.bb.capacity()-this.space};b.Builder.growByteBuffer=function(e){var t=e.capacity();if(t&3221225472)throw new Error(\"FlatBuffers: cannot grow buffer beyond 2 gigabytes.\");var n=t<<1,r=b.ByteBuffer.allocate(n);return r.setPosition(n-t),r.bytes().set(e.bytes(),n-t),r};b.Builder.prototype.addOffset=function(e){this.prep(b.SIZEOF_INT,0),this.writeInt32(this.offset()-e+b.SIZEOF_INT)};b.Builder.prototype.startObject=function(e){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=e;for(var t=0;t<e;t++)this.vtable[t]=0;this.isNested=!0,this.object_start=this.offset()};b.Builder.prototype.endObject=function(){if(this.vtable==null||!this.isNested)throw new Error(\"FlatBuffers: endObject called without startObject\");this.addInt32(0);for(var e=this.offset(),t=this.vtable_in_use-1;t>=0&&this.vtable[t]==0;t--);for(var n=t+1;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);var r=2;this.addInt16(e-this.object_start);var i=(n+r)*b.SIZEOF_SHORT;this.addInt16(i);var o=0,s=this.space;t:for(t=0;t<this.vtables.length;t++){var a=this.bb.capacity()-this.vtables[t];if(i==this.bb.readInt16(a)){for(var c=b.SIZEOF_SHORT;c<i;c+=b.SIZEOF_SHORT)if(this.bb.readInt16(s+c)!=this.bb.readInt16(a+c))continue t;o=this.vtables[t];break}}return o?(this.space=this.bb.capacity()-e,this.bb.writeInt32(this.space,o-e)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-e,this.offset()-e)),this.isNested=!1,e};b.Builder.prototype.finish=function(e,t){if(t){var n=t;if(this.prep(this.minalign,b.SIZEOF_INT+b.FILE_IDENTIFIER_LENGTH),n.length!=b.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+b.FILE_IDENTIFIER_LENGTH);for(var r=b.FILE_IDENTIFIER_LENGTH-1;r>=0;r--)this.writeInt8(n.charCodeAt(r))}this.prep(this.minalign,b.SIZEOF_INT),this.addOffset(e),this.bb.setPosition(this.space)};b.Builder.prototype.requiredField=function(e,t){var n=this.bb.capacity()-e,r=n-this.bb.readInt32(n),i=this.bb.readInt16(r+t)!=0;if(!i)throw new Error(\"FlatBuffers: field \"+t+\" must be set\")};b.Builder.prototype.startVector=function(e,t,n){this.notNested(),this.vector_num_elems=t,this.prep(b.SIZEOF_INT,e*t),this.prep(n,e*t)};b.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()};b.Builder.prototype.createString=function(e){if(e instanceof Uint8Array)var t=e;else for(var t=[],n=0;n<e.length;){var r,i=e.charCodeAt(n++);if(i<55296||i>=56320)r=i;else{var o=e.charCodeAt(n++);r=(i<<10)+o+(65536-(55296<<10)-56320)}r<128?t.push(r):(r<2048?t.push(r>>6&31|192):(r<65536?t.push(r>>12&15|224):t.push(r>>18&7|240,r>>12&63|128),t.push(r>>6&63|128)),t.push(r&63|128))}this.addInt8(0),this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length);for(var n=0,s=this.space,a=this.bb.bytes();n<t.length;n++)a[s++]=t[n];return this.endVector()};b.Builder.prototype.createLong=function(e,t){return b.Long.create(e,t)};b.ByteBuffer=function(e){this.bytes_=e,this.position_=0};b.ByteBuffer.allocate=function(e){return new b.ByteBuffer(new Uint8Array(e))};b.ByteBuffer.prototype.clear=function(){this.position_=0};b.ByteBuffer.prototype.bytes=function(){return this.bytes_};b.ByteBuffer.prototype.position=function(){return this.position_};b.ByteBuffer.prototype.setPosition=function(e){this.position_=e};b.ByteBuffer.prototype.capacity=function(){return this.bytes_.length};b.ByteBuffer.prototype.readInt8=function(e){return this.readUint8(e)<<24>>24};b.ByteBuffer.prototype.readUint8=function(e){return this.bytes_[e]};b.ByteBuffer.prototype.readInt16=function(e){return this.readUint16(e)<<16>>16};b.ByteBuffer.prototype.readUint16=function(e){return this.bytes_[e]|this.bytes_[e+1]<<8};b.ByteBuffer.prototype.readInt32=function(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24};b.ByteBuffer.prototype.readUint32=function(e){return this.readInt32(e)>>>0};b.ByteBuffer.prototype.readInt64=function(e){return new b.Long(this.readInt32(e),this.readInt32(e+4))};b.ByteBuffer.prototype.readUint64=function(e){return new b.Long(this.readUint32(e),this.readUint32(e+4))};b.ByteBuffer.prototype.readFloat32=function(e){return b.int32[0]=this.readInt32(e),b.float32[0]};b.ByteBuffer.prototype.readFloat64=function(e){return b.int32[b.isLittleEndian?0:1]=this.readInt32(e),b.int32[b.isLittleEndian?1:0]=this.readInt32(e+4),b.float64[0]};b.ByteBuffer.prototype.writeInt8=function(e,t){this.bytes_[e]=t};b.ByteBuffer.prototype.writeUint8=function(e,t){this.bytes_[e]=t};b.ByteBuffer.prototype.writeInt16=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8};b.ByteBuffer.prototype.writeUint16=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8};b.ByteBuffer.prototype.writeInt32=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24};b.ByteBuffer.prototype.writeUint32=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24};b.ByteBuffer.prototype.writeInt64=function(e,t){this.writeInt32(e,t.low),this.writeInt32(e+4,t.high)};b.ByteBuffer.prototype.writeUint64=function(e,t){this.writeUint32(e,t.low),this.writeUint32(e+4,t.high)};b.ByteBuffer.prototype.writeFloat32=function(e,t){b.float32[0]=t,this.writeInt32(e,b.int32[0])};b.ByteBuffer.prototype.writeFloat64=function(e,t){b.float64[0]=t,this.writeInt32(e,b.int32[b.isLittleEndian?0:1]),this.writeInt32(e+4,b.int32[b.isLittleEndian?1:0])};b.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+b.SIZEOF_INT+b.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: ByteBuffer is too short to contain an identifier.\");for(var e=\"\",t=0;t<b.FILE_IDENTIFIER_LENGTH;t++)e+=String.fromCharCode(this.readInt8(this.position_+b.SIZEOF_INT+t));return e};b.ByteBuffer.prototype.__offset=function(e,t){var n=e-this.readInt32(e);return t<this.readInt16(n)?this.readInt16(n+t):0};b.ByteBuffer.prototype.__union=function(e,t){return e.bb_pos=t+this.readInt32(t),e.bb=this,e};b.ByteBuffer.prototype.__string=function(e,t){e+=this.readInt32(e);var n=this.readInt32(e),r=\"\",i=0;if(e+=b.SIZEOF_INT,t===b.Encoding.UTF8_BYTES)return this.bytes_.subarray(e,e+n);for(;i<n;){var o,s=this.readUint8(e+i++);if(s<192)o=s;else{var a=this.readUint8(e+i++);if(s<224)o=(s&31)<<6|a&63;else{var c=this.readUint8(e+i++);if(s<240)o=(s&15)<<12|(a&63)<<6|c&63;else{var l=this.readUint8(e+i++);o=(s&7)<<18|(a&63)<<12|(c&63)<<6|l&63}}}o<65536?r+=String.fromCharCode(o):(o-=65536,r+=String.fromCharCode((o>>10)+55296,(o&(1<<10)-1)+56320))}return r};b.ByteBuffer.prototype.__indirect=function(e){return e+this.readInt32(e)};b.ByteBuffer.prototype.__vector=function(e){return e+this.readInt32(e)+b.SIZEOF_INT};b.ByteBuffer.prototype.__vector_len=function(e){return this.readInt32(e+this.readInt32(e))};b.ByteBuffer.prototype.__has_identifier=function(e){if(e.length!=b.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+b.FILE_IDENTIFIER_LENGTH);for(var t=0;t<b.FILE_IDENTIFIER_LENGTH;t++)if(e.charCodeAt(t)!=this.readInt8(this.position_+b.SIZEOF_INT+t))return!1;return!0};b.ByteBuffer.prototype.createLong=function(e,t){return b.Long.create(e,t)};function An(e,t,n){return t<=e&&e<=n}function bo(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError(\"Could not convert argument to dictionary\")}function qb(e){for(var t=String(e),n=t.length,r=0,i=[];r<n;){var o=t.charCodeAt(r);if(o<55296||o>57343)i.push(o);else if(56320<=o&&o<=57343)i.push(65533);else if(55296<=o&&o<=56319)if(r===n-1)i.push(65533);else{var s=e.charCodeAt(r+1);if(56320<=s&&s<=57343){var a=o&1023,c=s&1023;i.push(65536+(a<<10)+c),r+=1}else i.push(65533)}r+=1}return i}function Jb(e){for(var t=\"\",n=0;n<e.length;++n){var r=e[n];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t}var Us=-1;function cc(e){this.tokens=[].slice.call(e)}cc.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():Us},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.pop());else this.tokens.unshift(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.shift());else this.tokens.push(e)}};var Qr=-1;function Wo(e,t){if(e)throw TypeError(\"Decoder error\");return t||65533}var Ns=\"utf-8\";function Ps(e,t){if(!(this instanceof Ps))return new Ps(e,t);if(e=e!==void 0?String(e).toLowerCase():Ns,e!==Ns)throw new Error(\"Encoding not supported. Only utf-8 is supported\");t=bo(t),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=Boolean(t.fatal),this._ignoreBOM=Boolean(t.ignoreBOM),Object.defineProperty(this,\"encoding\",{value:\"utf-8\"}),Object.defineProperty(this,\"fatal\",{value:this._fatal}),Object.defineProperty(this,\"ignoreBOM\",{value:this._ignoreBOM})}Ps.prototype={decode:function(t,n){var r;typeof t==\"object\"&&t instanceof ArrayBuffer?r=new Uint8Array(t):typeof t==\"object\"&&\"buffer\"in t&&t.buffer instanceof ArrayBuffer?r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):r=new Uint8Array(0),n=bo(n),this._streaming||(this._decoder=new Gb({fatal:this._fatal}),this._BOMseen=!1),this._streaming=Boolean(n.stream);for(var i=new cc(r),o=[],s;!i.endOfStream()&&(s=this._decoder.handler(i,i.read()),s!==Qr);)s!==null&&(Array.isArray(s)?o.push.apply(o,s):o.push(s));if(!this._streaming){do{if(s=this._decoder.handler(i,i.read()),s===Qr)break;s!==null&&(Array.isArray(s)?o.push.apply(o,s):o.push(s))}while(!i.endOfStream());this._decoder=null}return o.length&&[\"utf-8\"].indexOf(this.encoding)!==-1&&!this._ignoreBOM&&!this._BOMseen&&(o[0]===65279?(this._BOMseen=!0,o.shift()):this._BOMseen=!0),Jb(o)}};function Vs(e,t){if(!(this instanceof Vs))return new Vs(e,t);if(e=e!==void 0?String(e).toLowerCase():Ns,e!==Ns)throw new Error(\"Encoding not supported. Only utf-8 is supported\");t=bo(t),this._streaming=!1,this._encoder=null,this._options={fatal:Boolean(t.fatal)},Object.defineProperty(this,\"encoding\",{value:\"utf-8\"})}Vs.prototype={encode:function(t,n){t=t?String(t):\"\",n=bo(n),this._streaming||(this._encoder=new Zb(this._options)),this._streaming=Boolean(n.stream);for(var r=[],i=new cc(qb(t)),o;!i.endOfStream()&&(o=this._encoder.handler(i,i.read()),o!==Qr);)Array.isArray(o)?r.push.apply(r,o):r.push(o);if(!this._streaming){for(;o=this._encoder.handler(i,i.read()),o!==Qr;)Array.isArray(o)?r.push.apply(r,o):r.push(o);this._encoder=null}return new Uint8Array(r)}};function Gb(e){var t=e.fatal,n=0,r=0,i=0,o=128,s=191;this.handler=function(a,c){if(c===Us&&i!==0)return i=0,Wo(t);if(c===Us)return Qr;if(i===0){if(An(c,0,127))return c;if(An(c,194,223))i=1,n=c-192;else if(An(c,224,239))c===224&&(o=160),c===237&&(s=159),i=2,n=c-224;else if(An(c,240,244))c===240&&(o=144),c===244&&(s=143),i=3,n=c-240;else return Wo(t);return n=n<<6*i,null}if(!An(c,o,s))return n=i=r=0,o=128,s=191,a.prepend(c),Wo(t);if(o=128,s=191,r+=1,n+=c-128<<6*(i-r),r!==i)return null;var l=n;return n=i=r=0,l}}function Zb(e){e.fatal,this.handler=function(t,n){if(n===Us)return Qr;if(An(n,0,127))return n;var r,i;An(n,128,2047)?(r=1,i=192):An(n,2048,65535)?(r=2,i=224):An(n,65536,1114111)&&(r=3,i=240);for(var o=[(n>>6*r)+i];r>0;){var s=n>>6*(r-1);o.push(128|s&63),r-=1}return o}}const ks=typeof Buffer==\"function\"?Buffer:null,Jf=typeof TextDecoder==\"function\"&&typeof TextEncoder==\"function\",xa=(e=>{if(Jf||!ks){const t=new e(\"utf-8\");return n=>t.decode(n)}return t=>{const{buffer:n,byteOffset:r,length:i}=lt(t);return ks.from(n,r,i).toString()}})(typeof TextDecoder!=\"undefined\"?TextDecoder:Ps),go=(e=>{if(Jf||!ks){const t=new e;return n=>t.encode(n)}return(t=\"\")=>lt(ks.from(t,\"utf8\"))})(typeof TextEncoder!=\"undefined\"?TextEncoder:Vs),Rt=Object.freeze({done:!0,value:void 0});class ru{constructor(t){this._json=t}get schema(){return this._json.schema}get batches(){return this._json.batches||[]}get dictionaries(){return this._json.dictionaries||[]}}class Fr{tee(){return this._getDOMStream().tee()}pipe(t,n){return this._getNodeStream().pipe(t,n)}pipeTo(t,n){return this._getDOMStream().pipeTo(t,n)}pipeThrough(t,n){return this._getDOMStream().pipeThrough(t,n)}_getDOMStream(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}_getNodeStream(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}}class Xb extends Fr{constructor(){super(),this._values=[],this.resolvers=[],this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}get closed(){return this._closedPromise}async cancel(t){await this.return(t)}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){const{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(Rt);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return we.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return we.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}async throw(t){return await this.abort(t),Rt}async return(t){return await this.close(),Rt}async read(t){return(await this.next(t,\"read\")).value}async peek(t){return(await this.next(t,\"peek\")).value}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(Rt)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error(`${this} is closed`)}}const[Qb,_o]=(()=>{const e=()=>{throw new Error(\"BigInt is not available in this environment\")};function t(){throw e()}return t.asIntN=()=>{throw e()},t.asUintN=()=>{throw e()},typeof BigInt!=\"undefined\"?[BigInt,!0]:[t,!1]})(),[li,TI]=(()=>{const e=()=>{throw new Error(\"BigInt64Array is not available in this environment\")};class t{static get BYTES_PER_ELEMENT(){return 8}static of(){throw e()}static from(){throw e()}constructor(){throw e()}}return typeof BigInt64Array!=\"undefined\"?[BigInt64Array,!0]:[t,!1]})(),[Wi,BI]=(()=>{const e=()=>{throw new Error(\"BigUint64Array is not available in this environment\")};class t{static get BYTES_PER_ELEMENT(){return 8}static of(){throw e()}static from(){throw e()}constructor(){throw e()}}return typeof BigUint64Array!=\"undefined\"?[BigUint64Array,!0]:[t,!1]})(),tg=e=>typeof e==\"number\",Gf=e=>typeof e==\"boolean\",De=e=>typeof e==\"function\",Se=e=>e!=null&&Object(e)===e,Zn=e=>Se(e)&&De(e.then),Ye=e=>Se(e)&&De(e[Symbol.iterator]),En=e=>Se(e)&&De(e[Symbol.asyncIterator]),Fa=e=>Se(e)&&Se(e.schema),Zf=e=>Se(e)&&\"done\"in e&&\"value\"in e,Xf=e=>Se(e)&&De(e.stat)&&tg(e.fd),Qf=e=>Se(e)&&lc(e.body),eg=e=>Se(e)&&De(e.abort)&&De(e.getWriter)&&!(e instanceof Fr),lc=e=>Se(e)&&De(e.cancel)&&De(e.getReader)&&!(e instanceof Fr),ng=e=>Se(e)&&De(e.end)&&De(e.write)&&Gf(e.writable)&&!(e instanceof Fr),td=e=>Se(e)&&De(e.read)&&De(e.pipe)&&Gf(e.readable)&&!(e instanceof Fr);var rg=b.ByteBuffer;const uc=typeof SharedArrayBuffer!=\"undefined\"?SharedArrayBuffer:ArrayBuffer;function ig(e){let t=e[0]?[e[0]]:[],n,r,i,o;for(let s,a,c=0,l=0,d=e.length;++c<d;){if(s=t[l],a=e[c],!s||!a||s.buffer!==a.buffer||a.byteOffset<s.byteOffset){a&&(t[++l]=a);continue}if({byteOffset:n,byteLength:i}=s,{byteOffset:r,byteLength:o}=a,n+i<r||r+o<n){a&&(t[++l]=a);continue}t[l]=new Uint8Array(s.buffer,n,r-n+o)}return t}function Di(e,t,n=0,r=t.byteLength){const i=e.byteLength,o=new Uint8Array(e.buffer,e.byteOffset,i),s=new Uint8Array(t.buffer,t.byteOffset,Math.min(r,i));return o.set(s,n),e}function He(e,t){let n=ig(e),r=n.reduce((d,p)=>d+p.byteLength,0),i,o,s,a=0,c=-1,l=Math.min(t||1/0,r);for(let d=n.length;++c<d;){if(i=n[c],o=i.subarray(0,Math.min(i.length,l-a)),l<=a+o.length){o.length<i.length?n[c]=i.subarray(o.length):o.length===i.length&&c++,s?Di(s,o,a):s=o;break}Di(s||(s=new Uint8Array(l)),o,a),a+=o.length}return[s||new Uint8Array(0),n.slice(c),r-(s?s.byteLength:0)]}function at(e,t){let n=Zf(t)?t.value:t;return n instanceof e?e===Uint8Array?new e(n.buffer,n.byteOffset,n.byteLength):n:n?(typeof n==\"string\"&&(n=go(n)),n instanceof ArrayBuffer?new e(n):n instanceof uc?new e(n):n instanceof rg?at(e,n.bytes()):ArrayBuffer.isView(n)?n.byteLength<=0?new e(0):new e(n.buffer,n.byteOffset,n.byteLength/e.BYTES_PER_ELEMENT):e.from(n)):new e(0)}const sg=e=>at(Int8Array,e),og=e=>at(Int16Array,e),Pr=e=>at(Int32Array,e),ed=e=>at(li,e),lt=e=>at(Uint8Array,e),ag=e=>at(Uint16Array,e),cg=e=>at(Uint32Array,e),nd=e=>at(Wi,e),lg=e=>at(Float32Array,e),ug=e=>at(Float64Array,e),fg=e=>at(Uint8ClampedArray,e),Ea=e=>(e.next(),e);function*mn(e,t){const n=function*(i){yield i},r=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof uc?n(t):Ye(t)?t:n(t);yield*Ea(function*(i){let o=null;do o=i.next(yield at(e,o));while(!o.done)}(r[Symbol.iterator]()))}const dg=e=>mn(Int8Array,e),hg=e=>mn(Int16Array,e),pg=e=>mn(Int32Array,e),rd=e=>mn(Uint8Array,e),yg=e=>mn(Uint16Array,e),mg=e=>mn(Uint32Array,e),bg=e=>mn(Float32Array,e),gg=e=>mn(Float64Array,e),_g=e=>mn(Uint8ClampedArray,e);async function*qe(e,t){if(Zn(t))return yield*qe(e,await t);const n=async function*(o){yield await o},r=async function*(o){yield*Ea(function*(s){let a=null;do a=s.next(yield a&&a.value);while(!a.done)}(o[Symbol.iterator]()))},i=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof uc?n(t):Ye(t)?r(t):En(t)?t:n(t);yield*Ea(async function*(o){let s=null;do s=await o.next(yield at(e,s));while(!s.done)}(i[Symbol.asyncIterator]()))}const wg=e=>qe(Int8Array,e),vg=e=>qe(Int16Array,e),Ig=e=>qe(Int32Array,e),id=e=>qe(Uint8Array,e),Sg=e=>qe(Uint16Array,e),Ag=e=>qe(Uint32Array,e),Tg=e=>qe(Float32Array,e),Bg=e=>qe(Float64Array,e),Og=e=>qe(Uint8ClampedArray,e);function wo(e,t,n){if(e!==0){n=n.slice(0,t+1);for(let r=-1;++r<=t;)n[r]+=e}return n}function sd(e,t){let n=0,r=e.length;if(r!==t.length)return!1;if(r>0)do if(e[n]!==t[n])return!1;while(++n<r);return!0}var xg=Object.freeze(Object.defineProperty({__proto__:null,memcpy:Di,joinUint8Arrays:He,toArrayBufferView:at,toInt8Array:sg,toInt16Array:og,toInt32Array:Pr,toBigInt64Array:ed,toUint8Array:lt,toUint16Array:ag,toUint32Array:cg,toBigUint64Array:nd,toFloat32Array:lg,toFloat64Array:ug,toUint8ClampedArray:fg,toArrayBufferViewIterator:mn,toInt8ArrayIterator:dg,toInt16ArrayIterator:hg,toInt32ArrayIterator:pg,toUint8ArrayIterator:rd,toUint16ArrayIterator:yg,toUint32ArrayIterator:mg,toFloat32ArrayIterator:bg,toFloat64ArrayIterator:gg,toUint8ClampedArrayIterator:_g,toArrayBufferViewAsyncIterator:qe,toInt8ArrayAsyncIterator:wg,toInt16ArrayAsyncIterator:vg,toInt32ArrayAsyncIterator:Ig,toUint8ArrayAsyncIterator:id,toUint16ArrayAsyncIterator:Sg,toUint32ArrayAsyncIterator:Ag,toFloat32ArrayAsyncIterator:Tg,toFloat64ArrayAsyncIterator:Bg,toUint8ClampedArrayAsyncIterator:Og,rebaseValueOffsets:wo,compareArrayLike:sd},Symbol.toStringTag,{value:\"Module\"})),we={fromIterable(e){return us(Fg(e))},fromAsyncIterable(e){return us(Eg(e))},fromDOMStream(e){return us(Dg(e))},fromNodeStream(e){return us(Mg(e))},toDOMStream(e,t){throw new Error('\"toDOMStream\" not available in this environment')},toNodeStream(e,t){throw new Error('\"toNodeStream\" not available in this environment')}};const us=e=>(e.next(),e);function*Fg(e){let t,n=!1,r=[],i,o,s,a=0;function c(){return o===\"peek\"?He(r,s)[0]:([i,r,a]=He(r,s),i)}({cmd:o,size:s}=yield null);let l=rd(e)[Symbol.iterator]();try{do if({done:t,value:i}=isNaN(s-a)?l.next(void 0):l.next(s-a),!t&&i.byteLength>0&&(r.push(i),a+=i.byteLength),t||s<=a)do({cmd:o,size:s}=yield c());while(s<a);while(!t)}catch(d){(n=!0)&&typeof l.throw==\"function\"&&l.throw(d)}finally{n===!1&&typeof l.return==\"function\"&&l.return()}}async function*Eg(e){let t,n=!1,r=[],i,o,s,a=0;function c(){return o===\"peek\"?He(r,s)[0]:([i,r,a]=He(r,s),i)}({cmd:o,size:s}=yield null);let l=id(e)[Symbol.asyncIterator]();try{do if({done:t,value:i}=isNaN(s-a)?await l.next(void 0):await l.next(s-a),!t&&i.byteLength>0&&(r.push(i),a+=i.byteLength),t||s<=a)do({cmd:o,size:s}=yield c());while(s<a);while(!t)}catch(d){(n=!0)&&typeof l.throw==\"function\"&&await l.throw(d)}finally{n===!1&&typeof l.return==\"function\"&&await l.return()}}async function*Dg(e){let t=!1,n=!1,r=[],i,o,s,a=0;function c(){return o===\"peek\"?He(r,s)[0]:([i,r,a]=He(r,s),i)}({cmd:o,size:s}=yield null);let l=new Lg(e);try{do if({done:t,value:i}=isNaN(s-a)?await l.read(void 0):await l.read(s-a),!t&&i.byteLength>0&&(r.push(lt(i)),a+=i.byteLength),t||s<=a)do({cmd:o,size:s}=yield c());while(s<a);while(!t)}catch(d){(n=!0)&&await l.cancel(d)}finally{n===!1?await l.cancel():e.locked&&l.releaseLock()}}class Lg{constructor(t){this.source=t,this.byobReader=null,this.defaultReader=null;try{this.supportsBYOB=!!(this.reader=this.getBYOBReader())}catch{this.supportsBYOB=!(this.reader=this.getDefaultReader())}}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=this.byobReader=this.defaultReader=null}async cancel(t){const{reader:n,source:r}=this;n&&await n.cancel(t).catch(()=>{}),r&&r.locked&&this.releaseLock()}async read(t){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=!this.supportsBYOB||typeof t!=\"number\"?await this.getDefaultReader().read():await this.readFromBYOBReader(t);return!n.done&&(n.value=lt(n)),n}getDefaultReader(){return this.byobReader&&this.releaseLock(),this.defaultReader||(this.defaultReader=this.source.getReader(),this.defaultReader.closed.catch(()=>{})),this.reader=this.defaultReader}getBYOBReader(){return this.defaultReader&&this.releaseLock(),this.byobReader||(this.byobReader=this.source.getReader({mode:\"byob\"}),this.byobReader.closed.catch(()=>{})),this.reader=this.byobReader}async readFromBYOBReader(t){return await od(this.getBYOBReader(),new ArrayBuffer(t),0,t)}}async function od(e,t,n,r){if(n>=r)return{done:!1,value:new Uint8Array(t,0,r)};const{done:i,value:o}=await e.read(new Uint8Array(t,n,r-n));return(n+=o.byteLength)<r&&!i?await od(e,o.buffer,n,r):{done:i,value:new Uint8Array(o.buffer,0,n)}}const Yo=(e,t)=>{let n=i=>r([t,i]),r;return[t,n,new Promise(i=>(r=i)&&e.once(t,n))]};async function*Mg(e){let t=[],n=\"error\",r=!1,i=null,o,s,a=0,c=[],l;function d(){return o===\"peek\"?He(c,s)[0]:([l,c,a]=He(c,s),l)}if({cmd:o,size:s}=yield null,e.isTTY)return yield new Uint8Array(0);try{t[0]=Yo(e,\"end\"),t[1]=Yo(e,\"error\");do{if(t[2]=Yo(e,\"readable\"),[n,i]=await Promise.race(t.map(_=>_[2])),n===\"error\")break;if((r=n===\"end\")||(isFinite(s-a)?(l=lt(e.read(s-a)),l.byteLength<s-a&&(l=lt(e.read(void 0)))):l=lt(e.read(void 0)),l.byteLength>0&&(c.push(l),a+=l.byteLength)),r||s<=a)do({cmd:o,size:s}=yield d());while(s<a)}while(!r)}finally{await p(t,n===\"error\"?i:null)}function p(_,O){return l=c=null,new Promise(async(P,X)=>{for(const[Q,gt]of _)e.off(Q,gt);try{const Q=e.destroy;Q&&Q.call(e,O),O=void 0}catch(Q){O=Q||O}finally{O!=null?X(O):P()}})}}class dt{}var v;(function(e){(function(t){(function(n){(function(r){(function(i){i[i.V1=0]=\"V1\",i[i.V2=1]=\"V2\",i[i.V3=2]=\"V3\",i[i.V4=3]=\"V4\"})(r.MetadataVersion||(r.MetadataVersion={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.Sparse=0]=\"Sparse\",i[i.Dense=1]=\"Dense\"})(r.UnionMode||(r.UnionMode={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.HALF=0]=\"HALF\",i[i.SINGLE=1]=\"SINGLE\",i[i.DOUBLE=2]=\"DOUBLE\"})(r.Precision||(r.Precision={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.DAY=0]=\"DAY\",i[i.MILLISECOND=1]=\"MILLISECOND\"})(r.DateUnit||(r.DateUnit={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.SECOND=0]=\"SECOND\",i[i.MILLISECOND=1]=\"MILLISECOND\",i[i.MICROSECOND=2]=\"MICROSECOND\",i[i.NANOSECOND=3]=\"NANOSECOND\"})(r.TimeUnit||(r.TimeUnit={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.YEAR_MONTH=0]=\"YEAR_MONTH\",i[i.DAY_TIME=1]=\"DAY_TIME\"})(r.IntervalUnit||(r.IntervalUnit={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.NONE=0]=\"NONE\",i[i.Null=1]=\"Null\",i[i.Int=2]=\"Int\",i[i.FloatingPoint=3]=\"FloatingPoint\",i[i.Binary=4]=\"Binary\",i[i.Utf8=5]=\"Utf8\",i[i.Bool=6]=\"Bool\",i[i.Decimal=7]=\"Decimal\",i[i.Date=8]=\"Date\",i[i.Time=9]=\"Time\",i[i.Timestamp=10]=\"Timestamp\",i[i.Interval=11]=\"Interval\",i[i.List=12]=\"List\",i[i.Struct_=13]=\"Struct_\",i[i.Union=14]=\"Union\",i[i.FixedSizeBinary=15]=\"FixedSizeBinary\",i[i.FixedSizeList=16]=\"FixedSizeList\",i[i.Map=17]=\"Map\",i[i.Duration=18]=\"Duration\",i[i.LargeBinary=19]=\"LargeBinary\",i[i.LargeUtf8=20]=\"LargeUtf8\",i[i.LargeList=21]=\"LargeList\"})(r.Type||(r.Type={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.Little=0]=\"Little\",i[i.Big=1]=\"Big\"})(r.Endianness||(r.Endianness={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsNull(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startNull(s){s.startObject(0)}static endNull(s){return s.endObject()}static createNull(s){return i.startNull(s),i.endNull(s)}}r.Null=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsStruct_(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startStruct_(s){s.startObject(0)}static endStruct_(s){return s.endObject()}static createStruct_(s){return i.startStruct_(s),i.endStruct_(s)}}r.Struct_=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsList(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startList(s){s.startObject(0)}static endList(s){return s.endObject()}static createList(s){return i.startList(s),i.endList(s)}}r.List=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsLargeList(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startLargeList(s){s.startObject(0)}static endLargeList(s){return s.endObject()}static createLargeList(s){return i.startLargeList(s),i.endLargeList(s)}}r.LargeList=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsFixedSizeList(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}listSize(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt32(this.bb_pos+s):0}static startFixedSizeList(s){s.startObject(1)}static addListSize(s,a){s.addFieldInt32(0,a,0)}static endFixedSizeList(s){return s.endObject()}static createFixedSizeList(s,a){return i.startFixedSizeList(s),i.addListSize(s,a),i.endFixedSizeList(s)}}r.FixedSizeList=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsMap(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}keysSorted(){let s=this.bb.__offset(this.bb_pos,4);return s?!!this.bb.readInt8(this.bb_pos+s):!1}static startMap(s){s.startObject(1)}static addKeysSorted(s,a){s.addFieldInt8(0,+a,0)}static endMap(s){return s.endObject()}static createMap(s,a){return i.startMap(s),i.addKeysSorted(s,a),i.endMap(s)}}r.Map=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsUnion(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}mode(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.UnionMode.Sparse}typeIds(s){let a=this.bb.__offset(this.bb_pos,6);return a?this.bb.readInt32(this.bb.__vector(this.bb_pos+a)+s*4):0}typeIdsLength(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__vector_len(this.bb_pos+s):0}typeIdsArray(){let s=this.bb.__offset(this.bb_pos,6);return s?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+s),this.bb.__vector_len(this.bb_pos+s)):null}static startUnion(s){s.startObject(2)}static addMode(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.UnionMode.Sparse)}static addTypeIds(s,a){s.addFieldOffset(1,a,0)}static createTypeIdsVector(s,a){s.startVector(4,a.length,4);for(let c=a.length-1;c>=0;c--)s.addInt32(a[c]);return s.endVector()}static startTypeIdsVector(s,a){s.startVector(4,a,4)}static endUnion(s){return s.endObject()}static createUnion(s,a,c){return i.startUnion(s),i.addMode(s,a),i.addTypeIds(s,c),i.endUnion(s)}}r.Union=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsInt(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}bitWidth(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt32(this.bb_pos+s):0}isSigned(){let s=this.bb.__offset(this.bb_pos,6);return s?!!this.bb.readInt8(this.bb_pos+s):!1}static startInt(s){s.startObject(2)}static addBitWidth(s,a){s.addFieldInt32(0,a,0)}static addIsSigned(s,a){s.addFieldInt8(1,+a,0)}static endInt(s){return s.endObject()}static createInt(s,a,c){return i.startInt(s),i.addBitWidth(s,a),i.addIsSigned(s,c),i.endInt(s)}}r.Int=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsFloatingPoint(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}precision(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.Precision.HALF}static startFloatingPoint(s){s.startObject(1)}static addPrecision(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.Precision.HALF)}static endFloatingPoint(s){return s.endObject()}static createFloatingPoint(s,a){return i.startFloatingPoint(s),i.addPrecision(s,a),i.endFloatingPoint(s)}}r.FloatingPoint=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsUtf8(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startUtf8(s){s.startObject(0)}static endUtf8(s){return s.endObject()}static createUtf8(s){return i.startUtf8(s),i.endUtf8(s)}}r.Utf8=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsBinary(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startBinary(s){s.startObject(0)}static endBinary(s){return s.endObject()}static createBinary(s){return i.startBinary(s),i.endBinary(s)}}r.Binary=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsLargeUtf8(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startLargeUtf8(s){s.startObject(0)}static endLargeUtf8(s){return s.endObject()}static createLargeUtf8(s){return i.startLargeUtf8(s),i.endLargeUtf8(s)}}r.LargeUtf8=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsLargeBinary(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startLargeBinary(s){s.startObject(0)}static endLargeBinary(s){return s.endObject()}static createLargeBinary(s){return i.startLargeBinary(s),i.endLargeBinary(s)}}r.LargeBinary=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsFixedSizeBinary(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}byteWidth(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt32(this.bb_pos+s):0}static startFixedSizeBinary(s){s.startObject(1)}static addByteWidth(s,a){s.addFieldInt32(0,a,0)}static endFixedSizeBinary(s){return s.endObject()}static createFixedSizeBinary(s,a){return i.startFixedSizeBinary(s),i.addByteWidth(s,a),i.endFixedSizeBinary(s)}}r.FixedSizeBinary=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsBool(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startBool(s){s.startObject(0)}static endBool(s){return s.endObject()}static createBool(s){return i.startBool(s),i.endBool(s)}}r.Bool=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDecimal(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}precision(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt32(this.bb_pos+s):0}scale(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readInt32(this.bb_pos+s):0}static startDecimal(s){s.startObject(2)}static addPrecision(s,a){s.addFieldInt32(0,a,0)}static addScale(s,a){s.addFieldInt32(1,a,0)}static endDecimal(s){return s.endObject()}static createDecimal(s,a,c){return i.startDecimal(s),i.addPrecision(s,a),i.addScale(s,c),i.endDecimal(s)}}r.Decimal=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDate(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.DateUnit.MILLISECOND}static startDate(s){s.startObject(1)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.DateUnit.MILLISECOND)}static endDate(s){return s.endObject()}static createDate(s,a){return i.startDate(s),i.addUnit(s,a),i.endDate(s)}}r.Date=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsTime(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.TimeUnit.MILLISECOND}bitWidth(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readInt32(this.bb_pos+s):32}static startTime(s){s.startObject(2)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.TimeUnit.MILLISECOND)}static addBitWidth(s,a){s.addFieldInt32(1,a,32)}static endTime(s){return s.endObject()}static createTime(s,a,c){return i.startTime(s),i.addUnit(s,a),i.addBitWidth(s,c),i.endTime(s)}}r.Time=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsTimestamp(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.TimeUnit.SECOND}timezone(s){let a=this.bb.__offset(this.bb_pos,6);return a?this.bb.__string(this.bb_pos+a,s):null}static startTimestamp(s){s.startObject(2)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.TimeUnit.SECOND)}static addTimezone(s,a){s.addFieldOffset(1,a,0)}static endTimestamp(s){return s.endObject()}static createTimestamp(s,a,c){return i.startTimestamp(s),i.addUnit(s,a),i.addTimezone(s,c),i.endTimestamp(s)}}r.Timestamp=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsInterval(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH}static startInterval(s){s.startObject(1)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH)}static endInterval(s){return s.endObject()}static createInterval(s,a){return i.startInterval(s),i.addUnit(s,a),i.endInterval(s)}}r.Interval=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDuration(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.TimeUnit.MILLISECOND}static startDuration(s){s.startObject(1)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.TimeUnit.MILLISECOND)}static endDuration(s){return s.endObject()}static createDuration(s,a){return i.startDuration(s),i.addUnit(s,a),i.endDuration(s)}}r.Duration=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsKeyValue(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}key(s){let a=this.bb.__offset(this.bb_pos,4);return a?this.bb.__string(this.bb_pos+a,s):null}value(s){let a=this.bb.__offset(this.bb_pos,6);return a?this.bb.__string(this.bb_pos+a,s):null}static startKeyValue(s){s.startObject(2)}static addKey(s,a){s.addFieldOffset(0,a,0)}static addValue(s,a){s.addFieldOffset(1,a,0)}static endKeyValue(s){return s.endObject()}static createKeyValue(s,a,c){return i.startKeyValue(s),i.addKey(s,a),i.addValue(s,c),i.endKeyValue(s)}}r.KeyValue=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDictionaryEncoding(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}id(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt64(this.bb_pos+s):this.bb.createLong(0,0)}indexType(s){let a=this.bb.__offset(this.bb_pos,6);return a?(s||new e.apache.arrow.flatbuf.Int).__init(this.bb.__indirect(this.bb_pos+a),this.bb):null}isOrdered(){let s=this.bb.__offset(this.bb_pos,8);return s?!!this.bb.readInt8(this.bb_pos+s):!1}static startDictionaryEncoding(s){s.startObject(3)}static addId(s,a){s.addFieldInt64(0,a,s.createLong(0,0))}static addIndexType(s,a){s.addFieldOffset(1,a,0)}static addIsOrdered(s,a){s.addFieldInt8(2,+a,0)}static endDictionaryEncoding(s){return s.endObject()}static createDictionaryEncoding(s,a,c,l){return i.startDictionaryEncoding(s),i.addId(s,a),i.addIndexType(s,c),i.addIsOrdered(s,l),i.endDictionaryEncoding(s)}}r.DictionaryEncoding=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsField(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}name(s){let a=this.bb.__offset(this.bb_pos,4);return a?this.bb.__string(this.bb_pos+a,s):null}nullable(){let s=this.bb.__offset(this.bb_pos,6);return s?!!this.bb.readInt8(this.bb_pos+s):!1}typeType(){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint8(this.bb_pos+s):e.apache.arrow.flatbuf.Type.NONE}type(s){let a=this.bb.__offset(this.bb_pos,10);return a?this.bb.__union(s,this.bb_pos+a):null}dictionary(s){let a=this.bb.__offset(this.bb_pos,12);return a?(s||new e.apache.arrow.flatbuf.DictionaryEncoding).__init(this.bb.__indirect(this.bb_pos+a),this.bb):null}children(s,a){let c=this.bb.__offset(this.bb_pos,14);return c?(a||new e.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+c)+s*4),this.bb):null}childrenLength(){let s=this.bb.__offset(this.bb_pos,14);return s?this.bb.__vector_len(this.bb_pos+s):0}customMetadata(s,a){let c=this.bb.__offset(this.bb_pos,16);return c?(a||new e.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+c)+s*4),this.bb):null}customMetadataLength(){let s=this.bb.__offset(this.bb_pos,16);return s?this.bb.__vector_len(this.bb_pos+s):0}static startField(s){s.startObject(7)}static addName(s,a){s.addFieldOffset(0,a,0)}static addNullable(s,a){s.addFieldInt8(1,+a,0)}static addTypeType(s,a){s.addFieldInt8(2,a,e.apache.arrow.flatbuf.Type.NONE)}static addType(s,a){s.addFieldOffset(3,a,0)}static addDictionary(s,a){s.addFieldOffset(4,a,0)}static addChildren(s,a){s.addFieldOffset(5,a,0)}static createChildrenVector(s,a){s.startVector(4,a.length,4);for(let c=a.length-1;c>=0;c--)s.addOffset(a[c]);return s.endVector()}static startChildrenVector(s,a){s.startVector(4,a,4)}static addCustomMetadata(s,a){s.addFieldOffset(6,a,0)}static createCustomMetadataVector(s,a){s.startVector(4,a.length,4);for(let c=a.length-1;c>=0;c--)s.addOffset(a[c]);return s.endVector()}static startCustomMetadataVector(s,a){s.startVector(4,a,4)}static endField(s){return s.endObject()}static createField(s,a,c,l,d,p,_,O){return i.startField(s),i.addName(s,a),i.addNullable(s,c),i.addTypeType(s,l),i.addType(s,d),i.addDictionary(s,p),i.addChildren(s,_),i.addCustomMetadata(s,O),i.endField(s)}}r.Field=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static createBuffer(s,a,c){return s.prep(8,16),s.writeInt64(c),s.writeInt64(a),s.offset()}}r.Buffer=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsSchema(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}endianness(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.Endianness.Little}fields(s,a){let c=this.bb.__offset(this.bb_pos,6);return c?(a||new e.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+c)+s*4),this.bb):null}fieldsLength(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__vector_len(this.bb_pos+s):0}customMetadata(s,a){let c=this.bb.__offset(this.bb_pos,8);return c?(a||new e.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+c)+s*4),this.bb):null}customMetadataLength(){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.__vector_len(this.bb_pos+s):0}static startSchema(s){s.startObject(3)}static addEndianness(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.Endianness.Little)}static addFields(s,a){s.addFieldOffset(1,a,0)}static createFieldsVector(s,a){s.startVector(4,a.length,4);for(let c=a.length-1;c>=0;c--)s.addOffset(a[c]);return s.endVector()}static startFieldsVector(s,a){s.startVector(4,a,4)}static addCustomMetadata(s,a){s.addFieldOffset(2,a,0)}static createCustomMetadataVector(s,a){s.startVector(4,a.length,4);for(let c=a.length-1;c>=0;c--)s.addOffset(a[c]);return s.endVector()}static startCustomMetadataVector(s,a){s.startVector(4,a,4)}static endSchema(s){return s.endObject()}static finishSchemaBuffer(s,a){s.finish(a)}static createSchema(s,a,c,l){return i.startSchema(s),i.addEndianness(s,a),i.addFields(s,c),i.addCustomMetadata(s,l),i.endSchema(s)}}r.Schema=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(v||(v={}));var Gt;(function(e){(function(t){(function(n){(function(r){r.Schema=v.apache.arrow.flatbuf.Schema})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(Gt||(Gt={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.NONE=0]=\"NONE\",i[i.Schema=1]=\"Schema\",i[i.DictionaryBatch=2]=\"DictionaryBatch\",i[i.RecordBatch=3]=\"RecordBatch\",i[i.Tensor=4]=\"Tensor\",i[i.SparseTensor=5]=\"SparseTensor\"})(r.MessageHeader||(r.MessageHeader={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(Gt||(Gt={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static createFieldNode(s,a,c){return s.prep(8,16),s.writeInt64(c),s.writeInt64(a),s.offset()}}r.FieldNode=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(Gt||(Gt={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsRecordBatch(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}length(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt64(this.bb_pos+s):this.bb.createLong(0,0)}nodes(s,a){let c=this.bb.__offset(this.bb_pos,6);return c?(a||new e.apache.arrow.flatbuf.FieldNode).__init(this.bb.__vector(this.bb_pos+c)+s*16,this.bb):null}nodesLength(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__vector_len(this.bb_pos+s):0}buffers(s,a){let c=this.bb.__offset(this.bb_pos,8);return c?(a||new v.apache.arrow.flatbuf.Buffer).__init(this.bb.__vector(this.bb_pos+c)+s*16,this.bb):null}buffersLength(){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.__vector_len(this.bb_pos+s):0}static startRecordBatch(s){s.startObject(3)}static addLength(s,a){s.addFieldInt64(0,a,s.createLong(0,0))}static addNodes(s,a){s.addFieldOffset(1,a,0)}static startNodesVector(s,a){s.startVector(16,a,8)}static addBuffers(s,a){s.addFieldOffset(2,a,0)}static startBuffersVector(s,a){s.startVector(16,a,8)}static endRecordBatch(s){return s.endObject()}static createRecordBatch(s,a,c,l){return i.startRecordBatch(s),i.addLength(s,a),i.addNodes(s,c),i.addBuffers(s,l),i.endRecordBatch(s)}}r.RecordBatch=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(Gt||(Gt={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDictionaryBatch(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}id(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt64(this.bb_pos+s):this.bb.createLong(0,0)}data(s){let a=this.bb.__offset(this.bb_pos,6);return a?(s||new e.apache.arrow.flatbuf.RecordBatch).__init(this.bb.__indirect(this.bb_pos+a),this.bb):null}isDelta(){let s=this.bb.__offset(this.bb_pos,8);return s?!!this.bb.readInt8(this.bb_pos+s):!1}static startDictionaryBatch(s){s.startObject(3)}static addId(s,a){s.addFieldInt64(0,a,s.createLong(0,0))}static addData(s,a){s.addFieldOffset(1,a,0)}static addIsDelta(s,a){s.addFieldInt8(2,+a,0)}static endDictionaryBatch(s){return s.endObject()}static createDictionaryBatch(s,a,c,l){return i.startDictionaryBatch(s),i.addId(s,a),i.addData(s,c),i.addIsDelta(s,l),i.endDictionaryBatch(s)}}r.DictionaryBatch=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(Gt||(Gt={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsMessage(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}version(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):v.apache.arrow.flatbuf.MetadataVersion.V1}headerType(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readUint8(this.bb_pos+s):e.apache.arrow.flatbuf.MessageHeader.NONE}header(s){let a=this.bb.__offset(this.bb_pos,8);return a?this.bb.__union(s,this.bb_pos+a):null}bodyLength(){let s=this.bb.__offset(this.bb_pos,10);return s?this.bb.readInt64(this.bb_pos+s):this.bb.createLong(0,0)}customMetadata(s,a){let c=this.bb.__offset(this.bb_pos,12);return c?(a||new v.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+c)+s*4),this.bb):null}customMetadataLength(){let s=this.bb.__offset(this.bb_pos,12);return s?this.bb.__vector_len(this.bb_pos+s):0}static startMessage(s){s.startObject(5)}static addVersion(s,a){s.addFieldInt16(0,a,v.apache.arrow.flatbuf.MetadataVersion.V1)}static addHeaderType(s,a){s.addFieldInt8(1,a,e.apache.arrow.flatbuf.MessageHeader.NONE)}static addHeader(s,a){s.addFieldOffset(2,a,0)}static addBodyLength(s,a){s.addFieldInt64(3,a,s.createLong(0,0))}static addCustomMetadata(s,a){s.addFieldOffset(4,a,0)}static createCustomMetadataVector(s,a){s.startVector(4,a.length,4);for(let c=a.length-1;c>=0;c--)s.addOffset(a[c]);return s.endVector()}static startCustomMetadataVector(s,a){s.startVector(4,a,4)}static endMessage(s){return s.endObject()}static finishMessageBuffer(s,a){s.finish(a)}static createMessage(s,a,c,l,d,p){return i.startMessage(s),i.addVersion(s,a),i.addHeaderType(s,c),i.addHeader(s,l),i.addBodyLength(s,d),i.addCustomMetadata(s,p),i.endMessage(s)}}r.Message=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(Gt||(Gt={}));v.apache.arrow.flatbuf.Type;var pn=v.apache.arrow.flatbuf.DateUnit,Bt=v.apache.arrow.flatbuf.TimeUnit,Ee=v.apache.arrow.flatbuf.Precision,xn=v.apache.arrow.flatbuf.UnionMode,ti=v.apache.arrow.flatbuf.IntervalUnit,xt=Gt.apache.arrow.flatbuf.MessageHeader,Pe=v.apache.arrow.flatbuf.MetadataVersion,y;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.Float=3]=\"Float\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct=13]=\"Struct\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Dictionary=-1]=\"Dictionary\",e[e.Int8=-2]=\"Int8\",e[e.Int16=-3]=\"Int16\",e[e.Int32=-4]=\"Int32\",e[e.Int64=-5]=\"Int64\",e[e.Uint8=-6]=\"Uint8\",e[e.Uint16=-7]=\"Uint16\",e[e.Uint32=-8]=\"Uint32\",e[e.Uint64=-9]=\"Uint64\",e[e.Float16=-10]=\"Float16\",e[e.Float32=-11]=\"Float32\",e[e.Float64=-12]=\"Float64\",e[e.DateDay=-13]=\"DateDay\",e[e.DateMillisecond=-14]=\"DateMillisecond\",e[e.TimestampSecond=-15]=\"TimestampSecond\",e[e.TimestampMillisecond=-16]=\"TimestampMillisecond\",e[e.TimestampMicrosecond=-17]=\"TimestampMicrosecond\",e[e.TimestampNanosecond=-18]=\"TimestampNanosecond\",e[e.TimeSecond=-19]=\"TimeSecond\",e[e.TimeMillisecond=-20]=\"TimeMillisecond\",e[e.TimeMicrosecond=-21]=\"TimeMicrosecond\",e[e.TimeNanosecond=-22]=\"TimeNanosecond\",e[e.DenseUnion=-23]=\"DenseUnion\",e[e.SparseUnion=-24]=\"SparseUnion\",e[e.IntervalDayTime=-25]=\"IntervalDayTime\",e[e.IntervalYearMonth=-26]=\"IntervalYearMonth\"})(y||(y={}));var V;(function(e){e[e.OFFSET=0]=\"OFFSET\",e[e.DATA=1]=\"DATA\",e[e.VALIDITY=2]=\"VALIDITY\",e[e.TYPE=3]=\"TYPE\"})(V||(V={}));function fc(e,t,n,r){return(n&1<<r)!==0}function ad(e,t,n,r){return(n&1<<r)>>r}function cd(e,t,n){return n?!!(e[t>>3]|=1<<t%8)||!0:!(e[t>>3]&=~(1<<t%8))&&!1}function vo(e,t,n){const r=n.byteLength+7&-8;if(e>0||n.byteLength<r){const i=new Uint8Array(r);return i.set(e%8===0?n.subarray(e>>3):Li(Yi(n,e,t,null,fc)).subarray(0,r)),i}return n}function Li(e){let t=[],n=0,r=0,i=0;for(const s of e)s&&(i|=1<<r),++r===8&&(t[n++]=i,i=r=0);(n===0||r>0)&&(t[n++]=i);let o=new Uint8Array(t.length+7&-8);return o.set(t),o}function*Yi(e,t,n,r,i){let o=t%8,s=t>>3,a=0,c=n;for(;c>0;o=0){let l=e[s++];do yield i(r,a++,l,o);while(--c>0&&++o<8)}}function $s(e,t,n){if(n-t<=0)return 0;if(n-t<8){let o=0;for(const s of Yi(e,t,n-t,e,ad))o+=s;return o}const r=n>>3<<3,i=t+(t%8===0?0:8-t%8);return $s(e,t,i)+$s(e,r,n)+ld(e,i>>3,r-i>>3)}function ld(e,t,n){let r=0,i=t|0;const o=new DataView(e.buffer,e.byteOffset,e.byteLength),s=n===void 0?e.byteLength:i+n;for(;s-i>=4;)r+=As(o.getUint32(i)),i+=4;for(;s-i>=2;)r+=As(o.getUint16(i)),i+=2;for(;s-i>=1;)r+=As(o.getUint8(i)),i+=1;return r}function As(e){let t=e|0;return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var Cg=Object.freeze(Object.defineProperty({__proto__:null,getBool:fc,getBit:ad,setBool:cd,truncateBitmap:vo,packBools:Li,iterateBits:Yi,popcnt_bit_range:$s,popcnt_array:ld,popcnt_uint32:As},Symbol.toStringTag,{value:\"Module\"}));class ct{visitMany(t,...n){return t.map((r,i)=>this.visit(r,...n.map(o=>o[i])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,n=!0){return Rg(this,t,n)}visitNull(t,...n){return null}visitBool(t,...n){return null}visitInt(t,...n){return null}visitFloat(t,...n){return null}visitUtf8(t,...n){return null}visitBinary(t,...n){return null}visitFixedSizeBinary(t,...n){return null}visitDate(t,...n){return null}visitTimestamp(t,...n){return null}visitTime(t,...n){return null}visitDecimal(t,...n){return null}visitList(t,...n){return null}visitStruct(t,...n){return null}visitUnion(t,...n){return null}visitDictionary(t,...n){return null}visitInterval(t,...n){return null}visitFixedSizeList(t,...n){return null}visitMap(t,...n){return null}}function Rg(e,t,n=!0){let r=null,i=y.NONE;switch(t instanceof L||t instanceof dt?i=Ho(t.type):t instanceof nt?i=Ho(t):typeof(i=t)!=\"number\"&&(i=y[t]),i){case y.Null:r=e.visitNull;break;case y.Bool:r=e.visitBool;break;case y.Int:r=e.visitInt;break;case y.Int8:r=e.visitInt8||e.visitInt;break;case y.Int16:r=e.visitInt16||e.visitInt;break;case y.Int32:r=e.visitInt32||e.visitInt;break;case y.Int64:r=e.visitInt64||e.visitInt;break;case y.Uint8:r=e.visitUint8||e.visitInt;break;case y.Uint16:r=e.visitUint16||e.visitInt;break;case y.Uint32:r=e.visitUint32||e.visitInt;break;case y.Uint64:r=e.visitUint64||e.visitInt;break;case y.Float:r=e.visitFloat;break;case y.Float16:r=e.visitFloat16||e.visitFloat;break;case y.Float32:r=e.visitFloat32||e.visitFloat;break;case y.Float64:r=e.visitFloat64||e.visitFloat;break;case y.Utf8:r=e.visitUtf8;break;case y.Binary:r=e.visitBinary;break;case y.FixedSizeBinary:r=e.visitFixedSizeBinary;break;case y.Date:r=e.visitDate;break;case y.DateDay:r=e.visitDateDay||e.visitDate;break;case y.DateMillisecond:r=e.visitDateMillisecond||e.visitDate;break;case y.Timestamp:r=e.visitTimestamp;break;case y.TimestampSecond:r=e.visitTimestampSecond||e.visitTimestamp;break;case y.TimestampMillisecond:r=e.visitTimestampMillisecond||e.visitTimestamp;break;case y.TimestampMicrosecond:r=e.visitTimestampMicrosecond||e.visitTimestamp;break;case y.TimestampNanosecond:r=e.visitTimestampNanosecond||e.visitTimestamp;break;case y.Time:r=e.visitTime;break;case y.TimeSecond:r=e.visitTimeSecond||e.visitTime;break;case y.TimeMillisecond:r=e.visitTimeMillisecond||e.visitTime;break;case y.TimeMicrosecond:r=e.visitTimeMicrosecond||e.visitTime;break;case y.TimeNanosecond:r=e.visitTimeNanosecond||e.visitTime;break;case y.Decimal:r=e.visitDecimal;break;case y.List:r=e.visitList;break;case y.Struct:r=e.visitStruct;break;case y.Union:r=e.visitUnion;break;case y.DenseUnion:r=e.visitDenseUnion||e.visitUnion;break;case y.SparseUnion:r=e.visitSparseUnion||e.visitUnion;break;case y.Dictionary:r=e.visitDictionary;break;case y.Interval:r=e.visitInterval;break;case y.IntervalDayTime:r=e.visitIntervalDayTime||e.visitInterval;break;case y.IntervalYearMonth:r=e.visitIntervalYearMonth||e.visitInterval;break;case y.FixedSizeList:r=e.visitFixedSizeList;break;case y.Map:r=e.visitMap;break}if(typeof r==\"function\")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${y[i]}'`)}function Ho(e){switch(e.typeId){case y.Null:return y.Null;case y.Int:const{bitWidth:t,isSigned:n}=e;switch(t){case 8:return n?y.Int8:y.Uint8;case 16:return n?y.Int16:y.Uint16;case 32:return n?y.Int32:y.Uint32;case 64:return n?y.Int64:y.Uint64}return y.Int;case y.Float:switch(e.precision){case Ee.HALF:return y.Float16;case Ee.SINGLE:return y.Float32;case Ee.DOUBLE:return y.Float64}return y.Float;case y.Binary:return y.Binary;case y.Utf8:return y.Utf8;case y.Bool:return y.Bool;case y.Decimal:return y.Decimal;case y.Time:switch(e.unit){case Bt.SECOND:return y.TimeSecond;case Bt.MILLISECOND:return y.TimeMillisecond;case Bt.MICROSECOND:return y.TimeMicrosecond;case Bt.NANOSECOND:return y.TimeNanosecond}return y.Time;case y.Timestamp:switch(e.unit){case Bt.SECOND:return y.TimestampSecond;case Bt.MILLISECOND:return y.TimestampMillisecond;case Bt.MICROSECOND:return y.TimestampMicrosecond;case Bt.NANOSECOND:return y.TimestampNanosecond}return y.Timestamp;case y.Date:switch(e.unit){case pn.DAY:return y.DateDay;case pn.MILLISECOND:return y.DateMillisecond}return y.Date;case y.Interval:switch(e.unit){case ti.DAY_TIME:return y.IntervalDayTime;case ti.YEAR_MONTH:return y.IntervalYearMonth}return y.Interval;case y.Map:return y.Map;case y.List:return y.List;case y.Struct:return y.Struct;case y.Union:switch(e.mode){case xn.Dense:return y.DenseUnion;case xn.Sparse:return y.SparseUnion}return y.Union;case y.FixedSizeBinary:return y.FixedSizeBinary;case y.FixedSizeList:return y.FixedSizeList;case y.Dictionary:return y.Dictionary}throw new Error(`Unrecognized type '${y[e.typeId]}'`)}ct.prototype.visitInt8=null;ct.prototype.visitInt16=null;ct.prototype.visitInt32=null;ct.prototype.visitInt64=null;ct.prototype.visitUint8=null;ct.prototype.visitUint16=null;ct.prototype.visitUint32=null;ct.prototype.visitUint64=null;ct.prototype.visitFloat16=null;ct.prototype.visitFloat32=null;ct.prototype.visitFloat64=null;ct.prototype.visitDateDay=null;ct.prototype.visitDateMillisecond=null;ct.prototype.visitTimestampSecond=null;ct.prototype.visitTimestampMillisecond=null;ct.prototype.visitTimestampMicrosecond=null;ct.prototype.visitTimestampNanosecond=null;ct.prototype.visitTimeSecond=null;ct.prototype.visitTimeMillisecond=null;ct.prototype.visitTimeMicrosecond=null;ct.prototype.visitTimeNanosecond=null;ct.prototype.visitDenseUnion=null;ct.prototype.visitSparseUnion=null;ct.prototype.visitIntervalDayTime=null;ct.prototype.visitIntervalYearMonth=null;class W extends ct{compareSchemas(t,n){return t===n||n instanceof t.constructor&&ve.compareFields(t.fields,n.fields)}compareFields(t,n){return t===n||Array.isArray(t)&&Array.isArray(n)&&t.length===n.length&&t.every((r,i)=>ve.compareField(r,n[i]))}compareField(t,n){return t===n||n instanceof t.constructor&&t.name===n.name&&t.nullable===n.nullable&&ve.visit(t.type,n.type)}}function he(e,t){return t instanceof e.constructor}function Hi(e,t){return e===t||he(e,t)}function Dn(e,t){return e===t||he(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function Io(e,t){return e===t||he(e,t)&&e.precision===t.precision}function Ug(e,t){return e===t||he(e,t)&&e.byteWidth===t.byteWidth}function dc(e,t){return e===t||he(e,t)&&e.unit===t.unit}function Ki(e,t){return e===t||he(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function qi(e,t){return e===t||he(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function Ng(e,t){return e===t||he(e,t)&&e.children.length===t.children.length&&ve.compareFields(e.children,t.children)}function Pg(e,t){return e===t||he(e,t)&&e.children.length===t.children.length&&ve.compareFields(e.children,t.children)}function hc(e,t){return e===t||he(e,t)&&e.mode===t.mode&&e.typeIds.every((n,r)=>n===t.typeIds[r])&&ve.compareFields(e.children,t.children)}function Vg(e,t){return e===t||he(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&ve.visit(e.indices,t.indices)&&ve.visit(e.dictionary,t.dictionary)}function pc(e,t){return e===t||he(e,t)&&e.unit===t.unit}function kg(e,t){return e===t||he(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&ve.compareFields(e.children,t.children)}function $g(e,t){return e===t||he(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&ve.compareFields(e.children,t.children)}W.prototype.visitNull=Hi;W.prototype.visitBool=Hi;W.prototype.visitInt=Dn;W.prototype.visitInt8=Dn;W.prototype.visitInt16=Dn;W.prototype.visitInt32=Dn;W.prototype.visitInt64=Dn;W.prototype.visitUint8=Dn;W.prototype.visitUint16=Dn;W.prototype.visitUint32=Dn;W.prototype.visitUint64=Dn;W.prototype.visitFloat=Io;W.prototype.visitFloat16=Io;W.prototype.visitFloat32=Io;W.prototype.visitFloat64=Io;W.prototype.visitUtf8=Hi;W.prototype.visitBinary=Hi;W.prototype.visitFixedSizeBinary=Ug;W.prototype.visitDate=dc;W.prototype.visitDateDay=dc;W.prototype.visitDateMillisecond=dc;W.prototype.visitTimestamp=Ki;W.prototype.visitTimestampSecond=Ki;W.prototype.visitTimestampMillisecond=Ki;W.prototype.visitTimestampMicrosecond=Ki;W.prototype.visitTimestampNanosecond=Ki;W.prototype.visitTime=qi;W.prototype.visitTimeSecond=qi;W.prototype.visitTimeMillisecond=qi;W.prototype.visitTimeMicrosecond=qi;W.prototype.visitTimeNanosecond=qi;W.prototype.visitDecimal=Hi;W.prototype.visitList=Ng;W.prototype.visitStruct=Pg;W.prototype.visitUnion=hc;W.prototype.visitDenseUnion=hc;W.prototype.visitSparseUnion=hc;W.prototype.visitDictionary=Vg;W.prototype.visitInterval=pc;W.prototype.visitIntervalDayTime=pc;W.prototype.visitIntervalYearMonth=pc;W.prototype.visitFixedSizeList=kg;W.prototype.visitMap=$g;const ve=new W;class nt{static isNull(t){return t&&t.typeId===y.Null}static isInt(t){return t&&t.typeId===y.Int}static isFloat(t){return t&&t.typeId===y.Float}static isBinary(t){return t&&t.typeId===y.Binary}static isUtf8(t){return t&&t.typeId===y.Utf8}static isBool(t){return t&&t.typeId===y.Bool}static isDecimal(t){return t&&t.typeId===y.Decimal}static isDate(t){return t&&t.typeId===y.Date}static isTime(t){return t&&t.typeId===y.Time}static isTimestamp(t){return t&&t.typeId===y.Timestamp}static isInterval(t){return t&&t.typeId===y.Interval}static isList(t){return t&&t.typeId===y.List}static isStruct(t){return t&&t.typeId===y.Struct}static isUnion(t){return t&&t.typeId===y.Union}static isFixedSizeBinary(t){return t&&t.typeId===y.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===y.FixedSizeList}static isMap(t){return t&&t.typeId===y.Map}static isDictionary(t){return t&&t.typeId===y.Dictionary}get typeId(){return y.NONE}compareTo(t){return ve.visit(this,t)}}nt[Symbol.toStringTag]=(e=>(e.children=null,e.ArrayType=Array,e[Symbol.toStringTag]=\"DataType\"))(nt.prototype);class ei extends nt{toString(){return\"Null\"}get typeId(){return y.Null}}ei[Symbol.toStringTag]=(e=>e[Symbol.toStringTag]=\"Null\")(ei.prototype);class de extends nt{constructor(t,n){super(),this.isSigned=t,this.bitWidth=n}get typeId(){return y.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?Int32Array:Uint32Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?\"I\":\"Ui\"}nt${this.bitWidth}`}}de[Symbol.toStringTag]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Int\"))(de.prototype);class yc extends de{constructor(){super(!0,8)}}class mc extends de{constructor(){super(!0,16)}}class Ir extends de{constructor(){super(!0,32)}}class ni extends de{constructor(){super(!0,64)}}class bc extends de{constructor(){super(!1,8)}}class gc extends de{constructor(){super(!1,16)}}class _c extends de{constructor(){super(!1,32)}}class ri extends de{constructor(){super(!1,64)}}Object.defineProperty(yc.prototype,\"ArrayType\",{value:Int8Array});Object.defineProperty(mc.prototype,\"ArrayType\",{value:Int16Array});Object.defineProperty(Ir.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(ni.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(bc.prototype,\"ArrayType\",{value:Uint8Array});Object.defineProperty(gc.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(_c.prototype,\"ArrayType\",{value:Uint32Array});Object.defineProperty(ri.prototype,\"ArrayType\",{value:Uint32Array});class Sr extends nt{constructor(t){super(),this.precision=t}get typeId(){return y.Float}get ArrayType(){switch(this.precision){case Ee.HALF:return Uint16Array;case Ee.SINGLE:return Float32Array;case Ee.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}Sr[Symbol.toStringTag]=(e=>(e.precision=null,e[Symbol.toStringTag]=\"Float\"))(Sr.prototype);class So extends Sr{constructor(){super(Ee.HALF)}}class wc extends Sr{constructor(){super(Ee.SINGLE)}}class vc extends Sr{constructor(){super(Ee.DOUBLE)}}Object.defineProperty(So.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(wc.prototype,\"ArrayType\",{value:Float32Array});Object.defineProperty(vc.prototype,\"ArrayType\",{value:Float64Array});class Mi extends nt{constructor(){super()}get typeId(){return y.Binary}toString(){return\"Binary\"}}Mi[Symbol.toStringTag]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Binary\"))(Mi.prototype);class ii extends nt{constructor(){super()}get typeId(){return y.Utf8}toString(){return\"Utf8\"}}ii[Symbol.toStringTag]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Utf8\"))(ii.prototype);class Ci extends nt{constructor(){super()}get typeId(){return y.Bool}toString(){return\"Bool\"}}Ci[Symbol.toStringTag]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Bool\"))(Ci.prototype);class js extends nt{constructor(t,n){super(),this.scale=t,this.precision=n}get typeId(){return y.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?\"+\":\"\"}${this.scale}]`}}js[Symbol.toStringTag]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=\"Decimal\"))(js.prototype);class si extends nt{constructor(t){super(),this.unit=t}get typeId(){return y.Date}toString(){return`Date${(this.unit+1)*32}<${pn[this.unit]}>`}}si[Symbol.toStringTag]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Date\"))(si.prototype);class jg extends si{constructor(){super(pn.DAY)}}class iu extends si{constructor(){super(pn.MILLISECOND)}}class zs extends nt{constructor(t,n){super(),this.unit=t,this.bitWidth=n}get typeId(){return y.Time}toString(){return`Time${this.bitWidth}<${Bt[this.unit]}>`}}zs[Symbol.toStringTag]=(e=>(e.unit=null,e.bitWidth=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Time\"))(zs.prototype);class Ws extends nt{constructor(t,n){super(),this.unit=t,this.timezone=n}get typeId(){return y.Timestamp}toString(){return`Timestamp<${Bt[this.unit]}${this.timezone?`, ${this.timezone}`:\"\"}>`}}Ws[Symbol.toStringTag]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Timestamp\"))(Ws.prototype);class Ys extends nt{constructor(t){super(),this.unit=t}get typeId(){return y.Interval}toString(){return`Interval<${ti[this.unit]}>`}}Ys[Symbol.toStringTag]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Interval\"))(Ys.prototype);class oi extends nt{constructor(t){super(),this.children=[t]}get typeId(){return y.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}oi[Symbol.toStringTag]=(e=>(e.children=null,e[Symbol.toStringTag]=\"List\"))(oi.prototype);class Ke extends nt{constructor(t){super(),this.children=t}get typeId(){return y.Struct}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}}Ke[Symbol.toStringTag]=(e=>(e.children=null,e[Symbol.toStringTag]=\"Struct\"))(Ke.prototype);class Ri extends nt{constructor(t,n,r){super(),this.mode=t,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,o,s)=>(i[o]=s)&&i||i,Object.create(null))}get typeId(){return y.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(\" | \")}>`}}Ri[Symbol.toStringTag]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=\"Union\"))(Ri.prototype);class Hs extends nt{constructor(t){super(),this.byteWidth=t}get typeId(){return y.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}Hs[Symbol.toStringTag]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"FixedSizeBinary\"))(Hs.prototype);class Ui extends nt{constructor(t,n){super(),this.listSize=t,this.children=[n]}get typeId(){return y.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}Ui[Symbol.toStringTag]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=\"FixedSizeList\"))(Ui.prototype);class Ni extends nt{constructor(t,n=!1){super(),this.children=[t],this.keysSorted=n}get typeId(){return y.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}}Ni[Symbol.toStringTag]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=\"Map_\"))(Ni.prototype);const zg=(e=>()=>++e)(-1);class Xn extends nt{constructor(t,n,r,i){super(),this.indices=n,this.dictionary=t,this.isOrdered=i||!1,this.id=r==null?zg():typeof r==\"number\"?r:r.low}get typeId(){return y.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}Xn[Symbol.toStringTag]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=\"Dictionary\"))(Xn.prototype);function ud(e){let t=e;switch(e.typeId){case y.Decimal:return 4;case y.Timestamp:return 2;case y.Date:return 1+t.unit;case y.Interval:return 1+t.unit;case y.Int:return 1+ +(t.bitWidth>32);case y.Time:return 1+ +(t.bitWidth>32);case y.FixedSizeList:return t.listSize;case y.FixedSizeBinary:return t.byteWidth;default:return 1}}const Wg=-1;class L{constructor(t,n,r,i,o,s,a){this.type=t,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1)),this.childData=(s||[]).map(l=>l instanceof L?l:l.data);let c;o instanceof L?(this.stride=o.stride,this.values=o.values,this.typeIds=o.typeIds,this.nullBitmap=o.nullBitmap,this.valueOffsets=o.valueOffsets):(this.stride=ud(t),o&&((c=o[0])&&(this.valueOffsets=c),(c=o[1])&&(this.values=c),(c=o[2])&&(this.nullBitmap=c),(c=o[3])&&(this.typeIds=c)))}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let t=0,{valueOffsets:n,values:r,nullBitmap:i,typeIds:o}=this;return n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),o&&(t+=o.byteLength),this.childData.reduce((s,a)=>s+a.byteLength,t)}get nullCount(){let t=this._nullCount,n;return t<=Wg&&(n=this.nullBitmap)&&(this._nullCount=t=this.length-$s(n,this.offset,this.offset+this.length)),t}clone(t,n=this.offset,r=this.length,i=this._nullCount,o=this,s=this.childData){return new L(t,n,r,i,o,s,this.dictionary)}slice(t,n){const{stride:r,typeId:i,childData:o}=this,s=+(this._nullCount===0)-1,a=i===16?r:1,c=this._sliceBuffers(t,n,r,i);return this.clone(this.type,this.offset+t,n,s,c,!o.length||this.valueOffsets?o:this._sliceChildren(o,a*t,a*n))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===y.Null)return this.clone(this.type,0,t,0);const{length:n,nullCount:r}=this,i=new Uint8Array((t+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<<n-(n&-8))-1,r>0&&i.set(vo(this.offset,n,this.nullBitmap),0);const o=this.buffers;return o[V.VALIDITY]=i,this.clone(this.type,0,t,r+(t-n),o)}_sliceBuffers(t,n,r,i){let o,{buffers:s}=this;return(o=s[V.TYPE])&&(s[V.TYPE]=o.subarray(t,t+n)),(o=s[V.OFFSET])&&(s[V.OFFSET]=o.subarray(t,t+n+1))||(o=s[V.DATA])&&(s[V.DATA]=i===6?o:o.subarray(r*t,r*(t+n))),s}_sliceChildren(t,n,r){return t.map(i=>i.slice(n,r))}static new(t,n,r,i,o,s,a){switch(o instanceof L?o=o.buffers:o||(o=[]),t.typeId){case y.Null:return L.Null(t,n,r);case y.Int:return L.Int(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.Dictionary:return L.Dictionary(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[],a);case y.Float:return L.Float(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.Bool:return L.Bool(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.Decimal:return L.Decimal(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.Date:return L.Date(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.Time:return L.Time(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.Timestamp:return L.Timestamp(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.Interval:return L.Interval(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.FixedSizeBinary:return L.FixedSizeBinary(t,n,r,i||0,o[V.VALIDITY],o[V.DATA]||[]);case y.Binary:return L.Binary(t,n,r,i||0,o[V.VALIDITY],o[V.OFFSET]||[],o[V.DATA]||[]);case y.Utf8:return L.Utf8(t,n,r,i||0,o[V.VALIDITY],o[V.OFFSET]||[],o[V.DATA]||[]);case y.List:return L.List(t,n,r,i||0,o[V.VALIDITY],o[V.OFFSET]||[],(s||[])[0]);case y.FixedSizeList:return L.FixedSizeList(t,n,r,i||0,o[V.VALIDITY],(s||[])[0]);case y.Struct:return L.Struct(t,n,r,i||0,o[V.VALIDITY],s||[]);case y.Map:return L.Map(t,n,r,i||0,o[V.VALIDITY],o[V.OFFSET]||[],(s||[])[0]);case y.Union:return L.Union(t,n,r,i||0,o[V.VALIDITY],o[V.TYPE]||[],o[V.OFFSET]||s,s)}throw new Error(`Unrecognized typeId ${t.typeId}`)}static Null(t,n,r){return new L(t,n,r,0)}static Int(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static Dictionary(t,n,r,i,o,s,a){return new L(t,n,r,i,[void 0,at(t.indices.ArrayType,s),lt(o)],[],a)}static Float(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static Bool(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static Decimal(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static Date(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static Time(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static Timestamp(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static Interval(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static FixedSizeBinary(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,at(t.ArrayType,s),lt(o)])}static Binary(t,n,r,i,o,s,a){return new L(t,n,r,i,[Pr(s),lt(a),lt(o)])}static Utf8(t,n,r,i,o,s,a){return new L(t,n,r,i,[Pr(s),lt(a),lt(o)])}static List(t,n,r,i,o,s,a){return new L(t,n,r,i,[Pr(s),void 0,lt(o)],[a])}static FixedSizeList(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,void 0,lt(o)],[s])}static Struct(t,n,r,i,o,s){return new L(t,n,r,i,[void 0,void 0,lt(o)],s)}static Map(t,n,r,i,o,s,a){return new L(t,n,r,i,[Pr(s),void 0,lt(o)],[a])}static Union(t,n,r,i,o,s,a,c){const l=[void 0,void 0,lt(o),at(t.ArrayType,s)];return t.mode===xn.Sparse?new L(t,n,r,i,l,a):(l[V.OFFSET]=Pr(a),new L(t,n,r,i,l,c))}}L.prototype.childData=Object.freeze([]);const Yg=void 0;function vi(e){if(e===null)return\"null\";if(e===Yg)return\"undefined\";switch(typeof e){case\"number\":return`${e}`;case\"bigint\":return`${e}`;case\"string\":return`\"${e}\"`}return typeof e[Symbol.toPrimitive]==\"function\"?e[Symbol.toPrimitive](\"string\"):ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e)}function Hg(e){if(!e||e.length<=0)return function(i){return!0};let t=\"\",n=e.filter(r=>r===r);return n.length>0&&(t=`\n    switch (x) {${n.map(r=>`\n        case ${Kg(r)}:`).join(\"\")}\n            return false;\n    }`),e.length!==n.length&&(t=`if (x !== x) return false;\n${t}`),new Function(\"x\",`${t}\nreturn true;`)}function Kg(e){return typeof e!=\"bigint\"?vi(e):_o?`${vi(e)}n`:`\"${vi(e)}\"`}const Ko=(e,t)=>(e*t+63&-64||64)/t,qg=(e,t=0)=>e.length>=t?e.subarray(0,t):Di(new e.constructor(t),e,0);class Ji{constructor(t,n=1){this.buffer=t,this.stride=n,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t.constructor,this._resize(this.length=t.length/n|0)}get byteLength(){return this.length*this.stride*this.BYTES_PER_ELEMENT|0}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,n){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;const n=this.stride,r=this.length*n,i=this.buffer.length;r>=i&&this._resize(i===0?Ko(r*1,this.BYTES_PER_ELEMENT):Ko(r*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=Ko(t*this.stride,this.BYTES_PER_ELEMENT);const n=qg(this.buffer,t);return this.clear(),n}clear(){return this.length=0,this._resize(0),this}_resize(t){return this.buffer=Di(new this.ArrayType(t),this.buffer)}}Ji.prototype.offset=0;class Gi extends Ji{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,n){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=n,this}}class fd extends Gi{constructor(t=new Uint8Array(0)){super(t,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,n){const{buffer:r}=this.reserve(t-this.length+1),i=t>>3,o=t%8,s=r[i]>>o&1;return n?s===0&&(r[i]|=1<<o,++this.numValid):s===1&&(r[i]&=~(1<<o),--this.numValid),this}clear(){return this.numValid=0,super.clear()}}class dd extends Gi{constructor(t=new Int32Array(1)){super(t,1)}append(t){return this.set(this.length-1,t)}set(t,n){const r=this.length-1,i=this.reserve(t-r+1).buffer;return r<t++&&i.fill(i[r],r,t),i[t]=i[t-1]+n,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,0),super.flush(t+1)}}class hd extends Ji{get ArrayType64(){return this._ArrayType64||(this._ArrayType64=this.buffer instanceof Int32Array?li:Wi)}set(t,n){switch(this.reserve(t-this.length+1),typeof n){case\"bigint\":this.buffer64[t]=n;break;case\"number\":this.buffer[t*this.stride]=n;break;default:this.buffer.set(n,t*this.stride)}return this}_resize(t){const n=super._resize(t),r=n.byteLength/(this.BYTES_PER_ELEMENT*this.stride);return _o&&(this.buffer64=new this.ArrayType64(n.buffer,n.byteOffset,r)),n}}class Ut{constructor({type:t,nullValues:n}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=n,this.stride=ud(t),this._nulls=new fd,n&&n.length>0&&(this._isValid=Hg(n))}static new(t){}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t){throw new Error('\"throughDOM\" not available in this environment')}static throughIterable(t){return Jg(t)}static throughAsyncIterable(t){return Gg(t)}toVector(){return dt.new(this.flush())}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),this._typeIds&&(t+=this._typeIds.byteLength),this.children.reduce((n,r)=>n+r.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((n,r)=>n+r.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,n){return this.setValid(t,this.isValid(n))&&this.setValue(t,n),this}setValue(t,n){this._setValue(this,t,n)}setValid(t,n){return this.length=this._nulls.set(t,+n).length,n}addChild(t,n=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type \"${this.type}\"`)}getChildAt(t){return this.children[t]||null}flush(){const t=[],n=this._values,r=this._offsets,i=this._typeIds,{length:o,nullCount:s}=this;i?(t[V.TYPE]=i.flush(o),r&&(t[V.OFFSET]=r.flush(o))):r?(n&&(t[V.DATA]=n.flush(r.last())),t[V.OFFSET]=r.flush(o)):n&&(t[V.DATA]=n.flush(o)),s>0&&(t[V.VALIDITY]=this._nulls.flush(o));const a=L.new(this.type,0,o,s,t,this.children.map(c=>c.flush()));return this.clear(),a}finish(){return this.finished=!0,this.children.forEach(t=>t.finish()),this}clear(){return this.length=0,this._offsets&&this._offsets.clear(),this._values&&this._values.clear(),this._nulls&&this._nulls.clear(),this._typeIds&&this._typeIds.clear(),this.children.forEach(t=>t.clear()),this}}Ut.prototype.length=1;Ut.prototype.stride=1;Ut.prototype.children=null;Ut.prototype.finished=!1;Ut.prototype.nullValues=null;Ut.prototype._isValid=()=>!0;class er extends Ut{constructor(t){super(t),this._values=new Gi(new this.ArrayType(0),this.stride)}setValue(t,n){const r=this._values;return r.reserve(t-r.length+1),super.setValue(t,n)}}class Ao extends Ut{constructor(t){super(t),this._pendingLength=0,this._offsets=new dd}setValue(t,n){const r=this._pending||(this._pending=new Map),i=r.get(t);i&&(this._pendingLength-=i.length),this._pendingLength+=n.length,r.set(t,n)}setValid(t,n){return super.setValid(t,n)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){const t=this._pending,n=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,n),this}}function Jg(e){const{[\"queueingStrategy\"]:t=\"count\"}=e,{[\"highWaterMark\"]:n=t!==\"bytes\"?1e3:2**14}=e,r=t!==\"bytes\"?\"length\":\"byteLength\";return function*(i){let o=0,s=Ut.new(e);for(const a of i)s.append(a)[r]>=n&&++o&&(yield s.toVector());(s.finish().length>0||o===0)&&(yield s.toVector())}}function Gg(e){const{[\"queueingStrategy\"]:t=\"count\"}=e,{[\"highWaterMark\"]:n=t!==\"bytes\"?1e3:2**14}=e,r=t!==\"bytes\"?\"length\":\"byteLength\";return async function*(i){let o=0,s=Ut.new(e);for await(const a of i)s.append(a)[r]>=n&&++o&&(yield s.toVector());(s.finish().length>0||o===0)&&(yield s.toVector())}}class Zg extends Ut{constructor(t){super(t),this._values=new fd}setValue(t,n){this._values.set(t,+n)}}class Xg extends Ut{setValue(t,n){}setValid(t,n){return this.length=Math.max(t+1,this.length),n}}class Ic extends er{}class Qg extends Ic{}class t_ extends Ic{}class e_ extends er{}class n_ extends Ut{constructor({type:t,nullValues:n,dictionaryHashFunction:r}){super({type:new Xn(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Ut.new({type:this.type.indices,nullValues:n}),this.dictionary=Ut.new({type:this.type.dictionary,nullValues:null}),typeof r==\"function\"&&(this.valueToKey=r)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,n){const r=this.indices;return n=r.setValid(t,n),this.length=r.length,n}setValue(t,n){let r=this._keysToIndices,i=this.valueToKey(n),o=r[i];return o===void 0&&(r[i]=o=this._dictionaryOffset+this.dictionary.append(n).length-1),this.indices.setValue(t,o)}flush(){const t=this.type,n=this._dictionary,r=this.dictionary.toVector(),i=this.indices.flush().clone(t);return i.dictionary=n?n.concat(r):r,this.finished||(this._dictionaryOffset+=r.length),this._dictionary=i.dictionary,this.clear(),i}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t==\"string\"?t:`${t}`}}class r_ extends er{}const pd=new Float64Array(1),Rr=new Uint32Array(pd.buffer);function yd(e){let t=(e&31744)>>10,n=(e&1023)/1024,r=(-1)**((e&32768)>>15);switch(t){case 31:return r*(n?NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*2**(t-15)*(1+n)}function Sc(e){if(e!==e)return 32256;pd[0]=e;let t=(Rr[1]&2147483648)>>16&65535,n=Rr[1]&2146435072,r=0;return n>=1089470464?Rr[0]>0?n=31744:(n=(n&2080374784)>>16,r=(Rr[1]&1048575)>>10):n<=1056964608?(r=1048576+(Rr[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(Rr[1]&1048575)+512>>10),t|n|r&65535}var i_=Object.freeze(Object.defineProperty({__proto__:null,uint16ToFloat64:yd,float64ToUint16:Sc},Symbol.toStringTag,{value:\"Module\"}));class To extends er{}class s_ extends To{setValue(t,n){this._values.set(t,Sc(n))}}class o_ extends To{setValue(t,n){this._values.set(t,n)}}class a_ extends To{setValue(t,n){this._values.set(t,n)}}const md=Symbol.for(\"isArrowBigNum\");function Je(e,...t){return t.length===0?Object.setPrototypeOf(at(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}Je.prototype[md]=!0;Je.prototype.toJSON=function(){return`\"${Yn(this)}\"`};Je.prototype.valueOf=function(){return bd(this)};Je.prototype.toString=function(){return Yn(this)};Je.prototype[Symbol.toPrimitive]=function(e=\"default\"){switch(e){case\"number\":return bd(this);case\"string\":return Yn(this);case\"default\":return Vi(this)}return Yn(this)};function Yr(...e){return Je.apply(this,e)}function Hr(...e){return Je.apply(this,e)}function Pi(...e){return Je.apply(this,e)}Object.setPrototypeOf(Yr.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(Hr.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Pi.prototype,Object.create(Uint32Array.prototype));Object.assign(Yr.prototype,Je.prototype,{constructor:Yr,signed:!0,TypedArray:Int32Array,BigIntArray:li});Object.assign(Hr.prototype,Je.prototype,{constructor:Hr,signed:!1,TypedArray:Uint32Array,BigIntArray:Wi});Object.assign(Pi.prototype,Je.prototype,{constructor:Pi,signed:!0,TypedArray:Uint32Array,BigIntArray:Wi});function bd(e){let{buffer:t,byteOffset:n,length:r,signed:i}=e,o=new Int32Array(t,n,r),s=0,a=0,c=o.length,l,d;for(;a<c;)d=o[a++],l=o[a++],i||(l=l>>>0),s+=(d>>>0)+l*a**32;return s}let Yn,Vi;_o?(Vi=e=>e.byteLength===8?new e.BigIntArray(e.buffer,e.byteOffset,1)[0]:qo(e),Yn=e=>e.byteLength===8?`${new e.BigIntArray(e.buffer,e.byteOffset,1)[0]}`:qo(e)):(Yn=qo,Vi=Yn);function qo(e){let t=\"\",n=new Uint32Array(2),r=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer),o=-1,s=r.length-1;do{for(n[0]=r[o=0];o<s;)r[o++]=n[1]=n[0]/10,n[0]=(n[0]-n[1]*10<<16)+r[o];r[o]=n[1]=n[0]/10,n[0]=n[0]-n[1]*10,t=`${n[0]}${t}`}while(i[0]||i[1]||i[2]||i[3]);return t||\"0\"}class Er{constructor(t,n){return Er.new(t,n)}static new(t,n){switch(n){case!0:return new Yr(t);case!1:return new Hr(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case li:return new Yr(t)}return t.byteLength===16?new Pi(t):new Hr(t)}static signed(t){return new Yr(t)}static unsigned(t){return new Hr(t)}static decimal(t){return new Pi(t)}}var c_=Object.freeze(Object.defineProperty({__proto__:null,isArrowBigNumSymbol:md,get bignumToString(){return Yn},get bignumToBigInt(){return Vi},BN:Er},Symbol.toStringTag,{value:\"Module\"}));class Ln extends er{setValue(t,n){this._values.set(t,n)}}class l_ extends Ln{}class u_ extends Ln{}class f_ extends Ln{}class d_ extends Ln{constructor(t){t.nullValues&&(t.nullValues=t.nullValues.map(Ks)),super(t),this._values=new hd(new Int32Array(0),2)}get values64(){return this._values.buffer64}isValid(t){return super.isValid(Ks(t))}}class h_ extends Ln{}class p_ extends Ln{}class y_ extends Ln{}class m_ extends Ln{constructor(t){t.nullValues&&(t.nullValues=t.nullValues.map(Ks)),super(t),this._values=new hd(new Uint32Array(0),2)}get values64(){return this._values.buffer64}isValid(t){return super.isValid(Ks(t))}}const Ks=(e=>t=>(ArrayBuffer.isView(t)&&(e.buffer=t.buffer,e.byteOffset=t.byteOffset,e.byteLength=t.byteLength,t=Vi(e),e.buffer=null),t))({BigIntArray:li});class Zi extends er{}class b_ extends Zi{}class g_ extends Zi{}class __ extends Zi{}class w_ extends Zi{}class Xi extends er{}class v_ extends Xi{}class I_ extends Xi{}class S_ extends Xi{}class A_ extends Xi{}class Ac extends er{}class T_ extends Ac{}class B_ extends Ac{}class gd extends Ao{constructor(t){super(t),this._values=new Ji(new Uint8Array(0))}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,lt(n))}_flushPending(t,n){const r=this._offsets,i=this._values.reserve(n).buffer;let o=0,s=0,a=0,c;for([o,c]of t)c===void 0?r.set(o,0):(s=c.length,i.set(c,a),r.set(o,s),a+=s)}}class Tc extends Ao{constructor(t){super(t),this._values=new Ji(new Uint8Array(0))}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,go(n))}_flushPending(t,n){}}Tc.prototype._flushPending=gd.prototype._flushPending;class _d{get length(){return this._values.length}get(t){return this._values[t]}clear(){return this._values=null,this}bind(t){return t instanceof dt?t:(this._values=t,this)}}const qt=Symbol.for(\"parent\"),Kr=Symbol.for(\"rowIndex\"),ge=Symbol.for(\"keyToIdx\"),be=Symbol.for(\"idxToVal\"),Da=Symbol.for(\"nodejs.util.inspect.custom\");class Tn{constructor(t,n){this[qt]=t,this.size=n}entries(){return this[Symbol.iterator]()}has(t){return this.get(t)!==void 0}get(t){let n;if(t!=null){const r=this[ge]||(this[ge]=new Map);let i=r.get(t);if(i!==void 0){const o=this[be]||(this[be]=new Array(this.size));(n=o[i])!==void 0||(o[i]=n=this.getValue(i))}else if((i=this.getIndex(t))>-1){r.set(t,i);const o=this[be]||(this[be]=new Array(this.size));(n=o[i])!==void 0||(o[i]=n=this.getValue(i))}}return n}set(t,n){if(t!=null){const r=this[ge]||(this[ge]=new Map);let i=r.get(t);if(i===void 0&&r.set(t,i=this.getIndex(t)),i>-1){const o=this[be]||(this[be]=new Array(this.size));o[i]=this.setValue(i,n)}}return this}clear(){throw new Error(`Clearing ${this[Symbol.toStringTag]} not supported.`)}delete(t){throw new Error(`Deleting ${this[Symbol.toStringTag]} values not supported.`)}*[Symbol.iterator](){const t=this.keys(),n=this.values(),r=this[ge]||(this[ge]=new Map),i=this[be]||(this[be]=new Array(this.size));for(let o,s,a=0,c,l;!((c=t.next()).done||(l=n.next()).done);++a)o=c.value,s=l.value,i[a]=s,r.has(o)||r.set(o,a),yield[o,s]}forEach(t,n){const r=this.keys(),i=this.values(),o=n===void 0?t:(c,l,d)=>t.call(n,c,l,d),s=this[ge]||(this[ge]=new Map),a=this[be]||(this[be]=new Array(this.size));for(let c,l,d=0,p,_;!((p=r.next()).done||(_=i.next()).done);++d)c=p.value,l=_.value,a[d]=l,s.has(c)||s.set(c,d),o(l,c,this)}toArray(){return[...this.values()]}toJSON(){const t={};return this.forEach((n,r)=>t[r]=n),t}inspect(){return this.toString()}[Da](){return this.toString()}toString(){const t=[];return this.forEach((n,r)=>{r=vi(r),n=vi(n),t.push(`${r}: ${n}`)}),`{ ${t.join(\", \")} }`}}Tn[Symbol.toStringTag]=(e=>(Object.defineProperties(e,{size:{writable:!0,enumerable:!1,configurable:!1,value:0},[qt]:{writable:!0,enumerable:!1,configurable:!1,value:null},[Kr]:{writable:!0,enumerable:!1,configurable:!1,value:-1}}),e[Symbol.toStringTag]=\"Row\"))(Tn.prototype);class wd extends Tn{constructor(t){return super(t,t.length),O_(this)}keys(){return this[qt].getChildAt(0)[Symbol.iterator]()}values(){return this[qt].getChildAt(1)[Symbol.iterator]()}getKey(t){return this[qt].getChildAt(0).get(t)}getIndex(t){return this[qt].getChildAt(0).indexOf(t)}getValue(t){return this[qt].getChildAt(1).get(t)}setValue(t,n){this[qt].getChildAt(1).set(t,n)}}class vd extends Tn{constructor(t){return super(t,t.type.children.length),Id(this)}*keys(){for(const t of this[qt].type.children)yield t.name}*values(){for(const t of this[qt].type.children)yield this[t.name]}getKey(t){return this[qt].type.children[t].name}getIndex(t){return this[qt].type.children.findIndex(n=>n.name===t)}getValue(t){return this[qt].getChildAt(t).get(this[Kr])}setValue(t,n){return this[qt].getChildAt(t).set(this[Kr],n)}}Object.setPrototypeOf(Tn.prototype,Map.prototype);const Id=(()=>{const e={enumerable:!0,configurable:!1,get:null,set:null};return t=>{let n=-1,r=t[ge]||(t[ge]=new Map);const i=s=>function(){return this.get(s)},o=s=>function(a){return this.set(s,a)};for(const s of t.keys())r.set(s,++n),e.get=i(s),e.set=o(s),t.hasOwnProperty(s)||(e.enumerable=!0,Object.defineProperty(t,s,e)),t.hasOwnProperty(n)||(e.enumerable=!1,Object.defineProperty(t,n,e));return e.get=e.set=null,t}})(),O_=(()=>{if(typeof Proxy==\"undefined\")return Id;const e=Tn.prototype.has,t=Tn.prototype.get,n=Tn.prototype.set,r=Tn.prototype.getKey,i={isExtensible(){return!1},deleteProperty(){return!1},preventExtensions(){return!0},ownKeys(o){return[...o.keys()].map(s=>`${s}`)},has(o,s){switch(s){case\"getKey\":case\"getIndex\":case\"getValue\":case\"setValue\":case\"toArray\":case\"toJSON\":case\"inspect\":case\"constructor\":case\"isPrototypeOf\":case\"propertyIsEnumerable\":case\"toString\":case\"toLocaleString\":case\"valueOf\":case\"size\":case\"has\":case\"get\":case\"set\":case\"clear\":case\"delete\":case\"keys\":case\"values\":case\"entries\":case\"forEach\":case\"__proto__\":case\"__defineGetter__\":case\"__defineSetter__\":case\"hasOwnProperty\":case\"__lookupGetter__\":case\"__lookupSetter__\":case Symbol.iterator:case Symbol.toStringTag:case qt:case Kr:case be:case ge:case Da:return!0}return typeof s==\"number\"&&!o.has(s)&&(s=o.getKey(s)),o.has(s)},get(o,s,a){switch(s){case\"getKey\":case\"getIndex\":case\"getValue\":case\"setValue\":case\"toArray\":case\"toJSON\":case\"inspect\":case\"constructor\":case\"isPrototypeOf\":case\"propertyIsEnumerable\":case\"toString\":case\"toLocaleString\":case\"valueOf\":case\"size\":case\"has\":case\"get\":case\"set\":case\"clear\":case\"delete\":case\"keys\":case\"values\":case\"entries\":case\"forEach\":case\"__proto__\":case\"__defineGetter__\":case\"__defineSetter__\":case\"hasOwnProperty\":case\"__lookupGetter__\":case\"__lookupSetter__\":case Symbol.iterator:case Symbol.toStringTag:case qt:case Kr:case be:case ge:case Da:return Reflect.get(o,s,a)}return typeof s==\"number\"&&!e.call(a,s)&&(s=r.call(a,s)),t.call(a,s)},set(o,s,a,c){switch(s){case qt:case Kr:case be:case ge:return Reflect.set(o,s,a,c);case\"getKey\":case\"getIndex\":case\"getValue\":case\"setValue\":case\"toArray\":case\"toJSON\":case\"inspect\":case\"constructor\":case\"isPrototypeOf\":case\"propertyIsEnumerable\":case\"toString\":case\"toLocaleString\":case\"valueOf\":case\"size\":case\"has\":case\"get\":case\"set\":case\"clear\":case\"delete\":case\"keys\":case\"values\":case\"entries\":case\"forEach\":case\"__proto__\":case\"__defineGetter__\":case\"__defineSetter__\":case\"hasOwnProperty\":case\"__lookupGetter__\":case\"__lookupSetter__\":case Symbol.iterator:case Symbol.toStringTag:return!1}return typeof s==\"number\"&&!e.call(c,s)&&(s=r.call(c,s)),e.call(c,s)?!!n.call(c,s,a):!1}};return o=>new Proxy(o,i)})();function x_(e,t,n){const r=e.length,i=t>-1?t:r+t%r;return n?n(e,i):i}let su;function Bc(e,t,n,r){let{length:i=0}=e,o=typeof t!=\"number\"?0:t,s=typeof n!=\"number\"?i:n;return o<0&&(o=(o%i+i)%i),s<0&&(s=(s%i+i)%i),s<o&&(su=o,o=s,s=su),s>i&&(s=i),r?r(e,o,s):[o,s]}const F_=_o?Qb(0):0,ou=e=>e!==e;function Dr(e){let t=typeof e;if(t!==\"object\"||e===null)return ou(e)?ou:t!==\"bigint\"?n=>n===e:n=>F_+n===e;if(e instanceof Date){const n=e.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(e)?n=>n?sd(e,n):!1:e instanceof Map?D_(e):Array.isArray(e)?E_(e):e instanceof dt?L_(e):M_(e)}function E_(e){const t=[];for(let n=-1,r=e.length;++n<r;)t[n]=Dr(e[n]);return Bo(t)}function D_(e){let t=-1;const n=[];return e.forEach(r=>n[++t]=Dr(r)),Bo(n)}function L_(e){const t=[];for(let n=-1,r=e.length;++n<r;)t[n]=Dr(e.get(n));return Bo(t)}function M_(e){const t=Object.keys(e);if(t.length===0)return()=>!1;const n=[];for(let r=-1,i=t.length;++r<i;)n[r]=Dr(e[t[r]]);return Bo(n,t)}function Bo(e,t){return n=>{if(!n||typeof n!=\"object\")return!1;switch(n.constructor){case Array:return C_(e,n);case Map:case wd:case vd:return au(e,n,n.keys());case Object:case void 0:return au(e,n,t||Object.keys(n))}return n instanceof dt?R_(e,n):!1}}function C_(e,t){const n=e.length;if(t.length!==n)return!1;for(let r=-1;++r<n;)if(!e[r](t[r]))return!1;return!0}function R_(e,t){const n=e.length;if(t.length!==n)return!1;for(let r=-1;++r<n;)if(!e[r](t.get(r)))return!1;return!0}function au(e,t,n){const r=n[Symbol.iterator](),i=t instanceof Map?t.keys():Object.keys(t)[Symbol.iterator](),o=t instanceof Map?t.values():Object.values(t)[Symbol.iterator]();let s=0,a=e.length,c=o.next(),l=r.next(),d=i.next();for(;s<a&&!l.done&&!d.done&&!c.done&&!(l.value!==d.value||!e[s](c.value));++s,l=r.next(),d=i.next(),c=o.next());return s===a&&l.done&&d.done&&c.done?!0:(r.return&&r.return(),i.return&&i.return(),o.return&&o.return(),!1)}var U_=Object.freeze(Object.defineProperty({__proto__:null,clampIndex:x_,clampRange:Bc,createElementComparator:Dr},Symbol.toStringTag,{value:\"Module\"}));class Jt extends dt{constructor(t,n=[],r=N_(n)){super(),this._nullCount=-1,this._type=t,this._chunks=n,this._chunkOffsets=r,this._length=r[r.length-1],this._numChildren=(this._type.children||[]).length}static flatten(...t){return $_(dt,t)}static concat(...t){const n=Jt.flatten(...t);return new Jt(n[0].type,n)}get type(){return this._type}get length(){return this._length}get chunks(){return this._chunks}get typeId(){return this._type.typeId}get VectorName(){return`Chunked<${this._type}>`}get data(){return this._chunks[0]?this._chunks[0].data:null}get ArrayType(){return this._type.ArrayType}get numChildren(){return this._numChildren}get stride(){return this._chunks[0]?this._chunks[0].stride:1}get byteLength(){return this._chunks.reduce((t,n)=>t+n.byteLength,0)}get nullCount(){let t=this._nullCount;return t<0&&(this._nullCount=t=this._chunks.reduce((n,{nullCount:r})=>n+r,0)),t}get indices(){if(nt.isDictionary(this._type)){if(!this._indices){const t=this._chunks;this._indices=t.length===1?t[0].indices:Jt.concat(...t.map(n=>n.indices))}return this._indices}return null}get dictionary(){return nt.isDictionary(this._type)?this._chunks[this._chunks.length-1].data.dictionary:null}*[Symbol.iterator](){for(const t of this._chunks)yield*t}clone(t=this._chunks){return new Jt(this._type,t)}concat(...t){return this.clone(Jt.flatten(this,...t))}slice(t,n){return Bc(this,t,n,this._sliceInternal)}getChildAt(t){if(t<0||t>=this._numChildren)return null;let n=this._children||(this._children=[]),r,i,o;return(r=n[t])?r:(i=(this._type.children||[])[t])&&(o=this._chunks.map(s=>s.getChildAt(t)).filter(s=>s!=null),o.length>0)?n[t]=new Jt(i.type,o):null}search(t,n){let r=t,i=this._chunkOffsets,o=i.length-1;if(r<0||r>=i[o])return null;if(o<=1)return n?n(this,0,r):[0,r];let s=0,a=0,c=0;do{if(s+1===o)return n?n(this,s,r-a):[s,r-a];c=s+(o-s)/2|0,r>=i[c]?s=c:o=c}while(r<i[o]&&r>=(a=i[s]));return null}isValid(t){return!!this.search(t,this.isValidInternal)}get(t){return this.search(t,this.getInternal)}set(t,n){this.search(t,({chunks:r},i,o)=>r[i].set(o,n))}indexOf(t,n){return n&&typeof n==\"number\"?this.search(n,(r,i,o)=>this.indexOfInternal(r,i,o,t)):this.indexOfInternal(this,0,Math.max(0,n||0),t)}toArray(){const{chunks:t}=this,n=t.length;let r=this._type.ArrayType;if(n<=0)return new r(0);if(n<=1)return t[0].toArray();let i=0,o=new Array(n);for(let c=-1;++c<n;)i+=(o[c]=t[c].toArray()).length;r!==o[0].constructor&&(r=o[0].constructor);let s=new r(i),a=r===Array?V_:P_;for(let c=-1,l=0;++c<n;)l=a(o[c],s,l);return s}getInternal({_chunks:t},n,r){return t[n].get(r)}isValidInternal({_chunks:t},n,r){return t[n].isValid(r)}indexOfInternal({_chunks:t},n,r,i){let o=n-1,s=t.length,a=r,c=0,l=-1;for(;++o<s;){if(~(l=t[o].indexOf(i,a)))return c+l;a=0,c+=t[o].length}return-1}_sliceInternal(t,n,r){const i=[],{chunks:o,_chunkOffsets:s}=t;for(let a=-1,c=o.length;++a<c;){const l=o[a],d=l.length,p=s[a];if(p>=r)break;if(n>=p+d)continue;if(p>=n&&p+d<=r){i.push(l);continue}const _=Math.max(0,n-p),O=Math.min(r-p,d);i.push(l.slice(_,O))}return t.clone(i)}}function N_(e){let t=new Uint32Array((e||[]).length+1),n=t[0]=0,r=t.length;for(let i=0;++i<r;)t[i]=n+=e[i-1].length;return t}const P_=(e,t,n)=>(t.set(e,n),n+e.length),V_=(e,t,n)=>{let r=n;for(let i=-1,o=e.length;++i<o;)t[r++]=e[i];return r};class ke extends Jt{constructor(t,n=[],r){if(n=Jt.flatten(...n),super(t.type,n,r),this._field=t,n.length===1&&!(this instanceof cu))return new cu(t,n[0],this._chunkOffsets)}static new(t,n,...r){const i=Jt.flatten(Array.isArray(n)?[...n,...r]:n instanceof dt?[n,...r]:[dt.new(n,...r)]);if(typeof t==\"string\"){const o=i[0].data.type;t=new ht(t,o,!0)}else!t.nullable&&i.some(({nullCount:o})=>o>0)&&(t=t.clone({nullable:!0}));return new ke(t,i)}get field(){return this._field}get name(){return this._field.name}get nullable(){return this._field.nullable}get metadata(){return this._field.metadata}clone(t=this._chunks){return new ke(this._field,t)}getChildAt(t){if(t<0||t>=this.numChildren)return null;let n=this._children||(this._children=[]),r,i,o;return(r=n[t])?r:(i=(this.type.children||[])[t])&&(o=this._chunks.map(s=>s.getChildAt(t)).filter(s=>s!=null),o.length>0)?n[t]=new ke(i,o):null}}class cu extends ke{constructor(t,n,r){super(t,[n],r),this._chunk=n}search(t,n){return n?n(this,0,t):[0,t]}isValid(t){return this._chunk.isValid(t)}get(t){return this._chunk.get(t)}set(t,n){this._chunk.set(t,n)}indexOf(t,n){return this._chunk.indexOf(t,n)}}const hr=Array.isArray,Sd=(e,t)=>Oc(e,t,[],0),k_=e=>{const[t,n]=xc(e,[[],[]]);return n.map((r,i)=>r instanceof ke?ke.new(r.field.clone(t[i]),r):r instanceof dt?ke.new(t[i],r):ke.new(t[i],[]))},Ad=e=>xc(e,[[],[]]),$_=(e,t)=>La(e,t,[],0),j_=(e,t)=>Td(e,t,[],0);function Oc(e,t,n,r){let i,o=r,s=-1,a=t.length;for(;++s<a;)hr(i=t[s])?o=Oc(e,i,n,o).length:i instanceof e&&(n[o++]=i);return n}function La(e,t,n,r){let i,o=r,s=-1,a=t.length;for(;++s<a;)hr(i=t[s])?o=La(e,i,n,o).length:i instanceof Jt?o=La(e,i.chunks,n,o).length:i instanceof e&&(n[o++]=i);return n}function Td(e,t,n,r){let i,o=r,s=-1,a=t.length;for(;++s<a;)hr(i=t[s])?o=Td(e,i,n,o).length:i instanceof e?o=Oc(dt,i.schema.fields.map((c,l)=>i.getChildAt(l)),n,o).length:i instanceof dt&&(n[o++]=i);return n}const z_=(e,[t,n],r)=>(e[0][r]=t,e[1][r]=n,e);function xc(e,t){let n,r;switch(r=e.length){case 0:return t;case 1:if(n=t[0],!e[0])return t;if(hr(e[0]))return xc(e[0],t);e[0]instanceof L||e[0]instanceof dt||e[0]instanceof nt||([n,e]=Object.entries(e[0]).reduce(z_,t));break;default:hr(n=e[r-1])?e=hr(e[0])?e[0]:e.slice(0,r-1):(e=hr(e[0])?e[0]:e,n=[])}let i=-1,o=-1,s=-1,a=e.length,c,l,[d,p]=t;for(;++s<a;)l=e[s],l instanceof ke&&(p[++o]=l)?d[++i]=l.field.clone(n[s],l.type,!0):({[s]:c=s}=n,l instanceof nt&&(p[++o]=l)?d[++i]=ht.new(c,l,!0):l&&l.type&&(p[++o]=l)&&(l instanceof L&&(p[o]=l=dt.new(l)),d[++i]=ht.new(c,l.type,!0)));return t}class Ot{constructor(t=[],n,r){this.fields=t||[],this.metadata=n||new Map,r||(r=Ma(t)),this.dictionaries=r}static from(...t){return Ot.new(t[0],t[1])}static new(...t){return new Ot(Ad(t)[0])}get[Symbol.toStringTag](){return\"Schema\"}toString(){return`Schema<{ ${this.fields.map((t,n)=>`${n}: ${t}`).join(\", \")} }>`}compareTo(t){return ve.compareSchemas(this,t)}select(...t){const n=t.reduce((r,i)=>(r[i]=!0)&&r,Object.create(null));return new Ot(this.fields.filter(r=>n[r.name]),this.metadata)}selectAt(...t){return new Ot(t.map(n=>this.fields[n]).filter(Boolean),this.metadata)}assign(...t){const n=t[0]instanceof Ot?t[0]:new Ot(Sd(ht,t)),r=[...this.fields],i=fs(fs(new Map,this.metadata),n.metadata),o=n.fields.filter(a=>{const c=r.findIndex(l=>l.name===a.name);return~c?(r[c]=a.clone({metadata:fs(fs(new Map,r[c].metadata),a.metadata)}))&&!1:!0}),s=Ma(o,new Map);return new Ot([...r,...o],i,new Map([...this.dictionaries,...s]))}}class ht{constructor(t,n,r=!1,i){this.name=t,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...t){let[n,r,i,o]=t;return t[0]&&typeof t[0]==\"object\"&&({name:n}=t[0],r===void 0&&(r=t[0].type),i===void 0&&(i=t[0].nullable),o===void 0&&(o=t[0].metadata)),new ht(`${n}`,r,i,o)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return\"Field\"}toString(){return`${this.name}: ${this.type}`}compareTo(t){return ve.compareField(this,t)}clone(...t){let[n,r,i,o]=t;return!t[0]||typeof t[0]!=\"object\"?[n=this.name,r=this.type,i=this.nullable,o=this.metadata]=t:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:o=this.metadata}=t[0],ht.new(n,r,i,o)}}function fs(e,t){return new Map([...e||new Map,...t||new Map])}function Ma(e,t=new Map){for(let n=-1,r=e.length;++n<r;){const o=e[n].type;if(nt.isDictionary(o)){if(!t.has(o.id))t.set(o.id,o.dictionary);else if(t.get(o.id)!==o.dictionary)throw new Error(\"Cannot create Schema containing two different dictionaries with the same Id\")}o.children&&o.children.length>0&&Ma(o.children,t)}return t}Ot.prototype.fields=null;Ot.prototype.metadata=null;Ot.prototype.dictionaries=null;ht.prototype.type=null;ht.prototype.name=null;ht.prototype.nullable=null;ht.prototype.metadata=null;class W_ extends Ao{constructor(t){super(t),this._run=new _d,this._offsets=new dd}addChild(t,n=\"0\"){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new oi(new ht(n,t.type,!0)),this.numChildren-1}clear(){return this._run.clear(),super.clear()}_flushPending(t){const n=this._run,r=this._offsets,i=this._setValue;let o=0,s;for([o,s]of t)s===void 0?r.set(o,0):(r.set(o,s.length),i(this,o,n.bind(s)))}}class Y_ extends Ut{constructor(){super(...arguments),this._run=new _d}setValue(t,n){super.setValue(t,this._run.bind(n))}addChild(t,n=\"0\"){if(this.numChildren>0)throw new Error(\"FixedSizeListBuilder can only have one child.\");const r=this.children.push(t);return this.type=new Ui(this.type.listSize,new ht(n,t.type,!0)),r}clear(){return this._run.clear(),super.clear()}}class H_ extends Ao{set(t,n){return super.set(t,n)}setValue(t,n){n=n instanceof Map?n:new Map(Object.entries(n));const r=this._pending||(this._pending=new Map),i=r.get(t);i&&(this._pendingLength-=i.size),this._pendingLength+=n.size,r.set(t,n)}addChild(t,n=`${this.numChildren}`){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new Ni(new ht(n,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){const n=this._offsets,r=this._setValue;t.forEach((i,o)=>{i===void 0?n.set(o,0):(n.set(o,i.size),r(this,o,i))})}}class K_ extends Ut{addChild(t,n=`${this.numChildren}`){const r=this.children.push(t);return this.type=new Ke([...this.type.children,new ht(n,t.type,!0)]),r}}class Fc extends Ut{constructor(t){super(t),this._typeIds=new Gi(new Int8Array(0),1),typeof t.valueToChildTypeId==\"function\"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,n){return this.set(this.length,t,n)}set(t,n,r){return r===void 0&&(r=this._valueToChildTypeId(this,n,t)),this.setValid(t,this.isValid(n))&&this.setValue(t,n,r),this}setValue(t,n,r){this._typeIds.set(t,r),super.setValue(t,n)}addChild(t,n=`${this.children.length}`){const r=this.children.push(t),{type:{children:i,mode:o,typeIds:s}}=this,a=[...i,new ht(n,t.type)];return this.type=new Ri(o,[...s,r],a),r}_valueToChildTypeId(t,n,r){throw new Error(\"Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.\")}}class q_ extends Fc{}class J_ extends Fc{constructor(t){super(t),this._offsets=new Gi(new Int32Array(0))}setValue(t,n,r){const i=this.type.typeIdToChildIndex[r];return this._offsets.set(t,this.getChildAt(i).length),super.setValue(t,n,r)}}class J extends ct{}const G_=(e,t,n)=>{e[t]=n/864e5|0},Ec=(e,t,n)=>{e[t]=n%4294967296|0,e[t+1]=n/4294967296|0},Z_=(e,t,n)=>{e[t]=n*1e3%4294967296|0,e[t+1]=n*1e3/4294967296|0},X_=(e,t,n)=>{e[t]=n*1e6%4294967296|0,e[t+1]=n*1e6/4294967296|0},Bd=(e,t,n,r)=>{const{[n]:i,[n+1]:o}=t;i!=null&&o!=null&&e.set(r.subarray(0,o-i),i)},Q_=({offset:e,values:t},n,r)=>{const i=e+n;r?t[i>>3]|=1<<i%8:t[i>>3]&=~(1<<i%8)},Od=({values:e},t,n)=>{G_(e,t,n.valueOf())},xd=({values:e},t,n)=>{Ec(e,t*2,n.valueOf())},bn=({stride:e,values:t},n,r)=>{t[e*n]=r},Fd=({stride:e,values:t},n,r)=>{t[e*n]=Sc(r)},Dc=(e,t,n)=>{switch(typeof n){case\"bigint\":e.values64[t]=n;break;case\"number\":e.values[t*e.stride]=n;break;default:const r=n,{stride:i,ArrayType:o}=e,s=at(o,r);e.values.set(s.subarray(0,i),i*t)}},tw=({stride:e,values:t},n,r)=>{t.set(r.subarray(0,e),e*n)},ew=({values:e,valueOffsets:t},n,r)=>Bd(e,t,n,r),nw=({values:e,valueOffsets:t},n,r)=>{Bd(e,t,n,go(r))},rw=(e,t,n)=>{e.type.bitWidth<64?bn(e,t,n):Dc(e,t,n)},iw=(e,t,n)=>{e.type.precision!==Ee.HALF?bn(e,t,n):Fd(e,t,n)},sw=(e,t,n)=>{e.type.unit===pn.DAY?Od(e,t,n):xd(e,t,n)},Ed=({values:e},t,n)=>Ec(e,t*2,n/1e3),Dd=({values:e},t,n)=>Ec(e,t*2,n),Ld=({values:e},t,n)=>Z_(e,t*2,n),Md=({values:e},t,n)=>X_(e,t*2,n),ow=(e,t,n)=>{switch(e.type.unit){case Bt.SECOND:return Ed(e,t,n);case Bt.MILLISECOND:return Dd(e,t,n);case Bt.MICROSECOND:return Ld(e,t,n);case Bt.NANOSECOND:return Md(e,t,n)}},Cd=({values:e,stride:t},n,r)=>{e[t*n]=r},Rd=({values:e,stride:t},n,r)=>{e[t*n]=r},Ud=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},Nd=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},aw=(e,t,n)=>{switch(e.type.unit){case Bt.SECOND:return Cd(e,t,n);case Bt.MILLISECOND:return Rd(e,t,n);case Bt.MICROSECOND:return Ud(e,t,n);case Bt.NANOSECOND:return Nd(e,t,n)}},cw=({values:e},t,n)=>{e.set(n.subarray(0,4),4*t)},lw=(e,t,n)=>{const r=e.getChildAt(0),i=e.valueOffsets;for(let o=-1,s=i[t],a=i[t+1];s<a;)r.set(s++,n.get(++o))},uw=(e,t,n)=>{const r=e.getChildAt(0),i=e.valueOffsets,o=n instanceof Map?[...n]:Object.entries(n);for(let s=-1,a=i[t],c=i[t+1];a<c;)r.set(a++,o[++s])},fw=(e,t)=>(n,r,i)=>n&&n.set(e,t[i]),dw=(e,t)=>(n,r,i)=>n&&n.set(e,t.get(i)),hw=(e,t)=>(n,r,i)=>n&&n.set(e,t.get(r.name)),pw=(e,t)=>(n,r,i)=>n&&n.set(e,t[r.name]),yw=(e,t,n)=>{const r=n instanceof Map?hw(t,n):n instanceof dt?dw(t,n):Array.isArray(n)?fw(t,n):pw(t,n);e.type.children.forEach((i,o)=>r(e.getChildAt(o),i,o))},mw=(e,t,n)=>{e.type.mode===xn.Dense?Pd(e,t,n):Vd(e,t,n)},Pd=(e,t,n)=>{const r=e.typeIdToChildIndex[e.typeIds[t]],i=e.getChildAt(r);i&&i.set(e.valueOffsets[t],n)},Vd=(e,t,n)=>{const r=e.typeIdToChildIndex[e.typeIds[t]],i=e.getChildAt(r);i&&i.set(t,n)},bw=(e,t,n)=>{const r=e.getKey(t);r!==null&&e.setValue(r,n)},gw=(e,t,n)=>{e.type.unit===ti.DAY_TIME?kd(e,t,n):$d(e,t,n)},kd=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},$d=({values:e},t,n)=>{e[t]=n[0]*12+n[1]%12},_w=(e,t,n)=>{const r=e.getChildAt(0),{stride:i}=e;for(let o=-1,s=t*i;++o<i;)r.set(s+o,n.get(o))};J.prototype.visitBool=Q_;J.prototype.visitInt=rw;J.prototype.visitInt8=bn;J.prototype.visitInt16=bn;J.prototype.visitInt32=bn;J.prototype.visitInt64=Dc;J.prototype.visitUint8=bn;J.prototype.visitUint16=bn;J.prototype.visitUint32=bn;J.prototype.visitUint64=Dc;J.prototype.visitFloat=iw;J.prototype.visitFloat16=Fd;J.prototype.visitFloat32=bn;J.prototype.visitFloat64=bn;J.prototype.visitUtf8=nw;J.prototype.visitBinary=ew;J.prototype.visitFixedSizeBinary=tw;J.prototype.visitDate=sw;J.prototype.visitDateDay=Od;J.prototype.visitDateMillisecond=xd;J.prototype.visitTimestamp=ow;J.prototype.visitTimestampSecond=Ed;J.prototype.visitTimestampMillisecond=Dd;J.prototype.visitTimestampMicrosecond=Ld;J.prototype.visitTimestampNanosecond=Md;J.prototype.visitTime=aw;J.prototype.visitTimeSecond=Cd;J.prototype.visitTimeMillisecond=Rd;J.prototype.visitTimeMicrosecond=Ud;J.prototype.visitTimeNanosecond=Nd;J.prototype.visitDecimal=cw;J.prototype.visitList=lw;J.prototype.visitStruct=yw;J.prototype.visitUnion=mw;J.prototype.visitDenseUnion=Pd;J.prototype.visitSparseUnion=Vd;J.prototype.visitDictionary=bw;J.prototype.visitInterval=gw;J.prototype.visitIntervalDayTime=kd;J.prototype.visitIntervalYearMonth=$d;J.prototype.visitFixedSizeList=_w;J.prototype.visitMap=uw;const Oo=new J;class ww extends ct{visitNull(){return Xg}visitBool(){return Zg}visitInt(){return Ln}visitInt8(){return l_}visitInt16(){return u_}visitInt32(){return f_}visitInt64(){return d_}visitUint8(){return h_}visitUint16(){return p_}visitUint32(){return y_}visitUint64(){return m_}visitFloat(){return To}visitFloat16(){return s_}visitFloat32(){return o_}visitFloat64(){return a_}visitUtf8(){return Tc}visitBinary(){return gd}visitFixedSizeBinary(){return r_}visitDate(){return Ic}visitDateDay(){return Qg}visitDateMillisecond(){return t_}visitTimestamp(){return Xi}visitTimestampSecond(){return v_}visitTimestampMillisecond(){return I_}visitTimestampMicrosecond(){return S_}visitTimestampNanosecond(){return A_}visitTime(){return Zi}visitTimeSecond(){return b_}visitTimeMillisecond(){return g_}visitTimeMicrosecond(){return __}visitTimeNanosecond(){return w_}visitDecimal(){return e_}visitList(){return W_}visitStruct(){return K_}visitUnion(){return Fc}visitDenseUnion(){return J_}visitSparseUnion(){return q_}visitDictionary(){return n_}visitInterval(){return Ac}visitIntervalDayTime(){return T_}visitIntervalYearMonth(){return B_}visitFixedSizeList(){return Y_}visitMap(){return H_}}const jd=new ww;Ut.new=zd;function zd(e){const t=e.type,n=new(jd.getVisitFn(t)())(e);if(t.children&&t.children.length>0){const r=e.children||[],i={nullValues:e.nullValues},o=Array.isArray(r)?(s,a)=>r[a]||i:({name:s})=>r[s]||i;t.children.forEach((s,a)=>{const{type:c}=s,l=o(s,a);n.children.push(zd({...l,type:c}))})}return n}Object.keys(y).map(e=>y[e]).filter(e=>typeof e==\"number\"&&e!==y.NONE).forEach(e=>{const t=jd.visit(e);t.prototype._setValue=Oo.getVisitFn(e)});Tc.prototype._setValue=Oo.visitBinary;var ai;(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsFooter(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}version(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):v.apache.arrow.flatbuf.MetadataVersion.V1}schema(s){let a=this.bb.__offset(this.bb_pos,6);return a?(s||new v.apache.arrow.flatbuf.Schema).__init(this.bb.__indirect(this.bb_pos+a),this.bb):null}dictionaries(s,a){let c=this.bb.__offset(this.bb_pos,8);return c?(a||new e.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos+c)+s*24,this.bb):null}dictionariesLength(){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.__vector_len(this.bb_pos+s):0}recordBatches(s,a){let c=this.bb.__offset(this.bb_pos,10);return c?(a||new e.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos+c)+s*24,this.bb):null}recordBatchesLength(){let s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__vector_len(this.bb_pos+s):0}static startFooter(s){s.startObject(4)}static addVersion(s,a){s.addFieldInt16(0,a,v.apache.arrow.flatbuf.MetadataVersion.V1)}static addSchema(s,a){s.addFieldOffset(1,a,0)}static addDictionaries(s,a){s.addFieldOffset(2,a,0)}static startDictionariesVector(s,a){s.startVector(24,a,8)}static addRecordBatches(s,a){s.addFieldOffset(3,a,0)}static startRecordBatchesVector(s,a){s.startVector(24,a,8)}static endFooter(s){return s.endObject()}static finishFooterBuffer(s,a){s.finish(a)}static createFooter(s,a,c,l,d){return i.startFooter(s),i.addVersion(s,a),i.addSchema(s,c),i.addDictionaries(s,l),i.addRecordBatches(s,d),i.endFooter(s)}}r.Footer=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(ai||(ai={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static createBlock(s,a,c,l){return s.prep(8,24),s.writeInt64(l),s.pad(4),s.writeInt32(c),s.writeInt64(a),s.offset()}}r.Block=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(ai||(ai={}));var lu=b.Long,vw=b.Builder,Iw=b.ByteBuffer,Sw=ai.apache.arrow.flatbuf.Block,on=ai.apache.arrow.flatbuf.Footer;class ki{constructor(t,n=Pe.V4,r,i){this.schema=t,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(t){t=new Iw(lt(t));const n=on.getRootAsFooter(t),r=Ot.decode(n.schema());return new Aw(r,n)}static encode(t){const n=new vw,r=Ot.encode(n,t.schema);on.startRecordBatchesVector(n,t.numRecordBatches),[...t.recordBatches()].slice().reverse().forEach(s=>Qn.encode(n,s));const i=n.endVector();on.startDictionariesVector(n,t.numDictionaries),[...t.dictionaryBatches()].slice().reverse().forEach(s=>Qn.encode(n,s));const o=n.endVector();return on.startFooter(n),on.addSchema(n,r),on.addVersion(n,Pe.V4),on.addRecordBatches(n,i),on.addDictionaries(n,o),on.finishFooterBuffer(n,on.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let t,n=-1,r=this.numRecordBatches;++n<r;)(t=this.getRecordBatch(n))&&(yield t)}*dictionaryBatches(){for(let t,n=-1,r=this.numDictionaries;++n<r;)(t=this.getDictionaryBatch(n))&&(yield t)}getRecordBatch(t){return t>=0&&t<this.numRecordBatches&&this._recordBatches[t]||null}getDictionaryBatch(t){return t>=0&&t<this.numDictionaries&&this._dictionaryBatches[t]||null}}class Aw extends ki{constructor(t,n){super(t,n.version()),this._footer=n}get numRecordBatches(){return this._footer.recordBatchesLength()}get numDictionaries(){return this._footer.dictionariesLength()}getRecordBatch(t){if(t>=0&&t<this.numRecordBatches){const n=this._footer.recordBatches(t);if(n)return Qn.decode(n)}return null}getDictionaryBatch(t){if(t>=0&&t<this.numDictionaries){const n=this._footer.dictionaries(t);if(n)return Qn.decode(n)}return null}}class Qn{static decode(t){return new Qn(t.metaDataLength(),t.bodyLength(),t.offset())}static encode(t,n){const{metaDataLength:r}=n,i=new lu(n.offset,0),o=new lu(n.bodyLength,0);return Sw.createBlock(t,i,r,o)}constructor(t,n,r){this.metaDataLength=t,this.offset=typeof r==\"number\"?r:r.low,this.bodyLength=typeof n==\"number\"?n:n.low}}class Ii extends Xb{write(t){if((t=lt(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?xa(this.toUint8Array(!0)):this.toUint8Array(!1).then(xa)}toUint8Array(t=!1){return t?He(this._values)[0]:(async()=>{let n=[],r=0;for await(const i of this)n.push(i),r+=i.byteLength;return He(n,r)[0]})()}}class qs{constructor(t){t&&(this.source=new Tw(we.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class Ar{constructor(t){t instanceof Ar?this.source=t.source:t instanceof Ii?this.source=new cr(we.fromAsyncIterable(t)):td(t)?this.source=new cr(we.fromNodeStream(t)):lc(t)?this.source=new cr(we.fromDOMStream(t)):Qf(t)?this.source=new cr(we.fromDOMStream(t.body)):Ye(t)?this.source=new cr(we.fromIterable(t)):Zn(t)?this.source=new cr(we.fromAsyncIterable(t)):En(t)&&(this.source=new cr(we.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class Tw{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,\"peek\").value}read(t){return this.next(t,\"read\").value}next(t,n=\"read\"){return this.source.next({cmd:n,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||Rt)}return(t){return Object.create(this.source.return&&this.source.return(t)||Rt)}}class cr{constructor(t){this.source=t,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}async cancel(t){await this.return(t)}get closed(){return this._closedPromise}async read(t){return(await this.next(t,\"read\")).value}async peek(t){return(await this.next(t,\"peek\")).value}async next(t,n=\"read\"){return await this.source.next({cmd:n,size:t})}async throw(t){const n=this.source.throw&&await this.source.throw(t)||Rt;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)}async return(t){const n=this.source.return&&await this.source.return(t)||Rt;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)}}class uu extends qs{constructor(t,n){super(),this.position=0,this.buffer=lt(t),this.size=typeof n==\"undefined\"?this.buffer.byteLength:n}readInt32(t){const{buffer:n,byteOffset:r}=this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),t<this.size}read(t){const{buffer:n,size:r,position:i}=this;return n&&i<r?(typeof t!=\"number\"&&(t=1/0),this.position=Math.min(r,i+Math.min(r-i,t)),n.subarray(i,this.position)):null}readAt(t,n){const r=this.buffer,i=Math.min(this.size,t+n);return r?r.subarray(t,i):new Uint8Array(n)}close(){this.buffer&&(this.buffer=null)}throw(t){return this.close(),{done:!0,value:t}}return(t){return this.close(),{done:!0,value:t}}}class Js extends Ar{constructor(t,n){super(),this.position=0,this._handle=t,typeof n==\"number\"?this.size=n:this._pending=(async()=>{this.size=(await t.stat()).size,delete this._pending})()}async readInt32(t){const{buffer:n,byteOffset:r}=await this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)}async seek(t){return this._pending&&await this._pending,this.position=Math.min(t,this.size),t<this.size}async read(t){this._pending&&await this._pending;const{_handle:n,size:r,position:i}=this;if(n&&i<r){typeof t!=\"number\"&&(t=1/0);let o=i,s=0,a=0,c=Math.min(r,o+Math.min(r-o,t)),l=new Uint8Array(Math.max(0,(this.position=c)-o));for(;(o+=a)<c&&(s+=a)<l.byteLength;)({bytesRead:a}=await n.read(l,s,l.byteLength-s,o));return l}return null}async readAt(t,n){this._pending&&await this._pending;const{_handle:r,size:i}=this;if(r&&t+n<i){const o=Math.min(i,t+n),s=new Uint8Array(o-t);return(await r.read(s,0,n,t)).buffer}return new Uint8Array(n)}async close(){const t=this._handle;this._handle=null,t&&await t.close()}async throw(t){return await this.close(),{done:!0,value:t}}async return(t){return await this.close(),{done:!0,value:t}}}const Bw=1<<16;function jr(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}const ci=8,Lc=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8];class Mc{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){const n=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let o=i>>>16;return i=n[2]*r[3],o+=i,i=n[3]*r[2]>>>0,o+=i,this.buffer[0]+=o<<16,this.buffer[1]=o>>>0<i?Bw:0,this.buffer[1]+=o>>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(t){const n=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],n<this.buffer[0]>>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(t){return this.buffer[1]<t.buffer[1]||this.buffer[1]===t.buffer[1]&&this.buffer[0]<t.buffer[0]}equals(t){return this.buffer[1]===t.buffer[1]&&this.buffer[0]==t.buffer[0]}greaterThan(t){return t.lessThan(this)}hex(){return`${jr(this.buffer[1])} ${jr(this.buffer[0])}`}}class wt extends Mc{times(t){return this._times(t),this}plus(t){return this._plus(t),this}static from(t,n=new Uint32Array(2)){return wt.fromString(typeof t==\"string\"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(2)){return wt.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(2)){const r=t.length;let i=new wt(n);for(let o=0;o<r;){const s=ci<r-o?ci:r-o,a=new wt(new Uint32Array([parseInt(t.substr(o,s),10),0])),c=new wt(new Uint32Array([Lc[s],0]));i.times(c),i.plus(a),o+=s}return i}static convertArray(t){const n=new Uint32Array(t.length*2);for(let r=-1,i=t.length;++r<i;)wt.from(t[r],new Uint32Array(n.buffer,n.byteOffset+2*r*4,2));return n}static multiply(t,n){return new wt(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new wt(new Uint32Array(t.buffer)).plus(n)}}class ne extends Mc{negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[0]==0&&++this.buffer[1],this}times(t){return this._times(t),this}plus(t){return this._plus(t),this}lessThan(t){const n=this.buffer[1]<<0,r=t.buffer[1]<<0;return n<r||n===r&&this.buffer[0]<t.buffer[0]}static from(t,n=new Uint32Array(2)){return ne.fromString(typeof t==\"string\"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(2)){return ne.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(2)){const r=t.startsWith(\"-\"),i=t.length;let o=new ne(n);for(let s=r?1:0;s<i;){const a=ci<i-s?ci:i-s,c=new ne(new Uint32Array([parseInt(t.substr(s,a),10),0])),l=new ne(new Uint32Array([Lc[a],0]));o.times(l),o.plus(c),s+=a}return r?o.negate():o}static convertArray(t){const n=new Uint32Array(t.length*2);for(let r=-1,i=t.length;++r<i;)ne.from(t[r],new Uint32Array(n.buffer,n.byteOffset+2*r*4,2));return n}static multiply(t,n){return new ne(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new ne(new Uint32Array(t.buffer)).plus(n)}}class Ue{constructor(t){this.buffer=t}high(){return new ne(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2))}low(){return new ne(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset,2))}negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[2]=~this.buffer[2],this.buffer[3]=~this.buffer[3],this.buffer[0]==0&&++this.buffer[1],this.buffer[1]==0&&++this.buffer[2],this.buffer[2]==0&&++this.buffer[3],this}times(t){const n=new wt(new Uint32Array([this.buffer[3],0])),r=new wt(new Uint32Array([this.buffer[2],0])),i=new wt(new Uint32Array([this.buffer[1],0])),o=new wt(new Uint32Array([this.buffer[0],0])),s=new wt(new Uint32Array([t.buffer[3],0])),a=new wt(new Uint32Array([t.buffer[2],0])),c=new wt(new Uint32Array([t.buffer[1],0])),l=new wt(new Uint32Array([t.buffer[0],0]));let d=wt.multiply(o,l);this.buffer[0]=d.low();let p=new wt(new Uint32Array([d.high(),0]));return d=wt.multiply(i,l),p.plus(d),d=wt.multiply(o,c),p.plus(d),this.buffer[1]=p.low(),this.buffer[3]=p.lessThan(d)?1:0,this.buffer[2]=p.high(),new wt(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2)).plus(wt.multiply(r,l)).plus(wt.multiply(i,c)).plus(wt.multiply(o,a)),this.buffer[3]+=wt.multiply(n,l).plus(wt.multiply(r,c)).plus(wt.multiply(i,a)).plus(wt.multiply(o,s)).low(),this}plus(t){let n=new Uint32Array(4);return n[3]=this.buffer[3]+t.buffer[3]>>>0,n[2]=this.buffer[2]+t.buffer[2]>>>0,n[1]=this.buffer[1]+t.buffer[1]>>>0,n[0]=this.buffer[0]+t.buffer[0]>>>0,n[0]<this.buffer[0]>>>0&&++n[1],n[1]<this.buffer[1]>>>0&&++n[2],n[2]<this.buffer[2]>>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${jr(this.buffer[3])} ${jr(this.buffer[2])} ${jr(this.buffer[1])} ${jr(this.buffer[0])}`}static multiply(t,n){return new Ue(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new Ue(new Uint32Array(t.buffer)).plus(n)}static from(t,n=new Uint32Array(4)){return Ue.fromString(typeof t==\"string\"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(4)){return Ue.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(4)){const r=t.startsWith(\"-\"),i=t.length;let o=new Ue(n);for(let s=r?1:0;s<i;){const a=ci<i-s?ci:i-s,c=new Ue(new Uint32Array([parseInt(t.substr(s,a),10),0,0,0])),l=new Ue(new Uint32Array([Lc[a],0,0,0]));o.times(l),o.plus(c),s+=a}return r?o.negate():o}static convertArray(t){const n=new Uint32Array(t.length*4);for(let r=-1,i=t.length;++r<i;)Ue.from(t[r],new Uint32Array(n.buffer,n.byteOffset+4*4*r,4));return n}}var Ow=Object.freeze(Object.defineProperty({__proto__:null,BaseInt64:Mc,Uint64:wt,Int64:ne,Int128:Ue},Symbol.toStringTag,{value:\"Module\"}));class Wd extends ct{constructor(t,n,r,i){super(),this.nodesIndex=-1,this.buffersIndex=-1,this.bytes=t,this.nodes=n,this.buffers=r,this.dictionaries=i}visit(t){return super.visit(t instanceof ht?t.type:t)}visitNull(t,{length:n}=this.nextFieldNode()){return L.Null(t,0,n)}visitBool(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Bool(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitInt(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Int(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitFloat(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Float(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitUtf8(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Utf8(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.readData(t))}visitBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Binary(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.readData(t))}visitFixedSizeBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.FixedSizeBinary(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitDate(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Date(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitTimestamp(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Timestamp(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitTime(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Time(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitDecimal(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Decimal(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitList(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.List(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.visit(t.children[0]))}visitStruct(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Struct(t,0,n,r,this.readNullBitmap(t,r),this.visitMany(t.children))}visitUnion(t){return t.mode===xn.Sparse?this.visitSparseUnion(t):this.visitDenseUnion(t)}visitDenseUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Union(t,0,n,r,this.readNullBitmap(t,r),this.readTypeIds(t),this.readOffsets(t),this.visitMany(t.children))}visitSparseUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Union(t,0,n,r,this.readNullBitmap(t,r),this.readTypeIds(t),this.visitMany(t.children))}visitDictionary(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Dictionary(t,0,n,r,this.readNullBitmap(t,r),this.readData(t.indices),this.readDictionary(t))}visitInterval(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Interval(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitFixedSizeList(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.FixedSizeList(t,0,n,r,this.readNullBitmap(t,r),this.visit(t.children[0]))}visitMap(t,{length:n,nullCount:r}=this.nextFieldNode()){return L.Map(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.visit(t.children[0]))}nextFieldNode(){return this.nodes[++this.nodesIndex]}nextBufferRange(){return this.buffers[++this.buffersIndex]}readNullBitmap(t,n,r=this.nextBufferRange()){return n>0&&this.readData(t,r)||new Uint8Array(0)}readOffsets(t,n){return this.readData(t,n)}readTypeIds(t,n){return this.readData(t,n)}readData(t,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(t){return this.dictionaries.get(t.id)}}class xw extends Wd{constructor(t,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=t}readNullBitmap(t,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):Li(this.sources[r])}readOffsets(t,{offset:n}=this.nextBufferRange()){return at(Uint8Array,at(Int32Array,this.sources[n]))}readTypeIds(t,{offset:n}=this.nextBufferRange()){return at(Uint8Array,at(t.ArrayType,this.sources[n]))}readData(t,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return nt.isTimestamp(t)||(nt.isInt(t)||nt.isTime(t))&&t.bitWidth===64||nt.isDate(t)&&t.unit===pn.MILLISECOND?at(Uint8Array,ne.convertArray(r[n])):nt.isDecimal(t)?at(Uint8Array,Ue.convertArray(r[n])):nt.isBinary(t)||nt.isFixedSizeBinary(t)?Fw(r[n]):nt.isBool(t)?Li(r[n]):nt.isUtf8(t)?go(r[n].join(\"\")):at(Uint8Array,at(t.ArrayType,r[n].map(i=>+i)))}}function Fw(e){const t=e.join(\"\"),n=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)n[r>>1]=parseInt(t.substr(r,2),16);return n}var Ew=b.Long,fu=v.apache.arrow.flatbuf.Null,ds=v.apache.arrow.flatbuf.Int,Jo=v.apache.arrow.flatbuf.FloatingPoint,du=v.apache.arrow.flatbuf.Binary,hu=v.apache.arrow.flatbuf.Bool,pu=v.apache.arrow.flatbuf.Utf8,hs=v.apache.arrow.flatbuf.Decimal,Go=v.apache.arrow.flatbuf.Date,ps=v.apache.arrow.flatbuf.Time,ys=v.apache.arrow.flatbuf.Timestamp,Zo=v.apache.arrow.flatbuf.Interval,yu=v.apache.arrow.flatbuf.List,mu=v.apache.arrow.flatbuf.Struct_,Ur=v.apache.arrow.flatbuf.Union,hi=v.apache.arrow.flatbuf.DictionaryEncoding,Xo=v.apache.arrow.flatbuf.FixedSizeBinary,Qo=v.apache.arrow.flatbuf.FixedSizeList,ta=v.apache.arrow.flatbuf.Map;class Dw extends ct{visit(t,n){return t==null||n==null?void 0:super.visit(t,n)}visitNull(t,n){return fu.startNull(n),fu.endNull(n)}visitInt(t,n){return ds.startInt(n),ds.addBitWidth(n,t.bitWidth),ds.addIsSigned(n,t.isSigned),ds.endInt(n)}visitFloat(t,n){return Jo.startFloatingPoint(n),Jo.addPrecision(n,t.precision),Jo.endFloatingPoint(n)}visitBinary(t,n){return du.startBinary(n),du.endBinary(n)}visitBool(t,n){return hu.startBool(n),hu.endBool(n)}visitUtf8(t,n){return pu.startUtf8(n),pu.endUtf8(n)}visitDecimal(t,n){return hs.startDecimal(n),hs.addScale(n,t.scale),hs.addPrecision(n,t.precision),hs.endDecimal(n)}visitDate(t,n){return Go.startDate(n),Go.addUnit(n,t.unit),Go.endDate(n)}visitTime(t,n){return ps.startTime(n),ps.addUnit(n,t.unit),ps.addBitWidth(n,t.bitWidth),ps.endTime(n)}visitTimestamp(t,n){const r=t.timezone&&n.createString(t.timezone)||void 0;return ys.startTimestamp(n),ys.addUnit(n,t.unit),r!==void 0&&ys.addTimezone(n,r),ys.endTimestamp(n)}visitInterval(t,n){return Zo.startInterval(n),Zo.addUnit(n,t.unit),Zo.endInterval(n)}visitList(t,n){return yu.startList(n),yu.endList(n)}visitStruct(t,n){return mu.startStruct_(n),mu.endStruct_(n)}visitUnion(t,n){Ur.startTypeIdsVector(n,t.typeIds.length);const r=Ur.createTypeIdsVector(n,t.typeIds);return Ur.startUnion(n),Ur.addMode(n,t.mode),Ur.addTypeIds(n,r),Ur.endUnion(n)}visitDictionary(t,n){const r=this.visit(t.indices,n);return hi.startDictionaryEncoding(n),hi.addId(n,new Ew(t.id,0)),hi.addIsOrdered(n,t.isOrdered),r!==void 0&&hi.addIndexType(n,r),hi.endDictionaryEncoding(n)}visitFixedSizeBinary(t,n){return Xo.startFixedSizeBinary(n),Xo.addByteWidth(n,t.byteWidth),Xo.endFixedSizeBinary(n)}visitFixedSizeList(t,n){return Qo.startFixedSizeList(n),Qo.addListSize(n,t.listSize),Qo.endFixedSizeList(n)}visitMap(t,n){return ta.startMap(n),ta.addKeysSorted(n,t.keysSorted),ta.endMap(n)}}const ea=new Dw;function Lw(e,t=new Map){return new Ot(Cw(e,t),Ts(e.customMetadata),t)}function Yd(e){return new Ae(e.count,Hd(e.columns),Kd(e.columns))}function Mw(e){return new yn(Yd(e.data),e.id,e.isDelta)}function Cw(e,t){return(e.fields||[]).filter(Boolean).map(n=>ht.fromJSON(n,t))}function bu(e,t){return(e.children||[]).filter(Boolean).map(n=>ht.fromJSON(n,t))}function Hd(e){return(e||[]).reduce((t,n)=>[...t,new Lr(n.count,Rw(n.VALIDITY)),...Hd(n.children)],[])}function Kd(e,t=[]){for(let n=-1,r=(e||[]).length;++n<r;){const i=e[n];i.VALIDITY&&t.push(new dn(t.length,i.VALIDITY.length)),i.TYPE&&t.push(new dn(t.length,i.TYPE.length)),i.OFFSET&&t.push(new dn(t.length,i.OFFSET.length)),i.DATA&&t.push(new dn(t.length,i.DATA.length)),t=Kd(i.children,t)}return t}function Rw(e){return(e||[]).reduce((t,n)=>t+ +(n===0),0)}function Uw(e,t){let n,r,i,o,s,a;return!t||!(o=e.dictionary)?(s=_u(e,bu(e,t)),i=new ht(e.name,s,e.nullable,Ts(e.customMetadata))):t.has(n=o.id)?(r=(r=o.indexType)?gu(r):new Ir,a=new Xn(t.get(n),r,n,o.isOrdered),i=new ht(e.name,a,e.nullable,Ts(e.customMetadata))):(r=(r=o.indexType)?gu(r):new Ir,t.set(n,s=_u(e,bu(e,t))),a=new Xn(s,r,n,o.isOrdered),i=new ht(e.name,a,e.nullable,Ts(e.customMetadata))),i||null}function Ts(e){return new Map(Object.entries(e||{}))}function gu(e){return new de(e.isSigned,e.bitWidth)}function _u(e,t){const n=e.type.name;switch(n){case\"NONE\":return new ei;case\"null\":return new ei;case\"binary\":return new Mi;case\"utf8\":return new ii;case\"bool\":return new Ci;case\"list\":return new oi((t||[])[0]);case\"struct\":return new Ke(t||[]);case\"struct_\":return new Ke(t||[])}switch(n){case\"int\":{const r=e.type;return new de(r.isSigned,r.bitWidth)}case\"floatingpoint\":{const r=e.type;return new Sr(Ee[r.precision])}case\"decimal\":{const r=e.type;return new js(r.scale,r.precision)}case\"date\":{const r=e.type;return new si(pn[r.unit])}case\"time\":{const r=e.type;return new zs(Bt[r.unit],r.bitWidth)}case\"timestamp\":{const r=e.type;return new Ws(Bt[r.unit],r.timezone)}case\"interval\":{const r=e.type;return new Ys(ti[r.unit])}case\"union\":{const r=e.type;return new Ri(xn[r.mode],r.typeIds||[],t||[])}case\"fixedsizebinary\":{const r=e.type;return new Hs(r.byteWidth)}case\"fixedsizelist\":{const r=e.type;return new Ui(r.listSize,(t||[])[0])}case\"map\":{const r=e.type;return new Ni((t||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: \"${n}\"`)}var Tr=b.Long,Nw=b.Builder,Pw=b.ByteBuffer,jt=v.apache.arrow.flatbuf.Type,Re=v.apache.arrow.flatbuf.Field,In=v.apache.arrow.flatbuf.Schema,Vw=v.apache.arrow.flatbuf.Buffer,Pn=Gt.apache.arrow.flatbuf.Message,zn=v.apache.arrow.flatbuf.KeyValue,kw=Gt.apache.arrow.flatbuf.FieldNode,wu=v.apache.arrow.flatbuf.Endianness,Vn=Gt.apache.arrow.flatbuf.RecordBatch,Vr=Gt.apache.arrow.flatbuf.DictionaryBatch;class se{constructor(t,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof t==\"number\"?t:t.low}static fromJSON(t,n){const r=new se(0,Pe.V4,n);return r._createHeader=$w(t,n),r}static decode(t){t=new Pw(lt(t));const n=Pn.getRootAsMessage(t),r=n.bodyLength(),i=n.version(),o=n.headerType(),s=new se(r,i,o);return s._createHeader=jw(n,o),s}static encode(t){let n=new Nw,r=-1;return t.isSchema()?r=Ot.encode(n,t.header()):t.isRecordBatch()?r=Ae.encode(n,t.header()):t.isDictionaryBatch()&&(r=yn.encode(n,t.header())),Pn.startMessage(n),Pn.addVersion(n,Pe.V4),Pn.addHeader(n,r),Pn.addHeaderType(n,t.headerType),Pn.addBodyLength(n,new Tr(t.bodyLength,0)),Pn.finishMessageBuffer(n,Pn.endMessage(n)),n.asUint8Array()}static from(t,n=0){if(t instanceof Ot)return new se(0,Pe.V4,xt.Schema,t);if(t instanceof Ae)return new se(n,Pe.V4,xt.RecordBatch,t);if(t instanceof yn)return new se(n,Pe.V4,xt.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===xt.Schema}isRecordBatch(){return this.headerType===xt.RecordBatch}isDictionaryBatch(){return this.headerType===xt.DictionaryBatch}}class Ae{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,n,r){this._nodes=n,this._buffers=r,this._length=typeof t==\"number\"?t:t.low}}class yn{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,n,r=!1){this._data=t,this._isDelta=r,this._id=typeof n==\"number\"?n:n.low}}class dn{constructor(t,n){this.offset=typeof t==\"number\"?t:t.low,this.length=typeof n==\"number\"?n:n.low}}class Lr{constructor(t,n){this.length=typeof t==\"number\"?t:t.low,this.nullCount=typeof n==\"number\"?n:n.low}}function $w(e,t){return()=>{switch(t){case xt.Schema:return Ot.fromJSON(e);case xt.RecordBatch:return Ae.fromJSON(e);case xt.DictionaryBatch:return yn.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${xt[t]}, type: ${t} }`)}}function jw(e,t){return()=>{switch(t){case xt.Schema:return Ot.decode(e.header(new In));case xt.RecordBatch:return Ae.decode(e.header(new Vn),e.version());case xt.DictionaryBatch:return yn.decode(e.header(new Vr),e.version())}throw new Error(`Unrecognized Message type: { name: ${xt[t]}, type: ${t} }`)}}ht.encode=Qw;ht.decode=Zw;ht.fromJSON=Uw;Ot.encode=Xw;Ot.decode=zw;Ot.fromJSON=Lw;Ae.encode=tv;Ae.decode=Ww;Ae.fromJSON=Yd;yn.encode=ev;yn.decode=Yw;yn.fromJSON=Mw;Lr.encode=nv;Lr.decode=Kw;dn.encode=rv;dn.decode=Hw;function zw(e,t=new Map){const n=Gw(e,t);return new Ot(n,Bs(e),t)}function Ww(e,t=Pe.V4){return new Ae(e.length(),qw(e),Jw(e,t))}function Yw(e,t=Pe.V4){return new yn(Ae.decode(e.data(),t),e.id(),e.isDelta())}function Hw(e){return new dn(e.offset(),e.length())}function Kw(e){return new Lr(e.length(),e.nullCount())}function qw(e){const t=[];for(let n,r=-1,i=-1,o=e.nodesLength();++r<o;)(n=e.nodes(r))&&(t[++i]=Lr.decode(n));return t}function Jw(e,t){const n=[];for(let r,i=-1,o=-1,s=e.buffersLength();++i<s;)(r=e.buffers(i))&&(t<Pe.V4&&(r.bb_pos+=8*(i+1)),n[++o]=dn.decode(r));return n}function Gw(e,t){const n=[];for(let r,i=-1,o=-1,s=e.fieldsLength();++i<s;)(r=e.fields(i))&&(n[++o]=ht.decode(r,t));return n}function vu(e,t){const n=[];for(let r,i=-1,o=-1,s=e.childrenLength();++i<s;)(r=e.children(i))&&(n[++o]=ht.decode(r,t));return n}function Zw(e,t){let n,r,i,o,s,a;return!t||!(a=e.dictionary())?(i=Su(e,vu(e,t)),r=new ht(e.name(),i,e.nullable(),Bs(e))):t.has(n=a.id().low)?(o=(o=a.indexType())?Iu(o):new Ir,s=new Xn(t.get(n),o,n,a.isOrdered()),r=new ht(e.name(),s,e.nullable(),Bs(e))):(o=(o=a.indexType())?Iu(o):new Ir,t.set(n,i=Su(e,vu(e,t))),s=new Xn(i,o,n,a.isOrdered()),r=new ht(e.name(),s,e.nullable(),Bs(e))),r||null}function Bs(e){const t=new Map;if(e)for(let n,r,i=-1,o=e.customMetadataLength()|0;++i<o;)(n=e.customMetadata(i))&&(r=n.key())!=null&&t.set(r,n.value());return t}function Iu(e){return new de(e.isSigned(),e.bitWidth())}function Su(e,t){const n=e.typeType();switch(n){case jt.NONE:return new ei;case jt.Null:return new ei;case jt.Binary:return new Mi;case jt.Utf8:return new ii;case jt.Bool:return new Ci;case jt.List:return new oi((t||[])[0]);case jt.Struct_:return new Ke(t||[])}switch(n){case jt.Int:{const r=e.type(new v.apache.arrow.flatbuf.Int);return new de(r.isSigned(),r.bitWidth())}case jt.FloatingPoint:{const r=e.type(new v.apache.arrow.flatbuf.FloatingPoint);return new Sr(r.precision())}case jt.Decimal:{const r=e.type(new v.apache.arrow.flatbuf.Decimal);return new js(r.scale(),r.precision())}case jt.Date:{const r=e.type(new v.apache.arrow.flatbuf.Date);return new si(r.unit())}case jt.Time:{const r=e.type(new v.apache.arrow.flatbuf.Time);return new zs(r.unit(),r.bitWidth())}case jt.Timestamp:{const r=e.type(new v.apache.arrow.flatbuf.Timestamp);return new Ws(r.unit(),r.timezone())}case jt.Interval:{const r=e.type(new v.apache.arrow.flatbuf.Interval);return new Ys(r.unit())}case jt.Union:{const r=e.type(new v.apache.arrow.flatbuf.Union);return new Ri(r.mode(),r.typeIdsArray()||[],t||[])}case jt.FixedSizeBinary:{const r=e.type(new v.apache.arrow.flatbuf.FixedSizeBinary);return new Hs(r.byteWidth())}case jt.FixedSizeList:{const r=e.type(new v.apache.arrow.flatbuf.FixedSizeList);return new Ui(r.listSize(),(t||[])[0])}case jt.Map:{const r=e.type(new v.apache.arrow.flatbuf.Map);return new Ni((t||[])[0],r.keysSorted())}}throw new Error(`Unrecognized type: \"${jt[n]}\" (${n})`)}function Xw(e,t){const n=t.fields.map(o=>ht.encode(e,o));In.startFieldsVector(e,n.length);const r=In.createFieldsVector(e,n),i=t.metadata&&t.metadata.size>0?In.createCustomMetadataVector(e,[...t.metadata].map(([o,s])=>{const a=e.createString(`${o}`),c=e.createString(`${s}`);return zn.startKeyValue(e),zn.addKey(e,a),zn.addValue(e,c),zn.endKeyValue(e)})):-1;return In.startSchema(e),In.addFields(e,r),In.addEndianness(e,iv?wu.Little:wu.Big),i!==-1&&In.addCustomMetadata(e,i),In.endSchema(e)}function Qw(e,t){let n=-1,r=-1,i=-1,o=t.type,s=t.typeId;nt.isDictionary(o)?(s=o.dictionary.typeId,i=ea.visit(o,e),r=ea.visit(o.dictionary,e)):r=ea.visit(o,e);const a=(o.children||[]).map(d=>ht.encode(e,d)),c=Re.createChildrenVector(e,a),l=t.metadata&&t.metadata.size>0?Re.createCustomMetadataVector(e,[...t.metadata].map(([d,p])=>{const _=e.createString(`${d}`),O=e.createString(`${p}`);return zn.startKeyValue(e),zn.addKey(e,_),zn.addValue(e,O),zn.endKeyValue(e)})):-1;return t.name&&(n=e.createString(t.name)),Re.startField(e),Re.addType(e,r),Re.addTypeType(e,s),Re.addChildren(e,c),Re.addNullable(e,!!t.nullable),n!==-1&&Re.addName(e,n),i!==-1&&Re.addDictionary(e,i),l!==-1&&Re.addCustomMetadata(e,l),Re.endField(e)}function tv(e,t){const n=t.nodes||[],r=t.buffers||[];Vn.startNodesVector(e,n.length),n.slice().reverse().forEach(s=>Lr.encode(e,s));const i=e.endVector();Vn.startBuffersVector(e,r.length),r.slice().reverse().forEach(s=>dn.encode(e,s));const o=e.endVector();return Vn.startRecordBatch(e),Vn.addLength(e,new Tr(t.length,0)),Vn.addNodes(e,i),Vn.addBuffers(e,o),Vn.endRecordBatch(e)}function ev(e,t){const n=Ae.encode(e,t.data);return Vr.startDictionaryBatch(e),Vr.addId(e,new Tr(t.id,0)),Vr.addIsDelta(e,t.isDelta),Vr.addData(e,n),Vr.endDictionaryBatch(e)}function nv(e,t){return kw.createFieldNode(e,new Tr(t.length,0),new Tr(t.nullCount,0))}function rv(e,t){return Vw.createBuffer(e,new Tr(t.offset,0),new Tr(t.length,0))}const iv=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256}();var qd=b.ByteBuffer;const Cc=e=>`Expected ${xt[e]} Message in stream, but was null or length 0.`,Rc=e=>`Header pointer of flatbuffer-encoded ${xt[e]} Message is null or length 0.`,Jd=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,Gd=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`;class Zd{constructor(t){this.source=t instanceof qs?t:new qs(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done||t.value===-1&&(t=this.readMetadataLength()).done||(t=this.readMetadata(t.value)).done?Rt:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(Cc(t));return n.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);const n=lt(this.source.read(t));if(n.byteLength<t)throw new Error(Gd(t,n.byteLength));return n.byteOffset%8===0&&n.byteOffset+n.byteLength<=n.buffer.byteLength?n:n.slice()}readSchema(t=!1){const n=xt.Schema,r=this.readMessage(n),i=r&&r.header();if(t&&!i)throw new Error(Rc(n));return i}readMetadataLength(){const t=this.source.read(xo),n=t&&new qd(t),r=n&&n.readInt32(0)||0;return{done:r===0,value:r}}readMetadata(t){const n=this.source.read(t);if(!n)return Rt;if(n.byteLength<t)throw new Error(Jd(t,n.byteLength));return{done:!1,value:se.decode(n)}}}class sv{constructor(t,n){this.source=t instanceof Ar?t:Xf(t)?new Js(t,n):new Ar(t)}[Symbol.asyncIterator](){return this}async next(){let t;return(t=await this.readMetadataLength()).done||t.value===-1&&(t=await this.readMetadataLength()).done||(t=await this.readMetadata(t.value)).done?Rt:t}async throw(t){return await this.source.throw(t)}async return(t){return await this.source.return(t)}async readMessage(t){let n;if((n=await this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(Cc(t));return n.value}async readMessageBody(t){if(t<=0)return new Uint8Array(0);const n=lt(await this.source.read(t));if(n.byteLength<t)throw new Error(Gd(t,n.byteLength));return n.byteOffset%8===0&&n.byteOffset+n.byteLength<=n.buffer.byteLength?n:n.slice()}async readSchema(t=!1){const n=xt.Schema,r=await this.readMessage(n),i=r&&r.header();if(t&&!i)throw new Error(Rc(n));return i}async readMetadataLength(){const t=await this.source.read(xo),n=t&&new qd(t),r=n&&n.readInt32(0)||0;return{done:r===0,value:r}}async readMetadata(t){const n=await this.source.read(t);if(!n)return Rt;if(n.byteLength<t)throw new Error(Jd(t,n.byteLength));return{done:!1,value:se.decode(n)}}}class ov extends Zd{constructor(t){super(new Uint8Array(0)),this._schema=!1,this._body=[],this._batchIndex=0,this._dictionaryIndex=0,this._json=t instanceof ru?t:new ru(t)}next(){const{_json:t}=this;if(!this._schema){this._schema=!0;const n=se.fromJSON(t.schema,xt.Schema);return{done:!1,value:n}}if(this._dictionaryIndex<t.dictionaries.length){const n=t.dictionaries[this._dictionaryIndex++];this._body=n.data.columns;const r=se.fromJSON(n,xt.DictionaryBatch);return{done:!1,value:r}}if(this._batchIndex<t.batches.length){const n=t.batches[this._batchIndex++];this._body=n.columns;const r=se.fromJSON(n,xt.RecordBatch);return{done:!1,value:r}}return this._body=[],Rt}readMessageBody(t){return n(this._body);function n(r){return(r||[]).reduce((i,o)=>[...i,...o.VALIDITY&&[o.VALIDITY]||[],...o.TYPE&&[o.TYPE]||[],...o.OFFSET&&[o.OFFSET]||[],...o.DATA&&[o.DATA]||[],...n(o.children)],[])}}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(Cc(t));return n.value}readSchema(){const t=xt.Schema,n=this.readMessage(t),r=n&&n.header();if(!n||!r)throw new Error(Rc(t));return r}}const xo=4,Ca=\"ARROW1\",$i=new Uint8Array(Ca.length);for(let e=0;e<Ca.length;e+=1)$i[e]=Ca.charCodeAt(e);function Uc(e,t=0){for(let n=-1,r=$i.length;++n<r;)if($i[n]!==e[t+n])return!1;return!0}const Qi=$i.length,Xd=Qi+xo,av=Qi*2+xo;class $t extends ct{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...t){const n=new $t,r=j_(ue,t),[i=n]=n.visitMany(r);return i}visit(t){if(!nt.isDictionary(t.type)){const{data:n,length:r,nullCount:i}=t;if(r>2147483647)throw new RangeError(\"Cannot write arrays larger than 2^31 - 1 in length\");nt.isNull(t.type)||ze.call(this,i<=0?new Uint8Array(0):vo(n.offset,r,n.nullBitmap)),this.nodes.push(new Lr(r,i))}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.indices)}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function ze(e){const t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new dn(this._byteLength,t)),this._byteLength+=t,this}function cv(e){const{type:t,length:n,typeIds:r,valueOffsets:i}=e;if(ze.call(this,r),t.mode===xn.Sparse)return Ra.call(this,e);if(t.mode===xn.Dense){if(e.offset<=0)return ze.call(this,i),Ra.call(this,e);{const o=r.reduce((d,p)=>Math.max(d,p),r[0]),s=new Int32Array(o+1),a=new Int32Array(o+1).fill(-1),c=new Int32Array(n),l=wo(-i[0],n,i);for(let d,p,_=-1;++_<n;)(p=a[d=r[_]])===-1&&(p=a[d]=l[d]),c[_]=l[_]-p,++s[d];ze.call(this,c);for(let d,p=-1,_=t.children.length;++p<_;)if(d=e.getChildAt(p)){const O=t.typeIds[p],P=Math.min(n,s[O]);this.visit(d.slice(a[O],P))}}}return this}function lv(e){let t;return e.nullCount>=e.length?ze.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?ze.call(this,vo(e.offset,e.length,t)):ze.call(this,Li(e))}function nr(e){return ze.call(this,e.values.subarray(0,e.length*e.stride))}function Qd(e){const{length:t,values:n,valueOffsets:r}=e,i=r[0],o=r[t],s=Math.min(o-i,n.byteLength-i);return ze.call(this,wo(-r[0],t,r)),ze.call(this,n.subarray(i,i+s)),this}function Nc(e){const{length:t,valueOffsets:n}=e;return n&&ze.call(this,wo(n[0],t,n)),this.visit(e.getChildAt(0))}function Ra(e){return this.visitMany(e.type.children.map((t,n)=>e.getChildAt(n)).filter(Boolean))[0]}$t.prototype.visitBool=lv;$t.prototype.visitInt=nr;$t.prototype.visitFloat=nr;$t.prototype.visitUtf8=Qd;$t.prototype.visitBinary=Qd;$t.prototype.visitFixedSizeBinary=nr;$t.prototype.visitDate=nr;$t.prototype.visitTimestamp=nr;$t.prototype.visitTime=nr;$t.prototype.visitDecimal=nr;$t.prototype.visitList=Nc;$t.prototype.visitStruct=Ra;$t.prototype.visitUnion=cv;$t.prototype.visitInterval=nr;$t.prototype.visitFixedSizeList=Nc;$t.prototype.visitMap=Nc;class Pc extends Fr{constructor(t){super(),this._position=0,this._started=!1,this._sink=new Ii,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,Se(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy==\"boolean\"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat==\"boolean\"?t.writeLegacyIpcFormat:!1}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,n){throw new Error('\"throughDOM\" not available in this environment')}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return Zn(t)?t.then(n=>this.writeAll(n)):En(t)?jc(this,t):$c(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,n=null){return t===this._sink||t instanceof Ii?this._sink=t:(this._sink=new Ii,t&&eg(t)?this.toDOMStream({type:\"bytes\"}).pipeTo(t):t&&ng(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!n.compareTo(this._schema))&&(n===null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(t){let n=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof mt&&!(n=t.schema))return this.finish()&&void 0;if(t instanceof ue&&!(n=t.schema))return this.finish()&&void 0}else throw new Error(\"RecordBatchWriter is closed\");if(n&&!n.compareTo(this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}t instanceof ue?t instanceof Lo||this._writeRecordBatch(t):t instanceof mt?this.writeAll(t.chunks):Ye(t)&&this.writeAll(t)}_writeMessage(t,n=8){const r=n-1,i=se.encode(t),o=i.byteLength,s=this._writeLegacyIpcFormat?4:8,a=o+s+r&~r,c=a-o-s;return t.headerType===xt.RecordBatch?this._recordBatchBlocks.push(new Qn(a,t.bodyLength,this._position)):t.headerType===xt.DictionaryBatch&&this._dictionaryBlocks.push(new Qn(a,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-s)),o>0&&this._write(i),this._writePadding(c)}_write(t){if(this._started){const n=lt(t);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(t){return this._writeMessage(se.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write($i)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){const{byteLength:n,nodes:r,bufferRegions:i,buffers:o}=$t.assemble(t),s=new Ae(t.length,r,i),a=se.from(s,n);return this._writeDictionaries(t)._writeMessage(a)._writeBodyBuffers(o)}_writeDictionaryBatch(t,n,r=!1){this._dictionaryDeltaOffsets.set(n,t.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:o,bufferRegions:s,buffers:a}=$t.assemble(t),c=new Ae(t.length,o,s),l=new yn(c,n,r),d=se.from(l,i);return this._writeMessage(d)._writeBodyBuffers(a)}_writeBodyBuffers(t){let n,r,i;for(let o=-1,s=t.length;++o<s;)(n=t[o])&&(r=n.byteLength)>0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(t){for(let[n,r]of t.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r.slice(i)).length>0){const o=\"chunks\"in r?r.chunks:[r];for(const s of o)this._writeDictionaryBatch(s,n,i>0),i+=s.length}}return this}}class Vc extends Pc{static writeAll(t,n){const r=new Vc(n);return Zn(t)?t.then(i=>r.writeAll(i)):En(t)?jc(r,t):$c(r,t)}}class kc extends Pc{constructor(){super(),this._autoDestroy=!0}static writeAll(t){const n=new kc;return Zn(t)?t.then(r=>n.writeAll(r)):En(t)?jc(n,t):$c(n,t)}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){const n=ki.encode(new ki(t,Pe.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function $c(e,t){let n=t;t instanceof mt&&(n=t.chunks,e.reset(void 0,t.schema));for(const r of n)e.write(r);return e.finish()}async function jc(e,t){for await(const n of t)e.write(n);return e.finish()}const na=new Uint8Array(0),th=e=>[na,na,new Uint8Array(e),na];function uv(e,t,n=t.reduce((r,i)=>Math.max(r,i.length),0)){let r,i,o=-1,s=t.length;const a=[...e.fields],c=[],l=(n+63&-64)>>3;for(;++o<s;)(r=t[o])&&r.length===n?c[o]=r:((i=a[o]).nullable||(a[o]=a[o].clone({nullable:!0})),c[o]=r?r._changeLengthAndBackfillNullBitmap(n):L.new(i.type,0,n,n,th(l)));return[new Ot(a),n,c]}function fv(e){return eh(new Ot(e.map(({field:t})=>t)),e)}function eh(e,t){return dv(e,t.map(n=>n instanceof Jt?n.chunks.map(r=>r.data):[n.data]))}function dv(e,t){const n=[...e.fields],r=[],i={numBatches:t.reduce((p,_)=>Math.max(p,_.length),0)};let o=0,s=0,a=-1,c=t.length,l,d=[];for(;i.numBatches-- >0;){for(s=Number.POSITIVE_INFINITY,a=-1;++a<c;)d[a]=l=t[a].shift(),s=Math.min(s,l?l.length:s);isFinite(s)&&(d=hv(n,s,d,t,i),s>0&&(r[o++]=[s,d.slice()]))}return[e=new Ot(n,e.metadata),r.map(p=>new ue(e,...p))]}function hv(e,t,n,r,i){let o,s,a=0,c=-1,l=r.length;const d=(t+63&-64)>>3;for(;++c<l;)(o=n[c])&&(a=o.length)>=t?a===t?n[c]=o:(n[c]=o.slice(0,t),o=o.slice(t,a-t),i.numBatches=Math.max(i.numBatches,r[c].unshift(o))):((s=e[c]).nullable||(e[c]=s.clone({nullable:!0})),n[c]=o?o._changeLengthAndBackfillNullBitmap(t):L.new(s.type,0,t,t,th(d)));return n}class Dt extends dt{constructor(t,n){super(),this._children=n,this.numChildren=t.childData.length,this._bindDataAccessors(this.data=t)}get type(){return this.data.type}get typeId(){return this.data.typeId}get length(){return this.data.length}get offset(){return this.data.offset}get stride(){return this.data.stride}get nullCount(){return this.data.nullCount}get byteLength(){return this.data.byteLength}get VectorName(){return`${y[this.typeId]}Vector`}get ArrayType(){return this.type.ArrayType}get values(){return this.data.values}get typeIds(){return this.data.typeIds}get nullBitmap(){return this.data.nullBitmap}get valueOffsets(){return this.data.valueOffsets}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}clone(t,n=this._children){return dt.new(t,n)}concat(...t){return Jt.concat(this,...t)}slice(t,n){return Bc(this,t,n,this._sliceInternal)}isValid(t){if(this.nullCount>0){const n=this.offset+t;return(this.nullBitmap[n>>3]&1<<n%8)!==0}return!0}getChildAt(t){return t<0||t>=this.numChildren?null:(this._children||(this._children=[]))[t]||(this._children[t]=dt.new(this.data.childData[t]))}toJSON(){return[...this]}_sliceInternal(t,n,r){return t.clone(t.data.slice(n,r-n),null)}_bindDataAccessors(t){}}Dt.prototype[Symbol.isConcatSpreadable]=!0;class pv extends Dt{asUtf8(){return dt.new(this.data.clone(new ii))}}class yv extends Dt{static from(t){return Br(()=>new Ci,t)}}class zc extends Dt{static from(...t){return t.length===2?Br(()=>t[1]===pn.DAY?new jg:new iu,t[0]):Br(()=>new iu,t[0])}}class mv extends zc{}class bv extends zc{}class gv extends Dt{}class Wc extends Dt{constructor(t){super(t),this.indices=dt.new(t.clone(this.type.indices))}static from(...t){if(t.length===3){const[n,r,i]=t,o=new Xn(n.type,r,null,null);return dt.new(L.Dictionary(o,0,i.length,0,null,i,n))}return Br(()=>t[0].type,t[0])}get dictionary(){return this.data.dictionary}reverseLookup(t){return this.dictionary.indexOf(t)}getKey(t){return this.indices.get(t)}getValue(t){return this.dictionary.get(t)}setKey(t,n){return this.indices.set(t,n)}setValue(t,n){return this.dictionary.set(t,n)}}Wc.prototype.indices=null;class _v extends Dt{}class wv extends Dt{}class Fo extends Dt{static from(t){let n=Sv(this);if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let r=Iv(t.constructor)||n;if(n===null&&(n=r),n&&n===r){let i=new n,o=t.byteLength/i.ArrayType.BYTES_PER_ELEMENT;if(!vv(n,t.constructor))return dt.new(L.Float(i,0,o,0,null,t))}}if(n)return Br(()=>new n,t);throw t instanceof DataView||t instanceof ArrayBuffer?new TypeError(`Cannot infer float type from instance of ${t.constructor.name}`):new TypeError(\"Unrecognized FloatVector input\")}}class nh extends Fo{toFloat32Array(){return new Float32Array(this)}toFloat64Array(){return new Float64Array(this)}}class rh extends Fo{}class ih extends Fo{}const vv=(e,t)=>e===So&&t!==Uint16Array,Iv=e=>{switch(e){case Uint16Array:return So;case Float32Array:return wc;case Float64Array:return vc;default:return null}},Sv=e=>{switch(e){case nh:return So;case rh:return wc;case ih:return vc;default:return null}};class Yc extends Dt{}class Av extends Yc{}class Tv extends Yc{}class Ge extends Dt{static from(...t){let[n,r=!1]=t,i=xv(this,r);if(n instanceof ArrayBuffer||ArrayBuffer.isView(n)){let o=Ov(n.constructor,r)||i;if(i===null&&(i=o),i&&i===o){let s=new i,a=n.byteLength/s.ArrayType.BYTES_PER_ELEMENT;return Bv(i,n.constructor)&&(a*=.5),dt.new(L.Int(s,0,a,0,null,n))}}if(i)return Br(()=>new i,n);throw n instanceof DataView||n instanceof ArrayBuffer?new TypeError(`Cannot infer integer type from instance of ${n.constructor.name}`):new TypeError(\"Unrecognized IntVector input\")}}class sh extends Ge{}class oh extends Ge{}class ah extends Ge{}class ch extends Ge{toBigInt64Array(){return ed(this.values)}get values64(){return this._values64||(this._values64=this.toBigInt64Array())}}class lh extends Ge{}class uh extends Ge{}class fh extends Ge{}class dh extends Ge{toBigUint64Array(){return nd(this.values)}get values64(){return this._values64||(this._values64=this.toBigUint64Array())}}const Bv=(e,t)=>(e===ni||e===ri)&&(t===Int32Array||t===Uint32Array),Ov=(e,t)=>{switch(e){case Int8Array:return yc;case Int16Array:return mc;case Int32Array:return t?ni:Ir;case li:return ni;case Uint8Array:return bc;case Uint16Array:return gc;case Uint32Array:return t?ri:_c;case Wi:return ri;default:return null}},xv=(e,t)=>{switch(e){case sh:return yc;case oh:return mc;case ah:return t?ni:Ir;case ch:return ni;case lh:return bc;case uh:return gc;case fh:return t?ri:_c;case dh:return ri;default:return null}};class Fv extends Dt{}class Ev extends Dt{asList(){const t=this.type.children[0];return dt.new(this.data.clone(new oi(t)))}bind(t){const n=this.getChildAt(0),{[t]:r,[t+1]:i}=this.valueOffsets;return new wd(n.slice(r,i))}}class Dv extends Dt{}const Lv=Symbol.for(\"rowIndex\");class Eo extends Dt{bind(t){const n=this._row||(this._row=new vd(this)),r=Object.create(n);return r[Lv]=t,r}}class ts extends Dt{}class Mv extends ts{}class Cv extends ts{}class Rv extends ts{}class Uv extends ts{}class es extends Dt{}class Nv extends es{}class Pv extends es{}class Vv extends es{}class kv extends es{}class Hc extends Dt{get typeIdToChildIndex(){return this.data.type.typeIdToChildIndex}}class $v extends Hc{get valueOffsets(){return this.data.valueOffsets}}class jv extends Hc{}class zv extends Dt{static from(t){return Br(()=>new ii,t)}asBinary(){return dt.new(this.data.clone(new Mi))}}function Au(e){return function(){return e(this)}}function Wv(e){return function(t){return e(this,t)}}function Tu(e){return function(t,n){return e(this,t,n)}}class Y extends ct{}const Yv=(e,t)=>864e5*e[t],Kc=(e,t)=>4294967296*e[t+1]+(e[t]>>>0),Hv=(e,t)=>4294967296*(e[t+1]/1e3)+(e[t]>>>0)/1e3,Kv=(e,t)=>4294967296*(e[t+1]/1e6)+(e[t]>>>0)/1e6,hh=e=>new Date(e),qv=(e,t)=>hh(Yv(e,t)),Jv=(e,t)=>hh(Kc(e,t)),Gv=(e,t)=>null,ph=(e,t,n)=>{const{[n]:r,[n+1]:i}=t;return r!=null&&i!=null?e.subarray(r,i):null},Zv=({offset:e,values:t},n)=>{const r=e+n;return(t[r>>3]&1<<r%8)!==0},yh=({values:e},t)=>qv(e,t),mh=({values:e},t)=>Jv(e,t*2),gn=({stride:e,values:t},n)=>t[e*n],bh=({stride:e,values:t},n)=>yd(t[e*n]),qc=({stride:e,values:t,type:n},r)=>Er.new(t.subarray(e*r,e*(r+1)),n.isSigned),Xv=({stride:e,values:t},n)=>t.subarray(e*n,e*(n+1)),Qv=({values:e,valueOffsets:t},n)=>ph(e,t,n),t0=({values:e,valueOffsets:t},n)=>{const r=ph(e,t,n);return r!==null?xa(r):null},e0=(e,t)=>e.type.bitWidth<64?gn(e,t):qc(e,t),n0=(e,t)=>e.type.precision!==Ee.HALF?gn(e,t):bh(e,t),r0=(e,t)=>e.type.unit===pn.DAY?yh(e,t):mh(e,t),gh=({values:e},t)=>1e3*Kc(e,t*2),_h=({values:e},t)=>Kc(e,t*2),wh=({values:e},t)=>Hv(e,t*2),vh=({values:e},t)=>Kv(e,t*2),i0=(e,t)=>{switch(e.type.unit){case Bt.SECOND:return gh(e,t);case Bt.MILLISECOND:return _h(e,t);case Bt.MICROSECOND:return wh(e,t);case Bt.NANOSECOND:return vh(e,t)}},Ih=({values:e,stride:t},n)=>e[t*n],Sh=({values:e,stride:t},n)=>e[t*n],Ah=({values:e},t)=>Er.signed(e.subarray(2*t,2*(t+1))),Th=({values:e},t)=>Er.signed(e.subarray(2*t,2*(t+1))),s0=(e,t)=>{switch(e.type.unit){case Bt.SECOND:return Ih(e,t);case Bt.MILLISECOND:return Sh(e,t);case Bt.MICROSECOND:return Ah(e,t);case Bt.NANOSECOND:return Th(e,t)}},o0=({values:e},t)=>Er.decimal(e.subarray(4*t,4*(t+1))),a0=(e,t)=>{const n=e.getChildAt(0),{valueOffsets:r,stride:i}=e;return n.slice(r[t*i],r[t*i+1])},c0=(e,t)=>e.bind(t),l0=(e,t)=>e.bind(t),u0=(e,t)=>e.type.mode===xn.Dense?Bh(e,t):Oh(e,t),Bh=(e,t)=>{const n=e.typeIdToChildIndex[e.typeIds[t]],r=e.getChildAt(n);return r?r.get(e.valueOffsets[t]):null},Oh=(e,t)=>{const n=e.typeIdToChildIndex[e.typeIds[t]],r=e.getChildAt(n);return r?r.get(t):null},f0=(e,t)=>e.getValue(e.getKey(t)),d0=(e,t)=>e.type.unit===ti.DAY_TIME?xh(e,t):Fh(e,t),xh=({values:e},t)=>e.subarray(2*t,2*(t+1)),Fh=({values:e},t)=>{const n=e[t],r=new Int32Array(2);return r[0]=n/12|0,r[1]=n%12|0,r},h0=(e,t)=>{const n=e.getChildAt(0),{stride:r}=e;return n.slice(t*r,(t+1)*r)};Y.prototype.visitNull=Gv;Y.prototype.visitBool=Zv;Y.prototype.visitInt=e0;Y.prototype.visitInt8=gn;Y.prototype.visitInt16=gn;Y.prototype.visitInt32=gn;Y.prototype.visitInt64=qc;Y.prototype.visitUint8=gn;Y.prototype.visitUint16=gn;Y.prototype.visitUint32=gn;Y.prototype.visitUint64=qc;Y.prototype.visitFloat=n0;Y.prototype.visitFloat16=bh;Y.prototype.visitFloat32=gn;Y.prototype.visitFloat64=gn;Y.prototype.visitUtf8=t0;Y.prototype.visitBinary=Qv;Y.prototype.visitFixedSizeBinary=Xv;Y.prototype.visitDate=r0;Y.prototype.visitDateDay=yh;Y.prototype.visitDateMillisecond=mh;Y.prototype.visitTimestamp=i0;Y.prototype.visitTimestampSecond=gh;Y.prototype.visitTimestampMillisecond=_h;Y.prototype.visitTimestampMicrosecond=wh;Y.prototype.visitTimestampNanosecond=vh;Y.prototype.visitTime=s0;Y.prototype.visitTimeSecond=Ih;Y.prototype.visitTimeMillisecond=Sh;Y.prototype.visitTimeMicrosecond=Ah;Y.prototype.visitTimeNanosecond=Th;Y.prototype.visitDecimal=o0;Y.prototype.visitList=a0;Y.prototype.visitStruct=l0;Y.prototype.visitUnion=u0;Y.prototype.visitDenseUnion=Bh;Y.prototype.visitSparseUnion=Oh;Y.prototype.visitDictionary=f0;Y.prototype.visitInterval=d0;Y.prototype.visitIntervalDayTime=xh;Y.prototype.visitIntervalYearMonth=Fh;Y.prototype.visitFixedSizeList=h0;Y.prototype.visitMap=c0;const Do=new Y;class H extends ct{}function p0(e,t){return t===null&&e.length>0?0:-1}function y0(e,t){const{nullBitmap:n}=e;if(!n||e.nullCount<=0)return-1;let r=0;for(const i of Yi(n,e.data.offset+(t||0),e.length,n,fc)){if(!i)return r;++r}return-1}function it(e,t,n){if(t===void 0)return-1;if(t===null)return y0(e,n);const r=Dr(t);for(let i=(n||0)-1,o=e.length;++i<o;)if(r(e.get(i)))return i;return-1}function Eh(e,t,n){const r=Dr(t);for(let i=(n||0)-1,o=e.length;++i<o;)if(r(e.get(i)))return i;return-1}H.prototype.visitNull=p0;H.prototype.visitBool=it;H.prototype.visitInt=it;H.prototype.visitInt8=it;H.prototype.visitInt16=it;H.prototype.visitInt32=it;H.prototype.visitInt64=it;H.prototype.visitUint8=it;H.prototype.visitUint16=it;H.prototype.visitUint32=it;H.prototype.visitUint64=it;H.prototype.visitFloat=it;H.prototype.visitFloat16=it;H.prototype.visitFloat32=it;H.prototype.visitFloat64=it;H.prototype.visitUtf8=it;H.prototype.visitBinary=it;H.prototype.visitFixedSizeBinary=it;H.prototype.visitDate=it;H.prototype.visitDateDay=it;H.prototype.visitDateMillisecond=it;H.prototype.visitTimestamp=it;H.prototype.visitTimestampSecond=it;H.prototype.visitTimestampMillisecond=it;H.prototype.visitTimestampMicrosecond=it;H.prototype.visitTimestampNanosecond=it;H.prototype.visitTime=it;H.prototype.visitTimeSecond=it;H.prototype.visitTimeMillisecond=it;H.prototype.visitTimeMicrosecond=it;H.prototype.visitTimeNanosecond=it;H.prototype.visitDecimal=it;H.prototype.visitList=it;H.prototype.visitStruct=it;H.prototype.visitUnion=it;H.prototype.visitDenseUnion=Eh;H.prototype.visitSparseUnion=Eh;H.prototype.visitDictionary=it;H.prototype.visitInterval=it;H.prototype.visitIntervalDayTime=it;H.prototype.visitIntervalYearMonth=it;H.prototype.visitFixedSizeList=it;H.prototype.visitMap=it;const Dh=new H;class K extends ct{}function m0(e){const t=Do.getVisitFn(e);return Yi(e.nullBitmap,e.offset,e.length,e,(n,r,i,o)=>(i&1<<o)!==0?t(n,r):null)}function G(e){if(e.nullCount>0)return m0(e);const{type:t,typeId:n,length:r}=e;return e.stride===1&&(n===y.Timestamp||n===y.Int&&t.bitWidth!==64||n===y.Time&&t.bitWidth!==64||n===y.Float&&t.precision>0)?e.values.subarray(0,r)[Symbol.iterator]():function*(i){for(let o=-1;++o<r;)yield i(e,o)}(Do.getVisitFn(e))}K.prototype.visitNull=G;K.prototype.visitBool=G;K.prototype.visitInt=G;K.prototype.visitInt8=G;K.prototype.visitInt16=G;K.prototype.visitInt32=G;K.prototype.visitInt64=G;K.prototype.visitUint8=G;K.prototype.visitUint16=G;K.prototype.visitUint32=G;K.prototype.visitUint64=G;K.prototype.visitFloat=G;K.prototype.visitFloat16=G;K.prototype.visitFloat32=G;K.prototype.visitFloat64=G;K.prototype.visitUtf8=G;K.prototype.visitBinary=G;K.prototype.visitFixedSizeBinary=G;K.prototype.visitDate=G;K.prototype.visitDateDay=G;K.prototype.visitDateMillisecond=G;K.prototype.visitTimestamp=G;K.prototype.visitTimestampSecond=G;K.prototype.visitTimestampMillisecond=G;K.prototype.visitTimestampMicrosecond=G;K.prototype.visitTimestampNanosecond=G;K.prototype.visitTime=G;K.prototype.visitTimeSecond=G;K.prototype.visitTimeMillisecond=G;K.prototype.visitTimeMicrosecond=G;K.prototype.visitTimeNanosecond=G;K.prototype.visitDecimal=G;K.prototype.visitList=G;K.prototype.visitStruct=G;K.prototype.visitUnion=G;K.prototype.visitDenseUnion=G;K.prototype.visitSparseUnion=G;K.prototype.visitDictionary=G;K.prototype.visitInterval=G;K.prototype.visitIntervalDayTime=G;K.prototype.visitIntervalYearMonth=G;K.prototype.visitFixedSizeList=G;K.prototype.visitMap=G;const Jc=new K;class q extends ct{}function Z(e){const{type:t,length:n,stride:r}=e;switch(t.typeId){case y.Int:case y.Float:case y.Decimal:case y.Time:case y.Timestamp:return e.values.subarray(0,n*r)}return[...Jc.visit(e)]}q.prototype.visitNull=Z;q.prototype.visitBool=Z;q.prototype.visitInt=Z;q.prototype.visitInt8=Z;q.prototype.visitInt16=Z;q.prototype.visitInt32=Z;q.prototype.visitInt64=Z;q.prototype.visitUint8=Z;q.prototype.visitUint16=Z;q.prototype.visitUint32=Z;q.prototype.visitUint64=Z;q.prototype.visitFloat=Z;q.prototype.visitFloat16=Z;q.prototype.visitFloat32=Z;q.prototype.visitFloat64=Z;q.prototype.visitUtf8=Z;q.prototype.visitBinary=Z;q.prototype.visitFixedSizeBinary=Z;q.prototype.visitDate=Z;q.prototype.visitDateDay=Z;q.prototype.visitDateMillisecond=Z;q.prototype.visitTimestamp=Z;q.prototype.visitTimestampSecond=Z;q.prototype.visitTimestampMillisecond=Z;q.prototype.visitTimestampMicrosecond=Z;q.prototype.visitTimestampNanosecond=Z;q.prototype.visitTime=Z;q.prototype.visitTimeSecond=Z;q.prototype.visitTimeMillisecond=Z;q.prototype.visitTimeMicrosecond=Z;q.prototype.visitTimeNanosecond=Z;q.prototype.visitDecimal=Z;q.prototype.visitList=Z;q.prototype.visitStruct=Z;q.prototype.visitUnion=Z;q.prototype.visitDenseUnion=Z;q.prototype.visitSparseUnion=Z;q.prototype.visitDictionary=Z;q.prototype.visitInterval=Z;q.prototype.visitIntervalDayTime=Z;q.prototype.visitIntervalYearMonth=Z;q.prototype.visitFixedSizeList=Z;q.prototype.visitMap=Z;const Lh=new q,pi=(e,t)=>e+t,ra=e=>`Cannot compute the byte width of variable-width column ${e}`;class b0 extends ct{visitNull(t){return 0}visitInt(t){return t.bitWidth/8}visitFloat(t){return t.ArrayType.BYTES_PER_ELEMENT}visitBinary(t){throw new Error(ra(t))}visitUtf8(t){throw new Error(ra(t))}visitBool(t){return 1/8}visitDecimal(t){return 16}visitDate(t){return(t.unit+1)*4}visitTime(t){return t.bitWidth/8}visitTimestamp(t){return t.unit===Bt.SECOND?4:8}visitInterval(t){return(t.unit+1)*4}visitList(t){throw new Error(ra(t))}visitStruct(t){return this.visitFields(t.children).reduce(pi,0)}visitUnion(t){return this.visitFields(t.children).reduce(pi,0)}visitFixedSizeBinary(t){return t.byteWidth}visitFixedSizeList(t){return t.listSize*this.visitFields(t.children).reduce(pi,0)}visitMap(t){return this.visitFields(t.children).reduce(pi,0)}visitDictionary(t){return this.visit(t.indices)}visitFields(t){return(t||[]).map(n=>this.visit(n.type))}visitSchema(t){return this.visitFields(t.fields).reduce(pi,0)}}const Mh=new b0;class g0 extends ct{visitNull(){return Dv}visitBool(){return yv}visitInt(){return Ge}visitInt8(){return sh}visitInt16(){return oh}visitInt32(){return ah}visitInt64(){return ch}visitUint8(){return lh}visitUint16(){return uh}visitUint32(){return fh}visitUint64(){return dh}visitFloat(){return Fo}visitFloat16(){return nh}visitFloat32(){return rh}visitFloat64(){return ih}visitUtf8(){return zv}visitBinary(){return pv}visitFixedSizeBinary(){return _v}visitDate(){return zc}visitDateDay(){return mv}visitDateMillisecond(){return bv}visitTimestamp(){return ts}visitTimestampSecond(){return Mv}visitTimestampMillisecond(){return Cv}visitTimestampMicrosecond(){return Rv}visitTimestampNanosecond(){return Uv}visitTime(){return es}visitTimeSecond(){return Nv}visitTimeMillisecond(){return Pv}visitTimeMicrosecond(){return Vv}visitTimeNanosecond(){return kv}visitDecimal(){return gv}visitList(){return Fv}visitStruct(){return Eo}visitUnion(){return Hc}visitDenseUnion(){return $v}visitSparseUnion(){return jv}visitDictionary(){return Wc}visitInterval(){return Yc}visitIntervalDayTime(){return Av}visitIntervalYearMonth(){return Tv}visitFixedSizeList(){return wv}visitMap(){return Ev}}const Ch=new g0;dt.new=_0;dt.from=w0;function _0(e,...t){return new(Ch.getVisitFn(e)())(e,...t)}function Br(e,t){if(Ye(t))return dt.from({nullValues:[null,void 0],type:e(),values:t});if(En(t))return dt.from({nullValues:[null,void 0],type:e(),values:t});const{values:n=[],type:r=e(),nullValues:i=[null,void 0]}={...t};return Ye(n)?dt.from({nullValues:i,...t,type:r}):dt.from({nullValues:i,...t,type:r})}function w0(e){const{values:t=[],...n}={nullValues:[null,void 0],...e};if(Ye(t)){const r=[...Ut.throughIterable(n)(t)];return r.length===1?r[0]:Jt.concat(r)}return(async r=>{const i=Ut.throughAsyncIterable(n);for await(const o of i(t))r.push(o);return r.length===1?r[0]:Jt.concat(r)})([])}Dt.prototype.get=function(t){return Do.visit(this,t)};Dt.prototype.set=function(t,n){return Oo.visit(this,t,n)};Dt.prototype.indexOf=function(t,n){return Dh.visit(this,t,n)};Dt.prototype.toArray=function(){return Lh.visit(this)};Dt.prototype.getByteWidth=function(){return Mh.visit(this.type)};Dt.prototype[Symbol.iterator]=function(){return Jc.visit(this)};Dt.prototype._bindDataAccessors=A0;Object.keys(y).map(e=>y[e]).filter(e=>typeof e==\"number\").filter(e=>e!==y.NONE).forEach(e=>{const t=Ch.visit(e);t.prototype.get=Wv(Do.getVisitFn(e)),t.prototype.set=Tu(Oo.getVisitFn(e)),t.prototype.indexOf=Tu(Dh.getVisitFn(e)),t.prototype.toArray=Au(Lh.getVisitFn(e)),t.prototype.getByteWidth=v0(Mh.getVisitFn(e)),t.prototype[Symbol.iterator]=Au(Jc.getVisitFn(e))});function v0(e){return function(){return e(this.type)}}function I0(e){return function(t){return this.isValid(t)?e.call(this,t):null}}function S0(e){return function(t,n){cd(this.nullBitmap,this.offset+t,n!=null)&&e.call(this,t,n)}}function A0(){const e=this.nullBitmap;e&&e.byteLength>0&&(this.get=I0(this.get),this.set=S0(this.set))}class mt extends Jt{constructor(...t){let n=null;t[0]instanceof Ot&&(n=t.shift());let r=Sd(ue,t);if(!n&&!(n=r[0]&&r[0].schema))throw new TypeError(\"Table must be initialized with a Schema or at least one RecordBatch\");r[0]||(r[0]=new Lo(n)),super(new Ke(n.fields),r),this._schema=n,this._chunks=r}static empty(t=new Ot([])){return new mt(t,[])}static from(t){if(!t)return mt.empty();if(typeof t==\"object\"){let r=Ye(t.values)?T0(t):En(t.values)?B0(t):null;if(r!==null)return r}let n=We.from(t);return Zn(n)?(async()=>await mt.from(await n))():n.isSync()&&(n=n.open())?n.schema?new mt(n.schema,[...n]):mt.empty():(async r=>{const i=await r,o=i.schema,s=[];if(o){for await(let a of i)s.push(a);return new mt(o,s)}return mt.empty()})(n.open())}static async fromAsync(t){return await mt.from(t)}static fromStruct(t){return mt.new(t.data.childData,t.type.children)}static new(...t){return new mt(...fv(k_(t)))}get schema(){return this._schema}get length(){return this._length}get chunks(){return this._chunks}get numCols(){return this._numChildren}clone(t=this._chunks){return new mt(this._schema,t)}getColumn(t){return this.getColumnAt(this.getColumnIndex(t))}getColumnAt(t){return this.getChildAt(t)}getColumnIndex(t){return this._schema.fields.findIndex(n=>n.name===t)}getChildAt(t){if(t<0||t>=this.numChildren)return null;let n,r;const i=this._schema.fields,o=this._children||(this._children=[]);if(r=o[t])return r;if(n=i[t]){const s=this._chunks.map(a=>a.getChildAt(t)).filter(a=>a!=null);if(s.length>0)return o[t]=new ke(n,s)}return null}serialize(t=\"binary\",n=!0){return(n?Vc:kc).writeAll(this).toUint8Array(!0)}count(){return this._length}select(...t){const n=this._schema.fields.reduce((r,i,o)=>r.set(i.name,o),new Map);return this.selectAt(...t.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(...t){const n=this._schema.selectAt(...t);return new mt(n,this._chunks.map(({length:r,data:{childData:i}})=>new ue(n,r,t.map(o=>i[o]).filter(Boolean))))}assign(t){const n=this._schema.fields,[r,i]=t.schema.fields.reduce((a,c,l)=>{const[d,p]=a,_=n.findIndex(O=>O.name===c.name);return~_?p[_]=l:d.push(l),a},[[],[]]),o=this._schema.assign(t.schema),s=[...n.map((a,c,l,d=i[c])=>d===void 0?this.getColumnAt(c):t.getColumnAt(d)),...r.map(a=>t.getColumnAt(a))].filter(Boolean);return new mt(...eh(o,s))}}function T0(e){const{type:t}=e;return t instanceof Ke?mt.fromStruct(Eo.from(e)):null}function B0(e){const{type:t}=e;return t instanceof Ke?Eo.from(e).then(n=>mt.fromStruct(n)):null}class ue extends Eo{constructor(...t){let n,r=t[0],i;if(t[1]instanceof L)[,n,i]=t;else{const o=r.fields,[,s,a]=t;n=L.Struct(new Ke(o),0,s,0,null,a)}super(n,i),this._schema=r}static from(t){return Ye(t.values),mt.from(t)}static new(...t){const[n,r]=Ad(t),i=r.filter(o=>o instanceof dt);return new ue(...uv(new Ot(n),i.map(o=>o.data)))}clone(t,n=this._children){return new ue(this._schema,t,n)}concat(...t){const n=this._schema,r=Jt.flatten(this,...t);return new mt(n,r.map(({data:i})=>new ue(n,i)))}get schema(){return this._schema}get numCols(){return this._schema.fields.length}get dictionaries(){return this._dictionaries||(this._dictionaries=Gc.collect(this))}select(...t){const n=this._schema.fields.reduce((r,i,o)=>r.set(i.name,o),new Map);return this.selectAt(...t.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(...t){const n=this._schema.selectAt(...t),r=t.map(i=>this.data.childData[i]).filter(Boolean);return new ue(n,this.length,r)}}class Lo extends ue{constructor(t){super(t,0,t.fields.map(n=>L.new(n.type,0,0,0)))}}class Gc extends ct{constructor(){super(...arguments),this.dictionaries=new Map}static collect(t){return new Gc().visit(t.data,new Ke(t.schema.fields)).dictionaries}visit(t,n){return nt.isDictionary(n)?this.visitDictionary(t,n):(t.childData.forEach((r,i)=>this.visit(r,n.children[i].type)),this)}visitDictionary(t,n){const r=t.dictionary;return r&&r.length>0&&this.dictionaries.set(n.id,r),this}}class We extends Fr{constructor(t){super(),this._impl=t}get closed(){return this._impl.closed}get schema(){return this._impl.schema}get autoDestroy(){return this._impl.autoDestroy}get dictionaries(){return this._impl.dictionaries}get numDictionaries(){return this._impl.numDictionaries}get numRecordBatches(){return this._impl.numRecordBatches}get footer(){return this._impl.isFile()?this._impl.footer:null}isSync(){return this._impl.isSync()}isAsync(){return this._impl.isAsync()}isFile(){return this._impl.isFile()}isStream(){return this._impl.isStream()}next(){return this._impl.next()}throw(t){return this._impl.throw(t)}return(t){return this._impl.return(t)}cancel(){return this._impl.cancel()}reset(t){return this._impl.reset(t),this._DOMStream=void 0,this._nodeStream=void 0,this}open(t){const n=this._impl.open(t);return Zn(n)?n.then(()=>this):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return we.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return we.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,n){throw new Error('\"throughDOM\" not available in this environment')}static from(t){return t instanceof We?t:Fa(t)?E0(t):Xf(t)?M0(t):Zn(t)?(async()=>await We.from(await t))():Qf(t)||lc(t)||td(t)||En(t)?L0(new Ar(t)):D0(new qs(t))}static readAll(t){return t instanceof We?t.isSync()?Bu(t):Ou(t):Fa(t)||ArrayBuffer.isView(t)||Ye(t)||Zf(t)?Bu(t):Ou(t)}}class Gs extends We{constructor(t){super(t),this._impl=t}[Symbol.iterator](){return this._impl[Symbol.iterator]()}async*[Symbol.asyncIterator](){yield*this[Symbol.iterator]()}}class Zs extends We{constructor(t){super(t),this._impl=t}[Symbol.iterator](){throw new Error(\"AsyncRecordBatchStreamReader is not Iterable\")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class Rh extends Gs{constructor(t){super(t),this._impl=t}}class O0 extends Zs{constructor(t){super(t),this._impl=t}}class Uh{constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,n){return new ue(this.schema,t.length,this._loadVectors(t,n,this.schema.fields))}_loadDictionaryBatch(t,n){const{id:r,isDelta:i,data:o}=t,{dictionaries:s,schema:a}=this,c=s.get(r);if(i||!c){const l=a.dictionaries.get(r);return c&&i?c.concat(dt.new(this._loadVectors(o,n,[l])[0])):dt.new(this._loadVectors(o,n,[l])[0])}return c}_loadVectors(t,n,r){return new Wd(n,t.nodes,t.buffers,this.dictionaries).visitMany(r)}}class Xs extends Uh{constructor(t,n){super(n),this._reader=Fa(t)?new ov(this._handle=t):new Zd(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=Ph(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):Rt}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):Rt}next(){if(this.closed)return Rt;let t,{_reader:n}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;const r=t.header(),i=n.readMessageBody(t.bodyLength),o=this._loadRecordBatch(r,i);return{done:!1,value:o}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;const r=t.header(),i=n.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,o)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Lo(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}}class Qs extends Uh{constructor(t,n){super(n),this._reader=new sv(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}async cancel(){!this.closed&&(this.closed=!0)&&(await this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}async open(t){return this.closed||(this.autoDestroy=Ph(this,t),this.schema||(this.schema=await this._reader.readSchema())||await this.cancel()),this}async throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?await this.reset()._reader.throw(t):Rt}async return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?await this.reset()._reader.return(t):Rt}async next(){if(this.closed)return Rt;let t,{_reader:n}=this;for(;t=await this._readNextMessageAndValidate();)if(t.isSchema())await this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;const r=t.header(),i=await n.readMessageBody(t.bodyLength),o=this._loadRecordBatch(r,i);return{done:!1,value:o}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;const r=t.header(),i=await n.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,o)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new Lo(this.schema)}):await this.return()}async _readNextMessageAndValidate(t){return await this._reader.readMessage(t)}}class Nh extends Xs{constructor(t,n){super(t instanceof uu?t:new uu(t),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){if(this.closed)return null;this._footer||this.open();const n=this._footer&&this._footer.getRecordBatch(t);if(n&&this._handle.seek(n.offset)){const r=this._reader.readMessage(xt.RecordBatch);if(r&&r.isRecordBatch()){const i=r.header(),o=this._reader.readMessageBody(r.bodyLength);return this._loadRecordBatch(i,o)}}return null}_readDictionaryBatch(t){const n=this._footer&&this._footer.getDictionaryBatch(t);if(n&&this._handle.seek(n.offset)){const r=this._reader.readMessage(xt.DictionaryBatch);if(r&&r.isDictionaryBatch()){const i=r.header(),o=this._reader.readMessageBody(r.bodyLength),s=this._loadDictionaryBatch(i,o);this.dictionaries.set(i.id,s)}}}_readFooter(){const{_handle:t}=this,n=t.size-Xd,r=t.readInt32(n),i=t.readAt(n-r,r);return ki.decode(i)}_readNextMessageAndValidate(t){if(this._footer||this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){const n=this._footer&&this._footer.getRecordBatch(this._recordBatchIndex);if(n&&this._handle.seek(n.offset))return this._reader.readMessage(t)}return null}}class x0 extends Qs{constructor(t,...n){const r=typeof n[0]!=\"number\"?n.shift():void 0,i=n[0]instanceof Map?n.shift():void 0;super(t instanceof Js?t:new Js(t,r),i)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isFile(){return!0}isAsync(){return!0}async open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=await this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&await this._readDictionaryBatch(this._dictionaryIndex++)}return await super.open(t)}async readRecordBatch(t){if(this.closed)return null;this._footer||await this.open();const n=this._footer&&this._footer.getRecordBatch(t);if(n&&await this._handle.seek(n.offset)){const r=await this._reader.readMessage(xt.RecordBatch);if(r&&r.isRecordBatch()){const i=r.header(),o=await this._reader.readMessageBody(r.bodyLength);return this._loadRecordBatch(i,o)}}return null}async _readDictionaryBatch(t){const n=this._footer&&this._footer.getDictionaryBatch(t);if(n&&await this._handle.seek(n.offset)){const r=await this._reader.readMessage(xt.DictionaryBatch);if(r&&r.isDictionaryBatch()){const i=r.header(),o=await this._reader.readMessageBody(r.bodyLength),s=this._loadDictionaryBatch(i,o);this.dictionaries.set(i.id,s)}}}async _readFooter(){const{_handle:t}=this;t._pending&&await t._pending;const n=t.size-Xd,r=await t.readInt32(n),i=await t.readAt(n-r,r);return ki.decode(i)}async _readNextMessageAndValidate(t){if(this._footer||await this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){const n=this._footer.getRecordBatch(this._recordBatchIndex);if(n&&await this._handle.seek(n.offset))return await this._reader.readMessage(t)}return null}}class F0 extends Xs{constructor(t,n){super(t,n)}_loadVectors(t,n,r){return new xw(n,t.nodes,t.buffers,this.dictionaries).visitMany(r)}}function Ph(e,t){return t&&typeof t.autoDestroy==\"boolean\"?t.autoDestroy:e.autoDestroy}function*Bu(e){const t=We.from(e);try{if(!t.open({autoDestroy:!1}).closed)do yield t;while(!t.reset().open().closed)}finally{t.cancel()}}async function*Ou(e){const t=await We.from(e);try{if(!(await t.open({autoDestroy:!1})).closed)do yield t;while(!(await t.reset().open()).closed)}finally{await t.cancel()}}function E0(e){return new Gs(new F0(e))}function D0(e){const t=e.peek(Qi+7&-8);return t&&t.byteLength>=4?Uc(t)?new Rh(new Nh(e.read())):new Gs(new Xs(e)):new Gs(new Xs(function*(){}()))}async function L0(e){const t=await e.peek(Qi+7&-8);return t&&t.byteLength>=4?Uc(t)?new Rh(new Nh(await e.read())):new Zs(new Qs(e)):new Zs(new Qs(async function*(){}()))}async function M0(e){const{size:t}=await e.stat(),n=new Js(e,t);return t>=av&&Uc(await n.readAt(0,Qi+7&-8))?new O0(new x0(n)):new Zs(new Qs(n))}function C0(e,t){if(En(e))return U0(e,t);if(Ye(e))return R0(e,t);throw new Error(\"toDOMStream() must be called with an Iterable or AsyncIterable\")}function R0(e,t){let n=null;const r=t&&t.type===\"bytes\"||!1,i=t&&t.highWaterMark||2**24;return new ReadableStream({...t,start(s){o(s,n||(n=e[Symbol.iterator]()))},pull(s){n?o(s,n):s.close()},cancel(){(n&&n.return&&n.return()||!0)&&(n=null)}},{highWaterMark:r?i:void 0,...t});function o(s,a){let c,l=null,d=s.desiredSize||null;for(;!(l=a.next(r?d:null)).done;)if(ArrayBuffer.isView(l.value)&&(c=lt(l.value))&&(d!=null&&r&&(d=d-c.byteLength+1),l.value=c),s.enqueue(l.value),d!=null&&--d<=0)return;s.close()}}function U0(e,t){let n=null;const r=t&&t.type===\"bytes\"||!1,i=t&&t.highWaterMark||2**24;return new ReadableStream({...t,async start(s){await o(s,n||(n=e[Symbol.asyncIterator]()))},async pull(s){n?await o(s,n):s.close()},async cancel(){(n&&n.return&&await n.return()||!0)&&(n=null)}},{highWaterMark:r?i:void 0,...t});async function o(s,a){let c,l=null,d=s.desiredSize||null;for(;!(l=await a.next(r?d:null)).done;)if(ArrayBuffer.isView(l.value)&&(c=lt(l.value))&&(d!=null&&r&&(d=d-c.byteLength+1),l.value=c),s.enqueue(l.value),d!=null&&--d<=0)return;s.close()}}function N0(e){return new P0(e)}class P0{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;const{[\"readableStrategy\"]:n,[\"writableStrategy\"]:r,[\"queueingStrategy\"]:i=\"count\",...o}=t;this._controller=null,this._builder=Ut.new(o),this._getSize=i!==\"bytes\"?xu:Fu;const{[\"highWaterMark\"]:s=i===\"bytes\"?2**14:1e3}={...n},{[\"highWaterMark\"]:a=i===\"bytes\"?2**14:1e3}={...r};this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:c=>{this._maybeFlush(this._builder,this._controller=c)},start:c=>{this._maybeFlush(this._builder,this._controller=c)}},{highWaterMark:s,size:i!==\"bytes\"?xu:Fu}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:c=>this._writeValueAndReturnChunkSize(c)})}_writeValueAndReturnChunkSize(t){const n=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-n}_maybeFlush(t,n){n!==null&&(this._bufferedSize>=n.desiredSize&&++this._numChunks&&this._enqueue(n,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(n,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(n,null)))}_enqueue(t,n){this._bufferedSize=0,this._controller=null,n===null?t.close():t.enqueue(n)}}const xu=e=>e.length,Fu=e=>e.byteLength;function V0(e,t){const n=new Ii;let r=null;const i=new ReadableStream({async cancel(){await n.close()},async start(a){await s(a,r||(r=await o()))},async pull(a){r?await s(a,r):a.close()}});return{writable:new WritableStream(n,{highWaterMark:2**14,...e}),readable:i};async function o(){return await(await We.from(n)).open(t)}async function s(a,c){let l=a.desiredSize,d=null;for(;!(d=await c.next()).done;)if(a.enqueue(d.value),l!=null&&--l<=0)return;a.close()}}function k0(e,t){const n=new this(e),r=new Ar(n),i=new ReadableStream({type:\"bytes\",async cancel(){await r.cancel()},async pull(s){await o(s)},async start(s){await o(s)}},{highWaterMark:2**14,...t});return{writable:new WritableStream(n,e),readable:i};async function o(s){let a=null,c=s.desiredSize;for(;a=await r.read(c||null);)if(s.enqueue(a),c!=null&&(c-=a.byteLength)<=0)return;s.close()}}class qr{eq(t){return t instanceof qr||(t=new Jr(t)),new $0(this,t)}le(t){return t instanceof qr||(t=new Jr(t)),new j0(this,t)}ge(t){return t instanceof qr||(t=new Jr(t)),new z0(this,t)}lt(t){return new Os(this.ge(t))}gt(t){return new Os(this.le(t))}ne(t){return new Os(this.eq(t))}}class Jr extends qr{constructor(t){super(),this.v=t}}class Vh extends qr{constructor(t){super(),this.name=t}bind(t){if(!this.colidx){this.colidx=-1;const r=t.schema.fields;for(let i=-1;++i<r.length;)if(r[i].name===this.name){this.colidx=i;break}if(this.colidx<0)throw new Error(`Failed to bind Col \"${this.name}\"`)}const n=this.vector=t.getChildAt(this.colidx);return r=>n.get(r)}}class Zc{and(...t){return new tl(this,...t)}or(...t){return new el(this,...t)}not(){return new Os(this)}}class Xc extends Zc{constructor(t,n){super(),this.left=t,this.right=n}bind(t){return this.left instanceof Jr?this.right instanceof Jr?this._bindLitLit(t,this.left,this.right):this._bindLitCol(t,this.left,this.right):this.right instanceof Jr?this._bindColLit(t,this.left,this.right):this._bindColCol(t,this.left,this.right)}}class Qc extends Zc{constructor(...t){super(),this.children=t}}Qc.prototype.children=Object.freeze([]);class tl extends Qc{constructor(...t){t=t.reduce((n,r)=>n.concat(r instanceof tl?r.children:r),[]),super(...t)}bind(t){const n=this.children.map(r=>r.bind(t));return(r,i)=>n.every(o=>o(r,i))}}class el extends Qc{constructor(...t){t=t.reduce((n,r)=>n.concat(r instanceof el?r.children:r),[]),super(...t)}bind(t){const n=this.children.map(r=>r.bind(t));return(r,i)=>n.some(o=>o(r,i))}}class $0 extends Xc{_bindLitLit(t,n,r){const i=n.v==r.v;return()=>i}_bindColCol(t,n,r){const i=n.bind(t),o=r.bind(t);return(s,a)=>i(s,a)==o(s,a)}_bindColLit(t,n,r){const i=n.bind(t);if(n.vector instanceof Wc){let o;const s=n.vector;return s.dictionary!==this.lastDictionary?(o=s.reverseLookup(r.v),this.lastDictionary=s.dictionary,this.lastKey=o):o=this.lastKey,o===-1?()=>!1:a=>s.getKey(a)===o}else return(o,s)=>i(o,s)==r.v}_bindLitCol(t,n,r){return this._bindColLit(t,r,n)}}class j0 extends Xc{_bindLitLit(t,n,r){const i=n.v<=r.v;return()=>i}_bindColCol(t,n,r){const i=n.bind(t),o=r.bind(t);return(s,a)=>i(s,a)<=o(s,a)}_bindColLit(t,n,r){const i=n.bind(t);return(o,s)=>i(o,s)<=r.v}_bindLitCol(t,n,r){const i=r.bind(t);return(o,s)=>n.v<=i(o,s)}}class z0 extends Xc{_bindLitLit(t,n,r){const i=n.v>=r.v;return()=>i}_bindColCol(t,n,r){const i=n.bind(t),o=r.bind(t);return(s,a)=>i(s,a)>=o(s,a)}_bindColLit(t,n,r){const i=n.bind(t);return(o,s)=>i(o,s)>=r.v}_bindLitCol(t,n,r){const i=r.bind(t);return(o,s)=>n.v>=i(o,s)}}class Os extends Zc{constructor(t){super(),this.child=t}bind(t){const n=this.child.bind(t);return(r,i)=>!n(r,i)}}mt.prototype.countBy=function(e){return new ns(this.chunks).countBy(e)};mt.prototype.scan=function(e,t){return new ns(this.chunks).scan(e,t)};mt.prototype.scanReverse=function(e,t){return new ns(this.chunks).scanReverse(e,t)};mt.prototype.filter=function(e){return new ns(this.chunks).filter(e)};class ns extends mt{filter(t){return new nl(this.chunks,t)}scan(t,n){const r=this.chunks,i=r.length;for(let o=-1;++o<i;){const s=r[o];n&&n(s);for(let a=-1,c=s.length;++a<c;)t(a,s)}}scanReverse(t,n){const r=this.chunks,i=r.length;for(let o=i;--o>=0;){const s=r[o];n&&n(s);for(let a=s.length;--a>=0;)t(a,s)}}countBy(t){const n=this.chunks,r=n.length,i=typeof t==\"string\"?new Vh(t):t;i.bind(n[r-1]);const o=i.vector;if(!nt.isDictionary(o.type))throw new Error(\"countBy currently only supports dictionary-encoded columns\");const s=Math.ceil(Math.log(o.length)/Math.log(256)),a=s==4?Uint32Array:s>=2?Uint16Array:Uint8Array,c=new a(o.dictionary.length);for(let l=-1;++l<r;){const d=n[l];i.bind(d);const p=i.vector.indices;for(let _=-1,O=d.length;++_<O;){let P=p.get(_);P!==null&&c[P]++}}return new kh(o.dictionary,Ge.from(c))}}class kh extends mt{constructor(t,n){const r=new Ot([new ht(\"values\",t.type),new ht(\"counts\",n.type)]);super(new ue(r,n.length,[t,n]))}toJSON(){const t=this.getColumnAt(0),n=this.getColumnAt(1),r={};for(let i=-1;++i<this.length;)r[t.get(i)]=n.get(i);return r}}class nl extends ns{constructor(t,n){super(t),this._predicate=n}scan(t,n){const r=this._chunks,i=r.length;for(let o=-1;++o<i;){const s=r[o],a=this._predicate.bind(s);let c=!1;for(let l=-1,d=s.length;++l<d;)a(l,s)&&(n&&!c&&(n(s),c=!0),t(l,s))}}scanReverse(t,n){const r=this._chunks,i=r.length;for(let o=i;--o>=0;){const s=r[o],a=this._predicate.bind(s);let c=!1;for(let l=s.length;--l>=0;)a(l,s)&&(n&&!c&&(n(s),c=!0),t(l,s))}}count(){let t=0;const n=this._chunks,r=n.length;for(let i=-1;++i<r;){const o=n[i],s=this._predicate.bind(o);for(let a=-1,c=o.length;++a<c;)s(a,o)&&++t}return t}*[Symbol.iterator](){const t=this._chunks,n=t.length;for(let r=-1;++r<n;){const i=t[r],o=this._predicate.bind(i);for(let s=-1,a=i.length;++s<a;)o(s,i)&&(yield i.get(s))}}filter(t){return new nl(this._chunks,this._predicate.and(t))}countBy(t){const n=this._chunks,r=n.length,i=typeof t==\"string\"?new Vh(t):t;i.bind(n[r-1]);const o=i.vector;if(!nt.isDictionary(o.type))throw new Error(\"countBy currently only supports dictionary-encoded columns\");const s=Math.ceil(Math.log(o.length)/Math.log(256)),a=s==4?Uint32Array:s>=2?Uint16Array:Uint8Array,c=new a(o.dictionary.length);for(let l=-1;++l<r;){const d=n[l],p=this._predicate.bind(d);i.bind(d);const _=i.vector.indices;for(let O=-1,P=d.length;++O<P;){let X=_.get(O);X!==null&&p(O,d)&&c[X]++}}return new kh(o.dictionary,Ge.from(c))}}({...c_,...Ow,...Cg,...i_,...xg,...U_});we.toDOMStream=C0;Ut.throughDOM=N0;We.throughDOM=V0;Pc.throughDOM=k0;/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */var Eu=function(){function e(t,n,r,i){var o=this;this.getCell=function(s,a){var c=s<o.headerRows&&a<o.headerColumns,l=s>=o.headerRows&&a<o.headerColumns,d=s<o.headerRows&&a>=o.headerColumns;if(c){var p=[\"blank\"];return a>0&&p.push(\"level\"+s),{type:\"blank\",classNames:p.join(\" \"),content:\"\"}}else if(d){var _=a-o.headerColumns,p=[\"col_heading\",\"level\"+s,\"col\"+_];return{type:\"columns\",classNames:p.join(\" \"),content:o.getContent(o.columnsTable,_,s)}}else if(l){var O=s-o.headerRows,p=[\"row_heading\",\"level\"+a,\"row\"+O];return{type:\"index\",id:\"T_\"+o.uuid+\"level\"+a+\"_row\"+O,classNames:p.join(\" \"),content:o.getContent(o.indexTable,O,a)}}else{var O=s-o.headerRows,_=a-o.headerColumns,p=[\"data\",\"row\"+O,\"col\"+_],P=o.styler?o.getContent(o.styler.displayValuesTable,O,_):o.getContent(o.dataTable,O,_);return{type:\"data\",id:\"T_\"+o.uuid+\"row\"+O+\"_col\"+_,classNames:p.join(\" \"),content:P}}},this.getContent=function(s,a,c){var l=s.getColumnAt(c);if(l===null)return\"\";var d=o.getColumnTypeId(s,c);switch(d){case y.Timestamp:return o.nanosToDate(l.get(a));default:return l.get(a)}},this.dataTable=mt.from(t),this.indexTable=mt.from(n),this.columnsTable=mt.from(r),this.styler=i?{caption:i.caption,displayValuesTable:mt.from(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(e.prototype,\"rows\",{get:function(){return this.indexTable.length+this.columnsTable.numCols},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"columns\",{get:function(){return this.indexTable.numCols+this.columnsTable.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"headerRows\",{get:function(){return this.rows-this.dataRows},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"headerColumns\",{get:function(){return this.columns-this.dataColumns},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"dataRows\",{get:function(){return this.dataTable.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"dataColumns\",{get:function(){return this.dataTable.numCols},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"uuid\",{get:function(){return this.styler&&this.styler.uuid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"caption\",{get:function(){return this.styler&&this.styler.caption},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"styles\",{get:function(){return this.styler&&this.styler.styles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"table\",{get:function(){return this.dataTable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"index\",{get:function(){return this.indexTable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"columnTable\",{get:function(){return this.columnsTable},enumerable:!0,configurable:!0}),e.prototype.serialize=function(){return{data:this.dataTable.serialize(),index:this.indexTable.serialize(),columns:this.columnsTable.serialize()}},e.prototype.getColumnTypeId=function(t,n){return t.schema.fields[n].type.typeId},e.prototype.nanosToDate=function(t){return new Date(t/1e6)},e}();/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */var Si=globalThis&&globalThis.__assign||function(){return Si=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},Si.apply(this,arguments)},Ai;(function(e){e.COMPONENT_READY=\"streamlit:componentReady\",e.SET_COMPONENT_VALUE=\"streamlit:setComponentValue\",e.SET_FRAME_HEIGHT=\"streamlit:setFrameHeight\"})(Ai||(Ai={}));var un=function(){function e(){}return e.API_VERSION=1,e.RENDER_EVENT=\"streamlit:render\",e.events=new Gn,e.registeredMessageListener=!1,e.setComponentReady=function(){e.registeredMessageListener||(window.addEventListener(\"message\",e.onMessageEvent),e.registeredMessageListener=!0),e.sendBackMsg(Ai.COMPONENT_READY,{apiVersion:e.API_VERSION})},e.setFrameHeight=function(t){t===void 0&&(t=document.body.scrollHeight),t!==e.lastFrameHeight&&(e.lastFrameHeight=t,e.sendBackMsg(Ai.SET_FRAME_HEIGHT,{height:t}))},e.setComponentValue=function(t){var n;t instanceof Eu?(n=\"dataframe\",t=t.serialize()):Y0(t)?(n=\"bytes\",t=new Uint8Array(t.buffer)):t instanceof ArrayBuffer?(n=\"bytes\",t=new Uint8Array(t)):n=\"json\",e.sendBackMsg(Ai.SET_COMPONENT_VALUE,{value:t,dataType:n})},e.onMessageEvent=function(t){var n=t.data.type;switch(n){case e.RENDER_EVENT:e.onRenderMessage(t.data);break}},e.onRenderMessage=function(t){var n=t.args;n==null&&(console.error(\"Got null args in onRenderMessage. This should never happen\"),n={});var r=t.dfs&&t.dfs.length>0?e.argsDataframeToObject(t.dfs):{};n=Si(Si({},n),r);var i=Boolean(t.disabled),o=t.theme;o&&W0(o);var s={disabled:i,args:n,theme:o},a=new CustomEvent(e.RENDER_EVENT,{detail:s});e.events.dispatchEvent(a)},e.argsDataframeToObject=function(t){var n=t.map(function(r){var i=r.key,o=r.value;return[i,e.toArrowTable(o)]});return Object.fromEntries(n)},e.toArrowTable=function(t){var n=t.data,r=n.data,i=n.index,o=n.columns,s=n.styler;return new Eu(r,i,o,s)},e.sendBackMsg=function(t,n){window.parent.postMessage(Si({isStreamlitMessage:!0,type:t},n),\"*\")},e}(),W0=function(e){var t=document.createElement(\"style\");document.head.appendChild(t),t.innerHTML=`\n    :root {\n      --primary-color: `+e.primaryColor+`;\n      --background-color: `+e.backgroundColor+`;\n      --secondary-background-color: `+e.secondaryBackgroundColor+`;\n      --text-color: `+e.textColor+`;\n      --font: `+e.font+`;\n    }\n\n    body {\n      background-color: var(--background-color);\n      color: var(--text-color);\n    }\n  `};function Y0(e){var t=!1;try{t=e instanceof BigInt64Array||e instanceof BigUint64Array}catch{}return e instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array||t}/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */var H0=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(e){H0(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.componentDidMount=function(){un.setFrameHeight()},t.prototype.componentDidUpdate=function(){un.setFrameHeight()},t})(Vb.PureComponent);function K0(){Xa(()=>{un.setFrameHeight()}),Qa(()=>{un.setFrameHeight()})}var rl=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n};const q0={class:\"bootstrap-wrapper pt-4\"},J0={class:\"concept-gallery row\"},G0={class:\"concept-card p-4 container-fluid\"},Z0={class:\"concept-card-content-wrapper\"},X0={class:\"card-header row no-gutters\"},Q0={class:\"col\"},tI={class:\"concept-title pl-1\"},eI=Pt(\"span\",{class:\"token-char pr-0\"},\"<\",-1),nI=Pt(\"span\",{class:\"pl-0 token-char\"},\">\",-1),rI={class:\"concept-img-wrapper p-0 row no-gutters\"},iI={key:0,class:\"col-12 p-4 no-preview\"},sI=Pt(\"svg\",{class:\"no-preview-icon\",xmlns:\"http://www.w3.org/2000/svg\",viewBox:\"0 0 32 32\"},[Pt(\"path\",{d:\"M 2 5 L 2 27 L 30 27 L 30 5 Z M 4 7 L 28 7 L 28 20.90625 L 22.71875 15.59375 L 22 14.875 L 17.46875 19.40625 L 11.71875 13.59375 L 11 12.875 L 4 19.875 Z M 24 9 C 22.894531 9 22 9.894531 22 11 C 22 12.105469 22.894531 13 24 13 C 25.105469 13 26 12.105469 26 11 C 26 9.894531 25.105469 9 24 9 Z M 11 15.71875 L 20.1875 25 L 4 25 L 4 22.71875 Z M 22 17.71875 L 28 23.71875 L 28 25 L 23.03125 25 L 18.875 20.8125 Z\"})],-1),oI=Pt(\"p\",{style:{opacity:\"0.8\"}},\"No preview available\",-1),aI=[sI,oI],cI={class:\"concept-card-footer row no-gutters pt-4\"},lI={class:\"col pl-1\"},uI={class:\"col-auto\"},fI=[\"onClick\"],dI=ic(\" Copy to clipboard \"),hI=Ga({__name:\"Component\",props:{args:{type:null,required:!0},disabled:{type:Boolean,required:!0},theme:{type:null,required:!0}},setup(e){K0();const t=n=>{console.log(\"sending copy to clipboard event\",n),navigator.clipboard.writeText(n)};return(n,r)=>(_e(),ln(\"div\",q0,[Pt(\"div\",J0,[(_e(!0),ln(ie,null,Ml(e.args.concepts,i=>(_e(),ln(\"div\",{key:i.name,class:\"col-12 col-sm-6 col-md-4 col-lg-4 col-xl-3\"},[Pt(\"div\",G0,[Pt(\"div\",Z0,[Pt(\"div\",X0,[Pt(\"div\",Q0,[Pt(\"h1\",tI,[eI,ic(ia(i.name),1),nI])]),Sn(\" Favorite feature, not implemented yet \"),Sn(` <div class=\"col-auto card-favorite\" >\\r\n              <img width=\"24\"\\r\n                   height=\"24\"\\r\n                   class=\"icon-star\"\\r\n                   src=\"./icons/star.svg\" />\\r\n              </div>  `)]),Pt(\"div\",rI,[(_e(!0),ln(ie,null,Ml(i.images,(o,s)=>(_e(),ln(\"div\",{key:\"concept_img\"+s,class:Ti({\"p-1\":!0,\"col-6\":i.images.length%2==0||s<i.images.length-1,\"col-12\":i.images.length%2==1&&s==i.images.length-1})},[Pt(\"div\",{class:\"img-bg\",style:to({\"background-image\":\"url(data:image/png;base64,\"+o+\")\"})},null,4)],2))),128)),i.images.length==0?(_e(),ln(\"div\",iI,aI)):Sn(\"v-if\",!0)]),Pt(\"div\",cI,[Pt(\"div\",lI,[i.type?(_e(),ln(\"div\",{key:0,class:Ti({\"concept-type-tag\":!0,\"concept-type-style\":i.type.toLowerCase()===\"style\",\"concept-type-object\":i.type.toLowerCase()===\"object\"})},ia(i.type.toUpperCase()),3)):Sn(\"v-if\",!0)]),Pt(\"div\",uI,[Sn(\" Copy to clipboard button \"),Pt(\"button\",{class:\"button\",onClick:o=>t(i.token)},[Sn(' <svg class=\"icon-clipboard\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" ><path d=\"M 15 3 C 13.742188 3 12.847656 3.890625 12.40625 5 L 5 5 L 5 28 L 13 28 L 13 30 L 27 30 L 27 14 L 25 14 L 25 5 L 17.59375 5 C 17.152344 3.890625 16.257813 3 15 3 Z M 15 5 C 15.554688 5 16 5.445313 16 6 L 16 7 L 19 7 L 19 9 L 11 9 L 11 7 L 14 7 L 14 6 C 14 5.445313 14.445313 5 15 5 Z M 7 7 L 9 7 L 9 11 L 21 11 L 21 7 L 23 7 L 23 14 L 13 14 L 13 26 L 7 26 Z M 15 16 L 25 16 L 25 28 L 15 28 Z\"/></svg> '),dI],8,fI)])])])])]))),128))])]))}});var pI=rl(hI,[[\"__file\",\"E:/Projets/Perso/AI Generated Art/Stable Diffusion/concepts-browser/streamlit-component-template-vue/sd_concept_browser/frontend/src/Component.vue\"]]);const yI=Ga({name:\"WithStreamlitConnection\",setup(){const e=Tl(void 0),t=Tl(\"\"),n=r=>{const i=r;e.value=i.detail,t.value=\"\"};return Xa(()=>{un.events.addEventListener(un.RENDER_EVENT,n),un.setComponentReady()}),Qa(()=>{t.value!=\"\"&&un.setFrameHeight()}),tc(()=>{un.events.removeEventListener(un.RENDER_EVENT,n)}),wf(r=>{t.value=String(r)}),{renderData:e,componentError:t}}}),mI=e=>(ky(\"data-v-4d5bb78e\"),e=e(),$y(),e),bI={key:0},gI=mI(()=>Pt(\"h1\",{class:\"err__title\"},\"Component Error\",-1)),_I={class:\"err__msg\"};function wI(e,t,n,r,i,o){return _e(),ln(\"div\",null,[Sn(\"  Error boundary. If our wrapped component threw an error, display it. \"),e.componentError!==\"\"?(_e(),ln(\"div\",bI,[gI,Pt(\"div\",_I,\"Message: \"+ia(e.componentError),1)])):e.renderData!=null?(_e(),ln(ie,{key:1},[Sn(` \\r\n      Else render the component slot and pass Streamlit event data in \\`args\\` props to it.\\r\n      Don't render until we've gotten our first RENDER_EVENT from Streamlit.\\r\n      All components get disabled while the app is being re-run, and become re-enabled when the re-run has finished.\\r\n    `),cm(e.$slots,\"default\",{args:e.renderData.args,theme:e.renderData.theme,disabled:e.renderData.disabled},void 0,!0)],2112)):Sn(\"v-if\",!0)])}var vI=rl(yI,[[\"render\",wI],[\"__scopeId\",\"data-v-4d5bb78e\"],[\"__file\",\"E:/Projets/Perso/AI Generated Art/Stable Diffusion/concepts-browser/streamlit-component-template-vue/sd_concept_browser/frontend/src/streamlit/WithStreamlitConnection.vue\"]]);const II=Ga({name:\"App\",components:{Component:pI,WithStreamlitConnection:vI}});function SI(e,t,n,r,i,o){const s=Dl(\"Component\"),a=Dl(\"WithStreamlitConnection\");return _e(),rc(a,null,{default:yf(({args:c,theme:l,disabled:d})=>[je(s,{args:c,theme:l,disabled:d},null,8,[\"args\",\"theme\",\"disabled\"])]),_:1})}var AI=rl(II,[[\"render\",SI],[\"__file\",\"E:/Projets/Perso/AI Generated Art/Stable Diffusion/concepts-browser/streamlit-component-template-vue/sd_concept_browser/frontend/src/app.vue\"]]);vb(AI).mount(\"#app\");\n"
  },
  {
    "path": "frontend/dists/concept-browser/dist/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Component Template</title>\n  <script type=\"module\" crossorigin src=\"assets/index.b5b962e4.js\"></script>\n  <link rel=\"stylesheet\" href=\"assets/index.3ab9729b.css\">\n</head>\n<body>\n<div id=\"app\"></div>\n\n</body>\n</html>\n"
  },
  {
    "path": "frontend/dists/sd-gallery/dist/assets/index.4194368f.css",
    "content": "@font-face{font-family:lg;src:url(data:font/woff2;base64,d09GMgABAAAAAAkcAAsAAAAAEogAAAjNAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmAAgSQRCAqcLJZKCzoAATYCJANwBCAFgkoHIBupDgDm53Gzej8JpU0wqygVVyoWwphIsuuw60jpmBY6ppTa7mk7jtx57UQ0V2ulvfmteSIQji061T2HvfDEECASKizU5VUQXFjFRtgYTVg+woiYDVezOThR4tAvr/YYgOO/RZ+BAABzYtMA8Kl8Neg3UIDCoCkOyWBuLcCvSHycH78QvhFxmUCK03A0RwGSvXBAHgR8UB8DMvocJYAgbiZiJnqmYGbXjG3mz7P8nHhe8Uvxr0j+fzwPABAjWT1E83IJHh/x87G/jv1l7JtYR+y+WF2MKAai/qfDtfIRt7hBikI8D1IpipXqWqYSDgDBfwE7qDLw5EEALqFRDMKAsApNwchXAJgFL/WETMbKcDVSifR6QkjwkDaRTEugqlBtKVcL6Smi1dHlIqUmuii6Pic1JTIlFTX3uRenMNpiCiKOCZBm2ges0b/ScigDVgcb2MEHfloel7e1z208KrZUeQFjK0dIkbl6FOFczRhFE6zaRklPlz52tOXcKtmpdqisgHnbxRatg66vsZNHaWMPQ/eZmH6jaavlNASsipbKwVZSYrRm1mywI0670UEdhLy+yuscolSZJHKwg5IyNzRJQbKRZiicwnYiChjO1vSbKCBpkAgCjGIb6KCvA5GL0VHeUDwAQEHkSC2ToBJhKN9KAneim2ekLf1vENf3mjT3vAS295XY2MMgzRpSqTVWpt4ang+ksXynRUQPlkFOu+b6Yw0jBp8krbXbYbjc5mn6KpsNWKtqtcNz0D8xTTQKzthbZYAxLev3NkFgyYWsngBjGo8jg6a9Y3rKR9Pfqun10RvJi9X9foZGvrltMkJgWR7dhI7SSITEaBWIQQTMUSOJkTi5nlqpZUfNKcYD1Do/ZdkbR8UeVpKLSbMVgKLX0flzQYqCrLpll+/vus2IM9+lbdTgWWRLQJqvaq7eHKulgL2ssp7LrpxR2DBI/ja1zXvi7cS1E0Gr0uhy7PUGwPmdkkdjEYOjpGnQRXowC/GBq51eymLRXrsXsTzXX37VlXzeVxoI6m8Gy67oBnzsB6DoQYY7GHM2fbT4oS9zON45lPnwbmww2BL0G89EnfaVPi5eJ3NZFtjc277Wb9M1A+UWG2WZyrj6PMKmLHRoH04iZLuivlsHTmm9/qYJ1r2Z90DtuKYduK6SdNZ3dRRxHAoE+l4HGM6MyIe+0se+zHEfsP4s2sqqnVdSTE/8lCVYMRVsuBVEJOvT3fa1Xr4X2iDZflVFmxyDmpu1r8b9IsVzXUB9w1/l9ccf7WCszaI1ATtUx7oRztk1dtbBcciudJAi83Vv2yaTg9uON6toxLlIM2GVxClo2eVBt5gcOHRwHLIpptC92TeKRi3MjtBkTAOaoU+6P1q364+kdgt/+xh2fRvlOf2p5xR4ut7P4s0sPwY63OguajQWuYqMjUWaA9100ya6yHdHr/BMyxN9QmGa2zjPnbZr17KTy9weKwqXYtqjcMunRkgE9kP+Refvml14hAZw8WFQGmZnnaEi0eLUQTCc+tLSphVyaUH6lAJoXjF1MDiaFSOexNCRKYW8TOkhKzDEDjPDvHHI3c5hXbQLhujhUuPmBYd+N/EaktFsDqoDo4/G0yx70s3SSuXJDIvjMNsIQ7TDqb+/sv8NHGl6BvDAMOnsCpv9PQcP9tS6N294zEnwtNdt2tfTXSz7JGwAqALmbKpr90BaeqA9tlvduWP4/xa0thZcJMNDC6XqrFuy2xGF7YaiQkN7UfhEbMaNkOxQHezh7YVFBsP9TcoybgmzhaExmpxb/78Naf89LmVWthVvvSWh3rZUWtlMFStWENDf5uqEd2LiP/M/fvWEWUntjnTynpI2ainnLdjPUIvL2uGFJvoUQy0taZvPePLqxy0lK6mUo8yp6B+WtdyyTHivdrgLZrhbvAOlWMbQEJtJZ7JuXgRLC+hwe/kb90WvW4U4/PGGRUmLk995J1loWLRhQwVCKkve4JOS8YJASY+P8KQNe/vahGNU8TJRe/eCaaG7ozsrt6Ixu623v/ck0rvlG2EYBoAh6abIxoZ9UeHoNQAiMPKv/8pIi+47EAMHcfLh7dyX8q0Po+Iap94fFob+4fr/DXr96x+j1x2dhZ0dBfRqardjBIZ+M+S6Lo6ojE+4HKF7Kz7zG+eCOkwQ98UfOirDqrckKPVz3sR8srT/gsev3H0p3Rq7wkD1JLE/XZ+2Ze5pV5eqPiqqmBkc1PQYDBvlk5MdqQff21UyInvyhyjMsHXV33tD3zaQ7Us/NKfX44qLQ/8ffOtzXIjnymRNXampDWkGDR5yOyThG2/9UXC6liWEEz0hX+uR1Xg780i4eNOSig3Fk2pSkPpBqrrmx3/+TbB2ya9ePfrGJx98H8rvjKsRQoSh/G0s8cO6bhwwUI8vUz1c21B04cscrjVV1q8zzCVJkmv/T8y21/bLszJpxeqptculJZpleUyKrPX/X3QZBL+rl+hTWuR/2At7LhYVX9BBsULaqi9LWh+6xMDLW6V65dy2gsMbszemQ96XMDvrSfRM60ceo5R/oGDXB0KrxJsTACBhbV48S4Cd5IeyAVdU5Yg+2nPGKS+XAwmOljrwpIdMmdJPexI9ndnIXUIVgety83YzRdXD6E6YvF0gVGJRMhpOyQW6xGM0Zbq7zw8AoAcWAYa7cSOsARF+Fm8DBAAYgDUq07ZSWvm3UIoAAIAfde39SB7Hz+K/xR9vAkMBg0YE8PKEChkH47+9MDggitAdAEObxnBmZAFu5C4eyMxqN/2c3ZUK2qJ+tDUvrTR/BGHDbqZplsDNZVVQjIaim4XA6TE4YLCfEdweIwAKaArx8aN1JETYMNMDEWGYZdRjMJDAB4T7+EEiwAdiBKCBlRQCfnwjEgohbttG2AYb3yS+7tWIDW1rd/6mMedAM+yEHbAvWge0XgNevwdW20Cmdfb6NXBYqm+DtZHUyUW88R/abjA/OxeYpIa9sNmNGMqHbMgd2CAZPzVuOfQFg5H275pWwx73mQMODQAAAA==) format(\"woff2\"),url(./lg.22b72ba5.ttf?io9a6k) format(\"truetype\"),url(./lg.fefc5c0d.woff?io9a6k) format(\"woff\"),url(./lg.f2fe1c00.svg?io9a6k#lg) format(\"svg\");font-weight:400;font-style:normal;font-display:block}.lg-icon{font-family:lg!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.lg-container{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\"}.lg-next,.lg-prev{background-color:#00000073;border-radius:2px;color:#999;cursor:pointer;display:block;font-size:22px;margin-top:-10px;padding:8px 10px 9px;position:absolute;top:50%;z-index:1084;outline:none;border:none}.lg-next.disabled,.lg-prev.disabled{opacity:0!important;cursor:default}.lg-next:hover:not(.disabled),.lg-prev:hover:not(.disabled){color:#fff}.lg-single-item .lg-next,.lg-single-item .lg-prev{display:none}.lg-next{right:20px}.lg-next:before{content:\"\\e095\"}.lg-prev{left:20px}.lg-prev:after{content:\"\\e094\"}@-webkit-keyframes lg-right-end{0%{left:0}50%{left:-30px}to{left:0}}@-moz-keyframes lg-right-end{0%{left:0}50%{left:-30px}to{left:0}}@-ms-keyframes lg-right-end{0%{left:0}50%{left:-30px}to{left:0}}@keyframes lg-right-end{0%{left:0}50%{left:-30px}to{left:0}}@-webkit-keyframes lg-left-end{0%{left:0}50%{left:30px}to{left:0}}@-moz-keyframes lg-left-end{0%{left:0}50%{left:30px}to{left:0}}@-ms-keyframes lg-left-end{0%{left:0}50%{left:30px}to{left:0}}@keyframes lg-left-end{0%{left:0}50%{left:30px}to{left:0}}.lg-outer.lg-right-end .lg-object{-webkit-animation:lg-right-end .3s;-o-animation:lg-right-end .3s;animation:lg-right-end .3s;position:relative}.lg-outer.lg-left-end .lg-object{-webkit-animation:lg-left-end .3s;-o-animation:lg-left-end .3s;animation:lg-left-end .3s;position:relative}.lg-toolbar{z-index:1082;left:0;position:absolute;top:0;width:100%}.lg-media-overlap .lg-toolbar{background-image:linear-gradient(0deg,rgba(0,0,0,0),rgba(0,0,0,.4))}.lg-toolbar .lg-icon{color:#999;cursor:pointer;float:right;font-size:24px;height:47px;line-height:27px;padding:10px 0;text-align:center;width:50px;text-decoration:none!important;outline:medium none;will-change:color;-webkit-transition:color .2s linear;-o-transition:color .2s linear;transition:color .2s linear;background:none;border:none;box-shadow:none}.lg-toolbar .lg-icon.lg-icon-18{font-size:18px}.lg-toolbar .lg-icon:hover{color:#fff}.lg-toolbar .lg-close:after{content:\"\\e070\"}.lg-toolbar .lg-maximize{font-size:22px}.lg-toolbar .lg-maximize:after{content:\"\\e90a\"}.lg-toolbar .lg-download:after{content:\"\\e0f2\"}.lg-sub-html{color:#eee;font-size:16px;padding:10px 40px;text-align:center;z-index:1080;opacity:0;-webkit-transition:opacity .2s ease-out 0s;-o-transition:opacity .2s ease-out 0s;transition:opacity .2s ease-out 0s}.lg-sub-html h4{margin:0;font-size:13px;font-weight:700}.lg-sub-html p{font-size:12px;margin:5px 0 0}.lg-sub-html a{color:inherit}.lg-sub-html a:hover{text-decoration:underline}.lg-media-overlap .lg-sub-html{background-image:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.6))}.lg-item .lg-sub-html{position:absolute;bottom:0;right:0;left:0}.lg-error-msg{font-size:14px;color:#999}.lg-counter{color:#999;display:inline-block;font-size:16px;padding-left:20px;padding-top:12px;height:47px;vertical-align:middle}.lg-closing .lg-toolbar,.lg-closing .lg-prev,.lg-closing .lg-next,.lg-closing .lg-sub-html{opacity:0;-webkit-transition:-webkit-transform .08 cubic-bezier(0,0,.25,1) 0s,opacity .08 cubic-bezier(0,0,.25,1) 0s,color .08 linear;-moz-transition:-moz-transform .08 cubic-bezier(0,0,.25,1) 0s,opacity .08 cubic-bezier(0,0,.25,1) 0s,color .08 linear;-o-transition:-o-transform .08 cubic-bezier(0,0,.25,1) 0s,opacity .08 cubic-bezier(0,0,.25,1) 0s,color .08 linear;transition:transform .08 cubic-bezier(0,0,.25,1) 0s,opacity .08 cubic-bezier(0,0,.25,1) 0s,color .08 linear}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-img-wrap,body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable) .lg-video-cont{opacity:0;-moz-transform:scale3d(.5,.5,.5);-o-transform:scale3d(.5,.5,.5);-ms-transform:scale3d(.5,.5,.5);-webkit-transform:scale3d(.5,.5,.5);transform:scale3d(.5,.5,.5);will-change:transform,opacity;-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1)!important;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1)!important;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1)!important;transition:transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1)!important}body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-img-wrap,body:not(.lg-from-hash) .lg-outer.lg-start-zoom .lg-item:not(.lg-zoomable).lg-complete .lg-video-cont{opacity:1;-moz-transform:scale3d(1,1,1);-o-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);-webkit-transform:scale3d(1,1,1);transform:scaleZ(1)}.lg-icon:focus-visible{color:#fff;border-radius:3px;outline:1px dashed rgba(255,255,255,.6)}.lg-toolbar .lg-icon:focus-visible{border-radius:8px;outline-offset:-5px}.lg-group:after{content:\"\";display:table;clear:both}.lg-container{display:none;outline:none}.lg-container.lg-show{display:block}.lg-on{scroll-behavior:unset}.lg-overlay-open{overflow:hidden}.lg-toolbar,.lg-prev,.lg-next,.lg-pager-outer,.lg-hide-sub-html .lg-sub-html{opacity:0;will-change:transform,opacity;-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1) 0s;transition:transform .25s cubic-bezier(0,0,.25,1) 0s,opacity .25s cubic-bezier(0,0,.25,1) 0s}.lg-show-in .lg-toolbar,.lg-show-in .lg-prev,.lg-show-in .lg-next,.lg-show-in .lg-pager-outer,.lg-show-in.lg-hide-sub-html .lg-sub-html{opacity:1}.lg-show-in .lg-hide-items .lg-prev{opacity:0;-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}.lg-show-in .lg-hide-items .lg-next{opacity:0;-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}.lg-show-in .lg-hide-items .lg-toolbar{opacity:0;-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}.lg-show-in .lg-hide-items.lg-hide-sub-html .lg-sub-html{opacity:0;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}.lg-outer{width:100%;height:100%;position:fixed;top:0;left:0;z-index:1050;text-align:left;opacity:.001;outline:none;will-change:auto;overflow:hidden;-webkit-transition:opacity .15s ease 0s;-o-transition:opacity .15s ease 0s;transition:opacity .15s ease 0s}.lg-outer *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.lg-outer.lg-zoom-from-image,.lg-outer.lg-visible{opacity:1}.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-prev-slide,.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-next-slide,.lg-outer.lg-css3 .lg-item:not(.lg-start-end-progress).lg-current{-webkit-transition-duration:inherit!important;transition-duration:inherit!important;-webkit-transition-timing-function:inherit!important;transition-timing-function:inherit!important}.lg-outer.lg-css3.lg-dragging .lg-item.lg-prev-slide,.lg-outer.lg-css3.lg-dragging .lg-item.lg-next-slide,.lg-outer.lg-css3.lg-dragging .lg-item.lg-current{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-outer.lg-grab img.lg-object{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer.lg-grabbing img.lg-object{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-content{position:absolute;top:0;left:0;right:0;bottom:0}.lg-outer .lg-inner{width:100%;position:absolute;left:0;top:0;bottom:0;-webkit-transition:opacity 0s;-o-transition:opacity 0s;transition:opacity 0s;white-space:nowrap}.lg-outer .lg-item{display:none!important}.lg-outer .lg-item:not(.lg-start-end-progress){background:url(./loading.298ad3ff.gif) no-repeat scroll center center transparent}.lg-outer.lg-css3 .lg-prev-slide,.lg-outer.lg-css3 .lg-current,.lg-outer.lg-css3 .lg-next-slide,.lg-outer.lg-css .lg-current{display:inline-block!important}.lg-outer .lg-item,.lg-outer .lg-img-wrap{display:inline-block;text-align:center;position:absolute;width:100%;height:100%}.lg-outer .lg-item:before,.lg-outer .lg-img-wrap:before{content:\"\";display:inline-block;height:100%;vertical-align:middle}.lg-outer .lg-img-wrap{position:absolute;left:0;right:0;top:0;bottom:0;white-space:nowrap;font-size:0}.lg-outer .lg-item.lg-complete{background-image:none}.lg-outer .lg-item.lg-current{z-index:1060}.lg-outer .lg-object{display:inline-block;vertical-align:middle;max-width:100%;max-height:100%;width:auto;height:auto;position:relative}.lg-outer .lg-empty-html.lg-sub-html,.lg-outer .lg-empty-html .lg-sub-html{display:none}.lg-outer.lg-hide-download .lg-download{opacity:.75;pointer-events:none}.lg-outer .lg-first-slide .lg-dummy-img{position:absolute;top:50%;left:50%}.lg-outer.lg-components-open:not(.lg-zoomed) .lg-components{-webkit-transform:translate3d(0,0%,0);transform:translateZ(0);opacity:1}.lg-outer.lg-components-open:not(.lg-zoomed) .lg-sub-html{opacity:1;transition:opacity .2s ease-out .15s}.lg-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1040;background-color:#000;opacity:0;will-change:auto;-webkit-transition:opacity 333ms ease-in 0s;-o-transition:opacity 333ms ease-in 0s;transition:opacity 333ms ease-in 0s}.lg-backdrop.in{opacity:1}.lg-css3.lg-no-trans .lg-prev-slide,.lg-css3.lg-no-trans .lg-next-slide,.lg-css3.lg-no-trans .lg-current{-webkit-transition:none 0s ease 0s!important;-moz-transition:none 0s ease 0s!important;-o-transition:none 0s ease 0s!important;transition:none 0s ease 0s!important}.lg-css3.lg-use-css3 .lg-item{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-css3.lg-fade .lg-item{opacity:0}.lg-css3.lg-fade .lg-item.lg-current{opacity:1}.lg-css3.lg-fade .lg-item.lg-prev-slide,.lg-css3.lg-fade .lg-item.lg-next-slide,.lg-css3.lg-fade .lg-item.lg-current{-webkit-transition:opacity .1s ease 0s;-moz-transition:opacity .1s ease 0s;-o-transition:opacity .1s ease 0s;transition:opacity .1s ease 0s}.lg-css3.lg-use-css3 .lg-item.lg-start-progress{-webkit-transition:-webkit-transform 1s cubic-bezier(.175,.885,.32,1.275) 0s;-moz-transition:-moz-transform 1s cubic-bezier(.175,.885,.32,1.275) 0s;-o-transition:-o-transform 1s cubic-bezier(.175,.885,.32,1.275) 0s;transition:transform 1s cubic-bezier(.175,.885,.32,1.275) 0s}.lg-css3.lg-use-css3 .lg-item.lg-start-end-progress{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s}.lg-css3.lg-slide.lg-use-css3 .lg-item{opacity:0}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);opacity:1}.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-prev-slide,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-next-slide,.lg-css3.lg-slide.lg-use-css3 .lg-item.lg-current{-webkit-transition:-webkit-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-moz-transition:-moz-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;-o-transition:-o-transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s;transition:transform 1s cubic-bezier(0,0,.25,1) 0s,opacity .1s ease 0s}.lg-container{display:none}.lg-container.lg-show{display:block}.lg-container.lg-dragging-vertical .lg-backdrop{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-container.lg-dragging-vertical .lg-css3 .lg-item.lg-current{-webkit-transition-duration:0s!important;transition-duration:0s!important;opacity:1}.lg-inline .lg-backdrop,.lg-inline .lg-outer{position:absolute}.lg-inline .lg-backdrop{z-index:1}.lg-inline .lg-outer{z-index:2}.lg-inline .lg-maximize:after{content:\"\\e909\"}.lg-components{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);will-change:transform;-webkit-transition:-webkit-transform .35s ease-out 0s;-moz-transition:-moz-transform .35s ease-out 0s;-o-transition:-o-transform .35s ease-out 0s;transition:transform .35s ease-out 0s;z-index:1080;position:absolute;bottom:0;right:0;left:0}.lg-outer .lg-thumb-outer{background-color:#0d0a0a;width:100%;max-height:350px;overflow:hidden;float:left}.lg-outer .lg-thumb-outer.lg-grab .lg-thumb-item{cursor:-webkit-grab;cursor:-moz-grab;cursor:-o-grab;cursor:-ms-grab;cursor:grab}.lg-outer .lg-thumb-outer.lg-grabbing .lg-thumb-item{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:-o-grabbing;cursor:-ms-grabbing;cursor:grabbing}.lg-outer .lg-thumb-outer.lg-dragging .lg-thumb,.lg-outer .lg-thumb-outer.lg-rebuilding-thumbnails .lg-thumb{-webkit-transition-duration:0s!important;transition-duration:0s!important}.lg-outer .lg-thumb-outer.lg-thumb-align-middle{text-align:center}.lg-outer .lg-thumb-outer.lg-thumb-align-left{text-align:left}.lg-outer .lg-thumb-outer.lg-thumb-align-right{text-align:right}.lg-outer.lg-single-item .lg-thumb-outer{display:none}.lg-outer .lg-thumb{padding:5px 0;height:100%;margin-bottom:-5px;display:inline-block;vertical-align:middle}@media (min-width: 768px){.lg-outer .lg-thumb{padding:10px 0}}.lg-outer .lg-thumb-item{cursor:pointer;float:left;overflow:hidden;height:100%;border-radius:2px;margin-bottom:5px;will-change:border-color}@media (min-width: 768px){.lg-outer .lg-thumb-item{border-radius:4px;border:2px solid #fff;-webkit-transition:border-color .25s ease;-o-transition:border-color .25s ease;transition:border-color .25s ease}}.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover{border-color:#a90707}.lg-outer .lg-thumb-item img{width:100%;height:100%;object-fit:cover;display:block}.lg-outer.lg-can-toggle .lg-item{padding-bottom:0}.lg-outer .lg-toggle-thumb:after{content:\"\\e1ff\"}.lg-outer.lg-animate-thumb .lg-thumb{-webkit-transition-timing-function:cubic-bezier(.215,.61,.355,1);transition-timing-function:cubic-bezier(.215,.61,.355,1)}.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-img-wrap,.lg-outer.lg-css3.lg-zoom-dragging .lg-item.lg-complete.lg-zoomable .lg-image{-webkit-transition-duration:0ms!important;transition-duration:0ms!important}.lg-outer.lg-use-transition-for-zoom .lg-item.lg-complete.lg-zoomable .lg-img-wrap{will-change:transform;-webkit-transition:-webkit-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s;-moz-transition:-moz-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s;-o-transition:-o-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s;transition:transform .5s cubic-bezier(.12,.415,.01,1.19) 0s}.lg-outer.lg-use-transition-for-zoom.lg-zoom-drag-transition .lg-item.lg-complete.lg-zoomable .lg-img-wrap{will-change:transform;-webkit-transition:-webkit-transform .8s cubic-bezier(0,0,.25,1) 0s;-moz-transition:-moz-transform .8s cubic-bezier(0,0,.25,1) 0s;-o-transition:-o-transform .8s cubic-bezier(0,0,.25,1) 0s;transition:transform .8s cubic-bezier(0,0,.25,1) 0s}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-img-wrap{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img{-webkit-transform:scale3d(1,1,1);transform:scaleZ(1);-webkit-transition:-webkit-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s,opacity .15s!important;-moz-transition:-moz-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s,opacity .15s!important;-o-transition:-o-transform .5s cubic-bezier(.12,.415,.01,1.19) 0s,opacity .15s!important;transition:transform .5s cubic-bezier(.12,.415,.01,1.19) 0s,opacity .15s!important;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.no-transition,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.no-transition{transition:none!important}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition{transform:scaleZ(1) translate3d(-50%,-50%,0)!important;max-width:none!important;max-height:none!important;top:50%!important;left:50%!important}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-x,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-x{transform:scaleZ(1) translate3d(-50%,0,0)!important;top:0!important;left:50%!important;max-width:none!important;max-height:none!important}.lg-outer .lg-item.lg-complete.lg-zoomable .lg-image.reset-transition-y,.lg-outer .lg-item.lg-complete.lg-zoomable .lg-dummy-img.reset-transition-y{transform:scaleZ(1) translate3d(0,-50%,0)!important;top:50%!important;left:0%!important;max-width:none!important;max-height:none!important}.lg-icon.lg-zoom-in:after{content:\"\\e311\"}.lg-actual-size .lg-icon.lg-zoom-in{opacity:.5;pointer-events:none}.lg-icon.lg-actual-size{font-size:20px}.lg-icon.lg-actual-size:after{content:\"\\e033\"}.lg-icon.lg-zoom-out{opacity:.5;pointer-events:none}.lg-icon.lg-zoom-out:after{content:\"\\e312\"}.lg-zoomed .lg-icon.lg-zoom-out{opacity:1;pointer-events:auto}.lg-outer[data-lg-slide-type=video] .lg-zoom-in,.lg-outer[data-lg-slide-type=video] .lg-actual-size,.lg-outer[data-lg-slide-type=video] .lg-zoom-out,.lg-outer[data-lg-slide-type=iframe] .lg-zoom-in,.lg-outer[data-lg-slide-type=iframe] .lg-actual-size,.lg-outer[data-lg-slide-type=iframe] .lg-zoom-out,.lg-outer.lg-first-slide-loading .lg-zoom-in,.lg-outer.lg-first-slide-loading .lg-actual-size,.lg-outer.lg-first-slide-loading .lg-zoom-out{opacity:.75;pointer-events:none}#lg-outer-1,.lg-backdrop{max-height:640px}.gallery-item{width:200px;padding:5px}.gallery-container{width:500px;height:500px;margin:0 auto}.hide-img{max-width:0px;max-height:0px}#lightgallery{min-height:640px}.lg-backdrop{background-color:var(--background-color)}.lg-next,.lg-prev{background-color:var(--secondary-background-color);color:var(--text-color)}.lg-toolbar .lg-icon{color:var(--text-color)}.lg-toolbar .lg-icon:hover{color:var(--primary-color)}.lg-next:hover:not(.disabled),.lg-prev:hover:not(.disabled){color:var(--primary-color)}.lg-outer .lg-thumb-outer{background-color:var(--secondary-background-color)}.lg-sub-html{color:var(--text-color)}.lg-outer .lg-thumb-item.active,.lg-outer .lg-thumb-item:hover{border:2px solid var(--primary-color)}.err__title[data-v-4d5bb78e],.err__msg[data-v-4d5bb78e]{margin:0}\n"
  },
  {
    "path": "frontend/dists/sd-gallery/dist/assets/index.aeaed602.js",
    "content": "const zm=function(){const t=document.createElement(\"link\").relList;if(t&&t.supports&&t.supports(\"modulepreload\"))return;for(const i of document.querySelectorAll('link[rel=\"modulepreload\"]'))r(i);new MutationObserver(i=>{for(const o of i)if(o.type===\"childList\")for(const s of o.addedNodes)s.tagName===\"LINK\"&&s.rel===\"modulepreload\"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerpolicy&&(o.referrerPolicy=i.referrerpolicy),i.crossorigin===\"use-credentials\"?o.credentials=\"include\":i.crossorigin===\"anonymous\"?o.credentials=\"omit\":o.credentials=\"same-origin\",o}function r(i){if(i.ep)return;i.ep=!0;const o=n(i);fetch(i.href,o)}};zm();function fr(e,t){const n=Object.create(null),r=e.split(\",\");for(let i=0;i<r.length;i++)n[r[i]]=!0;return t?i=>!!n[i.toLowerCase()]:i=>!!n[i]}const km=\"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt\",Hm=fr(km),Wm=\"itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly\",Ym=fr(Wm);function Dd(e){return!!e||e===\"\"}function no(e){if(vt(e)){const t={};for(let n=0;n<e.length;n++){const r=e[n],i=xe(r)?Xm(r):no(r);if(i)for(const o in i)t[o]=i[o]}return t}else{if(xe(e))return e;if(re(e))return e}}const Gm=/;(?![^(]*\\))/g,Km=/:(.+)/;function Xm(e){const t={};return e.split(Gm).forEach(n=>{if(n){const r=n.split(Km);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}function ro(e){let t=\"\";if(xe(e))t=e;else if(vt(e))for(let n=0;n<e.length;n++){const r=ro(e[n]);r&&(t+=r+\" \")}else if(re(e))for(const n in e)e[n]&&(t+=n+\" \");return t.trim()}function Jm(e){if(!e)return null;let{class:t,style:n}=e;return t&&!xe(t)&&(e.class=ro(t)),n&&(e.style=no(n)),e}const Zm=\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\",Qm=\"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\",qm=fr(Zm),ty=fr(Qm);function ey(e,t){if(e.length!==t.length)return!1;let n=!0;for(let r=0;n&&r<e.length;r++)n=Pr(e[r],t[r]);return n}function Pr(e,t){if(e===t)return!0;let n=lf(e),r=lf(t);if(n||r)return n&&r?e.getTime()===t.getTime():!1;if(n=Ns(e),r=Ns(t),n||r)return e===t;if(n=vt(e),r=vt(t),n||r)return n&&r?ey(e,t):!1;if(n=re(e),r=re(t),n||r){if(!n||!r)return!1;const i=Object.keys(e).length,o=Object.keys(t).length;if(i!==o)return!1;for(const s in e){const a=e.hasOwnProperty(s),l=t.hasOwnProperty(s);if(a&&!l||!a&&l||!Pr(e[s],t[s]))return!1}}return String(e)===String(t)}function Ea(e,t){return e.findIndex(n=>Pr(n,t))}const Rd=e=>xe(e)?e:e==null?\"\":vt(e)||re(e)&&(e.toString===Ld||!At(e.toString))?JSON.stringify(e,Md,2):String(e),Md=(e,t)=>t&&t.__v_isRef?Md(e,t.value):ri(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[r,i])=>(n[`${r} =>`]=i,n),{})}:yi(t)?{[`Set(${t.size})`]:[...t.values()]}:re(t)&&!vt(t)&&!_d(t)?String(t):t,ee=Object.freeze({}),Mi=Object.freeze([]),qe=()=>{},Pd=()=>!1,ny=/^on[^a-z]/,ss=e=>ny.test(e),Jo=e=>e.startsWith(\"onUpdate:\"),ve=Object.assign,Tc=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},ry=Object.prototype.hasOwnProperty,Xt=(e,t)=>ry.call(e,t),vt=Array.isArray,ri=e=>io(e)===\"[object Map]\",yi=e=>io(e)===\"[object Set]\",lf=e=>io(e)===\"[object Date]\",At=e=>typeof e==\"function\",xe=e=>typeof e==\"string\",Ns=e=>typeof e==\"symbol\",re=e=>e!==null&&typeof e==\"object\",Ca=e=>re(e)&&At(e.then)&&At(e.catch),Ld=Object.prototype.toString,io=e=>Ld.call(e),xc=e=>io(e).slice(8,-1),_d=e=>io(e)===\"[object Object]\",Oc=e=>xe(e)&&e!==\"NaN\"&&e[0]!==\"-\"&&\"\"+parseInt(e,10)===e,Ss=fr(\",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"),iy=fr(\"bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo\"),Ba=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},sy=/-(\\w)/g,gn=Ba(e=>e.replace(sy,(t,n)=>n?n.toUpperCase():\"\")),oy=/\\B([A-Z])/g,In=Ba(e=>e.replace(oy,\"-$1\").toLowerCase()),Lr=Ba(e=>e.charAt(0).toUpperCase()+e.slice(1)),rr=Ba(e=>e?`on${Lr(e)}`:\"\"),ki=(e,t)=>!Object.is(e,t),xr=(e,t)=>{for(let n=0;n<e.length;n++)e[n](t)},Zo=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},_r=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let cf;const Nd=()=>cf||(cf=typeof globalThis!=\"undefined\"?globalThis:typeof self!=\"undefined\"?self:typeof window!=\"undefined\"?window:typeof global!=\"undefined\"?global:{});function Qo(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let un;class Ac{constructor(t=!1){this.active=!0,this.effects=[],this.cleanups=[],!t&&un&&(this.parent=un,this.index=(un.scopes||(un.scopes=[])).push(this)-1)}run(t){if(this.active){const n=un;try{return un=this,t()}finally{un=n}}else Qo(\"cannot run an inactive effect scope.\")}on(){un=this}off(){un=this.parent}stop(t){if(this.active){let n,r;for(n=0,r=this.effects.length;n<r;n++)this.effects[n].stop();for(n=0,r=this.cleanups.length;n<r;n++)this.cleanups[n]();if(this.scopes)for(n=0,r=this.scopes.length;n<r;n++)this.scopes[n].stop(!0);if(this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.active=!1}}}function ay(e){return new Ac(e)}function Ud(e,t=un){t&&t.active&&t.effects.push(e)}function ly(){return un}function cy(e){un?un.cleanups.push(e):Qo(\"onScopeDispose() is called when there is no active effect scope to be associated with.\")}const Ec=e=>{const t=new Set(e);return t.w=0,t.n=0,t},jd=e=>(e.w&Nr)>0,$d=e=>(e.n&Nr)>0,uy=({deps:e})=>{if(e.length)for(let t=0;t<e.length;t++)e[t].w|=Nr},fy=e=>{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r<t.length;r++){const i=t[r];jd(i)&&!$d(i)?i.delete(e):t[n++]=i,i.w&=~Nr,i.n&=~Nr}t.length=n}},Vl=new WeakMap;let vs=0,Nr=1;const zl=30;let Xe;const ii=Symbol(\"iterate\"),kl=Symbol(\"Map key iterate\");class so{constructor(t,n=null,r){this.fn=t,this.scheduler=n,this.active=!0,this.deps=[],this.parent=void 0,Ud(this,r)}run(){if(!this.active)return this.fn();let t=Xe,n=Cr;for(;t;){if(t===this)return;t=t.parent}try{return this.parent=Xe,Xe=this,Cr=!0,Nr=1<<++vs,vs<=zl?uy(this):uf(this),this.fn()}finally{vs<=zl&&fy(this),Nr=1<<--vs,Xe=this.parent,Cr=n,this.parent=void 0,this.deferStop&&this.stop()}}stop(){Xe===this?this.deferStop=!0:this.active&&(uf(this),this.onStop&&this.onStop(),this.active=!1)}}function uf(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}function dy(e,t){e.effect&&(e=e.effect.fn);const n=new so(e);t&&(ve(n,t),t.scope&&Ud(n,t.scope)),(!t||!t.lazy)&&n.run();const r=n.run.bind(n);return r.effect=n,r}function hy(e){e.effect.stop()}let Cr=!0;const Vd=[];function vi(){Vd.push(Cr),Cr=!1}function bi(){const e=Vd.pop();Cr=e===void 0?!0:e}function mn(e,t,n){if(Cr&&Xe){let r=Vl.get(e);r||Vl.set(e,r=new Map);let i=r.get(n);i||r.set(n,i=Ec()),zd(i,{effect:Xe,target:e,type:t,key:n})}}function zd(e,t){let n=!1;vs<=zl?$d(e)||(e.n|=Nr,n=!jd(e)):n=!e.has(Xe),n&&(e.add(Xe),Xe.deps.push(e),Xe.onTrack&&Xe.onTrack(Object.assign({effect:Xe},t)))}function ar(e,t,n,r,i,o){const s=Vl.get(e);if(!s)return;let a=[];if(t===\"clear\")a=[...s.values()];else if(n===\"length\"&&vt(e))s.forEach((c,f)=>{(f===\"length\"||f>=r)&&a.push(c)});else switch(n!==void 0&&a.push(s.get(n)),t){case\"add\":vt(e)?Oc(n)&&a.push(s.get(\"length\")):(a.push(s.get(ii)),ri(e)&&a.push(s.get(kl)));break;case\"delete\":vt(e)||(a.push(s.get(ii)),ri(e)&&a.push(s.get(kl)));break;case\"set\":ri(e)&&a.push(s.get(ii));break}const l={target:e,type:t,key:n,newValue:r,oldValue:i,oldTarget:o};if(a.length===1)a[0]&&Hl(a[0],l);else{const c=[];for(const f of a)f&&c.push(...f);Hl(Ec(c),l)}}function Hl(e,t){const n=vt(e)?e:[...e];for(const r of n)r.computed&&ff(r,t);for(const r of n)r.computed||ff(r,t)}function ff(e,t){(e!==Xe||e.allowRecurse)&&(e.onTrigger&&e.onTrigger(ve({effect:e},t)),e.scheduler?e.scheduler():e.run())}const py=fr(\"__proto__,__v_isRef,__isVue\"),kd=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==\"arguments\"&&e!==\"caller\").map(e=>Symbol[e]).filter(Ns)),gy=Fa(),my=Fa(!1,!0),yy=Fa(!0),vy=Fa(!0,!0),df=by();function by(){const e={};return[\"includes\",\"indexOf\",\"lastIndexOf\"].forEach(t=>{e[t]=function(...n){const r=$t(this);for(let o=0,s=this.length;o<s;o++)mn(r,\"get\",o+\"\");const i=r[t](...n);return i===-1||i===!1?r[t](...n.map($t)):i}}),[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\"].forEach(t=>{e[t]=function(...n){vi();const r=$t(this)[t].apply(this,n);return bi(),r}}),e}function Fa(e=!1,t=!1){return function(r,i,o){if(i===\"__v_isReactive\")return!e;if(i===\"__v_isReadonly\")return e;if(i===\"__v_isShallow\")return t;if(i===\"__v_raw\"&&o===(e?t?Zd:Jd:t?Xd:Kd).get(r))return r;const s=vt(r);if(!e&&s&&Xt(df,i))return Reflect.get(df,i,o);const a=Reflect.get(r,i,o);return(Ns(i)?kd.has(i):py(i))||(e||mn(r,\"get\",i),t)?a:Pe(a)?s&&Oc(i)?a:a.value:re(a)?e?Bc(a):Ma(a):a}}const wy=Hd(),Sy=Hd(!0);function Hd(e=!1){return function(n,r,i,o){let s=n[r];if(lr(s)&&Pe(s)&&!Pe(i))return!1;if(!e&&(!Us(i)&&!lr(i)&&(s=$t(s),i=$t(i)),!vt(n)&&Pe(s)&&!Pe(i)))return s.value=i,!0;const a=vt(n)&&Oc(r)?Number(r)<n.length:Xt(n,r),l=Reflect.set(n,r,i,o);return n===$t(o)&&(a?ki(i,s)&&ar(n,\"set\",r,i,s):ar(n,\"add\",r,i)),l}}function Iy(e,t){const n=Xt(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&ar(e,\"delete\",t,void 0,r),i}function Ty(e,t){const n=Reflect.has(e,t);return(!Ns(t)||!kd.has(t))&&mn(e,\"has\",t),n}function xy(e){return mn(e,\"iterate\",vt(e)?\"length\":ii),Reflect.ownKeys(e)}const Wd={get:gy,set:wy,deleteProperty:Iy,has:Ty,ownKeys:xy},Yd={get:yy,set(e,t){return Qo(`Set operation on key \"${String(t)}\" failed: target is readonly.`,e),!0},deleteProperty(e,t){return Qo(`Delete operation on key \"${String(t)}\" failed: target is readonly.`,e),!0}},Oy=ve({},Wd,{get:my,set:Sy}),Ay=ve({},Yd,{get:vy}),Cc=e=>e,Da=e=>Reflect.getPrototypeOf(e);function Eo(e,t,n=!1,r=!1){e=e.__v_raw;const i=$t(e),o=$t(t);n||(t!==o&&mn(i,\"get\",t),mn(i,\"get\",o));const{has:s}=Da(i),a=r?Cc:n?Dc:$s;if(s.call(i,t))return a(e.get(t));if(s.call(i,o))return a(e.get(o));e!==i&&e.get(t)}function Co(e,t=!1){const n=this.__v_raw,r=$t(n),i=$t(e);return t||(e!==i&&mn(r,\"has\",e),mn(r,\"has\",i)),e===i?n.has(e):n.has(e)||n.has(i)}function Bo(e,t=!1){return e=e.__v_raw,!t&&mn($t(e),\"iterate\",ii),Reflect.get(e,\"size\",e)}function hf(e){e=$t(e);const t=$t(this);return Da(t).has.call(t,e)||(t.add(e),ar(t,\"add\",e,e)),this}function pf(e,t){t=$t(t);const n=$t(this),{has:r,get:i}=Da(n);let o=r.call(n,e);o?Gd(n,r,e):(e=$t(e),o=r.call(n,e));const s=i.call(n,e);return n.set(e,t),o?ki(t,s)&&ar(n,\"set\",e,t,s):ar(n,\"add\",e,t),this}function gf(e){const t=$t(this),{has:n,get:r}=Da(t);let i=n.call(t,e);i?Gd(t,n,e):(e=$t(e),i=n.call(t,e));const o=r?r.call(t,e):void 0,s=t.delete(e);return i&&ar(t,\"delete\",e,void 0,o),s}function mf(){const e=$t(this),t=e.size!==0,n=ri(e)?new Map(e):new Set(e),r=e.clear();return t&&ar(e,\"clear\",void 0,void 0,n),r}function Fo(e,t){return function(r,i){const o=this,s=o.__v_raw,a=$t(s),l=t?Cc:e?Dc:$s;return!e&&mn(a,\"iterate\",ii),s.forEach((c,f)=>r.call(i,l(c),l(f),o))}}function Do(e,t,n){return function(...r){const i=this.__v_raw,o=$t(i),s=ri(o),a=e===\"entries\"||e===Symbol.iterator&&s,l=e===\"keys\"&&s,c=i[e](...r),f=n?Cc:t?Dc:$s;return!t&&mn(o,\"iterate\",l?kl:ii),{next(){const{value:d,done:h}=c.next();return h?{value:d,done:h}:{value:a?[f(d[0]),f(d[1])]:f(d),done:h}},[Symbol.iterator](){return this}}}}function mr(e){return function(...t){{const n=t[0]?`on key \"${t[0]}\" `:\"\";console.warn(`${Lr(e)} operation ${n}failed: target is readonly.`,$t(this))}return e===\"delete\"?!1:this}}function Ey(){const e={get(o){return Eo(this,o)},get size(){return Bo(this)},has:Co,add:hf,set:pf,delete:gf,clear:mf,forEach:Fo(!1,!1)},t={get(o){return Eo(this,o,!1,!0)},get size(){return Bo(this)},has:Co,add:hf,set:pf,delete:gf,clear:mf,forEach:Fo(!1,!0)},n={get(o){return Eo(this,o,!0)},get size(){return Bo(this,!0)},has(o){return Co.call(this,o,!0)},add:mr(\"add\"),set:mr(\"set\"),delete:mr(\"delete\"),clear:mr(\"clear\"),forEach:Fo(!0,!1)},r={get(o){return Eo(this,o,!0,!0)},get size(){return Bo(this,!0)},has(o){return Co.call(this,o,!0)},add:mr(\"add\"),set:mr(\"set\"),delete:mr(\"delete\"),clear:mr(\"clear\"),forEach:Fo(!0,!0)};return[\"keys\",\"values\",\"entries\",Symbol.iterator].forEach(o=>{e[o]=Do(o,!1,!1),n[o]=Do(o,!0,!1),t[o]=Do(o,!1,!0),r[o]=Do(o,!0,!0)}),[e,n,t,r]}const[Cy,By,Fy,Dy]=Ey();function Ra(e,t){const n=t?e?Dy:Fy:e?By:Cy;return(r,i,o)=>i===\"__v_isReactive\"?!e:i===\"__v_isReadonly\"?e:i===\"__v_raw\"?r:Reflect.get(Xt(n,i)&&i in r?n:r,i,o)}const Ry={get:Ra(!1,!1)},My={get:Ra(!1,!0)},Py={get:Ra(!0,!1)},Ly={get:Ra(!0,!0)};function Gd(e,t,n){const r=$t(n);if(r!==n&&t.call(e,r)){const i=xc(e);console.warn(`Reactive ${i} contains both the raw and reactive versions of the same object${i===\"Map\"?\" as keys\":\"\"}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const Kd=new WeakMap,Xd=new WeakMap,Jd=new WeakMap,Zd=new WeakMap;function _y(e){switch(e){case\"Object\":case\"Array\":return 1;case\"Map\":case\"Set\":case\"WeakMap\":case\"WeakSet\":return 2;default:return 0}}function Ny(e){return e.__v_skip||!Object.isExtensible(e)?0:_y(xc(e))}function Ma(e){return lr(e)?e:Pa(e,!1,Wd,Ry,Kd)}function Qd(e){return Pa(e,!1,Oy,My,Xd)}function Bc(e){return Pa(e,!0,Yd,Py,Jd)}function ti(e){return Pa(e,!0,Ay,Ly,Zd)}function Pa(e,t,n,r,i){if(!re(e))return console.warn(`value cannot be made reactive: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=i.get(e);if(o)return o;const s=Ny(e);if(s===0)return e;const a=new Proxy(e,s===2?r:n);return i.set(e,a),a}function Br(e){return lr(e)?Br(e.__v_raw):!!(e&&e.__v_isReactive)}function lr(e){return!!(e&&e.__v_isReadonly)}function Us(e){return!!(e&&e.__v_isShallow)}function js(e){return Br(e)||lr(e)}function $t(e){const t=e&&e.__v_raw;return t?$t(t):e}function Fc(e){return Zo(e,\"__v_skip\",!0),e}const $s=e=>re(e)?Ma(e):e,Dc=e=>re(e)?Bc(e):e;function Rc(e){Cr&&Xe&&(e=$t(e),zd(e.dep||(e.dep=Ec()),{target:e,type:\"get\",key:\"value\"}))}function La(e,t){e=$t(e),e.dep&&Hl(e.dep,{target:e,type:\"set\",key:\"value\",newValue:t})}function Pe(e){return!!(e&&e.__v_isRef===!0)}function Pi(e){return qd(e,!1)}function Uy(e){return qd(e,!0)}function qd(e,t){return Pe(e)?e:new jy(e,t)}class jy{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:$t(t),this._value=n?t:$s(t)}get value(){return Rc(this),this._value}set value(t){const n=this.__v_isShallow||Us(t)||lr(t);t=n?t:$t(t),ki(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:$s(t),La(this,t))}}function $y(e){La(e,e.value)}function Mc(e){return Pe(e)?e.value:e}const Vy={get:(e,t,n)=>Mc(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const i=e[t];return Pe(i)&&!Pe(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function Pc(e){return Br(e)?e:new Proxy(e,Vy)}class zy{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:r}=t(()=>Rc(this),()=>La(this));this._get=n,this._set=r}get value(){return this._get()}set value(t){this._set(t)}}function ky(e){return new zy(e)}function Hy(e){js(e)||console.warn(\"toRefs() expects a reactive object but received a plain one.\");const t=vt(e)?new Array(e.length):{};for(const n in e)t[n]=th(e,n);return t}class Wy{constructor(t,n,r){this._object=t,this._key=n,this._defaultValue=r,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}}function th(e,t,n){const r=e[t];return Pe(r)?r:new Wy(e,t,n)}var eh;class Yy{constructor(t,n,r,i){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this[eh]=!1,this._dirty=!0,this.effect=new so(t,()=>{this._dirty||(this._dirty=!0,La(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!i,this.__v_isReadonly=r}get value(){const t=$t(this);return Rc(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}eh=\"__v_isReadonly\";function Gy(e,t,n=!1){let r,i;const o=At(e);o?(r=e,i=()=>{console.warn(\"Write operation failed: computed value is readonly\")}):(r=e.get,i=e.set);const s=new Yy(r,i,o||!i,n);return t&&!n&&(s.effect.onTrack=t.onTrack,s.effect.onTrigger=t.onTrigger),s}const si=[];function Is(e){si.push(e)}function Ts(){si.pop()}function G(e,...t){vi();const n=si.length?si[si.length-1].component:null,r=n&&n.appContext.config.warnHandler,i=Ky();if(r)Yn(r,n,11,[e+t.join(\"\"),n&&n.proxy,i.map(({vnode:o})=>`at <${Wa(n,o.type)}>`).join(`\n`),i]);else{const o=[`[Vue warn]: ${e}`,...t];i.length&&o.push(`\n`,...Xy(i)),console.warn(...o)}bi()}function Ky(){let e=si[si.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const r=e.component&&e.component.parent;e=r&&r.vnode}return t}function Xy(e){const t=[];return e.forEach((n,r)=>{t.push(...r===0?[]:[`\n`],...Jy(n))}),t}function Jy({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:\"\",r=e.component?e.component.parent==null:!1,i=` at <${Wa(e.component,e.type,r)}`,o=\">\"+n;return e.props?[i,...Zy(e.props),o]:[i+o]}function Zy(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(r=>{t.push(...nh(r,e[r]))}),n.length>3&&t.push(\" ...\"),t}function nh(e,t,n){return xe(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t==\"number\"||typeof t==\"boolean\"||t==null?n?t:[`${e}=${t}`]:Pe(t)?(t=nh(e,$t(t.value),!0),n?t:[`${e}=Ref<`,t,\">\"]):At(t)?[`${e}=fn${t.name?`<${t.name}>`:\"\"}`]:(t=$t(t),n?t:[`${e}=`,t])}const Lc={sp:\"serverPrefetch hook\",bc:\"beforeCreate hook\",c:\"created hook\",bm:\"beforeMount hook\",m:\"mounted hook\",bu:\"beforeUpdate hook\",u:\"updated\",bum:\"beforeUnmount hook\",um:\"unmounted hook\",a:\"activated hook\",da:\"deactivated hook\",ec:\"errorCaptured hook\",rtc:\"renderTracked hook\",rtg:\"renderTriggered hook\",[0]:\"setup function\",[1]:\"render function\",[2]:\"watcher getter\",[3]:\"watcher callback\",[4]:\"watcher cleanup function\",[5]:\"native event handler\",[6]:\"component event handler\",[7]:\"vnode hook\",[8]:\"directive hook\",[9]:\"transition hook\",[10]:\"app errorHandler\",[11]:\"app warnHandler\",[12]:\"ref function\",[13]:\"async component loader\",[14]:\"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://new-issue.vuejs.org/?repo=vuejs/core\"};function Yn(e,t,n,r){let i;try{i=r?e(...r):e()}catch(o){wi(o,t,n)}return i}function hn(e,t,n,r){if(At(e)){const o=Yn(e,t,n,r);return o&&Ca(o)&&o.catch(s=>{wi(s,t,n)}),o}const i=[];for(let o=0;o<e.length;o++)i.push(hn(e[o],t,n,r));return i}function wi(e,t,n,r=!0){const i=t?t.vnode:null;if(t){let o=t.parent;const s=t.proxy,a=Lc[n];for(;o;){const c=o.ec;if(c){for(let f=0;f<c.length;f++)if(c[f](e,s,a)===!1)return}o=o.parent}const l=t.appContext.config.errorHandler;if(l){Yn(l,null,10,[e,s,a]);return}}Qy(e,n,i,r)}function Qy(e,t,n,r=!0){{const i=Lc[t];if(n&&Is(n),G(`Unhandled error${i?` during execution of ${i}`:\"\"}`),n&&Ts(),r)throw e;console.error(e)}}let qo=!1,Wl=!1;const We=[];let kn=0;const Li=[];let Vn=null,Ir=0;const rh=Promise.resolve();let _c=null;const qy=100;function Nc(e){const t=_c||rh;return e?t.then(this?e.bind(this):e):t}function tv(e){let t=kn+1,n=We.length;for(;t<n;){const r=t+n>>>1;Vs(We[r])<e?t=r+1:n=r}return t}function oo(e){(!We.length||!We.includes(e,qo&&e.allowRecurse?kn+1:kn))&&(e.id==null?We.push(e):We.splice(tv(e.id),0,e),ih())}function ih(){!qo&&!Wl&&(Wl=!0,_c=rh.then(sh))}function ev(e){const t=We.indexOf(e);t>kn&&We.splice(t,1)}function _a(e){vt(e)?Li.push(...e):(!Vn||!Vn.includes(e,e.allowRecurse?Ir+1:Ir))&&Li.push(e),ih()}function yf(e,t=kn){for(e=e||new Map;t<We.length;t++){const n=We[t];if(n&&n.pre){if(Uc(e,n))continue;We.splice(t,1),t--,n()}}}function ta(e){if(Li.length){const t=[...new Set(Li)];if(Li.length=0,Vn){Vn.push(...t);return}for(Vn=t,e=e||new Map,Vn.sort((n,r)=>Vs(n)-Vs(r)),Ir=0;Ir<Vn.length;Ir++)Uc(e,Vn[Ir])||Vn[Ir]();Vn=null,Ir=0}}const Vs=e=>e.id==null?1/0:e.id,nv=(e,t)=>{const n=Vs(e)-Vs(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function sh(e){Wl=!1,qo=!0,e=e||new Map,We.sort(nv);const t=n=>Uc(e,n);try{for(kn=0;kn<We.length;kn++){const n=We[kn];if(n&&n.active!==!1){if(t(n))continue;Yn(n,null,14)}}}finally{kn=0,We.length=0,ta(e),qo=!1,_c=null,(We.length||Li.length)&&sh(e)}}function Uc(e,t){if(!e.has(t))e.set(t,1);else{const n=e.get(t);if(n>qy){const r=t.ownerInstance,i=r&&Hs(r.type);return G(`Maximum recursive updates exceeded${i?` in component <${i}>`:\"\"}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`),!0}else e.set(t,n+1)}}let Fr=!1;const Bi=new Set;Nd().__VUE_HMR_RUNTIME__={createRecord:bl(oh),rerender:bl(sv),reload:bl(ov)};const li=new Map;function rv(e){const t=e.type.__hmrId;let n=li.get(t);n||(oh(t,e.type),n=li.get(t)),n.instances.add(e)}function iv(e){li.get(e.type.__hmrId).instances.delete(e)}function oh(e,t){return li.has(e)?!1:(li.set(e,{initialDef:xs(t),instances:new Set}),!0)}function xs(e){return tp(e)?e.__vccOpts:e}function sv(e,t){const n=li.get(e);!n||(n.initialDef.render=t,[...n.instances].forEach(r=>{t&&(r.render=t,xs(r.type).render=t),r.renderCache=[],Fr=!0,r.update(),Fr=!1}))}function ov(e,t){const n=li.get(e);if(!n)return;t=xs(t),vf(n.initialDef,t);const r=[...n.instances];for(const i of r){const o=xs(i.type);Bi.has(o)||(o!==n.initialDef&&vf(o,t),Bi.add(o)),i.appContext.optionsCache.delete(i.type),i.ceReload?(Bi.add(o),i.ceReload(t.styles),Bi.delete(o)):i.parent?(oo(i.parent.update),i.parent.type.__asyncLoader&&i.parent.ceReload&&i.parent.ceReload(t.styles)):i.appContext.reload?i.appContext.reload():typeof window!=\"undefined\"?window.location.reload():console.warn(\"[HMR] Root or manually mounted instance modified. Full reload required.\")}_a(()=>{for(const i of r)Bi.delete(xs(i.type))})}function vf(e,t){ve(e,t);for(const n in e)n!==\"__file\"&&!(n in t)&&delete e[n]}function bl(e){return(t,n)=>{try{return e(t,n)}catch(r){console.error(r),console.warn(\"[HMR] Something went wrong during Vue component hot-reload. Full reload required.\")}}}let Or,bs=[],Yl=!1;function ao(e,...t){Or?Or.emit(e,...t):Yl||bs.push({event:e,args:t})}function jc(e,t){var n,r;Or=e,Or?(Or.enabled=!0,bs.forEach(({event:i,args:o})=>Or.emit(i,...o)),bs=[]):typeof window!=\"undefined\"&&window.HTMLElement&&!(!((r=(n=window.navigator)===null||n===void 0?void 0:n.userAgent)===null||r===void 0)&&r.includes(\"jsdom\"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(o=>{jc(o,t)}),setTimeout(()=>{Or||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Yl=!0,bs=[])},3e3)):(Yl=!0,bs=[])}function av(e,t){ao(\"app:init\",e,t,{Fragment:Re,Text:ui,Comment:De,Static:Dr})}function lv(e){ao(\"app:unmount\",e)}const Gl=$c(\"component:added\"),ah=$c(\"component:updated\"),cv=$c(\"component:removed\");function $c(e){return t=>{ao(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const uv=lh(\"perf:start\"),fv=lh(\"perf:end\");function lh(e){return(t,n,r)=>{ao(e,t.appContext.app,t.uid,t,n,r)}}function dv(e,t,n){ao(\"component:emit\",e.appContext.app,e,t,n)}function hv(e,t,...n){if(e.isUnmounted)return;const r=e.vnode.props||ee;{const{emitsOptions:f,propsOptions:[d]}=e;if(f)if(!(t in f))(!d||!(rr(t)in d))&&G(`Component emitted event \"${t}\" but it is neither declared in the emits option nor as an \"${rr(t)}\" prop.`);else{const h=f[t];At(h)&&(h(...n)||G(`Invalid event arguments: event validation failed for event \"${t}\".`))}}let i=n;const o=t.startsWith(\"update:\"),s=o&&t.slice(7);if(s&&s in r){const f=`${s===\"modelValue\"?\"model\":s}Modifiers`,{number:d,trim:h}=r[f]||ee;h&&(i=n.map(p=>p.trim())),d&&(i=n.map(_r))}dv(e,t,i);{const f=t.toLowerCase();f!==t&&r[rr(f)]&&G(`Event \"${f}\" is emitted in component ${Wa(e,e.type)} but the handler is registered for \"${t}\". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use \"${In(t)}\" instead of \"${t}\".`)}let a,l=r[a=rr(t)]||r[a=rr(gn(t))];!l&&o&&(l=r[a=rr(In(t))]),l&&hn(l,e,6,i);const c=r[a+\"Once\"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,hn(c,e,6,i)}}function ch(e,t,n=!1){const r=t.emitsCache,i=r.get(e);if(i!==void 0)return i;const o=e.emits;let s={},a=!1;if(!At(e)){const l=c=>{const f=ch(c,t,!0);f&&(a=!0,ve(s,f))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!o&&!a?(re(e)&&r.set(e,null),null):(vt(o)?o.forEach(l=>s[l]=null):ve(s,o),re(e)&&r.set(e,s),s)}function Na(e,t){return!e||!ss(t)?!1:(t=t.slice(2).replace(/Once$/,\"\"),Xt(e,t[0].toLowerCase()+t.slice(1))||Xt(e,In(t))||Xt(e,t))}let Ne=null,Ua=null;function zs(e){const t=Ne;return Ne=e,Ua=e&&e.type.__scopeId||null,t}function uh(e){Ua=e}function fh(){Ua=null}const pv=e=>lo;function lo(e,t=Ne,n){if(!t||e._n)return e;const r=(...i)=>{r._d&&nc(-1);const o=zs(t),s=e(...i);return zs(o),r._d&&nc(1),ah(t),s};return r._n=!0,r._c=!0,r._d=!0,r}let Kl=!1;function ea(){Kl=!0}function Vo(e){const{type:t,vnode:n,proxy:r,withProxy:i,props:o,propsOptions:[s],slots:a,attrs:l,emit:c,render:f,renderCache:d,data:h,setupState:p,ctx:b,inheritAttrs:A}=e;let F,O;const m=zs(e);Kl=!1;try{if(n.shapeFlag&4){const N=i||r;F=Qe(f.call(N,N,d,o,p,h,b)),O=l}else{const N=t;l===o&&ea(),F=Qe(N.length>1?N(o,{get attrs(){return ea(),l},slots:a,emit:c}):N(o,null)),O=t.props?l:mv(l)}}catch(N){Bs.length=0,wi(N,e,1),F=me(De)}let I=F,E;if(F.patchFlag>0&&F.patchFlag&2048&&([I,E]=gv(F)),O&&A!==!1){const N=Object.keys(O),{shapeFlag:P}=I;if(N.length){if(P&7)s&&N.some(Jo)&&(O=yv(O,s)),I=xn(I,O);else if(!Kl&&I.type!==De){const R=Object.keys(l),C=[],L=[];for(let U=0,z=R.length;U<z;U++){const V=R[U];ss(V)?Jo(V)||C.push(V[2].toLowerCase()+V.slice(3)):L.push(V)}L.length&&G(`Extraneous non-props attributes (${L.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.`),C.length&&G(`Extraneous non-emits event listeners (${C.join(\", \")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the \"emits\" option.`)}}}return n.dirs&&(bf(I)||G(\"Runtime directive used on component with non-element root node. The directives will not function as intended.\"),I=xn(I),I.dirs=I.dirs?I.dirs.concat(n.dirs):n.dirs),n.transition&&(bf(I)||G(\"Component inside <Transition> renders non-element root node that cannot be animated.\"),I.transition=n.transition),E?E(I):F=I,zs(m),F}const gv=e=>{const t=e.children,n=e.dynamicChildren,r=Vc(t);if(!r)return[e,void 0];const i=t.indexOf(r),o=n?n.indexOf(r):-1,s=a=>{t[i]=a,n&&(o>-1?n[o]=a:a.patchFlag>0&&(e.dynamicChildren=[...n,a]))};return[Qe(r),s]};function Vc(e){let t;for(let n=0;n<e.length;n++){const r=e[n];if(cr(r)){if(r.type!==De||r.children===\"v-if\"){if(t)return;t=r}}else return}return t}const mv=e=>{let t;for(const n in e)(n===\"class\"||n===\"style\"||ss(n))&&((t||(t={}))[n]=e[n]);return t},yv=(e,t)=>{const n={};for(const r in e)(!Jo(r)||!(r.slice(9)in t))&&(n[r]=e[r]);return n},bf=e=>e.shapeFlag&7||e.type===De;function vv(e,t,n){const{props:r,children:i,component:o}=e,{props:s,children:a,patchFlag:l}=t,c=o.emitsOptions;if((i||a)&&Fr||t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return r?wf(r,s,c):!!s;if(l&8){const f=t.dynamicProps;for(let d=0;d<f.length;d++){const h=f[d];if(s[h]!==r[h]&&!Na(c,h))return!0}}}else return(i||a)&&(!a||!a.$stable)?!0:r===s?!1:r?s?wf(r,s,c):!0:!!s;return!1}function wf(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){const o=r[i];if(t[o]!==e[o]&&!Na(n,o))return!0}return!1}function zc({vnode:e,parent:t},n){for(;t&&t.subTree===e;)(e=t.vnode).el=n,t=t.parent}const dh=e=>e.__isSuspense,bv={name:\"Suspense\",__isSuspense:!0,process(e,t,n,r,i,o,s,a,l,c){e==null?Sv(t,n,r,i,o,s,a,l,c):Iv(e,t,n,r,i,s,a,l,c)},hydrate:Tv,create:kc,normalize:xv},wv=bv;function ks(e,t){const n=e.props&&e.props[t];At(n)&&n()}function Sv(e,t,n,r,i,o,s,a,l){const{p:c,o:{createElement:f}}=l,d=f(\"div\"),h=e.suspense=kc(e,i,r,t,d,n,o,s,a,l);c(null,h.pendingBranch=e.ssContent,d,null,r,h,o,s),h.deps>0?(ks(e,\"onPending\"),ks(e,\"onFallback\"),c(null,e.ssFallback,t,n,r,null,o,s),_i(h,e.ssFallback)):h.resolve()}function Iv(e,t,n,r,i,o,s,a,{p:l,um:c,o:{createElement:f}}){const d=t.suspense=e.suspense;d.vnode=t,t.el=e.el;const h=t.ssContent,p=t.ssFallback,{activeBranch:b,pendingBranch:A,isInFallback:F,isHydrating:O}=d;if(A)d.pendingBranch=h,Hn(h,A)?(l(A,h,d.hiddenContainer,null,i,d,o,s,a),d.deps<=0?d.resolve():F&&(l(b,p,n,r,i,null,o,s,a),_i(d,p))):(d.pendingId++,O?(d.isHydrating=!1,d.activeBranch=A):c(A,i,d),d.deps=0,d.effects.length=0,d.hiddenContainer=f(\"div\"),F?(l(null,h,d.hiddenContainer,null,i,d,o,s,a),d.deps<=0?d.resolve():(l(b,p,n,r,i,null,o,s,a),_i(d,p))):b&&Hn(h,b)?(l(b,h,n,r,i,d,o,s,a),d.resolve(!0)):(l(null,h,d.hiddenContainer,null,i,d,o,s,a),d.deps<=0&&d.resolve()));else if(b&&Hn(h,b))l(b,h,n,r,i,d,o,s,a),_i(d,h);else if(ks(t,\"onPending\"),d.pendingBranch=h,d.pendingId++,l(null,h,d.hiddenContainer,null,i,d,o,s,a),d.deps<=0)d.resolve();else{const{timeout:m,pendingId:I}=d;m>0?setTimeout(()=>{d.pendingId===I&&d.fallback(p)},m):m===0&&d.fallback(p)}}let Sf=!1;function kc(e,t,n,r,i,o,s,a,l,c,f=!1){Sf||(Sf=!0,console[console.info?\"info\":\"log\"](\"<Suspense> is an experimental feature and its API will likely change.\"));const{p:d,m:h,um:p,n:b,o:{parentNode:A,remove:F}}=c,O=_r(e.props&&e.props.timeout),m={vnode:e,parent:t,parentComponent:n,isSVG:s,container:r,hiddenContainer:i,anchor:o,deps:0,pendingId:0,timeout:typeof O==\"number\"?O:-1,activeBranch:null,pendingBranch:null,isInFallback:!0,isHydrating:f,isUnmounted:!1,effects:[],resolve(I=!1){{if(!I&&!m.pendingBranch)throw new Error(\"suspense.resolve() is called without a pending branch.\");if(m.isUnmounted)throw new Error(\"suspense.resolve() is called on an already unmounted suspense boundary.\")}const{vnode:E,activeBranch:N,pendingBranch:P,pendingId:R,effects:C,parentComponent:L,container:U}=m;if(m.isHydrating)m.isHydrating=!1;else if(!I){const rt=N&&P.transition&&P.transition.mode===\"out-in\";rt&&(N.transition.afterLeave=()=>{R===m.pendingId&&h(P,U,Q,0)});let{anchor:Q}=m;N&&(Q=b(N),p(N,L,m,!0)),rt||h(P,U,Q,0)}_i(m,P),m.pendingBranch=null,m.isInFallback=!1;let z=m.parent,V=!1;for(;z;){if(z.pendingBranch){z.effects.push(...C),V=!0;break}z=z.parent}V||_a(C),m.effects=[],ks(E,\"onResolve\")},fallback(I){if(!m.pendingBranch)return;const{vnode:E,activeBranch:N,parentComponent:P,container:R,isSVG:C}=m;ks(E,\"onFallback\");const L=b(N),U=()=>{!m.isInFallback||(d(null,I,R,L,P,null,C,a,l),_i(m,I))},z=I.transition&&I.transition.mode===\"out-in\";z&&(N.transition.afterLeave=U),m.isInFallback=!0,p(N,P,null,!0),z||U()},move(I,E,N){m.activeBranch&&h(m.activeBranch,I,E,N),m.container=I},next(){return m.activeBranch&&b(m.activeBranch)},registerDep(I,E){const N=!!m.pendingBranch;N&&m.deps++;const P=I.vnode.el;I.asyncDep.catch(R=>{wi(R,I,0)}).then(R=>{if(I.isUnmounted||m.isUnmounted||m.pendingId!==I.suspenseId)return;I.asyncResolved=!0;const{vnode:C}=I;Is(C),sc(I,R,!1),P&&(C.el=P);const L=!P&&I.subTree.el;E(I,C,A(P||I.subTree.el),P?null:b(I.subTree),m,s,l),L&&F(L),zc(I,C.el),Ts(),N&&--m.deps===0&&m.resolve()})},unmount(I,E){m.isUnmounted=!0,m.activeBranch&&p(m.activeBranch,n,I,E),m.pendingBranch&&p(m.pendingBranch,n,I,E)}};return m}function Tv(e,t,n,r,i,o,s,a,l){const c=t.suspense=kc(t,r,n,e.parentNode,document.createElement(\"div\"),null,i,o,s,a,!0),f=l(e,c.pendingBranch=t.ssContent,n,c,o,s);return c.deps===0&&c.resolve(),f}function xv(e){const{shapeFlag:t,children:n}=e,r=t&32;e.ssContent=If(r?n.default:n),e.ssFallback=r?If(n.fallback):me(De)}function If(e){let t;if(At(e)){const n=fi&&e._c;n&&(e._d=!1,Fn()),e=e(),n&&(e._d=!0,t=tn,kh())}if(vt(e)){const n=Vc(e);n||G(\"<Suspense> slots expect a single root node.\"),e=n}return e=Qe(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(n=>n!==e)),e}function hh(e,t){t&&t.pendingBranch?vt(e)?t.effects.push(...e):t.effects.push(e):_a(e)}function _i(e,t){e.activeBranch=t;const{vnode:n,parentComponent:r}=e,i=n.el=t.el;r&&r.subTree===n&&(r.vnode.el=i,zc(r,i))}function ph(e,t){if(!Me)G(\"provide() can only be used inside setup().\");else{let n=Me.provides;const r=Me.parent&&Me.parent.provides;r===n&&(n=Me.provides=Object.create(r)),n[e]=t}}function Os(e,t,n=!1){const r=Me||Ne;if(r){const i=r.parent==null?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(i&&e in i)return i[e];if(arguments.length>1)return n&&At(t)?t.call(r.proxy):t;G(`injection \"${String(e)}\" not found.`)}else G(\"inject() can only be used inside setup() or functional components.\")}function Ov(e,t){return co(e,null,t)}function gh(e,t){return co(e,null,Object.assign(Object.assign({},t),{flush:\"post\"}))}function Av(e,t){return co(e,null,Object.assign(Object.assign({},t),{flush:\"sync\"}))}const Tf={};function As(e,t,n){return At(t)||G(\"`watch(fn, options?)` signature has been moved to a separate API. Use `watchEffect(fn, options?)` instead. `watch` now only supports `watch(source, cb, options?) signature.\"),co(e,t,n)}function co(e,t,{immediate:n,deep:r,flush:i,onTrack:o,onTrigger:s}=ee){t||(n!==void 0&&G('watch() \"immediate\" option is only respected when using the watch(source, callback, options?) signature.'),r!==void 0&&G('watch() \"deep\" option is only respected when using the watch(source, callback, options?) signature.'));const a=m=>{G(\"Invalid watch source: \",m,\"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.\")},l=Me;let c,f=!1,d=!1;if(Pe(e)?(c=()=>e.value,f=Us(e)):Br(e)?(c=()=>e,r=!0):vt(e)?(d=!0,f=e.some(m=>Br(m)||Us(m)),c=()=>e.map(m=>{if(Pe(m))return m.value;if(Br(m))return ei(m);if(At(m))return Yn(m,l,2);a(m)})):At(e)?t?c=()=>Yn(e,l,2):c=()=>{if(!(l&&l.isUnmounted))return h&&h(),hn(e,l,3,[p])}:(c=qe,a(e)),t&&r){const m=c;c=()=>ei(m())}let h,p=m=>{h=O.onStop=()=>{Yn(m,l,4)}};if(Yi)return p=qe,t?n&&hn(t,l,3,[c(),d?[]:void 0,p]):c(),qe;let b=d?[]:Tf;const A=()=>{if(!!O.active)if(t){const m=O.run();(r||f||(d?m.some((I,E)=>ki(I,b[E])):ki(m,b)))&&(h&&h(),hn(t,l,3,[m,b===Tf?void 0:b,p]),b=m)}else O.run()};A.allowRecurse=!!t;let F;i===\"sync\"?F=A:i===\"post\"?F=()=>Ve(A,l&&l.suspense):(A.pre=!0,l&&(A.id=l.uid),F=()=>oo(A));const O=new so(c,F);return O.onTrack=o,O.onTrigger=s,t?n?A():b=O.run():i===\"post\"?Ve(O.run.bind(O),l&&l.suspense):O.run(),()=>{O.stop(),l&&l.scope&&Tc(l.scope.effects,O)}}function Ev(e,t,n){const r=this.proxy,i=xe(e)?e.includes(\".\")?mh(r,e):()=>r[e]:e.bind(r,r);let o;At(t)?o=t:(o=t.handler,n=t);const s=Me;Ur(this);const a=co(i,o.bind(r),n);return s?Ur(s):Rr(),a}function mh(e,t){const n=t.split(\".\");return()=>{let r=e;for(let i=0;i<n.length&&r;i++)r=r[n[i]];return r}}function ei(e,t){if(!re(e)||e.__v_skip||(t=t||new Set,t.has(e)))return e;if(t.add(e),Pe(e))ei(e.value,t);else if(vt(e))for(let n=0;n<e.length;n++)ei(e[n],t);else if(yi(e)||ri(e))e.forEach(n=>{ei(n,t)});else if(_d(e))for(const n in e)ei(e[n],t);return e}function Hc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Si(()=>{e.isMounted=!0}),Va(()=>{e.isUnmounting=!0}),e}const wn=[Function,Array],Cv={name:\"BaseTransition\",props:{mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:wn,onEnter:wn,onAfterEnter:wn,onEnterCancelled:wn,onBeforeLeave:wn,onLeave:wn,onAfterLeave:wn,onLeaveCancelled:wn,onBeforeAppear:wn,onAppear:wn,onAfterAppear:wn,onAppearCancelled:wn},setup(e,{slots:t}){const n=Hr(),r=Hc();let i;return()=>{const o=t.default&&ja(t.default(),!0);if(!o||!o.length)return;let s=o[0];if(o.length>1){let A=!1;for(const F of o)if(F.type!==De){if(A){G(\"<transition> can only be used on a single element or component. Use <transition-group> for lists.\");break}s=F,A=!0}}const a=$t(e),{mode:l}=a;if(l&&l!==\"in-out\"&&l!==\"out-in\"&&l!==\"default\"&&G(`invalid <transition> mode: ${l}`),r.isLeaving)return wl(s);const c=xf(s);if(!c)return wl(s);const f=Hi(c,a,r,n);ci(c,f);const d=n.subTree,h=d&&xf(d);let p=!1;const{getTransitionKey:b}=c.type;if(b){const A=b();i===void 0?i=A:A!==i&&(i=A,p=!0)}if(h&&h.type!==De&&(!Hn(c,h)||p)){const A=Hi(h,a,r,n);if(ci(h,A),l===\"out-in\")return r.isLeaving=!0,A.afterLeave=()=>{r.isLeaving=!1,n.update()},wl(s);l===\"in-out\"&&c.type!==De&&(A.delayLeave=(F,O,m)=>{const I=yh(r,h);I[String(h.key)]=h,F._leaveCb=()=>{O(),F._leaveCb=void 0,delete f.delayedLeave},f.delayedLeave=m})}return s}}},Wc=Cv;function yh(e,t){const{leavingVNodes:n}=e;let r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function Hi(e,t,n,r){const{appear:i,mode:o,persisted:s=!1,onBeforeEnter:a,onEnter:l,onAfterEnter:c,onEnterCancelled:f,onBeforeLeave:d,onLeave:h,onAfterLeave:p,onLeaveCancelled:b,onBeforeAppear:A,onAppear:F,onAfterAppear:O,onAppearCancelled:m}=t,I=String(e.key),E=yh(n,e),N=(C,L)=>{C&&hn(C,r,9,L)},P=(C,L)=>{const U=L[1];N(C,L),vt(C)?C.every(z=>z.length<=1)&&U():C.length<=1&&U()},R={mode:o,persisted:s,beforeEnter(C){let L=a;if(!n.isMounted)if(i)L=A||a;else return;C._leaveCb&&C._leaveCb(!0);const U=E[I];U&&Hn(e,U)&&U.el._leaveCb&&U.el._leaveCb(),N(L,[C])},enter(C){let L=l,U=c,z=f;if(!n.isMounted)if(i)L=F||l,U=O||c,z=m||f;else return;let V=!1;const rt=C._enterCb=Q=>{V||(V=!0,Q?N(z,[C]):N(U,[C]),R.delayedLeave&&R.delayedLeave(),C._enterCb=void 0)};L?P(L,[C,rt]):rt()},leave(C,L){const U=String(e.key);if(C._enterCb&&C._enterCb(!0),n.isUnmounting)return L();N(d,[C]);let z=!1;const V=C._leaveCb=rt=>{z||(z=!0,L(),rt?N(b,[C]):N(p,[C]),C._leaveCb=void 0,E[U]===e&&delete E[U])};E[U]=e,h?P(h,[C,V]):V()},clone(C){return Hi(C,t,n,r)}};return R}function wl(e){if(as(e))return e=xn(e),e.children=null,e}function xf(e){return as(e)?e.children?e.children[0]:void 0:e}function ci(e,t){e.shapeFlag&6&&e.component?ci(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function ja(e,t=!1,n){let r=[],i=0;for(let o=0;o<e.length;o++){let s=e[o];const a=n==null?s.key:String(n)+String(s.key!=null?s.key:o);s.type===Re?(s.patchFlag&128&&i++,r=r.concat(ja(s.children,t,a))):(t||s.type!==De)&&r.push(a!=null?xn(s,{key:a}):s)}if(i>1)for(let o=0;o<r.length;o++)r[o].patchFlag=-2;return r}function os(e){return At(e)?{setup:e,name:e.name}:e}const oi=e=>!!e.type.__asyncLoader;function Bv(e){At(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:r,delay:i=200,timeout:o,suspensible:s=!0,onError:a}=e;let l=null,c,f=0;const d=()=>(f++,l=null,h()),h=()=>{let p;return l||(p=l=t().catch(b=>{if(b=b instanceof Error?b:new Error(String(b)),a)return new Promise((A,F)=>{a(b,()=>A(d()),()=>F(b),f+1)});throw b}).then(b=>{if(p!==l&&l)return l;if(b||G(\"Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.\"),b&&(b.__esModule||b[Symbol.toStringTag]===\"Module\")&&(b=b.default),b&&!re(b)&&!At(b))throw new Error(`Invalid async component load result: ${b}`);return c=b,b}))};return os({name:\"AsyncComponentWrapper\",__asyncLoader:h,get __asyncResolved(){return c},setup(){const p=Me;if(c)return()=>Sl(c,p);const b=m=>{l=null,wi(m,p,13,!r)};if(s&&p.suspense||Yi)return h().then(m=>()=>Sl(m,p)).catch(m=>(b(m),()=>r?me(r,{error:m}):null));const A=Pi(!1),F=Pi(),O=Pi(!!i);return i&&setTimeout(()=>{O.value=!1},i),o!=null&&setTimeout(()=>{if(!A.value&&!F.value){const m=new Error(`Async component timed out after ${o}ms.`);b(m),F.value=m}},o),h().then(()=>{A.value=!0,p.parent&&as(p.parent.vnode)&&oo(p.parent.update)}).catch(m=>{b(m),F.value=m}),()=>{if(A.value&&c)return Sl(c,p);if(F.value&&r)return me(r,{error:F.value});if(n&&!O.value)return me(n)}}})}function Sl(e,{vnode:{ref:t,props:n,children:r,shapeFlag:i},parent:o}){const s=me(e,n,r);return s.ref=t,s}const as=e=>e.type.__isKeepAlive,Fv={name:\"KeepAlive\",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=Hr(),r=n.ctx;if(!r.renderer)return()=>{const m=t.default&&t.default();return m&&m.length===1?m[0]:m};const i=new Map,o=new Set;let s=null;n.__v_cache=i;const a=n.suspense,{renderer:{p:l,m:c,um:f,o:{createElement:d}}}=r,h=d(\"div\");r.activate=(m,I,E,N,P)=>{const R=m.component;c(m,I,E,0,a),l(R.vnode,m,I,E,R,a,N,m.slotScopeIds,P),Ve(()=>{R.isDeactivated=!1,R.a&&xr(R.a);const C=m.props&&m.props.onVnodeMounted;C&&Ze(C,R.parent,m)},a),Gl(R)},r.deactivate=m=>{const I=m.component;c(m,h,null,1,a),Ve(()=>{I.da&&xr(I.da);const E=m.props&&m.props.onVnodeUnmounted;E&&Ze(E,I.parent,m),I.isDeactivated=!0},a),Gl(I)};function p(m){Il(m),f(m,n,a,!0)}function b(m){i.forEach((I,E)=>{const N=Hs(I.type);N&&(!m||!m(N))&&A(E)})}function A(m){const I=i.get(m);!s||I.type!==s.type?p(I):s&&Il(s),i.delete(m),o.delete(m)}As(()=>[e.include,e.exclude],([m,I])=>{m&&b(E=>ws(m,E)),I&&b(E=>!ws(I,E))},{flush:\"post\",deep:!0});let F=null;const O=()=>{F!=null&&i.set(F,Tl(n.subTree))};return Si(O),ls(O),Va(()=>{i.forEach(m=>{const{subTree:I,suspense:E}=n,N=Tl(I);if(m.type===N.type){Il(N);const P=N.component.da;P&&Ve(P,E);return}p(m)})}),()=>{if(F=null,!t.default)return null;const m=t.default(),I=m[0];if(m.length>1)return G(\"KeepAlive should contain exactly one component child.\"),s=null,m;if(!cr(I)||!(I.shapeFlag&4)&&!(I.shapeFlag&128))return s=null,I;let E=Tl(I);const N=E.type,P=Hs(oi(E)?E.type.__asyncResolved||{}:N),{include:R,exclude:C,max:L}=e;if(R&&(!P||!ws(R,P))||C&&P&&ws(C,P))return s=E,I;const U=E.key==null?N:E.key,z=i.get(U);return E.el&&(E=xn(E),I.shapeFlag&128&&(I.ssContent=E)),F=U,z?(E.el=z.el,E.component=z.component,E.transition&&ci(E,E.transition),E.shapeFlag|=512,o.delete(U),o.add(U)):(o.add(U),L&&o.size>parseInt(L,10)&&A(o.values().next().value)),E.shapeFlag|=256,s=E,dh(I.type)?I:E}}},Dv=Fv;function ws(e,t){return vt(e)?e.some(n=>ws(n,t)):xe(e)?e.split(\",\").includes(t):e.test?e.test(t):!1}function vh(e,t){wh(e,\"a\",t)}function bh(e,t){wh(e,\"da\",t)}function wh(e,t,n=Me){const r=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if($a(t,r,n),n){let i=n.parent;for(;i&&i.parent;)as(i.parent.vnode)&&Rv(r,t,n,i),i=i.parent}}function Rv(e,t,n,r){const i=$a(t,e,r,!0);uo(()=>{Tc(r[t],i)},n)}function Il(e){let t=e.shapeFlag;t&256&&(t-=256),t&512&&(t-=512),e.shapeFlag=t}function Tl(e){return e.shapeFlag&128?e.ssContent:e}function $a(e,t,n=Me,r=!1){if(n){const i=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...s)=>{if(n.isUnmounted)return;vi(),Ur(n);const a=hn(t,n,e,s);return Rr(),bi(),a});return r?i.unshift(o):i.push(o),o}else{const i=rr(Lc[e].replace(/ hook$/,\"\"));G(`${i} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const dr=e=>(t,n=Me)=>(!Yi||e===\"sp\")&&$a(e,t,n),Sh=dr(\"bm\"),Si=dr(\"m\"),Ih=dr(\"bu\"),ls=dr(\"u\"),Va=dr(\"bum\"),uo=dr(\"um\"),Th=dr(\"sp\"),xh=dr(\"rtg\"),Oh=dr(\"rtc\");function Yc(e,t=Me){$a(\"ec\",e,t)}function Ah(e){iy(e)&&G(\"Do not use built-in directive ids as custom directive id: \"+e)}function Mv(e,t){const n=Ne;if(n===null)return G(\"withDirectives can only be used inside render functions.\"),e;const r=Ha(n)||n.proxy,i=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[s,a,l,c=ee]=t[o];At(s)&&(s={mounted:s,updated:s}),s.deep&&ei(a),i.push({dir:s,instance:r,value:a,oldValue:void 0,arg:l,modifiers:c})}return e}function zn(e,t,n,r){const i=e.dirs,o=t&&t.dirs;for(let s=0;s<i.length;s++){const a=i[s];o&&(a.oldValue=o[s].value);let l=a.dir[r];l&&(vi(),hn(l,n,8,[e.el,a,e,t]),bi())}}const na=\"components\",Pv=\"directives\";function Xl(e,t){return Gc(na,e,!0,t)||e}const Eh=Symbol();function Lv(e){return xe(e)?Gc(na,e,!1)||e:e||Eh}function _v(e){return Gc(Pv,e)}function Gc(e,t,n=!0,r=!1){const i=Ne||Me;if(i){const o=i.type;if(e===na){const a=Hs(o,!1);if(a&&(a===t||a===gn(t)||a===Lr(gn(t))))return o}const s=Of(i[e]||o[e],t)||Of(i.appContext[e],t);if(!s&&r)return o;if(n&&!s){const a=e===na?`\nIf this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`:\"\";G(`Failed to resolve ${e.slice(0,-1)}: ${t}${a}`)}return s}else G(`resolve${Lr(e.slice(0,-1))} can only be used in render() or setup().`)}function Of(e,t){return e&&(e[t]||e[gn(t)]||e[Lr(gn(t))])}function Ch(e,t,n,r){let i;const o=n&&n[r];if(vt(e)||xe(e)){i=new Array(e.length);for(let s=0,a=e.length;s<a;s++)i[s]=t(e[s],s,void 0,o&&o[s])}else if(typeof e==\"number\"){Number.isInteger(e)||G(`The v-for range expect an integer value but got ${e}.`),i=new Array(e);for(let s=0;s<e;s++)i[s]=t(s+1,s,void 0,o&&o[s])}else if(re(e))if(e[Symbol.iterator])i=Array.from(e,(s,a)=>t(s,a,void 0,o&&o[a]));else{const s=Object.keys(e);i=new Array(s.length);for(let a=0,l=s.length;a<l;a++){const c=s[a];i[a]=t(e[c],c,a,o&&o[a])}}else i=[];return n&&(n[r]=i),i}function Nv(e,t){for(let n=0;n<t.length;n++){const r=t[n];if(vt(r))for(let i=0;i<r.length;i++)e[r[i].name]=r[i].fn;else r&&(e[r.name]=r.key?(...i)=>{const o=r.fn(...i);return o.key=r.key,o}:r.fn)}return e}function Bh(e,t,n={},r,i){if(Ne.isCE||Ne.parent&&oi(Ne.parent)&&Ne.parent.isCE)return me(\"slot\",t===\"default\"?null:{name:t},r&&r());let o=e[t];o&&o.length>1&&(G(\"SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.\"),o=()=>[]),o&&o._c&&(o._d=!1),Fn();const s=o&&Fh(o(n)),a=za(Re,{key:n.key||s&&s.key||`_${t}`},s||(r?r():[]),s&&e._===1?64:-2);return!i&&a.scopeId&&(a.slotScopeIds=[a.scopeId+\"-s\"]),o&&o._c&&(o._d=!0),a}function Fh(e){return e.some(t=>cr(t)?!(t.type===De||t.type===Re&&!Fh(t.children)):!0)?e:null}function Uv(e,t){const n={};if(!re(e))return G(\"v-on with no argument expects an object value.\"),n;for(const r in e)n[t&&/[A-Z]/.test(r)?`on:${r}`:rr(r)]=e[r];return n}const Jl=e=>e?Jh(e)?Ha(e)||e.proxy:Jl(e.parent):null,Wi=ve(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>ti(e.props),$attrs:e=>ti(e.attrs),$slots:e=>ti(e.slots),$refs:e=>ti(e.refs),$parent:e=>Jl(e.parent),$root:e=>Jl(e.root),$emit:e=>e.emit,$options:e=>Rh(e),$forceUpdate:e=>e.f||(e.f=()=>oo(e.update)),$nextTick:e=>e.n||(e.n=Nc.bind(e.proxy)),$watch:e=>Ev.bind(e)}),Kc=e=>e===\"_\"||e===\"$\",Es={get({_:e},t){const{ctx:n,setupState:r,data:i,props:o,accessCache:s,type:a,appContext:l}=e;if(t===\"__isVue\")return!0;if(r!==ee&&r.__isScriptSetup&&Xt(r,t))return r[t];let c;if(t[0]!==\"$\"){const p=s[t];if(p!==void 0)switch(p){case 1:return r[t];case 2:return i[t];case 4:return n[t];case 3:return o[t]}else{if(r!==ee&&Xt(r,t))return s[t]=1,r[t];if(i!==ee&&Xt(i,t))return s[t]=2,i[t];if((c=e.propsOptions[0])&&Xt(c,t))return s[t]=3,o[t];if(n!==ee&&Xt(n,t))return s[t]=4,n[t];Zl&&(s[t]=0)}}const f=Wi[t];let d,h;if(f)return t===\"$attrs\"&&(mn(e,\"get\",t),ea()),f(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==ee&&Xt(n,t))return s[t]=4,n[t];if(h=l.config.globalProperties,Xt(h,t))return h[t];Ne&&(!xe(t)||t.indexOf(\"__v\")!==0)&&(i!==ee&&Kc(t[0])&&Xt(i,t)?G(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character (\"$\" or \"_\") and is not proxied on the render context.`):e===Ne&&G(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){const{data:r,setupState:i,ctx:o}=e;return i!==ee&&Xt(i,t)?(i[t]=n,!0):r!==ee&&Xt(r,t)?(r[t]=n,!0):Xt(e.props,t)?(G(`Attempting to mutate prop \"${t}\". Props are readonly.`,e),!1):t[0]===\"$\"&&t.slice(1)in e?(G(`Attempting to mutate public property \"${t}\". Properties starting with $ are reserved and readonly.`,e),!1):(t in e.appContext.config.globalProperties?Object.defineProperty(o,t,{enumerable:!0,configurable:!0,value:n}):o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:r,appContext:i,propsOptions:o}},s){let a;return!!n[s]||e!==ee&&Xt(e,s)||t!==ee&&Xt(t,s)||(a=o[0])&&Xt(a,s)||Xt(r,s)||Xt(Wi,s)||Xt(i.config.globalProperties,s)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:Xt(n,\"value\")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};Es.ownKeys=e=>(G(\"Avoid app logic that relies on enumerating keys on a component instance. The keys will be empty in production mode to avoid performance overhead.\"),Reflect.ownKeys(e));const jv=ve({},Es,{get(e,t){if(t!==Symbol.unscopables)return Es.get(e,t,e)},has(e,t){const n=t[0]!==\"_\"&&!Hm(t);return!n&&Es.has(e,t)&&G(`Property ${JSON.stringify(t)} should not start with _ which is a reserved prefix for Vue internals.`),n}});function $v(e){const t={};return Object.defineProperty(t,\"_\",{configurable:!0,enumerable:!1,get:()=>e}),Object.keys(Wi).forEach(n=>{Object.defineProperty(t,n,{configurable:!0,enumerable:!1,get:()=>Wi[n](e),set:qe})}),t}function Vv(e){const{ctx:t,propsOptions:[n]}=e;n&&Object.keys(n).forEach(r=>{Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>e.props[r],set:qe})})}function zv(e){const{ctx:t,setupState:n}=e;Object.keys($t(n)).forEach(r=>{if(!n.__isScriptSetup){if(Kc(r[0])){G(`setup() return property ${JSON.stringify(r)} should not start with \"$\" or \"_\" which are reserved prefixes for Vue internals.`);return}Object.defineProperty(t,r,{enumerable:!0,configurable:!0,get:()=>n[r],set:qe})}})}function kv(){const e=Object.create(null);return(t,n)=>{e[n]?G(`${t} property \"${n}\" is already defined in ${e[n]}.`):e[n]=t}}let Zl=!0;function Hv(e){const t=Rh(e),n=e.proxy,r=e.ctx;Zl=!1,t.beforeCreate&&Af(t.beforeCreate,e,\"bc\");const{data:i,computed:o,methods:s,watch:a,provide:l,inject:c,created:f,beforeMount:d,mounted:h,beforeUpdate:p,updated:b,activated:A,deactivated:F,beforeDestroy:O,beforeUnmount:m,destroyed:I,unmounted:E,render:N,renderTracked:P,renderTriggered:R,errorCaptured:C,serverPrefetch:L,expose:U,inheritAttrs:z,components:V,directives:rt,filters:Q}=t,bt=kv();{const[pt]=e.propsOptions;if(pt)for(const dt in pt)bt(\"Props\",dt)}if(c&&Wv(c,r,bt,e.appContext.config.unwrapInjectedRef),s)for(const pt in s){const dt=s[pt];At(dt)?(Object.defineProperty(r,pt,{value:dt.bind(n),configurable:!0,enumerable:!0,writable:!0}),bt(\"Methods\",pt)):G(`Method \"${pt}\" has type \"${typeof dt}\" in the component definition. Did you reference the function correctly?`)}if(i){At(i)||G(\"The data option must be a function. Plain object usage is no longer supported.\");const pt=i.call(n,n);if(Ca(pt)&&G(\"data() returned a Promise - note data() cannot be async; If you intend to perform data fetching before component renders, use async setup() + <Suspense>.\"),!re(pt))G(\"data() should return an object.\");else{e.data=Ma(pt);for(const dt in pt)bt(\"Data\",dt),Kc(dt[0])||Object.defineProperty(r,dt,{configurable:!0,enumerable:!0,get:()=>pt[dt],set:qe})}}if(Zl=!0,o)for(const pt in o){const dt=o[pt],qt=At(dt)?dt.bind(n,n):At(dt.get)?dt.get.bind(n,n):qe;qt===qe&&G(`Computed property \"${pt}\" has no getter.`);const Ft=!At(dt)&&At(dt.set)?dt.set.bind(n):()=>{G(`Write operation failed: computed property \"${pt}\" is readonly.`)},se=ep({get:qt,set:Ft});Object.defineProperty(r,pt,{enumerable:!0,configurable:!0,get:()=>se.value,set:ce=>se.value=ce}),bt(\"Computed\",pt)}if(a)for(const pt in a)Dh(a[pt],r,n,pt);if(l){const pt=At(l)?l.call(n):l;Reflect.ownKeys(pt).forEach(dt=>{ph(dt,pt[dt])})}f&&Af(f,e,\"c\");function st(pt,dt){vt(dt)?dt.forEach(qt=>pt(qt.bind(n))):dt&&pt(dt.bind(n))}if(st(Sh,d),st(Si,h),st(Ih,p),st(ls,b),st(vh,A),st(bh,F),st(Yc,C),st(Oh,P),st(xh,R),st(Va,m),st(uo,E),st(Th,L),vt(U))if(U.length){const pt=e.exposed||(e.exposed={});U.forEach(dt=>{Object.defineProperty(pt,dt,{get:()=>n[dt],set:qt=>n[dt]=qt})})}else e.exposed||(e.exposed={});N&&e.render===qe&&(e.render=N),z!=null&&(e.inheritAttrs=z),V&&(e.components=V),rt&&(e.directives=rt)}function Wv(e,t,n=qe,r=!1){vt(e)&&(e=Ql(e));for(const i in e){const o=e[i];let s;re(o)?\"default\"in o?s=Os(o.from||i,o.default,!0):s=Os(o.from||i):s=Os(o),Pe(s)?r?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>s.value,set:a=>s.value=a}):(G(`injected property \"${i}\" is a ref and will be auto-unwrapped and no longer needs \\`.value\\` in the next minor release. To opt-in to the new behavior now, set \\`app.config.unwrapInjectedRef = true\\` (this config is temporary and will not be needed in the future.)`),t[i]=s):t[i]=s,n(\"Inject\",i)}}function Af(e,t,n){hn(vt(e)?e.map(r=>r.bind(t.proxy)):e.bind(t.proxy),t,n)}function Dh(e,t,n,r){const i=r.includes(\".\")?mh(n,r):()=>n[r];if(xe(e)){const o=t[e];At(o)?As(i,o):G(`Invalid watch handler specified by key \"${e}\"`,o)}else if(At(e))As(i,e.bind(n));else if(re(e))if(vt(e))e.forEach(o=>Dh(o,t,n,r));else{const o=At(e.handler)?e.handler.bind(n):t[e.handler];At(o)?As(i,o,e):G(`Invalid watch handler specified by key \"${e.handler}\"`,o)}else G(`Invalid watch option: \"${r}\"`,e)}function Rh(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:o,config:{optionMergeStrategies:s}}=e.appContext,a=o.get(t);let l;return a?l=a:!i.length&&!n&&!r?l=t:(l={},i.length&&i.forEach(c=>ra(l,c,s,!0)),ra(l,t,s)),re(t)&&o.set(t,l),l}function ra(e,t,n,r=!1){const{mixins:i,extends:o}=t;o&&ra(e,o,n,!0),i&&i.forEach(s=>ra(e,s,n,!0));for(const s in t)if(r&&s===\"expose\")G('\"expose\" option is ignored when declared in mixins or extends. It should only be declared in the base component itself.');else{const a=Yv[s]||n&&n[s];e[s]=a?a(e[s],t[s]):t[s]}return e}const Yv={data:Ef,props:Qr,emits:Qr,methods:Qr,computed:Qr,beforeCreate:Ge,created:Ge,beforeMount:Ge,mounted:Ge,beforeUpdate:Ge,updated:Ge,beforeDestroy:Ge,beforeUnmount:Ge,destroyed:Ge,unmounted:Ge,activated:Ge,deactivated:Ge,errorCaptured:Ge,serverPrefetch:Ge,components:Qr,directives:Qr,watch:Kv,provide:Ef,inject:Gv};function Ef(e,t){return t?e?function(){return ve(At(e)?e.call(this,this):e,At(t)?t.call(this,this):t)}:t:e}function Gv(e,t){return Qr(Ql(e),Ql(t))}function Ql(e){if(vt(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ge(e,t){return e?[...new Set([].concat(e,t))]:t}function Qr(e,t){return e?ve(ve(Object.create(null),e),t):t}function Kv(e,t){if(!e)return t;if(!t)return e;const n=ve(Object.create(null),e);for(const r in t)n[r]=Ge(e[r],t[r]);return n}function Xv(e,t,n,r=!1){const i={},o={};Zo(o,ka,1),e.propsDefaults=Object.create(null),Mh(e,t,i,o);for(const s in e.propsOptions[0])s in i||(i[s]=void 0);Lh(t||{},i,e),n?e.props=r?i:Qd(i):e.type.props?e.props=i:e.props=o,e.attrs=o}function Jv(e){for(;e;){if(e.type.__hmrId)return!0;e=e.parent}}function Zv(e,t,n,r){const{props:i,attrs:o,vnode:{patchFlag:s}}=e,a=$t(i),[l]=e.propsOptions;let c=!1;if(!Jv(e)&&(r||s>0)&&!(s&16)){if(s&8){const f=e.vnode.dynamicProps;for(let d=0;d<f.length;d++){let h=f[d];if(Na(e.emitsOptions,h))continue;const p=t[h];if(l)if(Xt(o,h))p!==o[h]&&(o[h]=p,c=!0);else{const b=gn(h);i[b]=ql(l,a,b,p,e,!1)}else p!==o[h]&&(o[h]=p,c=!0)}}}else{Mh(e,t,i,o)&&(c=!0);let f;for(const d in a)(!t||!Xt(t,d)&&((f=In(d))===d||!Xt(t,f)))&&(l?n&&(n[d]!==void 0||n[f]!==void 0)&&(i[d]=ql(l,a,d,void 0,e,!0)):delete i[d]);if(o!==a)for(const d in o)(!t||!Xt(t,d)&&!0)&&(delete o[d],c=!0)}c&&ar(e,\"set\",\"$attrs\"),Lh(t||{},i,e)}function Mh(e,t,n,r){const[i,o]=e.propsOptions;let s=!1,a;if(t)for(let l in t){if(Ss(l))continue;const c=t[l];let f;i&&Xt(i,f=gn(l))?!o||!o.includes(f)?n[f]=c:(a||(a={}))[f]=c:Na(e.emitsOptions,l)||(!(l in r)||c!==r[l])&&(r[l]=c,s=!0)}if(o){const l=$t(n),c=a||ee;for(let f=0;f<o.length;f++){const d=o[f];n[d]=ql(i,l,d,c[d],e,!Xt(c,d))}}return s}function ql(e,t,n,r,i,o){const s=e[n];if(s!=null){const a=Xt(s,\"default\");if(a&&r===void 0){const l=s.default;if(s.type!==Function&&At(l)){const{propsDefaults:c}=i;n in c?r=c[n]:(Ur(i),r=c[n]=l.call(null,t),Rr())}else r=l}s[0]&&(o&&!a?r=!1:s[1]&&(r===\"\"||r===In(n))&&(r=!0))}return r}function Ph(e,t,n=!1){const r=t.propsCache,i=r.get(e);if(i)return i;const o=e.props,s={},a=[];let l=!1;if(!At(e)){const f=d=>{l=!0;const[h,p]=Ph(d,t,!0);ve(s,h),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}if(!o&&!l)return re(e)&&r.set(e,Mi),Mi;if(vt(o))for(let f=0;f<o.length;f++){xe(o[f])||G(\"props must be strings when using array syntax.\",o[f]);const d=gn(o[f]);Cf(d)&&(s[d]=ee)}else if(o){re(o)||G(\"invalid props options\",o);for(const f in o){const d=gn(f);if(Cf(d)){const h=o[f],p=s[d]=vt(h)||At(h)?{type:h}:h;if(p){const b=Ff(Boolean,p.type),A=Ff(String,p.type);p[0]=b>-1,p[1]=A<0||b<A,(b>-1||Xt(p,\"default\"))&&a.push(d)}}}}const c=[s,a];return re(e)&&r.set(e,c),c}function Cf(e){return e[0]!==\"$\"?!0:(G(`Invalid prop name: \"${e}\" is a reserved property.`),!1)}function tc(e){const t=e&&e.toString().match(/^\\s*function (\\w+)/);return t?t[1]:e===null?\"null\":\"\"}function Bf(e,t){return tc(e)===tc(t)}function Ff(e,t){return vt(t)?t.findIndex(n=>Bf(n,e)):At(t)&&Bf(t,e)?0:-1}function Lh(e,t,n){const r=$t(t),i=n.propsOptions[0];for(const o in i){let s=i[o];s!=null&&Qv(o,r[o],s,!Xt(e,o)&&!Xt(e,In(o)))}}function Qv(e,t,n,r){const{type:i,required:o,validator:s}=n;if(o&&r){G('Missing required prop: \"'+e+'\"');return}if(!(t==null&&!n.required)){if(i!=null&&i!==!0){let a=!1;const l=vt(i)?i:[i],c=[];for(let f=0;f<l.length&&!a;f++){const{valid:d,expectedType:h}=tb(t,l[f]);c.push(h||\"\"),a=d}if(!a){G(eb(e,t,c));return}}s&&!s(t)&&G('Invalid prop: custom validator check failed for prop \"'+e+'\".')}}const qv=fr(\"String,Number,Boolean,Function,Symbol,BigInt\");function tb(e,t){let n;const r=tc(t);if(qv(r)){const i=typeof e;n=i===r.toLowerCase(),!n&&i===\"object\"&&(n=e instanceof t)}else r===\"Object\"?n=re(e):r===\"Array\"?n=vt(e):r===\"null\"?n=e===null:n=e instanceof t;return{valid:n,expectedType:r}}function eb(e,t,n){let r=`Invalid prop: type check failed for prop \"${e}\". Expected ${n.map(Lr).join(\" | \")}`;const i=n[0],o=xc(t),s=Df(t,i),a=Df(t,o);return n.length===1&&Rf(i)&&!nb(i,o)&&(r+=` with value ${s}`),r+=`, got ${o} `,Rf(o)&&(r+=`with value ${a}.`),r}function Df(e,t){return t===\"String\"?`\"${e}\"`:t===\"Number\"?`${Number(e)}`:`${e}`}function Rf(e){return[\"string\",\"number\",\"boolean\"].some(n=>e.toLowerCase()===n)}function nb(...e){return e.some(t=>t.toLowerCase()===\"boolean\")}const _h=e=>e[0]===\"_\"||e===\"$stable\",Xc=e=>vt(e)?e.map(Qe):[Qe(e)],rb=(e,t,n)=>{if(t._n)return t;const r=lo((...i)=>(Me&&G(`Slot \"${e}\" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`),Xc(t(...i))),n);return r._c=!1,r},Nh=(e,t,n)=>{const r=e._ctx;for(const i in e){if(_h(i))continue;const o=e[i];if(At(o))t[i]=rb(i,o,r);else if(o!=null){G(`Non-function value encountered for slot \"${i}\". Prefer function slots for better performance.`);const s=Xc(o);t[i]=()=>s}}},Uh=(e,t)=>{as(e.vnode)||G(\"Non-function value encountered for default slot. Prefer function slots for better performance.\");const n=Xc(t);e.slots.default=()=>n},ib=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=$t(t),Zo(t,\"_\",n)):Nh(t,e.slots={})}else e.slots={},t&&Uh(e,t);Zo(e.slots,ka,1)},sb=(e,t,n)=>{const{vnode:r,slots:i}=e;let o=!0,s=ee;if(r.shapeFlag&32){const a=t._;a?Fr?ve(i,t):n&&a===1?o=!1:(ve(i,t),!n&&a===1&&delete i._):(o=!t.$stable,Nh(t,i)),s=t}else t&&(Uh(e,t),s={default:1});if(o)for(const a in i)!_h(a)&&!(a in s)&&delete i[a]};function jh(){return{app:null,config:{isNativeTag:Pd,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let ob=0;function ab(e,t){return function(r,i=null){At(r)||(r=Object.assign({},r)),i!=null&&!re(i)&&(G(\"root props passed to app.mount() must be an object.\"),i=null);const o=jh(),s=new Set;let a=!1;const l=o.app={_uid:ob++,_component:r,_props:i,_container:null,_context:o,_instance:null,version:ac,get config(){return o.config},set config(c){G(\"app.config cannot be replaced. Modify individual options instead.\")},use(c,...f){return s.has(c)?G(\"Plugin has already been applied to target app.\"):c&&At(c.install)?(s.add(c),c.install(l,...f)):At(c)?(s.add(c),c(l,...f)):G('A plugin must either be a function or an object with an \"install\" function.'),l},mixin(c){return o.mixins.includes(c)?G(\"Mixin has already been applied to target app\"+(c.name?`: ${c.name}`:\"\")):o.mixins.push(c),l},component(c,f){return ic(c,o.config),f?(o.components[c]&&G(`Component \"${c}\" has already been registered in target app.`),o.components[c]=f,l):o.components[c]},directive(c,f){return Ah(c),f?(o.directives[c]&&G(`Directive \"${c}\" has already been registered in target app.`),o.directives[c]=f,l):o.directives[c]},mount(c,f,d){if(a)G(\"App has already been mounted.\\nIf you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. `const createMyApp = () => createApp(App)`\");else{c.__vue_app__&&G(\"There is already an app instance mounted on the host container.\\n If you want to mount another app on the same host container, you need to unmount the previous app by calling `app.unmount()` first.\");const h=me(r,i);return h.appContext=o,o.reload=()=>{e(xn(h),c,d)},f&&t?t(h,c):e(h,c,d),a=!0,l._container=c,c.__vue_app__=l,l._instance=h.component,av(l,ac),Ha(h.component)||h.component.proxy}},unmount(){a?(e(null,l._container),l._instance=null,lv(l),delete l._container.__vue_app__):G(\"Cannot unmount an app that is not mounted.\")},provide(c,f){return c in o.provides&&G(`App already provides property with key \"${String(c)}\". It will be overwritten with the new value.`),o.provides[c]=f,l}};return l}}function ia(e,t,n,r,i=!1){if(vt(e)){e.forEach((h,p)=>ia(h,t&&(vt(t)?t[p]:t),n,r,i));return}if(oi(r)&&!i)return;const o=r.shapeFlag&4?Ha(r.component)||r.component.proxy:r.el,s=i?null:o,{i:a,r:l}=e;if(!a){G(\"Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.\");return}const c=t&&t.r,f=a.refs===ee?a.refs={}:a.refs,d=a.setupState;if(c!=null&&c!==l&&(xe(c)?(f[c]=null,Xt(d,c)&&(d[c]=null)):Pe(c)&&(c.value=null)),At(l))Yn(l,a,12,[s,f]);else{const h=xe(l),p=Pe(l);if(h||p){const b=()=>{if(e.f){const A=h?f[l]:l.value;i?vt(A)&&Tc(A,o):vt(A)?A.includes(o)||A.push(o):h?(f[l]=[o],Xt(d,l)&&(d[l]=f[l])):(l.value=[o],e.k&&(f[e.k]=l.value))}else h?(f[l]=s,Xt(d,l)&&(d[l]=s)):p?(l.value=s,e.k&&(f[e.k]=s)):G(\"Invalid template ref type:\",l,`(${typeof l})`)};s?(b.id=-1,Ve(b,n)):b()}else G(\"Invalid template ref type:\",l,`(${typeof l})`)}}let yr=!1;const Ro=e=>/svg/.test(e.namespaceURI)&&e.tagName!==\"foreignObject\",fs=e=>e.nodeType===8;function lb(e){const{mt:t,p:n,o:{patchProp:r,createText:i,nextSibling:o,parentNode:s,remove:a,insert:l,createComment:c}}=e,f=(O,m)=>{if(!m.hasChildNodes()){G(\"Attempting to hydrate existing markup but container is empty. Performing full mount instead.\"),n(null,O,m),ta(),m._vnode=O;return}yr=!1,d(m.firstChild,O,null,null,null),ta(),m._vnode=O,yr&&console.error(\"Hydration completed but contains mismatches.\")},d=(O,m,I,E,N,P=!1)=>{const R=fs(O)&&O.data===\"[\",C=()=>A(O,m,I,E,N,R),{type:L,ref:U,shapeFlag:z,patchFlag:V}=m,rt=O.nodeType;m.el=O,V===-2&&(P=!1,m.dynamicChildren=null);let Q=null;switch(L){case ui:rt!==3?m.children===\"\"?(l(m.el=i(\"\"),s(O),O),Q=O):Q=C():(O.data!==m.children&&(yr=!0,G(`Hydration text mismatch:\n- Client: ${JSON.stringify(O.data)}\n- Server: ${JSON.stringify(m.children)}`),O.data=m.children),Q=o(O));break;case De:rt!==8||R?Q=C():Q=o(O);break;case Dr:if(rt!==1&&rt!==3)Q=C();else{Q=O;const bt=!m.children.length;for(let st=0;st<m.staticCount;st++)bt&&(m.children+=Q.nodeType===1?Q.outerHTML:Q.data),st===m.staticCount-1&&(m.anchor=Q),Q=o(Q);return Q}break;case Re:R?Q=b(O,m,I,E,N,P):Q=C();break;default:if(z&1)rt!==1||m.type.toLowerCase()!==O.tagName.toLowerCase()?Q=C():Q=h(O,m,I,E,N,P);else if(z&6){m.slotScopeIds=N;const bt=s(O);if(t(m,bt,null,I,E,Ro(bt),P),Q=R?F(O):o(O),Q&&fs(Q)&&Q.data===\"teleport end\"&&(Q=o(Q)),oi(m)){let st;R?(st=me(Re),st.anchor=Q?Q.previousSibling:bt.lastChild):st=O.nodeType===3?Jc(\"\"):me(\"div\"),st.el=O,m.component.subTree=st}}else z&64?rt!==8?Q=C():Q=m.type.hydrate(O,m,I,E,N,P,e,p):z&128?Q=m.type.hydrate(O,m,I,E,Ro(s(O)),N,P,e,d):G(\"Invalid HostVNode type:\",L,`(${typeof L})`)}return U!=null&&ia(U,null,E,m),Q},h=(O,m,I,E,N,P)=>{P=P||!!m.dynamicChildren;const{type:R,props:C,patchFlag:L,shapeFlag:U,dirs:z}=m,V=R===\"input\"&&z||R===\"option\";{if(z&&zn(m,null,I,\"created\"),C)if(V||!P||L&48)for(const Q in C)(V&&Q.endsWith(\"value\")||ss(Q)&&!Ss(Q))&&r(O,Q,null,C[Q],!1,void 0,I);else C.onClick&&r(O,\"onClick\",null,C.onClick,!1,void 0,I);let rt;if((rt=C&&C.onVnodeBeforeMount)&&Ze(rt,I,m),z&&zn(m,null,I,\"beforeMount\"),((rt=C&&C.onVnodeMounted)||z)&&hh(()=>{rt&&Ze(rt,I,m),z&&zn(m,null,I,\"mounted\")},E),U&16&&!(C&&(C.innerHTML||C.textContent))){let Q=p(O.firstChild,m,O,I,E,N,P),bt=!1;for(;Q;){yr=!0,bt||(G(`Hydration children mismatch in <${m.type}>: server rendered element contains more child nodes than client vdom.`),bt=!0);const st=Q;Q=Q.nextSibling,a(st)}}else U&8&&O.textContent!==m.children&&(yr=!0,G(`Hydration text content mismatch in <${m.type}>:\n- Client: ${O.textContent}\n- Server: ${m.children}`),O.textContent=m.children)}return O.nextSibling},p=(O,m,I,E,N,P,R)=>{R=R||!!m.dynamicChildren;const C=m.children,L=C.length;let U=!1;for(let z=0;z<L;z++){const V=R?C[z]:C[z]=Qe(C[z]);if(O)O=d(O,V,E,N,P,R);else{if(V.type===ui&&!V.children)continue;yr=!0,U||(G(`Hydration children mismatch in <${I.tagName.toLowerCase()}>: server rendered element contains fewer child nodes than client vdom.`),U=!0),n(null,V,I,null,E,N,Ro(I),P)}}return O},b=(O,m,I,E,N,P)=>{const{slotScopeIds:R}=m;R&&(N=N?N.concat(R):R);const C=s(O),L=p(o(O),m,C,I,E,N,P);return L&&fs(L)&&L.data===\"]\"?o(m.anchor=L):(yr=!0,l(m.anchor=c(\"]\"),C,L),L)},A=(O,m,I,E,N,P)=>{if(yr=!0,G(`Hydration node mismatch:\n- Client vnode:`,m.type,`\n- Server rendered DOM:`,O,O.nodeType===3?\"(text)\":fs(O)&&O.data===\"[\"?\"(start of fragment)\":\"\"),m.el=null,P){const L=F(O);for(;;){const U=o(O);if(U&&U!==L)a(U);else break}}const R=o(O),C=s(O);return a(O),n(null,m,C,R,I,E,Ro(C),N),R},F=O=>{let m=0;for(;O;)if(O=o(O),O&&fs(O)&&(O.data===\"[\"&&m++,O.data===\"]\")){if(m===0)return o(O);m--}return O};return[f,d]}let ds,Ar;function qn(e,t){e.appContext.config.performance&&sa()&&Ar.mark(`vue-${t}-${e.uid}`),uv(e,t,sa()?Ar.now():Date.now())}function tr(e,t){if(e.appContext.config.performance&&sa()){const n=`vue-${t}-${e.uid}`,r=n+\":end\";Ar.mark(r),Ar.measure(`<${Wa(e,e.type)}> ${t}`,n,r),Ar.clearMarks(n),Ar.clearMarks(r)}fv(e,t,sa()?Ar.now():Date.now())}function sa(){return ds!==void 0||(typeof window!=\"undefined\"&&window.performance?(ds=!0,Ar=window.performance):ds=!1),ds}function cb(){const e=[];if(e.length){const t=e.length>1;console.warn(`Feature flag${t?\"s\":\"\"} ${e.join(\", \")} ${t?\"are\":\"is\"} not explicitly defined. You are running the esm-bundler build of Vue, which expects these compile-time feature flags to be globally injected via the bundler config in order to get better tree-shaking in the production bundle.\n\nFor more details, see https://link.vuejs.org/feature-flags.`)}}const Ve=hh;function $h(e){return zh(e)}function Vh(e){return zh(e,lb)}function zh(e,t){cb();const n=Nd();n.__VUE__=!0,jc(n.__VUE_DEVTOOLS_GLOBAL_HOOK__,n);const{insert:r,remove:i,patchProp:o,createElement:s,createText:a,createComment:l,setText:c,setElementText:f,parentNode:d,nextSibling:h,setScopeId:p=qe,cloneNode:b,insertStaticContent:A}=e,F=(w,B,j,Y=null,W=null,et=null,it=!1,tt=null,nt=Fr?!1:!!B.dynamicChildren)=>{if(w===B)return;w&&!Hn(w,B)&&(Y=Se(w),Yt(w,W,et,!0),w=null),B.patchFlag===-2&&(nt=!1,B.dynamicChildren=null);const{type:Z,ref:gt,shapeFlag:ut}=B;switch(Z){case ui:O(w,B,j,Y);break;case De:m(w,B,j,Y);break;case Dr:w==null?I(B,j,Y,it):E(w,B,j,it);break;case Re:Q(w,B,j,Y,W,et,it,tt,nt);break;default:ut&1?R(w,B,j,Y,W,et,it,tt,nt):ut&6?bt(w,B,j,Y,W,et,it,tt,nt):ut&64||ut&128?Z.process(w,B,j,Y,W,et,it,tt,nt,ae):G(\"Invalid VNode type:\",Z,`(${typeof Z})`)}gt!=null&&W&&ia(gt,w&&w.ref,et,B||w,!B)},O=(w,B,j,Y)=>{if(w==null)r(B.el=a(B.children),j,Y);else{const W=B.el=w.el;B.children!==w.children&&c(W,B.children)}},m=(w,B,j,Y)=>{w==null?r(B.el=l(B.children||\"\"),j,Y):B.el=w.el},I=(w,B,j,Y)=>{[w.el,w.anchor]=A(w.children,B,j,Y,w.el,w.anchor)},E=(w,B,j,Y)=>{if(B.children!==w.children){const W=h(w.anchor);P(w),[B.el,B.anchor]=A(B.children,j,W,Y)}else B.el=w.el,B.anchor=w.anchor},N=({el:w,anchor:B},j,Y)=>{let W;for(;w&&w!==B;)W=h(w),r(w,j,Y),w=W;r(B,j,Y)},P=({el:w,anchor:B})=>{let j;for(;w&&w!==B;)j=h(w),i(w),w=j;i(B)},R=(w,B,j,Y,W,et,it,tt,nt)=>{it=it||B.type===\"svg\",w==null?C(B,j,Y,W,et,it,tt,nt):z(w,B,W,et,it,tt,nt)},C=(w,B,j,Y,W,et,it,tt)=>{let nt,Z;const{type:gt,props:ut,shapeFlag:X,transition:wt,patchFlag:Dt,dirs:Ht}=w;{if(nt=w.el=s(w.type,et,ut&&ut.is,ut),X&8?f(nt,w.children):X&16&&U(w.children,nt,null,Y,W,et&&gt!==\"foreignObject\",it,tt),Ht&&zn(w,null,Y,\"created\"),ut){for(const J in ut)J!==\"value\"&&!Ss(J)&&o(nt,J,null,ut[J],et,w.children,Y,W,Be);\"value\"in ut&&o(nt,\"value\",null,ut.value),(Z=ut.onVnodeBeforeMount)&&Ze(Z,Y,w)}L(nt,w,w.scopeId,it,Y)}Object.defineProperty(nt,\"__vnode\",{value:w,enumerable:!1}),Object.defineProperty(nt,\"__vueParentComponent\",{value:Y,enumerable:!1}),Ht&&zn(w,null,Y,\"beforeMount\");const Tt=(!W||W&&!W.pendingBranch)&&wt&&!wt.persisted;Tt&&wt.beforeEnter(nt),r(nt,B,j),((Z=ut&&ut.onVnodeMounted)||Tt||Ht)&&Ve(()=>{Z&&Ze(Z,Y,w),Tt&&wt.enter(nt),Ht&&zn(w,null,Y,\"mounted\")},W)},L=(w,B,j,Y,W)=>{if(j&&p(w,j),Y)for(let et=0;et<Y.length;et++)p(w,Y[et]);if(W){let et=W.subTree;if(et.patchFlag>0&&et.patchFlag&2048&&(et=Vc(et.children)||et),B===et){const it=W.vnode;L(w,it,it.scopeId,it.slotScopeIds,W.parent)}}},U=(w,B,j,Y,W,et,it,tt,nt=0)=>{for(let Z=nt;Z<w.length;Z++){const gt=w[Z]=tt?Tr(w[Z]):Qe(w[Z]);F(null,gt,B,j,Y,W,et,it,tt)}},z=(w,B,j,Y,W,et,it)=>{const tt=B.el=w.el;let{patchFlag:nt,dynamicChildren:Z,dirs:gt}=B;nt|=w.patchFlag&16;const ut=w.props||ee,X=B.props||ee;let wt;j&&Xr(j,!1),(wt=X.onVnodeBeforeUpdate)&&Ze(wt,j,B,w),gt&&zn(B,w,j,\"beforeUpdate\"),j&&Xr(j,!0),Fr&&(nt=0,it=!1,Z=null);const Dt=W&&B.type!==\"foreignObject\";if(Z?(V(w.dynamicChildren,Z,tt,j,Y,Dt,et),j&&j.type.__hmrId&&Cs(w,B)):it||Ft(w,B,tt,null,j,Y,Dt,et,!1),nt>0){if(nt&16)rt(tt,B,ut,X,j,Y,W);else if(nt&2&&ut.class!==X.class&&o(tt,\"class\",null,X.class,W),nt&4&&o(tt,\"style\",ut.style,X.style,W),nt&8){const Ht=B.dynamicProps;for(let Tt=0;Tt<Ht.length;Tt++){const J=Ht[Tt],mt=ut[J],xt=X[J];(xt!==mt||J===\"value\")&&o(tt,J,mt,xt,W,w.children,j,Y,Be)}}nt&1&&w.children!==B.children&&f(tt,B.children)}else!it&&Z==null&&rt(tt,B,ut,X,j,Y,W);((wt=X.onVnodeUpdated)||gt)&&Ve(()=>{wt&&Ze(wt,j,B,w),gt&&zn(B,w,j,\"updated\")},Y)},V=(w,B,j,Y,W,et,it)=>{for(let tt=0;tt<B.length;tt++){const nt=w[tt],Z=B[tt],gt=nt.el&&(nt.type===Re||!Hn(nt,Z)||nt.shapeFlag&70)?d(nt.el):j;F(nt,Z,gt,null,Y,W,et,it,!0)}},rt=(w,B,j,Y,W,et,it)=>{if(j!==Y){for(const tt in Y){if(Ss(tt))continue;const nt=Y[tt],Z=j[tt];nt!==Z&&tt!==\"value\"&&o(w,tt,Z,nt,it,B.children,W,et,Be)}if(j!==ee)for(const tt in j)!Ss(tt)&&!(tt in Y)&&o(w,tt,j[tt],null,it,B.children,W,et,Be);\"value\"in Y&&o(w,\"value\",j.value,Y.value)}},Q=(w,B,j,Y,W,et,it,tt,nt)=>{const Z=B.el=w?w.el:a(\"\"),gt=B.anchor=w?w.anchor:a(\"\");let{patchFlag:ut,dynamicChildren:X,slotScopeIds:wt}=B;(Fr||ut&2048)&&(ut=0,nt=!1,X=null),wt&&(tt=tt?tt.concat(wt):wt),w==null?(r(Z,j,Y),r(gt,j,Y),U(B.children,j,gt,W,et,it,tt,nt)):ut>0&&ut&64&&X&&w.dynamicChildren?(V(w.dynamicChildren,X,j,W,et,it,tt),W&&W.type.__hmrId?Cs(w,B):(B.key!=null||W&&B===W.subTree)&&Cs(w,B,!0)):Ft(w,B,j,gt,W,et,it,tt,nt)},bt=(w,B,j,Y,W,et,it,tt,nt)=>{B.slotScopeIds=tt,w==null?B.shapeFlag&512?W.ctx.activate(B,j,Y,it,nt):st(B,j,Y,W,et,it,nt):pt(w,B,nt)},st=(w,B,j,Y,W,et,it)=>{const tt=w.component=Xh(w,Y,W);if(tt.type.__hmrId&&rv(tt),Is(w),qn(tt,\"mount\"),as(w)&&(tt.ctx.renderer=ae),qn(tt,\"init\"),Zh(tt),tr(tt,\"init\"),tt.asyncDep){if(W&&W.registerDep(tt,dt),!w.el){const nt=tt.subTree=me(De);m(null,nt,B,j)}return}dt(tt,w,B,j,W,et,it),Ts(),tr(tt,\"mount\")},pt=(w,B,j)=>{const Y=B.component=w.component;if(vv(w,B,j))if(Y.asyncDep&&!Y.asyncResolved){Is(B),qt(Y,B,j),Ts();return}else Y.next=B,ev(Y.update),Y.update();else B.el=w.el,Y.vnode=B},dt=(w,B,j,Y,W,et,it)=>{const tt=()=>{if(w.isMounted){let{next:gt,bu:ut,u:X,parent:wt,vnode:Dt}=w,Ht=gt,Tt;Is(gt||w.vnode),Xr(w,!1),gt?(gt.el=Dt.el,qt(w,gt,it)):gt=Dt,ut&&xr(ut),(Tt=gt.props&&gt.props.onVnodeBeforeUpdate)&&Ze(Tt,wt,gt,Dt),Xr(w,!0),qn(w,\"render\");const J=Vo(w);tr(w,\"render\");const mt=w.subTree;w.subTree=J,qn(w,\"patch\"),F(mt,J,d(mt.el),Se(mt),w,W,et),tr(w,\"patch\"),gt.el=J.el,Ht===null&&zc(w,J.el),X&&Ve(X,W),(Tt=gt.props&&gt.props.onVnodeUpdated)&&Ve(()=>Ze(Tt,wt,gt,Dt),W),ah(w),Ts()}else{let gt;const{el:ut,props:X}=B,{bm:wt,m:Dt,parent:Ht}=w,Tt=oi(B);if(Xr(w,!1),wt&&xr(wt),!Tt&&(gt=X&&X.onVnodeBeforeMount)&&Ze(gt,Ht,B),Xr(w,!0),ut&&Ue){const J=()=>{qn(w,\"render\"),w.subTree=Vo(w),tr(w,\"render\"),qn(w,\"hydrate\"),Ue(ut,w.subTree,w,W,null),tr(w,\"hydrate\")};Tt?B.type.__asyncLoader().then(()=>!w.isUnmounted&&J()):J()}else{qn(w,\"render\");const J=w.subTree=Vo(w);tr(w,\"render\"),qn(w,\"patch\"),F(null,J,j,Y,w,W,et),tr(w,\"patch\"),B.el=J.el}if(Dt&&Ve(Dt,W),!Tt&&(gt=X&&X.onVnodeMounted)){const J=B;Ve(()=>Ze(gt,Ht,J),W)}(B.shapeFlag&256||Ht&&oi(Ht.vnode)&&Ht.vnode.shapeFlag&256)&&w.a&&Ve(w.a,W),w.isMounted=!0,Gl(w),B=j=Y=null}},nt=w.effect=new so(tt,()=>oo(Z),w.scope),Z=w.update=()=>nt.run();Z.id=w.uid,Xr(w,!0),nt.onTrack=w.rtc?gt=>xr(w.rtc,gt):void 0,nt.onTrigger=w.rtg?gt=>xr(w.rtg,gt):void 0,Z.ownerInstance=w,Z()},qt=(w,B,j)=>{B.component=w;const Y=w.vnode.props;w.vnode=B,w.next=null,Zv(w,B.props,Y,j),sb(w,B.children,j),vi(),yf(),bi()},Ft=(w,B,j,Y,W,et,it,tt,nt=!1)=>{const Z=w&&w.children,gt=w?w.shapeFlag:0,ut=B.children,{patchFlag:X,shapeFlag:wt}=B;if(X>0){if(X&128){ce(Z,ut,j,Y,W,et,it,tt,nt);return}else if(X&256){se(Z,ut,j,Y,W,et,it,tt,nt);return}}wt&8?(gt&16&&Be(Z,W,et),ut!==Z&&f(j,ut)):gt&16?wt&16?ce(Z,ut,j,Y,W,et,it,tt,nt):Be(Z,W,et,!0):(gt&8&&f(j,\"\"),wt&16&&U(ut,j,Y,W,et,it,tt,nt))},se=(w,B,j,Y,W,et,it,tt,nt)=>{w=w||Mi,B=B||Mi;const Z=w.length,gt=B.length,ut=Math.min(Z,gt);let X;for(X=0;X<ut;X++){const wt=B[X]=nt?Tr(B[X]):Qe(B[X]);F(w[X],wt,j,null,W,et,it,tt,nt)}Z>gt?Be(w,W,et,!0,!1,ut):U(B,j,Y,W,et,it,tt,nt,ut)},ce=(w,B,j,Y,W,et,it,tt,nt)=>{let Z=0;const gt=B.length;let ut=w.length-1,X=gt-1;for(;Z<=ut&&Z<=X;){const wt=w[Z],Dt=B[Z]=nt?Tr(B[Z]):Qe(B[Z]);if(Hn(wt,Dt))F(wt,Dt,j,null,W,et,it,tt,nt);else break;Z++}for(;Z<=ut&&Z<=X;){const wt=w[ut],Dt=B[X]=nt?Tr(B[X]):Qe(B[X]);if(Hn(wt,Dt))F(wt,Dt,j,null,W,et,it,tt,nt);else break;ut--,X--}if(Z>ut){if(Z<=X){const wt=X+1,Dt=wt<gt?B[wt].el:Y;for(;Z<=X;)F(null,B[Z]=nt?Tr(B[Z]):Qe(B[Z]),j,Dt,W,et,it,tt,nt),Z++}}else if(Z>X)for(;Z<=ut;)Yt(w[Z],W,et,!0),Z++;else{const wt=Z,Dt=Z,Ht=new Map;for(Z=Dt;Z<=X;Z++){const at=B[Z]=nt?Tr(B[Z]):Qe(B[Z]);at.key!=null&&(Ht.has(at.key)&&G(\"Duplicate keys found during update:\",JSON.stringify(at.key),\"Make sure keys are unique.\"),Ht.set(at.key,Z))}let Tt,J=0;const mt=X-Dt+1;let xt=!1,Rt=0;const ot=new Array(mt);for(Z=0;Z<mt;Z++)ot[Z]=0;for(Z=wt;Z<=ut;Z++){const at=w[Z];if(J>=mt){Yt(at,W,et,!0);continue}let T;if(at.key!=null)T=Ht.get(at.key);else for(Tt=Dt;Tt<=X;Tt++)if(ot[Tt-Dt]===0&&Hn(at,B[Tt])){T=Tt;break}T===void 0?Yt(at,W,et,!0):(ot[T-Dt]=Z+1,T>=Rt?Rt=T:xt=!0,F(at,B[T],j,null,W,et,it,tt,nt),J++)}const ct=xt?ub(ot):Mi;for(Tt=ct.length-1,Z=mt-1;Z>=0;Z--){const at=Dt+Z,T=B[at],v=at+1<gt?B[at+1].el:Y;ot[Z]===0?F(null,T,j,v,W,et,it,tt,nt):xt&&(Tt<0||Z!==ct[Tt]?It(T,j,v,2):Tt--)}}},It=(w,B,j,Y,W=null)=>{const{el:et,type:it,transition:tt,children:nt,shapeFlag:Z}=w;if(Z&6){It(w.component.subTree,B,j,Y);return}if(Z&128){w.suspense.move(B,j,Y);return}if(Z&64){it.move(w,B,j,ae);return}if(it===Re){r(et,B,j);for(let ut=0;ut<nt.length;ut++)It(nt[ut],B,j,Y);r(w.anchor,B,j);return}if(it===Dr){N(w,B,j);return}if(Y!==2&&Z&1&&tt)if(Y===0)tt.beforeEnter(et),r(et,B,j),Ve(()=>tt.enter(et),W);else{const{leave:ut,delayLeave:X,afterLeave:wt}=tt,Dt=()=>r(et,B,j),Ht=()=>{ut(et,()=>{Dt(),wt&&wt()})};X?X(et,Dt,Ht):Ht()}else r(et,B,j)},Yt=(w,B,j,Y=!1,W=!1)=>{const{type:et,props:it,ref:tt,children:nt,dynamicChildren:Z,shapeFlag:gt,patchFlag:ut,dirs:X}=w;if(tt!=null&&ia(tt,null,j,w,!0),gt&256){B.ctx.deactivate(w);return}const wt=gt&1&&X,Dt=!oi(w);let Ht;if(Dt&&(Ht=it&&it.onVnodeBeforeUnmount)&&Ze(Ht,B,w),gt&6)Ye(w.component,j,Y);else{if(gt&128){w.suspense.unmount(j,Y);return}wt&&zn(w,null,B,\"beforeUnmount\"),gt&64?w.type.remove(w,B,j,W,ae,Y):Z&&(et!==Re||ut>0&&ut&64)?Be(Z,B,j,!1,!0):(et===Re&&ut&384||!W&&gt&16)&&Be(nt,B,j),Y&&we(w)}(Dt&&(Ht=it&&it.onVnodeUnmounted)||wt)&&Ve(()=>{Ht&&Ze(Ht,B,w),wt&&zn(w,null,B,\"unmounted\")},j)},we=w=>{const{type:B,el:j,anchor:Y,transition:W}=w;if(B===Re){w.patchFlag>0&&w.patchFlag&2048&&W&&!W.persisted?w.children.forEach(it=>{it.type===De?i(it.el):we(it)}):Oe(j,Y);return}if(B===Dr){P(w);return}const et=()=>{i(j),W&&!W.persisted&&W.afterLeave&&W.afterLeave()};if(w.shapeFlag&1&&W&&!W.persisted){const{leave:it,delayLeave:tt}=W,nt=()=>it(j,et);tt?tt(w.el,et,nt):nt()}else et()},Oe=(w,B)=>{let j;for(;w!==B;)j=h(w),i(w),w=j;i(B)},Ye=(w,B,j)=>{w.type.__hmrId&&iv(w);const{bum:Y,scope:W,update:et,subTree:it,um:tt}=w;Y&&xr(Y),W.stop(),et&&(et.active=!1,Yt(it,w,B,j)),tt&&Ve(tt,B),Ve(()=>{w.isUnmounted=!0},B),B&&B.pendingBranch&&!B.isUnmounted&&w.asyncDep&&!w.asyncResolved&&w.suspenseId===B.pendingId&&(B.deps--,B.deps===0&&B.resolve()),cv(w)},Be=(w,B,j,Y=!1,W=!1,et=0)=>{for(let it=et;it<w.length;it++)Yt(w[it],B,j,Y,W)},Se=w=>w.shapeFlag&6?Se(w.component.subTree):w.shapeFlag&128?w.suspense.next():h(w.anchor||w.el),Ie=(w,B,j)=>{w==null?B._vnode&&Yt(B._vnode,null,null,!0):F(B._vnode||null,w,B,null,null,null,j),yf(),ta(),B._vnode=w},ae={p:F,um:Yt,m:It,r:we,mt:st,mc:U,pc:Ft,pbc:V,n:Se,o:e};let lt,Ue;return t&&([lt,Ue]=t(ae)),{render:Ie,hydrate:lt,createApp:ab(Ie,lt)}}function Xr({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function Cs(e,t,n=!1){const r=e.children,i=t.children;if(vt(r)&&vt(i))for(let o=0;o<r.length;o++){const s=r[o];let a=i[o];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[o]=Tr(i[o]),a.el=s.el),n||Cs(s,a)),a.type===De&&!a.el&&(a.el=s.el)}}function ub(e){const t=e.slice(),n=[0];let r,i,o,s,a;const l=e.length;for(r=0;r<l;r++){const c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(o=0,s=n.length-1;o<s;)a=o+s>>1,e[n[a]]<c?o=a+1:s=a;c<e[n[o]]&&(o>0&&(t[r]=n[o-1]),n[o]=r)}}for(o=n.length,s=n[o-1];o-- >0;)n[o]=s,s=t[s];return n}const fb=e=>e.__isTeleport,Ni=e=>e&&(e.disabled||e.disabled===\"\"),Mf=e=>typeof SVGElement!=\"undefined\"&&e instanceof SVGElement,ec=(e,t)=>{const n=e&&e.to;if(xe(n))if(t){const r=t(n);return r||G(`Failed to locate Teleport target with selector \"${n}\". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`),r}else return G(\"Current renderer does not support string target for Teleports. (missing querySelector renderer option)\"),null;else return!n&&!Ni(e)&&G(`Invalid Teleport target: ${n}`),n},db={__isTeleport:!0,process(e,t,n,r,i,o,s,a,l,c){const{mc:f,pc:d,pbc:h,o:{insert:p,querySelector:b,createText:A,createComment:F}}=c,O=Ni(t.props);let{shapeFlag:m,children:I,dynamicChildren:E}=t;if(Fr&&(l=!1,E=null),e==null){const N=t.el=F(\"teleport start\"),P=t.anchor=F(\"teleport end\");p(N,n,r),p(P,n,r);const R=t.target=ec(t.props,b),C=t.targetAnchor=A(\"\");R?(p(C,R),s=s||Mf(R)):O||G(\"Invalid Teleport target on mount:\",R,`(${typeof R})`);const L=(U,z)=>{m&16&&f(I,U,z,i,o,s,a,l)};O?L(n,P):R&&L(R,C)}else{t.el=e.el;const N=t.anchor=e.anchor,P=t.target=e.target,R=t.targetAnchor=e.targetAnchor,C=Ni(e.props),L=C?n:P,U=C?N:R;if(s=s||Mf(P),E?(h(e.dynamicChildren,E,L,i,o,s,a),Cs(e,t,!0)):l||d(e,t,L,U,i,o,s,a,!1),O)C||Mo(t,n,N,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const z=t.target=ec(t.props,b);z?Mo(t,z,null,c,0):G(\"Invalid Teleport target on update:\",P,`(${typeof P})`)}else C&&Mo(t,P,R,c,1)}},remove(e,t,n,r,{um:i,o:{remove:o}},s){const{shapeFlag:a,children:l,anchor:c,targetAnchor:f,target:d,props:h}=e;if(d&&o(f),(s||!Ni(h))&&(o(c),a&16))for(let p=0;p<l.length;p++){const b=l[p];i(b,t,n,!0,!!b.dynamicChildren)}},move:Mo,hydrate:hb};function Mo(e,t,n,{o:{insert:r},m:i},o=2){o===0&&r(e.targetAnchor,t,n);const{el:s,anchor:a,shapeFlag:l,children:c,props:f}=e,d=o===2;if(d&&r(s,t,n),(!d||Ni(f))&&l&16)for(let h=0;h<c.length;h++)i(c[h],t,n,2);d&&r(a,t,n)}function hb(e,t,n,r,i,o,{o:{nextSibling:s,parentNode:a,querySelector:l}},c){const f=t.target=ec(t.props,l);if(f){const d=f._lpa||f.firstChild;if(t.shapeFlag&16)if(Ni(t.props))t.anchor=c(s(e),t,a(e),n,r,i,o),t.targetAnchor=d;else{t.anchor=s(e);let h=d;for(;h;)if(h=s(h),h&&h.nodeType===8&&h.data===\"teleport anchor\"){t.targetAnchor=h,f._lpa=t.targetAnchor&&s(t.targetAnchor);break}c(d,t,f,n,r,i,o)}}return t.anchor&&s(t.anchor)}const pb=db,Re=Symbol(\"Fragment\"),ui=Symbol(\"Text\"),De=Symbol(\"Comment\"),Dr=Symbol(\"Static\"),Bs=[];let tn=null;function Fn(e=!1){Bs.push(tn=e?null:[])}function kh(){Bs.pop(),tn=Bs[Bs.length-1]||null}let fi=1;function nc(e){fi+=e}function Hh(e){return e.dynamicChildren=fi>0?tn||Mi:null,kh(),fi>0&&tn&&tn.push(e),e}function ai(e,t,n,r,i,o){return Hh(cs(e,t,n,r,i,o,!0))}function za(e,t,n,r,i){return Hh(me(e,t,n,r,i,!0))}function cr(e){return e?e.__v_isVNode===!0:!1}function Hn(e,t){return t.shapeFlag&6&&Bi.has(t.type)?!1:e.type===t.type&&e.key===t.key}let rc;function gb(e){rc=e}const mb=(...e)=>yb(...rc?rc(e,Ne):e),ka=\"__vInternal\",Wh=({key:e})=>e!=null?e:null,zo=({ref:e,ref_key:t,ref_for:n})=>e!=null?xe(e)||Pe(e)||At(e)?{i:Ne,r:e,k:t,f:!!n}:e:null;function cs(e,t=null,n=null,r=0,i=null,o=e===Re?0:1,s=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Wh(t),ref:t&&zo(t),scopeId:Ua,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null};return a?(Zc(l,n),o&128&&e.normalize(l)):n&&(l.shapeFlag|=xe(n)?8:16),l.key!==l.key&&G(\"VNode created with invalid key (NaN). VNode type:\",l.type),fi>0&&!s&&tn&&(l.patchFlag>0||o&6)&&l.patchFlag!==32&&tn.push(l),l}const me=mb;function yb(e,t=null,n=null,r=0,i=null,o=!1){if((!e||e===Eh)&&(e||G(`Invalid vnode type when creating vnode: ${e}.`),e=De),cr(e)){const a=xn(e,t,!0);return n&&Zc(a,n),fi>0&&!o&&tn&&(a.shapeFlag&6?tn[tn.indexOf(e)]=a:tn.push(a)),a.patchFlag|=-2,a}if(tp(e)&&(e=e.__vccOpts),t){t=Yh(t);let{class:a,style:l}=t;a&&!xe(a)&&(t.class=ro(a)),re(l)&&(js(l)&&!vt(l)&&(l=ve({},l)),t.style=no(l))}const s=xe(e)?1:dh(e)?128:fb(e)?64:re(e)?4:At(e)?2:0;return s&4&&js(e)&&(e=$t(e),G(\"Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with `markRaw` or using `shallowRef` instead of `ref`.\",`\nComponent that was made reactive: `,e)),cs(e,t,n,r,i,s,o,!0)}function Yh(e){return e?js(e)||ka in e?ve({},e):e:null}function xn(e,t,n=!1){const{props:r,ref:i,patchFlag:o,children:s}=e,a=t?Kh(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&Wh(a),ref:t&&t.ref?n&&i?vt(i)?i.concat(zo(t)):[i,zo(t)]:zo(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o===-1&&vt(s)?s.map(Gh):s,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Re?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&xn(e.ssContent),ssFallback:e.ssFallback&&xn(e.ssFallback),el:e.el,anchor:e.anchor}}function Gh(e){const t=xn(e);return vt(e.children)&&(t.children=e.children.map(Gh)),t}function Jc(e=\" \",t=0){return me(ui,null,e,t)}function vb(e,t){const n=me(Dr,null,e);return n.staticCount=t,n}function ko(e=\"\",t=!1){return t?(Fn(),za(De,null,e)):me(De,null,e)}function Qe(e){return e==null||typeof e==\"boolean\"?me(De):vt(e)?me(Re,null,e.slice()):typeof e==\"object\"?Tr(e):me(ui,null,String(e))}function Tr(e){return e.el===null||e.memo?e:xn(e)}function Zc(e,t){let n=0;const{shapeFlag:r}=e;if(t==null)t=null;else if(vt(t))n=16;else if(typeof t==\"object\")if(r&65){const i=t.default;i&&(i._c&&(i._d=!1),Zc(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!(ka in t)?t._ctx=Ne:i===3&&Ne&&(Ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else At(t)?(t={default:t,_ctx:Ne},n=32):(t=String(t),r&64?(n=16,t=[Jc(t)]):n=8);e.children=t,e.shapeFlag|=n}function Kh(...e){const t={};for(let n=0;n<e.length;n++){const r=e[n];for(const i in r)if(i===\"class\")t.class!==r.class&&(t.class=ro([t.class,r.class]));else if(i===\"style\")t.style=no([t.style,r.style]);else if(ss(i)){const o=t[i],s=r[i];s&&o!==s&&!(vt(o)&&o.includes(s))&&(t[i]=o?[].concat(o,s):s)}else i!==\"\"&&(t[i]=r[i])}return t}function Ze(e,t,n,r=null){hn(e,t,7,[n,r])}const bb=jh();let wb=0;function Xh(e,t,n){const r=e.type,i=(t?t.appContext:e.appContext)||bb,o={uid:wb++,vnode:e,type:r,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,scope:new Ac(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Ph(r,i),emitsOptions:ch(r,i),emit:null,emitted:null,propsDefaults:ee,inheritAttrs:r.inheritAttrs,ctx:ee,data:ee,props:ee,attrs:ee,slots:ee,refs:ee,setupState:ee,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx=$v(o),o.root=t?t.root:o,o.emit=hv.bind(null,o),e.ce&&e.ce(o),o}let Me=null;const Hr=()=>Me||Ne,Ur=e=>{Me=e,e.scope.on()},Rr=()=>{Me&&Me.scope.off(),Me=null},Sb=fr(\"slot,component\");function ic(e,t){const n=t.isNativeTag||Pd;(Sb(e)||n(e))&&G(\"Do not use built-in or reserved HTML elements as component id: \"+e)}function Jh(e){return e.vnode.shapeFlag&4}let Yi=!1;function Zh(e,t=!1){Yi=t;const{props:n,children:r}=e.vnode,i=Jh(e);Xv(e,n,i,t),ib(e,r);const o=i?Ib(e,t):void 0;return Yi=!1,o}function Ib(e,t){var n;const r=e.type;{if(r.name&&ic(r.name,e.appContext.config),r.components){const o=Object.keys(r.components);for(let s=0;s<o.length;s++)ic(o[s],e.appContext.config)}if(r.directives){const o=Object.keys(r.directives);for(let s=0;s<o.length;s++)Ah(o[s])}r.compilerOptions&&Qc()&&G('\"compilerOptions\" is only supported when using a build of Vue that includes the runtime compiler. Since you are using a runtime-only build, the options should be passed via your build tool config instead.')}e.accessCache=Object.create(null),e.proxy=Fc(new Proxy(e.ctx,Es)),Vv(e);const{setup:i}=r;if(i){const o=e.setupContext=i.length>1?qh(e):null;Ur(e),vi();const s=Yn(i,e,0,[ti(e.props),o]);if(bi(),Rr(),Ca(s)){if(s.then(Rr,Rr),t)return s.then(a=>{sc(e,a,t)}).catch(a=>{wi(a,e,0)});if(e.asyncDep=s,!e.suspense){const a=(n=r.name)!==null&&n!==void 0?n:\"Anonymous\";G(`Component <${a}>: setup function returned a promise, but no <Suspense> boundary was found in the parent component tree. A component with async setup() must be nested in a <Suspense> in order to be rendered.`)}}else sc(e,s,t)}else Qh(e,t)}function sc(e,t,n){At(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:re(t)?(cr(t)&&G(\"setup() should not return VNodes directly - return a render function instead.\"),e.devtoolsRawSetupState=t,e.setupState=Pc(t),zv(e)):t!==void 0&&G(`setup() should return an object. Received: ${t===null?\"null\":typeof t}`),Qh(e,n)}let Fs,oc;function Tb(e){Fs=e,oc=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,jv))}}const Qc=()=>!Fs;function Qh(e,t,n){const r=e.type;if(!e.render){if(!t&&Fs&&!r.render){const i=r.template;if(i){qn(e,\"compile\");const{isCustomElement:o,compilerOptions:s}=e.appContext.config,{delimiters:a,compilerOptions:l}=r,c=ve(ve({isCustomElement:o,delimiters:a},s),l);r.render=Fs(i,c),tr(e,\"compile\")}}e.render=r.render||qe,oc&&oc(e)}Ur(e),vi(),Hv(e),bi(),Rr(),!r.render&&e.render===qe&&!t&&(!Fs&&r.template?G('Component provided template option but runtime compilation is not supported in this build of Vue. Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".'):G(\"Component is missing template or render function.\"))}function xb(e){return new Proxy(e.attrs,{get(t,n){return ea(),mn(e,\"get\",\"$attrs\"),t[n]},set(){return G(\"setupContext.attrs is readonly.\"),!1},deleteProperty(){return G(\"setupContext.attrs is readonly.\"),!1}})}function qh(e){const t=r=>{e.exposed&&G(\"expose() should be called only once per setup().\"),e.exposed=r||{}};let n;return Object.freeze({get attrs(){return n||(n=xb(e))},get slots(){return ti(e.slots)},get emit(){return(r,...i)=>e.emit(r,...i)},expose:t})}function Ha(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Pc(Fc(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Wi)return Wi[n](e)}}))}const Ob=/(?:^|[-_])(\\w)/g,Ab=e=>e.replace(Ob,t=>t.toUpperCase()).replace(/[-_]/g,\"\");function Hs(e,t=!0){return At(e)?e.displayName||e.name:e.name||t&&e.__name}function Wa(e,t,n=!1){let r=Hs(t);if(!r&&t.__file){const i=t.__file.match(/([^/\\\\]+)\\.\\w+$/);i&&(r=i[1])}if(!r&&e&&e.parent){const i=o=>{for(const s in o)if(o[s]===t)return s};r=i(e.components||e.parent.type.components)||i(e.appContext.components)}return r?Ab(r):n?\"App\":\"Anonymous\"}function tp(e){return At(e)&&\"__vccOpts\"in e}const ep=(e,t)=>Gy(e,t,Yi),Ya=e=>G(`${e}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`);function Eb(){return Ya(\"defineProps\"),null}function Cb(){return Ya(\"defineEmits\"),null}function Bb(e){Ya(\"defineExpose\")}function Fb(e,t){return Ya(\"withDefaults\"),null}function Db(){return np().slots}function Rb(){return np().attrs}function np(){const e=Hr();return e||G(\"useContext() called without active instance.\"),e.setupContext||(e.setupContext=qh(e))}function Mb(e,t){const n=vt(e)?e.reduce((r,i)=>(r[i]={},r),{}):e;for(const r in t){const i=n[r];i?vt(i)||At(i)?n[r]={type:i,default:t[r]}:i.default=t[r]:i===null?n[r]={default:t[r]}:G(`props default key \"${r}\" has no corresponding declaration.`)}return n}function Pb(e,t){const n={};for(const r in e)t.includes(r)||Object.defineProperty(n,r,{enumerable:!0,get:()=>e[r]});return n}function Lb(e){const t=Hr();t||G(\"withAsyncContext called without active current instance. This is likely a bug.\");let n=e();return Rr(),Ca(n)&&(n=n.catch(r=>{throw Ur(t),r})),[n,()=>Ur(t)]}function rp(e,t,n){const r=arguments.length;return r===2?re(t)&&!vt(t)?cr(t)?me(e,null,[t]):me(e,t):me(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&cr(n)&&(n=[n]),me(e,t,n))}const ip=Symbol(\"ssrContext\"),_b=()=>{{const e=Os(ip);return e||G(\"Server rendering context not provided. Make sure to only call useSSRContext() conditionally in the server build.\"),e}};function xl(e){return!!(e&&e.__v_isShallow)}function sp(){if(typeof window==\"undefined\")return;const e={style:\"color:#3ba776\"},t={style:\"color:#0b1bc9\"},n={style:\"color:#b62e24\"},r={style:\"color:#9d288c\"},i={header(d){return re(d)?d.__isVue?[\"div\",e,\"VueInstance\"]:Pe(d)?[\"div\",{},[\"span\",e,f(d)],\"<\",a(d.value),\">\"]:Br(d)?[\"div\",{},[\"span\",e,xl(d)?\"ShallowReactive\":\"Reactive\"],\"<\",a(d),`>${lr(d)?\" (readonly)\":\"\"}`]:lr(d)?[\"div\",{},[\"span\",e,xl(d)?\"ShallowReadonly\":\"Readonly\"],\"<\",a(d),\">\"]:null:null},hasBody(d){return d&&d.__isVue},body(d){if(d&&d.__isVue)return[\"div\",{},...o(d.$)]}};function o(d){const h=[];d.type.props&&d.props&&h.push(s(\"props\",$t(d.props))),d.setupState!==ee&&h.push(s(\"setup\",d.setupState)),d.data!==ee&&h.push(s(\"data\",$t(d.data)));const p=l(d,\"computed\");p&&h.push(s(\"computed\",p));const b=l(d,\"inject\");return b&&h.push(s(\"injected\",b)),h.push([\"div\",{},[\"span\",{style:r.style+\";opacity:0.66\"},\"$ (internal): \"],[\"object\",{object:d}]]),h}function s(d,h){return h=ve({},h),Object.keys(h).length?[\"div\",{style:\"line-height:1.25em;margin-bottom:0.6em\"},[\"div\",{style:\"color:#476582\"},d],[\"div\",{style:\"padding-left:1.25em\"},...Object.keys(h).map(p=>[\"div\",{},[\"span\",r,p+\": \"],a(h[p],!1)])]]:[\"span\",{}]}function a(d,h=!0){return typeof d==\"number\"?[\"span\",t,d]:typeof d==\"string\"?[\"span\",n,JSON.stringify(d)]:typeof d==\"boolean\"?[\"span\",r,d]:re(d)?[\"object\",{object:h?$t(d):d}]:[\"span\",n,String(d)]}function l(d,h){const p=d.type;if(At(p))return;const b={};for(const A in d.ctx)c(p,A,h)&&(b[A]=d.ctx[A]);return b}function c(d,h,p){const b=d[p];if(vt(b)&&b.includes(h)||re(b)&&h in b||d.extends&&c(d.extends,h,p)||d.mixins&&d.mixins.some(A=>c(A,h,p)))return!0}function f(d){return xl(d)?\"ShallowRef\":d.effect?\"ComputedRef\":\"Ref\"}window.devtoolsFormatters?window.devtoolsFormatters.push(i):window.devtoolsFormatters=[i]}function Nb(e,t,n,r){const i=n[r];if(i&&op(i,e))return i;const o=t();return o.memo=e.slice(),n[r]=o}function op(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let r=0;r<n.length;r++)if(ki(n[r],t[r]))return!1;return fi>0&&tn&&tn.push(e),!0}const ac=\"3.2.38\",Ub={createComponentInstance:Xh,setupComponent:Zh,renderComponentRoot:Vo,setCurrentRenderingInstance:zs,isVNode:cr,normalizeVNode:Qe},jb=Ub,$b=null,Vb=null,zb=\"http://www.w3.org/2000/svg\",qr=typeof document!=\"undefined\"?document:null,Pf=qr&&qr.createElement(\"template\"),kb={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const i=t?qr.createElementNS(zb,e):qr.createElement(e,n?{is:n}:void 0);return e===\"select\"&&r&&r.multiple!=null&&i.setAttribute(\"multiple\",r.multiple),i},createText:e=>qr.createTextNode(e),createComment:e=>qr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>qr.querySelector(e),setScopeId(e,t){e.setAttribute(t,\"\")},cloneNode(e){const t=e.cloneNode(!0);return\"_value\"in e&&(t._value=e._value),t},insertStaticContent(e,t,n,r,i,o){const s=n?n.previousSibling:t.lastChild;if(i&&(i===o||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===o||!(i=i.nextSibling)););else{Pf.innerHTML=r?`<svg>${e}</svg>`:e;const a=Pf.content;if(r){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}};function Hb(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(\" \")),t==null?e.removeAttribute(\"class\"):n?e.setAttribute(\"class\",t):e.className=t}function Wb(e,t,n){const r=e.style,i=xe(n);if(n&&!i){for(const o in n)lc(r,o,n[o]);if(t&&!xe(t))for(const o in t)n[o]==null&&lc(r,o,\"\")}else{const o=r.display;i?t!==n&&(r.cssText=n):t&&e.removeAttribute(\"style\"),\"_vod\"in e&&(r.display=o)}}const Lf=/\\s*!important$/;function lc(e,t,n){if(vt(n))n.forEach(r=>lc(e,t,r));else if(n==null&&(n=\"\"),t.startsWith(\"--\"))e.setProperty(t,n);else{const r=Yb(e,t);Lf.test(n)?e.setProperty(In(r),n.replace(Lf,\"\"),\"important\"):e[r]=n}}const _f=[\"Webkit\",\"Moz\",\"ms\"],Ol={};function Yb(e,t){const n=Ol[t];if(n)return n;let r=gn(t);if(r!==\"filter\"&&r in e)return Ol[t]=r;r=Lr(r);for(let i=0;i<_f.length;i++){const o=_f[i]+r;if(o in e)return Ol[t]=o}return t}const Nf=\"http://www.w3.org/1999/xlink\";function Gb(e,t,n,r,i){if(r&&t.startsWith(\"xlink:\"))n==null?e.removeAttributeNS(Nf,t.slice(6,t.length)):e.setAttributeNS(Nf,t,n);else{const o=Ym(t);n==null||o&&!Dd(n)?e.removeAttribute(t):e.setAttribute(t,o?\"\":n)}}function Kb(e,t,n,r,i,o,s){if(t===\"innerHTML\"||t===\"textContent\"){r&&s(r,i,o),e[t]=n==null?\"\":n;return}if(t===\"value\"&&e.tagName!==\"PROGRESS\"&&!e.tagName.includes(\"-\")){e._value=n;const l=n==null?\"\":n;(e.value!==l||e.tagName===\"OPTION\")&&(e.value=l),n==null&&e.removeAttribute(t);return}let a=!1;if(n===\"\"||n==null){const l=typeof e[t];l===\"boolean\"?n=Dd(n):n==null&&l===\"string\"?(n=\"\",a=!0):l===\"number\"&&(n=0,a=!0)}try{e[t]=n}catch(l){G(`Failed setting prop \"${t}\" on <${e.tagName.toLowerCase()}>: value ${n} is invalid.`,l)}a&&e.removeAttribute(t)}const[ap,Xb]=(()=>{let e=Date.now,t=!1;if(typeof window!=\"undefined\"){Date.now()>document.createEvent(\"Event\").timeStamp&&(e=performance.now.bind(performance));const n=navigator.userAgent.match(/firefox\\/(\\d+)/i);t=!!(n&&Number(n[1])<=53)}return[e,t]})();let cc=0;const Jb=Promise.resolve(),Zb=()=>{cc=0},Qb=()=>cc||(Jb.then(Zb),cc=ap());function ir(e,t,n,r){e.addEventListener(t,n,r)}function qb(e,t,n,r){e.removeEventListener(t,n,r)}function t0(e,t,n,r,i=null){const o=e._vei||(e._vei={}),s=o[t];if(r&&s)s.value=r;else{const[a,l]=e0(t);if(r){const c=o[t]=n0(r,i);ir(e,a,c,l)}else s&&(qb(e,a,s,l),o[t]=void 0)}}const Uf=/(?:Once|Passive|Capture)$/;function e0(e){let t;if(Uf.test(e)){t={};let r;for(;r=e.match(Uf);)e=e.slice(0,e.length-r[0].length),t[r[0].toLowerCase()]=!0}return[e[2]===\":\"?e.slice(3):In(e.slice(2)),t]}function n0(e,t){const n=r=>{const i=r.timeStamp||ap();(Xb||i>=n.attached-1)&&hn(r0(r,n.value),t,5,[r])};return n.value=e,n.attached=Qb(),n}function r0(e,t){if(vt(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(r=>i=>!i._stopped&&r&&r(i))}else return t}const jf=/^on[a-z]/,i0=(e,t,n,r,i=!1,o,s,a,l)=>{t===\"class\"?Hb(e,r,i):t===\"style\"?Wb(e,n,r):ss(t)?Jo(t)||t0(e,t,n,r,s):(t[0]===\".\"?(t=t.slice(1),!0):t[0]===\"^\"?(t=t.slice(1),!1):s0(e,t,r,i))?Kb(e,t,r,o,s,a,l):(t===\"true-value\"?e._trueValue=r:t===\"false-value\"&&(e._falseValue=r),Gb(e,t,r,i))};function s0(e,t,n,r){return r?!!(t===\"innerHTML\"||t===\"textContent\"||t in e&&jf.test(t)&&At(n)):t===\"spellcheck\"||t===\"draggable\"||t===\"translate\"||t===\"form\"||t===\"list\"&&e.tagName===\"INPUT\"||t===\"type\"&&e.tagName===\"TEXTAREA\"||jf.test(t)&&xe(n)?!1:t in e}function lp(e,t){const n=os(e);class r extends Ga{constructor(o){super(n,o,t)}}return r.def=n,r}const o0=e=>lp(e,Tp),a0=typeof HTMLElement!=\"undefined\"?HTMLElement:class{};class Ga extends a0{constructor(t,n={},r){super(),this._def=t,this._props=n,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this.shadowRoot&&r?r(this._createVNode(),this.shadowRoot):(this.shadowRoot&&G(\"Custom element has pre-rendered declarative shadow root but is not defined as hydratable. Use `defineSSRCustomElement`.\"),this.attachShadow({mode:\"open\"}))}connectedCallback(){this._connected=!0,this._instance||this._resolveDef()}disconnectedCallback(){this._connected=!1,Nc(()=>{this._connected||(fc(null,this.shadowRoot),this._instance=null)})}_resolveDef(){if(this._resolved)return;this._resolved=!0;for(let r=0;r<this.attributes.length;r++)this._setAttr(this.attributes[r].name);new MutationObserver(r=>{for(const i of r)this._setAttr(i.attributeName)}).observe(this,{attributes:!0});const t=r=>{const{props:i,styles:o}=r,s=!vt(i),a=i?s?Object.keys(i):i:[];let l;if(s)for(const c in this._props){const f=i[c];(f===Number||f&&f.type===Number)&&(this._props[c]=_r(this._props[c]),(l||(l=Object.create(null)))[c]=!0)}this._numberProps=l;for(const c of Object.keys(this))c[0]!==\"_\"&&this._setProp(c,this[c],!0,!1);for(const c of a.map(gn))Object.defineProperty(this,c,{get(){return this._getProp(c)},set(f){this._setProp(c,f)}});this._applyStyles(o),this._update()},n=this._def.__asyncLoader;n?n().then(t):t(this._def)}_setAttr(t){let n=this.getAttribute(t);this._numberProps&&this._numberProps[t]&&(n=_r(n)),this._setProp(gn(t),n,!1)}_getProp(t){return this._props[t]}_setProp(t,n,r=!0,i=!0){n!==this._props[t]&&(this._props[t]=n,i&&this._instance&&this._update(),r&&(n===!0?this.setAttribute(In(t),\"\"):typeof n==\"string\"||typeof n==\"number\"?this.setAttribute(In(t),n+\"\"):n||this.removeAttribute(In(t))))}_update(){fc(this._createVNode(),this.shadowRoot)}_createVNode(){const t=me(this._def,ve({},this._props));return this._instance||(t.ce=n=>{this._instance=n,n.isCE=!0,n.ceReload=i=>{this._styles&&(this._styles.forEach(o=>this.shadowRoot.removeChild(o)),this._styles.length=0),this._applyStyles(i),this._def.__asyncLoader||(this._instance=null,this._update())},n.emit=(i,...o)=>{this.dispatchEvent(new CustomEvent(i,{detail:o}))};let r=this;for(;r=r&&(r.parentNode||r.host);)if(r instanceof Ga){n.parent=r._instance;break}}),t}_applyStyles(t){t&&t.forEach(n=>{const r=document.createElement(\"style\");r.textContent=n,this.shadowRoot.appendChild(r),(this._styles||(this._styles=[])).push(r)})}}function l0(e=\"$style\"){{const t=Hr();if(!t)return G(\"useCssModule must be called inside setup()\"),ee;const n=t.type.__cssModules;if(!n)return G(\"Current instance does not have CSS modules injected.\"),ee;const r=n[e];return r||(G(`Current instance does not have CSS module named \"${e}\".`),ee)}}function c0(e){const t=Hr();if(!t){G(\"useCssVars is called without current active component instance.\");return}const n=()=>uc(t.subTree,e(t.proxy));gh(n),Si(()=>{const r=new MutationObserver(n);r.observe(t.subTree.el.parentNode,{childList:!0}),uo(()=>r.disconnect())})}function uc(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{uc(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)$f(e.el,t);else if(e.type===Re)e.children.forEach(n=>uc(n,t));else if(e.type===Dr){let{el:n,anchor:r}=e;for(;n&&($f(n,t),n!==r);)n=n.nextSibling}}function $f(e,t){if(e.nodeType===1){const n=e.style;for(const r in t)n.setProperty(`--${r}`,t[r])}}const vr=\"transition\",hs=\"animation\",qc=(e,{slots:t})=>rp(Wc,up(e),t);qc.displayName=\"Transition\";const cp={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},u0=qc.props=ve({},Wc.props,cp),Jr=(e,t=[])=>{vt(e)?e.forEach(n=>n(...t)):e&&e(...t)},Vf=e=>e?vt(e)?e.some(t=>t.length>1):e.length>1:!1;function up(e){const t={};for(const V in e)V in cp||(t[V]=e[V]);if(e.css===!1)return t;const{name:n=\"v\",type:r,duration:i,enterFromClass:o=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=o,appearActiveClass:c=s,appearToClass:f=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:h=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,b=f0(i),A=b&&b[0],F=b&&b[1],{onBeforeEnter:O,onEnter:m,onEnterCancelled:I,onLeave:E,onLeaveCancelled:N,onBeforeAppear:P=O,onAppear:R=m,onAppearCancelled:C=I}=t,L=(V,rt,Q)=>{wr(V,rt?f:a),wr(V,rt?c:s),Q&&Q()},U=(V,rt)=>{V._isLeaving=!1,wr(V,d),wr(V,p),wr(V,h),rt&&rt()},z=V=>(rt,Q)=>{const bt=V?R:m,st=()=>L(rt,V,Q);Jr(bt,[rt,st]),zf(()=>{wr(rt,V?l:o),er(rt,V?f:a),Vf(bt)||kf(rt,r,A,st)})};return ve(t,{onBeforeEnter(V){Jr(O,[V]),er(V,o),er(V,s)},onBeforeAppear(V){Jr(P,[V]),er(V,l),er(V,c)},onEnter:z(!1),onAppear:z(!0),onLeave(V,rt){V._isLeaving=!0;const Q=()=>U(V,rt);er(V,d),dp(),er(V,h),zf(()=>{!V._isLeaving||(wr(V,d),er(V,p),Vf(E)||kf(V,r,F,Q))}),Jr(E,[V,Q])},onEnterCancelled(V){L(V,!1),Jr(I,[V])},onAppearCancelled(V){L(V,!0),Jr(C,[V])},onLeaveCancelled(V){U(V),Jr(N,[V])}})}function f0(e){if(e==null)return null;if(re(e))return[Al(e.enter),Al(e.leave)];{const t=Al(e);return[t,t]}}function Al(e){const t=_r(e);return d0(t),t}function d0(e){typeof e!=\"number\"?G(`<transition> explicit duration is not a valid number - got ${JSON.stringify(e)}.`):isNaN(e)&&G(\"<transition> explicit duration is NaN - the duration expression might be incorrect.\")}function er(e,t){t.split(/\\s+/).forEach(n=>n&&e.classList.add(n)),(e._vtc||(e._vtc=new Set)).add(t)}function wr(e,t){t.split(/\\s+/).forEach(r=>r&&e.classList.remove(r));const{_vtc:n}=e;n&&(n.delete(t),n.size||(e._vtc=void 0))}function zf(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let h0=0;function kf(e,t,n,r){const i=e._endId=++h0,o=()=>{i===e._endId&&r()};if(n)return setTimeout(o,n);const{type:s,timeout:a,propCount:l}=fp(e,t);if(!s)return r();const c=s+\"end\";let f=0;const d=()=>{e.removeEventListener(c,h),o()},h=p=>{p.target===e&&++f>=l&&d()};setTimeout(()=>{f<l&&d()},a+1),e.addEventListener(c,h)}function fp(e,t){const n=window.getComputedStyle(e),r=b=>(n[b]||\"\").split(\", \"),i=r(vr+\"Delay\"),o=r(vr+\"Duration\"),s=Hf(i,o),a=r(hs+\"Delay\"),l=r(hs+\"Duration\"),c=Hf(a,l);let f=null,d=0,h=0;t===vr?s>0&&(f=vr,d=s,h=o.length):t===hs?c>0&&(f=hs,d=c,h=l.length):(d=Math.max(s,c),f=d>0?s>c?vr:hs:null,h=f?f===vr?o.length:l.length:0);const p=f===vr&&/\\b(transform|all)(,|$)/.test(n[vr+\"Property\"]);return{type:f,timeout:d,propCount:h,hasTransform:p}}function Hf(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,r)=>Wf(n)+Wf(e[r])))}function Wf(e){return Number(e.slice(0,-1).replace(\",\",\".\"))*1e3}function dp(){return document.body.offsetHeight}const hp=new WeakMap,pp=new WeakMap,p0={name:\"TransitionGroup\",props:ve({},u0,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Hr(),r=Hc();let i,o;return ls(()=>{if(!i.length)return;const s=e.moveClass||`${e.name||\"v\"}-move`;if(!b0(i[0].el,n.vnode.el,s))return;i.forEach(m0),i.forEach(y0);const a=i.filter(v0);dp(),a.forEach(l=>{const c=l.el,f=c.style;er(c,s),f.transform=f.webkitTransform=f.transitionDuration=\"\";const d=c._moveCb=h=>{h&&h.target!==c||(!h||/transform$/.test(h.propertyName))&&(c.removeEventListener(\"transitionend\",d),c._moveCb=null,wr(c,s))};c.addEventListener(\"transitionend\",d)})}),()=>{const s=$t(e),a=up(s);let l=s.tag||Re;i=o,o=t.default?ja(t.default()):[];for(let c=0;c<o.length;c++){const f=o[c];f.key!=null?ci(f,Hi(f,a,r,n)):G(\"<TransitionGroup> children must be keyed.\")}if(i)for(let c=0;c<i.length;c++){const f=i[c];ci(f,Hi(f,a,r,n)),hp.set(f,f.el.getBoundingClientRect())}return me(l,null,o)}}},g0=p0;function m0(e){const t=e.el;t._moveCb&&t._moveCb(),t._enterCb&&t._enterCb()}function y0(e){pp.set(e,e.el.getBoundingClientRect())}function v0(e){const t=hp.get(e),n=pp.get(e),r=t.left-n.left,i=t.top-n.top;if(r||i){const o=e.el.style;return o.transform=o.webkitTransform=`translate(${r}px,${i}px)`,o.transitionDuration=\"0s\",e}}function b0(e,t,n){const r=e.cloneNode();e._vtc&&e._vtc.forEach(s=>{s.split(/\\s+/).forEach(a=>a&&r.classList.remove(a))}),n.split(/\\s+/).forEach(s=>s&&r.classList.add(s)),r.style.display=\"none\";const i=t.nodeType===1?t:t.parentNode;i.appendChild(r);const{hasTransform:o}=fp(r);return i.removeChild(r),o}const jr=e=>{const t=e.props[\"onUpdate:modelValue\"]||!1;return vt(t)?n=>xr(t,n):t};function w0(e){e.target.composing=!0}function Yf(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(\"input\")))}const oa={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e._assign=jr(i);const o=r||i.props&&i.props.type===\"number\";ir(e,t?\"change\":\"input\",s=>{if(s.target.composing)return;let a=e.value;n&&(a=a.trim()),o&&(a=_r(a)),e._assign(a)}),n&&ir(e,\"change\",()=>{e.value=e.value.trim()}),t||(ir(e,\"compositionstart\",w0),ir(e,\"compositionend\",Yf),ir(e,\"change\",Yf))},mounted(e,{value:t}){e.value=t==null?\"\":t},beforeUpdate(e,{value:t,modifiers:{lazy:n,trim:r,number:i}},o){if(e._assign=jr(o),e.composing||document.activeElement===e&&e.type!==\"range\"&&(n||r&&e.value.trim()===t||(i||e.type===\"number\")&&_r(e.value)===t))return;const s=t==null?\"\":t;e.value!==s&&(e.value=s)}},tu={deep:!0,created(e,t,n){e._assign=jr(n),ir(e,\"change\",()=>{const r=e._modelValue,i=Gi(e),o=e.checked,s=e._assign;if(vt(r)){const a=Ea(r,i),l=a!==-1;if(o&&!l)s(r.concat(i));else if(!o&&l){const c=[...r];c.splice(a,1),s(c)}}else if(yi(r)){const a=new Set(r);o?a.add(i):a.delete(i),s(a)}else s(mp(e,o))})},mounted:Gf,beforeUpdate(e,t,n){e._assign=jr(n),Gf(e,t,n)}};function Gf(e,{value:t,oldValue:n},r){e._modelValue=t,vt(t)?e.checked=Ea(t,r.props.value)>-1:yi(t)?e.checked=t.has(r.props.value):t!==n&&(e.checked=Pr(t,mp(e,!0)))}const eu={created(e,{value:t},n){e.checked=Pr(t,n.props.value),e._assign=jr(n),ir(e,\"change\",()=>{e._assign(Gi(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e._assign=jr(r),t!==n&&(e.checked=Pr(t,r.props.value))}},gp={deep:!0,created(e,{value:t,modifiers:{number:n}},r){const i=yi(t);ir(e,\"change\",()=>{const o=Array.prototype.filter.call(e.options,s=>s.selected).map(s=>n?_r(Gi(s)):Gi(s));e._assign(e.multiple?i?new Set(o):o:o[0])}),e._assign=jr(r)},mounted(e,{value:t}){Kf(e,t)},beforeUpdate(e,t,n){e._assign=jr(n)},updated(e,{value:t}){Kf(e,t)}};function Kf(e,t){const n=e.multiple;if(n&&!vt(t)&&!yi(t)){G(`<select multiple v-model> expects an Array or Set value for its binding, but got ${Object.prototype.toString.call(t).slice(8,-1)}.`);return}for(let r=0,i=e.options.length;r<i;r++){const o=e.options[r],s=Gi(o);if(n)vt(t)?o.selected=Ea(t,s)>-1:o.selected=t.has(s);else if(Pr(Gi(o),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}function Gi(e){return\"_value\"in e?e._value:e.value}function mp(e,t){const n=t?\"_trueValue\":\"_falseValue\";return n in e?e[n]:t}const yp={created(e,t,n){Po(e,t,n,null,\"created\")},mounted(e,t,n){Po(e,t,n,null,\"mounted\")},beforeUpdate(e,t,n,r){Po(e,t,n,r,\"beforeUpdate\")},updated(e,t,n,r){Po(e,t,n,r,\"updated\")}};function vp(e,t){switch(e){case\"SELECT\":return gp;case\"TEXTAREA\":return oa;default:switch(t){case\"checkbox\":return tu;case\"radio\":return eu;default:return oa}}}function Po(e,t,n,r,i){const s=vp(e.tagName,n.props&&n.props.type)[i];s&&s(e,t,n,r)}function S0(){oa.getSSRProps=({value:e})=>({value:e}),eu.getSSRProps=({value:e},t)=>{if(t.props&&Pr(t.props.value,e))return{checked:!0}},tu.getSSRProps=({value:e},t)=>{if(vt(e)){if(t.props&&Ea(e,t.props.value)>-1)return{checked:!0}}else if(yi(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},yp.getSSRProps=(e,t)=>{if(typeof t.type!=\"string\")return;const n=vp(t.type.toUpperCase(),t.props&&t.props.type);if(n.getSSRProps)return n.getSSRProps(e,t)}}const I0=[\"ctrl\",\"shift\",\"alt\",\"meta\"],T0={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>\"button\"in e&&e.button!==0,middle:e=>\"button\"in e&&e.button!==1,right:e=>\"button\"in e&&e.button!==2,exact:(e,t)=>I0.some(n=>e[`${n}Key`]&&!t.includes(n))},x0=(e,t)=>(n,...r)=>{for(let i=0;i<t.length;i++){const o=T0[t[i]];if(o&&o(n,t))return}return e(n,...r)},O0={esc:\"escape\",space:\" \",up:\"arrow-up\",left:\"arrow-left\",right:\"arrow-right\",down:\"arrow-down\",delete:\"backspace\"},A0=(e,t)=>n=>{if(!(\"key\"in n))return;const r=In(n.key);if(t.some(i=>i===r||O0[i]===r))return e(n)},bp={beforeMount(e,{value:t},{transition:n}){e._vod=e.style.display===\"none\"?\"\":e.style.display,n&&t?n.beforeEnter(e):ps(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:r}){!t!=!n&&(r?t?(r.beforeEnter(e),ps(e,!0),r.enter(e)):r.leave(e,()=>{ps(e,!1)}):ps(e,t))},beforeUnmount(e,{value:t}){ps(e,t)}};function ps(e,t){e.style.display=t?e._vod:\"none\"}function E0(){bp.getSSRProps=({value:e})=>{if(!e)return{style:{display:\"none\"}}}}const wp=ve({patchProp:i0},kb);let Ds,Xf=!1;function Sp(){return Ds||(Ds=$h(wp))}function Ip(){return Ds=Xf?Ds:Vh(wp),Xf=!0,Ds}const fc=(...e)=>{Sp().render(...e)},Tp=(...e)=>{Ip().hydrate(...e)},xp=(...e)=>{const t=Sp().createApp(...e);Op(t),Ap(t);const{mount:n}=t;return t.mount=r=>{const i=Ep(r);if(!i)return;const o=t._component;!At(o)&&!o.render&&!o.template&&(o.template=i.innerHTML),i.innerHTML=\"\";const s=n(i,!1,i instanceof SVGElement);return i instanceof Element&&(i.removeAttribute(\"v-cloak\"),i.setAttribute(\"data-v-app\",\"\")),s},t},C0=(...e)=>{const t=Ip().createApp(...e);Op(t),Ap(t);const{mount:n}=t;return t.mount=r=>{const i=Ep(r);if(i)return n(i,!0,i instanceof SVGElement)},t};function Op(e){Object.defineProperty(e.config,\"isNativeTag\",{value:t=>qm(t)||ty(t),writable:!1})}function Ap(e){if(Qc()){const t=e.config.isCustomElement;Object.defineProperty(e.config,\"isCustomElement\",{get(){return t},set(){G(\"The `isCustomElement` config option is deprecated. Use `compilerOptions.isCustomElement` instead.\")}});const n=e.config.compilerOptions,r='The `compilerOptions` config option is only respected when using a build of Vue.js that includes the runtime compiler (aka \"full build\"). Since you are using the runtime-only build, `compilerOptions` must be passed to `@vue/compiler-dom` in the build setup instead.\\n- For vue-loader: pass it via vue-loader\\'s `compilerOptions` loader option.\\n- For vue-cli: see https://cli.vuejs.org/guide/webpack.html#modifying-options-of-a-loader\\n- For vite: pass it via @vitejs/plugin-vue options. See https://github.com/vitejs/vite/tree/main/packages/plugin-vue#example-for-passing-options-to-vuecompiler-dom';Object.defineProperty(e.config,\"compilerOptions\",{get(){return G(r),n},set(){G(r)}})}}function Ep(e){if(xe(e)){const t=document.querySelector(e);return t||G(`Failed to mount app: mount target selector \"${e}\" returned null.`),t}return window.ShadowRoot&&e instanceof window.ShadowRoot&&e.mode===\"closed\"&&G('mounting on a ShadowRoot with `{mode: \"closed\"}` may lead to unpredictable bugs'),e}let Jf=!1;const B0=()=>{Jf||(Jf=!0,S0(),E0())};function F0(){sp()}F0();const D0=()=>{G('Runtime compilation is not supported in this build of Vue. Configure your bundler to alias \"vue\" to \"vue/dist/vue.esm-bundler.js\".')};var R0=Object.freeze(Object.defineProperty({__proto__:null,compile:D0,EffectScope:Ac,ReactiveEffect:so,customRef:ky,effect:dy,effectScope:ay,getCurrentScope:ly,isProxy:js,isReactive:Br,isReadonly:lr,isRef:Pe,isShallow:Us,markRaw:Fc,onScopeDispose:cy,proxyRefs:Pc,reactive:Ma,readonly:Bc,ref:Pi,shallowReactive:Qd,shallowReadonly:ti,shallowRef:Uy,stop:hy,toRaw:$t,toRef:th,toRefs:Hy,triggerRef:$y,unref:Mc,camelize:gn,capitalize:Lr,normalizeClass:ro,normalizeProps:Jm,normalizeStyle:no,toDisplayString:Rd,toHandlerKey:rr,BaseTransition:Wc,Comment:De,Fragment:Re,KeepAlive:Dv,Static:Dr,Suspense:wv,Teleport:pb,Text:ui,callWithAsyncErrorHandling:hn,callWithErrorHandling:Yn,cloneVNode:xn,compatUtils:Vb,computed:ep,createBlock:za,createCommentVNode:ko,createElementBlock:ai,createElementVNode:cs,createHydrationRenderer:Vh,createPropsRestProxy:Pb,createRenderer:$h,createSlots:Nv,createStaticVNode:vb,createTextVNode:Jc,createVNode:me,defineAsyncComponent:Bv,defineComponent:os,defineEmits:Cb,defineExpose:Bb,defineProps:Eb,get devtools(){return Or},getCurrentInstance:Hr,getTransitionRawChildren:ja,guardReactiveProps:Yh,h:rp,handleError:wi,initCustomFormatter:sp,inject:Os,isMemoSame:op,isRuntimeOnly:Qc,isVNode:cr,mergeDefaults:Mb,mergeProps:Kh,nextTick:Nc,onActivated:vh,onBeforeMount:Sh,onBeforeUnmount:Va,onBeforeUpdate:Ih,onDeactivated:bh,onErrorCaptured:Yc,onMounted:Si,onRenderTracked:Oh,onRenderTriggered:xh,onServerPrefetch:Th,onUnmounted:uo,onUpdated:ls,openBlock:Fn,popScopeId:fh,provide:ph,pushScopeId:uh,queuePostFlushCb:_a,registerRuntimeCompiler:Tb,renderList:Ch,renderSlot:Bh,resolveComponent:Xl,resolveDirective:_v,resolveDynamicComponent:Lv,resolveFilter:$b,resolveTransitionHooks:Hi,setBlockTracking:nc,setDevtoolsHook:jc,setTransitionHooks:ci,ssrContextKey:ip,ssrUtils:jb,toHandlers:Uv,transformVNodeArgs:gb,useAttrs:Rb,useSSRContext:_b,useSlots:Db,useTransitionState:Hc,version:ac,warn:G,watch:As,watchEffect:Ov,watchPostEffect:gh,watchSyncEffect:Av,withAsyncContext:Lb,withCtx:lo,withDefaults:Fb,withDirectives:Mv,withMemo:Nb,withScopeId:pv,Transition:qc,TransitionGroup:g0,VueElement:Ga,createApp:xp,createSSRApp:C0,defineCustomElement:lp,defineSSRCustomElement:o0,hydrate:Tp,initDirectivesForSSR:B0,render:fc,useCssModule:l0,useCssVars:c0,vModelCheckbox:tu,vModelDynamic:yp,vModelRadio:eu,vModelSelect:gp,vModelText:oa,vShow:bp,withKeys:A0,withModifiers:x0},Symbol.toStringTag,{value:\"Module\"}));function M0(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}function P0(e){if(e.__esModule)return e;var t=Object.defineProperty({},\"__esModule\",{value:!0});return Object.keys(e).forEach(function(n){var r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:function(){return e[n]}})}),t}var Cp={exports:{}},fe={};/** @license React v16.13.1\n * react-is.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */(function(){var e=typeof Symbol==\"function\"&&Symbol.for,t=e?Symbol.for(\"react.element\"):60103,n=e?Symbol.for(\"react.portal\"):60106,r=e?Symbol.for(\"react.fragment\"):60107,i=e?Symbol.for(\"react.strict_mode\"):60108,o=e?Symbol.for(\"react.profiler\"):60114,s=e?Symbol.for(\"react.provider\"):60109,a=e?Symbol.for(\"react.context\"):60110,l=e?Symbol.for(\"react.async_mode\"):60111,c=e?Symbol.for(\"react.concurrent_mode\"):60111,f=e?Symbol.for(\"react.forward_ref\"):60112,d=e?Symbol.for(\"react.suspense\"):60113,h=e?Symbol.for(\"react.suspense_list\"):60120,p=e?Symbol.for(\"react.memo\"):60115,b=e?Symbol.for(\"react.lazy\"):60116,A=e?Symbol.for(\"react.block\"):60121,F=e?Symbol.for(\"react.fundamental\"):60117,O=e?Symbol.for(\"react.responder\"):60118,m=e?Symbol.for(\"react.scope\"):60119;function I(lt){return typeof lt==\"string\"||typeof lt==\"function\"||lt===r||lt===c||lt===o||lt===i||lt===d||lt===h||typeof lt==\"object\"&&lt!==null&&(lt.$$typeof===b||lt.$$typeof===p||lt.$$typeof===s||lt.$$typeof===a||lt.$$typeof===f||lt.$$typeof===F||lt.$$typeof===O||lt.$$typeof===m||lt.$$typeof===A)}function E(lt){if(typeof lt==\"object\"&&lt!==null){var Ue=lt.$$typeof;switch(Ue){case t:var w=lt.type;switch(w){case l:case c:case r:case o:case i:case d:return w;default:var B=w&&w.$$typeof;switch(B){case a:case f:case b:case p:case s:return B;default:return Ue}}case n:return Ue}}}var N=l,P=c,R=a,C=s,L=t,U=f,z=r,V=b,rt=p,Q=n,bt=o,st=i,pt=d,dt=!1;function qt(lt){return dt||(dt=!0,console.warn(\"The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.\")),Ft(lt)||E(lt)===l}function Ft(lt){return E(lt)===c}function se(lt){return E(lt)===a}function ce(lt){return E(lt)===s}function It(lt){return typeof lt==\"object\"&&lt!==null&&lt.$$typeof===t}function Yt(lt){return E(lt)===f}function we(lt){return E(lt)===r}function Oe(lt){return E(lt)===b}function Ye(lt){return E(lt)===p}function Be(lt){return E(lt)===n}function Se(lt){return E(lt)===o}function Ie(lt){return E(lt)===i}function ae(lt){return E(lt)===d}fe.AsyncMode=N,fe.ConcurrentMode=P,fe.ContextConsumer=R,fe.ContextProvider=C,fe.Element=L,fe.ForwardRef=U,fe.Fragment=z,fe.Lazy=V,fe.Memo=rt,fe.Portal=Q,fe.Profiler=bt,fe.StrictMode=st,fe.Suspense=pt,fe.isAsyncMode=qt,fe.isConcurrentMode=Ft,fe.isContextConsumer=se,fe.isContextProvider=ce,fe.isElement=It,fe.isForwardRef=Yt,fe.isFragment=we,fe.isLazy=Oe,fe.isMemo=Ye,fe.isPortal=Be,fe.isProfiler=Se,fe.isStrictMode=Ie,fe.isSuspense=ae,fe.isValidElementType=I,fe.typeOf=E})();Cp.exports=fe;var Bp=Cp.exports,L0={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},_0={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},Fp={};Fp[Bp.ForwardRef]=L0;Fp[Bp.Memo]=_0;var Dp={exports:{}},de={};/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/var Zf=Object.getOwnPropertySymbols,N0=Object.prototype.hasOwnProperty,U0=Object.prototype.propertyIsEnumerable;function j0(e){if(e==null)throw new TypeError(\"Object.assign cannot be called with null or undefined\");return Object(e)}function $0(){try{if(!Object.assign)return!1;var e=new String(\"abc\");if(e[5]=\"de\",Object.getOwnPropertyNames(e)[0]===\"5\")return!1;for(var t={},n=0;n<10;n++)t[\"_\"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(o){return t[o]});if(r.join(\"\")!==\"0123456789\")return!1;var i={};return\"abcdefghijklmnopqrst\".split(\"\").forEach(function(o){i[o]=o}),Object.keys(Object.assign({},i)).join(\"\")===\"abcdefghijklmnopqrst\"}catch{return!1}}var V0=$0()?Object.assign:function(e,t){for(var n,r=j0(e),i,o=1;o<arguments.length;o++){n=Object(arguments[o]);for(var s in n)N0.call(n,s)&&(r[s]=n[s]);if(Zf){i=Zf(n);for(var a=0;a<i.length;a++)U0.call(n,i[a])&&(r[i[a]]=n[i[a]])}}return r},z0=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\",k0=z0,H0=Function.call.bind(Object.prototype.hasOwnProperty),dc=function(){};{var W0=k0,hc={},Y0=H0;dc=function(e){var t=\"Warning: \"+e;typeof console!=\"undefined\"&&console.error(t);try{throw new Error(t)}catch{}}}function Rp(e,t,n,r,i){for(var o in e)if(Y0(e,o)){var s;try{if(typeof e[o]!=\"function\"){var a=Error((r||\"React class\")+\": \"+n+\" type `\"+o+\"` is invalid; it must be a function, usually from the `prop-types` package, but received `\"+typeof e[o]+\"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.\");throw a.name=\"Invariant Violation\",a}s=e[o](t,o,r,n,null,W0)}catch(c){s=c}if(s&&!(s instanceof Error)&&dc((r||\"React class\")+\": type specification of \"+n+\" `\"+o+\"` is invalid; the type checker function must return `null` or an `Error` but returned a \"+typeof s+\". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).\"),s instanceof Error&&!(s.message in hc)){hc[s.message]=!0;var l=i?i():\"\";dc(\"Failed \"+n+\" type: \"+s.message+(l!=null?l:\"\"))}}}Rp.resetWarningCache=function(){hc={}};var G0=Rp;/** @license React v16.14.0\n * react.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */(function(){var e=V0,t=G0,n=\"16.14.0\",r=typeof Symbol==\"function\"&&Symbol.for,i=r?Symbol.for(\"react.element\"):60103,o=r?Symbol.for(\"react.portal\"):60106,s=r?Symbol.for(\"react.fragment\"):60107,a=r?Symbol.for(\"react.strict_mode\"):60108,l=r?Symbol.for(\"react.profiler\"):60114,c=r?Symbol.for(\"react.provider\"):60109,f=r?Symbol.for(\"react.context\"):60110,d=r?Symbol.for(\"react.concurrent_mode\"):60111,h=r?Symbol.for(\"react.forward_ref\"):60112,p=r?Symbol.for(\"react.suspense\"):60113,b=r?Symbol.for(\"react.suspense_list\"):60120,A=r?Symbol.for(\"react.memo\"):60115,F=r?Symbol.for(\"react.lazy\"):60116,O=r?Symbol.for(\"react.block\"):60121,m=r?Symbol.for(\"react.fundamental\"):60117,I=r?Symbol.for(\"react.responder\"):60118,E=r?Symbol.for(\"react.scope\"):60119,N=typeof Symbol==\"function\"&&Symbol.iterator,P=\"@@iterator\";function R(y){if(y===null||typeof y!=\"object\")return null;var M=N&&y[N]||y[P];return typeof M==\"function\"?M:null}var C={current:null},L={suspense:null},U={current:null},z=/^(.*)[\\\\\\/]/;function V(y,M,k){var q=\"\";if(M){var yt=M.fileName,te=yt.replace(z,\"\");if(/^index\\./.test(te)){var Mt=yt.match(z);if(Mt){var Kt=Mt[1];if(Kt){var $e=Kt.replace(z,\"\");te=$e+\"/\"+te}}}q=\" (at \"+te+\":\"+M.lineNumber+\")\"}else k&&(q=\" (created by \"+k+\")\");return`\n    in `+(y||\"Unknown\")+q}var rt=1;function Q(y){return y._status===rt?y._result:null}function bt(y,M,k){var q=M.displayName||M.name||\"\";return y.displayName||(q!==\"\"?k+\"(\"+q+\")\":k)}function st(y){if(y==null)return null;if(typeof y.tag==\"number\"&&It(\"Received an unexpected object in getComponentName(). This is likely a bug in React. Please file an issue.\"),typeof y==\"function\")return y.displayName||y.name||null;if(typeof y==\"string\")return y;switch(y){case s:return\"Fragment\";case o:return\"Portal\";case l:return\"Profiler\";case a:return\"StrictMode\";case p:return\"Suspense\";case b:return\"SuspenseList\"}if(typeof y==\"object\")switch(y.$$typeof){case f:return\"Context.Consumer\";case c:return\"Context.Provider\";case h:return bt(y,y.render,\"ForwardRef\");case A:return st(y.type);case O:return st(y.render);case F:{var M=y,k=Q(M);if(k)return st(k);break}}return null}var pt={},dt=null;function qt(y){dt=y}pt.getCurrentStack=null,pt.getStackAddendum=function(){var y=\"\";if(dt){var M=st(dt.type),k=dt._owner;y+=V(M,dt._source,k&&st(k.type))}var q=pt.getCurrentStack;return q&&(y+=q()||\"\"),y};var Ft={current:!1},se={ReactCurrentDispatcher:C,ReactCurrentBatchConfig:L,ReactCurrentOwner:U,IsSomeRendererActing:Ft,assign:e};e(se,{ReactDebugCurrentFrame:pt,ReactComponentTreeHook:{}});function ce(y){{for(var M=arguments.length,k=new Array(M>1?M-1:0),q=1;q<M;q++)k[q-1]=arguments[q];Yt(\"warn\",y,k)}}function It(y){{for(var M=arguments.length,k=new Array(M>1?M-1:0),q=1;q<M;q++)k[q-1]=arguments[q];Yt(\"error\",y,k)}}function Yt(y,M,k){{var q=k.length>0&&typeof k[k.length-1]==\"string\"&&k[k.length-1].indexOf(`\n    in`)===0;if(!q){var yt=se.ReactDebugCurrentFrame,te=yt.getStackAddendum();te!==\"\"&&(M+=\"%s\",k=k.concat([te]))}var Mt=k.map(function(an){return\"\"+an});Mt.unshift(\"Warning: \"+M),Function.prototype.apply.call(console[y],console,Mt);try{var Kt=0,$e=\"Warning: \"+M.replace(/%s/g,function(){return k[Kt++]});throw new Error($e)}catch{}}}var we={};function Oe(y,M){{var k=y.constructor,q=k&&(k.displayName||k.name)||\"ReactClass\",yt=q+\".\"+M;if(we[yt])return;It(\"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",M,q),we[yt]=!0}}var Ye={isMounted:function(y){return!1},enqueueForceUpdate:function(y,M,k){Oe(y,\"forceUpdate\")},enqueueReplaceState:function(y,M,k,q){Oe(y,\"replaceState\")},enqueueSetState:function(y,M,k,q){Oe(y,\"setState\")}},Be={};Object.freeze(Be);function Se(y,M,k){this.props=y,this.context=M,this.refs=Be,this.updater=k||Ye}Se.prototype.isReactComponent={},Se.prototype.setState=function(y,M){if(!(typeof y==\"object\"||typeof y==\"function\"||y==null))throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,y,M,\"setState\")},Se.prototype.forceUpdate=function(y){this.updater.enqueueForceUpdate(this,y,\"forceUpdate\")};{var Ie={isMounted:[\"isMounted\",\"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"],replaceState:[\"replaceState\",\"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"]},ae=function(y,M){Object.defineProperty(Se.prototype,y,{get:function(){ce(\"%s(...) is deprecated in plain JavaScript React classes. %s\",M[0],M[1])}})};for(var lt in Ie)Ie.hasOwnProperty(lt)&&ae(lt,Ie[lt])}function Ue(){}Ue.prototype=Se.prototype;function w(y,M,k){this.props=y,this.context=M,this.refs=Be,this.updater=k||Ye}var B=w.prototype=new Ue;B.constructor=w,e(B,Se.prototype),B.isPureReactComponent=!0;function j(){var y={current:null};return Object.seal(y),y}var Y=Object.prototype.hasOwnProperty,W={key:!0,ref:!0,__self:!0,__source:!0},et,it,tt;tt={};function nt(y){if(Y.call(y,\"ref\")){var M=Object.getOwnPropertyDescriptor(y,\"ref\").get;if(M&&M.isReactWarning)return!1}return y.ref!==void 0}function Z(y){if(Y.call(y,\"key\")){var M=Object.getOwnPropertyDescriptor(y,\"key\").get;if(M&&M.isReactWarning)return!1}return y.key!==void 0}function gt(y,M){var k=function(){et||(et=!0,It(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)\",M))};k.isReactWarning=!0,Object.defineProperty(y,\"key\",{get:k,configurable:!0})}function ut(y,M){var k=function(){it||(it=!0,It(\"%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://fb.me/react-special-props)\",M))};k.isReactWarning=!0,Object.defineProperty(y,\"ref\",{get:k,configurable:!0})}function X(y){if(typeof y.ref==\"string\"&&U.current&&y.__self&&U.current.stateNode!==y.__self){var M=st(U.current.type);tt[M]||(It('Component \"%s\" contains the string ref \"%s\". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://fb.me/react-strict-mode-string-ref',st(U.current.type),y.ref),tt[M]=!0)}}var wt=function(y,M,k,q,yt,te,Mt){var Kt={$$typeof:i,type:y,key:M,ref:k,props:Mt,_owner:te};return Kt._store={},Object.defineProperty(Kt._store,\"validated\",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(Kt,\"_self\",{configurable:!1,enumerable:!1,writable:!1,value:q}),Object.defineProperty(Kt,\"_source\",{configurable:!1,enumerable:!1,writable:!1,value:yt}),Object.freeze&&(Object.freeze(Kt.props),Object.freeze(Kt)),Kt};function Dt(y,M,k){var q,yt={},te=null,Mt=null,Kt=null,$e=null;if(M!=null){nt(M)&&(Mt=M.ref,X(M)),Z(M)&&(te=\"\"+M.key),Kt=M.__self===void 0?null:M.__self,$e=M.__source===void 0?null:M.__source;for(q in M)Y.call(M,q)&&!W.hasOwnProperty(q)&&(yt[q]=M[q])}var an=arguments.length-2;if(an===1)yt.children=k;else if(an>1){for(var bn=Array(an),ln=0;ln<an;ln++)bn[ln]=arguments[ln+2];Object.freeze&&Object.freeze(bn),yt.children=bn}if(y&&y.defaultProps){var Kr=y.defaultProps;for(q in Kr)yt[q]===void 0&&(yt[q]=Kr[q])}if(te||Mt){var jn=typeof y==\"function\"?y.displayName||y.name||\"Unknown\":y;te&&gt(yt,jn),Mt&&ut(yt,jn)}return wt(y,te,Mt,Kt,$e,U.current,yt)}function Ht(y,M){var k=wt(y.type,M,y.ref,y._self,y._source,y._owner,y.props);return k}function Tt(y,M,k){if(y==null)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+y+\".\");var q,yt=e({},y.props),te=y.key,Mt=y.ref,Kt=y._self,$e=y._source,an=y._owner;if(M!=null){nt(M)&&(Mt=M.ref,an=U.current),Z(M)&&(te=\"\"+M.key);var bn;y.type&&y.type.defaultProps&&(bn=y.type.defaultProps);for(q in M)Y.call(M,q)&&!W.hasOwnProperty(q)&&(M[q]===void 0&&bn!==void 0?yt[q]=bn[q]:yt[q]=M[q])}var ln=arguments.length-2;if(ln===1)yt.children=k;else if(ln>1){for(var Kr=Array(ln),jn=0;jn<ln;jn++)Kr[jn]=arguments[jn+2];yt.children=Kr}return wt(y.type,te,Mt,Kt,$e,an,yt)}function J(y){return typeof y==\"object\"&&y!==null&&y.$$typeof===i}var mt=\".\",xt=\":\";function Rt(y){var M=/[=:]/g,k={\"=\":\"=0\",\":\":\"=2\"},q=(\"\"+y).replace(M,function(yt){return k[yt]});return\"$\"+q}var ot=!1,ct=/\\/+/g;function at(y){return(\"\"+y).replace(ct,\"$&/\")}var T=10,v=[];function u(y,M,k,q){if(v.length){var yt=v.pop();return yt.result=y,yt.keyPrefix=M,yt.func=k,yt.context=q,yt.count=0,yt}else return{result:y,keyPrefix:M,func:k,context:q,count:0}}function g(y){y.result=null,y.keyPrefix=null,y.func=null,y.context=null,y.count=0,v.length<T&&v.push(y)}function S(y,M,k,q){var yt=typeof y;(yt===\"undefined\"||yt===\"boolean\")&&(y=null);var te=!1;if(y===null)te=!0;else switch(yt){case\"string\":case\"number\":te=!0;break;case\"object\":switch(y.$$typeof){case i:case o:te=!0}}if(te)return k(q,y,M===\"\"?mt+_(y,0):M),1;var Mt,Kt,$e=0,an=M===\"\"?mt:M+xt;if(Array.isArray(y))for(var bn=0;bn<y.length;bn++)Mt=y[bn],Kt=an+_(Mt,bn),$e+=S(Mt,Kt,k,q);else{var ln=R(y);if(typeof ln==\"function\"){ln===y.entries&&(ot||ce(\"Using Maps as children is deprecated and will be removed in a future major release. Consider converting children to an array of keyed ReactElements instead.\"),ot=!0);for(var Kr=ln.call(y),jn,Vm=0;!(jn=Kr.next()).done;)Mt=jn.value,Kt=an+_(Mt,Vm++),$e+=S(Mt,Kt,k,q)}else if(yt===\"object\"){var of=\"\";of=\" If you meant to render a collection of children, use an array instead.\"+pt.getStackAddendum();var af=\"\"+y;throw Error(\"Objects are not valid as a React child (found: \"+(af===\"[object Object]\"?\"object with keys {\"+Object.keys(y).join(\", \")+\"}\":af)+\").\"+of)}}return $e}function x(y,M,k){return y==null?0:S(y,\"\",M,k)}function _(y,M){return typeof y==\"object\"&&y!==null&&y.key!=null?Rt(y.key):M.toString(36)}function H(y,M,k){var q=y.func,yt=y.context;q.call(yt,M,y.count++)}function ht(y,M,k){if(y==null)return y;var q=u(null,null,M,k);x(y,H,q),g(q)}function Et(y,M,k){var q=y.result,yt=y.keyPrefix,te=y.func,Mt=y.context,Kt=te.call(Mt,M,y.count++);Array.isArray(Kt)?St(Kt,q,k,function($e){return $e}):Kt!=null&&(J(Kt)&&(Kt=Ht(Kt,yt+(Kt.key&&(!M||M.key!==Kt.key)?at(Kt.key)+\"/\":\"\")+k)),q.push(Kt))}function St(y,M,k,q,yt){var te=\"\";k!=null&&(te=at(k)+\"/\");var Mt=u(M,te,q,yt);x(y,Et,Mt),g(Mt)}function Ct(y,M,k){if(y==null)return y;var q=[];return St(y,q,null,M,k),q}function jt(y){return x(y,function(){return null},null)}function Bt(y){var M=[];return St(y,M,null,function(k){return k}),M}function Ae(y){if(!J(y))throw Error(\"React.Children.only expected to receive a single React element child.\");return y}function ue(y,M){M===void 0?M=null:M!==null&&typeof M!=\"function\"&&It(\"createContext: Expected the optional second argument to be a function. Instead received: %s\",M);var k={$$typeof:f,_calculateChangedBits:M,_currentValue:y,_currentValue2:y,_threadCount:0,Provider:null,Consumer:null};k.Provider={$$typeof:c,_context:k};var q=!1,yt=!1;{var te={$$typeof:f,_context:k,_calculateChangedBits:k._calculateChangedBits};Object.defineProperties(te,{Provider:{get:function(){return yt||(yt=!0,It(\"Rendering <Context.Consumer.Provider> is not supported and will be removed in a future major release. Did you mean to render <Context.Provider> instead?\")),k.Provider},set:function(Mt){k.Provider=Mt}},_currentValue:{get:function(){return k._currentValue},set:function(Mt){k._currentValue=Mt}},_currentValue2:{get:function(){return k._currentValue2},set:function(Mt){k._currentValue2=Mt}},_threadCount:{get:function(){return k._threadCount},set:function(Mt){k._threadCount=Mt}},Consumer:{get:function(){return q||(q=!0,It(\"Rendering <Context.Consumer.Consumer> is not supported and will be removed in a future major release. Did you mean to render <Context.Consumer> instead?\")),k.Consumer}}}),k.Consumer=te}return k._currentRenderer=null,k._currentRenderer2=null,k}function Fe(y){var M={$$typeof:F,_ctor:y,_status:-1,_result:null};{var k,q;Object.defineProperties(M,{defaultProps:{configurable:!0,get:function(){return k},set:function(yt){It(\"React.lazy(...): It is not supported to assign `defaultProps` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\"),k=yt,Object.defineProperty(M,\"defaultProps\",{enumerable:!0})}},propTypes:{configurable:!0,get:function(){return q},set:function(yt){It(\"React.lazy(...): It is not supported to assign `propTypes` to a lazy component import. Either specify them where the component is defined, or create a wrapping component around it.\"),q=yt,Object.defineProperty(M,\"propTypes\",{enumerable:!0})}}})}return M}function ye(y){return y!=null&&y.$$typeof===A?It(\"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"):typeof y!=\"function\"?It(\"forwardRef requires a render function but was given %s.\",y===null?\"null\":typeof y):y.length!==0&&y.length!==2&&It(\"forwardRef render functions accept exactly two parameters: props and ref. %s\",y.length===1?\"Did you forget to use the ref parameter?\":\"Any additional parameter will be undefined.\"),y!=null&&(y.defaultProps!=null||y.propTypes!=null)&&It(\"forwardRef render functions do not support propTypes or defaultProps. Did you accidentally pass a React component?\"),{$$typeof:h,render:y}}function je(y){return typeof y==\"string\"||typeof y==\"function\"||y===s||y===d||y===l||y===a||y===p||y===b||typeof y==\"object\"&&y!==null&&(y.$$typeof===F||y.$$typeof===A||y.$$typeof===c||y.$$typeof===f||y.$$typeof===h||y.$$typeof===m||y.$$typeof===I||y.$$typeof===E||y.$$typeof===O)}function sn(y,M){return je(y)||It(\"memo: The first argument must be a component. Instead received: %s\",y===null?\"null\":typeof y),{$$typeof:A,type:y,compare:M===void 0?null:M}}function on(){var y=C.current;if(y===null)throw Error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.`);return y}function ul(y,M){var k=on();if(M!==void 0&&It(\"useContext() second argument is reserved for future use in React. Passing it is not supported. You passed: %s.%s\",M,typeof M==\"number\"&&Array.isArray(arguments[2])?`\n\nDid you call array.map(useContext)? Calling Hooks inside a loop is not supported. Learn more at https://fb.me/rules-of-hooks`:\"\"),y._context!==void 0){var q=y._context;q.Consumer===y?It(\"Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be removed in a future major release. Did you mean to call useContext(Context) instead?\"):q.Provider===y&&It(\"Calling useContext(Context.Provider) is not supported. Did you mean to call useContext(Context) instead?\")}return k.useContext(y,M)}function fl(y){var M=on();return M.useState(y)}function dl(y,M,k){var q=on();return q.useReducer(y,M,k)}function hl(y){var M=on();return M.useRef(y)}function Oo(y,M){var k=on();return k.useEffect(y,M)}function pl(y,M){var k=on();return k.useLayoutEffect(y,M)}function gl(y,M){var k=on();return k.useCallback(y,M)}function ml(y,M){var k=on();return k.useMemo(y,M)}function yl(y,M,k){var q=on();return q.useImperativeHandle(y,M,k)}function Gr(y,M){{var k=on();return k.useDebugValue(y,M)}}var Ai;Ai=!1;function Ao(){if(U.current){var y=st(U.current.type);if(y)return`\n\nCheck the render method of \\``+y+\"`.\"}return\"\"}function vl(y){if(y!==void 0){var M=y.fileName.replace(/^.*[\\\\\\/]/,\"\"),k=y.lineNumber;return`\n\nCheck your code at `+M+\":\"+k+\".\"}return\"\"}function Fm(y){return y!=null?vl(y.__source):\"\"}var Qu={};function Dm(y){var M=Ao();if(!M){var k=typeof y==\"string\"?y:y.displayName||y.name;k&&(M=`\n\nCheck the top-level render call using <`+k+\">.\")}return M}function qu(y,M){if(!(!y._store||y._store.validated||y.key!=null)){y._store.validated=!0;var k=Dm(M);if(!Qu[k]){Qu[k]=!0;var q=\"\";y&&y._owner&&y._owner!==U.current&&(q=\" It was passed a child from \"+st(y._owner.type)+\".\"),qt(y),It('Each child in a list should have a unique \"key\" prop.%s%s See https://fb.me/react-warning-keys for more information.',k,q),qt(null)}}}function tf(y,M){if(typeof y==\"object\"){if(Array.isArray(y))for(var k=0;k<y.length;k++){var q=y[k];J(q)&&qu(q,M)}else if(J(y))y._store&&(y._store.validated=!0);else if(y){var yt=R(y);if(typeof yt==\"function\"&&yt!==y.entries)for(var te=yt.call(y),Mt;!(Mt=te.next()).done;)J(Mt.value)&&qu(Mt.value,M)}}}function ef(y){{var M=y.type;if(M==null||typeof M==\"string\")return;var k=st(M),q;if(typeof M==\"function\")q=M.propTypes;else if(typeof M==\"object\"&&(M.$$typeof===h||M.$$typeof===A))q=M.propTypes;else return;q?(qt(y),t(q,y.props,\"prop\",k,pt.getStackAddendum),qt(null)):M.PropTypes!==void 0&&!Ai&&(Ai=!0,It(\"Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?\",k||\"Unknown\")),typeof M.getDefaultProps==\"function\"&&!M.getDefaultProps.isReactClassApproved&&It(\"getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.\")}}function Rm(y){{qt(y);for(var M=Object.keys(y.props),k=0;k<M.length;k++){var q=M[k];if(q!==\"children\"&&q!==\"key\"){It(\"Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.\",q);break}}y.ref!==null&&It(\"Invalid attribute `ref` supplied to `React.Fragment`.\"),qt(null)}}function nf(y,M,k){var q=je(y);if(!q){var yt=\"\";(y===void 0||typeof y==\"object\"&&y!==null&&Object.keys(y).length===0)&&(yt+=\" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\");var te=Fm(M);te?yt+=te:yt+=Ao();var Mt;y===null?Mt=\"null\":Array.isArray(y)?Mt=\"array\":y!==void 0&&y.$$typeof===i?(Mt=\"<\"+(st(y.type)||\"Unknown\")+\" />\",yt=\" Did you accidentally export a JSX literal instead of a component?\"):Mt=typeof y,It(\"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",Mt,yt)}var Kt=Dt.apply(this,arguments);if(Kt==null)return Kt;if(q)for(var $e=2;$e<arguments.length;$e++)tf(arguments[$e],y);return y===s?Rm(Kt):ef(Kt),Kt}var rf=!1;function Mm(y){var M=nf.bind(null,y);return M.type=y,rf||(rf=!0,ce(\"React.createFactory() is deprecated and will be removed in a future major release. Consider using JSX or use React.createElement() directly instead.\")),Object.defineProperty(M,\"type\",{enumerable:!1,get:function(){return ce(\"Factory.type is deprecated. Access the class directly before passing it to createFactory.\"),Object.defineProperty(this,\"type\",{value:y}),y}}),M}function Pm(y,M,k){for(var q=Tt.apply(this,arguments),yt=2;yt<arguments.length;yt++)tf(arguments[yt],q.type);return ef(q),q}try{var sf=Object.freeze({}),Lm=new Map([[sf,null]]),_m=new Set([sf]);Lm.set(0,0),_m.add(0)}catch{}var Nm=nf,Um=Pm,jm=Mm,$m={map:Ct,forEach:ht,count:jt,toArray:Bt,only:Ae};de.Children=$m,de.Component=Se,de.Fragment=s,de.Profiler=l,de.PureComponent=w,de.StrictMode=a,de.Suspense=p,de.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=se,de.cloneElement=Um,de.createContext=ue,de.createElement=Nm,de.createFactory=jm,de.createRef=j,de.forwardRef=ye,de.isValidElement=J,de.lazy=Fe,de.memo=sn,de.useCallback=gl,de.useContext=ul,de.useDebugValue=Gr,de.useEffect=Oo,de.useImperativeHandle=yl,de.useLayoutEffect=pl,de.useMemo=ml,de.useReducer=dl,de.useRef=hl,de.useState=fl,de.version=n})();Dp.exports=de;var K0=Dp.exports;const Mp=new WeakMap,pc=new WeakMap;function Te(e){const t=Mp.get(e);return console.assert(t!=null,\"'this' is expected an Event object, but got\",e),t}function Qf(e){if(e.passiveListener!=null){typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(\"Unable to preventDefault inside passive event listener invocation.\",e.passiveListener);return}!e.event.cancelable||(e.canceled=!0,typeof e.event.preventDefault==\"function\"&&e.event.preventDefault())}function Ki(e,t){Mp.set(this,{eventTarget:e,event:t,eventPhase:2,currentTarget:e,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:t.timeStamp||Date.now()}),Object.defineProperty(this,\"isTrusted\",{value:!1,enumerable:!0});const n=Object.keys(t);for(let r=0;r<n.length;++r){const i=n[r];i in this||Object.defineProperty(this,i,Pp(i))}}Ki.prototype={get type(){return Te(this).event.type},get target(){return Te(this).eventTarget},get currentTarget(){return Te(this).currentTarget},composedPath(){const e=Te(this).currentTarget;return e==null?[]:[e]},get NONE(){return 0},get CAPTURING_PHASE(){return 1},get AT_TARGET(){return 2},get BUBBLING_PHASE(){return 3},get eventPhase(){return Te(this).eventPhase},stopPropagation(){const e=Te(this);e.stopped=!0,typeof e.event.stopPropagation==\"function\"&&e.event.stopPropagation()},stopImmediatePropagation(){const e=Te(this);e.stopped=!0,e.immediateStopped=!0,typeof e.event.stopImmediatePropagation==\"function\"&&e.event.stopImmediatePropagation()},get bubbles(){return Boolean(Te(this).event.bubbles)},get cancelable(){return Boolean(Te(this).event.cancelable)},preventDefault(){Qf(Te(this))},get defaultPrevented(){return Te(this).canceled},get composed(){return Boolean(Te(this).event.composed)},get timeStamp(){return Te(this).timeStamp},get srcElement(){return Te(this).eventTarget},get cancelBubble(){return Te(this).stopped},set cancelBubble(e){if(!e)return;const t=Te(this);t.stopped=!0,typeof t.event.cancelBubble==\"boolean\"&&(t.event.cancelBubble=!0)},get returnValue(){return!Te(this).canceled},set returnValue(e){e||Qf(Te(this))},initEvent(){}};Object.defineProperty(Ki.prototype,\"constructor\",{value:Ki,configurable:!0,writable:!0});typeof window!=\"undefined\"&&typeof window.Event!=\"undefined\"&&(Object.setPrototypeOf(Ki.prototype,window.Event.prototype),pc.set(window.Event.prototype,Ki));function Pp(e){return{get(){return Te(this).event[e]},set(t){Te(this).event[e]=t},configurable:!0,enumerable:!0}}function X0(e){return{value(){const t=Te(this).event;return t[e].apply(t,arguments)},configurable:!0,enumerable:!0}}function J0(e,t){const n=Object.keys(t);if(n.length===0)return e;function r(i,o){e.call(this,i,o)}r.prototype=Object.create(e.prototype,{constructor:{value:r,configurable:!0,writable:!0}});for(let i=0;i<n.length;++i){const o=n[i];if(!(o in e.prototype)){const a=typeof Object.getOwnPropertyDescriptor(t,o).value==\"function\";Object.defineProperty(r.prototype,o,a?X0(o):Pp(o))}}return r}function Lp(e){if(e==null||e===Object.prototype)return Ki;let t=pc.get(e);return t==null&&(t=J0(Lp(Object.getPrototypeOf(e)),e),pc.set(e,t)),t}function Z0(e,t){const n=Lp(Object.getPrototypeOf(t));return new n(e,t)}function Q0(e){return Te(e).immediateStopped}function q0(e,t){Te(e).eventPhase=t}function tw(e,t){Te(e).currentTarget=t}function qf(e,t){Te(e).passiveListener=t}const _p=new WeakMap,td=1,ed=2,Ho=3;function Wo(e){return e!==null&&typeof e==\"object\"}function Rs(e){const t=_p.get(e);if(t==null)throw new TypeError(\"'this' is expected an EventTarget object, but got another value.\");return t}function ew(e){return{get(){let n=Rs(this).get(e);for(;n!=null;){if(n.listenerType===Ho)return n.listener;n=n.next}return null},set(t){typeof t!=\"function\"&&!Wo(t)&&(t=null);const n=Rs(this);let r=null,i=n.get(e);for(;i!=null;)i.listenerType===Ho?r!==null?r.next=i.next:i.next!==null?n.set(e,i.next):n.delete(e):r=i,i=i.next;if(t!==null){const o={listener:t,listenerType:Ho,passive:!1,once:!1,next:null};r===null?n.set(e,o):r.next=o}},configurable:!0,enumerable:!0}}function nw(e,t){Object.defineProperty(e,`on${t}`,ew(t))}function nd(e){function t(){$r.call(this)}t.prototype=Object.create($r.prototype,{constructor:{value:t,configurable:!0,writable:!0}});for(let n=0;n<e.length;++n)nw(t.prototype,e[n]);return t}function $r(){if(this instanceof $r){_p.set(this,new Map);return}if(arguments.length===1&&Array.isArray(arguments[0]))return nd(arguments[0]);if(arguments.length>0){const e=new Array(arguments.length);for(let t=0;t<arguments.length;++t)e[t]=arguments[t];return nd(e)}throw new TypeError(\"Cannot call a class as a function\")}$r.prototype={addEventListener(e,t,n){if(t==null)return;if(typeof t!=\"function\"&&!Wo(t))throw new TypeError(\"'listener' should be a function or an object.\");const r=Rs(this),i=Wo(n),s=Boolean(i?n.capture:n)?td:ed,a={listener:t,listenerType:s,passive:i&&Boolean(n.passive),once:i&&Boolean(n.once),next:null};let l=r.get(e);if(l===void 0){r.set(e,a);return}let c=null;for(;l!=null;){if(l.listener===t&&l.listenerType===s)return;c=l,l=l.next}c.next=a},removeEventListener(e,t,n){if(t==null)return;const r=Rs(this),o=(Wo(n)?Boolean(n.capture):Boolean(n))?td:ed;let s=null,a=r.get(e);for(;a!=null;){if(a.listener===t&&a.listenerType===o){s!==null?s.next=a.next:a.next!==null?r.set(e,a.next):r.delete(e);return}s=a,a=a.next}},dispatchEvent(e){if(e==null||typeof e.type!=\"string\")throw new TypeError('\"event.type\" should be a string.');const t=Rs(this),n=e.type;let r=t.get(n);if(r==null)return!0;const i=Z0(this,e);let o=null;for(;r!=null;){if(r.once?o!==null?o.next=r.next:r.next!==null?t.set(n,r.next):t.delete(n):o=r,qf(i,r.passive?r.listener:null),typeof r.listener==\"function\")try{r.listener.call(this,i)}catch(s){typeof console!=\"undefined\"&&typeof console.error==\"function\"&&console.error(s)}else r.listenerType!==Ho&&typeof r.listener.handleEvent==\"function\"&&r.listener.handleEvent(i);if(Q0(i))break;r=r.next}return qf(i,null),q0(i,0),tw(i,null),!i.defaultPrevented}};Object.defineProperty($r.prototype,\"constructor\",{value:$r,configurable:!0,writable:!0});typeof window!=\"undefined\"&&typeof window.EventTarget!=\"undefined\"&&Object.setPrototypeOf($r.prototype,window.EventTarget.prototype);var $={};$.SIZEOF_SHORT=2;$.SIZEOF_INT=4;$.FILE_IDENTIFIER_LENGTH=4;$.Encoding={UTF8_BYTES:1,UTF16_STRING:2};$.int32=new Int32Array(2);$.float32=new Float32Array($.int32.buffer);$.float64=new Float64Array($.int32.buffer);$.isLittleEndian=new Uint16Array(new Uint8Array([1,0]).buffer)[0]===1;$.Long=function(e,t){this.low=e|0,this.high=t|0};$.Long.create=function(e,t){return e==0&&t==0?$.Long.ZERO:new $.Long(e,t)};$.Long.prototype.toFloat64=function(){return(this.low>>>0)+this.high*4294967296};$.Long.prototype.equals=function(e){return this.low==e.low&&this.high==e.high};$.Long.ZERO=new $.Long(0,0);$.Builder=function(e){if(e)var t=e;else var t=1024;this.bb=$.ByteBuffer.allocate(t),this.space=t,this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1};$.Builder.prototype.clear=function(){this.bb.clear(),this.space=this.bb.capacity(),this.minalign=1,this.vtable=null,this.vtable_in_use=0,this.isNested=!1,this.object_start=0,this.vtables=[],this.vector_num_elems=0,this.force_defaults=!1};$.Builder.prototype.forceDefaults=function(e){this.force_defaults=e};$.Builder.prototype.dataBuffer=function(){return this.bb};$.Builder.prototype.asUint8Array=function(){return this.bb.bytes().subarray(this.bb.position(),this.bb.position()+this.offset())};$.Builder.prototype.prep=function(e,t){e>this.minalign&&(this.minalign=e);for(var n=~(this.bb.capacity()-this.space+t)+1&e-1;this.space<n+e+t;){var r=this.bb.capacity();this.bb=$.Builder.growByteBuffer(this.bb),this.space+=this.bb.capacity()-r}this.pad(n)};$.Builder.prototype.pad=function(e){for(var t=0;t<e;t++)this.bb.writeInt8(--this.space,0)};$.Builder.prototype.writeInt8=function(e){this.bb.writeInt8(this.space-=1,e)};$.Builder.prototype.writeInt16=function(e){this.bb.writeInt16(this.space-=2,e)};$.Builder.prototype.writeInt32=function(e){this.bb.writeInt32(this.space-=4,e)};$.Builder.prototype.writeInt64=function(e){this.bb.writeInt64(this.space-=8,e)};$.Builder.prototype.writeFloat32=function(e){this.bb.writeFloat32(this.space-=4,e)};$.Builder.prototype.writeFloat64=function(e){this.bb.writeFloat64(this.space-=8,e)};$.Builder.prototype.addInt8=function(e){this.prep(1,0),this.writeInt8(e)};$.Builder.prototype.addInt16=function(e){this.prep(2,0),this.writeInt16(e)};$.Builder.prototype.addInt32=function(e){this.prep(4,0),this.writeInt32(e)};$.Builder.prototype.addInt64=function(e){this.prep(8,0),this.writeInt64(e)};$.Builder.prototype.addFloat32=function(e){this.prep(4,0),this.writeFloat32(e)};$.Builder.prototype.addFloat64=function(e){this.prep(8,0),this.writeFloat64(e)};$.Builder.prototype.addFieldInt8=function(e,t,n){(this.force_defaults||t!=n)&&(this.addInt8(t),this.slot(e))};$.Builder.prototype.addFieldInt16=function(e,t,n){(this.force_defaults||t!=n)&&(this.addInt16(t),this.slot(e))};$.Builder.prototype.addFieldInt32=function(e,t,n){(this.force_defaults||t!=n)&&(this.addInt32(t),this.slot(e))};$.Builder.prototype.addFieldInt64=function(e,t,n){(this.force_defaults||!t.equals(n))&&(this.addInt64(t),this.slot(e))};$.Builder.prototype.addFieldFloat32=function(e,t,n){(this.force_defaults||t!=n)&&(this.addFloat32(t),this.slot(e))};$.Builder.prototype.addFieldFloat64=function(e,t,n){(this.force_defaults||t!=n)&&(this.addFloat64(t),this.slot(e))};$.Builder.prototype.addFieldOffset=function(e,t,n){(this.force_defaults||t!=n)&&(this.addOffset(t),this.slot(e))};$.Builder.prototype.addFieldStruct=function(e,t,n){t!=n&&(this.nested(t),this.slot(e))};$.Builder.prototype.nested=function(e){if(e!=this.offset())throw new Error(\"FlatBuffers: struct must be serialized inline.\")};$.Builder.prototype.notNested=function(){if(this.isNested)throw new Error(\"FlatBuffers: object serialization must not be nested.\")};$.Builder.prototype.slot=function(e){this.vtable[e]=this.offset()};$.Builder.prototype.offset=function(){return this.bb.capacity()-this.space};$.Builder.growByteBuffer=function(e){var t=e.capacity();if(t&3221225472)throw new Error(\"FlatBuffers: cannot grow buffer beyond 2 gigabytes.\");var n=t<<1,r=$.ByteBuffer.allocate(n);return r.setPosition(n-t),r.bytes().set(e.bytes(),n-t),r};$.Builder.prototype.addOffset=function(e){this.prep($.SIZEOF_INT,0),this.writeInt32(this.offset()-e+$.SIZEOF_INT)};$.Builder.prototype.startObject=function(e){this.notNested(),this.vtable==null&&(this.vtable=[]),this.vtable_in_use=e;for(var t=0;t<e;t++)this.vtable[t]=0;this.isNested=!0,this.object_start=this.offset()};$.Builder.prototype.endObject=function(){if(this.vtable==null||!this.isNested)throw new Error(\"FlatBuffers: endObject called without startObject\");this.addInt32(0);for(var e=this.offset(),t=this.vtable_in_use-1;t>=0&&this.vtable[t]==0;t--);for(var n=t+1;t>=0;t--)this.addInt16(this.vtable[t]!=0?e-this.vtable[t]:0);var r=2;this.addInt16(e-this.object_start);var i=(n+r)*$.SIZEOF_SHORT;this.addInt16(i);var o=0,s=this.space;t:for(t=0;t<this.vtables.length;t++){var a=this.bb.capacity()-this.vtables[t];if(i==this.bb.readInt16(a)){for(var l=$.SIZEOF_SHORT;l<i;l+=$.SIZEOF_SHORT)if(this.bb.readInt16(s+l)!=this.bb.readInt16(a+l))continue t;o=this.vtables[t];break}}return o?(this.space=this.bb.capacity()-e,this.bb.writeInt32(this.space,o-e)):(this.vtables.push(this.offset()),this.bb.writeInt32(this.bb.capacity()-e,this.offset()-e)),this.isNested=!1,e};$.Builder.prototype.finish=function(e,t){if(t){var n=t;if(this.prep(this.minalign,$.SIZEOF_INT+$.FILE_IDENTIFIER_LENGTH),n.length!=$.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+$.FILE_IDENTIFIER_LENGTH);for(var r=$.FILE_IDENTIFIER_LENGTH-1;r>=0;r--)this.writeInt8(n.charCodeAt(r))}this.prep(this.minalign,$.SIZEOF_INT),this.addOffset(e),this.bb.setPosition(this.space)};$.Builder.prototype.requiredField=function(e,t){var n=this.bb.capacity()-e,r=n-this.bb.readInt32(n),i=this.bb.readInt16(r+t)!=0;if(!i)throw new Error(\"FlatBuffers: field \"+t+\" must be set\")};$.Builder.prototype.startVector=function(e,t,n){this.notNested(),this.vector_num_elems=t,this.prep($.SIZEOF_INT,e*t),this.prep(n,e*t)};$.Builder.prototype.endVector=function(){return this.writeInt32(this.vector_num_elems),this.offset()};$.Builder.prototype.createString=function(e){if(e instanceof Uint8Array)var t=e;else for(var t=[],n=0;n<e.length;){var r,i=e.charCodeAt(n++);if(i<55296||i>=56320)r=i;else{var o=e.charCodeAt(n++);r=(i<<10)+o+(65536-(55296<<10)-56320)}r<128?t.push(r):(r<2048?t.push(r>>6&31|192):(r<65536?t.push(r>>12&15|224):t.push(r>>18&7|240,r>>12&63|128),t.push(r>>6&63|128)),t.push(r&63|128))}this.addInt8(0),this.startVector(1,t.length,1),this.bb.setPosition(this.space-=t.length);for(var n=0,s=this.space,a=this.bb.bytes();n<t.length;n++)a[s++]=t[n];return this.endVector()};$.Builder.prototype.createLong=function(e,t){return $.Long.create(e,t)};$.ByteBuffer=function(e){this.bytes_=e,this.position_=0};$.ByteBuffer.allocate=function(e){return new $.ByteBuffer(new Uint8Array(e))};$.ByteBuffer.prototype.clear=function(){this.position_=0};$.ByteBuffer.prototype.bytes=function(){return this.bytes_};$.ByteBuffer.prototype.position=function(){return this.position_};$.ByteBuffer.prototype.setPosition=function(e){this.position_=e};$.ByteBuffer.prototype.capacity=function(){return this.bytes_.length};$.ByteBuffer.prototype.readInt8=function(e){return this.readUint8(e)<<24>>24};$.ByteBuffer.prototype.readUint8=function(e){return this.bytes_[e]};$.ByteBuffer.prototype.readInt16=function(e){return this.readUint16(e)<<16>>16};$.ByteBuffer.prototype.readUint16=function(e){return this.bytes_[e]|this.bytes_[e+1]<<8};$.ByteBuffer.prototype.readInt32=function(e){return this.bytes_[e]|this.bytes_[e+1]<<8|this.bytes_[e+2]<<16|this.bytes_[e+3]<<24};$.ByteBuffer.prototype.readUint32=function(e){return this.readInt32(e)>>>0};$.ByteBuffer.prototype.readInt64=function(e){return new $.Long(this.readInt32(e),this.readInt32(e+4))};$.ByteBuffer.prototype.readUint64=function(e){return new $.Long(this.readUint32(e),this.readUint32(e+4))};$.ByteBuffer.prototype.readFloat32=function(e){return $.int32[0]=this.readInt32(e),$.float32[0]};$.ByteBuffer.prototype.readFloat64=function(e){return $.int32[$.isLittleEndian?0:1]=this.readInt32(e),$.int32[$.isLittleEndian?1:0]=this.readInt32(e+4),$.float64[0]};$.ByteBuffer.prototype.writeInt8=function(e,t){this.bytes_[e]=t};$.ByteBuffer.prototype.writeUint8=function(e,t){this.bytes_[e]=t};$.ByteBuffer.prototype.writeInt16=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8};$.ByteBuffer.prototype.writeUint16=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8};$.ByteBuffer.prototype.writeInt32=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24};$.ByteBuffer.prototype.writeUint32=function(e,t){this.bytes_[e]=t,this.bytes_[e+1]=t>>8,this.bytes_[e+2]=t>>16,this.bytes_[e+3]=t>>24};$.ByteBuffer.prototype.writeInt64=function(e,t){this.writeInt32(e,t.low),this.writeInt32(e+4,t.high)};$.ByteBuffer.prototype.writeUint64=function(e,t){this.writeUint32(e,t.low),this.writeUint32(e+4,t.high)};$.ByteBuffer.prototype.writeFloat32=function(e,t){$.float32[0]=t,this.writeInt32(e,$.int32[0])};$.ByteBuffer.prototype.writeFloat64=function(e,t){$.float64[0]=t,this.writeInt32(e,$.int32[$.isLittleEndian?0:1]),this.writeInt32(e+4,$.int32[$.isLittleEndian?1:0])};$.ByteBuffer.prototype.getBufferIdentifier=function(){if(this.bytes_.length<this.position_+$.SIZEOF_INT+$.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: ByteBuffer is too short to contain an identifier.\");for(var e=\"\",t=0;t<$.FILE_IDENTIFIER_LENGTH;t++)e+=String.fromCharCode(this.readInt8(this.position_+$.SIZEOF_INT+t));return e};$.ByteBuffer.prototype.__offset=function(e,t){var n=e-this.readInt32(e);return t<this.readInt16(n)?this.readInt16(n+t):0};$.ByteBuffer.prototype.__union=function(e,t){return e.bb_pos=t+this.readInt32(t),e.bb=this,e};$.ByteBuffer.prototype.__string=function(e,t){e+=this.readInt32(e);var n=this.readInt32(e),r=\"\",i=0;if(e+=$.SIZEOF_INT,t===$.Encoding.UTF8_BYTES)return this.bytes_.subarray(e,e+n);for(;i<n;){var o,s=this.readUint8(e+i++);if(s<192)o=s;else{var a=this.readUint8(e+i++);if(s<224)o=(s&31)<<6|a&63;else{var l=this.readUint8(e+i++);if(s<240)o=(s&15)<<12|(a&63)<<6|l&63;else{var c=this.readUint8(e+i++);o=(s&7)<<18|(a&63)<<12|(l&63)<<6|c&63}}}o<65536?r+=String.fromCharCode(o):(o-=65536,r+=String.fromCharCode((o>>10)+55296,(o&(1<<10)-1)+56320))}return r};$.ByteBuffer.prototype.__indirect=function(e){return e+this.readInt32(e)};$.ByteBuffer.prototype.__vector=function(e){return e+this.readInt32(e)+$.SIZEOF_INT};$.ByteBuffer.prototype.__vector_len=function(e){return this.readInt32(e+this.readInt32(e))};$.ByteBuffer.prototype.__has_identifier=function(e){if(e.length!=$.FILE_IDENTIFIER_LENGTH)throw new Error(\"FlatBuffers: file identifier must be length \"+$.FILE_IDENTIFIER_LENGTH);for(var t=0;t<$.FILE_IDENTIFIER_LENGTH;t++)if(e.charCodeAt(t)!=this.readInt8(this.position_+$.SIZEOF_INT+t))return!1;return!0};$.ByteBuffer.prototype.createLong=function(e,t){return $.Long.create(e,t)};function sr(e,t,n){return t<=e&&e<=n}function Ka(e){if(e===void 0)return{};if(e===Object(e))return e;throw TypeError(\"Could not convert argument to dictionary\")}function rw(e){for(var t=String(e),n=t.length,r=0,i=[];r<n;){var o=t.charCodeAt(r);if(o<55296||o>57343)i.push(o);else if(56320<=o&&o<=57343)i.push(65533);else if(55296<=o&&o<=56319)if(r===n-1)i.push(65533);else{var s=e.charCodeAt(r+1);if(56320<=s&&s<=57343){var a=o&1023,l=s&1023;i.push(65536+(a<<10)+l),r+=1}else i.push(65533)}r+=1}return i}function iw(e){for(var t=\"\",n=0;n<e.length;++n){var r=e[n];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t}var aa=-1;function nu(e){this.tokens=[].slice.call(e)}nu.prototype={endOfStream:function(){return!this.tokens.length},read:function(){return this.tokens.length?this.tokens.shift():aa},prepend:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.unshift(t.pop());else this.tokens.unshift(e)},push:function(e){if(Array.isArray(e))for(var t=e;t.length;)this.tokens.push(t.shift());else this.tokens.push(e)}};var Xi=-1;function El(e,t){if(e)throw TypeError(\"Decoder error\");return t||65533}var la=\"utf-8\";function ca(e,t){if(!(this instanceof ca))return new ca(e,t);if(e=e!==void 0?String(e).toLowerCase():la,e!==la)throw new Error(\"Encoding not supported. Only utf-8 is supported\");t=Ka(t),this._streaming=!1,this._BOMseen=!1,this._decoder=null,this._fatal=Boolean(t.fatal),this._ignoreBOM=Boolean(t.ignoreBOM),Object.defineProperty(this,\"encoding\",{value:\"utf-8\"}),Object.defineProperty(this,\"fatal\",{value:this._fatal}),Object.defineProperty(this,\"ignoreBOM\",{value:this._ignoreBOM})}ca.prototype={decode:function(t,n){var r;typeof t==\"object\"&&t instanceof ArrayBuffer?r=new Uint8Array(t):typeof t==\"object\"&&\"buffer\"in t&&t.buffer instanceof ArrayBuffer?r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength):r=new Uint8Array(0),n=Ka(n),this._streaming||(this._decoder=new sw({fatal:this._fatal}),this._BOMseen=!1),this._streaming=Boolean(n.stream);for(var i=new nu(r),o=[],s;!i.endOfStream()&&(s=this._decoder.handler(i,i.read()),s!==Xi);)s!==null&&(Array.isArray(s)?o.push.apply(o,s):o.push(s));if(!this._streaming){do{if(s=this._decoder.handler(i,i.read()),s===Xi)break;s!==null&&(Array.isArray(s)?o.push.apply(o,s):o.push(s))}while(!i.endOfStream());this._decoder=null}return o.length&&[\"utf-8\"].indexOf(this.encoding)!==-1&&!this._ignoreBOM&&!this._BOMseen&&(o[0]===65279?(this._BOMseen=!0,o.shift()):this._BOMseen=!0),iw(o)}};function ua(e,t){if(!(this instanceof ua))return new ua(e,t);if(e=e!==void 0?String(e).toLowerCase():la,e!==la)throw new Error(\"Encoding not supported. Only utf-8 is supported\");t=Ka(t),this._streaming=!1,this._encoder=null,this._options={fatal:Boolean(t.fatal)},Object.defineProperty(this,\"encoding\",{value:\"utf-8\"})}ua.prototype={encode:function(t,n){t=t?String(t):\"\",n=Ka(n),this._streaming||(this._encoder=new ow(this._options)),this._streaming=Boolean(n.stream);for(var r=[],i=new nu(rw(t)),o;!i.endOfStream()&&(o=this._encoder.handler(i,i.read()),o!==Xi);)Array.isArray(o)?r.push.apply(r,o):r.push(o);if(!this._streaming){for(;o=this._encoder.handler(i,i.read()),o!==Xi;)Array.isArray(o)?r.push.apply(r,o):r.push(o);this._encoder=null}return new Uint8Array(r)}};function sw(e){var t=e.fatal,n=0,r=0,i=0,o=128,s=191;this.handler=function(a,l){if(l===aa&&i!==0)return i=0,El(t);if(l===aa)return Xi;if(i===0){if(sr(l,0,127))return l;if(sr(l,194,223))i=1,n=l-192;else if(sr(l,224,239))l===224&&(o=160),l===237&&(s=159),i=2,n=l-224;else if(sr(l,240,244))l===240&&(o=144),l===244&&(s=143),i=3,n=l-240;else return El(t);return n=n<<6*i,null}if(!sr(l,o,s))return n=i=r=0,o=128,s=191,a.prepend(l),El(t);if(o=128,s=191,r+=1,n+=l-128<<6*(i-r),r!==i)return null;var c=n;return n=i=r=0,c}}function ow(e){e.fatal,this.handler=function(t,n){if(n===aa)return Xi;if(sr(n,0,127))return n;var r,i;sr(n,128,2047)?(r=1,i=192):sr(n,2048,65535)?(r=2,i=224):sr(n,65536,1114111)&&(r=3,i=240);for(var o=[(n>>6*r)+i];r>0;){var s=n>>6*(r-1);o.push(128|s&63),r-=1}return o}}const fa=typeof Buffer==\"function\"?Buffer:null,Np=typeof TextDecoder==\"function\"&&typeof TextEncoder==\"function\",gc=(e=>{if(Np||!fa){const t=new e(\"utf-8\");return n=>t.decode(n)}return t=>{const{buffer:n,byteOffset:r,length:i}=Qt(t);return fa.from(n,r,i).toString()}})(typeof TextDecoder!=\"undefined\"?TextDecoder:ca),Xa=(e=>{if(Np||!fa){const t=new e;return n=>t.encode(n)}return(t=\"\")=>Qt(fa.from(t,\"utf8\"))})(typeof TextEncoder!=\"undefined\"?TextEncoder:ua),Ee=Object.freeze({done:!0,value:void 0});class rd{constructor(t){this._json=t}get schema(){return this._json.schema}get batches(){return this._json.batches||[]}get dictionaries(){return this._json.dictionaries||[]}}class Ii{tee(){return this._getDOMStream().tee()}pipe(t,n){return this._getNodeStream().pipe(t,n)}pipeTo(t,n){return this._getDOMStream().pipeTo(t,n)}pipeThrough(t,n){return this._getDOMStream().pipeThrough(t,n)}_getDOMStream(){return this._DOMStream||(this._DOMStream=this.toDOMStream())}_getNodeStream(){return this._nodeStream||(this._nodeStream=this.toNodeStream())}}class aw extends Ii{constructor(){super(),this._values=[],this.resolvers=[],this._closedPromise=new Promise(t=>this._closedPromiseResolve=t)}get closed(){return this._closedPromise}async cancel(t){await this.return(t)}write(t){this._ensureOpen()&&(this.resolvers.length<=0?this._values.push(t):this.resolvers.shift().resolve({done:!1,value:t}))}abort(t){this._closedPromiseResolve&&(this.resolvers.length<=0?this._error={error:t}:this.resolvers.shift().reject({done:!0,value:t}))}close(){if(this._closedPromiseResolve){const{resolvers:t}=this;for(;t.length>0;)t.shift().resolve(Ee);this._closedPromiseResolve(),this._closedPromiseResolve=void 0}}[Symbol.asyncIterator](){return this}toDOMStream(t){return dn.toDOMStream(this._closedPromiseResolve||this._error?this:this._values,t)}toNodeStream(t){return dn.toNodeStream(this._closedPromiseResolve||this._error?this:this._values,t)}async throw(t){return await this.abort(t),Ee}async return(t){return await this.close(),Ee}async read(t){return(await this.next(t,\"read\")).value}async peek(t){return(await this.next(t,\"peek\")).value}next(...t){return this._values.length>0?Promise.resolve({done:!1,value:this._values.shift()}):this._error?Promise.reject({done:!0,value:this._error.error}):this._closedPromiseResolve?new Promise((n,r)=>{this.resolvers.push({resolve:n,reject:r})}):Promise.resolve(Ee)}_ensureOpen(){if(this._closedPromiseResolve)return!0;throw new Error(`${this} is closed`)}}const[lw,Ja]=(()=>{const e=()=>{throw new Error(\"BigInt is not available in this environment\")};function t(){throw e()}return t.asIntN=()=>{throw e()},t.asUintN=()=>{throw e()},typeof BigInt!=\"undefined\"?[BigInt,!0]:[t,!1]})(),[us,xO]=(()=>{const e=()=>{throw new Error(\"BigInt64Array is not available in this environment\")};class t{static get BYTES_PER_ELEMENT(){return 8}static of(){throw e()}static from(){throw e()}constructor(){throw e()}}return typeof BigInt64Array!=\"undefined\"?[BigInt64Array,!0]:[t,!1]})(),[fo,OO]=(()=>{const e=()=>{throw new Error(\"BigUint64Array is not available in this environment\")};class t{static get BYTES_PER_ELEMENT(){return 8}static of(){throw e()}static from(){throw e()}constructor(){throw e()}}return typeof BigUint64Array!=\"undefined\"?[BigUint64Array,!0]:[t,!1]})(),cw=e=>typeof e==\"number\",Up=e=>typeof e==\"boolean\",On=e=>typeof e==\"function\",yn=e=>e!=null&&Object(e)===e,Vr=e=>yn(e)&&On(e.then),Mn=e=>yn(e)&&On(e[Symbol.iterator]),hr=e=>yn(e)&&On(e[Symbol.asyncIterator]),mc=e=>yn(e)&&yn(e.schema),jp=e=>yn(e)&&\"done\"in e&&\"value\"in e,$p=e=>yn(e)&&On(e.stat)&&cw(e.fd),Vp=e=>yn(e)&&ru(e.body),uw=e=>yn(e)&&On(e.abort)&&On(e.getWriter)&&!(e instanceof Ii),ru=e=>yn(e)&&On(e.cancel)&&On(e.getReader)&&!(e instanceof Ii),fw=e=>yn(e)&&On(e.end)&&On(e.write)&&Up(e.writable)&&!(e instanceof Ii),zp=e=>yn(e)&&On(e.read)&&On(e.pipe)&&Up(e.readable)&&!(e instanceof Ii);var dw=$.ByteBuffer;const iu=typeof SharedArrayBuffer!=\"undefined\"?SharedArrayBuffer:ArrayBuffer;function hw(e){let t=e[0]?[e[0]]:[],n,r,i,o;for(let s,a,l=0,c=0,f=e.length;++l<f;){if(s=t[c],a=e[l],!s||!a||s.buffer!==a.buffer||a.byteOffset<s.byteOffset){a&&(t[++c]=a);continue}if({byteOffset:n,byteLength:i}=s,{byteOffset:r,byteLength:o}=a,n+i<r||r+o<n){a&&(t[++c]=a);continue}t[c]=new Uint8Array(s.buffer,n,r-n+o)}return t}function Ws(e,t,n=0,r=t.byteLength){const i=e.byteLength,o=new Uint8Array(e.buffer,e.byteOffset,i),s=new Uint8Array(t.buffer,t.byteOffset,Math.min(r,i));return o.set(s,n),e}function Pn(e,t){let n=hw(e),r=n.reduce((f,d)=>f+d.byteLength,0),i,o,s,a=0,l=-1,c=Math.min(t||1/0,r);for(let f=n.length;++l<f;){if(i=n[l],o=i.subarray(0,Math.min(i.length,c-a)),c<=a+o.length){o.length<i.length?n[l]=i.subarray(o.length):o.length===i.length&&l++,s?Ws(s,o,a):s=o;break}Ws(s||(s=new Uint8Array(c)),o,a),a+=o.length}return[s||new Uint8Array(0),n.slice(l),r-(s?s.byteLength:0)]}function Jt(e,t){let n=jp(t)?t.value:t;return n instanceof e?e===Uint8Array?new e(n.buffer,n.byteOffset,n.byteLength):n:n?(typeof n==\"string\"&&(n=Xa(n)),n instanceof ArrayBuffer?new e(n):n instanceof iu?new e(n):n instanceof dw?Jt(e,n.bytes()):ArrayBuffer.isView(n)?n.byteLength<=0?new e(0):new e(n.buffer,n.byteOffset,n.byteLength/e.BYTES_PER_ELEMENT):e.from(n)):new e(0)}const pw=e=>Jt(Int8Array,e),gw=e=>Jt(Int16Array,e),Fi=e=>Jt(Int32Array,e),kp=e=>Jt(us,e),Qt=e=>Jt(Uint8Array,e),mw=e=>Jt(Uint16Array,e),yw=e=>Jt(Uint32Array,e),Hp=e=>Jt(fo,e),vw=e=>Jt(Float32Array,e),bw=e=>Jt(Float64Array,e),ww=e=>Jt(Uint8ClampedArray,e),yc=e=>(e.next(),e);function*Xn(e,t){const n=function*(i){yield i},r=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof iu?n(t):Mn(t)?t:n(t);yield*yc(function*(i){let o=null;do o=i.next(yield Jt(e,o));while(!o.done)}(r[Symbol.iterator]()))}const Sw=e=>Xn(Int8Array,e),Iw=e=>Xn(Int16Array,e),Tw=e=>Xn(Int32Array,e),Wp=e=>Xn(Uint8Array,e),xw=e=>Xn(Uint16Array,e),Ow=e=>Xn(Uint32Array,e),Aw=e=>Xn(Float32Array,e),Ew=e=>Xn(Float64Array,e),Cw=e=>Xn(Uint8ClampedArray,e);async function*_n(e,t){if(Vr(t))return yield*_n(e,await t);const n=async function*(o){yield await o},r=async function*(o){yield*yc(function*(s){let a=null;do a=s.next(yield a&&a.value);while(!a.done)}(o[Symbol.iterator]()))},i=typeof t==\"string\"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer||t instanceof iu?n(t):Mn(t)?r(t):hr(t)?t:n(t);yield*yc(async function*(o){let s=null;do s=await o.next(yield Jt(e,s));while(!s.done)}(i[Symbol.asyncIterator]()))}const Bw=e=>_n(Int8Array,e),Fw=e=>_n(Int16Array,e),Dw=e=>_n(Int32Array,e),Yp=e=>_n(Uint8Array,e),Rw=e=>_n(Uint16Array,e),Mw=e=>_n(Uint32Array,e),Pw=e=>_n(Float32Array,e),Lw=e=>_n(Float64Array,e),_w=e=>_n(Uint8ClampedArray,e);function Za(e,t,n){if(e!==0){n=n.slice(0,t+1);for(let r=-1;++r<=t;)n[r]+=e}return n}function Gp(e,t){let n=0,r=e.length;if(r!==t.length)return!1;if(r>0)do if(e[n]!==t[n])return!1;while(++n<r);return!0}var Nw=Object.freeze(Object.defineProperty({__proto__:null,memcpy:Ws,joinUint8Arrays:Pn,toArrayBufferView:Jt,toInt8Array:pw,toInt16Array:gw,toInt32Array:Fi,toBigInt64Array:kp,toUint8Array:Qt,toUint16Array:mw,toUint32Array:yw,toBigUint64Array:Hp,toFloat32Array:vw,toFloat64Array:bw,toUint8ClampedArray:ww,toArrayBufferViewIterator:Xn,toInt8ArrayIterator:Sw,toInt16ArrayIterator:Iw,toInt32ArrayIterator:Tw,toUint8ArrayIterator:Wp,toUint16ArrayIterator:xw,toUint32ArrayIterator:Ow,toFloat32ArrayIterator:Aw,toFloat64ArrayIterator:Ew,toUint8ClampedArrayIterator:Cw,toArrayBufferViewAsyncIterator:_n,toInt8ArrayAsyncIterator:Bw,toInt16ArrayAsyncIterator:Fw,toInt32ArrayAsyncIterator:Dw,toUint8ArrayAsyncIterator:Yp,toUint16ArrayAsyncIterator:Rw,toUint32ArrayAsyncIterator:Mw,toFloat32ArrayAsyncIterator:Pw,toFloat64ArrayAsyncIterator:Lw,toUint8ClampedArrayAsyncIterator:_w,rebaseValueOffsets:Za,compareArrayLike:Gp},Symbol.toStringTag,{value:\"Module\"})),dn={fromIterable(e){return Lo(Uw(e))},fromAsyncIterable(e){return Lo(jw(e))},fromDOMStream(e){return Lo($w(e))},fromNodeStream(e){return Lo(zw(e))},toDOMStream(e,t){throw new Error('\"toDOMStream\" not available in this environment')},toNodeStream(e,t){throw new Error('\"toNodeStream\" not available in this environment')}};const Lo=e=>(e.next(),e);function*Uw(e){let t,n=!1,r=[],i,o,s,a=0;function l(){return o===\"peek\"?Pn(r,s)[0]:([i,r,a]=Pn(r,s),i)}({cmd:o,size:s}=yield null);let c=Wp(e)[Symbol.iterator]();try{do if({done:t,value:i}=isNaN(s-a)?c.next(void 0):c.next(s-a),!t&&i.byteLength>0&&(r.push(i),a+=i.byteLength),t||s<=a)do({cmd:o,size:s}=yield l());while(s<a);while(!t)}catch(f){(n=!0)&&typeof c.throw==\"function\"&&c.throw(f)}finally{n===!1&&typeof c.return==\"function\"&&c.return()}}async function*jw(e){let t,n=!1,r=[],i,o,s,a=0;function l(){return o===\"peek\"?Pn(r,s)[0]:([i,r,a]=Pn(r,s),i)}({cmd:o,size:s}=yield null);let c=Yp(e)[Symbol.asyncIterator]();try{do if({done:t,value:i}=isNaN(s-a)?await c.next(void 0):await c.next(s-a),!t&&i.byteLength>0&&(r.push(i),a+=i.byteLength),t||s<=a)do({cmd:o,size:s}=yield l());while(s<a);while(!t)}catch(f){(n=!0)&&typeof c.throw==\"function\"&&await c.throw(f)}finally{n===!1&&typeof c.return==\"function\"&&await c.return()}}async function*$w(e){let t=!1,n=!1,r=[],i,o,s,a=0;function l(){return o===\"peek\"?Pn(r,s)[0]:([i,r,a]=Pn(r,s),i)}({cmd:o,size:s}=yield null);let c=new Vw(e);try{do if({done:t,value:i}=isNaN(s-a)?await c.read(void 0):await c.read(s-a),!t&&i.byteLength>0&&(r.push(Qt(i)),a+=i.byteLength),t||s<=a)do({cmd:o,size:s}=yield l());while(s<a);while(!t)}catch(f){(n=!0)&&await c.cancel(f)}finally{n===!1?await c.cancel():e.locked&&c.releaseLock()}}class Vw{constructor(t){this.source=t,this.byobReader=null,this.defaultReader=null;try{this.supportsBYOB=!!(this.reader=this.getBYOBReader())}catch{this.supportsBYOB=!(this.reader=this.getDefaultReader())}}get closed(){return this.reader?this.reader.closed.catch(()=>{}):Promise.resolve()}releaseLock(){this.reader&&this.reader.releaseLock(),this.reader=this.byobReader=this.defaultReader=null}async cancel(t){const{reader:n,source:r}=this;n&&await n.cancel(t).catch(()=>{}),r&&r.locked&&this.releaseLock()}async read(t){if(t===0)return{done:this.reader==null,value:new Uint8Array(0)};const n=!this.supportsBYOB||typeof t!=\"number\"?await this.getDefaultReader().read():await this.readFromBYOBReader(t);return!n.done&&(n.value=Qt(n)),n}getDefaultReader(){return this.byobReader&&this.releaseLock(),this.defaultReader||(this.defaultReader=this.source.getReader(),this.defaultReader.closed.catch(()=>{})),this.reader=this.defaultReader}getBYOBReader(){return this.defaultReader&&this.releaseLock(),this.byobReader||(this.byobReader=this.source.getReader({mode:\"byob\"}),this.byobReader.closed.catch(()=>{})),this.reader=this.byobReader}async readFromBYOBReader(t){return await Kp(this.getBYOBReader(),new ArrayBuffer(t),0,t)}}async function Kp(e,t,n,r){if(n>=r)return{done:!1,value:new Uint8Array(t,0,r)};const{done:i,value:o}=await e.read(new Uint8Array(t,n,r-n));return(n+=o.byteLength)<r&&!i?await Kp(e,o.buffer,n,r):{done:i,value:new Uint8Array(o.buffer,0,n)}}const Cl=(e,t)=>{let n=i=>r([t,i]),r;return[t,n,new Promise(i=>(r=i)&&e.once(t,n))]};async function*zw(e){let t=[],n=\"error\",r=!1,i=null,o,s,a=0,l=[],c;function f(){return o===\"peek\"?Pn(l,s)[0]:([c,l,a]=Pn(l,s),c)}if({cmd:o,size:s}=yield null,e.isTTY)return yield new Uint8Array(0);try{t[0]=Cl(e,\"end\"),t[1]=Cl(e,\"error\");do{if(t[2]=Cl(e,\"readable\"),[n,i]=await Promise.race(t.map(h=>h[2])),n===\"error\")break;if((r=n===\"end\")||(isFinite(s-a)?(c=Qt(e.read(s-a)),c.byteLength<s-a&&(c=Qt(e.read(void 0)))):c=Qt(e.read(void 0)),c.byteLength>0&&(l.push(c),a+=c.byteLength)),r||s<=a)do({cmd:o,size:s}=yield f());while(s<a)}while(!r)}finally{await d(t,n===\"error\"?i:null)}function d(h,p){return c=l=null,new Promise(async(b,A)=>{for(const[F,O]of h)e.off(F,O);try{const F=e.destroy;F&&F.call(e,p),p=void 0}catch(F){p=F||p}finally{p!=null?A(p):b()}})}}class ne{}var K;(function(e){(function(t){(function(n){(function(r){(function(i){i[i.V1=0]=\"V1\",i[i.V2=1]=\"V2\",i[i.V3=2]=\"V3\",i[i.V4=3]=\"V4\"})(r.MetadataVersion||(r.MetadataVersion={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.Sparse=0]=\"Sparse\",i[i.Dense=1]=\"Dense\"})(r.UnionMode||(r.UnionMode={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.HALF=0]=\"HALF\",i[i.SINGLE=1]=\"SINGLE\",i[i.DOUBLE=2]=\"DOUBLE\"})(r.Precision||(r.Precision={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.DAY=0]=\"DAY\",i[i.MILLISECOND=1]=\"MILLISECOND\"})(r.DateUnit||(r.DateUnit={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.SECOND=0]=\"SECOND\",i[i.MILLISECOND=1]=\"MILLISECOND\",i[i.MICROSECOND=2]=\"MICROSECOND\",i[i.NANOSECOND=3]=\"NANOSECOND\"})(r.TimeUnit||(r.TimeUnit={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.YEAR_MONTH=0]=\"YEAR_MONTH\",i[i.DAY_TIME=1]=\"DAY_TIME\"})(r.IntervalUnit||(r.IntervalUnit={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.NONE=0]=\"NONE\",i[i.Null=1]=\"Null\",i[i.Int=2]=\"Int\",i[i.FloatingPoint=3]=\"FloatingPoint\",i[i.Binary=4]=\"Binary\",i[i.Utf8=5]=\"Utf8\",i[i.Bool=6]=\"Bool\",i[i.Decimal=7]=\"Decimal\",i[i.Date=8]=\"Date\",i[i.Time=9]=\"Time\",i[i.Timestamp=10]=\"Timestamp\",i[i.Interval=11]=\"Interval\",i[i.List=12]=\"List\",i[i.Struct_=13]=\"Struct_\",i[i.Union=14]=\"Union\",i[i.FixedSizeBinary=15]=\"FixedSizeBinary\",i[i.FixedSizeList=16]=\"FixedSizeList\",i[i.Map=17]=\"Map\",i[i.Duration=18]=\"Duration\",i[i.LargeBinary=19]=\"LargeBinary\",i[i.LargeUtf8=20]=\"LargeUtf8\",i[i.LargeList=21]=\"LargeList\"})(r.Type||(r.Type={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.Little=0]=\"Little\",i[i.Big=1]=\"Big\"})(r.Endianness||(r.Endianness={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsNull(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startNull(s){s.startObject(0)}static endNull(s){return s.endObject()}static createNull(s){return i.startNull(s),i.endNull(s)}}r.Null=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsStruct_(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startStruct_(s){s.startObject(0)}static endStruct_(s){return s.endObject()}static createStruct_(s){return i.startStruct_(s),i.endStruct_(s)}}r.Struct_=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsList(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startList(s){s.startObject(0)}static endList(s){return s.endObject()}static createList(s){return i.startList(s),i.endList(s)}}r.List=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsLargeList(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startLargeList(s){s.startObject(0)}static endLargeList(s){return s.endObject()}static createLargeList(s){return i.startLargeList(s),i.endLargeList(s)}}r.LargeList=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsFixedSizeList(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}listSize(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt32(this.bb_pos+s):0}static startFixedSizeList(s){s.startObject(1)}static addListSize(s,a){s.addFieldInt32(0,a,0)}static endFixedSizeList(s){return s.endObject()}static createFixedSizeList(s,a){return i.startFixedSizeList(s),i.addListSize(s,a),i.endFixedSizeList(s)}}r.FixedSizeList=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsMap(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}keysSorted(){let s=this.bb.__offset(this.bb_pos,4);return s?!!this.bb.readInt8(this.bb_pos+s):!1}static startMap(s){s.startObject(1)}static addKeysSorted(s,a){s.addFieldInt8(0,+a,0)}static endMap(s){return s.endObject()}static createMap(s,a){return i.startMap(s),i.addKeysSorted(s,a),i.endMap(s)}}r.Map=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsUnion(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}mode(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.UnionMode.Sparse}typeIds(s){let a=this.bb.__offset(this.bb_pos,6);return a?this.bb.readInt32(this.bb.__vector(this.bb_pos+a)+s*4):0}typeIdsLength(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__vector_len(this.bb_pos+s):0}typeIdsArray(){let s=this.bb.__offset(this.bb_pos,6);return s?new Int32Array(this.bb.bytes().buffer,this.bb.bytes().byteOffset+this.bb.__vector(this.bb_pos+s),this.bb.__vector_len(this.bb_pos+s)):null}static startUnion(s){s.startObject(2)}static addMode(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.UnionMode.Sparse)}static addTypeIds(s,a){s.addFieldOffset(1,a,0)}static createTypeIdsVector(s,a){s.startVector(4,a.length,4);for(let l=a.length-1;l>=0;l--)s.addInt32(a[l]);return s.endVector()}static startTypeIdsVector(s,a){s.startVector(4,a,4)}static endUnion(s){return s.endObject()}static createUnion(s,a,l){return i.startUnion(s),i.addMode(s,a),i.addTypeIds(s,l),i.endUnion(s)}}r.Union=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsInt(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}bitWidth(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt32(this.bb_pos+s):0}isSigned(){let s=this.bb.__offset(this.bb_pos,6);return s?!!this.bb.readInt8(this.bb_pos+s):!1}static startInt(s){s.startObject(2)}static addBitWidth(s,a){s.addFieldInt32(0,a,0)}static addIsSigned(s,a){s.addFieldInt8(1,+a,0)}static endInt(s){return s.endObject()}static createInt(s,a,l){return i.startInt(s),i.addBitWidth(s,a),i.addIsSigned(s,l),i.endInt(s)}}r.Int=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsFloatingPoint(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}precision(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.Precision.HALF}static startFloatingPoint(s){s.startObject(1)}static addPrecision(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.Precision.HALF)}static endFloatingPoint(s){return s.endObject()}static createFloatingPoint(s,a){return i.startFloatingPoint(s),i.addPrecision(s,a),i.endFloatingPoint(s)}}r.FloatingPoint=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsUtf8(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startUtf8(s){s.startObject(0)}static endUtf8(s){return s.endObject()}static createUtf8(s){return i.startUtf8(s),i.endUtf8(s)}}r.Utf8=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsBinary(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startBinary(s){s.startObject(0)}static endBinary(s){return s.endObject()}static createBinary(s){return i.startBinary(s),i.endBinary(s)}}r.Binary=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsLargeUtf8(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startLargeUtf8(s){s.startObject(0)}static endLargeUtf8(s){return s.endObject()}static createLargeUtf8(s){return i.startLargeUtf8(s),i.endLargeUtf8(s)}}r.LargeUtf8=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsLargeBinary(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startLargeBinary(s){s.startObject(0)}static endLargeBinary(s){return s.endObject()}static createLargeBinary(s){return i.startLargeBinary(s),i.endLargeBinary(s)}}r.LargeBinary=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsFixedSizeBinary(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}byteWidth(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt32(this.bb_pos+s):0}static startFixedSizeBinary(s){s.startObject(1)}static addByteWidth(s,a){s.addFieldInt32(0,a,0)}static endFixedSizeBinary(s){return s.endObject()}static createFixedSizeBinary(s,a){return i.startFixedSizeBinary(s),i.addByteWidth(s,a),i.endFixedSizeBinary(s)}}r.FixedSizeBinary=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsBool(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}static startBool(s){s.startObject(0)}static endBool(s){return s.endObject()}static createBool(s){return i.startBool(s),i.endBool(s)}}r.Bool=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDecimal(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}precision(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt32(this.bb_pos+s):0}scale(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readInt32(this.bb_pos+s):0}static startDecimal(s){s.startObject(2)}static addPrecision(s,a){s.addFieldInt32(0,a,0)}static addScale(s,a){s.addFieldInt32(1,a,0)}static endDecimal(s){return s.endObject()}static createDecimal(s,a,l){return i.startDecimal(s),i.addPrecision(s,a),i.addScale(s,l),i.endDecimal(s)}}r.Decimal=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDate(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.DateUnit.MILLISECOND}static startDate(s){s.startObject(1)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.DateUnit.MILLISECOND)}static endDate(s){return s.endObject()}static createDate(s,a){return i.startDate(s),i.addUnit(s,a),i.endDate(s)}}r.Date=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsTime(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.TimeUnit.MILLISECOND}bitWidth(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readInt32(this.bb_pos+s):32}static startTime(s){s.startObject(2)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.TimeUnit.MILLISECOND)}static addBitWidth(s,a){s.addFieldInt32(1,a,32)}static endTime(s){return s.endObject()}static createTime(s,a,l){return i.startTime(s),i.addUnit(s,a),i.addBitWidth(s,l),i.endTime(s)}}r.Time=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsTimestamp(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.TimeUnit.SECOND}timezone(s){let a=this.bb.__offset(this.bb_pos,6);return a?this.bb.__string(this.bb_pos+a,s):null}static startTimestamp(s){s.startObject(2)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.TimeUnit.SECOND)}static addTimezone(s,a){s.addFieldOffset(1,a,0)}static endTimestamp(s){return s.endObject()}static createTimestamp(s,a,l){return i.startTimestamp(s),i.addUnit(s,a),i.addTimezone(s,l),i.endTimestamp(s)}}r.Timestamp=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsInterval(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH}static startInterval(s){s.startObject(1)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.IntervalUnit.YEAR_MONTH)}static endInterval(s){return s.endObject()}static createInterval(s,a){return i.startInterval(s),i.addUnit(s,a),i.endInterval(s)}}r.Interval=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDuration(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}unit(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.TimeUnit.MILLISECOND}static startDuration(s){s.startObject(1)}static addUnit(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.TimeUnit.MILLISECOND)}static endDuration(s){return s.endObject()}static createDuration(s,a){return i.startDuration(s),i.addUnit(s,a),i.endDuration(s)}}r.Duration=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsKeyValue(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}key(s){let a=this.bb.__offset(this.bb_pos,4);return a?this.bb.__string(this.bb_pos+a,s):null}value(s){let a=this.bb.__offset(this.bb_pos,6);return a?this.bb.__string(this.bb_pos+a,s):null}static startKeyValue(s){s.startObject(2)}static addKey(s,a){s.addFieldOffset(0,a,0)}static addValue(s,a){s.addFieldOffset(1,a,0)}static endKeyValue(s){return s.endObject()}static createKeyValue(s,a,l){return i.startKeyValue(s),i.addKey(s,a),i.addValue(s,l),i.endKeyValue(s)}}r.KeyValue=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDictionaryEncoding(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}id(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt64(this.bb_pos+s):this.bb.createLong(0,0)}indexType(s){let a=this.bb.__offset(this.bb_pos,6);return a?(s||new e.apache.arrow.flatbuf.Int).__init(this.bb.__indirect(this.bb_pos+a),this.bb):null}isOrdered(){let s=this.bb.__offset(this.bb_pos,8);return s?!!this.bb.readInt8(this.bb_pos+s):!1}static startDictionaryEncoding(s){s.startObject(3)}static addId(s,a){s.addFieldInt64(0,a,s.createLong(0,0))}static addIndexType(s,a){s.addFieldOffset(1,a,0)}static addIsOrdered(s,a){s.addFieldInt8(2,+a,0)}static endDictionaryEncoding(s){return s.endObject()}static createDictionaryEncoding(s,a,l,c){return i.startDictionaryEncoding(s),i.addId(s,a),i.addIndexType(s,l),i.addIsOrdered(s,c),i.endDictionaryEncoding(s)}}r.DictionaryEncoding=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsField(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}name(s){let a=this.bb.__offset(this.bb_pos,4);return a?this.bb.__string(this.bb_pos+a,s):null}nullable(){let s=this.bb.__offset(this.bb_pos,6);return s?!!this.bb.readInt8(this.bb_pos+s):!1}typeType(){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.readUint8(this.bb_pos+s):e.apache.arrow.flatbuf.Type.NONE}type(s){let a=this.bb.__offset(this.bb_pos,10);return a?this.bb.__union(s,this.bb_pos+a):null}dictionary(s){let a=this.bb.__offset(this.bb_pos,12);return a?(s||new e.apache.arrow.flatbuf.DictionaryEncoding).__init(this.bb.__indirect(this.bb_pos+a),this.bb):null}children(s,a){let l=this.bb.__offset(this.bb_pos,14);return l?(a||new e.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+l)+s*4),this.bb):null}childrenLength(){let s=this.bb.__offset(this.bb_pos,14);return s?this.bb.__vector_len(this.bb_pos+s):0}customMetadata(s,a){let l=this.bb.__offset(this.bb_pos,16);return l?(a||new e.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+l)+s*4),this.bb):null}customMetadataLength(){let s=this.bb.__offset(this.bb_pos,16);return s?this.bb.__vector_len(this.bb_pos+s):0}static startField(s){s.startObject(7)}static addName(s,a){s.addFieldOffset(0,a,0)}static addNullable(s,a){s.addFieldInt8(1,+a,0)}static addTypeType(s,a){s.addFieldInt8(2,a,e.apache.arrow.flatbuf.Type.NONE)}static addType(s,a){s.addFieldOffset(3,a,0)}static addDictionary(s,a){s.addFieldOffset(4,a,0)}static addChildren(s,a){s.addFieldOffset(5,a,0)}static createChildrenVector(s,a){s.startVector(4,a.length,4);for(let l=a.length-1;l>=0;l--)s.addOffset(a[l]);return s.endVector()}static startChildrenVector(s,a){s.startVector(4,a,4)}static addCustomMetadata(s,a){s.addFieldOffset(6,a,0)}static createCustomMetadataVector(s,a){s.startVector(4,a.length,4);for(let l=a.length-1;l>=0;l--)s.addOffset(a[l]);return s.endVector()}static startCustomMetadataVector(s,a){s.startVector(4,a,4)}static endField(s){return s.endObject()}static createField(s,a,l,c,f,d,h,p){return i.startField(s),i.addName(s,a),i.addNullable(s,l),i.addTypeType(s,c),i.addType(s,f),i.addDictionary(s,d),i.addChildren(s,h),i.addCustomMetadata(s,p),i.endField(s)}}r.Field=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}offset(){return this.bb.readInt64(this.bb_pos)}length(){return this.bb.readInt64(this.bb_pos+8)}static createBuffer(s,a,l){return s.prep(8,16),s.writeInt64(l),s.writeInt64(a),s.offset()}}r.Buffer=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsSchema(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}endianness(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):e.apache.arrow.flatbuf.Endianness.Little}fields(s,a){let l=this.bb.__offset(this.bb_pos,6);return l?(a||new e.apache.arrow.flatbuf.Field).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+l)+s*4),this.bb):null}fieldsLength(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__vector_len(this.bb_pos+s):0}customMetadata(s,a){let l=this.bb.__offset(this.bb_pos,8);return l?(a||new e.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+l)+s*4),this.bb):null}customMetadataLength(){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.__vector_len(this.bb_pos+s):0}static startSchema(s){s.startObject(3)}static addEndianness(s,a){s.addFieldInt16(0,a,e.apache.arrow.flatbuf.Endianness.Little)}static addFields(s,a){s.addFieldOffset(1,a,0)}static createFieldsVector(s,a){s.startVector(4,a.length,4);for(let l=a.length-1;l>=0;l--)s.addOffset(a[l]);return s.endVector()}static startFieldsVector(s,a){s.startVector(4,a,4)}static addCustomMetadata(s,a){s.addFieldOffset(2,a,0)}static createCustomMetadataVector(s,a){s.startVector(4,a.length,4);for(let l=a.length-1;l>=0;l--)s.addOffset(a[l]);return s.endVector()}static startCustomMetadataVector(s,a){s.startVector(4,a,4)}static endSchema(s){return s.endObject()}static finishSchemaBuffer(s,a){s.finish(a)}static createSchema(s,a,l,c){return i.startSchema(s),i.addEndianness(s,a),i.addFields(s,l),i.addCustomMetadata(s,c),i.endSchema(s)}}r.Schema=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(K||(K={}));var He;(function(e){(function(t){(function(n){(function(r){r.Schema=K.apache.arrow.flatbuf.Schema})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(He||(He={}));(function(e){(function(t){(function(n){(function(r){(function(i){i[i.NONE=0]=\"NONE\",i[i.Schema=1]=\"Schema\",i[i.DictionaryBatch=2]=\"DictionaryBatch\",i[i.RecordBatch=3]=\"RecordBatch\",i[i.Tensor=4]=\"Tensor\",i[i.SparseTensor=5]=\"SparseTensor\"})(r.MessageHeader||(r.MessageHeader={}))})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(He||(He={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}length(){return this.bb.readInt64(this.bb_pos)}nullCount(){return this.bb.readInt64(this.bb_pos+8)}static createFieldNode(s,a,l){return s.prep(8,16),s.writeInt64(l),s.writeInt64(a),s.offset()}}r.FieldNode=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(He||(He={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsRecordBatch(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}length(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt64(this.bb_pos+s):this.bb.createLong(0,0)}nodes(s,a){let l=this.bb.__offset(this.bb_pos,6);return l?(a||new e.apache.arrow.flatbuf.FieldNode).__init(this.bb.__vector(this.bb_pos+l)+s*16,this.bb):null}nodesLength(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.__vector_len(this.bb_pos+s):0}buffers(s,a){let l=this.bb.__offset(this.bb_pos,8);return l?(a||new K.apache.arrow.flatbuf.Buffer).__init(this.bb.__vector(this.bb_pos+l)+s*16,this.bb):null}buffersLength(){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.__vector_len(this.bb_pos+s):0}static startRecordBatch(s){s.startObject(3)}static addLength(s,a){s.addFieldInt64(0,a,s.createLong(0,0))}static addNodes(s,a){s.addFieldOffset(1,a,0)}static startNodesVector(s,a){s.startVector(16,a,8)}static addBuffers(s,a){s.addFieldOffset(2,a,0)}static startBuffersVector(s,a){s.startVector(16,a,8)}static endRecordBatch(s){return s.endObject()}static createRecordBatch(s,a,l,c){return i.startRecordBatch(s),i.addLength(s,a),i.addNodes(s,l),i.addBuffers(s,c),i.endRecordBatch(s)}}r.RecordBatch=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(He||(He={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsDictionaryBatch(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}id(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt64(this.bb_pos+s):this.bb.createLong(0,0)}data(s){let a=this.bb.__offset(this.bb_pos,6);return a?(s||new e.apache.arrow.flatbuf.RecordBatch).__init(this.bb.__indirect(this.bb_pos+a),this.bb):null}isDelta(){let s=this.bb.__offset(this.bb_pos,8);return s?!!this.bb.readInt8(this.bb_pos+s):!1}static startDictionaryBatch(s){s.startObject(3)}static addId(s,a){s.addFieldInt64(0,a,s.createLong(0,0))}static addData(s,a){s.addFieldOffset(1,a,0)}static addIsDelta(s,a){s.addFieldInt8(2,+a,0)}static endDictionaryBatch(s){return s.endObject()}static createDictionaryBatch(s,a,l,c){return i.startDictionaryBatch(s),i.addId(s,a),i.addData(s,l),i.addIsDelta(s,c),i.endDictionaryBatch(s)}}r.DictionaryBatch=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(He||(He={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsMessage(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}version(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):K.apache.arrow.flatbuf.MetadataVersion.V1}headerType(){let s=this.bb.__offset(this.bb_pos,6);return s?this.bb.readUint8(this.bb_pos+s):e.apache.arrow.flatbuf.MessageHeader.NONE}header(s){let a=this.bb.__offset(this.bb_pos,8);return a?this.bb.__union(s,this.bb_pos+a):null}bodyLength(){let s=this.bb.__offset(this.bb_pos,10);return s?this.bb.readInt64(this.bb_pos+s):this.bb.createLong(0,0)}customMetadata(s,a){let l=this.bb.__offset(this.bb_pos,12);return l?(a||new K.apache.arrow.flatbuf.KeyValue).__init(this.bb.__indirect(this.bb.__vector(this.bb_pos+l)+s*4),this.bb):null}customMetadataLength(){let s=this.bb.__offset(this.bb_pos,12);return s?this.bb.__vector_len(this.bb_pos+s):0}static startMessage(s){s.startObject(5)}static addVersion(s,a){s.addFieldInt16(0,a,K.apache.arrow.flatbuf.MetadataVersion.V1)}static addHeaderType(s,a){s.addFieldInt8(1,a,e.apache.arrow.flatbuf.MessageHeader.NONE)}static addHeader(s,a){s.addFieldOffset(2,a,0)}static addBodyLength(s,a){s.addFieldInt64(3,a,s.createLong(0,0))}static addCustomMetadata(s,a){s.addFieldOffset(4,a,0)}static createCustomMetadataVector(s,a){s.startVector(4,a.length,4);for(let l=a.length-1;l>=0;l--)s.addOffset(a[l]);return s.endVector()}static startCustomMetadataVector(s,a){s.startVector(4,a,4)}static endMessage(s){return s.endObject()}static finishMessageBuffer(s,a){s.finish(a)}static createMessage(s,a,l,c,f,d){return i.startMessage(s),i.addVersion(s,a),i.addHeaderType(s,l),i.addHeader(s,c),i.addBodyLength(s,f),i.addCustomMetadata(s,d),i.endMessage(s)}}r.Message=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(He||(He={}));K.apache.arrow.flatbuf.Type;var Gn=K.apache.arrow.flatbuf.DateUnit,he=K.apache.arrow.flatbuf.TimeUnit,Tn=K.apache.arrow.flatbuf.Precision,ur=K.apache.arrow.flatbuf.UnionMode,Ji=K.apache.arrow.flatbuf.IntervalUnit,ge=He.apache.arrow.flatbuf.MessageHeader,Cn=K.apache.arrow.flatbuf.MetadataVersion,D;(function(e){e[e.NONE=0]=\"NONE\",e[e.Null=1]=\"Null\",e[e.Int=2]=\"Int\",e[e.Float=3]=\"Float\",e[e.Binary=4]=\"Binary\",e[e.Utf8=5]=\"Utf8\",e[e.Bool=6]=\"Bool\",e[e.Decimal=7]=\"Decimal\",e[e.Date=8]=\"Date\",e[e.Time=9]=\"Time\",e[e.Timestamp=10]=\"Timestamp\",e[e.Interval=11]=\"Interval\",e[e.List=12]=\"List\",e[e.Struct=13]=\"Struct\",e[e.Union=14]=\"Union\",e[e.FixedSizeBinary=15]=\"FixedSizeBinary\",e[e.FixedSizeList=16]=\"FixedSizeList\",e[e.Map=17]=\"Map\",e[e.Dictionary=-1]=\"Dictionary\",e[e.Int8=-2]=\"Int8\",e[e.Int16=-3]=\"Int16\",e[e.Int32=-4]=\"Int32\",e[e.Int64=-5]=\"Int64\",e[e.Uint8=-6]=\"Uint8\",e[e.Uint16=-7]=\"Uint16\",e[e.Uint32=-8]=\"Uint32\",e[e.Uint64=-9]=\"Uint64\",e[e.Float16=-10]=\"Float16\",e[e.Float32=-11]=\"Float32\",e[e.Float64=-12]=\"Float64\",e[e.DateDay=-13]=\"DateDay\",e[e.DateMillisecond=-14]=\"DateMillisecond\",e[e.TimestampSecond=-15]=\"TimestampSecond\",e[e.TimestampMillisecond=-16]=\"TimestampMillisecond\",e[e.TimestampMicrosecond=-17]=\"TimestampMicrosecond\",e[e.TimestampNanosecond=-18]=\"TimestampNanosecond\",e[e.TimeSecond=-19]=\"TimeSecond\",e[e.TimeMillisecond=-20]=\"TimeMillisecond\",e[e.TimeMicrosecond=-21]=\"TimeMicrosecond\",e[e.TimeNanosecond=-22]=\"TimeNanosecond\",e[e.DenseUnion=-23]=\"DenseUnion\",e[e.SparseUnion=-24]=\"SparseUnion\",e[e.IntervalDayTime=-25]=\"IntervalDayTime\",e[e.IntervalYearMonth=-26]=\"IntervalYearMonth\"})(D||(D={}));var Ot;(function(e){e[e.OFFSET=0]=\"OFFSET\",e[e.DATA=1]=\"DATA\",e[e.VALIDITY=2]=\"VALIDITY\",e[e.TYPE=3]=\"TYPE\"})(Ot||(Ot={}));function su(e,t,n,r){return(n&1<<r)!==0}function Xp(e,t,n,r){return(n&1<<r)>>r}function Jp(e,t,n){return n?!!(e[t>>3]|=1<<t%8)||!0:!(e[t>>3]&=~(1<<t%8))&&!1}function Qa(e,t,n){const r=n.byteLength+7&-8;if(e>0||n.byteLength<r){const i=new Uint8Array(r);return i.set(e%8===0?n.subarray(e>>3):Ys(ho(n,e,t,null,su)).subarray(0,r)),i}return n}function Ys(e){let t=[],n=0,r=0,i=0;for(const s of e)s&&(i|=1<<r),++r===8&&(t[n++]=i,i=r=0);(n===0||r>0)&&(t[n++]=i);let o=new Uint8Array(t.length+7&-8);return o.set(t),o}function*ho(e,t,n,r,i){let o=t%8,s=t>>3,a=0,l=n;for(;l>0;o=0){let c=e[s++];do yield i(r,a++,c,o);while(--l>0&&++o<8)}}function da(e,t,n){if(n-t<=0)return 0;if(n-t<8){let o=0;for(const s of ho(e,t,n-t,e,Xp))o+=s;return o}const r=n>>3<<3,i=t+(t%8===0?0:8-t%8);return da(e,t,i)+da(e,r,n)+Zp(e,i>>3,r-i>>3)}function Zp(e,t,n){let r=0,i=t|0;const o=new DataView(e.buffer,e.byteOffset,e.byteLength),s=n===void 0?e.byteLength:i+n;for(;s-i>=4;)r+=Yo(o.getUint32(i)),i+=4;for(;s-i>=2;)r+=Yo(o.getUint16(i)),i+=2;for(;s-i>=1;)r+=Yo(o.getUint8(i)),i+=1;return r}function Yo(e){let t=e|0;return t=t-(t>>>1&1431655765),t=(t&858993459)+(t>>>2&858993459),(t+(t>>>4)&252645135)*16843009>>>24}var kw=Object.freeze(Object.defineProperty({__proto__:null,getBool:su,getBit:Xp,setBool:Jp,truncateBitmap:Qa,packBools:Ys,iterateBits:ho,popcnt_bit_range:da,popcnt_array:Zp,popcnt_uint32:Yo},Symbol.toStringTag,{value:\"Module\"}));class Zt{visitMany(t,...n){return t.map((r,i)=>this.visit(r,...n.map(o=>o[i])))}visit(...t){return this.getVisitFn(t[0],!1).apply(this,t)}getVisitFn(t,n=!0){return Hw(this,t,n)}visitNull(t,...n){return null}visitBool(t,...n){return null}visitInt(t,...n){return null}visitFloat(t,...n){return null}visitUtf8(t,...n){return null}visitBinary(t,...n){return null}visitFixedSizeBinary(t,...n){return null}visitDate(t,...n){return null}visitTimestamp(t,...n){return null}visitTime(t,...n){return null}visitDecimal(t,...n){return null}visitList(t,...n){return null}visitStruct(t,...n){return null}visitUnion(t,...n){return null}visitDictionary(t,...n){return null}visitInterval(t,...n){return null}visitFixedSizeList(t,...n){return null}visitMap(t,...n){return null}}function Hw(e,t,n=!0){let r=null,i=D.NONE;switch(t instanceof ft||t instanceof ne?i=Bl(t.type):t instanceof Wt?i=Bl(t):typeof(i=t)!=\"number\"&&(i=D[t]),i){case D.Null:r=e.visitNull;break;case D.Bool:r=e.visitBool;break;case D.Int:r=e.visitInt;break;case D.Int8:r=e.visitInt8||e.visitInt;break;case D.Int16:r=e.visitInt16||e.visitInt;break;case D.Int32:r=e.visitInt32||e.visitInt;break;case D.Int64:r=e.visitInt64||e.visitInt;break;case D.Uint8:r=e.visitUint8||e.visitInt;break;case D.Uint16:r=e.visitUint16||e.visitInt;break;case D.Uint32:r=e.visitUint32||e.visitInt;break;case D.Uint64:r=e.visitUint64||e.visitInt;break;case D.Float:r=e.visitFloat;break;case D.Float16:r=e.visitFloat16||e.visitFloat;break;case D.Float32:r=e.visitFloat32||e.visitFloat;break;case D.Float64:r=e.visitFloat64||e.visitFloat;break;case D.Utf8:r=e.visitUtf8;break;case D.Binary:r=e.visitBinary;break;case D.FixedSizeBinary:r=e.visitFixedSizeBinary;break;case D.Date:r=e.visitDate;break;case D.DateDay:r=e.visitDateDay||e.visitDate;break;case D.DateMillisecond:r=e.visitDateMillisecond||e.visitDate;break;case D.Timestamp:r=e.visitTimestamp;break;case D.TimestampSecond:r=e.visitTimestampSecond||e.visitTimestamp;break;case D.TimestampMillisecond:r=e.visitTimestampMillisecond||e.visitTimestamp;break;case D.TimestampMicrosecond:r=e.visitTimestampMicrosecond||e.visitTimestamp;break;case D.TimestampNanosecond:r=e.visitTimestampNanosecond||e.visitTimestamp;break;case D.Time:r=e.visitTime;break;case D.TimeSecond:r=e.visitTimeSecond||e.visitTime;break;case D.TimeMillisecond:r=e.visitTimeMillisecond||e.visitTime;break;case D.TimeMicrosecond:r=e.visitTimeMicrosecond||e.visitTime;break;case D.TimeNanosecond:r=e.visitTimeNanosecond||e.visitTime;break;case D.Decimal:r=e.visitDecimal;break;case D.List:r=e.visitList;break;case D.Struct:r=e.visitStruct;break;case D.Union:r=e.visitUnion;break;case D.DenseUnion:r=e.visitDenseUnion||e.visitUnion;break;case D.SparseUnion:r=e.visitSparseUnion||e.visitUnion;break;case D.Dictionary:r=e.visitDictionary;break;case D.Interval:r=e.visitInterval;break;case D.IntervalDayTime:r=e.visitIntervalDayTime||e.visitInterval;break;case D.IntervalYearMonth:r=e.visitIntervalYearMonth||e.visitInterval;break;case D.FixedSizeList:r=e.visitFixedSizeList;break;case D.Map:r=e.visitMap;break}if(typeof r==\"function\")return r;if(!n)return()=>null;throw new Error(`Unrecognized type '${D[i]}'`)}function Bl(e){switch(e.typeId){case D.Null:return D.Null;case D.Int:const{bitWidth:t,isSigned:n}=e;switch(t){case 8:return n?D.Int8:D.Uint8;case 16:return n?D.Int16:D.Uint16;case 32:return n?D.Int32:D.Uint32;case 64:return n?D.Int64:D.Uint64}return D.Int;case D.Float:switch(e.precision){case Tn.HALF:return D.Float16;case Tn.SINGLE:return D.Float32;case Tn.DOUBLE:return D.Float64}return D.Float;case D.Binary:return D.Binary;case D.Utf8:return D.Utf8;case D.Bool:return D.Bool;case D.Decimal:return D.Decimal;case D.Time:switch(e.unit){case he.SECOND:return D.TimeSecond;case he.MILLISECOND:return D.TimeMillisecond;case he.MICROSECOND:return D.TimeMicrosecond;case he.NANOSECOND:return D.TimeNanosecond}return D.Time;case D.Timestamp:switch(e.unit){case he.SECOND:return D.TimestampSecond;case he.MILLISECOND:return D.TimestampMillisecond;case he.MICROSECOND:return D.TimestampMicrosecond;case he.NANOSECOND:return D.TimestampNanosecond}return D.Timestamp;case D.Date:switch(e.unit){case Gn.DAY:return D.DateDay;case Gn.MILLISECOND:return D.DateMillisecond}return D.Date;case D.Interval:switch(e.unit){case Ji.DAY_TIME:return D.IntervalDayTime;case Ji.YEAR_MONTH:return D.IntervalYearMonth}return D.Interval;case D.Map:return D.Map;case D.List:return D.List;case D.Struct:return D.Struct;case D.Union:switch(e.mode){case ur.Dense:return D.DenseUnion;case ur.Sparse:return D.SparseUnion}return D.Union;case D.FixedSizeBinary:return D.FixedSizeBinary;case D.FixedSizeList:return D.FixedSizeList;case D.Dictionary:return D.Dictionary}throw new Error(`Unrecognized type '${D[e.typeId]}'`)}Zt.prototype.visitInt8=null;Zt.prototype.visitInt16=null;Zt.prototype.visitInt32=null;Zt.prototype.visitInt64=null;Zt.prototype.visitUint8=null;Zt.prototype.visitUint16=null;Zt.prototype.visitUint32=null;Zt.prototype.visitUint64=null;Zt.prototype.visitFloat16=null;Zt.prototype.visitFloat32=null;Zt.prototype.visitFloat64=null;Zt.prototype.visitDateDay=null;Zt.prototype.visitDateMillisecond=null;Zt.prototype.visitTimestampSecond=null;Zt.prototype.visitTimestampMillisecond=null;Zt.prototype.visitTimestampMicrosecond=null;Zt.prototype.visitTimestampNanosecond=null;Zt.prototype.visitTimeSecond=null;Zt.prototype.visitTimeMillisecond=null;Zt.prototype.visitTimeMicrosecond=null;Zt.prototype.visitTimeNanosecond=null;Zt.prototype.visitDenseUnion=null;Zt.prototype.visitSparseUnion=null;Zt.prototype.visitIntervalDayTime=null;Zt.prototype.visitIntervalYearMonth=null;class Pt extends Zt{compareSchemas(t,n){return t===n||n instanceof t.constructor&&pn.compareFields(t.fields,n.fields)}compareFields(t,n){return t===n||Array.isArray(t)&&Array.isArray(n)&&t.length===n.length&&t.every((r,i)=>pn.compareField(r,n[i]))}compareField(t,n){return t===n||n instanceof t.constructor&&t.name===n.name&&t.nullable===n.nullable&&pn.visit(t.type,n.type)}}function rn(e,t){return t instanceof e.constructor}function po(e,t){return e===t||rn(e,t)}function pr(e,t){return e===t||rn(e,t)&&e.bitWidth===t.bitWidth&&e.isSigned===t.isSigned}function qa(e,t){return e===t||rn(e,t)&&e.precision===t.precision}function Ww(e,t){return e===t||rn(e,t)&&e.byteWidth===t.byteWidth}function ou(e,t){return e===t||rn(e,t)&&e.unit===t.unit}function go(e,t){return e===t||rn(e,t)&&e.unit===t.unit&&e.timezone===t.timezone}function mo(e,t){return e===t||rn(e,t)&&e.unit===t.unit&&e.bitWidth===t.bitWidth}function Yw(e,t){return e===t||rn(e,t)&&e.children.length===t.children.length&&pn.compareFields(e.children,t.children)}function Gw(e,t){return e===t||rn(e,t)&&e.children.length===t.children.length&&pn.compareFields(e.children,t.children)}function au(e,t){return e===t||rn(e,t)&&e.mode===t.mode&&e.typeIds.every((n,r)=>n===t.typeIds[r])&&pn.compareFields(e.children,t.children)}function Kw(e,t){return e===t||rn(e,t)&&e.id===t.id&&e.isOrdered===t.isOrdered&&pn.visit(e.indices,t.indices)&&pn.visit(e.dictionary,t.dictionary)}function lu(e,t){return e===t||rn(e,t)&&e.unit===t.unit}function Xw(e,t){return e===t||rn(e,t)&&e.listSize===t.listSize&&e.children.length===t.children.length&&pn.compareFields(e.children,t.children)}function Jw(e,t){return e===t||rn(e,t)&&e.keysSorted===t.keysSorted&&e.children.length===t.children.length&&pn.compareFields(e.children,t.children)}Pt.prototype.visitNull=po;Pt.prototype.visitBool=po;Pt.prototype.visitInt=pr;Pt.prototype.visitInt8=pr;Pt.prototype.visitInt16=pr;Pt.prototype.visitInt32=pr;Pt.prototype.visitInt64=pr;Pt.prototype.visitUint8=pr;Pt.prototype.visitUint16=pr;Pt.prototype.visitUint32=pr;Pt.prototype.visitUint64=pr;Pt.prototype.visitFloat=qa;Pt.prototype.visitFloat16=qa;Pt.prototype.visitFloat32=qa;Pt.prototype.visitFloat64=qa;Pt.prototype.visitUtf8=po;Pt.prototype.visitBinary=po;Pt.prototype.visitFixedSizeBinary=Ww;Pt.prototype.visitDate=ou;Pt.prototype.visitDateDay=ou;Pt.prototype.visitDateMillisecond=ou;Pt.prototype.visitTimestamp=go;Pt.prototype.visitTimestampSecond=go;Pt.prototype.visitTimestampMillisecond=go;Pt.prototype.visitTimestampMicrosecond=go;Pt.prototype.visitTimestampNanosecond=go;Pt.prototype.visitTime=mo;Pt.prototype.visitTimeSecond=mo;Pt.prototype.visitTimeMillisecond=mo;Pt.prototype.visitTimeMicrosecond=mo;Pt.prototype.visitTimeNanosecond=mo;Pt.prototype.visitDecimal=po;Pt.prototype.visitList=Yw;Pt.prototype.visitStruct=Gw;Pt.prototype.visitUnion=au;Pt.prototype.visitDenseUnion=au;Pt.prototype.visitSparseUnion=au;Pt.prototype.visitDictionary=Kw;Pt.prototype.visitInterval=lu;Pt.prototype.visitIntervalDayTime=lu;Pt.prototype.visitIntervalYearMonth=lu;Pt.prototype.visitFixedSizeList=Xw;Pt.prototype.visitMap=Jw;const pn=new Pt;class Wt{static isNull(t){return t&&t.typeId===D.Null}static isInt(t){return t&&t.typeId===D.Int}static isFloat(t){return t&&t.typeId===D.Float}static isBinary(t){return t&&t.typeId===D.Binary}static isUtf8(t){return t&&t.typeId===D.Utf8}static isBool(t){return t&&t.typeId===D.Bool}static isDecimal(t){return t&&t.typeId===D.Decimal}static isDate(t){return t&&t.typeId===D.Date}static isTime(t){return t&&t.typeId===D.Time}static isTimestamp(t){return t&&t.typeId===D.Timestamp}static isInterval(t){return t&&t.typeId===D.Interval}static isList(t){return t&&t.typeId===D.List}static isStruct(t){return t&&t.typeId===D.Struct}static isUnion(t){return t&&t.typeId===D.Union}static isFixedSizeBinary(t){return t&&t.typeId===D.FixedSizeBinary}static isFixedSizeList(t){return t&&t.typeId===D.FixedSizeList}static isMap(t){return t&&t.typeId===D.Map}static isDictionary(t){return t&&t.typeId===D.Dictionary}get typeId(){return D.NONE}compareTo(t){return pn.visit(this,t)}}Wt[Symbol.toStringTag]=(e=>(e.children=null,e.ArrayType=Array,e[Symbol.toStringTag]=\"DataType\"))(Wt.prototype);class Zi extends Wt{toString(){return\"Null\"}get typeId(){return D.Null}}Zi[Symbol.toStringTag]=(e=>e[Symbol.toStringTag]=\"Null\")(Zi.prototype);class nn extends Wt{constructor(t,n){super(),this.isSigned=t,this.bitWidth=n}get typeId(){return D.Int}get ArrayType(){switch(this.bitWidth){case 8:return this.isSigned?Int8Array:Uint8Array;case 16:return this.isSigned?Int16Array:Uint16Array;case 32:return this.isSigned?Int32Array:Uint32Array;case 64:return this.isSigned?Int32Array:Uint32Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`${this.isSigned?\"I\":\"Ui\"}nt${this.bitWidth}`}}nn[Symbol.toStringTag]=(e=>(e.isSigned=null,e.bitWidth=null,e[Symbol.toStringTag]=\"Int\"))(nn.prototype);class cu extends nn{constructor(){super(!0,8)}}class uu extends nn{constructor(){super(!0,16)}}class di extends nn{constructor(){super(!0,32)}}class Qi extends nn{constructor(){super(!0,64)}}class fu extends nn{constructor(){super(!1,8)}}class du extends nn{constructor(){super(!1,16)}}class hu extends nn{constructor(){super(!1,32)}}class qi extends nn{constructor(){super(!1,64)}}Object.defineProperty(cu.prototype,\"ArrayType\",{value:Int8Array});Object.defineProperty(uu.prototype,\"ArrayType\",{value:Int16Array});Object.defineProperty(di.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(Qi.prototype,\"ArrayType\",{value:Int32Array});Object.defineProperty(fu.prototype,\"ArrayType\",{value:Uint8Array});Object.defineProperty(du.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(hu.prototype,\"ArrayType\",{value:Uint32Array});Object.defineProperty(qi.prototype,\"ArrayType\",{value:Uint32Array});class hi extends Wt{constructor(t){super(),this.precision=t}get typeId(){return D.Float}get ArrayType(){switch(this.precision){case Tn.HALF:return Uint16Array;case Tn.SINGLE:return Float32Array;case Tn.DOUBLE:return Float64Array}throw new Error(`Unrecognized ${this[Symbol.toStringTag]} type`)}toString(){return`Float${this.precision<<5||16}`}}hi[Symbol.toStringTag]=(e=>(e.precision=null,e[Symbol.toStringTag]=\"Float\"))(hi.prototype);class tl extends hi{constructor(){super(Tn.HALF)}}class pu extends hi{constructor(){super(Tn.SINGLE)}}class gu extends hi{constructor(){super(Tn.DOUBLE)}}Object.defineProperty(tl.prototype,\"ArrayType\",{value:Uint16Array});Object.defineProperty(pu.prototype,\"ArrayType\",{value:Float32Array});Object.defineProperty(gu.prototype,\"ArrayType\",{value:Float64Array});class Gs extends Wt{constructor(){super()}get typeId(){return D.Binary}toString(){return\"Binary\"}}Gs[Symbol.toStringTag]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Binary\"))(Gs.prototype);class ts extends Wt{constructor(){super()}get typeId(){return D.Utf8}toString(){return\"Utf8\"}}ts[Symbol.toStringTag]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Utf8\"))(ts.prototype);class Ks extends Wt{constructor(){super()}get typeId(){return D.Bool}toString(){return\"Bool\"}}Ks[Symbol.toStringTag]=(e=>(e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"Bool\"))(Ks.prototype);class ha extends Wt{constructor(t,n){super(),this.scale=t,this.precision=n}get typeId(){return D.Decimal}toString(){return`Decimal[${this.precision}e${this.scale>0?\"+\":\"\"}${this.scale}]`}}ha[Symbol.toStringTag]=(e=>(e.scale=null,e.precision=null,e.ArrayType=Uint32Array,e[Symbol.toStringTag]=\"Decimal\"))(ha.prototype);class es extends Wt{constructor(t){super(),this.unit=t}get typeId(){return D.Date}toString(){return`Date${(this.unit+1)*32}<${Gn[this.unit]}>`}}es[Symbol.toStringTag]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Date\"))(es.prototype);class Zw extends es{constructor(){super(Gn.DAY)}}class id extends es{constructor(){super(Gn.MILLISECOND)}}class pa extends Wt{constructor(t,n){super(),this.unit=t,this.bitWidth=n}get typeId(){return D.Time}toString(){return`Time${this.bitWidth}<${he[this.unit]}>`}}pa[Symbol.toStringTag]=(e=>(e.unit=null,e.bitWidth=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Time\"))(pa.prototype);class ga extends Wt{constructor(t,n){super(),this.unit=t,this.timezone=n}get typeId(){return D.Timestamp}toString(){return`Timestamp<${he[this.unit]}${this.timezone?`, ${this.timezone}`:\"\"}>`}}ga[Symbol.toStringTag]=(e=>(e.unit=null,e.timezone=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Timestamp\"))(ga.prototype);class ma extends Wt{constructor(t){super(),this.unit=t}get typeId(){return D.Interval}toString(){return`Interval<${Ji[this.unit]}>`}}ma[Symbol.toStringTag]=(e=>(e.unit=null,e.ArrayType=Int32Array,e[Symbol.toStringTag]=\"Interval\"))(ma.prototype);class ns extends Wt{constructor(t){super(),this.children=[t]}get typeId(){return D.List}toString(){return`List<${this.valueType}>`}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}}ns[Symbol.toStringTag]=(e=>(e.children=null,e[Symbol.toStringTag]=\"List\"))(ns.prototype);class Ln extends Wt{constructor(t){super(),this.children=t}get typeId(){return D.Struct}toString(){return`Struct<{${this.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}}Ln[Symbol.toStringTag]=(e=>(e.children=null,e[Symbol.toStringTag]=\"Struct\"))(Ln.prototype);class Xs extends Wt{constructor(t,n,r){super(),this.mode=t,this.children=r,this.typeIds=n=Int32Array.from(n),this.typeIdToChildIndex=n.reduce((i,o,s)=>(i[o]=s)&&i||i,Object.create(null))}get typeId(){return D.Union}toString(){return`${this[Symbol.toStringTag]}<${this.children.map(t=>`${t.type}`).join(\" | \")}>`}}Xs[Symbol.toStringTag]=(e=>(e.mode=null,e.typeIds=null,e.children=null,e.typeIdToChildIndex=null,e.ArrayType=Int8Array,e[Symbol.toStringTag]=\"Union\"))(Xs.prototype);class ya extends Wt{constructor(t){super(),this.byteWidth=t}get typeId(){return D.FixedSizeBinary}toString(){return`FixedSizeBinary[${this.byteWidth}]`}}ya[Symbol.toStringTag]=(e=>(e.byteWidth=null,e.ArrayType=Uint8Array,e[Symbol.toStringTag]=\"FixedSizeBinary\"))(ya.prototype);class Js extends Wt{constructor(t,n){super(),this.listSize=t,this.children=[n]}get typeId(){return D.FixedSizeList}get valueType(){return this.children[0].type}get valueField(){return this.children[0]}get ArrayType(){return this.valueType.ArrayType}toString(){return`FixedSizeList[${this.listSize}]<${this.valueType}>`}}Js[Symbol.toStringTag]=(e=>(e.children=null,e.listSize=null,e[Symbol.toStringTag]=\"FixedSizeList\"))(Js.prototype);class Zs extends Wt{constructor(t,n=!1){super(),this.children=[t],this.keysSorted=n}get typeId(){return D.Map}get keyType(){return this.children[0].type.children[0].type}get valueType(){return this.children[0].type.children[1].type}toString(){return`Map<{${this.children[0].type.children.map(t=>`${t.name}:${t.type}`).join(\", \")}}>`}}Zs[Symbol.toStringTag]=(e=>(e.children=null,e.keysSorted=null,e[Symbol.toStringTag]=\"Map_\"))(Zs.prototype);const Qw=(e=>()=>++e)(-1);class zr extends Wt{constructor(t,n,r,i){super(),this.indices=n,this.dictionary=t,this.isOrdered=i||!1,this.id=r==null?Qw():typeof r==\"number\"?r:r.low}get typeId(){return D.Dictionary}get children(){return this.dictionary.children}get valueType(){return this.dictionary}get ArrayType(){return this.dictionary.ArrayType}toString(){return`Dictionary<${this.indices}, ${this.dictionary}>`}}zr[Symbol.toStringTag]=(e=>(e.id=null,e.indices=null,e.isOrdered=null,e.dictionary=null,e[Symbol.toStringTag]=\"Dictionary\"))(zr.prototype);function Qp(e){let t=e;switch(e.typeId){case D.Decimal:return 4;case D.Timestamp:return 2;case D.Date:return 1+t.unit;case D.Interval:return 1+t.unit;case D.Int:return 1+ +(t.bitWidth>32);case D.Time:return 1+ +(t.bitWidth>32);case D.FixedSizeList:return t.listSize;case D.FixedSizeBinary:return t.byteWidth;default:return 1}}const qw=-1;class ft{constructor(t,n,r,i,o,s,a){this.type=t,this.dictionary=a,this.offset=Math.floor(Math.max(n||0,0)),this.length=Math.floor(Math.max(r||0,0)),this._nullCount=Math.floor(Math.max(i||0,-1)),this.childData=(s||[]).map(c=>c instanceof ft?c:c.data);let l;o instanceof ft?(this.stride=o.stride,this.values=o.values,this.typeIds=o.typeIds,this.nullBitmap=o.nullBitmap,this.valueOffsets=o.valueOffsets):(this.stride=Qp(t),o&&((l=o[0])&&(this.valueOffsets=l),(l=o[1])&&(this.values=l),(l=o[2])&&(this.nullBitmap=l),(l=o[3])&&(this.typeIds=l)))}get typeId(){return this.type.typeId}get ArrayType(){return this.type.ArrayType}get buffers(){return[this.valueOffsets,this.values,this.nullBitmap,this.typeIds]}get byteLength(){let t=0,{valueOffsets:n,values:r,nullBitmap:i,typeIds:o}=this;return n&&(t+=n.byteLength),r&&(t+=r.byteLength),i&&(t+=i.byteLength),o&&(t+=o.byteLength),this.childData.reduce((s,a)=>s+a.byteLength,t)}get nullCount(){let t=this._nullCount,n;return t<=qw&&(n=this.nullBitmap)&&(this._nullCount=t=this.length-da(n,this.offset,this.offset+this.length)),t}clone(t,n=this.offset,r=this.length,i=this._nullCount,o=this,s=this.childData){return new ft(t,n,r,i,o,s,this.dictionary)}slice(t,n){const{stride:r,typeId:i,childData:o}=this,s=+(this._nullCount===0)-1,a=i===16?r:1,l=this._sliceBuffers(t,n,r,i);return this.clone(this.type,this.offset+t,n,s,l,!o.length||this.valueOffsets?o:this._sliceChildren(o,a*t,a*n))}_changeLengthAndBackfillNullBitmap(t){if(this.typeId===D.Null)return this.clone(this.type,0,t,0);const{length:n,nullCount:r}=this,i=new Uint8Array((t+63&-64)>>3).fill(255,0,n>>3);i[n>>3]=(1<<n-(n&-8))-1,r>0&&i.set(Qa(this.offset,n,this.nullBitmap),0);const o=this.buffers;return o[Ot.VALIDITY]=i,this.clone(this.type,0,t,r+(t-n),o)}_sliceBuffers(t,n,r,i){let o,{buffers:s}=this;return(o=s[Ot.TYPE])&&(s[Ot.TYPE]=o.subarray(t,t+n)),(o=s[Ot.OFFSET])&&(s[Ot.OFFSET]=o.subarray(t,t+n+1))||(o=s[Ot.DATA])&&(s[Ot.DATA]=i===6?o:o.subarray(r*t,r*(t+n))),s}_sliceChildren(t,n,r){return t.map(i=>i.slice(n,r))}static new(t,n,r,i,o,s,a){switch(o instanceof ft?o=o.buffers:o||(o=[]),t.typeId){case D.Null:return ft.Null(t,n,r);case D.Int:return ft.Int(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.Dictionary:return ft.Dictionary(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[],a);case D.Float:return ft.Float(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.Bool:return ft.Bool(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.Decimal:return ft.Decimal(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.Date:return ft.Date(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.Time:return ft.Time(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.Timestamp:return ft.Timestamp(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.Interval:return ft.Interval(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.FixedSizeBinary:return ft.FixedSizeBinary(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.DATA]||[]);case D.Binary:return ft.Binary(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.OFFSET]||[],o[Ot.DATA]||[]);case D.Utf8:return ft.Utf8(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.OFFSET]||[],o[Ot.DATA]||[]);case D.List:return ft.List(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.OFFSET]||[],(s||[])[0]);case D.FixedSizeList:return ft.FixedSizeList(t,n,r,i||0,o[Ot.VALIDITY],(s||[])[0]);case D.Struct:return ft.Struct(t,n,r,i||0,o[Ot.VALIDITY],s||[]);case D.Map:return ft.Map(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.OFFSET]||[],(s||[])[0]);case D.Union:return ft.Union(t,n,r,i||0,o[Ot.VALIDITY],o[Ot.TYPE]||[],o[Ot.OFFSET]||s,s)}throw new Error(`Unrecognized typeId ${t.typeId}`)}static Null(t,n,r){return new ft(t,n,r,0)}static Int(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static Dictionary(t,n,r,i,o,s,a){return new ft(t,n,r,i,[void 0,Jt(t.indices.ArrayType,s),Qt(o)],[],a)}static Float(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static Bool(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static Decimal(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static Date(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static Time(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static Timestamp(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static Interval(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static FixedSizeBinary(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,Jt(t.ArrayType,s),Qt(o)])}static Binary(t,n,r,i,o,s,a){return new ft(t,n,r,i,[Fi(s),Qt(a),Qt(o)])}static Utf8(t,n,r,i,o,s,a){return new ft(t,n,r,i,[Fi(s),Qt(a),Qt(o)])}static List(t,n,r,i,o,s,a){return new ft(t,n,r,i,[Fi(s),void 0,Qt(o)],[a])}static FixedSizeList(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,void 0,Qt(o)],[s])}static Struct(t,n,r,i,o,s){return new ft(t,n,r,i,[void 0,void 0,Qt(o)],s)}static Map(t,n,r,i,o,s,a){return new ft(t,n,r,i,[Fi(s),void 0,Qt(o)],[a])}static Union(t,n,r,i,o,s,a,l){const c=[void 0,void 0,Qt(o),Jt(t.ArrayType,s)];return t.mode===ur.Sparse?new ft(t,n,r,i,c,a):(c[Ot.OFFSET]=Fi(a),new ft(t,n,r,i,c,l))}}ft.prototype.childData=Object.freeze([]);const tS=void 0;function Ms(e){if(e===null)return\"null\";if(e===tS)return\"undefined\";switch(typeof e){case\"number\":return`${e}`;case\"bigint\":return`${e}`;case\"string\":return`\"${e}\"`}return typeof e[Symbol.toPrimitive]==\"function\"?e[Symbol.toPrimitive](\"string\"):ArrayBuffer.isView(e)?`[${e}]`:JSON.stringify(e)}function eS(e){if(!e||e.length<=0)return function(i){return!0};let t=\"\",n=e.filter(r=>r===r);return n.length>0&&(t=`\n    switch (x) {${n.map(r=>`\n        case ${nS(r)}:`).join(\"\")}\n            return false;\n    }`),e.length!==n.length&&(t=`if (x !== x) return false;\n${t}`),new Function(\"x\",`${t}\nreturn true;`)}function nS(e){return typeof e!=\"bigint\"?Ms(e):Ja?`${Ms(e)}n`:`\"${Ms(e)}\"`}const Fl=(e,t)=>(e*t+63&-64||64)/t,rS=(e,t=0)=>e.length>=t?e.subarray(0,t):Ws(new e.constructor(t),e,0);class yo{constructor(t,n=1){this.buffer=t,this.stride=n,this.BYTES_PER_ELEMENT=t.BYTES_PER_ELEMENT,this.ArrayType=t.constructor,this._resize(this.length=t.length/n|0)}get byteLength(){return this.length*this.stride*this.BYTES_PER_ELEMENT|0}get reservedLength(){return this.buffer.length/this.stride}get reservedByteLength(){return this.buffer.byteLength}set(t,n){return this}append(t){return this.set(this.length,t)}reserve(t){if(t>0){this.length+=t;const n=this.stride,r=this.length*n,i=this.buffer.length;r>=i&&this._resize(i===0?Fl(r*1,this.BYTES_PER_ELEMENT):Fl(r*2,this.BYTES_PER_ELEMENT))}return this}flush(t=this.length){t=Fl(t*this.stride,this.BYTES_PER_ELEMENT);const n=rS(this.buffer,t);return this.clear(),n}clear(){return this.length=0,this._resize(0),this}_resize(t){return this.buffer=Ws(new this.ArrayType(t),this.buffer)}}yo.prototype.offset=0;class vo extends yo{last(){return this.get(this.length-1)}get(t){return this.buffer[t]}set(t,n){return this.reserve(t-this.length+1),this.buffer[t*this.stride]=n,this}}class qp extends vo{constructor(t=new Uint8Array(0)){super(t,1/8),this.numValid=0}get numInvalid(){return this.length-this.numValid}get(t){return this.buffer[t>>3]>>t%8&1}set(t,n){const{buffer:r}=this.reserve(t-this.length+1),i=t>>3,o=t%8,s=r[i]>>o&1;return n?s===0&&(r[i]|=1<<o,++this.numValid):s===1&&(r[i]&=~(1<<o),--this.numValid),this}clear(){return this.numValid=0,super.clear()}}class tg extends vo{constructor(t=new Int32Array(1)){super(t,1)}append(t){return this.set(this.length-1,t)}set(t,n){const r=this.length-1,i=this.reserve(t-r+1).buffer;return r<t++&&i.fill(i[r],r,t),i[t]=i[t-1]+n,this}flush(t=this.length-1){return t>this.length&&this.set(t-1,0),super.flush(t+1)}}class eg extends yo{get ArrayType64(){return this._ArrayType64||(this._ArrayType64=this.buffer instanceof Int32Array?us:fo)}set(t,n){switch(this.reserve(t-this.length+1),typeof n){case\"bigint\":this.buffer64[t]=n;break;case\"number\":this.buffer[t*this.stride]=n;break;default:this.buffer.set(n,t*this.stride)}return this}_resize(t){const n=super._resize(t),r=n.byteLength/(this.BYTES_PER_ELEMENT*this.stride);return Ja&&(this.buffer64=new this.ArrayType64(n.buffer,n.byteOffset,r)),n}}class Ce{constructor({type:t,nullValues:n}){this.length=0,this.finished=!1,this.type=t,this.children=[],this.nullValues=n,this.stride=Qp(t),this._nulls=new qp,n&&n.length>0&&(this._isValid=eS(n))}static new(t){}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t){throw new Error('\"throughDOM\" not available in this environment')}static throughIterable(t){return iS(t)}static throughAsyncIterable(t){return sS(t)}toVector(){return ne.new(this.flush())}get ArrayType(){return this.type.ArrayType}get nullCount(){return this._nulls.numInvalid}get numChildren(){return this.children.length}get byteLength(){let t=0;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),this._typeIds&&(t+=this._typeIds.byteLength),this.children.reduce((n,r)=>n+r.byteLength,t)}get reservedLength(){return this._nulls.reservedLength}get reservedByteLength(){let t=0;return this._offsets&&(t+=this._offsets.reservedByteLength),this._values&&(t+=this._values.reservedByteLength),this._nulls&&(t+=this._nulls.reservedByteLength),this._typeIds&&(t+=this._typeIds.reservedByteLength),this.children.reduce((n,r)=>n+r.reservedByteLength,t)}get valueOffsets(){return this._offsets?this._offsets.buffer:null}get values(){return this._values?this._values.buffer:null}get nullBitmap(){return this._nulls?this._nulls.buffer:null}get typeIds(){return this._typeIds?this._typeIds.buffer:null}append(t){return this.set(this.length,t)}isValid(t){return this._isValid(t)}set(t,n){return this.setValid(t,this.isValid(n))&&this.setValue(t,n),this}setValue(t,n){this._setValue(this,t,n)}setValid(t,n){return this.length=this._nulls.set(t,+n).length,n}addChild(t,n=`${this.numChildren}`){throw new Error(`Cannot append children to non-nested type \"${this.type}\"`)}getChildAt(t){return this.children[t]||null}flush(){const t=[],n=this._values,r=this._offsets,i=this._typeIds,{length:o,nullCount:s}=this;i?(t[Ot.TYPE]=i.flush(o),r&&(t[Ot.OFFSET]=r.flush(o))):r?(n&&(t[Ot.DATA]=n.flush(r.last())),t[Ot.OFFSET]=r.flush(o)):n&&(t[Ot.DATA]=n.flush(o)),s>0&&(t[Ot.VALIDITY]=this._nulls.flush(o));const a=ft.new(this.type,0,o,s,t,this.children.map(l=>l.flush()));return this.clear(),a}finish(){return this.finished=!0,this.children.forEach(t=>t.finish()),this}clear(){return this.length=0,this._offsets&&this._offsets.clear(),this._values&&this._values.clear(),this._nulls&&this._nulls.clear(),this._typeIds&&this._typeIds.clear(),this.children.forEach(t=>t.clear()),this}}Ce.prototype.length=1;Ce.prototype.stride=1;Ce.prototype.children=null;Ce.prototype.finished=!1;Ce.prototype.nullValues=null;Ce.prototype._isValid=()=>!0;class Wr extends Ce{constructor(t){super(t),this._values=new vo(new this.ArrayType(0),this.stride)}setValue(t,n){const r=this._values;return r.reserve(t-r.length+1),super.setValue(t,n)}}class el extends Ce{constructor(t){super(t),this._pendingLength=0,this._offsets=new tg}setValue(t,n){const r=this._pending||(this._pending=new Map),i=r.get(t);i&&(this._pendingLength-=i.length),this._pendingLength+=n.length,r.set(t,n)}setValid(t,n){return super.setValid(t,n)?!0:((this._pending||(this._pending=new Map)).set(t,void 0),!1)}clear(){return this._pendingLength=0,this._pending=void 0,super.clear()}flush(){return this._flush(),super.flush()}finish(){return this._flush(),super.finish()}_flush(){const t=this._pending,n=this._pendingLength;return this._pendingLength=0,this._pending=void 0,t&&t.size>0&&this._flushPending(t,n),this}}function iS(e){const{[\"queueingStrategy\"]:t=\"count\"}=e,{[\"highWaterMark\"]:n=t!==\"bytes\"?1e3:2**14}=e,r=t!==\"bytes\"?\"length\":\"byteLength\";return function*(i){let o=0,s=Ce.new(e);for(const a of i)s.append(a)[r]>=n&&++o&&(yield s.toVector());(s.finish().length>0||o===0)&&(yield s.toVector())}}function sS(e){const{[\"queueingStrategy\"]:t=\"count\"}=e,{[\"highWaterMark\"]:n=t!==\"bytes\"?1e3:2**14}=e,r=t!==\"bytes\"?\"length\":\"byteLength\";return async function*(i){let o=0,s=Ce.new(e);for await(const a of i)s.append(a)[r]>=n&&++o&&(yield s.toVector());(s.finish().length>0||o===0)&&(yield s.toVector())}}class oS extends Ce{constructor(t){super(t),this._values=new qp}setValue(t,n){this._values.set(t,+n)}}class aS extends Ce{setValue(t,n){}setValid(t,n){return this.length=Math.max(t+1,this.length),n}}class mu extends Wr{}class lS extends mu{}class cS extends mu{}class uS extends Wr{}class fS extends Ce{constructor({type:t,nullValues:n,dictionaryHashFunction:r}){super({type:new zr(t.dictionary,t.indices,t.id,t.isOrdered)}),this._nulls=null,this._dictionaryOffset=0,this._keysToIndices=Object.create(null),this.indices=Ce.new({type:this.type.indices,nullValues:n}),this.dictionary=Ce.new({type:this.type.dictionary,nullValues:null}),typeof r==\"function\"&&(this.valueToKey=r)}get values(){return this.indices.values}get nullCount(){return this.indices.nullCount}get nullBitmap(){return this.indices.nullBitmap}get byteLength(){return this.indices.byteLength+this.dictionary.byteLength}get reservedLength(){return this.indices.reservedLength+this.dictionary.reservedLength}get reservedByteLength(){return this.indices.reservedByteLength+this.dictionary.reservedByteLength}isValid(t){return this.indices.isValid(t)}setValid(t,n){const r=this.indices;return n=r.setValid(t,n),this.length=r.length,n}setValue(t,n){let r=this._keysToIndices,i=this.valueToKey(n),o=r[i];return o===void 0&&(r[i]=o=this._dictionaryOffset+this.dictionary.append(n).length-1),this.indices.setValue(t,o)}flush(){const t=this.type,n=this._dictionary,r=this.dictionary.toVector(),i=this.indices.flush().clone(t);return i.dictionary=n?n.concat(r):r,this.finished||(this._dictionaryOffset+=r.length),this._dictionary=i.dictionary,this.clear(),i}finish(){return this.indices.finish(),this.dictionary.finish(),this._dictionaryOffset=0,this._keysToIndices=Object.create(null),super.finish()}clear(){return this.indices.clear(),this.dictionary.clear(),super.clear()}valueToKey(t){return typeof t==\"string\"?t:`${t}`}}class dS extends Wr{}const ng=new Float64Array(1),Ei=new Uint32Array(ng.buffer);function rg(e){let t=(e&31744)>>10,n=(e&1023)/1024,r=(-1)**((e&32768)>>15);switch(t){case 31:return r*(n?NaN:1/0);case 0:return r*(n?6103515625e-14*n:0)}return r*2**(t-15)*(1+n)}function yu(e){if(e!==e)return 32256;ng[0]=e;let t=(Ei[1]&2147483648)>>16&65535,n=Ei[1]&2146435072,r=0;return n>=1089470464?Ei[0]>0?n=31744:(n=(n&2080374784)>>16,r=(Ei[1]&1048575)>>10):n<=1056964608?(r=1048576+(Ei[1]&1048575),r=1048576+(r<<(n>>20)-998)>>21,n=0):(n=n-1056964608>>10,r=(Ei[1]&1048575)+512>>10),t|n|r&65535}var hS=Object.freeze(Object.defineProperty({__proto__:null,uint16ToFloat64:rg,float64ToUint16:yu},Symbol.toStringTag,{value:\"Module\"}));class nl extends Wr{}class pS extends nl{setValue(t,n){this._values.set(t,yu(n))}}class gS extends nl{setValue(t,n){this._values.set(t,n)}}class mS extends nl{setValue(t,n){this._values.set(t,n)}}const ig=Symbol.for(\"isArrowBigNum\");function Nn(e,...t){return t.length===0?Object.setPrototypeOf(Jt(this.TypedArray,e),this.constructor.prototype):Object.setPrototypeOf(new this.TypedArray(e,...t),this.constructor.prototype)}Nn.prototype[ig]=!0;Nn.prototype.toJSON=function(){return`\"${Mr(this)}\"`};Nn.prototype.valueOf=function(){return sg(this)};Nn.prototype.toString=function(){return Mr(this)};Nn.prototype[Symbol.toPrimitive]=function(e=\"default\"){switch(e){case\"number\":return sg(this);case\"string\":return Mr(this);case\"default\":return qs(this)}return Mr(this)};function Ui(...e){return Nn.apply(this,e)}function ji(...e){return Nn.apply(this,e)}function Qs(...e){return Nn.apply(this,e)}Object.setPrototypeOf(Ui.prototype,Object.create(Int32Array.prototype));Object.setPrototypeOf(ji.prototype,Object.create(Uint32Array.prototype));Object.setPrototypeOf(Qs.prototype,Object.create(Uint32Array.prototype));Object.assign(Ui.prototype,Nn.prototype,{constructor:Ui,signed:!0,TypedArray:Int32Array,BigIntArray:us});Object.assign(ji.prototype,Nn.prototype,{constructor:ji,signed:!1,TypedArray:Uint32Array,BigIntArray:fo});Object.assign(Qs.prototype,Nn.prototype,{constructor:Qs,signed:!0,TypedArray:Uint32Array,BigIntArray:fo});function sg(e){let{buffer:t,byteOffset:n,length:r,signed:i}=e,o=new Int32Array(t,n,r),s=0,a=0,l=o.length,c,f;for(;a<l;)f=o[a++],c=o[a++],i||(c=c>>>0),s+=(f>>>0)+c*a**32;return s}let Mr,qs;Ja?(qs=e=>e.byteLength===8?new e.BigIntArray(e.buffer,e.byteOffset,1)[0]:Dl(e),Mr=e=>e.byteLength===8?`${new e.BigIntArray(e.buffer,e.byteOffset,1)[0]}`:Dl(e)):(Mr=Dl,qs=Mr);function Dl(e){let t=\"\",n=new Uint32Array(2),r=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=new Uint32Array((r=new Uint16Array(r).reverse()).buffer),o=-1,s=r.length-1;do{for(n[0]=r[o=0];o<s;)r[o++]=n[1]=n[0]/10,n[0]=(n[0]-n[1]*10<<16)+r[o];r[o]=n[1]=n[0]/10,n[0]=n[0]-n[1]*10,t=`${n[0]}${t}`}while(i[0]||i[1]||i[2]||i[3]);return t||\"0\"}class Ti{constructor(t,n){return Ti.new(t,n)}static new(t,n){switch(n){case!0:return new Ui(t);case!1:return new ji(t)}switch(t.constructor){case Int8Array:case Int16Array:case Int32Array:case us:return new Ui(t)}return t.byteLength===16?new Qs(t):new ji(t)}static signed(t){return new Ui(t)}static unsigned(t){return new ji(t)}static decimal(t){return new Qs(t)}}var yS=Object.freeze(Object.defineProperty({__proto__:null,isArrowBigNumSymbol:ig,get bignumToString(){return Mr},get bignumToBigInt(){return qs},BN:Ti},Symbol.toStringTag,{value:\"Module\"}));class gr extends Wr{setValue(t,n){this._values.set(t,n)}}class vS extends gr{}class bS extends gr{}class wS extends gr{}class SS extends gr{constructor(t){t.nullValues&&(t.nullValues=t.nullValues.map(va)),super(t),this._values=new eg(new Int32Array(0),2)}get values64(){return this._values.buffer64}isValid(t){return super.isValid(va(t))}}class IS extends gr{}class TS extends gr{}class xS extends gr{}class OS extends gr{constructor(t){t.nullValues&&(t.nullValues=t.nullValues.map(va)),super(t),this._values=new eg(new Uint32Array(0),2)}get values64(){return this._values.buffer64}isValid(t){return super.isValid(va(t))}}const va=(e=>t=>(ArrayBuffer.isView(t)&&(e.buffer=t.buffer,e.byteOffset=t.byteOffset,e.byteLength=t.byteLength,t=qs(e),e.buffer=null),t))({BigIntArray:us});class bo extends Wr{}class AS extends bo{}class ES extends bo{}class CS extends bo{}class BS extends bo{}class wo extends Wr{}class FS extends wo{}class DS extends wo{}class RS extends wo{}class MS extends wo{}class vu extends Wr{}class PS extends vu{}class LS extends vu{}class og extends el{constructor(t){super(t),this._values=new yo(new Uint8Array(0))}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,Qt(n))}_flushPending(t,n){const r=this._offsets,i=this._values.reserve(n).buffer;let o=0,s=0,a=0,l;for([o,l]of t)l===void 0?r.set(o,0):(s=l.length,i.set(l,a),r.set(o,s),a+=s)}}class bu extends el{constructor(t){super(t),this._values=new yo(new Uint8Array(0))}get byteLength(){let t=this._pendingLength+this.length*4;return this._offsets&&(t+=this._offsets.byteLength),this._values&&(t+=this._values.byteLength),this._nulls&&(t+=this._nulls.byteLength),t}setValue(t,n){return super.setValue(t,Xa(n))}_flushPending(t,n){}}bu.prototype._flushPending=og.prototype._flushPending;class ag{get length(){return this._values.length}get(t){return this._values[t]}clear(){return this._values=null,this}bind(t){return t instanceof ne?t:(this._values=t,this)}}const ze=Symbol.for(\"parent\"),$i=Symbol.for(\"rowIndex\"),fn=Symbol.for(\"keyToIdx\"),cn=Symbol.for(\"idxToVal\"),vc=Symbol.for(\"nodejs.util.inspect.custom\");class or{constructor(t,n){this[ze]=t,this.size=n}entries(){return this[Symbol.iterator]()}has(t){return this.get(t)!==void 0}get(t){let n;if(t!=null){const r=this[fn]||(this[fn]=new Map);let i=r.get(t);if(i!==void 0){const o=this[cn]||(this[cn]=new Array(this.size));(n=o[i])!==void 0||(o[i]=n=this.getValue(i))}else if((i=this.getIndex(t))>-1){r.set(t,i);const o=this[cn]||(this[cn]=new Array(this.size));(n=o[i])!==void 0||(o[i]=n=this.getValue(i))}}return n}set(t,n){if(t!=null){const r=this[fn]||(this[fn]=new Map);let i=r.get(t);if(i===void 0&&r.set(t,i=this.getIndex(t)),i>-1){const o=this[cn]||(this[cn]=new Array(this.size));o[i]=this.setValue(i,n)}}return this}clear(){throw new Error(`Clearing ${this[Symbol.toStringTag]} not supported.`)}delete(t){throw new Error(`Deleting ${this[Symbol.toStringTag]} values not supported.`)}*[Symbol.iterator](){const t=this.keys(),n=this.values(),r=this[fn]||(this[fn]=new Map),i=this[cn]||(this[cn]=new Array(this.size));for(let o,s,a=0,l,c;!((l=t.next()).done||(c=n.next()).done);++a)o=l.value,s=c.value,i[a]=s,r.has(o)||r.set(o,a),yield[o,s]}forEach(t,n){const r=this.keys(),i=this.values(),o=n===void 0?t:(l,c,f)=>t.call(n,l,c,f),s=this[fn]||(this[fn]=new Map),a=this[cn]||(this[cn]=new Array(this.size));for(let l,c,f=0,d,h;!((d=r.next()).done||(h=i.next()).done);++f)l=d.value,c=h.value,a[f]=c,s.has(l)||s.set(l,f),o(c,l,this)}toArray(){return[...this.values()]}toJSON(){const t={};return this.forEach((n,r)=>t[r]=n),t}inspect(){return this.toString()}[vc](){return this.toString()}toString(){const t=[];return this.forEach((n,r)=>{r=Ms(r),n=Ms(n),t.push(`${r}: ${n}`)}),`{ ${t.join(\", \")} }`}}or[Symbol.toStringTag]=(e=>(Object.defineProperties(e,{size:{writable:!0,enumerable:!1,configurable:!1,value:0},[ze]:{writable:!0,enumerable:!1,configurable:!1,value:null},[$i]:{writable:!0,enumerable:!1,configurable:!1,value:-1}}),e[Symbol.toStringTag]=\"Row\"))(or.prototype);class lg extends or{constructor(t){return super(t,t.length),_S(this)}keys(){return this[ze].getChildAt(0)[Symbol.iterator]()}values(){return this[ze].getChildAt(1)[Symbol.iterator]()}getKey(t){return this[ze].getChildAt(0).get(t)}getIndex(t){return this[ze].getChildAt(0).indexOf(t)}getValue(t){return this[ze].getChildAt(1).get(t)}setValue(t,n){this[ze].getChildAt(1).set(t,n)}}class cg extends or{constructor(t){return super(t,t.type.children.length),ug(this)}*keys(){for(const t of this[ze].type.children)yield t.name}*values(){for(const t of this[ze].type.children)yield this[t.name]}getKey(t){return this[ze].type.children[t].name}getIndex(t){return this[ze].type.children.findIndex(n=>n.name===t)}getValue(t){return this[ze].getChildAt(t).get(this[$i])}setValue(t,n){return this[ze].getChildAt(t).set(this[$i],n)}}Object.setPrototypeOf(or.prototype,Map.prototype);const ug=(()=>{const e={enumerable:!0,configurable:!1,get:null,set:null};return t=>{let n=-1,r=t[fn]||(t[fn]=new Map);const i=s=>function(){return this.get(s)},o=s=>function(a){return this.set(s,a)};for(const s of t.keys())r.set(s,++n),e.get=i(s),e.set=o(s),t.hasOwnProperty(s)||(e.enumerable=!0,Object.defineProperty(t,s,e)),t.hasOwnProperty(n)||(e.enumerable=!1,Object.defineProperty(t,n,e));return e.get=e.set=null,t}})(),_S=(()=>{if(typeof Proxy==\"undefined\")return ug;const e=or.prototype.has,t=or.prototype.get,n=or.prototype.set,r=or.prototype.getKey,i={isExtensible(){return!1},deleteProperty(){return!1},preventExtensions(){return!0},ownKeys(o){return[...o.keys()].map(s=>`${s}`)},has(o,s){switch(s){case\"getKey\":case\"getIndex\":case\"getValue\":case\"setValue\":case\"toArray\":case\"toJSON\":case\"inspect\":case\"constructor\":case\"isPrototypeOf\":case\"propertyIsEnumerable\":case\"toString\":case\"toLocaleString\":case\"valueOf\":case\"size\":case\"has\":case\"get\":case\"set\":case\"clear\":case\"delete\":case\"keys\":case\"values\":case\"entries\":case\"forEach\":case\"__proto__\":case\"__defineGetter__\":case\"__defineSetter__\":case\"hasOwnProperty\":case\"__lookupGetter__\":case\"__lookupSetter__\":case Symbol.iterator:case Symbol.toStringTag:case ze:case $i:case cn:case fn:case vc:return!0}return typeof s==\"number\"&&!o.has(s)&&(s=o.getKey(s)),o.has(s)},get(o,s,a){switch(s){case\"getKey\":case\"getIndex\":case\"getValue\":case\"setValue\":case\"toArray\":case\"toJSON\":case\"inspect\":case\"constructor\":case\"isPrototypeOf\":case\"propertyIsEnumerable\":case\"toString\":case\"toLocaleString\":case\"valueOf\":case\"size\":case\"has\":case\"get\":case\"set\":case\"clear\":case\"delete\":case\"keys\":case\"values\":case\"entries\":case\"forEach\":case\"__proto__\":case\"__defineGetter__\":case\"__defineSetter__\":case\"hasOwnProperty\":case\"__lookupGetter__\":case\"__lookupSetter__\":case Symbol.iterator:case Symbol.toStringTag:case ze:case $i:case cn:case fn:case vc:return Reflect.get(o,s,a)}return typeof s==\"number\"&&!e.call(a,s)&&(s=r.call(a,s)),t.call(a,s)},set(o,s,a,l){switch(s){case ze:case $i:case cn:case fn:return Reflect.set(o,s,a,l);case\"getKey\":case\"getIndex\":case\"getValue\":case\"setValue\":case\"toArray\":case\"toJSON\":case\"inspect\":case\"constructor\":case\"isPrototypeOf\":case\"propertyIsEnumerable\":case\"toString\":case\"toLocaleString\":case\"valueOf\":case\"size\":case\"has\":case\"get\":case\"set\":case\"clear\":case\"delete\":case\"keys\":case\"values\":case\"entries\":case\"forEach\":case\"__proto__\":case\"__defineGetter__\":case\"__defineSetter__\":case\"hasOwnProperty\":case\"__lookupGetter__\":case\"__lookupSetter__\":case Symbol.iterator:case Symbol.toStringTag:return!1}return typeof s==\"number\"&&!e.call(l,s)&&(s=r.call(l,s)),e.call(l,s)?!!n.call(l,s,a):!1}};return o=>new Proxy(o,i)})();function NS(e,t,n){const r=e.length,i=t>-1?t:r+t%r;return n?n(e,i):i}let sd;function wu(e,t,n,r){let{length:i=0}=e,o=typeof t!=\"number\"?0:t,s=typeof n!=\"number\"?i:n;return o<0&&(o=(o%i+i)%i),s<0&&(s=(s%i+i)%i),s<o&&(sd=o,o=s,s=sd),s>i&&(s=i),r?r(e,o,s):[o,s]}const US=Ja?lw(0):0,od=e=>e!==e;function xi(e){let t=typeof e;if(t!==\"object\"||e===null)return od(e)?od:t!==\"bigint\"?n=>n===e:n=>US+n===e;if(e instanceof Date){const n=e.valueOf();return r=>r instanceof Date?r.valueOf()===n:!1}return ArrayBuffer.isView(e)?n=>n?Gp(e,n):!1:e instanceof Map?$S(e):Array.isArray(e)?jS(e):e instanceof ne?VS(e):zS(e)}function jS(e){const t=[];for(let n=-1,r=e.length;++n<r;)t[n]=xi(e[n]);return rl(t)}function $S(e){let t=-1;const n=[];return e.forEach(r=>n[++t]=xi(r)),rl(n)}function VS(e){const t=[];for(let n=-1,r=e.length;++n<r;)t[n]=xi(e.get(n));return rl(t)}function zS(e){const t=Object.keys(e);if(t.length===0)return()=>!1;const n=[];for(let r=-1,i=t.length;++r<i;)n[r]=xi(e[t[r]]);return rl(n,t)}function rl(e,t){return n=>{if(!n||typeof n!=\"object\")return!1;switch(n.constructor){case Array:return kS(e,n);case Map:case lg:case cg:return ad(e,n,n.keys());case Object:case void 0:return ad(e,n,t||Object.keys(n))}return n instanceof ne?HS(e,n):!1}}function kS(e,t){const n=e.length;if(t.length!==n)return!1;for(let r=-1;++r<n;)if(!e[r](t[r]))return!1;return!0}function HS(e,t){const n=e.length;if(t.length!==n)return!1;for(let r=-1;++r<n;)if(!e[r](t.get(r)))return!1;return!0}function ad(e,t,n){const r=n[Symbol.iterator](),i=t instanceof Map?t.keys():Object.keys(t)[Symbol.iterator](),o=t instanceof Map?t.values():Object.values(t)[Symbol.iterator]();let s=0,a=e.length,l=o.next(),c=r.next(),f=i.next();for(;s<a&&!c.done&&!f.done&&!l.done&&!(c.value!==f.value||!e[s](l.value));++s,c=r.next(),f=i.next(),l=o.next());return s===a&&c.done&&f.done&&l.done?!0:(r.return&&r.return(),i.return&&i.return(),o.return&&o.return(),!1)}var WS=Object.freeze(Object.defineProperty({__proto__:null,clampIndex:NS,clampRange:wu,createElementComparator:xi},Symbol.toStringTag,{value:\"Module\"}));class ke extends ne{constructor(t,n=[],r=YS(n)){super(),this._nullCount=-1,this._type=t,this._chunks=n,this._chunkOffsets=r,this._length=r[r.length-1],this._numChildren=(this._type.children||[]).length}static flatten(...t){return JS(ne,t)}static concat(...t){const n=ke.flatten(...t);return new ke(n[0].type,n)}get type(){return this._type}get length(){return this._length}get chunks(){return this._chunks}get typeId(){return this._type.typeId}get VectorName(){return`Chunked<${this._type}>`}get data(){return this._chunks[0]?this._chunks[0].data:null}get ArrayType(){return this._type.ArrayType}get numChildren(){return this._numChildren}get stride(){return this._chunks[0]?this._chunks[0].stride:1}get byteLength(){return this._chunks.reduce((t,n)=>t+n.byteLength,0)}get nullCount(){let t=this._nullCount;return t<0&&(this._nullCount=t=this._chunks.reduce((n,{nullCount:r})=>n+r,0)),t}get indices(){if(Wt.isDictionary(this._type)){if(!this._indices){const t=this._chunks;this._indices=t.length===1?t[0].indices:ke.concat(...t.map(n=>n.indices))}return this._indices}return null}get dictionary(){return Wt.isDictionary(this._type)?this._chunks[this._chunks.length-1].data.dictionary:null}*[Symbol.iterator](){for(const t of this._chunks)yield*t}clone(t=this._chunks){return new ke(this._type,t)}concat(...t){return this.clone(ke.flatten(this,...t))}slice(t,n){return wu(this,t,n,this._sliceInternal)}getChildAt(t){if(t<0||t>=this._numChildren)return null;let n=this._children||(this._children=[]),r,i,o;return(r=n[t])?r:(i=(this._type.children||[])[t])&&(o=this._chunks.map(s=>s.getChildAt(t)).filter(s=>s!=null),o.length>0)?n[t]=new ke(i.type,o):null}search(t,n){let r=t,i=this._chunkOffsets,o=i.length-1;if(r<0||r>=i[o])return null;if(o<=1)return n?n(this,0,r):[0,r];let s=0,a=0,l=0;do{if(s+1===o)return n?n(this,s,r-a):[s,r-a];l=s+(o-s)/2|0,r>=i[l]?s=l:o=l}while(r<i[o]&&r>=(a=i[s]));return null}isValid(t){return!!this.search(t,this.isValidInternal)}get(t){return this.search(t,this.getInternal)}set(t,n){this.search(t,({chunks:r},i,o)=>r[i].set(o,n))}indexOf(t,n){return n&&typeof n==\"number\"?this.search(n,(r,i,o)=>this.indexOfInternal(r,i,o,t)):this.indexOfInternal(this,0,Math.max(0,n||0),t)}toArray(){const{chunks:t}=this,n=t.length;let r=this._type.ArrayType;if(n<=0)return new r(0);if(n<=1)return t[0].toArray();let i=0,o=new Array(n);for(let l=-1;++l<n;)i+=(o[l]=t[l].toArray()).length;r!==o[0].constructor&&(r=o[0].constructor);let s=new r(i),a=r===Array?KS:GS;for(let l=-1,c=0;++l<n;)c=a(o[l],s,c);return s}getInternal({_chunks:t},n,r){return t[n].get(r)}isValidInternal({_chunks:t},n,r){return t[n].isValid(r)}indexOfInternal({_chunks:t},n,r,i){let o=n-1,s=t.length,a=r,l=0,c=-1;for(;++o<s;){if(~(c=t[o].indexOf(i,a)))return l+c;a=0,l+=t[o].length}return-1}_sliceInternal(t,n,r){const i=[],{chunks:o,_chunkOffsets:s}=t;for(let a=-1,l=o.length;++a<l;){const c=o[a],f=c.length,d=s[a];if(d>=r)break;if(n>=d+f)continue;if(d>=n&&d+f<=r){i.push(c);continue}const h=Math.max(0,n-d),p=Math.min(r-d,f);i.push(c.slice(h,p))}return t.clone(i)}}function YS(e){let t=new Uint32Array((e||[]).length+1),n=t[0]=0,r=t.length;for(let i=0;++i<r;)t[i]=n+=e[i-1].length;return t}const GS=(e,t,n)=>(t.set(e,n),n+e.length),KS=(e,t,n)=>{let r=n;for(let i=-1,o=e.length;++i<o;)t[r++]=e[i];return r};class Bn extends ke{constructor(t,n=[],r){if(n=ke.flatten(...n),super(t.type,n,r),this._field=t,n.length===1&&!(this instanceof ld))return new ld(t,n[0],this._chunkOffsets)}static new(t,n,...r){const i=ke.flatten(Array.isArray(n)?[...n,...r]:n instanceof ne?[n,...r]:[ne.new(n,...r)]);if(typeof t==\"string\"){const o=i[0].data.type;t=new ie(t,o,!0)}else!t.nullable&&i.some(({nullCount:o})=>o>0)&&(t=t.clone({nullable:!0}));return new Bn(t,i)}get field(){return this._field}get name(){return this._field.name}get nullable(){return this._field.nullable}get metadata(){return this._field.metadata}clone(t=this._chunks){return new Bn(this._field,t)}getChildAt(t){if(t<0||t>=this.numChildren)return null;let n=this._children||(this._children=[]),r,i,o;return(r=n[t])?r:(i=(this.type.children||[])[t])&&(o=this._chunks.map(s=>s.getChildAt(t)).filter(s=>s!=null),o.length>0)?n[t]=new Bn(i,o):null}}class ld extends Bn{constructor(t,n,r){super(t,[n],r),this._chunk=n}search(t,n){return n?n(this,0,t):[0,t]}isValid(t){return this._chunk.isValid(t)}get(t){return this._chunk.get(t)}set(t,n){this._chunk.set(t,n)}indexOf(t,n){return this._chunk.indexOf(t,n)}}const ni=Array.isArray,fg=(e,t)=>Su(e,t,[],0),XS=e=>{const[t,n]=Iu(e,[[],[]]);return n.map((r,i)=>r instanceof Bn?Bn.new(r.field.clone(t[i]),r):r instanceof ne?Bn.new(t[i],r):Bn.new(t[i],[]))},dg=e=>Iu(e,[[],[]]),JS=(e,t)=>bc(e,t,[],0),ZS=(e,t)=>hg(e,t,[],0);function Su(e,t,n,r){let i,o=r,s=-1,a=t.length;for(;++s<a;)ni(i=t[s])?o=Su(e,i,n,o).length:i instanceof e&&(n[o++]=i);return n}function bc(e,t,n,r){let i,o=r,s=-1,a=t.length;for(;++s<a;)ni(i=t[s])?o=bc(e,i,n,o).length:i instanceof ke?o=bc(e,i.chunks,n,o).length:i instanceof e&&(n[o++]=i);return n}function hg(e,t,n,r){let i,o=r,s=-1,a=t.length;for(;++s<a;)ni(i=t[s])?o=hg(e,i,n,o).length:i instanceof e?o=Su(ne,i.schema.fields.map((l,c)=>i.getChildAt(c)),n,o).length:i instanceof ne&&(n[o++]=i);return n}const QS=(e,[t,n],r)=>(e[0][r]=t,e[1][r]=n,e);function Iu(e,t){let n,r;switch(r=e.length){case 0:return t;case 1:if(n=t[0],!e[0])return t;if(ni(e[0]))return Iu(e[0],t);e[0]instanceof ft||e[0]instanceof ne||e[0]instanceof Wt||([n,e]=Object.entries(e[0]).reduce(QS,t));break;default:ni(n=e[r-1])?e=ni(e[0])?e[0]:e.slice(0,r-1):(e=ni(e[0])?e[0]:e,n=[])}let i=-1,o=-1,s=-1,a=e.length,l,c,[f,d]=t;for(;++s<a;)c=e[s],c instanceof Bn&&(d[++o]=c)?f[++i]=c.field.clone(n[s],c.type,!0):({[s]:l=s}=n,c instanceof Wt&&(d[++o]=c)?f[++i]=ie.new(l,c,!0):c&&c.type&&(d[++o]=c)&&(c instanceof ft&&(d[o]=c=ne.new(c)),f[++i]=ie.new(l,c.type,!0)));return t}class pe{constructor(t=[],n,r){this.fields=t||[],this.metadata=n||new Map,r||(r=wc(t)),this.dictionaries=r}static from(...t){return pe.new(t[0],t[1])}static new(...t){return new pe(dg(t)[0])}get[Symbol.toStringTag](){return\"Schema\"}toString(){return`Schema<{ ${this.fields.map((t,n)=>`${n}: ${t}`).join(\", \")} }>`}compareTo(t){return pn.compareSchemas(this,t)}select(...t){const n=t.reduce((r,i)=>(r[i]=!0)&&r,Object.create(null));return new pe(this.fields.filter(r=>n[r.name]),this.metadata)}selectAt(...t){return new pe(t.map(n=>this.fields[n]).filter(Boolean),this.metadata)}assign(...t){const n=t[0]instanceof pe?t[0]:new pe(fg(ie,t)),r=[...this.fields],i=_o(_o(new Map,this.metadata),n.metadata),o=n.fields.filter(a=>{const l=r.findIndex(c=>c.name===a.name);return~l?(r[l]=a.clone({metadata:_o(_o(new Map,r[l].metadata),a.metadata)}))&&!1:!0}),s=wc(o,new Map);return new pe([...r,...o],i,new Map([...this.dictionaries,...s]))}}class ie{constructor(t,n,r=!1,i){this.name=t,this.type=n,this.nullable=r,this.metadata=i||new Map}static new(...t){let[n,r,i,o]=t;return t[0]&&typeof t[0]==\"object\"&&({name:n}=t[0],r===void 0&&(r=t[0].type),i===void 0&&(i=t[0].nullable),o===void 0&&(o=t[0].metadata)),new ie(`${n}`,r,i,o)}get typeId(){return this.type.typeId}get[Symbol.toStringTag](){return\"Field\"}toString(){return`${this.name}: ${this.type}`}compareTo(t){return pn.compareField(this,t)}clone(...t){let[n,r,i,o]=t;return!t[0]||typeof t[0]!=\"object\"?[n=this.name,r=this.type,i=this.nullable,o=this.metadata]=t:{name:n=this.name,type:r=this.type,nullable:i=this.nullable,metadata:o=this.metadata}=t[0],ie.new(n,r,i,o)}}function _o(e,t){return new Map([...e||new Map,...t||new Map])}function wc(e,t=new Map){for(let n=-1,r=e.length;++n<r;){const o=e[n].type;if(Wt.isDictionary(o)){if(!t.has(o.id))t.set(o.id,o.dictionary);else if(t.get(o.id)!==o.dictionary)throw new Error(\"Cannot create Schema containing two different dictionaries with the same Id\")}o.children&&o.children.length>0&&wc(o.children,t)}return t}pe.prototype.fields=null;pe.prototype.metadata=null;pe.prototype.dictionaries=null;ie.prototype.type=null;ie.prototype.name=null;ie.prototype.nullable=null;ie.prototype.metadata=null;class qS extends el{constructor(t){super(t),this._run=new ag,this._offsets=new tg}addChild(t,n=\"0\"){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new ns(new ie(n,t.type,!0)),this.numChildren-1}clear(){return this._run.clear(),super.clear()}_flushPending(t){const n=this._run,r=this._offsets,i=this._setValue;let o=0,s;for([o,s]of t)s===void 0?r.set(o,0):(r.set(o,s.length),i(this,o,n.bind(s)))}}class tI extends Ce{constructor(){super(...arguments),this._run=new ag}setValue(t,n){super.setValue(t,this._run.bind(n))}addChild(t,n=\"0\"){if(this.numChildren>0)throw new Error(\"FixedSizeListBuilder can only have one child.\");const r=this.children.push(t);return this.type=new Js(this.type.listSize,new ie(n,t.type,!0)),r}clear(){return this._run.clear(),super.clear()}}class eI extends el{set(t,n){return super.set(t,n)}setValue(t,n){n=n instanceof Map?n:new Map(Object.entries(n));const r=this._pending||(this._pending=new Map),i=r.get(t);i&&(this._pendingLength-=i.size),this._pendingLength+=n.size,r.set(t,n)}addChild(t,n=`${this.numChildren}`){if(this.numChildren>0)throw new Error(\"ListBuilder can only have one child.\");return this.children[this.numChildren]=t,this.type=new Zs(new ie(n,t.type,!0),this.type.keysSorted),this.numChildren-1}_flushPending(t){const n=this._offsets,r=this._setValue;t.forEach((i,o)=>{i===void 0?n.set(o,0):(n.set(o,i.size),r(this,o,i))})}}class nI extends Ce{addChild(t,n=`${this.numChildren}`){const r=this.children.push(t);return this.type=new Ln([...this.type.children,new ie(n,t.type,!0)]),r}}class Tu extends Ce{constructor(t){super(t),this._typeIds=new vo(new Int8Array(0),1),typeof t.valueToChildTypeId==\"function\"&&(this._valueToChildTypeId=t.valueToChildTypeId)}get typeIdToChildIndex(){return this.type.typeIdToChildIndex}append(t,n){return this.set(this.length,t,n)}set(t,n,r){return r===void 0&&(r=this._valueToChildTypeId(this,n,t)),this.setValid(t,this.isValid(n))&&this.setValue(t,n,r),this}setValue(t,n,r){this._typeIds.set(t,r),super.setValue(t,n)}addChild(t,n=`${this.children.length}`){const r=this.children.push(t),{type:{children:i,mode:o,typeIds:s}}=this,a=[...i,new ie(n,t.type)];return this.type=new Xs(o,[...s,r],a),r}_valueToChildTypeId(t,n,r){throw new Error(\"Cannot map UnionBuilder value to child typeId. Pass the `childTypeId` as the second argument to unionBuilder.append(), or supply a `valueToChildTypeId` function as part of the UnionBuilder constructor options.\")}}class rI extends Tu{}class iI extends Tu{constructor(t){super(t),this._offsets=new vo(new Int32Array(0))}setValue(t,n,r){const i=this.type.typeIdToChildIndex[r];return this._offsets.set(t,this.getChildAt(i).length),super.setValue(t,n,r)}}class Vt extends Zt{}const sI=(e,t,n)=>{e[t]=n/864e5|0},xu=(e,t,n)=>{e[t]=n%4294967296|0,e[t+1]=n/4294967296|0},oI=(e,t,n)=>{e[t]=n*1e3%4294967296|0,e[t+1]=n*1e3/4294967296|0},aI=(e,t,n)=>{e[t]=n*1e6%4294967296|0,e[t+1]=n*1e6/4294967296|0},pg=(e,t,n,r)=>{const{[n]:i,[n+1]:o}=t;i!=null&&o!=null&&e.set(r.subarray(0,o-i),i)},lI=({offset:e,values:t},n,r)=>{const i=e+n;r?t[i>>3]|=1<<i%8:t[i>>3]&=~(1<<i%8)},gg=({values:e},t,n)=>{sI(e,t,n.valueOf())},mg=({values:e},t,n)=>{xu(e,t*2,n.valueOf())},Jn=({stride:e,values:t},n,r)=>{t[e*n]=r},yg=({stride:e,values:t},n,r)=>{t[e*n]=yu(r)},Ou=(e,t,n)=>{switch(typeof n){case\"bigint\":e.values64[t]=n;break;case\"number\":e.values[t*e.stride]=n;break;default:const r=n,{stride:i,ArrayType:o}=e,s=Jt(o,r);e.values.set(s.subarray(0,i),i*t)}},cI=({stride:e,values:t},n,r)=>{t.set(r.subarray(0,e),e*n)},uI=({values:e,valueOffsets:t},n,r)=>pg(e,t,n,r),fI=({values:e,valueOffsets:t},n,r)=>{pg(e,t,n,Xa(r))},dI=(e,t,n)=>{e.type.bitWidth<64?Jn(e,t,n):Ou(e,t,n)},hI=(e,t,n)=>{e.type.precision!==Tn.HALF?Jn(e,t,n):yg(e,t,n)},pI=(e,t,n)=>{e.type.unit===Gn.DAY?gg(e,t,n):mg(e,t,n)},vg=({values:e},t,n)=>xu(e,t*2,n/1e3),bg=({values:e},t,n)=>xu(e,t*2,n),wg=({values:e},t,n)=>oI(e,t*2,n),Sg=({values:e},t,n)=>aI(e,t*2,n),gI=(e,t,n)=>{switch(e.type.unit){case he.SECOND:return vg(e,t,n);case he.MILLISECOND:return bg(e,t,n);case he.MICROSECOND:return wg(e,t,n);case he.NANOSECOND:return Sg(e,t,n)}},Ig=({values:e,stride:t},n,r)=>{e[t*n]=r},Tg=({values:e,stride:t},n,r)=>{e[t*n]=r},xg=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},Og=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},mI=(e,t,n)=>{switch(e.type.unit){case he.SECOND:return Ig(e,t,n);case he.MILLISECOND:return Tg(e,t,n);case he.MICROSECOND:return xg(e,t,n);case he.NANOSECOND:return Og(e,t,n)}},yI=({values:e},t,n)=>{e.set(n.subarray(0,4),4*t)},vI=(e,t,n)=>{const r=e.getChildAt(0),i=e.valueOffsets;for(let o=-1,s=i[t],a=i[t+1];s<a;)r.set(s++,n.get(++o))},bI=(e,t,n)=>{const r=e.getChildAt(0),i=e.valueOffsets,o=n instanceof Map?[...n]:Object.entries(n);for(let s=-1,a=i[t],l=i[t+1];a<l;)r.set(a++,o[++s])},wI=(e,t)=>(n,r,i)=>n&&n.set(e,t[i]),SI=(e,t)=>(n,r,i)=>n&&n.set(e,t.get(i)),II=(e,t)=>(n,r,i)=>n&&n.set(e,t.get(r.name)),TI=(e,t)=>(n,r,i)=>n&&n.set(e,t[r.name]),xI=(e,t,n)=>{const r=n instanceof Map?II(t,n):n instanceof ne?SI(t,n):Array.isArray(n)?wI(t,n):TI(t,n);e.type.children.forEach((i,o)=>r(e.getChildAt(o),i,o))},OI=(e,t,n)=>{e.type.mode===ur.Dense?Ag(e,t,n):Eg(e,t,n)},Ag=(e,t,n)=>{const r=e.typeIdToChildIndex[e.typeIds[t]],i=e.getChildAt(r);i&&i.set(e.valueOffsets[t],n)},Eg=(e,t,n)=>{const r=e.typeIdToChildIndex[e.typeIds[t]],i=e.getChildAt(r);i&&i.set(t,n)},AI=(e,t,n)=>{const r=e.getKey(t);r!==null&&e.setValue(r,n)},EI=(e,t,n)=>{e.type.unit===Ji.DAY_TIME?Cg(e,t,n):Bg(e,t,n)},Cg=({values:e},t,n)=>{e.set(n.subarray(0,2),2*t)},Bg=({values:e},t,n)=>{e[t]=n[0]*12+n[1]%12},CI=(e,t,n)=>{const r=e.getChildAt(0),{stride:i}=e;for(let o=-1,s=t*i;++o<i;)r.set(s+o,n.get(o))};Vt.prototype.visitBool=lI;Vt.prototype.visitInt=dI;Vt.prototype.visitInt8=Jn;Vt.prototype.visitInt16=Jn;Vt.prototype.visitInt32=Jn;Vt.prototype.visitInt64=Ou;Vt.prototype.visitUint8=Jn;Vt.prototype.visitUint16=Jn;Vt.prototype.visitUint32=Jn;Vt.prototype.visitUint64=Ou;Vt.prototype.visitFloat=hI;Vt.prototype.visitFloat16=yg;Vt.prototype.visitFloat32=Jn;Vt.prototype.visitFloat64=Jn;Vt.prototype.visitUtf8=fI;Vt.prototype.visitBinary=uI;Vt.prototype.visitFixedSizeBinary=cI;Vt.prototype.visitDate=pI;Vt.prototype.visitDateDay=gg;Vt.prototype.visitDateMillisecond=mg;Vt.prototype.visitTimestamp=gI;Vt.prototype.visitTimestampSecond=vg;Vt.prototype.visitTimestampMillisecond=bg;Vt.prototype.visitTimestampMicrosecond=wg;Vt.prototype.visitTimestampNanosecond=Sg;Vt.prototype.visitTime=mI;Vt.prototype.visitTimeSecond=Ig;Vt.prototype.visitTimeMillisecond=Tg;Vt.prototype.visitTimeMicrosecond=xg;Vt.prototype.visitTimeNanosecond=Og;Vt.prototype.visitDecimal=yI;Vt.prototype.visitList=vI;Vt.prototype.visitStruct=xI;Vt.prototype.visitUnion=OI;Vt.prototype.visitDenseUnion=Ag;Vt.prototype.visitSparseUnion=Eg;Vt.prototype.visitDictionary=AI;Vt.prototype.visitInterval=EI;Vt.prototype.visitIntervalDayTime=Cg;Vt.prototype.visitIntervalYearMonth=Bg;Vt.prototype.visitFixedSizeList=CI;Vt.prototype.visitMap=bI;const il=new Vt;class BI extends Zt{visitNull(){return aS}visitBool(){return oS}visitInt(){return gr}visitInt8(){return vS}visitInt16(){return bS}visitInt32(){return wS}visitInt64(){return SS}visitUint8(){return IS}visitUint16(){return TS}visitUint32(){return xS}visitUint64(){return OS}visitFloat(){return nl}visitFloat16(){return pS}visitFloat32(){return gS}visitFloat64(){return mS}visitUtf8(){return bu}visitBinary(){return og}visitFixedSizeBinary(){return dS}visitDate(){return mu}visitDateDay(){return lS}visitDateMillisecond(){return cS}visitTimestamp(){return wo}visitTimestampSecond(){return FS}visitTimestampMillisecond(){return DS}visitTimestampMicrosecond(){return RS}visitTimestampNanosecond(){return MS}visitTime(){return bo}visitTimeSecond(){return AS}visitTimeMillisecond(){return ES}visitTimeMicrosecond(){return CS}visitTimeNanosecond(){return BS}visitDecimal(){return uS}visitList(){return qS}visitStruct(){return nI}visitUnion(){return Tu}visitDenseUnion(){return iI}visitSparseUnion(){return rI}visitDictionary(){return fS}visitInterval(){return vu}visitIntervalDayTime(){return PS}visitIntervalYearMonth(){return LS}visitFixedSizeList(){return tI}visitMap(){return eI}}const Fg=new BI;Ce.new=Dg;function Dg(e){const t=e.type,n=new(Fg.getVisitFn(t)())(e);if(t.children&&t.children.length>0){const r=e.children||[],i={nullValues:e.nullValues},o=Array.isArray(r)?(s,a)=>r[a]||i:({name:s})=>r[s]||i;t.children.forEach((s,a)=>{const{type:l}=s,c=o(s,a);n.children.push(Dg({...c,type:l}))})}return n}Object.keys(D).map(e=>D[e]).filter(e=>typeof e==\"number\"&&e!==D.NONE).forEach(e=>{const t=Fg.visit(e);t.prototype._setValue=il.getVisitFn(e)});bu.prototype._setValue=il.visitBinary;var rs;(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}static getRootAsFooter(s,a){return(a||new i).__init(s.readInt32(s.position())+s.position(),s)}version(){let s=this.bb.__offset(this.bb_pos,4);return s?this.bb.readInt16(this.bb_pos+s):K.apache.arrow.flatbuf.MetadataVersion.V1}schema(s){let a=this.bb.__offset(this.bb_pos,6);return a?(s||new K.apache.arrow.flatbuf.Schema).__init(this.bb.__indirect(this.bb_pos+a),this.bb):null}dictionaries(s,a){let l=this.bb.__offset(this.bb_pos,8);return l?(a||new e.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos+l)+s*24,this.bb):null}dictionariesLength(){let s=this.bb.__offset(this.bb_pos,8);return s?this.bb.__vector_len(this.bb_pos+s):0}recordBatches(s,a){let l=this.bb.__offset(this.bb_pos,10);return l?(a||new e.apache.arrow.flatbuf.Block).__init(this.bb.__vector(this.bb_pos+l)+s*24,this.bb):null}recordBatchesLength(){let s=this.bb.__offset(this.bb_pos,10);return s?this.bb.__vector_len(this.bb_pos+s):0}static startFooter(s){s.startObject(4)}static addVersion(s,a){s.addFieldInt16(0,a,K.apache.arrow.flatbuf.MetadataVersion.V1)}static addSchema(s,a){s.addFieldOffset(1,a,0)}static addDictionaries(s,a){s.addFieldOffset(2,a,0)}static startDictionariesVector(s,a){s.startVector(24,a,8)}static addRecordBatches(s,a){s.addFieldOffset(3,a,0)}static startRecordBatchesVector(s,a){s.startVector(24,a,8)}static endFooter(s){return s.endObject()}static finishFooterBuffer(s,a){s.finish(a)}static createFooter(s,a,l,c,f){return i.startFooter(s),i.addVersion(s,a),i.addSchema(s,l),i.addDictionaries(s,c),i.addRecordBatches(s,f),i.endFooter(s)}}r.Footer=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(rs||(rs={}));(function(e){(function(t){(function(n){(function(r){class i{constructor(){this.bb=null,this.bb_pos=0}__init(s,a){return this.bb_pos=s,this.bb=a,this}offset(){return this.bb.readInt64(this.bb_pos)}metaDataLength(){return this.bb.readInt32(this.bb_pos+8)}bodyLength(){return this.bb.readInt64(this.bb_pos+16)}static createBlock(s,a,l,c){return s.prep(8,24),s.writeInt64(c),s.pad(4),s.writeInt32(l),s.writeInt64(a),s.offset()}}r.Block=i})(n.flatbuf||(n.flatbuf={}))})(t.arrow||(t.arrow={}))})(e.apache||(e.apache={}))})(rs||(rs={}));var cd=$.Long,FI=$.Builder,DI=$.ByteBuffer,RI=rs.apache.arrow.flatbuf.Block,$n=rs.apache.arrow.flatbuf.Footer;class to{constructor(t,n=Cn.V4,r,i){this.schema=t,this.version=n,r&&(this._recordBatches=r),i&&(this._dictionaryBatches=i)}static decode(t){t=new DI(Qt(t));const n=$n.getRootAsFooter(t),r=pe.decode(n.schema());return new MI(r,n)}static encode(t){const n=new FI,r=pe.encode(n,t.schema);$n.startRecordBatchesVector(n,t.numRecordBatches),[...t.recordBatches()].slice().reverse().forEach(s=>kr.encode(n,s));const i=n.endVector();$n.startDictionariesVector(n,t.numDictionaries),[...t.dictionaryBatches()].slice().reverse().forEach(s=>kr.encode(n,s));const o=n.endVector();return $n.startFooter(n),$n.addSchema(n,r),$n.addVersion(n,Cn.V4),$n.addRecordBatches(n,i),$n.addDictionaries(n,o),$n.finishFooterBuffer(n,$n.endFooter(n)),n.asUint8Array()}get numRecordBatches(){return this._recordBatches.length}get numDictionaries(){return this._dictionaryBatches.length}*recordBatches(){for(let t,n=-1,r=this.numRecordBatches;++n<r;)(t=this.getRecordBatch(n))&&(yield t)}*dictionaryBatches(){for(let t,n=-1,r=this.numDictionaries;++n<r;)(t=this.getDictionaryBatch(n))&&(yield t)}getRecordBatch(t){return t>=0&&t<this.numRecordBatches&&this._recordBatches[t]||null}getDictionaryBatch(t){return t>=0&&t<this.numDictionaries&&this._dictionaryBatches[t]||null}}class MI extends to{constructor(t,n){super(t,n.version()),this._footer=n}get numRecordBatches(){return this._footer.recordBatchesLength()}get numDictionaries(){return this._footer.dictionariesLength()}getRecordBatch(t){if(t>=0&&t<this.numRecordBatches){const n=this._footer.recordBatches(t);if(n)return kr.decode(n)}return null}getDictionaryBatch(t){if(t>=0&&t<this.numDictionaries){const n=this._footer.dictionaries(t);if(n)return kr.decode(n)}return null}}class kr{static decode(t){return new kr(t.metaDataLength(),t.bodyLength(),t.offset())}static encode(t,n){const{metaDataLength:r}=n,i=new cd(n.offset,0),o=new cd(n.bodyLength,0);return RI.createBlock(t,i,r,o)}constructor(t,n,r){this.metaDataLength=t,this.offset=typeof r==\"number\"?r:r.low,this.bodyLength=typeof n==\"number\"?n:n.low}}class Ps extends aw{write(t){if((t=Qt(t)).byteLength>0)return super.write(t)}toString(t=!1){return t?gc(this.toUint8Array(!0)):this.toUint8Array(!1).then(gc)}toUint8Array(t=!1){return t?Pn(this._values)[0]:(async()=>{let n=[],r=0;for await(const i of this)n.push(i),r+=i.byteLength;return Pn(n,r)[0]})()}}class ba{constructor(t){t&&(this.source=new PI(dn.fromIterable(t)))}[Symbol.iterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class pi{constructor(t){t instanceof pi?this.source=t.source:t instanceof Ps?this.source=new Zr(dn.fromAsyncIterable(t)):zp(t)?this.source=new Zr(dn.fromNodeStream(t)):ru(t)?this.source=new Zr(dn.fromDOMStream(t)):Vp(t)?this.source=new Zr(dn.fromDOMStream(t.body)):Mn(t)?this.source=new Zr(dn.fromIterable(t)):Vr(t)?this.source=new Zr(dn.fromAsyncIterable(t)):hr(t)&&(this.source=new Zr(dn.fromAsyncIterable(t)))}[Symbol.asyncIterator](){return this}next(t){return this.source.next(t)}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}get closed(){return this.source.closed}cancel(t){return this.source.cancel(t)}peek(t){return this.source.peek(t)}read(t){return this.source.read(t)}}class PI{constructor(t){this.source=t}cancel(t){this.return(t)}peek(t){return this.next(t,\"peek\").value}read(t){return this.next(t,\"read\").value}next(t,n=\"read\"){return this.source.next({cmd:n,size:t})}throw(t){return Object.create(this.source.throw&&this.source.throw(t)||Ee)}return(t){return Object.create(this.source.return&&this.source.return(t)||Ee)}}class Zr{constructor(t){this.source=t,this._closedPromise=new Promise(n=>this._closedPromiseResolve=n)}async cancel(t){await this.return(t)}get closed(){return this._closedPromise}async read(t){return(await this.next(t,\"read\")).value}async peek(t){return(await this.next(t,\"peek\")).value}async next(t,n=\"read\"){return await this.source.next({cmd:n,size:t})}async throw(t){const n=this.source.throw&&await this.source.throw(t)||Ee;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)}async return(t){const n=this.source.return&&await this.source.return(t)||Ee;return this._closedPromiseResolve&&this._closedPromiseResolve(),this._closedPromiseResolve=void 0,Object.create(n)}}class ud extends ba{constructor(t,n){super(),this.position=0,this.buffer=Qt(t),this.size=typeof n==\"undefined\"?this.buffer.byteLength:n}readInt32(t){const{buffer:n,byteOffset:r}=this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)}seek(t){return this.position=Math.min(t,this.size),t<this.size}read(t){const{buffer:n,size:r,position:i}=this;return n&&i<r?(typeof t!=\"number\"&&(t=1/0),this.position=Math.min(r,i+Math.min(r-i,t)),n.subarray(i,this.position)):null}readAt(t,n){const r=this.buffer,i=Math.min(this.size,t+n);return r?r.subarray(t,i):new Uint8Array(n)}close(){this.buffer&&(this.buffer=null)}throw(t){return this.close(),{done:!0,value:t}}return(t){return this.close(),{done:!0,value:t}}}class wa extends pi{constructor(t,n){super(),this.position=0,this._handle=t,typeof n==\"number\"?this.size=n:this._pending=(async()=>{this.size=(await t.stat()).size,delete this._pending})()}async readInt32(t){const{buffer:n,byteOffset:r}=await this.readAt(t,4);return new DataView(n,r).getInt32(0,!0)}async seek(t){return this._pending&&await this._pending,this.position=Math.min(t,this.size),t<this.size}async read(t){this._pending&&await this._pending;const{_handle:n,size:r,position:i}=this;if(n&&i<r){typeof t!=\"number\"&&(t=1/0);let o=i,s=0,a=0,l=Math.min(r,o+Math.min(r-o,t)),c=new Uint8Array(Math.max(0,(this.position=l)-o));for(;(o+=a)<l&&(s+=a)<c.byteLength;)({bytesRead:a}=await n.read(c,s,c.byteLength-s,o));return c}return null}async readAt(t,n){this._pending&&await this._pending;const{_handle:r,size:i}=this;if(r&&t+n<i){const o=Math.min(i,t+n),s=new Uint8Array(o-t);return(await r.read(s,0,n,t)).buffer}return new Uint8Array(n)}async close(){const t=this._handle;this._handle=null,t&&await t.close()}async throw(t){return await this.close(),{done:!0,value:t}}async return(t){return await this.close(),{done:!0,value:t}}}const LI=1<<16;function Ri(e){return e<0&&(e=4294967295+e+1),`0x${e.toString(16)}`}const is=8,Au=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8];class Eu{constructor(t){this.buffer=t}high(){return this.buffer[1]}low(){return this.buffer[0]}_times(t){const n=new Uint32Array([this.buffer[1]>>>16,this.buffer[1]&65535,this.buffer[0]>>>16,this.buffer[0]&65535]),r=new Uint32Array([t.buffer[1]>>>16,t.buffer[1]&65535,t.buffer[0]>>>16,t.buffer[0]&65535]);let i=n[3]*r[3];this.buffer[0]=i&65535;let o=i>>>16;return i=n[2]*r[3],o+=i,i=n[3]*r[2]>>>0,o+=i,this.buffer[0]+=o<<16,this.buffer[1]=o>>>0<i?LI:0,this.buffer[1]+=o>>>16,this.buffer[1]+=n[1]*r[3]+n[2]*r[2]+n[3]*r[1],this.buffer[1]+=n[0]*r[3]+n[1]*r[2]+n[2]*r[1]+n[3]*r[0]<<16,this}_plus(t){const n=this.buffer[0]+t.buffer[0]>>>0;this.buffer[1]+=t.buffer[1],n<this.buffer[0]>>>0&&++this.buffer[1],this.buffer[0]=n}lessThan(t){return this.buffer[1]<t.buffer[1]||this.buffer[1]===t.buffer[1]&&this.buffer[0]<t.buffer[0]}equals(t){return this.buffer[1]===t.buffer[1]&&this.buffer[0]==t.buffer[0]}greaterThan(t){return t.lessThan(this)}hex(){return`${Ri(this.buffer[1])} ${Ri(this.buffer[0])}`}}class le extends Eu{times(t){return this._times(t),this}plus(t){return this._plus(t),this}static from(t,n=new Uint32Array(2)){return le.fromString(typeof t==\"string\"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(2)){return le.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(2)){const r=t.length;let i=new le(n);for(let o=0;o<r;){const s=is<r-o?is:r-o,a=new le(new Uint32Array([parseInt(t.substr(o,s),10),0])),l=new le(new Uint32Array([Au[s],0]));i.times(l),i.plus(a),o+=s}return i}static convertArray(t){const n=new Uint32Array(t.length*2);for(let r=-1,i=t.length;++r<i;)le.from(t[r],new Uint32Array(n.buffer,n.byteOffset+2*r*4,2));return n}static multiply(t,n){return new le(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new le(new Uint32Array(t.buffer)).plus(n)}}class Ke extends Eu{negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[0]==0&&++this.buffer[1],this}times(t){return this._times(t),this}plus(t){return this._plus(t),this}lessThan(t){const n=this.buffer[1]<<0,r=t.buffer[1]<<0;return n<r||n===r&&this.buffer[0]<t.buffer[0]}static from(t,n=new Uint32Array(2)){return Ke.fromString(typeof t==\"string\"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(2)){return Ke.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(2)){const r=t.startsWith(\"-\"),i=t.length;let o=new Ke(n);for(let s=r?1:0;s<i;){const a=is<i-s?is:i-s,l=new Ke(new Uint32Array([parseInt(t.substr(s,a),10),0])),c=new Ke(new Uint32Array([Au[a],0]));o.times(c),o.plus(l),s+=a}return r?o.negate():o}static convertArray(t){const n=new Uint32Array(t.length*2);for(let r=-1,i=t.length;++r<i;)Ke.from(t[r],new Uint32Array(n.buffer,n.byteOffset+2*r*4,2));return n}static multiply(t,n){return new Ke(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new Ke(new Uint32Array(t.buffer)).plus(n)}}class En{constructor(t){this.buffer=t}high(){return new Ke(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2))}low(){return new Ke(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset,2))}negate(){return this.buffer[0]=~this.buffer[0]+1,this.buffer[1]=~this.buffer[1],this.buffer[2]=~this.buffer[2],this.buffer[3]=~this.buffer[3],this.buffer[0]==0&&++this.buffer[1],this.buffer[1]==0&&++this.buffer[2],this.buffer[2]==0&&++this.buffer[3],this}times(t){const n=new le(new Uint32Array([this.buffer[3],0])),r=new le(new Uint32Array([this.buffer[2],0])),i=new le(new Uint32Array([this.buffer[1],0])),o=new le(new Uint32Array([this.buffer[0],0])),s=new le(new Uint32Array([t.buffer[3],0])),a=new le(new Uint32Array([t.buffer[2],0])),l=new le(new Uint32Array([t.buffer[1],0])),c=new le(new Uint32Array([t.buffer[0],0]));let f=le.multiply(o,c);this.buffer[0]=f.low();let d=new le(new Uint32Array([f.high(),0]));return f=le.multiply(i,c),d.plus(f),f=le.multiply(o,l),d.plus(f),this.buffer[1]=d.low(),this.buffer[3]=d.lessThan(f)?1:0,this.buffer[2]=d.high(),new le(new Uint32Array(this.buffer.buffer,this.buffer.byteOffset+8,2)).plus(le.multiply(r,c)).plus(le.multiply(i,l)).plus(le.multiply(o,a)),this.buffer[3]+=le.multiply(n,c).plus(le.multiply(r,l)).plus(le.multiply(i,a)).plus(le.multiply(o,s)).low(),this}plus(t){let n=new Uint32Array(4);return n[3]=this.buffer[3]+t.buffer[3]>>>0,n[2]=this.buffer[2]+t.buffer[2]>>>0,n[1]=this.buffer[1]+t.buffer[1]>>>0,n[0]=this.buffer[0]+t.buffer[0]>>>0,n[0]<this.buffer[0]>>>0&&++n[1],n[1]<this.buffer[1]>>>0&&++n[2],n[2]<this.buffer[2]>>>0&&++n[3],this.buffer[3]=n[3],this.buffer[2]=n[2],this.buffer[1]=n[1],this.buffer[0]=n[0],this}hex(){return`${Ri(this.buffer[3])} ${Ri(this.buffer[2])} ${Ri(this.buffer[1])} ${Ri(this.buffer[0])}`}static multiply(t,n){return new En(new Uint32Array(t.buffer)).times(n)}static add(t,n){return new En(new Uint32Array(t.buffer)).plus(n)}static from(t,n=new Uint32Array(4)){return En.fromString(typeof t==\"string\"?t:t.toString(),n)}static fromNumber(t,n=new Uint32Array(4)){return En.fromString(t.toString(),n)}static fromString(t,n=new Uint32Array(4)){const r=t.startsWith(\"-\"),i=t.length;let o=new En(n);for(let s=r?1:0;s<i;){const a=is<i-s?is:i-s,l=new En(new Uint32Array([parseInt(t.substr(s,a),10),0,0,0])),c=new En(new Uint32Array([Au[a],0,0,0]));o.times(c),o.plus(l),s+=a}return r?o.negate():o}static convertArray(t){const n=new Uint32Array(t.length*4);for(let r=-1,i=t.length;++r<i;)En.from(t[r],new Uint32Array(n.buffer,n.byteOffset+4*4*r,4));return n}}var _I=Object.freeze(Object.defineProperty({__proto__:null,BaseInt64:Eu,Uint64:le,Int64:Ke,Int128:En},Symbol.toStringTag,{value:\"Module\"}));class Rg extends Zt{constructor(t,n,r,i){super(),this.nodesIndex=-1,this.buffersIndex=-1,this.bytes=t,this.nodes=n,this.buffers=r,this.dictionaries=i}visit(t){return super.visit(t instanceof ie?t.type:t)}visitNull(t,{length:n}=this.nextFieldNode()){return ft.Null(t,0,n)}visitBool(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Bool(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitInt(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Int(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitFloat(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Float(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitUtf8(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Utf8(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.readData(t))}visitBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Binary(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.readData(t))}visitFixedSizeBinary(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.FixedSizeBinary(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitDate(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Date(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitTimestamp(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Timestamp(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitTime(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Time(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitDecimal(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Decimal(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitList(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.List(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.visit(t.children[0]))}visitStruct(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Struct(t,0,n,r,this.readNullBitmap(t,r),this.visitMany(t.children))}visitUnion(t){return t.mode===ur.Sparse?this.visitSparseUnion(t):this.visitDenseUnion(t)}visitDenseUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Union(t,0,n,r,this.readNullBitmap(t,r),this.readTypeIds(t),this.readOffsets(t),this.visitMany(t.children))}visitSparseUnion(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Union(t,0,n,r,this.readNullBitmap(t,r),this.readTypeIds(t),this.visitMany(t.children))}visitDictionary(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Dictionary(t,0,n,r,this.readNullBitmap(t,r),this.readData(t.indices),this.readDictionary(t))}visitInterval(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Interval(t,0,n,r,this.readNullBitmap(t,r),this.readData(t))}visitFixedSizeList(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.FixedSizeList(t,0,n,r,this.readNullBitmap(t,r),this.visit(t.children[0]))}visitMap(t,{length:n,nullCount:r}=this.nextFieldNode()){return ft.Map(t,0,n,r,this.readNullBitmap(t,r),this.readOffsets(t),this.visit(t.children[0]))}nextFieldNode(){return this.nodes[++this.nodesIndex]}nextBufferRange(){return this.buffers[++this.buffersIndex]}readNullBitmap(t,n,r=this.nextBufferRange()){return n>0&&this.readData(t,r)||new Uint8Array(0)}readOffsets(t,n){return this.readData(t,n)}readTypeIds(t,n){return this.readData(t,n)}readData(t,{length:n,offset:r}=this.nextBufferRange()){return this.bytes.subarray(r,r+n)}readDictionary(t){return this.dictionaries.get(t.id)}}class NI extends Rg{constructor(t,n,r,i){super(new Uint8Array(0),n,r,i),this.sources=t}readNullBitmap(t,n,{offset:r}=this.nextBufferRange()){return n<=0?new Uint8Array(0):Ys(this.sources[r])}readOffsets(t,{offset:n}=this.nextBufferRange()){return Jt(Uint8Array,Jt(Int32Array,this.sources[n]))}readTypeIds(t,{offset:n}=this.nextBufferRange()){return Jt(Uint8Array,Jt(t.ArrayType,this.sources[n]))}readData(t,{offset:n}=this.nextBufferRange()){const{sources:r}=this;return Wt.isTimestamp(t)||(Wt.isInt(t)||Wt.isTime(t))&&t.bitWidth===64||Wt.isDate(t)&&t.unit===Gn.MILLISECOND?Jt(Uint8Array,Ke.convertArray(r[n])):Wt.isDecimal(t)?Jt(Uint8Array,En.convertArray(r[n])):Wt.isBinary(t)||Wt.isFixedSizeBinary(t)?UI(r[n]):Wt.isBool(t)?Ys(r[n]):Wt.isUtf8(t)?Xa(r[n].join(\"\")):Jt(Uint8Array,Jt(t.ArrayType,r[n].map(i=>+i)))}}function UI(e){const t=e.join(\"\"),n=new Uint8Array(t.length/2);for(let r=0;r<t.length;r+=2)n[r>>1]=parseInt(t.substr(r,2),16);return n}var jI=$.Long,fd=K.apache.arrow.flatbuf.Null,No=K.apache.arrow.flatbuf.Int,Rl=K.apache.arrow.flatbuf.FloatingPoint,dd=K.apache.arrow.flatbuf.Binary,hd=K.apache.arrow.flatbuf.Bool,pd=K.apache.arrow.flatbuf.Utf8,Uo=K.apache.arrow.flatbuf.Decimal,Ml=K.apache.arrow.flatbuf.Date,jo=K.apache.arrow.flatbuf.Time,$o=K.apache.arrow.flatbuf.Timestamp,Pl=K.apache.arrow.flatbuf.Interval,gd=K.apache.arrow.flatbuf.List,md=K.apache.arrow.flatbuf.Struct_,Ci=K.apache.arrow.flatbuf.Union,gs=K.apache.arrow.flatbuf.DictionaryEncoding,Ll=K.apache.arrow.flatbuf.FixedSizeBinary,_l=K.apache.arrow.flatbuf.FixedSizeList,Nl=K.apache.arrow.flatbuf.Map;class $I extends Zt{visit(t,n){return t==null||n==null?void 0:super.visit(t,n)}visitNull(t,n){return fd.startNull(n),fd.endNull(n)}visitInt(t,n){return No.startInt(n),No.addBitWidth(n,t.bitWidth),No.addIsSigned(n,t.isSigned),No.endInt(n)}visitFloat(t,n){return Rl.startFloatingPoint(n),Rl.addPrecision(n,t.precision),Rl.endFloatingPoint(n)}visitBinary(t,n){return dd.startBinary(n),dd.endBinary(n)}visitBool(t,n){return hd.startBool(n),hd.endBool(n)}visitUtf8(t,n){return pd.startUtf8(n),pd.endUtf8(n)}visitDecimal(t,n){return Uo.startDecimal(n),Uo.addScale(n,t.scale),Uo.addPrecision(n,t.precision),Uo.endDecimal(n)}visitDate(t,n){return Ml.startDate(n),Ml.addUnit(n,t.unit),Ml.endDate(n)}visitTime(t,n){return jo.startTime(n),jo.addUnit(n,t.unit),jo.addBitWidth(n,t.bitWidth),jo.endTime(n)}visitTimestamp(t,n){const r=t.timezone&&n.createString(t.timezone)||void 0;return $o.startTimestamp(n),$o.addUnit(n,t.unit),r!==void 0&&$o.addTimezone(n,r),$o.endTimestamp(n)}visitInterval(t,n){return Pl.startInterval(n),Pl.addUnit(n,t.unit),Pl.endInterval(n)}visitList(t,n){return gd.startList(n),gd.endList(n)}visitStruct(t,n){return md.startStruct_(n),md.endStruct_(n)}visitUnion(t,n){Ci.startTypeIdsVector(n,t.typeIds.length);const r=Ci.createTypeIdsVector(n,t.typeIds);return Ci.startUnion(n),Ci.addMode(n,t.mode),Ci.addTypeIds(n,r),Ci.endUnion(n)}visitDictionary(t,n){const r=this.visit(t.indices,n);return gs.startDictionaryEncoding(n),gs.addId(n,new jI(t.id,0)),gs.addIsOrdered(n,t.isOrdered),r!==void 0&&gs.addIndexType(n,r),gs.endDictionaryEncoding(n)}visitFixedSizeBinary(t,n){return Ll.startFixedSizeBinary(n),Ll.addByteWidth(n,t.byteWidth),Ll.endFixedSizeBinary(n)}visitFixedSizeList(t,n){return _l.startFixedSizeList(n),_l.addListSize(n,t.listSize),_l.endFixedSizeList(n)}visitMap(t,n){return Nl.startMap(n),Nl.addKeysSorted(n,t.keysSorted),Nl.endMap(n)}}const Ul=new $I;function VI(e,t=new Map){return new pe(kI(e,t),Go(e.customMetadata),t)}function Mg(e){return new vn(e.count,Pg(e.columns),Lg(e.columns))}function zI(e){return new Kn(Mg(e.data),e.id,e.isDelta)}function kI(e,t){return(e.fields||[]).filter(Boolean).map(n=>ie.fromJSON(n,t))}function yd(e,t){return(e.children||[]).filter(Boolean).map(n=>ie.fromJSON(n,t))}function Pg(e){return(e||[]).reduce((t,n)=>[...t,new Oi(n.count,HI(n.VALIDITY)),...Pg(n.children)],[])}function Lg(e,t=[]){for(let n=-1,r=(e||[]).length;++n<r;){const i=e[n];i.VALIDITY&&t.push(new Wn(t.length,i.VALIDITY.length)),i.TYPE&&t.push(new Wn(t.length,i.TYPE.length)),i.OFFSET&&t.push(new Wn(t.length,i.OFFSET.length)),i.DATA&&t.push(new Wn(t.length,i.DATA.length)),t=Lg(i.children,t)}return t}function HI(e){return(e||[]).reduce((t,n)=>t+ +(n===0),0)}function WI(e,t){let n,r,i,o,s,a;return!t||!(o=e.dictionary)?(s=bd(e,yd(e,t)),i=new ie(e.name,s,e.nullable,Go(e.customMetadata))):t.has(n=o.id)?(r=(r=o.indexType)?vd(r):new di,a=new zr(t.get(n),r,n,o.isOrdered),i=new ie(e.name,a,e.nullable,Go(e.customMetadata))):(r=(r=o.indexType)?vd(r):new di,t.set(n,s=bd(e,yd(e,t))),a=new zr(s,r,n,o.isOrdered),i=new ie(e.name,a,e.nullable,Go(e.customMetadata))),i||null}function Go(e){return new Map(Object.entries(e||{}))}function vd(e){return new nn(e.isSigned,e.bitWidth)}function bd(e,t){const n=e.type.name;switch(n){case\"NONE\":return new Zi;case\"null\":return new Zi;case\"binary\":return new Gs;case\"utf8\":return new ts;case\"bool\":return new Ks;case\"list\":return new ns((t||[])[0]);case\"struct\":return new Ln(t||[]);case\"struct_\":return new Ln(t||[])}switch(n){case\"int\":{const r=e.type;return new nn(r.isSigned,r.bitWidth)}case\"floatingpoint\":{const r=e.type;return new hi(Tn[r.precision])}case\"decimal\":{const r=e.type;return new ha(r.scale,r.precision)}case\"date\":{const r=e.type;return new es(Gn[r.unit])}case\"time\":{const r=e.type;return new pa(he[r.unit],r.bitWidth)}case\"timestamp\":{const r=e.type;return new ga(he[r.unit],r.timezone)}case\"interval\":{const r=e.type;return new ma(Ji[r.unit])}case\"union\":{const r=e.type;return new Xs(ur[r.mode],r.typeIds||[],t||[])}case\"fixedsizebinary\":{const r=e.type;return new ya(r.byteWidth)}case\"fixedsizelist\":{const r=e.type;return new Js(r.listSize,(t||[])[0])}case\"map\":{const r=e.type;return new Zs((t||[])[0],r.keysSorted)}}throw new Error(`Unrecognized type: \"${n}\"`)}var gi=$.Long,YI=$.Builder,GI=$.ByteBuffer,_e=K.apache.arrow.flatbuf.Type,An=K.apache.arrow.flatbuf.Field,nr=K.apache.arrow.flatbuf.Schema,KI=K.apache.arrow.flatbuf.Buffer,br=He.apache.arrow.flatbuf.Message,Er=K.apache.arrow.flatbuf.KeyValue,XI=He.apache.arrow.flatbuf.FieldNode,wd=K.apache.arrow.flatbuf.Endianness,Sr=He.apache.arrow.flatbuf.RecordBatch,Di=He.apache.arrow.flatbuf.DictionaryBatch;class Je{constructor(t,n,r,i){this._version=n,this._headerType=r,this.body=new Uint8Array(0),i&&(this._createHeader=()=>i),this._bodyLength=typeof t==\"number\"?t:t.low}static fromJSON(t,n){const r=new Je(0,Cn.V4,n);return r._createHeader=JI(t,n),r}static decode(t){t=new GI(Qt(t));const n=br.getRootAsMessage(t),r=n.bodyLength(),i=n.version(),o=n.headerType(),s=new Je(r,i,o);return s._createHeader=ZI(n,o),s}static encode(t){let n=new YI,r=-1;return t.isSchema()?r=pe.encode(n,t.header()):t.isRecordBatch()?r=vn.encode(n,t.header()):t.isDictionaryBatch()&&(r=Kn.encode(n,t.header())),br.startMessage(n),br.addVersion(n,Cn.V4),br.addHeader(n,r),br.addHeaderType(n,t.headerType),br.addBodyLength(n,new gi(t.bodyLength,0)),br.finishMessageBuffer(n,br.endMessage(n)),n.asUint8Array()}static from(t,n=0){if(t instanceof pe)return new Je(0,Cn.V4,ge.Schema,t);if(t instanceof vn)return new Je(n,Cn.V4,ge.RecordBatch,t);if(t instanceof Kn)return new Je(n,Cn.V4,ge.DictionaryBatch,t);throw new Error(`Unrecognized Message header: ${t}`)}get type(){return this.headerType}get version(){return this._version}get headerType(){return this._headerType}get bodyLength(){return this._bodyLength}header(){return this._createHeader()}isSchema(){return this.headerType===ge.Schema}isRecordBatch(){return this.headerType===ge.RecordBatch}isDictionaryBatch(){return this.headerType===ge.DictionaryBatch}}class vn{get nodes(){return this._nodes}get length(){return this._length}get buffers(){return this._buffers}constructor(t,n,r){this._nodes=n,this._buffers=r,this._length=typeof t==\"number\"?t:t.low}}class Kn{get id(){return this._id}get data(){return this._data}get isDelta(){return this._isDelta}get length(){return this.data.length}get nodes(){return this.data.nodes}get buffers(){return this.data.buffers}constructor(t,n,r=!1){this._data=t,this._isDelta=r,this._id=typeof n==\"number\"?n:n.low}}class Wn{constructor(t,n){this.offset=typeof t==\"number\"?t:t.low,this.length=typeof n==\"number\"?n:n.low}}class Oi{constructor(t,n){this.length=typeof t==\"number\"?t:t.low,this.nullCount=typeof n==\"number\"?n:n.low}}function JI(e,t){return()=>{switch(t){case ge.Schema:return pe.fromJSON(e);case ge.RecordBatch:return vn.fromJSON(e);case ge.DictionaryBatch:return Kn.fromJSON(e)}throw new Error(`Unrecognized Message type: { name: ${ge[t]}, type: ${t} }`)}}function ZI(e,t){return()=>{switch(t){case ge.Schema:return pe.decode(e.header(new nr));case ge.RecordBatch:return vn.decode(e.header(new Sr),e.version());case ge.DictionaryBatch:return Kn.decode(e.header(new Di),e.version())}throw new Error(`Unrecognized Message type: { name: ${ge[t]}, type: ${t} }`)}}ie.encode=lT;ie.decode=oT;ie.fromJSON=WI;pe.encode=aT;pe.decode=QI;pe.fromJSON=VI;vn.encode=cT;vn.decode=qI;vn.fromJSON=Mg;Kn.encode=uT;Kn.decode=tT;Kn.fromJSON=zI;Oi.encode=fT;Oi.decode=nT;Wn.encode=dT;Wn.decode=eT;function QI(e,t=new Map){const n=sT(e,t);return new pe(n,Ko(e),t)}function qI(e,t=Cn.V4){return new vn(e.length(),rT(e),iT(e,t))}function tT(e,t=Cn.V4){return new Kn(vn.decode(e.data(),t),e.id(),e.isDelta())}function eT(e){return new Wn(e.offset(),e.length())}function nT(e){return new Oi(e.length(),e.nullCount())}function rT(e){const t=[];for(let n,r=-1,i=-1,o=e.nodesLength();++r<o;)(n=e.nodes(r))&&(t[++i]=Oi.decode(n));return t}function iT(e,t){const n=[];for(let r,i=-1,o=-1,s=e.buffersLength();++i<s;)(r=e.buffers(i))&&(t<Cn.V4&&(r.bb_pos+=8*(i+1)),n[++o]=Wn.decode(r));return n}function sT(e,t){const n=[];for(let r,i=-1,o=-1,s=e.fieldsLength();++i<s;)(r=e.fields(i))&&(n[++o]=ie.decode(r,t));return n}function Sd(e,t){const n=[];for(let r,i=-1,o=-1,s=e.childrenLength();++i<s;)(r=e.children(i))&&(n[++o]=ie.decode(r,t));return n}function oT(e,t){let n,r,i,o,s,a;return!t||!(a=e.dictionary())?(i=Td(e,Sd(e,t)),r=new ie(e.name(),i,e.nullable(),Ko(e))):t.has(n=a.id().low)?(o=(o=a.indexType())?Id(o):new di,s=new zr(t.get(n),o,n,a.isOrdered()),r=new ie(e.name(),s,e.nullable(),Ko(e))):(o=(o=a.indexType())?Id(o):new di,t.set(n,i=Td(e,Sd(e,t))),s=new zr(i,o,n,a.isOrdered()),r=new ie(e.name(),s,e.nullable(),Ko(e))),r||null}function Ko(e){const t=new Map;if(e)for(let n,r,i=-1,o=e.customMetadataLength()|0;++i<o;)(n=e.customMetadata(i))&&(r=n.key())!=null&&t.set(r,n.value());return t}function Id(e){return new nn(e.isSigned(),e.bitWidth())}function Td(e,t){const n=e.typeType();switch(n){case _e.NONE:return new Zi;case _e.Null:return new Zi;case _e.Binary:return new Gs;case _e.Utf8:return new ts;case _e.Bool:return new Ks;case _e.List:return new ns((t||[])[0]);case _e.Struct_:return new Ln(t||[])}switch(n){case _e.Int:{const r=e.type(new K.apache.arrow.flatbuf.Int);return new nn(r.isSigned(),r.bitWidth())}case _e.FloatingPoint:{const r=e.type(new K.apache.arrow.flatbuf.FloatingPoint);return new hi(r.precision())}case _e.Decimal:{const r=e.type(new K.apache.arrow.flatbuf.Decimal);return new ha(r.scale(),r.precision())}case _e.Date:{const r=e.type(new K.apache.arrow.flatbuf.Date);return new es(r.unit())}case _e.Time:{const r=e.type(new K.apache.arrow.flatbuf.Time);return new pa(r.unit(),r.bitWidth())}case _e.Timestamp:{const r=e.type(new K.apache.arrow.flatbuf.Timestamp);return new ga(r.unit(),r.timezone())}case _e.Interval:{const r=e.type(new K.apache.arrow.flatbuf.Interval);return new ma(r.unit())}case _e.Union:{const r=e.type(new K.apache.arrow.flatbuf.Union);return new Xs(r.mode(),r.typeIdsArray()||[],t||[])}case _e.FixedSizeBinary:{const r=e.type(new K.apache.arrow.flatbuf.FixedSizeBinary);return new ya(r.byteWidth())}case _e.FixedSizeList:{const r=e.type(new K.apache.arrow.flatbuf.FixedSizeList);return new Js(r.listSize(),(t||[])[0])}case _e.Map:{const r=e.type(new K.apache.arrow.flatbuf.Map);return new Zs((t||[])[0],r.keysSorted())}}throw new Error(`Unrecognized type: \"${_e[n]}\" (${n})`)}function aT(e,t){const n=t.fields.map(o=>ie.encode(e,o));nr.startFieldsVector(e,n.length);const r=nr.createFieldsVector(e,n),i=t.metadata&&t.metadata.size>0?nr.createCustomMetadataVector(e,[...t.metadata].map(([o,s])=>{const a=e.createString(`${o}`),l=e.createString(`${s}`);return Er.startKeyValue(e),Er.addKey(e,a),Er.addValue(e,l),Er.endKeyValue(e)})):-1;return nr.startSchema(e),nr.addFields(e,r),nr.addEndianness(e,hT?wd.Little:wd.Big),i!==-1&&nr.addCustomMetadata(e,i),nr.endSchema(e)}function lT(e,t){let n=-1,r=-1,i=-1,o=t.type,s=t.typeId;Wt.isDictionary(o)?(s=o.dictionary.typeId,i=Ul.visit(o,e),r=Ul.visit(o.dictionary,e)):r=Ul.visit(o,e);const a=(o.children||[]).map(f=>ie.encode(e,f)),l=An.createChildrenVector(e,a),c=t.metadata&&t.metadata.size>0?An.createCustomMetadataVector(e,[...t.metadata].map(([f,d])=>{const h=e.createString(`${f}`),p=e.createString(`${d}`);return Er.startKeyValue(e),Er.addKey(e,h),Er.addValue(e,p),Er.endKeyValue(e)})):-1;return t.name&&(n=e.createString(t.name)),An.startField(e),An.addType(e,r),An.addTypeType(e,s),An.addChildren(e,l),An.addNullable(e,!!t.nullable),n!==-1&&An.addName(e,n),i!==-1&&An.addDictionary(e,i),c!==-1&&An.addCustomMetadata(e,c),An.endField(e)}function cT(e,t){const n=t.nodes||[],r=t.buffers||[];Sr.startNodesVector(e,n.length),n.slice().reverse().forEach(s=>Oi.encode(e,s));const i=e.endVector();Sr.startBuffersVector(e,r.length),r.slice().reverse().forEach(s=>Wn.encode(e,s));const o=e.endVector();return Sr.startRecordBatch(e),Sr.addLength(e,new gi(t.length,0)),Sr.addNodes(e,i),Sr.addBuffers(e,o),Sr.endRecordBatch(e)}function uT(e,t){const n=vn.encode(e,t.data);return Di.startDictionaryBatch(e),Di.addId(e,new gi(t.id,0)),Di.addIsDelta(e,t.isDelta),Di.addData(e,n),Di.endDictionaryBatch(e)}function fT(e,t){return XI.createFieldNode(e,new gi(t.length,0),new gi(t.nullCount,0))}function dT(e,t){return KI.createBuffer(e,new gi(t.offset,0),new gi(t.length,0))}const hT=function(){const e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),new Int16Array(e)[0]===256}();var _g=$.ByteBuffer;const Cu=e=>`Expected ${ge[e]} Message in stream, but was null or length 0.`,Bu=e=>`Header pointer of flatbuffer-encoded ${ge[e]} Message is null or length 0.`,Ng=(e,t)=>`Expected to read ${e} metadata bytes, but only read ${t}.`,Ug=(e,t)=>`Expected to read ${e} bytes for message body, but only read ${t}.`;class jg{constructor(t){this.source=t instanceof ba?t:new ba(t)}[Symbol.iterator](){return this}next(){let t;return(t=this.readMetadataLength()).done||t.value===-1&&(t=this.readMetadataLength()).done||(t=this.readMetadata(t.value)).done?Ee:t}throw(t){return this.source.throw(t)}return(t){return this.source.return(t)}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(Cu(t));return n.value}readMessageBody(t){if(t<=0)return new Uint8Array(0);const n=Qt(this.source.read(t));if(n.byteLength<t)throw new Error(Ug(t,n.byteLength));return n.byteOffset%8===0&&n.byteOffset+n.byteLength<=n.buffer.byteLength?n:n.slice()}readSchema(t=!1){const n=ge.Schema,r=this.readMessage(n),i=r&&r.header();if(t&&!i)throw new Error(Bu(n));return i}readMetadataLength(){const t=this.source.read(sl),n=t&&new _g(t),r=n&&n.readInt32(0)||0;return{done:r===0,value:r}}readMetadata(t){const n=this.source.read(t);if(!n)return Ee;if(n.byteLength<t)throw new Error(Ng(t,n.byteLength));return{done:!1,value:Je.decode(n)}}}class pT{constructor(t,n){this.source=t instanceof pi?t:$p(t)?new wa(t,n):new pi(t)}[Symbol.asyncIterator](){return this}async next(){let t;return(t=await this.readMetadataLength()).done||t.value===-1&&(t=await this.readMetadataLength()).done||(t=await this.readMetadata(t.value)).done?Ee:t}async throw(t){return await this.source.throw(t)}async return(t){return await this.source.return(t)}async readMessage(t){let n;if((n=await this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(Cu(t));return n.value}async readMessageBody(t){if(t<=0)return new Uint8Array(0);const n=Qt(await this.source.read(t));if(n.byteLength<t)throw new Error(Ug(t,n.byteLength));return n.byteOffset%8===0&&n.byteOffset+n.byteLength<=n.buffer.byteLength?n:n.slice()}async readSchema(t=!1){const n=ge.Schema,r=await this.readMessage(n),i=r&&r.header();if(t&&!i)throw new Error(Bu(n));return i}async readMetadataLength(){const t=await this.source.read(sl),n=t&&new _g(t),r=n&&n.readInt32(0)||0;return{done:r===0,value:r}}async readMetadata(t){const n=await this.source.read(t);if(!n)return Ee;if(n.byteLength<t)throw new Error(Ng(t,n.byteLength));return{done:!1,value:Je.decode(n)}}}class gT extends jg{constructor(t){super(new Uint8Array(0)),this._schema=!1,this._body=[],this._batchIndex=0,this._dictionaryIndex=0,this._json=t instanceof rd?t:new rd(t)}next(){const{_json:t}=this;if(!this._schema){this._schema=!0;const n=Je.fromJSON(t.schema,ge.Schema);return{done:!1,value:n}}if(this._dictionaryIndex<t.dictionaries.length){const n=t.dictionaries[this._dictionaryIndex++];this._body=n.data.columns;const r=Je.fromJSON(n,ge.DictionaryBatch);return{done:!1,value:r}}if(this._batchIndex<t.batches.length){const n=t.batches[this._batchIndex++];this._body=n.columns;const r=Je.fromJSON(n,ge.RecordBatch);return{done:!1,value:r}}return this._body=[],Ee}readMessageBody(t){return n(this._body);function n(r){return(r||[]).reduce((i,o)=>[...i,...o.VALIDITY&&[o.VALIDITY]||[],...o.TYPE&&[o.TYPE]||[],...o.OFFSET&&[o.OFFSET]||[],...o.DATA&&[o.DATA]||[],...n(o.children)],[])}}readMessage(t){let n;if((n=this.next()).done)return null;if(t!=null&&n.value.headerType!==t)throw new Error(Cu(t));return n.value}readSchema(){const t=ge.Schema,n=this.readMessage(t),r=n&&n.header();if(!n||!r)throw new Error(Bu(t));return r}}const sl=4,Sc=\"ARROW1\",eo=new Uint8Array(Sc.length);for(let e=0;e<Sc.length;e+=1)eo[e]=Sc.charCodeAt(e);function Fu(e,t=0){for(let n=-1,r=eo.length;++n<r;)if(eo[n]!==e[t+n])return!1;return!0}const So=eo.length,$g=So+sl,mT=So*2+sl;class Le extends Zt{constructor(){super(),this._byteLength=0,this._nodes=[],this._buffers=[],this._bufferRegions=[]}static assemble(...t){const n=new Le,r=ZS(en,t),[i=n]=n.visitMany(r);return i}visit(t){if(!Wt.isDictionary(t.type)){const{data:n,length:r,nullCount:i}=t;if(r>2147483647)throw new RangeError(\"Cannot write arrays larger than 2^31 - 1 in length\");Wt.isNull(t.type)||Dn.call(this,i<=0?new Uint8Array(0):Qa(n.offset,r,n.nullBitmap)),this.nodes.push(new Oi(r,i))}return super.visit(t)}visitNull(t){return this}visitDictionary(t){return this.visit(t.indices)}get nodes(){return this._nodes}get buffers(){return this._buffers}get byteLength(){return this._byteLength}get bufferRegions(){return this._bufferRegions}}function Dn(e){const t=e.byteLength+7&-8;return this.buffers.push(e),this.bufferRegions.push(new Wn(this._byteLength,t)),this._byteLength+=t,this}function yT(e){const{type:t,length:n,typeIds:r,valueOffsets:i}=e;if(Dn.call(this,r),t.mode===ur.Sparse)return Ic.call(this,e);if(t.mode===ur.Dense){if(e.offset<=0)return Dn.call(this,i),Ic.call(this,e);{const o=r.reduce((f,d)=>Math.max(f,d),r[0]),s=new Int32Array(o+1),a=new Int32Array(o+1).fill(-1),l=new Int32Array(n),c=Za(-i[0],n,i);for(let f,d,h=-1;++h<n;)(d=a[f=r[h]])===-1&&(d=a[f]=c[f]),l[h]=c[h]-d,++s[f];Dn.call(this,l);for(let f,d=-1,h=t.children.length;++d<h;)if(f=e.getChildAt(d)){const p=t.typeIds[d],b=Math.min(n,s[p]);this.visit(f.slice(a[p],b))}}}return this}function vT(e){let t;return e.nullCount>=e.length?Dn.call(this,new Uint8Array(0)):(t=e.values)instanceof Uint8Array?Dn.call(this,Qa(e.offset,e.length,t)):Dn.call(this,Ys(e))}function Yr(e){return Dn.call(this,e.values.subarray(0,e.length*e.stride))}function Vg(e){const{length:t,values:n,valueOffsets:r}=e,i=r[0],o=r[t],s=Math.min(o-i,n.byteLength-i);return Dn.call(this,Za(-r[0],t,r)),Dn.call(this,n.subarray(i,i+s)),this}function Du(e){const{length:t,valueOffsets:n}=e;return n&&Dn.call(this,Za(n[0],t,n)),this.visit(e.getChildAt(0))}function Ic(e){return this.visitMany(e.type.children.map((t,n)=>e.getChildAt(n)).filter(Boolean))[0]}Le.prototype.visitBool=vT;Le.prototype.visitInt=Yr;Le.prototype.visitFloat=Yr;Le.prototype.visitUtf8=Vg;Le.prototype.visitBinary=Vg;Le.prototype.visitFixedSizeBinary=Yr;Le.prototype.visitDate=Yr;Le.prototype.visitTimestamp=Yr;Le.prototype.visitTime=Yr;Le.prototype.visitDecimal=Yr;Le.prototype.visitList=Du;Le.prototype.visitStruct=Ic;Le.prototype.visitUnion=yT;Le.prototype.visitInterval=Yr;Le.prototype.visitFixedSizeList=Du;Le.prototype.visitMap=Du;class Ru extends Ii{constructor(t){super(),this._position=0,this._started=!1,this._sink=new Ps,this._schema=null,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,yn(t)||(t={autoDestroy:!0,writeLegacyIpcFormat:!1}),this._autoDestroy=typeof t.autoDestroy==\"boolean\"?t.autoDestroy:!0,this._writeLegacyIpcFormat=typeof t.writeLegacyIpcFormat==\"boolean\"?t.writeLegacyIpcFormat:!1}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,n){throw new Error('\"throughDOM\" not available in this environment')}toString(t=!1){return this._sink.toString(t)}toUint8Array(t=!1){return this._sink.toUint8Array(t)}writeAll(t){return Vr(t)?t.then(n=>this.writeAll(n)):hr(t)?_u(this,t):Lu(this,t)}get closed(){return this._sink.closed}[Symbol.asyncIterator](){return this._sink[Symbol.asyncIterator]()}toDOMStream(t){return this._sink.toDOMStream(t)}toNodeStream(t){return this._sink.toNodeStream(t)}close(){return this.reset()._sink.close()}abort(t){return this.reset()._sink.abort(t)}finish(){return this._autoDestroy?this.close():this.reset(this._sink,this._schema),this}reset(t=this._sink,n=null){return t===this._sink||t instanceof Ps?this._sink=t:(this._sink=new Ps,t&&uw(t)?this.toDOMStream({type:\"bytes\"}).pipeTo(t):t&&fw(t)&&this.toNodeStream({objectMode:!1}).pipe(t)),this._started&&this._schema&&this._writeFooter(this._schema),this._started=!1,this._dictionaryBlocks=[],this._recordBatchBlocks=[],this._dictionaryDeltaOffsets=new Map,(!n||!n.compareTo(this._schema))&&(n===null?(this._position=0,this._schema=null):(this._started=!0,this._schema=n,this._writeSchema(n))),this}write(t){let n=null;if(this._sink){if(t==null)return this.finish()&&void 0;if(t instanceof oe&&!(n=t.schema))return this.finish()&&void 0;if(t instanceof en&&!(n=t.schema))return this.finish()&&void 0}else throw new Error(\"RecordBatchWriter is closed\");if(n&&!n.compareTo(this._schema)){if(this._started&&this._autoDestroy)return this.close();this.reset(this._sink,n)}t instanceof en?t instanceof cl||this._writeRecordBatch(t):t instanceof oe?this.writeAll(t.chunks):Mn(t)&&this.writeAll(t)}_writeMessage(t,n=8){const r=n-1,i=Je.encode(t),o=i.byteLength,s=this._writeLegacyIpcFormat?4:8,a=o+s+r&~r,l=a-o-s;return t.headerType===ge.RecordBatch?this._recordBatchBlocks.push(new kr(a,t.bodyLength,this._position)):t.headerType===ge.DictionaryBatch&&this._dictionaryBlocks.push(new kr(a,t.bodyLength,this._position)),this._writeLegacyIpcFormat||this._write(Int32Array.of(-1)),this._write(Int32Array.of(a-s)),o>0&&this._write(i),this._writePadding(l)}_write(t){if(this._started){const n=Qt(t);n&&n.byteLength>0&&(this._sink.write(n),this._position+=n.byteLength)}return this}_writeSchema(t){return this._writeMessage(Je.from(t))}_writeFooter(t){return this._writeLegacyIpcFormat?this._write(Int32Array.of(0)):this._write(Int32Array.of(-1,0))}_writeMagic(){return this._write(eo)}_writePadding(t){return t>0?this._write(new Uint8Array(t)):this}_writeRecordBatch(t){const{byteLength:n,nodes:r,bufferRegions:i,buffers:o}=Le.assemble(t),s=new vn(t.length,r,i),a=Je.from(s,n);return this._writeDictionaries(t)._writeMessage(a)._writeBodyBuffers(o)}_writeDictionaryBatch(t,n,r=!1){this._dictionaryDeltaOffsets.set(n,t.length+(this._dictionaryDeltaOffsets.get(n)||0));const{byteLength:i,nodes:o,bufferRegions:s,buffers:a}=Le.assemble(t),l=new vn(t.length,o,s),c=new Kn(l,n,r),f=Je.from(c,i);return this._writeMessage(f)._writeBodyBuffers(a)}_writeBodyBuffers(t){let n,r,i;for(let o=-1,s=t.length;++o<s;)(n=t[o])&&(r=n.byteLength)>0&&(this._write(n),(i=(r+7&-8)-r)>0&&this._writePadding(i));return this}_writeDictionaries(t){for(let[n,r]of t.dictionaries){let i=this._dictionaryDeltaOffsets.get(n)||0;if(i===0||(r=r.slice(i)).length>0){const o=\"chunks\"in r?r.chunks:[r];for(const s of o)this._writeDictionaryBatch(s,n,i>0),i+=s.length}}return this}}class Mu extends Ru{static writeAll(t,n){const r=new Mu(n);return Vr(t)?t.then(i=>r.writeAll(i)):hr(t)?_u(r,t):Lu(r,t)}}class Pu extends Ru{constructor(){super(),this._autoDestroy=!0}static writeAll(t){const n=new Pu;return Vr(t)?t.then(r=>n.writeAll(r)):hr(t)?_u(n,t):Lu(n,t)}_writeSchema(t){return this._writeMagic()._writePadding(2)}_writeFooter(t){const n=to.encode(new to(t,Cn.V4,this._recordBatchBlocks,this._dictionaryBlocks));return super._writeFooter(t)._write(n)._write(Int32Array.of(n.byteLength))._writeMagic()}}function Lu(e,t){let n=t;t instanceof oe&&(n=t.chunks,e.reset(void 0,t.schema));for(const r of n)e.write(r);return e.finish()}async function _u(e,t){for await(const n of t)e.write(n);return e.finish()}const jl=new Uint8Array(0),zg=e=>[jl,jl,new Uint8Array(e),jl];function bT(e,t,n=t.reduce((r,i)=>Math.max(r,i.length),0)){let r,i,o=-1,s=t.length;const a=[...e.fields],l=[],c=(n+63&-64)>>3;for(;++o<s;)(r=t[o])&&r.length===n?l[o]=r:((i=a[o]).nullable||(a[o]=a[o].clone({nullable:!0})),l[o]=r?r._changeLengthAndBackfillNullBitmap(n):ft.new(i.type,0,n,n,zg(c)));return[new pe(a),n,l]}function wT(e){return kg(new pe(e.map(({field:t})=>t)),e)}function kg(e,t){return ST(e,t.map(n=>n instanceof ke?n.chunks.map(r=>r.data):[n.data]))}function ST(e,t){const n=[...e.fields],r=[],i={numBatches:t.reduce((d,h)=>Math.max(d,h.length),0)};let o=0,s=0,a=-1,l=t.length,c,f=[];for(;i.numBatches-- >0;){for(s=Number.POSITIVE_INFINITY,a=-1;++a<l;)f[a]=c=t[a].shift(),s=Math.min(s,c?c.length:s);isFinite(s)&&(f=IT(n,s,f,t,i),s>0&&(r[o++]=[s,f.slice()]))}return[e=new pe(n,e.metadata),r.map(d=>new en(e,...d))]}function IT(e,t,n,r,i){let o,s,a=0,l=-1,c=r.length;const f=(t+63&-64)>>3;for(;++l<c;)(o=n[l])&&(a=o.length)>=t?a===t?n[l]=o:(n[l]=o.slice(0,t),o=o.slice(t,a-t),i.numBatches=Math.max(i.numBatches,r[l].unshift(o))):((s=e[l]).nullable||(e[l]=s.clone({nullable:!0})),n[l]=o?o._changeLengthAndBackfillNullBitmap(t):ft.new(s.type,0,t,t,zg(f)));return n}class be extends ne{constructor(t,n){super(),this._children=n,this.numChildren=t.childData.length,this._bindDataAccessors(this.data=t)}get type(){return this.data.type}get typeId(){return this.data.typeId}get length(){return this.data.length}get offset(){return this.data.offset}get stride(){return this.data.stride}get nullCount(){return this.data.nullCount}get byteLength(){return this.data.byteLength}get VectorName(){return`${D[this.typeId]}Vector`}get ArrayType(){return this.type.ArrayType}get values(){return this.data.values}get typeIds(){return this.data.typeIds}get nullBitmap(){return this.data.nullBitmap}get valueOffsets(){return this.data.valueOffsets}get[Symbol.toStringTag](){return`${this.VectorName}<${this.type[Symbol.toStringTag]}>`}clone(t,n=this._children){return ne.new(t,n)}concat(...t){return ke.concat(this,...t)}slice(t,n){return wu(this,t,n,this._sliceInternal)}isValid(t){if(this.nullCount>0){const n=this.offset+t;return(this.nullBitmap[n>>3]&1<<n%8)!==0}return!0}getChildAt(t){return t<0||t>=this.numChildren?null:(this._children||(this._children=[]))[t]||(this._children[t]=ne.new(this.data.childData[t]))}toJSON(){return[...this]}_sliceInternal(t,n,r){return t.clone(t.data.slice(n,r-n),null)}_bindDataAccessors(t){}}be.prototype[Symbol.isConcatSpreadable]=!0;class TT extends be{asUtf8(){return ne.new(this.data.clone(new ts))}}class xT extends be{static from(t){return mi(()=>new Ks,t)}}class Nu extends be{static from(...t){return t.length===2?mi(()=>t[1]===Gn.DAY?new Zw:new id,t[0]):mi(()=>new id,t[0])}}class OT extends Nu{}class AT extends Nu{}class ET extends be{}class Uu extends be{constructor(t){super(t),this.indices=ne.new(t.clone(this.type.indices))}static from(...t){if(t.length===3){const[n,r,i]=t,o=new zr(n.type,r,null,null);return ne.new(ft.Dictionary(o,0,i.length,0,null,i,n))}return mi(()=>t[0].type,t[0])}get dictionary(){return this.data.dictionary}reverseLookup(t){return this.dictionary.indexOf(t)}getKey(t){return this.indices.get(t)}getValue(t){return this.dictionary.get(t)}setKey(t,n){return this.indices.set(t,n)}setValue(t,n){return this.dictionary.set(t,n)}}Uu.prototype.indices=null;class CT extends be{}class BT extends be{}class ol extends be{static from(t){let n=RT(this);if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let r=DT(t.constructor)||n;if(n===null&&(n=r),n&&n===r){let i=new n,o=t.byteLength/i.ArrayType.BYTES_PER_ELEMENT;if(!FT(n,t.constructor))return ne.new(ft.Float(i,0,o,0,null,t))}}if(n)return mi(()=>new n,t);throw t instanceof DataView||t instanceof ArrayBuffer?new TypeError(`Cannot infer float type from instance of ${t.constructor.name}`):new TypeError(\"Unrecognized FloatVector input\")}}class Hg extends ol{toFloat32Array(){return new Float32Array(this)}toFloat64Array(){return new Float64Array(this)}}class Wg extends ol{}class Yg extends ol{}const FT=(e,t)=>e===tl&&t!==Uint16Array,DT=e=>{switch(e){case Uint16Array:return tl;case Float32Array:return pu;case Float64Array:return gu;default:return null}},RT=e=>{switch(e){case Hg:return tl;case Wg:return pu;case Yg:return gu;default:return null}};class ju extends be{}class MT extends ju{}class PT extends ju{}class Un extends be{static from(...t){let[n,r=!1]=t,i=NT(this,r);if(n instanceof ArrayBuffer||ArrayBuffer.isView(n)){let o=_T(n.constructor,r)||i;if(i===null&&(i=o),i&&i===o){let s=new i,a=n.byteLength/s.ArrayType.BYTES_PER_ELEMENT;return LT(i,n.constructor)&&(a*=.5),ne.new(ft.Int(s,0,a,0,null,n))}}if(i)return mi(()=>new i,n);throw n instanceof DataView||n instanceof ArrayBuffer?new TypeError(`Cannot infer integer type from instance of ${n.constructor.name}`):new TypeError(\"Unrecognized IntVector input\")}}class Gg extends Un{}class Kg extends Un{}class Xg extends Un{}class Jg extends Un{toBigInt64Array(){return kp(this.values)}get values64(){return this._values64||(this._values64=this.toBigInt64Array())}}class Zg extends Un{}class Qg extends Un{}class qg extends Un{}class tm extends Un{toBigUint64Array(){return Hp(this.values)}get values64(){return this._values64||(this._values64=this.toBigUint64Array())}}const LT=(e,t)=>(e===Qi||e===qi)&&(t===Int32Array||t===Uint32Array),_T=(e,t)=>{switch(e){case Int8Array:return cu;case Int16Array:return uu;case Int32Array:return t?Qi:di;case us:return Qi;case Uint8Array:return fu;case Uint16Array:return du;case Uint32Array:return t?qi:hu;case fo:return qi;default:return null}},NT=(e,t)=>{switch(e){case Gg:return cu;case Kg:return uu;case Xg:return t?Qi:di;case Jg:return Qi;case Zg:return fu;case Qg:return du;case qg:return t?qi:hu;case tm:return qi;default:return null}};class UT extends be{}class jT extends be{asList(){const t=this.type.children[0];return ne.new(this.data.clone(new ns(t)))}bind(t){const n=this.getChildAt(0),{[t]:r,[t+1]:i}=this.valueOffsets;return new lg(n.slice(r,i))}}class $T extends be{}const VT=Symbol.for(\"rowIndex\");class al extends be{bind(t){const n=this._row||(this._row=new cg(this)),r=Object.create(n);return r[VT]=t,r}}class Io extends be{}class zT extends Io{}class kT extends Io{}class HT extends Io{}class WT extends Io{}class To extends be{}class YT extends To{}class GT extends To{}class KT extends To{}class XT extends To{}class $u extends be{get typeIdToChildIndex(){return this.data.type.typeIdToChildIndex}}class JT extends $u{get valueOffsets(){return this.data.valueOffsets}}class ZT extends $u{}class QT extends be{static from(t){return mi(()=>new ts,t)}asBinary(){return ne.new(this.data.clone(new Gs))}}function xd(e){return function(){return e(this)}}function qT(e){return function(t){return e(this,t)}}function Od(e){return function(t,n){return e(this,t,n)}}class Lt extends Zt{}const tx=(e,t)=>864e5*e[t],Vu=(e,t)=>4294967296*e[t+1]+(e[t]>>>0),ex=(e,t)=>4294967296*(e[t+1]/1e3)+(e[t]>>>0)/1e3,nx=(e,t)=>4294967296*(e[t+1]/1e6)+(e[t]>>>0)/1e6,em=e=>new Date(e),rx=(e,t)=>em(tx(e,t)),ix=(e,t)=>em(Vu(e,t)),sx=(e,t)=>null,nm=(e,t,n)=>{const{[n]:r,[n+1]:i}=t;return r!=null&&i!=null?e.subarray(r,i):null},ox=({offset:e,values:t},n)=>{const r=e+n;return(t[r>>3]&1<<r%8)!==0},rm=({values:e},t)=>rx(e,t),im=({values:e},t)=>ix(e,t*2),Zn=({stride:e,values:t},n)=>t[e*n],sm=({stride:e,values:t},n)=>rg(t[e*n]),zu=({stride:e,values:t,type:n},r)=>Ti.new(t.subarray(e*r,e*(r+1)),n.isSigned),ax=({stride:e,values:t},n)=>t.subarray(e*n,e*(n+1)),lx=({values:e,valueOffsets:t},n)=>nm(e,t,n),cx=({values:e,valueOffsets:t},n)=>{const r=nm(e,t,n);return r!==null?gc(r):null},ux=(e,t)=>e.type.bitWidth<64?Zn(e,t):zu(e,t),fx=(e,t)=>e.type.precision!==Tn.HALF?Zn(e,t):sm(e,t),dx=(e,t)=>e.type.unit===Gn.DAY?rm(e,t):im(e,t),om=({values:e},t)=>1e3*Vu(e,t*2),am=({values:e},t)=>Vu(e,t*2),lm=({values:e},t)=>ex(e,t*2),cm=({values:e},t)=>nx(e,t*2),hx=(e,t)=>{switch(e.type.unit){case he.SECOND:return om(e,t);case he.MILLISECOND:return am(e,t);case he.MICROSECOND:return lm(e,t);case he.NANOSECOND:return cm(e,t)}},um=({values:e,stride:t},n)=>e[t*n],fm=({values:e,stride:t},n)=>e[t*n],dm=({values:e},t)=>Ti.signed(e.subarray(2*t,2*(t+1))),hm=({values:e},t)=>Ti.signed(e.subarray(2*t,2*(t+1))),px=(e,t)=>{switch(e.type.unit){case he.SECOND:return um(e,t);case he.MILLISECOND:return fm(e,t);case he.MICROSECOND:return dm(e,t);case he.NANOSECOND:return hm(e,t)}},gx=({values:e},t)=>Ti.decimal(e.subarray(4*t,4*(t+1))),mx=(e,t)=>{const n=e.getChildAt(0),{valueOffsets:r,stride:i}=e;return n.slice(r[t*i],r[t*i+1])},yx=(e,t)=>e.bind(t),vx=(e,t)=>e.bind(t),bx=(e,t)=>e.type.mode===ur.Dense?pm(e,t):gm(e,t),pm=(e,t)=>{const n=e.typeIdToChildIndex[e.typeIds[t]],r=e.getChildAt(n);return r?r.get(e.valueOffsets[t]):null},gm=(e,t)=>{const n=e.typeIdToChildIndex[e.typeIds[t]],r=e.getChildAt(n);return r?r.get(t):null},wx=(e,t)=>e.getValue(e.getKey(t)),Sx=(e,t)=>e.type.unit===Ji.DAY_TIME?mm(e,t):ym(e,t),mm=({values:e},t)=>e.subarray(2*t,2*(t+1)),ym=({values:e},t)=>{const n=e[t],r=new Int32Array(2);return r[0]=n/12|0,r[1]=n%12|0,r},Ix=(e,t)=>{const n=e.getChildAt(0),{stride:r}=e;return n.slice(t*r,(t+1)*r)};Lt.prototype.visitNull=sx;Lt.prototype.visitBool=ox;Lt.prototype.visitInt=ux;Lt.prototype.visitInt8=Zn;Lt.prototype.visitInt16=Zn;Lt.prototype.visitInt32=Zn;Lt.prototype.visitInt64=zu;Lt.prototype.visitUint8=Zn;Lt.prototype.visitUint16=Zn;Lt.prototype.visitUint32=Zn;Lt.prototype.visitUint64=zu;Lt.prototype.visitFloat=fx;Lt.prototype.visitFloat16=sm;Lt.prototype.visitFloat32=Zn;Lt.prototype.visitFloat64=Zn;Lt.prototype.visitUtf8=cx;Lt.prototype.visitBinary=lx;Lt.prototype.visitFixedSizeBinary=ax;Lt.prototype.visitDate=dx;Lt.prototype.visitDateDay=rm;Lt.prototype.visitDateMillisecond=im;Lt.prototype.visitTimestamp=hx;Lt.prototype.visitTimestampSecond=om;Lt.prototype.visitTimestampMillisecond=am;Lt.prototype.visitTimestampMicrosecond=lm;Lt.prototype.visitTimestampNanosecond=cm;Lt.prototype.visitTime=px;Lt.prototype.visitTimeSecond=um;Lt.prototype.visitTimeMillisecond=fm;Lt.prototype.visitTimeMicrosecond=dm;Lt.prototype.visitTimeNanosecond=hm;Lt.prototype.visitDecimal=gx;Lt.prototype.visitList=mx;Lt.prototype.visitStruct=vx;Lt.prototype.visitUnion=bx;Lt.prototype.visitDenseUnion=pm;Lt.prototype.visitSparseUnion=gm;Lt.prototype.visitDictionary=wx;Lt.prototype.visitInterval=Sx;Lt.prototype.visitIntervalDayTime=mm;Lt.prototype.visitIntervalYearMonth=ym;Lt.prototype.visitFixedSizeList=Ix;Lt.prototype.visitMap=yx;const ll=new Lt;class _t extends Zt{}function Tx(e,t){return t===null&&e.length>0?0:-1}function xx(e,t){const{nullBitmap:n}=e;if(!n||e.nullCount<=0)return-1;let r=0;for(const i of ho(n,e.data.offset+(t||0),e.length,n,su)){if(!i)return r;++r}return-1}function Gt(e,t,n){if(t===void 0)return-1;if(t===null)return xx(e,n);const r=xi(t);for(let i=(n||0)-1,o=e.length;++i<o;)if(r(e.get(i)))return i;return-1}function vm(e,t,n){const r=xi(t);for(let i=(n||0)-1,o=e.length;++i<o;)if(r(e.get(i)))return i;return-1}_t.prototype.visitNull=Tx;_t.prototype.visitBool=Gt;_t.prototype.visitInt=Gt;_t.prototype.visitInt8=Gt;_t.prototype.visitInt16=Gt;_t.prototype.visitInt32=Gt;_t.prototype.visitInt64=Gt;_t.prototype.visitUint8=Gt;_t.prototype.visitUint16=Gt;_t.prototype.visitUint32=Gt;_t.prototype.visitUint64=Gt;_t.prototype.visitFloat=Gt;_t.prototype.visitFloat16=Gt;_t.prototype.visitFloat32=Gt;_t.prototype.visitFloat64=Gt;_t.prototype.visitUtf8=Gt;_t.prototype.visitBinary=Gt;_t.prototype.visitFixedSizeBinary=Gt;_t.prototype.visitDate=Gt;_t.prototype.visitDateDay=Gt;_t.prototype.visitDateMillisecond=Gt;_t.prototype.visitTimestamp=Gt;_t.prototype.visitTimestampSecond=Gt;_t.prototype.visitTimestampMillisecond=Gt;_t.prototype.visitTimestampMicrosecond=Gt;_t.prototype.visitTimestampNanosecond=Gt;_t.prototype.visitTime=Gt;_t.prototype.visitTimeSecond=Gt;_t.prototype.visitTimeMillisecond=Gt;_t.prototype.visitTimeMicrosecond=Gt;_t.prototype.visitTimeNanosecond=Gt;_t.prototype.visitDecimal=Gt;_t.prototype.visitList=Gt;_t.prototype.visitStruct=Gt;_t.prototype.visitUnion=Gt;_t.prototype.visitDenseUnion=vm;_t.prototype.visitSparseUnion=vm;_t.prototype.visitDictionary=Gt;_t.prototype.visitInterval=Gt;_t.prototype.visitIntervalDayTime=Gt;_t.prototype.visitIntervalYearMonth=Gt;_t.prototype.visitFixedSizeList=Gt;_t.prototype.visitMap=Gt;const bm=new _t;class Nt extends Zt{}function Ox(e){const t=ll.getVisitFn(e);return ho(e.nullBitmap,e.offset,e.length,e,(n,r,i,o)=>(i&1<<o)!==0?t(n,r):null)}function zt(e){if(e.nullCount>0)return Ox(e);const{type:t,typeId:n,length:r}=e;return e.stride===1&&(n===D.Timestamp||n===D.Int&&t.bitWidth!==64||n===D.Time&&t.bitWidth!==64||n===D.Float&&t.precision>0)?e.values.subarray(0,r)[Symbol.iterator]():function*(i){for(let o=-1;++o<r;)yield i(e,o)}(ll.getVisitFn(e))}Nt.prototype.visitNull=zt;Nt.prototype.visitBool=zt;Nt.prototype.visitInt=zt;Nt.prototype.visitInt8=zt;Nt.prototype.visitInt16=zt;Nt.prototype.visitInt32=zt;Nt.prototype.visitInt64=zt;Nt.prototype.visitUint8=zt;Nt.prototype.visitUint16=zt;Nt.prototype.visitUint32=zt;Nt.prototype.visitUint64=zt;Nt.prototype.visitFloat=zt;Nt.prototype.visitFloat16=zt;Nt.prototype.visitFloat32=zt;Nt.prototype.visitFloat64=zt;Nt.prototype.visitUtf8=zt;Nt.prototype.visitBinary=zt;Nt.prototype.visitFixedSizeBinary=zt;Nt.prototype.visitDate=zt;Nt.prototype.visitDateDay=zt;Nt.prototype.visitDateMillisecond=zt;Nt.prototype.visitTimestamp=zt;Nt.prototype.visitTimestampSecond=zt;Nt.prototype.visitTimestampMillisecond=zt;Nt.prototype.visitTimestampMicrosecond=zt;Nt.prototype.visitTimestampNanosecond=zt;Nt.prototype.visitTime=zt;Nt.prototype.visitTimeSecond=zt;Nt.prototype.visitTimeMillisecond=zt;Nt.prototype.visitTimeMicrosecond=zt;Nt.prototype.visitTimeNanosecond=zt;Nt.prototype.visitDecimal=zt;Nt.prototype.visitList=zt;Nt.prototype.visitStruct=zt;Nt.prototype.visitUnion=zt;Nt.prototype.visitDenseUnion=zt;Nt.prototype.visitSparseUnion=zt;Nt.prototype.visitDictionary=zt;Nt.prototype.visitInterval=zt;Nt.prototype.visitIntervalDayTime=zt;Nt.prototype.visitIntervalYearMonth=zt;Nt.prototype.visitFixedSizeList=zt;Nt.prototype.visitMap=zt;const ku=new Nt;class Ut extends Zt{}function kt(e){const{type:t,length:n,stride:r}=e;switch(t.typeId){case D.Int:case D.Float:case D.Decimal:case D.Time:case D.Timestamp:return e.values.subarray(0,n*r)}return[...ku.visit(e)]}Ut.prototype.visitNull=kt;Ut.prototype.visitBool=kt;Ut.prototype.visitInt=kt;Ut.prototype.visitInt8=kt;Ut.prototype.visitInt16=kt;Ut.prototype.visitInt32=kt;Ut.prototype.visitInt64=kt;Ut.prototype.visitUint8=kt;Ut.prototype.visitUint16=kt;Ut.prototype.visitUint32=kt;Ut.prototype.visitUint64=kt;Ut.prototype.visitFloat=kt;Ut.prototype.visitFloat16=kt;Ut.prototype.visitFloat32=kt;Ut.prototype.visitFloat64=kt;Ut.prototype.visitUtf8=kt;Ut.prototype.visitBinary=kt;Ut.prototype.visitFixedSizeBinary=kt;Ut.prototype.visitDate=kt;Ut.prototype.visitDateDay=kt;Ut.prototype.visitDateMillisecond=kt;Ut.prototype.visitTimestamp=kt;Ut.prototype.visitTimestampSecond=kt;Ut.prototype.visitTimestampMillisecond=kt;Ut.prototype.visitTimestampMicrosecond=kt;Ut.prototype.visitTimestampNanosecond=kt;Ut.prototype.visitTime=kt;Ut.prototype.visitTimeSecond=kt;Ut.prototype.visitTimeMillisecond=kt;Ut.prototype.visitTimeMicrosecond=kt;Ut.prototype.visitTimeNanosecond=kt;Ut.prototype.visitDecimal=kt;Ut.prototype.visitList=kt;Ut.prototype.visitStruct=kt;Ut.prototype.visitUnion=kt;Ut.prototype.visitDenseUnion=kt;Ut.prototype.visitSparseUnion=kt;Ut.prototype.visitDictionary=kt;Ut.prototype.visitInterval=kt;Ut.prototype.visitIntervalDayTime=kt;Ut.prototype.visitIntervalYearMonth=kt;Ut.prototype.visitFixedSizeList=kt;Ut.prototype.visitMap=kt;const wm=new Ut,ms=(e,t)=>e+t,$l=e=>`Cannot compute the byte width of variable-width column ${e}`;class Ax extends Zt{visitNull(t){return 0}visitInt(t){return t.bitWidth/8}visitFloat(t){return t.ArrayType.BYTES_PER_ELEMENT}visitBinary(t){throw new Error($l(t))}visitUtf8(t){throw new Error($l(t))}visitBool(t){return 1/8}visitDecimal(t){return 16}visitDate(t){return(t.unit+1)*4}visitTime(t){return t.bitWidth/8}visitTimestamp(t){return t.unit===he.SECOND?4:8}visitInterval(t){return(t.unit+1)*4}visitList(t){throw new Error($l(t))}visitStruct(t){return this.visitFields(t.children).reduce(ms,0)}visitUnion(t){return this.visitFields(t.children).reduce(ms,0)}visitFixedSizeBinary(t){return t.byteWidth}visitFixedSizeList(t){return t.listSize*this.visitFields(t.children).reduce(ms,0)}visitMap(t){return this.visitFields(t.children).reduce(ms,0)}visitDictionary(t){return this.visit(t.indices)}visitFields(t){return(t||[]).map(n=>this.visit(n.type))}visitSchema(t){return this.visitFields(t.fields).reduce(ms,0)}}const Sm=new Ax;class Ex extends Zt{visitNull(){return $T}visitBool(){return xT}visitInt(){return Un}visitInt8(){return Gg}visitInt16(){return Kg}visitInt32(){return Xg}visitInt64(){return Jg}visitUint8(){return Zg}visitUint16(){return Qg}visitUint32(){return qg}visitUint64(){return tm}visitFloat(){return ol}visitFloat16(){return Hg}visitFloat32(){return Wg}visitFloat64(){return Yg}visitUtf8(){return QT}visitBinary(){return TT}visitFixedSizeBinary(){return CT}visitDate(){return Nu}visitDateDay(){return OT}visitDateMillisecond(){return AT}visitTimestamp(){return Io}visitTimestampSecond(){return zT}visitTimestampMillisecond(){return kT}visitTimestampMicrosecond(){return HT}visitTimestampNanosecond(){return WT}visitTime(){return To}visitTimeSecond(){return YT}visitTimeMillisecond(){return GT}visitTimeMicrosecond(){return KT}visitTimeNanosecond(){return XT}visitDecimal(){return ET}visitList(){return UT}visitStruct(){return al}visitUnion(){return $u}visitDenseUnion(){return JT}visitSparseUnion(){return ZT}visitDictionary(){return Uu}visitInterval(){return ju}visitIntervalDayTime(){return MT}visitIntervalYearMonth(){return PT}visitFixedSizeList(){return BT}visitMap(){return jT}}const Im=new Ex;ne.new=Cx;ne.from=Bx;function Cx(e,...t){return new(Im.getVisitFn(e)())(e,...t)}function mi(e,t){if(Mn(t))return ne.from({nullValues:[null,void 0],type:e(),values:t});if(hr(t))return ne.from({nullValues:[null,void 0],type:e(),values:t});const{values:n=[],type:r=e(),nullValues:i=[null,void 0]}={...t};return Mn(n)?ne.from({nullValues:i,...t,type:r}):ne.from({nullValues:i,...t,type:r})}function Bx(e){const{values:t=[],...n}={nullValues:[null,void 0],...e};if(Mn(t)){const r=[...Ce.throughIterable(n)(t)];return r.length===1?r[0]:ke.concat(r)}return(async r=>{const i=Ce.throughAsyncIterable(n);for await(const o of i(t))r.push(o);return r.length===1?r[0]:ke.concat(r)})([])}be.prototype.get=function(t){return ll.visit(this,t)};be.prototype.set=function(t,n){return il.visit(this,t,n)};be.prototype.indexOf=function(t,n){return bm.visit(this,t,n)};be.prototype.toArray=function(){return wm.visit(this)};be.prototype.getByteWidth=function(){return Sm.visit(this.type)};be.prototype[Symbol.iterator]=function(){return ku.visit(this)};be.prototype._bindDataAccessors=Mx;Object.keys(D).map(e=>D[e]).filter(e=>typeof e==\"number\").filter(e=>e!==D.NONE).forEach(e=>{const t=Im.visit(e);t.prototype.get=qT(ll.getVisitFn(e)),t.prototype.set=Od(il.getVisitFn(e)),t.prototype.indexOf=Od(bm.getVisitFn(e)),t.prototype.toArray=xd(wm.getVisitFn(e)),t.prototype.getByteWidth=Fx(Sm.getVisitFn(e)),t.prototype[Symbol.iterator]=xd(ku.getVisitFn(e))});function Fx(e){return function(){return e(this.type)}}function Dx(e){return function(t){return this.isValid(t)?e.call(this,t):null}}function Rx(e){return function(t,n){Jp(this.nullBitmap,this.offset+t,n!=null)&&e.call(this,t,n)}}function Mx(){const e=this.nullBitmap;e&&e.byteLength>0&&(this.get=Dx(this.get),this.set=Rx(this.set))}class oe extends ke{constructor(...t){let n=null;t[0]instanceof pe&&(n=t.shift());let r=fg(en,t);if(!n&&!(n=r[0]&&r[0].schema))throw new TypeError(\"Table must be initialized with a Schema or at least one RecordBatch\");r[0]||(r[0]=new cl(n)),super(new Ln(n.fields),r),this._schema=n,this._chunks=r}static empty(t=new pe([])){return new oe(t,[])}static from(t){if(!t)return oe.empty();if(typeof t==\"object\"){let r=Mn(t.values)?Px(t):hr(t.values)?Lx(t):null;if(r!==null)return r}let n=Rn.from(t);return Vr(n)?(async()=>await oe.from(await n))():n.isSync()&&(n=n.open())?n.schema?new oe(n.schema,[...n]):oe.empty():(async r=>{const i=await r,o=i.schema,s=[];if(o){for await(let a of i)s.push(a);return new oe(o,s)}return oe.empty()})(n.open())}static async fromAsync(t){return await oe.from(t)}static fromStruct(t){return oe.new(t.data.childData,t.type.children)}static new(...t){return new oe(...wT(XS(t)))}get schema(){return this._schema}get length(){return this._length}get chunks(){return this._chunks}get numCols(){return this._numChildren}clone(t=this._chunks){return new oe(this._schema,t)}getColumn(t){return this.getColumnAt(this.getColumnIndex(t))}getColumnAt(t){return this.getChildAt(t)}getColumnIndex(t){return this._schema.fields.findIndex(n=>n.name===t)}getChildAt(t){if(t<0||t>=this.numChildren)return null;let n,r;const i=this._schema.fields,o=this._children||(this._children=[]);if(r=o[t])return r;if(n=i[t]){const s=this._chunks.map(a=>a.getChildAt(t)).filter(a=>a!=null);if(s.length>0)return o[t]=new Bn(n,s)}return null}serialize(t=\"binary\",n=!0){return(n?Mu:Pu).writeAll(this).toUint8Array(!0)}count(){return this._length}select(...t){const n=this._schema.fields.reduce((r,i,o)=>r.set(i.name,o),new Map);return this.selectAt(...t.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(...t){const n=this._schema.selectAt(...t);return new oe(n,this._chunks.map(({length:r,data:{childData:i}})=>new en(n,r,t.map(o=>i[o]).filter(Boolean))))}assign(t){const n=this._schema.fields,[r,i]=t.schema.fields.reduce((a,l,c)=>{const[f,d]=a,h=n.findIndex(p=>p.name===l.name);return~h?d[h]=c:f.push(c),a},[[],[]]),o=this._schema.assign(t.schema),s=[...n.map((a,l,c,f=i[l])=>f===void 0?this.getColumnAt(l):t.getColumnAt(f)),...r.map(a=>t.getColumnAt(a))].filter(Boolean);return new oe(...kg(o,s))}}function Px(e){const{type:t}=e;return t instanceof Ln?oe.fromStruct(al.from(e)):null}function Lx(e){const{type:t}=e;return t instanceof Ln?al.from(e).then(n=>oe.fromStruct(n)):null}class en extends al{constructor(...t){let n,r=t[0],i;if(t[1]instanceof ft)[,n,i]=t;else{const o=r.fields,[,s,a]=t;n=ft.Struct(new Ln(o),0,s,0,null,a)}super(n,i),this._schema=r}static from(t){return Mn(t.values),oe.from(t)}static new(...t){const[n,r]=dg(t),i=r.filter(o=>o instanceof ne);return new en(...bT(new pe(n),i.map(o=>o.data)))}clone(t,n=this._children){return new en(this._schema,t,n)}concat(...t){const n=this._schema,r=ke.flatten(this,...t);return new oe(n,r.map(({data:i})=>new en(n,i)))}get schema(){return this._schema}get numCols(){return this._schema.fields.length}get dictionaries(){return this._dictionaries||(this._dictionaries=Hu.collect(this))}select(...t){const n=this._schema.fields.reduce((r,i,o)=>r.set(i.name,o),new Map);return this.selectAt(...t.map(r=>n.get(r)).filter(r=>r>-1))}selectAt(...t){const n=this._schema.selectAt(...t),r=t.map(i=>this.data.childData[i]).filter(Boolean);return new en(n,this.length,r)}}class cl extends en{constructor(t){super(t,0,t.fields.map(n=>ft.new(n.type,0,0,0)))}}class Hu extends Zt{constructor(){super(...arguments),this.dictionaries=new Map}static collect(t){return new Hu().visit(t.data,new Ln(t.schema.fields)).dictionaries}visit(t,n){return Wt.isDictionary(n)?this.visitDictionary(t,n):(t.childData.forEach((r,i)=>this.visit(r,n.children[i].type)),this)}visitDictionary(t,n){const r=t.dictionary;return r&&r.length>0&&this.dictionaries.set(n.id,r),this}}class Rn extends Ii{constructor(t){super(),this._impl=t}get closed(){return this._impl.closed}get schema(){return this._impl.schema}get autoDestroy(){return this._impl.autoDestroy}get dictionaries(){return this._impl.dictionaries}get numDictionaries(){return this._impl.numDictionaries}get numRecordBatches(){return this._impl.numRecordBatches}get footer(){return this._impl.isFile()?this._impl.footer:null}isSync(){return this._impl.isSync()}isAsync(){return this._impl.isAsync()}isFile(){return this._impl.isFile()}isStream(){return this._impl.isStream()}next(){return this._impl.next()}throw(t){return this._impl.throw(t)}return(t){return this._impl.return(t)}cancel(){return this._impl.cancel()}reset(t){return this._impl.reset(t),this._DOMStream=void 0,this._nodeStream=void 0,this}open(t){const n=this._impl.open(t);return Vr(n)?n.then(()=>this):this}readRecordBatch(t){return this._impl.isFile()?this._impl.readRecordBatch(t):null}[Symbol.iterator](){return this._impl[Symbol.iterator]()}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}toDOMStream(){return dn.toDOMStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this})}toNodeStream(){return dn.toNodeStream(this.isSync()?{[Symbol.iterator]:()=>this}:{[Symbol.asyncIterator]:()=>this},{objectMode:!0})}static throughNode(t){throw new Error('\"throughNode\" not available in this environment')}static throughDOM(t,n){throw new Error('\"throughDOM\" not available in this environment')}static from(t){return t instanceof Rn?t:mc(t)?jx(t):$p(t)?zx(t):Vr(t)?(async()=>await Rn.from(await t))():Vp(t)||ru(t)||zp(t)||hr(t)?Vx(new pi(t)):$x(new ba(t))}static readAll(t){return t instanceof Rn?t.isSync()?Ad(t):Ed(t):mc(t)||ArrayBuffer.isView(t)||Mn(t)||jp(t)?Ad(t):Ed(t)}}class Sa extends Rn{constructor(t){super(t),this._impl=t}[Symbol.iterator](){return this._impl[Symbol.iterator]()}async*[Symbol.asyncIterator](){yield*this[Symbol.iterator]()}}class Ia extends Rn{constructor(t){super(t),this._impl=t}[Symbol.iterator](){throw new Error(\"AsyncRecordBatchStreamReader is not Iterable\")}[Symbol.asyncIterator](){return this._impl[Symbol.asyncIterator]()}}class Tm extends Sa{constructor(t){super(t),this._impl=t}}class _x extends Ia{constructor(t){super(t),this._impl=t}}class xm{constructor(t=new Map){this.closed=!1,this.autoDestroy=!0,this._dictionaryIndex=0,this._recordBatchIndex=0,this.dictionaries=t}get numDictionaries(){return this._dictionaryIndex}get numRecordBatches(){return this._recordBatchIndex}isSync(){return!1}isAsync(){return!1}isFile(){return!1}isStream(){return!1}reset(t){return this._dictionaryIndex=0,this._recordBatchIndex=0,this.schema=t,this.dictionaries=new Map,this}_loadRecordBatch(t,n){return new en(this.schema,t.length,this._loadVectors(t,n,this.schema.fields))}_loadDictionaryBatch(t,n){const{id:r,isDelta:i,data:o}=t,{dictionaries:s,schema:a}=this,l=s.get(r);if(i||!l){const c=a.dictionaries.get(r);return l&&i?l.concat(ne.new(this._loadVectors(o,n,[c])[0])):ne.new(this._loadVectors(o,n,[c])[0])}return l}_loadVectors(t,n,r){return new Rg(n,t.nodes,t.buffers,this.dictionaries).visitMany(r)}}class Ta extends xm{constructor(t,n){super(n),this._reader=mc(t)?new gT(this._handle=t):new jg(this._handle=t)}isSync(){return!0}isStream(){return!0}[Symbol.iterator](){return this}cancel(){!this.closed&&(this.closed=!0)&&(this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}open(t){return this.closed||(this.autoDestroy=Am(this,t),this.schema||(this.schema=this._reader.readSchema())||this.cancel()),this}throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.throw(t):Ee}return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?this.reset()._reader.return(t):Ee}next(){if(this.closed)return Ee;let t,{_reader:n}=this;for(;t=this._readNextMessageAndValidate();)if(t.isSchema())this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;const r=t.header(),i=n.readMessageBody(t.bodyLength),o=this._loadRecordBatch(r,i);return{done:!1,value:o}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;const r=t.header(),i=n.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,o)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new cl(this.schema)}):this.return()}_readNextMessageAndValidate(t){return this._reader.readMessage(t)}}class xa extends xm{constructor(t,n){super(n),this._reader=new pT(this._handle=t)}isAsync(){return!0}isStream(){return!0}[Symbol.asyncIterator](){return this}async cancel(){!this.closed&&(this.closed=!0)&&(await this.reset()._reader.return(),this._reader=null,this.dictionaries=null)}async open(t){return this.closed||(this.autoDestroy=Am(this,t),this.schema||(this.schema=await this._reader.readSchema())||await this.cancel()),this}async throw(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?await this.reset()._reader.throw(t):Ee}async return(t){return!this.closed&&this.autoDestroy&&(this.closed=!0)?await this.reset()._reader.return(t):Ee}async next(){if(this.closed)return Ee;let t,{_reader:n}=this;for(;t=await this._readNextMessageAndValidate();)if(t.isSchema())await this.reset(t.header());else if(t.isRecordBatch()){this._recordBatchIndex++;const r=t.header(),i=await n.readMessageBody(t.bodyLength),o=this._loadRecordBatch(r,i);return{done:!1,value:o}}else if(t.isDictionaryBatch()){this._dictionaryIndex++;const r=t.header(),i=await n.readMessageBody(t.bodyLength),o=this._loadDictionaryBatch(r,i);this.dictionaries.set(r.id,o)}return this.schema&&this._recordBatchIndex===0?(this._recordBatchIndex++,{done:!1,value:new cl(this.schema)}):await this.return()}async _readNextMessageAndValidate(t){return await this._reader.readMessage(t)}}class Om extends Ta{constructor(t,n){super(t instanceof ud?t:new ud(t),n)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isSync(){return!0}isFile(){return!0}open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&this._readDictionaryBatch(this._dictionaryIndex++)}return super.open(t)}readRecordBatch(t){if(this.closed)return null;this._footer||this.open();const n=this._footer&&this._footer.getRecordBatch(t);if(n&&this._handle.seek(n.offset)){const r=this._reader.readMessage(ge.RecordBatch);if(r&&r.isRecordBatch()){const i=r.header(),o=this._reader.readMessageBody(r.bodyLength);return this._loadRecordBatch(i,o)}}return null}_readDictionaryBatch(t){const n=this._footer&&this._footer.getDictionaryBatch(t);if(n&&this._handle.seek(n.offset)){const r=this._reader.readMessage(ge.DictionaryBatch);if(r&&r.isDictionaryBatch()){const i=r.header(),o=this._reader.readMessageBody(r.bodyLength),s=this._loadDictionaryBatch(i,o);this.dictionaries.set(i.id,s)}}}_readFooter(){const{_handle:t}=this,n=t.size-$g,r=t.readInt32(n),i=t.readAt(n-r,r);return to.decode(i)}_readNextMessageAndValidate(t){if(this._footer||this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){const n=this._footer&&this._footer.getRecordBatch(this._recordBatchIndex);if(n&&this._handle.seek(n.offset))return this._reader.readMessage(t)}return null}}class Nx extends xa{constructor(t,...n){const r=typeof n[0]!=\"number\"?n.shift():void 0,i=n[0]instanceof Map?n.shift():void 0;super(t instanceof wa?t:new wa(t,r),i)}get footer(){return this._footer}get numDictionaries(){return this._footer?this._footer.numDictionaries:0}get numRecordBatches(){return this._footer?this._footer.numRecordBatches:0}isFile(){return!0}isAsync(){return!0}async open(t){if(!this.closed&&!this._footer){this.schema=(this._footer=await this._readFooter()).schema;for(const n of this._footer.dictionaryBatches())n&&await this._readDictionaryBatch(this._dictionaryIndex++)}return await super.open(t)}async readRecordBatch(t){if(this.closed)return null;this._footer||await this.open();const n=this._footer&&this._footer.getRecordBatch(t);if(n&&await this._handle.seek(n.offset)){const r=await this._reader.readMessage(ge.RecordBatch);if(r&&r.isRecordBatch()){const i=r.header(),o=await this._reader.readMessageBody(r.bodyLength);return this._loadRecordBatch(i,o)}}return null}async _readDictionaryBatch(t){const n=this._footer&&this._footer.getDictionaryBatch(t);if(n&&await this._handle.seek(n.offset)){const r=await this._reader.readMessage(ge.DictionaryBatch);if(r&&r.isDictionaryBatch()){const i=r.header(),o=await this._reader.readMessageBody(r.bodyLength),s=this._loadDictionaryBatch(i,o);this.dictionaries.set(i.id,s)}}}async _readFooter(){const{_handle:t}=this;t._pending&&await t._pending;const n=t.size-$g,r=await t.readInt32(n),i=await t.readAt(n-r,r);return to.decode(i)}async _readNextMessageAndValidate(t){if(this._footer||await this.open(),this._footer&&this._recordBatchIndex<this.numRecordBatches){const n=this._footer.getRecordBatch(this._recordBatchIndex);if(n&&await this._handle.seek(n.offset))return await this._reader.readMessage(t)}return null}}class Ux extends Ta{constructor(t,n){super(t,n)}_loadVectors(t,n,r){return new NI(n,t.nodes,t.buffers,this.dictionaries).visitMany(r)}}function Am(e,t){return t&&typeof t.autoDestroy==\"boolean\"?t.autoDestroy:e.autoDestroy}function*Ad(e){const t=Rn.from(e);try{if(!t.open({autoDestroy:!1}).closed)do yield t;while(!t.reset().open().closed)}finally{t.cancel()}}async function*Ed(e){const t=await Rn.from(e);try{if(!(await t.open({autoDestroy:!1})).closed)do yield t;while(!(await t.reset().open()).closed)}finally{await t.cancel()}}function jx(e){return new Sa(new Ux(e))}function $x(e){const t=e.peek(So+7&-8);return t&&t.byteLength>=4?Fu(t)?new Tm(new Om(e.read())):new Sa(new Ta(e)):new Sa(new Ta(function*(){}()))}async function Vx(e){const t=await e.peek(So+7&-8);return t&&t.byteLength>=4?Fu(t)?new Tm(new Om(await e.read())):new Ia(new xa(e)):new Ia(new xa(async function*(){}()))}async function zx(e){const{size:t}=await e.stat(),n=new wa(e,t);return t>=mT&&Fu(await n.readAt(0,So+7&-8))?new _x(new Nx(n)):new Ia(new xa(n))}function kx(e,t){if(hr(e))return Wx(e,t);if(Mn(e))return Hx(e,t);throw new Error(\"toDOMStream() must be called with an Iterable or AsyncIterable\")}function Hx(e,t){let n=null;const r=t&&t.type===\"bytes\"||!1,i=t&&t.highWaterMark||2**24;return new ReadableStream({...t,start(s){o(s,n||(n=e[Symbol.iterator]()))},pull(s){n?o(s,n):s.close()},cancel(){(n&&n.return&&n.return()||!0)&&(n=null)}},{highWaterMark:r?i:void 0,...t});function o(s,a){let l,c=null,f=s.desiredSize||null;for(;!(c=a.next(r?f:null)).done;)if(ArrayBuffer.isView(c.value)&&(l=Qt(c.value))&&(f!=null&&r&&(f=f-l.byteLength+1),c.value=l),s.enqueue(c.value),f!=null&&--f<=0)return;s.close()}}function Wx(e,t){let n=null;const r=t&&t.type===\"bytes\"||!1,i=t&&t.highWaterMark||2**24;return new ReadableStream({...t,async start(s){await o(s,n||(n=e[Symbol.asyncIterator]()))},async pull(s){n?await o(s,n):s.close()},async cancel(){(n&&n.return&&await n.return()||!0)&&(n=null)}},{highWaterMark:r?i:void 0,...t});async function o(s,a){let l,c=null,f=s.desiredSize||null;for(;!(c=await a.next(r?f:null)).done;)if(ArrayBuffer.isView(c.value)&&(l=Qt(c.value))&&(f!=null&&r&&(f=f-l.byteLength+1),c.value=l),s.enqueue(c.value),f!=null&&--f<=0)return;s.close()}}function Yx(e){return new Gx(e)}class Gx{constructor(t){this._numChunks=0,this._finished=!1,this._bufferedSize=0;const{[\"readableStrategy\"]:n,[\"writableStrategy\"]:r,[\"queueingStrategy\"]:i=\"count\",...o}=t;this._controller=null,this._builder=Ce.new(o),this._getSize=i!==\"bytes\"?Cd:Bd;const{[\"highWaterMark\"]:s=i===\"bytes\"?2**14:1e3}={...n},{[\"highWaterMark\"]:a=i===\"bytes\"?2**14:1e3}={...r};this.readable=new ReadableStream({cancel:()=>{this._builder.clear()},pull:l=>{this._maybeFlush(this._builder,this._controller=l)},start:l=>{this._maybeFlush(this._builder,this._controller=l)}},{highWaterMark:s,size:i!==\"bytes\"?Cd:Bd}),this.writable=new WritableStream({abort:()=>{this._builder.clear()},write:()=>{this._maybeFlush(this._builder,this._controller)},close:()=>{this._maybeFlush(this._builder.finish(),this._controller)}},{highWaterMark:a,size:l=>this._writeValueAndReturnChunkSize(l)})}_writeValueAndReturnChunkSize(t){const n=this._bufferedSize;return this._bufferedSize=this._getSize(this._builder.append(t)),this._bufferedSize-n}_maybeFlush(t,n){n!==null&&(this._bufferedSize>=n.desiredSize&&++this._numChunks&&this._enqueue(n,t.toVector()),t.finished&&((t.length>0||this._numChunks===0)&&++this._numChunks&&this._enqueue(n,t.toVector()),!this._finished&&(this._finished=!0)&&this._enqueue(n,null)))}_enqueue(t,n){this._bufferedSize=0,this._controller=null,n===null?t.close():t.enqueue(n)}}const Cd=e=>e.length,Bd=e=>e.byteLength;function Kx(e,t){const n=new Ps;let r=null;const i=new ReadableStream({async cancel(){await n.close()},async start(a){await s(a,r||(r=await o()))},async pull(a){r?await s(a,r):a.close()}});return{writable:new WritableStream(n,{highWaterMark:2**14,...e}),readable:i};async function o(){return await(await Rn.from(n)).open(t)}async function s(a,l){let c=a.desiredSize,f=null;for(;!(f=await l.next()).done;)if(a.enqueue(f.value),c!=null&&--c<=0)return;a.close()}}function Xx(e,t){const n=new this(e),r=new pi(n),i=new ReadableStream({type:\"bytes\",async cancel(){await r.cancel()},async pull(s){await o(s)},async start(s){await o(s)}},{highWaterMark:2**14,...t});return{writable:new WritableStream(n,e),readable:i};async function o(s){let a=null,l=s.desiredSize;for(;a=await r.read(l||null);)if(s.enqueue(a),l!=null&&(l-=a.byteLength)<=0)return;s.close()}}class Vi{eq(t){return t instanceof Vi||(t=new zi(t)),new Jx(this,t)}le(t){return t instanceof Vi||(t=new zi(t)),new Zx(this,t)}ge(t){return t instanceof Vi||(t=new zi(t)),new Qx(this,t)}lt(t){return new Xo(this.ge(t))}gt(t){return new Xo(this.le(t))}ne(t){return new Xo(this.eq(t))}}class zi extends Vi{constructor(t){super(),this.v=t}}class Em extends Vi{constructor(t){super(),this.name=t}bind(t){if(!this.colidx){this.colidx=-1;const r=t.schema.fields;for(let i=-1;++i<r.length;)if(r[i].name===this.name){this.colidx=i;break}if(this.colidx<0)throw new Error(`Failed to bind Col \"${this.name}\"`)}const n=this.vector=t.getChildAt(this.colidx);return r=>n.get(r)}}class Wu{and(...t){return new Ku(this,...t)}or(...t){return new Xu(this,...t)}not(){return new Xo(this)}}class Yu extends Wu{constructor(t,n){super(),this.left=t,this.right=n}bind(t){return this.left instanceof zi?this.right instanceof zi?this._bindLitLit(t,this.left,this.right):this._bindLitCol(t,this.left,this.right):this.right instanceof zi?this._bindColLit(t,this.left,this.right):this._bindColCol(t,this.left,this.right)}}class Gu extends Wu{constructor(...t){super(),this.children=t}}Gu.prototype.children=Object.freeze([]);class Ku extends Gu{constructor(...t){t=t.reduce((n,r)=>n.concat(r instanceof Ku?r.children:r),[]),super(...t)}bind(t){const n=this.children.map(r=>r.bind(t));return(r,i)=>n.every(o=>o(r,i))}}class Xu extends Gu{constructor(...t){t=t.reduce((n,r)=>n.concat(r instanceof Xu?r.children:r),[]),super(...t)}bind(t){const n=this.children.map(r=>r.bind(t));return(r,i)=>n.some(o=>o(r,i))}}class Jx extends Yu{_bindLitLit(t,n,r){const i=n.v==r.v;return()=>i}_bindColCol(t,n,r){const i=n.bind(t),o=r.bind(t);return(s,a)=>i(s,a)==o(s,a)}_bindColLit(t,n,r){const i=n.bind(t);if(n.vector instanceof Uu){let o;const s=n.vector;return s.dictionary!==this.lastDictionary?(o=s.reverseLookup(r.v),this.lastDictionary=s.dictionary,this.lastKey=o):o=this.lastKey,o===-1?()=>!1:a=>s.getKey(a)===o}else return(o,s)=>i(o,s)==r.v}_bindLitCol(t,n,r){return this._bindColLit(t,r,n)}}class Zx extends Yu{_bindLitLit(t,n,r){const i=n.v<=r.v;return()=>i}_bindColCol(t,n,r){const i=n.bind(t),o=r.bind(t);return(s,a)=>i(s,a)<=o(s,a)}_bindColLit(t,n,r){const i=n.bind(t);return(o,s)=>i(o,s)<=r.v}_bindLitCol(t,n,r){const i=r.bind(t);return(o,s)=>n.v<=i(o,s)}}class Qx extends Yu{_bindLitLit(t,n,r){const i=n.v>=r.v;return()=>i}_bindColCol(t,n,r){const i=n.bind(t),o=r.bind(t);return(s,a)=>i(s,a)>=o(s,a)}_bindColLit(t,n,r){const i=n.bind(t);return(o,s)=>i(o,s)>=r.v}_bindLitCol(t,n,r){const i=r.bind(t);return(o,s)=>n.v>=i(o,s)}}class Xo extends Wu{constructor(t){super(),this.child=t}bind(t){const n=this.child.bind(t);return(r,i)=>!n(r,i)}}oe.prototype.countBy=function(e){return new xo(this.chunks).countBy(e)};oe.prototype.scan=function(e,t){return new xo(this.chunks).scan(e,t)};oe.prototype.scanReverse=function(e,t){return new xo(this.chunks).scanReverse(e,t)};oe.prototype.filter=function(e){return new xo(this.chunks).filter(e)};class xo extends oe{filter(t){return new Ju(this.chunks,t)}scan(t,n){const r=this.chunks,i=r.length;for(let o=-1;++o<i;){const s=r[o];n&&n(s);for(let a=-1,l=s.length;++a<l;)t(a,s)}}scanReverse(t,n){const r=this.chunks,i=r.length;for(let o=i;--o>=0;){const s=r[o];n&&n(s);for(let a=s.length;--a>=0;)t(a,s)}}countBy(t){const n=this.chunks,r=n.length,i=typeof t==\"string\"?new Em(t):t;i.bind(n[r-1]);const o=i.vector;if(!Wt.isDictionary(o.type))throw new Error(\"countBy currently only supports dictionary-encoded columns\");const s=Math.ceil(Math.log(o.length)/Math.log(256)),a=s==4?Uint32Array:s>=2?Uint16Array:Uint8Array,l=new a(o.dictionary.length);for(let c=-1;++c<r;){const f=n[c];i.bind(f);const d=i.vector.indices;for(let h=-1,p=f.length;++h<p;){let b=d.get(h);b!==null&&l[b]++}}return new Cm(o.dictionary,Un.from(l))}}class Cm extends oe{constructor(t,n){const r=new pe([new ie(\"values\",t.type),new ie(\"counts\",n.type)]);super(new en(r,n.length,[t,n]))}toJSON(){const t=this.getColumnAt(0),n=this.getColumnAt(1),r={};for(let i=-1;++i<this.length;)r[t.get(i)]=n.get(i);return r}}class Ju extends xo{constructor(t,n){super(t),this._predicate=n}scan(t,n){const r=this._chunks,i=r.length;for(let o=-1;++o<i;){const s=r[o],a=this._predicate.bind(s);let l=!1;for(let c=-1,f=s.length;++c<f;)a(c,s)&&(n&&!l&&(n(s),l=!0),t(c,s))}}scanReverse(t,n){const r=this._chunks,i=r.length;for(let o=i;--o>=0;){const s=r[o],a=this._predicate.bind(s);let l=!1;for(let c=s.length;--c>=0;)a(c,s)&&(n&&!l&&(n(s),l=!0),t(c,s))}}count(){let t=0;const n=this._chunks,r=n.length;for(let i=-1;++i<r;){const o=n[i],s=this._predicate.bind(o);for(let a=-1,l=o.length;++a<l;)s(a,o)&&++t}return t}*[Symbol.iterator](){const t=this._chunks,n=t.length;for(let r=-1;++r<n;){const i=t[r],o=this._predicate.bind(i);for(let s=-1,a=i.length;++s<a;)o(s,i)&&(yield i.get(s))}}filter(t){return new Ju(this._chunks,this._predicate.and(t))}countBy(t){const n=this._chunks,r=n.length,i=typeof t==\"string\"?new Em(t):t;i.bind(n[r-1]);const o=i.vector;if(!Wt.isDictionary(o.type))throw new Error(\"countBy currently only supports dictionary-encoded columns\");const s=Math.ceil(Math.log(o.length)/Math.log(256)),a=s==4?Uint32Array:s>=2?Uint16Array:Uint8Array,l=new a(o.dictionary.length);for(let c=-1;++c<r;){const f=n[c],d=this._predicate.bind(f);i.bind(f);const h=i.vector.indices;for(let p=-1,b=f.length;++p<b;){let A=h.get(p);A!==null&&d(p,f)&&l[A]++}}return new Cm(o.dictionary,Un.from(l))}}({...yS,..._I,...kw,...hS,...Nw,...WS});dn.toDOMStream=kx;Ce.throughDOM=Yx;Rn.throughDOM=Kx;Ru.throughDOM=Xx;/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */var Fd=function(){function e(t,n,r,i){var o=this;this.getCell=function(s,a){var l=s<o.headerRows&&a<o.headerColumns,c=s>=o.headerRows&&a<o.headerColumns,f=s<o.headerRows&&a>=o.headerColumns;if(l){var d=[\"blank\"];return a>0&&d.push(\"level\"+s),{type:\"blank\",classNames:d.join(\" \"),content:\"\"}}else if(f){var h=a-o.headerColumns,d=[\"col_heading\",\"level\"+s,\"col\"+h];return{type:\"columns\",classNames:d.join(\" \"),content:o.getContent(o.columnsTable,h,s)}}else if(c){var p=s-o.headerRows,d=[\"row_heading\",\"level\"+a,\"row\"+p];return{type:\"index\",id:\"T_\"+o.uuid+\"level\"+a+\"_row\"+p,classNames:d.join(\" \"),content:o.getContent(o.indexTable,p,a)}}else{var p=s-o.headerRows,h=a-o.headerColumns,d=[\"data\",\"row\"+p,\"col\"+h],b=o.styler?o.getContent(o.styler.displayValuesTable,p,h):o.getContent(o.dataTable,p,h);return{type:\"data\",id:\"T_\"+o.uuid+\"row\"+p+\"_col\"+h,classNames:d.join(\" \"),content:b}}},this.getContent=function(s,a,l){var c=s.getColumnAt(l);if(c===null)return\"\";var f=o.getColumnTypeId(s,l);switch(f){case D.Timestamp:return o.nanosToDate(c.get(a));default:return c.get(a)}},this.dataTable=oe.from(t),this.indexTable=oe.from(n),this.columnsTable=oe.from(r),this.styler=i?{caption:i.caption,displayValuesTable:oe.from(i.displayValues),styles:i.styles,uuid:i.uuid}:void 0}return Object.defineProperty(e.prototype,\"rows\",{get:function(){return this.indexTable.length+this.columnsTable.numCols},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"columns\",{get:function(){return this.indexTable.numCols+this.columnsTable.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"headerRows\",{get:function(){return this.rows-this.dataRows},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"headerColumns\",{get:function(){return this.columns-this.dataColumns},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"dataRows\",{get:function(){return this.dataTable.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"dataColumns\",{get:function(){return this.dataTable.numCols},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"uuid\",{get:function(){return this.styler&&this.styler.uuid},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"caption\",{get:function(){return this.styler&&this.styler.caption},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"styles\",{get:function(){return this.styler&&this.styler.styles},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"table\",{get:function(){return this.dataTable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"index\",{get:function(){return this.indexTable},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,\"columnTable\",{get:function(){return this.columnsTable},enumerable:!0,configurable:!0}),e.prototype.serialize=function(){return{data:this.dataTable.serialize(),index:this.indexTable.serialize(),columns:this.columnsTable.serialize()}},e.prototype.getColumnTypeId=function(t,n){return t.schema.fields[n].type.typeId},e.prototype.nanosToDate=function(t){return new Date(t/1e6)},e}();/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */var Ls=globalThis&&globalThis.__assign||function(){return Ls=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++){t=arguments[n];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i])}return e},Ls.apply(this,arguments)},_s;(function(e){e.COMPONENT_READY=\"streamlit:componentReady\",e.SET_COMPONENT_VALUE=\"streamlit:setComponentValue\",e.SET_FRAME_HEIGHT=\"streamlit:setFrameHeight\"})(_s||(_s={}));var Sn=function(){function e(){}return e.API_VERSION=1,e.RENDER_EVENT=\"streamlit:render\",e.events=new $r,e.registeredMessageListener=!1,e.setComponentReady=function(){e.registeredMessageListener||(window.addEventListener(\"message\",e.onMessageEvent),e.registeredMessageListener=!0),e.sendBackMsg(_s.COMPONENT_READY,{apiVersion:e.API_VERSION})},e.setFrameHeight=function(t){t===void 0&&(t=document.body.scrollHeight),t!==e.lastFrameHeight&&(e.lastFrameHeight=t,e.sendBackMsg(_s.SET_FRAME_HEIGHT,{height:t}))},e.setComponentValue=function(t){var n;t instanceof Fd?(n=\"dataframe\",t=t.serialize()):tO(t)?(n=\"bytes\",t=new Uint8Array(t.buffer)):t instanceof ArrayBuffer?(n=\"bytes\",t=new Uint8Array(t)):n=\"json\",e.sendBackMsg(_s.SET_COMPONENT_VALUE,{value:t,dataType:n})},e.onMessageEvent=function(t){var n=t.data.type;switch(n){case e.RENDER_EVENT:e.onRenderMessage(t.data);break}},e.onRenderMessage=function(t){var n=t.args;n==null&&(console.error(\"Got null args in onRenderMessage. This should never happen\"),n={});var r=t.dfs&&t.dfs.length>0?e.argsDataframeToObject(t.dfs):{};n=Ls(Ls({},n),r);var i=Boolean(t.disabled),o=t.theme;o&&qx(o);var s={disabled:i,args:n,theme:o},a=new CustomEvent(e.RENDER_EVENT,{detail:s});e.events.dispatchEvent(a)},e.argsDataframeToObject=function(t){var n=t.map(function(r){var i=r.key,o=r.value;return[i,e.toArrowTable(o)]});return Object.fromEntries(n)},e.toArrowTable=function(t){var n=t.data,r=n.data,i=n.index,o=n.columns,s=n.styler;return new Fd(r,i,o,s)},e.sendBackMsg=function(t,n){window.parent.postMessage(Ls({isStreamlitMessage:!0,type:t},n),\"*\")},e}(),qx=function(e){var t=document.createElement(\"style\");document.head.appendChild(t),t.innerHTML=`\n    :root {\n      --primary-color: `+e.primaryColor+`;\n      --background-color: `+e.backgroundColor+`;\n      --secondary-background-color: `+e.secondaryBackgroundColor+`;\n      --text-color: `+e.textColor+`;\n      --font: `+e.font+`;\n    }\n\n    body {\n      background-color: var(--background-color);\n      color: var(--text-color);\n    }\n  `};function tO(e){var t=!1;try{t=e instanceof BigInt64Array||e instanceof BigUint64Array}catch{}return e instanceof Int8Array||e instanceof Uint8Array||e instanceof Uint8ClampedArray||e instanceof Int16Array||e instanceof Uint16Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Float32Array||e instanceof Float64Array||t}/**\n * @license\n * Copyright 2018-2021 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */var eO=globalThis&&globalThis.__extends||function(){var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,i){r.__proto__=i}||function(r,i){for(var o in i)i.hasOwnProperty(o)&&(r[o]=i[o])},e(t,n)};return function(t,n){e(t,n);function r(){this.constructor=t}t.prototype=n===null?Object.create(n):(r.prototype=n.prototype,new r)}}();(function(e){eO(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.componentDidMount=function(){Sn.setFrameHeight()},t.prototype.componentDidUpdate=function(){Sn.setFrameHeight()},t})(K0.PureComponent);function nO(){Si(()=>{Sn.setFrameHeight()}),ls(()=>{Sn.setFrameHeight()})}var Bm={exports:{}},rO=P0(R0);(function(e){e.exports=function(t){var n={};function r(i){if(n[i])return n[i].exports;var o=n[i]={i,l:!1,exports:{}};return t[i].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=n,r.d=function(i,o,s){r.o(i,o)||Object.defineProperty(i,o,{enumerable:!0,get:s})},r.r=function(i){typeof Symbol!=\"undefined\"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(i,\"__esModule\",{value:!0})},r.t=function(i,o){if(o&1&&(i=r(i)),o&8||o&4&&typeof i==\"object\"&&i&&i.__esModule)return i;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,\"default\",{enumerable:!0,value:i}),o&2&&typeof i!=\"string\")for(var a in i)r.d(s,a,function(l){return i[l]}.bind(null,a));return s},r.n=function(i){var o=i&&i.__esModule?function(){return i.default}:function(){return i};return r.d(o,\"a\",o),o},r.o=function(i,o){return Object.prototype.hasOwnProperty.call(i,o)},r.p=\"\",r(r.s=\"fb15\")}({\"00ee\":function(t,n,r){var i=r(\"b622\"),o=i(\"toStringTag\"),s={};s[o]=\"z\",t.exports=String(s)===\"[object z]\"},\"0366\":function(t,n,r){var i=r(\"1c0b\");t.exports=function(o,s,a){if(i(o),s===void 0)return o;switch(a){case 0:return function(){return o.call(s)};case 1:return function(l){return o.call(s,l)};case 2:return function(l,c){return o.call(s,l,c)};case 3:return function(l,c,f){return o.call(s,l,c,f)}}return function(){return o.apply(s,arguments)}}},\"0538\":function(t,n,r){var i=r(\"1c0b\"),o=r(\"861d\"),s=[].slice,a={},l=function(c,f,d){if(!(f in a)){for(var h=[],p=0;p<f;p++)h[p]=\"a[\"+p+\"]\";a[f]=Function(\"C,a\",\"return new C(\"+h.join(\",\")+\")\")}return a[f](c,d)};t.exports=Function.bind||function(f){var d=i(this),h=s.call(arguments,1),p=function(){var A=h.concat(s.call(arguments));return this instanceof p?l(d,A.length,A):d.apply(f,A)};return o(d.prototype)&&(p.prototype=d.prototype),p}},\"057f\":function(t,n,r){var i=r(\"fc6a\"),o=r(\"241c\").f,s={}.toString,a=typeof window==\"object\"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],l=function(c){try{return o(c)}catch{return a.slice()}};t.exports.f=function(f){return a&&s.call(f)==\"[object Window]\"?l(f):o(i(f))}},\"06cf\":function(t,n,r){var i=r(\"83ab\"),o=r(\"d1e7\"),s=r(\"5c6c\"),a=r(\"fc6a\"),l=r(\"c04e\"),c=r(\"5135\"),f=r(\"0cfb\"),d=Object.getOwnPropertyDescriptor;n.f=i?d:function(p,b){if(p=a(p),b=l(b,!0),f)try{return d(p,b)}catch{}if(c(p,b))return s(!o.f.call(p,b),p[b])}},\"0cb2\":function(t,n,r){var i=r(\"7b0b\"),o=Math.floor,s=\"\".replace,a=/\\$([$&'`]|\\d{1,2}|<[^>]*>)/g,l=/\\$([$&'`]|\\d{1,2})/g;t.exports=function(c,f,d,h,p,b){var A=d+c.length,F=h.length,O=l;return p!==void 0&&(p=i(p),O=a),s.call(b,O,function(m,I){var E;switch(I.charAt(0)){case\"$\":return\"$\";case\"&\":return c;case\"`\":return f.slice(0,d);case\"'\":return f.slice(A);case\"<\":E=p[I.slice(1,-1)];break;default:var N=+I;if(N===0)return m;if(N>F){var P=o(N/10);return P===0?m:P<=F?h[P-1]===void 0?I.charAt(1):h[P-1]+I.charAt(1):m}E=h[N-1]}return E===void 0?\"\":E})}},\"0cfb\":function(t,n,r){var i=r(\"83ab\"),o=r(\"d039\"),s=r(\"cc12\");t.exports=!i&&!o(function(){return Object.defineProperty(s(\"div\"),\"a\",{get:function(){return 7}}).a!=7})},1276:function(t,n,r){var i=r(\"d784\"),o=r(\"44e7\"),s=r(\"825a\"),a=r(\"1d80\"),l=r(\"4840\"),c=r(\"8aa5\"),f=r(\"50c4\"),d=r(\"14c3\"),h=r(\"9263\"),p=r(\"9f7f\"),b=p.UNSUPPORTED_Y,A=[].push,F=Math.min,O=4294967295;i(\"split\",2,function(m,I,E){var N;return\"abbc\".split(/(b)*/)[1]==\"c\"||\"test\".split(/(?:)/,-1).length!=4||\"ab\".split(/(?:ab)*/).length!=2||\".\".split(/(.?)(.?)/).length!=4||\".\".split(/()()/).length>1||\"\".split(/.?/).length?N=function(P,R){var C=String(a(this)),L=R===void 0?O:R>>>0;if(L===0)return[];if(P===void 0)return[C];if(!o(P))return I.call(C,P,L);for(var U=[],z=(P.ignoreCase?\"i\":\"\")+(P.multiline?\"m\":\"\")+(P.unicode?\"u\":\"\")+(P.sticky?\"y\":\"\"),V=0,rt=new RegExp(P.source,z+\"g\"),Q,bt,st;(Q=h.call(rt,C))&&(bt=rt.lastIndex,!(bt>V&&(U.push(C.slice(V,Q.index)),Q.length>1&&Q.index<C.length&&A.apply(U,Q.slice(1)),st=Q[0].length,V=bt,U.length>=L)));)rt.lastIndex===Q.index&&rt.lastIndex++;return V===C.length?(st||!rt.test(\"\"))&&U.push(\"\"):U.push(C.slice(V)),U.length>L?U.slice(0,L):U}:\"0\".split(void 0,0).length?N=function(P,R){return P===void 0&&R===0?[]:I.call(this,P,R)}:N=I,[function(R,C){var L=a(this),U=R==null?void 0:R[m];return U!==void 0?U.call(R,L,C):N.call(String(L),R,C)},function(P,R){var C=E(N,P,this,R,N!==I);if(C.done)return C.value;var L=s(P),U=String(this),z=l(L,RegExp),V=L.unicode,rt=(L.ignoreCase?\"i\":\"\")+(L.multiline?\"m\":\"\")+(L.unicode?\"u\":\"\")+(b?\"g\":\"y\"),Q=new z(b?\"^(?:\"+L.source+\")\":L,rt),bt=R===void 0?O:R>>>0;if(bt===0)return[];if(U.length===0)return d(Q,U)===null?[U]:[];for(var st=0,pt=0,dt=[];pt<U.length;){Q.lastIndex=b?0:pt;var qt=d(Q,b?U.slice(pt):U),Ft;if(qt===null||(Ft=F(f(Q.lastIndex+(b?pt:0)),U.length))===st)pt=c(U,pt,V);else{if(dt.push(U.slice(st,pt)),dt.length===bt)return dt;for(var se=1;se<=qt.length-1;se++)if(dt.push(qt[se]),dt.length===bt)return dt;pt=st=Ft}}return dt.push(U.slice(st)),dt}]},b)},\"14c3\":function(t,n,r){var i=r(\"c6b6\"),o=r(\"9263\");t.exports=function(s,a){var l=s.exec;if(typeof l==\"function\"){var c=l.call(s,a);if(typeof c!=\"object\")throw TypeError(\"RegExp exec method returned something other than an Object or null\");return c}if(i(s)!==\"RegExp\")throw TypeError(\"RegExp#exec called on incompatible receiver\");return o.call(s,a)}},\"159b\":function(t,n,r){var i=r(\"da84\"),o=r(\"fdbc\"),s=r(\"17c2\"),a=r(\"9112\");for(var l in o){var c=i[l],f=c&&c.prototype;if(f&&f.forEach!==s)try{a(f,\"forEach\",s)}catch{f.forEach=s}}},\"17c2\":function(t,n,r){var i=r(\"b727\").forEach,o=r(\"a640\"),s=o(\"forEach\");t.exports=s?[].forEach:function(l){return i(this,l,arguments.length>1?arguments[1]:void 0)}},\"19aa\":function(t,n){t.exports=function(r,i,o){if(!(r instanceof i))throw TypeError(\"Incorrect \"+(o?o+\" \":\"\")+\"invocation\");return r}},\"1be4\":function(t,n,r){var i=r(\"d066\");t.exports=i(\"document\",\"documentElement\")},\"1c0b\":function(t,n){t.exports=function(r){if(typeof r!=\"function\")throw TypeError(String(r)+\" is not a function\");return r}},\"1c7e\":function(t,n,r){var i=r(\"b622\"),o=i(\"iterator\"),s=!1;try{var a=0,l={next:function(){return{done:!!a++}},return:function(){s=!0}};l[o]=function(){return this},Array.from(l,function(){throw 2})}catch{}t.exports=function(c,f){if(!f&&!s)return!1;var d=!1;try{var h={};h[o]=function(){return{next:function(){return{done:d=!0}}}},c(h)}catch{}return d}},\"1cdc\":function(t,n,r){var i=r(\"342f\");t.exports=/(?:iphone|ipod|ipad).*applewebkit/i.test(i)},\"1d80\":function(t,n){t.exports=function(r){if(r==null)throw TypeError(\"Can't call method on \"+r);return r}},\"1dde\":function(t,n,r){var i=r(\"d039\"),o=r(\"b622\"),s=r(\"2d00\"),a=o(\"species\");t.exports=function(l){return s>=51||!i(function(){var c=[],f=c.constructor={};return f[a]=function(){return{foo:1}},c[l](Boolean).foo!==1})}},2266:function(t,n,r){var i=r(\"825a\"),o=r(\"e95a\"),s=r(\"50c4\"),a=r(\"0366\"),l=r(\"35a1\"),c=r(\"2a62\"),f=function(d,h){this.stopped=d,this.result=h};t.exports=function(d,h,p){var b=p&&p.that,A=!!(p&&p.AS_ENTRIES),F=!!(p&&p.IS_ITERATOR),O=!!(p&&p.INTERRUPTED),m=a(h,b,1+A+O),I,E,N,P,R,C,L,U=function(V){return I&&c(I),new f(!0,V)},z=function(V){return A?(i(V),O?m(V[0],V[1],U):m(V[0],V[1])):O?m(V,U):m(V)};if(F)I=d;else{if(E=l(d),typeof E!=\"function\")throw TypeError(\"Target is not iterable\");if(o(E)){for(N=0,P=s(d.length);P>N;N++)if(R=z(d[N]),R&&R instanceof f)return R;return new f(!1)}I=E.call(d)}for(C=I.next;!(L=C.call(I)).done;){try{R=z(L.value)}catch(V){throw c(I),V}if(typeof R==\"object\"&&R&&R instanceof f)return R}return new f(!1)}},\"23cb\":function(t,n,r){var i=r(\"a691\"),o=Math.max,s=Math.min;t.exports=function(a,l){var c=i(a);return c<0?o(c+l,0):s(c,l)}},\"23e7\":function(t,n,r){var i=r(\"da84\"),o=r(\"06cf\").f,s=r(\"9112\"),a=r(\"6eeb\"),l=r(\"ce4e\"),c=r(\"e893\"),f=r(\"94ca\");t.exports=function(d,h){var p=d.target,b=d.global,A=d.stat,F,O,m,I,E,N;if(b?O=i:A?O=i[p]||l(p,{}):O=(i[p]||{}).prototype,O)for(m in h){if(E=h[m],d.noTargetGet?(N=o(O,m),I=N&&N.value):I=O[m],F=f(b?m:p+(A?\".\":\"#\")+m,d.forced),!F&&I!==void 0){if(typeof E==typeof I)continue;c(E,I)}(d.sham||I&&I.sham)&&s(E,\"sham\",!0),a(O,m,E,d)}}},\"241c\":function(t,n,r){var i=r(\"ca84\"),o=r(\"7839\"),s=o.concat(\"length\",\"prototype\");n.f=Object.getOwnPropertyNames||function(l){return i(l,s)}},\"25f0\":function(t,n,r){var i=r(\"6eeb\"),o=r(\"825a\"),s=r(\"d039\"),a=r(\"ad6d\"),l=\"toString\",c=RegExp.prototype,f=c[l],d=s(function(){return f.call({source:\"a\",flags:\"b\"})!=\"/a/b\"}),h=f.name!=l;(d||h)&&i(RegExp.prototype,l,function(){var b=o(this),A=String(b.source),F=b.flags,O=String(F===void 0&&b instanceof RegExp&&!(\"flags\"in c)?a.call(b):F);return\"/\"+A+\"/\"+O},{unsafe:!0})},2626:function(t,n,r){var i=r(\"d066\"),o=r(\"9bf2\"),s=r(\"b622\"),a=r(\"83ab\"),l=s(\"species\");t.exports=function(c){var f=i(c),d=o.f;a&&f&&!f[l]&&d(f,l,{configurable:!0,get:function(){return this}})}},\"2a62\":function(t,n,r){var i=r(\"825a\");t.exports=function(o){var s=o.return;if(s!==void 0)return i(s.call(o)).value}},\"2cf4\":function(t,n,r){var i=r(\"da84\"),o=r(\"d039\"),s=r(\"0366\"),a=r(\"1be4\"),l=r(\"cc12\"),c=r(\"1cdc\"),f=r(\"605d\"),d=i.location,h=i.setImmediate,p=i.clearImmediate,b=i.process,A=i.MessageChannel,F=i.Dispatch,O=0,m={},I=\"onreadystatechange\",E,N,P,R=function(z){if(m.hasOwnProperty(z)){var V=m[z];delete m[z],V()}},C=function(z){return function(){R(z)}},L=function(z){R(z.data)},U=function(z){i.postMessage(z+\"\",d.protocol+\"//\"+d.host)};(!h||!p)&&(h=function(V){for(var rt=[],Q=1;arguments.length>Q;)rt.push(arguments[Q++]);return m[++O]=function(){(typeof V==\"function\"?V:Function(V)).apply(void 0,rt)},E(O),O},p=function(V){delete m[V]},f?E=function(z){b.nextTick(C(z))}:F&&F.now?E=function(z){F.now(C(z))}:A&&!c?(N=new A,P=N.port2,N.port1.onmessage=L,E=s(P.postMessage,P,1)):i.addEventListener&&typeof postMessage==\"function\"&&!i.importScripts&&d&&d.protocol!==\"file:\"&&!o(U)?(E=U,i.addEventListener(\"message\",L,!1)):I in l(\"script\")?E=function(z){a.appendChild(l(\"script\"))[I]=function(){a.removeChild(this),R(z)}}:E=function(z){setTimeout(C(z),0)}),t.exports={set:h,clear:p}},\"2d00\":function(t,n,r){var i=r(\"da84\"),o=r(\"342f\"),s=i.process,a=s&&s.versions,l=a&&a.v8,c,f;l?(c=l.split(\".\"),f=c[0]+c[1]):o&&(c=o.match(/Edge\\/(\\d+)/),(!c||c[1]>=74)&&(c=o.match(/Chrome\\/(\\d+)/),c&&(f=c[1]))),t.exports=f&&+f},3410:function(t,n,r){var i=r(\"23e7\"),o=r(\"d039\"),s=r(\"7b0b\"),a=r(\"e163\"),l=r(\"e177\"),c=o(function(){a(1)});i({target:\"Object\",stat:!0,forced:c,sham:!l},{getPrototypeOf:function(d){return a(s(d))}})},\"342f\":function(t,n,r){var i=r(\"d066\");t.exports=i(\"navigator\",\"userAgent\")||\"\"},\"35a1\":function(t,n,r){var i=r(\"f5df\"),o=r(\"3f8c\"),s=r(\"b622\"),a=s(\"iterator\");t.exports=function(l){if(l!=null)return l[a]||l[\"@@iterator\"]||o[i(l)]}},\"37e8\":function(t,n,r){var i=r(\"83ab\"),o=r(\"9bf2\"),s=r(\"825a\"),a=r(\"df75\");t.exports=i?Object.defineProperties:function(c,f){s(c);for(var d=a(f),h=d.length,p=0,b;h>p;)o.f(c,b=d[p++],f[b]);return c}},\"3bbe\":function(t,n,r){var i=r(\"861d\");t.exports=function(o){if(!i(o)&&o!==null)throw TypeError(\"Can't set \"+String(o)+\" as a prototype\");return o}},\"3ca3\":function(t,n,r){var i=r(\"6547\").charAt,o=r(\"69f3\"),s=r(\"7dd0\"),a=\"String Iterator\",l=o.set,c=o.getterFor(a);s(String,\"String\",function(f){l(this,{type:a,string:String(f),index:0})},function(){var d=c(this),h=d.string,p=d.index,b;return p>=h.length?{value:void 0,done:!0}:(b=i(h,p),d.index+=b.length,{value:b,done:!1})})},\"3f8c\":function(t,n){t.exports={}},\"428f\":function(t,n,r){var i=r(\"da84\");t.exports=i},\"44ad\":function(t,n,r){var i=r(\"d039\"),o=r(\"c6b6\"),s=\"\".split;t.exports=i(function(){return!Object(\"z\").propertyIsEnumerable(0)})?function(a){return o(a)==\"String\"?s.call(a,\"\"):Object(a)}:Object},\"44d2\":function(t,n,r){var i=r(\"b622\"),o=r(\"7c73\"),s=r(\"9bf2\"),a=i(\"unscopables\"),l=Array.prototype;l[a]==null&&s.f(l,a,{configurable:!0,value:o(null)}),t.exports=function(c){l[a][c]=!0}},\"44de\":function(t,n,r){var i=r(\"da84\");t.exports=function(o,s){var a=i.console;a&&a.error&&(arguments.length===1?a.error(o):a.error(o,s))}},\"44e7\":function(t,n,r){var i=r(\"861d\"),o=r(\"c6b6\"),s=r(\"b622\"),a=s(\"match\");t.exports=function(l){var c;return i(l)&&((c=l[a])!==void 0?!!c:o(l)==\"RegExp\")}},\"466d\":function(t,n,r){var i=r(\"d784\"),o=r(\"825a\"),s=r(\"50c4\"),a=r(\"1d80\"),l=r(\"8aa5\"),c=r(\"14c3\");i(\"match\",1,function(f,d,h){return[function(b){var A=a(this),F=b==null?void 0:b[f];return F!==void 0?F.call(b,A):new RegExp(b)[f](String(A))},function(p){var b=h(d,p,this);if(b.done)return b.value;var A=o(p),F=String(this);if(!A.global)return c(A,F);var O=A.unicode;A.lastIndex=0;for(var m=[],I=0,E;(E=c(A,F))!==null;){var N=String(E[0]);m[I]=N,N===\"\"&&(A.lastIndex=l(F,s(A.lastIndex),O)),I++}return I===0?null:m}]})},4840:function(t,n,r){var i=r(\"825a\"),o=r(\"1c0b\"),s=r(\"b622\"),a=s(\"species\");t.exports=function(l,c){var f=i(l).constructor,d;return f===void 0||(d=i(f)[a])==null?c:o(d)}},4930:function(t,n,r){var i=r(\"605d\"),o=r(\"2d00\"),s=r(\"d039\");t.exports=!!Object.getOwnPropertySymbols&&!s(function(){return!Symbol.sham&&(i?o===38:o>37&&o<41)})},\"4ae1\":function(t,n,r){var i=r(\"23e7\"),o=r(\"d066\"),s=r(\"1c0b\"),a=r(\"825a\"),l=r(\"861d\"),c=r(\"7c73\"),f=r(\"0538\"),d=r(\"d039\"),h=o(\"Reflect\",\"construct\"),p=d(function(){function F(){}return!(h(function(){},[],F)instanceof F)}),b=!d(function(){h(function(){})}),A=p||b;i({target:\"Reflect\",stat:!0,forced:A,sham:A},{construct:function(O,m){s(O),a(m);var I=arguments.length<3?O:s(arguments[2]);if(b&&!p)return h(O,m,I);if(O==I){switch(m.length){case 0:return new O;case 1:return new O(m[0]);case 2:return new O(m[0],m[1]);case 3:return new O(m[0],m[1],m[2]);case 4:return new O(m[0],m[1],m[2],m[3])}var E=[null];return E.push.apply(E,m),new(f.apply(O,E))}var N=I.prototype,P=c(l(N)?N:Object.prototype),R=Function.apply.call(O,P,m);return l(R)?R:P}})},\"4d64\":function(t,n,r){var i=r(\"fc6a\"),o=r(\"50c4\"),s=r(\"23cb\"),a=function(l){return function(c,f,d){var h=i(c),p=o(h.length),b=s(d,p),A;if(l&&f!=f){for(;p>b;)if(A=h[b++],A!=A)return!0}else for(;p>b;b++)if((l||b in h)&&h[b]===f)return l||b||0;return!l&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},\"4de4\":function(t,n,r){var i=r(\"23e7\"),o=r(\"b727\").filter,s=r(\"1dde\"),a=s(\"filter\");i({target:\"Array\",proto:!0,forced:!a},{filter:function(c){return o(this,c,arguments.length>1?arguments[1]:void 0)}})},\"4df4\":function(t,n,r){var i=r(\"0366\"),o=r(\"7b0b\"),s=r(\"9bdd\"),a=r(\"e95a\"),l=r(\"50c4\"),c=r(\"8418\"),f=r(\"35a1\");t.exports=function(h){var p=o(h),b=typeof this==\"function\"?this:Array,A=arguments.length,F=A>1?arguments[1]:void 0,O=F!==void 0,m=f(p),I=0,E,N,P,R,C,L;if(O&&(F=i(F,A>2?arguments[2]:void 0,2)),m!=null&&!(b==Array&&a(m)))for(R=m.call(p),C=R.next,N=new b;!(P=C.call(R)).done;I++)L=O?s(R,F,[P.value,I],!0):P.value,c(N,I,L);else for(E=l(p.length),N=new b(E);E>I;I++)L=O?F(p[I],I):p[I],c(N,I,L);return N.length=I,N}},\"50c4\":function(t,n,r){var i=r(\"a691\"),o=Math.min;t.exports=function(s){return s>0?o(i(s),9007199254740991):0}},5135:function(t,n){var r={}.hasOwnProperty;t.exports=function(i,o){return r.call(i,o)}},5319:function(t,n,r){var i=r(\"d784\"),o=r(\"825a\"),s=r(\"50c4\"),a=r(\"a691\"),l=r(\"1d80\"),c=r(\"8aa5\"),f=r(\"0cb2\"),d=r(\"14c3\"),h=Math.max,p=Math.min,b=function(A){return A===void 0?A:String(A)};i(\"replace\",2,function(A,F,O,m){var I=m.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,E=m.REPLACE_KEEPS_$0,N=I?\"$\":\"$0\";return[function(R,C){var L=l(this),U=R==null?void 0:R[A];return U!==void 0?U.call(R,L,C):F.call(String(L),R,C)},function(P,R){if(!I&&E||typeof R==\"string\"&&R.indexOf(N)===-1){var C=O(F,P,this,R);if(C.done)return C.value}var L=o(P),U=String(this),z=typeof R==\"function\";z||(R=String(R));var V=L.global;if(V){var rt=L.unicode;L.lastIndex=0}for(var Q=[];;){var bt=d(L,U);if(bt===null||(Q.push(bt),!V))break;var st=String(bt[0]);st===\"\"&&(L.lastIndex=c(U,s(L.lastIndex),rt))}for(var pt=\"\",dt=0,qt=0;qt<Q.length;qt++){bt=Q[qt];for(var Ft=String(bt[0]),se=h(p(a(bt.index),U.length),0),ce=[],It=1;It<bt.length;It++)ce.push(b(bt[It]));var Yt=bt.groups;if(z){var we=[Ft].concat(ce,se,U);Yt!==void 0&&we.push(Yt);var Oe=String(R.apply(void 0,we))}else Oe=f(Ft,U,se,ce,Yt,R);se>=dt&&(pt+=U.slice(dt,se)+Oe,dt=se+Ft.length)}return pt+U.slice(dt)}]})},5692:function(t,n,r){var i=r(\"c430\"),o=r(\"c6cd\");(t.exports=function(s,a){return o[s]||(o[s]=a!==void 0?a:{})})(\"versions\",[]).push({version:\"3.10.1\",mode:i?\"pure\":\"global\",copyright:\"\\xA9 2021 Denis Pushkarev (zloirock.ru)\"})},\"56ef\":function(t,n,r){var i=r(\"d066\"),o=r(\"241c\"),s=r(\"7418\"),a=r(\"825a\");t.exports=i(\"Reflect\",\"ownKeys\")||function(c){var f=o.f(a(c)),d=s.f;return d?f.concat(d(c)):f}},\"5c6c\":function(t,n){t.exports=function(r,i){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:i}}},\"605d\":function(t,n,r){var i=r(\"c6b6\"),o=r(\"da84\");t.exports=i(o.process)==\"process\"},6547:function(t,n,r){var i=r(\"a691\"),o=r(\"1d80\"),s=function(a){return function(l,c){var f=String(o(l)),d=i(c),h=f.length,p,b;return d<0||d>=h?a?\"\":void 0:(p=f.charCodeAt(d),p<55296||p>56319||d+1===h||(b=f.charCodeAt(d+1))<56320||b>57343?a?f.charAt(d):p:a?f.slice(d,d+2):(p-55296<<10)+(b-56320)+65536)}};t.exports={codeAt:s(!1),charAt:s(!0)}},\"65f0\":function(t,n,r){var i=r(\"861d\"),o=r(\"e8b5\"),s=r(\"b622\"),a=s(\"species\");t.exports=function(l,c){var f;return o(l)&&(f=l.constructor,typeof f==\"function\"&&(f===Array||o(f.prototype))?f=void 0:i(f)&&(f=f[a],f===null&&(f=void 0))),new(f===void 0?Array:f)(c===0?0:c)}},\"69f3\":function(t,n,r){var i=r(\"7f9a\"),o=r(\"da84\"),s=r(\"861d\"),a=r(\"9112\"),l=r(\"5135\"),c=r(\"c6cd\"),f=r(\"f772\"),d=r(\"d012\"),h=o.WeakMap,p,b,A,F=function(R){return A(R)?b(R):p(R,{})},O=function(R){return function(C){var L;if(!s(C)||(L=b(C)).type!==R)throw TypeError(\"Incompatible receiver, \"+R+\" required\");return L}};if(i){var m=c.state||(c.state=new h),I=m.get,E=m.has,N=m.set;p=function(R,C){return C.facade=R,N.call(m,R,C),C},b=function(R){return I.call(m,R)||{}},A=function(R){return E.call(m,R)}}else{var P=f(\"state\");d[P]=!0,p=function(R,C){return C.facade=R,a(R,P,C),C},b=function(R){return l(R,P)?R[P]:{}},A=function(R){return l(R,P)}}t.exports={set:p,get:b,has:A,enforce:F,getterFor:O}},\"6eeb\":function(t,n,r){var i=r(\"da84\"),o=r(\"9112\"),s=r(\"5135\"),a=r(\"ce4e\"),l=r(\"8925\"),c=r(\"69f3\"),f=c.get,d=c.enforce,h=String(String).split(\"String\");(t.exports=function(p,b,A,F){var O=F?!!F.unsafe:!1,m=F?!!F.enumerable:!1,I=F?!!F.noTargetGet:!1,E;if(typeof A==\"function\"&&(typeof b==\"string\"&&!s(A,\"name\")&&o(A,\"name\",b),E=d(A),E.source||(E.source=h.join(typeof b==\"string\"?b:\"\"))),p===i){m?p[b]=A:a(b,A);return}else O?!I&&p[b]&&(m=!0):delete p[b];m?p[b]=A:o(p,b,A)})(Function.prototype,\"toString\",function(){return typeof this==\"function\"&&f(this).source||l(this)})},7037:function(t,n,r){r(\"a4d3\"),r(\"e01a\"),r(\"d3b7\"),r(\"d28b\"),r(\"e260\"),r(\"3ca3\"),r(\"ddb0\");function i(o){return typeof Symbol==\"function\"&&typeof Symbol.iterator==\"symbol\"?(t.exports=i=function(a){return typeof a},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=i=function(a){return a&&typeof Symbol==\"function\"&&a.constructor===Symbol&&a!==Symbol.prototype?\"symbol\":typeof a},t.exports.default=t.exports,t.exports.__esModule=!0),i(o)}t.exports=i,t.exports.default=t.exports,t.exports.__esModule=!0},7418:function(t,n){n.f=Object.getOwnPropertySymbols},\"746f\":function(t,n,r){var i=r(\"428f\"),o=r(\"5135\"),s=r(\"e538\"),a=r(\"9bf2\").f;t.exports=function(l){var c=i.Symbol||(i.Symbol={});o(c,l)||a(c,l,{value:s.f(l)})}},7839:function(t,n){t.exports=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"]},\"7b0b\":function(t,n,r){var i=r(\"1d80\");t.exports=function(o){return Object(i(o))}},\"7c73\":function(t,n,r){var i=r(\"825a\"),o=r(\"37e8\"),s=r(\"7839\"),a=r(\"d012\"),l=r(\"1be4\"),c=r(\"cc12\"),f=r(\"f772\"),d=\">\",h=\"<\",p=\"prototype\",b=\"script\",A=f(\"IE_PROTO\"),F=function(){},O=function(P){return h+b+d+P+h+\"/\"+b+d},m=function(P){P.write(O(\"\")),P.close();var R=P.parentWindow.Object;return P=null,R},I=function(){var P=c(\"iframe\"),R=\"java\"+b+\":\",C;return P.style.display=\"none\",l.appendChild(P),P.src=String(R),C=P.contentWindow.document,C.open(),C.write(O(\"document.F=Object\")),C.close(),C.F},E,N=function(){try{E=document.domain&&new ActiveXObject(\"htmlfile\")}catch{}N=E?m(E):I();for(var P=s.length;P--;)delete N[p][s[P]];return N()};a[A]=!0,t.exports=Object.create||function(R,C){var L;return R!==null?(F[p]=i(R),L=new F,F[p]=null,L[A]=R):L=N(),C===void 0?L:o(L,C)}},\"7db0\":function(t,n,r){var i=r(\"23e7\"),o=r(\"b727\").find,s=r(\"44d2\"),a=\"find\",l=!0;a in[]&&Array(1)[a](function(){l=!1}),i({target:\"Array\",proto:!0,forced:l},{find:function(f){return o(this,f,arguments.length>1?arguments[1]:void 0)}}),s(a)},\"7dd0\":function(t,n,r){var i=r(\"23e7\"),o=r(\"9ed3\"),s=r(\"e163\"),a=r(\"d2bb\"),l=r(\"d44e\"),c=r(\"9112\"),f=r(\"6eeb\"),d=r(\"b622\"),h=r(\"c430\"),p=r(\"3f8c\"),b=r(\"ae93\"),A=b.IteratorPrototype,F=b.BUGGY_SAFARI_ITERATORS,O=d(\"iterator\"),m=\"keys\",I=\"values\",E=\"entries\",N=function(){return this};t.exports=function(P,R,C,L,U,z,V){o(C,R,L);var rt=function(It){if(It===U&&dt)return dt;if(!F&&It in st)return st[It];switch(It){case m:return function(){return new C(this,It)};case I:return function(){return new C(this,It)};case E:return function(){return new C(this,It)}}return function(){return new C(this)}},Q=R+\" Iterator\",bt=!1,st=P.prototype,pt=st[O]||st[\"@@iterator\"]||U&&st[U],dt=!F&&pt||rt(U),qt=R==\"Array\"&&st.entries||pt,Ft,se,ce;if(qt&&(Ft=s(qt.call(new P)),A!==Object.prototype&&Ft.next&&(!h&&s(Ft)!==A&&(a?a(Ft,A):typeof Ft[O]!=\"function\"&&c(Ft,O,N)),l(Ft,Q,!0,!0),h&&(p[Q]=N))),U==I&&pt&&pt.name!==I&&(bt=!0,dt=function(){return pt.call(this)}),(!h||V)&&st[O]!==dt&&c(st,O,dt),p[R]=dt,U)if(se={values:rt(I),keys:z?dt:rt(m),entries:rt(E)},V)for(ce in se)(F||bt||!(ce in st))&&f(st,ce,se[ce]);else i({target:R,proto:!0,forced:F||bt},se);return se}},\"7f9a\":function(t,n,r){var i=r(\"da84\"),o=r(\"8925\"),s=i.WeakMap;t.exports=typeof s==\"function\"&&/native code/.test(o(s))},\"825a\":function(t,n,r){var i=r(\"861d\");t.exports=function(o){if(!i(o))throw TypeError(String(o)+\" is not an object\");return o}},\"83ab\":function(t,n,r){var i=r(\"d039\");t.exports=!i(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(t,n,r){var i=r(\"c04e\"),o=r(\"9bf2\"),s=r(\"5c6c\");t.exports=function(a,l,c){var f=i(l);f in a?o.f(a,f,s(0,c)):a[f]=c}},\"861d\":function(t,n){t.exports=function(r){return typeof r==\"object\"?r!==null:typeof r==\"function\"}},8875:function(t,n,r){var i,o,s;(function(a,l){o=[],i=l,s=typeof i==\"function\"?i.apply(n,o):i,s!==void 0&&(t.exports=s)})(typeof self!=\"undefined\"?self:this,function(){function a(){var l=Object.getOwnPropertyDescriptor(document,\"currentScript\");if(!l&&\"currentScript\"in document&&document.currentScript||l&&l.get!==a&&document.currentScript)return document.currentScript;try{throw new Error}catch(E){var c=/.*at [^(]*\\((.*):(.+):(.+)\\)$/ig,f=/@([^@]*):(\\d+):(\\d+)\\s*$/ig,d=c.exec(E.stack)||f.exec(E.stack),h=d&&d[1]||!1,p=d&&d[2]||!1,b=document.location.href.replace(document.location.hash,\"\"),A,F,O,m=document.getElementsByTagName(\"script\");h===b&&(A=document.documentElement.outerHTML,F=new RegExp(\"(?:[^\\\\n]+?\\\\n){0,\"+(p-2)+\"}[^<]*<script>([\\\\d\\\\D]*?)<\\\\/script>[\\\\d\\\\D]*\",\"i\"),O=A.replace(F,\"$1\").trim());for(var I=0;I<m.length;I++)if(m[I].readyState===\"interactive\"||m[I].src===h||h===b&&m[I].innerHTML&&m[I].innerHTML.trim()===O)return m[I];return null}}return a})},8925:function(t,n,r){var i=r(\"c6cd\"),o=Function.toString;typeof i.inspectSource!=\"function\"&&(i.inspectSource=function(s){return o.call(s)}),t.exports=i.inspectSource},\"8aa5\":function(t,n,r){var i=r(\"6547\").charAt;t.exports=function(o,s,a){return s+(a?i(o,s).length:1)}},\"8bbf\":function(t,n){t.exports=rO},\"90e3\":function(t,n){var r=0,i=Math.random();t.exports=function(o){return\"Symbol(\"+String(o===void 0?\"\":o)+\")_\"+(++r+i).toString(36)}},9112:function(t,n,r){var i=r(\"83ab\"),o=r(\"9bf2\"),s=r(\"5c6c\");t.exports=i?function(a,l,c){return o.f(a,l,s(1,c))}:function(a,l,c){return a[l]=c,a}},9263:function(t,n,r){var i=r(\"ad6d\"),o=r(\"9f7f\"),s=r(\"5692\"),a=RegExp.prototype.exec,l=s(\"native-string-replace\",String.prototype.replace),c=a,f=function(){var b=/a/,A=/b*/g;return a.call(b,\"a\"),a.call(A,\"a\"),b.lastIndex!==0||A.lastIndex!==0}(),d=o.UNSUPPORTED_Y||o.BROKEN_CARET,h=/()??/.exec(\"\")[1]!==void 0,p=f||h||d;p&&(c=function(A){var F=this,O,m,I,E,N=d&&F.sticky,P=i.call(F),R=F.source,C=0,L=A;return N&&(P=P.replace(\"y\",\"\"),P.indexOf(\"g\")===-1&&(P+=\"g\"),L=String(A).slice(F.lastIndex),F.lastIndex>0&&(!F.multiline||F.multiline&&A[F.lastIndex-1]!==`\n`)&&(R=\"(?: \"+R+\")\",L=\" \"+L,C++),m=new RegExp(\"^(?:\"+R+\")\",P)),h&&(m=new RegExp(\"^\"+R+\"$(?!\\\\s)\",P)),f&&(O=F.lastIndex),I=a.call(N?m:F,L),N?I?(I.input=I.input.slice(C),I[0]=I[0].slice(C),I.index=F.lastIndex,F.lastIndex+=I[0].length):F.lastIndex=0:f&&I&&(F.lastIndex=F.global?I.index+I[0].length:O),h&&I&&I.length>1&&l.call(I[0],m,function(){for(E=1;E<arguments.length-2;E++)arguments[E]===void 0&&(I[E]=void 0)}),I}),t.exports=c},\"94ca\":function(t,n,r){var i=r(\"d039\"),o=/#|\\.prototype\\./,s=function(d,h){var p=l[a(d)];return p==f?!0:p==c?!1:typeof h==\"function\"?i(h):!!h},a=s.normalize=function(d){return String(d).replace(o,\".\").toLowerCase()},l=s.data={},c=s.NATIVE=\"N\",f=s.POLYFILL=\"P\";t.exports=s},\"99af\":function(t,n,r){var i=r(\"23e7\"),o=r(\"d039\"),s=r(\"e8b5\"),a=r(\"861d\"),l=r(\"7b0b\"),c=r(\"50c4\"),f=r(\"8418\"),d=r(\"65f0\"),h=r(\"1dde\"),p=r(\"b622\"),b=r(\"2d00\"),A=p(\"isConcatSpreadable\"),F=9007199254740991,O=\"Maximum allowed index exceeded\",m=b>=51||!o(function(){var P=[];return P[A]=!1,P.concat()[0]!==P}),I=h(\"concat\"),E=function(P){if(!a(P))return!1;var R=P[A];return R!==void 0?!!R:s(P)},N=!m||!I;i({target:\"Array\",proto:!0,forced:N},{concat:function(R){var C=l(this),L=d(C,0),U=0,z,V,rt,Q,bt;for(z=-1,rt=arguments.length;z<rt;z++)if(bt=z===-1?C:arguments[z],E(bt)){if(Q=c(bt.length),U+Q>F)throw TypeError(O);for(V=0;V<Q;V++,U++)V in bt&&f(L,U,bt[V])}else{if(U>=F)throw TypeError(O);f(L,U++,bt)}return L.length=U,L}})},\"9bdd\":function(t,n,r){var i=r(\"825a\"),o=r(\"2a62\");t.exports=function(s,a,l,c){try{return c?a(i(l)[0],l[1]):a(l)}catch(f){throw o(s),f}}},\"9bf2\":function(t,n,r){var i=r(\"83ab\"),o=r(\"0cfb\"),s=r(\"825a\"),a=r(\"c04e\"),l=Object.defineProperty;n.f=i?l:function(f,d,h){if(s(f),d=a(d,!0),s(h),o)try{return l(f,d,h)}catch{}if(\"get\"in h||\"set\"in h)throw TypeError(\"Accessors not supported\");return\"value\"in h&&(f[d]=h.value),f}},\"9ed3\":function(t,n,r){var i=r(\"ae93\").IteratorPrototype,o=r(\"7c73\"),s=r(\"5c6c\"),a=r(\"d44e\"),l=r(\"3f8c\"),c=function(){return this};t.exports=function(f,d,h){var p=d+\" Iterator\";return f.prototype=o(i,{next:s(1,h)}),a(f,p,!1,!0),l[p]=c,f}},\"9f7f\":function(t,n,r){var i=r(\"d039\");function o(s,a){return RegExp(s,a)}n.UNSUPPORTED_Y=i(function(){var s=o(\"a\",\"y\");return s.lastIndex=2,s.exec(\"abcd\")!=null}),n.BROKEN_CARET=i(function(){var s=o(\"^r\",\"gy\");return s.lastIndex=2,s.exec(\"str\")!=null})},a434:function(t,n,r){var i=r(\"23e7\"),o=r(\"23cb\"),s=r(\"a691\"),a=r(\"50c4\"),l=r(\"7b0b\"),c=r(\"65f0\"),f=r(\"8418\"),d=r(\"1dde\"),h=d(\"splice\"),p=Math.max,b=Math.min,A=9007199254740991,F=\"Maximum allowed length exceeded\";i({target:\"Array\",proto:!0,forced:!h},{splice:function(m,I){var E=l(this),N=a(E.length),P=o(m,N),R=arguments.length,C,L,U,z,V,rt;if(R===0?C=L=0:R===1?(C=0,L=N-P):(C=R-2,L=b(p(s(I),0),N-P)),N+C-L>A)throw TypeError(F);for(U=c(E,L),z=0;z<L;z++)V=P+z,V in E&&f(U,z,E[V]);if(U.length=L,C<L){for(z=P;z<N-L;z++)V=z+L,rt=z+C,V in E?E[rt]=E[V]:delete E[rt];for(z=N;z>N-L+C;z--)delete E[z-1]}else if(C>L)for(z=N-L;z>P;z--)V=z+L-1,rt=z+C-1,V in E?E[rt]=E[V]:delete E[rt];for(z=0;z<C;z++)E[z+P]=arguments[z+2];return E.length=N-L+C,U}})},a4b4:function(t,n,r){var i=r(\"342f\");t.exports=/web0s(?!.*chrome)/i.test(i)},a4d3:function(t,n,r){var i=r(\"23e7\"),o=r(\"da84\"),s=r(\"d066\"),a=r(\"c430\"),l=r(\"83ab\"),c=r(\"4930\"),f=r(\"fdbf\"),d=r(\"d039\"),h=r(\"5135\"),p=r(\"e8b5\"),b=r(\"861d\"),A=r(\"825a\"),F=r(\"7b0b\"),O=r(\"fc6a\"),m=r(\"c04e\"),I=r(\"5c6c\"),E=r(\"7c73\"),N=r(\"df75\"),P=r(\"241c\"),R=r(\"057f\"),C=r(\"7418\"),L=r(\"06cf\"),U=r(\"9bf2\"),z=r(\"d1e7\"),V=r(\"9112\"),rt=r(\"6eeb\"),Q=r(\"5692\"),bt=r(\"f772\"),st=r(\"d012\"),pt=r(\"90e3\"),dt=r(\"b622\"),qt=r(\"e538\"),Ft=r(\"746f\"),se=r(\"d44e\"),ce=r(\"69f3\"),It=r(\"b727\").forEach,Yt=bt(\"hidden\"),we=\"Symbol\",Oe=\"prototype\",Ye=dt(\"toPrimitive\"),Be=ce.set,Se=ce.getterFor(we),Ie=Object[Oe],ae=o.Symbol,lt=s(\"JSON\",\"stringify\"),Ue=L.f,w=U.f,B=R.f,j=z.f,Y=Q(\"symbols\"),W=Q(\"op-symbols\"),et=Q(\"string-to-symbol-registry\"),it=Q(\"symbol-to-string-registry\"),tt=Q(\"wks\"),nt=o.QObject,Z=!nt||!nt[Oe]||!nt[Oe].findChild,gt=l&&d(function(){return E(w({},\"a\",{get:function(){return w(this,\"a\",{value:7}).a}})).a!=7})?function(ot,ct,at){var T=Ue(Ie,ct);T&&delete Ie[ct],w(ot,ct,at),T&&ot!==Ie&&w(Ie,ct,T)}:w,ut=function(ot,ct){var at=Y[ot]=E(ae[Oe]);return Be(at,{type:we,tag:ot,description:ct}),l||(at.description=ct),at},X=f?function(ot){return typeof ot==\"symbol\"}:function(ot){return Object(ot)instanceof ae},wt=function(ct,at,T){ct===Ie&&wt(W,at,T),A(ct);var v=m(at,!0);return A(T),h(Y,v)?(T.enumerable?(h(ct,Yt)&&ct[Yt][v]&&(ct[Yt][v]=!1),T=E(T,{enumerable:I(0,!1)})):(h(ct,Yt)||w(ct,Yt,I(1,{})),ct[Yt][v]=!0),gt(ct,v,T)):w(ct,v,T)},Dt=function(ct,at){A(ct);var T=O(at),v=N(T).concat(xt(T));return It(v,function(u){(!l||Tt.call(T,u))&&wt(ct,u,T[u])}),ct},Ht=function(ct,at){return at===void 0?E(ct):Dt(E(ct),at)},Tt=function(ct){var at=m(ct,!0),T=j.call(this,at);return this===Ie&&h(Y,at)&&!h(W,at)?!1:T||!h(this,at)||!h(Y,at)||h(this,Yt)&&this[Yt][at]?T:!0},J=function(ct,at){var T=O(ct),v=m(at,!0);if(!(T===Ie&&h(Y,v)&&!h(W,v))){var u=Ue(T,v);return u&&h(Y,v)&&!(h(T,Yt)&&T[Yt][v])&&(u.enumerable=!0),u}},mt=function(ct){var at=B(O(ct)),T=[];return It(at,function(v){!h(Y,v)&&!h(st,v)&&T.push(v)}),T},xt=function(ct){var at=ct===Ie,T=B(at?W:O(ct)),v=[];return It(T,function(u){h(Y,u)&&(!at||h(Ie,u))&&v.push(Y[u])}),v};if(c||(ae=function(){if(this instanceof ae)throw TypeError(\"Symbol is not a constructor\");var ct=!arguments.length||arguments[0]===void 0?void 0:String(arguments[0]),at=pt(ct),T=function(v){this===Ie&&T.call(W,v),h(this,Yt)&&h(this[Yt],at)&&(this[Yt][at]=!1),gt(this,at,I(1,v))};return l&&Z&&gt(Ie,at,{configurable:!0,set:T}),ut(at,ct)},rt(ae[Oe],\"toString\",function(){return Se(this).tag}),rt(ae,\"withoutSetter\",function(ot){return ut(pt(ot),ot)}),z.f=Tt,U.f=wt,L.f=J,P.f=R.f=mt,C.f=xt,qt.f=function(ot){return ut(dt(ot),ot)},l&&(w(ae[Oe],\"description\",{configurable:!0,get:function(){return Se(this).description}}),a||rt(Ie,\"propertyIsEnumerable\",Tt,{unsafe:!0}))),i({global:!0,wrap:!0,forced:!c,sham:!c},{Symbol:ae}),It(N(tt),function(ot){Ft(ot)}),i({target:we,stat:!0,forced:!c},{for:function(ot){var ct=String(ot);if(h(et,ct))return et[ct];var at=ae(ct);return et[ct]=at,it[at]=ct,at},keyFor:function(ct){if(!X(ct))throw TypeError(ct+\" is not a symbol\");if(h(it,ct))return it[ct]},useSetter:function(){Z=!0},useSimple:function(){Z=!1}}),i({target:\"Object\",stat:!0,forced:!c,sham:!l},{create:Ht,defineProperty:wt,defineProperties:Dt,getOwnPropertyDescriptor:J}),i({target:\"Object\",stat:!0,forced:!c},{getOwnPropertyNames:mt,getOwnPropertySymbols:xt}),i({target:\"Object\",stat:!0,forced:d(function(){C.f(1)})},{getOwnPropertySymbols:function(ct){return C.f(F(ct))}}),lt){var Rt=!c||d(function(){var ot=ae();return lt([ot])!=\"[null]\"||lt({a:ot})!=\"{}\"||lt(Object(ot))!=\"{}\"});i({target:\"JSON\",stat:!0,forced:Rt},{stringify:function(ct,at,T){for(var v=[ct],u=1,g;arguments.length>u;)v.push(arguments[u++]);if(g=at,!(!b(at)&&ct===void 0||X(ct)))return p(at)||(at=function(S,x){if(typeof g==\"function\"&&(x=g.call(this,S,x)),!X(x))return x}),v[1]=at,lt.apply(null,v)}})}ae[Oe][Ye]||V(ae[Oe],Ye,ae[Oe].valueOf),se(ae,we),st[Yt]=!0},a630:function(t,n,r){var i=r(\"23e7\"),o=r(\"4df4\"),s=r(\"1c7e\"),a=!s(function(l){Array.from(l)});i({target:\"Array\",stat:!0,forced:a},{from:o})},a640:function(t,n,r){var i=r(\"d039\");t.exports=function(o,s){var a=[][o];return!!a&&i(function(){a.call(null,s||function(){throw 1},1)})}},a691:function(t,n){var r=Math.ceil,i=Math.floor;t.exports=function(o){return isNaN(o=+o)?0:(o>0?i:r)(o)}},ac1f:function(t,n,r){var i=r(\"23e7\"),o=r(\"9263\");i({target:\"RegExp\",proto:!0,forced:/./.exec!==o},{exec:o})},ad6d:function(t,n,r){var i=r(\"825a\");t.exports=function(){var o=i(this),s=\"\";return o.global&&(s+=\"g\"),o.ignoreCase&&(s+=\"i\"),o.multiline&&(s+=\"m\"),o.dotAll&&(s+=\"s\"),o.unicode&&(s+=\"u\"),o.sticky&&(s+=\"y\"),s}},ae93:function(t,n,r){var i=r(\"d039\"),o=r(\"e163\"),s=r(\"9112\"),a=r(\"5135\"),l=r(\"b622\"),c=r(\"c430\"),f=l(\"iterator\"),d=!1,h=function(){return this},p,b,A;[].keys&&(A=[].keys(),\"next\"in A?(b=o(o(A)),b!==Object.prototype&&(p=b)):d=!0);var F=p==null||i(function(){var O={};return p[f].call(O)!==O});F&&(p={}),(!c||F)&&!a(p,f)&&s(p,f,h),t.exports={IteratorPrototype:p,BUGGY_SAFARI_ITERATORS:d}},b041:function(t,n,r){var i=r(\"00ee\"),o=r(\"f5df\");t.exports=i?{}.toString:function(){return\"[object \"+o(this)+\"]\"}},b0c0:function(t,n,r){var i=r(\"83ab\"),o=r(\"9bf2\").f,s=Function.prototype,a=s.toString,l=/^\\s*function ([^ (]*)/,c=\"name\";i&&!(c in s)&&o(s,c,{configurable:!0,get:function(){try{return a.call(this).match(l)[1]}catch{return\"\"}}})},b575:function(t,n,r){var i=r(\"da84\"),o=r(\"06cf\").f,s=r(\"2cf4\").set,a=r(\"1cdc\"),l=r(\"a4b4\"),c=r(\"605d\"),f=i.MutationObserver||i.WebKitMutationObserver,d=i.document,h=i.process,p=i.Promise,b=o(i,\"queueMicrotask\"),A=b&&b.value,F,O,m,I,E,N,P,R;A||(F=function(){var C,L;for(c&&(C=h.domain)&&C.exit();O;){L=O.fn,O=O.next;try{L()}catch(U){throw O?I():m=void 0,U}}m=void 0,C&&C.enter()},!a&&!c&&!l&&f&&d?(E=!0,N=d.createTextNode(\"\"),new f(F).observe(N,{characterData:!0}),I=function(){N.data=E=!E}):p&&p.resolve?(P=p.resolve(void 0),R=P.then,I=function(){R.call(P,F)}):c?I=function(){h.nextTick(F)}:I=function(){s.call(i,F)}),t.exports=A||function(C){var L={fn:C,next:void 0};m&&(m.next=L),O||(O=L,I()),m=L}},b622:function(t,n,r){var i=r(\"da84\"),o=r(\"5692\"),s=r(\"5135\"),a=r(\"90e3\"),l=r(\"4930\"),c=r(\"fdbf\"),f=o(\"wks\"),d=i.Symbol,h=c?d:d&&d.withoutSetter||a;t.exports=function(p){return(!s(f,p)||!(l||typeof f[p]==\"string\"))&&(l&&s(d,p)?f[p]=d[p]:f[p]=h(\"Symbol.\"+p)),f[p]}},b64b:function(t,n,r){var i=r(\"23e7\"),o=r(\"7b0b\"),s=r(\"df75\"),a=r(\"d039\"),l=a(function(){s(1)});i({target:\"Object\",stat:!0,forced:l},{keys:function(f){return s(o(f))}})},b727:function(t,n,r){var i=r(\"0366\"),o=r(\"44ad\"),s=r(\"7b0b\"),a=r(\"50c4\"),l=r(\"65f0\"),c=[].push,f=function(d){var h=d==1,p=d==2,b=d==3,A=d==4,F=d==6,O=d==7,m=d==5||F;return function(I,E,N,P){for(var R=s(I),C=o(R),L=i(E,N,3),U=a(C.length),z=0,V=P||l,rt=h?V(I,U):p||O?V(I,0):void 0,Q,bt;U>z;z++)if((m||z in C)&&(Q=C[z],bt=L(Q,z,R),d))if(h)rt[z]=bt;else if(bt)switch(d){case 3:return!0;case 5:return Q;case 6:return z;case 2:c.call(rt,Q)}else switch(d){case 4:return!1;case 7:c.call(rt,Q)}return F?-1:b||A?A:rt}};t.exports={forEach:f(0),map:f(1),filter:f(2),some:f(3),every:f(4),find:f(5),findIndex:f(6),filterOut:f(7)}},c04e:function(t,n,r){var i=r(\"861d\");t.exports=function(o,s){if(!i(o))return o;var a,l;if(s&&typeof(a=o.toString)==\"function\"&&!i(l=a.call(o))||typeof(a=o.valueOf)==\"function\"&&!i(l=a.call(o))||!s&&typeof(a=o.toString)==\"function\"&&!i(l=a.call(o)))return l;throw TypeError(\"Can't convert object to primitive value\")}},c430:function(t,n){t.exports=!1},c6b6:function(t,n){var r={}.toString;t.exports=function(i){return r.call(i).slice(8,-1)}},c6cd:function(t,n,r){var i=r(\"da84\"),o=r(\"ce4e\"),s=\"__core-js_shared__\",a=i[s]||o(s,{});t.exports=a},c8ba:function(t,n){var r;r=function(){return this}();try{r=r||new Function(\"return this\")()}catch{typeof window==\"object\"&&(r=window)}t.exports=r},ca84:function(t,n,r){var i=r(\"5135\"),o=r(\"fc6a\"),s=r(\"4d64\").indexOf,a=r(\"d012\");t.exports=function(l,c){var f=o(l),d=0,h=[],p;for(p in f)!i(a,p)&&i(f,p)&&h.push(p);for(;c.length>d;)i(f,p=c[d++])&&(~s(h,p)||h.push(p));return h}},cc12:function(t,n,r){var i=r(\"da84\"),o=r(\"861d\"),s=i.document,a=o(s)&&o(s.createElement);t.exports=function(l){return a?s.createElement(l):{}}},cdf9:function(t,n,r){var i=r(\"825a\"),o=r(\"861d\"),s=r(\"f069\");t.exports=function(a,l){if(i(a),o(l)&&l.constructor===a)return l;var c=s.f(a),f=c.resolve;return f(l),c.promise}},ce4e:function(t,n,r){var i=r(\"da84\"),o=r(\"9112\");t.exports=function(s,a){try{o(i,s,a)}catch{i[s]=a}return a}},d012:function(t,n){t.exports={}},d039:function(t,n){t.exports=function(r){try{return!!r()}catch{return!0}}},d066:function(t,n,r){var i=r(\"428f\"),o=r(\"da84\"),s=function(a){return typeof a==\"function\"?a:void 0};t.exports=function(a,l){return arguments.length<2?s(i[a])||s(o[a]):i[a]&&i[a][l]||o[a]&&o[a][l]}},d1e7:function(t,n,r){var i={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,s=o&&!i.call({1:2},1);n.f=s?function(l){var c=o(this,l);return!!c&&c.enumerable}:i},d28b:function(t,n,r){var i=r(\"746f\");i(\"iterator\")},d2bb:function(t,n,r){var i=r(\"825a\"),o=r(\"3bbe\");t.exports=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var s=!1,a={},l;try{l=Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set,l.call(a,[]),s=a instanceof Array}catch{}return function(f,d){return i(f),o(d),s?l.call(f,d):f.__proto__=d,f}}():void 0)},d3b7:function(t,n,r){var i=r(\"00ee\"),o=r(\"6eeb\"),s=r(\"b041\");i||o(Object.prototype,\"toString\",s,{unsafe:!0})},d44e:function(t,n,r){var i=r(\"9bf2\").f,o=r(\"5135\"),s=r(\"b622\"),a=s(\"toStringTag\");t.exports=function(l,c,f){l&&!o(l=f?l:l.prototype,a)&&i(l,a,{configurable:!0,value:c})}},d784:function(t,n,r){r(\"ac1f\");var i=r(\"6eeb\"),o=r(\"d039\"),s=r(\"b622\"),a=r(\"9112\"),l=s(\"species\"),c=!o(function(){var b=/./;return b.exec=function(){var A=[];return A.groups={a:\"7\"},A},\"\".replace(b,\"$<a>\")!==\"7\"}),f=function(){return\"a\".replace(/./,\"$0\")===\"$0\"}(),d=s(\"replace\"),h=function(){return/./[d]?/./[d](\"a\",\"$0\")===\"\":!1}(),p=!o(function(){var b=/(?:)/,A=b.exec;b.exec=function(){return A.apply(this,arguments)};var F=\"ab\".split(b);return F.length!==2||F[0]!==\"a\"||F[1]!==\"b\"});t.exports=function(b,A,F,O){var m=s(b),I=!o(function(){var L={};return L[m]=function(){return 7},\"\"[b](L)!=7}),E=I&&!o(function(){var L=!1,U=/a/;return b===\"split\"&&(U={},U.constructor={},U.constructor[l]=function(){return U},U.flags=\"\",U[m]=/./[m]),U.exec=function(){return L=!0,null},U[m](\"\"),!L});if(!I||!E||b===\"replace\"&&!(c&&f&&!h)||b===\"split\"&&!p){var N=/./[m],P=F(m,\"\"[b],function(L,U,z,V,rt){return U.exec===RegExp.prototype.exec?I&&!rt?{done:!0,value:N.call(U,z,V)}:{done:!0,value:L.call(z,U,V)}:{done:!1}},{REPLACE_KEEPS_$0:f,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:h}),R=P[0],C=P[1];i(String.prototype,b,R),i(RegExp.prototype,m,A==2?function(L,U){return C.call(L,this,U)}:function(L){return C.call(L,this)})}O&&a(RegExp.prototype[m],\"sham\",!0)}},d81d:function(t,n,r){var i=r(\"23e7\"),o=r(\"b727\").map,s=r(\"1dde\"),a=s(\"map\");i({target:\"Array\",proto:!0,forced:!a},{map:function(c){return o(this,c,arguments.length>1?arguments[1]:void 0)}})},da84:function(t,n,r){(function(i){var o=function(s){return s&&s.Math==Math&&s};t.exports=o(typeof globalThis==\"object\"&&globalThis)||o(typeof window==\"object\"&&window)||o(typeof self==\"object\"&&self)||o(typeof i==\"object\"&&i)||function(){return this}()||Function(\"return this\")()}).call(this,r(\"c8ba\"))},dbb4:function(t,n,r){var i=r(\"23e7\"),o=r(\"83ab\"),s=r(\"56ef\"),a=r(\"fc6a\"),l=r(\"06cf\"),c=r(\"8418\");i({target:\"Object\",stat:!0,sham:!o},{getOwnPropertyDescriptors:function(d){for(var h=a(d),p=l.f,b=s(h),A={},F=0,O,m;b.length>F;)m=p(h,O=b[F++]),m!==void 0&&c(A,O,m);return A}})},ddb0:function(t,n,r){var i=r(\"da84\"),o=r(\"fdbc\"),s=r(\"e260\"),a=r(\"9112\"),l=r(\"b622\"),c=l(\"iterator\"),f=l(\"toStringTag\"),d=s.values;for(var h in o){var p=i[h],b=p&&p.prototype;if(b){if(b[c]!==d)try{a(b,c,d)}catch{b[c]=d}if(b[f]||a(b,f,h),o[h]){for(var A in s)if(b[A]!==s[A])try{a(b,A,s[A])}catch{b[A]=s[A]}}}}},df75:function(t,n,r){var i=r(\"ca84\"),o=r(\"7839\");t.exports=Object.keys||function(a){return i(a,o)}},e01a:function(t,n,r){var i=r(\"23e7\"),o=r(\"83ab\"),s=r(\"da84\"),a=r(\"5135\"),l=r(\"861d\"),c=r(\"9bf2\").f,f=r(\"e893\"),d=s.Symbol;if(o&&typeof d==\"function\"&&(!(\"description\"in d.prototype)||d().description!==void 0)){var h={},p=function(){var I=arguments.length<1||arguments[0]===void 0?void 0:String(arguments[0]),E=this instanceof p?new d(I):I===void 0?d():d(I);return I===\"\"&&(h[E]=!0),E};f(p,d);var b=p.prototype=d.prototype;b.constructor=p;var A=b.toString,F=String(d(\"test\"))==\"Symbol(test)\",O=/^Symbol\\((.*)\\)[^)]+$/;c(b,\"description\",{configurable:!0,get:function(){var I=l(this)?this.valueOf():this,E=A.call(I);if(a(h,I))return\"\";var N=F?E.slice(7,-1):E.replace(O,\"$1\");return N===\"\"?void 0:N}}),i({global:!0,forced:!0},{Symbol:p})}},e163:function(t,n,r){var i=r(\"5135\"),o=r(\"7b0b\"),s=r(\"f772\"),a=r(\"e177\"),l=s(\"IE_PROTO\"),c=Object.prototype;t.exports=a?Object.getPrototypeOf:function(f){return f=o(f),i(f,l)?f[l]:typeof f.constructor==\"function\"&&f instanceof f.constructor?f.constructor.prototype:f instanceof Object?c:null}},e177:function(t,n,r){var i=r(\"d039\");t.exports=!i(function(){function o(){}return o.prototype.constructor=null,Object.getPrototypeOf(new o)!==o.prototype})},e260:function(t,n,r){var i=r(\"fc6a\"),o=r(\"44d2\"),s=r(\"3f8c\"),a=r(\"69f3\"),l=r(\"7dd0\"),c=\"Array Iterator\",f=a.set,d=a.getterFor(c);t.exports=l(Array,\"Array\",function(h,p){f(this,{type:c,target:i(h),index:0,kind:p})},function(){var h=d(this),p=h.target,b=h.kind,A=h.index++;return!p||A>=p.length?(h.target=void 0,{value:void 0,done:!0}):b==\"keys\"?{value:A,done:!1}:b==\"values\"?{value:p[A],done:!1}:{value:[A,p[A]],done:!1}},\"values\"),s.Arguments=s.Array,o(\"keys\"),o(\"values\"),o(\"entries\")},e2cc:function(t,n,r){var i=r(\"6eeb\");t.exports=function(o,s,a){for(var l in s)i(o,l,s[l],a);return o}},e439:function(t,n,r){var i=r(\"23e7\"),o=r(\"d039\"),s=r(\"fc6a\"),a=r(\"06cf\").f,l=r(\"83ab\"),c=o(function(){a(1)}),f=!l||c;i({target:\"Object\",stat:!0,forced:f,sham:!l},{getOwnPropertyDescriptor:function(h,p){return a(s(h),p)}})},e538:function(t,n,r){var i=r(\"b622\");n.f=i},e667:function(t,n){t.exports=function(r){try{return{error:!1,value:r()}}catch(i){return{error:!0,value:i}}}},e6cf:function(t,n,r){var i=r(\"23e7\"),o=r(\"c430\"),s=r(\"da84\"),a=r(\"d066\"),l=r(\"fea9\"),c=r(\"6eeb\"),f=r(\"e2cc\"),d=r(\"d44e\"),h=r(\"2626\"),p=r(\"861d\"),b=r(\"1c0b\"),A=r(\"19aa\"),F=r(\"8925\"),O=r(\"2266\"),m=r(\"1c7e\"),I=r(\"4840\"),E=r(\"2cf4\").set,N=r(\"b575\"),P=r(\"cdf9\"),R=r(\"44de\"),C=r(\"f069\"),L=r(\"e667\"),U=r(\"69f3\"),z=r(\"94ca\"),V=r(\"b622\"),rt=r(\"605d\"),Q=r(\"2d00\"),bt=V(\"species\"),st=\"Promise\",pt=U.get,dt=U.set,qt=U.getterFor(st),Ft=l,se=s.TypeError,ce=s.document,It=s.process,Yt=a(\"fetch\"),we=C.f,Oe=we,Ye=!!(ce&&ce.createEvent&&s.dispatchEvent),Be=typeof PromiseRejectionEvent==\"function\",Se=\"unhandledrejection\",Ie=\"rejectionhandled\",ae=0,lt=1,Ue=2,w=1,B=2,j,Y,W,et,it=z(st,function(){var J=F(Ft)!==String(Ft);if(!J&&(Q===66||!rt&&!Be)||o&&!Ft.prototype.finally)return!0;if(Q>=51&&/native code/.test(Ft))return!1;var mt=Ft.resolve(1),xt=function(ot){ot(function(){},function(){})},Rt=mt.constructor={};return Rt[bt]=xt,!(mt.then(function(){})instanceof xt)}),tt=it||!m(function(J){Ft.all(J).catch(function(){})}),nt=function(J){var mt;return p(J)&&typeof(mt=J.then)==\"function\"?mt:!1},Z=function(J,mt){if(!J.notified){J.notified=!0;var xt=J.reactions;N(function(){for(var Rt=J.value,ot=J.state==lt,ct=0;xt.length>ct;){var at=xt[ct++],T=ot?at.ok:at.fail,v=at.resolve,u=at.reject,g=at.domain,S,x,_;try{T?(ot||(J.rejection===B&&wt(J),J.rejection=w),T===!0?S=Rt:(g&&g.enter(),S=T(Rt),g&&(g.exit(),_=!0)),S===at.promise?u(se(\"Promise-chain cycle\")):(x=nt(S))?x.call(S,v,u):v(S)):u(Rt)}catch(H){g&&!_&&g.exit(),u(H)}}J.reactions=[],J.notified=!1,mt&&!J.rejection&&ut(J)})}},gt=function(J,mt,xt){var Rt,ot;Ye?(Rt=ce.createEvent(\"Event\"),Rt.promise=mt,Rt.reason=xt,Rt.initEvent(J,!1,!0),s.dispatchEvent(Rt)):Rt={promise:mt,reason:xt},!Be&&(ot=s[\"on\"+J])?ot(Rt):J===Se&&R(\"Unhandled promise rejection\",xt)},ut=function(J){E.call(s,function(){var mt=J.facade,xt=J.value,Rt=X(J),ot;if(Rt&&(ot=L(function(){rt?It.emit(\"unhandledRejection\",xt,mt):gt(Se,mt,xt)}),J.rejection=rt||X(J)?B:w,ot.error))throw ot.value})},X=function(J){return J.rejection!==w&&!J.parent},wt=function(J){E.call(s,function(){var mt=J.facade;rt?It.emit(\"rejectionHandled\",mt):gt(Ie,mt,J.value)})},Dt=function(J,mt,xt){return function(Rt){J(mt,Rt,xt)}},Ht=function(J,mt,xt){J.done||(J.done=!0,xt&&(J=xt),J.value=mt,J.state=Ue,Z(J,!0))},Tt=function(J,mt,xt){if(!J.done){J.done=!0,xt&&(J=xt);try{if(J.facade===mt)throw se(\"Promise can't be resolved itself\");var Rt=nt(mt);Rt?N(function(){var ot={done:!1};try{Rt.call(mt,Dt(Tt,ot,J),Dt(Ht,ot,J))}catch(ct){Ht(ot,ct,J)}}):(J.value=mt,J.state=lt,Z(J,!1))}catch(ot){Ht({done:!1},ot,J)}}};it&&(Ft=function(mt){A(this,Ft,st),b(mt),j.call(this);var xt=pt(this);try{mt(Dt(Tt,xt),Dt(Ht,xt))}catch(Rt){Ht(xt,Rt)}},j=function(mt){dt(this,{type:st,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:ae,value:void 0})},j.prototype=f(Ft.prototype,{then:function(mt,xt){var Rt=qt(this),ot=we(I(this,Ft));return ot.ok=typeof mt==\"function\"?mt:!0,ot.fail=typeof xt==\"function\"&&xt,ot.domain=rt?It.domain:void 0,Rt.parent=!0,Rt.reactions.push(ot),Rt.state!=ae&&Z(Rt,!1),ot.promise},catch:function(J){return this.then(void 0,J)}}),Y=function(){var J=new j,mt=pt(J);this.promise=J,this.resolve=Dt(Tt,mt),this.reject=Dt(Ht,mt)},C.f=we=function(J){return J===Ft||J===W?new Y(J):Oe(J)},!o&&typeof l==\"function\"&&(et=l.prototype.then,c(l.prototype,\"then\",function(mt,xt){var Rt=this;return new Ft(function(ot,ct){et.call(Rt,ot,ct)}).then(mt,xt)},{unsafe:!0}),typeof Yt==\"function\"&&i({global:!0,enumerable:!0,forced:!0},{fetch:function(mt){return P(Ft,Yt.apply(s,arguments))}}))),i({global:!0,wrap:!0,forced:it},{Promise:Ft}),d(Ft,st,!1,!0),h(st),W=a(st),i({target:st,stat:!0,forced:it},{reject:function(mt){var xt=we(this);return xt.reject.call(void 0,mt),xt.promise}}),i({target:st,stat:!0,forced:o||it},{resolve:function(mt){return P(o&&this===W?Ft:this,mt)}}),i({target:st,stat:!0,forced:tt},{all:function(mt){var xt=this,Rt=we(xt),ot=Rt.resolve,ct=Rt.reject,at=L(function(){var T=b(xt.resolve),v=[],u=0,g=1;O(mt,function(S){var x=u++,_=!1;v.push(void 0),g++,T.call(xt,S).then(function(H){_||(_=!0,v[x]=H,--g||ot(v))},ct)}),--g||ot(v)});return at.error&&ct(at.value),Rt.promise},race:function(mt){var xt=this,Rt=we(xt),ot=Rt.reject,ct=L(function(){var at=b(xt.resolve);O(mt,function(T){at.call(xt,T).then(Rt.resolve,ot)})});return ct.error&&ot(ct.value),Rt.promise}})},e893:function(t,n,r){var i=r(\"5135\"),o=r(\"56ef\"),s=r(\"06cf\"),a=r(\"9bf2\");t.exports=function(l,c){for(var f=o(c),d=a.f,h=s.f,p=0;p<f.length;p++){var b=f[p];i(l,b)||d(l,b,h(c,b))}}},e8b5:function(t,n,r){var i=r(\"c6b6\");t.exports=Array.isArray||function(s){return i(s)==\"Array\"}},e95a:function(t,n,r){var i=r(\"b622\"),o=r(\"3f8c\"),s=i(\"iterator\"),a=Array.prototype;t.exports=function(l){return l!==void 0&&(o.Array===l||a[s]===l)}},f069:function(t,n,r){var i=r(\"1c0b\"),o=function(s){var a,l;this.promise=new s(function(c,f){if(a!==void 0||l!==void 0)throw TypeError(\"Bad Promise constructor\");a=c,l=f}),this.resolve=i(a),this.reject=i(l)};t.exports.f=function(s){return new o(s)}},f5df:function(t,n,r){var i=r(\"00ee\"),o=r(\"c6b6\"),s=r(\"b622\"),a=s(\"toStringTag\"),l=o(function(){return arguments}())==\"Arguments\",c=function(f,d){try{return f[d]}catch{}};t.exports=i?o:function(f){var d,h,p;return f===void 0?\"Undefined\":f===null?\"Null\":typeof(h=c(d=Object(f),a))==\"string\"?h:l?o(d):(p=o(d))==\"Object\"&&typeof d.callee==\"function\"?\"Arguments\":p}},f772:function(t,n,r){var i=r(\"5692\"),o=r(\"90e3\"),s=i(\"keys\");t.exports=function(a){return s[a]||(s[a]=o(a))}},fb15:function(t,n,r){if(r.r(n),typeof window!=\"undefined\"){var i=window.document.currentScript;{var o=r(\"8875\");i=o(),\"currentScript\"in document||Object.defineProperty(document,\"currentScript\",{get:o})}var s=i&&i.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/);s&&(r.p=s[1])}var a=r(\"8bbf\"),l={ref:\"container\",class:\"lightgallery-vue\"};function c(T,v,u,g,S,x){return Object(a.openBlock)(),Object(a.createBlock)(\"div\",l,[Object(a.renderSlot)(T.$slots,\"default\")],512)}r(\"b64b\"),r(\"a4d3\"),r(\"4de4\"),r(\"e439\"),r(\"159b\"),r(\"dbb4\");function f(T,v,u){return v in T?Object.defineProperty(T,v,{value:u,enumerable:!0,configurable:!0,writable:!0}):T[v]=u,T}function d(T,v){var u=Object.keys(T);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(T);v&&(g=g.filter(function(S){return Object.getOwnPropertyDescriptor(T,S).enumerable})),u.push.apply(u,g)}return u}function h(T){for(var v=1;v<arguments.length;v++){var u=arguments[v]!=null?arguments[v]:{};v%2?d(Object(u),!0).forEach(function(g){f(T,g,u[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(T,Object.getOwnPropertyDescriptors(u)):d(Object(u)).forEach(function(g){Object.defineProperty(T,g,Object.getOwnPropertyDescriptor(u,g))})}return T}function p(T,v){if(!(T instanceof v))throw new TypeError(\"Cannot call a class as a function\")}function b(T,v){for(var u=0;u<v.length;u++){var g=v[u];g.enumerable=g.enumerable||!1,g.configurable=!0,\"value\"in g&&(g.writable=!0),Object.defineProperty(T,g.key,g)}}function A(T,v,u){return v&&b(T.prototype,v),u&&b(T,u),T}function F(T,v){return F=Object.setPrototypeOf||function(g,S){return g.__proto__=S,g},F(T,v)}function O(T,v){if(typeof v!=\"function\"&&v!==null)throw new TypeError(\"Super expression must either be null or a function\");T.prototype=Object.create(v&&v.prototype,{constructor:{value:T,writable:!0,configurable:!0}}),v&&F(T,v)}r(\"4ae1\"),r(\"3410\");function m(T){return m=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},m(T)}function I(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}var E=r(\"7037\"),N=r.n(E);function P(T){if(T===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return T}function R(T,v){return v&&(N()(v)===\"object\"||typeof v==\"function\")?v:P(T)}function C(T){var v=I();return function(){var g=m(T),S;if(v){var x=m(this).constructor;S=Reflect.construct(g,arguments,x)}else S=g.apply(this,arguments);return R(this,S)}}r(\"fb6a\"),r(\"ac1f\"),r(\"1276\");function L(T,v,u,g){var S=arguments.length,x=S<3?v:g===null?g=Object.getOwnPropertyDescriptor(v,u):g,_;if(typeof Reflect==\"object\"&&typeof Reflect.decorate==\"function\")x=Reflect.decorate(T,v,u,g);else for(var H=T.length-1;H>=0;H--)(_=T[H])&&(x=(S<3?_(x):S>3?_(v,u,x):_(v,u))||x);return S>3&&x&&Object.defineProperty(v,u,x),x}/**\n  * vue-class-component v8.0.0-rc.1\n  * (c) 2015-present Evan You\n  * @license MIT\n  */function U(T,v){if(!(T instanceof v))throw new TypeError(\"Cannot call a class as a function\")}function z(T,v){for(var u=0;u<v.length;u++){var g=v[u];g.enumerable=g.enumerable||!1,g.configurable=!0,\"value\"in g&&(g.writable=!0),Object.defineProperty(T,g.key,g)}}function V(T,v,u){return v&&z(T.prototype,v),u&&z(T,u),T}function rt(T,v,u){return v in T?Object.defineProperty(T,v,{value:u,enumerable:!0,configurable:!0,writable:!0}):T[v]=u,T}function Q(T,v){var u=Object.keys(T);if(Object.getOwnPropertySymbols){var g=Object.getOwnPropertySymbols(T);v&&(g=g.filter(function(S){return Object.getOwnPropertyDescriptor(T,S).enumerable})),u.push.apply(u,g)}return u}function bt(T){for(var v=1;v<arguments.length;v++){var u=arguments[v]!=null?arguments[v]:{};v%2?Q(Object(u),!0).forEach(function(g){rt(T,g,u[g])}):Object.getOwnPropertyDescriptors?Object.defineProperties(T,Object.getOwnPropertyDescriptors(u)):Q(Object(u)).forEach(function(g){Object.defineProperty(T,g,Object.getOwnPropertyDescriptor(u,g))})}return T}function st(T,v){if(typeof v!=\"function\"&&v!==null)throw new TypeError(\"Super expression must either be null or a function\");T.prototype=Object.create(v&&v.prototype,{constructor:{value:T,writable:!0,configurable:!0}}),v&&dt(T,v)}function pt(T){return pt=Object.setPrototypeOf?Object.getPrototypeOf:function(u){return u.__proto__||Object.getPrototypeOf(u)},pt(T)}function dt(T,v){return dt=Object.setPrototypeOf||function(g,S){return g.__proto__=S,g},dt(T,v)}function qt(){if(typeof Reflect==\"undefined\"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy==\"function\")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function Ft(T){if(T===void 0)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return T}function se(T,v){return v&&(typeof v==\"object\"||typeof v==\"function\")?v:Ft(T)}function ce(T){var v=qt();return function(){var g=pt(T),S;if(v){var x=pt(this).constructor;S=Reflect.construct(g,arguments,x)}else S=g.apply(this,arguments);return se(this,S)}}function It(T){return Yt(T)||we(T)||Oe(T)||Be()}function Yt(T){if(Array.isArray(T))return Ye(T)}function we(T){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(T))return Array.from(T)}function Oe(T,v){if(!!T){if(typeof T==\"string\")return Ye(T,v);var u=Object.prototype.toString.call(T).slice(8,-1);if(u===\"Object\"&&T.constructor&&(u=T.constructor.name),u===\"Map\"||u===\"Set\")return Array.from(T);if(u===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u))return Ye(T,v)}}function Ye(T,v){(v==null||v>T.length)&&(v=T.length);for(var u=0,g=new Array(v);u<v;u++)g[u]=T[u];return g}function Be(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Se(T,v,u){Object.defineProperty(T,v,{get:u,enumerable:!1,configurable:!0})}function Ie(T,v,u){Object.defineProperty(T,v,{get:function(){return u[v].value},set:function(S){u[v].value=S},enumerable:!0,configurable:!0})}function ae(T){var v=Object.getPrototypeOf(T.prototype);if(!!v)return v.constructor}function lt(T,v){return T.hasOwnProperty(v)?T[v]:void 0}var Ue=function(){function T(v,u){var g=this;U(this,T),Se(this,\"$props\",function(){return v}),Se(this,\"$attrs\",function(){return u.attrs}),Se(this,\"$slots\",function(){return u.slots}),Se(this,\"$emit\",function(){return u.emit}),Object.keys(v).forEach(function(S){Object.defineProperty(g,S,{enumerable:!1,configurable:!0,writable:!0,value:v[S]})})}return V(T,null,[{key:\"registerHooks\",value:function(u){var g;(g=this.__h).push.apply(g,It(u))}},{key:\"with\",value:function(u){var g=new u,S={};Object.keys(g).forEach(function(_){var H=g[_];S[_]=H!=null?H:null});var x=function(_){st(ht,_);var H=ce(ht);function ht(){return U(this,ht),H.apply(this,arguments)}return ht}(this);return x.__b={props:S},x}},{key:\"__vccOpts\",get:function(){if(this===w)return{};var u=this,g=lt(u,\"__c\");if(g)return g;var S=bt({},lt(u,\"__o\"));u.__c=S;var x=ae(u);x&&(S.extends=x.__vccOpts);var _=lt(u,\"__b\");_&&(S.mixins=S.mixins||[],S.mixins.unshift(_)),S.methods=bt({},S.methods),S.computed=bt({},S.computed);var H=u.prototype;Object.getOwnPropertyNames(H).forEach(function(St){if(St!==\"constructor\"){if(u.__h.indexOf(St)>-1){S[St]=H[St];return}var Ct=Object.getOwnPropertyDescriptor(H,St);if(typeof Ct.value==\"function\"){S.methods[St]=Ct.value;return}if(Ct.get||Ct.set){S.computed[St]={get:Ct.get,set:Ct.set};return}}}),S.setup=function(St,Ct){var jt,Bt=new u(St,Ct),Ae=Object.keys(Bt),ue={},Fe=null;return Ae.forEach(function(ye){Bt[ye]===void 0||Bt[ye]&&Bt[ye].__s||(ue[ye]=Object(a.ref)(Bt[ye]),Ie(Bt,ye,ue))}),Ae.forEach(function(ye){if(Bt[ye]&&Bt[ye].__s){var je=Bt[ye].__s();je instanceof Promise?(Fe||(Fe=Promise.resolve(ue)),Fe=Fe.then(function(){return je.then(function(sn){return ue[ye]=Object(a.proxyRefs)(sn),ue})})):ue[ye]=Object(a.proxyRefs)(je)}}),(jt=Fe)!==null&&jt!==void 0?jt:ue};var ht=lt(u,\"__d\");ht&&ht.forEach(function(St){return St(S)});var Et=[\"render\",\"ssrRender\",\"__file\",\"__cssModules\",\"__scopeId\",\"__hmrId\"];return Et.forEach(function(St){u[St]&&(S[St]=u[St])}),S}}]),T}();Ue.__h=[\"data\",\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUnmount\",\"unmounted\",\"beforeUpdate\",\"updated\",\"activated\",\"deactivated\",\"render\",\"errorCaptured\",\"serverPrefetch\"];var w=Ue;function B(T){return function(v){return v.__o=T,v}}r(\"99af\"),r(\"7db0\");var j={afterAppendSlide:\"lgAfterAppendSlide\",init:\"lgInit\",hasVideo:\"lgHasVideo\",containerResize:\"lgContainerResize\",updateSlides:\"lgUpdateSlides\",afterAppendSubHtml:\"lgAfterAppendSubHtml\",beforeOpen:\"lgBeforeOpen\",afterOpen:\"lgAfterOpen\",slideItemLoad:\"lgSlideItemLoad\",beforeSlide:\"lgBeforeSlide\",afterSlide:\"lgAfterSlide\",posterClick:\"lgPosterClick\",dragStart:\"lgDragStart\",dragMove:\"lgDragMove\",dragEnd:\"lgDragEnd\",beforeNextSlide:\"lgBeforeNextSlide\",beforePrevSlide:\"lgBeforePrevSlide\",beforeClose:\"lgBeforeClose\",afterClose:\"lgAfterClose\",rotateLeft:\"lgRotateLeft\",rotateRight:\"lgRotateRight\",flipHorizontal:\"lgFlipHorizontal\",flipVertical:\"lgFlipVertical\",autoplay:\"lgAutoplay\",autoplayStart:\"lgAutoplayStart\",autoplayStop:\"lgAutoplayStop\"},Y={mode:\"lg-slide\",easing:\"ease\",speed:400,licenseKey:\"0000-0000-000-0000\",height:\"100%\",width:\"100%\",addClass:\"\",startClass:\"lg-start-zoom\",backdropDuration:300,container:\"\",startAnimationDuration:400,zoomFromOrigin:!0,hideBarsDelay:0,showBarsAfter:1e4,slideDelay:0,supportLegacyBrowser:!0,allowMediaOverlap:!1,videoMaxSize:\"1280-720\",loadYouTubePoster:!0,defaultCaptionHeight:0,ariaLabelledby:\"\",ariaDescribedby:\"\",resetScrollPosition:!0,hideScrollbar:!1,closable:!0,swipeToClose:!0,closeOnTap:!0,showCloseIcon:!0,showMaximizeIcon:!1,loop:!0,escKey:!0,keyPress:!0,trapFocus:!0,controls:!0,slideEndAnimation:!0,hideControlOnEnd:!1,mousewheel:!1,getCaptionFromTitleOrAlt:!0,appendSubHtmlTo:\".lg-sub-html\",subHtmlSelectorRelative:!1,preload:2,numberOfSlideItemsInDom:10,selector:\"\",selectWithin:\"\",nextHtml:\"\",prevHtml:\"\",index:0,iframeWidth:\"100%\",iframeHeight:\"100%\",iframeMaxWidth:\"100%\",iframeMaxHeight:\"100%\",download:!0,counter:!0,appendCounterTo:\".lg-toolbar\",swipeThreshold:50,enableSwipe:!0,enableDrag:!0,dynamic:!1,dynamicEl:[],extraProps:[],exThumbImage:\"\",isMobile:void 0,mobileSettings:{controls:!1,showCloseIcon:!1,download:!1},plugins:[],strings:{closeGallery:\"Close gallery\",toggleMaximize:\"Toggle maximize\",previousSlide:\"Previous slide\",nextSlide:\"Next slide\",download:\"Download\",playVideo:\"Play video\"}};function W(T,v){(v==null||v>T.length)&&(v=T.length);for(var u=0,g=new Array(v);u<v;u++)g[u]=T[u];return g}function et(T){if(Array.isArray(T))return W(T)}r(\"e01a\"),r(\"d3b7\"),r(\"d28b\"),r(\"e260\"),r(\"3ca3\"),r(\"ddb0\"),r(\"a630\");function it(T){if(typeof Symbol!=\"undefined\"&&Symbol.iterator in Object(T))return Array.from(T)}r(\"b0c0\");function tt(T,v){if(!!T){if(typeof T==\"string\")return W(T,v);var u=Object.prototype.toString.call(T).slice(8,-1);if(u===\"Object\"&&T.constructor&&(u=T.constructor.name),u===\"Map\"||u===\"Set\")return Array.from(T);if(u===\"Arguments\"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(u))return W(T,v)}}function nt(){throw new TypeError(`Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Z(T){return et(T)||it(T)||tt(T)||nt()}r(\"5319\"),r(\"d81d\"),r(\"a434\"),r(\"466d\"),r(\"e6cf\"),r(\"25f0\");function gt(){(function(){if(typeof window.CustomEvent==\"function\")return!1;function T(v,u){u=u||{bubbles:!1,cancelable:!1,detail:null};var g=document.createEvent(\"CustomEvent\");return g.initCustomEvent(v,u.bubbles,u.cancelable,u.detail),g}window.CustomEvent=T})(),function(){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector)}()}var ut=function(){function T(v){return p(this,T),this.cssVenderPrefixes=[\"TransitionDuration\",\"TransitionTimingFunction\",\"Transform\",\"Transition\"],this.selector=this._getSelector(v),this.firstElement=this._getFirstEl(),this}return A(T,[{key:\"_getSelector\",value:function(u){var g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:document;if(typeof u!=\"string\")return u;g=g||document;var S=u.substring(0,1);return S===\"#\"?g.querySelector(u):g.querySelectorAll(u)}},{key:\"_each\",value:function(u){return this.selector?(this.selector.length!==void 0?[].forEach.call(this.selector,u):u(this.selector,0),this):this}},{key:\"_setCssVendorPrefix\",value:function(u,g,S){var x=g.replace(/-([a-z])/gi,function(_,H){return H.toUpperCase()});this.cssVenderPrefixes.indexOf(x)!==-1?(u.style[x.charAt(0).toLowerCase()+x.slice(1)]=S,u.style[\"webkit\"+x]=S,u.style[\"moz\"+x]=S,u.style[\"ms\"+x]=S,u.style[\"o\"+x]=S):u.style[x]=S}},{key:\"_getFirstEl\",value:function(){return this.selector&&this.selector.length!==void 0?this.selector[0]:this.selector}},{key:\"isEventMatched\",value:function(u,g){var S=g.split(\".\");return u.split(\".\").filter(function(x){return x}).every(function(x){return S.indexOf(x)!==-1})}},{key:\"attr\",value:function(u,g){return g===void 0?this.firstElement?this.firstElement.getAttribute(u):\"\":(this._each(function(S){S.setAttribute(u,g)}),this)}},{key:\"find\",value:function(u){return X(this._getSelector(u,this.selector))}},{key:\"first\",value:function(){return this.selector&&this.selector.length!==void 0?X(this.selector[0]):X(this.selector)}},{key:\"eq\",value:function(u){return X(this.selector[u])}},{key:\"parent\",value:function(){return X(this.selector.parentElement)}},{key:\"get\",value:function(){return this._getFirstEl()}},{key:\"removeAttr\",value:function(u){var g=u.split(\" \");return this._each(function(S){g.forEach(function(x){return S.removeAttribute(x)})}),this}},{key:\"wrap\",value:function(u){if(!this.firstElement)return this;var g=document.createElement(\"div\");return g.className=u,this.firstElement.parentNode.insertBefore(g,this.firstElement),this.firstElement.parentNode.removeChild(this.firstElement),g.appendChild(this.firstElement),this}},{key:\"addClass\",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:\"\";return this._each(function(g){u.split(\" \").forEach(function(S){S&&g.classList.add(S)})}),this}},{key:\"removeClass\",value:function(u){return this._each(function(g){u.split(\" \").forEach(function(S){S&&g.classList.remove(S)})}),this}},{key:\"hasClass\",value:function(u){return this.firstElement?this.firstElement.classList.contains(u):!1}},{key:\"hasAttribute\",value:function(u){return this.firstElement?this.firstElement.hasAttribute(u):!1}},{key:\"toggleClass\",value:function(u){return this.firstElement?(this.hasClass(u)?this.removeClass(u):this.addClass(u),this):this}},{key:\"css\",value:function(u,g){var S=this;return this._each(function(x){S._setCssVendorPrefix(x,u,g)}),this}},{key:\"on\",value:function(u,g){var S=this;return this.selector?(u.split(\" \").forEach(function(x){Array.isArray(T.eventListeners[x])||(T.eventListeners[x]=[]),T.eventListeners[x].push(g),S.selector.addEventListener(x.split(\".\")[0],g)}),this):this}},{key:\"once\",value:function(u,g){var S=this;return this.on(u,function(){S.off(u),g(u)}),this}},{key:\"off\",value:function(u){var g=this;return this.selector?(Object.keys(T.eventListeners).forEach(function(S){g.isEventMatched(u,S)&&(T.eventListeners[S].forEach(function(x){g.selector.removeEventListener(S.split(\".\")[0],x)}),T.eventListeners[S]=[])}),this):this}},{key:\"trigger\",value:function(u,g){if(!this.firstElement)return this;var S=new CustomEvent(u.split(\".\")[0],{detail:g||null});return this.firstElement.dispatchEvent(S),this}},{key:\"load\",value:function(u){var g=this;return fetch(u).then(function(S){return S.text()}).then(function(S){g.selector.innerHTML=S}),this}},{key:\"html\",value:function(u){return u===void 0?this.firstElement?this.firstElement.innerHTML:\"\":(this._each(function(g){g.innerHTML=u}),this)}},{key:\"append\",value:function(u){return this._each(function(g){typeof u==\"string\"?g.insertAdjacentHTML(\"beforeend\",u):g.appendChild(u)}),this}},{key:\"prepend\",value:function(u){return this._each(function(g){g.insertAdjacentHTML(\"afterbegin\",u)}),this}},{key:\"remove\",value:function(){return this._each(function(u){u.parentNode.removeChild(u)}),this}},{key:\"empty\",value:function(){return this._each(function(u){u.innerHTML=\"\"}),this}},{key:\"scrollTop\",value:function(u){return u!==void 0?(document.body.scrollTop=u,document.documentElement.scrollTop=u,this):window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}},{key:\"scrollLeft\",value:function(u){return u!==void 0?(document.body.scrollLeft=u,document.documentElement.scrollLeft=u,this):window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0}},{key:\"offset\",value:function(){if(!this.firstElement)return{left:0,top:0};var u=this.firstElement.getBoundingClientRect(),g=X(\"body\").style().marginLeft;return{left:u.left-parseFloat(g)+this.scrollLeft(),top:u.top+this.scrollTop()}}},{key:\"style\",value:function(){return this.firstElement?this.firstElement.currentStyle||window.getComputedStyle(this.firstElement):{}}},{key:\"width\",value:function(){var u=this.style();return this.firstElement.clientWidth-parseFloat(u.paddingLeft)-parseFloat(u.paddingRight)}},{key:\"height\",value:function(){var u=this.style();return this.firstElement.clientHeight-parseFloat(u.paddingTop)-parseFloat(u.paddingBottom)}}],[{key:\"generateUUID\",value:function(){return\"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g,function(u){var g=Math.random()*16|0,S=u==\"x\"?g:g&3|8;return S.toString(16)})}}]),T}();ut.eventListeners={};function X(T){return gt(),new ut(T)}var wt=[\"src\",\"sources\",\"subHtml\",\"subHtmlUrl\",\"html\",\"video\",\"poster\",\"slideName\",\"responsive\",\"srcset\",\"sizes\",\"iframe\",\"downloadUrl\",\"download\",\"width\",\"facebookShareUrl\",\"tweetText\",\"iframeTitle\",\"twitterShareUrl\",\"pinterestShareUrl\",\"pinterestText\",\"fbHtml\",\"disqusIdentifier\",\"disqusUrl\"];function Dt(T){return T===\"href\"?\"src\":(T=T.replace(\"data-\",\"\"),T=T.charAt(0).toLowerCase()+T.slice(1),T=T.replace(/-([a-z])/g,function(v){return v[1].toUpperCase()}),T)}var Ht={getSize:function(v,u){var g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,S=arguments.length>3?arguments[3]:void 0,x=X(v),_=x.attr(\"data-lg-size\")||S;if(!!_){var H=_.split(\",\");if(H[1])for(var ht=window.innerWidth,Et=0;Et<H.length;Et++){var St=H[Et],Ct=parseInt(St.split(\"-\")[2],10);if(Ct>ht){_=St;break}Et===H.length-1&&(_=St)}var jt=_.split(\"-\"),Bt=parseInt(jt[0],10),Ae=parseInt(jt[1],10),ue=u.width(),Fe=u.height()-g,ye=Math.min(ue,Bt),je=Math.min(Fe,Ae),sn=Math.min(ye/Bt,je/Ae);return{width:Bt*sn,height:Ae*sn}}},getTransform:function(v,u,g,S,x){if(!!x){var _=X(v).find(\"img\").first();if(!!_.get()){var H=u.get().getBoundingClientRect(),ht=H.width,Et=u.height()-(g+S),St=_.width(),Ct=_.height(),jt=_.style(),Bt=(ht-St)/2-_.offset().left+(parseFloat(jt.paddingLeft)||0)+(parseFloat(jt.borderLeft)||0)+X(window).scrollLeft()+H.left,Ae=(Et-Ct)/2-_.offset().top+(parseFloat(jt.paddingTop)||0)+(parseFloat(jt.borderTop)||0)+X(window).scrollTop()+g,ue=St/x.width,Fe=Ct/x.height,ye=\"translate3d(\"+(Bt*=-1)+\"px, \"+(Ae*=-1)+\"px, 0) scale3d(\"+ue+\", \"+Fe+\", 1)\";return ye}}},getIframeMarkup:function(v,u,g,S,x,_){var H=_?'title=\"'+_+'\"':\"\";return'<div class=\"lg-video-cont lg-has-iframe\" style=\"width:'.concat(v,\"; max-width:\").concat(g,\"; height: \").concat(u,\"; max-height:\").concat(S,`\">\n                    <iframe class=\"lg-object\" frameborder=\"0\" `).concat(H,' src=\"').concat(x,`\"  allowfullscreen=\"true\"></iframe>\n                </div>`)},getImgMarkup:function(v,u,g,S,x,_){var H=S?'srcset=\"'.concat(S,'\"'):\"\",ht=x?'sizes=\"'.concat(x,'\"'):\"\",Et=\"<img \".concat(g,\" \").concat(H,\"  \").concat(ht,' class=\"lg-object lg-image\" data-index=\"').concat(v,'\" src=\"').concat(u,'\" />'),St=\"\";if(_){var Ct=typeof _==\"string\"?JSON.parse(_):_;St=Ct.map(function(jt){var Bt=\"\";return Object.keys(jt).forEach(function(Ae){Bt+=\" \".concat(Ae,'=\"').concat(jt[Ae],'\"')}),\"<source \".concat(Bt,\"></source>\")})}return\"\".concat(St).concat(Et)},getResponsiveSrc:function(v){for(var u=[],g=[],S=\"\",x=0;x<v.length;x++){var _=v[x].split(\" \");_[0]===\"\"&&_.splice(0,1),g.push(_[0]),u.push(_[1])}for(var H=window.innerWidth,ht=0;ht<u.length;ht++)if(parseInt(u[ht],10)>H){S=g[ht];break}return S},isImageLoaded:function(v){return!(!v||!v.complete||v.naturalWidth===0)},getVideoPosterMarkup:function(v,u,g,S,x){var _=\"\";return x&&x.youtube?_=\"lg-has-youtube\":x&&x.vimeo?_=\"lg-has-vimeo\":_=\"lg-has-html5\",'<div class=\"lg-video-cont '.concat(_,'\" style=\"').concat(g,`\">\n                <div class=\"lg-video-play-button\">\n                <svg\n                    viewBox=\"0 0 20 20\"\n                    preserveAspectRatio=\"xMidYMid\"\n                    focusable=\"false\"\n                    aria-labelledby=\"`).concat(S,`\"\n                    role=\"img\"\n                    class=\"lg-video-play-icon\"\n                >\n                    <title>`).concat(S,`</title>\n                    <polygon class=\"lg-video-play-icon-inner\" points=\"1,0 20,10 1,20\"></polygon>\n                </svg>\n                <svg class=\"lg-video-play-icon-bg\" viewBox=\"0 0 50 50\" focusable=\"false\">\n                    <circle cx=\"50%\" cy=\"50%\" r=\"20\"></circle></svg>\n                <svg class=\"lg-video-play-icon-circle\" viewBox=\"0 0 50 50\" focusable=\"false\">\n                    <circle cx=\"50%\" cy=\"50%\" r=\"20\"></circle>\n                </svg>\n            </div>\n            `).concat(u||\"\",`\n            <img class=\"lg-object lg-video-poster\" src=\"`).concat(v,`\" />\n        </div>`)},getFocusableElements:function(v){var u=v.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type=\"text\"]:not([disabled]), input[type=\"radio\"]:not([disabled]), input[type=\"checkbox\"]:not([disabled]), select:not([disabled])'),g=[].filter.call(u,function(S){var x=window.getComputedStyle(S);return x.display!==\"none\"&&x.visibility!==\"hidden\"});return g},getDynamicOptions:function(v,u,g,S){var x=[],_=[].concat(wt,Z(u));return[].forEach.call(v,function(H){for(var ht={},Et=0;Et<H.attributes.length;Et++){var St=H.attributes[Et];if(St.specified){var Ct=Dt(St.name),jt=\"\";_.indexOf(Ct)>-1&&(jt=Ct),jt&&(ht[jt]=St.value)}}var Bt=X(H),Ae=Bt.find(\"img\").first().attr(\"alt\"),ue=Bt.attr(\"title\"),Fe=S?Bt.attr(S):Bt.find(\"img\").first().attr(\"src\");ht.thumb=Fe,g&&!ht.subHtml&&(ht.subHtml=ue||Ae||\"\"),ht.alt=Ae||ue||\"\",x.push(ht)}),x},isMobile:function(){return/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)},isVideo:function(v,u,g){if(!v){if(u)return{html5:!0};console.error(\"lightGallery :- data-src is not provided on slide item \"+(g+1)+\". Please make sure the selector property is properly configured. More info - https://www.lightgalleryjs.com/demos/html-markup/\");return}var S=v.match(/\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com|be-nocookie\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-\\_\\%]+)([\\&|?][\\S]*)*/i),x=v.match(/\\/\\/(?:www\\.)?(?:player\\.)?vimeo.com\\/(?:video\\/)?([0-9a-z\\-_]+)(.*)?/i),_=v.match(/https?:\\/\\/(.+)?(wistia\\.com|wi\\.st)\\/(medias|embed)\\/([0-9a-z\\-_]+)(.*)/);if(S)return{youtube:S};if(x)return{vimeo:x};if(_)return{wistia:_}}},Tt=Ht,J=0,mt=function(){function T(v,u){if(p(this,T),this.lgOpened=!1,this.index=0,this.plugins=[],this.lGalleryOn=!1,this.lgBusy=!1,this.currentItemsInDom=[],this.prevScrollTop=0,this.bodyPaddingRight=0,this.isDummyImageRemoved=!1,this.dragOrSwipeEnabled=!1,this.mediaContainerPosition={top:0,bottom:0},!v)return this;if(J++,this.lgId=J,this.el=v,this.LGel=X(v),this.generateSettings(u),this.buildModules(),this.settings.dynamic&&this.settings.dynamicEl!==void 0&&!Array.isArray(this.settings.dynamicEl))throw\"When using dynamic mode, you must also define dynamicEl as an Array.\";return this.galleryItems=this.getItems(),this.normalizeSettings(),this.init(),this.validateLicense(),this}return A(T,[{key:\"generateSettings\",value:function(u){if(this.settings=h(h({},Y),u),this.settings.isMobile&&typeof this.settings.isMobile==\"function\"?this.settings.isMobile():Tt.isMobile()){var g=h(h({},this.settings.mobileSettings),this.settings.mobileSettings);this.settings=h(h({},this.settings),g)}}},{key:\"normalizeSettings\",value:function(){this.settings.slideEndAnimation&&(this.settings.hideControlOnEnd=!1),this.settings.closable||(this.settings.swipeToClose=!1),this.zoomFromOrigin=this.settings.zoomFromOrigin,this.settings.dynamic&&(this.zoomFromOrigin=!1),this.settings.container||(this.settings.container=document.body),this.settings.preload=Math.min(this.settings.preload,this.galleryItems.length)}},{key:\"init\",value:function(){var u=this;this.addSlideVideoInfo(this.galleryItems),this.buildStructure(),this.LGel.trigger(j.init,{instance:this}),this.settings.keyPress&&this.keyPress(),setTimeout(function(){u.enableDrag(),u.enableSwipe(),u.triggerPosterClick()},50),this.arrow(),this.settings.mousewheel&&this.mousewheel(),this.settings.dynamic||this.openGalleryOnItemClick()}},{key:\"openGalleryOnItemClick\",value:function(){for(var u=this,g=function(_){var H=u.items[_],ht=X(H),Et=ut.generateUUID();ht.attr(\"data-lg-id\",Et).on(\"click.lgcustom-item-\".concat(Et),function(St){St.preventDefault();var Ct=u.settings.index||_;u.openGallery(Ct,H)})},S=0;S<this.items.length;S++)g(S)}},{key:\"buildModules\",value:function(){var u=this;this.settings.plugins.forEach(function(g){u.plugins.push(new g(u,X))})}},{key:\"validateLicense\",value:function(){this.settings.licenseKey?this.settings.licenseKey===\"0000-0000-000-0000\"&&console.warn(\"lightGallery: \".concat(this.settings.licenseKey,\" license key is not valid for production use\")):console.error(\"Please provide a valid license key\")}},{key:\"getSlideItem\",value:function(u){return X(this.getSlideItemId(u))}},{key:\"getSlideItemId\",value:function(u){return\"#lg-item-\".concat(this.lgId,\"-\").concat(u)}},{key:\"getIdName\",value:function(u){return\"\".concat(u,\"-\").concat(this.lgId)}},{key:\"getElementById\",value:function(u){return X(\"#\".concat(this.getIdName(u)))}},{key:\"manageSingleSlideClassName\",value:function(){this.galleryItems.length<2?this.outer.addClass(\"lg-single-item\"):this.outer.removeClass(\"lg-single-item\")}},{key:\"buildStructure\",value:function(){var u=this,g=this.$container&&this.$container.get();if(!g){var S=\"\",x=\"\";this.settings.controls&&(S='<button type=\"button\" id=\"'.concat(this.getIdName(\"lg-prev\"),'\" aria-label=\"').concat(this.settings.strings.previousSlide,'\" class=\"lg-prev lg-icon\"> ').concat(this.settings.prevHtml,` </button>\n                <button type=\"button\" id=\"`).concat(this.getIdName(\"lg-next\"),'\" aria-label=\"').concat(this.settings.strings.nextSlide,'\" class=\"lg-next lg-icon\"> ').concat(this.settings.nextHtml,\" </button>\")),this.settings.appendSubHtmlTo!==\".lg-item\"&&(x='<div class=\"lg-sub-html\" role=\"status\" aria-live=\"polite\"></div>');var _=\"\";this.settings.allowMediaOverlap&&(_+=\"lg-media-overlap \");var H=this.settings.ariaLabelledby?'aria-labelledby=\"'+this.settings.ariaLabelledby+'\"':\"\",ht=this.settings.ariaDescribedby?'aria-describedby=\"'+this.settings.ariaDescribedby+'\"':\"\",Et=\"lg-container \".concat(this.settings.addClass,\" \").concat(document.body!==this.settings.container?\"lg-inline\":\"\"),St=this.settings.closable&&this.settings.showCloseIcon?'<button type=\"button\" aria-label=\"'.concat(this.settings.strings.closeGallery,'\" id=\"').concat(this.getIdName(\"lg-close\"),'\" class=\"lg-close lg-icon\"></button>'):\"\",Ct=this.settings.showMaximizeIcon?'<button type=\"button\" aria-label=\"'.concat(this.settings.strings.toggleMaximize,'\" id=\"').concat(this.getIdName(\"lg-maximize\"),'\" class=\"lg-maximize lg-icon\"></button>'):\"\",jt=`\n        <div class=\"`.concat(Et,'\" id=\"').concat(this.getIdName(\"lg-container\"),'\" tabindex=\"-1\" aria-modal=\"true\" ').concat(H,\" \").concat(ht,` role=\"dialog\"\n        >\n            <div id=\"`).concat(this.getIdName(\"lg-backdrop\"),`\" class=\"lg-backdrop\"></div>\n\n            <div id=\"`).concat(this.getIdName(\"lg-outer\"),'\" class=\"lg-outer lg-use-css3 lg-css3 lg-hide-items ').concat(_,` \">\n\n              <div id=\"`).concat(this.getIdName(\"lg-content\"),`\" class=\"lg-content\">\n                <div id=\"`).concat(this.getIdName(\"lg-inner\"),`\" class=\"lg-inner\">\n                </div>\n                `).concat(S,`\n              </div>\n                <div id=\"`).concat(this.getIdName(\"lg-toolbar\"),`\" class=\"lg-toolbar lg-group\">\n                    `).concat(Ct,`\n                    `).concat(St,`\n                    </div>\n                    `).concat(this.settings.appendSubHtmlTo===\".lg-outer\"?x:\"\",`\n                <div id=\"`).concat(this.getIdName(\"lg-components\"),`\" class=\"lg-components\">\n                    `).concat(this.settings.appendSubHtmlTo===\".lg-sub-html\"?x:\"\",`\n                </div>\n            </div>\n        </div>\n        `);X(this.settings.container).append(jt),document.body!==this.settings.container&&X(this.settings.container).css(\"position\",\"relative\"),this.outer=this.getElementById(\"lg-outer\"),this.$lgComponents=this.getElementById(\"lg-components\"),this.$backdrop=this.getElementById(\"lg-backdrop\"),this.$container=this.getElementById(\"lg-container\"),this.$inner=this.getElementById(\"lg-inner\"),this.$content=this.getElementById(\"lg-content\"),this.$toolbar=this.getElementById(\"lg-toolbar\"),this.$backdrop.css(\"transition-duration\",this.settings.backdropDuration+\"ms\");var Bt=\"\".concat(this.settings.mode,\" \");this.manageSingleSlideClassName(),this.settings.enableDrag&&(Bt+=\"lg-grab \"),this.outer.addClass(Bt),this.$inner.css(\"transition-timing-function\",this.settings.easing),this.$inner.css(\"transition-duration\",this.settings.speed+\"ms\"),this.settings.download&&this.$toolbar.append('<a id=\"'.concat(this.getIdName(\"lg-download\"),'\" target=\"_blank\" rel=\"noopener\" aria-label=\"').concat(this.settings.strings.download,'\" download class=\"lg-download lg-icon\"></a>')),this.counter(),X(window).on(\"resize.lg.global\".concat(this.lgId,\" orientationchange.lg.global\").concat(this.lgId),function(){u.refreshOnResize()}),this.hideBars(),this.manageCloseGallery(),this.toggleMaximize(),this.initModules()}}},{key:\"refreshOnResize\",value:function(){if(this.lgOpened){var u=this.galleryItems[this.index],g=u.__slideVideoInfo;this.mediaContainerPosition=this.getMediaContainerPosition();var S=this.mediaContainerPosition,x=S.top,_=S.bottom;if(this.currentImageSize=Tt.getSize(this.items[this.index],this.outer,x+_,g&&this.settings.videoMaxSize),g&&this.resizeVideoSlide(this.index,this.currentImageSize),this.zoomFromOrigin&&!this.isDummyImageRemoved){var H=this.getDummyImgStyles(this.currentImageSize);this.outer.find(\".lg-current .lg-dummy-img\").first().attr(\"style\",H)}this.LGel.trigger(j.containerResize)}}},{key:\"resizeVideoSlide\",value:function(u,g){var S=this.getVideoContStyle(g),x=this.getSlideItem(u);x.find(\".lg-video-cont\").attr(\"style\",S)}},{key:\"updateSlides\",value:function(u,g){if(this.index>u.length-1&&(this.index=u.length-1),u.length===1&&(this.index=0),!u.length){this.closeGallery();return}var S=this.galleryItems[g].src;this.galleryItems=u,this.updateControls(),this.$inner.empty(),this.currentItemsInDom=[];var x=0;this.galleryItems.some(function(_,H){return _.src===S?(x=H,!0):!1}),this.currentItemsInDom=this.organizeSlideItems(x,-1),this.loadContent(x,!0),this.getSlideItem(x).addClass(\"lg-current\"),this.index=x,this.updateCurrentCounter(x),this.LGel.trigger(j.updateSlides)}},{key:\"getItems\",value:function(){if(this.items=[],this.settings.dynamic)return this.settings.dynamicEl||[];if(this.settings.selector===\"this\")this.items.push(this.el);else if(this.settings.selector)if(typeof this.settings.selector==\"string\")if(this.settings.selectWithin){var u=X(this.settings.selectWithin);this.items=u.find(this.settings.selector).get()}else this.items=this.el.querySelectorAll(this.settings.selector);else this.items=this.settings.selector;else this.items=this.el.children;return Tt.getDynamicOptions(this.items,this.settings.extraProps,this.settings.getCaptionFromTitleOrAlt,this.settings.exThumbImage)}},{key:\"shouldHideScrollbar\",value:function(){return this.settings.hideScrollbar&&document.body===this.settings.container}},{key:\"hideScrollbar\",value:function(){if(!!this.shouldHideScrollbar()){this.bodyPaddingRight=parseFloat(X(\"body\").style().paddingRight);var u=document.documentElement.getBoundingClientRect(),g=window.innerWidth-u.width;X(document.body).css(\"padding-right\",g+this.bodyPaddingRight+\"px\"),X(document.body).addClass(\"lg-overlay-open\")}}},{key:\"resetScrollBar\",value:function(){!this.shouldHideScrollbar()||(X(document.body).css(\"padding-right\",this.bodyPaddingRight+\"px\"),X(document.body).removeClass(\"lg-overlay-open\"))}},{key:\"openGallery\",value:function(){var u=this,g=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.settings.index,S=arguments.length>1?arguments[1]:void 0;if(!this.lgOpened){this.lgOpened=!0,this.outer.removeClass(\"lg-hide-items\"),this.hideScrollbar(),this.$container.addClass(\"lg-show\");var x=this.getItemsToBeInsertedToDom(g,g);this.currentItemsInDom=x;var _=\"\";x.forEach(function(Bt){_=_+'<div id=\"'.concat(Bt,'\" class=\"lg-item\"></div>')}),this.$inner.append(_),this.addHtml(g);var H=\"\";this.mediaContainerPosition=this.getMediaContainerPosition();var ht=this.mediaContainerPosition,Et=ht.top,St=ht.bottom;this.settings.allowMediaOverlap||this.setMediaContainerPosition(Et,St);var Ct=this.galleryItems[g].__slideVideoInfo;this.zoomFromOrigin&&S&&(this.currentImageSize=Tt.getSize(S,this.outer,Et+St,Ct&&this.settings.videoMaxSize),H=Tt.getTransform(S,this.outer,Et,St,this.currentImageSize)),(!this.zoomFromOrigin||!H)&&(this.outer.addClass(this.settings.startClass),this.getSlideItem(g).removeClass(\"lg-complete\"));var jt=this.settings.zoomFromOrigin?100:this.settings.backdropDuration;setTimeout(function(){u.outer.addClass(\"lg-components-open\")},jt),this.index=g,this.LGel.trigger(j.beforeOpen),this.getSlideItem(g).addClass(\"lg-current\"),this.lGalleryOn=!1,this.prevScrollTop=X(window).scrollTop(),setTimeout(function(){if(u.zoomFromOrigin&&H){var Bt=u.getSlideItem(g);Bt.css(\"transform\",H),setTimeout(function(){Bt.addClass(\"lg-start-progress lg-start-end-progress\").css(\"transition-duration\",u.settings.startAnimationDuration+\"ms\"),u.outer.addClass(\"lg-zoom-from-image\")}),setTimeout(function(){Bt.css(\"transform\",\"translate3d(0, 0, 0)\")},100)}setTimeout(function(){u.$backdrop.addClass(\"in\"),u.$container.addClass(\"lg-show-in\")},10),setTimeout(function(){u.settings.trapFocus&&document.body===u.settings.container&&u.trapFocus()},u.settings.backdropDuration+50),(!u.zoomFromOrigin||!H)&&setTimeout(function(){u.outer.addClass(\"lg-visible\")},u.settings.backdropDuration),u.slide(g,!1,!1,!1),u.LGel.trigger(j.afterOpen)}),document.body===this.settings.container&&X(\"html\").addClass(\"lg-on\")}}},{key:\"getMediaContainerPosition\",value:function(){if(this.settings.allowMediaOverlap)return{top:0,bottom:0};var u=this.$toolbar.get().clientHeight||0,g=this.outer.find(\".lg-components .lg-sub-html\").get(),S=this.settings.defaultCaptionHeight||g&&g.clientHeight||0,x=this.outer.find(\".lg-thumb-outer\").get(),_=x?x.clientHeight:0,H=_+S;return{top:u,bottom:H}}},{key:\"setMediaContainerPosition\",value:function(){var u=arguments.length>0&&arguments[0]!==void 0?arguments[0]:0,g=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0;this.$content.css(\"top\",u+\"px\").css(\"bottom\",g+\"px\")}},{key:\"hideBars\",value:function(){var u=this;setTimeout(function(){u.outer.removeClass(\"lg-hide-items\"),u.settings.hideBarsDelay>0&&(u.outer.on(\"mousemove.lg click.lg touchstart.lg\",function(){u.outer.removeClass(\"lg-hide-items\"),clearTimeout(u.hideBarTimeout),u.hideBarTimeout=setTimeout(function(){u.outer.addClass(\"lg-hide-items\")},u.settings.hideBarsDelay)}),u.outer.trigger(\"mousemove.lg\"))},this.settings.showBarsAfter)}},{key:\"initPictureFill\",value:function(u){if(this.settings.supportLegacyBrowser)try{picturefill({elements:[u.get()]})}catch{console.warn(\"lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.\")}}},{key:\"counter\",value:function(){if(this.settings.counter){var u=`<div class=\"lg-counter\" role=\"status\" aria-live=\"polite\">\n                <span id=\"`.concat(this.getIdName(\"lg-counter-current\"),'\" class=\"lg-counter-current\">').concat(this.index+1,` </span> /\n                <span id=\"`).concat(this.getIdName(\"lg-counter-all\"),'\" class=\"lg-counter-all\">').concat(this.galleryItems.length,\" </span></div>\");this.outer.find(this.settings.appendCounterTo).append(u)}}},{key:\"addHtml\",value:function(u){var g,S;if(this.galleryItems[u].subHtmlUrl?S=this.galleryItems[u].subHtmlUrl:g=this.galleryItems[u].subHtml,!S)if(g){var x=g.substring(0,1);(x===\".\"||x===\"#\")&&(this.settings.subHtmlSelectorRelative&&!this.settings.dynamic?g=X(this.items).eq(u).find(g).first().html():g=X(g).first().html())}else g=\"\";if(this.settings.appendSubHtmlTo!==\".lg-item\")S?this.outer.find(\".lg-sub-html\").load(S):this.outer.find(\".lg-sub-html\").html(g);else{var _=X(this.getSlideItemId(u));S?_.load(S):_.append('<div class=\"lg-sub-html\">'.concat(g,\"</div>\"))}typeof g!=\"undefined\"&&g!==null&&(g===\"\"?this.outer.find(this.settings.appendSubHtmlTo).addClass(\"lg-empty-html\"):this.outer.find(this.settings.appendSubHtmlTo).removeClass(\"lg-empty-html\")),this.LGel.trigger(j.afterAppendSubHtml,{index:u})}},{key:\"preload\",value:function(u){for(var g=1;g<=this.settings.preload&&!(g>=this.galleryItems.length-u);g++)this.loadContent(u+g,!1);for(var S=1;S<=this.settings.preload&&!(u-S<0);S++)this.loadContent(u-S,!1)}},{key:\"getDummyImgStyles\",value:function(u){return u?\"width:\".concat(u.width,`px;\n                margin-left: -`).concat(u.width/2,`px;\n                margin-top: -`).concat(u.height/2,`px;\n                height:`).concat(u.height,\"px\"):\"\"}},{key:\"getVideoContStyle\",value:function(u){return u?\"width:\".concat(u.width,`px;\n                height:`).concat(u.height,\"px\"):\"\"}},{key:\"getDummyImageContent\",value:function(u,g,S){var x;if(this.settings.dynamic||(x=X(this.items).eq(g)),x){var _;if(this.settings.exThumbImage?_=x.attr(this.settings.exThumbImage):_=x.find(\"img\").first().attr(\"src\"),!_)return\"\";var H=this.getDummyImgStyles(this.currentImageSize),ht=\"<img \".concat(S,' style=\"').concat(H,'\" class=\"lg-dummy-img\" src=\"').concat(_,'\" />');return u.addClass(\"lg-first-slide\"),this.outer.addClass(\"lg-first-slide-loading\"),ht}return\"\"}},{key:\"setImgMarkup\",value:function(u,g,S){var x=this.galleryItems[S],_=x.alt,H=x.srcset,ht=x.sizes,Et=x.sources,St=\"\",Ct=_?'alt=\"'+_+'\"':\"\";this.isFirstSlideWithZoomAnimation()?St=this.getDummyImageContent(g,S,Ct):St=Tt.getImgMarkup(S,u,Ct,H,ht,Et);var jt='<picture class=\"lg-img-wrap\"> '.concat(St,\"</picture>\");g.prepend(jt)}},{key:\"onSlideObjectLoad\",value:function(u,g,S,x){var _=u.find(\".lg-object\").first();Tt.isImageLoaded(_.get())||g?S():(_.on(\"load.lg error.lg\",function(){S&&S()}),_.on(\"error.lg\",function(){x&&x()}))}},{key:\"onLgObjectLoad\",value:function(u,g,S,x,_,H){var ht=this;this.onSlideObjectLoad(u,H,function(){ht.triggerSlideItemLoad(u,g,S,x,_)},function(){u.addClass(\"lg-complete lg-complete_\"),u.html('<span class=\"lg-error-msg\">Oops... Failed to load content...</span>')})}},{key:\"triggerSlideItemLoad\",value:function(u,g,S,x,_){var H=this,ht=this.galleryItems[g],Et=_&&this.getSlideType(ht)===\"video\"&&!ht.poster?x:0;setTimeout(function(){u.addClass(\"lg-complete lg-complete_\"),H.LGel.trigger(j.slideItemLoad,{index:g,delay:S||0,isFirstSlide:_})},Et)}},{key:\"isFirstSlideWithZoomAnimation\",value:function(){return!!(!this.lGalleryOn&&this.zoomFromOrigin&&this.currentImageSize)}},{key:\"addSlideVideoInfo\",value:function(u){var g=this;u.forEach(function(S,x){S.__slideVideoInfo=Tt.isVideo(S.src,!!S.video,x),S.__slideVideoInfo&&g.settings.loadYouTubePoster&&!S.poster&&S.__slideVideoInfo.youtube&&(S.poster=\"//img.youtube.com/vi/\".concat(S.__slideVideoInfo.youtube[1],\"/maxresdefault.jpg\"))})}},{key:\"loadContent\",value:function(u,g){var S=this,x=this.galleryItems[u],_=X(this.getSlideItemId(u)),H=x.poster,ht=x.srcset,Et=x.sizes,St=x.sources,Ct=x.src,jt=x.video,Bt=jt&&typeof jt==\"string\"?JSON.parse(jt):jt;if(x.responsive){var Ae=x.responsive.split(\",\");Ct=Tt.getResponsiveSrc(Ae)||Ct}var ue=x.__slideVideoInfo,Fe=\"\",ye=!!x.iframe,je=!this.lGalleryOn,sn=0;if(je&&(this.zoomFromOrigin&&this.currentImageSize?sn=this.settings.startAnimationDuration+10:sn=this.settings.backdropDuration+10),!_.hasClass(\"lg-loaded\")){if(ue){var on=this.mediaContainerPosition,ul=on.top,fl=on.bottom,dl=Tt.getSize(this.items[u],this.outer,ul+fl,ue&&this.settings.videoMaxSize);Fe=this.getVideoContStyle(dl)}if(ye){var hl=Tt.getIframeMarkup(this.settings.iframeWidth,this.settings.iframeHeight,this.settings.iframeMaxWidth,this.settings.iframeMaxHeight,Ct,x.iframeTitle);_.prepend(hl)}else if(H){var Oo=\"\",pl=je&&this.zoomFromOrigin&&this.currentImageSize;pl&&(Oo=this.getDummyImageContent(_,u,\"\"));var gl=Tt.getVideoPosterMarkup(H,Oo||\"\",Fe,this.settings.strings.playVideo,ue);_.prepend(gl)}else if(ue){var ml='<div class=\"lg-video-cont \" style=\"'.concat(Fe,'\"></div>');_.prepend(ml)}else if(this.setImgMarkup(Ct,_,u),ht||St){var yl=_.find(\".lg-object\");this.initPictureFill(yl)}(H||ue)&&this.LGel.trigger(j.hasVideo,{index:u,src:Ct,html5Video:Bt,hasPoster:!!H}),this.LGel.trigger(j.afterAppendSlide,{index:u}),this.lGalleryOn&&this.settings.appendSubHtmlTo===\".lg-item\"&&this.addHtml(u)}var Gr=0;sn&&!X(document.body).hasClass(\"lg-from-hash\")&&(Gr=sn),this.isFirstSlideWithZoomAnimation()&&(setTimeout(function(){_.removeClass(\"lg-start-end-progress lg-start-progress\").removeAttr(\"style\")},this.settings.startAnimationDuration+100),_.hasClass(\"lg-loaded\")||setTimeout(function(){if(S.getSlideType(x)===\"image\"){var Ai=x.alt,Ao=Ai?'alt=\"'+Ai+'\"':\"\";if(_.find(\".lg-img-wrap\").append(Tt.getImgMarkup(u,Ct,Ao,ht,Et,x.sources)),ht||St){var vl=_.find(\".lg-object\");S.initPictureFill(vl)}}(S.getSlideType(x)===\"image\"||S.getSlideType(x)===\"video\"&&H)&&(S.onLgObjectLoad(_,u,sn,Gr,!0,!1),S.onSlideObjectLoad(_,!!(ue&&ue.html5&&!H),function(){S.loadContentOnFirstSlideLoad(u,_,Gr)},function(){S.loadContentOnFirstSlideLoad(u,_,Gr)}))},this.settings.startAnimationDuration+100)),_.addClass(\"lg-loaded\"),(!this.isFirstSlideWithZoomAnimation()||this.getSlideType(x)===\"video\"&&!H)&&this.onLgObjectLoad(_,u,sn,Gr,je,!!(ue&&ue.html5&&!H)),(!this.zoomFromOrigin||!this.currentImageSize)&&_.hasClass(\"lg-complete_\")&&!this.lGalleryOn&&setTimeout(function(){_.addClass(\"lg-complete\")},this.settings.backdropDuration),this.lGalleryOn=!0,g===!0&&(_.hasClass(\"lg-complete_\")?this.preload(u):_.find(\".lg-object\").first().on(\"load.lg error.lg\",function(){S.preload(u)}))}},{key:\"loadContentOnFirstSlideLoad\",value:function(u,g,S){var x=this;setTimeout(function(){g.find(\".lg-dummy-img\").remove(),g.removeClass(\"lg-first-slide\"),x.outer.removeClass(\"lg-first-slide-loading\"),x.isDummyImageRemoved=!0,x.preload(u)},S+300)}},{key:\"getItemsToBeInsertedToDom\",value:function(u,g){var S=this,x=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,_=[],H=Math.max(x,3);H=Math.min(H,this.galleryItems.length);var ht=\"lg-item-\".concat(this.lgId,\"-\").concat(g);if(this.galleryItems.length<=3)return this.galleryItems.forEach(function(ue,Fe){_.push(\"lg-item-\".concat(S.lgId,\"-\").concat(Fe))}),_;if(u<(this.galleryItems.length-1)/2){for(var Et=u;Et>u-H/2&&Et>=0;Et--)_.push(\"lg-item-\".concat(this.lgId,\"-\").concat(Et));for(var St=_.length,Ct=0;Ct<H-St;Ct++)_.push(\"lg-item-\".concat(this.lgId,\"-\").concat(u+Ct+1))}else{for(var jt=u;jt<=this.galleryItems.length-1&&jt<u+H/2;jt++)_.push(\"lg-item-\".concat(this.lgId,\"-\").concat(jt));for(var Bt=_.length,Ae=0;Ae<H-Bt;Ae++)_.push(\"lg-item-\".concat(this.lgId,\"-\").concat(u-Ae-1))}return this.settings.loop&&(u===this.galleryItems.length-1?_.push(\"lg-item-\".concat(this.lgId,\"-\",0)):u===0&&_.push(\"lg-item-\".concat(this.lgId,\"-\").concat(this.galleryItems.length-1))),_.indexOf(ht)===-1&&_.push(\"lg-item-\".concat(this.lgId,\"-\").concat(g)),_}},{key:\"organizeSlideItems\",value:function(u,g){var S=this,x=this.getItemsToBeInsertedToDom(u,g,this.settings.numberOfSlideItemsInDom);return x.forEach(function(_){S.currentItemsInDom.indexOf(_)===-1&&S.$inner.append('<div id=\"'.concat(_,'\" class=\"lg-item\"></div>'))}),this.currentItemsInDom.forEach(function(_){x.indexOf(_)===-1&&X(\"#\".concat(_)).remove()}),x}},{key:\"getPreviousSlideIndex\",value:function(){var u=0;try{var g=this.outer.find(\".lg-current\").first().attr(\"id\");u=parseInt(g.split(\"-\")[3])||0}catch{u=0}return u}},{key:\"setDownloadValue\",value:function(u){if(this.settings.download){var g=this.galleryItems[u],S=g.downloadUrl===!1||g.downloadUrl===\"false\";if(S)this.outer.addClass(\"lg-hide-download\");else{var x=this.getElementById(\"lg-download\");this.outer.removeClass(\"lg-hide-download\"),x.attr(\"href\",g.downloadUrl||g.src),g.download&&x.attr(\"download\",g.download)}}}},{key:\"makeSlideAnimation\",value:function(u,g,S){var x=this;this.lGalleryOn&&S.addClass(\"lg-slide-progress\"),setTimeout(function(){x.outer.addClass(\"lg-no-trans\"),x.outer.find(\".lg-item\").removeClass(\"lg-prev-slide lg-next-slide\"),u===\"prev\"?(g.addClass(\"lg-prev-slide\"),S.addClass(\"lg-next-slide\")):(g.addClass(\"lg-next-slide\"),S.addClass(\"lg-prev-slide\")),setTimeout(function(){x.outer.find(\".lg-item\").removeClass(\"lg-current\"),g.addClass(\"lg-current\"),x.outer.removeClass(\"lg-no-trans\")},50)},this.lGalleryOn?this.settings.slideDelay:0)}},{key:\"slide\",value:function(u,g,S,x){var _=this,H=this.getPreviousSlideIndex();if(this.currentItemsInDom=this.organizeSlideItems(u,H),!(this.lGalleryOn&&H===u)){var ht=this.galleryItems.length;if(!this.lgBusy){this.settings.counter&&this.updateCurrentCounter(u);var Et=this.getSlideItem(u),St=this.getSlideItem(H),Ct=this.galleryItems[u],jt=Ct.__slideVideoInfo;if(this.outer.attr(\"data-lg-slide-type\",this.getSlideType(Ct)),this.setDownloadValue(u),jt){var Bt=this.mediaContainerPosition,Ae=Bt.top,ue=Bt.bottom,Fe=Tt.getSize(this.items[u],this.outer,Ae+ue,jt&&this.settings.videoMaxSize);this.resizeVideoSlide(u,Fe)}if(this.LGel.trigger(j.beforeSlide,{prevIndex:H,index:u,fromTouch:!!g,fromThumb:!!S}),this.lgBusy=!0,clearTimeout(this.hideBarTimeout),this.arrowDisable(u),x||(u<H?x=\"prev\":u>H&&(x=\"next\")),!g)this.makeSlideAnimation(x,Et,St);else{this.outer.find(\".lg-item\").removeClass(\"lg-prev-slide lg-current lg-next-slide\");var ye,je;ht>2?(ye=u-1,je=u+1,(u===0&&H===ht-1||u===ht-1&&H===0)&&(je=0,ye=ht-1)):(ye=0,je=1),x===\"prev\"?this.getSlideItem(je).addClass(\"lg-next-slide\"):this.getSlideItem(ye).addClass(\"lg-prev-slide\"),Et.addClass(\"lg-current\")}this.lGalleryOn?setTimeout(function(){_.loadContent(u,!0),_.settings.appendSubHtmlTo!==\".lg-item\"&&_.addHtml(u)},this.settings.speed+50+(g?0:this.settings.slideDelay)):this.loadContent(u,!0),setTimeout(function(){_.lgBusy=!1,St.removeClass(\"lg-slide-progress\"),_.LGel.trigger(j.afterSlide,{prevIndex:H,index:u,fromTouch:g,fromThumb:S})},(this.lGalleryOn?this.settings.speed+100:100)+(g?0:this.settings.slideDelay))}this.index=u}}},{key:\"updateCurrentCounter\",value:function(u){this.getElementById(\"lg-counter-current\").html(u+1+\"\")}},{key:\"updateCounterTotal\",value:function(){this.getElementById(\"lg-counter-all\").html(this.galleryItems.length+\"\")}},{key:\"getSlideType\",value:function(u){return u.__slideVideoInfo?\"video\":u.iframe?\"iframe\":\"image\"}},{key:\"touchMove\",value:function(u,g,S){var x=g.pageX-u.pageX,_=g.pageY-u.pageY,H=!1;if(this.swipeDirection?H=!0:Math.abs(x)>15?(this.swipeDirection=\"horizontal\",H=!0):Math.abs(_)>15&&(this.swipeDirection=\"vertical\",H=!0),!!H){var ht=this.getSlideItem(this.index);if(this.swipeDirection===\"horizontal\"){S==null||S.preventDefault(),this.outer.addClass(\"lg-dragging\"),this.setTranslate(ht,x,0);var Et=ht.get().offsetWidth,St=Et*15/100,Ct=St-Math.abs(x*10/100);this.setTranslate(this.outer.find(\".lg-prev-slide\").first(),-Et+x-Ct,0),this.setTranslate(this.outer.find(\".lg-next-slide\").first(),Et+x+Ct,0)}else if(this.swipeDirection===\"vertical\"&&this.settings.swipeToClose){S==null||S.preventDefault(),this.$container.addClass(\"lg-dragging-vertical\");var jt=1-Math.abs(_)/window.innerHeight;this.$backdrop.css(\"opacity\",jt);var Bt=1-Math.abs(_)/(window.innerWidth*2);this.setTranslate(ht,0,_,Bt,Bt),Math.abs(_)>100&&this.outer.addClass(\"lg-hide-items\").removeClass(\"lg-components-open\")}}}},{key:\"touchEnd\",value:function(u,g,S){var x=this,_;this.settings.mode!==\"lg-slide\"&&this.outer.addClass(\"lg-slide\"),setTimeout(function(){x.$container.removeClass(\"lg-dragging-vertical\"),x.outer.removeClass(\"lg-dragging lg-hide-items\").addClass(\"lg-components-open\");var H=!0;if(x.swipeDirection===\"horizontal\"){_=u.pageX-g.pageX;var ht=Math.abs(u.pageX-g.pageX);_<0&&ht>x.settings.swipeThreshold?(x.goToNextSlide(!0),H=!1):_>0&&ht>x.settings.swipeThreshold&&(x.goToPrevSlide(!0),H=!1)}else if(x.swipeDirection===\"vertical\")if(_=Math.abs(u.pageY-g.pageY),x.settings.closable&&x.settings.swipeToClose&&_>100){x.closeGallery();return}else x.$backdrop.css(\"opacity\",1);if(x.outer.find(\".lg-item\").removeAttr(\"style\"),H&&Math.abs(u.pageX-g.pageX)<5){var Et=X(S.target);x.isPosterElement(Et)&&x.LGel.trigger(j.posterClick)}x.swipeDirection=void 0}),setTimeout(function(){!x.outer.hasClass(\"lg-dragging\")&&x.settings.mode!==\"lg-slide\"&&x.outer.removeClass(\"lg-slide\")},this.settings.speed+100)}},{key:\"enableSwipe\",value:function(){var u=this,g={},S={},x=!1,_=!1;this.settings.enableSwipe&&(this.$inner.on(\"touchstart.lg\",function(H){u.dragOrSwipeEnabled=!0;var ht=u.getSlideItem(u.index);(X(H.target).hasClass(\"lg-item\")||ht.get().contains(H.target))&&!u.outer.hasClass(\"lg-zoomed\")&&!u.lgBusy&&H.touches.length===1&&(_=!0,u.touchAction=\"swipe\",u.manageSwipeClass(),g={pageX:H.touches[0].pageX,pageY:H.touches[0].pageY})}),this.$inner.on(\"touchmove.lg\",function(H){_&&u.touchAction===\"swipe\"&&H.touches.length===1&&(S={pageX:H.touches[0].pageX,pageY:H.touches[0].pageY},u.touchMove(g,S,H),x=!0)}),this.$inner.on(\"touchend.lg\",function(H){if(u.touchAction===\"swipe\"){if(x)x=!1,u.touchEnd(S,g,H);else if(_){var ht=X(H.target);u.isPosterElement(ht)&&u.LGel.trigger(j.posterClick)}u.touchAction=void 0,_=!1}}))}},{key:\"enableDrag\",value:function(){var u=this,g={},S={},x=!1,_=!1;this.settings.enableDrag&&(this.outer.on(\"mousedown.lg\",function(H){u.dragOrSwipeEnabled=!0;var ht=u.getSlideItem(u.index);(X(H.target).hasClass(\"lg-item\")||ht.get().contains(H.target))&&!u.outer.hasClass(\"lg-zoomed\")&&!u.lgBusy&&(H.preventDefault(),u.lgBusy||(u.manageSwipeClass(),g={pageX:H.pageX,pageY:H.pageY},x=!0,u.outer.get().scrollLeft+=1,u.outer.get().scrollLeft-=1,u.outer.removeClass(\"lg-grab\").addClass(\"lg-grabbing\"),u.LGel.trigger(j.dragStart)))}),X(window).on(\"mousemove.lg.global\".concat(this.lgId),function(H){x&&u.lgOpened&&(_=!0,S={pageX:H.pageX,pageY:H.pageY},u.touchMove(g,S),u.LGel.trigger(j.dragMove))}),X(window).on(\"mouseup.lg.global\".concat(this.lgId),function(H){if(!!u.lgOpened){var ht=X(H.target);_?(_=!1,u.touchEnd(S,g,H),u.LGel.trigger(j.dragEnd)):u.isPosterElement(ht)&&u.LGel.trigger(j.posterClick),x&&(x=!1,u.outer.removeClass(\"lg-grabbing\").addClass(\"lg-grab\"))}}))}},{key:\"triggerPosterClick\",value:function(){var u=this;this.$inner.on(\"click.lg\",function(g){!u.dragOrSwipeEnabled&&u.isPosterElement(X(g.target))&&u.LGel.trigger(j.posterClick)})}},{key:\"manageSwipeClass\",value:function(){var u=this.index+1,g=this.index-1;this.settings.loop&&this.galleryItems.length>2&&(this.index===0?g=this.galleryItems.length-1:this.index===this.galleryItems.length-1&&(u=0)),this.outer.find(\".lg-item\").removeClass(\"lg-next-slide lg-prev-slide\"),g>-1&&this.getSlideItem(g).addClass(\"lg-prev-slide\"),this.getSlideItem(u).addClass(\"lg-next-slide\")}},{key:\"goToNextSlide\",value:function(u){var g=this,S=this.settings.loop;u&&this.galleryItems.length<3&&(S=!1),this.lgBusy||(this.index+1<this.galleryItems.length?(this.index++,this.LGel.trigger(j.beforeNextSlide,{index:this.index}),this.slide(this.index,!!u,!1,\"next\")):S?(this.index=0,this.LGel.trigger(j.beforeNextSlide,{index:this.index}),this.slide(this.index,!!u,!1,\"next\")):this.settings.slideEndAnimation&&!u&&(this.outer.addClass(\"lg-right-end\"),setTimeout(function(){g.outer.removeClass(\"lg-right-end\")},400)))}},{key:\"goToPrevSlide\",value:function(u){var g=this,S=this.settings.loop;u&&this.galleryItems.length<3&&(S=!1),this.lgBusy||(this.index>0?(this.index--,this.LGel.trigger(j.beforePrevSlide,{index:this.index,fromTouch:u}),this.slide(this.index,!!u,!1,\"prev\")):S?(this.index=this.galleryItems.length-1,this.LGel.trigger(j.beforePrevSlide,{index:this.index,fromTouch:u}),this.slide(this.index,!!u,!1,\"prev\")):this.settings.slideEndAnimation&&!u&&(this.outer.addClass(\"lg-left-end\"),setTimeout(function(){g.outer.removeClass(\"lg-left-end\")},400)))}},{key:\"keyPress\",value:function(){var u=this;X(window).on(\"keydown.lg.global\".concat(this.lgId),function(g){u.lgOpened&&u.settings.escKey===!0&&g.keyCode===27&&(g.preventDefault(),u.settings.allowMediaOverlap&&u.outer.hasClass(\"lg-can-toggle\")&&u.outer.hasClass(\"lg-components-open\")?u.outer.removeClass(\"lg-components-open\"):u.closeGallery()),u.lgOpened&&u.galleryItems.length>1&&(g.keyCode===37&&(g.preventDefault(),u.goToPrevSlide()),g.keyCode===39&&(g.preventDefault(),u.goToNextSlide()))})}},{key:\"arrow\",value:function(){var u=this;this.getElementById(\"lg-prev\").on(\"click.lg\",function(){u.goToPrevSlide()}),this.getElementById(\"lg-next\").on(\"click.lg\",function(){u.goToNextSlide()})}},{key:\"arrowDisable\",value:function(u){if(!this.settings.loop&&this.settings.hideControlOnEnd){var g=this.getElementById(\"lg-prev\"),S=this.getElementById(\"lg-next\");u+1===this.galleryItems.length?S.attr(\"disabled\",\"disabled\").addClass(\"disabled\"):S.removeAttr(\"disabled\").removeClass(\"disabled\"),u===0?g.attr(\"disabled\",\"disabled\").addClass(\"disabled\"):g.removeAttr(\"disabled\").removeClass(\"disabled\")}}},{key:\"setTranslate\",value:function(u,g,S){var x=arguments.length>3&&arguments[3]!==void 0?arguments[3]:1,_=arguments.length>4&&arguments[4]!==void 0?arguments[4]:1;u.css(\"transform\",\"translate3d(\"+g+\"px, \"+S+\"px, 0px) scale3d(\"+x+\", \"+_+\", 1)\")}},{key:\"mousewheel\",value:function(){var u=this,g=0;this.outer.on(\"wheel.lg\",function(S){if(!(!S.deltaY||u.galleryItems.length<2)){S.preventDefault();var x=new Date().getTime();x-g<1e3||(g=x,S.deltaY>0?u.goToNextSlide():S.deltaY<0&&u.goToPrevSlide())}})}},{key:\"isSlideElement\",value:function(u){return u.hasClass(\"lg-outer\")||u.hasClass(\"lg-item\")||u.hasClass(\"lg-img-wrap\")}},{key:\"isPosterElement\",value:function(u){var g=this.getSlideItem(this.index).find(\".lg-video-play-button\").get();return u.hasClass(\"lg-video-poster\")||u.hasClass(\"lg-video-play-button\")||g&&g.contains(u.get())}},{key:\"toggleMaximize\",value:function(){var u=this;this.getElementById(\"lg-maximize\").on(\"click.lg\",function(){u.$container.toggleClass(\"lg-inline\"),u.refreshOnResize()})}},{key:\"invalidateItems\",value:function(){for(var u=0;u<this.items.length;u++){var g=this.items[u],S=X(g);S.off(\"click.lgcustom-item-\".concat(S.attr(\"data-lg-id\")))}}},{key:\"trapFocus\",value:function(){var u=this;this.$container.get().focus({preventScroll:!0}),X(window).on(\"keydown.lg.global\".concat(this.lgId),function(g){if(!!u.lgOpened){var S=g.key===\"Tab\"||g.keyCode===9;if(!!S){var x=Tt.getFocusableElements(u.$container.get()),_=x[0],H=x[x.length-1];g.shiftKey?document.activeElement===_&&(H.focus(),g.preventDefault()):document.activeElement===H&&(_.focus(),g.preventDefault())}}})}},{key:\"manageCloseGallery\",value:function(){var u=this;if(!!this.settings.closable){var g=!1;this.getElementById(\"lg-close\").on(\"click.lg\",function(){u.closeGallery()}),this.settings.closeOnTap&&(this.outer.on(\"mousedown.lg\",function(S){var x=X(S.target);u.isSlideElement(x)?g=!0:g=!1}),this.outer.on(\"mousemove.lg\",function(){g=!1}),this.outer.on(\"mouseup.lg\",function(S){var x=X(S.target);u.isSlideElement(x)&&g&&(u.outer.hasClass(\"lg-dragging\")||u.closeGallery())}))}}},{key:\"closeGallery\",value:function(u){var g=this;if(!this.lgOpened||!this.settings.closable&&!u)return 0;this.LGel.trigger(j.beforeClose),this.settings.resetScrollPosition&&!this.settings.hideScrollbar&&X(window).scrollTop(this.prevScrollTop);var S=this.items[this.index],x;if(this.zoomFromOrigin&&S){var _=this.mediaContainerPosition,H=_.top,ht=_.bottom,Et=this.galleryItems[this.index],St=Et.__slideVideoInfo,Ct=Et.poster,jt=Tt.getSize(S,this.outer,H+ht,St&&Ct&&this.settings.videoMaxSize);x=Tt.getTransform(S,this.outer,H,ht,jt)}this.zoomFromOrigin&&x?(this.outer.addClass(\"lg-closing lg-zoom-from-image\"),this.getSlideItem(this.index).addClass(\"lg-start-end-progress\").css(\"transition-duration\",this.settings.startAnimationDuration+\"ms\").css(\"transform\",x)):(this.outer.addClass(\"lg-hide-items\"),this.outer.removeClass(\"lg-zoom-from-image\")),this.destroyModules(),this.lGalleryOn=!1,this.isDummyImageRemoved=!1,this.zoomFromOrigin=this.settings.zoomFromOrigin,clearTimeout(this.hideBarTimeout),this.hideBarTimeout=!1,X(\"html\").removeClass(\"lg-on\"),this.outer.removeClass(\"lg-visible lg-components-open\"),this.$backdrop.removeClass(\"in\").css(\"opacity\",0);var Bt=this.zoomFromOrigin&&x?Math.max(this.settings.startAnimationDuration,this.settings.backdropDuration):this.settings.backdropDuration;return this.$container.removeClass(\"lg-show-in\"),setTimeout(function(){g.zoomFromOrigin&&x&&g.outer.removeClass(\"lg-zoom-from-image\"),g.$container.removeClass(\"lg-show\"),g.resetScrollBar(),g.$backdrop.removeAttr(\"style\").css(\"transition-duration\",g.settings.backdropDuration+\"ms\"),g.outer.removeClass(\"lg-closing \".concat(g.settings.startClass)),g.getSlideItem(g.index).removeClass(\"lg-start-end-progress\"),g.$inner.empty(),g.lgOpened&&g.LGel.trigger(j.afterClose,{instance:g}),g.$container.get()&&g.$container.get().blur(),g.lgOpened=!1},Bt+100),Bt+100}},{key:\"initModules\",value:function(){this.plugins.forEach(function(u){try{u.init()}catch{console.warn(\"lightGallery:- make sure lightGallery module is properly initiated\")}})}},{key:\"destroyModules\",value:function(u){this.plugins.forEach(function(g){try{u?g.destroy():g.closeGallery&&g.closeGallery()}catch{console.warn(\"lightGallery:- make sure lightGallery module is properly destroyed\")}})}},{key:\"refresh\",value:function(u){this.settings.dynamic||this.invalidateItems(),u?this.galleryItems=u:this.galleryItems=this.getItems(),this.updateControls(),this.openGalleryOnItemClick(),this.LGel.trigger(j.updateSlides)}},{key:\"updateControls\",value:function(){this.addSlideVideoInfo(this.galleryItems),this.updateCounterTotal(),this.manageSingleSlideClassName()}},{key:\"destroyGallery\",value:function(){this.destroyModules(!0),this.settings.dynamic||this.invalidateItems(),X(window).off(\".lg.global\".concat(this.lgId)),this.LGel.off(\".lg\"),this.$container.remove()}},{key:\"destroy\",value:function(){var u=this.closeGallery(!0);return u?setTimeout(this.destroyGallery.bind(this),u):this.destroyGallery(),u}}]),T}();function xt(T,v){return new mt(T,v)}var Rt=xt,ot=function(T){O(u,T);var v=C(u);function u(){return p(this,u),v.apply(this,arguments)}return A(u,[{key:\"mounted\",value:function(){this.registerEvents.call(this),this.LG=Rt(this.$refs.container,h({},this.settings))}},{key:\"unmounted\",value:function(){this.LG.destroy()}},{key:\"getMethodName\",value:function(S){return\"on\".concat(S.charAt(0).toUpperCase()+S.slice(1))}},{key:\"registerEvents\",value:function(){var S=this;Object.keys(j).forEach(function(x){S.$refs.container.addEventListener(j[x].split(\".\")[0],function(_){S[S.getMethodName(x)]&&S[S.getMethodName.call(S,x)](_.detail)})})}}]),u}(w);ot=L([B({props:{settings:{type:Object},onAfterAppendSlide:{type:Function},onInit:{type:Function},onHasVideo:{type:Function},onContainerResize:{type:Function},onAfterAppendSubHtml:{type:Function},onBeforeOpen:{type:Function},onAfterOpen:{type:Function},onSlideItemLoad:{type:Function},onBeforeSlide:{type:Function},onAfterSlide:{type:Function},onPosterClick:{type:Function},onDragStart:{type:Function},onDragMove:{type:Function},onDragEnd:{type:Function},onBeforeNextSlide:{type:Function},onBeforePrevSlide:{type:Function},onBeforeClose:{type:Function},onAfterClose:{type:Function},onRotateLeft:{type:Function},onRotateRight:{type:Function},onFlipHorizontal:{type:Function},onFlipVertical:{type:Function}}})],ot);var ct=ot;ct.render=c;var at=ct;n.default=at},fb6a:function(t,n,r){var i=r(\"23e7\"),o=r(\"861d\"),s=r(\"e8b5\"),a=r(\"23cb\"),l=r(\"50c4\"),c=r(\"fc6a\"),f=r(\"8418\"),d=r(\"b622\"),h=r(\"1dde\"),p=h(\"slice\"),b=d(\"species\"),A=[].slice,F=Math.max;i({target:\"Array\",proto:!0,forced:!p},{slice:function(m,I){var E=c(this),N=l(E.length),P=a(m,N),R=a(I===void 0?N:I,N),C,L,U;if(s(E)&&(C=E.constructor,typeof C==\"function\"&&(C===Array||s(C.prototype))?C=void 0:o(C)&&(C=C[b],C===null&&(C=void 0)),C===Array||C===void 0))return A.call(E,P,R);for(L=new(C===void 0?Array:C)(F(R-P,0)),U=0;P<R;P++,U++)P in E&&f(L,U,E[P]);return L.length=U,L}})},fc6a:function(t,n,r){var i=r(\"44ad\"),o=r(\"1d80\");t.exports=function(s){return i(o(s))}},fdbc:function(t,n){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},fdbf:function(t,n,r){var i=r(\"4930\");t.exports=i&&!Symbol.sham&&typeof Symbol.iterator==\"symbol\"},fea9:function(t,n,r){var i=r(\"da84\");t.exports=i.Promise}}).default})(Bm);var iO=M0(Bm.exports);/*!\n * lightgallery | 2.6.1 | September 14th 2022\n * http://www.lightgalleryjs.com/\n * Copyright (c) 2020 Sachin Neravath;\n * @license GPLv3\n *//*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */var Oa=function(){return Oa=Object.assign||function(t){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},Oa.apply(this,arguments)},sO={thumbnail:!0,animateThumb:!0,currentPagerPosition:\"middle\",alignThumbnails:\"middle\",thumbWidth:100,thumbHeight:\"80px\",thumbMargin:5,appendThumbnailsTo:\".lg-components\",toggleThumb:!1,enableThumbDrag:!0,enableThumbSwipe:!0,thumbnailSwipeThreshold:10,loadYouTubeThumbnail:!0,youTubeThumbSize:1,thumbnailPluginStrings:{toggleThumbnails:\"Toggle thumbnails\"}},ys={afterAppendSlide:\"lgAfterAppendSlide\",init:\"lgInit\",hasVideo:\"lgHasVideo\",containerResize:\"lgContainerResize\",updateSlides:\"lgUpdateSlides\",afterAppendSubHtml:\"lgAfterAppendSubHtml\",beforeOpen:\"lgBeforeOpen\",afterOpen:\"lgAfterOpen\",slideItemLoad:\"lgSlideItemLoad\",beforeSlide:\"lgBeforeSlide\",afterSlide:\"lgAfterSlide\",posterClick:\"lgPosterClick\",dragStart:\"lgDragStart\",dragMove:\"lgDragMove\",dragEnd:\"lgDragEnd\",beforeNextSlide:\"lgBeforeNextSlide\",beforePrevSlide:\"lgBeforePrevSlide\",beforeClose:\"lgBeforeClose\",afterClose:\"lgAfterClose\",rotateLeft:\"lgRotateLeft\",rotateRight:\"lgRotateRight\",flipHorizontal:\"lgFlipHorizontal\",flipVertical:\"lgFlipVertical\",autoplay:\"lgAutoplay\",autoplayStart:\"lgAutoplayStart\",autoplayStop:\"lgAutoplayStop\"},oO=function(){function e(t,n){return this.thumbOuterWidth=0,this.thumbTotalWidth=0,this.translateX=0,this.thumbClickable=!1,this.core=t,this.$LG=n,this}return e.prototype.init=function(){this.settings=Oa(Oa({},sO),this.core.settings),this.thumbOuterWidth=0,this.thumbTotalWidth=this.core.galleryItems.length*(this.settings.thumbWidth+this.settings.thumbMargin),this.translateX=0,this.setAnimateThumbStyles(),this.core.settings.allowMediaOverlap||(this.settings.toggleThumb=!1),this.settings.thumbnail&&(this.build(),this.settings.animateThumb?(this.settings.enableThumbDrag&&this.enableThumbDrag(),this.settings.enableThumbSwipe&&this.enableThumbSwipe(),this.thumbClickable=!1):this.thumbClickable=!0,this.toggleThumbBar(),this.thumbKeyPress())},e.prototype.build=function(){var t=this;this.setThumbMarkup(),this.manageActiveClassOnSlideChange(),this.$lgThumb.first().on(\"click.lg touchend.lg\",function(n){var r=t.$LG(n.target);!r.hasAttribute(\"data-lg-item-id\")||setTimeout(function(){if(t.thumbClickable&&!t.core.lgBusy){var i=parseInt(r.attr(\"data-lg-item-id\"));t.core.slide(i,!1,!0,!1)}},50)}),this.core.LGel.on(ys.beforeSlide+\".thumb\",function(n){var r=n.detail.index;t.animateThumb(r)}),this.core.LGel.on(ys.beforeOpen+\".thumb\",function(){t.thumbOuterWidth=t.core.outer.get().offsetWidth}),this.core.LGel.on(ys.updateSlides+\".thumb\",function(){t.rebuildThumbnails()}),this.core.LGel.on(ys.containerResize+\".thumb\",function(){!t.core.lgOpened||setTimeout(function(){t.thumbOuterWidth=t.core.outer.get().offsetWidth,t.animateThumb(t.core.index),t.thumbOuterWidth=t.core.outer.get().offsetWidth},50)})},e.prototype.setThumbMarkup=function(){var t=\"lg-thumb-outer \";this.settings.alignThumbnails&&(t+=\"lg-thumb-align-\"+this.settings.alignThumbnails);var n='<div class=\"'+t+`\">\n        <div class=\"lg-thumb lg-group\">\n        </div>\n        </div>`;this.core.outer.addClass(\"lg-has-thumb\"),this.settings.appendThumbnailsTo===\".lg-components\"?this.core.$lgComponents.append(n):this.core.outer.append(n),this.$thumbOuter=this.core.outer.find(\".lg-thumb-outer\").first(),this.$lgThumb=this.core.outer.find(\".lg-thumb\").first(),this.settings.animateThumb&&this.core.outer.find(\".lg-thumb\").css(\"transition-duration\",this.core.settings.speed+\"ms\").css(\"width\",this.thumbTotalWidth+\"px\").css(\"position\",\"relative\"),this.setThumbItemHtml(this.core.galleryItems)},e.prototype.enableThumbDrag=function(){var t=this,n={cords:{startX:0,endX:0},isMoved:!1,newTranslateX:0,startTime:new Date,endTime:new Date,touchMoveTime:0},r=!1;this.$thumbOuter.addClass(\"lg-grab\"),this.core.outer.find(\".lg-thumb\").first().on(\"mousedown.lg.thumb\",function(i){t.thumbTotalWidth>t.thumbOuterWidth&&(i.preventDefault(),n.cords.startX=i.pageX,n.startTime=new Date,t.thumbClickable=!1,r=!0,t.core.outer.get().scrollLeft+=1,t.core.outer.get().scrollLeft-=1,t.$thumbOuter.removeClass(\"lg-grab\").addClass(\"lg-grabbing\"))}),this.$LG(window).on(\"mousemove.lg.thumb.global\"+this.core.lgId,function(i){!t.core.lgOpened||r&&(n.cords.endX=i.pageX,n=t.onThumbTouchMove(n))}),this.$LG(window).on(\"mouseup.lg.thumb.global\"+this.core.lgId,function(){!t.core.lgOpened||(n.isMoved?n=t.onThumbTouchEnd(n):t.thumbClickable=!0,r&&(r=!1,t.$thumbOuter.removeClass(\"lg-grabbing\").addClass(\"lg-grab\")))})},e.prototype.enableThumbSwipe=function(){var t=this,n={cords:{startX:0,endX:0},isMoved:!1,newTranslateX:0,startTime:new Date,endTime:new Date,touchMoveTime:0};this.$lgThumb.on(\"touchstart.lg\",function(r){t.thumbTotalWidth>t.thumbOuterWidth&&(r.preventDefault(),n.cords.startX=r.targetTouches[0].pageX,t.thumbClickable=!1,n.startTime=new Date)}),this.$lgThumb.on(\"touchmove.lg\",function(r){t.thumbTotalWidth>t.thumbOuterWidth&&(r.preventDefault(),n.cords.endX=r.targetTouches[0].pageX,n=t.onThumbTouchMove(n))}),this.$lgThumb.on(\"touchend.lg\",function(){n.isMoved?n=t.onThumbTouchEnd(n):t.thumbClickable=!0})},e.prototype.rebuildThumbnails=function(){var t=this;this.$thumbOuter.addClass(\"lg-rebuilding-thumbnails\"),setTimeout(function(){t.thumbTotalWidth=t.core.galleryItems.length*(t.settings.thumbWidth+t.settings.thumbMargin),t.$lgThumb.css(\"width\",t.thumbTotalWidth+\"px\"),t.$lgThumb.empty(),t.setThumbItemHtml(t.core.galleryItems),t.animateThumb(t.core.index)},50),setTimeout(function(){t.$thumbOuter.removeClass(\"lg-rebuilding-thumbnails\")},200)},e.prototype.setTranslate=function(t){this.$lgThumb.css(\"transform\",\"translate3d(-\"+t+\"px, 0px, 0px)\")},e.prototype.getPossibleTransformX=function(t){return t>this.thumbTotalWidth-this.thumbOuterWidth&&(t=this.thumbTotalWidth-this.thumbOuterWidth),t<0&&(t=0),t},e.prototype.animateThumb=function(t){if(this.$lgThumb.css(\"transition-duration\",this.core.settings.speed+\"ms\"),this.settings.animateThumb){var n=0;switch(this.settings.currentPagerPosition){case\"left\":n=0;break;case\"middle\":n=this.thumbOuterWidth/2-this.settings.thumbWidth/2;break;case\"right\":n=this.thumbOuterWidth-this.settings.thumbWidth}this.translateX=(this.settings.thumbWidth+this.settings.thumbMargin)*t-1-n,this.translateX>this.thumbTotalWidth-this.thumbOuterWidth&&(this.translateX=this.thumbTotalWidth-this.thumbOuterWidth),this.translateX<0&&(this.translateX=0),this.setTranslate(this.translateX)}},e.prototype.onThumbTouchMove=function(t){return t.newTranslateX=this.translateX,t.isMoved=!0,t.touchMoveTime=new Date().valueOf(),t.newTranslateX-=t.cords.endX-t.cords.startX,t.newTranslateX=this.getPossibleTransformX(t.newTranslateX),this.setTranslate(t.newTranslateX),this.$thumbOuter.addClass(\"lg-dragging\"),t},e.prototype.onThumbTouchEnd=function(t){t.isMoved=!1,t.endTime=new Date,this.$thumbOuter.removeClass(\"lg-dragging\");var n=t.endTime.valueOf()-t.startTime.valueOf(),r=t.cords.endX-t.cords.startX,i=Math.abs(r)/n;return i>.15&&t.endTime.valueOf()-t.touchMoveTime<30?(i+=1,i>2&&(i+=1),i=i+i*(Math.abs(r)/this.thumbOuterWidth),this.$lgThumb.css(\"transition-duration\",Math.min(i-1,2)+\"settings\"),r=r*i,this.translateX=this.getPossibleTransformX(this.translateX-r),this.setTranslate(this.translateX)):this.translateX=t.newTranslateX,Math.abs(t.cords.endX-t.cords.startX)<this.settings.thumbnailSwipeThreshold&&(this.thumbClickable=!0),t},e.prototype.getThumbHtml=function(t,n){var r=this.core.galleryItems[n].__slideVideoInfo||{},i;return r.youtube&&this.settings.loadYouTubeThumbnail?i=\"//img.youtube.com/vi/\"+r.youtube[1]+\"/\"+this.settings.youTubeThumbSize+\".jpg\":i=t,'<div data-lg-item-id=\"'+n+'\" class=\"lg-thumb-item '+(n===this.core.index?\" active\":\"\")+`\"\n        style=\"width:`+this.settings.thumbWidth+\"px; height: \"+this.settings.thumbHeight+`;\n            margin-right: `+this.settings.thumbMargin+`px;\">\n            <img data-lg-item-id=\"`+n+'\" src=\"'+i+`\" />\n        </div>`},e.prototype.getThumbItemHtml=function(t){for(var n=\"\",r=0;r<t.length;r++)n+=this.getThumbHtml(t[r].thumb,r);return n},e.prototype.setThumbItemHtml=function(t){var n=this.getThumbItemHtml(t);this.$lgThumb.html(n)},e.prototype.setAnimateThumbStyles=function(){this.settings.animateThumb&&this.core.outer.addClass(\"lg-animate-thumb\")},e.prototype.manageActiveClassOnSlideChange=function(){var t=this;this.core.LGel.on(ys.beforeSlide+\".thumb\",function(n){var r=t.core.outer.find(\".lg-thumb-item\"),i=n.detail.index;r.removeClass(\"active\"),r.eq(i).addClass(\"active\")})},e.prototype.toggleThumbBar=function(){var t=this;this.settings.toggleThumb&&(this.core.outer.addClass(\"lg-can-toggle\"),this.core.$toolbar.append('<button type=\"button\" aria-label=\"'+this.settings.thumbnailPluginStrings.toggleThumbnails+'\" class=\"lg-toggle-thumb lg-icon\"></button>'),this.core.outer.find(\".lg-toggle-thumb\").first().on(\"click.lg\",function(){t.core.outer.toggleClass(\"lg-components-open\")}))},e.prototype.thumbKeyPress=function(){var t=this;this.$LG(window).on(\"keydown.lg.thumb.global\"+this.core.lgId,function(n){!t.core.lgOpened||!t.settings.toggleThumb||(n.keyCode===38?(n.preventDefault(),t.core.outer.addClass(\"lg-components-open\")):n.keyCode===40&&(n.preventDefault(),t.core.outer.removeClass(\"lg-components-open\")))})},e.prototype.destroy=function(){this.settings.thumbnail&&(this.$LG(window).off(\".lg.thumb.global\"+this.core.lgId),this.core.LGel.off(\".lg.thumb\"),this.core.LGel.off(\".thumb\"),this.$thumbOuter.remove(),this.core.outer.removeClass(\"lg-has-thumb\"))},e}();/*!\n * lightgallery | 2.6.1 | September 14th 2022\n * http://www.lightgalleryjs.com/\n * Copyright (c) 2020 Sachin Neravath;\n * @license GPLv3\n *//*! *****************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */var Aa=function(){return Aa=Object.assign||function(t){for(var n,r=1,i=arguments.length;r<i;r++){n=arguments[r];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t},Aa.apply(this,arguments)},aO={scale:1,zoom:!0,actualSize:!0,showZoomInOutIcons:!1,actualSizeIcons:{zoomIn:\"lg-zoom-in\",zoomOut:\"lg-zoom-out\"},enableZoomAfter:300,zoomPluginStrings:{zoomIn:\"Zoom in\",zoomOut:\"Zoom out\",viewActualSize:\"View actual size\"}},Qn={afterAppendSlide:\"lgAfterAppendSlide\",init:\"lgInit\",hasVideo:\"lgHasVideo\",containerResize:\"lgContainerResize\",updateSlides:\"lgUpdateSlides\",afterAppendSubHtml:\"lgAfterAppendSubHtml\",beforeOpen:\"lgBeforeOpen\",afterOpen:\"lgAfterOpen\",slideItemLoad:\"lgSlideItemLoad\",beforeSlide:\"lgBeforeSlide\",afterSlide:\"lgAfterSlide\",posterClick:\"lgPosterClick\",dragStart:\"lgDragStart\",dragMove:\"lgDragMove\",dragEnd:\"lgDragEnd\",beforeNextSlide:\"lgBeforeNextSlide\",beforePrevSlide:\"lgBeforePrevSlide\",beforeClose:\"lgBeforeClose\",afterClose:\"lgAfterClose\",rotateLeft:\"lgRotateLeft\",rotateRight:\"lgRotateRight\",flipHorizontal:\"lgFlipHorizontal\",flipVertical:\"lgFlipVertical\",autoplay:\"lgAutoplay\",autoplayStart:\"lgAutoplayStart\",autoplayStop:\"lgAutoplayStop\"},lO=function(){function e(t,n){return this.core=t,this.$LG=n,this.settings=Aa(Aa({},aO),this.core.settings),this}return e.prototype.buildTemplates=function(){var t=this.settings.showZoomInOutIcons?'<button id=\"'+this.core.getIdName(\"lg-zoom-in\")+'\" type=\"button\" aria-label=\"'+this.settings.zoomPluginStrings.zoomIn+'\" class=\"lg-zoom-in lg-icon\"></button><button id=\"'+this.core.getIdName(\"lg-zoom-out\")+'\" type=\"button\" aria-label=\"'+this.settings.zoomPluginStrings.zoomIn+'\" class=\"lg-zoom-out lg-icon\"></button>':\"\";this.settings.actualSize&&(t+='<button id=\"'+this.core.getIdName(\"lg-actual-size\")+'\" type=\"button\" aria-label=\"'+this.settings.zoomPluginStrings.viewActualSize+'\" class=\"'+this.settings.actualSizeIcons.zoomIn+' lg-icon\"></button>'),this.core.outer.addClass(\"lg-use-transition-for-zoom\"),this.core.$toolbar.first().append(t)},e.prototype.enableZoom=function(t){var n=this,r=this.settings.enableZoomAfter+t.detail.delay;this.$LG(\"body\").first().hasClass(\"lg-from-hash\")&&t.detail.delay?r=0:this.$LG(\"body\").first().removeClass(\"lg-from-hash\"),this.zoomableTimeout=setTimeout(function(){!n.isImageSlide(n.core.index)||(n.core.getSlideItem(t.detail.index).addClass(\"lg-zoomable\"),t.detail.index===n.core.index&&n.setZoomEssentials())},r+30)},e.prototype.enableZoomOnSlideItemLoad=function(){this.core.LGel.on(Qn.slideItemLoad+\".zoom\",this.enableZoom.bind(this))},e.prototype.getDragCords=function(t){return{x:t.pageX,y:t.pageY}},e.prototype.getSwipeCords=function(t){var n=t.touches[0].pageX,r=t.touches[0].pageY;return{x:n,y:r}},e.prototype.getDragAllowedAxises=function(t,n){var r=this.core.getSlideItem(this.core.index).find(\".lg-image\").first().get(),i=0,o=0,s=r.getBoundingClientRect();t?(i=r.offsetHeight*t,o=r.offsetWidth*t):n?(i=s.height+n*s.height,o=s.width+n*s.width):(i=s.height,o=s.width);var a=i>this.containerRect.height,l=o>this.containerRect.width;return{allowX:l,allowY:a}},e.prototype.setZoomEssentials=function(){this.containerRect=this.core.$content.get().getBoundingClientRect()},e.prototype.zoomImage=function(t,n,r,i){if(!(Math.abs(n)<=0)){var o=this.containerRect.width/2+this.containerRect.left,s=this.containerRect.height/2+this.containerRect.top+this.scrollTop,a,l;t===1&&(this.positionChanged=!1);var c=this.getDragAllowedAxises(0,n),f=c.allowY,d=c.allowX;this.positionChanged&&(a=this.left/(this.scale-n),l=this.top/(this.scale-n),this.pageX=o-a,this.pageY=s-l,this.positionChanged=!1);var h=this.getPossibleSwipeDragCords(n),p,b,A=o-this.pageX,F=s-this.pageY;if(t-n>1){var O=(t-n)/Math.abs(n);A=(n<0?-A:A)+this.left*(O+(n<0?-1:1)),F=(n<0?-F:F)+this.top*(O+(n<0?-1:1)),p=A/O,b=F/O}else{var O=(t-n)*n;p=A*O,b=F*O}if(r&&(d?this.isBeyondPossibleLeft(p,h.minX)?p=h.minX:this.isBeyondPossibleRight(p,h.maxX)&&(p=h.maxX):t>1&&(p<h.minX?p=h.minX:p>h.maxX&&(p=h.maxX)),f?this.isBeyondPossibleTop(b,h.minY)?b=h.minY:this.isBeyondPossibleBottom(b,h.maxY)&&(b=h.maxY):t>1&&(b<h.minY?b=h.minY:b>h.maxY&&(b=h.maxY))),this.setZoomStyles({x:p,y:b,scale:t}),this.left=p,this.top=b,i){var m=this.getCurrentImageActualSizeScale();t>=m&&this.setZoomImageSize()}}},e.prototype.resetImageTranslate=function(t){if(!!this.isImageSlide(t)){var n=this.core.getSlideItem(t).find(\".lg-image\").first();this.imageReset=!1,n.removeClass(\"reset-transition reset-transition-y reset-transition-x\"),this.core.outer.removeClass(\"lg-actual-size\"),n.css(\"width\",\"auto\").css(\"height\",\"auto\"),setTimeout(function(){n.removeClass(\"no-transition\")},10)}},e.prototype.setZoomImageSize=function(){var t=this,n=this.core.getSlideItem(this.core.index).find(\".lg-image\").first();setTimeout(function(){n.addClass(\"no-transition\"),t.imageReset=!0},500),setTimeout(function(){var r=t.getDragAllowedAxises(t.scale);n.css(\"width\",n.get().naturalWidth+\"px\").css(\"height\",n.get().naturalHeight+\"px\"),t.core.outer.addClass(\"lg-actual-size\"),r.allowX&&r.allowY?n.addClass(\"reset-transition\"):r.allowX&&!r.allowY?n.addClass(\"reset-transition-x\"):!r.allowX&&r.allowY&&n.addClass(\"reset-transition-y\")},550)},e.prototype.setZoomStyles=function(t){var n=this.core.getSlideItem(this.core.index).find(\".lg-img-wrap\").first(),r=this.core.getSlideItem(this.core.index).find(\".lg-image\").first(),i=this.core.outer.find(\".lg-current .lg-dummy-img\").first();this.scale=t.scale,r.css(\"transform\",\"scale3d(\"+t.scale+\", \"+t.scale+\", 1)\"),i.css(\"transform\",\"scale3d(\"+t.scale+\", \"+t.scale+\", 1)\");var o=\"translate3d(\"+t.x+\"px, \"+t.y+\"px, 0)\";n.css(\"transform\",o)},e.prototype.setActualSize=function(t,n){var r=this,i=this.core.galleryItems[this.core.index];this.resetImageTranslate(t),setTimeout(function(){if(!(!i.src||r.core.outer.hasClass(\"lg-first-slide-loading\"))){var o=r.getCurrentImageActualSizeScale(),s=r.scale;r.core.outer.hasClass(\"lg-zoomed\")?r.scale=1:r.scale=r.getScale(o),r.setPageCords(n),r.beginZoom(r.scale),r.zoomImage(r.scale,r.scale-s,!0,!0),setTimeout(function(){r.core.outer.removeClass(\"lg-grabbing\").addClass(\"lg-grab\")},10)}},50)},e.prototype.getNaturalWidth=function(t){var n=this.core.getSlideItem(t).find(\".lg-image\").first(),r=this.core.galleryItems[t].width;return r?parseFloat(r):n.get().naturalWidth},e.prototype.getActualSizeScale=function(t,n){var r,i;return t>=n?(r=t/n,i=r||2):i=1,i},e.prototype.getCurrentImageActualSizeScale=function(){var t=this.core.getSlideItem(this.core.index).find(\".lg-image\").first(),n=t.get().offsetWidth,r=this.getNaturalWidth(this.core.index)||n;return this.getActualSizeScale(r,n)},e.prototype.getPageCords=function(t){var n={};if(t)n.x=t.pageX||t.touches[0].pageX,n.y=t.pageY||t.touches[0].pageY;else{var r=this.core.$content.get().getBoundingClientRect();n.x=r.width/2+r.left,n.y=r.height/2+this.scrollTop+r.top}return n},e.prototype.setPageCords=function(t){var n=this.getPageCords(t);this.pageX=n.x,this.pageY=n.y},e.prototype.manageActualPixelClassNames=function(){var t=this.core.getElementById(\"lg-actual-size\");t.removeClass(this.settings.actualSizeIcons.zoomIn).addClass(this.settings.actualSizeIcons.zoomOut)},e.prototype.beginZoom=function(t){return this.core.outer.removeClass(\"lg-zoom-drag-transition lg-zoom-dragging\"),t>1?(this.core.outer.addClass(\"lg-zoomed\"),this.manageActualPixelClassNames()):this.resetZoom(),t>1},e.prototype.getScale=function(t){var n=this.getCurrentImageActualSizeScale();return t<1?t=1:t>n&&(t=n),t},e.prototype.init=function(){var t=this;if(!!this.settings.zoom){this.buildTemplates(),this.enableZoomOnSlideItemLoad();var n=null;this.core.outer.on(\"dblclick.lg\",function(r){!t.$LG(r.target).hasClass(\"lg-image\")||t.setActualSize(t.core.index,r)}),this.core.outer.on(\"touchstart.lg\",function(r){var i=t.$LG(r.target);r.touches.length===1&&i.hasClass(\"lg-image\")&&(n?(clearTimeout(n),n=null,r.preventDefault(),t.setActualSize(t.core.index,r)):n=setTimeout(function(){n=null},300))}),this.core.LGel.on(Qn.containerResize+\".zoom \"+Qn.rotateRight+\".zoom \"+Qn.rotateLeft+\".zoom \"+Qn.flipHorizontal+\".zoom \"+Qn.flipVertical+\".zoom\",function(){if(!(!t.core.lgOpened||!t.isImageSlide(t.core.index)||t.core.touchAction)){var r=t.core.getSlideItem(t.core.index).find(\".lg-img-wrap\").first();t.top=0,t.left=0,t.setZoomEssentials(),t.setZoomSwipeStyles(r,{x:0,y:0}),t.positionChanged=!0}}),this.$LG(window).on(\"scroll.lg.zoom.global\"+this.core.lgId,function(){!t.core.lgOpened||(t.scrollTop=t.$LG(window).scrollTop())}),this.core.getElementById(\"lg-zoom-out\").on(\"click.lg\",function(){if(!!t.isImageSlide(t.core.index)){var r=0;t.imageReset&&(t.resetImageTranslate(t.core.index),r=50),setTimeout(function(){var i=t.scale-t.settings.scale;i<1&&(i=1),t.beginZoom(i),t.zoomImage(i,-t.settings.scale,!0,!0)},r)}}),this.core.getElementById(\"lg-zoom-in\").on(\"click.lg\",function(){t.zoomIn()}),this.core.getElementById(\"lg-actual-size\").on(\"click.lg\",function(){t.setActualSize(t.core.index)}),this.core.LGel.on(Qn.beforeOpen+\".zoom\",function(){t.core.outer.find(\".lg-item\").removeClass(\"lg-zoomable\")}),this.core.LGel.on(Qn.afterOpen+\".zoom\",function(){t.scrollTop=t.$LG(window).scrollTop(),t.pageX=t.core.outer.width()/2,t.pageY=t.core.outer.height()/2+t.scrollTop,t.scale=1}),this.core.LGel.on(Qn.afterSlide+\".zoom\",function(r){var i=r.detail.prevIndex;t.scale=1,t.positionChanged=!1,t.resetZoom(i),t.resetImageTranslate(i),t.isImageSlide(t.core.index)&&t.setZoomEssentials()}),this.zoomDrag(),this.pinchZoom(),this.zoomSwipe(),this.zoomableTimeout=!1,this.positionChanged=!1}},e.prototype.zoomIn=function(){if(!!this.isImageSlide(this.core.index)){var t=this.scale+this.settings.scale;t=this.getScale(t),this.beginZoom(t),this.zoomImage(t,this.settings.scale,!0,!0)}},e.prototype.resetZoom=function(t){this.core.outer.removeClass(\"lg-zoomed lg-zoom-drag-transition\");var n=this.core.getElementById(\"lg-actual-size\"),r=this.core.getSlideItem(t!==void 0?t:this.core.index);n.removeClass(this.settings.actualSizeIcons.zoomOut).addClass(this.settings.actualSizeIcons.zoomIn),r.find(\".lg-img-wrap\").first().removeAttr(\"style\"),r.find(\".lg-image\").first().removeAttr(\"style\"),this.scale=1,this.left=0,this.top=0,this.setPageCords()},e.prototype.getTouchDistance=function(t){return Math.sqrt((t.touches[0].pageX-t.touches[1].pageX)*(t.touches[0].pageX-t.touches[1].pageX)+(t.touches[0].pageY-t.touches[1].pageY)*(t.touches[0].pageY-t.touches[1].pageY))},e.prototype.pinchZoom=function(){var t=this,n=0,r=!1,i=1,o=0,s=this.core.getSlideItem(this.core.index);this.core.outer.on(\"touchstart.lg\",function(a){if(s=t.core.getSlideItem(t.core.index),!!t.isImageSlide(t.core.index)&&a.touches.length===2){if(a.preventDefault(),t.core.outer.hasClass(\"lg-first-slide-loading\"))return;i=t.scale||1,t.core.outer.removeClass(\"lg-zoom-drag-transition lg-zoom-dragging\"),t.setPageCords(a),t.resetImageTranslate(t.core.index),t.core.touchAction=\"pinch\",n=t.getTouchDistance(a)}}),this.core.$inner.on(\"touchmove.lg\",function(a){if(a.touches.length===2&&t.core.touchAction===\"pinch\"&&(t.$LG(a.target).hasClass(\"lg-item\")||s.get().contains(a.target))){a.preventDefault();var l=t.getTouchDistance(a),c=n-l;if(!r&&Math.abs(c)>5&&(r=!0),r){o=t.scale;var f=Math.max(1,i+-c*.02);t.scale=Math.round((f+Number.EPSILON)*100)/100;var d=t.scale-o;t.zoomImage(t.scale,Math.round((d+Number.EPSILON)*100)/100,!1,!1)}}}),this.core.$inner.on(\"touchend.lg\",function(a){if(t.core.touchAction===\"pinch\"&&(t.$LG(a.target).hasClass(\"lg-item\")||s.get().contains(a.target))){if(r=!1,n=0,t.scale<=1)t.resetZoom();else{var l=t.getCurrentImageActualSizeScale();if(t.scale>=l){var c=l-t.scale;c===0&&(c=.01),t.zoomImage(l,c,!1,!0)}t.manageActualPixelClassNames(),t.core.outer.addClass(\"lg-zoomed\")}t.core.touchAction=void 0}})},e.prototype.touchendZoom=function(t,n,r,i,o){var s=n.x-t.x,a=n.y-t.y,l=Math.abs(s)/o+1,c=Math.abs(a)/o+1;l>2&&(l+=1),c>2&&(c+=1),s=s*l,a=a*c;var f=this.core.getSlideItem(this.core.index).find(\".lg-img-wrap\").first(),d={};d.x=this.left+s,d.y=this.top+a;var h=this.getPossibleSwipeDragCords();(Math.abs(s)>15||Math.abs(a)>15)&&(i&&(this.isBeyondPossibleTop(d.y,h.minY)?d.y=h.minY:this.isBeyondPossibleBottom(d.y,h.maxY)&&(d.y=h.maxY)),r&&(this.isBeyondPossibleLeft(d.x,h.minX)?d.x=h.minX:this.isBeyondPossibleRight(d.x,h.maxX)&&(d.x=h.maxX)),i?this.top=d.y:d.y=this.top,r?this.left=d.x:d.x=this.left,this.setZoomSwipeStyles(f,d),this.positionChanged=!0)},e.prototype.getZoomSwipeCords=function(t,n,r,i,o){var s={};if(i){if(s.y=this.top+(n.y-t.y),this.isBeyondPossibleTop(s.y,o.minY)){var a=o.minY-s.y;s.y=o.minY-a/6}else if(this.isBeyondPossibleBottom(s.y,o.maxY)){var l=s.y-o.maxY;s.y=o.maxY+l/6}}else s.y=this.top;if(r){if(s.x=this.left+(n.x-t.x),this.isBeyondPossibleLeft(s.x,o.minX)){var c=o.minX-s.x;s.x=o.minX-c/6}else if(this.isBeyondPossibleRight(s.x,o.maxX)){var f=s.x-o.maxX;s.x=o.maxX+f/6}}else s.x=this.left;return s},e.prototype.isBeyondPossibleLeft=function(t,n){return t>=n},e.prototype.isBeyondPossibleRight=function(t,n){return t<=n},e.prototype.isBeyondPossibleTop=function(t,n){return t>=n},e.prototype.isBeyondPossibleBottom=function(t,n){return t<=n},e.prototype.isImageSlide=function(t){var n=this.core.galleryItems[t];return this.core.getSlideType(n)===\"image\"},e.prototype.getPossibleSwipeDragCords=function(t){var n=this.core.getSlideItem(this.core.index).find(\".lg-image\").first(),r=this.core.mediaContainerPosition.bottom,i=n.get().getBoundingClientRect(),o=i.height,s=i.width;t&&(o=o+t*o,s=s+t*s);var a=(o-this.containerRect.height)/2,l=(this.containerRect.height-o)/2+r,c=(s-this.containerRect.width)/2,f=(this.containerRect.width-s)/2,d={minY:a,maxY:l,minX:c,maxX:f};return d},e.prototype.setZoomSwipeStyles=function(t,n){t.css(\"transform\",\"translate3d(\"+n.x+\"px, \"+n.y+\"px, 0)\")},e.prototype.zoomSwipe=function(){var t=this,n={},r={},i=!1,o=!1,s=!1,a=new Date,l=new Date,c,f,d=this.core.getSlideItem(this.core.index);this.core.$inner.on(\"touchstart.lg\",function(h){if(!!t.isImageSlide(t.core.index)&&(d=t.core.getSlideItem(t.core.index),(t.$LG(h.target).hasClass(\"lg-item\")||d.get().contains(h.target))&&h.touches.length===1&&t.core.outer.hasClass(\"lg-zoomed\"))){h.preventDefault(),a=new Date,t.core.touchAction=\"zoomSwipe\",f=t.core.getSlideItem(t.core.index).find(\".lg-img-wrap\").first();var p=t.getDragAllowedAxises(0);s=p.allowY,o=p.allowX,(o||s)&&(n=t.getSwipeCords(h)),c=t.getPossibleSwipeDragCords(),t.core.outer.addClass(\"lg-zoom-dragging lg-zoom-drag-transition\")}}),this.core.$inner.on(\"touchmove.lg\",function(h){if(h.touches.length===1&&t.core.touchAction===\"zoomSwipe\"&&(t.$LG(h.target).hasClass(\"lg-item\")||d.get().contains(h.target))){h.preventDefault(),t.core.touchAction=\"zoomSwipe\",r=t.getSwipeCords(h);var p=t.getZoomSwipeCords(n,r,o,s,c);(Math.abs(r.x-n.x)>15||Math.abs(r.y-n.y)>15)&&(i=!0,t.setZoomSwipeStyles(f,p))}}),this.core.$inner.on(\"touchend.lg\",function(h){if(t.core.touchAction===\"zoomSwipe\"&&(t.$LG(h.target).hasClass(\"lg-item\")||d.get().contains(h.target))){if(h.preventDefault(),t.core.touchAction=void 0,t.core.outer.removeClass(\"lg-zoom-dragging\"),!i)return;i=!1,l=new Date;var p=l.valueOf()-a.valueOf();t.touchendZoom(n,r,o,s,p)}})},e.prototype.zoomDrag=function(){var t=this,n={},r={},i=!1,o=!1,s=!1,a=!1,l,c,f,d;this.core.outer.on(\"mousedown.lg.zoom\",function(h){if(!!t.isImageSlide(t.core.index)){var p=t.core.getSlideItem(t.core.index);if(t.$LG(h.target).hasClass(\"lg-item\")||p.get().contains(h.target)){l=new Date,d=t.core.getSlideItem(t.core.index).find(\".lg-img-wrap\").first();var b=t.getDragAllowedAxises(0);a=b.allowY,s=b.allowX,t.core.outer.hasClass(\"lg-zoomed\")&&t.$LG(h.target).hasClass(\"lg-object\")&&(s||a)&&(h.preventDefault(),n=t.getDragCords(h),f=t.getPossibleSwipeDragCords(),i=!0,t.core.outer.removeClass(\"lg-grab\").addClass(\"lg-grabbing lg-zoom-drag-transition lg-zoom-dragging\"))}}}),this.$LG(window).on(\"mousemove.lg.zoom.global\"+this.core.lgId,function(h){if(i){o=!0,r=t.getDragCords(h);var p=t.getZoomSwipeCords(n,r,s,a,f);t.setZoomSwipeStyles(d,p)}}),this.$LG(window).on(\"mouseup.lg.zoom.global\"+this.core.lgId,function(h){if(i){if(c=new Date,i=!1,t.core.outer.removeClass(\"lg-zoom-dragging\"),o&&(n.x!==r.x||n.y!==r.y)){r=t.getDragCords(h);var p=c.valueOf()-l.valueOf();t.touchendZoom(n,r,s,a,p)}o=!1}t.core.outer.removeClass(\"lg-grabbing\").addClass(\"lg-grab\")})},e.prototype.closeGallery=function(){this.resetZoom()},e.prototype.destroy=function(){this.$LG(window).off(\".lg.zoom.global\"+this.core.lgId),this.core.LGel.off(\".lg.zoom\"),this.core.LGel.off(\".zoom\"),clearTimeout(this.zoomableTimeout),this.zoomableTimeout=!1},e}();var Zu=(e,t)=>{const n=e.__vccOpts||e;for(const[r,i]of t)n[r]=i;return n};const cO={id:\"lightgallery\"},uO=[\"href\"],fO=[\"src\"],dO=os({__name:\"Component\",props:{args:{type:null,required:!0},disabled:{type:Boolean,required:!0},theme:{type:null,required:!0}},setup(e){nO();const t=[oO,lO];let n=null;const r=function(o){n=o.instance,n.openGallery(0),Sn.setFrameHeight(640)},i=function(){Sn.setFrameHeight(640)};return(o,s)=>(Fn(),ai(\"div\",cO,[me(Mc(iO),{ref:\"gallery\",settings:{speed:250,showMaximizeIcon:!1,closable:!1,plugins:t},onInit:r,onBeforeSlide:i},{default:lo(()=>[(Fn(!0),ai(Re,null,Ch(e.args.images,a=>(Fn(),ai(\"a\",{class:\"gallery-item\",href:a,\"data-sub-html\":\"\"},[cs(\"img\",{class:\"hide-img\",src:a},null,8,fO)],8,uO))),256))]),_:1},8,[\"settings\"])]))}});var hO=Zu(dO,[[\"__file\",\"E:/Projets/Perso/AI Generated Art/Stable Diffusion/gallery-component/streamlit-gallery-component/sd_gallery/frontend/src/Component.vue\"]]);const pO=os({name:\"WithStreamlitConnection\",setup(){const e=Pi(void 0),t=Pi(\"\"),n=r=>{const i=r;e.value=i.detail,t.value=\"\"};return Si(()=>{Sn.events.addEventListener(Sn.RENDER_EVENT,n),Sn.setComponentReady()}),ls(()=>{t.value!=\"\"&&Sn.setFrameHeight()}),uo(()=>{Sn.events.removeEventListener(Sn.RENDER_EVENT,n)}),Yc(r=>{t.value=String(r)}),{renderData:e,componentError:t}}}),gO=e=>(uh(\"data-v-4d5bb78e\"),e=e(),fh(),e),mO={key:0},yO=gO(()=>cs(\"h1\",{class:\"err__title\"},\"Component Error\",-1)),vO={class:\"err__msg\"};function bO(e,t,n,r,i,o){return Fn(),ai(\"div\",null,[ko(\"  Error boundary. If our wrapped component threw an error, display it. \"),e.componentError!==\"\"?(Fn(),ai(\"div\",mO,[yO,cs(\"div\",vO,\"Message: \"+Rd(e.componentError),1)])):e.renderData!=null?(Fn(),ai(Re,{key:1},[ko(` \\r\n      Else render the component slot and pass Streamlit event data in \\`args\\` props to it.\\r\n      Don't render until we've gotten our first RENDER_EVENT from Streamlit.\\r\n      All components get disabled while the app is being re-run, and become re-enabled when the re-run has finished.\\r\n    `),Bh(e.$slots,\"default\",{args:e.renderData.args,theme:e.renderData.theme,disabled:e.renderData.disabled},void 0,!0)],2112)):ko(\"v-if\",!0)])}var wO=Zu(pO,[[\"render\",bO],[\"__scopeId\",\"data-v-4d5bb78e\"],[\"__file\",\"E:/Projets/Perso/AI Generated Art/Stable Diffusion/gallery-component/streamlit-gallery-component/sd_gallery/frontend/src/streamlit/WithStreamlitConnection.vue\"]]);const SO=os({name:\"App\",components:{Component:hO,WithStreamlitConnection:wO}});function IO(e,t,n,r,i,o){const s=Xl(\"Component\"),a=Xl(\"WithStreamlitConnection\");return Fn(),za(a,null,{default:lo(({args:l,theme:c,disabled:f})=>[me(s,{args:l,theme:c,disabled:f},null,8,[\"args\",\"theme\",\"disabled\"])]),_:1})}var TO=Zu(SO,[[\"render\",IO],[\"__file\",\"E:/Projets/Perso/AI Generated Art/Stable Diffusion/gallery-component/streamlit-gallery-component/sd_gallery/frontend/src/app.vue\"]]);xp(TO).mount(\"#app\");\n"
  },
  {
    "path": "frontend/dists/sd-gallery/dist/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Component Template</title>\n  <script type=\"module\" crossorigin src=\"assets/index.aeaed602.js\"></script>\n  <link rel=\"stylesheet\" href=\"assets/index.4194368f.css\">\n</head>\n<body>\n<div id=\"app\"></div>\n\n</body>\n</html>\n"
  },
  {
    "path": "frontend/frontend.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\nimport gradio as gr\nfrom frontend.css_and_js import css, js, call_JS\nfrom frontend.job_manager import JobManager\nimport frontend.ui_functions as uifn\nimport torch\nimport os\n\n\ndef draw_gradio_ui(\n    opt,\n    img2img=lambda x: x,\n    txt2img=lambda x: x,\n    imgproc=lambda x: x,\n    scn2img=lambda x: x,\n    txt2img_defaults={},\n    RealESRGAN=True,\n    GFPGAN=True,\n    LDSR=True,\n    txt2img_toggles={},\n    txt2img_toggle_defaults=\"k_euler\",\n    show_embeddings=False,\n    img2img_defaults={},\n    img2img_toggles={},\n    img2img_toggle_defaults={},\n    sample_img2img=None,\n    img2img_mask_modes=None,\n    img2img_resize_modes=None,\n    imgproc_defaults={},\n    imgproc_mode_toggles={},\n    scn2img_defaults={},\n    scn2img_toggles={},\n    scn2img_toggle_defaults={},\n    scn2img_define_args=lambda: ({}, {}, {}),\n    user_defaults={},\n    run_GFPGAN=lambda x: x,\n    run_RealESRGAN=lambda x: x,\n    job_manager: JobManager = None,\n) -> gr.Blocks:\n    with gr.Blocks(\n        css=css(opt), analytics_enabled=False, title=\"Stable Diffusion WebUI\"\n    ) as demo:\n        with gr.Tabs(elem_id=\"tabss\") as tabs:\n            with gr.TabItem(\"Text-to-Image\", id=\"txt2img_tab\"):\n                with gr.Row(elem_id=\"prompt_row\"):\n                    txt2img_prompt = gr.Textbox(\n                        label=\"Prompt\",\n                        elem_id=\"prompt_input\",\n                        placeholder=\"A corgi wearing a top hat as an oil painting.\",\n                        lines=1,\n                        max_lines=1\n                        if txt2img_defaults[\"submit_on_enter\"] == \"Yes\"\n                        else 25,\n                        value=txt2img_defaults[\"prompt\"],\n                        show_label=False,\n                    )\n                    txt2img_btn = gr.Button(\n                        \"Generate\", elem_id=\"generate\", variant=\"primary\"\n                    )\n\n                with gr.Row(elem_id=\"body\").style(equal_height=False):\n                    with gr.Column():\n                        txt2img_width = gr.Slider(\n                            minimum=64,\n                            maximum=1024,\n                            step=64,\n                            label=\"Width\",\n                            value=txt2img_defaults[\"width\"],\n                        )\n                        txt2img_height = gr.Slider(\n                            minimum=64,\n                            maximum=1024,\n                            step=64,\n                            label=\"Height\",\n                            value=txt2img_defaults[\"height\"],\n                        )\n                        txt2img_cfg = gr.Slider(\n                            minimum=-40.0,\n                            maximum=30.0,\n                            step=0.5,\n                            label=\"Classifier Free Guidance Scale (how strongly the image should follow the prompt)\",\n                            value=txt2img_defaults[\"cfg_scale\"],\n                            elem_id=\"cfg_slider\",\n                        )\n                        txt2img_seed = gr.Textbox(\n                            label=\"Seed (blank to randomize)\",\n                            lines=1,\n                            max_lines=1,\n                            value=txt2img_defaults[\"seed\"],\n                        )\n                        txt2img_batch_size = gr.Slider(\n                            minimum=1,\n                            maximum=50,\n                            step=1,\n                            label=\"Images per batch\",\n                            value=txt2img_defaults[\"batch_size\"],\n                        )\n                        txt2img_batch_count = gr.Slider(\n                            minimum=1,\n                            maximum=50,\n                            step=1,\n                            label=\"Number of batches to generate\",\n                            value=txt2img_defaults[\"n_iter\"],\n                        )\n\n                        txt2img_job_ui = (\n                            job_manager.draw_gradio_ui() if job_manager else None\n                        )\n\n                        txt2img_dimensions_info_text_box = gr.Textbox(\n                            label=\"Aspect ratio (4:3 = 1.333 | 16:9 = 1.777 | 21:9 = 2.333)\"\n                        )\n                    with gr.Column(elem_id=\"text2img_col2\"):\n                        with gr.Box():\n                            output_txt2img_gallery = gr.Gallery(\n                                label=\"Images\", elem_id=\"txt2img_gallery_output\"\n                            ).style(grid=[4, 4])\n                            gr.Markdown(\n                                \"Select an image from the gallery, then click one of the buttons below to perform an action.\"\n                            )\n                            with gr.Row(elem_id=\"txt2img_actions_row\"):\n                                gr.Button(\"Copy to clipboard\").click(\n                                    fn=None,\n                                    inputs=output_txt2img_gallery,\n                                    outputs=[],\n                                    _js=call_JS(\n                                        \"copyImageFromGalleryToClipboard\",\n                                        fromId=\"txt2img_gallery_output\",\n                                    ),\n                                )\n                                output_txt2img_copy_to_input_btn = gr.Button(\n                                    \"Push to img2img\"\n                                )\n                                output_txt2img_to_imglab = gr.Button(\n                                    \"Send to Lab\", visible=True\n                                )\n\n                        output_txt2img_params = gr.Highlightedtext(\n                            label=\"Generation parameters\",\n                            interactive=False,\n                            elem_id=\"txt2img_highlight\",\n                        )\n                        with gr.Group():\n                            with gr.Row(elem_id=\"txt2img_output_row\"):\n                                gr.Button(\"Copy full parameters\").click(\n                                    inputs=[output_txt2img_params],\n                                    outputs=[],\n                                    _js=call_JS(\n                                        \"copyFullOutput\", fromId=\"txt2img_highlight\"\n                                    ),\n                                    fn=None,\n                                    show_progress=False,\n                                )\n                                output_txt2img_seed = gr.Number(\n                                    label=\"Seed\", interactive=False, visible=False\n                                )\n                                gr.Button(\"Copy only seed\").click(\n                                    inputs=[output_txt2img_seed],\n                                    outputs=[],\n                                    _js=call_JS(\"gradioInputToClipboard\"),\n                                    fn=None,\n                                    show_progress=False,\n                                )\n                            output_txt2img_stats = gr.HTML(label=\"Stats\")\n                    with gr.Column():\n                        txt2img_steps = gr.Slider(\n                            minimum=1,\n                            maximum=250,\n                            step=1,\n                            label=\"Sampling Steps\",\n                            value=txt2img_defaults[\"ddim_steps\"],\n                        )\n                        txt2img_sampling = gr.Dropdown(\n                            label=\"Sampling method (k_lms is default k-diffusion sampler)\",\n                            choices=[\n                                \"DDIM\",\n                                \"PLMS\",\n                                \"k_dpm_2_a\",\n                                \"k_dpm_2\",\n                                \"k_euler_a\",\n                                \"k_euler\",\n                                \"k_heun\",\n                                \"k_lms\",\n                            ],\n                            value=txt2img_defaults[\"sampler_name\"],\n                        )\n                        with gr.Tabs():\n                            with gr.TabItem(\"Simple\"):\n                                txt2img_submit_on_enter = gr.Radio(\n                                    [\"Yes\", \"No\"],\n                                    label=\"Submit on enter? (no means multiline)\",\n                                    value=txt2img_defaults[\"submit_on_enter\"],\n                                    interactive=True,\n                                    elem_id=\"submit_on_enter\",\n                                )\n                                txt2img_submit_on_enter.change(\n                                    lambda x: gr.update(\n                                        max_lines=1 if x == \"Yes\" else 25\n                                    ),\n                                    txt2img_submit_on_enter,\n                                    txt2img_prompt,\n                                )\n                            with gr.TabItem(\"Advanced\"):\n                                txt2img_toggles = gr.CheckboxGroup(\n                                    label=\"\",\n                                    choices=txt2img_toggles,\n                                    value=txt2img_toggle_defaults,\n                                    type=\"index\",\n                                )\n                                txt2img_realesrgan_model_name = gr.Dropdown(\n                                    label=\"RealESRGAN model\",\n                                    choices=[\n                                        \"RealESRGAN_x4plus\",\n                                        \"RealESRGAN_x4plus_anime_6B\",\n                                    ],\n                                    value=txt2img_defaults[\"realesrgan_model_name\"],\n                                    visible=False,\n                                )  # RealESRGAN is not None # invisible until removed)  # TODO: Feels like I shouldnt slot it in here.\n\n                                txt2img_ddim_eta = gr.Slider(\n                                    minimum=0.0,\n                                    maximum=1.0,\n                                    step=0.01,\n                                    label=\"DDIM ETA\",\n                                    value=txt2img_defaults[\"ddim_eta\"],\n                                    visible=False,\n                                )\n                                txt2img_variant_amount = gr.Slider(\n                                    minimum=0.0,\n                                    maximum=1.0,\n                                    label=\"Variation Amount\",\n                                    value=txt2img_defaults[\"variant_amount\"],\n                                )\n                                txt2img_variant_seed = gr.Textbox(\n                                    label=\"Variant Seed (blank to randomize)\",\n                                    lines=1,\n                                    max_lines=1,\n                                    value=txt2img_defaults[\"variant_seed\"],\n                                )\n                        txt2img_embeddings = gr.File(\n                            label=\"Embeddings file for textual inversion\",\n                            visible=show_embeddings,\n                        )\n\n                txt2img_func = txt2img\n                txt2img_inputs = [\n                    txt2img_prompt,\n                    txt2img_steps,\n                    txt2img_sampling,\n                    txt2img_toggles,\n                    txt2img_realesrgan_model_name,\n                    txt2img_ddim_eta,\n                    txt2img_batch_count,\n                    txt2img_batch_size,\n                    txt2img_cfg,\n                    txt2img_seed,\n                    txt2img_height,\n                    txt2img_width,\n                    txt2img_embeddings,\n                    txt2img_variant_amount,\n                    txt2img_variant_seed,\n                ]\n                txt2img_outputs = [\n                    output_txt2img_gallery,\n                    output_txt2img_seed,\n                    output_txt2img_params,\n                    output_txt2img_stats,\n                ]\n\n                # If a JobManager was passed in then wrap the Generate functions\n                if txt2img_job_ui:\n                    (\n                        txt2img_func,\n                        txt2img_inputs,\n                        txt2img_outputs,\n                    ) = txt2img_job_ui.wrap_func(\n                        func=txt2img_func,\n                        inputs=txt2img_inputs,\n                        outputs=txt2img_outputs,\n                    )\n                    use_queue = False\n                else:\n                    use_queue = True\n\n                txt2img_btn.click(\n                    txt2img_func,\n                    txt2img_inputs,\n                    txt2img_outputs,\n                    api_name=\"txt2img\",\n                    queue=use_queue,\n                )\n                txt2img_prompt.submit(\n                    txt2img_func, txt2img_inputs, txt2img_outputs, queue=use_queue\n                )\n\n                txt2img_width.change(\n                    fn=uifn.update_dimensions_info,\n                    inputs=[txt2img_width, txt2img_height],\n                    outputs=txt2img_dimensions_info_text_box,\n                )\n                txt2img_height.change(\n                    fn=uifn.update_dimensions_info,\n                    inputs=[txt2img_width, txt2img_height],\n                    outputs=txt2img_dimensions_info_text_box,\n                )\n                txt2img_dimensions_info_text_box.value = uifn.update_dimensions_info(\n                    txt2img_width.value, txt2img_height.value\n                )\n\n                # Temporarily disable prompt parsing until memory issues could be solved\n                # See #676\n                # live_prompt_params = [txt2img_prompt, txt2img_width, txt2img_height, txt2img_steps, txt2img_seed,\n                #                       txt2img_batch_count, txt2img_cfg]\n                # txt2img_prompt.change(\n                #     fn=None,\n                #     inputs=live_prompt_params,\n                #     outputs=live_prompt_params,\n                #     _js=js_parse_prompt\n                # )\n\n            with gr.TabItem(\"Image-to-Image Unified\", id=\"img2img_tab\"):\n                with gr.Row(elem_id=\"prompt_row\"):\n                    img2img_prompt = gr.Textbox(\n                        label=\"Prompt\",\n                        elem_id=\"img2img_prompt_input\",\n                        placeholder=\"A fantasy landscape, trending on artstation.\",\n                        lines=1,\n                        max_lines=1\n                        if txt2img_defaults[\"submit_on_enter\"] == \"Yes\"\n                        else 25,\n                        value=img2img_defaults[\"prompt\"],\n                        show_label=False,\n                    ).style()\n\n                    img2img_btn_mask = gr.Button(\n                        \"Generate\",\n                        variant=\"primary\",\n                        visible=False,\n                        elem_id=\"img2img_mask_btn\",\n                    )\n                    img2img_btn_editor = gr.Button(\n                        \"Generate\", variant=\"primary\", elem_id=\"img2img_edit_btn\"\n                    )\n                with gr.Row().style(equal_height=False):\n                    with gr.Column():\n                        gr.Markdown(\"#### Img2Img Input\")\n                        img2img_image_mask = gr.Image(\n                            value=sample_img2img,\n                            source=\"upload\",\n                            interactive=True,\n                            type=\"pil\",\n                            tool=\"sketch\",\n                            elem_id=\"img2img_mask\",\n                            image_mode=\"RGBA\",\n                        )\n                        img2img_image_editor = gr.Image(\n                            value=sample_img2img,\n                            source=\"upload\",\n                            interactive=True,\n                            type=\"pil\",\n                            tool=\"select\",\n                            visible=False,\n                            image_mode=\"RGBA\",\n                            elem_id=\"img2img_editor\",\n                        )\n\n                        with gr.Tabs():\n                            with gr.TabItem(\"Editor Options\"):\n                                with gr.Row():\n                                    # disable Uncrop for now\n                                    choices = [\"Mask\", \"Crop\", \"Uncrop\"]\n                                    # choices=[\"Mask\", \"Crop\"]\n                                    img2img_image_editor_mode = gr.Radio(\n                                        choices=choices,\n                                        label=\"Image Editor Mode\",\n                                        value=\"Mask\",\n                                        elem_id=\"edit_mode_select\",\n                                        visible=True,\n                                    )\n                                    img2img_mask = gr.Radio(\n                                        choices=[\n                                            \"Keep masked area\",\n                                            \"Regenerate only masked area\",\n                                        ],\n                                        label=\"Mask Mode\",\n                                        type=\"index\",\n                                        value=img2img_mask_modes[\n                                            img2img_defaults[\"mask_mode\"]\n                                        ],\n                                        visible=True,\n                                    )\n\n                                    img2img_mask_restore = gr.Checkbox(\n                                        label=\"Only modify regenerated parts of image\",\n                                        value=img2img_defaults[\"mask_restore\"],\n                                        visible=True,\n                                    )\n\n                                    img2img_mask_blur_strength = gr.Slider(\n                                        minimum=1,\n                                        maximum=100,\n                                        step=1,\n                                        label=\"How much blurry should the mask be? (to avoid hard edges)\",\n                                        value=img2img_defaults[\"mask_blur_strength\"],\n                                        visible=True,\n                                    )\n\n                                    img2img_resize = gr.Radio(\n                                        label=\"Resize mode\",\n                                        choices=[\n                                            \"Just resize\",\n                                            \"Crop and resize\",\n                                            \"Resize and fill\",\n                                        ],\n                                        type=\"index\",\n                                        value=img2img_resize_modes[\n                                            img2img_defaults[\"resize_mode\"]\n                                        ],\n                                        visible=False,\n                                    )\n\n                                img2img_painterro_btn = gr.Button(\"Advanced Editor\")\n                            with gr.TabItem(\"Hints\"):\n                                gr.Markdown(visible=False, value=uifn.help_text)\n\n                    with gr.Column():\n                        gr.Markdown(\"#### Img2Img Results\")\n                        output_img2img_gallery = gr.Gallery(\n                            label=\"Images\", elem_id=\"img2img_gallery_output\"\n                        ).style(grid=[4, 4, 4])\n                        img2img_job_ui = (\n                            job_manager.draw_gradio_ui() if job_manager else None\n                        )\n                        with gr.Tabs():\n                            with gr.TabItem(\n                                \"Generated image actions\", id=\"img2img_actions_tab\"\n                            ):\n                                gr.Markdown(\n                                    \"Select an image, then press one of the buttons below\"\n                                )\n                                with gr.Row():\n                                    output_img2img_copy_to_clipboard_btn = gr.Button(\n                                        \"Copy to clipboard\"\n                                    )\n                                    output_img2img_copy_to_input_btn = gr.Button(\n                                        \"Push to img2img input\"\n                                    )\n                                    output_img2img_copy_to_mask_btn = gr.Button(\n                                        \"Push to img2img input mask\"\n                                    )\n\n                                gr.Markdown(\n                                    \"Warning: This will clear your current image and mask settings!\"\n                                )\n                            with gr.TabItem(\n                                \"Output info\", id=\"img2img_output_info_tab\"\n                            ):\n                                output_img2img_params = gr.Highlightedtext(\n                                    label=\"Generation parameters\",\n                                    interactive=False,\n                                    elem_id=\"img2img_highlight\",\n                                )\n                                with gr.Row():\n                                    gr.Button(\"Copy full parameters\").click(\n                                        inputs=output_img2img_params,\n                                        outputs=[],\n                                        _js=call_JS(\n                                            \"copyFullOutput\", fromId=\"img2img_highlight\"\n                                        ),\n                                        fn=None,\n                                        show_progress=False,\n                                    )\n                                    output_img2img_seed = gr.Number(\n                                        label=\"Seed\", interactive=False, visible=False\n                                    )\n                                    gr.Button(\"Copy only seed\").click(\n                                        inputs=output_img2img_seed,\n                                        outputs=[],\n                                        _js=call_JS(\"gradioInputToClipboard\"),\n                                        fn=None,\n                                        show_progress=False,\n                                    )\n                                output_img2img_stats = gr.HTML(label=\"Stats\")\n\n                gr.Markdown(\"# img2img settings\")\n\n                with gr.Row():\n                    with gr.Column():\n                        img2img_width = gr.Slider(\n                            minimum=64,\n                            maximum=2048,\n                            step=64,\n                            label=\"Width\",\n                            value=img2img_defaults[\"width\"],\n                        )\n                        img2img_height = gr.Slider(\n                            minimum=64,\n                            maximum=2048,\n                            step=64,\n                            label=\"Height\",\n                            value=img2img_defaults[\"height\"],\n                        )\n                        img2img_cfg = gr.Slider(\n                            minimum=-40.0,\n                            maximum=30.0,\n                            step=0.5,\n                            label=\"Classifier Free Guidance Scale (how strongly the image should follow the prompt)\",\n                            value=img2img_defaults[\"cfg_scale\"],\n                            elem_id=\"cfg_slider\",\n                        )\n                        img2img_seed = gr.Textbox(\n                            label=\"Seed (blank to randomize)\",\n                            lines=1,\n                            max_lines=1,\n                            value=img2img_defaults[\"seed\"],\n                        )\n                        img2img_batch_count = gr.Slider(\n                            minimum=1,\n                            maximum=50,\n                            step=1,\n                            label=\"Batch count (how many batches of images to generate)\",\n                            value=img2img_defaults[\"n_iter\"],\n                        )\n                        img2img_dimensions_info_text_box = gr.Textbox(\n                            label=\"Aspect ratio (4:3 = 1.333 | 16:9 = 1.777 | 21:9 = 2.333)\",\n                            lines=\"2\",\n                        )\n                    with gr.Column():\n                        img2img_steps = gr.Slider(\n                            minimum=1,\n                            maximum=250,\n                            step=1,\n                            label=\"Sampling Steps\",\n                            value=img2img_defaults[\"ddim_steps\"],\n                        )\n\n                        img2img_sampling = gr.Dropdown(\n                            label=\"Sampling method (k_lms is default k-diffusion sampler)\",\n                            choices=[\n                                \"DDIM\",\n                                \"k_dpm_2_a\",\n                                \"k_dpm_2\",\n                                \"k_euler_a\",\n                                \"k_euler\",\n                                \"k_heun\",\n                                \"k_lms\",\n                            ],\n                            value=img2img_defaults[\"sampler_name\"],\n                        )\n\n                        img2img_denoising = gr.Slider(\n                            minimum=0.0,\n                            maximum=1.0,\n                            step=0.01,\n                            label=\"Denoising Strength\",\n                            value=img2img_defaults[\"denoising_strength\"],\n                        )\n\n                        img2img_toggles = gr.CheckboxGroup(\n                            label=\"\",\n                            choices=img2img_toggles,\n                            value=img2img_toggle_defaults,\n                            type=\"index\",\n                        )\n\n                        img2img_realesrgan_model_name = gr.Dropdown(\n                            label=\"RealESRGAN model\",\n                            choices=[\"RealESRGAN_x4plus\", \"RealESRGAN_x4plus_anime_6B\"],\n                            value=img2img_defaults[\"realesrgan_model_name\"],\n                            visible=RealESRGAN is not None,\n                        )  # TODO: Feels like I shouldnt slot it in here.\n\n                        img2img_embeddings = gr.File(\n                            label=\"Embeddings file for textual inversion\",\n                            visible=show_embeddings,\n                        )\n\n                img2img_image_editor_mode.change(\n                    uifn.change_image_editor_mode,\n                    [\n                        img2img_image_editor_mode,\n                        img2img_image_editor,\n                        img2img_image_mask,\n                        img2img_resize,\n                        img2img_width,\n                        img2img_height,\n                    ],\n                    [\n                        img2img_image_editor,\n                        img2img_image_mask,\n                        img2img_btn_editor,\n                        img2img_btn_mask,\n                        img2img_painterro_btn,\n                        img2img_mask,\n                        img2img_mask_blur_strength,\n                        img2img_mask_restore,\n                    ],\n                )\n\n                # img2img_image_editor_mode.change(\n                #     uifn.update_image_mask,\n                #     [img2img_image_editor, img2img_resize, img2img_width, img2img_height],\n                #     img2img_image_mask\n                # )\n\n                output_txt2img_copy_to_input_btn.click(\n                    uifn.copy_img_to_input,\n                    [output_txt2img_gallery],\n                    [img2img_image_editor, img2img_image_mask, tabs],\n                    _js=call_JS(\n                        \"moveImageFromGallery\",\n                        fromId=\"txt2img_gallery_output\",\n                        toId=\"img2img_editor\",\n                    ),\n                )\n\n                output_img2img_copy_to_input_btn.click(\n                    uifn.copy_img_to_edit,\n                    [output_img2img_gallery],\n                    [img2img_image_editor, tabs, img2img_image_editor_mode],\n                    _js=call_JS(\n                        \"moveImageFromGallery\",\n                        fromId=\"img2img_gallery_output\",\n                        toId=\"img2img_editor\",\n                    ),\n                )\n                output_img2img_copy_to_mask_btn.click(\n                    uifn.copy_img_to_mask,\n                    [output_img2img_gallery],\n                    [img2img_image_mask, tabs, img2img_image_editor_mode],\n                    _js=call_JS(\n                        \"moveImageFromGallery\",\n                        fromId=\"img2img_gallery_output\",\n                        toId=\"img2img_editor\",\n                    ),\n                )\n\n                output_img2img_copy_to_clipboard_btn.click(\n                    fn=None,\n                    inputs=output_img2img_gallery,\n                    outputs=[],\n                    _js=call_JS(\n                        \"copyImageFromGalleryToClipboard\",\n                        fromId=\"img2img_gallery_output\",\n                    ),\n                )\n\n                img2img_func = img2img\n                img2img_inputs = [\n                    img2img_prompt,\n                    img2img_image_editor_mode,\n                    img2img_mask,\n                    img2img_mask_blur_strength,\n                    img2img_mask_restore,\n                    img2img_steps,\n                    img2img_sampling,\n                    img2img_toggles,\n                    img2img_realesrgan_model_name,\n                    img2img_batch_count,\n                    img2img_cfg,\n                    img2img_denoising,\n                    img2img_seed,\n                    img2img_height,\n                    img2img_width,\n                    img2img_resize,\n                    img2img_image_editor,\n                    img2img_image_mask,\n                    img2img_embeddings,\n                ]\n                img2img_outputs = [\n                    output_img2img_gallery,\n                    output_img2img_seed,\n                    output_img2img_params,\n                    output_img2img_stats,\n                ]\n\n                # If a JobManager was passed in then wrap the Generate functions\n                if img2img_job_ui:\n                    (\n                        img2img_func,\n                        img2img_inputs,\n                        img2img_outputs,\n                    ) = img2img_job_ui.wrap_func(\n                        func=img2img_func,\n                        inputs=img2img_inputs,\n                        outputs=img2img_outputs,\n                    )\n                    use_queue = False\n                else:\n                    use_queue = True\n\n                img2img_btn_mask.click(\n                    img2img_func,\n                    img2img_inputs,\n                    img2img_outputs,\n                    api_name=\"img2img\",\n                    queue=use_queue,\n                )\n\n                def img2img_submit_params():\n                    # print([img2img_prompt, img2img_image_editor_mode, img2img_mask,\n                    #              img2img_mask_blur_strength, img2img_steps, img2img_sampling, img2img_toggles,\n                    #              img2img_realesrgan_model_name, img2img_batch_count, img2img_cfg,\n                    #              img2img_denoising, img2img_seed, img2img_height, img2img_width, img2img_resize,\n                    #              img2img_image_editor, img2img_image_mask, img2img_embeddings])\n                    return (img2img_func, img2img_inputs, img2img_outputs)\n\n                img2img_btn_editor.click(*img2img_submit_params())\n\n                # GENERATE ON ENTER\n                img2img_prompt.submit(\n                    None,\n                    None,\n                    None,\n                    _js=call_JS(\"clickFirstVisibleButton\", rowId=\"prompt_row\"),\n                )\n\n                img2img_painterro_btn.click(\n                    None,\n                    [\n                        img2img_image_editor,\n                        img2img_image_mask,\n                        img2img_image_editor_mode,\n                    ],\n                    [img2img_image_editor, img2img_image_mask],\n                    _js=call_JS(\"Painterro.init\", toId=\"img2img_editor\"),\n                )\n\n                img2img_width.change(\n                    fn=uifn.update_dimensions_info,\n                    inputs=[img2img_width, img2img_height],\n                    outputs=img2img_dimensions_info_text_box,\n                )\n                img2img_height.change(\n                    fn=uifn.update_dimensions_info,\n                    inputs=[img2img_width, img2img_height],\n                    outputs=img2img_dimensions_info_text_box,\n                )\n                img2img_dimensions_info_text_box.value = uifn.update_dimensions_info(\n                    img2img_width.value, img2img_height.value\n                )\n\n            with gr.TabItem(\"Image Lab\", id=\"imgproc_tab\"):\n                gr.Markdown(\"Post-process results\")\n                with gr.Row():\n                    with gr.Column():\n                        with gr.Tabs():\n                            with gr.TabItem(\"Single Image\"):\n                                imgproc_source = gr.Image(\n                                    label=\"Source\",\n                                    source=\"upload\",\n                                    interactive=True,\n                                    type=\"pil\",\n                                    elem_id=\"imglab_input\",\n                                )\n\n                            # gfpgan_strength = gr.Slider(minimum=0.0, maximum=1.0, step=0.001, label=\"Effect strength\",\n                            #                            value=gfpgan_defaults['strength'])\n                            # select folder with images to process\n                            with gr.TabItem(\"Batch Process\"):\n                                imgproc_folder = gr.File(\n                                    label=\"Batch Process\",\n                                    file_count=\"multiple\",\n                                    interactive=True,\n                                    type=\"file\",\n                                )\n                        imgproc_pngnfo = gr.Textbox(\n                            label=\"PNG Metadata\",\n                            placeholder=\"PngNfo\",\n                            visible=False,\n                            max_lines=5,\n                        )\n                        with gr.Row():\n                            imgproc_btn = gr.Button(\"Process\", variant=\"primary\")\n                        gr.HTML(\n                            \"\"\"\n        <div id=\"90\" style=\"max-width: 100%; font-size: 14px; text-align: center;\" class=\"output-markdown gr-prose border-solid border border-gray-200 rounded gr-panel\">\n            <p><b>Upscale Modes Guide</b></p>\n            <p></p>\n            <p><b>RealESRGAN</b></p>\n            <p>A 4X/2X fast upscaler that works well for stylized content, will smooth more detailed compositions.</p>\n            <p><b>GoBIG</b></p>\n            <p>A 2X upscaler that uses RealESRGAN to upscale the image and then slice it into small parts, each part gets diffused further by SD to create more details, great for adding and increasing details but will change the composition, might also fix issues like eyes etc, use the settings like img2img etc</p>\n            <p><b>Latent Diffusion Super Resolution</b></p>\n            <p>A 4X upscaler with high VRAM usage that uses a Latent Diffusion model to upscale the image, this will accentuate the details but won't change the composition, might introduce sharpening, great for textures or compositions with plenty of details, is slower.</p>\n            <p><b>GoLatent</b></p>\n            <p>A 8X upscaler with high VRAM usage, uses GoBig to add details and then uses a Latent Diffusion model to upscale the image, this will result in less artifacting/sharpeninng, use the settings to feed GoBig settings that will contribute to the result, this mode is considerbly slower</p>\n        </div>\n        \"\"\"\n                        )\n                    with gr.Column():\n                        with gr.Tabs():\n                            with gr.TabItem(\"Output\"):\n                                imgproc_output = gr.Gallery(\n                                    label=\"Output\", elem_id=\"imgproc_gallery_output\"\n                                )\n                        with gr.Row(elem_id=\"proc_options_row\"):\n                            with gr.Box():\n                                with gr.Column():\n                                    gr.Markdown(\"<b>Processor Selection</b>\")\n                                    imgproc_toggles = gr.CheckboxGroup(\n                                        label=\"\",\n                                        choices=imgproc_mode_toggles,\n                                        type=\"index\",\n                                    )\n                                    # .change toggles to show options\n                                    # imgproc_toggles.change()\n                        with gr.Box(visible=False) as gfpgan_group:\n                            gfpgan_defaults = {\n                                \"strength\": 100,\n                            }\n\n                            if \"gfpgan\" in user_defaults:\n                                gfpgan_defaults.update(user_defaults[\"gfpgan\"])\n                            if GFPGAN is None:\n                                gr.HTML(\n                                    \"\"\"\n    <div id=\"90\" style=\"max-width: 100%; font-size: 14px; text-align: center;\" class=\"output-markdown gr-prose border-solid border border-gray-200 rounded gr-panel\">\n        <p><b> Please download GFPGAN to activate face fixing features</b>, instructions are available at the <a href='https://github.com/Sygil-Dev/sygil-webui'>Github</a></p>\n    </div>\n    \"\"\"\n                                )\n                                # gr.Markdown(\"\")\n                                # gr.Markdown(\"<b> Please download GFPGAN to activate face fixing features</b>, instructions are available at the <a href='https://github.com/Sygil-Dev/sygil-webui'>Github</a>\")\n                            with gr.Column():\n                                gr.Markdown(\"<b>GFPGAN Settings</b>\")\n                                imgproc_gfpgan_strength = gr.Slider(\n                                    minimum=0.0,\n                                    maximum=1.0,\n                                    step=0.001,\n                                    label=\"Effect strength\",\n                                    value=gfpgan_defaults[\"strength\"],\n                                    visible=GFPGAN is not None,\n                                )\n                        with gr.Box(visible=False) as upscale_group:\n                            if LDSR:\n                                upscaleModes = [\n                                    \"RealESRGAN\",\n                                    \"GoBig\",\n                                    \"Latent Diffusion SR\",\n                                    \"GoLatent \",\n                                ]\n                            else:\n                                gr.HTML(\n                                    \"\"\"\n    <div id=\"90\" style=\"max-width: 100%; font-size: 14px; text-align: center;\" class=\"output-markdown gr-prose border-solid border border-gray-200 rounded gr-panel\">\n        <p><b> Please download LDSR to activate more upscale features</b>, instructions are available at the <a href='https://github.com/Sygil-Dev/sygil-webui'>Github</a></p>\n    </div>\n    \"\"\"\n                                )\n                                upscaleModes = [\"RealESRGAN\", \"GoBig\"]\n                            with gr.Column():\n                                gr.Markdown(\"<b>Upscaler Selection</b>\")\n                                imgproc_upscale_toggles = gr.Radio(\n                                    label=\"\",\n                                    choices=upscaleModes,\n                                    type=\"index\",\n                                    visible=RealESRGAN is not None,\n                                    value=\"RealESRGAN\",\n                                )\n                        with gr.Box(visible=False) as upscalerSettings_group:\n                            with gr.Box(visible=True) as realesrgan_group:\n                                with gr.Column():\n                                    gr.Markdown(\"<b>RealESRGAN Settings</b>\")\n                                    imgproc_realesrgan_model_name = gr.Dropdown(\n                                        label=\"RealESRGAN model\",\n                                        interactive=RealESRGAN is not None,\n                                        choices=[\n                                            \"RealESRGAN_x4plus\",\n                                            \"RealESRGAN_x4plus_anime_6B\",\n                                            \"RealESRGAN_x2plus\",\n                                            \"RealESRGAN_x2plus_anime_6B\",\n                                        ],\n                                        value=\"RealESRGAN_x4plus\",\n                                        visible=RealESRGAN is not None,\n                                    )  # TODO: Feels like I shouldnt slot it in here.\n                            with gr.Box(visible=False) as ldsr_group:\n                                with gr.Row(elem_id=\"ldsr_settings_row\"):\n                                    with gr.Column():\n                                        gr.Markdown(\n                                            \"<b>Latent Diffusion Super Sampling Settings</b>\"\n                                        )\n                                        imgproc_ldsr_steps = gr.Slider(\n                                            minimum=0,\n                                            maximum=500,\n                                            step=10,\n                                            label=\"LDSR Sampling Steps\",\n                                            value=100,\n                                            visible=LDSR is not None,\n                                        )\n                                        imgproc_ldsr_pre_downSample = gr.Dropdown(\n                                            label=\"LDSR Pre Downsample mode (Lower resolution before processing for speed)\",\n                                            choices=[\"None\", \"1/2\", \"1/4\"],\n                                            value=\"None\",\n                                            visible=LDSR is not None,\n                                        )\n                                        imgproc_ldsr_post_downSample = gr.Dropdown(\n                                            label=\"LDSR Post Downsample mode (aka SuperSampling)\",\n                                            choices=[\n                                                \"None\",\n                                                \"Original Size\",\n                                                \"1/2\",\n                                                \"1/4\",\n                                            ],\n                                            value=\"None\",\n                                            visible=LDSR is not None,\n                                        )\n                            with gr.Box(visible=False) as gobig_group:\n                                with gr.Row(elem_id=\"proc_prompt_row\"):\n                                    with gr.Column():\n                                        gr.Markdown(\"<b>GoBig Settings</b>\")\n                                        imgproc_prompt = gr.Textbox(\n                                            label=\"\",\n                                            elem_id=\"prompt_input\",\n                                            placeholder=\"A corgi wearing a top hat as an oil painting.\",\n                                            lines=1,\n                                            max_lines=1,\n                                            value=imgproc_defaults[\"prompt\"],\n                                            show_label=True,\n                                            visible=RealESRGAN is not None,\n                                        )\n                                        imgproc_sampling = gr.Dropdown(\n                                            label=\"Sampling method (k_lms is default k-diffusion sampler)\",\n                                            choices=[\n                                                \"DDIM\",\n                                                \"k_dpm_2_a\",\n                                                \"k_dpm_2\",\n                                                \"k_euler_a\",\n                                                \"k_euler\",\n                                                \"k_heun\",\n                                                \"k_lms\",\n                                            ],\n                                            value=imgproc_defaults[\"sampler_name\"],\n                                            visible=RealESRGAN is not None,\n                                        )\n                                        imgproc_steps = gr.Slider(\n                                            minimum=1,\n                                            maximum=250,\n                                            step=1,\n                                            label=\"Sampling Steps\",\n                                            value=imgproc_defaults[\"ddim_steps\"],\n                                            visible=RealESRGAN is not None,\n                                        )\n                                        imgproc_cfg = gr.Slider(\n                                            minimum=1.0,\n                                            maximum=30.0,\n                                            step=0.5,\n                                            label=\"Classifier Free Guidance Scale (how strongly the image should follow the prompt)\",\n                                            value=imgproc_defaults[\"cfg_scale\"],\n                                            visible=RealESRGAN is not None,\n                                        )\n                                        imgproc_denoising = gr.Slider(\n                                            minimum=0.0,\n                                            maximum=1.0,\n                                            step=0.01,\n                                            label=\"Denoising Strength\",\n                                            value=imgproc_defaults[\n                                                \"denoising_strength\"\n                                            ],\n                                            visible=RealESRGAN is not None,\n                                        )\n                                        imgproc_height = gr.Slider(\n                                            minimum=64,\n                                            maximum=2048,\n                                            step=64,\n                                            label=\"Height\",\n                                            value=imgproc_defaults[\"height\"],\n                                            visible=False,\n                                        )  # not currently implemented\n                                        imgproc_width = gr.Slider(\n                                            minimum=64,\n                                            maximum=2048,\n                                            step=64,\n                                            label=\"Width\",\n                                            value=imgproc_defaults[\"width\"],\n                                            visible=False,\n                                        )  # not currently implemented\n                                        imgproc_seed = gr.Textbox(\n                                            label=\"Seed (blank to randomize)\",\n                                            lines=1,\n                                            max_lines=1,\n                                            value=imgproc_defaults[\"seed\"],\n                                            visible=RealESRGAN is not None,\n                                        )\n                                        imgproc_btn.click(\n                                            imgproc,\n                                            [\n                                                imgproc_source,\n                                                imgproc_folder,\n                                                imgproc_prompt,\n                                                imgproc_toggles,\n                                                imgproc_upscale_toggles,\n                                                imgproc_realesrgan_model_name,\n                                                imgproc_sampling,\n                                                imgproc_steps,\n                                                imgproc_height,\n                                                imgproc_width,\n                                                imgproc_cfg,\n                                                imgproc_denoising,\n                                                imgproc_seed,\n                                                imgproc_gfpgan_strength,\n                                                imgproc_ldsr_steps,\n                                                imgproc_ldsr_pre_downSample,\n                                                imgproc_ldsr_post_downSample,\n                                            ],\n                                            [imgproc_output],\n                                            api_name=\"imgproc\",\n                                        )\n\n                                        imgproc_source.change(\n                                            uifn.get_png_nfo,\n                                            [imgproc_source],\n                                            [imgproc_pngnfo],\n                                        )\n\n                                output_txt2img_to_imglab.click(\n                                    fn=uifn.copy_img_params_to_lab,\n                                    inputs=[output_txt2img_params],\n                                    outputs=[\n                                        imgproc_prompt,\n                                        imgproc_seed,\n                                        imgproc_steps,\n                                        imgproc_cfg,\n                                        imgproc_sampling,\n                                    ],\n                                )\n\n                                output_txt2img_to_imglab.click(\n                                    fn=uifn.copy_img_to_lab,\n                                    inputs=[output_txt2img_gallery],\n                                    outputs=[imgproc_source, tabs],\n                                    _js=call_JS(\n                                        \"moveImageFromGallery\",\n                                        fromId=\"txt2img_gallery_output\",\n                                        toId=\"imglab_input\",\n                                    ),\n                                )\n                                if RealESRGAN is None:\n                                    with gr.Row():\n                                        with gr.Column():\n                                            # seperator\n                                            gr.HTML(\n                                                \"\"\"\n        <div id=\"90\" style=\"max-width: 100%; font-size: 14px; text-align: center;\" class=\"output-markdown gr-prose border-solid border border-gray-200 rounded gr-panel\">\n            <p><b> Please download RealESRGAN to activate upscale features</b>, instructions are available at the <a href='https://github.com/Sygil-Dev/sygil-webui'>Github</a></p>\n        </div>\n        \"\"\"\n                                            )\n            imgproc_toggles.change(\n                fn=uifn.toggle_options_gfpgan,\n                inputs=[imgproc_toggles],\n                outputs=[gfpgan_group],\n            )\n            imgproc_toggles.change(\n                fn=uifn.toggle_options_upscalers,\n                inputs=[imgproc_toggles],\n                outputs=[upscale_group],\n            )\n            imgproc_toggles.change(\n                fn=uifn.toggle_options_upscalers,\n                inputs=[imgproc_toggles],\n                outputs=[upscalerSettings_group],\n            )\n            imgproc_upscale_toggles.change(\n                fn=uifn.toggle_options_realesrgan,\n                inputs=[imgproc_upscale_toggles],\n                outputs=[realesrgan_group],\n            )\n            imgproc_upscale_toggles.change(\n                fn=uifn.toggle_options_ldsr,\n                inputs=[imgproc_upscale_toggles],\n                outputs=[ldsr_group],\n            )\n            imgproc_upscale_toggles.change(\n                fn=uifn.toggle_options_gobig,\n                inputs=[imgproc_upscale_toggles],\n                outputs=[gobig_group],\n            )\n\n            with gr.TabItem(\"Scene-to-Image\", id=\"scn2img_tab\"):\n                example_path = os.path.join(\"data\", \"scn2img_examples\")\n                files = os.listdir(example_path)\n                examples = {}\n                for fn in files:\n                    filepath = os.path.join(example_path, str(fn))\n                    with open(filepath, \"r\") as file:\n                        examples[fn] = file.read()\n                with gr.Row(elem_id=\"tools_row\"):\n                    scn2img_btn = gr.Button(\n                        \"Generate\", elem_id=\"generate\", variant=\"primary\"\n                    )\n\n                with gr.Row().style(equal_height=False):\n                    with gr.Column():\n                        scn2img_seed = gr.Textbox(\n                            label=\"Seed (blank to randomize, specify to use cache)\",\n                            lines=1,\n                            max_lines=1,\n                            value=scn2img_defaults[\"seed\"],\n                        )\n                        scn2img_prompt = gr.Textbox(\n                            label=\"Prompt Scene\",\n                            elem_id=\"scn2_img_input\",\n                            placeholder=examples[list(examples.keys())[0]],\n                            lines=50,\n                            max_lines=50,\n                            value=scn2img_defaults[\"prompt\"],\n                            show_label=False,\n                        )\n\n                    with gr.Column():\n                        with gr.Tabs():\n                            with gr.TabItem(\"Results\", id=\"scn2img_results_tab\"):\n                                # gr.Markdown('#### Scn2Img Results')\n                                output_scn2img_gallery = gr.Gallery(\n                                    label=\"Images\", elem_id=\"scn2img_gallery_output\"\n                                ).style(grid=[3, 3, 3], height=80)\n                                scn2img_job_ui = (\n                                    job_manager.draw_gradio_ui()\n                                    if job_manager\n                                    else None\n                                )\n\n                                with gr.Tabs():\n                                    with gr.TabItem(\n                                        \"Generated image actions\",\n                                        id=\"scn2img_actions_tab\",\n                                    ):\n                                        gr.Markdown(\n                                            \"Select an image, then press one of the buttons below\"\n                                        )\n                                        with gr.Row():\n                                            output_scn2img_copy_to_clipboard_btn = (\n                                                gr.Button(\"Copy to clipboard\")\n                                            )\n                                            output_scn2img_copy_to_img2img_input_btn = (\n                                                gr.Button(\"Push to img2img input\")\n                                            )\n                                            output_scn2img_copy_to_img2img_mask_btn = (\n                                                gr.Button(\"Push to img2img input mask\")\n                                            )\n\n                                        gr.Markdown(\n                                            \"Warning: This will clear your current img2img image and mask settings!\"\n                                        )\n\n                                    with gr.TabItem(\n                                        \"Output info\", id=\"scn2img_output_info_tab\"\n                                    ):\n                                        output_scn2img_params = gr.Highlightedtext(\n                                            label=\"Generation parameters\",\n                                            interactive=False,\n                                            elem_id=\"scn2img_highlight\",\n                                        )\n                                        with gr.Row():\n                                            gr.Button(\"Copy full parameters\").click(\n                                                inputs=[output_scn2img_params],\n                                                outputs=[],\n                                                _js=call_JS(\n                                                    \"copyFullOutput\",\n                                                    fromId=\"scn2img_highlight\",\n                                                ),\n                                                fn=None,\n                                                show_progress=False,\n                                            )\n                                            output_scn2img_seed = gr.Number(\n                                                label=\"Seed\",\n                                                interactive=False,\n                                                visible=False,\n                                            )\n                                            gr.Button(\"Copy only initial seed\").click(\n                                                inputs=output_scn2img_seed,\n                                                outputs=[],\n                                                _js=call_JS(\"gradioInputToClipboard\"),\n                                                fn=None,\n                                                show_progress=False,\n                                            )\n                                        output_scn2img_stats = gr.HTML(label=\"Stats\")\n                                    with gr.TabItem(\n                                        \"SceneCode\", id=\"scn2img_scncode_tab\"\n                                    ):\n                                        output_scn2img_scncode = gr.HTML(\n                                            label=\"SceneCode\"\n                                        )\n                                scn2img_toggles = gr.CheckboxGroup(\n                                    label=\"\",\n                                    choices=scn2img_toggles,\n                                    value=scn2img_toggle_defaults,\n                                    type=\"index\",\n                                )\n\n                                scn2img_embeddings = gr.File(\n                                    label=\"Embeddings file for textual inversion\",\n                                    visible=show_embeddings,\n                                )\n                            with gr.TabItem(\"Docs\", id=\"scn2img_docs_tab\"):\n                                (\n                                    parse_arg,\n                                    function_args,\n                                    function_args_ext,\n                                ) = scn2img_define_args()\n                                with gr.Tabs():\n                                    with gr.TabItem(\n                                        \"syntax\", id=\"scn2img_docs_syntax_tab\"\n                                    ):\n                                        lines = [\n                                            \"Scene-to-Image defines layers of images in markdown-like syntax.\",\n                                            \"\",\n                                            \"Markdown headings, e.g. '# layer0', define layers.\",\n                                            \"Layers are hierarchical, i.e. each layer can contain more layers.\",\n                                            \"Child layers are blended together by their image masks, like layers in image editors.\",\n                                            \"\",\n                                            \"The content of sections define the arguments for image generation.\",\n                                            \"Arguments are defined by lines of the form 'arg:value' or 'arg=value'.\",\n                                            \"\",\n                                            \"To invoke txt2img or img2img, they layer must contain the 'prompt' argument.\",\n                                            \"For img2img the layer must have child layers, the result of blending them will be the input image for img2img.\",\n                                            \"When no prompt is specified the layer can still be used for image composition and mask selection.\",\n                                        ]\n                                        gr.Markdown(\"\\n\".join(lines))\n\n                                    for func, ext in function_args_ext.items():\n                                        with gr.TabItem(\n                                            func, id=f\"scn2img_docs_{func}_tab\"\n                                        ):\n                                            lines = []\n                                            for e in ext:\n                                                lines.append(f\"#### Arguments for {e}\")\n                                                if e not in function_args:\n                                                    continue\n                                                for argname, argtype in function_args[\n                                                    e\n                                                ].items():\n                                                    lines.append(\n                                                        f\" - {argname}: {argtype}\"\n                                                    )\n                                            gr.Markdown(\"\\n\".join(lines))\n\n                            with gr.TabItem(\"Examples\", id=\"scn2img_examples_tab\"):\n                                scn2img_examples = {}\n                                with gr.Tabs():\n                                    for k, (example, content) in enumerate(\n                                        examples.items()\n                                    ):\n                                        with gr.TabItem(\n                                            example, id=f\"scn2img_example_{k}_tab\"\n                                        ):\n                                            scn2img_examples[example] = gr.Textbox(\n                                                label=\"Prompt Scene\",\n                                                elem_id=f\"scn2img_example_{k}\",\n                                                value=content,\n                                                lines=50,\n                                                max_lines=50,\n                                                show_label=False,\n                                                interactive=True,\n                                            )\n                output_scn2img_copy_to_img2img_input_btn.click(\n                    uifn.copy_img_to_edit,\n                    [output_scn2img_gallery],\n                    [img2img_image_editor, tabs, img2img_image_editor_mode],\n                    _js=call_JS(\n                        \"moveImageFromGallery\",\n                        fromId=\"scn2img_gallery_output\",\n                        toId=\"img2img_editor\",\n                    ),\n                )\n                output_scn2img_copy_to_img2img_mask_btn.click(\n                    uifn.copy_img_to_mask,\n                    [output_scn2img_gallery],\n                    [img2img_image_mask, tabs, img2img_image_editor_mode],\n                    _js=call_JS(\n                        \"moveImageFromGallery\",\n                        fromId=\"scn2img_gallery_output\",\n                        toId=\"img2img_editor\",\n                    ),\n                )\n\n                output_scn2img_copy_to_clipboard_btn.click(\n                    fn=None,\n                    inputs=output_scn2img_gallery,\n                    outputs=[],\n                    _js=call_JS(\n                        \"copyImageFromGalleryToClipboard\",\n                        fromId=\"scn2img_gallery_output\",\n                    ),\n                )\n\n                scn2img_func = scn2img\n                scn2img_inputs = [\n                    scn2img_prompt,\n                    scn2img_toggles,\n                    scn2img_seed,\n                    scn2img_embeddings,\n                ]\n                scn2img_outputs = [\n                    output_scn2img_gallery,\n                    output_scn2img_seed,\n                    output_scn2img_params,\n                    output_scn2img_stats,\n                    output_scn2img_scncode,\n                ]\n                # If a JobManager was passed in then wrap the Generate functions\n                if scn2img_job_ui:\n                    (\n                        scn2img_func,\n                        scn2img_inputs,\n                        scn2img_outputs,\n                    ) = scn2img_job_ui.wrap_func(\n                        func=scn2img_func,\n                        inputs=scn2img_inputs,\n                        outputs=scn2img_outputs,\n                    )\n\n                scn2img_btn.click(scn2img_func, scn2img_inputs, scn2img_outputs)\n\n            \"\"\"\n            if GFPGAN is not None:\n                gfpgan_defaults = {\n                    'strength': 100,\n                }\n\n                if 'gfpgan' in user_defaults:\n                    gfpgan_defaults.update(user_defaults['gfpgan'])\n\n                with gr.TabItem(\"GFPGAN\", id='cfpgan_tab'):\n                    gr.Markdown(\"Fix faces on images\")\n                    with gr.Row():\n                        with gr.Column():\n                            gfpgan_source = gr.Image(label=\"Source\", source=\"upload\", interactive=True, type=\"pil\")\n                            gfpgan_strength = gr.Slider(minimum=0.0, maximum=1.0, step=0.001, label=\"Effect strength\",\n                                                        value=gfpgan_defaults['strength'])\n                            gfpgan_btn = gr.Button(\"Generate\", variant=\"primary\")\n                        with gr.Column():\n                            gfpgan_output = gr.Image(label=\"Output\", elem_id='gan_image')\n                    gfpgan_btn.click(\n                        run_GFPGAN,\n                        [gfpgan_source, gfpgan_strength],\n                        [gfpgan_output]\n                    )\n            if RealESRGAN is not None:\n                with gr.TabItem(\"RealESRGAN\", id='realesrgan_tab'):\n                    gr.Markdown(\"Upscale images\")\n                    with gr.Row():\n                        with gr.Column():\n                            realesrgan_source = gr.Image(label=\"Source\", source=\"upload\", interactive=True, type=\"pil\")\n                            realesrgan_model_name = gr.Dropdown(label='RealESRGAN model', choices=['RealESRGAN_x4plus',\n                                                                                                   'RealESRGAN_x4plus_anime_6B'],\n                                                                value='RealESRGAN_x4plus')\n                            realesrgan_btn = gr.Button(\"Generate\")\n                        with gr.Column():\n                            realesrgan_output = gr.Image(label=\"Output\", elem_id='gan_image')\n                    realesrgan_btn.click(\n                        run_RealESRGAN,\n                        [realesrgan_source, realesrgan_model_name],\n                        [realesrgan_output]\n                    )\n                output_txt2img_to_upscale_esrgan.click(\n                    uifn.copy_img_to_upscale_esrgan,\n                    output_txt2img_gallery,\n                    [realesrgan_source, tabs],\n                    _js=js_move_image('txt2img_gallery_output', 'img2img_editor'))\n        \"\"\"\n        gr.HTML(\n            \"\"\"\n    <div id=\"90\" style=\"max-width: 100%; font-size: 14px; text-align: center;\" class=\"output-markdown gr-prose border-solid border border-gray-200 rounded gr-panel\">\n        <p>For help and advanced usage guides, visit the <a href=\"https://github.com/Sygil-Dev/sygil-webui/wiki\" target=\"_blank\">Project Wiki</a></p>\n        <p>Stable Diffusion WebUI is an open-source project. You can find the latest stable builds on the <a href=\"https://github.com/Sygil-Dev/stable-diffusion\" target=\"_blank\">main repository</a>.\n        If you would like to contribute to development or test bleeding edge builds, you can visit the <a href=\"https://github.com/Sygil-Dev/sygil-webui\" target=\"_blank\">developement repository</a>.</p>\n        <p>Device ID {current_device_index}: {current_device_name}<br/>{total_device_count} total devices</p>\n    </div>\n    \"\"\".format(\n                current_device_name=torch.cuda.get_device_name(),\n                current_device_index=torch.cuda.current_device(),\n                total_device_count=torch.cuda.device_count(),\n            )\n        )\n        # Hack: Detect the load event on the frontend\n        # Won't be needed in the next version of gradio\n        # See the relevant PR: https://github.com/gradio-app/gradio/pull/2108\n        load_detector = gr.Number(value=0, label=\"Load Detector\", visible=False)\n        load_detector.change(None, None, None, _js=js(opt))\n        demo.load(lambda x: 42, inputs=load_detector, outputs=load_detector)\n    return demo\n"
  },
  {
    "path": "frontend/image_metadata.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\"\"\" Class to store image generation parameters to be stored as metadata in the image\"\"\"\nfrom __future__ import annotations\nfrom dataclasses import dataclass, asdict\nfrom typing import Dict, Optional\nfrom PIL import Image\nfrom PIL.PngImagePlugin import PngInfo\nimport copy\n\n\n@dataclass\nclass ImageMetadata:\n    prompt: str = None\n    seed: str = None\n    width: str = None\n    height: str = None\n    steps: str = None\n    cfg_scale: str = None\n    normalize_prompt_weights: str = None\n    denoising_strength: str = None\n    GFPGAN: str = None\n\n    def as_png_info(self) -> PngInfo:\n        info = PngInfo()\n        for key, value in self.as_dict().items():\n            info.add_text(key, value)\n        return info\n\n    def as_dict(self) -> Dict[str, str]:\n        return {\n            f\"SD:{key}\": str(value)\n            for key, value in asdict(self).items()\n            if value is not None\n        }\n\n    @classmethod\n    def set_on_image(cls, image: Image, metadata: ImageMetadata) -> None:\n        \"\"\"Sets metadata on image, in both text form and as an ImageMetadata object\"\"\"\n        if metadata:\n            image.info = metadata.as_dict()\n        else:\n            metadata = ImageMetadata()\n        image.info[\"ImageMetadata\"] = copy.copy(metadata)\n\n    @classmethod\n    def get_from_image(cls, image: Image) -> Optional[ImageMetadata]:\n        \"\"\"Gets metadata from an image, first looking for an ImageMetadata,\n        then if not found tries to construct one from the info\"\"\"\n        metadata = image.info.get(\"ImageMetadata\", None)\n        if not metadata:\n            found_metadata = False\n            metadata = ImageMetadata()\n            for key, value in image.info.items():\n                if key.lower().startswith(\"sd:\"):\n                    key = key[3:]\n                    if f\"{key}\" in metadata.__dict__:\n                        metadata.__dict__[key] = value\n                        found_metadata = True\n            if not found_metadata:\n                metadata = None\n        if not metadata:\n            print(\"Couldn't find metadata on image\")\n        return metadata\n"
  },
  {
    "path": "frontend/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <title>Component Template</title>\n</head>\n<body>\n<div id=\"app\"></div>\n<script type=\"module\" src=\"/src/main.ts\"></script>\n</body>\n</html>\n"
  },
  {
    "path": "frontend/job_manager.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\"\"\" Provides simple job management for gradio, allowing viewing and stopping in-progress multi-batch generations \"\"\"\nfrom __future__ import annotations\nimport gradio as gr\nfrom gradio.components import Component, Gallery\nfrom threading import Event, Timer\nfrom typing import Callable, List, Dict, Tuple, Optional, Any\nfrom dataclasses import dataclass, field\nfrom functools import partial\nfrom PIL.Image import Image\nimport uuid\nimport traceback\nimport time\n\n\n@dataclass(eq=True, frozen=True)\nclass FuncKey:\n    job_id: str\n    func: Callable\n\n\n@dataclass(eq=True, frozen=True)\nclass JobKey:\n    func_key: FuncKey\n    session_key: str\n\n\n@dataclass\nclass JobInfo:\n    inputs: List[Component]\n    func: Callable\n    session_key: str\n    job_token: Optional[int] = None\n    images: List[Image] = field(default_factory=list)\n    active_image: Image = None\n    rec_steps_enabled: bool = False\n    rec_steps_imgs: List[Image] = field(default_factory=list)\n    rec_steps_intrvl: int = None\n    rec_steps_to_gallery: bool = False\n    rec_steps_to_file: bool = False\n    should_stop: Event = field(default_factory=Event)\n    refresh_active_image_requested: Event = field(default_factory=Event)\n    refresh_active_image_done: Event = field(default_factory=Event)\n    stop_cur_iter: Event = field(default_factory=Event)\n    active_iteration_cnt: int = field(default_factory=int)\n    job_status: str = field(default_factory=str)\n    finished: bool = False\n    started: bool = False\n    timestamp: float = None\n    removed_output_idxs: List[int] = field(default_factory=list)\n\n\n@dataclass\nclass SessionInfo:\n    jobs: Dict[FuncKey, JobInfo] = field(default_factory=dict)\n    finished_jobs: Dict[FuncKey, JobInfo] = field(default_factory=dict)\n\n\n@dataclass\nclass QueueItem:\n    wait_event: Event\n\n\ndef triggerChangeEvent():\n    return uuid.uuid4().hex\n\n\n@dataclass\nclass JobManagerUi:\n    def wrap_func(\n        self, func: Callable, inputs: List[Component], outputs: List[Component]\n    ) -> Tuple[Callable, List[Component], List[Component]]:\n        \"\"\"Takes a gradio event listener function and its input/outputs and returns wrapped replacements which will\n            be managed by JobManager\n        Parameters:\n        func (Callable) the original event listener to be wrapped.\n                        This listener should be modified to take a 'job_info' parameter which, if not None, should can\n                        be used by the function to check for stop events and to store intermediate image results\n        inputs (List[Component]) the original inputs\n        outputs (List[Component]) the original outputs. The first gallery, if any, will be used for refreshing images\n        refresh_btn: (gr.Button, optional) a button to use for updating the gallery with intermediate results\n        stop_btn: (gr.Button, optional) a button to use for stopping the function\n        status_text: (gr.Textbox) a textbox to display job status updates\n\n        Returns:\n        Tuple(newFunc (Callable), newInputs (List[Component]), newOutputs (List[Component]), which should be used as\n        replacements for the passed in function, inputs and outputs\n        \"\"\"\n        return self._job_manager._wrap_func(\n            func=func, inputs=inputs, outputs=outputs, job_ui=self\n        )\n\n    _refresh_btn: gr.Button\n    _stop_btn: gr.Button\n    _status_text: gr.Textbox\n    _stop_all_session_btn: gr.Button\n    _free_done_sessions_btn: gr.Button\n    _active_image: gr.Image\n    _active_image_stop_btn: gr.Button\n    _active_image_refresh_btn: gr.Button\n    _rec_steps_intrvl_sldr: gr.Slider\n    _rec_steps_checkbox: gr.Checkbox\n    _save_rec_steps_to_gallery_chkbx: gr.Checkbox\n    _save_rec_steps_to_file_chkbx: gr.Checkbox\n    _job_manager: JobManager\n\n\nclass JobManager:\n    JOB_MAX_START_TIME = (\n        5.0  # How long can a job be stuck 'starting' before assuming it isn't running\n    )\n\n    def __init__(self, max_jobs: int):\n        self._max_jobs: int = max_jobs\n        self._avail_job_tokens: List[Any] = list(range(max_jobs))\n        self._job_queue: List[QueueItem] = []\n        self._sessions: Dict[str, SessionInfo] = {}\n        self._session_key: gr.JSON = None\n\n    def draw_gradio_ui(self) -> JobManagerUi:\n        \"\"\"draws the job manager ui in gradio\n        Returns:\n        ui (JobManagerUi): object which can connect functions to the ui\n        \"\"\"\n        assert (\n            gr.context.Context.block is not None\n        ), \"draw_gradio_ui must be called within a 'gr.Blocks' 'with' context\"\n        with gr.Tabs():\n            with gr.TabItem(\"Job Controls\"):\n                with gr.Row():\n                    stop_btn = gr.Button(\n                        \"Stop All Batches\", elem_id=\"stop\", variant=\"secondary\"\n                    )\n                    refresh_btn = gr.Button(\n                        \"Refresh Finished Batches\",\n                        elem_id=\"refresh\",\n                        variant=\"secondary\",\n                    )\n                status_text = gr.Textbox(\n                    placeholder=\"Job Status\", interactive=False, show_label=False\n                )\n                with gr.Row():\n                    active_image_stop_btn = gr.Button(\n                        \"Skip Active Batch\", variant=\"secondary\"\n                    )\n                    active_image_refresh_btn = gr.Button(\n                        \"View Batch Progress\", variant=\"secondary\"\n                    )\n                active_image = gr.Image(\n                    type=\"pil\",\n                    interactive=False,\n                    visible=False,\n                    elem_id=\"active_iteration_image\",\n                )\n            with gr.TabItem(\"Batch Progress Settings\"):\n                with gr.Row():\n                    record_steps_checkbox = gr.Checkbox(\n                        value=False, label=\"Enable Batch Progress Grid\"\n                    )\n                    record_steps_interval_slider = gr.Slider(\n                        value=3,\n                        label=\"Record Interval (steps)\",\n                        minimum=1,\n                        maximum=25,\n                        step=1,\n                    )\n                with gr.Row():\n                    steps_to_gallery_checkbox = gr.Checkbox(\n                        value=False, label=\"Save Progress Grid to Gallery\"\n                    )\n                    steps_to_file_checkbox = gr.Checkbox(\n                        value=False, label=\"Save Progress Grid to File\"\n                    )\n            with gr.TabItem(\"Maintenance\"):\n                with gr.Row():\n                    gr.Markdown(\n                        \"Stop all concurrent sessions, or free memory associated with jobs which were finished after the browser was closed\"\n                    )\n                with gr.Row():\n                    stop_all_sessions_btn = gr.Button(\n                        \"Stop All Sessions\", elem_id=\"stop_all\", variant=\"secondary\"\n                    )\n                    free_done_sessions_btn = gr.Button(\n                        \"Clear Finished Jobs\",\n                        elem_id=\"clear_finished\",\n                        variant=\"secondary\",\n                    )\n\n        return JobManagerUi(\n            _refresh_btn=refresh_btn,\n            _stop_btn=stop_btn,\n            _status_text=status_text,\n            _stop_all_session_btn=stop_all_sessions_btn,\n            _free_done_sessions_btn=free_done_sessions_btn,\n            _active_image=active_image,\n            _active_image_stop_btn=active_image_stop_btn,\n            _active_image_refresh_btn=active_image_refresh_btn,\n            _rec_steps_checkbox=record_steps_checkbox,\n            _save_rec_steps_to_gallery_chkbx=steps_to_gallery_checkbox,\n            _save_rec_steps_to_file_chkbx=steps_to_file_checkbox,\n            _rec_steps_intrvl_sldr=record_steps_interval_slider,\n            _job_manager=self,\n        )\n\n    def clear_all_finished_jobs(self):\n        \"\"\"Removes all currently finished jobs, across all sessions.\n        Useful to free memory if a job is started and the browser is closed\n        before it finishes\"\"\"\n        for session in self._sessions.values():\n            session.finished_jobs.clear()\n\n    def stop_all_jobs(self):\n        \"\"\"Stops all active jobs, across all sessions\"\"\"\n        for session in self._sessions.values():\n            for job in session.jobs.values():\n                job.should_stop.set()\n                job.stop_cur_iter.set()\n\n    def _get_job_token(self, block: bool = False) -> Optional[int]:\n        \"\"\"Attempts to acquire a job token, optionally blocking until available\"\"\"\n        token = None\n        while token is None:\n            try:\n                token = self._avail_job_tokens.pop()\n                break\n            except IndexError:\n                pass\n\n            if not block:\n                break\n\n            # No token and requested to block, so queue up\n            wait_event = Event()\n            self._job_queue.append(QueueItem(wait_event))\n            wait_event.wait()\n\n        return token\n\n    def _release_job_token(self, token: int) -> None:\n        \"\"\"Returns a job token to allow another job to start\"\"\"\n        self._avail_job_tokens.append(token)\n        self._run_queued_jobs()\n\n    def _refresh_func(self, func_key: FuncKey, session_key: str) -> List[Component]:\n        \"\"\"Updates information from the active job\"\"\"\n        session_info, job_info = self._get_call_info(func_key, session_key)\n        if job_info is None:\n            return [None, f\"Session {session_key} was not running function {func_key}\"]\n        return [triggerChangeEvent(), job_info.job_status]\n\n    def _stop_wrapped_func(\n        self, func_key: FuncKey, session_key: str\n    ) -> List[Component]:\n        \"\"\"Marks that the job should be stopped\"\"\"\n        session_info, job_info = self._get_call_info(func_key, session_key)\n        if job_info is None:\n            return f\"Session {session_key} was not running function {func_key}\"\n        job_info.should_stop.set()\n        return \"Stopping after current batch finishes\"\n\n    def _refresh_cur_iter_func(\n        self, func_key: FuncKey, session_key: str\n    ) -> List[Component]:\n        \"\"\"Updates information from the active iteration\"\"\"\n        session_info, job_info = self._get_call_info(func_key, session_key)\n        if job_info is None:\n            return [None, f\"Session {session_key} was not running function {func_key}\"]\n\n        job_info.refresh_active_image_requested.set()\n        if job_info.refresh_active_image_done.wait(timeout=20.0):\n            job_info.refresh_active_image_done.clear()\n            return [\n                gr.Image.update(value=job_info.active_image, visible=True),\n                f\"Sample iteration {job_info.active_iteration_cnt}\",\n            ]\n        return [gr.Image.update(visible=False), \"Timed out getting image\"]\n\n    def _stop_cur_iter_func(\n        self, func_key: FuncKey, session_key: str\n    ) -> List[Component]:\n        \"\"\"Marks that the active iteration should be stopped\"\"\"\n        session_info, job_info = self._get_call_info(func_key, session_key)\n        if job_info is None:\n            return [None, f\"Session {session_key} was not running function {func_key}\"]\n        job_info.stop_cur_iter.set()\n        return [gr.Image.update(visible=False), \"Stopping current iteration\"]\n\n    def _get_call_info(\n        self, func_key: FuncKey, session_key: str\n    ) -> Tuple[SessionInfo, JobInfo]:\n        \"\"\"Helper to get the SessionInfo and JobInfo.\"\"\"\n        session_info = self._sessions.get(session_key, None)\n        if not session_info:\n            print(f\"Couldn't find session {session_key} for call to {func_key}\")\n            return None, None\n\n        job_info = session_info.jobs.get(func_key, None)\n        if not job_info:\n            job_info = session_info.finished_jobs.get(func_key, None)\n        if not job_info:\n            print(f\"Couldn't find job {func_key} in session {session_key}\")\n            return session_info, None\n\n        return session_info, job_info\n\n    def _run_queued_jobs(self) -> None:\n        \"\"\"Runs queued jobs for any available slots\"\"\"\n        if self._avail_job_tokens:\n            try:\n                # Notify next queued job it may begin\n                queue_item = self._job_queue.pop(0)\n                queue_item.wait_event.set()\n\n                # Check again in a few seconds, just in case the queued\n                # waiter closed the browser while still queued\n                Timer(3.0, self._run_queued_jobs).start()\n            except IndexError:\n                pass  # No queued jobs\n\n    def _pre_call_func(\n        self,\n        func_key: FuncKey,\n        output_dummy_obj: Component,\n        refresh_btn: gr.Button,\n        stop_btn: gr.Button,\n        status_text: gr.Textbox,\n        active_image: gr.Image,\n        active_refresh_btn: gr.Button,\n        active_stop_btn: gr.Button,\n        session_key: str,\n    ) -> List[Component]:\n        \"\"\"Called when a job is about to start\"\"\"\n        session_info, job_info = self._get_call_info(func_key, session_key)\n\n        # If we didn't already get a token then queue up for one\n        if job_info.job_token is None:\n            job_info.job_token = self._get_job_token(block=True)\n\n        # Buttons don't seem to update unless value is set on them as well...\n        return {\n            output_dummy_obj: triggerChangeEvent(),\n            refresh_btn: gr.Button.update(variant=\"primary\", value=refresh_btn.value),\n            stop_btn: gr.Button.update(variant=\"primary\", value=stop_btn.value),\n            status_text: gr.Textbox.update(\n                value=\"Generation has started. Click 'Refresh' to see finished images, 'View Batch Progress' for active images\"\n            ),\n            active_refresh_btn: gr.Button.update(\n                variant=\"primary\", value=active_refresh_btn.value\n            ),\n            active_stop_btn: gr.Button.update(\n                variant=\"primary\", value=active_stop_btn.value\n            ),\n        }\n\n    def _call_func(self, func_key: FuncKey, session_key: str) -> List[Component]:\n        \"\"\"Runs the real function with job management.\"\"\"\n        session_info, job_info = self._get_call_info(func_key, session_key)\n        if session_info is None or job_info is None:\n            return []\n\n        job_info.started = True\n        try:\n            if job_info.should_stop.is_set():\n                raise Exception(\n                    f\"Job {job_info} requested a stop before execution began\"\n                )\n            outputs = job_info.func(*job_info.inputs, job_info=job_info)\n        except Exception as e:\n            job_info.job_status = f\"Error: {e}\"\n            print(f\"Exception processing job {job_info}: {e}\\n{traceback.format_exc()}\")\n            raise\n        finally:\n            job_info.finished = True\n            session_info.finished_jobs[func_key] = session_info.jobs.pop(func_key)\n            self._release_job_token(job_info.job_token)\n\n        # Filter the function output for any removed outputs\n        filtered_output = []\n        for idx, output in enumerate(outputs):\n            if idx not in job_info.removed_output_idxs:\n                filtered_output.append(output)\n\n        # The wrapper added a dummy JSON output. Append a random text string\n        # to fire the dummy objects 'change' event to notify that the job is done\n        filtered_output.append(triggerChangeEvent())\n\n        return tuple(filtered_output)\n\n    def _post_call_func(\n        self,\n        func_key: FuncKey,\n        output_dummy_obj: Component,\n        refresh_btn: gr.Button,\n        stop_btn: gr.Button,\n        status_text: gr.Textbox,\n        active_image: gr.Image,\n        active_refresh_btn: gr.Button,\n        active_stop_btn: gr.Button,\n        session_key: str,\n    ) -> List[Component]:\n        \"\"\"Called when a job completes\"\"\"\n        return {\n            output_dummy_obj: triggerChangeEvent(),\n            refresh_btn: gr.Button.update(variant=\"secondary\", value=refresh_btn.value),\n            stop_btn: gr.Button.update(variant=\"secondary\", value=stop_btn.value),\n            status_text: gr.Textbox.update(value=\"Generation has finished!\"),\n            active_refresh_btn: gr.Button.update(\n                variant=\"secondary\", value=active_refresh_btn.value\n            ),\n            active_stop_btn: gr.Button.update(\n                variant=\"secondary\", value=active_stop_btn.value\n            ),\n            active_image: gr.Image.update(visible=False),\n        }\n\n    def _update_gallery_event(\n        self, func_key: FuncKey, session_key: str\n    ) -> List[Component]:\n        \"\"\"Updates the gallery with results from the given job.\n        Frees the images after return if the job is finished.\n        Triggered by changing the update_gallery_obj dummy object\"\"\"\n        session_info, job_info = self._get_call_info(func_key, session_key)\n        if session_info is None or job_info is None:\n            return []\n\n        return job_info.images\n\n    def _wrap_func(\n        self,\n        func: Callable,\n        inputs: List[Component],\n        outputs: List[Component],\n        job_ui: JobManagerUi,\n    ) -> Tuple[Callable, List[Component]]:\n        \"\"\"handles JobManageUI's wrap_func\"\"\"\n\n        assert (\n            gr.context.Context.block is not None\n        ), \"wrap_func must be called within a 'gr.Blocks' 'with' context\"\n\n        # Create a unique key for this job\n        func_key = FuncKey(job_id=uuid.uuid4().hex, func=func)\n\n        # Create a unique session key (next gradio release can use gr.State, see https://gradio.app/state_in_blocks/)\n        if self._session_key is None:\n            # When this gradio object is received as an event handler input it will resolve to a unique per-session id\n            self._session_key = gr.JSON(\n                value=lambda: uuid.uuid4().hex,\n                visible=False,\n                elem_id=\"JobManagerDummyObject_sessionKey\",\n            )\n\n        # Pull the gallery out of the original outputs and assign it to the gallery update dummy object\n        gallery_comp = None\n        removed_idxs = []\n        for idx, comp in enumerate(outputs):\n            if isinstance(comp, Gallery):\n                removed_idxs.append(idx)\n                gallery_comp = comp\n                del outputs[idx]\n                break\n\n        # Create dummy objects\n        update_gallery_obj = gr.JSON(visible=False, elem_id=\"JobManagerDummyObject\")\n        update_gallery_obj.change(\n            partial(self._update_gallery_event, func_key),\n            [self._session_key],\n            [gallery_comp],\n            queue=False,\n        )\n\n        if job_ui._refresh_btn:\n            job_ui._refresh_btn.variant = \"secondary\"\n            job_ui._refresh_btn.click(\n                partial(self._refresh_func, func_key),\n                [self._session_key],\n                [update_gallery_obj, job_ui._status_text],\n                queue=False,\n            )\n\n        if job_ui._stop_btn:\n            job_ui._stop_btn.variant = \"secondary\"\n            job_ui._stop_btn.click(\n                partial(self._stop_wrapped_func, func_key),\n                [self._session_key],\n                [job_ui._status_text],\n                queue=False,\n            )\n\n        if job_ui._active_image and job_ui._active_image_refresh_btn:\n            job_ui._active_image_refresh_btn.click(\n                partial(self._refresh_cur_iter_func, func_key),\n                [self._session_key],\n                [job_ui._active_image, job_ui._status_text],\n                queue=False,\n            )\n\n        if job_ui._active_image_stop_btn:\n            job_ui._active_image_stop_btn.click(\n                partial(self._stop_cur_iter_func, func_key),\n                [self._session_key],\n                [job_ui._active_image, job_ui._status_text],\n                queue=False,\n            )\n\n        if job_ui._stop_all_session_btn:\n            job_ui._stop_all_session_btn.click(self.stop_all_jobs, [], [], queue=False)\n\n        if job_ui._free_done_sessions_btn:\n            job_ui._free_done_sessions_btn.click(\n                self.clear_all_finished_jobs, [], [], queue=False\n            )\n\n        # (ab)use gr.JSON to forward events.\n        # The gr.JSON object will fire its 'change' event when it is modified by being the output\n        # of another component. This allows a method to forward events and allow multiple components\n        # to update the gallery (without locking it).\n\n        # For example, the update_gallery_obj will update the gallery as in output of its 'change' event.\n        # When its content changes it will update the gallery with the most recent images available from\n        # the JobInfo. Now, eg, testComponent can have update_gallery_obj as an output and write random text\n        # to it. This will trigger an update to the gallery, but testComponent didn't need to have\n        # update_gallery_obj listed as an output, which would have locked it.\n\n        # Since some parameters are optional it makes sense to use the 'dict' return value type, which requires\n        # the Component as a key... so group together the UI components that the event listeners are going to update\n        # to make it easy to append to function calls and outputs\n        job_ui_params = [\n            job_ui._refresh_btn,\n            job_ui._stop_btn,\n            job_ui._status_text,\n            job_ui._active_image,\n            job_ui._active_image_refresh_btn,\n            job_ui._active_image_stop_btn,\n        ]\n        job_ui_outputs = [comp for comp in job_ui_params if comp is not None]\n\n        # Here a chain is constructed that will make a 'pre' call, a 'run' call, and a 'post' call,\n        # to be able to update the UI before and after, as well as run the actual call\n        post_call_dummyobj = gr.JSON(\n            visible=False, elem_id=\"JobManagerDummyObject_postCall\"\n        )\n        post_call_dummyobj.change(\n            partial(self._post_call_func, func_key, update_gallery_obj, *job_ui_params),\n            [self._session_key],\n            [update_gallery_obj] + job_ui_outputs,\n            queue=False,\n        )\n\n        call_dummyobj = gr.JSON(visible=False, elem_id=\"JobManagerDummyObject_runCall\")\n        call_dummyobj.change(\n            partial(self._call_func, func_key),\n            [self._session_key],\n            outputs + [post_call_dummyobj],\n            queue=False,\n        )\n\n        pre_call_dummyobj = gr.JSON(\n            visible=False, elem_id=\"JobManagerDummyObject_preCall\"\n        )\n        pre_call_dummyobj.change(\n            partial(self._pre_call_func, func_key, call_dummyobj, *job_ui_params),\n            [self._session_key],\n            [call_dummyobj] + job_ui_outputs,\n            queue=False,\n        )\n\n        # Add any components that we want the runtime values for\n        added_inputs = [\n            self._session_key,\n            job_ui._rec_steps_checkbox,\n            job_ui._save_rec_steps_to_gallery_chkbx,\n            job_ui._save_rec_steps_to_file_chkbx,\n            job_ui._rec_steps_intrvl_sldr,\n        ]\n\n        # Now replace the original function with one that creates a JobInfo and triggers the dummy obj\n        def wrapped_func(*wrapped_inputs):\n            # Remove the added_inputs (pop opposite order of list)\n\n            wrapped_inputs = list(wrapped_inputs)\n            rec_steps_interval: int = wrapped_inputs.pop()\n            save_rec_steps_file: bool = wrapped_inputs.pop()\n            save_rec_steps_grid: bool = wrapped_inputs.pop()\n            record_steps_enabled: bool = wrapped_inputs.pop()\n            session_key: str = wrapped_inputs.pop()\n            job_inputs = tuple(wrapped_inputs)\n\n            # Get or create a session for this key\n            session_info = self._sessions.setdefault(session_key, SessionInfo())\n\n            # Is this session already running this job?\n            if func_key in session_info.jobs:\n                job_info = session_info.jobs[func_key]\n                # If the job seems stuck in 'starting' then go ahead and toss it\n                if (\n                    not job_info.started\n                    and time.time() > job_info.timestamp + JobManager.JOB_MAX_START_TIME\n                ):\n                    job_info.should_stop.set()\n                    job_info.stop_cur_iter.set()\n                    session_info.jobs.pop(func_key)\n                    return {\n                        job_ui._status_text: \"Canceled possibly hung job. Try again\"\n                    }\n                return {\n                    job_ui._status_text: \"This session is already running that function!\"\n                }\n\n            # Is this a new run of a previously finished job? Clear old info\n            if func_key in session_info.finished_jobs:\n                session_info.finished_jobs.pop(func_key)\n\n            job_token = self._get_job_token(block=False)\n            job = JobInfo(\n                inputs=job_inputs,\n                func=func,\n                removed_output_idxs=removed_idxs,\n                session_key=session_key,\n                job_token=job_token,\n                rec_steps_enabled=record_steps_enabled,\n                rec_steps_intrvl=rec_steps_interval,\n                rec_steps_to_gallery=save_rec_steps_grid,\n                rec_steps_to_file=save_rec_steps_file,\n                timestamp=time.time(),\n            )\n            session_info.jobs[func_key] = job\n\n            ret = {pre_call_dummyobj: triggerChangeEvent()}\n            if job_token is None:\n                ret[job_ui._status_text] = \"Job is queued\"\n            return ret\n\n        return (\n            wrapped_func,\n            inputs + added_inputs,\n            [pre_call_dummyobj, job_ui._status_text],\n        )\n"
  },
  {
    "path": "frontend/js/index.js",
    "content": "window.SD = (() => {\n  /*\n   * Painterro is made a field of the SD global object\n   * To provide convinience when using w() method in css_and_js.py\n   */\n  class PainterroClass {\n    static isOpen = false;\n    static async init ({ x, toId }) {\n      console.log(x)\n\n      const originalImage = x[2] === 'Mask' ? x[1]?.image : x[0];\n\n      if (window.Painterro === undefined) {\n        try {\n          await this.load();\n        } catch (e) {\n          SDClass.error(e);\n\n          return this.fallback(originalImage);\n        }\n      }\n\n      if (this.isOpen) {\n        return this.fallback(originalImage);\n      }\n      this.isOpen = true;\n\n      let resolveResult;\n      const paintClient = Painterro({\n        hiddenTools: ['arrow'],\n        onHide: () => {\n          resolveResult?.(null);\n        },\n        saveHandler: (image, done) => {\n          const data = image.asDataURL();\n\n          // ensures stable performance even\n          // when the editor is in interactive mode\n          SD.clearImageInput(SD.el.get(`#${toId}`));\n\n          resolveResult(data);\n\n          done(true);\n          paintClient.hide();\n        },\n      });\n\n      const result = await new Promise((resolve) => {\n        resolveResult = resolve;\n        paintClient.show(originalImage);\n      });\n      this.isOpen = false;\n\n      return result ? this.success(result) : this.fallback(originalImage);\n    }\n    static success (result) { return [result, { image: result, mask: result }] };\n    static fallback (image) { return [image, { image: image, mask: image }] };\n    static load () {\n      return new Promise((resolve, reject) => {\n        const scriptId = '__painterro-script';\n        if (document.getElementById(scriptId)) {\n          reject(new Error('Tried to load painterro script, but script tag already exists.'));\n          return;\n        }\n\n        const styleId = '__painterro-css-override';\n        if (!document.getElementById(styleId)) {\n          /* Ensure Painterro window is always on top */\n          const style = document.createElement('style');\n          style.id = styleId;\n          style.setAttribute('type', 'text/css');\n          style.appendChild(document.createTextNode(`\n            .ptro-holder-wrapper {\n                z-index: 100;\n            }\n          `));\n          document.head.appendChild(style);\n        }\n\n        const script = document.createElement('script');\n        script.id = scriptId;\n        script.src = 'https://unpkg.com/painterro@1.2.78/build/painterro.min.js';\n        script.onload = () => resolve(true);\n        script.onerror = (e) => {\n          // remove self on error to enable reattempting load\n          document.head.removeChild(script);\n          reject(e);\n        };\n        document.head.appendChild(script);\n      });\n    }\n  }\n\n  /*\n   * Turns out caching elements doesn't actually work in gradio\n   * As elements in tabs might get recreated\n   */\n  class ElementCache {\n    #el;\n    constructor () {\n      this.root = document.querySelector('gradio-app').shadowRoot;\n    }\n    get (selector) {\n      return this.root.querySelector(selector);\n    }\n  }\n\n  /*\n   * The main helper class to incapsulate functions\n   * that change gradio ui functionality\n   */\n  class SDClass {\n    el = new ElementCache();\n    Painterro = PainterroClass;\n    moveImageFromGallery ({ x, fromId, toId }) {\n      x = x[0];\n      if (!Array.isArray(x) || x.length === 0) return;\n\n      this.clearImageInput(this.el.get(`#${toId}`));\n\n      const i = this.#getGallerySelectedIndex(this.el.get(`#${fromId}`));\n\n      return [x[i].replace('data:;','data:image/png;')];\n    }\n    async copyImageFromGalleryToClipboard ({ x, fromId }) {\n      x = x[0];\n      if (!Array.isArray(x) || x.length === 0) return;\n\n      const i = this.#getGallerySelectedIndex(this.el.get(`#${fromId}`));\n\n      const data = x[i];\n      const blob = await (await fetch(data.replace('data:;','data:image/png;'))).blob();\n      const item = new ClipboardItem({'image/png': blob});\n\n      await this.copyToClipboard([item]);\n    }\n    async copyFullOutput ({ fromId }) {\n      const textField = this.el.get(`#${fromId} .textfield`);\n      if (!textField) {\n        SDclass.error(new Error(`Can't find textfield with the output!`));\n      }\n\n      const value = textField.textContent.replace(/\\s+/g,' ').replace(/: /g,':');\n\n      await this.copyToClipboard(value)\n    }\n    clickFirstVisibleButton({ rowId }) {\n      const generateButtons = this.el.get(`#${rowId}`).querySelectorAll('.gr-button-primary');\n\n      if (!generateButtons) return;\n\n      for (let i = 0, arr = [...generateButtons]; i < arr.length; i++) {\n        const cs = window.getComputedStyle(arr[i]);\n\n        if (cs.display !== 'none' && cs.visibility !== 'hidden') {\n          console.log(arr[i]);\n\n          arr[i].click();\n          break;\n        }\n      }\n    }\n    async gradioInputToClipboard ({ x }) { return this.copyToClipboard(x[0]); }\n    async copyToClipboard (value) {\n      if (!value || typeof value === 'boolean') return;\n      try {\n        if (Array.isArray(value) &&\n            value.length &&\n            value[0] instanceof ClipboardItem) {\n          await navigator.clipboard.write(value);\n        } else {\n          await navigator.clipboard.writeText(value);\n        }\n      } catch (e) {\n        SDClass.error(e);\n      }\n    }\n    static error (e) {\n      console.error(e);\n      if (typeof e === 'string') {\n        alert(e);\n      } else if(typeof e === 'object' && Object.hasOwn(e, 'message')) {\n        alert(e.message);\n      }\n    }\n    clearImageInput (imageEditor) {\n      imageEditor?.querySelector('.modify-upload button:last-child')?.click();\n    }\n    #getGallerySelectedIndex (gallery) {\n      const selected = gallery.querySelector(`.\\\\!ring-2`);\n      return selected ? [...selected.parentNode.children].indexOf(selected) : 0;\n    }\n  }\n\n  return new SDClass();\n})();\n"
  },
  {
    "path": "frontend/package.json",
    "content": "{\n  \"name\": \"@codedealer/streamlit_template_vue\",\n  \"version\": \"0.1.0\",\n  \"description\": \"Starter template to build Streamlit component with vue 3\",\n  \"license\": \"MIT\",\n  \"author\": \"Thomas Mello\",\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"https://github.com/codedealer/streamlit-component-template-vue\"\n  },\n  \"scripts\": {\n    \"clean:dist\": \"rimraf dist\",\n    \"dev\": \"vite --mode dev\",\n    \"build\": \"yarn clean:dist && vite build --mode prod\",\n    \"preview\": \"vite preview\",\n    \"lint\": \"eslint .\",\n    \"lint:fix\": \"eslint . --fix\"\n  },\n  \"dependencies\": {\n    \"vue\": \"^3.2.38\",\n    \"streamlit-component-lib\": \"^1.4.0\"\n  },\n  \"devDependencies\": {\n    \"@antfu/eslint-config\": \"^0.18.9\",\n    \"@types/node\": \"^17.0.21\",\n    \"@vitejs/plugin-vue\": \"^2.2.0\",\n    \"eslint\": \"^8.11.0\",\n    \"rimraf\": \"^3.0.2\",\n    \"typescript\": \"^4.5.4\",\n    \"vite\": \"^2.8.0\",\n    \"vue\": \"^3.2.38\",\n    \"vue-tsc\": \"^0.29.8\"\n  }\n}\n"
  },
  {
    "path": "frontend/src/Component.vue",
    "content": "<template>\n  <div class=\"bootstrap-wrapper pt-4\">\n    <div class=\"concept-gallery row\">\n      <div v-for=\"concept in args.concepts\"\n           :key=\"concept.name\"\n           class=\"col-12 col-sm-6 col-md-4 col-lg-4 col-xl-3\">\n\n        <div class=\"concept-card p-4 container-fluid\">\n          <div class=\"concept-card-content-wrapper\">\n            <div class=\"card-header row no-gutters\">\n              <div class=\"col\">\n                <h1 class=\"concept-title pl-1\"><span class=\"token-char pr-0\">&lt;</span>{{ concept.name }}<span class=\"pl-0 token-char\">&gt;</span></h1>\n              </div>\n\n              <!-- Favorite feature, not implemented yet -->\n              <!-- <div class=\"col-auto card-favorite\" >\n              <img width=\"24\"\n                   height=\"24\"\n                   class=\"icon-star\"\n                   src=\"./icons/star.svg\" />\n              </div>  -->\n\n            </div>\n\n            <div class=\"concept-img-wrapper p-0 row no-gutters\">\n\n              <div v-for=\"(img, img_index) in concept.images\"\n                   :key=\"'concept_img'+img_index\"\n                   :class=\"{\n                     'p-1': true,\n                      'col-6': concept.images.length % 2 == 0 || img_index < concept.images.length - 1,\n                      'col-12': concept.images.length % 2 == 1 && img_index == concept.images.length - 1\n                   }\">\n                   <div class=\"img-bg\" :style=\"{'background-image': 'url(data:image/png;base64,' + img + ')'}\"></div>\n\n              </div>\n\n              <div v-if=\"concept.images.length == 0\"\n                   class=\"col-12 p-4 no-preview\">\n                   <svg class=\"no-preview-icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\"><path d=\"M 2 5 L 2 27 L 30 27 L 30 5 Z M 4 7 L 28 7 L 28 20.90625 L 22.71875 15.59375 L 22 14.875 L 17.46875 19.40625 L 11.71875 13.59375 L 11 12.875 L 4 19.875 Z M 24 9 C 22.894531 9 22 9.894531 22 11 C 22 12.105469 22.894531 13 24 13 C 25.105469 13 26 12.105469 26 11 C 26 9.894531 25.105469 9 24 9 Z M 11 15.71875 L 20.1875 25 L 4 25 L 4 22.71875 Z M 22 17.71875 L 28 23.71875 L 28 25 L 23.03125 25 L 18.875 20.8125 Z\"/></svg>\n                 <p style=\"opacity: 0.8\">No preview available</p>\n              </div>\n\n            </div>\n\n            <div class=\"concept-card-footer row no-gutters pt-4\">\n              <div class=\"col pl-1\">\n                <div v-if=\"concept.type\"\n                     :class=\"{\n\n                      'concept-type-tag': true,\n                      'concept-type-style': concept.type.toLowerCase() === 'style',\n                      'concept-type-object': concept.type.toLowerCase() === 'object'\n                    }\n                     \">\n                  {{ concept.type.toUpperCase() }}\n                </div>\n              </div>\n              <div class=\"col-auto\">\n                <!-- Copy to clipboard button -->\n                <button class=\"button\"\n                        @click=\"copyToClipboard(concept.token)\">\n                        <!-- <svg class=\"icon-clipboard\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 32 32\" ><path d=\"M 15 3 C 13.742188 3 12.847656 3.890625 12.40625 5 L 5 5 L 5 28 L 13 28 L 13 30 L 27 30 L 27 14 L 25 14 L 25 5 L 17.59375 5 C 17.152344 3.890625 16.257813 3 15 3 Z M 15 5 C 15.554688 5 16 5.445313 16 6 L 16 7 L 19 7 L 19 9 L 11 9 L 11 7 L 14 7 L 14 6 C 14 5.445313 14.445313 5 15 5 Z M 7 7 L 9 7 L 9 11 L 21 11 L 21 7 L 23 7 L 23 14 L 13 14 L 13 26 L 7 26 Z M 15 16 L 25 16 L 25 28 L 15 28 Z\"/></svg> -->\n                  Copy to clipboard\n                </button>\n              </div>\n            </div>\n          </div>\n\n        </div>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref } from \"vue\"\nimport { Streamlit, Theme } from \"streamlit-component-lib\"\nimport { useStreamlit } from \"./streamlit\"\ninterface IProps {\n  args: any;\n  disabled: boolean;\n  theme: Theme;\n}\n\nuseStreamlit(); // lifecycle hooks for automatic Streamlit resize\nconst props = defineProps<IProps>();\n\nconst copyToClipboard = (text: string) => {\n  console.log(\"sending copy to clipboard event\", text)\n  // Streamlit.setComponentValue({\n  //   action: \"copy_to_clipboard\",\n  //   value: text\n  // })\n  // copy to clipboard\n  navigator.clipboard.writeText(text)\n}\n\n// const enable_favorites = ref(false)\n// const enable_copy_to_clipboard = ref(false)\n\n\n</script>\n<style>\n\n/* svg.icon-clipboard  {\n    fill: var(--text-color);\n    width: 18px;\n    height: 18px;\n} */\n\nsvg.no-preview-icon {\n    fill: var(--text-color);\n    width: 72px;\n    height: 72px;\n    opacity: 0.2;\n\n}\n\n.no-preview {\n  align-self: center;\n    text-align: center;\n    color: var(--text-color);\n}\n.concept-card {\n  background-color: var(--secondary-background-color);\n  border-radius: 5px;\n  margin-bottom: 20px;\n\n}\n\n.concept-card-content-wrapper {\n  flex-direction: column !important;\n  display: flex !important;\n  height: 360px;\n}\n\n.concept-title {\n  margin-top: 0px;\n  margin-bottom: 24px;\n  font-size: 1em;\n  color: var(--text-color);\n}\n\n.concept-img-wrapper {\n  flex-grow: 1 !important;\n\n}\n\n.card-favorite {\n  text-align: end;\n}\n\n.concept-img {\n  max-height: 100%;\n  height: 100%;\n}\n\n.concept-img img {\n  border-radius: 8px;\n  object-fit: cover;\n}\n\n.img-bg {\n  background-size: cover;\n  background-position: center;\n  background-origin: content-box;\n  background-repeat: no-repeat;\n  height: 100%;\n  width: 100%;\n  border-radius: 8px;\n}\n\n.icon-star {\n  cursor: pointer;\n  position: relative;\n  top: -3px;\n}\n\n.token-char {\n  color: #939393;\n  font-weight: 700;\n  position: relative;\n  top: 1px;\n}\n\n.concept-card-footer {\n  align-items: center;\n}\n\n.concept-type-tag {\n  background-color: #898989;\n  border-radius: 16px;\n  padding: 5px 16px;\n  font-size: 0.7em;\n  color: #fff;\n  display: inline-block;\n  font-weight: bold;\n}\n\n.concept-type-style {\n  background-color: #0095ff;\n}\n\n.concept-type-object {\n  background-color: #ff9031;\n}\n\n.button {\n  height: 35px;\n  cursor: pointer;\n  display: inline-flex;\n  -webkit-box-align: center;\n  align-items: center;\n  -webkit-box-pack: center;\n  justify-content: center;\n  font-weight: 400;\n  padding: 0.25rem 0.75rem;\n  border-radius: 0.25rem;\n  margin: 0px;\n  line-height: 1.6;\n  color: inherit;\n  width: auto;\n  user-select: none;\n  background-color: var(--background-color);\n  border: 1px solid rgba(128, 128, 128, 0.8);\n}\n\n.button:hover {\n  color: var(--primary-color);\n  border-color: var(--primary-color);\n}\n\n/* .button:focus {\n  box-shadow: rgb(var(--primary-color) / 50%) 0px 0px 0px 0.2rem;\n  outline: none;\n}\n\n.button:focus:not(:active) {\n    border-color: var(--primary-color);\n    color: var(--primary-color);\n} */\n</style>\n"
  },
  {
    "path": "frontend/src/app.vue",
    "content": "<!--\n  We bootstrap our Component to Streamlit with our scoped slot in the top-level App.\n  This is where scoped slot passes Streamlit `args` data from itself to children MyComponent.\n  You should not have to edit this, but are free to do so :)\n-->\n<template>\n  <WithStreamlitConnection v-slot=\"{ args, theme, disabled }\">\n    <Component :args=\"args\" :theme=\"theme\" :disabled=\"disabled\" />\n  </WithStreamlitConnection>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent } from 'vue'\nimport Component from './Component.vue'\n\n// \"withStreamlitConnection\" is a scoped slot. It bootstraps the\n// connection between your component and the Streamlit app, and handles\n// passing arguments from Python -> Component.\n//\n// You don't need to edit withStreamlitConnection (but you're welcome to!).\nimport WithStreamlitConnection from \"./streamlit/WithStreamlitConnection.vue\"\n\nexport default defineComponent({\n  name: 'App',\n  components: {\n    Component,\n    WithStreamlitConnection,\n  },\n})\n</script>\n\n<style>\nbody, html {\n  margin: 0;\n  font-family: \"Source Sans Pro\", sans-serif;\n}\n\n\n/*!\n * Bootstrap Grid Only (grid and responsive utilities extracted from Bootstrap 4.1.3)\n * GitHub: https://github.com/dmhendricks/bootstrap-grid-css\n * Bootstrap License: MIT (https://github.com/twbs/bootstrap/blob/v4-dev/LICENSE)\n * Credits: Twitter, Inc. & The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n */\n @-ms-viewport{width:device-width}html{-webkit-box-sizing:border-box;box-sizing:border-box;-ms-overflow-style:scrollbar}*,*::before,*::after{-webkit-box-sizing:inherit;box-sizing:inherit}.bootstrap-wrapper .clearfix::after{display:block;clear:both;content:\"\"}.bootstrap-wrapper .visible{visibility:visible !important}.bootstrap-wrapper .invisible{visibility:hidden !important}.bootstrap-wrapper .hidden-xs-up{display:none !important}@media(max-width:575.98px){.bootstrap-wrapper .hidden-xs-down{display:none !important}}@media(min-width:576px){.bootstrap-wrapper .hidden-sm-up{display:none !important}}@media(max-width:767.98px){.bootstrap-wrapper .hidden-sm-down{display:none !important}}@media(min-width:768px){.bootstrap-wrapper .hidden-md-up{display:none !important}}@media(max-width:991.98px){.bootstrap-wrapper .hidden-md-down{display:none !important}}@media(min-width:992px){.bootstrap-wrapper .hidden-lg-up{display:none !important}}@media(max-width:1199.98px){.bootstrap-wrapper .hidden-lg-down{display:none !important}}@media(min-width:1200px){.bootstrap-wrapper .hidden-xl-up{display:none !important}}.bootstrap-wrapper .hidden-xl-down{display:none !important}.bootstrap-wrapper .visible-print-block{display:none !important}@media print{.bootstrap-wrapper .visible-print-block{display:block !important}}.bootstrap-wrapper .visible-print-inline{display:none !important}@media print{.bootstrap-wrapper .visible-print-inline{display:inline !important}}.bootstrap-wrapper .visible-print-inline-block{display:none !important}@media print{.bootstrap-wrapper .visible-print-inline-block{display:inline-block !important}}@media print{.bootstrap-wrapper .hidden-print{display:none !important}}.bootstrap-wrapper .container{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media(min-width:576px){.bootstrap-wrapper .container{max-width:540px}}@media(min-width:768px){.bootstrap-wrapper .container{max-width:720px}}@media(min-width:992px){.bootstrap-wrapper .container{max-width:960px}}@media(min-width:1200px){.bootstrap-wrapper .container{max-width:1140px}}.bootstrap-wrapper .container-fluid{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.bootstrap-wrapper .row{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.bootstrap-wrapper .no-gutters{margin-right:0;margin-left:0}.bootstrap-wrapper .no-gutters>.col,.bootstrap-wrapper .no-gutters>[class*=\"col-\"]{padding-right:0;padding-left:0}.bootstrap-wrapper .col-1,.bootstrap-wrapper .col-2,.bootstrap-wrapper .col-3,.bootstrap-wrapper .col-4,.bootstrap-wrapper .col-5,.bootstrap-wrapper .col-6,.bootstrap-wrapper .col-7,.bootstrap-wrapper .col-8,.bootstrap-wrapper .col-9,.bootstrap-wrapper .col-10,.bootstrap-wrapper .col-11,.bootstrap-wrapper .col-12,.bootstrap-wrapper .col,.bootstrap-wrapper .col-auto,.bootstrap-wrapper .col-sm-1,.bootstrap-wrapper .col-sm-2,.bootstrap-wrapper .col-sm-3,.bootstrap-wrapper .col-sm-4,.bootstrap-wrapper .col-sm-5,.bootstrap-wrapper .col-sm-6,.bootstrap-wrapper .col-sm-7,.bootstrap-wrapper .col-sm-8,.bootstrap-wrapper .col-sm-9,.bootstrap-wrapper .col-sm-10,.bootstrap-wrapper .col-sm-11,.bootstrap-wrapper .col-sm-12,.bootstrap-wrapper .col-sm,.bootstrap-wrapper .col-sm-auto,.bootstrap-wrapper .col-md-1,.bootstrap-wrapper .col-md-2,.bootstrap-wrapper .col-md-3,.bootstrap-wrapper .col-md-4,.bootstrap-wrapper .col-md-5,.bootstrap-wrapper .col-md-6,.bootstrap-wrapper .col-md-7,.bootstrap-wrapper .col-md-8,.bootstrap-wrapper .col-md-9,.bootstrap-wrapper .col-md-10,.bootstrap-wrapper .col-md-11,.bootstrap-wrapper .col-md-12,.bootstrap-wrapper .col-md,.bootstrap-wrapper .col-md-auto,.bootstrap-wrapper .col-lg-1,.bootstrap-wrapper .col-lg-2,.bootstrap-wrapper .col-lg-3,.bootstrap-wrapper .col-lg-4,.bootstrap-wrapper .col-lg-5,.bootstrap-wrapper .col-lg-6,.bootstrap-wrapper .col-lg-7,.bootstrap-wrapper .col-lg-8,.bootstrap-wrapper .col-lg-9,.bootstrap-wrapper .col-lg-10,.bootstrap-wrapper .col-lg-11,.bootstrap-wrapper .col-lg-12,.bootstrap-wrapper .col-lg,.bootstrap-wrapper .col-lg-auto,.bootstrap-wrapper .col-xl-1,.bootstrap-wrapper .col-xl-2,.bootstrap-wrapper .col-xl-3,.bootstrap-wrapper .col-xl-4,.bootstrap-wrapper .col-xl-5,.bootstrap-wrapper .col-xl-6,.bootstrap-wrapper .col-xl-7,.bootstrap-wrapper .col-xl-8,.bootstrap-wrapper .col-xl-9,.bootstrap-wrapper .col-xl-10,.bootstrap-wrapper .col-xl-11,.bootstrap-wrapper .col-xl-12,.bootstrap-wrapper .col-xl,.bootstrap-wrapper .col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.bootstrap-wrapper .col{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-3{margin-left:25%}.bootstrap-wrapper .offset-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-6{margin-left:50%}.bootstrap-wrapper .offset-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-9{margin-left:75%}.bootstrap-wrapper .offset-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-11{margin-left:91.6666666667%}@media(min-width:576px){.bootstrap-wrapper .col-sm{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-sm-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-sm-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-sm-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-sm-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-sm-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-sm-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-sm-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-sm-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-sm-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-sm-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-sm-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-sm-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-sm-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-sm-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-sm-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-sm-0{margin-left:0}.bootstrap-wrapper .offset-sm-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-sm-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-sm-3{margin-left:25%}.bootstrap-wrapper .offset-sm-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-sm-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-sm-6{margin-left:50%}.bootstrap-wrapper .offset-sm-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-sm-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-sm-9{margin-left:75%}.bootstrap-wrapper .offset-sm-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-sm-11{margin-left:91.6666666667%}}@media(min-width:768px){.bootstrap-wrapper .col-md{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-md-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-md-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-md-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-md-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-md-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-md-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-md-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-md-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-md-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-md-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-md-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-md-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-md-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-md-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-md-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-md-0{margin-left:0}.bootstrap-wrapper .offset-md-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-md-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-md-3{margin-left:25%}.bootstrap-wrapper .offset-md-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-md-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-md-6{margin-left:50%}.bootstrap-wrapper .offset-md-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-md-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-md-9{margin-left:75%}.bootstrap-wrapper .offset-md-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-md-11{margin-left:91.6666666667%}}@media(min-width:992px){.bootstrap-wrapper .col-lg{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-lg-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-lg-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-lg-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-lg-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-lg-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-lg-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-lg-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-lg-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-lg-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-lg-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-lg-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-lg-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-lg-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-lg-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-lg-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-lg-0{margin-left:0}.bootstrap-wrapper .offset-lg-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-lg-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-lg-3{margin-left:25%}.bootstrap-wrapper .offset-lg-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-lg-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-lg-6{margin-left:50%}.bootstrap-wrapper .offset-lg-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-lg-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-lg-9{margin-left:75%}.bootstrap-wrapper .offset-lg-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-lg-11{margin-left:91.6666666667%}}@media(min-width:1200px){.bootstrap-wrapper .col-xl{-webkit-flex-basis:0;-ms-flex-preferred-size:0;flex-basis:0;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;max-width:100%}.bootstrap-wrapper .col-xl-auto{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.bootstrap-wrapper .col-xl-1{-webkit-box-flex:0;-webkit-flex:0 0 8.3333333333%;-ms-flex:0 0 8.3333333333%;flex:0 0 8.3333333333%;max-width:8.3333333333%}.bootstrap-wrapper .col-xl-2{-webkit-box-flex:0;-webkit-flex:0 0 16.6666666667%;-ms-flex:0 0 16.6666666667%;flex:0 0 16.6666666667%;max-width:16.6666666667%}.bootstrap-wrapper .col-xl-3{-webkit-box-flex:0;-webkit-flex:0 0 25%;-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.bootstrap-wrapper .col-xl-4{-webkit-box-flex:0;-webkit-flex:0 0 33.3333333333%;-ms-flex:0 0 33.3333333333%;flex:0 0 33.3333333333%;max-width:33.3333333333%}.bootstrap-wrapper .col-xl-5{-webkit-box-flex:0;-webkit-flex:0 0 41.6666666667%;-ms-flex:0 0 41.6666666667%;flex:0 0 41.6666666667%;max-width:41.6666666667%}.bootstrap-wrapper .col-xl-6{-webkit-box-flex:0;-webkit-flex:0 0 50%;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.bootstrap-wrapper .col-xl-7{-webkit-box-flex:0;-webkit-flex:0 0 58.3333333333%;-ms-flex:0 0 58.3333333333%;flex:0 0 58.3333333333%;max-width:58.3333333333%}.bootstrap-wrapper .col-xl-8{-webkit-box-flex:0;-webkit-flex:0 0 66.6666666667%;-ms-flex:0 0 66.6666666667%;flex:0 0 66.6666666667%;max-width:66.6666666667%}.bootstrap-wrapper .col-xl-9{-webkit-box-flex:0;-webkit-flex:0 0 75%;-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.bootstrap-wrapper .col-xl-10{-webkit-box-flex:0;-webkit-flex:0 0 83.3333333333%;-ms-flex:0 0 83.3333333333%;flex:0 0 83.3333333333%;max-width:83.3333333333%}.bootstrap-wrapper .col-xl-11{-webkit-box-flex:0;-webkit-flex:0 0 91.6666666667%;-ms-flex:0 0 91.6666666667%;flex:0 0 91.6666666667%;max-width:91.6666666667%}.bootstrap-wrapper .col-xl-12{-webkit-box-flex:0;-webkit-flex:0 0 100%;-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.bootstrap-wrapper .order-xl-first{-webkit-box-ordinal-group:0;-webkit-order:-1;-ms-flex-order:-1;order:-1}.bootstrap-wrapper .order-xl-last{-webkit-box-ordinal-group:14;-webkit-order:13;-ms-flex-order:13;order:13}.bootstrap-wrapper .order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;-ms-flex-order:0;order:0}.bootstrap-wrapper .order-xl-1{-webkit-box-ordinal-group:2;-webkit-order:1;-ms-flex-order:1;order:1}.bootstrap-wrapper .order-xl-2{-webkit-box-ordinal-group:3;-webkit-order:2;-ms-flex-order:2;order:2}.bootstrap-wrapper .order-xl-3{-webkit-box-ordinal-group:4;-webkit-order:3;-ms-flex-order:3;order:3}.bootstrap-wrapper .order-xl-4{-webkit-box-ordinal-group:5;-webkit-order:4;-ms-flex-order:4;order:4}.bootstrap-wrapper .order-xl-5{-webkit-box-ordinal-group:6;-webkit-order:5;-ms-flex-order:5;order:5}.bootstrap-wrapper .order-xl-6{-webkit-box-ordinal-group:7;-webkit-order:6;-ms-flex-order:6;order:6}.bootstrap-wrapper .order-xl-7{-webkit-box-ordinal-group:8;-webkit-order:7;-ms-flex-order:7;order:7}.bootstrap-wrapper .order-xl-8{-webkit-box-ordinal-group:9;-webkit-order:8;-ms-flex-order:8;order:8}.bootstrap-wrapper .order-xl-9{-webkit-box-ordinal-group:10;-webkit-order:9;-ms-flex-order:9;order:9}.bootstrap-wrapper .order-xl-10{-webkit-box-ordinal-group:11;-webkit-order:10;-ms-flex-order:10;order:10}.bootstrap-wrapper .order-xl-11{-webkit-box-ordinal-group:12;-webkit-order:11;-ms-flex-order:11;order:11}.bootstrap-wrapper .order-xl-12{-webkit-box-ordinal-group:13;-webkit-order:12;-ms-flex-order:12;order:12}.bootstrap-wrapper .offset-xl-0{margin-left:0}.bootstrap-wrapper .offset-xl-1{margin-left:8.3333333333%}.bootstrap-wrapper .offset-xl-2{margin-left:16.6666666667%}.bootstrap-wrapper .offset-xl-3{margin-left:25%}.bootstrap-wrapper .offset-xl-4{margin-left:33.3333333333%}.bootstrap-wrapper .offset-xl-5{margin-left:41.6666666667%}.bootstrap-wrapper .offset-xl-6{margin-left:50%}.bootstrap-wrapper .offset-xl-7{margin-left:58.3333333333%}.bootstrap-wrapper .offset-xl-8{margin-left:66.6666666667%}.bootstrap-wrapper .offset-xl-9{margin-left:75%}.bootstrap-wrapper .offset-xl-10{margin-left:83.3333333333%}.bootstrap-wrapper .offset-xl-11{margin-left:91.6666666667%}}.bootstrap-wrapper .img-fluid{max-width:100%;height:auto}\n\n /* Padding Margin helpers */\n .m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}\n\n\n </style>\n"
  },
  {
    "path": "frontend/src/env.d.ts",
    "content": "/// <reference types=\"vite/client\" />\n\ndeclare module '*.vue' {\n  import type { DefineComponent } from 'vue'\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types\n  const component: DefineComponent<{}, {}, any>\n  export default component\n}\n"
  },
  {
    "path": "frontend/src/main.ts",
    "content": "import { createApp } from 'vue'\nimport App from './app.vue'\n\ncreateApp(App).mount('#app')\n"
  },
  {
    "path": "frontend/src/streamlit/StreamlitVue.ts",
    "content": "/**\n * Vue.js specific composables\n */\nimport { onMounted, onUpdated } from \"vue\"\nimport { Streamlit } from \"streamlit-component-lib\"\n\nexport function useStreamlit() {\n  /**\n   * Optional Streamlit Vue-based setup.\n   *\n   * You are not required call this function on your Streamlit\n   * component. If you decide not to call it, you should implement the\n   * `onMounted` and `onUpdated` functions in your own component,\n   * so that your plugin properly resizes.\n   */\n\n  onMounted((): void => {\n    // After we're rendered for the first time, tell Streamlit that our height\n    // has changed.\n    Streamlit.setFrameHeight()\n  })\n\n  onUpdated((): void => {\n    // After we're updated, tell Streamlit that our height may have changed.\n    Streamlit.setFrameHeight()\n  })\n}\n"
  },
  {
    "path": "frontend/src/streamlit/WithStreamlitConnection.vue",
    "content": "<template>\n  <div>\n    <!--  Error boundary. If our wrapped component threw an error, display it. -->\n    <div v-if=\"componentError !== ''\">\n      <h1 class=\"err__title\">Component Error</h1>\n      <div class=\"err__msg\">Message: {{ componentError }}</div>\n    </div>\n    <!--\n      Else render the component slot and pass Streamlit event data in `args` props to it.\n      Don't render until we've gotten our first RENDER_EVENT from Streamlit.\n      All components get disabled while the app is being re-run, and become re-enabled when the re-run has finished.\n    -->\n    <slot\n      v-else-if=\"renderData != null\"\n      :args=\"renderData.args\"\n      :theme=\"renderData.theme\"\n      :disabled=\"renderData.disabled\"\n    ></slot>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport {\n  ref,\n  defineComponent,\n  onMounted,\n  onUpdated,\n  onUnmounted,\n  onErrorCaptured,\n} from \"vue\"\nimport { Streamlit, RenderData } from \"streamlit-component-lib\"\n\nexport default defineComponent({\n  name: \"WithStreamlitConnection\",\n  setup() {\n    const renderData = ref<RenderData>((undefined as unknown) as RenderData)\n    const componentError = ref(\"\")\n\n    const onRenderEvent = (event: Event): void => {\n      const renderEvent = event as CustomEvent<RenderData>\n      renderData.value = renderEvent.detail\n      componentError.value = \"\"\n    }\n\n    // Set up event listeners, and signal to Streamlit that we're ready.\n    // We won't render the component until we receive the first RENDER_EVENT.\n    onMounted(() => {\n      Streamlit.events.addEventListener(Streamlit.RENDER_EVENT, onRenderEvent)\n      Streamlit.setComponentReady()\n    })\n    onUpdated(() => {\n      // If our slot threw an error, we display it in render(). In this\n      // case, the slot won't be mounted and therefore won't call\n      // `setFrameHeight` on its own. We do it here so that the rendered\n      // error will be visible.\n      if (componentError.value != \"\") {\n        Streamlit.setFrameHeight()\n      }\n    })\n    onUnmounted(() => {\n      Streamlit.events.removeEventListener(\n        Streamlit.RENDER_EVENT,\n        onRenderEvent\n      )\n    })\n    onErrorCaptured(err => {\n      componentError.value = String(err)\n    })\n\n    return {\n      renderData,\n      componentError,\n    }\n  },\n})\n</script>\n\n<style scoped>\n.err__title,\n.err__msg {\n  margin: 0;\n}\n</style>\n"
  },
  {
    "path": "frontend/src/streamlit/index.ts",
    "content": "/**\n * @license\n * Copyright 2018-2020 Streamlit Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *    http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\nexport { useStreamlit } from \"./StreamlitVue\"\n"
  },
  {
    "path": "frontend/tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"baseUrl\": \".\",\n    \"outDir\": \"dist\",\n    \"declaration\": false,\n    \"target\": \"esnext\",\n    \"useDefineForClassFields\": true,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\",\n    \"isolatedModules\": true,\n    \"strict\": true,\n    \"jsx\": \"preserve\",\n    \"sourceMap\": true,\n    \"resolveJsonModule\": true,\n    \"esModuleInterop\": true,\n    \"skipLibCheck\": true,\n    \"lib\": [\n      \"esnext\",\n      \"dom\"\n    ],\n    \"paths\": {\n      \"@/*\": [\"src/*\"]\n    },\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.d.ts\",\n    \"src/**/*.tsx\",\n    \"src/**/*.vue\"\n  ],\n  \"exclude\": [\n    \"node_modules\",\n    \"dist\",\n    \"public\"\n  ],\n  \"references\": [\n    { \"path\": \"./tsconfig.node.json\" }\n  ]\n}\n"
  },
  {
    "path": "frontend/tsconfig.node.json",
    "content": "{\n  \"compilerOptions\": {\n    \"composite\": false,\n    \"module\": \"esnext\",\n    \"moduleResolution\": \"node\"\n  },\n  \"include\": [\"vite.config.ts\"]\n}\n"
  },
  {
    "path": "frontend/ui_functions.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\nimport re\nimport gradio as gr\nfrom PIL import Image\nfrom io import BytesIO\nimport base64\nimport re\n\n\ndef change_image_editor_mode(\n    choice, cropped_image, masked_image, resize_mode, width, height\n):\n    if choice == \"Mask\":\n        update_image_result = update_image_mask(\n            cropped_image, resize_mode, width, height\n        )\n        return [\n            gr.update(visible=False),\n            update_image_result,\n            gr.update(visible=False),\n            gr.update(visible=True),\n            gr.update(visible=False),\n            gr.update(visible=True),\n            gr.update(visible=True),\n            gr.update(visible=True),\n        ]\n\n    update_image_result = update_image_mask(\n        masked_image[\"image\"] if masked_image is not None else None,\n        resize_mode,\n        width,\n        height,\n    )\n    return [\n        update_image_result,\n        gr.update(visible=False),\n        gr.update(visible=True),\n        gr.update(visible=False),\n        gr.update(visible=True),\n        gr.update(visible=False),\n        gr.update(visible=False),\n        gr.update(visible=False),\n    ]\n\n\ndef update_image_mask(cropped_image, resize_mode, width, height):\n    resized_cropped_image = (\n        resize_image(resize_mode, cropped_image, width, height)\n        if cropped_image\n        else None\n    )\n    return gr.update(value=resized_cropped_image, visible=True)\n\n\ndef toggle_options_gfpgan(selection):\n    if 0 in selection:\n        return gr.update(visible=True)\n    else:\n        return gr.update(visible=False)\n\n\ndef toggle_options_upscalers(selection):\n    if 1 in selection:\n        return gr.update(visible=True)\n    else:\n        return gr.update(visible=False)\n\n\ndef toggle_options_realesrgan(selection):\n    if selection == 0 or selection == 1 or selection == 3:\n        return gr.update(visible=True)\n    else:\n        return gr.update(visible=False)\n\n\ndef toggle_options_gobig(selection):\n    if selection == 1:\n        # print(selection)\n        return gr.update(visible=True)\n    if selection == 3:\n        return gr.update(visible=True)\n    else:\n        return gr.update(visible=False)\n\n\ndef toggle_options_ldsr(selection):\n    if selection == 2 or selection == 3:\n        return gr.update(visible=True)\n    else:\n        return gr.update(visible=False)\n\n\ndef increment_down(value):\n    return value - 1\n\n\ndef increment_up(value):\n    return value + 1\n\n\ndef copy_img_to_lab(img):\n    try:\n        image_data = re.sub(\"^data:image/.+;base64,\", \"\", img)\n        processed_image = Image.open(BytesIO(base64.b64decode(image_data)))\n        tab_update = gr.update(selected=\"imgproc_tab\")\n        gr.update(value=processed_image)\n        return (\n            processed_image,\n            tab_update,\n        )\n    except IndexError:\n        return [None, None]\n\n\ndef copy_img_params_to_lab(params):\n    try:\n        prompt = params[0][0].replace(\"\\n\", \" \").replace(\"\\r\", \"\")\n        seed = int(params[1][1])\n        steps = int(params[7][1])\n        cfg_scale = float(params[9][1])\n        sampler = params[11][1]\n        return prompt, seed, steps, cfg_scale, sampler\n    except IndexError:\n        return [None, None]\n\n\ndef copy_img_to_input(img):\n    try:\n        image_data = re.sub(\"^data:image/.+;base64,\", \"\", img)\n        processed_image = Image.open(BytesIO(base64.b64decode(image_data)))\n        tab_update = gr.update(selected=\"img2img_tab\")\n        gr.update(value=processed_image)\n        return processed_image, processed_image, tab_update\n    except IndexError:\n        return [None, None]\n\n\ndef copy_img_to_edit(img):\n    try:\n        image_data = re.sub(\"^data:image/.+;base64,\", \"\", img)\n        processed_image = Image.open(BytesIO(base64.b64decode(image_data)))\n        tab_update = gr.update(selected=\"img2img_tab\")\n        gr.update(value=processed_image)\n        mode_update = gr.update(value=\"Crop\")\n        return processed_image, tab_update, mode_update\n    except IndexError:\n        return [None, None]\n\n\ndef copy_img_to_mask(img):\n    try:\n        image_data = re.sub(\"^data:image/.+;base64,\", \"\", img)\n        processed_image = Image.open(BytesIO(base64.b64decode(image_data)))\n        tab_update = gr.update(selected=\"img2img_tab\")\n        gr.update(value=processed_image)\n        mode_update = gr.update(value=\"Mask\")\n        return processed_image, tab_update, mode_update\n    except IndexError:\n        return [None, None]\n\n\ndef copy_img_to_upscale_esrgan(img):\n    tabs_update = gr.update(selected=\"realesrgan_tab\")\n    image_data = re.sub(\"^data:image/.+;base64,\", \"\", img)\n    processed_image = Image.open(BytesIO(base64.b64decode(image_data)))\n    return processed_image, tabs_update\n\n\nhelp_text = \"\"\"\n    ## Mask/Crop\n    * Masking is not inpainting. You will probably get better results manually masking your images in photoshop instead.\n    * Built-in masking/cropping is very temperamental.\n    * It may take some time for the image to show when switching from Crop to Mask.\n    * If the image doesn't appear after switching to Mask, switch back to Crop and then back again to Mask\n    * If the mask appears distorted (the brush is weirdly shaped instead of round), switch back to Crop and then back again to Mask.\n\n    ## Advanced Editor\n    * Click 💾 Save to send your editor changes to the img2img workflow\n    * Click ❌ Clear to discard your editor changes\n\n    If anything breaks, try switching modes again, switch tabs, clear the image, or reload.\n\"\"\"\n\n\ndef resize_image(resize_mode, im, width, height):\n    LANCZOS = (\n        Image.Resampling.LANCZOS if hasattr(Image, \"Resampling\") else Image.LANCZOS\n    )\n    if resize_mode == 0:\n        res = im.resize((width, height), resample=LANCZOS)\n    elif resize_mode == 1:\n        ratio = width / height\n        src_ratio = im.width / im.height\n\n        src_w = width if ratio > src_ratio else im.width * height // im.height\n        src_h = height if ratio <= src_ratio else im.height * width // im.width\n\n        resized = im.resize((src_w, src_h), resample=LANCZOS)\n        res = Image.new(\"RGBA\", (width, height))\n        res.paste(resized, box=(width // 2 - src_w // 2, height // 2 - src_h // 2))\n    else:\n        ratio = width / height\n        src_ratio = im.width / im.height\n\n        src_w = width if ratio < src_ratio else im.width * height // im.height\n        src_h = height if ratio >= src_ratio else im.height * width // im.width\n\n        resized = im.resize((src_w, src_h), resample=LANCZOS)\n        res = Image.new(\"RGBA\", (width, height))\n        res.paste(resized, box=(width // 2 - src_w // 2, height // 2 - src_h // 2))\n\n        if ratio < src_ratio:\n            fill_height = height // 2 - src_h // 2\n            res.paste(\n                resized.resize((width, fill_height), box=(0, 0, width, 0)), box=(0, 0)\n            )\n            res.paste(\n                resized.resize(\n                    (width, fill_height), box=(0, resized.height, width, resized.height)\n                ),\n                box=(0, fill_height + src_h),\n            )\n        elif ratio > src_ratio:\n            fill_width = width // 2 - src_w // 2\n            res.paste(\n                resized.resize((fill_width, height), box=(0, 0, 0, height)), box=(0, 0)\n            )\n            res.paste(\n                resized.resize(\n                    (fill_width, height), box=(resized.width, 0, resized.width, height)\n                ),\n                box=(fill_width + src_w, 0),\n            )\n\n    return res\n\n\ndef update_dimensions_info(width, height):\n    pixel_count_formated = \"{:,.0f}\".format(width * height)\n    return f\"Aspect ratio: {round(width / height, 5)}\\nTotal pixel count: {pixel_count_formated}\"\n\n\ndef get_png_nfo(image: Image):\n    info_text = \"\"\n    visible = bool(image and any(image.info))\n    if visible:\n        for key, value in image.info.items():\n            info_text += f\"{key}: {value}\\n\"\n        info_text = info_text.rstrip(\"\\n\")\n    return gr.Textbox.update(value=info_text, visible=visible)\n\n\ndef load_settings(*values):\n    new_settings, key_names, checkboxgroup_info = values[-3:]\n    values = list(values[:-3])\n\n    if new_settings:\n        if type(new_settings) is str:\n            if os.path.exists(new_settings):\n                with open(new_settings, \"r\", encoding=\"utf8\") as f:\n                    new_settings = yaml.safe_load(f)\n            elif new_settings.startswith(\"file://\") and os.path.exists(\n                new_settings[7:]\n            ):\n                with open(new_settings[7:], \"r\", encoding=\"utf8\") as f:\n                    new_settings = yaml.safe_load(f)\n            else:\n                new_settings = yaml.safe_load(new_settings)\n        if type(new_settings) is not dict:\n            new_settings = {\"prompt\": new_settings}\n        if \"txt2img\" in new_settings:\n            new_settings = new_settings[\"txt2img\"]\n        target = new_settings.pop(\"target\", \"txt2img\")\n        if target != \"txt2img\":\n            print(\n                f\"Warning: applying settings to txt2img even though {target} is specified as target.\",\n                file=sys.stderr,\n            )\n\n        skipped_settings = {}\n        for key in new_settings.keys():\n            if key in key_names:\n                values[key_names.index(key)] = new_settings[key]\n            else:\n                skipped_settings[key] = new_settings[key]\n        if skipped_settings:\n            print(f\"Settings could not be applied: {skipped_settings}\", file=sys.stderr)\n\n    # Convert lists of checkbox indices to lists of checkbox labels:\n    for cbg_index, cbg_choices in checkboxgroup_info:\n        values[cbg_index] = [cbg_choices[i] for i in values[cbg_index]]\n\n    return values\n"
  },
  {
    "path": "frontend/vite.config.ts",
    "content": "import { resolve } from 'path'\nimport { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\n\nexport default defineConfig(({ mode }) => {\n  return {\n    plugins: [vue()],\n    base: \"\",\n    server: {\n      port: 3001,\n    },\n    /**\n     * DESC:\n     * defining aliases\n     */\n    resolve: {\n      alias: [\n        {\n          find: '@',\n          replacement: resolve(__dirname, './src'),\n        },\n      ],\n    },\n  }\n})\n"
  },
  {
    "path": "horde_bridge.cmd",
    "content": "@echo off\n:: This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n:: Copyright 2022 Sygil-Dev team.\n:: This program is free software: you can redistribute it and/or modify\n:: it under the terms of the GNU Affero General Public License as published by\n:: the Free Software Foundation, either version 3 of the License, or\n:: (at your option) any later version.\n\n:: This program is distributed in the hope that it will be useful,\n:: but WITHOUT ANY WARRANTY; without even the implied warranty of\n:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n:: GNU Affero General Public License for more details.\n\n:: You should have received a copy of the GNU Affero General Public License\n:: along with this program.  If not, see <http://www.gnu.org/licenses/>.\n:: Run all commands using this script's directory as the working directory\ncd %~dp0\n\n:: copy over the first line from environment.yaml, e.g. name: ldm, and take the second word after splitting by \":\" delimiter\nfor /F \"tokens=2 delims=: \" %%i in (environment.yaml) DO (\n  set v_conda_env_name=%%i\n  goto EOL\n)\n:EOL\n\necho Environment name is set as %v_conda_env_name% as per environment.yaml\n\n:: Put the path to conda directory in a file called \"custom-conda-path.txt\" if it's installed at non-standard path\nIF EXIST custom-conda-path.txt (\n  FOR /F %%i IN (custom-conda-path.txt) DO set v_custom_path=%%i\n)\n\nset v_paths=%ProgramData%\\miniconda3\nset v_paths=%v_paths%;%USERPROFILE%\\miniconda3\nset v_paths=%v_paths%;%ProgramData%\\anaconda3\nset v_paths=%v_paths%;%USERPROFILE%\\anaconda3\n\nfor %%a in (%v_paths%) do (\n  IF NOT \"%v_custom_path%\"==\"\" (\n    set v_paths=%v_custom_path%;%v_paths%\n  )\n)\n\nfor %%a in (%v_paths%) do (\n  if EXIST \"%%a\\Scripts\\activate.bat\" (\n    SET v_conda_path=%%a\n    echo anaconda3/miniconda3 detected in %%a\n    goto :CONDA_FOUND\n  )\n)\n\nIF \"%v_conda_path%\"==\"\" (\n  echo anaconda3/miniconda3 not found. Install from here https://docs.conda.io/en/latest/miniconda.html\n  pause\n  exit /b 1\n)\n\n:CONDA_FOUND\necho Stashing local changes and pulling latest update...\ngit status --porcelain=1 -uno | findstr . && set \"HasChanges=1\" || set \"HasChanges=0\"\ncall git stash\ncall git pull\nIF \"%HasChanges%\" == \"0\" GOTO SKIP_RESTORE\n\nset /P restore=\"Do you want to restore changes you made before updating? (Y/N): \"\nIF /I \"%restore%\" == \"N\" (\n  echo Removing changes...\n  call git stash drop\n  echo \"Changes removed\"\n) ELSE IF /I \"%restore%\" == \"Y\" (\n  echo Restoring changes...\n  call git stash pop --quiet\n  echo \"Changes restored\"\n)\n\n:SKIP_RESTORE\ncall \"%v_conda_path%\\Scripts\\activate.bat\"\n\nfor /f \"delims=\" %%a in ('git log -1 --format^=\"%%H\" -- environment.yaml')  DO set v_cur_hash=%%a\nset /p \"v_last_hash=\"<\"z_version_env.tmp\"\necho %v_cur_hash%>z_version_env.tmp\n\necho Current  environment.yaml hash: %v_cur_hash%\necho Previous environment.yaml hash: %v_last_hash%\n\nif \"%v_last_hash%\" == \"%v_cur_hash%\" (\n  echo environment.yaml unchanged. dependencies should be up to date.\n  echo if you still have unresolved dependencies, delete \"z_version_env.tmp\"\n) else (\n  echo environment.yaml changed. updating dependencies\n  call conda env create --name \"%v_conda_env_name%\" -f environment.yaml\n  call conda env update --name \"%v_conda_env_name%\" -f environment.yaml\n)\n\n\ncall \"%v_conda_path%\\Scripts\\activate.bat\" \"%v_conda_env_name%\"\n\n:PROMPT\nset SETUPTOOLS_USE_DISTUTILS=stdlib\nIF EXIST \"models\\ldm\\stable-diffusion-v1\\model.ckpt\" (\n  set \"PYTHONPATH=%~dp0\"\n  python scripts\\relauncher.py --bridge -v %*\n) ELSE (\n  echo Your model file does not exist! Place it in 'models\\ldm\\stable-diffusion-v1' with the name 'model.ckpt'.\n  pause\n)\n\n::cmd /k\n"
  },
  {
    "path": "horde_bridge.sh",
    "content": "#!/bin/bash -i\n# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# Start the Stable Diffusion WebUI for Linux Users\n\nDIRECTORY=\".\"\nENV_FILE=\"environment.yaml\"\nENV_NAME=\"ldm\"\nENV_MODIFIED=$(date -r $ENV_FILE \"+%s\")\nENV_MODIFED_FILE=\".env_updated\"\nENV_UPDATED=0\n\n# Models used for upscaling\nGFPGAN_MODEL=\"https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth\"\nLATENT_DIFFUSION_REPO=\"https://github.com/devilismyfriend/latent-diffusion.git\"\nLSDR_CONFIG=\"https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1\"\nLSDR_MODEL=\"https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1\"\nREALESRGAN_MODEL=\"https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth\"\nREALESRGAN_ANIME_MODEL=\"https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth\"\nSD_CONCEPT_REPO=\"https://github.com/Sygil-Dev/sd-concepts-library/archive/refs/heads/main.zip\"\n\n\nif [[ -f $ENV_MODIFED_FILE ]]; then\n    ENV_MODIFIED_CACHED=$(<${ENV_MODIFED_FILE})\nelse\n    ENV_MODIFIED_CACHED=0\nfi\n\n# Setup the Conda env for the project. This will also handle updating the env as needed too.\nconda_env_setup () {\n    # Set conda path if it is not already in default environment\n    CUSTOM_CONDA_PATH=\n\n    # Allow setting custom path via file to allow updates of this script without undoing custom path\n    if [ -f custom-conda-path.txt ]; then\n        CUSTOM_CONDA_PATH=$(cat custom-conda-path.txt)\n    fi\n\n    # If custom path is set above, try to setup conda environment\n    if [ -f \"${CUSTOM_CONDA_PATH}/etc/profile.d/conda.sh\" ]; then\n        . \"${CUSTOM_CONDA_PATH}/etc/profile.d/conda.sh\"\n    elif [ -n \"${CUSTOM_CONDA_PATH}\" ] && [ -f \"${CUSTOM_CONDA_PATH}/bin\" ]; then\n        export PATH=\"${CUSTOM_CONDA_PATH}/bin:$PATH\"\n    fi\n\n    if ! command -v conda >/dev/null; then\n        printf \"Anaconda3 not found. Install from here https://www.anaconda.com/products/distribution\\n\"\n        exit 1\n    fi\n\n    # Create/update conda env if needed\n    if ! conda env list | grep \".*${ENV_NAME}.*\" >/dev/null 2>&1; then\n        printf \"Could not find conda env: ${ENV_NAME} ... creating ... \\n\\n\"\n        conda env create -f $ENV_FILE\n        ENV_UPDATED=1\n    elif [[ ! -z $CONDA_FORCE_UPDATE && $CONDA_FORCE_UPDATE == \"true\" ]] || (( $ENV_MODIFIED > $ENV_MODIFIED_CACHED )); then\n        printf \"Updating conda env: ${ENV_NAME} ...\\n\\n\"\n        PIP_EXISTS_ACTION=w conda env update --file $ENV_FILE --prune\n        ENV_UPDATED=1\n    fi\n\n    # Clear artifacts from conda after create/update\n    if (( $ENV_UPDATED > 0 )); then\n        conda clean --all\n        echo -n $ENV_MODIFIED > $ENV_MODIFED_FILE\n    fi\n}\n\n# Activate conda environment\nconda_env_activation () {\n    conda activate $ENV_NAME\n    conda info | grep active\n}\n\n# Check to see if the SD model already exists, if not then it creates it and prompts the user to add the SD AI models to the repo directory\nsd_model_loading () {\n    if [ -f \"$DIRECTORY/models/ldm/stable-diffusion-v1/model.ckpt\" ]; then\n        printf \"AI Model already in place. Continuing...\\n\\n\"\n    else\n        printf \"\\n\\n########## MOVE MODEL FILE ##########\\n\\n\"\n        printf \"Please download the 1.4 AI Model from Huggingface (or another source) and place it inside of the sygil-webui folder\\n\\n\"\n        read -p \"Once you have sd-v1-4.ckpt in the project root, Press Enter...\\n\\n\"\n\n        # Check to make sure checksum of models is the original one from HuggingFace and not a fake model set\n        printf \"fe4efff1e174c627256e44ec2991ba279b3816e364b49f9be2abc0b3ff3f8556 sd-v1-4.ckpt\" | sha256sum --check || exit 1\n        mv sd-v1-4.ckpt $DIRECTORY/models/ldm/stable-diffusion-v1/model.ckpt\n        rm -r ./Models\n    fi\n}\n\n# Checks to see if the upscaling models exist in their correct locations. If they do not they will be downloaded as required\npost_processor_model_loading () {\n    # Check to see if GFPGAN has been added yet, if not it will download it and place it in the proper directory\n    if [ -f \"$DIRECTORY/models/gfpgan/GFPGANv1.3.pth\" ]; then\n        printf \"GFPGAN already exists. Continuing...\\n\\n\"\n    else\n        printf \"Downloading GFPGAN model. Please wait...\\n\"\n        wget $GFPGAN_MODEL -P $DIRECTORY/models/gfpgan\n    fi\n\n    # Check to see if realESRGAN has been added yet, if not it will download it and place it in the proper directory\n    if [ -f \"$DIRECTORY/models/realesrgan/RealESRGAN_x4plus.pth\" ]; then\n        printf \"realESRGAN already exists. Continuing...\\n\\n\"\n    else\n        printf \"Downloading realESRGAN model. Please wait...\\n\"\n        wget $REALESRGAN_MODEL -P $DIRECTORY/models/realesrgan\n        wget $REALESRGAN_ANIME_MODEL -P $DIRECTORY/models/realesrgan\n    fi\n\n    # Check to see if LDSR has been added yet, if not it will be cloned and its models downloaded to the correct directory\n    if [ -f \"$DIRECTORY/models/ldsr/model.ckpt\" ]; then\n        printf \"LDSR already exists. Continuing...\\n\\n\"\n    else\n        printf \"Cloning LDSR and downloading model. Please wait...\\n\"\n        git clone $LATENT_DIFFUSION_REPO\n        mv latent-diffusion $DIRECTORY/models/ldsr\n        mkdir $DIRECTORY/models/ldsr/experiments\n        mkdir $DIRECTORY/models/ldsr\n        wget $LSDR_CONFIG -P $DIRECTORY/models/ldsr\n        mv $DIRECTORY/models/ldsr/index.html?dl=1 $DIRECTORY/models/ldsr/project.yaml\n        wget $LSDR_MODEL -P $DIRECTORY/models/ldsr\n        mv $DIRECTORY/models/ldsr/index.html?dl=1 $DIRECTORY/models/ldsr/model.ckpt\n    fi\n\n    # Check to see if SD Concepts has been added yet, if not it will download it and place it in the proper directory\n    if [ -d \"$DIRECTORY/models/custom/sd-concepts-library\" ]; then\n        printf \"SD Concepts Library already exists. Continuing...\\n\\n\"\n    else\n        printf \"Downloading and Extracting SD Concepts Library model. Please wait...\\n\"\n        mkdir $DIRECTORY/models/custom\n        wget $SD_CONCEPT_REPO\n        if ! command -v unzip &> /dev/null\n        then\n            printf \"Warning: unzip could not be found. \\nPlease install 'unzip' from your package manager and rerun this program.\\n\"\n            exit 1\n        fi\n        unzip main.zip\n        mv sd-concepts-library-main/sd-concepts-library $DIRECTORY/models/custom\n    fi\n}\n\n# Function to initialize the other functions\nstart_initialization () {\n    conda_env_setup\n    sd_model_loading\n    post_processor_model_loading\n    conda_env_activation\n    if [ ! -e \"models/ldm/stable-diffusion-v1/model.ckpt\" ]; then\n        echo \"Your model file does not exist! Place it in 'models/ldm/stable-diffusion-v1' with the name 'model.ckpt'.\"\n        exit 1\n    fi\n    printf \"\\nStarting Stable Horde Bridge: Please Wait...\\n\"; python scripts/relauncher.py --bridge -v \"$@\"; break;\n\n}\n\nstart_initialization \"$@\"\n"
  },
  {
    "path": "installer/create_installers.sh",
    "content": "#!/bin/bash\n\n# For developers only! Not for users!\n# This creates the installer zip files that will be distributed to users\n# It packs install.{sh,bat} along with a readme, and ensures that the user\n# has the install script inside a new empty folder (after unzipping),\n# otherwise the git repo will extract into whatever folder the script is in.\n\ncd \"$(dirname \"${BASH_SOURCE[0]}\")\"\n\n# make the installer zip for linux and mac\nrm -rf sygil\nmkdir -p sygil\ncp install.sh sygil\ncp readme.txt sygil\n\nzip -r sygil-linux.zip sygil\nzip -r sygil-mac.zip sygil\n\n# make the installer zip for windows\nrm -rf sygil\nmkdir -p sygil\ncp install.bat sygil\ncp readme.txt sygil\n\nzip -r sygil-windows.zip sygil\n\necho \"The installer zips are ready to be distributed..\"\n"
  },
  {
    "path": "installer/install.bat",
    "content": "@echo off\n\n@rem This script will install git and conda (if not found on the PATH variable)\n@rem  using micromamba (an 8mb static-linked single-file binary, conda replacement).\n@rem For users who already have git and conda, this step will be skipped.\n\n@rem Then, it'll run the webui.cmd file to continue with the installation as usual.\n\n@rem This enables a user to install this project without manually installing conda and git.\n\necho \"Installing Sygil WebUI..\"\necho.\n\n@rem config\nset MAMBA_ROOT_PREFIX=%cd%\\installer_files\\mamba\nset INSTALL_ENV_DIR=%cd%\\installer_files\\env\nset MICROMAMBA_DOWNLOAD_URL=https://github.com/cmdr2/stable-diffusion-ui/releases/download/v1.1/micromamba.exe\nset REPO_URL=https://github.com/Sygil-Dev/sygil-webui.git\n@rem Change the download URL to Sygil repo's release URL\n@rem We need to mirror micromamba.exe, because the official download URL uses tar.bz2 compression\n@rem  which Windows can't unzip natively.\n@rem https://mamba.readthedocs.io/en/latest/installation.html#windows\nset umamba_exists=F\n\n@rem figure out whether git and conda needs to be installed\nif exist \"%INSTALL_ENV_DIR%\" set PATH=%INSTALL_ENV_DIR%;%INSTALL_ENV_DIR%\\Library\\bin;%INSTALL_ENV_DIR%\\Scripts;%INSTALL_ENV_DIR%\\Library\\usr\\bin;%PATH%\n\nset PACKAGES_TO_INSTALL=\n\ncall conda --version >.tmp1 2>.tmp2\nif \"%ERRORLEVEL%\" NEQ \"0\" set PACKAGES_TO_INSTALL=%PACKAGES_TO_INSTALL% conda\n\ncall git --version >.tmp1 2>.tmp2\nif \"%ERRORLEVEL%\" NEQ \"0\" set PACKAGES_TO_INSTALL=%PACKAGES_TO_INSTALL% git\n\ncall \"%MAMBA_ROOT_PREFIX%\\micromamba.exe\" --version >.tmp1 2>.tmp2\nif \"%ERRORLEVEL%\" EQU \"0\" set umamba_exists=T\n\n@rem (if necessary) install git and conda into a contained environment\nif \"%PACKAGES_TO_INSTALL%\" NEQ \"\" (\n    @rem download micromamba\n    if \"%umamba_exists%\" == \"F\" (\n        echo \"Downloading micromamba from %MICROMAMBA_DOWNLOAD_URL% to %MAMBA_ROOT_PREFIX%\\micromamba.exe\"\n\n        mkdir \"%MAMBA_ROOT_PREFIX%\"\n        call curl -L \"%MICROMAMBA_DOWNLOAD_URL%\" > \"%MAMBA_ROOT_PREFIX%\\micromamba.exe\"\n\n        @rem test the mamba binary\n        echo Micromamba version:\n        call \"%MAMBA_ROOT_PREFIX%\\micromamba.exe\" --version\n    )\n\n    @rem create the installer env\n    if not exist \"%INSTALL_ENV_DIR%\" (\n        call \"%MAMBA_ROOT_PREFIX%\\micromamba.exe\" create -y --prefix \"%INSTALL_ENV_DIR%\"\n    )\n\n    echo \"Packages to install:%PACKAGES_TO_INSTALL%\"\n\n    call \"%MAMBA_ROOT_PREFIX%\\micromamba.exe\" install -y --prefix \"%INSTALL_ENV_DIR%\" -c conda-forge %PACKAGES_TO_INSTALL%\n\n    if not exist \"%INSTALL_ENV_DIR%\" (\n        echo \"There was a problem while installing%PACKAGES_TO_INSTALL% using micromamba. Cannot continue.\"\n        pause\n        exit /b\n    )\n)\n\nset PATH=%INSTALL_ENV_DIR%;%INSTALL_ENV_DIR%\\Library\\bin;%INSTALL_ENV_DIR%\\Scripts;%INSTALL_ENV_DIR%\\Library\\usr\\bin;%PATH%\n\n@rem get the repo (and load into the current directory)\nif not exist \".git\" (\n    call git config --global init.defaultBranch master\n    call git init\n    call git remote add origin %REPO_URL%\n    call git fetch\n    call git checkout origin/master -ft\n)\n\n@rem activate the base env\ncall conda activate\n\n@rem make the models dir\nmkdir models\\ldm\\stable-diffusion-v1\n\n@rem install the project\ncall webui.cmd\n\n@rem finally, tell the user that they need to download the ckpt\necho.\necho \"Now you need to install the weights for the stable diffusion model.\"\necho \"Please follow the steps related to models weights at https://sd-webui.github.io/stable-diffusion-webui/docs/1.windows-installation.html#cloning-the-repo to complete the installation\"\n\n@rem it would be nice if the weights downloaded automatically, and didn't need the user to do this manually.\n\npause\n"
  },
  {
    "path": "installer/install.sh",
    "content": "#!/bin/bash\n\n# This script will install git and conda (if not found on the PATH variable)\n#  using micromamba (an 8mb static-linked single-file binary, conda replacement).\n# For users who already have git and conda, this step will be skipped.\n\n# Then, it'll run the webui.cmd file to continue with the installation as usual.\n\n# This enables a user to install this project without manually installing conda and git.\n\ncd \"$(dirname \"${BASH_SOURCE[0]}\")\"\n\necho \"Installing Sygil WebUI..\"\necho \"\"\n\nOS_ARCH=$(uname -m)\ncase \"${OS_ARCH}\" in\n    x86_64*)    OS_ARCH=\"64\";;\n    arm64*)     OS_ARCH=\"aarch64\";;\n    *)          echo \"Unknown system architecture: $OS_ARCH! This script runs only on x86_64 or arm64\" && exit\nesac\n\n# config\nexport MAMBA_ROOT_PREFIX=\"$(pwd)/installer_files/mamba\"\nINSTALL_ENV_DIR=\"$(pwd)/installer_files/env\"\nMICROMAMBA_DOWNLOAD_URL=\"https://micro.mamba.pm/api/micromamba/linux-${OS_ARCH}/latest\"\numamba_exists=\"F\"\n\n# figure out whether git and conda needs to be installed\nif [ -e \"$INSTALL_ENV_DIR\" ]; then export PATH=\"$INSTALL_ENV_DIR/bin:$PATH\"; fi\n\nPACKAGES_TO_INSTALL=\"\"\n\nif ! hash \"conda\" &>/dev/null; then PACKAGES_TO_INSTALL=\"$PACKAGES_TO_INSTALL conda\"; fi\nif ! hash \"git\" &>/dev/null; then PACKAGES_TO_INSTALL=\"$PACKAGES_TO_INSTALL git\"; fi\n\nif \"$MAMBA_ROOT_PREFIX/micromamba\" --version &>/dev/null; then umamba_exists=\"T\"; fi\n\n# (if necessary) install git and conda into a contained environment\nif [ \"$PACKAGES_TO_INSTALL\" != \"\" ]; then\n    # download micromamba\n    if [ \"$umamba_exists\" == \"F\" ]; then\n        echo \"Downloading micromamba from $MICROMAMBA_DOWNLOAD_URL to $MAMBA_ROOT_PREFIX/micromamba\"\n\n        mkdir -p \"$MAMBA_ROOT_PREFIX\"\n        curl -L \"$MICROMAMBA_DOWNLOAD_URL\" | tar -xvj bin/micromamba -O > \"$MAMBA_ROOT_PREFIX/micromamba\"\n\n        chmod u+x \"$MAMBA_ROOT_PREFIX/micromamba\"\n\n        # test the mamba binary\n        echo \"Micromamba version:\"\n        \"$MAMBA_ROOT_PREFIX/micromamba\" --version\n    fi\n\n    # create the installer env\n    if [ ! -e \"$INSTALL_ENV_DIR\" ]; then\n        \"$MAMBA_ROOT_PREFIX/micromamba\" create -y --prefix \"$INSTALL_ENV_DIR\"\n    fi\n\n    echo \"Packages to install:$PACKAGES_TO_INSTALL\"\n\n    \"$MAMBA_ROOT_PREFIX/micromamba\" install -y --prefix \"$INSTALL_ENV_DIR\" -c conda-forge $PACKAGES_TO_INSTALL\n\n    if [ ! -e \"$INSTALL_ENV_DIR\" ]; then\n        echo \"There was a problem while initializing micromamba. Cannot continue.\"\n        exit\n    fi\nfi\n\nif [ -e \"$INSTALL_ENV_DIR\" ]; then export PATH=\"$INSTALL_ENV_DIR/bin:$PATH\"; fi\n\nCONDA_BASEPATH=$(conda info --base)\nsource \"$CONDA_BASEPATH/etc/profile.d/conda.sh\" # otherwise conda complains about 'shell not initialized' (needed when running in a script)\n\nconda activate\n\n# run the installer script for linux\ncurl \"https://raw.githubusercontent.com/JoshuaKimsey/Linux-StableDiffusion-Script/main/linux-sd.sh\" > linux-sd.sh\nchmod u+x linux-sd.sh\n\n./linux-sd.sh\n\n# tell the user that they need to download the ckpt\nWEIGHTS_DOC_URL=\"https://sd-webui.github.io/stable-diffusion-webui/docs/2.linux-installation.html#initial-start-guide\"\n\necho \"\"\necho \"Now you need to install the weights for the stable diffusion model.\"\necho \"Please follow the steps at $WEIGHTS_DOC_URL to complete the installation\"\n\n# it would be nice if the weights downloaded automatically, and didn't need the user to do this manually.\n"
  },
  {
    "path": "ldm/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/data/__init__.py",
    "content": "import torch\nfrom torch.utils.data import DataLoader\nfrom torchvision import transforms\nfrom torchvision.transforms.functional import InterpolationMode\n\nfrom data.coco_karpathy_dataset import (\n    coco_karpathy_train,\n    coco_karpathy_caption_eval,\n    coco_karpathy_retrieval_eval,\n)\nfrom data.nocaps_dataset import nocaps_eval\nfrom data.flickr30k_dataset import flickr30k_train, flickr30k_retrieval_eval\nfrom data.vqa_dataset import vqa_dataset\nfrom data.nlvr_dataset import nlvr_dataset\nfrom data.pretrain_dataset import pretrain_dataset\nfrom transform.randaugment import RandomAugment\n\n\ndef create_dataset(dataset, config, min_scale=0.5):\n    normalize = transforms.Normalize(\n        (0.48145466, 0.4578275, 0.40821073), (0.26862954, 0.26130258, 0.27577711)\n    )\n\n    transform_train = transforms.Compose(\n        [\n            transforms.RandomResizedCrop(\n                config[\"image_size\"],\n                scale=(min_scale, 1.0),\n                interpolation=InterpolationMode.BICUBIC,\n            ),\n            transforms.RandomHorizontalFlip(),\n            RandomAugment(\n                2,\n                5,\n                isPIL=True,\n                augs=[\n                    \"Identity\",\n                    \"AutoContrast\",\n                    \"Brightness\",\n                    \"Sharpness\",\n                    \"Equalize\",\n                    \"ShearX\",\n                    \"ShearY\",\n                    \"TranslateX\",\n                    \"TranslateY\",\n                    \"Rotate\",\n                ],\n            ),\n            transforms.ToTensor(),\n            normalize,\n        ]\n    )\n    transform_test = transforms.Compose(\n        [\n            transforms.Resize(\n                (config[\"image_size\"], config[\"image_size\"]),\n                interpolation=InterpolationMode.BICUBIC,\n            ),\n            transforms.ToTensor(),\n            normalize,\n        ]\n    )\n\n    if dataset == \"pretrain\":\n        dataset = pretrain_dataset(\n            config[\"train_file\"], config[\"laion_path\"], transform_train\n        )\n        return dataset\n\n    elif dataset == \"caption_coco\":\n        train_dataset = coco_karpathy_train(\n            transform_train,\n            config[\"image_root\"],\n            config[\"ann_root\"],\n            prompt=config[\"prompt\"],\n        )\n        val_dataset = coco_karpathy_caption_eval(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"val\"\n        )\n        test_dataset = coco_karpathy_caption_eval(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"test\"\n        )\n        return train_dataset, val_dataset, test_dataset\n\n    elif dataset == \"nocaps\":\n        val_dataset = nocaps_eval(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"val\"\n        )\n        test_dataset = nocaps_eval(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"test\"\n        )\n        return val_dataset, test_dataset\n\n    elif dataset == \"retrieval_coco\":\n        train_dataset = coco_karpathy_train(\n            transform_train, config[\"image_root\"], config[\"ann_root\"]\n        )\n        val_dataset = coco_karpathy_retrieval_eval(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"val\"\n        )\n        test_dataset = coco_karpathy_retrieval_eval(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"test\"\n        )\n        return train_dataset, val_dataset, test_dataset\n\n    elif dataset == \"retrieval_flickr\":\n        train_dataset = flickr30k_train(\n            transform_train, config[\"image_root\"], config[\"ann_root\"]\n        )\n        val_dataset = flickr30k_retrieval_eval(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"val\"\n        )\n        test_dataset = flickr30k_retrieval_eval(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"test\"\n        )\n        return train_dataset, val_dataset, test_dataset\n\n    elif dataset == \"vqa\":\n        train_dataset = vqa_dataset(\n            transform_train,\n            config[\"ann_root\"],\n            config[\"vqa_root\"],\n            config[\"vg_root\"],\n            train_files=config[\"train_files\"],\n            split=\"train\",\n        )\n        test_dataset = vqa_dataset(\n            transform_test,\n            config[\"ann_root\"],\n            config[\"vqa_root\"],\n            config[\"vg_root\"],\n            split=\"test\",\n        )\n        return train_dataset, test_dataset\n\n    elif dataset == \"nlvr\":\n        train_dataset = nlvr_dataset(\n            transform_train, config[\"image_root\"], config[\"ann_root\"], \"train\"\n        )\n        val_dataset = nlvr_dataset(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"val\"\n        )\n        test_dataset = nlvr_dataset(\n            transform_test, config[\"image_root\"], config[\"ann_root\"], \"test\"\n        )\n        return train_dataset, val_dataset, test_dataset\n\n\ndef create_sampler(datasets, shuffles, num_tasks, global_rank):\n    samplers = []\n    for dataset, shuffle in zip(datasets, shuffles):\n        sampler = torch.utils.data.DistributedSampler(\n            dataset, num_replicas=num_tasks, rank=global_rank, shuffle=shuffle\n        )\n        samplers.append(sampler)\n    return samplers\n\n\ndef create_loader(datasets, samplers, batch_size, num_workers, is_trains, collate_fns):\n    loaders = []\n    for dataset, sampler, bs, n_worker, is_train, collate_fn in zip(\n        datasets, samplers, batch_size, num_workers, is_trains, collate_fns\n    ):\n        if is_train:\n            shuffle = sampler is None\n            drop_last = True\n        else:\n            shuffle = False\n            drop_last = False\n        loader = DataLoader(\n            dataset,\n            batch_size=bs,\n            num_workers=n_worker,\n            pin_memory=True,\n            sampler=sampler,\n            shuffle=shuffle,\n            collate_fn=collate_fn,\n            drop_last=drop_last,\n        )\n        loaders.append(loader)\n    return loaders\n"
  },
  {
    "path": "ldm/data/base.py",
    "content": "from abc import abstractmethod\nfrom torch.utils.data import IterableDataset\n\n\nclass Txt2ImgIterableBaseDataset(IterableDataset):\n    \"\"\"\n    Define an interface to make the IterableDatasets for text2img data chainable\n    \"\"\"\n\n    def __init__(self, num_records=0, valid_ids=None, size=256):\n        super().__init__()\n        self.num_records = num_records\n        self.valid_ids = valid_ids\n        self.sample_ids = valid_ids\n        self.size = size\n\n        print(f\"{self.__class__.__name__} dataset contains {self.__len__()} examples.\")\n\n    def __len__(self):\n        return self.num_records\n\n    @abstractmethod\n    def __iter__(self):\n        pass\n"
  },
  {
    "path": "ldm/data/coco_karpathy_dataset.py",
    "content": "import os\nimport json\n\nfrom torch.utils.data import Dataset\nfrom torchvision.datasets.utils import download_url\n\nfrom PIL import Image\n\nfrom data.utils import pre_caption\n\n\nclass coco_karpathy_train(Dataset):\n    def __init__(self, transform, image_root, ann_root, max_words=30, prompt=\"\"):\n        \"\"\"\n        image_root (string): Root directory of images (e.g. coco/images/)\n        ann_root (string): directory to store the annotation file\n        \"\"\"\n        url = \"https://storage.googleapis.com/sfr-vision-language-research/datasets/coco_karpathy_train.json\"\n        filename = \"coco_karpathy_train.json\"\n\n        download_url(url, ann_root)\n\n        self.annotation = json.load(open(os.path.join(ann_root, filename), \"r\"))\n        self.transform = transform\n        self.image_root = image_root\n        self.max_words = max_words\n        self.prompt = prompt\n\n        self.img_ids = {}\n        n = 0\n        for ann in self.annotation:\n            img_id = ann[\"image_id\"]\n            if img_id not in self.img_ids.keys():\n                self.img_ids[img_id] = n\n                n += 1\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        ann = self.annotation[index]\n\n        image_path = os.path.join(self.image_root, ann[\"image\"])\n        image = Image.open(image_path).convert(\"RGB\")\n        image = self.transform(image)\n\n        caption = self.prompt + pre_caption(ann[\"caption\"], self.max_words)\n\n        return image, caption, self.img_ids[ann[\"image_id\"]]\n\n\nclass coco_karpathy_caption_eval(Dataset):\n    def __init__(self, transform, image_root, ann_root, split):\n        \"\"\"\n        image_root (string): Root directory of images (e.g. coco/images/)\n        ann_root (string): directory to store the annotation file\n        split (string): val or test\n        \"\"\"\n        urls = {\n            \"val\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/coco_karpathy_val.json\",\n            \"test\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/coco_karpathy_test.json\",\n        }\n        filenames = {\"val\": \"coco_karpathy_val.json\", \"test\": \"coco_karpathy_test.json\"}\n\n        download_url(urls[split], ann_root)\n\n        self.annotation = json.load(open(os.path.join(ann_root, filenames[split]), \"r\"))\n        self.transform = transform\n        self.image_root = image_root\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        ann = self.annotation[index]\n\n        image_path = os.path.join(self.image_root, ann[\"image\"])\n        image = Image.open(image_path).convert(\"RGB\")\n        image = self.transform(image)\n\n        img_id = ann[\"image\"].split(\"/\")[-1].strip(\".jpg\").split(\"_\")[-1]\n\n        return image, int(img_id)\n\n\nclass coco_karpathy_retrieval_eval(Dataset):\n    def __init__(self, transform, image_root, ann_root, split, max_words=30):\n        \"\"\"\n        image_root (string): Root directory of images (e.g. coco/images/)\n        ann_root (string): directory to store the annotation file\n        split (string): val or test\n        \"\"\"\n        urls = {\n            \"val\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/coco_karpathy_val.json\",\n            \"test\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/coco_karpathy_test.json\",\n        }\n        filenames = {\"val\": \"coco_karpathy_val.json\", \"test\": \"coco_karpathy_test.json\"}\n\n        download_url(urls[split], ann_root)\n\n        self.annotation = json.load(open(os.path.join(ann_root, filenames[split]), \"r\"))\n        self.transform = transform\n        self.image_root = image_root\n\n        self.text = []\n        self.image = []\n        self.txt2img = {}\n        self.img2txt = {}\n\n        txt_id = 0\n        for img_id, ann in enumerate(self.annotation):\n            self.image.append(ann[\"image\"])\n            self.img2txt[img_id] = []\n            for i, caption in enumerate(ann[\"caption\"]):\n                self.text.append(pre_caption(caption, max_words))\n                self.img2txt[img_id].append(txt_id)\n                self.txt2img[txt_id] = img_id\n                txt_id += 1\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        image_path = os.path.join(self.image_root, self.annotation[index][\"image\"])\n        image = Image.open(image_path).convert(\"RGB\")\n        image = self.transform(image)\n\n        return image, index\n"
  },
  {
    "path": "ldm/data/flickr30k_dataset.py",
    "content": "import os\nimport json\n\nfrom torch.utils.data import Dataset\nfrom torchvision.datasets.utils import download_url\n\nfrom PIL import Image\n\nfrom data.utils import pre_caption\n\n\nclass flickr30k_train(Dataset):\n    def __init__(self, transform, image_root, ann_root, max_words=30, prompt=\"\"):\n        \"\"\"\n        image_root (string): Root directory of images (e.g. flickr30k/)\n        ann_root (string): directory to store the annotation file\n        \"\"\"\n        url = \"https://storage.googleapis.com/sfr-vision-language-research/datasets/flickr30k_train.json\"\n        filename = \"flickr30k_train.json\"\n\n        download_url(url, ann_root)\n\n        self.annotation = json.load(open(os.path.join(ann_root, filename), \"r\"))\n        self.transform = transform\n        self.image_root = image_root\n        self.max_words = max_words\n        self.prompt = prompt\n\n        self.img_ids = {}\n        n = 0\n        for ann in self.annotation:\n            img_id = ann[\"image_id\"]\n            if img_id not in self.img_ids.keys():\n                self.img_ids[img_id] = n\n                n += 1\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        ann = self.annotation[index]\n\n        image_path = os.path.join(self.image_root, ann[\"image\"])\n        image = Image.open(image_path).convert(\"RGB\")\n        image = self.transform(image)\n\n        caption = self.prompt + pre_caption(ann[\"caption\"], self.max_words)\n\n        return image, caption, self.img_ids[ann[\"image_id\"]]\n\n\nclass flickr30k_retrieval_eval(Dataset):\n    def __init__(self, transform, image_root, ann_root, split, max_words=30):\n        \"\"\"\n        image_root (string): Root directory of images (e.g. flickr30k/)\n        ann_root (string): directory to store the annotation file\n        split (string): val or test\n        \"\"\"\n        urls = {\n            \"val\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/flickr30k_val.json\",\n            \"test\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/flickr30k_test.json\",\n        }\n        filenames = {\"val\": \"flickr30k_val.json\", \"test\": \"flickr30k_test.json\"}\n\n        download_url(urls[split], ann_root)\n\n        self.annotation = json.load(open(os.path.join(ann_root, filenames[split]), \"r\"))\n        self.transform = transform\n        self.image_root = image_root\n\n        self.text = []\n        self.image = []\n        self.txt2img = {}\n        self.img2txt = {}\n\n        txt_id = 0\n        for img_id, ann in enumerate(self.annotation):\n            self.image.append(ann[\"image\"])\n            self.img2txt[img_id] = []\n            for i, caption in enumerate(ann[\"caption\"]):\n                self.text.append(pre_caption(caption, max_words))\n                self.img2txt[img_id].append(txt_id)\n                self.txt2img[txt_id] = img_id\n                txt_id += 1\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        image_path = os.path.join(self.image_root, self.annotation[index][\"image\"])\n        image = Image.open(image_path).convert(\"RGB\")\n        image = self.transform(image)\n\n        return image, index\n"
  },
  {
    "path": "ldm/data/imagenet.py",
    "content": "import os, yaml, pickle, shutil, tarfile, glob\nimport cv2\nimport albumentations\nimport PIL\nimport numpy as np\nimport torchvision.transforms.functional as TF\nfrom omegaconf import OmegaConf\nfrom functools import partial\nfrom PIL import Image\nfrom tqdm import tqdm\nfrom torch.utils.data import Dataset, Subset\n\nimport taming.data.utils as tdu\nfrom taming.data.imagenet import (\n    str_to_indices,\n    give_synsets_from_indices,\n    download,\n    retrieve,\n)\nfrom taming.data.imagenet import ImagePaths\n\nfrom ldm.modules.image_degradation import degradation_fn_bsr, degradation_fn_bsr_light\n\n\ndef synset2idx(path_to_yaml=\"data/index_synset.yaml\"):\n    with open(path_to_yaml) as f:\n        di2s = yaml.load(f)\n    return dict((v, k) for k, v in di2s.items())\n\n\nclass ImageNetBase(Dataset):\n    def __init__(self, config=None):\n        self.config = config or OmegaConf.create()\n        if not type(self.config) == dict:\n            self.config = OmegaConf.to_container(self.config)\n        self.keep_orig_class_label = self.config.get(\"keep_orig_class_label\", False)\n        self.process_images = True  # if False we skip loading & processing images and self.data contains filepaths\n        self._prepare()\n        self._prepare_synset_to_human()\n        self._prepare_idx_to_synset()\n        self._prepare_human_to_integer_label()\n        self._load()\n\n    def __len__(self):\n        return len(self.data)\n\n    def __getitem__(self, i):\n        return self.data[i]\n\n    def _prepare(self):\n        raise NotImplementedError()\n\n    def _filter_relpaths(self, relpaths):\n        ignore = set(\n            [\n                \"n06596364_9591.JPEG\",\n            ]\n        )\n        relpaths = [rpath for rpath in relpaths if rpath.split(\"/\")[-1] not in ignore]\n        if \"sub_indices\" in self.config:\n            indices = str_to_indices(self.config[\"sub_indices\"])\n            synsets = give_synsets_from_indices(\n                indices, path_to_yaml=self.idx2syn\n            )  # returns a list of strings\n            self.synset2idx = synset2idx(path_to_yaml=self.idx2syn)\n            files = []\n            for rpath in relpaths:\n                syn = rpath.split(\"/\")[0]\n                if syn in synsets:\n                    files.append(rpath)\n            return files\n        else:\n            return relpaths\n\n    def _prepare_synset_to_human(self):\n        SIZE = 2655750\n        URL = \"https://heibox.uni-heidelberg.de/f/9f28e956cd304264bb82/?dl=1\"\n        self.human_dict = os.path.join(self.root, \"synset_human.txt\")\n        if (\n            not os.path.exists(self.human_dict)\n            or not os.path.getsize(self.human_dict) == SIZE\n        ):\n            download(URL, self.human_dict)\n\n    def _prepare_idx_to_synset(self):\n        URL = \"https://heibox.uni-heidelberg.de/f/d835d5b6ceda4d3aa910/?dl=1\"\n        self.idx2syn = os.path.join(self.root, \"index_synset.yaml\")\n        if not os.path.exists(self.idx2syn):\n            download(URL, self.idx2syn)\n\n    def _prepare_human_to_integer_label(self):\n        URL = \"https://heibox.uni-heidelberg.de/f/2362b797d5be43b883f6/?dl=1\"\n        self.human2integer = os.path.join(\n            self.root, \"imagenet1000_clsidx_to_labels.txt\"\n        )\n        if not os.path.exists(self.human2integer):\n            download(URL, self.human2integer)\n        with open(self.human2integer, \"r\") as f:\n            lines = f.read().splitlines()\n            assert len(lines) == 1000\n            self.human2integer_dict = dict()\n            for line in lines:\n                value, key = line.split(\":\")\n                self.human2integer_dict[key] = int(value)\n\n    def _load(self):\n        with open(self.txt_filelist, \"r\") as f:\n            self.relpaths = f.read().splitlines()\n            l1 = len(self.relpaths)\n            self.relpaths = self._filter_relpaths(self.relpaths)\n            print(\n                \"Removed {} files from filelist during filtering.\".format(\n                    l1 - len(self.relpaths)\n                )\n            )\n\n        self.synsets = [p.split(\"/\")[0] for p in self.relpaths]\n        self.abspaths = [os.path.join(self.datadir, p) for p in self.relpaths]\n\n        unique_synsets = np.unique(self.synsets)\n        class_dict = dict((synset, i) for i, synset in enumerate(unique_synsets))\n        if not self.keep_orig_class_label:\n            self.class_labels = [class_dict[s] for s in self.synsets]\n        else:\n            self.class_labels = [self.synset2idx[s] for s in self.synsets]\n\n        with open(self.human_dict, \"r\") as f:\n            human_dict = f.read().splitlines()\n            human_dict = dict(line.split(maxsplit=1) for line in human_dict)\n\n        self.human_labels = [human_dict[s] for s in self.synsets]\n\n        labels = {\n            \"relpath\": np.array(self.relpaths),\n            \"synsets\": np.array(self.synsets),\n            \"class_label\": np.array(self.class_labels),\n            \"human_label\": np.array(self.human_labels),\n        }\n\n        if self.process_images:\n            self.size = retrieve(self.config, \"size\", default=256)\n            self.data = ImagePaths(\n                self.abspaths,\n                labels=labels,\n                size=self.size,\n                random_crop=self.random_crop,\n            )\n        else:\n            self.data = self.abspaths\n\n\nclass ImageNetTrain(ImageNetBase):\n    NAME = \"ILSVRC2012_train\"\n    URL = \"http://www.image-net.org/challenges/LSVRC/2012/\"\n    AT_HASH = \"a306397ccf9c2ead27155983c254227c0fd938e2\"\n    FILES = [\n        \"ILSVRC2012_img_train.tar\",\n    ]\n    SIZES = [\n        147897477120,\n    ]\n\n    def __init__(self, process_images=True, data_root=None, **kwargs):\n        self.process_images = process_images\n        self.data_root = data_root\n        super().__init__(**kwargs)\n\n    def _prepare(self):\n        if self.data_root:\n            self.root = os.path.join(self.data_root, self.NAME)\n        else:\n            cachedir = os.environ.get(\"XDG_CACHE_HOME\", os.path.expanduser(\"~/.cache\"))\n            self.root = os.path.join(cachedir, \"autoencoders/data\", self.NAME)\n\n        self.datadir = os.path.join(self.root, \"data\")\n        self.txt_filelist = os.path.join(self.root, \"filelist.txt\")\n        self.expected_length = 1281167\n        self.random_crop = retrieve(\n            self.config, \"ImageNetTrain/random_crop\", default=True\n        )\n        if not tdu.is_prepared(self.root):\n            # prep\n            print(\"Preparing dataset {} in {}\".format(self.NAME, self.root))\n\n            datadir = self.datadir\n            if not os.path.exists(datadir):\n                path = os.path.join(self.root, self.FILES[0])\n                if (\n                    not os.path.exists(path)\n                    or not os.path.getsize(path) == self.SIZES[0]\n                ):\n                    import academictorrents as at\n\n                    atpath = at.get(self.AT_HASH, datastore=self.root)\n                    assert atpath == path\n\n                print(\"Extracting {} to {}\".format(path, datadir))\n                os.makedirs(datadir, exist_ok=True)\n                with tarfile.open(path, \"r:\") as tar:\n                    tar.extractall(path=datadir)\n\n                print(\"Extracting sub-tars.\")\n                subpaths = sorted(glob.glob(os.path.join(datadir, \"*.tar\")))\n                for subpath in tqdm(subpaths):\n                    subdir = subpath[: -len(\".tar\")]\n                    os.makedirs(subdir, exist_ok=True)\n                    with tarfile.open(subpath, \"r:\") as tar:\n                        tar.extractall(path=subdir)\n\n            filelist = glob.glob(os.path.join(datadir, \"**\", \"*.JPEG\"))\n            filelist = [os.path.relpath(p, start=datadir) for p in filelist]\n            filelist = sorted(filelist)\n            filelist = \"\\n\".join(filelist) + \"\\n\"\n            with open(self.txt_filelist, \"w\") as f:\n                f.write(filelist)\n\n            tdu.mark_prepared(self.root)\n\n\nclass ImageNetValidation(ImageNetBase):\n    NAME = \"ILSVRC2012_validation\"\n    URL = \"http://www.image-net.org/challenges/LSVRC/2012/\"\n    AT_HASH = \"5d6d0df7ed81efd49ca99ea4737e0ae5e3a5f2e5\"\n    VS_URL = \"https://heibox.uni-heidelberg.de/f/3e0f6e9c624e45f2bd73/?dl=1\"\n    FILES = [\n        \"ILSVRC2012_img_val.tar\",\n        \"validation_synset.txt\",\n    ]\n    SIZES = [\n        6744924160,\n        1950000,\n    ]\n\n    def __init__(self, process_images=True, data_root=None, **kwargs):\n        self.data_root = data_root\n        self.process_images = process_images\n        super().__init__(**kwargs)\n\n    def _prepare(self):\n        if self.data_root:\n            self.root = os.path.join(self.data_root, self.NAME)\n        else:\n            cachedir = os.environ.get(\"XDG_CACHE_HOME\", os.path.expanduser(\"~/.cache\"))\n            self.root = os.path.join(cachedir, \"autoencoders/data\", self.NAME)\n        self.datadir = os.path.join(self.root, \"data\")\n        self.txt_filelist = os.path.join(self.root, \"filelist.txt\")\n        self.expected_length = 50000\n        self.random_crop = retrieve(\n            self.config, \"ImageNetValidation/random_crop\", default=False\n        )\n        if not tdu.is_prepared(self.root):\n            # prep\n            print(\"Preparing dataset {} in {}\".format(self.NAME, self.root))\n\n            datadir = self.datadir\n            if not os.path.exists(datadir):\n                path = os.path.join(self.root, self.FILES[0])\n                if (\n                    not os.path.exists(path)\n                    or not os.path.getsize(path) == self.SIZES[0]\n                ):\n                    import academictorrents as at\n\n                    atpath = at.get(self.AT_HASH, datastore=self.root)\n                    assert atpath == path\n\n                print(\"Extracting {} to {}\".format(path, datadir))\n                os.makedirs(datadir, exist_ok=True)\n                with tarfile.open(path, \"r:\") as tar:\n                    tar.extractall(path=datadir)\n\n                vspath = os.path.join(self.root, self.FILES[1])\n                if (\n                    not os.path.exists(vspath)\n                    or not os.path.getsize(vspath) == self.SIZES[1]\n                ):\n                    download(self.VS_URL, vspath)\n\n                with open(vspath, \"r\") as f:\n                    synset_dict = f.read().splitlines()\n                    synset_dict = dict(line.split() for line in synset_dict)\n\n                print(\"Reorganizing into synset folders\")\n                synsets = np.unique(list(synset_dict.values()))\n                for s in synsets:\n                    os.makedirs(os.path.join(datadir, s), exist_ok=True)\n                for k, v in synset_dict.items():\n                    src = os.path.join(datadir, k)\n                    dst = os.path.join(datadir, v)\n                    shutil.move(src, dst)\n\n            filelist = glob.glob(os.path.join(datadir, \"**\", \"*.JPEG\"))\n            filelist = [os.path.relpath(p, start=datadir) for p in filelist]\n            filelist = sorted(filelist)\n            filelist = \"\\n\".join(filelist) + \"\\n\"\n            with open(self.txt_filelist, \"w\") as f:\n                f.write(filelist)\n\n            tdu.mark_prepared(self.root)\n\n\nclass ImageNetSR(Dataset):\n    def __init__(\n        self,\n        size=None,\n        degradation=None,\n        downscale_f=4,\n        min_crop_f=0.5,\n        max_crop_f=1.0,\n        random_crop=True,\n    ):\n        \"\"\"\n        Imagenet Superresolution Dataloader\n        Performs following ops in order:\n        1.  crops a crop of size s from image either as random or center crop\n        2.  resizes crop to size with cv2.area_interpolation\n        3.  degrades resized crop with degradation_fn\n\n        :param size: resizing to size after cropping\n        :param degradation: degradation_fn, e.g. cv_bicubic or bsrgan_light\n        :param downscale_f: Low Resolution Downsample factor\n        :param min_crop_f: determines crop size s,\n          where s = c * min_img_side_len with c sampled from interval (min_crop_f, max_crop_f)\n        :param max_crop_f: \"\"\n        :param data_root:\n        :param random_crop:\n        \"\"\"\n        self.base = self.get_base()\n        assert size\n        assert (size / downscale_f).is_integer()\n        self.size = size\n        self.LR_size = int(size / downscale_f)\n        self.min_crop_f = min_crop_f\n        self.max_crop_f = max_crop_f\n        assert max_crop_f <= 1.0\n        self.center_crop = not random_crop\n\n        self.image_rescaler = albumentations.SmallestMaxSize(\n            max_size=size, interpolation=cv2.INTER_AREA\n        )\n\n        self.pil_interpolation = (\n            False  # gets reset later if incase interp_op is from pillow\n        )\n\n        if degradation == \"bsrgan\":\n            self.degradation_process = partial(degradation_fn_bsr, sf=downscale_f)\n\n        elif degradation == \"bsrgan_light\":\n            self.degradation_process = partial(degradation_fn_bsr_light, sf=downscale_f)\n\n        else:\n            interpolation_fn = {\n                \"cv_nearest\": cv2.INTER_NEAREST,\n                \"cv_bilinear\": cv2.INTER_LINEAR,\n                \"cv_bicubic\": cv2.INTER_CUBIC,\n                \"cv_area\": cv2.INTER_AREA,\n                \"cv_lanczos\": cv2.INTER_LANCZOS4,\n                \"pil_nearest\": PIL.Image.NEAREST,\n                \"pil_bilinear\": PIL.Image.BILINEAR,\n                \"pil_bicubic\": PIL.Image.BICUBIC,\n                \"pil_box\": PIL.Image.BOX,\n                \"pil_hamming\": PIL.Image.HAMMING,\n                \"pil_lanczos\": PIL.Image.LANCZOS,\n            }[degradation]\n\n            self.pil_interpolation = degradation.startswith(\"pil_\")\n\n            if self.pil_interpolation:\n                self.degradation_process = partial(\n                    TF.resize, size=self.LR_size, interpolation=interpolation_fn\n                )\n\n            else:\n                self.degradation_process = albumentations.SmallestMaxSize(\n                    max_size=self.LR_size, interpolation=interpolation_fn\n                )\n\n    def __len__(self):\n        return len(self.base)\n\n    def __getitem__(self, i):\n        example = self.base[i]\n        image = Image.open(example[\"file_path_\"])\n\n        if not image.mode == \"RGB\":\n            image = image.convert(\"RGB\")\n\n        image = np.array(image).astype(np.uint8)\n\n        min_side_len = min(image.shape[:2])\n        crop_side_len = min_side_len * np.random.uniform(\n            self.min_crop_f, self.max_crop_f, size=None\n        )\n        crop_side_len = int(crop_side_len)\n\n        if self.center_crop:\n            self.cropper = albumentations.CenterCrop(\n                height=crop_side_len, width=crop_side_len\n            )\n\n        else:\n            self.cropper = albumentations.RandomCrop(\n                height=crop_side_len, width=crop_side_len\n            )\n\n        image = self.cropper(image=image)[\"image\"]\n        image = self.image_rescaler(image=image)[\"image\"]\n\n        if self.pil_interpolation:\n            image_pil = PIL.Image.fromarray(image)\n            LR_image = self.degradation_process(image_pil)\n            LR_image = np.array(LR_image).astype(np.uint8)\n\n        else:\n            LR_image = self.degradation_process(image=image)[\"image\"]\n\n        example[\"image\"] = (image / 127.5 - 1.0).astype(np.float32)\n        example[\"LR_image\"] = (LR_image / 127.5 - 1.0).astype(np.float32)\n\n        return example\n\n\nclass ImageNetSRTrain(ImageNetSR):\n    def __init__(self, **kwargs):\n        super().__init__(**kwargs)\n\n    def get_base(self):\n        with open(\"data/imagenet_train_hr_indices.p\", \"rb\") as f:\n            indices = pickle.load(f)\n        dset = ImageNetTrain(\n            process_images=False,\n        )\n        return Subset(dset, indices)\n\n\nclass ImageNetSRValidation(ImageNetSR):\n    def __init__(self, **kwargs):\n        super().__init__(**kwargs)\n\n    def get_base(self):\n        with open(\"data/imagenet_val_hr_indices.p\", \"rb\") as f:\n            indices = pickle.load(f)\n        dset = ImageNetValidation(\n            process_images=False,\n        )\n        return Subset(dset, indices)\n"
  },
  {
    "path": "ldm/data/lsun.py",
    "content": "import os\nimport numpy as np\nimport PIL\nfrom PIL import Image\nfrom torch.utils.data import Dataset\nfrom torchvision import transforms\n\n\nclass LSUNBase(Dataset):\n    def __init__(\n        self, txt_file, data_root, size=None, interpolation=\"bicubic\", flip_p=0.5\n    ):\n        self.data_paths = txt_file\n        self.data_root = data_root\n        with open(self.data_paths, \"r\") as f:\n            self.image_paths = f.read().splitlines()\n        self._length = len(self.image_paths)\n        self.labels = {\n            \"relative_file_path_\": [l for l in self.image_paths],\n            \"file_path_\": [os.path.join(self.data_root, l) for l in self.image_paths],\n        }\n\n        self.size = size\n        self.interpolation = {\n            \"linear\": PIL.Image.LINEAR,\n            \"bilinear\": PIL.Image.BILINEAR,\n            \"bicubic\": PIL.Image.BICUBIC,\n            \"lanczos\": PIL.Image.LANCZOS,\n        }[interpolation]\n        self.flip = transforms.RandomHorizontalFlip(p=flip_p)\n\n    def __len__(self):\n        return self._length\n\n    def __getitem__(self, i):\n        example = dict((k, self.labels[k][i]) for k in self.labels)\n        image = Image.open(example[\"file_path_\"])\n        if not image.mode == \"RGB\":\n            image = image.convert(\"RGB\")\n\n        # default to score-sde preprocessing\n        img = np.array(image).astype(np.uint8)\n        crop = min(img.shape[0], img.shape[1])\n        (\n            h,\n            w,\n        ) = (\n            img.shape[0],\n            img.shape[1],\n        )\n        img = img[(h - crop) // 2 : (h + crop) // 2, (w - crop) // 2 : (w + crop) // 2]\n\n        image = Image.fromarray(img)\n        if self.size is not None:\n            image = image.resize((self.size, self.size), resample=self.interpolation)\n\n        image = self.flip(image)\n        image = np.array(image).astype(np.uint8)\n        example[\"image\"] = (image / 127.5 - 1.0).astype(np.float32)\n        return example\n\n\nclass LSUNChurchesTrain(LSUNBase):\n    def __init__(self, **kwargs):\n        super().__init__(\n            txt_file=\"data/lsun/church_outdoor_train.txt\",\n            data_root=\"data/lsun/churches\",\n            **kwargs\n        )\n\n\nclass LSUNChurchesValidation(LSUNBase):\n    def __init__(self, flip_p=0.0, **kwargs):\n        super().__init__(\n            txt_file=\"data/lsun/church_outdoor_val.txt\",\n            data_root=\"data/lsun/churches\",\n            flip_p=flip_p,\n            **kwargs\n        )\n\n\nclass LSUNBedroomsTrain(LSUNBase):\n    def __init__(self, **kwargs):\n        super().__init__(\n            txt_file=\"data/lsun/bedrooms_train.txt\",\n            data_root=\"data/lsun/bedrooms\",\n            **kwargs\n        )\n\n\nclass LSUNBedroomsValidation(LSUNBase):\n    def __init__(self, flip_p=0.0, **kwargs):\n        super().__init__(\n            txt_file=\"data/lsun/bedrooms_val.txt\",\n            data_root=\"data/lsun/bedrooms\",\n            flip_p=flip_p,\n            **kwargs\n        )\n\n\nclass LSUNCatsTrain(LSUNBase):\n    def __init__(self, **kwargs):\n        super().__init__(\n            txt_file=\"data/lsun/cat_train.txt\", data_root=\"data/lsun/cats\", **kwargs\n        )\n\n\nclass LSUNCatsValidation(LSUNBase):\n    def __init__(self, flip_p=0.0, **kwargs):\n        super().__init__(\n            txt_file=\"data/lsun/cat_val.txt\",\n            data_root=\"data/lsun/cats\",\n            flip_p=flip_p,\n            **kwargs\n        )\n"
  },
  {
    "path": "ldm/data/nlvr_dataset.py",
    "content": "import os\nimport json\nimport random\n\nfrom torch.utils.data import Dataset\nfrom torchvision.datasets.utils import download_url\n\nfrom PIL import Image\n\nfrom data.utils import pre_caption\n\n\nclass nlvr_dataset(Dataset):\n    def __init__(self, transform, image_root, ann_root, split):\n        \"\"\"\n        image_root (string): Root directory of images\n        ann_root (string): directory to store the annotation file\n        split (string): train, val or test\n        \"\"\"\n        urls = {\n            \"train\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/nlvr_train.json\",\n            \"val\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/nlvr_dev.json\",\n            \"test\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/nlvr_test.json\",\n        }\n        filenames = {\n            \"train\": \"nlvr_train.json\",\n            \"val\": \"nlvr_dev.json\",\n            \"test\": \"nlvr_test.json\",\n        }\n\n        download_url(urls[split], ann_root)\n        self.annotation = json.load(open(os.path.join(ann_root, filenames[split]), \"r\"))\n\n        self.transform = transform\n        self.image_root = image_root\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        ann = self.annotation[index]\n\n        image0_path = os.path.join(self.image_root, ann[\"images\"][0])\n        image0 = Image.open(image0_path).convert(\"RGB\")\n        image0 = self.transform(image0)\n\n        image1_path = os.path.join(self.image_root, ann[\"images\"][1])\n        image1 = Image.open(image1_path).convert(\"RGB\")\n        image1 = self.transform(image1)\n\n        sentence = pre_caption(ann[\"sentence\"], 40)\n\n        if ann[\"label\"] == \"True\":\n            label = 1\n        else:\n            label = 0\n\n        words = sentence.split(\" \")\n\n        if \"left\" not in words and \"right\" not in words:\n            if random.random() < 0.5:\n                return image0, image1, sentence, label\n            else:\n                return image1, image0, sentence, label\n        else:\n            if random.random() < 0.5:\n                return image0, image1, sentence, label\n            else:\n                new_words = []\n                for word in words:\n                    if word == \"left\":\n                        new_words.append(\"right\")\n                    elif word == \"right\":\n                        new_words.append(\"left\")\n                    else:\n                        new_words.append(word)\n\n                sentence = \" \".join(new_words)\n                return image1, image0, sentence, label\n"
  },
  {
    "path": "ldm/data/nocaps_dataset.py",
    "content": "import os\nimport json\n\nfrom torch.utils.data import Dataset\nfrom torchvision.datasets.utils import download_url\n\nfrom PIL import Image\n\n\nclass nocaps_eval(Dataset):\n    def __init__(self, transform, image_root, ann_root, split):\n        urls = {\n            \"val\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/nocaps_val.json\",\n            \"test\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/nocaps_test.json\",\n        }\n        filenames = {\"val\": \"nocaps_val.json\", \"test\": \"nocaps_test.json\"}\n\n        download_url(urls[split], ann_root)\n\n        self.annotation = json.load(open(os.path.join(ann_root, filenames[split]), \"r\"))\n        self.transform = transform\n        self.image_root = image_root\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        ann = self.annotation[index]\n\n        image_path = os.path.join(self.image_root, ann[\"image\"])\n        image = Image.open(image_path).convert(\"RGB\")\n        image = self.transform(image)\n\n        return image, int(ann[\"img_id\"])\n"
  },
  {
    "path": "ldm/data/personalized.py",
    "content": "import os\nimport numpy as np\nimport PIL\nfrom PIL import Image\nfrom torch.utils.data import Dataset\nfrom torchvision import transforms\n\nimport random\n\nimagenet_templates_smallest = [\n    \"a photo of a {}\",\n]\n\nimagenet_templates_small = [\n    \"a photo of a {}\",\n    \"a rendering of a {}\",\n    \"a cropped photo of the {}\",\n    \"the photo of a {}\",\n    \"a photo of a clean {}\",\n    \"a photo of a dirty {}\",\n    \"a dark photo of the {}\",\n    \"a photo of my {}\",\n    \"a photo of the cool {}\",\n    \"a close-up photo of a {}\",\n    \"a bright photo of the {}\",\n    \"a cropped photo of a {}\",\n    \"a photo of the {}\",\n    \"a good photo of the {}\",\n    \"a photo of one {}\",\n    \"a close-up photo of the {}\",\n    \"a rendition of the {}\",\n    \"a photo of the clean {}\",\n    \"a rendition of a {}\",\n    \"a photo of a nice {}\",\n    \"a good photo of a {}\",\n    \"a photo of the nice {}\",\n    \"a photo of the small {}\",\n    \"a photo of the weird {}\",\n    \"a photo of the large {}\",\n    \"a photo of a cool {}\",\n    \"a photo of a small {}\",\n]\n\nimagenet_dual_templates_small = [\n    \"a photo of a {} with {}\",\n    \"a rendering of a {} with {}\",\n    \"a cropped photo of the {} with {}\",\n    \"the photo of a {} with {}\",\n    \"a photo of a clean {} with {}\",\n    \"a photo of a dirty {} with {}\",\n    \"a dark photo of the {} with {}\",\n    \"a photo of my {} with {}\",\n    \"a photo of the cool {} with {}\",\n    \"a close-up photo of a {} with {}\",\n    \"a bright photo of the {} with {}\",\n    \"a cropped photo of a {} with {}\",\n    \"a photo of the {} with {}\",\n    \"a good photo of the {} with {}\",\n    \"a photo of one {} with {}\",\n    \"a close-up photo of the {} with {}\",\n    \"a rendition of the {} with {}\",\n    \"a photo of the clean {} with {}\",\n    \"a rendition of a {} with {}\",\n    \"a photo of a nice {} with {}\",\n    \"a good photo of a {} with {}\",\n    \"a photo of the nice {} with {}\",\n    \"a photo of the small {} with {}\",\n    \"a photo of the weird {} with {}\",\n    \"a photo of the large {} with {}\",\n    \"a photo of a cool {} with {}\",\n    \"a photo of a small {} with {}\",\n]\n\nper_img_token_list = [\n    \"א\",\n    \"ב\",\n    \"ג\",\n    \"ד\",\n    \"ה\",\n    \"ו\",\n    \"ז\",\n    \"ח\",\n    \"ט\",\n    \"י\",\n    \"כ\",\n    \"ל\",\n    \"מ\",\n    \"נ\",\n    \"ס\",\n    \"ע\",\n    \"פ\",\n    \"צ\",\n    \"ק\",\n    \"ר\",\n    \"ש\",\n    \"ת\",\n]\n\n\nclass PersonalizedBase(Dataset):\n    def __init__(\n        self,\n        data_root,\n        size=None,\n        repeats=100,\n        interpolation=\"bicubic\",\n        flip_p=0.5,\n        set=\"train\",\n        placeholder_token=\"*\",\n        per_image_tokens=False,\n        center_crop=False,\n        mixing_prob=0.25,\n        coarse_class_text=None,\n    ):\n        self.data_root = data_root\n\n        self.image_paths = [\n            os.path.join(self.data_root, file_path)\n            for file_path in os.listdir(self.data_root)\n        ]\n\n        # self._length = len(self.image_paths)\n        self.num_images = len(self.image_paths)\n        self._length = self.num_images\n\n        self.placeholder_token = placeholder_token\n\n        self.per_image_tokens = per_image_tokens\n        self.center_crop = center_crop\n        self.mixing_prob = mixing_prob\n\n        self.coarse_class_text = coarse_class_text\n\n        if per_image_tokens:\n            assert self.num_images < len(\n                per_img_token_list\n            ), f\"Can't use per-image tokens when the training set contains more than {len(per_img_token_list)} tokens. To enable larger sets, add more tokens to 'per_img_token_list'.\"\n\n        if set == \"train\":\n            self._length = self.num_images * repeats\n\n        self.size = size\n        self.interpolation = {\n            \"linear\": PIL.Image.LINEAR,\n            \"bilinear\": PIL.Image.BILINEAR,\n            \"bicubic\": PIL.Image.BICUBIC,\n            \"lanczos\": PIL.Image.LANCZOS,\n        }[interpolation]\n        self.flip = transforms.RandomHorizontalFlip(p=flip_p)\n\n    def __len__(self):\n        return self._length\n\n    def __getitem__(self, i):\n        example = {}\n        image = Image.open(self.image_paths[i % self.num_images])\n\n        if not image.mode == \"RGB\":\n            image = image.convert(\"RGB\")\n\n        placeholder_string = self.placeholder_token\n        if self.coarse_class_text:\n            placeholder_string = f\"{self.coarse_class_text} {placeholder_string}\"\n\n        if self.per_image_tokens and np.random.uniform() < self.mixing_prob:\n            text = random.choice(imagenet_dual_templates_small).format(\n                placeholder_string, per_img_token_list[i % self.num_images]\n            )\n        else:\n            text = random.choice(imagenet_templates_small).format(placeholder_string)\n\n        example[\"caption\"] = text\n\n        # default to score-sde preprocessing\n        img = np.array(image).astype(np.uint8)\n\n        if self.center_crop:\n            crop = min(img.shape[0], img.shape[1])\n            (\n                h,\n                w,\n            ) = (\n                img.shape[0],\n                img.shape[1],\n            )\n            img = img[\n                (h - crop) // 2 : (h + crop) // 2,\n                (w - crop) // 2 : (w + crop) // 2,\n            ]\n\n        image = Image.fromarray(img)\n        if self.size is not None:\n            image = image.resize((self.size, self.size), resample=self.interpolation)\n\n        image = self.flip(image)\n        image = np.array(image).astype(np.uint8)\n        example[\"image\"] = (image / 127.5 - 1.0).astype(np.float32)\n        return example\n"
  },
  {
    "path": "ldm/data/personalized_file.py",
    "content": "import os\nimport numpy as np\nimport PIL\nfrom PIL import Image\nfrom torch.utils.data import Dataset\nfrom torchvision import transforms\n\nimport random\n\nimagenet_templates_small = [\n    \"a painting in the style of {}\",\n    \"a rendering in the style of {}\",\n    \"a cropped painting in the style of {}\",\n    \"the painting in the style of {}\",\n    \"a clean painting in the style of {}\",\n    \"a dirty painting in the style of {}\",\n    \"a dark painting in the style of {}\",\n    \"a picture in the style of {}\",\n    \"a cool painting in the style of {}\",\n    \"a close-up painting in the style of {}\",\n    \"a bright painting in the style of {}\",\n    \"a cropped painting in the style of {}\",\n    \"a good painting in the style of {}\",\n    \"a close-up painting in the style of {}\",\n    \"a rendition in the style of {}\",\n    \"a nice painting in the style of {}\",\n    \"a small painting in the style of {}\",\n    \"a weird painting in the style of {}\",\n    \"a large painting in the style of {}\",\n]\n\nimagenet_dual_templates_small = [\n    \"a painting in the style of {} with {}\",\n    \"a rendering in the style of {} with {}\",\n    \"a cropped painting in the style of {} with {}\",\n    \"the painting in the style of {} with {}\",\n    \"a clean painting in the style of {} with {}\",\n    \"a dirty painting in the style of {} with {}\",\n    \"a dark painting in the style of {} with {}\",\n    \"a cool painting in the style of {} with {}\",\n    \"a close-up painting in the style of {} with {}\",\n    \"a bright painting in the style of {} with {}\",\n    \"a cropped painting in the style of {} with {}\",\n    \"a good painting in the style of {} with {}\",\n    \"a painting of one {} in the style of {}\",\n    \"a nice painting in the style of {} with {}\",\n    \"a small painting in the style of {} with {}\",\n    \"a weird painting in the style of {} with {}\",\n    \"a large painting in the style of {} with {}\",\n]\n\nper_img_token_list = [\n    \"א\",\n    \"ב\",\n    \"ג\",\n    \"ד\",\n    \"ה\",\n    \"ו\",\n    \"ז\",\n    \"ח\",\n    \"ט\",\n    \"י\",\n    \"כ\",\n    \"ל\",\n    \"מ\",\n    \"נ\",\n    \"ס\",\n    \"ע\",\n    \"פ\",\n    \"צ\",\n    \"ק\",\n    \"ר\",\n    \"ש\",\n    \"ת\",\n]\n\n\nclass PersonalizedBase(Dataset):\n    def __init__(\n        self,\n        data_root,\n        size=None,\n        repeats=100,\n        interpolation=\"bicubic\",\n        flip_p=0.5,\n        set=\"train\",\n        placeholder_token=\"*\",\n        per_image_tokens=False,\n        center_crop=False,\n    ):\n        self.data_root = data_root\n\n        self.image_paths = [\n            os.path.join(self.data_root, file_path)\n            for file_path in os.listdir(self.data_root)\n        ]\n\n        # self._length = len(self.image_paths)\n        self.num_images = len(self.image_paths)\n        self._length = self.num_images\n\n        self.placeholder_token = placeholder_token\n\n        self.per_image_tokens = per_image_tokens\n        self.center_crop = center_crop\n\n        if per_image_tokens:\n            assert self.num_images < len(\n                per_img_token_list\n            ), f\"Can't use per-image tokens when the training set contains more than {len(per_img_token_list)} tokens. To enable larger sets, add more tokens to 'per_img_token_list'.\"\n\n        if set == \"train\":\n            self._length = self.num_images * repeats\n\n        self.size = size\n        self.interpolation = {\n            \"linear\": PIL.Image.LINEAR,\n            \"bilinear\": PIL.Image.BILINEAR,\n            \"bicubic\": PIL.Image.BICUBIC,\n            \"lanczos\": PIL.Image.LANCZOS,\n        }[interpolation]\n        self.flip = transforms.RandomHorizontalFlip(p=flip_p)\n\n    def __len__(self):\n        return self._length\n\n    def __getitem__(self, i):\n        example = {}\n        image = Image.open(self.image_paths[i % self.num_images])\n\n        if not image.mode == \"RGB\":\n            image = image.convert(\"RGB\")\n\n        if self.per_image_tokens and np.random.uniform() < 0.25:\n            text = random.choice(imagenet_dual_templates_small).format(\n                self.placeholder_token, per_img_token_list[i % self.num_images]\n            )\n        else:\n            text = random.choice(imagenet_templates_small).format(\n                self.placeholder_token\n            )\n\n        example[\"caption\"] = text\n\n        # default to score-sde preprocessing\n        img = np.array(image).astype(np.uint8)\n\n        if self.center_crop:\n            crop = min(img.shape[0], img.shape[1])\n            (\n                h,\n                w,\n            ) = (\n                img.shape[0],\n                img.shape[1],\n            )\n            img = img[\n                (h - crop) // 2 : (h + crop) // 2,\n                (w - crop) // 2 : (w + crop) // 2,\n            ]\n\n        image = Image.fromarray(img)\n        if self.size is not None:\n            image = image.resize((self.size, self.size), resample=self.interpolation)\n\n        image = self.flip(image)\n        image = np.array(image).astype(np.uint8)\n        example[\"image\"] = (image / 127.5 - 1.0).astype(np.float32)\n        return example\n"
  },
  {
    "path": "ldm/data/pretrain_dataset.py",
    "content": "import json\nimport os\n\nfrom torch.utils.data import Dataset\n\nfrom PIL import Image\nfrom PIL import ImageFile\n\nImageFile.LOAD_TRUNCATED_IMAGES = True\nImage.MAX_IMAGE_PIXELS = None\n\nfrom data.utils import pre_caption\nimport os, glob\n\n\nclass pretrain_dataset(Dataset):\n    def __init__(self, ann_file, laion_path, transform):\n        self.ann_pretrain = []\n        for f in ann_file:\n            print(\"loading \" + f)\n            ann = json.load(open(f, \"r\"))\n            self.ann_pretrain += ann\n\n        self.laion_path = laion_path\n        if self.laion_path:\n            self.laion_files = glob.glob(os.path.join(laion_path, \"*.json\"))\n\n            print(\"loading \" + self.laion_files[0])\n            with open(self.laion_files[0], \"r\") as f:\n                self.ann_laion = json.load(f)\n\n            self.annotation = self.ann_pretrain + self.ann_laion\n        else:\n            self.annotation = self.ann_pretrain\n\n        self.transform = transform\n\n    def reload_laion(self, epoch):\n        n = epoch % len(self.laion_files)\n        print(\"loading \" + self.laion_files[n])\n        with open(self.laion_files[n], \"r\") as f:\n            self.ann_laion = json.load(f)\n\n        self.annotation = self.ann_pretrain + self.ann_laion\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        ann = self.annotation[index]\n\n        image = Image.open(ann[\"image\"]).convert(\"RGB\")\n        image = self.transform(image)\n        caption = pre_caption(ann[\"caption\"], 30)\n\n        return image, caption\n"
  },
  {
    "path": "ldm/data/util.py",
    "content": "import torch\n\nfrom ldm.modules.midas.api import load_midas_transform\n\n\nclass AddMiDaS(object):\n    def __init__(self, model_type):\n        super().__init__()\n        self.transform = load_midas_transform(model_type)\n\n    def pt2np(self, x):\n        x = ((x + 1.0) * 0.5).detach().cpu().numpy()\n        return x\n\n    def np2pt(self, x):\n        x = torch.from_numpy(x) * 2 - 1.0\n        return x\n\n    def __call__(self, sample):\n        # sample['jpg'] is tensor hwc in [-1, 1] at this point\n        x = self.pt2np(sample[\"jpg\"])\n        x = self.transform({\"image\": x})[\"image\"]\n        sample[\"midas_in\"] = x\n        return sample\n"
  },
  {
    "path": "ldm/data/video_dataset.py",
    "content": "from torch.utils.data import Dataset\nfrom torchvision.datasets.utils import download_url\n\nimport torch\nimport numpy as np\nimport random\nimport decord\nfrom decord import VideoReader\nimport json\nimport os\nfrom data.utils import pre_caption\n\ndecord.bridge.set_bridge(\"torch\")\n\n\nclass ImageNorm(object):\n    \"\"\"Apply Normalization to Image Pixels on GPU\"\"\"\n\n    def __init__(self, mean, std):\n        self.mean = torch.tensor(mean).view(1, 3, 1, 1)\n        self.std = torch.tensor(std).view(1, 3, 1, 1)\n\n    def __call__(self, img):\n        if torch.max(img) > 1 and self.mean.max() <= 1:\n            img.div_(255.0)\n        return img.sub_(self.mean).div_(self.std)\n\n\ndef load_jsonl(filename):\n    with open(filename, \"r\") as f:\n        return [json.loads(l.strip(\"\\n\")) for l in f.readlines()]\n\n\nclass VideoDataset(Dataset):\n    def __init__(\n        self,\n        video_root,\n        ann_root,\n        num_frm=4,\n        frm_sampling_strategy=\"rand\",\n        max_img_size=384,\n        video_fmt=\".mp4\",\n    ):\n        \"\"\"\n        image_root (string): Root directory of video\n        ann_root (string): directory to store the annotation file\n        \"\"\"\n        url = \"https://storage.googleapis.com/sfr-vision-language-research/datasets/msrvtt_test.jsonl\"\n        filename = \"msrvtt_test.jsonl\"\n\n        download_url(url, ann_root)\n        self.annotation = load_jsonl(os.path.join(ann_root, filename))\n\n        self.num_frm = num_frm\n        self.frm_sampling_strategy = frm_sampling_strategy\n        self.max_img_size = max_img_size\n        self.video_root = video_root\n        self.video_fmt = video_fmt\n        self.img_norm = ImageNorm(\n            mean=(0.48145466, 0.4578275, 0.40821073),\n            std=(0.26862954, 0.26130258, 0.27577711),\n        )\n\n        self.text = [pre_caption(ann[\"caption\"], 40) for ann in self.annotation]\n        self.txt2video = [i for i in range(len(self.annotation))]\n        self.video2txt = self.txt2video\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        ann = self.annotation[index]\n\n        video_path = os.path.join(self.video_root, ann[\"clip_name\"] + self.video_fmt)\n\n        vid_frm_array = self._load_video_from_path_decord(\n            video_path, height=self.max_img_size, width=self.max_img_size\n        )\n\n        video = self.img_norm(vid_frm_array.float())\n\n        return video, ann[\"clip_name\"]\n\n    def _load_video_from_path_decord(\n        self,\n        video_path,\n        height=None,\n        width=None,\n        start_time=None,\n        end_time=None,\n        fps=-1,\n    ):\n        try:\n            if not height or not width:\n                vr = VideoReader(video_path)\n            else:\n                vr = VideoReader(video_path, width=width, height=height)\n\n            vlen = len(vr)\n\n            if start_time or end_time:\n                assert (\n                    fps > 0\n                ), \"must provide video fps if specifying start and end time.\"\n\n                start_idx = min(int(start_time * fps), vlen)\n                end_idx = min(int(end_time * fps), vlen)\n            else:\n                start_idx, end_idx = 0, vlen\n\n            if self.frm_sampling_strategy == \"uniform\":\n                frame_indices = np.arange(\n                    start_idx, end_idx, vlen / self.num_frm, dtype=int\n                )\n            elif self.frm_sampling_strategy == \"rand\":\n                frame_indices = sorted(random.sample(range(vlen), self.num_frm))\n            elif self.frm_sampling_strategy == \"headtail\":\n                frame_indices_head = sorted(\n                    random.sample(range(vlen // 2), self.num_frm // 2)\n                )\n                frame_indices_tail = sorted(\n                    random.sample(range(vlen // 2, vlen), self.num_frm // 2)\n                )\n                frame_indices = frame_indices_head + frame_indices_tail\n            else:\n                raise NotImplementedError(\n                    \"Invalid sampling strategy {} \".format(self.frm_sampling_strategy)\n                )\n\n            raw_sample_frms = vr.get_batch(frame_indices)\n        except Exception:\n            return None\n\n        raw_sample_frms = raw_sample_frms.permute(0, 3, 1, 2)\n\n        return raw_sample_frms\n"
  },
  {
    "path": "ldm/data/vqa_dataset.py",
    "content": "import os\nimport json\nfrom PIL import Image\n\nimport torch\nfrom torch.utils.data import Dataset\nfrom data.utils import pre_question\n\nfrom torchvision.datasets.utils import download_url\n\n\nclass vqa_dataset(Dataset):\n    def __init__(\n        self, transform, ann_root, vqa_root, vg_root, train_files=[], split=\"train\"\n    ):\n        self.split = split\n\n        self.transform = transform\n        self.vqa_root = vqa_root\n        self.vg_root = vg_root\n\n        if split == \"train\":\n            urls = {\n                \"vqa_train\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/vqa_train.json\",\n                \"vqa_val\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/vqa_val.json\",\n                \"vg_qa\": \"https://storage.googleapis.com/sfr-vision-language-research/datasets/vg_qa.json\",\n            }\n\n            self.annotation = []\n            for f in train_files:\n                download_url(urls[f], ann_root)\n                self.annotation += json.load(\n                    open(os.path.join(ann_root, \"%s.json\" % f), \"r\")\n                )\n        else:\n            download_url(\n                \"https://storage.googleapis.com/sfr-vision-language-research/datasets/vqa_test.json\",\n                ann_root,\n            )\n            self.annotation = json.load(\n                open(os.path.join(ann_root, \"vqa_test.json\"), \"r\")\n            )\n\n            download_url(\n                \"https://storage.googleapis.com/sfr-vision-language-research/datasets/answer_list.json\",\n                ann_root,\n            )\n            self.answer_list = json.load(\n                open(os.path.join(ann_root, \"answer_list.json\"), \"r\")\n            )\n\n    def __len__(self):\n        return len(self.annotation)\n\n    def __getitem__(self, index):\n        ann = self.annotation[index]\n\n        if ann[\"dataset\"] == \"vqa\":\n            image_path = os.path.join(self.vqa_root, ann[\"image\"])\n        elif ann[\"dataset\"] == \"vg\":\n            image_path = os.path.join(self.vg_root, ann[\"image\"])\n\n        image = Image.open(image_path).convert(\"RGB\")\n        image = self.transform(image)\n\n        if self.split == \"test\":\n            question = pre_question(ann[\"question\"])\n            question_id = ann[\"question_id\"]\n            return image, question, question_id\n\n        elif self.split == \"train\":\n            question = pre_question(ann[\"question\"])\n\n            if ann[\"dataset\"] == \"vqa\":\n                answer_weight = {}\n                for answer in ann[\"answer\"]:\n                    if answer in answer_weight.keys():\n                        answer_weight[answer] += 1 / len(ann[\"answer\"])\n                    else:\n                        answer_weight[answer] = 1 / len(ann[\"answer\"])\n\n                answers = list(answer_weight.keys())\n                weights = list(answer_weight.values())\n\n            elif ann[\"dataset\"] == \"vg\":\n                answers = [ann[\"answer\"]]\n                weights = [0.2]\n\n            return image, question, answers, weights\n\n\ndef vqa_collate_fn(batch):\n    image_list, question_list, answer_list, weight_list, n = [], [], [], [], []\n    for image, question, answer, weights in batch:\n        image_list.append(image)\n        question_list.append(question)\n        weight_list += weights\n        answer_list += answer\n        n.append(len(answer))\n    return (\n        torch.stack(image_list, dim=0),\n        question_list,\n        answer_list,\n        torch.Tensor(weight_list),\n        n,\n    )\n"
  },
  {
    "path": "ldm/devices/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/devices/devices.py",
    "content": "import torch\nfrom torch import autocast\nfrom contextlib import nullcontext\n\n\ndef choose_torch_device() -> str:\n    \"\"\"Convenience routine for guessing which GPU device to run model on\"\"\"\n    if torch.cuda.is_available():\n        return \"cuda\"\n    if hasattr(torch.backends, \"mps\") and torch.backends.mps.is_available():\n        return \"mps\"\n    return \"cpu\"\n\n\ndef choose_autocast_device(device):\n    \"\"\"Returns an autocast compatible device from a torch device\"\"\"\n    device_type = device.type  # this returns 'mps' on M1\n    # autocast only for cuda, but GTX 16xx have issues with it\n    if device_type == \"cuda\":\n        device_name = torch.cuda.get_device_name()\n        if \"GeForce GTX 1660\" in device_name or \"GeForce GTX 1650\" in device_name:\n            return device_type, nullcontext\n        else:\n            return device_type, autocast\n    else:\n        return \"cpu\", nullcontext\n"
  },
  {
    "path": "ldm/lr_scheduler.py",
    "content": "import numpy as np\n\n\nclass LambdaWarmUpCosineScheduler:\n    \"\"\"\n    note: use with a base_lr of 1.0\n    \"\"\"\n\n    def __init__(\n        self,\n        warm_up_steps,\n        lr_min,\n        lr_max,\n        lr_start,\n        max_decay_steps,\n        verbosity_interval=0,\n    ):\n        self.lr_warm_up_steps = warm_up_steps\n        self.lr_start = lr_start\n        self.lr_min = lr_min\n        self.lr_max = lr_max\n        self.lr_max_decay_steps = max_decay_steps\n        self.last_lr = 0.0\n        self.verbosity_interval = verbosity_interval\n\n    def schedule(self, n, **kwargs):\n        if self.verbosity_interval > 0:\n            if n % self.verbosity_interval == 0:\n                print(f\"current step: {n}, recent lr-multiplier: {self.last_lr}\")\n        if n < self.lr_warm_up_steps:\n            lr = (\n                self.lr_max - self.lr_start\n            ) / self.lr_warm_up_steps * n + self.lr_start\n            self.last_lr = lr\n            return lr\n        else:\n            t = (n - self.lr_warm_up_steps) / (\n                self.lr_max_decay_steps - self.lr_warm_up_steps\n            )\n            t = min(t, 1.0)\n            lr = self.lr_min + 0.5 * (self.lr_max - self.lr_min) * (\n                1 + np.cos(t * np.pi)\n            )\n            self.last_lr = lr\n            return lr\n\n    def __call__(self, n, **kwargs):\n        return self.schedule(n, **kwargs)\n\n\nclass LambdaWarmUpCosineScheduler2:\n    \"\"\"\n    supports repeated iterations, configurable via lists\n    note: use with a base_lr of 1.0.\n    \"\"\"\n\n    def __init__(\n        self, warm_up_steps, f_min, f_max, f_start, cycle_lengths, verbosity_interval=0\n    ):\n        assert (\n            len(warm_up_steps)\n            == len(f_min)\n            == len(f_max)\n            == len(f_start)\n            == len(cycle_lengths)\n        )\n        self.lr_warm_up_steps = warm_up_steps\n        self.f_start = f_start\n        self.f_min = f_min\n        self.f_max = f_max\n        self.cycle_lengths = cycle_lengths\n        self.cum_cycles = np.cumsum([0] + list(self.cycle_lengths))\n        self.last_f = 0.0\n        self.verbosity_interval = verbosity_interval\n\n    def find_in_interval(self, n):\n        interval = 0\n        for cl in self.cum_cycles[1:]:\n            if n <= cl:\n                return interval\n            interval += 1\n\n    def schedule(self, n, **kwargs):\n        cycle = self.find_in_interval(n)\n        n = n - self.cum_cycles[cycle]\n        if self.verbosity_interval > 0:\n            if n % self.verbosity_interval == 0:\n                print(\n                    f\"current step: {n}, recent lr-multiplier: {self.last_f}, \"\n                    f\"current cycle {cycle}\"\n                )\n        if n < self.lr_warm_up_steps[cycle]:\n            f = (self.f_max[cycle] - self.f_start[cycle]) / self.lr_warm_up_steps[\n                cycle\n            ] * n + self.f_start[cycle]\n            self.last_f = f\n            return f\n        else:\n            t = (n - self.lr_warm_up_steps[cycle]) / (\n                self.cycle_lengths[cycle] - self.lr_warm_up_steps[cycle]\n            )\n            t = min(t, 1.0)\n            f = self.f_min[cycle] + 0.5 * (self.f_max[cycle] - self.f_min[cycle]) * (\n                1 + np.cos(t * np.pi)\n            )\n            self.last_f = f\n            return f\n\n    def __call__(self, n, **kwargs):\n        return self.schedule(n, **kwargs)\n\n\nclass LambdaLinearScheduler(LambdaWarmUpCosineScheduler2):\n    def schedule(self, n, **kwargs):\n        cycle = self.find_in_interval(n)\n        n = n - self.cum_cycles[cycle]\n        if self.verbosity_interval > 0:\n            if n % self.verbosity_interval == 0:\n                print(\n                    f\"current step: {n}, recent lr-multiplier: {self.last_f}, \"\n                    f\"current cycle {cycle}\"\n                )\n\n        if n < self.lr_warm_up_steps[cycle]:\n            f = (self.f_max[cycle] - self.f_start[cycle]) / self.lr_warm_up_steps[\n                cycle\n            ] * n + self.f_start[cycle]\n            self.last_f = f\n            return f\n        else:\n            f = self.f_min[cycle] + (self.f_max[cycle] - self.f_min[cycle]) * (\n                self.cycle_lengths[cycle] - n\n            ) / (self.cycle_lengths[cycle])\n            self.last_f = f\n            return f\n"
  },
  {
    "path": "ldm/models/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/models/autoencoder.py",
    "content": "import torch\nimport pytorch_lightning as pl\nimport torch.nn.functional as F\nfrom contextlib import contextmanager\n\nfrom taming.modules.vqvae.quantize import VectorQuantizer2 as VectorQuantizer\n\nfrom ldm.modules.diffusionmodules.model import Encoder, Decoder\nfrom ldm.modules.distributions.distributions import DiagonalGaussianDistribution\n\nfrom ldm.util import instantiate_from_config\n\n\nclass VQModel(pl.LightningModule):\n    def __init__(\n        self,\n        ddconfig,\n        lossconfig,\n        n_embed,\n        embed_dim,\n        ckpt_path=None,\n        ignore_keys=[],\n        image_key=\"image\",\n        colorize_nlabels=None,\n        monitor=None,\n        batch_resize_range=None,\n        scheduler_config=None,\n        lr_g_factor=1.0,\n        remap=None,\n        sane_index_shape=False,  # tell vector quantizer to return indices as bhw\n        use_ema=False,\n    ):\n        super().__init__()\n        self.embed_dim = embed_dim\n        self.n_embed = n_embed\n        self.image_key = image_key\n        self.encoder = Encoder(**ddconfig)\n        self.decoder = Decoder(**ddconfig)\n        self.loss = instantiate_from_config(lossconfig)\n        self.quantize = VectorQuantizer(\n            n_embed,\n            embed_dim,\n            beta=0.25,\n            remap=remap,\n            sane_index_shape=sane_index_shape,\n        )\n        self.quant_conv = torch.nn.Conv2d(ddconfig[\"z_channels\"], embed_dim, 1)\n        self.post_quant_conv = torch.nn.Conv2d(embed_dim, ddconfig[\"z_channels\"], 1)\n        if colorize_nlabels is not None:\n            assert type(colorize_nlabels) == int\n            self.register_buffer(\"colorize\", torch.randn(3, colorize_nlabels, 1, 1))\n        if monitor is not None:\n            self.monitor = monitor\n        self.batch_resize_range = batch_resize_range\n        if self.batch_resize_range is not None:\n            print(\n                f\"{self.__class__.__name__}: Using per-batch resizing in range {batch_resize_range}.\"\n            )\n\n        self.use_ema = use_ema\n        if self.use_ema:\n            self.model_ema = LitEma(self)\n            print(f\"Keeping EMAs of {len(list(self.model_ema.buffers()))}.\")\n\n        if ckpt_path is not None:\n            self.init_from_ckpt(ckpt_path, ignore_keys=ignore_keys)\n        self.scheduler_config = scheduler_config\n        self.lr_g_factor = lr_g_factor\n\n    @contextmanager\n    def ema_scope(self, context=None):\n        if self.use_ema:\n            self.model_ema.store(self.parameters())\n            self.model_ema.copy_to(self)\n            if context is not None:\n                print(f\"{context}: Switched to EMA weights\")\n        try:\n            yield None\n        finally:\n            if self.use_ema:\n                self.model_ema.restore(self.parameters())\n                if context is not None:\n                    print(f\"{context}: Restored training weights\")\n\n    def init_from_ckpt(self, path, ignore_keys=list()):\n        sd = torch.load(path, map_location=\"cpu\")[\"state_dict\"]\n        keys = list(sd.keys())\n        for k in keys:\n            for ik in ignore_keys:\n                if k.startswith(ik):\n                    print(\"Deleting key {} from state_dict.\".format(k))\n                    del sd[k]\n        missing, unexpected = self.load_state_dict(sd, strict=False)\n        print(\n            f\"Restored from {path} with {len(missing)} missing and {len(unexpected)} unexpected keys\"\n        )\n        if len(missing) > 0:\n            print(f\"Missing Keys: {missing}\")\n            print(f\"Unexpected Keys: {unexpected}\")\n\n    def on_train_batch_end(self, *args, **kwargs):\n        if self.use_ema:\n            self.model_ema(self)\n\n    def encode(self, x):\n        h = self.encoder(x)\n        h = self.quant_conv(h)\n        quant, emb_loss, info = self.quantize(h)\n        return quant, emb_loss, info\n\n    def encode_to_prequant(self, x):\n        h = self.encoder(x)\n        h = self.quant_conv(h)\n        return h\n\n    def decode(self, quant):\n        quant = self.post_quant_conv(quant)\n        dec = self.decoder(quant)\n        return dec\n\n    def decode_code(self, code_b):\n        quant_b = self.quantize.embed_code(code_b)\n        dec = self.decode(quant_b)\n        return dec\n\n    def forward(self, input, return_pred_indices=False):\n        quant, diff, (_, _, ind) = self.encode(input)\n        dec = self.decode(quant)\n        if return_pred_indices:\n            return dec, diff, ind\n        return dec, diff\n\n    def get_input(self, batch, k):\n        x = batch[k]\n        if len(x.shape) == 3:\n            x = x[..., None]\n        x = x.permute(0, 3, 1, 2).to(memory_format=torch.contiguous_format).float()\n        if self.batch_resize_range is not None:\n            lower_size = self.batch_resize_range[0]\n            upper_size = self.batch_resize_range[1]\n            if self.global_step <= 4:\n                # do the first few batches with max size to avoid later oom\n                new_resize = upper_size\n            else:\n                new_resize = np.random.choice(\n                    np.arange(lower_size, upper_size + 16, 16)\n                )\n            if new_resize != x.shape[2]:\n                x = F.interpolate(x, size=new_resize, mode=\"bicubic\")\n            x = x.detach()\n        return x\n\n    def training_step(self, batch, batch_idx, optimizer_idx):\n        # https://github.com/pytorch/pytorch/issues/37142\n        # try not to fool the heuristics\n        x = self.get_input(batch, self.image_key)\n        xrec, qloss, ind = self(x, return_pred_indices=True)\n\n        if optimizer_idx == 0:\n            # autoencode\n            aeloss, log_dict_ae = self.loss(\n                qloss,\n                x,\n                xrec,\n                optimizer_idx,\n                self.global_step,\n                last_layer=self.get_last_layer(),\n                split=\"train\",\n                predicted_indices=ind,\n            )\n\n            self.log_dict(\n                log_dict_ae, prog_bar=False, logger=True, on_step=True, on_epoch=True\n            )\n            return aeloss\n\n        if optimizer_idx == 1:\n            # discriminator\n            discloss, log_dict_disc = self.loss(\n                qloss,\n                x,\n                xrec,\n                optimizer_idx,\n                self.global_step,\n                last_layer=self.get_last_layer(),\n                split=\"train\",\n            )\n            self.log_dict(\n                log_dict_disc, prog_bar=False, logger=True, on_step=True, on_epoch=True\n            )\n            return discloss\n\n    def validation_step(self, batch, batch_idx):\n        log_dict = self._validation_step(batch, batch_idx)\n        with self.ema_scope():\n            self._validation_step(batch, batch_idx, suffix=\"_ema\")\n        return log_dict\n\n    def _validation_step(self, batch, batch_idx, suffix=\"\"):\n        x = self.get_input(batch, self.image_key)\n        xrec, qloss, ind = self(x, return_pred_indices=True)\n        aeloss, log_dict_ae = self.loss(\n            qloss,\n            x,\n            xrec,\n            0,\n            self.global_step,\n            last_layer=self.get_last_layer(),\n            split=\"val\" + suffix,\n            predicted_indices=ind,\n        )\n\n        discloss, log_dict_disc = self.loss(\n            qloss,\n            x,\n            xrec,\n            1,\n            self.global_step,\n            last_layer=self.get_last_layer(),\n            split=\"val\" + suffix,\n            predicted_indices=ind,\n        )\n        rec_loss = log_dict_ae[f\"val{suffix}/rec_loss\"]\n        self.log(\n            f\"val{suffix}/rec_loss\",\n            rec_loss,\n            prog_bar=True,\n            logger=True,\n            on_step=False,\n            on_epoch=True,\n            sync_dist=True,\n        )\n        self.log(\n            f\"val{suffix}/aeloss\",\n            aeloss,\n            prog_bar=True,\n            logger=True,\n            on_step=False,\n            on_epoch=True,\n            sync_dist=True,\n        )\n        if version.parse(pl.__version__) >= version.parse(\"1.4.0\"):\n            del log_dict_ae[f\"val{suffix}/rec_loss\"]\n        self.log_dict(log_dict_ae)\n        self.log_dict(log_dict_disc)\n        return self.log_dict\n\n    def configure_optimizers(self):\n        lr_d = self.learning_rate\n        lr_g = self.lr_g_factor * self.learning_rate\n        print(\"lr_d\", lr_d)\n        print(\"lr_g\", lr_g)\n        opt_ae = torch.optim.Adam(\n            list(self.encoder.parameters())\n            + list(self.decoder.parameters())\n            + list(self.quantize.parameters())\n            + list(self.quant_conv.parameters())\n            + list(self.post_quant_conv.parameters()),\n            lr=lr_g,\n            betas=(0.5, 0.9),\n        )\n        opt_disc = torch.optim.Adam(\n            self.loss.discriminator.parameters(), lr=lr_d, betas=(0.5, 0.9)\n        )\n\n        if self.scheduler_config is not None:\n            scheduler = instantiate_from_config(self.scheduler_config)\n\n            print(\"Setting up LambdaLR scheduler...\")\n            scheduler = [\n                {\n                    \"scheduler\": LambdaLR(opt_ae, lr_lambda=scheduler.schedule),\n                    \"interval\": \"step\",\n                    \"frequency\": 1,\n                },\n                {\n                    \"scheduler\": LambdaLR(opt_disc, lr_lambda=scheduler.schedule),\n                    \"interval\": \"step\",\n                    \"frequency\": 1,\n                },\n            ]\n            return [opt_ae, opt_disc], scheduler\n        return [opt_ae, opt_disc], []\n\n    def get_last_layer(self):\n        return self.decoder.conv_out.weight\n\n    def log_images(self, batch, only_inputs=False, plot_ema=False, **kwargs):\n        log = dict()\n        x = self.get_input(batch, self.image_key)\n        x = x.to(self.device)\n        if only_inputs:\n            log[\"inputs\"] = x\n            return log\n        xrec, _ = self(x)\n        if x.shape[1] > 3:\n            # colorize with random projection\n            assert xrec.shape[1] > 3\n            x = self.to_rgb(x)\n            xrec = self.to_rgb(xrec)\n        log[\"inputs\"] = x\n        log[\"reconstructions\"] = xrec\n        if plot_ema:\n            with self.ema_scope():\n                xrec_ema, _ = self(x)\n                if x.shape[1] > 3:\n                    xrec_ema = self.to_rgb(xrec_ema)\n                log[\"reconstructions_ema\"] = xrec_ema\n        return log\n\n    def to_rgb(self, x):\n        assert self.image_key == \"segmentation\"\n        if not hasattr(self, \"colorize\"):\n            self.register_buffer(\"colorize\", torch.randn(3, x.shape[1], 1, 1).to(x))\n        x = F.conv2d(x, weight=self.colorize)\n        x = 2.0 * (x - x.min()) / (x.max() - x.min()) - 1.0\n        return x\n\n\nclass VQModelInterface(VQModel):\n    def __init__(self, embed_dim, *args, **kwargs):\n        super().__init__(embed_dim=embed_dim, *args, **kwargs)\n        self.embed_dim = embed_dim\n\n    def encode(self, x):\n        h = self.encoder(x)\n        h = self.quant_conv(h)\n        return h\n\n    def decode(self, h, force_not_quantize=False):\n        # also go through quantization layer\n        if not force_not_quantize:\n            quant, emb_loss, info = self.quantize(h)\n        else:\n            quant = h\n        quant = self.post_quant_conv(quant)\n        dec = self.decoder(quant)\n        return dec\n\n\nclass AutoencoderKL(pl.LightningModule):\n    def __init__(\n        self,\n        ddconfig,\n        lossconfig,\n        embed_dim,\n        ckpt_path=None,\n        ignore_keys=[],\n        image_key=\"image\",\n        colorize_nlabels=None,\n        monitor=None,\n    ):\n        super().__init__()\n        self.image_key = image_key\n        self.encoder = Encoder(**ddconfig)\n        self.decoder = Decoder(**ddconfig)\n        self.loss = instantiate_from_config(lossconfig)\n        assert ddconfig[\"double_z\"]\n        self.quant_conv = torch.nn.Conv2d(2 * ddconfig[\"z_channels\"], 2 * embed_dim, 1)\n        self.post_quant_conv = torch.nn.Conv2d(embed_dim, ddconfig[\"z_channels\"], 1)\n        self.embed_dim = embed_dim\n        if colorize_nlabels is not None:\n            assert type(colorize_nlabels) == int\n            self.register_buffer(\"colorize\", torch.randn(3, colorize_nlabels, 1, 1))\n        if monitor is not None:\n            self.monitor = monitor\n        if ckpt_path is not None:\n            self.init_from_ckpt(ckpt_path, ignore_keys=ignore_keys)\n\n    def init_from_ckpt(self, path, ignore_keys=list()):\n        sd = torch.load(path, map_location=\"cpu\")[\"state_dict\"]\n        keys = list(sd.keys())\n        for k in keys:\n            for ik in ignore_keys:\n                if k.startswith(ik):\n                    print(\"Deleting key {} from state_dict.\".format(k))\n                    del sd[k]\n        self.load_state_dict(sd, strict=False)\n        print(f\"Restored from {path}\")\n\n    def encode(self, x):\n        h = self.encoder(x)\n        moments = self.quant_conv(h)\n        posterior = DiagonalGaussianDistribution(moments)\n        return posterior\n\n    def decode(self, z):\n        z = self.post_quant_conv(z)\n        dec = self.decoder(z)\n        return dec\n\n    def forward(self, input, sample_posterior=True):\n        posterior = self.encode(input)\n        if sample_posterior:\n            z = posterior.sample()\n        else:\n            z = posterior.mode()\n        dec = self.decode(z)\n        return dec, posterior\n\n    def get_input(self, batch, k):\n        x = batch[k]\n        if len(x.shape) == 3:\n            x = x[..., None]\n        x = x.permute(0, 3, 1, 2).to(memory_format=torch.contiguous_format).float()\n        return x\n\n    def training_step(self, batch, batch_idx, optimizer_idx):\n        inputs = self.get_input(batch, self.image_key)\n        reconstructions, posterior = self(inputs)\n\n        if optimizer_idx == 0:\n            # train encoder+decoder+logvar\n            aeloss, log_dict_ae = self.loss(\n                inputs,\n                reconstructions,\n                posterior,\n                optimizer_idx,\n                self.global_step,\n                last_layer=self.get_last_layer(),\n                split=\"train\",\n            )\n            self.log(\n                \"aeloss\",\n                aeloss,\n                prog_bar=True,\n                logger=True,\n                on_step=True,\n                on_epoch=True,\n            )\n            self.log_dict(\n                log_dict_ae, prog_bar=False, logger=True, on_step=True, on_epoch=False\n            )\n            return aeloss\n\n        if optimizer_idx == 1:\n            # train the discriminator\n            discloss, log_dict_disc = self.loss(\n                inputs,\n                reconstructions,\n                posterior,\n                optimizer_idx,\n                self.global_step,\n                last_layer=self.get_last_layer(),\n                split=\"train\",\n            )\n\n            self.log(\n                \"discloss\",\n                discloss,\n                prog_bar=True,\n                logger=True,\n                on_step=True,\n                on_epoch=True,\n            )\n            self.log_dict(\n                log_dict_disc, prog_bar=False, logger=True, on_step=True, on_epoch=False\n            )\n            return discloss\n\n    def validation_step(self, batch, batch_idx):\n        inputs = self.get_input(batch, self.image_key)\n        reconstructions, posterior = self(inputs)\n        aeloss, log_dict_ae = self.loss(\n            inputs,\n            reconstructions,\n            posterior,\n            0,\n            self.global_step,\n            last_layer=self.get_last_layer(),\n            split=\"val\",\n        )\n\n        discloss, log_dict_disc = self.loss(\n            inputs,\n            reconstructions,\n            posterior,\n            1,\n            self.global_step,\n            last_layer=self.get_last_layer(),\n            split=\"val\",\n        )\n\n        self.log(\"val/rec_loss\", log_dict_ae[\"val/rec_loss\"])\n        self.log_dict(log_dict_ae)\n        self.log_dict(log_dict_disc)\n        return self.log_dict\n\n    def configure_optimizers(self):\n        lr = self.learning_rate\n        opt_ae = torch.optim.Adam(\n            list(self.encoder.parameters())\n            + list(self.decoder.parameters())\n            + list(self.quant_conv.parameters())\n            + list(self.post_quant_conv.parameters()),\n            lr=lr,\n            betas=(0.5, 0.9),\n        )\n        opt_disc = torch.optim.Adam(\n            self.loss.discriminator.parameters(), lr=lr, betas=(0.5, 0.9)\n        )\n        return [opt_ae, opt_disc], []\n\n    def get_last_layer(self):\n        return self.decoder.conv_out.weight\n\n    @torch.no_grad()\n    def log_images(self, batch, only_inputs=False, **kwargs):\n        log = dict()\n        x = self.get_input(batch, self.image_key)\n        x = x.to(self.device)\n        if not only_inputs:\n            xrec, posterior = self(x)\n            if x.shape[1] > 3:\n                # colorize with random projection\n                assert xrec.shape[1] > 3\n                x = self.to_rgb(x)\n                xrec = self.to_rgb(xrec)\n            log[\"samples\"] = self.decode(torch.randn_like(posterior.sample()))\n            log[\"reconstructions\"] = xrec\n        log[\"inputs\"] = x\n        return log\n\n    def to_rgb(self, x):\n        assert self.image_key == \"segmentation\"\n        if not hasattr(self, \"colorize\"):\n            self.register_buffer(\"colorize\", torch.randn(3, x.shape[1], 1, 1).to(x))\n        x = F.conv2d(x, weight=self.colorize)\n        x = 2.0 * (x - x.min()) / (x.max() - x.min()) - 1.0\n        return x\n\n\nclass IdentityFirstStage(torch.nn.Module):\n    def __init__(self, *args, vq_interface=False, **kwargs):\n        self.vq_interface = vq_interface  # TODO: Should be true by default but check to not break older stuff\n        super().__init__()\n\n    def encode(self, x, *args, **kwargs):\n        return x\n\n    def decode(self, x, *args, **kwargs):\n        return x\n\n    def quantize(self, x, *args, **kwargs):\n        if self.vq_interface:\n            return x, None, [None, None, None]\n        return x\n\n    def forward(self, x, *args, **kwargs):\n        return x\n"
  },
  {
    "path": "ldm/models/blip.py",
    "content": "\"\"\"\n * Copyright (c) 2022, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: BSD-3-Clause\n * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause\n * By Junnan Li\n\"\"\"\nimport warnings\n\nwarnings.filterwarnings(\"ignore\")\n\nfrom .vit import VisionTransformer, interpolate_pos_embed\nfrom .med import BertConfig, BertModel, BertLMHeadModel\nfrom transformers import BertTokenizer\n\nimport torch\nfrom torch import nn\n\n# import torch.nn.functional as F\n\nimport os\nfrom urllib.parse import urlparse\nfrom timm.models.hub import download_cached_file\n\n\nclass BLIP_Base(nn.Module):\n    def __init__(\n        self,\n        med_config=\"configs/blip/med_config.json\",\n        image_size=224,\n        vit=\"base\",\n        vit_grad_ckpt=False,\n        vit_ckpt_layer=0,\n    ):\n        \"\"\"\n        Args:\n            med_config (str): path for the mixture of encoder-decoder model's configuration file\n            image_size (int): input image size\n            vit (str): model size of vision transformer\n        \"\"\"\n        super().__init__()\n\n        self.visual_encoder, vision_width = create_vit(\n            vit, image_size, vit_grad_ckpt, vit_ckpt_layer\n        )\n        self.tokenizer = init_tokenizer()\n        med_config = BertConfig.from_json_file(med_config)\n        med_config.encoder_width = vision_width\n        self.text_encoder = BertModel(config=med_config, add_pooling_layer=False)\n\n    def forward(self, image, caption, mode):\n        assert mode in [\n            \"image\",\n            \"text\",\n            \"multimodal\",\n        ], \"mode parameter must be image, text, or multimodal\"\n        text = self.tokenizer(caption, return_tensors=\"pt\").to(image.device)\n\n        if mode == \"image\":\n            # return image features\n            image_embeds = self.visual_encoder(image)\n            return image_embeds\n\n        elif mode == \"text\":\n            # return text features\n            text_output = self.text_encoder(\n                text.input_ids,\n                attention_mask=text.attention_mask,\n                return_dict=True,\n                mode=\"text\",\n            )\n            return text_output.last_hidden_state\n\n        elif mode == \"multimodal\":\n            # return multimodel features\n            image_embeds = self.visual_encoder(image)\n            image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(\n                image.device\n            )\n\n            text.input_ids[:, 0] = self.tokenizer.enc_token_id\n            output = self.text_encoder(\n                text.input_ids,\n                attention_mask=text.attention_mask,\n                encoder_hidden_states=image_embeds,\n                encoder_attention_mask=image_atts,\n                return_dict=True,\n            )\n            return output.last_hidden_state\n\n\nclass BLIP_Decoder(nn.Module):\n    def __init__(\n        self,\n        med_config=\"configs/blip/med_config.json\",\n        image_size=384,\n        vit=\"base\",\n        vit_grad_ckpt=False,\n        vit_ckpt_layer=0,\n        prompt=\"a picture of \",\n    ):\n        \"\"\"\n        Args:\n            med_config (str): path for the mixture of encoder-decoder model's configuration file\n            image_size (int): input image size\n            vit (str): model size of vision transformer\n        \"\"\"\n        super().__init__()\n\n        self.visual_encoder, vision_width = create_vit(\n            vit, image_size, vit_grad_ckpt, vit_ckpt_layer\n        )\n        self.tokenizer = init_tokenizer()\n        med_config = BertConfig.from_json_file(med_config)\n        med_config.encoder_width = vision_width\n        self.text_decoder = BertLMHeadModel(config=med_config)\n\n        self.prompt = prompt\n        self.prompt_length = len(self.tokenizer(self.prompt).input_ids) - 1\n\n    def forward(self, image, caption):\n        image_embeds = self.visual_encoder(image)\n        image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(\n            image.device\n        )\n\n        text = self.tokenizer(\n            caption,\n            padding=\"longest\",\n            truncation=True,\n            max_length=40,\n            return_tensors=\"pt\",\n        ).to(image.device)\n\n        text.input_ids[:, 0] = self.tokenizer.bos_token_id\n\n        decoder_targets = text.input_ids.masked_fill(\n            text.input_ids == self.tokenizer.pad_token_id, -100\n        )\n        decoder_targets[:, : self.prompt_length] = -100\n\n        decoder_output = self.text_decoder(\n            text.input_ids,\n            attention_mask=text.attention_mask,\n            encoder_hidden_states=image_embeds,\n            encoder_attention_mask=image_atts,\n            labels=decoder_targets,\n            return_dict=True,\n        )\n        loss_lm = decoder_output.loss\n\n        return loss_lm\n\n    def generate(\n        self,\n        image,\n        sample=False,\n        num_beams=3,\n        max_length=30,\n        min_length=10,\n        top_p=0.9,\n        repetition_penalty=1.0,\n    ):\n        image_embeds = self.visual_encoder(image)\n\n        if not sample:\n            image_embeds = image_embeds.repeat_interleave(num_beams, dim=0)\n\n        image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(\n            image.device\n        )\n        model_kwargs = {\n            \"encoder_hidden_states\": image_embeds,\n            \"encoder_attention_mask\": image_atts,\n        }\n\n        prompt = [self.prompt] * image.size(0)\n        input_ids = self.tokenizer(prompt, return_tensors=\"pt\").input_ids.to(\n            image.device\n        )\n        input_ids[:, 0] = self.tokenizer.bos_token_id\n        input_ids = input_ids[:, :-1]\n\n        if sample:\n            # nucleus sampling\n            outputs = self.text_decoder.generate(\n                input_ids=input_ids,\n                max_length=max_length,\n                min_length=min_length,\n                do_sample=True,\n                top_p=top_p,\n                num_return_sequences=1,\n                eos_token_id=self.tokenizer.sep_token_id,\n                pad_token_id=self.tokenizer.pad_token_id,\n                repetition_penalty=1.1,\n                **model_kwargs\n            )\n        else:\n            # beam search\n            outputs = self.text_decoder.generate(\n                input_ids=input_ids,\n                max_length=max_length,\n                min_length=min_length,\n                num_beams=num_beams,\n                eos_token_id=self.tokenizer.sep_token_id,\n                pad_token_id=self.tokenizer.pad_token_id,\n                repetition_penalty=repetition_penalty,\n                **model_kwargs\n            )\n\n        captions = []\n        for output in outputs:\n            caption = self.tokenizer.decode(output, skip_special_tokens=True)\n            captions.append(caption[len(self.prompt) :])\n        return captions\n\n\ndef blip_decoder(pretrained=\"\", **kwargs):\n    model = BLIP_Decoder(**kwargs)\n    if pretrained:\n        model, msg = load_checkpoint(model, pretrained)\n        assert len(msg.missing_keys) == 0\n    return model\n\n\ndef blip_feature_extractor(pretrained=\"\", **kwargs):\n    model = BLIP_Base(**kwargs)\n    if pretrained:\n        model, msg = load_checkpoint(model, pretrained)\n        assert len(msg.missing_keys) == 0\n    return model\n\n\ndef init_tokenizer():\n    tokenizer = BertTokenizer.from_pretrained(\"bert-base-uncased\")\n    tokenizer.add_special_tokens({\"bos_token\": \"[DEC]\"})\n    tokenizer.add_special_tokens({\"additional_special_tokens\": [\"[ENC]\"]})\n    tokenizer.enc_token_id = tokenizer.additional_special_tokens_ids[0]\n    return tokenizer\n\n\ndef create_vit(\n    vit, image_size, use_grad_checkpointing=False, ckpt_layer=0, drop_path_rate=0\n):\n    assert vit in [\"base\", \"large\"], \"vit parameter must be base or large\"\n    if vit == \"base\":\n        vision_width = 768\n        visual_encoder = VisionTransformer(\n            img_size=image_size,\n            patch_size=16,\n            embed_dim=vision_width,\n            depth=12,\n            num_heads=12,\n            use_grad_checkpointing=use_grad_checkpointing,\n            ckpt_layer=ckpt_layer,\n            drop_path_rate=0 or drop_path_rate,\n        )\n    elif vit == \"large\":\n        vision_width = 1024\n        visual_encoder = VisionTransformer(\n            img_size=image_size,\n            patch_size=16,\n            embed_dim=vision_width,\n            depth=24,\n            num_heads=16,\n            use_grad_checkpointing=use_grad_checkpointing,\n            ckpt_layer=ckpt_layer,\n            drop_path_rate=0.1 or drop_path_rate,\n        )\n    return visual_encoder, vision_width\n\n\ndef is_url(url_or_filename):\n    parsed = urlparse(url_or_filename)\n    return parsed.scheme in (\"http\", \"https\")\n\n\ndef load_checkpoint(model, url_or_filename):\n    if is_url(url_or_filename):\n        cached_file = download_cached_file(\n            url_or_filename, check_hash=False, progress=True\n        )\n        checkpoint = torch.load(cached_file, map_location=\"cpu\")\n    elif os.path.isfile(url_or_filename):\n        checkpoint = torch.load(url_or_filename, map_location=\"cpu\")\n    else:\n        raise RuntimeError(\"checkpoint url or path is invalid\")\n\n    state_dict = checkpoint[\"model\"]\n\n    state_dict[\"visual_encoder.pos_embed\"] = interpolate_pos_embed(\n        state_dict[\"visual_encoder.pos_embed\"], model.visual_encoder\n    )\n    if \"visual_encoder_m.pos_embed\" in model.state_dict().keys():\n        state_dict[\"visual_encoder_m.pos_embed\"] = interpolate_pos_embed(\n            state_dict[\"visual_encoder_m.pos_embed\"], model.visual_encoder_m\n        )\n    for key in model.state_dict().keys():\n        if key in state_dict.keys():\n            if state_dict[key].shape != model.state_dict()[key].shape:\n                del state_dict[key]\n\n    msg = model.load_state_dict(state_dict, strict=False)\n    print(\"load checkpoint from %s\" % url_or_filename)\n    return model, msg\n"
  },
  {
    "path": "ldm/models/blip_itm.py",
    "content": "from models.med import BertConfig, BertModel\n\nimport torch\nfrom torch import nn\nimport torch.nn.functional as F\n\nfrom models.blip import create_vit, init_tokenizer, load_checkpoint\n\n\nclass BLIP_ITM(nn.Module):\n    def __init__(\n        self,\n        med_config=\"configs/med_config.json\",\n        image_size=384,\n        vit=\"base\",\n        vit_grad_ckpt=False,\n        vit_ckpt_layer=0,\n        embed_dim=256,\n    ):\n        \"\"\"\n        Args:\n            med_config (str): path for the mixture of encoder-decoder model's configuration file\n            image_size (int): input image size\n            vit (str): model size of vision transformer\n        \"\"\"\n        super().__init__()\n\n        self.visual_encoder, vision_width = create_vit(\n            vit, image_size, vit_grad_ckpt, vit_ckpt_layer\n        )\n        self.tokenizer = init_tokenizer()\n        med_config = BertConfig.from_json_file(med_config)\n        med_config.encoder_width = vision_width\n        self.text_encoder = BertModel(config=med_config, add_pooling_layer=False)\n\n        text_width = self.text_encoder.config.hidden_size\n\n        self.vision_proj = nn.Linear(vision_width, embed_dim)\n        self.text_proj = nn.Linear(text_width, embed_dim)\n\n        self.itm_head = nn.Linear(text_width, 2)\n\n    def forward(self, image, caption, match_head=\"itm\"):\n        image_embeds = self.visual_encoder(image)\n        image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(\n            image.device\n        )\n\n        text = self.tokenizer(\n            caption,\n            padding=\"max_length\",\n            truncation=True,\n            max_length=35,\n            return_tensors=\"pt\",\n        ).to(image.device)\n\n        if match_head == \"itm\":\n            output = self.text_encoder(\n                text.input_ids,\n                attention_mask=text.attention_mask,\n                encoder_hidden_states=image_embeds,\n                encoder_attention_mask=image_atts,\n                return_dict=True,\n            )\n            itm_output = self.itm_head(output.last_hidden_state[:, 0, :])\n            return itm_output\n\n        elif match_head == \"itc\":\n            text_output = self.text_encoder(\n                text.input_ids,\n                attention_mask=text.attention_mask,\n                return_dict=True,\n                mode=\"text\",\n            )\n            image_feat = F.normalize(self.vision_proj(image_embeds[:, 0, :]), dim=-1)\n            text_feat = F.normalize(\n                self.text_proj(text_output.last_hidden_state[:, 0, :]), dim=-1\n            )\n\n            sim = image_feat @ text_feat.t()\n            return sim\n\n\ndef blip_itm(pretrained=\"\", **kwargs):\n    model = BLIP_ITM(**kwargs)\n    if pretrained:\n        model, msg = load_checkpoint(model, pretrained)\n        assert len(msg.missing_keys) == 0\n    return model\n"
  },
  {
    "path": "ldm/models/blip_nlvr.py",
    "content": "from models.med import BertConfig\nfrom models.nlvr_encoder import BertModel\nfrom models.vit import interpolate_pos_embed\nfrom models.blip import create_vit, init_tokenizer, is_url\n\nfrom timm.models.hub import download_cached_file\n\nimport torch\nfrom torch import nn\nimport torch.nn.functional as F\n\n\nclass BLIP_NLVR(nn.Module):\n    def __init__(\n        self,\n        med_config=\"configs/med_config.json\",\n        image_size=480,\n        vit=\"base\",\n        vit_grad_ckpt=False,\n        vit_ckpt_layer=0,\n    ):\n        \"\"\"\n        Args:\n            med_config (str): path for the mixture of encoder-decoder model's configuration file\n            image_size (int): input image size\n            vit (str): model size of vision transformer\n        \"\"\"\n        super().__init__()\n\n        self.visual_encoder, vision_width = create_vit(\n            vit, image_size, vit_grad_ckpt, vit_ckpt_layer, drop_path_rate=0.1\n        )\n        self.tokenizer = init_tokenizer()\n        med_config = BertConfig.from_json_file(med_config)\n        med_config.encoder_width = vision_width\n        self.text_encoder = BertModel(config=med_config, add_pooling_layer=False)\n\n        self.cls_head = nn.Sequential(\n            nn.Linear(\n                self.text_encoder.config.hidden_size,\n                self.text_encoder.config.hidden_size,\n            ),\n            nn.ReLU(),\n            nn.Linear(self.text_encoder.config.hidden_size, 2),\n        )\n\n    def forward(self, image, text, targets, train=True):\n        image_embeds = self.visual_encoder(image)\n        image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(\n            image.device\n        )\n        image0_embeds, image1_embeds = torch.split(image_embeds, targets.size(0))\n\n        text = self.tokenizer(text, padding=\"longest\", return_tensors=\"pt\").to(\n            image.device\n        )\n        text.input_ids[:, 0] = self.tokenizer.enc_token_id\n\n        output = self.text_encoder(\n            text.input_ids,\n            attention_mask=text.attention_mask,\n            encoder_hidden_states=[image0_embeds, image1_embeds],\n            encoder_attention_mask=[\n                image_atts[: image0_embeds.size(0)],\n                image_atts[image0_embeds.size(0) :],\n            ],\n            return_dict=True,\n        )\n        hidden_state = output.last_hidden_state[:, 0, :]\n        prediction = self.cls_head(hidden_state)\n\n        if train:\n            loss = F.cross_entropy(prediction, targets)\n            return loss\n        else:\n            return prediction\n\n\ndef blip_nlvr(pretrained=\"\", **kwargs):\n    model = BLIP_NLVR(**kwargs)\n    if pretrained:\n        model, msg = load_checkpoint(model, pretrained)\n        print(\"missing keys:\")\n        print(msg.missing_keys)\n    return model\n\n\ndef load_checkpoint(model, url_or_filename):\n    if is_url(url_or_filename):\n        cached_file = download_cached_file(\n            url_or_filename, check_hash=False, progress=True\n        )\n        checkpoint = torch.load(cached_file, map_location=\"cpu\")\n    elif os.path.isfile(url_or_filename):\n        checkpoint = torch.load(url_or_filename, map_location=\"cpu\")\n    else:\n        raise RuntimeError(\"checkpoint url or path is invalid\")\n    state_dict = checkpoint[\"model\"]\n\n    state_dict[\"visual_encoder.pos_embed\"] = interpolate_pos_embed(\n        state_dict[\"visual_encoder.pos_embed\"], model.visual_encoder\n    )\n\n    for key in list(state_dict.keys()):\n        if \"crossattention.self.\" in key:\n            new_key0 = key.replace(\"self\", \"self0\")\n            new_key1 = key.replace(\"self\", \"self1\")\n            state_dict[new_key0] = state_dict[key]\n            state_dict[new_key1] = state_dict[key]\n        elif \"crossattention.output.dense.\" in key:\n            new_key0 = key.replace(\"dense\", \"dense0\")\n            new_key1 = key.replace(\"dense\", \"dense1\")\n            state_dict[new_key0] = state_dict[key]\n            state_dict[new_key1] = state_dict[key]\n\n    msg = model.load_state_dict(state_dict, strict=False)\n    print(\"load checkpoint from %s\" % url_or_filename)\n    return model, msg\n"
  },
  {
    "path": "ldm/models/blip_pretrain.py",
    "content": "\"\"\"\n * Copyright (c) 2022, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: BSD-3-Clause\n * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause\n * By Junnan Li\n\"\"\"\nfrom models.med import BertConfig, BertModel, BertLMHeadModel\nimport transformers\n\ntransformers.logging.set_verbosity_error()\n\nimport torch\nfrom torch import nn\nimport torch.nn.functional as F\n\nfrom models.blip import create_vit, init_tokenizer\n\n\nclass BLIP_Pretrain(nn.Module):\n    def __init__(\n        self,\n        med_config=\"configs/bert_config.json\",\n        image_size=224,\n        vit=\"base\",\n        vit_grad_ckpt=False,\n        vit_ckpt_layer=0,\n        embed_dim=256,\n        queue_size=57600,\n        momentum=0.995,\n    ):\n        \"\"\"\n        Args:\n            med_config (str): path for the mixture of encoder-decoder model's configuration file\n            image_size (int): input image size\n            vit (str): model size of vision transformer\n        \"\"\"\n        super().__init__()\n\n        self.visual_encoder, vision_width = create_vit(\n            vit, image_size, vit_grad_ckpt, vit_ckpt_layer, 0\n        )\n\n        if vit == \"base\":\n            checkpoint = torch.hub.load_state_dict_from_url(\n                url=\"https://dl.fbaipublicfiles.com/deit/deit_base_patch16_224-b5f2ef4d.pth\",\n                map_location=\"cpu\",\n                check_hash=True,\n            )\n            state_dict = checkpoint[\"model\"]\n            self.visual_encoder.load_state_dict(state_dict, strict=False)\n        elif vit == \"large\":\n            from timm.models.helpers import load_custom_pretrained\n            from timm.models.vision_transformer import default_cfgs\n\n            load_custom_pretrained(\n                self.visual_encoder, default_cfgs[\"vit_large_patch16_224_in21k\"]\n            )\n\n        self.tokenizer = init_tokenizer()\n        encoder_config = BertConfig.from_json_file(med_config)\n        encoder_config.encoder_width = vision_width\n        self.text_encoder = BertModel.from_pretrained(\n            \"bert-base-uncased\", config=encoder_config, add_pooling_layer=False\n        )\n        self.text_encoder.resize_token_embeddings(len(self.tokenizer))\n\n        text_width = self.text_encoder.config.hidden_size\n\n        self.vision_proj = nn.Linear(vision_width, embed_dim)\n        self.text_proj = nn.Linear(text_width, embed_dim)\n\n        self.itm_head = nn.Linear(text_width, 2)\n\n        # create momentum encoders\n        self.visual_encoder_m, vision_width = create_vit(vit, image_size)\n        self.vision_proj_m = nn.Linear(vision_width, embed_dim)\n        self.text_encoder_m = BertModel(config=encoder_config, add_pooling_layer=False)\n        self.text_proj_m = nn.Linear(text_width, embed_dim)\n\n        self.model_pairs = [\n            [self.visual_encoder, self.visual_encoder_m],\n            [self.vision_proj, self.vision_proj_m],\n            [self.text_encoder, self.text_encoder_m],\n            [self.text_proj, self.text_proj_m],\n        ]\n        self.copy_params()\n\n        # create the queue\n        self.register_buffer(\"image_queue\", torch.randn(embed_dim, queue_size))\n        self.register_buffer(\"text_queue\", torch.randn(embed_dim, queue_size))\n        self.register_buffer(\"queue_ptr\", torch.zeros(1, dtype=torch.long))\n\n        self.image_queue = nn.functional.normalize(self.image_queue, dim=0)\n        self.text_queue = nn.functional.normalize(self.text_queue, dim=0)\n\n        self.queue_size = queue_size\n        self.momentum = momentum\n        self.temp = nn.Parameter(0.07 * torch.ones([]))\n\n        # create the decoder\n        decoder_config = BertConfig.from_json_file(med_config)\n        decoder_config.encoder_width = vision_width\n        self.text_decoder = BertLMHeadModel.from_pretrained(\n            \"bert-base-uncased\", config=decoder_config\n        )\n        self.text_decoder.resize_token_embeddings(len(self.tokenizer))\n        tie_encoder_decoder_weights(\n            self.text_encoder, self.text_decoder.bert, \"\", \"/attention\"\n        )\n\n    def forward(self, image, caption, alpha):\n        with torch.no_grad():\n            self.temp.clamp_(0.001, 0.5)\n\n        image_embeds = self.visual_encoder(image)\n        image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(\n            image.device\n        )\n        image_feat = F.normalize(self.vision_proj(image_embeds[:, 0, :]), dim=-1)\n\n        text = self.tokenizer(\n            caption,\n            padding=\"max_length\",\n            truncation=True,\n            max_length=30,\n            return_tensors=\"pt\",\n        ).to(image.device)\n        text_output = self.text_encoder(\n            text.input_ids,\n            attention_mask=text.attention_mask,\n            return_dict=True,\n            mode=\"text\",\n        )\n        text_feat = F.normalize(\n            self.text_proj(text_output.last_hidden_state[:, 0, :]), dim=-1\n        )\n\n        # get momentum features\n        with torch.no_grad():\n            self._momentum_update()\n            image_embeds_m = self.visual_encoder_m(image)\n            image_feat_m = F.normalize(\n                self.vision_proj_m(image_embeds_m[:, 0, :]), dim=-1\n            )\n            image_feat_all = torch.cat(\n                [image_feat_m.t(), self.image_queue.clone().detach()], dim=1\n            )\n\n            text_output_m = self.text_encoder_m(\n                text.input_ids,\n                attention_mask=text.attention_mask,\n                return_dict=True,\n                mode=\"text\",\n            )\n            text_feat_m = F.normalize(\n                self.text_proj_m(text_output_m.last_hidden_state[:, 0, :]), dim=-1\n            )\n            text_feat_all = torch.cat(\n                [text_feat_m.t(), self.text_queue.clone().detach()], dim=1\n            )\n\n            sim_i2t_m = image_feat_m @ text_feat_all / self.temp\n            sim_t2i_m = text_feat_m @ image_feat_all / self.temp\n\n            sim_targets = torch.zeros(sim_i2t_m.size()).to(image.device)\n            sim_targets.fill_diagonal_(1)\n\n            sim_i2t_targets = (\n                alpha * F.softmax(sim_i2t_m, dim=1) + (1 - alpha) * sim_targets\n            )\n            sim_t2i_targets = (\n                alpha * F.softmax(sim_t2i_m, dim=1) + (1 - alpha) * sim_targets\n            )\n\n        sim_i2t = image_feat @ text_feat_all / self.temp\n        sim_t2i = text_feat @ image_feat_all / self.temp\n\n        loss_i2t = -torch.sum(\n            F.log_softmax(sim_i2t, dim=1) * sim_i2t_targets, dim=1\n        ).mean()\n        loss_t2i = -torch.sum(\n            F.log_softmax(sim_t2i, dim=1) * sim_t2i_targets, dim=1\n        ).mean()\n\n        loss_ita = (loss_i2t + loss_t2i) / 2\n\n        self._dequeue_and_enqueue(image_feat_m, text_feat_m)\n\n        ###============== Image-text Matching ===================###\n        encoder_input_ids = text.input_ids.clone()\n        encoder_input_ids[:, 0] = self.tokenizer.enc_token_id\n\n        # forward the positve image-text pair\n        bs = image.size(0)\n        output_pos = self.text_encoder(\n            encoder_input_ids,\n            attention_mask=text.attention_mask,\n            encoder_hidden_states=image_embeds,\n            encoder_attention_mask=image_atts,\n            return_dict=True,\n        )\n        with torch.no_grad():\n            weights_t2i = F.softmax(sim_t2i[:, :bs], dim=1) + 1e-4\n            weights_t2i.fill_diagonal_(0)\n            weights_i2t = F.softmax(sim_i2t[:, :bs], dim=1) + 1e-4\n            weights_i2t.fill_diagonal_(0)\n\n        # select a negative image for each text\n        image_embeds_neg = []\n        for b in range(bs):\n            neg_idx = torch.multinomial(weights_t2i[b], 1).item()\n            image_embeds_neg.append(image_embeds[neg_idx])\n        image_embeds_neg = torch.stack(image_embeds_neg, dim=0)\n\n        # select a negative text for each image\n        text_ids_neg = []\n        text_atts_neg = []\n        for b in range(bs):\n            neg_idx = torch.multinomial(weights_i2t[b], 1).item()\n            text_ids_neg.append(encoder_input_ids[neg_idx])\n            text_atts_neg.append(text.attention_mask[neg_idx])\n\n        text_ids_neg = torch.stack(text_ids_neg, dim=0)\n        text_atts_neg = torch.stack(text_atts_neg, dim=0)\n\n        text_ids_all = torch.cat([encoder_input_ids, text_ids_neg], dim=0)\n        text_atts_all = torch.cat([text.attention_mask, text_atts_neg], dim=0)\n\n        image_embeds_all = torch.cat([image_embeds_neg, image_embeds], dim=0)\n        image_atts_all = torch.cat([image_atts, image_atts], dim=0)\n\n        output_neg = self.text_encoder(\n            text_ids_all,\n            attention_mask=text_atts_all,\n            encoder_hidden_states=image_embeds_all,\n            encoder_attention_mask=image_atts_all,\n            return_dict=True,\n        )\n\n        vl_embeddings = torch.cat(\n            [\n                output_pos.last_hidden_state[:, 0, :],\n                output_neg.last_hidden_state[:, 0, :],\n            ],\n            dim=0,\n        )\n        vl_output = self.itm_head(vl_embeddings)\n\n        itm_labels = torch.cat(\n            [torch.ones(bs, dtype=torch.long), torch.zeros(2 * bs, dtype=torch.long)],\n            dim=0,\n        ).to(image.device)\n        loss_itm = F.cross_entropy(vl_output, itm_labels)\n\n        ##================= LM ========================##\n        decoder_input_ids = text.input_ids.clone()\n        decoder_input_ids[:, 0] = self.tokenizer.bos_token_id\n        decoder_targets = decoder_input_ids.masked_fill(\n            decoder_input_ids == self.tokenizer.pad_token_id, -100\n        )\n\n        decoder_output = self.text_decoder(\n            decoder_input_ids,\n            attention_mask=text.attention_mask,\n            encoder_hidden_states=image_embeds,\n            encoder_attention_mask=image_atts,\n            labels=decoder_targets,\n            return_dict=True,\n        )\n\n        loss_lm = decoder_output.loss\n        return loss_ita, loss_itm, loss_lm\n\n    @torch.no_grad()\n    def copy_params(self):\n        for model_pair in self.model_pairs:\n            for param, param_m in zip(\n                model_pair[0].parameters(), model_pair[1].parameters()\n            ):\n                param_m.data.copy_(param.data)  # initialize\n                param_m.requires_grad = False  # not update by gradient\n\n    @torch.no_grad()\n    def _momentum_update(self):\n        for model_pair in self.model_pairs:\n            for param, param_m in zip(\n                model_pair[0].parameters(), model_pair[1].parameters()\n            ):\n                param_m.data = param_m.data * self.momentum + param.data * (\n                    1.0 - self.momentum\n                )\n\n    @torch.no_grad()\n    def _dequeue_and_enqueue(self, image_feat, text_feat):\n        # gather keys before updating queue\n        image_feats = concat_all_gather(image_feat)\n        text_feats = concat_all_gather(text_feat)\n\n        batch_size = image_feats.shape[0]\n\n        ptr = int(self.queue_ptr)\n        assert self.queue_size % batch_size == 0  # for simplicity\n\n        # replace the keys at ptr (dequeue and enqueue)\n        self.image_queue[:, ptr : ptr + batch_size] = image_feats.T\n        self.text_queue[:, ptr : ptr + batch_size] = text_feats.T\n        ptr = (ptr + batch_size) % self.queue_size  # move pointer\n\n        self.queue_ptr[0] = ptr\n\n\ndef blip_pretrain(**kwargs):\n    model = BLIP_Pretrain(**kwargs)\n    return model\n\n\n@torch.no_grad()\ndef concat_all_gather(tensor):\n    \"\"\"\n    Performs all_gather operation on the provided tensors.\n    *** Warning ***: torch.distributed.all_gather has no gradient.\n    \"\"\"\n    tensors_gather = [\n        torch.ones_like(tensor) for _ in range(torch.distributed.get_world_size())\n    ]\n    torch.distributed.all_gather(tensors_gather, tensor, async_op=False)\n\n    output = torch.cat(tensors_gather, dim=0)\n    return output\n\n\nfrom typing import List\n\n\ndef tie_encoder_decoder_weights(\n    encoder: nn.Module, decoder: nn.Module, base_model_prefix: str, skip_key: str\n):\n    uninitialized_encoder_weights: List[str] = []\n    if decoder.__class__ != encoder.__class__:\n        logger.info(\n            f\"{decoder.__class__} and {encoder.__class__} are not equal. In this case make sure that all encoder weights are correctly initialized.\"\n        )\n\n    def tie_encoder_to_decoder_recursively(\n        decoder_pointer: nn.Module,\n        encoder_pointer: nn.Module,\n        module_name: str,\n        uninitialized_encoder_weights: List[str],\n        skip_key: str,\n        depth=0,\n    ):\n        assert isinstance(decoder_pointer, nn.Module) and isinstance(\n            encoder_pointer, nn.Module\n        ), f\"{decoder_pointer} and {encoder_pointer} have to be of type torch.nn.Module\"\n        if hasattr(decoder_pointer, \"weight\") and skip_key not in module_name:\n            assert hasattr(encoder_pointer, \"weight\")\n            encoder_pointer.weight = decoder_pointer.weight\n            if hasattr(decoder_pointer, \"bias\"):\n                assert hasattr(encoder_pointer, \"bias\")\n                encoder_pointer.bias = decoder_pointer.bias\n            print(module_name + \" is tied\")\n            return\n\n        encoder_modules = encoder_pointer._modules\n        decoder_modules = decoder_pointer._modules\n        if len(decoder_modules) > 0:\n            assert (\n                len(encoder_modules) > 0\n            ), f\"Encoder module {encoder_pointer} does not match decoder module {decoder_pointer}\"\n\n            all_encoder_weights = set(\n                [module_name + \"/\" + sub_name for sub_name in encoder_modules.keys()]\n            )\n            encoder_layer_pos = 0\n            for name, module in decoder_modules.items():\n                if name.isdigit():\n                    encoder_name = str(int(name) + encoder_layer_pos)\n                    decoder_name = name\n                    if not isinstance(\n                        decoder_modules[decoder_name],\n                        type(encoder_modules[encoder_name]),\n                    ) and len(encoder_modules) != len(decoder_modules):\n                        # this can happen if the name corresponds to the position in a list module list of layers\n                        # in this case the decoder has added a cross-attention that the encoder does not have\n                        # thus skip this step and subtract one layer pos from encoder\n                        encoder_layer_pos -= 1\n                        continue\n                elif name not in encoder_modules:\n                    continue\n                elif depth > 500:\n                    raise ValueError(\n                        \"Max depth of recursive function `tie_encoder_to_decoder` reached. It seems that there is a circular dependency between two or more `nn.Modules` of your model.\"\n                    )\n                else:\n                    decoder_name = encoder_name = name\n                tie_encoder_to_decoder_recursively(\n                    decoder_modules[decoder_name],\n                    encoder_modules[encoder_name],\n                    module_name + \"/\" + name,\n                    uninitialized_encoder_weights,\n                    skip_key,\n                    depth=depth + 1,\n                )\n                all_encoder_weights.remove(module_name + \"/\" + encoder_name)\n\n            uninitialized_encoder_weights += list(all_encoder_weights)\n\n    # tie weights recursively\n    tie_encoder_to_decoder_recursively(\n        decoder, encoder, base_model_prefix, uninitialized_encoder_weights, skip_key\n    )\n"
  },
  {
    "path": "ldm/models/blip_retrieval.py",
    "content": "from models.med import BertConfig, BertModel\n\nimport torch\nfrom torch import nn\nimport torch.nn.functional as F\n\nfrom models.blip import create_vit, init_tokenizer, load_checkpoint\n\n\nclass BLIP_Retrieval(nn.Module):\n    def __init__(\n        self,\n        med_config=\"configs/med_config.json\",\n        image_size=384,\n        vit=\"base\",\n        vit_grad_ckpt=False,\n        vit_ckpt_layer=0,\n        embed_dim=256,\n        queue_size=57600,\n        momentum=0.995,\n        negative_all_rank=False,\n    ):\n        \"\"\"\n        Args:\n            med_config (str): path for the mixture of encoder-decoder model's configuration file\n            image_size (int): input image size\n            vit (str): model size of vision transformer\n        \"\"\"\n        super().__init__()\n\n        self.visual_encoder, vision_width = create_vit(\n            vit, image_size, vit_grad_ckpt, vit_ckpt_layer\n        )\n        self.tokenizer = init_tokenizer()\n        med_config = BertConfig.from_json_file(med_config)\n        med_config.encoder_width = vision_width\n        self.text_encoder = BertModel(config=med_config, add_pooling_layer=False)\n\n        text_width = self.text_encoder.config.hidden_size\n\n        self.vision_proj = nn.Linear(vision_width, embed_dim)\n        self.text_proj = nn.Linear(text_width, embed_dim)\n\n        self.itm_head = nn.Linear(text_width, 2)\n\n        # create momentum encoders\n        self.visual_encoder_m, vision_width = create_vit(vit, image_size)\n        self.vision_proj_m = nn.Linear(vision_width, embed_dim)\n        self.text_encoder_m = BertModel(config=med_config, add_pooling_layer=False)\n        self.text_proj_m = nn.Linear(text_width, embed_dim)\n\n        self.model_pairs = [\n            [self.visual_encoder, self.visual_encoder_m],\n            [self.vision_proj, self.vision_proj_m],\n            [self.text_encoder, self.text_encoder_m],\n            [self.text_proj, self.text_proj_m],\n        ]\n        self.copy_params()\n\n        # create the queue\n        self.register_buffer(\"image_queue\", torch.randn(embed_dim, queue_size))\n        self.register_buffer(\"text_queue\", torch.randn(embed_dim, queue_size))\n        self.register_buffer(\"idx_queue\", torch.full((1, queue_size), -100))\n        self.register_buffer(\"ptr_queue\", torch.zeros(1, dtype=torch.long))\n\n        self.image_queue = nn.functional.normalize(self.image_queue, dim=0)\n        self.text_queue = nn.functional.normalize(self.text_queue, dim=0)\n\n        self.queue_size = queue_size\n        self.momentum = momentum\n        self.temp = nn.Parameter(0.07 * torch.ones([]))\n\n        self.negative_all_rank = negative_all_rank\n\n    def forward(self, image, caption, alpha, idx):\n        with torch.no_grad():\n            self.temp.clamp_(0.001, 0.5)\n\n        image_embeds = self.visual_encoder(image)\n        image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(\n            image.device\n        )\n        image_feat = F.normalize(self.vision_proj(image_embeds[:, 0, :]), dim=-1)\n\n        text = self.tokenizer(\n            caption,\n            padding=\"max_length\",\n            truncation=True,\n            max_length=35,\n            return_tensors=\"pt\",\n        ).to(image.device)\n\n        text_output = self.text_encoder(\n            text.input_ids,\n            attention_mask=text.attention_mask,\n            return_dict=True,\n            mode=\"text\",\n        )\n        text_feat = F.normalize(\n            self.text_proj(text_output.last_hidden_state[:, 0, :]), dim=-1\n        )\n\n        ###============== Image-text Contrastive Learning ===================###\n        idx = idx.view(-1, 1)\n        idx_all = torch.cat([idx.t(), self.idx_queue.clone().detach()], dim=1)\n        pos_idx = torch.eq(idx, idx_all).float()\n        sim_targets = pos_idx / pos_idx.sum(1, keepdim=True)\n\n        # get momentum features\n        with torch.no_grad():\n            self._momentum_update()\n            image_embeds_m = self.visual_encoder_m(image)\n            image_feat_m = F.normalize(\n                self.vision_proj_m(image_embeds_m[:, 0, :]), dim=-1\n            )\n            image_feat_m_all = torch.cat(\n                [image_feat_m.t(), self.image_queue.clone().detach()], dim=1\n            )\n\n            text_output_m = self.text_encoder_m(\n                text.input_ids,\n                attention_mask=text.attention_mask,\n                return_dict=True,\n                mode=\"text\",\n            )\n            text_feat_m = F.normalize(\n                self.text_proj_m(text_output_m.last_hidden_state[:, 0, :]), dim=-1\n            )\n            text_feat_m_all = torch.cat(\n                [text_feat_m.t(), self.text_queue.clone().detach()], dim=1\n            )\n\n            sim_i2t_m = image_feat_m @ text_feat_m_all / self.temp\n            sim_t2i_m = text_feat_m @ image_feat_m_all / self.temp\n\n            sim_i2t_targets = (\n                alpha * F.softmax(sim_i2t_m, dim=1) + (1 - alpha) * sim_targets\n            )\n            sim_t2i_targets = (\n                alpha * F.softmax(sim_t2i_m, dim=1) + (1 - alpha) * sim_targets\n            )\n\n        sim_i2t = image_feat @ text_feat_m_all / self.temp\n        sim_t2i = text_feat @ image_feat_m_all / self.temp\n\n        loss_i2t = -torch.sum(\n            F.log_softmax(sim_i2t, dim=1) * sim_i2t_targets, dim=1\n        ).mean()\n        loss_t2i = -torch.sum(\n            F.log_softmax(sim_t2i, dim=1) * sim_t2i_targets, dim=1\n        ).mean()\n\n        loss_ita = (loss_i2t + loss_t2i) / 2\n\n        idxs = concat_all_gather(idx)\n        self._dequeue_and_enqueue(image_feat_m, text_feat_m, idxs)\n\n        ###============== Image-text Matching ===================###\n        encoder_input_ids = text.input_ids.clone()\n        encoder_input_ids[:, 0] = self.tokenizer.enc_token_id\n\n        # forward the positve image-text pair\n        bs = image.size(0)\n        output_pos = self.text_encoder(\n            encoder_input_ids,\n            attention_mask=text.attention_mask,\n            encoder_hidden_states=image_embeds,\n            encoder_attention_mask=image_atts,\n            return_dict=True,\n        )\n\n        if self.negative_all_rank:\n            # compute sample similarity\n            with torch.no_grad():\n                mask = torch.eq(idx, idxs.t())\n\n                image_feat_world = concat_all_gather(image_feat)\n                text_feat_world = concat_all_gather(text_feat)\n\n                sim_i2t = image_feat @ text_feat_world.t() / self.temp\n                sim_t2i = text_feat @ image_feat_world.t() / self.temp\n\n                weights_i2t = F.softmax(sim_i2t, dim=1)\n                weights_i2t.masked_fill_(mask, 0)\n\n                weights_t2i = F.softmax(sim_t2i, dim=1)\n                weights_t2i.masked_fill_(mask, 0)\n\n            image_embeds_world = all_gather_with_grad(image_embeds)\n\n            # select a negative image (from all ranks) for each text\n            image_embeds_neg = []\n            for b in range(bs):\n                neg_idx = torch.multinomial(weights_t2i[b], 1).item()\n                image_embeds_neg.append(image_embeds_world[neg_idx])\n            image_embeds_neg = torch.stack(image_embeds_neg, dim=0)\n\n            # select a negative text (from all ranks) for each image\n            input_ids_world = concat_all_gather(encoder_input_ids)\n            att_mask_world = concat_all_gather(text.attention_mask)\n\n            text_ids_neg = []\n            text_atts_neg = []\n            for b in range(bs):\n                neg_idx = torch.multinomial(weights_i2t[b], 1).item()\n                text_ids_neg.append(input_ids_world[neg_idx])\n                text_atts_neg.append(att_mask_world[neg_idx])\n\n        else:\n            with torch.no_grad():\n                mask = torch.eq(idx, idx.t())\n\n                sim_i2t = image_feat @ text_feat.t() / self.temp\n                sim_t2i = text_feat @ image_feat.t() / self.temp\n\n                weights_i2t = F.softmax(sim_i2t, dim=1)\n                weights_i2t.masked_fill_(mask, 0)\n\n                weights_t2i = F.softmax(sim_t2i, dim=1)\n                weights_t2i.masked_fill_(mask, 0)\n\n            # select a negative image (from same rank) for each text\n            image_embeds_neg = []\n            for b in range(bs):\n                neg_idx = torch.multinomial(weights_t2i[b], 1).item()\n                image_embeds_neg.append(image_embeds[neg_idx])\n            image_embeds_neg = torch.stack(image_embeds_neg, dim=0)\n\n            # select a negative text (from same rank) for each image\n            text_ids_neg = []\n            text_atts_neg = []\n            for b in range(bs):\n                neg_idx = torch.multinomial(weights_i2t[b], 1).item()\n                text_ids_neg.append(encoder_input_ids[neg_idx])\n                text_atts_neg.append(text.attention_mask[neg_idx])\n\n        text_ids_neg = torch.stack(text_ids_neg, dim=0)\n        text_atts_neg = torch.stack(text_atts_neg, dim=0)\n\n        text_ids_all = torch.cat([encoder_input_ids, text_ids_neg], dim=0)\n        text_atts_all = torch.cat([text.attention_mask, text_atts_neg], dim=0)\n\n        image_embeds_all = torch.cat([image_embeds_neg, image_embeds], dim=0)\n        image_atts_all = torch.cat([image_atts, image_atts], dim=0)\n\n        output_neg = self.text_encoder(\n            text_ids_all,\n            attention_mask=text_atts_all,\n            encoder_hidden_states=image_embeds_all,\n            encoder_attention_mask=image_atts_all,\n            return_dict=True,\n        )\n\n        vl_embeddings = torch.cat(\n            [\n                output_pos.last_hidden_state[:, 0, :],\n                output_neg.last_hidden_state[:, 0, :],\n            ],\n            dim=0,\n        )\n        vl_output = self.itm_head(vl_embeddings)\n\n        itm_labels = torch.cat(\n            [torch.ones(bs, dtype=torch.long), torch.zeros(2 * bs, dtype=torch.long)],\n            dim=0,\n        ).to(image.device)\n        loss_itm = F.cross_entropy(vl_output, itm_labels)\n\n        return loss_ita, loss_itm\n\n    @torch.no_grad()\n    def copy_params(self):\n        for model_pair in self.model_pairs:\n            for param, param_m in zip(\n                model_pair[0].parameters(), model_pair[1].parameters()\n            ):\n                param_m.data.copy_(param.data)  # initialize\n                param_m.requires_grad = False  # not update by gradient\n\n    @torch.no_grad()\n    def _momentum_update(self):\n        for model_pair in self.model_pairs:\n            for param, param_m in zip(\n                model_pair[0].parameters(), model_pair[1].parameters()\n            ):\n                param_m.data = param_m.data * self.momentum + param.data * (\n                    1.0 - self.momentum\n                )\n\n    @torch.no_grad()\n    def _dequeue_and_enqueue(self, image_feat, text_feat, idxs):\n        # gather keys before updating queue\n        image_feats = concat_all_gather(image_feat)\n        text_feats = concat_all_gather(text_feat)\n\n        batch_size = image_feats.shape[0]\n\n        ptr = int(self.ptr_queue)\n        assert self.queue_size % batch_size == 0  # for simplicity\n\n        # replace the keys at ptr (dequeue and enqueue)\n        self.image_queue[:, ptr : ptr + batch_size] = image_feats.T\n        self.text_queue[:, ptr : ptr + batch_size] = text_feats.T\n        self.idx_queue[:, ptr : ptr + batch_size] = idxs.T\n        ptr = (ptr + batch_size) % self.queue_size  # move pointer\n\n        self.ptr_queue[0] = ptr\n\n\ndef blip_retrieval(pretrained=\"\", **kwargs):\n    model = BLIP_Retrieval(**kwargs)\n    if pretrained:\n        model, msg = load_checkpoint(model, pretrained)\n        print(\"missing keys:\")\n        print(msg.missing_keys)\n    return model\n\n\n@torch.no_grad()\ndef concat_all_gather(tensor):\n    \"\"\"\n    Performs all_gather operation on the provided tensors.\n    *** Warning ***: torch.distributed.all_gather has no gradient.\n    \"\"\"\n    tensors_gather = [\n        torch.ones_like(tensor) for _ in range(torch.distributed.get_world_size())\n    ]\n    torch.distributed.all_gather(tensors_gather, tensor, async_op=False)\n\n    output = torch.cat(tensors_gather, dim=0)\n    return output\n\n\nclass GatherLayer(torch.autograd.Function):\n    \"\"\"\n    Gather tensors from all workers with support for backward propagation:\n    This implementation does not cut the gradients as torch.distributed.all_gather does.\n    \"\"\"\n\n    @staticmethod\n    def forward(ctx, x):\n        output = [\n            torch.zeros_like(x) for _ in range(torch.distributed.get_world_size())\n        ]\n        torch.distributed.all_gather(output, x)\n        return tuple(output)\n\n    @staticmethod\n    def backward(ctx, *grads):\n        all_gradients = torch.stack(grads)\n        torch.distributed.all_reduce(all_gradients)\n        return all_gradients[torch.distributed.get_rank()]\n\n\ndef all_gather_with_grad(tensors):\n    \"\"\"\n    Performs all_gather operation on the provided tensors.\n    Graph remains connected for backward grad computation.\n    \"\"\"\n    # Queue the gathered tensors\n    world_size = torch.distributed.get_world_size()\n    # There is no need for reduction in the single-proc case\n    if world_size == 1:\n        return tensors\n\n    tensor_all = GatherLayer.apply(tensors)\n\n    return torch.cat(tensor_all, dim=0)\n"
  },
  {
    "path": "ldm/models/blip_vqa.py",
    "content": "from models.med import BertConfig, BertModel, BertLMHeadModel\nfrom models.blip import create_vit, init_tokenizer, load_checkpoint\n\nimport torch\nfrom torch import nn\nimport torch.nn.functional as F\nimport numpy as np\n\n\nclass BLIP_VQA(nn.Module):\n    def __init__(\n        self,\n        med_config=\"configs/med_config.json\",\n        image_size=480,\n        vit=\"base\",\n        vit_grad_ckpt=False,\n        vit_ckpt_layer=0,\n    ):\n        \"\"\"\n        Args:\n            med_config (str): path for the mixture of encoder-decoder model's configuration file\n            image_size (int): input image size\n            vit (str): model size of vision transformer\n        \"\"\"\n        super().__init__()\n\n        self.visual_encoder, vision_width = create_vit(\n            vit, image_size, vit_grad_ckpt, vit_ckpt_layer, drop_path_rate=0.1\n        )\n        self.tokenizer = init_tokenizer()\n\n        encoder_config = BertConfig.from_json_file(med_config)\n        encoder_config.encoder_width = vision_width\n        self.text_encoder = BertModel(config=encoder_config, add_pooling_layer=False)\n\n        decoder_config = BertConfig.from_json_file(med_config)\n        self.text_decoder = BertLMHeadModel(config=decoder_config)\n\n    def forward(\n        self,\n        image,\n        question,\n        answer=None,\n        n=None,\n        weights=None,\n        train=True,\n        inference=\"rank\",\n        k_test=128,\n    ):\n        image_embeds = self.visual_encoder(image)\n        image_atts = torch.ones(image_embeds.size()[:-1], dtype=torch.long).to(\n            image.device\n        )\n\n        question = self.tokenizer(\n            question,\n            padding=\"longest\",\n            truncation=True,\n            max_length=35,\n            return_tensors=\"pt\",\n        ).to(image.device)\n        question.input_ids[:, 0] = self.tokenizer.enc_token_id\n\n        if train:\n            \"\"\"\n            n: number of answers for each question\n            weights: weight for each answer\n            \"\"\"\n            answer = self.tokenizer(answer, padding=\"longest\", return_tensors=\"pt\").to(\n                image.device\n            )\n            answer.input_ids[:, 0] = self.tokenizer.bos_token_id\n            answer_targets = answer.input_ids.masked_fill(\n                answer.input_ids == self.tokenizer.pad_token_id, -100\n            )\n\n            question_output = self.text_encoder(\n                question.input_ids,\n                attention_mask=question.attention_mask,\n                encoder_hidden_states=image_embeds,\n                encoder_attention_mask=image_atts,\n                return_dict=True,\n            )\n\n            question_states = []\n            question_atts = []\n            for b, n in enumerate(n):\n                question_states += [question_output.last_hidden_state[b]] * n\n                question_atts += [question.attention_mask[b]] * n\n            question_states = torch.stack(question_states, 0)\n            question_atts = torch.stack(question_atts, 0)\n\n            answer_output = self.text_decoder(\n                answer.input_ids,\n                attention_mask=answer.attention_mask,\n                encoder_hidden_states=question_states,\n                encoder_attention_mask=question_atts,\n                labels=answer_targets,\n                return_dict=True,\n                reduction=\"none\",\n            )\n\n            loss = weights * answer_output.loss\n            loss = loss.sum() / image.size(0)\n\n            return loss\n\n        else:\n            question_output = self.text_encoder(\n                question.input_ids,\n                attention_mask=question.attention_mask,\n                encoder_hidden_states=image_embeds,\n                encoder_attention_mask=image_atts,\n                return_dict=True,\n            )\n\n            if inference == \"generate\":\n                num_beams = 3\n                question_states = question_output.last_hidden_state.repeat_interleave(\n                    num_beams, dim=0\n                )\n                question_atts = torch.ones(\n                    question_states.size()[:-1], dtype=torch.long\n                ).to(question_states.device)\n                model_kwargs = {\n                    \"encoder_hidden_states\": question_states,\n                    \"encoder_attention_mask\": question_atts,\n                }\n\n                bos_ids = torch.full(\n                    (image.size(0), 1),\n                    fill_value=self.tokenizer.bos_token_id,\n                    device=image.device,\n                )\n\n                outputs = self.text_decoder.generate(\n                    input_ids=bos_ids,\n                    max_length=10,\n                    min_length=1,\n                    num_beams=num_beams,\n                    eos_token_id=self.tokenizer.sep_token_id,\n                    pad_token_id=self.tokenizer.pad_token_id,\n                    **model_kwargs\n                )\n\n                answers = []\n                for output in outputs:\n                    answer = self.tokenizer.decode(output, skip_special_tokens=True)\n                    answers.append(answer)\n                return answers\n\n            elif inference == \"rank\":\n                max_ids = self.rank_answer(\n                    question_output.last_hidden_state,\n                    question.attention_mask,\n                    answer.input_ids,\n                    answer.attention_mask,\n                    k_test,\n                )\n                return max_ids\n\n    def rank_answer(self, question_states, question_atts, answer_ids, answer_atts, k):\n        num_ques = question_states.size(0)\n        start_ids = answer_ids[0, 0].repeat(num_ques, 1)  # bos token\n\n        start_output = self.text_decoder(\n            start_ids,\n            encoder_hidden_states=question_states,\n            encoder_attention_mask=question_atts,\n            return_dict=True,\n            reduction=\"none\",\n        )\n        logits = start_output.logits[:, 0, :]  # first token's logit\n\n        # topk_probs: top-k probability\n        # topk_ids: [num_question, k]\n        answer_first_token = answer_ids[:, 1]\n        prob_first_token = F.softmax(logits, dim=1).index_select(\n            dim=1, index=answer_first_token\n        )\n        topk_probs, topk_ids = prob_first_token.topk(k, dim=1)\n\n        # answer input: [num_question*k, answer_len]\n        input_ids = []\n        input_atts = []\n        for b, topk_id in enumerate(topk_ids):\n            input_ids.append(answer_ids.index_select(dim=0, index=topk_id))\n            input_atts.append(answer_atts.index_select(dim=0, index=topk_id))\n        input_ids = torch.cat(input_ids, dim=0)\n        input_atts = torch.cat(input_atts, dim=0)\n\n        targets_ids = input_ids.masked_fill(\n            input_ids == self.tokenizer.pad_token_id, -100\n        )\n\n        # repeat encoder's output for top-k answers\n        question_states = tile(question_states, 0, k)\n        question_atts = tile(question_atts, 0, k)\n\n        output = self.text_decoder(\n            input_ids,\n            attention_mask=input_atts,\n            encoder_hidden_states=question_states,\n            encoder_attention_mask=question_atts,\n            labels=targets_ids,\n            return_dict=True,\n            reduction=\"none\",\n        )\n\n        log_probs_sum = -output.loss\n        log_probs_sum = log_probs_sum.view(num_ques, k)\n\n        max_topk_ids = log_probs_sum.argmax(dim=1)\n        max_ids = topk_ids[max_topk_ids >= 0, max_topk_ids]\n\n        return max_ids\n\n\ndef blip_vqa(pretrained=\"\", **kwargs):\n    model = BLIP_VQA(**kwargs)\n    if pretrained:\n        model, msg = load_checkpoint(model, pretrained)\n    #         assert(len(msg.missing_keys)==0)\n    return model\n\n\ndef tile(x, dim, n_tile):\n    init_dim = x.size(dim)\n    repeat_idx = [1] * x.dim()\n    repeat_idx[dim] = n_tile\n    x = x.repeat(*(repeat_idx))\n    order_index = torch.LongTensor(\n        np.concatenate([init_dim * np.arange(n_tile) + i for i in range(init_dim)])\n    )\n    return torch.index_select(x, dim, order_index.to(x.device))\n"
  },
  {
    "path": "ldm/models/diffusion/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/models/diffusion/classifier.py",
    "content": "import os\nimport torch\nimport pytorch_lightning as pl\nfrom omegaconf import OmegaConf\nfrom torch.nn import functional as F\nfrom torch.optim import AdamW\nfrom torch.optim.lr_scheduler import LambdaLR\nfrom copy import deepcopy\nfrom einops import rearrange\nfrom glob import glob\nfrom natsort import natsorted\n\nfrom ldm.modules.diffusionmodules.openaimodel import EncoderUNetModel, UNetModel\nfrom ldm.util import log_txt_as_img, default, ismap, instantiate_from_config\n\n__models__ = {\"class_label\": EncoderUNetModel, \"segmentation\": UNetModel}\n\n\ndef disabled_train(self, mode=True):\n    \"\"\"Overwrite model.train with this function to make sure train/eval mode\n    does not change anymore.\"\"\"\n    return self\n\n\nclass NoisyLatentImageClassifier(pl.LightningModule):\n    def __init__(\n        self,\n        diffusion_path,\n        num_classes,\n        ckpt_path=None,\n        pool=\"attention\",\n        label_key=None,\n        diffusion_ckpt_path=None,\n        scheduler_config=None,\n        weight_decay=1.0e-2,\n        log_steps=10,\n        monitor=\"val/loss\",\n        *args,\n        **kwargs,\n    ):\n        super().__init__(*args, **kwargs)\n        self.num_classes = num_classes\n        # get latest config of diffusion model\n        diffusion_config = natsorted(\n            glob(os.path.join(diffusion_path, \"configs\", \"*-project.yaml\"))\n        )[-1]\n        self.diffusion_config = OmegaConf.load(diffusion_config).model\n        self.diffusion_config.params.ckpt_path = diffusion_ckpt_path\n        self.load_diffusion()\n\n        self.monitor = monitor\n        self.numd = self.diffusion_model.first_stage_model.encoder.num_resolutions - 1\n        self.log_time_interval = self.diffusion_model.num_timesteps // log_steps\n        self.log_steps = log_steps\n\n        self.label_key = (\n            label_key\n            if not hasattr(self.diffusion_model, \"cond_stage_key\")\n            else self.diffusion_model.cond_stage_key\n        )\n\n        assert (\n            self.label_key is not None\n        ), \"label_key neither in diffusion model nor in model.params\"\n\n        if self.label_key not in __models__:\n            raise NotImplementedError()\n\n        self.load_classifier(ckpt_path, pool)\n\n        self.scheduler_config = scheduler_config\n        self.use_scheduler = self.scheduler_config is not None\n        self.weight_decay = weight_decay\n\n    def init_from_ckpt(self, path, ignore_keys=list(), only_model=False):\n        sd = torch.load(path, map_location=\"cpu\")\n        if \"state_dict\" in list(sd.keys()):\n            sd = sd[\"state_dict\"]\n        keys = list(sd.keys())\n        for k in keys:\n            for ik in ignore_keys:\n                if k.startswith(ik):\n                    print(\"Deleting key {} from state_dict.\".format(k))\n                    del sd[k]\n        missing, unexpected = (\n            self.load_state_dict(sd, strict=False)\n            if not only_model\n            else self.model.load_state_dict(sd, strict=False)\n        )\n        print(\n            f\"Restored from {path} with {len(missing)} missing and {len(unexpected)} unexpected keys\"\n        )\n        if len(missing) > 0:\n            print(f\"Missing Keys: {missing}\")\n        if len(unexpected) > 0:\n            print(f\"Unexpected Keys: {unexpected}\")\n\n    def load_diffusion(self):\n        model = instantiate_from_config(self.diffusion_config)\n        self.diffusion_model = model.eval()\n        self.diffusion_model.train = disabled_train\n        for param in self.diffusion_model.parameters():\n            param.requires_grad = False\n\n    def load_classifier(self, ckpt_path, pool):\n        model_config = deepcopy(self.diffusion_config.params.unet_config.params)\n        model_config.in_channels = (\n            self.diffusion_config.params.unet_config.params.out_channels\n        )\n        model_config.out_channels = self.num_classes\n        if self.label_key == \"class_label\":\n            model_config.pool = pool\n\n        self.model = __models__[self.label_key](**model_config)\n        if ckpt_path is not None:\n            print(\n                \"#####################################################################\"\n            )\n            print(f'load from ckpt \"{ckpt_path}\"')\n            print(\n                \"#####################################################################\"\n            )\n            self.init_from_ckpt(ckpt_path)\n\n    @torch.no_grad()\n    def get_x_noisy(self, x, t, noise=None):\n        noise = default(noise, lambda: torch.randn_like(x))\n        continuous_sqrt_alpha_cumprod = None\n        if self.diffusion_model.use_continuous_noise:\n            continuous_sqrt_alpha_cumprod = (\n                self.diffusion_model.sample_continuous_noise_level(x.shape[0], t + 1)\n            )\n            # todo: make sure t+1 is correct here\n\n        return self.diffusion_model.q_sample(\n            x_start=x,\n            t=t,\n            noise=noise,\n            continuous_sqrt_alpha_cumprod=continuous_sqrt_alpha_cumprod,\n        )\n\n    def forward(self, x_noisy, t, *args, **kwargs):\n        return self.model(x_noisy, t)\n\n    @torch.no_grad()\n    def get_input(self, batch, k):\n        x = batch[k]\n        if len(x.shape) == 3:\n            x = x[..., None]\n        x = rearrange(x, \"b h w c -> b c h w\")\n        x = x.to(memory_format=torch.contiguous_format).float()\n        return x\n\n    @torch.no_grad()\n    def get_conditioning(self, batch, k=None):\n        if k is None:\n            k = self.label_key\n        assert k is not None, \"Needs to provide label key\"\n\n        targets = batch[k].to(self.device)\n\n        if self.label_key == \"segmentation\":\n            targets = rearrange(targets, \"b h w c -> b c h w\")\n            for down in range(self.numd):\n                h, w = targets.shape[-2:]\n                targets = F.interpolate(targets, size=(h // 2, w // 2), mode=\"nearest\")\n\n            # targets = rearrange(targets,'b c h w -> b h w c')\n\n        return targets\n\n    def compute_top_k(self, logits, labels, k, reduction=\"mean\"):\n        _, top_ks = torch.topk(logits, k, dim=1)\n        if reduction == \"mean\":\n            return (top_ks == labels[:, None]).float().sum(dim=-1).mean().item()\n        elif reduction == \"none\":\n            return (top_ks == labels[:, None]).float().sum(dim=-1)\n\n    def on_train_epoch_start(self):\n        # save some memory\n        self.diffusion_model.model.to(\"cpu\")\n\n    @torch.no_grad()\n    def write_logs(self, loss, logits, targets):\n        log_prefix = \"train\" if self.training else \"val\"\n        log = {}\n        log[f\"{log_prefix}/loss\"] = loss.mean()\n        log[f\"{log_prefix}/acc@1\"] = self.compute_top_k(\n            logits, targets, k=1, reduction=\"mean\"\n        )\n        log[f\"{log_prefix}/acc@5\"] = self.compute_top_k(\n            logits, targets, k=5, reduction=\"mean\"\n        )\n\n        self.log_dict(\n            log, prog_bar=False, logger=True, on_step=self.training, on_epoch=True\n        )\n        self.log(\"loss\", log[f\"{log_prefix}/loss\"], prog_bar=True, logger=False)\n        self.log(\n            \"global_step\", self.global_step, logger=False, on_epoch=False, prog_bar=True\n        )\n        lr = self.optimizers().param_groups[0][\"lr\"]\n        self.log(\"lr_abs\", lr, on_step=True, logger=True, on_epoch=False, prog_bar=True)\n\n    def shared_step(self, batch, t=None):\n        x, *_ = self.diffusion_model.get_input(\n            batch, k=self.diffusion_model.first_stage_key\n        )\n        targets = self.get_conditioning(batch)\n        if targets.dim() == 4:\n            targets = targets.argmax(dim=1)\n        if t is None:\n            t = torch.randint(\n                0, self.diffusion_model.num_timesteps, (x.shape[0],), device=self.device\n            ).long()\n        else:\n            t = torch.full(size=(x.shape[0],), fill_value=t, device=self.device).long()\n        x_noisy = self.get_x_noisy(x, t)\n        logits = self(x_noisy, t)\n\n        loss = F.cross_entropy(logits, targets, reduction=\"none\")\n\n        self.write_logs(loss.detach(), logits.detach(), targets.detach())\n\n        loss = loss.mean()\n        return loss, logits, x_noisy, targets\n\n    def training_step(self, batch, batch_idx):\n        loss, *_ = self.shared_step(batch)\n        return loss\n\n    def reset_noise_accs(self):\n        self.noisy_acc = {\n            t: {\"acc@1\": [], \"acc@5\": []}\n            for t in range(\n                0, self.diffusion_model.num_timesteps, self.diffusion_model.log_every_t\n            )\n        }\n\n    def on_validation_start(self):\n        self.reset_noise_accs()\n\n    @torch.no_grad()\n    def validation_step(self, batch, batch_idx):\n        loss, *_ = self.shared_step(batch)\n\n        for t in self.noisy_acc:\n            _, logits, _, targets = self.shared_step(batch, t)\n            self.noisy_acc[t][\"acc@1\"].append(\n                self.compute_top_k(logits, targets, k=1, reduction=\"mean\")\n            )\n            self.noisy_acc[t][\"acc@5\"].append(\n                self.compute_top_k(logits, targets, k=5, reduction=\"mean\")\n            )\n\n        return loss\n\n    def configure_optimizers(self):\n        optimizer = AdamW(\n            self.model.parameters(),\n            lr=self.learning_rate,\n            weight_decay=self.weight_decay,\n        )\n\n        if self.use_scheduler:\n            scheduler = instantiate_from_config(self.scheduler_config)\n\n            print(\"Setting up LambdaLR scheduler...\")\n            scheduler = [\n                {\n                    \"scheduler\": LambdaLR(optimizer, lr_lambda=scheduler.schedule),\n                    \"interval\": \"step\",\n                    \"frequency\": 1,\n                }\n            ]\n            return [optimizer], scheduler\n\n        return optimizer\n\n    @torch.no_grad()\n    def log_images(self, batch, N=8, *args, **kwargs):\n        log = dict()\n        x = self.get_input(batch, self.diffusion_model.first_stage_key)\n        log[\"inputs\"] = x\n\n        y = self.get_conditioning(batch)\n\n        if self.label_key == \"class_label\":\n            y = log_txt_as_img((x.shape[2], x.shape[3]), batch[\"human_label\"])\n            log[\"labels\"] = y\n\n        if ismap(y):\n            log[\"labels\"] = self.diffusion_model.to_rgb(y)\n\n            for step in range(self.log_steps):\n                current_time = step * self.log_time_interval\n\n                _, logits, x_noisy, _ = self.shared_step(batch, t=current_time)\n\n                log[f\"inputs@t{current_time}\"] = x_noisy\n\n                pred = F.one_hot(logits.argmax(dim=1), num_classes=self.num_classes)\n                pred = rearrange(pred, \"b h w c -> b c h w\")\n\n                log[f\"pred@t{current_time}\"] = self.diffusion_model.to_rgb(pred)\n\n        for key in log:\n            log[key] = log[key][:N]\n\n        return log\n"
  },
  {
    "path": "ldm/models/diffusion/ddim.py",
    "content": "\"\"\"SAMPLING ONLY.\"\"\"\n\nimport torch\nimport numpy as np\nfrom tqdm import tqdm\n\nfrom ldm.modules.diffusionmodules.util import (\n    make_ddim_sampling_parameters,\n    make_ddim_timesteps,\n    noise_like,\n    extract_into_tensor,\n)\n\n\nclass DDIMSampler(object):\n    def __init__(self, model, schedule=\"linear\", **kwargs):\n        super().__init__()\n        self.model = model\n        self.ddpm_num_timesteps = model.num_timesteps\n        self.schedule = schedule\n\n    def register_buffer(self, name, attr):\n        if type(attr) == torch.Tensor:\n            if attr.device != torch.device(\"cuda\"):\n                attr = attr.to(torch.device(\"cuda\"))\n        setattr(self, name, attr)\n\n    def make_schedule(\n        self, ddim_num_steps, ddim_discretize=\"uniform\", ddim_eta=0.0, verbose=True\n    ):\n        self.ddim_timesteps = make_ddim_timesteps(\n            ddim_discr_method=ddim_discretize,\n            num_ddim_timesteps=ddim_num_steps,\n            num_ddpm_timesteps=self.ddpm_num_timesteps,\n            verbose=verbose,\n        )\n        alphas_cumprod = self.model.alphas_cumprod\n        assert (\n            alphas_cumprod.shape[0] == self.ddpm_num_timesteps\n        ), \"alphas have to be defined for each timestep\"\n\n        def to_torch(x):\n            return x.clone().detach().to(torch.float32).to(self.model.device)\n\n        self.register_buffer(\"betas\", to_torch(self.model.betas))\n        self.register_buffer(\"alphas_cumprod\", to_torch(alphas_cumprod))\n        self.register_buffer(\n            \"alphas_cumprod_prev\", to_torch(self.model.alphas_cumprod_prev)\n        )\n\n        # calculations for diffusion q(x_t | x_{t-1}) and others\n        self.register_buffer(\n            \"sqrt_alphas_cumprod\", to_torch(np.sqrt(alphas_cumprod.cpu()))\n        )\n        self.register_buffer(\n            \"sqrt_one_minus_alphas_cumprod\",\n            to_torch(np.sqrt(1.0 - alphas_cumprod.cpu())),\n        )\n        self.register_buffer(\n            \"log_one_minus_alphas_cumprod\", to_torch(np.log(1.0 - alphas_cumprod.cpu()))\n        )\n        self.register_buffer(\n            \"sqrt_recip_alphas_cumprod\", to_torch(np.sqrt(1.0 / alphas_cumprod.cpu()))\n        )\n        self.register_buffer(\n            \"sqrt_recipm1_alphas_cumprod\",\n            to_torch(np.sqrt(1.0 / alphas_cumprod.cpu() - 1)),\n        )\n\n        # ddim sampling parameters\n        ddim_sigmas, ddim_alphas, ddim_alphas_prev = make_ddim_sampling_parameters(\n            alphacums=alphas_cumprod.cpu(),\n            ddim_timesteps=self.ddim_timesteps,\n            eta=ddim_eta,\n            verbose=verbose,\n        )\n        self.register_buffer(\"ddim_sigmas\", ddim_sigmas)\n        self.register_buffer(\"ddim_alphas\", ddim_alphas)\n        self.register_buffer(\"ddim_alphas_prev\", ddim_alphas_prev)\n        self.register_buffer(\"ddim_sqrt_one_minus_alphas\", np.sqrt(1.0 - ddim_alphas))\n        sigmas_for_original_sampling_steps = ddim_eta * torch.sqrt(\n            (1 - self.alphas_cumprod_prev)\n            / (1 - self.alphas_cumprod)\n            * (1 - self.alphas_cumprod / self.alphas_cumprod_prev)\n        )\n        self.register_buffer(\n            \"ddim_sigmas_for_original_num_steps\", sigmas_for_original_sampling_steps\n        )\n\n    @torch.no_grad()\n    def sample(\n        self,\n        S,\n        batch_size,\n        shape,\n        conditioning=None,\n        callback=None,\n        normals_sequence=None,\n        img_callback=None,\n        quantize_x0=False,\n        eta=0.0,\n        mask=None,\n        x0=None,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        verbose=True,\n        x_T=None,\n        log_every_t=100,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n        # this has to come in the same format as the conditioning, # e.g. as encoded tokens, ...\n        **kwargs,\n    ):\n        if conditioning is not None:\n            if isinstance(conditioning, dict):\n                cbs = conditioning[list(conditioning.keys())[0]].shape[0]\n                if cbs != batch_size:\n                    print(\n                        f\"Warning: Got {cbs} conditionings but batch-size is {batch_size}\"\n                    )\n            else:\n                if conditioning.shape[0] != batch_size:\n                    print(\n                        f\"Warning: Got {conditioning.shape[0]} conditionings but batch-size is {batch_size}\"\n                    )\n\n        self.make_schedule(ddim_num_steps=S, ddim_eta=eta, verbose=verbose)\n        # sampling\n        C, H, W = shape\n        size = (batch_size, C, H, W)\n        print(f\"Data shape for DDIM sampling is {size}, eta {eta}\")\n\n        samples, intermediates = self.ddim_sampling(\n            conditioning,\n            size,\n            callback=callback,\n            img_callback=img_callback,\n            quantize_denoised=quantize_x0,\n            mask=mask,\n            x0=x0,\n            ddim_use_original_steps=False,\n            noise_dropout=noise_dropout,\n            temperature=temperature,\n            score_corrector=score_corrector,\n            corrector_kwargs=corrector_kwargs,\n            x_T=x_T,\n            log_every_t=log_every_t,\n            unconditional_guidance_scale=unconditional_guidance_scale,\n            unconditional_conditioning=unconditional_conditioning,\n        )\n        return samples, intermediates\n\n    @torch.no_grad()\n    def ddim_sampling(\n        self,\n        cond,\n        shape,\n        x_T=None,\n        ddim_use_original_steps=False,\n        callback=None,\n        timesteps=None,\n        quantize_denoised=False,\n        mask=None,\n        x0=None,\n        img_callback=None,\n        log_every_t=100,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n    ):\n        device = self.model.betas.device\n        b = shape[0]\n        if x_T is None:\n            img = torch.randn(shape, device=device)\n        else:\n            img = x_T\n\n        if timesteps is None:\n            timesteps = (\n                self.ddpm_num_timesteps\n                if ddim_use_original_steps\n                else self.ddim_timesteps\n            )\n        elif timesteps is not None and not ddim_use_original_steps:\n            subset_end = (\n                int(\n                    min(timesteps / self.ddim_timesteps.shape[0], 1)\n                    * self.ddim_timesteps.shape[0]\n                )\n                - 1\n            )\n            timesteps = self.ddim_timesteps[:subset_end]\n\n        intermediates = {\"x_inter\": [img], \"pred_x0\": [img]}\n        time_range = (\n            reversed(range(0, timesteps))\n            if ddim_use_original_steps\n            else np.flip(timesteps)\n        )\n        total_steps = timesteps if ddim_use_original_steps else timesteps.shape[0]\n        print(f\"Running DDIM Sampling with {total_steps} timesteps\")\n\n        iterator = tqdm(time_range, desc=\"DDIM Sampler\", total=total_steps)\n\n        for i, step in enumerate(iterator):\n            index = total_steps - i - 1\n            ts = torch.full((b,), step, device=device, dtype=torch.long)\n\n            if mask is not None:\n                assert x0 is not None\n                img_orig = self.model.q_sample(\n                    x0, ts\n                )  # TODO: deterministic forward pass?\n                img = img_orig * mask + (1.0 - mask) * img\n\n            outs = self.p_sample_ddim(\n                img,\n                cond,\n                ts,\n                index=index,\n                use_original_steps=ddim_use_original_steps,\n                quantize_denoised=quantize_denoised,\n                temperature=temperature,\n                noise_dropout=noise_dropout,\n                score_corrector=score_corrector,\n                corrector_kwargs=corrector_kwargs,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n                unconditional_conditioning=unconditional_conditioning,\n            )\n            img, pred_x0 = outs\n            if callback:\n                callback(i)\n            if img_callback:\n                img_callback(pred_x0, i)\n\n            if index % log_every_t == 0 or index == total_steps - 1:\n                intermediates[\"x_inter\"].append(img)\n                intermediates[\"pred_x0\"].append(pred_x0)\n\n        return img, intermediates\n\n    @torch.no_grad()\n    def p_sample_ddim(\n        self,\n        x,\n        c,\n        t,\n        index,\n        repeat_noise=False,\n        use_original_steps=False,\n        quantize_denoised=False,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n    ):\n        b, *_, device = *x.shape, x.device\n\n        if unconditional_conditioning is None or unconditional_guidance_scale == 1.0:\n            e_t = self.model.apply_model(x, t, c)\n        else:\n            x_in = torch.cat([x] * 2)\n            t_in = torch.cat([t] * 2)\n            c_in = torch.cat([unconditional_conditioning, c])\n            e_t_uncond, e_t = self.model.apply_model(x_in, t_in, c_in).chunk(2)\n            e_t = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n        if score_corrector is not None:\n            assert self.model.parameterization == \"eps\"\n            e_t = score_corrector.modify_score(\n                self.model, e_t, x, t, c, **corrector_kwargs\n            )\n\n        alphas = self.model.alphas_cumprod if use_original_steps else self.ddim_alphas\n        alphas_prev = (\n            self.model.alphas_cumprod_prev\n            if use_original_steps\n            else self.ddim_alphas_prev\n        )\n        sqrt_one_minus_alphas = (\n            self.model.sqrt_one_minus_alphas_cumprod\n            if use_original_steps\n            else self.ddim_sqrt_one_minus_alphas\n        )\n        sigmas = (\n            self.model.ddim_sigmas_for_original_num_steps\n            if use_original_steps\n            else self.ddim_sigmas\n        )\n        # select parameters corresponding to the currently considered timestep\n        a_t = torch.full((b, 1, 1, 1), alphas[index], device=device)\n        a_prev = torch.full((b, 1, 1, 1), alphas_prev[index], device=device)\n        sigma_t = torch.full((b, 1, 1, 1), sigmas[index], device=device)\n        sqrt_one_minus_at = torch.full(\n            (b, 1, 1, 1), sqrt_one_minus_alphas[index], device=device\n        )\n\n        # current prediction for x_0\n        pred_x0 = (x - sqrt_one_minus_at * e_t) / a_t.sqrt()\n        if quantize_denoised:\n            pred_x0, _, *_ = self.model.first_stage_model.quantize(pred_x0)\n        # direction pointing to x_t\n        dir_xt = (1.0 - a_prev - sigma_t**2).sqrt() * e_t\n        noise = sigma_t * noise_like(x.shape, device, repeat_noise) * temperature\n        if noise_dropout > 0.0:\n            noise = torch.nn.functional.dropout(noise, p=noise_dropout)\n        x_prev = a_prev.sqrt() * pred_x0 + dir_xt + noise\n        return x_prev, pred_x0\n\n    @torch.no_grad()\n    def stochastic_encode(self, x0, t, use_original_steps=False, noise=None):\n        # fast, but does not allow for exact reconstruction\n        # t serves as an index to gather the correct alphas\n        if use_original_steps:\n            sqrt_alphas_cumprod = self.sqrt_alphas_cumprod\n            sqrt_one_minus_alphas_cumprod = self.sqrt_one_minus_alphas_cumprod\n        else:\n            sqrt_alphas_cumprod = torch.sqrt(self.ddim_alphas)\n            sqrt_one_minus_alphas_cumprod = self.ddim_sqrt_one_minus_alphas\n\n        if noise is None:\n            noise = torch.randn_like(x0)\n        return (\n            extract_into_tensor(sqrt_alphas_cumprod, t, x0.shape) * x0\n            + extract_into_tensor(sqrt_one_minus_alphas_cumprod, t, x0.shape) * noise\n        )\n\n    @torch.no_grad()\n    def decode(\n        self,\n        x_latent,\n        cond,\n        t_start,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n        use_original_steps=False,\n        z_mask=None,\n        x0=None,\n    ):\n        timesteps = (\n            np.arange(self.ddpm_num_timesteps)\n            if use_original_steps\n            else self.ddim_timesteps\n        )\n        timesteps = timesteps[:t_start]\n\n        time_range = np.flip(timesteps)\n        total_steps = timesteps.shape[0]\n        print(f\"Running DDIM Sampling with {total_steps} timesteps\")\n\n        iterator = tqdm(time_range, desc=\"Decoding image\", total=total_steps)\n        x_dec = x_latent\n        for i, step in enumerate(iterator):\n            index = total_steps - i - 1\n            ts = torch.full(\n                (x_latent.shape[0],), step, device=x_latent.device, dtype=torch.long\n            )\n\n            if z_mask is not None and i < total_steps - 2:\n                assert x0 is not None\n                img_orig = self.model.q_sample(\n                    x0, ts\n                )  # TODO: deterministic forward pass?\n                mask_inv = 1.0 - z_mask\n                x_dec = (img_orig * mask_inv) + (z_mask * x_dec)\n\n            x_dec, _ = self.p_sample_ddim(\n                x_dec,\n                cond,\n                ts,\n                index=index,\n                use_original_steps=use_original_steps,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n                unconditional_conditioning=unconditional_conditioning,\n            )\n        return x_dec\n"
  },
  {
    "path": "ldm/models/diffusion/ddpm.py",
    "content": "\"\"\"\nwild mixture of\nhttps://github.com/lucidrains/denoising-diffusion-pytorch/blob/7706bdfc6f527f58d33f84b7b522e61e6e3164b3/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py\nhttps://github.com/openai/improved-diffusion/blob/e94489283bb876ac1477d5dd7709bbbd2d9902ce/improved_diffusion/gaussian_diffusion.py\nhttps://github.com/CompVis/taming-transformers\n-- merci\n\"\"\"\n\nimport torch\nimport torch.nn as nn\nimport numpy as np\nimport pytorch_lightning as pl\nfrom torch.optim.lr_scheduler import LambdaLR\nfrom einops import rearrange, repeat\nfrom contextlib import contextmanager\nfrom functools import partial\nfrom tqdm import tqdm\nfrom torchvision.utils import make_grid\nfrom pytorch_lightning.utilities.distributed import rank_zero_only\n\nfrom ldm.util import (\n    log_txt_as_img,\n    exists,\n    default,\n    ismap,\n    isimage,\n    mean_flat,\n    count_params,\n    instantiate_from_config,\n)\nfrom ldm.modules.ema import LitEma\nfrom ldm.modules.distributions.distributions import (\n    normal_kl,\n    DiagonalGaussianDistribution,\n)\nfrom ldm.models.autoencoder import VQModelInterface, IdentityFirstStage, AutoencoderKL\nfrom ldm.modules.diffusionmodules.util import (\n    make_beta_schedule,\n    extract_into_tensor,\n    noise_like,\n)\nfrom ldm.models.diffusion.ddim import DDIMSampler\n\n\n__conditioning_keys__ = {\"concat\": \"c_concat\", \"crossattn\": \"c_crossattn\", \"adm\": \"y\"}\n\n\ndef disabled_train(self, mode=True):\n    \"\"\"Overwrite model.train with this function to make sure train/eval mode\n    does not change anymore.\"\"\"\n    return self\n\n\ndef uniform_on_device(r1, r2, shape, device):\n    return (r1 - r2) * torch.rand(*shape, device=device) + r2\n\n\nclass DDPM(pl.LightningModule):\n    # classic DDPM with Gaussian diffusion, in image space\n    def __init__(\n        self,\n        unet_config,\n        timesteps=1000,\n        beta_schedule=\"linear\",\n        loss_type=\"l2\",\n        ckpt_path=None,\n        ignore_keys=[],\n        load_only_unet=False,\n        monitor=\"val/loss\",\n        use_ema=True,\n        first_stage_key=\"image\",\n        image_size=256,\n        channels=3,\n        log_every_t=100,\n        clip_denoised=True,\n        linear_start=1e-4,\n        linear_end=2e-2,\n        cosine_s=8e-3,\n        given_betas=None,\n        original_elbo_weight=0.0,\n        v_posterior=0.0,  # weight for choosing posterior variance as sigma = (1-v) * beta_tilde + v * beta\n        l_simple_weight=1.0,\n        conditioning_key=None,\n        parameterization=\"eps\",  # all assuming fixed variance schedules\n        scheduler_config=None,\n        use_positional_encodings=False,\n        learn_logvar=False,\n        logvar_init=0.0,\n    ):\n        super().__init__()\n        assert parameterization in [\n            \"eps\",\n            \"x0\",\n        ], 'currently only supporting \"eps\" and \"x0\"'\n        self.parameterization = parameterization\n        print(\n            f\"{self.__class__.__name__}: Running in {self.parameterization}-prediction mode\"\n        )\n        self.cond_stage_model = None\n        self.clip_denoised = clip_denoised\n        self.log_every_t = log_every_t\n        self.first_stage_key = first_stage_key\n        self.image_size = image_size  # try conv?\n        self.channels = channels\n        self.use_positional_encodings = use_positional_encodings\n        self.model = DiffusionWrapper(unet_config, conditioning_key)\n        count_params(self.model, verbose=True)\n        self.use_ema = use_ema\n        if self.use_ema:\n            self.model_ema = LitEma(self.model)\n            print(f\"Keeping EMAs of {len(list(self.model_ema.buffers()))}.\")\n\n        self.use_scheduler = scheduler_config is not None\n        if self.use_scheduler:\n            self.scheduler_config = scheduler_config\n\n        self.v_posterior = v_posterior\n        self.original_elbo_weight = original_elbo_weight\n        self.l_simple_weight = l_simple_weight\n\n        if monitor is not None:\n            self.monitor = monitor\n        if ckpt_path is not None:\n            self.init_from_ckpt(\n                ckpt_path, ignore_keys=ignore_keys, only_model=load_only_unet\n            )\n\n        self.register_schedule(\n            given_betas=given_betas,\n            beta_schedule=beta_schedule,\n            timesteps=timesteps,\n            linear_start=linear_start,\n            linear_end=linear_end,\n            cosine_s=cosine_s,\n        )\n\n        self.loss_type = loss_type\n\n        self.learn_logvar = learn_logvar\n        self.logvar = torch.full(fill_value=logvar_init, size=(self.num_timesteps,))\n        if self.learn_logvar:\n            self.logvar = nn.Parameter(self.logvar, requires_grad=True)\n\n    def register_schedule(\n        self,\n        given_betas=None,\n        beta_schedule=\"linear\",\n        timesteps=1000,\n        linear_start=1e-4,\n        linear_end=2e-2,\n        cosine_s=8e-3,\n    ):\n        if exists(given_betas):\n            betas = given_betas\n        else:\n            betas = make_beta_schedule(\n                beta_schedule,\n                timesteps,\n                linear_start=linear_start,\n                linear_end=linear_end,\n                cosine_s=cosine_s,\n            )\n        alphas = 1.0 - betas\n        alphas_cumprod = np.cumprod(alphas, axis=0)\n        alphas_cumprod_prev = np.append(1.0, alphas_cumprod[:-1])\n\n        (timesteps,) = betas.shape\n        self.num_timesteps = int(timesteps)\n        self.linear_start = linear_start\n        self.linear_end = linear_end\n        assert (\n            alphas_cumprod.shape[0] == self.num_timesteps\n        ), \"alphas have to be defined for each timestep\"\n\n        to_torch = partial(torch.tensor, dtype=torch.float32)\n\n        self.register_buffer(\"betas\", to_torch(betas))\n        self.register_buffer(\"alphas_cumprod\", to_torch(alphas_cumprod))\n        self.register_buffer(\"alphas_cumprod_prev\", to_torch(alphas_cumprod_prev))\n\n        # calculations for diffusion q(x_t | x_{t-1}) and others\n        self.register_buffer(\"sqrt_alphas_cumprod\", to_torch(np.sqrt(alphas_cumprod)))\n        self.register_buffer(\n            \"sqrt_one_minus_alphas_cumprod\", to_torch(np.sqrt(1.0 - alphas_cumprod))\n        )\n        self.register_buffer(\n            \"log_one_minus_alphas_cumprod\", to_torch(np.log(1.0 - alphas_cumprod))\n        )\n        self.register_buffer(\n            \"sqrt_recip_alphas_cumprod\", to_torch(np.sqrt(1.0 / alphas_cumprod))\n        )\n        self.register_buffer(\n            \"sqrt_recipm1_alphas_cumprod\", to_torch(np.sqrt(1.0 / alphas_cumprod - 1))\n        )\n\n        # calculations for posterior q(x_{t-1} | x_t, x_0)\n        posterior_variance = (1 - self.v_posterior) * betas * (\n            1.0 - alphas_cumprod_prev\n        ) / (1.0 - alphas_cumprod) + self.v_posterior * betas\n        # above: equal to 1. / (1. / (1. - alpha_cumprod_tm1) + alpha_t / beta_t)\n        self.register_buffer(\"posterior_variance\", to_torch(posterior_variance))\n        # below: log calculation clipped because the posterior variance is 0 at the beginning of the diffusion chain\n        self.register_buffer(\n            \"posterior_log_variance_clipped\",\n            to_torch(np.log(np.maximum(posterior_variance, 1e-20))),\n        )\n        self.register_buffer(\n            \"posterior_mean_coef1\",\n            to_torch(betas * np.sqrt(alphas_cumprod_prev) / (1.0 - alphas_cumprod)),\n        )\n        self.register_buffer(\n            \"posterior_mean_coef2\",\n            to_torch(\n                (1.0 - alphas_cumprod_prev) * np.sqrt(alphas) / (1.0 - alphas_cumprod)\n            ),\n        )\n\n        if self.parameterization == \"eps\":\n            lvlb_weights = self.betas**2 / (\n                2\n                * self.posterior_variance\n                * to_torch(alphas)\n                * (1 - self.alphas_cumprod)\n            )\n        elif self.parameterization == \"x0\":\n            lvlb_weights = (\n                0.5\n                * np.sqrt(torch.Tensor(alphas_cumprod))\n                / (2.0 * 1 - torch.Tensor(alphas_cumprod))\n            )\n        else:\n            raise NotImplementedError(\"mu not supported\")\n        # TODO how to choose this term\n        lvlb_weights[0] = lvlb_weights[1]\n        self.register_buffer(\"lvlb_weights\", lvlb_weights, persistent=False)\n        assert not torch.isnan(self.lvlb_weights).all()\n\n    @contextmanager\n    def ema_scope(self, context=None):\n        if self.use_ema:\n            self.model_ema.store(self.model.parameters())\n            self.model_ema.copy_to(self.model)\n            if context is not None:\n                print(f\"{context}: Switched to EMA weights\")\n        try:\n            yield None\n        finally:\n            if self.use_ema:\n                self.model_ema.restore(self.model.parameters())\n                if context is not None:\n                    print(f\"{context}: Restored training weights\")\n\n    def init_from_ckpt(self, path, ignore_keys=list(), only_model=False):\n        sd = torch.load(path, map_location=\"cpu\")\n        if \"state_dict\" in list(sd.keys()):\n            sd = sd[\"state_dict\"]\n        keys = list(sd.keys())\n        for k in keys:\n            for ik in ignore_keys:\n                if k.startswith(ik):\n                    print(\"Deleting key {} from state_dict.\".format(k))\n                    del sd[k]\n        missing, unexpected = (\n            self.load_state_dict(sd, strict=False)\n            if not only_model\n            else self.model.load_state_dict(sd, strict=False)\n        )\n        print(\n            f\"Restored from {path} with {len(missing)} missing and {len(unexpected)} unexpected keys\"\n        )\n        if len(missing) > 0:\n            print(f\"Missing Keys: {missing}\")\n        if len(unexpected) > 0:\n            print(f\"Unexpected Keys: {unexpected}\")\n\n    def q_mean_variance(self, x_start, t):\n        \"\"\"\n        Get the distribution q(x_t | x_0).\n        :param x_start: the [N x C x ...] tensor of noiseless inputs.\n        :param t: the number of diffusion steps (minus 1). Here, 0 means one step.\n        :return: A tuple (mean, variance, log_variance), all of x_start's shape.\n        \"\"\"\n        mean = extract_into_tensor(self.sqrt_alphas_cumprod, t, x_start.shape) * x_start\n        variance = extract_into_tensor(1.0 - self.alphas_cumprod, t, x_start.shape)\n        log_variance = extract_into_tensor(\n            self.log_one_minus_alphas_cumprod, t, x_start.shape\n        )\n        return mean, variance, log_variance\n\n    def predict_start_from_noise(self, x_t, t, noise):\n        return (\n            extract_into_tensor(self.sqrt_recip_alphas_cumprod, t, x_t.shape) * x_t\n            - extract_into_tensor(self.sqrt_recipm1_alphas_cumprod, t, x_t.shape)\n            * noise\n        )\n\n    def q_posterior(self, x_start, x_t, t):\n        posterior_mean = (\n            extract_into_tensor(self.posterior_mean_coef1, t, x_t.shape) * x_start\n            + extract_into_tensor(self.posterior_mean_coef2, t, x_t.shape) * x_t\n        )\n        posterior_variance = extract_into_tensor(self.posterior_variance, t, x_t.shape)\n        posterior_log_variance_clipped = extract_into_tensor(\n            self.posterior_log_variance_clipped, t, x_t.shape\n        )\n        return posterior_mean, posterior_variance, posterior_log_variance_clipped\n\n    def p_mean_variance(self, x, t, clip_denoised: bool):\n        model_out = self.model(x, t)\n        if self.parameterization == \"eps\":\n            x_recon = self.predict_start_from_noise(x, t=t, noise=model_out)\n        elif self.parameterization == \"x0\":\n            x_recon = model_out\n        if clip_denoised:\n            x_recon.clamp_(-1.0, 1.0)\n\n        model_mean, posterior_variance, posterior_log_variance = self.q_posterior(\n            x_start=x_recon, x_t=x, t=t\n        )\n        return model_mean, posterior_variance, posterior_log_variance\n\n    @torch.no_grad()\n    def p_sample(self, x, t, clip_denoised=True, repeat_noise=False):\n        b, *_, device = *x.shape, x.device\n        model_mean, _, model_log_variance = self.p_mean_variance(\n            x=x, t=t, clip_denoised=clip_denoised\n        )\n        noise = noise_like(x.shape, device, repeat_noise)\n        # no noise when t == 0\n        nonzero_mask = (1 - (t == 0).float()).reshape(b, *((1,) * (len(x.shape) - 1)))\n        return model_mean + nonzero_mask * (0.5 * model_log_variance).exp() * noise\n\n    @torch.no_grad()\n    def p_sample_loop(self, shape, return_intermediates=False):\n        device = self.betas.device\n        b = shape[0]\n        img = torch.randn(shape, device=device)\n        intermediates = [img]\n        for i in tqdm(\n            reversed(range(0, self.num_timesteps)),\n            desc=\"Sampling t\",\n            total=self.num_timesteps,\n        ):\n            img = self.p_sample(\n                img,\n                torch.full((b,), i, device=device, dtype=torch.long),\n                clip_denoised=self.clip_denoised,\n            )\n            if i % self.log_every_t == 0 or i == self.num_timesteps - 1:\n                intermediates.append(img)\n        if return_intermediates:\n            return img, intermediates\n        return img\n\n    @torch.no_grad()\n    def sample(self, batch_size=16, return_intermediates=False):\n        image_size = self.image_size\n        channels = self.channels\n        return self.p_sample_loop(\n            (batch_size, channels, image_size, image_size),\n            return_intermediates=return_intermediates,\n        )\n\n    def q_sample(self, x_start, t, noise=None):\n        noise = default(noise, lambda: torch.randn_like(x_start))\n        return (\n            extract_into_tensor(self.sqrt_alphas_cumprod, t, x_start.shape) * x_start\n            + extract_into_tensor(self.sqrt_one_minus_alphas_cumprod, t, x_start.shape)\n            * noise\n        )\n\n    def get_loss(self, pred, target, mean=True):\n        if self.loss_type == \"l1\":\n            loss = (target - pred).abs()\n            if mean:\n                loss = loss.mean()\n        elif self.loss_type == \"l2\":\n            if mean:\n                loss = torch.nn.functional.mse_loss(target, pred)\n            else:\n                loss = torch.nn.functional.mse_loss(target, pred, reduction=\"none\")\n        else:\n            raise NotImplementedError(\"unknown loss type '{loss_type}'\")\n\n        return loss\n\n    def p_losses(self, x_start, t, noise=None):\n        noise = default(noise, lambda: torch.randn_like(x_start))\n        x_noisy = self.q_sample(x_start=x_start, t=t, noise=noise)\n        model_out = self.model(x_noisy, t)\n\n        loss_dict = {}\n        if self.parameterization == \"eps\":\n            target = noise\n        elif self.parameterization == \"x0\":\n            target = x_start\n        else:\n            raise NotImplementedError(\n                f\"Paramterization {self.parameterization} not yet supported\"\n            )\n\n        loss = self.get_loss(model_out, target, mean=False).mean(dim=[1, 2, 3])\n\n        log_prefix = \"train\" if self.training else \"val\"\n\n        loss_dict.update({f\"{log_prefix}/loss_simple\": loss.mean()})\n        loss_simple = loss.mean() * self.l_simple_weight\n\n        loss_vlb = (self.lvlb_weights[t] * loss).mean()\n        loss_dict.update({f\"{log_prefix}/loss_vlb\": loss_vlb})\n\n        loss = loss_simple + self.original_elbo_weight * loss_vlb\n\n        loss_dict.update({f\"{log_prefix}/loss\": loss})\n\n        return loss, loss_dict\n\n    def forward(self, x, *args, **kwargs):\n        # b, c, h, w, device, img_size, = *x.shape, x.device, self.image_size\n        # assert h == img_size and w == img_size, f'height and width of image must be {img_size}'\n        t = torch.randint(\n            0, self.num_timesteps, (x.shape[0],), device=self.device\n        ).long()\n        return self.p_losses(x, t, *args, **kwargs)\n\n    def get_input(self, batch, k):\n        x = batch[k]\n        if len(x.shape) == 3:\n            x = x[..., None]\n        x = rearrange(x, \"b h w c -> b c h w\")\n        x = x.to(memory_format=torch.contiguous_format).float()\n        return x\n\n    def shared_step(self, batch):\n        x = self.get_input(batch, self.first_stage_key)\n        loss, loss_dict = self(x)\n        return loss, loss_dict\n\n    def training_step(self, batch, batch_idx):\n        loss, loss_dict = self.shared_step(batch)\n\n        self.log_dict(\n            loss_dict, prog_bar=True, logger=True, on_step=True, on_epoch=True\n        )\n\n        self.log(\n            \"global_step\",\n            self.global_step,\n            prog_bar=True,\n            logger=True,\n            on_step=True,\n            on_epoch=False,\n        )\n\n        if self.use_scheduler:\n            lr = self.optimizers().param_groups[0][\"lr\"]\n            self.log(\n                \"lr_abs\", lr, prog_bar=True, logger=True, on_step=True, on_epoch=False\n            )\n\n        return loss\n\n    @torch.no_grad()\n    def validation_step(self, batch, batch_idx):\n        _, loss_dict_no_ema = self.shared_step(batch)\n        with self.ema_scope():\n            _, loss_dict_ema = self.shared_step(batch)\n            loss_dict_ema = {key + \"_ema\": loss_dict_ema[key] for key in loss_dict_ema}\n        self.log_dict(\n            loss_dict_no_ema, prog_bar=False, logger=True, on_step=False, on_epoch=True\n        )\n        self.log_dict(\n            loss_dict_ema, prog_bar=False, logger=True, on_step=False, on_epoch=True\n        )\n\n    def on_train_batch_end(self, *args, **kwargs):\n        if self.use_ema:\n            self.model_ema(self.model)\n\n    def _get_rows_from_list(self, samples):\n        n_imgs_per_row = len(samples)\n        denoise_grid = rearrange(samples, \"n b c h w -> b n c h w\")\n        denoise_grid = rearrange(denoise_grid, \"b n c h w -> (b n) c h w\")\n        denoise_grid = make_grid(denoise_grid, nrow=n_imgs_per_row)\n        return denoise_grid\n\n    @torch.no_grad()\n    def log_images(self, batch, N=8, n_row=2, sample=True, return_keys=None, **kwargs):\n        log = dict()\n        x = self.get_input(batch, self.first_stage_key)\n        N = min(x.shape[0], N)\n        n_row = min(x.shape[0], n_row)\n        x = x.to(self.device)[:N]\n        log[\"inputs\"] = x\n\n        # get diffusion row\n        diffusion_row = list()\n        x_start = x[:n_row]\n\n        for t in range(self.num_timesteps):\n            if t % self.log_every_t == 0 or t == self.num_timesteps - 1:\n                t = repeat(torch.tensor([t]), \"1 -> b\", b=n_row)\n                t = t.to(self.device).long()\n                noise = torch.randn_like(x_start)\n                x_noisy = self.q_sample(x_start=x_start, t=t, noise=noise)\n                diffusion_row.append(x_noisy)\n\n        log[\"diffusion_row\"] = self._get_rows_from_list(diffusion_row)\n\n        if sample:\n            # get denoise row\n            with self.ema_scope(\"Plotting\"):\n                samples, denoise_row = self.sample(\n                    batch_size=N, return_intermediates=True\n                )\n\n            log[\"samples\"] = samples\n            log[\"denoise_row\"] = self._get_rows_from_list(denoise_row)\n\n        if return_keys:\n            if np.intersect1d(list(log.keys()), return_keys).shape[0] == 0:\n                return log\n            else:\n                return {key: log[key] for key in return_keys}\n        return log\n\n    def configure_optimizers(self):\n        lr = self.learning_rate\n        params = list(self.model.parameters())\n        if self.learn_logvar:\n            params = params + [self.logvar]\n        opt = torch.optim.AdamW(params, lr=lr)\n        return opt\n\n\nclass LatentDiffusion(DDPM):\n    \"\"\"main class\"\"\"\n\n    def __init__(\n        self,\n        first_stage_config,\n        cond_stage_config,\n        num_timesteps_cond=None,\n        cond_stage_key=\"image\",\n        cond_stage_trainable=False,\n        concat_mode=True,\n        cond_stage_forward=None,\n        conditioning_key=None,\n        scale_factor=1.0,\n        scale_by_std=False,\n        *args,\n        **kwargs,\n    ):\n        self.num_timesteps_cond = default(num_timesteps_cond, 1)\n        self.scale_by_std = scale_by_std\n        assert self.num_timesteps_cond <= kwargs[\"timesteps\"]\n        # for backwards compatibility after implementation of DiffusionWrapper\n        if conditioning_key is None:\n            conditioning_key = \"concat\" if concat_mode else \"crossattn\"\n        if cond_stage_config == \"__is_unconditional__\":\n            conditioning_key = None\n        ckpt_path = kwargs.pop(\"ckpt_path\", None)\n        ignore_keys = kwargs.pop(\"ignore_keys\", [])\n        super().__init__(conditioning_key=conditioning_key, *args, **kwargs)\n        self.concat_mode = concat_mode\n        self.cond_stage_trainable = cond_stage_trainable\n        self.cond_stage_key = cond_stage_key\n        try:\n            self.num_downs = len(first_stage_config.params.ddconfig.ch_mult) - 1\n        except:\n            self.num_downs = 0\n        if not scale_by_std:\n            self.scale_factor = scale_factor\n        else:\n            self.register_buffer(\"scale_factor\", torch.tensor(scale_factor))\n        self.instantiate_first_stage(first_stage_config)\n        self.instantiate_cond_stage(cond_stage_config)\n        self.cond_stage_forward = cond_stage_forward\n        self.clip_denoised = False\n        self.bbox_tokenizer = None\n\n        self.restarted_from_ckpt = False\n        if ckpt_path is not None:\n            self.init_from_ckpt(ckpt_path, ignore_keys)\n            self.restarted_from_ckpt = True\n\n    def make_cond_schedule(\n        self,\n    ):\n        self.cond_ids = torch.full(\n            size=(self.num_timesteps,),\n            fill_value=self.num_timesteps - 1,\n            dtype=torch.long,\n        )\n        ids = torch.round(\n            torch.linspace(0, self.num_timesteps - 1, self.num_timesteps_cond)\n        ).long()\n        self.cond_ids[: self.num_timesteps_cond] = ids\n\n    @rank_zero_only\n    @torch.no_grad()\n    def on_train_batch_start(self, batch, batch_idx, dataloader_idx):\n        # only for very first batch\n        if (\n            self.scale_by_std\n            and self.current_epoch == 0\n            and self.global_step == 0\n            and batch_idx == 0\n            and not self.restarted_from_ckpt\n        ):\n            assert (\n                self.scale_factor == 1.0\n            ), \"rather not use custom rescaling and std-rescaling simultaneously\"\n            # set rescale weight to 1./std of encodings\n            print(\"### USING STD-RESCALING ###\")\n            x = super().get_input(batch, self.first_stage_key)\n            x = x.to(self.device)\n            encoder_posterior = self.encode_first_stage(x)\n            z = self.get_first_stage_encoding(encoder_posterior).detach()\n            del self.scale_factor\n            self.register_buffer(\"scale_factor\", 1.0 / z.flatten().std())\n            print(f\"setting self.scale_factor to {self.scale_factor}\")\n            print(\"### USING STD-RESCALING ###\")\n\n    def register_schedule(\n        self,\n        given_betas=None,\n        beta_schedule=\"linear\",\n        timesteps=1000,\n        linear_start=1e-4,\n        linear_end=2e-2,\n        cosine_s=8e-3,\n    ):\n        super().register_schedule(\n            given_betas, beta_schedule, timesteps, linear_start, linear_end, cosine_s\n        )\n\n        self.shorten_cond_schedule = self.num_timesteps_cond > 1\n        if self.shorten_cond_schedule:\n            self.make_cond_schedule()\n\n    def instantiate_first_stage(self, config):\n        model = instantiate_from_config(config)\n        self.first_stage_model = model.eval()\n        self.first_stage_model.train = disabled_train\n        for param in self.first_stage_model.parameters():\n            param.requires_grad = False\n\n    def instantiate_cond_stage(self, config):\n        if not self.cond_stage_trainable:\n            if config == \"__is_first_stage__\":\n                print(\"Using first stage also as cond stage.\")\n                self.cond_stage_model = self.first_stage_model\n            elif config == \"__is_unconditional__\":\n                print(f\"Training {self.__class__.__name__} as an unconditional model.\")\n                self.cond_stage_model = None\n                # self.be_unconditional = True\n            else:\n                model = instantiate_from_config(config)\n                self.cond_stage_model = model.eval()\n                self.cond_stage_model.train = disabled_train\n                for param in self.cond_stage_model.parameters():\n                    param.requires_grad = False\n        else:\n            assert config != \"__is_first_stage__\"\n            assert config != \"__is_unconditional__\"\n            model = instantiate_from_config(config)\n            self.cond_stage_model = model\n\n    def _get_denoise_row_from_list(\n        self, samples, desc=\"\", force_no_decoder_quantization=False\n    ):\n        denoise_row = []\n        for zd in tqdm(samples, desc=desc):\n            denoise_row.append(\n                self.decode_first_stage(\n                    zd.to(self.device), force_not_quantize=force_no_decoder_quantization\n                )\n            )\n        n_imgs_per_row = len(denoise_row)\n        denoise_row = torch.stack(denoise_row)  # n_log_step, n_row, C, H, W\n        denoise_grid = rearrange(denoise_row, \"n b c h w -> b n c h w\")\n        denoise_grid = rearrange(denoise_grid, \"b n c h w -> (b n) c h w\")\n        denoise_grid = make_grid(denoise_grid, nrow=n_imgs_per_row)\n        return denoise_grid\n\n    def get_first_stage_encoding(self, encoder_posterior):\n        if isinstance(encoder_posterior, DiagonalGaussianDistribution):\n            z = encoder_posterior.sample()\n        elif isinstance(encoder_posterior, torch.Tensor):\n            z = encoder_posterior\n        else:\n            raise NotImplementedError(\n                f\"encoder_posterior of type '{type(encoder_posterior)}' not yet implemented\"\n            )\n        return self.scale_factor * z\n\n    def get_learned_conditioning(self, c):\n        if self.cond_stage_forward is None:\n            if hasattr(self.cond_stage_model, \"encode\") and callable(\n                self.cond_stage_model.encode\n            ):\n                c = self.cond_stage_model.encode(c)\n                if isinstance(c, DiagonalGaussianDistribution):\n                    c = c.mode()\n            else:\n                c = self.cond_stage_model(c)\n        else:\n            assert hasattr(self.cond_stage_model, self.cond_stage_forward)\n            c = getattr(self.cond_stage_model, self.cond_stage_forward)(c)\n        return c\n\n    def meshgrid(self, h, w):\n        y = torch.arange(0, h).view(h, 1, 1).repeat(1, w, 1)\n        x = torch.arange(0, w).view(1, w, 1).repeat(h, 1, 1)\n\n        arr = torch.cat([y, x], dim=-1)\n        return arr\n\n    def delta_border(self, h, w):\n        \"\"\"\n        :param h: height\n        :param w: width\n        :return: normalized distance to image border,\n         wtith min distance = 0 at border and max dist = 0.5 at image center\n        \"\"\"\n        lower_right_corner = torch.tensor([h - 1, w - 1]).view(1, 1, 2)\n        arr = self.meshgrid(h, w) / lower_right_corner\n        dist_left_up = torch.min(arr, dim=-1, keepdims=True)[0]\n        dist_right_down = torch.min(1 - arr, dim=-1, keepdims=True)[0]\n        edge_dist = torch.min(\n            torch.cat([dist_left_up, dist_right_down], dim=-1), dim=-1\n        )[0]\n        return edge_dist\n\n    def get_weighting(self, h, w, Ly, Lx, device):\n        weighting = self.delta_border(h, w)\n        weighting = torch.clip(\n            weighting,\n            self.split_input_params[\"clip_min_weight\"],\n            self.split_input_params[\"clip_max_weight\"],\n        )\n        weighting = weighting.view(1, h * w, 1).repeat(1, 1, Ly * Lx).to(device)\n\n        if self.split_input_params[\"tie_braker\"]:\n            L_weighting = self.delta_border(Ly, Lx)\n            L_weighting = torch.clip(\n                L_weighting,\n                self.split_input_params[\"clip_min_tie_weight\"],\n                self.split_input_params[\"clip_max_tie_weight\"],\n            )\n\n            L_weighting = L_weighting.view(1, 1, Ly * Lx).to(device)\n            weighting = weighting * L_weighting\n        return weighting\n\n    def get_fold_unfold(\n        self, x, kernel_size, stride, uf=1, df=1\n    ):  # todo load once not every time, shorten code\n        \"\"\"\n        :param x: img of size (bs, c, h, w)\n        :return: n img crops of size (n, bs, c, kernel_size[0], kernel_size[1])\n        \"\"\"\n        bs, nc, h, w = x.shape\n\n        # number of crops in image\n        Ly = (h - kernel_size[0]) // stride[0] + 1\n        Lx = (w - kernel_size[1]) // stride[1] + 1\n\n        if uf == 1 and df == 1:\n            fold_params = dict(\n                kernel_size=kernel_size, dilation=1, padding=0, stride=stride\n            )\n            unfold = torch.nn.Unfold(**fold_params)\n\n            fold = torch.nn.Fold(output_size=x.shape[2:], **fold_params)\n\n            weighting = self.get_weighting(\n                kernel_size[0], kernel_size[1], Ly, Lx, x.device\n            ).to(x.dtype)\n            normalization = fold(weighting).view(1, 1, h, w)  # normalizes the overlap\n            weighting = weighting.view((1, 1, kernel_size[0], kernel_size[1], Ly * Lx))\n\n        elif uf > 1 and df == 1:\n            fold_params = dict(\n                kernel_size=kernel_size, dilation=1, padding=0, stride=stride\n            )\n            unfold = torch.nn.Unfold(**fold_params)\n\n            fold_params2 = dict(\n                kernel_size=(kernel_size[0] * uf, kernel_size[0] * uf),\n                dilation=1,\n                padding=0,\n                stride=(stride[0] * uf, stride[1] * uf),\n            )\n            fold = torch.nn.Fold(\n                output_size=(x.shape[2] * uf, x.shape[3] * uf), **fold_params2\n            )\n\n            weighting = self.get_weighting(\n                kernel_size[0] * uf, kernel_size[1] * uf, Ly, Lx, x.device\n            ).to(x.dtype)\n            normalization = fold(weighting).view(\n                1, 1, h * uf, w * uf\n            )  # normalizes the overlap\n            weighting = weighting.view(\n                (1, 1, kernel_size[0] * uf, kernel_size[1] * uf, Ly * Lx)\n            )\n\n        elif df > 1 and uf == 1:\n            fold_params = dict(\n                kernel_size=kernel_size, dilation=1, padding=0, stride=stride\n            )\n            unfold = torch.nn.Unfold(**fold_params)\n\n            fold_params2 = dict(\n                kernel_size=(kernel_size[0] // df, kernel_size[0] // df),\n                dilation=1,\n                padding=0,\n                stride=(stride[0] // df, stride[1] // df),\n            )\n            fold = torch.nn.Fold(\n                output_size=(x.shape[2] // df, x.shape[3] // df), **fold_params2\n            )\n\n            weighting = self.get_weighting(\n                kernel_size[0] // df, kernel_size[1] // df, Ly, Lx, x.device\n            ).to(x.dtype)\n            normalization = fold(weighting).view(\n                1, 1, h // df, w // df\n            )  # normalizes the overlap\n            weighting = weighting.view(\n                (1, 1, kernel_size[0] // df, kernel_size[1] // df, Ly * Lx)\n            )\n\n        else:\n            raise NotImplementedError\n\n        return fold, unfold, normalization, weighting\n\n    @torch.no_grad()\n    def get_input(\n        self,\n        batch,\n        k,\n        return_first_stage_outputs=False,\n        force_c_encode=False,\n        cond_key=None,\n        return_original_cond=False,\n        bs=None,\n    ):\n        x = super().get_input(batch, k)\n        if bs is not None:\n            x = x[:bs]\n        x = x.to(self.device)\n        encoder_posterior = self.encode_first_stage(x)\n        z = self.get_first_stage_encoding(encoder_posterior).detach()\n\n        if self.model.conditioning_key is not None:\n            if cond_key is None:\n                cond_key = self.cond_stage_key\n            if cond_key != self.first_stage_key:\n                if cond_key in [\"caption\", \"coordinates_bbox\"]:\n                    xc = batch[cond_key]\n                elif cond_key == \"class_label\":\n                    xc = batch\n                else:\n                    xc = super().get_input(batch, cond_key).to(self.device)\n            else:\n                xc = x\n            if not self.cond_stage_trainable or force_c_encode:\n                if isinstance(xc, dict) or isinstance(xc, list):\n                    # import pudb; pudb.set_trace()\n                    c = self.get_learned_conditioning(xc)\n                else:\n                    c = self.get_learned_conditioning(xc.to(self.device))\n            else:\n                c = xc\n            if bs is not None:\n                c = c[:bs]\n\n            if self.use_positional_encodings:\n                pos_x, pos_y = self.compute_latent_shifts(batch)\n                ckey = __conditioning_keys__[self.model.conditioning_key]\n                c = {ckey: c, \"pos_x\": pos_x, \"pos_y\": pos_y}\n\n        else:\n            c = None\n            xc = None\n            if self.use_positional_encodings:\n                pos_x, pos_y = self.compute_latent_shifts(batch)\n                c = {\"pos_x\": pos_x, \"pos_y\": pos_y}\n        out = [z, c]\n        if return_first_stage_outputs:\n            xrec = self.decode_first_stage(z)\n            out.extend([x, xrec])\n        if return_original_cond:\n            out.append(xc)\n        return out\n\n    @torch.no_grad()\n    def decode_first_stage(self, z, predict_cids=False, force_not_quantize=False):\n        if predict_cids:\n            if z.dim() == 4:\n                z = torch.argmax(z.exp(), dim=1).long()\n            z = self.first_stage_model.quantize.get_codebook_entry(z, shape=None)\n            z = rearrange(z, \"b h w c -> b c h w\").contiguous()\n\n        z = 1.0 / self.scale_factor * z\n\n        if hasattr(self, \"split_input_params\"):\n            if self.split_input_params[\"patch_distributed_vq\"]:\n                ks = self.split_input_params[\"ks\"]  # eg. (128, 128)\n                stride = self.split_input_params[\"stride\"]  # eg. (64, 64)\n                uf = self.split_input_params[\"vqf\"]\n                bs, nc, h, w = z.shape\n                if ks[0] > h or ks[1] > w:\n                    ks = (min(ks[0], h), min(ks[1], w))\n                    print(\"reducing Kernel\")\n\n                if stride[0] > h or stride[1] > w:\n                    stride = (min(stride[0], h), min(stride[1], w))\n                    print(\"reducing stride\")\n\n                fold, unfold, normalization, weighting = self.get_fold_unfold(\n                    z, ks, stride, uf=uf\n                )\n\n                z = unfold(z)  # (bn, nc * prod(**ks), L)\n                # 1. Reshape to img shape\n                z = z.view(\n                    (z.shape[0], -1, ks[0], ks[1], z.shape[-1])\n                )  # (bn, nc, ks[0], ks[1], L )\n\n                # 2. apply model loop over last dim\n                if isinstance(self.first_stage_model, VQModelInterface):\n                    output_list = [\n                        self.first_stage_model.decode(\n                            z[:, :, :, :, i],\n                            force_not_quantize=predict_cids or force_not_quantize,\n                        )\n                        for i in range(z.shape[-1])\n                    ]\n                else:\n                    output_list = [\n                        self.first_stage_model.decode(z[:, :, :, :, i])\n                        for i in range(z.shape[-1])\n                    ]\n\n                o = torch.stack(output_list, axis=-1)  # # (bn, nc, ks[0], ks[1], L)\n                o = o * weighting\n                # Reverse 1. reshape to img shape\n                o = o.view((o.shape[0], -1, o.shape[-1]))  # (bn, nc * ks[0] * ks[1], L)\n                # stitch crops together\n                decoded = fold(o)\n                decoded = decoded / normalization  # norm is shape (1, 1, h, w)\n                return decoded\n            else:\n                if isinstance(self.first_stage_model, VQModelInterface):\n                    return self.first_stage_model.decode(\n                        z, force_not_quantize=predict_cids or force_not_quantize\n                    )\n                else:\n                    return self.first_stage_model.decode(z)\n\n        else:\n            if isinstance(self.first_stage_model, VQModelInterface):\n                return self.first_stage_model.decode(\n                    z, force_not_quantize=predict_cids or force_not_quantize\n                )\n            else:\n                return self.first_stage_model.decode(z)\n\n    # same as above but without decorator\n    def differentiable_decode_first_stage(\n        self, z, predict_cids=False, force_not_quantize=False\n    ):\n        if predict_cids:\n            if z.dim() == 4:\n                z = torch.argmax(z.exp(), dim=1).long()\n            z = self.first_stage_model.quantize.get_codebook_entry(z, shape=None)\n            z = rearrange(z, \"b h w c -> b c h w\").contiguous()\n\n        z = 1.0 / self.scale_factor * z\n\n        if hasattr(self, \"split_input_params\"):\n            if self.split_input_params[\"patch_distributed_vq\"]:\n                ks = self.split_input_params[\"ks\"]  # eg. (128, 128)\n                stride = self.split_input_params[\"stride\"]  # eg. (64, 64)\n                uf = self.split_input_params[\"vqf\"]\n                bs, nc, h, w = z.shape\n                if ks[0] > h or ks[1] > w:\n                    ks = (min(ks[0], h), min(ks[1], w))\n                    print(\"reducing Kernel\")\n\n                if stride[0] > h or stride[1] > w:\n                    stride = (min(stride[0], h), min(stride[1], w))\n                    print(\"reducing stride\")\n\n                fold, unfold, normalization, weighting = self.get_fold_unfold(\n                    z, ks, stride, uf=uf\n                )\n\n                z = unfold(z)  # (bn, nc * prod(**ks), L)\n                # 1. Reshape to img shape\n                z = z.view(\n                    (z.shape[0], -1, ks[0], ks[1], z.shape[-1])\n                )  # (bn, nc, ks[0], ks[1], L )\n\n                # 2. apply model loop over last dim\n                if isinstance(self.first_stage_model, VQModelInterface):\n                    output_list = [\n                        self.first_stage_model.decode(\n                            z[:, :, :, :, i],\n                            force_not_quantize=predict_cids or force_not_quantize,\n                        )\n                        for i in range(z.shape[-1])\n                    ]\n                else:\n                    output_list = [\n                        self.first_stage_model.decode(z[:, :, :, :, i])\n                        for i in range(z.shape[-1])\n                    ]\n\n                o = torch.stack(output_list, axis=-1)  # # (bn, nc, ks[0], ks[1], L)\n                o = o * weighting\n                # Reverse 1. reshape to img shape\n                o = o.view((o.shape[0], -1, o.shape[-1]))  # (bn, nc * ks[0] * ks[1], L)\n                # stitch crops together\n                decoded = fold(o)\n                decoded = decoded / normalization  # norm is shape (1, 1, h, w)\n                return decoded\n            else:\n                if isinstance(self.first_stage_model, VQModelInterface):\n                    return self.first_stage_model.decode(\n                        z, force_not_quantize=predict_cids or force_not_quantize\n                    )\n                else:\n                    return self.first_stage_model.decode(z)\n\n        else:\n            if isinstance(self.first_stage_model, VQModelInterface):\n                return self.first_stage_model.decode(\n                    z, force_not_quantize=predict_cids or force_not_quantize\n                )\n            else:\n                return self.first_stage_model.decode(z)\n\n    @torch.no_grad()\n    def encode_first_stage(self, x):\n        if hasattr(self, \"split_input_params\"):\n            if self.split_input_params[\"patch_distributed_vq\"]:\n                ks = self.split_input_params[\"ks\"]  # eg. (128, 128)\n                stride = self.split_input_params[\"stride\"]  # eg. (64, 64)\n                df = self.split_input_params[\"vqf\"]\n                self.split_input_params[\"original_image_size\"] = x.shape[-2:]\n                bs, nc, h, w = x.shape\n                if ks[0] > h or ks[1] > w:\n                    ks = (min(ks[0], h), min(ks[1], w))\n                    print(\"reducing Kernel\")\n\n                if stride[0] > h or stride[1] > w:\n                    stride = (min(stride[0], h), min(stride[1], w))\n                    print(\"reducing stride\")\n\n                fold, unfold, normalization, weighting = self.get_fold_unfold(\n                    x, ks, stride, df=df\n                )\n                z = unfold(x)  # (bn, nc * prod(**ks), L)\n                # Reshape to img shape\n                z = z.view(\n                    (z.shape[0], -1, ks[0], ks[1], z.shape[-1])\n                )  # (bn, nc, ks[0], ks[1], L )\n\n                output_list = [\n                    self.first_stage_model.encode(z[:, :, :, :, i])\n                    for i in range(z.shape[-1])\n                ]\n\n                o = torch.stack(output_list, axis=-1)\n                o = o * weighting\n\n                # Reverse reshape to img shape\n                o = o.view((o.shape[0], -1, o.shape[-1]))  # (bn, nc * ks[0] * ks[1], L)\n                # stitch crops together\n                decoded = fold(o)\n                decoded = decoded / normalization\n                return decoded\n\n            else:\n                return self.first_stage_model.encode(x)\n        else:\n            return self.first_stage_model.encode(x)\n\n    def shared_step(self, batch, **kwargs):\n        x, c = self.get_input(batch, self.first_stage_key)\n        loss = self(x, c)\n        return loss\n\n    def forward(self, x, c, *args, **kwargs):\n        t = torch.randint(\n            0, self.num_timesteps, (x.shape[0],), device=self.device\n        ).long()\n        if self.model.conditioning_key is not None:\n            assert c is not None\n            if self.cond_stage_trainable:\n                c = self.get_learned_conditioning(c)\n            if self.shorten_cond_schedule:  # TODO: drop this option\n                tc = self.cond_ids[t].to(self.device)\n                c = self.q_sample(x_start=c, t=tc, noise=torch.randn_like(c.float()))\n        return self.p_losses(x, c, t, *args, **kwargs)\n\n    def _rescale_annotations(self, bboxes, crop_coordinates):  # TODO: move to dataset\n        def rescale_bbox(bbox):\n            x0 = clamp((bbox[0] - crop_coordinates[0]) / crop_coordinates[2])\n            y0 = clamp((bbox[1] - crop_coordinates[1]) / crop_coordinates[3])\n            w = min(bbox[2] / crop_coordinates[2], 1 - x0)\n            h = min(bbox[3] / crop_coordinates[3], 1 - y0)\n            return x0, y0, w, h\n\n        return [rescale_bbox(b) for b in bboxes]\n\n    def apply_model(self, x_noisy, t, cond, return_ids=False):\n        if isinstance(cond, dict):\n            # hybrid case, cond is exptected to be a dict\n            pass\n        else:\n            if not isinstance(cond, list):\n                cond = [cond]\n            key = (\n                \"c_concat\" if self.model.conditioning_key == \"concat\" else \"c_crossattn\"\n            )\n            cond = {key: cond}\n\n        if hasattr(self, \"split_input_params\"):\n            assert len(cond) == 1  # todo can only deal with one conditioning atm\n            assert not return_ids\n            ks = self.split_input_params[\"ks\"]  # eg. (128, 128)\n            stride = self.split_input_params[\"stride\"]  # eg. (64, 64)\n\n            h, w = x_noisy.shape[-2:]\n\n            fold, unfold, normalization, weighting = self.get_fold_unfold(\n                x_noisy, ks, stride\n            )\n\n            z = unfold(x_noisy)  # (bn, nc * prod(**ks), L)\n            # Reshape to img shape\n            z = z.view(\n                (z.shape[0], -1, ks[0], ks[1], z.shape[-1])\n            )  # (bn, nc, ks[0], ks[1], L )\n            z_list = [z[:, :, :, :, i] for i in range(z.shape[-1])]\n\n            if (\n                self.cond_stage_key in [\"image\", \"LR_image\", \"segmentation\", \"bbox_img\"]\n                and self.model.conditioning_key\n            ):  # todo check for completeness\n                c_key = next(iter(cond.keys()))  # get key\n                c = next(iter(cond.values()))  # get value\n                assert len(c) == 1  # todo extend to list with more than one elem\n                c = c[0]  # get element\n\n                c = unfold(c)\n                c = c.view(\n                    (c.shape[0], -1, ks[0], ks[1], c.shape[-1])\n                )  # (bn, nc, ks[0], ks[1], L )\n\n                cond_list = [{c_key: [c[:, :, :, :, i]]} for i in range(c.shape[-1])]\n\n            elif self.cond_stage_key == \"coordinates_bbox\":\n                assert (\n                    \"original_image_size\" in self.split_input_params\n                ), \"BoudingBoxRescaling is missing original_image_size\"\n\n                # assuming padding of unfold is always 0 and its dilation is always 1\n                n_patches_per_row = int((w - ks[0]) / stride[0] + 1)\n                full_img_h, full_img_w = self.split_input_params[\"original_image_size\"]\n                # as we are operating on latents, we need the factor from the original image size to the\n                # spatial latent size to properly rescale the crops for regenerating the bbox annotations\n                num_downs = self.first_stage_model.encoder.num_resolutions - 1\n                rescale_latent = 2 ** (num_downs)\n\n                # get top left postions of patches as conforming for the bbbox tokenizer, therefore we\n                # need to rescale the tl patch coordinates to be in between (0,1)\n                tl_patch_coordinates = [\n                    (\n                        rescale_latent\n                        * stride[0]\n                        * (patch_nr % n_patches_per_row)\n                        / full_img_w,\n                        rescale_latent\n                        * stride[1]\n                        * (patch_nr // n_patches_per_row)\n                        / full_img_h,\n                    )\n                    for patch_nr in range(z.shape[-1])\n                ]\n\n                # patch_limits are tl_coord, width and height coordinates as (x_tl, y_tl, h, w)\n                patch_limits = [\n                    (\n                        x_tl,\n                        y_tl,\n                        rescale_latent * ks[0] / full_img_w,\n                        rescale_latent * ks[1] / full_img_h,\n                    )\n                    for x_tl, y_tl in tl_patch_coordinates\n                ]\n                # patch_values = [(np.arange(x_tl,min(x_tl+ks, 1.)),np.arange(y_tl,min(y_tl+ks, 1.))) for x_tl, y_tl in tl_patch_coordinates]\n\n                # tokenize crop coordinates for the bounding boxes of the respective patches\n                patch_limits_tknzd = [\n                    torch.LongTensor(self.bbox_tokenizer._crop_encoder(bbox))[None].to(\n                        self.device\n                    )\n                    for bbox in patch_limits\n                ]  # list of length l with tensors of shape (1, 2)\n                print(patch_limits_tknzd[0].shape)\n                # cut tknzd crop position from conditioning\n                assert isinstance(cond, dict), \"cond must be dict to be fed into model\"\n                cut_cond = cond[\"c_crossattn\"][0][..., :-2].to(self.device)\n                print(cut_cond.shape)\n\n                adapted_cond = torch.stack(\n                    [torch.cat([cut_cond, p], dim=1) for p in patch_limits_tknzd]\n                )\n                adapted_cond = rearrange(adapted_cond, \"l b n -> (l b) n\")\n                print(adapted_cond.shape)\n                adapted_cond = self.get_learned_conditioning(adapted_cond)\n                print(adapted_cond.shape)\n                adapted_cond = rearrange(\n                    adapted_cond, \"(l b) n d -> l b n d\", l=z.shape[-1]\n                )\n                print(adapted_cond.shape)\n\n                cond_list = [{\"c_crossattn\": [e]} for e in adapted_cond]\n\n            else:\n                cond_list = [\n                    cond for i in range(z.shape[-1])\n                ]  # Todo make this more efficient\n\n            # apply model by loop over crops\n            output_list = [\n                self.model(z_list[i], t, **cond_list[i]) for i in range(z.shape[-1])\n            ]\n            assert not isinstance(\n                output_list[0], tuple\n            )  # todo cant deal with multiple model outputs check this never happens\n\n            o = torch.stack(output_list, axis=-1)\n            o = o * weighting\n            # Reverse reshape to img shape\n            o = o.view((o.shape[0], -1, o.shape[-1]))  # (bn, nc * ks[0] * ks[1], L)\n            # stitch crops together\n            x_recon = fold(o) / normalization\n\n        else:\n            x_recon = self.model(x_noisy, t, **cond)\n\n        if isinstance(x_recon, tuple) and not return_ids:\n            return x_recon[0]\n        else:\n            return x_recon\n\n    def _predict_eps_from_xstart(self, x_t, t, pred_xstart):\n        return (\n            extract_into_tensor(self.sqrt_recip_alphas_cumprod, t, x_t.shape) * x_t\n            - pred_xstart\n        ) / extract_into_tensor(self.sqrt_recipm1_alphas_cumprod, t, x_t.shape)\n\n    def _prior_bpd(self, x_start):\n        \"\"\"\n        Get the prior KL term for the variational lower-bound, measured in\n        bits-per-dim.\n        This term can't be optimized, as it only depends on the encoder.\n        :param x_start: the [N x C x ...] tensor of inputs.\n        :return: a batch of [N] KL values (in bits), one per batch element.\n        \"\"\"\n        batch_size = x_start.shape[0]\n        t = torch.tensor([self.num_timesteps - 1] * batch_size, device=x_start.device)\n        qt_mean, _, qt_log_variance = self.q_mean_variance(x_start, t)\n        kl_prior = normal_kl(\n            mean1=qt_mean, logvar1=qt_log_variance, mean2=0.0, logvar2=0.0\n        )\n        return mean_flat(kl_prior) / np.log(2.0)\n\n    def p_losses(self, x_start, cond, t, noise=None):\n        noise = default(noise, lambda: torch.randn_like(x_start))\n        x_noisy = self.q_sample(x_start=x_start, t=t, noise=noise)\n        model_output = self.apply_model(x_noisy, t, cond)\n\n        loss_dict = {}\n        prefix = \"train\" if self.training else \"val\"\n\n        if self.parameterization == \"x0\":\n            target = x_start\n        elif self.parameterization == \"eps\":\n            target = noise\n        else:\n            raise NotImplementedError()\n\n        loss_simple = self.get_loss(model_output, target, mean=False).mean([1, 2, 3])\n        loss_dict.update({f\"{prefix}/loss_simple\": loss_simple.mean()})\n\n        logvar_t = self.logvar[t].to(self.device)\n        loss = loss_simple / torch.exp(logvar_t) + logvar_t\n        # loss = loss_simple / torch.exp(self.logvar) + self.logvar\n        if self.learn_logvar:\n            loss_dict.update({f\"{prefix}/loss_gamma\": loss.mean()})\n            loss_dict.update({\"logvar\": self.logvar.data.mean()})\n\n        loss = self.l_simple_weight * loss.mean()\n\n        loss_vlb = self.get_loss(model_output, target, mean=False).mean(dim=(1, 2, 3))\n        loss_vlb = (self.lvlb_weights[t] * loss_vlb).mean()\n        loss_dict.update({f\"{prefix}/loss_vlb\": loss_vlb})\n        loss += self.original_elbo_weight * loss_vlb\n        loss_dict.update({f\"{prefix}/loss\": loss})\n\n        return loss, loss_dict\n\n    def p_mean_variance(\n        self,\n        x,\n        c,\n        t,\n        clip_denoised: bool,\n        return_codebook_ids=False,\n        quantize_denoised=False,\n        return_x0=False,\n        score_corrector=None,\n        corrector_kwargs=None,\n    ):\n        t_in = t\n        model_out = self.apply_model(x, t_in, c, return_ids=return_codebook_ids)\n\n        if score_corrector is not None:\n            assert self.parameterization == \"eps\"\n            model_out = score_corrector.modify_score(\n                self, model_out, x, t, c, **corrector_kwargs\n            )\n\n        if return_codebook_ids:\n            model_out, logits = model_out\n\n        if self.parameterization == \"eps\":\n            x_recon = self.predict_start_from_noise(x, t=t, noise=model_out)\n        elif self.parameterization == \"x0\":\n            x_recon = model_out\n        else:\n            raise NotImplementedError()\n\n        if clip_denoised:\n            x_recon.clamp_(-1.0, 1.0)\n        if quantize_denoised:\n            x_recon, _, [_, _, indices] = self.first_stage_model.quantize(x_recon)\n        model_mean, posterior_variance, posterior_log_variance = self.q_posterior(\n            x_start=x_recon, x_t=x, t=t\n        )\n        if return_codebook_ids:\n            return model_mean, posterior_variance, posterior_log_variance, logits\n        elif return_x0:\n            return model_mean, posterior_variance, posterior_log_variance, x_recon\n        else:\n            return model_mean, posterior_variance, posterior_log_variance\n\n    @torch.no_grad()\n    def p_sample(\n        self,\n        x,\n        c,\n        t,\n        clip_denoised=False,\n        repeat_noise=False,\n        return_codebook_ids=False,\n        quantize_denoised=False,\n        return_x0=False,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n    ):\n        b, *_, device = *x.shape, x.device\n        outputs = self.p_mean_variance(\n            x=x,\n            c=c,\n            t=t,\n            clip_denoised=clip_denoised,\n            return_codebook_ids=return_codebook_ids,\n            quantize_denoised=quantize_denoised,\n            return_x0=return_x0,\n            score_corrector=score_corrector,\n            corrector_kwargs=corrector_kwargs,\n        )\n        if return_codebook_ids:\n            raise DeprecationWarning(\"Support dropped.\")\n            model_mean, _, model_log_variance, logits = outputs\n        elif return_x0:\n            model_mean, _, model_log_variance, x0 = outputs\n        else:\n            model_mean, _, model_log_variance = outputs\n\n        noise = noise_like(x.shape, device, repeat_noise) * temperature\n        if noise_dropout > 0.0:\n            noise = torch.nn.functional.dropout(noise, p=noise_dropout)\n        # no noise when t == 0\n        nonzero_mask = (1 - (t == 0).float()).reshape(b, *((1,) * (len(x.shape) - 1)))\n\n        if return_codebook_ids:\n            return model_mean + nonzero_mask * (\n                0.5 * model_log_variance\n            ).exp() * noise, logits.argmax(dim=1)\n        if return_x0:\n            return (\n                model_mean + nonzero_mask * (0.5 * model_log_variance).exp() * noise,\n                x0,\n            )\n        else:\n            return model_mean + nonzero_mask * (0.5 * model_log_variance).exp() * noise\n\n    @torch.no_grad()\n    def progressive_denoising(\n        self,\n        cond,\n        shape,\n        verbose=True,\n        callback=None,\n        quantize_denoised=False,\n        img_callback=None,\n        mask=None,\n        x0=None,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        batch_size=None,\n        x_T=None,\n        start_T=None,\n        log_every_t=None,\n    ):\n        if not log_every_t:\n            log_every_t = self.log_every_t\n        timesteps = self.num_timesteps\n        if batch_size is not None:\n            b = batch_size if batch_size is not None else shape[0]\n            shape = [batch_size] + list(shape)\n        else:\n            b = batch_size = shape[0]\n        if x_T is None:\n            img = torch.randn(shape, device=self.device)\n        else:\n            img = x_T\n        intermediates = []\n        if cond is not None:\n            if isinstance(cond, dict):\n                cond = {\n                    key: cond[key][:batch_size]\n                    if not isinstance(cond[key], list)\n                    else list(map(lambda x: x[:batch_size], cond[key]))\n                    for key in cond\n                }\n            else:\n                cond = (\n                    [c[:batch_size] for c in cond]\n                    if isinstance(cond, list)\n                    else cond[:batch_size]\n                )\n\n        if start_T is not None:\n            timesteps = min(timesteps, start_T)\n        iterator = (\n            tqdm(\n                reversed(range(0, timesteps)),\n                desc=\"Progressive Generation\",\n                total=timesteps,\n            )\n            if verbose\n            else reversed(range(0, timesteps))\n        )\n        if type(temperature) == float:\n            temperature = [temperature] * timesteps\n\n        for i in iterator:\n            ts = torch.full((b,), i, device=self.device, dtype=torch.long)\n            if self.shorten_cond_schedule:\n                assert self.model.conditioning_key != \"hybrid\"\n                tc = self.cond_ids[ts].to(cond.device)\n                cond = self.q_sample(x_start=cond, t=tc, noise=torch.randn_like(cond))\n\n            img, x0_partial = self.p_sample(\n                img,\n                cond,\n                ts,\n                clip_denoised=self.clip_denoised,\n                quantize_denoised=quantize_denoised,\n                return_x0=True,\n                temperature=temperature[i],\n                noise_dropout=noise_dropout,\n                score_corrector=score_corrector,\n                corrector_kwargs=corrector_kwargs,\n            )\n            if mask is not None:\n                assert x0 is not None\n                img_orig = self.q_sample(x0, ts)\n                img = img_orig * mask + (1.0 - mask) * img\n\n            if i % log_every_t == 0 or i == timesteps - 1:\n                intermediates.append(x0_partial)\n            if callback:\n                callback(i)\n            if img_callback:\n                img_callback(img, i)\n        return img, intermediates\n\n    @torch.no_grad()\n    def p_sample_loop(\n        self,\n        cond,\n        shape,\n        return_intermediates=False,\n        x_T=None,\n        verbose=True,\n        callback=None,\n        timesteps=None,\n        quantize_denoised=False,\n        mask=None,\n        x0=None,\n        img_callback=None,\n        start_T=None,\n        log_every_t=None,\n    ):\n        if not log_every_t:\n            log_every_t = self.log_every_t\n        device = self.betas.device\n        b = shape[0]\n        if x_T is None:\n            img = torch.randn(shape, device=device)\n        else:\n            img = x_T\n\n        intermediates = [img]\n        if timesteps is None:\n            timesteps = self.num_timesteps\n\n        if start_T is not None:\n            timesteps = min(timesteps, start_T)\n        iterator = (\n            tqdm(reversed(range(0, timesteps)), desc=\"Sampling t\", total=timesteps)\n            if verbose\n            else reversed(range(0, timesteps))\n        )\n\n        if mask is not None:\n            assert x0 is not None\n            assert x0.shape[2:3] == mask.shape[2:3]  # spatial size has to match\n\n        for i in iterator:\n            ts = torch.full((b,), i, device=device, dtype=torch.long)\n            if self.shorten_cond_schedule:\n                assert self.model.conditioning_key != \"hybrid\"\n                tc = self.cond_ids[ts].to(cond.device)\n                cond = self.q_sample(x_start=cond, t=tc, noise=torch.randn_like(cond))\n\n            img = self.p_sample(\n                img,\n                cond,\n                ts,\n                clip_denoised=self.clip_denoised,\n                quantize_denoised=quantize_denoised,\n            )\n            if mask is not None:\n                img_orig = self.q_sample(x0, ts)\n                img = img_orig * mask + (1.0 - mask) * img\n\n            if i % log_every_t == 0 or i == timesteps - 1:\n                intermediates.append(img)\n            if callback:\n                callback(i)\n            if img_callback:\n                img_callback(img, i)\n\n        if return_intermediates:\n            return img, intermediates\n        return img\n\n    @torch.no_grad()\n    def sample(\n        self,\n        cond,\n        batch_size=16,\n        return_intermediates=False,\n        x_T=None,\n        verbose=True,\n        timesteps=None,\n        quantize_denoised=False,\n        mask=None,\n        x0=None,\n        shape=None,\n        **kwargs,\n    ):\n        if shape is None:\n            shape = (batch_size, self.channels, self.image_size, self.image_size)\n        if cond is not None:\n            if isinstance(cond, dict):\n                cond = {\n                    key: cond[key][:batch_size]\n                    if not isinstance(cond[key], list)\n                    else list(map(lambda x: x[:batch_size], cond[key]))\n                    for key in cond\n                }\n            else:\n                cond = (\n                    [c[:batch_size] for c in cond]\n                    if isinstance(cond, list)\n                    else cond[:batch_size]\n                )\n        return self.p_sample_loop(\n            cond,\n            shape,\n            return_intermediates=return_intermediates,\n            x_T=x_T,\n            verbose=verbose,\n            timesteps=timesteps,\n            quantize_denoised=quantize_denoised,\n            mask=mask,\n            x0=x0,\n        )\n\n    @torch.no_grad()\n    def sample_log(self, cond, batch_size, ddim, ddim_steps, **kwargs):\n        if ddim:\n            ddim_sampler = DDIMSampler(self)\n            shape = (self.channels, self.image_size, self.image_size)\n            samples, intermediates = ddim_sampler.sample(\n                ddim_steps, batch_size, shape, cond, verbose=False, **kwargs\n            )\n\n        else:\n            samples, intermediates = self.sample(\n                cond=cond, batch_size=batch_size, return_intermediates=True, **kwargs\n            )\n\n        return samples, intermediates\n\n    @torch.no_grad()\n    def log_images(\n        self,\n        batch,\n        N=8,\n        n_row=4,\n        sample=True,\n        ddim_steps=200,\n        ddim_eta=1.0,\n        return_keys=None,\n        quantize_denoised=True,\n        inpaint=True,\n        plot_denoise_rows=False,\n        plot_progressive_rows=True,\n        plot_diffusion_rows=True,\n        **kwargs,\n    ):\n        use_ddim = ddim_steps is not None\n\n        log = dict()\n        z, c, x, xrec, xc = self.get_input(\n            batch,\n            self.first_stage_key,\n            return_first_stage_outputs=True,\n            force_c_encode=True,\n            return_original_cond=True,\n            bs=N,\n        )\n        N = min(x.shape[0], N)\n        n_row = min(x.shape[0], n_row)\n        log[\"inputs\"] = x\n        log[\"reconstruction\"] = xrec\n        if self.model.conditioning_key is not None:\n            if hasattr(self.cond_stage_model, \"decode\"):\n                xc = self.cond_stage_model.decode(c)\n                log[\"conditioning\"] = xc\n            elif self.cond_stage_key in [\"caption\"]:\n                xc = log_txt_as_img((x.shape[2], x.shape[3]), batch[\"caption\"])\n                log[\"conditioning\"] = xc\n            elif self.cond_stage_key == \"class_label\":\n                xc = log_txt_as_img((x.shape[2], x.shape[3]), batch[\"human_label\"])\n                log[\"conditioning\"] = xc\n            elif isimage(xc):\n                log[\"conditioning\"] = xc\n            if ismap(xc):\n                log[\"original_conditioning\"] = self.to_rgb(xc)\n\n        if plot_diffusion_rows:\n            # get diffusion row\n            diffusion_row = list()\n            z_start = z[:n_row]\n            for t in range(self.num_timesteps):\n                if t % self.log_every_t == 0 or t == self.num_timesteps - 1:\n                    t = repeat(torch.tensor([t]), \"1 -> b\", b=n_row)\n                    t = t.to(self.device).long()\n                    noise = torch.randn_like(z_start)\n                    z_noisy = self.q_sample(x_start=z_start, t=t, noise=noise)\n                    diffusion_row.append(self.decode_first_stage(z_noisy))\n\n            diffusion_row = torch.stack(diffusion_row)  # n_log_step, n_row, C, H, W\n            diffusion_grid = rearrange(diffusion_row, \"n b c h w -> b n c h w\")\n            diffusion_grid = rearrange(diffusion_grid, \"b n c h w -> (b n) c h w\")\n            diffusion_grid = make_grid(diffusion_grid, nrow=diffusion_row.shape[0])\n            log[\"diffusion_row\"] = diffusion_grid\n\n        if sample:\n            # get denoise row\n            with self.ema_scope(\"Plotting\"):\n                samples, z_denoise_row = self.sample_log(\n                    cond=c,\n                    batch_size=N,\n                    ddim=use_ddim,\n                    ddim_steps=ddim_steps,\n                    eta=ddim_eta,\n                )\n                # samples, z_denoise_row = self.sample(cond=c, batch_size=N, return_intermediates=True)\n            x_samples = self.decode_first_stage(samples)\n            log[\"samples\"] = x_samples\n            if plot_denoise_rows:\n                denoise_grid = self._get_denoise_row_from_list(z_denoise_row)\n                log[\"denoise_row\"] = denoise_grid\n\n            if (\n                quantize_denoised\n                and not isinstance(self.first_stage_model, AutoencoderKL)\n                and not isinstance(self.first_stage_model, IdentityFirstStage)\n            ):\n                # also display when quantizing x0 while sampling\n                with self.ema_scope(\"Plotting Quantized Denoised\"):\n                    samples, z_denoise_row = self.sample_log(\n                        cond=c,\n                        batch_size=N,\n                        ddim=use_ddim,\n                        ddim_steps=ddim_steps,\n                        eta=ddim_eta,\n                        quantize_denoised=True,\n                    )\n                    # samples, z_denoise_row = self.sample(cond=c, batch_size=N, return_intermediates=True,\n                    #                                      quantize_denoised=True)\n                x_samples = self.decode_first_stage(samples.to(self.device))\n                log[\"samples_x0_quantized\"] = x_samples\n\n            if inpaint:\n                # make a simple center square\n                b, h, w = z.shape[0], z.shape[2], z.shape[3]\n                mask = torch.ones(N, h, w).to(self.device)\n                # zeros will be filled in\n                mask[:, h // 4 : 3 * h // 4, w // 4 : 3 * w // 4] = 0.0\n                mask = mask[:, None, ...]\n                with self.ema_scope(\"Plotting Inpaint\"):\n                    samples, _ = self.sample_log(\n                        cond=c,\n                        batch_size=N,\n                        ddim=use_ddim,\n                        eta=ddim_eta,\n                        ddim_steps=ddim_steps,\n                        x0=z[:N],\n                        mask=mask,\n                    )\n                x_samples = self.decode_first_stage(samples.to(self.device))\n                log[\"samples_inpainting\"] = x_samples\n                log[\"mask\"] = mask\n\n                # outpaint\n                with self.ema_scope(\"Plotting Outpaint\"):\n                    samples, _ = self.sample_log(\n                        cond=c,\n                        batch_size=N,\n                        ddim=use_ddim,\n                        eta=ddim_eta,\n                        ddim_steps=ddim_steps,\n                        x0=z[:N],\n                        mask=mask,\n                    )\n                x_samples = self.decode_first_stage(samples.to(self.device))\n                log[\"samples_outpainting\"] = x_samples\n\n        if plot_progressive_rows:\n            with self.ema_scope(\"Plotting Progressives\"):\n                img, progressives = self.progressive_denoising(\n                    c,\n                    shape=(self.channels, self.image_size, self.image_size),\n                    batch_size=N,\n                )\n            prog_row = self._get_denoise_row_from_list(\n                progressives, desc=\"Progressive Generation\"\n            )\n            log[\"progressive_row\"] = prog_row\n\n        if return_keys:\n            if np.intersect1d(list(log.keys()), return_keys).shape[0] == 0:\n                return log\n            else:\n                return {key: log[key] for key in return_keys}\n        return log\n\n    def configure_optimizers(self):\n        lr = self.learning_rate\n        params = list(self.model.parameters())\n        if self.cond_stage_trainable:\n            print(f\"{self.__class__.__name__}: Also optimizing conditioner params!\")\n            params = params + list(self.cond_stage_model.parameters())\n        if self.learn_logvar:\n            print(\"Diffusion model optimizing logvar\")\n            params.append(self.logvar)\n        opt = torch.optim.AdamW(params, lr=lr)\n        if self.use_scheduler:\n            assert \"target\" in self.scheduler_config\n            scheduler = instantiate_from_config(self.scheduler_config)\n\n            print(\"Setting up LambdaLR scheduler...\")\n            scheduler = [\n                {\n                    \"scheduler\": LambdaLR(opt, lr_lambda=scheduler.schedule),\n                    \"interval\": \"step\",\n                    \"frequency\": 1,\n                }\n            ]\n            return [opt], scheduler\n        return opt\n\n    @torch.no_grad()\n    def to_rgb(self, x):\n        x = x.float()\n        if not hasattr(self, \"colorize\"):\n            self.colorize = torch.randn(3, x.shape[1], 1, 1).to(x)\n        x = nn.functional.conv2d(x, weight=self.colorize)\n        x = 2.0 * (x - x.min()) / (x.max() - x.min()) - 1.0\n        return x\n\n\nclass DiffusionWrapper(pl.LightningModule):\n    def __init__(self, diff_model_config, conditioning_key):\n        super().__init__()\n        self.diffusion_model = instantiate_from_config(diff_model_config)\n        self.conditioning_key = conditioning_key\n        assert self.conditioning_key in [None, \"concat\", \"crossattn\", \"hybrid\", \"adm\"]\n\n    def forward(self, x, t, c_concat: list = None, c_crossattn: list = None):\n        if self.conditioning_key is None:\n            out = self.diffusion_model(x, t)\n        elif self.conditioning_key == \"concat\":\n            xc = torch.cat([x] + c_concat, dim=1)\n            out = self.diffusion_model(xc, t)\n        elif self.conditioning_key == \"crossattn\":\n            cc = torch.cat(c_crossattn, 1)\n            out = self.diffusion_model(x, t, context=cc)\n        elif self.conditioning_key == \"hybrid\":\n            xc = torch.cat([x] + c_concat, dim=1)\n            cc = torch.cat(c_crossattn, 1)\n            out = self.diffusion_model(xc, t, context=cc)\n        elif self.conditioning_key == \"adm\":\n            cc = c_crossattn[0]\n            out = self.diffusion_model(x, t, y=cc)\n        else:\n            raise NotImplementedError()\n\n        return out\n\n\nclass Layout2ImgDiffusion(LatentDiffusion):\n    # TODO: move all layout-specific hacks to this class\n    def __init__(self, cond_stage_key, *args, **kwargs):\n        assert (\n            cond_stage_key == \"coordinates_bbox\"\n        ), 'Layout2ImgDiffusion only for cond_stage_key=\"coordinates_bbox\"'\n        super().__init__(cond_stage_key=cond_stage_key, *args, **kwargs)\n\n    def log_images(self, batch, N=8, *args, **kwargs):\n        logs = super().log_images(batch=batch, N=N, *args, **kwargs)\n\n        key = \"train\" if self.training else \"validation\"\n        dset = self.trainer.datamodule.datasets[key]\n        mapper = dset.conditional_builders[self.cond_stage_key]\n\n        bbox_imgs = []\n\n        def map_fn(catno):\n            return dset.get_textual_label(dset.get_category_id(catno))\n\n        for tknzd_bbox in batch[self.cond_stage_key][:N]:\n            bboximg = mapper.plot(tknzd_bbox.detach().cpu(), map_fn, (256, 256))\n            bbox_imgs.append(bboximg)\n\n        cond_img = torch.stack(bbox_imgs, dim=0)\n        logs[\"bbox_image\"] = cond_img\n        return logs\n"
  },
  {
    "path": "ldm/models/diffusion/dpm_solver/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/models/diffusion/dpm_solver/dpm_solver.py",
    "content": "import torch\nimport math\nfrom tqdm import tqdm\n\n\nclass NoiseScheduleVP:\n    def __init__(\n        self,\n        schedule=\"discrete\",\n        betas=None,\n        alphas_cumprod=None,\n        continuous_beta_0=0.1,\n        continuous_beta_1=20.0,\n    ):\n        \"\"\"Create a wrapper class for the forward SDE (VP type).\n        ***\n        Update: We support discrete-time diffusion models by implementing a picewise linear interpolation for log_alpha_t.\n                We recommend to use schedule='discrete' for the discrete-time diffusion models, especially for high-resolution images.\n        ***\n        The forward SDE ensures that the condition distribution q_{t|0}(x_t | x_0) = N ( alpha_t * x_0, sigma_t^2 * I ).\n        We further define lambda_t = log(alpha_t) - log(sigma_t), which is the half-logSNR (described in the DPM-Solver paper).\n        Therefore, we implement the functions for computing alpha_t, sigma_t and lambda_t. For t in [0, T], we have:\n            log_alpha_t = self.marginal_log_mean_coeff(t)\n            sigma_t = self.marginal_std(t)\n            lambda_t = self.marginal_lambda(t)\n        Moreover, as lambda(t) is an invertible function, we also support its inverse function:\n            t = self.inverse_lambda(lambda_t)\n        ===============================================================\n        We support both discrete-time DPMs (trained on n = 0, 1, ..., N-1) and continuous-time DPMs (trained on t in [t_0, T]).\n        1. For discrete-time DPMs:\n            For discrete-time DPMs trained on n = 0, 1, ..., N-1, we convert the discrete steps to continuous time steps by:\n                t_i = (i + 1) / N\n            e.g. for N = 1000, we have t_0 = 1e-3 and T = t_{N-1} = 1.\n            We solve the corresponding diffusion ODE from time T = 1 to time t_0 = 1e-3.\n            Args:\n                betas: A `torch.Tensor`. The beta array for the discrete-time DPM. (See the original DDPM paper for details)\n                alphas_cumprod: A `torch.Tensor`. The cumprod alphas for the discrete-time DPM. (See the original DDPM paper for details)\n            Note that we always have alphas_cumprod = cumprod(betas). Therefore, we only need to set one of `betas` and `alphas_cumprod`.\n            **Important**:  Please pay special attention for the args for `alphas_cumprod`:\n                The `alphas_cumprod` is the \\hat{alpha_n} arrays in the notations of DDPM. Specifically, DDPMs assume that\n                    q_{t_n | 0}(x_{t_n} | x_0) = N ( \\sqrt{\\hat{alpha_n}} * x_0, (1 - \\hat{alpha_n}) * I ).\n                Therefore, the notation \\hat{alpha_n} is different from the notation alpha_t in DPM-Solver. In fact, we have\n                    alpha_{t_n} = \\sqrt{\\hat{alpha_n}},\n                and\n                    log(alpha_{t_n}) = 0.5 * log(\\hat{alpha_n}).\n        2. For continuous-time DPMs:\n            We support two types of VPSDEs: linear (DDPM) and cosine (improved-DDPM). The hyperparameters for the noise\n            schedule are the default settings in DDPM and improved-DDPM:\n            Args:\n                beta_min: A `float` number. The smallest beta for the linear schedule.\n                beta_max: A `float` number. The largest beta for the linear schedule.\n                cosine_s: A `float` number. The hyperparameter in the cosine schedule.\n                cosine_beta_max: A `float` number. The hyperparameter in the cosine schedule.\n                T: A `float` number. The ending time of the forward process.\n        ===============================================================\n        Args:\n            schedule: A `str`. The noise schedule of the forward SDE. 'discrete' for discrete-time DPMs,\n                    'linear' or 'cosine' for continuous-time DPMs.\n        Returns:\n            A wrapper object of the forward SDE (VP type).\n\n        ===============================================================\n        Example:\n        # For discrete-time DPMs, given betas (the beta array for n = 0, 1, ..., N - 1):\n        >>> ns = NoiseScheduleVP('discrete', betas=betas)\n        # For discrete-time DPMs, given alphas_cumprod (the \\hat{alpha_n} array for n = 0, 1, ..., N - 1):\n        >>> ns = NoiseScheduleVP('discrete', alphas_cumprod=alphas_cumprod)\n        # For continuous-time DPMs (VPSDE), linear schedule:\n        >>> ns = NoiseScheduleVP('linear', continuous_beta_0=0.1, continuous_beta_1=20.)\n        \"\"\"\n\n        if schedule not in [\"discrete\", \"linear\", \"cosine\"]:\n            raise ValueError(\n                \"Unsupported noise schedule {}. The schedule needs to be 'discrete' or 'linear' or 'cosine'\".format(\n                    schedule\n                )\n            )\n\n        self.schedule = schedule\n        if schedule == \"discrete\":\n            if betas is not None:\n                log_alphas = 0.5 * torch.log(1 - betas).cumsum(dim=0)\n            else:\n                assert alphas_cumprod is not None\n                log_alphas = 0.5 * torch.log(alphas_cumprod)\n            self.total_N = len(log_alphas)\n            self.T = 1.0\n            self.t_array = torch.linspace(0.0, 1.0, self.total_N + 1)[1:].reshape(\n                (1, -1)\n            )\n            self.log_alpha_array = log_alphas.reshape(\n                (\n                    1,\n                    -1,\n                )\n            )\n        else:\n            self.total_N = 1000\n            self.beta_0 = continuous_beta_0\n            self.beta_1 = continuous_beta_1\n            self.cosine_s = 0.008\n            self.cosine_beta_max = 999.0\n            self.cosine_t_max = (\n                math.atan(self.cosine_beta_max * (1.0 + self.cosine_s) / math.pi)\n                * 2.0\n                * (1.0 + self.cosine_s)\n                / math.pi\n                - self.cosine_s\n            )\n            self.cosine_log_alpha_0 = math.log(\n                math.cos(self.cosine_s / (1.0 + self.cosine_s) * math.pi / 2.0)\n            )\n            self.schedule = schedule\n            if schedule == \"cosine\":\n                # For the cosine schedule, T = 1 will have numerical issues. So we manually set the ending time T.\n                # Note that T = 0.9946 may be not the optimal setting. However, we find it works well.\n                self.T = 0.9946\n            else:\n                self.T = 1.0\n\n    def marginal_log_mean_coeff(self, t):\n        \"\"\"\n        Compute log(alpha_t) of a given continuous-time label t in [0, T].\n        \"\"\"\n        if self.schedule == \"discrete\":\n            return interpolate_fn(\n                t.reshape((-1, 1)),\n                self.t_array.to(t.device),\n                self.log_alpha_array.to(t.device),\n            ).reshape((-1))\n        elif self.schedule == \"linear\":\n            return -0.25 * t**2 * (self.beta_1 - self.beta_0) - 0.5 * t * self.beta_0\n        elif self.schedule == \"cosine\":\n\n            def log_alpha_fn(s):\n                return torch.log(\n                    torch.cos(\n                        (s + self.cosine_s) / (1.0 + self.cosine_s) * math.pi / 2.0\n                    )\n                )\n\n            log_alpha_t = log_alpha_fn(t) - self.cosine_log_alpha_0\n            return log_alpha_t\n\n    def marginal_alpha(self, t):\n        \"\"\"\n        Compute alpha_t of a given continuous-time label t in [0, T].\n        \"\"\"\n        return torch.exp(self.marginal_log_mean_coeff(t))\n\n    def marginal_std(self, t):\n        \"\"\"\n        Compute sigma_t of a given continuous-time label t in [0, T].\n        \"\"\"\n        return torch.sqrt(1.0 - torch.exp(2.0 * self.marginal_log_mean_coeff(t)))\n\n    def marginal_lambda(self, t):\n        \"\"\"\n        Compute lambda_t = log(alpha_t) - log(sigma_t) of a given continuous-time label t in [0, T].\n        \"\"\"\n        log_mean_coeff = self.marginal_log_mean_coeff(t)\n        log_std = 0.5 * torch.log(1.0 - torch.exp(2.0 * log_mean_coeff))\n        return log_mean_coeff - log_std\n\n    def inverse_lambda(self, lamb):\n        \"\"\"\n        Compute the continuous-time label t in [0, T] of a given half-logSNR lambda_t.\n        \"\"\"\n        if self.schedule == \"linear\":\n            tmp = (\n                2.0\n                * (self.beta_1 - self.beta_0)\n                * torch.logaddexp(-2.0 * lamb, torch.zeros((1,)).to(lamb))\n            )\n            Delta = self.beta_0**2 + tmp\n            return tmp / (torch.sqrt(Delta) + self.beta_0) / (self.beta_1 - self.beta_0)\n        elif self.schedule == \"discrete\":\n            log_alpha = -0.5 * torch.logaddexp(\n                torch.zeros((1,)).to(lamb.device), -2.0 * lamb\n            )\n            t = interpolate_fn(\n                log_alpha.reshape((-1, 1)),\n                torch.flip(self.log_alpha_array.to(lamb.device), [1]),\n                torch.flip(self.t_array.to(lamb.device), [1]),\n            )\n            return t.reshape((-1,))\n        else:\n            log_alpha = -0.5 * torch.logaddexp(-2.0 * lamb, torch.zeros((1,)).to(lamb))\n\n            def t_fn(log_alpha_t):\n                return (\n                    torch.arccos(torch.exp(log_alpha_t + self.cosine_log_alpha_0))\n                    * 2.0\n                    * (1.0 + self.cosine_s)\n                    / math.pi\n                    - self.cosine_s\n                )\n\n            t = t_fn(log_alpha)\n            return t\n\n\ndef model_wrapper(\n    model,\n    noise_schedule,\n    model_type=\"noise\",\n    model_kwargs={},\n    guidance_type=\"uncond\",\n    condition=None,\n    unconditional_condition=None,\n    guidance_scale=1.0,\n    classifier_fn=None,\n    classifier_kwargs={},\n):\n    \"\"\"Create a wrapper function for the noise prediction model.\n    DPM-Solver needs to solve the continuous-time diffusion ODEs. For DPMs trained on discrete-time labels, we need to\n    firstly wrap the model function to a noise prediction model that accepts the continuous time as the input.\n    We support four types of the diffusion model by setting `model_type`:\n        1. \"noise\": noise prediction model. (Trained by predicting noise).\n        2. \"x_start\": data prediction model. (Trained by predicting the data x_0 at time 0).\n        3. \"v\": velocity prediction model. (Trained by predicting the velocity).\n            The \"v\" prediction is derivation detailed in Appendix D of [1], and is used in Imagen-Video [2].\n            [1] Salimans, Tim, and Jonathan Ho. \"Progressive distillation for fast sampling of diffusion models.\"\n                arXiv preprint arXiv:2202.00512 (2022).\n            [2] Ho, Jonathan, et al. \"Imagen Video: High Definition Video Generation with Diffusion Models.\"\n                arXiv preprint arXiv:2210.02303 (2022).\n\n        4. \"score\": marginal score function. (Trained by denoising score matching).\n            Note that the score function and the noise prediction model follows a simple relationship:\n            ```\n                noise(x_t, t) = -sigma_t * score(x_t, t)\n            ```\n    We support three types of guided sampling by DPMs by setting `guidance_type`:\n        1. \"uncond\": unconditional sampling by DPMs.\n            The input `model` has the following format:\n            ``\n                model(x, t_input, **model_kwargs) -> noise | x_start | v | score\n            ``\n        2. \"classifier\": classifier guidance sampling [3] by DPMs and another classifier.\n            The input `model` has the following format:\n            ``\n                model(x, t_input, **model_kwargs) -> noise | x_start | v | score\n            ``\n            The input `classifier_fn` has the following format:\n            ``\n                classifier_fn(x, t_input, cond, **classifier_kwargs) -> logits(x, t_input, cond)\n            ``\n            [3] P. Dhariwal and A. Q. Nichol, \"Diffusion models beat GANs on image synthesis,\"\n                in Advances in Neural Information Processing Systems, vol. 34, 2021, pp. 8780-8794.\n        3. \"classifier-free\": classifier-free guidance sampling by conditional DPMs.\n            The input `model` has the following format:\n            ``\n                model(x, t_input, cond, **model_kwargs) -> noise | x_start | v | score\n            ``\n            And if cond == `unconditional_condition`, the model output is the unconditional DPM output.\n            [4] Ho, Jonathan, and Tim Salimans. \"Classifier-free diffusion guidance.\"\n                arXiv preprint arXiv:2207.12598 (2022).\n\n    The `t_input` is the time label of the model, which may be discrete-time labels (i.e. 0 to 999)\n    or continuous-time labels (i.e. epsilon to T).\n    We wrap the model function to accept only `x` and `t_continuous` as inputs, and outputs the predicted noise:\n    ``\n        def model_fn(x, t_continuous) -> noise:\n            t_input = get_model_input_time(t_continuous)\n            return noise_pred(model, x, t_input, **model_kwargs)\n    ``\n    where `t_continuous` is the continuous time labels (i.e. epsilon to T). And we use `model_fn` for DPM-Solver.\n    ===============================================================\n    Args:\n        model: A diffusion model with the corresponding format described above.\n        noise_schedule: A noise schedule object, such as NoiseScheduleVP.\n        model_type: A `str`. The parameterization type of the diffusion model.\n                    \"noise\" or \"x_start\" or \"v\" or \"score\".\n        model_kwargs: A `dict`. A dict for the other inputs of the model function.\n        guidance_type: A `str`. The type of the guidance for sampling.\n                    \"uncond\" or \"classifier\" or \"classifier-free\".\n        condition: A pytorch tensor. The condition for the guided sampling.\n                    Only used for \"classifier\" or \"classifier-free\" guidance type.\n        unconditional_condition: A pytorch tensor. The condition for the unconditional sampling.\n                    Only used for \"classifier-free\" guidance type.\n        guidance_scale: A `float`. The scale for the guided sampling.\n        classifier_fn: A classifier function. Only used for the classifier guidance.\n        classifier_kwargs: A `dict`. A dict for the other inputs of the classifier function.\n    Returns:\n        A noise prediction model that accepts the noised data and the continuous time as the inputs.\n    \"\"\"\n\n    def get_model_input_time(t_continuous):\n        \"\"\"\n        Convert the continuous-time `t_continuous` (in [epsilon, T]) to the model input time.\n        For discrete-time DPMs, we convert `t_continuous` in [1 / N, 1] to `t_input` in [0, 1000 * (N - 1) / N].\n        For continuous-time DPMs, we just use `t_continuous`.\n        \"\"\"\n        if noise_schedule.schedule == \"discrete\":\n            return (t_continuous - 1.0 / noise_schedule.total_N) * 1000.0\n        else:\n            return t_continuous\n\n    def noise_pred_fn(x, t_continuous, cond=None):\n        if t_continuous.reshape((-1,)).shape[0] == 1:\n            t_continuous = t_continuous.expand((x.shape[0]))\n        t_input = get_model_input_time(t_continuous)\n        if cond is None:\n            output = model(x, t_input, **model_kwargs)\n        else:\n            output = model(x, t_input, cond, **model_kwargs)\n        if model_type == \"noise\":\n            return output\n        elif model_type == \"x_start\":\n            alpha_t, sigma_t = noise_schedule.marginal_alpha(\n                t_continuous\n            ), noise_schedule.marginal_std(t_continuous)\n            dims = x.dim()\n            return (x - expand_dims(alpha_t, dims) * output) / expand_dims(\n                sigma_t, dims\n            )\n        elif model_type == \"v\":\n            alpha_t, sigma_t = noise_schedule.marginal_alpha(\n                t_continuous\n            ), noise_schedule.marginal_std(t_continuous)\n            dims = x.dim()\n            return expand_dims(alpha_t, dims) * output + expand_dims(sigma_t, dims) * x\n        elif model_type == \"score\":\n            sigma_t = noise_schedule.marginal_std(t_continuous)\n            dims = x.dim()\n            return -expand_dims(sigma_t, dims) * output\n\n    def cond_grad_fn(x, t_input):\n        \"\"\"\n        Compute the gradient of the classifier, i.e. nabla_{x} log p_t(cond | x_t).\n        \"\"\"\n        with torch.enable_grad():\n            x_in = x.detach().requires_grad_(True)\n            log_prob = classifier_fn(x_in, t_input, condition, **classifier_kwargs)\n            return torch.autograd.grad(log_prob.sum(), x_in)[0]\n\n    def model_fn(x, t_continuous):\n        \"\"\"\n        The noise predicition model function that is used for DPM-Solver.\n        \"\"\"\n        if t_continuous.reshape((-1,)).shape[0] == 1:\n            t_continuous = t_continuous.expand((x.shape[0]))\n        if guidance_type == \"uncond\":\n            return noise_pred_fn(x, t_continuous)\n        elif guidance_type == \"classifier\":\n            assert classifier_fn is not None\n            t_input = get_model_input_time(t_continuous)\n            cond_grad = cond_grad_fn(x, t_input)\n            sigma_t = noise_schedule.marginal_std(t_continuous)\n            noise = noise_pred_fn(x, t_continuous)\n            return (\n                noise\n                - guidance_scale\n                * expand_dims(sigma_t, dims=cond_grad.dim())\n                * cond_grad\n            )\n        elif guidance_type == \"classifier-free\":\n            if guidance_scale == 1.0 or unconditional_condition is None:\n                return noise_pred_fn(x, t_continuous, cond=condition)\n            else:\n                x_in = torch.cat([x] * 2)\n                t_in = torch.cat([t_continuous] * 2)\n                c_in = torch.cat([unconditional_condition, condition])\n                noise_uncond, noise = noise_pred_fn(x_in, t_in, cond=c_in).chunk(2)\n                return noise_uncond + guidance_scale * (noise - noise_uncond)\n\n    assert model_type in [\"noise\", \"x_start\", \"v\"]\n    assert guidance_type in [\"uncond\", \"classifier\", \"classifier-free\"]\n    return model_fn\n\n\nclass DPM_Solver:\n    def __init__(\n        self,\n        model_fn,\n        noise_schedule,\n        predict_x0=False,\n        thresholding=False,\n        max_val=1.0,\n    ):\n        \"\"\"Construct a DPM-Solver.\n        We support both the noise prediction model (\"predicting epsilon\") and the data prediction model (\"predicting x0\").\n        If `predict_x0` is False, we use the solver for the noise prediction model (DPM-Solver).\n        If `predict_x0` is True, we use the solver for the data prediction model (DPM-Solver++).\n            In such case, we further support the \"dynamic thresholding\" in [1] when `thresholding` is True.\n            The \"dynamic thresholding\" can greatly improve the sample quality for pixel-space DPMs with large guidance scales.\n        Args:\n            model_fn: A noise prediction model function which accepts the continuous-time input (t in [epsilon, T]):\n                ``\n                def model_fn(x, t_continuous):\n                    return noise\n                ``\n            noise_schedule: A noise schedule object, such as NoiseScheduleVP.\n            predict_x0: A `bool`. If true, use the data prediction model; else, use the noise prediction model.\n            thresholding: A `bool`. Valid when `predict_x0` is True. Whether to use the \"dynamic thresholding\" in [1].\n            max_val: A `float`. Valid when both `predict_x0` and `thresholding` are True. The max value for thresholding.\n\n        [1] Chitwan Saharia, William Chan, Saurabh Saxena, Lala Li, Jay Whang, Emily Denton, Seyed Kamyar Seyed Ghasemipour, Burcu Karagol Ayan, S Sara Mahdavi, Rapha Gontijo Lopes, et al. Photorealistic text-to-image diffusion models with deep language understanding. arXiv preprint arXiv:2205.11487, 2022b.\n        \"\"\"\n        self.model = model_fn\n        self.noise_schedule = noise_schedule\n        self.predict_x0 = predict_x0\n        self.thresholding = thresholding\n        self.max_val = max_val\n\n    def noise_prediction_fn(self, x, t):\n        \"\"\"\n        Return the noise prediction model.\n        \"\"\"\n        return self.model(x, t)\n\n    def data_prediction_fn(self, x, t):\n        \"\"\"\n        Return the data prediction model (with thresholding).\n        \"\"\"\n        noise = self.noise_prediction_fn(x, t)\n        dims = x.dim()\n        alpha_t, sigma_t = self.noise_schedule.marginal_alpha(\n            t\n        ), self.noise_schedule.marginal_std(t)\n        x0 = (x - expand_dims(sigma_t, dims) * noise) / expand_dims(alpha_t, dims)\n        if self.thresholding:\n            p = 0.995  # A hyperparameter in the paper of \"Imagen\" [1].\n            s = torch.quantile(torch.abs(x0).reshape((x0.shape[0], -1)), p, dim=1)\n            s = expand_dims(\n                torch.maximum(s, self.max_val * torch.ones_like(s).to(s.device)), dims\n            )\n            x0 = torch.clamp(x0, -s, s) / s\n        return x0\n\n    def model_fn(self, x, t):\n        \"\"\"\n        Convert the model to the noise prediction model or the data prediction model.\n        \"\"\"\n        if self.predict_x0:\n            return self.data_prediction_fn(x, t)\n        else:\n            return self.noise_prediction_fn(x, t)\n\n    def get_time_steps(self, skip_type, t_T, t_0, N, device):\n        \"\"\"Compute the intermediate time steps for sampling.\n        Args:\n            skip_type: A `str`. The type for the spacing of the time steps. We support three types:\n                - 'logSNR': uniform logSNR for the time steps.\n                - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.)\n                - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.)\n            t_T: A `float`. The starting time of the sampling (default is T).\n            t_0: A `float`. The ending time of the sampling (default is epsilon).\n            N: A `int`. The total number of the spacing of the time steps.\n            device: A torch device.\n        Returns:\n            A pytorch tensor of the time steps, with the shape (N + 1,).\n        \"\"\"\n        if skip_type == \"logSNR\":\n            lambda_T = self.noise_schedule.marginal_lambda(torch.tensor(t_T).to(device))\n            lambda_0 = self.noise_schedule.marginal_lambda(torch.tensor(t_0).to(device))\n            logSNR_steps = torch.linspace(\n                lambda_T.cpu().item(), lambda_0.cpu().item(), N + 1\n            ).to(device)\n            return self.noise_schedule.inverse_lambda(logSNR_steps)\n        elif skip_type == \"time_uniform\":\n            return torch.linspace(t_T, t_0, N + 1).to(device)\n        elif skip_type == \"time_quadratic\":\n            t_order = 2\n            t = (\n                torch.linspace(t_T ** (1.0 / t_order), t_0 ** (1.0 / t_order), N + 1)\n                .pow(t_order)\n                .to(device)\n            )\n            return t\n        else:\n            raise ValueError(\n                \"Unsupported skip_type {}, need to be 'logSNR' or 'time_uniform' or 'time_quadratic'\".format(\n                    skip_type\n                )\n            )\n\n    def get_orders_and_timesteps_for_singlestep_solver(\n        self, steps, order, skip_type, t_T, t_0, device\n    ):\n        \"\"\"\n        Get the order of each step for sampling by the singlestep DPM-Solver.\n        We combine both DPM-Solver-1,2,3 to use all the function evaluations, which is named as \"DPM-Solver-fast\".\n        Given a fixed number of function evaluations by `steps`, the sampling procedure by DPM-Solver-fast is:\n            - If order == 1:\n                We take `steps` of DPM-Solver-1 (i.e. DDIM).\n            - If order == 2:\n                - Denote K = (steps // 2). We take K or (K + 1) intermediate time steps for sampling.\n                - If steps % 2 == 0, we use K steps of DPM-Solver-2.\n                - If steps % 2 == 1, we use K steps of DPM-Solver-2 and 1 step of DPM-Solver-1.\n            - If order == 3:\n                - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling.\n                - If steps % 3 == 0, we use (K - 2) steps of DPM-Solver-3, and 1 step of DPM-Solver-2 and 1 step of DPM-Solver-1.\n                - If steps % 3 == 1, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-1.\n                - If steps % 3 == 2, we use (K - 1) steps of DPM-Solver-3 and 1 step of DPM-Solver-2.\n        ============================================\n        Args:\n            order: A `int`. The max order for the solver (2 or 3).\n            steps: A `int`. The total number of function evaluations (NFE).\n            skip_type: A `str`. The type for the spacing of the time steps. We support three types:\n                - 'logSNR': uniform logSNR for the time steps.\n                - 'time_uniform': uniform time for the time steps. (**Recommended for high-resolutional data**.)\n                - 'time_quadratic': quadratic time for the time steps. (Used in DDIM for low-resolutional data.)\n            t_T: A `float`. The starting time of the sampling (default is T).\n            t_0: A `float`. The ending time of the sampling (default is epsilon).\n            device: A torch device.\n        Returns:\n            orders: A list of the solver order of each step.\n        \"\"\"\n        if order == 3:\n            K = steps // 3 + 1\n            if steps % 3 == 0:\n                orders = [\n                    3,\n                ] * (\n                    K - 2\n                ) + [2, 1]\n            elif steps % 3 == 1:\n                orders = [\n                    3,\n                ] * (\n                    K - 1\n                ) + [1]\n            else:\n                orders = [\n                    3,\n                ] * (\n                    K - 1\n                ) + [2]\n        elif order == 2:\n            if steps % 2 == 0:\n                K = steps // 2\n                orders = [\n                    2,\n                ] * K\n            else:\n                K = steps // 2 + 1\n                orders = [\n                    2,\n                ] * (\n                    K - 1\n                ) + [1]\n        elif order == 1:\n            K = 1\n            orders = [\n                1,\n            ] * steps\n        else:\n            raise ValueError(\"'order' must be '1' or '2' or '3'.\")\n        if skip_type == \"logSNR\":\n            # To reproduce the results in DPM-Solver paper\n            timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, K, device)\n        else:\n            timesteps_outer = self.get_time_steps(skip_type, t_T, t_0, steps, device)[\n                torch.cumsum(\n                    torch.tensor(\n                        [\n                            0,\n                        ]\n                        + orders\n                    )\n                ).to(device)\n            ]\n        return timesteps_outer, orders\n\n    def denoise_to_zero_fn(self, x, s):\n        \"\"\"\n        Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization.\n        \"\"\"\n        return self.data_prediction_fn(x, s)\n\n    def dpm_solver_first_update(self, x, s, t, model_s=None, return_intermediate=False):\n        \"\"\"\n        DPM-Solver-1 (equivalent to DDIM) from time `s` to time `t`.\n        Args:\n            x: A pytorch tensor. The initial value at time `s`.\n            s: A pytorch tensor. The starting time, with the shape (x.shape[0],).\n            t: A pytorch tensor. The ending time, with the shape (x.shape[0],).\n            model_s: A pytorch tensor. The model function evaluated at time `s`.\n                If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it.\n            return_intermediate: A `bool`. If true, also return the model value at time `s`.\n        Returns:\n            x_t: A pytorch tensor. The approximated solution at time `t`.\n        \"\"\"\n        ns = self.noise_schedule\n        dims = x.dim()\n        lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t)\n        h = lambda_t - lambda_s\n        log_alpha_s, log_alpha_t = ns.marginal_log_mean_coeff(\n            s\n        ), ns.marginal_log_mean_coeff(t)\n        sigma_s, sigma_t = ns.marginal_std(s), ns.marginal_std(t)\n        alpha_t = torch.exp(log_alpha_t)\n\n        if self.predict_x0:\n            phi_1 = torch.expm1(-h)\n            if model_s is None:\n                model_s = self.model_fn(x, s)\n            x_t = (\n                expand_dims(sigma_t / sigma_s, dims) * x\n                - expand_dims(alpha_t * phi_1, dims) * model_s\n            )\n            if return_intermediate:\n                return x_t, {\"model_s\": model_s}\n            else:\n                return x_t\n        else:\n            phi_1 = torch.expm1(h)\n            if model_s is None:\n                model_s = self.model_fn(x, s)\n            x_t = (\n                expand_dims(torch.exp(log_alpha_t - log_alpha_s), dims) * x\n                - expand_dims(sigma_t * phi_1, dims) * model_s\n            )\n            if return_intermediate:\n                return x_t, {\"model_s\": model_s}\n            else:\n                return x_t\n\n    def singlestep_dpm_solver_second_update(\n        self,\n        x,\n        s,\n        t,\n        r1=0.5,\n        model_s=None,\n        return_intermediate=False,\n        solver_type=\"dpm_solver\",\n    ):\n        \"\"\"\n        Singlestep solver DPM-Solver-2 from time `s` to time `t`.\n        Args:\n            x: A pytorch tensor. The initial value at time `s`.\n            s: A pytorch tensor. The starting time, with the shape (x.shape[0],).\n            t: A pytorch tensor. The ending time, with the shape (x.shape[0],).\n            r1: A `float`. The hyperparameter of the second-order solver.\n            model_s: A pytorch tensor. The model function evaluated at time `s`.\n                If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it.\n            return_intermediate: A `bool`. If true, also return the model value at time `s` and `s1` (the intermediate time).\n            solver_type: either 'dpm_solver' or 'taylor'. The type for the high-order solvers.\n                The type slightly impacts the performance. We recommend to use 'dpm_solver' type.\n        Returns:\n            x_t: A pytorch tensor. The approximated solution at time `t`.\n        \"\"\"\n        if solver_type not in [\"dpm_solver\", \"taylor\"]:\n            raise ValueError(\n                \"'solver_type' must be either 'dpm_solver' or 'taylor', got {}\".format(\n                    solver_type\n                )\n            )\n        if r1 is None:\n            r1 = 0.5\n        ns = self.noise_schedule\n        dims = x.dim()\n        lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t)\n        h = lambda_t - lambda_s\n        lambda_s1 = lambda_s + r1 * h\n        s1 = ns.inverse_lambda(lambda_s1)\n        log_alpha_s, log_alpha_s1, log_alpha_t = (\n            ns.marginal_log_mean_coeff(s),\n            ns.marginal_log_mean_coeff(s1),\n            ns.marginal_log_mean_coeff(t),\n        )\n        sigma_s, sigma_s1, sigma_t = (\n            ns.marginal_std(s),\n            ns.marginal_std(s1),\n            ns.marginal_std(t),\n        )\n        alpha_s1, alpha_t = torch.exp(log_alpha_s1), torch.exp(log_alpha_t)\n\n        if self.predict_x0:\n            phi_11 = torch.expm1(-r1 * h)\n            phi_1 = torch.expm1(-h)\n\n            if model_s is None:\n                model_s = self.model_fn(x, s)\n            x_s1 = (\n                expand_dims(sigma_s1 / sigma_s, dims) * x\n                - expand_dims(alpha_s1 * phi_11, dims) * model_s\n            )\n            model_s1 = self.model_fn(x_s1, s1)\n            if solver_type == \"dpm_solver\":\n                x_t = (\n                    expand_dims(sigma_t / sigma_s, dims) * x\n                    - expand_dims(alpha_t * phi_1, dims) * model_s\n                    - (0.5 / r1)\n                    * expand_dims(alpha_t * phi_1, dims)\n                    * (model_s1 - model_s)\n                )\n            elif solver_type == \"taylor\":\n                x_t = (\n                    expand_dims(sigma_t / sigma_s, dims) * x\n                    - expand_dims(alpha_t * phi_1, dims) * model_s\n                    + (1.0 / r1)\n                    * expand_dims(alpha_t * ((torch.exp(-h) - 1.0) / h + 1.0), dims)\n                    * (model_s1 - model_s)\n                )\n        else:\n            phi_11 = torch.expm1(r1 * h)\n            phi_1 = torch.expm1(h)\n\n            if model_s is None:\n                model_s = self.model_fn(x, s)\n            x_s1 = (\n                expand_dims(torch.exp(log_alpha_s1 - log_alpha_s), dims) * x\n                - expand_dims(sigma_s1 * phi_11, dims) * model_s\n            )\n            model_s1 = self.model_fn(x_s1, s1)\n            if solver_type == \"dpm_solver\":\n                x_t = (\n                    expand_dims(torch.exp(log_alpha_t - log_alpha_s), dims) * x\n                    - expand_dims(sigma_t * phi_1, dims) * model_s\n                    - (0.5 / r1)\n                    * expand_dims(sigma_t * phi_1, dims)\n                    * (model_s1 - model_s)\n                )\n            elif solver_type == \"taylor\":\n                x_t = (\n                    expand_dims(torch.exp(log_alpha_t - log_alpha_s), dims) * x\n                    - expand_dims(sigma_t * phi_1, dims) * model_s\n                    - (1.0 / r1)\n                    * expand_dims(sigma_t * ((torch.exp(h) - 1.0) / h - 1.0), dims)\n                    * (model_s1 - model_s)\n                )\n        if return_intermediate:\n            return x_t, {\"model_s\": model_s, \"model_s1\": model_s1}\n        else:\n            return x_t\n\n    def singlestep_dpm_solver_third_update(\n        self,\n        x,\n        s,\n        t,\n        r1=1.0 / 3.0,\n        r2=2.0 / 3.0,\n        model_s=None,\n        model_s1=None,\n        return_intermediate=False,\n        solver_type=\"dpm_solver\",\n    ):\n        \"\"\"\n        Singlestep solver DPM-Solver-3 from time `s` to time `t`.\n        Args:\n            x: A pytorch tensor. The initial value at time `s`.\n            s: A pytorch tensor. The starting time, with the shape (x.shape[0],).\n            t: A pytorch tensor. The ending time, with the shape (x.shape[0],).\n            r1: A `float`. The hyperparameter of the third-order solver.\n            r2: A `float`. The hyperparameter of the third-order solver.\n            model_s: A pytorch tensor. The model function evaluated at time `s`.\n                If `model_s` is None, we evaluate the model by `x` and `s`; otherwise we directly use it.\n            model_s1: A pytorch tensor. The model function evaluated at time `s1` (the intermediate time given by `r1`).\n                If `model_s1` is None, we evaluate the model at `s1`; otherwise we directly use it.\n            return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times).\n            solver_type: either 'dpm_solver' or 'taylor'. The type for the high-order solvers.\n                The type slightly impacts the performance. We recommend to use 'dpm_solver' type.\n        Returns:\n            x_t: A pytorch tensor. The approximated solution at time `t`.\n        \"\"\"\n        if solver_type not in [\"dpm_solver\", \"taylor\"]:\n            raise ValueError(\n                \"'solver_type' must be either 'dpm_solver' or 'taylor', got {}\".format(\n                    solver_type\n                )\n            )\n        if r1 is None:\n            r1 = 1.0 / 3.0\n        if r2 is None:\n            r2 = 2.0 / 3.0\n        ns = self.noise_schedule\n        dims = x.dim()\n        lambda_s, lambda_t = ns.marginal_lambda(s), ns.marginal_lambda(t)\n        h = lambda_t - lambda_s\n        lambda_s1 = lambda_s + r1 * h\n        lambda_s2 = lambda_s + r2 * h\n        s1 = ns.inverse_lambda(lambda_s1)\n        s2 = ns.inverse_lambda(lambda_s2)\n        log_alpha_s, log_alpha_s1, log_alpha_s2, log_alpha_t = (\n            ns.marginal_log_mean_coeff(s),\n            ns.marginal_log_mean_coeff(s1),\n            ns.marginal_log_mean_coeff(s2),\n            ns.marginal_log_mean_coeff(t),\n        )\n        sigma_s, sigma_s1, sigma_s2, sigma_t = (\n            ns.marginal_std(s),\n            ns.marginal_std(s1),\n            ns.marginal_std(s2),\n            ns.marginal_std(t),\n        )\n        alpha_s1, alpha_s2, alpha_t = (\n            torch.exp(log_alpha_s1),\n            torch.exp(log_alpha_s2),\n            torch.exp(log_alpha_t),\n        )\n\n        if self.predict_x0:\n            phi_11 = torch.expm1(-r1 * h)\n            phi_12 = torch.expm1(-r2 * h)\n            phi_1 = torch.expm1(-h)\n            phi_22 = torch.expm1(-r2 * h) / (r2 * h) + 1.0\n            phi_2 = phi_1 / h + 1.0\n            phi_3 = phi_2 / h - 0.5\n\n            if model_s is None:\n                model_s = self.model_fn(x, s)\n            if model_s1 is None:\n                x_s1 = (\n                    expand_dims(sigma_s1 / sigma_s, dims) * x\n                    - expand_dims(alpha_s1 * phi_11, dims) * model_s\n                )\n                model_s1 = self.model_fn(x_s1, s1)\n            x_s2 = (\n                expand_dims(sigma_s2 / sigma_s, dims) * x\n                - expand_dims(alpha_s2 * phi_12, dims) * model_s\n                + r2 / r1 * expand_dims(alpha_s2 * phi_22, dims) * (model_s1 - model_s)\n            )\n            model_s2 = self.model_fn(x_s2, s2)\n            if solver_type == \"dpm_solver\":\n                x_t = (\n                    expand_dims(sigma_t / sigma_s, dims) * x\n                    - expand_dims(alpha_t * phi_1, dims) * model_s\n                    + (1.0 / r2)\n                    * expand_dims(alpha_t * phi_2, dims)\n                    * (model_s2 - model_s)\n                )\n            elif solver_type == \"taylor\":\n                D1_0 = (1.0 / r1) * (model_s1 - model_s)\n                D1_1 = (1.0 / r2) * (model_s2 - model_s)\n                D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1)\n                D2 = 2.0 * (D1_1 - D1_0) / (r2 - r1)\n                x_t = (\n                    expand_dims(sigma_t / sigma_s, dims) * x\n                    - expand_dims(alpha_t * phi_1, dims) * model_s\n                    + expand_dims(alpha_t * phi_2, dims) * D1\n                    - expand_dims(alpha_t * phi_3, dims) * D2\n                )\n        else:\n            phi_11 = torch.expm1(r1 * h)\n            phi_12 = torch.expm1(r2 * h)\n            phi_1 = torch.expm1(h)\n            phi_22 = torch.expm1(r2 * h) / (r2 * h) - 1.0\n            phi_2 = phi_1 / h - 1.0\n            phi_3 = phi_2 / h - 0.5\n\n            if model_s is None:\n                model_s = self.model_fn(x, s)\n            if model_s1 is None:\n                x_s1 = (\n                    expand_dims(torch.exp(log_alpha_s1 - log_alpha_s), dims) * x\n                    - expand_dims(sigma_s1 * phi_11, dims) * model_s\n                )\n                model_s1 = self.model_fn(x_s1, s1)\n            x_s2 = (\n                expand_dims(torch.exp(log_alpha_s2 - log_alpha_s), dims) * x\n                - expand_dims(sigma_s2 * phi_12, dims) * model_s\n                - r2 / r1 * expand_dims(sigma_s2 * phi_22, dims) * (model_s1 - model_s)\n            )\n            model_s2 = self.model_fn(x_s2, s2)\n            if solver_type == \"dpm_solver\":\n                x_t = (\n                    expand_dims(torch.exp(log_alpha_t - log_alpha_s), dims) * x\n                    - expand_dims(sigma_t * phi_1, dims) * model_s\n                    - (1.0 / r2)\n                    * expand_dims(sigma_t * phi_2, dims)\n                    * (model_s2 - model_s)\n                )\n            elif solver_type == \"taylor\":\n                D1_0 = (1.0 / r1) * (model_s1 - model_s)\n                D1_1 = (1.0 / r2) * (model_s2 - model_s)\n                D1 = (r2 * D1_0 - r1 * D1_1) / (r2 - r1)\n                D2 = 2.0 * (D1_1 - D1_0) / (r2 - r1)\n                x_t = (\n                    expand_dims(torch.exp(log_alpha_t - log_alpha_s), dims) * x\n                    - expand_dims(sigma_t * phi_1, dims) * model_s\n                    - expand_dims(sigma_t * phi_2, dims) * D1\n                    - expand_dims(sigma_t * phi_3, dims) * D2\n                )\n\n        if return_intermediate:\n            return x_t, {\"model_s\": model_s, \"model_s1\": model_s1, \"model_s2\": model_s2}\n        else:\n            return x_t\n\n    def multistep_dpm_solver_second_update(\n        self, x, model_prev_list, t_prev_list, t, solver_type=\"dpm_solver\"\n    ):\n        \"\"\"\n        Multistep solver DPM-Solver-2 from time `t_prev_list[-1]` to time `t`.\n        Args:\n            x: A pytorch tensor. The initial value at time `s`.\n            model_prev_list: A list of pytorch tensor. The previous computed model values.\n            t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (x.shape[0],)\n            t: A pytorch tensor. The ending time, with the shape (x.shape[0],).\n            solver_type: either 'dpm_solver' or 'taylor'. The type for the high-order solvers.\n                The type slightly impacts the performance. We recommend to use 'dpm_solver' type.\n        Returns:\n            x_t: A pytorch tensor. The approximated solution at time `t`.\n        \"\"\"\n        if solver_type not in [\"dpm_solver\", \"taylor\"]:\n            raise ValueError(\n                \"'solver_type' must be either 'dpm_solver' or 'taylor', got {}\".format(\n                    solver_type\n                )\n            )\n        ns = self.noise_schedule\n        dims = x.dim()\n        model_prev_1, model_prev_0 = model_prev_list\n        t_prev_1, t_prev_0 = t_prev_list\n        lambda_prev_1, lambda_prev_0, lambda_t = (\n            ns.marginal_lambda(t_prev_1),\n            ns.marginal_lambda(t_prev_0),\n            ns.marginal_lambda(t),\n        )\n        log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(\n            t_prev_0\n        ), ns.marginal_log_mean_coeff(t)\n        sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t)\n        alpha_t = torch.exp(log_alpha_t)\n\n        h_0 = lambda_prev_0 - lambda_prev_1\n        h = lambda_t - lambda_prev_0\n        r0 = h_0 / h\n        D1_0 = expand_dims(1.0 / r0, dims) * (model_prev_0 - model_prev_1)\n        if self.predict_x0:\n            if solver_type == \"dpm_solver\":\n                x_t = (\n                    expand_dims(sigma_t / sigma_prev_0, dims) * x\n                    - expand_dims(alpha_t * (torch.exp(-h) - 1.0), dims) * model_prev_0\n                    - 0.5 * expand_dims(alpha_t * (torch.exp(-h) - 1.0), dims) * D1_0\n                )\n            elif solver_type == \"taylor\":\n                x_t = (\n                    expand_dims(sigma_t / sigma_prev_0, dims) * x\n                    - expand_dims(alpha_t * (torch.exp(-h) - 1.0), dims) * model_prev_0\n                    + expand_dims(alpha_t * ((torch.exp(-h) - 1.0) / h + 1.0), dims)\n                    * D1_0\n                )\n        else:\n            if solver_type == \"dpm_solver\":\n                x_t = (\n                    expand_dims(torch.exp(log_alpha_t - log_alpha_prev_0), dims) * x\n                    - expand_dims(sigma_t * (torch.exp(h) - 1.0), dims) * model_prev_0\n                    - 0.5 * expand_dims(sigma_t * (torch.exp(h) - 1.0), dims) * D1_0\n                )\n            elif solver_type == \"taylor\":\n                x_t = (\n                    expand_dims(torch.exp(log_alpha_t - log_alpha_prev_0), dims) * x\n                    - expand_dims(sigma_t * (torch.exp(h) - 1.0), dims) * model_prev_0\n                    - expand_dims(sigma_t * ((torch.exp(h) - 1.0) / h - 1.0), dims)\n                    * D1_0\n                )\n        return x_t\n\n    def multistep_dpm_solver_third_update(\n        self, x, model_prev_list, t_prev_list, t, solver_type=\"dpm_solver\"\n    ):\n        \"\"\"\n        Multistep solver DPM-Solver-3 from time `t_prev_list[-1]` to time `t`.\n        Args:\n            x: A pytorch tensor. The initial value at time `s`.\n            model_prev_list: A list of pytorch tensor. The previous computed model values.\n            t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (x.shape[0],)\n            t: A pytorch tensor. The ending time, with the shape (x.shape[0],).\n            solver_type: either 'dpm_solver' or 'taylor'. The type for the high-order solvers.\n                The type slightly impacts the performance. We recommend to use 'dpm_solver' type.\n        Returns:\n            x_t: A pytorch tensor. The approximated solution at time `t`.\n        \"\"\"\n        ns = self.noise_schedule\n        dims = x.dim()\n        model_prev_2, model_prev_1, model_prev_0 = model_prev_list\n        t_prev_2, t_prev_1, t_prev_0 = t_prev_list\n        lambda_prev_2, lambda_prev_1, lambda_prev_0, lambda_t = (\n            ns.marginal_lambda(t_prev_2),\n            ns.marginal_lambda(t_prev_1),\n            ns.marginal_lambda(t_prev_0),\n            ns.marginal_lambda(t),\n        )\n        log_alpha_prev_0, log_alpha_t = ns.marginal_log_mean_coeff(\n            t_prev_0\n        ), ns.marginal_log_mean_coeff(t)\n        sigma_prev_0, sigma_t = ns.marginal_std(t_prev_0), ns.marginal_std(t)\n        alpha_t = torch.exp(log_alpha_t)\n\n        h_1 = lambda_prev_1 - lambda_prev_2\n        h_0 = lambda_prev_0 - lambda_prev_1\n        h = lambda_t - lambda_prev_0\n        r0, r1 = h_0 / h, h_1 / h\n        D1_0 = expand_dims(1.0 / r0, dims) * (model_prev_0 - model_prev_1)\n        D1_1 = expand_dims(1.0 / r1, dims) * (model_prev_1 - model_prev_2)\n        D1 = D1_0 + expand_dims(r0 / (r0 + r1), dims) * (D1_0 - D1_1)\n        D2 = expand_dims(1.0 / (r0 + r1), dims) * (D1_0 - D1_1)\n        if self.predict_x0:\n            x_t = (\n                expand_dims(sigma_t / sigma_prev_0, dims) * x\n                - expand_dims(alpha_t * (torch.exp(-h) - 1.0), dims) * model_prev_0\n                + expand_dims(alpha_t * ((torch.exp(-h) - 1.0) / h + 1.0), dims) * D1\n                - expand_dims(\n                    alpha_t * ((torch.exp(-h) - 1.0 + h) / h**2 - 0.5), dims\n                )\n                * D2\n            )\n        else:\n            x_t = (\n                expand_dims(torch.exp(log_alpha_t - log_alpha_prev_0), dims) * x\n                - expand_dims(sigma_t * (torch.exp(h) - 1.0), dims) * model_prev_0\n                - expand_dims(sigma_t * ((torch.exp(h) - 1.0) / h - 1.0), dims) * D1\n                - expand_dims(sigma_t * ((torch.exp(h) - 1.0 - h) / h**2 - 0.5), dims)\n                * D2\n            )\n        return x_t\n\n    def singlestep_dpm_solver_update(\n        self,\n        x,\n        s,\n        t,\n        order,\n        return_intermediate=False,\n        solver_type=\"dpm_solver\",\n        r1=None,\n        r2=None,\n    ):\n        \"\"\"\n        Singlestep DPM-Solver with the order `order` from time `s` to time `t`.\n        Args:\n            x: A pytorch tensor. The initial value at time `s`.\n            s: A pytorch tensor. The starting time, with the shape (x.shape[0],).\n            t: A pytorch tensor. The ending time, with the shape (x.shape[0],).\n            order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3.\n            return_intermediate: A `bool`. If true, also return the model value at time `s`, `s1` and `s2` (the intermediate times).\n            solver_type: either 'dpm_solver' or 'taylor'. The type for the high-order solvers.\n                The type slightly impacts the performance. We recommend to use 'dpm_solver' type.\n            r1: A `float`. The hyperparameter of the second-order or third-order solver.\n            r2: A `float`. The hyperparameter of the third-order solver.\n        Returns:\n            x_t: A pytorch tensor. The approximated solution at time `t`.\n        \"\"\"\n        if order == 1:\n            return self.dpm_solver_first_update(\n                x, s, t, return_intermediate=return_intermediate\n            )\n        elif order == 2:\n            return self.singlestep_dpm_solver_second_update(\n                x,\n                s,\n                t,\n                return_intermediate=return_intermediate,\n                solver_type=solver_type,\n                r1=r1,\n            )\n        elif order == 3:\n            return self.singlestep_dpm_solver_third_update(\n                x,\n                s,\n                t,\n                return_intermediate=return_intermediate,\n                solver_type=solver_type,\n                r1=r1,\n                r2=r2,\n            )\n        else:\n            raise ValueError(\"Solver order must be 1 or 2 or 3, got {}\".format(order))\n\n    def multistep_dpm_solver_update(\n        self, x, model_prev_list, t_prev_list, t, order, solver_type=\"dpm_solver\"\n    ):\n        \"\"\"\n        Multistep DPM-Solver with the order `order` from time `t_prev_list[-1]` to time `t`.\n        Args:\n            x: A pytorch tensor. The initial value at time `s`.\n            model_prev_list: A list of pytorch tensor. The previous computed model values.\n            t_prev_list: A list of pytorch tensor. The previous times, each time has the shape (x.shape[0],)\n            t: A pytorch tensor. The ending time, with the shape (x.shape[0],).\n            order: A `int`. The order of DPM-Solver. We only support order == 1 or 2 or 3.\n            solver_type: either 'dpm_solver' or 'taylor'. The type for the high-order solvers.\n                The type slightly impacts the performance. We recommend to use 'dpm_solver' type.\n        Returns:\n            x_t: A pytorch tensor. The approximated solution at time `t`.\n        \"\"\"\n        if order == 1:\n            return self.dpm_solver_first_update(\n                x, t_prev_list[-1], t, model_s=model_prev_list[-1]\n            )\n        elif order == 2:\n            return self.multistep_dpm_solver_second_update(\n                x, model_prev_list, t_prev_list, t, solver_type=solver_type\n            )\n        elif order == 3:\n            return self.multistep_dpm_solver_third_update(\n                x, model_prev_list, t_prev_list, t, solver_type=solver_type\n            )\n        else:\n            raise ValueError(\"Solver order must be 1 or 2 or 3, got {}\".format(order))\n\n    def dpm_solver_adaptive(\n        self,\n        x,\n        order,\n        t_T,\n        t_0,\n        h_init=0.05,\n        atol=0.0078,\n        rtol=0.05,\n        theta=0.9,\n        t_err=1e-5,\n        solver_type=\"dpm_solver\",\n        callback=None,\n        img_callback=None,\n    ):\n        \"\"\"\n        The adaptive step size solver based on singlestep DPM-Solver.\n        Args:\n            x: A pytorch tensor. The initial value at time `t_T`.\n            order: A `int`. The (higher) order of the solver. We only support order == 2 or 3.\n            t_T: A `float`. The starting time of the sampling (default is T).\n            t_0: A `float`. The ending time of the sampling (default is epsilon).\n            h_init: A `float`. The initial step size (for logSNR).\n            atol: A `float`. The absolute tolerance of the solver. For image data, the default setting is 0.0078, followed [1].\n            rtol: A `float`. The relative tolerance of the solver. The default setting is 0.05.\n            theta: A `float`. The safety hyperparameter for adapting the step size. The default setting is 0.9, followed [1].\n            t_err: A `float`. The tolerance for the time. We solve the diffusion ODE until the absolute error between the\n                current time and `t_0` is less than `t_err`. The default setting is 1e-5.\n            solver_type: either 'dpm_solver' or 'taylor'. The type for the high-order solvers.\n                The type slightly impacts the performance. We recommend to use 'dpm_solver' type.\n        Returns:\n            x_0: A pytorch tensor. The approximated solution at time `t_0`.\n        [1] A. Jolicoeur-Martineau, K. Li, R. Piché-Taillefer, T. Kachman, and I. Mitliagkas, \"Gotta go fast when generating data with score-based models,\" arXiv preprint arXiv:2105.14080, 2021.\n        \"\"\"\n        ns = self.noise_schedule\n        s = t_T * torch.ones((x.shape[0],)).to(x)\n        lambda_s = ns.marginal_lambda(s)\n        lambda_0 = ns.marginal_lambda(t_0 * torch.ones_like(s).to(x))\n        h = h_init * torch.ones_like(s).to(x)\n        x_prev = x\n        nfe = 0\n        if order == 2:\n            r1 = 0.5\n\n            def lower_update(x, s, t):\n                return self.dpm_solver_first_update(x, s, t, return_intermediate=True)\n\n            def higher_update(x, s, t, **kwargs):\n                return self.singlestep_dpm_solver_second_update(\n                    x, s, t, r1=r1, solver_type=solver_type, **kwargs\n                )\n\n        elif order == 3:\n            r1, r2 = 1.0 / 3.0, 2.0 / 3.0\n\n            def lower_update(x, s, t):\n                return self.singlestep_dpm_solver_second_update(\n                    x, s, t, r1=r1, return_intermediate=True, solver_type=solver_type\n                )\n\n            def higher_update(x, s, t, **kwargs):\n                return self.singlestep_dpm_solver_third_update(\n                    x, s, t, r1=r1, r2=r2, solver_type=solver_type, **kwargs\n                )\n\n        else:\n            raise ValueError(\n                \"For adaptive step size solver, order must be 2 or 3, got {}\".format(\n                    order\n                )\n            )\n        while torch.abs((s - t_0)).mean() > t_err:\n            t = ns.inverse_lambda(lambda_s + h)\n            x_lower, lower_noise_kwargs = lower_update(x, s, t)\n            x_higher = higher_update(x, s, t, **lower_noise_kwargs)\n            delta = torch.max(\n                torch.ones_like(x).to(x) * atol,\n                rtol * torch.max(torch.abs(x_lower), torch.abs(x_prev)),\n            )\n\n            def norm_fn(v):\n                return torch.sqrt(\n                    torch.square(v.reshape((v.shape[0], -1))).mean(dim=-1, keepdim=True)\n                )\n\n            E = norm_fn((x_higher - x_lower) / delta).max()\n            if torch.all(E <= 1.0):\n                x = x_higher\n                s = t\n                x_prev = x_lower\n                lambda_s = ns.marginal_lambda(s)\n                if callback:\n                    callback(nfe)\n                if img_callback:\n                    img_callback(x, nfe)\n            h = torch.min(\n                theta * h * torch.float_power(E, -1.0 / order).float(),\n                lambda_0 - lambda_s,\n            )\n            nfe += order\n        print(\"adaptive solver nfe\", nfe)\n        return x\n\n    def sample(\n        self,\n        x,\n        steps=20,\n        t_start=None,\n        t_end=None,\n        order=3,\n        skip_type=\"time_uniform\",\n        method=\"singlestep\",\n        lower_order_final=True,\n        denoise_to_zero=False,\n        solver_type=\"dpm_solver\",\n        atol=0.0078,\n        rtol=0.05,\n        callback=None,\n        img_callback=None,\n    ):\n        \"\"\"\n        Compute the sample at time `t_end` by DPM-Solver, given the initial `x` at time `t_start`.\n        =====================================================\n        We support the following algorithms for both noise prediction model and data prediction model:\n            - 'singlestep':\n                Singlestep DPM-Solver (i.e. \"DPM-Solver-fast\" in the paper), which combines different orders of singlestep DPM-Solver.\n                We combine all the singlestep solvers with order <= `order` to use up all the function evaluations (steps).\n                The total number of function evaluations (NFE) == `steps`.\n                Given a fixed NFE == `steps`, the sampling procedure is:\n                    - If `order` == 1:\n                        - Denote K = steps. We use K steps of DPM-Solver-1 (i.e. DDIM).\n                    - If `order` == 2:\n                        - Denote K = (steps // 2) + (steps % 2). We take K intermediate time steps for sampling.\n                        - If steps % 2 == 0, we use K steps of singlestep DPM-Solver-2.\n                        - If steps % 2 == 1, we use (K - 1) steps of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1.\n                    - If `order` == 3:\n                        - Denote K = (steps // 3 + 1). We take K intermediate time steps for sampling.\n                        - If steps % 3 == 0, we use (K - 2) steps of singlestep DPM-Solver-3, and 1 step of singlestep DPM-Solver-2 and 1 step of DPM-Solver-1.\n                        - If steps % 3 == 1, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of DPM-Solver-1.\n                        - If steps % 3 == 2, we use (K - 1) steps of singlestep DPM-Solver-3 and 1 step of singlestep DPM-Solver-2.\n            - 'multistep':\n                Multistep DPM-Solver with the order of `order`. The total number of function evaluations (NFE) == `steps`.\n                We initialize the first `order` values by lower order multistep solvers.\n                Given a fixed NFE == `steps`, the sampling procedure is:\n                    Denote K = steps.\n                    - If `order` == 1:\n                        - We use K steps of DPM-Solver-1 (i.e. DDIM).\n                    - If `order` == 2:\n                        - We firstly use 1 step of DPM-Solver-1, then use (K - 1) step of multistep DPM-Solver-2.\n                    - If `order` == 3:\n                        - We firstly use 1 step of DPM-Solver-1, then 1 step of multistep DPM-Solver-2, then (K - 2) step of multistep DPM-Solver-3.\n            - 'singlestep_fixed':\n                Fixed order singlestep DPM-Solver (i.e. DPM-Solver-1 or singlestep DPM-Solver-2 or singlestep DPM-Solver-3).\n                We use singlestep DPM-Solver-`order` for `order`=1 or 2 or 3, with total [`steps` // `order`] * `order` NFE.\n            - 'adaptive':\n                Adaptive step size DPM-Solver (i.e. \"DPM-Solver-12\" and \"DPM-Solver-23\" in the paper).\n                We ignore `steps` and use adaptive step size DPM-Solver with a higher order of `order`.\n                You can adjust the absolute tolerance `atol` and the relative tolerance `rtol` to balance the computatation costs\n                (NFE) and the sample quality.\n                    - If `order` == 2, we use DPM-Solver-12 which combines DPM-Solver-1 and singlestep DPM-Solver-2.\n                    - If `order` == 3, we use DPM-Solver-23 which combines singlestep DPM-Solver-2 and singlestep DPM-Solver-3.\n        =====================================================\n        Some advices for choosing the algorithm:\n            - For **unconditional sampling** or **guided sampling with small guidance scale** by DPMs:\n                Use singlestep DPM-Solver (\"DPM-Solver-fast\" in the paper) with `order = 3`.\n                e.g.\n                    >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, predict_x0=False)\n                    >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=3,\n                            skip_type='time_uniform', method='singlestep')\n            - For **guided sampling with large guidance scale** by DPMs:\n                Use multistep DPM-Solver with `predict_x0 = True` and `order = 2`.\n                e.g.\n                    >>> dpm_solver = DPM_Solver(model_fn, noise_schedule, predict_x0=True)\n                    >>> x_sample = dpm_solver.sample(x, steps=steps, t_start=t_start, t_end=t_end, order=2,\n                            skip_type='time_uniform', method='multistep')\n        We support three types of `skip_type`:\n            - 'logSNR': uniform logSNR for the time steps. **Recommended for low-resolutional images**\n            - 'time_uniform': uniform time for the time steps. **Recommended for high-resolutional images**.\n            - 'time_quadratic': quadratic time for the time steps.\n        =====================================================\n        Args:\n            x: A pytorch tensor. The initial value at time `t_start`\n                e.g. if `t_start` == T, then `x` is a sample from the standard normal distribution.\n            steps: A `int`. The total number of function evaluations (NFE).\n            t_start: A `float`. The starting time of the sampling.\n                If `T` is None, we use self.noise_schedule.T (default is 1.0).\n            t_end: A `float`. The ending time of the sampling.\n                If `t_end` is None, we use 1. / self.noise_schedule.total_N.\n                e.g. if total_N == 1000, we have `t_end` == 1e-3.\n                For discrete-time DPMs:\n                    - We recommend `t_end` == 1. / self.noise_schedule.total_N.\n                For continuous-time DPMs:\n                    - We recommend `t_end` == 1e-3 when `steps` <= 15; and `t_end` == 1e-4 when `steps` > 15.\n            order: A `int`. The order of DPM-Solver.\n            skip_type: A `str`. The type for the spacing of the time steps. 'time_uniform' or 'logSNR' or 'time_quadratic'.\n            method: A `str`. The method for sampling. 'singlestep' or 'multistep' or 'singlestep_fixed' or 'adaptive'.\n            denoise_to_zero: A `bool`. Whether to denoise to time 0 at the final step.\n                Default is `False`. If `denoise_to_zero` is `True`, the total NFE is (`steps` + 1).\n                This trick is firstly proposed by DDPM (https://arxiv.org/abs/2006.11239) and\n                score_sde (https://arxiv.org/abs/2011.13456). Such trick can improve the FID\n                for diffusion models sampling by diffusion SDEs for low-resolutional images\n                (such as CIFAR-10). However, we observed that such trick does not matter for\n                high-resolutional images. As it needs an additional NFE, we do not recommend\n                it for high-resolutional images.\n            lower_order_final: A `bool`. Whether to use lower order solvers at the final steps.\n                Only valid for `method=multistep` and `steps < 15`. We empirically find that\n                this trick is a key to stabilizing the sampling by DPM-Solver with very few steps\n                (especially for steps <= 10). So we recommend to set it to be `True`.\n            solver_type: A `str`. The taylor expansion type for the solver. `dpm_solver` or `taylor`. We recommend `dpm_solver`.\n            atol: A `float`. The absolute tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'.\n            rtol: A `float`. The relative tolerance of the adaptive step size solver. Valid when `method` == 'adaptive'.\n        Returns:\n            x_end: A pytorch tensor. The approximated solution at time `t_end`.\n        \"\"\"\n        t_0 = 1.0 / self.noise_schedule.total_N if t_end is None else t_end\n        t_T = self.noise_schedule.T if t_start is None else t_start\n        device = x.device\n        if method == \"adaptive\":\n            with torch.no_grad():\n                x = self.dpm_solver_adaptive(\n                    x,\n                    order=order,\n                    t_T=t_T,\n                    t_0=t_0,\n                    atol=atol,\n                    rtol=rtol,\n                    solver_type=solver_type,\n                    callback=callback,\n                    img_callback=img_callback,\n                )\n        elif method == \"multistep\":\n            assert steps >= order\n            timesteps = self.get_time_steps(\n                skip_type=skip_type, t_T=t_T, t_0=t_0, N=steps, device=device\n            )\n            assert timesteps.shape[0] - 1 == steps\n            with torch.no_grad():\n                vec_t = timesteps[0].expand((x.shape[0]))\n                model_prev_list = [self.model_fn(x, vec_t)]\n                t_prev_list = [vec_t]\n                # Init the first `order` values by lower order multistep DPM-Solver.\n                for init_order in tqdm(range(1, order), desc=\"DPM init order\"):\n                    vec_t = timesteps[init_order].expand(x.shape[0])\n                    x = self.multistep_dpm_solver_update(\n                        x,\n                        model_prev_list,\n                        t_prev_list,\n                        vec_t,\n                        init_order,\n                        solver_type=solver_type,\n                    )\n                    model_prev_list.append(self.model_fn(x, vec_t))\n                    t_prev_list.append(vec_t)\n                # Compute the remaining values by `order`-th order multistep DPM-Solver.\n                for step in tqdm(range(order, steps + 1), desc=\"DPM multistep\"):\n                    vec_t = timesteps[step].expand(x.shape[0])\n                    if lower_order_final and steps < 15:\n                        step_order = min(order, steps + 1 - step)\n                    else:\n                        step_order = order\n                    x = self.multistep_dpm_solver_update(\n                        x,\n                        model_prev_list,\n                        t_prev_list,\n                        vec_t,\n                        step_order,\n                        solver_type=solver_type,\n                    )\n                    if callback:\n                        callback(step)\n                    if img_callback:\n                        img_callback(x, step)\n                    for i in range(order - 1):\n                        t_prev_list[i] = t_prev_list[i + 1]\n                        model_prev_list[i] = model_prev_list[i + 1]\n                    t_prev_list[-1] = vec_t\n                    # We do not need to evaluate the final model value.\n                    if step < steps:\n                        model_prev_list[-1] = self.model_fn(x, vec_t)\n        elif method in [\"singlestep\", \"singlestep_fixed\"]:\n            if method == \"singlestep\":\n                (\n                    timesteps_outer,\n                    orders,\n                ) = self.get_orders_and_timesteps_for_singlestep_solver(\n                    steps=steps,\n                    order=order,\n                    skip_type=skip_type,\n                    t_T=t_T,\n                    t_0=t_0,\n                    device=device,\n                )\n            elif method == \"singlestep_fixed\":\n                K = steps // order\n                orders = [\n                    order,\n                ] * K\n                timesteps_outer = self.get_time_steps(\n                    skip_type=skip_type, t_T=t_T, t_0=t_0, N=K, device=device\n                )\n            for i, order in enumerate(orders):\n                t_T_inner, t_0_inner = timesteps_outer[i], timesteps_outer[i + 1]\n                timesteps_inner = self.get_time_steps(\n                    skip_type=skip_type,\n                    t_T=t_T_inner.item(),\n                    t_0=t_0_inner.item(),\n                    N=order,\n                    device=device,\n                )\n                lambda_inner = self.noise_schedule.marginal_lambda(timesteps_inner)\n                vec_s, vec_t = t_T_inner.tile(x.shape[0]), t_0_inner.tile(x.shape[0])\n                h = lambda_inner[-1] - lambda_inner[0]\n                r1 = None if order <= 1 else (lambda_inner[1] - lambda_inner[0]) / h\n                r2 = None if order <= 2 else (lambda_inner[2] - lambda_inner[0]) / h\n                x = self.singlestep_dpm_solver_update(\n                    x, vec_s, vec_t, order, solver_type=solver_type, r1=r1, r2=r2\n                )\n                if callback:\n                    callback(i)\n                if img_callback:\n                    img_callback(x, i)\n        if denoise_to_zero:\n            x = self.denoise_to_zero_fn(x, torch.ones((x.shape[0],)).to(device) * t_0)\n            if callback:\n                callback(len(orders) - 1)\n            if img_callback:\n                img_callback(x, len(orders) - 1)\n        return x\n\n\n#############################################################\n# other utility functions\n#############################################################\n\n\ndef interpolate_fn(x, xp, yp):\n    \"\"\"\n    A piecewise linear function y = f(x), using xp and yp as keypoints.\n    We implement f(x) in a differentiable way (i.e. applicable for autograd).\n    The function f(x) is well-defined for all x-axis. (For x beyond the bounds of xp, we use the outmost points of xp to define the linear function.)\n    Args:\n        x: PyTorch tensor with shape [N, C], where N is the batch size, C is the number of channels (we use C = 1 for DPM-Solver).\n        xp: PyTorch tensor with shape [C, K], where K is the number of keypoints.\n        yp: PyTorch tensor with shape [C, K].\n    Returns:\n        The function values f(x), with shape [N, C].\n    \"\"\"\n    N, K = x.shape[0], xp.shape[1]\n    all_x = torch.cat([x.unsqueeze(2), xp.unsqueeze(0).repeat((N, 1, 1))], dim=2)\n    sorted_all_x, x_indices = torch.sort(all_x, dim=2)\n    x_idx = torch.argmin(x_indices, dim=2)\n    cand_start_idx = x_idx - 1\n    start_idx = torch.where(\n        torch.eq(x_idx, 0),\n        torch.tensor(1, device=x.device),\n        torch.where(\n            torch.eq(x_idx, K),\n            torch.tensor(K - 2, device=x.device),\n            cand_start_idx,\n        ),\n    )\n    end_idx = torch.where(\n        torch.eq(start_idx, cand_start_idx), start_idx + 2, start_idx + 1\n    )\n    start_x = torch.gather(sorted_all_x, dim=2, index=start_idx.unsqueeze(2)).squeeze(2)\n    end_x = torch.gather(sorted_all_x, dim=2, index=end_idx.unsqueeze(2)).squeeze(2)\n    start_idx2 = torch.where(\n        torch.eq(x_idx, 0),\n        torch.tensor(0, device=x.device),\n        torch.where(\n            torch.eq(x_idx, K),\n            torch.tensor(K - 2, device=x.device),\n            cand_start_idx,\n        ),\n    )\n    y_positions_expanded = yp.unsqueeze(0).expand(N, -1, -1)\n    start_y = torch.gather(\n        y_positions_expanded, dim=2, index=start_idx2.unsqueeze(2)\n    ).squeeze(2)\n    end_y = torch.gather(\n        y_positions_expanded, dim=2, index=(start_idx2 + 1).unsqueeze(2)\n    ).squeeze(2)\n    cand = start_y + (x - start_x) * (end_y - start_y) / (end_x - start_x)\n    return cand\n\n\ndef expand_dims(v, dims):\n    \"\"\"\n    Expand the tensor `v` to the dim `dims`.\n    Args:\n        `v`: a PyTorch tensor with shape [N].\n        `dim`: a `int`.\n    Returns:\n        a PyTorch tensor with shape [N, 1, 1, ..., 1] and the total dimension is `dims`.\n    \"\"\"\n    return v[(...,) + (None,) * (dims - 1)]\n"
  },
  {
    "path": "ldm/models/diffusion/dpm_solver/sampler.py",
    "content": "\"\"\"SAMPLING ONLY.\"\"\"\nimport torch\n\nfrom .dpm_solver import NoiseScheduleVP, model_wrapper, DPM_Solver\n\n\nMODEL_TYPES = {\"eps\": \"noise\", \"v\": \"v\"}\n\n\nclass DPMSolverSampler(object):\n    def __init__(self, model, **kwargs):\n        super().__init__()\n        self.model = model\n\n        def to_torch(x):\n            return x.clone().detach().to(torch.float32).to(model.device)\n\n        self.register_buffer(\"alphas_cumprod\", to_torch(model.alphas_cumprod))\n\n    def register_buffer(self, name, attr):\n        if type(attr) == torch.Tensor:\n            if attr.device != torch.device(self.model.device):\n                attr = attr.to(torch.device(self.model.device))\n        setattr(self, name, attr)\n\n    @torch.no_grad()\n    def sample(\n        self,\n        S,\n        batch_size,\n        shape,\n        conditioning=None,\n        callback=None,\n        normals_sequence=None,\n        img_callback=None,\n        quantize_x0=False,\n        eta=0.0,\n        mask=None,\n        x0=None,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        verbose=True,\n        x_T=None,\n        log_every_t=100,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n        # this has to come in the same format as the conditioning, # e.g. as encoded tokens, ...\n        **kwargs,\n    ):\n        if conditioning is not None:\n            if isinstance(conditioning, dict):\n                cbs = conditioning[list(conditioning.keys())[0]].shape[0]\n                if cbs != batch_size:\n                    print(\n                        f\"Warning: Got {cbs} conditionings but batch-size is {batch_size}\"\n                    )\n            else:\n                if conditioning.shape[0] != batch_size:\n                    print(\n                        f\"Warning: Got {conditioning.shape[0]} conditionings but batch-size is {batch_size}\"\n                    )\n\n        # sampling\n        C, H, W = shape\n        size = (batch_size, C, H, W)\n\n        print(f\"Data shape for DPM-Solver sampling is {size}, sampling steps {S}\")\n\n        device = self.model.betas.device\n        if x_T is None:\n            img = torch.randn(size, device=device)\n        else:\n            img = x_T\n\n        ns = NoiseScheduleVP(\"discrete\", alphas_cumprod=self.alphas_cumprod)\n\n        model_fn = model_wrapper(\n            lambda x, t, c: self.model.apply_model(x, t, c),\n            ns,\n            model_type=MODEL_TYPES[self.model.parameterization],\n            guidance_type=\"classifier-free\",\n            condition=conditioning,\n            unconditional_condition=unconditional_conditioning,\n            guidance_scale=unconditional_guidance_scale,\n        )\n\n        dpm_solver = DPM_Solver(model_fn, ns, predict_x0=True, thresholding=False)\n        method = \"multistep\" if S > 1 else \"adaptive\"\n        x = dpm_solver.sample(\n            img,\n            steps=S,\n            skip_type=\"time_uniform\",\n            method=method,\n            order=2,\n            lower_order_final=True,\n            callback=callback,\n            img_callback=img_callback,\n        )\n\n        return x.to(device), None\n"
  },
  {
    "path": "ldm/models/diffusion/kdiffusion.py",
    "content": "import k_diffusion as K\nimport torch\nimport torch.nn as nn\n\n\nclass KDiffusionSampler:\n    def __init__(self, m, sampler, callback=None):\n        self.model = m\n        self.model_wrap = K.external.CompVisDenoiser(m)\n        self.schedule = sampler\n        self.generation_callback = callback\n\n    def get_sampler_name(self):\n        return self.schedule\n\n    def sample(\n        self,\n        S,\n        conditioning,\n        unconditional_guidance_scale,\n        unconditional_conditioning,\n        x_T,\n    ):\n        sigmas = self.model_wrap.get_sigmas(S)\n        x = x_T * sigmas[0]\n        model_wrap_cfg = CFGDenoiser(self.model_wrap)\n        samples_ddim = None\n        samples_ddim = K.sampling.__dict__[f\"sample_{self.schedule}\"](\n            model_wrap_cfg,\n            x,\n            sigmas,\n            extra_args={\n                \"cond\": conditioning,\n                \"uncond\": unconditional_conditioning,\n                \"cond_scale\": unconditional_guidance_scale,\n            },\n            disable=False,\n            callback=self.generation_callback,\n        )\n        #\n        return samples_ddim, None\n\n\nclass CFGMaskedDenoiser(nn.Module):\n    def __init__(self, model):\n        super().__init__()\n        self.inner_model = model\n\n    def forward(self, x, sigma, uncond, cond, cond_scale, mask, x0, xi):\n        x_in = x\n        x_in = torch.cat([x_in] * 2)\n        sigma_in = torch.cat([sigma] * 2)\n        cond_in = torch.cat([uncond, cond])\n        uncond, cond = self.inner_model(x_in, sigma_in, cond=cond_in).chunk(2)\n        denoised = uncond + (cond - uncond) * cond_scale\n\n        if mask is not None:\n            assert x0 is not None\n            img_orig = x0\n            mask_inv = 1.0 - mask\n            denoised = (img_orig * mask_inv) + (mask * denoised)\n\n        return denoised\n\n\nclass CFGDenoiser(nn.Module):\n    def __init__(self, model):\n        super().__init__()\n        self.inner_model = model\n\n    def forward(self, x, sigma, uncond, cond, cond_scale):\n        x_in = torch.cat([x] * 2)\n        sigma_in = torch.cat([sigma] * 2)\n        cond_in = torch.cat([uncond, cond])\n        uncond, cond = self.inner_model(x_in, sigma_in, cond=cond_in).chunk(2)\n        return uncond + (cond - uncond) * cond_scale\n"
  },
  {
    "path": "ldm/models/diffusion/plms.py",
    "content": "\"\"\"SAMPLING ONLY.\"\"\"\n\nimport torch\nimport numpy as np\nfrom tqdm import tqdm\n\nfrom ldm.modules.diffusionmodules.util import (\n    make_ddim_sampling_parameters,\n    make_ddim_timesteps,\n    noise_like,\n)\n\n\nclass PLMSSampler(object):\n    def __init__(self, model, schedule=\"linear\", **kwargs):\n        super().__init__()\n        self.model = model\n        self.ddpm_num_timesteps = model.num_timesteps\n        self.schedule = schedule\n\n    def register_buffer(self, name, attr):\n        if type(attr) == torch.Tensor:\n            if attr.device != torch.device(\"cuda\"):\n                attr = attr.to(torch.device(\"cuda\"))\n        setattr(self, name, attr)\n\n    def make_schedule(\n        self, ddim_num_steps, ddim_discretize=\"uniform\", ddim_eta=0.0, verbose=True\n    ):\n        if ddim_eta != 0:\n            raise ValueError(\"ddim_eta must be 0 for PLMS\")\n        self.ddim_timesteps = make_ddim_timesteps(\n            ddim_discr_method=ddim_discretize,\n            num_ddim_timesteps=ddim_num_steps,\n            num_ddpm_timesteps=self.ddpm_num_timesteps,\n            verbose=verbose,\n        )\n        alphas_cumprod = self.model.alphas_cumprod\n        assert (\n            alphas_cumprod.shape[0] == self.ddpm_num_timesteps\n        ), \"alphas have to be defined for each timestep\"\n\n        def to_torch(x):\n            return x.clone().detach().to(torch.float32).to(self.model.device)\n\n        self.register_buffer(\"betas\", to_torch(self.model.betas))\n        self.register_buffer(\"alphas_cumprod\", to_torch(alphas_cumprod))\n        self.register_buffer(\n            \"alphas_cumprod_prev\", to_torch(self.model.alphas_cumprod_prev)\n        )\n\n        # calculations for diffusion q(x_t | x_{t-1}) and others\n        self.register_buffer(\n            \"sqrt_alphas_cumprod\", to_torch(np.sqrt(alphas_cumprod.cpu()))\n        )\n        self.register_buffer(\n            \"sqrt_one_minus_alphas_cumprod\",\n            to_torch(np.sqrt(1.0 - alphas_cumprod.cpu())),\n        )\n        self.register_buffer(\n            \"log_one_minus_alphas_cumprod\", to_torch(np.log(1.0 - alphas_cumprod.cpu()))\n        )\n        self.register_buffer(\n            \"sqrt_recip_alphas_cumprod\", to_torch(np.sqrt(1.0 / alphas_cumprod.cpu()))\n        )\n        self.register_buffer(\n            \"sqrt_recipm1_alphas_cumprod\",\n            to_torch(np.sqrt(1.0 / alphas_cumprod.cpu() - 1)),\n        )\n\n        # ddim sampling parameters\n        ddim_sigmas, ddim_alphas, ddim_alphas_prev = make_ddim_sampling_parameters(\n            alphacums=alphas_cumprod.cpu(),\n            ddim_timesteps=self.ddim_timesteps,\n            eta=ddim_eta,\n            verbose=verbose,\n        )\n        self.register_buffer(\"ddim_sigmas\", ddim_sigmas)\n        self.register_buffer(\"ddim_alphas\", ddim_alphas)\n        self.register_buffer(\"ddim_alphas_prev\", ddim_alphas_prev)\n        self.register_buffer(\"ddim_sqrt_one_minus_alphas\", np.sqrt(1.0 - ddim_alphas))\n        sigmas_for_original_sampling_steps = ddim_eta * torch.sqrt(\n            (1 - self.alphas_cumprod_prev)\n            / (1 - self.alphas_cumprod)\n            * (1 - self.alphas_cumprod / self.alphas_cumprod_prev)\n        )\n        self.register_buffer(\n            \"ddim_sigmas_for_original_num_steps\", sigmas_for_original_sampling_steps\n        )\n\n    @torch.no_grad()\n    def sample(\n        self,\n        S,\n        batch_size,\n        shape,\n        conditioning=None,\n        callback=None,\n        normals_sequence=None,\n        img_callback=None,\n        quantize_x0=False,\n        eta=0.0,\n        mask=None,\n        x0=None,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        verbose=True,\n        x_T=None,\n        log_every_t=100,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n        # this has to come in the same format as the conditioning, # e.g. as encoded tokens, ...\n        **kwargs,\n    ):\n        if conditioning is not None:\n            if isinstance(conditioning, dict):\n                cbs = conditioning[list(conditioning.keys())[0]].shape[0]\n                if cbs != batch_size:\n                    print(\n                        f\"Warning: Got {cbs} conditionings but batch-size is {batch_size}\"\n                    )\n            else:\n                if conditioning.shape[0] != batch_size:\n                    print(\n                        f\"Warning: Got {conditioning.shape[0]} conditionings but batch-size is {batch_size}\"\n                    )\n\n        self.make_schedule(ddim_num_steps=S, ddim_eta=eta, verbose=verbose)\n        # sampling\n        C, H, W = shape\n        size = (batch_size, C, H, W)\n        print(f\"Data shape for PLMS sampling is {size}\")\n\n        samples, intermediates = self.plms_sampling(\n            conditioning,\n            size,\n            callback=callback,\n            img_callback=img_callback,\n            quantize_denoised=quantize_x0,\n            mask=mask,\n            x0=x0,\n            ddim_use_original_steps=False,\n            noise_dropout=noise_dropout,\n            temperature=temperature,\n            score_corrector=score_corrector,\n            corrector_kwargs=corrector_kwargs,\n            x_T=x_T,\n            log_every_t=log_every_t,\n            unconditional_guidance_scale=unconditional_guidance_scale,\n            unconditional_conditioning=unconditional_conditioning,\n        )\n        return samples, intermediates\n\n    @torch.no_grad()\n    def plms_sampling(\n        self,\n        cond,\n        shape,\n        x_T=None,\n        ddim_use_original_steps=False,\n        callback=None,\n        timesteps=None,\n        quantize_denoised=False,\n        mask=None,\n        x0=None,\n        img_callback=None,\n        log_every_t=100,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n    ):\n        device = self.model.betas.device\n        b = shape[0]\n        if x_T is None:\n            img = torch.randn(shape, device=device)\n        else:\n            img = x_T\n\n        if timesteps is None:\n            timesteps = (\n                self.ddpm_num_timesteps\n                if ddim_use_original_steps\n                else self.ddim_timesteps\n            )\n        elif timesteps is not None and not ddim_use_original_steps:\n            subset_end = (\n                int(\n                    min(timesteps / self.ddim_timesteps.shape[0], 1)\n                    * self.ddim_timesteps.shape[0]\n                )\n                - 1\n            )\n            timesteps = self.ddim_timesteps[:subset_end]\n\n        intermediates = {\"x_inter\": [img], \"pred_x0\": [img]}\n        time_range = (\n            list(reversed(range(0, timesteps)))\n            if ddim_use_original_steps\n            else np.flip(timesteps)\n        )\n        total_steps = timesteps if ddim_use_original_steps else timesteps.shape[0]\n        print(f\"Running PLMS Sampling with {total_steps} timesteps\")\n\n        iterator = tqdm(time_range, desc=\"PLMS Sampler\", total=total_steps)\n        old_eps = []\n\n        for i, step in enumerate(iterator):\n            index = total_steps - i - 1\n            ts = torch.full((b,), step, device=device, dtype=torch.long)\n            ts_next = torch.full(\n                (b,),\n                time_range[min(i + 1, len(time_range) - 1)],\n                device=device,\n                dtype=torch.long,\n            )\n\n            if mask is not None:\n                assert x0 is not None\n                img_orig = self.model.q_sample(\n                    x0, ts\n                )  # TODO: deterministic forward pass?\n                img = img_orig * mask + (1.0 - mask) * img\n\n            outs = self.p_sample_plms(\n                img,\n                cond,\n                ts,\n                index=index,\n                use_original_steps=ddim_use_original_steps,\n                quantize_denoised=quantize_denoised,\n                temperature=temperature,\n                noise_dropout=noise_dropout,\n                score_corrector=score_corrector,\n                corrector_kwargs=corrector_kwargs,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n                unconditional_conditioning=unconditional_conditioning,\n                old_eps=old_eps,\n                t_next=ts_next,\n            )\n            img, pred_x0, e_t = outs\n            old_eps.append(e_t)\n            if len(old_eps) >= 4:\n                old_eps.pop(0)\n            if callback:\n                callback(i)\n            if img_callback:\n                img_callback(pred_x0, i)\n\n            if index % log_every_t == 0 or index == total_steps - 1:\n                intermediates[\"x_inter\"].append(img)\n                intermediates[\"pred_x0\"].append(pred_x0)\n\n        return img, intermediates\n\n    @torch.no_grad()\n    def p_sample_plms(\n        self,\n        x,\n        c,\n        t,\n        index,\n        repeat_noise=False,\n        use_original_steps=False,\n        quantize_denoised=False,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n        old_eps=None,\n        t_next=None,\n    ):\n        b, *_, device = *x.shape, x.device\n\n        def get_model_output(x, t):\n            if (\n                unconditional_conditioning is None\n                or unconditional_guidance_scale == 1.0\n            ):\n                e_t = self.model.apply_model(x, t, c)\n            else:\n                x_in = torch.cat([x] * 2)\n                t_in = torch.cat([t] * 2)\n                c_in = torch.cat([unconditional_conditioning, c])\n                e_t_uncond, e_t = self.model.apply_model(x_in, t_in, c_in).chunk(2)\n                e_t = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            if score_corrector is not None:\n                assert self.model.parameterization == \"eps\"\n                e_t = score_corrector.modify_score(\n                    self.model, e_t, x, t, c, **corrector_kwargs\n                )\n\n            return e_t\n\n        alphas = self.model.alphas_cumprod if use_original_steps else self.ddim_alphas\n        alphas_prev = (\n            self.model.alphas_cumprod_prev\n            if use_original_steps\n            else self.ddim_alphas_prev\n        )\n        sqrt_one_minus_alphas = (\n            self.model.sqrt_one_minus_alphas_cumprod\n            if use_original_steps\n            else self.ddim_sqrt_one_minus_alphas\n        )\n        sigmas = (\n            self.model.ddim_sigmas_for_original_num_steps\n            if use_original_steps\n            else self.ddim_sigmas\n        )\n\n        def get_x_prev_and_pred_x0(e_t, index):\n            # select parameters corresponding to the currently considered timestep\n            a_t = torch.full((b, 1, 1, 1), alphas[index], device=device)\n            a_prev = torch.full((b, 1, 1, 1), alphas_prev[index], device=device)\n            sigma_t = torch.full((b, 1, 1, 1), sigmas[index], device=device)\n            sqrt_one_minus_at = torch.full(\n                (b, 1, 1, 1), sqrt_one_minus_alphas[index], device=device\n            )\n\n            # current prediction for x_0\n            pred_x0 = (x - sqrt_one_minus_at * e_t) / a_t.sqrt()\n            if quantize_denoised:\n                pred_x0, _, *_ = self.model.first_stage_model.quantize(pred_x0)\n            # direction pointing to x_t\n            dir_xt = (1.0 - a_prev - sigma_t**2).sqrt() * e_t\n            noise = sigma_t * noise_like(x.shape, device, repeat_noise) * temperature\n            if noise_dropout > 0.0:\n                noise = torch.nn.functional.dropout(noise, p=noise_dropout)\n            x_prev = a_prev.sqrt() * pred_x0 + dir_xt + noise\n            return x_prev, pred_x0\n\n        e_t = get_model_output(x, t)\n        if len(old_eps) == 0:\n            # Pseudo Improved Euler (2nd order)\n            x_prev, pred_x0 = get_x_prev_and_pred_x0(e_t, index)\n            e_t_next = get_model_output(x_prev, t_next)\n            e_t_prime = (e_t + e_t_next) / 2\n        elif len(old_eps) == 1:\n            # 2nd order Pseudo Linear Multistep (Adams-Bashforth)\n            e_t_prime = (3 * e_t - old_eps[-1]) / 2\n        elif len(old_eps) == 2:\n            # 3nd order Pseudo Linear Multistep (Adams-Bashforth)\n            e_t_prime = (23 * e_t - 16 * old_eps[-1] + 5 * old_eps[-2]) / 12\n        elif len(old_eps) >= 3:\n            # 4nd order Pseudo Linear Multistep (Adams-Bashforth)\n            e_t_prime = (\n                55 * e_t - 59 * old_eps[-1] + 37 * old_eps[-2] - 9 * old_eps[-3]\n            ) / 24\n\n        x_prev, pred_x0 = get_x_prev_and_pred_x0(e_t_prime, index)\n\n        return x_prev, pred_x0, e_t\n"
  },
  {
    "path": "ldm/models/diffusion/sampling_util.py",
    "content": "def append_dims(x, target_dims):\n    \"\"\"Appends dimensions to the end of a tensor until it has target_dims dimensions.\n    From https://github.com/crowsonkb/k-diffusion/blob/master/k_diffusion/utils.py\"\"\"\n    dims_to_append = target_dims - x.ndim\n    if dims_to_append < 0:\n        raise ValueError(\n            f\"input has {x.ndim} dims but target_dims is {target_dims}, which is less\"\n        )\n    return x[(...,) + (None,) * dims_to_append]\n\n\ndef norm_thresholding(x0, value):\n    s = append_dims(x0.pow(2).flatten(1).mean(1).sqrt().clamp(min=value), x0.ndim)\n    return x0 * (value / s)\n\n\ndef spatial_norm_thresholding(x0, value):\n    # b c h w\n    s = x0.pow(2).mean(1, keepdim=True).sqrt().clamp(min=value)\n    return x0 * (value / s)\n"
  },
  {
    "path": "ldm/models/med.py",
    "content": "\"\"\"\n * Copyright (c) 2022, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: BSD-3-Clause\n * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause\n * By Junnan Li\n * Based on huggingface code base\n * https://github.com/huggingface/transformers/blob/v4.15.0/src/transformers/models/bert\n\"\"\"\n\nimport math\nfrom typing import Tuple\n\nimport torch\nfrom torch import Tensor, device, nn\nimport torch.utils.checkpoint\nfrom torch import nn\nfrom torch.nn import CrossEntropyLoss\n\nfrom transformers.activations import ACT2FN\nfrom transformers.modeling_outputs import (\n    BaseModelOutputWithPastAndCrossAttentions,\n    BaseModelOutputWithPoolingAndCrossAttentions,\n    CausalLMOutputWithCrossAttentions,\n)\nfrom transformers.modeling_utils import (\n    PreTrainedModel,\n    apply_chunking_to_forward,\n    find_pruneable_heads_and_indices,\n    prune_linear_layer,\n)\nfrom transformers.utils import logging\nfrom transformers.models.bert.configuration_bert import BertConfig\n\n\nlogger = logging.get_logger(__name__)\n\n\nclass BertEmbeddings(nn.Module):\n    \"\"\"Construct the embeddings from word and position embeddings.\"\"\"\n\n    def __init__(self, config):\n        super().__init__()\n        self.word_embeddings = nn.Embedding(\n            config.vocab_size, config.hidden_size, padding_idx=config.pad_token_id\n        )\n        self.position_embeddings = nn.Embedding(\n            config.max_position_embeddings, config.hidden_size\n        )\n\n        # self.LayerNorm is not snake-cased to stick with TensorFlow model variable name and be able to load\n        # any TensorFlow checkpoint file\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n\n        # position_ids (1, len position emb) is contiguous in memory and exported when serialized\n        self.register_buffer(\n            \"position_ids\", torch.arange(config.max_position_embeddings).expand((1, -1))\n        )\n        self.position_embedding_type = getattr(\n            config, \"position_embedding_type\", \"absolute\"\n        )\n\n        self.config = config\n\n    def forward(\n        self,\n        input_ids=None,\n        position_ids=None,\n        inputs_embeds=None,\n        past_key_values_length=0,\n    ):\n        if input_ids is not None:\n            input_shape = input_ids.size()\n        else:\n            input_shape = inputs_embeds.size()[:-1]\n\n        seq_length = input_shape[1]\n\n        if position_ids is None:\n            position_ids = self.position_ids[\n                :, past_key_values_length : seq_length + past_key_values_length\n            ]\n\n        if inputs_embeds is None:\n            inputs_embeds = self.word_embeddings(input_ids)\n\n        embeddings = inputs_embeds\n\n        if self.position_embedding_type == \"absolute\":\n            position_embeddings = self.position_embeddings(position_ids)\n            embeddings += position_embeddings\n        embeddings = self.LayerNorm(embeddings)\n        embeddings = self.dropout(embeddings)\n        return embeddings\n\n\nclass BertSelfAttention(nn.Module):\n    def __init__(self, config, is_cross_attention):\n        super().__init__()\n        self.config = config\n        if config.hidden_size % config.num_attention_heads != 0 and not hasattr(\n            config, \"embedding_size\"\n        ):\n            raise ValueError(\n                \"The hidden size (%d) is not a multiple of the number of attention \"\n                \"heads (%d)\" % (config.hidden_size, config.num_attention_heads)\n            )\n\n        self.num_attention_heads = config.num_attention_heads\n        self.attention_head_size = int(config.hidden_size / config.num_attention_heads)\n        self.all_head_size = self.num_attention_heads * self.attention_head_size\n\n        self.query = nn.Linear(config.hidden_size, self.all_head_size)\n        if is_cross_attention:\n            self.key = nn.Linear(config.encoder_width, self.all_head_size)\n            self.value = nn.Linear(config.encoder_width, self.all_head_size)\n        else:\n            self.key = nn.Linear(config.hidden_size, self.all_head_size)\n            self.value = nn.Linear(config.hidden_size, self.all_head_size)\n\n        self.dropout = nn.Dropout(config.attention_probs_dropout_prob)\n        self.position_embedding_type = getattr(\n            config, \"position_embedding_type\", \"absolute\"\n        )\n        if (\n            self.position_embedding_type == \"relative_key\"\n            or self.position_embedding_type == \"relative_key_query\"\n        ):\n            self.max_position_embeddings = config.max_position_embeddings\n            self.distance_embedding = nn.Embedding(\n                2 * config.max_position_embeddings - 1, self.attention_head_size\n            )\n        self.save_attention = False\n\n    def save_attn_gradients(self, attn_gradients):\n        self.attn_gradients = attn_gradients\n\n    def get_attn_gradients(self):\n        return self.attn_gradients\n\n    def save_attention_map(self, attention_map):\n        self.attention_map = attention_map\n\n    def get_attention_map(self):\n        return self.attention_map\n\n    def transpose_for_scores(self, x):\n        new_x_shape = x.size()[:-1] + (\n            self.num_attention_heads,\n            self.attention_head_size,\n        )\n        x = x.view(*new_x_shape)\n        return x.permute(0, 2, 1, 3)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n    ):\n        mixed_query_layer = self.query(hidden_states)\n\n        # If this is instantiated as a cross-attention module, the keys\n        # and values come from an encoder; the attention mask needs to be\n        # such that the encoder's padding tokens are not attended to.\n        is_cross_attention = encoder_hidden_states is not None\n\n        if is_cross_attention:\n            key_layer = self.transpose_for_scores(self.key(encoder_hidden_states))\n            value_layer = self.transpose_for_scores(self.value(encoder_hidden_states))\n            attention_mask = encoder_attention_mask\n        elif past_key_value is not None:\n            key_layer = self.transpose_for_scores(self.key(hidden_states))\n            value_layer = self.transpose_for_scores(self.value(hidden_states))\n            key_layer = torch.cat([past_key_value[0], key_layer], dim=2)\n            value_layer = torch.cat([past_key_value[1], value_layer], dim=2)\n        else:\n            key_layer = self.transpose_for_scores(self.key(hidden_states))\n            value_layer = self.transpose_for_scores(self.value(hidden_states))\n\n        query_layer = self.transpose_for_scores(mixed_query_layer)\n\n        past_key_value = (key_layer, value_layer)\n\n        # Take the dot product between \"query\" and \"key\" to get the raw attention scores.\n        attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2))\n\n        if (\n            self.position_embedding_type == \"relative_key\"\n            or self.position_embedding_type == \"relative_key_query\"\n        ):\n            seq_length = hidden_states.size()[1]\n            position_ids_l = torch.arange(\n                seq_length, dtype=torch.long, device=hidden_states.device\n            ).view(-1, 1)\n            position_ids_r = torch.arange(\n                seq_length, dtype=torch.long, device=hidden_states.device\n            ).view(1, -1)\n            distance = position_ids_l - position_ids_r\n            positional_embedding = self.distance_embedding(\n                distance + self.max_position_embeddings - 1\n            )\n            positional_embedding = positional_embedding.to(\n                dtype=query_layer.dtype\n            )  # fp16 compatibility\n\n            if self.position_embedding_type == \"relative_key\":\n                relative_position_scores = torch.einsum(\n                    \"bhld,lrd->bhlr\", query_layer, positional_embedding\n                )\n                attention_scores = attention_scores + relative_position_scores\n            elif self.position_embedding_type == \"relative_key_query\":\n                relative_position_scores_query = torch.einsum(\n                    \"bhld,lrd->bhlr\", query_layer, positional_embedding\n                )\n                relative_position_scores_key = torch.einsum(\n                    \"bhrd,lrd->bhlr\", key_layer, positional_embedding\n                )\n                attention_scores = (\n                    attention_scores\n                    + relative_position_scores_query\n                    + relative_position_scores_key\n                )\n\n        attention_scores = attention_scores / math.sqrt(self.attention_head_size)\n        if attention_mask is not None:\n            # Apply the attention mask is (precomputed for all layers in BertModel forward() function)\n            attention_scores = attention_scores + attention_mask\n\n        # Normalize the attention scores to probabilities.\n        attention_probs = nn.Softmax(dim=-1)(attention_scores)\n\n        if is_cross_attention and self.save_attention:\n            self.save_attention_map(attention_probs)\n            attention_probs.register_hook(self.save_attn_gradients)\n\n        # This is actually dropping out entire tokens to attend to, which might\n        # seem a bit unusual, but is taken from the original Transformer paper.\n        attention_probs_dropped = self.dropout(attention_probs)\n\n        # Mask heads if we want to\n        if head_mask is not None:\n            attention_probs_dropped = attention_probs_dropped * head_mask\n\n        context_layer = torch.matmul(attention_probs_dropped, value_layer)\n\n        context_layer = context_layer.permute(0, 2, 1, 3).contiguous()\n        new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,)\n        context_layer = context_layer.view(*new_context_layer_shape)\n\n        outputs = (\n            (context_layer, attention_probs) if output_attentions else (context_layer,)\n        )\n\n        outputs = outputs + (past_key_value,)\n        return outputs\n\n\nclass BertSelfOutput(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n\n    def forward(self, hidden_states, input_tensor):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.dropout(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states + input_tensor)\n        return hidden_states\n\n\nclass BertAttention(nn.Module):\n    def __init__(self, config, is_cross_attention=False):\n        super().__init__()\n        self.self = BertSelfAttention(config, is_cross_attention)\n        self.output = BertSelfOutput(config)\n        self.pruned_heads = set()\n\n    def prune_heads(self, heads):\n        if len(heads) == 0:\n            return\n        heads, index = find_pruneable_heads_and_indices(\n            heads,\n            self.self.num_attention_heads,\n            self.self.attention_head_size,\n            self.pruned_heads,\n        )\n\n        # Prune linear layers\n        self.self.query = prune_linear_layer(self.self.query, index)\n        self.self.key = prune_linear_layer(self.self.key, index)\n        self.self.value = prune_linear_layer(self.self.value, index)\n        self.output.dense = prune_linear_layer(self.output.dense, index, dim=1)\n\n        # Update hyper params and store pruned heads\n        self.self.num_attention_heads = self.self.num_attention_heads - len(heads)\n        self.self.all_head_size = (\n            self.self.attention_head_size * self.self.num_attention_heads\n        )\n        self.pruned_heads = self.pruned_heads.union(heads)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n    ):\n        self_outputs = self.self(\n            hidden_states,\n            attention_mask,\n            head_mask,\n            encoder_hidden_states,\n            encoder_attention_mask,\n            past_key_value,\n            output_attentions,\n        )\n        attention_output = self.output(self_outputs[0], hidden_states)\n        outputs = (attention_output,) + self_outputs[\n            1:\n        ]  # add attentions if we output them\n        return outputs\n\n\nclass BertIntermediate(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.intermediate_size)\n        if isinstance(config.hidden_act, str):\n            self.intermediate_act_fn = ACT2FN[config.hidden_act]\n        else:\n            self.intermediate_act_fn = config.hidden_act\n\n    def forward(self, hidden_states):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.intermediate_act_fn(hidden_states)\n        return hidden_states\n\n\nclass BertOutput(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.intermediate_size, config.hidden_size)\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n\n    def forward(self, hidden_states, input_tensor):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.dropout(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states + input_tensor)\n        return hidden_states\n\n\nclass BertLayer(nn.Module):\n    def __init__(self, config, layer_num):\n        super().__init__()\n        self.config = config\n        self.chunk_size_feed_forward = config.chunk_size_feed_forward\n        self.seq_len_dim = 1\n        self.attention = BertAttention(config)\n        self.layer_num = layer_num\n        if self.config.add_cross_attention:\n            self.crossattention = BertAttention(\n                config, is_cross_attention=self.config.add_cross_attention\n            )\n        self.intermediate = BertIntermediate(config)\n        self.output = BertOutput(config)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n        mode=None,\n    ):\n        # decoder uni-directional self-attention cached key/values tuple is at positions 1,2\n        self_attn_past_key_value = (\n            past_key_value[:2] if past_key_value is not None else None\n        )\n        self_attention_outputs = self.attention(\n            hidden_states,\n            attention_mask,\n            head_mask,\n            output_attentions=output_attentions,\n            past_key_value=self_attn_past_key_value,\n        )\n        attention_output = self_attention_outputs[0]\n\n        outputs = self_attention_outputs[1:-1]\n        present_key_value = self_attention_outputs[-1]\n\n        if mode == \"multimodal\":\n            assert (\n                encoder_hidden_states is not None\n            ), \"encoder_hidden_states must be given for cross-attention layers\"\n\n            cross_attention_outputs = self.crossattention(\n                attention_output,\n                attention_mask,\n                head_mask,\n                encoder_hidden_states,\n                encoder_attention_mask,\n                output_attentions=output_attentions,\n            )\n            attention_output = cross_attention_outputs[0]\n            outputs = (\n                outputs + cross_attention_outputs[1:-1]\n            )  # add cross attentions if we output attention weights\n        layer_output = apply_chunking_to_forward(\n            self.feed_forward_chunk,\n            self.chunk_size_feed_forward,\n            self.seq_len_dim,\n            attention_output,\n        )\n        outputs = (layer_output,) + outputs\n\n        outputs = outputs + (present_key_value,)\n\n        return outputs\n\n    def feed_forward_chunk(self, attention_output):\n        intermediate_output = self.intermediate(attention_output)\n        layer_output = self.output(intermediate_output, attention_output)\n        return layer_output\n\n\nclass BertEncoder(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.config = config\n        self.layer = nn.ModuleList(\n            [BertLayer(config, i) for i in range(config.num_hidden_layers)]\n        )\n        self.gradient_checkpointing = False\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_values=None,\n        use_cache=None,\n        output_attentions=False,\n        output_hidden_states=False,\n        return_dict=True,\n        mode=\"multimodal\",\n    ):\n        all_hidden_states = () if output_hidden_states else None\n        all_self_attentions = () if output_attentions else None\n        all_cross_attentions = (\n            () if output_attentions and self.config.add_cross_attention else None\n        )\n\n        next_decoder_cache = () if use_cache else None\n\n        for i in range(self.config.num_hidden_layers):\n            layer_module = self.layer[i]\n            if output_hidden_states:\n                all_hidden_states = all_hidden_states + (hidden_states,)\n\n            layer_head_mask = head_mask[i] if head_mask is not None else None\n            past_key_value = past_key_values[i] if past_key_values is not None else None\n\n            if self.gradient_checkpointing and self.training:\n                if use_cache:\n                    logger.warn(\n                        \"`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`...\"\n                    )\n                    use_cache = False\n\n                def create_custom_forward(module):\n                    def custom_forward(*inputs):\n                        return module(*inputs, past_key_value, output_attentions)\n\n                    return custom_forward\n\n                layer_outputs = torch.utils.checkpoint.checkpoint(\n                    create_custom_forward(layer_module),\n                    hidden_states,\n                    attention_mask,\n                    layer_head_mask,\n                    encoder_hidden_states,\n                    encoder_attention_mask,\n                    mode=mode,\n                )\n            else:\n                layer_outputs = layer_module(\n                    hidden_states,\n                    attention_mask,\n                    layer_head_mask,\n                    encoder_hidden_states,\n                    encoder_attention_mask,\n                    past_key_value,\n                    output_attentions,\n                    mode=mode,\n                )\n\n            hidden_states = layer_outputs[0]\n            if use_cache:\n                next_decoder_cache += (layer_outputs[-1],)\n            if output_attentions:\n                all_self_attentions = all_self_attentions + (layer_outputs[1],)\n\n        if output_hidden_states:\n            all_hidden_states = all_hidden_states + (hidden_states,)\n\n        if not return_dict:\n            return tuple(\n                v\n                for v in [\n                    hidden_states,\n                    next_decoder_cache,\n                    all_hidden_states,\n                    all_self_attentions,\n                    all_cross_attentions,\n                ]\n                if v is not None\n            )\n        return BaseModelOutputWithPastAndCrossAttentions(\n            last_hidden_state=hidden_states,\n            past_key_values=next_decoder_cache,\n            hidden_states=all_hidden_states,\n            attentions=all_self_attentions,\n            cross_attentions=all_cross_attentions,\n        )\n\n\nclass BertPooler(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        self.activation = nn.Tanh()\n\n    def forward(self, hidden_states):\n        # We \"pool\" the model by simply taking the hidden state corresponding\n        # to the first token.\n        first_token_tensor = hidden_states[:, 0]\n        pooled_output = self.dense(first_token_tensor)\n        pooled_output = self.activation(pooled_output)\n        return pooled_output\n\n\nclass BertPredictionHeadTransform(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        if isinstance(config.hidden_act, str):\n            self.transform_act_fn = ACT2FN[config.hidden_act]\n        else:\n            self.transform_act_fn = config.hidden_act\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n\n    def forward(self, hidden_states):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.transform_act_fn(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states)\n        return hidden_states\n\n\nclass BertLMPredictionHead(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.transform = BertPredictionHeadTransform(config)\n\n        # The output weights are the same as the input embeddings, but there is\n        # an output-only bias for each token.\n        self.decoder = nn.Linear(config.hidden_size, config.vocab_size, bias=False)\n\n        self.bias = nn.Parameter(torch.zeros(config.vocab_size))\n\n        # Need a link between the two variables so that the bias is correctly resized with `resize_token_embeddings`\n        self.decoder.bias = self.bias\n\n    def forward(self, hidden_states):\n        hidden_states = self.transform(hidden_states)\n        hidden_states = self.decoder(hidden_states)\n        return hidden_states\n\n\nclass BertOnlyMLMHead(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.predictions = BertLMPredictionHead(config)\n\n    def forward(self, sequence_output):\n        prediction_scores = self.predictions(sequence_output)\n        return prediction_scores\n\n\nclass BertPreTrainedModel(PreTrainedModel):\n    \"\"\"\n    An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained\n    models.\n    \"\"\"\n\n    config_class = BertConfig\n    base_model_prefix = \"bert\"\n    _keys_to_ignore_on_load_missing = [r\"position_ids\"]\n\n    def _init_weights(self, module):\n        \"\"\"Initialize the weights\"\"\"\n        if isinstance(module, (nn.Linear, nn.Embedding)):\n            # Slightly different from the TF version which uses truncated_normal for initialization\n            # cf https://github.com/pytorch/pytorch/pull/5617\n            module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)\n        elif isinstance(module, nn.LayerNorm):\n            module.bias.data.zero_()\n            module.weight.data.fill_(1.0)\n        if isinstance(module, nn.Linear) and module.bias is not None:\n            module.bias.data.zero_()\n\n\nclass BertModel(BertPreTrainedModel):\n    \"\"\"\n    The model can behave as an encoder (with only self-attention) as well as a decoder, in which case a layer of\n    cross-attention is added between the self-attention layers, following the architecture described in `Attention is\n    all you need <https://arxiv.org/abs/1706.03762>`__ by Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit,\n    Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin.\n    argument and :obj:`add_cross_attention` set to :obj:`True`; an :obj:`encoder_hidden_states` is then expected as an\n    input to the forward pass.\n    \"\"\"\n\n    def __init__(self, config, add_pooling_layer=True):\n        super().__init__(config)\n        self.config = config\n\n        self.embeddings = BertEmbeddings(config)\n\n        self.encoder = BertEncoder(config)\n\n        self.pooler = BertPooler(config) if add_pooling_layer else None\n\n        self.init_weights()\n\n    def get_input_embeddings(self):\n        return self.embeddings.word_embeddings\n\n    def set_input_embeddings(self, value):\n        self.embeddings.word_embeddings = value\n\n    def _prune_heads(self, heads_to_prune):\n        \"\"\"\n        Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base\n        class PreTrainedModel\n        \"\"\"\n        for layer, heads in heads_to_prune.items():\n            self.encoder.layer[layer].attention.prune_heads(heads)\n\n    def get_extended_attention_mask(\n        self,\n        attention_mask: Tensor,\n        input_shape: Tuple[int],\n        device: device,\n        is_decoder: bool,\n    ) -> Tensor:\n        \"\"\"\n        Makes broadcastable attention and causal masks so that future and masked tokens are ignored.\n\n        Arguments:\n            attention_mask (:obj:`torch.Tensor`):\n                Mask with ones indicating tokens to attend to, zeros for tokens to ignore.\n            input_shape (:obj:`Tuple[int]`):\n                The shape of the input to the model.\n            device: (:obj:`torch.device`):\n                The device of the input to the model.\n\n        Returns:\n            :obj:`torch.Tensor` The extended attention mask, with a the same dtype as :obj:`attention_mask.dtype`.\n        \"\"\"\n        # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length]\n        # ourselves in which case we just need to make it broadcastable to all heads.\n        if attention_mask.dim() == 3:\n            extended_attention_mask = attention_mask[:, None, :, :]\n        elif attention_mask.dim() == 2:\n            # Provided a padding mask of dimensions [batch_size, seq_length]\n            # - if the model is a decoder, apply a causal mask in addition to the padding mask\n            # - if the model is an encoder, make the mask broadcastable to [batch_size, num_heads, seq_length, seq_length]\n            if is_decoder:\n                batch_size, seq_length = input_shape\n\n                seq_ids = torch.arange(seq_length, device=device)\n                causal_mask = (\n                    seq_ids[None, None, :].repeat(batch_size, seq_length, 1)\n                    <= seq_ids[None, :, None]\n                )\n                # in case past_key_values are used we need to add a prefix ones mask to the causal mask\n                # causal and attention masks must have same type with pytorch version < 1.3\n                causal_mask = causal_mask.to(attention_mask.dtype)\n\n                if causal_mask.shape[1] < attention_mask.shape[1]:\n                    prefix_seq_len = attention_mask.shape[1] - causal_mask.shape[1]\n                    causal_mask = torch.cat(\n                        [\n                            torch.ones(\n                                (batch_size, seq_length, prefix_seq_len),\n                                device=device,\n                                dtype=causal_mask.dtype,\n                            ),\n                            causal_mask,\n                        ],\n                        axis=-1,\n                    )\n\n                extended_attention_mask = (\n                    causal_mask[:, None, :, :] * attention_mask[:, None, None, :]\n                )\n            else:\n                extended_attention_mask = attention_mask[:, None, None, :]\n        else:\n            raise ValueError(\n                \"Wrong shape for input_ids (shape {}) or attention_mask (shape {})\".format(\n                    input_shape, attention_mask.shape\n                )\n            )\n\n        # Since attention_mask is 1.0 for positions we want to attend and 0.0 for\n        # masked positions, this operation will create a tensor which is 0.0 for\n        # positions we want to attend and -10000.0 for masked positions.\n        # Since we are adding it to the raw scores before the softmax, this is\n        # effectively the same as removing these entirely.\n        extended_attention_mask = extended_attention_mask.to(\n            dtype=self.dtype\n        )  # fp16 compatibility\n        extended_attention_mask = (1.0 - extended_attention_mask) * -10000.0\n        return extended_attention_mask\n\n    def forward(\n        self,\n        input_ids=None,\n        attention_mask=None,\n        position_ids=None,\n        head_mask=None,\n        inputs_embeds=None,\n        encoder_embeds=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_values=None,\n        use_cache=None,\n        output_attentions=None,\n        output_hidden_states=None,\n        return_dict=None,\n        is_decoder=False,\n        mode=\"multimodal\",\n    ):\n        r\"\"\"\n        encoder_hidden_states  (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`):\n            Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if\n            the model is configured as a decoder.\n        encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):\n            Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in\n            the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``:\n            - 1 for tokens that are **not masked**,\n            - 0 for tokens that are **masked**.\n        past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`):\n            Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding.\n            If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids`\n            (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)`\n            instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`.\n        use_cache (:obj:`bool`, `optional`):\n            If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up\n            decoding (see :obj:`past_key_values`).\n        \"\"\"\n        output_attentions = (\n            output_attentions\n            if output_attentions is not None\n            else self.config.output_attentions\n        )\n        output_hidden_states = (\n            output_hidden_states\n            if output_hidden_states is not None\n            else self.config.output_hidden_states\n        )\n        return_dict = (\n            return_dict if return_dict is not None else self.config.use_return_dict\n        )\n\n        if is_decoder:\n            use_cache = use_cache if use_cache is not None else self.config.use_cache\n        else:\n            use_cache = False\n\n        if input_ids is not None and inputs_embeds is not None:\n            raise ValueError(\n                \"You cannot specify both input_ids and inputs_embeds at the same time\"\n            )\n        elif input_ids is not None:\n            input_shape = input_ids.size()\n            batch_size, seq_length = input_shape\n            device = input_ids.device\n        elif inputs_embeds is not None:\n            input_shape = inputs_embeds.size()[:-1]\n            batch_size, seq_length = input_shape\n            device = inputs_embeds.device\n        elif encoder_embeds is not None:\n            input_shape = encoder_embeds.size()[:-1]\n            batch_size, seq_length = input_shape\n            device = encoder_embeds.device\n        else:\n            raise ValueError(\n                \"You have to specify either input_ids or inputs_embeds or encoder_embeds\"\n            )\n\n        # past_key_values_length\n        past_key_values_length = (\n            past_key_values[0][0].shape[2] if past_key_values is not None else 0\n        )\n\n        if attention_mask is None:\n            attention_mask = torch.ones(\n                ((batch_size, seq_length + past_key_values_length)), device=device\n            )\n\n        # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length]\n        # ourselves in which case we just need to make it broadcastable to all heads.\n        extended_attention_mask: torch.Tensor = self.get_extended_attention_mask(\n            attention_mask, input_shape, device, is_decoder\n        )\n\n        # If a 2D or 3D attention mask is provided for the cross-attention\n        # we need to make broadcastable to [batch_size, num_heads, seq_length, seq_length]\n        if encoder_hidden_states is not None:\n            if type(encoder_hidden_states) == list:\n                encoder_batch_size, encoder_sequence_length, _ = encoder_hidden_states[\n                    0\n                ].size()\n            else:\n                (\n                    encoder_batch_size,\n                    encoder_sequence_length,\n                    _,\n                ) = encoder_hidden_states.size()\n            encoder_hidden_shape = (encoder_batch_size, encoder_sequence_length)\n\n            if type(encoder_attention_mask) == list:\n                encoder_extended_attention_mask = [\n                    self.invert_attention_mask(mask) for mask in encoder_attention_mask\n                ]\n            elif encoder_attention_mask is None:\n                encoder_attention_mask = torch.ones(encoder_hidden_shape, device=device)\n                encoder_extended_attention_mask = self.invert_attention_mask(\n                    encoder_attention_mask\n                )\n            else:\n                encoder_extended_attention_mask = self.invert_attention_mask(\n                    encoder_attention_mask\n                )\n        else:\n            encoder_extended_attention_mask = None\n\n        # Prepare head mask if needed\n        # 1.0 in head_mask indicate we keep the head\n        # attention_probs has shape bsz x n_heads x N x N\n        # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads]\n        # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length]\n        head_mask = self.get_head_mask(head_mask, self.config.num_hidden_layers)\n\n        if encoder_embeds is None:\n            embedding_output = self.embeddings(\n                input_ids=input_ids,\n                position_ids=position_ids,\n                inputs_embeds=inputs_embeds,\n                past_key_values_length=past_key_values_length,\n            )\n        else:\n            embedding_output = encoder_embeds\n\n        encoder_outputs = self.encoder(\n            embedding_output,\n            attention_mask=extended_attention_mask,\n            head_mask=head_mask,\n            encoder_hidden_states=encoder_hidden_states,\n            encoder_attention_mask=encoder_extended_attention_mask,\n            past_key_values=past_key_values,\n            use_cache=use_cache,\n            output_attentions=output_attentions,\n            output_hidden_states=output_hidden_states,\n            return_dict=return_dict,\n            mode=mode,\n        )\n        sequence_output = encoder_outputs[0]\n        pooled_output = (\n            self.pooler(sequence_output) if self.pooler is not None else None\n        )\n\n        if not return_dict:\n            return (sequence_output, pooled_output) + encoder_outputs[1:]\n\n        return BaseModelOutputWithPoolingAndCrossAttentions(\n            last_hidden_state=sequence_output,\n            pooler_output=pooled_output,\n            past_key_values=encoder_outputs.past_key_values,\n            hidden_states=encoder_outputs.hidden_states,\n            attentions=encoder_outputs.attentions,\n            cross_attentions=encoder_outputs.cross_attentions,\n        )\n\n\nclass BertLMHeadModel(BertPreTrainedModel):\n    _keys_to_ignore_on_load_unexpected = [r\"pooler\"]\n    _keys_to_ignore_on_load_missing = [r\"position_ids\", r\"predictions.decoder.bias\"]\n\n    def __init__(self, config):\n        super().__init__(config)\n\n        self.bert = BertModel(config, add_pooling_layer=False)\n        self.cls = BertOnlyMLMHead(config)\n\n        self.init_weights()\n\n    def get_output_embeddings(self):\n        return self.cls.predictions.decoder\n\n    def set_output_embeddings(self, new_embeddings):\n        self.cls.predictions.decoder = new_embeddings\n\n    def forward(\n        self,\n        input_ids=None,\n        attention_mask=None,\n        position_ids=None,\n        head_mask=None,\n        inputs_embeds=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        labels=None,\n        past_key_values=None,\n        use_cache=None,\n        output_attentions=None,\n        output_hidden_states=None,\n        return_dict=None,\n        return_logits=False,\n        is_decoder=True,\n        reduction=\"mean\",\n        mode=\"multimodal\",\n    ):\n        r\"\"\"\n        encoder_hidden_states  (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`):\n            Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if\n            the model is configured as a decoder.\n        encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):\n            Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in\n            the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``:\n            - 1 for tokens that are **not masked**,\n            - 0 for tokens that are **masked**.\n        labels (:obj:`torch.LongTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):\n            Labels for computing the left-to-right language modeling loss (next word prediction). Indices should be in\n            ``[-100, 0, ..., config.vocab_size]`` (see ``input_ids`` docstring) Tokens with indices set to ``-100`` are\n            ignored (masked), the loss is only computed for the tokens with labels n ``[0, ..., config.vocab_size]``\n        past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`):\n            Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding.\n            If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids`\n            (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)`\n            instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`.\n        use_cache (:obj:`bool`, `optional`):\n            If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up\n            decoding (see :obj:`past_key_values`).\n        Returns:\n        Example::\n            >>> from transformers import BertTokenizer, BertLMHeadModel, BertConfig\n            >>> import torch\n            >>> tokenizer = BertTokenizer.from_pretrained('bert-base-cased')\n            >>> config = BertConfig.from_pretrained(\"bert-base-cased\")\n            >>> model = BertLMHeadModel.from_pretrained('bert-base-cased', config=config)\n            >>> inputs = tokenizer(\"Hello, my dog is cute\", return_tensors=\"pt\")\n            >>> outputs = model(**inputs)\n            >>> prediction_logits = outputs.logits\n        \"\"\"\n        return_dict = (\n            return_dict if return_dict is not None else self.config.use_return_dict\n        )\n        if labels is not None:\n            use_cache = False\n\n        outputs = self.bert(\n            input_ids,\n            attention_mask=attention_mask,\n            position_ids=position_ids,\n            head_mask=head_mask,\n            inputs_embeds=inputs_embeds,\n            encoder_hidden_states=encoder_hidden_states,\n            encoder_attention_mask=encoder_attention_mask,\n            past_key_values=past_key_values,\n            use_cache=use_cache,\n            output_attentions=output_attentions,\n            output_hidden_states=output_hidden_states,\n            return_dict=return_dict,\n            is_decoder=is_decoder,\n            mode=mode,\n        )\n\n        sequence_output = outputs[0]\n        prediction_scores = self.cls(sequence_output)\n\n        if return_logits:\n            return prediction_scores[:, :-1, :].contiguous()\n\n        lm_loss = None\n        if labels is not None:\n            # we are doing next-token prediction; shift prediction scores and input ids by one\n            shifted_prediction_scores = prediction_scores[:, :-1, :].contiguous()\n            labels = labels[:, 1:].contiguous()\n            loss_fct = CrossEntropyLoss(reduction=reduction, label_smoothing=0.1)\n            lm_loss = loss_fct(\n                shifted_prediction_scores.view(-1, self.config.vocab_size),\n                labels.view(-1),\n            )\n            if reduction == \"none\":\n                lm_loss = lm_loss.view(prediction_scores.size(0), -1).sum(1)\n\n        if not return_dict:\n            output = (prediction_scores,) + outputs[2:]\n            return ((lm_loss,) + output) if lm_loss is not None else output\n\n        return CausalLMOutputWithCrossAttentions(\n            loss=lm_loss,\n            logits=prediction_scores,\n            past_key_values=outputs.past_key_values,\n            hidden_states=outputs.hidden_states,\n            attentions=outputs.attentions,\n            cross_attentions=outputs.cross_attentions,\n        )\n\n    def prepare_inputs_for_generation(\n        self, input_ids, past=None, attention_mask=None, **model_kwargs\n    ):\n        input_shape = input_ids.shape\n        # if model is used as a decoder in encoder-decoder model, the decoder attention mask is created on the fly\n        if attention_mask is None:\n            attention_mask = input_ids.new_ones(input_shape)\n\n        # cut decoder_input_ids if past is used\n        if past is not None:\n            input_ids = input_ids[:, -1:]\n\n        return {\n            \"input_ids\": input_ids,\n            \"attention_mask\": attention_mask,\n            \"past_key_values\": past,\n            \"encoder_hidden_states\": model_kwargs.get(\"encoder_hidden_states\", None),\n            \"encoder_attention_mask\": model_kwargs.get(\"encoder_attention_mask\", None),\n            \"is_decoder\": True,\n        }\n\n    def _reorder_cache(self, past, beam_idx):\n        reordered_past = ()\n        for layer_past in past:\n            reordered_past += (\n                tuple(\n                    past_state.index_select(0, beam_idx) for past_state in layer_past\n                ),\n            )\n        return reordered_past\n"
  },
  {
    "path": "ldm/models/nlvr_encoder.py",
    "content": "import math\nfrom typing import Tuple\n\nimport torch\nfrom torch import Tensor, device, nn\nimport torch.utils.checkpoint\nfrom torch import nn\n\nfrom transformers.activations import ACT2FN\nfrom transformers.modeling_outputs import (\n    BaseModelOutputWithPastAndCrossAttentions,\n    BaseModelOutputWithPoolingAndCrossAttentions,\n)\nfrom transformers.modeling_utils import (\n    PreTrainedModel,\n    apply_chunking_to_forward,\n    find_pruneable_heads_and_indices,\n    prune_linear_layer,\n)\nfrom transformers.utils import logging\nfrom transformers.models.bert.configuration_bert import BertConfig\n\n\nlogger = logging.get_logger(__name__)\n\n\nclass BertEmbeddings(nn.Module):\n    \"\"\"Construct the embeddings from word and position embeddings.\"\"\"\n\n    def __init__(self, config):\n        super().__init__()\n        self.word_embeddings = nn.Embedding(\n            config.vocab_size, config.hidden_size, padding_idx=config.pad_token_id\n        )\n        self.position_embeddings = nn.Embedding(\n            config.max_position_embeddings, config.hidden_size\n        )\n\n        # self.LayerNorm is not snake-cased to stick with TensorFlow model variable name and be able to load\n        # any TensorFlow checkpoint file\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n\n        # position_ids (1, len position emb) is contiguous in memory and exported when serialized\n        self.register_buffer(\n            \"position_ids\", torch.arange(config.max_position_embeddings).expand((1, -1))\n        )\n        self.position_embedding_type = getattr(\n            config, \"position_embedding_type\", \"absolute\"\n        )\n\n        self.config = config\n\n    def forward(\n        self,\n        input_ids=None,\n        position_ids=None,\n        inputs_embeds=None,\n        past_key_values_length=0,\n    ):\n        if input_ids is not None:\n            input_shape = input_ids.size()\n        else:\n            input_shape = inputs_embeds.size()[:-1]\n\n        seq_length = input_shape[1]\n\n        if position_ids is None:\n            position_ids = self.position_ids[\n                :, past_key_values_length : seq_length + past_key_values_length\n            ]\n\n        if inputs_embeds is None:\n            inputs_embeds = self.word_embeddings(input_ids)\n\n        embeddings = inputs_embeds\n\n        if self.position_embedding_type == \"absolute\":\n            position_embeddings = self.position_embeddings(position_ids)\n            embeddings += position_embeddings\n        embeddings = self.LayerNorm(embeddings)\n        embeddings = self.dropout(embeddings)\n        return embeddings\n\n\nclass BertSelfAttention(nn.Module):\n    def __init__(self, config, is_cross_attention):\n        super().__init__()\n        self.config = config\n        if config.hidden_size % config.num_attention_heads != 0 and not hasattr(\n            config, \"embedding_size\"\n        ):\n            raise ValueError(\n                \"The hidden size (%d) is not a multiple of the number of attention \"\n                \"heads (%d)\" % (config.hidden_size, config.num_attention_heads)\n            )\n\n        self.num_attention_heads = config.num_attention_heads\n        self.attention_head_size = int(config.hidden_size / config.num_attention_heads)\n        self.all_head_size = self.num_attention_heads * self.attention_head_size\n\n        self.query = nn.Linear(config.hidden_size, self.all_head_size)\n        if is_cross_attention:\n            self.key = nn.Linear(config.encoder_width, self.all_head_size)\n            self.value = nn.Linear(config.encoder_width, self.all_head_size)\n        else:\n            self.key = nn.Linear(config.hidden_size, self.all_head_size)\n            self.value = nn.Linear(config.hidden_size, self.all_head_size)\n\n        self.dropout = nn.Dropout(config.attention_probs_dropout_prob)\n        self.position_embedding_type = getattr(\n            config, \"position_embedding_type\", \"absolute\"\n        )\n        if (\n            self.position_embedding_type == \"relative_key\"\n            or self.position_embedding_type == \"relative_key_query\"\n        ):\n            self.max_position_embeddings = config.max_position_embeddings\n            self.distance_embedding = nn.Embedding(\n                2 * config.max_position_embeddings - 1, self.attention_head_size\n            )\n        self.save_attention = False\n\n    def save_attn_gradients(self, attn_gradients):\n        self.attn_gradients = attn_gradients\n\n    def get_attn_gradients(self):\n        return self.attn_gradients\n\n    def save_attention_map(self, attention_map):\n        self.attention_map = attention_map\n\n    def get_attention_map(self):\n        return self.attention_map\n\n    def transpose_for_scores(self, x):\n        new_x_shape = x.size()[:-1] + (\n            self.num_attention_heads,\n            self.attention_head_size,\n        )\n        x = x.view(*new_x_shape)\n        return x.permute(0, 2, 1, 3)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n    ):\n        mixed_query_layer = self.query(hidden_states)\n\n        # If this is instantiated as a cross-attention module, the keys\n        # and values come from an encoder; the attention mask needs to be\n        # such that the encoder's padding tokens are not attended to.\n        is_cross_attention = encoder_hidden_states is not None\n\n        if is_cross_attention:\n            key_layer = self.transpose_for_scores(self.key(encoder_hidden_states))\n            value_layer = self.transpose_for_scores(self.value(encoder_hidden_states))\n            attention_mask = encoder_attention_mask\n        elif past_key_value is not None:\n            key_layer = self.transpose_for_scores(self.key(hidden_states))\n            value_layer = self.transpose_for_scores(self.value(hidden_states))\n            key_layer = torch.cat([past_key_value[0], key_layer], dim=2)\n            value_layer = torch.cat([past_key_value[1], value_layer], dim=2)\n        else:\n            key_layer = self.transpose_for_scores(self.key(hidden_states))\n            value_layer = self.transpose_for_scores(self.value(hidden_states))\n\n        query_layer = self.transpose_for_scores(mixed_query_layer)\n\n        past_key_value = (key_layer, value_layer)\n\n        # Take the dot product between \"query\" and \"key\" to get the raw attention scores.\n        attention_scores = torch.matmul(query_layer, key_layer.transpose(-1, -2))\n\n        if (\n            self.position_embedding_type == \"relative_key\"\n            or self.position_embedding_type == \"relative_key_query\"\n        ):\n            seq_length = hidden_states.size()[1]\n            position_ids_l = torch.arange(\n                seq_length, dtype=torch.long, device=hidden_states.device\n            ).view(-1, 1)\n            position_ids_r = torch.arange(\n                seq_length, dtype=torch.long, device=hidden_states.device\n            ).view(1, -1)\n            distance = position_ids_l - position_ids_r\n            positional_embedding = self.distance_embedding(\n                distance + self.max_position_embeddings - 1\n            )\n            positional_embedding = positional_embedding.to(\n                dtype=query_layer.dtype\n            )  # fp16 compatibility\n\n            if self.position_embedding_type == \"relative_key\":\n                relative_position_scores = torch.einsum(\n                    \"bhld,lrd->bhlr\", query_layer, positional_embedding\n                )\n                attention_scores = attention_scores + relative_position_scores\n            elif self.position_embedding_type == \"relative_key_query\":\n                relative_position_scores_query = torch.einsum(\n                    \"bhld,lrd->bhlr\", query_layer, positional_embedding\n                )\n                relative_position_scores_key = torch.einsum(\n                    \"bhrd,lrd->bhlr\", key_layer, positional_embedding\n                )\n                attention_scores = (\n                    attention_scores\n                    + relative_position_scores_query\n                    + relative_position_scores_key\n                )\n\n        attention_scores = attention_scores / math.sqrt(self.attention_head_size)\n        if attention_mask is not None:\n            # Apply the attention mask is (precomputed for all layers in BertModel forward() function)\n            attention_scores = attention_scores + attention_mask\n\n        # Normalize the attention scores to probabilities.\n        attention_probs = nn.Softmax(dim=-1)(attention_scores)\n\n        if is_cross_attention and self.save_attention:\n            self.save_attention_map(attention_probs)\n            attention_probs.register_hook(self.save_attn_gradients)\n\n        # This is actually dropping out entire tokens to attend to, which might\n        # seem a bit unusual, but is taken from the original Transformer paper.\n        attention_probs_dropped = self.dropout(attention_probs)\n\n        # Mask heads if we want to\n        if head_mask is not None:\n            attention_probs_dropped = attention_probs_dropped * head_mask\n\n        context_layer = torch.matmul(attention_probs_dropped, value_layer)\n\n        context_layer = context_layer.permute(0, 2, 1, 3).contiguous()\n        new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,)\n        context_layer = context_layer.view(*new_context_layer_shape)\n\n        outputs = (\n            (context_layer, attention_probs) if output_attentions else (context_layer,)\n        )\n\n        outputs = outputs + (past_key_value,)\n        return outputs\n\n\nclass BertSelfOutput(nn.Module):\n    def __init__(self, config, twin=False, merge=False):\n        super().__init__()\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n        if twin:\n            self.dense0 = nn.Linear(config.hidden_size, config.hidden_size)\n            self.dense1 = nn.Linear(config.hidden_size, config.hidden_size)\n        else:\n            self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        if merge:\n            self.act = ACT2FN[config.hidden_act]\n            self.merge_layer = nn.Linear(config.hidden_size * 2, config.hidden_size)\n            self.merge = True\n        else:\n            self.merge = False\n\n    def forward(self, hidden_states, input_tensor):\n        if type(hidden_states) == list:\n            hidden_states0 = self.dense0(hidden_states[0])\n            hidden_states1 = self.dense1(hidden_states[1])\n            if self.merge:\n                # hidden_states = self.merge_layer(self.act(torch.cat([hidden_states0,hidden_states1],dim=-1)))\n                hidden_states = self.merge_layer(\n                    torch.cat([hidden_states0, hidden_states1], dim=-1)\n                )\n            else:\n                hidden_states = (hidden_states0 + hidden_states1) / 2\n        else:\n            hidden_states = self.dense(hidden_states)\n        hidden_states = self.dropout(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states + input_tensor)\n        return hidden_states\n\n\nclass BertAttention(nn.Module):\n    def __init__(self, config, is_cross_attention=False, layer_num=-1):\n        super().__init__()\n        if is_cross_attention:\n            self.self0 = BertSelfAttention(config, is_cross_attention)\n            self.self1 = BertSelfAttention(config, is_cross_attention)\n        else:\n            self.self = BertSelfAttention(config, is_cross_attention)\n        self.output = BertSelfOutput(\n            config,\n            twin=is_cross_attention,\n            merge=(is_cross_attention and layer_num >= 6),\n        )\n        self.pruned_heads = set()\n\n    def prune_heads(self, heads):\n        if len(heads) == 0:\n            return\n        heads, index = find_pruneable_heads_and_indices(\n            heads,\n            self.self.num_attention_heads,\n            self.self.attention_head_size,\n            self.pruned_heads,\n        )\n\n        # Prune linear layers\n        self.self.query = prune_linear_layer(self.self.query, index)\n        self.self.key = prune_linear_layer(self.self.key, index)\n        self.self.value = prune_linear_layer(self.self.value, index)\n        self.output.dense = prune_linear_layer(self.output.dense, index, dim=1)\n\n        # Update hyper params and store pruned heads\n        self.self.num_attention_heads = self.self.num_attention_heads - len(heads)\n        self.self.all_head_size = (\n            self.self.attention_head_size * self.self.num_attention_heads\n        )\n        self.pruned_heads = self.pruned_heads.union(heads)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n    ):\n        if type(encoder_hidden_states) == list:\n            self_outputs0 = self.self0(\n                hidden_states,\n                attention_mask,\n                head_mask,\n                encoder_hidden_states[0],\n                encoder_attention_mask[0],\n                past_key_value,\n                output_attentions,\n            )\n            self_outputs1 = self.self1(\n                hidden_states,\n                attention_mask,\n                head_mask,\n                encoder_hidden_states[1],\n                encoder_attention_mask[1],\n                past_key_value,\n                output_attentions,\n            )\n            attention_output = self.output(\n                [self_outputs0[0], self_outputs1[0]], hidden_states\n            )\n\n            outputs = (attention_output,) + self_outputs0[\n                1:\n            ]  # add attentions if we output them\n        else:\n            self_outputs = self.self(\n                hidden_states,\n                attention_mask,\n                head_mask,\n                encoder_hidden_states,\n                encoder_attention_mask,\n                past_key_value,\n                output_attentions,\n            )\n            attention_output = self.output(self_outputs[0], hidden_states)\n            outputs = (attention_output,) + self_outputs[\n                1:\n            ]  # add attentions if we output them\n        return outputs\n\n\nclass BertIntermediate(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.intermediate_size)\n        if isinstance(config.hidden_act, str):\n            self.intermediate_act_fn = ACT2FN[config.hidden_act]\n        else:\n            self.intermediate_act_fn = config.hidden_act\n\n    def forward(self, hidden_states):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.intermediate_act_fn(hidden_states)\n        return hidden_states\n\n\nclass BertOutput(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.intermediate_size, config.hidden_size)\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n        self.dropout = nn.Dropout(config.hidden_dropout_prob)\n\n    def forward(self, hidden_states, input_tensor):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.dropout(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states + input_tensor)\n        return hidden_states\n\n\nclass BertLayer(nn.Module):\n    def __init__(self, config, layer_num):\n        super().__init__()\n        self.config = config\n        self.chunk_size_feed_forward = config.chunk_size_feed_forward\n        self.seq_len_dim = 1\n        self.attention = BertAttention(config)\n        self.layer_num = layer_num\n        if self.config.add_cross_attention:\n            self.crossattention = BertAttention(\n                config,\n                is_cross_attention=self.config.add_cross_attention,\n                layer_num=layer_num,\n            )\n        self.intermediate = BertIntermediate(config)\n        self.output = BertOutput(config)\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_value=None,\n        output_attentions=False,\n        mode=None,\n    ):\n        # decoder uni-directional self-attention cached key/values tuple is at positions 1,2\n        self_attn_past_key_value = (\n            past_key_value[:2] if past_key_value is not None else None\n        )\n        self_attention_outputs = self.attention(\n            hidden_states,\n            attention_mask,\n            head_mask,\n            output_attentions=output_attentions,\n            past_key_value=self_attn_past_key_value,\n        )\n        attention_output = self_attention_outputs[0]\n\n        outputs = self_attention_outputs[1:-1]\n        present_key_value = self_attention_outputs[-1]\n\n        if mode == \"multimodal\":\n            assert (\n                encoder_hidden_states is not None\n            ), \"encoder_hidden_states must be given for cross-attention layers\"\n            cross_attention_outputs = self.crossattention(\n                attention_output,\n                attention_mask,\n                head_mask,\n                encoder_hidden_states,\n                encoder_attention_mask,\n                output_attentions=output_attentions,\n            )\n            attention_output = cross_attention_outputs[0]\n            outputs = (\n                outputs + cross_attention_outputs[1:-1]\n            )  # add cross attentions if we output attention weights\n        layer_output = apply_chunking_to_forward(\n            self.feed_forward_chunk,\n            self.chunk_size_feed_forward,\n            self.seq_len_dim,\n            attention_output,\n        )\n        outputs = (layer_output,) + outputs\n\n        outputs = outputs + (present_key_value,)\n\n        return outputs\n\n    def feed_forward_chunk(self, attention_output):\n        intermediate_output = self.intermediate(attention_output)\n        layer_output = self.output(intermediate_output, attention_output)\n        return layer_output\n\n\nclass BertEncoder(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.config = config\n        self.layer = nn.ModuleList(\n            [BertLayer(config, i) for i in range(config.num_hidden_layers)]\n        )\n        self.gradient_checkpointing = False\n\n    def forward(\n        self,\n        hidden_states,\n        attention_mask=None,\n        head_mask=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_values=None,\n        use_cache=None,\n        output_attentions=False,\n        output_hidden_states=False,\n        return_dict=True,\n        mode=\"multimodal\",\n    ):\n        all_hidden_states = () if output_hidden_states else None\n        all_self_attentions = () if output_attentions else None\n        all_cross_attentions = (\n            () if output_attentions and self.config.add_cross_attention else None\n        )\n\n        next_decoder_cache = () if use_cache else None\n\n        for i in range(self.config.num_hidden_layers):\n            layer_module = self.layer[i]\n            if output_hidden_states:\n                all_hidden_states = all_hidden_states + (hidden_states,)\n\n            layer_head_mask = head_mask[i] if head_mask is not None else None\n            past_key_value = past_key_values[i] if past_key_values is not None else None\n\n            if self.gradient_checkpointing and self.training:\n                if use_cache:\n                    logger.warn(\n                        \"`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`...\"\n                    )\n                    use_cache = False\n\n                def create_custom_forward(module):\n                    def custom_forward(*inputs):\n                        return module(*inputs, past_key_value, output_attentions)\n\n                    return custom_forward\n\n                layer_outputs = torch.utils.checkpoint.checkpoint(\n                    create_custom_forward(layer_module),\n                    hidden_states,\n                    attention_mask,\n                    layer_head_mask,\n                    encoder_hidden_states,\n                    encoder_attention_mask,\n                    mode=mode,\n                )\n            else:\n                layer_outputs = layer_module(\n                    hidden_states,\n                    attention_mask,\n                    layer_head_mask,\n                    encoder_hidden_states,\n                    encoder_attention_mask,\n                    past_key_value,\n                    output_attentions,\n                    mode=mode,\n                )\n\n            hidden_states = layer_outputs[0]\n            if use_cache:\n                next_decoder_cache += (layer_outputs[-1],)\n            if output_attentions:\n                all_self_attentions = all_self_attentions + (layer_outputs[1],)\n\n        if output_hidden_states:\n            all_hidden_states = all_hidden_states + (hidden_states,)\n\n        if not return_dict:\n            return tuple(\n                v\n                for v in [\n                    hidden_states,\n                    next_decoder_cache,\n                    all_hidden_states,\n                    all_self_attentions,\n                    all_cross_attentions,\n                ]\n                if v is not None\n            )\n        return BaseModelOutputWithPastAndCrossAttentions(\n            last_hidden_state=hidden_states,\n            past_key_values=next_decoder_cache,\n            hidden_states=all_hidden_states,\n            attentions=all_self_attentions,\n            cross_attentions=all_cross_attentions,\n        )\n\n\nclass BertPooler(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        self.activation = nn.Tanh()\n\n    def forward(self, hidden_states):\n        # We \"pool\" the model by simply taking the hidden state corresponding\n        # to the first token.\n        first_token_tensor = hidden_states[:, 0]\n        pooled_output = self.dense(first_token_tensor)\n        pooled_output = self.activation(pooled_output)\n        return pooled_output\n\n\nclass BertPredictionHeadTransform(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.dense = nn.Linear(config.hidden_size, config.hidden_size)\n        if isinstance(config.hidden_act, str):\n            self.transform_act_fn = ACT2FN[config.hidden_act]\n        else:\n            self.transform_act_fn = config.hidden_act\n        self.LayerNorm = nn.LayerNorm(config.hidden_size, eps=config.layer_norm_eps)\n\n    def forward(self, hidden_states):\n        hidden_states = self.dense(hidden_states)\n        hidden_states = self.transform_act_fn(hidden_states)\n        hidden_states = self.LayerNorm(hidden_states)\n        return hidden_states\n\n\nclass BertLMPredictionHead(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.transform = BertPredictionHeadTransform(config)\n\n        # The output weights are the same as the input embeddings, but there is\n        # an output-only bias for each token.\n        self.decoder = nn.Linear(config.hidden_size, config.vocab_size, bias=False)\n\n        self.bias = nn.Parameter(torch.zeros(config.vocab_size))\n\n        # Need a link between the two variables so that the bias is correctly resized with `resize_token_embeddings`\n        self.decoder.bias = self.bias\n\n    def forward(self, hidden_states):\n        hidden_states = self.transform(hidden_states)\n        hidden_states = self.decoder(hidden_states)\n        return hidden_states\n\n\nclass BertOnlyMLMHead(nn.Module):\n    def __init__(self, config):\n        super().__init__()\n        self.predictions = BertLMPredictionHead(config)\n\n    def forward(self, sequence_output):\n        prediction_scores = self.predictions(sequence_output)\n        return prediction_scores\n\n\nclass BertPreTrainedModel(PreTrainedModel):\n    \"\"\"\n    An abstract class to handle weights initialization and a simple interface for downloading and loading pretrained\n    models.\n    \"\"\"\n\n    config_class = BertConfig\n    base_model_prefix = \"bert\"\n    _keys_to_ignore_on_load_missing = [r\"position_ids\"]\n\n    def _init_weights(self, module):\n        \"\"\"Initialize the weights\"\"\"\n        if isinstance(module, (nn.Linear, nn.Embedding)):\n            # Slightly different from the TF version which uses truncated_normal for initialization\n            # cf https://github.com/pytorch/pytorch/pull/5617\n            module.weight.data.normal_(mean=0.0, std=self.config.initializer_range)\n        elif isinstance(module, nn.LayerNorm):\n            module.bias.data.zero_()\n            module.weight.data.fill_(1.0)\n        if isinstance(module, nn.Linear) and module.bias is not None:\n            module.bias.data.zero_()\n\n\nclass BertModel(BertPreTrainedModel):\n    \"\"\"\n    The model can behave as an encoder (with only self-attention) as well as a decoder, in which case a layer of\n    cross-attention is added between the self-attention layers, following the architecture described in `Attention is\n    all you need <https://arxiv.org/abs/1706.03762>`__ by Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit,\n    Llion Jones, Aidan N. Gomez, Lukasz Kaiser and Illia Polosukhin.\n    argument and :obj:`add_cross_attention` set to :obj:`True`; an :obj:`encoder_hidden_states` is then expected as an\n    input to the forward pass.\n    \"\"\"\n\n    def __init__(self, config, add_pooling_layer=True):\n        super().__init__(config)\n        self.config = config\n\n        self.embeddings = BertEmbeddings(config)\n\n        self.encoder = BertEncoder(config)\n\n        self.pooler = BertPooler(config) if add_pooling_layer else None\n\n        self.init_weights()\n\n    def get_input_embeddings(self):\n        return self.embeddings.word_embeddings\n\n    def set_input_embeddings(self, value):\n        self.embeddings.word_embeddings = value\n\n    def _prune_heads(self, heads_to_prune):\n        \"\"\"\n        Prunes heads of the model. heads_to_prune: dict of {layer_num: list of heads to prune in this layer} See base\n        class PreTrainedModel\n        \"\"\"\n        for layer, heads in heads_to_prune.items():\n            self.encoder.layer[layer].attention.prune_heads(heads)\n\n    def get_extended_attention_mask(\n        self,\n        attention_mask: Tensor,\n        input_shape: Tuple[int],\n        device: device,\n        is_decoder: bool,\n    ) -> Tensor:\n        \"\"\"\n        Makes broadcastable attention and causal masks so that future and masked tokens are ignored.\n\n        Arguments:\n            attention_mask (:obj:`torch.Tensor`):\n                Mask with ones indicating tokens to attend to, zeros for tokens to ignore.\n            input_shape (:obj:`Tuple[int]`):\n                The shape of the input to the model.\n            device: (:obj:`torch.device`):\n                The device of the input to the model.\n\n        Returns:\n            :obj:`torch.Tensor` The extended attention mask, with a the same dtype as :obj:`attention_mask.dtype`.\n        \"\"\"\n        # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length]\n        # ourselves in which case we just need to make it broadcastable to all heads.\n        if attention_mask.dim() == 3:\n            extended_attention_mask = attention_mask[:, None, :, :]\n        elif attention_mask.dim() == 2:\n            # Provided a padding mask of dimensions [batch_size, seq_length]\n            # - if the model is a decoder, apply a causal mask in addition to the padding mask\n            # - if the model is an encoder, make the mask broadcastable to [batch_size, num_heads, seq_length, seq_length]\n            if is_decoder:\n                batch_size, seq_length = input_shape\n\n                seq_ids = torch.arange(seq_length, device=device)\n                causal_mask = (\n                    seq_ids[None, None, :].repeat(batch_size, seq_length, 1)\n                    <= seq_ids[None, :, None]\n                )\n                # in case past_key_values are used we need to add a prefix ones mask to the causal mask\n                # causal and attention masks must have same type with pytorch version < 1.3\n                causal_mask = causal_mask.to(attention_mask.dtype)\n\n                if causal_mask.shape[1] < attention_mask.shape[1]:\n                    prefix_seq_len = attention_mask.shape[1] - causal_mask.shape[1]\n                    causal_mask = torch.cat(\n                        [\n                            torch.ones(\n                                (batch_size, seq_length, prefix_seq_len),\n                                device=device,\n                                dtype=causal_mask.dtype,\n                            ),\n                            causal_mask,\n                        ],\n                        axis=-1,\n                    )\n\n                extended_attention_mask = (\n                    causal_mask[:, None, :, :] * attention_mask[:, None, None, :]\n                )\n            else:\n                extended_attention_mask = attention_mask[:, None, None, :]\n        else:\n            raise ValueError(\n                \"Wrong shape for input_ids (shape {}) or attention_mask (shape {})\".format(\n                    input_shape, attention_mask.shape\n                )\n            )\n\n        # Since attention_mask is 1.0 for positions we want to attend and 0.0 for\n        # masked positions, this operation will create a tensor which is 0.0 for\n        # positions we want to attend and -10000.0 for masked positions.\n        # Since we are adding it to the raw scores before the softmax, this is\n        # effectively the same as removing these entirely.\n        extended_attention_mask = extended_attention_mask.to(\n            dtype=self.dtype\n        )  # fp16 compatibility\n        extended_attention_mask = (1.0 - extended_attention_mask) * -10000.0\n        return extended_attention_mask\n\n    def forward(\n        self,\n        input_ids=None,\n        attention_mask=None,\n        position_ids=None,\n        head_mask=None,\n        inputs_embeds=None,\n        encoder_embeds=None,\n        encoder_hidden_states=None,\n        encoder_attention_mask=None,\n        past_key_values=None,\n        use_cache=None,\n        output_attentions=None,\n        output_hidden_states=None,\n        return_dict=None,\n        is_decoder=False,\n        mode=\"multimodal\",\n    ):\n        r\"\"\"\n        encoder_hidden_states  (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length, hidden_size)`, `optional`):\n            Sequence of hidden-states at the output of the last layer of the encoder. Used in the cross-attention if\n            the model is configured as a decoder.\n        encoder_attention_mask (:obj:`torch.FloatTensor` of shape :obj:`(batch_size, sequence_length)`, `optional`):\n            Mask to avoid performing attention on the padding token indices of the encoder input. This mask is used in\n            the cross-attention if the model is configured as a decoder. Mask values selected in ``[0, 1]``:\n            - 1 for tokens that are **not masked**,\n            - 0 for tokens that are **masked**.\n        past_key_values (:obj:`tuple(tuple(torch.FloatTensor))` of length :obj:`config.n_layers` with each tuple having 4 tensors of shape :obj:`(batch_size, num_heads, sequence_length - 1, embed_size_per_head)`):\n            Contains precomputed key and value hidden states of the attention blocks. Can be used to speed up decoding.\n            If :obj:`past_key_values` are used, the user can optionally input only the last :obj:`decoder_input_ids`\n            (those that don't have their past key value states given to this model) of shape :obj:`(batch_size, 1)`\n            instead of all :obj:`decoder_input_ids` of shape :obj:`(batch_size, sequence_length)`.\n        use_cache (:obj:`bool`, `optional`):\n            If set to :obj:`True`, :obj:`past_key_values` key value states are returned and can be used to speed up\n            decoding (see :obj:`past_key_values`).\n        \"\"\"\n        output_attentions = (\n            output_attentions\n            if output_attentions is not None\n            else self.config.output_attentions\n        )\n        output_hidden_states = (\n            output_hidden_states\n            if output_hidden_states is not None\n            else self.config.output_hidden_states\n        )\n        return_dict = (\n            return_dict if return_dict is not None else self.config.use_return_dict\n        )\n\n        if is_decoder:\n            use_cache = use_cache if use_cache is not None else self.config.use_cache\n        else:\n            use_cache = False\n\n        if input_ids is not None and inputs_embeds is not None:\n            raise ValueError(\n                \"You cannot specify both input_ids and inputs_embeds at the same time\"\n            )\n        elif input_ids is not None:\n            input_shape = input_ids.size()\n            batch_size, seq_length = input_shape\n            device = input_ids.device\n        elif inputs_embeds is not None:\n            input_shape = inputs_embeds.size()[:-1]\n            batch_size, seq_length = input_shape\n            device = inputs_embeds.device\n        elif encoder_embeds is not None:\n            input_shape = encoder_embeds.size()[:-1]\n            batch_size, seq_length = input_shape\n            device = encoder_embeds.device\n        else:\n            raise ValueError(\n                \"You have to specify either input_ids or inputs_embeds or encoder_embeds\"\n            )\n\n        # past_key_values_length\n        past_key_values_length = (\n            past_key_values[0][0].shape[2] if past_key_values is not None else 0\n        )\n\n        if attention_mask is None:\n            attention_mask = torch.ones(\n                ((batch_size, seq_length + past_key_values_length)), device=device\n            )\n\n        # We can provide a self-attention mask of dimensions [batch_size, from_seq_length, to_seq_length]\n        # ourselves in which case we just need to make it broadcastable to all heads.\n        extended_attention_mask: torch.Tensor = self.get_extended_attention_mask(\n            attention_mask, input_shape, device, is_decoder\n        )\n\n        # If a 2D or 3D attention mask is provided for the cross-attention\n        # we need to make broadcastable to [batch_size, num_heads, seq_length, seq_length]\n        if encoder_hidden_states is not None:\n            if type(encoder_hidden_states) == list:\n                encoder_batch_size, encoder_sequence_length, _ = encoder_hidden_states[\n                    0\n                ].size()\n            else:\n                (\n                    encoder_batch_size,\n                    encoder_sequence_length,\n                    _,\n                ) = encoder_hidden_states.size()\n            encoder_hidden_shape = (encoder_batch_size, encoder_sequence_length)\n\n            if type(encoder_attention_mask) == list:\n                encoder_extended_attention_mask = [\n                    self.invert_attention_mask(mask) for mask in encoder_attention_mask\n                ]\n            elif encoder_attention_mask is None:\n                encoder_attention_mask = torch.ones(encoder_hidden_shape, device=device)\n                encoder_extended_attention_mask = self.invert_attention_mask(\n                    encoder_attention_mask\n                )\n            else:\n                encoder_extended_attention_mask = self.invert_attention_mask(\n                    encoder_attention_mask\n                )\n        else:\n            encoder_extended_attention_mask = None\n\n        # Prepare head mask if needed\n        # 1.0 in head_mask indicate we keep the head\n        # attention_probs has shape bsz x n_heads x N x N\n        # input head_mask has shape [num_heads] or [num_hidden_layers x num_heads]\n        # and head_mask is converted to shape [num_hidden_layers x batch x num_heads x seq_length x seq_length]\n        head_mask = self.get_head_mask(head_mask, self.config.num_hidden_layers)\n\n        if encoder_embeds is None:\n            embedding_output = self.embeddings(\n                input_ids=input_ids,\n                position_ids=position_ids,\n                inputs_embeds=inputs_embeds,\n                past_key_values_length=past_key_values_length,\n            )\n        else:\n            embedding_output = encoder_embeds\n\n        encoder_outputs = self.encoder(\n            embedding_output,\n            attention_mask=extended_attention_mask,\n            head_mask=head_mask,\n            encoder_hidden_states=encoder_hidden_states,\n            encoder_attention_mask=encoder_extended_attention_mask,\n            past_key_values=past_key_values,\n            use_cache=use_cache,\n            output_attentions=output_attentions,\n            output_hidden_states=output_hidden_states,\n            return_dict=return_dict,\n            mode=mode,\n        )\n        sequence_output = encoder_outputs[0]\n        pooled_output = (\n            self.pooler(sequence_output) if self.pooler is not None else None\n        )\n\n        if not return_dict:\n            return (sequence_output, pooled_output) + encoder_outputs[1:]\n\n        return BaseModelOutputWithPoolingAndCrossAttentions(\n            last_hidden_state=sequence_output,\n            pooler_output=pooled_output,\n            past_key_values=encoder_outputs.past_key_values,\n            hidden_states=encoder_outputs.hidden_states,\n            attentions=encoder_outputs.attentions,\n            cross_attentions=encoder_outputs.cross_attentions,\n        )\n"
  },
  {
    "path": "ldm/models/vit.py",
    "content": "\"\"\"\n * Copyright (c) 2022, salesforce.com, inc.\n * All rights reserved.\n * SPDX-License-Identifier: BSD-3-Clause\n * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause\n * By Junnan Li\n * Based on timm code base\n * https://github.com/rwightman/pytorch-image-models/tree/master/timm\n\"\"\"\n\nimport torch\nimport torch.nn as nn\nfrom functools import partial\n\nfrom timm.models.vision_transformer import PatchEmbed\nfrom timm.models.layers import trunc_normal_, DropPath\nfrom timm.models.helpers import adapt_input_conv\n\nfrom fairscale.nn.checkpoint.checkpoint_activations import checkpoint_wrapper\n\n\nclass Mlp(nn.Module):\n    \"\"\"MLP as used in Vision Transformer, MLP-Mixer and related networks\"\"\"\n\n    def __init__(\n        self,\n        in_features,\n        hidden_features=None,\n        out_features=None,\n        act_layer=nn.GELU,\n        drop=0.0,\n    ):\n        super().__init__()\n        out_features = out_features or in_features\n        hidden_features = hidden_features or in_features\n        self.fc1 = nn.Linear(in_features, hidden_features)\n        self.act = act_layer()\n        self.fc2 = nn.Linear(hidden_features, out_features)\n        self.drop = nn.Dropout(drop)\n\n    def forward(self, x):\n        x = self.fc1(x)\n        x = self.act(x)\n        x = self.drop(x)\n        x = self.fc2(x)\n        x = self.drop(x)\n        return x\n\n\nclass Attention(nn.Module):\n    def __init__(\n        self,\n        dim,\n        num_heads=8,\n        qkv_bias=False,\n        qk_scale=None,\n        attn_drop=0.0,\n        proj_drop=0.0,\n    ):\n        super().__init__()\n        self.num_heads = num_heads\n        head_dim = dim // num_heads\n        # NOTE scale factor was wrong in my original version, can set manually to be compat with prev weights\n        self.scale = qk_scale or head_dim**-0.5\n        self.qkv = nn.Linear(dim, dim * 3, bias=qkv_bias)\n        self.attn_drop = nn.Dropout(attn_drop)\n        self.proj = nn.Linear(dim, dim)\n        self.proj_drop = nn.Dropout(proj_drop)\n        self.attn_gradients = None\n        self.attention_map = None\n\n    def save_attn_gradients(self, attn_gradients):\n        self.attn_gradients = attn_gradients\n\n    def get_attn_gradients(self):\n        return self.attn_gradients\n\n    def save_attention_map(self, attention_map):\n        self.attention_map = attention_map\n\n    def get_attention_map(self):\n        return self.attention_map\n\n    def forward(self, x, register_hook=False):\n        B, N, C = x.shape\n        qkv = (\n            self.qkv(x)\n            .reshape(B, N, 3, self.num_heads, C // self.num_heads)\n            .permute(2, 0, 3, 1, 4)\n        )\n        q, k, v = (\n            qkv[0],\n            qkv[1],\n            qkv[2],\n        )  # make torchscript happy (cannot use tensor as tuple)\n\n        attn = (q @ k.transpose(-2, -1)) * self.scale\n        attn = attn.softmax(dim=-1)\n        attn = self.attn_drop(attn)\n\n        if register_hook:\n            self.save_attention_map(attn)\n            attn.register_hook(self.save_attn_gradients)\n\n        x = (attn @ v).transpose(1, 2).reshape(B, N, C)\n        x = self.proj(x)\n        x = self.proj_drop(x)\n        return x\n\n\nclass Block(nn.Module):\n    def __init__(\n        self,\n        dim,\n        num_heads,\n        mlp_ratio=4.0,\n        qkv_bias=False,\n        qk_scale=None,\n        drop=0.0,\n        attn_drop=0.0,\n        drop_path=0.0,\n        act_layer=nn.GELU,\n        norm_layer=nn.LayerNorm,\n        use_grad_checkpointing=False,\n    ):\n        super().__init__()\n        self.norm1 = norm_layer(dim)\n        self.attn = Attention(\n            dim,\n            num_heads=num_heads,\n            qkv_bias=qkv_bias,\n            qk_scale=qk_scale,\n            attn_drop=attn_drop,\n            proj_drop=drop,\n        )\n        # NOTE: drop path for stochastic depth, we shall see if this is better than dropout here\n        self.drop_path = DropPath(drop_path) if drop_path > 0.0 else nn.Identity()\n        self.norm2 = norm_layer(dim)\n        mlp_hidden_dim = int(dim * mlp_ratio)\n        self.mlp = Mlp(\n            in_features=dim,\n            hidden_features=mlp_hidden_dim,\n            act_layer=act_layer,\n            drop=drop,\n        )\n\n        if use_grad_checkpointing:\n            self.attn = checkpoint_wrapper(self.attn)\n            self.mlp = checkpoint_wrapper(self.mlp)\n\n    def forward(self, x, register_hook=False):\n        x = x + self.drop_path(self.attn(self.norm1(x), register_hook=register_hook))\n        x = x + self.drop_path(self.mlp(self.norm2(x)))\n        return x\n\n\nclass VisionTransformer(nn.Module):\n    \"\"\"Vision Transformer\n    A PyTorch impl of : `An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale`  -\n        https://arxiv.org/abs/2010.11929\n    \"\"\"\n\n    def __init__(\n        self,\n        img_size=224,\n        patch_size=16,\n        in_chans=3,\n        num_classes=1000,\n        embed_dim=768,\n        depth=12,\n        num_heads=12,\n        mlp_ratio=4.0,\n        qkv_bias=True,\n        qk_scale=None,\n        representation_size=None,\n        drop_rate=0.0,\n        attn_drop_rate=0.0,\n        drop_path_rate=0.0,\n        norm_layer=None,\n        use_grad_checkpointing=False,\n        ckpt_layer=0,\n    ):\n        \"\"\"\n        Args:\n            img_size (int, tuple): input image size\n            patch_size (int, tuple): patch size\n            in_chans (int): number of input channels\n            num_classes (int): number of classes for classification head\n            embed_dim (int): embedding dimension\n            depth (int): depth of transformer\n            num_heads (int): number of attention heads\n            mlp_ratio (int): ratio of mlp hidden dim to embedding dim\n            qkv_bias (bool): enable bias for qkv if True\n            qk_scale (float): override default qk scale of head_dim ** -0.5 if set\n            representation_size (Optional[int]): enable and set representation layer (pre-logits) to this value if set\n            drop_rate (float): dropout rate\n            attn_drop_rate (float): attention dropout rate\n            drop_path_rate (float): stochastic depth rate\n            norm_layer: (nn.Module): normalization layer\n        \"\"\"\n        super().__init__()\n        self.num_features = (\n            self.embed_dim\n        ) = embed_dim  # num_features for consistency with other models\n        norm_layer = norm_layer or partial(nn.LayerNorm, eps=1e-6)\n\n        self.patch_embed = PatchEmbed(\n            img_size=img_size,\n            patch_size=patch_size,\n            in_chans=in_chans,\n            embed_dim=embed_dim,\n        )\n\n        num_patches = self.patch_embed.num_patches\n\n        self.cls_token = nn.Parameter(torch.zeros(1, 1, embed_dim))\n        self.pos_embed = nn.Parameter(torch.zeros(1, num_patches + 1, embed_dim))\n        self.pos_drop = nn.Dropout(p=drop_rate)\n\n        dpr = [\n            x.item() for x in torch.linspace(0, drop_path_rate, depth)\n        ]  # stochastic depth decay rule\n        self.blocks = nn.ModuleList(\n            [\n                Block(\n                    dim=embed_dim,\n                    num_heads=num_heads,\n                    mlp_ratio=mlp_ratio,\n                    qkv_bias=qkv_bias,\n                    qk_scale=qk_scale,\n                    drop=drop_rate,\n                    attn_drop=attn_drop_rate,\n                    drop_path=dpr[i],\n                    norm_layer=norm_layer,\n                    use_grad_checkpointing=(\n                        use_grad_checkpointing and i >= depth - ckpt_layer\n                    ),\n                )\n                for i in range(depth)\n            ]\n        )\n        self.norm = norm_layer(embed_dim)\n\n        trunc_normal_(self.pos_embed, std=0.02)\n        trunc_normal_(self.cls_token, std=0.02)\n        self.apply(self._init_weights)\n\n    def _init_weights(self, m):\n        if isinstance(m, nn.Linear):\n            trunc_normal_(m.weight, std=0.02)\n            if isinstance(m, nn.Linear) and m.bias is not None:\n                nn.init.constant_(m.bias, 0)\n        elif isinstance(m, nn.LayerNorm):\n            nn.init.constant_(m.bias, 0)\n            nn.init.constant_(m.weight, 1.0)\n\n    @torch.jit.ignore\n    def no_weight_decay(self):\n        return {\"pos_embed\", \"cls_token\"}\n\n    def forward(self, x, register_blk=-1):\n        B = x.shape[0]\n        x = self.patch_embed(x)\n\n        cls_tokens = self.cls_token.expand(\n            B, -1, -1\n        )  # stole cls_tokens impl from Phil Wang, thanks\n        x = torch.cat((cls_tokens, x), dim=1)\n\n        x = x + self.pos_embed[:, : x.size(1), :]\n        x = self.pos_drop(x)\n\n        for i, blk in enumerate(self.blocks):\n            x = blk(x, register_blk == i)\n        x = self.norm(x)\n\n        return x\n\n    @torch.jit.ignore()\n    def load_pretrained(self, checkpoint_path, prefix=\"\"):\n        _load_weights(self, checkpoint_path, prefix)\n\n\n@torch.no_grad()\ndef _load_weights(model: VisionTransformer, checkpoint_path: str, prefix: str = \"\"):\n    \"\"\"Load weights from .npz checkpoints for official Google Brain Flax implementation\"\"\"\n    import numpy as np\n\n    def _n2p(w, t=True):\n        if w.ndim == 4 and w.shape[0] == w.shape[1] == w.shape[2] == 1:\n            w = w.flatten()\n        if t:\n            if w.ndim == 4:\n                w = w.transpose([3, 2, 0, 1])\n            elif w.ndim == 3:\n                w = w.transpose([2, 0, 1])\n            elif w.ndim == 2:\n                w = w.transpose([1, 0])\n        return torch.from_numpy(w)\n\n    w = np.load(checkpoint_path)\n    if not prefix and \"opt/target/embedding/kernel\" in w:\n        prefix = \"opt/target/\"\n\n    if hasattr(model.patch_embed, \"backbone\"):\n        # hybrid\n        backbone = model.patch_embed.backbone\n        stem_only = not hasattr(backbone, \"stem\")\n        stem = backbone if stem_only else backbone.stem\n        stem.conv.weight.copy_(\n            adapt_input_conv(\n                stem.conv.weight.shape[1], _n2p(w[f\"{prefix}conv_root/kernel\"])\n            )\n        )\n        stem.norm.weight.copy_(_n2p(w[f\"{prefix}gn_root/scale\"]))\n        stem.norm.bias.copy_(_n2p(w[f\"{prefix}gn_root/bias\"]))\n        if not stem_only:\n            for i, stage in enumerate(backbone.stages):\n                for j, block in enumerate(stage.blocks):\n                    bp = f\"{prefix}block{i + 1}/unit{j + 1}/\"\n                    for r in range(3):\n                        getattr(block, f\"conv{r + 1}\").weight.copy_(\n                            _n2p(w[f\"{bp}conv{r + 1}/kernel\"])\n                        )\n                        getattr(block, f\"norm{r + 1}\").weight.copy_(\n                            _n2p(w[f\"{bp}gn{r + 1}/scale\"])\n                        )\n                        getattr(block, f\"norm{r + 1}\").bias.copy_(\n                            _n2p(w[f\"{bp}gn{r + 1}/bias\"])\n                        )\n                    if block.downsample is not None:\n                        block.downsample.conv.weight.copy_(\n                            _n2p(w[f\"{bp}conv_proj/kernel\"])\n                        )\n                        block.downsample.norm.weight.copy_(\n                            _n2p(w[f\"{bp}gn_proj/scale\"])\n                        )\n                        block.downsample.norm.bias.copy_(_n2p(w[f\"{bp}gn_proj/bias\"]))\n        embed_conv_w = _n2p(w[f\"{prefix}embedding/kernel\"])\n    else:\n        embed_conv_w = adapt_input_conv(\n            model.patch_embed.proj.weight.shape[1], _n2p(w[f\"{prefix}embedding/kernel\"])\n        )\n    model.patch_embed.proj.weight.copy_(embed_conv_w)\n    model.patch_embed.proj.bias.copy_(_n2p(w[f\"{prefix}embedding/bias\"]))\n    model.cls_token.copy_(_n2p(w[f\"{prefix}cls\"], t=False))\n    pos_embed_w = _n2p(w[f\"{prefix}Transformer/posembed_input/pos_embedding\"], t=False)\n    if pos_embed_w.shape != model.pos_embed.shape:\n        pos_embed_w = resize_pos_embed(  # resize pos embedding when different size from pretrained weights\n            pos_embed_w,\n            model.pos_embed,\n            getattr(model, \"num_tokens\", 1),\n            model.patch_embed.grid_size,\n        )\n    model.pos_embed.copy_(pos_embed_w)\n    model.norm.weight.copy_(_n2p(w[f\"{prefix}Transformer/encoder_norm/scale\"]))\n    model.norm.bias.copy_(_n2p(w[f\"{prefix}Transformer/encoder_norm/bias\"]))\n    #     if isinstance(model.head, nn.Linear) and model.head.bias.shape[0] == w[f'{prefix}head/bias'].shape[-1]:\n    #         model.head.weight.copy_(_n2p(w[f'{prefix}head/kernel']))\n    #         model.head.bias.copy_(_n2p(w[f'{prefix}head/bias']))\n    #     if isinstance(getattr(model.pre_logits, 'fc', None), nn.Linear) and f'{prefix}pre_logits/bias' in w:\n    #         model.pre_logits.fc.weight.copy_(_n2p(w[f'{prefix}pre_logits/kernel']))\n    #         model.pre_logits.fc.bias.copy_(_n2p(w[f'{prefix}pre_logits/bias']))\n    for i, block in enumerate(model.blocks.children()):\n        block_prefix = f\"{prefix}Transformer/encoderblock_{i}/\"\n        mha_prefix = block_prefix + \"MultiHeadDotProductAttention_1/\"\n        block.norm1.weight.copy_(_n2p(w[f\"{block_prefix}LayerNorm_0/scale\"]))\n        block.norm1.bias.copy_(_n2p(w[f\"{block_prefix}LayerNorm_0/bias\"]))\n        block.attn.qkv.weight.copy_(\n            torch.cat(\n                [\n                    _n2p(w[f\"{mha_prefix}{n}/kernel\"], t=False).flatten(1).T\n                    for n in (\"query\", \"key\", \"value\")\n                ]\n            )\n        )\n        block.attn.qkv.bias.copy_(\n            torch.cat(\n                [\n                    _n2p(w[f\"{mha_prefix}{n}/bias\"], t=False).reshape(-1)\n                    for n in (\"query\", \"key\", \"value\")\n                ]\n            )\n        )\n        block.attn.proj.weight.copy_(_n2p(w[f\"{mha_prefix}out/kernel\"]).flatten(1))\n        block.attn.proj.bias.copy_(_n2p(w[f\"{mha_prefix}out/bias\"]))\n        for r in range(2):\n            getattr(block.mlp, f\"fc{r + 1}\").weight.copy_(\n                _n2p(w[f\"{block_prefix}MlpBlock_3/Dense_{r}/kernel\"])\n            )\n            getattr(block.mlp, f\"fc{r + 1}\").bias.copy_(\n                _n2p(w[f\"{block_prefix}MlpBlock_3/Dense_{r}/bias\"])\n            )\n        block.norm2.weight.copy_(_n2p(w[f\"{block_prefix}LayerNorm_2/scale\"]))\n        block.norm2.bias.copy_(_n2p(w[f\"{block_prefix}LayerNorm_2/bias\"]))\n\n\ndef interpolate_pos_embed(pos_embed_checkpoint, visual_encoder):\n    # interpolate position embedding\n    embedding_size = pos_embed_checkpoint.shape[-1]\n    num_patches = visual_encoder.patch_embed.num_patches\n    num_extra_tokens = visual_encoder.pos_embed.shape[-2] - num_patches\n    # height (== width) for the checkpoint position embedding\n    orig_size = int((pos_embed_checkpoint.shape[-2] - num_extra_tokens) ** 0.5)\n    # height (== width) for the new position embedding\n    new_size = int(num_patches**0.5)\n\n    if orig_size != new_size:\n        # class_token and dist_token are kept unchanged\n        extra_tokens = pos_embed_checkpoint[:, :num_extra_tokens]\n        # only the position tokens are interpolated\n        pos_tokens = pos_embed_checkpoint[:, num_extra_tokens:]\n        pos_tokens = pos_tokens.reshape(\n            -1, orig_size, orig_size, embedding_size\n        ).permute(0, 3, 1, 2)\n        pos_tokens = torch.nn.functional.interpolate(\n            pos_tokens, size=(new_size, new_size), mode=\"bicubic\", align_corners=False\n        )\n        pos_tokens = pos_tokens.permute(0, 2, 3, 1).flatten(1, 2)\n        new_pos_embed = torch.cat((extra_tokens, pos_tokens), dim=1)\n        print(\n            \"reshape position embedding from %d to %d\" % (orig_size**2, new_size**2)\n        )\n\n        return new_pos_embed\n    else:\n        return pos_embed_checkpoint\n"
  },
  {
    "path": "ldm/modules/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/modules/attention.py",
    "content": "from inspect import isfunction\nimport math\nimport torch\nimport torch.nn.functional as F\nfrom torch import nn, einsum\nfrom einops import rearrange\n\nfrom ldm.modules.diffusionmodules.util import checkpoint\n\nimport psutil\n\n\ndef exists(val):\n    return val is not None\n\n\ndef uniq(arr):\n    return {el: True for el in arr}.keys()\n\n\ndef default(val, d):\n    if exists(val):\n        return val\n    return d() if isfunction(d) else d\n\n\ndef max_neg_value(t):\n    return -torch.finfo(t.dtype).max\n\n\ndef init_(tensor):\n    dim = tensor.shape[-1]\n    std = 1 / math.sqrt(dim)\n    tensor.uniform_(-std, std)\n    return tensor\n\n\n# feedforward\nclass GEGLU(nn.Module):\n    def __init__(self, dim_in, dim_out):\n        super().__init__()\n        self.proj = nn.Linear(dim_in, dim_out * 2)\n\n    def forward(self, x):\n        x, gate = self.proj(x).chunk(2, dim=-1)\n        return x * F.gelu(gate)\n\n\nclass FeedForward(nn.Module):\n    def __init__(self, dim, dim_out=None, mult=4, glu=False, dropout=0.0):\n        super().__init__()\n        inner_dim = int(dim * mult)\n        dim_out = default(dim_out, dim)\n        project_in = (\n            nn.Sequential(nn.Linear(dim, inner_dim), nn.GELU())\n            if not glu\n            else GEGLU(dim, inner_dim)\n        )\n\n        self.net = nn.Sequential(\n            project_in, nn.Dropout(dropout), nn.Linear(inner_dim, dim_out)\n        )\n\n    def forward(self, x):\n        return self.net(x)\n\n\ndef zero_module(module):\n    \"\"\"\n    Zero out the parameters of a module and return it.\n    \"\"\"\n    for p in module.parameters():\n        p.detach().zero_()\n    return module\n\n\ndef Normalize(in_channels):\n    return torch.nn.GroupNorm(\n        num_groups=32, num_channels=in_channels, eps=1e-6, affine=True\n    )\n\n\nclass LinearAttention(nn.Module):\n    def __init__(self, dim, heads=4, dim_head=32):\n        super().__init__()\n        self.heads = heads\n        hidden_dim = dim_head * heads\n        self.to_qkv = nn.Conv2d(dim, hidden_dim * 3, 1, bias=False)\n        self.to_out = nn.Conv2d(hidden_dim, dim, 1)\n\n    def forward(self, x):\n        b, c, h, w = x.shape\n        qkv = self.to_qkv(x)\n        q, k, v = rearrange(\n            qkv, \"b (qkv heads c) h w -> qkv b heads c (h w)\", heads=self.heads, qkv=3\n        )\n        k = k.softmax(dim=-1)\n        context = torch.einsum(\"bhdn,bhen->bhde\", k, v)\n        out = torch.einsum(\"bhde,bhdn->bhen\", context, q)\n        out = rearrange(\n            out, \"b heads c (h w) -> b (heads c) h w\", heads=self.heads, h=h, w=w\n        )\n        return self.to_out(out)\n\n\nclass SpatialSelfAttention(nn.Module):\n    def __init__(self, in_channels):\n        super().__init__()\n        self.in_channels = in_channels\n\n        self.norm = Normalize(in_channels)\n        self.q = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.k = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.v = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.proj_out = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n\n    def forward(self, x):\n        h_ = x\n        h_ = self.norm(h_)\n        q = self.q(h_)\n        k = self.k(h_)\n        v = self.v(h_)\n\n        # compute attention\n        b, c, h, w = q.shape\n        q = rearrange(q, \"b c h w -> b (h w) c\")\n        k = rearrange(k, \"b c h w -> b c (h w)\")\n        w_ = torch.einsum(\"bij,bjk->bik\", q, k)\n\n        w_ = w_ * (int(c) ** (-0.5))\n        w_ = torch.nn.functional.softmax(w_, dim=2)\n\n        # attend to values\n        v = rearrange(v, \"b c h w -> b c (h w)\")\n        w_ = rearrange(w_, \"b i j -> b j i\")\n        h_ = torch.einsum(\"bij,bjk->bik\", v, w_)\n        h_ = rearrange(h_, \"b c (h w) -> b c h w\", h=h)\n        h_ = self.proj_out(h_)\n\n        return x + h_\n\n\nclass CrossAttention(nn.Module):\n    def __init__(self, query_dim, context_dim=None, heads=8, dim_head=64, dropout=0.0):\n        super().__init__()\n        inner_dim = dim_head * heads\n        context_dim = default(context_dim, query_dim)\n\n        self.scale = dim_head**-0.5\n        self.heads = heads\n\n        self.to_q = nn.Linear(query_dim, inner_dim, bias=False)\n        self.to_k = nn.Linear(context_dim, inner_dim, bias=False)\n        self.to_v = nn.Linear(context_dim, inner_dim, bias=False)\n\n        self.to_out = nn.Sequential(\n            nn.Linear(inner_dim, query_dim), nn.Dropout(dropout)\n        )\n\n        if torch.cuda.is_available():\n            self.einsum_op = self.einsum_op_cuda\n        else:\n            self.mem_total = psutil.virtual_memory().total / (1024**3)\n            self.einsum_op = (\n                self.einsum_op_mps_v1 if self.mem_total >= 32 else self.einsum_op_mps_v2\n            )\n\n    def einsum_op_compvis(self, q, k, v, r1):\n        s1 = einsum(\"b i d, b j d -> b i j\", q, k) * self.scale  # faster\n        s2 = s1.softmax(dim=-1, dtype=q.dtype)\n        del s1\n        r1 = einsum(\"b i j, b j d -> b i d\", s2, v)\n        del s2\n        return r1\n\n    def einsum_op_mps_v1(self, q, k, v, r1):\n        if q.shape[1] <= 4096:  # (512x512) max q.shape[1]: 4096\n            r1 = self.einsum_op_compvis(q, k, v, r1)\n        else:\n            slice_size = math.floor(2**30 / (q.shape[0] * q.shape[1]))\n            for i in range(0, q.shape[1], slice_size):\n                end = i + slice_size\n                s1 = einsum(\"b i d, b j d -> b i j\", q[:, i:end], k) * self.scale\n                s2 = s1.softmax(dim=-1, dtype=r1.dtype)\n                del s1\n                r1[:, i:end] = einsum(\"b i j, b j d -> b i d\", s2, v)\n                del s2\n        return r1\n\n    def einsum_op_mps_v2(self, q, k, v, r1):\n        if self.mem_total >= 8 and q.shape[1] <= 4096:\n            r1 = self.einsum_op_compvis(q, k, v, r1)\n        else:\n            slice_size = 1\n            for i in range(0, q.shape[0], slice_size):\n                end = min(q.shape[0], i + slice_size)\n                s1 = einsum(\"b i d, b j d -> b i j\", q[i:end], k[i:end])\n                s1 *= self.scale\n                s2 = s1.softmax(dim=-1, dtype=r1.dtype)\n                del s1\n                r1[i:end] = einsum(\"b i j, b j d -> b i d\", s2, v[i:end])\n                del s2\n        return r1\n\n    def einsum_op_cuda(self, q, k, v, r1):\n        stats = torch.cuda.memory_stats(q.device)\n        mem_active = stats[\"active_bytes.all.current\"]\n        mem_reserved = stats[\"reserved_bytes.all.current\"]\n        mem_free_cuda, _ = torch.cuda.mem_get_info(torch.cuda.current_device())\n        mem_free_torch = mem_reserved - mem_active\n        mem_free_total = mem_free_cuda + mem_free_torch\n\n        gb = 1024**3\n        tensor_size = q.shape[0] * q.shape[1] * k.shape[1] * 4\n        mem_required = tensor_size * 2.5\n        steps = 1\n\n        if mem_required > mem_free_total:\n            steps = 2 ** (math.ceil(math.log(mem_required / mem_free_total, 2)))\n\n        if steps > 64:\n            max_res = math.floor(math.sqrt(math.sqrt(mem_free_total / 2.5)) / 8) * 64\n            raise RuntimeError(\n                f\"Not enough memory, use lower resolution (max approx. {max_res}x{max_res}). \"\n                f\"Need: {mem_required/64/gb:0.1f}GB free, Have:{mem_free_total/gb:0.1f}GB free\"\n            )\n\n        slice_size = q.shape[1] // steps if (q.shape[1] % steps) == 0 else q.shape[1]\n        for i in range(0, q.shape[1], slice_size):\n            end = min(q.shape[1], i + slice_size)\n            s1 = einsum(\"b i d, b j d -> b i j\", q[:, i:end], k)  # * self.scale\n            s2 = s1.softmax(dim=-1, dtype=r1.dtype)\n            del s1\n            r1[:, i:end] = einsum(\"b i j, b j d -> b i d\", s2, v)\n            del s2\n        return r1\n\n    def forward(self, x, context=None, mask=None):\n        h = self.heads\n\n        q = self.to_q(x)\n        context = default(context, x)\n        del x\n        k = self.to_k(context) * self.scale\n        v = self.to_v(context)\n        del context\n\n        q, k, v = map(lambda t: rearrange(t, \"b n (h d) -> (b h) n d\", h=h), (q, k, v))\n\n        r1 = torch.zeros(\n            q.shape[0], q.shape[1], v.shape[2], device=q.device, dtype=q.dtype\n        )\n        r1 = self.einsum_op(q, k, v, r1)\n        del q, k, v\n        r2 = rearrange(r1, \"(b h) n d -> b n (h d)\", h=h)\n        del r1\n        return self.to_out(r2)\n\n\nclass BasicTransformerBlock(nn.Module):\n    def __init__(\n        self,\n        dim,\n        n_heads,\n        d_head,\n        dropout=0.0,\n        context_dim=None,\n        gated_ff=True,\n        checkpoint=True,\n    ):\n        super().__init__()\n        self.attn1 = CrossAttention(\n            query_dim=dim, heads=n_heads, dim_head=d_head, dropout=dropout\n        )  # is a self-attention\n        self.ff = FeedForward(dim, dropout=dropout, glu=gated_ff)\n        self.attn2 = CrossAttention(\n            query_dim=dim,\n            context_dim=context_dim,\n            heads=n_heads,\n            dim_head=d_head,\n            dropout=dropout,\n        )  # is self-attn if context is none\n        self.norm1 = nn.LayerNorm(dim)\n        self.norm2 = nn.LayerNorm(dim)\n        self.norm3 = nn.LayerNorm(dim)\n        self.checkpoint = checkpoint\n\n    def forward(self, x, context=None):\n        return checkpoint(\n            self._forward, (x, context), self.parameters(), self.checkpoint\n        )\n\n    def _forward(self, x, context=None):\n        x = x.contiguous() if x.device.type == \"mps\" else x\n        x += self.attn1(self.norm1(x))\n        x += self.attn2(self.norm2(x), context=context)\n        x += self.ff(self.norm3(x))\n        return x\n\n\nclass SpatialTransformer(nn.Module):\n    \"\"\"\n    Transformer block for image-like data.\n    First, project the input (aka embedding)\n    and reshape to b, t, d.\n    Then apply standard transformer action.\n    Finally, reshape to image\n    \"\"\"\n\n    def __init__(\n        self, in_channels, n_heads, d_head, depth=1, dropout=0.0, context_dim=None\n    ):\n        super().__init__()\n        self.in_channels = in_channels\n        inner_dim = n_heads * d_head\n        self.norm = Normalize(in_channels)\n\n        self.proj_in = nn.Conv2d(\n            in_channels, inner_dim, kernel_size=1, stride=1, padding=0\n        )\n\n        self.transformer_blocks = nn.ModuleList(\n            [\n                BasicTransformerBlock(\n                    inner_dim, n_heads, d_head, dropout=dropout, context_dim=context_dim\n                )\n                for d in range(depth)\n            ]\n        )\n\n        self.proj_out = zero_module(\n            nn.Conv2d(inner_dim, in_channels, kernel_size=1, stride=1, padding=0)\n        )\n\n    def forward(self, x, context=None):\n        # note: if no context is given, cross-attention defaults to self-attention\n        b, c, h, w = x.shape\n        x_in = x\n        x = self.norm(x)\n        x = self.proj_in(x)\n        x = rearrange(x, \"b c h w -> b (h w) c\")\n        for block in self.transformer_blocks:\n            x = block(x, context=context)\n        x = rearrange(x, \"b (h w) c -> b c h w\", h=h, w=w)\n        x = self.proj_out(x)\n        return x + x_in\n"
  },
  {
    "path": "ldm/modules/diffusionmodules/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/modules/diffusionmodules/model.py",
    "content": "# pytorch_diffusion + derived encoder decoder\nimport gc\nimport math\nimport torch\nimport torch.nn as nn\nimport numpy as np\nfrom einops import rearrange\n\nfrom ldm.util import instantiate_from_config\nfrom ldm.modules.attention import LinearAttention\n\n\ndef get_timestep_embedding(timesteps, embedding_dim):\n    \"\"\"\n    This matches the implementation in Denoising Diffusion Probabilistic Models:\n    From Fairseq.\n    Build sinusoidal embeddings.\n    This matches the implementation in tensor2tensor, but differs slightly\n    from the description in Section 3.5 of \"Attention Is All You Need\".\n    \"\"\"\n    assert len(timesteps.shape) == 1\n\n    half_dim = embedding_dim // 2\n    emb = math.log(10000) / (half_dim - 1)\n    emb = torch.exp(torch.arange(half_dim, dtype=torch.float32) * -emb)\n    emb = emb.to(device=timesteps.device)\n    emb = timesteps.float()[:, None] * emb[None, :]\n    emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=1)\n    if embedding_dim % 2 == 1:  # zero pad\n        emb = torch.nn.functional.pad(emb, (0, 1, 0, 0))\n    return emb\n\n\ndef nonlinearity(x):\n    # swish\n    return x * torch.sigmoid(x)\n\n\ndef Normalize(in_channels, num_groups=32):\n    return torch.nn.GroupNorm(\n        num_groups=num_groups, num_channels=in_channels, eps=1e-6, affine=True\n    )\n\n\nclass Upsample(nn.Module):\n    def __init__(self, in_channels, with_conv):\n        super().__init__()\n        self.with_conv = with_conv\n        if self.with_conv:\n            self.conv = torch.nn.Conv2d(\n                in_channels, in_channels, kernel_size=3, stride=1, padding=1\n            )\n\n    def forward(self, x):\n        x = torch.nn.functional.interpolate(x, scale_factor=2.0, mode=\"nearest\")\n        if self.with_conv:\n            x = self.conv(x)\n        return x\n\n\nclass Downsample(nn.Module):\n    def __init__(self, in_channels, with_conv):\n        super().__init__()\n        self.with_conv = with_conv\n        if self.with_conv:\n            # no asymmetric padding in torch conv, must do it ourselves\n            self.conv = torch.nn.Conv2d(\n                in_channels, in_channels, kernel_size=3, stride=2, padding=0\n            )\n\n    def forward(self, x):\n        if self.with_conv:\n            pad = (0, 1, 0, 1)\n            x = torch.nn.functional.pad(x, pad, mode=\"constant\", value=0)\n            x = self.conv(x)\n        else:\n            x = torch.nn.functional.avg_pool2d(x, kernel_size=2, stride=2)\n        return x\n\n\nclass ResnetBlock(nn.Module):\n    def __init__(\n        self,\n        *,\n        in_channels,\n        out_channels=None,\n        conv_shortcut=False,\n        dropout,\n        temb_channels=512,\n    ):\n        super().__init__()\n        self.in_channels = in_channels\n        out_channels = in_channels if out_channels is None else out_channels\n        self.out_channels = out_channels\n        self.use_conv_shortcut = conv_shortcut\n\n        self.norm1 = Normalize(in_channels)\n        self.conv1 = torch.nn.Conv2d(\n            in_channels, out_channels, kernel_size=3, stride=1, padding=1\n        )\n        if temb_channels > 0:\n            self.temb_proj = torch.nn.Linear(temb_channels, out_channels)\n        self.norm2 = Normalize(out_channels)\n        self.dropout = torch.nn.Dropout(dropout)\n        self.conv2 = torch.nn.Conv2d(\n            out_channels, out_channels, kernel_size=3, stride=1, padding=1\n        )\n        if self.in_channels != self.out_channels:\n            if self.use_conv_shortcut:\n                self.conv_shortcut = torch.nn.Conv2d(\n                    in_channels, out_channels, kernel_size=3, stride=1, padding=1\n                )\n            else:\n                self.nin_shortcut = torch.nn.Conv2d(\n                    in_channels, out_channels, kernel_size=1, stride=1, padding=0\n                )\n\n    def forward(self, x, temb):\n        h1 = x\n        h2 = self.norm1(h1)\n        del h1\n\n        h3 = nonlinearity(h2)\n        del h2\n\n        h4 = self.conv1(h3)\n        del h3\n\n        if temb is not None:\n            h4 = h4 + self.temb_proj(nonlinearity(temb))[:, :, None, None]\n\n        h5 = self.norm2(h4)\n        del h4\n\n        h6 = nonlinearity(h5)\n        del h5\n\n        h7 = self.dropout(h6)\n        del h6\n\n        h8 = self.conv2(h7)\n        del h7\n\n        if self.in_channels != self.out_channels:\n            if self.use_conv_shortcut:\n                x = self.conv_shortcut(x)\n            else:\n                x = self.nin_shortcut(x)\n\n        return x + h8\n\n\nclass LinAttnBlock(LinearAttention):\n    \"\"\"to match AttnBlock usage\"\"\"\n\n    def __init__(self, in_channels):\n        super().__init__(dim=in_channels, heads=1, dim_head=in_channels)\n\n\nclass AttnBlock(nn.Module):\n    def __init__(self, in_channels):\n        super().__init__()\n        self.in_channels = in_channels\n\n        self.norm = Normalize(in_channels)\n        self.q = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.k = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.v = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.proj_out = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n\n    def forward(self, x):\n        h_ = x\n        h_ = self.norm(h_)\n        q1 = self.q(h_)\n        k1 = self.k(h_)\n        v = self.v(h_)\n\n        # compute attention\n        b, c, h, w = q1.shape\n\n        q2 = q1.reshape(b, c, h * w)\n        del q1\n\n        q = q2.permute(0, 2, 1)  # b,hw,c\n        del q2\n\n        k = k1.reshape(b, c, h * w)  # b,c,hw\n        del k1\n\n        h_ = torch.zeros_like(k, device=q.device)\n\n        stats = torch.cuda.memory_stats(q.device)\n        mem_active = stats[\"active_bytes.all.current\"]\n        mem_reserved = stats[\"reserved_bytes.all.current\"]\n        mem_free_cuda, _ = torch.cuda.mem_get_info(torch.cuda.current_device())\n        mem_free_torch = mem_reserved - mem_active\n        mem_free_total = mem_free_cuda + mem_free_torch\n\n        tensor_size = q.shape[0] * q.shape[1] * k.shape[2] * 4\n        mem_required = tensor_size * 2.5\n        steps = 1\n\n        if mem_required > mem_free_total:\n            steps = 2 ** (math.ceil(math.log(mem_required / mem_free_total, 2)))\n\n        slice_size = q.shape[1] // steps if (q.shape[1] % steps) == 0 else q.shape[1]\n        for i in range(0, q.shape[1], slice_size):\n            end = i + slice_size\n\n            w1 = torch.bmm(q[:, i:end], k)  # b,hw,hw    w[b,i,j]=sum_c q[b,i,c]k[b,c,j]\n            w2 = w1 * (int(c) ** (-0.5))\n            del w1\n            w3 = torch.nn.functional.softmax(w2, dim=2)\n            del w2\n\n            # attend to values\n            v1 = v.reshape(b, c, h * w)\n            w4 = w3.permute(0, 2, 1)  # b,hw,hw (first hw of k, second of q)\n            del w3\n\n            h_[:, :, i:end] = torch.bmm(\n                v1, w4\n            )  # b, c,hw (hw of q) h_[b,c,j] = sum_i v[b,c,i] w_[b,i,j]\n            del v1, w4\n\n        h2 = h_.reshape(b, c, h, w)\n        del h_\n\n        h3 = self.proj_out(h2)\n        del h2\n\n        h3 += x\n\n        return h3\n\n\ndef make_attn(in_channels, attn_type=\"vanilla\"):\n    assert attn_type in [\"vanilla\", \"linear\", \"none\"], f\"attn_type {attn_type} unknown\"\n    print(f\"making attention of type '{attn_type}' with {in_channels} in_channels\")\n    if attn_type == \"vanilla\":\n        return AttnBlock(in_channels)\n    elif attn_type == \"none\":\n        return nn.Identity(in_channels)\n    else:\n        return LinAttnBlock(in_channels)\n\n\nclass Model(nn.Module):\n    def __init__(\n        self,\n        *,\n        ch,\n        out_ch,\n        ch_mult=(1, 2, 4, 8),\n        num_res_blocks,\n        attn_resolutions,\n        dropout=0.0,\n        resamp_with_conv=True,\n        in_channels,\n        resolution,\n        use_timestep=True,\n        use_linear_attn=False,\n        attn_type=\"vanilla\",\n    ):\n        super().__init__()\n        if use_linear_attn:\n            attn_type = \"linear\"\n        self.ch = ch\n        self.temb_ch = self.ch * 4\n        self.num_resolutions = len(ch_mult)\n        self.num_res_blocks = num_res_blocks\n        self.resolution = resolution\n        self.in_channels = in_channels\n\n        self.use_timestep = use_timestep\n        if self.use_timestep:\n            # timestep embedding\n            self.temb = nn.Module()\n            self.temb.dense = nn.ModuleList(\n                [\n                    torch.nn.Linear(self.ch, self.temb_ch),\n                    torch.nn.Linear(self.temb_ch, self.temb_ch),\n                ]\n            )\n\n        # downsampling\n        self.conv_in = torch.nn.Conv2d(\n            in_channels, self.ch, kernel_size=3, stride=1, padding=1\n        )\n\n        curr_res = resolution\n        in_ch_mult = (1,) + tuple(ch_mult)\n        self.down = nn.ModuleList()\n        for i_level in range(self.num_resolutions):\n            block = nn.ModuleList()\n            attn = nn.ModuleList()\n            block_in = ch * in_ch_mult[i_level]\n            block_out = ch * ch_mult[i_level]\n            for i_block in range(self.num_res_blocks):\n                block.append(\n                    ResnetBlock(\n                        in_channels=block_in,\n                        out_channels=block_out,\n                        temb_channels=self.temb_ch,\n                        dropout=dropout,\n                    )\n                )\n                block_in = block_out\n                if curr_res in attn_resolutions:\n                    attn.append(make_attn(block_in, attn_type=attn_type))\n            down = nn.Module()\n            down.block = block\n            down.attn = attn\n            if i_level != self.num_resolutions - 1:\n                down.downsample = Downsample(block_in, resamp_with_conv)\n                curr_res = curr_res // 2\n            self.down.append(down)\n\n        # middle\n        self.mid = nn.Module()\n        self.mid.block_1 = ResnetBlock(\n            in_channels=block_in,\n            out_channels=block_in,\n            temb_channels=self.temb_ch,\n            dropout=dropout,\n        )\n        self.mid.attn_1 = make_attn(block_in, attn_type=attn_type)\n        self.mid.block_2 = ResnetBlock(\n            in_channels=block_in,\n            out_channels=block_in,\n            temb_channels=self.temb_ch,\n            dropout=dropout,\n        )\n\n        # upsampling\n        self.up = nn.ModuleList()\n        for i_level in reversed(range(self.num_resolutions)):\n            block = nn.ModuleList()\n            attn = nn.ModuleList()\n            block_out = ch * ch_mult[i_level]\n            skip_in = ch * ch_mult[i_level]\n            for i_block in range(self.num_res_blocks + 1):\n                if i_block == self.num_res_blocks:\n                    skip_in = ch * in_ch_mult[i_level]\n                block.append(\n                    ResnetBlock(\n                        in_channels=block_in + skip_in,\n                        out_channels=block_out,\n                        temb_channels=self.temb_ch,\n                        dropout=dropout,\n                    )\n                )\n                block_in = block_out\n                if curr_res in attn_resolutions:\n                    attn.append(make_attn(block_in, attn_type=attn_type))\n            up = nn.Module()\n            up.block = block\n            up.attn = attn\n            if i_level != 0:\n                up.upsample = Upsample(block_in, resamp_with_conv)\n                curr_res = curr_res * 2\n            self.up.insert(0, up)  # prepend to get consistent order\n\n        # end\n        self.norm_out = Normalize(block_in)\n        self.conv_out = torch.nn.Conv2d(\n            block_in, out_ch, kernel_size=3, stride=1, padding=1\n        )\n\n    def forward(self, x, t=None, context=None):\n        # assert x.shape[2] == x.shape[3] == self.resolution\n        if context is not None:\n            # assume aligned context, cat along channel axis\n            x = torch.cat((x, context), dim=1)\n        if self.use_timestep:\n            # timestep embedding\n            assert t is not None\n            temb = get_timestep_embedding(t, self.ch)\n            temb = self.temb.dense[0](temb)\n            temb = nonlinearity(temb)\n            temb = self.temb.dense[1](temb)\n        else:\n            temb = None\n\n        # downsampling\n        hs = [self.conv_in(x)]\n        for i_level in range(self.num_resolutions):\n            for i_block in range(self.num_res_blocks):\n                h = self.down[i_level].block[i_block](hs[-1], temb)\n                if len(self.down[i_level].attn) > 0:\n                    h = self.down[i_level].attn[i_block](h)\n                hs.append(h)\n            if i_level != self.num_resolutions - 1:\n                hs.append(self.down[i_level].downsample(hs[-1]))\n\n        # middle\n        h = hs[-1]\n        h = self.mid.block_1(h, temb)\n        h = self.mid.attn_1(h)\n        h = self.mid.block_2(h, temb)\n\n        # upsampling\n        for i_level in reversed(range(self.num_resolutions)):\n            for i_block in range(self.num_res_blocks + 1):\n                h = self.up[i_level].block[i_block](\n                    torch.cat([h, hs.pop()], dim=1), temb\n                )\n                if len(self.up[i_level].attn) > 0:\n                    h = self.up[i_level].attn[i_block](h)\n            if i_level != 0:\n                h = self.up[i_level].upsample(h)\n\n        # end\n        h = self.norm_out(h)\n        h = nonlinearity(h)\n        h = self.conv_out(h)\n        return h\n\n    def get_last_layer(self):\n        return self.conv_out.weight\n\n\nclass Encoder(nn.Module):\n    def __init__(\n        self,\n        *,\n        ch,\n        out_ch,\n        ch_mult=(1, 2, 4, 8),\n        num_res_blocks,\n        attn_resolutions,\n        dropout=0.0,\n        resamp_with_conv=True,\n        in_channels,\n        resolution,\n        z_channels,\n        double_z=True,\n        use_linear_attn=False,\n        attn_type=\"vanilla\",\n        **ignore_kwargs,\n    ):\n        super().__init__()\n        if use_linear_attn:\n            attn_type = \"linear\"\n        self.ch = ch\n        self.temb_ch = 0\n        self.num_resolutions = len(ch_mult)\n        self.num_res_blocks = num_res_blocks\n        self.resolution = resolution\n        self.in_channels = in_channels\n\n        # downsampling\n        self.conv_in = torch.nn.Conv2d(\n            in_channels, self.ch, kernel_size=3, stride=1, padding=1\n        )\n\n        curr_res = resolution\n        in_ch_mult = (1,) + tuple(ch_mult)\n        self.in_ch_mult = in_ch_mult\n        self.down = nn.ModuleList()\n        for i_level in range(self.num_resolutions):\n            block = nn.ModuleList()\n            attn = nn.ModuleList()\n            block_in = ch * in_ch_mult[i_level]\n            block_out = ch * ch_mult[i_level]\n            for i_block in range(self.num_res_blocks):\n                block.append(\n                    ResnetBlock(\n                        in_channels=block_in,\n                        out_channels=block_out,\n                        temb_channels=self.temb_ch,\n                        dropout=dropout,\n                    )\n                )\n                block_in = block_out\n                if curr_res in attn_resolutions:\n                    attn.append(make_attn(block_in, attn_type=attn_type))\n            down = nn.Module()\n            down.block = block\n            down.attn = attn\n            if i_level != self.num_resolutions - 1:\n                down.downsample = Downsample(block_in, resamp_with_conv)\n                curr_res = curr_res // 2\n            self.down.append(down)\n\n        # middle\n        self.mid = nn.Module()\n        self.mid.block_1 = ResnetBlock(\n            in_channels=block_in,\n            out_channels=block_in,\n            temb_channels=self.temb_ch,\n            dropout=dropout,\n        )\n        self.mid.attn_1 = make_attn(block_in, attn_type=attn_type)\n        self.mid.block_2 = ResnetBlock(\n            in_channels=block_in,\n            out_channels=block_in,\n            temb_channels=self.temb_ch,\n            dropout=dropout,\n        )\n\n        # end\n        self.norm_out = Normalize(block_in)\n        self.conv_out = torch.nn.Conv2d(\n            block_in,\n            2 * z_channels if double_z else z_channels,\n            kernel_size=3,\n            stride=1,\n            padding=1,\n        )\n\n    def forward(self, x):\n        # timestep embedding\n        temb = None\n\n        # downsampling\n        hs = [self.conv_in(x)]\n        for i_level in range(self.num_resolutions):\n            for i_block in range(self.num_res_blocks):\n                h = self.down[i_level].block[i_block](hs[-1], temb)\n                if len(self.down[i_level].attn) > 0:\n                    h = self.down[i_level].attn[i_block](h)\n                hs.append(h)\n            if i_level != self.num_resolutions - 1:\n                hs.append(self.down[i_level].downsample(hs[-1]))\n\n        # middle\n        h = hs[-1]\n        h = self.mid.block_1(h, temb)\n        h = self.mid.attn_1(h)\n        h = self.mid.block_2(h, temb)\n\n        # end\n        h = self.norm_out(h)\n        h = nonlinearity(h)\n        h = self.conv_out(h)\n        return h\n\n\nclass Decoder(nn.Module):\n    def __init__(\n        self,\n        *,\n        ch,\n        out_ch,\n        ch_mult=(1, 2, 4, 8),\n        num_res_blocks,\n        attn_resolutions,\n        dropout=0.0,\n        resamp_with_conv=True,\n        in_channels,\n        resolution,\n        z_channels,\n        give_pre_end=False,\n        tanh_out=False,\n        use_linear_attn=False,\n        attn_type=\"vanilla\",\n        **ignorekwargs,\n    ):\n        super().__init__()\n        if use_linear_attn:\n            attn_type = \"linear\"\n        self.ch = ch\n        self.temb_ch = 0\n        self.num_resolutions = len(ch_mult)\n        self.num_res_blocks = num_res_blocks\n        self.resolution = resolution\n        self.in_channels = in_channels\n        self.give_pre_end = give_pre_end\n        self.tanh_out = tanh_out\n\n        # compute in_ch_mult, block_in and curr_res at lowest res\n        (1,) + tuple(ch_mult)\n        block_in = ch * ch_mult[self.num_resolutions - 1]\n        curr_res = resolution // 2 ** (self.num_resolutions - 1)\n        self.z_shape = (1, z_channels, curr_res, curr_res)\n        print(\n            \"Working with z of shape {} = {} dimensions.\".format(\n                self.z_shape, np.prod(self.z_shape)\n            )\n        )\n\n        # z to block_in\n        self.conv_in = torch.nn.Conv2d(\n            z_channels, block_in, kernel_size=3, stride=1, padding=1\n        )\n\n        # middle\n        self.mid = nn.Module()\n        self.mid.block_1 = ResnetBlock(\n            in_channels=block_in,\n            out_channels=block_in,\n            temb_channels=self.temb_ch,\n            dropout=dropout,\n        )\n        self.mid.attn_1 = make_attn(block_in, attn_type=attn_type)\n        self.mid.block_2 = ResnetBlock(\n            in_channels=block_in,\n            out_channels=block_in,\n            temb_channels=self.temb_ch,\n            dropout=dropout,\n        )\n\n        # upsampling\n        self.up = nn.ModuleList()\n        for i_level in reversed(range(self.num_resolutions)):\n            block = nn.ModuleList()\n            attn = nn.ModuleList()\n            block_out = ch * ch_mult[i_level]\n            for i_block in range(self.num_res_blocks + 1):\n                block.append(\n                    ResnetBlock(\n                        in_channels=block_in,\n                        out_channels=block_out,\n                        temb_channels=self.temb_ch,\n                        dropout=dropout,\n                    )\n                )\n                block_in = block_out\n                if curr_res in attn_resolutions:\n                    attn.append(make_attn(block_in, attn_type=attn_type))\n            up = nn.Module()\n            up.block = block\n            up.attn = attn\n            if i_level != 0:\n                up.upsample = Upsample(block_in, resamp_with_conv)\n                curr_res = curr_res * 2\n            self.up.insert(0, up)  # prepend to get consistent order\n\n        # end\n        self.norm_out = Normalize(block_in)\n        self.conv_out = torch.nn.Conv2d(\n            block_in, out_ch, kernel_size=3, stride=1, padding=1\n        )\n\n    def forward(self, z):\n        # assert z.shape[1:] == self.z_shape[1:]\n        self.last_z_shape = z.shape\n\n        # timestep embedding\n        temb = None\n\n        # z to block_in\n        h1 = self.conv_in(z)\n\n        # middle\n        h2 = self.mid.block_1(h1, temb)\n        del h1\n\n        h3 = self.mid.attn_1(h2)\n        del h2\n\n        h = self.mid.block_2(h3, temb)\n        del h3\n\n        # prepare for up sampling\n        gc.collect()\n        torch.cuda.empty_cache()\n\n        # upsampling\n        for i_level in reversed(range(self.num_resolutions)):\n            for i_block in range(self.num_res_blocks + 1):\n                h = self.up[i_level].block[i_block](h, temb)\n                if len(self.up[i_level].attn) > 0:\n                    t = h\n                    h = self.up[i_level].attn[i_block](t)\n                    del t\n\n            if i_level != 0:\n                t = h\n                h = self.up[i_level].upsample(t)\n                del t\n\n        # end\n        if self.give_pre_end:\n            return h\n\n        h1 = self.norm_out(h)\n        del h\n\n        h2 = nonlinearity(h1)\n        del h1\n\n        h = self.conv_out(h2)\n        del h2\n\n        if self.tanh_out:\n            t = h\n            h = torch.tanh(t)\n            del t\n\n        return h\n\n\nclass SimpleDecoder(nn.Module):\n    def __init__(self, in_channels, out_channels, *args, **kwargs):\n        super().__init__()\n        self.model = nn.ModuleList(\n            [\n                nn.Conv2d(in_channels, in_channels, 1),\n                ResnetBlock(\n                    in_channels=in_channels,\n                    out_channels=2 * in_channels,\n                    temb_channels=0,\n                    dropout=0.0,\n                ),\n                ResnetBlock(\n                    in_channels=2 * in_channels,\n                    out_channels=4 * in_channels,\n                    temb_channels=0,\n                    dropout=0.0,\n                ),\n                ResnetBlock(\n                    in_channels=4 * in_channels,\n                    out_channels=2 * in_channels,\n                    temb_channels=0,\n                    dropout=0.0,\n                ),\n                nn.Conv2d(2 * in_channels, in_channels, 1),\n                Upsample(in_channels, with_conv=True),\n            ]\n        )\n        # end\n        self.norm_out = Normalize(in_channels)\n        self.conv_out = torch.nn.Conv2d(\n            in_channels, out_channels, kernel_size=3, stride=1, padding=1\n        )\n\n    def forward(self, x):\n        for i, layer in enumerate(self.model):\n            if i in [1, 2, 3]:\n                x = layer(x, None)\n            else:\n                x = layer(x)\n\n        h = self.norm_out(x)\n        h = nonlinearity(h)\n        x = self.conv_out(h)\n        return x\n\n\nclass UpsampleDecoder(nn.Module):\n    def __init__(\n        self,\n        in_channels,\n        out_channels,\n        ch,\n        num_res_blocks,\n        resolution,\n        ch_mult=(2, 2),\n        dropout=0.0,\n    ):\n        super().__init__()\n        # upsampling\n        self.temb_ch = 0\n        self.num_resolutions = len(ch_mult)\n        self.num_res_blocks = num_res_blocks\n        block_in = in_channels\n        curr_res = resolution // 2 ** (self.num_resolutions - 1)\n        self.res_blocks = nn.ModuleList()\n        self.upsample_blocks = nn.ModuleList()\n        for i_level in range(self.num_resolutions):\n            res_block = []\n            block_out = ch * ch_mult[i_level]\n            for i_block in range(self.num_res_blocks + 1):\n                res_block.append(\n                    ResnetBlock(\n                        in_channels=block_in,\n                        out_channels=block_out,\n                        temb_channels=self.temb_ch,\n                        dropout=dropout,\n                    )\n                )\n                block_in = block_out\n            self.res_blocks.append(nn.ModuleList(res_block))\n            if i_level != self.num_resolutions - 1:\n                self.upsample_blocks.append(Upsample(block_in, True))\n                curr_res = curr_res * 2\n\n        # end\n        self.norm_out = Normalize(block_in)\n        self.conv_out = torch.nn.Conv2d(\n            block_in, out_channels, kernel_size=3, stride=1, padding=1\n        )\n\n    def forward(self, x):\n        # upsampling\n        h = x\n        for k, i_level in enumerate(range(self.num_resolutions)):\n            for i_block in range(self.num_res_blocks + 1):\n                h = self.res_blocks[i_level][i_block](h, None)\n            if i_level != self.num_resolutions - 1:\n                h = self.upsample_blocks[k](h)\n        h = self.norm_out(h)\n        h = nonlinearity(h)\n        h = self.conv_out(h)\n        return h\n\n\nclass LatentRescaler(nn.Module):\n    def __init__(self, factor, in_channels, mid_channels, out_channels, depth=2):\n        super().__init__()\n        # residual block, interpolate, residual block\n        self.factor = factor\n        self.conv_in = nn.Conv2d(\n            in_channels, mid_channels, kernel_size=3, stride=1, padding=1\n        )\n        self.res_block1 = nn.ModuleList(\n            [\n                ResnetBlock(\n                    in_channels=mid_channels,\n                    out_channels=mid_channels,\n                    temb_channels=0,\n                    dropout=0.0,\n                )\n                for _ in range(depth)\n            ]\n        )\n        self.attn = AttnBlock(mid_channels)\n        self.res_block2 = nn.ModuleList(\n            [\n                ResnetBlock(\n                    in_channels=mid_channels,\n                    out_channels=mid_channels,\n                    temb_channels=0,\n                    dropout=0.0,\n                )\n                for _ in range(depth)\n            ]\n        )\n\n        self.conv_out = nn.Conv2d(\n            mid_channels,\n            out_channels,\n            kernel_size=1,\n        )\n\n    def forward(self, x):\n        x = self.conv_in(x)\n        for block in self.res_block1:\n            x = block(x, None)\n        x = torch.nn.functional.interpolate(\n            x,\n            size=(\n                int(round(x.shape[2] * self.factor)),\n                int(round(x.shape[3] * self.factor)),\n            ),\n        )\n        x = self.attn(x)\n        for block in self.res_block2:\n            x = block(x, None)\n        x = self.conv_out(x)\n        return x\n\n\nclass MergedRescaleEncoder(nn.Module):\n    def __init__(\n        self,\n        in_channels,\n        ch,\n        resolution,\n        out_ch,\n        num_res_blocks,\n        attn_resolutions,\n        dropout=0.0,\n        resamp_with_conv=True,\n        ch_mult=(1, 2, 4, 8),\n        rescale_factor=1.0,\n        rescale_module_depth=1,\n    ):\n        super().__init__()\n        intermediate_chn = ch * ch_mult[-1]\n        self.encoder = Encoder(\n            in_channels=in_channels,\n            num_res_blocks=num_res_blocks,\n            ch=ch,\n            ch_mult=ch_mult,\n            z_channels=intermediate_chn,\n            double_z=False,\n            resolution=resolution,\n            attn_resolutions=attn_resolutions,\n            dropout=dropout,\n            resamp_with_conv=resamp_with_conv,\n            out_ch=None,\n        )\n        self.rescaler = LatentRescaler(\n            factor=rescale_factor,\n            in_channels=intermediate_chn,\n            mid_channels=intermediate_chn,\n            out_channels=out_ch,\n            depth=rescale_module_depth,\n        )\n\n    def forward(self, x):\n        x = self.encoder(x)\n        x = self.rescaler(x)\n        return x\n\n\nclass MergedRescaleDecoder(nn.Module):\n    def __init__(\n        self,\n        z_channels,\n        out_ch,\n        resolution,\n        num_res_blocks,\n        attn_resolutions,\n        ch,\n        ch_mult=(1, 2, 4, 8),\n        dropout=0.0,\n        resamp_with_conv=True,\n        rescale_factor=1.0,\n        rescale_module_depth=1,\n    ):\n        super().__init__()\n        tmp_chn = z_channels * ch_mult[-1]\n        self.decoder = Decoder(\n            out_ch=out_ch,\n            z_channels=tmp_chn,\n            attn_resolutions=attn_resolutions,\n            dropout=dropout,\n            resamp_with_conv=resamp_with_conv,\n            in_channels=None,\n            num_res_blocks=num_res_blocks,\n            ch_mult=ch_mult,\n            resolution=resolution,\n            ch=ch,\n        )\n        self.rescaler = LatentRescaler(\n            factor=rescale_factor,\n            in_channels=z_channels,\n            mid_channels=tmp_chn,\n            out_channels=tmp_chn,\n            depth=rescale_module_depth,\n        )\n\n    def forward(self, x):\n        x = self.rescaler(x)\n        x = self.decoder(x)\n        return x\n\n\nclass Upsampler(nn.Module):\n    def __init__(self, in_size, out_size, in_channels, out_channels, ch_mult=2):\n        super().__init__()\n        assert out_size >= in_size\n        num_blocks = int(np.log2(out_size // in_size)) + 1\n        factor_up = 1.0 + (out_size % in_size)\n        print(\n            f\"Building {self.__class__.__name__} with in_size: {in_size} --> out_size {out_size} and factor {factor_up}\"\n        )\n        self.rescaler = LatentRescaler(\n            factor=factor_up,\n            in_channels=in_channels,\n            mid_channels=2 * in_channels,\n            out_channels=in_channels,\n        )\n        self.decoder = Decoder(\n            out_ch=out_channels,\n            resolution=out_size,\n            z_channels=in_channels,\n            num_res_blocks=2,\n            attn_resolutions=[],\n            in_channels=None,\n            ch=in_channels,\n            ch_mult=[ch_mult for _ in range(num_blocks)],\n        )\n\n    def forward(self, x):\n        x = self.rescaler(x)\n        x = self.decoder(x)\n        return x\n\n\nclass Resize(nn.Module):\n    def __init__(self, in_channels=None, learned=False, mode=\"bilinear\"):\n        super().__init__()\n        self.with_conv = learned\n        self.mode = mode\n        if self.with_conv:\n            print(\n                f\"Note: {self.__class__.__name} uses learned downsampling and will ignore the fixed {mode} mode\"\n            )\n            raise NotImplementedError()\n            assert in_channels is not None\n            # no asymmetric padding in torch conv, must do it ourselves\n            self.conv = torch.nn.Conv2d(\n                in_channels, in_channels, kernel_size=4, stride=2, padding=1\n            )\n\n    def forward(self, x, scale_factor=1.0):\n        if scale_factor == 1.0:\n            return x\n        else:\n            x = torch.nn.functional.interpolate(\n                x, mode=self.mode, align_corners=False, scale_factor=scale_factor\n            )\n        return x\n\n\nclass FirstStagePostProcessor(nn.Module):\n    def __init__(\n        self,\n        ch_mult: list,\n        in_channels,\n        pretrained_model: nn.Module = None,\n        reshape=False,\n        n_channels=None,\n        dropout=0.0,\n        pretrained_config=None,\n    ):\n        super().__init__()\n        if pretrained_config is None:\n            assert (\n                pretrained_model is not None\n            ), 'Either \"pretrained_model\" or \"pretrained_config\" must not be None'\n            self.pretrained_model = pretrained_model\n        else:\n            assert (\n                pretrained_config is not None\n            ), 'Either \"pretrained_model\" or \"pretrained_config\" must not be None'\n            self.instantiate_pretrained(pretrained_config)\n\n        self.do_reshape = reshape\n\n        if n_channels is None:\n            n_channels = self.pretrained_model.encoder.ch\n\n        self.proj_norm = Normalize(in_channels, num_groups=in_channels // 2)\n        self.proj = nn.Conv2d(\n            in_channels, n_channels, kernel_size=3, stride=1, padding=1\n        )\n\n        blocks = []\n        downs = []\n        ch_in = n_channels\n        for m in ch_mult:\n            blocks.append(\n                ResnetBlock(\n                    in_channels=ch_in, out_channels=m * n_channels, dropout=dropout\n                )\n            )\n            ch_in = m * n_channels\n            downs.append(Downsample(ch_in, with_conv=False))\n\n        self.model = nn.ModuleList(blocks)\n        self.downsampler = nn.ModuleList(downs)\n\n    def instantiate_pretrained(self, config):\n        model = instantiate_from_config(config)\n        self.pretrained_model = model.eval()\n        # self.pretrained_model.train = False\n        for param in self.pretrained_model.parameters():\n            param.requires_grad = False\n\n    @torch.no_grad()\n    def encode_with_pretrained(self, x):\n        c = self.pretrained_model.encode(x)\n        if isinstance(c, DiagonalGaussianDistribution):\n            c = c.mode()\n        return c\n\n    def forward(self, x):\n        z_fs = self.encode_with_pretrained(x)\n        z = self.proj_norm(z_fs)\n        z = self.proj(z)\n        z = nonlinearity(z)\n\n        for submodel, downmodel in zip(self.model, self.downsampler):\n            z = submodel(z, temb=None)\n            z = downmodel(z)\n\n        if self.do_reshape:\n            z = rearrange(z, \"b c h w -> b (h w) c\")\n        return z\n"
  },
  {
    "path": "ldm/modules/diffusionmodules/openaimodel.py",
    "content": "from abc import abstractmethod\nimport math\n\nimport numpy as np\nimport torch as th\nimport torch.nn as nn\nimport torch.nn.functional as F\n\nfrom ldm.modules.diffusionmodules.util import (\n    checkpoint,\n    conv_nd,\n    linear,\n    avg_pool_nd,\n    zero_module,\n    normalization,\n    timestep_embedding,\n)\nfrom ldm.modules.attention import SpatialTransformer\n\n\n# dummy replace\ndef convert_module_to_f16(x):\n    pass\n\n\ndef convert_module_to_f32(x):\n    pass\n\n\n## go\nclass AttentionPool2d(nn.Module):\n    \"\"\"\n    Adapted from CLIP: https://github.com/openai/CLIP/blob/main/clip/model.py\n    \"\"\"\n\n    def __init__(\n        self,\n        spacial_dim: int,\n        embed_dim: int,\n        num_heads_channels: int,\n        output_dim: int = None,\n    ):\n        super().__init__()\n        self.positional_embedding = nn.Parameter(\n            th.randn(embed_dim, spacial_dim**2 + 1) / embed_dim**0.5\n        )\n        self.qkv_proj = conv_nd(1, embed_dim, 3 * embed_dim, 1)\n        self.c_proj = conv_nd(1, embed_dim, output_dim or embed_dim, 1)\n        self.num_heads = embed_dim // num_heads_channels\n        self.attention = QKVAttention(self.num_heads)\n\n    def forward(self, x):\n        b, c, *_spatial = x.shape\n        x = x.reshape(b, c, -1)  # NC(HW)\n        x = th.cat([x.mean(dim=-1, keepdim=True), x], dim=-1)  # NC(HW+1)\n        x = x + self.positional_embedding[None, :, :].to(x.dtype)  # NC(HW+1)\n        x = self.qkv_proj(x)\n        x = self.attention(x)\n        x = self.c_proj(x)\n        return x[:, :, 0]\n\n\nclass TimestepBlock(nn.Module):\n    \"\"\"\n    Any module where forward() takes timestep embeddings as a second argument.\n    \"\"\"\n\n    @abstractmethod\n    def forward(self, x, emb):\n        \"\"\"\n        Apply the module to `x` given `emb` timestep embeddings.\n        \"\"\"\n\n\nclass TimestepEmbedSequential(nn.Sequential, TimestepBlock):\n    \"\"\"\n    A sequential module that passes timestep embeddings to the children that\n    support it as an extra input.\n    \"\"\"\n\n    def forward(self, x, emb, context=None):\n        for layer in self:\n            if isinstance(layer, TimestepBlock):\n                x = layer(x, emb)\n            elif isinstance(layer, SpatialTransformer):\n                x = layer(x, context)\n            else:\n                x = layer(x)\n        return x\n\n\nclass Upsample(nn.Module):\n    \"\"\"\n    An upsampling layer with an optional convolution.\n    :param channels: channels in the inputs and outputs.\n    :param use_conv: a bool determining if a convolution is applied.\n    :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then\n                 upsampling occurs in the inner-two dimensions.\n    \"\"\"\n\n    def __init__(self, channels, use_conv, dims=2, out_channels=None, padding=1):\n        super().__init__()\n        self.channels = channels\n        self.out_channels = out_channels or channels\n        self.use_conv = use_conv\n        self.dims = dims\n        if use_conv:\n            self.conv = conv_nd(\n                dims, self.channels, self.out_channels, 3, padding=padding\n            )\n\n    def forward(self, x):\n        assert x.shape[1] == self.channels\n        if self.dims == 3:\n            x = F.interpolate(\n                x, (x.shape[2], x.shape[3] * 2, x.shape[4] * 2), mode=\"nearest\"\n            )\n        else:\n            x = F.interpolate(x, scale_factor=2, mode=\"nearest\")\n        if self.use_conv:\n            x = self.conv(x)\n        return x\n\n\nclass TransposedUpsample(nn.Module):\n    \"Learned 2x upsampling without padding\"\n\n    def __init__(self, channels, out_channels=None, ks=5):\n        super().__init__()\n        self.channels = channels\n        self.out_channels = out_channels or channels\n\n        self.up = nn.ConvTranspose2d(\n            self.channels, self.out_channels, kernel_size=ks, stride=2\n        )\n\n    def forward(self, x):\n        return self.up(x)\n\n\nclass Downsample(nn.Module):\n    \"\"\"\n    A downsampling layer with an optional convolution.\n    :param channels: channels in the inputs and outputs.\n    :param use_conv: a bool determining if a convolution is applied.\n    :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then\n                 downsampling occurs in the inner-two dimensions.\n    \"\"\"\n\n    def __init__(self, channels, use_conv, dims=2, out_channels=None, padding=1):\n        super().__init__()\n        self.channels = channels\n        self.out_channels = out_channels or channels\n        self.use_conv = use_conv\n        self.dims = dims\n        stride = 2 if dims != 3 else (1, 2, 2)\n        if use_conv:\n            self.op = conv_nd(\n                dims,\n                self.channels,\n                self.out_channels,\n                3,\n                stride=stride,\n                padding=padding,\n            )\n        else:\n            assert self.channels == self.out_channels\n            self.op = avg_pool_nd(dims, kernel_size=stride, stride=stride)\n\n    def forward(self, x):\n        assert x.shape[1] == self.channels\n        return self.op(x)\n\n\nclass ResBlock(TimestepBlock):\n    \"\"\"\n    A residual block that can optionally change the number of channels.\n    :param channels: the number of input channels.\n    :param emb_channels: the number of timestep embedding channels.\n    :param dropout: the rate of dropout.\n    :param out_channels: if specified, the number of out channels.\n    :param use_conv: if True and out_channels is specified, use a spatial\n        convolution instead of a smaller 1x1 convolution to change the\n        channels in the skip connection.\n    :param dims: determines if the signal is 1D, 2D, or 3D.\n    :param use_checkpoint: if True, use gradient checkpointing on this module.\n    :param up: if True, use this block for upsampling.\n    :param down: if True, use this block for downsampling.\n    \"\"\"\n\n    def __init__(\n        self,\n        channels,\n        emb_channels,\n        dropout,\n        out_channels=None,\n        use_conv=False,\n        use_scale_shift_norm=False,\n        dims=2,\n        use_checkpoint=False,\n        up=False,\n        down=False,\n    ):\n        super().__init__()\n        self.channels = channels\n        self.emb_channels = emb_channels\n        self.dropout = dropout\n        self.out_channels = out_channels or channels\n        self.use_conv = use_conv\n        self.use_checkpoint = use_checkpoint\n        self.use_scale_shift_norm = use_scale_shift_norm\n\n        self.in_layers = nn.Sequential(\n            normalization(channels),\n            nn.SiLU(),\n            conv_nd(dims, channels, self.out_channels, 3, padding=1),\n        )\n\n        self.updown = up or down\n\n        if up:\n            self.h_upd = Upsample(channels, False, dims)\n            self.x_upd = Upsample(channels, False, dims)\n        elif down:\n            self.h_upd = Downsample(channels, False, dims)\n            self.x_upd = Downsample(channels, False, dims)\n        else:\n            self.h_upd = self.x_upd = nn.Identity()\n\n        self.emb_layers = nn.Sequential(\n            nn.SiLU(),\n            linear(\n                emb_channels,\n                2 * self.out_channels if use_scale_shift_norm else self.out_channels,\n            ),\n        )\n        self.out_layers = nn.Sequential(\n            normalization(self.out_channels),\n            nn.SiLU(),\n            nn.Dropout(p=dropout),\n            zero_module(\n                conv_nd(dims, self.out_channels, self.out_channels, 3, padding=1)\n            ),\n        )\n\n        if self.out_channels == channels:\n            self.skip_connection = nn.Identity()\n        elif use_conv:\n            self.skip_connection = conv_nd(\n                dims, channels, self.out_channels, 3, padding=1\n            )\n        else:\n            self.skip_connection = conv_nd(dims, channels, self.out_channels, 1)\n\n    def forward(self, x, emb):\n        \"\"\"\n        Apply the block to a Tensor, conditioned on a timestep embedding.\n        :param x: an [N x C x ...] Tensor of features.\n        :param emb: an [N x emb_channels] Tensor of timestep embeddings.\n        :return: an [N x C x ...] Tensor of outputs.\n        \"\"\"\n        return checkpoint(\n            self._forward, (x, emb), self.parameters(), self.use_checkpoint\n        )\n\n    def _forward(self, x, emb):\n        if self.updown:\n            in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1]\n            h = in_rest(x)\n            h = self.h_upd(h)\n            x = self.x_upd(x)\n            h = in_conv(h)\n        else:\n            h = self.in_layers(x)\n        emb_out = self.emb_layers(emb).type(h.dtype)\n        while len(emb_out.shape) < len(h.shape):\n            emb_out = emb_out[..., None]\n        if self.use_scale_shift_norm:\n            out_norm, out_rest = self.out_layers[0], self.out_layers[1:]\n            scale, shift = th.chunk(emb_out, 2, dim=1)\n            h = out_norm(h) * (1 + scale) + shift\n            h = out_rest(h)\n        else:\n            h = h + emb_out\n            h = self.out_layers(h)\n        return self.skip_connection(x) + h\n\n\nclass AttentionBlock(nn.Module):\n    \"\"\"\n    An attention block that allows spatial positions to attend to each other.\n    Originally ported from here, but adapted to the N-d case.\n    https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66.\n    \"\"\"\n\n    def __init__(\n        self,\n        channels,\n        num_heads=1,\n        num_head_channels=-1,\n        use_checkpoint=False,\n        use_new_attention_order=False,\n    ):\n        super().__init__()\n        self.channels = channels\n        if num_head_channels == -1:\n            self.num_heads = num_heads\n        else:\n            assert (\n                channels % num_head_channels == 0\n            ), f\"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}\"\n            self.num_heads = channels // num_head_channels\n        self.use_checkpoint = use_checkpoint\n        self.norm = normalization(channels)\n        self.qkv = conv_nd(1, channels, channels * 3, 1)\n        if use_new_attention_order:\n            # split qkv before split heads\n            self.attention = QKVAttention(self.num_heads)\n        else:\n            # split heads before split qkv\n            self.attention = QKVAttentionLegacy(self.num_heads)\n\n        self.proj_out = zero_module(conv_nd(1, channels, channels, 1))\n\n    def forward(self, x):\n        return checkpoint(\n            self._forward, (x,), self.parameters(), True\n        )  # TODO: check checkpoint usage, is True # TODO: fix the .half call!!!\n        # return pt_checkpoint(self._forward, x)  # pytorch\n\n    def _forward(self, x):\n        b, c, *spatial = x.shape\n        x = x.reshape(b, c, -1)\n        qkv = self.qkv(self.norm(x))\n        h = self.attention(qkv)\n        h = self.proj_out(h)\n        return (x + h).reshape(b, c, *spatial)\n\n\ndef count_flops_attn(model, _x, y):\n    \"\"\"\n    A counter for the `thop` package to count the operations in an\n    attention operation.\n    Meant to be used like:\n        macs, params = thop.profile(\n            model,\n            inputs=(inputs, timestamps),\n            custom_ops={QKVAttention: QKVAttention.count_flops},\n        )\n    \"\"\"\n    b, c, *spatial = y[0].shape\n    num_spatial = int(np.prod(spatial))\n    # We perform two matmuls with the same number of ops.\n    # The first computes the weight matrix, the second computes\n    # the combination of the value vectors.\n    matmul_ops = 2 * b * (num_spatial**2) * c\n    model.total_ops += th.DoubleTensor([matmul_ops])\n\n\nclass QKVAttentionLegacy(nn.Module):\n    \"\"\"\n    A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping\n    \"\"\"\n\n    def __init__(self, n_heads):\n        super().__init__()\n        self.n_heads = n_heads\n\n    def forward(self, qkv):\n        \"\"\"\n        Apply QKV attention.\n        :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs.\n        :return: an [N x (H * C) x T] tensor after attention.\n        \"\"\"\n        bs, width, length = qkv.shape\n        assert width % (3 * self.n_heads) == 0\n        ch = width // (3 * self.n_heads)\n        q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1)\n        scale = 1 / math.sqrt(math.sqrt(ch))\n        weight = th.einsum(\n            \"bct,bcs->bts\", q * scale, k * scale\n        )  # More stable with f16 than dividing afterwards\n        weight = th.softmax(weight.float(), dim=-1).type(weight.dtype)\n        a = th.einsum(\"bts,bcs->bct\", weight, v)\n        return a.reshape(bs, -1, length)\n\n    @staticmethod\n    def count_flops(model, _x, y):\n        return count_flops_attn(model, _x, y)\n\n\nclass QKVAttention(nn.Module):\n    \"\"\"\n    A module which performs QKV attention and splits in a different order.\n    \"\"\"\n\n    def __init__(self, n_heads):\n        super().__init__()\n        self.n_heads = n_heads\n\n    def forward(self, qkv):\n        \"\"\"\n        Apply QKV attention.\n        :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs.\n        :return: an [N x (H * C) x T] tensor after attention.\n        \"\"\"\n        bs, width, length = qkv.shape\n        assert width % (3 * self.n_heads) == 0\n        ch = width // (3 * self.n_heads)\n        q, k, v = qkv.chunk(3, dim=1)\n        scale = 1 / math.sqrt(math.sqrt(ch))\n        weight = th.einsum(\n            \"bct,bcs->bts\",\n            (q * scale).view(bs * self.n_heads, ch, length),\n            (k * scale).view(bs * self.n_heads, ch, length),\n        )  # More stable with f16 than dividing afterwards\n        weight = th.softmax(weight.float(), dim=-1).type(weight.dtype)\n        a = th.einsum(\"bts,bcs->bct\", weight, v.reshape(bs * self.n_heads, ch, length))\n        return a.reshape(bs, -1, length)\n\n    @staticmethod\n    def count_flops(model, _x, y):\n        return count_flops_attn(model, _x, y)\n\n\nclass UNetModel(nn.Module):\n    \"\"\"\n    The full UNet model with attention and timestep embedding.\n    :param in_channels: channels in the input Tensor.\n    :param model_channels: base channel count for the model.\n    :param out_channels: channels in the output Tensor.\n    :param num_res_blocks: number of residual blocks per downsample.\n    :param attention_resolutions: a collection of downsample rates at which\n        attention will take place. May be a set, list, or tuple.\n        For example, if this contains 4, then at 4x downsampling, attention\n        will be used.\n    :param dropout: the dropout probability.\n    :param channel_mult: channel multiplier for each level of the UNet.\n    :param conv_resample: if True, use learned convolutions for upsampling and\n        downsampling.\n    :param dims: determines if the signal is 1D, 2D, or 3D.\n    :param num_classes: if specified (as an int), then this model will be\n        class-conditional with `num_classes` classes.\n    :param use_checkpoint: use gradient checkpointing to reduce memory usage.\n    :param num_heads: the number of attention heads in each attention layer.\n    :param num_heads_channels: if specified, ignore num_heads and instead use\n                               a fixed channel width per attention head.\n    :param num_heads_upsample: works with num_heads to set a different number\n                               of heads for upsampling. Deprecated.\n    :param use_scale_shift_norm: use a FiLM-like conditioning mechanism.\n    :param resblock_updown: use residual blocks for up/downsampling.\n    :param use_new_attention_order: use a different attention pattern for potentially\n                                    increased efficiency.\n    \"\"\"\n\n    def __init__(\n        self,\n        image_size,\n        in_channels,\n        model_channels,\n        out_channels,\n        num_res_blocks,\n        attention_resolutions,\n        dropout=0,\n        channel_mult=(1, 2, 4, 8),\n        conv_resample=True,\n        dims=2,\n        num_classes=None,\n        use_checkpoint=False,\n        use_fp16=False,\n        num_heads=-1,\n        num_head_channels=-1,\n        num_heads_upsample=-1,\n        use_scale_shift_norm=False,\n        resblock_updown=False,\n        use_new_attention_order=False,\n        use_spatial_transformer=False,  # custom transformer support\n        transformer_depth=1,  # custom transformer support\n        context_dim=None,  # custom transformer support\n        n_embed=None,  # custom support for prediction of discrete ids into codebook of first stage vq model\n        legacy=True,\n    ):\n        super().__init__()\n        if use_spatial_transformer:\n            assert (\n                context_dim is not None\n            ), \"Fool!! You forgot to include the dimension of your cross-attention conditioning...\"\n\n        if context_dim is not None:\n            assert (\n                use_spatial_transformer\n            ), \"Fool!! You forgot to use the spatial transformer for your cross-attention conditioning...\"\n            from omegaconf.listconfig import ListConfig\n\n            if type(context_dim) == ListConfig:\n                context_dim = list(context_dim)\n\n        if num_heads_upsample == -1:\n            num_heads_upsample = num_heads\n\n        if num_heads == -1:\n            assert (\n                num_head_channels != -1\n            ), \"Either num_heads or num_head_channels has to be set\"\n\n        if num_head_channels == -1:\n            assert (\n                num_heads != -1\n            ), \"Either num_heads or num_head_channels has to be set\"\n\n        self.image_size = image_size\n        self.in_channels = in_channels\n        self.model_channels = model_channels\n        self.out_channels = out_channels\n        self.num_res_blocks = num_res_blocks\n        self.attention_resolutions = attention_resolutions\n        self.dropout = dropout\n        self.channel_mult = channel_mult\n        self.conv_resample = conv_resample\n        self.num_classes = num_classes\n        self.use_checkpoint = use_checkpoint\n        self.dtype = th.float16 if use_fp16 else th.float32\n        self.num_heads = num_heads\n        self.num_head_channels = num_head_channels\n        self.num_heads_upsample = num_heads_upsample\n        self.predict_codebook_ids = n_embed is not None\n\n        time_embed_dim = model_channels * 4\n        self.time_embed = nn.Sequential(\n            linear(model_channels, time_embed_dim),\n            nn.SiLU(),\n            linear(time_embed_dim, time_embed_dim),\n        )\n\n        if self.num_classes is not None:\n            self.label_emb = nn.Embedding(num_classes, time_embed_dim)\n\n        self.input_blocks = nn.ModuleList(\n            [\n                TimestepEmbedSequential(\n                    conv_nd(dims, in_channels, model_channels, 3, padding=1)\n                )\n            ]\n        )\n        self._feature_size = model_channels\n        input_block_chans = [model_channels]\n        ch = model_channels\n        ds = 1\n        for level, mult in enumerate(channel_mult):\n            for _ in range(num_res_blocks):\n                layers = [\n                    ResBlock(\n                        ch,\n                        time_embed_dim,\n                        dropout,\n                        out_channels=mult * model_channels,\n                        dims=dims,\n                        use_checkpoint=use_checkpoint,\n                        use_scale_shift_norm=use_scale_shift_norm,\n                    )\n                ]\n                ch = mult * model_channels\n                if ds in attention_resolutions:\n                    if num_head_channels == -1:\n                        dim_head = ch // num_heads\n                    else:\n                        num_heads = ch // num_head_channels\n                        dim_head = num_head_channels\n                    if legacy:\n                        # num_heads = 1\n                        dim_head = (\n                            ch // num_heads\n                            if use_spatial_transformer\n                            else num_head_channels\n                        )\n                    layers.append(\n                        AttentionBlock(\n                            ch,\n                            use_checkpoint=use_checkpoint,\n                            num_heads=num_heads,\n                            num_head_channels=dim_head,\n                            use_new_attention_order=use_new_attention_order,\n                        )\n                        if not use_spatial_transformer\n                        else SpatialTransformer(\n                            ch,\n                            num_heads,\n                            dim_head,\n                            depth=transformer_depth,\n                            context_dim=context_dim,\n                        )\n                    )\n                self.input_blocks.append(TimestepEmbedSequential(*layers))\n                self._feature_size += ch\n                input_block_chans.append(ch)\n            if level != len(channel_mult) - 1:\n                out_ch = ch\n                self.input_blocks.append(\n                    TimestepEmbedSequential(\n                        ResBlock(\n                            ch,\n                            time_embed_dim,\n                            dropout,\n                            out_channels=out_ch,\n                            dims=dims,\n                            use_checkpoint=use_checkpoint,\n                            use_scale_shift_norm=use_scale_shift_norm,\n                            down=True,\n                        )\n                        if resblock_updown\n                        else Downsample(\n                            ch, conv_resample, dims=dims, out_channels=out_ch\n                        )\n                    )\n                )\n                ch = out_ch\n                input_block_chans.append(ch)\n                ds *= 2\n                self._feature_size += ch\n\n        if num_head_channels == -1:\n            dim_head = ch // num_heads\n        else:\n            num_heads = ch // num_head_channels\n            dim_head = num_head_channels\n        if legacy:\n            # num_heads = 1\n            dim_head = ch // num_heads if use_spatial_transformer else num_head_channels\n        self.middle_block = TimestepEmbedSequential(\n            ResBlock(\n                ch,\n                time_embed_dim,\n                dropout,\n                dims=dims,\n                use_checkpoint=use_checkpoint,\n                use_scale_shift_norm=use_scale_shift_norm,\n            ),\n            AttentionBlock(\n                ch,\n                use_checkpoint=use_checkpoint,\n                num_heads=num_heads,\n                num_head_channels=dim_head,\n                use_new_attention_order=use_new_attention_order,\n            )\n            if not use_spatial_transformer\n            else SpatialTransformer(\n                ch,\n                num_heads,\n                dim_head,\n                depth=transformer_depth,\n                context_dim=context_dim,\n            ),\n            ResBlock(\n                ch,\n                time_embed_dim,\n                dropout,\n                dims=dims,\n                use_checkpoint=use_checkpoint,\n                use_scale_shift_norm=use_scale_shift_norm,\n            ),\n        )\n        self._feature_size += ch\n\n        self.output_blocks = nn.ModuleList([])\n        for level, mult in list(enumerate(channel_mult))[::-1]:\n            for i in range(num_res_blocks + 1):\n                ich = input_block_chans.pop()\n                layers = [\n                    ResBlock(\n                        ch + ich,\n                        time_embed_dim,\n                        dropout,\n                        out_channels=model_channels * mult,\n                        dims=dims,\n                        use_checkpoint=use_checkpoint,\n                        use_scale_shift_norm=use_scale_shift_norm,\n                    )\n                ]\n                ch = model_channels * mult\n                if ds in attention_resolutions:\n                    if num_head_channels == -1:\n                        dim_head = ch // num_heads\n                    else:\n                        num_heads = ch // num_head_channels\n                        dim_head = num_head_channels\n                    if legacy:\n                        # num_heads = 1\n                        dim_head = (\n                            ch // num_heads\n                            if use_spatial_transformer\n                            else num_head_channels\n                        )\n                    layers.append(\n                        AttentionBlock(\n                            ch,\n                            use_checkpoint=use_checkpoint,\n                            num_heads=num_heads_upsample,\n                            num_head_channels=dim_head,\n                            use_new_attention_order=use_new_attention_order,\n                        )\n                        if not use_spatial_transformer\n                        else SpatialTransformer(\n                            ch,\n                            num_heads,\n                            dim_head,\n                            depth=transformer_depth,\n                            context_dim=context_dim,\n                        )\n                    )\n                if level and i == num_res_blocks:\n                    out_ch = ch\n                    layers.append(\n                        ResBlock(\n                            ch,\n                            time_embed_dim,\n                            dropout,\n                            out_channels=out_ch,\n                            dims=dims,\n                            use_checkpoint=use_checkpoint,\n                            use_scale_shift_norm=use_scale_shift_norm,\n                            up=True,\n                        )\n                        if resblock_updown\n                        else Upsample(ch, conv_resample, dims=dims, out_channels=out_ch)\n                    )\n                    ds //= 2\n                self.output_blocks.append(TimestepEmbedSequential(*layers))\n                self._feature_size += ch\n\n        self.out = nn.Sequential(\n            normalization(ch),\n            nn.SiLU(),\n            zero_module(conv_nd(dims, model_channels, out_channels, 3, padding=1)),\n        )\n        if self.predict_codebook_ids:\n            self.id_predictor = nn.Sequential(\n                normalization(ch),\n                conv_nd(dims, model_channels, n_embed, 1),\n                # nn.LogSoftmax(dim=1)  # change to cross_entropy and produce non-normalized logits\n            )\n\n    def convert_to_fp16(self):\n        \"\"\"\n        Convert the torso of the model to float16.\n        \"\"\"\n        self.input_blocks.apply(convert_module_to_f16)\n        self.middle_block.apply(convert_module_to_f16)\n        self.output_blocks.apply(convert_module_to_f16)\n\n    def convert_to_fp32(self):\n        \"\"\"\n        Convert the torso of the model to float32.\n        \"\"\"\n        self.input_blocks.apply(convert_module_to_f32)\n        self.middle_block.apply(convert_module_to_f32)\n        self.output_blocks.apply(convert_module_to_f32)\n\n    def forward(self, x, timesteps=None, context=None, y=None, **kwargs):\n        \"\"\"\n        Apply the model to an input batch.\n        :param x: an [N x C x ...] Tensor of inputs.\n        :param timesteps: a 1-D batch of timesteps.\n        :param context: conditioning plugged in via crossattn\n        :param y: an [N] Tensor of labels, if class-conditional.\n        :return: an [N x C x ...] Tensor of outputs.\n        \"\"\"\n        assert (y is not None) == (\n            self.num_classes is not None\n        ), \"must specify y if and only if the model is class-conditional\"\n        hs = []\n        t_emb = timestep_embedding(timesteps, self.model_channels, repeat_only=False)\n        emb = self.time_embed(t_emb)\n\n        if self.num_classes is not None:\n            assert y.shape == (x.shape[0],)\n            emb = emb + self.label_emb(y)\n\n        h = x.type(self.dtype)\n        for module in self.input_blocks:\n            h = module(h, emb, context)\n            hs.append(h)\n        h = self.middle_block(h, emb, context)\n        for module in self.output_blocks:\n            h = th.cat([h, hs.pop()], dim=1)\n            h = module(h, emb, context)\n        h = h.type(x.dtype)\n        if self.predict_codebook_ids:\n            return self.id_predictor(h)\n        else:\n            return self.out(h)\n\n\nclass EncoderUNetModel(nn.Module):\n    \"\"\"\n    The half UNet model with attention and timestep embedding.\n    For usage, see UNet.\n    \"\"\"\n\n    def __init__(\n        self,\n        image_size,\n        in_channels,\n        model_channels,\n        out_channels,\n        num_res_blocks,\n        attention_resolutions,\n        dropout=0,\n        channel_mult=(1, 2, 4, 8),\n        conv_resample=True,\n        dims=2,\n        use_checkpoint=False,\n        use_fp16=False,\n        num_heads=1,\n        num_head_channels=-1,\n        num_heads_upsample=-1,\n        use_scale_shift_norm=False,\n        resblock_updown=False,\n        use_new_attention_order=False,\n        pool=\"adaptive\",\n        *args,\n        **kwargs,\n    ):\n        super().__init__()\n\n        if num_heads_upsample == -1:\n            num_heads_upsample = num_heads\n\n        self.in_channels = in_channels\n        self.model_channels = model_channels\n        self.out_channels = out_channels\n        self.num_res_blocks = num_res_blocks\n        self.attention_resolutions = attention_resolutions\n        self.dropout = dropout\n        self.channel_mult = channel_mult\n        self.conv_resample = conv_resample\n        self.use_checkpoint = use_checkpoint\n        self.dtype = th.float16 if use_fp16 else th.float32\n        self.num_heads = num_heads\n        self.num_head_channels = num_head_channels\n        self.num_heads_upsample = num_heads_upsample\n\n        time_embed_dim = model_channels * 4\n        self.time_embed = nn.Sequential(\n            linear(model_channels, time_embed_dim),\n            nn.SiLU(),\n            linear(time_embed_dim, time_embed_dim),\n        )\n\n        self.input_blocks = nn.ModuleList(\n            [\n                TimestepEmbedSequential(\n                    conv_nd(dims, in_channels, model_channels, 3, padding=1)\n                )\n            ]\n        )\n        self._feature_size = model_channels\n        input_block_chans = [model_channels]\n        ch = model_channels\n        ds = 1\n        for level, mult in enumerate(channel_mult):\n            for _ in range(num_res_blocks):\n                layers = [\n                    ResBlock(\n                        ch,\n                        time_embed_dim,\n                        dropout,\n                        out_channels=mult * model_channels,\n                        dims=dims,\n                        use_checkpoint=use_checkpoint,\n                        use_scale_shift_norm=use_scale_shift_norm,\n                    )\n                ]\n                ch = mult * model_channels\n                if ds in attention_resolutions:\n                    layers.append(\n                        AttentionBlock(\n                            ch,\n                            use_checkpoint=use_checkpoint,\n                            num_heads=num_heads,\n                            num_head_channels=num_head_channels,\n                            use_new_attention_order=use_new_attention_order,\n                        )\n                    )\n                self.input_blocks.append(TimestepEmbedSequential(*layers))\n                self._feature_size += ch\n                input_block_chans.append(ch)\n            if level != len(channel_mult) - 1:\n                out_ch = ch\n                self.input_blocks.append(\n                    TimestepEmbedSequential(\n                        ResBlock(\n                            ch,\n                            time_embed_dim,\n                            dropout,\n                            out_channels=out_ch,\n                            dims=dims,\n                            use_checkpoint=use_checkpoint,\n                            use_scale_shift_norm=use_scale_shift_norm,\n                            down=True,\n                        )\n                        if resblock_updown\n                        else Downsample(\n                            ch, conv_resample, dims=dims, out_channels=out_ch\n                        )\n                    )\n                )\n                ch = out_ch\n                input_block_chans.append(ch)\n                ds *= 2\n                self._feature_size += ch\n\n        self.middle_block = TimestepEmbedSequential(\n            ResBlock(\n                ch,\n                time_embed_dim,\n                dropout,\n                dims=dims,\n                use_checkpoint=use_checkpoint,\n                use_scale_shift_norm=use_scale_shift_norm,\n            ),\n            AttentionBlock(\n                ch,\n                use_checkpoint=use_checkpoint,\n                num_heads=num_heads,\n                num_head_channels=num_head_channels,\n                use_new_attention_order=use_new_attention_order,\n            ),\n            ResBlock(\n                ch,\n                time_embed_dim,\n                dropout,\n                dims=dims,\n                use_checkpoint=use_checkpoint,\n                use_scale_shift_norm=use_scale_shift_norm,\n            ),\n        )\n        self._feature_size += ch\n        self.pool = pool\n        if pool == \"adaptive\":\n            self.out = nn.Sequential(\n                normalization(ch),\n                nn.SiLU(),\n                nn.AdaptiveAvgPool2d((1, 1)),\n                zero_module(conv_nd(dims, ch, out_channels, 1)),\n                nn.Flatten(),\n            )\n        elif pool == \"attention\":\n            assert num_head_channels != -1\n            self.out = nn.Sequential(\n                normalization(ch),\n                nn.SiLU(),\n                AttentionPool2d(\n                    (image_size // ds), ch, num_head_channels, out_channels\n                ),\n            )\n        elif pool == \"spatial\":\n            self.out = nn.Sequential(\n                nn.Linear(self._feature_size, 2048),\n                nn.ReLU(),\n                nn.Linear(2048, self.out_channels),\n            )\n        elif pool == \"spatial_v2\":\n            self.out = nn.Sequential(\n                nn.Linear(self._feature_size, 2048),\n                normalization(2048),\n                nn.SiLU(),\n                nn.Linear(2048, self.out_channels),\n            )\n        else:\n            raise NotImplementedError(f\"Unexpected {pool} pooling\")\n\n    def convert_to_fp16(self):\n        \"\"\"\n        Convert the torso of the model to float16.\n        \"\"\"\n        self.input_blocks.apply(convert_module_to_f16)\n        self.middle_block.apply(convert_module_to_f16)\n\n    def convert_to_fp32(self):\n        \"\"\"\n        Convert the torso of the model to float32.\n        \"\"\"\n        self.input_blocks.apply(convert_module_to_f32)\n        self.middle_block.apply(convert_module_to_f32)\n\n    def forward(self, x, timesteps):\n        \"\"\"\n        Apply the model to an input batch.\n        :param x: an [N x C x ...] Tensor of inputs.\n        :param timesteps: a 1-D batch of timesteps.\n        :return: an [N x K] Tensor of outputs.\n        \"\"\"\n        emb = self.time_embed(timestep_embedding(timesteps, self.model_channels))\n\n        results = []\n        h = x.type(self.dtype)\n        for module in self.input_blocks:\n            h = module(h, emb)\n            if self.pool.startswith(\"spatial\"):\n                results.append(h.type(x.dtype).mean(dim=(2, 3)))\n        h = self.middle_block(h, emb)\n        if self.pool.startswith(\"spatial\"):\n            results.append(h.type(x.dtype).mean(dim=(2, 3)))\n            h = th.cat(results, axis=-1)\n            return self.out(h)\n        else:\n            h = h.type(x.dtype)\n            return self.out(h)\n"
  },
  {
    "path": "ldm/modules/diffusionmodules/upscaling.py",
    "content": "import torch\nimport torch.nn as nn\nimport numpy as np\nfrom functools import partial\n\nfrom ldm.modules.diffusionmodules.util import extract_into_tensor, make_beta_schedule\nfrom ldm.util import default\n\n\nclass AbstractLowScaleModel(nn.Module):\n    # for concatenating a downsampled image to the latent representation\n    def __init__(self, noise_schedule_config=None):\n        super(AbstractLowScaleModel, self).__init__()\n        if noise_schedule_config is not None:\n            self.register_schedule(**noise_schedule_config)\n\n    def register_schedule(\n        self,\n        beta_schedule=\"linear\",\n        timesteps=1000,\n        linear_start=1e-4,\n        linear_end=2e-2,\n        cosine_s=8e-3,\n    ):\n        betas = make_beta_schedule(\n            beta_schedule,\n            timesteps,\n            linear_start=linear_start,\n            linear_end=linear_end,\n            cosine_s=cosine_s,\n        )\n        alphas = 1.0 - betas\n        alphas_cumprod = np.cumprod(alphas, axis=0)\n        alphas_cumprod_prev = np.append(1.0, alphas_cumprod[:-1])\n\n        (timesteps,) = betas.shape\n        self.num_timesteps = int(timesteps)\n        self.linear_start = linear_start\n        self.linear_end = linear_end\n        assert (\n            alphas_cumprod.shape[0] == self.num_timesteps\n        ), \"alphas have to be defined for each timestep\"\n\n        to_torch = partial(torch.tensor, dtype=torch.float32)\n\n        self.register_buffer(\"betas\", to_torch(betas))\n        self.register_buffer(\"alphas_cumprod\", to_torch(alphas_cumprod))\n        self.register_buffer(\"alphas_cumprod_prev\", to_torch(alphas_cumprod_prev))\n\n        # calculations for diffusion q(x_t | x_{t-1}) and others\n        self.register_buffer(\"sqrt_alphas_cumprod\", to_torch(np.sqrt(alphas_cumprod)))\n        self.register_buffer(\n            \"sqrt_one_minus_alphas_cumprod\", to_torch(np.sqrt(1.0 - alphas_cumprod))\n        )\n        self.register_buffer(\n            \"log_one_minus_alphas_cumprod\", to_torch(np.log(1.0 - alphas_cumprod))\n        )\n        self.register_buffer(\n            \"sqrt_recip_alphas_cumprod\", to_torch(np.sqrt(1.0 / alphas_cumprod))\n        )\n        self.register_buffer(\n            \"sqrt_recipm1_alphas_cumprod\", to_torch(np.sqrt(1.0 / alphas_cumprod - 1))\n        )\n\n    def q_sample(self, x_start, t, noise=None):\n        noise = default(noise, lambda: torch.randn_like(x_start))\n        return (\n            extract_into_tensor(self.sqrt_alphas_cumprod, t, x_start.shape) * x_start\n            + extract_into_tensor(self.sqrt_one_minus_alphas_cumprod, t, x_start.shape)\n            * noise\n        )\n\n    def forward(self, x):\n        return x, None\n\n    def decode(self, x):\n        return x\n\n\nclass SimpleImageConcat(AbstractLowScaleModel):\n    # no noise level conditioning\n    def __init__(self):\n        super(SimpleImageConcat, self).__init__(noise_schedule_config=None)\n        self.max_noise_level = 0\n\n    def forward(self, x):\n        # fix to constant noise level\n        return x, torch.zeros(x.shape[0], device=x.device).long()\n\n\nclass ImageConcatWithNoiseAugmentation(AbstractLowScaleModel):\n    def __init__(self, noise_schedule_config, max_noise_level=1000, to_cuda=False):\n        super().__init__(noise_schedule_config=noise_schedule_config)\n        self.max_noise_level = max_noise_level\n\n    def forward(self, x, noise_level=None):\n        if noise_level is None:\n            noise_level = torch.randint(\n                0, self.max_noise_level, (x.shape[0],), device=x.device\n            ).long()\n        else:\n            assert isinstance(noise_level, torch.Tensor)\n        z = self.q_sample(x, noise_level)\n        return z, noise_level\n"
  },
  {
    "path": "ldm/modules/diffusionmodules/util.py",
    "content": "# adopted from\n# https://github.com/openai/improved-diffusion/blob/main/improved_diffusion/gaussian_diffusion.py\n# and\n# https://github.com/lucidrains/denoising-diffusion-pytorch/blob/7706bdfc6f527f58d33f84b7b522e61e6e3164b3/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py\n# and\n# https://github.com/openai/guided-diffusion/blob/0ba878e517b276c45d1195eb29f6f5f72659a05b/guided_diffusion/nn.py\n#\n# thanks!\n\n\nimport math\nimport torch\nimport torch.nn as nn\nimport numpy as np\nfrom einops import repeat\n\nfrom ldm.util import instantiate_from_config\n\n\ndef make_beta_schedule(\n    schedule, n_timestep, linear_start=1e-4, linear_end=2e-2, cosine_s=8e-3\n):\n    if schedule == \"linear\":\n        betas = (\n            torch.linspace(\n                linear_start**0.5, linear_end**0.5, n_timestep, dtype=torch.float64\n            )\n            ** 2\n        )\n\n    elif schedule == \"cosine\":\n        timesteps = (\n            torch.arange(n_timestep + 1, dtype=torch.float64) / n_timestep + cosine_s\n        )\n        alphas = timesteps / (1 + cosine_s) * np.pi / 2\n        alphas = torch.cos(alphas).pow(2)\n        alphas = alphas / alphas[0]\n        betas = 1 - alphas[1:] / alphas[:-1]\n        betas = np.clip(betas, a_min=0, a_max=0.999)\n\n    elif schedule == \"sqrt_linear\":\n        betas = torch.linspace(\n            linear_start, linear_end, n_timestep, dtype=torch.float64\n        )\n    elif schedule == \"sqrt\":\n        betas = (\n            torch.linspace(linear_start, linear_end, n_timestep, dtype=torch.float64)\n            ** 0.5\n        )\n    else:\n        raise ValueError(f\"schedule '{schedule}' unknown.\")\n    return betas.numpy()\n\n\ndef make_ddim_timesteps(\n    ddim_discr_method, num_ddim_timesteps, num_ddpm_timesteps, verbose=True\n):\n    if ddim_discr_method == \"uniform\":\n        c = num_ddpm_timesteps // num_ddim_timesteps\n        ddim_timesteps = np.asarray(list(range(0, num_ddpm_timesteps, c)))\n    elif ddim_discr_method == \"quad\":\n        ddim_timesteps = (\n            (np.linspace(0, np.sqrt(num_ddpm_timesteps * 0.8), num_ddim_timesteps)) ** 2\n        ).astype(int)\n    else:\n        raise NotImplementedError(\n            f'There is no ddim discretization method called \"{ddim_discr_method}\"'\n        )\n\n    # assert ddim_timesteps.shape[0] == num_ddim_timesteps\n    # add one to get the final alpha values right (the ones from first scale to data during sampling)\n    # steps_out = ddim_timesteps + 1 # removed due to some issues when reaching 1000\n    steps_out = np.where(ddim_timesteps != 999, ddim_timesteps + 1, ddim_timesteps)\n    if verbose:\n        print(f\"Selected timesteps for ddim sampler: {steps_out}\")\n    return steps_out\n\n\ndef make_ddim_sampling_parameters(alphacums, ddim_timesteps, eta, verbose=True):\n    # select alphas for computing the variance schedule\n    alphas = alphacums[ddim_timesteps]\n    alphas_prev = np.asarray([alphacums[0]] + alphacums[ddim_timesteps[:-1]].tolist())\n\n    # according the the formula provided in https://arxiv.org/abs/2010.02502\n    sigmas = eta * np.sqrt(\n        (1 - alphas_prev) / (1 - alphas) * (1 - alphas / alphas_prev)\n    )\n    if verbose:\n        print(\n            f\"Selected alphas for ddim sampler: a_t: {alphas}; a_(t-1): {alphas_prev}\"\n        )\n        print(\n            f\"For the chosen value of eta, which is {eta}, \"\n            f\"this results in the following sigma_t schedule for ddim sampler {sigmas}\"\n        )\n    return sigmas, alphas, alphas_prev\n\n\ndef betas_for_alpha_bar(num_diffusion_timesteps, alpha_bar, max_beta=0.999):\n    \"\"\"\n    Create a beta schedule that discretizes the given alpha_t_bar function,\n    which defines the cumulative product of (1-beta) over time from t = [0,1].\n    :param num_diffusion_timesteps: the number of betas to produce.\n    :param alpha_bar: a lambda that takes an argument t from 0 to 1 and\n                      produces the cumulative product of (1-beta) up to that\n                      part of the diffusion process.\n    :param max_beta: the maximum beta to use; use values lower than 1 to\n                     prevent singularities.\n    \"\"\"\n    betas = []\n    for i in range(num_diffusion_timesteps):\n        t1 = i / num_diffusion_timesteps\n        t2 = (i + 1) / num_diffusion_timesteps\n        betas.append(min(1 - alpha_bar(t2) / alpha_bar(t1), max_beta))\n    return np.array(betas)\n\n\ndef extract_into_tensor(a, t, x_shape):\n    b, *_ = t.shape\n    out = a.gather(-1, t)\n    return out.reshape(b, *((1,) * (len(x_shape) - 1)))\n\n\ndef checkpoint(func, inputs, params, flag):\n    \"\"\"\n    Evaluate a function without caching intermediate activations, allowing for\n    reduced memory at the expense of extra compute in the backward pass.\n    :param func: the function to evaluate.\n    :param inputs: the argument sequence to pass to `func`.\n    :param params: a sequence of parameters `func` depends on but does not\n                   explicitly take as arguments.\n    :param flag: if False, disable gradient checkpointing.\n    \"\"\"\n    if flag:\n        args = tuple(inputs) + tuple(params)\n        return CheckpointFunction.apply(func, len(inputs), *args)\n    else:\n        return func(*inputs)\n\n\nclass CheckpointFunction(torch.autograd.Function):\n    @staticmethod\n    def forward(ctx, run_function, length, *args):\n        ctx.run_function = run_function\n        ctx.input_tensors = list(args[:length])\n        ctx.input_params = list(args[length:])\n\n        with torch.no_grad():\n            output_tensors = ctx.run_function(*ctx.input_tensors)\n        return output_tensors\n\n    @staticmethod\n    def backward(ctx, *output_grads):\n        ctx.input_tensors = [x.detach().requires_grad_(True) for x in ctx.input_tensors]\n        with torch.enable_grad():\n            # Fixes a bug where the first op in run_function modifies the\n            # Tensor storage in place, which is not allowed for detach()'d\n            # Tensors.\n            shallow_copies = [x.view_as(x) for x in ctx.input_tensors]\n            output_tensors = ctx.run_function(*shallow_copies)\n        input_grads = torch.autograd.grad(\n            output_tensors,\n            ctx.input_tensors + ctx.input_params,\n            output_grads,\n            allow_unused=True,\n        )\n        del ctx.input_tensors\n        del ctx.input_params\n        del output_tensors\n        return (None, None) + input_grads\n\n\ndef timestep_embedding(timesteps, dim, max_period=10000, repeat_only=False):\n    \"\"\"\n    Create sinusoidal timestep embeddings.\n    :param timesteps: a 1-D Tensor of N indices, one per batch element.\n                      These may be fractional.\n    :param dim: the dimension of the output.\n    :param max_period: controls the minimum frequency of the embeddings.\n    :return: an [N x dim] Tensor of positional embeddings.\n    \"\"\"\n    if not repeat_only:\n        half = dim // 2\n        freqs = torch.exp(\n            -math.log(max_period)\n            * torch.arange(start=0, end=half, dtype=torch.float32)\n            / half\n        ).to(device=timesteps.device)\n        args = timesteps[:, None].float() * freqs[None]\n        embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1)\n        if dim % 2:\n            embedding = torch.cat(\n                [embedding, torch.zeros_like(embedding[:, :1])], dim=-1\n            )\n    else:\n        embedding = repeat(timesteps, \"b -> b d\", d=dim)\n    return embedding\n\n\ndef zero_module(module):\n    \"\"\"\n    Zero out the parameters of a module and return it.\n    \"\"\"\n    for p in module.parameters():\n        p.detach().zero_()\n    return module\n\n\ndef scale_module(module, scale):\n    \"\"\"\n    Scale the parameters of a module and return it.\n    \"\"\"\n    for p in module.parameters():\n        p.detach().mul_(scale)\n    return module\n\n\ndef mean_flat(tensor):\n    \"\"\"\n    Take the mean over all non-batch dimensions.\n    \"\"\"\n    return tensor.mean(dim=list(range(1, len(tensor.shape))))\n\n\ndef normalization(channels):\n    \"\"\"\n    Make a standard normalization layer.\n    :param channels: number of input channels.\n    :return: an nn.Module for normalization.\n    \"\"\"\n    return GroupNorm32(32, channels)\n\n\n# PyTorch 1.7 has SiLU, but we support PyTorch 1.5.\nclass SiLU(nn.Module):\n    def forward(self, x):\n        return x * torch.sigmoid(x)\n\n\nclass GroupNorm32(nn.GroupNorm):\n    def forward(self, x):\n        return super().forward(x.float()).type(x.dtype)\n\n\ndef conv_nd(dims, *args, **kwargs):\n    \"\"\"\n    Create a 1D, 2D, or 3D convolution module.\n    \"\"\"\n    if dims == 1:\n        return nn.Conv1d(*args, **kwargs)\n    elif dims == 2:\n        return nn.Conv2d(*args, **kwargs)\n    elif dims == 3:\n        return nn.Conv3d(*args, **kwargs)\n    raise ValueError(f\"unsupported dimensions: {dims}\")\n\n\ndef linear(*args, **kwargs):\n    \"\"\"\n    Create a linear module.\n    \"\"\"\n    return nn.Linear(*args, **kwargs)\n\n\ndef avg_pool_nd(dims, *args, **kwargs):\n    \"\"\"\n    Create a 1D, 2D, or 3D average pooling module.\n    \"\"\"\n    if dims == 1:\n        return nn.AvgPool1d(*args, **kwargs)\n    elif dims == 2:\n        return nn.AvgPool2d(*args, **kwargs)\n    elif dims == 3:\n        return nn.AvgPool3d(*args, **kwargs)\n    raise ValueError(f\"unsupported dimensions: {dims}\")\n\n\nclass HybridConditioner(nn.Module):\n    def __init__(self, c_concat_config, c_crossattn_config):\n        super().__init__()\n        self.concat_conditioner = instantiate_from_config(c_concat_config)\n        self.crossattn_conditioner = instantiate_from_config(c_crossattn_config)\n\n    def forward(self, c_concat, c_crossattn):\n        c_concat = self.concat_conditioner(c_concat)\n        c_crossattn = self.crossattn_conditioner(c_crossattn)\n        return {\"c_concat\": [c_concat], \"c_crossattn\": [c_crossattn]}\n\n\ndef noise_like(shape, device, repeat=False):\n    def repeat_noise():\n        return torch.randn((1, *shape[1:]), device=device).repeat(\n            shape[0], *((1,) * (len(shape) - 1))\n        )\n\n    def noise():\n        return torch.randn(shape, device=device)\n\n    return repeat_noise() if repeat else noise()\n"
  },
  {
    "path": "ldm/modules/distributions/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/modules/distributions/distributions.py",
    "content": "import torch\nimport numpy as np\n\n\nclass AbstractDistribution:\n    def sample(self):\n        raise NotImplementedError()\n\n    def mode(self):\n        raise NotImplementedError()\n\n\nclass DiracDistribution(AbstractDistribution):\n    def __init__(self, value):\n        self.value = value\n\n    def sample(self):\n        return self.value\n\n    def mode(self):\n        return self.value\n\n\nclass DiagonalGaussianDistribution(object):\n    def __init__(self, parameters, deterministic=False):\n        self.parameters = parameters\n        self.mean, self.logvar = torch.chunk(parameters, 2, dim=1)\n        self.logvar = torch.clamp(self.logvar, -30.0, 20.0)\n        self.deterministic = deterministic\n        self.std = torch.exp(0.5 * self.logvar)\n        self.var = torch.exp(self.logvar)\n        if self.deterministic:\n            self.var = self.std = torch.zeros_like(self.mean).to(\n                device=self.parameters.device\n            )\n\n    def sample(self):\n        x = self.mean + self.std * torch.randn(self.mean.shape).to(\n            device=self.parameters.device\n        )\n        return x\n\n    def kl(self, other=None):\n        if self.deterministic:\n            return torch.Tensor([0.0])\n        else:\n            if other is None:\n                return 0.5 * torch.sum(\n                    torch.pow(self.mean, 2) + self.var - 1.0 - self.logvar,\n                    dim=[1, 2, 3],\n                )\n            else:\n                return 0.5 * torch.sum(\n                    torch.pow(self.mean - other.mean, 2) / other.var\n                    + self.var / other.var\n                    - 1.0\n                    - self.logvar\n                    + other.logvar,\n                    dim=[1, 2, 3],\n                )\n\n    def nll(self, sample, dims=[1, 2, 3]):\n        if self.deterministic:\n            return torch.Tensor([0.0])\n        logtwopi = np.log(2.0 * np.pi)\n        return 0.5 * torch.sum(\n            logtwopi + self.logvar + torch.pow(sample - self.mean, 2) / self.var,\n            dim=dims,\n        )\n\n    def mode(self):\n        return self.mean\n\n\ndef normal_kl(mean1, logvar1, mean2, logvar2):\n    \"\"\"\n    source: https://github.com/openai/guided-diffusion/blob/27c20a8fab9cb472df5d6bdd6c8d11c8f430b924/guided_diffusion/losses.py#L12\n    Compute the KL divergence between two gaussians.\n    Shapes are automatically broadcasted, so batches can be compared to\n    scalars, among other use cases.\n    \"\"\"\n    tensor = None\n    for obj in (mean1, logvar1, mean2, logvar2):\n        if isinstance(obj, torch.Tensor):\n            tensor = obj\n            break\n    assert tensor is not None, \"at least one argument must be a Tensor\"\n\n    # Force variances to be Tensors. Broadcasting helps convert scalars to\n    # Tensors, but it does not work for torch.exp().\n    logvar1, logvar2 = [\n        x if isinstance(x, torch.Tensor) else torch.tensor(x).to(tensor)\n        for x in (logvar1, logvar2)\n    ]\n\n    return 0.5 * (\n        -1.0\n        + logvar2\n        - logvar1\n        + torch.exp(logvar1 - logvar2)\n        + ((mean1 - mean2) ** 2) * torch.exp(-logvar2)\n    )\n"
  },
  {
    "path": "ldm/modules/ema.py",
    "content": "import torch\nfrom torch import nn\n\n\nclass LitEma(nn.Module):\n    def __init__(self, model, decay=0.9999, use_num_upates=True):\n        super().__init__()\n        if decay < 0.0 or decay > 1.0:\n            raise ValueError(\"Decay must be between 0 and 1\")\n\n        self.m_name2s_name = {}\n        self.register_buffer(\"decay\", torch.tensor(decay, dtype=torch.float32))\n        self.register_buffer(\n            \"num_updates\",\n            torch.tensor(0, dtype=torch.int)\n            if use_num_upates\n            else torch.tensor(-1, dtype=torch.int),\n        )\n\n        for name, p in model.named_parameters():\n            if p.requires_grad:\n                # remove as '.'-character is not allowed in buffers\n                s_name = name.replace(\".\", \"\")\n                self.m_name2s_name.update({name: s_name})\n                self.register_buffer(s_name, p.clone().detach().data)\n\n        self.collected_params = []\n\n    def forward(self, model):\n        decay = self.decay\n\n        if self.num_updates >= 0:\n            self.num_updates += 1\n            decay = min(self.decay, (1 + self.num_updates) / (10 + self.num_updates))\n\n        one_minus_decay = 1.0 - decay\n\n        with torch.no_grad():\n            m_param = dict(model.named_parameters())\n            shadow_params = dict(self.named_buffers())\n\n            for key in m_param:\n                if m_param[key].requires_grad:\n                    sname = self.m_name2s_name[key]\n                    shadow_params[sname] = shadow_params[sname].type_as(m_param[key])\n                    shadow_params[sname].sub_(\n                        one_minus_decay * (shadow_params[sname] - m_param[key])\n                    )\n                else:\n                    assert key not in self.m_name2s_name\n\n    def copy_to(self, model):\n        m_param = dict(model.named_parameters())\n        shadow_params = dict(self.named_buffers())\n        for key in m_param:\n            if m_param[key].requires_grad:\n                m_param[key].data.copy_(shadow_params[self.m_name2s_name[key]].data)\n            else:\n                assert key not in self.m_name2s_name\n\n    def store(self, parameters):\n        \"\"\"\n        Save the current parameters for restoring later.\n        Args:\n          parameters: Iterable of `torch.nn.Parameter`; the parameters to be\n            temporarily stored.\n        \"\"\"\n        self.collected_params = [param.clone() for param in parameters]\n\n    def restore(self, parameters):\n        \"\"\"\n        Restore the parameters stored with the `store` method.\n        Useful to validate the model with EMA parameters without affecting the\n        original optimization process. Store the parameters before the\n        `copy_to` method. After validation (or model saving), use this to\n        restore the former parameters.\n        Args:\n          parameters: Iterable of `torch.nn.Parameter`; the parameters to be\n            updated with the stored parameters.\n        \"\"\"\n        for c_param, param in zip(self.collected_params, parameters):\n            param.data.copy_(c_param.data)\n"
  },
  {
    "path": "ldm/modules/embedding_manager.py",
    "content": "import torch\nfrom torch import nn\n\n\nfrom ldm.data.personalized import per_img_token_list\nfrom functools import partial\n\nDEFAULT_PLACEHOLDER_TOKEN = [\"*\"]\n\nPROGRESSIVE_SCALE = 2000\n\n\ndef get_clip_token_for_string(tokenizer, string):\n    batch_encoding = tokenizer(\n        string,\n        truncation=True,\n        max_length=77,\n        return_length=True,\n        return_overflowing_tokens=False,\n        padding=\"max_length\",\n        return_tensors=\"pt\",\n    )\n    tokens = batch_encoding[\"input_ids\"]\n    \"\"\" assert (\n        torch.count_nonzero(tokens - 49407) == 2\n    ), f\"String '{string}' maps to more than a single token. Please use another string\" \"\"\"\n\n    return tokens[0, 1]\n\n\ndef get_bert_token_for_string(tokenizer, string):\n    token = tokenizer(string)\n    # assert torch.count_nonzero(token) == 3, f\"String '{string}' maps to more than a single token. Please use another string\"\n\n    token = token[0, 1]\n\n    return token\n\n\ndef get_embedding_for_clip_token(embedder, token):\n    return embedder(token.unsqueeze(0))[0, 0]\n\n\nclass EmbeddingManager(nn.Module):\n    def __init__(\n        self,\n        embedder,\n        placeholder_strings=None,\n        initializer_words=None,\n        per_image_tokens=False,\n        num_vectors_per_token=1,\n        progressive_words=False,\n        **kwargs,\n    ):\n        super().__init__()\n\n        self.embedder = embedder\n        device = embedder.device\n\n        self.string_to_token_dict = {}\n        self.string_to_param_dict = nn.ParameterDict()\n\n        self.initial_embeddings = nn.ParameterDict()  # These should not be optimized\n\n        self.progressive_words = progressive_words\n        self.progressive_counter = 0\n\n        self.max_vectors_per_token = num_vectors_per_token\n\n        if hasattr(embedder, \"tokenizer\"):  # using Stable Diffusion's CLIP encoder\n            self.is_clip = True\n            get_token_for_string = partial(\n                get_clip_token_for_string, embedder.tokenizer\n            )\n            get_embedding_for_tkn = partial(\n                get_embedding_for_clip_token,\n                embedder.transformer.text_model.embeddings,\n            )\n            # per bug report #572\n            # token_dim = 1280\n            token_dim = 768\n        else:  # using LDM's BERT encoder\n            self.is_clip = False\n            get_token_for_string = partial(get_bert_token_for_string, embedder.tknz_fn)\n            get_embedding_for_tkn = embedder.transformer.token_emb\n            token_dim = 1280\n\n        if per_image_tokens:\n            placeholder_strings.extend(per_img_token_list)\n\n        for idx, placeholder_string in enumerate(placeholder_strings):\n            token = get_token_for_string(placeholder_string)\n\n            if initializer_words and idx < len(initializer_words):\n                init_word_token = get_token_for_string(initializer_words[idx])\n\n                with torch.no_grad():\n                    init_word_embedding = get_embedding_for_tkn(\n                        init_word_token.to(device)\n                    )\n\n                token_params = torch.nn.Parameter(\n                    init_word_embedding.unsqueeze(0).repeat(num_vectors_per_token, 1),\n                    requires_grad=True,\n                )\n                self.initial_embeddings[placeholder_string] = torch.nn.Parameter(\n                    init_word_embedding.unsqueeze(0).repeat(num_vectors_per_token, 1),\n                    requires_grad=False,\n                )\n            else:\n                token_params = torch.nn.Parameter(\n                    torch.rand(\n                        size=(num_vectors_per_token, token_dim),\n                        requires_grad=True,\n                    )\n                )\n\n            self.string_to_token_dict[placeholder_string] = token\n            self.string_to_param_dict[placeholder_string] = token_params\n\n    def forward(\n        self,\n        tokenized_text,\n        embedded_text,\n    ):\n        b, n, device = *tokenized_text.shape, tokenized_text.device\n\n        for (\n            placeholder_string,\n            placeholder_token,\n        ) in self.string_to_token_dict.items():\n            placeholder_embedding = self.string_to_param_dict[placeholder_string].to(\n                device\n            )\n\n            if (\n                self.max_vectors_per_token == 1\n            ):  # If there's only one vector per token, we can do a simple replacement\n                placeholder_idx = torch.where(\n                    tokenized_text == placeholder_token.to(device)\n                )\n                embedded_text[placeholder_idx] = placeholder_embedding\n            else:  # otherwise, need to insert and keep track of changing indices\n                if self.progressive_words:\n                    self.progressive_counter += 1\n                    max_step_tokens = 1 + self.progressive_counter // PROGRESSIVE_SCALE\n                else:\n                    max_step_tokens = self.max_vectors_per_token\n\n                num_vectors_for_token = min(\n                    placeholder_embedding.shape[0], max_step_tokens\n                )\n\n                placeholder_rows, placeholder_cols = torch.where(\n                    tokenized_text == placeholder_token.to(device)\n                )\n\n                if placeholder_rows.nelement() == 0:\n                    continue\n\n                sorted_cols, sort_idx = torch.sort(placeholder_cols, descending=True)\n                sorted_rows = placeholder_rows[sort_idx]\n\n                for idx in range(len(sorted_rows)):\n                    row = sorted_rows[idx]\n                    col = sorted_cols[idx]\n\n                    new_token_row = torch.cat(\n                        [\n                            tokenized_text[row][:col],\n                            placeholder_token.repeat(num_vectors_for_token).to(device),\n                            tokenized_text[row][col + 1 :],\n                        ],\n                        axis=0,\n                    )[:n]\n                    new_embed_row = torch.cat(\n                        [\n                            embedded_text[row][:col],\n                            placeholder_embedding[:num_vectors_for_token],\n                            embedded_text[row][col + 1 :],\n                        ],\n                        axis=0,\n                    )[:n]\n\n                    embedded_text[row] = new_embed_row\n                    tokenized_text[row] = new_token_row\n\n        return embedded_text\n\n    def save(self, ckpt_path):\n        torch.save(\n            {\n                \"string_to_token\": self.string_to_token_dict,\n                \"string_to_param\": self.string_to_param_dict,\n            },\n            ckpt_path,\n        )\n\n    def load(self, ckpt_path, full=True):\n        ckpt = torch.load(ckpt_path, map_location=\"cpu\")\n\n        # Handle .pt textual inversion files\n        if \"string_to_token\" in ckpt and \"string_to_param\" in ckpt:\n            self.string_to_token_dict = ckpt[\"string_to_token\"]\n            self.string_to_param_dict = ckpt[\"string_to_param\"]\n\n        # Handle .bin textual inversion files from Huggingface Concepts\n        # https://huggingface.co/sd-concepts-library\n        else:\n            for token_str in list(ckpt.keys()):\n                token = get_clip_token_for_string(self.embedder.tokenizer, token_str)\n                self.string_to_token_dict[token_str] = token\n                ckpt[token_str] = torch.nn.Parameter(ckpt[token_str])\n\n            self.string_to_param_dict.update(ckpt)\n\n        if not full:\n            for key, value in self.string_to_param_dict.items():\n                self.string_to_param_dict[key] = torch.nn.Parameter(value.half())\n\n    def get_embedding_norms_squared(self):\n        all_params = torch.cat(\n            list(self.string_to_param_dict.values()), axis=0\n        )  # num_placeholders x embedding_dim\n        param_norm_squared = (all_params * all_params).sum(axis=-1)  # num_placeholders\n\n        return param_norm_squared\n\n    def embedding_parameters(self):\n        return self.string_to_param_dict.parameters()\n\n    def embedding_to_coarse_loss(self):\n        loss = 0.0\n        num_embeddings = len(self.initial_embeddings)\n\n        for key in self.initial_embeddings:\n            optimized = self.string_to_param_dict[key]\n            coarse = self.initial_embeddings[key].clone().to(optimized.device)\n\n            loss = loss + (optimized - coarse) @ (optimized - coarse).T / num_embeddings\n\n        return loss\n"
  },
  {
    "path": "ldm/modules/encoders/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/modules/encoders/modules.py",
    "content": "import torch\nimport torch.nn as nn\nfrom functools import partial\nimport clip\nfrom einops import repeat\nfrom transformers import CLIPTokenizer, CLIPTextModel\nimport kornia\nimport os\nfrom ldm.modules.x_transformer import (\n    Encoder,\n    TransformerWrapper,\n)  # TODO: can we directly rely on lucidrains code and simply add this as a reuirement? --> test\n\n\nclass AbstractEncoder(nn.Module):\n    def __init__(self):\n        super().__init__()\n\n    def encode(self, *args, **kwargs):\n        raise NotImplementedError\n\n\nclass ClassEmbedder(nn.Module):\n    def __init__(self, embed_dim, n_classes=1000, key=\"class\"):\n        super().__init__()\n        self.key = key\n        self.embedding = nn.Embedding(n_classes, embed_dim)\n\n    def forward(self, batch, key=None):\n        if key is None:\n            key = self.key\n        # this is for use in crossattn\n        c = batch[key][:, None]\n        c = self.embedding(c)\n        return c\n\n\nclass TransformerEmbedder(AbstractEncoder):\n    \"\"\"Some transformer encoder layers\"\"\"\n\n    def __init__(self, n_embed, n_layer, vocab_size, max_seq_len=77, device=\"cuda\"):\n        super().__init__()\n        self.device = device\n        self.transformer = TransformerWrapper(\n            num_tokens=vocab_size,\n            max_seq_len=max_seq_len,\n            attn_layers=Encoder(dim=n_embed, depth=n_layer),\n        )\n\n    def forward(self, tokens):\n        tokens = tokens.to(self.device)  # meh\n        z = self.transformer(tokens, return_embeddings=True)\n        return z\n\n    def encode(self, x):\n        return self(x)\n\n\nclass BERTTokenizer(AbstractEncoder):\n    \"\"\"Uses a pretrained BERT tokenizer by huggingface. Vocab size: 30522 (?)\"\"\"\n\n    def __init__(self, device=\"cuda\", vq_interface=True, max_length=77):\n        super().__init__()\n        from transformers import BertTokenizerFast  # TODO: add to reuquirements\n\n        self.tokenizer = BertTokenizerFast.from_pretrained(\"bert-base-uncased\")\n        self.device = device\n        self.vq_interface = vq_interface\n        self.max_length = max_length\n\n    def forward(self, text):\n        batch_encoding = self.tokenizer(\n            text,\n            truncation=True,\n            max_length=self.max_length,\n            return_length=True,\n            return_overflowing_tokens=False,\n            padding=\"max_length\",\n            return_tensors=\"pt\",\n        )\n        tokens = batch_encoding[\"input_ids\"].to(self.device)\n        return tokens\n\n    @torch.no_grad()\n    def encode(self, text):\n        tokens = self(text)\n        if not self.vq_interface:\n            return tokens\n        return None, None, [None, None, tokens]\n\n    def decode(self, text):\n        return text\n\n\nclass BERTEmbedder(AbstractEncoder):\n    \"\"\"Uses the BERT tokenizr model and add some transformer encoder layers\"\"\"\n\n    def __init__(\n        self,\n        n_embed,\n        n_layer,\n        vocab_size=30522,\n        max_seq_len=77,\n        device=\"cuda\",\n        use_tokenizer=True,\n        embedding_dropout=0.0,\n    ):\n        super().__init__()\n        self.use_tknz_fn = use_tokenizer\n        if self.use_tknz_fn:\n            self.tknz_fn = BERTTokenizer(vq_interface=False, max_length=max_seq_len)\n        self.device = device\n        self.transformer = TransformerWrapper(\n            num_tokens=vocab_size,\n            max_seq_len=max_seq_len,\n            attn_layers=Encoder(dim=n_embed, depth=n_layer),\n            emb_dropout=embedding_dropout,\n        )\n\n    def forward(self, text):\n        if self.use_tknz_fn:\n            tokens = self.tknz_fn(text)  # .to(self.device)\n        else:\n            tokens = text\n        z = self.transformer(tokens, return_embeddings=True)\n        return z\n\n    def encode(self, text):\n        # output of length 77\n        return self(text)\n\n\nclass SpatialRescaler(nn.Module):\n    def __init__(\n        self,\n        n_stages=1,\n        method=\"bilinear\",\n        multiplier=0.5,\n        in_channels=3,\n        out_channels=None,\n        bias=False,\n    ):\n        super().__init__()\n        self.n_stages = n_stages\n        assert self.n_stages >= 0\n        assert method in [\n            \"nearest\",\n            \"linear\",\n            \"bilinear\",\n            \"trilinear\",\n            \"bicubic\",\n            \"area\",\n        ]\n        self.multiplier = multiplier\n        self.interpolator = partial(torch.nn.functional.interpolate, mode=method)\n        self.remap_output = out_channels is not None\n        if self.remap_output:\n            print(\n                f\"Spatial Rescaler mapping from {in_channels} to {out_channels} channels after resizing.\"\n            )\n            self.channel_mapper = nn.Conv2d(in_channels, out_channels, 1, bias=bias)\n\n    def forward(self, x):\n        for stage in range(self.n_stages):\n            x = self.interpolator(x, scale_factor=self.multiplier)\n\n        if self.remap_output:\n            x = self.channel_mapper(x)\n        return x\n\n    def encode(self, x):\n        return self(x)\n\n\nclass FrozenCLIPEmbedder(AbstractEncoder):\n    \"\"\"Uses the CLIP transformer encoder for text (from Hugging Face)\"\"\"\n\n    def __init__(\n        self, version=\"openai/clip-vit-large-patch14\", device=\"cuda\", max_length=77\n    ):\n        super().__init__()\n        if os.path.exists(\"models/clip-vit-large-patch14\"):\n            self.tokenizer = CLIPTokenizer.from_pretrained(\n                \"models/clip-vit-large-patch14\"\n            )\n            self.transformer = CLIPTextModel.from_pretrained(\n                \"models/clip-vit-large-patch14\"\n            )\n        else:\n            self.tokenizer = CLIPTokenizer.from_pretrained(version)\n            self.transformer = CLIPTextModel.from_pretrained(version)\n        self.device = device\n        self.max_length = max_length\n        self.freeze()\n\n    def freeze(self):\n        self.transformer = self.transformer.eval()\n        for param in self.parameters():\n            param.requires_grad = False\n\n    def forward(self, text):\n        batch_encoding = self.tokenizer(\n            text,\n            truncation=True,\n            max_length=self.max_length,\n            return_length=True,\n            return_overflowing_tokens=False,\n            padding=\"max_length\",\n            return_tensors=\"pt\",\n        )\n        tokens = batch_encoding[\"input_ids\"].to(self.device)\n        outputs = self.transformer(input_ids=tokens)\n\n        z = outputs.last_hidden_state\n        return z\n\n    def encode(self, text):\n        return self(text)\n\n\nclass FrozenCLIPTextEmbedder(nn.Module):\n    \"\"\"\n    Uses the CLIP transformer encoder for text.\n    \"\"\"\n\n    def __init__(\n        self,\n        version=\"ViT-L/14\",\n        device=\"cuda\",\n        max_length=77,\n        n_repeat=1,\n        normalize=True,\n    ):\n        super().__init__()\n        self.model, _ = clip.load(version, jit=False, device=\"cpu\")\n        self.device = device\n        self.max_length = max_length\n        self.n_repeat = n_repeat\n        self.normalize = normalize\n\n    def freeze(self):\n        self.model = self.model.eval()\n        for param in self.parameters():\n            param.requires_grad = False\n\n    def forward(self, text):\n        tokens = clip.tokenize(text).to(self.device)\n        z = self.model.encode_text(tokens)\n        if self.normalize:\n            z = z / torch.linalg.norm(z, dim=1, keepdim=True)\n        return z\n\n    def encode(self, text):\n        z = self(text)\n        if z.ndim == 2:\n            z = z[:, None, :]\n        z = repeat(z, \"b 1 d -> b k d\", k=self.n_repeat)\n        return z\n\n\nclass FrozenClipImageEmbedder(nn.Module):\n    \"\"\"\n    Uses the CLIP image encoder.\n    \"\"\"\n\n    def __init__(\n        self,\n        model,\n        jit=False,\n        device=\"cuda\" if torch.cuda.is_available() else \"cpu\",\n        antialias=False,\n    ):\n        super().__init__()\n        self.model, _ = clip.load(name=model, device=device, jit=jit)\n\n        self.antialias = antialias\n\n        self.register_buffer(\n            \"mean\", torch.Tensor([0.48145466, 0.4578275, 0.40821073]), persistent=False\n        )\n        self.register_buffer(\n            \"std\", torch.Tensor([0.26862954, 0.26130258, 0.27577711]), persistent=False\n        )\n\n    def preprocess(self, x):\n        # normalize to [0,1]\n        x = kornia.geometry.resize(\n            x,\n            (224, 224),\n            interpolation=\"bicubic\",\n            align_corners=True,\n            antialias=self.antialias,\n        )\n        x = (x + 1.0) / 2.0\n        # renormalize according to clip\n        x = kornia.enhance.normalize(x, self.mean, self.std)\n        return x\n\n    def forward(self, x):\n        # x is assumed to be in range [-1,1]\n        return self.model.encode_image(self.preprocess(x))\n\n\nif __name__ == \"__main__\":\n    from ldm.util import count_params\n\n    model = FrozenCLIPEmbedder()\n    count_params(model, verbose=True)\n"
  },
  {
    "path": "ldm/modules/image_degradation/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/modules/image_degradation/bsrgan.py",
    "content": "# -*- coding: utf-8 -*-\n\"\"\"\n# --------------------------------------------\n# Super-Resolution\n# --------------------------------------------\n#\n# Kai Zhang (cskaizhang@gmail.com)\n# https://github.com/cszn\n# From 2019/03--2021/08\n# --------------------------------------------\n\"\"\"\n\nimport numpy as np\nimport cv2\nimport torch\n\nfrom functools import partial\nimport random\nfrom scipy import ndimage\nimport scipy\nimport scipy.stats as ss\nfrom scipy.interpolate import interp2d\nfrom scipy.linalg import orth\nimport albumentations\n\nimport ldm.modules.image_degradation.utils_image as util\n\n\ndef modcrop_np(img, sf):\n    \"\"\"\n    Args:\n        img: numpy image, WxH or WxHxC\n        sf: scale factor\n    Return:\n        cropped image\n    \"\"\"\n    w, h = img.shape[:2]\n    im = np.copy(img)\n    return im[: w - w % sf, : h - h % sf, ...]\n\n\n\"\"\"\n# --------------------------------------------\n# anisotropic Gaussian kernels\n# --------------------------------------------\n\"\"\"\n\n\ndef analytic_kernel(k):\n    \"\"\"Calculate the X4 kernel from the X2 kernel (for proof see appendix in paper)\"\"\"\n    k_size = k.shape[0]\n    # Calculate the big kernels size\n    big_k = np.zeros((3 * k_size - 2, 3 * k_size - 2))\n    # Loop over the small kernel to fill the big one\n    for r in range(k_size):\n        for c in range(k_size):\n            big_k[2 * r : 2 * r + k_size, 2 * c : 2 * c + k_size] += k[r, c] * k\n    # Crop the edges of the big kernel to ignore very small values and increase run time of SR\n    crop = k_size // 2\n    cropped_big_k = big_k[crop:-crop, crop:-crop]\n    # Normalize to 1\n    return cropped_big_k / cropped_big_k.sum()\n\n\ndef anisotropic_Gaussian(ksize=15, theta=np.pi, l1=6, l2=6):\n    \"\"\"generate an anisotropic Gaussian kernel\n    Args:\n        ksize : e.g., 15, kernel size\n        theta : [0,  pi], rotation angle range\n        l1    : [0.1,50], scaling of eigenvalues\n        l2    : [0.1,l1], scaling of eigenvalues\n        If l1 = l2, will get an isotropic Gaussian kernel.\n    Returns:\n        k     : kernel\n    \"\"\"\n\n    v = np.dot(\n        np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]]),\n        np.array([1.0, 0.0]),\n    )\n    V = np.array([[v[0], v[1]], [v[1], -v[0]]])\n    D = np.array([[l1, 0], [0, l2]])\n    Sigma = np.dot(np.dot(V, D), np.linalg.inv(V))\n    k = gm_blur_kernel(mean=[0, 0], cov=Sigma, size=ksize)\n\n    return k\n\n\ndef gm_blur_kernel(mean, cov, size=15):\n    center = size / 2.0 + 0.5\n    k = np.zeros([size, size])\n    for y in range(size):\n        for x in range(size):\n            cy = y - center + 1\n            cx = x - center + 1\n            k[y, x] = ss.multivariate_normal.pdf([cx, cy], mean=mean, cov=cov)\n\n    k = k / np.sum(k)\n    return k\n\n\ndef shift_pixel(x, sf, upper_left=True):\n    \"\"\"shift pixel for super-resolution with different scale factors\n    Args:\n        x: WxHxC or WxH\n        sf: scale factor\n        upper_left: shift direction\n    \"\"\"\n    h, w = x.shape[:2]\n    shift = (sf - 1) * 0.5\n    xv, yv = np.arange(0, w, 1.0), np.arange(0, h, 1.0)\n    if upper_left:\n        x1 = xv + shift\n        y1 = yv + shift\n    else:\n        x1 = xv - shift\n        y1 = yv - shift\n\n    x1 = np.clip(x1, 0, w - 1)\n    y1 = np.clip(y1, 0, h - 1)\n\n    if x.ndim == 2:\n        x = interp2d(xv, yv, x)(x1, y1)\n    if x.ndim == 3:\n        for i in range(x.shape[-1]):\n            x[:, :, i] = interp2d(xv, yv, x[:, :, i])(x1, y1)\n\n    return x\n\n\ndef blur(x, k):\n    \"\"\"\n    x: image, NxcxHxW\n    k: kernel, Nx1xhxw\n    \"\"\"\n    n, c = x.shape[:2]\n    p1, p2 = (k.shape[-2] - 1) // 2, (k.shape[-1] - 1) // 2\n    x = torch.nn.functional.pad(x, pad=(p1, p2, p1, p2), mode=\"replicate\")\n    k = k.repeat(1, c, 1, 1)\n    k = k.view(-1, 1, k.shape[2], k.shape[3])\n    x = x.view(1, -1, x.shape[2], x.shape[3])\n    x = torch.nn.functional.conv2d(x, k, bias=None, stride=1, padding=0, groups=n * c)\n    x = x.view(n, c, x.shape[2], x.shape[3])\n\n    return x\n\n\ndef gen_kernel(\n    k_size=np.array([15, 15]),\n    scale_factor=np.array([4, 4]),\n    min_var=0.6,\n    max_var=10.0,\n    noise_level=0,\n):\n    \"\"\" \"\n    # modified version of https://github.com/assafshocher/BlindSR_dataset_generator\n    # Kai Zhang\n    # min_var = 0.175 * sf  # variance of the gaussian kernel will be sampled between min_var and max_var\n    # max_var = 2.5 * sf\n    \"\"\"\n    # Set random eigen-vals (lambdas) and angle (theta) for COV matrix\n    lambda_1 = min_var + np.random.rand() * (max_var - min_var)\n    lambda_2 = min_var + np.random.rand() * (max_var - min_var)\n    theta = np.random.rand() * np.pi  # random theta\n    noise = -noise_level + np.random.rand(*k_size) * noise_level * 2\n\n    # Set COV matrix using Lambdas and Theta\n    LAMBDA = np.diag([lambda_1, lambda_2])\n    Q = np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]])\n    SIGMA = Q @ LAMBDA @ Q.T\n    INV_SIGMA = np.linalg.inv(SIGMA)[None, None, :, :]\n\n    # Set expectation position (shifting kernel for aligned image)\n    MU = k_size // 2 - 0.5 * (scale_factor - 1)  # - 0.5 * (scale_factor - k_size % 2)\n    MU = MU[None, None, :, None]\n\n    # Create meshgrid for Gaussian\n    [X, Y] = np.meshgrid(range(k_size[0]), range(k_size[1]))\n    Z = np.stack([X, Y], 2)[:, :, :, None]\n\n    # Calcualte Gaussian for every pixel of the kernel\n    ZZ = Z - MU\n    ZZ_t = ZZ.transpose(0, 1, 3, 2)\n    raw_kernel = np.exp(-0.5 * np.squeeze(ZZ_t @ INV_SIGMA @ ZZ)) * (1 + noise)\n\n    # shift the kernel so it will be centered\n    # raw_kernel_centered = kernel_shift(raw_kernel, scale_factor)\n\n    # Normalize the kernel and return\n    # kernel = raw_kernel_centered / np.sum(raw_kernel_centered)\n    kernel = raw_kernel / np.sum(raw_kernel)\n    return kernel\n\n\ndef fspecial_gaussian(hsize, sigma):\n    hsize = [hsize, hsize]\n    siz = [(hsize[0] - 1.0) / 2.0, (hsize[1] - 1.0) / 2.0]\n    std = sigma\n    [x, y] = np.meshgrid(np.arange(-siz[1], siz[1] + 1), np.arange(-siz[0], siz[0] + 1))\n    arg = -(x * x + y * y) / (2 * std * std)\n    h = np.exp(arg)\n    h[h < scipy.finfo(float).eps * h.max()] = 0\n    sumh = h.sum()\n    if sumh != 0:\n        h = h / sumh\n    return h\n\n\ndef fspecial_laplacian(alpha):\n    alpha = max([0, min([alpha, 1])])\n    h1 = alpha / (alpha + 1)\n    h2 = (1 - alpha) / (alpha + 1)\n    h = [[h1, h2, h1], [h2, -4 / (alpha + 1), h2], [h1, h2, h1]]\n    h = np.array(h)\n    return h\n\n\ndef fspecial(filter_type, *args, **kwargs):\n    \"\"\"\n    python code from:\n    https://github.com/ronaldosena/imagens-medicas-2/blob/40171a6c259edec7827a6693a93955de2bd39e76/Aulas/aula_2_-_uniform_filter/matlab_fspecial.py\n    \"\"\"\n    if filter_type == \"gaussian\":\n        return fspecial_gaussian(*args, **kwargs)\n    if filter_type == \"laplacian\":\n        return fspecial_laplacian(*args, **kwargs)\n\n\n\"\"\"\n# --------------------------------------------\n# degradation models\n# --------------------------------------------\n\"\"\"\n\n\ndef bicubic_degradation(x, sf=3):\n    \"\"\"\n    Args:\n        x: HxWxC image, [0, 1]\n        sf: down-scale factor\n    Return:\n        bicubicly downsampled LR image\n    \"\"\"\n    x = util.imresize_np(x, scale=1 / sf)\n    return x\n\n\ndef srmd_degradation(x, k, sf=3):\n    \"\"\"blur + bicubic downsampling\n    Args:\n        x: HxWxC image, [0, 1]\n        k: hxw, double\n        sf: down-scale factor\n    Return:\n        downsampled LR image\n    Reference:\n        @inproceedings{zhang2018learning,\n          title={Learning a single convolutional super-resolution network for multiple degradations},\n          author={Zhang, Kai and Zuo, Wangmeng and Zhang, Lei},\n          booktitle={IEEE Conference on Computer Vision and Pattern Recognition},\n          pages={3262--3271},\n          year={2018}\n        }\n    \"\"\"\n    x = ndimage.filters.convolve(\n        x, np.expand_dims(k, axis=2), mode=\"wrap\"\n    )  # 'nearest' | 'mirror'\n    x = bicubic_degradation(x, sf=sf)\n    return x\n\n\ndef dpsr_degradation(x, k, sf=3):\n    \"\"\"bicubic downsampling + blur\n    Args:\n        x: HxWxC image, [0, 1]\n        k: hxw, double\n        sf: down-scale factor\n    Return:\n        downsampled LR image\n    Reference:\n        @inproceedings{zhang2019deep,\n          title={Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels},\n          author={Zhang, Kai and Zuo, Wangmeng and Zhang, Lei},\n          booktitle={IEEE Conference on Computer Vision and Pattern Recognition},\n          pages={1671--1681},\n          year={2019}\n        }\n    \"\"\"\n    x = bicubic_degradation(x, sf=sf)\n    x = ndimage.filters.convolve(x, np.expand_dims(k, axis=2), mode=\"wrap\")\n    return x\n\n\ndef classical_degradation(x, k, sf=3):\n    \"\"\"blur + downsampling\n    Args:\n        x: HxWxC image, [0, 1]/[0, 255]\n        k: hxw, double\n        sf: down-scale factor\n    Return:\n        downsampled LR image\n    \"\"\"\n    x = ndimage.filters.convolve(x, np.expand_dims(k, axis=2), mode=\"wrap\")\n    # x = filters.correlate(x, np.expand_dims(np.flip(k), axis=2))\n    st = 0\n    return x[st::sf, st::sf, ...]\n\n\ndef add_sharpening(img, weight=0.5, radius=50, threshold=10):\n    \"\"\"USM sharpening. borrowed from real-ESRGAN\n    Input image: I; Blurry image: B.\n    1. K = I + weight * (I - B)\n    2. Mask = 1 if abs(I - B) > threshold, else: 0\n    3. Blur mask:\n    4. Out = Mask * K + (1 - Mask) * I\n    Args:\n        img (Numpy array): Input image, HWC, BGR; float32, [0, 1].\n        weight (float): Sharp weight. Default: 1.\n        radius (float): Kernel size of Gaussian blur. Default: 50.\n        threshold (int):\n    \"\"\"\n    if radius % 2 == 0:\n        radius += 1\n    blur = cv2.GaussianBlur(img, (radius, radius), 0)\n    residual = img - blur\n    mask = np.abs(residual) * 255 > threshold\n    mask = mask.astype(\"float32\")\n    soft_mask = cv2.GaussianBlur(mask, (radius, radius), 0)\n\n    K = img + weight * residual\n    K = np.clip(K, 0, 1)\n    return soft_mask * K + (1 - soft_mask) * img\n\n\ndef add_blur(img, sf=4):\n    wd2 = 4.0 + sf\n    wd = 2.0 + 0.2 * sf\n    if random.random() < 0.5:\n        l1 = wd2 * random.random()\n        l2 = wd2 * random.random()\n        k = anisotropic_Gaussian(\n            ksize=2 * random.randint(2, 11) + 3,\n            theta=random.random() * np.pi,\n            l1=l1,\n            l2=l2,\n        )\n    else:\n        k = fspecial(\"gaussian\", 2 * random.randint(2, 11) + 3, wd * random.random())\n    img = ndimage.filters.convolve(img, np.expand_dims(k, axis=2), mode=\"mirror\")\n\n    return img\n\n\ndef add_resize(img, sf=4):\n    rnum = np.random.rand()\n    if rnum > 0.8:  # up\n        sf1 = random.uniform(1, 2)\n    elif rnum < 0.7:  # down\n        sf1 = random.uniform(0.5 / sf, 1)\n    else:\n        sf1 = 1.0\n    img = cv2.resize(\n        img,\n        (int(sf1 * img.shape[1]), int(sf1 * img.shape[0])),\n        interpolation=random.choice([1, 2, 3]),\n    )\n    img = np.clip(img, 0.0, 1.0)\n\n    return img\n\n\n# def add_Gaussian_noise(img, noise_level1=2, noise_level2=25):\n#     noise_level = random.randint(noise_level1, noise_level2)\n#     rnum = np.random.rand()\n#     if rnum > 0.6:  # add color Gaussian noise\n#         img += np.random.normal(0, noise_level / 255.0, img.shape).astype(np.float32)\n#     elif rnum < 0.4:  # add grayscale Gaussian noise\n#         img += np.random.normal(0, noise_level / 255.0, (*img.shape[:2], 1)).astype(np.float32)\n#     else:  # add  noise\n#         L = noise_level2 / 255.\n#         D = np.diag(np.random.rand(3))\n#         U = orth(np.random.rand(3, 3))\n#         conv = np.dot(np.dot(np.transpose(U), D), U)\n#         img += np.random.multivariate_normal([0, 0, 0], np.abs(L ** 2 * conv), img.shape[:2]).astype(np.float32)\n#     img = np.clip(img, 0.0, 1.0)\n#     return img\n\n\ndef add_Gaussian_noise(img, noise_level1=2, noise_level2=25):\n    noise_level = random.randint(noise_level1, noise_level2)\n    rnum = np.random.rand()\n    if rnum > 0.6:  # add color Gaussian noise\n        img = img + np.random.normal(0, noise_level / 255.0, img.shape).astype(\n            np.float32\n        )\n    elif rnum < 0.4:  # add grayscale Gaussian noise\n        img = img + np.random.normal(\n            0, noise_level / 255.0, (*img.shape[:2], 1)\n        ).astype(np.float32)\n    else:  # add  noise\n        L = noise_level2 / 255.0\n        D = np.diag(np.random.rand(3))\n        U = orth(np.random.rand(3, 3))\n        conv = np.dot(np.dot(np.transpose(U), D), U)\n        img = img + np.random.multivariate_normal(\n            [0, 0, 0], np.abs(L**2 * conv), img.shape[:2]\n        ).astype(np.float32)\n    img = np.clip(img, 0.0, 1.0)\n    return img\n\n\ndef add_speckle_noise(img, noise_level1=2, noise_level2=25):\n    noise_level = random.randint(noise_level1, noise_level2)\n    img = np.clip(img, 0.0, 1.0)\n    rnum = random.random()\n    if rnum > 0.6:\n        img += img * np.random.normal(0, noise_level / 255.0, img.shape).astype(\n            np.float32\n        )\n    elif rnum < 0.4:\n        img += img * np.random.normal(\n            0, noise_level / 255.0, (*img.shape[:2], 1)\n        ).astype(np.float32)\n    else:\n        L = noise_level2 / 255.0\n        D = np.diag(np.random.rand(3))\n        U = orth(np.random.rand(3, 3))\n        conv = np.dot(np.dot(np.transpose(U), D), U)\n        img += img * np.random.multivariate_normal(\n            [0, 0, 0], np.abs(L**2 * conv), img.shape[:2]\n        ).astype(np.float32)\n    img = np.clip(img, 0.0, 1.0)\n    return img\n\n\ndef add_Poisson_noise(img):\n    img = np.clip((img * 255.0).round(), 0, 255) / 255.0\n    vals = 10 ** (2 * random.random() + 2.0)  # [2, 4]\n    if random.random() < 0.5:\n        img = np.random.poisson(img * vals).astype(np.float32) / vals\n    else:\n        img_gray = np.dot(img[..., :3], [0.299, 0.587, 0.114])\n        img_gray = np.clip((img_gray * 255.0).round(), 0, 255) / 255.0\n        noise_gray = (\n            np.random.poisson(img_gray * vals).astype(np.float32) / vals - img_gray\n        )\n        img += noise_gray[:, :, np.newaxis]\n    img = np.clip(img, 0.0, 1.0)\n    return img\n\n\ndef add_JPEG_noise(img):\n    quality_factor = random.randint(30, 95)\n    img = cv2.cvtColor(util.single2uint(img), cv2.COLOR_RGB2BGR)\n    result, encimg = cv2.imencode(\n        \".jpg\", img, [int(cv2.IMWRITE_JPEG_QUALITY), quality_factor]\n    )\n    img = cv2.imdecode(encimg, 1)\n    img = cv2.cvtColor(util.uint2single(img), cv2.COLOR_BGR2RGB)\n    return img\n\n\ndef random_crop(lq, hq, sf=4, lq_patchsize=64):\n    h, w = lq.shape[:2]\n    rnd_h = random.randint(0, h - lq_patchsize)\n    rnd_w = random.randint(0, w - lq_patchsize)\n    lq = lq[rnd_h : rnd_h + lq_patchsize, rnd_w : rnd_w + lq_patchsize, :]\n\n    rnd_h_H, rnd_w_H = int(rnd_h * sf), int(rnd_w * sf)\n    hq = hq[\n        rnd_h_H : rnd_h_H + lq_patchsize * sf, rnd_w_H : rnd_w_H + lq_patchsize * sf, :\n    ]\n    return lq, hq\n\n\ndef degradation_bsrgan(img, sf=4, lq_patchsize=72, isp_model=None):\n    \"\"\"\n    This is the degradation model of BSRGAN from the paper\n    \"Designing a Practical Degradation Model for Deep Blind Image Super-Resolution\"\n    ----------\n    img: HXWXC, [0, 1], its size should be large than (lq_patchsizexsf)x(lq_patchsizexsf)\n    sf: scale factor\n    isp_model: camera ISP model\n    Returns\n    -------\n    img: low-quality patch, size: lq_patchsizeXlq_patchsizeXC, range: [0, 1]\n    hq: corresponding high-quality patch, size: (lq_patchsizexsf)X(lq_patchsizexsf)XC, range: [0, 1]\n    \"\"\"\n    isp_prob, jpeg_prob, scale2_prob = 0.25, 0.9, 0.25\n    sf_ori = sf\n\n    h1, w1 = img.shape[:2]\n    img = img.copy()[: w1 - w1 % sf, : h1 - h1 % sf, ...]  # mod crop\n    h, w = img.shape[:2]\n\n    if h < lq_patchsize * sf or w < lq_patchsize * sf:\n        raise ValueError(f\"img size ({h1}X{w1}) is too small!\")\n\n    hq = img.copy()\n\n    if sf == 4 and random.random() < scale2_prob:  # downsample1\n        if np.random.rand() < 0.5:\n            img = cv2.resize(\n                img,\n                (int(1 / 2 * img.shape[1]), int(1 / 2 * img.shape[0])),\n                interpolation=random.choice([1, 2, 3]),\n            )\n        else:\n            img = util.imresize_np(img, 1 / 2, True)\n        img = np.clip(img, 0.0, 1.0)\n        sf = 2\n\n    shuffle_order = random.sample(range(7), 7)\n    idx1, idx2 = shuffle_order.index(2), shuffle_order.index(3)\n    if idx1 > idx2:  # keep downsample3 last\n        shuffle_order[idx1], shuffle_order[idx2] = (\n            shuffle_order[idx2],\n            shuffle_order[idx1],\n        )\n\n    for i in shuffle_order:\n        if i == 0:\n            img = add_blur(img, sf=sf)\n\n        elif i == 1:\n            img = add_blur(img, sf=sf)\n\n        elif i == 2:\n            a, b = img.shape[1], img.shape[0]\n            # downsample2\n            if random.random() < 0.75:\n                sf1 = random.uniform(1, 2 * sf)\n                img = cv2.resize(\n                    img,\n                    (int(1 / sf1 * img.shape[1]), int(1 / sf1 * img.shape[0])),\n                    interpolation=random.choice([1, 2, 3]),\n                )\n            else:\n                k = fspecial(\"gaussian\", 25, random.uniform(0.1, 0.6 * sf))\n                k_shifted = shift_pixel(k, sf)\n                k_shifted = k_shifted / k_shifted.sum()  # blur with shifted kernel\n                img = ndimage.filters.convolve(\n                    img, np.expand_dims(k_shifted, axis=2), mode=\"mirror\"\n                )\n                img = img[0::sf, 0::sf, ...]  # nearest downsampling\n            img = np.clip(img, 0.0, 1.0)\n\n        elif i == 3:\n            # downsample3\n            img = cv2.resize(\n                img,\n                (int(1 / sf * a), int(1 / sf * b)),\n                interpolation=random.choice([1, 2, 3]),\n            )\n            img = np.clip(img, 0.0, 1.0)\n\n        elif i == 4:\n            # add Gaussian noise\n            img = add_Gaussian_noise(img, noise_level1=2, noise_level2=25)\n\n        elif i == 5:\n            # add JPEG noise\n            if random.random() < jpeg_prob:\n                img = add_JPEG_noise(img)\n\n        elif i == 6:\n            # add processed camera sensor noise\n            if random.random() < isp_prob and isp_model is not None:\n                with torch.no_grad():\n                    img, hq = isp_model.forward(img.copy(), hq)\n\n    # add final JPEG compression noise\n    img = add_JPEG_noise(img)\n\n    # random crop\n    img, hq = random_crop(img, hq, sf_ori, lq_patchsize)\n\n    return img, hq\n\n\n# todo no isp_model?\ndef degradation_bsrgan_variant(image, sf=4, isp_model=None):\n    \"\"\"\n    This is the degradation model of BSRGAN from the paper\n    \"Designing a Practical Degradation Model for Deep Blind Image Super-Resolution\"\n    ----------\n    sf: scale factor\n    isp_model: camera ISP model\n    Returns\n    -------\n    img: low-quality patch, size: lq_patchsizeXlq_patchsizeXC, range: [0, 1]\n    hq: corresponding high-quality patch, size: (lq_patchsizexsf)X(lq_patchsizexsf)XC, range: [0, 1]\n    \"\"\"\n    image = util.uint2single(image)\n    isp_prob, jpeg_prob, scale2_prob = 0.25, 0.9, 0.25\n\n    h1, w1 = image.shape[:2]\n    image = image.copy()[: w1 - w1 % sf, : h1 - h1 % sf, ...]  # mod crop\n    h, w = image.shape[:2]\n\n    image.copy()\n\n    if sf == 4 and random.random() < scale2_prob:  # downsample1\n        if np.random.rand() < 0.5:\n            image = cv2.resize(\n                image,\n                (int(1 / 2 * image.shape[1]), int(1 / 2 * image.shape[0])),\n                interpolation=random.choice([1, 2, 3]),\n            )\n        else:\n            image = util.imresize_np(image, 1 / 2, True)\n        image = np.clip(image, 0.0, 1.0)\n        sf = 2\n\n    shuffle_order = random.sample(range(7), 7)\n    idx1, idx2 = shuffle_order.index(2), shuffle_order.index(3)\n    if idx1 > idx2:  # keep downsample3 last\n        shuffle_order[idx1], shuffle_order[idx2] = (\n            shuffle_order[idx2],\n            shuffle_order[idx1],\n        )\n\n    for i in shuffle_order:\n        if i == 0:\n            image = add_blur(image, sf=sf)\n\n        elif i == 1:\n            image = add_blur(image, sf=sf)\n\n        elif i == 2:\n            a, b = image.shape[1], image.shape[0]\n            # downsample2\n            if random.random() < 0.75:\n                sf1 = random.uniform(1, 2 * sf)\n                image = cv2.resize(\n                    image,\n                    (int(1 / sf1 * image.shape[1]), int(1 / sf1 * image.shape[0])),\n                    interpolation=random.choice([1, 2, 3]),\n                )\n            else:\n                k = fspecial(\"gaussian\", 25, random.uniform(0.1, 0.6 * sf))\n                k_shifted = shift_pixel(k, sf)\n                k_shifted = k_shifted / k_shifted.sum()  # blur with shifted kernel\n                image = ndimage.filters.convolve(\n                    image, np.expand_dims(k_shifted, axis=2), mode=\"mirror\"\n                )\n                image = image[0::sf, 0::sf, ...]  # nearest downsampling\n            image = np.clip(image, 0.0, 1.0)\n\n        elif i == 3:\n            # downsample3\n            image = cv2.resize(\n                image,\n                (int(1 / sf * a), int(1 / sf * b)),\n                interpolation=random.choice([1, 2, 3]),\n            )\n            image = np.clip(image, 0.0, 1.0)\n\n        elif i == 4:\n            # add Gaussian noise\n            image = add_Gaussian_noise(image, noise_level1=2, noise_level2=25)\n\n        elif i == 5:\n            # add JPEG noise\n            if random.random() < jpeg_prob:\n                image = add_JPEG_noise(image)\n\n        # elif i == 6:\n        #     # add processed camera sensor noise\n        #     if random.random() < isp_prob and isp_model is not None:\n        #         with torch.no_grad():\n        #             img, hq = isp_model.forward(img.copy(), hq)\n\n    # add final JPEG compression noise\n    image = add_JPEG_noise(image)\n    image = util.single2uint(image)\n    example = {\"image\": image}\n    return example\n\n\n# TODO incase there is a pickle error one needs to replace a += x with a = a + x in add_speckle_noise etc...\ndef degradation_bsrgan_plus(\n    img, sf=4, shuffle_prob=0.5, use_sharp=True, lq_patchsize=64, isp_model=None\n):\n    \"\"\"\n    This is an extended degradation model by combining\n    the degradation models of BSRGAN and Real-ESRGAN\n    ----------\n    img: HXWXC, [0, 1], its size should be large than (lq_patchsizexsf)x(lq_patchsizexsf)\n    sf: scale factor\n    use_shuffle: the degradation shuffle\n    use_sharp: sharpening the img\n    Returns\n    -------\n    img: low-quality patch, size: lq_patchsizeXlq_patchsizeXC, range: [0, 1]\n    hq: corresponding high-quality patch, size: (lq_patchsizexsf)X(lq_patchsizexsf)XC, range: [0, 1]\n    \"\"\"\n\n    h1, w1 = img.shape[:2]\n    img = img.copy()[: w1 - w1 % sf, : h1 - h1 % sf, ...]  # mod crop\n    h, w = img.shape[:2]\n\n    if h < lq_patchsize * sf or w < lq_patchsize * sf:\n        raise ValueError(f\"img size ({h1}X{w1}) is too small!\")\n\n    if use_sharp:\n        img = add_sharpening(img)\n    hq = img.copy()\n\n    if random.random() < shuffle_prob:\n        shuffle_order = random.sample(range(13), 13)\n    else:\n        shuffle_order = list(range(13))\n        # local shuffle for noise, JPEG is always the last one\n        shuffle_order[2:6] = random.sample(shuffle_order[2:6], len(range(2, 6)))\n        shuffle_order[9:13] = random.sample(shuffle_order[9:13], len(range(9, 13)))\n\n    poisson_prob, speckle_prob, isp_prob = 0.1, 0.1, 0.1\n\n    for i in shuffle_order:\n        if i == 0:\n            img = add_blur(img, sf=sf)\n        elif i == 1:\n            img = add_resize(img, sf=sf)\n        elif i == 2:\n            img = add_Gaussian_noise(img, noise_level1=2, noise_level2=25)\n        elif i == 3:\n            if random.random() < poisson_prob:\n                img = add_Poisson_noise(img)\n        elif i == 4:\n            if random.random() < speckle_prob:\n                img = add_speckle_noise(img)\n        elif i == 5:\n            if random.random() < isp_prob and isp_model is not None:\n                with torch.no_grad():\n                    img, hq = isp_model.forward(img.copy(), hq)\n        elif i == 6:\n            img = add_JPEG_noise(img)\n        elif i == 7:\n            img = add_blur(img, sf=sf)\n        elif i == 8:\n            img = add_resize(img, sf=sf)\n        elif i == 9:\n            img = add_Gaussian_noise(img, noise_level1=2, noise_level2=25)\n        elif i == 10:\n            if random.random() < poisson_prob:\n                img = add_Poisson_noise(img)\n        elif i == 11:\n            if random.random() < speckle_prob:\n                img = add_speckle_noise(img)\n        elif i == 12:\n            if random.random() < isp_prob and isp_model is not None:\n                with torch.no_grad():\n                    img, hq = isp_model.forward(img.copy(), hq)\n        else:\n            print(\"check the shuffle!\")\n\n    # resize to desired size\n    img = cv2.resize(\n        img,\n        (int(1 / sf * hq.shape[1]), int(1 / sf * hq.shape[0])),\n        interpolation=random.choice([1, 2, 3]),\n    )\n\n    # add final JPEG compression noise\n    img = add_JPEG_noise(img)\n\n    # random crop\n    img, hq = random_crop(img, hq, sf, lq_patchsize)\n\n    return img, hq\n\n\nif __name__ == \"__main__\":\n    print(\"hey\")\n    img = util.imread_uint(\"utils/test.png\", 3)\n    print(img)\n    img = util.uint2single(img)\n    print(img)\n    img = img[:448, :448]\n    h = img.shape[0] // 4\n    print(\"resizing to\", h)\n    sf = 4\n    deg_fn = partial(degradation_bsrgan_variant, sf=sf)\n    for i in range(20):\n        print(i)\n        img_lq = deg_fn(img)\n        print(img_lq)\n        img_lq_bicubic = albumentations.SmallestMaxSize(\n            max_size=h, interpolation=cv2.INTER_CUBIC\n        )(image=img)[\"image\"]\n        print(img_lq.shape)\n        print(\"bicubic\", img_lq_bicubic.shape)\n        print(img_hq.shape)\n        lq_nearest = cv2.resize(\n            util.single2uint(img_lq),\n            (int(sf * img_lq.shape[1]), int(sf * img_lq.shape[0])),\n            interpolation=0,\n        )\n        lq_bicubic_nearest = cv2.resize(\n            util.single2uint(img_lq_bicubic),\n            (int(sf * img_lq.shape[1]), int(sf * img_lq.shape[0])),\n            interpolation=0,\n        )\n        img_concat = np.concatenate(\n            [lq_bicubic_nearest, lq_nearest, util.single2uint(img_hq)], axis=1\n        )\n        util.imsave(img_concat, str(i) + \".png\")\n"
  },
  {
    "path": "ldm/modules/image_degradation/bsrgan_light.py",
    "content": "# -*- coding: utf-8 -*-\nimport numpy as np\nimport cv2\nimport torch\n\nfrom functools import partial\nimport random\nfrom scipy import ndimage\nimport scipy\nimport scipy.stats as ss\nfrom scipy.interpolate import interp2d\nfrom scipy.linalg import orth\nimport albumentations\n\nimport ldm.modules.image_degradation.utils_image as util\n\n\"\"\"\n# --------------------------------------------\n# Super-Resolution\n# --------------------------------------------\n#\n# Kai Zhang (cskaizhang@gmail.com)\n# https://github.com/cszn\n# From 2019/03--2021/08\n# --------------------------------------------\n\"\"\"\n\n\ndef modcrop_np(img, sf):\n    \"\"\"\n    Args:\n        img: numpy image, WxH or WxHxC\n        sf: scale factor\n    Return:\n        cropped image\n    \"\"\"\n    w, h = img.shape[:2]\n    im = np.copy(img)\n    return im[: w - w % sf, : h - h % sf, ...]\n\n\n\"\"\"\n# --------------------------------------------\n# anisotropic Gaussian kernels\n# --------------------------------------------\n\"\"\"\n\n\ndef analytic_kernel(k):\n    \"\"\"Calculate the X4 kernel from the X2 kernel (for proof see appendix in paper)\"\"\"\n    k_size = k.shape[0]\n    # Calculate the big kernels size\n    big_k = np.zeros((3 * k_size - 2, 3 * k_size - 2))\n    # Loop over the small kernel to fill the big one\n    for r in range(k_size):\n        for c in range(k_size):\n            big_k[2 * r : 2 * r + k_size, 2 * c : 2 * c + k_size] += k[r, c] * k\n    # Crop the edges of the big kernel to ignore very small values and increase run time of SR\n    crop = k_size // 2\n    cropped_big_k = big_k[crop:-crop, crop:-crop]\n    # Normalize to 1\n    return cropped_big_k / cropped_big_k.sum()\n\n\ndef anisotropic_Gaussian(ksize=15, theta=np.pi, l1=6, l2=6):\n    \"\"\"generate an anisotropic Gaussian kernel\n    Args:\n        ksize : e.g., 15, kernel size\n        theta : [0,  pi], rotation angle range\n        l1    : [0.1,50], scaling of eigenvalues\n        l2    : [0.1,l1], scaling of eigenvalues\n        If l1 = l2, will get an isotropic Gaussian kernel.\n    Returns:\n        k     : kernel\n    \"\"\"\n\n    v = np.dot(\n        np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]]),\n        np.array([1.0, 0.0]),\n    )\n    V = np.array([[v[0], v[1]], [v[1], -v[0]]])\n    D = np.array([[l1, 0], [0, l2]])\n    Sigma = np.dot(np.dot(V, D), np.linalg.inv(V))\n    k = gm_blur_kernel(mean=[0, 0], cov=Sigma, size=ksize)\n\n    return k\n\n\ndef gm_blur_kernel(mean, cov, size=15):\n    center = size / 2.0 + 0.5\n    k = np.zeros([size, size])\n    for y in range(size):\n        for x in range(size):\n            cy = y - center + 1\n            cx = x - center + 1\n            k[y, x] = ss.multivariate_normal.pdf([cx, cy], mean=mean, cov=cov)\n\n    k = k / np.sum(k)\n    return k\n\n\ndef shift_pixel(x, sf, upper_left=True):\n    \"\"\"shift pixel for super-resolution with different scale factors\n    Args:\n        x: WxHxC or WxH\n        sf: scale factor\n        upper_left: shift direction\n    \"\"\"\n    h, w = x.shape[:2]\n    shift = (sf - 1) * 0.5\n    xv, yv = np.arange(0, w, 1.0), np.arange(0, h, 1.0)\n    if upper_left:\n        x1 = xv + shift\n        y1 = yv + shift\n    else:\n        x1 = xv - shift\n        y1 = yv - shift\n\n    x1 = np.clip(x1, 0, w - 1)\n    y1 = np.clip(y1, 0, h - 1)\n\n    if x.ndim == 2:\n        x = interp2d(xv, yv, x)(x1, y1)\n    if x.ndim == 3:\n        for i in range(x.shape[-1]):\n            x[:, :, i] = interp2d(xv, yv, x[:, :, i])(x1, y1)\n\n    return x\n\n\ndef blur(x, k):\n    \"\"\"\n    x: image, NxcxHxW\n    k: kernel, Nx1xhxw\n    \"\"\"\n    n, c = x.shape[:2]\n    p1, p2 = (k.shape[-2] - 1) // 2, (k.shape[-1] - 1) // 2\n    x = torch.nn.functional.pad(x, pad=(p1, p2, p1, p2), mode=\"replicate\")\n    k = k.repeat(1, c, 1, 1)\n    k = k.view(-1, 1, k.shape[2], k.shape[3])\n    x = x.view(1, -1, x.shape[2], x.shape[3])\n    x = torch.nn.functional.conv2d(x, k, bias=None, stride=1, padding=0, groups=n * c)\n    x = x.view(n, c, x.shape[2], x.shape[3])\n\n    return x\n\n\ndef gen_kernel(\n    k_size=np.array([15, 15]),\n    scale_factor=np.array([4, 4]),\n    min_var=0.6,\n    max_var=10.0,\n    noise_level=0,\n):\n    \"\"\" \"\n    # modified version of https://github.com/assafshocher/BlindSR_dataset_generator\n    # Kai Zhang\n    # min_var = 0.175 * sf  # variance of the gaussian kernel will be sampled between min_var and max_var\n    # max_var = 2.5 * sf\n    \"\"\"\n    # Set random eigen-vals (lambdas) and angle (theta) for COV matrix\n    lambda_1 = min_var + np.random.rand() * (max_var - min_var)\n    lambda_2 = min_var + np.random.rand() * (max_var - min_var)\n    theta = np.random.rand() * np.pi  # random theta\n    noise = -noise_level + np.random.rand(*k_size) * noise_level * 2\n\n    # Set COV matrix using Lambdas and Theta\n    LAMBDA = np.diag([lambda_1, lambda_2])\n    Q = np.array([[np.cos(theta), -np.sin(theta)], [np.sin(theta), np.cos(theta)]])\n    SIGMA = Q @ LAMBDA @ Q.T\n    INV_SIGMA = np.linalg.inv(SIGMA)[None, None, :, :]\n\n    # Set expectation position (shifting kernel for aligned image)\n    MU = k_size // 2 - 0.5 * (scale_factor - 1)  # - 0.5 * (scale_factor - k_size % 2)\n    MU = MU[None, None, :, None]\n\n    # Create meshgrid for Gaussian\n    [X, Y] = np.meshgrid(range(k_size[0]), range(k_size[1]))\n    Z = np.stack([X, Y], 2)[:, :, :, None]\n\n    # Calcualte Gaussian for every pixel of the kernel\n    ZZ = Z - MU\n    ZZ_t = ZZ.transpose(0, 1, 3, 2)\n    raw_kernel = np.exp(-0.5 * np.squeeze(ZZ_t @ INV_SIGMA @ ZZ)) * (1 + noise)\n\n    # shift the kernel so it will be centered\n    # raw_kernel_centered = kernel_shift(raw_kernel, scale_factor)\n\n    # Normalize the kernel and return\n    # kernel = raw_kernel_centered / np.sum(raw_kernel_centered)\n    kernel = raw_kernel / np.sum(raw_kernel)\n    return kernel\n\n\ndef fspecial_gaussian(hsize, sigma):\n    hsize = [hsize, hsize]\n    siz = [(hsize[0] - 1.0) / 2.0, (hsize[1] - 1.0) / 2.0]\n    std = sigma\n    [x, y] = np.meshgrid(np.arange(-siz[1], siz[1] + 1), np.arange(-siz[0], siz[0] + 1))\n    arg = -(x * x + y * y) / (2 * std * std)\n    h = np.exp(arg)\n    h[h < scipy.finfo(float).eps * h.max()] = 0\n    sumh = h.sum()\n    if sumh != 0:\n        h = h / sumh\n    return h\n\n\ndef fspecial_laplacian(alpha):\n    alpha = max([0, min([alpha, 1])])\n    h1 = alpha / (alpha + 1)\n    h2 = (1 - alpha) / (alpha + 1)\n    h = [[h1, h2, h1], [h2, -4 / (alpha + 1), h2], [h1, h2, h1]]\n    h = np.array(h)\n    return h\n\n\ndef fspecial(filter_type, *args, **kwargs):\n    \"\"\"\n    python code from:\n    https://github.com/ronaldosena/imagens-medicas-2/blob/40171a6c259edec7827a6693a93955de2bd39e76/Aulas/aula_2_-_uniform_filter/matlab_fspecial.py\n    \"\"\"\n    if filter_type == \"gaussian\":\n        return fspecial_gaussian(*args, **kwargs)\n    if filter_type == \"laplacian\":\n        return fspecial_laplacian(*args, **kwargs)\n\n\n\"\"\"\n# --------------------------------------------\n# degradation models\n# --------------------------------------------\n\"\"\"\n\n\ndef bicubic_degradation(x, sf=3):\n    \"\"\"\n    Args:\n        x: HxWxC image, [0, 1]\n        sf: down-scale factor\n    Return:\n        bicubicly downsampled LR image\n    \"\"\"\n    x = util.imresize_np(x, scale=1 / sf)\n    return x\n\n\ndef srmd_degradation(x, k, sf=3):\n    \"\"\"blur + bicubic downsampling\n    Args:\n        x: HxWxC image, [0, 1]\n        k: hxw, double\n        sf: down-scale factor\n    Return:\n        downsampled LR image\n    Reference:\n        @inproceedings{zhang2018learning,\n          title={Learning a single convolutional super-resolution network for multiple degradations},\n          author={Zhang, Kai and Zuo, Wangmeng and Zhang, Lei},\n          booktitle={IEEE Conference on Computer Vision and Pattern Recognition},\n          pages={3262--3271},\n          year={2018}\n        }\n    \"\"\"\n    x = ndimage.filters.convolve(\n        x, np.expand_dims(k, axis=2), mode=\"wrap\"\n    )  # 'nearest' | 'mirror'\n    x = bicubic_degradation(x, sf=sf)\n    return x\n\n\ndef dpsr_degradation(x, k, sf=3):\n    \"\"\"bicubic downsampling + blur\n    Args:\n        x: HxWxC image, [0, 1]\n        k: hxw, double\n        sf: down-scale factor\n    Return:\n        downsampled LR image\n    Reference:\n        @inproceedings{zhang2019deep,\n          title={Deep Plug-and-Play Super-Resolution for Arbitrary Blur Kernels},\n          author={Zhang, Kai and Zuo, Wangmeng and Zhang, Lei},\n          booktitle={IEEE Conference on Computer Vision and Pattern Recognition},\n          pages={1671--1681},\n          year={2019}\n        }\n    \"\"\"\n    x = bicubic_degradation(x, sf=sf)\n    x = ndimage.filters.convolve(x, np.expand_dims(k, axis=2), mode=\"wrap\")\n    return x\n\n\ndef classical_degradation(x, k, sf=3):\n    \"\"\"blur + downsampling\n    Args:\n        x: HxWxC image, [0, 1]/[0, 255]\n        k: hxw, double\n        sf: down-scale factor\n    Return:\n        downsampled LR image\n    \"\"\"\n    x = ndimage.filters.convolve(x, np.expand_dims(k, axis=2), mode=\"wrap\")\n    # x = filters.correlate(x, np.expand_dims(np.flip(k), axis=2))\n    st = 0\n    return x[st::sf, st::sf, ...]\n\n\ndef add_sharpening(img, weight=0.5, radius=50, threshold=10):\n    \"\"\"USM sharpening. borrowed from real-ESRGAN\n    Input image: I; Blurry image: B.\n    1. K = I + weight * (I - B)\n    2. Mask = 1 if abs(I - B) > threshold, else: 0\n    3. Blur mask:\n    4. Out = Mask * K + (1 - Mask) * I\n    Args:\n        img (Numpy array): Input image, HWC, BGR; float32, [0, 1].\n        weight (float): Sharp weight. Default: 1.\n        radius (float): Kernel size of Gaussian blur. Default: 50.\n        threshold (int):\n    \"\"\"\n    if radius % 2 == 0:\n        radius += 1\n    blur = cv2.GaussianBlur(img, (radius, radius), 0)\n    residual = img - blur\n    mask = np.abs(residual) * 255 > threshold\n    mask = mask.astype(\"float32\")\n    soft_mask = cv2.GaussianBlur(mask, (radius, radius), 0)\n\n    K = img + weight * residual\n    K = np.clip(K, 0, 1)\n    return soft_mask * K + (1 - soft_mask) * img\n\n\ndef add_blur(img, sf=4):\n    wd2 = 4.0 + sf\n    wd = 2.0 + 0.2 * sf\n\n    wd2 = wd2 / 4\n    wd = wd / 4\n\n    if random.random() < 0.5:\n        l1 = wd2 * random.random()\n        l2 = wd2 * random.random()\n        k = anisotropic_Gaussian(\n            ksize=random.randint(2, 11) + 3, theta=random.random() * np.pi, l1=l1, l2=l2\n        )\n    else:\n        k = fspecial(\"gaussian\", random.randint(2, 4) + 3, wd * random.random())\n    img = ndimage.filters.convolve(img, np.expand_dims(k, axis=2), mode=\"mirror\")\n\n    return img\n\n\ndef add_resize(img, sf=4):\n    rnum = np.random.rand()\n    if rnum > 0.8:  # up\n        sf1 = random.uniform(1, 2)\n    elif rnum < 0.7:  # down\n        sf1 = random.uniform(0.5 / sf, 1)\n    else:\n        sf1 = 1.0\n    img = cv2.resize(\n        img,\n        (int(sf1 * img.shape[1]), int(sf1 * img.shape[0])),\n        interpolation=random.choice([1, 2, 3]),\n    )\n    img = np.clip(img, 0.0, 1.0)\n\n    return img\n\n\n# def add_Gaussian_noise(img, noise_level1=2, noise_level2=25):\n#     noise_level = random.randint(noise_level1, noise_level2)\n#     rnum = np.random.rand()\n#     if rnum > 0.6:  # add color Gaussian noise\n#         img += np.random.normal(0, noise_level / 255.0, img.shape).astype(np.float32)\n#     elif rnum < 0.4:  # add grayscale Gaussian noise\n#         img += np.random.normal(0, noise_level / 255.0, (*img.shape[:2], 1)).astype(np.float32)\n#     else:  # add  noise\n#         L = noise_level2 / 255.\n#         D = np.diag(np.random.rand(3))\n#         U = orth(np.random.rand(3, 3))\n#         conv = np.dot(np.dot(np.transpose(U), D), U)\n#         img += np.random.multivariate_normal([0, 0, 0], np.abs(L ** 2 * conv), img.shape[:2]).astype(np.float32)\n#     img = np.clip(img, 0.0, 1.0)\n#     return img\n\n\ndef add_Gaussian_noise(img, noise_level1=2, noise_level2=25):\n    noise_level = random.randint(noise_level1, noise_level2)\n    rnum = np.random.rand()\n    if rnum > 0.6:  # add color Gaussian noise\n        img = img + np.random.normal(0, noise_level / 255.0, img.shape).astype(\n            np.float32\n        )\n    elif rnum < 0.4:  # add grayscale Gaussian noise\n        img = img + np.random.normal(\n            0, noise_level / 255.0, (*img.shape[:2], 1)\n        ).astype(np.float32)\n    else:  # add  noise\n        L = noise_level2 / 255.0\n        D = np.diag(np.random.rand(3))\n        U = orth(np.random.rand(3, 3))\n        conv = np.dot(np.dot(np.transpose(U), D), U)\n        img = img + np.random.multivariate_normal(\n            [0, 0, 0], np.abs(L**2 * conv), img.shape[:2]\n        ).astype(np.float32)\n    img = np.clip(img, 0.0, 1.0)\n    return img\n\n\ndef add_speckle_noise(img, noise_level1=2, noise_level2=25):\n    noise_level = random.randint(noise_level1, noise_level2)\n    img = np.clip(img, 0.0, 1.0)\n    rnum = random.random()\n    if rnum > 0.6:\n        img += img * np.random.normal(0, noise_level / 255.0, img.shape).astype(\n            np.float32\n        )\n    elif rnum < 0.4:\n        img += img * np.random.normal(\n            0, noise_level / 255.0, (*img.shape[:2], 1)\n        ).astype(np.float32)\n    else:\n        L = noise_level2 / 255.0\n        D = np.diag(np.random.rand(3))\n        U = orth(np.random.rand(3, 3))\n        conv = np.dot(np.dot(np.transpose(U), D), U)\n        img += img * np.random.multivariate_normal(\n            [0, 0, 0], np.abs(L**2 * conv), img.shape[:2]\n        ).astype(np.float32)\n    img = np.clip(img, 0.0, 1.0)\n    return img\n\n\ndef add_Poisson_noise(img):\n    img = np.clip((img * 255.0).round(), 0, 255) / 255.0\n    vals = 10 ** (2 * random.random() + 2.0)  # [2, 4]\n    if random.random() < 0.5:\n        img = np.random.poisson(img * vals).astype(np.float32) / vals\n    else:\n        img_gray = np.dot(img[..., :3], [0.299, 0.587, 0.114])\n        img_gray = np.clip((img_gray * 255.0).round(), 0, 255) / 255.0\n        noise_gray = (\n            np.random.poisson(img_gray * vals).astype(np.float32) / vals - img_gray\n        )\n        img += noise_gray[:, :, np.newaxis]\n    img = np.clip(img, 0.0, 1.0)\n    return img\n\n\ndef add_JPEG_noise(img):\n    quality_factor = random.randint(80, 95)\n    img = cv2.cvtColor(util.single2uint(img), cv2.COLOR_RGB2BGR)\n    result, encimg = cv2.imencode(\n        \".jpg\", img, [int(cv2.IMWRITE_JPEG_QUALITY), quality_factor]\n    )\n    img = cv2.imdecode(encimg, 1)\n    img = cv2.cvtColor(util.uint2single(img), cv2.COLOR_BGR2RGB)\n    return img\n\n\ndef random_crop(lq, hq, sf=4, lq_patchsize=64):\n    h, w = lq.shape[:2]\n    rnd_h = random.randint(0, h - lq_patchsize)\n    rnd_w = random.randint(0, w - lq_patchsize)\n    lq = lq[rnd_h : rnd_h + lq_patchsize, rnd_w : rnd_w + lq_patchsize, :]\n\n    rnd_h_H, rnd_w_H = int(rnd_h * sf), int(rnd_w * sf)\n    hq = hq[\n        rnd_h_H : rnd_h_H + lq_patchsize * sf, rnd_w_H : rnd_w_H + lq_patchsize * sf, :\n    ]\n    return lq, hq\n\n\ndef degradation_bsrgan(img, sf=4, lq_patchsize=72, isp_model=None):\n    \"\"\"\n    This is the degradation model of BSRGAN from the paper\n    \"Designing a Practical Degradation Model for Deep Blind Image Super-Resolution\"\n    ----------\n    img: HXWXC, [0, 1], its size should be large than (lq_patchsizexsf)x(lq_patchsizexsf)\n    sf: scale factor\n    isp_model: camera ISP model\n    Returns\n    -------\n    img: low-quality patch, size: lq_patchsizeXlq_patchsizeXC, range: [0, 1]\n    hq: corresponding high-quality patch, size: (lq_patchsizexsf)X(lq_patchsizexsf)XC, range: [0, 1]\n    \"\"\"\n    isp_prob, jpeg_prob, scale2_prob = 0.25, 0.9, 0.25\n    sf_ori = sf\n\n    h1, w1 = img.shape[:2]\n    img = img.copy()[: w1 - w1 % sf, : h1 - h1 % sf, ...]  # mod crop\n    h, w = img.shape[:2]\n\n    if h < lq_patchsize * sf or w < lq_patchsize * sf:\n        raise ValueError(f\"img size ({h1}X{w1}) is too small!\")\n\n    hq = img.copy()\n\n    if sf == 4 and random.random() < scale2_prob:  # downsample1\n        if np.random.rand() < 0.5:\n            img = cv2.resize(\n                img,\n                (int(1 / 2 * img.shape[1]), int(1 / 2 * img.shape[0])),\n                interpolation=random.choice([1, 2, 3]),\n            )\n        else:\n            img = util.imresize_np(img, 1 / 2, True)\n        img = np.clip(img, 0.0, 1.0)\n        sf = 2\n\n    shuffle_order = random.sample(range(7), 7)\n    idx1, idx2 = shuffle_order.index(2), shuffle_order.index(3)\n    if idx1 > idx2:  # keep downsample3 last\n        shuffle_order[idx1], shuffle_order[idx2] = (\n            shuffle_order[idx2],\n            shuffle_order[idx1],\n        )\n\n    for i in shuffle_order:\n        if i == 0:\n            img = add_blur(img, sf=sf)\n\n        elif i == 1:\n            img = add_blur(img, sf=sf)\n\n        elif i == 2:\n            a, b = img.shape[1], img.shape[0]\n            # downsample2\n            if random.random() < 0.75:\n                sf1 = random.uniform(1, 2 * sf)\n                img = cv2.resize(\n                    img,\n                    (int(1 / sf1 * img.shape[1]), int(1 / sf1 * img.shape[0])),\n                    interpolation=random.choice([1, 2, 3]),\n                )\n            else:\n                k = fspecial(\"gaussian\", 25, random.uniform(0.1, 0.6 * sf))\n                k_shifted = shift_pixel(k, sf)\n                k_shifted = k_shifted / k_shifted.sum()  # blur with shifted kernel\n                img = ndimage.filters.convolve(\n                    img, np.expand_dims(k_shifted, axis=2), mode=\"mirror\"\n                )\n                img = img[0::sf, 0::sf, ...]  # nearest downsampling\n            img = np.clip(img, 0.0, 1.0)\n\n        elif i == 3:\n            # downsample3\n            img = cv2.resize(\n                img,\n                (int(1 / sf * a), int(1 / sf * b)),\n                interpolation=random.choice([1, 2, 3]),\n            )\n            img = np.clip(img, 0.0, 1.0)\n\n        elif i == 4:\n            # add Gaussian noise\n            img = add_Gaussian_noise(img, noise_level1=2, noise_level2=8)\n\n        elif i == 5:\n            # add JPEG noise\n            if random.random() < jpeg_prob:\n                img = add_JPEG_noise(img)\n\n        elif i == 6:\n            # add processed camera sensor noise\n            if random.random() < isp_prob and isp_model is not None:\n                with torch.no_grad():\n                    img, hq = isp_model.forward(img.copy(), hq)\n\n    # add final JPEG compression noise\n    img = add_JPEG_noise(img)\n\n    # random crop\n    img, hq = random_crop(img, hq, sf_ori, lq_patchsize)\n\n    return img, hq\n\n\n# todo no isp_model?\ndef degradation_bsrgan_variant(image, sf=4, isp_model=None):\n    \"\"\"\n    This is the degradation model of BSRGAN from the paper\n    \"Designing a Practical Degradation Model for Deep Blind Image Super-Resolution\"\n    ----------\n    sf: scale factor\n    isp_model: camera ISP model\n    Returns\n    -------\n    img: low-quality patch, size: lq_patchsizeXlq_patchsizeXC, range: [0, 1]\n    hq: corresponding high-quality patch, size: (lq_patchsizexsf)X(lq_patchsizexsf)XC, range: [0, 1]\n    \"\"\"\n    image = util.uint2single(image)\n    isp_prob, jpeg_prob, scale2_prob = 0.25, 0.9, 0.25\n\n    h1, w1 = image.shape[:2]\n    image = image.copy()[: w1 - w1 % sf, : h1 - h1 % sf, ...]  # mod crop\n    h, w = image.shape[:2]\n\n    image.copy()\n\n    if sf == 4 and random.random() < scale2_prob:  # downsample1\n        if np.random.rand() < 0.5:\n            image = cv2.resize(\n                image,\n                (int(1 / 2 * image.shape[1]), int(1 / 2 * image.shape[0])),\n                interpolation=random.choice([1, 2, 3]),\n            )\n        else:\n            image = util.imresize_np(image, 1 / 2, True)\n        image = np.clip(image, 0.0, 1.0)\n        sf = 2\n\n    shuffle_order = random.sample(range(7), 7)\n    idx1, idx2 = shuffle_order.index(2), shuffle_order.index(3)\n    if idx1 > idx2:  # keep downsample3 last\n        shuffle_order[idx1], shuffle_order[idx2] = (\n            shuffle_order[idx2],\n            shuffle_order[idx1],\n        )\n\n    for i in shuffle_order:\n        if i == 0:\n            image = add_blur(image, sf=sf)\n\n        # elif i == 1:\n        #     image = add_blur(image, sf=sf)\n\n        if i == 0:\n            pass\n\n        elif i == 2:\n            a, b = image.shape[1], image.shape[0]\n            # downsample2\n            if random.random() < 0.8:\n                sf1 = random.uniform(1, 2 * sf)\n                image = cv2.resize(\n                    image,\n                    (int(1 / sf1 * image.shape[1]), int(1 / sf1 * image.shape[0])),\n                    interpolation=random.choice([1, 2, 3]),\n                )\n            else:\n                k = fspecial(\"gaussian\", 25, random.uniform(0.1, 0.6 * sf))\n                k_shifted = shift_pixel(k, sf)\n                k_shifted = k_shifted / k_shifted.sum()  # blur with shifted kernel\n                image = ndimage.filters.convolve(\n                    image, np.expand_dims(k_shifted, axis=2), mode=\"mirror\"\n                )\n                image = image[0::sf, 0::sf, ...]  # nearest downsampling\n\n            image = np.clip(image, 0.0, 1.0)\n\n        elif i == 3:\n            # downsample3\n            image = cv2.resize(\n                image,\n                (int(1 / sf * a), int(1 / sf * b)),\n                interpolation=random.choice([1, 2, 3]),\n            )\n            image = np.clip(image, 0.0, 1.0)\n\n        elif i == 4:\n            # add Gaussian noise\n            image = add_Gaussian_noise(image, noise_level1=1, noise_level2=2)\n\n        elif i == 5:\n            # add JPEG noise\n            if random.random() < jpeg_prob:\n                image = add_JPEG_noise(image)\n        #\n        # elif i == 6:\n        #     # add processed camera sensor noise\n        #     if random.random() < isp_prob and isp_model is not None:\n        #         with torch.no_grad():\n        #             img, hq = isp_model.forward(img.copy(), hq)\n\n    # add final JPEG compression noise\n    image = add_JPEG_noise(image)\n    image = util.single2uint(image)\n    example = {\"image\": image}\n    return example\n\n\nif __name__ == \"__main__\":\n    print(\"hey\")\n    img = util.imread_uint(\"utils/test.png\", 3)\n    img = img[:448, :448]\n    h = img.shape[0] // 4\n    print(\"resizing to\", h)\n    sf = 4\n    deg_fn = partial(degradation_bsrgan_variant, sf=sf)\n    for i in range(20):\n        print(i)\n        img_hq = img\n        img_lq = deg_fn(img)[\"image\"]\n        img_hq, img_lq = util.uint2single(img_hq), util.uint2single(img_lq)\n        print(img_lq)\n        img_lq_bicubic = albumentations.SmallestMaxSize(\n            max_size=h, interpolation=cv2.INTER_CUBIC\n        )(image=img_hq)[\"image\"]\n        print(img_lq.shape)\n        print(\"bicubic\", img_lq_bicubic.shape)\n        print(img_hq.shape)\n        lq_nearest = cv2.resize(\n            util.single2uint(img_lq),\n            (int(sf * img_lq.shape[1]), int(sf * img_lq.shape[0])),\n            interpolation=0,\n        )\n        lq_bicubic_nearest = cv2.resize(\n            util.single2uint(img_lq_bicubic),\n            (int(sf * img_lq.shape[1]), int(sf * img_lq.shape[0])),\n            interpolation=0,\n        )\n        img_concat = np.concatenate(\n            [lq_bicubic_nearest, lq_nearest, util.single2uint(img_hq)], axis=1\n        )\n        util.imsave(img_concat, str(i) + \".png\")\n"
  },
  {
    "path": "ldm/modules/image_degradation/utils_image.py",
    "content": "import os\nimport math\nimport random\nimport numpy as np\nimport torch\nimport cv2\nfrom torchvision.utils import make_grid\nfrom datetime import datetime\n\n# import matplotlib.pyplot as plt   # TODO: check with Dominik, also bsrgan.py vs bsrgan_light.py\n\n\nos.environ[\"KMP_DUPLICATE_LIB_OK\"] = \"TRUE\"\n\n\n\"\"\"\n# --------------------------------------------\n# Kai Zhang (github: https://github.com/cszn)\n# 03/Mar/2019\n# --------------------------------------------\n# https://github.com/twhui/SRGAN-pyTorch\n# https://github.com/xinntao/BasicSR\n# --------------------------------------------\n\"\"\"\n\n\nIMG_EXTENSIONS = [\n    \".jpg\",\n    \".JPG\",\n    \".jpeg\",\n    \".JPEG\",\n    \".png\",\n    \".PNG\",\n    \".ppm\",\n    \".PPM\",\n    \".bmp\",\n    \".BMP\",\n    \".tif\",\n]\n\n\ndef is_image_file(filename):\n    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)\n\n\ndef get_timestamp():\n    return datetime.now().strftime(\"%y%m%d-%H%M%S\")\n\n\ndef imshow(x, title=None, cbar=False, figsize=None):\n    plt.figure(figsize=figsize)\n    plt.imshow(np.squeeze(x), interpolation=\"nearest\", cmap=\"gray\")\n    if title:\n        plt.title(title)\n    if cbar:\n        plt.colorbar()\n    plt.show()\n\n\ndef surf(Z, cmap=\"rainbow\", figsize=None):\n    plt.figure(figsize=figsize)\n    ax3 = plt.axes(projection=\"3d\")\n\n    w, h = Z.shape[:2]\n    xx = np.arange(0, w, 1)\n    yy = np.arange(0, h, 1)\n    X, Y = np.meshgrid(xx, yy)\n    ax3.plot_surface(X, Y, Z, cmap=cmap)\n    # ax3.contour(X,Y,Z, zdim='z',offset=-2，cmap=cmap)\n    plt.show()\n\n\n\"\"\"\n# --------------------------------------------\n# get image pathes\n# --------------------------------------------\n\"\"\"\n\n\ndef get_image_paths(dataroot):\n    paths = None  # return None if dataroot is None\n    if dataroot is not None:\n        paths = sorted(_get_paths_from_images(dataroot))\n    return paths\n\n\ndef _get_paths_from_images(path):\n    assert os.path.isdir(path), \"{:s} is not a valid directory\".format(path)\n    images = []\n    for dirpath, _, fnames in sorted(os.walk(path)):\n        for fname in sorted(fnames):\n            if is_image_file(fname):\n                img_path = os.path.join(dirpath, fname)\n                images.append(img_path)\n    assert images, \"{:s} has no valid image file\".format(path)\n    return images\n\n\n\"\"\"\n# --------------------------------------------\n# split large images into small images\n# --------------------------------------------\n\"\"\"\n\n\ndef patches_from_image(img, p_size=512, p_overlap=64, p_max=800):\n    w, h = img.shape[:2]\n    patches = []\n    if w > p_max and h > p_max:\n        w1 = list(np.arange(0, w - p_size, p_size - p_overlap, dtype=np.int))\n        h1 = list(np.arange(0, h - p_size, p_size - p_overlap, dtype=np.int))\n        w1.append(w - p_size)\n        h1.append(h - p_size)\n        #        print(w1)\n        #        print(h1)\n        for i in w1:\n            for j in h1:\n                patches.append(img[i : i + p_size, j : j + p_size, :])\n    else:\n        patches.append(img)\n\n    return patches\n\n\ndef imssave(imgs, img_path):\n    \"\"\"\n    imgs: list, N images of size WxHxC\n    \"\"\"\n    img_name, ext = os.path.splitext(os.path.basename(img_path))\n\n    for i, img in enumerate(imgs):\n        if img.ndim == 3:\n            img = img[:, :, [2, 1, 0]]\n        new_path = os.path.join(\n            os.path.dirname(img_path), img_name + str(\"_s{:04d}\".format(i)) + \".png\"\n        )\n        cv2.imwrite(new_path, img)\n\n\ndef split_imageset(\n    original_dataroot,\n    taget_dataroot,\n    n_channels=3,\n    p_size=800,\n    p_overlap=96,\n    p_max=1000,\n):\n    \"\"\"\n    split the large images from original_dataroot into small overlapped images with size (p_size)x(p_size),\n    and save them into taget_dataroot; only the images with larger size than (p_max)x(p_max)\n    will be splitted.\n    Args:\n        original_dataroot:\n        taget_dataroot:\n        p_size: size of small images\n        p_overlap: patch size in training is a good choice\n        p_max: images with smaller size than (p_max)x(p_max) keep unchanged.\n    \"\"\"\n    paths = get_image_paths(original_dataroot)\n    for img_path in paths:\n        # img_name, ext = os.path.splitext(os.path.basename(img_path))\n        img = imread_uint(img_path, n_channels=n_channels)\n        patches = patches_from_image(img, p_size, p_overlap, p_max)\n        imssave(patches, os.path.join(taget_dataroot, os.path.basename(img_path)))\n        # if original_dataroot == taget_dataroot:\n        # del img_path\n\n\n\"\"\"\n# --------------------------------------------\n# makedir\n# --------------------------------------------\n\"\"\"\n\n\ndef mkdir(path):\n    if not os.path.exists(path):\n        os.makedirs(path)\n\n\ndef mkdirs(paths):\n    if isinstance(paths, str):\n        mkdir(paths)\n    else:\n        for path in paths:\n            mkdir(path)\n\n\ndef mkdir_and_rename(path):\n    if os.path.exists(path):\n        new_name = path + \"_archived_\" + get_timestamp()\n        print(\"Path already exists. Rename it to [{:s}]\".format(new_name))\n        os.rename(path, new_name)\n    os.makedirs(path)\n\n\n\"\"\"\n# --------------------------------------------\n# read image from path\n# opencv is fast, but read BGR numpy image\n# --------------------------------------------\n\"\"\"\n\n\n# --------------------------------------------\n# get uint8 image of size HxWxn_channles (RGB)\n# --------------------------------------------\ndef imread_uint(path, n_channels=3):\n    #  input: path\n    # output: HxWx3(RGB or GGG), or HxWx1 (G)\n    if n_channels == 1:\n        img = cv2.imread(path, 0)  # cv2.IMREAD_GRAYSCALE\n        img = np.expand_dims(img, axis=2)  # HxWx1\n    elif n_channels == 3:\n        img = cv2.imread(path, cv2.IMREAD_UNCHANGED)  # BGR or G\n        if img.ndim == 2:\n            img = cv2.cvtColor(img, cv2.COLOR_GRAY2RGB)  # GGG\n        else:\n            img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)  # RGB\n    return img\n\n\n# --------------------------------------------\n# matlab's imwrite\n# --------------------------------------------\ndef imsave(img, img_path):\n    img = np.squeeze(img)\n    if img.ndim == 3:\n        img = img[:, :, [2, 1, 0]]\n    cv2.imwrite(img_path, img)\n\n\ndef imwrite(img, img_path):\n    img = np.squeeze(img)\n    if img.ndim == 3:\n        img = img[:, :, [2, 1, 0]]\n    cv2.imwrite(img_path, img)\n\n\n# --------------------------------------------\n# get single image of size HxWxn_channles (BGR)\n# --------------------------------------------\ndef read_img(path):\n    # read image by cv2\n    # return: Numpy float32, HWC, BGR, [0,1]\n    img = cv2.imread(path, cv2.IMREAD_UNCHANGED)  # cv2.IMREAD_GRAYSCALE\n    img = img.astype(np.float32) / 255.0\n    if img.ndim == 2:\n        img = np.expand_dims(img, axis=2)\n    # some images have 4 channels\n    if img.shape[2] > 3:\n        img = img[:, :, :3]\n    return img\n\n\n\"\"\"\n# --------------------------------------------\n# image format conversion\n# --------------------------------------------\n# numpy(single) <--->  numpy(unit)\n# numpy(single) <--->  tensor\n# numpy(unit)   <--->  tensor\n# --------------------------------------------\n\"\"\"\n\n\n# --------------------------------------------\n# numpy(single) [0, 1] <--->  numpy(unit)\n# --------------------------------------------\n\n\ndef uint2single(img):\n    return np.float32(img / 255.0)\n\n\ndef single2uint(img):\n    return np.uint8((img.clip(0, 1) * 255.0).round())\n\n\ndef uint162single(img):\n    return np.float32(img / 65535.0)\n\n\ndef single2uint16(img):\n    return np.uint16((img.clip(0, 1) * 65535.0).round())\n\n\n# --------------------------------------------\n# numpy(unit) (HxWxC or HxW) <--->  tensor\n# --------------------------------------------\n\n\n# convert uint to 4-dimensional torch tensor\ndef uint2tensor4(img):\n    if img.ndim == 2:\n        img = np.expand_dims(img, axis=2)\n    return (\n        torch.from_numpy(np.ascontiguousarray(img))\n        .permute(2, 0, 1)\n        .float()\n        .div(255.0)\n        .unsqueeze(0)\n    )\n\n\n# convert uint to 3-dimensional torch tensor\ndef uint2tensor3(img):\n    if img.ndim == 2:\n        img = np.expand_dims(img, axis=2)\n    return (\n        torch.from_numpy(np.ascontiguousarray(img)).permute(2, 0, 1).float().div(255.0)\n    )\n\n\n# convert 2/3/4-dimensional torch tensor to uint\ndef tensor2uint(img):\n    img = img.data.squeeze().float().clamp_(0, 1).cpu().numpy()\n    if img.ndim == 3:\n        img = np.transpose(img, (1, 2, 0))\n    return np.uint8((img * 255.0).round())\n\n\n# --------------------------------------------\n# numpy(single) (HxWxC) <--->  tensor\n# --------------------------------------------\n\n\n# convert single (HxWxC) to 3-dimensional torch tensor\ndef single2tensor3(img):\n    return torch.from_numpy(np.ascontiguousarray(img)).permute(2, 0, 1).float()\n\n\n# convert single (HxWxC) to 4-dimensional torch tensor\ndef single2tensor4(img):\n    return (\n        torch.from_numpy(np.ascontiguousarray(img))\n        .permute(2, 0, 1)\n        .float()\n        .unsqueeze(0)\n    )\n\n\n# convert torch tensor to single\ndef tensor2single(img):\n    img = img.data.squeeze().float().cpu().numpy()\n    if img.ndim == 3:\n        img = np.transpose(img, (1, 2, 0))\n\n    return img\n\n\n# convert torch tensor to single\ndef tensor2single3(img):\n    img = img.data.squeeze().float().cpu().numpy()\n    if img.ndim == 3:\n        img = np.transpose(img, (1, 2, 0))\n    elif img.ndim == 2:\n        img = np.expand_dims(img, axis=2)\n    return img\n\n\ndef single2tensor5(img):\n    return (\n        torch.from_numpy(np.ascontiguousarray(img))\n        .permute(2, 0, 1, 3)\n        .float()\n        .unsqueeze(0)\n    )\n\n\ndef single32tensor5(img):\n    return torch.from_numpy(np.ascontiguousarray(img)).float().unsqueeze(0).unsqueeze(0)\n\n\ndef single42tensor4(img):\n    return torch.from_numpy(np.ascontiguousarray(img)).permute(2, 0, 1, 3).float()\n\n\n# from skimage.io import imread, imsave\ndef tensor2img(tensor, out_type=np.uint8, min_max=(0, 1)):\n    \"\"\"\n    Converts a torch Tensor into an image Numpy array of BGR channel order\n    Input: 4D(B,(3/1),H,W), 3D(C,H,W), or 2D(H,W), any range, RGB channel order\n    Output: 3D(H,W,C) or 2D(H,W), [0,255], np.uint8 (default)\n    \"\"\"\n    tensor = (\n        tensor.squeeze().float().cpu().clamp_(*min_max)\n    )  # squeeze first, then clamp\n    tensor = (tensor - min_max[0]) / (min_max[1] - min_max[0])  # to range [0,1]\n    n_dim = tensor.dim()\n    if n_dim == 4:\n        n_img = len(tensor)\n        img_np = make_grid(tensor, nrow=int(math.sqrt(n_img)), normalize=False).numpy()\n        img_np = np.transpose(img_np[[2, 1, 0], :, :], (1, 2, 0))  # HWC, BGR\n    elif n_dim == 3:\n        img_np = tensor.numpy()\n        img_np = np.transpose(img_np[[2, 1, 0], :, :], (1, 2, 0))  # HWC, BGR\n    elif n_dim == 2:\n        img_np = tensor.numpy()\n    else:\n        raise TypeError(\n            \"Only support 4D, 3D and 2D tensor. But received with dimension: {:d}\".format(\n                n_dim\n            )\n        )\n    if out_type == np.uint8:\n        img_np = (img_np * 255.0).round()\n        # Important. Unlike matlab, numpy.unit8() WILL NOT round by default.\n    return img_np.astype(out_type)\n\n\n\"\"\"\n# --------------------------------------------\n# Augmentation, flipe and/or rotate\n# --------------------------------------------\n# The following two are enough.\n# (1) augmet_img: numpy image of WxHxC or WxH\n# (2) augment_img_tensor4: tensor image 1xCxWxH\n# --------------------------------------------\n\"\"\"\n\n\ndef augment_img(img, mode=0):\n    \"\"\"Kai Zhang (github: https://github.com/cszn)\"\"\"\n    if mode == 0:\n        return img\n    elif mode == 1:\n        return np.flipud(np.rot90(img))\n    elif mode == 2:\n        return np.flipud(img)\n    elif mode == 3:\n        return np.rot90(img, k=3)\n    elif mode == 4:\n        return np.flipud(np.rot90(img, k=2))\n    elif mode == 5:\n        return np.rot90(img)\n    elif mode == 6:\n        return np.rot90(img, k=2)\n    elif mode == 7:\n        return np.flipud(np.rot90(img, k=3))\n\n\ndef augment_img_tensor4(img, mode=0):\n    \"\"\"Kai Zhang (github: https://github.com/cszn)\"\"\"\n    if mode == 0:\n        return img\n    elif mode == 1:\n        return img.rot90(1, [2, 3]).flip([2])\n    elif mode == 2:\n        return img.flip([2])\n    elif mode == 3:\n        return img.rot90(3, [2, 3])\n    elif mode == 4:\n        return img.rot90(2, [2, 3]).flip([2])\n    elif mode == 5:\n        return img.rot90(1, [2, 3])\n    elif mode == 6:\n        return img.rot90(2, [2, 3])\n    elif mode == 7:\n        return img.rot90(3, [2, 3]).flip([2])\n\n\ndef augment_img_tensor(img, mode=0):\n    \"\"\"Kai Zhang (github: https://github.com/cszn)\"\"\"\n    img_size = img.size()\n    img_np = img.data.cpu().numpy()\n    if len(img_size) == 3:\n        img_np = np.transpose(img_np, (1, 2, 0))\n    elif len(img_size) == 4:\n        img_np = np.transpose(img_np, (2, 3, 1, 0))\n    img_np = augment_img(img_np, mode=mode)\n    img_tensor = torch.from_numpy(np.ascontiguousarray(img_np))\n    if len(img_size) == 3:\n        img_tensor = img_tensor.permute(2, 0, 1)\n    elif len(img_size) == 4:\n        img_tensor = img_tensor.permute(3, 2, 0, 1)\n\n    return img_tensor.type_as(img)\n\n\ndef augment_img_np3(img, mode=0):\n    if mode == 0:\n        return img\n    elif mode == 1:\n        return img.transpose(1, 0, 2)\n    elif mode == 2:\n        return img[::-1, :, :]\n    elif mode == 3:\n        img = img[::-1, :, :]\n        img = img.transpose(1, 0, 2)\n        return img\n    elif mode == 4:\n        return img[:, ::-1, :]\n    elif mode == 5:\n        img = img[:, ::-1, :]\n        img = img.transpose(1, 0, 2)\n        return img\n    elif mode == 6:\n        img = img[:, ::-1, :]\n        img = img[::-1, :, :]\n        return img\n    elif mode == 7:\n        img = img[:, ::-1, :]\n        img = img[::-1, :, :]\n        img = img.transpose(1, 0, 2)\n        return img\n\n\ndef augment_imgs(img_list, hflip=True, rot=True):\n    # horizontal flip OR rotate\n    hflip = hflip and random.random() < 0.5\n    vflip = rot and random.random() < 0.5\n    rot90 = rot and random.random() < 0.5\n\n    def _augment(img):\n        if hflip:\n            img = img[:, ::-1, :]\n        if vflip:\n            img = img[::-1, :, :]\n        if rot90:\n            img = img.transpose(1, 0, 2)\n        return img\n\n    return [_augment(img) for img in img_list]\n\n\n\"\"\"\n# --------------------------------------------\n# modcrop and shave\n# --------------------------------------------\n\"\"\"\n\n\ndef modcrop(img_in, scale):\n    # img_in: Numpy, HWC or HW\n    img = np.copy(img_in)\n    if img.ndim == 2:\n        H, W = img.shape\n        H_r, W_r = H % scale, W % scale\n        img = img[: H - H_r, : W - W_r]\n    elif img.ndim == 3:\n        H, W, C = img.shape\n        H_r, W_r = H % scale, W % scale\n        img = img[: H - H_r, : W - W_r, :]\n    else:\n        raise ValueError(\"Wrong img ndim: [{:d}].\".format(img.ndim))\n    return img\n\n\ndef shave(img_in, border=0):\n    # img_in: Numpy, HWC or HW\n    img = np.copy(img_in)\n    h, w = img.shape[:2]\n    img = img[border : h - border, border : w - border]\n    return img\n\n\n\"\"\"\n# --------------------------------------------\n# image processing process on numpy image\n# channel_convert(in_c, tar_type, img_list):\n# rgb2ycbcr(img, only_y=True):\n# bgr2ycbcr(img, only_y=True):\n# ycbcr2rgb(img):\n# --------------------------------------------\n\"\"\"\n\n\ndef rgb2ycbcr(img, only_y=True):\n    \"\"\"same as matlab rgb2ycbcr\n    only_y: only return Y channel\n    Input:\n        uint8, [0, 255]\n        float, [0, 1]\n    \"\"\"\n    in_img_type = img.dtype\n    img.astype(np.float32)\n    if in_img_type != np.uint8:\n        img *= 255.0\n    # convert\n    if only_y:\n        rlt = np.dot(img, [65.481, 128.553, 24.966]) / 255.0 + 16.0\n    else:\n        rlt = np.matmul(\n            img,\n            [\n                [65.481, -37.797, 112.0],\n                [128.553, -74.203, -93.786],\n                [24.966, 112.0, -18.214],\n            ],\n        ) / 255.0 + [16, 128, 128]\n    if in_img_type == np.uint8:\n        rlt = rlt.round()\n    else:\n        rlt /= 255.0\n    return rlt.astype(in_img_type)\n\n\ndef ycbcr2rgb(img):\n    \"\"\"same as matlab ycbcr2rgb\n    Input:\n        uint8, [0, 255]\n        float, [0, 1]\n    \"\"\"\n    in_img_type = img.dtype\n    img.astype(np.float32)\n    if in_img_type != np.uint8:\n        img *= 255.0\n    # convert\n    rlt = np.matmul(\n        img,\n        [\n            [0.00456621, 0.00456621, 0.00456621],\n            [0, -0.00153632, 0.00791071],\n            [0.00625893, -0.00318811, 0],\n        ],\n    ) * 255.0 + [-222.921, 135.576, -276.836]\n    if in_img_type == np.uint8:\n        rlt = rlt.round()\n    else:\n        rlt /= 255.0\n    return rlt.astype(in_img_type)\n\n\ndef bgr2ycbcr(img, only_y=True):\n    \"\"\"bgr version of rgb2ycbcr\n    only_y: only return Y channel\n    Input:\n        uint8, [0, 255]\n        float, [0, 1]\n    \"\"\"\n    in_img_type = img.dtype\n    img.astype(np.float32)\n    if in_img_type != np.uint8:\n        img *= 255.0\n    # convert\n    if only_y:\n        rlt = np.dot(img, [24.966, 128.553, 65.481]) / 255.0 + 16.0\n    else:\n        rlt = np.matmul(\n            img,\n            [\n                [24.966, 112.0, -18.214],\n                [128.553, -74.203, -93.786],\n                [65.481, -37.797, 112.0],\n            ],\n        ) / 255.0 + [16, 128, 128]\n    if in_img_type == np.uint8:\n        rlt = rlt.round()\n    else:\n        rlt /= 255.0\n    return rlt.astype(in_img_type)\n\n\ndef channel_convert(in_c, tar_type, img_list):\n    # conversion among BGR, gray and y\n    if in_c == 3 and tar_type == \"gray\":  # BGR to gray\n        gray_list = [cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) for img in img_list]\n        return [np.expand_dims(img, axis=2) for img in gray_list]\n    elif in_c == 3 and tar_type == \"y\":  # BGR to y\n        y_list = [bgr2ycbcr(img, only_y=True) for img in img_list]\n        return [np.expand_dims(img, axis=2) for img in y_list]\n    elif in_c == 1 and tar_type == \"RGB\":  # gray/y to BGR\n        return [cv2.cvtColor(img, cv2.COLOR_GRAY2BGR) for img in img_list]\n    else:\n        return img_list\n\n\n\"\"\"\n# --------------------------------------------\n# metric, PSNR and SSIM\n# --------------------------------------------\n\"\"\"\n\n\n# --------------------------------------------\n# PSNR\n# --------------------------------------------\ndef calculate_psnr(img1, img2, border=0):\n    # img1 and img2 have range [0, 255]\n    # img1 = img1.squeeze()\n    # img2 = img2.squeeze()\n    if not img1.shape == img2.shape:\n        raise ValueError(\"Input images must have the same dimensions.\")\n    h, w = img1.shape[:2]\n    img1 = img1[border : h - border, border : w - border]\n    img2 = img2[border : h - border, border : w - border]\n\n    img1 = img1.astype(np.float64)\n    img2 = img2.astype(np.float64)\n    mse = np.mean((img1 - img2) ** 2)\n    if mse == 0:\n        return float(\"inf\")\n    return 20 * math.log10(255.0 / math.sqrt(mse))\n\n\n# --------------------------------------------\n# SSIM\n# --------------------------------------------\ndef calculate_ssim(img1, img2, border=0):\n    \"\"\"calculate SSIM\n    the same outputs as MATLAB's\n    img1, img2: [0, 255]\n    \"\"\"\n    # img1 = img1.squeeze()\n    # img2 = img2.squeeze()\n    if not img1.shape == img2.shape:\n        raise ValueError(\"Input images must have the same dimensions.\")\n    h, w = img1.shape[:2]\n    img1 = img1[border : h - border, border : w - border]\n    img2 = img2[border : h - border, border : w - border]\n\n    if img1.ndim == 2:\n        return ssim(img1, img2)\n    elif img1.ndim == 3:\n        if img1.shape[2] == 3:\n            ssims = []\n            for i in range(3):\n                ssims.append(ssim(img1[:, :, i], img2[:, :, i]))\n            return np.array(ssims).mean()\n        elif img1.shape[2] == 1:\n            return ssim(np.squeeze(img1), np.squeeze(img2))\n    else:\n        raise ValueError(\"Wrong input image dimensions.\")\n\n\ndef ssim(img1, img2):\n    C1 = (0.01 * 255) ** 2\n    C2 = (0.03 * 255) ** 2\n\n    img1 = img1.astype(np.float64)\n    img2 = img2.astype(np.float64)\n    kernel = cv2.getGaussianKernel(11, 1.5)\n    window = np.outer(kernel, kernel.transpose())\n\n    mu1 = cv2.filter2D(img1, -1, window)[5:-5, 5:-5]  # valid\n    mu2 = cv2.filter2D(img2, -1, window)[5:-5, 5:-5]\n    mu1_sq = mu1**2\n    mu2_sq = mu2**2\n    mu1_mu2 = mu1 * mu2\n    sigma1_sq = cv2.filter2D(img1**2, -1, window)[5:-5, 5:-5] - mu1_sq\n    sigma2_sq = cv2.filter2D(img2**2, -1, window)[5:-5, 5:-5] - mu2_sq\n    sigma12 = cv2.filter2D(img1 * img2, -1, window)[5:-5, 5:-5] - mu1_mu2\n\n    ssim_map = ((2 * mu1_mu2 + C1) * (2 * sigma12 + C2)) / (\n        (mu1_sq + mu2_sq + C1) * (sigma1_sq + sigma2_sq + C2)\n    )\n    return ssim_map.mean()\n\n\n\"\"\"\n# --------------------------------------------\n# matlab's bicubic imresize (numpy and torch) [0, 1]\n# --------------------------------------------\n\"\"\"\n\n\n# matlab 'imresize' function, now only support 'bicubic'\ndef cubic(x):\n    absx = torch.abs(x)\n    absx2 = absx**2\n    absx3 = absx**3\n    return (1.5 * absx3 - 2.5 * absx2 + 1) * ((absx <= 1).type_as(absx)) + (\n        -0.5 * absx3 + 2.5 * absx2 - 4 * absx + 2\n    ) * (((absx > 1) * (absx <= 2)).type_as(absx))\n\n\ndef calculate_weights_indices(\n    in_length, out_length, scale, kernel, kernel_width, antialiasing\n):\n    if (scale < 1) and (antialiasing):\n        # Use a modified kernel to simultaneously interpolate and antialias- larger kernel width\n        kernel_width = kernel_width / scale\n\n    # Output-space coordinates\n    x = torch.linspace(1, out_length, out_length)\n\n    # Input-space coordinates. Calculate the inverse mapping such that 0.5\n    # in output space maps to 0.5 in input space, and 0.5+scale in output\n    # space maps to 1.5 in input space.\n    u = x / scale + 0.5 * (1 - 1 / scale)\n\n    # What is the left-most pixel that can be involved in the computation?\n    left = torch.floor(u - kernel_width / 2)\n\n    # What is the maximum number of pixels that can be involved in the\n    # computation?  Note: it's OK to use an extra pixel here; if the\n    # corresponding weights are all zero, it will be eliminated at the end\n    # of this function.\n    P = math.ceil(kernel_width) + 2\n\n    # The indices of the input pixels involved in computing the k-th output\n    # pixel are in row k of the indices matrix.\n    indices = left.view(out_length, 1).expand(out_length, P) + torch.linspace(\n        0, P - 1, P\n    ).view(1, P).expand(out_length, P)\n\n    # The weights used to compute the k-th output pixel are in row k of the\n    # weights matrix.\n    distance_to_center = u.view(out_length, 1).expand(out_length, P) - indices\n    # apply cubic kernel\n    if (scale < 1) and (antialiasing):\n        weights = scale * cubic(distance_to_center * scale)\n    else:\n        weights = cubic(distance_to_center)\n    # Normalize the weights matrix so that each row sums to 1.\n    weights_sum = torch.sum(weights, 1).view(out_length, 1)\n    weights = weights / weights_sum.expand(out_length, P)\n\n    # If a column in weights is all zero, get rid of it. only consider the first and last column.\n    weights_zero_tmp = torch.sum((weights == 0), 0)\n    if not math.isclose(weights_zero_tmp[0], 0, rel_tol=1e-6):\n        indices = indices.narrow(1, 1, P - 2)\n        weights = weights.narrow(1, 1, P - 2)\n    if not math.isclose(weights_zero_tmp[-1], 0, rel_tol=1e-6):\n        indices = indices.narrow(1, 0, P - 2)\n        weights = weights.narrow(1, 0, P - 2)\n    weights = weights.contiguous()\n    indices = indices.contiguous()\n    sym_len_s = -indices.min() + 1\n    sym_len_e = indices.max() - in_length\n    indices = indices + sym_len_s - 1\n    return weights, indices, int(sym_len_s), int(sym_len_e)\n\n\n# --------------------------------------------\n# imresize for tensor image [0, 1]\n# --------------------------------------------\ndef imresize(img, scale, antialiasing=True):\n    # Now the scale should be the same for H and W\n    # input: img: pytorch tensor, CHW or HW [0,1]\n    # output: CHW or HW [0,1] w/o round\n    need_squeeze = True if img.dim() == 2 else False\n    if need_squeeze:\n        img.unsqueeze_(0)\n    in_C, in_H, in_W = img.size()\n    out_C, out_H, out_W = in_C, math.ceil(in_H * scale), math.ceil(in_W * scale)\n    kernel_width = 4\n    kernel = \"cubic\"\n\n    # Return the desired dimension order for performing the resize.  The\n    # strategy is to perform the resize first along the dimension with the\n    # smallest scale factor.\n    # Now we do not support this.\n\n    # get weights and indices\n    weights_H, indices_H, sym_len_Hs, sym_len_He = calculate_weights_indices(\n        in_H, out_H, scale, kernel, kernel_width, antialiasing\n    )\n    weights_W, indices_W, sym_len_Ws, sym_len_We = calculate_weights_indices(\n        in_W, out_W, scale, kernel, kernel_width, antialiasing\n    )\n    # process H dimension\n    # symmetric copying\n    img_aug = torch.FloatTensor(in_C, in_H + sym_len_Hs + sym_len_He, in_W)\n    img_aug.narrow(1, sym_len_Hs, in_H).copy_(img)\n\n    sym_patch = img[:, :sym_len_Hs, :]\n    inv_idx = torch.arange(sym_patch.size(1) - 1, -1, -1).long()\n    sym_patch_inv = sym_patch.index_select(1, inv_idx)\n    img_aug.narrow(1, 0, sym_len_Hs).copy_(sym_patch_inv)\n\n    sym_patch = img[:, -sym_len_He:, :]\n    inv_idx = torch.arange(sym_patch.size(1) - 1, -1, -1).long()\n    sym_patch_inv = sym_patch.index_select(1, inv_idx)\n    img_aug.narrow(1, sym_len_Hs + in_H, sym_len_He).copy_(sym_patch_inv)\n\n    out_1 = torch.FloatTensor(in_C, out_H, in_W)\n    kernel_width = weights_H.size(1)\n    for i in range(out_H):\n        idx = int(indices_H[i][0])\n        for j in range(out_C):\n            out_1[j, i, :] = (\n                img_aug[j, idx : idx + kernel_width, :].transpose(0, 1).mv(weights_H[i])\n            )\n\n    # process W dimension\n    # symmetric copying\n    out_1_aug = torch.FloatTensor(in_C, out_H, in_W + sym_len_Ws + sym_len_We)\n    out_1_aug.narrow(2, sym_len_Ws, in_W).copy_(out_1)\n\n    sym_patch = out_1[:, :, :sym_len_Ws]\n    inv_idx = torch.arange(sym_patch.size(2) - 1, -1, -1).long()\n    sym_patch_inv = sym_patch.index_select(2, inv_idx)\n    out_1_aug.narrow(2, 0, sym_len_Ws).copy_(sym_patch_inv)\n\n    sym_patch = out_1[:, :, -sym_len_We:]\n    inv_idx = torch.arange(sym_patch.size(2) - 1, -1, -1).long()\n    sym_patch_inv = sym_patch.index_select(2, inv_idx)\n    out_1_aug.narrow(2, sym_len_Ws + in_W, sym_len_We).copy_(sym_patch_inv)\n\n    out_2 = torch.FloatTensor(in_C, out_H, out_W)\n    kernel_width = weights_W.size(1)\n    for i in range(out_W):\n        idx = int(indices_W[i][0])\n        for j in range(out_C):\n            out_2[j, :, i] = out_1_aug[j, :, idx : idx + kernel_width].mv(weights_W[i])\n    if need_squeeze:\n        out_2.squeeze_()\n    return out_2\n\n\n# --------------------------------------------\n# imresize for numpy image [0, 1]\n# --------------------------------------------\ndef imresize_np(img, scale, antialiasing=True):\n    # Now the scale should be the same for H and W\n    # input: img: Numpy, HWC or HW [0,1]\n    # output: HWC or HW [0,1] w/o round\n    img = torch.from_numpy(img)\n    need_squeeze = True if img.dim() == 2 else False\n    if need_squeeze:\n        img.unsqueeze_(2)\n\n    in_H, in_W, in_C = img.size()\n    out_C, out_H, out_W = in_C, math.ceil(in_H * scale), math.ceil(in_W * scale)\n    kernel_width = 4\n    kernel = \"cubic\"\n\n    # Return the desired dimension order for performing the resize.  The\n    # strategy is to perform the resize first along the dimension with the\n    # smallest scale factor.\n    # Now we do not support this.\n\n    # get weights and indices\n    weights_H, indices_H, sym_len_Hs, sym_len_He = calculate_weights_indices(\n        in_H, out_H, scale, kernel, kernel_width, antialiasing\n    )\n    weights_W, indices_W, sym_len_Ws, sym_len_We = calculate_weights_indices(\n        in_W, out_W, scale, kernel, kernel_width, antialiasing\n    )\n    # process H dimension\n    # symmetric copying\n    img_aug = torch.FloatTensor(in_H + sym_len_Hs + sym_len_He, in_W, in_C)\n    img_aug.narrow(0, sym_len_Hs, in_H).copy_(img)\n\n    sym_patch = img[:sym_len_Hs, :, :]\n    inv_idx = torch.arange(sym_patch.size(0) - 1, -1, -1).long()\n    sym_patch_inv = sym_patch.index_select(0, inv_idx)\n    img_aug.narrow(0, 0, sym_len_Hs).copy_(sym_patch_inv)\n\n    sym_patch = img[-sym_len_He:, :, :]\n    inv_idx = torch.arange(sym_patch.size(0) - 1, -1, -1).long()\n    sym_patch_inv = sym_patch.index_select(0, inv_idx)\n    img_aug.narrow(0, sym_len_Hs + in_H, sym_len_He).copy_(sym_patch_inv)\n\n    out_1 = torch.FloatTensor(out_H, in_W, in_C)\n    kernel_width = weights_H.size(1)\n    for i in range(out_H):\n        idx = int(indices_H[i][0])\n        for j in range(out_C):\n            out_1[i, :, j] = (\n                img_aug[idx : idx + kernel_width, :, j].transpose(0, 1).mv(weights_H[i])\n            )\n\n    # process W dimension\n    # symmetric copying\n    out_1_aug = torch.FloatTensor(out_H, in_W + sym_len_Ws + sym_len_We, in_C)\n    out_1_aug.narrow(1, sym_len_Ws, in_W).copy_(out_1)\n\n    sym_patch = out_1[:, :sym_len_Ws, :]\n    inv_idx = torch.arange(sym_patch.size(1) - 1, -1, -1).long()\n    sym_patch_inv = sym_patch.index_select(1, inv_idx)\n    out_1_aug.narrow(1, 0, sym_len_Ws).copy_(sym_patch_inv)\n\n    sym_patch = out_1[:, -sym_len_We:, :]\n    inv_idx = torch.arange(sym_patch.size(1) - 1, -1, -1).long()\n    sym_patch_inv = sym_patch.index_select(1, inv_idx)\n    out_1_aug.narrow(1, sym_len_Ws + in_W, sym_len_We).copy_(sym_patch_inv)\n\n    out_2 = torch.FloatTensor(out_H, out_W, in_C)\n    kernel_width = weights_W.size(1)\n    for i in range(out_W):\n        idx = int(indices_W[i][0])\n        for j in range(out_C):\n            out_2[:, i, j] = out_1_aug[:, idx : idx + kernel_width, j].mv(weights_W[i])\n    if need_squeeze:\n        out_2.squeeze_()\n\n    return out_2.numpy()\n\n\nif __name__ == \"__main__\":\n    print(\"---\")\n#    img = imread_uint('test.bmp', 3)\n#    img = uint2single(img)\n#    img_bicubic = imresize_np(img, 1/4)\n"
  },
  {
    "path": "ldm/modules/losses/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/modules/losses/contperceptual.py",
    "content": "import torch\nimport torch.nn as nn\n\nfrom taming.modules.losses.vqperceptual import *  # TODO: taming dependency yes/no?\n\n\nclass LPIPSWithDiscriminator(nn.Module):\n    def __init__(\n        self,\n        disc_start,\n        logvar_init=0.0,\n        kl_weight=1.0,\n        pixelloss_weight=1.0,\n        disc_num_layers=3,\n        disc_in_channels=3,\n        disc_factor=1.0,\n        disc_weight=1.0,\n        perceptual_weight=1.0,\n        use_actnorm=False,\n        disc_conditional=False,\n        disc_loss=\"hinge\",\n    ):\n        super().__init__()\n        assert disc_loss in [\"hinge\", \"vanilla\"]\n        self.kl_weight = kl_weight\n        self.pixel_weight = pixelloss_weight\n        self.perceptual_loss = LPIPS().eval()\n        self.perceptual_weight = perceptual_weight\n        # output log variance\n        self.logvar = nn.Parameter(torch.ones(size=()) * logvar_init)\n\n        self.discriminator = NLayerDiscriminator(\n            input_nc=disc_in_channels, n_layers=disc_num_layers, use_actnorm=use_actnorm\n        ).apply(weights_init)\n        self.discriminator_iter_start = disc_start\n        self.disc_loss = hinge_d_loss if disc_loss == \"hinge\" else vanilla_d_loss\n        self.disc_factor = disc_factor\n        self.discriminator_weight = disc_weight\n        self.disc_conditional = disc_conditional\n\n    def calculate_adaptive_weight(self, nll_loss, g_loss, last_layer=None):\n        if last_layer is not None:\n            nll_grads = torch.autograd.grad(nll_loss, last_layer, retain_graph=True)[0]\n            g_grads = torch.autograd.grad(g_loss, last_layer, retain_graph=True)[0]\n        else:\n            nll_grads = torch.autograd.grad(\n                nll_loss, self.last_layer[0], retain_graph=True\n            )[0]\n            g_grads = torch.autograd.grad(\n                g_loss, self.last_layer[0], retain_graph=True\n            )[0]\n\n        d_weight = torch.norm(nll_grads) / (torch.norm(g_grads) + 1e-4)\n        d_weight = torch.clamp(d_weight, 0.0, 1e4).detach()\n        d_weight = d_weight * self.discriminator_weight\n        return d_weight\n\n    def forward(\n        self,\n        inputs,\n        reconstructions,\n        posteriors,\n        optimizer_idx,\n        global_step,\n        last_layer=None,\n        cond=None,\n        split=\"train\",\n        weights=None,\n    ):\n        rec_loss = torch.abs(inputs.contiguous() - reconstructions.contiguous())\n        if self.perceptual_weight > 0:\n            p_loss = self.perceptual_loss(\n                inputs.contiguous(), reconstructions.contiguous()\n            )\n            rec_loss = rec_loss + self.perceptual_weight * p_loss\n\n        nll_loss = rec_loss / torch.exp(self.logvar) + self.logvar\n        weighted_nll_loss = nll_loss\n        if weights is not None:\n            weighted_nll_loss = weights * nll_loss\n        weighted_nll_loss = torch.sum(weighted_nll_loss) / weighted_nll_loss.shape[0]\n        nll_loss = torch.sum(nll_loss) / nll_loss.shape[0]\n        kl_loss = posteriors.kl()\n        kl_loss = torch.sum(kl_loss) / kl_loss.shape[0]\n\n        # now the GAN part\n        if optimizer_idx == 0:\n            # generator update\n            if cond is None:\n                assert not self.disc_conditional\n                logits_fake = self.discriminator(reconstructions.contiguous())\n            else:\n                assert self.disc_conditional\n                logits_fake = self.discriminator(\n                    torch.cat((reconstructions.contiguous(), cond), dim=1)\n                )\n            g_loss = -torch.mean(logits_fake)\n\n            if self.disc_factor > 0.0:\n                try:\n                    d_weight = self.calculate_adaptive_weight(\n                        nll_loss, g_loss, last_layer=last_layer\n                    )\n                except RuntimeError:\n                    assert not self.training\n                    d_weight = torch.tensor(0.0)\n            else:\n                d_weight = torch.tensor(0.0)\n\n            disc_factor = adopt_weight(\n                self.disc_factor, global_step, threshold=self.discriminator_iter_start\n            )\n            loss = (\n                weighted_nll_loss\n                + self.kl_weight * kl_loss\n                + d_weight * disc_factor * g_loss\n            )\n\n            log = {\n                \"{}/total_loss\".format(split): loss.clone().detach().mean(),\n                \"{}/logvar\".format(split): self.logvar.detach(),\n                \"{}/kl_loss\".format(split): kl_loss.detach().mean(),\n                \"{}/nll_loss\".format(split): nll_loss.detach().mean(),\n                \"{}/rec_loss\".format(split): rec_loss.detach().mean(),\n                \"{}/d_weight\".format(split): d_weight.detach(),\n                \"{}/disc_factor\".format(split): torch.tensor(disc_factor),\n                \"{}/g_loss\".format(split): g_loss.detach().mean(),\n            }\n            return loss, log\n\n        if optimizer_idx == 1:\n            # second pass for discriminator update\n            if cond is None:\n                logits_real = self.discriminator(inputs.contiguous().detach())\n                logits_fake = self.discriminator(reconstructions.contiguous().detach())\n            else:\n                logits_real = self.discriminator(\n                    torch.cat((inputs.contiguous().detach(), cond), dim=1)\n                )\n                logits_fake = self.discriminator(\n                    torch.cat((reconstructions.contiguous().detach(), cond), dim=1)\n                )\n\n            disc_factor = adopt_weight(\n                self.disc_factor, global_step, threshold=self.discriminator_iter_start\n            )\n            d_loss = disc_factor * self.disc_loss(logits_real, logits_fake)\n\n            log = {\n                \"{}/disc_loss\".format(split): d_loss.clone().detach().mean(),\n                \"{}/logits_real\".format(split): logits_real.detach().mean(),\n                \"{}/logits_fake\".format(split): logits_fake.detach().mean(),\n            }\n            return d_loss, log\n"
  },
  {
    "path": "ldm/modules/losses/vqperceptual.py",
    "content": "import torch\nfrom torch import nn\nimport torch.nn.functional as F\n\nfrom taming.modules.discriminator.model import NLayerDiscriminator, weights_init\nfrom taming.modules.losses.lpips import LPIPS\nfrom taming.modules.losses.vqperceptual import hinge_d_loss, vanilla_d_loss\n\n\ndef hinge_d_loss_with_exemplar_weights(logits_real, logits_fake, weights):\n    assert weights.shape[0] == logits_real.shape[0] == logits_fake.shape[0]\n    loss_real = torch.mean(F.relu(1.0 - logits_real), dim=[1, 2, 3])\n    loss_fake = torch.mean(F.relu(1.0 + logits_fake), dim=[1, 2, 3])\n    loss_real = (weights * loss_real).sum() / weights.sum()\n    loss_fake = (weights * loss_fake).sum() / weights.sum()\n    d_loss = 0.5 * (loss_real + loss_fake)\n    return d_loss\n\n\ndef adopt_weight(weight, global_step, threshold=0, value=0.0):\n    if global_step < threshold:\n        weight = value\n    return weight\n\n\ndef measure_perplexity(predicted_indices, n_embed):\n    # src: https://github.com/karpathy/deep-vector-quantization/blob/main/model.py\n    # eval cluster perplexity. when perplexity == num_embeddings then all clusters are used exactly equally\n    encodings = F.one_hot(predicted_indices, n_embed).float().reshape(-1, n_embed)\n    avg_probs = encodings.mean(0)\n    perplexity = (-(avg_probs * torch.log(avg_probs + 1e-10)).sum()).exp()\n    cluster_use = torch.sum(avg_probs > 0)\n    return perplexity, cluster_use\n\n\ndef l1(x, y):\n    return torch.abs(x - y)\n\n\ndef l2(x, y):\n    return torch.pow((x - y), 2)\n\n\nclass VQLPIPSWithDiscriminator(nn.Module):\n    def __init__(\n        self,\n        disc_start,\n        codebook_weight=1.0,\n        pixelloss_weight=1.0,\n        disc_num_layers=3,\n        disc_in_channels=3,\n        disc_factor=1.0,\n        disc_weight=1.0,\n        perceptual_weight=1.0,\n        use_actnorm=False,\n        disc_conditional=False,\n        disc_ndf=64,\n        disc_loss=\"hinge\",\n        n_classes=None,\n        perceptual_loss=\"lpips\",\n        pixel_loss=\"l1\",\n    ):\n        super().__init__()\n        assert disc_loss in [\"hinge\", \"vanilla\"]\n        assert perceptual_loss in [\"lpips\", \"clips\", \"dists\"]\n        assert pixel_loss in [\"l1\", \"l2\"]\n        self.codebook_weight = codebook_weight\n        self.pixel_weight = pixelloss_weight\n        if perceptual_loss == \"lpips\":\n            print(f\"{self.__class__.__name__}: Running with LPIPS.\")\n            self.perceptual_loss = LPIPS().eval()\n        else:\n            raise ValueError(f\"Unknown perceptual loss: >> {perceptual_loss} <<\")\n        self.perceptual_weight = perceptual_weight\n\n        if pixel_loss == \"l1\":\n            self.pixel_loss = l1\n        else:\n            self.pixel_loss = l2\n\n        self.discriminator = NLayerDiscriminator(\n            input_nc=disc_in_channels,\n            n_layers=disc_num_layers,\n            use_actnorm=use_actnorm,\n            ndf=disc_ndf,\n        ).apply(weights_init)\n        self.discriminator_iter_start = disc_start\n        if disc_loss == \"hinge\":\n            self.disc_loss = hinge_d_loss\n        elif disc_loss == \"vanilla\":\n            self.disc_loss = vanilla_d_loss\n        else:\n            raise ValueError(f\"Unknown GAN loss '{disc_loss}'.\")\n        print(f\"VQLPIPSWithDiscriminator running with {disc_loss} loss.\")\n        self.disc_factor = disc_factor\n        self.discriminator_weight = disc_weight\n        self.disc_conditional = disc_conditional\n        self.n_classes = n_classes\n\n    def calculate_adaptive_weight(self, nll_loss, g_loss, last_layer=None):\n        if last_layer is not None:\n            nll_grads = torch.autograd.grad(nll_loss, last_layer, retain_graph=True)[0]\n            g_grads = torch.autograd.grad(g_loss, last_layer, retain_graph=True)[0]\n        else:\n            nll_grads = torch.autograd.grad(\n                nll_loss, self.last_layer[0], retain_graph=True\n            )[0]\n            g_grads = torch.autograd.grad(\n                g_loss, self.last_layer[0], retain_graph=True\n            )[0]\n\n        d_weight = torch.norm(nll_grads) / (torch.norm(g_grads) + 1e-4)\n        d_weight = torch.clamp(d_weight, 0.0, 1e4).detach()\n        d_weight = d_weight * self.discriminator_weight\n        return d_weight\n\n    def forward(\n        self,\n        codebook_loss,\n        inputs,\n        reconstructions,\n        optimizer_idx,\n        global_step,\n        last_layer=None,\n        cond=None,\n        split=\"train\",\n        predicted_indices=None,\n    ):\n        if not exists(codebook_loss):\n            codebook_loss = torch.tensor([0.0]).to(inputs.device)\n        # rec_loss = torch.abs(inputs.contiguous() - reconstructions.contiguous())\n        rec_loss = self.pixel_loss(inputs.contiguous(), reconstructions.contiguous())\n        if self.perceptual_weight > 0:\n            p_loss = self.perceptual_loss(\n                inputs.contiguous(), reconstructions.contiguous()\n            )\n            rec_loss = rec_loss + self.perceptual_weight * p_loss\n        else:\n            p_loss = torch.tensor([0.0])\n\n        nll_loss = rec_loss\n        # nll_loss = torch.sum(nll_loss) / nll_loss.shape[0]\n        nll_loss = torch.mean(nll_loss)\n\n        # now the GAN part\n        if optimizer_idx == 0:\n            # generator update\n            if cond is None:\n                assert not self.disc_conditional\n                logits_fake = self.discriminator(reconstructions.contiguous())\n            else:\n                assert self.disc_conditional\n                logits_fake = self.discriminator(\n                    torch.cat((reconstructions.contiguous(), cond), dim=1)\n                )\n            g_loss = -torch.mean(logits_fake)\n\n            try:\n                d_weight = self.calculate_adaptive_weight(\n                    nll_loss, g_loss, last_layer=last_layer\n                )\n            except RuntimeError:\n                assert not self.training\n                d_weight = torch.tensor(0.0)\n\n            disc_factor = adopt_weight(\n                self.disc_factor, global_step, threshold=self.discriminator_iter_start\n            )\n            loss = (\n                nll_loss\n                + d_weight * disc_factor * g_loss\n                + self.codebook_weight * codebook_loss.mean()\n            )\n\n            log = {\n                \"{}/total_loss\".format(split): loss.clone().detach().mean(),\n                \"{}/quant_loss\".format(split): codebook_loss.detach().mean(),\n                \"{}/nll_loss\".format(split): nll_loss.detach().mean(),\n                \"{}/rec_loss\".format(split): rec_loss.detach().mean(),\n                \"{}/p_loss\".format(split): p_loss.detach().mean(),\n                \"{}/d_weight\".format(split): d_weight.detach(),\n                \"{}/disc_factor\".format(split): torch.tensor(disc_factor),\n                \"{}/g_loss\".format(split): g_loss.detach().mean(),\n            }\n            if predicted_indices is not None:\n                assert self.n_classes is not None\n                with torch.no_grad():\n                    perplexity, cluster_usage = measure_perplexity(\n                        predicted_indices, self.n_classes\n                    )\n                log[f\"{split}/perplexity\"] = perplexity\n                log[f\"{split}/cluster_usage\"] = cluster_usage\n            return loss, log\n\n        if optimizer_idx == 1:\n            # second pass for discriminator update\n            if cond is None:\n                logits_real = self.discriminator(inputs.contiguous().detach())\n                logits_fake = self.discriminator(reconstructions.contiguous().detach())\n            else:\n                logits_real = self.discriminator(\n                    torch.cat((inputs.contiguous().detach(), cond), dim=1)\n                )\n                logits_fake = self.discriminator(\n                    torch.cat((reconstructions.contiguous().detach(), cond), dim=1)\n                )\n\n            disc_factor = adopt_weight(\n                self.disc_factor, global_step, threshold=self.discriminator_iter_start\n            )\n            d_loss = disc_factor * self.disc_loss(logits_real, logits_fake)\n\n            log = {\n                \"{}/disc_loss\".format(split): d_loss.clone().detach().mean(),\n                \"{}/logits_real\".format(split): logits_real.detach().mean(),\n                \"{}/logits_fake\".format(split): logits_fake.detach().mean(),\n            }\n            return d_loss, log\n"
  },
  {
    "path": "ldm/modules/midas/api.py",
    "content": "# based on https://github.com/isl-org/MiDaS\n\nimport cv2\nimport torch\nimport torch.nn as nn\nfrom torchvision.transforms import Compose\n\nfrom ldm.modules.midas.midas.dpt_depth import DPTDepthModel\nfrom ldm.modules.midas.midas.midas_net import MidasNet\nfrom ldm.modules.midas.midas.midas_net_custom import MidasNet_small\nfrom ldm.modules.midas.midas.transforms import Resize, NormalizeImage, PrepareForNet\n\n\nISL_PATHS = {\n    \"dpt_large\": \"midas_models/dpt_large-midas-2f21e586.pt\",\n    \"dpt_hybrid\": \"midas_models/dpt_hybrid-midas-501f0c75.pt\",\n    \"midas_v21\": \"\",\n    \"midas_v21_small\": \"\",\n}\n\n\ndef disabled_train(self, mode=True):\n    \"\"\"Overwrite model.train with this function to make sure train/eval mode\n    does not change anymore.\"\"\"\n    return self\n\n\ndef load_midas_transform(model_type):\n    # https://github.com/isl-org/MiDaS/blob/master/run.py\n    # load transform only\n    if model_type == \"dpt_large\":  # DPT-Large\n        net_w, net_h = 384, 384\n        resize_mode = \"minimal\"\n        normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])\n\n    elif model_type == \"dpt_hybrid\":  # DPT-Hybrid\n        net_w, net_h = 384, 384\n        resize_mode = \"minimal\"\n        normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])\n\n    elif model_type == \"midas_v21\":\n        net_w, net_h = 384, 384\n        resize_mode = \"upper_bound\"\n        normalization = NormalizeImage(\n            mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]\n        )\n\n    elif model_type == \"midas_v21_small\":\n        net_w, net_h = 256, 256\n        resize_mode = \"upper_bound\"\n        normalization = NormalizeImage(\n            mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]\n        )\n\n    else:\n        assert (\n            False\n        ), f\"model_type '{model_type}' not implemented, use: --model_type large\"\n\n    transform = Compose(\n        [\n            Resize(\n                net_w,\n                net_h,\n                resize_target=None,\n                keep_aspect_ratio=True,\n                ensure_multiple_of=32,\n                resize_method=resize_mode,\n                image_interpolation_method=cv2.INTER_CUBIC,\n            ),\n            normalization,\n            PrepareForNet(),\n        ]\n    )\n\n    return transform\n\n\ndef load_model(model_type):\n    # https://github.com/isl-org/MiDaS/blob/master/run.py\n    # load network\n    model_path = ISL_PATHS[model_type]\n    if model_type == \"dpt_large\":  # DPT-Large\n        model = DPTDepthModel(\n            path=model_path,\n            backbone=\"vitl16_384\",\n            non_negative=True,\n        )\n        net_w, net_h = 384, 384\n        resize_mode = \"minimal\"\n        normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])\n\n    elif model_type == \"dpt_hybrid\":  # DPT-Hybrid\n        model = DPTDepthModel(\n            path=model_path,\n            backbone=\"vitb_rn50_384\",\n            non_negative=True,\n        )\n        net_w, net_h = 384, 384\n        resize_mode = \"minimal\"\n        normalization = NormalizeImage(mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5])\n\n    elif model_type == \"midas_v21\":\n        model = MidasNet(model_path, non_negative=True)\n        net_w, net_h = 384, 384\n        resize_mode = \"upper_bound\"\n        normalization = NormalizeImage(\n            mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]\n        )\n\n    elif model_type == \"midas_v21_small\":\n        model = MidasNet_small(\n            model_path,\n            features=64,\n            backbone=\"efficientnet_lite3\",\n            exportable=True,\n            non_negative=True,\n            blocks={\"expand\": True},\n        )\n        net_w, net_h = 256, 256\n        resize_mode = \"upper_bound\"\n        normalization = NormalizeImage(\n            mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]\n        )\n\n    else:\n        print(f\"model_type '{model_type}' not implemented, use: --model_type large\")\n        assert False\n\n    transform = Compose(\n        [\n            Resize(\n                net_w,\n                net_h,\n                resize_target=None,\n                keep_aspect_ratio=True,\n                ensure_multiple_of=32,\n                resize_method=resize_mode,\n                image_interpolation_method=cv2.INTER_CUBIC,\n            ),\n            normalization,\n            PrepareForNet(),\n        ]\n    )\n\n    return model.eval(), transform\n\n\nclass MiDaSInference(nn.Module):\n    MODEL_TYPES_TORCH_HUB = [\"DPT_Large\", \"DPT_Hybrid\", \"MiDaS_small\"]\n    MODEL_TYPES_ISL = [\n        \"dpt_large\",\n        \"dpt_hybrid\",\n        \"midas_v21\",\n        \"midas_v21_small\",\n    ]\n\n    def __init__(self, model_type):\n        super().__init__()\n        assert model_type in self.MODEL_TYPES_ISL\n        model, _ = load_model(model_type)\n        self.model = model\n        self.model.train = disabled_train\n\n    def forward(self, x):\n        # x in 0..1 as produced by calling self.transform on a 0..1 float64 numpy array\n        # NOTE: we expect that the correct transform has been called during dataloading.\n        with torch.no_grad():\n            prediction = self.model(x)\n            prediction = torch.nn.functional.interpolate(\n                prediction.unsqueeze(1),\n                size=x.shape[2:],\n                mode=\"bicubic\",\n                align_corners=False,\n            )\n        assert prediction.shape == (x.shape[0], 1, x.shape[2], x.shape[3])\n        return prediction\n"
  },
  {
    "path": "ldm/modules/midas/midas/__init__.py",
    "content": ""
  },
  {
    "path": "ldm/modules/midas/midas/base_model.py",
    "content": "import torch\n\n\nclass BaseModel(torch.nn.Module):\n    def load(self, path):\n        \"\"\"Load model from file.\n\n        Args:\n            path (str): file path\n        \"\"\"\n        parameters = torch.load(path, map_location=torch.device(\"cpu\"))\n\n        if \"optimizer\" in parameters:\n            parameters = parameters[\"model\"]\n\n        self.load_state_dict(parameters)\n"
  },
  {
    "path": "ldm/modules/midas/midas/blocks.py",
    "content": "import torch\nimport torch.nn as nn\n\nfrom .vit import (\n    _make_pretrained_vitb_rn50_384,\n    _make_pretrained_vitl16_384,\n    _make_pretrained_vitb16_384,\n)\n\n\ndef _make_encoder(\n    backbone,\n    features,\n    use_pretrained,\n    groups=1,\n    expand=False,\n    exportable=True,\n    hooks=None,\n    use_vit_only=False,\n    use_readout=\"ignore\",\n):\n    if backbone == \"vitl16_384\":\n        pretrained = _make_pretrained_vitl16_384(\n            use_pretrained, hooks=hooks, use_readout=use_readout\n        )\n        scratch = _make_scratch(\n            [256, 512, 1024, 1024], features, groups=groups, expand=expand\n        )  # ViT-L/16 - 85.0% Top1 (backbone)\n    elif backbone == \"vitb_rn50_384\":\n        pretrained = _make_pretrained_vitb_rn50_384(\n            use_pretrained,\n            hooks=hooks,\n            use_vit_only=use_vit_only,\n            use_readout=use_readout,\n        )\n        scratch = _make_scratch(\n            [256, 512, 768, 768], features, groups=groups, expand=expand\n        )  # ViT-H/16 - 85.0% Top1 (backbone)\n    elif backbone == \"vitb16_384\":\n        pretrained = _make_pretrained_vitb16_384(\n            use_pretrained, hooks=hooks, use_readout=use_readout\n        )\n        scratch = _make_scratch(\n            [96, 192, 384, 768], features, groups=groups, expand=expand\n        )  # ViT-B/16 - 84.6% Top1 (backbone)\n    elif backbone == \"resnext101_wsl\":\n        pretrained = _make_pretrained_resnext101_wsl(use_pretrained)\n        scratch = _make_scratch(\n            [256, 512, 1024, 2048], features, groups=groups, expand=expand\n        )  # efficientnet_lite3\n    elif backbone == \"efficientnet_lite3\":\n        pretrained = _make_pretrained_efficientnet_lite3(\n            use_pretrained, exportable=exportable\n        )\n        scratch = _make_scratch(\n            [32, 48, 136, 384], features, groups=groups, expand=expand\n        )  # efficientnet_lite3\n    else:\n        print(f\"Backbone '{backbone}' not implemented\")\n        assert False\n\n    return pretrained, scratch\n\n\ndef _make_scratch(in_shape, out_shape, groups=1, expand=False):\n    scratch = nn.Module()\n\n    out_shape1 = out_shape\n    out_shape2 = out_shape\n    out_shape3 = out_shape\n    out_shape4 = out_shape\n    if expand is True:\n        out_shape1 = out_shape\n        out_shape2 = out_shape * 2\n        out_shape3 = out_shape * 4\n        out_shape4 = out_shape * 8\n\n    scratch.layer1_rn = nn.Conv2d(\n        in_shape[0],\n        out_shape1,\n        kernel_size=3,\n        stride=1,\n        padding=1,\n        bias=False,\n        groups=groups,\n    )\n    scratch.layer2_rn = nn.Conv2d(\n        in_shape[1],\n        out_shape2,\n        kernel_size=3,\n        stride=1,\n        padding=1,\n        bias=False,\n        groups=groups,\n    )\n    scratch.layer3_rn = nn.Conv2d(\n        in_shape[2],\n        out_shape3,\n        kernel_size=3,\n        stride=1,\n        padding=1,\n        bias=False,\n        groups=groups,\n    )\n    scratch.layer4_rn = nn.Conv2d(\n        in_shape[3],\n        out_shape4,\n        kernel_size=3,\n        stride=1,\n        padding=1,\n        bias=False,\n        groups=groups,\n    )\n\n    return scratch\n\n\ndef _make_pretrained_efficientnet_lite3(use_pretrained, exportable=False):\n    efficientnet = torch.hub.load(\n        \"rwightman/gen-efficientnet-pytorch\",\n        \"tf_efficientnet_lite3\",\n        pretrained=use_pretrained,\n        exportable=exportable,\n    )\n    return _make_efficientnet_backbone(efficientnet)\n\n\ndef _make_efficientnet_backbone(effnet):\n    pretrained = nn.Module()\n\n    pretrained.layer1 = nn.Sequential(\n        effnet.conv_stem, effnet.bn1, effnet.act1, *effnet.blocks[0:2]\n    )\n    pretrained.layer2 = nn.Sequential(*effnet.blocks[2:3])\n    pretrained.layer3 = nn.Sequential(*effnet.blocks[3:5])\n    pretrained.layer4 = nn.Sequential(*effnet.blocks[5:9])\n\n    return pretrained\n\n\ndef _make_resnet_backbone(resnet):\n    pretrained = nn.Module()\n    pretrained.layer1 = nn.Sequential(\n        resnet.conv1, resnet.bn1, resnet.relu, resnet.maxpool, resnet.layer1\n    )\n\n    pretrained.layer2 = resnet.layer2\n    pretrained.layer3 = resnet.layer3\n    pretrained.layer4 = resnet.layer4\n\n    return pretrained\n\n\ndef _make_pretrained_resnext101_wsl(use_pretrained):\n    resnet = torch.hub.load(\"facebookresearch/WSL-Images\", \"resnext101_32x8d_wsl\")\n    return _make_resnet_backbone(resnet)\n\n\nclass Interpolate(nn.Module):\n    \"\"\"Interpolation module.\"\"\"\n\n    def __init__(self, scale_factor, mode, align_corners=False):\n        \"\"\"Init.\n\n        Args:\n            scale_factor (float): scaling\n            mode (str): interpolation mode\n        \"\"\"\n        super(Interpolate, self).__init__()\n\n        self.interp = nn.functional.interpolate\n        self.scale_factor = scale_factor\n        self.mode = mode\n        self.align_corners = align_corners\n\n    def forward(self, x):\n        \"\"\"Forward pass.\n\n        Args:\n            x (tensor): input\n\n        Returns:\n            tensor: interpolated data\n        \"\"\"\n\n        x = self.interp(\n            x,\n            scale_factor=self.scale_factor,\n            mode=self.mode,\n            align_corners=self.align_corners,\n        )\n\n        return x\n\n\nclass ResidualConvUnit(nn.Module):\n    \"\"\"Residual convolution module.\"\"\"\n\n    def __init__(self, features):\n        \"\"\"Init.\n\n        Args:\n            features (int): number of features\n        \"\"\"\n        super().__init__()\n\n        self.conv1 = nn.Conv2d(\n            features, features, kernel_size=3, stride=1, padding=1, bias=True\n        )\n\n        self.conv2 = nn.Conv2d(\n            features, features, kernel_size=3, stride=1, padding=1, bias=True\n        )\n\n        self.relu = nn.ReLU(inplace=True)\n\n    def forward(self, x):\n        \"\"\"Forward pass.\n\n        Args:\n            x (tensor): input\n\n        Returns:\n            tensor: output\n        \"\"\"\n        out = self.relu(x)\n        out = self.conv1(out)\n        out = self.relu(out)\n        out = self.conv2(out)\n\n        return out + x\n\n\nclass FeatureFusionBlock(nn.Module):\n    \"\"\"Feature fusion block.\"\"\"\n\n    def __init__(self, features):\n        \"\"\"Init.\n\n        Args:\n            features (int): number of features\n        \"\"\"\n        super(FeatureFusionBlock, self).__init__()\n\n        self.resConfUnit1 = ResidualConvUnit(features)\n        self.resConfUnit2 = ResidualConvUnit(features)\n\n    def forward(self, *xs):\n        \"\"\"Forward pass.\n\n        Returns:\n            tensor: output\n        \"\"\"\n        output = xs[0]\n\n        if len(xs) == 2:\n            output += self.resConfUnit1(xs[1])\n\n        output = self.resConfUnit2(output)\n\n        output = nn.functional.interpolate(\n            output, scale_factor=2, mode=\"bilinear\", align_corners=True\n        )\n\n        return output\n\n\nclass ResidualConvUnit_custom(nn.Module):\n    \"\"\"Residual convolution module.\"\"\"\n\n    def __init__(self, features, activation, bn):\n        \"\"\"Init.\n\n        Args:\n            features (int): number of features\n        \"\"\"\n        super().__init__()\n\n        self.bn = bn\n\n        self.groups = 1\n\n        self.conv1 = nn.Conv2d(\n            features,\n            features,\n            kernel_size=3,\n            stride=1,\n            padding=1,\n            bias=True,\n            groups=self.groups,\n        )\n\n        self.conv2 = nn.Conv2d(\n            features,\n            features,\n            kernel_size=3,\n            stride=1,\n            padding=1,\n            bias=True,\n            groups=self.groups,\n        )\n\n        if self.bn is True:\n            self.bn1 = nn.BatchNorm2d(features)\n            self.bn2 = nn.BatchNorm2d(features)\n\n        self.activation = activation\n\n        self.skip_add = nn.quantized.FloatFunctional()\n\n    def forward(self, x):\n        \"\"\"Forward pass.\n\n        Args:\n            x (tensor): input\n\n        Returns:\n            tensor: output\n        \"\"\"\n\n        out = self.activation(x)\n        out = self.conv1(out)\n        if self.bn is True:\n            out = self.bn1(out)\n\n        out = self.activation(out)\n        out = self.conv2(out)\n        if self.bn is True:\n            out = self.bn2(out)\n\n        if self.groups > 1:\n            out = self.conv_merge(out)\n\n        return self.skip_add.add(out, x)\n\n        # return out + x\n\n\nclass FeatureFusionBlock_custom(nn.Module):\n    \"\"\"Feature fusion block.\"\"\"\n\n    def __init__(\n        self,\n        features,\n        activation,\n        deconv=False,\n        bn=False,\n        expand=False,\n        align_corners=True,\n    ):\n        \"\"\"Init.\n\n        Args:\n            features (int): number of features\n        \"\"\"\n        super(FeatureFusionBlock_custom, self).__init__()\n\n        self.deconv = deconv\n        self.align_corners = align_corners\n\n        self.groups = 1\n\n        self.expand = expand\n        out_features = features\n        if self.expand is True:\n            out_features = features // 2\n\n        self.out_conv = nn.Conv2d(\n            features,\n            out_features,\n            kernel_size=1,\n            stride=1,\n            padding=0,\n            bias=True,\n            groups=1,\n        )\n\n        self.resConfUnit1 = ResidualConvUnit_custom(features, activation, bn)\n        self.resConfUnit2 = ResidualConvUnit_custom(features, activation, bn)\n\n        self.skip_add = nn.quantized.FloatFunctional()\n\n    def forward(self, *xs):\n        \"\"\"Forward pass.\n\n        Returns:\n            tensor: output\n        \"\"\"\n        output = xs[0]\n\n        if len(xs) == 2:\n            res = self.resConfUnit1(xs[1])\n            output = self.skip_add.add(output, res)\n            # output += res\n\n        output = self.resConfUnit2(output)\n\n        output = nn.functional.interpolate(\n            output, scale_factor=2, mode=\"bilinear\", align_corners=self.align_corners\n        )\n\n        output = self.out_conv(output)\n\n        return output\n"
  },
  {
    "path": "ldm/modules/midas/midas/dpt_depth.py",
    "content": "import torch\nimport torch.nn as nn\n\nfrom .base_model import BaseModel\nfrom .blocks import (\n    FeatureFusionBlock_custom,\n    Interpolate,\n    _make_encoder,\n    forward_vit,\n)\n\n\ndef _make_fusion_block(features, use_bn):\n    return FeatureFusionBlock_custom(\n        features,\n        nn.ReLU(False),\n        deconv=False,\n        bn=use_bn,\n        expand=False,\n        align_corners=True,\n    )\n\n\nclass DPT(BaseModel):\n    def __init__(\n        self,\n        head,\n        features=256,\n        backbone=\"vitb_rn50_384\",\n        readout=\"project\",\n        channels_last=False,\n        use_bn=False,\n    ):\n        super(DPT, self).__init__()\n\n        self.channels_last = channels_last\n\n        hooks = {\n            \"vitb_rn50_384\": [0, 1, 8, 11],\n            \"vitb16_384\": [2, 5, 8, 11],\n            \"vitl16_384\": [5, 11, 17, 23],\n        }\n\n        # Instantiate backbone and reassemble blocks\n        self.pretrained, self.scratch = _make_encoder(\n            backbone,\n            features,\n            False,  # Set to true of you want to train from scratch, uses ImageNet weights\n            groups=1,\n            expand=False,\n            exportable=False,\n            hooks=hooks[backbone],\n            use_readout=readout,\n        )\n\n        self.scratch.refinenet1 = _make_fusion_block(features, use_bn)\n        self.scratch.refinenet2 = _make_fusion_block(features, use_bn)\n        self.scratch.refinenet3 = _make_fusion_block(features, use_bn)\n        self.scratch.refinenet4 = _make_fusion_block(features, use_bn)\n\n        self.scratch.output_conv = head\n\n    def forward(self, x):\n        if self.channels_last is True:\n            x.contiguous(memory_format=torch.channels_last)\n\n        layer_1, layer_2, layer_3, layer_4 = forward_vit(self.pretrained, x)\n\n        layer_1_rn = self.scratch.layer1_rn(layer_1)\n        layer_2_rn = self.scratch.layer2_rn(layer_2)\n        layer_3_rn = self.scratch.layer3_rn(layer_3)\n        layer_4_rn = self.scratch.layer4_rn(layer_4)\n\n        path_4 = self.scratch.refinenet4(layer_4_rn)\n        path_3 = self.scratch.refinenet3(path_4, layer_3_rn)\n        path_2 = self.scratch.refinenet2(path_3, layer_2_rn)\n        path_1 = self.scratch.refinenet1(path_2, layer_1_rn)\n\n        out = self.scratch.output_conv(path_1)\n\n        return out\n\n\nclass DPTDepthModel(DPT):\n    def __init__(self, path=None, non_negative=True, **kwargs):\n        features = kwargs[\"features\"] if \"features\" in kwargs else 256\n\n        head = nn.Sequential(\n            nn.Conv2d(features, features // 2, kernel_size=3, stride=1, padding=1),\n            Interpolate(scale_factor=2, mode=\"bilinear\", align_corners=True),\n            nn.Conv2d(features // 2, 32, kernel_size=3, stride=1, padding=1),\n            nn.ReLU(True),\n            nn.Conv2d(32, 1, kernel_size=1, stride=1, padding=0),\n            nn.ReLU(True) if non_negative else nn.Identity(),\n            nn.Identity(),\n        )\n\n        super().__init__(head, **kwargs)\n\n        if path is not None:\n            self.load(path)\n\n    def forward(self, x):\n        return super().forward(x).squeeze(dim=1)\n"
  },
  {
    "path": "ldm/modules/midas/midas/midas_net.py",
    "content": "\"\"\"MidashNet: Network for monocular depth estimation trained by mixing several datasets.\nThis file contains code that is adapted from\nhttps://github.com/thomasjpfan/pytorch_refinenet/blob/master/pytorch_refinenet/refinenet/refinenet_4cascade.py\n\"\"\"\nimport torch\nimport torch.nn as nn\n\nfrom .base_model import BaseModel\nfrom .blocks import FeatureFusionBlock, Interpolate, _make_encoder\n\n\nclass MidasNet(BaseModel):\n    \"\"\"Network for monocular depth estimation.\"\"\"\n\n    def __init__(self, path=None, features=256, non_negative=True):\n        \"\"\"Init.\n\n        Args:\n            path (str, optional): Path to saved model. Defaults to None.\n            features (int, optional): Number of features. Defaults to 256.\n            backbone (str, optional): Backbone network for encoder. Defaults to resnet50\n        \"\"\"\n        print(\"Loading weights: \", path)\n\n        super(MidasNet, self).__init__()\n\n        use_pretrained = False if path is None else True\n\n        self.pretrained, self.scratch = _make_encoder(\n            backbone=\"resnext101_wsl\", features=features, use_pretrained=use_pretrained\n        )\n\n        self.scratch.refinenet4 = FeatureFusionBlock(features)\n        self.scratch.refinenet3 = FeatureFusionBlock(features)\n        self.scratch.refinenet2 = FeatureFusionBlock(features)\n        self.scratch.refinenet1 = FeatureFusionBlock(features)\n\n        self.scratch.output_conv = nn.Sequential(\n            nn.Conv2d(features, 128, kernel_size=3, stride=1, padding=1),\n            Interpolate(scale_factor=2, mode=\"bilinear\"),\n            nn.Conv2d(128, 32, kernel_size=3, stride=1, padding=1),\n            nn.ReLU(True),\n            nn.Conv2d(32, 1, kernel_size=1, stride=1, padding=0),\n            nn.ReLU(True) if non_negative else nn.Identity(),\n        )\n\n        if path:\n            self.load(path)\n\n    def forward(self, x):\n        \"\"\"Forward pass.\n\n        Args:\n            x (tensor): input data (image)\n\n        Returns:\n            tensor: depth\n        \"\"\"\n\n        layer_1 = self.pretrained.layer1(x)\n        layer_2 = self.pretrained.layer2(layer_1)\n        layer_3 = self.pretrained.layer3(layer_2)\n        layer_4 = self.pretrained.layer4(layer_3)\n\n        layer_1_rn = self.scratch.layer1_rn(layer_1)\n        layer_2_rn = self.scratch.layer2_rn(layer_2)\n        layer_3_rn = self.scratch.layer3_rn(layer_3)\n        layer_4_rn = self.scratch.layer4_rn(layer_4)\n\n        path_4 = self.scratch.refinenet4(layer_4_rn)\n        path_3 = self.scratch.refinenet3(path_4, layer_3_rn)\n        path_2 = self.scratch.refinenet2(path_3, layer_2_rn)\n        path_1 = self.scratch.refinenet1(path_2, layer_1_rn)\n\n        out = self.scratch.output_conv(path_1)\n\n        return torch.squeeze(out, dim=1)\n"
  },
  {
    "path": "ldm/modules/midas/midas/midas_net_custom.py",
    "content": "\"\"\"MidashNet: Network for monocular depth estimation trained by mixing several datasets.\nThis file contains code that is adapted from\nhttps://github.com/thomasjpfan/pytorch_refinenet/blob/master/pytorch_refinenet/refinenet/refinenet_4cascade.py\n\"\"\"\nimport torch\nimport torch.nn as nn\n\nfrom .base_model import BaseModel\nfrom .blocks import FeatureFusionBlock_custom, Interpolate, _make_encoder\n\n\nclass MidasNet_small(BaseModel):\n    \"\"\"Network for monocular depth estimation.\"\"\"\n\n    def __init__(\n        self,\n        path=None,\n        features=64,\n        backbone=\"efficientnet_lite3\",\n        non_negative=True,\n        exportable=True,\n        channels_last=False,\n        align_corners=True,\n        blocks={\"expand\": True},\n    ):\n        \"\"\"Init.\n\n        Args:\n            path (str, optional): Path to saved model. Defaults to None.\n            features (int, optional): Number of features. Defaults to 256.\n            backbone (str, optional): Backbone network for encoder. Defaults to resnet50\n        \"\"\"\n        print(\"Loading weights: \", path)\n\n        super(MidasNet_small, self).__init__()\n\n        use_pretrained = False if path else True\n\n        self.channels_last = channels_last\n        self.blocks = blocks\n        self.backbone = backbone\n\n        self.groups = 1\n\n        features1 = features\n        features2 = features\n        features3 = features\n        features4 = features\n        self.expand = False\n        if \"expand\" in self.blocks and self.blocks[\"expand\"] is True:\n            self.expand = True\n            features1 = features\n            features2 = features * 2\n            features3 = features * 4\n            features4 = features * 8\n\n        self.pretrained, self.scratch = _make_encoder(\n            self.backbone,\n            features,\n            use_pretrained,\n            groups=self.groups,\n            expand=self.expand,\n            exportable=exportable,\n        )\n\n        self.scratch.activation = nn.ReLU(False)\n\n        self.scratch.refinenet4 = FeatureFusionBlock_custom(\n            features4,\n            self.scratch.activation,\n            deconv=False,\n            bn=False,\n            expand=self.expand,\n            align_corners=align_corners,\n        )\n        self.scratch.refinenet3 = FeatureFusionBlock_custom(\n            features3,\n            self.scratch.activation,\n            deconv=False,\n            bn=False,\n            expand=self.expand,\n            align_corners=align_corners,\n        )\n        self.scratch.refinenet2 = FeatureFusionBlock_custom(\n            features2,\n            self.scratch.activation,\n            deconv=False,\n            bn=False,\n            expand=self.expand,\n            align_corners=align_corners,\n        )\n        self.scratch.refinenet1 = FeatureFusionBlock_custom(\n            features1,\n            self.scratch.activation,\n            deconv=False,\n            bn=False,\n            align_corners=align_corners,\n        )\n\n        self.scratch.output_conv = nn.Sequential(\n            nn.Conv2d(\n                features,\n                features // 2,\n                kernel_size=3,\n                stride=1,\n                padding=1,\n                groups=self.groups,\n            ),\n            Interpolate(scale_factor=2, mode=\"bilinear\"),\n            nn.Conv2d(features // 2, 32, kernel_size=3, stride=1, padding=1),\n            self.scratch.activation,\n            nn.Conv2d(32, 1, kernel_size=1, stride=1, padding=0),\n            nn.ReLU(True) if non_negative else nn.Identity(),\n            nn.Identity(),\n        )\n\n        if path:\n            self.load(path)\n\n    def forward(self, x):\n        \"\"\"Forward pass.\n\n        Args:\n            x (tensor): input data (image)\n\n        Returns:\n            tensor: depth\n        \"\"\"\n        if self.channels_last is True:\n            print(\"self.channels_last = \", self.channels_last)\n            x.contiguous(memory_format=torch.channels_last)\n\n        layer_1 = self.pretrained.layer1(x)\n        layer_2 = self.pretrained.layer2(layer_1)\n        layer_3 = self.pretrained.layer3(layer_2)\n        layer_4 = self.pretrained.layer4(layer_3)\n\n        layer_1_rn = self.scratch.layer1_rn(layer_1)\n        layer_2_rn = self.scratch.layer2_rn(layer_2)\n        layer_3_rn = self.scratch.layer3_rn(layer_3)\n        layer_4_rn = self.scratch.layer4_rn(layer_4)\n\n        path_4 = self.scratch.refinenet4(layer_4_rn)\n        path_3 = self.scratch.refinenet3(path_4, layer_3_rn)\n        path_2 = self.scratch.refinenet2(path_3, layer_2_rn)\n        path_1 = self.scratch.refinenet1(path_2, layer_1_rn)\n\n        out = self.scratch.output_conv(path_1)\n\n        return torch.squeeze(out, dim=1)\n\n\ndef fuse_model(m):\n    prev_previous_type = nn.Identity()\n    prev_previous_name = \"\"\n    previous_type = nn.Identity()\n    previous_name = \"\"\n    for name, module in m.named_modules():\n        if (\n            prev_previous_type == nn.Conv2d\n            and previous_type == nn.BatchNorm2d\n            and type(module) == nn.ReLU\n        ):\n            # print(\"FUSED \", prev_previous_name, previous_name, name)\n            torch.quantization.fuse_modules(\n                m, [prev_previous_name, previous_name, name], inplace=True\n            )\n        elif prev_previous_type == nn.Conv2d and previous_type == nn.BatchNorm2d:\n            # print(\"FUSED \", prev_previous_name, previous_name)\n            torch.quantization.fuse_modules(\n                m, [prev_previous_name, previous_name], inplace=True\n            )\n        # elif previous_type == nn.Conv2d and type(module) == nn.ReLU:\n        #    print(\"FUSED \", previous_name, name)\n        #    torch.quantization.fuse_modules(m, [previous_name, name], inplace=True)\n\n        prev_previous_type = previous_type\n        prev_previous_name = previous_name\n        previous_type = type(module)\n        previous_name = name\n"
  },
  {
    "path": "ldm/modules/midas/midas/transforms.py",
    "content": "import numpy as np\nimport cv2\nimport math\n\n\ndef apply_min_size(sample, size, image_interpolation_method=cv2.INTER_AREA):\n    \"\"\"Rezise the sample to ensure the given size. Keeps aspect ratio.\n\n    Args:\n        sample (dict): sample\n        size (tuple): image size\n\n    Returns:\n        tuple: new size\n    \"\"\"\n    shape = list(sample[\"disparity\"].shape)\n\n    if shape[0] >= size[0] and shape[1] >= size[1]:\n        return sample\n\n    scale = [0, 0]\n    scale[0] = size[0] / shape[0]\n    scale[1] = size[1] / shape[1]\n\n    scale = max(scale)\n\n    shape[0] = math.ceil(scale * shape[0])\n    shape[1] = math.ceil(scale * shape[1])\n\n    # resize\n    sample[\"image\"] = cv2.resize(\n        sample[\"image\"], tuple(shape[::-1]), interpolation=image_interpolation_method\n    )\n\n    sample[\"disparity\"] = cv2.resize(\n        sample[\"disparity\"], tuple(shape[::-1]), interpolation=cv2.INTER_NEAREST\n    )\n    sample[\"mask\"] = cv2.resize(\n        sample[\"mask\"].astype(np.float32),\n        tuple(shape[::-1]),\n        interpolation=cv2.INTER_NEAREST,\n    )\n    sample[\"mask\"] = sample[\"mask\"].astype(bool)\n\n    return tuple(shape)\n\n\nclass Resize(object):\n    \"\"\"Resize sample to given size (width, height).\"\"\"\n\n    def __init__(\n        self,\n        width,\n        height,\n        resize_target=True,\n        keep_aspect_ratio=False,\n        ensure_multiple_of=1,\n        resize_method=\"lower_bound\",\n        image_interpolation_method=cv2.INTER_AREA,\n    ):\n        \"\"\"Init.\n\n        Args:\n            width (int): desired output width\n            height (int): desired output height\n            resize_target (bool, optional):\n                True: Resize the full sample (image, mask, target).\n                False: Resize image only.\n                Defaults to True.\n            keep_aspect_ratio (bool, optional):\n                True: Keep the aspect ratio of the input sample.\n                Output sample might not have the given width and height, and\n                resize behaviour depends on the parameter 'resize_method'.\n                Defaults to False.\n            ensure_multiple_of (int, optional):\n                Output width and height is constrained to be multiple of this parameter.\n                Defaults to 1.\n            resize_method (str, optional):\n                \"lower_bound\": Output will be at least as large as the given size.\n                \"upper_bound\": Output will be at max as large as the given size. (Output size might be smaller than given size.)\n                \"minimal\": Scale as least as possible.  (Output size might be smaller than given size.)\n                Defaults to \"lower_bound\".\n        \"\"\"\n        self.__width = width\n        self.__height = height\n\n        self.__resize_target = resize_target\n        self.__keep_aspect_ratio = keep_aspect_ratio\n        self.__multiple_of = ensure_multiple_of\n        self.__resize_method = resize_method\n        self.__image_interpolation_method = image_interpolation_method\n\n    def constrain_to_multiple_of(self, x, min_val=0, max_val=None):\n        y = (np.round(x / self.__multiple_of) * self.__multiple_of).astype(int)\n\n        if max_val is not None and y > max_val:\n            y = (np.floor(x / self.__multiple_of) * self.__multiple_of).astype(int)\n\n        if y < min_val:\n            y = (np.ceil(x / self.__multiple_of) * self.__multiple_of).astype(int)\n\n        return y\n\n    def get_size(self, width, height):\n        # determine new height and width\n        scale_height = self.__height / height\n        scale_width = self.__width / width\n\n        if self.__keep_aspect_ratio:\n            if self.__resize_method == \"lower_bound\":\n                # scale such that output size is lower bound\n                if scale_width > scale_height:\n                    # fit width\n                    scale_height = scale_width\n                else:\n                    # fit height\n                    scale_width = scale_height\n            elif self.__resize_method == \"upper_bound\":\n                # scale such that output size is upper bound\n                if scale_width < scale_height:\n                    # fit width\n                    scale_height = scale_width\n                else:\n                    # fit height\n                    scale_width = scale_height\n            elif self.__resize_method == \"minimal\":\n                # scale as least as possbile\n                if abs(1 - scale_width) < abs(1 - scale_height):\n                    # fit width\n                    scale_height = scale_width\n                else:\n                    # fit height\n                    scale_width = scale_height\n            else:\n                raise ValueError(\n                    f\"resize_method {self.__resize_method} not implemented\"\n                )\n\n        if self.__resize_method == \"lower_bound\":\n            new_height = self.constrain_to_multiple_of(\n                scale_height * height, min_val=self.__height\n            )\n            new_width = self.constrain_to_multiple_of(\n                scale_width * width, min_val=self.__width\n            )\n        elif self.__resize_method == \"upper_bound\":\n            new_height = self.constrain_to_multiple_of(\n                scale_height * height, max_val=self.__height\n            )\n            new_width = self.constrain_to_multiple_of(\n                scale_width * width, max_val=self.__width\n            )\n        elif self.__resize_method == \"minimal\":\n            new_height = self.constrain_to_multiple_of(scale_height * height)\n            new_width = self.constrain_to_multiple_of(scale_width * width)\n        else:\n            raise ValueError(f\"resize_method {self.__resize_method} not implemented\")\n\n        return (new_width, new_height)\n\n    def __call__(self, sample):\n        width, height = self.get_size(\n            sample[\"image\"].shape[1], sample[\"image\"].shape[0]\n        )\n\n        # resize sample\n        sample[\"image\"] = cv2.resize(\n            sample[\"image\"],\n            (width, height),\n            interpolation=self.__image_interpolation_method,\n        )\n\n        if self.__resize_target:\n            if \"disparity\" in sample:\n                sample[\"disparity\"] = cv2.resize(\n                    sample[\"disparity\"],\n                    (width, height),\n                    interpolation=cv2.INTER_NEAREST,\n                )\n\n            if \"depth\" in sample:\n                sample[\"depth\"] = cv2.resize(\n                    sample[\"depth\"], (width, height), interpolation=cv2.INTER_NEAREST\n                )\n\n            sample[\"mask\"] = cv2.resize(\n                sample[\"mask\"].astype(np.float32),\n                (width, height),\n                interpolation=cv2.INTER_NEAREST,\n            )\n            sample[\"mask\"] = sample[\"mask\"].astype(bool)\n\n        return sample\n\n\nclass NormalizeImage(object):\n    \"\"\"Normlize image by given mean and std.\"\"\"\n\n    def __init__(self, mean, std):\n        self.__mean = mean\n        self.__std = std\n\n    def __call__(self, sample):\n        sample[\"image\"] = (sample[\"image\"] - self.__mean) / self.__std\n\n        return sample\n\n\nclass PrepareForNet(object):\n    \"\"\"Prepare sample for usage as network input.\"\"\"\n\n    def __init__(self):\n        pass\n\n    def __call__(self, sample):\n        image = np.transpose(sample[\"image\"], (2, 0, 1))\n        sample[\"image\"] = np.ascontiguousarray(image).astype(np.float32)\n\n        if \"mask\" in sample:\n            sample[\"mask\"] = sample[\"mask\"].astype(np.float32)\n            sample[\"mask\"] = np.ascontiguousarray(sample[\"mask\"])\n\n        if \"disparity\" in sample:\n            disparity = sample[\"disparity\"].astype(np.float32)\n            sample[\"disparity\"] = np.ascontiguousarray(disparity)\n\n        if \"depth\" in sample:\n            depth = sample[\"depth\"].astype(np.float32)\n            sample[\"depth\"] = np.ascontiguousarray(depth)\n\n        return sample\n"
  },
  {
    "path": "ldm/modules/midas/midas/vit.py",
    "content": "import torch\nimport torch.nn as nn\nimport timm\nimport types\nimport math\nimport torch.nn.functional as F\n\n\nclass Slice(nn.Module):\n    def __init__(self, start_index=1):\n        super(Slice, self).__init__()\n        self.start_index = start_index\n\n    def forward(self, x):\n        return x[:, self.start_index :]\n\n\nclass AddReadout(nn.Module):\n    def __init__(self, start_index=1):\n        super(AddReadout, self).__init__()\n        self.start_index = start_index\n\n    def forward(self, x):\n        if self.start_index == 2:\n            readout = (x[:, 0] + x[:, 1]) / 2\n        else:\n            readout = x[:, 0]\n        return x[:, self.start_index :] + readout.unsqueeze(1)\n\n\nclass ProjectReadout(nn.Module):\n    def __init__(self, in_features, start_index=1):\n        super(ProjectReadout, self).__init__()\n        self.start_index = start_index\n\n        self.project = nn.Sequential(nn.Linear(2 * in_features, in_features), nn.GELU())\n\n    def forward(self, x):\n        readout = x[:, 0].unsqueeze(1).expand_as(x[:, self.start_index :])\n        features = torch.cat((x[:, self.start_index :], readout), -1)\n\n        return self.project(features)\n\n\nclass Transpose(nn.Module):\n    def __init__(self, dim0, dim1):\n        super(Transpose, self).__init__()\n        self.dim0 = dim0\n        self.dim1 = dim1\n\n    def forward(self, x):\n        x = x.transpose(self.dim0, self.dim1)\n        return x\n\n\ndef forward_vit(pretrained, x):\n    b, c, h, w = x.shape\n\n    pretrained.model.forward_flex(x)\n\n    layer_1 = pretrained.activations[\"1\"]\n    layer_2 = pretrained.activations[\"2\"]\n    layer_3 = pretrained.activations[\"3\"]\n    layer_4 = pretrained.activations[\"4\"]\n\n    layer_1 = pretrained.act_postprocess1[0:2](layer_1)\n    layer_2 = pretrained.act_postprocess2[0:2](layer_2)\n    layer_3 = pretrained.act_postprocess3[0:2](layer_3)\n    layer_4 = pretrained.act_postprocess4[0:2](layer_4)\n\n    unflatten = nn.Sequential(\n        nn.Unflatten(\n            2,\n            torch.Size(\n                [\n                    h // pretrained.model.patch_size[1],\n                    w // pretrained.model.patch_size[0],\n                ]\n            ),\n        )\n    )\n\n    if layer_1.ndim == 3:\n        layer_1 = unflatten(layer_1)\n    if layer_2.ndim == 3:\n        layer_2 = unflatten(layer_2)\n    if layer_3.ndim == 3:\n        layer_3 = unflatten(layer_3)\n    if layer_4.ndim == 3:\n        layer_4 = unflatten(layer_4)\n\n    layer_1 = pretrained.act_postprocess1[3 : len(pretrained.act_postprocess1)](layer_1)\n    layer_2 = pretrained.act_postprocess2[3 : len(pretrained.act_postprocess2)](layer_2)\n    layer_3 = pretrained.act_postprocess3[3 : len(pretrained.act_postprocess3)](layer_3)\n    layer_4 = pretrained.act_postprocess4[3 : len(pretrained.act_postprocess4)](layer_4)\n\n    return layer_1, layer_2, layer_3, layer_4\n\n\ndef _resize_pos_embed(self, posemb, gs_h, gs_w):\n    posemb_tok, posemb_grid = (\n        posemb[:, : self.start_index],\n        posemb[0, self.start_index :],\n    )\n\n    gs_old = int(math.sqrt(len(posemb_grid)))\n\n    posemb_grid = posemb_grid.reshape(1, gs_old, gs_old, -1).permute(0, 3, 1, 2)\n    posemb_grid = F.interpolate(posemb_grid, size=(gs_h, gs_w), mode=\"bilinear\")\n    posemb_grid = posemb_grid.permute(0, 2, 3, 1).reshape(1, gs_h * gs_w, -1)\n\n    posemb = torch.cat([posemb_tok, posemb_grid], dim=1)\n\n    return posemb\n\n\ndef forward_flex(self, x):\n    b, c, h, w = x.shape\n\n    pos_embed = self._resize_pos_embed(\n        self.pos_embed, h // self.patch_size[1], w // self.patch_size[0]\n    )\n\n    B = x.shape[0]\n\n    if hasattr(self.patch_embed, \"backbone\"):\n        x = self.patch_embed.backbone(x)\n        if isinstance(x, (list, tuple)):\n            x = x[-1]  # last feature if backbone outputs list/tuple of features\n\n    x = self.patch_embed.proj(x).flatten(2).transpose(1, 2)\n\n    if getattr(self, \"dist_token\", None) is not None:\n        cls_tokens = self.cls_token.expand(\n            B, -1, -1\n        )  # stole cls_tokens impl from Phil Wang, thanks\n        dist_token = self.dist_token.expand(B, -1, -1)\n        x = torch.cat((cls_tokens, dist_token, x), dim=1)\n    else:\n        cls_tokens = self.cls_token.expand(\n            B, -1, -1\n        )  # stole cls_tokens impl from Phil Wang, thanks\n        x = torch.cat((cls_tokens, x), dim=1)\n\n    x = x + pos_embed\n    x = self.pos_drop(x)\n\n    for blk in self.blocks:\n        x = blk(x)\n\n    x = self.norm(x)\n\n    return x\n\n\nactivations = {}\n\n\ndef get_activation(name):\n    def hook(model, input, output):\n        activations[name] = output\n\n    return hook\n\n\ndef get_readout_oper(vit_features, features, use_readout, start_index=1):\n    if use_readout == \"ignore\":\n        readout_oper = [Slice(start_index)] * len(features)\n    elif use_readout == \"add\":\n        readout_oper = [AddReadout(start_index)] * len(features)\n    elif use_readout == \"project\":\n        readout_oper = [\n            ProjectReadout(vit_features, start_index) for out_feat in features\n        ]\n    else:\n        assert (\n            False\n        ), \"wrong operation for readout token, use_readout can be 'ignore', 'add', or 'project'\"\n\n    return readout_oper\n\n\ndef _make_vit_b16_backbone(\n    model,\n    features=[96, 192, 384, 768],\n    size=[384, 384],\n    hooks=[2, 5, 8, 11],\n    vit_features=768,\n    use_readout=\"ignore\",\n    start_index=1,\n):\n    pretrained = nn.Module()\n\n    pretrained.model = model\n    pretrained.model.blocks[hooks[0]].register_forward_hook(get_activation(\"1\"))\n    pretrained.model.blocks[hooks[1]].register_forward_hook(get_activation(\"2\"))\n    pretrained.model.blocks[hooks[2]].register_forward_hook(get_activation(\"3\"))\n    pretrained.model.blocks[hooks[3]].register_forward_hook(get_activation(\"4\"))\n\n    pretrained.activations = activations\n\n    readout_oper = get_readout_oper(vit_features, features, use_readout, start_index)\n\n    # 32, 48, 136, 384\n    pretrained.act_postprocess1 = nn.Sequential(\n        readout_oper[0],\n        Transpose(1, 2),\n        nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),\n        nn.Conv2d(\n            in_channels=vit_features,\n            out_channels=features[0],\n            kernel_size=1,\n            stride=1,\n            padding=0,\n        ),\n        nn.ConvTranspose2d(\n            in_channels=features[0],\n            out_channels=features[0],\n            kernel_size=4,\n            stride=4,\n            padding=0,\n            bias=True,\n            dilation=1,\n            groups=1,\n        ),\n    )\n\n    pretrained.act_postprocess2 = nn.Sequential(\n        readout_oper[1],\n        Transpose(1, 2),\n        nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),\n        nn.Conv2d(\n            in_channels=vit_features,\n            out_channels=features[1],\n            kernel_size=1,\n            stride=1,\n            padding=0,\n        ),\n        nn.ConvTranspose2d(\n            in_channels=features[1],\n            out_channels=features[1],\n            kernel_size=2,\n            stride=2,\n            padding=0,\n            bias=True,\n            dilation=1,\n            groups=1,\n        ),\n    )\n\n    pretrained.act_postprocess3 = nn.Sequential(\n        readout_oper[2],\n        Transpose(1, 2),\n        nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),\n        nn.Conv2d(\n            in_channels=vit_features,\n            out_channels=features[2],\n            kernel_size=1,\n            stride=1,\n            padding=0,\n        ),\n    )\n\n    pretrained.act_postprocess4 = nn.Sequential(\n        readout_oper[3],\n        Transpose(1, 2),\n        nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),\n        nn.Conv2d(\n            in_channels=vit_features,\n            out_channels=features[3],\n            kernel_size=1,\n            stride=1,\n            padding=0,\n        ),\n        nn.Conv2d(\n            in_channels=features[3],\n            out_channels=features[3],\n            kernel_size=3,\n            stride=2,\n            padding=1,\n        ),\n    )\n\n    pretrained.model.start_index = start_index\n    pretrained.model.patch_size = [16, 16]\n\n    # We inject this function into the VisionTransformer instances so that\n    # we can use it with interpolated position embeddings without modifying the library source.\n    pretrained.model.forward_flex = types.MethodType(forward_flex, pretrained.model)\n    pretrained.model._resize_pos_embed = types.MethodType(\n        _resize_pos_embed, pretrained.model\n    )\n\n    return pretrained\n\n\ndef _make_pretrained_vitl16_384(pretrained, use_readout=\"ignore\", hooks=None):\n    model = timm.create_model(\"vit_large_patch16_384\", pretrained=pretrained)\n\n    hooks = [5, 11, 17, 23] if hooks is None else hooks\n    return _make_vit_b16_backbone(\n        model,\n        features=[256, 512, 1024, 1024],\n        hooks=hooks,\n        vit_features=1024,\n        use_readout=use_readout,\n    )\n\n\ndef _make_pretrained_vitb16_384(pretrained, use_readout=\"ignore\", hooks=None):\n    model = timm.create_model(\"vit_base_patch16_384\", pretrained=pretrained)\n\n    hooks = [2, 5, 8, 11] if hooks is None else hooks\n    return _make_vit_b16_backbone(\n        model, features=[96, 192, 384, 768], hooks=hooks, use_readout=use_readout\n    )\n\n\ndef _make_pretrained_deitb16_384(pretrained, use_readout=\"ignore\", hooks=None):\n    model = timm.create_model(\"vit_deit_base_patch16_384\", pretrained=pretrained)\n\n    hooks = [2, 5, 8, 11] if hooks is None else hooks\n    return _make_vit_b16_backbone(\n        model, features=[96, 192, 384, 768], hooks=hooks, use_readout=use_readout\n    )\n\n\ndef _make_pretrained_deitb16_distil_384(pretrained, use_readout=\"ignore\", hooks=None):\n    model = timm.create_model(\n        \"vit_deit_base_distilled_patch16_384\", pretrained=pretrained\n    )\n\n    hooks = [2, 5, 8, 11] if hooks is None else hooks\n    return _make_vit_b16_backbone(\n        model,\n        features=[96, 192, 384, 768],\n        hooks=hooks,\n        use_readout=use_readout,\n        start_index=2,\n    )\n\n\ndef _make_vit_b_rn50_backbone(\n    model,\n    features=[256, 512, 768, 768],\n    size=[384, 384],\n    hooks=[0, 1, 8, 11],\n    vit_features=768,\n    use_vit_only=False,\n    use_readout=\"ignore\",\n    start_index=1,\n):\n    pretrained = nn.Module()\n\n    pretrained.model = model\n\n    if use_vit_only is True:\n        pretrained.model.blocks[hooks[0]].register_forward_hook(get_activation(\"1\"))\n        pretrained.model.blocks[hooks[1]].register_forward_hook(get_activation(\"2\"))\n    else:\n        pretrained.model.patch_embed.backbone.stages[0].register_forward_hook(\n            get_activation(\"1\")\n        )\n        pretrained.model.patch_embed.backbone.stages[1].register_forward_hook(\n            get_activation(\"2\")\n        )\n\n    pretrained.model.blocks[hooks[2]].register_forward_hook(get_activation(\"3\"))\n    pretrained.model.blocks[hooks[3]].register_forward_hook(get_activation(\"4\"))\n\n    pretrained.activations = activations\n\n    readout_oper = get_readout_oper(vit_features, features, use_readout, start_index)\n\n    if use_vit_only is True:\n        pretrained.act_postprocess1 = nn.Sequential(\n            readout_oper[0],\n            Transpose(1, 2),\n            nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),\n            nn.Conv2d(\n                in_channels=vit_features,\n                out_channels=features[0],\n                kernel_size=1,\n                stride=1,\n                padding=0,\n            ),\n            nn.ConvTranspose2d(\n                in_channels=features[0],\n                out_channels=features[0],\n                kernel_size=4,\n                stride=4,\n                padding=0,\n                bias=True,\n                dilation=1,\n                groups=1,\n            ),\n        )\n\n        pretrained.act_postprocess2 = nn.Sequential(\n            readout_oper[1],\n            Transpose(1, 2),\n            nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),\n            nn.Conv2d(\n                in_channels=vit_features,\n                out_channels=features[1],\n                kernel_size=1,\n                stride=1,\n                padding=0,\n            ),\n            nn.ConvTranspose2d(\n                in_channels=features[1],\n                out_channels=features[1],\n                kernel_size=2,\n                stride=2,\n                padding=0,\n                bias=True,\n                dilation=1,\n                groups=1,\n            ),\n        )\n    else:\n        pretrained.act_postprocess1 = nn.Sequential(\n            nn.Identity(), nn.Identity(), nn.Identity()\n        )\n        pretrained.act_postprocess2 = nn.Sequential(\n            nn.Identity(), nn.Identity(), nn.Identity()\n        )\n\n    pretrained.act_postprocess3 = nn.Sequential(\n        readout_oper[2],\n        Transpose(1, 2),\n        nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),\n        nn.Conv2d(\n            in_channels=vit_features,\n            out_channels=features[2],\n            kernel_size=1,\n            stride=1,\n            padding=0,\n        ),\n    )\n\n    pretrained.act_postprocess4 = nn.Sequential(\n        readout_oper[3],\n        Transpose(1, 2),\n        nn.Unflatten(2, torch.Size([size[0] // 16, size[1] // 16])),\n        nn.Conv2d(\n            in_channels=vit_features,\n            out_channels=features[3],\n            kernel_size=1,\n            stride=1,\n            padding=0,\n        ),\n        nn.Conv2d(\n            in_channels=features[3],\n            out_channels=features[3],\n            kernel_size=3,\n            stride=2,\n            padding=1,\n        ),\n    )\n\n    pretrained.model.start_index = start_index\n    pretrained.model.patch_size = [16, 16]\n\n    # We inject this function into the VisionTransformer instances so that\n    # we can use it with interpolated position embeddings without modifying the library source.\n    pretrained.model.forward_flex = types.MethodType(forward_flex, pretrained.model)\n\n    # We inject this function into the VisionTransformer instances so that\n    # we can use it with interpolated position embeddings without modifying the library source.\n    pretrained.model._resize_pos_embed = types.MethodType(\n        _resize_pos_embed, pretrained.model\n    )\n\n    return pretrained\n\n\ndef _make_pretrained_vitb_rn50_384(\n    pretrained, use_readout=\"ignore\", hooks=None, use_vit_only=False\n):\n    model = timm.create_model(\"vit_base_resnet50_384\", pretrained=pretrained)\n\n    hooks = [0, 1, 8, 11] if hooks is None else hooks\n    return _make_vit_b_rn50_backbone(\n        model,\n        features=[256, 512, 768, 768],\n        size=[384, 384],\n        hooks=hooks,\n        use_vit_only=use_vit_only,\n        use_readout=use_readout,\n    )\n"
  },
  {
    "path": "ldm/modules/midas/utils.py",
    "content": "\"\"\"Utils for monoDepth.\"\"\"\nimport sys\nimport re\nimport numpy as np\nimport cv2\nimport torch\n\n\ndef read_pfm(path):\n    \"\"\"Read pfm file.\n\n    Args:\n        path (str): path to file\n\n    Returns:\n        tuple: (data, scale)\n    \"\"\"\n    with open(path, \"rb\") as file:\n        color = None\n        width = None\n        height = None\n        scale = None\n        endian = None\n\n        header = file.readline().rstrip()\n        if header.decode(\"ascii\") == \"PF\":\n            color = True\n        elif header.decode(\"ascii\") == \"Pf\":\n            color = False\n        else:\n            raise Exception(\"Not a PFM file: \" + path)\n\n        dim_match = re.match(r\"^(\\d+)\\s(\\d+)\\s$\", file.readline().decode(\"ascii\"))\n        if dim_match:\n            width, height = list(map(int, dim_match.groups()))\n        else:\n            raise Exception(\"Malformed PFM header.\")\n\n        scale = float(file.readline().decode(\"ascii\").rstrip())\n        if scale < 0:\n            # little-endian\n            endian = \"<\"\n            scale = -scale\n        else:\n            # big-endian\n            endian = \">\"\n\n        data = np.fromfile(file, endian + \"f\")\n        shape = (height, width, 3) if color else (height, width)\n\n        data = np.reshape(data, shape)\n        data = np.flipud(data)\n\n        return data, scale\n\n\ndef write_pfm(path, image, scale=1):\n    \"\"\"Write pfm file.\n\n    Args:\n        path (str): pathto file\n        image (array): data\n        scale (int, optional): Scale. Defaults to 1.\n    \"\"\"\n\n    with open(path, \"wb\") as file:\n        color = None\n\n        if image.dtype.name != \"float32\":\n            raise Exception(\"Image dtype must be float32.\")\n\n        image = np.flipud(image)\n\n        if len(image.shape) == 3 and image.shape[2] == 3:  # color image\n            color = True\n        elif (\n            len(image.shape) == 2 or len(image.shape) == 3 and image.shape[2] == 1\n        ):  # greyscale\n            color = False\n        else:\n            raise Exception(\"Image must have H x W x 3, H x W x 1 or H x W dimensions.\")\n\n        file.write(\"PF\\n\" if color else \"Pf\\n\".encode())\n        file.write(\"%d %d\\n\".encode() % (image.shape[1], image.shape[0]))\n\n        endian = image.dtype.byteorder\n\n        if endian == \"<\" or endian == \"=\" and sys.byteorder == \"little\":\n            scale = -scale\n\n        file.write(\"%f\\n\".encode() % scale)\n\n        image.tofile(file)\n\n\ndef read_image(path):\n    \"\"\"Read image and output RGB image (0-1).\n\n    Args:\n        path (str): path to file\n\n    Returns:\n        array: RGB image (0-1)\n    \"\"\"\n    img = cv2.imread(path)\n\n    if img.ndim == 2:\n        img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)\n\n    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB) / 255.0\n\n    return img\n\n\ndef resize_image(img):\n    \"\"\"Resize image and make it fit for network.\n\n    Args:\n        img (array): image\n\n    Returns:\n        tensor: data ready for network\n    \"\"\"\n    height_orig = img.shape[0]\n    width_orig = img.shape[1]\n\n    if width_orig > height_orig:\n        scale = width_orig / 384\n    else:\n        scale = height_orig / 384\n\n    height = (np.ceil(height_orig / scale / 32) * 32).astype(int)\n    width = (np.ceil(width_orig / scale / 32) * 32).astype(int)\n\n    img_resized = cv2.resize(img, (width, height), interpolation=cv2.INTER_AREA)\n\n    img_resized = (\n        torch.from_numpy(np.transpose(img_resized, (2, 0, 1))).contiguous().float()\n    )\n    img_resized = img_resized.unsqueeze(0)\n\n    return img_resized\n\n\ndef resize_depth(depth, width, height):\n    \"\"\"Resize depth map and bring to CPU (numpy).\n\n    Args:\n        depth (tensor): depth\n        width (int): image width\n        height (int): image height\n\n    Returns:\n        array: processed depth\n    \"\"\"\n    depth = torch.squeeze(depth[0, :, :, :]).to(\"cpu\")\n\n    depth_resized = cv2.resize(\n        depth.numpy(), (width, height), interpolation=cv2.INTER_CUBIC\n    )\n\n    return depth_resized\n\n\ndef write_depth(path, depth, bits=1):\n    \"\"\"Write depth map to pfm and png file.\n\n    Args:\n        path (str): filepath without extension\n        depth (array): depth\n    \"\"\"\n    write_pfm(path + \".pfm\", depth.astype(np.float32))\n\n    depth_min = depth.min()\n    depth_max = depth.max()\n\n    max_val = (2 ** (8 * bits)) - 1\n\n    if depth_max - depth_min > np.finfo(\"float\").eps:\n        out = max_val * (depth - depth_min) / (depth_max - depth_min)\n    else:\n        out = np.zeros(depth.shape, dtype=depth.type)\n\n    if bits == 1:\n        cv2.imwrite(path + \".png\", out.astype(\"uint8\"))\n    elif bits == 2:\n        cv2.imwrite(path + \".png\", out.astype(\"uint16\"))\n\n    return\n"
  },
  {
    "path": "ldm/modules/x_transformer.py",
    "content": "\"\"\"shout-out to https://github.com/lucidrains/x-transformers/tree/main/x_transformers\"\"\"\nimport torch\nfrom torch import nn, einsum\nimport torch.nn.functional as F\nfrom functools import partial\nfrom inspect import isfunction\nfrom collections import namedtuple\nfrom einops import rearrange, repeat\n\n# constants\n\nDEFAULT_DIM_HEAD = 64\n\nIntermediates = namedtuple(\"Intermediates\", [\"pre_softmax_attn\", \"post_softmax_attn\"])\n\nLayerIntermediates = namedtuple(\"Intermediates\", [\"hiddens\", \"attn_intermediates\"])\n\n\nclass AbsolutePositionalEmbedding(nn.Module):\n    def __init__(self, dim, max_seq_len):\n        super().__init__()\n        self.emb = nn.Embedding(max_seq_len, dim)\n        self.init_()\n\n    def init_(self):\n        nn.init.normal_(self.emb.weight, std=0.02)\n\n    def forward(self, x):\n        n = torch.arange(x.shape[1], device=x.device)\n        return self.emb(n)[None, :, :]\n\n\nclass FixedPositionalEmbedding(nn.Module):\n    def __init__(self, dim):\n        super().__init__()\n        inv_freq = 1.0 / (10000 ** (torch.arange(0, dim, 2).float() / dim))\n        self.register_buffer(\"inv_freq\", inv_freq)\n\n    def forward(self, x, seq_dim=1, offset=0):\n        t = (\n            torch.arange(x.shape[seq_dim], device=x.device).type_as(self.inv_freq)\n            + offset\n        )\n        sinusoid_inp = torch.einsum(\"i , j -> i j\", t, self.inv_freq)\n        emb = torch.cat((sinusoid_inp.sin(), sinusoid_inp.cos()), dim=-1)\n        return emb[None, :, :]\n\n\n# helpers\n\n\ndef exists(val):\n    return val is not None\n\n\ndef default(val, d):\n    if exists(val):\n        return val\n    return d() if isfunction(d) else d\n\n\ndef always(val):\n    def inner(*args, **kwargs):\n        return val\n\n    return inner\n\n\ndef not_equals(val):\n    def inner(x):\n        return x != val\n\n    return inner\n\n\ndef equals(val):\n    def inner(x):\n        return x == val\n\n    return inner\n\n\ndef max_neg_value(tensor):\n    return -torch.finfo(tensor.dtype).max\n\n\n# keyword argument helpers\n\n\ndef pick_and_pop(keys, d):\n    values = list(map(lambda key: d.pop(key), keys))\n    return dict(zip(keys, values))\n\n\ndef group_dict_by_key(cond, d):\n    return_val = [dict(), dict()]\n    for key in d.keys():\n        match = bool(cond(key))\n        ind = int(not match)\n        return_val[ind][key] = d[key]\n    return (*return_val,)\n\n\ndef string_begins_with(prefix, str):\n    return str.startswith(prefix)\n\n\ndef group_by_key_prefix(prefix, d):\n    return group_dict_by_key(partial(string_begins_with, prefix), d)\n\n\ndef groupby_prefix_and_trim(prefix, d):\n    kwargs_with_prefix, kwargs = group_dict_by_key(\n        partial(string_begins_with, prefix), d\n    )\n    kwargs_without_prefix = dict(\n        map(lambda x: (x[0][len(prefix) :], x[1]), tuple(kwargs_with_prefix.items()))\n    )\n    return kwargs_without_prefix, kwargs\n\n\n# classes\nclass Scale(nn.Module):\n    def __init__(self, value, fn):\n        super().__init__()\n        self.value = value\n        self.fn = fn\n\n    def forward(self, x, **kwargs):\n        x, *rest = self.fn(x, **kwargs)\n        return (x * self.value, *rest)\n\n\nclass Rezero(nn.Module):\n    def __init__(self, fn):\n        super().__init__()\n        self.fn = fn\n        self.g = nn.Parameter(torch.zeros(1))\n\n    def forward(self, x, **kwargs):\n        x, *rest = self.fn(x, **kwargs)\n        return (x * self.g, *rest)\n\n\nclass ScaleNorm(nn.Module):\n    def __init__(self, dim, eps=1e-5):\n        super().__init__()\n        self.scale = dim**-0.5\n        self.eps = eps\n        self.g = nn.Parameter(torch.ones(1))\n\n    def forward(self, x):\n        norm = torch.norm(x, dim=-1, keepdim=True) * self.scale\n        return x / norm.clamp(min=self.eps) * self.g\n\n\nclass RMSNorm(nn.Module):\n    def __init__(self, dim, eps=1e-8):\n        super().__init__()\n        self.scale = dim**-0.5\n        self.eps = eps\n        self.g = nn.Parameter(torch.ones(dim))\n\n    def forward(self, x):\n        norm = torch.norm(x, dim=-1, keepdim=True) * self.scale\n        return x / norm.clamp(min=self.eps) * self.g\n\n\nclass Residual(nn.Module):\n    def forward(self, x, residual):\n        return x + residual\n\n\nclass GRUGating(nn.Module):\n    def __init__(self, dim):\n        super().__init__()\n        self.gru = nn.GRUCell(dim, dim)\n\n    def forward(self, x, residual):\n        gated_output = self.gru(\n            rearrange(x, \"b n d -> (b n) d\"), rearrange(residual, \"b n d -> (b n) d\")\n        )\n\n        return gated_output.reshape_as(x)\n\n\n# feedforward\n\n\nclass GEGLU(nn.Module):\n    def __init__(self, dim_in, dim_out):\n        super().__init__()\n        self.proj = nn.Linear(dim_in, dim_out * 2)\n\n    def forward(self, x):\n        x, gate = self.proj(x).chunk(2, dim=-1)\n        return x * F.gelu(gate)\n\n\nclass FeedForward(nn.Module):\n    def __init__(self, dim, dim_out=None, mult=4, glu=False, dropout=0.0):\n        super().__init__()\n        inner_dim = int(dim * mult)\n        dim_out = default(dim_out, dim)\n        project_in = (\n            nn.Sequential(nn.Linear(dim, inner_dim), nn.GELU())\n            if not glu\n            else GEGLU(dim, inner_dim)\n        )\n\n        self.net = nn.Sequential(\n            project_in, nn.Dropout(dropout), nn.Linear(inner_dim, dim_out)\n        )\n\n    def forward(self, x):\n        return self.net(x)\n\n\n# attention.\nclass Attention(nn.Module):\n    def __init__(\n        self,\n        dim,\n        dim_head=DEFAULT_DIM_HEAD,\n        heads=8,\n        causal=False,\n        mask=None,\n        talking_heads=False,\n        sparse_topk=None,\n        use_entmax15=False,\n        num_mem_kv=0,\n        dropout=0.0,\n        on_attn=False,\n    ):\n        super().__init__()\n        if use_entmax15:\n            raise NotImplementedError(\n                \"Check out entmax activation instead of softmax activation!\"\n            )\n        self.scale = dim_head**-0.5\n        self.heads = heads\n        self.causal = causal\n        self.mask = mask\n\n        inner_dim = dim_head * heads\n\n        self.to_q = nn.Linear(dim, inner_dim, bias=False)\n        self.to_k = nn.Linear(dim, inner_dim, bias=False)\n        self.to_v = nn.Linear(dim, inner_dim, bias=False)\n        self.dropout = nn.Dropout(dropout)\n\n        # talking heads\n        self.talking_heads = talking_heads\n        if talking_heads:\n            self.pre_softmax_proj = nn.Parameter(torch.randn(heads, heads))\n            self.post_softmax_proj = nn.Parameter(torch.randn(heads, heads))\n\n        # explicit topk sparse attention\n        self.sparse_topk = sparse_topk\n\n        # entmax\n        # self.attn_fn = entmax15 if use_entmax15 else F.softmax\n        self.attn_fn = F.softmax\n\n        # add memory key / values\n        self.num_mem_kv = num_mem_kv\n        if num_mem_kv > 0:\n            self.mem_k = nn.Parameter(torch.randn(heads, num_mem_kv, dim_head))\n            self.mem_v = nn.Parameter(torch.randn(heads, num_mem_kv, dim_head))\n\n        # attention on attention\n        self.attn_on_attn = on_attn\n        self.to_out = (\n            nn.Sequential(nn.Linear(inner_dim, dim * 2), nn.GLU())\n            if on_attn\n            else nn.Linear(inner_dim, dim)\n        )\n\n    def forward(\n        self,\n        x,\n        context=None,\n        mask=None,\n        context_mask=None,\n        rel_pos=None,\n        sinusoidal_emb=None,\n        prev_attn=None,\n        mem=None,\n    ):\n        b, n, _, h, talking_heads, device = (\n            *x.shape,\n            self.heads,\n            self.talking_heads,\n            x.device,\n        )\n        kv_input = default(context, x)\n\n        q_input = x\n        k_input = kv_input\n        v_input = kv_input\n\n        if exists(mem):\n            k_input = torch.cat((mem, k_input), dim=-2)\n            v_input = torch.cat((mem, v_input), dim=-2)\n\n        if exists(sinusoidal_emb):\n            # in shortformer, the query would start at a position offset depending on the past cached memory\n            offset = k_input.shape[-2] - q_input.shape[-2]\n            q_input = q_input + sinusoidal_emb(q_input, offset=offset)\n            k_input = k_input + sinusoidal_emb(k_input)\n\n        q = self.to_q(q_input)\n        k = self.to_k(k_input)\n        v = self.to_v(v_input)\n\n        q, k, v = map(lambda t: rearrange(t, \"b n (h d) -> b h n d\", h=h), (q, k, v))\n\n        input_mask = None\n        if any(map(exists, (mask, context_mask))):\n            q_mask = default(mask, lambda: torch.ones((b, n), device=device).bool())\n            k_mask = q_mask if not exists(context) else context_mask\n            k_mask = default(\n                k_mask, lambda: torch.ones((b, k.shape[-2]), device=device).bool()\n            )\n            q_mask = rearrange(q_mask, \"b i -> b () i ()\")\n            k_mask = rearrange(k_mask, \"b j -> b () () j\")\n            input_mask = q_mask * k_mask\n\n        if self.num_mem_kv > 0:\n            mem_k, mem_v = map(\n                lambda t: repeat(t, \"h n d -> b h n d\", b=b), (self.mem_k, self.mem_v)\n            )\n            k = torch.cat((mem_k, k), dim=-2)\n            v = torch.cat((mem_v, v), dim=-2)\n            if exists(input_mask):\n                input_mask = F.pad(input_mask, (self.num_mem_kv, 0), value=True)\n\n        dots = einsum(\"b h i d, b h j d -> b h i j\", q, k) * self.scale\n        mask_value = max_neg_value(dots)\n\n        if exists(prev_attn):\n            dots = dots + prev_attn\n\n        pre_softmax_attn = dots\n\n        if talking_heads:\n            dots = einsum(\n                \"b h i j, h k -> b k i j\", dots, self.pre_softmax_proj\n            ).contiguous()\n\n        if exists(rel_pos):\n            dots = rel_pos(dots)\n\n        if exists(input_mask):\n            dots.masked_fill_(~input_mask, mask_value)\n            del input_mask\n\n        if self.causal:\n            i, j = dots.shape[-2:]\n            r = torch.arange(i, device=device)\n            mask = rearrange(r, \"i -> () () i ()\") < rearrange(r, \"j -> () () () j\")\n            mask = F.pad(mask, (j - i, 0), value=False)\n            dots.masked_fill_(mask, mask_value)\n            del mask\n\n        if exists(self.sparse_topk) and self.sparse_topk < dots.shape[-1]:\n            top, _ = dots.topk(self.sparse_topk, dim=-1)\n            vk = top[..., -1].unsqueeze(-1).expand_as(dots)\n            mask = dots < vk\n            dots.masked_fill_(mask, mask_value)\n            del mask\n\n        attn = self.attn_fn(dots, dim=-1)\n        post_softmax_attn = attn\n\n        attn = self.dropout(attn)\n\n        if talking_heads:\n            attn = einsum(\n                \"b h i j, h k -> b k i j\", attn, self.post_softmax_proj\n            ).contiguous()\n\n        out = einsum(\"b h i j, b h j d -> b h i d\", attn, v)\n        out = rearrange(out, \"b h n d -> b n (h d)\")\n\n        intermediates = Intermediates(\n            pre_softmax_attn=pre_softmax_attn, post_softmax_attn=post_softmax_attn\n        )\n\n        return self.to_out(out), intermediates\n\n\nclass AttentionLayers(nn.Module):\n    def __init__(\n        self,\n        dim,\n        depth,\n        heads=8,\n        causal=False,\n        cross_attend=False,\n        only_cross=False,\n        use_scalenorm=False,\n        use_rmsnorm=False,\n        use_rezero=False,\n        rel_pos_num_buckets=32,\n        rel_pos_max_distance=128,\n        position_infused_attn=False,\n        custom_layers=None,\n        sandwich_coef=None,\n        par_ratio=None,\n        residual_attn=False,\n        cross_residual_attn=False,\n        macaron=False,\n        pre_norm=True,\n        gate_residual=False,\n        **kwargs,\n    ):\n        super().__init__()\n        ff_kwargs, kwargs = groupby_prefix_and_trim(\"ff_\", kwargs)\n        attn_kwargs, _ = groupby_prefix_and_trim(\"attn_\", kwargs)\n\n        attn_kwargs.get(\"dim_head\", DEFAULT_DIM_HEAD)\n\n        self.dim = dim\n        self.depth = depth\n        self.layers = nn.ModuleList([])\n\n        self.has_pos_emb = position_infused_attn\n        self.pia_pos_emb = (\n            FixedPositionalEmbedding(dim) if position_infused_attn else None\n        )\n        self.rotary_pos_emb = always(None)\n\n        assert (\n            rel_pos_num_buckets <= rel_pos_max_distance\n        ), \"number of relative position buckets must be less than the relative position max distance\"\n        self.rel_pos = None\n\n        self.pre_norm = pre_norm\n\n        self.residual_attn = residual_attn\n        self.cross_residual_attn = cross_residual_attn\n\n        norm_class = ScaleNorm if use_scalenorm else nn.LayerNorm\n        norm_class = RMSNorm if use_rmsnorm else norm_class\n        norm_fn = partial(norm_class, dim)\n\n        norm_fn = nn.Identity if use_rezero else norm_fn\n        branch_fn = Rezero if use_rezero else None\n\n        if cross_attend and not only_cross:\n            default_block = (\"a\", \"c\", \"f\")\n        elif cross_attend and only_cross:\n            default_block = (\"c\", \"f\")\n        else:\n            default_block = (\"a\", \"f\")\n\n        if macaron:\n            default_block = (\"f\",) + default_block\n\n        if exists(custom_layers):\n            layer_types = custom_layers\n        elif exists(par_ratio):\n            par_depth = depth * len(default_block)\n            assert 1 < par_ratio <= par_depth, \"par ratio out of range\"\n            default_block = tuple(filter(not_equals(\"f\"), default_block))\n            par_attn = par_depth // par_ratio\n            depth_cut = (\n                par_depth * 2 // 3\n            )  # 2 / 3 attention layer cutoff suggested by PAR paper\n            par_width = (depth_cut + depth_cut // par_attn) // par_attn\n            assert (\n                len(default_block) <= par_width\n            ), \"default block is too large for par_ratio\"\n            par_block = default_block + (\"f\",) * (par_width - len(default_block))\n            par_head = par_block * par_attn\n            layer_types = par_head + (\"f\",) * (par_depth - len(par_head))\n        elif exists(sandwich_coef):\n            assert (\n                sandwich_coef > 0 and sandwich_coef <= depth\n            ), \"sandwich coefficient should be less than the depth\"\n            layer_types = (\n                (\"a\",) * sandwich_coef\n                + default_block * (depth - sandwich_coef)\n                + (\"f\",) * sandwich_coef\n            )\n        else:\n            layer_types = default_block * depth\n\n        self.layer_types = layer_types\n        self.num_attn_layers = len(list(filter(equals(\"a\"), layer_types)))\n\n        for layer_type in self.layer_types:\n            if layer_type == \"a\":\n                layer = Attention(dim, heads=heads, causal=causal, **attn_kwargs)\n            elif layer_type == \"c\":\n                layer = Attention(dim, heads=heads, **attn_kwargs)\n            elif layer_type == \"f\":\n                layer = FeedForward(dim, **ff_kwargs)\n                layer = layer if not macaron else Scale(0.5, layer)\n            else:\n                raise Exception(f\"invalid layer type {layer_type}\")\n\n            if isinstance(layer, Attention) and exists(branch_fn):\n                layer = branch_fn(layer)\n\n            if gate_residual:\n                residual_fn = GRUGating(dim)\n            else:\n                residual_fn = Residual()\n\n            self.layers.append(nn.ModuleList([norm_fn(), layer, residual_fn]))\n\n    def forward(\n        self,\n        x,\n        context=None,\n        mask=None,\n        context_mask=None,\n        mems=None,\n        return_hiddens=False,\n    ):\n        hiddens = []\n        intermediates = []\n        prev_attn = None\n        prev_cross_attn = None\n\n        mems = mems.copy() if exists(mems) else [None] * self.num_attn_layers\n\n        for ind, (layer_type, (norm, block, residual_fn)) in enumerate(\n            zip(self.layer_types, self.layers)\n        ):\n            is_last = ind == (len(self.layers) - 1)\n\n            if layer_type == \"a\":\n                hiddens.append(x)\n                layer_mem = mems.pop(0)\n\n            residual = x\n\n            if self.pre_norm:\n                x = norm(x)\n\n            if layer_type == \"a\":\n                out, inter = block(\n                    x,\n                    mask=mask,\n                    sinusoidal_emb=self.pia_pos_emb,\n                    rel_pos=self.rel_pos,\n                    prev_attn=prev_attn,\n                    mem=layer_mem,\n                )\n            elif layer_type == \"c\":\n                out, inter = block(\n                    x,\n                    context=context,\n                    mask=mask,\n                    context_mask=context_mask,\n                    prev_attn=prev_cross_attn,\n                )\n            elif layer_type == \"f\":\n                out = block(x)\n\n            x = residual_fn(out, residual)\n\n            if layer_type in (\"a\", \"c\"):\n                intermediates.append(inter)\n\n            if layer_type == \"a\" and self.residual_attn:\n                prev_attn = inter.pre_softmax_attn\n            elif layer_type == \"c\" and self.cross_residual_attn:\n                prev_cross_attn = inter.pre_softmax_attn\n\n            if not self.pre_norm and not is_last:\n                x = norm(x)\n\n        if return_hiddens:\n            intermediates = LayerIntermediates(\n                hiddens=hiddens, attn_intermediates=intermediates\n            )\n\n            return x, intermediates\n\n        return x\n\n\nclass Encoder(AttentionLayers):\n    def __init__(self, **kwargs):\n        assert \"causal\" not in kwargs, \"cannot set causality on encoder\"\n        super().__init__(causal=False, **kwargs)\n\n\nclass TransformerWrapper(nn.Module):\n    def __init__(\n        self,\n        *,\n        num_tokens,\n        max_seq_len,\n        attn_layers,\n        emb_dim=None,\n        max_mem_len=0.0,\n        emb_dropout=0.0,\n        num_memory_tokens=None,\n        tie_embedding=False,\n        use_pos_emb=True,\n    ):\n        super().__init__()\n        assert isinstance(\n            attn_layers, AttentionLayers\n        ), \"attention layers must be one of Encoder or Decoder\"\n\n        dim = attn_layers.dim\n        emb_dim = default(emb_dim, dim)\n\n        self.max_seq_len = max_seq_len\n        self.max_mem_len = max_mem_len\n        self.num_tokens = num_tokens\n\n        self.token_emb = nn.Embedding(num_tokens, emb_dim)\n        self.pos_emb = (\n            AbsolutePositionalEmbedding(emb_dim, max_seq_len)\n            if (use_pos_emb and not attn_layers.has_pos_emb)\n            else always(0)\n        )\n        self.emb_dropout = nn.Dropout(emb_dropout)\n\n        self.project_emb = nn.Linear(emb_dim, dim) if emb_dim != dim else nn.Identity()\n        self.attn_layers = attn_layers\n        self.norm = nn.LayerNorm(dim)\n\n        self.init_()\n\n        self.to_logits = (\n            nn.Linear(dim, num_tokens)\n            if not tie_embedding\n            else lambda t: t @ self.token_emb.weight.t()\n        )\n\n        # memory tokens (like [cls]) from Memory Transformers paper\n        num_memory_tokens = default(num_memory_tokens, 0)\n        self.num_memory_tokens = num_memory_tokens\n        if num_memory_tokens > 0:\n            self.memory_tokens = nn.Parameter(torch.randn(num_memory_tokens, dim))\n\n            # let funnel encoder know number of memory tokens, if specified\n            if hasattr(attn_layers, \"num_memory_tokens\"):\n                attn_layers.num_memory_tokens = num_memory_tokens\n\n    def init_(self):\n        nn.init.normal_(self.token_emb.weight, std=0.02)\n\n    def forward(\n        self,\n        x,\n        return_embeddings=False,\n        mask=None,\n        return_mems=False,\n        return_attn=False,\n        mems=None,\n        **kwargs,\n    ):\n        b, n, device, num_mem = *x.shape, x.device, self.num_memory_tokens\n        x = self.token_emb(x)\n        x += self.pos_emb(x)\n        x = self.emb_dropout(x)\n\n        x = self.project_emb(x)\n\n        if num_mem > 0:\n            mem = repeat(self.memory_tokens, \"n d -> b n d\", b=b)\n            x = torch.cat((mem, x), dim=1)\n\n            # auto-handle masking after appending memory tokens\n            if exists(mask):\n                mask = F.pad(mask, (num_mem, 0), value=True)\n\n        x, intermediates = self.attn_layers(\n            x, mask=mask, mems=mems, return_hiddens=True, **kwargs\n        )\n        x = self.norm(x)\n\n        mem, x = x[:, :num_mem], x[:, num_mem:]\n\n        out = self.to_logits(x) if not return_embeddings else x\n\n        if return_mems:\n            hiddens = intermediates.hiddens\n            new_mems = (\n                list(map(lambda pair: torch.cat(pair, dim=-2), zip(mems, hiddens)))\n                if exists(mems)\n                else hiddens\n            )\n            new_mems = list(\n                map(lambda t: t[..., -self.max_mem_len :, :].detach(), new_mems)\n            )\n            return out, new_mems\n\n        if return_attn:\n            attn_maps = list(\n                map(lambda t: t.post_softmax_attn, intermediates.attn_intermediates)\n            )\n            return out, attn_maps\n\n        return out\n"
  },
  {
    "path": "ldm/util.py",
    "content": "import importlib\n\nimport torch\nimport numpy as np\nfrom collections import abc\n\nimport multiprocessing as mp\nfrom threading import Thread\nfrom queue import Queue\n\nfrom inspect import isfunction\nfrom PIL import Image, ImageDraw, ImageFont\n\n\ndef log_txt_as_img(wh, xc, size=10):\n    # wh a tuple of (width, height)\n    # xc a list of captions to plot\n    b = len(xc)\n    txts = list()\n    for bi in range(b):\n        txt = Image.new(\"RGB\", wh, color=\"white\")\n        draw = ImageDraw.Draw(txt)\n        font = ImageFont.truetype(\"data/DejaVuSans.ttf\", size=size)\n        nc = int(40 * (wh[0] / 256))\n        lines = \"\\n\".join(\n            xc[bi][start : start + nc] for start in range(0, len(xc[bi]), nc)\n        )\n\n        try:\n            draw.text((0, 0), lines, fill=\"black\", font=font)\n        except UnicodeEncodeError:\n            print(\"Cant encode string for logging. Skipping.\")\n\n        txt = np.array(txt).transpose(2, 0, 1) / 127.5 - 1.0\n        txts.append(txt)\n    txts = np.stack(txts)\n    txts = torch.tensor(txts)\n    return txts\n\n\ndef ismap(x):\n    if not isinstance(x, torch.Tensor):\n        return False\n    return (len(x.shape) == 4) and (x.shape[1] > 3)\n\n\ndef isimage(x):\n    if not isinstance(x, torch.Tensor):\n        return False\n    return (len(x.shape) == 4) and (x.shape[1] == 3 or x.shape[1] == 1)\n\n\ndef exists(x):\n    return x is not None\n\n\ndef default(val, d):\n    if exists(val):\n        return val\n    return d() if isfunction(d) else d\n\n\ndef mean_flat(tensor):\n    \"\"\"\n    https://github.com/openai/guided-diffusion/blob/27c20a8fab9cb472df5d6bdd6c8d11c8f430b924/guided_diffusion/nn.py#L86\n    Take the mean over all non-batch dimensions.\n    \"\"\"\n    return tensor.mean(dim=list(range(1, len(tensor.shape))))\n\n\ndef count_params(model, verbose=False):\n    total_params = sum(p.numel() for p in model.parameters())\n    if verbose:\n        print(f\"{model.__class__.__name__} has {total_params * 1.e-6:.2f} M params.\")\n    return total_params\n\n\ndef instantiate_from_config(config):\n    if \"target\" not in config:\n        if config == \"__is_first_stage__\":\n            return None\n        elif config == \"__is_unconditional__\":\n            return None\n        raise KeyError(\"Expected key `target` to instantiate.\")\n    return get_obj_from_str(config[\"target\"])(**config.get(\"params\", dict()))\n\n\ndef get_obj_from_str(string, reload=False):\n    module, cls = string.rsplit(\".\", 1)\n    if reload:\n        module_imp = importlib.import_module(module)\n        importlib.reload(module_imp)\n    return getattr(importlib.import_module(module, package=None), cls)\n\n\ndef _do_parallel_data_prefetch(func, Q, data, idx, idx_to_fn=False):\n    # create dummy dataset instance\n\n    # run prefetching\n    if idx_to_fn:\n        res = func(data, worker_id=idx)\n    else:\n        res = func(data)\n    Q.put([idx, res])\n    Q.put(\"Done\")\n\n\ndef parallel_data_prefetch(\n    func: callable,\n    data,\n    n_proc,\n    target_data_type=\"ndarray\",\n    cpu_intensive=True,\n    use_worker_id=False,\n):\n    # if target_data_type not in [\"ndarray\", \"list\"]:\n    #     raise ValueError(\n    #         \"Data, which is passed to parallel_data_prefetch has to be either of type list or ndarray.\"\n    #     )\n    if isinstance(data, np.ndarray) and target_data_type == \"list\":\n        raise ValueError(\"list expected but function got ndarray.\")\n    elif isinstance(data, abc.Iterable):\n        if isinstance(data, dict):\n            print(\n                'WARNING:\"data\" argument passed to parallel_data_prefetch is a dict: Using only its values and disregarding keys.'\n            )\n            data = list(data.values())\n        if target_data_type == \"ndarray\":\n            data = np.asarray(data)\n        else:\n            data = list(data)\n    else:\n        raise TypeError(\n            f\"The data, that shall be processed parallel has to be either an np.ndarray or an Iterable, but is actually {type(data)}.\"\n        )\n\n    if cpu_intensive:\n        Q = mp.Queue(1000)\n        proc = mp.Process\n    else:\n        Q = Queue(1000)\n        proc = Thread\n    # spawn processes\n    if target_data_type == \"ndarray\":\n        arguments = [\n            [func, Q, part, i, use_worker_id]\n            for i, part in enumerate(np.array_split(data, n_proc))\n        ]\n    else:\n        step = (\n            int(len(data) / n_proc + 1)\n            if len(data) % n_proc != 0\n            else int(len(data) / n_proc)\n        )\n        arguments = [\n            [func, Q, part, i, use_worker_id]\n            for i, part in enumerate(\n                [data[i : i + step] for i in range(0, len(data), step)]\n            )\n        ]\n    processes = []\n    for i in range(n_proc):\n        p = proc(target=_do_parallel_data_prefetch, args=arguments[i])\n        processes += [p]\n\n    # start processes\n    print(\"Start prefetching...\")\n    import time\n\n    start = time.time()\n    gather_res = [[] for _ in range(n_proc)]\n    try:\n        for p in processes:\n            p.start()\n\n        k = 0\n        while k < n_proc:\n            # get result\n            res = Q.get()\n            if res == \"Done\":\n                k += 1\n            else:\n                gather_res[res[0]] = res[1]\n\n    except Exception as e:\n        print(\"Exception: \", e)\n        for p in processes:\n            p.terminate()\n\n        raise e\n    finally:\n        for p in processes:\n            p.join()\n        print(f\"Prefetching complete. [{time.time() - start} sec.]\")\n\n    if target_data_type == \"ndarray\":\n        if not isinstance(gather_res[0], np.ndarray):\n            return np.concatenate([np.asarray(r) for r in gather_res], axis=0)\n\n        # order outputs\n        return np.concatenate(gather_res, axis=0)\n    elif target_data_type == \"list\":\n        out = []\n        for r in gather_res:\n            out.extend(r)\n        return out\n    else:\n        return gather_res\n"
  },
  {
    "path": "optimizedSD/ddpm.py",
    "content": "\"\"\"\nwild mixture of\nhttps://github.com/lucidrains/denoising-diffusion-pytorch/blob/7706bdfc6f527f58d33f84b7b522e61e6e3164b3/denoising_diffusion_pytorch/denoising_diffusion_pytorch.py\nhttps://github.com/openai/improved-diffusion/blob/e94489283bb876ac1477d5dd7709bbbd2d9902ce/improved_diffusion/gaussian_diffusion.py\nhttps://github.com/CompVis/taming-transformers\n-- merci\n\"\"\"\n\nfrom tqdm.auto import trange, tqdm\nimport torch\nfrom einops import rearrange\nfrom tqdm import tqdm\nfrom ldm.modules.distributions.distributions import DiagonalGaussianDistribution\nfrom ldm.models.autoencoder import VQModelInterface\nimport numpy as np\nimport pytorch_lightning as pl\nfrom functools import partial\nfrom pytorch_lightning.utilities.distributed import rank_zero_only\nfrom ldm.util import exists, default, instantiate_from_config\nfrom ldm.modules.diffusionmodules.util import make_beta_schedule\nfrom ldm.modules.diffusionmodules.util import (\n    make_ddim_sampling_parameters,\n    make_ddim_timesteps,\n    noise_like,\n)\nfrom ldm.modules.diffusionmodules.util import (\n    make_beta_schedule,\n    extract_into_tensor,\n    noise_like,\n)\nfrom .samplers import (\n    CompVisDenoiser,\n    get_ancestral_step,\n    to_d,\n    append_dims,\n    linear_multistep_coeff,\n)\n\n\ndef disabled_train(self):\n    \"\"\"Overwrite model.train with this function to make sure train/eval mode\n    does not change anymore.\"\"\"\n    return self\n\n\nclass DDPM(pl.LightningModule):\n    # classic DDPM with Gaussian diffusion, in image space\n    def __init__(\n        self,\n        timesteps=1000,\n        beta_schedule=\"linear\",\n        ckpt_path=None,\n        ignore_keys=[],\n        load_only_unet=False,\n        monitor=\"val/loss\",\n        use_ema=True,\n        first_stage_key=\"image\",\n        image_size=256,\n        channels=3,\n        log_every_t=100,\n        clip_denoised=True,\n        linear_start=1e-4,\n        linear_end=2e-2,\n        cosine_s=8e-3,\n        given_betas=None,\n        original_elbo_weight=0.0,\n        v_posterior=0.0,  # weight for choosing posterior variance as sigma = (1-v) * beta_tilde + v * beta\n        l_simple_weight=1.0,\n        conditioning_key=None,\n        parameterization=\"eps\",  # all assuming fixed variance schedules\n        scheduler_config=None,\n        use_positional_encodings=False,\n    ):\n        super().__init__()\n        assert parameterization in [\n            \"eps\",\n            \"x0\",\n        ], 'currently only supporting \"eps\" and \"x0\"'\n        self.parameterization = parameterization\n        print(\n            f\"{self.__class__.__name__}: Running in {self.parameterization}-prediction mode\"\n        )\n        self.cond_stage_model = None\n        self.clip_denoised = clip_denoised\n        self.log_every_t = log_every_t\n        self.first_stage_key = first_stage_key\n        self.image_size = image_size  # try conv?\n        self.channels = channels\n        self.use_positional_encodings = use_positional_encodings\n        self.use_scheduler = scheduler_config is not None\n        if self.use_scheduler:\n            self.scheduler_config = scheduler_config\n\n        self.v_posterior = v_posterior\n        self.original_elbo_weight = original_elbo_weight\n        self.l_simple_weight = l_simple_weight\n\n        if monitor is not None:\n            self.monitor = monitor\n        if ckpt_path is not None:\n            self.init_from_ckpt(\n                ckpt_path, ignore_keys=ignore_keys, only_model=load_only_unet\n            )\n        self.register_schedule(\n            given_betas=given_betas,\n            beta_schedule=beta_schedule,\n            timesteps=timesteps,\n            linear_start=linear_start,\n            linear_end=linear_end,\n            cosine_s=cosine_s,\n        )\n\n    def register_schedule(\n        self,\n        given_betas=None,\n        beta_schedule=\"linear\",\n        timesteps=1000,\n        linear_start=1e-4,\n        linear_end=2e-2,\n        cosine_s=8e-3,\n    ):\n        if exists(given_betas):\n            betas = given_betas\n        else:\n            betas = make_beta_schedule(\n                beta_schedule,\n                timesteps,\n                linear_start=linear_start,\n                linear_end=linear_end,\n                cosine_s=cosine_s,\n            )\n        alphas = 1.0 - betas\n        alphas_cumprod = np.cumprod(alphas, axis=0)\n\n        (timesteps,) = betas.shape\n        self.num_timesteps = int(timesteps)\n        self.linear_start = linear_start\n        self.linear_end = linear_end\n        assert (\n            alphas_cumprod.shape[0] == self.num_timesteps\n        ), \"alphas have to be defined for each timestep\"\n\n        to_torch = partial(torch.tensor, dtype=torch.float32)\n\n        self.register_buffer(\"betas\", to_torch(betas))\n        self.register_buffer(\"alphas_cumprod\", to_torch(alphas_cumprod))\n\n\nclass FirstStage(DDPM):\n    \"\"\"main class\"\"\"\n\n    def __init__(\n        self,\n        first_stage_config,\n        num_timesteps_cond=None,\n        cond_stage_key=\"image\",\n        cond_stage_trainable=False,\n        concat_mode=True,\n        cond_stage_forward=None,\n        conditioning_key=None,\n        scale_factor=1.0,\n        scale_by_std=False,\n        *args,\n        **kwargs,\n    ):\n        self.num_timesteps_cond = default(num_timesteps_cond, 1)\n        self.scale_by_std = scale_by_std\n        assert self.num_timesteps_cond <= kwargs[\"timesteps\"]\n        # for backwards compatibility after implementation of DiffusionWrapper\n        if conditioning_key is None:\n            conditioning_key = \"concat\" if concat_mode else \"crossattn\"\n        ckpt_path = kwargs.pop(\"ckpt_path\", None)\n        ignore_keys = kwargs.pop(\"ignore_keys\", [])\n        super().__init__()\n        self.concat_mode = concat_mode\n        self.cond_stage_trainable = cond_stage_trainable\n        self.cond_stage_key = cond_stage_key\n        try:\n            self.num_downs = len(first_stage_config.params.ddconfig.ch_mult) - 1\n        except:\n            self.num_downs = 0\n        if not scale_by_std:\n            self.scale_factor = scale_factor\n        self.instantiate_first_stage(first_stage_config)\n        self.cond_stage_forward = cond_stage_forward\n        self.clip_denoised = False\n        self.bbox_tokenizer = None\n\n        self.restarted_from_ckpt = False\n        if ckpt_path is not None:\n            self.init_from_ckpt(ckpt_path, ignore_keys)\n            self.restarted_from_ckpt = True\n\n    def instantiate_first_stage(self, config):\n        model = instantiate_from_config(config)\n        self.first_stage_model = model.eval()\n        self.first_stage_model.train = disabled_train\n        for param in self.first_stage_model.parameters():\n            param.requires_grad = False\n\n    def get_first_stage_encoding(self, encoder_posterior):\n        if isinstance(encoder_posterior, DiagonalGaussianDistribution):\n            z = encoder_posterior.sample()\n        elif isinstance(encoder_posterior, torch.Tensor):\n            z = encoder_posterior\n        else:\n            raise NotImplementedError(\n                f\"encoder_posterior of type '{type(encoder_posterior)}' not yet implemented\"\n            )\n        return self.scale_factor * z\n\n    @torch.no_grad()\n    def decode_first_stage(self, z, predict_cids=False, force_not_quantize=False):\n        if predict_cids:\n            if z.dim() == 4:\n                z = torch.argmax(z.exp(), dim=1).long()\n            z = self.first_stage_model.quantize.get_codebook_entry(z, shape=None)\n            z = rearrange(z, \"b h w c -> b c h w\").contiguous()\n\n        z = 1.0 / self.scale_factor * z\n\n        if hasattr(self, \"split_input_params\"):\n            if isinstance(self.first_stage_model, VQModelInterface):\n                return self.first_stage_model.decode(\n                    z, force_not_quantize=predict_cids or force_not_quantize\n                )\n            else:\n                return self.first_stage_model.decode(z)\n\n        else:\n            if isinstance(self.first_stage_model, VQModelInterface):\n                return self.first_stage_model.decode(\n                    z, force_not_quantize=predict_cids or force_not_quantize\n                )\n            else:\n                return self.first_stage_model.decode(z)\n\n    @torch.no_grad()\n    def encode_first_stage(self, x):\n        if hasattr(self, \"split_input_params\"):\n            if self.split_input_params[\"patch_distributed_vq\"]:\n                ks = self.split_input_params[\"ks\"]  # eg. (128, 128)\n                stride = self.split_input_params[\"stride\"]  # eg. (64, 64)\n                df = self.split_input_params[\"vqf\"]\n                self.split_input_params[\"original_image_size\"] = x.shape[-2:]\n                bs, nc, h, w = x.shape\n                if ks[0] > h or ks[1] > w:\n                    ks = (min(ks[0], h), min(ks[1], w))\n                    print(\"reducing Kernel\")\n\n                if stride[0] > h or stride[1] > w:\n                    stride = (min(stride[0], h), min(stride[1], w))\n                    print(\"reducing stride\")\n\n                fold, unfold, normalization, weighting = self.get_fold_unfold(\n                    x, ks, stride, df=df\n                )\n                z = unfold(x)  # (bn, nc * prod(**ks), L)\n                # Reshape to img shape\n                z = z.view(\n                    (z.shape[0], -1, ks[0], ks[1], z.shape[-1])\n                )  # (bn, nc, ks[0], ks[1], L )\n\n                output_list = [\n                    self.first_stage_model.encode(z[:, :, :, :, i])\n                    for i in range(z.shape[-1])\n                ]\n\n                o = torch.stack(output_list, axis=-1)\n                o = o * weighting\n\n                # Reverse reshape to img shape\n                o = o.view((o.shape[0], -1, o.shape[-1]))  # (bn, nc * ks[0] * ks[1], L)\n                # stitch crops together\n                decoded = fold(o)\n                decoded = decoded / normalization\n                return decoded\n\n            else:\n                return self.first_stage_model.encode(x)\n        else:\n            return self.first_stage_model.encode(x)\n\n\nclass CondStage(DDPM):\n    \"\"\"main class\"\"\"\n\n    def __init__(\n        self,\n        cond_stage_config,\n        num_timesteps_cond=None,\n        cond_stage_key=\"image\",\n        cond_stage_trainable=False,\n        concat_mode=True,\n        cond_stage_forward=None,\n        conditioning_key=None,\n        scale_factor=1.0,\n        scale_by_std=False,\n        *args,\n        **kwargs,\n    ):\n        self.num_timesteps_cond = default(num_timesteps_cond, 1)\n        self.scale_by_std = scale_by_std\n        assert self.num_timesteps_cond <= kwargs[\"timesteps\"]\n        # for backwards compatibility after implementation of DiffusionWrapper\n        if conditioning_key is None:\n            conditioning_key = \"concat\" if concat_mode else \"crossattn\"\n        if cond_stage_config == \"__is_unconditional__\":\n            conditioning_key = None\n        ckpt_path = kwargs.pop(\"ckpt_path\", None)\n        ignore_keys = kwargs.pop(\"ignore_keys\", [])\n        super().__init__()\n        self.concat_mode = concat_mode\n        self.cond_stage_trainable = cond_stage_trainable\n        self.cond_stage_key = cond_stage_key\n        self.num_downs = 0\n        if not scale_by_std:\n            self.scale_factor = scale_factor\n        self.instantiate_cond_stage(cond_stage_config)\n        self.cond_stage_forward = cond_stage_forward\n        self.clip_denoised = False\n        self.bbox_tokenizer = None\n\n        self.restarted_from_ckpt = False\n        if ckpt_path is not None:\n            self.init_from_ckpt(ckpt_path, ignore_keys)\n            self.restarted_from_ckpt = True\n\n    def instantiate_cond_stage(self, config):\n        if not self.cond_stage_trainable:\n            if config == \"__is_first_stage__\":\n                print(\"Using first stage also as cond stage.\")\n                self.cond_stage_model = self.first_stage_model\n            elif config == \"__is_unconditional__\":\n                print(f\"Training {self.__class__.__name__} as an unconditional model.\")\n                self.cond_stage_model = None\n                # self.be_unconditional = True\n            else:\n                model = instantiate_from_config(config)\n                self.cond_stage_model = model.eval()\n                self.cond_stage_model.train = disabled_train\n                for param in self.cond_stage_model.parameters():\n                    param.requires_grad = False\n        else:\n            assert config != \"__is_first_stage__\"\n            assert config != \"__is_unconditional__\"\n            model = instantiate_from_config(config)\n            self.cond_stage_model = model\n\n    def get_learned_conditioning(self, c):\n        if self.cond_stage_forward is None:\n            if hasattr(self.cond_stage_model, \"encode\") and callable(\n                self.cond_stage_model.encode\n            ):\n                c = self.cond_stage_model.encode(c)\n                if isinstance(c, DiagonalGaussianDistribution):\n                    c = c.mode()\n            else:\n                c = self.cond_stage_model(c)\n        else:\n            assert hasattr(self.cond_stage_model, self.cond_stage_forward)\n            c = getattr(self.cond_stage_model, self.cond_stage_forward)(c)\n        return c\n\n\nclass DiffusionWrapper(pl.LightningModule):\n    def __init__(self, diff_model_config):\n        super().__init__()\n        self.diffusion_model = instantiate_from_config(diff_model_config)\n\n    def forward(self, x, t, cc):\n        out = self.diffusion_model(x, t, context=cc)\n        return out\n\n\nclass DiffusionWrapperOut(pl.LightningModule):\n    def __init__(self, diff_model_config):\n        super().__init__()\n        self.diffusion_model = instantiate_from_config(diff_model_config)\n\n    def forward(self, h, emb, tp, hs, cc):\n        return self.diffusion_model(h, emb, tp, hs, context=cc)\n\n\nclass UNet(DDPM):\n    \"\"\"main class\"\"\"\n\n    def __init__(\n        self,\n        unetConfigEncode,\n        unetConfigDecode,\n        num_timesteps_cond=None,\n        cond_stage_key=\"image\",\n        cond_stage_trainable=False,\n        concat_mode=True,\n        cond_stage_forward=None,\n        conditioning_key=None,\n        scale_factor=1.0,\n        unet_bs=1,\n        scale_by_std=False,\n        *args,\n        **kwargs,\n    ):\n        self.num_timesteps_cond = default(num_timesteps_cond, 1)\n        self.scale_by_std = scale_by_std\n        assert self.num_timesteps_cond <= kwargs[\"timesteps\"]\n        # for backwards compatibility after implementation of DiffusionWrapper\n        if conditioning_key is None:\n            conditioning_key = \"concat\" if concat_mode else \"crossattn\"\n        ckpt_path = kwargs.pop(\"ckpt_path\", None)\n        ignore_keys = kwargs.pop(\"ignore_keys\", [])\n        super().__init__(conditioning_key=conditioning_key, *args, **kwargs)\n        self.concat_mode = concat_mode\n        self.cond_stage_trainable = cond_stage_trainable\n        self.cond_stage_key = cond_stage_key\n        self.num_downs = 0\n        self.cdevice = \"cuda\"\n        self.unetConfigEncode = unetConfigEncode\n        self.unetConfigDecode = unetConfigDecode\n        if not scale_by_std:\n            self.scale_factor = scale_factor\n        else:\n            self.register_buffer(\"scale_factor\", torch.tensor(scale_factor))\n        self.cond_stage_forward = cond_stage_forward\n        self.clip_denoised = False\n        self.bbox_tokenizer = None\n        self.model1 = DiffusionWrapper(self.unetConfigEncode)\n        self.model2 = DiffusionWrapperOut(self.unetConfigDecode)\n        self.model1.eval()\n        self.model2.eval()\n        self.turbo = False\n        self.unet_bs = unet_bs\n        self.restarted_from_ckpt = False\n        if ckpt_path is not None:\n            self.init_from_ckpt(ckpt_path, ignore_keys)\n            self.restarted_from_ckpt = True\n\n    def make_cond_schedule(\n        self,\n    ):\n        self.cond_ids = torch.full(\n            size=(self.num_timesteps,),\n            fill_value=self.num_timesteps - 1,\n            dtype=torch.long,\n        )\n        ids = torch.round(\n            torch.linspace(0, self.num_timesteps - 1, self.num_timesteps_cond)\n        ).long()\n        self.cond_ids[: self.num_timesteps_cond] = ids\n\n    @rank_zero_only\n    @torch.no_grad()\n    def on_train_batch_start(self, batch, batch_idx):\n        # only for very first batch\n        if (\n            self.scale_by_std\n            and self.current_epoch == 0\n            and self.global_step == 0\n            and batch_idx == 0\n            and not self.restarted_from_ckpt\n        ):\n            assert (\n                self.scale_factor == 1.0\n            ), \"rather not use custom rescaling and std-rescaling simultaneously\"\n            # set rescale weight to 1./std of encodings\n            print(\"### USING STD-RESCALING ###\")\n            x = super().get_input(batch, self.first_stage_key)\n            x = x.to(self.cdevice)\n            encoder_posterior = self.encode_first_stage(x)\n            z = self.get_first_stage_encoding(encoder_posterior).detach()\n            del self.scale_factor\n            self.register_buffer(\"scale_factor\", 1.0 / z.flatten().std())\n            print(f\"setting self.scale_factor to {self.scale_factor}\")\n            print(\"### USING STD-RESCALING ###\")\n\n    def apply_model(self, x_noisy, t, cond, return_ids=False):\n        if not self.turbo:\n            self.model1.to(self.cdevice)\n\n        step = self.unet_bs\n        h, emb, hs = self.model1(x_noisy[0:step], t[:step], cond[:step])\n        bs = cond.shape[0]\n\n        # assert bs%2 == 0\n        lenhs = len(hs)\n\n        for i in range(step, bs, step):\n            h_temp, emb_temp, hs_temp = self.model1(\n                x_noisy[i : i + step], t[i : i + step], cond[i : i + step]\n            )\n            h = torch.cat((h, h_temp))\n            emb = torch.cat((emb, emb_temp))\n            for j in range(lenhs):\n                hs[j] = torch.cat((hs[j], hs_temp[j]))\n\n        if not self.turbo:\n            self.model1.to(\"cpu\")\n            self.model2.to(self.cdevice)\n\n        hs_temp = [hs[j][:step] for j in range(lenhs)]\n        x_recon = self.model2(h[:step], emb[:step], x_noisy.dtype, hs_temp, cond[:step])\n\n        for i in range(step, bs, step):\n            hs_temp = [hs[j][i : i + step] for j in range(lenhs)]\n            x_recon1 = self.model2(\n                h[i : i + step],\n                emb[i : i + step],\n                x_noisy.dtype,\n                hs_temp,\n                cond[i : i + step],\n            )\n            x_recon = torch.cat((x_recon, x_recon1))\n\n        if not self.turbo:\n            self.model2.to(\"cpu\")\n\n        if isinstance(x_recon, tuple) and not return_ids:\n            return x_recon[0]\n        else:\n            return x_recon\n\n    def register_buffer1(self, name, attr):\n        if type(attr) == torch.Tensor:\n            if attr.device != torch.device(self.cdevice):\n                attr = attr.to(torch.device(self.cdevice))\n        setattr(self, name, attr)\n\n    def make_schedule(\n        self, ddim_num_steps, ddim_discretize=\"uniform\", ddim_eta=0.0, verbose=True\n    ):\n        self.ddim_timesteps = make_ddim_timesteps(\n            ddim_discr_method=ddim_discretize,\n            num_ddim_timesteps=ddim_num_steps,\n            num_ddpm_timesteps=self.num_timesteps,\n            verbose=verbose,\n        )\n\n        assert (\n            self.alphas_cumprod.shape[0] == self.num_timesteps\n        ), \"alphas have to be defined for each timestep\"\n\n        def to_torch(x):\n            return x.to(self.cdevice)\n\n        self.register_buffer1(\"betas\", to_torch(self.betas))\n        self.register_buffer1(\"alphas_cumprod\", to_torch(self.alphas_cumprod))\n        # ddim sampling parameters\n        ddim_sigmas, ddim_alphas, ddim_alphas_prev = make_ddim_sampling_parameters(\n            alphacums=self.alphas_cumprod.cpu(),\n            ddim_timesteps=self.ddim_timesteps,\n            eta=ddim_eta,\n            verbose=verbose,\n        )\n        self.register_buffer1(\"ddim_sigmas\", ddim_sigmas)\n        self.register_buffer1(\"ddim_alphas\", ddim_alphas)\n        self.register_buffer1(\"ddim_alphas_prev\", ddim_alphas_prev)\n        self.register_buffer1(\"ddim_sqrt_one_minus_alphas\", np.sqrt(1.0 - ddim_alphas))\n\n    @torch.no_grad()\n    def sample(\n        self,\n        S,\n        conditioning,\n        x0=None,\n        shape=None,\n        seed=1234,\n        callback=None,\n        img_callback=None,\n        quantize_x0=False,\n        eta=0.0,\n        mask=None,\n        sampler=\"plms\",\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        verbose=True,\n        x_T=None,\n        log_every_t=100,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n    ):\n        if self.turbo:\n            self.model1.to(self.cdevice)\n            self.model2.to(self.cdevice)\n\n        if x0 is None:\n            batch_size, b1, b2, b3 = shape\n            img_shape = (1, b1, b2, b3)\n            tens = []\n            print(\"seeds used = \", [seed + s for s in range(batch_size)])\n            for _ in range(batch_size):\n                torch.manual_seed(seed)\n                tens.append(torch.randn(img_shape, device=self.cdevice))\n                seed += 1\n            noise = torch.cat(tens)\n            del tens\n\n        x_latent = noise if x0 is None else x0\n        # sampling\n\n        if sampler == \"plms\":\n            self.make_schedule(ddim_num_steps=S, ddim_eta=eta, verbose=False)\n            print(f\"Data shape for PLMS sampling is {shape}\")\n            samples = self.plms_sampling(\n                conditioning,\n                batch_size,\n                x_latent,\n                callback=callback,\n                img_callback=img_callback,\n                quantize_denoised=quantize_x0,\n                mask=mask,\n                x0=x0,\n                ddim_use_original_steps=False,\n                noise_dropout=noise_dropout,\n                temperature=temperature,\n                score_corrector=score_corrector,\n                corrector_kwargs=corrector_kwargs,\n                log_every_t=log_every_t,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n                unconditional_conditioning=unconditional_conditioning,\n            )\n\n        elif sampler == \"ddim\":\n            samples = self.ddim_sampling(\n                x_latent,\n                conditioning,\n                S,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n                unconditional_conditioning=unconditional_conditioning,\n                mask=mask,\n                init_latent=x_T,\n                use_original_steps=False,\n            )\n\n        elif sampler == \"euler\":\n            self.make_schedule(ddim_num_steps=S, ddim_eta=eta, verbose=False)\n            samples = self.euler_sampling(\n                self.alphas_cumprod,\n                x_latent,\n                S,\n                conditioning,\n                unconditional_conditioning=unconditional_conditioning,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n            )\n        elif sampler == \"euler_a\":\n            self.make_schedule(ddim_num_steps=S, ddim_eta=eta, verbose=False)\n            samples = self.euler_ancestral_sampling(\n                self.alphas_cumprod,\n                x_latent,\n                S,\n                conditioning,\n                unconditional_conditioning=unconditional_conditioning,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n            )\n\n        elif sampler == \"dpm2\":\n            samples = self.dpm_2_sampling(\n                self.alphas_cumprod,\n                x_latent,\n                S,\n                conditioning,\n                unconditional_conditioning=unconditional_conditioning,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n            )\n        elif sampler == \"heun\":\n            samples = self.heun_sampling(\n                self.alphas_cumprod,\n                x_latent,\n                S,\n                conditioning,\n                unconditional_conditioning=unconditional_conditioning,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n            )\n\n        elif sampler == \"dpm2_a\":\n            samples = self.dpm_2_ancestral_sampling(\n                self.alphas_cumprod,\n                x_latent,\n                S,\n                conditioning,\n                unconditional_conditioning=unconditional_conditioning,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n            )\n\n        elif sampler == \"lms\":\n            samples = self.lms_sampling(\n                self.alphas_cumprod,\n                x_latent,\n                S,\n                conditioning,\n                unconditional_conditioning=unconditional_conditioning,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n            )\n\n        if self.turbo:\n            self.model1.to(\"cpu\")\n            self.model2.to(\"cpu\")\n\n        return samples\n\n    @torch.no_grad()\n    def plms_sampling(\n        self,\n        cond,\n        b,\n        img,\n        ddim_use_original_steps=False,\n        callback=None,\n        quantize_denoised=False,\n        mask=None,\n        x0=None,\n        img_callback=None,\n        log_every_t=100,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n    ):\n        device = self.betas.device\n        timesteps = self.ddim_timesteps\n        time_range = np.flip(timesteps)\n        total_steps = timesteps.shape[0]\n        print(f\"Running PLMS Sampling with {total_steps} timesteps\")\n\n        iterator = tqdm(time_range, desc=\"PLMS Sampler\", total=total_steps)\n        old_eps = []\n\n        for i, step in enumerate(iterator):\n            index = total_steps - i - 1\n            ts = torch.full((b,), step, device=device, dtype=torch.long)\n            ts_next = torch.full(\n                (b,),\n                time_range[min(i + 1, len(time_range) - 1)],\n                device=device,\n                dtype=torch.long,\n            )\n\n            if mask is not None:\n                assert x0 is not None\n                img_orig = self.q_sample(x0, ts)  # TODO: deterministic forward pass?\n                img = img_orig * mask + (1.0 - mask) * img\n\n            outs = self.p_sample_plms(\n                img,\n                cond,\n                ts,\n                index=index,\n                use_original_steps=ddim_use_original_steps,\n                quantize_denoised=quantize_denoised,\n                temperature=temperature,\n                noise_dropout=noise_dropout,\n                score_corrector=score_corrector,\n                corrector_kwargs=corrector_kwargs,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n                unconditional_conditioning=unconditional_conditioning,\n                old_eps=old_eps,\n                t_next=ts_next,\n            )\n            img, pred_x0, e_t = outs\n            old_eps.append(e_t)\n            if len(old_eps) >= 4:\n                old_eps.pop(0)\n            if callback:\n                callback(i)\n            if img_callback:\n                img_callback(pred_x0, i)\n\n        return img\n\n    @torch.no_grad()\n    def p_sample_plms(\n        self,\n        x,\n        c,\n        t,\n        index,\n        repeat_noise=False,\n        use_original_steps=False,\n        quantize_denoised=False,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n        old_eps=None,\n        t_next=None,\n    ):\n        b, *_, device = *x.shape, x.device\n\n        def get_model_output(x, t):\n            if (\n                unconditional_conditioning is None\n                or unconditional_guidance_scale == 1.0\n            ):\n                e_t = self.apply_model(x, t, c)\n            else:\n                x_in = torch.cat([x] * 2)\n                t_in = torch.cat([t] * 2)\n                c_in = torch.cat([unconditional_conditioning, c])\n                e_t_uncond, e_t = self.apply_model(x_in, t_in, c_in).chunk(2)\n                e_t = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            if score_corrector is not None:\n                assert self.parameterization == \"eps\"\n                e_t = score_corrector.modify_score(\n                    self.model, e_t, x, t, c, **corrector_kwargs\n                )\n\n            return e_t\n\n        alphas = self.ddim_alphas\n        alphas_prev = self.ddim_alphas_prev\n        sqrt_one_minus_alphas = self.ddim_sqrt_one_minus_alphas\n        sigmas = self.ddim_sigmas\n\n        def get_x_prev_and_pred_x0(e_t, index):\n            # select parameters corresponding to the currently considered timestep\n            a_t = torch.full((b, 1, 1, 1), alphas[index], device=device)\n            a_prev = torch.full((b, 1, 1, 1), alphas_prev[index], device=device)\n            sigma_t = torch.full((b, 1, 1, 1), sigmas[index], device=device)\n            sqrt_one_minus_at = torch.full(\n                (b, 1, 1, 1), sqrt_one_minus_alphas[index], device=device\n            )\n\n            # current prediction for x_0\n            pred_x0 = (x - sqrt_one_minus_at * e_t) / a_t.sqrt()\n            if quantize_denoised:\n                pred_x0, _, *_ = self.first_stage_model.quantize(pred_x0)\n            # direction pointing to x_t\n            dir_xt = (1.0 - a_prev - sigma_t**2).sqrt() * e_t\n            noise = sigma_t * noise_like(x.shape, device, repeat_noise) * temperature\n            if noise_dropout > 0.0:\n                noise = torch.nn.functional.dropout(noise, p=noise_dropout)\n            x_prev = a_prev.sqrt() * pred_x0 + dir_xt + noise\n            return x_prev, pred_x0\n\n        e_t = get_model_output(x, t)\n        if len(old_eps) == 0:\n            # Pseudo Improved Euler (2nd order)\n            x_prev, pred_x0 = get_x_prev_and_pred_x0(e_t, index)\n            e_t_next = get_model_output(x_prev, t_next)\n            e_t_prime = (e_t + e_t_next) / 2\n        elif len(old_eps) == 1:\n            # 2nd order Pseudo Linear Multistep (Adams-Bashforth)\n            e_t_prime = (3 * e_t - old_eps[-1]) / 2\n        elif len(old_eps) == 2:\n            # 3nd order Pseudo Linear Multistep (Adams-Bashforth)\n            e_t_prime = (23 * e_t - 16 * old_eps[-1] + 5 * old_eps[-2]) / 12\n        elif len(old_eps) >= 3:\n            # 4nd order Pseudo Linear Multistep (Adams-Bashforth)\n            e_t_prime = (\n                55 * e_t - 59 * old_eps[-1] + 37 * old_eps[-2] - 9 * old_eps[-3]\n            ) / 24\n\n        x_prev, pred_x0 = get_x_prev_and_pred_x0(e_t_prime, index)\n\n        return x_prev, pred_x0, e_t\n\n    @torch.no_grad()\n    def stochastic_encode(\n        self, x0, t, seed, ddim_eta, ddim_steps, use_original_steps=False, noise=None\n    ):\n        # fast, but does not allow for exact reconstruction\n        # t serves as an index to gather the correct alphas\n        self.make_schedule(ddim_num_steps=ddim_steps, ddim_eta=ddim_eta, verbose=False)\n        sqrt_alphas_cumprod = torch.sqrt(self.ddim_alphas)\n\n        if noise is None:\n            b0, b1, b2, b3 = x0.shape\n            img_shape = (1, b1, b2, b3)\n            tens = []\n            print(\"seeds used = \", [seed + s for s in range(b0)])\n            for _ in range(b0):\n                torch.manual_seed(seed)\n                tens.append(torch.randn(img_shape, device=x0.device))\n                seed += 1\n            noise = torch.cat(tens)\n            del tens\n        return (\n            extract_into_tensor(sqrt_alphas_cumprod, t, x0.shape) * x0\n            + extract_into_tensor(self.ddim_sqrt_one_minus_alphas, t, x0.shape) * noise\n        )\n\n    @torch.no_grad()\n    def add_noise(self, x0, t):\n        sqrt_alphas_cumprod = torch.sqrt(self.ddim_alphas)\n        noise = torch.randn(x0.shape, device=x0.device)\n\n        # print(extract_into_tensor(sqrt_alphas_cumprod, t, x0.shape),\n        #       extract_into_tensor(self.ddim_sqrt_one_minus_alphas, t, x0.shape))\n        return (\n            extract_into_tensor(sqrt_alphas_cumprod, t, x0.shape) * x0\n            + extract_into_tensor(self.ddim_sqrt_one_minus_alphas, t, x0.shape) * noise\n        )\n\n    @torch.no_grad()\n    def ddim_sampling(\n        self,\n        x_latent,\n        cond,\n        t_start,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n        mask=None,\n        init_latent=None,\n        use_original_steps=False,\n    ):\n        timesteps = self.ddim_timesteps\n        timesteps = timesteps[:t_start]\n        time_range = np.flip(timesteps)\n        total_steps = timesteps.shape[0]\n        print(f\"Running DDIM Sampling with {total_steps} timesteps\")\n\n        iterator = tqdm(time_range, desc=\"Decoding image\", total=total_steps)\n        x_dec = x_latent\n        x0 = init_latent\n        for i, step in enumerate(iterator):\n            index = total_steps - i - 1\n            ts = torch.full(\n                (x_latent.shape[0],), step, device=x_latent.device, dtype=torch.long\n            )\n\n            if mask is not None:\n                # x0_noisy = self.add_noise(mask, torch.tensor([index] * x0.shape[0]).to(self.cdevice))\n                x0_noisy = x0\n                x_dec = x0_noisy * mask + (1.0 - mask) * x_dec\n\n            x_dec = self.p_sample_ddim(\n                x_dec,\n                cond,\n                ts,\n                index=index,\n                use_original_steps=use_original_steps,\n                unconditional_guidance_scale=unconditional_guidance_scale,\n                unconditional_conditioning=unconditional_conditioning,\n            )\n\n        if mask is not None:\n            return x0 * mask + (1.0 - mask) * x_dec\n\n        return x_dec\n\n    @torch.no_grad()\n    def p_sample_ddim(\n        self,\n        x,\n        c,\n        t,\n        index,\n        repeat_noise=False,\n        use_original_steps=False,\n        quantize_denoised=False,\n        temperature=1.0,\n        noise_dropout=0.0,\n        score_corrector=None,\n        corrector_kwargs=None,\n        unconditional_guidance_scale=1.0,\n        unconditional_conditioning=None,\n    ):\n        b, *_, device = *x.shape, x.device\n\n        if unconditional_conditioning is None or unconditional_guidance_scale == 1.0:\n            e_t = self.apply_model(x, t, c)\n        else:\n            x_in = torch.cat([x] * 2)\n            t_in = torch.cat([t] * 2)\n            c_in = torch.cat([unconditional_conditioning, c])\n            e_t_uncond, e_t = self.apply_model(x_in, t_in, c_in).chunk(2)\n            e_t = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n        if score_corrector is not None:\n            assert self.model.parameterization == \"eps\"\n            e_t = score_corrector.modify_score(\n                self.model, e_t, x, t, c, **corrector_kwargs\n            )\n\n        alphas = self.ddim_alphas\n        alphas_prev = self.ddim_alphas_prev\n        sqrt_one_minus_alphas = self.ddim_sqrt_one_minus_alphas\n        sigmas = self.ddim_sigmas\n        # select parameters corresponding to the currently considered timestep\n        a_t = torch.full((b, 1, 1, 1), alphas[index], device=device)\n        a_prev = torch.full((b, 1, 1, 1), alphas_prev[index], device=device)\n        sigma_t = torch.full((b, 1, 1, 1), sigmas[index], device=device)\n        sqrt_one_minus_at = torch.full(\n            (b, 1, 1, 1), sqrt_one_minus_alphas[index], device=device\n        )\n\n        # current prediction for x_0\n        pred_x0 = (x - sqrt_one_minus_at * e_t) / a_t.sqrt()\n        if quantize_denoised:\n            pred_x0, _, *_ = self.first_stage_model.quantize(pred_x0)\n        # direction pointing to x_t\n        dir_xt = (1.0 - a_prev - sigma_t**2).sqrt() * e_t\n        noise = sigma_t * noise_like(x.shape, device, repeat_noise) * temperature\n        if noise_dropout > 0.0:\n            noise = torch.nn.functional.dropout(noise, p=noise_dropout)\n        x_prev = a_prev.sqrt() * pred_x0 + dir_xt + noise\n        return x_prev\n\n    @torch.no_grad()\n    def euler_sampling(\n        self,\n        ac,\n        x,\n        S,\n        cond,\n        unconditional_conditioning=None,\n        unconditional_guidance_scale=1,\n        extra_args=None,\n        callback=None,\n        disable=None,\n        s_churn=0.0,\n        s_tmin=0.0,\n        s_tmax=float(\"inf\"),\n        s_noise=1.0,\n    ):\n        \"\"\"Implements Algorithm 2 (Euler steps) from Karras et al. (2022).\"\"\"\n        extra_args = {} if extra_args is None else extra_args\n        cvd = CompVisDenoiser(ac)\n        sigmas = cvd.get_sigmas(S)\n        x = x * sigmas[0]\n\n        s_in = x.new_ones([x.shape[0]]).half()\n        for i in trange(len(sigmas) - 1, disable=disable):\n            gamma = (\n                min(s_churn / (len(sigmas) - 1), 2**0.5 - 1)\n                if s_tmin <= sigmas[i] <= s_tmax\n                else 0.0\n            )\n            eps = torch.randn_like(x) * s_noise\n            sigma_hat = (sigmas[i] * (gamma + 1)).half()\n            if gamma > 0:\n                x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5\n\n            s_i = sigma_hat * s_in\n            x_in = torch.cat([x] * 2)\n            t_in = torch.cat([s_i] * 2)\n            cond_in = torch.cat([unconditional_conditioning, cond])\n            c_out, c_in = [\n                append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n            ]\n            eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n            e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n            denoised = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            d = to_d(x, sigma_hat, denoised)\n            if callback is not None:\n                callback(\n                    {\n                        \"x\": x,\n                        \"i\": i,\n                        \"sigma\": sigmas[i],\n                        \"sigma_hat\": sigma_hat,\n                        \"denoised\": denoised,\n                    }\n                )\n            dt = sigmas[i + 1] - sigma_hat\n            # Euler method\n            x = x + d * dt\n        return x\n\n    @torch.no_grad()\n    def euler_ancestral_sampling(\n        self,\n        ac,\n        x,\n        S,\n        cond,\n        unconditional_conditioning=None,\n        unconditional_guidance_scale=1,\n        extra_args=None,\n        callback=None,\n        disable=None,\n    ):\n        \"\"\"Ancestral sampling with Euler method steps.\"\"\"\n        extra_args = {} if extra_args is None else extra_args\n\n        cvd = CompVisDenoiser(ac)\n        sigmas = cvd.get_sigmas(S)\n        x = x * sigmas[0]\n\n        s_in = x.new_ones([x.shape[0]]).half()\n        for i in trange(len(sigmas) - 1, disable=disable):\n            s_i = sigmas[i] * s_in\n            x_in = torch.cat([x] * 2)\n            t_in = torch.cat([s_i] * 2)\n            cond_in = torch.cat([unconditional_conditioning, cond])\n            c_out, c_in = [\n                append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n            ]\n            eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n            e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n            denoised = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1])\n            if callback is not None:\n                callback(\n                    {\n                        \"x\": x,\n                        \"i\": i,\n                        \"sigma\": sigmas[i],\n                        \"sigma_hat\": sigmas[i],\n                        \"denoised\": denoised,\n                    }\n                )\n            d = to_d(x, sigmas[i], denoised)\n            # Euler method\n            dt = sigma_down - sigmas[i]\n            x = x + d * dt\n            x = x + torch.randn_like(x) * sigma_up\n        return x\n\n    @torch.no_grad()\n    def heun_sampling(\n        self,\n        ac,\n        x,\n        S,\n        cond,\n        unconditional_conditioning=None,\n        unconditional_guidance_scale=1,\n        extra_args=None,\n        callback=None,\n        disable=None,\n        s_churn=0.0,\n        s_tmin=0.0,\n        s_tmax=float(\"inf\"),\n        s_noise=1.0,\n    ):\n        \"\"\"Implements Algorithm 2 (Heun steps) from Karras et al. (2022).\"\"\"\n        extra_args = {} if extra_args is None else extra_args\n\n        cvd = CompVisDenoiser(alphas_cumprod=ac)\n        sigmas = cvd.get_sigmas(S)\n        x = x * sigmas[0]\n\n        s_in = x.new_ones([x.shape[0]]).half()\n        for i in trange(len(sigmas) - 1, disable=disable):\n            gamma = (\n                min(s_churn / (len(sigmas) - 1), 2**0.5 - 1)\n                if s_tmin <= sigmas[i] <= s_tmax\n                else 0.0\n            )\n            eps = torch.randn_like(x) * s_noise\n            sigma_hat = (sigmas[i] * (gamma + 1)).half()\n            if gamma > 0:\n                x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5\n\n            s_i = sigma_hat * s_in\n            x_in = torch.cat([x] * 2)\n            t_in = torch.cat([s_i] * 2)\n            cond_in = torch.cat([unconditional_conditioning, cond])\n            c_out, c_in = [\n                append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n            ]\n            eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n            e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n            denoised = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            d = to_d(x, sigma_hat, denoised)\n            if callback is not None:\n                callback(\n                    {\n                        \"x\": x,\n                        \"i\": i,\n                        \"sigma\": sigmas[i],\n                        \"sigma_hat\": sigma_hat,\n                        \"denoised\": denoised,\n                    }\n                )\n            dt = sigmas[i + 1] - sigma_hat\n            if sigmas[i + 1] == 0:\n                # Euler method\n                x = x + d * dt\n            else:\n                # Heun's method\n                x_2 = x + d * dt\n                s_i = sigmas[i + 1] * s_in\n                x_in = torch.cat([x_2] * 2)\n                t_in = torch.cat([s_i] * 2)\n                cond_in = torch.cat([unconditional_conditioning, cond])\n                c_out, c_in = [\n                    append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n                ]\n                eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n                e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n                denoised_2 = e_t_uncond + unconditional_guidance_scale * (\n                    e_t - e_t_uncond\n                )\n\n                d_2 = to_d(x_2, sigmas[i + 1], denoised_2)\n                d_prime = (d + d_2) / 2\n                x = x + d_prime * dt\n        return x\n\n    @torch.no_grad()\n    def dpm_2_sampling(\n        self,\n        ac,\n        x,\n        S,\n        cond,\n        unconditional_conditioning=None,\n        unconditional_guidance_scale=1,\n        extra_args=None,\n        callback=None,\n        disable=None,\n        s_churn=0.0,\n        s_tmin=0.0,\n        s_tmax=float(\"inf\"),\n        s_noise=1.0,\n    ):\n        \"\"\"A sampler inspired by DPM-Solver-2 and Algorithm 2 from Karras et al. (2022).\"\"\"\n        extra_args = {} if extra_args is None else extra_args\n\n        cvd = CompVisDenoiser(ac)\n        sigmas = cvd.get_sigmas(S)\n        x = x * sigmas[0]\n\n        s_in = x.new_ones([x.shape[0]]).half()\n        for i in trange(len(sigmas) - 1, disable=disable):\n            gamma = (\n                min(s_churn / (len(sigmas) - 1), 2**0.5 - 1)\n                if s_tmin <= sigmas[i] <= s_tmax\n                else 0.0\n            )\n            eps = torch.randn_like(x) * s_noise\n            sigma_hat = sigmas[i] * (gamma + 1)\n            if gamma > 0:\n                x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5\n\n            s_i = sigma_hat * s_in\n            x_in = torch.cat([x] * 2)\n            t_in = torch.cat([s_i] * 2)\n            cond_in = torch.cat([unconditional_conditioning, cond])\n            c_out, c_in = [\n                append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n            ]\n            eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n            e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n            denoised = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            d = to_d(x, sigma_hat, denoised)\n            # Midpoint method, where the midpoint is chosen according to a rho=3 Karras schedule\n            sigma_mid = ((sigma_hat ** (1 / 3) + sigmas[i + 1] ** (1 / 3)) / 2) ** 3\n            dt_1 = sigma_mid - sigma_hat\n            dt_2 = sigmas[i + 1] - sigma_hat\n            x_2 = x + d * dt_1\n\n            s_i = sigma_mid * s_in\n            x_in = torch.cat([x_2] * 2)\n            t_in = torch.cat([s_i] * 2)\n            cond_in = torch.cat([unconditional_conditioning, cond])\n            c_out, c_in = [\n                append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n            ]\n            eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n            e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n            denoised_2 = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            d_2 = to_d(x_2, sigma_mid, denoised_2)\n            x = x + d_2 * dt_2\n        return x\n\n    @torch.no_grad()\n    def dpm_2_ancestral_sampling(\n        self,\n        ac,\n        x,\n        S,\n        cond,\n        unconditional_conditioning=None,\n        unconditional_guidance_scale=1,\n        extra_args=None,\n        callback=None,\n        disable=None,\n    ):\n        \"\"\"Ancestral sampling with DPM-Solver inspired second-order steps.\"\"\"\n        extra_args = {} if extra_args is None else extra_args\n\n        cvd = CompVisDenoiser(ac)\n        sigmas = cvd.get_sigmas(S)\n        x = x * sigmas[0]\n\n        s_in = x.new_ones([x.shape[0]]).half()\n        for i in trange(len(sigmas) - 1, disable=disable):\n            s_i = sigmas[i] * s_in\n            x_in = torch.cat([x] * 2)\n            t_in = torch.cat([s_i] * 2)\n            cond_in = torch.cat([unconditional_conditioning, cond])\n            c_out, c_in = [\n                append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n            ]\n            eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n            e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n            denoised = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1])\n            if callback is not None:\n                callback(\n                    {\n                        \"x\": x,\n                        \"i\": i,\n                        \"sigma\": sigmas[i],\n                        \"sigma_hat\": sigmas[i],\n                        \"denoised\": denoised,\n                    }\n                )\n            d = to_d(x, sigmas[i], denoised)\n            # Midpoint method, where the midpoint is chosen according to a rho=3 Karras schedule\n            sigma_mid = ((sigmas[i] ** (1 / 3) + sigma_down ** (1 / 3)) / 2) ** 3\n            dt_1 = sigma_mid - sigmas[i]\n            dt_2 = sigma_down - sigmas[i]\n            x_2 = x + d * dt_1\n\n            s_i = sigma_mid * s_in\n            x_in = torch.cat([x_2] * 2)\n            t_in = torch.cat([s_i] * 2)\n            cond_in = torch.cat([unconditional_conditioning, cond])\n            c_out, c_in = [\n                append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n            ]\n            eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n            e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n            denoised_2 = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            d_2 = to_d(x_2, sigma_mid, denoised_2)\n            x = x + d_2 * dt_2\n            x = x + torch.randn_like(x) * sigma_up\n        return x\n\n    @torch.no_grad()\n    def lms_sampling(\n        self,\n        ac,\n        x,\n        S,\n        cond,\n        unconditional_conditioning=None,\n        unconditional_guidance_scale=1,\n        extra_args=None,\n        callback=None,\n        disable=None,\n        order=4,\n    ):\n        extra_args = {} if extra_args is None else extra_args\n        s_in = x.new_ones([x.shape[0]])\n\n        cvd = CompVisDenoiser(ac)\n        sigmas = cvd.get_sigmas(S)\n        x = x * sigmas[0]\n\n        ds = []\n        for i in trange(len(sigmas) - 1, disable=disable):\n            s_i = sigmas[i] * s_in\n            x_in = torch.cat([x] * 2)\n            t_in = torch.cat([s_i] * 2)\n            cond_in = torch.cat([unconditional_conditioning, cond])\n            c_out, c_in = [\n                append_dims(tmp, x_in.ndim) for tmp in cvd.get_scalings(t_in)\n            ]\n            eps = self.apply_model(x_in * c_in, cvd.sigma_to_t(t_in), cond_in)\n            e_t_uncond, e_t = (x_in + eps * c_out).chunk(2)\n            denoised = e_t_uncond + unconditional_guidance_scale * (e_t - e_t_uncond)\n\n            d = to_d(x, sigmas[i], denoised)\n            ds.append(d)\n            if len(ds) > order:\n                ds.pop(0)\n            if callback is not None:\n                callback(\n                    {\n                        \"x\": x,\n                        \"i\": i,\n                        \"sigma\": sigmas[i],\n                        \"sigma_hat\": sigmas[i],\n                        \"denoised\": denoised,\n                    }\n                )\n            cur_order = min(i + 1, order)\n            coeffs = [\n                linear_multistep_coeff(cur_order, sigmas.cpu(), i, j)\n                for j in range(cur_order)\n            ]\n            x = x + sum(coeff * d for coeff, d in zip(coeffs, reversed(ds)))\n        return x\n"
  },
  {
    "path": "optimizedSD/diffusers_txt2img.py",
    "content": "import torch\nfrom diffusers import LDMTextToImagePipeline\n\npipe = LDMTextToImagePipeline.from_pretrained(\n    \"CompVis/stable-diffusion-v1-3-diffusers\", use_auth_token=True\n)\n\nprompt = \"19th Century wooden engraving of Elon musk\"\n\nseed = torch.manual_seed(1024)\nimages = pipe(\n    [prompt],\n    batch_size=1,\n    num_inference_steps=50,\n    guidance_scale=7,\n    generator=seed,\n    torch_device=\"cpu\",\n)[\"sample\"]\n\n# save images\nfor idx, image in enumerate(images):\n    image.save(f\"image-{idx}.png\")\n"
  },
  {
    "path": "optimizedSD/openaimodelSplit.py",
    "content": "from abc import abstractmethod\nimport math\nimport numpy as np\nimport torch as th\nimport torch.nn as nn\nimport torch.nn.functional as F\nfrom ldm.modules.diffusionmodules.util import (\n    checkpoint,\n    conv_nd,\n    linear,\n    avg_pool_nd,\n    zero_module,\n    normalization,\n    timestep_embedding,\n)\nfrom .splitAttention import SpatialTransformer\n\n\nclass AttentionPool2d(nn.Module):\n    \"\"\"\n    Adapted from CLIP: https://github.com/openai/CLIP/blob/main/clip/model.py\n    \"\"\"\n\n    def __init__(\n        self,\n        spacial_dim: int,\n        embed_dim: int,\n        num_heads_channels: int,\n        output_dim: int = None,\n    ):\n        super().__init__()\n        self.positional_embedding = nn.Parameter(\n            th.randn(embed_dim, spacial_dim**2 + 1) / embed_dim**0.5\n        )\n        self.qkv_proj = conv_nd(1, embed_dim, 3 * embed_dim, 1)\n        self.c_proj = conv_nd(1, embed_dim, output_dim or embed_dim, 1)\n        self.num_heads = embed_dim // num_heads_channels\n        self.attention = QKVAttention(self.num_heads)\n\n    def forward(self, x):\n        b, c, *_spatial = x.shape\n        x = x.reshape(b, c, -1)  # NC(HW)\n        x = th.cat([x.mean(dim=-1, keepdim=True), x], dim=-1)  # NC(HW+1)\n        x = x + self.positional_embedding[None, :, :].to(x.dtype)  # NC(HW+1)\n        x = self.qkv_proj(x)\n        x = self.attention(x)\n        x = self.c_proj(x)\n        return x[:, :, 0]\n\n\nclass TimestepBlock(nn.Module):\n    \"\"\"\n    Any module where forward() takes timestep embeddings as a second argument.\n    \"\"\"\n\n    @abstractmethod\n    def forward(self, x, emb):\n        \"\"\"\n        Apply the module to `x` given `emb` timestep embeddings.\n        \"\"\"\n\n\nclass TimestepEmbedSequential(nn.Sequential, TimestepBlock):\n    \"\"\"\n    A sequential module that passes timestep embeddings to the children that\n    support it as an extra input.\n    \"\"\"\n\n    def forward(self, x, emb, context=None):\n        for layer in self:\n            if isinstance(layer, TimestepBlock):\n                x = layer(x, emb)\n            elif isinstance(layer, SpatialTransformer):\n                x = layer(x, context)\n            else:\n                x = layer(x)\n        return x\n\n\nclass Upsample(nn.Module):\n    \"\"\"\n    An upsampling layer with an optional convolution.\n    :param channels: channels in the inputs and outputs.\n    :param use_conv: a bool determining if a convolution is applied.\n    :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then\n                 upsampling occurs in the inner-two dimensions.\n    \"\"\"\n\n    def __init__(self, channels, use_conv, dims=2, out_channels=None, padding=1):\n        super().__init__()\n        self.channels = channels\n        self.out_channels = out_channels or channels\n        self.use_conv = use_conv\n        self.dims = dims\n        if use_conv:\n            self.conv = conv_nd(\n                dims, self.channels, self.out_channels, 3, padding=padding\n            )\n\n    def forward(self, x):\n        assert x.shape[1] == self.channels\n        if self.dims == 3:\n            x = F.interpolate(\n                x, (x.shape[2], x.shape[3] * 2, x.shape[4] * 2), mode=\"nearest\"\n            )\n        else:\n            x = F.interpolate(x, scale_factor=2, mode=\"nearest\")\n        if self.use_conv:\n            x = self.conv(x)\n        return x\n\n\nclass TransposedUpsample(nn.Module):\n    \"Learned 2x upsampling without padding\"\n\n    def __init__(self, channels, out_channels=None, ks=5):\n        super().__init__()\n        self.channels = channels\n        self.out_channels = out_channels or channels\n\n        self.up = nn.ConvTranspose2d(\n            self.channels, self.out_channels, kernel_size=ks, stride=2\n        )\n\n    def forward(self, x):\n        return self.up(x)\n\n\nclass Downsample(nn.Module):\n    \"\"\"\n    A downsampling layer with an optional convolution.\n    :param channels: channels in the inputs and outputs.\n    :param use_conv: a bool determining if a convolution is applied.\n    :param dims: determines if the signal is 1D, 2D, or 3D. If 3D, then\n                 downsampling occurs in the inner-two dimensions.\n    \"\"\"\n\n    def __init__(self, channels, use_conv, dims=2, out_channels=None, padding=1):\n        super().__init__()\n        self.channels = channels\n        self.out_channels = out_channels or channels\n        self.use_conv = use_conv\n        self.dims = dims\n        stride = 2 if dims != 3 else (1, 2, 2)\n        if use_conv:\n            self.op = conv_nd(\n                dims,\n                self.channels,\n                self.out_channels,\n                3,\n                stride=stride,\n                padding=padding,\n            )\n        else:\n            assert self.channels == self.out_channels\n            self.op = avg_pool_nd(dims, kernel_size=stride, stride=stride)\n\n    def forward(self, x):\n        assert x.shape[1] == self.channels\n        return self.op(x)\n\n\nclass ResBlock(TimestepBlock):\n    \"\"\"\n    A residual block that can optionally change the number of channels.\n    :param channels: the number of input channels.\n    :param emb_channels: the number of timestep embedding channels.\n    :param dropout: the rate of dropout.\n    :param out_channels: if specified, the number of out channels.\n    :param use_conv: if True and out_channels is specified, use a spatial\n        convolution instead of a smaller 1x1 convolution to change the\n        channels in the skip connection.\n    :param dims: determines if the signal is 1D, 2D, or 3D.\n    :param use_checkpoint: if True, use gradient checkpointing on this module.\n    :param up: if True, use this block for upsampling.\n    :param down: if True, use this block for downsampling.\n    \"\"\"\n\n    def __init__(\n        self,\n        channels,\n        emb_channels,\n        dropout,\n        out_channels=None,\n        use_conv=False,\n        use_scale_shift_norm=False,\n        dims=2,\n        use_checkpoint=False,\n        up=False,\n        down=False,\n    ):\n        super().__init__()\n        self.channels = channels\n        self.emb_channels = emb_channels\n        self.dropout = dropout\n        self.out_channels = out_channels or channels\n        self.use_conv = use_conv\n        self.use_checkpoint = use_checkpoint\n        self.use_scale_shift_norm = use_scale_shift_norm\n\n        self.in_layers = nn.Sequential(\n            normalization(channels),\n            nn.SiLU(),\n            conv_nd(dims, channels, self.out_channels, 3, padding=1),\n        )\n\n        self.updown = up or down\n\n        if up:\n            self.h_upd = Upsample(channels, False, dims)\n            self.x_upd = Upsample(channels, False, dims)\n        elif down:\n            self.h_upd = Downsample(channels, False, dims)\n            self.x_upd = Downsample(channels, False, dims)\n        else:\n            self.h_upd = self.x_upd = nn.Identity()\n\n        self.emb_layers = nn.Sequential(\n            nn.SiLU(),\n            linear(\n                emb_channels,\n                2 * self.out_channels if use_scale_shift_norm else self.out_channels,\n            ),\n        )\n        self.out_layers = nn.Sequential(\n            normalization(self.out_channels),\n            nn.SiLU(),\n            nn.Dropout(p=dropout),\n            zero_module(\n                conv_nd(dims, self.out_channels, self.out_channels, 3, padding=1)\n            ),\n        )\n\n        if self.out_channels == channels:\n            self.skip_connection = nn.Identity()\n        elif use_conv:\n            self.skip_connection = conv_nd(\n                dims, channels, self.out_channels, 3, padding=1\n            )\n        else:\n            self.skip_connection = conv_nd(dims, channels, self.out_channels, 1)\n\n    def forward(self, x, emb):\n        \"\"\"\n        Apply the block to a Tensor, conditioned on a timestep embedding.\n        :param x: an [N x C x ...] Tensor of features.\n        :param emb: an [N x emb_channels] Tensor of timestep embeddings.\n        :return: an [N x C x ...] Tensor of outputs.\n        \"\"\"\n        return checkpoint(\n            self._forward, (x, emb), self.parameters(), self.use_checkpoint\n        )\n\n    def _forward(self, x, emb):\n        if self.updown:\n            in_rest, in_conv = self.in_layers[:-1], self.in_layers[-1]\n            h = in_rest(x)\n            h = self.h_upd(h)\n            x = self.x_upd(x)\n            h = in_conv(h)\n        else:\n            h = self.in_layers(x)\n        emb_out = self.emb_layers(emb).type(h.dtype)\n        while len(emb_out.shape) < len(h.shape):\n            emb_out = emb_out[..., None]\n        if self.use_scale_shift_norm:\n            out_norm, out_rest = self.out_layers[0], self.out_layers[1:]\n            scale, shift = th.chunk(emb_out, 2, dim=1)\n            h = out_norm(h) * (1 + scale) + shift\n            h = out_rest(h)\n        else:\n            h = h + emb_out\n            h = self.out_layers(h)\n        return self.skip_connection(x) + h\n\n\nclass AttentionBlock(nn.Module):\n    \"\"\"\n    An attention block that allows spatial positions to attend to each other.\n    Originally ported from here, but adapted to the N-d case.\n    https://github.com/hojonathanho/diffusion/blob/1e0dceb3b3495bbe19116a5e1b3596cd0706c543/diffusion_tf/models/unet.py#L66.\n    \"\"\"\n\n    def __init__(\n        self,\n        channels,\n        num_heads=1,\n        num_head_channels=-1,\n        use_checkpoint=False,\n        use_new_attention_order=False,\n    ):\n        super().__init__()\n        self.channels = channels\n        if num_head_channels == -1:\n            self.num_heads = num_heads\n        else:\n            assert (\n                channels % num_head_channels == 0\n            ), f\"q,k,v channels {channels} is not divisible by num_head_channels {num_head_channels}\"\n            self.num_heads = channels // num_head_channels\n        self.use_checkpoint = use_checkpoint\n        self.norm = normalization(channels)\n        self.qkv = conv_nd(1, channels, channels * 3, 1)\n        if use_new_attention_order:\n            # split qkv before split heads\n            self.attention = QKVAttention(self.num_heads)\n        else:\n            # split heads before split qkv\n            self.attention = QKVAttentionLegacy(self.num_heads)\n\n        self.proj_out = zero_module(conv_nd(1, channels, channels, 1))\n\n    def forward(self, x):\n        return checkpoint(\n            self._forward, (x,), self.parameters(), True\n        )  # TODO: check checkpoint usage, is True # TODO: fix the .half call!!!\n        # return pt_checkpoint(self._forward, x)  # pytorch\n\n    def _forward(self, x):\n        b, c, *spatial = x.shape\n        x = x.reshape(b, c, -1)\n        qkv = self.qkv(self.norm(x))\n        h = self.attention(qkv)\n        h = self.proj_out(h)\n        return (x + h).reshape(b, c, *spatial)\n\n\ndef count_flops_attn(model, _x, y):\n    \"\"\"\n    A counter for the `thop` package to count the operations in an\n    attention operation.\n    Meant to be used like:\n        macs, params = thop.profile(\n            model,\n            inputs=(inputs, timestamps),\n            custom_ops={QKVAttention: QKVAttention.count_flops},\n        )\n    \"\"\"\n    b, c, *spatial = y[0].shape\n    num_spatial = int(np.prod(spatial))\n    # We perform two matmuls with the same number of ops.\n    # The first computes the weight matrix, the second computes\n    # the combination of the value vectors.\n    matmul_ops = 2 * b * (num_spatial**2) * c\n    model.total_ops += th.DoubleTensor([matmul_ops])\n\n\nclass QKVAttentionLegacy(nn.Module):\n    \"\"\"\n    A module which performs QKV attention. Matches legacy QKVAttention + input/ouput heads shaping\n    \"\"\"\n\n    def __init__(self, n_heads):\n        super().__init__()\n        self.n_heads = n_heads\n\n    def forward(self, qkv):\n        \"\"\"\n        Apply QKV attention.\n        :param qkv: an [N x (H * 3 * C) x T] tensor of Qs, Ks, and Vs.\n        :return: an [N x (H * C) x T] tensor after attention.\n        \"\"\"\n        bs, width, length = qkv.shape\n        assert width % (3 * self.n_heads) == 0\n        ch = width // (3 * self.n_heads)\n        q, k, v = qkv.reshape(bs * self.n_heads, ch * 3, length).split(ch, dim=1)\n        scale = 1 / math.sqrt(math.sqrt(ch))\n        weight = th.einsum(\n            \"bct,bcs->bts\", q * scale, k * scale\n        )  # More stable with f16 than dividing afterwards\n        weight = th.softmax(weight.float(), dim=-1).type(weight.dtype)\n        a = th.einsum(\"bts,bcs->bct\", weight, v)\n        return a.reshape(bs, -1, length)\n\n    @staticmethod\n    def count_flops(model, _x, y):\n        return count_flops_attn(model, _x, y)\n\n\nclass QKVAttention(nn.Module):\n    \"\"\"\n    A module which performs QKV attention and splits in a different order.\n    \"\"\"\n\n    def __init__(self, n_heads):\n        super().__init__()\n        self.n_heads = n_heads\n\n    def forward(self, qkv):\n        \"\"\"\n        Apply QKV attention.\n        :param qkv: an [N x (3 * H * C) x T] tensor of Qs, Ks, and Vs.\n        :return: an [N x (H * C) x T] tensor after attention.\n        \"\"\"\n        bs, width, length = qkv.shape\n        assert width % (3 * self.n_heads) == 0\n        ch = width // (3 * self.n_heads)\n        q, k, v = qkv.chunk(3, dim=1)\n        scale = 1 / math.sqrt(math.sqrt(ch))\n        weight = th.einsum(\n            \"bct,bcs->bts\",\n            (q * scale).view(bs * self.n_heads, ch, length),\n            (k * scale).view(bs * self.n_heads, ch, length),\n        )  # More stable with f16 than dividing afterwards\n        weight = th.softmax(weight.float(), dim=-1).type(weight.dtype)\n        a = th.einsum(\"bts,bcs->bct\", weight, v.reshape(bs * self.n_heads, ch, length))\n        return a.reshape(bs, -1, length)\n\n    @staticmethod\n    def count_flops(model, _x, y):\n        return count_flops_attn(model, _x, y)\n\n\nclass UNetModelEncode(nn.Module):\n    def __init__(\n        self,\n        image_size,\n        in_channels,\n        model_channels,\n        out_channels,\n        num_res_blocks,\n        attention_resolutions,\n        dropout=0,\n        channel_mult=(1, 2, 4, 8),\n        conv_resample=True,\n        dims=2,\n        num_classes=None,\n        use_checkpoint=False,\n        use_fp16=False,\n        num_heads=-1,\n        num_head_channels=-1,\n        num_heads_upsample=-1,\n        use_scale_shift_norm=False,\n        resblock_updown=False,\n        use_new_attention_order=False,\n        use_spatial_transformer=False,  # custom transformer support\n        transformer_depth=1,  # custom transformer support\n        context_dim=None,  # custom transformer support\n        n_embed=None,  # custom support for prediction of discrete ids into codebook of first stage vq model\n        legacy=True,\n    ):\n        super().__init__()\n        if use_spatial_transformer:\n            assert (\n                context_dim is not None\n            ), \"Fool!! You forgot to include the dimension of your cross-attention conditioning...\"\n\n        if context_dim is not None:\n            assert (\n                use_spatial_transformer\n            ), \"Fool!! You forgot to use the spatial transformer for your cross-attention conditioning...\"\n            from omegaconf.listconfig import ListConfig\n\n            if type(context_dim) == ListConfig:\n                context_dim = list(context_dim)\n\n        if num_heads_upsample == -1:\n            num_heads_upsample = num_heads\n\n        if num_heads == -1:\n            assert (\n                num_head_channels != -1\n            ), \"Either num_heads or num_head_channels has to be set\"\n\n        if num_head_channels == -1:\n            assert (\n                num_heads != -1\n            ), \"Either num_heads or num_head_channels has to be set\"\n\n        self.image_size = image_size\n        self.in_channels = in_channels\n        self.model_channels = model_channels\n        self.out_channels = out_channels\n        self.num_res_blocks = num_res_blocks\n        self.attention_resolutions = attention_resolutions\n        self.dropout = dropout\n        self.channel_mult = channel_mult\n        self.conv_resample = conv_resample\n        self.num_classes = num_classes\n        self.use_checkpoint = use_checkpoint\n        self.dtype = th.float16 if use_fp16 else th.float32\n        self.num_heads = num_heads\n        self.num_head_channels = num_head_channels\n        self.num_heads_upsample = num_heads_upsample\n        self.predict_codebook_ids = n_embed is not None\n\n        time_embed_dim = model_channels * 4\n        self.time_embed = nn.Sequential(\n            linear(model_channels, time_embed_dim),\n            nn.SiLU(),\n            linear(time_embed_dim, time_embed_dim),\n        )\n\n        if self.num_classes is not None:\n            self.label_emb = nn.Embedding(num_classes, time_embed_dim)\n\n        self.input_blocks = nn.ModuleList(\n            [\n                TimestepEmbedSequential(\n                    conv_nd(dims, in_channels, model_channels, 3, padding=1)\n                )\n            ]\n        )\n        self._feature_size = model_channels\n        input_block_chans = [model_channels]\n        ch = model_channels\n        ds = 1\n        for level, mult in enumerate(channel_mult):\n            for _ in range(num_res_blocks):\n                layers = [\n                    ResBlock(\n                        ch,\n                        time_embed_dim,\n                        dropout,\n                        out_channels=mult * model_channels,\n                        dims=dims,\n                        use_checkpoint=use_checkpoint,\n                        use_scale_shift_norm=use_scale_shift_norm,\n                    )\n                ]\n                ch = mult * model_channels\n                if ds in attention_resolutions:\n                    if num_head_channels == -1:\n                        dim_head = ch // num_heads\n                    else:\n                        num_heads = ch // num_head_channels\n                        dim_head = num_head_channels\n                    if legacy:\n                        # num_heads = 1\n                        dim_head = (\n                            ch // num_heads\n                            if use_spatial_transformer\n                            else num_head_channels\n                        )\n                    layers.append(\n                        AttentionBlock(\n                            ch,\n                            use_checkpoint=use_checkpoint,\n                            num_heads=num_heads,\n                            num_head_channels=dim_head,\n                            use_new_attention_order=use_new_attention_order,\n                        )\n                        if not use_spatial_transformer\n                        else SpatialTransformer(\n                            ch,\n                            num_heads,\n                            dim_head,\n                            depth=transformer_depth,\n                            context_dim=context_dim,\n                        )\n                    )\n                self.input_blocks.append(TimestepEmbedSequential(*layers))\n                self._feature_size += ch\n                input_block_chans.append(ch)\n            if level != len(channel_mult) - 1:\n                out_ch = ch\n                self.input_blocks.append(\n                    TimestepEmbedSequential(\n                        ResBlock(\n                            ch,\n                            time_embed_dim,\n                            dropout,\n                            out_channels=out_ch,\n                            dims=dims,\n                            use_checkpoint=use_checkpoint,\n                            use_scale_shift_norm=use_scale_shift_norm,\n                            down=True,\n                        )\n                        if resblock_updown\n                        else Downsample(\n                            ch, conv_resample, dims=dims, out_channels=out_ch\n                        )\n                    )\n                )\n                ch = out_ch\n                input_block_chans.append(ch)\n                ds *= 2\n                self._feature_size += ch\n\n        if num_head_channels == -1:\n            dim_head = ch // num_heads\n        else:\n            num_heads = ch // num_head_channels\n            dim_head = num_head_channels\n        if legacy:\n            # num_heads = 1\n            dim_head = ch // num_heads if use_spatial_transformer else num_head_channels\n        self.middle_block = TimestepEmbedSequential(\n            ResBlock(\n                ch,\n                time_embed_dim,\n                dropout,\n                dims=dims,\n                use_checkpoint=use_checkpoint,\n                use_scale_shift_norm=use_scale_shift_norm,\n            ),\n            AttentionBlock(\n                ch,\n                use_checkpoint=use_checkpoint,\n                num_heads=num_heads,\n                num_head_channels=dim_head,\n                use_new_attention_order=use_new_attention_order,\n            )\n            if not use_spatial_transformer\n            else SpatialTransformer(\n                ch,\n                num_heads,\n                dim_head,\n                depth=transformer_depth,\n                context_dim=context_dim,\n            ),\n            ResBlock(\n                ch,\n                time_embed_dim,\n                dropout,\n                dims=dims,\n                use_checkpoint=use_checkpoint,\n                use_scale_shift_norm=use_scale_shift_norm,\n            ),\n        )\n        self._feature_size += ch\n\n    def forward(self, x, timesteps=None, context=None, y=None):\n        \"\"\"\n        Apply the model to an input batch.\n        :param x: an [N x C x ...] Tensor of inputs.\n        :param timesteps: a 1-D batch of timesteps.\n        :param context: conditioning plugged in via crossattn\n        :param y: an [N] Tensor of labels, if class-conditional.\n        :return: an [N x C x ...] Tensor of outputs.\n        \"\"\"\n        assert (y is not None) == (\n            self.num_classes is not None\n        ), \"must specify y if and only if the model is class-conditional\"\n        hs = []\n        t_emb = timestep_embedding(timesteps, self.model_channels, repeat_only=False)\n        emb = self.time_embed(t_emb)\n\n        if self.num_classes is not None:\n            assert y.shape == (x.shape[0],)\n            emb = emb + self.label_emb(y)\n\n        h = x.type(self.dtype)\n        for module in self.input_blocks:\n            h = module(h, emb, context)\n            hs.append(h)\n        h = self.middle_block(h, emb, context)\n\n        return h, emb, hs\n\n\nclass UNetModelDecode(nn.Module):\n    def __init__(\n        self,\n        image_size,\n        in_channels,\n        model_channels,\n        out_channels,\n        num_res_blocks,\n        attention_resolutions,\n        dropout=0,\n        channel_mult=(1, 2, 4, 8),\n        conv_resample=True,\n        dims=2,\n        num_classes=None,\n        use_checkpoint=False,\n        use_fp16=False,\n        num_heads=-1,\n        num_head_channels=-1,\n        num_heads_upsample=-1,\n        use_scale_shift_norm=False,\n        resblock_updown=False,\n        use_new_attention_order=False,\n        use_spatial_transformer=False,  # custom transformer support\n        transformer_depth=1,  # custom transformer support\n        context_dim=None,  # custom transformer support\n        n_embed=None,  # custom support for prediction of discrete ids into codebook of first stage vq model\n        legacy=True,\n    ):\n        super().__init__()\n        if use_spatial_transformer:\n            assert (\n                context_dim is not None\n            ), \"Fool!! You forgot to include the dimension of your cross-attention conditioning...\"\n\n        if context_dim is not None:\n            assert (\n                use_spatial_transformer\n            ), \"Fool!! You forgot to use the spatial transformer for your cross-attention conditioning...\"\n            from omegaconf.listconfig import ListConfig\n\n            if type(context_dim) == ListConfig:\n                context_dim = list(context_dim)\n\n        if num_heads_upsample == -1:\n            num_heads_upsample = num_heads\n\n        if num_heads == -1:\n            assert (\n                num_head_channels != -1\n            ), \"Either num_heads or num_head_channels has to be set\"\n\n        if num_head_channels == -1:\n            assert (\n                num_heads != -1\n            ), \"Either num_heads or num_head_channels has to be set\"\n\n        self.image_size = image_size\n        self.in_channels = in_channels\n        self.model_channels = model_channels\n        self.out_channels = out_channels\n        self.num_res_blocks = num_res_blocks\n        self.attention_resolutions = attention_resolutions\n        self.dropout = dropout\n        self.channel_mult = channel_mult\n        self.conv_resample = conv_resample\n        self.num_classes = num_classes\n        self.use_checkpoint = use_checkpoint\n        self.dtype = th.float16 if use_fp16 else th.float32\n        self.num_heads = num_heads\n        self.num_head_channels = num_head_channels\n        self.num_heads_upsample = num_heads_upsample\n        self.predict_codebook_ids = n_embed is not None\n\n        time_embed_dim = model_channels * 4\n\n        self._feature_size = model_channels\n        input_block_chans = [model_channels]\n        ch = model_channels\n        ds = 1\n        for level, mult in enumerate(channel_mult):\n            for _ in range(num_res_blocks):\n                ch = mult * model_channels\n                if ds in attention_resolutions:\n                    if num_head_channels == -1:\n                        dim_head = ch // num_heads\n                    else:\n                        num_heads = ch // num_head_channels\n                        dim_head = num_head_channels\n                    if legacy:\n                        # num_heads = 1\n                        dim_head = (\n                            ch // num_heads\n                            if use_spatial_transformer\n                            else num_head_channels\n                        )\n\n                self._feature_size += ch\n                input_block_chans.append(ch)\n            if level != len(channel_mult) - 1:\n                out_ch = ch\n\n                ch = out_ch\n                input_block_chans.append(ch)\n                ds *= 2\n                self._feature_size += ch\n\n        if num_head_channels == -1:\n            dim_head = ch // num_heads\n        else:\n            num_heads = ch // num_head_channels\n            dim_head = num_head_channels\n        if legacy:\n            # num_heads = 1\n            dim_head = ch // num_heads if use_spatial_transformer else num_head_channels\n\n        self._feature_size += ch\n\n        self.output_blocks = nn.ModuleList([])\n        for level, mult in list(enumerate(channel_mult))[::-1]:\n            for i in range(num_res_blocks + 1):\n                ich = input_block_chans.pop()\n                layers = [\n                    ResBlock(\n                        ch + ich,\n                        time_embed_dim,\n                        dropout,\n                        out_channels=model_channels * mult,\n                        dims=dims,\n                        use_checkpoint=use_checkpoint,\n                        use_scale_shift_norm=use_scale_shift_norm,\n                    )\n                ]\n                ch = model_channels * mult\n                if ds in attention_resolutions:\n                    if num_head_channels == -1:\n                        dim_head = ch // num_heads\n                    else:\n                        num_heads = ch // num_head_channels\n                        dim_head = num_head_channels\n                    if legacy:\n                        # num_heads = 1\n                        dim_head = (\n                            ch // num_heads\n                            if use_spatial_transformer\n                            else num_head_channels\n                        )\n                    layers.append(\n                        AttentionBlock(\n                            ch,\n                            use_checkpoint=use_checkpoint,\n                            num_heads=num_heads_upsample,\n                            num_head_channels=dim_head,\n                            use_new_attention_order=use_new_attention_order,\n                        )\n                        if not use_spatial_transformer\n                        else SpatialTransformer(\n                            ch,\n                            num_heads,\n                            dim_head,\n                            depth=transformer_depth,\n                            context_dim=context_dim,\n                        )\n                    )\n                if level and i == num_res_blocks:\n                    out_ch = ch\n                    layers.append(\n                        ResBlock(\n                            ch,\n                            time_embed_dim,\n                            dropout,\n                            out_channels=out_ch,\n                            dims=dims,\n                            use_checkpoint=use_checkpoint,\n                            use_scale_shift_norm=use_scale_shift_norm,\n                            up=True,\n                        )\n                        if resblock_updown\n                        else Upsample(ch, conv_resample, dims=dims, out_channels=out_ch)\n                    )\n                    ds //= 2\n                self.output_blocks.append(TimestepEmbedSequential(*layers))\n                self._feature_size += ch\n\n        self.out = nn.Sequential(\n            normalization(ch),\n            nn.SiLU(),\n            zero_module(conv_nd(dims, model_channels, out_channels, 3, padding=1)),\n        )\n        if self.predict_codebook_ids:\n            self.id_predictor = nn.Sequential(\n                normalization(ch),\n                conv_nd(dims, model_channels, n_embed, 1),\n                # nn.LogSoftmax(dim=1)  # change to cross_entropy and produce non-normalized logits\n            )\n\n    def forward(self, h, emb, tp, hs, context=None, y=None):\n        \"\"\"\n        Apply the model to an input batch.\n        :param x: an [N x C x ...] Tensor of inputs.\n        :param timesteps: a 1-D batch of timesteps.\n        :param context: conditioning plugged in via crossattn\n        :param y: an [N] Tensor of labels, if class-conditional.\n        :return: an [N x C x ...] Tensor of outputs.\n        \"\"\"\n\n        for module in self.output_blocks:\n            h = th.cat([h, hs.pop()], dim=1)\n            h = module(h, emb, context)\n        h = h.type(tp)\n        if self.predict_codebook_ids:\n            return self.id_predictor(h)\n        else:\n            return self.out(h)\n"
  },
  {
    "path": "optimizedSD/optimUtils.py",
    "content": "import os\nimport pandas as pd\n\n\ndef split_weighted_subprompts(text):\n    \"\"\"\n    grabs all text up to the first occurrence of ':'\n    uses the grabbed text as a sub-prompt, and takes the value following ':' as weight\n    if ':' has no value defined, defaults to 1.0\n    repeats until no text remaining\n    \"\"\"\n    remaining = len(text)\n    prompts = []\n    weights = []\n    while remaining > 0:\n        if \":\" in text:\n            idx = text.index(\":\")  # first occurrence from start\n            # grab up to index as sub-prompt\n            prompt = text[:idx]\n            remaining -= idx\n            # remove from main text\n            text = text[idx + 1 :]\n            # find value for weight\n            if \" \" in text:\n                idx = text.index(\" \")  # first occurence\n            else:  # no space, read to end\n                idx = len(text)\n            if idx != 0:\n                try:\n                    weight = float(text[:idx])\n                except:  # couldn't treat as float\n                    print(\n                        f\"Warning: '{text[:idx]}' is not a value, are you missing a space?\"\n                    )\n                    weight = 1.0\n            else:  # no value found\n                weight = 1.0\n            # remove from main text\n            remaining -= idx\n            text = text[idx + 1 :]\n            # append the sub-prompt and its weight\n            prompts.append(prompt)\n            weights.append(weight)\n        else:  # no : found\n            if len(text) > 0:  # there is still text though\n                # take remainder as weight 1\n                prompts.append(text)\n                weights.append(1.0)\n            remaining = 0\n    return prompts, weights\n\n\ndef logger(params, log_csv):\n    os.makedirs(\"logs\", exist_ok=True)\n    cols = [arg for arg, _ in params.items()]\n    if not os.path.exists(log_csv):\n        df = pd.DataFrame(columns=cols)\n        df.to_csv(log_csv, index=False)\n\n    df = pd.read_csv(log_csv)\n    for arg in cols:\n        if arg not in df.columns:\n            df[arg] = \"\"\n    df.to_csv(log_csv, index=False)\n\n    li = {}\n    cols = [col for col in df.columns]\n    data = {arg: value for arg, value in params.items()}\n    for col in cols:\n        if col in data:\n            li[col] = data[col]\n        else:\n            li[col] = \"\"\n\n    df = pd.DataFrame(li, index=[0])\n    df.to_csv(log_csv, index=False, mode=\"a\", header=False)\n"
  },
  {
    "path": "optimizedSD/optimized_img2img.py",
    "content": "import argparse, os, re\nimport torch\nimport numpy as np\nfrom random import randint\nfrom omegaconf import OmegaConf\nfrom PIL import Image\nfrom tqdm import tqdm, trange\nfrom itertools import islice\nfrom einops import rearrange\nimport time\nfrom pytorch_lightning import seed_everything\nfrom torch import autocast\nfrom contextlib import nullcontext\nfrom einops import rearrange, repeat\nfrom ldm.util import instantiate_from_config\nfrom optimUtils import split_weighted_subprompts, logger\nfrom transformers import logging\n\nlogging.set_verbosity_error()\n\n\ndef chunk(it, size):\n    it = iter(it)\n    return iter(lambda: tuple(islice(it, size)), ())\n\n\ndef load_model_from_config(ckpt, verbose=False):\n    print(f\"Loading model from {ckpt}\")\n    pl_sd = torch.load(ckpt, map_location=\"cpu\")\n    if \"global_step\" in pl_sd:\n        print(f\"Global Step: {pl_sd['global_step']}\")\n    sd = pl_sd[\"state_dict\"]\n    return sd\n\n\ndef load_img(path, h0, w0):\n    image = Image.open(path).convert(\"RGB\")\n    w, h = image.size\n\n    print(f\"loaded input image of size ({w}, {h}) from {path}\")\n    if h0 is not None and w0 is not None:\n        h, w = h0, w0\n\n    w, h = map(lambda x: x - x % 64, (w, h))  # resize to integer multiple of 32\n\n    print(f\"New image size ({w}, {h})\")\n    image = image.resize((w, h), resample=Image.LANCZOS)\n    image = np.array(image).astype(np.float32) / 255.0\n    image = image[None].transpose(0, 3, 1, 2)\n    image = torch.from_numpy(image)\n    return 2.0 * image - 1.0\n\n\nconfig = \"optimizedSD/v1-inference.yaml\"\nckpt = \"models/ldm/stable-diffusion-v1/model.ckpt\"\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument(\n    \"--prompt\",\n    type=str,\n    nargs=\"?\",\n    default=\"a painting of a virus monster playing guitar\",\n    help=\"the prompt to render\",\n)\nparser.add_argument(\n    \"--outdir\",\n    type=str,\n    nargs=\"?\",\n    help=\"dir to write results to\",\n    default=\"outputs/img2img-samples\",\n)\nparser.add_argument(\"--init-img\", type=str, nargs=\"?\", help=\"path to the input image\")\n\nparser.add_argument(\n    \"--skip_grid\",\n    action=\"store_true\",\n    help=\"do not save a grid, only individual samples. Helpful when evaluating lots of samples\",\n)\nparser.add_argument(\n    \"--skip_save\",\n    action=\"store_true\",\n    help=\"do not save individual samples. For speed measurements.\",\n)\nparser.add_argument(\n    \"--ddim_steps\",\n    type=int,\n    default=50,\n    help=\"number of ddim sampling steps\",\n)\n\nparser.add_argument(\n    \"--ddim_eta\",\n    type=float,\n    default=0.0,\n    help=\"ddim eta (eta=0.0 corresponds to deterministic sampling\",\n)\nparser.add_argument(\n    \"--n_iter\",\n    type=int,\n    default=1,\n    help=\"sample this often\",\n)\nparser.add_argument(\n    \"--H\",\n    type=int,\n    default=None,\n    help=\"image height, in pixel space\",\n)\nparser.add_argument(\n    \"--W\",\n    type=int,\n    default=None,\n    help=\"image width, in pixel space\",\n)\nparser.add_argument(\n    \"--strength\",\n    type=float,\n    default=0.75,\n    help=\"strength for noising/unnoising. 1.0 corresponds to full destruction of information in init image\",\n)\nparser.add_argument(\n    \"--n_samples\",\n    type=int,\n    default=5,\n    help=\"how many samples to produce for each given prompt. A.k.a. batch size\",\n)\nparser.add_argument(\n    \"--n_rows\",\n    type=int,\n    default=0,\n    help=\"rows in the grid (default: n_samples)\",\n)\nparser.add_argument(\n    \"--scale\",\n    type=float,\n    default=7.5,\n    help=\"unconditional guidance scale: eps = eps(x, empty) + scale * (eps(x, cond) - eps(x, empty))\",\n)\nparser.add_argument(\n    \"--from-file\",\n    type=str,\n    help=\"if specified, load prompts from this file\",\n)\nparser.add_argument(\n    \"--seed\",\n    type=int,\n    default=None,\n    help=\"the seed (for reproducible sampling)\",\n)\nparser.add_argument(\n    \"--device\",\n    type=str,\n    default=\"cuda\",\n    help=\"CPU or GPU (cuda/cuda:0/cuda:1/...)\",\n)\nparser.add_argument(\n    \"--unet_bs\",\n    type=int,\n    default=1,\n    help=\"Slightly reduces inference time at the expense of high VRAM (value > 1 not recommended )\",\n)\nparser.add_argument(\n    \"--turbo\",\n    action=\"store_true\",\n    help=\"Reduces inference time on the expense of 1GB VRAM\",\n)\nparser.add_argument(\n    \"--precision\",\n    type=str,\n    help=\"evaluate at this precision\",\n    choices=[\"full\", \"autocast\"],\n    default=\"autocast\",\n)\nparser.add_argument(\n    \"--format\",\n    type=str,\n    help=\"output image format\",\n    choices=[\"jpg\", \"png\"],\n    default=\"png\",\n)\nparser.add_argument(\n    \"--sampler\",\n    type=str,\n    help=\"sampler\",\n    choices=[\"ddim\"],\n    default=\"ddim\",\n)\nopt = parser.parse_args()\n\ntic = time.time()\nos.makedirs(opt.outdir, exist_ok=True)\noutpath = opt.outdir\ngrid_count = len(os.listdir(outpath)) - 1\n\nif opt.seed is None:\n    opt.seed = randint(0, 1000000)\nseed_everything(opt.seed)\n\n# Logging\nlogger(vars(opt), log_csv=\"logs/img2img_logs.csv\")\n\nsd = load_model_from_config(f\"{ckpt}\")\nli, lo = [], []\nfor key, value in sd.items():\n    sp = key.split(\".\")\n    if (sp[0]) == \"model\":\n        if \"input_blocks\" in sp:\n            li.append(key)\n        elif \"middle_block\" in sp:\n            li.append(key)\n        elif \"time_embed\" in sp:\n            li.append(key)\n        else:\n            lo.append(key)\nfor key in li:\n    sd[\"model1.\" + key[6:]] = sd.pop(key)\nfor key in lo:\n    sd[\"model2.\" + key[6:]] = sd.pop(key)\n\nconfig = OmegaConf.load(f\"{config}\")\n\nassert os.path.isfile(opt.init_img)\ninit_image = load_img(opt.init_img, opt.H, opt.W).to(opt.device)\n\nmodel = instantiate_from_config(config.modelUNet)\n_, _ = model.load_state_dict(sd, strict=False)\nmodel.eval()\nmodel.cdevice = opt.device\nmodel.unet_bs = opt.unet_bs\nmodel.turbo = opt.turbo\n\nmodelCS = instantiate_from_config(config.modelCondStage)\n_, _ = modelCS.load_state_dict(sd, strict=False)\nmodelCS.eval()\nmodelCS.cond_stage_model.device = opt.device\n\nmodelFS = instantiate_from_config(config.modelFirstStage)\n_, _ = modelFS.load_state_dict(sd, strict=False)\nmodelFS.eval()\ndel sd\nif opt.device != \"cpu\" and opt.precision == \"autocast\":\n    model.half()\n    modelCS.half()\n    modelFS.half()\n    init_image = init_image.half()\n\nbatch_size = opt.n_samples\nn_rows = opt.n_rows if opt.n_rows > 0 else batch_size\nif not opt.from_file:\n    assert opt.prompt is not None\n    prompt = opt.prompt\n    data = [batch_size * [prompt]]\n\nelse:\n    print(f\"reading prompts from {opt.from_file}\")\n    with open(opt.from_file, \"r\") as f:\n        data = f.read().splitlines()\n        data = batch_size * list(data)\n        data = list(chunk(sorted(data), batch_size))\n\nmodelFS.to(opt.device)\n\ninit_image = repeat(init_image, \"1 ... -> b ...\", b=batch_size)\ninit_latent = modelFS.get_first_stage_encoding(\n    modelFS.encode_first_stage(init_image)\n)  # move to latent space\n\nif opt.device != \"cpu\":\n    mem = torch.cuda.memory_allocated(device=opt.device) / 1e6\n    modelFS.to(\"cpu\")\n    while torch.cuda.memory_allocated(device=opt.device) / 1e6 >= mem:\n        time.sleep(1)\n\n\nassert 0.0 <= opt.strength <= 1.0, \"can only work with strength in [0.0, 1.0]\"\nt_enc = int(opt.strength * opt.ddim_steps)\nprint(f\"target t_enc is {t_enc} steps\")\n\n\nif opt.precision == \"autocast\" and opt.device != \"cpu\":\n    precision_scope = autocast\nelse:\n    precision_scope = nullcontext\n\nseeds = \"\"\nwith torch.no_grad():\n    all_samples = list()\n    for n in trange(opt.n_iter, desc=\"Sampling\"):\n        for prompts in tqdm(data, desc=\"data\"):\n            sample_path = os.path.join(outpath, \"_\".join(re.split(\":| \", prompts[0])))[\n                :150\n            ]\n            os.makedirs(sample_path, exist_ok=True)\n            base_count = len(os.listdir(sample_path))\n\n            with precision_scope(\"cuda\"):\n                modelCS.to(opt.device)\n                uc = None\n                if opt.scale != 1.0:\n                    uc = modelCS.get_learned_conditioning(batch_size * [\"\"])\n                if isinstance(prompts, tuple):\n                    prompts = list(prompts)\n\n                subprompts, weights = split_weighted_subprompts(prompts[0])\n                if len(subprompts) > 1:\n                    c = torch.zeros_like(uc)\n                    totalWeight = sum(weights)\n                    # normalize each \"sub prompt\" and add it\n                    for i in range(len(subprompts)):\n                        weight = weights[i]\n                        # if not skip_normalize:\n                        weight = weight / totalWeight\n                        c = torch.add(\n                            c,\n                            modelCS.get_learned_conditioning(subprompts[i]),\n                            alpha=weight,\n                        )\n                else:\n                    c = modelCS.get_learned_conditioning(prompts)\n\n                if opt.device != \"cpu\":\n                    mem = torch.cuda.memory_allocated(device=opt.device) / 1e6\n                    modelCS.to(\"cpu\")\n                    while torch.cuda.memory_allocated(device=opt.device) / 1e6 >= mem:\n                        time.sleep(1)\n\n                # encode (scaled latent)\n                z_enc = model.stochastic_encode(\n                    init_latent,\n                    torch.tensor([t_enc] * batch_size).to(opt.device),\n                    opt.seed,\n                    opt.ddim_eta,\n                    opt.ddim_steps,\n                )\n                # decode it\n                samples_ddim = model.sample(\n                    t_enc,\n                    c,\n                    z_enc,\n                    unconditional_guidance_scale=opt.scale,\n                    unconditional_conditioning=uc,\n                    sampler=opt.sampler,\n                )\n\n                modelFS.to(opt.device)\n                print(\"saving images\")\n                for i in range(batch_size):\n                    x_samples_ddim = modelFS.decode_first_stage(\n                        samples_ddim[i].unsqueeze(0)\n                    )\n                    x_sample = torch.clamp(\n                        (x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0\n                    )\n                    x_sample = 255.0 * rearrange(\n                        x_sample[0].cpu().numpy(), \"c h w -> h w c\"\n                    )\n                    Image.fromarray(x_sample.astype(np.uint8)).save(\n                        os.path.join(\n                            sample_path,\n                            \"seed_\"\n                            + str(opt.seed)\n                            + \"_\"\n                            + f\"{base_count:05}.{opt.format}\",\n                        )\n                    )\n                    seeds += str(opt.seed) + \",\"\n                    opt.seed += 1\n                    base_count += 1\n\n                if opt.device != \"cpu\":\n                    mem = torch.cuda.memory_allocated(device=opt.device) / 1e6\n                    modelFS.to(\"cpu\")\n                    while torch.cuda.memory_allocated(device=opt.device) / 1e6 >= mem:\n                        time.sleep(1)\n\n                del samples_ddim\n                print(\n                    \"memory_final = \",\n                    torch.cuda.memory_allocated(device=opt.device) / 1e6,\n                )\n\ntoc = time.time()\n\ntime_taken = (toc - tic) / 60.0\n\nprint(\n    (\n        \"Samples finished in {0:.2f} minutes and exported to \"\n        + sample_path\n        + \"\\n Seeds used = \"\n        + seeds[:-1]\n    ).format(time_taken)\n)\n"
  },
  {
    "path": "optimizedSD/optimized_txt2img.py",
    "content": "import argparse, os, re\nimport torch\nimport numpy as np\nfrom random import randint\nfrom omegaconf import OmegaConf\nfrom PIL import Image\nfrom tqdm import tqdm, trange\nfrom itertools import islice\nfrom einops import rearrange\nimport time\nfrom pytorch_lightning import seed_everything\nfrom torch import autocast\nfrom contextlib import nullcontext\nfrom ldm.util import instantiate_from_config\nfrom optimUtils import split_weighted_subprompts, logger\nfrom transformers import logging\n\n# from samplers import CompVisDenoiser\nlogging.set_verbosity_error()\n\n\ndef chunk(it, size):\n    it = iter(it)\n    return iter(lambda: tuple(islice(it, size)), ())\n\n\ndef load_model_from_config(ckpt, verbose=False):\n    print(f\"Loading model from {ckpt}\")\n    pl_sd = torch.load(ckpt, map_location=\"cpu\")\n    if \"global_step\" in pl_sd:\n        print(f\"Global Step: {pl_sd['global_step']}\")\n    sd = pl_sd[\"state_dict\"]\n    return sd\n\n\nconfig = \"optimizedSD/v1-inference.yaml\"\nDEFAULT_CKPT = \"models/ldm/stable-diffusion-v1/model.ckpt\"\n\nparser = argparse.ArgumentParser()\n\nparser.add_argument(\n    \"--prompt\",\n    type=str,\n    nargs=\"?\",\n    default=\"a painting of a virus monster playing guitar\",\n    help=\"the prompt to render\",\n)\nparser.add_argument(\n    \"--outdir\",\n    type=str,\n    nargs=\"?\",\n    help=\"dir to write results to\",\n    default=\"outputs/txt2img-samples\",\n)\nparser.add_argument(\n    \"--skip_grid\",\n    action=\"store_true\",\n    help=\"do not save a grid, only individual samples. Helpful when evaluating lots of samples\",\n)\nparser.add_argument(\n    \"--skip_save\",\n    action=\"store_true\",\n    help=\"do not save individual samples. For speed measurements.\",\n)\nparser.add_argument(\n    \"--ddim_steps\",\n    type=int,\n    default=50,\n    help=\"number of ddim sampling steps\",\n)\n\nparser.add_argument(\n    \"--fixed_code\",\n    action=\"store_true\",\n    help=\"if enabled, uses the same starting code across samples \",\n)\nparser.add_argument(\n    \"--ddim_eta\",\n    type=float,\n    default=0.0,\n    help=\"ddim eta (eta=0.0 corresponds to deterministic sampling\",\n)\nparser.add_argument(\n    \"--n_iter\",\n    type=int,\n    default=1,\n    help=\"sample this often\",\n)\nparser.add_argument(\n    \"--H\",\n    type=int,\n    default=512,\n    help=\"image height, in pixel space\",\n)\nparser.add_argument(\n    \"--W\",\n    type=int,\n    default=512,\n    help=\"image width, in pixel space\",\n)\nparser.add_argument(\n    \"--C\",\n    type=int,\n    default=4,\n    help=\"latent channels\",\n)\nparser.add_argument(\n    \"--f\",\n    type=int,\n    default=8,\n    help=\"downsampling factor\",\n)\nparser.add_argument(\n    \"--n_samples\",\n    type=int,\n    default=5,\n    help=\"how many samples to produce for each given prompt. A.k.a. batch size\",\n)\nparser.add_argument(\n    \"--n_rows\",\n    type=int,\n    default=0,\n    help=\"rows in the grid (default: n_samples)\",\n)\nparser.add_argument(\n    \"--scale\",\n    type=float,\n    default=7.5,\n    help=\"unconditional guidance scale: eps = eps(x, empty) + scale * (eps(x, cond) - eps(x, empty))\",\n)\nparser.add_argument(\n    \"--device\",\n    type=str,\n    default=\"cuda\",\n    help=\"specify GPU (cuda/cuda:0/cuda:1/...)\",\n)\nparser.add_argument(\n    \"--from-file\",\n    type=str,\n    help=\"if specified, load prompts from this file\",\n)\nparser.add_argument(\n    \"--seed\",\n    type=int,\n    default=None,\n    help=\"the seed (for reproducible sampling)\",\n)\nparser.add_argument(\n    \"--unet_bs\",\n    type=int,\n    default=1,\n    help=\"Slightly reduces inference time at the expense of high VRAM (value > 1 not recommended )\",\n)\nparser.add_argument(\n    \"--turbo\",\n    action=\"store_true\",\n    help=\"Reduces inference time on the expense of 1GB VRAM\",\n)\nparser.add_argument(\n    \"--precision\",\n    type=str,\n    help=\"evaluate at this precision\",\n    choices=[\"full\", \"autocast\"],\n    default=\"autocast\",\n)\nparser.add_argument(\n    \"--format\",\n    type=str,\n    help=\"output image format\",\n    choices=[\"jpg\", \"png\"],\n    default=\"png\",\n)\nparser.add_argument(\n    \"--sampler\",\n    type=str,\n    help=\"sampler\",\n    choices=[\"ddim\", \"plms\", \"heun\", \"euler\", \"euler_a\", \"dpm2\", \"dpm2_a\", \"lms\"],\n    default=\"plms\",\n)\nparser.add_argument(\n    \"--ckpt\",\n    type=str,\n    help=\"path to checkpoint of model\",\n    default=DEFAULT_CKPT,\n)\nopt = parser.parse_args()\n\ntic = time.time()\nos.makedirs(opt.outdir, exist_ok=True)\noutpath = opt.outdir\ngrid_count = len(os.listdir(outpath)) - 1\n\nif opt.seed is None:\n    opt.seed = randint(0, 1000000)\nseed_everything(opt.seed)\n\n# Logging\nlogger(vars(opt), log_csv=\"logs/txt2img_logs.csv\")\n\nsd = load_model_from_config(f\"{opt.ckpt}\")\nli, lo = [], []\nfor key, value in sd.items():\n    sp = key.split(\".\")\n    if (sp[0]) == \"model\":\n        if \"input_blocks\" in sp:\n            li.append(key)\n        elif \"middle_block\" in sp:\n            li.append(key)\n        elif \"time_embed\" in sp:\n            li.append(key)\n        else:\n            lo.append(key)\nfor key in li:\n    sd[\"model1.\" + key[6:]] = sd.pop(key)\nfor key in lo:\n    sd[\"model2.\" + key[6:]] = sd.pop(key)\n\nconfig = OmegaConf.load(f\"{config}\")\n\nmodel = instantiate_from_config(config.modelUNet)\n_, _ = model.load_state_dict(sd, strict=False)\nmodel.eval()\nmodel.unet_bs = opt.unet_bs\nmodel.cdevice = opt.device\nmodel.turbo = opt.turbo\n\nmodelCS = instantiate_from_config(config.modelCondStage)\n_, _ = modelCS.load_state_dict(sd, strict=False)\nmodelCS.eval()\nmodelCS.cond_stage_model.device = opt.device\n\nmodelFS = instantiate_from_config(config.modelFirstStage)\n_, _ = modelFS.load_state_dict(sd, strict=False)\nmodelFS.eval()\ndel sd\n\nif opt.device != \"cpu\" and opt.precision == \"autocast\":\n    model.half()\n    modelCS.half()\n\nstart_code = None\nif opt.fixed_code:\n    start_code = torch.randn(\n        [opt.n_samples, opt.C, opt.H // opt.f, opt.W // opt.f], device=opt.device\n    )\n\n\nbatch_size = opt.n_samples\nn_rows = opt.n_rows if opt.n_rows > 0 else batch_size\nif not opt.from_file:\n    assert opt.prompt is not None\n    prompt = opt.prompt\n    print(f\"Using prompt: {prompt}\")\n    data = [batch_size * [prompt]]\n\nelse:\n    print(f\"reading prompts from {opt.from_file}\")\n    with open(opt.from_file, \"r\") as f:\n        text = f.read()\n        print(f\"Using prompt: {text.strip()}\")\n        data = text.splitlines()\n        data = batch_size * list(data)\n        data = list(chunk(sorted(data), batch_size))\n\n\nif opt.precision == \"autocast\" and opt.device != \"cpu\":\n    precision_scope = autocast\nelse:\n    precision_scope = nullcontext\n\nseeds = \"\"\nwith torch.no_grad():\n    all_samples = list()\n    for n in trange(opt.n_iter, desc=\"Sampling\"):\n        for prompts in tqdm(data, desc=\"data\"):\n            sample_path = os.path.join(outpath, \"_\".join(re.split(\":| \", prompts[0])))[\n                :150\n            ]\n            os.makedirs(sample_path, exist_ok=True)\n            base_count = len(os.listdir(sample_path))\n\n            with precision_scope(\"cuda\"):\n                modelCS.to(opt.device)\n                uc = None\n                if opt.scale != 1.0:\n                    uc = modelCS.get_learned_conditioning(batch_size * [\"\"])\n                if isinstance(prompts, tuple):\n                    prompts = list(prompts)\n\n                subprompts, weights = split_weighted_subprompts(prompts[0])\n                if len(subprompts) > 1:\n                    c = torch.zeros_like(uc)\n                    totalWeight = sum(weights)\n                    # normalize each \"sub prompt\" and add it\n                    for i in range(len(subprompts)):\n                        weight = weights[i]\n                        # if not skip_normalize:\n                        weight = weight / totalWeight\n                        c = torch.add(\n                            c,\n                            modelCS.get_learned_conditioning(subprompts[i]),\n                            alpha=weight,\n                        )\n                else:\n                    c = modelCS.get_learned_conditioning(prompts)\n\n                shape = [opt.n_samples, opt.C, opt.H // opt.f, opt.W // opt.f]\n\n                if opt.device != \"cpu\":\n                    mem = torch.cuda.memory_allocated() / 1e6\n                    modelCS.to(\"cpu\")\n                    while torch.cuda.memory_allocated() / 1e6 >= mem:\n                        time.sleep(1)\n\n                samples_ddim = model.sample(\n                    S=opt.ddim_steps,\n                    conditioning=c,\n                    seed=opt.seed,\n                    shape=shape,\n                    verbose=False,\n                    unconditional_guidance_scale=opt.scale,\n                    unconditional_conditioning=uc,\n                    eta=opt.ddim_eta,\n                    x_T=start_code,\n                    sampler=opt.sampler,\n                )\n\n                modelFS.to(opt.device)\n\n                print(samples_ddim.shape)\n                print(\"saving images\")\n                for i in range(batch_size):\n                    x_samples_ddim = modelFS.decode_first_stage(\n                        samples_ddim[i].unsqueeze(0)\n                    )\n                    x_sample = torch.clamp(\n                        (x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0\n                    )\n                    x_sample = 255.0 * rearrange(\n                        x_sample[0].cpu().numpy(), \"c h w -> h w c\"\n                    )\n                    Image.fromarray(x_sample.astype(np.uint8)).save(\n                        os.path.join(\n                            sample_path,\n                            \"seed_\"\n                            + str(opt.seed)\n                            + \"_\"\n                            + f\"{base_count:05}.{opt.format}\",\n                        )\n                    )\n                    seeds += str(opt.seed) + \",\"\n                    opt.seed += 1\n                    base_count += 1\n\n                if opt.device != \"cpu\":\n                    mem = torch.cuda.memory_allocated() / 1e6\n                    modelFS.to(\"cpu\")\n                    while torch.cuda.memory_allocated() / 1e6 >= mem:\n                        time.sleep(1)\n                del samples_ddim\n                print(\"memory_final = \", torch.cuda.memory_allocated() / 1e6)\n\ntoc = time.time()\n\ntime_taken = (toc - tic) / 60.0\n\nprint(\n    (\n        \"Samples finished in {0:.2f} minutes and exported to \"\n        + sample_path\n        + \"\\n Seeds used = \"\n        + seeds[:-1]\n    ).format(time_taken)\n)\n"
  },
  {
    "path": "optimizedSD/samplers.py",
    "content": "from scipy import integrate\nimport torch\nfrom tqdm.auto import trange\nimport torch.nn as nn\n\n\ndef append_zero(x):\n    return torch.cat([x, x.new_zeros([1])])\n\n\ndef append_dims(x, target_dims):\n    \"\"\"Appends dimensions to the end of a tensor until it has target_dims dimensions.\"\"\"\n    dims_to_append = target_dims - x.ndim\n    if dims_to_append < 0:\n        raise ValueError(\n            f\"input has {x.ndim} dims but target_dims is {target_dims}, which is less\"\n        )\n    return x[(...,) + (None,) * dims_to_append]\n\n\ndef get_ancestral_step(sigma_from, sigma_to):\n    \"\"\"Calculates the noise level (sigma_down) to step down to and the amount\n    of noise to add (sigma_up) when doing an ancestral sampling step.\"\"\"\n    sigma_up = (\n        sigma_to**2 * (sigma_from**2 - sigma_to**2) / sigma_from**2\n    ) ** 0.5\n    sigma_down = (sigma_to**2 - sigma_up**2) ** 0.5\n    return sigma_down, sigma_up\n\n\nclass DiscreteSchedule(nn.Module):\n    \"\"\"A mapping between continuous noise levels (sigmas) and a list of discrete noise\n    levels.\"\"\"\n\n    def __init__(self, sigmas, quantize):\n        super().__init__()\n        self.register_buffer(\"sigmas\", sigmas)\n        self.quantize = quantize\n\n    def get_sigmas(self, n=None):\n        if n is None:\n            return append_zero(self.sigmas.flip(0))\n        t_max = len(self.sigmas) - 1\n        t = torch.linspace(t_max, 0, n, device=self.sigmas.device)\n        return append_zero(self.t_to_sigma(t))\n\n    def sigma_to_t(self, sigma, quantize=None):\n        quantize = self.quantize if quantize is None else quantize\n        dists = torch.abs(sigma - self.sigmas[:, None])\n        if quantize:\n            return torch.argmin(dists, dim=0).view(sigma.shape)\n        low_idx, high_idx = torch.sort(\n            torch.topk(dists, dim=0, k=2, largest=False).indices, dim=0\n        )[0]\n        low, high = self.sigmas[low_idx], self.sigmas[high_idx]\n        w = (low - sigma) / (low - high)\n        w = w.clamp(0, 1)\n        t = (1 - w) * low_idx + w * high_idx\n        return t.view(sigma.shape)\n\n    def t_to_sigma(self, t):\n        t = t.float()\n        low_idx, high_idx, w = t.floor().long(), t.ceil().long(), t.frac()\n        # print(low_idx, high_idx, w )\n        return (1 - w) * self.sigmas[low_idx] + w * self.sigmas[high_idx]\n\n\nclass DiscreteEpsDDPMDenoiser(DiscreteSchedule):\n    \"\"\"A wrapper for discrete schedule DDPM models that output eps (the predicted\n    noise).\"\"\"\n\n    def __init__(self, alphas_cumprod, quantize):\n        super().__init__(((1 - alphas_cumprod) / alphas_cumprod) ** 0.5, quantize)\n        self.sigma_data = 1.0\n\n    def get_scalings(self, sigma):\n        c_out = -sigma\n        c_in = 1 / (sigma**2 + self.sigma_data**2) ** 0.5\n        return c_out, c_in\n\n    def get_eps(self, *args, **kwargs):\n        return self.inner_model(*args, **kwargs)\n\n    def forward(self, input, sigma, **kwargs):\n        c_out, c_in = [append_dims(x, input.ndim) for x in self.get_scalings(sigma)]\n        eps = self.get_eps(input * c_in, self.sigma_to_t(sigma), **kwargs)\n        return input + eps * c_out\n\n\nclass CompVisDenoiser(DiscreteEpsDDPMDenoiser):\n    \"\"\"A wrapper for CompVis diffusion models.\"\"\"\n\n    def __init__(self, alphas_cumprod, quantize=False, device=\"cpu\"):\n        super().__init__(alphas_cumprod, quantize=quantize)\n\n    def get_eps(self, *args, **kwargs):\n        return self.inner_model.apply_model(*args, **kwargs)\n\n\ndef to_d(x, sigma, denoised):\n    \"\"\"Converts a denoiser output to a Karras ODE derivative.\"\"\"\n    return (x - denoised) / append_dims(sigma, x.ndim)\n\n\ndef get_ancestral_step(sigma_from, sigma_to):\n    \"\"\"Calculates the noise level (sigma_down) to step down to and the amount\n    of noise to add (sigma_up) when doing an ancestral sampling step.\"\"\"\n    sigma_up = (\n        sigma_to**2 * (sigma_from**2 - sigma_to**2) / sigma_from**2\n    ) ** 0.5\n    sigma_down = (sigma_to**2 - sigma_up**2) ** 0.5\n    return sigma_down, sigma_up\n\n\n@torch.no_grad()\ndef sample_euler(\n    model,\n    x,\n    sigmas,\n    extra_args=None,\n    callback=None,\n    disable=None,\n    s_churn=0.0,\n    s_tmin=0.0,\n    s_tmax=float(\"inf\"),\n    s_noise=1.0,\n):\n    \"\"\"Implements Algorithm 2 (Euler steps) from Karras et al. (2022).\"\"\"\n    extra_args = {} if extra_args is None else extra_args\n    s_in = x.new_ones([x.shape[0]])\n    for i in trange(len(sigmas) - 1, disable=disable):\n        gamma = (\n            min(s_churn / (len(sigmas) - 1), 2**0.5 - 1)\n            if s_tmin <= sigmas[i] <= s_tmax\n            else 0.0\n        )\n        eps = torch.randn_like(x) * s_noise\n        sigma_hat = sigmas[i] * (gamma + 1)\n        if gamma > 0:\n            x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5\n        denoised = model(x, sigma_hat * s_in, **extra_args)\n        d = to_d(x, sigma_hat, denoised)\n        if callback is not None:\n            callback(\n                {\n                    \"x\": x,\n                    \"i\": i,\n                    \"sigma\": sigmas[i],\n                    \"sigma_hat\": sigma_hat,\n                    \"denoised\": denoised,\n                }\n            )\n        dt = sigmas[i + 1] - sigma_hat\n        # Euler method\n        x = x + d * dt\n    return x\n\n\n@torch.no_grad()\ndef sample_euler_ancestral(\n    model, x, sigmas, extra_args=None, callback=None, disable=None\n):\n    \"\"\"Ancestral sampling with Euler method steps.\"\"\"\n    extra_args = {} if extra_args is None else extra_args\n    s_in = x.new_ones([x.shape[0]])\n    for i in trange(len(sigmas) - 1, disable=disable):\n        denoised = model(x, sigmas[i] * s_in, **extra_args)\n        sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1])\n        if callback is not None:\n            callback(\n                {\n                    \"x\": x,\n                    \"i\": i,\n                    \"sigma\": sigmas[i],\n                    \"sigma_hat\": sigmas[i],\n                    \"denoised\": denoised,\n                }\n            )\n        d = to_d(x, sigmas[i], denoised)\n        # Euler method\n        dt = sigma_down - sigmas[i]\n        x = x + d * dt\n        x = x + torch.randn_like(x) * sigma_up\n    return x\n\n\n@torch.no_grad()\ndef sample_heun(\n    model,\n    x,\n    sigmas,\n    extra_args=None,\n    callback=None,\n    disable=None,\n    s_churn=0.0,\n    s_tmin=0.0,\n    s_tmax=float(\"inf\"),\n    s_noise=1.0,\n):\n    \"\"\"Implements Algorithm 2 (Heun steps) from Karras et al. (2022).\"\"\"\n    extra_args = {} if extra_args is None else extra_args\n    s_in = x.new_ones([x.shape[0]])\n    for i in trange(len(sigmas) - 1, disable=disable):\n        gamma = (\n            min(s_churn / (len(sigmas) - 1), 2**0.5 - 1)\n            if s_tmin <= sigmas[i] <= s_tmax\n            else 0.0\n        )\n        eps = torch.randn_like(x) * s_noise\n        sigma_hat = sigmas[i] * (gamma + 1)\n        if gamma > 0:\n            x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5\n        denoised = model(x, sigma_hat * s_in, **extra_args)\n        d = to_d(x, sigma_hat, denoised)\n        if callback is not None:\n            callback(\n                {\n                    \"x\": x,\n                    \"i\": i,\n                    \"sigma\": sigmas[i],\n                    \"sigma_hat\": sigma_hat,\n                    \"denoised\": denoised,\n                }\n            )\n        dt = sigmas[i + 1] - sigma_hat\n        if sigmas[i + 1] == 0:\n            # Euler method\n            x = x + d * dt\n        else:\n            # Heun's method\n            x_2 = x + d * dt\n            denoised_2 = model(x_2, sigmas[i + 1] * s_in, **extra_args)\n            d_2 = to_d(x_2, sigmas[i + 1], denoised_2)\n            d_prime = (d + d_2) / 2\n            x = x + d_prime * dt\n    return x\n\n\n@torch.no_grad()\ndef sample_dpm_2(\n    model,\n    x,\n    sigmas,\n    extra_args=None,\n    callback=None,\n    disable=None,\n    s_churn=0.0,\n    s_tmin=0.0,\n    s_tmax=float(\"inf\"),\n    s_noise=1.0,\n):\n    \"\"\"A sampler inspired by DPM-Solver-2 and Algorithm 2 from Karras et al. (2022).\"\"\"\n    extra_args = {} if extra_args is None else extra_args\n    s_in = x.new_ones([x.shape[0]])\n    for i in trange(len(sigmas) - 1, disable=disable):\n        gamma = (\n            min(s_churn / (len(sigmas) - 1), 2**0.5 - 1)\n            if s_tmin <= sigmas[i] <= s_tmax\n            else 0.0\n        )\n        eps = torch.randn_like(x) * s_noise\n        sigma_hat = sigmas[i] * (gamma + 1)\n        if gamma > 0:\n            x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5\n        denoised = model(x, sigma_hat * s_in, **extra_args)\n        d = to_d(x, sigma_hat, denoised)\n        if callback is not None:\n            callback(\n                {\n                    \"x\": x,\n                    \"i\": i,\n                    \"sigma\": sigmas[i],\n                    \"sigma_hat\": sigma_hat,\n                    \"denoised\": denoised,\n                }\n            )\n        # Midpoint method, where the midpoint is chosen according to a rho=3 Karras schedule\n        sigma_mid = ((sigma_hat ** (1 / 3) + sigmas[i + 1] ** (1 / 3)) / 2) ** 3\n        dt_1 = sigma_mid - sigma_hat\n        dt_2 = sigmas[i + 1] - sigma_hat\n        x_2 = x + d * dt_1\n        denoised_2 = model(x_2, sigma_mid * s_in, **extra_args)\n        d_2 = to_d(x_2, sigma_mid, denoised_2)\n        x = x + d_2 * dt_2\n    return x\n\n\n@torch.no_grad()\ndef sample_dpm_2_ancestral(\n    model, x, sigmas, extra_args=None, callback=None, disable=None\n):\n    \"\"\"Ancestral sampling with DPM-Solver inspired second-order steps.\"\"\"\n    extra_args = {} if extra_args is None else extra_args\n    s_in = x.new_ones([x.shape[0]])\n    for i in trange(len(sigmas) - 1, disable=disable):\n        denoised = model(x, sigmas[i] * s_in, **extra_args)\n        sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1])\n        if callback is not None:\n            callback(\n                {\n                    \"x\": x,\n                    \"i\": i,\n                    \"sigma\": sigmas[i],\n                    \"sigma_hat\": sigmas[i],\n                    \"denoised\": denoised,\n                }\n            )\n        d = to_d(x, sigmas[i], denoised)\n        # Midpoint method, where the midpoint is chosen according to a rho=3 Karras schedule\n        sigma_mid = ((sigmas[i] ** (1 / 3) + sigma_down ** (1 / 3)) / 2) ** 3\n        dt_1 = sigma_mid - sigmas[i]\n        dt_2 = sigma_down - sigmas[i]\n        x_2 = x + d * dt_1\n        denoised_2 = model(x_2, sigma_mid * s_in, **extra_args)\n        d_2 = to_d(x_2, sigma_mid, denoised_2)\n        x = x + d_2 * dt_2\n        x = x + torch.randn_like(x) * sigma_up\n    return x\n\n\ndef linear_multistep_coeff(order, t, i, j):\n    if order - 1 > i:\n        raise ValueError(f\"Order {order} too high for step {i}\")\n\n    def fn(tau):\n        prod = 1.0\n        for k in range(order):\n            if j == k:\n                continue\n            prod *= (tau - t[i - k]) / (t[i - j] - t[i - k])\n        return prod\n\n    return integrate.quad(fn, t[i], t[i + 1], epsrel=1e-4)[0]\n\n\n@torch.no_grad()\ndef sample_lms(model, x, sigmas, extra_args=None, callback=None, disable=None, order=4):\n    extra_args = {} if extra_args is None else extra_args\n    s_in = x.new_ones([x.shape[0]])\n    ds = []\n    for i in trange(len(sigmas) - 1, disable=disable):\n        denoised = model(x, sigmas[i] * s_in, **extra_args)\n        d = to_d(x, sigmas[i], denoised)\n        ds.append(d)\n        if len(ds) > order:\n            ds.pop(0)\n        if callback is not None:\n            callback(\n                {\n                    \"x\": x,\n                    \"i\": i,\n                    \"sigma\": sigmas[i],\n                    \"sigma_hat\": sigmas[i],\n                    \"denoised\": denoised,\n                }\n            )\n        cur_order = min(i + 1, order)\n        coeffs = [\n            linear_multistep_coeff(cur_order, sigmas.cpu(), i, j)\n            for j in range(cur_order)\n        ]\n        x = x + sum(coeff * d for coeff, d in zip(coeffs, reversed(ds)))\n    return x\n"
  },
  {
    "path": "optimizedSD/splitAttention.py",
    "content": "from inspect import isfunction\nimport math\nimport torch\nimport torch.nn.functional as F\nfrom torch import nn, einsum\nfrom einops import rearrange\n\nfrom ldm.modules.diffusionmodules.util import checkpoint\n\n\ndef exists(val):\n    return val is not None\n\n\ndef uniq(arr):\n    return {el: True for el in arr}.keys()\n\n\ndef default(val, d):\n    if exists(val):\n        return val\n    return d() if isfunction(d) else d\n\n\ndef max_neg_value(t):\n    return -torch.finfo(t.dtype).max\n\n\ndef init_(tensor):\n    dim = tensor.shape[-1]\n    std = 1 / math.sqrt(dim)\n    tensor.uniform_(-std, std)\n    return tensor\n\n\n# feedforward\nclass GEGLU(nn.Module):\n    def __init__(self, dim_in, dim_out):\n        super().__init__()\n        self.proj = nn.Linear(dim_in, dim_out * 2)\n\n    def forward(self, x):\n        x, gate = self.proj(x).chunk(2, dim=-1)\n        return x * F.gelu(gate)\n\n\nclass FeedForward(nn.Module):\n    def __init__(self, dim, dim_out=None, mult=4, glu=False, dropout=0.0):\n        super().__init__()\n        inner_dim = int(dim * mult)\n        dim_out = default(dim_out, dim)\n        project_in = (\n            nn.Sequential(nn.Linear(dim, inner_dim), nn.GELU())\n            if not glu\n            else GEGLU(dim, inner_dim)\n        )\n\n        self.net = nn.Sequential(\n            project_in, nn.Dropout(dropout), nn.Linear(inner_dim, dim_out)\n        )\n\n    def forward(self, x):\n        return self.net(x)\n\n\ndef zero_module(module):\n    \"\"\"\n    Zero out the parameters of a module and return it.\n    \"\"\"\n    for p in module.parameters():\n        p.detach().zero_()\n    return module\n\n\ndef Normalize(in_channels):\n    return torch.nn.GroupNorm(\n        num_groups=32, num_channels=in_channels, eps=1e-6, affine=True\n    )\n\n\nclass LinearAttention(nn.Module):\n    def __init__(self, dim, heads=4, dim_head=32):\n        super().__init__()\n        self.heads = heads\n        hidden_dim = dim_head * heads\n        self.to_qkv = nn.Conv2d(dim, hidden_dim * 3, 1, bias=False)\n        self.to_out = nn.Conv2d(hidden_dim, dim, 1)\n\n    def forward(self, x):\n        b, c, h, w = x.shape\n        qkv = self.to_qkv(x)\n        q, k, v = rearrange(\n            qkv, \"b (qkv heads c) h w -> qkv b heads c (h w)\", heads=self.heads, qkv=3\n        )\n        k = k.softmax(dim=-1)\n        context = torch.einsum(\"bhdn,bhen->bhde\", k, v)\n        out = torch.einsum(\"bhde,bhdn->bhen\", context, q)\n        out = rearrange(\n            out, \"b heads c (h w) -> b (heads c) h w\", heads=self.heads, h=h, w=w\n        )\n        return self.to_out(out)\n\n\nclass SpatialSelfAttention(nn.Module):\n    def __init__(self, in_channels):\n        super().__init__()\n        self.in_channels = in_channels\n\n        self.norm = Normalize(in_channels)\n        self.q = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.k = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.v = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n        self.proj_out = torch.nn.Conv2d(\n            in_channels, in_channels, kernel_size=1, stride=1, padding=0\n        )\n\n    def forward(self, x):\n        h_ = x\n        h_ = self.norm(h_)\n        q = self.q(h_)\n        k = self.k(h_)\n        v = self.v(h_)\n\n        # compute attention\n        b, c, h, w = q.shape\n        q = rearrange(q, \"b c h w -> b (h w) c\")\n        k = rearrange(k, \"b c h w -> b c (h w)\")\n        w_ = torch.einsum(\"bij,bjk->bik\", q, k)\n\n        w_ = w_ * (int(c) ** (-0.5))\n        w_ = torch.nn.functional.softmax(w_, dim=2)\n\n        # attend to values\n        v = rearrange(v, \"b c h w -> b c (h w)\")\n        w_ = rearrange(w_, \"b i j -> b j i\")\n        h_ = torch.einsum(\"bij,bjk->bik\", v, w_)\n        h_ = rearrange(h_, \"b c (h w) -> b c h w\", h=h)\n        h_ = self.proj_out(h_)\n\n        return x + h_\n\n\nclass CrossAttention(nn.Module):\n    def __init__(\n        self, query_dim, context_dim=None, heads=8, dim_head=64, dropout=0.0, att_step=1\n    ):\n        super().__init__()\n        inner_dim = dim_head * heads\n        context_dim = default(context_dim, query_dim)\n\n        self.scale = dim_head**-0.5\n        self.heads = heads\n        self.att_step = att_step\n\n        self.to_q = nn.Linear(query_dim, inner_dim, bias=False)\n        self.to_k = nn.Linear(context_dim, inner_dim, bias=False)\n        self.to_v = nn.Linear(context_dim, inner_dim, bias=False)\n\n        self.to_out = nn.Sequential(\n            nn.Linear(inner_dim, query_dim), nn.Dropout(dropout)\n        )\n\n    def forward(self, x, context=None, mask=None):\n        h = self.heads\n\n        q = self.to_q(x)\n        context = default(context, x)\n        k = self.to_k(context)\n        v = self.to_v(context)\n        del context, x\n\n        q, k, v = map(lambda t: rearrange(t, \"b n (h d) -> (b h) n d\", h=h), (q, k, v))\n\n        limit = k.shape[0]\n        att_step = self.att_step\n        q_chunks = list(torch.tensor_split(q, limit // att_step, dim=0))\n        k_chunks = list(torch.tensor_split(k, limit // att_step, dim=0))\n        v_chunks = list(torch.tensor_split(v, limit // att_step, dim=0))\n\n        q_chunks.reverse()\n        k_chunks.reverse()\n        v_chunks.reverse()\n        sim = torch.zeros(q.shape[0], q.shape[1], v.shape[2], device=q.device)\n        del k, q, v\n        for i in range(0, limit, att_step):\n            q_buffer = q_chunks.pop()\n            k_buffer = k_chunks.pop()\n            v_buffer = v_chunks.pop()\n            sim_buffer = (\n                einsum(\"b i d, b j d -> b i j\", q_buffer, k_buffer) * self.scale\n            )\n\n            del k_buffer, q_buffer\n            # attention, what we cannot get enough of, by chunks\n\n            sim_buffer = sim_buffer.softmax(dim=-1)\n\n            sim_buffer = einsum(\"b i j, b j d -> b i d\", sim_buffer, v_buffer)\n            del v_buffer\n            sim[i : i + att_step, :, :] = sim_buffer\n\n            del sim_buffer\n        sim = rearrange(sim, \"(b h) n d -> b n (h d)\", h=h)\n        return self.to_out(sim)\n\n\nclass BasicTransformerBlock(nn.Module):\n    def __init__(\n        self,\n        dim,\n        n_heads,\n        d_head,\n        dropout=0.0,\n        context_dim=None,\n        gated_ff=True,\n        checkpoint=True,\n    ):\n        super().__init__()\n        self.attn1 = CrossAttention(\n            query_dim=dim, heads=n_heads, dim_head=d_head, dropout=dropout\n        )  # is a self-attention\n        self.ff = FeedForward(dim, dropout=dropout, glu=gated_ff)\n        self.attn2 = CrossAttention(\n            query_dim=dim,\n            context_dim=context_dim,\n            heads=n_heads,\n            dim_head=d_head,\n            dropout=dropout,\n        )  # is self-attn if context is none\n        self.norm1 = nn.LayerNorm(dim)\n        self.norm2 = nn.LayerNorm(dim)\n        self.norm3 = nn.LayerNorm(dim)\n        self.checkpoint = checkpoint\n\n    def forward(self, x, context=None):\n        return checkpoint(\n            self._forward, (x, context), self.parameters(), self.checkpoint\n        )\n\n    def _forward(self, x, context=None):\n        x = self.attn1(self.norm1(x)) + x\n        x = self.attn2(self.norm2(x), context=context) + x\n        x = self.ff(self.norm3(x)) + x\n        return x\n\n\nclass SpatialTransformer(nn.Module):\n    \"\"\"\n    Transformer block for image-like data.\n    First, project the input (aka embedding)\n    and reshape to b, t, d.\n    Then apply standard transformer action.\n    Finally, reshape to image\n    \"\"\"\n\n    def __init__(\n        self, in_channels, n_heads, d_head, depth=1, dropout=0.0, context_dim=None\n    ):\n        super().__init__()\n        self.in_channels = in_channels\n        inner_dim = n_heads * d_head\n        self.norm = Normalize(in_channels)\n\n        self.proj_in = nn.Conv2d(\n            in_channels, inner_dim, kernel_size=1, stride=1, padding=0\n        )\n\n        self.transformer_blocks = nn.ModuleList(\n            [\n                BasicTransformerBlock(\n                    inner_dim, n_heads, d_head, dropout=dropout, context_dim=context_dim\n                )\n                for d in range(depth)\n            ]\n        )\n\n        self.proj_out = zero_module(\n            nn.Conv2d(inner_dim, in_channels, kernel_size=1, stride=1, padding=0)\n        )\n\n    def forward(self, x, context=None):\n        # note: if no context is given, cross-attention defaults to self-attention\n        b, c, h, w = x.shape\n        x_in = x\n        x = self.norm(x)\n        x = self.proj_in(x)\n        x = rearrange(x, \"b c h w -> b (h w) c\")\n        for block in self.transformer_blocks:\n            x = block(x, context=context)\n        x = rearrange(x, \"b (h w) c -> b c h w\", h=h, w=w)\n        x = self.proj_out(x)\n        return x + x_in\n"
  },
  {
    "path": "optimizedSD/v1-inference.yaml",
    "content": "modelUNet:\n  base_learning_rate: 1.0e-04\n  target: optimizedSD.ddpm.UNet\n  params:\n    linear_start: 0.00085\n    linear_end: 0.0120\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 64\n    channels: 4\n    cond_stage_trainable: false # Note: different from the one we trained before\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    scale_factor: 0.18215\n    use_ema: False\n\n    unetConfigEncode:\n      target: optimizedSD.openaimodelSplit.UNetModelEncode\n      params:\n        image_size: 32 # unused\n        in_channels: 4\n        out_channels: 4\n        model_channels: 320\n        attention_resolutions: [4, 2, 1]\n        num_res_blocks: 2\n        channel_mult: [1, 2, 4, 4]\n        num_heads: 8\n        use_spatial_transformer: True\n        transformer_depth: 1\n        context_dim: 768\n        use_checkpoint: True\n        legacy: False\n\n    unetConfigDecode:\n      target: optimizedSD.openaimodelSplit.UNetModelDecode\n      params:\n        image_size: 32 # unused\n        in_channels: 4\n        out_channels: 4\n        model_channels: 320\n        attention_resolutions: [4, 2, 1]\n        num_res_blocks: 2\n        channel_mult: [1, 2, 4, 4]\n        num_heads: 8\n        use_spatial_transformer: True\n        transformer_depth: 1\n        context_dim: 768\n        use_checkpoint: True\n        legacy: False\n\nmodelFirstStage:\n  target: optimizedSD.ddpm.FirstStage\n  params:\n    linear_start: 0.00085\n    linear_end: 0.0120\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 64\n    channels: 4\n    cond_stage_trainable: false # Note: different from the one we trained before\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    scale_factor: 0.18215\n    use_ema: False\n    first_stage_config:\n      target: ldm.models.autoencoder.AutoencoderKL\n      params:\n        embed_dim: 4\n        monitor: val/rec_loss\n        ddconfig:\n          double_z: true\n          z_channels: 4\n          resolution: 256\n          in_channels: 3\n          out_ch: 3\n          ch: 128\n          ch_mult:\n            - 1\n            - 2\n            - 4\n            - 4\n          num_res_blocks: 2\n          attn_resolutions: []\n          dropout: 0.0\n        lossconfig:\n          target: torch.nn.Identity\n\nmodelCondStage:\n  target: optimizedSD.ddpm.CondStage\n  params:\n    linear_start: 0.00085\n    linear_end: 0.0120\n    num_timesteps_cond: 1\n    log_every_t: 200\n    timesteps: 1000\n    first_stage_key: \"jpg\"\n    cond_stage_key: \"txt\"\n    image_size: 64\n    channels: 4\n    cond_stage_trainable: false # Note: different from the one we trained before\n    conditioning_key: crossattn\n    monitor: val/loss_simple_ema\n    scale_factor: 0.18215\n    use_ema: False\n    cond_stage_config:\n      target: ldm.modules.encoders.modules.FrozenCLIPEmbedder\n      params:\n        device: cpu\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"docs\",\n  \"version\": \"0.0.0\",\n  \"private\": true,\n  \"scripts\": {\n    \"docusaurus\": \"docusaurus\",\n    \"start\": \"docusaurus start\",\n    \"build\": \"docusaurus build\",\n    \"swizzle\": \"docusaurus swizzle\",\n    \"deploy\": \"docusaurus deploy\",\n    \"clear\": \"docusaurus clear\",\n    \"serve\": \"docusaurus serve\",\n    \"write-translations\": \"docusaurus write-translations\",\n    \"write-heading-ids\": \"docusaurus write-heading-ids\"\n  },\n  \"dependencies\": {\n    \"@cmfcmf/docusaurus-search-local\": \"^0.11.0\",\n    \"@docusaurus/core\": \"2.2.0\",\n    \"@docusaurus/preset-classic\": \"2.2.0\",\n    \"@mdx-js/react\": \"^1.6.22\",\n    \"clsx\": \"^1.2.1\",\n    \"create-docusaurus\": \"^2.2.0\",\n    \"prism-react-renderer\": \"^1.3.5\",\n    \"react\": \"^17.0.2\",\n    \"react-dom\": \"^17.0.2\"\n  },\n  \"devDependencies\": {\n    \"@docusaurus/module-type-aliases\": \"2.2.0\"\n  },\n  \"browserslist\": {\n    \"production\": [\n      \">0.5%\",\n      \"not dead\",\n      \"not op_mini all\"\n    ],\n    \"development\": [\n      \"last 1 chrome version\",\n      \"last 1 firefox version\",\n      \"last 1 safari version\"\n    ]\n  },\n  \"engines\": {\n    \"node\": \">=16.14\"\n  }\n}\n"
  },
  {
    "path": "requirements.txt",
    "content": "-e .\n\n# See: https://github.com/CompVis/taming-transformers/issues/176\n# -e git+https://github.com/CompVis/taming-transformers.git@master#egg=taming-transformers # required by ldm\n# Note: taming package needs to be installed with -e option\n-e git+https://github.com/CompVis/taming-transformers#egg=taming-transformers\ninvisible-watermark==0.1.5\ntaming-transformers-rom1504==0.0.6  # required by ldm\n\n# Note: K-diffusion brings in CLIP 1.0 as a dependency automatically; will create a dependency resolution conflict when explicitly specified together\ngit+https://github.com/openai/CLIP.git@main#egg=clip\n\ngit+https://github.com/crowsonkb/k-diffusion.git\n# git+https://github.com/hlky/k-diffusion-sd#egg=k_diffusion\n\n# Dependencies required for Stable Diffusion UI\npynvml==11.4.1\nomegaconf==2.2.3\n\n# Note: Jinja2 3.x major version required due to breaking changes found in markupsafe==2.1.1; 2.0.1 is incompatible with other upstream dependencies\n# see https://github.com/pallets/markupsafe/issues/304\nJinja2==3.1.2  # Jinja2 is required by Gradio\n\n# Environment Dependencies for WebUI (gradio)\ngradio==3.4.1\n\n# Environment Dependencies for WebUI (streamlit)\nstreamlit==1.14.0\nstreamlit-on-Hover-tabs==1.0.1\nstreamlit-option-menu==0.3.2\nstreamlit_nested_layout==0.1.1\nstreamlit-server-state==0.15.0\nstreamlit-tensorboard==0.0.2\nstreamlit-elements==0.1.* # used for the draggable dashboard and new UI design (WIP)\nstreamlit-ace==0.1.1 # used to replace the text area on the prompt and also for the code editor tool.\n#streamlit-base-extras # used for logging, thread spawning, thread locking and page routing. For now we are using a modified local version which we have to change to use the proper version from pypi.\nhydralit==1.0.14\nhydralit_components==1.0.10\nstqdm==0.0.4\nuvicorn\nfastapi\njsonmerge==1.8.\nmatplotlib==3.6.\nresize-right==0.0.2\ntorchdiffeq==0.2.3\nbarfi==0.7.0\naltair<5\n\n# Environment Dependencies for WebUI (flet)\n\n# txt2vid\ndiffusers==0.7.2\nlibrosa==0.9.2\n\n# img2img inpainting\nstreamlit-drawable-canvas==0.9.2\n\n# Img2text\nftfy==6.1.1\nfairscale==0.4.4\nregex\ntimm==0.6.7\ntqdm==4.64.0\ntensorboard==2.10.1\n\n# Other\nretry==0.9.2  # used by sd_utils\npython-slugify==6.1.2  # used by sd_utils\npiexif==1.1.3  # used by sd_utils\npywebview==3.6.3 # used by streamlit_webview.py\nshutup==0.2.0 # remove all the annoying warnings\n\naccelerate==0.12.0\nalbumentations==0.4.3\neinops==0.3.1\nfacexlib>=0.2.3\nimageio-ffmpeg==0.4.2\nimageio==2.9.0\nkornia==0.6\nloguru\nopencv-python-headless==4.6.0.66\nopen-clip-torch==2.0.2\npandas==1.4.3\npudb==2019.2\npytorch-lightning==1.7.7\nrealesrgan==0.3.0\ntest-tube>=0.7.5\ntimm==0.6.7\ntorch-fidelity==0.3.0\ntransformers==4.19.2 # do not change\ntorchmetrics==0.11.4\nwget\n\n# Optional packages commonly used with Stable Diffusion workflow\n\n# Upscalers\nbasicsr==1.4.2  # required by RealESRGAN\ngfpgan==1.3.8  # GFPGAN\nrealesrgan==0.3.0  # RealESRGAN brings in GFPGAN as a requirement\n-e git+https://github.com/devilismyfriend/latent-diffusion#egg=latent-diffusion\n\n## for monocular depth estimation\ntensorflow==2.10.0\n\n# Unused Packages: No current usage but will be used in the future.\n\n\n# Orphaned Packages:  No usage found\n"
  },
  {
    "path": "runpod_entrypoint.sh",
    "content": "#!/bin/bash\n# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n#\n# Starts the webserver inside the docker container\n#\n\n# set -x\n\nSCRIPT_DIR=$( cd -- \"$( dirname -- \"${BASH_SOURCE[0]}\" )\" &> /dev/null && pwd )\ncd $SCRIPT_DIR\nexport PYTHONPATH=$SCRIPT_DIR\n\nif [[ $PUBLIC_KEY ]]\nthen\n    mkdir -p ~/.ssh\n    chmod 700 ~/.ssh\n    cd ~/.ssh\n    echo $PUBLIC_KEY >> authorized_keys\n    chmod 700 -R ~/.ssh\n    cd /\n    service ssh start\n    echo \"SSH Service Started\"\nfi\n\ncd $SCRIPT_DIR\nlaunch_command=\"streamlit run ${SCRIPT_DIR}/scripts/webui_streamlit.py\"\n\n$launch_command\n\nsleep infinity\n"
  },
  {
    "path": "scripts/APIServer.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from sd_utils import *\nfrom sd_utils import st\n\n# streamlit imports\n\n# streamlit components section\n\n# other imports\n# from fastapi import FastAPI\n# import uvicorn\n\n# Temp imports\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\ndef layout():\n    st.info(\"Under Construction. :construction_worker:\")\n"
  },
  {
    "path": "scripts/ModelManager.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import st, logger\n\n# streamlit imports\n\n\n# other imports\nimport os, requests\nfrom requests.auth import HTTPBasicAuth\nfrom requests import HTTPError\nfrom stqdm import stqdm\n\n# Temp imports\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\ndef download_file(file_name, file_path, file_url):\n    if not os.path.exists(file_path):\n        os.makedirs(file_path)\n\n    if not os.path.exists(os.path.join(file_path, file_name)):\n        print(\"Downloading \" + file_name + \"...\")\n        # TODO - add progress bar in streamlit\n        # download file with `requests``\n        if file_name == \"Stable Diffusion v1.5\":\n            if (\n                \"huggingface_token\" not in st.session_state\n                or st.session_state[\"defaults\"].general.huggingface_token == \"None\"\n            ):\n                if \"progress_bar_text\" in st.session_state:\n                    st.session_state[\"progress_bar_text\"].error(\n                        \"You need a huggingface token in order to use the Text to Video tab. Use the Settings page from the sidebar on the left to add your token.\"\n                    )\n                raise OSError(\n                    \"You need a huggingface token in order to use the Text to Video tab. Use the Settings page from the sidebar on the left to add your token.\"\n                )\n\n        try:\n            with requests.get(\n                file_url,\n                auth=HTTPBasicAuth(\n                    \"token\", st.session_state.defaults.general.huggingface_token\n                )\n                if \"huggingface.co\" in file_url\n                else None,\n                stream=True,\n            ) as r:\n                r.raise_for_status()\n                with open(os.path.join(file_path, file_name), \"wb\") as f:\n                    for chunk in stqdm(\n                        r.iter_content(chunk_size=8192), backend=True, unit=\"kb\"\n                    ):\n                        f.write(chunk)\n        except HTTPError as e:\n            if \"huggingface.co\" in file_url:\n                if \"resolve\" in file_url:\n                    repo_url = file_url.split(\"resolve\")[0]\n\n                    st.session_state[\"progress_bar_text\"].error(\n                        f\"You need to accept the license for the model in order to be able to download it. \"\n                        f\"Please visit {repo_url} and accept the lincense there, then try again to download the model.\"\n                    )\n\n            logger.error(e)\n\n    else:\n        print(file_name + \" already exists.\")\n\n\ndef download_model(models, model_name):\n    \"\"\"Download all files from model_list[model_name]\"\"\"\n    for file in models[model_name]:\n        download_file(file[\"file_name\"], file[\"file_path\"], file[\"file_url\"])\n    return\n\n\ndef layout():\n    # search = st.text_input(label=\"Search\", placeholder=\"Type the name of the model you want to search for.\", help=\"\")\n\n    colms = st.columns((1, 3, 3, 5, 5))\n    columns = [\"№\", \"Model Name\", \"Save Location\", \"Download\", \"Download Link\"]\n\n    models = st.session_state[\"defaults\"].model_manager.models\n\n    for col, field_name in zip(colms, columns):\n        # table header\n        col.write(field_name)\n\n    for x, model_name in enumerate(models):\n        col1, col2, col3, col4, col5 = st.columns((1, 3, 3, 3, 6))\n        col1.write(x)  # index\n        col2.write(models[model_name][\"model_name\"])\n        col3.write(models[model_name][\"save_location\"])\n        with col4:\n            files_exist = 0\n            for file in models[model_name][\"files\"]:\n                if \"save_location\" in models[model_name][\"files\"][file]:\n                    os.path.exists(\n                        os.path.join(\n                            models[model_name][\"files\"][file][\"save_location\"],\n                            models[model_name][\"files\"][file][\"file_name\"],\n                        )\n                    )\n                    files_exist += 1\n                elif os.path.exists(\n                    os.path.join(\n                        models[model_name][\"save_location\"],\n                        models[model_name][\"files\"][file][\"file_name\"],\n                    )\n                ):\n                    files_exist += 1\n            files_needed = []\n            for file in models[model_name][\"files\"]:\n                if \"save_location\" in models[model_name][\"files\"][file]:\n                    if not os.path.exists(\n                        os.path.join(\n                            models[model_name][\"files\"][file][\"save_location\"],\n                            models[model_name][\"files\"][file][\"file_name\"],\n                        )\n                    ):\n                        files_needed.append(file)\n                elif not os.path.exists(\n                    os.path.join(\n                        models[model_name][\"save_location\"],\n                        models[model_name][\"files\"][file][\"file_name\"],\n                    )\n                ):\n                    files_needed.append(file)\n            if len(files_needed) > 0:\n                if st.button(\n                    \"Download\",\n                    key=models[model_name][\"model_name\"],\n                    help=\"Download \" + models[model_name][\"model_name\"],\n                ):\n                    for file in files_needed:\n                        if \"save_location\" in models[model_name][\"files\"][file]:\n                            download_file(\n                                models[model_name][\"files\"][file][\"file_name\"],\n                                models[model_name][\"files\"][file][\"save_location\"],\n                                models[model_name][\"files\"][file][\"download_link\"],\n                            )\n                        else:\n                            download_file(\n                                models[model_name][\"files\"][file][\"file_name\"],\n                                models[model_name][\"save_location\"],\n                                models[model_name][\"files\"][file][\"download_link\"],\n                            )\n                    st.experimental_rerun()\n                else:\n                    st.empty()\n            else:\n                st.write(\"✅\")\n\n        #\n"
  },
  {
    "path": "scripts/Settings.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import st, custom_models_available, logger, human_readable_size\n\n# streamlit imports\n\n# streamlit components section\nfrom streamlit_server_state import server_state\n\n# other imports\nfrom omegaconf import OmegaConf\nimport torch\nimport os, toml\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\n@logger.catch(reraise=True)\ndef layout():\n    # st.header(\"Settings\")\n\n    with st.form(\"Settings\"):\n        (\n            general_tab,\n            txt2img_tab,\n            img2img_tab,\n            img2txt_tab,\n            txt2vid_tab,\n            image_processing,\n            textual_inversion_tab,\n            concepts_library_tab,\n        ) = st.tabs(\n            [\n                \"General\",\n                \"Text-To-Image\",\n                \"Image-To-Image\",\n                \"Image-To-Text\",\n                \"Text-To-Video\",\n                \"Image processing\",\n                \"Textual Inversion\",\n                \"Concepts Library\",\n            ]\n        )\n\n        with general_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"large\")\n\n            device_list = []\n            device_properties = [\n                (i, torch.cuda.get_device_properties(i))\n                for i in range(torch.cuda.device_count())\n            ]\n            for device in device_properties:\n                id = device[0]\n                name = device[1].name\n                total_memory = device[1].total_memory\n\n                device_list.append(\n                    f\"{id}: {name} ({human_readable_size(total_memory, decimal_places=0)})\"\n                )\n\n            with col1:\n                st.title(\"General\")\n                st.session_state[\"defaults\"].general.gpu = int(\n                    st.selectbox(\n                        \"GPU\",\n                        device_list,\n                        index=st.session_state[\"defaults\"].general.gpu,\n                        help=f\"Select which GPU to use. Default: {device_list[0]}\",\n                    ).split(\":\")[0]\n                )\n\n                st.session_state[\"defaults\"].general.outdir = str(\n                    st.text_input(\n                        \"Output directory\",\n                        value=st.session_state[\"defaults\"].general.outdir,\n                        help=\"Relative directory on which the output images after a generation will be placed. Default: 'outputs'\",\n                    )\n                )\n\n                # If we have custom models available on the \"models/custom\"\n                # folder then we show a menu to select which model we want to use, otherwise we use the main model for SD\n                custom_models_available()\n\n                if server_state[\"CustomModel_available\"]:\n                    st.session_state.defaults.general.default_model = st.selectbox(\n                        \"Default Model:\",\n                        server_state[\"custom_models\"],\n                        index=server_state[\"custom_models\"].index(\n                            st.session_state[\"defaults\"].general.default_model\n                        ),\n                        help=\"Select the model you want to use. If you have placed custom models \\\n                                                                  on your 'models/custom' folder they will be shown here as well. The model name that will be shown here \\\n                                                                  is the same as the name the file for the model has on said folder, \\\n                                                                  it is recommended to give the .ckpt file a name that \\\n                                                                  will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.4\",\n                    )\n                else:\n                    st.session_state.defaults.general.default_model = st.selectbox(\n                        \"Default Model:\",\n                        [st.session_state[\"defaults\"].general.default_model],\n                        help=\"Select the model you want to use. If you have placed custom models \\\n                                                                  on your 'models/custom' folder they will be shown here as well. \\\n                                                                  The model name that will be shown here is the same as the name\\\n                                                                  the file for the model has on said folder, it is recommended to give the .ckpt file a name that \\\n                                                                  will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.4\",\n                    )\n\n                st.session_state[\n                    \"defaults\"\n                ].general.default_model_config = st.text_input(\n                    \"Default Model Config\",\n                    value=st.session_state[\"defaults\"].general.default_model_config,\n                    help=\"Default model config file for inference. Default: 'configs/stable-diffusion/v1-inference.yaml'\",\n                )\n\n                st.session_state[\"defaults\"].general.default_model_path = st.text_input(\n                    \"Default Model Config\",\n                    value=st.session_state[\"defaults\"].general.default_model_path,\n                    help=\"Default model path. Default: 'models/ldm/stable-diffusion-v1/model.ckpt'\",\n                )\n\n                st.session_state[\"defaults\"].general.GFPGAN_dir = st.text_input(\n                    \"Default GFPGAN directory\",\n                    value=st.session_state[\"defaults\"].general.GFPGAN_dir,\n                    help=\"Default GFPGAN directory. Default: './models/gfpgan'\",\n                )\n\n                st.session_state[\"defaults\"].general.RealESRGAN_dir = st.text_input(\n                    \"Default RealESRGAN directory\",\n                    value=st.session_state[\"defaults\"].general.RealESRGAN_dir,\n                    help=\"Default GFPGAN directory. Default: './models/realesrgan'\",\n                )\n\n                RealESRGAN_model_list = [\n                    \"RealESRGAN_x4plus\",\n                    \"RealESRGAN_x4plus_anime_6B\",\n                ]\n                st.session_state[\"defaults\"].general.RealESRGAN_model = st.selectbox(\n                    \"RealESRGAN model\",\n                    RealESRGAN_model_list,\n                    index=RealESRGAN_model_list.index(\n                        st.session_state[\"defaults\"].general.RealESRGAN_model\n                    ),\n                    help=\"Default RealESRGAN model. Default: 'RealESRGAN_x4plus'\",\n                )\n                Upscaler_list = [\"RealESRGAN\", \"LDSR\"]\n                st.session_state[\"defaults\"].general.upscaling_method = st.selectbox(\n                    \"Upscaler\",\n                    Upscaler_list,\n                    index=Upscaler_list.index(\n                        st.session_state[\"defaults\"].general.upscaling_method\n                    ),\n                    help=\"Default upscaling method. Default: 'RealESRGAN'\",\n                )\n\n            with col2:\n                st.title(\"Performance\")\n\n                st.session_state[\"defaults\"].general.gfpgan_cpu = st.checkbox(\n                    \"GFPGAN - CPU\",\n                    value=st.session_state[\"defaults\"].general.gfpgan_cpu,\n                    help=\"Run GFPGAN on the cpu. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.esrgan_cpu = st.checkbox(\n                    \"ESRGAN - CPU\",\n                    value=st.session_state[\"defaults\"].general.esrgan_cpu,\n                    help=\"Run ESRGAN on the cpu. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.extra_models_cpu = st.checkbox(\n                    \"Extra Models - CPU\",\n                    value=st.session_state[\"defaults\"].general.extra_models_cpu,\n                    help=\"Run extra models (GFGPAN/ESRGAN) on cpu. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.extra_models_gpu = st.checkbox(\n                    \"Extra Models - GPU\",\n                    value=st.session_state[\"defaults\"].general.extra_models_gpu,\n                    help=\"Run extra models (GFGPAN/ESRGAN) on gpu. \\\n                                                                                    Check and save in order to be able to select the GPU that each model will use. Default: False\",\n                )\n                if st.session_state[\"defaults\"].general.extra_models_gpu:\n                    st.session_state[\"defaults\"].general.gfpgan_gpu = int(\n                        st.selectbox(\n                            \"GFGPAN GPU\",\n                            device_list,\n                            index=st.session_state[\"defaults\"].general.gfpgan_gpu,\n                            help=f\"Select which GPU to use. Default: {device_list[st.session_state['defaults'].general.gfpgan_gpu]}\",\n                            key=\"gfpgan_gpu\",\n                        ).split(\":\")[0]\n                    )\n\n                    st.session_state[\"defaults\"].general.esrgan_gpu = int(\n                        st.selectbox(\n                            \"ESRGAN - GPU\",\n                            device_list,\n                            index=st.session_state[\"defaults\"].general.esrgan_gpu,\n                            help=f\"Select which GPU to use. Default: {device_list[st.session_state['defaults'].general.esrgan_gpu]}\",\n                            key=\"esrgan_gpu\",\n                        ).split(\":\")[0]\n                    )\n\n                st.session_state[\"defaults\"].general.no_half = st.checkbox(\n                    \"No Half\",\n                    value=st.session_state[\"defaults\"].general.no_half,\n                    help=\"DO NOT switch the model to 16-bit floats. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.use_cudnn = st.checkbox(\n                    \"Use cudnn\",\n                    value=st.session_state[\"defaults\"].general.use_cudnn,\n                    help=\"Switch the pytorch backend to use cudnn, this should help with fixing Nvidia 16xx cards getting\"\n                    \"a black or green image. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.use_float16 = st.checkbox(\n                    \"Use float16\",\n                    value=st.session_state[\"defaults\"].general.use_float16,\n                    help=\"Switch the model to 16-bit floats. Default: False\",\n                )\n\n                precision_list = [\"full\", \"autocast\"]\n                st.session_state[\"defaults\"].general.precision = st.selectbox(\n                    \"Precision\",\n                    precision_list,\n                    index=precision_list.index(\n                        st.session_state[\"defaults\"].general.precision\n                    ),\n                    help=\"Evaluates at this precision. Default: autocast\",\n                )\n\n                st.session_state[\"defaults\"].general.optimized = st.checkbox(\n                    \"Optimized Mode\",\n                    value=st.session_state[\"defaults\"].general.optimized,\n                    help=\"Loads the model onto the device piecemeal instead of all at once to reduce VRAM usage\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t   at the cost of performance. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.optimized_turbo = st.checkbox(\n                    \"Optimized Turbo Mode\",\n                    value=st.session_state[\"defaults\"].general.optimized_turbo,\n                    help=\"Alternative optimization mode that does not save as much VRAM but \\\n                                                                                   runs siginificantly faster. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.optimized_config = st.text_input(\n                    \"Optimized Config\",\n                    value=st.session_state[\"defaults\"].general.optimized_config,\n                    help=\"Loads alternative optimized configuration for inference. \\\n                                                                                      Default: optimizedSD/v1-inference.yaml\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].general.enable_attention_slicing = st.checkbox(\n                    \"Enable Attention Slicing\",\n                    value=st.session_state[\"defaults\"].general.enable_attention_slicing,\n                    help=\"Enable sliced attention computation. When this option is enabled, the attention module will \\\n                                                                                            split the input tensor in slices, to compute attention in several steps. This is useful to save some \\\n                                                                                            memory in exchange for a small speed decrease. Only works the txt2vid tab right now. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].general.enable_minimal_memory_usage = st.checkbox(\n                    \"Enable Minimal Memory Usage\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].general.enable_minimal_memory_usage,\n                    help=\"Moves only unet to fp16 and to CUDA, while keepping lighter models on CPUs \\\n                                                                                               (Not properly implemented and currently not working, check this \\\n                                                                                               link 'https://github.com/huggingface/diffusers/pull/537' for more information on it ). Default: False\",\n                )\n\n                # st.session_state[\"defaults\"].general.update_preview = st.checkbox(\"Update Preview Image\", value=st.session_state['defaults'].general.update_preview,\n                # help=\"Enables the preview image to be updated and shown to the user on the UI during the generation.\\\n                # If checked, once you save the settings an option to specify the frequency at which the image is updated\\\n                # in steps will be shown, this is helpful to reduce the negative effect this option has on performance. \\\n                # Default: True\")\n                st.session_state[\"defaults\"].general.update_preview = True\n                st.session_state[\n                    \"defaults\"\n                ].general.update_preview_frequency = st.number_input(\n                    \"Update Preview Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].general.update_preview_frequency,\n                    help=\"Specify the frequency at which the image is updated in steps, this is helpful to reduce the \\\n                                                                                                negative effect updating the preview image has on performance. Default: 10\",\n                )\n\n            with col3:\n                st.title(\"Others\")\n                st.session_state[\n                    \"defaults\"\n                ].general.use_sd_concepts_library = st.checkbox(\n                    \"Use the Concepts Library\",\n                    value=st.session_state[\"defaults\"].general.use_sd_concepts_library,\n                    help=\"Use the embeds Concepts Library, if checked, once the settings are saved an option will\\\n                                                                                           appear to specify the directory where the concepts are stored. Default: True)\",\n                )\n\n                if st.session_state[\"defaults\"].general.use_sd_concepts_library:\n                    st.session_state[\n                        \"defaults\"\n                    ].general.sd_concepts_library_folder = st.text_input(\n                        \"Concepts Library Folder\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].general.sd_concepts_library_folder,\n                        help=\"Relative folder on which the concepts library embeds are stored. \\\n                                                                                                    Default: 'models/custom/sd-concepts-library'\",\n                    )\n\n                st.session_state[\"defaults\"].general.LDSR_dir = st.text_input(\n                    \"LDSR Folder\",\n                    value=st.session_state[\"defaults\"].general.LDSR_dir,\n                    help=\"Folder where LDSR is located. Default: './models/ldsr'\",\n                )\n\n                st.session_state[\"defaults\"].general.save_metadata = st.checkbox(\n                    \"Save Metadata\",\n                    value=st.session_state[\"defaults\"].general.save_metadata,\n                    help=\"Save metadata on the output image. Default: True\",\n                )\n                save_format_list = [\"png\", \"jpg\", \"jpeg\", \"webp\"]\n                st.session_state[\"defaults\"].general.save_format = st.selectbox(\n                    \"Save Format\",\n                    save_format_list,\n                    index=save_format_list.index(\n                        st.session_state[\"defaults\"].general.save_format\n                    ),\n                    help=\"Format that will be used whens saving the output images. Default: 'png'\",\n                )\n\n                st.session_state[\"defaults\"].general.skip_grid = st.checkbox(\n                    \"Skip Grid\",\n                    value=st.session_state[\"defaults\"].general.skip_grid,\n                    help=\"Skip saving the grid output image. Default: False\",\n                )\n                if not st.session_state[\"defaults\"].general.skip_grid:\n                    st.session_state[\"defaults\"].general.grid_quality = st.number_input(\n                        \"Grid Quality\",\n                        value=st.session_state[\"defaults\"].general.grid_quality,\n                        help=\"Format for saving the grid output image. Default: 95\",\n                    )\n\n                st.session_state[\"defaults\"].general.skip_save = st.checkbox(\n                    \"Skip Save\",\n                    value=st.session_state[\"defaults\"].general.skip_save,\n                    help=\"Skip saving the output image. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.n_rows = st.number_input(\n                    \"Number of Grid Rows\",\n                    value=st.session_state[\"defaults\"].general.n_rows,\n                    help=\"Number of rows the grid wil have when saving the grid output image. Default: '-1'\",\n                )\n\n                st.session_state[\"defaults\"].general.no_verify_input = st.checkbox(\n                    \"Do not Verify Input\",\n                    value=st.session_state[\"defaults\"].general.no_verify_input,\n                    help=\"Do not verify input to check if it's too long. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].general.show_percent_in_tab_title = st.checkbox(\n                    \"Show Percent in tab title\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].general.show_percent_in_tab_title,\n                    help=\"Add the progress percent value to the page title on the tab on your browser. \"\n                    \"This is useful in case you need to know how the generation is going while doign something else\"\n                    \"in another tab on your browser. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].general.enable_suggestions = st.checkbox(\n                    \"Enable Suggestions Box\",\n                    value=st.session_state[\"defaults\"].general.enable_suggestions,\n                    help=\"Adds a suggestion box under the prompt when clicked. Default: True\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].daisi_app.running_on_daisi_io = st.checkbox(\n                    \"Running on Daisi.io?\",\n                    value=st.session_state[\"defaults\"].daisi_app.running_on_daisi_io,\n                    help=\"Specify if we are running on app.Daisi.io . Default: False\",\n                )\n\n            with col4:\n                st.title(\"Streamlit Config\")\n\n                default_theme_list = [\"light\", \"dark\"]\n                st.session_state[\"defaults\"].general.default_theme = st.selectbox(\n                    \"Default Theme\",\n                    default_theme_list,\n                    index=default_theme_list.index(\n                        st.session_state[\"defaults\"].general.default_theme\n                    ),\n                    help=\"Defaut theme to use as base for streamlit. Default: dark\",\n                )\n                st.session_state[\"streamlit_config\"][\"theme\"][\n                    \"base\"\n                ] = st.session_state[\"defaults\"].general.default_theme\n\n                if not st.session_state[\"defaults\"].admin.hide_server_setting:\n                    with st.expander(\"Server\", True):\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"headless\"\n                        ] = st.checkbox(\n                            \"Run Headless\",\n                            help=\"If false, will attempt to open a browser window on start.  \\\n                                                                                                 Default: false unless (1) we are on a Linux box where DISPLAY is unset, \\\n                                                                                                 or (2) we are running in the Streamlit Atom plugin.\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"port\"\n                        ] = st.number_input(\n                            \"Port\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"port\"\n                            ],\n                            help=\"The port where the server will listen for browser connections. Default: 8501\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"baseUrlPath\"\n                        ] = st.text_input(\n                            \"Base Url Path\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"baseUrlPath\"\n                            ],\n                            help=\"The base path for the URL where Streamlit should be served from. Default: '' \",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"enableCORS\"\n                        ] = st.checkbox(\n                            \"Enable CORS\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"enableCORS\"\n                            ],\n                            help=\"Enables support for Cross-Origin Request Sharing (CORS) protection, for added security. \\\n                                                                                                   Due to conflicts between CORS and XSRF, if `server.enableXsrfProtection` is on and `server.enableCORS` \\\n                                                                                                   is off at the same time, we will prioritize `server.enableXsrfProtection`. Default: true\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"enableXsrfProtection\"\n                        ] = st.checkbox(\n                            \"Enable Xsrf Protection\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"enableXsrfProtection\"\n                            ],\n                            help=\"Enables support for Cross-Site Request Forgery (XSRF) protection, \\\n                                                                                                             for added security. Due to conflicts between CORS and XSRF, \\\n                                                                                                             if `server.enableXsrfProtection` is on and `server.enableCORS` is off at \\\n                                                                                                             the same time, we will prioritize `server.enableXsrfProtection`. Default: true\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"maxUploadSize\"\n                        ] = st.number_input(\n                            \"Max Upload Size\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"maxUploadSize\"\n                            ],\n                            help=\"Max size, in megabytes, for files uploaded with the file_uploader. Default: 200\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"maxMessageSize\"\n                        ] = st.number_input(\n                            \"Max Message Size\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"maxUploadSize\"\n                            ],\n                            help=\"Max size, in megabytes, of messages that can be sent via the WebSocket connection. Default: 200\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"enableWebsocketCompression\"\n                        ] = st.checkbox(\n                            \"Enable Websocket Compression\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"enableWebsocketCompression\"\n                            ],\n                            help=\" Enables support for websocket compression. Default: false\",\n                        )\n                if not st.session_state[\"defaults\"].admin.hide_browser_setting:\n                    with st.expander(\"Browser\", expanded=True):\n                        st.session_state[\"streamlit_config\"][\"browser\"][\n                            \"serverAddress\"\n                        ] = st.text_input(\n                            \"Server Address\",\n                            value=st.session_state[\"streamlit_config\"][\"browser\"][\n                                \"serverAddress\"\n                            ]\n                            if \"serverAddress\" in st.session_state[\"streamlit_config\"]\n                            else \"localhost\",\n                            help=\"Internet address where users should point their browsers in order \\\n                                                                                                       to connect to the app. Can be IP address or DNS name and path.\\\n                                                                                                       This is used to: - Set the correct URL for CORS and XSRF protection purposes. \\\n                                                                                                       - Show the URL on the terminal - Open the browser. Default: 'localhost'\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].general.streamlit_telemetry = st.checkbox(\n                            \"Enable Telemetry\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].general.streamlit_telemetry,\n                            help=\"Enables or Disables streamlit telemetry. Default: False\",\n                        )\n                        st.session_state[\"streamlit_config\"][\"browser\"][\n                            \"gatherUsageStats\"\n                        ] = st.session_state[\"defaults\"].general.streamlit_telemetry\n\n                        st.session_state[\"streamlit_config\"][\"browser\"][\n                            \"serverPort\"\n                        ] = st.number_input(\n                            \"Server Port\",\n                            value=st.session_state[\"streamlit_config\"][\"browser\"][\n                                \"serverPort\"\n                            ],\n                            help=\"Port where users should point their browsers in order to connect to the app. \\\n                                                                                                 This is used to: - Set the correct URL for CORS and XSRF protection purposes. \\\n                                                                                                 - Show the URL on the terminal - Open the browser \\\n                                                                                                 Default: whatever value is set in server.port.\",\n                        )\n\n            with col5:\n                st.title(\"Huggingface\")\n                st.session_state[\"defaults\"].general.huggingface_token = st.text_input(\n                    \"Huggingface Token\",\n                    value=st.session_state[\"defaults\"].general.huggingface_token,\n                    type=\"password\",\n                    help=\"Your Huggingface Token, it's used to download the model for the diffusers library which \\\n                                                                                       is used on the Text To Video tab. This token will be saved to your user config file\\\n                                                                                       and WILL NOT be share with us or anyone. You can get your access token \\\n                                                                                       at https://huggingface.co/settings/tokens. Default: None\",\n                )\n\n                st.title(\"Stable Horde\")\n                st.session_state[\"defaults\"].general.stable_horde_api = st.text_input(\n                    \"Stable Horde Api\",\n                    value=st.session_state[\"defaults\"].general.stable_horde_api,\n                    type=\"password\",\n                    help=\"First Register an account at https://stablehorde.net/register which will generate for you \\\n                                                                                      an API key. Store that key somewhere safe. \\n \\\n                                                                                      If you do not want to register, you can use `0000000000` as api_key to connect anonymously.\\\n                                                                                      However anonymous accounts have the lowest priority when there's too many concurrent requests! \\\n                                                                                      To increase your priority you will need a unique API key and then to increase your Kudos \\\n                                                                                      read more about them at https://dbzer0.com/blog/the-kudos-based-economy-for-the-koboldai-horde/.\",\n                )\n\n        with txt2img_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"medium\")\n\n            with col1:\n                st.title(\"Slider Parameters\")\n\n                # Width\n                st.session_state[\"defaults\"].txt2img.width.value = st.number_input(\n                    \"Default Image Width\",\n                    value=st.session_state[\"defaults\"].txt2img.width.value,\n                    help=\"Set the default width for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.width.min_value = st.number_input(\n                    \"Minimum Image Width\",\n                    value=st.session_state[\"defaults\"].txt2img.width.min_value,\n                    help=\"Set the default minimum value for the width slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.width.max_value = st.number_input(\n                    \"Maximum Image Width\",\n                    value=st.session_state[\"defaults\"].txt2img.width.max_value,\n                    help=\"Set the default maximum value for the width slider. Default is: 2048\",\n                )\n\n                # Height\n                st.session_state[\"defaults\"].txt2img.height.value = st.number_input(\n                    \"Default Image Height\",\n                    value=st.session_state[\"defaults\"].txt2img.height.value,\n                    help=\"Set the default height for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.height.min_value = st.number_input(\n                    \"Minimum Image Height\",\n                    value=st.session_state[\"defaults\"].txt2img.height.min_value,\n                    help=\"Set the default minimum value for the height slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.height.max_value = st.number_input(\n                    \"Maximum Image Height\",\n                    value=st.session_state[\"defaults\"].txt2img.height.max_value,\n                    help=\"Set the default maximum value for the height slider. Default is: 2048\",\n                )\n\n                with col2:\n                    # CFG\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.cfg_scale.value = st.number_input(\n                        \"Default CFG Scale\",\n                        value=st.session_state[\"defaults\"].txt2img.cfg_scale.value,\n                        help=\"Set the default value for the CFG Scale. Default is: 7.5\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.cfg_scale.min_value = st.number_input(\n                        \"Minimum CFG Scale Value\",\n                        value=st.session_state[\"defaults\"].txt2img.cfg_scale.min_value,\n                        help=\"Set the default minimum value for the CFG scale slider. Default is: 1\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.cfg_scale.step = st.number_input(\n                        \"CFG Slider Steps\",\n                        value=st.session_state[\"defaults\"].txt2img.cfg_scale.step,\n                        help=\"Set the default value for the number of steps on the CFG scale slider. Default is: 0.5\",\n                    )\n                    # Sampling Steps\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.sampling_steps.value = st.number_input(\n                        \"Default Sampling Steps\",\n                        value=st.session_state[\"defaults\"].txt2img.sampling_steps.value,\n                        help=\"Set the default number of sampling steps to use. Default is: 30 (with k_euler)\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.sampling_steps.min_value = st.number_input(\n                        \"Minimum Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.sampling_steps.min_value,\n                        help=\"Set the default minimum value for the sampling steps slider. Default is: 1\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.sampling_steps.step = st.number_input(\n                        \"Sampling Slider Steps\",\n                        value=st.session_state[\"defaults\"].txt2img.sampling_steps.step,\n                        help=\"Set the default value for the number of steps on the sampling steps slider. Default is: 10\",\n                    )\n\n            with col3:\n                st.title(\"General Parameters\")\n\n                # Batch Count\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.batch_count.value = st.number_input(\n                    \"Batch count\",\n                    value=st.session_state[\"defaults\"].txt2img.batch_count.value,\n                    help=\"How many iterations or batches of images to generate in total.\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.batch_size.value = st.number_input(\n                    \"Batch size\",\n                    value=st.session_state.defaults.txt2img.batch_size.value,\n                    help=\"How many images are at once in a batch.\\\n                                                                                        It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it \\\n                                                                                        takes to finish generation as more images are generated at once.\\\n                                                                                        Default: 1\",\n                )\n\n                default_sampler_list = [\n                    \"k_lms\",\n                    \"k_euler\",\n                    \"k_euler_a\",\n                    \"k_dpm_2\",\n                    \"k_dpm_2_a\",\n                    \"k_heun\",\n                    \"PLMS\",\n                    \"DDIM\",\n                ]\n                st.session_state[\"defaults\"].txt2img.default_sampler = st.selectbox(\n                    \"Default Sampler\",\n                    default_sampler_list,\n                    index=default_sampler_list.index(\n                        st.session_state[\"defaults\"].txt2img.default_sampler\n                    ),\n                    help=\"Defaut sampler to use for txt2img. Default: k_euler\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.seed = st.text_input(\n                    \"Default Seed\",\n                    value=st.session_state[\"defaults\"].txt2img.seed,\n                    help=\"Default seed.\",\n                )\n\n            with col4:\n                st.session_state[\"defaults\"].txt2img.separate_prompts = st.checkbox(\n                    \"Separate Prompts\",\n                    value=st.session_state[\"defaults\"].txt2img.separate_prompts,\n                    help=\"Separate Prompts. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.normalize_prompt_weights = st.checkbox(\n                    \"Normalize Prompt Weights\",\n                    value=st.session_state[\"defaults\"].txt2img.normalize_prompt_weights,\n                    help=\"Choose to normalize prompt weights. Default: True\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.save_individual_images = st.checkbox(\n                    \"Save Individual Images\",\n                    value=st.session_state[\"defaults\"].txt2img.save_individual_images,\n                    help=\"Choose to save individual images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.save_grid = st.checkbox(\n                    \"Save Grid Images\",\n                    value=st.session_state[\"defaults\"].txt2img.save_grid,\n                    help=\"Choose to save the grid images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.group_by_prompt = st.checkbox(\n                    \"Group By Prompt\",\n                    value=st.session_state[\"defaults\"].txt2img.group_by_prompt,\n                    help=\"Choose to save images grouped by their prompt. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.save_as_jpg = st.checkbox(\n                    \"Save As JPG\",\n                    value=st.session_state[\"defaults\"].txt2img.save_as_jpg,\n                    help=\"Choose to save images as jpegs. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.write_info_files = st.checkbox(\n                    \"Write Info Files For Images\",\n                    value=st.session_state[\"defaults\"].txt2img.write_info_files,\n                    help=\"Choose to write the info files along with the generated images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.use_GFPGAN = st.checkbox(\n                    \"Use GFPGAN\",\n                    value=st.session_state[\"defaults\"].txt2img.use_GFPGAN,\n                    help=\"Choose to use GFPGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.use_upscaling = st.checkbox(\n                    \"Use Upscaling\",\n                    value=st.session_state[\"defaults\"].txt2img.use_upscaling,\n                    help=\"Choose to turn on upscaling by default. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.update_preview = True\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.update_preview_frequency = st.number_input(\n                    \"Preview Image Update Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].txt2img.update_preview_frequency,\n                    help=\"Set the default value for the frrquency of the preview image updates. Default is: 10\",\n                )\n\n            with col5:\n                st.title(\"Variation Parameters\")\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.variant_amount.value = st.number_input(\n                    \"Default Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_amount.value,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.variant_amount.min_value = st.number_input(\n                    \"Minimum Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_amount.min_value,\n                    help=\"Set the default minimum value for the variation slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.variant_amount.max_value = st.number_input(\n                    \"Maximum Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_amount.max_value,\n                    help=\"Set the default maximum value for the variation slider. Default is: 1.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.variant_amount.step = st.number_input(\n                    \"Variation Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_amount.step,\n                    help=\"Set the default value for the number of steps on the variation slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.variant_seed = st.text_input(\n                    \"Default Variation Seed\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_seed,\n                    help=\"Default variation seed.\",\n                )\n\n        with img2img_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"medium\")\n\n            with col1:\n                st.title(\"Image Editing\")\n\n                # Denoising\n                st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.value = st.number_input(\n                    \"Default Denoising Amount\",\n                    value=st.session_state[\"defaults\"].img2img.denoising_strength.value,\n                    help=\"Set the default denoising to use. Default is: 0.75\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.min_value = st.number_input(\n                    \"Minimum Denoising Amount\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].img2img.denoising_strength.min_value,\n                    help=\"Set the default minimum value for the denoising slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.max_value = st.number_input(\n                    \"Maximum Denoising Amount\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].img2img.denoising_strength.max_value,\n                    help=\"Set the default maximum value for the denoising slider. Default is: 1.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.step = st.number_input(\n                    \"Denoising Slider Steps\",\n                    value=st.session_state[\"defaults\"].img2img.denoising_strength.step,\n                    help=\"Set the default value for the number of steps on the denoising slider. Default is: 0.01\",\n                )\n\n                # Masking\n                st.session_state[\"defaults\"].img2img.mask_mode = st.number_input(\n                    \"Default Mask Mode\",\n                    value=st.session_state[\"defaults\"].img2img.mask_mode,\n                    help=\"Set the default mask mode to use. 0 = Keep Masked Area, 1 = Regenerate Masked Area. Default is: 0\",\n                )\n\n                st.session_state[\"defaults\"].img2img.mask_restore = st.checkbox(\n                    \"Default Mask Restore\",\n                    value=st.session_state[\"defaults\"].img2img.mask_restore,\n                    help=\"Mask Restore. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.resize_mode = st.number_input(\n                    \"Default Resize Mode\",\n                    value=st.session_state[\"defaults\"].img2img.resize_mode,\n                    help=\"Set the default resizing mode. 0 = Just Resize, 1 = Crop and Resize, 3 = Resize and Fill. Default is: 0\",\n                )\n\n            with col2:\n                st.title(\"Slider Parameters\")\n\n                # Width\n                st.session_state[\"defaults\"].img2img.width.value = st.number_input(\n                    \"Default Outputted Image Width\",\n                    value=st.session_state[\"defaults\"].img2img.width.value,\n                    help=\"Set the default width for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].img2img.width.min_value = st.number_input(\n                    \"Minimum Outputted Image Width\",\n                    value=st.session_state[\"defaults\"].img2img.width.min_value,\n                    help=\"Set the default minimum value for the width slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].img2img.width.max_value = st.number_input(\n                    \"Maximum Outputted Image Width\",\n                    value=st.session_state[\"defaults\"].img2img.width.max_value,\n                    help=\"Set the default maximum value for the width slider. Default is: 2048\",\n                )\n\n                # Height\n                st.session_state[\"defaults\"].img2img.height.value = st.number_input(\n                    \"Default Outputted Image Height\",\n                    value=st.session_state[\"defaults\"].img2img.height.value,\n                    help=\"Set the default height for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].img2img.height.min_value = st.number_input(\n                    \"Minimum Outputted Image Height\",\n                    value=st.session_state[\"defaults\"].img2img.height.min_value,\n                    help=\"Set the default minimum value for the height slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].img2img.height.max_value = st.number_input(\n                    \"Maximum Outputted Image Height\",\n                    value=st.session_state[\"defaults\"].img2img.height.max_value,\n                    help=\"Set the default maximum value for the height slider. Default is: 2048\",\n                )\n\n                # CFG\n                st.session_state[\"defaults\"].img2img.cfg_scale.value = st.number_input(\n                    \"Default Img2Img CFG Scale\",\n                    value=st.session_state[\"defaults\"].img2img.cfg_scale.value,\n                    help=\"Set the default value for the CFG Scale. Default is: 7.5\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.cfg_scale.min_value = st.number_input(\n                    \"Minimum Img2Img CFG Scale Value\",\n                    value=st.session_state[\"defaults\"].img2img.cfg_scale.min_value,\n                    help=\"Set the default minimum value for the CFG scale slider. Default is: 1\",\n                )\n\n                with col3:\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.cfg_scale.step = st.number_input(\n                        \"Img2Img CFG Slider Steps\",\n                        value=st.session_state[\"defaults\"].img2img.cfg_scale.step,\n                        help=\"Set the default value for the number of steps on the CFG scale slider. Default is: 0.5\",\n                    )\n\n                    # Sampling Steps\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.sampling_steps.value = st.number_input(\n                        \"Default Img2Img Sampling Steps\",\n                        value=st.session_state[\"defaults\"].img2img.sampling_steps.value,\n                        help=\"Set the default number of sampling steps to use. Default is: 30 (with k_euler)\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.sampling_steps.min_value = st.number_input(\n                        \"Minimum Img2Img Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].img2img.sampling_steps.min_value,\n                        help=\"Set the default minimum value for the sampling steps slider. Default is: 1\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.sampling_steps.step = st.number_input(\n                        \"Img2Img Sampling Slider Steps\",\n                        value=st.session_state[\"defaults\"].img2img.sampling_steps.step,\n                        help=\"Set the default value for the number of steps on the sampling steps slider. Default is: 10\",\n                    )\n\n                    # Batch Count\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.batch_count.value = st.number_input(\n                        \"Img2img Batch count\",\n                        value=st.session_state[\"defaults\"].img2img.batch_count.value,\n                        help=\"How many iterations or batches of images to generate in total.\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.batch_size.value = st.number_input(\n                        \"Img2img Batch size\",\n                        value=st.session_state[\"defaults\"].img2img.batch_size.value,\n                        help=\"How many images are at once in a batch.\\\n                                                                                            It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it \\\n                                                                                            takes to finish generation as more images are generated at once.\\\n                                                                                            Default: 1\",\n                    )\n                    with col4:\n                        # Inference Steps\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.num_inference_steps.value = st.number_input(\n                            \"Default Inference Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.num_inference_steps.value,\n                            help=\"Set the default number of inference steps to use. Default is: 200\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.num_inference_steps.min_value = st.number_input(\n                            \"Minimum Sampling Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.num_inference_steps.min_value,\n                            help=\"Set the default minimum value for the inference steps slider. Default is: 10\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.num_inference_steps.max_value = st.number_input(\n                            \"Maximum Sampling Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.num_inference_steps.max_value,\n                            help=\"Set the default maximum value for the inference steps slider. Default is: 500\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.num_inference_steps.step = st.number_input(\n                            \"Inference Slider Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.num_inference_steps.step,\n                            help=\"Set the default value for the number of steps on the inference steps slider.\\\n                                                                                                        Default is: 10\",\n                        )\n\n                        # Find Noise Steps\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.find_noise_steps.value = st.number_input(\n                            \"Default Find Noise Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.find_noise_steps.value,\n                            help=\"Set the default number of find noise steps to use. Default is: 100\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.find_noise_steps.min_value = st.number_input(\n                            \"Minimum Find Noise Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.find_noise_steps.min_value,\n                            help=\"Set the default minimum value for the find noise steps slider. Default is: 0\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.find_noise_steps.step = st.number_input(\n                            \"Find Noise Slider Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.find_noise_steps.step,\n                            help=\"Set the default value for the number of steps on the find noise steps slider. \\\n                                                                                                     Default is: 100\",\n                        )\n\n            with col5:\n                st.title(\"General Parameters\")\n\n                default_sampler_list = [\n                    \"k_lms\",\n                    \"k_euler\",\n                    \"k_euler_a\",\n                    \"k_dpm_2\",\n                    \"k_dpm_2_a\",\n                    \"k_heun\",\n                    \"PLMS\",\n                    \"DDIM\",\n                ]\n                st.session_state[\"defaults\"].img2img.sampler_name = st.selectbox(\n                    \"Default Img2Img Sampler\",\n                    default_sampler_list,\n                    index=default_sampler_list.index(\n                        st.session_state[\"defaults\"].img2img.sampler_name\n                    ),\n                    help=\"Defaut sampler to use for img2img. Default: k_euler\",\n                )\n\n                st.session_state[\"defaults\"].img2img.seed = st.text_input(\n                    \"Default Img2Img Seed\",\n                    value=st.session_state[\"defaults\"].img2img.seed,\n                    help=\"Default seed.\",\n                )\n\n                st.session_state[\"defaults\"].img2img.separate_prompts = st.checkbox(\n                    \"Separate Img2Img Prompts\",\n                    value=st.session_state[\"defaults\"].img2img.separate_prompts,\n                    help=\"Separate Prompts. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.normalize_prompt_weights = st.checkbox(\n                    \"Normalize Img2Img Prompt Weights\",\n                    value=st.session_state[\"defaults\"].img2img.normalize_prompt_weights,\n                    help=\"Choose to normalize prompt weights. Default: True\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.save_individual_images = st.checkbox(\n                    \"Save Individual Img2Img Images\",\n                    value=st.session_state[\"defaults\"].img2img.save_individual_images,\n                    help=\"Choose to save individual images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].img2img.save_grid = st.checkbox(\n                    \"Save Img2Img Grid Images\",\n                    value=st.session_state[\"defaults\"].img2img.save_grid,\n                    help=\"Choose to save the grid images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].img2img.group_by_prompt = st.checkbox(\n                    \"Group By Img2Img Prompt\",\n                    value=st.session_state[\"defaults\"].img2img.group_by_prompt,\n                    help=\"Choose to save images grouped by their prompt. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.save_as_jpg = st.checkbox(\n                    \"Save Img2Img As JPG\",\n                    value=st.session_state[\"defaults\"].img2img.save_as_jpg,\n                    help=\"Choose to save images as jpegs. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.write_info_files = st.checkbox(\n                    \"Write Info Files For Img2Img Images\",\n                    value=st.session_state[\"defaults\"].img2img.write_info_files,\n                    help=\"Choose to write the info files along with the generated images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].img2img.use_GFPGAN = st.checkbox(\n                    \"Img2Img Use GFPGAN\",\n                    value=st.session_state[\"defaults\"].img2img.use_GFPGAN,\n                    help=\"Choose to use GFPGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.use_RealESRGAN = st.checkbox(\n                    \"Img2Img Use RealESRGAN\",\n                    value=st.session_state[\"defaults\"].img2img.use_RealESRGAN,\n                    help=\"Choose to use RealESRGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.update_preview = True\n                st.session_state[\n                    \"defaults\"\n                ].img2img.update_preview_frequency = st.number_input(\n                    \"Img2Img Preview Image Update Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].img2img.update_preview_frequency,\n                    help=\"Set the default value for the frrquency of the preview image updates. Default is: 10\",\n                )\n\n                st.title(\"Variation Parameters\")\n\n                st.session_state[\"defaults\"].img2img.variant_amount = st.number_input(\n                    \"Default Img2Img Variation Amount\",\n                    value=st.session_state[\"defaults\"].img2img.variant_amount,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                # I THINK THESE ARE MISSING FROM THE CONFIG FILE\n                # st.session_state[\"defaults\"].img2img.variant_amount.min_value = st.number_input(\"Minimum Img2Img Variation Amount\",\n                # value=st.session_state['defaults'].img2img.variant_amount.min_value, help=\"Set the default minimum value for the variation slider. Default is: 0.0\"))\n\n                # st.session_state[\"defaults\"].img2img.variant_amount.max_value = st.number_input(\"Maximum Img2Img Variation Amount\",\n                # value=st.session_state['defaults'].img2img.variant_amount.max_value, help=\"Set the default maximum value for the variation slider. Default is: 1.0\"))\n\n                # st.session_state[\"defaults\"].img2img.variant_amount.step = st.number_input(\"Img2Img Variation Slider Steps\",\n                # value=st.session_state['defaults'].img2img.variant_amount.step, help=\"Set the default value for the number of steps on the variation slider. Default is: 1\"))\n\n                st.session_state[\"defaults\"].img2img.variant_seed = st.text_input(\n                    \"Default Img2Img Variation Seed\",\n                    value=st.session_state[\"defaults\"].img2img.variant_seed,\n                    help=\"Default variation seed.\",\n                )\n\n        with img2txt_tab:\n            col1 = st.columns(1, gap=\"large\")\n\n            st.title(\"Image-To-Text\")\n\n            st.session_state[\"defaults\"].img2txt.batch_size = st.number_input(\n                \"Default Img2Txt Batch Size\",\n                value=st.session_state[\"defaults\"].img2txt.batch_size,\n                help=\"Set the default batch size for Img2Txt. Default is: 420?\",\n            )\n\n            st.session_state[\"defaults\"].img2txt.blip_image_eval_size = st.number_input(\n                \"Default Blip Image Size Evaluation\",\n                value=st.session_state[\"defaults\"].img2txt.blip_image_eval_size,\n                help=\"Set the default value for the blip image evaluation size. Default is: 512\",\n            )\n\n        with txt2vid_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"medium\")\n\n            with col1:\n                st.title(\"Slider Parameters\")\n\n                # Width\n                st.session_state[\"defaults\"].txt2vid.width.value = st.number_input(\n                    \"Default txt2vid Image Width\",\n                    value=st.session_state[\"defaults\"].txt2vid.width.value,\n                    help=\"Set the default width for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.width.min_value = st.number_input(\n                    \"Minimum txt2vid Image Width\",\n                    value=st.session_state[\"defaults\"].txt2vid.width.min_value,\n                    help=\"Set the default minimum value for the width slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.width.max_value = st.number_input(\n                    \"Maximum txt2vid Image Width\",\n                    value=st.session_state[\"defaults\"].txt2vid.width.max_value,\n                    help=\"Set the default maximum value for the width slider. Default is: 2048\",\n                )\n\n                # Height\n                st.session_state[\"defaults\"].txt2vid.height.value = st.number_input(\n                    \"Default txt2vid Image Height\",\n                    value=st.session_state[\"defaults\"].txt2vid.height.value,\n                    help=\"Set the default height for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.height.min_value = st.number_input(\n                    \"Minimum txt2vid Image Height\",\n                    value=st.session_state[\"defaults\"].txt2vid.height.min_value,\n                    help=\"Set the default minimum value for the height slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.height.max_value = st.number_input(\n                    \"Maximum txt2vid Image Height\",\n                    value=st.session_state[\"defaults\"].txt2vid.height.max_value,\n                    help=\"Set the default maximum value for the height slider. Default is: 2048\",\n                )\n\n                # CFG\n                st.session_state[\"defaults\"].txt2vid.cfg_scale.value = st.number_input(\n                    \"Default txt2vid CFG Scale\",\n                    value=st.session_state[\"defaults\"].txt2vid.cfg_scale.value,\n                    help=\"Set the default value for the CFG Scale. Default is: 7.5\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.cfg_scale.min_value = st.number_input(\n                    \"Minimum txt2vid CFG Scale Value\",\n                    value=st.session_state[\"defaults\"].txt2vid.cfg_scale.min_value,\n                    help=\"Set the default minimum value for the CFG scale slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.cfg_scale.step = st.number_input(\n                    \"txt2vid CFG Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2vid.cfg_scale.step,\n                    help=\"Set the default value for the number of steps on the CFG scale slider. Default is: 0.5\",\n                )\n\n                with col2:\n                    # Sampling Steps\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.sampling_steps.value = st.number_input(\n                        \"Default txt2vid Sampling Steps\",\n                        value=st.session_state[\"defaults\"].txt2vid.sampling_steps.value,\n                        help=\"Set the default number of sampling steps to use. Default is: 30 (with k_euler)\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.sampling_steps.min_value = st.number_input(\n                        \"Minimum txt2vid Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.sampling_steps.min_value,\n                        help=\"Set the default minimum value for the sampling steps slider. Default is: 1\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.sampling_steps.step = st.number_input(\n                        \"txt2vid Sampling Slider Steps\",\n                        value=st.session_state[\"defaults\"].txt2vid.sampling_steps.step,\n                        help=\"Set the default value for the number of steps on the sampling steps slider. Default is: 10\",\n                    )\n\n                    # Batch Count\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.batch_count.value = st.number_input(\n                        \"txt2vid Batch count\",\n                        value=st.session_state[\"defaults\"].txt2vid.batch_count.value,\n                        help=\"How many iterations or batches of images to generate in total.\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.batch_size.value = st.number_input(\n                        \"txt2vid Batch size\",\n                        value=st.session_state.defaults.txt2vid.batch_size.value,\n                        help=\"How many images are at once in a batch.\\\n                                                                                            It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it \\\n                                                                                            takes to finish generation as more images are generated at once.\\\n                                                                                            Default: 1\",\n                    )\n\n                    # Inference Steps\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.num_inference_steps.value = st.number_input(\n                        \"Default Txt2Vid Inference Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.num_inference_steps.value,\n                        help=\"Set the default number of inference steps to use. Default is: 200\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.num_inference_steps.min_value = st.number_input(\n                        \"Minimum Txt2Vid Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.num_inference_steps.min_value,\n                        help=\"Set the default minimum value for the inference steps slider. Default is: 10\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.num_inference_steps.max_value = st.number_input(\n                        \"Maximum Txt2Vid Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.num_inference_steps.max_value,\n                        help=\"Set the default maximum value for the inference steps slider. Default is: 500\",\n                    )\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.num_inference_steps.step = st.number_input(\n                        \"Txt2Vid Inference Slider Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.num_inference_steps.step,\n                        help=\"Set the default value for the number of steps on the inference steps slider. Default is: 10\",\n                    )\n\n            with col3:\n                st.title(\"General Parameters\")\n\n                st.session_state[\"defaults\"].txt2vid.default_model = st.text_input(\n                    \"Default Txt2Vid Model\",\n                    value=st.session_state[\"defaults\"].txt2vid.default_model,\n                    help=\"Default: CompVis/stable-diffusion-v1-4\",\n                )\n\n                # INSERT CUSTOM_MODELS_LIST HERE\n\n                default_sampler_list = [\n                    \"k_lms\",\n                    \"k_euler\",\n                    \"k_euler_a\",\n                    \"k_dpm_2\",\n                    \"k_dpm_2_a\",\n                    \"k_heun\",\n                    \"PLMS\",\n                    \"DDIM\",\n                ]\n                st.session_state[\"defaults\"].txt2vid.default_sampler = st.selectbox(\n                    \"Default txt2vid Sampler\",\n                    default_sampler_list,\n                    index=default_sampler_list.index(\n                        st.session_state[\"defaults\"].txt2vid.default_sampler\n                    ),\n                    help=\"Defaut sampler to use for txt2vid. Default: k_euler\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.seed = st.text_input(\n                    \"Default txt2vid Seed\",\n                    value=st.session_state[\"defaults\"].txt2vid.seed,\n                    help=\"Default seed.\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.scheduler_name = st.text_input(\n                    \"Default Txt2Vid Scheduler\",\n                    value=st.session_state[\"defaults\"].txt2vid.scheduler_name,\n                    help=\"Default scheduler.\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.separate_prompts = st.checkbox(\n                    \"Separate txt2vid Prompts\",\n                    value=st.session_state[\"defaults\"].txt2vid.separate_prompts,\n                    help=\"Separate Prompts. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.normalize_prompt_weights = st.checkbox(\n                    \"Normalize txt2vid Prompt Weights\",\n                    value=st.session_state[\"defaults\"].txt2vid.normalize_prompt_weights,\n                    help=\"Choose to normalize prompt weights. Default: True\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.save_individual_images = st.checkbox(\n                    \"Save Individual txt2vid Images\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_individual_images,\n                    help=\"Choose to save individual images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.save_video = st.checkbox(\n                    \"Save Txt2Vid Video\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_video,\n                    help=\"Choose to save the Txt2Vid video. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.save_video_on_stop = st.checkbox(\n                    \"Save video on Stop\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_video_on_stop,\n                    help=\"Save a video with all the images generated as frames when we hit the stop button \\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  during a generation.\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.group_by_prompt = st.checkbox(\n                    \"Group By txt2vid Prompt\",\n                    value=st.session_state[\"defaults\"].txt2vid.group_by_prompt,\n                    help=\"Choose to save images grouped by their prompt. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.save_as_jpg = st.checkbox(\n                    \"Save txt2vid As JPG\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_as_jpg,\n                    help=\"Choose to save images as jpegs. Default: False\",\n                )\n\n                # Need more info for the Help dialog...\n                st.session_state[\"defaults\"].txt2vid.do_loop = st.checkbox(\n                    \"Loop Generations\",\n                    value=st.session_state[\"defaults\"].txt2vid.do_loop,\n                    help=\"Choose to loop or something, IDK.... Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.max_duration_in_seconds = st.number_input(\n                    \"Txt2Vid Max Duration in Seconds\",\n                    value=st.session_state[\"defaults\"].txt2vid.max_duration_in_seconds,\n                    help=\"Set the default value for the max duration in seconds for the video generated. Default is: 30\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.write_info_files = st.checkbox(\n                    \"Write Info Files For txt2vid Images\",\n                    value=st.session_state[\"defaults\"].txt2vid.write_info_files,\n                    help=\"Choose to write the info files along with the generated images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.use_GFPGAN = st.checkbox(\n                    \"txt2vid Use GFPGAN\",\n                    value=st.session_state[\"defaults\"].txt2vid.use_GFPGAN,\n                    help=\"Choose to use GFPGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.use_RealESRGAN = st.checkbox(\n                    \"txt2vid Use RealESRGAN\",\n                    value=st.session_state[\"defaults\"].txt2vid.use_RealESRGAN,\n                    help=\"Choose to use RealESRGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.update_preview = True\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.update_preview_frequency = st.number_input(\n                    \"txt2vid Preview Image Update Frequency\",\n                    value=st.session_state[\"defaults\"].txt2vid.update_preview_frequency,\n                    help=\"Set the default value for the frrquency of the preview image updates. Default is: 10\",\n                )\n\n            with col4:\n                st.title(\"Variation Parameters\")\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.variant_amount.value = st.number_input(\n                    \"Default txt2vid Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.value,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.variant_amount.min_value = st.number_input(\n                    \"Minimum txt2vid Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.min_value,\n                    help=\"Set the default minimum value for the variation slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.variant_amount.max_value = st.number_input(\n                    \"Maximum txt2vid Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.max_value,\n                    help=\"Set the default maximum value for the variation slider. Default is: 1.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.variant_amount.step = st.number_input(\n                    \"txt2vid Variation Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.step,\n                    help=\"Set the default value for the number of steps on the variation slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.variant_seed = st.text_input(\n                    \"Default txt2vid Variation Seed\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_seed,\n                    help=\"Default variation seed.\",\n                )\n\n            with col5:\n                st.title(\"Beta Parameters\")\n\n                # Beta Start\n                st.session_state[\"defaults\"].txt2vid.beta_start.value = st.number_input(\n                    \"Default txt2vid Beta Start Value\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.value,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.beta_start.min_value = st.number_input(\n                    \"Minimum txt2vid Beta Start Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.min_value,\n                    help=\"Set the default minimum value for the variation slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.beta_start.max_value = st.number_input(\n                    \"Maximum txt2vid Beta Start Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.max_value,\n                    help=\"Set the default maximum value for the variation slider. Default is: 1.0\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.beta_start.step = st.number_input(\n                    \"txt2vid Beta Start Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.step,\n                    help=\"Set the default value for the number of steps on the variation slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.beta_start.format = st.text_input(\n                    \"Default txt2vid Beta Start Format\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.format,\n                    help=\"Set the default Beta Start Format. Default is: %.5\\f\",\n                )\n\n                # Beta End\n                st.session_state[\"defaults\"].txt2vid.beta_end.value = st.number_input(\n                    \"Default txt2vid Beta End Value\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_end.value,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.beta_end.min_value = st.number_input(\n                    \"Minimum txt2vid Beta End Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_end.min_value,\n                    help=\"Set the default minimum value for the variation slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.beta_end.max_value = st.number_input(\n                    \"Maximum txt2vid Beta End Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_end.max_value,\n                    help=\"Set the default maximum value for the variation slider. Default is: 1.0\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.beta_end.step = st.number_input(\n                    \"txt2vid Beta End Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_end.step,\n                    help=\"Set the default value for the number of steps on the variation slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.beta_end.format = st.text_input(\n                    \"Default txt2vid Beta End Format\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.format,\n                    help=\"Set the default Beta Start Format. Default is: %.5\\f\",\n                )\n\n        with image_processing:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"large\")\n\n            with col1:\n                st.title(\"GFPGAN\")\n\n                st.session_state[\"defaults\"].gfpgan.strength = st.number_input(\n                    \"Default Img2Txt Batch Size\",\n                    value=st.session_state[\"defaults\"].gfpgan.strength,\n                    help=\"Set the default global strength for GFPGAN. Default is: 100\",\n                )\n            with col2:\n                st.title(\"GoBig\")\n            with col3:\n                st.title(\"RealESRGAN\")\n            with col4:\n                st.title(\"LDSR\")\n            with col5:\n                st.title(\"GoLatent\")\n\n        with textual_inversion_tab:\n            st.title(\"Textual Inversion\")\n\n            st.session_state[\n                \"defaults\"\n            ].textual_inversion.pretrained_model_name_or_path = st.text_input(\n                \"Default Textual Inversion Model Path\",\n                value=st.session_state[\n                    \"defaults\"\n                ].textual_inversion.pretrained_model_name_or_path,\n                help=\"Default: models/ldm/stable-diffusion-v1-4\",\n            )\n\n            st.session_state[\n                \"defaults\"\n            ].textual_inversion.tokenizer_name = st.text_input(\n                \"Default Img2Img Variation Seed\",\n                value=st.session_state[\"defaults\"].textual_inversion.tokenizer_name,\n                help=\"Default tokenizer seed.\",\n            )\n\n        with concepts_library_tab:\n            st.title(\"Concepts Library\")\n            # st.info(\"Under Construction. :construction_worker:\")\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"large\")\n            with col1:\n                st.session_state[\n                    \"defaults\"\n                ].concepts_library.concepts_per_page = st.number_input(\n                    \"Concepts Per Page\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].concepts_library.concepts_per_page,\n                    help=\"Number of concepts per page to show on the Concepts Library. Default: '12'\",\n                )\n\n        # add space for the buttons at the bottom\n        st.markdown(\"---\")\n\n        # We need a submit button to save the Settings\n        # as well as one to reset them to the defaults, just in case.\n        _, _, save_button_col, reset_button_col, _, _ = st.columns(\n            [1, 1, 1, 1, 1, 1], gap=\"large\"\n        )\n        with save_button_col:\n            save_button = st.form_submit_button(\"Save\")\n\n        with reset_button_col:\n            reset_button = st.form_submit_button(\"Reset\")\n\n        if save_button:\n            OmegaConf.save(\n                config=st.session_state.defaults,\n                f=\"configs/webui/userconfig_streamlit.yaml\",\n            )\n            loaded = OmegaConf.load(\"configs/webui/userconfig_streamlit.yaml\")\n            assert st.session_state.defaults == loaded\n\n            #\n            if os.path.exists(\".streamlit/config.toml\"):\n                with open(\".streamlit/config.toml\", \"w\") as toml_file:\n                    toml.dump(st.session_state[\"streamlit_config\"], toml_file)\n\n        if reset_button:\n            st.session_state[\"defaults\"] = OmegaConf.load(\n                \"configs/webui/webui_streamlit.yaml\"\n            )\n            st.experimental_rerun()\n"
  },
  {
    "path": "scripts/__init__.py",
    "content": ""
  },
  {
    "path": "scripts/barfi_baklavajs.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sandbox-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from sd_utils import *\nfrom sd_utils import st\n\n# streamlit imports\n\n# streamlit components section\n\n# other imports\nfrom barfi import st_barfi, barfi_schemas, Block\n\n# Temp imports\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\ndef layout():\n    # st.info(\"Under Construction. :construction_worker:\")\n\n    # from barfi import st_barfi, Block\n\n    # add = Block(name='Addition')\n    # sub = Block(name='Subtraction')\n    # mul = Block(name='Multiplication')\n    # div = Block(name='Division')\n\n    # barfi_result = st_barfi(base_blocks= [add, sub, mul, div])\n    # or if you want to use a category to organise them in the frontend sub-menu\n    # barfi_result = st_barfi(base_blocks= {'Op 1': [add, sub], 'Op 2': [mul, div]})\n\n    col1, col2, col3 = st.columns([1, 8, 1])\n\n    with col2:\n        feed = Block(name=\"Feed\")\n        feed.add_output()\n\n        def feed_func(self):\n            self.set_interface(name=\"Output 1\", value=4)\n\n        feed.add_compute(feed_func)\n\n        splitter = Block(name=\"Splitter\")\n        splitter.add_input()\n        splitter.add_output()\n        splitter.add_output()\n\n        def splitter_func(self):\n            in_1 = self.get_interface(name=\"Input 1\")\n            value = in_1 / 2\n            self.set_interface(name=\"Output 1\", value=value)\n            self.set_interface(name=\"Output 2\", value=value)\n\n        splitter.add_compute(splitter_func)\n\n        mixer = Block(name=\"Mixer\")\n        mixer.add_input()\n        mixer.add_input()\n        mixer.add_output()\n\n        def mixer_func(self):\n            in_1 = self.get_interface(name=\"Input 1\")\n            in_2 = self.get_interface(name=\"Input 2\")\n            value = in_1 + in_2\n            self.set_interface(name=\"Output 1\", value=value)\n\n        mixer.add_compute(mixer_func)\n\n        result = Block(name=\"Result\")\n        result.add_input()\n\n        def result_func(self):\n            self.get_interface(name=\"Input 1\")\n\n        result.add_compute(result_func)\n\n        load_schema = st.selectbox(\"Select a saved schema:\", barfi_schemas())\n\n        compute_engine = st.checkbox(\"Activate barfi compute engine\", value=False)\n\n        barfi_result = st_barfi(\n            base_blocks=[feed, result, mixer, splitter],\n            compute_engine=compute_engine,\n            load_schema=load_schema,\n        )\n\n        if barfi_result:\n            st.write(barfi_result)\n"
  },
  {
    "path": "scripts/bridgeData_template.py",
    "content": "# The horde url\nhorde_url = \"https://stablehorde.net\"\n# Give a cool name to your instance\nhorde_name = \"My Awesome Instance\"\n# The api_key identifies a unique user in the horde\n# Visit https://stablehorde.net/register to create one before you can join\nhorde_api_key = \"0000000000\"\n# Put other users whose prompts you want to prioritize.\n# The owner's username is always included so you don't need to add it here, unless you want it to have lower priority than another user\nhorde_priority_usernames = []\n# The amount of power your system can handle\n# 8 means 512*512. Each increase increases the possible resoluion by 64 pixes\n# So if you put this to 2 (the minimum, your SD can only generate 64x64 pixels\n# If you put this to 32, it is equivalent to 1024x1024 pixels\nhorde_max_power = 8\n# Set this to false, if you do not want your worker to receive requests for NSFW generations\nhorde_nsfw = True\n# A list of words which you do not want to your worker to accept\nhorde_blacklist = []\n# A list of words for which you always want to allow the NSFW censor filter, even when this worker is in NSFW mode\nhorde_censorlist = []\n"
  },
  {
    "path": "scripts/clip_interrogator.py",
    "content": "# @title Setup\n#!pip3 install ftfy regex tqdm transformers==4.15.0 timm==0.4.12 fairscale==0.4.4\n#!pip3 install git+https://github.com/openai/CLIP.git\n#!git clone https://github.com/pharmapsychotic/clip-interrogator.git\n#!git clone https://github.com/salesforce/BLIP\n# %cd /content/BLIP\n\nimport clip\nimport gc\n\n# import numpy as np\nimport os\nimport pandas as pd\nimport requests\nimport torch\n\n# import torchvision.transforms as T\n# import torchvision.transforms.functional as TF\n\nfrom IPython.display import display\nfrom PIL import Image\n\n# from torch import nn\n# from torch.nn import functional as F\nfrom torchvision import transforms\nfrom torchvision.transforms.functional import InterpolationMode\nfrom ldm.models.blip import blip_decoder\n\ndevice = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\n\nblip_image_eval_size = 384\nblip_model_url = \"https://storage.googleapis.com/sfr-vision-language-research/BLIP/models/model*_base_caption.pth\"\nblip_model = blip_decoder(\n    pretrained=blip_model_url, image_size=blip_image_eval_size, vit=\"base\"\n)\nblip_model.eval()\nblip_model = blip_model.to(device)\n\n\ndef generate_caption(pil_image):\n    gpu_image = (\n        transforms.Compose(\n            [\n                transforms.Resize(\n                    (blip_image_eval_size, blip_image_eval_size),\n                    interpolation=InterpolationMode.BICUBIC,\n                ),\n                transforms.ToTensor(),\n                transforms.Normalize(\n                    (0.48145466, 0.4578275, 0.40821073),\n                    (0.26862954, 0.26130258, 0.27577711),\n                ),\n            ]\n        )(image)\n        .unsqueeze(0)\n        .to(device)\n    )\n\n    with torch.no_grad():\n        caption = blip_model.generate(\n            gpu_image, sample=False, num_beams=3, max_length=20, min_length=5\n        )\n    return caption[0]\n\n\ndef load_list(filename):\n    with open(filename, \"r\", encoding=\"utf-8\", errors=\"replace\") as f:\n        items = [line.strip() for line in f.readlines()]\n    return items\n\n\ndef rank(model, image_features, text_array, top_count=1):\n    top_count = min(top_count, len(text_array))\n    text_tokens = clip.tokenize([text for text in text_array]).cuda()\n    with torch.no_grad():\n        text_features = model.encode_text(text_tokens).float()\n    text_features /= text_features.norm(dim=-1, keepdim=True)\n\n    similarity = torch.zeros((1, len(text_array))).to(device)\n    for i in range(image_features.shape[0]):\n        similarity += (\n            100.0 * image_features[i].unsqueeze(0) @ text_features.T\n        ).softmax(dim=-1)\n    similarity /= image_features.shape[0]\n\n    top_probs, top_labels = similarity.cpu().topk(top_count, dim=-1)\n    return [\n        (text_array[top_labels[0][i].numpy()], (top_probs[0][i].numpy() * 100))\n        for i in range(top_count)\n    ]\n\n\ndef interrogate(image, models):\n    caption = generate_caption(image)\n    if len(models) == 0:\n        print(f\"\\n\\n{caption}\")\n        return\n\n    table = []\n    bests = [[(\"\", 0)]] * 5\n    for model_name in models:\n        print(f\"Interrogating with {model_name}...\")\n        model, preprocess = clip.load(model_name)\n        model.cuda().eval()\n\n        images = preprocess(image).unsqueeze(0).cuda()\n        with torch.no_grad():\n            image_features = model.encode_image(images).float()\n        image_features /= image_features.norm(dim=-1, keepdim=True)\n\n        ranks = [\n            rank(model, image_features, mediums),\n            rank(model, image_features, [\"by \" + artist for artist in artists]),\n            rank(model, image_features, trending_list),\n            rank(model, image_features, movements),\n            rank(model, image_features, flavors, top_count=3),\n        ]\n\n        for i in range(len(ranks)):\n            confidence_sum = 0\n            for ci in range(len(ranks[i])):\n                confidence_sum += ranks[i][ci][1]\n            if confidence_sum > sum(bests[i][t][1] for t in range(len(bests[i]))):\n                bests[i] = ranks[i]\n\n        row = [model_name]\n        for r in ranks:\n            row.append(\", \".join([f\"{x[0]} ({x[1]:0.1f}%)\" for x in r]))\n\n        table.append(row)\n\n        del model\n        gc.collect()\n    display(\n        pd.DataFrame(\n            table,\n            columns=[\"Model\", \"Medium\", \"Artist\", \"Trending\", \"Movement\", \"Flavors\"],\n        )\n    )\n\n    flaves = \", \".join([f\"{x[0]}\" for x in bests[4]])\n    medium = bests[0][0][0]\n    if caption.startswith(medium):\n        print(\n            f\"\\n\\n{caption} {bests[1][0][0]}, {bests[2][0][0]}, {bests[3][0][0]}, {flaves}\"\n        )\n    else:\n        print(\n            f\"\\n\\n{caption}, {medium} {bests[1][0][0]}, {bests[2][0][0]}, {bests[3][0][0]}, {flaves}\"\n        )\n\n\ndata_path = \"../clip-interrogator/data/\"\n\nartists = load_list(os.path.join(data_path, \"artists.txt\"))\nflavors = load_list(os.path.join(data_path, \"flavors.txt\"))\nmediums = load_list(os.path.join(data_path, \"mediums.txt\"))\nmovements = load_list(os.path.join(data_path, \"movements.txt\"))\n\nsites = [\n    \"Artstation\",\n    \"behance\",\n    \"cg society\",\n    \"cgsociety\",\n    \"deviantart\",\n    \"dribble\",\n    \"flickr\",\n    \"instagram\",\n    \"pexels\",\n    \"pinterest\",\n    \"pixabay\",\n    \"pixiv\",\n    \"polycount\",\n    \"reddit\",\n    \"shutterstock\",\n    \"tumblr\",\n    \"unsplash\",\n    \"zbrush central\",\n]\ntrending_list = [site for site in sites]\ntrending_list.extend([\"trending on \" + site for site in sites])\ntrending_list.extend([\"featured on \" + site for site in sites])\ntrending_list.extend([site + \" contest winner\" for site in sites])\n\n# @title Interrogate!\n\n# @markdown\n\n# @markdown #####**Image:**\n\nimage_path_or_url = \"https://i.redd.it/e2e8gimigjq91.jpg\"  # @param {type:\"string\"}\n\n# @markdown\n\n# @markdown #####**CLIP models:**\n\n# @markdown For [StableDiffusion](https://stability.ai/blog/stable-diffusion-announcement) you can just use ViTL14<br>\n# @markdown For [DiscoDiffusion](https://colab.research.google.com/github/alembics/disco-diffusion/blob/main/Disco_Diffusion.ipynb) and\n# @markdown [JAX](https://colab.research.google.com/github/huemin-art/jax-guided-diffusion/blob/v2.7/Huemin_Jax_Diffusion_2_7.ipynb) enable all the same models here as you intend to use when generating your images\n\nViTB32 = True  # @param{type:\"boolean\"}\nViTB16 = True  # @param{type:\"boolean\"}\nViTL14 = False  # @param{type:\"boolean\"}\nViTL14_336px = False  # @param{type:\"boolean\"}\nRN101 = False  # @param{type:\"boolean\"}\nRN50 = True  # @param{type:\"boolean\"}\nRN50x4 = False  # @param{type:\"boolean\"}\nRN50x16 = False  # @param{type:\"boolean\"}\nRN50x64 = False  # @param{type:\"boolean\"}\n\nmodels = []\nif ViTB32:\n    models.append(\"ViT-B/32\")\nif ViTB16:\n    models.append(\"ViT-B/16\")\nif ViTL14:\n    models.append(\"ViT-L/14\")\nif ViTL14_336px:\n    models.append(\"ViT-L/14@336px\")\nif RN101:\n    models.append(\"RN101\")\nif RN50:\n    models.append(\"RN50\")\nif RN50x4:\n    models.append(\"RN50x4\")\nif RN50x16:\n    models.append(\"RN50x16\")\nif RN50x64:\n    models.append(\"RN50x64\")\n\nif str(image_path_or_url).startswith(\"http://\") or str(image_path_or_url).startswith(\n    \"https://\"\n):\n    image = Image.open(requests.get(image_path_or_url, stream=True).raw).convert(\"RGB\")\nelse:\n    image = Image.open(image_path_or_url).convert(\"RGB\")\n\nthumb = image.copy()\nthumb.thumbnail([blip_image_eval_size, blip_image_eval_size])\ndisplay(thumb)\n\ninterrogate(image, models=models)\n"
  },
  {
    "path": "scripts/convert_original_stable_diffusion_to_diffusers.py",
    "content": "# coding=utf-8\n# Copyright 2022 The HuggingFace Inc. team.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     http://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\"\"\" Conversion script for the LDM checkpoints. \"\"\"\n\nimport argparse\nimport os\n\nimport torch\n\n\ntry:\n    from omegaconf import OmegaConf\nexcept ImportError:\n    raise ImportError(\n        \"OmegaConf is required to convert the LDM checkpoints. Please install it with `pip install OmegaConf`.\"\n    )\n\nfrom diffusers import (\n    AutoencoderKL,\n    DDIMScheduler,\n    # DPMSolverMultistepScheduler,\n    EulerAncestralDiscreteScheduler,\n    EulerDiscreteScheduler,\n    LDMTextToImagePipeline,\n    LMSDiscreteScheduler,\n    PNDMScheduler,\n    StableDiffusionPipeline,\n    UNet2DConditionModel,\n)\nfrom diffusers.pipelines.latent_diffusion.pipeline_latent_diffusion import (\n    LDMBertConfig,\n    LDMBertModel,\n)\nfrom diffusers.pipelines.stable_diffusion import StableDiffusionSafetyChecker\nfrom transformers import (\n    AutoFeatureExtractor,\n    BertTokenizerFast,\n    CLIPTextModel,\n    CLIPTokenizer,\n)\n\n\ndef shave_segments(path, n_shave_prefix_segments=1):\n    \"\"\"\n    Removes segments. Positive values shave the first segments, negative shave the last segments.\n    \"\"\"\n    if n_shave_prefix_segments >= 0:\n        return \".\".join(path.split(\".\")[n_shave_prefix_segments:])\n    else:\n        return \".\".join(path.split(\".\")[:n_shave_prefix_segments])\n\n\ndef renew_resnet_paths(old_list, n_shave_prefix_segments=0):\n    \"\"\"\n    Updates paths inside resnets to the new naming scheme (local renaming)\n    \"\"\"\n    mapping = []\n    for old_item in old_list:\n        new_item = old_item.replace(\"in_layers.0\", \"norm1\")\n        new_item = new_item.replace(\"in_layers.2\", \"conv1\")\n\n        new_item = new_item.replace(\"out_layers.0\", \"norm2\")\n        new_item = new_item.replace(\"out_layers.3\", \"conv2\")\n\n        new_item = new_item.replace(\"emb_layers.1\", \"time_emb_proj\")\n        new_item = new_item.replace(\"skip_connection\", \"conv_shortcut\")\n\n        new_item = shave_segments(\n            new_item, n_shave_prefix_segments=n_shave_prefix_segments\n        )\n\n        mapping.append({\"old\": old_item, \"new\": new_item})\n\n    return mapping\n\n\ndef renew_vae_resnet_paths(old_list, n_shave_prefix_segments=0):\n    \"\"\"\n    Updates paths inside resnets to the new naming scheme (local renaming)\n    \"\"\"\n    mapping = []\n    for old_item in old_list:\n        new_item = old_item\n\n        new_item = new_item.replace(\"nin_shortcut\", \"conv_shortcut\")\n        new_item = shave_segments(\n            new_item, n_shave_prefix_segments=n_shave_prefix_segments\n        )\n\n        mapping.append({\"old\": old_item, \"new\": new_item})\n\n    return mapping\n\n\ndef renew_attention_paths(old_list, n_shave_prefix_segments=0):\n    \"\"\"\n    Updates paths inside attentions to the new naming scheme (local renaming)\n    \"\"\"\n    mapping = []\n    for old_item in old_list:\n        new_item = old_item\n\n        #         new_item = new_item.replace('norm.weight', 'group_norm.weight')\n        #         new_item = new_item.replace('norm.bias', 'group_norm.bias')\n\n        #         new_item = new_item.replace('proj_out.weight', 'proj_attn.weight')\n        #         new_item = new_item.replace('proj_out.bias', 'proj_attn.bias')\n\n        #         new_item = shave_segments(new_item, n_shave_prefix_segments=n_shave_prefix_segments)\n\n        mapping.append({\"old\": old_item, \"new\": new_item})\n\n    return mapping\n\n\ndef renew_vae_attention_paths(old_list, n_shave_prefix_segments=0):\n    \"\"\"\n    Updates paths inside attentions to the new naming scheme (local renaming)\n    \"\"\"\n    mapping = []\n    for old_item in old_list:\n        new_item = old_item\n\n        new_item = new_item.replace(\"norm.weight\", \"group_norm.weight\")\n        new_item = new_item.replace(\"norm.bias\", \"group_norm.bias\")\n\n        new_item = new_item.replace(\"q.weight\", \"query.weight\")\n        new_item = new_item.replace(\"q.bias\", \"query.bias\")\n\n        new_item = new_item.replace(\"k.weight\", \"key.weight\")\n        new_item = new_item.replace(\"k.bias\", \"key.bias\")\n\n        new_item = new_item.replace(\"v.weight\", \"value.weight\")\n        new_item = new_item.replace(\"v.bias\", \"value.bias\")\n\n        new_item = new_item.replace(\"proj_out.weight\", \"proj_attn.weight\")\n        new_item = new_item.replace(\"proj_out.bias\", \"proj_attn.bias\")\n\n        new_item = shave_segments(\n            new_item, n_shave_prefix_segments=n_shave_prefix_segments\n        )\n\n        mapping.append({\"old\": old_item, \"new\": new_item})\n\n    return mapping\n\n\ndef assign_to_checkpoint(\n    paths,\n    checkpoint,\n    old_checkpoint,\n    attention_paths_to_split=None,\n    additional_replacements=None,\n    config=None,\n):\n    \"\"\"\n    This does the final conversion step: take locally converted weights and apply a global renaming\n    to them. It splits attention layers, and takes into account additional replacements\n    that may arise.\n\n    Assigns the weights to the new checkpoint.\n    \"\"\"\n    assert isinstance(\n        paths, list\n    ), \"Paths should be a list of dicts containing 'old' and 'new' keys.\"\n\n    # Splits the attention layers into three variables.\n    if attention_paths_to_split is not None:\n        for path, path_map in attention_paths_to_split.items():\n            old_tensor = old_checkpoint[path]\n            channels = old_tensor.shape[0] // 3\n\n            target_shape = (-1, channels) if len(old_tensor.shape) == 3 else (-1)\n\n            num_heads = old_tensor.shape[0] // config[\"num_head_channels\"] // 3\n\n            old_tensor = old_tensor.reshape(\n                (num_heads, 3 * channels // num_heads) + old_tensor.shape[1:]\n            )\n            query, key, value = old_tensor.split(channels // num_heads, dim=1)\n\n            checkpoint[path_map[\"query\"]] = query.reshape(target_shape)\n            checkpoint[path_map[\"key\"]] = key.reshape(target_shape)\n            checkpoint[path_map[\"value\"]] = value.reshape(target_shape)\n\n    for path in paths:\n        new_path = path[\"new\"]\n\n        # These have already been assigned\n        if (\n            attention_paths_to_split is not None\n            and new_path in attention_paths_to_split\n        ):\n            continue\n\n        # Global renaming happens here\n        new_path = new_path.replace(\"middle_block.0\", \"mid_block.resnets.0\")\n        new_path = new_path.replace(\"middle_block.1\", \"mid_block.attentions.0\")\n        new_path = new_path.replace(\"middle_block.2\", \"mid_block.resnets.1\")\n\n        if additional_replacements is not None:\n            for replacement in additional_replacements:\n                new_path = new_path.replace(replacement[\"old\"], replacement[\"new\"])\n\n        # proj_attn.weight has to be converted from conv 1D to linear\n        if \"proj_attn.weight\" in new_path:\n            checkpoint[new_path] = old_checkpoint[path[\"old\"]][:, :, 0]\n        else:\n            checkpoint[new_path] = old_checkpoint[path[\"old\"]]\n\n\ndef conv_attn_to_linear(checkpoint):\n    keys = list(checkpoint.keys())\n    attn_keys = [\"query.weight\", \"key.weight\", \"value.weight\"]\n    for key in keys:\n        if \".\".join(key.split(\".\")[-2:]) in attn_keys:\n            if checkpoint[key].ndim > 2:\n                checkpoint[key] = checkpoint[key][:, :, 0, 0]\n        elif \"proj_attn.weight\" in key:\n            if checkpoint[key].ndim > 2:\n                checkpoint[key] = checkpoint[key][:, :, 0]\n\n\ndef create_unet_diffusers_config(original_config):\n    \"\"\"\n    Creates a config for the diffusers based on the config of the LDM model.\n    \"\"\"\n    unet_params = original_config.model.params.unet_config.params\n\n    block_out_channels = [\n        unet_params.model_channels * mult for mult in unet_params.channel_mult\n    ]\n\n    down_block_types = []\n    resolution = 1\n    for i in range(len(block_out_channels)):\n        block_type = (\n            \"CrossAttnDownBlock2D\"\n            if resolution in unet_params.attention_resolutions\n            else \"DownBlock2D\"\n        )\n        down_block_types.append(block_type)\n        if i != len(block_out_channels) - 1:\n            resolution *= 2\n\n    up_block_types = []\n    for i in range(len(block_out_channels)):\n        block_type = (\n            \"CrossAttnUpBlock2D\"\n            if resolution in unet_params.attention_resolutions\n            else \"UpBlock2D\"\n        )\n        up_block_types.append(block_type)\n        resolution //= 2\n\n    config = dict(\n        sample_size=unet_params.image_size,\n        in_channels=unet_params.in_channels,\n        out_channels=unet_params.out_channels,\n        down_block_types=tuple(down_block_types),\n        up_block_types=tuple(up_block_types),\n        block_out_channels=tuple(block_out_channels),\n        layers_per_block=unet_params.num_res_blocks,\n        cross_attention_dim=unet_params.context_dim,\n        attention_head_dim=unet_params.num_heads,\n    )\n\n    return config\n\n\ndef create_vae_diffusers_config(original_config):\n    \"\"\"\n    Creates a config for the diffusers based on the config of the LDM model.\n    \"\"\"\n    vae_params = original_config.model.params.first_stage_config.params.ddconfig\n    _ = original_config.model.params.first_stage_config.params.embed_dim\n\n    block_out_channels = [vae_params.ch * mult for mult in vae_params.ch_mult]\n    down_block_types = [\"DownEncoderBlock2D\"] * len(block_out_channels)\n    up_block_types = [\"UpDecoderBlock2D\"] * len(block_out_channels)\n\n    config = dict(\n        sample_size=vae_params.resolution,\n        in_channels=vae_params.in_channels,\n        out_channels=vae_params.out_ch,\n        down_block_types=tuple(down_block_types),\n        up_block_types=tuple(up_block_types),\n        block_out_channels=tuple(block_out_channels),\n        latent_channels=vae_params.z_channels,\n        layers_per_block=vae_params.num_res_blocks,\n    )\n    return config\n\n\ndef create_diffusers_schedular(original_config):\n    schedular = DDIMScheduler(\n        num_train_timesteps=original_config.model.params.timesteps,\n        beta_start=original_config.model.params.linear_start,\n        beta_end=original_config.model.params.linear_end,\n        beta_schedule=\"scaled_linear\",\n    )\n    return schedular\n\n\ndef create_ldm_bert_config(original_config):\n    bert_params = original_config.model.parms.cond_stage_config.params\n    config = LDMBertConfig(\n        d_model=bert_params.n_embed,\n        encoder_layers=bert_params.n_layer,\n        encoder_ffn_dim=bert_params.n_embed * 4,\n    )\n    return config\n\n\ndef convert_ldm_unet_checkpoint(checkpoint, config, path=None, extract_ema=False):\n    \"\"\"\n    Takes a state dict and a config, and returns a converted checkpoint.\n    \"\"\"\n\n    # extract state_dict for UNet\n    unet_state_dict = {}\n    keys = list(checkpoint.keys())\n\n    unet_key = \"model.diffusion_model.\"\n    # at least a 100 parameters have to start with `model_ema` in order for the checkpoint to be EMA\n    if sum(k.startswith(\"model_ema\") for k in keys) > 100:\n        print(f\"Checkpoint {path} has both EMA and non-EMA weights.\")\n        if extract_ema:\n            print(\n                \"In this conversion only the EMA weights are extracted. If you want to instead extract the non-EMA\"\n                \" weights (useful to continue fine-tuning), please make sure to remove the `--extract_ema` flag.\"\n            )\n            for key in keys:\n                if key.startswith(\"model.diffusion_model\"):\n                    flat_ema_key = \"model_ema.\" + \"\".join(key.split(\".\")[1:])\n                    unet_state_dict[key.replace(unet_key, \"\")] = checkpoint.pop(\n                        flat_ema_key\n                    )\n        else:\n            print(\n                \"In this conversion only the non-EMA weights are extracted. If you want to instead extract the EMA\"\n                \" weights (usually better for inference), please make sure to add the `--extract_ema` flag.\"\n            )\n\n    for key in keys:\n        if key.startswith(unet_key):\n            unet_state_dict[key.replace(unet_key, \"\")] = checkpoint.pop(key)\n\n    new_checkpoint = {}\n\n    new_checkpoint[\"time_embedding.linear_1.weight\"] = unet_state_dict[\n        \"time_embed.0.weight\"\n    ]\n    new_checkpoint[\"time_embedding.linear_1.bias\"] = unet_state_dict[\n        \"time_embed.0.bias\"\n    ]\n    new_checkpoint[\"time_embedding.linear_2.weight\"] = unet_state_dict[\n        \"time_embed.2.weight\"\n    ]\n    new_checkpoint[\"time_embedding.linear_2.bias\"] = unet_state_dict[\n        \"time_embed.2.bias\"\n    ]\n\n    new_checkpoint[\"conv_in.weight\"] = unet_state_dict[\"input_blocks.0.0.weight\"]\n    new_checkpoint[\"conv_in.bias\"] = unet_state_dict[\"input_blocks.0.0.bias\"]\n\n    new_checkpoint[\"conv_norm_out.weight\"] = unet_state_dict[\"out.0.weight\"]\n    new_checkpoint[\"conv_norm_out.bias\"] = unet_state_dict[\"out.0.bias\"]\n    new_checkpoint[\"conv_out.weight\"] = unet_state_dict[\"out.2.weight\"]\n    new_checkpoint[\"conv_out.bias\"] = unet_state_dict[\"out.2.bias\"]\n\n    # Retrieves the keys for the input blocks only\n    num_input_blocks = len(\n        {\n            \".\".join(layer.split(\".\")[:2])\n            for layer in unet_state_dict\n            if \"input_blocks\" in layer\n        }\n    )\n    input_blocks = {\n        layer_id: [key for key in unet_state_dict if f\"input_blocks.{layer_id}\" in key]\n        for layer_id in range(num_input_blocks)\n    }\n\n    # Retrieves the keys for the middle blocks only\n    num_middle_blocks = len(\n        {\n            \".\".join(layer.split(\".\")[:2])\n            for layer in unet_state_dict\n            if \"middle_block\" in layer\n        }\n    )\n    middle_blocks = {\n        layer_id: [key for key in unet_state_dict if f\"middle_block.{layer_id}\" in key]\n        for layer_id in range(num_middle_blocks)\n    }\n\n    # Retrieves the keys for the output blocks only\n    num_output_blocks = len(\n        {\n            \".\".join(layer.split(\".\")[:2])\n            for layer in unet_state_dict\n            if \"output_blocks\" in layer\n        }\n    )\n    output_blocks = {\n        layer_id: [key for key in unet_state_dict if f\"output_blocks.{layer_id}\" in key]\n        for layer_id in range(num_output_blocks)\n    }\n\n    for i in range(1, num_input_blocks):\n        block_id = (i - 1) // (config[\"layers_per_block\"] + 1)\n        layer_in_block_id = (i - 1) % (config[\"layers_per_block\"] + 1)\n\n        resnets = [\n            key\n            for key in input_blocks[i]\n            if f\"input_blocks.{i}.0\" in key and f\"input_blocks.{i}.0.op\" not in key\n        ]\n        attentions = [key for key in input_blocks[i] if f\"input_blocks.{i}.1\" in key]\n\n        if f\"input_blocks.{i}.0.op.weight\" in unet_state_dict:\n            new_checkpoint[\n                f\"down_blocks.{block_id}.downsamplers.0.conv.weight\"\n            ] = unet_state_dict.pop(f\"input_blocks.{i}.0.op.weight\")\n            new_checkpoint[\n                f\"down_blocks.{block_id}.downsamplers.0.conv.bias\"\n            ] = unet_state_dict.pop(f\"input_blocks.{i}.0.op.bias\")\n\n        paths = renew_resnet_paths(resnets)\n        meta_path = {\n            \"old\": f\"input_blocks.{i}.0\",\n            \"new\": f\"down_blocks.{block_id}.resnets.{layer_in_block_id}\",\n        }\n        assign_to_checkpoint(\n            paths,\n            new_checkpoint,\n            unet_state_dict,\n            additional_replacements=[meta_path],\n            config=config,\n        )\n\n        if len(attentions):\n            paths = renew_attention_paths(attentions)\n            meta_path = {\n                \"old\": f\"input_blocks.{i}.1\",\n                \"new\": f\"down_blocks.{block_id}.attentions.{layer_in_block_id}\",\n            }\n            assign_to_checkpoint(\n                paths,\n                new_checkpoint,\n                unet_state_dict,\n                additional_replacements=[meta_path],\n                config=config,\n            )\n\n    resnet_0 = middle_blocks[0]\n    attentions = middle_blocks[1]\n    resnet_1 = middle_blocks[2]\n\n    resnet_0_paths = renew_resnet_paths(resnet_0)\n    assign_to_checkpoint(resnet_0_paths, new_checkpoint, unet_state_dict, config=config)\n\n    resnet_1_paths = renew_resnet_paths(resnet_1)\n    assign_to_checkpoint(resnet_1_paths, new_checkpoint, unet_state_dict, config=config)\n\n    attentions_paths = renew_attention_paths(attentions)\n    meta_path = {\"old\": \"middle_block.1\", \"new\": \"mid_block.attentions.0\"}\n    assign_to_checkpoint(\n        attentions_paths,\n        new_checkpoint,\n        unet_state_dict,\n        additional_replacements=[meta_path],\n        config=config,\n    )\n\n    for i in range(num_output_blocks):\n        block_id = i // (config[\"layers_per_block\"] + 1)\n        layer_in_block_id = i % (config[\"layers_per_block\"] + 1)\n        output_block_layers = [shave_segments(name, 2) for name in output_blocks[i]]\n        output_block_list = {}\n\n        for layer in output_block_layers:\n            layer_id, layer_name = layer.split(\".\")[0], shave_segments(layer, 1)\n            if layer_id in output_block_list:\n                output_block_list[layer_id].append(layer_name)\n            else:\n                output_block_list[layer_id] = [layer_name]\n\n        if len(output_block_list) > 1:\n            resnets = [key for key in output_blocks[i] if f\"output_blocks.{i}.0\" in key]\n            attentions = [\n                key for key in output_blocks[i] if f\"output_blocks.{i}.1\" in key\n            ]\n\n            resnet_0_paths = renew_resnet_paths(resnets)\n            paths = renew_resnet_paths(resnets)\n\n            meta_path = {\n                \"old\": f\"output_blocks.{i}.0\",\n                \"new\": f\"up_blocks.{block_id}.resnets.{layer_in_block_id}\",\n            }\n            assign_to_checkpoint(\n                paths,\n                new_checkpoint,\n                unet_state_dict,\n                additional_replacements=[meta_path],\n                config=config,\n            )\n\n            if [\"conv.weight\", \"conv.bias\"] in output_block_list.values():\n                index = list(output_block_list.values()).index(\n                    [\"conv.weight\", \"conv.bias\"]\n                )\n                new_checkpoint[\n                    f\"up_blocks.{block_id}.upsamplers.0.conv.weight\"\n                ] = unet_state_dict[f\"output_blocks.{i}.{index}.conv.weight\"]\n                new_checkpoint[\n                    f\"up_blocks.{block_id}.upsamplers.0.conv.bias\"\n                ] = unet_state_dict[f\"output_blocks.{i}.{index}.conv.bias\"]\n\n                # Clear attentions as they have been attributed above.\n                if len(attentions) == 2:\n                    attentions = []\n\n            if len(attentions):\n                paths = renew_attention_paths(attentions)\n                meta_path = {\n                    \"old\": f\"output_blocks.{i}.1\",\n                    \"new\": f\"up_blocks.{block_id}.attentions.{layer_in_block_id}\",\n                }\n                assign_to_checkpoint(\n                    paths,\n                    new_checkpoint,\n                    unet_state_dict,\n                    additional_replacements=[meta_path],\n                    config=config,\n                )\n        else:\n            resnet_0_paths = renew_resnet_paths(\n                output_block_layers, n_shave_prefix_segments=1\n            )\n            for path in resnet_0_paths:\n                old_path = \".\".join([\"output_blocks\", str(i), path[\"old\"]])\n                new_path = \".\".join(\n                    [\n                        \"up_blocks\",\n                        str(block_id),\n                        \"resnets\",\n                        str(layer_in_block_id),\n                        path[\"new\"],\n                    ]\n                )\n\n                new_checkpoint[new_path] = unet_state_dict[old_path]\n\n    return new_checkpoint\n\n\ndef convert_ldm_vae_checkpoint(checkpoint, config):\n    # extract state dict for VAE\n    vae_state_dict = {}\n    vae_key = \"first_stage_model.\"\n    keys = list(checkpoint.keys())\n    for key in keys:\n        if key.startswith(vae_key):\n            vae_state_dict[key.replace(vae_key, \"\")] = checkpoint.get(key)\n\n    new_checkpoint = {}\n\n    new_checkpoint[\"encoder.conv_in.weight\"] = vae_state_dict[\"encoder.conv_in.weight\"]\n    new_checkpoint[\"encoder.conv_in.bias\"] = vae_state_dict[\"encoder.conv_in.bias\"]\n    new_checkpoint[\"encoder.conv_out.weight\"] = vae_state_dict[\n        \"encoder.conv_out.weight\"\n    ]\n    new_checkpoint[\"encoder.conv_out.bias\"] = vae_state_dict[\"encoder.conv_out.bias\"]\n    new_checkpoint[\"encoder.conv_norm_out.weight\"] = vae_state_dict[\n        \"encoder.norm_out.weight\"\n    ]\n    new_checkpoint[\"encoder.conv_norm_out.bias\"] = vae_state_dict[\n        \"encoder.norm_out.bias\"\n    ]\n\n    new_checkpoint[\"decoder.conv_in.weight\"] = vae_state_dict[\"decoder.conv_in.weight\"]\n    new_checkpoint[\"decoder.conv_in.bias\"] = vae_state_dict[\"decoder.conv_in.bias\"]\n    new_checkpoint[\"decoder.conv_out.weight\"] = vae_state_dict[\n        \"decoder.conv_out.weight\"\n    ]\n    new_checkpoint[\"decoder.conv_out.bias\"] = vae_state_dict[\"decoder.conv_out.bias\"]\n    new_checkpoint[\"decoder.conv_norm_out.weight\"] = vae_state_dict[\n        \"decoder.norm_out.weight\"\n    ]\n    new_checkpoint[\"decoder.conv_norm_out.bias\"] = vae_state_dict[\n        \"decoder.norm_out.bias\"\n    ]\n\n    new_checkpoint[\"quant_conv.weight\"] = vae_state_dict[\"quant_conv.weight\"]\n    new_checkpoint[\"quant_conv.bias\"] = vae_state_dict[\"quant_conv.bias\"]\n    new_checkpoint[\"post_quant_conv.weight\"] = vae_state_dict[\"post_quant_conv.weight\"]\n    new_checkpoint[\"post_quant_conv.bias\"] = vae_state_dict[\"post_quant_conv.bias\"]\n\n    # Retrieves the keys for the encoder down blocks only\n    num_down_blocks = len(\n        {\n            \".\".join(layer.split(\".\")[:3])\n            for layer in vae_state_dict\n            if \"encoder.down\" in layer\n        }\n    )\n    down_blocks = {\n        layer_id: [key for key in vae_state_dict if f\"down.{layer_id}\" in key]\n        for layer_id in range(num_down_blocks)\n    }\n\n    # Retrieves the keys for the decoder up blocks only\n    num_up_blocks = len(\n        {\n            \".\".join(layer.split(\".\")[:3])\n            for layer in vae_state_dict\n            if \"decoder.up\" in layer\n        }\n    )\n    up_blocks = {\n        layer_id: [key for key in vae_state_dict if f\"up.{layer_id}\" in key]\n        for layer_id in range(num_up_blocks)\n    }\n\n    for i in range(num_down_blocks):\n        resnets = [\n            key\n            for key in down_blocks[i]\n            if f\"down.{i}\" in key and f\"down.{i}.downsample\" not in key\n        ]\n\n        if f\"encoder.down.{i}.downsample.conv.weight\" in vae_state_dict:\n            new_checkpoint[\n                f\"encoder.down_blocks.{i}.downsamplers.0.conv.weight\"\n            ] = vae_state_dict.pop(f\"encoder.down.{i}.downsample.conv.weight\")\n            new_checkpoint[\n                f\"encoder.down_blocks.{i}.downsamplers.0.conv.bias\"\n            ] = vae_state_dict.pop(f\"encoder.down.{i}.downsample.conv.bias\")\n\n        paths = renew_vae_resnet_paths(resnets)\n        meta_path = {\"old\": f\"down.{i}.block\", \"new\": f\"down_blocks.{i}.resnets\"}\n        assign_to_checkpoint(\n            paths,\n            new_checkpoint,\n            vae_state_dict,\n            additional_replacements=[meta_path],\n            config=config,\n        )\n\n    mid_resnets = [key for key in vae_state_dict if \"encoder.mid.block\" in key]\n    num_mid_res_blocks = 2\n    for i in range(1, num_mid_res_blocks + 1):\n        resnets = [key for key in mid_resnets if f\"encoder.mid.block_{i}\" in key]\n\n        paths = renew_vae_resnet_paths(resnets)\n        meta_path = {\"old\": f\"mid.block_{i}\", \"new\": f\"mid_block.resnets.{i - 1}\"}\n        assign_to_checkpoint(\n            paths,\n            new_checkpoint,\n            vae_state_dict,\n            additional_replacements=[meta_path],\n            config=config,\n        )\n\n    mid_attentions = [key for key in vae_state_dict if \"encoder.mid.attn\" in key]\n    paths = renew_vae_attention_paths(mid_attentions)\n    meta_path = {\"old\": \"mid.attn_1\", \"new\": \"mid_block.attentions.0\"}\n    assign_to_checkpoint(\n        paths,\n        new_checkpoint,\n        vae_state_dict,\n        additional_replacements=[meta_path],\n        config=config,\n    )\n    conv_attn_to_linear(new_checkpoint)\n\n    for i in range(num_up_blocks):\n        block_id = num_up_blocks - 1 - i\n        resnets = [\n            key\n            for key in up_blocks[block_id]\n            if f\"up.{block_id}\" in key and f\"up.{block_id}.upsample\" not in key\n        ]\n\n        if f\"decoder.up.{block_id}.upsample.conv.weight\" in vae_state_dict:\n            new_checkpoint[\n                f\"decoder.up_blocks.{i}.upsamplers.0.conv.weight\"\n            ] = vae_state_dict[f\"decoder.up.{block_id}.upsample.conv.weight\"]\n            new_checkpoint[\n                f\"decoder.up_blocks.{i}.upsamplers.0.conv.bias\"\n            ] = vae_state_dict[f\"decoder.up.{block_id}.upsample.conv.bias\"]\n\n        paths = renew_vae_resnet_paths(resnets)\n        meta_path = {\"old\": f\"up.{block_id}.block\", \"new\": f\"up_blocks.{i}.resnets\"}\n        assign_to_checkpoint(\n            paths,\n            new_checkpoint,\n            vae_state_dict,\n            additional_replacements=[meta_path],\n            config=config,\n        )\n\n    mid_resnets = [key for key in vae_state_dict if \"decoder.mid.block\" in key]\n    num_mid_res_blocks = 2\n    for i in range(1, num_mid_res_blocks + 1):\n        resnets = [key for key in mid_resnets if f\"decoder.mid.block_{i}\" in key]\n\n        paths = renew_vae_resnet_paths(resnets)\n        meta_path = {\"old\": f\"mid.block_{i}\", \"new\": f\"mid_block.resnets.{i - 1}\"}\n        assign_to_checkpoint(\n            paths,\n            new_checkpoint,\n            vae_state_dict,\n            additional_replacements=[meta_path],\n            config=config,\n        )\n\n    mid_attentions = [key for key in vae_state_dict if \"decoder.mid.attn\" in key]\n    paths = renew_vae_attention_paths(mid_attentions)\n    meta_path = {\"old\": \"mid.attn_1\", \"new\": \"mid_block.attentions.0\"}\n    assign_to_checkpoint(\n        paths,\n        new_checkpoint,\n        vae_state_dict,\n        additional_replacements=[meta_path],\n        config=config,\n    )\n    conv_attn_to_linear(new_checkpoint)\n    return new_checkpoint\n\n\ndef convert_ldm_bert_checkpoint(checkpoint, config):\n    def _copy_attn_layer(hf_attn_layer, pt_attn_layer):\n        hf_attn_layer.q_proj.weight.data = pt_attn_layer.to_q.weight\n        hf_attn_layer.k_proj.weight.data = pt_attn_layer.to_k.weight\n        hf_attn_layer.v_proj.weight.data = pt_attn_layer.to_v.weight\n\n        hf_attn_layer.out_proj.weight = pt_attn_layer.to_out.weight\n        hf_attn_layer.out_proj.bias = pt_attn_layer.to_out.bias\n\n    def _copy_linear(hf_linear, pt_linear):\n        hf_linear.weight = pt_linear.weight\n        hf_linear.bias = pt_linear.bias\n\n    def _copy_layer(hf_layer, pt_layer):\n        # copy layer norms\n        _copy_linear(hf_layer.self_attn_layer_norm, pt_layer[0][0])\n        _copy_linear(hf_layer.final_layer_norm, pt_layer[1][0])\n\n        # copy attn\n        _copy_attn_layer(hf_layer.self_attn, pt_layer[0][1])\n\n        # copy MLP\n        pt_mlp = pt_layer[1][1]\n        _copy_linear(hf_layer.fc1, pt_mlp.net[0][0])\n        _copy_linear(hf_layer.fc2, pt_mlp.net[2])\n\n    def _copy_layers(hf_layers, pt_layers):\n        for i, hf_layer in enumerate(hf_layers):\n            if i != 0:\n                i += i\n            pt_layer = pt_layers[i : i + 2]\n            _copy_layer(hf_layer, pt_layer)\n\n    hf_model = LDMBertModel(config).eval()\n\n    # copy  embeds\n    hf_model.model.embed_tokens.weight = checkpoint.transformer.token_emb.weight\n    hf_model.model.embed_positions.weight.data = (\n        checkpoint.transformer.pos_emb.emb.weight\n    )\n\n    # copy layer norm\n    _copy_linear(hf_model.model.layer_norm, checkpoint.transformer.norm)\n\n    # copy hidden layers\n    _copy_layers(hf_model.model.layers, checkpoint.transformer.attn_layers.layers)\n\n    _copy_linear(hf_model.to_logits, checkpoint.transformer.to_logits)\n\n    return hf_model\n\n\ndef convert_ldm_clip_checkpoint(checkpoint):\n    text_model = CLIPTextModel.from_pretrained(\"openai/clip-vit-large-patch14\")\n\n    keys = list(checkpoint.keys())\n\n    text_model_dict = {}\n\n    for key in keys:\n        if key.startswith(\"cond_stage_model.transformer\"):\n            text_model_dict[key[len(\"cond_stage_model.transformer.\") :]] = checkpoint[\n                key\n            ]\n\n    try:\n        text_model.load_state_dict(text_model_dict)\n    except RuntimeError:\n        pass\n\n    return text_model\n\n\nif __name__ == \"__main__\":\n    parser = argparse.ArgumentParser()\n\n    parser.add_argument(\n        \"--checkpoint_path\",\n        default=None,\n        type=str,\n        required=True,\n        help=\"Path to the checkpoint to convert.\",\n    )\n    # !wget https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml\n    parser.add_argument(\n        \"--original_config_file\",\n        default=None,\n        type=str,\n        help=\"The YAML config file corresponding to the original architecture.\",\n    )\n    parser.add_argument(\n        \"--scheduler_type\",\n        default=\"pndm\",\n        type=str,\n        help=\"Type of scheduler to use. Should be one of ['pndm', 'lms', 'ddim', 'euler', 'euler-ancest', 'dpm']\",\n    )\n    parser.add_argument(\n        \"--extract_ema\",\n        action=\"store_true\",\n        help=(\n            \"Only relevant for checkpoints that have both EMA and non-EMA weights. Whether to extract the EMA weights\"\n            \" or not. Defaults to `False`. Add `--extract_ema` to extract the EMA weights. EMA weights usually yield\"\n            \" higher quality images for inference. Non-EMA weights are usually better to continue fine-tuning.\"\n        ),\n    )\n    parser.add_argument(\n        \"--dump_path\",\n        default=None,\n        type=str,\n        required=True,\n        help=\"Path to the output model.\",\n    )\n\n    args = parser.parse_args()\n\n    if args.original_config_file is None:\n        os.system(\n            \"wget https://raw.githubusercontent.com/CompVis/stable-diffusion/main/configs/stable-diffusion/v1-inference.yaml\"\n        )\n        args.original_config_file = \"./v1-inference.yaml\"\n\n    original_config = OmegaConf.load(args.original_config_file)\n\n    checkpoint = torch.load(args.checkpoint_path)\n    checkpoint = checkpoint[\"state_dict\"]\n\n    num_train_timesteps = original_config.model.params.timesteps\n    beta_start = original_config.model.params.linear_start\n    beta_end = original_config.model.params.linear_end\n    if args.scheduler_type == \"pndm\":\n        scheduler = PNDMScheduler(\n            beta_end=beta_end,\n            beta_schedule=\"scaled_linear\",\n            beta_start=beta_start,\n            num_train_timesteps=num_train_timesteps,\n            skip_prk_steps=True,\n        )\n    elif args.scheduler_type == \"lms\":\n        scheduler = LMSDiscreteScheduler(\n            beta_start=beta_start, beta_end=beta_end, beta_schedule=\"scaled_linear\"\n        )\n    elif args.scheduler_type == \"euler\":\n        scheduler = EulerDiscreteScheduler(\n            beta_start=beta_start, beta_end=beta_end, beta_schedule=\"scaled_linear\"\n        )\n    elif args.scheduler_type == \"euler-ancestral\":\n        scheduler = EulerAncestralDiscreteScheduler(\n            beta_start=beta_start, beta_end=beta_end, beta_schedule=\"scaled_linear\"\n        )\n    elif args.scheduler_type == \"dpm\":\n        scheduler = DPMSolverMultistepScheduler(\n            beta_start=beta_start, beta_end=beta_end, beta_schedule=\"scaled_linear\"\n        )\n    elif args.scheduler_type == \"ddim\":\n        scheduler = DDIMScheduler(\n            beta_start=beta_start,\n            beta_end=beta_end,\n            beta_schedule=\"scaled_linear\",\n            clip_sample=False,\n            set_alpha_to_one=False,\n        )\n    else:\n        raise ValueError(f\"Scheduler of type {args.scheduler_type} doesn't exist!\")\n\n    # Convert the UNet2DConditionModel model.\n    unet_config = create_unet_diffusers_config(original_config)\n    converted_unet_checkpoint = convert_ldm_unet_checkpoint(\n        checkpoint, unet_config, path=args.checkpoint_path, extract_ema=args.extract_ema\n    )\n\n    unet = UNet2DConditionModel(**unet_config)\n    unet.load_state_dict(converted_unet_checkpoint)\n\n    # Convert the VAE model.\n    vae_config = create_vae_diffusers_config(original_config)\n    converted_vae_checkpoint = convert_ldm_vae_checkpoint(checkpoint, vae_config)\n\n    vae = AutoencoderKL(**vae_config)\n    vae.load_state_dict(converted_vae_checkpoint)\n\n    # Convert the text model.\n    text_model_type = original_config.model.params.cond_stage_config.target.split(\".\")[\n        -1\n    ]\n    if text_model_type == \"FrozenCLIPEmbedder\":\n        text_model = convert_ldm_clip_checkpoint(checkpoint)\n        tokenizer = CLIPTokenizer.from_pretrained(\"openai/clip-vit-large-patch14\")\n        safety_checker = StableDiffusionSafetyChecker.from_pretrained(\n            \"CompVis/stable-diffusion-safety-checker\"\n        )\n        feature_extractor = AutoFeatureExtractor.from_pretrained(\n            \"CompVis/stable-diffusion-safety-checker\"\n        )\n        pipe = StableDiffusionPipeline(\n            vae=vae,\n            text_encoder=text_model,\n            tokenizer=tokenizer,\n            unet=unet,\n            scheduler=scheduler,\n            safety_checker=safety_checker,\n            feature_extractor=feature_extractor,\n        )\n    else:\n        text_config = create_ldm_bert_config(original_config)\n        text_model = convert_ldm_bert_checkpoint(checkpoint, text_config)\n        tokenizer = BertTokenizerFast.from_pretrained(\"bert-base-uncased\")\n        pipe = LDMTextToImagePipeline(\n            vqvae=vae,\n            bert=text_model,\n            tokenizer=tokenizer,\n            unet=unet,\n            scheduler=scheduler,\n        )\n\n    pipe.save_pretrained(args.dump_path)\n"
  },
  {
    "path": "scripts/custom_components/draggable_number_input/__init__.py",
    "content": "import os\nimport streamlit.components.v1 as components\n\n\ndef load(pixel_per_step=50):\n    parent_dir = os.path.dirname(os.path.abspath(__file__))\n    file = os.path.join(parent_dir, \"main.js\")\n\n    with open(file) as f:\n        javascript_main = f.read()\n        javascript_main = javascript_main.replace(\n            \"%%pixelPerStep%%\", str(pixel_per_step)\n        )\n        components.html(f\"<script>{javascript_main}</script>\")\n"
  },
  {
    "path": "scripts/custom_components/draggable_number_input/main.js",
    "content": "// iframe parent\nvar parentDoc = window.parent.document\n\n// check for mouse pointer locking support, not a requirement but improves the overall experience\nvar havePointerLock = 'pointerLockElement' in parentDoc ||\n  'mozPointerLockElement' in parentDoc ||\n  'webkitPointerLockElement' in parentDoc;\n\n// the pointer locking exit function\nparentDoc.exitPointerLock = parentDoc.exitPointerLock || parentDoc.mozExitPointerLock || parentDoc.webkitExitPointerLock;\n\n// how far should the mouse travel for a step in pixel\nvar pixelPerStep = %%pixelPerStep%%;\n// how many steps did the mouse move in as float\nvar movementDelta = 0.0;\n// value when drag started\nvar lockedValue = 0.0;\n// minimum value from field\nvar lockedMin = 0.0;\n// maximum value from field\nvar lockedMax = 0.0;\n// how big should the field steps be\nvar lockedStep = 0.0;\n// the currently locked in field\nvar lockedField = null;\n\n// lock box to just request pointer lock for one element\nvar lockBox = document.createElement(\"div\");\nlockBox.classList.add(\"lockbox\");\nparentDoc.body.appendChild(lockBox);\nlockBox.requestPointerLock = lockBox.requestPointerLock || lockBox.mozRequestPointerLock || lockBox.webkitRequestPointerLock;\n\nfunction Lock(field)\n{\n\tvar rect = field.getBoundingClientRect();\n\tlockBox.style.left = (rect.left-2.5)+\"px\";\n\tlockBox.style.top = (rect.top-2.5)+\"px\";\n\n\tlockBox.style.width = (rect.width+2.5)+\"px\";\n\tlockBox.style.height = (rect.height+5)+\"px\";\n\n\tlockBox.requestPointerLock();\n}\n\nfunction Unlock()\n{\n\tparentDoc.exitPointerLock();\n\tlockBox.style.left = \"0px\";\n\tlockBox.style.top = \"0px\";\n\n\tlockBox.style.width = \"0px\";\n\tlockBox.style.height = \"0px\";\n\tlockedField.focus();\n}\n\nparentDoc.addEventListener('mousedown', (e) => {\n\t// if middle is down\n\tif(e.button === 1)\n\t{\n\t\tif(e.target.tagName === 'INPUT' && e.target.type === 'number')\n\t\t{\n\t\t\te.preventDefault();\n\t\t\tvar field = e.target;\n\t\t\tif(havePointerLock)\n\t\t\t\tLock(field);\n\n\t\t\t// save current field\n\t\t\tlockedField = e.target;\n\t\t\t// add class for styling\n\t\t\tlockedField.classList.add(\"value-dragging\");\n\t\t\t// reset movement delta\n\t\t\tmovementDelta = 0.0;\n\t\t\t// set to 0 if field is empty\n\t\t\tif(lockedField.value === '')\n\t\t\t\tlockedField.value = 0.0;\n\n\t\t\t// save current field value\n\t\t\tlockedValue = parseFloat(lockedField.value);\n\n\t\t\tif(lockedField.min === '' || lockedField.min === '-Infinity')\n\t\t\t\tlockedMin = -99999999.0;\n\t\t\telse\n\t\t\t\tlockedMin = parseFloat(lockedField.min);\n\n\t\t\tif(lockedField.max === '' || lockedField.max === 'Infinity')\n\t\t\t\tlockedMax = 99999999.0;\n\t\t\telse\n\t\t\t\tlockedMax = parseFloat(lockedField.max);\n\n\t\t\tif(lockedField.step === '' || lockedField.step === 'Infinity')\n\t\t\t\tlockedStep = 1.0;\n\t\t\telse\n\t\t\t\tlockedStep = parseFloat(lockedField.step);\n\n\t\t\t// lock pointer if available\n\t\t\tif(havePointerLock)\n\t\t\t\tLock(lockedField);\n\n\t\t\t// add drag event\n\t\t\tparentDoc.addEventListener(\"mousemove\", onDrag, false);\n\t\t}\n\t}\n});\n\nfunction onDrag(e)\n{\n\tif(lockedField !== null)\n\t{\n\t\t// add movement to delta\n\t\tmovementDelta += e.movementX / pixelPerStep;\n\t\tif(lockedField === NaN)\n\t\t\treturn;\n\t\t// set new value\n\t\tlet value = lockedValue + Math.floor(Math.abs(movementDelta)) * lockedStep * Math.sign(movementDelta);\n\t\tlockedField.focus();\n\t\tlockedField.select();\n\t\tparentDoc.execCommand('insertText', false /*no UI*/, Math.min(Math.max(value, lockedMin), lockedMax));\n\t}\n}\n\nparentDoc.addEventListener('mouseup', (e) => {\n\t// if mouse is up\n\tif(e.button === 1)\n\t{\n\t\t// release pointer lock if available\n\t\tif(havePointerLock)\n\t\t\tUnlock();\n\n\t\tif(lockedField !== null && lockedField !== NaN)\n\t\t{\n\t\t\t// stop drag event\n\t\t\tparentDoc.removeEventListener(\"mousemove\", onDrag, false);\n\t\t\t// remove class for styling\n\t\t\tlockedField.classList.remove(\"value-dragging\");\n\t\t\t// remove reference\n\t\t\tlockedField = null;\n\t\t}\n\t}\n});\n\n// only execute once (even though multiple iframes exist)\nif(!parentDoc.hasOwnProperty(\"dragableInitialized\"))\n{\n\tvar parentCSS =\n`\n/* Make input-instruction not block mouse events */\n.input-instructions,.input-instructions > *{\n\tpointer-events: none;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n}\n\n.lockbox {\n\tbackground-color: transparent;\n\tposition: absolute;\n\tpointer-events: none;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n\tborder-left: dotted 2px rgb(255,75,75);\n\tborder-top: dotted 2px rgb(255,75,75);\n\tborder-bottom: dotted 2px rgb(255,75,75);\n\tborder-right: dotted 1px rgba(255,75,75,0.2);\n\tborder-top-left-radius: 0.25rem;\n\tborder-bottom-left-radius: 0.25rem;\n\tz-index: 1000;\n}\n`;\n\n\t// get parent document head\n\tvar head = parentDoc.getElementsByTagName('head')[0];\n\t// add style tag\n\tvar s = document.createElement('style');\n    // set type attribute\n\ts.setAttribute('type', 'text/css');\n    // add css forwarded from python\n\tif (s.styleSheet) {   // IE\n        s.styleSheet.cssText = parentCSS;\n    } else {                // the world\n        s.appendChild(document.createTextNode(parentCSS));\n    }\n\t// add style to head\n    head.appendChild(s);\n\t// set flag so this only runs once\n\tparentDoc[\"dragableInitialized\"] = true;\n}\n"
  },
  {
    "path": "scripts/custom_components/sygil_suggestions/__init__.py",
    "content": "import os\nimport streamlit.components.v1 as components\n\n# where to save the downloaded key_phrases\nkey_phrases_file = \"data/tags/key_phrases.json\"\n# the loaded key phrase json as text\nkey_phrases_json = \"\"\n# where to save the downloaded key_phrases\nthumbnails_file = \"data/tags/thumbnails.json\"\n# the loaded key phrase json as text\nthumbnails_json = \"\"\n\n\ndef init():\n    global key_phrases_json, thumbnails_json\n    with open(key_phrases_file) as f:\n        key_phrases_json = f.read()\n    with open(thumbnails_file) as f:\n        thumbnails_json = f.read()\n\n\ndef suggestion_area(placeholder):\n    # get component path\n    parent_dir = os.path.dirname(os.path.abspath(__file__))\n    # get file paths\n    javascript_file = os.path.join(parent_dir, \"main.js\")\n    stylesheet_file = os.path.join(parent_dir, \"main.css\")\n    parent_stylesheet_file = os.path.join(parent_dir, \"parent.css\")\n\n    # load file texts\n    with open(javascript_file) as f:\n        javascript_main = f.read()\n    with open(stylesheet_file) as f:\n        stylesheet_main = f.read()\n    with open(parent_stylesheet_file) as f:\n        parent_stylesheet = f.read()\n\n    # add suggestion area div box\n    html = \"<div id='scroll_area' class='st-bg'><div id='suggestion_area'>javascript failed</div></div>\"\n    # add loaded style\n    html += f\"<style>{stylesheet_main}</style>\"\n    # set default variables\n    html += f\"<script>var thumbnails = {thumbnails_json};\\nvar keyPhrases = {key_phrases_json};\\nvar parentCSS = `{parent_stylesheet}`;\\nvar placeholder='{placeholder}';</script>\"\n    # add main java script\n    html += f\"\\n<script>{javascript_main}</script>\"\n    # add component to site\n    components.html(html, width=None, height=None, scrolling=True)\n"
  },
  {
    "path": "scripts/custom_components/sygil_suggestions/main.css",
    "content": "*\n{\n\tpadding: 0px;\n\tmargin: 0px;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n}\n\nbody\n{\n\twidth: 100%;\n\theight: 100%;\n\tpadding-left: calc( 1em - 1px );\n\tpadding-top: calc( 1em - 1px );\n\toverflow: hidden;\n}\n\n/* width */\n::-webkit-scrollbar {\n  width: 7px;\n}\n\n/* Track */\n::-webkit-scrollbar-track {\n  background: rgb(10, 13, 19);\n}\n\n/* Handle */\n::-webkit-scrollbar-thumb {\n  background: #6c6e72;\n  border-radius: 3px;\n}\n\n/* Handle on hover */\n::-webkit-scrollbar-thumb:hover {\n  background: #6c6e72;\n}\n\n#scroll_area\n{\n\tdisplay: flex;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n}\n\n#suggestion_area\n{\n\toverflow-x: hidden;\n\twidth: calc( 100% - 2em - 2px );\n\tmargin-bottom: calc( 1em + 13px );\n\tmin-height: 50px;\n}\n\nspan\n{\n\tborder: 1px solid rgba(250, 250, 250, 0.2);\n\tborder-radius: 0.25rem;\n\tfont-size: 1rem;\n\tfont-family: \"Source Sans Pro\", sans-serif;\n\n\tbackground-color: rgb(38, 39, 48);\n\tcolor: white;\n\tdisplay: inline-block;\n\tpadding: 0.5rem;\n\tmargin-right: 3px;\n\tcursor: pointer;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n}\n\nspan:hover\n{\n\tcolor: rgb(255,75,75);\n\tborder-color: rgb(255,75,75);\n}\n"
  },
  {
    "path": "scripts/custom_components/sygil_suggestions/main.js",
    "content": "\n// parent document\nvar parentDoc = window.parent.document;\n// iframe element in parent document\nvar frame = window.frameElement;\n// the area to put the suggestions in\nvar suggestionArea = document.getElementById('suggestion_area');\nvar scrollArea = document.getElementById('scroll_area');\n// button height is read when the first button gets created\nvar buttonHeight = -1;\n// the maximum size of the iframe in buttons (3 x buttons height)\nvar maxHeightInButtons = 3;\n// the prompt field connected to this iframe\nvar promptField = null;\n// the category of suggestions\nvar activeCategory = contextCategory;\n\nvar conditionalButtons = null;\n\nvar contextCategory = \"[context]\";\n\nvar frameHeight = \"calc( 3em - 3px + {} )\";\n\nvar filterGroups = {nsfw_mild: \"nsfw_mild\", nsfw_basic: \"nsfw_basic\", nsfw_strict: \"nsfw_strict\", gore_mild: \"gore_mild\", gore_basic: \"gore_basic\", gore_strict: \"gore_strict\"};\nvar activeFilters = [filterGroups.nsfw_mild, filterGroups.nsfw_basic, filterGroups.gore_mild];\n\nvar triggers = {empty: \"empty\", nsfw: \"nsfw\", nude: \"nude\"};\nvar activeContext = [];\n\nvar triggerIndex = {};\n\nvar wordMap = {};\nvar tagMap = {};\n\n// could pass in an array of specific stylesheets for optimization\nfunction getAllCSSVariableNames(styleSheets = parentDoc.styleSheets){\n   var cssVars = [];\n   // loop each stylesheet\n   for(var i = 0; i < styleSheets.length; i++){\n      // loop stylesheet's cssRules\n      try{ // try/catch used because 'hasOwnProperty' doesn't work\n         for( var j = 0; j < styleSheets[i].cssRules.length; j++){\n            try{\n\t\t\t\t//console.log(styleSheets[i].cssRules[j].selectorText);\n               // loop stylesheet's cssRules' style (property names)\n               for(var k = 0; k < styleSheets[i].cssRules[j].style.length; k++){\n                  let name = styleSheets[i].cssRules[j].style[k];\n                  // test name for css variable signiture and uniqueness\n                  if(name.startsWith('--') && cssVars.indexOf(name) == -1){\n                     cssVars.push(name);\n                  }\n               }\n            } catch (error) {}\n         }\n      } catch (error) {}\n   }\n   return cssVars;\n}\n\nfunction currentFrameAbsolutePosition() {\n  let currentWindow = window;\n  let currentParentWindow;\n  let positions = [];\n  let rect;\n\n  while (currentWindow !== window.top) {\n    currentParentWindow = currentWindow.parent;\n    for (let idx = 0; idx < currentParentWindow.frames.length; idx++)\n      if (currentParentWindow.frames[idx] === currentWindow) {\n        for (let frameElement of currentParentWindow.document.getElementsByTagName('iframe')) {\n          if (frameElement.contentWindow === currentWindow) {\n            rect = frameElement.getBoundingClientRect();\n            positions.push({x: rect.x, y: rect.y});\n          }\n        }\n        currentWindow = currentParentWindow;\n        break;\n      }\n  }\n  return positions.reduce((accumulator, currentValue) => {\n    return {\n      x: accumulator.x + currentValue.x,\n      y: accumulator.y + currentValue.y\n    };\n  }, { x: 0, y: 0 });\n}\n\n// check if element is visible\nfunction isVisible(e) {\n    return !!( e.offsetWidth || e.offsetHeight || e.getClientRects().length );\n}\n\n// remove everything from the suggestion area\nfunction ClearSuggestionArea(text = \"\")\n{\n\tsuggestionArea.innerHTML = text;\n\tconditionalButtons = [];\n}\n\n// update iframe size depending on button rows\nfunction UpdateSize()\n{\n\t// calculate maximum height\n\tvar maxHeight = buttonHeight * maxHeightInButtons;\n\n\tvar height = suggestionArea.lastChild.offsetTop + buttonHeight;\n\t// apply height to iframe\n\tframe.style.height = frameHeight.replace(\"{}\", Math.min(height,maxHeight)+\"px\");\n\tscrollArea.style.height = frame.style.height;\n}\n\n// add a button to the suggestion area\nfunction AddButton(label, action, dataTooltip = null, tooltipImage = null, pattern = null, data = null)\n{\n\t// create span\n\tvar button = document.createElement(\"span\");\n\t// label it\n\tbutton.innerHTML = label;\n\tif(data != null)\n\t{\n\t\t// add category attribute to button, will be read on click\n\t\tbutton.setAttribute(\"data\",data);\n\t}\n\tif(pattern != null)\n\t{\n\t\t// add category attribute to button, will be read on click\n\t\tbutton.setAttribute(\"pattern\",pattern);\n\t}\n\tif(dataTooltip != null)\n\t{\n\t\t// add category attribute to button, will be read on click\n\t\tbutton.setAttribute(\"tooltip-text\",dataTooltip);\n\t}\n\tif(tooltipImage != null)\n\t{\n\t\t// add category attribute to button, will be read on click\n\t\tbutton.setAttribute(\"tooltip-image\",tooltipImage);\n\t}\n\t// add button function\n\tbutton.addEventListener('click', action, false);\n\tbutton.addEventListener('mouseover', ButtonHoverEnter);\n\tbutton.addEventListener('mouseout', ButtonHoverExit);\n\t// add button to suggestion area\n\tsuggestionArea.appendChild(button);\n\t// get buttonHeight if not set\n\tif(buttonHeight < 0)\n\t\tbuttonHeight = button.offsetHeight;\n\treturn button;\n}\n\n// find visible prompt field to connect to this iframe\nfunction GetPromptField()\n{\n\t// get all prompt fields, the %% placeholder %% is set in python\n\tvar all = parentDoc.querySelectorAll('textarea[placeholder=\"'+placeholder+'\"]');\n\t// filter visible\n\tfor(var i = 0; i < all.length; i++)\n\t{\n\t\tif(isVisible(all[i]))\n\t\t{\n\t\t\tpromptField = all[i];\n\t\t\tpromptField.addEventListener('input', OnChange, false);\n\t\t\tpromptField.addEventListener('click', OnClick, false);\n\t\t\tpromptField.addEventListener('keyup', OnKey, false);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nfunction OnChange(e)\n{\n\tButtonConditions();\n\tButtonUpdateContext(true);\n}\n\nfunction OnClick(e)\n{\n\tButtonUpdateContext(true);\n}\n\nfunction OnKey(e)\n{\n\tif (e.keyCode == '37' || e.keyCode == '38' || e.keyCode == '39' || e.keyCode == '40') {\n\t\tButtonUpdateContext(false);\n\t}\n}\n\nfunction getCaretPosition(ctrl) {\n    // IE < 9 Support\n    if (document.selection) {\n        ctrl.focus();\n        var range = document.selection.createRange();\n        var rangelen = range.text.length;\n        range.moveStart('character', -ctrl.value.length);\n        var start = range.text.length - rangelen;\n        return {\n            'start': start,\n            'end': start + rangelen\n        };\n    } // IE >=9 and other browsers\n    else if (ctrl.selectionStart || ctrl.selectionStart == '0') {\n        return {\n            'start': ctrl.selectionStart,\n            'end': ctrl.selectionEnd\n        };\n    } else {\n        return {\n            'start': 0,\n            'end': 0\n        };\n    }\n}\n\nfunction setCaretPosition(ctrl, start, end) {\n    // IE >= 9 and other browsers\n    if (ctrl.setSelectionRange) {\n        ctrl.focus();\n        ctrl.setSelectionRange(start, end);\n    }\n    // IE < 9\n    else if (ctrl.createTextRange) {\n        var range = ctrl.createTextRange();\n        range.collapse(true);\n        range.moveEnd('character', end);\n        range.moveStart('character', start);\n        range.select();\n    }\n}\n\nfunction isEmptyOrSpaces(str){\n    return str === null || str.match(/^ *$/) !== null;\n}\n\nfunction ButtonUpdateContext(changeCategory)\n{\n\tlet targetCategory = contextCategory;\n\tlet text = promptField.value;\n\tif(document.activeElement === promptField)\n\t{\n\t\tvar pos = getCaretPosition(promptField).end;\n\t\ttext = promptField.value.slice(0, pos);\n\t}\n\n\tactiveContext = [];\n\n\tvar parts = text.split(/[\\.?!,]/);\n\tif(activeCategory == \"Artists\" && !isEmptyOrSpaces(parts[parts.length-1]))\n\t{\n\t\treturn;\n\t}\n\tif(text == \"\")\n\t{\n\t\tactiveContext.push(triggers.empty);\n\t}\n\tif(text.endsWith(\"by\"))\n\t{\n\t\tchangeCategory = true;\n\t\ttargetCategory = \"Artists\";\n\t\tactiveContext.push(\"Artists\");\n\t}\n\telse\n\t{\n\t\tvar parts = text.split(/[\\.,!?;]/);\n\t\tparts = parts.reverse();\n\n\t\tparts.forEach( part =>\n\t\t{\n\t\t\tvar words = part.split(\" \");\n\t\t\twords = words.reverse();\n\t\t\twords.forEach( word =>\n\t\t\t{\n\t\t\t\tword = word.replace(/[^a-zA-Z0-9 \\._\\-]/g, '').trim().toLowerCase();\n\t\t\t\tword = WordToKey(word);\n\t\t\t\tif(wordMap.hasOwnProperty(word))\n\t\t\t\t{\n\t\t\t\t\tactiveContext = activeContext.concat(wordMap[word]).unique();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tif(activeContext.length == 0)\n\t{\n\t\tif(activeCategory == contextCategory)\n\t\t{\n\t\t\tactiveCategory = \"\";\n\t\t\tShowMenu();\n\t\t}\n\t}\n\telse if(changeCategory)\n\t{\n\t\tactiveCategory = targetCategory;\n\t\tShowMenu();\n\t}\n\telse if(activeCategory == contextCategory)\n\t\tShowMenu();\n}\n\n// when pressing a button, give the focus back to the prompt field\nfunction KeepFocus(e)\n{\n\te.preventDefault();\n\tpromptField.focus();\n}\n\nfunction selectCategory(e)\n{\n\tKeepFocus(e);\n\t// set category from attribute\n\tactiveCategory = e.target.getAttribute(\"data\");\n\t// rebuild menu\n\tShowMenu();\n}\n\nfunction leaveCategory(e)\n{\n\tKeepFocus(e);\n\tactiveCategory = \"\";\n\t// rebuild menu\n\tShowMenu();\n}\n\n// [...]=block \"...\"=requirement ...=add {|}=cursor {}=insert .,!?;=start\n// [{} {|}]\n// [,by {}{|}][\"by \"* and by {}{|}]\n// [, {}{|}]\n\nfunction PatternWalk(text, pattern)\n{\n\tvar parts = text.split(/[\\,!?;]/);\n\tvar part = parts[parts.length - 1];\n\n\tvar indent = 0;\n\tvar outPattern = \"\";\n\tvar requirement = \"\"\n\tvar mode = \"\";\n\tvar patternFailed = false;\n\tvar partIndex = 0;\n\tfor( let i = 0; i < pattern.length; i++)\n\t{\n\t\tif(mode == \"\")\n\t\t{\n\t\t\tif(pattern[i] == \"[\")\n\t\t\t{\n\t\t\t\tindent++;\n\t\t\t\tmode = \"pattern\";\n\t\t\t\tconsole.log(\"pattern start:\");\n\t\t\t}\n\t\t}\n\t\telse if(indent > 0)\n\t\t{\n\t\t\tif(pattern[i] == \"[\")\n\t\t\t{\n\t\t\t\tindent++;\n\t\t\t}\n\t\t\telse if(mode == \"pattern\")\n\t\t\t{\n\t\t\t\tif(patternFailed)\n\t\t\t\t{\n\t\t\t\t\tif(pattern[i] == \"]\")\n\t\t\t\t\t{\n\t\t\t\t\t\tindent--;\n\t\t\t\t\t\tif(indent == 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmode = \"\";\n\t\t\t\t\t\t\toutPattern = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t\tpatternFailed = false;\n\t\t\t\t\t\t\tpart = parts[parts.length - 1];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif(pattern[i] == \"\\\"\")\n\t\t\t\t\t{\n\t\t\t\t\t\tmode = \"requirement\";\n\t\t\t\t\t}\n\t\t\t\t\telse if(pattern[i] == \"]\")\n\t\t\t\t\t{\n\t\t\t\t\t\tindent--;\n\t\t\t\t\t\tif(indent == 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmode = \"\";\n\t\t\t\t\t\t\treturn outPattern;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if(pattern[i] == \",\" || pattern[i] == \"!\" || pattern[i] == \"?\" || pattern[i] == \";\" )\n\t\t\t\t\t{\n\t\t\t\t\t\tlet textToCheck = (text+outPattern).trim();\n\n\t\t\t\t\t\tif(textToCheck.endsWith(\"and\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += \"{_}\";\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"with\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += \"{_}\";\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"of\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += \"{_}\";\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"at\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += \"{_}\";\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"and a\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"with a\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"of a\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"at a\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"and an\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"with an\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"of an\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"at an\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(!textToCheck.endsWith(pattern[i]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if(pattern[i] == \"{\")\n\t\t\t\t\t{\n\t\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t\t\tmode = \"write\";\n\t\t\t\t\t}\n\t\t\t\t\telse if(pattern[i] == \".\" && pattern[i+1] == \"*\" || pattern[i] == \"*\")\n\t\t\t\t\t{\n\t\t\t\t\t\tlet minLength = false;\n\t\t\t\t\t\tif(pattern[i] == \".\" && pattern[i+1] == \"*\")\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tminLength = true;\n\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar o = pattern.slice(i+1).search(/[^\\w\\s]/);\n\t\t\t\t\t\tvar subpattern = pattern.slice(i+1,i+1+o);\n\n\t\t\t\t\t\tvar index = part.lastIndexOf(subpattern);\n\t\t\t\t\t\tvar subPatternIndex = subpattern.length;\n\t\t\t\t\t\twhile(index == -1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(subPatternIndex <= 1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpatternFailed = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsubPatternIndex--;\n\t\t\t\t\t\t\tvar slice = subpattern.slice(0,subPatternIndex);\n\t\t\t\t\t\t\tindex = part.lastIndexOf(slice);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(!patternFailed)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(minLength && index == 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpatternFailed = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpartIndex += index;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif(partIndex >= part.length)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(part[partIndex] == pattern[i])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpartIndex++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpatternFailed = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(mode == \"requirement\")\n\t\t\t{\n\t\t\t\tif(pattern[i] == \"\\\"\")\n\t\t\t\t{\n\t\t\t\t\tif(!part.includes(requirement))\n\t\t\t\t\t{\n\t\t\t\t\t\tpatternFailed = true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tpartIndex = part.indexOf(requirement)+requirement.length;\n\t\t\t\t\t}\n\t\t\t\t\tmode = \"pattern\";\n\t\t\t\t\trequirement = \"\";\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\trequirement += pattern[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(mode == \"write\")\n\t\t\t{\n\t\t\t\tif(pattern[i] == \"}\")\n\t\t\t\t{\n\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t\tmode = \"pattern\";\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if(pattern[i] == \"[\")\n\t\t\tindent++;\n\t}\n\t// fallback\n\treturn \", {}\";\n}\n\nfunction InsertPhrase(phrase, pattern)\n{\n\tvar text = promptField.value ?? \"\";\n\tif(document.activeElement === promptField)\n\t{\n\t\tvar pos = getCaretPosition(promptField).end;\n\t\ttext = promptField.value.slice(0, pos);\n\t}\n\tvar insert = PatternWalk(text,pattern);\n\tinsert = insert.replace('{}',phrase);\n\n\tlet firstLetter = phrase.trim()[0];\n\n\tif(firstLetter == \"a\" || firstLetter == \"e\" || firstLetter == \"i\" || firstLetter == \"o\" || firstLetter == \"u\")\n\t\tinsert = insert.replace('{_}',\"an\");\n\telse\n\t\tinsert = insert.replace('{_}',\"a\");\n\n\tinsert = insert.replace(/{[^|]/,\"\");\n\tinsert = insert.replace(/[^|]}/,\"\");\n\n\tvar caret = (text+insert).indexOf(\"{|}\");\n\tinsert = insert.replace('{|}',\"\");\n\t// inserting via execCommand is required, this triggers all native browser functionality as if the user wrote into the prompt field.\n\tparentDoc.execCommand('insertText', false, insert);\n\tsetCaretPosition(promptField, caret, caret);\n}\n\nfunction SelectPhrase(e)\n{\n\tKeepFocus(e);\n\tvar pattern = e.target.getAttribute(\"pattern\");\n\tvar phrase = e.target.getAttribute(\"data\");\n\n\tInsertPhrase(phrase,pattern);\n}\n\nfunction CheckButtonCondition(condition)\n{\n\tvar pos = getCaretPosition(promptField).end;\n\tvar text = promptField.value.slice(0, pos);\n\tif(condition === \"empty\")\n\t{\n\t\treturn text == \"\";\n\t}\n}\n\nfunction ButtonConditions()\n{\n\tconditionalButtons.forEach(entry =>\n\t{\n\t\tlet filtered = !CheckButtonCondition(entry.condition);\n\n\t\tif(entry.filterGroup != null)\n\t\t{\n\t\t\tentry.filterGroup.split(\",\").forEach( (group) =>\n\t\t\t{\n\n\t\t\t\tif(activeFilters.includes(group.trim().toLowerCase()))\n\t\t\t\t{\n\t\t\t\t\tfiltered = filtered || true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif(filtered)\n\t\t\tentry.element.style.display = \"none\";\n\t\telse\n\t\t\tentry.element.style.display = \"inline-block\";\n\t});\n}\n\nfunction ButtonHoverEnter(e)\n{\n\tvar text = e.target.getAttribute(\"tooltip-text\");\n\tvar image = e.target.getAttribute(\"tooltip-image\");\n\tShowTooltip(text, e.target, image)\n}\n\nfunction ButtonHoverExit(e)\n{\n\tHideTooltip();\n}\n\nfunction ShowTooltip(text, target, image = \"\")\n{\n\tvar cleanedName = image == null? null : image.replace(/[^a-zA-Z0-9 \\._\\-]/g, '');\n\tif((text == \"\" || text == null) && (image == \"\" || image == null || thumbnails[cleanedName] === undefined))\n\t\treturn;\n\n\tvar currentFramePosition = currentFrameAbsolutePosition();\n\tvar rect = target.getBoundingClientRect();\n\tvar element = parentDoc[\"phraseTooltip\"];\n\telement.innerText = text;\n\tif(image != \"\" && image != null && thumbnails[cleanedName] !== undefined)\n\t{\n\n\t\tvar img = parentDoc.createElement('img');\n\t\timg.src = GetThumbnailURL(cleanedName);\n\t\telement.appendChild(img)\n\t}\n\telement.style.display = \"flex\";\n\telement.style.top = (rect.bottom+currentFramePosition.y)+\"px\";\n\telement.style.left = (rect.right+currentFramePosition.x)+\"px\";\n\telement.style.width = \"inherit\";\n\telement.style.height = \"inherit\";\n}\n\nfunction base64toBlob(base64Data, contentType) {\n    contentType = contentType || '';\n    var sliceSize = 1024;\n    var byteCharacters = atob(base64Data);\n    var bytesLength = byteCharacters.length;\n    var slicesCount = Math.ceil(bytesLength / sliceSize);\n    var byteArrays = new Array(slicesCount);\n\n    for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n        var begin = sliceIndex * sliceSize;\n        var end = Math.min(begin + sliceSize, bytesLength);\n\n        var bytes = new Array(end - begin);\n        for (var offset = begin, i = 0; offset < end; ++i, ++offset) {\n            bytes[i] = byteCharacters[offset].charCodeAt(0);\n        }\n        byteArrays[sliceIndex] = new Uint8Array(bytes);\n    }\n    return new Blob(byteArrays, { type: contentType });\n}\n\nfunction GetThumbnailURL(image)\n{\n\tif(parentDoc[\"keyPhraseSuggestionsLoadedBlobs\"].hasOwnProperty(image))\n\t{\n\t\treturn parentDoc[\"keyPhraseSuggestionsLoadedBlobs\"][image];\n\t}\n\telse\n\t{\n\t\tlet url = URL.createObjectURL(GetThumbnail(image));\n\t\tparentDoc[\"keyPhraseSuggestionsLoadedBlobs\"][image] = url;\n\t\treturn url;\n\t}\n}\n\nfunction GetThumbnail(image)\n{\n\treturn base64toBlob(thumbnails[image], 'image/webp');\n}\n\nfunction HideTooltip()\n{\n\tvar element = parentDoc[\"phraseTooltip\"];\n\telement.style.display= \"none\";\n\telement.innerHTML = \"\";\n\telement.style.top = \"0px\";\n\telement.style.left = \"0px\";\n\telement.style.width = \"0px\";\n\telement.style.height = \"0px\";\n}\n\nfunction RemoveDouble(str, symbol)\n{\n\tlet doubleSymbole = symbol+symbol;\n\twhile(str.includes(doubleSymbole))\n\t{\n\t\tstr = str.replace(doubleSymbole, symbol);\n\t}\n\treturn str;\n}\n\nfunction ReplaceAll(str, toReplace, seperator, symbol)\n{\n\ttoReplace.split(seperator).forEach( (replaceSymbol) =>\n\t{\n\t\tstr = str.replace(replaceSymbol, symbol);\n\t});\n\treturn str;\n}\n\nfunction WordToKey(word)\n{\n\tif(word.endsWith(\"s\"))\n\t\tword = word.slice(0, -1);\n\tword = word.replace(\"'\", \"\");\n\tif(word.endsWith(\"s\"))\n\t\tword = word.slice(0, -1);\n\tword = ReplaceAll(word, \"sch;sh;ch;ll;gg;r;l;j;g\", ';', 'h');\n\tword = ReplaceAll(word, \"sw;ss;zz;qu;kk;k;z;q;s;x\", ';','c');\n\tword = ReplaceAll(word, \"pp;bb;tt;th;ff;p;t;b;f;v\", ';','d');\n\tword = ReplaceAll(word, \"yu;yo;oo;u;y;w\", ';','o');\n\tword = ReplaceAll(word, \"ee;ie;a;i\", ';','e');\n\tword = ReplaceAll(word, \"mm;nn;n\", ';','n');\n\tword = RemoveDouble(word, \"l\");\n\tword = RemoveDouble(word, \"c\");\n\tword = RemoveDouble(word, \"e\");\n\tword = RemoveDouble(word, \"m\");\n\tword = RemoveDouble(word, \"j\");\n\tword = RemoveDouble(word, \"o\");\n\tword = RemoveDouble(word, \"d\");\n\tword = RemoveDouble(word, \"f\");\n\treturn word;\n}\n\nArray.prototype.unique = function() {\n    var a = this.concat();\n    for(var i=0; i<a.length; ++i) {\n        for(var j=i+1; j<a.length; ++j) {\n            if(a[i] == a[j])\n                a.splice(j--, 1);\n        }\n    }\n\n    return a;\n};\n\n\nfunction BuildTriggerIndex()\n{\n\ttriggerIndex = {};\n\twordMap = {};\n\ttagMap = {};\n\tfor (let category in keyPhrases)\n\t{\n\t\tlet count = keyPhrases[category][\"entries\"].length;\n\t\tfor(let i = 0; i < count; i++)\n\t\t{\n\t\t\tlet entry = keyPhrases[category][\"entries\"][i];\n\t\t\tif(entry[\"trigger\"] != null && entry[\"trigger\"] != \"\")\n\t\t\t{\n\t\t\t\tlet entryTriggers = entry[\"trigger\"].split(\",\");\n\t\t\t\tentryTriggers.forEach( trigger =>\n\t\t\t\t{\n\t\t\t\t\ttrigger = trigger.replace(/[^a-zA-Z0-9 \\._\\-]/g, '').trim().toLowerCase();\n\t\t\t\t\tif(!triggers.hasOwnProperty(trigger))\n\t\t\t\t\t{\n\t\t\t\t\t\ttrigger = WordToKey(trigger);\n\t\t\t\t\t}\n\t\t\t\t\tif(triggerIndex.hasOwnProperty(trigger))\n\t\t\t\t\t{\n\t\t\t\t\t\ttriggerIndex[trigger].push( { category: category, index: i });\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttriggerIndex[trigger] = [];\n\t\t\t\t\t\ttriggerIndex[trigger].push( { category: category, index: i });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/*let words = entry[\"phrase\"].split(\" \");\n\t\t\tlet wordCount = words.length;\n\t\t\tfor(let e = 0; e < wordCount; e++)\n\t\t\t{\n\t\t\t\tlet wordKey = WordToKey(words[e].replace(/[^a-zA-Z0-9 \\._\\-]/g, '').trim().toLowerCase());\n\n\t\t\t\tif(wordKey.length < 2)\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif(!wordMap.hasOwnProperty(wordKey))\n\t\t\t\t{\n\t\t\t\t\twordMap[wordKey] = [];\n\t\t\t\t}\n\n\t\t\t\tlet entrySearchTags = entry[\"search_tags\"].split(\",\");\n\t\t\t\tentrySearchTags.push(category);\n\t\t\t\tentrySearchTags.forEach( search_tag =>\n\t\t\t\t{\n\t\t\t\t\tif(search_tag != null && search_tag != \"\")\n\t\t\t\t\t{\n\t\t\t\t\t\tif(search_tag.endsWith(\"'s\"))\n\t\t\t\t\t\t\tsearch_tag = search_tag.slice(0, -2);\n\t\t\t\t\t\tif(search_tag.endsWith(\"s\"))\n\t\t\t\t\t\t\tsearch_tag = search_tag.slice(0, -1);\n\t\t\t\t\t\tsearch_tag = search_tag.replace(/[^a-zA-Z0-9 \\._\\-]/g, '').trim().toLowerCase();\n\t\t\t\t\t\twordMap[wordKey].push(search_tag);\n\t\t\t\t\t\tif(!tagMap.hasOwnProperty(search_tag))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttagMap[search_tag] = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagMap[search_tag].push({ category: category, index: i });\n\t\t\t\t\t\ttagMap[search_tag] = tagMap[search_tag].unique();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\twordMap[wordKey] = wordMap[wordKey].unique();\n\t\t\t}*/\n\t\t}\n\t}\n}\n\nfunction ConditionalButton(entry, button)\n{\n\tif(entry[\"show_if\"] != \"\" || entry[\"filter_group\"] != \"\")\n\t\tconditionalButtons.push({element:button,condition:entry[\"show_if\"], filterGroup:entry[\"filter_group\"]});\n}\n\n// generate menu in suggestion area\nfunction ShowMenu()\n{\n\t// clear all buttons from menu\n\tClearSuggestionArea();\n\tHideTooltip();\n\n\t// if no chategory is selected\n\tif(activeCategory == \"\")\n\t{\n\t\tif(activeContext.length != 0)\n\t\t{\n\t\t\tAddButton(\"Context\", selectCategory, \"A dynamicly updating category based on the current prompt.\", null, null, contextCategory);\n\t\t}\n\t\tfor (var category in keyPhrases)\n\t\t{\n\t\t\tAddButton(category, selectCategory, keyPhrases[category][\"description\"], null, null, category);\n\t\t}\n\t\t// change iframe size after buttons have been added\n\t\tUpdateSize();\n\t}\n\telse if(activeCategory == contextCategory)\n\t{\n\t\t// add a button to leave the chategory\n\t\tvar backbutton = AddButton(\"&#x2191; back\", leaveCategory);\n\t\tactiveContext.forEach( context =>\n\t\t{\n\t\t\tif(tagMap.hasOwnProperty(context))\n\t\t\t{\n\t\t\t\tvar words = tagMap[context].unique();\n\t\t\t\twords.forEach( word =>\n\t\t\t\t{\n\t\t\t\t\tvar entry = keyPhrases[word.category][\"entries\"][word.index];\n\t\t\t\t\tvar tempPattern = keyPhrases[word.category][\"pattern\"];\n\n\t\t\t\t\tif(entry[\"pattern_override\"] != \"\")\n\t\t\t\t\t{\n\t\t\t\t\t\ttempPattern = entry[\"pattern_override\"];\n\t\t\t\t\t}\n\n\t\t\t\t\tvar button = AddButton(entry[\"phrase\"], SelectPhrase, entry[\"description\"], entry[\"phrase\"],tempPattern, entry[\"phrase\"]);\n\n\t\t\t\t\tConditionalButton(entry, button);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(triggerIndex.hasOwnProperty(context))\n\t\t\t{\n\t\t\t\tvar triggered = triggerIndex[context];\n\t\t\t\ttriggered.forEach( trigger =>\n\t\t\t\t{\n\t\t\t\t\tvar entry = keyPhrases[trigger.category][\"entries\"][trigger.index];\n\t\t\t\t\tvar tempPattern = keyPhrases[trigger.category][\"pattern\"];\n\n\t\t\t\t\tif(entry[\"pattern_override\"] != \"\")\n\t\t\t\t\t{\n\t\t\t\t\t\ttempPattern = entry[\"pattern_override\"];\n\t\t\t\t\t}\n\n\t\t\t\t\tvar button = AddButton(entry[\"phrase\"], SelectPhrase, entry[\"description\"], entry[\"phrase\"],tempPattern, entry[\"phrase\"]);\n\n\t\t\t\t\tConditionalButton(entry, button);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tButtonConditions();\n\t\t// change iframe size after buttons have been added\n\t\tUpdateSize();\n\t}\n\t// if a chategory is selected\n\telse\n\t{\n\t\t// add a button to leave the chategory\n\t\tvar backbutton = AddButton(\"&#x2191; back\", leaveCategory);\n\t\tvar pattern = keyPhrases[activeCategory][\"pattern\"];\n\t\tkeyPhrases[activeCategory][\"entries\"].forEach(entry =>\n\t\t{\n\t\t\tvar tempPattern = pattern;\n\t\t\tif(entry[\"pattern_override\"] != \"\")\n\t\t\t{\n\t\t\t\ttempPattern = entry[\"pattern_override\"];\n\t\t\t}\n\n\t\t\tvar button = AddButton(entry[\"phrase\"], SelectPhrase, entry[\"description\"], entry[\"phrase\"],tempPattern, entry[\"phrase\"]);\n\n\t\t\tConditionalButton(entry, button);\n\t\t});\n\t\tButtonConditions();\n\t\t// change iframe size after buttons have been added\n\t\tUpdateSize();\n\t}\n}\n\n// listen for clicks on the prompt field\nparentDoc.addEventListener(\"click\", (e) =>\n{\n\t// skip if this frame is not visible\n\tif(!isVisible(frame))\n\t\treturn;\n\n\t// if the iframes prompt field is not set, get it and set it\n\tif(promptField === null)\n\t{\n\t\tGetPromptField();\n\t\tButtonUpdateContext(true);\n\t}\n\n\t// get the field with focus\n\tvar target = parentDoc.activeElement;\n\n\t// if the field with focus is a prompt field, the %% placeholder %% is set in python\n\tif(\ttarget.placeholder === placeholder)\n\t{\n\t\t// generate menu\n\t\tShowMenu();\n\t\tframe.style.borderBottomWidth = '13px';\n\t}\n\telse\n\t{\n\t\t// else hide the iframe\n\t\tframe.style.height = \"0px\";\n\t\tframe.style.borderBottomWidth = '0px';\n\t}\n});\n\nfunction AppendStyle(targetDoc, id, content)\n{\n\t  // get parent document head\n\tvar head = targetDoc.getElementsByTagName('head')[0];\n\n\t// add style tag\n\tvar style = targetDoc.createElement('style');\n    // set type attribute\n\tstyle.setAttribute('type', 'text/css');\n\tstyle.id = id;\n    // add css forwarded from python\n\tif (style.styleSheet) {   // IE\n        style.styleSheet.cssText = content;\n    } else {                // the world\n        style.appendChild(parentDoc.createTextNode(content));\n    }\n\t// add style to head\n    head.appendChild(style);\n}\n\n// Transfer all styles\nvar head = document.getElementsByTagName(\"head\")[0];\nvar parentStyle = parentDoc.getElementsByTagName(\"style\");\nfor (var i = 0; i < parentStyle.length; i++)\n\thead.appendChild(parentStyle[i].cloneNode(true));\nvar parentLinks = parentDoc.querySelectorAll('link[rel=\"stylesheet\"]');\nfor (var i = 0; i < parentLinks.length; i++)\n\thead.appendChild(parentLinks[i].cloneNode(true));\n\n// add custom style to iframe\nframe.classList.add(\"suggestion-frame\");\n// clear suggestion area to remove the \"javascript failed\" message\nClearSuggestionArea();\n// collapse the iframe by default\nframe.style.height = \"0px\";\nframe.style.borderBottomWidth = '0px';\n\nBuildTriggerIndex();\n\n// only execute once (even though multiple iframes exist)\nif(!parentDoc.hasOwnProperty('keyPhraseSuggestionsInitialized'))\n{\n\tAppendStyle(parentDoc, \"key-phrase-suggestions\", parentCSS);\n\n\tvar tooltip = parentDoc.createElement('div');\n\ttooltip.id = \"phrase-tooltip\";\n\tparentDoc.body.appendChild(tooltip);\n\tparentDoc[\"phraseTooltip\"] = tooltip;\n\t// set flag so this only runs once\n\tparentDoc[\"keyPhraseSuggestionsLoadedBlobs\"] = {};\n\tparentDoc[\"keyPhraseSuggestionsInitialized\"] = true;\n\n\tvar cssVars = getAllCSSVariableNames();\n\tcomputedStyle = getComputedStyle(parentDoc.documentElement);\n\n\tparentDoc[\"keyPhraseSuggestionsCSSvariables\"] = \":root{\";\n\n\tcssVars.forEach( (rule) =>\n\t{\n\t\tparentDoc[\"keyPhraseSuggestionsCSSvariables\"] += rule+\": \"+computedStyle.getPropertyValue(rule)+\";\";\n\t});\n\tparentDoc[\"keyPhraseSuggestionsCSSvariables\"] += \"}\";\n}\n\nAppendStyle(document, \"variables\", parentDoc[\"keyPhraseSuggestionsCSSvariables\"]);\n"
  },
  {
    "path": "scripts/custom_components/sygil_suggestions/parent.css",
    "content": ".suggestion-frame\n{\n\tposition: absolute;\n\n\t/* make as small as possible */\n\tmargin: 0px;\n\tpadding: 0px;\n\tmin-height: 0px;\n\tline-height: 0;\n\n\t/* animate transitions of the height property */\n\t-webkit-transition: height 1s;\n\t-moz-transition: height 1s;\n\t-ms-transition: height 1s;\n\t-o-transition: height 1s;\n\ttransition: height 1s, border-bottom-width 1s;\n\n\t/* block selection */\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n\n\tz-index: 700;\n\n\toutline: 1px solid rgba(250, 250, 250, 0.2);\n\toutline-offset: 0px;\n\tborder-radius: 0.25rem;\n\tbackground: rgb(14, 17, 23);\n\n\tbox-sizing: border-box;\n    -moz-box-sizing: border-box;\n    -webkit-box-sizing: border-box;\n\tborder-bottom: solid 13px rgb(14, 17, 23) !important;\n\tborder-left: solid 13px rgb(14, 17, 23) !important;\n}\n\n#phrase-tooltip\n{\n\tdisplay: none;\n\tpointer-events: none;\n\tposition: absolute;\n\tborder-bottom-left-radius: 0.5rem;\n\tborder-top-right-radius: 0.5rem;\n\tborder-bottom-right-radius: 0.5rem;\n\tborder: solid rgb(255,75,75) 2px;\n\tbackground-color: rgb(38, 39, 48);\n\tcolor: rgb(255,75,75);\n\tfont-size: 1rem;\n\tfont-family: \"Source Sans Pro\", sans-serif;\n\tpadding: 0.5rem;\n\n\tcursor: default;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n\tz-index: 1000;\n}\n\n#phrase-tooltip:has(img)\n{\n\ttransform: scale(1.25, 1.25);\n\t-ms-transform: scale(1.25, 1.25);\n\t-webkit-transform: scale(1.25, 1.25);\n}\n\n#phrase-tooltip>img\n{\n\tpointer-events: none;\n\tborder-bottom-left-radius: 0.5rem;\n\tborder-top-right-radius: 0.5rem;\n\tborder-bottom-right-radius: 0.5rem;\n\n\tcursor: default;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n\tz-index: 1500;\n}\n"
  },
  {
    "path": "scripts/diffusers_textual_inversion_2.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\nimport argparse\nimport itertools\nimport math\nimport os\nimport random\nimport datetime\n\nimport numpy as np\nimport torch\nimport torch.nn.functional as F\nimport torch.utils.checkpoint\nfrom torch.utils.data import Dataset\n\nimport PIL\nfrom accelerate import Accelerator\nfrom accelerate.logging import get_logger\nfrom accelerate.utils import set_seed\nfrom diffusers import (\n    AutoencoderKL,\n    DDPMScheduler,\n    LMSDiscreteScheduler,\n    StableDiffusionPipeline,\n    UNet2DConditionModel,\n)\nfrom diffusers.optimization import get_scheduler\nfrom pipelines.stable_diffusion.no_check import NoCheck\nfrom PIL import Image\nfrom torchvision import transforms\nfrom tqdm.auto import tqdm\nfrom transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer\nfrom slugify import slugify\nimport json\nimport os\n\nlogger = get_logger(__name__)\n\n\ndef parse_args():\n    parser = argparse.ArgumentParser(description=\"Simple example of a training script.\")\n    parser.add_argument(\n        \"--pretrained_model_name_or_path\",\n        type=str,\n        default=None,\n        help=\"Path to pretrained model or model identifier from huggingface.co/models.\",\n    )\n    parser.add_argument(\n        \"--tokenizer_name\",\n        type=str,\n        default=None,\n        help=\"Pretrained tokenizer name or path if not the same as model_name\",\n    )\n    parser.add_argument(\n        \"--train_data_dir\",\n        type=str,\n        default=None,\n        help=\"A folder containing the training data.\",\n    )\n    parser.add_argument(\n        \"--placeholder_token\",\n        type=str,\n        default=None,\n        help=\"A token to use as a placeholder for the concept.\",\n    )\n    parser.add_argument(\n        \"--initializer_token\",\n        type=str,\n        default=None,\n        help=\"A token to use as initializer word.\",\n    )\n    parser.add_argument(\n        \"--learnable_property\",\n        type=str,\n        default=\"object\",\n        help=\"Choose between 'object' and 'style'\",\n    )\n    parser.add_argument(\n        \"--repeats\",\n        type=int,\n        default=100,\n        help=\"How many times to repeat the training data.\",\n    )\n    parser.add_argument(\n        \"--output_dir\",\n        type=str,\n        default=\"text-inversion-model\",\n        help=\"The output directory where the model predictions and checkpoints will be written.\",\n    )\n    parser.add_argument(\n        \"--seed\", type=int, default=None, help=\"A seed for reproducible training.\"\n    )\n    parser.add_argument(\n        \"--resolution\",\n        type=int,\n        default=512,\n        help=(\n            \"The resolution for input images, all the images in the train/validation dataset will be resized to this\"\n            \" resolution\"\n        ),\n    )\n    parser.add_argument(\n        \"--center_crop\",\n        action=\"store_true\",\n        help=\"Whether to center crop images before resizing to resolution\",\n    )\n    parser.add_argument(\n        \"--train_batch_size\",\n        type=int,\n        default=1,\n        help=\"Batch size (per device) for the training dataloader.\",\n    )\n    parser.add_argument(\"--num_train_epochs\", type=int, default=100)\n    parser.add_argument(\n        \"--max_train_steps\",\n        type=int,\n        default=5000,\n        help=\"Total number of training steps to perform.  If provided, overrides num_train_epochs.\",\n    )\n    parser.add_argument(\n        \"--gradient_accumulation_steps\",\n        type=int,\n        default=1,\n        help=\"Number of updates steps to accumulate before performing a backward/update pass.\",\n    )\n    parser.add_argument(\n        \"--learning_rate\",\n        type=float,\n        default=1e-4,\n        help=\"Initial learning rate (after the potential warmup period) to use.\",\n    )\n    parser.add_argument(\n        \"--scale_lr\",\n        action=\"store_true\",\n        default=True,\n        help=\"Scale the learning rate by the number of GPUs, gradient accumulation steps, and batch size.\",\n    )\n    parser.add_argument(\n        \"--lr_scheduler\",\n        type=str,\n        default=\"constant\",\n        help=(\n            'The scheduler type to use. Choose between [\"linear\", \"cosine\", \"cosine_with_restarts\", \"polynomial\",'\n            ' \"constant\", \"constant_with_warmup\"]'\n        ),\n    )\n    parser.add_argument(\n        \"--lr_warmup_steps\",\n        type=int,\n        default=500,\n        help=\"Number of steps for the warmup in the lr scheduler.\",\n    )\n    parser.add_argument(\n        \"--adam_beta1\",\n        type=float,\n        default=0.9,\n        help=\"The beta1 parameter for the Adam optimizer.\",\n    )\n    parser.add_argument(\n        \"--adam_beta2\",\n        type=float,\n        default=0.999,\n        help=\"The beta2 parameter for the Adam optimizer.\",\n    )\n    parser.add_argument(\n        \"--adam_weight_decay\", type=float, default=1e-2, help=\"Weight decay to use.\"\n    )\n    parser.add_argument(\n        \"--adam_epsilon\",\n        type=float,\n        default=1e-08,\n        help=\"Epsilon value for the Adam optimizer\",\n    )\n    parser.add_argument(\n        \"--mixed_precision\",\n        type=str,\n        default=\"no\",\n        choices=[\"no\", \"fp16\", \"bf16\"],\n        help=(\n            \"Whether to use mixed precision. Choose\"\n            \"between fp16 and bf16 (bfloat16). Bf16 requires PyTorch >= 1.10.\"\n            \"and an Nvidia Ampere GPU.\"\n        ),\n    )\n    parser.add_argument(\n        \"--local_rank\",\n        type=int,\n        default=-1,\n        help=\"For distributed training: local_rank\",\n    )\n    parser.add_argument(\n        \"--checkpoint_frequency\",\n        type=int,\n        default=500,\n        help=\"How often to save a checkpoint and sample image\",\n    )\n    parser.add_argument(\n        \"--stable_sample_batches\",\n        type=int,\n        default=0,\n        help=\"Number of fixed seed sample batches to generate per checkpoint\",\n    )\n    parser.add_argument(\n        \"--random_sample_batches\",\n        type=int,\n        default=1,\n        help=\"Number of random seed sample batches to generate per checkpoint\",\n    )\n    parser.add_argument(\n        \"--sample_batch_size\",\n        type=int,\n        default=1,\n        help=\"Number of samples to generate per batch\",\n    )\n    parser.add_argument(\n        \"--sample_steps\",\n        type=int,\n        default=50,\n        help=\"Number of steps for sample generation. Higher values will result in more detailed samples, but longer runtimes.\",\n    )\n    parser.add_argument(\n        \"--custom_templates\",\n        type=str,\n        default=None,\n        help=(\n            \"A semicolon-delimited list of custom template to use for samples, using {} as a placeholder for the concept.\"\n        ),\n    )\n    parser.add_argument(\n        \"--resume_from\",\n        type=str,\n        default=None,\n        help=\"Path to a directory to resume training from (ie, logs/token_name/2022-09-22T23-36-27)\",\n    )\n    parser.add_argument(\n        \"--resume_checkpoint\",\n        type=str,\n        default=None,\n        help=\"Path to a specific checkpoint to resume training from (ie, logs/token_name/2022-09-22T23-36-27/checkpoints/something.bin).\",\n    )\n    parser.add_argument(\n        \"--config\",\n        type=str,\n        default=None,\n        help=\"Path to a JSON configuration file containing arguments for invoking this script. If resume_from is given, its resume.json takes priority over this.\",\n    )\n\n    args = parser.parse_args()\n    if args.resume_from is not None:\n        with open(f\"{args.resume_from}/resume.json\", \"rt\") as f:\n            args = parser.parse_args(\n                namespace=argparse.Namespace(**json.load(f)[\"args\"])\n            )\n    elif args.config is not None:\n        with open(args.config, \"rt\") as f:\n            args = parser.parse_args(\n                namespace=argparse.Namespace(**json.load(f)[\"args\"])\n            )\n\n    env_local_rank = int(os.environ.get(\"LOCAL_RANK\", -1))\n    if env_local_rank != -1 and env_local_rank != args.local_rank:\n        args.local_rank = env_local_rank\n\n    if args.train_data_dir is None:\n        raise ValueError(\"You must specify --train_data_dir\")\n\n    if args.pretrained_model_name_or_path is None:\n        raise ValueError(\"You must specify --pretrained_model_name_or_path\")\n\n    if args.placeholder_token is None:\n        raise ValueError(\"You must specify --placeholder_token\")\n\n    if args.initializer_token is None:\n        raise ValueError(\"You must specify --initializer_token\")\n\n    if args.output_dir is None:\n        raise ValueError(\"You must specify --output_dir\")\n\n    return args\n\n\nimagenet_templates_small = [\n    \"a photo of a {}\",\n    \"a rendering of a {}\",\n    \"a cropped photo of the {}\",\n    \"the photo of a {}\",\n    \"a photo of a clean {}\",\n    \"a photo of a dirty {}\",\n    \"a dark photo of the {}\",\n    \"a photo of my {}\",\n    \"a photo of the cool {}\",\n    \"a close-up photo of a {}\",\n    \"a bright photo of the {}\",\n    \"a cropped photo of a {}\",\n    \"a photo of the {}\",\n    \"a good photo of the {}\",\n    \"a photo of one {}\",\n    \"a close-up photo of the {}\",\n    \"a rendition of the {}\",\n    \"a photo of the clean {}\",\n    \"a rendition of a {}\",\n    \"a photo of a nice {}\",\n    \"a good photo of a {}\",\n    \"a photo of the nice {}\",\n    \"a photo of the small {}\",\n    \"a photo of the weird {}\",\n    \"a photo of the large {}\",\n    \"a photo of a cool {}\",\n    \"a photo of a small {}\",\n]\n\nimagenet_style_templates_small = [\n    \"a painting in the style of {}\",\n    \"a rendering in the style of {}\",\n    \"a cropped painting in the style of {}\",\n    \"the painting in the style of {}\",\n    \"a clean painting in the style of {}\",\n    \"a dirty painting in the style of {}\",\n    \"a dark painting in the style of {}\",\n    \"a picture in the style of {}\",\n    \"a cool painting in the style of {}\",\n    \"a close-up painting in the style of {}\",\n    \"a bright painting in the style of {}\",\n    \"a cropped painting in the style of {}\",\n    \"a good painting in the style of {}\",\n    \"a close-up painting in the style of {}\",\n    \"a rendition in the style of {}\",\n    \"a nice painting in the style of {}\",\n    \"a small painting in the style of {}\",\n    \"a weird painting in the style of {}\",\n    \"a large painting in the style of {}\",\n]\n\n\nclass TextualInversionDataset(Dataset):\n    def __init__(\n        self,\n        data_root,\n        tokenizer,\n        learnable_property=\"object\",  # [object, style]\n        size=512,\n        repeats=100,\n        interpolation=\"bicubic\",\n        set=\"train\",\n        placeholder_token=\"*\",\n        center_crop=False,\n        templates=None,\n    ):\n        self.data_root = data_root\n        self.tokenizer = tokenizer\n        self.learnable_property = learnable_property\n        self.size = size\n        self.placeholder_token = placeholder_token\n        self.center_crop = center_crop\n\n        self.image_paths = [\n            os.path.join(self.data_root, file_path)\n            for file_path in os.listdir(self.data_root)\n            if file_path.lower().endswith((\".png\", \".jpg\", \".jpeg\"))\n        ]\n\n        self.num_images = len(self.image_paths)\n        self._length = self.num_images\n\n        if set == \"train\":\n            self._length = self.num_images * repeats\n\n        self.interpolation = {\n            \"linear\": PIL.Image.LINEAR,\n            \"bilinear\": PIL.Image.BILINEAR,\n            \"bicubic\": PIL.Image.BICUBIC,\n            \"lanczos\": PIL.Image.LANCZOS,\n        }[interpolation]\n\n        self.templates = templates\n        self.cache = {}\n        self.tokenized_templates = [\n            self.tokenizer(\n                text.format(self.placeholder_token),\n                padding=\"max_length\",\n                truncation=True,\n                max_length=self.tokenizer.model_max_length,\n                return_tensors=\"pt\",\n            ).input_ids[0]\n            for text in self.templates\n        ]\n\n    def __len__(self):\n        return self._length\n\n    def get_example(self, image_path, flipped):\n        if image_path in self.cache:\n            return self.cache[image_path]\n\n        example = {}\n        image = Image.open(image_path)\n\n        if not image.mode == \"RGB\":\n            image = image.convert(\"RGB\")\n\n        # default to score-sde preprocessing\n        img = np.array(image).astype(np.uint8)\n        if self.center_crop:\n            crop = min(img.shape[0], img.shape[1])\n            (\n                h,\n                w,\n            ) = (\n                img.shape[0],\n                img.shape[1],\n            )\n            img = img[\n                (h - crop) // 2 : (h + crop) // 2, (w - crop) // 2 : (w + crop) // 2\n            ]\n        image = Image.fromarray(img)\n        image = image.resize((self.size, self.size), resample=self.interpolation)\n        image = transforms.RandomHorizontalFlip(p=1 if flipped else 0)(image)\n        image = np.array(image).astype(np.uint8)\n        image = (image / 127.5 - 1.0).astype(np.float32)\n        example[\"key\"] = \"-\".join([image_path, \"-\", str(flipped)])\n        example[\"pixel_values\"] = torch.from_numpy(image).permute(2, 0, 1)\n\n        self.cache[image_path] = example\n        return example\n\n    def __getitem__(self, i):\n        flipped = random.choice([False, True])\n        example = self.get_example(self.image_paths[i % self.num_images], flipped)\n        example[\"input_ids\"] = random.choice(self.tokenized_templates)\n        return example\n\n\ndef freeze_params(params):\n    for param in params:\n        param.requires_grad = False\n\n\ndef save_resume_file(basepath, args, extra={}):\n    info = {\"args\": vars(args)}\n    info[\"args\"].update(extra)\n    with open(f\"{basepath}/resume.json\", \"w\") as f:\n        json.dump(info, f, indent=4)\n\n\nclass Checkpointer:\n    def __init__(\n        self,\n        accelerator,\n        vae,\n        unet,\n        tokenizer,\n        placeholder_token,\n        placeholder_token_id,\n        templates,\n        output_dir,\n        random_sample_batches,\n        sample_batch_size,\n        stable_sample_batches,\n        seed,\n    ):\n        self.accelerator = accelerator\n        self.vae = vae\n        self.unet = unet\n        self.tokenizer = tokenizer\n        self.placeholder_token = placeholder_token\n        self.placeholder_token_id = placeholder_token_id\n        self.templates = templates\n        self.output_dir = output_dir\n        self.seed = seed\n        self.random_sample_batches = random_sample_batches\n        self.sample_batch_size = sample_batch_size\n        self.stable_sample_batches = stable_sample_batches\n\n    @torch.no_grad()\n    def checkpoint(self, step, text_encoder, save_samples=True, path=None):\n        print(\"Saving checkpoint for step %d...\" % step)\n        with torch.autocast(\"cuda\"):\n            if path is None:\n                checkpoints_path = f\"{self.output_dir}/checkpoints\"\n                os.makedirs(checkpoints_path, exist_ok=True)\n\n            unwrapped = self.accelerator.unwrap_model(text_encoder)\n\n            # Save a checkpoint\n            learned_embeds = unwrapped.get_input_embeddings().weight[\n                self.placeholder_token_id\n            ]\n            learned_embeds_dict = {\n                self.placeholder_token: learned_embeds.detach().cpu()\n            }\n\n            filename = \"%s_%d.bin\" % (slugify(self.placeholder_token), step)\n            if path is not None:\n                torch.save(learned_embeds_dict, path)\n            else:\n                torch.save(learned_embeds_dict, f\"{checkpoints_path}/{filename}\")\n                torch.save(learned_embeds_dict, f\"{checkpoints_path}/last.bin\")\n            del unwrapped\n            del learned_embeds\n\n    @torch.no_grad()\n    def save_samples(\n        self,\n        step,\n        text_encoder,\n        height,\n        width,\n        guidance_scale,\n        eta,\n        num_inference_steps,\n    ):\n        samples_path = f\"{self.output_dir}/samples\"\n        os.makedirs(samples_path, exist_ok=True)\n        checker = NoCheck()\n\n        unwrapped = self.accelerator.unwrap_model(text_encoder)\n        # Save a sample image\n        pipeline = StableDiffusionPipeline(\n            text_encoder=unwrapped,\n            vae=self.vae,\n            unet=self.unet,\n            tokenizer=self.tokenizer,\n            scheduler=LMSDiscreteScheduler(\n                beta_start=0.00085, beta_end=0.012, beta_schedule=\"scaled_linear\"\n            ),\n            safety_checker=NoCheck(),\n            feature_extractor=CLIPFeatureExtractor.from_pretrained(\n                \"openai/clip-vit-base-patch32\"\n            ),\n        ).to(\"cuda\")\n        pipeline.enable_attention_slicing()\n\n        if self.stable_sample_batches > 0:\n            stable_latents = torch.randn(\n                (\n                    self.sample_batch_size,\n                    pipeline.unet.in_channels,\n                    height // 8,\n                    width // 8,\n                ),\n                device=pipeline.device,\n                generator=torch.Generator(device=pipeline.device).manual_seed(\n                    self.seed\n                ),\n            )\n\n            stable_prompts = [\n                choice.format(self.placeholder_token)\n                for choice in (self.templates * self.sample_batch_size)[\n                    : self.sample_batch_size\n                ]\n            ]\n\n            # Generate and save stable samples\n            for i in range(0, self.stable_sample_batches):\n                samples = pipeline(\n                    prompt=stable_prompts,\n                    height=384,\n                    latents=stable_latents,\n                    width=384,\n                    guidance_scale=guidance_scale,\n                    eta=eta,\n                    num_inference_steps=num_inference_steps,\n                    output_type=\"pil\",\n                )[\"sample\"]\n                for idx, im in enumerate(samples):\n                    filename = \"stable_sample_%d_%d_step_%d.png\" % (\n                        i + 1,\n                        idx + 1,\n                        step,\n                    )\n                    im.save(f\"{samples_path}/{filename}\")\n                del samples\n            del stable_latents\n\n        prompts = [\n            choice.format(self.placeholder_token)\n            for choice in random.choices(self.templates, k=self.sample_batch_size)\n        ]\n        # Generate and save random samples\n        for i in range(0, self.random_sample_batches):\n            samples = pipeline(\n                prompt=prompts,\n                height=384,\n                width=384,\n                guidance_scale=guidance_scale,\n                eta=eta,\n                num_inference_steps=num_inference_steps,\n                output_type=\"pil\",\n            )[\"sample\"]\n            for idx, im in enumerate(samples):\n                filename = \"step_%d_sample_%d_%d.png\" % (step, i + 1, idx + 1)\n                im.save(f\"{samples_path}/{filename}\")\n            del samples\n\n        del checker\n        del unwrapped\n        del pipeline\n        torch.cuda.empty_cache()\n\n\ndef main():\n    args = parse_args()\n\n    global_step_offset = 0\n    if args.resume_from is not None:\n        basepath = f\"{args.resume_from}\"\n        print(\"Resuming state from %s\" % args.resume_from)\n        with open(f\"{basepath}/resume.json\", \"r\") as f:\n            state = json.load(f)\n        global_step_offset = state[\"args\"].get(\"global_step\", 0)\n\n        print(\"We've trained %d steps so far\" % global_step_offset)\n    else:\n        now = datetime.datetime.now().strftime(\"%Y-%m-%dT%H-%M-%S\")\n        basepath = f\"{args.output_dir}/{slugify(args.placeholder_token)}/{now}\"\n        os.makedirs(basepath, exist_ok=True)\n\n    accelerator = Accelerator(\n        gradient_accumulation_steps=args.gradient_accumulation_steps,\n        mixed_precision=args.mixed_precision,\n    )\n\n    # If passed along, set the training seed now.\n    if args.seed is not None:\n        set_seed(args.seed)\n\n    # Load the tokenizer and add the placeholder token as a additional special token\n    if args.tokenizer_name:\n        tokenizer = CLIPTokenizer.from_pretrained(args.tokenizer_name)\n    elif args.pretrained_model_name_or_path:\n        tokenizer = CLIPTokenizer.from_pretrained(\n            args.pretrained_model_name_or_path + \"/tokenizer\"\n        )\n\n    # Add the placeholder token in tokenizer\n    num_added_tokens = tokenizer.add_tokens(args.placeholder_token)\n    if num_added_tokens == 0:\n        raise ValueError(\n            f\"The tokenizer already contains the token {args.placeholder_token}. Please pass a different\"\n            \" `placeholder_token` that is not already in the tokenizer.\"\n        )\n\n    # Convert the initializer_token, placeholder_token to ids\n    token_ids = tokenizer.encode(args.initializer_token, add_special_tokens=False)\n    # Check if initializer_token is a single token or a sequence of tokens\n    if len(token_ids) > 1:\n        raise ValueError(\"The initializer token must be a single token.\")\n\n    initializer_token_id = token_ids[0]\n    placeholder_token_id = tokenizer.convert_tokens_to_ids(args.placeholder_token)\n\n    # Load models and create wrapper for stable diffusion\n    text_encoder = CLIPTextModel.from_pretrained(\n        args.pretrained_model_name_or_path + \"/text_encoder\",\n    )\n    vae = AutoencoderKL.from_pretrained(\n        args.pretrained_model_name_or_path + \"/vae\",\n    )\n    unet = UNet2DConditionModel.from_pretrained(\n        args.pretrained_model_name_or_path + \"/unet\",\n    )\n\n    base_templates = (\n        imagenet_style_templates_small\n        if args.learnable_property == \"style\"\n        else imagenet_templates_small\n    )\n    if args.custom_templates:\n        templates = args.custom_templates.split(\";\")\n    else:\n        templates = base_templates\n\n    slice_size = unet.config.attention_head_dim // 2\n    unet.set_attention_slice(slice_size)\n\n    # Resize the token embeddings as we are adding new special tokens to the tokenizer\n    text_encoder.resize_token_embeddings(len(tokenizer))\n\n    # Initialise the newly added placeholder token with the embeddings of the initializer token\n    token_embeds = text_encoder.get_input_embeddings().weight.data\n\n    if args.resume_checkpoint is not None:\n        token_embeds[placeholder_token_id] = torch.load(args.resume_checkpoint)[\n            args.placeholder_token\n        ]\n    else:\n        token_embeds[placeholder_token_id] = token_embeds[initializer_token_id]\n\n    # Freeze vae and unet\n    freeze_params(vae.parameters())\n    freeze_params(unet.parameters())\n    # Freeze all parameters except for the token embeddings in text encoder\n    params_to_freeze = itertools.chain(\n        text_encoder.text_model.encoder.parameters(),\n        text_encoder.text_model.final_layer_norm.parameters(),\n        text_encoder.text_model.embeddings.position_embedding.parameters(),\n    )\n    freeze_params(params_to_freeze)\n\n    checkpointer = Checkpointer(\n        accelerator=accelerator,\n        vae=vae,\n        unet=unet,\n        tokenizer=tokenizer,\n        placeholder_token=args.placeholder_token,\n        placeholder_token_id=placeholder_token_id,\n        templates=templates,\n        output_dir=basepath,\n        sample_batch_size=args.sample_batch_size,\n        random_sample_batches=args.random_sample_batches,\n        stable_sample_batches=args.stable_sample_batches,\n        seed=args.seed,\n    )\n\n    if args.scale_lr:\n        args.learning_rate = (\n            args.learning_rate\n            * args.gradient_accumulation_steps\n            * args.train_batch_size\n            * accelerator.num_processes\n        )\n\n    # Initialize the optimizer\n    optimizer = torch.optim.AdamW(\n        text_encoder.get_input_embeddings().parameters(),  # only optimize the embeddings\n        lr=args.learning_rate,\n        betas=(args.adam_beta1, args.adam_beta2),\n        weight_decay=args.adam_weight_decay,\n        eps=args.adam_epsilon,\n    )\n\n    # TODO (patil-suraj): laod scheduler using args\n    noise_scheduler = DDPMScheduler(\n        beta_start=0.00085,\n        beta_end=0.012,\n        beta_schedule=\"scaled_linear\",\n        num_train_timesteps=1000,\n        tensor_format=\"pt\",\n    )\n\n    train_dataset = TextualInversionDataset(\n        data_root=args.train_data_dir,\n        tokenizer=tokenizer,\n        size=args.resolution,\n        placeholder_token=args.placeholder_token,\n        repeats=args.repeats,\n        learnable_property=args.learnable_property,\n        center_crop=args.center_crop,\n        set=\"train\",\n        templates=templates,\n    )\n    train_dataloader = torch.utils.data.DataLoader(\n        train_dataset, batch_size=args.train_batch_size, shuffle=True\n    )\n\n    # Scheduler and math around the number of training steps.\n    overrode_max_train_steps = False\n    num_update_steps_per_epoch = math.ceil(\n        len(train_dataloader) / args.gradient_accumulation_steps\n    )\n    if args.max_train_steps is None:\n        args.max_train_steps = args.num_train_epochs * num_update_steps_per_epoch\n        overrode_max_train_steps = True\n\n    lr_scheduler = get_scheduler(\n        args.lr_scheduler,\n        optimizer=optimizer,\n        num_warmup_steps=args.lr_warmup_steps * args.gradient_accumulation_steps,\n        num_training_steps=args.max_train_steps * args.gradient_accumulation_steps,\n    )\n\n    text_encoder, optimizer, train_dataloader, lr_scheduler = accelerator.prepare(\n        text_encoder, optimizer, train_dataloader, lr_scheduler\n    )\n\n    # Move vae and unet to device\n    vae.to(accelerator.device)\n    unet.to(accelerator.device)\n\n    # Keep vae and unet in eval mode as we don't train these\n    vae.eval()\n    unet.eval()\n\n    # We need to recalculate our total training steps as the size of the training dataloader may have changed.\n    num_update_steps_per_epoch = math.ceil(\n        len(train_dataloader) / args.gradient_accumulation_steps\n    )\n    if overrode_max_train_steps:\n        args.max_train_steps = args.num_train_epochs * num_update_steps_per_epoch\n    # Afterwards we recalculate our number of training epochs\n    args.num_train_epochs = math.ceil(args.max_train_steps / num_update_steps_per_epoch)\n\n    # We need to initialize the trackers we use, and also store our configuration.\n    # The trackers initializes automatically on the main process.\n    if accelerator.is_main_process:\n        accelerator.init_trackers(\"textual_inversion\", config=vars(args))\n\n    # Train!\n    total_batch_size = (\n        args.train_batch_size\n        * accelerator.num_processes\n        * args.gradient_accumulation_steps\n    )\n\n    logger.info(\"***** Running training *****\")\n    logger.info(f\"  Num examples = {len(train_dataset)}\")\n    logger.info(f\"  Num Epochs = {args.num_train_epochs}\")\n    logger.info(f\"  Instantaneous batch size per device = {args.train_batch_size}\")\n    logger.info(\n        f\"  Total train batch size (w. parallel, distributed & accumulation) = {total_batch_size}\"\n    )\n    logger.info(f\"  Gradient Accumulation steps = {args.gradient_accumulation_steps}\")\n    logger.info(f\"  Total optimization steps = {args.max_train_steps}\")\n    # Only show the progress bar once on each machine.\n    progress_bar = tqdm(\n        range(args.max_train_steps), disable=not accelerator.is_local_main_process\n    )\n    progress_bar.set_description(\"Steps\")\n    global_step = 0\n    encoded_pixel_values_cache = {}\n\n    try:\n        for epoch in range(args.num_train_epochs):\n            text_encoder.train()\n            for step, batch in enumerate(train_dataloader):\n                with accelerator.accumulate(text_encoder):\n                    # Convert images to latent space\n                    key = \"|\".join(batch[\"key\"])\n                    if encoded_pixel_values_cache.get(key, None) is None:\n                        encoded_pixel_values_cache[key] = vae.encode(\n                            batch[\"pixel_values\"]\n                        ).latent_dist\n                    latents = (\n                        encoded_pixel_values_cache[key].sample().detach().half()\n                        * 0.18215\n                    )\n\n                    # Sample noise that we'll add to the latents\n                    noise = torch.randn(latents.shape).to(latents.device)\n                    bsz = latents.shape[0]\n                    # Sample a random timestep for each image\n                    timesteps = torch.randint(\n                        0,\n                        noise_scheduler.num_train_timesteps,\n                        (bsz,),\n                        device=latents.device,\n                    ).long()\n\n                    # Add noise to the latents according to the noise magnitude at each timestep\n                    # (this is the forward diffusion process)\n                    noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps)\n\n                    # Get the text embedding for conditioning\n                    encoder_hidden_states = text_encoder(batch[\"input_ids\"])[0]\n\n                    # Predict the noise residual\n                    noise_pred = unet(\n                        noisy_latents, timesteps, encoder_hidden_states\n                    ).sample\n\n                    loss = (\n                        F.mse_loss(noise_pred, noise, reduction=\"none\")\n                        .mean([1, 2, 3])\n                        .mean()\n                    )\n                    accelerator.backward(loss)\n\n                    # Zero out the gradients for all token embeddings except the newly added\n                    # embeddings for the concept, as we only want to optimize the concept embeddings\n                    if accelerator.num_processes > 1:\n                        grads = text_encoder.module.get_input_embeddings().weight.grad\n                    else:\n                        grads = text_encoder.get_input_embeddings().weight.grad\n                    # Get the index for tokens that we want to zero the grads for\n                    index_grads_to_zero = (\n                        torch.arange(len(tokenizer)) != placeholder_token_id\n                    )\n                    grads.data[index_grads_to_zero, :] = grads.data[\n                        index_grads_to_zero, :\n                    ].fill_(0)\n\n                    optimizer.step()\n                    lr_scheduler.step()\n                    optimizer.zero_grad()\n\n                # Checks if the accelerator has performed an optimization step behind the scenes\n                if accelerator.sync_gradients:\n                    progress_bar.update(1)\n                    global_step += 1\n\n                    if (\n                        global_step % args.checkpoint_frequency == 0\n                        and global_step > 0\n                        and accelerator.is_main_process\n                    ):\n                        checkpointer.checkpoint(\n                            global_step + global_step_offset, text_encoder\n                        )\n                        save_resume_file(\n                            basepath,\n                            args,\n                            {\n                                \"global_step\": global_step + global_step_offset,\n                                \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                            },\n                        )\n                        checkpointer.save_samples(\n                            global_step + global_step_offset,\n                            text_encoder,\n                            args.resolution,\n                            args.resolution,\n                            7.5,\n                            0.0,\n                            args.sample_steps,\n                        )\n\n                logs = {\n                    \"loss\": loss.detach().item(),\n                    \"lr\": lr_scheduler.get_last_lr()[0],\n                }\n                progress_bar.set_postfix(**logs)\n                # accelerator.log(logs, step=global_step)\n\n                if global_step >= args.max_train_steps:\n                    break\n\n            accelerator.wait_for_everyone()\n\n        # Create the pipeline using using the trained modules and save it.\n        if accelerator.is_main_process:\n            print(\"Finished! Saving final checkpoint and resume state.\")\n            checkpointer.checkpoint(\n                global_step + global_step_offset,\n                text_encoder,\n                path=f\"{basepath}/learned_embeds.bin\",\n            )\n\n            save_resume_file(\n                basepath,\n                args,\n                {\n                    \"global_step\": global_step + global_step_offset,\n                    \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                },\n            )\n\n            accelerator.end_training()\n\n    except KeyboardInterrupt:\n        if accelerator.is_main_process:\n            print(\"Interrupted, saving checkpoint and resume state...\")\n            checkpointer.checkpoint(global_step + global_step_offset, text_encoder)\n            save_resume_file(\n                basepath,\n                args,\n                {\n                    \"global_step\": global_step + global_step_offset,\n                    \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                },\n            )\n        quit()\n\n\nif __name__ == \"__main__\":\n    main()\n"
  },
  {
    "path": "scripts/home.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom webui_streamlit import st\nfrom sd_utils import *\n\n# streamlit imports\n\n\n# other imports\n\n# Temp imports\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nimport os\nfrom PIL import Image\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n\nclass plugin_info:\n    plugname = \"home\"\n    description = \"Home\"\n    isTab = True\n    displayPriority = 0\n\n\ndef getLatestGeneratedImagesFromPath():\n    # get the latest images from the generated images folder\n    # get the path to the generated images folder\n    generatedImagesPath = os.path.join(os.getcwd(), \"outputs\")\n    # get all the files from the folders and subfolders\n    files = []\n    # get the latest 10 images from the output folder without walking the subfolders\n    for r, d, f in os.walk(generatedImagesPath):\n        for file in f:\n            if \".png\" in file:\n                files.append(os.path.join(r, file))\n    # sort the files by date\n    files.sort(reverse=True, key=os.path.getmtime)\n    latest = files[:90]\n    latest.reverse()\n\n    # reverse the list so the latest images are first and truncate to\n    # a reasonable number of images, 10 pages worth\n    return [Image.open(f) for f in latest]\n\n\ndef get_images_from_lexica():\n    # scrape images from lexica.art\n    # get the html from the page\n    # get the html with cookies and javascript\n    apiEndpoint = r\"https://lexica.art/api/trpc/prompts.infinitePrompts?batch=1&input=%7B%220%22%3A%7B%22json%22%3A%7B%22limit%22%3A10%2C%22text%22%3A%22%22%2C%22cursor%22%3A10%7D%7D%7D\"\n    # REST API call\n    #\n    from requests_html import HTMLSession\n\n    session = HTMLSession()\n\n    response = session.get(apiEndpoint)\n    # req = requests.Session()\n    # req.headers['user-agent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'\n    # response = req.get(apiEndpoint)\n    print(response.status_code)\n    print(response.text)\n    # get the json from the response\n    # json = response.json()\n    # get the prompts from the json\n    print(response)\n    # session = requests.Session()\n    # parseEndpointJson = session.get(apiEndpoint,headers=headers,verify=False)\n    # print(parseEndpointJson)\n    # print('test2')\n    # page = requests.get(\"https://lexica.art/\", headers={'User-Agent': 'Mozilla/5.0'})\n    # parse the html\n    # soup = BeautifulSoup(page.content, 'html.parser')\n    # find all the images\n    # print(soup)\n    # images = soup.find_all('alt-image')\n    # create a list to store the image urls\n    image_urls = []\n    # loop through the images\n    for image in images:\n        # get the url\n        image_url = image[\"src\"]\n        # add it to the list\n        image_urls.append(\"http://www.lexica.art/\" + image_url)\n    # return the list\n    print(image_urls)\n    return image_urls\n\n\ndef layout():\n    # streamlit home page layout\n    # center the title\n    st.markdown(\n        \"<h1 style='text-align: center; color: white;'>Welcome, let's make some 🎨</h1>\",\n        unsafe_allow_html=True,\n    )\n    # make a gallery of images\n    # st.markdown(\"<h2 style='text-align: center; color: white;'>Gallery</h2>\", unsafe_allow_html=True)\n    # create a gallery of images using columns\n    # col1, col2, col3 = st.columns(3)\n    # load the images\n    # create 3 columns\n    # create a tab for the gallery\n    # st.markdown(\"<h2 style='text-align: center; color: white;'>Gallery</h2>\", unsafe_allow_html=True)\n    # st.markdown(\"<h2 style='text-align: center; color: white;'>Gallery</h2>\", unsafe_allow_html=True)\n\n    history_tab, discover_tabs = st.tabs([\"History\", \"Discover\"])\n\n    latestImages = getLatestGeneratedImagesFromPath()\n    st.session_state[\"latestImages\"] = latestImages\n\n    with history_tab:\n        ##---------------------------------------------------------\n        ## image slideshow test\n        ## Number of entries per screen\n        # slideshow_N = 9\n        # slideshow_page_number = 0\n        # slideshow_last_page = len(latestImages) // slideshow_N\n\n        ## Add a next button and a previous button\n\n        # slideshow_prev, slideshow_image_col , slideshow_next = st.columns([1, 10, 1])\n\n        # with slideshow_image_col:\n        # slideshow_image = st.empty()\n\n        # slideshow_image.image(st.session_state['latestImages'][0])\n\n        # current_image = 0\n\n        # if slideshow_next.button(\"Next\", key=1):\n        ##print (current_image+1)\n        # current_image = current_image+1\n        # slideshow_image.image(st.session_state['latestImages'][current_image+1])\n        # if slideshow_prev.button(\"Previous\", key=0):\n        ##print ([current_image-1])\n        # current_image = current_image-1\n        # slideshow_image.image(st.session_state['latestImages'][current_image - 1])\n\n        # ---------------------------------------------------------\n\n        # image gallery\n        # Number of entries per screen\n        gallery_N = 9\n        if \"galleryPage\" not in st.session_state:\n            st.session_state[\"galleryPage\"] = 0\n        gallery_last_page = len(latestImages) // gallery_N\n\n        # Add a next button and a previous button\n\n        gallery_prev, gallery_refresh, gallery_pagination, gallery_next = st.columns(\n            [2, 2, 8, 1]\n        )\n\n        # the pagination doesnt work for now so its better to disable the buttons.\n\n        if gallery_refresh.button(\"Refresh\", key=4):\n            st.session_state[\"galleryPage\"] = 0\n\n        if gallery_next.button(\"Next\", key=3):\n            if st.session_state[\"galleryPage\"] + 1 > gallery_last_page:\n                st.session_state[\"galleryPage\"] = 0\n            else:\n                st.session_state[\"galleryPage\"] += 1\n\n        if gallery_prev.button(\"Previous\", key=2):\n            if st.session_state[\"galleryPage\"] - 1 < 0:\n                st.session_state[\"galleryPage\"] = gallery_last_page\n            else:\n                st.session_state[\"galleryPage\"] -= 1\n\n        print(st.session_state[\"galleryPage\"])\n        # Get start and end indices of the next page of the dataframe\n        gallery_start_idx = st.session_state[\"galleryPage\"] * gallery_N\n        (1 + st.session_state[\"galleryPage\"]) * gallery_N\n\n        # ---------------------------------------------------------\n\n        placeholder = st.empty()\n\n        # populate the 3 images per column\n        with placeholder.container():\n            col1, col2, col3 = st.columns(3)\n            col1_cont = st.container()\n            col2_cont = st.container()\n            col3_cont = st.container()\n\n            print(len(st.session_state[\"latestImages\"]))\n            images = list(reversed(st.session_state[\"latestImages\"]))[\n                gallery_start_idx : (gallery_start_idx + gallery_N)\n            ]\n\n            with col1_cont:\n                with col1:\n                    [\n                        st.image(images[index])\n                        for index in [0, 3, 6]\n                        if index < len(images)\n                    ]\n            with col2_cont:\n                with col2:\n                    [\n                        st.image(images[index])\n                        for index in [1, 4, 7]\n                        if index < len(images)\n                    ]\n            with col3_cont:\n                with col3:\n                    [\n                        st.image(images[index])\n                        for index in [2, 5, 8]\n                        if index < len(images)\n                    ]\n\n        st.session_state[\"historyTab\"] = [\n            history_tab,\n            col1,\n            col2,\n            col3,\n            placeholder,\n            col1_cont,\n            col2_cont,\n            col3_cont,\n        ]\n\n    with discover_tabs:\n        st.markdown(\n            \"<h1 style='text-align: center; color: white;'>Soon :)</h1>\",\n            unsafe_allow_html=True,\n        )\n\n    # display the images\n    # add a button to the gallery\n    # st.markdown(\"<h2 style='text-align: center; color: white;'>Try it out</h2>\", unsafe_allow_html=True)\n    # create a button to the gallery\n    # if st.button(\"Try it out\"):\n    # if the button is clicked, go to the gallery\n    # st.experimental_rerun()\n"
  },
  {
    "path": "scripts/hydrus_api/__init__.py",
    "content": "# Copyright (C) 2021 cryzed\n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nimport enum\nimport json\nimport os\nimport typing as T\nfrom collections import abc\n\nimport requests\n\n__version__ = \"4.0.0\"\n\nDEFAULT_API_URL = \"http://127.0.0.1:45869/\"\nHYDRUS_METADATA_ENCODING = \"utf-8\"\nAUTHENTICATION_TIMEOUT_CODE = 419\n\n\nclass HydrusAPIException(Exception):\n    pass\n\n\nclass ConnectionError(HydrusAPIException, requests.ConnectTimeout):\n    pass\n\n\nclass APIError(HydrusAPIException):\n    def __init__(self, response: requests.Response):\n        super().__init__(response.text)\n        self.response = response\n\n\nclass MissingParameter(APIError):\n    pass\n\n\nclass InsufficientAccess(APIError):\n    pass\n\n\nclass DatabaseLocked(APIError):\n    pass\n\n\nclass ServerError(APIError):\n    pass\n\n\n# Customize IntEnum, so we can just do str(Enum.member) to get the string representation of its value unmodified,\n# without users having to access .value explicitly\nclass StringableIntEnum(enum.IntEnum):\n    def __str__(self):\n        return str(self.value)\n\n\n@enum.unique\nclass Permission(StringableIntEnum):\n    IMPORT_URLS = 0\n    IMPORT_FILES = 1\n    ADD_TAGS = 2\n    SEARCH_FILES = 3\n    MANAGE_PAGES = 4\n    MANAGE_COOKIES = 5\n    MANAGE_DATABASE = 6\n    ADD_NOTES = 7\n\n\n@enum.unique\nclass URLType(StringableIntEnum):\n    POST_URL = 0\n    FILE_URL = 2\n    GALLERY_URL = 3\n    WATCHABLE_URL = 4\n    UNKNOWN_URL = 5\n\n\n@enum.unique\nclass ImportStatus(StringableIntEnum):\n    IMPORTABLE = 0\n    SUCCESS = 1\n    EXISTS = 2\n    PREVIOUSLY_DELETED = 3\n    FAILED = 4\n    VETOED = 7\n\n\n@enum.unique\nclass TagAction(StringableIntEnum):\n    ADD = 0\n    DELETE = 1\n    PEND = 2\n    RESCIND_PENDING = 3\n    PETITION = 4\n    RESCIND_PETITION = 5\n\n\n@enum.unique\nclass TagStatus(StringableIntEnum):\n    CURRENT = 0\n    PENDING = 1\n    DELETED = 2\n    PETITIONED = 3\n\n\n@enum.unique\nclass PageType(StringableIntEnum):\n    GALLERY_DOWNLOADER = 1\n    SIMPLE_DOWNLOADER = 2\n    HARD_DRIVE_IMPORT = 3\n    PETITIONS = 5\n    FILE_SEARCH = 6\n    URL_DOWNLOADER = 7\n    DUPLICATES = 8\n    THREAD_WATCHER = 9\n    PAGE_OF_PAGES = 10\n\n\n@enum.unique\nclass FileSortType(StringableIntEnum):\n    FILE_SIZE = 0\n    DURATION = 1\n    IMPORT_TIME = 2\n    FILE_TYPE = 3\n    RANDOM = 4\n    WIDTH = 5\n    HEIGHT = 6\n    RATIO = 7\n    NUMBER_OF_PIXELS = 8\n    NUMBER_OF_TAGS = 9\n    NUMBER_OF_MEDIA_VIEWS = 10\n    TOTAL_MEDIA_VIEWTIME = 11\n    APPROXIMATE_BITRATE = 12\n    HAS_AUDIO = 13\n    MODIFIED_TIME = 14\n    FRAMERATE = 15\n    NUMBER_OF_FRAMES = 16\n\n\nclass BinaryFileLike(T.Protocol):\n    def read(self):\n        ...\n\n\n# The client should accept all objects that either support the iterable or mapping protocol. We must ensure that objects\n# are either lists or dicts, so Python's json module can handle them\nclass JSONEncoder(json.JSONEncoder):\n    def default(self, object_: T.Any):\n        if isinstance(object_, abc.Mapping):\n            return dict(object_)\n        if isinstance(object_, abc.Iterable):\n            return list(object_)\n        return super().default(object_)\n\n\nclass Client:\n    VERSION = 31\n\n    # Access Management\n    _GET_API_VERSION_PATH = \"/api_version\"\n    _REQUEST_NEW_PERMISSIONS_PATH = \"/request_new_permissions\"\n    _GET_SESSION_KEY_PATH = \"/session_key\"\n    _VERIFY_ACCESS_KEY_PATH = \"/verify_access_key\"\n    _GET_SERVICES_PATH = \"/get_services\"\n\n    # Adding Files\n    _ADD_FILE_PATH = \"/add_files/add_file\"\n    _DELETE_FILES_PATH = \"/add_files/delete_files\"\n    _UNDELETE_FILES_PATH = \"/add_files/undelete_files\"\n    _ARCHIVE_FILES_PATH = \"/add_files/archive_files\"\n    _UNARCHIVE_FILES_PATH = \"/add_files/unarchive_files\"\n\n    # Adding Tags\n    _CLEAN_TAGS_PATH = \"/add_tags/clean_tags\"\n    _SEARCH_TAGS_PATH = \"/add_tags/search_tags\"\n    _ADD_TAGS_PATH = \"/add_tags/add_tags\"\n\n    # Adding URLs\n    _GET_URL_FILES_PATH = \"/add_urls/get_url_files\"\n    _GET_URL_INFO_PATH = \"/add_urls/get_url_info\"\n    _ADD_URL_PATH = \"/add_urls/add_url\"\n    _ASSOCIATE_URL_PATH = \"/add_urls/associate_url\"\n\n    # Adding Notes\n    _SET_NOTES_PATH = \"/add_notes/set_notes\"\n    _DELETE_NOTES_PATH = \"/add_notes/delete_notes\"\n\n    # Managing Cookies and HTTP Headers\n    _GET_COOKIES_PATH = \"/manage_cookies/get_cookies\"\n    _SET_COOKIES_PATH = \"/manage_cookies/set_cookies\"\n    _SET_USER_AGENT_PATH = \"/manage_headers/set_user_agent\"\n\n    # Managing Pages\n    _GET_PAGES_PATH = \"/manage_pages/get_pages\"\n    _GET_PAGE_INFO_PATH = \"/manage_pages/get_page_info\"\n    _ADD_FILES_TO_PAGE_PATH = \"/manage_pages/add_files\"\n    _FOCUS_PAGE_PATH = \"/manage_pages/focus_page\"\n\n    # Searching and Fetching Files\n    _SEARCH_FILES_PATH = \"/get_files/search_files\"\n    _GET_FILE_METADATA_PATH = \"/get_files/file_metadata\"\n    _GET_FILE_PATH = \"/get_files/file\"\n    _GET_THUMBNAIL_PATH = \"/get_files/thumbnail\"\n\n    # Managing the Database\n    _LOCK_DATABASE_PATH = \"/manage_database/lock_on\"\n    _UNLOCK_DATABASE_PATH = \"/manage_database/lock_off\"\n    _MR_BONES_PATH = \"/manage_database/mr_bones\"\n\n    def __init__(\n        self,\n        access_key=None,\n        api_url: str = DEFAULT_API_URL,\n        session=None,\n    ):\n        \"\"\"\n        See https://hydrusnetwork.github.io/hydrus/help/client_api.html for documentation.\n        \"\"\"\n\n        self.access_key = access_key\n        self.api_url = api_url.rstrip(\"/\")\n        self.session = session or requests.Session()\n\n    def _api_request(self, method: str, path: str, **kwargs: T.Any):\n        if self.access_key is not None:\n            kwargs.setdefault(\"headers\", {}).update(\n                {\"Hydrus-Client-API-Access-Key\": self.access_key}\n            )\n\n        # Make sure we use our custom JSONEncoder that can serialize all objects that implement the iterable or mapping\n        # protocol\n        json_data = kwargs.pop(\"json\", None)\n        if json_data is not None:\n            kwargs[\"data\"] = json.dumps(json_data, cls=JSONEncoder)\n            # Since we aren't using the json keyword-argument, we have to set the Content-Type manually\n            kwargs[\"headers\"][\"Content-Type\"] = \"application/json\"\n\n        try:\n            response = self.session.request(method, self.api_url + path, **kwargs)\n        except requests.RequestException as error:\n            # Re-raise connection and timeout errors as hydrus.ConnectionErrors so these are more easy to handle for\n            # client applications\n            raise ConnectionError(*error.args)\n\n        try:\n            response.raise_for_status()\n        except requests.HTTPError:\n            if response.status_code == requests.codes.bad_request:\n                raise MissingParameter(response)\n            elif response.status_code in {\n                requests.codes.unauthorized,\n                requests.codes.forbidden,\n                AUTHENTICATION_TIMEOUT_CODE,\n            }:\n                raise InsufficientAccess(response)\n            elif response.status_code == requests.codes.service_unavailable:\n                raise DatabaseLocked(response)\n            elif response.status_code == requests.codes.server_error:\n                raise ServerError(response)\n            raise APIError(response)\n\n        return response\n\n    def get_api_version(self):\n        response = self._api_request(\"GET\", self._GET_API_VERSION_PATH)\n        return response.json()\n\n    def request_new_permissions(self, name, permissions):\n        response = self._api_request(\n            \"GET\",\n            self._REQUEST_NEW_PERMISSIONS_PATH,\n            params={\n                \"name\": name,\n                \"basic_permissions\": json.dumps(permissions, cls=JSONEncoder),\n            },\n        )\n        return response.json()[\"access_key\"]\n\n    def get_session_key(self):\n        response = self._api_request(\"GET\", self._GET_SESSION_KEY_PATH)\n        return response.json()[\"session_key\"]\n\n    def verify_access_key(self):\n        response = self._api_request(\"GET\", self._VERIFY_ACCESS_KEY_PATH)\n        return response.json()\n\n    def get_services(self):\n        response = self._api_request(\"GET\", self._GET_SERVICES_PATH)\n        return response.json()\n\n    def add_file(self, path_or_file: T.Union[str, os.PathLike, BinaryFileLike]):\n        if isinstance(path_or_file, (str, os.PathLike)):\n            response = self._api_request(\n                \"POST\", self._ADD_FILE_PATH, json={\"path\": os.fspath(path_or_file)}\n            )\n        else:\n            response = self._api_request(\n                \"POST\",\n                self._ADD_FILE_PATH,\n                data=path_or_file.read(),\n                headers={\"Content-Type\": \"application/octet-stream\"},\n            )\n\n        return response.json()\n\n    def delete_files(\n        self,\n        hashes=None,\n        file_ids=None,\n        file_service_name=None,\n        file_service_key=None,\n        reason=None,\n    ):\n        if hashes is None and file_ids is None:\n            raise ValueError(\"At least one of hashes, file_ids is required\")\n        if file_service_name is not None and file_service_key is not None:\n            raise ValueError(\n                \"Exactly one of file_service_name, file_service_key is required\"\n            )\n\n        payload: dict[str, T.Any] = {}\n        if hashes is not None:\n            payload[\"hashes\"] = hashes\n        if file_ids is not None:\n            payload[\"file_ids\"] = file_ids\n        if file_service_name is not None:\n            payload[\"file_service_name\"] = file_service_name\n        if file_service_key is not None:\n            payload[\"file_service_key\"] = file_service_key\n        if reason is not None:\n            payload[\"reason\"] = reason\n\n        self._api_request(\"POST\", self._DELETE_FILES_PATH, json=payload)\n\n    def undelete_files(\n        self,\n        hashes=None,\n        file_ids=None,\n        file_service_name=None,\n        file_service_key=None,\n    ):\n        if hashes is None and file_ids is None:\n            raise ValueError(\"At least one of hashes, file_ids is required\")\n        if file_service_name is not None and file_service_key is not None:\n            raise ValueError(\n                \"Exactly one of file_service_name, file_service_key is required\"\n            )\n\n        payload: dict[str, T.Any] = {}\n        if hashes is not None:\n            payload[\"hashes\"] = hashes\n        if file_ids is not None:\n            payload[\"file_ids\"] = file_ids\n        if file_service_name is not None:\n            payload[\"file_service_name\"] = file_service_name\n        if file_service_key is not None:\n            payload[\"file_service_key\"] = file_service_key\n\n        self._api_request(\"POST\", self._UNDELETE_FILES_PATH, json=payload)\n\n    def archive_files(self, hashes=None, file_ids=None):\n        if hashes is None and file_ids is None:\n            raise ValueError(\"At least one of hashes, file_ids is required\")\n\n        payload: dict[str, T.Any] = {}\n        if hashes is not None:\n            payload[\"hashes\"] = hashes\n        if file_ids is not None:\n            payload[\"file_ids\"] = file_ids\n\n        self._api_request(\"POST\", self._ARCHIVE_FILES_PATH, json=payload)\n\n    def unarchive_files(self, hashes=None, file_ids=None):\n        if hashes is None and file_ids is None:\n            raise ValueError(\"At least one of hashes, file_ids is required\")\n\n        payload: dict[str, T.Any] = {}\n        if hashes is not None:\n            payload[\"hashes\"] = hashes\n        if file_ids is not None:\n            payload[\"file_ids\"] = file_ids\n\n        self._api_request(\"POST\", self._UNARCHIVE_FILES_PATH, json=payload)\n\n    def clean_tags(self, tags):\n        response = self._api_request(\n            \"GET\",\n            self._CLEAN_TAGS_PATH,\n            params={\"tags\": json.dumps(tags, cls=JSONEncoder)},\n        )\n        return response.json()[\"tags\"]\n\n    def search_tags(self, search: str, tag_service_key=None, tag_service_name=None):\n        if tag_service_name is not None and tag_service_key is not None:\n            raise ValueError(\n                \"Exactly one of tag_service_name, tag_service_key is required\"\n            )\n\n        payload: dict[str, T.Any] = {\"search\": search}\n        if tag_service_key is not None:\n            payload[\"tag_service_key\"] = tag_service_key\n        if tag_service_name is not None:\n            payload[\"tag_service_name\"] = tag_service_name\n\n        response = self._api_request(\"GET\", self._SEARCH_TAGS_PATH, params=payload)\n        return response.json()[\"tags\"]\n\n    def add_tags(\n        self,\n        hashes=None,\n        file_ids=None,\n        service_names_to_tags=None,\n        service_keys_to_tags=None,\n        service_names_to_actions_to_tags=None,\n        service_keys_to_actions_to_tags=None,\n    ):\n        if hashes is None and file_ids is None:\n            raise ValueError(\"At least one of hashes, file_ids is required\")\n        if (\n            service_names_to_tags is None\n            and service_keys_to_tags is None\n            and service_names_to_actions_to_tags is None\n            and service_keys_to_actions_to_tags is None\n        ):\n            raise ValueError(\n                \"At least one of service_names_to_tags, service_keys_to_tags, service_names_to_actions_to_tags or \"\n                \"service_keys_to_actions_to_tags is required\"\n            )\n\n        payload: dict[str, T.Any] = {}\n        if hashes is not None:\n            payload[\"hashes\"] = hashes\n        if file_ids is not None:\n            payload[\"file_ids\"] = file_ids\n        if service_names_to_tags is not None:\n            payload[\"service_names_to_tags\"] = service_names_to_tags\n        if service_keys_to_tags is not None:\n            payload[\"service_keys_to_tags\"] = service_keys_to_tags\n        if service_names_to_actions_to_tags is not None:\n            payload[\n                \"service_names_to_actions_to_tags\"\n            ] = service_names_to_actions_to_tags\n        if service_keys_to_actions_to_tags is not None:\n            payload[\"service_keys_to_actions_to_tags\"] = service_keys_to_actions_to_tags\n\n        self._api_request(\"POST\", self._ADD_TAGS_PATH, json=payload)\n\n    def get_url_files(self, url: str):\n        response = self._api_request(\n            \"GET\", self._GET_URL_FILES_PATH, params={\"url\": url}\n        )\n        return response.json()\n\n    def get_url_info(self, url: str):\n        response = self._api_request(\n            \"GET\", self._GET_URL_INFO_PATH, params={\"url\": url}\n        )\n        return response.json()\n\n    def add_url(\n        self,\n        url: str,\n        destination_page_key=None,\n        destination_page_name=None,\n        show_destination_page=None,\n        service_names_to_additional_tags=None,\n        service_keys_to_additional_tags=None,\n        filterable_tags=None,\n    ):\n        if destination_page_key is not None and destination_page_name is not None:\n            raise ValueError(\n                \"Exactly one of destination_page_key, destination_page_name is required\"\n            )\n\n        payload: dict[str, T.Any] = {\"url\": url}\n        if destination_page_key is not None:\n            payload[\"destination_page_key\"] = destination_page_key\n        if destination_page_name is not None:\n            payload[\"destination_page_name\"] = destination_page_name\n        if show_destination_page is not None:\n            payload[\"show_destination_page\"] = show_destination_page\n        if service_names_to_additional_tags is not None:\n            payload[\n                \"service_names_to_additional_tags\"\n            ] = service_names_to_additional_tags\n        if service_keys_to_additional_tags is not None:\n            payload[\"service_keys_to_additional_tags\"] = service_keys_to_additional_tags\n        if filterable_tags is not None:\n            payload[\"filterable_tags\"] = filterable_tags\n\n        response = self._api_request(\"POST\", self._ADD_URL_PATH, json=payload)\n        return response.json()\n\n    def associate_url(\n        self,\n        hashes=None,\n        file_ids=None,\n        urls_to_add=None,\n        urls_to_delete=None,\n    ):\n        if hashes is None and file_ids is None:\n            raise ValueError(\"At least one of hashes, file_ids is required\")\n        if urls_to_add is None and urls_to_delete is None:\n            raise ValueError(\"At least one of urls_to_add, urls_to_delete is required\")\n\n        payload: dict[str, T.Any] = {}\n        if hashes is not None:\n            payload[\"hashes\"] = hashes\n        if file_ids is not None:\n            payload[\"file_ids\"] = file_ids\n        if urls_to_add is not None:\n            urls_to_add = urls_to_add\n            payload[\"urls_to_add\"] = urls_to_add\n        if urls_to_delete is not None:\n            urls_to_delete = urls_to_delete\n            payload[\"urls_to_delete\"] = urls_to_delete\n\n        self._api_request(\"POST\", self._ASSOCIATE_URL_PATH, json=payload)\n\n    def set_notes(self, notes, hash_=None, file_id=None):\n        if (hash_ is None and file_id is None) or (\n            hash_ is not None and file_id is not None\n        ):\n            raise ValueError(\"Exactly one of hash_, file_id is required\")\n\n        payload: dict[str, T.Any] = {\"notes\": notes}\n        if hash_ is not None:\n            payload[\"hash\"] = hash_\n        if file_id is not None:\n            payload[\"file_id\"] = file_id\n\n        self._api_request(\"POST\", self._SET_NOTES_PATH, json=payload)\n\n    def delete_notes(self, note_names, hash_=None, file_id=None):\n        if (hash_ is None and file_id is None) or (\n            hash_ is not None and file_id is not None\n        ):\n            raise ValueError(\"Exactly one of hash_, file_id is required\")\n\n        payload: dict[str, T.Any] = {\"note_names\": note_names}\n        if hash_ is not None:\n            payload[\"hash\"] = hash_\n        if file_id is not None:\n            payload[\"file_id\"] = file_id\n\n        self._api_request(\"POST\", self._DELETE_NOTES_PATH, json=payload)\n\n    def get_cookies(self, domain: str):\n        response = self._api_request(\n            \"GET\", self._GET_COOKIES_PATH, params={\"domain\": domain}\n        )\n        return response.json()[\"cookies\"]\n\n    def set_cookies(self, cookies):\n        self._api_request(\"POST\", self._SET_COOKIES_PATH, json={\"cookies\": cookies})\n\n    def set_user_agent(self, user_agent: str):\n        self._api_request(\n            \"POST\", self._SET_USER_AGENT_PATH, json={\"user-agent\": user_agent}\n        )\n\n    def get_pages(self):\n        response = self._api_request(\"GET\", self._GET_PAGES_PATH)\n        return response.json()[\"pages\"]\n\n    def get_page_info(self, page_key: str, simple=None):\n        parameters = {\"page_key\": page_key}\n        if simple is not None:\n            parameters[\"simple\"] = json.dumps(simple, cls=JSONEncoder)\n\n        response = self._api_request(\"GET\", self._GET_PAGE_INFO_PATH, params=parameters)\n        return response.json()[\"page_info\"]\n\n    def add_files_to_page(self, page_key: str, file_ids=None, hashes=None):\n        if file_ids is None and hashes is None:\n            raise ValueError(\"At least one of file_ids, hashes is required\")\n\n        payload: dict[str, T.Any] = {\"page_key\": page_key}\n        if file_ids is not None:\n            payload[\"file_ids\"] = file_ids\n        if hashes is not None:\n            payload[\"hashes\"] = hashes\n\n        self._api_request(\"POST\", self._ADD_FILES_TO_PAGE_PATH, json=payload)\n\n    def focus_page(self, page_key: str):\n        self._api_request(\"POST\", self._FOCUS_PAGE_PATH, json={\"page_key\": page_key})\n\n    def search_files(\n        self,\n        tags,\n        file_service_name=None,\n        file_service_key=None,\n        tag_service_name=None,\n        tag_service_key=None,\n        file_sort_type=None,\n        file_sort_asc=None,\n        return_hashes=None,\n    ):\n        if file_service_name is not None and file_service_key is not None:\n            raise ValueError(\n                \"Exactly one of file_service_name, file_service_key is required\"\n            )\n        if tag_service_name is not None and tag_service_key is not None:\n            raise ValueError(\n                \"Exactly one of tag_service_name, tag_service_key is required\"\n            )\n\n        parameters: dict[str, T.Union[str, int]] = {\n            \"tags\": json.dumps(tags, cls=JSONEncoder)\n        }\n        if file_service_name is not None:\n            parameters[\"file_service_name\"] = file_service_name\n        if file_service_key is not None:\n            parameters[\"file_service_key\"] = file_service_key\n\n        if tag_service_name is not None:\n            parameters[\"tag_service_name\"] = tag_service_name\n        if tag_service_key is not None:\n            parameters[\"tag_service_key\"] = tag_service_key\n\n        if file_sort_type is not None:\n            parameters[\"file_sort_type\"] = file_sort_type\n        if file_sort_asc is not None:\n            parameters[\"file_sort_asc\"] = json.dumps(file_sort_asc, cls=JSONEncoder)\n        if return_hashes is not None:\n            parameters[\"return_hashes\"] = json.dumps(return_hashes, cls=JSONEncoder)\n\n        response = self._api_request(\"GET\", self._SEARCH_FILES_PATH, params=parameters)\n        return response.json()[\"hashes\" if return_hashes else \"file_ids\"]\n\n    def get_file_metadata(\n        self,\n        hashes=None,\n        file_ids=None,\n        create_new_file_ids=None,\n        only_return_identifiers=None,\n        only_return_basic_information=None,\n        detailed_url_information=None,\n        hide_service_name_tags=None,\n        include_notes=None,\n    ):\n        if hashes is None and file_ids is None:\n            raise ValueError(\"At least one of hashes, file_ids is required\")\n\n        parameters = {}\n        if hashes is not None:\n            parameters[\"hashes\"] = json.dumps(hashes, cls=JSONEncoder)\n        if file_ids is not None:\n            parameters[\"file_ids\"] = json.dumps(file_ids, cls=JSONEncoder)\n\n        if create_new_file_ids is not None:\n            parameters[\"create_new_file_ids\"] = json.dumps(\n                create_new_file_ids, cls=JSONEncoder\n            )\n        if only_return_identifiers is not None:\n            parameters[\"only_return_identifiers\"] = json.dumps(\n                only_return_identifiers, cls=JSONEncoder\n            )\n        if only_return_basic_information is not None:\n            parameters[\"only_return_basic_information\"] = json.dumps(\n                only_return_basic_information, cls=JSONEncoder\n            )\n        if detailed_url_information is not None:\n            parameters[\"detailed_url_information\"] = json.dumps(\n                detailed_url_information, cls=JSONEncoder\n            )\n        if hide_service_name_tags is not None:\n            parameters[\"hide_service_name_tags\"] = json.dumps(\n                hide_service_name_tags, cls=JSONEncoder\n            )\n        if include_notes is not None:\n            parameters[\"include_notes\"] = json.dumps(include_notes, cls=JSONEncoder)\n\n        response = self._api_request(\n            \"GET\", self._GET_FILE_METADATA_PATH, params=parameters\n        )\n        return response.json()[\"metadata\"]\n\n    def get_file(self, hash_=None, file_id=None):\n        if (hash_ is None and file_id is None) or (\n            hash_ is not None and file_id is not None\n        ):\n            raise ValueError(\"Exactly one of hash_, file_id is required\")\n\n        parameters: dict[str, T.Union[str, int]] = {}\n        if hash_ is not None:\n            parameters[\"hash\"] = hash_\n        if file_id is not None:\n            parameters[\"file_id\"] = file_id\n\n        return self._api_request(\n            \"GET\", self._GET_FILE_PATH, params=parameters, stream=True\n        )\n\n    def get_thumbnail(self, hash_=None, file_id=None):\n        if (hash_ is None and file_id is None) or (\n            hash_ is not None and file_id is not None\n        ):\n            raise ValueError(\"Exactly one of hash_, file_id is required\")\n\n        parameters: dict[str, T.Union[str, int]] = {}\n        if hash_ is not None:\n            parameters[\"hash\"] = hash_\n        if file_id is not None:\n            parameters[\"file_id\"] = file_id\n\n        return self._api_request(\n            \"GET\", self._GET_THUMBNAIL_PATH, params=parameters, stream=True\n        )\n\n    def lock_database(self):\n        self._api_request(\"POST\", self._LOCK_DATABASE_PATH)\n\n    def unlock_database(self):\n        self._api_request(\"POST\", self._UNLOCK_DATABASE_PATH)\n\n    def get_mr_bones(self):\n        return self._api_request(\"GET\", self._MR_BONES_PATH).json()[\"boned_stats\"]\n\n    def add_and_tag_files(\n        self,\n        paths_or_files,\n        tags,\n        service_names=None,\n        service_keys=None,\n    ):\n        \"\"\"Convenience method to add and tag multiple files at the same time.\n\n        If service_names and service_keys aren't specified, the default service name \"my tags\" will be used. If a file\n        already exists in Hydrus, it will also be tagged.\n\n        Returns:\n            list[dict[str, T.Any]]: Returns results of all `Client.add_file()` calls, matching the order of the\n            paths_or_files iterable\n        \"\"\"\n        if service_names is None and service_keys is None:\n            service_names = (\"my tags\",)\n\n        results = []\n        hashes = set()\n        for path_or_file in paths_or_files:\n            result = self.add_file(path_or_file)\n            results.append(result)\n            if result[\"status\"] != ImportStatus.FAILED:\n                hashes.add(result[\"hash\"])\n\n        service_names_to_tags = (\n            {name: tags for name in service_names}\n            if service_names is not None\n            else None\n        )\n        service_keys_to_tags = (\n            {key: tags for key in service_keys} if service_keys is not None else None\n        )\n        # Ignore type, we know that hashes only contains strings\n        self.add_tags(hashes, service_names_to_tags=service_names_to_tags, service_keys_to_tags=service_keys_to_tags)  # type: ignore\n        return results\n\n    def get_page_list(self):\n        \"\"\"Convenience method that returns a flattened version of the page tree from `Client.get_pages()`.\n\n        Returns:\n            list[dict[str, T.Any]]: A list of every \"pages\" value in the page tree in pre-order (NLR)\n        \"\"\"\n        tree = self.get_pages()\n        pages = []\n\n        def walk_tree(page: dict[str, T.Any]):\n            pages.append(page)\n            # Ignore type, we know that pages is always a list\n            for sub_page in page.get(\"pages\", ()):  # type: ignore\n                # Ignore type, we know that sub_page is always a dict\n                walk_tree(sub_page)  # type: ignore\n\n        walk_tree(tree)\n        return pages\n\n\n__all__ = [\n    \"__version__\",\n    \"DEFAULT_API_URL\",\n    \"HYDRUS_METADATA_ENCODING\",\n    \"HydrusAPIException\",\n    \"ConnectionError\",\n    \"APIError\",\n    \"MissingParameter\",\n    \"InsufficientAccess\",\n    \"DatabaseLocked\",\n    \"ServerError\",\n    \"Permission\",\n    \"URLType\",\n    \"ImportStatus\",\n    \"TagAction\",\n    \"TagStatus\",\n    \"PageType\",\n    \"FileSortType\",\n    \"Client\",\n]\n"
  },
  {
    "path": "scripts/hydrus_api/utils.py",
    "content": "# Copyright (C) 2021 cryzed\n#\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as\n# published by the Free Software Foundation, either version 3 of the\n# License, or (at your option) any later version.\n#\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n#\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nimport collections\nimport os\nimport typing as T\nfrom collections import abc\n\nfrom hydrus_api import DEFAULT_API_URL, HYDRUS_METADATA_ENCODING, Client, Permission\n\nX = T.TypeVar(\"X\")\n\n\nclass TextFileLike(T.Protocol):\n    def read(self) -> str:\n        pass\n\n\ndef verify_permissions(\n    client: Client,\n    permissions: abc.Iterable[T.Union[int, Permission]],\n    exact: bool = False,\n) -> bool:\n    granted_permissions = set(client.verify_access_key()[\"basic_permissions\"])\n    return (\n        granted_permissions == set(permissions)\n        if exact\n        else granted_permissions.issuperset(permissions)\n    )\n\n\ndef cli_request_api_key(\n    name: str,\n    permissions: abc.Iterable[T.Union[int, Permission]],\n    verify: bool = True,\n    exact: bool = False,\n    api_url: str = DEFAULT_API_URL,\n) -> str:\n    while True:\n        input(\n            'Navigate to \"services->review services->local->client api\" in the Hydrus client and click \"add->from api '\n            'request\". Then press enter to continue...'\n        )\n        access_key = Client(api_url=api_url).request_new_permissions(name, permissions)\n        input(\n            \"Press OK and then apply in the Hydrus client dialog. Then press enter to continue...\"\n        )\n\n        client = Client(access_key, api_url)\n        if verify and not verify_permissions(client, permissions, exact):\n            granted = client.verify_access_key()[\"basic_permissions\"]\n            print(\n                f\"The granted permissions ({granted}) differ from the requested permissions ({permissions}), please \"\n                \"grant all requested permissions.\"\n            )\n            continue\n\n        return access_key\n\n\ndef parse_hydrus_metadata(\n    text: str,\n) -> collections.defaultdict[T.Optional[str], set[str]]:\n    namespaces = collections.defaultdict(set)\n    for line in (line.strip() for line in text.splitlines()):\n        if not line:\n            continue\n\n        parts = line.split(\":\", 1)\n        namespace, tag = (None, line) if len(parts) == 1 else parts\n        namespaces[namespace].add(tag)\n\n    # Ignore type, mypy has trouble figuring out that tag isn't optional\n    return namespaces  # type: ignore\n\n\ndef parse_hydrus_metadata_file(\n    path_or_file: T.Union[str, os.PathLike, TextFileLike]\n) -> collections.defaultdict[T.Optional[str], set[str]]:\n    if isinstance(path_or_file, (str, os.PathLike)):\n        with open(path_or_file, encoding=HYDRUS_METADATA_ENCODING) as file:\n            return parse_hydrus_metadata(file.read())\n\n    return parse_hydrus_metadata(path_or_file.read())\n\n\n# Useful for splitting up requests to get_file_metadata()\ndef yield_chunks(\n    sequence: T.Sequence[X], chunk_size: int, offset: int = 0\n) -> T.Generator[T.Sequence[X], None, None]:\n    while offset < len(sequence):\n        yield sequence[offset : offset + chunk_size]\n        offset += chunk_size\n\n\n__all__ = [\n    \"verify_permissions\",\n    \"cli_request_api_key\",\n    \"parse_hydrus_metadata\",\n    \"parse_hydrus_metadata_file\",\n    \"yield_chunks\",\n]\n"
  },
  {
    "path": "scripts/img2img.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import (\n    st,\n    server_state,\n    no_rerun,\n    generation_callback,\n    process_images,\n    KDiffusionSampler,\n    custom_models_available,\n    RealESRGAN_available,\n    GFPGAN_available,\n    LDSR_available,\n    load_models,\n    hc,\n    seed_to_int,\n    logger,\n    resize_image,\n    get_matched_noise,\n    CFGMaskedDenoiser,\n    ImageFilter,\n    set_page_title,\n)\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\n\n# other imports\nimport cv2\nfrom PIL import Image, ImageOps\nimport torch\nimport k_diffusion as K\nimport numpy as np\nimport time\nimport torch\nimport skimage\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom ldm.models.diffusion.plms import PLMSSampler\n\n# streamlit components\nfrom custom_components import sygil_suggestions\nfrom streamlit_drawable_canvas import st_canvas\n\n# Temp imports\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nsygil_suggestions.init()\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n\ndef img2img(\n    prompt: str = \"\",\n    init_info: any = None,\n    init_info_mask: any = None,\n    mask_mode: int = 0,\n    mask_blur_strength: int = 3,\n    mask_restore: bool = False,\n    ddim_steps: int = 50,\n    sampler_name: str = \"DDIM\",\n    n_iter: int = 1,\n    cfg_scale: float = 7.5,\n    denoising_strength: float = 0.8,\n    seed: int = -1,\n    noise_mode: int = 0,\n    find_noise_steps: str = \"\",\n    height: int = 512,\n    width: int = 512,\n    resize_mode: int = 0,\n    fp=None,\n    variant_amount: float = 0.0,\n    variant_seed: int = None,\n    ddim_eta: float = 0.0,\n    write_info_files: bool = True,\n    separate_prompts: bool = False,\n    normalize_prompt_weights: bool = True,\n    save_individual_images: bool = True,\n    save_grid: bool = True,\n    group_by_prompt: bool = True,\n    save_as_jpg: bool = True,\n    use_GFPGAN: bool = True,\n    GFPGAN_model: str = \"GFPGANv1.4\",\n    use_RealESRGAN: bool = True,\n    RealESRGAN_model: str = \"RealESRGAN_x4plus_anime_6B\",\n    use_LDSR: bool = True,\n    LDSR_model: str = \"model\",\n    loopback: bool = False,\n    random_seed_loopback: bool = False,\n):\n    outpath = st.session_state[\"defaults\"].general.outdir_img2img\n    seed = seed_to_int(seed)\n\n    batch_size = 1\n\n    if sampler_name == \"PLMS\":\n        sampler = PLMSSampler(server_state[\"model\"])\n    elif sampler_name == \"DDIM\":\n        sampler = DDIMSampler(server_state[\"model\"])\n    elif sampler_name == \"k_dpm_2_a\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"dpm_2_ancestral\")\n    elif sampler_name == \"k_dpm_2\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"dpm_2\")\n    elif sampler_name == \"k_dpmpp_2m\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"dpmpp_2m\")\n    elif sampler_name == \"k_euler_a\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"euler_ancestral\")\n    elif sampler_name == \"k_euler\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"euler\")\n    elif sampler_name == \"k_heun\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"heun\")\n    elif sampler_name == \"k_lms\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"lms\")\n    else:\n        raise Exception(\"Unknown sampler: \" + sampler_name)\n\n    def process_init_mask(init_mask: Image):\n        if init_mask.mode == \"RGBA\":\n            init_mask = init_mask.convert(\"RGBA\")\n            background = Image.new(\"RGBA\", init_mask.size, (0, 0, 0))\n            init_mask = Image.alpha_composite(background, init_mask)\n            init_mask = init_mask.convert(\"RGB\")\n        return init_mask\n\n    init_img = init_info\n    init_mask = None\n    if mask_mode == 0:\n        if init_info_mask:\n            init_mask = process_init_mask(init_info_mask)\n    elif mask_mode == 1:\n        if init_info_mask:\n            init_mask = process_init_mask(init_info_mask)\n            init_mask = ImageOps.invert(init_mask)\n    elif mask_mode == 2:\n        init_img_transparency = init_img.split()[-1].convert(\n            \"L\"\n        )  # .point(lambda x: 255 if x > 0 else 0, mode='1')\n        init_mask = init_img_transparency\n        init_mask = init_mask.convert(\"RGB\")\n        init_mask = resize_image(resize_mode, init_mask, width, height)\n        init_mask = init_mask.convert(\"RGB\")\n\n    assert 0.0 <= denoising_strength <= 1.0, \"can only work with strength in [0.0, 1.0]\"\n    t_enc = int(denoising_strength * ddim_steps)\n\n    if (\n        init_mask is not None\n        and (noise_mode == 2 or noise_mode == 3)\n        and init_img is not None\n    ):\n        noise_q = 0.99\n        color_variation = 0.0\n        mask_blend_factor = 1.0\n\n        np_init = (np.asarray(init_img.convert(\"RGB\")) / 255.0).astype(\n            np.float64\n        )  # annoyingly complex mask fixing\n        np_mask_rgb = 1.0 - (\n            np.asarray(ImageOps.invert(init_mask).convert(\"RGB\")) / 255.0\n        ).astype(np.float64)\n        np_mask_rgb -= np.min(np_mask_rgb)\n        np_mask_rgb /= np.max(np_mask_rgb)\n        np_mask_rgb = 1.0 - np_mask_rgb\n        np_mask_rgb_hardened = 1.0 - (np_mask_rgb < 0.99).astype(np.float64)\n        blurred = skimage.filters.gaussian(\n            np_mask_rgb_hardened[:], sigma=16.0, channel_axis=2, truncate=32.0\n        )\n        blurred2 = skimage.filters.gaussian(\n            np_mask_rgb_hardened[:], sigma=16.0, channel_axis=2, truncate=32.0\n        )\n        # np_mask_rgb_dilated = np_mask_rgb + blurred  # fixup mask todo: derive magic constants\n        # np_mask_rgb = np_mask_rgb + blurred\n        np_mask_rgb_dilated = np.clip((np_mask_rgb + blurred2) * 0.7071, 0.0, 1.0)\n        np_mask_rgb = np.clip((np_mask_rgb + blurred) * 0.7071, 0.0, 1.0)\n\n        noise_rgb = get_matched_noise(np_init, np_mask_rgb, noise_q, color_variation)\n        blend_mask_rgb = np.clip(np_mask_rgb_dilated, 0.0, 1.0) ** (mask_blend_factor)\n        noised = noise_rgb[:]\n        blend_mask_rgb **= 2.0\n        noised = np_init[:] * (1.0 - blend_mask_rgb) + noised * blend_mask_rgb\n\n        np_mask_grey = np.sum(np_mask_rgb, axis=2) / 3.0\n        ref_mask = np_mask_grey < 1e-3\n\n        all_mask = np.ones((height, width), dtype=bool)\n        noised[all_mask, :] = skimage.exposure.match_histograms(\n            noised[all_mask, :] ** 1.0, noised[ref_mask, :], channel_axis=1\n        )\n\n        init_img = Image.fromarray(\n            np.clip(noised * 255.0, 0.0, 255.0).astype(np.uint8), mode=\"RGB\"\n        )\n        st.session_state[\"editor_image\"].image(init_img)  # debug\n\n    def init():\n        image = init_img.convert(\"RGB\")\n        image = np.array(image).astype(np.float32) / 255.0\n        image = image[None].transpose(0, 3, 1, 2)\n        image = torch.from_numpy(image)\n\n        mask_channel = None\n        if init_mask:\n            alpha = resize_image(resize_mode, init_mask, width // 8, height // 8)\n            mask_channel = alpha.split()[-1]\n\n        mask = None\n        if mask_channel is not None:\n            mask = np.array(mask_channel).astype(np.float32) / 255.0\n            mask = 1 - mask\n            mask = np.tile(mask, (4, 1, 1))\n            mask = mask[None].transpose(0, 1, 2, 3)\n            mask = torch.from_numpy(mask).to(server_state[\"device\"])\n\n        if st.session_state[\"defaults\"].general.optimized:\n            server_state[\"modelFS\"].to(server_state[\"device\"])\n\n        init_image = 2.0 * image - 1.0\n        init_image = init_image.to(server_state[\"device\"])\n        init_latent = (\n            server_state[\"model\"]\n            if not st.session_state[\"defaults\"].general.optimized\n            else server_state[\"modelFS\"]\n        ).get_first_stage_encoding(\n            (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelFS\"]\n            ).encode_first_stage(init_image)\n        )  # move to latent space\n\n        if st.session_state[\"defaults\"].general.optimized:\n            mem = torch.cuda.memory_allocated() / 1e6\n            server_state[\"modelFS\"].to(\"cpu\")\n            while torch.cuda.memory_allocated() / 1e6 >= mem:\n                time.sleep(1)\n\n        return (\n            init_latent,\n            mask,\n        )\n\n    def sample(init_data, x, conditioning, unconditional_conditioning, sampler_name):\n        t_enc_steps = t_enc\n        obliterate = False\n        if ddim_steps == t_enc_steps:\n            t_enc_steps = t_enc_steps - 1\n            obliterate = True\n\n        if sampler_name != \"DDIM\":\n            x0, z_mask = init_data\n\n            sigmas = sampler.model_wrap.get_sigmas(ddim_steps)\n            noise = x * sigmas[ddim_steps - t_enc_steps - 1]\n\n            xi = x0 + noise\n\n            # Obliterate masked image\n            if z_mask is not None and obliterate:\n                random = torch.randn(z_mask.shape, device=xi.device)\n                xi = (z_mask * noise) + ((1 - z_mask) * xi)\n\n            sigma_sched = sigmas[ddim_steps - t_enc_steps - 1 :]\n            model_wrap_cfg = CFGMaskedDenoiser(sampler.model_wrap)\n            samples_ddim = K.sampling.__dict__[f\"sample_{sampler.get_sampler_name()}\"](\n                model_wrap_cfg,\n                xi,\n                sigma_sched,\n                extra_args={\n                    \"cond\": conditioning,\n                    \"uncond\": unconditional_conditioning,\n                    \"cond_scale\": cfg_scale,\n                    \"mask\": z_mask,\n                    \"x0\": x0,\n                    \"xi\": xi,\n                },\n                disable=False,\n                callback=generation_callback if not server_state[\"bridge\"] else None,\n            )\n        else:\n            x0, z_mask = init_data\n\n            sampler.make_schedule(\n                ddim_num_steps=ddim_steps, ddim_eta=0.0, verbose=False\n            )\n            z_enc = sampler.stochastic_encode(\n                x0, torch.tensor([t_enc_steps] * batch_size).to(server_state[\"device\"])\n            )\n\n            # Obliterate masked image\n            if z_mask is not None and obliterate:\n                random = torch.randn(z_mask.shape, device=z_enc.device)\n                z_enc = (z_mask * random) + ((1 - z_mask) * z_enc)\n\n                # decode it\n            samples_ddim = sampler.decode(\n                z_enc,\n                conditioning,\n                t_enc_steps,\n                unconditional_guidance_scale=cfg_scale,\n                unconditional_conditioning=unconditional_conditioning,\n                z_mask=z_mask,\n                x0=x0,\n            )\n        return samples_ddim\n\n    if loopback:\n        output_images, info = None, None\n        history = []\n        initial_seed = None\n\n        do_color_correction = False\n        try:\n            from skimage import exposure\n\n            do_color_correction = True\n        except:\n            logger.error(\"Install scikit-image to perform color correction on loopback\")\n\n        for i in range(n_iter):\n            if do_color_correction and i == 0:\n                correction_target = cv2.cvtColor(\n                    np.asarray(init_img.copy()), cv2.COLOR_RGB2LAB\n                )\n\n            # RealESRGAN can only run on the final iteration\n            is_final_iteration = i == n_iter - 1\n\n            output_images, seed, info, stats = process_images(\n                outpath=outpath,\n                func_init=init,\n                func_sample=sample,\n                prompt=prompt,\n                seed=seed,\n                sampler_name=sampler_name,\n                save_grid=save_grid,\n                batch_size=1,\n                n_iter=1,\n                steps=ddim_steps,\n                cfg_scale=cfg_scale,\n                width=width,\n                height=height,\n                prompt_matrix=separate_prompts,\n                use_GFPGAN=use_GFPGAN,\n                GFPGAN_model=GFPGAN_model,\n                use_RealESRGAN=use_RealESRGAN\n                and is_final_iteration,  # Forcefully disable upscaling when using loopback\n                realesrgan_model_name=RealESRGAN_model,\n                use_LDSR=use_LDSR,\n                LDSR_model_name=LDSR_model,\n                normalize_prompt_weights=normalize_prompt_weights,\n                save_individual_images=save_individual_images,\n                init_img=init_img,\n                init_mask=init_mask,\n                mask_blur_strength=mask_blur_strength,\n                mask_restore=mask_restore,\n                denoising_strength=denoising_strength,\n                noise_mode=noise_mode,\n                find_noise_steps=find_noise_steps,\n                resize_mode=resize_mode,\n                uses_loopback=loopback,\n                uses_random_seed_loopback=random_seed_loopback,\n                sort_samples=group_by_prompt,\n                write_info_files=write_info_files,\n                jpg_sample=save_as_jpg,\n            )\n\n            if initial_seed is None:\n                initial_seed = seed\n\n            input_image = init_img\n            init_img = output_images[0]\n\n            if do_color_correction and correction_target is not None:\n                init_img = Image.fromarray(\n                    cv2.cvtColor(\n                        exposure.match_histograms(\n                            cv2.cvtColor(np.asarray(init_img), cv2.COLOR_RGB2LAB),\n                            correction_target,\n                            channel_axis=2,\n                        ),\n                        cv2.COLOR_LAB2RGB,\n                    ).astype(\"uint8\")\n                )\n                if mask_restore is True and init_mask is not None:\n                    color_mask = init_mask.filter(\n                        ImageFilter.GaussianBlur(mask_blur_strength)\n                    )\n                    color_mask = color_mask.convert(\"L\")\n                    source_image = input_image.convert(\"RGB\")\n                    target_image = init_img.convert(\"RGB\")\n\n                    init_img = Image.composite(source_image, target_image, color_mask)\n\n            if not random_seed_loopback:\n                seed = seed + 1\n            else:\n                seed = seed_to_int(None)\n\n            denoising_strength = max(denoising_strength * 0.95, 0.1)\n            history.append(init_img)\n\n        output_images = history\n        seed = initial_seed\n\n    else:\n        output_images, seed, info, stats = process_images(\n            outpath=outpath,\n            func_init=init,\n            func_sample=sample,\n            prompt=prompt,\n            seed=seed,\n            sampler_name=sampler_name,\n            save_grid=save_grid,\n            batch_size=batch_size,\n            n_iter=n_iter,\n            steps=ddim_steps,\n            cfg_scale=cfg_scale,\n            width=width,\n            height=height,\n            prompt_matrix=separate_prompts,\n            use_GFPGAN=use_GFPGAN,\n            GFPGAN_model=GFPGAN_model,\n            use_RealESRGAN=use_RealESRGAN,\n            realesrgan_model_name=RealESRGAN_model,\n            use_LDSR=use_LDSR,\n            LDSR_model_name=LDSR_model,\n            normalize_prompt_weights=normalize_prompt_weights,\n            save_individual_images=save_individual_images,\n            init_img=init_img,\n            init_mask=init_mask,\n            mask_blur_strength=mask_blur_strength,\n            denoising_strength=denoising_strength,\n            noise_mode=noise_mode,\n            find_noise_steps=find_noise_steps,\n            mask_restore=mask_restore,\n            resize_mode=resize_mode,\n            uses_loopback=loopback,\n            sort_samples=group_by_prompt,\n            write_info_files=write_info_files,\n            jpg_sample=save_as_jpg,\n        )\n\n    del sampler\n\n    return output_images, seed, info, stats\n\n\n#\ndef layout():\n    with st.form(\"img2img-inputs\"):\n        st.session_state[\"generation_mode\"] = \"img2img\"\n\n        img2img_input_col, img2img_generate_col = st.columns([10, 1])\n        with img2img_input_col:\n            # prompt = st.text_area(\"Input Text\",\"\")\n            placeholder = \"A corgi wearing a top hat as an oil painting.\"\n            prompt = st.text_area(\"Input Text\", \"\", placeholder=placeholder, height=54)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].general.enable_suggestions:\n                    sygil_suggestions.suggestion_area(placeholder)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].admin.global_negative_prompt:\n                    prompt += f\"### {st.session_state['defaults'].admin.global_negative_prompt}\"\n\n        # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n        img2img_generate_col.write(\"\")\n        img2img_generate_col.write(\"\")\n        generate_button = img2img_generate_col.form_submit_button(\"Generate\")\n\n        # creating the page layout using columns\n        col1_img2img_layout, col2_img2img_layout, col3_img2img_layout = st.columns(\n            [2, 4, 4], gap=\"medium\"\n        )\n\n        with col1_img2img_layout:\n            # If we have custom models available on the \"models/custom\"\n            # folder then we show a menu to select which model we want to use, otherwise we use the main model for SD\n            custom_models_available()\n            if server_state[\"CustomModel_available\"]:\n                st.session_state[\"custom_model\"] = st.selectbox(\n                    \"Custom Model:\",\n                    server_state[\"custom_models\"],\n                    index=server_state[\"custom_models\"].index(\n                        st.session_state[\"defaults\"].general.default_model\n                    ),\n                    help=\"Select the model you want to use. This option is only available if you have custom models \\\n\t\t\t\t\t\t\t    on your 'models/custom' folder. The model name that will be shown here is the same as the name\\\n\t\t\t\t\t\t\t    the file for the model has on said folder, it is recommended to give the .ckpt file a name that \\\n\t\t\t\t\t\t\t    will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.5\",\n                )\n            else:\n                st.session_state[\"custom_model\"] = \"Stable Diffusion v1.5\"\n\n            st.session_state[\"sampling_steps\"] = st.number_input(\n                \"Sampling Steps\",\n                value=st.session_state[\"defaults\"].img2img.sampling_steps.value,\n                min_value=st.session_state[\"defaults\"].img2img.sampling_steps.min_value,\n                step=st.session_state[\"defaults\"].img2img.sampling_steps.step,\n            )\n\n            sampler_name_list = [\n                \"k_lms\",\n                \"k_euler\",\n                \"k_euler_a\",\n                \"k_dpm_2\",\n                \"k_dpm_2_a\",\n                \"k_dpmpp_2m\",\n                \"k_heun\",\n                \"PLMS\",\n                \"DDIM\",\n            ]\n            st.session_state[\"sampler_name\"] = st.selectbox(\n                \"Sampling method\",\n                sampler_name_list,\n                index=sampler_name_list.index(\n                    st.session_state[\"defaults\"].img2img.sampler_name\n                ),\n                help=\"Sampling method to use.\",\n            )\n\n            width = st.slider(\n                \"Width:\",\n                min_value=st.session_state[\"defaults\"].img2img.width.min_value,\n                max_value=st.session_state[\"defaults\"].img2img.width.max_value,\n                value=st.session_state[\"defaults\"].img2img.width.value,\n                step=st.session_state[\"defaults\"].img2img.width.step,\n            )\n            height = st.slider(\n                \"Height:\",\n                min_value=st.session_state[\"defaults\"].img2img.height.min_value,\n                max_value=st.session_state[\"defaults\"].img2img.height.max_value,\n                value=st.session_state[\"defaults\"].img2img.height.value,\n                step=st.session_state[\"defaults\"].img2img.height.step,\n            )\n            seed = st.text_input(\n                \"Seed:\",\n                value=st.session_state[\"defaults\"].img2img.seed,\n                help=\" The seed to use, if left blank a random seed will be generated.\",\n            )\n\n            cfg_scale = st.number_input(\n                \"CFG (Classifier Free Guidance Scale):\",\n                min_value=st.session_state[\"defaults\"].img2img.cfg_scale.min_value,\n                value=st.session_state[\"defaults\"].img2img.cfg_scale.value,\n                step=st.session_state[\"defaults\"].img2img.cfg_scale.step,\n                help=\"How strongly the image should follow the prompt.\",\n            )\n\n            st.session_state[\"denoising_strength\"] = st.slider(\n                \"Denoising Strength:\",\n                value=st.session_state[\"defaults\"].img2img.denoising_strength.value,\n                min_value=st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.min_value,\n                max_value=st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.max_value,\n                step=st.session_state[\"defaults\"].img2img.denoising_strength.step,\n            )\n\n            mask_expander = st.empty()\n            with mask_expander.expander(\"Inpainting/Outpainting\"):\n                mask_mode_list = [\"Outpainting\", \"Inpainting\", \"Image alpha\"]\n                mask_mode = st.selectbox(\n                    \"Painting Mode\",\n                    mask_mode_list,\n                    index=st.session_state[\"defaults\"].img2img.mask_mode,\n                    help='Select how you want your image to be masked/painted.\"Inpainting\" modifies the image where the mask is white.\\n\\\n\t\t\t\t\t\t\t \"Inverted mask\" modifies the image where the mask is black. \"Image alpha\" modifies the image where the image is transparent.',\n                )\n                mask_mode = mask_mode_list.index(mask_mode)\n\n                noise_mode_list = [\n                    \"Seed\",\n                    \"Find Noise\",\n                    \"Matched Noise\",\n                    \"Find+Matched Noise\",\n                ]\n                noise_mode = st.selectbox(\n                    \"Noise Mode\",\n                    noise_mode_list,\n                    index=noise_mode_list.index(\n                        st.session_state[\"defaults\"].img2img.noise_mode\n                    ),\n                    help=\"\",\n                )\n                # noise_mode = noise_mode_list.index(noise_mode)\n                find_noise_steps = st.number_input(\n                    \"Find Noise Steps\",\n                    value=st.session_state[\"defaults\"].img2img.find_noise_steps.value,\n                    min_value=st.session_state[\n                        \"defaults\"\n                    ].img2img.find_noise_steps.min_value,\n                    step=st.session_state[\"defaults\"].img2img.find_noise_steps.step,\n                )\n\n                # Specify canvas parameters in application\n                drawing_mode = st.selectbox(\n                    \"Drawing tool:\",\n                    (\n                        \"freedraw\",\n                        \"transform\",\n                        # \"line\",\n                        \"rect\",\n                        \"circle\",\n                        # \"polygon\",\n                    ),\n                )\n\n                stroke_width = st.slider(\"Stroke width: \", 1, 100, 50)\n                stroke_color = st.color_picker(\"Stroke color hex: \", value=\"#EEEEEE\")\n                bg_color = st.color_picker(\"Background color hex: \", \"#7B6E6E\")\n\n                display_toolbar = st.checkbox(\"Display toolbar\", True)\n                # realtime_update = st.checkbox(\"Update in realtime\", True)\n\n            with st.expander(\"Batch Options\"):\n                st.session_state[\"batch_count\"] = st.number_input(\n                    \"Batch count.\",\n                    value=st.session_state[\"defaults\"].img2img.batch_count.value,\n                    help=\"How many iterations or batches of images to generate in total.\",\n                )\n\n                st.session_state[\"batch_size\"] = st.number_input(\n                    \"Batch size\",\n                    value=st.session_state.defaults.img2img.batch_size.value,\n                    help=\"How many images are at once in a batch.\\\n\t\t\t\t\t\t\t\t\t\t It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it takes to finish generation as more images are generated at once.\\\n\t\t\t\t\t\t\t\t\t\t Default: 1\",\n                )\n\n            with st.expander(\"Preview Settings\"):\n                st.session_state[\"update_preview\"] = st.session_state[\n                    \"defaults\"\n                ].general.update_preview\n                st.session_state[\"update_preview_frequency\"] = st.number_input(\n                    \"Update Image Preview Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].img2img.update_preview_frequency,\n                    help=\"Frequency in steps at which the the preview image is updated. By default the frequency \\\n\t\t\t\t\t\t\t\t\t\t\t       is set to 1 step.\",\n                )\n            #\n            with st.expander(\"Advanced\"):\n                with st.expander(\"Output Settings\"):\n                    separate_prompts = st.checkbox(\n                        \"Create Prompt Matrix.\",\n                        value=st.session_state[\"defaults\"].img2img.separate_prompts,\n                        help=\"Separate multiple prompts using the `|` character, and get all combinations of them.\",\n                    )\n                    normalize_prompt_weights = st.checkbox(\n                        \"Normalize Prompt Weights.\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].img2img.normalize_prompt_weights,\n                        help=\"Ensure the sum of all weights add up to 1.0\",\n                    )\n                    loopback = st.checkbox(\n                        \"Loopback.\",\n                        value=st.session_state[\"defaults\"].img2img.loopback,\n                        help=\"Use images from previous batch when creating next batch.\",\n                    )\n                    st.checkbox(\n                        \"Random loopback seed.\",\n                        value=st.session_state[\"defaults\"].img2img.random_seed_loopback,\n                        help=\"Random loopback seed\",\n                    )\n                    img2img_mask_restore = st.checkbox(\n                        \"Only modify regenerated parts of image\",\n                        value=st.session_state[\"defaults\"].img2img.mask_restore,\n                        help=\"Enable to restore the unmasked parts of the image with the input, may not blend as well but preserves detail\",\n                    )\n                    save_individual_images = st.checkbox(\n                        \"Save individual images.\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].img2img.save_individual_images,\n                        help=\"Save each image generated before any filter or enhancement is applied.\",\n                    )\n                    save_grid = st.checkbox(\n                        \"Save grid\",\n                        value=st.session_state[\"defaults\"].img2img.save_grid,\n                        help=\"Save a grid with all the images generated into a single image.\",\n                    )\n                    group_by_prompt = st.checkbox(\n                        \"Group results by prompt\",\n                        value=st.session_state[\"defaults\"].img2img.group_by_prompt,\n                        help=\"Saves all the images with the same prompt into the same folder. \\\n\t\t\t\t\t\t                      When using a prompt matrix each prompt combination will have its own folder.\",\n                    )\n                    write_info_files = st.checkbox(\n                        \"Write Info file\",\n                        value=st.session_state[\"defaults\"].img2img.write_info_files,\n                        help=\"Save a file next to the image with informartion about the generation.\",\n                    )\n                    save_as_jpg = st.checkbox(\n                        \"Save samples as jpg\",\n                        value=st.session_state[\"defaults\"].img2img.save_as_jpg,\n                        help=\"Saves the images as jpg instead of png.\",\n                    )\n\n                #\n                # check if GFPGAN, RealESRGAN and LDSR are available.\n                if \"GFPGAN_available\" not in st.session_state:\n                    GFPGAN_available()\n\n                if \"RealESRGAN_available\" not in st.session_state:\n                    RealESRGAN_available()\n\n                if \"LDSR_available\" not in st.session_state:\n                    LDSR_available()\n\n                if (\n                    st.session_state[\"GFPGAN_available\"]\n                    or st.session_state[\"RealESRGAN_available\"]\n                    or st.session_state[\"LDSR_available\"]\n                ):\n                    with st.expander(\"Post-Processing\"):\n                        face_restoration_tab, upscaling_tab = st.tabs(\n                            [\"Face Restoration\", \"Upscaling\"]\n                        )\n                        with face_restoration_tab:\n                            # GFPGAN used for face restoration\n                            if st.session_state[\"GFPGAN_available\"]:\n                                # with st.expander(\"Face Restoration\"):\n                                # if st.session_state[\"GFPGAN_available\"]:\n                                # with st.expander(\"GFPGAN\"):\n                                st.session_state[\"use_GFPGAN\"] = st.checkbox(\n                                    \"Use GFPGAN\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].img2img.use_GFPGAN,\n                                    help=\"Uses the GFPGAN model to improve faces after the generation.\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t This greatly improve the quality and consistency of faces but uses\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t extra VRAM. Disable if you need the extra VRAM.\",\n                                )\n\n                                st.session_state[\"GFPGAN_model\"] = st.selectbox(\n                                    \"GFPGAN model\",\n                                    st.session_state[\"GFPGAN_models\"],\n                                    index=st.session_state[\"GFPGAN_models\"].index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.GFPGAN_model\n                                    ),\n                                )\n\n                                # st.session_state[\"GFPGAN_strenght\"] = st.slider(\"Effect Strenght\", min_value=1, max_value=100, value=1, step=1, help='')\n\n                            else:\n                                st.session_state[\"use_GFPGAN\"] = False\n\n                        with upscaling_tab:\n                            st.session_state[\"us_upscaling\"] = st.checkbox(\n                                \"Use Upscaling\",\n                                value=st.session_state[\n                                    \"defaults\"\n                                ].img2img.use_upscaling,\n                            )\n\n                            # RealESRGAN and LDSR used for upscaling.\n                            if (\n                                st.session_state[\"RealESRGAN_available\"]\n                                or st.session_state[\"LDSR_available\"]\n                            ):\n                                upscaling_method_list = []\n                                if st.session_state[\"RealESRGAN_available\"]:\n                                    upscaling_method_list.append(\"RealESRGAN\")\n                                if st.session_state[\"LDSR_available\"]:\n                                    upscaling_method_list.append(\"LDSR\")\n\n                                st.session_state[\"upscaling_method\"] = st.selectbox(\n                                    \"Upscaling Method\",\n                                    upscaling_method_list,\n                                    index=upscaling_method_list.index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.upscaling_method\n                                    )\n                                    if st.session_state[\n                                        \"defaults\"\n                                    ].general.upscaling_method\n                                    in upscaling_method_list\n                                    else 0,\n                                )\n\n                                if st.session_state[\"RealESRGAN_available\"]:\n                                    with st.expander(\"RealESRGAN\"):\n                                        if (\n                                            st.session_state[\"upscaling_method\"]\n                                            == \"RealESRGAN\"\n                                            and st.session_state[\"us_upscaling\"]\n                                        ):\n                                            st.session_state[\"use_RealESRGAN\"] = True\n                                        else:\n                                            st.session_state[\"use_RealESRGAN\"] = False\n\n                                        st.session_state[\n                                            \"RealESRGAN_model\"\n                                        ] = st.selectbox(\n                                            \"RealESRGAN model\",\n                                            st.session_state[\"RealESRGAN_models\"],\n                                            index=st.session_state[\n                                                \"RealESRGAN_models\"\n                                            ].index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].general.RealESRGAN_model\n                                            ),\n                                        )\n                                else:\n                                    st.session_state[\"use_RealESRGAN\"] = False\n                                    st.session_state[\n                                        \"RealESRGAN_model\"\n                                    ] = \"RealESRGAN_x4plus\"\n\n                                #\n                                if st.session_state[\"LDSR_available\"]:\n                                    with st.expander(\"LDSR\"):\n                                        if (\n                                            st.session_state[\"upscaling_method\"]\n                                            == \"LDSR\"\n                                            and st.session_state[\"us_upscaling\"]\n                                        ):\n                                            st.session_state[\"use_LDSR\"] = True\n                                        else:\n                                            st.session_state[\"use_LDSR\"] = False\n\n                                        st.session_state[\"LDSR_model\"] = st.selectbox(\n                                            \"LDSR model\",\n                                            st.session_state[\"LDSR_models\"],\n                                            index=st.session_state[\"LDSR_models\"].index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].general.LDSR_model\n                                            ),\n                                        )\n\n                                        st.session_state[\n                                            \"ldsr_sampling_steps\"\n                                        ] = st.number_input(\n                                            \"Sampling Steps\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].img2img.LDSR_config.sampling_steps,\n                                            help=\"\",\n                                        )\n\n                                        st.session_state[\n                                            \"preDownScale\"\n                                        ] = st.number_input(\n                                            \"PreDownScale\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].img2img.LDSR_config.preDownScale,\n                                            help=\"\",\n                                        )\n\n                                        st.session_state[\n                                            \"postDownScale\"\n                                        ] = st.number_input(\n                                            \"postDownScale\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].img2img.LDSR_config.postDownScale,\n                                            help=\"\",\n                                        )\n\n                                        downsample_method_list = [\"Nearest\", \"Lanczos\"]\n                                        st.session_state[\n                                            \"downsample_method\"\n                                        ] = st.selectbox(\n                                            \"Downsample Method\",\n                                            downsample_method_list,\n                                            index=downsample_method_list.index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].img2img.LDSR_config.downsample_method\n                                            ),\n                                        )\n\n                                else:\n                                    st.session_state[\"use_LDSR\"] = False\n                                    st.session_state[\"LDSR_model\"] = \"model\"\n\n                with st.expander(\"Variant\"):\n                    variant_amount = st.slider(\n                        \"Variant Amount:\",\n                        value=st.session_state[\"defaults\"].img2img.variant_amount,\n                        min_value=0.0,\n                        max_value=1.0,\n                        step=0.01,\n                    )\n                    variant_seed = st.text_input(\n                        \"Variant Seed:\",\n                        value=st.session_state[\"defaults\"].img2img.variant_seed,\n                        help=\"The seed to use when generating a variant, if left blank a random seed will be generated.\",\n                    )\n\n        with col2_img2img_layout:\n            st.tabs([\"Editor\"])\n\n            editor_image = st.empty()\n            st.session_state[\"editor_image\"] = editor_image\n\n            st.form_submit_button(\"Refresh\")\n\n            # if \"canvas\" not in st.session_state:\n            st.session_state[\"canvas\"] = st.empty()\n\n            st.empty()\n            st.empty()\n\n            uploaded_images = st.file_uploader(\n                \"Upload Image\",\n                accept_multiple_files=False,\n                type=[\"png\", \"jpg\", \"jpeg\", \"webp\", \"jfif\"],\n                help=\"Upload an image which will be used for the image to image generation.\",\n            )\n            if uploaded_images:\n                image = Image.open(uploaded_images).convert(\"RGB\")\n                new_img = image.resize((width, height))\n                # image_holder.image(new_img)\n\n            # mask_holder = st.empty()\n\n            # uploaded_masks = st.file_uploader(\n            # \"Upload Mask\", accept_multiple_files=False, type=[\"png\", \"jpg\", \"jpeg\", \"webp\", 'jfif'],\n            # help=\"Upload an mask image which will be used for masking the image to image generation.\",\n            # )\n\n            #\n            # Create a canvas component\n            with st.session_state[\"canvas\"]:\n                st.session_state[\"uploaded_masks\"] = st_canvas(\n                    fill_color=\"rgba(255, 165, 0, 0.3)\",  # Fixed fill color with some opacity\n                    stroke_width=stroke_width,\n                    stroke_color=stroke_color,\n                    background_color=bg_color,\n                    background_image=image if uploaded_images else None,\n                    update_streamlit=True,\n                    width=width,\n                    height=height,\n                    drawing_mode=drawing_mode,\n                    initial_drawing=st.session_state[\"uploaded_masks\"].json_data\n                    if \"uploaded_masks\" in st.session_state\n                    else None,\n                    display_toolbar=display_toolbar,\n                    key=\"full_app\",\n                )\n\n                # try:\n                ##print (type(st.session_state[\"uploaded_masks\"]))\n                # if st.session_state[\"uploaded_masks\"] != None:\n                # mask_expander.expander(\"Mask\", expanded=True)\n                # mask = Image.fromarray(st.session_state[\"uploaded_masks\"].image_data)\n\n                # st.image(mask)\n\n                # if mask.mode == \"RGBA\":\n                # mask = mask.convert('RGBA')\n                # background = Image.new('RGBA', mask.size, (0, 0, 0))\n                # mask = Image.alpha_composite(background, mask)\n                # mask = mask.resize((width, height))\n                # except AttributeError:\n                # pass\n\n            with col3_img2img_layout:\n                st.tabs([\"Result\"])\n\n                # create an empty container for the image, progress bar, etc so we can update it later and use session_state to hold them globally.\n                preview_image = st.empty()\n                st.session_state[\"preview_image\"] = preview_image\n\n                # st.session_state[\"loading\"] = st.empty()\n\n                st.session_state[\"progress_bar_text\"] = st.empty()\n                st.session_state[\"progress_bar\"] = st.empty()\n\n                message = st.empty()\n\n                # if uploaded_images:\n                # image = Image.open(uploaded_images).convert('RGB')\n                ##img_array = np.array(image) # if you want to pass it to OpenCV\n                # new_img = image.resize((width, height))\n                # st.image(new_img, use_column_width=True)\n\n        if generate_button:\n            # print(\"Loading models\")\n            # load the models when we hit the generate button for the first time, it wont be loaded after that so dont worry.\n            with col3_img2img_layout:\n                with no_rerun:\n                    with hc.HyLoader(\n                        \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n                    ):\n                        load_models(\n                            use_LDSR=st.session_state[\"use_LDSR\"],\n                            LDSR_model=st.session_state[\"LDSR_model\"],\n                            use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                            GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                            use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                            RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                            CustomModel_available=server_state[\"CustomModel_available\"],\n                            custom_model=st.session_state[\"custom_model\"],\n                        )\n\n            if uploaded_images:\n                # image = Image.fromarray(image).convert('RGBA')\n                # new_img = image.resize((width, height))\n                ###img_array = np.array(image) # if you want to pass it to OpenCV\n                # image_holder.image(new_img)\n                new_mask = None\n\n                if st.session_state[\"uploaded_masks\"]:\n                    mask = Image.fromarray(\n                        st.session_state[\"uploaded_masks\"].image_data\n                    )\n                    new_mask = mask.resize((width, height))\n\n                    # masked_image_holder.image(new_mask)\n                try:\n                    output_images, seed, info, stats = img2img(\n                        prompt=prompt,\n                        init_info=new_img,\n                        init_info_mask=new_mask,\n                        mask_mode=mask_mode,\n                        mask_restore=img2img_mask_restore,\n                        ddim_steps=st.session_state[\"sampling_steps\"],\n                        sampler_name=st.session_state[\"sampler_name\"],\n                        n_iter=st.session_state[\"batch_count\"],\n                        cfg_scale=cfg_scale,\n                        denoising_strength=st.session_state[\"denoising_strength\"],\n                        variant_seed=variant_seed,\n                        seed=seed,\n                        noise_mode=noise_mode,\n                        find_noise_steps=find_noise_steps,\n                        width=width,\n                        height=height,\n                        variant_amount=variant_amount,\n                        ddim_eta=st.session_state.defaults.img2img.ddim_eta,\n                        write_info_files=write_info_files,\n                        separate_prompts=separate_prompts,\n                        normalize_prompt_weights=normalize_prompt_weights,\n                        save_individual_images=save_individual_images,\n                        save_grid=save_grid,\n                        group_by_prompt=group_by_prompt,\n                        save_as_jpg=save_as_jpg,\n                        use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                        GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                        use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                        RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                        use_LDSR=st.session_state[\"use_LDSR\"],\n                        LDSR_model=st.session_state[\"LDSR_model\"],\n                        loopback=loopback,\n                    )\n\n                    # show a message when the generation is complete.\n                    message.success(\n                        \"Render Complete: \" + info + \"; Stats: \" + stats, icon=\"✅\"\n                    )\n\n                except (\n                    StopException,\n                    # KeyError\n                ):\n                    logger.info(\"Received Streamlit StopException\")\n                    # reset the page title so the percent doesnt stay on it confusing the user.\n                    set_page_title(\"Stable Diffusion Playground\")\n\n                # this will render all the images at the end of the generation but its better if its moved to a second tab inside col2 and shown as a gallery.\n                # use the current col2 first tab to show the preview_img and update it as its generated.\n                # preview_image.image(output_images, width=750)\n\n\n# on import run init\n"
  },
  {
    "path": "scripts/img2txt.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# ---------------------------------------------------------------------------------------------------------------------------------------------------\n\"\"\"\nCLIP Interrogator made by @pharmapsychotic modified to work with our WebUI.\n\n# CLIP Interrogator by @pharmapsychotic\nTwitter: https://twitter.com/pharmapsychotic\nGithub: https://github.com/pharmapsychotic/clip-interrogator\n\nDescription:\nWhat do the different OpenAI CLIP models see in an image? What might be a good text prompt to create similar images using CLIP guided diffusion\nor another text to image model? The CLIP Interrogator is here to get you answers!\n\nPlease consider buying him a coffee via [ko-fi](https://ko-fi.com/pharmapsychotic) or following him on [twitter](https://twitter.com/pharmapsychotic).\n\nAnd if you're looking for more Ai art tools check out my [Ai generative art tools list](https://pharmapsychotic.com/tools.html).\n\n\"\"\"\n# ---------------------------------------------------------------------------------------------------------------------------------------------------\n\n# base webui import and utils.\nfrom sd_utils import st, logger, server_state, server_state_lock, random\n\n# streamlit imports\n\n# streamlit components section\n\n# other imports\n\nimport clip\nimport open_clip\nimport gc\nimport os\nimport pandas as pd\n\n# import requests\nimport torch\nfrom PIL import Image\nfrom torchvision import transforms\nfrom torchvision.transforms.functional import InterpolationMode\nfrom ldm.models.blip import blip_decoder\n\n# import hashlib\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\ndevice = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\nblip_image_eval_size = 512\n\nst.session_state[\"log\"] = []\n\n\ndef load_blip_model():\n    logger.info(\"Loading BLIP Model\")\n    if \"log\" not in st.session_state:\n        st.session_state[\"log\"] = []\n\n    st.session_state[\"log\"].append(\"Loading BLIP Model\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n\n    if \"blip_model\" not in server_state:\n        with server_state_lock[\"blip_model\"]:\n            server_state[\"blip_model\"] = blip_decoder(\n                pretrained=\"models/blip/model__base_caption.pth\",\n                image_size=blip_image_eval_size,\n                vit=\"base\",\n                med_config=\"configs/blip/med_config.json\",\n            )\n\n            server_state[\"blip_model\"] = server_state[\"blip_model\"].eval()\n\n            server_state[\"blip_model\"] = server_state[\"blip_model\"].to(device).half()\n\n            logger.info(\"BLIP Model Loaded\")\n            st.session_state[\"log\"].append(\"BLIP Model Loaded\")\n            st.session_state[\"log_message\"].code(\n                \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n            )\n    else:\n        logger.info(\"BLIP Model already loaded\")\n        st.session_state[\"log\"].append(\"BLIP Model already loaded\")\n        st.session_state[\"log_message\"].code(\n            \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n        )\n\n\ndef generate_caption(pil_image):\n    load_blip_model()\n\n    gpu_image = (\n        transforms.Compose(\n            [  # type: ignore\n                transforms.Resize((blip_image_eval_size, blip_image_eval_size), interpolation=InterpolationMode.BICUBIC),  # type: ignore\n                transforms.ToTensor(),  # type: ignore\n                transforms.Normalize((0.48145466, 0.4578275, 0.40821073), (0.26862954, 0.26130258, 0.27577711)),  # type: ignore\n            ]\n        )(pil_image)\n        .unsqueeze(0)\n        .to(device)\n        .half()\n    )\n\n    with torch.no_grad():\n        caption = server_state[\"blip_model\"].generate(\n            gpu_image, sample=False, num_beams=3, max_length=20, min_length=5\n        )\n\n    return caption[0]\n\n\ndef load_list(filename):\n    with open(filename, \"r\", encoding=\"utf-8\", errors=\"replace\") as f:\n        items = [line.strip() for line in f.readlines()]\n        return items\n\n\ndef rank(model, image_features, text_array, top_count=1):\n    top_count = min(top_count, len(text_array))\n    text_tokens = clip.tokenize([text for text in text_array]).cuda()\n    with torch.no_grad():\n        text_features = model.encode_text(text_tokens).float()\n    text_features /= text_features.norm(dim=-1, keepdim=True)\n\n    similarity = torch.zeros((1, len(text_array))).to(device)\n    for i in range(image_features.shape[0]):\n        similarity += (\n            100.0 * image_features[i].unsqueeze(0) @ text_features.T\n        ).softmax(dim=-1)\n    similarity /= image_features.shape[0]\n\n    top_probs, top_labels = similarity.cpu().topk(top_count, dim=-1)\n    return [\n        (text_array[top_labels[0][i].numpy()], (top_probs[0][i].numpy() * 100))\n        for i in range(top_count)\n    ]\n\n\ndef clear_cuda():\n    torch.cuda.empty_cache()\n    gc.collect()\n\n\ndef batch_rank(\n    model,\n    image_features,\n    text_array,\n    batch_size=st.session_state[\"defaults\"].img2txt.batch_size,\n):\n    batch_size = min(batch_size, len(text_array))\n    batch_count = int(len(text_array) / batch_size)\n    batches = [\n        text_array[i * batch_size : (i + 1) * batch_size] for i in range(batch_count)\n    ]\n    ranks = []\n    for batch in batches:\n        ranks += rank(model, image_features, batch)\n    return ranks\n\n\ndef interrogate(image, models):\n    load_blip_model()\n\n    logger.info(\"Generating Caption\")\n    st.session_state[\"log\"].append(\"Generating Caption\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n    caption = generate_caption(image)\n\n    if st.session_state[\"defaults\"].general.optimized:\n        del server_state[\"blip_model\"]\n        clear_cuda()\n\n    logger.info(\"Caption Generated\")\n    st.session_state[\"log\"].append(\"Caption Generated\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n\n    if len(models) == 0:\n        logger.info(f\"\\n\\n{caption}\")\n        return\n\n    table = []\n    bests = [[(\"\", 0)]] * 7\n\n    logger.info(\"Ranking Text\")\n    st.session_state[\"log\"].append(\"Ranking Text\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n\n    for model_name in models:\n        with torch.no_grad(), torch.autocast(\"cuda\", dtype=torch.float16):\n            logger.info(f\"Interrogating with {model_name}...\")\n            st.session_state[\"log\"].append(f\"Interrogating with {model_name}...\")\n            st.session_state[\"log_message\"].code(\n                \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n            )\n\n            if model_name not in server_state[\"clip_models\"]:\n                if not st.session_state[\"defaults\"].img2txt.keep_all_models_loaded:\n                    model_to_delete = []\n                    for model in server_state[\"clip_models\"]:\n                        if model != model_name:\n                            model_to_delete.append(model)\n                    for model in model_to_delete:\n                        del server_state[\"clip_models\"][model]\n                        del server_state[\"preprocesses\"][model]\n                        clear_cuda()\n                if model_name == \"ViT-H-14\":\n                    (\n                        server_state[\"clip_models\"][model_name],\n                        _,\n                        server_state[\"preprocesses\"][model_name],\n                    ) = open_clip.create_model_and_transforms(\n                        model_name,\n                        pretrained=\"laion2b_s32b_b79k\",\n                        cache_dir=\"models/clip\",\n                    )\n                elif model_name == \"ViT-g-14\":\n                    (\n                        server_state[\"clip_models\"][model_name],\n                        _,\n                        server_state[\"preprocesses\"][model_name],\n                    ) = open_clip.create_model_and_transforms(\n                        model_name,\n                        pretrained=\"laion2b_s12b_b42k\",\n                        cache_dir=\"models/clip\",\n                    )\n                else:\n                    (\n                        server_state[\"clip_models\"][model_name],\n                        server_state[\"preprocesses\"][model_name],\n                    ) = clip.load(\n                        model_name, device=device, download_root=\"models/clip\"\n                    )\n                server_state[\"clip_models\"][model_name] = (\n                    server_state[\"clip_models\"][model_name].cuda().eval()\n                )\n\n            images = server_state[\"preprocesses\"][model_name](image).unsqueeze(0).cuda()\n\n            image_features = (\n                server_state[\"clip_models\"][model_name].encode_image(images).float()\n            )\n\n            image_features /= image_features.norm(dim=-1, keepdim=True)\n\n            if st.session_state[\"defaults\"].general.optimized:\n                clear_cuda()\n\n            ranks = []\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"mediums\"],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    [\"by \" + artist for artist in server_state[\"artists\"]],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"trending_list\"],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"movements\"],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"flavors\"],\n                )\n            )\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"domains\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"subreddits\"]))\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"techniques\"],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"tags\"],\n                )\n            )\n\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"genres\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"styles\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"subjects\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"colors\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"moods\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"themes\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"keywords\"]))\n\n            # print (bests)\n            # print (ranks)\n\n            for i in range(len(ranks)):\n                confidence_sum = 0\n                for ci in range(len(ranks[i])):\n                    confidence_sum += ranks[i][ci][1]\n                if confidence_sum > sum(bests[i][t][1] for t in range(len(bests[i]))):\n                    bests[i] = ranks[i]\n\n            for best in bests:\n                best.sort(key=lambda x: x[1], reverse=True)\n                # prune to 3\n                best = best[:3]\n\n            row = [model_name]\n\n            for r in ranks:\n                row.append(\", \".join([f\"{x[0]} ({x[1]:0.1f}%)\" for x in r]))\n\n            # for rank in ranks:\n            #    rank.sort(key=lambda x: x[1], reverse=True)\n            #    row.append(f'{rank[0][0]} {rank[0][1]:.2f}%')\n\n            table.append(row)\n\n            if st.session_state[\"defaults\"].general.optimized:\n                del server_state[\"clip_models\"][model_name]\n                gc.collect()\n\n    st.session_state[\"prediction_table\"][\n        st.session_state[\"processed_image_count\"]\n    ].dataframe(\n        pd.DataFrame(\n            table,\n            columns=[\n                \"Model\",\n                \"Medium\",\n                \"Artist\",\n                \"Trending\",\n                \"Movement\",\n                \"Flavors\",\n                \"Techniques\",\n                \"Tags\",\n            ],\n        )\n    )\n\n    medium = bests[0][0][0]\n    artist = bests[1][0][0]\n    trending = bests[2][0][0]\n    movement = bests[3][0][0]\n    flavors = bests[4][0][0]\n    # domains = bests[5][0][0]\n    # subreddits = bests[6][0][0]\n    techniques = bests[5][0][0]\n    tags = bests[6][0][0]\n\n    if caption.startswith(medium):\n        st.session_state[\"text_result\"][st.session_state[\"processed_image_count\"]].code(\n            f\"\\n\\n{caption} {artist}, {trending}, {movement}, {techniques}, {flavors}, {tags}\",\n            language=\"\",\n        )\n    else:\n        st.session_state[\"text_result\"][st.session_state[\"processed_image_count\"]].code(\n            f\"\\n\\n{caption}, {medium} {artist}, {trending}, {movement}, {techniques}, {flavors}, {tags}\",\n            language=\"\",\n        )\n\n    logger.info(\"Finished Interrogating.\")\n    st.session_state[\"log\"].append(\"Finished Interrogating.\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n\n\ndef img2txt():\n    models = []\n\n    if st.session_state[\"ViT-L/14\"]:\n        models.append(\"ViT-L/14\")\n    if st.session_state[\"ViT-H-14\"]:\n        models.append(\"ViT-H-14\")\n    if st.session_state[\"ViT-g-14\"]:\n        models.append(\"ViT-g-14\")\n\n    if st.session_state[\"ViTB32\"]:\n        models.append(\"ViT-B/32\")\n    if st.session_state[\"ViTB16\"]:\n        models.append(\"ViT-B/16\")\n\n    if st.session_state[\"ViTL14_336px\"]:\n        models.append(\"ViT-L/14@336px\")\n    if st.session_state[\"RN101\"]:\n        models.append(\"RN101\")\n    if st.session_state[\"RN50\"]:\n        models.append(\"RN50\")\n    if st.session_state[\"RN50x4\"]:\n        models.append(\"RN50x4\")\n    if st.session_state[\"RN50x16\"]:\n        models.append(\"RN50x16\")\n    if st.session_state[\"RN50x64\"]:\n        models.append(\"RN50x64\")\n\n    # if str(image_path_or_url).startswith('http://') or str(image_path_or_url).startswith('https://'):\n    # image = Image.open(requests.get(image_path_or_url, stream=True).raw).convert('RGB')\n    # else:\n    # image = Image.open(image_path_or_url).convert('RGB')\n\n    # thumb = st.session_state[\"uploaded_image\"].image.copy()\n    # thumb.thumbnail([blip_image_eval_size, blip_image_eval_size])\n    # display(thumb)\n\n    st.session_state[\"processed_image_count\"] = 0\n\n    for i in range(len(st.session_state[\"uploaded_image\"])):\n        interrogate(st.session_state[\"uploaded_image\"][i].pil_image, models=models)\n        # increase counter.\n        st.session_state[\"processed_image_count\"] += 1\n\n\n#\n\n\ndef layout():\n    # set_page_title(\"Image-to-Text - Stable Diffusion WebUI\")\n    # st.info(\"Under Construction. :construction_worker:\")\n    #\n    if \"clip_models\" not in server_state:\n        server_state[\"clip_models\"] = {}\n    if \"preprocesses\" not in server_state:\n        server_state[\"preprocesses\"] = {}\n    data_path = \"data/\"\n    if \"artists\" not in server_state:\n        server_state[\"artists\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"artists.txt\")\n        )\n    if \"flavors\" not in server_state:\n        server_state[\"flavors\"] = random.choices(\n            load_list(os.path.join(data_path, \"img2txt\", \"flavors.txt\")), k=2000\n        )\n    if \"mediums\" not in server_state:\n        server_state[\"mediums\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"mediums.txt\")\n        )\n    if \"movements\" not in server_state:\n        server_state[\"movements\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"movements.txt\")\n        )\n    if \"sites\" not in server_state:\n        server_state[\"sites\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"sites.txt\")\n        )\n    # server_state[\"domains\"] = load_list(os.path.join(data_path, 'img2txt', 'domains.txt'))\n    # server_state[\"subreddits\"] = load_list(os.path.join(data_path, 'img2txt', 'subreddits.txt'))\n    if \"techniques\" not in server_state:\n        server_state[\"techniques\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"techniques.txt\")\n        )\n    if \"tags\" not in server_state:\n        server_state[\"tags\"] = load_list(os.path.join(data_path, \"img2txt\", \"tags.txt\"))\n    # server_state[\"genres\"] = load_list(os.path.join(data_path, 'img2txt', 'genres.txt'))\n    # server_state[\"styles\"] = load_list(os.path.join(data_path, 'img2txt', 'styles.txt'))\n    # server_state[\"subjects\"] = load_list(os.path.join(data_path, 'img2txt', 'subjects.txt'))\n    if \"trending_list\" not in server_state:\n        server_state[\"trending_list\"] = [site for site in server_state[\"sites\"]]\n        server_state[\"trending_list\"].extend(\n            [\"trending on \" + site for site in server_state[\"sites\"]]\n        )\n        server_state[\"trending_list\"].extend(\n            [\"featured on \" + site for site in server_state[\"sites\"]]\n        )\n        server_state[\"trending_list\"].extend(\n            [site + \" contest winner\" for site in server_state[\"sites\"]]\n        )\n    with st.form(\"img2txt-inputs\"):\n        st.session_state[\"generation_mode\"] = \"img2txt\"\n\n        # st.write(\"---\")\n        # creating the page layout using columns\n        col1, col2 = st.columns([1, 4], gap=\"large\")\n\n        with col1:\n            st.session_state[\"uploaded_image\"] = st.file_uploader(\n                \"Input Image\",\n                type=[\"png\", \"jpg\", \"jpeg\", \"jfif\", \"webp\"],\n                accept_multiple_files=True,\n            )\n\n            with st.expander(\"CLIP models\", expanded=True):\n                st.session_state[\"ViT-L/14\"] = st.checkbox(\n                    \"ViT-L/14\", value=True, help=\"ViT-L/14 model.\"\n                )\n                st.session_state[\"ViT-H-14\"] = st.checkbox(\n                    \"ViT-H-14\", value=False, help=\"ViT-H-14 model.\"\n                )\n                st.session_state[\"ViT-g-14\"] = st.checkbox(\n                    \"ViT-g-14\", value=False, help=\"ViT-g-14 model.\"\n                )\n\n            with st.expander(\"Others\"):\n                st.info(\n                    \"For DiscoDiffusion and JAX enable all the same models here as you intend to use when generating your images.\"\n                )\n\n                st.session_state[\"ViTL14_336px\"] = st.checkbox(\n                    \"ViTL14_336px\", value=False, help=\"ViTL14_336px model.\"\n                )\n                st.session_state[\"ViTB16\"] = st.checkbox(\n                    \"ViTB16\", value=False, help=\"ViTB16 model.\"\n                )\n                st.session_state[\"ViTB32\"] = st.checkbox(\n                    \"ViTB32\", value=False, help=\"ViTB32 model.\"\n                )\n                st.session_state[\"RN50\"] = st.checkbox(\n                    \"RN50\", value=False, help=\"RN50 model.\"\n                )\n                st.session_state[\"RN50x4\"] = st.checkbox(\n                    \"RN50x4\", value=False, help=\"RN50x4 model.\"\n                )\n                st.session_state[\"RN50x16\"] = st.checkbox(\n                    \"RN50x16\", value=False, help=\"RN50x16 model.\"\n                )\n                st.session_state[\"RN50x64\"] = st.checkbox(\n                    \"RN50x64\", value=False, help=\"RN50x64 model.\"\n                )\n                st.session_state[\"RN101\"] = st.checkbox(\n                    \"RN101\", value=False, help=\"RN101 model.\"\n                )\n\n            #\n            # st.subheader(\"Logs:\")\n\n            st.session_state[\"log_message\"] = st.empty()\n            st.session_state[\"log_message\"].code(\"\", language=\"\")\n\n        with col2:\n            st.subheader(\"Image\")\n\n            image_col1, image_col2 = st.columns([10, 25])\n            with image_col1:\n                st.form_submit_button(\n                    \"Update Preview Image\",\n                    help=\"Refresh the image preview to show your uploaded image instead of the default placeholder.\",\n                )\n\n            if st.session_state[\"uploaded_image\"]:\n                # print (type(st.session_state[\"uploaded_image\"]))\n                # if len(st.session_state[\"uploaded_image\"]) == 1:\n                st.session_state[\"input_image_preview\"] = []\n                st.session_state[\"input_image_preview_container\"] = []\n                st.session_state[\"prediction_table\"] = []\n                st.session_state[\"text_result\"] = []\n\n                for i in range(len(st.session_state[\"uploaded_image\"])):\n                    st.session_state[\"input_image_preview_container\"].append(i)\n                    st.session_state[\"input_image_preview_container\"][i] = st.empty()\n\n                    with st.session_state[\"input_image_preview_container\"][\n                        i\n                    ].container():\n                        col1_output, col2_output = st.columns([2, 10], gap=\"medium\")\n                        with col1_output:\n                            st.session_state[\"input_image_preview\"].append(i)\n                            st.session_state[\"input_image_preview\"][i] = st.empty()\n                            st.session_state[\"uploaded_image\"][\n                                i\n                            ].pil_image = Image.open(\n                                st.session_state[\"uploaded_image\"][i]\n                            ).convert(\n                                \"RGB\"\n                            )\n\n                            st.session_state[\"input_image_preview\"][i].image(\n                                st.session_state[\"uploaded_image\"][i].pil_image,\n                                use_column_width=True,\n                                clamp=True,\n                            )\n\n                    with st.session_state[\"input_image_preview_container\"][\n                        i\n                    ].container():\n                        with col2_output:\n                            st.session_state[\"prediction_table\"].append(i)\n                            st.session_state[\"prediction_table\"][i] = st.empty()\n                            st.session_state[\"prediction_table\"][i].table()\n\n                            st.session_state[\"text_result\"].append(i)\n                            st.session_state[\"text_result\"][i] = st.empty()\n                            st.session_state[\"text_result\"][i].code(\"\", language=\"\")\n\n            else:\n                # st.session_state[\"input_image_preview\"].code('', language=\"\")\n                st.image(\"images/streamlit/img2txt_placeholder.png\", clamp=True)\n\n        with image_col2:\n            #\n            # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n            # generate_col1.title(\"\")\n            # generate_col1.title(\"\")\n            generate_button = st.form_submit_button(\n                \"Generate!\",\n                help=\"Start interrogating the images to generate a prompt from each of the selected images\",\n            )\n\n    if generate_button:\n        # if model, pipe, RealESRGAN or GFPGAN is in st.session_state remove the model and pipe form session_state so that they are reloaded.\n        if \"model\" in server_state and st.session_state[\"defaults\"].general.optimized:\n            del server_state[\"model\"]\n        if \"pipe\" in server_state and st.session_state[\"defaults\"].general.optimized:\n            del server_state[\"pipe\"]\n        if (\n            \"RealESRGAN\" in server_state\n            and st.session_state[\"defaults\"].general.optimized\n        ):\n            del server_state[\"RealESRGAN\"]\n        if \"GFPGAN\" in server_state and st.session_state[\"defaults\"].general.optimized:\n            del server_state[\"GFPGAN\"]\n\n        # run clip interrogator\n        img2txt()\n"
  },
  {
    "path": "scripts/imglab.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import *\n\n# home plugin\nimport os\nfrom PIL import Image\n\n# from bs4 import BeautifulSoup\nfrom streamlit.runtime.in_memory_file_manager import in_memory_file_manager\nfrom streamlit.elements import image as STImage\n\n# Temp imports\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n\nclass plugin_info:\n    plugname = \"imglab\"\n    description = \"Image Lab\"\n    isTab = True\n    displayPriority = 3\n\n\ndef getLatestGeneratedImagesFromPath():\n    # get the latest images from the generated images folder\n    # get the path to the generated images folder\n    generatedImagesPath = os.path.join(os.getcwd(), \"outputs\")\n    # get all the files from the folders and subfolders\n    files = []\n    # get the laest 10 images from the output folder without walking the subfolders\n    for r, d, f in os.walk(generatedImagesPath):\n        for file in f:\n            if \".png\" in file:\n                files.append(os.path.join(r, file))\n    # sort the files by date\n    files.sort(key=os.path.getmtime)\n    # reverse the list so the latest images are first\n    for f in files:\n        img = Image.open(f)\n        files[files.index(f)] = img\n    # get the latest 10 files\n    # get all the files with the .png or .jpg extension\n    # sort files by date\n    # get the latest 10 files\n    latestFiles = files[-10:]\n    # reverse the list\n    latestFiles.reverse()\n    return latestFiles\n\n\ndef getImagesFromLexica():\n    # scrape images from lexica.art\n    # get the html from the page\n    # get the html with cookies and javascript\n    apiEndpoint = r\"https://lexica.art/api/trpc/prompts.infinitePrompts?batch=1&input=%7B%220%22%3A%7B%22json%22%3A%7B%22limit%22%3A10%2C%22text%22%3A%22%22%2C%22cursor%22%3A10%7D%7D%7D\"\n    # REST API call\n    #\n    from requests_html import HTMLSession\n\n    session = HTMLSession()\n\n    response = session.get(apiEndpoint)\n    # req = requests.Session()\n    # req.headers['user-agent'] = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36'\n    # response = req.get(apiEndpoint)\n    print(response.status_code)\n    print(response.text)\n    # get the json from the response\n    # json = response.json()\n    # get the prompts from the json\n    print(response)\n    # session = requests.Session()\n    # parseEndpointJson = session.get(apiEndpoint,headers=headers,verify=False)\n    # print(parseEndpointJson)\n    # print('test2')\n    # page = requests.get(\"https://lexica.art/\", headers={'User-Agent': 'Mozilla/5.0'})\n    # parse the html\n    # soup = BeautifulSoup(page.content, 'html.parser')\n    # find all the images\n    # print(soup)\n    # images = soup.find_all('alt-image')\n    # create a list to store the image urls\n    image_urls = []\n    # loop through the images\n    for image in images:\n        # get the url\n        image_url = image[\"src\"]\n        # add it to the list\n        image_urls.append(\"http://www.lexica.art/\" + image_url)\n    # return the list\n    print(image_urls)\n    return image_urls\n\n\ndef changeImage():\n    # change the image in the image holder\n    # check if the file is not empty\n    if len(st.session_state[\"uploaded_file\"]) > 0:\n        # read the file\n        print(\"test2\")\n        uploaded = st.session_state[\"uploaded_file\"][0].read()\n        # show the image in the image holder\n        st.session_state[\"previewImg\"].empty()\n        st.session_state[\"previewImg\"].image(uploaded, use_column_width=True)\n\n\ndef createHTMLGallery(images):\n    html3 = \"\"\"\n        <div class=\"gallery-history\" style=\"\n    display: flex;\n    flex-wrap: wrap;\n\talign-items: flex-start;\">\n        \"\"\"\n    mkdwn_array = []\n    for i in images:\n        bImg = i.read()\n        i = Image.save(bImg, \"PNG\")\n        width, height = i.size\n        # get random number for the id\n        image_id = \"%s\" % (str(images.index(i)))\n        (data, mimetype) = STImage._normalize_to_bytes(bImg.getvalue(), width, \"auto\")\n        this_file = in_memory_file_manager.add(data, mimetype, image_id)\n        img_str = this_file.url\n        # img_str = 'data:image/png;base64,' + b64encode(image_io.getvalue()).decode('ascii')\n        # get image size\n\n        # make sure the image is not bigger then 150px but keep the aspect ratio\n        if width > 150:\n            height = int(height * (150 / width))\n            width = 150\n        if height > 150:\n            width = int(width * (150 / height))\n            height = 150\n\n        # mkdwn = f\"\"\"<img src=\"{img_str}\" alt=\"Image\" with=\"200\" height=\"200\" />\"\"\"\n        mkdwn = f\"\"\"<div class=\"gallery\" style=\"margin: 3px;\" >\n<a href=\"{img_str}\">\n<img src=\"{img_str}\" alt=\"Image\" width=\"{width}\" height=\"{height}\">\n</a>\n</div>\n\"\"\"\n        mkdwn_array.append(mkdwn)\n    html3 += \"\".join(mkdwn_array)\n    html3 += \"</div>\"\n    return html3\n\n\ndef layout():\n    col1, col2 = st.columns(2)\n    with col1:\n        st.session_state[\"uploaded_file\"] = st.file_uploader(\n            \"Choose an image or images\",\n            type=[\"png\", \"jpg\", \"jpeg\", \"webp\"],\n            accept_multiple_files=True,\n            on_change=changeImage,\n        )\n        if \"previewImg\" not in st.session_state:\n            st.session_state[\"previewImg\"] = st.empty()\n        else:\n            if len(st.session_state[\"uploaded_file\"]) > 0:\n                st.session_state[\"previewImg\"].empty()\n                st.session_state[\"previewImg\"].image(\n                    st.session_state[\"uploaded_file\"][0], use_column_width=True\n                )\n            else:\n                st.session_state[\"previewImg\"] = st.empty()\n"
  },
  {
    "path": "scripts/logger.py",
    "content": "import sys\nfrom functools import partialmethod\nfrom loguru import logger\n\nSTDOUT_LEVELS = [\"GENERATION\", \"PROMPT\"]\nINIT_LEVELS = [\"INIT\", \"INIT_OK\", \"INIT_WARN\", \"INIT_ERR\"]\nMESSAGE_LEVELS = [\"MESSAGE\"]\n# By default we're at error level or higher\nverbosity = 20\nquiet = 0\n\n\ndef set_logger_verbosity(count):\n    global verbosity\n    # The count comes reversed. So count = 0 means minimum verbosity\n    # While count 5 means maximum verbosity\n    # So the more count we have, the lowe we drop the versbosity maximum\n    verbosity = 20 - (count * 10)\n\n\ndef quiesce_logger(count):\n    global quiet\n    # The bigger the count, the more silent we want our logger\n    quiet = count * 10\n\n\ndef is_stdout_log(record):\n    if record[\"level\"].name not in STDOUT_LEVELS:\n        return False\n    if record[\"level\"].no < verbosity + quiet:\n        return False\n    return True\n\n\ndef is_init_log(record):\n    if record[\"level\"].name not in INIT_LEVELS:\n        return False\n    if record[\"level\"].no < verbosity + quiet:\n        return False\n    return True\n\n\ndef is_msg_log(record):\n    if record[\"level\"].name not in MESSAGE_LEVELS:\n        return False\n    if record[\"level\"].no < verbosity + quiet:\n        return False\n    return True\n\n\ndef is_stderr_log(record):\n    if record[\"level\"].name in STDOUT_LEVELS + INIT_LEVELS + MESSAGE_LEVELS:\n        return False\n    if record[\"level\"].no < verbosity + quiet:\n        return False\n    return True\n\n\ndef test_logger():\n    logger.generation(\n        \"This is a generation message\\nIt is typically multiline\\nThee Lines\".encode(\n            \"unicode_escape\"\n        ).decode(\"utf-8\")\n    )\n    logger.prompt(\"This is a prompt message\")\n    logger.debug(\"Debug Message\")\n    logger.info(\"Info Message\")\n    logger.warning(\"Info Warning\")\n    logger.error(\"Error Message\")\n    logger.critical(\"Critical Message\")\n    logger.init(\"This is an init message\", status=\"Starting\")\n    logger.init_ok(\"This is an init message\", status=\"OK\")\n    logger.init_warn(\"This is an init message\", status=\"Warning\")\n    logger.init_err(\"This is an init message\", status=\"Error\")\n    logger.message(\"This is user message\")\n    sys.exit()\n\n\nlogfmt = \"<level>{level: <10}</level> @ <green>{time:YYYY-MM-DD HH:mm:ss}</green> | <green>{name}</green>:<green>{function}</green>:<green>{line}</green> - <level>{message}</level>\"\ngenfmt = \"<level>{level: <10}</level> @ <green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{message}</level>\"\ninitfmt = \"<magenta>INIT      </magenta> | <level>{extra[status]: <10}</level> | <magenta>{message}</magenta>\"\nmsgfmt = \"<level>{level: <10}</level> | <level>{message}</level>\"\n\ntry:\n    logger.level(\"GENERATION\", no=24, color=\"<cyan>\")\n    logger.level(\"PROMPT\", no=23, color=\"<yellow>\")\n    logger.level(\"INIT\", no=31, color=\"<white>\")\n    logger.level(\"INIT_OK\", no=31, color=\"<green>\")\n    logger.level(\"INIT_WARN\", no=31, color=\"<yellow>\")\n    logger.level(\"INIT_ERR\", no=31, color=\"<red>\")\n    # Messages contain important information without which this application might not be able to be used\n    # As such, they have the highest priority\n    logger.level(\"MESSAGE\", no=61, color=\"<green>\")\nexcept TypeError:\n    pass\n\n\nlogger.__class__.generation = partialmethod(logger.__class__.log, \"GENERATION\")\nlogger.__class__.prompt = partialmethod(logger.__class__.log, \"PROMPT\")\nlogger.__class__.init = partialmethod(logger.__class__.log, \"INIT\")\nlogger.__class__.init_ok = partialmethod(logger.__class__.log, \"INIT_OK\")\nlogger.__class__.init_warn = partialmethod(logger.__class__.log, \"INIT_WARN\")\nlogger.__class__.init_err = partialmethod(logger.__class__.log, \"INIT_ERR\")\nlogger.__class__.message = partialmethod(logger.__class__.log, \"MESSAGE\")\n\nconfig = {\n    \"handlers\": [\n        {\n            \"sink\": sys.stderr,\n            \"format\": logfmt,\n            \"colorize\": True,\n            \"filter\": is_stderr_log,\n        },\n        {\n            \"sink\": sys.stdout,\n            \"format\": genfmt,\n            \"level\": \"PROMPT\",\n            \"colorize\": True,\n            \"filter\": is_stdout_log,\n        },\n        {\n            \"sink\": sys.stdout,\n            \"format\": initfmt,\n            \"level\": \"INIT\",\n            \"colorize\": True,\n            \"filter\": is_init_log,\n        },\n        {\n            \"sink\": sys.stdout,\n            \"format\": msgfmt,\n            \"level\": \"MESSAGE\",\n            \"colorize\": True,\n            \"filter\": is_msg_log,\n        },\n    ],\n}\nlogger.configure(**config)\n\nlogger.add(\n    \"logs/log_{time:MM-DD-YYYY!UTC}.log\",\n    rotation=\"8 MB\",\n    compression=\"zip\",\n    level=\"INFO\",\n)  # Once the file is too old, it's rotated\n"
  },
  {
    "path": "scripts/merge.py",
    "content": "import torch\nimport tkinter as tk\n\n\nwindow = tk.Tk()\nwindow.title(string=\"Model Merger\")\ntk.Label(text=\"Model Merger\", font=(\"Arial\", 25)).pack()\ntk.Label(text=\"GUI by antrobot1234\").pack()\n\nframe1 = tk.Frame()\nframe2 = tk.Frame()\nframe3 = tk.Frame()\n\nframeSlider = tk.Frame()\nframeButton = tk.Frame()\n\ntk.Label(frame1, text=\"File 1:\").pack(side=\"left\")\nfile1text = tk.Entry(frame1, width=40)\nfile1text.pack(side=\"left\")\n\ntk.Label(frame2, text=\"File 2:\").pack(side=\"left\")\nfile2text = tk.Entry(frame2, width=40)\nfile2text.pack(side=\"left\")\n\ntk.Label(frame3, text=\"File Out:\").pack(side=\"left\")\nfileOtext = tk.Entry(frame3, width=38)\nfileOtext.pack(side=\"left\")\n\ntk.Label(frameSlider, text=\"Weight of file 1\").pack(side=\"left\")\nscale = tk.Scale(\n    frameSlider, from_=0, to=100, orient=\"horizontal\", tickinterval=10, length=450\n)\nscale.pack(side=\"left\")\n\n\ngoButton = tk.Button(frameButton, text=\"RUN\", height=2, width=20, bg=\"green\")\n\n\ndef merge(file1, file2, out, a):\n    alpha = (a) / 100\n    if not (file1.endswith(\".ckpt\")):\n        file1 += \".ckpt\"\n    if not (file2.endswith(\".ckpt\")):\n        file2 += \".ckpt\"\n    if not (out.endswith(\".ckpt\")):\n        out += \".ckpt\"\n    # Load Models\n    model_0 = torch.load(file1)\n    model_1 = torch.load(file2)\n    theta_0 = model_0[\"state_dict\"]\n    theta_1 = model_1[\"state_dict\"]\n\n    for key in theta_0.keys():\n        if \"model\" in key and key in theta_1:\n            theta_0[key] = (alpha) * theta_0[key] + (1 - alpha) * theta_1[key]\n\n    goButton.config(bg=\"red\", text=\"RUNNING...\\n(STAGE 2)\")\n    window.update()\n\n    for key in theta_1.keys():\n        if \"model\" in key and key not in theta_0:\n            theta_0[key] = theta_1[key]\n    torch.save(model_0, out)\n\n\ndef handleClick(event):\n    goButton.config(bg=\"red\", text=\"RUNNING...\\n(STAGE 1)\")\n    window.update()\n    merge(file1text.get(), file2text.get(), fileOtext.get(), scale.get())\n    goButton.config(bg=\"green\", text=\"RUN\")\n\n\ngoButton.pack()\ngoButton.bind(\"<Button-1>\", handleClick)\n\n\nframe1.pack()\nframe2.pack()\nframe3.pack()\nframeSlider.pack()\nframeButton.pack()\n\nwindow.mainloop()\n"
  },
  {
    "path": "scripts/modeldownload.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\nimport os\nimport os.path as op\n\n\ndef updateModels():\n    if op.exists(\"models/ldm/stable-diffusion-v1/model.ckpt\"):\n        pass\n    else:\n        os.system(\n            \"wget https://www.googleapis.com/storage/v1/b/aai-blog-files/o/sd-v1-4.ckpt?alt=media -o models/ldm/stable-diffusion-v1/model.ckpt\"\n        )\n        # os.rename('models/ldm/stable-diffusion-v1/sd-v1-4.ckpt?alt=media','models/ldm/stable-diffusion-v1/model.ckpt')\n        # os.system('wget https://cdn-lfs.huggingface.co/repos/ab/41/ab41ccb635cd5bd124c8eac1b5796b4f64049c9453c4e50d51819468ca69ceb8/14749efc0ae8ef0329391ad4436feb781b402f4fece4883c7ad8d10556d8a36a?response-content-disposition=attachment%3B%20filename%3D%22modelfull.ckpt%22 -o models/ldm/stable-diffusion-v1/model.ckpt')\n        # os.rename('models/ldm/stable-diffusion-v1/modelfull.ckpt','models/ldm/stable-diffusion-v1/model.ckpt')\n\n    if op.exists(\"models/realesrgan/RealESRGAN_x4plus.pth\") and op.exists(\n        \"models/realesrgan/RealESRGAN_x4plus_anime_6B.pth\"\n    ):\n        pass\n    else:\n        os.system(\n            \"wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P models/realesrgan\"\n        )\n        os.system(\n            \"wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth -P models/realesrgan\"\n        )\n\n    if op.exists(\"models/gfpgan/GFPGANv1.3.pth\"):\n        pass\n    else:\n        os.system(\n            \"wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth -P models/gfpgan\"\n        )\n\n    if op.exists(\"models/ldsr\"):\n        pass\n    else:\n        os.system(\"git clone https://github.com/devilismyfriend/latent-diffusion.git\")\n        os.system(\"mv latent-diffusion models/ldsr\")\n\n    if op.exists(\"models/ldsr/model.ckpt\"):\n        pass\n    else:\n        os.mkdir(\"models/ldsr/experiments\")\n        os.mkdir(\"models/ldsr\")\n        os.system(\n            \"wget https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1 -o models/ldsr/project.yaml\"\n        )\n        # os.rename('models/ldsr/index.html?dl=1', 'models/ldsr/project.yaml')\n        os.system(\n            \"wget https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1 -o models/ldsr/model.ckpt\"\n        )\n        # os.rename('models/ldsr/index.html?dl=1', 'models/ldsr/model.ckpt')\n"
  },
  {
    "path": "scripts/perlin.py",
    "content": "import numpy as np\n\n\ndef perlin(x, y, seed=0):\n    # permutation table\n    np.random.seed(seed)\n    p = np.arange(256, dtype=int)\n    np.random.shuffle(p)\n    p = np.stack([p, p]).flatten()\n    # coordinates of the top-left\n    xi, yi = x.astype(int), y.astype(int)\n    # internal coordinates\n    xf, yf = x - xi, y - yi\n    # fade factors\n    u, v = fade(xf), fade(yf)\n    # noise components\n    n00 = gradient(p[p[xi] + yi], xf, yf)\n    n01 = gradient(p[p[xi] + yi + 1], xf, yf - 1)\n    n11 = gradient(p[p[xi + 1] + yi + 1], xf - 1, yf - 1)\n    n10 = gradient(p[p[xi + 1] + yi], xf - 1, yf)\n    # combine noises\n    x1 = lerp(n00, n10, u)\n    x2 = lerp(n01, n11, u)  # FIX1: I was using n10 instead of n01\n    return lerp(x1, x2, v)  # FIX2: I also had to reverse x1 and x2 here\n\n\ndef lerp(a, b, x):\n    \"linear interpolation\"\n    return a + x * (b - a)\n\n\ndef fade(t):\n    \"6t^5 - 15t^4 + 10t^3\"\n    return 6 * t**5 - 15 * t**4 + 10 * t**3\n\n\ndef gradient(h, x, y):\n    \"grad converts h to the right gradient vector and return the dot product with (x,y)\"\n    vectors = np.array([[0, 1], [0, -1], [1, 0], [-1, 0]])\n    g = vectors[h % 4]\n    return g[:, :, 0] * x + g[:, :, 1] * y\n\n\nlin = np.linspace(0, 5, 100, endpoint=False)\nx, y = np.meshgrid(lin, lin)\n\n\ndef perlinNoise(height, width, octavesx=5, octavesy=5, seed=None):\n    linx = np.linspace(0, octavesx, width, endpoint=False)\n    liny = np.linspace(0, octavesy, height, endpoint=False)\n    x, y = np.meshgrid(linx, liny)\n    return perlin(x, y, seed=seed)\n"
  },
  {
    "path": "scripts/pipelines/stable_diffusion/no_check.py",
    "content": "from diffusers import ModelMixin\nimport torch\n\n\nclass NoCheck(ModelMixin):\n    \"\"\"Can be used in place of safety checker. Use responsibly and at your own risk.\"\"\"\n\n    def __init__(self):\n        super().__init__()\n        self.register_parameter(name=\"asdf\", param=torch.nn.Parameter(torch.randn(3)))\n\n    def forward(self, images=None, **kwargs):\n        return images, [False]\n"
  },
  {
    "path": "scripts/post_processing.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sandbox-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from sd_utils import *\nfrom sd_utils import (\n    st,\n    server_state,\n    torch_gc,\n    RealESRGAN_available,\n    GFPGAN_available,\n    LDSR_available,\n    load_models,\n    logger,\n    load_GFPGAN,\n    load_RealESRGAN,\n    load_LDSR,\n)\n\n# streamlit imports\n\n# streamlit components section\nimport hydralit_components as hc\n\n# other imports\nimport os\nfrom PIL import Image\nimport torch\n\n# Temp imports\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\ndef post_process(\n    use_GFPGAN=True,\n    GFPGAN_model=\"\",\n    use_RealESRGAN=False,\n    realesrgan_model_name=\"\",\n    use_LDSR=False,\n    LDSR_model_name=\"\",\n):\n    for i in range(len(st.session_state[\"uploaded_image\"])):\n        # st.session_state[\"uploaded_image\"][i].pil_image\n\n        if (\n            use_GFPGAN\n            and server_state[\"GFPGAN\"] is not None\n            and not use_RealESRGAN\n            and not use_LDSR\n        ):\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running GFPGAN on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            if server_state[\"GFPGAN\"].name != GFPGAN_model:\n                load_models(\n                    use_LDSR=use_LDSR,\n                    LDSR_model=LDSR_model_name,\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            torch_gc()\n\n            with torch.autocast(\"cuda\"):\n                cropped_faces, restored_faces, restored_img = server_state[\n                    \"GFPGAN\"\n                ].enhance(\n                    st.session_state[\"uploaded_image\"][i].pil_image,\n                    has_aligned=False,\n                    only_center_face=False,\n                    paste_back=True,\n                )\n\n            gfpgan_sample = restored_img[:, :, ::-1]\n            gfpgan_image = Image.fromarray(gfpgan_sample)\n\n            # if st.session_state[\"GFPGAN_strenght\"]:\n            # gfpgan_sample = Image.blend(image, gfpgan_image, st.session_state[\"GFPGAN_strenght\"])\n\n            gfpgan_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0] + \"-gfpgan\"\n            )\n\n            gfpgan_image.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{gfpgan_filename}.png\",\n                )\n            )\n\n        #\n        elif (\n            use_RealESRGAN and server_state[\"RealESRGAN\"] is not None and not use_GFPGAN\n        ):\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running RealESRGAN on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            torch_gc()\n\n            if server_state[\"RealESRGAN\"].model.name != realesrgan_model_name:\n                # try_loading_RealESRGAN(realesrgan_model_name)\n                load_models(\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                st.session_state[\"uploaded_image\"][i].pil_image\n            )\n            esrgan_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0] + \"-esrgan4x\"\n            )\n            esrgan_sample = output[:, :, ::-1]\n            esrgan_image = Image.fromarray(esrgan_sample)\n\n            esrgan_image.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{esrgan_filename}.png\",\n                )\n            )\n\n        #\n        elif use_LDSR and \"LDSR\" in server_state and not use_GFPGAN:\n            logger.info(\n                \"Running LDSR on image %d of %d...\"\n                % (i + 1, len(st.session_state[\"uploaded_image\"]))\n            )\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running LDSR on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            torch_gc()\n\n            if server_state[\"LDSR\"].name != LDSR_model_name:\n                # try_loading_RealESRGAN(realesrgan_model_name)\n                load_models(\n                    use_LDSR=use_LDSR,\n                    LDSR_model=LDSR_model_name,\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            result = server_state[\"LDSR\"].superResolution(\n                st.session_state[\"uploaded_image\"][i].pil_image,\n                ddimSteps=st.session_state[\"ldsr_sampling_steps\"],\n                preDownScale=st.session_state[\"preDownScale\"],\n                postDownScale=st.session_state[\"postDownScale\"],\n                downsample_method=st.session_state[\"downsample_method\"],\n            )\n\n            ldsr_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0] + \"-ldsr4x\"\n            )\n\n            result.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{ldsr_filename}.png\",\n                )\n            )\n\n        #\n        elif (\n            use_LDSR\n            and \"LDSR\" in server_state\n            and use_GFPGAN\n            and \"GFPGAN\" in server_state\n        ):\n            logger.info(\n                \"Running GFPGAN+LDSR on image %d of %d...\"\n                % (i + 1, len(st.session_state[\"uploaded_image\"]))\n            )\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running GFPGAN+LDSR on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            if server_state[\"GFPGAN\"].name != GFPGAN_model:\n                load_models(\n                    use_LDSR=use_LDSR,\n                    LDSR_model=LDSR_model_name,\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            torch_gc()\n            cropped_faces, restored_faces, restored_img = server_state[\n                \"GFPGAN\"\n            ].enhance(\n                st.session_state[\"uploaded_image\"][i].pil_image,\n                has_aligned=False,\n                only_center_face=False,\n                paste_back=True,\n            )\n\n            gfpgan_sample = restored_img[:, :, ::-1]\n            gfpgan_image = Image.fromarray(gfpgan_sample)\n\n            if server_state[\"LDSR\"].name != LDSR_model_name:\n                # try_loading_RealESRGAN(realesrgan_model_name)\n                load_models(\n                    use_LDSR=use_LDSR,\n                    LDSR_model=LDSR_model_name,\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            # LDSR.superResolution(gfpgan_image, ddimSteps=100, preDownScale='None', postDownScale='None', downsample_method=\"Lanczos\")\n            result = server_state[\"LDSR\"].superResolution(\n                gfpgan_image,\n                ddimSteps=st.session_state[\"ldsr_sampling_steps\"],\n                preDownScale=st.session_state[\"preDownScale\"],\n                postDownScale=st.session_state[\"postDownScale\"],\n                downsample_method=st.session_state[\"downsample_method\"],\n            )\n\n            ldsr_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0]\n                + \"-gfpgan-ldsr2x\"\n            )\n\n            result.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{ldsr_filename}.png\",\n                )\n            )\n\n        elif (\n            use_RealESRGAN\n            and server_state[\"RealESRGAN\"] is not None\n            and use_GFPGAN\n            and server_state[\"GFPGAN\"] is not None\n        ):\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running GFPGAN+RealESRGAN on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            torch_gc()\n            cropped_faces, restored_faces, restored_img = server_state[\n                \"GFPGAN\"\n            ].enhance(\n                st.session_state[\"uploaded_image\"][i].pil_image,\n                has_aligned=False,\n                only_center_face=False,\n                paste_back=True,\n            )\n            gfpgan_sample = restored_img[:, :, ::-1]\n\n            if server_state[\"RealESRGAN\"].model.name != realesrgan_model_name:\n                # try_loading_RealESRGAN(realesrgan_model_name)\n                load_models(\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                gfpgan_sample[:, :, ::-1]\n            )\n            gfpgan_esrgan_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0]\n                + \"-gfpgan-esrgan4x\"\n            )\n            gfpgan_esrgan_sample = output[:, :, ::-1]\n            gfpgan_esrgan_image = Image.fromarray(gfpgan_esrgan_sample)\n\n            gfpgan_esrgan_image.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{gfpgan_esrgan_filename}.png\",\n                )\n            )\n\n\ndef layout():\n    # st.info(\"Under Construction. :construction_worker:\")\n    st.session_state[\"progress_bar_text\"] = st.empty()\n    # st.session_state[\"progress_bar_text\"].info(\"Nothing but crickets here, try generating something first.\")\n\n    st.session_state[\"progress_bar\"] = st.empty()\n\n    with st.form(\"post-processing-inputs\"):\n        # creating the page layout using columns\n        col1, col2 = st.columns([1, 4], gap=\"medium\")\n\n        with col1:\n            st.session_state[\"uploaded_image\"] = st.file_uploader(\n                \"Input Image\",\n                type=[\"png\", \"jpg\", \"jpeg\", \"jfif\", \"webp\"],\n                accept_multiple_files=True,\n            )\n\n            # check if GFPGAN, RealESRGAN and LDSR are available.\n            # if \"GFPGAN_available\" not in st.session_state:\n            GFPGAN_available()\n\n            # if \"RealESRGAN_available\" not in st.session_state:\n            RealESRGAN_available()\n\n            # if \"LDSR_available\" not in st.session_state:\n            LDSR_available()\n\n            if (\n                st.session_state[\"GFPGAN_available\"]\n                or st.session_state[\"RealESRGAN_available\"]\n                or st.session_state[\"LDSR_available\"]\n            ):\n                face_restoration_tab, upscaling_tab = st.tabs(\n                    [\"Face Restoration\", \"Upscaling\"]\n                )\n                with face_restoration_tab:\n                    # GFPGAN used for face restoration\n                    if st.session_state[\"GFPGAN_available\"]:\n                        # with st.expander(\"Face Restoration\"):\n                        # if st.session_state[\"GFPGAN_available\"]:\n                        # with st.expander(\"GFPGAN\"):\n                        st.session_state[\"use_GFPGAN\"] = st.checkbox(\n                            \"Use GFPGAN\",\n                            value=st.session_state[\"defaults\"].txt2img.use_GFPGAN,\n                            help=\"Uses the GFPGAN model to improve faces after the generation.\\\n                                                                         This greatly improve the quality and consistency of faces but uses\\\n                                                                         extra VRAM. Disable if you need the extra VRAM.\",\n                        )\n\n                        st.session_state[\"GFPGAN_model\"] = st.selectbox(\n                            \"GFPGAN model\",\n                            st.session_state[\"GFPGAN_models\"],\n                            index=st.session_state[\"GFPGAN_models\"].index(\n                                st.session_state[\"defaults\"].general.GFPGAN_model\n                            ),\n                        )\n\n                    # st.session_state[\"GFPGAN_strenght\"] = st.slider(\"Effect Strenght\", min_value=1, max_value=100, value=1, step=1, help='')\n\n                    else:\n                        st.session_state[\"use_GFPGAN\"] = False\n\n                with upscaling_tab:\n                    st.session_state[\"use_upscaling\"] = st.checkbox(\n                        \"Use Upscaling\",\n                        value=st.session_state[\"defaults\"].txt2img.use_upscaling,\n                    )\n\n                    # RealESRGAN and LDSR used for upscaling.\n                    if (\n                        st.session_state[\"RealESRGAN_available\"]\n                        or st.session_state[\"LDSR_available\"]\n                    ):\n                        upscaling_method_list = []\n                        if st.session_state[\"RealESRGAN_available\"]:\n                            upscaling_method_list.append(\"RealESRGAN\")\n                        if st.session_state[\"LDSR_available\"]:\n                            upscaling_method_list.append(\"LDSR\")\n\n                        # print (st.session_state[\"RealESRGAN_available\"])\n                        st.session_state[\"upscaling_method\"] = st.selectbox(\n                            \"Upscaling Method\",\n                            upscaling_method_list,\n                            index=upscaling_method_list.index(\n                                st.session_state[\"defaults\"].general.upscaling_method\n                            )\n                            if st.session_state[\"defaults\"].general.upscaling_method\n                            in upscaling_method_list\n                            else 0,\n                        )\n\n                        if st.session_state[\"RealESRGAN_available\"]:\n                            with st.expander(\"RealESRGAN\"):\n                                if (\n                                    st.session_state[\"upscaling_method\"] == \"RealESRGAN\"\n                                    and st.session_state[\"use_upscaling\"]\n                                ):\n                                    st.session_state[\"use_RealESRGAN\"] = True\n                                else:\n                                    st.session_state[\"use_RealESRGAN\"] = False\n\n                                st.session_state[\"RealESRGAN_model\"] = st.selectbox(\n                                    \"RealESRGAN model\",\n                                    st.session_state[\"RealESRGAN_models\"],\n                                    index=st.session_state[\"RealESRGAN_models\"].index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.RealESRGAN_model\n                                    ),\n                                )\n                        else:\n                            st.session_state[\"use_RealESRGAN\"] = False\n                            st.session_state[\"RealESRGAN_model\"] = \"RealESRGAN_x4plus\"\n\n                        #\n                        if st.session_state[\"LDSR_available\"]:\n                            with st.expander(\"LDSR\"):\n                                if (\n                                    st.session_state[\"upscaling_method\"] == \"LDSR\"\n                                    and st.session_state[\"use_upscaling\"]\n                                ):\n                                    st.session_state[\"use_LDSR\"] = True\n                                else:\n                                    st.session_state[\"use_LDSR\"] = False\n\n                                st.session_state[\"LDSR_model\"] = st.selectbox(\n                                    \"LDSR model\",\n                                    st.session_state[\"LDSR_models\"],\n                                    index=st.session_state[\"LDSR_models\"].index(\n                                        st.session_state[\"defaults\"].general.LDSR_model\n                                    ),\n                                )\n\n                                st.session_state[\n                                    \"ldsr_sampling_steps\"\n                                ] = st.number_input(\n                                    \"Sampling Steps\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].txt2img.LDSR_config.sampling_steps,\n                                    help=\"\",\n                                )\n\n                                st.session_state[\"preDownScale\"] = st.number_input(\n                                    \"PreDownScale\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].txt2img.LDSR_config.preDownScale,\n                                    help=\"\",\n                                )\n\n                                st.session_state[\"postDownScale\"] = st.number_input(\n                                    \"postDownScale\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].txt2img.LDSR_config.postDownScale,\n                                    help=\"\",\n                                )\n\n                                downsample_method_list = [\"Nearest\", \"Lanczos\"]\n                                st.session_state[\"downsample_method\"] = st.selectbox(\n                                    \"Downsample Method\",\n                                    downsample_method_list,\n                                    index=downsample_method_list.index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].txt2img.LDSR_config.downsample_method\n                                    ),\n                                )\n\n                        else:\n                            st.session_state[\"use_LDSR\"] = False\n                            st.session_state[\"LDSR_model\"] = \"model\"\n\n            # process = st.form_submit_button(\"Process Images\", help=\"\")\n\n            #\n            with st.expander(\"Output Settings\", True):\n                # st.session_state['defaults'].post_processing.save_original_images = st.checkbox(\"Save input images.\", value=st.session_state['defaults'].post_processing.save_original_images,\n                # help=\"Save each original/input image next to the Post Processed image. \"\n                # \"This might be helpful for comparing the before and after images.\")\n\n                st.session_state[\n                    \"defaults\"\n                ].post_processing.outdir_post_processing = st.text_input(\n                    \"Output Dir\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].post_processing.outdir_post_processing,\n                    help=\"Folder where the images will be saved after post processing.\",\n                )\n\n        with col2:\n            st.subheader(\"Image\")\n\n            image_col1, image_col2, image_col3 = st.columns([2, 2, 2], gap=\"small\")\n            with image_col1:\n                st.form_submit_button(\n                    \"Refresh\",\n                    help=\"Refresh the image preview to show your uploaded image.\",\n                )\n\n            if st.session_state[\"uploaded_image\"]:\n                # print (type(st.session_state[\"uploaded_image\"]))\n                # if len(st.session_state[\"uploaded_image\"]) == 1:\n                st.session_state[\"input_image_preview\"] = []\n                st.session_state[\"input_image_caption\"] = []\n                st.session_state[\"output_image_preview\"] = []\n                st.session_state[\"output_image_caption\"] = []\n                st.session_state[\"input_image_preview_container\"] = []\n                st.session_state[\"prediction_table\"] = []\n                st.session_state[\"text_result\"] = []\n\n                for i in range(len(st.session_state[\"uploaded_image\"])):\n                    st.session_state[\"input_image_preview_container\"].append(i)\n                    st.session_state[\"input_image_preview_container\"][i] = st.empty()\n\n                    with st.session_state[\"input_image_preview_container\"][\n                        i\n                    ].container():\n                        col1_output, col2_output, col3_output = st.columns(\n                            [2, 2, 2], gap=\"medium\"\n                        )\n                        with col1_output:\n                            st.session_state[\"output_image_caption\"].append(i)\n                            st.session_state[\"output_image_caption\"][i] = st.empty()\n                            # st.session_state[\"output_image_caption\"][i] = st.session_state[\"uploaded_image\"][i].name\n\n                            st.session_state[\"input_image_caption\"].append(i)\n                            st.session_state[\"input_image_caption\"][i] = st.empty()\n                            # st.session_state[\"input_image_caption\"][i].caption(\")\n\n                            st.session_state[\"input_image_preview\"].append(i)\n                            st.session_state[\"input_image_preview\"][i] = st.empty()\n                            st.session_state[\"uploaded_image\"][\n                                i\n                            ].pil_image = Image.open(\n                                st.session_state[\"uploaded_image\"][i]\n                            ).convert(\n                                \"RGB\"\n                            )\n\n                            st.session_state[\"input_image_preview\"][i].image(\n                                st.session_state[\"uploaded_image\"][i].pil_image,\n                                use_column_width=True,\n                                clamp=True,\n                            )\n\n                        with col2_output:\n                            st.session_state[\"output_image_preview\"].append(i)\n                            st.session_state[\"output_image_preview\"][i] = st.empty()\n\n                            st.session_state[\"output_image_preview\"][i].image(\n                                st.session_state[\"uploaded_image\"][i].pil_image,\n                                use_column_width=True,\n                                clamp=True,\n                            )\n\n                    with st.session_state[\"input_image_preview_container\"][\n                        i\n                    ].container():\n                        with col3_output:\n                            # st.session_state[\"prediction_table\"].append(i)\n                            # st.session_state[\"prediction_table\"][i] = st.empty()\n                            # st.session_state[\"prediction_table\"][i].table(pd.DataFrame(columns=[\"Model\", \"Filename\", \"Progress\"]))\n\n                            st.session_state[\"text_result\"].append(i)\n                            st.session_state[\"text_result\"][i] = st.empty()\n                            st.session_state[\"text_result\"][i].code(\"\", language=\"\")\n\n            # else:\n            ##st.session_state[\"input_image_preview\"].code('', language=\"\")\n            # st.image(\"images/streamlit/img2txt_placeholder.png\", clamp=True)\n\n        with image_col3:\n            # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n            process = st.form_submit_button(\"Process Images!\")\n\n        if process:\n            with hc.HyLoader(\n                \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n            ):\n                # load_models(use_LDSR=st.session_state[\"use_LDSR\"], LDSR_model=st.session_state[\"LDSR_model\"],\n                # use_GFPGAN=st.session_state[\"use_GFPGAN\"], GFPGAN_model=st.session_state[\"GFPGAN_model\"] ,\n                # use_RealESRGAN=st.session_state[\"use_RealESRGAN\"], RealESRGAN_model=st.session_state[\"RealESRGAN_model\"])\n\n                if st.session_state[\"use_GFPGAN\"]:\n                    load_GFPGAN(model_name=st.session_state[\"GFPGAN_model\"])\n\n                if st.session_state[\"use_RealESRGAN\"]:\n                    load_RealESRGAN(st.session_state[\"RealESRGAN_model\"])\n\n                if st.session_state[\"use_LDSR\"]:\n                    load_LDSR(st.session_state[\"LDSR_model\"])\n\n            post_process(\n                use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                realesrgan_model_name=st.session_state[\"RealESRGAN_model\"],\n                use_LDSR=st.session_state[\"use_LDSR\"],\n                LDSR_model_name=st.session_state[\"LDSR_model\"],\n            )\n"
  },
  {
    "path": "scripts/prune-ckpt.py",
    "content": "import os\nimport torch\nimport argparse\n\n\nparser = argparse.ArgumentParser(description=\"Pruning\")\nparser.add_argument(\"--ckpt\", type=str, default=None, help=\"path to model ckpt\")\nargs = parser.parse_args()\nckpt = args.ckpt\n\n\ndef prune_it(p, keep_only_ema=False):\n    print(f\"prunin' in path: {p}\")\n    size_initial = os.path.getsize(p)\n    nsd = dict()\n    sd = torch.load(p, map_location=\"cpu\")\n    print(sd.keys())\n    for k in sd.keys():\n        if k != \"optimizer_states\":\n            nsd[k] = sd[k]\n    else:\n        print(f\"removing optimizer states for path {p}\")\n    if \"global_step\" in sd:\n        print(f\"This is global step {sd['global_step']}.\")\n    if keep_only_ema:\n        sd = nsd[\"state_dict\"].copy()\n        # infer ema keys\n        ema_keys = {\n            k: \"model_ema.\" + k[6:].replace(\".\", \".\")\n            for k in sd.keys()\n            if k.startswith(\"model.\")\n        }\n        new_sd = dict()\n\n        for k in sd:\n            if k in ema_keys:\n                new_sd[k] = sd[ema_keys[k]].half()\n            elif not k.startswith(\"model_ema.\") or k in [\n                \"model_ema.num_updates\",\n                \"model_ema.decay\",\n            ]:\n                new_sd[k] = sd[k].half()\n\n        assert len(new_sd) == len(sd) - len(ema_keys)\n        nsd[\"state_dict\"] = new_sd\n    else:\n        sd = nsd[\"state_dict\"].copy()\n        new_sd = dict()\n        for k in sd:\n            new_sd[k] = sd[k].half()\n        nsd[\"state_dict\"] = new_sd\n\n    fn = (\n        f\"{os.path.splitext(p)[0]}-pruned.ckpt\"\n        if not keep_only_ema\n        else f\"{os.path.splitext(p)[0]}-ema-pruned.ckpt\"\n    )\n    print(f\"saving pruned checkpoint at: {fn}\")\n    torch.save(nsd, fn)\n    newsize = os.path.getsize(fn)\n    MSG = (\n        f\"New ckpt size: {newsize*1e-9:.2f} GB. \"\n        + f\"Saved {(size_initial - newsize)*1e-9:.2f} GB by removing optimizer states\"\n    )\n    if keep_only_ema:\n        MSG += \" and non-EMA weights\"\n    print(MSG)\n\n\nif __name__ == \"__main__\":\n    prune_it(ckpt)\n"
  },
  {
    "path": "scripts/relauncher.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\nimport os, time, argparse\n\n# USER CHANGABLE ARGUMENTS\n\n# Change to `True` if you wish to enable these common arguments\n\n# Run upscaling models on the CPU\nextra_models_cpu = False\n\n# Automatically open a new browser window or tab on first launch\nopen_in_browser = False\n\n# Run Stable Diffusion in Optimized Mode - Only requires 4Gb of VRAM, but is significantly slower\noptimized = False\n\n# Run in Optimized Turbo Mode - Needs more VRAM than regular optimized mode, but is faster\noptimized_turbo = False\n\n# Creates a public xxxxx.gradio.app share link to allow others to use your interface (requires properly forwarded ports to work correctly)\nshare = False\n\n# Generate tiling images\ntiling = False\n# Enter other `--arguments` you wish to use - Must be entered as a `--argument ` syntax\nadditional_arguments = \"\"\n\nparser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)\nparser.add_argument(\n    \"-v\",\n    \"--verbosity\",\n    action=\"count\",\n    default=0,\n    help=\"The default logging level is ERROR or higher. This value increases the amount of logging seen in your screen\",\n)\nparser.add_argument(\n    \"-n\",\n    \"--horde_name\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The server name for the Horde. It will be shown to the world and there can be only one.\",\n)\nparser.add_argument(\n    \"--bridge\",\n    action=\"store_true\",\n    required=False,\n    default=False,\n    help=\"When specified, start the stable horde bridge instead of the webui.\",\n)\nargs = parser.parse_args()\n\nif args.bridge:\n    additional_arguments += \" --bridge\"\n    if args.horde_name:\n        additional_arguments += f' --horde_name \"{args.horde_name}\"'\n    if args.verbosity:\n        for iter in range(args.verbosity):\n            additional_arguments += \" -v\"\n    print(f\"Additional args: {additional_arguments}\")\n\n\n# BEGIN RELAUNCHER PYTHON CODE\n\ncommon_arguments = \"\"\n\nif extra_models_cpu is True:\n    common_arguments += \"--extra-models-cpu \"\nif optimized_turbo is True:\n    common_arguments += \"--optimized-turbo \"\nif optimized is True:\n    common_arguments += \"--optimized \"\nif tiling is True:\n    common_arguments += \"--tiling \"\nif share is True:\n    common_arguments += \"--share \"\n\nif open_in_browser is True:\n    inbrowser_argument = \"--inbrowser \"\nelse:\n    inbrowser_argument = \"\"\n\nn = 0\nwhile True:\n    if n == 0:\n        print(\"Relauncher: Launching...\")\n        os.system(\n            f\"python scripts/webui.py {common_arguments} {inbrowser_argument} {additional_arguments}\"\n        )\n\n    else:\n        print(f\"\\tRelaunch count: {n}\")\n        print(\"Relauncher: Launching...\")\n        os.system(f\"python scripts/webui.py {common_arguments} {additional_arguments}\")\n\n    n += 1\n    if n > 100:\n        print(\"Too many relaunch attempts. Aborting...\")\n        break\n    print(\"Relauncher: Process is ending. Relaunching in 1s...\")\n    time.sleep(1)\n"
  },
  {
    "path": "scripts/scn2img.py",
    "content": "import argparse, os, sys, re, time\nimport collections\nimport yaml\nimport math\nimport random\nfrom typing import List, Union, Dict, Callable, Type, Tuple\n\nimport numba\n\nimport numpy as np\nimport cv2\nfrom PIL import Image, ImageFilter, ImageChops\n\nimport torch\n\nfrom frontend.job_manager import JobInfo\nfrom frontend.image_metadata import ImageMetadata\n\nscn2img_cache = {\"seed\": None, \"cache\": {}}\n\nmonocular_depth_estimation = None\n\n\ndef try_loading_monocular_depth_estimation(\n    monocular_depth_estimation_dir=\"./src/monocular-depth-estimation/\",\n):\n    global monocular_depth_estimation\n    if os.path.exists(monocular_depth_estimation_dir):\n        import tensorflow as tf\n\n        gpus = tf.config.experimental.list_physical_devices(\"GPU\")\n        if gpus:\n            # Restrict TensorFlow to only allocate 1GB of memory on the first GPU\n            try:\n                tf.config.experimental.set_virtual_device_configuration(\n                    gpus[0],\n                    [\n                        tf.config.experimental.VirtualDeviceConfiguration(\n                            memory_limit=1024\n                        )\n                    ],\n                )\n            except Exception:\n                import traceback\n\n                print(\n                    \"Exception during tf.config.experimental.set_virtual_device_configuration:\",\n                    file=sys.stderr,\n                )\n                print(traceback.format_exc(), file=sys.stderr)\n        try:\n            from tensorflow.keras.layers import Layer, InputSpec\n            import tensorflow.keras\n\n            # from huggingface_hub import from_pretrained_keras\n            # https://stackoverflow.com/a/63631510/798588\n\n            from tensorflow.python.keras.utils import conv_utils\n\n            def normalize_data_format(value):\n                if value is None:\n                    value = tensorflow.keras.backend.image_data_format()\n                data_format = value.lower()\n                if data_format not in {\"channels_first\", \"channels_last\"}:\n                    raise ValueError(\n                        \"The `data_format` argument must be one of \"\n                        '\"channels_first\", \"channels_last\". Received: ' + str(value)\n                    )\n                return data_format\n\n            class BilinearUpSampling2D(Layer):\n                def __init__(self, size=(2, 2), data_format=None, **kwargs):\n                    super(BilinearUpSampling2D, self).__init__(**kwargs)\n                    self.data_format = normalize_data_format(data_format)\n                    self.size = conv_utils.normalize_tuple(size, 2, \"size\")\n                    self.input_spec = InputSpec(ndim=4)\n\n                def compute_output_shape(self, input_shape):\n                    if self.data_format == \"channels_first\":\n                        height = (\n                            self.size[0] * input_shape[2]\n                            if input_shape[2] is not None\n                            else None\n                        )\n                        width = (\n                            self.size[1] * input_shape[3]\n                            if input_shape[3] is not None\n                            else None\n                        )\n                        return (input_shape[0], input_shape[1], height, width)\n                    elif self.data_format == \"channels_last\":\n                        height = (\n                            self.size[0] * input_shape[1]\n                            if input_shape[1] is not None\n                            else None\n                        )\n                        width = (\n                            self.size[1] * input_shape[2]\n                            if input_shape[2] is not None\n                            else None\n                        )\n                        return (input_shape[0], height, width, input_shape[3])\n\n                def call(self, inputs):\n                    input_shape = tensorflow.keras.backend.shape(inputs)\n                    if self.data_format == \"channels_first\":\n                        height = (\n                            self.size[0] * input_shape[2]\n                            if input_shape[2] is not None\n                            else None\n                        )\n                        width = (\n                            self.size[1] * input_shape[3]\n                            if input_shape[3] is not None\n                            else None\n                        )\n                    elif self.data_format == \"channels_last\":\n                        height = (\n                            self.size[0] * input_shape[1]\n                            if input_shape[1] is not None\n                            else None\n                        )\n                        width = (\n                            self.size[1] * input_shape[2]\n                            if input_shape[2] is not None\n                            else None\n                        )\n\n                    return tf.image.resize(\n                        inputs, [height, width], method=tf.image.ResizeMethod.BILINEAR\n                    )\n\n                def get_config(self):\n                    config = {\"size\": self.size, \"data_format\": self.data_format}\n                    base_config = super(BilinearUpSampling2D, self).get_config()\n                    return dict(list(base_config.items()) + list(config.items()))\n\n            custom_objects = {\n                \"BilinearUpSampling2D\": BilinearUpSampling2D,\n                \"depth_loss_function\": None,\n            }\n            monocular_depth_estimation = tf.keras.models.load_model(\n                monocular_depth_estimation_dir,\n                custom_objects=custom_objects,\n                compile=False,\n            )\n            # todo: load model from pretrained keras into user .cache folder like transformers lib is doing it.\n            #\n            # custom_objects = {'BilinearUpSampling2D': BilinearUpSampling2D, 'depth_loss_function': None}\n            # custom_objects = {'depth_loss_function': None}\n            # monocular_depth_estimation = from_pretrained_keras(\n            # \"keras-io/monocular-depth-estimation\",\n            # custom_objects=custom_objects, compile=False\n            # )\n            # monocular_depth_estimation = from_pretrained_keras(\"keras-io/monocular-depth-estimation\")\n            print(\"monocular_depth_estimation loaded\")\n        except Exception:\n            import traceback\n\n            print(\"Error loading monocular_depth_estimation:\", file=sys.stderr)\n            print(traceback.format_exc(), file=sys.stderr)\n    else:\n        print(\n            f\"monocular_depth_estimation not found at path, please make sure you have cloned \\n the repository https://huggingface.co/keras-io/monocular-depth-estimation to {monocular_depth_estimation_dir}\"\n        )\n\n\nmidas_depth_estimation = None\nmidas_transforms = None\nmidas_transform = None\n\n\ndef try_loading_midas_depth_estimation(use_large_model=True):\n    global midas_depth_estimation\n    global midas_transforms\n    global midas_transform\n    try:\n        if use_large_model:\n            midas_depth_estimation = torch.hub.load(\"intel-isl/MiDaS\", \"MiDaS\")\n        else:\n            midas_depth_estimation = torch.hub.load(\"intel-isl/MiDaS\", \"MiDaS_small\")\n\n        device = \"cpu\"\n        midas_depth_estimation.to(device)\n\n        midas_transforms = torch.hub.load(\"intel-isl/MiDaS\", \"transforms\")\n\n        if use_large_model:\n            midas_transform = midas_transforms.default_transform\n        else:\n            midas_transform = midas_transforms.small_transform\n    except Exception:\n        import traceback\n\n        print(\"Error loading midas_depth_estimation:\", file=sys.stderr)\n        print(traceback.format_exc(), file=sys.stderr)\n\n\ndef try_many(fs, *args, **kwargs):\n    for f in fs:\n        try:\n            return f(*args, **kwargs)\n        except:\n            pass\n    raise Exception(\"\")\n\n\ndef scn2img_define_args():\n    parse_arg = {}\n    parse_arg[\"str\"] = lambda x: str(x)\n    parse_arg[\"int\"] = int\n    parse_arg[\"float\"] = float\n    parse_arg[\"bool\"] = lambda s: (s.strip() == str(bool(s)))\n    parse_arg[\"tuple\"] = (lambda s: tuple(s.split(\",\")),)\n    parse_arg[\"int_tuple\"] = lambda s: tuple(map(int, s.split(\",\")))\n    parse_arg[\"float_tuple\"] = lambda s: tuple(map(float, s.split(\",\")))\n    parse_arg[\"degrees\"] = lambda s: float(s) * math.pi / 180\n    parse_arg[\"color\"] = lambda s: try_many(\n        [parse_arg[\"int_tuple\"], parse_arg[\"str\"]], s\n    )\n    parse_arg[\"anything\"] = lambda s: try_many(\n        [\n            parse_arg[\"int_tuple\"],\n            parse_arg[\"float_tuple\"],\n            parse_arg[\"int\"],\n            parse_arg[\"float\"],\n            parse_arg[\"tuple\"],\n            parse_arg[\"color\"],\n            parse_arg[\"str\"],\n        ],\n        s,\n    )\n    function_args = {\n        \"img2img\": {\n            \"prompt\": \"str\",\n            \"image_editor_mode\": \"str\",\n            \"mask_mode\": \"int\",\n            \"mask_blur_strength\": \"float\",\n            \"mask_restore\": \"bool\",\n            \"ddim_steps\": \"int\",\n            \"sampler_name\": \"str\",\n            \"toggles\": \"int_tuple\",\n            \"realesrgan_model_name\": \"str\",\n            \"n_iter\": \"int\",\n            \"cfg_scale\": \"float\",\n            \"denoising_strength\": \"float\",\n            \"seed\": \"int\",\n            \"height\": \"int\",\n            \"width\": \"int\",\n            \"resize_mode\": \"int\",\n        },\n        \"txt2img\": {\n            \"prompt\": \"str\",\n            \"ddim_steps\": \"int\",\n            \"sampler_name\": \"str\",\n            \"toggles\": \"int_tuple\",\n            \"realesrgan_model_name\": \"str\",\n            \"ddim_eta\": \"float\",\n            \"n_iter\": \"int\",\n            \"batch_size\": \"int\",\n            \"cfg_scale\": \"float\",\n            \"seed\": \"int\",\n            \"height\": \"int\",\n            \"width\": \"int\",\n            \"variant_amount\": \"float\",\n            \"variant_seed\": \"int\",\n        },\n        \"render_img2img\": {\n            \"select\": \"int\",\n            \"variation\": \"int\",\n        },\n        \"render_txt2img\": {\n            \"select\": \"int\",\n            \"variation\": \"int\",\n        },\n        \"image\": {\n            \"size\": \"int_tuple\",\n            \"crop\": \"int_tuple\",\n            \"position\": \"float_tuple\",\n            \"resize\": \"int_tuple\",\n            \"rotation\": \"degrees\",\n            \"color\": \"color\",\n            \"blend\": \"str\",\n        },\n        \"render_mask\": {\n            \"mask_value\": \"int\",\n            \"mask_by_color\": \"color\",\n            \"mask_by_color_space\": \"str\",\n            \"mask_by_color_threshold\": \"int\",\n            \"mask_by_color_at\": \"int_tuple\",\n            \"mask_is_depth\": \"bool\",\n            \"mask_depth\": \"bool\",\n            \"mask_depth_normalize\": \"bool\",\n            \"mask_depth_model\": \"int\",\n            \"mask_depth_min\": \"float\",\n            \"mask_depth_max\": \"float\",\n            \"mask_depth_invert\": \"bool\",\n            \"mask_open\": \"int\",\n            \"mask_close\": \"int\",\n            \"mask_blur\": \"float\",\n            \"mask_grow\": \"int\",\n            \"mask_shrink\": \"int\",\n            \"mask_invert\": \"bool\",\n        },\n        \"render_3d\": {\n            \"transform3d\": \"bool\",\n            \"transform3d_depth_model\": \"int\",\n            \"transform3d_depth_near\": \"float\",\n            \"transform3d_depth_scale\": \"float\",\n            \"transform3d_from_hfov\": \"degrees\",\n            \"transform3d_from_pose\": \"float_tuple\",\n            \"transform3d_to_hfov\": \"degrees\",\n            \"transform3d_to_pose\": \"float_tuple\",\n            \"transform3d_min_mask\": \"int\",\n            \"transform3d_max_mask\": \"int\",\n            \"transform3d_mask_invert\": \"bool\",\n            \"transform3d_inpaint\": \"bool\",\n            \"transform3d_inpaint_radius\": \"int\",\n            \"transform3d_inpaint_method\": \"int\",\n            \"transform3d_inpaint_restore_mask\": \"bool\",\n        },\n        \"object\": {\n            \"initial_seed\": \"int\",\n        },\n    }\n    function_args_ext = {\n        \"image\": [\"object\", \"image\", \"render_mask\", \"render_3d\"],\n        \"img2img\": [\n            \"object\",\n            \"render_img2img\",\n            \"img2img\",\n            \"image\",\n            \"render_mask\",\n            \"render_3d\",\n        ],\n        \"txt2img\": [\n            \"object\",\n            \"render_txt2img\",\n            \"txt2img\",\n            \"image\",\n            \"render_mask\",\n            \"render_3d\",\n        ],\n    }\n    return parse_arg, function_args, function_args_ext\n\n\ndef get_scn2img(\n    MemUsageMonitor: Type,\n    save_sample: Callable,\n    get_next_sequence_number: Callable,\n    seed_to_int: Callable,\n    txt2img: Callable,\n    txt2img_defaults: Dict,\n    img2img: Callable,\n    img2img_defaults: Dict,\n    opt: argparse.Namespace = None,\n):\n    opt = opt or argparse.Namespace()\n\n    def next_seed(s):\n        return random.Random(seed_to_int(s)).randint(0, 2**32 - 1)\n\n    class SeedGenerator:\n        def __init__(self, seed):\n            self._seed = seed_to_int(seed)\n\n        def next_seed(self):\n            seed = self._seed\n            self._seed = next_seed(self._seed)\n            return seed\n\n        def peek_seed(self):\n            return self._seed\n\n    def scn2img(\n        prompt: str,\n        toggles: List[int],\n        seed: Union[int, str, None],\n        fp=None,\n        job_info: JobInfo = None,\n    ):\n        global scn2img_cache\n        outpath = opt.outdir_scn2img or opt.outdir or \"outputs/scn2img-samples\"\n        seed = seed_to_int(seed)\n\n        prompt = prompt or \"\"\n        clear_cache = 0 in toggles\n        output_intermediates = 1 in toggles\n        skip_save = 2 not in toggles\n        write_info_files = 3 in toggles\n        write_sample_info_to_log_file = 4 in toggles\n        jpg_sample = 5 in toggles\n\n        os.makedirs(outpath, exist_ok=True)\n\n        if clear_cache or scn2img_cache[\"seed\"] != seed:\n            scn2img_cache[\"seed\"] = seed\n            scn2img_cache[\"cache\"] = {}\n\n        comments = []\n        print_log_lvl = 2\n\n        def gen_log_lines(*args, **kwargs):\n            yield (\" \".join(map(str, args)))\n            for k, v in kwargs.items():\n                yield (f\"{k} = {v}\")\n\n        def log(*args, **kwargs):\n            lines = gen_log_lines(*args, **kwargs)\n            for line in lines:\n                comments.append(line)\n\n        def log_lvl(lvl, *args, **kwargs):\n            if lvl <= print_log_lvl:\n                lines = gen_log_lines(*args, **kwargs)\n                print(\"\\n\".join(lines))\n            log(*args, **kwargs)\n\n        def log_trace(*args, **kwargs):\n            log_lvl(5, \"[TRACE]\", *args, **kwargs)\n\n        def log_debug(*args, **kwargs):\n            log_lvl(4, \"[DEBUG]\", *args, **kwargs)\n\n        def log_info(*args, **kwargs):\n            log_lvl(3, \"[INFO]\", *args, **kwargs)\n\n        def log_warn(*args, **kwargs):\n            log_lvl(2, \"[WARN]\", *args, **kwargs)\n\n        def log_err(*args, **kwargs):\n            log_lvl(1, \"[ERROR]\", *args, **kwargs)\n\n        def log_exception(*args, **kwargs):\n            log_lvl(0, \"[EXCEPTION]\", *args, **kwargs)\n            import traceback\n\n            log_lvl(0, traceback.format_exc())\n\n        # cache = scn2img_cache[\"cache\"]\n        log_info(\"scn2img_cache\")\n        log_info(list(scn2img_cache[\"cache\"].keys()))\n\n        def is_seed_invalid(s):\n            result = (type(s) != int) or (s == \"\") or (s is None)\n            return result\n\n        def is_seed_valid(s):\n            result = not is_seed_invalid(s)\n            return result\n\n        def vary_seed(s, v):\n            s = int(s)\n            v = int(v)\n            if v == 0:\n                return s\n            else:\n                return next_seed(s + v)\n\n        if job_info:\n            output_images = job_info.images\n        else:\n            output_images = []\n\n        class SceneObject:\n            def __init__(self, func, title, args, depth, children):\n                self.func = func\n                self.title = title\n                self.args = args or collections.OrderedDict()\n                self.depth = depth\n                self.children = children or []\n\n            def __len__(self):\n                return len(self.children)\n\n            def __iter__(self):\n                return iter(self.children)\n\n            def __getitem__(self, key):\n                if type(key) == int:\n                    return self.children[key]\n                elif str(key) in self.args:\n                    return self.args[str(key)]\n                else:\n                    return None\n\n            def __setitem__(self, key, value):\n                if type(key) == int:\n                    self.children[key] = value\n                else:\n                    self.args[str(key)] = value\n\n            def __contains__(self, key):\n                if type(key) == int:\n                    return key < len(self.children)\n                else:\n                    return str(key) in self.args\n\n            def __str__(self):\n                return repr(self)\n\n            def __repr__(self):\n                args = collections.OrderedDict()\n                if len(self.title) > 0:\n                    args[\"title\"] = self.title\n                args.update(self.args)\n                if len(self.children) > 0:\n                    args[\"children\"] = self.children\n                args = \", \".join(\n                    map(lambda kv: f\"{str(kv[0])} = {repr(kv[1])}\", args.items())\n                )\n                return f\"{self.func}({args})\"\n\n            def cache_hash(\n                self,\n                seed=None,\n                exclude_args=None,\n                exclude_child_args=None,\n                extra=None,\n                child_extra=None,\n            ):\n                exclude_args = exclude_args or set()\n                exclude_args = set(exclude_args)\n                exclude_child_args = exclude_child_args or set()\n                exclude_child_args = set(exclude_child_args)\n                if None not in exclude_args:\n                    exclude_args.add(None)\n                return hash(\n                    (\n                        hash(seed),\n                        hash(extra),\n                        hash(self.func),\n                        hash(\n                            tuple(\n                                [\n                                    (k, v)\n                                    for k, v in self.args.items()\n                                    if k not in exclude_args\n                                ]\n                            )\n                        ),\n                        hash(\n                            tuple(\n                                [\n                                    c.cache_hash(\n                                        seed=seed,\n                                        exclude_args=exclude_child_args,\n                                        exclude_child_args=exclude_child_args,\n                                        extra=child_extra,\n                                        child_extra=child_extra,\n                                    )\n                                    for c in self.children\n                                ]\n                            )\n                        ),\n                    )\n                )\n\n        parse_arg, function_args, function_args_ext = scn2img_define_args()\n        # log_debug(\"function_args\", function_args)\n\n        def parse_scene(prompt, log):\n            parse_inline_comment = re.compile(\n                r\"(?m)//.+?$\"\n            )  # (?m): $ also matches at before \\n\n            parse_multiline_comment = re.compile(\n                r\"(?s)(^|[^/])/\\*.+?\\*/\"\n            )  # (?s): . matches \\n\n            parse_attr = re.compile(r\"^\\s*([\\w_][\\d\\w_]*)\\s*[:=\\s]\\s*(.+)\\s*$\")\n            parse_heading = re.compile(r\"^\\s*(#+)([<]?)([>]?)\\s*(.*)$\")  #\n\n            class Section:\n                def __init__(self, depth=0, title=\"\", content=None, children=None):\n                    self.depth = depth\n                    self.title = title\n                    self.lines = []\n                    self.content = content or collections.OrderedDict()\n                    self.children = children or []\n                    self.func = None\n\n                def __repr__(self):\n                    return str(self)\n\n                def __str__(self):\n                    return \"\\n\".join(\n                        [(\"#\" * self.depth) + \" \" + self.title]\n                        + [f\"func={self.func}\"]\n                        + [f\"{k}={v}\" for k, v in self.content.items()]\n                        + list(map(str, self.children))\n                    )\n\n            def strip_inline_comments(txt):\n                while True:\n                    txt, replaced = parse_inline_comment.subn(\"\", txt)\n                    if replaced == 0:\n                        break\n                return txt\n\n            def strip_multiline_comments(txt):\n                while True:\n                    txt, replaced = parse_multiline_comment.subn(\"\\1\", txt)\n                    if replaced == 0:\n                        break\n                return txt\n\n            def strip_comments(txt):\n                txt = strip_multiline_comments(txt)\n                txt = strip_inline_comments(txt)\n                return txt\n\n            def parse_content(lines):\n                content = collections.OrderedDict()\n                for line in lines:\n                    # line = strip_inline_comments(line)\n                    m = parse_attr.match(line)\n                    if m is None:\n                        attr = None\n                        value = line\n                    else:\n                        attr = m.group(1)\n                        value = m.group(2)\n\n                    is_multi_value = attr is None\n                    if is_multi_value and attr in content:\n                        content[attr].append(value)\n                    elif is_multi_value and attr not in content:\n                        content[attr] = [value]\n                    elif attr not in content:\n                        content[attr] = value\n                    else:\n                        log.append(\n                            f\"Warn: value for attr {attr} already exists. ignoring {line}.\"\n                        )\n\n                return content\n\n            def parse_sections(lines):\n                current_section = Section()\n                bump_depth = 0\n                for line in lines:\n                    m = parse_heading.match(line)\n                    if m is None:\n                        current_section.lines.append(line)\n                    else:\n                        current_section.content = parse_content(current_section.lines)\n                        yield current_section\n                        current_section = Section(\n                            depth=len(m.group(1)) + bump_depth, title=m.group(3)\n                        )\n                        # sections after this will have their depth bumped by number matched '>'.\n                        # this allows deep trees while avoiding growing number of '#' by\n                        # just using '#> example title' headings\n                        bump_depth -= len(m.group(2))\n                        bump_depth += len(m.group(3))\n\n                current_section.content = parse_content(current_section.lines)\n                yield current_section\n\n            def to_trees(sections):\n                stack = []\n                roots = []\n\n                def insert_section(section):\n                    assert len(stack) == section.depth\n                    if section.depth == 0:\n                        roots.append(section)\n                    if len(stack) > 0:\n                        parent = stack[len(stack) - 1]\n                        parent.children.append(section)\n                    stack.append(section)\n\n                for section in sections:\n                    last_depth = len(stack) - 1\n\n                    is_child = section.depth > last_depth\n                    is_sibling = section.depth == last_depth\n                    is_parental_sibling = section.depth < last_depth\n                    if is_child:\n                        for d in range(last_depth + 1, section.depth, 1):\n                            intermediate = Section(depth=d)\n                            insert_section(intermediate)\n\n                    elif is_sibling or is_parental_sibling:\n                        stack = stack[: section.depth]\n\n                    insert_section(section)\n                return roots\n\n            def to_scene(trees, depth=0):\n                if depth == 0:\n                    return SceneObject(\n                        func=\"scn2img\",\n                        title=\"\",\n                        args=None,\n                        depth=depth,\n                        children=[\n                            SceneObject(\n                                func=\"scene\",\n                                title=\"\",\n                                args=None,\n                                depth=depth + 1,\n                                children=[to_scene(tree, depth + 2)],\n                            )\n                            for tree in trees\n                        ],\n                    )\n                else:\n                    assert type(trees) == Section\n                    section = trees\n                    has_prompt = \"prompt\" in section.content\n                    has_color = \"color\" in section.content\n                    has_childs = len(section.children) > 0\n                    has_input_img = has_childs or has_color\n                    func = (\n                        \"img2img\"\n                        if (has_input_img and has_prompt)\n                        else \"txt2img\"\n                        if (has_prompt)\n                        else \"image\"\n                    )\n                    return SceneObject(\n                        func=func,\n                        title=section.title,\n                        args=section.content,\n                        depth=depth,\n                        children=[\n                            to_scene(child, depth + 1) for child in section.children\n                        ],\n                    )\n\n            def parse_scene_args(scene):\n                function_args[\"image\"]\n                function_args[scene.func] if scene.func in function_args else {}\n                extends = (\n                    function_args_ext[scene.func]\n                    if scene.func in function_args_ext\n                    else []\n                )\n                for arg in scene.args.keys():\n                    arg_type = \"anything\"\n                    for ext in extends:\n                        if arg in function_args[ext]:\n                            arg_type = function_args[ext][arg]\n                            break\n                    try:\n                        scene.args[arg] = parse_arg[arg_type](scene.args[arg])\n                    except Exception as e:\n                        value = scene.args[arg]\n                        msg = f\"Attribute parsing failed. Expected {arg_type}, got '{value}'.\"\n                        log.append(f\"{msg}. Exception: '{str(e)}'\")\n                for child in scene.children:\n                    parse_scene_args(child)\n                return scene\n\n            prompt = strip_comments(prompt)\n            lines = prompt.split(\"\\n\")\n            sections = parse_sections(lines)\n            sections = list(sections)\n            trees = to_trees(sections)\n            scene = to_scene(trees)\n            parse_scene_args(scene)\n\n            return scene\n\n        def save_sample_scn2img(img, obj, name, seed):\n            if img is None:\n                return\n            base_count = get_next_sequence_number(outpath)\n            filename = \"[SEED]_result\"\n            filename = f\"{base_count:05}-\" + filename\n            filename = filename.replace(\"[SEED]\", str(seed))\n            wrapped = SceneObject(\n                func=name,\n                title=obj.title,\n                args={\"seed\": seed},\n                depth=obj.depth - 1,\n                children=[obj],\n            )\n            info_dict = {\"prompt\": prompt, \"scene_object\": str(wrapped), \"seed\": seed}\n            metadata = ImageMetadata(\n                prompt=info_dict[\"scene_object\"],\n                seed=seed,\n                width=img.size[0],\n                height=img.size[0],\n            )\n            ImageMetadata.set_on_image(img, metadata)\n            save_sample(\n                img,\n                outpath,\n                filename,\n                jpg_sample,\n                None,\n                None,\n                None,\n                None,\n                None,\n                False,\n                None,\n                None,\n                None,\n                None,\n                None,\n                None,\n                None,\n                None,\n                None,\n                False,\n                False,\n            )\n            if write_info_files:\n                filename_i = os.path.join(outpath, filename)\n                with open(f\"{filename_i}.yaml\", \"w\", encoding=\"utf8\") as f:\n                    yaml.dump(info_dict, f, allow_unicode=True, width=10000)\n            if write_sample_info_to_log_file:\n                sample_log_path = os.path.join(outpath, \"log.yaml\")\n                with open(sample_log_path, \"a\", encoding=\"utf8\") as log_file:\n                    yaml.dump(info_dict, log_file, allow_unicode=True, width=10000)\n                    log_file.write(\" \\n\")\n\n        def render_scene(output_images, scene, seeds):\n            def pose(pos, rotation, center):\n                cs, sn = math.cos(rotation), math.sin(rotation)\n                return x, y, cs, sn, cy, c\n\n            def pose_mat3(pos=(0, 0), rotation=0, center=(0, 0)):\n                x, y = pos or (0, 0)\n                cs, sn = math.cos(rotation), math.sin(rotation)\n                cx, cy = center or (0, 0)\n                return np.array(\n                    [  # coordinates in parent coordinates\n                        [1, 0, x],\n                        [0, 1, y],\n                        [0, 0, 1],\n                    ]\n                ) @ np.array(\n                    [  # rotated coordinates with center in origin\n                        [cs, -sn, -cx],\n                        [+sn, cs, -cy],\n                        [0, 0, 1],\n                    ]\n                )  # coordinates in pose\n\n            def get_rect(img):\n                w, h = img.size\n                return np.array(\n                    [\n                        [0, 0],  # TL\n                        [0, h],  # BL\n                        [w, h],  # BR\n                        [w, 0],  # TR\n                    ]\n                )\n\n            def transform_points(mat3, pts):\n                rot = mat3[:2, :2]\n                pos = mat3[:2, 2]\n                # return rot @ pts.T + pos\n                return pts @ rot.T + pos\n\n            def create_image(size, color=None):\n                # log_debug(\"\")\n                # log_debug(\"Creating image...\", size = type(size), color = color)\n                # log_debug(\"\")\n                if size is None:\n                    return None\n                if color is None:\n                    color = (0, 0, 0, 0)\n                return Image.new(\"RGBA\", size, color)\n\n            def resize_image(img, size, crop=None):\n                if img is None:\n                    return None\n                if size is None:\n                    return img if (crop is None) else img.crop(box=crop)\n                # resize_is_upscaling = (size[0] > img.size[0]) or (size[1] > img.size[1])\n                # todo: upscale with realesrgan\n                return img.resize(size, box=crop)\n\n            def blend_image_at(dst, img, pos, rotation, center, blend_mode):\n                if img is None:\n                    return dst\n                assert blend_mode.lower() in [\n                    \"alpha\",\n                    \"mask\",\n                    \"add\",\n                    \"add_modulo\",\n                    \"darker\",\n                    \"difference\",\n                    \"lighter\",\n                    \"logical_and\",\n                    \"logical_or\",\n                    \"logical_xor\",\n                    \"multiply\",\n                    \"soft_light\",\n                    \"hard_light\",\n                    \"overlay\",\n                    \"screen\",\n                    \"subtract\",\n                    \"subtract_modulo\",\n                ]\n                blend_mode = blend_mode.lower()\n                # log_debug(f\"blend_image_at({dst}, {img}, {pos}, {rotation}, {center})\")\n                center = center or (img.size[0] * 0.5, img.size[1] * 0.5)\n                pos = pos or (\n                    (dst.size[0] * 0.5, dst.size[1] * 0.5) if dst is not None else None\n                )\n\n                tf = pose_mat3((0, 0), rotation)\n                rect_points = get_rect(img) - center\n                rect_points = transform_points(tf, rect_points)\n                min_x = min([p[0] for p in rect_points])\n                min_y = min([p[1] for p in rect_points])\n                max_x = max([p[0] for p in rect_points])\n                max_y = max([p[1] for p in rect_points])\n                new_w = max_x - min_x\n                new_h = max_y - min_y\n                new_size = (int(new_w), int(new_h))\n\n                # default values for pos\n                if pos is None and dst is not None:\n                    # center img in dst\n                    pos = (dst.size[0] * 0.5, dst.size[0] * 0.5)\n                elif pos is None and dst is None:\n                    # dst is None, choose pos so that it shows whole img\n                    pos = (-min_x, -min_y)\n\n                min_x += pos[0]\n                min_y += pos[1]\n                max_x += pos[0]\n                max_y += pos[1]\n\n                if rotation != 0:\n                    img = img.rotate(\n                        angle=-rotation * (180 / math.pi),\n                        expand=True,\n                        fillcolor=(0, 0, 0, 0),\n                    )\n\n                if (dst is None) and (img.size == new_size):\n                    dst = img.copy()\n                    # dst = img\n                    return dst\n\n                else:\n                    if dst is None:\n                        dst = create_image(new_size)\n                    dx = int(min_x)\n                    dy = int(min_y)\n                    sx = -dx if (dx < 0) else 0\n                    sy = -dy if (dy < 0) else 0\n                    dx = max(0, dx)\n                    dy = max(0, dy)\n                    # log_debug(f\"dest=({dx},{dy}), source=({sx},{sy})\")\n                    if blend_mode in [\"alpha\", \"mask\"]:\n                        dst.alpha_composite(img, dest=(dx, dy), source=(sx, sy))\n                    else:\n                        w, h = img.size\n                        img_crop = img.crop(box=(sx, sy, w - 1, h - 1))\n                        w, h = img_crop.size\n                        dst_crop = dst.crop(box=(dx, dy, dx + w, dy + h))\n                        blend_func = getattr(ImageChops, blend_mode)\n                        blended = blend_func(dst_crop, img_crop)\n                        dst.paste(blended, box=(dx, dy))\n                return dst\n\n            def blend_objects(seeds, dst, objects):\n                # log_debug(\"\")\n                # log_debug(f\"blend_objects({dst}, {objects})\")\n                # log_debug(\"\")\n                for obj in reversed(objects):\n                    img = render_object(seeds, obj)\n                    # if img is None:\n                    # log_debug(\"\")\n                    # log_debug(f\"img is None after render_object in blend_objects({dst}, {objects})\")\n                    # log_debug(\"\")\n                    try:\n                        dst = blend_image_at(\n                            dst=dst,\n                            img=img,\n                            pos=obj[\"pos\"] or obj[\"position\"] or None,\n                            rotation=obj[\"rotation\"]\n                            or obj[\"rotate\"]\n                            or obj[\"angle\"]\n                            or 0,\n                            center=obj[\"center\"] or None,\n                            blend_mode=obj[\"blend\"] if \"blend\" in obj else \"alpha\",\n                        )\n                    except Exception as e:\n                        # log_debug(\"\")\n                        log_exception(f\"Exception! blend_objects({dst}, {objects})\")\n                        log_err(\"obj\", obj)\n                        log_err(\"img\", img)\n                        log_err(\"\")\n                        raise e\n\n                if dst is not None:\n                    dst = dst.copy()\n                return dst\n\n            def render_mask(seeds, obj, img, input_mask=None):\n                if img is None and input_mask is None:\n                    return img\n\n                mask = (\n                    img.getchannel(\"A\")\n                    if img is not None and input_mask is None\n                    else None\n                )\n                changed_mask = False\n\n                def combine_masks(old_mask, new_mask, mode):\n                    return new_mask\n\n                if input_mask is not None:\n                    mask = input_mask\n                    changed_mask = True\n\n                if \"mask_value\" in obj:\n                    new_value = obj[\"mask_value\"]\n                    mask.paste(new_value, mask.getbbox())\n                    changed_mask = True\n\n                if (\n                    \"mask_by_color\" in obj or \"mask_by_color_at\" in obj\n                ) and img is not None:\n                    img_arr = np.asarray(img.convert(\"RGB\"))\n                    color = obj[\"mask_by_color\"]\n                    color_at = obj[\"mask_by_color_at\"] or None\n                    if color_at is not None:\n                        num_points = int(math.floor(len(color_at) / 2))\n                        points = [\n                            (color_at[k * 2], color_at[k * 2 + 1])\n                            for k in range(num_points)\n                        ]\n                        if len(points) > 0:\n                            colors = np.array([img_arr[y, x] for x, y in points])\n                            color = tuple(\n                                np.round(colors.mean(axis=0)).astype(np.uint8).flatten()\n                            )\n                    colorspace = obj[\"mask_by_color_space\"] or \"LAB\"\n                    threshold = obj[\"mask_by_color_threshold\"] or 15\n                    colorspace = colorspace.upper()\n                    reference_color = \"RGB\"\n                    if colorspace != \"RGB\":\n                        cvts = {\n                            \"LAB\": cv2.COLOR_RGB2Lab,\n                            \"LUV\": cv2.COLOR_RGB2Luv,\n                            \"HSV\": cv2.COLOR_RGB2HSV,\n                            \"HLS\": cv2.COLOR_RGB2HLS,\n                            \"YUV\": cv2.COLOR_RGB2YUV,\n                            \"GRAY\": cv2.COLOR_RGB2GRAY,\n                            \"XYZ\": cv2.COLOR_RGB2XYZ,\n                            \"YCrCb\": cv2.COLOR_RGB2YCrCb,\n                        }\n                        rgb = Image.new(\"RGB\", size=(1, 1), color=color)\n                        rgb_arr = np.asarray(rgb)\n                        cvt_arr = cv2.cvtColor(rgb_arr, cvts[colorspace])\n                        img_arr = cv2.cvtColor(img_arr, cvts[colorspace])\n                        reference_color = cvt_arr[0, 0]\n                    img_arr = img_arr.astype(np.float32)\n                    dist = np.max(np.abs(img_arr - reference_color), axis=2)\n                    mask_arr = (dist < threshold).astype(np.uint8) * 255\n                    mask = Image.fromarray(mask_arr)\n                    changed_mask = True\n\n                if obj[\"mask_depth\"]:\n                    mask_depth_min = obj[\"mask_depth_min\"] or 0.2\n                    mask_depth_max = obj[\"mask_depth_max\"] or 0.8\n                    mask_depth_invert = bool(obj[\"mask_depth_invert\"]) or False\n                    mask_is_depth = (\n                        obj[\"mask_is_depth\"] if \"mask_is_depth\" in obj else False\n                    )\n                    mask_depth_normalize = (\n                        obj[\"mask_depth_normalize\"]\n                        if \"mask_depth_normalize\" in obj\n                        else True\n                    )\n                    mask_depth_model = (\n                        int(obj[\"mask_depth_model\"]) if \"mask_depth_model\" in obj else 1\n                    )\n                    depth = run_depth_estimation(img, mask_depth_model)\n                    res = run_depth_filter(\n                        depth,\n                        mask_depth_min,\n                        mask_depth_max,\n                        mask_depth_invert,\n                        mask_depth_normalize,\n                        mask_is_depth,\n                    )\n                    if res is not None:\n                        mask = res.resize(img.size)\n                        changed_mask = True\n\n                if \"mask_open\" in obj:\n                    mask = mask.filter(ImageFilter.MinFilter(obj[\"mask_open\"]))\n                    mask = mask.filter(ImageFilter.MaxFilter(obj[\"mask_open\"]))\n                    changed_mask = True\n\n                if \"mask_close\" in obj:\n                    mask = mask.filter(ImageFilter.MaxFilter(obj[\"mask_close\"]))\n                    mask = mask.filter(ImageFilter.MinFilter(obj[\"mask_close\"]))\n                    changed_mask = True\n\n                if \"mask_grow\" in obj:\n                    mask = mask.filter(ImageFilter.MaxFilter(obj[\"mask_grow\"]))\n                    changed_mask = True\n\n                if \"mask_shrink\" in obj:\n                    mask = mask.filter(ImageFilter.MinFilter(obj[\"mask_shrink\"]))\n                    changed_mask = True\n\n                if \"mask_blur\" in obj:\n                    mask = mask.filter(ImageFilter.GaussianBlur(obj[\"mask_blur\"]))\n                    changed_mask = True\n\n                if obj[\"mask_invert\"]:\n                    mask = ImageChops.invert(mask)\n                    changed_mask = True\n\n                if changed_mask and img is not None and mask is not None:\n                    img.putalpha(mask)\n\n                if img is not None:\n                    return img\n                else:\n                    return mask\n\n            # remember output images, to avoid duplicates\n            output_image_set = set()\n\n            def output_img(img):\n                if img is None:\n                    return\n                img_id = id(img)\n                if img_id in output_image_set:\n                    return img\n                output_image_set.add(img_id)\n                output_images.append(img)\n\n            def render_intermediate(img, obj, name, seed):\n                if output_intermediates:\n                    output_img(img)\n                if not skip_save:\n                    save_sample_scn2img(img, obj, name, seed)\n                return img\n\n            def render_3d(img, obj):\n                if img is None:\n                    return img\n                if obj[\"transform3d\"] is True:\n                    d2r = math.pi / 180.0\n                    depth_model = (\n                        obj[\"transform3d_depth_model\"]\n                        if \"transform3d_depth_model\" in obj\n                        else 1\n                    )\n                    depth_near = (\n                        obj[\"transform3d_depth_near\"]\n                        if \"transform3d_depth_near\" in obj\n                        else 0.1\n                    )\n                    depth_scale = (\n                        obj[\"transform3d_depth_scale\"]\n                        if \"transform3d_depth_scale\" in obj\n                        else 1.0\n                    )\n                    from_hfov = (\n                        obj[\"transform3d_from_hfov\"]\n                        if \"transform3d_from_hfov\" in obj\n                        else (45 * d2r)\n                    )\n                    from_pose = (\n                        obj[\"transform3d_from_pose\"]\n                        if \"transform3d_from_pose\" in obj\n                        else (0, 0, 0, 0, 0, 0)\n                    )\n                    to_hfov = (\n                        obj[\"transform3d_to_hfov\"]\n                        if \"transform3d_to_hfov\" in obj\n                        else (45 * d2r)\n                    )\n                    to_pose = (\n                        obj[\"transform3d_to_pose\"]\n                        if \"transform3d_to_pose\" in obj\n                        else (0, 0, 0, 0, 0, 0)\n                    )\n                    min_mask = (\n                        obj[\"transform3d_min_mask\"]\n                        if \"transform3d_min_mask\" in obj\n                        else 128\n                    )\n                    max_mask = (\n                        obj[\"transform3d_max_mask\"]\n                        if \"transform3d_max_mask\" in obj\n                        else 255\n                    )\n                    mask_invert = (\n                        obj[\"transform3d_mask_invert\"]\n                        if \"transform3d_mask_invert\" in obj\n                        else False\n                    )\n                    inpaint = (\n                        obj[\"transform3d_inpaint\"]\n                        if \"transform3d_inpaint\" in obj\n                        else True\n                    )\n                    inpaint_radius = (\n                        obj[\"transform3d_inpaint_radius\"]\n                        if \"transform3d_inpaint_radius\" in obj\n                        else 5\n                    )\n                    inpaint_method = (\n                        obj[\"transform3d_inpaint_method\"]\n                        if \"transform3d_inpaint_method\" in obj\n                        else 0\n                    )\n                    inpaint_rmask = (\n                        obj[\"transform3d_inpaint_restore_mask\"]\n                        if \"transform3d_inpaint_restore_mask\" in obj\n                        else False\n                    )\n                    from_pose = list(from_pose)\n                    to_pose = list(to_pose)\n                    while len(from_pose) < 6:\n                        from_pose.append(0)\n                    while len(to_pose) < 6:\n                        to_pose.append(0)\n                    from_pos, from_rpy = from_pose[:3], from_pose[3:6]\n                    to_pos, to_rpy = to_pose[:3], to_pose[3:6]\n                    hfov0_rad, hfov1_rad = from_hfov, to_hfov\n                    tf_world_cam0 = pose3d_rpy(\n                        *from_pos, *(deg * d2r for deg in from_rpy)\n                    )\n                    tf_world_cam1 = pose3d_rpy(*to_pos, *(deg * d2r for deg in to_rpy))\n\n                    depth = run_depth_estimation(img, depth_model)\n                    img = run_transform_image_3d_simple(\n                        img,\n                        depth,\n                        depth_near,\n                        depth_scale,\n                        hfov0_rad,\n                        tf_world_cam0,\n                        hfov1_rad,\n                        tf_world_cam1,\n                        min_mask,\n                        max_mask,\n                        mask_invert,\n                    )\n                    if inpaint:\n                        mask = img.getchannel(\"A\")\n                        img_inpainted = cv2.inpaint(\n                            np.asarray(img.convert(\"RGB\")),\n                            255 - np.asarray(mask),\n                            inpaint_radius,\n                            [cv2.INPAINT_TELEA, cv2.INPAINT_NS][inpaint_method],\n                        )\n                        img = Image.fromarray(img_inpainted).convert(\"RGBA\")\n                        if inpaint_rmask:\n                            img.putalpha(mask)\n                return img\n\n            def render_image(seeds, obj):\n                start_seed = seeds.peek_seed()\n                img = create_image(obj[\"size\"], obj[\"color\"])\n                img = blend_objects(seeds, img, obj.children)\n                img = render_mask(seeds, obj, img)\n                img = resize_image(img, obj[\"resize\"], obj[\"crop\"])\n                # if img is None: log_warn(f\"result of render_image({obj}) is None\")\n                img = render_3d(img, obj)\n                img = render_intermediate(img, obj, \"render_image\", start_seed)\n                return img\n\n            def prepare_img2img_kwargs(seeds, obj, img):\n                # log_trace(f\"prepare_img2img_kwargs({obj}, {img})\")\n                img2img_kwargs = {}\n                # img2img_kwargs.update(img2img_defaults)\n                func_args = function_args[\"img2img\"]\n                for k, v in img2img_defaults.items():\n                    if k in func_args:\n                        img2img_kwargs[k] = v\n\n                if \"mask_mode\" in img2img_kwargs:\n                    img2img_kwargs[\"mask_mode\"] = 1 - img2img_kwargs[\"mask_mode\"]\n\n                if \"size\" in obj:\n                    img2img_kwargs[\"width\"] = obj[\"size\"][0]\n                    img2img_kwargs[\"height\"] = obj[\"size\"][1]\n\n                for k, v in func_args.items():\n                    if k in obj:\n                        img2img_kwargs[k] = obj[k]\n\n                if \"toggles\" in img2img_kwargs:\n                    img2img_kwargs[\"toggles\"] = list(img2img_kwargs[\"toggles\"])\n\n                assert \"seed\" in img2img_kwargs\n                if \"seed\" in img2img_kwargs:\n                    s = img2img_kwargs[\"seed\"]\n                    if is_seed_valid(s):\n                        img2img_kwargs[\"seed\"] = int(s)\n                    else:\n                        img2img_kwargs[\"seed\"] = seeds.next_seed()\n\n                log_info('img2img_kwargs[\"seed\"]', img2img_kwargs[\"seed\"])\n\n                if \"variation\" in obj:\n                    v = obj[\"variation\"]\n                    if is_seed_valid(v):\n                        s = int(img2img_kwargs[\"seed\"])\n                        v = int(v)\n                        ns = vary_seed(s, v)\n                        log_info(f\"Using seed variation {v}: {ns}\")\n                        img2img_kwargs[\"seed\"] = ns\n\n                img2img_kwargs[\"job_info\"] = job_info\n                # img2img_kwargs[\"job_info\"] = None\n                img2img_kwargs[\"fp\"] = fp\n                img2img_kwargs[\"init_info\"] = img\n                if img2img_kwargs[\"image_editor_mode\"] == \"Mask\":\n                    img2img_kwargs[\"init_info_mask\"] = {\n                        \"image\": img.convert(\"RGB\").convert(\"RGBA\"),\n                        \"mask\": img.getchannel(\"A\"),\n                    }\n                    # render_intermediate(img2img_kwargs[\"init_info_mask\"][\"mask\"].convert(\"RGBA\"), obj, \"img2img_init_info_mask\", start_seed)\n                log_info(\"img2img_kwargs\")\n                log_info(img2img_kwargs)\n\n                return img2img_kwargs\n\n            def prepare_txt2img_kwargs(seeds, obj):\n                # log_trace(f\"prepare_txt2img_kwargs({obj})\")\n                txt2img_kwargs = {}\n                # txt2img_kwargs.update(txt2img_defaults)\n                func_args = function_args[\"txt2img\"]\n                for k, v in txt2img_defaults.items():\n                    if k in func_args:\n                        txt2img_kwargs[k] = v\n\n                if \"size\" in obj:\n                    txt2img_kwargs[\"width\"] = obj[\"size\"][0]\n                    txt2img_kwargs[\"height\"] = obj[\"size\"][1]\n\n                for k, v in func_args.items():\n                    if k in obj:\n                        txt2img_kwargs[k] = obj[k]\n\n                if \"toggles\" in txt2img_kwargs:\n                    txt2img_kwargs[\"toggles\"] = list(txt2img_kwargs[\"toggles\"])\n\n                assert \"seed\" in txt2img_kwargs\n                if \"seed\" in txt2img_kwargs:\n                    s = txt2img_kwargs[\"seed\"]\n                    if is_seed_valid(s):\n                        txt2img_kwargs[\"seed\"] = int(s)\n                    else:\n                        txt2img_kwargs[\"seed\"] = seeds.next_seed()\n\n                log_info('txt2img_kwargs[\"seed\"]', txt2img_kwargs[\"seed\"])\n\n                if \"variation\" in obj:\n                    v = obj[\"variation\"]\n                    if is_seed_valid(v):\n                        s = int(txt2img_kwargs[\"seed\"])\n                        v = int(v)\n                        ns = vary_seed(s, v)\n                        log_info(f\"Using seed variation {v}: {ns}\")\n                        txt2img_kwargs[\"seed\"] = ns\n\n                txt2img_kwargs[\"job_info\"] = job_info\n                # txt2img_kwargs[\"job_info\"] = None\n                txt2img_kwargs[\"fp\"] = fp\n\n                log_info(\"txt2img_kwargs\")\n                log_info(txt2img_kwargs)\n\n                return txt2img_kwargs\n\n            def render_img2img(seeds, obj):\n                start_seed = seeds.peek_seed()\n                global scn2img_cache\n                if obj[\"size\"] is None:\n                    obj[\"size\"] = (\n                        img2img_defaults[\"width\"],\n                        img2img_defaults[\"height\"],\n                    )\n                img = create_image(obj[\"size\"], obj[\"color\"])\n                img = blend_objects(seeds, img, obj.children)\n                img = render_mask(seeds, obj, img)\n                img = render_intermediate(img, obj, \"render_img2img_input\", start_seed)\n\n                img2img_kwargs = prepare_img2img_kwargs(seeds, obj, img)\n\n                used_kwargs.append((\"img2img\", img2img_kwargs))\n\n                # obj_hash = hash(str((img2img_kwargs[\"seed\"],obj)))\n                obj_hash = obj.cache_hash(\n                    seed=img2img_kwargs[\"seed\"],\n                    exclude_args={\"select\", \"pos\", \"rotation\"},\n                )\n                if obj_hash not in scn2img_cache[\"cache\"]:\n                    if job_info:\n                        count_images_before = len(job_info.images)\n                    outputs, seed, info, stats = img2img(**img2img_kwargs)\n                    if job_info:\n                        # img2img will output into job_info.images.\n                        # we want to cache only the new images.\n                        # extract new images and remove them from job_info.images.\n                        assert job_info.images == outputs\n                        outputs = job_info.images[count_images_before:]\n                        outputs = [img.convert(\"RGBA\") for img in outputs]\n                        num_new = len(outputs)\n                        # use images.pop so that images list is modified inplace and stays the same object.\n                        for k in range(num_new):\n                            job_info.images.pop()\n                    scn2img_cache[\"cache\"][obj_hash] = outputs, seed, info, stats\n\n                outputs, seed, info, stats = scn2img_cache[\"cache\"][obj_hash]\n\n                for img in outputs:\n                    output_img(img)\n\n                log_info(\"outputs\", outputs)\n\n                # select img from outputs\n                if len(outputs) > 0:\n                    select = obj[\"select\"] or 0\n                    img = outputs[select]\n                else:\n                    # no outputs, so we just use (the input) img without modifying it\n                    # img = img\n                    pass\n\n                # img = render_mask(seeds, obj, img)\n                img = resize_image(img, obj[\"resize\"], obj[\"crop\"])\n                if img is None:\n                    log_warn(f\"result of render_img2img({obj}) is None\")\n                img = render_3d(img, obj)\n                img = render_intermediate(img, obj, \"render_img2img\", start_seed)\n                return img\n\n            def render_txt2img(seeds, obj):\n                start_seed = seeds.peek_seed()\n                global scn2img_cache\n\n                txt2img_kwargs = prepare_txt2img_kwargs(seeds, obj)\n\n                used_kwargs.append((\"txt2img\", txt2img_kwargs))\n\n                # obj_hash = hash(str((txt2img_kwargs[\"seed\"],obj)))\n                obj_hash = obj.cache_hash(\n                    seed=txt2img_kwargs[\"seed\"],\n                    exclude_args={\"select\", \"pos\", \"rotation\"},\n                )\n                if obj_hash not in scn2img_cache[\"cache\"]:\n                    if job_info:\n                        count_images_before = len(job_info.images)\n                    outputs, seed, info, stats = txt2img(**txt2img_kwargs)\n                    if job_info:\n                        # txt2img will output into job_info.images.\n                        # we want to cache only the new images.\n                        # extract new images and remove them from job_info.images.\n                        assert job_info.images == outputs\n                        outputs = job_info.images[count_images_before:]\n                        outputs = [img.convert(\"RGBA\") for img in outputs]\n                        num_new = len(outputs)\n                        # use images.pop so that images list is modified inplace and stays the same object.\n                        for k in range(num_new):\n                            job_info.images.pop()\n                    scn2img_cache[\"cache\"][obj_hash] = outputs, seed, info, stats\n\n                outputs, seed, info, stats = scn2img_cache[\"cache\"][obj_hash]\n\n                for img in outputs:\n                    output_img(img)\n\n                log_info(\"outputs\", outputs)\n\n                # select img from outputs\n                if len(outputs) > 0:\n                    select = obj[\"select\"] or 0\n                    img = outputs[select]\n                else:\n                    # no outputs, so we use None\n                    img = None\n\n                img = render_mask(seeds, obj, img)\n                img = resize_image(img, obj[\"resize\"], obj[\"crop\"])\n                if img is None:\n                    log_warn(f\"result of render_txt2img({obj}) is None\")\n                img = render_3d(img, obj)\n                img = render_intermediate(img, obj, \"render_txt2img\", start_seed)\n                return img\n\n            def render_object(seeds, obj):\n                # log_trace(f\"render_object({str(obj)})\")\n\n                if \"initial_seed\" in obj:\n                    # create new generator rather than resetting current generator,\n                    # so that seeds generator from function argument is not changed.\n                    seeds = SeedGenerator(obj[\"initial_seed\"])\n\n                if obj.func == \"scene\":\n                    assert len(obj.children) == 1\n                    return render_object(seeds, obj.children[0])\n                elif obj.func == \"image\":\n                    return render_image(seeds, obj)\n                elif obj.func == \"img2img\":\n                    return render_img2img(seeds, obj)\n                elif obj.func == \"txt2img\":\n                    return render_txt2img(seeds, obj)\n                else:\n                    msg = f\"Got unexpected SceneObject type {obj.func}\"\n                    comments.append(msg)\n                    return None\n\n            def render_scn2img(seeds, obj):\n                result = []\n\n                if \"initial_seed\" in obj:\n                    # create new generator rather than resetting current generator,\n                    # so that seeds generator from function argument is not changed.\n                    seeds = SeedGenerator(obj[\"initial_seed\"])\n\n                if obj.func == \"scn2img\":\n                    # Note on seed generation and for-loops instead of\n                    # list-comprehensions:\n                    #\n                    # For instead of list-comprehension to ensure order as\n                    # list-comprehension order is not guaranteed. Seed generator must be\n                    # used by children in deterministic order.\n                    #\n                    # This also applies elsewhere.\n                    for child in obj.children:\n                        result.append(render_object(seeds, child))\n                else:\n                    result.append(render_object(seeds, obj))\n                return result\n\n            start_seed = seeds.peek_seed()\n            for img in render_scn2img(seeds, scene):\n                if output_intermediates:\n                    # img already in output, do nothing here\n                    pass\n                else:\n                    output_img(img)\n\n                if skip_save:\n                    # individual image save was skipped,\n                    # we need to save them now\n                    save_sample_scn2img(img, scene, \"render_scene\", start_seed)\n\n            return output_images\n\n        start_time = time.time()\n\n        mem_mon = MemUsageMonitor(\"MemMon\")\n        mem_mon.start()\n\n        used_kwargs = []\n\n        scene = parse_scene(prompt, comments)\n        log_info(\"scene\")\n        log_info(scene)\n        # log_info(\"comments\", comments)\n\n        render_scene(output_images, scene, SeedGenerator(seed))\n        log_info(\"output_images\", output_images)\n        # log_info(\"comments\", comments)\n\n        # comments.append(str(scene))\n        mem_max_used, mem_total = mem_mon.read_and_stop()\n        time_diff = time.time() - start_time\n\n        output_infos = []\n        output_infos.append((\"initial_seed\", seed))\n        excluded_args = set([\"job_info\", \"fp\", \"init_info\", \"init_info_mask\", \"prompt\"])\n        if len(used_kwargs) > 0:\n            for func, kwargs in used_kwargs:\n                output_infos.append(\"\\n\")\n                output_infos.append((\"\", func))\n                output_infos.append(kwargs[\"prompt\"])\n                for arg, value in kwargs.items():\n                    if arg in excluded_args:\n                        continue\n                    if value is None:\n                        continue\n                    if type(value) == dict:\n                        continue\n                    if type(value) == Image:\n                        continue\n                    output_infos.append((arg, value))\n\n        full_string = \"\"\n        entities = []\n        for output_info in output_infos:\n            if type(output_info) == str:\n                full_string += output_info\n            else:\n                assert type(output_info) is tuple\n                k, v = output_info\n                label = f\" {k}:\" if len(k) > 0 else \"\"\n                entity = {\n                    \"entity\": str(v),\n                    \"start\": len(full_string),\n                    \"end\": len(full_string) + len(label),\n                }\n                entities.append(entity)\n                full_string += label\n\n        info = {\"text\": full_string, \"entities\": entities}\n        num_prompts = 1\n        stats = \" \".join(\n            [\n                f\"Took { round(time_diff, 2) }s total ({ round(time_diff/(num_prompts),2) }s per image)\",\n                f\"Peak memory usage: { -(mem_max_used // -1_048_576) } MiB / { -(mem_total // -1_048_576) } MiB / { round(mem_max_used/mem_total*100, 3) }%\",\n            ]\n        )\n\n        return output_images, seed, info, stats, repr(scene)\n\n    return scn2img\n\n\ndef run_monocular_depth_estimation_multi(\n    images, minDepth=10, maxDepth=1000, batch_size=2\n):\n    # https://huggingface.co/keras-io/monocular-depth-estimation\n    # https://huggingface.co/spaces/atsantiago/Monocular_Depth_Filter\n    global monocular_depth_estimation\n    if images is None:\n        return None\n    if monocular_depth_estimation is None:\n        try_loading_monocular_depth_estimation()\n    if monocular_depth_estimation is None:\n        return None\n    if type(images) == Image:\n        images = [images]\n    loaded_images = []\n    for image in images:\n        # print(\"image\", image)\n        # print(\"type(image)\", type(image))\n        # if type(image) is Image:\n        # image = np.asarray(image.convert(\"RGB\"))\n        try:\n            image = image.convert(\"RGB\")\n            image = image.resize((640, 480))\n        except:\n            pass\n        image = np.asarray(image)\n        x = np.clip(image.reshape(480, 640, 3) / 255, 0, 1)\n        loaded_images.append(x)\n    loaded_images = np.stack(loaded_images, axis=0)\n    images = loaded_images\n\n    # Support multiple RGB(A)s, one RGB(A) image, even grayscale\n    if len(images.shape) < 3:\n        images = np.stack((images, images, images), axis=2)\n    if len(images.shape) < 4:\n        images = images.reshape((1, images.shape[0], images.shape[1], images.shape[2]))\n    if images.shape[3] > 3:\n        images = images[:, :, :, :3]\n\n    # Compute predictions\n    predictions = monocular_depth_estimation.predict(images, batch_size=batch_size)\n\n    def depth_norm(x, maxDepth):\n        return maxDepth / x\n\n    # Put in expected range\n    # print(\"Max Depth:\", np.amax(predictions), maxDepth)\n    # print(\"Min Depth:\", np.amin(predictions), minDepth)\n    depths = (\n        np.clip(depth_norm(predictions, maxDepth=maxDepth), minDepth, maxDepth)\n        / maxDepth\n    )\n    return depths\n\n\ndef run_monocular_depth_estimation_single(image, minDepth=10, maxDepth=1000):\n    depth = run_monocular_depth_estimation_multi([image], minDepth, maxDepth)[0][\n        :, :, 0\n    ]\n    return depth\n\n\ndef run_Monocular_Depth_Filter_multi(\n    images,\n    filter_min_depth: float,\n    filter_max_depth: float,\n    invert: bool,\n    normalize_depth: bool,\n    mask_is_depth: bool,\n    **kwargs,\n):\n    # https://huggingface.co/spaces/atsantiago/Monocular_Depth_Filter\n    depths = run_monocular_depth_estimation_multi(images, **kwargs)\n    if depths is None:\n        return None\n    n, h, w, c = depths.shape\n    # print(\"run_Monocular_Depth_Filter n,h,w,c\", n,h,w,c)\n    outputs = []\n    for k in range(n):\n        depth = depths[k][:, :, 0]\n        mask = run_depth_filter(\n            depth,\n            filter_min_depth,\n            filter_max_depth,\n            invert,\n            normalize_depth,\n            mask_is_depth,\n        )\n        outputs.append(mask)\n    return outputs\n\n\ndef run_Monocular_Depth_Filter_single(\n    image,\n    filter_min_depth: float,\n    filter_max_depth: float,\n    invert: bool,\n    normalize_depth: bool,\n    mask_is_depth: bool,\n    **kwargs,\n):\n    depths = run_Monocular_Depth_Filter_multi(\n        [image],\n        filter_min_depth,\n        filter_max_depth,\n        invert,\n        normalize_depth,\n        mask_is_depth,\n        **kwargs,\n    )\n    return depths[0]\n\n\ndef run_midas_depth_estimation(image):\n    global midas_depth_estimation\n    global midas_transform\n    if image is None:\n        return None\n    if midas_depth_estimation is None or midas_transform is None:\n        try_loading_midas_depth_estimation()\n    if midas_depth_estimation is None or midas_transform is None:\n        return None\n\n    image = image.convert(\"RGB\")\n    image = np.asarray(image)\n\n    device = \"cpu\"\n    input_batch = midas_transform(image).to(device)\n    with torch.no_grad():\n        prediction = midas_depth_estimation(input_batch)\n\n        prediction = torch.nn.functional.interpolate(\n            prediction.unsqueeze(1),\n            size=image.shape[:2],\n            mode=\"bicubic\",\n            align_corners=False,\n        ).squeeze()\n\n    output = prediction.cpu().numpy()\n    depth = 1 - output / np.max(output)\n    return depth\n\n\ndef run_midas_depth_filter(\n    image,\n    filter_min_depth: float,\n    filter_max_depth: float,\n    invert: bool,\n    normalize_depth: bool,\n    mask_is_depth: bool,\n):\n    depth = run_midas_depth_estimation(image)\n\n    return run_depth_filter(\n        depth,\n        filter_min_depth,\n        filter_max_depth,\n        invert,\n        normalize_depth,\n        mask_is_depth,\n    )\n\n\ndef run_depth_filter(\n    depth: np.ndarray,\n    filter_min_depth: float,\n    filter_max_depth: float,\n    invert: bool,\n    normalize_depth: bool,\n    mask_is_depth: bool,\n):\n    if depth is None:\n        return None\n\n    if normalize_depth:\n        depth = depth - np.min(depth)\n        depth = depth / np.max(depth)\n\n    if mask_is_depth:\n        depth = (depth - filter_min_depth) * (\n            1.0 / (filter_max_depth - filter_min_depth)\n        )\n        depth[depth < 0] = 0\n        depth[depth > 1] = 1\n        mask = (depth * 255).astype(np.uint8)\n    else:\n        filt_arr_min = depth > filter_min_depth\n        filt_arr_max = depth < filter_max_depth\n        mask = np.logical_and(filt_arr_min, filt_arr_max).astype(np.uint8) * 255\n\n    if invert:\n        mask = 255 - mask\n\n    mask = Image.fromarray(mask, \"L\")\n\n    return mask\n\n\ndef run_depth_estimation(image: Image, model_idx: int):\n    funcs_depth_estimation = [\n        run_monocular_depth_estimation_single,\n        run_midas_depth_estimation,\n    ]\n    func_depth_estimation = funcs_depth_estimation[model_idx]\n    depth = func_depth_estimation(image)\n    return depth\n\n\n@numba.jit\ndef depth_reprojection(\n    xyz: np.ndarray,\n    depth: np.ndarray,\n    depth_scale: float,\n    fx: float,\n    fy: float,\n    cx: float,\n    cy: float,\n):\n    h, w = depth.shape[:2]\n    for v in range(h):\n        y = fy * (v - cy)\n        for u in range(w):\n            x = fx * (u - cx)\n            z = depth[v, u] * depth_scale\n            xyz[v, u, 0] = x * z\n            xyz[v, u, 1] = y * z\n            xyz[v, u, 2] = z\n\n\ndef run_3d_estimation(\n    depth: np.ndarray, depth_scale: float = 1, hfov_rad: float = 60 * math.pi / 180\n):\n    pass\n    h, w = depth.shape[:2]\n    cam_info = CameraInfo((h, w), hfov_rad)\n    xyz = np.empty(shape=(h, w, 3), dtype=np.float32)\n    depth_reprojection(\n        xyz, depth, depth_scale, cam_info.fx, cam_info.fy, cam_info.cx, cam_info.cy\n    )\n    return xyz\n\n\n@numba.jit\ndef transform_image_3d(\n    img_out: np.ndarray,\n    img_in: np.ndarray,\n    depth: np.ndarray,\n    depth_near: float,\n    depth_scale: float,\n    fx0: float,\n    fy0: float,\n    cx0: float,\n    cy0: float,\n    fx1: float,\n    fy1: float,\n    cx1: float,\n    cy1: float,\n    rot_cam1_cam0: np.ndarray,\n    offset_cam1_cam0: np.ndarray,\n    min_mask: int,\n    max_mask: int,\n):\n    # assert(img_in.shape[2] == 4)\n    # assert(img_out.shape[2] == 4)\n    # assert(len(depth.shape) == 2)\n    # (u0,v0)  : 2d pixel position in img_in\n    # pos_cam0 : 3d pixel position in cam0 coordinate system\n    # pos_cam1 : 3d pixel position in cam1 coordinate system\n    # (u1,v1)  : 2d pixel position in img_out\n    m00 = rot_cam1_cam0[0, 0]\n    m01 = rot_cam1_cam0[0, 1]\n    m02 = rot_cam1_cam0[0, 2]\n    m10 = rot_cam1_cam0[1, 0]\n    m11 = rot_cam1_cam0[1, 1]\n    m12 = rot_cam1_cam0[1, 2]\n    m20 = rot_cam1_cam0[2, 0]\n    m21 = rot_cam1_cam0[2, 1]\n    m22 = rot_cam1_cam0[2, 2]\n    h0 = int(depth.shape[0])\n    w0 = int(depth.shape[1])\n    h1 = int(img_out.shape[0])\n    w1 = int(img_out.shape[1])\n    for v0 in range(h0):\n        y0_ = fy0 * (v0 - cy0)\n        for u0 in range(w0):\n            r, g, b, a = img_in[v0, u0]\n            # img_out[v0,u0,0] = r\n            # img_out[v0,u0,1] = g\n            # img_out[v0,u0,2] = b\n            # img_out[v0,u0,3] = a\n            # continue\n            # if not (min_mask <= a <= max_mask): continue\n            x0_ = fx0 * (u0 - cx0)\n            z0 = depth_near + depth[v0, u0] * depth_scale\n            x0 = x0_ * z0\n            y0 = y0_ * z0\n            x1 = offset_cam1_cam0[0] + m00 * x0 + m01 * y0 + m02 * z0\n            y1 = offset_cam1_cam0[1] + m10 * x0 + m11 * y0 + m12 * z0\n            z1 = offset_cam1_cam0[2] + m20 * x0 + m21 * y0 + m22 * z0\n            # pos_cam0 = (x0*z0,y0*z0,z0)\n            # pos_cam1 = offset_cam1_cam0 + rot_cam1_cam0 @ pos_cam0\n            # x1,y1,z1 = pos_cam1\n            if z1 <= 0:\n                continue\n            u1 = int(0.5 + (x1 / (z1 * fx1)) + cx1)\n            v1 = int(0.5 + (y1 / (z1 * fy1)) + cy1)\n            if u1 < 0:\n                u1 = 0\n            if u1 >= w1:\n                u1 = w1 - 1\n            if v1 < 0:\n                v1 = 0\n            if v1 >= h1:\n                v1 = h1 - 1\n            # if not (0 <= u1 < w1): continue\n            # if not (0 <= v1 < h1): continue\n            img_out[v1, u1, 0] = r\n            img_out[v1, u1, 1] = g\n            img_out[v1, u1, 2] = b\n            img_out[v1, u1, 3] = a\n\n\nclass CameraInfo:\n    def __init__(\n        self,\n        image_size: Tuple[int, int],\n        hfov_rad: float = 60 * math.pi / 180,\n        pose: np.ndarray = None,\n    ):\n        self.width = image_size[0]\n        self.height = image_size[1]\n        self.aspect_ratio = self.width * (1.0 / self.height)\n        self.hfov_rad = hfov_rad\n        self.vfov_rad = self.hfov_rad / self.aspect_ratio\n        half_width = self.width * 0.5\n        half_height = self.width * 0.5\n        self.fx = math.tan(self.hfov_rad * 0.5) / half_width\n        self.fy = math.tan(self.vfov_rad * 0.5) / half_height\n        self.cx = half_width\n        self.cy = half_height\n        self.pose = pose if pose is not None else np.eye(4)\n        assert self.pose.shape == (4, 4)\n\n\ndef run_transform_image_3d(\n    image: Image,\n    depth: np.ndarray,\n    depth_near: float,\n    depth_scale: float,\n    from_caminfo: CameraInfo,\n    to_caminfo: CameraInfo,\n    min_mask: int,\n    max_mask: int,\n    mask_invert: bool,\n):\n    if image is None:\n        return None\n    h, w = image.size\n    image_in = np.asarray(image.convert(\"RGBA\"))\n    image_out = np.zeros(shape=(h, w, 4), dtype=np.uint8)\n    tf_world_cam0 = from_caminfo.pose\n    tf_world_cam1 = to_caminfo.pose\n    tf_cam1_world = affine_inv(tf_world_cam1)\n    tf_cam1_cam0 = tf_cam1_world @ tf_world_cam0\n    rot_cam1_cam0 = tf_cam1_cam0[:3, :3]\n    offset_cam1_cam0 = tf_cam1_cam0[:3, 3]\n    # print(\"depth_scale\", depth_scale)\n    # print(\"from_caminfo.fx\", from_caminfo.fx)\n    # print(\"from_caminfo.fy\", from_caminfo.fy)\n    # print(\"from_caminfo.cx\", from_caminfo.cx)\n    # print(\"from_caminfo.cy\", from_caminfo.cy)\n    # print(\"to_caminfo.fx\", to_caminfo.fx)\n    # print(\"to_caminfo.fy\", to_caminfo.fy)\n    # print(\"to_caminfo.cx\", to_caminfo.cx)\n    # print(\"to_caminfo.cy\", to_caminfo.cy)\n    # print(\"rot_cam1_cam0\", rot_cam1_cam0)\n    # print(\"offset_cam1_cam0\", offset_cam1_cam0)\n    # print(\"min_mask\", min_mask)\n    # print(\"max_mask\", max_mask)\n\n    transform_image_3d(\n        image_out,\n        image_in,\n        depth,\n        depth_near,\n        depth_scale,\n        from_caminfo.fx,\n        from_caminfo.fy,\n        from_caminfo.cx,\n        from_caminfo.cy,\n        to_caminfo.fx,\n        to_caminfo.fy,\n        to_caminfo.cx,\n        to_caminfo.cy,\n        rot_cam1_cam0,\n        offset_cam1_cam0,\n        min_mask,\n        max_mask,\n    )\n    if mask_invert:\n        image_out[:, :, 3] = 255 - image_out[:, :, 3]\n    return Image.fromarray(image_out, \"RGBA\")\n\n\ndef run_transform_image_3d_simple(\n    image: Image,\n    depth: np.ndarray,\n    depth_near: float,\n    depth_scale: float,\n    hfov0_rad: float,\n    tf_world_cam0: np.ndarray,\n    hfov1_rad: float,\n    tf_world_cam1: np.ndarray,\n    min_mask: int,\n    max_mask: int,\n    mask_invert: bool,\n):\n    from_caminfo = CameraInfo(image.size, hfov0_rad, tf_world_cam0)\n    to_caminfo = CameraInfo(image.size, hfov1_rad, tf_world_cam1)\n    return run_transform_image_3d(\n        image,\n        depth,\n        depth_near,\n        depth_scale,\n        from_caminfo,\n        to_caminfo,\n        min_mask,\n        max_mask,\n        mask_invert,\n    )\n\n\ndef translation3d(x, y, z):\n    return np.array(\n        [\n            [1, 0, 0, x],\n            [0, 1, 0, y],\n            [0, 0, 1, z],\n            [0, 0, 0, 1],\n        ]\n    )\n\n\ndef rotation3d_x(angle):\n    cs, sn = math.cos(angle), math.sin(angle)\n    return np.array(\n        [\n            [1, 0, 0, 0],\n            [0, cs, -sn, 0],\n            [0, +sn, cs, 0],\n            [0, 0, 0, 1],\n        ]\n    )\n\n\ndef rotation3d_y(angle):\n    cs, sn = math.cos(angle), math.sin(angle)\n    return np.array(\n        [\n            [cs, 0, +sn, 0],\n            [0, 1, 0, 0],\n            [-sn, 0, cs, 0],\n            [0, 0, 0, 1],\n        ]\n    )\n\n\ndef rotation3d_z(angle):\n    cs, sn = math.cos(angle), math.sin(angle)\n    return np.array(\n        [\n            [cs, -sn, 0, 0],\n            [+sn, cs, 0, 0],\n            [0, 0, 1, 0],\n            [0, 0, 0, 1],\n        ]\n    )\n\n\ndef rotation3d_rpy(roll, pitch, yaw):\n    # Diebel, J. (2006). Representing attitude: Euler angles, unit quaternions, and rotation vectors. Matrix, 58(15-16), 1-35.\n    # (the paper uses inverse transformations to ours, i.e. transformations from world to body)\n    # euler-1-2-3 scheme\n\n    # transforms from body to world\n    return rotation3d_z(yaw) @ rotation3d_y(pitch) @ rotation3d_x(roll)\n\n\ndef rpy_from_rotation3d(mat):\n    # Diebel, J. (2006). Representing attitude: Euler angles, unit quaternions, and rotation vectors. Matrix, 58(15-16), 1-35.\n    # (the paper uses inverse transformations to ours, i.e. transformations from world to body)\n    # euler-1-2-3 scheme\n    matT = mat.T\n    roll = np.arctan2(matT[1, 2], matT[2, 2])\n    pitch = -np.arcsin(matT[0, 2])\n    yaw = np.arctan2(matT[0, 1], matT[0, 0])\n\n    return np.array([roll, pitch, yaw])\n\n\ndef affine_inv(mat44):\n    rot = mat44[:3, :3]\n    trans = mat44[:3, 3]\n    inv_rot = rot.T\n    inv_trans = -inv_rot @ trans\n    return pose3d(inv_rot, inv_trans)\n\n\ndef pose3d(rotation, translation):\n    mat44 = np.zeros(shape=(4, 4), dtype=rotation.dtype)\n    mat44[:3, :3] = rotation\n    mat44[:3, 3] = translation\n    return mat44\n\n\ndef pose3d_rpy(x, y, z, roll, pitch, yaw):\n    \"\"\"returns transformation matrix which transforms from pose to world\"\"\"\n    return translation3d(x, y, z) @ rotation3d_rpy(roll, pitch, yaw)\n"
  },
  {
    "path": "scripts/sd_concept_library.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import st\n\n# streamlit imports\nimport streamlit.components.v1 as components\n\n# other imports\n\nimport os, math\nfrom PIL import Image\n\n# Temp imports\n# from basicsr.utils.registry import ARCH_REGISTRY\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n# Init Vuejs component\n_component_func = components.declare_component(\n    \"sd-concepts-browser\", \"./frontend/dists/concept-browser/dist\"\n)\n\n\ndef sdConceptsBrowser(concepts, key=None):\n    component_value = _component_func(concepts=concepts, key=key, default=\"\")\n    return component_value\n\n\n@st.experimental_memo(persist=\"disk\", show_spinner=False, suppress_st_warning=True)\ndef getConceptsFromPath(page, conceptPerPage, searchText=\"\"):\n    # print(\"getConceptsFromPath\", \"page:\", page, \"conceptPerPage:\", conceptPerPage, \"searchText:\", searchText)\n    # get the path where the concepts are stored\n    path = os.path.join(\n        os.getcwd(), st.session_state[\"defaults\"].general.sd_concepts_library_folder\n    )\n    acceptedExtensions = (\"jpeg\", \"jpg\", \"png\")\n    concepts = []\n\n    if os.path.exists(path):\n        # List all folders (concepts) in the path\n        folders = [f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))]\n        filteredFolders = folders\n\n        # Filter the folders by the search text\n        if searchText != \"\":\n            filteredFolders = [f for f in folders if searchText.lower() in f.lower()]\n    else:\n        filteredFolders = []\n\n    conceptIndex = 1\n    for folder in filteredFolders:\n        # handle pagination\n        if conceptIndex > (page * conceptPerPage):\n            continue\n        if conceptIndex <= ((page - 1) * conceptPerPage):\n            conceptIndex += 1\n            continue\n\n        concept = {\n            \"name\": folder,\n            \"token\": \"<\" + folder + \">\",\n            \"images\": [],\n            \"type\": \"\",\n        }\n\n        # type of concept is inside type_of_concept.txt\n        typePath = os.path.join(path, folder, \"type_of_concept.txt\")\n        binFile = os.path.join(path, folder, \"learned_embeds.bin\")\n\n        # Continue if the concept is not valid or the download has failed (no type_of_concept.txt or no binFile)\n        if not os.path.exists(typePath) or not os.path.exists(binFile):\n            continue\n\n        with open(typePath, \"r\") as f:\n            concept[\"type\"] = f.read()\n\n        # List all files in the concept/concept_images folder\n        files = [\n            f\n            for f in os.listdir(os.path.join(path, folder, \"concept_images\"))\n            if os.path.isfile(os.path.join(path, folder, \"concept_images\", f))\n        ]\n        # Retrieve only the 4 first images\n        for file in files:\n            # Skip if we already have 4 images\n            if len(concept[\"images\"]) >= 4:\n                break\n\n            if file.endswith(acceptedExtensions):\n                try:\n                    # Add a copy of the image to avoid file locking\n                    originalImage = Image.open(\n                        os.path.join(path, folder, \"concept_images\", file)\n                    )\n\n                    # Maintain the aspect ratio (max 200x200)\n                    resizedImage = originalImage.copy()\n                    resizedImage.thumbnail((200, 200), Image.Resampling.LANCZOS)\n\n                    # concept[\"images\"].append(resizedImage)\n\n                    concept[\"images\"].append(imageToBase64(resizedImage))\n                    # Close original image\n                    originalImage.close()\n                except:\n                    print(\n                        \"Error while loading image\",\n                        file,\n                        \"in concept\",\n                        folder,\n                        \"(The file may be corrupted). Skipping it.\",\n                    )\n\n        concepts.append(concept)\n        conceptIndex += 1\n    # print all concepts name\n    # print(\"Results:\", [c[\"name\"] for c in concepts])\n    return concepts\n\n\n@st.cache(\n    persist=True,\n    allow_output_mutation=True,\n    show_spinner=False,\n    suppress_st_warning=True,\n)\ndef imageToBase64(image):\n    import io\n    import base64\n\n    buffered = io.BytesIO()\n    image.save(buffered, format=\"PNG\")\n    img_str = base64.b64encode(buffered.getvalue()).decode(\"utf-8\")\n    return img_str\n\n\n@st.experimental_memo(persist=\"disk\", show_spinner=False, suppress_st_warning=True)\ndef getTotalNumberOfConcepts(searchText=\"\"):\n    # get the path where the concepts are stored\n    path = os.path.join(\n        os.getcwd(), st.session_state[\"defaults\"].general.sd_concepts_library_folder\n    )\n\n    if os.path.exists(path):\n        # List all folders (concepts) in the path\n        folders = [f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))]\n        filteredFolders = folders\n\n        # Filter the folders by the search text\n        if searchText != \"\":\n            filteredFolders = [f for f in folders if searchText.lower() in f.lower()]\n    else:\n        filteredFolders = []\n    return len(filteredFolders)\n\n\ndef layout():\n    # 2 tabs, one for Concept Library and one for the Download Manager\n    tab_library, tab_downloader = st.tabs([\"Library\", \"Download Manager\"])\n\n    # Concept Library\n    with tab_library:\n        downloaded_concepts_count = getTotalNumberOfConcepts()\n        concepts_per_page = st.session_state[\n            \"defaults\"\n        ].concepts_library.concepts_per_page\n\n        if \"results\" not in st.session_state:\n            st.session_state[\"results\"] = getConceptsFromPath(1, concepts_per_page, \"\")\n\n        # Pagination controls\n        if \"cl_current_page\" not in st.session_state:\n            st.session_state[\"cl_current_page\"] = 1\n\n        # Search\n        if \"cl_search_text\" not in st.session_state:\n            st.session_state[\"cl_search_text\"] = \"\"\n\n        if \"cl_search_results_count\" not in st.session_state:\n            st.session_state[\"cl_search_results_count\"] = downloaded_concepts_count\n\n        # Search bar\n        _search_col, _refresh_col = st.columns([10, 2])\n        with _search_col:\n            search_text_input = st.text_input(\n                \"Search\",\n                \"\",\n                placeholder=f\"Search for a concept ({downloaded_concepts_count} available)\",\n                label_visibility=\"hidden\",\n            )\n            if search_text_input != st.session_state[\"cl_search_text\"]:\n                # Search text has changed\n                st.session_state[\"cl_search_text\"] = search_text_input\n                st.session_state[\"cl_current_page\"] = 1\n                st.session_state[\"cl_search_results_count\"] = getTotalNumberOfConcepts(\n                    st.session_state[\"cl_search_text\"]\n                )\n                st.session_state[\"results\"] = getConceptsFromPath(\n                    1, concepts_per_page, st.session_state[\"cl_search_text\"]\n                )\n\n        with _refresh_col:\n            # Super weird fix to align the refresh button with the search bar ( Please streamlit, add css support..  )\n            _refresh_col.write(\"\")\n            _refresh_col.write(\"\")\n            if st.button(\n                \"Refresh concepts\",\n                key=\"refresh_concepts\",\n                help=\"Refresh the concepts folders. Use this if you have added new concepts manually or deleted some.\",\n            ):\n                getTotalNumberOfConcepts.clear()\n                getConceptsFromPath.clear()\n                st.experimental_rerun()\n\n        # Show results\n        results_empty = st.empty()\n\n        # Pagination\n        pagination_empty = st.empty()\n\n        # Layouts\n        with pagination_empty:\n            with st.container():\n                if len(st.session_state[\"results\"]) > 0:\n                    last_page = math.ceil(\n                        st.session_state[\"cl_search_results_count\"] / concepts_per_page\n                    )\n                    (\n                        _1,\n                        _2,\n                        _3,\n                        _4,\n                        _previous_page,\n                        _current_page,\n                        _next_page,\n                        _9,\n                        _10,\n                        _11,\n                        _12,\n                    ) = st.columns([1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1])\n\n                    # Previous page\n                    with _previous_page:\n                        if st.button(\"Previous\", key=\"cl_previous_page\"):\n                            st.session_state[\"cl_current_page\"] -= 1\n                            if st.session_state[\"cl_current_page\"] <= 0:\n                                st.session_state[\"cl_current_page\"] = last_page\n                            st.session_state[\"results\"] = getConceptsFromPath(\n                                st.session_state[\"cl_current_page\"],\n                                concepts_per_page,\n                                st.session_state[\"cl_search_text\"],\n                            )\n\n                    # Current page\n                    with _current_page:\n                        _current_page_container = st.empty()\n\n                    # Next page\n                    with _next_page:\n                        if st.button(\"Next\", key=\"cl_next_page\"):\n                            st.session_state[\"cl_current_page\"] += 1\n                            if st.session_state[\"cl_current_page\"] > last_page:\n                                st.session_state[\"cl_current_page\"] = 1\n                            st.session_state[\"results\"] = getConceptsFromPath(\n                                st.session_state[\"cl_current_page\"],\n                                concepts_per_page,\n                                st.session_state[\"cl_search_text\"],\n                            )\n\n                    # Current page\n                    with _current_page_container:\n                        st.markdown(\n                            f'<p style=\"text-align: center\">Page {st.session_state[\"cl_current_page\"]} of {last_page}</p>',\n                            unsafe_allow_html=True,\n                        )\n                        # st.write(f\"Page {st.session_state['cl_current_page']} of {last_page}\", key=\"cl_current_page\")\n\n        with results_empty:\n            with st.container():\n                if downloaded_concepts_count == 0:\n                    st.write(\"You don't have any concepts in your library \")\n                    st.markdown(\n                        \"To add concepts to your library, download some from the [sd-concepts-library](https://github.com/Sygil-Dev/sd-concepts-library) \\\n\t\t\t\t\t\trepository and save the content of `sd-concepts-library` into ```./models/custom/sd-concepts-library``` or just create your own concepts :wink:.\",\n                        unsafe_allow_html=False,\n                    )\n                else:\n                    if len(st.session_state[\"results\"]) == 0:\n                        st.write(\n                            \"No concept found in the library matching your search: \"\n                            + st.session_state[\"cl_search_text\"]\n                        )\n                    else:\n                        # display number of results\n                        if st.session_state[\"cl_search_text\"]:\n                            st.write(\n                                f\"Found {st.session_state['cl_search_results_count']} {'concepts' if st.session_state['cl_search_results_count'] > 1 else 'concept' } matching your search\"\n                            )\n                        sdConceptsBrowser(st.session_state[\"results\"], key=\"results\")\n\n    with tab_downloader:\n        st.write(\"Not implemented yet\")\n\n    return False\n"
  },
  {
    "path": "scripts/sd_concepts_library_downloader.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nimport os, subprocess, shutil\nfrom huggingface_hub import HfApi\nfrom git import Repo, RemoteProgress\n\n\nclass CloneProgress(RemoteProgress):\n    def update(self, op_code, cur_count, max_count=None, message=\"\"):\n        if message:\n            print(message)\n\n\napi = HfApi()\nmodels_list = api.list_models(author=\"sd-concepts-library\", sort=\"likes\", direction=-1)\nmodels = []\n\nprint(\"Downloading the sd concept library from the huggingface site.\")\nfor model in models_list:\n    model_content = {}\n    model_id = model.id\n    url = f\"https://huggingface.co/{model_id}\"\n    try:\n        if not os.path.exists(os.path.join(\"../models/custom\", model_id)):\n            subprocess.run([\"git\", \"lfs\", \"install\"], stdout=subprocess.DEVNULL)\n            Repo.clone_from(\n                url,\n                os.path.join(\"../models/custom\", model_id),\n                progress=CloneProgress(),\n            )\n        # else:\n        # repo = Repo(os.path.join(\"../models/custom\", model_id))\n        # repo.git.stash('save')\n        # repo.git.pull()\n\n        subprocess.run(\n            [\"git\", \"lfs\", \"uninstall\"], stdout=subprocess.DEVNULL\n        )  # uninstall LFS\n        os.remove(\n            os.path.join(\"../models/custom\", model_id, \".gitattributes\")\n        ) if os.path.exists(\n            os.path.join(\"../models/custom\", model_id, \".gitattributes\")\n        ) else None  # remove the .gitattributes so files don't use LFS\n        subprocess.run(\n            [\"rm\", \"-rf\", os.path.join(\"../models/custom\", model_id, \".git\")]\n        ) if os.path.exists(\n            os.path.join(\"../models/custom\", model_id, \".git\")\n        ) else None  # remove all the .git folders as we dont need them.\n        # get the folder size and delete it if its larger than 100mb\n        size = 0\n        for ele in os.scandir(\n            os.path.join(\"../models/custom\", model_id)\n        ):  # get folder size\n            size += os.stat(ele).st_size\n        if size > 100000000:  # if the folder is larger than 100mb delete it.\n            shutil.rmtree(\n                os.path.join(\"../models/custom\", model_id), ignore_errors=True\n            )\n    except:\n        pass\n"
  },
  {
    "path": "scripts/sd_utils/__init__.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from webui_streamlit import st\nimport hydralit as st\nimport hydralit_components as hc\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\n\n# from streamlit.runtime.scriptrunner import script_run_context\n\n# streamlit components section\nfrom streamlit_server_state import server_state, server_state_lock, no_rerun\nimport streamlit_nested_layout\n\n\n# from streamlitextras.threader import lock, trigger_rerun, \\\n# streamlit_thread, get_thread, \\\n# last_trigger_time\n\n# other imports\n\nimport warnings\nimport json\n\nimport cv2\nimport os, sys, re, random, datetime, time, math, toml\nimport gc\nfrom PIL import Image, ImageFont, ImageDraw, ImageFilter\nfrom PIL.PngImagePlugin import PngInfo\nfrom scipy import integrate\nimport torch\nfrom torchdiffeq import odeint\nimport k_diffusion as K\nimport math\nimport mimetypes\nimport numpy as np\nimport pynvml\nimport threading\nimport torch, torchvision\nfrom torch import autocast\nfrom torchvision import transforms\nimport torch.nn as nn\nfrom omegaconf import OmegaConf\nimport yaml\nfrom pathlib import Path\nfrom contextlib import nullcontext\nfrom einops import rearrange, repeat\nfrom ldm.util import instantiate_from_config\nfrom retry import retry\nfrom slugify import slugify\nimport skimage\nimport piexif\nimport piexif.helper\nfrom tqdm import trange\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom ldm.util import ismap\n\n# from abc import ABC, abstractmethod\nfrom packaging import version\nfrom pathlib import Path\nfrom huggingface_hub import hf_hub_download\nimport shutup\n\n# import librosa\nfrom logger import logger\n\n# from loguru import logger\n\ntry:\n    from realesrgan import RealESRGANer\n    from basicsr.archs.rrdbnet_arch import RRDBNet\nexcept ImportError:\n    logger.error(\n        \"You tried to import realesrgan without having it installed properly. To install Real-ESRGAN, run:\\n\\n\"\n        \"pip install realesrgan\"\n    )\n\n# Temp imports\n# from basicsr.utils.registry import ARCH_REGISTRY\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n# remove all the annoying python warnings.\nshutup.please()\n\n# the following lines should help fixing an issue with nvidia 16xx cards.\nif \"defaults\" in st.session_state:\n    if st.session_state[\"defaults\"].general.use_cudnn:\n        torch.backends.cudnn.benchmark = True\n        torch.backends.cudnn.enabled = True\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n# disable diffusers telemetry\nos.environ[\"DISABLE_TELEMETRY\"] = \"YES\"\n\n# remove some annoying deprecation warnings that show every now and then.\nwarnings.filterwarnings(\"ignore\", category=DeprecationWarning)\nwarnings.filterwarnings(\"ignore\", category=UserWarning)\n\n# this is a fix for Windows users. Without it, javascript files will be served with text/html content-type and the bowser will not show any UI\nmimetypes.init()\nmimetypes.add_type(\"application/javascript\", \".js\")\n\n# some of those options should not be changed at all because they would break the model, so I removed them from options.\nopt_C = 4\nopt_f = 8\n\n# The model manager loads and unloads the SD models and has features to download them or find their location\n# model_manager = ModelManager()\n\n\ndef load_configs():\n    if \"defaults\" not in st.session_state:\n        st.session_state[\"defaults\"] = {}\n\n    st.session_state[\"defaults\"] = OmegaConf.load(\"configs/webui/webui_streamlit.yaml\")\n\n    if os.path.exists(\"configs/webui/userconfig_streamlit.yaml\"):\n        user_defaults = OmegaConf.load(\"configs/webui/userconfig_streamlit.yaml\")\n\n        if \"version\" in user_defaults.general:\n            if version.parse(user_defaults.general.version) < version.parse(\n                st.session_state[\"defaults\"].general.version\n            ):\n                logger.error(\n                    \"The version of the user config file is older than the version on the defaults config file. \"\n                    \"This means there were big changes we made on the config.\"\n                    \"We are removing this file and recreating it from the defaults in order to make sure things work properly.\"\n                )\n                os.remove(\"configs/webui/userconfig_streamlit.yaml\")\n                st.experimental_rerun()\n        else:\n            logger.error(\n                \"The version of the user config file is older than the version on the defaults config file. \"\n                \"This means there were big changes we made on the config.\"\n                \"We are removing this file and recreating it from the defaults in order to make sure things work properly.\"\n            )\n            os.remove(\"configs/webui/userconfig_streamlit.yaml\")\n            st.experimental_rerun()\n\n        try:\n            st.session_state[\"defaults\"] = OmegaConf.merge(\n                st.session_state[\"defaults\"], user_defaults\n            )\n        except KeyError:\n            st.experimental_rerun()\n    else:\n        OmegaConf.save(\n            config=st.session_state.defaults,\n            f=\"configs/webui/userconfig_streamlit.yaml\",\n        )\n        loaded = OmegaConf.load(\"configs/webui/userconfig_streamlit.yaml\")\n        assert st.session_state.defaults == loaded\n\n    if os.path.exists(\".streamlit/config.toml\"):\n        st.session_state[\"streamlit_config\"] = toml.load(\".streamlit/config.toml\")\n\n    if st.session_state[\"defaults\"].daisi_app.running_on_daisi_io:\n        if os.path.exists(\"scripts/modeldownload.py\"):\n            import modeldownload\n\n            modeldownload.updateModels()\n\n    if \"keep_all_models_loaded\" in st.session_state.defaults.general:\n        with server_state_lock[\"keep_all_models_loaded\"]:\n            server_state[\"keep_all_models_loaded\"] = st.session_state[\n                \"defaults\"\n            ].general.keep_all_models_loaded\n    else:\n        st.session_state[\"defaults\"].general.keep_all_models_loaded = False\n        with server_state_lock[\"keep_all_models_loaded\"]:\n            server_state[\"keep_all_models_loaded\"] = st.session_state[\n                \"defaults\"\n            ].general.keep_all_models_loaded\n\n\nload_configs()\n\n#\n# if st.session_state[\"defaults\"].debug.enable_hydralit:\n# navbar_theme = {'txc_inactive': '#FFFFFF','menu_background':'#0e1117','txc_active':'black','option_active':'red'}\n# app = st.HydraApp(title='Stable Diffusion WebUI', favicon=\"\", use_cookie_cache=False, sidebar_state=\"expanded\", layout=\"wide\", navbar_theme=navbar_theme,\n# hide_streamlit_markers=False, allow_url_nav=True , clear_cross_app_sessions=False, use_loader=False)\n# else:\n# app = None\n\n#\ngrid_format = st.session_state[\"defaults\"].general.save_format\ngrid_lossless = False\ngrid_quality = st.session_state[\"defaults\"].general.grid_quality\nif grid_format == \"png\":\n    grid_ext = \"png\"\n    grid_format = \"png\"\nelif grid_format in [\"jpg\", \"jpeg\"]:\n    grid_quality = int(grid_format) if len(grid_format) > 1 else 100\n    grid_ext = \"jpg\"\n    grid_format = \"jpeg\"\nelif grid_format[0] == \"webp\":\n    grid_quality = int(grid_format) if len(grid_format) > 1 else 100\n    grid_ext = \"webp\"\n    grid_format = \"webp\"\n    if grid_quality < 0:  # e.g. webp:-100 for lossless mode\n        grid_lossless = True\n        grid_quality = abs(grid_quality)\n\n#\nsave_format = st.session_state[\"defaults\"].general.save_format\nsave_lossless = False\nsave_quality = 100\nif save_format == \"png\":\n    save_ext = \"png\"\n    save_format = \"png\"\nelif save_format in [\"jpg\", \"jpeg\"]:\n    save_quality = int(save_format) if len(save_format) > 1 else 100\n    save_ext = \"jpg\"\n    save_format = \"jpeg\"\nelif save_format == \"webp\":\n    save_quality = int(save_format) if len(save_format) > 1 else 100\n    save_ext = \"webp\"\n    save_format = \"webp\"\n    if save_quality < 0:  # e.g. webp:-100 for lossless mode\n        save_lossless = True\n        save_quality = abs(save_quality)\n\n# this should force GFPGAN and RealESRGAN onto the selected gpu as well\nos.environ[\"CUDA_DEVICE_ORDER\"] = \"PCI_BUS_ID\"  # see issue #152\nos.environ[\"CUDA_VISIBLE_DEVICES\"] = str(st.session_state[\"defaults\"].general.gpu)\n\n\n# functions to load css locally OR remotely starts here. Options exist for future flexibility. Called as st.markdown with unsafe_allow_html as css injection\n# TODO, maybe look into async loading the file especially for remote fetching\ndef local_css(file_name):\n    with open(file_name) as f:\n        st.markdown(f\"<style>{f.read()}</style>\", unsafe_allow_html=True)\n\n\ndef remote_css(url):\n    st.markdown(f'<link href=\"{url}\" rel=\"stylesheet\">', unsafe_allow_html=True)\n\n\ndef load_css(isLocal, nameOrURL):\n    if isLocal:\n        local_css(nameOrURL)\n    else:\n        remote_css(nameOrURL)\n\n\ndef set_page_title(title):\n    \"\"\"\n    Simple function to allows us to change the title dynamically.\n    Normally you can use `st.set_page_config` to change the title but it can only be used once per app.\n    \"\"\"\n\n    st.sidebar.markdown(\n        unsafe_allow_html=True,\n        body=f\"\"\"\n                            <iframe height=0 srcdoc=\"<script>\n                            const title = window.parent.document.querySelector('title') \\\n\n                            const oldObserver = window.parent.titleObserver\n                            if (oldObserver) {{\n                            oldObserver.disconnect()\n                            }} \\\n\n                            const newObserver = new MutationObserver(function(mutations) {{\n                            const target = mutations[0].target\n                            if (target.text !== '{title}') {{\n                            target.text = '{title}'\n                            }}\n                            }}) \\\n\n                            newObserver.observe(title, {{ childList: true }})\n                            window.parent.titleObserver = newObserver \\\n\n                            title.text = '{title}'\n                            </script>\" />\n                            \"\"\",\n    )\n\n\ndef make_grid(n_items=5, n_cols=5):\n    # Compute number of rows\n    n_rows = 1 + n_items // int(n_cols)\n\n    # Create rows\n    rows = [st.container() for _ in range(n_rows)]\n\n    # Create columns in each row\n    cols_per_row = [r.columns(n_cols) for r in rows]\n    cols = [column for row in cols_per_row for column in row]\n\n    return cols\n\n\ndef merge(file1, file2, out, weight):\n    if not (file1.endswith(\".ckpt\")):\n        file1 += \".ckpt\"\n    if not (file2.endswith(\".ckpt\")):\n        file2 += \".ckpt\"\n    if not (out.endswith(\".ckpt\")):\n        out += \".ckpt\"\n    try:\n        # Load Models\n        model_0 = torch.load(file1)\n        model_1 = torch.load(file2)\n        theta_0 = model_0[\"state_dict\"]\n        theta_1 = model_1[\"state_dict\"]\n        alpha = (weight) / 100\n        for key in theta_0.keys():\n            if \"model\" in key and key in theta_1:\n                theta_0[key] = (alpha) * theta_0[key] + (1 - alpha) * theta_1[key]\n        logger.info(\"RUNNING...\\n(STAGE 2)\")\n        for key in theta_1.keys():\n            if \"model\" in key and key not in theta_0:\n                theta_0[key] = theta_1[key]\n        torch.save(model_0, out)\n    except:\n        logger.error(\"Error in merging\")\n\n\ndef human_readable_size(size, decimal_places=3):\n    \"\"\"Return a human readable size from bytes.\"\"\"\n    for unit in [\"B\", \"KB\", \"MB\", \"GB\", \"TB\"]:\n        if size < 1024.0:\n            break\n        size /= 1024.0\n    return f\"{size:.{decimal_places}f}{unit}\"\n\n\ndef load_models(\n    use_LDSR=False,\n    LDSR_model=\"model\",\n    use_GFPGAN=False,\n    GFPGAN_model=\"GFPGANv1.4\",\n    use_RealESRGAN=False,\n    RealESRGAN_model=\"RealESRGAN_x4plus\",\n    CustomModel_available=False,\n    custom_model=\"Stable Diffusion v1.5\",\n):\n    \"\"\"Load the different models. We also reuse the models that are already in memory to speed things up instead of loading them again.\"\"\"\n\n    # model_manager.init()\n\n    logger.info(\"Loading models.\")\n\n    if \"progress_bar_text\" in st.session_state:\n        st.session_state[\"progress_bar_text\"].text(\"\")\n\n    # check what models we want to use and if the they are already loaded.\n    with server_state_lock[\"LDSR\"]:\n        if use_LDSR:\n            if \"LDSR\" in server_state and server_state[\"LDSR\"].name == LDSR_model:\n                logger.info(\"LDSR already loaded\")\n            else:\n                if \"LDSR\" in server_state:\n                    del server_state[\"LDSR\"]\n\n                # Load GFPGAN\n                if os.path.exists(st.session_state[\"defaults\"].general.LDSR_dir):\n                    try:\n                        server_state[\"LDSR\"] = load_LDSR(model_name=LDSR_model)\n                        logger.info(\"Loaded LDSR\")\n                    except Exception:\n                        import traceback\n\n                        logger.error(\"Error loading LDSR:\", file=sys.stderr)\n                        logger.error(traceback.format_exc(), file=sys.stderr)\n        else:\n            if \"LDSR\" in server_state and not server_state[\"keep_all_models_loaded\"]:\n                logger.debug(\n                    \"LDSR was in memory but we won't use it. Removing to save VRAM.\"\n                )\n                del server_state[\"LDSR\"]\n\n    with server_state_lock[\"GFPGAN\"]:\n        if use_GFPGAN:\n            if \"GFPGAN\" in server_state and server_state[\"GFPGAN\"].name == GFPGAN_model:\n                logger.info(\"GFPGAN already loaded\")\n            else:\n                if \"GFPGAN\" in server_state:\n                    del server_state[\"GFPGAN\"]\n\n                # Load GFPGAN\n                if os.path.exists(st.session_state[\"defaults\"].general.GFPGAN_dir):\n                    try:\n                        server_state[\"GFPGAN\"] = load_GFPGAN(GFPGAN_model)\n                        logger.info(f\"Loaded GFPGAN: {GFPGAN_model}\")\n                    except Exception:\n                        import traceback\n\n                        logger.error(\"Error loading GFPGAN:\", file=sys.stderr)\n                        logger.error(traceback.format_exc(), file=sys.stderr)\n        else:\n            if \"GFPGAN\" in server_state and not server_state[\"keep_all_models_loaded\"]:\n                del server_state[\"GFPGAN\"]\n\n    with server_state_lock[\"RealESRGAN\"]:\n        if use_RealESRGAN:\n            if (\n                \"RealESRGAN\" in server_state\n                and server_state[\"RealESRGAN\"].model.name == RealESRGAN_model\n            ):\n                logger.info(\"RealESRGAN already loaded\")\n            else:\n                # Load RealESRGAN\n                try:\n                    # We first remove the variable in case it has something there,\n                    # some errors can load the model incorrectly and leave things in memory.\n                    del server_state[\"RealESRGAN\"]\n                except KeyError as e:\n                    logger.error(e)\n                    pass\n\n                if os.path.exists(st.session_state[\"defaults\"].general.RealESRGAN_dir):\n                    # st.session_state is used for keeping the models in memory across multiple pages or runs.\n                    server_state[\"RealESRGAN\"] = load_RealESRGAN(RealESRGAN_model)\n                    logger.info(\n                        \"Loaded RealESRGAN with model \"\n                        + server_state[\"RealESRGAN\"].model.name\n                    )\n\n        else:\n            if (\n                \"RealESRGAN\" in server_state\n                and not server_state[\"keep_all_models_loaded\"]\n            ):\n                del server_state[\"RealESRGAN\"]\n\n    with server_state_lock[\"model\"], server_state_lock[\"modelCS\"], server_state_lock[\n        \"modelFS\"\n    ], server_state_lock[\"loaded_model\"]:\n        if \"model\" in server_state:\n            if \"model\" in server_state and server_state[\"loaded_model\"] == custom_model:\n                # if the float16 or no_half options have changed since the last time the model was loaded then we need to reload the model.\n                if (\n                    (\n                        \"float16\" in server_state\n                        and server_state[\"float16\"]\n                        != st.session_state[\"defaults\"].general.use_float16\n                    )\n                    or (\n                        \"no_half\" in server_state\n                        and server_state[\"no_half\"]\n                        != st.session_state[\"defaults\"].general.no_half\n                    )\n                    or (\n                        \"optimized\" in server_state\n                        and server_state[\"optimized\"]\n                        != st.session_state[\"defaults\"].general.optimized\n                    )\n                ):\n                    logger.info(\n                        \"Model options changed, deleting the model from memory.\"\n                    )\n\n                    del server_state[\"float16\"]\n                    del server_state[\"no_half\"]\n\n                    del server_state[\"model\"]\n                    del server_state[\"modelCS\"]\n                    del server_state[\"modelFS\"]\n                    del server_state[\"loaded_model\"]\n\n                    del server_state[\"optimized\"]\n\n                    server_state[\"float16\"] = st.session_state[\n                        \"defaults\"\n                    ].general.use_float16\n                    server_state[\"no_half\"] = st.session_state[\n                        \"defaults\"\n                    ].general.no_half\n                    server_state[\"optimized\"] = st.session_state[\n                        \"defaults\"\n                    ].general.optimized\n\n                    load_models(\n                        use_LDSR=st.session_state[\"use_LDSR\"],\n                        LDSR_model=st.session_state[\"LDSR_model\"],\n                        use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                        GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                        use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                        RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                        CustomModel_available=server_state[\"CustomModel_available\"],\n                        custom_model=st.session_state[\"custom_model\"],\n                    )\n                else:\n                    logger.info(\"Model already loaded\")\n\n                return\n            else:\n                try:\n                    del server_state[\"model\"]\n                    del server_state[\"modelCS\"]\n                    del server_state[\"modelFS\"]\n                    del server_state[\"loaded_model\"]\n\n                except KeyError as e:\n                    logger.error(e)\n                    pass\n\n        # if the model from txt2vid is in memory we need to remove it to improve performance.\n        with server_state_lock[\"pipe\"]:\n            if \"pipe\" in server_state and not server_state[\"keep_all_models_loaded\"]:\n                del server_state[\"pipe\"]\n\n        if (\n            \"textual_inversion\" in st.session_state\n            and not server_state[\"keep_all_models_loaded\"]\n        ):\n            del st.session_state[\"textual_inversion\"]\n\n        # At this point the model is either\n        # not loaded yet or have been deleted from memory:\n        # load new model into memory\n        server_state[\"custom_model\"] = custom_model\n\n        config, device, model, modelCS, modelFS = load_sd_model(custom_model)\n\n        server_state[\"device\"] = device\n        server_state[\"model\"] = model\n\n        server_state[\"modelCS\"] = modelCS\n        server_state[\"modelFS\"] = modelFS\n        server_state[\"loaded_model\"] = custom_model\n\n        server_state[\"float16\"] = st.session_state[\"defaults\"].general.use_float16\n        server_state[\"no_half\"] = st.session_state[\"defaults\"].general.no_half\n        server_state[\"optimized\"] = st.session_state[\"defaults\"].general.optimized\n\n        # trying to disable multiprocessing as it makes it so streamlit cant stop when the\n        # model is loaded in memory and you need to kill the process sometimes.\n\n        try:\n            server_state[\"model\"].args.use_multiprocessing_for_evaluation = False\n        except AttributeError:\n            pass\n\n        if st.session_state.defaults.general.enable_attention_slicing:\n            server_state[\"model\"].enable_attention_slicing()\n\n        if st.session_state.defaults.general.enable_minimal_memory_usage:\n            server_state[\"model\"].enable_minimal_memory_usage()\n\n        logger.info(\"Model loaded.\")\n\n    return True\n\n\ndef load_model_from_config(config, ckpt, verbose=False):\n    logger.info(f\"Loading model from {ckpt}\")\n\n    try:\n        pl_sd = torch.load(ckpt, map_location=\"cpu\")\n        if \"global_step\" in pl_sd:\n            logger.info(f\"Global Step: {pl_sd['global_step']}\")\n        sd = pl_sd[\"state_dict\"] if \"state_dict\" in pl_sd else pl_sd\n        try:\n            model = instantiate_from_config(config.model, personalization_config=\"\")\n        except TypeError:\n            model = instantiate_from_config(config.model)\n        m, u = model.load_state_dict(sd, strict=False)\n        if len(m) > 0 and verbose:\n            logger.info(\"missing keys:\")\n            logger.info(m)\n        if len(u) > 0 and verbose:\n            logger.info(\"unexpected keys:\")\n            logger.info(u)\n\n        model.cuda()\n        model.eval()\n\n        return model\n\n    except FileNotFoundError:\n        if \"progress_bar_text\" in st.session_state:\n            st.session_state[\"progress_bar_text\"].error(\n                \"You need to download the Stable Diffusion model in order to use the UI. Use the Model Manager page in order to download the model.\"\n            )\n\n        raise FileNotFoundError(\n            \"You need to download the Stable Diffusion model in order to use the UI. Use the Model Manager page in order to download the model.\"\n        )\n\n\ndef load_sd_from_config(ckpt, verbose=False):\n    logger.info(f\"Loading model from {ckpt}\")\n    pl_sd = torch.load(ckpt, map_location=\"cpu\")\n    if \"global_step\" in pl_sd:\n        logger.info(f\"Global Step: {pl_sd['global_step']}\")\n    sd = pl_sd[\"state_dict\"]\n    return sd\n\n\nclass MemUsageMonitor(threading.Thread):\n    stop_flag = False\n    max_usage = 0\n    total = -1\n\n    def __init__(self, name):\n        threading.Thread.__init__(self)\n        self.name = name\n\n    def run(self):\n        try:\n            pynvml.nvmlInit()\n        except:\n            logger.debug(\n                f\"[{self.name}] Unable to initialize NVIDIA management. No memory stats. \\n\"\n            )\n            return\n        logger.info(f\"[{self.name}] Recording memory usage...\\n\")\n        # Missing context\n        # handle = pynvml.nvmlDeviceGetHandleByIndex(st.session_state['defaults'].general.gpu)\n        handle = pynvml.nvmlDeviceGetHandleByIndex(0)\n        self.total = pynvml.nvmlDeviceGetMemoryInfo(handle).total\n        while not self.stop_flag:\n            m = pynvml.nvmlDeviceGetMemoryInfo(handle)\n            self.max_usage = max(self.max_usage, m.used)\n            # logger.info(self.max_usage)\n            time.sleep(0.1)\n        logger.info(f\"[{self.name}] Stopped recording.\\n\")\n        pynvml.nvmlShutdown()\n\n    def read(self):\n        return self.max_usage, self.total\n\n    def stop(self):\n        self.stop_flag = True\n\n    def read_and_stop(self):\n        self.stop_flag = True\n        return self.max_usage, self.total\n\n\nclass CFGMaskedDenoiser(nn.Module):\n    def __init__(self, model):\n        super().__init__()\n        self.inner_model = model\n\n    def forward(self, x, sigma, uncond, cond, cond_scale, mask, x0, xi):\n        x_in = x\n        x_in = torch.cat([x_in] * 2)\n        sigma_in = torch.cat([sigma] * 2)\n        cond_in = torch.cat([uncond, cond])\n        uncond, cond = self.inner_model(x_in, sigma_in, cond=cond_in).chunk(2)\n        denoised = uncond + (cond - uncond) * cond_scale\n\n        if mask is not None:\n            assert x0 is not None\n            img_orig = x0\n            mask_inv = 1.0 - mask\n            denoised = (img_orig * mask_inv) + (mask * denoised)\n\n        return denoised\n\n\nclass CFGDenoiser(nn.Module):\n    def __init__(self, model):\n        super().__init__()\n        self.inner_model = model\n\n    def forward(self, x, sigma, uncond, cond, cond_scale):\n        x_in = torch.cat([x] * 2)\n        sigma_in = torch.cat([sigma] * 2)\n        cond_in = torch.cat([uncond, cond])\n        uncond, cond = self.inner_model(x_in, sigma_in, cond=cond_in).chunk(2)\n        return uncond + (cond - uncond) * cond_scale\n\n\ndef append_zero(x):\n    return torch.cat([x, x.new_zeros([1])])\n\n\ndef append_dims(x, target_dims):\n    \"\"\"Appends dimensions to the end of a tensor until it has target_dims dimensions.\"\"\"\n    dims_to_append = target_dims - x.ndim\n    if dims_to_append < 0:\n        raise ValueError(\n            f\"input has {x.ndim} dims but target_dims is {target_dims}, which is less\"\n        )\n    return x[(...,) + (None,) * dims_to_append]\n\n\ndef get_sigmas_karras(n, sigma_min, sigma_max, rho=7.0, device=\"cpu\"):\n    \"\"\"Constructs the noise schedule of Karras et al. (2022).\"\"\"\n    ramp = torch.linspace(0, 1, n)\n    min_inv_rho = sigma_min ** (1 / rho)\n    max_inv_rho = sigma_max ** (1 / rho)\n    sigmas = (max_inv_rho + ramp * (min_inv_rho - max_inv_rho)) ** rho\n    return append_zero(sigmas).to(device)\n\n\n#\n# helper fft routines that keep ortho normalization and auto-shift before and after fft\ndef _fft2(data):\n    if data.ndim > 2:  # has channels\n        out_fft = np.zeros(\n            (data.shape[0], data.shape[1], data.shape[2]), dtype=np.complex128\n        )\n        for c in range(data.shape[2]):\n            c_data = data[:, :, c]\n            out_fft[:, :, c] = np.fft.fft2(np.fft.fftshift(c_data), norm=\"ortho\")\n            out_fft[:, :, c] = np.fft.ifftshift(out_fft[:, :, c])\n    else:  # one channel\n        out_fft = np.zeros((data.shape[0], data.shape[1]), dtype=np.complex128)\n        out_fft[:, :] = np.fft.fft2(np.fft.fftshift(data), norm=\"ortho\")\n        out_fft[:, :] = np.fft.ifftshift(out_fft[:, :])\n\n    return out_fft\n\n\ndef _ifft2(data):\n    if data.ndim > 2:  # has channels\n        out_ifft = np.zeros(\n            (data.shape[0], data.shape[1], data.shape[2]), dtype=np.complex128\n        )\n        for c in range(data.shape[2]):\n            c_data = data[:, :, c]\n            out_ifft[:, :, c] = np.fft.ifft2(np.fft.fftshift(c_data), norm=\"ortho\")\n            out_ifft[:, :, c] = np.fft.ifftshift(out_ifft[:, :, c])\n    else:  # one channel\n        out_ifft = np.zeros((data.shape[0], data.shape[1]), dtype=np.complex128)\n        out_ifft[:, :] = np.fft.ifft2(np.fft.fftshift(data), norm=\"ortho\")\n        out_ifft[:, :] = np.fft.ifftshift(out_ifft[:, :])\n\n    return out_ifft\n\n\ndef _get_gaussian_window(width, height, std=3.14, mode=0):\n    window_scale_x = float(width / min(width, height))\n    window_scale_y = float(height / min(width, height))\n\n    window = np.zeros((width, height))\n    x = (np.arange(width) / width * 2.0 - 1.0) * window_scale_x\n    for y in range(height):\n        fy = (y / height * 2.0 - 1.0) * window_scale_y\n        if mode == 0:\n            window[:, y] = np.exp(-(x**2 + fy**2) * std)\n        else:\n            window[:, y] = (1 / ((x**2 + 1.0) * (fy**2 + 1.0))) ** (\n                std / 3.14\n            )  # hey wait a minute that's not gaussian\n\n    return window\n\n\ndef _get_masked_window_rgb(np_mask_grey, hardness=1.0):\n    np_mask_rgb = np.zeros((np_mask_grey.shape[0], np_mask_grey.shape[1], 3))\n    if hardness != 1.0:\n        hardened = np_mask_grey[:] ** hardness\n    else:\n        hardened = np_mask_grey[:]\n    for c in range(3):\n        np_mask_rgb[:, :, c] = hardened[:]\n    return np_mask_rgb\n\n\ndef get_matched_noise(_np_src_image, np_mask_rgb, noise_q, color_variation):\n    \"\"\"\n    Explanation:\n    Getting good results in/out-painting with stable diffusion can be challenging.\n    Although there are simpler effective solutions for in-painting, out-painting can be especially challenging because there is no color data\n    in the masked area to help prompt the generator. Ideally, even for in-painting we'd like work effectively without that data as well.\n    Provided here is my take on a potential solution to this problem.\n\n    By taking a fourier transform of the masked src img we get a function that tells us the presence and orientation of each feature scale in the unmasked src.\n    Shaping the init/seed noise for in/outpainting to the same distribution of feature scales, orientations, and positions increases output coherence\n    by helping keep features aligned. This technique is applicable to any continuous generation task such as audio or video, each of which can\n    be conceptualized as a series of out-painting steps where the last half of the input \"frame\" is erased. For multi-channel data such as color\n    or stereo sound the \"color tone\" or histogram of the seed noise can be matched to improve quality (using scikit-image currently)\n    This method is quite robust and has the added benefit of being fast independently of the size of the out-painted area.\n    The effects of this method include things like helping the generator integrate the pre-existing view distance and camera angle.\n\n    Carefully managing color and brightness with histogram matching is also essential to achieving good coherence.\n\n    noise_q controls the exponent in the fall-off of the distribution can be any positive number, lower values means higher detail (range > 0, default 1.)\n    color_variation controls how much freedom is allowed for the colors/palette of the out-painted area (range 0..1, default 0.01)\n    This code is provided as is under the Unlicense (https://unlicense.org/)\n    Although you have no obligation to do so, if you found this code helpful please find it in your heart to credit me [parlance-zz].\n\n    Questions or comments can be sent to parlance@fifth-harmonic.com (https://github.com/parlance-zz/)\n    This code is part of a new branch of a discord bot I am working on integrating with diffusers (https://github.com/parlance-zz/g-diffuser-bot)\n\n    \"\"\"\n\n    global DEBUG_MODE\n    global TMP_ROOT_PATH\n\n    width = _np_src_image.shape[0]\n    height = _np_src_image.shape[1]\n    num_channels = _np_src_image.shape[2]\n\n    np_src_image = _np_src_image[:] * (1.0 - np_mask_rgb)\n    np_mask_grey = np.sum(np_mask_rgb, axis=2) / 3.0\n    (np.sum(np_src_image, axis=2) / 3.0)\n    np.ones((width, height), dtype=bool)\n    img_mask = np_mask_grey > 1e-6\n    ref_mask = np_mask_grey < 1e-3\n\n    windowed_image = _np_src_image * (1.0 - _get_masked_window_rgb(np_mask_grey))\n    windowed_image /= np.max(windowed_image)\n    windowed_image += (\n        np.average(_np_src_image) * np_mask_rgb\n    )  # / (1.-np.average(np_mask_rgb))  # rather than leave the masked area black, we get better results from fft by filling the average unmasked color\n    # windowed_image += np.average(_np_src_image) * (np_mask_rgb * (1.- np_mask_rgb)) / (1.-np.average(np_mask_rgb)) # compensate for darkening across the mask transition area\n    # _save_debug_img(windowed_image, \"windowed_src_img\")\n\n    src_fft = _fft2(windowed_image)  # get feature statistics from masked src img\n    src_dist = np.absolute(src_fft)\n    src_phase = src_fft / src_dist\n    # _save_debug_img(src_dist, \"windowed_src_dist\")\n\n    noise_window = _get_gaussian_window(\n        width, height, mode=1\n    )  # start with simple gaussian noise\n    noise_rgb = np.random.random_sample((width, height, num_channels))\n    noise_grey = np.sum(noise_rgb, axis=2) / 3.0\n    noise_rgb *= color_variation  # the colorfulness of the starting noise is blended to greyscale with a parameter\n    for c in range(num_channels):\n        noise_rgb[:, :, c] += (1.0 - color_variation) * noise_grey\n\n    noise_fft = _fft2(noise_rgb)\n    for c in range(num_channels):\n        noise_fft[:, :, c] *= noise_window\n    noise_rgb = np.real(_ifft2(noise_fft))\n    shaped_noise_fft = _fft2(noise_rgb)\n    shaped_noise_fft[:, :, :] = (\n        np.absolute(shaped_noise_fft[:, :, :]) ** 2 * (src_dist**noise_q) * src_phase\n    )  # perform the actual shaping\n\n    brightness_variation = 0.0  # color_variation # todo: temporarily tieing brightness variation to color variation for now\n    contrast_adjusted_np_src = (\n        _np_src_image[:] * (brightness_variation + 1.0) - brightness_variation * 2.0\n    )\n\n    # scikit-image is used for histogram matching, very convenient!\n    shaped_noise = np.real(_ifft2(shaped_noise_fft))\n    shaped_noise -= np.min(shaped_noise)\n    shaped_noise /= np.max(shaped_noise)\n    shaped_noise[img_mask, :] = skimage.exposure.match_histograms(\n        shaped_noise[img_mask, :] ** 1.0,\n        contrast_adjusted_np_src[ref_mask, :],\n        channel_axis=1,\n    )\n    shaped_noise = _np_src_image[:] * (1.0 - np_mask_rgb) + shaped_noise * np_mask_rgb\n    # _save_debug_img(shaped_noise, \"shaped_noise\")\n\n    matched_noise = np.zeros((width, height, num_channels))\n    matched_noise = shaped_noise[:]\n    # matched_noise[all_mask,:] = skimage.exposure.match_histograms(shaped_noise[all_mask,:], _np_src_image[ref_mask,:], channel_axis=1)\n    # matched_noise = _np_src_image[:] * (1. - np_mask_rgb) + matched_noise * np_mask_rgb\n\n    # _save_debug_img(matched_noise, \"matched_noise\")\n\n    \"\"\"\n    todo:\n    color_variation doesnt have to be a single number, the overall color tone of the out-painted area could be param controlled\n    \"\"\"\n\n    return np.clip(matched_noise, 0.0, 1.0)\n\n\n#\ndef find_noise_for_image(\n    model,\n    device,\n    init_image,\n    prompt,\n    steps=200,\n    cond_scale=2.0,\n    verbose=False,\n    normalize=False,\n    generation_callback=None,\n):\n    image = np.array(init_image).astype(np.float32) / 255.0\n    image = image[None].transpose(0, 3, 1, 2)\n    image = torch.from_numpy(image)\n    image = 2.0 * image - 1.0\n    image = image.to(device)\n    x = model.get_first_stage_encoding(model.encode_first_stage(image))\n\n    uncond = model.get_learned_conditioning([\"\"])\n    cond = model.get_learned_conditioning([prompt])\n\n    s_in = x.new_ones([x.shape[0]])\n    dnw = K.external.CompVisDenoiser(model)\n    sigmas = dnw.get_sigmas(steps).flip(0)\n\n    if verbose:\n        logger.info(sigmas)\n\n    for i in trange(1, len(sigmas)):\n        x_in = torch.cat([x] * 2)\n        sigma_in = torch.cat([sigmas[i - 1] * s_in] * 2)\n        cond_in = torch.cat([uncond, cond])\n\n        c_out, c_in = [\n            K.utils.append_dims(k, x_in.ndim) for k in dnw.get_scalings(sigma_in)\n        ]\n\n        if i == 1:\n            t = dnw.sigma_to_t(torch.cat([sigmas[i] * s_in] * 2))\n        else:\n            t = dnw.sigma_to_t(sigma_in)\n\n        eps = model.apply_model(x_in * c_in, t, cond=cond_in)\n        denoised_uncond, denoised_cond = (x_in + eps * c_out).chunk(2)\n\n        denoised = denoised_uncond + (denoised_cond - denoised_uncond) * cond_scale\n\n        if i == 1:\n            d = (x - denoised) / (2 * sigmas[i])\n        else:\n            d = (x - denoised) / sigmas[i - 1]\n\n        if generation_callback is not None:\n            generation_callback(x, i)\n\n        dt = sigmas[i] - sigmas[i - 1]\n        x = x + d * dt\n\n    return x / sigmas[-1]\n\n\n#\ndef folder_picker(\n    label=\"Select:\",\n    value=\"\",\n    help=\"\",\n    folder_button_label=\"Select\",\n    folder_button_help=\"\",\n    folder_button_key=\"\",\n):\n    \"\"\"A folder picker that has a text_input field next to it and a button to select the folder.\n    Returns the text_input field with the folder path.\"\"\"\n    import tkinter as tk\n    from tkinter import filedialog\n\n    # Set up tkinter\n    root = tk.Tk()\n    root.withdraw()\n\n    # Make folder picker dialog appear on top of other windows\n    root.wm_attributes(\"-topmost\", 1)\n\n    col1, col2 = st.columns([2, 1], gap=\"small\")\n\n    with col1:\n        dirname = st.empty()\n    with col2:\n        st.write(\"\")\n        st.write(\"\")\n        folder_picker = st.empty()\n\n    # Folder picker button\n    # st.title('Folder Picker')\n    # st.write('Please select a folder:')\n\n    # Create a label and add a random number of invisible characters\n    # to it so no two buttons inside a form are the same.\n    # folder_button_label = ''.join(random.choice(f\"{folder_button_label}\") for _ in range(5))\n    folder_button_label = f\"{str(folder_button_label)}{'‎' * random.randint(1, 500)}\"\n    clicked = folder_button_key + \"‎\" * random.randint(5, 500)\n\n    # try:\n    # clicked = folder_picker.button(folder_button_label, help=folder_button_help, key=folder_button_key)\n    # except StreamlitAPIException:\n    clicked = folder_picker.form_submit_button(\n        folder_button_label, help=folder_button_help\n    )\n\n    if clicked:\n        dirname = dirname.text_input(\n            label, filedialog.askdirectory(master=root), help=help\n        )\n    else:\n        dirname = dirname.text_input(label, value, help=help)\n\n    return dirname\n\n\ndef get_sigmas_exponential(n, sigma_min, sigma_max, device=\"cpu\"):\n    \"\"\"Constructs an exponential noise schedule.\"\"\"\n    sigmas = torch.linspace(\n        math.log(sigma_max), math.log(sigma_min), n, device=device\n    ).exp()\n    return append_zero(sigmas)\n\n\ndef get_sigmas_vp(n, beta_d=19.9, beta_min=0.1, eps_s=1e-3, device=\"cpu\"):\n    \"\"\"Constructs a continuous VP noise schedule.\"\"\"\n    t = torch.linspace(1, eps_s, n, device=device)\n    sigmas = torch.sqrt(torch.exp(beta_d * t**2 / 2 + beta_min * t) - 1)\n    return append_zero(sigmas)\n\n\ndef to_d(x, sigma, denoised):\n    \"\"\"Converts a denoiser output to a Karras ODE derivative.\"\"\"\n    return (x - denoised) / append_dims(sigma, x.ndim)\n\n\ndef linear_multistep_coeff(order, t, i, j):\n    if order - 1 > i:\n        raise ValueError(f\"Order {order} too high for step {i}\")\n\n    def fn(tau):\n        prod = 1.0\n        for k in range(order):\n            if j == k:\n                continue\n            prod *= (tau - t[i - k]) / (t[i - j] - t[i - k])\n        return prod\n\n    return integrate.quad(fn, t[i], t[i + 1], epsrel=1e-4)[0]\n\n\nclass KDiffusionSampler:\n    def __init__(self, m, sampler):\n        self.model = m\n        self.model_wrap = K.external.CompVisDenoiser(m)\n        self.schedule = sampler\n\n    def get_sampler_name(self):\n        return self.schedule\n\n    def sample(\n        self,\n        S,\n        conditioning,\n        batch_size,\n        shape,\n        verbose,\n        unconditional_guidance_scale,\n        unconditional_conditioning,\n        eta,\n        x_T,\n        img_callback=None,\n        log_every_t=None,\n    ):\n        sigmas = self.model_wrap.get_sigmas(S)\n        x = x_T * sigmas[0]\n        model_wrap_cfg = CFGDenoiser(self.model_wrap)\n        samples_ddim = None\n        samples_ddim = K.sampling.__dict__[f\"sample_{self.schedule}\"](\n            model_wrap_cfg,\n            x,\n            sigmas,\n            extra_args={\n                \"cond\": conditioning,\n                \"uncond\": unconditional_conditioning,\n                \"cond_scale\": unconditional_guidance_scale,\n            },\n            disable=False,\n            callback=generation_callback,\n        )\n        #\n        return samples_ddim, None\n\n\n#\n# create class LDSR\nclass LDSR:\n    # init function\n    def __init__(self, modelPath, yamlPath):\n        self.modelPath = modelPath\n        self.yamlPath = yamlPath\n        # self.model = self.load_model_from_config()\n        # print(self.load_model_from_config(OmegaConf.load(yamlPath), modelPath))\n        # self.print_current_directory()\n\n    # get currennt directory\n\n    \"\"\"\n    def check_model_exists(self):\n        #check if model and yaml exist\n        path = self.pathInput + \"/models/ldm/ld_sr\".replace('\\\\',os.sep).replace('/',os.sep)\n        model = self.modelName\n        yaml = self.yamlName\n        if os.path.exists(path):\n            #check if yaml exists\n            if os.path.exists(os.path.join(path,yaml)):\n                print('YAML found')\n                #check if ckpt exists\n                if os.path.exists(os.path.join(path,model)):\n                    print('Model found')\n                    return os.path.join(path,model), os.path.join(path,yaml)\n                else:\n                    return False\n        #return onlyfiles\n    \"\"\"\n\n    def load_model_from_config(self):\n        # print(f\"Loading model from {self.modelPath}\")\n        pl_sd = torch.load(self.modelPath, map_location=\"cpu\")\n        pl_sd[\"global_step\"]\n        sd = pl_sd[\"state_dict\"]\n        config = OmegaConf.load(self.yamlPath)\n        model = instantiate_from_config(config.model, personalization_config=\"\")\n        m, u = model.load_state_dict(sd, strict=False)\n        model.cuda()\n        model.eval()\n        return {\"model\": model}  # , global_step\n\n    \"\"\"\n    def get_model(self):\n        check = self.check_model_exists()\n        if check != False:\n            path_ckpt = check[0]\n            path_conf = check[1]\n        else:\n            print('Model not found, please run the bat file to download the model')\n        config = OmegaConf.load(path_conf)\n        model, step = self.load_model_from_config(config, path_ckpt)\n        return model\n\n\n    def get_custom_cond(mode):\n        dest = \"data/example_conditioning\"\n\n        if mode == \"superresolution\":\n            uploaded_img = files.upload()\n            filename = next(iter(uploaded_img))\n            name, filetype = filename.split(\".\") # todo assumes just one dot in name !\n            os.rename(f\"{filename}\", f\"{dest}/{mode}/custom_{name}.{filetype}\")\n\n        elif mode == \"text_conditional\":\n            #w = widgets.Text(value='A cake with cream!', disabled=True)\n            w = 'Empty Test'\n            display.display(w)\n\n            with open(f\"{dest}/{mode}/custom_{w.value[:20]}.txt\", 'w') as f:\n                f.write(w.value)\n\n        elif mode == \"class_conditional\":\n            #w = widgets.IntSlider(min=0, max=1000)\n            w = 1000\n            display.display(w)\n            with open(f\"{dest}/{mode}/custom.txt\", 'w') as f:\n                f.write(w.value)\n\n        else:\n            raise NotImplementedError(f\"cond not implemented for mode{mode}\")\n    \"\"\"\n\n    def get_cond_options(self, mode):\n        path = \"data/example_conditioning\"\n        path = os.path.join(path, mode)\n        onlyfiles = [f for f in sorted(os.listdir(path))]\n        return path, onlyfiles\n\n    \"\"\"\n    def select_cond_path(mode):\n        path = \"data/example_conditioning\"  # todo\n        path = os.path.join(path, mode)\n        onlyfiles = [f for f in sorted(os.listdir(path))]\n\n        selected = widgets.RadioButtons(\n            options=onlyfiles,\n            description='Select conditioning:',\n            disabled=False\n        )\n        display.display(selected)\n        selected_path = os.path.join(path, selected.value)\n        return selected_path\n    \"\"\"\n\n    \"\"\"\n    # Google Collab stuff\n    def visualize_cond_img(path):\n        display.display(ipyimg(filename=path))\n    \"\"\"\n\n    def run(\n        self,\n        model,\n        selected_path,\n        task,\n        custom_steps,\n        eta,\n        resize_enabled=False,\n        classifier_ckpt=None,\n        global_step=None,\n    ):\n        def make_convolutional_sample(\n            batch,\n            model,\n            mode=\"vanilla\",\n            custom_steps=None,\n            eta=1.0,\n            swap_mode=False,\n            masked=False,\n            invert_mask=True,\n            quantize_x0=False,\n            custom_schedule=None,\n            decode_interval=1000,\n            resize_enabled=False,\n            custom_shape=None,\n            temperature=1.0,\n            noise_dropout=0.0,\n            corrector=None,\n            corrector_kwargs=None,\n            x_T=None,\n            save_intermediate_vid=False,\n            make_progrow=True,\n            ddim_use_x0_pred=False,\n        ):\n            log = dict()\n\n            z, c, x, xrec, xc = model.get_input(\n                batch,\n                model.first_stage_key,\n                return_first_stage_outputs=True,\n                force_c_encode=not (\n                    hasattr(model, \"split_input_params\")\n                    and model.cond_stage_key == \"coordinates_bbox\"\n                ),\n                return_original_cond=True,\n            )\n\n            log_every_t = 1 if save_intermediate_vid else None\n\n            if custom_shape is not None:\n                z = torch.randn(custom_shape)\n                # print(f\"Generating {custom_shape[0]} samples of shape {custom_shape[1:]}\")\n\n            z0 = None\n\n            log[\"input\"] = x\n            log[\"reconstruction\"] = xrec\n\n            if ismap(xc):\n                log[\"original_conditioning\"] = model.to_rgb(xc)\n                if hasattr(model, \"cond_stage_key\"):\n                    log[model.cond_stage_key] = model.to_rgb(xc)\n\n            else:\n                log[\"original_conditioning\"] = (\n                    xc if xc is not None else torch.zeros_like(x)\n                )\n                if model.cond_stage_model:\n                    log[model.cond_stage_key] = (\n                        xc if xc is not None else torch.zeros_like(x)\n                    )\n                    if model.cond_stage_key == \"class_label\":\n                        log[model.cond_stage_key] = xc[model.cond_stage_key]\n\n            with model.ema_scope(\"Plotting\"):\n                t0 = time.time()\n                img_cb = None\n\n                sample, intermediates = convsample_ddim(\n                    model,\n                    c,\n                    steps=custom_steps,\n                    shape=z.shape,\n                    eta=eta,\n                    quantize_x0=quantize_x0,\n                    img_callback=img_cb,\n                    mask=None,\n                    x0=z0,\n                    temperature=temperature,\n                    noise_dropout=noise_dropout,\n                    score_corrector=corrector,\n                    corrector_kwargs=corrector_kwargs,\n                    x_T=x_T,\n                    log_every_t=log_every_t,\n                )\n                t1 = time.time()\n\n                if ddim_use_x0_pred:\n                    sample = intermediates[\"pred_x0\"][-1]\n\n            x_sample = model.decode_first_stage(sample)\n\n            try:\n                x_sample_noquant = model.decode_first_stage(\n                    sample, force_not_quantize=True\n                )\n                log[\"sample_noquant\"] = x_sample_noquant\n                log[\"sample_diff\"] = torch.abs(x_sample_noquant - x_sample)\n            except:\n                logger.error(\"Error with LDSR\")\n                pass\n\n            log[\"sample\"] = x_sample\n            log[\"time\"] = t1 - t0\n\n            return log\n\n        def convsample_ddim(\n            model,\n            cond,\n            steps,\n            shape,\n            eta=1.0,\n            callback=None,\n            normals_sequence=None,\n            mask=None,\n            x0=None,\n            quantize_x0=False,\n            img_callback=None,\n            temperature=1.0,\n            noise_dropout=0.0,\n            score_corrector=None,\n            corrector_kwargs=None,\n            x_T=None,\n            log_every_t=None,\n        ):\n            ddim = DDIMSampler(model)\n            bs = shape[0]  # dont know where this comes from but wayne\n            shape = shape[1:]  # cut batch dim\n            logger.info(f\"Sampling with eta = {eta}; steps: {steps}\")\n            samples, intermediates = ddim.sample(\n                steps,\n                batch_size=bs,\n                shape=shape,\n                conditioning=cond,\n                callback=callback,\n                normals_sequence=normals_sequence,\n                quantize_x0=quantize_x0,\n                eta=eta,\n                mask=mask,\n                x0=x0,\n                temperature=temperature,\n                verbose=False,\n                score_corrector=score_corrector,\n                corrector_kwargs=corrector_kwargs,\n                x_T=x_T,\n            )\n\n            return samples, intermediates\n\n        # global stride\n        def get_cond(mode, selected_path):\n            example = dict()\n            if mode == \"superresolution\":\n                up_f = 4\n                # visualize_cond_img(selected_path)\n\n                c = selected_path.convert(\"RGB\")\n                c = torch.unsqueeze(torchvision.transforms.ToTensor()(c), 0)\n                c_up = torchvision.transforms.functional.resize(\n                    c, size=[up_f * c.shape[2], up_f * c.shape[3]], antialias=True\n                )\n                c_up = rearrange(c_up, \"1 c h w -> 1 h w c\")\n                c = rearrange(c, \"1 c h w -> 1 h w c\")\n                c = 2.0 * c - 1.0\n\n                c = c.to(torch.device(\"cuda\"))\n                example[\"LR_image\"] = c\n                example[\"image\"] = c_up\n\n            return example\n\n        example = get_cond(task, selected_path)\n\n        save_intermediate_vid = False\n        n_runs = 1\n        masked = False\n        guider = None\n        ckwargs = None\n        mode = \"ddim\"\n        ddim_use_x0_pred = False\n        temperature = 1.0\n        eta = eta\n        make_progrow = True\n        custom_shape = None\n\n        height, width = example[\"image\"].shape[1:3]\n        split_input = height >= 128 and width >= 128\n\n        if split_input:\n            ks = 128\n            stride = 64\n            vqf = 4  #\n            model.split_input_params = {\n                \"ks\": (ks, ks),\n                \"stride\": (stride, stride),\n                \"vqf\": vqf,\n                \"patch_distributed_vq\": True,\n                \"tie_braker\": False,\n                \"clip_max_weight\": 0.5,\n                \"clip_min_weight\": 0.01,\n                \"clip_max_tie_weight\": 0.5,\n                \"clip_min_tie_weight\": 0.01,\n            }\n        else:\n            if hasattr(model, \"split_input_params\"):\n                delattr(model, \"split_input_params\")\n\n        invert_mask = False\n\n        x_T = None\n        for n in range(n_runs):\n            if custom_shape is not None:\n                x_T = torch.randn(\n                    1, custom_shape[1], custom_shape[2], custom_shape[3]\n                ).to(model.device)\n                x_T = repeat(x_T, \"1 c h w -> b c h w\", b=custom_shape[0])\n\n            logs = make_convolutional_sample(\n                example,\n                model,\n                mode=mode,\n                custom_steps=custom_steps,\n                eta=eta,\n                swap_mode=False,\n                masked=masked,\n                invert_mask=invert_mask,\n                quantize_x0=False,\n                custom_schedule=None,\n                decode_interval=10,\n                resize_enabled=resize_enabled,\n                custom_shape=custom_shape,\n                temperature=temperature,\n                noise_dropout=0.0,\n                corrector=guider,\n                corrector_kwargs=ckwargs,\n                x_T=x_T,\n                save_intermediate_vid=save_intermediate_vid,\n                make_progrow=make_progrow,\n                ddim_use_x0_pred=ddim_use_x0_pred,\n            )\n        return logs\n\n    @torch.no_grad()\n    @torch.no_grad()\n    def superResolution(\n        self,\n        image,\n        ddimSteps=100,\n        preDownScale=1,\n        postDownScale=1,\n        downsample_method=\"Lanczos\",\n    ):\n        \"\"\"\n        #Run settings\n\n        diffusion_steps = int(ddimSteps) #@param [25, 50, 100, 250, 500, 1000]\n        eta = 1.0 #@param  {type: 'raw'}\n        stride = 0 #not working atm\n\n        # ####Scaling options:\n        # Downsampling to 256px first will often improve the final image and runs faster.\n\n        # You can improve sharpness without upscaling by upscaling and then downsampling to the original size (i.e. Super Resolution)\n        preDownScale: Values ['None', '2', '4']\n\n        postDownScale: Values ['None', 'Original Size', '2', '4']\n\n        # Nearest gives sharper results, but may look more pixellated. Lancoz is much higher quality, but result may be less crisp.\n        downsample_method = 'Lanczos' #@param ['Nearest', 'Lanczos']\n        \"\"\"\n\n        diffMode = \"superresolution\"\n        model = self.load_model_from_config()\n\n        # Run settings\n\n        diffusion_steps = int(ddimSteps)  # @param [25, 50, 100, 250, 500, 1000]\n        eta = 1.0  # @param  {type: 'raw'}\n\n        # ####Scaling options:\n        # Downsampling to 256px first will often improve the final image and runs faster.\n\n        # You can improve sharpness without upscaling by upscaling and then downsampling to the original size (i.e. Super Resolution)\n\n        post_downsample = postDownScale  # @param ['None', 'Original Size', '2', '4']\n\n        # Nearest gives sharper results, but may look more pixellated. Lancoz is much higher quality, but result may be less crisp.\n        # downsample_method = 'Lanczos' #@param ['Nearest', 'Lanczos']\n\n        gc.collect()\n        torch.cuda.empty_cache()\n\n        im_og = image\n        width_og, height_og = im_og.size\n\n        # Downsample Pre\n\n        downsample_rate = preDownScale\n\n        # get system temp directory\n        width_downsampled_pre = width_og // downsample_rate\n        height_downsampled_pre = height_og // downsample_rate\n        if downsample_rate != 1:\n            logger.info(\n                f\"Downsampling from [{width_og}, {height_og}] to [{width_downsampled_pre}, {height_downsampled_pre}]\"\n            )\n            im_og = im_og.resize(\n                (width_downsampled_pre, height_downsampled_pre), Image.LANCZOS\n            )\n\n        logs = self.run(model[\"model\"], im_og, diffMode, diffusion_steps, eta)\n\n        sample = logs[\"sample\"]\n        sample = sample.detach().cpu()\n        sample = torch.clamp(sample, -1.0, 1.0)\n        sample = (sample + 1.0) / 2.0 * 255\n        sample = sample.numpy().astype(np.uint8)\n        sample = np.transpose(sample, (0, 2, 3, 1))\n\n        a = Image.fromarray(sample[0])\n\n        # Downsample Post\n        downsample_rate = postDownScale\n\n        width, height = a.size\n        width_downsampled_post = width // downsample_rate\n        height_downsampled_post = height // downsample_rate\n\n        if downsample_method == \"Lanczos\":\n            aliasing = Image.LANCZOS\n        else:\n            aliasing = Image.NEAREST\n\n        if downsample_rate != 1:\n            logger.info(\n                f\"Downsampling from [{width}, {height}] to [{width_downsampled_post}, {height_downsampled_post}]\"\n            )\n            a = a.resize((width_downsampled_post, height_downsampled_post), aliasing)\n        elif post_downsample == \"Original Size\":\n            logger.info(\n                f\"Downsampling from [{width}, {height}] to Original Size [{width_og}, {height_og}]\"\n            )\n            a = a.resize((width_og, height_og), aliasing)\n\n        del model\n        gc.collect()\n        torch.cuda.empty_cache()\n\n        logger.info(\"Processing finished!\")\n        return a\n\n\n@torch.no_grad()\ndef log_likelihood(\n    model, x, sigma_min, sigma_max, extra_args=None, atol=1e-4, rtol=1e-4\n):\n    extra_args = {} if extra_args is None else extra_args\n    s_in = x.new_ones([x.shape[0]])\n    v = torch.randint_like(x, 2) * 2 - 1\n    fevals = 0\n\n    def ode_fn(sigma, x):\n        nonlocal fevals\n        with torch.enable_grad():\n            x = x[0].detach().requires_grad_()\n            denoised = model(x, sigma * s_in, **extra_args)\n            d = to_d(x, sigma, denoised)\n            fevals += 1\n            grad = torch.autograd.grad((d * v).sum(), x)[0]\n            d_ll = (v * grad).flatten(1).sum(1)\n        return d.detach(), d_ll\n\n    x_min = x, x.new_zeros([x.shape[0]])\n    t = x.new_tensor([sigma_min, sigma_max])\n    sol = odeint(ode_fn, x_min, t, atol=atol, rtol=rtol, method=\"dopri5\")\n    latent, delta_ll = sol[0][-1], sol[1][-1]\n    ll_prior = (\n        torch.distributions.Normal(0, sigma_max).log_prob(latent).flatten(1).sum(1)\n    )\n    return ll_prior + delta_ll, {\"fevals\": fevals}\n\n\ndef create_random_tensors(shape, seeds):\n    xs = []\n    for seed in seeds:\n        torch.manual_seed(seed)\n\n        # randn results depend on device; gpu and cpu get different results for same seed;\n        # the way I see it, it's better to do this on CPU, so that everyone gets same result;\n        # but the original script had it like this so i do not dare change it for now because\n        # it will break everyone's seeds.\n        xs.append(torch.randn(shape, device=st.session_state[\"defaults\"].general.gpu))\n    x = torch.stack(xs)\n    return x\n\n\ndef torch_gc():\n    torch.cuda.empty_cache()\n    torch.cuda.ipc_collect()\n\n\n@retry(tries=5)\n# @st.experimental_memo(persist=\"disk\", show_spinner=False)\ndef load_GFPGAN(model_name=\"GFPGANv1.4\"):\n    # model_name = 'GFPGANv1.3'\n\n    model_path = os.path.join(\n        st.session_state[\"defaults\"].general.GFPGAN_dir, model_name + \".pth\"\n    )\n\n    # if not os.path.isfile(model_path):\n    # model_path = os.path.join(st.session_state['defaults'].general.GFPGAN_dir, model_name + '.pth')\n\n    if not os.path.isfile(model_path):\n        raise Exception(\"GFPGAN model not found at path \" + model_path)\n\n    sys.path.append(os.path.abspath(st.session_state[\"defaults\"].general.GFPGAN_dir))\n    from gfpgan import GFPGANer\n\n    with server_state_lock[\"GFPGAN\"]:\n        if (\n            st.session_state[\"defaults\"].general.gfpgan_cpu\n            or st.session_state[\"defaults\"].general.extra_models_cpu\n        ):\n            server_state[\"GFPGAN\"] = GFPGANer(\n                model_path=model_path,\n                upscale=1,\n                arch=\"clean\",\n                channel_multiplier=2,\n                bg_upsampler=None,\n                device=torch.device(\"cpu\"),\n            )\n\n        elif st.session_state[\"defaults\"].general.extra_models_gpu:\n            server_state[\"GFPGAN\"] = GFPGANer(\n                model_path=model_path,\n                upscale=1,\n                arch=\"clean\",\n                channel_multiplier=2,\n                bg_upsampler=None,\n                device=torch.device(\n                    f\"cuda:{st.session_state['defaults'].general.gfpgan_gpu}\"\n                ),\n            )\n        else:\n            server_state[\"GFPGAN\"] = GFPGANer(\n                model_path=model_path,\n                upscale=1,\n                arch=\"clean\",\n                channel_multiplier=2,\n                bg_upsampler=None,\n                device=torch.device(f\"cuda:{st.session_state['defaults'].general.gpu}\"),\n            )\n\n        # Add the model_name to model loaded so we can later\n        # check if its the same when we change it on the UI.\n        server_state[\"GFPGAN\"].name = model_name\n\n    return server_state[\"GFPGAN\"]\n\n\n@retry(tries=5)\ndef load_RealESRGAN(model_name: str):\n    from basicsr.archs.rrdbnet_arch import RRDBNet\n\n    RealESRGAN_models = {\n        \"RealESRGAN_x4plus\": RRDBNet(\n            num_in_ch=3,\n            num_out_ch=3,\n            num_feat=64,\n            num_block=23,\n            num_grow_ch=32,\n            scale=4,\n        ),\n        \"RealESRGAN_x4plus_anime_6B\": RRDBNet(\n            num_in_ch=3, num_out_ch=3, num_feat=64, num_block=6, num_grow_ch=32, scale=4\n        ),\n    }\n\n    model_path = os.path.join(\n        st.session_state[\"defaults\"].general.RealESRGAN_dir, model_name + \".pth\"\n    )\n\n    if not os.path.isfile(model_path):\n        model_path = os.path.join(\n            st.session_state[\"defaults\"].general.RealESRGAN_dir, model_name + \".pth\"\n        )\n\n    if not os.path.exists(model_path):\n        raise Exception(model_name + \".pth not found at path \" + model_path)\n\n    sys.path.append(\n        os.path.abspath(st.session_state[\"defaults\"].general.RealESRGAN_dir)\n    )\n    from realesrgan import RealESRGANer\n\n    with server_state_lock[\"RealESRGAN\"]:\n        if (\n            st.session_state[\"defaults\"].general.esrgan_cpu\n            or st.session_state[\"defaults\"].general.extra_models_cpu\n        ):\n            server_state[\"RealESRGAN\"] = RealESRGANer(\n                scale=2,\n                model_path=model_path,\n                model=RealESRGAN_models[model_name],\n                pre_pad=0,\n                half=False,\n            )  # cpu does not support half\n\n            server_state[\"RealESRGAN\"].device = torch.device(\"cpu\")\n            server_state[\"RealESRGAN\"].model.to(\"cpu\")\n\n        elif st.session_state[\"defaults\"].general.extra_models_gpu:\n            server_state[\"RealESRGAN\"] = RealESRGANer(\n                scale=2,\n                model_path=model_path,\n                model=RealESRGAN_models[model_name],\n                pre_pad=0,\n                half=not st.session_state[\"defaults\"].general.no_half,\n                device=torch.device(\n                    f\"cuda:{st.session_state['defaults'].general.esrgan_gpu}\"\n                ),\n            )\n        else:\n            server_state[\"RealESRGAN\"] = RealESRGANer(\n                scale=2,\n                model_path=model_path,\n                model=RealESRGAN_models[model_name],\n                pre_pad=0,\n                half=not st.session_state[\"defaults\"].general.no_half,\n                device=torch.device(f\"cuda:{st.session_state['defaults'].general.gpu}\"),\n            )\n\n        # Add the model_name to model loaded so we can later\n        # check if its the same when we change it on the UI.\n        server_state[\"RealESRGAN\"].model.name = model_name\n\n    return server_state[\"RealESRGAN\"]\n\n\n#\nclass RealESRGANModel(nn.Module):\n    def __init__(self, model_path, tile=0, tile_pad=10, pre_pad=0, fp32=False):\n        super().__init__()\n        try:\n            from basicsr.archs.rrdbnet_arch import RRDBNet\n            from realesrgan import RealESRGANer\n        except ImportError:\n            logger.error(\n                \"You tried to import realesrgan without having it installed properly. To install Real-ESRGAN, run:\\n\\n\"\n                \"pip install realesrgan\"\n            )\n\n        model = RRDBNet(\n            num_in_ch=3,\n            num_out_ch=3,\n            num_feat=64,\n            num_block=23,\n            num_grow_ch=32,\n            scale=4,\n        )\n        self.upsampler = RealESRGANer(\n            scale=4,\n            model_path=model_path,\n            model=model,\n            tile=tile,\n            tile_pad=tile_pad,\n            pre_pad=pre_pad,\n            half=not fp32,\n        )\n\n    def forward(self, image, outscale=4, convert_to_pil=True):\n        \"\"\"Upsample an image array or path.\n        Args:\n            image (Union[np.ndarray, str]): Either a np array or an image path. np array is assumed to be in RGB format,\n                and we convert it to BGR.\n            outscale (int, optional): Amount to upscale the image. Defaults to 4.\n            convert_to_pil (bool, optional): If True, return PIL image. Otherwise, return numpy array (BGR). Defaults to True.\n        Returns:\n            Union[np.ndarray, PIL.Image.Image]: An upsampled version of the input image.\n        \"\"\"\n        if isinstance(image, (str, Path)):\n            img = cv2.imread(image, cv2.IMREAD_UNCHANGED)\n        else:\n            img = image\n            img = (img * 255).round().astype(\"uint8\")\n            img = img[:, :, ::-1]\n\n        image, _ = self.upsampler.enhance(img, outscale=outscale)\n\n        if convert_to_pil:\n            image = Image.fromarray(image[:, :, ::-1])\n\n        return image\n\n    @classmethod\n    def from_pretrained(cls, model_name_or_path=\"nateraw/real-esrgan\"):\n        \"\"\"Initialize a pretrained Real-ESRGAN upsampler.\n        Args:\n            model_name_or_path (str, optional): The Hugging Face repo ID or path to local model. Defaults to 'nateraw/real-esrgan'.\n        Returns:\n            PipelineRealESRGAN: An instance of `PipelineRealESRGAN` instantiated from pretrained model.\n        \"\"\"\n        # reuploaded form official ones mentioned here:\n        # https://github.com/xinntao/Real-ESRGAN\n        if Path(model_name_or_path).exists():\n            file = model_name_or_path\n        else:\n            file = hf_hub_download(model_name_or_path, \"RealESRGAN_x4plus.pth\")\n        return cls(file)\n\n    def upsample_imagefolder(self, in_dir, out_dir, suffix=\"out\", outfile_ext=\".png\"):\n        in_dir, out_dir = Path(in_dir), Path(out_dir)\n        if not in_dir.exists():\n            raise FileNotFoundError(f\"Provided input directory {in_dir} does not exist\")\n\n        out_dir.mkdir(exist_ok=True, parents=True)\n\n        image_paths = [\n            x for x in in_dir.glob(\"*\") if x.suffix.lower() in [\".png\", \".jpg\", \".jpeg\"]\n        ]\n        for image in image_paths:\n            im = self(str(image))\n            out_filepath = out_dir / (image.stem + suffix + outfile_ext)\n            im.save(out_filepath)\n\n\n#\n@retry(tries=5)\ndef load_LDSR(model_name=\"model\", config=\"project\", checking=False):\n    # model_name = 'model'\n    # yaml_name = 'project'\n\n    model_path = os.path.join(\n        st.session_state[\"defaults\"].general.LDSR_dir, model_name + \".ckpt\"\n    )\n    yaml_path = os.path.join(\n        st.session_state[\"defaults\"].general.LDSR_dir, config + \".yaml\"\n    )\n\n    if not os.path.isfile(model_path):\n        raise Exception(\"LDSR model not found at path \" + model_path)\n    if not os.path.isfile(yaml_path):\n        raise Exception(\"LDSR model not found at path \" + yaml_path)\n    if checking is True:\n        return True\n\n    # sys.path.append(os.path.abspath(st.session_state['defaults'].general.LDSR_dir))\n    # from LDSR import LDSR\n    server_state[\"LDSR\"] = LDSR(model_path, yaml_path)\n\n    server_state[\"LDSR\"].name = model_name\n\n    return server_state[\"LDSR\"]\n\n\n#\n\n\n@retry(tries=5)\n# def try_loading_LDSR(model_name: str,checking=False):\n##LDSR = None\n##global LDSR\n# if os.path.exists(st.session_state['defaults'].general.LDSR_dir):\n# try:\n# server_state[\"LDSR\"] = load_LDSR(checking=True) # TODO: Should try to load both models before giving up\n# if checking == True:\n# print(\"Found LDSR\")\n# return True\n# print(\"Latent Diffusion Super Sampling (LDSR) model loaded\")\n# except Exception:\n# import traceback\n# print(\"Error loading LDSR:\", file=sys.stderr)\n# print(traceback.format_exc(), file=sys.stderr)\n# else:\n# print(\"LDSR not found at path, please make sure you have cloned the LDSR repo to ./models/ldsr/\")\n\n# try_loading_LDSR('model',checking=True)\n\n\n# @retry(tries=5)\ndef load_sd_model(model_name: str):\n    \"\"\"Loads Stable Diffusion model by name\"\"\"\n    ckpt_path = st.session_state.defaults.general.default_model_path\n\n    if model_name != st.session_state.defaults.general.base_model:\n        ckpt_path = os.path.join(\"models\", \"custom\", f\"{model_name}.ckpt\")\n\n    if st.session_state.defaults.general.optimized:\n        config = OmegaConf.load(st.session_state.defaults.general.optimized_config)\n\n        sd = load_sd_from_config(ckpt_path)\n        li, lo = [], []\n        for key, v_ in sd.items():\n            sp = key.split(\".\")\n            if (sp[0]) == \"model\":\n                if \"input_blocks\" in sp:\n                    li.append(key)\n                elif \"middle_block\" in sp:\n                    li.append(key)\n                elif \"time_embed\" in sp:\n                    li.append(key)\n                else:\n                    lo.append(key)\n        for key in li:\n            sd[\"model1.\" + key[6:]] = sd.pop(key)\n        for key in lo:\n            sd[\"model2.\" + key[6:]] = sd.pop(key)\n\n        device = (\n            torch.device(f\"cuda:{st.session_state.defaults.general.gpu}\")\n            if torch.cuda.is_available()\n            else torch.device(\"cpu\")\n        )\n\n        model = instantiate_from_config(config.modelUNet)\n        _, _ = model.load_state_dict(sd, strict=False)\n        model.cuda()\n        model.eval()\n        model.turbo = st.session_state.defaults.general.optimized_turbo\n\n        modelCS = instantiate_from_config(config.modelCondStage)\n        _, _ = modelCS.load_state_dict(sd, strict=False)\n        modelCS.cond_stage_model.device = device\n        modelCS.eval()\n\n        modelFS = instantiate_from_config(config.modelFirstStage)\n        _, _ = modelFS.load_state_dict(sd, strict=False)\n        modelFS.eval()\n\n        del sd\n\n        if not st.session_state.defaults.general.no_half:\n            model = model.half().to(device)\n            modelCS = modelCS.half().to(device)\n            modelFS = modelFS.half().to(device)\n\n        return config, device, model, modelCS, modelFS\n    else:\n        if os.path.exists(ckpt_path.replace(\"ckpt\", \"yaml\")):\n            logger.info(f\"Using config file from: {ckpt_path.replace('ckpt','yaml')}\")\n            config = OmegaConf.load(ckpt_path.replace(\"ckpt\", \"yaml\"))\n        else:\n            config = OmegaConf.load(\n                st.session_state.defaults.general.default_model_config\n            )\n        model = load_model_from_config(config, ckpt_path)\n\n        device = (\n            torch.device(f\"cuda:{st.session_state.defaults.general.gpu}\")\n            if torch.cuda.is_available()\n            else torch.device(\"cpu\")\n        )\n        model = (\n            model if st.session_state.defaults.general.no_half else model.half()\n        ).to(device)\n\n        return config, device, model, None, None\n\n\ndef ModelLoader(\n    models, load=False, unload=False, imgproc_realesrgan_model_name=\"RealESRGAN_x4plus\"\n):\n    # codedealer: No usages\n    # get global variables\n    global_vars = globals()\n    # check if m is in globals\n    if unload:\n        for m in models:\n            if m in global_vars:\n                # if it is, delete it\n                del global_vars[m]\n                if st.session_state[\"defaults\"].general.optimized:\n                    if m == \"model\":\n                        del global_vars[m + \"FS\"]\n                        del global_vars[m + \"CS\"]\n                if m == \"model\":\n                    m = \"Stable Diffusion\"\n                logger.info(\"Unloaded \" + m)\n    if load:\n        for m in models:\n            if (\n                m not in global_vars\n                or m in global_vars\n                and type(global_vars[m]) == bool\n            ):\n                # if it isn't, load it\n                if m == \"GFPGAN\":\n                    global_vars[m] = load_GFPGAN()\n                elif m == \"model\":\n                    sdLoader = load_sd_from_config()\n                    global_vars[m] = sdLoader[0]\n                    if st.session_state[\"defaults\"].general.optimized:\n                        global_vars[m + \"CS\"] = sdLoader[1]\n                        global_vars[m + \"FS\"] = sdLoader[2]\n                elif m == \"RealESRGAN\":\n                    global_vars[m] = load_RealESRGAN(imgproc_realesrgan_model_name)\n                elif m == \"LDSR\":\n                    global_vars[m] = load_LDSR()\n                if m == \"model\":\n                    m = \"Stable Diffusion\"\n                logger.info(\"Loaded \" + m)\n    torch_gc()\n\n\n#\n@retry(tries=5)\ndef generation_callback(img, i=0):\n    # try to do garbage collection before decoding the image\n    torch_gc()\n\n    if \"update_preview_frequency\" not in st.session_state:\n        raise StopException\n\n    try:\n        if i == 0:\n            if img[\"i\"]:\n                i = img[\"i\"]\n    except TypeError as e:\n        logger.error(e)\n        pass\n\n    if (\n        st.session_state.update_preview\n        and int(st.session_state.update_preview_frequency) > 0\n        and i % int(st.session_state.update_preview_frequency) == 0\n        and i > 0\n    ):\n        # print (img)\n        # print (type(img))\n        # The following lines will convert the tensor we got on img to an actual image we can render on the UI.\n        # It can probably be done in a better way for someone who knows what they're doing. I don't.\n        # print (img,isinstance(img, torch.Tensor))\n        if isinstance(img, torch.Tensor):\n            x_samples_ddim = (\n                (\n                    server_state[\"model\"].to(\"cuda\")\n                    if not st.session_state[\"defaults\"].general.optimized\n                    else server_state[\"modelFS\"].to(\"cuda\")\n                )\n                .decode_first_stage(img)\n                .to(\"cuda\")\n            )\n        else:\n            # When using the k Diffusion samplers they return a dict instead of a tensor that look like this:\n            # {'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}\n            x_samples_ddim = (\n                (\n                    server_state[\"model\"].to(\"cuda\")\n                    if not st.session_state[\"defaults\"].general.optimized\n                    else server_state[\"modelFS\"].to(\"cuda\")\n                )\n                .decode_first_stage(img[\"denoised\"])\n                .to(\"cuda\")\n            )\n\n        x_samples_ddim = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0)\n\n        if x_samples_ddim.ndimension() == 4:\n            pil_images = [\n                transforms.ToPILImage()(x.squeeze_(0)) for x in x_samples_ddim\n            ]\n            pil_image = image_grid(pil_images, 1)\n        else:\n            pil_image = transforms.ToPILImage()(x_samples_ddim.squeeze_(0))\n\n        # update image on the UI so we can see the progress\n        if \"preview_image\" in st.session_state:\n            st.session_state[\"preview_image\"].image(pil_image)\n\n    # Show a progress bar so we can keep track of the progress even when the image progress is not been shown,\n    # Dont worry, it doesnt affect the performance.\n    if st.session_state[\"generation_mode\"] == \"txt2img\":\n        percent = int(\n            100\n            * float(\n                i + 1\n                if i + 1 < st.session_state.sampling_steps\n                else st.session_state.sampling_steps\n            )\n            / float(st.session_state.sampling_steps)\n        )\n\n        if \"progress_bar_text\" in st.session_state:\n            st.session_state[\"progress_bar_text\"].text(\n                f\"Running step: {i+1 if i+1 < st.session_state.sampling_steps else st.session_state.sampling_steps}/{st.session_state.sampling_steps} {percent if percent < 100 else 100}%\"\n            )\n    else:\n        if st.session_state[\"generation_mode\"] == \"img2img\":\n            round_sampling_steps = round(\n                st.session_state.sampling_steps * st.session_state[\"denoising_strength\"]\n            )\n            percent = int(\n                100\n                * float(i + 1 if i + 1 < round_sampling_steps else round_sampling_steps)\n                / float(round_sampling_steps)\n            )\n\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    f\"\"\"Running step: {i+1 if i+1 < round_sampling_steps else round_sampling_steps}/{round_sampling_steps} {percent if percent < 100 else 100}%\"\"\"\n                )\n        else:\n            if st.session_state[\"generation_mode\"] == \"txt2vid\":\n                percent = int(\n                    100\n                    * float(\n                        i + 1\n                        if i + 1 < st.session_state.sampling_steps\n                        else st.session_state.sampling_steps\n                    )\n                    / float(st.session_state.sampling_steps)\n                )\n\n                if \"progress_bar_text\" in st.session_state:\n                    st.session_state[\"progress_bar_text\"].text(\n                        f\"Running step: {i+1 if i+1 < st.session_state.sampling_steps else st.session_state.sampling_steps}/{st.session_state.sampling_steps}\"\n                        f\"{percent if percent < 100 else 100}%\"\n                    )\n\n    if \"progress_bar\" in st.session_state:\n        try:\n            st.session_state[\"progress_bar\"].progress(percent if percent < 100 else 100)\n            if st.session_state[\"defaults\"].general.show_percent_in_tab_title:\n                set_page_title(\n                    f\"({percent if percent < 100 else 100}%) Stable Diffusion Playground\"\n                )\n        except UnboundLocalError:\n            # logger.error(e)\n            pass\n\n\nprompt_parser = re.compile(\n    \"\"\"\n    (?P<prompt>                # capture group for 'prompt'\n    [^:]+                      # match one or more non ':' characters\n    )                          # end 'prompt'\n    (?:                        # non-capture group\n    :+                         # match one or more ':' characters\n    (?P<weight>                # capture group for 'weight'\n    -?\\\\d+(?:\\\\.\\\\d+)?            # match positive or negative decimal number\n    )?                         # end weight capture group, make optional\n    \\\\s*                        # strip spaces after weight\n    |                          # OR\n    $                          # else, if no ':' then match end of line\n    )                          # end non-capture group\n\"\"\",\n    re.VERBOSE,\n)\n\n\ndef split_weighted_subprompts(input_string, normalize=True):\n    # grabs all text up to the first occurrence of ':' as sub-prompt\n    # takes the value following ':' as weight\n    # if ':' has no value defined, defaults to 1.0\n    # repeats until no text remaining\n    parsed_prompts = [\n        (match.group(\"prompt\"), float(match.group(\"weight\") or 1))\n        for match in re.finditer(prompt_parser, input_string)\n    ]\n    if not normalize:\n        return parsed_prompts\n    # this probably still doesn't handle negative weights very well\n    weight_sum = sum(map(lambda x: x[1], parsed_prompts))\n    return [(x[0], x[1] / weight_sum) for x in parsed_prompts]\n\n\ndef slerp(device, t, v0: torch.Tensor, v1: torch.Tensor, DOT_THRESHOLD=0.9995):\n    v0 = v0.detach().cpu().numpy()\n    v1 = v1.detach().cpu().numpy()\n\n    dot = np.sum(v0 * v1 / (np.linalg.norm(v0) * np.linalg.norm(v1)))\n    if np.abs(dot) > DOT_THRESHOLD:\n        v2 = (1 - t) * v0 + t * v1\n    else:\n        theta_0 = np.arccos(dot)\n        sin_theta_0 = np.sin(theta_0)\n        theta_t = theta_0 * t\n        sin_theta_t = np.sin(theta_t)\n        s0 = np.sin(theta_0 - theta_t) / sin_theta_0\n        s1 = sin_theta_t / sin_theta_0\n        v2 = s0 * v0 + s1 * v1\n\n    v2 = torch.from_numpy(v2).to(device)\n\n    return v2\n\n\n#\n@st.experimental_memo(persist=\"disk\", show_spinner=False)\ndef optimize_update_preview_frequency(\n    current_chunk_speed,\n    previous_chunk_speed_list,\n    update_preview_frequency,\n    update_preview_frequency_list,\n):\n    \"\"\"Find the optimal update_preview_frequency value maximizing\n    performance while minimizing the time between updates.\"\"\"\n    from statistics import mean\n\n    previous_chunk_avg_speed = mean(previous_chunk_speed_list)\n\n    previous_chunk_speed_list.append(current_chunk_speed)\n    current_chunk_avg_speed = mean(previous_chunk_speed_list)\n\n    if current_chunk_avg_speed >= previous_chunk_avg_speed:\n        # print(f\"{current_chunk_speed} >= {previous_chunk_speed}\")\n        update_preview_frequency_list.append(update_preview_frequency + 1)\n    else:\n        # print(f\"{current_chunk_speed} <= {previous_chunk_speed}\")\n        update_preview_frequency_list.append(update_preview_frequency - 1)\n\n    update_preview_frequency = round(mean(update_preview_frequency_list))\n\n    return (\n        current_chunk_speed,\n        previous_chunk_speed_list,\n        update_preview_frequency,\n        update_preview_frequency_list,\n    )\n\n\ndef get_font(fontsize):\n    fonts = [\"arial.ttf\", \"DejaVuSans.ttf\"]\n    for font_name in fonts:\n        try:\n            return ImageFont.truetype(font_name, fontsize)\n        except OSError:\n            pass\n\n    # ImageFont.load_default() is practically unusable as it only supports\n    # latin1, so raise an exception instead if no usable font was found\n    raise Exception(f\"No usable font found (tried {', '.join(fonts)})\")\n\n\ndef load_embeddings(fp):\n    if fp is not None and hasattr(server_state[\"model\"], \"embedding_manager\"):\n        server_state[\"model\"].embedding_manager.load(fp[\"name\"])\n\n\ndef load_learned_embed_in_clip(\n    learned_embeds_path, text_encoder, tokenizer, token=None\n):\n    loaded_learned_embeds = torch.load(learned_embeds_path, map_location=\"cpu\")\n\n    # separate token and the embeds\n    if learned_embeds_path.endswith(\".pt\"):\n        # old format\n        # token = * so replace with file directory name when converting\n        trained_token = os.path.basename(learned_embeds_path)\n        params_dict = {\n            trained_token: torch.tensor(\n                list(loaded_learned_embeds[\"string_to_param\"].items())[0][1]\n            )\n        }\n        learned_embeds_path = os.path.splitext(learned_embeds_path)[0] + \".bin\"\n        torch.save(params_dict, learned_embeds_path)\n        loaded_learned_embeds = torch.load(learned_embeds_path, map_location=\"cpu\")\n        trained_token = list(loaded_learned_embeds.keys())[0]\n        embeds = loaded_learned_embeds[trained_token]\n\n    elif learned_embeds_path.endswith(\".bin\"):\n        trained_token = list(loaded_learned_embeds.keys())[0]\n        embeds = loaded_learned_embeds[trained_token]\n\n    embeds = loaded_learned_embeds[trained_token]\n    # cast to dtype of text_encoder\n    dtype = text_encoder.get_input_embeddings().weight.dtype\n    embeds.to(dtype)\n\n    # add the token in tokenizer\n    token = token if token is not None else trained_token\n    tokenizer.add_tokens(token)\n\n    # resize the token embeddings\n    text_encoder.resize_token_embeddings(len(tokenizer))\n\n    # get the id for the token and assign the embeds\n    token_id = tokenizer.convert_tokens_to_ids(token)\n    text_encoder.get_input_embeddings().weight.data[token_id] = embeds\n    return token\n\n\ndef image_grid(imgs, batch_size, force_n_rows=None, captions=None):\n    # print (len(imgs))\n    if force_n_rows is not None:\n        rows = force_n_rows\n    elif st.session_state[\"defaults\"].general.n_rows > 0:\n        rows = st.session_state[\"defaults\"].general.n_rows\n    elif st.session_state[\"defaults\"].general.n_rows == 0:\n        rows = batch_size\n    else:\n        rows = math.sqrt(len(imgs))\n        rows = round(rows)\n\n    cols = math.ceil(len(imgs) / rows)\n\n    w, h = imgs[0].size\n    grid = Image.new(\"RGB\", size=(cols * w, rows * h), color=\"black\")\n\n    try:\n        fnt = get_font(30)\n    except Exception:\n        pass\n\n    for i, img in enumerate(imgs):\n        grid.paste(img, box=(i % cols * w, i // cols * h))\n        try:\n            if captions and i < len(captions):\n                d = ImageDraw.Draw(grid)\n                size = d.textbbox(\n                    (0, 0), captions[i], font=fnt, stroke_width=2, align=\"center\"\n                )\n                d.multiline_text(\n                    (i % cols * w + w / 2, i // cols * h + h - size[3]),\n                    captions[i],\n                    font=fnt,\n                    fill=(255, 255, 255),\n                    stroke_width=2,\n                    stroke_fill=(0, 0, 0),\n                    anchor=\"mm\",\n                    align=\"center\",\n                )\n        except Exception:\n            pass\n    return grid\n\n\ndef seed_to_int(s):\n    if type(s) is int:\n        return s\n    if s is None or s == \"\":\n        return random.randint(0, 2**32 - 1)\n\n    if \",\" in s:\n        s = s.split(\",\")\n\n    if type(s) is list:\n        seed_list = []\n        for seed in s:\n            if seed is None or seed == \"\":\n                seed_list.append(random.randint(0, 2**32 - 1))\n            else:\n                seed_list = s\n\n        return seed_list\n\n    n = abs(int(s) if s.isdigit() else random.Random(s).randint(0, 2**32 - 1))\n    while n >= 2**32:\n        n = n >> 32\n    return n\n\n\n#\ndef draw_prompt_matrix(im, width, height, all_prompts):\n    def wrap(text, d, font, line_length):\n        lines = [\"\"]\n        for word in text.split():\n            line = f\"{lines[-1]} {word}\".strip()\n            if d.textlength(line, font=font) <= line_length:\n                lines[-1] = line\n            else:\n                lines.append(word)\n        return \"\\n\".join(lines)\n\n    def draw_texts(pos, x, y, texts, sizes):\n        for i, (text, size) in enumerate(zip(texts, sizes)):\n            active = pos & (1 << i) != 0\n\n            if not active:\n                text = \"\\u0336\".join(text) + \"\\u0336\"\n\n            d.multiline_text(\n                (x, y + size[1] / 2),\n                text,\n                font=fnt,\n                fill=color_active if active else color_inactive,\n                anchor=\"mm\",\n                align=\"center\",\n            )\n\n            y += size[1] + line_spacing\n\n    fontsize = (width + height) // 25\n    line_spacing = fontsize // 2\n    fnt = get_font(fontsize)\n    color_active = (0, 0, 0)\n    color_inactive = (153, 153, 153)\n\n    pad_top = height // 4\n    pad_left = width * 3 // 4 if len(all_prompts) > 2 else 0\n\n    cols = im.width // width\n    rows = im.height // height\n\n    prompts = all_prompts[1:]\n\n    result = Image.new(\"RGB\", (im.width + pad_left, im.height + pad_top), \"white\")\n    result.paste(im, (pad_left, pad_top))\n\n    d = ImageDraw.Draw(result)\n\n    boundary = math.ceil(len(prompts) / 2)\n    prompts_horiz = [wrap(x, d, fnt, width) for x in prompts[:boundary]]\n    prompts_vert = [wrap(x, d, fnt, pad_left) for x in prompts[boundary:]]\n\n    sizes_hor = [\n        (x[2] - x[0], x[3] - x[1])\n        for x in [d.multiline_textbbox((0, 0), x, font=fnt) for x in prompts_horiz]\n    ]\n    sizes_ver = [\n        (x[2] - x[0], x[3] - x[1])\n        for x in [d.multiline_textbbox((0, 0), x, font=fnt) for x in prompts_vert]\n    ]\n    hor_text_height = sum([x[1] + line_spacing for x in sizes_hor]) - line_spacing\n    ver_text_height = sum([x[1] + line_spacing for x in sizes_ver]) - line_spacing\n\n    for col in range(cols):\n        x = pad_left + width * col + width / 2\n        y = pad_top / 2 - hor_text_height / 2\n\n        draw_texts(col, x, y, prompts_horiz, sizes_hor)\n\n    for row in range(rows):\n        x = pad_left / 2\n        y = pad_top + height * row + height / 2 - ver_text_height / 2\n\n        draw_texts(row, x, y, prompts_vert, sizes_ver)\n\n    return result\n\n\n#\ndef enable_minimal_memory_usage(model):\n    \"\"\"Moves only unet to fp16 and to CUDA, while keepping lighter models on CPUs\"\"\"\n    model.unet.to(torch.float16).to(torch.device(\"cuda\"))\n    model.enable_attention_slicing(1)\n\n    torch.cuda.empty_cache()\n    torch_gc()\n\n\ndef check_prompt_length(prompt, comments):\n    \"\"\"this function tests if prompt is too long, and if so, adds a message to comments\"\"\"\n\n    tokenizer = (\n        server_state[\"model\"]\n        if not st.session_state[\"defaults\"].general.optimized\n        else server_state[\"modelCS\"]\n    ).cond_stage_model.tokenizer\n    max_length = (\n        server_state[\"model\"]\n        if not st.session_state[\"defaults\"].general.optimized\n        else server_state[\"modelCS\"]\n    ).cond_stage_model.max_length\n\n    info = (\n        server_state[\"model\"]\n        if not st.session_state[\"defaults\"].general.optimized\n        else server_state[\"modelCS\"]\n    ).cond_stage_model.tokenizer(\n        [prompt],\n        truncation=True,\n        max_length=max_length,\n        return_overflowing_tokens=True,\n        padding=\"max_length\",\n        return_tensors=\"pt\",\n    )\n    ovf = info[\"overflowing_tokens\"][0]\n    overflowing_count = ovf.shape[0]\n    if overflowing_count == 0:\n        return\n\n    vocab = {v: k for k, v in tokenizer.get_vocab().items()}\n    overflowing_words = [vocab.get(int(x), \"\") for x in ovf]\n    overflowing_text = tokenizer.convert_tokens_to_string(\"\".join(overflowing_words))\n\n    comments.append(\n        f\"Warning: too many input tokens; some ({len(overflowing_words)}) have been truncated:\\n{overflowing_text}\\n\"\n    )\n\n\n#\ndef custom_models_available():\n    with server_state_lock[\"custom_models\"]:\n        #\n        # Allow for custom models to be used instead of the default one,\n        # an example would be Waifu-Diffusion or any other fine tune of stable diffusion\n        server_state[\"custom_models\"]: sorted = []\n\n        for root, dirs, files in os.walk(os.path.join(\"models\", \"custom\")):\n            for file in files:\n                if os.path.splitext(file)[1] == \".ckpt\":\n                    server_state[\"custom_models\"].append(os.path.splitext(file)[0])\n\n        with server_state_lock[\"CustomModel_available\"]:\n            if len(server_state[\"custom_models\"]) > 0:\n                server_state[\"CustomModel_available\"] = True\n                server_state[\"custom_models\"].append(\"Stable Diffusion v1.5\")\n            else:\n                server_state[\"CustomModel_available\"] = False\n\n\n#\ndef GFPGAN_available():\n    # with server_state_lock[\"GFPGAN_models\"]:\n    #\n\n    st.session_state[\"GFPGAN_models\"]: sorted = []\n    model = st.session_state[\"defaults\"].model_manager.models.gfpgan\n\n    files_available = 0\n\n    for file in model[\"files\"]:\n        if \"save_location\" in model[\"files\"][file]:\n            if os.path.exists(\n                os.path.join(\n                    model[\"files\"][file][\"save_location\"],\n                    model[\"files\"][file][\"file_name\"],\n                )\n            ):\n                files_available += 1\n\n        elif os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            if \"GFPGANv\" in base_name:\n                st.session_state[\"GFPGAN_models\"].append(base_name)\n            files_available += 1\n\n    # we need to show the other models from previous verions that we have on the\n    # same directory in case we want to see how they perform vs each other.\n    for root, dirs, files in os.walk(st.session_state[\"defaults\"].general.GFPGAN_dir):\n        for file in files:\n            if os.path.splitext(file)[1] == \".pth\":\n                if os.path.splitext(file)[0] not in st.session_state[\"GFPGAN_models\"]:\n                    st.session_state[\"GFPGAN_models\"].append(os.path.splitext(file)[0])\n\n    if len(st.session_state[\"GFPGAN_models\"]) > 0 and files_available == len(\n        model[\"files\"]\n    ):\n        st.session_state[\"GFPGAN_available\"] = True\n    else:\n        st.session_state[\"GFPGAN_available\"] = False\n        st.session_state[\"use_GFPGAN\"] = False\n        st.session_state[\"GFPGAN_model\"] = \"GFPGANv1.4\"\n\n\n#\ndef RealESRGAN_available():\n    # with server_state_lock[\"RealESRGAN_models\"]:\n    #\n    # Allow for custom models to be used instead of the default one,\n    # an example would be Waifu-Diffusion or any other fine tune of stable diffusion\n    st.session_state[\"RealESRGAN_models\"]: sorted = []\n    model = st.session_state[\"defaults\"].model_manager.models.realesrgan\n    for file in model[\"files\"]:\n        if os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            st.session_state[\"RealESRGAN_models\"].append(base_name)\n\n    if len(st.session_state[\"RealESRGAN_models\"]) > 0:\n        st.session_state[\"RealESRGAN_available\"] = True\n    else:\n        st.session_state[\"RealESRGAN_available\"] = False\n        st.session_state[\"use_RealESRGAN\"] = False\n        st.session_state[\"RealESRGAN_model\"] = \"RealESRGAN_x4plus\"\n\n\n#\ndef LDSR_available():\n    # with server_state_lock[\"RealESRGAN_models\"]:\n    #\n    # Allow for custom models to be used instead of the default one,\n    # an example would be Waifu-Diffusion or any other fine tune of stable diffusion\n    st.session_state[\"LDSR_models\"]: sorted = []\n    files_available = 0\n    model = st.session_state[\"defaults\"].model_manager.models.ldsr\n    for file in model[\"files\"]:\n        if os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            extension = os.path.splitext(model[\"files\"][file][\"file_name\"])[1]\n            if extension == \".ckpt\":\n                st.session_state[\"LDSR_models\"].append(base_name)\n            files_available += 1\n    if files_available == len(model[\"files\"]):\n        st.session_state[\"LDSR_available\"] = True\n    else:\n        st.session_state[\"LDSR_available\"] = False\n        st.session_state[\"use_LDSR\"] = False\n        st.session_state[\"LDSR_model\"] = \"model\"\n\n\ndef save_sample(\n    image,\n    sample_path_i,\n    filename,\n    jpg_sample,\n    prompts,\n    seeds,\n    width,\n    height,\n    steps,\n    cfg_scale,\n    normalize_prompt_weights,\n    use_GFPGAN,\n    write_info_files,\n    prompt_matrix,\n    init_img,\n    uses_loopback,\n    uses_random_seed_loopback,\n    save_grid,\n    sort_samples,\n    sampler_name,\n    ddim_eta,\n    n_iter,\n    batch_size,\n    i,\n    denoising_strength,\n    resize_mode,\n    save_individual_images,\n    model_name,\n):\n    filename_i = os.path.join(sample_path_i, filename)\n\n    if \"defaults\" in st.session_state:\n        if st.session_state[\"defaults\"].general.save_metadata or write_info_files:\n            # toggles differ for txt2img vs. img2img:\n            offset = 0 if init_img is None else 2\n            toggles = []\n            if prompt_matrix:\n                toggles.append(0)\n            if normalize_prompt_weights:\n                toggles.append(1)\n            if init_img is not None:\n                if uses_loopback:\n                    toggles.append(2)\n                if uses_random_seed_loopback:\n                    toggles.append(3)\n            if save_individual_images:\n                toggles.append(2 + offset)\n            if save_grid:\n                toggles.append(3 + offset)\n            if sort_samples:\n                toggles.append(4 + offset)\n            if write_info_files:\n                toggles.append(5 + offset)\n            if use_GFPGAN:\n                toggles.append(6 + offset)\n            metadata = dict(\n                target=\"txt2img\" if init_img is None else \"img2img\",\n                prompt=prompts[i],\n                ddim_steps=steps,\n                toggles=toggles,\n                sampler_name=sampler_name,\n                ddim_eta=ddim_eta,\n                n_iter=n_iter,\n                batch_size=batch_size,\n                cfg_scale=cfg_scale,\n                seed=seeds[i],\n                width=width,\n                height=height,\n                normalize_prompt_weights=normalize_prompt_weights,\n                model_name=model_name,\n            )\n            # Not yet any use for these, but they bloat up the files:\n            # info_dict[\"init_img\"] = init_img\n            # info_dict[\"init_mask\"] = init_mask\n            if init_img is not None:\n                metadata[\"denoising_strength\"] = str(denoising_strength)\n                metadata[\"resize_mode\"] = resize_mode\n\n    if write_info_files:\n        with open(f\"{filename_i}.yaml\", \"w\", encoding=\"utf8\") as f:\n            yaml.dump(metadata, f, allow_unicode=True, width=10000)\n\n    if st.session_state[\"defaults\"].general.save_metadata:\n        # metadata = {\n        # \t\"SD:prompt\": prompts[i],\n        # \t\"SD:seed\": str(seeds[i]),\n        # \t\"SD:width\": str(width),\n        # \t\"SD:height\": str(height),\n        # \t\"SD:steps\": str(steps),\n        # \t\"SD:cfg_scale\": str(cfg_scale),\n        # \t\"SD:normalize_prompt_weights\": str(normalize_prompt_weights),\n        # }\n        metadata = {\"SD:\" + k: v for (k, v) in metadata.items()}\n\n        if save_ext == \"png\":\n            mdata = PngInfo()\n            for key in metadata:\n                mdata.add_text(key, str(metadata[key]))\n            image.save(f\"{filename_i}.png\", pnginfo=mdata)\n        else:\n            if jpg_sample:\n                image.save(f\"{filename_i}.jpg\", quality=save_quality, optimize=True)\n            elif save_ext == \"webp\":\n                image.save(\n                    f\"{filename_i}.{save_ext}\",\n                    \"webp\",\n                    quality=save_quality,\n                    lossless=save_lossless,\n                )\n            else:\n                # not sure what file format this is\n                image.save(f\"{filename_i}.{save_ext}\", f\"{save_ext}\")\n            try:\n                exif_dict = piexif.load(f\"{filename_i}.{save_ext}\")\n            except:\n                exif_dict = {\"Exif\": dict()}\n            exif_dict[\"Exif\"][\n                piexif.ExifIFD.UserComment\n            ] = piexif.helper.UserComment.dump(json.dumps(metadata), encoding=\"unicode\")\n            piexif.insert(piexif.dump(exif_dict), f\"{filename_i}.{save_ext}\")\n\n\ndef get_next_sequence_number(path, prefix=\"\"):\n    \"\"\"\n    Determines and returns the next sequence number to use when saving an\n    image in the specified directory.\n\n    If a prefix is given, only consider files whose names start with that\n    prefix, and strip the prefix from filenames before extracting their\n    sequence number.\n\n    The sequence starts at 0.\n    \"\"\"\n    result = -1\n    for p in Path(path).iterdir():\n        if p.name.endswith((\".png\", \".jpg\")) and p.name.startswith(prefix):\n            tmp = p.name[len(prefix) :]\n            try:\n                result = max(int(tmp.split(\"-\")[0]), result)\n            except ValueError:\n                pass\n    return result + 1\n\n\ndef oxlamon_matrix(prompt, seed, n_iter, batch_size):\n    pattern = re.compile(r\"(,\\s){2,}\")\n\n    class PromptItem:\n        def __init__(self, text, parts, item):\n            self.text = text\n            self.parts = parts\n            if item:\n                self.parts.append(item)\n\n    def clean(txt):\n        return re.sub(pattern, \", \", txt)\n\n    def getrowcount(txt):\n        for data in re.finditer(\".*?\\\\((.*?)\\\\).*\", txt):\n            if data:\n                return len(data.group(1).split(\"|\"))\n            break\n        return None\n\n    def repliter(txt):\n        for data in re.finditer(\".*?\\\\((.*?)\\\\).*\", txt):\n            if data:\n                r = data.span(1)\n                for item in data.group(1).split(\"|\"):\n                    yield (\n                        clean(txt[: r[0] - 1] + item.strip() + txt[r[1] + 1 :]),\n                        item.strip(),\n                    )\n            break\n\n    def iterlist(items):\n        outitems = []\n        for item in items:\n            for newitem, newpart in repliter(item.text):\n                outitems.append(PromptItem(newitem, item.parts.copy(), newpart))\n\n        return outitems\n\n    def getmatrix(prompt):\n        dataitems = [PromptItem(prompt[1:].strip(), [], None)]\n        while True:\n            newdataitems = iterlist(dataitems)\n            if len(newdataitems) == 0:\n                return dataitems\n            dataitems = newdataitems\n\n    def classToArrays(items, seed, n_iter):\n        texts = []\n        parts = []\n        seeds = []\n\n        for item in items:\n            itemseed = seed\n            for i in range(n_iter):\n                texts.append(item.text)\n                parts.append(f\"Seed: {itemseed}\\n\" + \"\\n\".join(item.parts))\n                seeds.append(itemseed)\n                itemseed += 1\n\n        return seeds, texts, parts\n\n    all_seeds, all_prompts, prompt_matrix_parts = classToArrays(\n        getmatrix(prompt), seed, n_iter\n    )\n    n_iter = math.ceil(len(all_prompts) / batch_size)\n\n    needrows = getrowcount(prompt)\n    if needrows:\n        xrows = math.sqrt(len(all_prompts))\n        xrows = round(xrows)\n        # if columns is to much\n        cols = math.ceil(len(all_prompts) / xrows)\n        if cols > needrows * 4:\n            needrows *= 2\n\n    return all_seeds, n_iter, prompt_matrix_parts, all_prompts, needrows\n\n\n#\ndef process_images(\n    outpath,\n    func_init,\n    func_sample,\n    prompt,\n    seed,\n    sampler_name,\n    save_grid,\n    batch_size,\n    n_iter,\n    steps,\n    cfg_scale,\n    width,\n    height,\n    prompt_matrix,\n    use_GFPGAN: bool = True,\n    GFPGAN_model: str = \"GFPGANv1.4\",\n    use_RealESRGAN: bool = False,\n    realesrgan_model_name: str = \"RealESRGAN_x4plus\",\n    use_LDSR: bool = False,\n    LDSR_model_name: str = \"model\",\n    ddim_eta=0.0,\n    normalize_prompt_weights=True,\n    init_img=None,\n    init_mask=None,\n    mask_blur_strength=3,\n    mask_restore=False,\n    denoising_strength=0.75,\n    noise_mode=0,\n    find_noise_steps=1,\n    resize_mode=None,\n    uses_loopback=False,\n    uses_random_seed_loopback=False,\n    sort_samples=True,\n    write_info_files=True,\n    jpg_sample=False,\n    variant_amount=0.0,\n    variant_seed=None,\n    save_individual_images: bool = True,\n):\n    \"\"\"this is the main loop that both txt2img and img2img use; it calls func_init once inside all the scopes and func_sample once per batch\"\"\"\n\n    torch_gc()\n    # start time after garbage collection (or before?)\n    start_time = time.time()\n\n    # We will use this date here later for the folder name, need to start_time if not need\n    datetime.datetime.now()\n\n    mem_mon = MemUsageMonitor(\"MemMon\")\n    mem_mon.start()\n\n    if st.session_state.defaults.general.use_sd_concepts_library:\n        prompt_tokens = re.findall(\"<([a-zA-Z0-9-]+)>\", prompt)\n\n        if prompt_tokens:\n            # compviz\n            tokenizer = (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelCS\"]\n            ).cond_stage_model.tokenizer\n            text_encoder = (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelCS\"]\n            ).cond_stage_model.transformer\n\n            # diffusers\n            # tokenizer = pipe.tokenizer\n            # text_encoder = pipe.text_encoder\n\n            ext = (\"pt\", \"bin\")\n\n            if len(prompt_tokens) > 1:\n                for token_name in prompt_tokens:\n                    embedding_path = os.path.join(\n                        st.session_state[\"defaults\"].general.sd_concepts_library_folder,\n                        token_name,\n                    )\n                    if os.path.exists(embedding_path):\n                        for files in os.listdir(embedding_path):\n                            if files.endswith(ext):\n                                load_learned_embed_in_clip(\n                                    f\"{os.path.join(embedding_path, files)}\",\n                                    text_encoder,\n                                    tokenizer,\n                                    f\"<{token_name}>\",\n                                )\n            else:\n                embedding_path = os.path.join(\n                    st.session_state[\"defaults\"].general.sd_concepts_library_folder,\n                    prompt_tokens[0],\n                )\n                if os.path.exists(embedding_path):\n                    for files in os.listdir(embedding_path):\n                        if files.endswith(ext):\n                            load_learned_embed_in_clip(\n                                f\"{os.path.join(embedding_path, files)}\",\n                                text_encoder,\n                                tokenizer,\n                                f\"<{prompt_tokens[0]}>\",\n                            )\n\n        #\n\n    os.makedirs(outpath, exist_ok=True)\n\n    sample_path = os.path.join(outpath, \"samples\")\n    os.makedirs(sample_path, exist_ok=True)\n\n    if \"|\" not in prompt and prompt.startswith(\"@\"):\n        prompt = prompt[1:]\n\n    negprompt = \"\"\n    if \"###\" in prompt:\n        prompt, negprompt = prompt.split(\"###\", 1)\n        prompt = prompt.strip()\n        negprompt = negprompt.strip()\n\n    comments = []\n\n    prompt_matrix_parts = []\n    simple_templating = False\n\n    if prompt_matrix:\n        if prompt.startswith(\"@\"):\n            simple_templating = True\n            all_seeds, n_iter, prompt_matrix_parts, all_prompts, frows = oxlamon_matrix(\n                prompt, seed, n_iter, batch_size\n            )\n        else:\n            all_prompts = []\n            prompt_matrix_parts = prompt.split(\"|\")\n            combination_count = 2 ** (len(prompt_matrix_parts) - 1)\n            for combination_num in range(combination_count):\n                current = prompt_matrix_parts[0]\n\n                for n, text in enumerate(prompt_matrix_parts[1:]):\n                    if combination_num & (2**n) > 0:\n                        current += (\"\" if text.strip().startswith(\",\") else \", \") + text\n\n                all_prompts.append(current)\n\n            n_iter = math.ceil(len(all_prompts) / batch_size)\n            all_seeds = len(all_prompts) * [seed]\n\n        logger.info(\n            f\"Prompt matrix will create {len(all_prompts)} images using a total of {n_iter} batches.\"\n        )\n    else:\n        if not st.session_state[\"defaults\"].general.no_verify_input:\n            try:\n                check_prompt_length(prompt, comments)\n            except:\n                import traceback\n\n                logger.info(\"Error verifying input:\", file=sys.stderr)\n                logger.info(traceback.format_exc(), file=sys.stderr)\n\n        all_prompts = batch_size * n_iter * [prompt]\n        all_seeds = [seed + x for x in range(len(all_prompts))]\n\n    precision_scope = (\n        autocast\n        if st.session_state[\"defaults\"].general.precision == \"autocast\"\n        else nullcontext\n    )\n    output_images = []\n    grid_captions = []\n    stats = []\n    with torch.no_grad(), precision_scope(\"cuda\"), (\n        server_state[\"model\"].ema_scope()\n        if not st.session_state[\"defaults\"].general.optimized\n        else nullcontext()\n    ):\n        init_data = func_init()\n        time.time()\n\n        # if variant_amount > 0.0 create noise from base seed\n        base_x = None\n        if variant_amount > 0.0:\n            target_seed_randomizer = seed_to_int(\"\")  # random seed\n            torch.manual_seed(\n                seed\n            )  # this has to be the single starting seed (not per-iteration)\n            base_x = create_random_tensors(\n                [opt_C, height // opt_f, width // opt_f], seeds=[seed]\n            )\n            # we don't want all_seeds to be sequential from starting seed with variants,\n            # since that makes the same variants each time,\n            # so we add target_seed_randomizer as a random offset\n            for si in range(len(all_seeds)):\n                all_seeds[si] += target_seed_randomizer\n\n        for n in range(n_iter):\n            logger.info(f\"Iteration: {n+1}/{n_iter}\")\n            prompts = all_prompts[n * batch_size : (n + 1) * batch_size]\n            captions = prompt_matrix_parts[n * batch_size : (n + 1) * batch_size]\n            seeds = all_seeds[n * batch_size : (n + 1) * batch_size]\n\n            logger.info(prompt)\n\n            if st.session_state[\"defaults\"].general.optimized:\n                server_state[\"modelCS\"].to(st.session_state[\"defaults\"].general.gpu)\n\n            uc = (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelCS\"]\n            ).get_learned_conditioning(len(prompts) * [negprompt])\n\n            if isinstance(prompts, tuple):\n                prompts = list(prompts)\n\n            # split the prompt if it has : for weighting\n            # TODO for speed it might help to have this occur when all_prompts filled??\n            weighted_subprompts = split_weighted_subprompts(\n                prompts[0], normalize_prompt_weights\n            )\n\n            # sub-prompt weighting used if more than 1\n            if len(weighted_subprompts) > 1:\n                c = torch.zeros_like(\n                    uc\n                )  # i dont know if this is correct.. but it works\n                for i in range(0, len(weighted_subprompts)):\n                    # note if alpha negative, it functions same as torch.sub\n                    c = torch.add(\n                        c,\n                        (\n                            server_state[\"model\"]\n                            if not st.session_state[\"defaults\"].general.optimized\n                            else server_state[\"modelCS\"]\n                        ).get_learned_conditioning(weighted_subprompts[i][0]),\n                        alpha=weighted_subprompts[i][1],\n                    )\n            else:  # just behave like usual\n                c = (\n                    server_state[\"model\"]\n                    if not st.session_state[\"defaults\"].general.optimized\n                    else server_state[\"modelCS\"]\n                ).get_learned_conditioning(prompts)\n\n            shape = [opt_C, height // opt_f, width // opt_f]\n\n            if st.session_state[\"defaults\"].general.optimized:\n                mem = torch.cuda.memory_allocated() / 1e6\n                server_state[\"modelCS\"].to(\"cpu\")\n                while torch.cuda.memory_allocated() / 1e6 >= mem:\n                    time.sleep(1)\n\n            if noise_mode == 1 or noise_mode == 3:\n                # TODO params for find_noise_to_image\n                x = torch.cat(\n                    batch_size\n                    * [\n                        find_noise_for_image(\n                            server_state[\"model\"],\n                            server_state[\"device\"],\n                            init_img.convert(\"RGB\"),\n                            \"\",\n                            find_noise_steps,\n                            0.0,\n                            normalize=True,\n                            generation_callback=generation_callback,\n                        )\n                    ],\n                    dim=0,\n                )\n            else:\n                # we manually generate all input noises because each one should have a specific seed\n                x = create_random_tensors(shape, seeds=seeds)\n\n            if variant_amount > 0.0:  # we are making variants\n                # using variant_seed as sneaky toggle,\n                # when not None or '' use the variant_seed\n                # otherwise use seeds\n                if variant_seed is not None and variant_seed != \"\":\n                    specified_variant_seed = seed_to_int(variant_seed)\n                    torch.manual_seed(specified_variant_seed)\n                    seeds = [specified_variant_seed]\n                # finally, slerp base_x noise to target_x noise for creating a variant\n                x = slerp(\n                    st.session_state[\"defaults\"].general.gpu,\n                    max(0.0, min(1.0, variant_amount)),\n                    base_x,\n                    x,\n                )\n\n            samples_ddim = func_sample(\n                init_data=init_data,\n                x=x,\n                conditioning=c,\n                unconditional_conditioning=uc,\n                sampler_name=sampler_name,\n            )\n\n            if st.session_state[\"defaults\"].general.optimized:\n                server_state[\"modelFS\"].to(st.session_state[\"defaults\"].general.gpu)\n\n            x_samples_ddim = (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelFS\"]\n            ).decode_first_stage(samples_ddim)\n            x_samples_ddim = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0)\n\n            run_images = []\n            for i, x_sample in enumerate(x_samples_ddim):\n                sanitized_prompt = slugify(prompts[i])\n\n                percent = i / len(x_samples_ddim)\n\n                if \"progress_bar\" in st.session_state:\n                    st.session_state[\"progress_bar\"].progress(\n                        percent if percent < 100 else 100\n                    )\n\n                if sort_samples:\n                    full_path = os.path.join(os.getcwd(), sample_path, sanitized_prompt)\n\n                    sanitized_prompt = sanitized_prompt[: 120 - len(full_path)]\n                    sample_path_i = os.path.join(sample_path, sanitized_prompt)\n\n                    # print(f\"output folder length: {len(os.path.join(os.getcwd(), sample_path_i))}\")\n                    # print(os.path.join(os.getcwd(), sample_path_i))\n\n                    os.makedirs(sample_path_i, exist_ok=True)\n                    base_count = get_next_sequence_number(sample_path_i)\n                    filename = f\"{base_count:05}-{steps}_{sampler_name}_{seeds[i]}\"\n                else:\n                    full_path = os.path.join(os.getcwd(), sample_path)\n                    sample_path_i = sample_path\n                    base_count = get_next_sequence_number(sample_path_i)\n                    filename = f\"{base_count:05}-{steps}_{sampler_name}_{seeds[i]}_{sanitized_prompt}\"[\n                        : 120 - len(full_path)\n                    ]  # same as before\n\n                x_sample = 255.0 * rearrange(x_sample.cpu().numpy(), \"c h w -> h w c\")\n                x_sample = x_sample.astype(np.uint8)\n                image = Image.fromarray(x_sample)\n                original_filename = filename\n\n                if \"preview_image\" in st.session_state:\n                    st.session_state[\"preview_image\"].image(image)\n\n                #\n                if (\n                    use_GFPGAN\n                    and server_state[\"GFPGAN\"] is not None\n                    and not use_RealESRGAN\n                    and not use_LDSR\n                ):\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running GFPGAN on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n\n                    if server_state[\"GFPGAN\"].name != GFPGAN_model:\n                        load_models(\n                            use_LDSR=use_LDSR,\n                            LDSR_model=LDSR_model_name,\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    torch_gc()\n\n                    with torch.autocast(\"cuda\"):\n                        cropped_faces, restored_faces, restored_img = server_state[\n                            \"GFPGAN\"\n                        ].enhance(\n                            x_sample[:, :, ::-1],\n                            has_aligned=False,\n                            only_center_face=False,\n                            paste_back=True,\n                        )\n\n                    gfpgan_sample = restored_img[:, :, ::-1]\n                    gfpgan_image = Image.fromarray(gfpgan_sample)\n\n                    # if st.session_state[\"GFPGAN_strenght\"]:\n                    # gfpgan_sample = Image.blend(image, gfpgan_image, st.session_state[\"GFPGAN_strenght\"])\n\n                    gfpgan_filename = original_filename + \"-gfpgan\"\n\n                    save_sample(\n                        gfpgan_image,\n                        sample_path_i,\n                        gfpgan_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(gfpgan_image)  # 287\n                    run_images.append(gfpgan_image)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\ngfpgan\")\n\n                #\n                elif (\n                    use_RealESRGAN\n                    and server_state[\"RealESRGAN\"] is not None\n                    and not use_GFPGAN\n                ):\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running RealESRGAN on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n                    # skip_save = True # #287 >_>\n                    torch_gc()\n\n                    if server_state[\"RealESRGAN\"].model.name != realesrgan_model_name:\n                        # try_loading_RealESRGAN(realesrgan_model_name)\n                        load_models(\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                        x_sample[:, :, ::-1]\n                    )\n                    esrgan_filename = original_filename + \"-esrgan4x\"\n                    esrgan_sample = output[:, :, ::-1]\n                    esrgan_image = Image.fromarray(esrgan_sample)\n\n                    # save_sample(image, sample_path_i, original_filename, jpg_sample, prompts, seeds, width, height, steps, cfg_scale,\n                    # normalize_prompt_weights, use_GFPGAN, write_info_files, prompt_matrix, init_img, uses_loopback, uses_random_seed_loopback, skip_save,\n                    # save_grid, sort_samples, sampler_name, ddim_eta, n_iter, batch_size, i, denoising_strength, resize_mode)\n\n                    save_sample(\n                        esrgan_image,\n                        sample_path_i,\n                        esrgan_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(esrgan_image)  # 287\n                    run_images.append(esrgan_image)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\nesrgan\")\n\n                #\n                elif use_LDSR and \"LDSR\" in server_state and not use_GFPGAN:\n                    logger.info(\n                        \"Running LDSR on image %d of %d...\"\n                        % (i + 1, len(x_samples_ddim))\n                    )\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running LDSR on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n                    # skip_save = True # #287 >_>\n                    torch_gc()\n\n                    if server_state[\"LDSR\"].name != LDSR_model_name:\n                        # try_loading_RealESRGAN(realesrgan_model_name)\n                        load_models(\n                            use_LDSR=use_LDSR,\n                            LDSR_model=LDSR_model_name,\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    result = server_state[\"LDSR\"].superResolution(\n                        image,\n                        ddimSteps=st.session_state[\"ldsr_sampling_steps\"],\n                        preDownScale=st.session_state[\"preDownScale\"],\n                        postDownScale=st.session_state[\"postDownScale\"],\n                        downsample_method=st.session_state[\"downsample_method\"],\n                    )\n\n                    ldsr_filename = original_filename + \"-ldsr4x\"\n                    # ldsr_sample = result[:,:,::-1]\n                    # ldsr_image = Image.fromarray(ldsr_sample)\n\n                    # save_sample(image, sample_path_i, original_filename, jpg_sample, prompts, seeds, width, height, steps, cfg_scale,\n                    # normalize_prompt_weights, use_GFPGAN, write_info_files, prompt_matrix, init_img, uses_loopback, uses_random_seed_loopback, skip_save,\n                    # save_grid, sort_samples, sampler_name, ddim_eta, n_iter, batch_size, i, denoising_strength, resize_mode)\n\n                    save_sample(\n                        result,\n                        sample_path_i,\n                        ldsr_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(result)  # 287\n                    run_images.append(result)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\nldsr\")\n\n                #\n                elif (\n                    use_LDSR\n                    and \"LDSR\" in server_state\n                    and use_GFPGAN\n                    and \"GFPGAN\" in server_state\n                ):\n                    logger.info(\n                        \"Running GFPGAN+LDSR on image %d of %d...\"\n                        % (i + 1, len(x_samples_ddim))\n                    )\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running GFPGAN+LDSR on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n\n                    if server_state[\"GFPGAN\"].name != GFPGAN_model:\n                        load_models(\n                            use_LDSR=use_LDSR,\n                            LDSR_model=LDSR_model_name,\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    torch_gc()\n                    cropped_faces, restored_faces, restored_img = server_state[\n                        \"GFPGAN\"\n                    ].enhance(\n                        x_sample[:, :, ::-1],\n                        has_aligned=False,\n                        only_center_face=False,\n                        paste_back=True,\n                    )\n\n                    gfpgan_sample = restored_img[:, :, ::-1]\n                    gfpgan_image = Image.fromarray(gfpgan_sample)\n\n                    if server_state[\"LDSR\"].name != LDSR_model_name:\n                        # try_loading_RealESRGAN(realesrgan_model_name)\n                        load_models(\n                            use_LDSR=use_LDSR,\n                            LDSR_model=LDSR_model_name,\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    # LDSR.superResolution(gfpgan_image, ddimSteps=100, preDownScale='None', postDownScale='None', downsample_method=\"Lanczos\")\n                    result = server_state[\"LDSR\"].superResolution(\n                        gfpgan_image,\n                        ddimSteps=st.session_state[\"ldsr_sampling_steps\"],\n                        preDownScale=st.session_state[\"preDownScale\"],\n                        postDownScale=st.session_state[\"postDownScale\"],\n                        downsample_method=st.session_state[\"downsample_method\"],\n                    )\n\n                    ldsr_filename = original_filename + \"-gfpgan-ldsr2x\"\n                    # ldsr_sample = result[:,:,::-1]\n                    # ldsr_image = Image.fromarray(result)\n\n                    # save_sample(image, sample_path_i, original_filename, jpg_sample, prompts, seeds, width, height, steps, cfg_scale,\n                    # normalize_prompt_weights, use_GFPGAN, write_info_files, prompt_matrix, init_img, uses_loopback, uses_random_seed_loopback, skip_save,\n                    # save_grid, sort_samples, sampler_name, ddim_eta, n_iter, batch_size, i, denoising_strength, resize_mode)\n\n                    save_sample(\n                        result,\n                        sample_path_i,\n                        ldsr_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(result)  # 287\n                    run_images.append(result)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\ngfpgan-ldsr\")\n\n                elif (\n                    use_RealESRGAN\n                    and server_state[\"RealESRGAN\"] is not None\n                    and use_GFPGAN\n                    and server_state[\"GFPGAN\"] is not None\n                ):\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running GFPGAN+RealESRGAN on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n                    # skip_save = True # #287 >_>\n                    torch_gc()\n                    cropped_faces, restored_faces, restored_img = server_state[\n                        \"GFPGAN\"\n                    ].enhance(\n                        x_sample[:, :, ::-1],\n                        has_aligned=False,\n                        only_center_face=False,\n                        paste_back=True,\n                    )\n                    gfpgan_sample = restored_img[:, :, ::-1]\n\n                    if server_state[\"RealESRGAN\"].model.name != realesrgan_model_name:\n                        # try_loading_RealESRGAN(realesrgan_model_name)\n                        load_models(\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                        gfpgan_sample[:, :, ::-1]\n                    )\n                    gfpgan_esrgan_filename = original_filename + \"-gfpgan-esrgan4x\"\n                    gfpgan_esrgan_sample = output[:, :, ::-1]\n                    gfpgan_esrgan_image = Image.fromarray(gfpgan_esrgan_sample)\n\n                    save_sample(\n                        gfpgan_esrgan_image,\n                        sample_path_i,\n                        gfpgan_esrgan_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        False,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(gfpgan_esrgan_image)  # 287\n                    run_images.append(gfpgan_esrgan_image)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\ngfpgan_esrgan\")\n\n                #\n\n                else:\n                    output_images.append(image)\n                    run_images.append(image)\n\n                if mask_restore and init_mask:\n                    # init_mask = init_mask if keep_mask else ImageOps.invert(init_mask)\n                    init_mask = init_mask.filter(\n                        ImageFilter.GaussianBlur(mask_blur_strength)\n                    )\n                    init_mask = init_mask.convert(\"L\")\n                    init_img = init_img.convert(\"RGB\")\n                    image = image.convert(\"RGB\")\n\n                    if use_RealESRGAN and server_state[\"RealESRGAN\"] is not None:\n                        if (\n                            server_state[\"RealESRGAN\"].model.name\n                            != realesrgan_model_name\n                        ):\n                            # try_loading_RealESRGAN(realesrgan_model_name)\n                            load_models(\n                                use_GFPGAN=use_GFPGAN,\n                                use_RealESRGAN=use_RealESRGAN,\n                                RealESRGAN_model=realesrgan_model_name,\n                            )\n\n                        output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                            np.array(init_img, dtype=np.uint8)\n                        )\n                        init_img = Image.fromarray(output)\n                        init_img = init_img.convert(\"RGB\")\n\n                        output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                            np.array(init_mask, dtype=np.uint8)\n                        )\n                        init_mask = Image.fromarray(output)\n                        init_mask = init_mask.convert(\"L\")\n\n                    image = Image.composite(init_img, image, init_mask)\n\n                if save_individual_images:\n                    save_sample(\n                        image,\n                        sample_path_i,\n                        filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        save_individual_images,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    # if add_original_image or not simple_templating:\n                    # output_images.append(image)\n                    # if simple_templating:\n                    # grid_captions.append( captions[i] )\n                if \"defaults\" in st.session_state:\n                    if st.session_state[\"defaults\"].general.optimized:\n                        mem = torch.cuda.memory_allocated() / 1e6\n                        server_state[\"modelFS\"].to(\"cpu\")\n                        while torch.cuda.memory_allocated() / 1e6 >= mem:\n                            time.sleep(1)\n\n            if len(run_images) > 1:\n                preview_image = image_grid(run_images, n_iter)\n            else:\n                preview_image = run_images[0]\n\n            # Constrain the final preview image to 1440x900 so we're not sending huge amounts of data\n            # to the browser\n            preview_image = constrain_image(preview_image, 1440, 900)\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\"Finished!\")\n\n            if \"preview_image\" in st.session_state:\n                st.session_state[\"preview_image\"].image(preview_image)\n\n        if prompt_matrix or save_grid:\n            if prompt_matrix:\n                if simple_templating:\n                    grid = image_grid(\n                        output_images,\n                        n_iter,\n                        force_n_rows=frows,\n                        captions=grid_captions,\n                    )\n                else:\n                    grid = image_grid(\n                        output_images,\n                        n_iter,\n                        force_n_rows=1 << ((len(prompt_matrix_parts) - 1) // 2),\n                    )\n                    try:\n                        grid = draw_prompt_matrix(\n                            grid, width, height, prompt_matrix_parts\n                        )\n                    except:\n                        import traceback\n\n                        logger.error(\n                            \"Error creating prompt_matrix text:\", file=sys.stderr\n                        )\n                        logger.error(traceback.format_exc(), file=sys.stderr)\n            else:\n                grid = image_grid(output_images, batch_size)\n\n            if grid and (batch_size > 1 or n_iter > 1):\n                output_images.insert(0, grid)\n\n            grid_count = get_next_sequence_number(outpath, \"grid-\")\n            grid_file = f\"grid-{grid_count:05}-{seed}_{slugify(prompts[i].replace(' ', '_')[:120-len(full_path)])}.{grid_ext}\"\n            grid.save(\n                os.path.join(outpath, grid_file),\n                grid_format,\n                quality=grid_quality,\n                lossless=grid_lossless,\n                optimize=True,\n            )\n\n        time.time()\n\n    mem_max_used, mem_total = mem_mon.read_and_stop()\n    time_diff = time.time() - start_time\n\n    info = f\"\"\"\n            {prompt}\n            Steps: {steps}, Sampler: {sampler_name}, CFG scale: {cfg_scale}, Seed: {seed}{', Denoising strength: '+str(denoising_strength) if init_img is not None else ''}{', GFPGAN' if use_GFPGAN and server_state[\"GFPGAN\"] is not None else ''}{', '+realesrgan_model_name if use_RealESRGAN and server_state[\"RealESRGAN\"] is not None else ''}{', Prompt Matrix Mode.' if prompt_matrix else ''}\"\"\".strip()\n    stats = f\"\"\"\n            Took { round(time_diff, 2) }s total ({ round(time_diff/(len(all_prompts)),2) }s per image)\n            Peak memory usage: { -(mem_max_used // -1_048_576) } MiB / { -(mem_total // -1_048_576) } MiB / { round(mem_max_used/mem_total*100, 3) }%\"\"\"\n\n    for comment in comments:\n        info += \"\\n\\n\" + comment\n\n    # mem_mon.stop()\n    # del mem_mon\n    torch_gc()\n\n    return output_images, seed, info, stats\n\n\ndef resize_image(resize_mode, im, width, height):\n    LANCZOS = (\n        Image.Resampling.LANCZOS if hasattr(Image, \"Resampling\") else Image.LANCZOS\n    )\n    if resize_mode == 0:\n        res = im.resize((width, height), resample=LANCZOS)\n    elif resize_mode == 1:\n        ratio = width / height\n        src_ratio = im.width / im.height\n\n        src_w = width if ratio > src_ratio else im.width * height // im.height\n        src_h = height if ratio <= src_ratio else im.height * width // im.width\n\n        resized = im.resize((src_w, src_h), resample=LANCZOS)\n        res = Image.new(\"RGBA\", (width, height))\n        res.paste(resized, box=(width // 2 - src_w // 2, height // 2 - src_h // 2))\n    else:\n        ratio = width / height\n        src_ratio = im.width / im.height\n\n        src_w = width if ratio < src_ratio else im.width * height // im.height\n        src_h = height if ratio >= src_ratio else im.height * width // im.width\n\n        resized = im.resize((src_w, src_h), resample=LANCZOS)\n        res = Image.new(\"RGBA\", (width, height))\n        res.paste(resized, box=(width // 2 - src_w // 2, height // 2 - src_h // 2))\n\n        if ratio < src_ratio:\n            fill_height = height // 2 - src_h // 2\n            res.paste(\n                resized.resize((width, fill_height), box=(0, 0, width, 0)), box=(0, 0)\n            )\n            res.paste(\n                resized.resize(\n                    (width, fill_height), box=(0, resized.height, width, resized.height)\n                ),\n                box=(0, fill_height + src_h),\n            )\n        elif ratio > src_ratio:\n            fill_width = width // 2 - src_w // 2\n            res.paste(\n                resized.resize((fill_width, height), box=(0, 0, 0, height)), box=(0, 0)\n            )\n            res.paste(\n                resized.resize(\n                    (fill_width, height), box=(resized.width, 0, resized.width, height)\n                ),\n                box=(fill_width + src_w, 0),\n            )\n\n    return res\n\n\ndef constrain_image(img, max_width, max_height):\n    ratio = max(img.width / max_width, img.height / max_height)\n    if ratio <= 1:\n        return img\n    resampler = (\n        Image.Resampling.LANCZOS if hasattr(Image, \"Resampling\") else Image.LANCZOS\n    )\n    resized = img.resize(\n        (int(img.width / ratio), int(img.height / ratio)), resample=resampler\n    )\n    return resized\n\n\ndef convert_pt_to_bin_and_load(input_file, text_encoder, tokenizer, placeholder_token):\n    x = torch.load(input_file, map_location=torch.device(\"cpu\"))\n\n    params_dict = {\n        placeholder_token: torch.tensor(list(x[\"string_to_param\"].items())[0][1])\n    }\n    torch.save(params_dict, \"learned_embeds.bin\")\n    load_learned_embed_in_clip(\n        \"learned_embeds.bin\", text_encoder, tokenizer, placeholder_token\n    )\n    logger.info(\"loaded\", placeholder_token)\n\n\n#\n"
  },
  {
    "path": "scripts/sd_utils/bridge.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# base webui import and utils.\n# import streamlit as st\n\n# We import hydralit like this to replace the previous stuff\n# we had with native streamlit as it lets ur replace things 1:1\nfrom sd_utils import logger, load_models\n\n# streamlit imports\n\n# streamlit components section\n\n# other imports\nimport requests, time, json, base64\nfrom io import BytesIO\n\n# import custom components\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\n@logger.catch(reraise=True)\ndef run_bridge(\n    interval,\n    api_key,\n    horde_name,\n    horde_url,\n    priority_usernames,\n    horde_max_pixels,\n    horde_nsfw,\n    horde_censor_nsfw,\n    horde_blacklist,\n    horde_censorlist,\n):\n    current_id = None\n    current_payload = None\n    loop_retry = 0\n    # load the model for stable horde if its not in memory already\n    # we should load it after we get the request from the API in\n    # case the model is different from the loaded in memory but\n    # for now we can load it here so its read right away.\n    load_models(use_GFPGAN=True)\n    while True:\n        if loop_retry > 10 and current_id:\n            logger.info(\n                f\"Exceeded retry count {loop_retry} for generation id {current_id}. Aborting generation!\"\n            )\n            current_id = None\n            current_payload = None\n            current_generation = None\n            loop_retry = 0\n        elif current_id:\n            logger.info(f\"Retrying ({loop_retry}/10) for generation id {current_id}...\")\n        gen_dict = {\n            \"name\": horde_name,\n            \"max_pixels\": horde_max_pixels,\n            \"priority_usernames\": priority_usernames,\n            \"nsfw\": horde_nsfw,\n            \"blacklist\": horde_blacklist,\n            \"models\": [\"stable_diffusion\"],\n        }\n        headers = {\"apikey\": api_key}\n        if current_id:\n            loop_retry += 1\n        else:\n            try:\n                pop_req = requests.post(\n                    horde_url + \"/api/v2/generate/pop\", json=gen_dict, headers=headers\n                )\n            except requests.exceptions.ConnectionError:\n                logger.warning(\n                    f\"Server {horde_url} unavailable during pop. Waiting 10 seconds...\"\n                )\n                time.sleep(10)\n                continue\n            except requests.exceptions.JSONDecodeError():\n                logger.warning(\n                    f\"Server {horde_url} unavailable during pop. Waiting 10 seconds...\"\n                )\n                time.sleep(10)\n                continue\n            try:\n                pop = pop_req.json()\n            except json.decoder.JSONDecodeError:\n                logger.warning(\n                    f\"Could not decode response from {horde_url} as json. Please inform its administrator!\"\n                )\n                time.sleep(interval)\n                continue\n            if pop is None:\n                logger.warning(\n                    f\"Something has gone wrong with {horde_url}. Please inform its administrator!\"\n                )\n                time.sleep(interval)\n                continue\n            if not pop_req.ok:\n                pop[\"message\"]\n                logger.warning(\n                    f\"During gen pop, server {horde_url} responded with status code {pop_req.status_code}: {pop['message']}. Waiting for 10 seconds...\"\n                )\n                if \"errors\" in pop:\n                    logger.debug(f\"Detailed Request Errors: {pop['errors']}\")\n                time.sleep(10)\n                continue\n            if not pop.get(\"id\"):\n                skipped_info = pop.get(\"skipped\")\n                if skipped_info and len(skipped_info):\n                    skipped_info = f\" Skipped Info: {skipped_info}.\"\n                else:\n                    skipped_info = \"\"\n                logger.info(\n                    f\"Server {horde_url} has no valid generations to do for us.{skipped_info}\"\n                )\n                time.sleep(interval)\n                continue\n            current_id = pop[\"id\"]\n            logger.info(f\"Request with id {current_id} picked up. Initiating work...\")\n            current_payload = pop[\"payload\"]\n            if \"toggles\" in current_payload and current_payload[\"toggles\"] is None:\n                logger.error(f\"Received Bad payload: {pop}\")\n                current_id = None\n                current_payload = None\n                current_generation = None\n                loop_retry = 0\n                time.sleep(10)\n                continue\n\n        logger.debug(current_payload)\n        current_payload[\"toggles\"] = current_payload.get(\"toggles\", [1, 4])\n        # In bridge-mode, matrix is prepared on the horde and split in multiple nodes\n        if 0 in current_payload[\"toggles\"]:\n            current_payload[\"toggles\"].remove(0)\n        if 8 not in current_payload[\"toggles\"]:\n            if horde_censor_nsfw and not horde_nsfw:\n                current_payload[\"toggles\"].append(8)\n            elif any(word in current_payload[\"prompt\"] for word in horde_censorlist):\n                current_payload[\"toggles\"].append(8)\n\n        from txt2img import txt2img\n\n        \"\"\"{'prompt': 'Centred Husky, inside spiral with circular patterns, trending on dribbble, knotwork, spirals, key patterns,\n        zoomorphics, ', 'ddim_steps': 30, 'n_iter': 1, 'sampler_name': 'DDIM', 'cfg_scale': 16.0, 'seed': '3405278433', 'height': 512, 'width': 512}\"\"\"\n\n        # images, seed, info, stats = txt2img(**current_payload)\n        images, seed, info, stats = txt2img(\n            str(current_payload[\"prompt\"]),\n            int(current_payload[\"ddim_steps\"]),\n            str(current_payload[\"sampler_name\"]),\n            int(current_payload[\"n_iter\"]),\n            1,\n            float(current_payload[\"cfg_scale\"]),\n            str(current_payload[\"seed\"]),\n            int(current_payload[\"height\"]),\n            int(current_payload[\"width\"]),\n            save_grid=False,\n            group_by_prompt=False,\n            save_individual_images=False,\n            write_info_files=False,\n        )\n\n        buffer = BytesIO()\n        # We send as WebP to avoid using all the horde bandwidth\n        images[0].save(buffer, format=\"WebP\", quality=90)\n        # logger.info(info)\n        submit_dict = {\n            \"id\": current_id,\n            \"generation\": base64.b64encode(buffer.getvalue()).decode(\"utf8\"),\n            \"api_key\": api_key,\n            \"seed\": seed,\n            \"max_pixels\": horde_max_pixels,\n        }\n        current_generation = seed\n        while current_id and current_generation is not None:\n            try:\n                submit_req = requests.post(\n                    horde_url + \"/api/v2/generate/submit\",\n                    json=submit_dict,\n                    headers=headers,\n                )\n                try:\n                    submit = submit_req.json()\n                except json.decoder.JSONDecodeError:\n                    logger.error(\n                        f\"Something has gone wrong with {horde_url} during submit. Please inform its administrator!  (Retry {loop_retry}/10)\"\n                    )\n                    time.sleep(interval)\n                    continue\n                if submit_req.status_code == 404:\n                    logger.info(\n                        \"The generation we were working on got stale. Aborting!\"\n                    )\n                elif not submit_req.ok:\n                    logger.error(\n                        f\"During gen submit, server {horde_url} responded with status code {submit_req.status_code}: {submit['message']}. Waiting for 10 seconds...  (Retry {loop_retry}/10)\"\n                    )\n                    if \"errors\" in submit:\n                        logger.debug(f\"Detailed Request Errors: {submit['errors']}\")\n                    time.sleep(10)\n                    continue\n                else:\n                    logger.info(\n                        f'Submitted generation with id {current_id} and contributed for {submit_req.json()[\"reward\"]}'\n                    )\n                current_id = None\n                current_payload = None\n                current_generation = None\n                loop_retry = 0\n            except requests.exceptions.ConnectionError:\n                logger.warning(\n                    f\"Server {horde_url} unavailable during submit. Waiting 10 seconds...  (Retry {loop_retry}/10)\"\n                )\n                time.sleep(10)\n                continue\n        time.sleep(interval)\n"
  },
  {
    "path": "scripts/sd_utils_old.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from webui_streamlit import st\nimport hydralit as st\n\n# streamlit imports\nfrom streamlit import StopException\n\n# from streamlit.runtime.scriptrunner import script_run_context\n\n# streamlit components section\nfrom streamlit_server_state import server_state, server_state_lock\n\n# other imports\n\nimport warnings\nimport json\n\nimport base64, cv2\nimport os, sys, re, random, datetime, time, math, toml\nimport gc\nfrom PIL import Image, ImageFont, ImageDraw, ImageFilter\nfrom PIL.PngImagePlugin import PngInfo\nfrom scipy import integrate\nimport torch\nfrom torchdiffeq import odeint\nimport k_diffusion as K\nimport math, requests\nimport mimetypes\nimport numpy as np\nimport pynvml\nimport threading\nimport torch, torchvision\nfrom torch import autocast\nfrom torchvision import transforms\nimport torch.nn as nn\nfrom omegaconf import OmegaConf\nimport yaml\nfrom pathlib import Path\nfrom contextlib import nullcontext\nfrom einops import rearrange, repeat\nfrom ldm.util import instantiate_from_config\nfrom retry import retry\nfrom slugify import slugify\nimport skimage\nimport piexif\nimport piexif.helper\nfrom tqdm import trange\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom ldm.util import ismap\n\n# from abc import ABC, abstractmethod\nfrom io import BytesIO\nfrom packaging import version\nfrom pathlib import Path\nfrom huggingface_hub import hf_hub_download\n\n# import librosa\nfrom logger import logger\n\n# from loguru import logger\n\ntry:\n    from realesrgan import RealESRGANer\n    from basicsr.archs.rrdbnet_arch import RRDBNet\nexcept ImportError:\n    logger.error(\n        \"You tried to import realesrgan without having it installed properly. To install Real-ESRGAN, run:\\n\\n\"\n        \"pip install realesrgan\"\n    )\n\n# Temp imports\n# from basicsr.utils.registry import ARCH_REGISTRY\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n# remove some annoying deprecation warnings that show every now and then.\nwarnings.filterwarnings(\"ignore\", category=DeprecationWarning)\nwarnings.filterwarnings(\"ignore\", category=UserWarning)\n\n# this is a fix for Windows users. Without it, javascript files will be served with text/html content-type and the bowser will not show any UI\nmimetypes.init()\nmimetypes.add_type(\"application/javascript\", \".js\")\n\n# some of those options should not be changed at all because they would break the model, so I removed them from options.\nopt_C = 4\nopt_f = 8\n\n# The model manager loads and unloads the SD models and has features to download them or find their location\n# model_manager = ModelManager()\n\n\ndef load_configs():\n    if \"defaults\" not in st.session_state:\n        st.session_state[\"defaults\"] = {}\n\n    st.session_state[\"defaults\"] = OmegaConf.load(\"configs/webui/webui_streamlit.yaml\")\n\n    if os.path.exists(\"configs/webui/userconfig_streamlit.yaml\"):\n        user_defaults = OmegaConf.load(\"configs/webui/userconfig_streamlit.yaml\")\n\n        if \"version\" in user_defaults.general:\n            if version.parse(user_defaults.general.version) < version.parse(\n                st.session_state[\"defaults\"].general.version\n            ):\n                logger.error(\n                    \"The version of the user config file is older than the version on the defaults config file. \"\n                    \"This means there were big changes we made on the config.\"\n                    \"We are removing this file and recreating it from the defaults in order to make sure things work properly.\"\n                )\n                os.remove(\"configs/webui/userconfig_streamlit.yaml\")\n                st.experimental_rerun()\n        else:\n            logger.error(\n                \"The version of the user config file is older than the version on the defaults config file. \"\n                \"This means there were big changes we made on the config.\"\n                \"We are removing this file and recreating it from the defaults in order to make sure things work properly.\"\n            )\n            os.remove(\"configs/webui/userconfig_streamlit.yaml\")\n            st.experimental_rerun()\n\n        try:\n            st.session_state[\"defaults\"] = OmegaConf.merge(\n                st.session_state[\"defaults\"], user_defaults\n            )\n        except KeyError:\n            st.experimental_rerun()\n    else:\n        OmegaConf.save(\n            config=st.session_state.defaults,\n            f=\"configs/webui/userconfig_streamlit.yaml\",\n        )\n        loaded = OmegaConf.load(\"configs/webui/userconfig_streamlit.yaml\")\n        assert st.session_state.defaults == loaded\n\n    if os.path.exists(\".streamlit/config.toml\"):\n        st.session_state[\"streamlit_config\"] = toml.load(\".streamlit/config.toml\")\n\n    if st.session_state[\"defaults\"].daisi_app.running_on_daisi_io:\n        if os.path.exists(\"scripts/modeldownload.py\"):\n            import modeldownload\n\n            modeldownload.updateModels()\n\n    if \"keep_all_models_loaded\" in st.session_state.defaults.general:\n        with server_state_lock[\"keep_all_models_loaded\"]:\n            server_state[\"keep_all_models_loaded\"] = st.session_state[\n                \"defaults\"\n            ].general.keep_all_models_loaded\n    else:\n        st.session_state[\"defaults\"].general.keep_all_models_loaded = False\n        with server_state_lock[\"keep_all_models_loaded\"]:\n            server_state[\"keep_all_models_loaded\"] = st.session_state[\n                \"defaults\"\n            ].general.keep_all_models_loaded\n\n\nload_configs()\n\n#\n# if st.session_state[\"defaults\"].debug.enable_hydralit:\n# navbar_theme = {'txc_inactive': '#FFFFFF','menu_background':'#0e1117','txc_active':'black','option_active':'red'}\n# app = st.HydraApp(title='Stable Diffusion WebUI', favicon=\"\", use_cookie_cache=False, sidebar_state=\"expanded\", layout=\"wide\", navbar_theme=navbar_theme,\n# hide_streamlit_markers=False, allow_url_nav=True , clear_cross_app_sessions=False, use_loader=False)\n# else:\n# app = None\n\n#\ngrid_format = st.session_state[\"defaults\"].general.save_format\ngrid_lossless = False\ngrid_quality = st.session_state[\"defaults\"].general.grid_quality\nif grid_format == \"png\":\n    grid_ext = \"png\"\n    grid_format = \"png\"\nelif grid_format in [\"jpg\", \"jpeg\"]:\n    grid_quality = int(grid_format) if len(grid_format) > 1 else 100\n    grid_ext = \"jpg\"\n    grid_format = \"jpeg\"\nelif grid_format[0] == \"webp\":\n    grid_quality = int(grid_format) if len(grid_format) > 1 else 100\n    grid_ext = \"webp\"\n    grid_format = \"webp\"\n    if grid_quality < 0:  # e.g. webp:-100 for lossless mode\n        grid_lossless = True\n        grid_quality = abs(grid_quality)\n\n#\nsave_format = st.session_state[\"defaults\"].general.save_format\nsave_lossless = False\nsave_quality = 100\nif save_format == \"png\":\n    save_ext = \"png\"\n    save_format = \"png\"\nelif save_format in [\"jpg\", \"jpeg\"]:\n    save_quality = int(save_format) if len(save_format) > 1 else 100\n    save_ext = \"jpg\"\n    save_format = \"jpeg\"\nelif save_format == \"webp\":\n    save_quality = int(save_format) if len(save_format) > 1 else 100\n    save_ext = \"webp\"\n    save_format = \"webp\"\n    if save_quality < 0:  # e.g. webp:-100 for lossless mode\n        save_lossless = True\n        save_quality = abs(save_quality)\n\n# this should force GFPGAN and RealESRGAN onto the selected gpu as well\nos.environ[\"CUDA_DEVICE_ORDER\"] = \"PCI_BUS_ID\"  # see issue #152\nos.environ[\"CUDA_VISIBLE_DEVICES\"] = str(st.session_state[\"defaults\"].general.gpu)\n\n\n# functions to load css locally OR remotely starts here. Options exist for future flexibility. Called as st.markdown with unsafe_allow_html as css injection\n# TODO, maybe look into async loading the file especially for remote fetching\ndef local_css(file_name):\n    with open(file_name) as f:\n        st.markdown(f\"<style>{f.read()}</style>\", unsafe_allow_html=True)\n\n\ndef remote_css(url):\n    st.markdown(f'<link href=\"{url}\" rel=\"stylesheet\">', unsafe_allow_html=True)\n\n\ndef load_css(isLocal, nameOrURL):\n    if isLocal:\n        local_css(nameOrURL)\n    else:\n        remote_css(nameOrURL)\n\n\ndef set_page_title(title):\n    \"\"\"\n    Simple function to allows us to change the title dynamically.\n    Normally you can use `st.set_page_config` to change the title but it can only be used once per app.\n    \"\"\"\n\n    st.sidebar.markdown(\n        unsafe_allow_html=True,\n        body=f\"\"\"\n                            <iframe height=0 srcdoc=\"<script>\n                            const title = window.parent.document.querySelector('title') \\\n\n                            const oldObserver = window.parent.titleObserver\n                            if (oldObserver) {{\n                            oldObserver.disconnect()\n                            }} \\\n\n                            const newObserver = new MutationObserver(function(mutations) {{\n                            const target = mutations[0].target\n                            if (target.text !== '{title}') {{\n                            target.text = '{title}'\n                            }}\n                            }}) \\\n\n                            newObserver.observe(title, {{ childList: true }})\n                            window.parent.titleObserver = newObserver \\\n\n                            title.text = '{title}'\n                            </script>\" />\n                            \"\"\",\n    )\n\n\ndef make_grid(n_items=5, n_cols=5):\n    n_rows = 1 + n_items // int(n_cols)\n\n    rows = [st.container() for _ in range(n_rows)]\n\n    cols_per_row = [r.columns(n_cols) for r in rows]\n    cols = [column for row in cols_per_row for column in row]\n\n    return cols\n\n\ndef merge(file1, file2, out, weight):\n    alpha = (weight) / 100\n    if not (file1.endswith(\".ckpt\")):\n        file1 += \".ckpt\"\n    if not (file2.endswith(\".ckpt\")):\n        file2 += \".ckpt\"\n    if not (out.endswith(\".ckpt\")):\n        out += \".ckpt\"\n    # Load Models\n    model_0 = torch.load(file1)\n    model_1 = torch.load(file2)\n    theta_0 = model_0[\"state_dict\"]\n    theta_1 = model_1[\"state_dict\"]\n\n    for key in theta_0.keys():\n        if \"model\" in key and key in theta_1:\n            theta_0[key] = (alpha) * theta_0[key] + (1 - alpha) * theta_1[key]\n\n    logger.info(\"RUNNING...\\n(STAGE 2)\")\n\n    for key in theta_1.keys():\n        if \"model\" in key and key not in theta_0:\n            theta_0[key] = theta_1[key]\n    torch.save(model_0, out)\n\n\ndef human_readable_size(size, decimal_places=3):\n    \"\"\"Return a human readable size from bytes.\"\"\"\n    for unit in [\"B\", \"KB\", \"MB\", \"GB\", \"TB\"]:\n        if size < 1024.0:\n            break\n        size /= 1024.0\n    return f\"{size:.{decimal_places}f}{unit}\"\n\n\ndef load_models(\n    use_LDSR=False,\n    LDSR_model=\"model\",\n    use_GFPGAN=False,\n    GFPGAN_model=\"GFPGANv1.4\",\n    use_RealESRGAN=False,\n    RealESRGAN_model=\"RealESRGAN_x4plus\",\n    CustomModel_available=False,\n    custom_model=\"Stable Diffusion v1.5\",\n):\n    \"\"\"Load the different models. We also reuse the models that are already in memory to speed things up instead of loading them again.\"\"\"\n\n    # model_manager.init()\n\n    logger.info(\"Loading models.\")\n\n    if \"progress_bar_text\" in st.session_state:\n        st.session_state[\"progress_bar_text\"].text(\"\")\n\n    # check what models we want to use and if the they are already loaded.\n    with server_state_lock[\"LDSR\"]:\n        if use_LDSR:\n            if \"LDSR\" in server_state and server_state[\"LDSR\"].name == LDSR_model:\n                logger.info(\"LDSR already loaded\")\n            else:\n                if \"LDSR\" in server_state:\n                    del server_state[\"LDSR\"]\n\n                # Load GFPGAN\n                if os.path.exists(st.session_state[\"defaults\"].general.LDSR_dir):\n                    try:\n                        server_state[\"LDSR\"] = load_LDSR(model_name=LDSR_model)\n                        logger.info(\"Loaded LDSR\")\n                    except Exception:\n                        import traceback\n\n                        logger.error(\"Error loading LDSR:\", file=sys.stderr)\n                        logger.error(traceback.format_exc(), file=sys.stderr)\n        else:\n            if \"LDSR\" in server_state and not server_state[\"keep_all_models_loaded\"]:\n                logger.debug(\n                    \"LDSR was in memory but we won't use it. Removing to save VRAM.\"\n                )\n                del server_state[\"LDSR\"]\n\n    with server_state_lock[\"GFPGAN\"]:\n        if use_GFPGAN:\n            if \"GFPGAN\" in server_state and server_state[\"GFPGAN\"].name == GFPGAN_model:\n                logger.info(\"GFPGAN already loaded\")\n            else:\n                if \"GFPGAN\" in server_state:\n                    del server_state[\"GFPGAN\"]\n\n                # Load GFPGAN\n                if os.path.exists(st.session_state[\"defaults\"].general.GFPGAN_dir):\n                    try:\n                        server_state[\"GFPGAN\"] = load_GFPGAN(GFPGAN_model)\n                        logger.info(f\"Loaded GFPGAN: {GFPGAN_model}\")\n                    except Exception:\n                        import traceback\n\n                        logger.error(\"Error loading GFPGAN:\", file=sys.stderr)\n                        logger.error(traceback.format_exc(), file=sys.stderr)\n        else:\n            if \"GFPGAN\" in server_state and not server_state[\"keep_all_models_loaded\"]:\n                del server_state[\"GFPGAN\"]\n\n    with server_state_lock[\"RealESRGAN\"]:\n        if use_RealESRGAN:\n            if (\n                \"RealESRGAN\" in server_state\n                and server_state[\"RealESRGAN\"].model.name == RealESRGAN_model\n            ):\n                logger.info(\"RealESRGAN already loaded\")\n            else:\n                # Load RealESRGAN\n                try:\n                    # We first remove the variable in case it has something there,\n                    # some errors can load the model incorrectly and leave things in memory.\n                    del server_state[\"RealESRGAN\"]\n                except KeyError as e:\n                    logger.error(e)\n                    pass\n\n                if os.path.exists(st.session_state[\"defaults\"].general.RealESRGAN_dir):\n                    # st.session_state is used for keeping the models in memory across multiple pages or runs.\n                    server_state[\"RealESRGAN\"] = load_RealESRGAN(RealESRGAN_model)\n                    logger.info(\n                        \"Loaded RealESRGAN with model \"\n                        + server_state[\"RealESRGAN\"].model.name\n                    )\n\n        else:\n            if (\n                \"RealESRGAN\" in server_state\n                and not server_state[\"keep_all_models_loaded\"]\n            ):\n                del server_state[\"RealESRGAN\"]\n\n    with server_state_lock[\"model\"], server_state_lock[\"modelCS\"], server_state_lock[\n        \"modelFS\"\n    ], server_state_lock[\"loaded_model\"]:\n        if \"model\" in server_state:\n            if \"model\" in server_state and server_state[\"loaded_model\"] == custom_model:\n                # if the float16 or no_half options have changed since the last time the model was loaded then we need to reload the model.\n                if (\n                    (\n                        \"float16\" in server_state\n                        and server_state[\"float16\"]\n                        != st.session_state[\"defaults\"].general.use_float16\n                    )\n                    or (\n                        \"no_half\" in server_state\n                        and server_state[\"no_half\"]\n                        != st.session_state[\"defaults\"].general.no_half\n                    )\n                    or (\n                        \"optimized\" in server_state\n                        and server_state[\"optimized\"]\n                        != st.session_state[\"defaults\"].general.optimized\n                    )\n                ):\n                    logger.info(\n                        \"Model options changed, deleting the model from memory.\"\n                    )\n\n                    del server_state[\"float16\"]\n                    del server_state[\"no_half\"]\n\n                    del server_state[\"model\"]\n                    del server_state[\"modelCS\"]\n                    del server_state[\"modelFS\"]\n                    del server_state[\"loaded_model\"]\n\n                    del server_state[\"optimized\"]\n\n                    server_state[\"float16\"] = st.session_state[\n                        \"defaults\"\n                    ].general.use_float16\n                    server_state[\"no_half\"] = st.session_state[\n                        \"defaults\"\n                    ].general.no_half\n                    server_state[\"optimized\"] = st.session_state[\n                        \"defaults\"\n                    ].general.optimized\n\n                    load_models(\n                        use_LDSR=st.session_state[\"use_LDSR\"],\n                        LDSR_model=st.session_state[\"LDSR_model\"],\n                        use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                        GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                        use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                        RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                        CustomModel_available=server_state[\"CustomModel_available\"],\n                        custom_model=st.session_state[\"custom_model\"],\n                    )\n                else:\n                    logger.info(\"Model already loaded\")\n\n                return\n            else:\n                try:\n                    del server_state[\"model\"]\n                    del server_state[\"modelCS\"]\n                    del server_state[\"modelFS\"]\n                    del server_state[\"loaded_model\"]\n\n                except KeyError as e:\n                    logger.error(e)\n                    pass\n\n        # if the model from txt2vid is in memory we need to remove it to improve performance.\n        with server_state_lock[\"pipe\"]:\n            if \"pipe\" in server_state and not server_state[\"keep_all_models_loaded\"]:\n                del server_state[\"pipe\"]\n\n        if (\n            \"textual_inversion\" in st.session_state\n            and not server_state[\"keep_all_models_loaded\"]\n        ):\n            del st.session_state[\"textual_inversion\"]\n\n        # At this point the model is either\n        # not loaded yet or have been deleted from memory:\n        # load new model into memory\n        server_state[\"custom_model\"] = custom_model\n\n        config, device, model, modelCS, modelFS = load_sd_model(custom_model)\n\n        server_state[\"device\"] = device\n        server_state[\"model\"] = model\n\n        server_state[\"modelCS\"] = modelCS\n        server_state[\"modelFS\"] = modelFS\n        server_state[\"loaded_model\"] = custom_model\n\n        server_state[\"float16\"] = st.session_state[\"defaults\"].general.use_float16\n        server_state[\"no_half\"] = st.session_state[\"defaults\"].general.no_half\n        server_state[\"optimized\"] = st.session_state[\"defaults\"].general.optimized\n\n        # trying to disable multiprocessing as it makes it so streamlit cant stop when the\n        # model is loaded in memory and you need to kill the process sometimes.\n\n        try:\n            server_state[\"model\"].args.use_multiprocessing_for_evaluation = False\n        except AttributeError:\n            pass\n\n        if st.session_state.defaults.general.enable_attention_slicing:\n            server_state[\"model\"].enable_attention_slicing()\n\n        if st.session_state.defaults.general.enable_minimal_memory_usage:\n            server_state[\"model\"].enable_minimal_memory_usage()\n\n        logger.info(\"Model loaded.\")\n\n    return True\n\n\ndef load_model_from_config(config, ckpt, verbose=False):\n    logger.info(f\"Loading model from {ckpt}\")\n\n    try:\n        pl_sd = torch.load(ckpt, map_location=\"cpu\")\n        if \"global_step\" in pl_sd:\n            logger.info(f\"Global Step: {pl_sd['global_step']}\")\n        sd = pl_sd[\"state_dict\"]\n        model = instantiate_from_config(config.model)\n        m, u = model.load_state_dict(sd, strict=False)\n        if len(m) > 0 and verbose:\n            logger.info(\"missing keys:\")\n            logger.info(m)\n        if len(u) > 0 and verbose:\n            logger.info(\"unexpected keys:\")\n            logger.info(u)\n\n        model.cuda()\n        model.eval()\n\n        return model\n\n    except FileNotFoundError:\n        if \"progress_bar_text\" in st.session_state:\n            st.session_state[\"progress_bar_text\"].error(\n                \"You need to download the Stable Diffusion model in order to use the UI. Use the Model Manager page in order to download the model.\"\n            )\n\n        raise FileNotFoundError(\n            \"You need to download the Stable Diffusion model in order to use the UI. Use the Model Manager page in order to download the model.\"\n        )\n\n\ndef load_sd_from_config(ckpt, verbose=False):\n    logger.info(f\"Loading model from {ckpt}\")\n    pl_sd = torch.load(ckpt, map_location=\"cpu\")\n    if \"global_step\" in pl_sd:\n        logger.info(f\"Global Step: {pl_sd['global_step']}\")\n    sd = pl_sd[\"state_dict\"]\n    return sd\n\n\nclass MemUsageMonitor(threading.Thread):\n    stop_flag = False\n    max_usage = 0\n    total = -1\n\n    def __init__(self, name):\n        threading.Thread.__init__(self)\n        self.name = name\n\n    def run(self):\n        try:\n            pynvml.nvmlInit()\n        except:\n            logger.debug(\n                f\"[{self.name}] Unable to initialize NVIDIA management. No memory stats. \\n\"\n            )\n            return\n        logger.info(f\"[{self.name}] Recording memory usage...\\n\")\n        # Missing context\n        # handle = pynvml.nvmlDeviceGetHandleByIndex(st.session_state['defaults'].general.gpu)\n        handle = pynvml.nvmlDeviceGetHandleByIndex(0)\n        self.total = pynvml.nvmlDeviceGetMemoryInfo(handle).total\n        while not self.stop_flag:\n            m = pynvml.nvmlDeviceGetMemoryInfo(handle)\n            self.max_usage = max(self.max_usage, m.used)\n            # logger.info(self.max_usage)\n            time.sleep(0.1)\n        logger.info(f\"[{self.name}] Stopped recording.\\n\")\n        pynvml.nvmlShutdown()\n\n    def read(self):\n        return self.max_usage, self.total\n\n    def stop(self):\n        self.stop_flag = True\n\n    def read_and_stop(self):\n        self.stop_flag = True\n        return self.max_usage, self.total\n\n\nclass CFGMaskedDenoiser(nn.Module):\n    def __init__(self, model):\n        super().__init__()\n        self.inner_model = model\n\n    def forward(self, x, sigma, uncond, cond, cond_scale, mask, x0, xi):\n        x_in = x\n        x_in = torch.cat([x_in] * 2)\n        sigma_in = torch.cat([sigma] * 2)\n        cond_in = torch.cat([uncond, cond])\n        uncond, cond = self.inner_model(x_in, sigma_in, cond=cond_in).chunk(2)\n        denoised = uncond + (cond - uncond) * cond_scale\n\n        if mask is not None:\n            assert x0 is not None\n            img_orig = x0\n            mask_inv = 1.0 - mask\n            denoised = (img_orig * mask_inv) + (mask * denoised)\n\n        return denoised\n\n\nclass CFGDenoiser(nn.Module):\n    def __init__(self, model):\n        super().__init__()\n        self.inner_model = model\n\n    def forward(self, x, sigma, uncond, cond, cond_scale):\n        x_in = torch.cat([x] * 2)\n        sigma_in = torch.cat([sigma] * 2)\n        cond_in = torch.cat([uncond, cond])\n        uncond, cond = self.inner_model(x_in, sigma_in, cond=cond_in).chunk(2)\n        return uncond + (cond - uncond) * cond_scale\n\n\ndef append_zero(x):\n    return torch.cat([x, x.new_zeros([1])])\n\n\ndef append_dims(x, target_dims):\n    \"\"\"Appends dimensions to the end of a tensor until it has target_dims dimensions.\"\"\"\n    dims_to_append = target_dims - x.ndim\n    if dims_to_append < 0:\n        raise ValueError(\n            f\"input has {x.ndim} dims but target_dims is {target_dims}, which is less\"\n        )\n    return x[(...,) + (None,) * dims_to_append]\n\n\ndef get_sigmas_karras(n, sigma_min, sigma_max, rho=7.0, device=\"cpu\"):\n    \"\"\"Constructs the noise schedule of Karras et al. (2022).\"\"\"\n    ramp = torch.linspace(0, 1, n)\n    min_inv_rho = sigma_min ** (1 / rho)\n    max_inv_rho = sigma_max ** (1 / rho)\n    sigmas = (max_inv_rho + ramp * (min_inv_rho - max_inv_rho)) ** rho\n    return append_zero(sigmas).to(device)\n\n\n#\n# helper fft routines that keep ortho normalization and auto-shift before and after fft\ndef _fft2(data):\n    if data.ndim > 2:  # has channels\n        out_fft = np.zeros(\n            (data.shape[0], data.shape[1], data.shape[2]), dtype=np.complex128\n        )\n        for c in range(data.shape[2]):\n            c_data = data[:, :, c]\n            out_fft[:, :, c] = np.fft.fft2(np.fft.fftshift(c_data), norm=\"ortho\")\n            out_fft[:, :, c] = np.fft.ifftshift(out_fft[:, :, c])\n    else:  # one channel\n        out_fft = np.zeros((data.shape[0], data.shape[1]), dtype=np.complex128)\n        out_fft[:, :] = np.fft.fft2(np.fft.fftshift(data), norm=\"ortho\")\n        out_fft[:, :] = np.fft.ifftshift(out_fft[:, :])\n\n    return out_fft\n\n\ndef _ifft2(data):\n    if data.ndim > 2:  # has channels\n        out_ifft = np.zeros(\n            (data.shape[0], data.shape[1], data.shape[2]), dtype=np.complex128\n        )\n        for c in range(data.shape[2]):\n            c_data = data[:, :, c]\n            out_ifft[:, :, c] = np.fft.ifft2(np.fft.fftshift(c_data), norm=\"ortho\")\n            out_ifft[:, :, c] = np.fft.ifftshift(out_ifft[:, :, c])\n    else:  # one channel\n        out_ifft = np.zeros((data.shape[0], data.shape[1]), dtype=np.complex128)\n        out_ifft[:, :] = np.fft.ifft2(np.fft.fftshift(data), norm=\"ortho\")\n        out_ifft[:, :] = np.fft.ifftshift(out_ifft[:, :])\n\n    return out_ifft\n\n\ndef _get_gaussian_window(width, height, std=3.14, mode=0):\n    window_scale_x = float(width / min(width, height))\n    window_scale_y = float(height / min(width, height))\n\n    window = np.zeros((width, height))\n    x = (np.arange(width) / width * 2.0 - 1.0) * window_scale_x\n    for y in range(height):\n        fy = (y / height * 2.0 - 1.0) * window_scale_y\n        if mode == 0:\n            window[:, y] = np.exp(-(x**2 + fy**2) * std)\n        else:\n            window[:, y] = (1 / ((x**2 + 1.0) * (fy**2 + 1.0))) ** (\n                std / 3.14\n            )  # hey wait a minute that's not gaussian\n\n    return window\n\n\ndef _get_masked_window_rgb(np_mask_grey, hardness=1.0):\n    np_mask_rgb = np.zeros((np_mask_grey.shape[0], np_mask_grey.shape[1], 3))\n    if hardness != 1.0:\n        hardened = np_mask_grey[:] ** hardness\n    else:\n        hardened = np_mask_grey[:]\n    for c in range(3):\n        np_mask_rgb[:, :, c] = hardened[:]\n    return np_mask_rgb\n\n\ndef get_matched_noise(_np_src_image, np_mask_rgb, noise_q, color_variation):\n    \"\"\"\n    Explanation:\n    Getting good results in/out-painting with stable diffusion can be challenging.\n    Although there are simpler effective solutions for in-painting, out-painting can be especially challenging because there is no color data\n    in the masked area to help prompt the generator. Ideally, even for in-painting we'd like work effectively without that data as well.\n    Provided here is my take on a potential solution to this problem.\n\n    By taking a fourier transform of the masked src img we get a function that tells us the presence and orientation of each feature scale in the unmasked src.\n    Shaping the init/seed noise for in/outpainting to the same distribution of feature scales, orientations, and positions increases output coherence\n    by helping keep features aligned. This technique is applicable to any continuous generation task such as audio or video, each of which can\n    be conceptualized as a series of out-painting steps where the last half of the input \"frame\" is erased. For multi-channel data such as color\n    or stereo sound the \"color tone\" or histogram of the seed noise can be matched to improve quality (using scikit-image currently)\n    This method is quite robust and has the added benefit of being fast independently of the size of the out-painted area.\n    The effects of this method include things like helping the generator integrate the pre-existing view distance and camera angle.\n\n    Carefully managing color and brightness with histogram matching is also essential to achieving good coherence.\n\n    noise_q controls the exponent in the fall-off of the distribution can be any positive number, lower values means higher detail (range > 0, default 1.)\n    color_variation controls how much freedom is allowed for the colors/palette of the out-painted area (range 0..1, default 0.01)\n    This code is provided as is under the Unlicense (https://unlicense.org/)\n    Although you have no obligation to do so, if you found this code helpful please find it in your heart to credit me [parlance-zz].\n\n    Questions or comments can be sent to parlance@fifth-harmonic.com (https://github.com/parlance-zz/)\n    This code is part of a new branch of a discord bot I am working on integrating with diffusers (https://github.com/parlance-zz/g-diffuser-bot)\n\n    \"\"\"\n\n    global DEBUG_MODE\n    global TMP_ROOT_PATH\n\n    width = _np_src_image.shape[0]\n    height = _np_src_image.shape[1]\n    num_channels = _np_src_image.shape[2]\n\n    np_src_image = _np_src_image[:] * (1.0 - np_mask_rgb)\n    np_mask_grey = np.sum(np_mask_rgb, axis=2) / 3.0\n    (np.sum(np_src_image, axis=2) / 3.0)\n    np.ones((width, height), dtype=bool)\n    img_mask = np_mask_grey > 1e-6\n    ref_mask = np_mask_grey < 1e-3\n\n    windowed_image = _np_src_image * (1.0 - _get_masked_window_rgb(np_mask_grey))\n    windowed_image /= np.max(windowed_image)\n    windowed_image += (\n        np.average(_np_src_image) * np_mask_rgb\n    )  # / (1.-np.average(np_mask_rgb))  # rather than leave the masked area black, we get better results from fft by filling the average unmasked color\n    # windowed_image += np.average(_np_src_image) * (np_mask_rgb * (1.- np_mask_rgb)) / (1.-np.average(np_mask_rgb)) # compensate for darkening across the mask transition area\n    # _save_debug_img(windowed_image, \"windowed_src_img\")\n\n    src_fft = _fft2(windowed_image)  # get feature statistics from masked src img\n    src_dist = np.absolute(src_fft)\n    src_phase = src_fft / src_dist\n    # _save_debug_img(src_dist, \"windowed_src_dist\")\n\n    noise_window = _get_gaussian_window(\n        width, height, mode=1\n    )  # start with simple gaussian noise\n    noise_rgb = np.random.random_sample((width, height, num_channels))\n    noise_grey = np.sum(noise_rgb, axis=2) / 3.0\n    noise_rgb *= color_variation  # the colorfulness of the starting noise is blended to greyscale with a parameter\n    for c in range(num_channels):\n        noise_rgb[:, :, c] += (1.0 - color_variation) * noise_grey\n\n    noise_fft = _fft2(noise_rgb)\n    for c in range(num_channels):\n        noise_fft[:, :, c] *= noise_window\n    noise_rgb = np.real(_ifft2(noise_fft))\n    shaped_noise_fft = _fft2(noise_rgb)\n    shaped_noise_fft[:, :, :] = (\n        np.absolute(shaped_noise_fft[:, :, :]) ** 2 * (src_dist**noise_q) * src_phase\n    )  # perform the actual shaping\n\n    brightness_variation = 0.0  # color_variation # todo: temporarily tieing brightness variation to color variation for now\n    contrast_adjusted_np_src = (\n        _np_src_image[:] * (brightness_variation + 1.0) - brightness_variation * 2.0\n    )\n\n    # scikit-image is used for histogram matching, very convenient!\n    shaped_noise = np.real(_ifft2(shaped_noise_fft))\n    shaped_noise -= np.min(shaped_noise)\n    shaped_noise /= np.max(shaped_noise)\n    shaped_noise[img_mask, :] = skimage.exposure.match_histograms(\n        shaped_noise[img_mask, :] ** 1.0,\n        contrast_adjusted_np_src[ref_mask, :],\n        channel_axis=1,\n    )\n    shaped_noise = _np_src_image[:] * (1.0 - np_mask_rgb) + shaped_noise * np_mask_rgb\n    # _save_debug_img(shaped_noise, \"shaped_noise\")\n\n    matched_noise = np.zeros((width, height, num_channels))\n    matched_noise = shaped_noise[:]\n    # matched_noise[all_mask,:] = skimage.exposure.match_histograms(shaped_noise[all_mask,:], _np_src_image[ref_mask,:], channel_axis=1)\n    # matched_noise = _np_src_image[:] * (1. - np_mask_rgb) + matched_noise * np_mask_rgb\n\n    # _save_debug_img(matched_noise, \"matched_noise\")\n\n    \"\"\"\n    todo:\n    color_variation doesnt have to be a single number, the overall color tone of the out-painted area could be param controlled\n    \"\"\"\n\n    return np.clip(matched_noise, 0.0, 1.0)\n\n\n#\ndef find_noise_for_image(\n    model,\n    device,\n    init_image,\n    prompt,\n    steps=200,\n    cond_scale=2.0,\n    verbose=False,\n    normalize=False,\n    generation_callback=None,\n):\n    image = np.array(init_image).astype(np.float32) / 255.0\n    image = image[None].transpose(0, 3, 1, 2)\n    image = torch.from_numpy(image)\n    image = 2.0 * image - 1.0\n    image = image.to(device)\n    x = model.get_first_stage_encoding(model.encode_first_stage(image))\n\n    uncond = model.get_learned_conditioning([\"\"])\n    cond = model.get_learned_conditioning([prompt])\n\n    s_in = x.new_ones([x.shape[0]])\n    dnw = K.external.CompVisDenoiser(model)\n    sigmas = dnw.get_sigmas(steps).flip(0)\n\n    if verbose:\n        logger.info(sigmas)\n\n    for i in trange(1, len(sigmas)):\n        x_in = torch.cat([x] * 2)\n        sigma_in = torch.cat([sigmas[i - 1] * s_in] * 2)\n        cond_in = torch.cat([uncond, cond])\n\n        c_out, c_in = [\n            K.utils.append_dims(k, x_in.ndim) for k in dnw.get_scalings(sigma_in)\n        ]\n\n        if i == 1:\n            t = dnw.sigma_to_t(torch.cat([sigmas[i] * s_in] * 2))\n        else:\n            t = dnw.sigma_to_t(sigma_in)\n\n        eps = model.apply_model(x_in * c_in, t, cond=cond_in)\n        denoised_uncond, denoised_cond = (x_in + eps * c_out).chunk(2)\n\n        denoised = denoised_uncond + (denoised_cond - denoised_uncond) * cond_scale\n\n        if i == 1:\n            d = (x - denoised) / (2 * sigmas[i])\n        else:\n            d = (x - denoised) / sigmas[i - 1]\n\n        if generation_callback is not None:\n            generation_callback(x, i)\n\n        dt = sigmas[i] - sigmas[i - 1]\n        x = x + d * dt\n\n    return x / sigmas[-1]\n\n\n#\ndef folder_picker(\n    label=\"Select:\",\n    value=\"\",\n    help=\"\",\n    folder_button_label=\"Select\",\n    folder_button_help=\"\",\n    folder_button_key=\"\",\n):\n    \"\"\"A folder picker that has a text_input field next to it and a button to select the folder.\n    Returns the text_input field with the folder path.\"\"\"\n    import tkinter as tk\n    from tkinter import filedialog\n\n    # Set up tkinter\n    root = tk.Tk()\n    root.withdraw()\n\n    # Make folder picker dialog appear on top of other windows\n    root.wm_attributes(\"-topmost\", 1)\n\n    col1, col2 = st.columns([2, 1], gap=\"small\")\n\n    with col1:\n        dirname = st.empty()\n    with col2:\n        st.write(\"\")\n        st.write(\"\")\n        folder_picker = st.empty()\n\n    # Folder picker button\n    # st.title('Folder Picker')\n    # st.write('Please select a folder:')\n\n    # Create a label and add a random number of invisible characters\n    # to it so no two buttons inside a form are the same.\n    # folder_button_label = ''.join(random.choice(f\"{folder_button_label}\") for _ in range(5))\n    folder_button_label = f\"{str(folder_button_label)}{'‎' * random.randint(1, 500)}\"\n    clicked = folder_button_key + \"‎\" * random.randint(5, 500)\n\n    # try:\n    # clicked = folder_picker.button(folder_button_label, help=folder_button_help, key=folder_button_key)\n    # except StreamlitAPIException:\n    clicked = folder_picker.form_submit_button(\n        folder_button_label, help=folder_button_help\n    )\n\n    if clicked:\n        dirname = dirname.text_input(\n            label, filedialog.askdirectory(master=root), help=help\n        )\n    else:\n        dirname = dirname.text_input(label, value, help=help)\n\n    return dirname\n\n\ndef get_sigmas_exponential(n, sigma_min, sigma_max, device=\"cpu\"):\n    \"\"\"Constructs an exponential noise schedule.\"\"\"\n    sigmas = torch.linspace(\n        math.log(sigma_max), math.log(sigma_min), n, device=device\n    ).exp()\n    return append_zero(sigmas)\n\n\ndef get_sigmas_vp(n, beta_d=19.9, beta_min=0.1, eps_s=1e-3, device=\"cpu\"):\n    \"\"\"Constructs a continuous VP noise schedule.\"\"\"\n    t = torch.linspace(1, eps_s, n, device=device)\n    sigmas = torch.sqrt(torch.exp(beta_d * t**2 / 2 + beta_min * t) - 1)\n    return append_zero(sigmas)\n\n\ndef to_d(x, sigma, denoised):\n    \"\"\"Converts a denoiser output to a Karras ODE derivative.\"\"\"\n    return (x - denoised) / append_dims(sigma, x.ndim)\n\n\ndef linear_multistep_coeff(order, t, i, j):\n    if order - 1 > i:\n        raise ValueError(f\"Order {order} too high for step {i}\")\n\n    def fn(tau):\n        prod = 1.0\n        for k in range(order):\n            if j == k:\n                continue\n            prod *= (tau - t[i - k]) / (t[i - j] - t[i - k])\n        return prod\n\n    return integrate.quad(fn, t[i], t[i + 1], epsrel=1e-4)[0]\n\n\nclass KDiffusionSampler:\n    def __init__(self, m, sampler):\n        self.model = m\n        self.model_wrap = K.external.CompVisDenoiser(m)\n        self.schedule = sampler\n\n    def get_sampler_name(self):\n        return self.schedule\n\n    def sample(\n        self,\n        S,\n        conditioning,\n        batch_size,\n        shape,\n        verbose,\n        unconditional_guidance_scale,\n        unconditional_conditioning,\n        eta,\n        x_T,\n        img_callback=None,\n        log_every_t=None,\n    ):\n        sigmas = self.model_wrap.get_sigmas(S)\n        x = x_T * sigmas[0]\n        model_wrap_cfg = CFGDenoiser(self.model_wrap)\n        samples_ddim = None\n        samples_ddim = K.sampling.__dict__[f\"sample_{self.schedule}\"](\n            model_wrap_cfg,\n            x,\n            sigmas,\n            extra_args={\n                \"cond\": conditioning,\n                \"uncond\": unconditional_conditioning,\n                \"cond_scale\": unconditional_guidance_scale,\n            },\n            disable=False,\n            callback=generation_callback,\n        )\n        #\n        return samples_ddim, None\n\n\n#\n# create class LDSR\nclass LDSR:\n    # init function\n    def __init__(self, modelPath, yamlPath):\n        self.modelPath = modelPath\n        self.yamlPath = yamlPath\n        # self.model = self.load_model_from_config()\n        # print(self.load_model_from_config(OmegaConf.load(yamlPath), modelPath))\n        # self.print_current_directory()\n\n    # get currennt directory\n\n    \"\"\"\n    def check_model_exists(self):\n        #check if model and yaml exist\n        path = self.pathInput + \"/models/ldm/ld_sr\".replace('\\\\',os.sep).replace('/',os.sep)\n        model = self.modelName\n        yaml = self.yamlName\n        if os.path.exists(path):\n            #check if yaml exists\n            if os.path.exists(os.path.join(path,yaml)):\n                print('YAML found')\n                #check if ckpt exists\n                if os.path.exists(os.path.join(path,model)):\n                    print('Model found')\n                    return os.path.join(path,model), os.path.join(path,yaml)\n                else:\n                    return False\n        #return onlyfiles\n    \"\"\"\n\n    def load_model_from_config(self):\n        # print(f\"Loading model from {self.modelPath}\")\n        pl_sd = torch.load(self.modelPath, map_location=\"cpu\")\n        pl_sd[\"global_step\"]\n        sd = pl_sd[\"state_dict\"]\n        config = OmegaConf.load(self.yamlPath)\n        model = instantiate_from_config(config.model)\n        m, u = model.load_state_dict(sd, strict=False)\n        model.cuda()\n        model.eval()\n        return {\"model\": model}  # , global_step\n\n    \"\"\"\n    def get_model(self):\n        check = self.check_model_exists()\n        if check != False:\n            path_ckpt = check[0]\n            path_conf = check[1]\n        else:\n            print('Model not found, please run the bat file to download the model')\n        config = OmegaConf.load(path_conf)\n        model, step = self.load_model_from_config(config, path_ckpt)\n        return model\n\n\n    def get_custom_cond(mode):\n        dest = \"data/example_conditioning\"\n\n        if mode == \"superresolution\":\n            uploaded_img = files.upload()\n            filename = next(iter(uploaded_img))\n            name, filetype = filename.split(\".\") # todo assumes just one dot in name !\n            os.rename(f\"{filename}\", f\"{dest}/{mode}/custom_{name}.{filetype}\")\n\n        elif mode == \"text_conditional\":\n            #w = widgets.Text(value='A cake with cream!', disabled=True)\n            w = 'Empty Test'\n            display.display(w)\n\n            with open(f\"{dest}/{mode}/custom_{w.value[:20]}.txt\", 'w') as f:\n                f.write(w.value)\n\n        elif mode == \"class_conditional\":\n            #w = widgets.IntSlider(min=0, max=1000)\n            w = 1000\n            display.display(w)\n            with open(f\"{dest}/{mode}/custom.txt\", 'w') as f:\n                f.write(w.value)\n\n        else:\n            raise NotImplementedError(f\"cond not implemented for mode{mode}\")\n    \"\"\"\n\n    def get_cond_options(self, mode):\n        path = \"data/example_conditioning\"\n        path = os.path.join(path, mode)\n        onlyfiles = [f for f in sorted(os.listdir(path))]\n        return path, onlyfiles\n\n    \"\"\"\n    def select_cond_path(mode):\n        path = \"data/example_conditioning\"  # todo\n        path = os.path.join(path, mode)\n        onlyfiles = [f for f in sorted(os.listdir(path))]\n\n        selected = widgets.RadioButtons(\n            options=onlyfiles,\n            description='Select conditioning:',\n            disabled=False\n        )\n        display.display(selected)\n        selected_path = os.path.join(path, selected.value)\n        return selected_path\n    \"\"\"\n\n    \"\"\"\n    # Google Collab stuff\n    def visualize_cond_img(path):\n        display.display(ipyimg(filename=path))\n    \"\"\"\n\n    def run(\n        self,\n        model,\n        selected_path,\n        task,\n        custom_steps,\n        eta,\n        resize_enabled=False,\n        classifier_ckpt=None,\n        global_step=None,\n    ):\n        def make_convolutional_sample(\n            batch,\n            model,\n            mode=\"vanilla\",\n            custom_steps=None,\n            eta=1.0,\n            swap_mode=False,\n            masked=False,\n            invert_mask=True,\n            quantize_x0=False,\n            custom_schedule=None,\n            decode_interval=1000,\n            resize_enabled=False,\n            custom_shape=None,\n            temperature=1.0,\n            noise_dropout=0.0,\n            corrector=None,\n            corrector_kwargs=None,\n            x_T=None,\n            save_intermediate_vid=False,\n            make_progrow=True,\n            ddim_use_x0_pred=False,\n        ):\n            log = dict()\n\n            z, c, x, xrec, xc = model.get_input(\n                batch,\n                model.first_stage_key,\n                return_first_stage_outputs=True,\n                force_c_encode=not (\n                    hasattr(model, \"split_input_params\")\n                    and model.cond_stage_key == \"coordinates_bbox\"\n                ),\n                return_original_cond=True,\n            )\n\n            log_every_t = 1 if save_intermediate_vid else None\n\n            if custom_shape is not None:\n                z = torch.randn(custom_shape)\n                # print(f\"Generating {custom_shape[0]} samples of shape {custom_shape[1:]}\")\n\n            z0 = None\n\n            log[\"input\"] = x\n            log[\"reconstruction\"] = xrec\n\n            if ismap(xc):\n                log[\"original_conditioning\"] = model.to_rgb(xc)\n                if hasattr(model, \"cond_stage_key\"):\n                    log[model.cond_stage_key] = model.to_rgb(xc)\n\n            else:\n                log[\"original_conditioning\"] = (\n                    xc if xc is not None else torch.zeros_like(x)\n                )\n                if model.cond_stage_model:\n                    log[model.cond_stage_key] = (\n                        xc if xc is not None else torch.zeros_like(x)\n                    )\n                    if model.cond_stage_key == \"class_label\":\n                        log[model.cond_stage_key] = xc[model.cond_stage_key]\n\n            with model.ema_scope(\"Plotting\"):\n                t0 = time.time()\n                img_cb = None\n\n                sample, intermediates = convsample_ddim(\n                    model,\n                    c,\n                    steps=custom_steps,\n                    shape=z.shape,\n                    eta=eta,\n                    quantize_x0=quantize_x0,\n                    img_callback=img_cb,\n                    mask=None,\n                    x0=z0,\n                    temperature=temperature,\n                    noise_dropout=noise_dropout,\n                    score_corrector=corrector,\n                    corrector_kwargs=corrector_kwargs,\n                    x_T=x_T,\n                    log_every_t=log_every_t,\n                )\n                t1 = time.time()\n\n                if ddim_use_x0_pred:\n                    sample = intermediates[\"pred_x0\"][-1]\n\n            x_sample = model.decode_first_stage(sample)\n\n            try:\n                x_sample_noquant = model.decode_first_stage(\n                    sample, force_not_quantize=True\n                )\n                log[\"sample_noquant\"] = x_sample_noquant\n                log[\"sample_diff\"] = torch.abs(x_sample_noquant - x_sample)\n            except:\n                logger.error(\"Error with LDSR\")\n                pass\n\n            log[\"sample\"] = x_sample\n            log[\"time\"] = t1 - t0\n\n            return log\n\n        def convsample_ddim(\n            model,\n            cond,\n            steps,\n            shape,\n            eta=1.0,\n            callback=None,\n            normals_sequence=None,\n            mask=None,\n            x0=None,\n            quantize_x0=False,\n            img_callback=None,\n            temperature=1.0,\n            noise_dropout=0.0,\n            score_corrector=None,\n            corrector_kwargs=None,\n            x_T=None,\n            log_every_t=None,\n        ):\n            ddim = DDIMSampler(model)\n            bs = shape[0]  # dont know where this comes from but wayne\n            shape = shape[1:]  # cut batch dim\n            logger.info(f\"Sampling with eta = {eta}; steps: {steps}\")\n            samples, intermediates = ddim.sample(\n                steps,\n                batch_size=bs,\n                shape=shape,\n                conditioning=cond,\n                callback=callback,\n                normals_sequence=normals_sequence,\n                quantize_x0=quantize_x0,\n                eta=eta,\n                mask=mask,\n                x0=x0,\n                temperature=temperature,\n                verbose=False,\n                score_corrector=score_corrector,\n                corrector_kwargs=corrector_kwargs,\n                x_T=x_T,\n            )\n\n            return samples, intermediates\n\n        # global stride\n        def get_cond(mode, selected_path):\n            example = dict()\n            if mode == \"superresolution\":\n                up_f = 4\n                # visualize_cond_img(selected_path)\n\n                c = selected_path.convert(\"RGB\")\n                c = torch.unsqueeze(torchvision.transforms.ToTensor()(c), 0)\n                c_up = torchvision.transforms.functional.resize(\n                    c, size=[up_f * c.shape[2], up_f * c.shape[3]], antialias=True\n                )\n                c_up = rearrange(c_up, \"1 c h w -> 1 h w c\")\n                c = rearrange(c, \"1 c h w -> 1 h w c\")\n                c = 2.0 * c - 1.0\n\n                c = c.to(torch.device(\"cuda\"))\n                example[\"LR_image\"] = c\n                example[\"image\"] = c_up\n\n            return example\n\n        example = get_cond(task, selected_path)\n\n        save_intermediate_vid = False\n        n_runs = 1\n        masked = False\n        guider = None\n        ckwargs = None\n        mode = \"ddim\"\n        ddim_use_x0_pred = False\n        temperature = 1.0\n        eta = eta\n        make_progrow = True\n        custom_shape = None\n\n        height, width = example[\"image\"].shape[1:3]\n        split_input = height >= 128 and width >= 128\n\n        if split_input:\n            ks = 128\n            stride = 64\n            vqf = 4  #\n            model.split_input_params = {\n                \"ks\": (ks, ks),\n                \"stride\": (stride, stride),\n                \"vqf\": vqf,\n                \"patch_distributed_vq\": True,\n                \"tie_braker\": False,\n                \"clip_max_weight\": 0.5,\n                \"clip_min_weight\": 0.01,\n                \"clip_max_tie_weight\": 0.5,\n                \"clip_min_tie_weight\": 0.01,\n            }\n        else:\n            if hasattr(model, \"split_input_params\"):\n                delattr(model, \"split_input_params\")\n\n        invert_mask = False\n\n        x_T = None\n        for n in range(n_runs):\n            if custom_shape is not None:\n                x_T = torch.randn(\n                    1, custom_shape[1], custom_shape[2], custom_shape[3]\n                ).to(model.device)\n                x_T = repeat(x_T, \"1 c h w -> b c h w\", b=custom_shape[0])\n\n            logs = make_convolutional_sample(\n                example,\n                model,\n                mode=mode,\n                custom_steps=custom_steps,\n                eta=eta,\n                swap_mode=False,\n                masked=masked,\n                invert_mask=invert_mask,\n                quantize_x0=False,\n                custom_schedule=None,\n                decode_interval=10,\n                resize_enabled=resize_enabled,\n                custom_shape=custom_shape,\n                temperature=temperature,\n                noise_dropout=0.0,\n                corrector=guider,\n                corrector_kwargs=ckwargs,\n                x_T=x_T,\n                save_intermediate_vid=save_intermediate_vid,\n                make_progrow=make_progrow,\n                ddim_use_x0_pred=ddim_use_x0_pred,\n            )\n        return logs\n\n    @torch.no_grad()\n    @torch.no_grad()\n    def superResolution(\n        self,\n        image,\n        ddimSteps=100,\n        preDownScale=1,\n        postDownScale=1,\n        downsample_method=\"Lanczos\",\n    ):\n        \"\"\"\n        #Run settings\n\n        diffusion_steps = int(ddimSteps) #@param [25, 50, 100, 250, 500, 1000]\n        eta = 1.0 #@param  {type: 'raw'}\n        stride = 0 #not working atm\n\n        # ####Scaling options:\n        # Downsampling to 256px first will often improve the final image and runs faster.\n\n        # You can improve sharpness without upscaling by upscaling and then downsampling to the original size (i.e. Super Resolution)\n        preDownScale: Values ['None', '2', '4']\n\n        postDownScale: Values ['None', 'Original Size', '2', '4']\n\n        # Nearest gives sharper results, but may look more pixellated. Lancoz is much higher quality, but result may be less crisp.\n        downsample_method = 'Lanczos' #@param ['Nearest', 'Lanczos']\n        \"\"\"\n\n        diffMode = \"superresolution\"\n        model = self.load_model_from_config()\n\n        # Run settings\n\n        diffusion_steps = int(ddimSteps)  # @param [25, 50, 100, 250, 500, 1000]\n        eta = 1.0  # @param  {type: 'raw'}\n\n        # ####Scaling options:\n        # Downsampling to 256px first will often improve the final image and runs faster.\n\n        # You can improve sharpness without upscaling by upscaling and then downsampling to the original size (i.e. Super Resolution)\n\n        post_downsample = postDownScale  # @param ['None', 'Original Size', '2', '4']\n\n        # Nearest gives sharper results, but may look more pixellated. Lancoz is much higher quality, but result may be less crisp.\n        # downsample_method = 'Lanczos' #@param ['Nearest', 'Lanczos']\n\n        gc.collect()\n        torch.cuda.empty_cache()\n\n        im_og = image\n        width_og, height_og = im_og.size\n\n        # Downsample Pre\n\n        downsample_rate = preDownScale\n\n        # get system temp directory\n        width_downsampled_pre = width_og // downsample_rate\n        height_downsampled_pre = height_og // downsample_rate\n        if downsample_rate != 1:\n            logger.info(\n                f\"Downsampling from [{width_og}, {height_og}] to [{width_downsampled_pre}, {height_downsampled_pre}]\"\n            )\n            im_og = im_og.resize(\n                (width_downsampled_pre, height_downsampled_pre), Image.LANCZOS\n            )\n\n        logs = self.run(model[\"model\"], im_og, diffMode, diffusion_steps, eta)\n\n        sample = logs[\"sample\"]\n        sample = sample.detach().cpu()\n        sample = torch.clamp(sample, -1.0, 1.0)\n        sample = (sample + 1.0) / 2.0 * 255\n        sample = sample.numpy().astype(np.uint8)\n        sample = np.transpose(sample, (0, 2, 3, 1))\n\n        a = Image.fromarray(sample[0])\n\n        # Downsample Post\n        downsample_rate = postDownScale\n\n        width, height = a.size\n        width_downsampled_post = width // downsample_rate\n        height_downsampled_post = height // downsample_rate\n\n        if downsample_method == \"Lanczos\":\n            aliasing = Image.LANCZOS\n        else:\n            aliasing = Image.NEAREST\n\n        if downsample_rate != 1:\n            logger.info(\n                f\"Downsampling from [{width}, {height}] to [{width_downsampled_post}, {height_downsampled_post}]\"\n            )\n            a = a.resize((width_downsampled_post, height_downsampled_post), aliasing)\n        elif post_downsample == \"Original Size\":\n            logger.info(\n                f\"Downsampling from [{width}, {height}] to Original Size [{width_og}, {height_og}]\"\n            )\n            a = a.resize((width_og, height_og), aliasing)\n\n        del model\n        gc.collect()\n        torch.cuda.empty_cache()\n\n        logger.info(\"Processing finished!\")\n        return a\n\n\n@torch.no_grad()\ndef log_likelihood(\n    model, x, sigma_min, sigma_max, extra_args=None, atol=1e-4, rtol=1e-4\n):\n    extra_args = {} if extra_args is None else extra_args\n    s_in = x.new_ones([x.shape[0]])\n    v = torch.randint_like(x, 2) * 2 - 1\n    fevals = 0\n\n    def ode_fn(sigma, x):\n        nonlocal fevals\n        with torch.enable_grad():\n            x = x[0].detach().requires_grad_()\n            denoised = model(x, sigma * s_in, **extra_args)\n            d = to_d(x, sigma, denoised)\n            fevals += 1\n            grad = torch.autograd.grad((d * v).sum(), x)[0]\n            d_ll = (v * grad).flatten(1).sum(1)\n        return d.detach(), d_ll\n\n    x_min = x, x.new_zeros([x.shape[0]])\n    t = x.new_tensor([sigma_min, sigma_max])\n    sol = odeint(ode_fn, x_min, t, atol=atol, rtol=rtol, method=\"dopri5\")\n    latent, delta_ll = sol[0][-1], sol[1][-1]\n    ll_prior = (\n        torch.distributions.Normal(0, sigma_max).log_prob(latent).flatten(1).sum(1)\n    )\n    return ll_prior + delta_ll, {\"fevals\": fevals}\n\n\ndef create_random_tensors(shape, seeds):\n    xs = []\n    for seed in seeds:\n        torch.manual_seed(seed)\n\n        # randn results depend on device; gpu and cpu get different results for same seed;\n        # the way I see it, it's better to do this on CPU, so that everyone gets same result;\n        # but the original script had it like this so i do not dare change it for now because\n        # it will break everyone's seeds.\n        xs.append(torch.randn(shape, device=st.session_state[\"defaults\"].general.gpu))\n    x = torch.stack(xs)\n    return x\n\n\ndef torch_gc():\n    torch.cuda.empty_cache()\n    torch.cuda.ipc_collect()\n\n\n@retry(tries=5)\n# @st.experimental_memo(persist=\"disk\", show_spinner=False, suppress_st_warning=True)\ndef load_GFPGAN(model_name=\"GFPGANv1.4\"):\n    # model_name = 'GFPGANv1.3'\n\n    model_path = os.path.join(\n        st.session_state[\"defaults\"].general.GFPGAN_dir, model_name + \".pth\"\n    )\n\n    # if not os.path.isfile(model_path):\n    # model_path = os.path.join(st.session_state['defaults'].general.GFPGAN_dir, model_name + '.pth')\n\n    if not os.path.isfile(model_path):\n        raise Exception(\"GFPGAN model not found at path \" + model_path)\n\n    sys.path.append(os.path.abspath(st.session_state[\"defaults\"].general.GFPGAN_dir))\n    from gfpgan import GFPGANer\n\n    with server_state_lock[\"GFPGAN\"]:\n        if (\n            st.session_state[\"defaults\"].general.gfpgan_cpu\n            or st.session_state[\"defaults\"].general.extra_models_cpu\n        ):\n            server_state[\"GFPGAN\"] = GFPGANer(\n                model_path=model_path,\n                upscale=1,\n                arch=\"clean\",\n                channel_multiplier=2,\n                bg_upsampler=None,\n                device=torch.device(\"cpu\"),\n            )\n\n        elif st.session_state[\"defaults\"].general.extra_models_gpu:\n            server_state[\"GFPGAN\"] = GFPGANer(\n                model_path=model_path,\n                upscale=1,\n                arch=\"clean\",\n                channel_multiplier=2,\n                bg_upsampler=None,\n                device=torch.device(\n                    f\"cuda:{st.session_state['defaults'].general.gfpgan_gpu}\"\n                ),\n            )\n        else:\n            server_state[\"GFPGAN\"] = GFPGANer(\n                model_path=model_path,\n                upscale=1,\n                arch=\"clean\",\n                channel_multiplier=2,\n                bg_upsampler=None,\n                device=torch.device(f\"cuda:{st.session_state['defaults'].general.gpu}\"),\n            )\n\n        # Add the model_name to model loaded so we can later\n        # check if its the same when we change it on the UI.\n        server_state[\"GFPGAN\"].name = model_name\n\n    return server_state[\"GFPGAN\"]\n\n\n@retry(tries=5)\ndef load_RealESRGAN(model_name: str):\n    from basicsr.archs.rrdbnet_arch import RRDBNet\n\n    RealESRGAN_models = {\n        \"RealESRGAN_x4plus\": RRDBNet(\n            num_in_ch=3,\n            num_out_ch=3,\n            num_feat=64,\n            num_block=23,\n            num_grow_ch=32,\n            scale=4,\n        ),\n        \"RealESRGAN_x4plus_anime_6B\": RRDBNet(\n            num_in_ch=3, num_out_ch=3, num_feat=64, num_block=6, num_grow_ch=32, scale=4\n        ),\n    }\n\n    model_path = os.path.join(\n        st.session_state[\"defaults\"].general.RealESRGAN_dir, model_name + \".pth\"\n    )\n\n    if not os.path.isfile(model_path):\n        model_path = os.path.join(\n            st.session_state[\"defaults\"].general.RealESRGAN_dir, model_name + \".pth\"\n        )\n\n    if not os.path.exists(model_path):\n        raise Exception(model_name + \".pth not found at path \" + model_path)\n\n    sys.path.append(\n        os.path.abspath(st.session_state[\"defaults\"].general.RealESRGAN_dir)\n    )\n    from realesrgan import RealESRGANer\n\n    with server_state_lock[\"RealESRGAN\"]:\n        if (\n            st.session_state[\"defaults\"].general.esrgan_cpu\n            or st.session_state[\"defaults\"].general.extra_models_cpu\n        ):\n            server_state[\"RealESRGAN\"] = RealESRGANer(\n                scale=2,\n                model_path=model_path,\n                model=RealESRGAN_models[model_name],\n                pre_pad=0,\n                half=False,\n            )  # cpu does not support half\n\n            server_state[\"RealESRGAN\"].device = torch.device(\"cpu\")\n            server_state[\"RealESRGAN\"].model.to(\"cpu\")\n\n        elif st.session_state[\"defaults\"].general.extra_models_gpu:\n            server_state[\"RealESRGAN\"] = RealESRGANer(\n                scale=2,\n                model_path=model_path,\n                model=RealESRGAN_models[model_name],\n                pre_pad=0,\n                half=not st.session_state[\"defaults\"].general.no_half,\n                device=torch.device(\n                    f\"cuda:{st.session_state['defaults'].general.esrgan_gpu}\"\n                ),\n            )\n        else:\n            server_state[\"RealESRGAN\"] = RealESRGANer(\n                scale=2,\n                model_path=model_path,\n                model=RealESRGAN_models[model_name],\n                pre_pad=0,\n                half=not st.session_state[\"defaults\"].general.no_half,\n                device=torch.device(f\"cuda:{st.session_state['defaults'].general.gpu}\"),\n            )\n\n        # Add the model_name to model loaded so we can later\n        # check if its the same when we change it on the UI.\n        server_state[\"RealESRGAN\"].model.name = model_name\n\n    return server_state[\"RealESRGAN\"]\n\n\n#\nclass RealESRGANModel(nn.Module):\n    def __init__(self, model_path, tile=0, tile_pad=10, pre_pad=0, fp32=False):\n        super().__init__()\n        try:\n            from basicsr.archs.rrdbnet_arch import RRDBNet\n            from realesrgan import RealESRGANer\n        except ImportError:\n            logger.error(\n                \"You tried to import realesrgan without having it installed properly. To install Real-ESRGAN, run:\\n\\n\"\n                \"pip install realesrgan\"\n            )\n\n        model = RRDBNet(\n            num_in_ch=3,\n            num_out_ch=3,\n            num_feat=64,\n            num_block=23,\n            num_grow_ch=32,\n            scale=4,\n        )\n        self.upsampler = RealESRGANer(\n            scale=4,\n            model_path=model_path,\n            model=model,\n            tile=tile,\n            tile_pad=tile_pad,\n            pre_pad=pre_pad,\n            half=not fp32,\n        )\n\n    def forward(self, image, outscale=4, convert_to_pil=True):\n        \"\"\"Upsample an image array or path.\n        Args:\n            image (Union[np.ndarray, str]): Either a np array or an image path. np array is assumed to be in RGB format,\n                and we convert it to BGR.\n            outscale (int, optional): Amount to upscale the image. Defaults to 4.\n            convert_to_pil (bool, optional): If True, return PIL image. Otherwise, return numpy array (BGR). Defaults to True.\n        Returns:\n            Union[np.ndarray, PIL.Image.Image]: An upsampled version of the input image.\n        \"\"\"\n        if isinstance(image, (str, Path)):\n            img = cv2.imread(image, cv2.IMREAD_UNCHANGED)\n        else:\n            img = image\n            img = (img * 255).round().astype(\"uint8\")\n            img = img[:, :, ::-1]\n\n        image, _ = self.upsampler.enhance(img, outscale=outscale)\n\n        if convert_to_pil:\n            image = Image.fromarray(image[:, :, ::-1])\n\n        return image\n\n    @classmethod\n    def from_pretrained(cls, model_name_or_path=\"nateraw/real-esrgan\"):\n        \"\"\"Initialize a pretrained Real-ESRGAN upsampler.\n        Args:\n            model_name_or_path (str, optional): The Hugging Face repo ID or path to local model. Defaults to 'nateraw/real-esrgan'.\n        Returns:\n            PipelineRealESRGAN: An instance of `PipelineRealESRGAN` instantiated from pretrained model.\n        \"\"\"\n        # reuploaded form official ones mentioned here:\n        # https://github.com/xinntao/Real-ESRGAN\n        if Path(model_name_or_path).exists():\n            file = model_name_or_path\n        else:\n            file = hf_hub_download(model_name_or_path, \"RealESRGAN_x4plus.pth\")\n        return cls(file)\n\n    def upsample_imagefolder(self, in_dir, out_dir, suffix=\"out\", outfile_ext=\".png\"):\n        in_dir, out_dir = Path(in_dir), Path(out_dir)\n        if not in_dir.exists():\n            raise FileNotFoundError(f\"Provided input directory {in_dir} does not exist\")\n\n        out_dir.mkdir(exist_ok=True, parents=True)\n\n        image_paths = [\n            x for x in in_dir.glob(\"*\") if x.suffix.lower() in [\".png\", \".jpg\", \".jpeg\"]\n        ]\n        for image in image_paths:\n            im = self(str(image))\n            out_filepath = out_dir / (image.stem + suffix + outfile_ext)\n            im.save(out_filepath)\n\n\n#\n@retry(tries=5)\ndef load_LDSR(model_name=\"model\", config=\"project\", checking=False):\n    # model_name = 'model'\n    # yaml_name = 'project'\n\n    model_path = os.path.join(\n        st.session_state[\"defaults\"].general.LDSR_dir, model_name + \".ckpt\"\n    )\n    yaml_path = os.path.join(\n        st.session_state[\"defaults\"].general.LDSR_dir, config + \".yaml\"\n    )\n\n    if not os.path.isfile(model_path):\n        raise Exception(\"LDSR model not found at path \" + model_path)\n    if not os.path.isfile(yaml_path):\n        raise Exception(\"LDSR model not found at path \" + yaml_path)\n    if checking is True:\n        return True\n\n    # sys.path.append(os.path.abspath(st.session_state['defaults'].general.LDSR_dir))\n    # from LDSR import LDSR\n    server_state[\"LDSR\"] = LDSR(model_path, yaml_path)\n\n    server_state[\"LDSR\"].name = model_name\n\n    return server_state[\"LDSR\"]\n\n\n#\n\n\n@retry(tries=5)\n# def try_loading_LDSR(model_name: str,checking=False):\n##LDSR = None\n##global LDSR\n# if os.path.exists(st.session_state['defaults'].general.LDSR_dir):\n# try:\n# server_state[\"LDSR\"] = load_LDSR(checking=True) # TODO: Should try to load both models before giving up\n# if checking == True:\n# print(\"Found LDSR\")\n# return True\n# print(\"Latent Diffusion Super Sampling (LDSR) model loaded\")\n# except Exception:\n# import traceback\n# print(\"Error loading LDSR:\", file=sys.stderr)\n# print(traceback.format_exc(), file=sys.stderr)\n# else:\n# print(\"LDSR not found at path, please make sure you have cloned the LDSR repo to ./models/ldsr/\")\n\n# try_loading_LDSR('model',checking=True)\n\n\n# @retry(tries=5)\ndef load_sd_model(model_name: str):\n    \"\"\"Loads Stable Diffusion model by name\"\"\"\n    ckpt_path = st.session_state.defaults.general.default_model_path\n\n    if model_name != st.session_state.defaults.general.default_model:\n        ckpt_path = os.path.join(\"models\", \"custom\", f\"{model_name}.ckpt\")\n\n    if st.session_state.defaults.general.optimized:\n        config = OmegaConf.load(st.session_state.defaults.general.optimized_config)\n\n        sd = load_sd_from_config(ckpt_path)\n        li, lo = [], []\n        for key, v_ in sd.items():\n            sp = key.split(\".\")\n            if (sp[0]) == \"model\":\n                if \"input_blocks\" in sp:\n                    li.append(key)\n                elif \"middle_block\" in sp:\n                    li.append(key)\n                elif \"time_embed\" in sp:\n                    li.append(key)\n                else:\n                    lo.append(key)\n        for key in li:\n            sd[\"model1.\" + key[6:]] = sd.pop(key)\n        for key in lo:\n            sd[\"model2.\" + key[6:]] = sd.pop(key)\n\n        device = (\n            torch.device(f\"cuda:{st.session_state.defaults.general.gpu}\")\n            if torch.cuda.is_available()\n            else torch.device(\"cpu\")\n        )\n\n        model = instantiate_from_config(config.modelUNet)\n        _, _ = model.load_state_dict(sd, strict=False)\n        model.cuda()\n        model.eval()\n        model.turbo = st.session_state.defaults.general.optimized_turbo\n\n        modelCS = instantiate_from_config(config.modelCondStage)\n        _, _ = modelCS.load_state_dict(sd, strict=False)\n        modelCS.cond_stage_model.device = device\n        modelCS.eval()\n\n        modelFS = instantiate_from_config(config.modelFirstStage)\n        _, _ = modelFS.load_state_dict(sd, strict=False)\n        modelFS.eval()\n\n        del sd\n\n        if not st.session_state.defaults.general.no_half:\n            model = model.half().to(device)\n            modelCS = modelCS.half().to(device)\n            modelFS = modelFS.half().to(device)\n\n        return config, device, model, modelCS, modelFS\n    else:\n        config = OmegaConf.load(st.session_state.defaults.general.default_model_config)\n        model = load_model_from_config(config, ckpt_path)\n\n        device = (\n            torch.device(f\"cuda:{st.session_state.defaults.general.gpu}\")\n            if torch.cuda.is_available()\n            else torch.device(\"cpu\")\n        )\n        model = (\n            model if st.session_state.defaults.general.no_half else model.half()\n        ).to(device)\n\n        return config, device, model, None, None\n\n\ndef ModelLoader(\n    models, load=False, unload=False, imgproc_realesrgan_model_name=\"RealESRGAN_x4plus\"\n):\n    # codedealer: No usages\n    # get global variables\n    global_vars = globals()\n    # check if m is in globals\n    if unload:\n        for m in models:\n            if m in global_vars:\n                # if it is, delete it\n                del global_vars[m]\n                if st.session_state[\"defaults\"].general.optimized:\n                    if m == \"model\":\n                        del global_vars[m + \"FS\"]\n                        del global_vars[m + \"CS\"]\n                if m == \"model\":\n                    m = \"Stable Diffusion\"\n                logger.info(\"Unloaded \" + m)\n    if load:\n        for m in models:\n            if (\n                m not in global_vars\n                or m in global_vars\n                and type(global_vars[m]) == bool\n            ):\n                # if it isn't, load it\n                if m == \"GFPGAN\":\n                    global_vars[m] = load_GFPGAN()\n                elif m == \"model\":\n                    sdLoader = load_sd_from_config()\n                    global_vars[m] = sdLoader[0]\n                    if st.session_state[\"defaults\"].general.optimized:\n                        global_vars[m + \"CS\"] = sdLoader[1]\n                        global_vars[m + \"FS\"] = sdLoader[2]\n                elif m == \"RealESRGAN\":\n                    global_vars[m] = load_RealESRGAN(imgproc_realesrgan_model_name)\n                elif m == \"LDSR\":\n                    global_vars[m] = load_LDSR()\n                if m == \"model\":\n                    m = \"Stable Diffusion\"\n                logger.info(\"Loaded \" + m)\n    torch_gc()\n\n\n#\n@retry(tries=5)\ndef generation_callback(img, i=0):\n    if \"update_preview_frequency\" not in st.session_state:\n        raise StopException\n\n    try:\n        if i == 0:\n            if img[\"i\"]:\n                i = img[\"i\"]\n    except TypeError as e:\n        logger.error(e)\n        pass\n\n    if (\n        st.session_state.update_preview\n        and int(st.session_state.update_preview_frequency) > 0\n        and i % int(st.session_state.update_preview_frequency) == 0\n        and i > 0\n    ):\n        # print (img)\n        # print (type(img))\n        # The following lines will convert the tensor we got on img to an actual image we can render on the UI.\n        # It can probably be done in a better way for someone who knows what they're doing. I don't.\n        # print (img,isinstance(img, torch.Tensor))\n        if isinstance(img, torch.Tensor):\n            x_samples_ddim = (\n                (\n                    server_state[\"model\"].to(\"cuda\")\n                    if not st.session_state[\"defaults\"].general.optimized\n                    else server_state[\"modelFS\"].to(\"cuda\")\n                )\n                .decode_first_stage(img)\n                .to(\"cuda\")\n            )\n        else:\n            # When using the k Diffusion samplers they return a dict instead of a tensor that look like this:\n            # {'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}\n            x_samples_ddim = (\n                (\n                    server_state[\"model\"].to(\"cuda\")\n                    if not st.session_state[\"defaults\"].general.optimized\n                    else server_state[\"modelFS\"].to(\"cuda\")\n                )\n                .decode_first_stage(img[\"denoised\"])\n                .to(\"cuda\")\n            )\n\n        x_samples_ddim = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0)\n\n        if x_samples_ddim.ndimension() == 4:\n            pil_images = [\n                transforms.ToPILImage()(x.squeeze_(0)) for x in x_samples_ddim\n            ]\n            pil_image = image_grid(pil_images, 1)\n        else:\n            pil_image = transforms.ToPILImage()(x_samples_ddim.squeeze_(0))\n\n        # update image on the UI so we can see the progress\n        if \"preview_image\" in st.session_state:\n            st.session_state[\"preview_image\"].image(pil_image)\n\n    # Show a progress bar so we can keep track of the progress even when the image progress is not been shown,\n    # Dont worry, it doesnt affect the performance.\n    if st.session_state[\"generation_mode\"] == \"txt2img\":\n        percent = int(\n            100\n            * float(\n                i + 1\n                if i + 1 < st.session_state.sampling_steps\n                else st.session_state.sampling_steps\n            )\n            / float(st.session_state.sampling_steps)\n        )\n\n        if \"progress_bar_text\" in st.session_state:\n            st.session_state[\"progress_bar_text\"].text(\n                f\"Running step: {i+1 if i+1 < st.session_state.sampling_steps else st.session_state.sampling_steps}/{st.session_state.sampling_steps} {percent if percent < 100 else 100}%\"\n            )\n    else:\n        if st.session_state[\"generation_mode\"] == \"img2img\":\n            round_sampling_steps = round(\n                st.session_state.sampling_steps * st.session_state[\"denoising_strength\"]\n            )\n            percent = int(\n                100\n                * float(i + 1 if i + 1 < round_sampling_steps else round_sampling_steps)\n                / float(round_sampling_steps)\n            )\n\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    f\"\"\"Running step: {i+1 if i+1 < round_sampling_steps else round_sampling_steps}/{round_sampling_steps} {percent if percent < 100 else 100}%\"\"\"\n                )\n        else:\n            if st.session_state[\"generation_mode\"] == \"txt2vid\":\n                percent = int(\n                    100\n                    * float(\n                        i + 1\n                        if i + 1 < st.session_state.sampling_steps\n                        else st.session_state.sampling_steps\n                    )\n                    / float(st.session_state.sampling_steps)\n                )\n\n                if \"progress_bar_text\" in st.session_state:\n                    st.session_state[\"progress_bar_text\"].text(\n                        f\"Running step: {i+1 if i+1 < st.session_state.sampling_steps else st.session_state.sampling_steps}/{st.session_state.sampling_steps}\"\n                        f\"{percent if percent < 100 else 100}%\"\n                    )\n\n    if \"progress_bar\" in st.session_state:\n        try:\n            st.session_state[\"progress_bar\"].progress(percent if percent < 100 else 100)\n        except UnboundLocalError:\n            # logger.error(e)\n            pass\n\n\nprompt_parser = re.compile(\n    \"\"\"\n    (?P<prompt>                # capture group for 'prompt'\n    [^:]+                      # match one or more non ':' characters\n    )                          # end 'prompt'\n    (?:                        # non-capture group\n    :+                         # match one or more ':' characters\n    (?P<weight>                # capture group for 'weight'\n    -?\\\\d+(?:\\\\.\\\\d+)?            # match positive or negative decimal number\n    )?                         # end weight capture group, make optional\n    \\\\s*                        # strip spaces after weight\n    |                          # OR\n    $                          # else, if no ':' then match end of line\n    )                          # end non-capture group\n\"\"\",\n    re.VERBOSE,\n)\n\n\ndef split_weighted_subprompts(input_string, normalize=True):\n    # grabs all text up to the first occurrence of ':' as sub-prompt\n    # takes the value following ':' as weight\n    # if ':' has no value defined, defaults to 1.0\n    # repeats until no text remaining\n    parsed_prompts = [\n        (match.group(\"prompt\"), float(match.group(\"weight\") or 1))\n        for match in re.finditer(prompt_parser, input_string)\n    ]\n    if not normalize:\n        return parsed_prompts\n    # this probably still doesn't handle negative weights very well\n    weight_sum = sum(map(lambda x: x[1], parsed_prompts))\n    return [(x[0], x[1] / weight_sum) for x in parsed_prompts]\n\n\ndef slerp(device, t, v0: torch.Tensor, v1: torch.Tensor, DOT_THRESHOLD=0.9995):\n    v0 = v0.detach().cpu().numpy()\n    v1 = v1.detach().cpu().numpy()\n\n    dot = np.sum(v0 * v1 / (np.linalg.norm(v0) * np.linalg.norm(v1)))\n    if np.abs(dot) > DOT_THRESHOLD:\n        v2 = (1 - t) * v0 + t * v1\n    else:\n        theta_0 = np.arccos(dot)\n        sin_theta_0 = np.sin(theta_0)\n        theta_t = theta_0 * t\n        sin_theta_t = np.sin(theta_t)\n        s0 = np.sin(theta_0 - theta_t) / sin_theta_0\n        s1 = sin_theta_t / sin_theta_0\n        v2 = s0 * v0 + s1 * v1\n\n    v2 = torch.from_numpy(v2).to(device)\n\n    return v2\n\n\n#\n@st.experimental_memo(persist=\"disk\", show_spinner=False, suppress_st_warning=True)\ndef optimize_update_preview_frequency(\n    current_chunk_speed,\n    previous_chunk_speed_list,\n    update_preview_frequency,\n    update_preview_frequency_list,\n):\n    \"\"\"Find the optimal update_preview_frequency value maximizing\n    performance while minimizing the time between updates.\"\"\"\n    from statistics import mean\n\n    previous_chunk_avg_speed = mean(previous_chunk_speed_list)\n\n    previous_chunk_speed_list.append(current_chunk_speed)\n    current_chunk_avg_speed = mean(previous_chunk_speed_list)\n\n    if current_chunk_avg_speed >= previous_chunk_avg_speed:\n        # print(f\"{current_chunk_speed} >= {previous_chunk_speed}\")\n        update_preview_frequency_list.append(update_preview_frequency + 1)\n    else:\n        # print(f\"{current_chunk_speed} <= {previous_chunk_speed}\")\n        update_preview_frequency_list.append(update_preview_frequency - 1)\n\n    update_preview_frequency = round(mean(update_preview_frequency_list))\n\n    return (\n        current_chunk_speed,\n        previous_chunk_speed_list,\n        update_preview_frequency,\n        update_preview_frequency_list,\n    )\n\n\ndef get_font(fontsize):\n    fonts = [\"arial.ttf\", \"DejaVuSans.ttf\"]\n    for font_name in fonts:\n        try:\n            return ImageFont.truetype(font_name, fontsize)\n        except OSError:\n            pass\n\n    # ImageFont.load_default() is practically unusable as it only supports\n    # latin1, so raise an exception instead if no usable font was found\n    raise Exception(f\"No usable font found (tried {', '.join(fonts)})\")\n\n\ndef load_embeddings(fp):\n    if fp is not None and hasattr(server_state[\"model\"], \"embedding_manager\"):\n        server_state[\"model\"].embedding_manager.load(fp[\"name\"])\n\n\ndef load_learned_embed_in_clip(\n    learned_embeds_path, text_encoder, tokenizer, token=None\n):\n    loaded_learned_embeds = torch.load(learned_embeds_path, map_location=\"cpu\")\n\n    # separate token and the embeds\n    if learned_embeds_path.endswith(\".pt\"):\n        # old format\n        # token = * so replace with file directory name when converting\n        trained_token = os.path.basename(learned_embeds_path)\n        params_dict = {\n            trained_token: torch.tensor(\n                list(loaded_learned_embeds[\"string_to_param\"].items())[0][1]\n            )\n        }\n        learned_embeds_path = os.path.splitext(learned_embeds_path)[0] + \".bin\"\n        torch.save(params_dict, learned_embeds_path)\n        loaded_learned_embeds = torch.load(learned_embeds_path, map_location=\"cpu\")\n        trained_token = list(loaded_learned_embeds.keys())[0]\n        embeds = loaded_learned_embeds[trained_token]\n\n    elif learned_embeds_path.endswith(\".bin\"):\n        trained_token = list(loaded_learned_embeds.keys())[0]\n        embeds = loaded_learned_embeds[trained_token]\n\n    embeds = loaded_learned_embeds[trained_token]\n    # cast to dtype of text_encoder\n    dtype = text_encoder.get_input_embeddings().weight.dtype\n    embeds.to(dtype)\n\n    # add the token in tokenizer\n    token = token if token is not None else trained_token\n    tokenizer.add_tokens(token)\n\n    # resize the token embeddings\n    text_encoder.resize_token_embeddings(len(tokenizer))\n\n    # get the id for the token and assign the embeds\n    token_id = tokenizer.convert_tokens_to_ids(token)\n    text_encoder.get_input_embeddings().weight.data[token_id] = embeds\n    return token\n\n\ndef image_grid(imgs, batch_size, force_n_rows=None, captions=None):\n    # print (len(imgs))\n    if force_n_rows is not None:\n        rows = force_n_rows\n    elif st.session_state[\"defaults\"].general.n_rows > 0:\n        rows = st.session_state[\"defaults\"].general.n_rows\n    elif st.session_state[\"defaults\"].general.n_rows == 0:\n        rows = batch_size\n    else:\n        rows = math.sqrt(len(imgs))\n        rows = round(rows)\n\n    cols = math.ceil(len(imgs) / rows)\n\n    w, h = imgs[0].size\n    grid = Image.new(\"RGB\", size=(cols * w, rows * h), color=\"black\")\n\n    try:\n        fnt = get_font(30)\n    except Exception:\n        pass\n\n    for i, img in enumerate(imgs):\n        grid.paste(img, box=(i % cols * w, i // cols * h))\n        try:\n            if captions and i < len(captions):\n                d = ImageDraw.Draw(grid)\n                size = d.textbbox(\n                    (0, 0), captions[i], font=fnt, stroke_width=2, align=\"center\"\n                )\n                d.multiline_text(\n                    (i % cols * w + w / 2, i // cols * h + h - size[3]),\n                    captions[i],\n                    font=fnt,\n                    fill=(255, 255, 255),\n                    stroke_width=2,\n                    stroke_fill=(0, 0, 0),\n                    anchor=\"mm\",\n                    align=\"center\",\n                )\n        except Exception:\n            pass\n    return grid\n\n\ndef seed_to_int(s):\n    if type(s) is int:\n        return s\n    if s is None or s == \"\":\n        return random.randint(0, 2**32 - 1)\n\n    if \",\" in s:\n        s = s.split(\",\")\n\n    if type(s) is list:\n        seed_list = []\n        for seed in s:\n            if seed is None or seed == \"\":\n                seed_list.append(random.randint(0, 2**32 - 1))\n            else:\n                seed_list = s\n\n        return seed_list\n\n    n = abs(int(s) if s.isdigit() else random.Random(s).randint(0, 2**32 - 1))\n    while n >= 2**32:\n        n = n >> 32\n    return n\n\n\n#\ndef draw_prompt_matrix(im, width, height, all_prompts):\n    def wrap(text, d, font, line_length):\n        lines = [\"\"]\n        for word in text.split():\n            line = f\"{lines[-1]} {word}\".strip()\n            if d.textlength(line, font=font) <= line_length:\n                lines[-1] = line\n            else:\n                lines.append(word)\n        return \"\\n\".join(lines)\n\n    def draw_texts(pos, x, y, texts, sizes):\n        for i, (text, size) in enumerate(zip(texts, sizes)):\n            active = pos & (1 << i) != 0\n\n            if not active:\n                text = \"\\u0336\".join(text) + \"\\u0336\"\n\n            d.multiline_text(\n                (x, y + size[1] / 2),\n                text,\n                font=fnt,\n                fill=color_active if active else color_inactive,\n                anchor=\"mm\",\n                align=\"center\",\n            )\n\n            y += size[1] + line_spacing\n\n    fontsize = (width + height) // 25\n    line_spacing = fontsize // 2\n    fnt = get_font(fontsize)\n    color_active = (0, 0, 0)\n    color_inactive = (153, 153, 153)\n\n    pad_top = height // 4\n    pad_left = width * 3 // 4 if len(all_prompts) > 2 else 0\n\n    cols = im.width // width\n    rows = im.height // height\n\n    prompts = all_prompts[1:]\n\n    result = Image.new(\"RGB\", (im.width + pad_left, im.height + pad_top), \"white\")\n    result.paste(im, (pad_left, pad_top))\n\n    d = ImageDraw.Draw(result)\n\n    boundary = math.ceil(len(prompts) / 2)\n    prompts_horiz = [wrap(x, d, fnt, width) for x in prompts[:boundary]]\n    prompts_vert = [wrap(x, d, fnt, pad_left) for x in prompts[boundary:]]\n\n    sizes_hor = [\n        (x[2] - x[0], x[3] - x[1])\n        for x in [d.multiline_textbbox((0, 0), x, font=fnt) for x in prompts_horiz]\n    ]\n    sizes_ver = [\n        (x[2] - x[0], x[3] - x[1])\n        for x in [d.multiline_textbbox((0, 0), x, font=fnt) for x in prompts_vert]\n    ]\n    hor_text_height = sum([x[1] + line_spacing for x in sizes_hor]) - line_spacing\n    ver_text_height = sum([x[1] + line_spacing for x in sizes_ver]) - line_spacing\n\n    for col in range(cols):\n        x = pad_left + width * col + width / 2\n        y = pad_top / 2 - hor_text_height / 2\n\n        draw_texts(col, x, y, prompts_horiz, sizes_hor)\n\n    for row in range(rows):\n        x = pad_left / 2\n        y = pad_top + height * row + height / 2 - ver_text_height / 2\n\n        draw_texts(row, x, y, prompts_vert, sizes_ver)\n\n    return result\n\n\n#\ndef enable_minimal_memory_usage(model):\n    \"\"\"Moves only unet to fp16 and to CUDA, while keepping lighter models on CPUs\"\"\"\n    model.unet.to(torch.float16).to(torch.device(\"cuda\"))\n    model.enable_attention_slicing(1)\n\n    torch.cuda.empty_cache()\n    torch_gc()\n\n\ndef check_prompt_length(prompt, comments):\n    \"\"\"this function tests if prompt is too long, and if so, adds a message to comments\"\"\"\n\n    tokenizer = (\n        server_state[\"model\"]\n        if not st.session_state[\"defaults\"].general.optimized\n        else server_state[\"modelCS\"]\n    ).cond_stage_model.tokenizer\n    max_length = (\n        server_state[\"model\"]\n        if not st.session_state[\"defaults\"].general.optimized\n        else server_state[\"modelCS\"]\n    ).cond_stage_model.max_length\n\n    info = (\n        server_state[\"model\"]\n        if not st.session_state[\"defaults\"].general.optimized\n        else server_state[\"modelCS\"]\n    ).cond_stage_model.tokenizer(\n        [prompt],\n        truncation=True,\n        max_length=max_length,\n        return_overflowing_tokens=True,\n        padding=\"max_length\",\n        return_tensors=\"pt\",\n    )\n    ovf = info[\"overflowing_tokens\"][0]\n    overflowing_count = ovf.shape[0]\n    if overflowing_count == 0:\n        return\n\n    vocab = {v: k for k, v in tokenizer.get_vocab().items()}\n    overflowing_words = [vocab.get(int(x), \"\") for x in ovf]\n    overflowing_text = tokenizer.convert_tokens_to_string(\"\".join(overflowing_words))\n\n    comments.append(\n        f\"Warning: too many input tokens; some ({len(overflowing_words)}) have been truncated:\\n{overflowing_text}\\n\"\n    )\n\n\n#\ndef custom_models_available():\n    with server_state_lock[\"custom_models\"]:\n        #\n        # Allow for custom models to be used instead of the default one,\n        # an example would be Waifu-Diffusion or any other fine tune of stable diffusion\n        server_state[\"custom_models\"]: sorted = []\n\n        for root, dirs, files in os.walk(os.path.join(\"models\", \"custom\")):\n            for file in files:\n                if os.path.splitext(file)[1] == \".ckpt\":\n                    server_state[\"custom_models\"].append(os.path.splitext(file)[0])\n\n        with server_state_lock[\"CustomModel_available\"]:\n            if len(server_state[\"custom_models\"]) > 0:\n                server_state[\"CustomModel_available\"] = True\n                server_state[\"custom_models\"].append(\"Stable Diffusion v1.5\")\n            else:\n                server_state[\"CustomModel_available\"] = False\n\n\n#\ndef GFPGAN_available():\n    # with server_state_lock[\"GFPGAN_models\"]:\n    #\n\n    st.session_state[\"GFPGAN_models\"]: sorted = []\n    model = st.session_state[\"defaults\"].model_manager.models.gfpgan\n\n    files_available = 0\n\n    for file in model[\"files\"]:\n        if \"save_location\" in model[\"files\"][file]:\n            if os.path.exists(\n                os.path.join(\n                    model[\"files\"][file][\"save_location\"],\n                    model[\"files\"][file][\"file_name\"],\n                )\n            ):\n                files_available += 1\n\n        elif os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            if \"GFPGANv\" in base_name:\n                st.session_state[\"GFPGAN_models\"].append(base_name)\n            files_available += 1\n\n    # we need to show the other models from previous verions that we have on the\n    # same directory in case we want to see how they perform vs each other.\n    for root, dirs, files in os.walk(st.session_state[\"defaults\"].general.GFPGAN_dir):\n        for file in files:\n            if os.path.splitext(file)[1] == \".pth\":\n                if os.path.splitext(file)[0] not in st.session_state[\"GFPGAN_models\"]:\n                    st.session_state[\"GFPGAN_models\"].append(os.path.splitext(file)[0])\n\n    if len(st.session_state[\"GFPGAN_models\"]) > 0 and files_available == len(\n        model[\"files\"]\n    ):\n        st.session_state[\"GFPGAN_available\"] = True\n    else:\n        st.session_state[\"GFPGAN_available\"] = False\n        st.session_state[\"use_GFPGAN\"] = False\n        st.session_state[\"GFPGAN_model\"] = \"GFPGANv1.4\"\n\n\n#\ndef RealESRGAN_available():\n    # with server_state_lock[\"RealESRGAN_models\"]:\n    #\n    # Allow for custom models to be used instead of the default one,\n    # an example would be Waifu-Diffusion or any other fine tune of stable diffusion\n    st.session_state[\"RealESRGAN_models\"]: sorted = []\n    model = st.session_state[\"defaults\"].model_manager.models.realesrgan\n    for file in model[\"files\"]:\n        if os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            st.session_state[\"RealESRGAN_models\"].append(base_name)\n\n    if len(st.session_state[\"RealESRGAN_models\"]) > 0:\n        st.session_state[\"RealESRGAN_available\"] = True\n    else:\n        st.session_state[\"RealESRGAN_available\"] = False\n        st.session_state[\"use_RealESRGAN\"] = False\n        st.session_state[\"RealESRGAN_model\"] = \"RealESRGAN_x4plus\"\n\n\n#\ndef LDSR_available():\n    # with server_state_lock[\"RealESRGAN_models\"]:\n    #\n    # Allow for custom models to be used instead of the default one,\n    # an example would be Waifu-Diffusion or any other fine tune of stable diffusion\n    st.session_state[\"LDSR_models\"]: sorted = []\n    files_available = 0\n    model = st.session_state[\"defaults\"].model_manager.models.ldsr\n    for file in model[\"files\"]:\n        if os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            extension = os.path.splitext(model[\"files\"][file][\"file_name\"])[1]\n            if extension == \".ckpt\":\n                st.session_state[\"LDSR_models\"].append(base_name)\n            files_available += 1\n    if files_available == len(model[\"files\"]):\n        st.session_state[\"LDSR_available\"] = True\n    else:\n        st.session_state[\"LDSR_available\"] = False\n        st.session_state[\"use_LDSR\"] = False\n        st.session_state[\"LDSR_model\"] = \"model\"\n\n\ndef save_sample(\n    image,\n    sample_path_i,\n    filename,\n    jpg_sample,\n    prompts,\n    seeds,\n    width,\n    height,\n    steps,\n    cfg_scale,\n    normalize_prompt_weights,\n    use_GFPGAN,\n    write_info_files,\n    prompt_matrix,\n    init_img,\n    uses_loopback,\n    uses_random_seed_loopback,\n    save_grid,\n    sort_samples,\n    sampler_name,\n    ddim_eta,\n    n_iter,\n    batch_size,\n    i,\n    denoising_strength,\n    resize_mode,\n    save_individual_images,\n    model_name,\n):\n    filename_i = os.path.join(sample_path_i, filename)\n\n    if \"defaults\" in st.session_state:\n        if st.session_state[\"defaults\"].general.save_metadata or write_info_files:\n            # toggles differ for txt2img vs. img2img:\n            offset = 0 if init_img is None else 2\n            toggles = []\n            if prompt_matrix:\n                toggles.append(0)\n            if normalize_prompt_weights:\n                toggles.append(1)\n            if init_img is not None:\n                if uses_loopback:\n                    toggles.append(2)\n                if uses_random_seed_loopback:\n                    toggles.append(3)\n            if save_individual_images:\n                toggles.append(2 + offset)\n            if save_grid:\n                toggles.append(3 + offset)\n            if sort_samples:\n                toggles.append(4 + offset)\n            if write_info_files:\n                toggles.append(5 + offset)\n            if use_GFPGAN:\n                toggles.append(6 + offset)\n            metadata = dict(\n                target=\"txt2img\" if init_img is None else \"img2img\",\n                prompt=prompts[i],\n                ddim_steps=steps,\n                toggles=toggles,\n                sampler_name=sampler_name,\n                ddim_eta=ddim_eta,\n                n_iter=n_iter,\n                batch_size=batch_size,\n                cfg_scale=cfg_scale,\n                seed=seeds[i],\n                width=width,\n                height=height,\n                normalize_prompt_weights=normalize_prompt_weights,\n                model_name=model_name,\n            )\n            # Not yet any use for these, but they bloat up the files:\n            # info_dict[\"init_img\"] = init_img\n            # info_dict[\"init_mask\"] = init_mask\n            if init_img is not None:\n                metadata[\"denoising_strength\"] = str(denoising_strength)\n                metadata[\"resize_mode\"] = resize_mode\n\n    if write_info_files:\n        with open(f\"{filename_i}.yaml\", \"w\", encoding=\"utf8\") as f:\n            yaml.dump(metadata, f, allow_unicode=True, width=10000)\n\n    if st.session_state[\"defaults\"].general.save_metadata:\n        # metadata = {\n        # \t\"SD:prompt\": prompts[i],\n        # \t\"SD:seed\": str(seeds[i]),\n        # \t\"SD:width\": str(width),\n        # \t\"SD:height\": str(height),\n        # \t\"SD:steps\": str(steps),\n        # \t\"SD:cfg_scale\": str(cfg_scale),\n        # \t\"SD:normalize_prompt_weights\": str(normalize_prompt_weights),\n        # }\n        metadata = {\"SD:\" + k: v for (k, v) in metadata.items()}\n\n        if save_ext == \"png\":\n            mdata = PngInfo()\n            for key in metadata:\n                mdata.add_text(key, str(metadata[key]))\n            image.save(f\"{filename_i}.png\", pnginfo=mdata)\n        else:\n            if jpg_sample:\n                image.save(f\"{filename_i}.jpg\", quality=save_quality, optimize=True)\n            elif save_ext == \"webp\":\n                image.save(\n                    f\"{filename_i}.{save_ext}\",\n                    \"webp\",\n                    quality=save_quality,\n                    lossless=save_lossless,\n                )\n            else:\n                # not sure what file format this is\n                image.save(f\"{filename_i}.{save_ext}\", f\"{save_ext}\")\n            try:\n                exif_dict = piexif.load(f\"{filename_i}.{save_ext}\")\n            except:\n                exif_dict = {\"Exif\": dict()}\n            exif_dict[\"Exif\"][\n                piexif.ExifIFD.UserComment\n            ] = piexif.helper.UserComment.dump(json.dumps(metadata), encoding=\"unicode\")\n            piexif.insert(piexif.dump(exif_dict), f\"{filename_i}.{save_ext}\")\n\n\ndef get_next_sequence_number(path, prefix=\"\"):\n    \"\"\"\n    Determines and returns the next sequence number to use when saving an\n    image in the specified directory.\n\n    If a prefix is given, only consider files whose names start with that\n    prefix, and strip the prefix from filenames before extracting their\n    sequence number.\n\n    The sequence starts at 0.\n    \"\"\"\n    result = -1\n    for p in Path(path).iterdir():\n        if p.name.endswith((\".png\", \".jpg\")) and p.name.startswith(prefix):\n            tmp = p.name[len(prefix) :]\n            try:\n                result = max(int(tmp.split(\"-\")[0]), result)\n            except ValueError:\n                pass\n    return result + 1\n\n\ndef oxlamon_matrix(prompt, seed, n_iter, batch_size):\n    pattern = re.compile(r\"(,\\s){2,}\")\n\n    class PromptItem:\n        def __init__(self, text, parts, item):\n            self.text = text\n            self.parts = parts\n            if item:\n                self.parts.append(item)\n\n    def clean(txt):\n        return re.sub(pattern, \", \", txt)\n\n    def getrowcount(txt):\n        for data in re.finditer(\".*?\\\\((.*?)\\\\).*\", txt):\n            if data:\n                return len(data.group(1).split(\"|\"))\n            break\n        return None\n\n    def repliter(txt):\n        for data in re.finditer(\".*?\\\\((.*?)\\\\).*\", txt):\n            if data:\n                r = data.span(1)\n                for item in data.group(1).split(\"|\"):\n                    yield (\n                        clean(txt[: r[0] - 1] + item.strip() + txt[r[1] + 1 :]),\n                        item.strip(),\n                    )\n            break\n\n    def iterlist(items):\n        outitems = []\n        for item in items:\n            for newitem, newpart in repliter(item.text):\n                outitems.append(PromptItem(newitem, item.parts.copy(), newpart))\n\n        return outitems\n\n    def getmatrix(prompt):\n        dataitems = [PromptItem(prompt[1:].strip(), [], None)]\n        while True:\n            newdataitems = iterlist(dataitems)\n            if len(newdataitems) == 0:\n                return dataitems\n            dataitems = newdataitems\n\n    def classToArrays(items, seed, n_iter):\n        texts = []\n        parts = []\n        seeds = []\n\n        for item in items:\n            itemseed = seed\n            for i in range(n_iter):\n                texts.append(item.text)\n                parts.append(f\"Seed: {itemseed}\\n\" + \"\\n\".join(item.parts))\n                seeds.append(itemseed)\n                itemseed += 1\n\n        return seeds, texts, parts\n\n    all_seeds, all_prompts, prompt_matrix_parts = classToArrays(\n        getmatrix(prompt), seed, n_iter\n    )\n    n_iter = math.ceil(len(all_prompts) / batch_size)\n\n    needrows = getrowcount(prompt)\n    if needrows:\n        xrows = math.sqrt(len(all_prompts))\n        xrows = round(xrows)\n        # if columns is to much\n        cols = math.ceil(len(all_prompts) / xrows)\n        if cols > needrows * 4:\n            needrows *= 2\n\n    return all_seeds, n_iter, prompt_matrix_parts, all_prompts, needrows\n\n\n#\ndef process_images(\n    outpath,\n    func_init,\n    func_sample,\n    prompt,\n    seed,\n    sampler_name,\n    save_grid,\n    batch_size,\n    n_iter,\n    steps,\n    cfg_scale,\n    width,\n    height,\n    prompt_matrix,\n    use_GFPGAN: bool = True,\n    GFPGAN_model: str = \"GFPGANv1.4\",\n    use_RealESRGAN: bool = False,\n    realesrgan_model_name: str = \"RealESRGAN_x4plus\",\n    use_LDSR: bool = False,\n    LDSR_model_name: str = \"model\",\n    ddim_eta=0.0,\n    normalize_prompt_weights=True,\n    init_img=None,\n    init_mask=None,\n    mask_blur_strength=3,\n    mask_restore=False,\n    denoising_strength=0.75,\n    noise_mode=0,\n    find_noise_steps=1,\n    resize_mode=None,\n    uses_loopback=False,\n    uses_random_seed_loopback=False,\n    sort_samples=True,\n    write_info_files=True,\n    jpg_sample=False,\n    variant_amount=0.0,\n    variant_seed=None,\n    save_individual_images: bool = True,\n):\n    \"\"\"this is the main loop that both txt2img and img2img use; it calls func_init once inside all the scopes and func_sample once per batch\"\"\"\n\n    torch_gc()\n    # start time after garbage collection (or before?)\n    start_time = time.time()\n\n    # We will use this date here later for the folder name, need to start_time if not need\n    datetime.datetime.now()\n\n    mem_mon = MemUsageMonitor(\"MemMon\")\n    mem_mon.start()\n\n    if st.session_state.defaults.general.use_sd_concepts_library:\n        prompt_tokens = re.findall(\"<([a-zA-Z0-9-]+)>\", prompt)\n\n        if prompt_tokens:\n            # compviz\n            tokenizer = (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelCS\"]\n            ).cond_stage_model.tokenizer\n            text_encoder = (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelCS\"]\n            ).cond_stage_model.transformer\n\n            # diffusers\n            # tokenizer = pipe.tokenizer\n            # text_encoder = pipe.text_encoder\n\n            ext = (\"pt\", \"bin\")\n\n            if len(prompt_tokens) > 1:\n                for token_name in prompt_tokens:\n                    embedding_path = os.path.join(\n                        st.session_state[\"defaults\"].general.sd_concepts_library_folder,\n                        token_name,\n                    )\n                    if os.path.exists(embedding_path):\n                        for files in os.listdir(embedding_path):\n                            if files.endswith(ext):\n                                load_learned_embed_in_clip(\n                                    f\"{os.path.join(embedding_path, files)}\",\n                                    text_encoder,\n                                    tokenizer,\n                                    f\"<{token_name}>\",\n                                )\n            else:\n                embedding_path = os.path.join(\n                    st.session_state[\"defaults\"].general.sd_concepts_library_folder,\n                    prompt_tokens[0],\n                )\n                if os.path.exists(embedding_path):\n                    for files in os.listdir(embedding_path):\n                        if files.endswith(ext):\n                            load_learned_embed_in_clip(\n                                f\"{os.path.join(embedding_path, files)}\",\n                                text_encoder,\n                                tokenizer,\n                                f\"<{prompt_tokens[0]}>\",\n                            )\n\n        #\n\n    os.makedirs(outpath, exist_ok=True)\n\n    sample_path = os.path.join(outpath, \"samples\")\n    os.makedirs(sample_path, exist_ok=True)\n\n    if \"|\" not in prompt and prompt.startswith(\"@\"):\n        prompt = prompt[1:]\n\n    negprompt = \"\"\n    if \"###\" in prompt:\n        prompt, negprompt = prompt.split(\"###\", 1)\n        prompt = prompt.strip()\n        negprompt = negprompt.strip()\n\n    comments = []\n\n    prompt_matrix_parts = []\n    simple_templating = False\n\n    if prompt_matrix:\n        if prompt.startswith(\"@\"):\n            simple_templating = True\n            all_seeds, n_iter, prompt_matrix_parts, all_prompts, frows = oxlamon_matrix(\n                prompt, seed, n_iter, batch_size\n            )\n        else:\n            all_prompts = []\n            prompt_matrix_parts = prompt.split(\"|\")\n            combination_count = 2 ** (len(prompt_matrix_parts) - 1)\n            for combination_num in range(combination_count):\n                current = prompt_matrix_parts[0]\n\n                for n, text in enumerate(prompt_matrix_parts[1:]):\n                    if combination_num & (2**n) > 0:\n                        current += (\"\" if text.strip().startswith(\",\") else \", \") + text\n\n                all_prompts.append(current)\n\n            n_iter = math.ceil(len(all_prompts) / batch_size)\n            all_seeds = len(all_prompts) * [seed]\n\n        logger.info(\n            f\"Prompt matrix will create {len(all_prompts)} images using a total of {n_iter} batches.\"\n        )\n    else:\n        if not st.session_state[\"defaults\"].general.no_verify_input:\n            try:\n                check_prompt_length(prompt, comments)\n            except:\n                import traceback\n\n                logger.info(\"Error verifying input:\", file=sys.stderr)\n                logger.info(traceback.format_exc(), file=sys.stderr)\n\n        all_prompts = batch_size * n_iter * [prompt]\n        all_seeds = [seed + x for x in range(len(all_prompts))]\n\n    precision_scope = (\n        autocast\n        if st.session_state[\"defaults\"].general.precision == \"autocast\"\n        else nullcontext\n    )\n    output_images = []\n    grid_captions = []\n    stats = []\n    with torch.no_grad(), precision_scope(\"cuda\"), (\n        server_state[\"model\"].ema_scope()\n        if not st.session_state[\"defaults\"].general.optimized\n        else nullcontext()\n    ):\n        init_data = func_init()\n        time.time()\n\n        # if variant_amount > 0.0 create noise from base seed\n        base_x = None\n        if variant_amount > 0.0:\n            target_seed_randomizer = seed_to_int(\"\")  # random seed\n            torch.manual_seed(\n                seed\n            )  # this has to be the single starting seed (not per-iteration)\n            base_x = create_random_tensors(\n                [opt_C, height // opt_f, width // opt_f], seeds=[seed]\n            )\n            # we don't want all_seeds to be sequential from starting seed with variants,\n            # since that makes the same variants each time,\n            # so we add target_seed_randomizer as a random offset\n            for si in range(len(all_seeds)):\n                all_seeds[si] += target_seed_randomizer\n\n        for n in range(n_iter):\n            logger.info(f\"Iteration: {n+1}/{n_iter}\")\n            prompts = all_prompts[n * batch_size : (n + 1) * batch_size]\n            captions = prompt_matrix_parts[n * batch_size : (n + 1) * batch_size]\n            seeds = all_seeds[n * batch_size : (n + 1) * batch_size]\n\n            logger.info(prompt)\n\n            if st.session_state[\"defaults\"].general.optimized:\n                server_state[\"modelCS\"].to(st.session_state[\"defaults\"].general.gpu)\n\n            uc = (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelCS\"]\n            ).get_learned_conditioning(len(prompts) * [negprompt])\n\n            if isinstance(prompts, tuple):\n                prompts = list(prompts)\n\n            # split the prompt if it has : for weighting\n            # TODO for speed it might help to have this occur when all_prompts filled??\n            weighted_subprompts = split_weighted_subprompts(\n                prompts[0], normalize_prompt_weights\n            )\n\n            # sub-prompt weighting used if more than 1\n            if len(weighted_subprompts) > 1:\n                c = torch.zeros_like(\n                    uc\n                )  # i dont know if this is correct.. but it works\n                for i in range(0, len(weighted_subprompts)):\n                    # note if alpha negative, it functions same as torch.sub\n                    c = torch.add(\n                        c,\n                        (\n                            server_state[\"model\"]\n                            if not st.session_state[\"defaults\"].general.optimized\n                            else server_state[\"modelCS\"]\n                        ).get_learned_conditioning(weighted_subprompts[i][0]),\n                        alpha=weighted_subprompts[i][1],\n                    )\n            else:  # just behave like usual\n                c = (\n                    server_state[\"model\"]\n                    if not st.session_state[\"defaults\"].general.optimized\n                    else server_state[\"modelCS\"]\n                ).get_learned_conditioning(prompts)\n\n            shape = [opt_C, height // opt_f, width // opt_f]\n\n            if st.session_state[\"defaults\"].general.optimized:\n                mem = torch.cuda.memory_allocated() / 1e6\n                server_state[\"modelCS\"].to(\"cpu\")\n                while torch.cuda.memory_allocated() / 1e6 >= mem:\n                    time.sleep(1)\n\n            if noise_mode == 1 or noise_mode == 3:\n                # TODO params for find_noise_to_image\n                x = torch.cat(\n                    batch_size\n                    * [\n                        find_noise_for_image(\n                            server_state[\"model\"],\n                            server_state[\"device\"],\n                            init_img.convert(\"RGB\"),\n                            \"\",\n                            find_noise_steps,\n                            0.0,\n                            normalize=True,\n                            generation_callback=generation_callback,\n                        )\n                    ],\n                    dim=0,\n                )\n            else:\n                # we manually generate all input noises because each one should have a specific seed\n                x = create_random_tensors(shape, seeds=seeds)\n\n            if variant_amount > 0.0:  # we are making variants\n                # using variant_seed as sneaky toggle,\n                # when not None or '' use the variant_seed\n                # otherwise use seeds\n                if variant_seed is not None and variant_seed != \"\":\n                    specified_variant_seed = seed_to_int(variant_seed)\n                    torch.manual_seed(specified_variant_seed)\n                    seeds = [specified_variant_seed]\n                # finally, slerp base_x noise to target_x noise for creating a variant\n                x = slerp(\n                    st.session_state[\"defaults\"].general.gpu,\n                    max(0.0, min(1.0, variant_amount)),\n                    base_x,\n                    x,\n                )\n\n            samples_ddim = func_sample(\n                init_data=init_data,\n                x=x,\n                conditioning=c,\n                unconditional_conditioning=uc,\n                sampler_name=sampler_name,\n            )\n\n            if st.session_state[\"defaults\"].general.optimized:\n                server_state[\"modelFS\"].to(st.session_state[\"defaults\"].general.gpu)\n\n            x_samples_ddim = (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelFS\"]\n            ).decode_first_stage(samples_ddim)\n            x_samples_ddim = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0)\n\n            run_images = []\n            for i, x_sample in enumerate(x_samples_ddim):\n                sanitized_prompt = slugify(prompts[i])\n\n                percent = i / len(x_samples_ddim)\n\n                if \"progress_bar\" in st.session_state:\n                    st.session_state[\"progress_bar\"].progress(\n                        percent if percent < 100 else 100\n                    )\n\n                if sort_samples:\n                    full_path = os.path.join(os.getcwd(), sample_path, sanitized_prompt)\n\n                    sanitized_prompt = sanitized_prompt[: 120 - len(full_path)]\n                    sample_path_i = os.path.join(sample_path, sanitized_prompt)\n\n                    # print(f\"output folder length: {len(os.path.join(os.getcwd(), sample_path_i))}\")\n                    # print(os.path.join(os.getcwd(), sample_path_i))\n\n                    os.makedirs(sample_path_i, exist_ok=True)\n                    base_count = get_next_sequence_number(sample_path_i)\n                    filename = f\"{base_count:05}-{steps}_{sampler_name}_{seeds[i]}\"\n                else:\n                    full_path = os.path.join(os.getcwd(), sample_path)\n                    sample_path_i = sample_path\n                    base_count = get_next_sequence_number(sample_path_i)\n                    filename = f\"{base_count:05}-{steps}_{sampler_name}_{seeds[i]}_{sanitized_prompt}\"[\n                        : 120 - len(full_path)\n                    ]  # same as before\n\n                x_sample = 255.0 * rearrange(x_sample.cpu().numpy(), \"c h w -> h w c\")\n                x_sample = x_sample.astype(np.uint8)\n                image = Image.fromarray(x_sample)\n                original_filename = filename\n\n                if \"preview_image\" in st.session_state:\n                    st.session_state[\"preview_image\"].image(image)\n\n                #\n                if (\n                    use_GFPGAN\n                    and server_state[\"GFPGAN\"] is not None\n                    and not use_RealESRGAN\n                    and not use_LDSR\n                ):\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running GFPGAN on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n\n                    if server_state[\"GFPGAN\"].name != GFPGAN_model:\n                        load_models(\n                            use_LDSR=use_LDSR,\n                            LDSR_model=LDSR_model_name,\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    torch_gc()\n\n                    with torch.autocast(\"cuda\"):\n                        cropped_faces, restored_faces, restored_img = server_state[\n                            \"GFPGAN\"\n                        ].enhance(\n                            x_sample[:, :, ::-1],\n                            has_aligned=False,\n                            only_center_face=False,\n                            paste_back=True,\n                        )\n\n                    gfpgan_sample = restored_img[:, :, ::-1]\n                    gfpgan_image = Image.fromarray(gfpgan_sample)\n\n                    # if st.session_state[\"GFPGAN_strenght\"]:\n                    # gfpgan_sample = Image.blend(image, gfpgan_image, st.session_state[\"GFPGAN_strenght\"])\n\n                    gfpgan_filename = original_filename + \"-gfpgan\"\n\n                    save_sample(\n                        gfpgan_image,\n                        sample_path_i,\n                        gfpgan_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(gfpgan_image)  # 287\n                    run_images.append(gfpgan_image)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\ngfpgan\")\n\n                #\n                elif (\n                    use_RealESRGAN\n                    and server_state[\"RealESRGAN\"] is not None\n                    and not use_GFPGAN\n                ):\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running RealESRGAN on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n                    # skip_save = True # #287 >_>\n                    torch_gc()\n\n                    if server_state[\"RealESRGAN\"].model.name != realesrgan_model_name:\n                        # try_loading_RealESRGAN(realesrgan_model_name)\n                        load_models(\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                        x_sample[:, :, ::-1]\n                    )\n                    esrgan_filename = original_filename + \"-esrgan4x\"\n                    esrgan_sample = output[:, :, ::-1]\n                    esrgan_image = Image.fromarray(esrgan_sample)\n\n                    # save_sample(image, sample_path_i, original_filename, jpg_sample, prompts, seeds, width, height, steps, cfg_scale,\n                    # normalize_prompt_weights, use_GFPGAN, write_info_files, prompt_matrix, init_img, uses_loopback, uses_random_seed_loopback, skip_save,\n                    # save_grid, sort_samples, sampler_name, ddim_eta, n_iter, batch_size, i, denoising_strength, resize_mode)\n\n                    save_sample(\n                        esrgan_image,\n                        sample_path_i,\n                        esrgan_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(esrgan_image)  # 287\n                    run_images.append(esrgan_image)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\nesrgan\")\n\n                #\n                elif use_LDSR and \"LDSR\" in server_state and not use_GFPGAN:\n                    logger.info(\n                        \"Running LDSR on image %d of %d...\"\n                        % (i + 1, len(x_samples_ddim))\n                    )\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running LDSR on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n                    # skip_save = True # #287 >_>\n                    torch_gc()\n\n                    if server_state[\"LDSR\"].name != LDSR_model_name:\n                        # try_loading_RealESRGAN(realesrgan_model_name)\n                        load_models(\n                            use_LDSR=use_LDSR,\n                            LDSR_model=LDSR_model_name,\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    result = server_state[\"LDSR\"].superResolution(\n                        image,\n                        ddimSteps=st.session_state[\"ldsr_sampling_steps\"],\n                        preDownScale=st.session_state[\"preDownScale\"],\n                        postDownScale=st.session_state[\"postDownScale\"],\n                        downsample_method=st.session_state[\"downsample_method\"],\n                    )\n\n                    ldsr_filename = original_filename + \"-ldsr4x\"\n                    # ldsr_sample = result[:,:,::-1]\n                    # ldsr_image = Image.fromarray(ldsr_sample)\n\n                    # save_sample(image, sample_path_i, original_filename, jpg_sample, prompts, seeds, width, height, steps, cfg_scale,\n                    # normalize_prompt_weights, use_GFPGAN, write_info_files, prompt_matrix, init_img, uses_loopback, uses_random_seed_loopback, skip_save,\n                    # save_grid, sort_samples, sampler_name, ddim_eta, n_iter, batch_size, i, denoising_strength, resize_mode)\n\n                    save_sample(\n                        result,\n                        sample_path_i,\n                        ldsr_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(result)  # 287\n                    run_images.append(result)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\nldsr\")\n\n                #\n                elif (\n                    use_LDSR\n                    and \"LDSR\" in server_state\n                    and use_GFPGAN\n                    and \"GFPGAN\" in server_state\n                ):\n                    logger.info(\n                        \"Running GFPGAN+LDSR on image %d of %d...\"\n                        % (i + 1, len(x_samples_ddim))\n                    )\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running GFPGAN+LDSR on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n\n                    if server_state[\"GFPGAN\"].name != GFPGAN_model:\n                        load_models(\n                            use_LDSR=use_LDSR,\n                            LDSR_model=LDSR_model_name,\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    torch_gc()\n                    cropped_faces, restored_faces, restored_img = server_state[\n                        \"GFPGAN\"\n                    ].enhance(\n                        x_sample[:, :, ::-1],\n                        has_aligned=False,\n                        only_center_face=False,\n                        paste_back=True,\n                    )\n\n                    gfpgan_sample = restored_img[:, :, ::-1]\n                    gfpgan_image = Image.fromarray(gfpgan_sample)\n\n                    if server_state[\"LDSR\"].name != LDSR_model_name:\n                        # try_loading_RealESRGAN(realesrgan_model_name)\n                        load_models(\n                            use_LDSR=use_LDSR,\n                            LDSR_model=LDSR_model_name,\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    # LDSR.superResolution(gfpgan_image, ddimSteps=100, preDownScale='None', postDownScale='None', downsample_method=\"Lanczos\")\n                    result = server_state[\"LDSR\"].superResolution(\n                        gfpgan_image,\n                        ddimSteps=st.session_state[\"ldsr_sampling_steps\"],\n                        preDownScale=st.session_state[\"preDownScale\"],\n                        postDownScale=st.session_state[\"postDownScale\"],\n                        downsample_method=st.session_state[\"downsample_method\"],\n                    )\n\n                    ldsr_filename = original_filename + \"-gfpgan-ldsr2x\"\n                    # ldsr_sample = result[:,:,::-1]\n                    # ldsr_image = Image.fromarray(result)\n\n                    # save_sample(image, sample_path_i, original_filename, jpg_sample, prompts, seeds, width, height, steps, cfg_scale,\n                    # normalize_prompt_weights, use_GFPGAN, write_info_files, prompt_matrix, init_img, uses_loopback, uses_random_seed_loopback, skip_save,\n                    # save_grid, sort_samples, sampler_name, ddim_eta, n_iter, batch_size, i, denoising_strength, resize_mode)\n\n                    save_sample(\n                        result,\n                        sample_path_i,\n                        ldsr_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(result)  # 287\n                    run_images.append(result)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\ngfpgan-ldsr\")\n\n                elif (\n                    use_RealESRGAN\n                    and server_state[\"RealESRGAN\"] is not None\n                    and use_GFPGAN\n                    and server_state[\"GFPGAN\"] is not None\n                ):\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running GFPGAN+RealESRGAN on image %d of %d...\"\n                            % (i + 1, len(x_samples_ddim))\n                        )\n                    # skip_save = True # #287 >_>\n                    torch_gc()\n                    cropped_faces, restored_faces, restored_img = server_state[\n                        \"GFPGAN\"\n                    ].enhance(\n                        x_sample[:, :, ::-1],\n                        has_aligned=False,\n                        only_center_face=False,\n                        paste_back=True,\n                    )\n                    gfpgan_sample = restored_img[:, :, ::-1]\n\n                    if server_state[\"RealESRGAN\"].model.name != realesrgan_model_name:\n                        # try_loading_RealESRGAN(realesrgan_model_name)\n                        load_models(\n                            use_GFPGAN=use_GFPGAN,\n                            use_RealESRGAN=use_RealESRGAN,\n                            RealESRGAN_model=realesrgan_model_name,\n                        )\n\n                    output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                        gfpgan_sample[:, :, ::-1]\n                    )\n                    gfpgan_esrgan_filename = original_filename + \"-gfpgan-esrgan4x\"\n                    gfpgan_esrgan_sample = output[:, :, ::-1]\n                    gfpgan_esrgan_image = Image.fromarray(gfpgan_esrgan_sample)\n\n                    save_sample(\n                        gfpgan_esrgan_image,\n                        sample_path_i,\n                        gfpgan_esrgan_filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        False,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    output_images.append(gfpgan_esrgan_image)  # 287\n                    run_images.append(gfpgan_esrgan_image)\n\n                    if simple_templating:\n                        grid_captions.append(captions[i] + \"\\ngfpgan_esrgan\")\n\n                #\n\n                else:\n                    output_images.append(image)\n                    run_images.append(image)\n\n                if mask_restore and init_mask:\n                    # init_mask = init_mask if keep_mask else ImageOps.invert(init_mask)\n                    init_mask = init_mask.filter(\n                        ImageFilter.GaussianBlur(mask_blur_strength)\n                    )\n                    init_mask = init_mask.convert(\"L\")\n                    init_img = init_img.convert(\"RGB\")\n                    image = image.convert(\"RGB\")\n\n                    if use_RealESRGAN and server_state[\"RealESRGAN\"] is not None:\n                        if (\n                            server_state[\"RealESRGAN\"].model.name\n                            != realesrgan_model_name\n                        ):\n                            # try_loading_RealESRGAN(realesrgan_model_name)\n                            load_models(\n                                use_GFPGAN=use_GFPGAN,\n                                use_RealESRGAN=use_RealESRGAN,\n                                RealESRGAN_model=realesrgan_model_name,\n                            )\n\n                        output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                            np.array(init_img, dtype=np.uint8)\n                        )\n                        init_img = Image.fromarray(output)\n                        init_img = init_img.convert(\"RGB\")\n\n                        output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                            np.array(init_mask, dtype=np.uint8)\n                        )\n                        init_mask = Image.fromarray(output)\n                        init_mask = init_mask.convert(\"L\")\n\n                    image = Image.composite(init_img, image, init_mask)\n\n                if save_individual_images:\n                    save_sample(\n                        image,\n                        sample_path_i,\n                        filename,\n                        jpg_sample,\n                        prompts,\n                        seeds,\n                        width,\n                        height,\n                        steps,\n                        cfg_scale,\n                        normalize_prompt_weights,\n                        use_GFPGAN,\n                        write_info_files,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        save_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        save_individual_images,\n                        server_state[\"loaded_model\"],\n                    )\n\n                    # if add_original_image or not simple_templating:\n                    # output_images.append(image)\n                    # if simple_templating:\n                    # grid_captions.append( captions[i] )\n                if \"defaults\" in st.session_state:\n                    if st.session_state[\"defaults\"].general.optimized:\n                        mem = torch.cuda.memory_allocated() / 1e6\n                        server_state[\"modelFS\"].to(\"cpu\")\n                        while torch.cuda.memory_allocated() / 1e6 >= mem:\n                            time.sleep(1)\n\n            if len(run_images) > 1:\n                preview_image = image_grid(run_images, n_iter)\n            else:\n                preview_image = run_images[0]\n\n            # Constrain the final preview image to 1440x900 so we're not sending huge amounts of data\n            # to the browser\n            preview_image = constrain_image(preview_image, 1440, 900)\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\"Finished!\")\n\n            if \"preview_image\" in st.session_state:\n                st.session_state[\"preview_image\"].image(preview_image)\n\n        if prompt_matrix or save_grid:\n            if prompt_matrix:\n                if simple_templating:\n                    grid = image_grid(\n                        output_images,\n                        n_iter,\n                        force_n_rows=frows,\n                        captions=grid_captions,\n                    )\n                else:\n                    grid = image_grid(\n                        output_images,\n                        n_iter,\n                        force_n_rows=1 << ((len(prompt_matrix_parts) - 1) // 2),\n                    )\n                    try:\n                        grid = draw_prompt_matrix(\n                            grid, width, height, prompt_matrix_parts\n                        )\n                    except:\n                        import traceback\n\n                        logger.error(\n                            \"Error creating prompt_matrix text:\", file=sys.stderr\n                        )\n                        logger.error(traceback.format_exc(), file=sys.stderr)\n            else:\n                grid = image_grid(output_images, batch_size)\n\n            if grid and (batch_size > 1 or n_iter > 1):\n                output_images.insert(0, grid)\n\n            grid_count = get_next_sequence_number(outpath, \"grid-\")\n            grid_file = f\"grid-{grid_count:05}-{seed}_{slugify(prompts[i].replace(' ', '_')[:120-len(full_path)])}.{grid_ext}\"\n            grid.save(\n                os.path.join(outpath, grid_file),\n                grid_format,\n                quality=grid_quality,\n                lossless=grid_lossless,\n                optimize=True,\n            )\n\n        time.time()\n\n    mem_max_used, mem_total = mem_mon.read_and_stop()\n    time_diff = time.time() - start_time\n\n    info = f\"\"\"\n            {prompt}\n            Steps: {steps}, Sampler: {sampler_name}, CFG scale: {cfg_scale}, Seed: {seed}{', Denoising strength: '+str(denoising_strength) if init_img is not None else ''}{', GFPGAN' if use_GFPGAN and server_state[\"GFPGAN\"] is not None else ''}{', '+realesrgan_model_name if use_RealESRGAN and server_state[\"RealESRGAN\"] is not None else ''}{', Prompt Matrix Mode.' if prompt_matrix else ''}\"\"\".strip()\n    stats = f\"\"\"\n            Took { round(time_diff, 2) }s total ({ round(time_diff/(len(all_prompts)),2) }s per image)\n            Peak memory usage: { -(mem_max_used // -1_048_576) } MiB / { -(mem_total // -1_048_576) } MiB / { round(mem_max_used/mem_total*100, 3) }%\"\"\"\n\n    for comment in comments:\n        info += \"\\n\\n\" + comment\n\n    # mem_mon.stop()\n    # del mem_mon\n    torch_gc()\n\n    return output_images, seed, info, stats\n\n\ndef resize_image(resize_mode, im, width, height):\n    LANCZOS = (\n        Image.Resampling.LANCZOS if hasattr(Image, \"Resampling\") else Image.LANCZOS\n    )\n    if resize_mode == 0:\n        res = im.resize((width, height), resample=LANCZOS)\n    elif resize_mode == 1:\n        ratio = width / height\n        src_ratio = im.width / im.height\n\n        src_w = width if ratio > src_ratio else im.width * height // im.height\n        src_h = height if ratio <= src_ratio else im.height * width // im.width\n\n        resized = im.resize((src_w, src_h), resample=LANCZOS)\n        res = Image.new(\"RGBA\", (width, height))\n        res.paste(resized, box=(width // 2 - src_w // 2, height // 2 - src_h // 2))\n    else:\n        ratio = width / height\n        src_ratio = im.width / im.height\n\n        src_w = width if ratio < src_ratio else im.width * height // im.height\n        src_h = height if ratio >= src_ratio else im.height * width // im.width\n\n        resized = im.resize((src_w, src_h), resample=LANCZOS)\n        res = Image.new(\"RGBA\", (width, height))\n        res.paste(resized, box=(width // 2 - src_w // 2, height // 2 - src_h // 2))\n\n        if ratio < src_ratio:\n            fill_height = height // 2 - src_h // 2\n            res.paste(\n                resized.resize((width, fill_height), box=(0, 0, width, 0)), box=(0, 0)\n            )\n            res.paste(\n                resized.resize(\n                    (width, fill_height), box=(0, resized.height, width, resized.height)\n                ),\n                box=(0, fill_height + src_h),\n            )\n        elif ratio > src_ratio:\n            fill_width = width // 2 - src_w // 2\n            res.paste(\n                resized.resize((fill_width, height), box=(0, 0, 0, height)), box=(0, 0)\n            )\n            res.paste(\n                resized.resize(\n                    (fill_width, height), box=(resized.width, 0, resized.width, height)\n                ),\n                box=(fill_width + src_w, 0),\n            )\n\n    return res\n\n\ndef constrain_image(img, max_width, max_height):\n    ratio = max(img.width / max_width, img.height / max_height)\n    if ratio <= 1:\n        return img\n    resampler = (\n        Image.Resampling.LANCZOS if hasattr(Image, \"Resampling\") else Image.LANCZOS\n    )\n    resized = img.resize(\n        (int(img.width / ratio), int(img.height / ratio)), resample=resampler\n    )\n    return resized\n\n\ndef convert_pt_to_bin_and_load(input_file, text_encoder, tokenizer, placeholder_token):\n    x = torch.load(input_file, map_location=torch.device(\"cpu\"))\n\n    params_dict = {\n        placeholder_token: torch.tensor(list(x[\"string_to_param\"].items())[0][1])\n    }\n    torch.save(params_dict, \"learned_embeds.bin\")\n    load_learned_embed_in_clip(\n        \"learned_embeds.bin\", text_encoder, tokenizer, placeholder_token\n    )\n    logger.info(\"loaded\", placeholder_token)\n\n\n@logger.catch(reraise=True)\ndef run_bridge(\n    interval,\n    api_key,\n    horde_name,\n    horde_url,\n    priority_usernames,\n    horde_max_pixels,\n    horde_nsfw,\n    horde_censor_nsfw,\n    horde_blacklist,\n    horde_censorlist,\n):\n    current_id = None\n    current_payload = None\n    loop_retry = 0\n    # load the model for stable horde if its not in memory already\n    # we should load it after we get the request from the API in\n    # case the model is different from the loaded in memory but\n    # for now we can load it here so its read right away.\n    load_models(use_GFPGAN=True)\n    while True:\n        if loop_retry > 10 and current_id:\n            logger.info(\n                f\"Exceeded retry count {loop_retry} for generation id {current_id}. Aborting generation!\"\n            )\n            current_id = None\n            current_payload = None\n            current_generation = None\n            loop_retry = 0\n        elif current_id:\n            logger.info(f\"Retrying ({loop_retry}/10) for generation id {current_id}...\")\n        gen_dict = {\n            \"name\": horde_name,\n            \"max_pixels\": horde_max_pixels,\n            \"priority_usernames\": priority_usernames,\n            \"nsfw\": horde_nsfw,\n            \"blacklist\": horde_blacklist,\n            \"models\": [\"stable_diffusion\"],\n        }\n        headers = {\"apikey\": api_key}\n        if current_id:\n            loop_retry += 1\n        else:\n            try:\n                pop_req = requests.post(\n                    horde_url + \"/api/v2/generate/pop\", json=gen_dict, headers=headers\n                )\n            except requests.exceptions.ConnectionError:\n                logger.warning(\n                    f\"Server {horde_url} unavailable during pop. Waiting 10 seconds...\"\n                )\n                time.sleep(10)\n                continue\n            except requests.exceptions.JSONDecodeError():\n                logger.warning(\n                    f\"Server {horde_url} unavailable during pop. Waiting 10 seconds...\"\n                )\n                time.sleep(10)\n                continue\n            try:\n                pop = pop_req.json()\n            except json.decoder.JSONDecodeError:\n                logger.warning(\n                    f\"Could not decode response from {horde_url} as json. Please inform its administrator!\"\n                )\n                time.sleep(interval)\n                continue\n            if pop is None:\n                logger.warning(\n                    f\"Something has gone wrong with {horde_url}. Please inform its administrator!\"\n                )\n                time.sleep(interval)\n                continue\n            if not pop_req.ok:\n                pop[\"message\"]\n                logger.warning(\n                    f\"During gen pop, server {horde_url} responded with status code {pop_req.status_code}: {pop['message']}. Waiting for 10 seconds...\"\n                )\n                if \"errors\" in pop:\n                    logger.debug(f\"Detailed Request Errors: {pop['errors']}\")\n                time.sleep(10)\n                continue\n            if not pop.get(\"id\"):\n                skipped_info = pop.get(\"skipped\")\n                if skipped_info and len(skipped_info):\n                    skipped_info = f\" Skipped Info: {skipped_info}.\"\n                else:\n                    skipped_info = \"\"\n                logger.info(\n                    f\"Server {horde_url} has no valid generations to do for us.{skipped_info}\"\n                )\n                time.sleep(interval)\n                continue\n            current_id = pop[\"id\"]\n            logger.info(f\"Request with id {current_id} picked up. Initiating work...\")\n            current_payload = pop[\"payload\"]\n            if \"toggles\" in current_payload and current_payload[\"toggles\"] is None:\n                logger.error(f\"Received Bad payload: {pop}\")\n                current_id = None\n                current_payload = None\n                current_generation = None\n                loop_retry = 0\n                time.sleep(10)\n                continue\n\n        logger.debug(current_payload)\n        current_payload[\"toggles\"] = current_payload.get(\"toggles\", [1, 4])\n        # In bridge-mode, matrix is prepared on the horde and split in multiple nodes\n        if 0 in current_payload[\"toggles\"]:\n            current_payload[\"toggles\"].remove(0)\n        if 8 not in current_payload[\"toggles\"]:\n            if horde_censor_nsfw and not horde_nsfw:\n                current_payload[\"toggles\"].append(8)\n            elif any(word in current_payload[\"prompt\"] for word in horde_censorlist):\n                current_payload[\"toggles\"].append(8)\n\n        from txt2img import txt2img\n\n        \"\"\"{'prompt': 'Centred Husky, inside spiral with circular patterns, trending on dribbble, knotwork, spirals, key patterns,\n        zoomorphics, ', 'ddim_steps': 30, 'n_iter': 1, 'sampler_name': 'DDIM', 'cfg_scale': 16.0, 'seed': '3405278433', 'height': 512, 'width': 512}\"\"\"\n\n        # images, seed, info, stats = txt2img(**current_payload)\n        images, seed, info, stats = txt2img(\n            str(current_payload[\"prompt\"]),\n            int(current_payload[\"ddim_steps\"]),\n            str(current_payload[\"sampler_name\"]),\n            int(current_payload[\"n_iter\"]),\n            1,\n            float(current_payload[\"cfg_scale\"]),\n            str(current_payload[\"seed\"]),\n            int(current_payload[\"height\"]),\n            int(current_payload[\"width\"]),\n            save_grid=False,\n            group_by_prompt=False,\n            save_individual_images=False,\n            write_info_files=False,\n        )\n\n        buffer = BytesIO()\n        # We send as WebP to avoid using all the horde bandwidth\n        images[0].save(buffer, format=\"WebP\", quality=90)\n        # logger.info(info)\n        submit_dict = {\n            \"id\": current_id,\n            \"generation\": base64.b64encode(buffer.getvalue()).decode(\"utf8\"),\n            \"api_key\": api_key,\n            \"seed\": seed,\n            \"max_pixels\": horde_max_pixels,\n        }\n        current_generation = seed\n        while current_id and current_generation is not None:\n            try:\n                submit_req = requests.post(\n                    horde_url + \"/api/v2/generate/submit\",\n                    json=submit_dict,\n                    headers=headers,\n                )\n                try:\n                    submit = submit_req.json()\n                except json.decoder.JSONDecodeError:\n                    logger.error(\n                        f\"Something has gone wrong with {horde_url} during submit. Please inform its administrator!  (Retry {loop_retry}/10)\"\n                    )\n                    time.sleep(interval)\n                    continue\n                if submit_req.status_code == 404:\n                    logger.info(\n                        \"The generation we were working on got stale. Aborting!\"\n                    )\n                elif not submit_req.ok:\n                    logger.error(\n                        f\"During gen submit, server {horde_url} responded with status code {submit_req.status_code}: {submit['message']}. Waiting for 10 seconds...  (Retry {loop_retry}/10)\"\n                    )\n                    if \"errors\" in submit:\n                        logger.debug(f\"Detailed Request Errors: {submit['errors']}\")\n                    time.sleep(10)\n                    continue\n                else:\n                    logger.info(\n                        f'Submitted generation with id {current_id} and contributed for {submit_req.json()[\"reward\"]}'\n                    )\n                current_id = None\n                current_payload = None\n                current_generation = None\n                loop_retry = 0\n            except requests.exceptions.ConnectionError:\n                logger.warning(\n                    f\"Server {horde_url} unavailable during submit. Waiting 10 seconds...  (Retry {loop_retry}/10)\"\n                )\n                time.sleep(10)\n                continue\n        time.sleep(interval)\n\n\n#\n"
  },
  {
    "path": "scripts/stable_diffusion_pipeline.py",
    "content": "import inspect\nfrom typing import Callable, List, Optional, Union\nfrom pathlib import Path\nfrom torchvision.transforms.functional import pil_to_tensor\nimport librosa\nfrom PIL import Image\nfrom torchvision.io import write_video\nimport numpy as np\nimport time\nimport json\n\nimport torch\nfrom diffusers.configuration_utils import FrozenDict\nfrom diffusers.models import AutoencoderKL, UNet2DConditionModel\nfrom diffusers.pipeline_utils import DiffusionPipeline\nfrom diffusers.pipelines.stable_diffusion.safety_checker import (\n    StableDiffusionSafetyChecker,\n)\nfrom diffusers.utils import deprecate, logging\nfrom diffusers.schedulers import DDIMScheduler, LMSDiscreteScheduler, PNDMScheduler\nfrom diffusers.pipelines.stable_diffusion import StableDiffusionPipelineOutput\n\nfrom transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer\nfrom torch import nn\n\nfrom sd_utils import RealESRGANModel\n\nlogger = logging.get_logger(__name__)  # pylint: disable=invalid-name\n\n\ndef get_timesteps_arr(audio_filepath, offset, duration, fps=30, margin=1.0, smooth=0.0):\n    y, sr = librosa.load(audio_filepath, offset=offset, duration=duration)\n\n    # librosa.stft hardcoded defaults...\n    # n_fft defaults to 2048\n    # hop length is win_length // 4\n    # win_length defaults to n_fft\n    D = librosa.stft(y, n_fft=2048, hop_length=2048 // 4, win_length=2048)\n\n    # Extract percussive elements\n    D_harmonic, D_percussive = librosa.decompose.hpss(D, margin=margin)\n    y_percussive = librosa.istft(D_percussive, length=len(y))\n\n    # Get normalized melspectrogram\n    spec_raw = librosa.feature.melspectrogram(y=y_percussive, sr=sr)\n    spec_max = np.amax(spec_raw, axis=0)\n    spec_norm = (spec_max - np.min(spec_max)) / np.ptp(spec_max)\n\n    # Resize cumsum of spec norm to our desired number of interpolation frames\n    x_norm = np.linspace(0, spec_norm.shape[-1], spec_norm.shape[-1])\n    y_norm = np.cumsum(spec_norm)\n    y_norm /= y_norm[-1]\n    x_resize = np.linspace(0, y_norm.shape[-1], int(duration * fps))\n\n    T = np.interp(x_resize, x_norm, y_norm)\n\n    # Apply smoothing\n    return T * (1 - smooth) + np.linspace(0.0, 1.0, T.shape[0]) * smooth\n\n\ndef slerp(t, v0, v1, DOT_THRESHOLD=0.9995):\n    \"\"\"helper function to spherically interpolate two arrays v1 v2\"\"\"\n\n    if not isinstance(v0, np.ndarray):\n        inputs_are_torch = True\n        input_device = v0.device\n        v0 = v0.cpu().numpy()\n        v1 = v1.cpu().numpy()\n\n    dot = np.sum(v0 * v1 / (np.linalg.norm(v0) * np.linalg.norm(v1)))\n    if np.abs(dot) > DOT_THRESHOLD:\n        v2 = (1 - t) * v0 + t * v1\n    else:\n        theta_0 = np.arccos(dot)\n        sin_theta_0 = np.sin(theta_0)\n        theta_t = theta_0 * t\n        sin_theta_t = np.sin(theta_t)\n        s0 = np.sin(theta_0 - theta_t) / sin_theta_0\n        s1 = sin_theta_t / sin_theta_0\n        v2 = s0 * v0 + s1 * v1\n\n    if inputs_are_torch:\n        v2 = torch.from_numpy(v2).to(input_device)\n\n    return v2\n\n\ndef make_video_pyav(\n    frames_or_frame_dir: Union[str, Path, torch.Tensor],\n    audio_filepath: Union[str, Path] = None,\n    fps: int = 30,\n    audio_offset: int = 0,\n    audio_duration: int = 2,\n    sr: int = 22050,\n    output_filepath: Union[str, Path] = \"output.mp4\",\n    glob_pattern: str = \"*.png\",\n):\n    \"\"\"\n    TODO - docstring here\n\n    frames_or_frame_dir: (Union[str, Path, torch.Tensor]):\n        Either a directory of images, or a tensor of shape (T, C, H, W) in range [0, 255].\n    \"\"\"\n\n    # Torchvision write_video doesn't support pathlib paths\n    output_filepath = str(output_filepath)\n\n    if isinstance(frames_or_frame_dir, (str, Path)):\n        frames = None\n        for img in sorted(Path(frames_or_frame_dir).glob(glob_pattern)):\n            frame = pil_to_tensor(Image.open(img)).unsqueeze(0)\n            frames = frame if frames is None else torch.cat([frames, frame])\n    else:\n        frames = frames_or_frame_dir\n\n    # TCHW -> THWC\n    frames = frames.permute(0, 2, 3, 1)\n\n    if audio_filepath:\n        # Read audio, convert to tensor\n        audio, sr = librosa.load(\n            audio_filepath,\n            sr=sr,\n            mono=True,\n            offset=audio_offset,\n            duration=audio_duration,\n        )\n        audio_tensor = torch.tensor(audio).unsqueeze(0)\n\n        write_video(\n            output_filepath,\n            frames,\n            fps=fps,\n            audio_array=audio_tensor,\n            audio_fps=sr,\n            audio_codec=\"aac\",\n            options={\"crf\": \"10\", \"pix_fmt\": \"yuv420p\"},\n        )\n    else:\n        write_video(\n            output_filepath,\n            frames,\n            fps=fps,\n            options={\"crf\": \"10\", \"pix_fmt\": \"yuv420p\"},\n        )\n\n    return output_filepath\n\n\nclass StableDiffusionWalkPipeline(DiffusionPipeline):\n    r\"\"\"\n    Pipeline for generating videos by interpolating  Stable Diffusion's latent space.\n    This model inherits from [`DiffusionPipeline`]. Check the superclass documentation for the generic methods the\n    library implements for all the pipelines (such as downloading or saving, running on a particular device, etc.)\n    Args:\n        vae ([`AutoencoderKL`]):\n            Variational Auto-Encoder (VAE) Model to encode and decode images to and from latent representations.\n        text_encoder ([`CLIPTextModel`]):\n            Frozen text-encoder. Stable Diffusion uses the text portion of\n            [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), specifically\n            the [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) variant.\n        tokenizer (`CLIPTokenizer`):\n            Tokenizer of class\n            [CLIPTokenizer](https://huggingface.co/docs/transformers/v4.21.0/en/model_doc/clip#transformers.CLIPTokenizer).\n        unet ([`UNet2DConditionModel`]): Conditional U-Net architecture to denoise the encoded image latents.\n        scheduler ([`SchedulerMixin`]):\n            A scheduler to be used in combination with `unet` to denoise the encoded image latens. Can be one of\n            [`DDIMScheduler`], [`LMSDiscreteScheduler`], or [`PNDMScheduler`].\n        safety_checker ([`StableDiffusionSafetyChecker`]):\n            Classification module that estimates whether generated images could be considered offensive or harmful.\n            Please, refer to the [model card](https://huggingface.co/CompVis/stable-diffusion-v1-4) for details.\n        feature_extractor ([`CLIPFeatureExtractor`]):\n            Model that extracts features from generated images to be used as inputs for the `safety_checker`.\n    \"\"\"\n\n    def __init__(\n        self,\n        vae: AutoencoderKL,\n        text_encoder: CLIPTextModel,\n        tokenizer: CLIPTokenizer,\n        unet: UNet2DConditionModel,\n        scheduler: Union[DDIMScheduler, PNDMScheduler, LMSDiscreteScheduler],\n        safety_checker: StableDiffusionSafetyChecker,\n        feature_extractor: CLIPFeatureExtractor,\n    ):\n        super().__init__()\n\n        if (\n            hasattr(scheduler.config, \"steps_offset\")\n            and scheduler.config.steps_offset != 1\n        ):\n            deprecation_message = (\n                f\"The configuration file of this scheduler: {scheduler} is outdated. `steps_offset`\"\n                f\" should be set to 1 instead of {scheduler.config.steps_offset}. Please make sure \"\n                \"to update the config accordingly as leaving `steps_offset` might led to incorrect results\"\n                \" in future versions. If you have downloaded this checkpoint from the Hugging Face Hub,\"\n                \" it would be very nice if you could open a Pull request for the `scheduler/scheduler_config.json`\"\n                \" file\"\n            )\n            deprecate(\n                \"steps_offset!=1\", \"1.0.0\", deprecation_message, standard_warn=False\n            )\n            new_config = dict(scheduler.config)\n            new_config[\"steps_offset\"] = 1\n            scheduler._internal_dict = FrozenDict(new_config)\n\n        if safety_checker is None:\n            logger.warn(\n                f\"You have disabled the safety checker for {self.__class__} by passing `safety_checker=None`. Ensure\"\n                \" that you abide to the conditions of the Stable Diffusion license and do not expose unfiltered\"\n                \" results in services or applications open to the public. Both the diffusers team and Hugging Face\"\n                \" strongly recommend to keep the safety filter enabled in all public facing circumstances, disabling\"\n                \" it only for use-cases that involve analyzing network behavior or auditing its results. For more\"\n                \" information, please have a look at https://github.com/huggingface/diffusers/pull/254 .\"\n            )\n\n        self.register_modules(\n            vae=vae,\n            text_encoder=text_encoder,\n            tokenizer=tokenizer,\n            unet=unet,\n            scheduler=scheduler,\n            safety_checker=safety_checker,\n            feature_extractor=feature_extractor,\n        )\n\n    def enable_attention_slicing(self, slice_size: Optional[Union[str, int]] = \"auto\"):\n        r\"\"\"\n        Enable sliced attention computation.\n        When this option is enabled, the attention module will split the input tensor in slices, to compute attention\n        in several steps. This is useful to save some memory in exchange for a small speed decrease.\n        Args:\n            slice_size (`str` or `int`, *optional*, defaults to `\"auto\"`):\n                When `\"auto\"`, halves the input to the attention heads, so attention will be computed in two steps. If\n                a number is provided, uses as many slices as `attention_head_dim // slice_size`. In this case,\n                `attention_head_dim` must be a multiple of `slice_size`.\n        \"\"\"\n        if slice_size == \"auto\":\n            # half the attention head size is usually a good trade-off between\n            # speed and memory\n            slice_size = self.unet.config.attention_head_dim // 2\n        self.unet.set_attention_slice(slice_size)\n\n    def disable_attention_slicing(self):\n        r\"\"\"\n        Disable sliced attention computation. If `enable_attention_slicing` was previously invoked, this method will go\n        back to computing attention in one step.\n        \"\"\"\n        # set slice_size = `None` to disable `attention slicing`\n        self.enable_attention_slicing(None)\n\n    @torch.no_grad()\n    def __call__(\n        self,\n        prompt: Optional[Union[str, List[str]]] = None,\n        height: int = 512,\n        width: int = 512,\n        num_inference_steps: int = 50,\n        guidance_scale: float = 7.5,\n        negative_prompt: Optional[Union[str, List[str]]] = None,\n        num_images_per_prompt: Optional[int] = 1,\n        eta: float = 0.0,\n        generator: Optional[torch.Generator] = None,\n        latents: Optional[torch.FloatTensor] = None,\n        output_type: Optional[str] = \"pil\",\n        return_dict: bool = True,\n        callback: Optional[Callable[[int, int, torch.FloatTensor], None]] = None,\n        callback_steps: Optional[int] = 1,\n        text_embeddings: Optional[torch.FloatTensor] = None,\n        **kwargs,\n    ):\n        r\"\"\"\n        Function invoked when calling the pipeline for generation.\n        Args:\n            prompt (`str` or `List[str]`, *optional*, defaults to `None`):\n                The prompt or prompts to guide the image generation. If not provided, `text_embeddings` is required.\n            height (`int`, *optional*, defaults to 512):\n                The height in pixels of the generated image.\n            width (`int`, *optional*, defaults to 512):\n                The width in pixels of the generated image.\n            num_inference_steps (`int`, *optional*, defaults to 50):\n                The number of denoising steps. More denoising steps usually lead to a higher quality image at the\n                expense of slower inference.\n            guidance_scale (`float`, *optional*, defaults to 7.5):\n                Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).\n                `guidance_scale` is defined as `w` of equation 2. of [Imagen\n                Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale >\n                1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`,\n                usually at the expense of lower image quality.\n            negative_prompt (`str` or `List[str]`, *optional*):\n                The prompt or prompts not to guide the image generation. Ignored when not using guidance (i.e., ignored\n                if `guidance_scale` is less than `1`).\n            num_images_per_prompt (`int`, *optional*, defaults to 1):\n                The number of images to generate per prompt.\n            eta (`float`, *optional*, defaults to 0.0):\n                Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to\n                [`schedulers.DDIMScheduler`], will be ignored for others.\n            generator (`torch.Generator`, *optional*):\n                A [torch generator](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make generation\n                deterministic.\n            latents (`torch.FloatTensor`, *optional*):\n                Pre-generated noisy latents, sampled from a Gaussian distribution, to be used as inputs for image\n                generation. Can be used to tweak the same generation with different prompts. If not provided, a latents\n                tensor will ge generated by sampling using the supplied random `generator`.\n            output_type (`str`, *optional*, defaults to `\"pil\"`):\n                The output format of the generate image. Choose between\n                [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` or `np.array`.\n            return_dict (`bool`, *optional*, defaults to `True`):\n                Whether or not to return a [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] instead of a\n                plain tuple.\n            callback (`Callable`, *optional*):\n                A function that will be called every `callback_steps` steps during inference. The function will be\n                called with the following arguments: `callback(step: int, timestep: int, latents: torch.FloatTensor)`.\n            callback_steps (`int`, *optional*, defaults to 1):\n                The frequency at which the `callback` function will be called. If not specified, the callback will be\n                called at every step.\n            text_embeddings (`torch.FloatTensor`, *optional*, defaults to `None`):\n                Pre-generated text embeddings to be used as inputs for image generation. Can be used in place of\n                `prompt` to avoid re-computing the embeddings. If not provided, the embeddings will be generated from\n                the supplied `prompt`.\n        Returns:\n            [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] or `tuple`:\n            [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] if `return_dict` is True, otherwise a `tuple.\n            When returning a tuple, the first element is a list with the generated images, and the second element is a\n            list of `bool`s denoting whether the corresponding generated image likely represents \"not-safe-for-work\"\n            (nsfw) content, according to the `safety_checker`.\n        \"\"\"\n\n        if height % 8 != 0 or width % 8 != 0:\n            raise ValueError(\n                f\"`height` and `width` have to be divisible by 8 but are {height} and {width}.\"\n            )\n\n        if (callback_steps is None) or (\n            callback_steps is not None\n            and (not isinstance(callback_steps, int) or callback_steps <= 0)\n        ):\n            raise ValueError(\n                f\"`callback_steps` has to be a positive integer but is {callback_steps} of type\"\n                f\" {type(callback_steps)}.\"\n            )\n\n        if text_embeddings is None:\n            if isinstance(prompt, str):\n                batch_size = 1\n            elif isinstance(prompt, list):\n                batch_size = len(prompt)\n            else:\n                raise ValueError(\n                    f\"`prompt` has to be of type `str` or `list` but is {type(prompt)}\"\n                )\n\n            # get prompt text embeddings\n            text_inputs = self.tokenizer(\n                prompt,\n                padding=\"max_length\",\n                max_length=self.tokenizer.model_max_length,\n                return_tensors=\"pt\",\n            )\n            text_input_ids = text_inputs.input_ids\n\n            if text_input_ids.shape[-1] > self.tokenizer.model_max_length:\n                removed_text = self.tokenizer.batch_decode(\n                    text_input_ids[:, self.tokenizer.model_max_length :]\n                )\n                print(\n                    \"The following part of your input was truncated because CLIP can only handle sequences up to\"\n                    f\" {self.tokenizer.model_max_length} tokens: {removed_text}\"\n                )\n                text_input_ids = text_input_ids[:, : self.tokenizer.model_max_length]\n            text_embeddings = self.text_encoder(text_input_ids.to(self.device))[0]\n        else:\n            batch_size = text_embeddings.shape[0]\n\n        # duplicate text embeddings for each generation per prompt, using mps friendly method\n        bs_embed, seq_len, _ = text_embeddings.shape\n        text_embeddings = text_embeddings.repeat(1, num_images_per_prompt, 1)\n        text_embeddings = text_embeddings.view(\n            bs_embed * num_images_per_prompt, seq_len, -1\n        )\n\n        # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)\n        # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1`\n        # corresponds to doing no classifier free guidance.\n        do_classifier_free_guidance = guidance_scale > 1.0\n        # get unconditional embeddings for classifier free guidance\n        if do_classifier_free_guidance:\n            uncond_tokens: List[str]\n            if negative_prompt is None:\n                uncond_tokens = [\"\"]\n            elif type(prompt) is not type(negative_prompt):\n                raise TypeError(\n                    f\"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=\"\n                    f\" {type(prompt)}.\"\n                )\n            elif isinstance(negative_prompt, str):\n                uncond_tokens = [negative_prompt]\n            elif batch_size != len(negative_prompt):\n                raise ValueError(\n                    f\"`negative_prompt`: {negative_prompt} has batch size {len(negative_prompt)}, but `prompt`:\"\n                    f\" {prompt} has batch size {batch_size}. Please make sure that passed `negative_prompt` matches\"\n                    \" the batch size of `prompt`.\"\n                )\n            else:\n                uncond_tokens = negative_prompt\n\n            max_length = self.tokenizer.model_max_length\n            uncond_input = self.tokenizer(\n                uncond_tokens,\n                padding=\"max_length\",\n                max_length=max_length,\n                truncation=True,\n                return_tensors=\"pt\",\n            )\n            uncond_embeddings = self.text_encoder(\n                uncond_input.input_ids.to(self.device)\n            )[0]\n\n            # duplicate unconditional embeddings for each generation per prompt, using mps friendly method\n            seq_len = uncond_embeddings.shape[1]\n            uncond_embeddings = uncond_embeddings.repeat(\n                batch_size, num_images_per_prompt, 1\n            )\n            uncond_embeddings = uncond_embeddings.view(\n                batch_size * num_images_per_prompt, seq_len, -1\n            )\n\n            # For classifier free guidance, we need to do two forward passes.\n            # Here we concatenate the unconditional and text embeddings into a single batch\n            # to avoid doing two forward passes\n            text_embeddings = torch.cat([uncond_embeddings, text_embeddings])\n\n        # get the initial random noise unless the user supplied it\n\n        # Unlike in other pipelines, latents need to be generated in the target device\n        # for 1-to-1 results reproducibility with the CompVis implementation.\n        # However this currently doesn't work in `mps`.\n        latents_shape = (\n            batch_size * num_images_per_prompt,\n            self.unet.in_channels,\n            height // 8,\n            width // 8,\n        )\n        latents_dtype = text_embeddings.dtype\n        if latents is None:\n            if self.device.type == \"mps\":\n                # randn does not exist on mps\n                latents = torch.randn(\n                    latents_shape,\n                    generator=generator,\n                    device=\"cpu\",\n                    dtype=latents_dtype,\n                ).to(self.device)\n            else:\n                latents = torch.randn(\n                    latents_shape,\n                    generator=generator,\n                    device=self.device,\n                    dtype=latents_dtype,\n                )\n        else:\n            if latents.shape != latents_shape:\n                raise ValueError(\n                    f\"Unexpected latents shape, got {latents.shape}, expected {latents_shape}\"\n                )\n            latents = latents.to(self.device)\n\n        # set timesteps\n        self.scheduler.set_timesteps(num_inference_steps)\n\n        # Some schedulers like PNDM have timesteps as arrays\n        # It's more optimized to move all timesteps to correct device beforehand\n        timesteps_tensor = self.scheduler.timesteps.to(self.device)\n\n        # scale the initial noise by the standard deviation required by the scheduler\n        latents = latents * self.scheduler.init_noise_sigma\n\n        # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature\n        # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.\n        # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502\n        # and should be between [0, 1]\n        accepts_eta = \"eta\" in set(\n            inspect.signature(self.scheduler.step).parameters.keys()\n        )\n        extra_step_kwargs = {}\n        if accepts_eta:\n            extra_step_kwargs[\"eta\"] = eta\n\n        for i, t in enumerate(self.progress_bar(timesteps_tensor)):\n            # expand the latents if we are doing classifier free guidance\n            latent_model_input = (\n                torch.cat([latents] * 2) if do_classifier_free_guidance else latents\n            )\n            latent_model_input = self.scheduler.scale_model_input(latent_model_input, t)\n\n            # predict the noise residual\n            noise_pred = self.unet(\n                latent_model_input, t, encoder_hidden_states=text_embeddings\n            ).sample\n\n            # perform guidance\n            if do_classifier_free_guidance:\n                noise_pred_uncond, noise_pred_text = noise_pred.chunk(2)\n                noise_pred = noise_pred_uncond + guidance_scale * (\n                    noise_pred_text - noise_pred_uncond\n                )\n\n            # compute the previous noisy sample x_t -> x_t-1\n            latents = self.scheduler.step(\n                noise_pred, t, latents, **extra_step_kwargs\n            ).prev_sample\n\n            # call the callback, if provided\n            if callback is not None and i % callback_steps == 0:\n                callback(i, t, latents)\n\n        latents = 1 / 0.18215 * latents\n        image = self.vae.decode(latents).sample\n\n        image = (image / 2 + 0.5).clamp(0, 1)\n\n        # we always cast to float32 as this does not cause significant overhead and is compatible with bfloa16\n        image = image.cpu().permute(0, 2, 3, 1).float().numpy()\n\n        if self.safety_checker is not None:\n            safety_checker_input = self.feature_extractor(\n                self.numpy_to_pil(image), return_tensors=\"pt\"\n            ).to(self.device)\n            image, has_nsfw_concept = self.safety_checker(\n                images=image,\n                clip_input=safety_checker_input.pixel_values.to(text_embeddings.dtype),\n            )\n        else:\n            has_nsfw_concept = None\n\n        if output_type == \"pil\":\n            image = self.numpy_to_pil(image)\n\n        if not return_dict:\n            return (image, has_nsfw_concept)\n\n        return StableDiffusionPipelineOutput(\n            images=image, nsfw_content_detected=has_nsfw_concept\n        )\n\n    def generate_inputs(\n        self, prompt_a, prompt_b, seed_a, seed_b, noise_shape, T, batch_size\n    ):\n        embeds_a = self.embed_text(prompt_a)\n        embeds_b = self.embed_text(prompt_b)\n\n        latents_a = self.init_noise(seed_a, noise_shape)\n        latents_b = self.init_noise(seed_b, noise_shape)\n\n        batch_idx = 0\n        embeds_batch, noise_batch = None, None\n        for i, t in enumerate(T):\n            embeds = torch.lerp(embeds_a, embeds_b, t)\n            noise = slerp(float(t), latents_a, latents_b)\n\n            embeds_batch = (\n                embeds if embeds_batch is None else torch.cat([embeds_batch, embeds])\n            )\n            noise_batch = (\n                noise if noise_batch is None else torch.cat([noise_batch, noise])\n            )\n            batch_is_ready = embeds_batch.shape[0] == batch_size or i + 1 == T.shape[0]\n            if not batch_is_ready:\n                continue\n            yield batch_idx, embeds_batch, noise_batch\n            batch_idx += 1\n            del embeds_batch, noise_batch\n            torch.cuda.empty_cache()\n            embeds_batch, noise_batch = None, None\n\n    def make_clip_frames(\n        self,\n        prompt_a: str,\n        prompt_b: str,\n        seed_a: int,\n        seed_b: int,\n        num_interpolation_steps: int = 5,\n        save_path: Union[str, Path] = \"outputs/\",\n        num_inference_steps: int = 50,\n        guidance_scale: float = 7.5,\n        eta: float = 0.0,\n        height: int = 512,\n        width: int = 512,\n        upsample: bool = False,\n        batch_size: int = 1,\n        image_file_ext: str = \".png\",\n        T: np.ndarray = None,\n        skip: int = 0,\n    ):\n        save_path = Path(save_path)\n        save_path.mkdir(parents=True, exist_ok=True)\n\n        T = T if T is not None else np.linspace(0.0, 1.0, num_interpolation_steps)\n        if T.shape[0] != num_interpolation_steps:\n            raise ValueError(\n                f\"Unexpected T shape, got {T.shape}, expected dim 0 to be {num_interpolation_steps}\"\n            )\n\n        if upsample:\n            if getattr(self, \"upsampler\", None) is None:\n                self.upsampler = RealESRGANModel.from_pretrained(\"nateraw/real-esrgan\")\n            self.upsampler.to(self.device)\n\n        batch_generator = self.generate_inputs(\n            prompt_a,\n            prompt_b,\n            seed_a,\n            seed_b,\n            (1, self.unet.in_channels, height // 8, width // 8),\n            T[skip:],\n            batch_size,\n        )\n\n        frame_index = skip\n        for _, embeds_batch, noise_batch in batch_generator:\n            with torch.autocast(\"cuda\"):\n                outputs = self(\n                    latents=noise_batch,\n                    text_embeddings=embeds_batch,\n                    height=height,\n                    width=width,\n                    guidance_scale=guidance_scale,\n                    eta=eta,\n                    num_inference_steps=num_inference_steps,\n                    output_type=\"pil\" if not upsample else \"numpy\",\n                )[\"images\"]\n\n                for image in outputs:\n                    frame_filepath = save_path / (\n                        f\"frame%06d{image_file_ext}\" % frame_index\n                    )\n                    image = image if not upsample else self.upsampler(image)\n                    image.save(frame_filepath)\n                    frame_index += 1\n\n    def walk(\n        self,\n        prompts: Optional[List[str]] = None,\n        seeds: Optional[List[int]] = None,\n        num_interpolation_steps: Optional[\n            Union[int, List[int]]\n        ] = 5,  # int or list of int\n        output_dir: Optional[str] = \"./dreams\",\n        name: Optional[str] = None,\n        image_file_ext: Optional[str] = \".png\",\n        fps: Optional[int] = 30,\n        num_inference_steps: Optional[int] = 50,\n        guidance_scale: Optional[float] = 7.5,\n        eta: Optional[float] = 0.0,\n        height: Optional[int] = 512,\n        width: Optional[int] = 512,\n        upsample: Optional[bool] = False,\n        batch_size: Optional[int] = 1,\n        resume: Optional[bool] = False,\n        audio_filepath: str = None,\n        audio_start_sec: Optional[Union[int, float]] = None,\n        margin: Optional[float] = 1.0,\n        smooth: Optional[float] = 0.0,\n    ):\n        \"\"\"Generate a video from a sequence of prompts and seeds. Optionally, add audio to the\n        video to interpolate to the intensity of the audio.\n\n        Args:\n            prompts (Optional[List[str]], optional):\n                list of text prompts. Defaults to None.\n            seeds (Optional[List[int]], optional):\n                list of random seeds corresponding to prompts. Defaults to None.\n            num_interpolation_steps (Union[int, List[int]], *optional*):\n                How many interpolation steps between each prompt. Defaults to None.\n            output_dir (Optional[str], optional):\n                Where to save the video. Defaults to './dreams'.\n            name (Optional[str], optional):\n                Name of the subdirectory of output_dir. Defaults to None.\n            image_file_ext (Optional[str], *optional*, defaults to '.png'):\n                The extension to use when writing video frames.\n            fps (Optional[int], *optional*, defaults to 30):\n                The frames per second in the resulting output videos.\n            num_inference_steps (Optional[int], *optional*, defaults to 50):\n                The number of denoising steps. More denoising steps usually lead to a higher quality image at the\n                expense of slower inference.\n            guidance_scale (Optional[float], *optional*, defaults to 7.5):\n                Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).\n                `guidance_scale` is defined as `w` of equation 2. of [Imagen\n                Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale >\n                1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`,\n                usually at the expense of lower image quality.\n            eta (Optional[float], *optional*, defaults to 0.0):\n                Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to\n                [`schedulers.DDIMScheduler`], will be ignored for others.\n            height (Optional[int], *optional*, defaults to 512):\n                height of the images to generate.\n            width (Optional[int], *optional*, defaults to 512):\n                width of the images to generate.\n            upsample (Optional[bool], *optional*, defaults to False):\n                When True, upsamples images with realesrgan.\n            batch_size (Optional[int], *optional*, defaults to 1):\n                Number of images to generate at once.\n            resume (Optional[bool], *optional*, defaults to False):\n                When True, resumes from the last frame in the output directory based\n                on available prompt config. Requires you to provide the `name` argument.\n            audio_filepath (str, *optional*, defaults to None):\n                Optional path to an audio file to influence the interpolation rate.\n            audio_start_sec (Optional[Union[int, float]], *optional*, defaults to 0):\n                Global start time of the provided audio_filepath.\n            margin (Optional[float], *optional*, defaults to 1.0):\n                Margin from librosa hpss to use for audio interpolation.\n            smooth (Optional[float], *optional*, defaults to 0.0):\n                Smoothness of the audio interpolation. 1.0 means linear interpolation.\n\n        This function will create sub directories for each prompt and seed pair.\n\n        For example, if you provide the following prompts and seeds:\n\n        ```\n        prompts = ['a dog', 'a cat', 'a bird']\n        seeds = [1, 2, 3]\n        num_interpolation_steps = 5\n        output_dir = 'output_dir'\n        name = 'name'\n        fps = 5\n        ```\n\n        Then the following directories will be created:\n\n        ```\n        output_dir\n        ├── name\n        │   ├── name_000000\n        │   │   ├── frame000000.png\n        │   │   ├── ...\n        │   │   ├── frame000004.png\n        │   │   ├── name_000000.mp4\n        │   ├── name_000001\n        │   │   ├── frame000000.png\n        │   │   ├── ...\n        │   │   ├── frame000004.png\n        │   │   ├── name_000001.mp4\n        │   ├── ...\n        │   ├── name.mp4\n        |   |── prompt_config.json\n        ```\n\n        Returns:\n            str: The resulting video filepath. This video includes all sub directories' video clips.\n        \"\"\"\n\n        output_path = Path(output_dir)\n\n        name = name or time.strftime(\"%Y%m%d-%H%M%S\")\n        save_path_root = output_path / name\n        save_path_root.mkdir(parents=True, exist_ok=True)\n\n        # Where the final video of all the clips combined will be saved\n        output_filepath = save_path_root / f\"{name}.mp4\"\n\n        # If using same number of interpolation steps between, we turn into list\n        if not resume and isinstance(num_interpolation_steps, int):\n            num_interpolation_steps = [num_interpolation_steps] * (len(prompts) - 1)\n\n        if not resume:\n            audio_start_sec = audio_start_sec or 0\n\n        # Save/reload prompt config\n        prompt_config_path = save_path_root / \"prompt_config.json\"\n        if not resume:\n            prompt_config_path.write_text(\n                json.dumps(\n                    dict(\n                        prompts=prompts,\n                        seeds=seeds,\n                        num_interpolation_steps=num_interpolation_steps,\n                        fps=fps,\n                        num_inference_steps=num_inference_steps,\n                        guidance_scale=guidance_scale,\n                        eta=eta,\n                        upsample=upsample,\n                        height=height,\n                        width=width,\n                        audio_filepath=audio_filepath,\n                        audio_start_sec=audio_start_sec,\n                    ),\n                    indent=2,\n                    sort_keys=False,\n                )\n            )\n        else:\n            data = json.load(open(prompt_config_path))\n            prompts = data[\"prompts\"]\n            seeds = data[\"seeds\"]\n            num_interpolation_steps = data[\"num_interpolation_steps\"]\n            fps = data[\"fps\"]\n            num_inference_steps = data[\"num_inference_steps\"]\n            guidance_scale = data[\"guidance_scale\"]\n            eta = data[\"eta\"]\n            upsample = data[\"upsample\"]\n            height = data[\"height\"]\n            width = data[\"width\"]\n            audio_filepath = data[\"audio_filepath\"]\n            audio_start_sec = data[\"audio_start_sec\"]\n\n        for i, (prompt_a, prompt_b, seed_a, seed_b, num_step) in enumerate(\n            zip(prompts, prompts[1:], seeds, seeds[1:], num_interpolation_steps)\n        ):\n            # {name}_000000 / {name}_000001 / ...\n            save_path = save_path_root / f\"{name}_{i:06d}\"\n\n            # Where the individual clips will be saved\n            step_output_filepath = save_path / f\"{name}_{i:06d}.mp4\"\n\n            # Determine if we need to resume from a previous run\n            skip = 0\n            if resume:\n                if step_output_filepath.exists():\n                    print(f\"Skipping {save_path} because frames already exist\")\n                    continue\n\n                existing_frames = sorted(save_path.glob(f\"*{image_file_ext}\"))\n                if existing_frames:\n                    skip = int(existing_frames[-1].stem[-6:]) + 1\n                    if skip + 1 >= num_step:\n                        print(f\"Skipping {save_path} because frames already exist\")\n                        continue\n                    print(f\"Resuming {save_path.name} from frame {skip}\")\n\n            audio_offset = audio_start_sec + sum(num_interpolation_steps[:i]) / fps\n            audio_duration = num_step / fps\n\n            self.make_clip_frames(\n                prompt_a,\n                prompt_b,\n                seed_a,\n                seed_b,\n                num_interpolation_steps=num_step,\n                save_path=save_path,\n                num_inference_steps=num_inference_steps,\n                guidance_scale=guidance_scale,\n                eta=eta,\n                height=height,\n                width=width,\n                upsample=upsample,\n                batch_size=batch_size,\n                skip=skip,\n                T=get_timesteps_arr(\n                    audio_filepath,\n                    offset=audio_offset,\n                    duration=audio_duration,\n                    fps=fps,\n                    margin=margin,\n                    smooth=smooth,\n                )\n                if audio_filepath\n                else None,\n            )\n            make_video_pyav(\n                save_path,\n                audio_filepath=audio_filepath,\n                fps=fps,\n                output_filepath=step_output_filepath,\n                glob_pattern=f\"*{image_file_ext}\",\n                audio_offset=audio_offset,\n                audio_duration=audio_duration,\n                sr=44100,\n            )\n\n        return make_video_pyav(\n            save_path_root,\n            audio_filepath=audio_filepath,\n            fps=fps,\n            audio_offset=audio_start_sec,\n            audio_duration=sum(num_interpolation_steps) / fps,\n            output_filepath=output_filepath,\n            glob_pattern=f\"**/*{image_file_ext}\",\n            sr=44100,\n        )\n\n    def embed_text(self, text):\n        \"\"\"Helper to embed some text\"\"\"\n        with torch.autocast(\"cuda\"):\n            text_input = self.tokenizer(\n                text,\n                padding=\"max_length\",\n                max_length=self.tokenizer.model_max_length,\n                truncation=True,\n                return_tensors=\"pt\",\n            )\n            with torch.no_grad():\n                embed = self.text_encoder(text_input.input_ids.to(self.device))[0]\n        return embed\n\n    def init_noise(self, seed, noise_shape):\n        \"\"\"Helper to initialize noise\"\"\"\n        # randn does not exist on mps, so we create noise on CPU here and move it to the device after initialization\n        if self.device.type == \"mps\":\n            noise = torch.randn(\n                noise_shape,\n                device=\"cpu\",\n                generator=torch.Generator(device=\"cpu\").manual_seed(seed),\n            ).to(self.device)\n        else:\n            noise = torch.randn(\n                noise_shape,\n                device=self.device,\n                generator=torch.Generator(device=self.device).manual_seed(seed),\n            )\n        return noise\n\n    @classmethod\n    def from_pretrained(cls, *args, tiled=False, **kwargs):\n        \"\"\"Same as diffusers `from_pretrained` but with tiled option, which makes images tilable\"\"\"\n        if tiled:\n\n            def patch_conv(**patch):\n                cls = nn.Conv2d\n                init = cls.__init__\n\n                def __init__(self, *args, **kwargs):\n                    return init(self, *args, **kwargs, **patch)\n\n                cls.__init__ = __init__\n\n            patch_conv(padding_mode=\"circular\")\n\n        pipeline = super().from_pretrained(*args, **kwargs)\n        pipeline.tiled = tiled\n        return pipeline\n"
  },
  {
    "path": "scripts/textual_inversion.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import st, set_page_title, seed_to_int\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\nfrom streamlit_tensorboard import st_tensorboard\n\n# streamlit components section\nfrom streamlit_server_state import server_state\n\n# other imports\nfrom transformers import CLIPTextModel, CLIPTokenizer\n\n# Temp imports\n\nimport itertools\nimport math\nimport os\nimport random\n\n# import datetime\n# from pathlib import Path\n# from typing import Optional\n\nimport numpy as np\nimport torch\nimport torch.nn.functional as F\nimport torch.utils.checkpoint\nfrom torch.utils.data import Dataset\n\nimport PIL\nfrom accelerate import Accelerator\nfrom accelerate.logging import get_logger\nfrom accelerate.utils import set_seed\nfrom diffusers import (\n    AutoencoderKL,\n    DDPMScheduler,\n    LMSDiscreteScheduler,\n    StableDiffusionPipeline,\n    UNet2DConditionModel,\n)  # , PNDMScheduler\nfrom diffusers.optimization import get_scheduler\n\n# from diffusers.pipelines.stable_diffusion import StableDiffusionSafetyChecker\nfrom pipelines.stable_diffusion.no_check import NoCheck\nfrom PIL import Image\nfrom torchvision import transforms\nfrom tqdm.auto import tqdm\nfrom transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer\nfrom slugify import slugify\nimport json\nimport os  # , subprocess\n\n# from io import StringIO\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nlogger = get_logger(__name__)\n\nimagenet_templates_small = [\n    \"a photo of a {}\",\n    \"a rendering of a {}\",\n    \"a cropped photo of the {}\",\n    \"the photo of a {}\",\n    \"a photo of a clean {}\",\n    \"a photo of a dirty {}\",\n    \"a dark photo of the {}\",\n    \"a photo of my {}\",\n    \"a photo of the cool {}\",\n    \"a close-up photo of a {}\",\n    \"a bright photo of the {}\",\n    \"a cropped photo of a {}\",\n    \"a photo of the {}\",\n    \"a good photo of the {}\",\n    \"a photo of one {}\",\n    \"a close-up photo of the {}\",\n    \"a rendition of the {}\",\n    \"a photo of the clean {}\",\n    \"a rendition of a {}\",\n    \"a photo of a nice {}\",\n    \"a good photo of a {}\",\n    \"a photo of the nice {}\",\n    \"a photo of the small {}\",\n    \"a photo of the weird {}\",\n    \"a photo of the large {}\",\n    \"a photo of a cool {}\",\n    \"a photo of a small {}\",\n]\n\nimagenet_style_templates_small = [\n    \"a painting in the style of {}\",\n    \"a rendering in the style of {}\",\n    \"a cropped painting in the style of {}\",\n    \"the painting in the style of {}\",\n    \"a clean painting in the style of {}\",\n    \"a dirty painting in the style of {}\",\n    \"a dark painting in the style of {}\",\n    \"a picture in the style of {}\",\n    \"a cool painting in the style of {}\",\n    \"a close-up painting in the style of {}\",\n    \"a bright painting in the style of {}\",\n    \"a cropped painting in the style of {}\",\n    \"a good painting in the style of {}\",\n    \"a close-up painting in the style of {}\",\n    \"a rendition in the style of {}\",\n    \"a nice painting in the style of {}\",\n    \"a small painting in the style of {}\",\n    \"a weird painting in the style of {}\",\n    \"a large painting in the style of {}\",\n]\n\n\nclass TextualInversionDataset(Dataset):\n    def __init__(\n        self,\n        data_root,\n        tokenizer,\n        learnable_property=\"object\",  # [object, style]\n        size=512,\n        repeats=100,\n        interpolation=\"bicubic\",\n        set=\"train\",\n        placeholder_token=\"*\",\n        center_crop=False,\n        templates=None,\n    ):\n        self.data_root = data_root\n        self.tokenizer = tokenizer\n        self.learnable_property = learnable_property\n        self.size = size\n        self.placeholder_token = placeholder_token\n        self.center_crop = center_crop\n\n        self.image_paths = [\n            os.path.join(self.data_root, file_path)\n            for file_path in os.listdir(self.data_root)\n            if file_path.lower().endswith((\".png\", \".jpg\", \".jpeg\"))\n        ]\n\n        self.num_images = len(self.image_paths)\n        self._length = self.num_images\n\n        if set == \"train\":\n            self._length = self.num_images * repeats\n\n        self.interpolation = {\n            \"linear\": PIL.Image.LINEAR,\n            \"bilinear\": PIL.Image.Resampling.BILINEAR,\n            \"bicubic\": PIL.Image.Resampling.BICUBIC,\n            \"lanczos\": PIL.Image.Resampling.LANCZOS,\n        }[interpolation]\n\n        self.templates = templates\n        self.cache = {}\n        self.tokenized_templates = [\n            self.tokenizer(\n                text.format(self.placeholder_token),\n                padding=\"max_length\",\n                truncation=True,\n                max_length=self.tokenizer.model_max_length,\n                return_tensors=\"pt\",\n            ).input_ids[0]\n            for text in self.templates\n        ]\n\n    def __len__(self):\n        return self._length\n\n    def get_example(self, image_path, flipped):\n        if image_path in self.cache:\n            return self.cache[image_path]\n\n        example = {}\n        image = Image.open(image_path)\n\n        if not image.mode == \"RGB\":\n            image = image.convert(\"RGB\")\n\n        # default to score-sde preprocessing\n        img = np.array(image).astype(np.uint8)\n        if self.center_crop:\n            crop = min(img.shape[0], img.shape[1])\n            (\n                h,\n                w,\n            ) = (\n                img.shape[0],\n                img.shape[1],\n            )\n            img = img[\n                (h - crop) // 2 : (h + crop) // 2, (w - crop) // 2 : (w + crop) // 2\n            ]\n        image = Image.fromarray(img)\n        image = image.resize((self.size, self.size), resample=self.interpolation)\n        image = transforms.RandomHorizontalFlip(p=1 if flipped else 0)(image)\n        image = np.array(image).astype(np.uint8)\n        image = (image / 127.5 - 1.0).astype(np.float32)\n        example[\"key\"] = \"-\".join([image_path, \"-\", str(flipped)])\n        example[\"pixel_values\"] = torch.from_numpy(image).permute(2, 0, 1)\n\n        self.cache[image_path] = example\n        return example\n\n    def __getitem__(self, i):\n        flipped = random.choice([False, True])\n        example = self.get_example(self.image_paths[i % self.num_images], flipped)\n        example[\"input_ids\"] = random.choice(self.tokenized_templates)\n        return example\n\n\ndef freeze_params(params):\n    for param in params:\n        param.requires_grad = False\n\n\ndef save_resume_file(basepath, extra={}, config=\"\"):\n    info = {\"args\": config[\"args\"]}\n    info[\"args\"].update(extra)\n\n    with open(f\"{os.path.join(basepath, 'resume.json')}\", \"w\") as f:\n        # print (info)\n        json.dump(info, f, indent=4)\n\n    with open(f\"{basepath}/token_identifier.txt\", \"w\") as f:\n        f.write(f\"{config['args']['placeholder_token']}\")\n\n    with open(f\"{basepath}/type_of_concept.txt\", \"w\") as f:\n        f.write(f\"{config['args']['learnable_property']}\")\n\n    config[\"args\"] = info[\"args\"]\n\n    return config[\"args\"]\n\n\nclass Checkpointer:\n    def __init__(\n        self,\n        accelerator,\n        vae,\n        unet,\n        tokenizer,\n        placeholder_token,\n        placeholder_token_id,\n        templates,\n        output_dir,\n        random_sample_batches,\n        sample_batch_size,\n        stable_sample_batches,\n        seed,\n    ):\n        self.accelerator = accelerator\n        self.vae = vae\n        self.unet = unet\n        self.tokenizer = tokenizer\n        self.placeholder_token = placeholder_token\n        self.placeholder_token_id = placeholder_token_id\n        self.templates = templates\n        self.output_dir = output_dir\n        self.seed = seed\n        self.random_sample_batches = random_sample_batches\n        self.sample_batch_size = sample_batch_size\n        self.stable_sample_batches = stable_sample_batches\n\n    @torch.no_grad()\n    def checkpoint(self, step, text_encoder, save_samples=True, path=None):\n        print(\"Saving checkpoint for step %d...\" % step)\n        with torch.autocast(\"cuda\"):\n            if path is None:\n                checkpoints_path = f\"{self.output_dir}/checkpoints\"\n                os.makedirs(checkpoints_path, exist_ok=True)\n\n            unwrapped = self.accelerator.unwrap_model(text_encoder)\n\n            # Save a checkpoint\n            learned_embeds = unwrapped.get_input_embeddings().weight[\n                self.placeholder_token_id\n            ]\n            learned_embeds_dict = {\n                self.placeholder_token: learned_embeds.detach().cpu()\n            }\n\n            filename = \"%s_%d.bin\" % (slugify(self.placeholder_token), step)\n            if path is not None:\n                torch.save(learned_embeds_dict, path)\n            else:\n                torch.save(learned_embeds_dict, f\"{checkpoints_path}/{filename}\")\n                torch.save(learned_embeds_dict, f\"{checkpoints_path}/last.bin\")\n\n            del unwrapped\n            del learned_embeds\n\n    @torch.no_grad()\n    def save_samples(\n        self,\n        step,\n        text_encoder,\n        height,\n        width,\n        guidance_scale,\n        eta,\n        num_inference_steps,\n    ):\n        samples_path = f\"{self.output_dir}/concept_images\"\n        os.makedirs(samples_path, exist_ok=True)\n\n        # if \"checker\" not in server_state['textual_inversion']:\n        # with server_state_lock['textual_inversion'][\"checker\"]:\n        server_state[\"textual_inversion\"][\"checker\"] = NoCheck()\n\n        # if \"unwrapped\" not in server_state['textual_inversion']:\n        # \twith server_state_lock['textual_inversion'][\"unwrapped\"]:\n        server_state[\"textual_inversion\"][\"unwrapped\"] = self.accelerator.unwrap_model(\n            text_encoder\n        )\n\n        # if \"pipeline\" not in server_state['textual_inversion']:\n        # \twith server_state_lock['textual_inversion'][\"pipeline\"]:\n        # Save a sample image\n        server_state[\"textual_inversion\"][\"pipeline\"] = StableDiffusionPipeline(\n            text_encoder=server_state[\"textual_inversion\"][\"unwrapped\"],\n            vae=self.vae,\n            unet=self.unet,\n            tokenizer=self.tokenizer,\n            scheduler=LMSDiscreteScheduler(\n                beta_start=0.00085, beta_end=0.012, beta_schedule=\"scaled_linear\"\n            ),\n            safety_checker=NoCheck(),\n            feature_extractor=CLIPFeatureExtractor.from_pretrained(\n                \"openai/clip-vit-base-patch32\"\n            ),\n        ).to(\"cuda\")\n\n        server_state[\"textual_inversion\"][\"pipeline\"].enable_attention_slicing()\n\n        if self.stable_sample_batches > 0:\n            stable_latents = torch.randn(\n                (\n                    self.sample_batch_size,\n                    server_state[\"textual_inversion\"][\"pipeline\"].unet.in_channels,\n                    height // 8,\n                    width // 8,\n                ),\n                device=server_state[\"textual_inversion\"][\"pipeline\"].device,\n                generator=torch.Generator(\n                    device=server_state[\"textual_inversion\"][\"pipeline\"].device\n                ).manual_seed(self.seed),\n            )\n\n            stable_prompts = [\n                choice.format(self.placeholder_token)\n                for choice in (self.templates * self.sample_batch_size)[\n                    : self.sample_batch_size\n                ]\n            ]\n\n            # Generate and save stable samples\n            for i in range(0, self.stable_sample_batches):\n                samples = server_state[\"textual_inversion\"][\"pipeline\"](\n                    prompt=stable_prompts,\n                    height=384,\n                    latents=stable_latents,\n                    width=384,\n                    guidance_scale=guidance_scale,\n                    eta=eta,\n                    num_inference_steps=num_inference_steps,\n                    output_type=\"pil\",\n                )[\"sample\"]\n\n                for idx, im in enumerate(samples):\n                    filename = \"stable_sample_%d_%d_step_%d.png\" % (\n                        i + 1,\n                        idx + 1,\n                        step,\n                    )\n                    im.save(f\"{samples_path}/{filename}\")\n                del samples\n            del stable_latents\n\n        prompts = [\n            choice.format(self.placeholder_token)\n            for choice in random.choices(self.templates, k=self.sample_batch_size)\n        ]\n        # Generate and save random samples\n        for i in range(0, self.random_sample_batches):\n            samples = server_state[\"textual_inversion\"][\"pipeline\"](\n                prompt=prompts,\n                height=384,\n                width=384,\n                guidance_scale=guidance_scale,\n                eta=eta,\n                num_inference_steps=num_inference_steps,\n                output_type=\"pil\",\n            )[\"sample\"]\n            for idx, im in enumerate(samples):\n                filename = \"step_%d_sample_%d_%d.png\" % (step, i + 1, idx + 1)\n                im.save(f\"{samples_path}/{filename}\")\n            del samples\n\n        del server_state[\"textual_inversion\"][\"checker\"]\n        del server_state[\"textual_inversion\"][\"unwrapped\"]\n        del server_state[\"textual_inversion\"][\"pipeline\"]\n        torch.cuda.empty_cache()\n\n\n# @retry(RuntimeError, tries=5)\ndef textual_inversion(config):\n    print(\"Running textual inversion.\")\n\n    # if \"pipeline\" in server_state[\"textual_inversion\"]:\n    # del server_state['textual_inversion'][\"checker\"]\n    # del server_state['textual_inversion'][\"unwrapped\"]\n    # del server_state['textual_inversion'][\"pipeline\"]\n    # torch.cuda.empty_cache()\n\n    global_step_offset = 0\n\n    # print(config['args']['resume_from'])\n    if config[\"args\"][\"resume_from\"]:\n        try:\n            basepath = f\"{config['args']['resume_from']}\"\n\n            with open(f\"{basepath}/resume.json\", \"r\") as f:\n                state = json.load(f)\n\n            global_step_offset = state[\"args\"].get(\"global_step\", 0)\n\n            print(\"Resuming state from %s\" % config[\"args\"][\"resume_from\"])\n            print(\"We've trained %d steps so far\" % global_step_offset)\n\n        except json.decoder.JSONDecodeError:\n            pass\n    else:\n        basepath = f\"{config['args']['output_dir']}/{slugify(config['args']['placeholder_token'])}\"\n        os.makedirs(basepath, exist_ok=True)\n\n    accelerator = Accelerator(\n        gradient_accumulation_steps=config[\"args\"][\"gradient_accumulation_steps\"],\n        mixed_precision=config[\"args\"][\"mixed_precision\"],\n    )\n\n    # If passed along, set the training seed.\n    if config[\"args\"][\"seed\"]:\n        set_seed(config[\"args\"][\"seed\"])\n\n    # if \"tokenizer\" not in server_state[\"textual_inversion\"]:\n    # Load the tokenizer and add the placeholder token as a additional special token\n    # with server_state_lock['textual_inversion'][\"tokenizer\"]:\n    if config[\"args\"][\"tokenizer_name\"]:\n        server_state[\"textual_inversion\"][\"tokenizer\"] = CLIPTokenizer.from_pretrained(\n            config[\"args\"][\"tokenizer_name\"]\n        )\n    elif config[\"args\"][\"pretrained_model_name_or_path\"]:\n        server_state[\"textual_inversion\"][\"tokenizer\"] = CLIPTokenizer.from_pretrained(\n            config[\"args\"][\"pretrained_model_name_or_path\"] + \"/tokenizer\"\n        )\n\n    # Add the placeholder token in tokenizer\n    num_added_tokens = server_state[\"textual_inversion\"][\"tokenizer\"].add_tokens(\n        config[\"args\"][\"placeholder_token\"]\n    )\n    if num_added_tokens == 0:\n        st.error(\n            f\"The tokenizer already contains the token {config['args']['placeholder_token']}. Please pass a different\"\n            \" `placeholder_token` that is not already in the tokenizer.\"\n        )\n\n    # Convert the initializer_token, placeholder_token to ids\n    token_ids = server_state[\"textual_inversion\"][\"tokenizer\"].encode(\n        config[\"args\"][\"initializer_token\"], add_special_tokens=False\n    )\n    # Check if initializer_token is a single token or a sequence of tokens\n    if len(token_ids) > 1:\n        st.error(\"The initializer token must be a single token.\")\n\n    initializer_token_id = token_ids[0]\n    placeholder_token_id = server_state[\"textual_inversion\"][\n        \"tokenizer\"\n    ].convert_tokens_to_ids(config[\"args\"][\"placeholder_token\"])\n\n    # if \"text_encoder\" not in server_state['textual_inversion']:\n    # Load models and create wrapper for stable diffusion\n    # with server_state_lock['textual_inversion'][\"text_encoder\"]:\n    server_state[\"textual_inversion\"][\"text_encoder\"] = CLIPTextModel.from_pretrained(\n        config[\"args\"][\"pretrained_model_name_or_path\"] + \"/text_encoder\",\n    )\n\n    # if \"vae\" not in server_state['textual_inversion']:\n    # with server_state_lock['textual_inversion'][\"vae\"]:\n    server_state[\"textual_inversion\"][\"vae\"] = AutoencoderKL.from_pretrained(\n        config[\"args\"][\"pretrained_model_name_or_path\"] + \"/vae\",\n    )\n\n    # if \"unet\" not in server_state['textual_inversion']:\n    # with server_state_lock['textual_inversion'][\"unet\"]:\n    server_state[\"textual_inversion\"][\"unet\"] = UNet2DConditionModel.from_pretrained(\n        config[\"args\"][\"pretrained_model_name_or_path\"] + \"/unet\",\n    )\n\n    base_templates = (\n        imagenet_style_templates_small\n        if config[\"args\"][\"learnable_property\"] == \"style\"\n        else imagenet_templates_small\n    )\n    if config[\"args\"][\"custom_templates\"]:\n        templates = config[\"args\"][\"custom_templates\"].split(\";\")\n    else:\n        templates = base_templates\n\n    slice_size = (\n        server_state[\"textual_inversion\"][\"unet\"].config.attention_head_dim // 2\n    )\n    server_state[\"textual_inversion\"][\"unet\"].set_attention_slice(slice_size)\n\n    # Resize the token embeddings as we are adding new special tokens to the tokenizer\n    server_state[\"textual_inversion\"][\"text_encoder\"].resize_token_embeddings(\n        len(server_state[\"textual_inversion\"][\"tokenizer\"])\n    )\n\n    # Initialise the newly added placeholder token with the embeddings of the initializer token\n    token_embeds = (\n        server_state[\"textual_inversion\"][\"text_encoder\"]\n        .get_input_embeddings()\n        .weight.data\n    )\n\n    if \"resume_checkpoint\" in config[\"args\"]:\n        if config[\"args\"][\"resume_checkpoint\"] is not None:\n            token_embeds[placeholder_token_id] = torch.load(\n                config[\"args\"][\"resume_checkpoint\"]\n            )[config[\"args\"][\"placeholder_token\"]]\n    else:\n        token_embeds[placeholder_token_id] = token_embeds[initializer_token_id]\n\n    # Freeze vae and unet\n    freeze_params(server_state[\"textual_inversion\"][\"vae\"].parameters())\n    freeze_params(server_state[\"textual_inversion\"][\"unet\"].parameters())\n    # Freeze all parameters except for the token embeddings in text encoder\n    params_to_freeze = itertools.chain(\n        server_state[\"textual_inversion\"][\n            \"text_encoder\"\n        ].text_model.encoder.parameters(),\n        server_state[\"textual_inversion\"][\n            \"text_encoder\"\n        ].text_model.final_layer_norm.parameters(),\n        server_state[\"textual_inversion\"][\n            \"text_encoder\"\n        ].text_model.embeddings.position_embedding.parameters(),\n    )\n    freeze_params(params_to_freeze)\n\n    checkpointer = Checkpointer(\n        accelerator=accelerator,\n        vae=server_state[\"textual_inversion\"][\"vae\"],\n        unet=server_state[\"textual_inversion\"][\"unet\"],\n        tokenizer=server_state[\"textual_inversion\"][\"tokenizer\"],\n        placeholder_token=config[\"args\"][\"placeholder_token\"],\n        placeholder_token_id=placeholder_token_id,\n        templates=templates,\n        output_dir=basepath,\n        sample_batch_size=config[\"args\"][\"sample_batch_size\"],\n        random_sample_batches=config[\"args\"][\"random_sample_batches\"],\n        stable_sample_batches=config[\"args\"][\"stable_sample_batches\"],\n        seed=config[\"args\"][\"seed\"],\n    )\n\n    if config[\"args\"][\"scale_lr\"]:\n        config[\"args\"][\"learning_rate\"] = (\n            config[\"args\"][\"learning_rate\"]\n            * config[\"args\"][\"gradient_accumulation_steps\"]\n            * config[\"args\"][\"train_batch_size\"]\n            * accelerator.num_processes\n        )\n\n    # Initialize the optimizer\n    optimizer = torch.optim.AdamW(\n        server_state[\"textual_inversion\"][\"text_encoder\"]\n        .get_input_embeddings()\n        .parameters(),  # only optimize the embeddings\n        lr=config[\"args\"][\"learning_rate\"],\n        betas=(config[\"args\"][\"adam_beta1\"], config[\"args\"][\"adam_beta2\"]),\n        weight_decay=config[\"args\"][\"adam_weight_decay\"],\n        eps=config[\"args\"][\"adam_epsilon\"],\n    )\n\n    # TODO (patil-suraj): load scheduler using args\n    noise_scheduler = DDPMScheduler(\n        beta_start=0.00085,\n        beta_end=0.012,\n        beta_schedule=\"scaled_linear\",\n        num_train_timesteps=1000,\n        tensor_format=\"pt\",\n    )\n\n    train_dataset = TextualInversionDataset(\n        data_root=config[\"args\"][\"train_data_dir\"],\n        tokenizer=server_state[\"textual_inversion\"][\"tokenizer\"],\n        size=config[\"args\"][\"resolution\"],\n        placeholder_token=config[\"args\"][\"placeholder_token\"],\n        repeats=config[\"args\"][\"repeats\"],\n        learnable_property=config[\"args\"][\"learnable_property\"],\n        center_crop=config[\"args\"][\"center_crop\"],\n        set=\"train\",\n        templates=templates,\n    )\n    train_dataloader = torch.utils.data.DataLoader(\n        train_dataset, batch_size=config[\"args\"][\"train_batch_size\"], shuffle=True\n    )\n\n    # Scheduler and math around the number of training steps.\n    overrode_max_train_steps = False\n    num_update_steps_per_epoch = math.ceil(\n        len(train_dataloader) / config[\"args\"][\"gradient_accumulation_steps\"]\n    )\n    if config[\"args\"][\"max_train_steps\"] is None:\n        config[\"args\"][\"max_train_steps\"] = (\n            config[\"args\"][\"num_train_epochs\"] * num_update_steps_per_epoch\n        )\n        overrode_max_train_steps = True\n\n    lr_scheduler = get_scheduler(\n        config[\"args\"][\"lr_scheduler\"],\n        optimizer=optimizer,\n        num_warmup_steps=config[\"args\"][\"lr_warmup_steps\"]\n        * config[\"args\"][\"gradient_accumulation_steps\"],\n        num_training_steps=config[\"args\"][\"max_train_steps\"]\n        * config[\"args\"][\"gradient_accumulation_steps\"],\n    )\n\n    (\n        server_state[\"textual_inversion\"][\"text_encoder\"],\n        optimizer,\n        train_dataloader,\n        lr_scheduler,\n    ) = accelerator.prepare(\n        server_state[\"textual_inversion\"][\"text_encoder\"],\n        optimizer,\n        train_dataloader,\n        lr_scheduler,\n    )\n\n    # Move vae and unet to device\n    server_state[\"textual_inversion\"][\"vae\"].to(accelerator.device)\n    server_state[\"textual_inversion\"][\"unet\"].to(accelerator.device)\n\n    # Keep vae and unet in eval mode as we don't train these\n    server_state[\"textual_inversion\"][\"vae\"].eval()\n    server_state[\"textual_inversion\"][\"unet\"].eval()\n\n    # We need to recalculate our total training steps as the size of the training dataloader may have changed.\n    num_update_steps_per_epoch = math.ceil(\n        len(train_dataloader) / config[\"args\"][\"gradient_accumulation_steps\"]\n    )\n    if overrode_max_train_steps:\n        config[\"args\"][\"max_train_steps\"] = (\n            config[\"args\"][\"num_train_epochs\"] * num_update_steps_per_epoch\n        )\n    # Afterwards we recalculate our number of training epochs\n    config[\"args\"][\"num_train_epochs\"] = math.ceil(\n        config[\"args\"][\"max_train_steps\"] / num_update_steps_per_epoch\n    )\n\n    # We need to initialize the trackers we use, and also store our configuration.\n    # The trackers initializes automatically on the main process.\n    if accelerator.is_main_process:\n        accelerator.init_trackers(\"textual_inversion\", config=config[\"args\"])\n\n    # Train!\n    total_batch_size = (\n        config[\"args\"][\"train_batch_size\"]\n        * accelerator.num_processes\n        * st.session_state[\"textual_inversion\"][\"args\"][\"gradient_accumulation_steps\"]\n    )\n\n    logger.info(\"***** Running training *****\")\n    logger.info(f\"  Num examples = {len(train_dataset)}\")\n    logger.info(f\"  Num Epochs = {config['args']['num_train_epochs']}\")\n    logger.info(\n        f\"  Instantaneous batch size per device = {config['args']['train_batch_size']}\"\n    )\n    logger.info(\n        f\"  Total train batch size (w. parallel, distributed & accumulation) = {total_batch_size}\"\n    )\n    logger.info(\n        f\"  Gradient Accumulation steps = {config['args']['gradient_accumulation_steps']}\"\n    )\n    logger.info(f\"  Total optimization steps = {config['args']['max_train_steps']}\")\n    # Only show the progress bar once on each machine.\n    progress_bar = tqdm(\n        range(config[\"args\"][\"max_train_steps\"]),\n        disable=not accelerator.is_local_main_process,\n    )\n    progress_bar.set_description(\"Steps\")\n    global_step = 0\n    encoded_pixel_values_cache = {}\n\n    try:\n        for epoch in range(config[\"args\"][\"num_train_epochs\"]):\n            server_state[\"textual_inversion\"][\"text_encoder\"].train()\n            for step, batch in enumerate(train_dataloader):\n                with accelerator.accumulate(\n                    server_state[\"textual_inversion\"][\"text_encoder\"]\n                ):\n                    # Convert images to latent space\n                    key = \"|\".join(batch[\"key\"])\n                    if encoded_pixel_values_cache.get(key, None) is None:\n                        encoded_pixel_values_cache[key] = (\n                            server_state[\"textual_inversion\"][\"vae\"]\n                            .encode(batch[\"pixel_values\"])\n                            .latent_dist\n                        )\n                    latents = (\n                        encoded_pixel_values_cache[key].sample().detach().half()\n                        * 0.18215\n                    )\n\n                    # Sample noise that we'll add to the latents\n                    noise = torch.randn(latents.shape).to(latents.device)\n                    bsz = latents.shape[0]\n                    # Sample a random timestep for each image\n                    timesteps = torch.randint(\n                        0,\n                        noise_scheduler.num_train_timesteps,\n                        (bsz,),\n                        device=latents.device,\n                    ).long()\n\n                    # Add noise to the latents according to the noise magnitude at each timestep\n                    # (this is the forward diffusion process)\n                    noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps)\n\n                    # Get the text embedding for conditioning\n                    encoder_hidden_states = server_state[\"textual_inversion\"][\n                        \"text_encoder\"\n                    ](batch[\"input_ids\"])[0]\n\n                    # Predict the noise residual\n                    noise_pred = server_state[\"textual_inversion\"][\"unet\"](\n                        noisy_latents, timesteps, encoder_hidden_states\n                    ).sample\n\n                    loss = (\n                        F.mse_loss(noise_pred, noise, reduction=\"none\")\n                        .mean([1, 2, 3])\n                        .mean()\n                    )\n                    accelerator.backward(loss)\n\n                    # Zero out the gradients for all token embeddings except the newly added\n                    # embeddings for the concept, as we only want to optimize the concept embeddings\n                    if accelerator.num_processes > 1:\n                        grads = (\n                            server_state[\"textual_inversion\"][\"text_encoder\"]\n                            .module.get_input_embeddings()\n                            .weight.grad\n                        )\n                    else:\n                        grads = (\n                            server_state[\"textual_inversion\"][\"text_encoder\"]\n                            .get_input_embeddings()\n                            .weight.grad\n                        )\n                    # Get the index for tokens that we want to zero the grads for\n                    index_grads_to_zero = (\n                        torch.arange(\n                            len(server_state[\"textual_inversion\"][\"tokenizer\"])\n                        )\n                        != placeholder_token_id\n                    )\n                    grads.data[index_grads_to_zero, :] = grads.data[\n                        index_grads_to_zero, :\n                    ].fill_(0)\n\n                    optimizer.step()\n                    lr_scheduler.step()\n                    optimizer.zero_grad()\n\n                # try:\n                # Checks if the accelerator has performed an optimization step behind the scenes\n                if accelerator.sync_gradients:\n                    progress_bar.update(1)\n                    global_step += 1\n\n                    if (\n                        global_step % config[\"args\"][\"checkpoint_frequency\"] == 0\n                        and global_step > 0\n                        and accelerator.is_main_process\n                    ):\n                        checkpointer.checkpoint(\n                            global_step + global_step_offset,\n                            server_state[\"textual_inversion\"][\"text_encoder\"],\n                        )\n                        save_resume_file(\n                            basepath,\n                            {\n                                \"global_step\": global_step + global_step_offset,\n                                \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                            },\n                            config,\n                        )\n\n                        checkpointer.save_samples(\n                            global_step + global_step_offset,\n                            server_state[\"textual_inversion\"][\"text_encoder\"],\n                            config[\"args\"][\"resolution\"],\n                            config[\"args\"][\"resolution\"],\n                            7.5,\n                            0.0,\n                            config[\"args\"][\"sample_steps\"],\n                        )\n\n                        checkpointer.checkpoint(\n                            global_step + global_step_offset,\n                            server_state[\"textual_inversion\"][\"text_encoder\"],\n                            path=f\"{basepath}/learned_embeds.bin\",\n                        )\n                # except KeyError:\n                # raise StopException\n\n                logs = {\n                    \"loss\": loss.detach().item(),\n                    \"lr\": lr_scheduler.get_last_lr()[0],\n                }\n                progress_bar.set_postfix(**logs)\n\n                # accelerator.log(logs, step=global_step)\n\n                # try:\n                if global_step >= config[\"args\"][\"max_train_steps\"]:\n                    break\n                # except:\n                # pass\n\n            accelerator.wait_for_everyone()\n\n        # Create the pipeline using the trained modules and save it.\n        if accelerator.is_main_process:\n            print(\"Finished! Saving final checkpoint and resume state.\")\n            checkpointer.checkpoint(\n                global_step + global_step_offset,\n                server_state[\"textual_inversion\"][\"text_encoder\"],\n                path=f\"{basepath}/learned_embeds.bin\",\n            )\n\n            save_resume_file(\n                basepath,\n                {\n                    \"global_step\": global_step + global_step_offset,\n                    \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                },\n                config,\n            )\n\n            accelerator.end_training()\n\n    except (KeyboardInterrupt, StopException):\n        print(\"Received Streamlit StopException or KeyboardInterrupt\")\n\n        if accelerator.is_main_process:\n            print(\"Interrupted, saving checkpoint and resume state...\")\n            checkpointer.checkpoint(\n                global_step + global_step_offset,\n                server_state[\"textual_inversion\"][\"text_encoder\"],\n            )\n\n            config[\"args\"] = save_resume_file(\n                basepath,\n                {\n                    \"global_step\": global_step + global_step_offset,\n                    \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                },\n                config,\n            )\n\n            checkpointer.checkpoint(\n                global_step + global_step_offset,\n                server_state[\"textual_inversion\"][\"text_encoder\"],\n                path=f\"{basepath}/learned_embeds.bin\",\n            )\n\n        quit()\n\n\ndef layout():\n    with st.form(\"textual-inversion\"):\n        # st.info(\"Under Construction. :construction_worker:\")\n        # parser = argparse.ArgumentParser(description=\"Simple example of a training script.\")\n\n        set_page_title(\"Textual Inversion - Stable Diffusion Playground\")\n\n        config_tab, output_tab, tensorboard_tab = st.tabs(\n            [\"Textual Inversion Config\", \"Ouput\", \"TensorBoard\"]\n        )\n\n        with config_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"large\")\n\n            if \"textual_inversion\" not in st.session_state:\n                st.session_state[\"textual_inversion\"] = {}\n\n            if \"textual_inversion\" not in server_state:\n                server_state[\"textual_inversion\"] = {}\n\n            if \"args\" not in st.session_state[\"textual_inversion\"]:\n                st.session_state[\"textual_inversion\"][\"args\"] = {}\n\n            with col1:\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"pretrained_model_name_or_path\"\n                ] = st.text_input(\n                    \"Pretrained Model Path\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].textual_inversion.pretrained_model_name_or_path,\n                    help=\"Path to pretrained model or model identifier from huggingface.co/models.\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"tokenizer_name\"\n                ] = st.text_input(\n                    \"Tokenizer Name\",\n                    value=st.session_state[\"defaults\"].textual_inversion.tokenizer_name,\n                    help=\"Pretrained tokenizer name or path if not the same as model_name\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"train_data_dir\"\n                ] = st.text_input(\n                    \"train_data_dir\",\n                    value=\"\",\n                    help=\"A folder containing the training data.\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"placeholder_token\"\n                ] = st.text_input(\n                    \"Placeholder Token\",\n                    value=\"\",\n                    help=\"A token to use as a placeholder for the concept.\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"initializer_token\"\n                ] = st.text_input(\n                    \"Initializer Token\",\n                    value=\"\",\n                    help=\"A token to use as initializer word.\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"learnable_property\"\n                ] = st.selectbox(\n                    \"Learnable Property\",\n                    [\"object\", \"style\"],\n                    index=0,\n                    help=\"Choose between 'object' and 'style'\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\"repeats\"] = int(\n                    st.text_input(\n                        \"Number of times to Repeat\",\n                        value=100,\n                        help=\"How many times to repeat the training data.\",\n                    )\n                )\n\n                with col2:\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"output_dir\"\n                    ] = st.text_input(\n                        \"Output Directory\",\n                        value=str(os.path.join(\"outputs\", \"textual_inversion\")),\n                        help=\"The output directory where the model predictions and checkpoints will be written.\",\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\"seed\"] = seed_to_int(\n                        st.text_input(\n                            \"Seed\",\n                            value=0,\n                            help=\"A seed for reproducible training, if left empty a random one will be generated. Default: 0\",\n                        )\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\"resolution\"] = int(\n                        st.text_input(\n                            \"Resolution\",\n                            value=512,\n                            help=\"The resolution for input images, all the images in the train/validation dataset will be resized to this resolution\",\n                        )\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"center_crop\"\n                    ] = st.checkbox(\n                        \"Center Image\",\n                        value=True,\n                        help=\"Whether to center crop images before resizing to resolution\",\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"train_batch_size\"\n                    ] = int(\n                        st.text_input(\n                            \"Train Batch Size\",\n                            value=1,\n                            help=\"Batch size (per device) for the training dataloader.\",\n                        )\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"num_train_epochs\"\n                    ] = int(\n                        st.text_input(\n                            \"Number of Steps to Train\",\n                            value=100,\n                            help=\"Number of steps to train.\",\n                        )\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"max_train_steps\"\n                    ] = int(\n                        st.text_input(\n                            \"Max Number of Steps to Train\",\n                            value=5000,\n                            help=\"Total number of training steps to perform.  If provided, overrides 'Number of Steps to Train'.\",\n                        )\n                    )\n\n                    with col3:\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"gradient_accumulation_steps\"\n                        ] = int(\n                            st.text_input(\n                                \"Gradient Accumulation Steps\",\n                                value=1,\n                                help=\"Number of updates steps to accumulate before performing a backward/update pass.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"learning_rate\"\n                        ] = float(\n                            st.text_input(\n                                \"Learning Rate\",\n                                value=5.0e-04,\n                                help=\"Initial learning rate (after the potential warmup period) to use.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"scale_lr\"\n                        ] = st.checkbox(\n                            \"Scale Learning Rate\",\n                            value=True,\n                            help=\"Scale the learning rate by the number of GPUs, gradient accumulation steps, and batch size.\",\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"lr_scheduler\"\n                        ] = st.text_input(\n                            \"Learning Rate Scheduler\",\n                            value=\"constant\",\n                            help=(\n                                \"The scheduler type to use. Choose between ['linear', 'cosine', 'cosine_with_restarts', 'polynomial',\"\n                                \" 'constant', 'constant_with_warmup']\"\n                            ),\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"lr_warmup_steps\"\n                        ] = int(\n                            st.text_input(\n                                \"Learning Rate Warmup Steps\",\n                                value=500,\n                                help=\"Number of steps for the warmup in the lr scheduler.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"adam_beta1\"\n                        ] = float(\n                            st.text_input(\n                                \"Adam Beta 1\",\n                                value=0.9,\n                                help=\"The beta1 parameter for the Adam optimizer.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"adam_beta2\"\n                        ] = float(\n                            st.text_input(\n                                \"Adam Beta 2\",\n                                value=0.999,\n                                help=\"The beta2 parameter for the Adam optimizer.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"adam_weight_decay\"\n                        ] = float(\n                            st.text_input(\n                                \"Adam Weight Decay\",\n                                value=1e-2,\n                                help=\"Weight decay to use.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"adam_epsilon\"\n                        ] = float(\n                            st.text_input(\n                                \"Adam Epsilon\",\n                                value=1e-08,\n                                help=\"Epsilon value for the Adam optimizer\",\n                            )\n                        )\n\n                        with col4:\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"mixed_precision\"\n                            ] = st.selectbox(\n                                \"Mixed Precision\",\n                                [\"no\", \"fp16\", \"bf16\"],\n                                index=1,\n                                help=\"Whether to use mixed precision. Choose\"\n                                \"between fp16 and bf16 (bfloat16). Bf16 requires PyTorch >= 1.10.\"\n                                \"and an Nvidia Ampere GPU.\",\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"local_rank\"\n                            ] = int(\n                                st.text_input(\n                                    \"Local Rank\",\n                                    value=1,\n                                    help=\"For distributed training: local_rank\",\n                                )\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"checkpoint_frequency\"\n                            ] = int(\n                                st.text_input(\n                                    \"Checkpoint Frequency\",\n                                    value=500,\n                                    help=\"How often to save a checkpoint and sample image\",\n                                )\n                            )\n\n                            # stable_sample_batches is crashing when saving the samples so for now I will disable it util its fixed.\n                            # st.session_state[\"textual_inversion\"][\"args\"][\"stable_sample_batches\"] = int(st.text_input(\"Stable Sample Batches\",  value=0,\n                            # help=\"Number of fixed seed sample batches to generate per checkpoint\"))\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"stable_sample_batches\"\n                            ] = 0\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"random_sample_batches\"\n                            ] = int(\n                                st.text_input(\n                                    \"Random Sample Batches\",\n                                    value=2,\n                                    help=\"Number of random seed sample batches to generate per checkpoint\",\n                                )\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"sample_batch_size\"\n                            ] = int(\n                                st.text_input(\n                                    \"Sample Batch Size\",\n                                    value=1,\n                                    help=\"Number of samples to generate per batch\",\n                                )\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"sample_steps\"\n                            ] = int(\n                                st.text_input(\n                                    \"Sample Steps\",\n                                    value=100,\n                                    help=\"Number of steps for sample generation. Higher values will result in more detailed samples, but longer runtimes.\",\n                                )\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"custom_templates\"\n                            ] = st.text_input(\n                                \"Custom Templates\",\n                                value=\"\",\n                                help=\"A semicolon-delimited list of custom template to use for samples, using {} as a placeholder for the concept.\",\n                            )\n                            with col5:\n                                st.session_state[\"textual_inversion\"][\"args\"][\n                                    \"resume\"\n                                ] = st.checkbox(\n                                    label=\"Resume Previous Run?\",\n                                    value=False,\n                                    help=\"Resume previous run, if a valid resume.json file is on the output dir \\\n\t\t\t\t\t\t\t\t                                                                      it will be used, otherwise if the 'Resume From' field bellow contains a valid resume.json file \\\n\t\t\t\t\t\t\t\t                                                                      that one will be used.\",\n                                )\n\n                                st.session_state[\"textual_inversion\"][\"args\"][\n                                    \"resume_from\"\n                                ] = st.text_input(\n                                    label=\"Resume From\",\n                                    help=\"Path to a directory to resume training from (ie, logs/token_name)\",\n                                )\n\n                                # st.session_state[\"textual_inversion\"][\"args\"][\"resume_checkpoint\"] = st.file_uploader(\"Resume Checkpoint\", type=[\"bin\"],\n                                # help=\"Path to a specific checkpoint to resume training from (ie, logs/token_name/checkpoints/something.bin).\")\n\n                                # st.session_state[\"textual_inversion\"][\"args\"][\"st.session_state[\"textual_inversion\"]\"] = st.file_uploader(\"st.session_state[\"textual_inversion\"] File\",  type=[\"json\"],\n                                # help=\"Path to a JSON st.session_state[\"textual_inversion\"]uration file containing arguments for invoking this script.\"\n                                # \"If resume_from is given, its resume.json takes priority over this.\")\n            #\n            # print (os.path.join(st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],st.session_state[\"textual_inversion\"][\"args\"][\"placeholder_token\"].strip(\"<>\"),\"resume.json\"))\n            # print (os.path.exists(os.path.join(st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],st.session_state[\"textual_inversion\"][\"args\"][\"placeholder_token\"].strip(\"<>\"),\"resume.json\")))\n            if os.path.exists(\n                os.path.join(\n                    st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"placeholder_token\"\n                    ].strip(\"<>\"),\n                    \"resume.json\",\n                )\n            ):\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"resume_from\"\n                ] = os.path.join(\n                    st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"placeholder_token\"\n                    ].strip(\"<>\"),\n                )\n                # print (st.session_state[\"textual_inversion\"][\"args\"][\"resume_from\"])\n\n            if os.path.exists(\n                os.path.join(\n                    st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"placeholder_token\"\n                    ].strip(\"<>\"),\n                    \"checkpoints\",\n                    \"last.bin\",\n                )\n            ):\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"resume_checkpoint\"\n                ] = os.path.join(\n                    st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"placeholder_token\"\n                    ].strip(\"<>\"),\n                    \"checkpoints\",\n                    \"last.bin\",\n                )\n\n            # if \"resume_from\" in st.session_state[\"textual_inversion\"][\"args\"]:\n            # if st.session_state[\"textual_inversion\"][\"args\"][\"resume_from\"]:\n            # if os.path.exists(os.path.join(st.session_state[\"textual_inversion\"]['args']['resume_from'], \"resume.json\")):\n            # with open(os.path.join(st.session_state[\"textual_inversion\"]['args']['resume_from'], \"resume.json\"), 'rt') as f:\n            # try:\n            # resume_json = json.load(f)[\"args\"]\n            # st.session_state[\"textual_inversion\"][\"args\"] = OmegaConf.merge(st.session_state[\"textual_inversion\"][\"args\"], resume_json)\n            # st.session_state[\"textual_inversion\"][\"args\"][\"resume_from\"] = os.path.join(\n            # st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"], st.session_state[\"textual_inversion\"][\"args\"][\"placeholder_token\"].strip(\"<>\"))\n            # except json.decoder.JSONDecodeError:\n            # pass\n\n            # print(st.session_state[\"textual_inversion\"][\"args\"])\n            # print(st.session_state[\"textual_inversion\"][\"args\"]['resume_from'])\n\n            # elif st.session_state[\"textual_inversion\"][\"args\"][\"st.session_state[\"textual_inversion\"]\"] is not None:\n            # with open(st.session_state[\"textual_inversion\"][\"args\"][\"st.session_state[\"textual_inversion\"]\"], 'rt') as f:\n            # args = parser.parse_args(namespace=argparse.Namespace(**json.load(f)[\"args\"]))\n\n            env_local_rank = int(os.environ.get(\"LOCAL_RANK\", -1))\n            if (\n                env_local_rank != -1\n                and env_local_rank\n                != st.session_state[\"textual_inversion\"][\"args\"][\"local_rank\"]\n            ):\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"local_rank\"\n                ] = env_local_rank\n\n            if st.session_state[\"textual_inversion\"][\"args\"][\"train_data_dir\"] is None:\n                st.error(\"You must specify --train_data_dir\")\n\n            if (\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"pretrained_model_name_or_path\"\n                ]\n                is None\n            ):\n                st.error(\"You must specify --pretrained_model_name_or_path\")\n\n            if (\n                st.session_state[\"textual_inversion\"][\"args\"][\"placeholder_token\"]\n                is None\n            ):\n                st.error(\"You must specify --placeholder_token\")\n\n            if (\n                st.session_state[\"textual_inversion\"][\"args\"][\"initializer_token\"]\n                is None\n            ):\n                st.error(\"You must specify --initializer_token\")\n\n            if st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"] is None:\n                st.error(\"You must specify --output_dir\")\n\n            # add a spacer and the submit button for the form.\n\n            st.session_state[\"textual_inversion\"][\"message\"] = st.empty()\n            st.session_state[\"textual_inversion\"][\"progress_bar\"] = st.empty()\n\n            st.write(\"---\")\n\n            submit = st.form_submit_button(\"Run\", help=\"\")\n            if submit:\n                if \"pipe\" in st.session_state:\n                    del st.session_state[\"pipe\"]\n                if \"model\" in st.session_state:\n                    del st.session_state[\"model\"]\n\n                set_page_title(\"Running Textual Inversion - Stable Diffusion WebUI\")\n                # st.session_state[\"textual_inversion\"][\"message\"].info(\"Textual Inversion Running. For more info check the progress on your console or the Ouput Tab.\")\n\n                try:\n                    # try:\n                    # run textual inversion.\n                    config = st.session_state[\"textual_inversion\"]\n                    textual_inversion(config)\n                    # except RuntimeError:\n                    # if \"pipeline\" in server_state[\"textual_inversion\"]:\n                    # del server_state['textual_inversion'][\"checker\"]\n                    # del server_state['textual_inversion'][\"unwrapped\"]\n                    # del server_state['textual_inversion'][\"pipeline\"]\n\n                    # run textual inversion.\n                    # config = st.session_state['textual_inversion']\n                    # textual_inversion(config)\n\n                    set_page_title(\"Textual Inversion - Stable Diffusion WebUI\")\n\n                except StopException:\n                    set_page_title(\"Textual Inversion - Stable Diffusion WebUI\")\n                    print(\"Received Streamlit StopException\")\n\n                st.session_state[\"textual_inversion\"][\"message\"].empty()\n\n        #\n        with output_tab:\n            st.info(\"Under Construction. :construction_worker:\")\n\n            # st.info(\"Nothing to show yet. Maybe try running some training first.\")\n\n            # st.session_state[\"textual_inversion\"][\"preview_image\"] = st.empty()\n            # st.session_state[\"textual_inversion\"][\"progress_bar\"] = st.empty()\n\n        with tensorboard_tab:\n            # st.info(\"Under Construction. :construction_worker:\")\n\n            # Start TensorBoard\n            st_tensorboard(\n                logdir=os.path.join(\"outputs\", \"textual_inversion\"), port=8888\n            )\n"
  },
  {
    "path": "scripts/txt2img.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import (\n    st,\n    MemUsageMonitor,\n    server_state,\n    no_rerun,\n    get_next_sequence_number,\n    check_prompt_length,\n    torch_gc,\n    save_sample,\n    generation_callback,\n    process_images,\n    KDiffusionSampler,\n    custom_models_available,\n    RealESRGAN_available,\n    GFPGAN_available,\n    LDSR_available,\n    load_models,\n    hc,\n    seed_to_int,\n    logger,\n    set_page_title,\n)\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\n\n# streamlit components section\n\n# from streamlit.elements import image as STImage\nimport streamlit.components.v1 as components\n\n# from streamlit.runtime.media_file_manager  import media_file_manager\nfrom streamlit.elements.image import image_to_url\n\n# other imports\n\nimport base64, uuid\nimport os, sys, datetime, time\nfrom PIL import Image\nimport requests\nfrom slugify import slugify\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom typing import Union\nfrom io import BytesIO\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom ldm.models.diffusion.plms import PLMSSampler\n\n\n# streamlit components\nfrom custom_components import sygil_suggestions\n\n# Temp imports\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nsygil_suggestions.init()\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n#\n# Dev mode (server)\n# _component_func = components.declare_component(\n#         \"sd-gallery\",\n#         url=\"http://localhost:3001\",\n#     )\n\n# Init Vuejs component\n_component_func = components.declare_component(\n    \"sd-gallery\", \"./frontend/dists/sd-gallery/dist\"\n)\n\n\ndef sdGallery(images=[], key=None):\n    component_value = _component_func(images=imgsToGallery(images), key=key, default=\"\")\n    return component_value\n\n\ndef imgsToGallery(images):\n    urls = []\n    for i in images:\n        # random string for id\n        random_id = str(uuid.uuid4())\n        url = image_to_url(\n            image=i,\n            image_id=random_id,\n            width=i.width,\n            clamp=False,\n            channels=\"RGB\",\n            output_format=\"PNG\",\n        )\n        # image_io = BytesIO()\n        # i.save(image_io, 'PNG')\n        # width, height = i.size\n        # image_id = \"%s\" % (str(images.index(i)))\n        # (data, mimetype) = STImage._normalize_to_bytes(image_io.getvalue(), width, 'auto')\n        # this_file = media_file_manager.add(data, mimetype, image_id)\n        # img_str = this_file.url\n        urls.append(url)\n\n    return urls\n\n\nclass plugin_info:\n    plugname = \"txt2img\"\n    description = \"Text to Image\"\n    isTab = True\n    displayPriority = 1\n\n\n@logger.catch(reraise=True)\ndef stable_horde(\n    outpath,\n    prompt,\n    seed,\n    sampler_name,\n    save_grid,\n    batch_size,\n    n_iter,\n    steps,\n    cfg_scale,\n    width,\n    height,\n    prompt_matrix,\n    use_GFPGAN,\n    GFPGAN_model,\n    use_RealESRGAN,\n    realesrgan_model_name,\n    use_LDSR,\n    LDSR_model_name,\n    ddim_eta,\n    normalize_prompt_weights,\n    save_individual_images,\n    sort_samples,\n    write_info_files,\n    jpg_sample,\n    variant_amount,\n    variant_seed,\n    api_key,\n    nsfw=True,\n    censor_nsfw=False,\n):\n    log = []\n\n    log.append(\"Generating image with Stable Horde.\")\n\n    st.session_state[\"progress_bar_text\"].code(\"\\n\".join(log), language=\"\")\n\n    # start time after garbage collection (or before?)\n    start_time = time.time()\n\n    # We will use this date here later for the folder name, need to start_time if not need\n    datetime.datetime.now()\n\n    mem_mon = MemUsageMonitor(\"MemMon\")\n    mem_mon.start()\n\n    os.makedirs(outpath, exist_ok=True)\n\n    sample_path = os.path.join(outpath, \"samples\")\n    os.makedirs(sample_path, exist_ok=True)\n\n    params = {\n        \"sampler_name\": \"k_euler\",\n        \"toggles\": [1, 4],\n        \"cfg_scale\": cfg_scale,\n        \"seed\": str(seed),\n        \"width\": width,\n        \"height\": height,\n        \"seed_variation\": variant_seed if variant_seed else 1,\n        \"steps\": int(steps),\n        \"n\": int(n_iter)\n        # You can put extra params here if you wish\n    }\n\n    final_submit_dict = {\n        \"prompt\": prompt,\n        \"params\": params,\n        \"nsfw\": nsfw,\n        \"censor_nsfw\": censor_nsfw,\n        \"trusted_workers\": True,\n        \"workers\": [],\n    }\n    log.append(final_submit_dict)\n\n    headers = {\"apikey\": api_key}\n    logger.debug(final_submit_dict)\n    st.session_state[\"progress_bar_text\"].code(\"\\n\".join(str(log)), language=\"\")\n\n    horde_url = \"https://stablehorde.net\"\n\n    submit_req = requests.post(\n        f\"{horde_url}/api/v2/generate/async\", json=final_submit_dict, headers=headers\n    )\n    if submit_req.ok:\n        submit_results = submit_req.json()\n        logger.debug(submit_results)\n\n        log.append(submit_results)\n        st.session_state[\"progress_bar_text\"].code(\"\".join(str(log)), language=\"\")\n\n        req_id = submit_results[\"id\"]\n        is_done = False\n        while not is_done:\n            chk_req = requests.get(f\"{horde_url}/api/v2/generate/check/{req_id}\")\n            if not chk_req.ok:\n                logger.error(chk_req.text)\n                return\n            chk_results = chk_req.json()\n            logger.info(chk_results)\n            is_done = chk_results[\"done\"]\n            time.sleep(1)\n        retrieve_req = requests.get(f\"{horde_url}/api/v2/generate/status/{req_id}\")\n        if not retrieve_req.ok:\n            logger.error(retrieve_req.text)\n            return\n        results_json = retrieve_req.json()\n        # logger.debug(results_json)\n        results = results_json[\"generations\"]\n\n        output_images = []\n        comments = []\n\n        if not st.session_state[\"defaults\"].general.no_verify_input:\n            try:\n                check_prompt_length(prompt, comments)\n            except:\n                import traceback\n\n                logger.info(\"Error verifying input:\", file=sys.stderr)\n                logger.info(traceback.format_exc(), file=sys.stderr)\n\n        all_prompts = batch_size * n_iter * [prompt]\n        all_seeds = [seed + x for x in range(len(all_prompts))]\n\n        for iter in range(len(results)):\n            b64img = results[iter][\"img\"]\n            base64_bytes = b64img.encode(\"utf-8\")\n            img_bytes = base64.b64decode(base64_bytes)\n            img = Image.open(BytesIO(img_bytes))\n\n            sanitized_prompt = slugify(prompt)\n\n            prompts = all_prompts[iter * batch_size : (iter + 1) * batch_size]\n            # captions = prompt_matrix_parts[n * batch_size:(n + 1) * batch_size]\n            seeds = all_seeds[iter * batch_size : (iter + 1) * batch_size]\n\n            if sort_samples:\n                full_path = os.path.join(os.getcwd(), sample_path, sanitized_prompt)\n\n                sanitized_prompt = sanitized_prompt[: 200 - len(full_path)]\n                sample_path_i = os.path.join(sample_path, sanitized_prompt)\n\n                # print(f\"output folder length: {len(os.path.join(os.getcwd(), sample_path_i))}\")\n                # print(os.path.join(os.getcwd(), sample_path_i))\n\n                os.makedirs(sample_path_i, exist_ok=True)\n                base_count = get_next_sequence_number(sample_path_i)\n                filename = f\"{base_count:05}-{steps}_{sampler_name}_{seeds[iter]}\"\n            else:\n                full_path = os.path.join(os.getcwd(), sample_path)\n                sample_path_i = sample_path\n                base_count = get_next_sequence_number(sample_path_i)\n                filename = (\n                    f\"{base_count:05}-{steps}_{sampler_name}_{seed}_{sanitized_prompt}\"[\n                        : 200 - len(full_path)\n                    ]\n                )  # same as before\n\n            save_sample(\n                img,\n                sample_path_i,\n                filename,\n                jpg_sample,\n                prompts,\n                seeds,\n                width,\n                height,\n                steps,\n                cfg_scale,\n                normalize_prompt_weights,\n                use_GFPGAN,\n                write_info_files,\n                prompt_matrix,\n                init_img=None,\n                denoising_strength=0.75,\n                resize_mode=None,\n                uses_loopback=False,\n                uses_random_seed_loopback=False,\n                save_grid=save_grid,\n                sort_samples=sampler_name,\n                sampler_name=sampler_name,\n                ddim_eta=ddim_eta,\n                n_iter=n_iter,\n                batch_size=batch_size,\n                i=iter,\n                save_individual_images=save_individual_images,\n                model_name=\"Stable Diffusion v1.5\",\n            )\n\n            output_images.append(img)\n\n            # update image on the UI so we can see the progress\n            if \"preview_image\" in st.session_state:\n                st.session_state[\"preview_image\"].image(img)\n\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].empty()\n\n            # if len(results) > 1:\n            # final_filename = f\"{iter}_{filename}\"\n            # img.save(final_filename)\n            # logger.info(f\"Saved {final_filename}\")\n    else:\n        if \"progress_bar_text\" in st.session_state:\n            st.session_state[\"progress_bar_text\"].error(submit_req.text)\n\n        logger.error(submit_req.text)\n\n    mem_max_used, mem_total = mem_mon.read_and_stop()\n    time_diff = time.time() - start_time\n\n    info = f\"\"\"\n            {prompt}\n            Steps: {steps}, Sampler: {sampler_name}, CFG scale: {cfg_scale}, Seed: {seed}{', GFPGAN' if use_GFPGAN else ''}{', '+realesrgan_model_name if use_RealESRGAN else ''}\n            {', Prompt Matrix Mode.' if prompt_matrix else ''}\"\"\".strip()\n\n    stats = f\"\"\"\n            Took { round(time_diff, 2) }s total ({ round(time_diff/(len(all_prompts)),2) }s per image)\n            Peak memory usage: { -(mem_max_used // -1_048_576) } MiB / { -(mem_total // -1_048_576) } MiB / { round(mem_max_used/mem_total*100, 3) }%\"\"\"\n\n    for comment in comments:\n        info += \"\\n\\n\" + comment\n\n    # mem_mon.stop()\n    # del mem_mon\n    torch_gc()\n\n    return output_images, seed, info, stats\n\n\n#\n@logger.catch(reraise=True)\ndef txt2img(\n    prompt: str,\n    ddim_steps: int,\n    sampler_name: str,\n    n_iter: int,\n    batch_size: int,\n    cfg_scale: float,\n    seed: Union[int, str, None],\n    height: int,\n    width: int,\n    separate_prompts: bool = False,\n    normalize_prompt_weights: bool = True,\n    save_individual_images: bool = True,\n    save_grid: bool = True,\n    group_by_prompt: bool = True,\n    save_as_jpg: bool = True,\n    use_GFPGAN: bool = True,\n    GFPGAN_model: str = \"GFPGANv1.3\",\n    use_RealESRGAN: bool = False,\n    RealESRGAN_model: str = \"RealESRGAN_x4plus_anime_6B\",\n    use_LDSR: bool = True,\n    LDSR_model: str = \"model\",\n    fp=None,\n    variant_amount: float = 0.0,\n    variant_seed: int = None,\n    ddim_eta: float = 0.0,\n    write_info_files: bool = True,\n    use_stable_horde: bool = False,\n    stable_horde_key: str = \"0000000000\",\n):\n    outpath = st.session_state[\"defaults\"].general.outdir_txt2img\n\n    seed = seed_to_int(seed)\n\n    if not use_stable_horde:\n        if sampler_name == \"PLMS\":\n            sampler = PLMSSampler(server_state[\"model\"])\n        elif sampler_name == \"DDIM\":\n            sampler = DDIMSampler(server_state[\"model\"])\n        elif sampler_name == \"k_dpm_2_a\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"dpm_2_ancestral\")\n        elif sampler_name == \"k_dpm_2\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"dpm_2\")\n        elif sampler_name == \"k_dpmpp_2m\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"dpmpp_2m\")\n        elif sampler_name == \"k_euler_a\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"euler_ancestral\")\n        elif sampler_name == \"k_euler\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"euler\")\n        elif sampler_name == \"k_heun\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"heun\")\n        elif sampler_name == \"k_lms\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"lms\")\n        else:\n            raise Exception(\"Unknown sampler: \" + sampler_name)\n\n        def init():\n            pass\n\n        def sample(\n            init_data, x, conditioning, unconditional_conditioning, sampler_name\n        ):\n            samples_ddim, _ = sampler.sample(\n                S=ddim_steps,\n                conditioning=conditioning,\n                batch_size=int(x.shape[0]),\n                shape=x[0].shape,\n                verbose=False,\n                unconditional_guidance_scale=cfg_scale,\n                unconditional_conditioning=unconditional_conditioning,\n                eta=ddim_eta,\n                x_T=x,\n                img_callback=generation_callback\n                if not server_state[\"bridge\"]\n                else None,\n                log_every_t=int(\n                    st.session_state.update_preview_frequency\n                    if not server_state[\"bridge\"]\n                    else 100\n                ),\n            )\n\n            return samples_ddim\n\n    if use_stable_horde:\n        output_images, seed, info, stats = stable_horde(\n            prompt=prompt,\n            seed=seed,\n            outpath=outpath,\n            sampler_name=sampler_name,\n            save_grid=save_grid,\n            batch_size=batch_size,\n            n_iter=n_iter,\n            steps=ddim_steps,\n            cfg_scale=cfg_scale,\n            width=width,\n            height=height,\n            prompt_matrix=separate_prompts,\n            use_GFPGAN=use_GFPGAN,\n            GFPGAN_model=GFPGAN_model,\n            use_RealESRGAN=use_RealESRGAN,\n            realesrgan_model_name=RealESRGAN_model,\n            use_LDSR=use_LDSR,\n            LDSR_model_name=LDSR_model,\n            ddim_eta=ddim_eta,\n            normalize_prompt_weights=normalize_prompt_weights,\n            save_individual_images=save_individual_images,\n            sort_samples=group_by_prompt,\n            write_info_files=write_info_files,\n            jpg_sample=save_as_jpg,\n            variant_amount=variant_amount,\n            variant_seed=variant_seed,\n            api_key=stable_horde_key,\n        )\n    else:\n        # try:\n        output_images, seed, info, stats = process_images(\n            outpath=outpath,\n            func_init=init,\n            func_sample=sample,\n            prompt=prompt,\n            seed=seed,\n            sampler_name=sampler_name,\n            save_grid=save_grid,\n            batch_size=batch_size,\n            n_iter=n_iter,\n            steps=ddim_steps,\n            cfg_scale=cfg_scale,\n            width=width,\n            height=height,\n            prompt_matrix=separate_prompts,\n            use_GFPGAN=use_GFPGAN,\n            GFPGAN_model=GFPGAN_model,\n            use_RealESRGAN=use_RealESRGAN,\n            realesrgan_model_name=RealESRGAN_model,\n            use_LDSR=use_LDSR,\n            LDSR_model_name=LDSR_model,\n            ddim_eta=ddim_eta,\n            normalize_prompt_weights=normalize_prompt_weights,\n            save_individual_images=save_individual_images,\n            sort_samples=group_by_prompt,\n            write_info_files=write_info_files,\n            jpg_sample=save_as_jpg,\n            variant_amount=variant_amount,\n            variant_seed=variant_seed,\n        )\n\n        del sampler\n\n    return output_images, seed, info, stats\n\n    # except RuntimeError as e:\n    # err = e\n    # err_msg = f'CRASHED:<br><textarea rows=\"5\" style=\"color:white;background: black;width: -webkit-fill-available;font-family: monospace;font-size: small;font-weight: bold;\">{str(e)}</textarea><br><br>Please wait while the program restarts.'\n    # stats = err_msg\n    # return [], seed, 'err', stats\n\n\n#\n@logger.catch(reraise=True)\ndef layout():\n    with st.form(\"txt2img-inputs\"):\n        st.session_state[\"generation_mode\"] = \"txt2img\"\n\n        input_col1, generate_col1 = st.columns([10, 1])\n\n        with input_col1:\n            # prompt = st.text_area(\"Input Text\",\"\")\n            placeholder = \"A corgi wearing a top hat as an oil painting.\"\n            prompt = st.text_area(\"Input Text\", \"\", placeholder=placeholder, height=54)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].general.enable_suggestions:\n                    sygil_suggestions.suggestion_area(placeholder)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].admin.global_negative_prompt:\n                    prompt += f\"### {st.session_state['defaults'].admin.global_negative_prompt}\"\n\n            # print(prompt)\n\n        # creating the page layout using columns\n        col1, col2, col3 = st.columns([2, 5, 2], gap=\"large\")\n\n        with col1:\n            width = st.slider(\n                \"Width:\",\n                min_value=st.session_state[\"defaults\"].txt2img.width.min_value,\n                max_value=st.session_state[\"defaults\"].txt2img.width.max_value,\n                value=st.session_state[\"defaults\"].txt2img.width.value,\n                step=st.session_state[\"defaults\"].txt2img.width.step,\n            )\n            height = st.slider(\n                \"Height:\",\n                min_value=st.session_state[\"defaults\"].txt2img.height.min_value,\n                max_value=st.session_state[\"defaults\"].txt2img.height.max_value,\n                value=st.session_state[\"defaults\"].txt2img.height.value,\n                step=st.session_state[\"defaults\"].txt2img.height.step,\n            )\n            cfg_scale = st.number_input(\n                \"CFG (Classifier Free Guidance Scale):\",\n                min_value=st.session_state[\"defaults\"].txt2img.cfg_scale.min_value,\n                value=st.session_state[\"defaults\"].txt2img.cfg_scale.value,\n                step=st.session_state[\"defaults\"].txt2img.cfg_scale.step,\n                help=\"How strongly the image should follow the prompt.\",\n            )\n\n            seed = st.text_input(\n                \"Seed:\",\n                value=st.session_state[\"defaults\"].txt2img.seed,\n                help=\" The seed to use, if left blank a random seed will be generated.\",\n            )\n\n            with st.expander(\"Batch Options\"):\n                # batch_count = st.slider(\"Batch count.\", min_value=st.session_state['defaults'].txt2img.batch_count.min_value, max_value=st.session_state['defaults'].txt2img.batch_count.max_value,\n                # value=st.session_state['defaults'].txt2img.batch_count.value, step=st.session_state['defaults'].txt2img.batch_count.step,\n                # help=\"How many iterations or batches of images to generate in total.\")\n\n                # batch_size = st.slider(\"Batch size\", min_value=st.session_state['defaults'].txt2img.batch_size.min_value, max_value=st.session_state['defaults'].txt2img.batch_size.max_value,\n                # value=st.session_state.defaults.txt2img.batch_size.value, step=st.session_state.defaults.txt2img.batch_size.step,\n                # help=\"How many images are at once in a batch.\\\n                # It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it takes to finish generation as more images are generated at once.\\\n                # Default: 1\")\n\n                st.session_state[\"batch_count\"] = st.number_input(\n                    \"Batch count.\",\n                    value=st.session_state[\"defaults\"].txt2img.batch_count.value,\n                    help=\"How many iterations or batches of images to generate in total.\",\n                )\n\n                st.session_state[\"batch_size\"] = st.number_input(\n                    \"Batch size\",\n                    value=st.session_state.defaults.txt2img.batch_size.value,\n                    help=\"How many images are at once in a batch.\\\n                                                                   It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it takes \\\n                                                                   to finish generation as more images are generated at once.\\\n                                                                   Default: 1\",\n                )\n\n            with st.expander(\"Preview Settings\"):\n                st.session_state[\"update_preview\"] = st.session_state[\n                    \"defaults\"\n                ].general.update_preview\n                st.session_state[\"update_preview_frequency\"] = st.number_input(\n                    \"Update Image Preview Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].txt2img.update_preview_frequency,\n                    help=\"Frequency in steps at which the the preview image is updated. By default the frequency \\\n                                                                               is set to 10 step.\",\n                )\n\n        with col2:\n            preview_tab, gallery_tab = st.tabs([\"Preview\", \"Gallery\"])\n\n            with preview_tab:\n                # st.write(\"Image\")\n                # Image for testing\n                # image = Image.open(requests.get(\"https://icon-library.com/images/image-placeholder-icon/image-placeholder-icon-13.jpg\", stream=True).raw).convert('RGB')\n                # new_image = image.resize((175, 240))\n                # preview_image = st.image(image)\n\n                # create an empty container for the image, progress bar, etc so we can update it later and use session_state to hold them globally.\n                st.session_state[\"preview_image\"] = st.empty()\n\n                st.session_state[\"progress_bar_text\"] = st.empty()\n                st.session_state[\"progress_bar_text\"].info(\n                    \"Nothing but crickets here, try generating something first.\"\n                )\n\n                st.session_state[\"progress_bar\"] = st.empty()\n\n                message = st.empty()\n\n            with gallery_tab:\n                st.session_state[\"gallery\"] = st.empty()\n                # st.session_state[\"gallery\"].info(\"Nothing but crickets here, try generating something first.\")\n\n        with col3:\n            # If we have custom models available on the \"models/custom\"\n            # folder then we show a menu to select which model we want to use, otherwise we use the main model for SD\n            custom_models_available()\n\n            if server_state[\"CustomModel_available\"]:\n                st.session_state[\"custom_model\"] = st.selectbox(\n                    \"Custom Model:\",\n                    server_state[\"custom_models\"],\n                    index=server_state[\"custom_models\"].index(\n                        st.session_state[\"defaults\"].general.default_model\n                    ),\n                    help=\"Select the model you want to use. This option is only available if you have custom models \\\n                                                                on your 'models/custom' folder. The model name that will be shown here is the same as the name\\\n                                                                the file for the model has on said folder, it is recommended to give the .ckpt file a name that \\\n                                                                will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.5\",\n                )\n\n            st.session_state.sampling_steps = st.number_input(\n                \"Sampling Steps\",\n                value=st.session_state.defaults.txt2img.sampling_steps.value,\n                min_value=st.session_state.defaults.txt2img.sampling_steps.min_value,\n                step=st.session_state[\"defaults\"].txt2img.sampling_steps.step,\n                help=\"Set the default number of sampling steps to use. Default is: 30 (with k_euler)\",\n            )\n\n            sampler_name_list = [\n                \"k_lms\",\n                \"k_euler\",\n                \"k_euler_a\",\n                \"k_dpm_2\",\n                \"k_dpm_2_a\",\n                \"k_dpmpp_2m\",\n                \"k_heun\",\n                \"PLMS\",\n                \"DDIM\",\n            ]\n            sampler_name = st.selectbox(\n                \"Sampling method\",\n                sampler_name_list,\n                index=sampler_name_list.index(\n                    st.session_state[\"defaults\"].txt2img.default_sampler\n                ),\n                help=\"Sampling method to use. Default: k_euler\",\n            )\n\n            with st.expander(\"Advanced\"):\n                with st.expander(\"Stable Horde\"):\n                    use_stable_horde = st.checkbox(\n                        \"Use Stable Horde\",\n                        value=False,\n                        help=\"Use the Stable Horde to generate images. More info can be found at https://stablehorde.net/\",\n                    )\n                    stable_horde_key = st.text_input(\n                        \"Stable Horde Api Key\",\n                        value=st.session_state[\"defaults\"].general.stable_horde_api,\n                        type=\"password\",\n                        help=\"Optional Api Key used for the Stable Horde Bridge, if no api key is added the horde will be used anonymously.\",\n                    )\n\n                with st.expander(\"Output Settings\"):\n                    separate_prompts = st.checkbox(\n                        \"Create Prompt Matrix.\",\n                        value=st.session_state[\"defaults\"].txt2img.separate_prompts,\n                        help=\"Separate multiple prompts using the `|` character, and get all combinations of them.\",\n                    )\n\n                    normalize_prompt_weights = st.checkbox(\n                        \"Normalize Prompt Weights.\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.normalize_prompt_weights,\n                        help=\"Ensure the sum of all weights add up to 1.0\",\n                    )\n\n                    save_individual_images = st.checkbox(\n                        \"Save individual images.\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.save_individual_images,\n                        help=\"Save each image generated before any filter or enhancement is applied.\",\n                    )\n\n                    save_grid = st.checkbox(\n                        \"Save grid\",\n                        value=st.session_state[\"defaults\"].txt2img.save_grid,\n                        help=\"Save a grid with all the images generated into a single image.\",\n                    )\n                    group_by_prompt = st.checkbox(\n                        \"Group results by prompt\",\n                        value=st.session_state[\"defaults\"].txt2img.group_by_prompt,\n                        help=\"Saves all the images with the same prompt into the same folder. When using a prompt matrix each prompt combination will have its own folder.\",\n                    )\n\n                    write_info_files = st.checkbox(\n                        \"Write Info file\",\n                        value=st.session_state[\"defaults\"].txt2img.write_info_files,\n                        help=\"Save a file next to the image with informartion about the generation.\",\n                    )\n\n                    save_as_jpg = st.checkbox(\n                        \"Save samples as jpg\",\n                        value=st.session_state[\"defaults\"].txt2img.save_as_jpg,\n                        help=\"Saves the images as jpg instead of png.\",\n                    )\n\n                # check if GFPGAN, RealESRGAN and LDSR are available.\n                # if \"GFPGAN_available\" not in st.session_state:\n                GFPGAN_available()\n\n                # if \"RealESRGAN_available\" not in st.session_state:\n                RealESRGAN_available()\n\n                # if \"LDSR_available\" not in st.session_state:\n                LDSR_available()\n\n                if (\n                    st.session_state[\"GFPGAN_available\"]\n                    or st.session_state[\"RealESRGAN_available\"]\n                    or st.session_state[\"LDSR_available\"]\n                ):\n                    with st.expander(\"Post-Processing\"):\n                        face_restoration_tab, upscaling_tab = st.tabs(\n                            [\"Face Restoration\", \"Upscaling\"]\n                        )\n                        with face_restoration_tab:\n                            # GFPGAN used for face restoration\n                            if st.session_state[\"GFPGAN_available\"]:\n                                # with st.expander(\"Face Restoration\"):\n                                # if st.session_state[\"GFPGAN_available\"]:\n                                # with st.expander(\"GFPGAN\"):\n                                st.session_state[\"use_GFPGAN\"] = st.checkbox(\n                                    \"Use GFPGAN\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].txt2img.use_GFPGAN,\n                                    help=\"Uses the GFPGAN model to improve faces after the generation.\\\n                                                                                 This greatly improve the quality and consistency of faces but uses\\\n                                                                                 extra VRAM. Disable if you need the extra VRAM.\",\n                                )\n\n                                st.session_state[\"GFPGAN_model\"] = st.selectbox(\n                                    \"GFPGAN model\",\n                                    st.session_state[\"GFPGAN_models\"],\n                                    index=st.session_state[\"GFPGAN_models\"].index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.GFPGAN_model\n                                    ),\n                                )\n\n                            # st.session_state[\"GFPGAN_strenght\"] = st.slider(\"Effect Strenght\", min_value=1, max_value=100, value=1, step=1, help='')\n\n                            else:\n                                st.session_state[\"use_GFPGAN\"] = False\n\n                        with upscaling_tab:\n                            st.session_state[\"use_upscaling\"] = st.checkbox(\n                                \"Use Upscaling\",\n                                value=st.session_state[\n                                    \"defaults\"\n                                ].txt2img.use_upscaling,\n                            )\n\n                            # RealESRGAN and LDSR used for upscaling.\n                            if (\n                                st.session_state[\"RealESRGAN_available\"]\n                                or st.session_state[\"LDSR_available\"]\n                            ):\n                                upscaling_method_list = []\n                                if st.session_state[\"RealESRGAN_available\"]:\n                                    upscaling_method_list.append(\"RealESRGAN\")\n                                if st.session_state[\"LDSR_available\"]:\n                                    upscaling_method_list.append(\"LDSR\")\n\n                                # print (st.session_state[\"RealESRGAN_available\"])\n                                st.session_state[\"upscaling_method\"] = st.selectbox(\n                                    \"Upscaling Method\",\n                                    upscaling_method_list,\n                                    index=upscaling_method_list.index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.upscaling_method\n                                    )\n                                    if st.session_state[\n                                        \"defaults\"\n                                    ].general.upscaling_method\n                                    in upscaling_method_list\n                                    else 0,\n                                )\n\n                                if st.session_state[\"RealESRGAN_available\"]:\n                                    with st.expander(\"RealESRGAN\"):\n                                        if (\n                                            st.session_state[\"upscaling_method\"]\n                                            == \"RealESRGAN\"\n                                            and st.session_state[\"use_upscaling\"]\n                                        ):\n                                            st.session_state[\"use_RealESRGAN\"] = True\n                                        else:\n                                            st.session_state[\"use_RealESRGAN\"] = False\n\n                                        st.session_state[\n                                            \"RealESRGAN_model\"\n                                        ] = st.selectbox(\n                                            \"RealESRGAN model\",\n                                            st.session_state[\"RealESRGAN_models\"],\n                                            index=st.session_state[\n                                                \"RealESRGAN_models\"\n                                            ].index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].general.RealESRGAN_model\n                                            ),\n                                        )\n                                else:\n                                    st.session_state[\"use_RealESRGAN\"] = False\n                                    st.session_state[\n                                        \"RealESRGAN_model\"\n                                    ] = \"RealESRGAN_x4plus\"\n\n                                #\n                                if st.session_state[\"LDSR_available\"]:\n                                    with st.expander(\"LDSR\"):\n                                        if (\n                                            st.session_state[\"upscaling_method\"]\n                                            == \"LDSR\"\n                                            and st.session_state[\"use_upscaling\"]\n                                        ):\n                                            st.session_state[\"use_LDSR\"] = True\n                                        else:\n                                            st.session_state[\"use_LDSR\"] = False\n\n                                        st.session_state[\"LDSR_model\"] = st.selectbox(\n                                            \"LDSR model\",\n                                            st.session_state[\"LDSR_models\"],\n                                            index=st.session_state[\"LDSR_models\"].index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].general.LDSR_model\n                                            ),\n                                        )\n\n                                        st.session_state[\n                                            \"ldsr_sampling_steps\"\n                                        ] = st.number_input(\n                                            \"Sampling Steps\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].txt2img.LDSR_config.sampling_steps,\n                                            help=\"\",\n                                        )\n\n                                        st.session_state[\n                                            \"preDownScale\"\n                                        ] = st.number_input(\n                                            \"PreDownScale\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].txt2img.LDSR_config.preDownScale,\n                                            help=\"\",\n                                        )\n\n                                        st.session_state[\n                                            \"postDownScale\"\n                                        ] = st.number_input(\n                                            \"postDownScale\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].txt2img.LDSR_config.postDownScale,\n                                            help=\"\",\n                                        )\n\n                                        downsample_method_list = [\"Nearest\", \"Lanczos\"]\n                                        st.session_state[\n                                            \"downsample_method\"\n                                        ] = st.selectbox(\n                                            \"Downsample Method\",\n                                            downsample_method_list,\n                                            index=downsample_method_list.index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].txt2img.LDSR_config.downsample_method\n                                            ),\n                                        )\n\n                                else:\n                                    st.session_state[\"use_LDSR\"] = False\n                                    st.session_state[\"LDSR_model\"] = \"model\"\n\n                with st.expander(\"Variant\"):\n                    variant_amount = st.slider(\n                        \"Variant Amount:\",\n                        value=st.session_state[\"defaults\"].txt2img.variant_amount.value,\n                        min_value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.variant_amount.min_value,\n                        max_value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.variant_amount.max_value,\n                        step=st.session_state[\"defaults\"].txt2img.variant_amount.step,\n                    )\n                    variant_seed = st.text_input(\n                        \"Variant Seed:\",\n                        value=st.session_state[\"defaults\"].txt2img.seed,\n                        help=\"The seed to use when generating a variant, if left blank a random seed will be generated.\",\n                    )\n\n            # galleryCont = st.empty()\n\n        # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n        generate_col1.write(\"\")\n        generate_col1.write(\"\")\n        generate_button = generate_col1.form_submit_button(\"Generate\")\n\n        #\n        if generate_button:\n            with col2:\n                with no_rerun:\n                    if not use_stable_horde:\n                        with hc.HyLoader(\n                            \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n                        ):\n                            load_models(\n                                use_LDSR=st.session_state[\"use_LDSR\"],\n                                LDSR_model=st.session_state[\"LDSR_model\"],\n                                use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                                GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                                use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                                RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                                CustomModel_available=server_state[\n                                    \"CustomModel_available\"\n                                ],\n                                custom_model=st.session_state[\"custom_model\"],\n                            )\n\n                # print(st.session_state['use_RealESRGAN'])\n                # print(st.session_state['use_LDSR'])\n                try:\n                    output_images, seeds, info, stats = txt2img(\n                        prompt,\n                        st.session_state.sampling_steps,\n                        sampler_name,\n                        st.session_state[\"batch_count\"],\n                        st.session_state[\"batch_size\"],\n                        cfg_scale,\n                        seed,\n                        height,\n                        width,\n                        separate_prompts,\n                        normalize_prompt_weights,\n                        save_individual_images,\n                        save_grid,\n                        group_by_prompt,\n                        save_as_jpg,\n                        st.session_state[\"use_GFPGAN\"],\n                        st.session_state[\"GFPGAN_model\"],\n                        use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                        RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                        use_LDSR=st.session_state[\"use_LDSR\"],\n                        LDSR_model=st.session_state[\"LDSR_model\"],\n                        variant_amount=variant_amount,\n                        variant_seed=variant_seed,\n                        write_info_files=write_info_files,\n                        use_stable_horde=use_stable_horde,\n                        stable_horde_key=stable_horde_key,\n                    )\n\n                    message.success(\n                        \"Render Complete: \" + info + \"; Stats: \" + stats, icon=\"✅\"\n                    )\n\n                    with gallery_tab:\n                        logger.info(seeds)\n                        st.session_state[\"gallery\"].text = \"\"\n                        sdGallery(output_images)\n\n                except (\n                    StopException,\n                    # KeyError\n                ):\n                    print(\"Received Streamlit StopException\")\n\n                    # reset the page title so the percent doesnt stay on it confusing the user.\n                    set_page_title(\"Stable Diffusion Playground\")\n\n                    # this will render all the images at the end of the generation but its better if its moved to a second tab inside col2 and shown as a gallery.\n                    # use the current col2 first tab to show the preview_img and update it as its generated.\n                    # preview_image.image(output_images)\n"
  },
  {
    "path": "scripts/txt2vid.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n\n\"\"\"\nImplementation of Text to Video based on the\nhttps://github.com/nateraw/stable-diffusion-videos\nrepo and the original gist script from\nhttps://gist.github.com/karpathy/00103b0037c5aaea32fe1da1af553355\n\"\"\"\nfrom sd_utils import (\n    st,\n    MemUsageMonitor,\n    server_state,\n    no_rerun,\n    torch_gc,\n    custom_models_available,\n    RealESRGAN_available,\n    GFPGAN_available,\n    LDSR_available,\n    hc,\n    seed_to_int,\n    logger,\n    slerp,\n    optimize_update_preview_frequency,\n    load_learned_embed_in_clip,\n    load_GFPGAN,\n    RealESRGANModel,\n    set_page_title,\n)\n\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\n\n# from streamlit.elements import image as STImage\n\n# streamlit components section\nfrom streamlit_server_state import server_state, server_state_lock\n\n# from streamlitextras.threader import lock, trigger_rerun, \\\n# streamlit_thread, get_thread, \\\n# last_trigger_time\n\n# other imports\n\nimport os, sys, json, re, random, datetime, time, warnings, mimetypes\nfrom PIL import Image\nimport torch\nimport numpy as np\nimport time, inspect, timeit\nimport torch\nfrom torch import autocast\n\n# from io import BytesIO\nimport imageio\nfrom slugify import slugify\n\nfrom diffusers import StableDiffusionPipeline, DiffusionPipeline\n\n# from stable_diffusion_videos import StableDiffusionWalkPipeline\n\nfrom diffusers.schedulers import (\n    DDIMScheduler,\n    LMSDiscreteScheduler,\n    PNDMScheduler,\n    DDPMScheduler,\n)\n\nfrom diffusers.configuration_utils import FrozenDict\nfrom diffusers.models import AutoencoderKL, UNet2DConditionModel\nfrom diffusers.pipelines.stable_diffusion.safety_checker import (\n    StableDiffusionSafetyChecker,\n)\nfrom diffusers.utils import deprecate\nfrom diffusers.pipelines.stable_diffusion import StableDiffusionPipelineOutput\nfrom transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer\nfrom typing import Callable, List, Optional, Union\nfrom pathlib import Path\nfrom torchvision.transforms.functional import pil_to_tensor\nfrom torchvision import transforms\nimport librosa\nfrom PIL import Image\nfrom torchvision.io import write_video\nfrom torchvision import transforms\nimport torch.nn as nn\nfrom uuid import uuid4\n\n\n# streamlit components\nfrom custom_components import sygil_suggestions\n\n# Temp imports\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nsygil_suggestions.init()\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n# remove some annoying deprecation warnings that show every now and then.\nwarnings.filterwarnings(\"ignore\", category=DeprecationWarning)\nwarnings.filterwarnings(\"ignore\", category=UserWarning)\n\n# this is a fix for Windows users. Without it, javascript files will be served with text/html content-type and the bowser will not show any UI\nmimetypes.init()\nmimetypes.add_type(\"application/javascript\", \".js\")\n\n\nclass plugin_info:\n    plugname = \"txt2vid\"\n    description = \"Text to Image\"\n    isTab = True\n    displayPriority = 1\n\n\n#\n# -----------------------------------------------------------------------------\n\n\ndef txt2vid_generation_callback(step: int, timestep: int, latents: torch.FloatTensor):\n    # print (\"test\")\n    # scale and decode the image latents with vae\n    cond_latents_2 = 1 / 0.18215 * latents\n    image = server_state[\"pipe\"].vae.decode(cond_latents_2)\n\n    # generate output numpy image as uint8\n    image = torch.clamp((image[\"sample\"] + 1.0) / 2.0, min=0.0, max=1.0)\n    image2 = transforms.ToPILImage()(image.squeeze_(0))\n\n    st.session_state[\"preview_image\"].image(image2)\n\n\ndef get_timesteps_arr(audio_filepath, offset, duration, fps=30, margin=1.0, smooth=0.0):\n    y, sr = librosa.load(audio_filepath, offset=offset, duration=duration)\n\n    # librosa.stft hardcoded defaults...\n    # n_fft defaults to 2048\n    # hop length is win_length // 4\n    # win_length defaults to n_fft\n    D = librosa.stft(y, n_fft=2048, hop_length=2048 // 4, win_length=2048)\n\n    # Extract percussive elements\n    D_harmonic, D_percussive = librosa.decompose.hpss(D, margin=margin)\n    y_percussive = librosa.istft(D_percussive, length=len(y))\n\n    # Get normalized melspectrogram\n    spec_raw = librosa.feature.melspectrogram(y=y_percussive, sr=sr)\n    spec_max = np.amax(spec_raw, axis=0)\n    spec_norm = (spec_max - np.min(spec_max)) / np.ptp(spec_max)\n\n    # Resize cumsum of spec norm to our desired number of interpolation frames\n    x_norm = np.linspace(0, spec_norm.shape[-1], spec_norm.shape[-1])\n    y_norm = np.cumsum(spec_norm)\n    y_norm /= y_norm[-1]\n    x_resize = np.linspace(0, y_norm.shape[-1], int(duration * fps))\n\n    T = np.interp(x_resize, x_norm, y_norm)\n\n    # Apply smoothing\n    return T * (1 - smooth) + np.linspace(0.0, 1.0, T.shape[0]) * smooth\n\n\n#\ndef make_video_pyav(\n    frames_or_frame_dir: Union[str, Path, torch.Tensor],\n    audio_filepath: Union[str, Path] = None,\n    fps: int = 30,\n    audio_offset: int = 0,\n    audio_duration: int = 2,\n    sr: int = 22050,\n    output_filepath: Union[str, Path] = \"output.mp4\",\n    glob_pattern: str = \"*.png\",\n):\n    \"\"\"\n    TODO - docstring here\n\n    frames_or_frame_dir: (Union[str, Path, torch.Tensor]):\n        Either a directory of images, or a tensor of shape (T, C, H, W) in range [0, 255].\n    \"\"\"\n\n    # Torchvision write_video doesn't support pathlib paths\n    output_filepath = str(output_filepath)\n\n    if isinstance(frames_or_frame_dir, (str, Path)):\n        frames = None\n        for img in sorted(Path(frames_or_frame_dir).glob(glob_pattern)):\n            frame = pil_to_tensor(Image.open(img)).unsqueeze(0)\n            frames = frame if frames is None else torch.cat([frames, frame])\n    else:\n        frames = frames_or_frame_dir\n\n    # TCHW -> THWC\n    frames = frames.permute(0, 2, 3, 1)\n\n    if audio_filepath:\n        # Read audio, convert to tensor\n        audio, sr = librosa.load(\n            audio_filepath,\n            sr=sr,\n            mono=True,\n            offset=audio_offset,\n            duration=audio_duration,\n        )\n        audio_tensor = torch.tensor(audio).unsqueeze(0)\n\n        write_video(\n            output_filepath,\n            frames,\n            fps=fps,\n            audio_array=audio_tensor,\n            audio_fps=sr,\n            audio_codec=\"aac\",\n            options={\"crf\": \"10\", \"pix_fmt\": \"yuv420p\"},\n        )\n    else:\n        write_video(\n            output_filepath,\n            frames,\n            fps=fps,\n            options={\"crf\": \"10\", \"pix_fmt\": \"yuv420p\"},\n        )\n\n    return output_filepath\n\n\nclass StableDiffusionWalkPipeline(DiffusionPipeline):\n    r\"\"\"\n    Pipeline for generating videos by interpolating  Stable Diffusion's latent space.\n    This model inherits from [`DiffusionPipeline`]. Check the superclass documentation for the generic methods the\n    library implements for all the pipelines (such as downloading or saving, running on a particular device, etc.)\n    Args:\n        vae ([`AutoencoderKL`]):\n            Variational Auto-Encoder (VAE) Model to encode and decode images to and from latent representations.\n        text_encoder ([`CLIPTextModel`]):\n            Frozen text-encoder. Stable Diffusion uses the text portion of\n            [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), specifically\n            the [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) variant.\n        tokenizer (`CLIPTokenizer`):\n            Tokenizer of class\n            [CLIPTokenizer](https://huggingface.co/docs/transformers/v4.21.0/en/model_doc/clip#transformers.CLIPTokenizer).\n        unet ([`UNet2DConditionModel`]): Conditional U-Net architecture to denoise the encoded image latents.\n        scheduler ([`SchedulerMixin`]):\n            A scheduler to be used in combination with `unet` to denoise the encoded image latens. Can be one of\n            [`DDIMScheduler`], [`LMSDiscreteScheduler`], or [`PNDMScheduler`].\n        safety_checker ([`StableDiffusionSafetyChecker`]):\n            Classification module that estimates whether generated images could be considered offensive or harmful.\n            Please, refer to the [model card](https://huggingface.co/CompVis/stable-diffusion-v1-4) for details.\n        feature_extractor ([`CLIPFeatureExtractor`]):\n            Model that extracts features from generated images to be used as inputs for the `safety_checker`.\n    \"\"\"\n\n    def __init__(\n        self,\n        vae: AutoencoderKL,\n        text_encoder: CLIPTextModel,\n        tokenizer: CLIPTokenizer,\n        unet: UNet2DConditionModel,\n        scheduler: Union[DDIMScheduler, PNDMScheduler, LMSDiscreteScheduler],\n        safety_checker: StableDiffusionSafetyChecker,\n        feature_extractor: CLIPFeatureExtractor,\n    ):\n        super().__init__()\n\n        if (\n            hasattr(scheduler.config, \"steps_offset\")\n            and scheduler.config.steps_offset != 1\n        ):\n            deprecation_message = (\n                f\"The configuration file of this scheduler: {scheduler} is outdated. `steps_offset`\"\n                f\" should be set to 1 instead of {scheduler.config.steps_offset}. Please make sure \"\n                \"to update the config accordingly as leaving `steps_offset` might led to incorrect results\"\n                \" in future versions. If you have downloaded this checkpoint from the Hugging Face Hub,\"\n                \" it would be very nice if you could open a Pull request for the `scheduler/scheduler_config.json`\"\n                \" file\"\n            )\n            deprecate(\n                \"steps_offset!=1\", \"1.0.0\", deprecation_message, standard_warn=False\n            )\n            new_config = dict(scheduler.config)\n            new_config[\"steps_offset\"] = 1\n            scheduler._internal_dict = FrozenDict(new_config)\n\n        self.register_modules(\n            vae=vae,\n            text_encoder=text_encoder,\n            tokenizer=tokenizer,\n            unet=unet,\n            scheduler=scheduler,\n            safety_checker=safety_checker,\n            feature_extractor=feature_extractor,\n        )\n\n    def enable_attention_slicing(self, slice_size: Optional[Union[str, int]] = \"auto\"):\n        r\"\"\"\n        Enable sliced attention computation.\n        When this option is enabled, the attention module will split the input tensor in slices, to compute attention\n        in several steps. This is useful to save some memory in exchange for a small speed decrease.\n        Args:\n            slice_size (`str` or `int`, *optional*, defaults to `\"auto\"`):\n                When `\"auto\"`, halves the input to the attention heads, so attention will be computed in two steps. If\n                a number is provided, uses as many slices as `attention_head_dim // slice_size`. In this case,\n                `attention_head_dim` must be a multiple of `slice_size`.\n        \"\"\"\n        if slice_size == \"auto\":\n            # half the attention head size is usually a good trade-off between\n            # speed and memory\n            slice_size = self.unet.config.attention_head_dim // 2\n        self.unet.set_attention_slice(slice_size)\n\n    def disable_attention_slicing(self):\n        r\"\"\"\n        Disable sliced attention computation. If `enable_attention_slicing` was previously invoked, this method will go\n        back to computing attention in one step.\n        \"\"\"\n        # set slice_size = `None` to disable `attention slicing`\n        self.enable_attention_slicing(None)\n\n    @torch.no_grad()\n    def __call__(\n        self,\n        prompt: Optional[Union[str, List[str]]] = None,\n        height: int = 512,\n        width: int = 512,\n        num_inference_steps: int = 50,\n        guidance_scale: float = 7.5,\n        negative_prompt: Optional[Union[str, List[str]]] = None,\n        num_images_per_prompt: Optional[int] = 1,\n        eta: float = 0.0,\n        generator: Optional[torch.Generator] = None,\n        latents: Optional[torch.FloatTensor] = None,\n        output_type: Optional[str] = \"pil\",\n        return_dict: bool = True,\n        callback: Optional[Callable[[int, int, torch.FloatTensor], None]] = None,\n        callback_steps: Optional[int] = 1,\n        text_embeddings: Optional[torch.FloatTensor] = None,\n        **kwargs,\n    ):\n        r\"\"\"\n        Function invoked when calling the pipeline for generation.\n        Args:\n            prompt (`str` or `List[str]`, *optional*, defaults to `None`):\n                The prompt or prompts to guide the image generation. If not provided, `text_embeddings` is required.\n            height (`int`, *optional*, defaults to 512):\n                The height in pixels of the generated image.\n            width (`int`, *optional*, defaults to 512):\n                The width in pixels of the generated image.\n            num_inference_steps (`int`, *optional*, defaults to 50):\n                The number of denoising steps. More denoising steps usually lead to a higher quality image at the\n                expense of slower inference.\n            guidance_scale (`float`, *optional*, defaults to 7.5):\n                Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).\n                `guidance_scale` is defined as `w` of equation 2. of [Imagen\n                Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale >\n                1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`,\n                usually at the expense of lower image quality.\n            negative_prompt (`str` or `List[str]`, *optional*):\n                The prompt or prompts not to guide the image generation. Ignored when not using guidance (i.e., ignored\n                if `guidance_scale` is less than `1`).\n            num_images_per_prompt (`int`, *optional*, defaults to 1):\n                The number of images to generate per prompt.\n            eta (`float`, *optional*, defaults to 0.0):\n                Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to\n                [`schedulers.DDIMScheduler`], will be ignored for others.\n            generator (`torch.Generator`, *optional*):\n                A [torch generator](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make generation\n                deterministic.\n            latents (`torch.FloatTensor`, *optional*):\n                Pre-generated noisy latents, sampled from a Gaussian distribution, to be used as inputs for image\n                generation. Can be used to tweak the same generation with different prompts. If not provided, a latents\n                tensor will ge generated by sampling using the supplied random `generator`.\n            output_type (`str`, *optional*, defaults to `\"pil\"`):\n                The output format of the generate image. Choose between\n                [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` or `np.array`.\n            return_dict (`bool`, *optional*, defaults to `True`):\n                Whether or not to return a [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] instead of a\n                plain tuple.\n            callback (`Callable`, *optional*):\n                A function that will be called every `callback_steps` steps during inference. The function will be\n                called with the following arguments: `callback(step: int, timestep: int, latents: torch.FloatTensor)`.\n            callback_steps (`int`, *optional*, defaults to 1):\n                The frequency at which the `callback` function will be called. If not specified, the callback will be\n                called at every step.\n            text_embeddings (`torch.FloatTensor`, *optional*, defaults to `None`):\n                Pre-generated text embeddings to be used as inputs for image generation. Can be used in place of\n                `prompt` to avoid re-computing the embeddings. If not provided, the embeddings will be generated from\n                the supplied `prompt`.\n        Returns:\n            [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] or `tuple`:\n            [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] if `return_dict` is True, otherwise a `tuple.\n            When returning a tuple, the first element is a list with the generated images, and the second element is a\n            list of `bool`s denoting whether the corresponding generated image likely represents \"not-safe-for-work\"\n            (nsfw) content, according to the `safety_checker`.\n        \"\"\"\n\n        if height % 8 != 0 or width % 8 != 0:\n            raise ValueError(\n                f\"`height` and `width` have to be divisible by 8 but are {height} and {width}.\"\n            )\n\n        if (callback_steps is None) or (\n            callback_steps is not None\n            and (not isinstance(callback_steps, int) or callback_steps <= 0)\n        ):\n            raise ValueError(\n                f\"`callback_steps` has to be a positive integer but is {callback_steps} of type\"\n                f\" {type(callback_steps)}.\"\n            )\n\n        if text_embeddings is None:\n            if isinstance(prompt, str):\n                batch_size = 1\n            elif isinstance(prompt, list):\n                batch_size = len(prompt)\n            else:\n                raise ValueError(\n                    f\"`prompt` has to be of type `str` or `list` but is {type(prompt)}\"\n                )\n\n            # get prompt text embeddings\n            text_inputs = self.tokenizer(\n                prompt,\n                padding=\"max_length\",\n                max_length=self.tokenizer.model_max_length,\n                return_tensors=\"pt\",\n            )\n            text_input_ids = text_inputs.input_ids\n\n            if text_input_ids.shape[-1] > self.tokenizer.model_max_length:\n                removed_text = self.tokenizer.batch_decode(\n                    text_input_ids[:, self.tokenizer.model_max_length :]\n                )\n                print(\n                    \"The following part of your input was truncated because CLIP can only handle sequences up to\"\n                    f\" {self.tokenizer.model_max_length} tokens: {removed_text}\"\n                )\n                text_input_ids = text_input_ids[:, : self.tokenizer.model_max_length]\n            text_embeddings = self.text_encoder(text_input_ids.to(self.device))[0]\n        else:\n            batch_size = text_embeddings.shape[0]\n\n        # duplicate text embeddings for each generation per prompt, using mps friendly method\n        bs_embed, seq_len, _ = text_embeddings.shape\n        text_embeddings = text_embeddings.repeat(1, num_images_per_prompt, 1)\n        text_embeddings = text_embeddings.view(\n            bs_embed * num_images_per_prompt, seq_len, -1\n        )\n\n        # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)\n        # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1`\n        # corresponds to doing no classifier free guidance.\n        do_classifier_free_guidance = guidance_scale > 1.0\n        # get unconditional embeddings for classifier free guidance\n        if do_classifier_free_guidance:\n            uncond_tokens: List[str]\n            if negative_prompt is None:\n                uncond_tokens = [\"\"]\n            elif type(prompt) is not type(negative_prompt):\n                raise TypeError(\n                    f\"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=\"\n                    f\" {type(prompt)}.\"\n                )\n            elif isinstance(negative_prompt, str):\n                uncond_tokens = [negative_prompt]\n            elif batch_size != len(negative_prompt):\n                raise ValueError(\n                    f\"`negative_prompt`: {negative_prompt} has batch size {len(negative_prompt)}, but `prompt`:\"\n                    f\" {prompt} has batch size {batch_size}. Please make sure that passed `negative_prompt` matches\"\n                    \" the batch size of `prompt`.\"\n                )\n            else:\n                uncond_tokens = negative_prompt\n\n            max_length = self.tokenizer.model_max_length\n            uncond_input = self.tokenizer(\n                uncond_tokens,\n                padding=\"max_length\",\n                max_length=max_length,\n                truncation=True,\n                return_tensors=\"pt\",\n            )\n            uncond_embeddings = self.text_encoder(\n                uncond_input.input_ids.to(self.device)\n            )[0]\n\n            # duplicate unconditional embeddings for each generation per prompt, using mps friendly method\n            seq_len = uncond_embeddings.shape[1]\n            uncond_embeddings = uncond_embeddings.repeat(\n                batch_size, num_images_per_prompt, 1\n            )\n            uncond_embeddings = uncond_embeddings.view(\n                batch_size * num_images_per_prompt, seq_len, -1\n            )\n\n            # For classifier free guidance, we need to do two forward passes.\n            # Here we concatenate the unconditional and text embeddings into a single batch\n            # to avoid doing two forward passes\n            text_embeddings = torch.cat([uncond_embeddings, text_embeddings])\n\n        # get the initial random noise unless the user supplied it\n\n        # Unlike in other pipelines, latents need to be generated in the target device\n        # for 1-to-1 results reproducibility with the CompVis implementation.\n        # However this currently doesn't work in `mps`.\n        latents_shape = (\n            batch_size * num_images_per_prompt,\n            self.unet.in_channels,\n            height // 8,\n            width // 8,\n        )\n        latents_dtype = text_embeddings.dtype\n        if latents is None:\n            if self.device.type == \"mps\":\n                # randn does not exist on mps\n                latents = torch.randn(\n                    latents_shape,\n                    generator=generator,\n                    device=\"cpu\",\n                    dtype=latents_dtype,\n                ).to(self.device)\n            else:\n                latents = torch.randn(\n                    latents_shape,\n                    generator=generator,\n                    device=self.device,\n                    dtype=latents_dtype,\n                )\n        else:\n            if latents.shape != latents_shape:\n                raise ValueError(\n                    f\"Unexpected latents shape, got {latents.shape}, expected {latents_shape}\"\n                )\n            latents = latents.to(self.device)\n\n        # set timesteps\n        self.scheduler.set_timesteps(num_inference_steps)\n\n        # Some schedulers like PNDM have timesteps as arrays\n        # It's more optimized to move all timesteps to correct device beforehand\n        timesteps_tensor = self.scheduler.timesteps.to(self.device)\n\n        # scale the initial noise by the standard deviation required by the scheduler\n        latents = latents * self.scheduler.init_noise_sigma\n\n        # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature\n        # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.\n        # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502\n        # and should be between [0, 1]\n        accepts_eta = \"eta\" in set(\n            inspect.signature(self.scheduler.step).parameters.keys()\n        )\n        extra_step_kwargs = {}\n        if accepts_eta:\n            extra_step_kwargs[\"eta\"] = eta\n\n        for i, t in enumerate(self.progress_bar(timesteps_tensor)):\n            # expand the latents if we are doing classifier free guidance\n            latent_model_input = (\n                torch.cat([latents] * 2) if do_classifier_free_guidance else latents\n            )\n            latent_model_input = self.scheduler.scale_model_input(latent_model_input, t)\n\n            # predict the noise residual\n            noise_pred = self.unet(\n                latent_model_input, t, encoder_hidden_states=text_embeddings\n            ).sample\n\n            # perform guidance\n            if do_classifier_free_guidance:\n                noise_pred_uncond, noise_pred_text = noise_pred.chunk(2)\n                noise_pred = noise_pred_uncond + guidance_scale * (\n                    noise_pred_text - noise_pred_uncond\n                )\n\n            # compute the previous noisy sample x_t -> x_t-1\n            latents = self.scheduler.step(\n                noise_pred, t, latents, **extra_step_kwargs\n            ).prev_sample\n\n            # call the callback, if provided\n            if callback is not None and i % callback_steps == 0:\n                callback(i, t, latents)\n            print(\"test\")\n\n        latents = 1 / 0.18215 * latents\n        image = self.vae.decode(latents).sample\n\n        image = (image / 2 + 0.5).clamp(0, 1)\n\n        # we always cast to float32 as this does not cause significant overhead and is compatible with bfloa16\n        image = image.cpu().permute(0, 2, 3, 1).float().numpy()\n\n        if self.safety_checker is not None:\n            safety_checker_input = self.feature_extractor(\n                self.numpy_to_pil(image), return_tensors=\"pt\"\n            ).to(self.device)\n            image, has_nsfw_concept = self.safety_checker(\n                images=image,\n                clip_input=safety_checker_input.pixel_values.to(text_embeddings.dtype),\n            )\n        else:\n            has_nsfw_concept = None\n\n        if output_type == \"pil\":\n            image = self.numpy_to_pil(image)\n\n        if not return_dict:\n            return (image, has_nsfw_concept)\n\n        return StableDiffusionPipelineOutput(\n            images=image, nsfw_content_detected=has_nsfw_concept\n        )\n\n    def generate_inputs(\n        self, prompt_a, prompt_b, seed_a, seed_b, noise_shape, T, batch_size\n    ):\n        embeds_a = self.embed_text(prompt_a)\n        embeds_b = self.embed_text(prompt_b)\n\n        latents_a = self.init_noise(seed_a, noise_shape)\n        latents_b = self.init_noise(seed_b, noise_shape)\n\n        batch_idx = 0\n        embeds_batch, noise_batch = None, None\n        for i, t in enumerate(T):\n            embeds = torch.lerp(embeds_a, embeds_b, t)\n            noise = slerp(\n                device=\"cuda\",\n                t=float(t),\n                v0=latents_a,\n                v1=latents_b,\n                DOT_THRESHOLD=0.9995,\n            )\n\n            embeds_batch = (\n                embeds if embeds_batch is None else torch.cat([embeds_batch, embeds])\n            )\n            noise_batch = (\n                noise if noise_batch is None else torch.cat([noise_batch, noise])\n            )\n            batch_is_ready = embeds_batch.shape[0] == batch_size or i + 1 == T.shape[0]\n            if not batch_is_ready:\n                continue\n            yield batch_idx, embeds_batch, noise_batch\n            batch_idx += 1\n            del embeds_batch, noise_batch\n            torch.cuda.empty_cache()\n            embeds_batch, noise_batch = None, None\n\n    def make_clip_frames(\n        self,\n        prompt_a: str,\n        prompt_b: str,\n        seed_a: int,\n        seed_b: int,\n        num_interpolation_steps: int = 5,\n        save_path: Union[str, Path] = \"outputs/\",\n        num_inference_steps: int = 50,\n        guidance_scale: float = 7.5,\n        eta: float = 0.0,\n        height: int = 512,\n        width: int = 512,\n        upsample: bool = False,\n        batch_size: int = 1,\n        image_file_ext: str = \".png\",\n        T: np.ndarray = None,\n        skip: int = 0,\n        callback=None,\n        callback_steps: int = 1,\n    ):\n        save_path = Path(save_path)\n        save_path.mkdir(parents=True, exist_ok=True)\n\n        T = T if T is not None else np.linspace(0.0, 1.0, num_interpolation_steps)\n        if T.shape[0] != num_interpolation_steps:\n            raise ValueError(\n                f\"Unexpected T shape, got {T.shape}, expected dim 0 to be {num_interpolation_steps}\"\n            )\n\n        if upsample:\n            if getattr(self, \"upsampler\", None) is None:\n                self.upsampler = RealESRGANModel.from_pretrained(\"nateraw/real-esrgan\")\n            self.upsampler.to(self.device)\n\n        batch_generator = self.generate_inputs(\n            prompt_a,\n            prompt_b,\n            seed_a,\n            seed_b,\n            (1, self.unet.in_channels, height // 8, width // 8),\n            T[skip:],\n            batch_size,\n        )\n\n        frame_index = skip\n        for _, embeds_batch, noise_batch in batch_generator:\n            with torch.autocast(\"cuda\"):\n                outputs = self(\n                    latents=noise_batch,\n                    text_embeddings=embeds_batch,\n                    height=height,\n                    width=width,\n                    guidance_scale=guidance_scale,\n                    eta=eta,\n                    num_inference_steps=num_inference_steps,\n                    output_type=\"pil\" if not upsample else \"numpy\",\n                    callback=callback,\n                    callback_steps=callback_steps,\n                )[\"images\"]\n\n                for image in outputs:\n                    frame_filepath = save_path / (\n                        f\"frame%06d{image_file_ext}\" % frame_index\n                    )\n                    image = image if not upsample else self.upsampler(image)\n                    image.save(frame_filepath)\n                    frame_index += 1\n\n    def walk(\n        self,\n        prompt: Optional[List[str]] = None,\n        seeds: Optional[List[int]] = None,\n        num_interpolation_steps: Optional[\n            Union[int, List[int]]\n        ] = 5,  # int or list of int\n        output_dir: Optional[str] = \"./dreams\",\n        name: Optional[str] = None,\n        image_file_ext: Optional[str] = \".png\",\n        fps: Optional[int] = 30,\n        num_inference_steps: Optional[int] = 50,\n        guidance_scale: Optional[float] = 7.5,\n        eta: Optional[float] = 0.0,\n        height: Optional[int] = 512,\n        width: Optional[int] = 512,\n        upsample: Optional[bool] = False,\n        batch_size: Optional[int] = 1,\n        resume: Optional[bool] = False,\n        audio_filepath: str = None,\n        audio_start_sec: Optional[Union[int, float]] = None,\n        margin: Optional[float] = 1.0,\n        smooth: Optional[float] = 0.0,\n        callback=None,\n        callback_steps=1,\n    ):\n        \"\"\"Generate a video from a sequence of prompts and seeds. Optionally, add audio to the\n        video to interpolate to the intensity of the audio.\n\n        Args:\n            prompts (Optional[List[str]], optional):\n                list of text prompts. Defaults to None.\n            seeds (Optional[List[int]], optional):\n                list of random seeds corresponding to prompts. Defaults to None.\n            num_interpolation_steps (Union[int, List[int]], *optional*):\n                How many interpolation steps between each prompt. Defaults to None.\n            output_dir (Optional[str], optional):\n                Where to save the video. Defaults to './dreams'.\n            name (Optional[str], optional):\n                Name of the subdirectory of output_dir. Defaults to None.\n            image_file_ext (Optional[str], *optional*, defaults to '.png'):\n                The extension to use when writing video frames.\n            fps (Optional[int], *optional*, defaults to 30):\n                The frames per second in the resulting output videos.\n            num_inference_steps (Optional[int], *optional*, defaults to 50):\n                The number of denoising steps. More denoising steps usually lead to a higher quality image at the\n                expense of slower inference.\n            guidance_scale (Optional[float], *optional*, defaults to 7.5):\n                Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).\n                `guidance_scale` is defined as `w` of equation 2. of [Imagen\n                Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale >\n                1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`,\n                usually at the expense of lower image quality.\n            eta (Optional[float], *optional*, defaults to 0.0):\n                Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to\n                [`schedulers.DDIMScheduler`], will be ignored for others.\n            height (Optional[int], *optional*, defaults to 512):\n                height of the images to generate.\n            width (Optional[int], *optional*, defaults to 512):\n                width of the images to generate.\n            upsample (Optional[bool], *optional*, defaults to False):\n                When True, upsamples images with realesrgan.\n            batch_size (Optional[int], *optional*, defaults to 1):\n                Number of images to generate at once.\n            resume (Optional[bool], *optional*, defaults to False):\n                When True, resumes from the last frame in the output directory based\n                on available prompt config. Requires you to provide the `name` argument.\n            audio_filepath (str, *optional*, defaults to None):\n                Optional path to an audio file to influence the interpolation rate.\n            audio_start_sec (Optional[Union[int, float]], *optional*, defaults to 0):\n                Global start time of the provided audio_filepath.\n            margin (Optional[float], *optional*, defaults to 1.0):\n                Margin from librosa hpss to use for audio interpolation.\n            smooth (Optional[float], *optional*, defaults to 0.0):\n                Smoothness of the audio interpolation. 1.0 means linear interpolation.\n\n        This function will create sub directories for each prompt and seed pair.\n\n        For example, if you provide the following prompts and seeds:\n\n        ```\n        prompts = ['a dog', 'a cat', 'a bird']\n        seeds = [1, 2, 3]\n        num_interpolation_steps = 5\n        output_dir = 'output_dir'\n        name = 'name'\n        fps = 5\n        ```\n\n        Then the following directories will be created:\n\n        ```\n        output_dir\n        ├── name\n        │   ├── name_000000\n        │   │   ├── frame000000.png\n        │   │   ├── ...\n        │   │   ├── frame000004.png\n        │   │   ├── name_000000.mp4\n        │   ├── name_000001\n        │   │   ├── frame000000.png\n        │   │   ├── ...\n        │   │   ├── frame000004.png\n        │   │   ├── name_000001.mp4\n        │   ├── ...\n        │   ├── name.mp4\n        |   |── prompt_config.json\n        ```\n\n        Returns:\n            str: The resulting video filepath. This video includes all sub directories' video clips.\n        \"\"\"\n        if (callback_steps is None) or (\n            callback_steps is not None\n            and (not isinstance(callback_steps, int) or callback_steps <= 0)\n        ):\n            raise ValueError(\n                f\"`callback_steps` has to be a positive integer but is {callback_steps} of type\"\n                f\" {type(callback_steps)}.\"\n            )\n\n        # init the output dir\n        if type(prompts) == str:\n            sanitized_prompt = slugify(prompts)\n        else:\n            sanitized_prompt = slugify(prompts[0])\n\n        full_path = os.path.join(str(output_dir), str(sanitized_prompt))\n\n        if len(full_path) > 220:\n            sanitized_prompt = sanitized_prompt[: 220 - len(full_path)]\n            full_path = os.path.join(output_dir, sanitized_prompt)\n\n        os.makedirs(full_path, exist_ok=True)\n\n        # Where the final video of all the clips combined will be saved\n        output_filepath = os.path.join(full_path, f\"{sanitized_prompt}.mp4\")\n\n        # If using same number of interpolation steps between, we turn into list\n        if not resume and isinstance(num_interpolation_steps, int):\n            num_interpolation_steps = [num_interpolation_steps] * (len(prompts) - 1)\n\n        if not resume:\n            audio_start_sec = audio_start_sec or 0\n\n        # Save/reload prompt config\n        prompt_config_path = Path(os.path.join(full_path, \"prompt_config.json\"))\n        if not resume:\n            prompt_config_path.write_text(\n                json.dumps(\n                    dict(\n                        prompts=prompts,\n                        seeds=seeds,\n                        num_interpolation_steps=num_interpolation_steps,\n                        fps=fps,\n                        num_inference_steps=num_inference_steps,\n                        guidance_scale=guidance_scale,\n                        eta=eta,\n                        upsample=upsample,\n                        height=height,\n                        width=width,\n                        audio_filepath=audio_filepath,\n                        audio_start_sec=audio_start_sec,\n                    ),\n                    indent=2,\n                    sort_keys=False,\n                )\n            )\n        else:\n            data = json.load(open(prompt_config_path))\n            prompts = data[\"prompts\"]\n            seeds = data[\"seeds\"]\n            num_interpolation_steps = data[\"num_interpolation_steps\"]\n            fps = data[\"fps\"]\n            num_inference_steps = data[\"num_inference_steps\"]\n            guidance_scale = data[\"guidance_scale\"]\n            eta = data[\"eta\"]\n            upsample = data[\"upsample\"]\n            height = data[\"height\"]\n            width = data[\"width\"]\n            audio_filepath = data[\"audio_filepath\"]\n            audio_start_sec = data[\"audio_start_sec\"]\n\n        for i, (prompt_a, prompt_b, seed_a, seed_b, num_step) in enumerate(\n            zip(prompts, prompts[1:], seeds, seeds[1:], num_interpolation_steps)\n        ):\n            # {name}_000000 / {name}_000001 / ...\n            save_path = Path(f\"{full_path}/{name}_{i:06d}\")\n\n            # Where the individual clips will be saved\n            step_output_filepath = Path(f\"{save_path}/{name}_{i:06d}.mp4\")\n\n            # Determine if we need to resume from a previous run\n            skip = 0\n            if resume:\n                if step_output_filepath.exists():\n                    print(f\"Skipping {save_path} because frames already exist\")\n                    continue\n\n                existing_frames = sorted(save_path.glob(f\"*{image_file_ext}\"))\n                if existing_frames:\n                    skip = int(existing_frames[-1].stem[-6:]) + 1\n                    if skip + 1 >= num_step:\n                        print(f\"Skipping {save_path} because frames already exist\")\n                        continue\n                    print(f\"Resuming {save_path.name} from frame {skip}\")\n\n            audio_offset = audio_start_sec + sum(num_interpolation_steps[:i]) / fps\n            audio_duration = num_step / fps\n\n            self.make_clip_frames(\n                prompt_a,\n                prompt_b,\n                seed_a,\n                seed_b,\n                num_interpolation_steps=num_step,\n                save_path=save_path,\n                num_inference_steps=num_inference_steps,\n                guidance_scale=guidance_scale,\n                eta=eta,\n                height=height,\n                width=width,\n                upsample=upsample,\n                batch_size=batch_size,\n                skip=skip,\n                T=get_timesteps_arr(\n                    audio_filepath,\n                    offset=audio_offset,\n                    duration=audio_duration,\n                    fps=fps,\n                    margin=margin,\n                    smooth=smooth,\n                    callback=callback,\n                    callback_steps=callback_steps,\n                )\n                if audio_filepath\n                else None,\n            )\n            make_video_pyav(\n                save_path,\n                audio_filepath=audio_filepath,\n                fps=fps,\n                output_filepath=step_output_filepath,\n                glob_pattern=f\"*{image_file_ext}\",\n                audio_offset=audio_offset,\n                audio_duration=audio_duration,\n                sr=44100,\n            )\n\n        return make_video_pyav(\n            full_path,\n            audio_filepath=audio_filepath,\n            fps=fps,\n            audio_offset=audio_start_sec,\n            audio_duration=sum(num_interpolation_steps) / fps,\n            output_filepath=output_filepath,\n            glob_pattern=f\"**/*{image_file_ext}\",\n            sr=44100,\n        )\n\n    def embed_text(self, text):\n        \"\"\"Helper to embed some text\"\"\"\n        with torch.autocast(\"cuda\"):\n            text_input = self.tokenizer(\n                text,\n                padding=\"max_length\",\n                max_length=self.tokenizer.model_max_length,\n                truncation=True,\n                return_tensors=\"pt\",\n            )\n            with torch.no_grad():\n                embed = self.text_encoder(text_input.input_ids.to(self.device))[0]\n        return embed\n\n    def init_noise(self, seed, noise_shape):\n        \"\"\"Helper to initialize noise\"\"\"\n        # randn does not exist on mps, so we create noise on CPU here and move it to the device after initialization\n        if self.device.type == \"mps\":\n            noise = torch.randn(\n                noise_shape,\n                device=\"cpu\",\n                generator=torch.Generator(device=\"cpu\").manual_seed(seed),\n            ).to(self.device)\n        else:\n            noise = torch.randn(\n                noise_shape,\n                device=self.device,\n                generator=torch.Generator(device=self.device).manual_seed(seed),\n            )\n        return noise\n\n    @classmethod\n    def from_pretrained(cls, *args, tiled=False, **kwargs):\n        \"\"\"Same as diffusers `from_pretrained` but with tiled option, which makes images tilable\"\"\"\n        if tiled:\n\n            def patch_conv(**patch):\n                cls = nn.Conv2d\n                init = cls.__init__\n\n                def __init__(self, *args, **kwargs):\n                    return init(self, *args, **kwargs, **patch)\n\n                cls.__init__ = __init__\n\n            patch_conv(padding_mode=\"circular\")\n\n        pipeline = super().from_pretrained(*args, **kwargs)\n        pipeline.tiled = tiled\n        return pipeline\n\n\n@torch.no_grad()\ndef diffuse(\n    pipe,\n    cond_embeddings,  # text conditioning, should be (1, 77, 768)\n    cond_latents,  # image conditioning, should be (1, 4, 64, 64)\n    num_inference_steps,\n    cfg_scale,\n    eta,\n    fps=30,\n):\n    torch_device = cond_latents.get_device()\n\n    # classifier guidance: add the unconditional embedding\n    max_length = cond_embeddings.shape[1]  # 77\n    uncond_input = pipe.tokenizer(\n        [\"\"], padding=\"max_length\", max_length=max_length, return_tensors=\"pt\"\n    )\n    uncond_embeddings = pipe.text_encoder(uncond_input.input_ids.to(torch_device))[0]\n    text_embeddings = torch.cat([uncond_embeddings, cond_embeddings])\n\n    # if we use LMSDiscreteScheduler, let's make sure latents are mulitplied by sigmas\n    if isinstance(pipe.scheduler, LMSDiscreteScheduler):\n        cond_latents = cond_latents * pipe.scheduler.sigmas[0]\n\n    # init the scheduler\n    accepts_offset = \"offset\" in set(\n        inspect.signature(pipe.scheduler.set_timesteps).parameters.keys()\n    )\n    extra_set_kwargs = {}\n    if accepts_offset:\n        extra_set_kwargs[\"offset\"] = 1\n\n    pipe.scheduler.set_timesteps(\n        num_inference_steps + st.session_state.sampling_steps, **extra_set_kwargs\n    )\n    # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature\n    # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.\n    # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502\n    # and should be between [0, 1]\n    accepts_eta = \"eta\" in set(inspect.signature(pipe.scheduler.step).parameters.keys())\n    extra_step_kwargs = {}\n    if accepts_eta:\n        extra_step_kwargs[\"eta\"] = eta\n\n    step_counter = 0\n    inference_counter = 0\n\n    if \"current_chunk_speed\" not in st.session_state:\n        st.session_state[\"current_chunk_speed\"] = 0\n\n    if \"previous_chunk_speed_list\" not in st.session_state:\n        st.session_state[\"previous_chunk_speed_list\"] = [0]\n        st.session_state[\"previous_chunk_speed_list\"].append(\n            st.session_state[\"current_chunk_speed\"]\n        )\n\n    if \"update_preview_frequency_list\" not in st.session_state:\n        st.session_state[\"update_preview_frequency_list\"] = [0]\n        st.session_state[\"update_preview_frequency_list\"].append(\n            st.session_state[\"update_preview_frequency\"]\n        )\n\n    try:\n        # diffuse!\n        for i, t in enumerate(pipe.scheduler.timesteps):\n            start = timeit.default_timer()\n\n            # status_text.text(f\"Running step: {step_counter}{total_number_steps} {percent} | {duration:.2f}{speed}\")\n\n            # expand the latents for classifier free guidance\n            latent_model_input = torch.cat([cond_latents] * 2)\n            if isinstance(pipe.scheduler, LMSDiscreteScheduler):\n                sigma = pipe.scheduler.sigmas[i]\n                latent_model_input = latent_model_input / ((sigma**2 + 1) ** 0.5)\n\n            # predict the noise residual\n            noise_pred = pipe.unet(\n                latent_model_input, t, encoder_hidden_states=text_embeddings\n            )[\"sample\"]\n\n            # cfg\n            noise_pred_uncond, noise_pred_text = noise_pred.chunk(2)\n            noise_pred = noise_pred_uncond + cfg_scale * (\n                noise_pred_text - noise_pred_uncond\n            )\n\n            # compute the previous noisy sample x_t -> x_t-1\n            if isinstance(pipe.scheduler, LMSDiscreteScheduler):\n                cond_latents = pipe.scheduler.step(\n                    noise_pred, i, cond_latents, **extra_step_kwargs\n                )[\"prev_sample\"]\n            else:\n                cond_latents = pipe.scheduler.step(\n                    noise_pred, t, cond_latents, **extra_step_kwargs\n                )[\"prev_sample\"]\n\n            # update the preview image if it is enabled and the frequency matches the step_counter\n            if st.session_state[\"update_preview\"]:\n                step_counter += 1\n\n                if step_counter == st.session_state[\"update_preview_frequency\"]:\n                    if st.session_state.dynamic_preview_frequency:\n                        st.session_state[\"current_chunk_speed\"],\n                        st.session_state[\"previous_chunk_speed_list\"],\n                        st.session_state[\"update_preview_frequency\"],\n                        st.session_state[\n                            \"avg_update_preview_frequency\"\n                        ] = optimize_update_preview_frequency(\n                            st.session_state[\"current_chunk_speed\"],\n                            st.session_state[\"previous_chunk_speed_list\"],\n                            st.session_state[\"update_preview_frequency\"],\n                            st.session_state[\"update_preview_frequency_list\"],\n                        )\n\n                    # scale and decode the image latents with vae\n                    cond_latents_2 = 1 / 0.18215 * cond_latents\n                    image = pipe.vae.decode(cond_latents_2)\n\n                    # generate output numpy image as uint8\n                    image = torch.clamp((image[\"sample\"] + 1.0) / 2.0, min=0.0, max=1.0)\n                    image2 = transforms.ToPILImage()(image.squeeze_(0))\n\n                    st.session_state[\"preview_image\"].image(image2)\n\n                    step_counter = 0\n\n            duration = timeit.default_timer() - start\n\n            st.session_state[\"current_chunk_speed\"] = duration\n\n            if duration >= 1:\n                speed = \"s/it\"\n            else:\n                speed = \"it/s\"\n                duration = 1 / duration\n\n            total_frames = st.session_state.max_duration_in_seconds * fps\n            st.session_state.sampling_steps + st.session_state.num_inference_steps\n\n            if i > st.session_state.sampling_steps:\n                inference_counter += 1\n                inference_percent = int(\n                    100\n                    * float(\n                        inference_counter + 1\n                        if inference_counter < num_inference_steps\n                        else num_inference_steps\n                    )\n                    / float(num_inference_steps)\n                )\n                inference_progress = f\"{inference_counter + 1 if inference_counter < num_inference_steps else num_inference_steps}/{num_inference_steps} {inference_percent}% \"\n            else:\n                inference_progress = \"\"\n\n            total_percent = int(\n                100\n                * float(\n                    i + 1\n                    if i + 1 < (num_inference_steps + st.session_state.sampling_steps)\n                    else (num_inference_steps + st.session_state.sampling_steps)\n                )\n                / float((num_inference_steps + st.session_state.sampling_steps))\n            )\n\n            percent = int(\n                100\n                * float(\n                    i + 1\n                    if i + 1 < num_inference_steps\n                    else st.session_state.sampling_steps\n                )\n                / float(st.session_state.sampling_steps)\n            )\n            frames_percent = int(\n                100\n                * float(\n                    st.session_state.current_frame\n                    if st.session_state.current_frame < total_frames\n                    else total_frames\n                )\n                / float(total_frames)\n            )\n\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    f\"Running step: {i+1 if i+1 < st.session_state.sampling_steps else st.session_state.sampling_steps}/{st.session_state.sampling_steps} \"\n                    f\"{percent if percent < 100 else 100}% {inference_progress}{duration:.2f}{speed} | \"\n                    f\"Frame: {st.session_state.current_frame + 1 if st.session_state.current_frame < total_frames else total_frames}/{total_frames} \"\n                    f\"{frames_percent if frames_percent < 100 else 100}% {st.session_state.frame_duration:.2f}{st.session_state.frame_speed}\"\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    total_percent if total_percent < 100 else 100\n                )\n\n                if st.session_state[\"defaults\"].general.show_percent_in_tab_title:\n                    set_page_title(\n                        f\"({percent if percent < 100 else 100}%) Stable Diffusion Playground\"\n                    )\n\n    except KeyError:\n        raise StopException\n\n    # scale and decode the image latents with vae\n    cond_latents_2 = 1 / 0.18215 * cond_latents\n    image = pipe.vae.decode(cond_latents_2)\n\n    # generate output numpy image as uint8\n    image = torch.clamp((image[\"sample\"] + 1.0) / 2.0, min=0.0, max=1.0)\n    image2 = transforms.ToPILImage()(image.squeeze_(0))\n\n    return image2\n\n\n#\ndef load_diffusers_model(weights_path, torch_device):\n    with server_state_lock[\"model\"]:\n        if \"model\" in server_state:\n            del server_state[\"model\"]\n\n    if \"textual_inversion\" in st.session_state:\n        del st.session_state[\"textual_inversion\"]\n\n    try:\n        with server_state_lock[\"pipe\"]:\n            if \"pipe\" not in server_state:\n                if (\n                    \"weights_path\" in st.session_state\n                    and st.session_state[\"weights_path\"] != weights_path\n                ):\n                    del st.session_state[\"weights_path\"]\n\n                st.session_state[\"weights_path\"] = weights_path\n                server_state[\"float16\"] = st.session_state[\n                    \"defaults\"\n                ].general.use_float16\n                server_state[\"no_half\"] = st.session_state[\"defaults\"].general.no_half\n                server_state[\"optimized\"] = st.session_state[\n                    \"defaults\"\n                ].general.optimized\n\n                # if folder \"models/diffusers/stable-diffusion-v1-4\" exists, load the model from there\n                if weights_path == \"CompVis/stable-diffusion-v1-4\":\n                    model_path = os.path.join(\n                        \"models\", \"diffusers\", \"stable-diffusion-v1-4\"\n                    )\n\n                if weights_path == \"runwayml/stable-diffusion-v1-5\":\n                    model_path = os.path.join(\n                        \"models\", \"diffusers\", \"stable-diffusion-v1-5\"\n                    )\n                else:\n                    model_path = weights_path\n\n                if not os.path.exists(model_path + \"/model_index.json\"):\n                    server_state[\"pipe\"] = StableDiffusionPipeline.from_pretrained(\n                        weights_path,\n                        # use_local_file=True,\n                        use_auth_token=st.session_state[\n                            \"defaults\"\n                        ].general.huggingface_token,\n                        torch_dtype=torch.float16\n                        if st.session_state[\"defaults\"].general.use_float16\n                        else None,\n                        revision=\"fp16\"\n                        if not st.session_state[\"defaults\"].general.no_half\n                        else None,\n                        safety_checker=None,  # Very important for videos...lots of false positives while interpolating\n                        # custom_pipeline=\"interpolate_stable_diffusion\",\n                    )\n\n                    StableDiffusionPipeline.save_pretrained(\n                        server_state[\"pipe\"], model_path\n                    )\n                else:\n                    server_state[\"pipe\"] = StableDiffusionPipeline.from_pretrained(\n                        model_path,\n                        # use_local_file=True,\n                        torch_dtype=torch.float16\n                        if st.session_state[\"defaults\"].general.use_float16\n                        else None,\n                        revision=\"fp16\"\n                        if not st.session_state[\"defaults\"].general.no_half\n                        else None,\n                        safety_checker=None,  # Very important for videos...lots of false positives while interpolating\n                        # custom_pipeline=\"interpolate_stable_diffusion\",\n                    )\n\n                server_state[\"pipe\"].unet.to(torch_device)\n                server_state[\"pipe\"].vae.to(torch_device)\n                server_state[\"pipe\"].text_encoder.to(torch_device)\n\n                # if st.session_state.defaults.general.enable_attention_slicing:\n                server_state[\"pipe\"].enable_attention_slicing()\n\n                if st.session_state.defaults.general.enable_minimal_memory_usage:\n                    server_state[\"pipe\"].enable_minimal_memory_usage()\n\n                logger.info(\"Tx2Vid Model Loaded\")\n            else:\n                # if the float16 or no_half options have changed since the last time the model was loaded then we need to reload the model.\n                if (\n                    (\n                        \"float16\" in server_state\n                        and server_state[\"float16\"]\n                        != st.session_state[\"defaults\"].general.use_float16\n                    )\n                    or (\n                        \"no_half\" in server_state\n                        and server_state[\"no_half\"]\n                        != st.session_state[\"defaults\"].general.no_half\n                    )\n                    or (\n                        \"optimized\" in server_state\n                        and server_state[\"optimized\"]\n                        != st.session_state[\"defaults\"].general.optimized\n                    )\n                ):\n                    del server_state[\"float16\"]\n                    del server_state[\"no_half\"]\n                    with server_state_lock[\"pipe\"]:\n                        del server_state[\"pipe\"]\n                        torch_gc()\n\n                    del server_state[\"optimized\"]\n\n                    server_state[\"float16\"] = st.session_state[\n                        \"defaults\"\n                    ].general.use_float16\n                    server_state[\"no_half\"] = st.session_state[\n                        \"defaults\"\n                    ].general.no_half\n                    server_state[\"optimized\"] = st.session_state[\n                        \"defaults\"\n                    ].general.optimized\n\n                    # with no_rerun:\n                    load_diffusers_model(weights_path, torch_device)\n                else:\n                    logger.info(\"Tx2Vid Model already Loaded\")\n\n    except (EnvironmentError, OSError) as e:\n        if (\n            \"huggingface_token\" not in st.session_state\n            or st.session_state[\"defaults\"].general.huggingface_token == \"None\"\n        ):\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].error(\n                    \"You need a huggingface token in order to use the Text to Video tab. Use the Settings page to add your token under the Huggingface section. \"\n                    \"Make sure you save your settings after adding it.\"\n                )\n            raise OSError(\n                \"You need a huggingface token in order to use the Text to Video tab. Use the Settings page to add your token under the Huggingface section. \"\n                \"Make sure you save your settings after adding it.\"\n            )\n        else:\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].error(e)\n\n\n#\ndef save_video_to_disk(\n    frames, seeds, sanitized_prompt, fps=30, save_video=True, outdir=\"outputs\"\n):\n    if save_video:\n        # write video to memory\n        # output = io.BytesIO()\n        # writer = imageio.get_writer(os.path.join(os.getcwd(), st.session_state['defaults'].general.outdir, \"txt2vid\"), im, extension=\".mp4\", fps=30)\n        # try:\n        video_path = os.path.join(\n            os.getcwd(),\n            outdir,\n            \"txt2vid\",\n            f\"{seeds}_{sanitized_prompt}{datetime.datetime.now().strftime('%Y%m-%d%H-%M%S-') + str(uuid4())[:8]}.mp4\",\n        )\n        writer = imageio.get_writer(video_path, fps=fps)\n        for frame in frames:\n            writer.append_data(frame)\n\n        writer.close()\n        # except:\n        # \tprint(\"Can't save video, skipping.\")\n\n    return video_path\n\n\n#\ndef txt2vid(\n    # --------------------------------------\n    # args you probably want to change\n    prompts=[\"blueberry spaghetti\", \"strawberry spaghetti\"],  # prompt to dream about\n    gpu: int = st.session_state[\"defaults\"].general.gpu,  # id of the gpu to run on\n    # name:str = 'test', # name of this project, for the output directory\n    # rootdir:str = st.session_state['defaults'].general.outdir,\n    num_steps: int = 200,  # number of steps between each pair of sampled points\n    max_duration_in_seconds: int = 30,  # number of frames to write and then exit the script\n    num_inference_steps: int = 50,  # more (e.g. 100, 200 etc) can create slightly better images\n    cfg_scale: float = 5.0,  # can depend on the prompt. usually somewhere between 3-10 is good\n    save_video=True,\n    save_video_on_stop=False,\n    outdir=\"outputs\",\n    do_loop=False,\n    use_lerp_for_text=False,\n    seeds=None,\n    quality: int = 100,  # for jpeg compression of the output images\n    eta: float = 0.0,\n    width: int = 256,\n    height: int = 256,\n    weights_path=\"runwayml/stable-diffusion-v1-5\",\n    scheduler=\"klms\",  # choices: default, ddim, klms\n    disable_tqdm=False,\n    # -----------------------------------------------\n    beta_start=0.0001,\n    beta_end=0.00012,\n    beta_schedule=\"scaled_linear\",\n    starting_image=None,\n    # -----------------------------------------------\n    # from new version\n    image_file_ext: Optional[str] = \".png\",\n    fps: Optional[int] = 30,\n    upsample: Optional[bool] = False,\n    batch_size: Optional[int] = 1,\n    resume: Optional[bool] = False,\n    audio_filepath: str = None,\n    audio_start_sec: Optional[Union[int, float]] = None,\n    margin: Optional[float] = 1.0,\n    smooth: Optional[float] = 0.0,\n):\n    \"\"\"\n    prompt = [\"blueberry spaghetti\", \"strawberry spaghetti\"], # prompt to dream about\n    gpu:int = st.session_state['defaults'].general.gpu, # id of the gpu to run on\n    #name:str = 'test', # name of this project, for the output directory\n    #rootdir:str = st.session_state['defaults'].general.outdir,\n    num_steps:int = 200, # number of steps between each pair of sampled points\n    max_duration_in_seconds:int = 10000, # number of frames to write and then exit the script\n    num_inference_steps:int = 50, # more (e.g. 100, 200 etc) can create slightly better images\n    cfg_scale:float = 5.0, # can depend on the prompt. usually somewhere between 3-10 is good\n    do_loop = False,\n    use_lerp_for_text = False,\n    seed = None,\n    quality:int = 100, # for jpeg compression of the output images\n    eta:float = 0.0,\n    width:int = 256,\n    height:int = 256,\n    weights_path = \"runwayml/stable-diffusion-v1-5\",\n    scheduler=\"klms\",  # choices: default, ddim, klms\n    disable_tqdm = False,\n    beta_start = 0.0001,\n    beta_end = 0.00012,\n    beta_schedule = \"scaled_linear\"\n    \"\"\"\n    mem_mon = MemUsageMonitor(\"MemMon\")\n    mem_mon.start()\n\n    seeds = seed_to_int(seeds)\n\n    # We add an extra frame because most\n    # of the time the first frame is just the noise.\n    # max_duration_in_seconds +=1\n\n    assert torch.cuda.is_available()\n    assert height % 8 == 0 and width % 8 == 0\n    torch.manual_seed(seeds)\n    torch_device = f\"cuda:{gpu}\"\n\n    if type(seeds) == list:\n        prompts = [prompts] * len(seeds)\n    else:\n        seeds = [seeds, random.randint(0, 2**32 - 1)]\n\n    if type(prompts) == list:\n        # init the output dir\n        sanitized_prompt = slugify(prompts[0])\n    else:\n        # init the output dir\n        sanitized_prompt = slugify(prompts)\n\n    full_path = os.path.join(\n        os.getcwd(),\n        st.session_state[\"defaults\"].general.outdir,\n        \"txt2vid\",\n        \"samples\",\n        sanitized_prompt,\n    )\n\n    if len(full_path) > 220:\n        sanitized_prompt = sanitized_prompt[: 220 - len(full_path)]\n        full_path = os.path.join(\n            os.getcwd(),\n            st.session_state[\"defaults\"].general.outdir,\n            \"txt2vid\",\n            \"samples\",\n            sanitized_prompt,\n        )\n\n    os.makedirs(full_path, exist_ok=True)\n\n    # Write prompt info to file in output dir so we can keep track of what we did\n    if st.session_state.write_info_files:\n        with open(\n            os.path.join(\n                full_path,\n                f\"{slugify(str(seeds))}_config.json\"\n                if len(prompts) > 1\n                else \"prompts_config.json\",\n            ),\n            \"w\",\n        ) as outfile:\n            outfile.write(\n                json.dumps(\n                    dict(\n                        prompts=prompts,\n                        gpu=gpu,\n                        num_steps=num_steps,\n                        max_duration_in_seconds=max_duration_in_seconds,\n                        num_inference_steps=num_inference_steps,\n                        cfg_scale=cfg_scale,\n                        do_loop=do_loop,\n                        use_lerp_for_text=use_lerp_for_text,\n                        seeds=seeds,\n                        quality=quality,\n                        eta=eta,\n                        width=width,\n                        height=height,\n                        weights_path=weights_path,\n                        scheduler=scheduler,\n                        disable_tqdm=disable_tqdm,\n                        beta_start=beta_start,\n                        beta_end=beta_end,\n                        beta_schedule=beta_schedule,\n                    ),\n                    indent=2,\n                    sort_keys=False,\n                )\n            )\n\n    # print(scheduler)\n    default_scheduler = PNDMScheduler(\n        beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    )\n    # ------------------------------------------------------------------------------\n    # Schedulers\n    ddim_scheduler = DDIMScheduler(\n        beta_start=beta_start,\n        beta_end=beta_end,\n        beta_schedule=beta_schedule,\n        clip_sample=False,\n        set_alpha_to_one=False,\n    )\n\n    klms_scheduler = LMSDiscreteScheduler(\n        beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    )\n\n    # flaxddims_scheduler = FlaxDDIMScheduler(\n    # beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    # )\n\n    # flaxddpms_scheduler = FlaxDDPMScheduler(\n    # beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    # )\n\n    # flaxpndms_scheduler = FlaxPNDMScheduler(\n    # beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    # )\n\n    ddpms_scheduler = DDPMScheduler(\n        beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    )\n\n    SCHEDULERS = dict(\n        default=default_scheduler,\n        ddim=ddim_scheduler,\n        klms=klms_scheduler,\n        ddpms=ddpms_scheduler,\n        # flaxddims=flaxddims_scheduler,\n        # flaxddpms=flaxddpms_scheduler,\n        # flaxpndms=flaxpndms_scheduler,\n    )\n\n    with no_rerun:\n        with st.session_state[\"progress_bar_text\"].container():\n            with hc.HyLoader(\n                \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n            ):\n                load_diffusers_model(weights_path, torch_device)\n\n    if \"pipe\" not in server_state:\n        logger.error(\"wtf\")\n\n    server_state[\"pipe\"].scheduler = SCHEDULERS[scheduler]\n\n    server_state[\"pipe\"].use_multiprocessing_for_evaluation = False\n    server_state[\"pipe\"].use_multiprocessed_decoding = False\n\n    # if do_loop:\n    ##Makes the last prompt loop back to first prompt\n    # prompts = [prompts, prompts]\n    # seeds = [seeds, seeds]\n    # first_seed, *seeds = seeds\n    # prompts.append(prompts)\n    # seeds.append(first_seed)\n\n    with torch.autocast(\"cuda\"):\n        # get the conditional text embeddings based on the prompt\n        text_input = server_state[\"pipe\"].tokenizer(\n            prompts,\n            padding=\"max_length\",\n            max_length=server_state[\"pipe\"].tokenizer.model_max_length,\n            truncation=True,\n            return_tensors=\"pt\",\n        )\n        cond_embeddings = server_state[\"pipe\"].text_encoder(\n            text_input.input_ids.to(torch_device)\n        )[0]\n\n    #\n    if st.session_state.defaults.general.use_sd_concepts_library:\n        prompt_tokens = re.findall(\"<([a-zA-Z0-9-]+)>\", str(prompts))\n\n        if prompt_tokens:\n            # compviz\n            # tokenizer = (st.session_state[\"model\"] if not st.session_state['defaults'].general.optimized else st.session_state.modelCS).cond_stage_model.tokenizer\n            # text_encoder = (st.session_state[\"model\"] if not st.session_state['defaults'].general.optimized else st.session_state.modelCS).cond_stage_model.transformer\n\n            # diffusers\n            tokenizer = st.session_state.pipe.tokenizer\n            text_encoder = st.session_state.pipe.text_encoder\n\n            ext = (\"pt\", \"bin\")\n            # print (prompt_tokens)\n\n            if len(prompt_tokens) > 1:\n                for token_name in prompt_tokens:\n                    embedding_path = os.path.join(\n                        st.session_state[\"defaults\"].general.sd_concepts_library_folder,\n                        token_name,\n                    )\n                    if os.path.exists(embedding_path):\n                        for files in os.listdir(embedding_path):\n                            if files.endswith(ext):\n                                load_learned_embed_in_clip(\n                                    f\"{os.path.join(embedding_path, files)}\",\n                                    text_encoder,\n                                    tokenizer,\n                                    f\"<{token_name}>\",\n                                )\n            else:\n                embedding_path = os.path.join(\n                    st.session_state[\"defaults\"].general.sd_concepts_library_folder,\n                    prompt_tokens[0],\n                )\n                if os.path.exists(embedding_path):\n                    for files in os.listdir(embedding_path):\n                        if files.endswith(ext):\n                            load_learned_embed_in_clip(\n                                f\"{os.path.join(embedding_path, files)}\",\n                                text_encoder,\n                                tokenizer,\n                                f\"<{prompt_tokens[0]}>\",\n                            )\n\n    # sample a source\n    init1 = torch.randn(\n        (1, server_state[\"pipe\"].unet.in_channels, height // 8, width // 8),\n        device=torch_device,\n    )\n\n    # iterate the loop\n    frames = []\n    frame_index = 0\n\n    st.session_state[\"total_frames_avg_duration\"] = []\n    st.session_state[\"total_frames_avg_speed\"] = []\n\n    try:\n        # code for the new StableDiffusionWalkPipeline implementation.\n        start = timeit.default_timer()\n\n        # preview image works but its not the right way to use this, this also do not work properly as it only makes one image and then exits.\n        # with torch.autocast(\"cuda\"):\n        # StableDiffusionWalkPipeline.__call__(self=server_state[\"pipe\"],\n        # prompt=prompts, height=height, width=width, num_inference_steps=num_inference_steps, guidance_scale=cfg_scale,\n        # negative_prompt=\"\", num_images_per_prompt=1, eta=0.0,\n        # callback=txt2vid_generation_callback, callback_steps=1,\n        # num_interpolation_steps=num_steps,\n        # fps=30,\n        # image_file_ext = \".png\",\n        # output_dir=full_path,        # Where images/videos will be saved\n        ##name='animals_test',        # Subdirectory of output_dir where images/videos will be saved\n        # upsample = False,\n        ##do_loop=do_loop,           # Change to True if you want last prompt to loop back to first prompt\n        # resume = False,\n        # audio_filepath = None,\n        # audio_start_sec = None,\n        # margin = 1.0,\n        # smooth = 0.0,                                                             )\n\n        # works correctly generating all frames but do not show the preview image\n        # we also do not have control over the generation and cant stop it until the end of it.\n        # with torch.autocast(\"cuda\"):\n        # print (prompts)\n        # video_path = server_state[\"pipe\"].walk(\n        # prompt=prompts,\n        # seeds=seeds,\n        # num_interpolation_steps=num_steps,\n        # height=height,  # use multiples of 64 if > 512. Multiples of 8 if < 512.\n        # width=width,   # use multiples of 64 if > 512. Multiples of 8 if < 512.\n        # batch_size=4,\n        # fps=30,\n        # image_file_ext = \".png\",\n        # eta = 0.0,\n        # output_dir=full_path,        # Where images/videos will be saved\n        ##name='test',        # Subdirectory of output_dir where images/videos will be saved\n        # guidance_scale=cfg_scale,         # Higher adheres to prompt more, lower lets model take the wheel\n        # num_inference_steps=num_inference_steps,     # Number of diffusion steps per image generated. 50 is good default\n        # upsample = False,\n        ##do_loop=do_loop,           # Change to True if you want last prompt to loop back to first prompt\n        # resume = False,\n        # audio_filepath = None,\n        # audio_start_sec = None,\n        # margin = 1.0,\n        # smooth = 0.0,\n        # callback=txt2vid_generation_callback, # our callback function will be called with the arguments callback(step, timestep, latents)\n        # callback_steps=1 # our callback function will be called once this many steps are processed in a single frame\n        # )\n\n        # old code\n        total_frames = st.session_state.max_duration_in_seconds * fps\n\n        while frame_index + 1 <= total_frames:\n            st.session_state[\"frame_duration\"] = 0\n            st.session_state[\"frame_speed\"] = 0\n            st.session_state[\"current_frame\"] = frame_index\n\n            # print(f\"Second: {second_count+1}/{max_duration_in_seconds}\")\n\n            # sample the destination\n            init2 = torch.randn(\n                (1, server_state[\"pipe\"].unet.in_channels, height // 8, width // 8),\n                device=torch_device,\n            )\n\n            for i, t in enumerate(np.linspace(0, 1, num_steps)):\n                start = timeit.default_timer()\n                logger.info(f\"COUNT: {frame_index+1}/{total_frames}\")\n\n                if use_lerp_for_text:\n                    init = torch.lerp(init1, init2, float(t))\n                else:\n                    init = slerp(gpu, float(t), init1, init2)\n\n                # init = slerp(gpu, float(t), init1, init2)\n\n                with autocast(\"cuda\"):\n                    image = diffuse(\n                        server_state[\"pipe\"],\n                        cond_embeddings,\n                        init,\n                        num_inference_steps,\n                        cfg_scale,\n                        eta,\n                        fps=fps,\n                    )\n\n                if (\n                    st.session_state[\"save_individual_images\"]\n                    and not st.session_state[\"use_GFPGAN\"]\n                    and not st.session_state[\"use_RealESRGAN\"]\n                ):\n                    # im = Image.fromarray(image)\n                    outpath = os.path.join(full_path, \"frame%06d.png\" % frame_index)\n                    image.save(outpath, quality=quality)\n\n                    # send the image to the UI to update it\n                    # st.session_state[\"preview_image\"].image(im)\n\n                    # append the frames to the frames list so we can use them later.\n                    frames.append(np.asarray(image))\n\n                #\n                # try:\n                # if st.session_state[\"use_GFPGAN\"] and server_state[\"GFPGAN\"] is not None and not st.session_state[\"use_RealESRGAN\"]:\n                if (\n                    st.session_state[\"use_GFPGAN\"]\n                    and server_state[\"GFPGAN\"] is not None\n                ):\n                    # print(\"Running GFPGAN on image ...\")\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running GFPGAN on image ...\"\n                        )\n                    # skip_save = True # #287 >_>\n                    torch_gc()\n                    cropped_faces, restored_faces, restored_img = server_state[\n                        \"GFPGAN\"\n                    ].enhance(\n                        np.array(image)[:, :, ::-1],\n                        has_aligned=False,\n                        only_center_face=False,\n                        paste_back=True,\n                    )\n                    gfpgan_sample = restored_img[:, :, ::-1]\n                    gfpgan_image = Image.fromarray(gfpgan_sample)\n\n                    outpath = os.path.join(full_path, \"frame%06d.png\" % frame_index)\n                    gfpgan_image.save(outpath, quality=quality)\n\n                    # append the frames to the frames list so we can use them later.\n                    frames.append(np.asarray(gfpgan_image))\n                    try:\n                        st.session_state[\"preview_image\"].image(gfpgan_image)\n                    except KeyError:\n                        logger.error(\"Cant get session_state, skipping image preview.\")\n                # except (AttributeError, KeyError):\n                # print(\"Cant perform GFPGAN, skipping.\")\n\n                # increase frame_index counter.\n                frame_index += 1\n\n                st.session_state[\"current_frame\"] = frame_index\n\n                duration = timeit.default_timer() - start\n\n                if duration >= 1:\n                    speed = \"s/it\"\n                else:\n                    speed = \"it/s\"\n                    duration = 1 / duration\n\n                st.session_state[\"frame_duration\"] = duration\n                st.session_state[\"frame_speed\"] = speed\n                if frame_index + 1 > total_frames:\n                    break\n\n            init1 = init2\n\n        # save the video after the generation is done.\n        video_path = save_video_to_disk(\n            frames, seeds, sanitized_prompt, save_video=save_video, outdir=outdir\n        )\n\n    except StopException:\n        # reset the page title so the percent doesnt stay on it confusing the user.\n        set_page_title(\"Stable Diffusion Playground\")\n\n        if save_video_on_stop:\n            logger.info(\"Streamlit Stop Exception Received. Saving video\")\n            video_path = save_video_to_disk(\n                frames, seeds, sanitized_prompt, save_video=save_video, outdir=outdir\n            )\n        else:\n            video_path = None\n\n    # if video_path and \"preview_video\" in st.session_state:\n    ## show video preview on the UI\n    # st.session_state[\"preview_video\"].video(open(video_path, 'rb').read())\n\n    mem_max_used, mem_total = mem_mon.read_and_stop()\n    time_diff = time.time() - start\n\n    info = f\"\"\"\n        {prompts}\n        Sampling Steps: {num_steps}, Sampler: {scheduler}, CFG scale: {cfg_scale}, Seed: {seeds}, Max Duration In Seconds: {max_duration_in_seconds}\"\"\".strip()\n    stats = f\"\"\"\n        Took { round(time_diff, 2) }s total ({ round(time_diff/(max_duration_in_seconds),2) }s per image)\n        Peak memory usage: { -(mem_max_used // -1_048_576) } MiB / { -(mem_total // -1_048_576) } MiB / { round(mem_max_used/mem_total*100, 3) }%\"\"\"\n\n    return video_path, seeds, info, stats\n\n\n#\ndef layout():\n    with st.form(\"txt2vid-inputs\"):\n        st.session_state[\"generation_mode\"] = \"txt2vid\"\n\n        input_col1, generate_col1 = st.columns([10, 1])\n        with input_col1:\n            # prompt = st.text_area(\"Input Text\",\"\")\n            placeholder = \"A corgi wearing a top hat as an oil painting.\"\n            prompt = st.text_area(\"Input Text\", \"\", placeholder=placeholder, height=54)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].general.enable_suggestions:\n                    sygil_suggestions.suggestion_area(placeholder)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].admin.global_negative_prompt:\n                    prompt += f\"### {st.session_state['defaults'].admin.global_negative_prompt}\"\n\n        # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n        generate_col1.write(\"\")\n        generate_col1.write(\"\")\n        generate_button = generate_col1.form_submit_button(\"Generate\")\n\n        # creating the page layout using columns\n        col1, col2, col3 = st.columns([2, 5, 2], gap=\"large\")\n\n        with col1:\n            width = st.slider(\n                \"Width:\",\n                min_value=st.session_state[\"defaults\"].txt2vid.width.min_value,\n                max_value=st.session_state[\"defaults\"].txt2vid.width.max_value,\n                value=st.session_state[\"defaults\"].txt2vid.width.value,\n                step=st.session_state[\"defaults\"].txt2vid.width.step,\n            )\n            height = st.slider(\n                \"Height:\",\n                min_value=st.session_state[\"defaults\"].txt2vid.height.min_value,\n                max_value=st.session_state[\"defaults\"].txt2vid.height.max_value,\n                value=st.session_state[\"defaults\"].txt2vid.height.value,\n                step=st.session_state[\"defaults\"].txt2vid.height.step,\n            )\n            cfg_scale = st.number_input(\n                \"CFG (Classifier Free Guidance Scale):\",\n                min_value=st.session_state[\"defaults\"].txt2vid.cfg_scale.min_value,\n                value=st.session_state[\"defaults\"].txt2vid.cfg_scale.value,\n                step=st.session_state[\"defaults\"].txt2vid.cfg_scale.step,\n                help=\"How strongly the image should follow the prompt.\",\n            )\n\n            # uploaded_images = st.file_uploader(\"Upload Image\", accept_multiple_files=False, type=[\"png\", \"jpg\", \"jpeg\", \"webp\"],\n            # help=\"Upload an image which will be used for the image to image generation.\")\n            seed = st.text_input(\n                \"Seed:\",\n                value=st.session_state[\"defaults\"].txt2vid.seed,\n                help=\" The seed to use, if left blank a random seed will be generated.\",\n            )\n            # batch_count = st.slider(\"Batch count.\", min_value=1, max_value=100, value=st.session_state['defaults'].txt2vid.batch_count,\n            # step=1, help=\"How many iterations or batches of images to generate in total.\")\n            # batch_size = st.slider(\"Batch size\", min_value=1, max_value=250, value=st.session_state['defaults'].txt2vid.batch_size, step=1,\n            # help=\"How many images are at once in a batch.\\\n            # It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it takes to finish generation as more images are generated at once.\\\n            # Default: 1\")\n\n            st.session_state[\"max_duration_in_seconds\"] = st.number_input(\n                \"Max Duration In Seconds:\",\n                value=st.session_state[\"defaults\"].txt2vid.max_duration_in_seconds,\n                help=\"Specify the max duration in seconds you want your video to be.\",\n            )\n\n            st.session_state[\"fps\"] = st.number_input(\n                \"Frames per Second (FPS):\",\n                value=st.session_state[\"defaults\"].txt2vid.fps,\n                help=\"Specify the frame rate of the video.\",\n            )\n\n            with st.expander(\"Preview Settings\"):\n                # st.session_state[\"update_preview\"] = st.checkbox(\"Update Image Preview\", value=st.session_state['defaults'].txt2vid.update_preview,\n                # help=\"If enabled the image preview will be updated during the generation instead of at the end. \\\n                # You can use the Update Preview \\Frequency option bellow to customize how frequent it's updated. \\\n                # By default this is enabled and the frequency is set to 1 step.\")\n\n                st.session_state[\"update_preview\"] = st.session_state[\n                    \"defaults\"\n                ].general.update_preview\n                st.session_state[\"update_preview_frequency\"] = st.number_input(\n                    \"Update Image Preview Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].txt2vid.update_preview_frequency,\n                    help=\"Frequency in steps at which the the preview image is updated. By default the frequency \\\n\t\t\t\t                                                               is set to 1 step.\",\n                )\n\n                st.session_state[\"dynamic_preview_frequency\"] = st.checkbox(\n                    \"Dynamic Preview Frequency\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].txt2vid.dynamic_preview_frequency,\n                    help=\"This option tries to find the best value at which we can update \\\n\t\t\t\t\t                                               the preview image during generation while minimizing the impact it has in performance. Default: True\",\n                )\n\n            #\n\n    with col2:\n        preview_tab, gallery_tab = st.tabs([\"Preview\", \"Gallery\"])\n\n        with preview_tab:\n            # st.write(\"Image\")\n            # Image for testing\n            # image = Image.open(requests.get(\"https://icon-library.com/images/image-placeholder-icon/image-placeholder-icon-13.jpg\", stream=True).raw).convert('RGB')\n            # new_image = image.resize((175, 240))\n            # preview_image = st.image(image)\n\n            # create an empty container for the image, progress bar, etc so we can update it later and use session_state to hold them globally.\n            st.session_state[\"preview_image\"] = st.empty()\n\n            st.session_state[\"loading\"] = st.empty()\n\n            st.session_state[\"progress_bar_text\"] = st.empty()\n            st.session_state[\"progress_bar\"] = st.empty()\n\n            # generate_video = st.empty()\n            st.session_state[\"preview_video\"] = st.empty()\n            preview_video = st.session_state[\"preview_video\"]\n\n            message = st.empty()\n\n        with gallery_tab:\n            st.write(\n                \"Here should be the image gallery, if I could make a grid in streamlit.\"\n            )\n\n    with col3:\n        # If we have custom models available on the \"models/custom\"\n        # folder then we show a menu to select which model we want to use, otherwise we use the main model for SD\n        custom_models_available()\n        if server_state[\"CustomModel_available\"]:\n            custom_model = st.selectbox(\n                \"Custom Model:\",\n                st.session_state[\"defaults\"].txt2vid.custom_models_list,\n                index=st.session_state[\"defaults\"].txt2vid.custom_models_list.index(\n                    st.session_state[\"defaults\"].txt2vid.default_model\n                ),\n                help=\"Select the model you want to use. This option is only available if you have custom models \\\n\t\t\t\t                            on your 'models/custom' folder. The model name that will be shown here is the same as the name\\\n\t\t\t\t                            the file for the model has on said folder, it is recommended to give the .ckpt file a name that \\\n\t\t\t\t                        will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.5\",\n            )\n        else:\n            custom_model = \"runwayml/stable-diffusion-v1-5\"\n\n        # st.session_state[\"weights_path\"] = custom_model\n        # else:\n        # custom_model = \"runwayml/stable-diffusion-v1-5\"\n        # st.session_state[\"weights_path\"] = f\"CompVis/{slugify(custom_model.lower())}\"\n\n        st.session_state.sampling_steps = st.number_input(\n            \"Sampling Steps\",\n            value=st.session_state[\"defaults\"].txt2vid.sampling_steps.value,\n            min_value=st.session_state[\"defaults\"].txt2vid.sampling_steps.min_value,\n            step=st.session_state[\"defaults\"].txt2vid.sampling_steps.step,\n            help=\"Number of steps between each pair of sampled points\",\n        )\n\n        st.session_state.num_inference_steps = st.number_input(\n            \"Inference Steps:\",\n            value=st.session_state[\"defaults\"].txt2vid.num_inference_steps.value,\n            min_value=st.session_state[\n                \"defaults\"\n            ].txt2vid.num_inference_steps.min_value,\n            step=st.session_state[\"defaults\"].txt2vid.num_inference_steps.step,\n            help=\"Higher values (e.g. 100, 200 etc) can create better images.\",\n        )\n\n        # sampler_name_list = [\"k_lms\", \"k_euler\", \"k_euler_a\", \"k_dpm_2\", \"k_dpm_2_a\",  \"k_heun\", \"PLMS\", \"DDIM\"]\n        # sampler_name = st.selectbox(\"Sampling method\", sampler_name_list,\n        # index=sampler_name_list.index(st.session_state['defaults'].txt2vid.default_sampler), help=\"Sampling method to use. Default: k_euler\")\n        scheduler_name_list = [\n            \"klms\",\n            \"ddim\",\n            \"ddpms\",\n            # \"flaxddims\", \"flaxddpms\", \"flaxpndms\"\n        ]\n        scheduler_name = st.selectbox(\n            \"Scheduler:\",\n            scheduler_name_list,\n            index=scheduler_name_list.index(\n                st.session_state[\"defaults\"].txt2vid.scheduler_name\n            ),\n            help=\"Scheduler to use. Default: klms\",\n        )\n\n        beta_scheduler_type_list = [\"scaled_linear\", \"linear\"]\n        beta_scheduler_type = st.selectbox(\n            \"Beta Schedule Type:\",\n            beta_scheduler_type_list,\n            index=beta_scheduler_type_list.index(\n                st.session_state[\"defaults\"].txt2vid.beta_scheduler_type\n            ),\n            help=\"Schedule Type to use. Default: linear\",\n        )\n\n        # basic_tab, advanced_tab = st.tabs([\"Basic\", \"Advanced\"])\n\n        # with basic_tab:\n        # summit_on_enter = st.radio(\"Submit on enter?\", (\"Yes\", \"No\"), horizontal=True,\n        # help=\"Press the Enter key to summit, when 'No' is selected you can use the Enter key to write multiple lines.\")\n\n        with st.expander(\"Advanced\"):\n            with st.expander(\"Output Settings\"):\n                st.session_state[\"separate_prompts\"] = st.checkbox(\n                    \"Create Prompt Matrix.\",\n                    value=st.session_state[\"defaults\"].txt2vid.separate_prompts,\n                    help=\"Separate multiple prompts using the `|` character, and get all combinations of them.\",\n                )\n                st.session_state[\"normalize_prompt_weights\"] = st.checkbox(\n                    \"Normalize Prompt Weights.\",\n                    value=st.session_state[\"defaults\"].txt2vid.normalize_prompt_weights,\n                    help=\"Ensure the sum of all weights add up to 1.0\",\n                )\n\n                st.session_state[\"save_individual_images\"] = st.checkbox(\n                    \"Save individual images.\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_individual_images,\n                    help=\"Save each image generated before any filter or enhancement is applied.\",\n                )\n\n                st.session_state[\"save_video\"] = st.checkbox(\n                    \"Save video\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_video,\n                    help=\"Save a video with all the images generated as frames at the end of the generation.\",\n                )\n\n                save_video_on_stop = st.checkbox(\n                    \"Save video on Stop\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_video_on_stop,\n                    help=\"Save a video with all the images generated as frames when we hit the stop button during a generation.\",\n                )\n\n                st.session_state[\"group_by_prompt\"] = st.checkbox(\n                    \"Group results by prompt\",\n                    value=st.session_state[\"defaults\"].txt2vid.group_by_prompt,\n                    help=\"Saves all the images with the same prompt into the same folder. When using a prompt \\\n\t\t\t\t                                                  matrix each prompt combination will have its own folder.\",\n                )\n\n                st.session_state[\"write_info_files\"] = st.checkbox(\n                    \"Write Info file\",\n                    value=st.session_state[\"defaults\"].txt2vid.write_info_files,\n                    help=\"Save a file next to the image with informartion about the generation.\",\n                )\n\n                st.session_state[\"do_loop\"] = st.checkbox(\n                    \"Do Loop\",\n                    value=st.session_state[\"defaults\"].txt2vid.do_loop,\n                    help=\"Loop the prompt making two prompts from a single one.\",\n                )\n\n                st.session_state[\"use_lerp_for_text\"] = st.checkbox(\n                    \"Use Lerp Instead of Slerp\",\n                    value=st.session_state[\"defaults\"].txt2vid.use_lerp_for_text,\n                    help=\"Uses torch.lerp() instead of slerp. When interpolating between related prompts. \\\n\t\t\t\t                                                    e.g. 'a lion in a grassy meadow' -> 'a bear in a grassy meadow' tends to keep the meadow \\\n\t\t\t\t                                                    the whole way through when lerped, but slerping will often find a path where the meadow \\\n\t\t\t\t                                                    disappears in the middle\",\n                )\n\n                st.session_state[\"save_as_jpg\"] = st.checkbox(\n                    \"Save samples as jpg\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_as_jpg,\n                    help=\"Saves the images as jpg instead of png.\",\n                )\n\n            #\n            if \"GFPGAN_available\" not in st.session_state:\n                GFPGAN_available()\n\n            if \"RealESRGAN_available\" not in st.session_state:\n                RealESRGAN_available()\n\n            if \"LDSR_available\" not in st.session_state:\n                LDSR_available()\n\n            if (\n                st.session_state[\"GFPGAN_available\"]\n                or st.session_state[\"RealESRGAN_available\"]\n                or st.session_state[\"LDSR_available\"]\n            ):\n                with st.expander(\"Post-Processing\"):\n                    face_restoration_tab, upscaling_tab = st.tabs(\n                        [\"Face Restoration\", \"Upscaling\"]\n                    )\n                    with face_restoration_tab:\n                        # GFPGAN used for face restoration\n                        if st.session_state[\"GFPGAN_available\"]:\n                            # with st.expander(\"Face Restoration\"):\n                            # if st.session_state[\"GFPGAN_available\"]:\n                            # with st.expander(\"GFPGAN\"):\n                            st.session_state[\"use_GFPGAN\"] = st.checkbox(\n                                \"Use GFPGAN\",\n                                value=st.session_state[\"defaults\"].txt2vid.use_GFPGAN,\n                                help=\"Uses the GFPGAN model to improve faces after the generation.\\\n\t\t\t\t\t\t                                                                 This greatly improve the quality and consistency of faces but uses\\\n\t\t\t\t\t\t                                                                 extra VRAM. Disable if you need the extra VRAM.\",\n                            )\n\n                            st.session_state[\"GFPGAN_model\"] = st.selectbox(\n                                \"GFPGAN model\",\n                                st.session_state[\"GFPGAN_models\"],\n                                index=st.session_state[\"GFPGAN_models\"].index(\n                                    st.session_state[\"defaults\"].general.GFPGAN_model\n                                ),\n                            )\n\n                            # st.session_state[\"GFPGAN_strenght\"] = st.slider(\"Effect Strenght\", min_value=1, max_value=100, value=1, step=1, help='')\n\n                        else:\n                            st.session_state[\"use_GFPGAN\"] = False\n\n                    with upscaling_tab:\n                        st.session_state[\"us_upscaling\"] = st.checkbox(\n                            \"Use Upscaling\",\n                            value=st.session_state[\"defaults\"].txt2vid.use_upscaling,\n                        )\n                        # RealESRGAN and LDSR used for upscaling.\n                        if (\n                            st.session_state[\"RealESRGAN_available\"]\n                            or st.session_state[\"LDSR_available\"]\n                        ):\n                            upscaling_method_list = []\n                            if st.session_state[\"RealESRGAN_available\"]:\n                                upscaling_method_list.append(\"RealESRGAN\")\n                            if st.session_state[\"LDSR_available\"]:\n                                upscaling_method_list.append(\"LDSR\")\n\n                            st.session_state[\"upscaling_method\"] = st.selectbox(\n                                \"Upscaling Method\",\n                                upscaling_method_list,\n                                index=upscaling_method_list.index(\n                                    st.session_state[\n                                        \"defaults\"\n                                    ].general.upscaling_method\n                                )\n                                if st.session_state[\"defaults\"].general.upscaling_method\n                                in upscaling_method_list\n                                else 0,\n                            )\n\n                            if st.session_state[\"RealESRGAN_available\"]:\n                                with st.expander(\"RealESRGAN\"):\n                                    if (\n                                        st.session_state[\"upscaling_method\"]\n                                        == \"RealESRGAN\"\n                                        and st.session_state[\"us_upscaling\"]\n                                    ):\n                                        st.session_state[\"use_RealESRGAN\"] = True\n                                    else:\n                                        st.session_state[\"use_RealESRGAN\"] = False\n\n                                    st.session_state[\"RealESRGAN_model\"] = st.selectbox(\n                                        \"RealESRGAN model\",\n                                        st.session_state[\"RealESRGAN_models\"],\n                                        index=st.session_state[\n                                            \"RealESRGAN_models\"\n                                        ].index(\n                                            st.session_state[\n                                                \"defaults\"\n                                            ].general.RealESRGAN_model\n                                        ),\n                                    )\n                            else:\n                                st.session_state[\"use_RealESRGAN\"] = False\n                                st.session_state[\n                                    \"RealESRGAN_model\"\n                                ] = \"RealESRGAN_x4plus\"\n\n                            #\n                            if st.session_state[\"LDSR_available\"]:\n                                with st.expander(\"LDSR\"):\n                                    if (\n                                        st.session_state[\"upscaling_method\"] == \"LDSR\"\n                                        and st.session_state[\"us_upscaling\"]\n                                    ):\n                                        st.session_state[\"use_LDSR\"] = True\n                                    else:\n                                        st.session_state[\"use_LDSR\"] = False\n\n                                    st.session_state[\"LDSR_model\"] = st.selectbox(\n                                        \"LDSR model\",\n                                        st.session_state[\"LDSR_models\"],\n                                        index=st.session_state[\"LDSR_models\"].index(\n                                            st.session_state[\n                                                \"defaults\"\n                                            ].general.LDSR_model\n                                        ),\n                                    )\n\n                                    st.session_state[\n                                        \"ldsr_sampling_steps\"\n                                    ] = st.number_input(\n                                        \"Sampling Steps\",\n                                        value=st.session_state[\n                                            \"defaults\"\n                                        ].txt2vid.LDSR_config.sampling_steps,\n                                        help=\"\",\n                                    )\n\n                                    st.session_state[\"preDownScale\"] = st.number_input(\n                                        \"PreDownScale\",\n                                        value=st.session_state[\n                                            \"defaults\"\n                                        ].txt2vid.LDSR_config.preDownScale,\n                                        help=\"\",\n                                    )\n\n                                    st.session_state[\"postDownScale\"] = st.number_input(\n                                        \"postDownScale\",\n                                        value=st.session_state[\n                                            \"defaults\"\n                                        ].txt2vid.LDSR_config.postDownScale,\n                                        help=\"\",\n                                    )\n\n                                    downsample_method_list = [\"Nearest\", \"Lanczos\"]\n                                    st.session_state[\n                                        \"downsample_method\"\n                                    ] = st.selectbox(\n                                        \"Downsample Method\",\n                                        downsample_method_list,\n                                        index=downsample_method_list.index(\n                                            st.session_state[\n                                                \"defaults\"\n                                            ].txt2vid.LDSR_config.downsample_method\n                                        ),\n                                    )\n\n                            else:\n                                st.session_state[\"use_LDSR\"] = False\n                                st.session_state[\"LDSR_model\"] = \"model\"\n\n            with st.expander(\"Variant\"):\n                st.session_state[\"variant_amount\"] = st.number_input(\n                    \"Variant Amount:\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.value,\n                    min_value=st.session_state[\n                        \"defaults\"\n                    ].txt2vid.variant_amount.min_value,\n                    max_value=st.session_state[\n                        \"defaults\"\n                    ].txt2vid.variant_amount.max_value,\n                    step=st.session_state[\"defaults\"].txt2vid.variant_amount.step,\n                )\n\n                st.session_state[\"variant_seed\"] = st.text_input(\n                    \"Variant Seed:\",\n                    value=st.session_state[\"defaults\"].txt2vid.seed,\n                    help=\"The seed to use when generating a variant, if left blank a random seed will be generated.\",\n                )\n\n            # st.session_state[\"beta_start\"] = st.slider(\"Beta Start:\", value=st.session_state['defaults'].txt2vid.beta_start.value,\n            # min_value=st.session_state['defaults'].txt2vid.beta_start.min_value,\n            # max_value=st.session_state['defaults'].txt2vid.beta_start.max_value,\n            # step=st.session_state['defaults'].txt2vid.beta_start.step, format=st.session_state['defaults'].txt2vid.beta_start.format)\n            # st.session_state[\"beta_end\"] = st.slider(\"Beta End:\", value=st.session_state['defaults'].txt2vid.beta_end.value,\n            # min_value=st.session_state['defaults'].txt2vid.beta_end.min_value, max_value=st.session_state['defaults'].txt2vid.beta_end.max_value,\n            # step=st.session_state['defaults'].txt2vid.beta_end.step, format=st.session_state['defaults'].txt2vid.beta_end.format)\n\n    if generate_button:\n        # print(\"Loading models\")\n        # load the models when we hit the generate button for the first time, it wont be loaded after that so dont worry.\n        # load_models(False, st.session_state[\"use_GFPGAN\"], True, st.session_state[\"RealESRGAN_model\"])\n        # with no_rerun:\n        if st.session_state[\"use_GFPGAN\"]:\n            if \"GFPGAN\" in server_state:\n                logger.info(\"GFPGAN already loaded\")\n            else:\n                with col2:\n                    with hc.HyLoader(\n                        \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n                    ):\n                        # Load GFPGAN\n                        if os.path.exists(\n                            st.session_state[\"defaults\"].general.GFPGAN_dir\n                        ):\n                            try:\n                                load_GFPGAN()\n                                logger.info(\"Loaded GFPGAN\")\n                            except Exception:\n                                import traceback\n\n                                logger.error(\"Error loading GFPGAN:\", file=sys.stderr)\n                                logger.error(traceback.format_exc(), file=sys.stderr)\n        else:\n            if \"GFPGAN\" in server_state:\n                del server_state[\"GFPGAN\"]\n\n        # try:\n        # run video generation\n        video, seed, info, stats = txt2vid(\n            prompts=prompt,\n            gpu=st.session_state[\"defaults\"].general.gpu,\n            num_steps=st.session_state.sampling_steps,\n            max_duration_in_seconds=st.session_state.max_duration_in_seconds,\n            num_inference_steps=st.session_state.num_inference_steps,\n            cfg_scale=cfg_scale,\n            save_video_on_stop=save_video_on_stop,\n            outdir=st.session_state[\"defaults\"].general.outdir,\n            do_loop=st.session_state[\"do_loop\"],\n            use_lerp_for_text=st.session_state[\"use_lerp_for_text\"],\n            seeds=seed,\n            quality=100,\n            eta=0.0,\n            width=width,\n            height=height,\n            weights_path=custom_model,\n            scheduler=scheduler_name,\n            disable_tqdm=False,\n            beta_start=st.session_state[\"defaults\"].txt2vid.beta_start.value,\n            beta_end=st.session_state[\"defaults\"].txt2vid.beta_end.value,\n            beta_schedule=beta_scheduler_type,\n            starting_image=None,\n            fps=st.session_state.fps,\n        )\n\n        if video and save_video_on_stop:\n            if os.path.exists(video):  # temporary solution to bypass exception\n                # show video preview on the UI after we hit the stop button\n                # currently not working as session_state is cleared on StopException\n                preview_video.video(open(video, \"rb\").read())\n\n        # message.success('Done!', icon=\"✅\")\n        message.success(\"Render Complete: \" + info + \"; Stats: \" + stats, icon=\"✅\")\n\n        # history_tab,col1,col2,col3,PlaceHolder,col1_cont,col2_cont,col3_cont = st.session_state['historyTab']\n\n        # if 'latestVideos' in st.session_state:\n        # for i in video:\n        ##push the new image to the list of latest images and remove the oldest one\n        ##remove the last index from the list\\\n        # st.session_state['latestVideos'].pop()\n        ##add the new image to the start of the list\n        # st.session_state['latestVideos'].insert(0, i)\n        # PlaceHolder.empty()\n\n        # with PlaceHolder.container():\n        # col1, col2, col3 = st.columns(3)\n        # col1_cont = st.container()\n        # col2_cont = st.container()\n        # col3_cont = st.container()\n\n        # with col1_cont:\n        # with col1:\n        # st.image(st.session_state['latestVideos'][0])\n        # st.image(st.session_state['latestVideos'][3])\n        # st.image(st.session_state['latestVideos'][6])\n        # with col2_cont:\n        # with col2:\n        # st.image(st.session_state['latestVideos'][1])\n        # st.image(st.session_state['latestVideos'][4])\n        # st.image(st.session_state['latestVideos'][7])\n        # with col3_cont:\n        # with col3:\n        # st.image(st.session_state['latestVideos'][2])\n        # st.image(st.session_state['latestVideos'][5])\n        # st.image(st.session_state['latestVideos'][8])\n        # historyGallery = st.empty()\n\n        ## check if output_images length is the same as seeds length\n        # with gallery_tab:\n        # st.markdown(createHTMLGallery(video,seed), unsafe_allow_html=True)\n\n        # st.session_state['historyTab'] = [history_tab,col1,col2,col3,PlaceHolder,col1_cont,col2_cont,col3_cont]\n\n        # except (StopException, KeyError):\n        # print(f\"Received Streamlit StopException\")\n"
  },
  {
    "path": "scripts/webui.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\nimport argparse, os, sys, re, requests, json, time\n\nimport cv2\n\nfrom logger import logger, set_logger_verbosity, quiesce_logger\nfrom perlin import perlinNoise\nfrom frontend.frontend import draw_gradio_ui\nfrom frontend.job_manager import JobManager, JobInfo\nfrom frontend.image_metadata import ImageMetadata\nfrom frontend.ui_functions import resize_image\n\nparser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)\nparser.add_argument(\n    \"--ckpt\",\n    type=str,\n    default=\"models/ldm/stable-diffusion-v1/model.ckpt\",\n    help=\"path to checkpoint of model\",\n)\nparser.add_argument(\n    \"--cli\",\n    type=str,\n    help=\"don't launch web server, take Python function kwargs from this file.\",\n    default=None,\n)\nparser.add_argument(\n    \"--config\",\n    type=str,\n    default=\"configs/stable-diffusion/v1-inference.yaml\",\n    help=\"path to config which constructs model\",\n)\nparser.add_argument(\n    \"--defaults\",\n    type=str,\n    help=\"path to configuration file providing UI defaults, uses same format as cli parameter\",\n    default=\"configs/webui/webui.yaml\",\n)\nparser.add_argument(\n    \"--esrgan-cpu\", action=\"store_true\", help=\"run ESRGAN on cpu\", default=False\n)\nparser.add_argument(\n    \"--esrgan-gpu\",\n    type=int,\n    help=\"run ESRGAN on specific gpu (overrides --gpu)\",\n    default=0,\n)\nparser.add_argument(\n    \"--extra-models-cpu\",\n    action=\"store_true\",\n    help=\"run extra models (GFGPAN/ESRGAN) on cpu\",\n    default=False,\n)\nparser.add_argument(\n    \"--extra-models-gpu\",\n    action=\"store_true\",\n    help=\"run extra models (GFGPAN/ESRGAN) on gpu\",\n    default=False,\n)\nparser.add_argument(\n    \"--gfpgan-cpu\", action=\"store_true\", help=\"run GFPGAN on cpu\", default=False\n)\nparser.add_argument(\n    \"--gfpgan-dir\",\n    type=str,\n    help=\"GFPGAN directory\",\n    default=(\"./models/gfpgan\" if os.path.exists(\"./models/gfpgan\") else \"./GFPGAN\"),\n)  # i disagree with where you're putting it but since all guidefags are doing it this way, there you go\nparser.add_argument(\n    \"--gfpgan-gpu\",\n    type=int,\n    help=\"run GFPGAN on specific gpu (overrides --gpu) \",\n    default=0,\n)\nparser.add_argument(\n    \"--gpu\", type=int, help=\"choose which GPU to use if you have multiple\", default=0\n)\nparser.add_argument(\n    \"--grid-format\",\n    type=str,\n    help=\"png for lossless png files; jpg:quality for lossy jpeg; webp:quality for lossy webp, or webp:-compression for lossless webp\",\n    default=\"jpg:95\",\n)\nparser.add_argument(\n    \"--inbrowser\",\n    action=\"store_true\",\n    help=\"automatically launch the interface in a new tab on the default browser\",\n    default=False,\n)\nparser.add_argument(\n    \"--ldsr-dir\",\n    type=str,\n    help=\"LDSR directory\",\n    default=(\"./models/ldsr\" if os.path.exists(\"./models/ldsr\") else \"./LDSR\"),\n)\nparser.add_argument(\n    \"--n_rows\",\n    type=int,\n    default=-1,\n    help=\"rows in the grid; use -1 for autodetect and 0 for n_rows to be same as batch_size (default: -1)\",\n)\nparser.add_argument(\n    \"--no-half\",\n    action=\"store_true\",\n    help=\"do not switch the model to 16-bit floats\",\n    default=False,\n)\nparser.add_argument(\n    \"--no-progressbar-hiding\",\n    action=\"store_true\",\n    help=\"do not hide progressbar in gradio UI (we hide it because it slows down ML if you have hardware accleration in browser)\",\n    default=False,\n)\nparser.add_argument(\n    \"--no-verify-input\",\n    action=\"store_true\",\n    help=\"do not verify input to check if it's too long\",\n    default=False,\n)\nparser.add_argument(\n    \"--optimized-turbo\",\n    action=\"store_true\",\n    help=\"alternative optimization mode that does not save as much VRAM but runs siginificantly faster\",\n)\nparser.add_argument(\n    \"--optimized\",\n    action=\"store_true\",\n    help=\"load the model onto the device piecemeal instead of all at once to reduce VRAM usage at the cost of performance\",\n)\nparser.add_argument(\n    \"--outdir_scn2img\",\n    type=str,\n    nargs=\"?\",\n    help=\"dir to write scn2img results to (overrides --outdir)\",\n    default=None,\n)\nparser.add_argument(\n    \"--outdir_img2img\",\n    type=str,\n    nargs=\"?\",\n    help=\"dir to write img2img results to (overrides --outdir)\",\n    default=None,\n)\nparser.add_argument(\n    \"--outdir_imglab\",\n    type=str,\n    nargs=\"?\",\n    help=\"dir to write imglab results to (overrides --outdir)\",\n    default=None,\n)\nparser.add_argument(\n    \"--outdir_txt2img\",\n    type=str,\n    nargs=\"?\",\n    help=\"dir to write txt2img results to (overrides --outdir)\",\n    default=None,\n)\nparser.add_argument(\n    \"--outdir\", type=str, nargs=\"?\", help=\"dir to write results to\", default=None\n)\nparser.add_argument(\n    \"--filename_format\", type=str, nargs=\"?\", help=\"filenames format\", default=None\n)\nparser.add_argument(\n    \"--port\",\n    type=int,\n    help=\"choose the port for the gradio webserver to use\",\n    default=7860,\n)\nparser.add_argument(\n    \"--precision\",\n    type=str,\n    help=\"evaluate at this precision\",\n    choices=[\"full\", \"autocast\"],\n    default=\"autocast\",\n)\nparser.add_argument(\n    \"--realesrgan-dir\",\n    type=str,\n    help=\"RealESRGAN directory\",\n    default=(\n        \"./models/realesrgan\"\n        if os.path.exists(\"./models/realesrgan\")\n        else \"./RealESRGAN\"\n    ),\n)\nparser.add_argument(\n    \"--realesrgan-model\",\n    type=str,\n    help=\"Upscaling model for RealESRGAN\",\n    default=(\"RealESRGAN_x4plus\"),\n)\nparser.add_argument(\n    \"--save-metadata\",\n    action=\"store_true\",\n    help=\"Store generation parameters in the output png. Drop saved png into Image Lab to read parameters\",\n    default=False,\n)\nparser.add_argument(\n    \"--share-password\",\n    type=str,\n    help=\"Sharing is open by default, use this to set a password. Username: webui\",\n    default=None,\n)\nparser.add_argument(\n    \"--share\",\n    action=\"store_true\",\n    help=\"Should share your server on gradio.app, this allows you to use the UI from your mobile app\",\n    default=False,\n)\nparser.add_argument(\n    \"--skip-grid\",\n    action=\"store_true\",\n    help=\"do not save a grid, only individual samples. Helpful when evaluating lots of samples\",\n    default=False,\n)\nparser.add_argument(\n    \"--skip-save\",\n    action=\"store_true\",\n    help=\"do not save indiviual samples. For speed measurements.\",\n    default=False,\n)\nparser.add_argument(\n    \"--no-job-manager\",\n    action=\"store_true\",\n    help=\"Don't use the experimental job manager on top of gradio\",\n    default=False,\n)\nparser.add_argument(\n    \"--max-jobs\",\n    type=int,\n    help=\"Maximum number of concurrent 'generate' commands\",\n    default=1,\n)\nparser.add_argument(\n    \"--tiling\", action=\"store_true\", help=\"Generate tiling images\", default=False\n)\nparser.add_argument(\n    \"-v\",\n    \"--verbosity\",\n    action=\"count\",\n    default=0,\n    help=\"The default logging level is ERROR or higher. This value increases the amount of logging seen in your screen\",\n)\nparser.add_argument(\n    \"-q\",\n    \"--quiet\",\n    action=\"count\",\n    default=0,\n    help=\"The default logging level is ERROR or higher. This value decreases the amount of logging seen in your screen\",\n)\nparser.add_argument(\n    \"--bridge\",\n    action=\"store_true\",\n    help=\"don't launch web server, but make this instance into a Horde bridge.\",\n    default=False,\n)\nparser.add_argument(\n    \"--horde_api_key\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The API key corresponding to the owner of this Horde instance\",\n)\nparser.add_argument(\n    \"--horde_name\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The server name for the Horde. It will be shown to the world and there can be only one.\",\n)\nparser.add_argument(\n    \"--horde_url\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The SH Horde URL. Where the bridge will pickup prompts and send the finished generations.\",\n)\nparser.add_argument(\n    \"--horde_priority_usernames\",\n    type=str,\n    action=\"append\",\n    required=False,\n    help=\"Usernames which get priority use in this horde instance. The owner's username is always in this list.\",\n)\nparser.add_argument(\n    \"--horde_max_power\",\n    type=int,\n    required=False,\n    help=\"How much power this instance has to generate pictures. Min: 2\",\n)\nparser.add_argument(\n    \"--horde_sfw\",\n    action=\"store_true\",\n    required=False,\n    help=\"Set to true if you do not want this worker generating NSFW images.\",\n)\nparser.add_argument(\n    \"--horde_blacklist\",\n    nargs=\"+\",\n    required=False,\n    help=\"List the words that you want to blacklist.\",\n)\nparser.add_argument(\n    \"--horde_censorlist\",\n    nargs=\"+\",\n    required=False,\n    help=\"List the words that you want to censor.\",\n)\nparser.add_argument(\n    \"--horde_censor_nsfw\",\n    action=\"store_true\",\n    required=False,\n    help=\"Set to true if you want this bridge worker to censor NSFW images.\",\n)\nopt = parser.parse_args()\n\n# Should not be needed anymore\n# os.environ[\"CUDA_DEVICE_ORDER\"]=\"PCI_BUS_ID\"   # see issue #152\n# all selected gpus, can probably be done nicer\n# if opt.extra_models_gpu:\n#    gpus = set([opt.gpu, opt.esrgan_gpu, opt.gfpgan_gpu])\n#    os.environ[\"CUDA_VISIBLE_DEVICES\"] = ','.join(str(g) for g in set(gpus))\n# else:\n#    os.environ[\"CUDA_VISIBLE_DEVICES\"] = str(opt.gpu)\n\nimport gradio as gr\nimport k_diffusion as K\nimport math\nimport mimetypes\nimport numpy as np\nimport pynvml\nimport random\nimport threading, asyncio\nimport time\nimport torch\nimport torch.nn as nn\nimport yaml\nimport copy\nfrom typing import List, Union, Callable\nfrom pathlib import Path\nfrom collections import namedtuple\nfrom functools import partial\n\n# tell the user which GPU the code is actually using\nif os.getenv(\"SD_WEBUI_DEBUG\", \"False\").lower() in (\"true\", \"1\", \"y\"):\n    gpu_in_use = opt.gpu\n    # prioritize --esrgan-gpu and --gfpgan-gpu over --gpu, as stated in the option info\n    if opt.esrgan_gpu != opt.gpu:\n        gpu_in_use = opt.esrgan_gpu\n    elif opt.gfpgan_gpu != opt.gpu:\n        gpu_in_use = opt.gfpgan_gpu\n    print(\n        \"Starting on GPU {selected_gpu_name}\".format(\n            selected_gpu_name=torch.cuda.get_device_name(gpu_in_use)\n        )\n    )\n\nfrom contextlib import nullcontext\nfrom einops import rearrange, repeat\nfrom itertools import islice\nfrom omegaconf import OmegaConf\nfrom PIL import Image, ImageFont, ImageDraw, ImageFilter, ImageOps, ImageChops\nfrom io import BytesIO\nimport base64\nimport re\nfrom torch import autocast\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom ldm.models.diffusion.plms import PLMSSampler\nfrom ldm.util import instantiate_from_config\n\n\n# add global options to models\ndef patch_conv(**patch):\n    cls = torch.nn.Conv2d\n    init = cls.__init__\n\n    def __init__(self, *args, **kwargs):\n        return init(self, *args, **kwargs, **patch)\n\n    cls.__init__ = __init__\n\n\nif opt.tiling:\n    patch_conv(padding_mode=\"circular\")\n    print(\"patched for tiling\")\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\nfrom diffusers.pipelines.stable_diffusion.safety_checker import (\n    StableDiffusionSafetyChecker,\n)\nfrom transformers import AutoFeatureExtractor\n\n# load safety model\nsafety_model_id = \"CompVis/stable-diffusion-safety-checker\"\nsafety_feature_extractor = None\nsafety_checker = None\n\n# this is a fix for Windows users. Without it, javascript files will be served with text/html content-type and the bowser will not show any UI\nmimetypes.init()\nmimetypes.add_type(\"application/javascript\", \".js\")\n\n# some of those options should not be changed at all because they would break the model, so I removed them from options.\nopt_C = 4\nopt_f = 8\n\nLANCZOS = Image.Resampling.LANCZOS if hasattr(Image, \"Resampling\") else Image.LANCZOS\ninvalid_filename_chars = '<>:\"/\\|?*\\n'\n\nGFPGAN_dir = opt.gfpgan_dir\nRealESRGAN_dir = opt.realesrgan_dir\nLDSR_dir = opt.ldsr_dir\n\nif opt.optimized_turbo:\n    opt.optimized = True\n\nif opt.no_job_manager:\n    job_manager = None\nelse:\n    job_manager = JobManager(opt.max_jobs)\n    opt.max_jobs += 1  # Leave a free job open for button clicks\n\n# should probably be moved to a settings menu in the UI at some point\ngrid_format = [s.lower() for s in opt.grid_format.split(\":\")]\ngrid_lossless = False\ngrid_quality = 100\nif grid_format[0] == \"png\":\n    grid_ext = \"png\"\n    grid_format = \"png\"\nelif grid_format[0] in [\"jpg\", \"jpeg\"]:\n    grid_quality = int(grid_format[1]) if len(grid_format) > 1 else 100\n    grid_ext = \"jpg\"\n    grid_format = \"jpeg\"\nelif grid_format[0] == \"webp\":\n    grid_quality = int(grid_format[1]) if len(grid_format) > 1 else 100\n    grid_ext = \"webp\"\n    grid_format = \"webp\"\n    if grid_quality < 0:  # e.g. webp:-100 for lossless mode\n        grid_lossless = True\n        grid_quality = abs(grid_quality)\n\n\ndef chunk(it, size):\n    it = iter(it)\n    return iter(lambda: tuple(islice(it, size)), ())\n\n\ndef load_model_from_config(config, ckpt, verbose=False):\n    print(f\"Loading model from {ckpt}\")\n    pl_sd = torch.load(ckpt, map_location=\"cpu\")\n    if \"global_step\" in pl_sd:\n        print(f\"Global Step: {pl_sd['global_step']}\")\n    sd = pl_sd[\"state_dict\"]\n    model = instantiate_from_config(config.model)\n    m, u = model.load_state_dict(sd, strict=False)\n    if len(m) > 0 and verbose:\n        print(\"missing keys:\")\n        print(m)\n    if len(u) > 0 and verbose:\n        print(\"unexpected keys:\")\n        print(u)\n\n    model.cuda()\n    model.eval()\n    return model\n\n\ndef load_sd_from_config(ckpt, verbose=False):\n    print(f\"Loading model from {ckpt}\")\n    pl_sd = torch.load(ckpt, map_location=\"cpu\")\n    if \"global_step\" in pl_sd:\n        print(f\"Global Step: {pl_sd['global_step']}\")\n    sd = pl_sd[\"state_dict\"]\n    return sd\n\n\ndef crash(e, s):\n    global model\n    global device\n\n    print(s, \"\\n\", e)\n    try:\n        del model\n        del device\n    except:\n        try:\n            del device\n        except:\n            pass\n        pass\n\n    print(\"exiting...calling os._exit(0)\")\n    t = threading.Timer(0.25, os._exit, args=[0])\n    t.start()\n\n\nclass MemUsageMonitor(threading.Thread):\n    stop_flag = False\n    max_usage = 0\n    total = -1\n\n    def __init__(self, name):\n        threading.Thread.__init__(self)\n        self.name = name\n\n    def run(self):\n        try:\n            pynvml.nvmlInit()\n        except:\n            print(\n                f\"[{self.name}] Unable to initialize NVIDIA management. No memory stats. \\n\"\n            )\n            return\n        print(f\"[{self.name}] Recording max memory usage...\\n\")\n        # check if we're using a scoped-down GPU environment (pynvml does not listen to CUDA_VISIBLE_DEVICES)\n        # so that we can measure memory on the correct GPU\n        try:\n            isinstance(int(os.environ[\"CUDA_VISIBLE_DEVICES\"]), int)\n            handle = pynvml.nvmlDeviceGetHandleByIndex(\n                int(os.environ[\"CUDA_VISIBLE_DEVICES\"])\n            )\n        except (KeyError, ValueError) as pynvmlHandleError:\n            if os.getenv(\"SD_WEBUI_DEBUG\", \"False\").lower() in (\"true\", \"1\", \"y\"):\n                print(\"[MemMon][WARNING]\", pynvmlHandleError)\n                print(\n                    \"[MemMon][INFO]\",\n                    \"defaulting to monitoring memory on the default gpu (set via --gpu flag)\",\n                )\n            handle = pynvml.nvmlDeviceGetHandleByIndex(opt.gpu)\n        self.total = pynvml.nvmlDeviceGetMemoryInfo(handle).total\n        while not self.stop_flag:\n            m = pynvml.nvmlDeviceGetMemoryInfo(handle)\n            self.max_usage = max(self.max_usage, m.used)\n            # print(self.max_usage)\n            time.sleep(0.1)\n        print(f\"[{self.name}] Stopped recording.\\n\")\n        pynvml.nvmlShutdown()\n\n    def read(self):\n        return self.max_usage, self.total\n\n    def stop(self):\n        self.stop_flag = True\n\n    def read_and_stop(self):\n        self.stop_flag = True\n        return self.max_usage, self.total\n\n\nclass CFGMaskedDenoiser(nn.Module):\n    def __init__(self, model):\n        super().__init__()\n        self.inner_model = model\n\n    def forward(self, x, sigma, uncond, cond, cond_scale, mask, x0, xi):\n        x_in = x\n        x_in = torch.cat([x_in] * 2)\n        sigma_in = torch.cat([sigma] * 2)\n        cond_in = torch.cat([uncond, cond])\n        uncond, cond = self.inner_model(x_in, sigma_in, cond=cond_in).chunk(2)\n        denoised = uncond + (cond - uncond) * cond_scale\n\n        if mask is not None:\n            assert x0 is not None\n            img_orig = x0\n            mask_inv = 1.0 - mask\n            denoised = (img_orig * mask_inv) + (mask * denoised)\n\n        return denoised\n\n\nclass CFGDenoiser(nn.Module):\n    def __init__(self, model):\n        super().__init__()\n        self.inner_model = model\n\n    def forward(self, x, sigma, uncond, cond, cond_scale):\n        x_in = torch.cat([x] * 2)\n        sigma_in = torch.cat([sigma] * 2)\n        cond_in = torch.cat([uncond, cond])\n        uncond, cond = self.inner_model(x_in, sigma_in, cond=cond_in).chunk(2)\n        return uncond + (cond - uncond) * cond_scale\n\n\nclass KDiffusionSampler:\n    def __init__(self, m, sampler):\n        self.model = m\n        self.model_wrap = K.external.CompVisDenoiser(m)\n        self.schedule = sampler\n\n    def get_sampler_name(self):\n        return self.schedule\n\n    def sample(\n        self,\n        S,\n        conditioning,\n        batch_size,\n        shape,\n        verbose,\n        unconditional_guidance_scale,\n        unconditional_conditioning,\n        eta,\n        x_T,\n        img_callback: Callable = None,\n    ):\n        sigmas = self.model_wrap.get_sigmas(S)\n        x = x_T * sigmas[0]\n        model_wrap_cfg = CFGDenoiser(self.model_wrap)\n\n        samples_ddim = K.sampling.__dict__[f\"sample_{self.schedule}\"](\n            model_wrap_cfg,\n            x,\n            sigmas,\n            extra_args={\n                \"cond\": conditioning,\n                \"uncond\": unconditional_conditioning,\n                \"cond_scale\": unconditional_guidance_scale,\n            },\n            disable=False,\n            callback=partial(KDiffusionSampler.img_callback_wrapper, img_callback),\n        )\n\n        return samples_ddim, None\n\n    @classmethod\n    def img_callback_wrapper(cls, callback: Callable, *args):\n        \"\"\"Converts a KDiffusion callback to the standard img_callback\"\"\"\n        if callback:\n            arg_dict = args[0]\n            callback(image_sample=arg_dict[\"denoised\"], iter_num=arg_dict[\"i\"])\n\n\ndef create_random_tensors(shape, seeds):\n    xs = []\n    for seed in seeds:\n        torch.manual_seed(seed)\n\n        # randn results depend on device; gpu and cpu get different results for same seed;\n        # the way I see it, it's better to do this on CPU, so that everyone gets same result;\n        # but the original script had it like this so i do not dare change it for now because\n        # it will break everyone's seeds.\n        xs.append(torch.randn(shape, device=device))\n    x = torch.stack(xs)\n    return x\n\n\ndef torch_gc():\n    torch.cuda.empty_cache()\n    torch.cuda.ipc_collect()\n\n\ndef load_LDSR(checking=False):\n    model_name = \"model\"\n    yaml_name = \"project\"\n    model_path = os.path.join(LDSR_dir, model_name + \".ckpt\")\n    yaml_path = os.path.join(LDSR_dir, yaml_name + \".yaml\")\n    if not os.path.isfile(model_path):\n        raise Exception(\"LDSR model not found at path \" + model_path)\n    if not os.path.isfile(yaml_path):\n        raise Exception(\"LDSR model not found at path \" + yaml_path)\n    if checking is True:\n        return True\n\n    sys.path.append(os.path.abspath(LDSR_dir))\n    from LDSR import LDSR\n\n    LDSRObject = LDSR(model_path, yaml_path)\n    return LDSRObject\n\n\ndef load_GFPGAN(checking=False):\n    model_name = \"GFPGANv1.3\"\n    model_path = os.path.join(GFPGAN_dir, model_name + \".pth\")\n    if not os.path.isfile(model_path):\n        raise Exception(\"GFPGAN model not found at path \" + model_path)\n    if checking is True:\n        return True\n    sys.path.append(os.path.abspath(GFPGAN_dir))\n    from gfpgan import GFPGANer\n\n    if opt.gfpgan_cpu or opt.extra_models_cpu:\n        instance = GFPGANer(\n            model_path=model_path,\n            upscale=1,\n            arch=\"clean\",\n            channel_multiplier=2,\n            bg_upsampler=None,\n            device=torch.device(\"cpu\"),\n        )\n    elif opt.extra_models_gpu:\n        instance = GFPGANer(\n            model_path=model_path,\n            upscale=1,\n            arch=\"clean\",\n            channel_multiplier=2,\n            bg_upsampler=None,\n            device=torch.device(f\"cuda:{opt.gfpgan_gpu}\"),\n        )\n    else:\n        instance = GFPGANer(\n            model_path=model_path,\n            upscale=1,\n            arch=\"clean\",\n            channel_multiplier=2,\n            bg_upsampler=None,\n            device=torch.device(f\"cuda:{opt.gpu}\"),\n        )\n    return instance\n\n\ndef load_RealESRGAN(model_name: str, checking=False):\n    from basicsr.archs.rrdbnet_arch import RRDBNet\n\n    RealESRGAN_models = {\n        \"RealESRGAN_x4plus\": RRDBNet(\n            num_in_ch=3,\n            num_out_ch=3,\n            num_feat=64,\n            num_block=23,\n            num_grow_ch=32,\n            scale=4,\n        ),\n        \"RealESRGAN_x4plus_anime_6B\": RRDBNet(\n            num_in_ch=3, num_out_ch=3, num_feat=64, num_block=6, num_grow_ch=32, scale=4\n        ),\n    }\n\n    model_path = os.path.join(RealESRGAN_dir, model_name + \".pth\")\n    if not os.path.isfile(model_path):\n        raise Exception(model_name + \".pth not found at path \" + model_path)\n    if checking is True:\n        return True\n    sys.path.append(os.path.abspath(RealESRGAN_dir))\n    from realesrgan import RealESRGANer\n\n    if opt.esrgan_cpu or opt.extra_models_cpu:\n        instance = RealESRGANer(\n            scale=2,\n            model_path=model_path,\n            model=RealESRGAN_models[model_name],\n            pre_pad=0,\n            half=False,\n        )  # cpu does not support half\n        instance.device = torch.device(\"cpu\")\n        instance.model.to(\"cpu\")\n    elif opt.extra_models_gpu:\n        instance = RealESRGANer(\n            scale=2,\n            model_path=model_path,\n            model=RealESRGAN_models[model_name],\n            pre_pad=0,\n            half=not opt.no_half,\n            gpu_id=opt.esrgan_gpu,\n        )\n    else:\n        instance = RealESRGANer(\n            scale=2,\n            model_path=model_path,\n            model=RealESRGAN_models[model_name],\n            pre_pad=0,\n            half=not opt.no_half,\n        )\n    instance.model.name = model_name\n    return instance\n\n\nGFPGAN = None\nif os.path.exists(GFPGAN_dir):\n    try:\n        GFPGAN = load_GFPGAN(checking=True)\n        print(\"Found GFPGAN\")\n    except Exception:\n        import traceback\n\n        print(\"Error loading GFPGAN:\", file=sys.stderr)\n        print(traceback.format_exc(), file=sys.stderr)\n\nRealESRGAN = None\n\n\ndef try_loading_RealESRGAN(model_name: str, checking=False):\n    global RealESRGAN\n    if os.path.exists(RealESRGAN_dir):\n        try:\n            RealESRGAN = load_RealESRGAN(\n                model_name, checking\n            )  # TODO: Should try to load both models before giving up\n            if checking is True:\n                print(\"Found RealESRGAN\")\n                return True\n            print(\"Loaded RealESRGAN with model \" + RealESRGAN.model.name)\n        except Exception:\n            import traceback\n\n            print(\"Error loading RealESRGAN:\", file=sys.stderr)\n            print(traceback.format_exc(), file=sys.stderr)\n\n\ntry_loading_RealESRGAN(\"RealESRGAN_x4plus\", checking=True)\n\nLDSR = None\n\n\ndef try_loading_LDSR(model_name: str, checking=False):\n    global LDSR\n    if os.path.exists(LDSR_dir):\n        try:\n            LDSR = load_LDSR(\n                checking=True\n            )  # TODO: Should try to load both models before giving up\n            if checking is True:\n                print(\"Found LDSR\")\n                return True\n            print(\"Latent Diffusion Super Sampling (LDSR) model loaded\")\n        except Exception:\n            import traceback\n\n            print(\"Error loading LDSR:\", file=sys.stderr)\n            print(traceback.format_exc(), file=sys.stderr)\n    else:\n        print(\n            \"LDSR not found at path, please make sure you have cloned the LDSR repo to ./models/ldsr/\"\n        )\n\n\ntry_loading_LDSR(\"model\", checking=True)\n\n\ndef load_SD_model():\n    if opt.optimized:\n        sd = load_sd_from_config(opt.ckpt)\n        li, lo = [], []\n        for key, v_ in sd.items():\n            sp = key.split(\".\")\n            if (sp[0]) == \"model\":\n                if \"input_blocks\" in sp:\n                    li.append(key)\n                elif \"middle_block\" in sp:\n                    li.append(key)\n                elif \"time_embed\" in sp:\n                    li.append(key)\n                else:\n                    lo.append(key)\n        for key in li:\n            sd[\"model1.\" + key[6:]] = sd.pop(key)\n        for key in lo:\n            sd[\"model2.\" + key[6:]] = sd.pop(key)\n\n        config = OmegaConf.load(\"optimizedSD/v1-inference.yaml\")\n        device = (\n            torch.device(f\"cuda:{opt.gpu}\")\n            if torch.cuda.is_available()\n            else torch.device(\"cpu\")\n        )\n\n        model = instantiate_from_config(config.modelUNet)\n        _, _ = model.load_state_dict(sd, strict=False)\n        model.cuda()\n        model.eval()\n        model.turbo = opt.optimized_turbo\n\n        modelCS = instantiate_from_config(config.modelCondStage)\n        _, _ = modelCS.load_state_dict(sd, strict=False)\n        modelCS.cond_stage_model.device = device\n        modelCS.eval()\n\n        modelFS = instantiate_from_config(config.modelFirstStage)\n        _, _ = modelFS.load_state_dict(sd, strict=False)\n        modelFS.eval()\n\n        del sd\n\n        if not opt.no_half:\n            model = model.half()\n            modelCS = modelCS.half()\n            modelFS = modelFS.half()\n        return model, modelCS, modelFS, device, config\n    else:\n        config = OmegaConf.load(opt.config)\n        model = load_model_from_config(config, opt.ckpt)\n\n        device = (\n            torch.device(f\"cuda:{opt.gpu}\")\n            if torch.cuda.is_available()\n            else torch.device(\"cpu\")\n        )\n        model = (model if opt.no_half else model.half()).to(device)\n    return model, device, config\n\n\nif opt.optimized:\n    model, modelCS, modelFS, device, config = load_SD_model()\nelse:\n    model, device, config = load_SD_model()\n\n\ndef load_embeddings(fp):\n    if fp is not None and hasattr(model, \"embedding_manager\"):\n        model.embedding_manager.load(fp.name)\n\n\ndef get_font(fontsize):\n    fonts = [\"arial.ttf\", \"DejaVuSans.ttf\"]\n    for font_name in fonts:\n        try:\n            return ImageFont.truetype(font_name, fontsize)\n        except OSError:\n            pass\n\n    # ImageFont.load_default() is practically unusable as it only supports\n    # latin1, so raise an exception instead if no usable font was found\n    raise Exception(f\"No usable font found (tried {', '.join(fonts)})\")\n\n\ndef image_grid(imgs, batch_size, force_n_rows=None, captions=None):\n    if force_n_rows is not None:\n        rows = force_n_rows\n    elif opt.n_rows > 0:\n        rows = opt.n_rows\n    elif opt.n_rows == 0:\n        rows = batch_size\n    else:\n        rows = math.sqrt(len(imgs))\n        rows = round(rows)\n\n    cols = math.ceil(len(imgs) / rows)\n\n    w, h = imgs[0].size\n    grid = Image.new(\"RGB\", size=(cols * w, rows * h), color=\"black\")\n\n    fnt = get_font(30)\n\n    for i, img in enumerate(imgs):\n        grid.paste(img, box=(i % cols * w, i // cols * h))\n        if captions and i < len(captions):\n            d = ImageDraw.Draw(grid)\n            size = d.textbbox(\n                (0, 0), captions[i], font=fnt, stroke_width=2, align=\"center\"\n            )\n            d.multiline_text(\n                (i % cols * w + w / 2, i // cols * h + h - size[3]),\n                captions[i],\n                font=fnt,\n                fill=(255, 255, 255),\n                stroke_width=2,\n                stroke_fill=(0, 0, 0),\n                anchor=\"mm\",\n                align=\"center\",\n            )\n\n    return grid\n\n\ndef seed_to_int(s):\n    if type(s) is int:\n        return s\n    if s is None or s == \"\":\n        return random.randint(0, 2**32 - 1)\n    n = abs(int(s) if s.isdigit() else random.Random(s).randint(0, 2**32 - 1))\n    while n >= 2**32:\n        n = n >> 32\n    return n\n\n\ndef draw_prompt_matrix(im, width, height, all_prompts):\n    def wrap(text, d, font, line_length):\n        lines = [\"\"]\n        for word in text.split():\n            line = f\"{lines[-1]} {word}\".strip()\n            if d.textlength(line, font=font) <= line_length:\n                lines[-1] = line\n            else:\n                lines.append(word)\n        return \"\\n\".join(lines)\n\n    def draw_texts(pos, x, y, texts, sizes):\n        for i, (text, size) in enumerate(zip(texts, sizes)):\n            active = pos & (1 << i) != 0\n\n            if not active:\n                text = \"\\u0336\".join(text) + \"\\u0336\"\n\n            d.multiline_text(\n                (x, y + size[1] / 2),\n                text,\n                font=fnt,\n                fill=color_active if active else color_inactive,\n                anchor=\"mm\",\n                align=\"center\",\n            )\n\n            y += size[1] + line_spacing\n\n    fontsize = (width + height) // 25\n    line_spacing = fontsize // 2\n    fnt = get_font(fontsize)\n    color_active = (0, 0, 0)\n    color_inactive = (153, 153, 153)\n\n    pad_top = height // 4\n    pad_left = width * 3 // 4 if len(all_prompts) > 2 else 0\n\n    cols = im.width // width\n    rows = im.height // height\n\n    prompts = all_prompts[1:]\n\n    result = Image.new(\"RGB\", (im.width + pad_left, im.height + pad_top), \"white\")\n    result.paste(im, (pad_left, pad_top))\n\n    d = ImageDraw.Draw(result)\n\n    boundary = math.ceil(len(prompts) / 2)\n    prompts_horiz = [wrap(x, d, fnt, width) for x in prompts[:boundary]]\n    prompts_vert = [wrap(x, d, fnt, pad_left) for x in prompts[boundary:]]\n\n    sizes_hor = [\n        (x[2] - x[0], x[3] - x[1])\n        for x in [d.multiline_textbbox((0, 0), x, font=fnt) for x in prompts_horiz]\n    ]\n    sizes_ver = [\n        (x[2] - x[0], x[3] - x[1])\n        for x in [d.multiline_textbbox((0, 0), x, font=fnt) for x in prompts_vert]\n    ]\n    hor_text_height = sum([x[1] + line_spacing for x in sizes_hor]) - line_spacing\n    ver_text_height = sum([x[1] + line_spacing for x in sizes_ver]) - line_spacing\n\n    for col in range(cols):\n        x = pad_left + width * col + width / 2\n        y = pad_top / 2 - hor_text_height / 2\n\n        draw_texts(col, x, y, prompts_horiz, sizes_hor)\n\n    for row in range(rows):\n        x = pad_left / 2\n        y = pad_top + height * row + height / 2 - ver_text_height / 2\n\n        draw_texts(row, x, y, prompts_vert, sizes_ver)\n\n    return result\n\n\ndef check_prompt_length(prompt, comments):\n    \"\"\"this function tests if prompt is too long, and if so, adds a message to comments\"\"\"\n\n    tokenizer = (model if not opt.optimized else modelCS).cond_stage_model.tokenizer\n    max_length = (model if not opt.optimized else modelCS).cond_stage_model.max_length\n\n    info = (model if not opt.optimized else modelCS).cond_stage_model.tokenizer(\n        [prompt],\n        truncation=True,\n        max_length=max_length,\n        return_overflowing_tokens=True,\n        padding=\"max_length\",\n        return_tensors=\"pt\",\n    )\n    ovf = info[\"overflowing_tokens\"][0]\n    overflowing_count = ovf.shape[0]\n    if overflowing_count == 0:\n        return\n\n    vocab = {v: k for k, v in tokenizer.get_vocab().items()}\n    overflowing_words = [vocab.get(int(x), \"\") for x in ovf]\n    overflowing_text = tokenizer.convert_tokens_to_string(\"\".join(overflowing_words))\n\n    comments.append(\n        f\"Warning: too many input tokens; some ({len(overflowing_words)}) have been truncated:\\n{overflowing_text}\\n\"\n    )\n\n\ndef save_sample(\n    image,\n    sample_path_i,\n    filename,\n    jpg_sample,\n    write_info_files,\n    write_sample_info_to_log_file,\n    prompt_matrix,\n    init_img,\n    uses_loopback,\n    uses_random_seed_loopback,\n    skip_save,\n    skip_grid,\n    sort_samples,\n    sampler_name,\n    ddim_eta,\n    n_iter,\n    batch_size,\n    i,\n    denoising_strength,\n    resize_mode,\n    skip_metadata=False,\n):\n    \"\"\"saves the image according to selected parameters. Expects to find generation parameters on image, set by ImageMetadata.set_on_image()\"\"\"\n    metadata = ImageMetadata.get_from_image(image)\n    if not skip_metadata and metadata is None:\n        print(\n            \"No metadata passed in to save. Set metadata on the image before calling save_sample using the ImageMetadata.set_on_image() function.\"\n        )\n        skip_metadata = True\n    filename_i = os.path.join(sample_path_i, filename)\n    if not jpg_sample:\n        if opt.save_metadata and not skip_metadata:\n            image.save(f\"{filename_i}.png\", pnginfo=metadata.as_png_info())\n        else:\n            image.save(f\"{filename_i}.png\")\n    else:\n        image.save(f\"{filename_i}.jpg\", \"jpeg\", quality=100, optimize=True)\n    if write_info_files or write_sample_info_to_log_file:\n        # toggles differ for txt2img vs. img2img:\n        offset = 0 if init_img is None else 2\n        toggles = []\n        if prompt_matrix:\n            toggles.append(0)\n        if metadata.normalize_prompt_weights:\n            toggles.append(1)\n        if init_img is not None:\n            if uses_loopback:\n                toggles.append(2)\n            if uses_random_seed_loopback:\n                toggles.append(3)\n        if not skip_save:\n            toggles.append(2 + offset)\n        if not skip_grid:\n            toggles.append(3 + offset)\n        if sort_samples:\n            toggles.append(4 + offset)\n        if write_info_files:\n            toggles.append(5 + offset)\n        if write_sample_info_to_log_file:\n            toggles.append(6 + offset)\n        if metadata.GFPGAN:\n            toggles.append(7 + offset)\n\n        info_dict = dict(\n            target=\"txt2img\" if init_img is None else \"img2img\",\n            prompt=metadata.prompt,\n            ddim_steps=metadata.steps,\n            toggles=toggles,\n            sampler_name=sampler_name,\n            ddim_eta=ddim_eta,\n            n_iter=n_iter,\n            batch_size=batch_size,\n            cfg_scale=metadata.cfg_scale,\n            seed=metadata.seed,\n            width=metadata.width,\n            height=metadata.height,\n        )\n        if init_img is not None:\n            # Not yet any use for these, but they bloat up the files:\n            # info_dict[\"init_img\"] = init_img\n            # info_dict[\"init_mask\"] = init_mask\n            info_dict[\"denoising_strength\"] = denoising_strength\n            info_dict[\"resize_mode\"] = resize_mode\n        if write_info_files:\n            with open(f\"{filename_i}.yaml\", \"w\", encoding=\"utf8\") as f:\n                yaml.dump(info_dict, f, allow_unicode=True, width=10000)\n\n        if write_sample_info_to_log_file:\n            ignore_list = [\"prompt\", \"target\", \"toggles\", \"ddim_eta\", \"batch_size\"]\n            rename_dict = {\n                \"ddim_steps\": \"steps\",\n                \"n_iter\": \"number\",\n                \"sampler_name\": \"sampler\",\n            }  # changes the name of parameters to match with dynamic parameters\n            sample_log_path = os.path.join(sample_path_i, \"log.yaml\")\n            log_dump = info_dict.get(\n                \"prompt\"\n            )  # making sure the first item that is listed in the txt is the prompt text\n            for key, value in info_dict.items():\n                if key in ignore_list:\n                    continue\n                found_key = rename_dict.get(key)\n\n                if (\n                    key == \"cfg_scale\"\n                ):  # adds zeros to to cfg_scale necessary for dynamic params\n                    value = str(value).zfill(2)\n\n                if found_key:\n                    key = found_key\n                log_dump += f\" {key} {value}\"\n\n            log_dump = (\n                log_dump + \" \\n\"\n            )  # space at the end for dynamic params to accept the last param\n            with open(sample_log_path, \"a\", encoding=\"utf8\") as log_file:\n                log_file.write(log_dump)\n\n\ndef get_next_sequence_number(path, prefix=\"\"):\n    \"\"\"\n    Determines and returns the next sequence number to use when saving an\n    image in the specified directory.\n\n    If a prefix is given, only consider files whose names start with that\n    prefix, and strip the prefix from filenames before extracting their\n    sequence number.\n\n    The sequence starts at 0.\n    \"\"\"\n    # Because when running in bridge-mode, we do not have a dir\n    if opt.bridge:\n        return 0\n    result = -1\n    for p in Path(path).iterdir():\n        if p.name.endswith((\".png\", \".jpg\")) and p.name.startswith(prefix):\n            tmp = p.name[len(prefix) :]\n            try:\n                result = max(int(tmp.split(\"-\")[0]), result)\n            except ValueError:\n                pass\n    return result + 1\n\n\ndef oxlamon_matrix(prompt, seed, n_iter, batch_size):\n    pattern = re.compile(r\"(,\\s){2,}\")\n\n    class PromptItem:\n        def __init__(self, text, parts, item):\n            self.text = text\n            self.parts = parts\n            if item:\n                self.parts.append(item)\n\n    def clean(txt):\n        return re.sub(pattern, \", \", txt)\n\n    def getrowcount(txt):\n        for data in re.finditer(\".*?\\\\((.*?)\\\\).*\", txt):\n            if data:\n                return len(data.group(1).split(\"|\"))\n            break\n        return None\n\n    def repliter(txt):\n        for data in re.finditer(\".*?\\\\((.*?)\\\\).*\", txt):\n            if data:\n                r = data.span(1)\n                for item in data.group(1).split(\"|\"):\n                    yield (\n                        clean(txt[: r[0] - 1] + item.strip() + txt[r[1] + 1 :]),\n                        item.strip(),\n                    )\n            break\n\n    def iterlist(items):\n        outitems = []\n        for item in items:\n            for newitem, newpart in repliter(item.text):\n                outitems.append(PromptItem(newitem, item.parts.copy(), newpart))\n\n        return outitems\n\n    def getmatrix(prompt):\n        dataitems = [PromptItem(prompt[1:].strip(), [], None)]\n        while True:\n            newdataitems = iterlist(dataitems)\n            if len(newdataitems) == 0:\n                return dataitems\n            dataitems = newdataitems\n\n    def classToArrays(items, seed, n_iter):\n        texts = []\n        parts = []\n        seeds = []\n\n        for item in items:\n            itemseed = seed\n            for i in range(n_iter):\n                texts.append(item.text)\n                parts.append(f\"Seed: {itemseed}\\n\" + \"\\n\".join(item.parts))\n                seeds.append(itemseed)\n                itemseed += 1\n\n        return seeds, texts, parts\n\n    all_seeds, all_prompts, prompt_matrix_parts = classToArrays(\n        getmatrix(prompt), seed, n_iter\n    )\n    n_iter = math.ceil(len(all_prompts) / batch_size)\n\n    needrows = getrowcount(prompt)\n    if needrows:\n        xrows = math.sqrt(len(all_prompts))\n        xrows = round(xrows)\n        # if columns is to much\n        cols = math.ceil(len(all_prompts) / xrows)\n        if cols > needrows * 4:\n            needrows *= 2\n\n    return all_seeds, n_iter, prompt_matrix_parts, all_prompts, needrows\n\n\ndef perform_masked_image_restoration(\n    image,\n    init_img,\n    init_mask,\n    mask_blur_strength,\n    mask_restore,\n    use_RealESRGAN,\n    RealESRGAN,\n):\n    if not mask_restore:\n        return image\n    else:\n        init_mask = init_mask.filter(ImageFilter.GaussianBlur(mask_blur_strength))\n        init_mask = init_mask.convert(\"L\")\n        init_img = init_img.convert(\"RGB\")\n        image = image.convert(\"RGB\")\n\n        if use_RealESRGAN and RealESRGAN is not None:\n            output, img_mode = RealESRGAN.enhance(np.array(init_mask, dtype=np.uint8))\n            init_mask = Image.fromarray(output)\n            init_mask = init_mask.convert(\"L\")\n\n            output, img_mode = RealESRGAN.enhance(np.array(init_img, dtype=np.uint8))\n            init_img = Image.fromarray(output)\n            init_img = init_img.convert(\"RGB\")\n\n        image = Image.composite(init_img, image, init_mask)\n\n        return image\n\n\ndef perform_color_correction(img_rgb, correction_target_lab, do_color_correction):\n    try:\n        from skimage import exposure\n    except:\n        print(\"Install scikit-image to perform color correction\")\n        return img_rgb\n\n    if not do_color_correction:\n        return img_rgb\n    if correction_target_lab is None:\n        return img_rgb\n\n    return Image.fromarray(\n        cv2.cvtColor(\n            exposure.match_histograms(\n                cv2.cvtColor(np.asarray(img_rgb), cv2.COLOR_RGB2LAB),\n                correction_target_lab,\n                channel_axis=2,\n            ),\n            cv2.COLOR_LAB2RGB,\n        ).astype(\"uint8\")\n    )\n\n\ndef process_images(\n    outpath,\n    func_init,\n    func_sample,\n    prompt,\n    seed,\n    sampler_name,\n    skip_grid,\n    skip_save,\n    batch_size,\n    n_iter,\n    steps,\n    cfg_scale,\n    width,\n    height,\n    prompt_matrix,\n    filter_nsfw,\n    use_GFPGAN,\n    use_RealESRGAN,\n    realesrgan_model_name,\n    fp,\n    ddim_eta=0.0,\n    do_not_save_grid=False,\n    normalize_prompt_weights=True,\n    init_img=None,\n    init_mask=None,\n    keep_mask=False,\n    mask_blur_strength=3,\n    mask_restore=False,\n    denoising_strength=0.75,\n    resize_mode=None,\n    uses_loopback=False,\n    uses_random_seed_loopback=False,\n    sort_samples=True,\n    write_info_files=True,\n    write_sample_info_to_log_file=False,\n    jpg_sample=False,\n    variant_amount=0.0,\n    variant_seed=None,\n    imgProcessorTask=False,\n    job_info: JobInfo = None,\n    do_color_correction=False,\n    correction_target=None,\n):\n    \"\"\"this is the main loop that both txt2img and img2img use; it calls func_init once inside all the scopes and func_sample once per batch\"\"\"\n\n    def numpy_to_pil(images):\n        \"\"\"\n        Convert a numpy image or a batch of images to a PIL image.\n        \"\"\"\n        if images.ndim == 3:\n            images = images[None, ...]\n        images = (images * 255).round().astype(\"uint8\")\n        pil_images = [Image.fromarray(image) for image in images]\n\n        return pil_images\n\n    # load replacement of nsfw content\n    def load_replacement(x):\n        try:\n            hwc = x.shape\n            y = Image.open(\"images/nsfw.jpeg\").convert(\"RGB\").resize((hwc[1], hwc[0]))\n            y = (np.array(y) / 255.0).astype(x.dtype)\n            assert y.shape == x.shape\n            return y\n        except Exception:\n            return x\n\n    # check and replace nsfw content\n    def check_safety(x_image):\n        global safety_feature_extractor, safety_checker\n        if safety_feature_extractor is None:\n            safety_feature_extractor = AutoFeatureExtractor.from_pretrained(\n                safety_model_id\n            )\n            safety_checker = StableDiffusionSafetyChecker.from_pretrained(\n                safety_model_id\n            )\n        safety_checker_input = safety_feature_extractor(\n            numpy_to_pil(x_image), return_tensors=\"pt\"\n        )\n        x_checked_image, has_nsfw_concept = safety_checker(\n            images=x_image, clip_input=safety_checker_input.pixel_values\n        )\n        for i in range(len(has_nsfw_concept)):\n            if has_nsfw_concept[i]:\n                x_checked_image[i] = load_replacement(x_checked_image[i])\n        return x_checked_image, has_nsfw_concept\n\n    prompt = prompt or \"\"\n    torch_gc()\n    # start time after garbage collection (or before?)\n    start_time = time.time()\n\n    mem_mon = MemUsageMonitor(\"MemMon\")\n    mem_mon.start()\n\n    if hasattr(model, \"embedding_manager\"):\n        load_embeddings(fp)\n\n    if not opt.bridge:\n        os.makedirs(outpath, exist_ok=True)\n\n    sample_path = os.path.join(outpath, \"samples\")\n    if not opt.bridge:\n        os.makedirs(sample_path, exist_ok=True)\n\n    if \"|\" not in prompt and prompt.startswith(\"@\"):\n        prompt = prompt[1:]\n\n    negprompt = \"\"\n    if \"###\" in prompt:\n        prompt, negprompt = prompt.split(\"###\", 1)\n        prompt = prompt.strip()\n        negprompt = negprompt.strip()\n\n    comments = []\n\n    prompt_matrix_parts = []\n    simple_templating = False\n    add_original_image = True\n    if prompt_matrix:\n        if prompt.startswith(\"@\"):\n            simple_templating = True\n            add_original_image = not (use_RealESRGAN or use_GFPGAN)\n            all_seeds, n_iter, prompt_matrix_parts, all_prompts, frows = oxlamon_matrix(\n                prompt, seed, n_iter, batch_size\n            )\n        else:\n            all_prompts = []\n            prompt_matrix_parts = prompt.split(\"|\")\n            combination_count = 2 ** (len(prompt_matrix_parts) - 1)\n            for combination_num in range(combination_count):\n                current = prompt_matrix_parts[0]\n\n                for n, text in enumerate(prompt_matrix_parts[1:]):\n                    if combination_num & (2**n) > 0:\n                        current += (\"\" if text.strip().startswith(\",\") else \", \") + text\n\n                all_prompts.append(current)\n\n            n_iter = math.ceil(len(all_prompts) / batch_size)\n            all_seeds = len(all_prompts) * [seed]\n\n        print(\n            f\"Prompt matrix will create {len(all_prompts)} images using a total of {n_iter} batches.\"\n        )\n    else:\n        if not opt.no_verify_input:\n            try:\n                check_prompt_length(prompt, comments)\n            except:\n                import traceback\n\n                print(\"Error verifying input:\", file=sys.stderr)\n                print(traceback.format_exc(), file=sys.stderr)\n\n        all_prompts = batch_size * n_iter * [prompt]\n        all_seeds = [seed + x for x in range(len(all_prompts))]\n    original_seeds = all_seeds.copy()\n\n    precision_scope = autocast if opt.precision == \"autocast\" else nullcontext\n    if job_info:\n        output_images = job_info.images\n    else:\n        output_images = []\n    grid_captions = []\n    stats = []\n    with torch.no_grad(), precision_scope(\"cuda\"), (\n        model.ema_scope() if not opt.optimized else nullcontext()\n    ):\n        init_data = func_init()\n        time.time()\n\n        # if variant_amount > 0.0 create noise from base seed\n        base_x = None\n        if variant_amount > 0.0:\n            target_seed_randomizer = seed_to_int(\"\")  # random seed\n            torch.manual_seed(\n                seed\n            )  # this has to be the single starting seed (not per-iteration)\n            base_x = create_random_tensors(\n                [opt_C, height // opt_f, width // opt_f], seeds=[seed]\n            )\n            # we don't want all_seeds to be sequential from starting seed with variants,\n            # since that makes the same variants each time,\n            # so we add target_seed_randomizer as a random offset\n            for si in range(len(all_seeds)):\n                all_seeds[si] += target_seed_randomizer\n\n        for n in range(n_iter):\n            if job_info and job_info.should_stop.is_set():\n                print(\"Early exit requested\")\n                break\n\n            print(f\"Iteration: {n+1}/{n_iter}\")\n            prompts = all_prompts[n * batch_size : (n + 1) * batch_size]\n            captions = prompt_matrix_parts[n * batch_size : (n + 1) * batch_size]\n            seeds = all_seeds[n * batch_size : (n + 1) * batch_size]\n            current_seeds = original_seeds[n * batch_size : (n + 1) * batch_size]\n\n            if job_info:\n                job_info.job_status = (\n                    f\"Processing Iteration {n+1}/{n_iter}. Batch size {batch_size}\"\n                )\n                job_info.rec_steps_imgs.clear()\n                for idx, (p, s) in enumerate(zip(prompts, seeds)):\n                    job_info.job_status += f\"\\nItem {idx}: Seed {s}\\nPrompt: {p}\"\n                    print(f\"Current prompt: {p}\")\n\n            if opt.optimized:\n                modelCS.to(device)\n            uc = (model if not opt.optimized else modelCS).get_learned_conditioning(\n                len(prompts) * [negprompt]\n            )\n            if isinstance(prompts, tuple):\n                prompts = list(prompts)\n\n            # split the prompt if it has : for weighting\n            # TODO for speed it might help to have this occur when all_prompts filled??\n            weighted_subprompts = split_weighted_subprompts(\n                prompts[0], normalize_prompt_weights\n            )\n\n            # sub-prompt weighting used if more than 1\n            if len(weighted_subprompts) > 1:\n                c = torch.zeros_like(\n                    uc\n                )  # i dont know if this is correct.. but it works\n                for i in range(0, len(weighted_subprompts)):\n                    # note if alpha negative, it functions same as torch.sub\n                    c = torch.add(\n                        c,\n                        (\n                            model if not opt.optimized else modelCS\n                        ).get_learned_conditioning(weighted_subprompts[i][0]),\n                        alpha=weighted_subprompts[i][1],\n                    )\n            else:  # just behave like usual\n                c = (model if not opt.optimized else modelCS).get_learned_conditioning(\n                    prompts\n                )\n\n            shape = [opt_C, height // opt_f, width // opt_f]\n\n            if opt.optimized:\n                mem = torch.cuda.memory_allocated() / 1e6\n                modelCS.to(\"cpu\")\n                while torch.cuda.memory_allocated() / 1e6 >= mem:\n                    time.sleep(1)\n\n            cur_variant_amount = variant_amount\n            if variant_amount == 0.0:\n                # we manually generate all input noises because each one should have a specific seed\n                x = create_random_tensors(shape, seeds=seeds)\n            else:  # we are making variants\n                # using variant_seed as sneaky toggle,\n                # when not None or '' use the variant_seed\n                # otherwise use seeds\n                if variant_seed is not None and variant_seed != \"\":\n                    specified_variant_seed = seed_to_int(variant_seed)\n                    torch.manual_seed(specified_variant_seed)\n                    target_x = create_random_tensors(\n                        shape, seeds=[specified_variant_seed]\n                    )\n                    # with a variant seed we would end up with the same variant as the basic seed\n                    # does not change. But we can increase the steps to get an interesting result\n                    # that shows more and more deviation of the original image and let us adjust\n                    # how far we will go (using 10 iterations with variation amount set to 0.02 will\n                    # generate an icreasingly variated image which is very interesting for movies)\n                    cur_variant_amount += n * variant_amount\n                else:\n                    target_x = create_random_tensors(shape, seeds=seeds)\n                # finally, slerp base_x noise to target_x noise for creating a variant\n                x = slerp(\n                    device, max(0.0, min(1.0, cur_variant_amount)), base_x, target_x\n                )\n\n            # If optimized then use first stage for preview and store it on cpu until needed\n            if opt.optimized:\n                step_preview_model = modelFS\n                step_preview_model.cpu()\n            else:\n                step_preview_model = model\n\n            def sample_iteration_callback(image_sample: torch.Tensor, iter_num: int):\n                \"\"\"Called from the sampler every iteration\"\"\"\n                if job_info:\n                    job_info.active_iteration_cnt = iter_num\n                    record_periodic_image = job_info.rec_steps_enabled and (\n                        0 == iter_num % job_info.rec_steps_intrvl\n                    )\n                    if (\n                        record_periodic_image\n                        or job_info.refresh_active_image_requested.is_set()\n                    ):\n                        preview_start_time = time.time()\n                        if opt.optimized:\n                            step_preview_model.to(device)\n\n                        decoded_batch: List[torch.Tensor] = []\n                        # Break up batch to save VRAM\n                        for sample in image_sample:\n                            sample = sample[\n                                None, :\n                            ]  # expands the tensor as if it still had a batch dimension\n                            decoded_sample = step_preview_model.decode_first_stage(\n                                sample\n                            )[0]\n                            decoded_sample = torch.clamp(\n                                (decoded_sample + 1.0) / 2.0, min=0.0, max=1.0\n                            )\n                            decoded_sample = decoded_sample.cpu()\n                            decoded_batch.append(decoded_sample)\n\n                        batch_size = len(decoded_batch)\n\n                        if opt.optimized:\n                            step_preview_model.cpu()\n\n                        images: List[Image.Image] = []\n                        # Convert tensor to image (copied from code below)\n                        for ddim in decoded_batch:\n                            x_sample = 255.0 * rearrange(ddim.numpy(), \"c h w -> h w c\")\n                            x_sample = x_sample.astype(np.uint8)\n                            image = Image.fromarray(x_sample)\n                            images.append(image)\n\n                        caption = f\"Iter {iter_num}\"\n                        grid = image_grid(\n                            images,\n                            len(images),\n                            force_n_rows=1,\n                            captions=[caption] * len(images),\n                        )\n\n                        # Save the images if recording steps, and append existing saved steps\n                        if job_info.rec_steps_enabled:\n                            gallery_img_size = tuple(\n                                int(0.25 * dim) for dim in images[0].size\n                            )\n                            job_info.rec_steps_imgs.append(\n                                grid.resize(gallery_img_size)\n                            )\n\n                        # Notify the requester that the image is updated\n                        if job_info.refresh_active_image_requested.is_set():\n                            if job_info.rec_steps_enabled:\n                                grid_rows = (\n                                    None\n                                    if batch_size == 1\n                                    else len(job_info.rec_steps_imgs)\n                                )\n                                grid = image_grid(\n                                    imgs=job_info.rec_steps_imgs[::-1],\n                                    batch_size=1,\n                                    force_n_rows=grid_rows,\n                                )\n                            job_info.active_image = grid\n                            job_info.refresh_active_image_done.set()\n                            job_info.refresh_active_image_requested.clear()\n\n                        preview_elapsed_timed = time.time() - preview_start_time\n                        if preview_elapsed_timed / job_info.rec_steps_intrvl > 1:\n                            print(\n                                f\"Warning: Preview generation is slowing image generation. It took {preview_elapsed_timed:.2f}s to generate progress images for batch of {batch_size} images!\"\n                            )\n\n                    # Interrupt current iteration?\n                    if job_info.stop_cur_iter.is_set():\n                        job_info.stop_cur_iter.clear()\n                        raise StopIteration()\n\n            try:\n                samples_ddim = func_sample(\n                    init_data=init_data,\n                    x=x,\n                    conditioning=c,\n                    unconditional_conditioning=uc,\n                    sampler_name=sampler_name,\n                    img_callback=sample_iteration_callback,\n                )\n            except StopIteration:\n                print(\"Skipping iteration\")\n                job_info.job_status = \"Skipping iteration\"\n                continue\n\n            if opt.optimized:\n                modelFS.to(device)\n\n            for i in range(len(samples_ddim)):\n                x_samples_ddim = (\n                    model if not opt.optimized else modelFS\n                ).decode_first_stage(samples_ddim[i].unsqueeze(0))\n                x_sample = torch.clamp((x_samples_ddim + 1.0) / 2.0, min=0.0, max=1.0)\n\n                if filter_nsfw:\n                    x_samples_ddim_numpy = x_sample.cpu().permute(0, 2, 3, 1).numpy()\n                    x_checked_image, has_nsfw_concept = check_safety(\n                        x_samples_ddim_numpy\n                    )\n                    x_sample = torch.from_numpy(x_checked_image).permute(0, 3, 1, 2)\n\n                sanitized_prompt = (\n                    prompts[i]\n                    .replace(\" \", \"_\")\n                    .translate({ord(x): \"\" for x in invalid_filename_chars})\n                )\n                if variant_seed is not None and variant_seed != \"\":\n                    if variant_amount == 0.0:\n                        seed_used = f\"{current_seeds[i]}-{variant_seed}\"\n                    else:\n                        seed_used = f\"{seed}-{variant_seed}\"\n                else:\n                    seed_used = f\"{current_seeds[i]}\"\n                if sort_samples:\n                    sanitized_prompt = sanitized_prompt[:128]  # 200 is too long\n                    sample_path_i = os.path.join(sample_path, sanitized_prompt)\n                    if not opt.bridge:\n                        os.makedirs(sample_path_i, exist_ok=True)\n                    base_count = get_next_sequence_number(sample_path_i)\n                    filename = (\n                        opt.filename_format\n                        or \"[STEPS]_[SAMPLER]_[SEED]_[VARIANT_AMOUNT]\"\n                    )\n                else:\n                    sample_path_i = sample_path\n                    base_count = get_next_sequence_number(sample_path_i)\n                    filename = (\n                        opt.filename_format\n                        or \"[STEPS]_[SAMPLER]_[SEED]_[VARIANT_AMOUNT]_[PROMPT]\"\n                    )\n\n                # Add new filenames tags here\n                filename = f\"{base_count:05}-\" + filename\n                filename = filename.replace(\"[STEPS]\", str(steps))\n                filename = filename.replace(\"[CFG]\", str(cfg_scale))\n                filename = filename.replace(\"[PROMPT]\", sanitized_prompt[:128])\n                filename = filename.replace(\n                    \"[PROMPT_SPACES]\",\n                    prompts[i].translate({ord(x): \"\" for x in invalid_filename_chars})[\n                        :128\n                    ],\n                )\n                filename = filename.replace(\"[WIDTH]\", str(width))\n                filename = filename.replace(\"[HEIGHT]\", str(height))\n                filename = filename.replace(\"[SAMPLER]\", sampler_name)\n                filename = filename.replace(\"[SEED]\", seed_used)\n                filename = filename.replace(\n                    \"[VARIANT_AMOUNT]\", f\"{cur_variant_amount:.2f}\"\n                )\n\n                x_sample = 255.0 * rearrange(\n                    x_sample[0].cpu().numpy(), \"c h w -> h w c\"\n                )\n                x_sample = x_sample.astype(np.uint8)\n                metadata = ImageMetadata(\n                    prompt=prompts[i],\n                    seed=seeds[i],\n                    height=height,\n                    width=width,\n                    steps=steps,\n                    cfg_scale=cfg_scale,\n                    normalize_prompt_weights=normalize_prompt_weights,\n                    denoising_strength=denoising_strength,\n                    GFPGAN=use_GFPGAN,\n                )\n                image = Image.fromarray(x_sample)\n                image = perform_color_correction(\n                    image, correction_target, do_color_correction\n                )\n                ImageMetadata.set_on_image(image, metadata)\n\n                original_sample = x_sample\n                original_filename = filename\n                if use_GFPGAN and GFPGAN is not None and not use_RealESRGAN:\n                    skip_save = True  # #287 >_>\n                    torch_gc()\n                    cropped_faces, restored_faces, restored_img = GFPGAN.enhance(\n                        original_sample[:, :, ::-1],\n                        has_aligned=False,\n                        only_center_face=False,\n                        paste_back=True,\n                    )\n                    gfpgan_sample = restored_img[:, :, ::-1]\n                    gfpgan_image = Image.fromarray(gfpgan_sample)\n                    gfpgan_image = perform_color_correction(\n                        gfpgan_image, correction_target, do_color_correction\n                    )\n                    gfpgan_image = perform_masked_image_restoration(\n                        gfpgan_image,\n                        init_img,\n                        init_mask,\n                        mask_blur_strength,\n                        mask_restore,\n                        use_RealESRGAN=False,\n                        RealESRGAN=None,\n                    )\n                    gfpgan_metadata = copy.copy(metadata)\n                    gfpgan_metadata.GFPGAN = True\n                    ImageMetadata.set_on_image(gfpgan_image, gfpgan_metadata)\n                    gfpgan_filename = original_filename + \"-gfpgan\"\n                    save_sample(\n                        gfpgan_image,\n                        sample_path_i,\n                        gfpgan_filename,\n                        jpg_sample,\n                        write_info_files,\n                        write_sample_info_to_log_file,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        skip_save,\n                        skip_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        skip_metadata=False,\n                    )\n                    output_images.append(gfpgan_image)  # 287\n                    # if simple_templating:\n                    #    grid_captions.append( captions[i] + \"\\ngfpgan\" )\n\n                if use_RealESRGAN and RealESRGAN is not None and not use_GFPGAN:\n                    skip_save = True  # #287 >_>\n                    torch_gc()\n                    output, img_mode = RealESRGAN.enhance(original_sample[:, :, ::-1])\n                    esrgan_filename = original_filename + \"-esrgan4x\"\n                    esrgan_sample = output[:, :, ::-1]\n                    esrgan_image = Image.fromarray(esrgan_sample)\n                    esrgan_image = perform_color_correction(\n                        esrgan_image, correction_target, do_color_correction\n                    )\n                    esrgan_image = perform_masked_image_restoration(\n                        esrgan_image,\n                        init_img,\n                        init_mask,\n                        mask_blur_strength,\n                        mask_restore,\n                        use_RealESRGAN,\n                        RealESRGAN,\n                    )\n                    ImageMetadata.set_on_image(esrgan_image, metadata)\n                    save_sample(\n                        esrgan_image,\n                        sample_path_i,\n                        esrgan_filename,\n                        jpg_sample,\n                        write_info_files,\n                        write_sample_info_to_log_file,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        skip_save,\n                        skip_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        skip_metadata=False,\n                    )\n                    output_images.append(esrgan_image)  # 287\n                    # if simple_templating:\n                    #    grid_captions.append( captions[i] + \"\\nesrgan\" )\n\n                if (\n                    use_RealESRGAN\n                    and RealESRGAN is not None\n                    and use_GFPGAN\n                    and GFPGAN is not None\n                ):\n                    skip_save = True  # #287 >_>\n                    torch_gc()\n                    cropped_faces, restored_faces, restored_img = GFPGAN.enhance(\n                        x_sample[:, :, ::-1],\n                        has_aligned=False,\n                        only_center_face=False,\n                        paste_back=True,\n                    )\n                    gfpgan_sample = restored_img[:, :, ::-1]\n                    output, img_mode = RealESRGAN.enhance(gfpgan_sample[:, :, ::-1])\n                    gfpgan_esrgan_filename = original_filename + \"-gfpgan-esrgan4x\"\n                    gfpgan_esrgan_sample = output[:, :, ::-1]\n                    gfpgan_esrgan_image = Image.fromarray(gfpgan_esrgan_sample)\n                    gfpgan_esrgan_image = perform_color_correction(\n                        gfpgan_esrgan_image, correction_target, do_color_correction\n                    )\n                    gfpgan_esrgan_image = perform_masked_image_restoration(\n                        gfpgan_esrgan_image,\n                        init_img,\n                        init_mask,\n                        mask_blur_strength,\n                        mask_restore,\n                        use_RealESRGAN,\n                        RealESRGAN,\n                    )\n                    ImageMetadata.set_on_image(gfpgan_esrgan_image, metadata)\n                    save_sample(\n                        gfpgan_esrgan_image,\n                        sample_path_i,\n                        gfpgan_esrgan_filename,\n                        jpg_sample,\n                        write_info_files,\n                        write_sample_info_to_log_file,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        skip_save,\n                        skip_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        skip_metadata=False,\n                    )\n                    output_images.append(gfpgan_esrgan_image)  # 287\n                    # if simple_templating:\n                    #    grid_captions.append( captions[i] + \"\\ngfpgan_esrgan\" )\n\n                # this flag is used for imgProcessorTasks like GoBig, will return the image without saving it\n                if imgProcessorTask is True:\n                    output_images.append(image)\n\n                image = perform_masked_image_restoration(\n                    image,\n                    init_img,\n                    init_mask,\n                    mask_blur_strength,\n                    mask_restore,\n                    # RealESRGAN image already processed in if-case above.\n                    use_RealESRGAN=False,\n                    RealESRGAN=None,\n                )\n\n                if not skip_save:\n                    save_sample(\n                        image,\n                        sample_path_i,\n                        filename,\n                        jpg_sample,\n                        write_info_files,\n                        write_sample_info_to_log_file,\n                        prompt_matrix,\n                        init_img,\n                        uses_loopback,\n                        uses_random_seed_loopback,\n                        skip_save,\n                        skip_grid,\n                        sort_samples,\n                        sampler_name,\n                        ddim_eta,\n                        n_iter,\n                        batch_size,\n                        i,\n                        denoising_strength,\n                        resize_mode,\n                        False,\n                    )\n                if add_original_image or not simple_templating:\n                    output_images.append(image)\n                    if simple_templating:\n                        grid_captions.append(captions[i])\n\n            # Save the progress images?\n            if job_info:\n                if job_info.rec_steps_enabled and (\n                    job_info.rec_steps_to_file or job_info.rec_steps_to_gallery\n                ):\n                    steps_grid = image_grid(job_info.rec_steps_imgs, 1)\n                    if job_info.rec_steps_to_gallery:\n                        gallery_img_size = tuple(2 * dim for dim in image.size)\n                        output_images.append(steps_grid.resize(gallery_img_size))\n                    if job_info.rec_steps_to_file:\n                        steps_grid_filename = f\"{original_filename}_step_grid\"\n                        save_sample(\n                            steps_grid,\n                            sample_path_i,\n                            steps_grid_filename,\n                            jpg_sample,\n                            write_info_files,\n                            write_sample_info_to_log_file,\n                            prompt_matrix,\n                            init_img,\n                            uses_loopback,\n                            uses_random_seed_loopback,\n                            skip_save,\n                            skip_grid,\n                            sort_samples,\n                            sampler_name,\n                            ddim_eta,\n                            n_iter,\n                            batch_size,\n                            i,\n                            denoising_strength,\n                            resize_mode,\n                            False,\n                        )\n\n            if opt.optimized:\n                mem = torch.cuda.memory_allocated() / 1e6\n                modelFS.to(\"cpu\")\n                while torch.cuda.memory_allocated() / 1e6 >= mem:\n                    time.sleep(1)\n\n        if (prompt_matrix or not skip_grid) and not do_not_save_grid:\n            grid = None\n            if prompt_matrix:\n                if simple_templating:\n                    grid = image_grid(\n                        output_images,\n                        batch_size,\n                        force_n_rows=frows,\n                        captions=grid_captions,\n                    )\n                else:\n                    grid = image_grid(\n                        output_images,\n                        batch_size,\n                        force_n_rows=1 << ((len(prompt_matrix_parts) - 1) // 2),\n                    )\n                    try:\n                        grid = draw_prompt_matrix(\n                            grid, width, height, prompt_matrix_parts\n                        )\n                    except:\n                        import traceback\n\n                        print(\"Error creating prompt_matrix text:\", file=sys.stderr)\n                        print(traceback.format_exc(), file=sys.stderr)\n            elif len(output_images) > 0 and (batch_size > 1 or n_iter > 1):\n                grid = image_grid(output_images, batch_size)\n            if grid is not None:\n                grid_count = get_next_sequence_number(outpath, \"grid-\")\n                grid_file = f\"grid-{grid_count:05}-{seed}_{prompts[i].replace(' ', '_').translate({ord(x): '' for x in invalid_filename_chars})[:128]}.{grid_ext}\"\n                grid.save(\n                    os.path.join(outpath, grid_file),\n                    grid_format,\n                    quality=grid_quality,\n                    lossless=grid_lossless,\n                    optimize=True,\n                )\n                if prompt_matrix:\n                    output_images.append(grid)\n\n        time.time()\n\n    mem_max_used, mem_total = mem_mon.read_and_stop()\n    time_diff = time.time() - start_time\n    args_and_names = {\n        \"seed\": seed,\n        \"width\": width,\n        \"height\": height,\n        \"steps\": steps,\n        \"cfg_scale\": cfg_scale,\n        \"sampler\": sampler_name,\n    }\n\n    full_string = f\"{prompt}\\n\" + \" \".join([f\"{k}:\" for k, v in args_and_names.items()])\n    info = {\n        \"text\": full_string,\n        \"entities\": [\n            {\n                \"entity\": str(v),\n                \"start\": full_string.find(f\"{k}:\"),\n                \"end\": full_string.find(f\"{k}:\") + len(f\"{k} \"),\n            }\n            for k, v in args_and_names.items()\n        ],\n    }\n    #     info = f\"\"\"\n    # {prompt} --seed {seed} --W {width} --H {height}  -s {steps} -C {cfg_scale} --sampler {sampler_name}  {', Denoising strength: '+str(denoising_strength) if init_img is not None else ''}{', GFPGAN' if use_GFPGAN and GFPGAN is not None else ''}{', '+realesrgan_model_name if use_RealESRGAN and RealESRGAN is not None else ''}{', Prompt Matrix Mode.' if prompt_matrix else ''}\"\"\".strip()\n    stats = f\"\"\"\nTook { round(time_diff, 2) }s total ({ round(time_diff/(len(all_prompts)),2) }s per image)\nPeak memory usage: { -(mem_max_used // -1_048_576) } MiB / { -(mem_total // -1_048_576) } MiB / { round(mem_max_used/mem_total*100, 3) }%\"\"\"\n\n    for comment in comments:\n        info[\"text\"] += \"\\n\\n\" + comment\n\n    # mem_mon.stop()\n    # del mem_mon\n    torch_gc()\n\n    return output_images, seed, info, stats\n\n\ndef txt2img(\n    prompt: str,\n    ddim_steps: int = 50,\n    sampler_name: str = \"k_lms\",\n    toggles: List[int] = [1, 4],\n    realesrgan_model_name: str = \"\",\n    ddim_eta: float = 0.0,\n    n_iter: int = 1,\n    batch_size: int = 1,\n    cfg_scale: float = 5.0,\n    seed: Union[int, str, None] = None,\n    height: int = 512,\n    width: int = 512,\n    fp=None,\n    variant_amount: float = 0.0,\n    variant_seed: int = None,\n    job_info: JobInfo = None,\n):\n    outpath = opt.outdir_txt2img or opt.outdir or \"outputs/txt2img-samples\"\n    err = False\n    seed = seed_to_int(seed)\n    prompt_matrix = 0 in toggles\n    normalize_prompt_weights = 1 in toggles\n    skip_save = 2 not in toggles\n    skip_grid = 3 not in toggles\n    sort_samples = 4 in toggles\n    write_info_files = 5 in toggles\n    write_to_one_file = 6 in toggles\n    jpg_sample = 7 in toggles\n    filter_nsfw = 8 in toggles\n    use_GFPGAN = 9 in toggles\n    use_RealESRGAN = 10 in toggles\n\n    do_color_correction = False\n    correction_target = None\n\n    ModelLoader([\"model\"], True, False)\n    if use_GFPGAN and not use_RealESRGAN:\n        ModelLoader([\"GFPGAN\"], True, False)\n        ModelLoader([\"RealESRGAN\"], False, True)\n    if use_RealESRGAN and not use_GFPGAN:\n        ModelLoader([\"GFPGAN\"], False, True)\n        ModelLoader([\"RealESRGAN\"], True, False, realesrgan_model_name)\n    if use_RealESRGAN and use_GFPGAN:\n        ModelLoader([\"GFPGAN\", \"RealESRGAN\"], True, False, realesrgan_model_name)\n    if sampler_name == \"PLMS\":\n        sampler = PLMSSampler(model)\n    elif sampler_name == \"DDIM\":\n        sampler = DDIMSampler(model)\n    elif sampler_name == \"k_dpm_2_a\":\n        sampler = KDiffusionSampler(model, \"dpm_2_ancestral\")\n    elif sampler_name == \"k_dpm_2\":\n        sampler = KDiffusionSampler(model, \"dpm_2\")\n    elif sampler_name == \"k_euler_a\":\n        sampler = KDiffusionSampler(model, \"euler_ancestral\")\n    elif sampler_name == \"k_euler\":\n        sampler = KDiffusionSampler(model, \"euler\")\n    elif sampler_name == \"k_heun\":\n        sampler = KDiffusionSampler(model, \"heun\")\n    elif sampler_name == \"k_lms\":\n        sampler = KDiffusionSampler(model, \"lms\")\n    else:\n        raise Exception(\"Unknown sampler: \" + sampler_name)\n\n    def init():\n        pass\n\n    def sample(\n        init_data,\n        x,\n        conditioning,\n        unconditional_conditioning,\n        sampler_name,\n        img_callback: Callable = None,\n    ):\n        samples_ddim, _ = sampler.sample(\n            S=ddim_steps,\n            conditioning=conditioning,\n            batch_size=int(x.shape[0]),\n            shape=x[0].shape,\n            verbose=False,\n            unconditional_guidance_scale=cfg_scale,\n            unconditional_conditioning=unconditional_conditioning,\n            eta=ddim_eta,\n            x_T=x,\n            img_callback=img_callback,\n        )\n        return samples_ddim\n\n    try:\n        output_images, seed, info, stats = process_images(\n            outpath=outpath,\n            func_init=init,\n            func_sample=sample,\n            prompt=prompt,\n            seed=seed,\n            sampler_name=sampler_name,\n            skip_save=skip_save,\n            skip_grid=skip_grid,\n            batch_size=batch_size,\n            n_iter=n_iter,\n            steps=ddim_steps,\n            cfg_scale=cfg_scale,\n            width=width,\n            height=height,\n            prompt_matrix=prompt_matrix,\n            filter_nsfw=filter_nsfw,\n            use_GFPGAN=use_GFPGAN,\n            use_RealESRGAN=use_RealESRGAN,\n            realesrgan_model_name=realesrgan_model_name,\n            fp=fp,\n            ddim_eta=ddim_eta,\n            normalize_prompt_weights=normalize_prompt_weights,\n            sort_samples=sort_samples,\n            write_info_files=write_info_files,\n            write_sample_info_to_log_file=write_to_one_file,\n            jpg_sample=jpg_sample,\n            variant_amount=variant_amount,\n            variant_seed=variant_seed,\n            job_info=job_info,\n            do_color_correction=do_color_correction,\n            correction_target=correction_target,\n        )\n\n        del sampler\n\n        return output_images, seed, info, stats\n    except RuntimeError as e:\n        err = e\n        err_msg = f'CRASHED:<br><textarea rows=\"5\" style=\"color:white;background: black;width: -webkit-fill-available;font-family: monospace;font-size: small;font-weight: bold;\">{str(e)}</textarea><br><br>Please wait while the program restarts.'\n        stats = err_msg\n        return [], seed, \"err\", stats\n    finally:\n        if err:\n            crash(err, \"!!Runtime error (txt2img)!!\")\n\n\nclass Flagging(gr.FlaggingCallback):\n    def setup(self, components, flagging_dir: str):\n        pass\n\n    def flag(self, flag_data, flag_option=None, flag_index=None, username=None):\n        import csv\n\n        os.makedirs(\"log/images\", exist_ok=True)\n\n        # those must match the \"txt2img\" function !! + images, seed, comment, stats !! NOTE: changes to UI output must be reflected here too\n        (\n            prompt,\n            ddim_steps,\n            sampler_name,\n            toggles,\n            ddim_eta,\n            n_iter,\n            batch_size,\n            cfg_scale,\n            seed,\n            height,\n            width,\n            fp,\n            variant_amount,\n            variant_seed,\n            images,\n            seed,\n            comment,\n            stats,\n        ) = flag_data\n\n        filenames = []\n\n        with open(\"log/log.csv\", \"a\", encoding=\"utf8\", newline=\"\") as file:\n            import time\n            import base64\n\n            at_start = file.tell() == 0\n            writer = csv.writer(file)\n            if at_start:\n                writer.writerow([\"sep=,\"])\n                writer.writerow(\n                    [\n                        \"prompt\",\n                        \"seed\",\n                        \"width\",\n                        \"height\",\n                        \"sampler\",\n                        \"toggles\",\n                        \"n_iter\",\n                        \"n_samples\",\n                        \"cfg_scale\",\n                        \"steps\",\n                        \"filename\",\n                    ]\n                )\n\n            filename_base = str(int(time.time() * 1000))\n            for i, filedata in enumerate(images):\n                filename = (\n                    \"log/images/\"\n                    + filename_base\n                    + (\"\" if len(images) == 1 else \"-\" + str(i + 1))\n                    + \".png\"\n                )\n\n                if filedata.startswith(\"data:image/png;base64,\"):\n                    filedata = filedata[len(\"data:image/png;base64,\") :]\n\n                with open(filename, \"wb\") as imgfile:\n                    imgfile.write(base64.decodebytes(filedata.encode(\"utf-8\")))\n\n                filenames.append(filename)\n\n            writer.writerow(\n                [\n                    prompt,\n                    seed,\n                    width,\n                    height,\n                    sampler_name,\n                    toggles,\n                    n_iter,\n                    batch_size,\n                    cfg_scale,\n                    ddim_steps,\n                    filenames[0],\n                ]\n            )\n\n        print(\"Logged:\", filenames[0])\n\n\ndef blurArr(a, r=8):\n    im1 = Image.fromarray((a * 255).astype(np.int8), \"L\")\n    im2 = im1.filter(ImageFilter.GaussianBlur(radius=r))\n    out = np.array(im2) / 255\n    return out\n\n\ndef img2img(\n    prompt: str,\n    image_editor_mode: str,\n    mask_mode: str,\n    mask_blur_strength: int,\n    mask_restore: bool,\n    ddim_steps: int,\n    sampler_name: str,\n    toggles: List[int],\n    realesrgan_model_name: str,\n    n_iter: int,\n    cfg_scale: float,\n    denoising_strength: float,\n    seed: int,\n    height: int,\n    width: int,\n    resize_mode: int,\n    init_info: any = None,\n    init_info_mask: any = None,\n    fp=None,\n    job_info: JobInfo = None,\n):\n    # print([prompt, image_editor_mode, init_info, init_info_mask, mask_mode,\n    #                               mask_blur_strength, ddim_steps, sampler_name, toggles,\n    #                               realesrgan_model_name, n_iter, cfg_scale,\n    #                               denoising_strength, seed, height, width, resize_mode,\n    #                               fp])\n    outpath = opt.outdir_img2img or opt.outdir or \"outputs/img2img-samples\"\n    seed = seed_to_int(seed)\n\n    batch_size = 1\n\n    prompt_matrix = 0 in toggles\n    normalize_prompt_weights = 1 in toggles\n    loopback = 2 in toggles\n    random_seed_loopback = 3 in toggles\n    skip_save = 4 not in toggles\n    skip_grid = 5 not in toggles\n    sort_samples = 6 in toggles\n    write_info_files = 7 in toggles\n    write_sample_info_to_log_file = 8 in toggles\n    jpg_sample = 9 in toggles\n    do_color_correction = 10 in toggles\n    filter_nsfw = 11 in toggles\n    use_GFPGAN = 12 in toggles\n    use_RealESRGAN = 13 in toggles\n    ModelLoader([\"model\"], True, False)\n    if use_GFPGAN and not use_RealESRGAN:\n        ModelLoader([\"GFPGAN\"], True, False)\n        ModelLoader([\"RealESRGAN\"], False, True)\n    if use_RealESRGAN and not use_GFPGAN:\n        ModelLoader([\"GFPGAN\"], False, True)\n        ModelLoader([\"RealESRGAN\"], True, False, realesrgan_model_name)\n    if use_RealESRGAN and use_GFPGAN:\n        ModelLoader([\"GFPGAN\", \"RealESRGAN\"], True, False, realesrgan_model_name)\n    if sampler_name == \"DDIM\":\n        sampler = DDIMSampler(model)\n    elif sampler_name == \"k_dpm_2_a\":\n        sampler = KDiffusionSampler(model, \"dpm_2_ancestral\")\n    elif sampler_name == \"k_dpm_2\":\n        sampler = KDiffusionSampler(model, \"dpm_2\")\n    elif sampler_name == \"k_euler_a\":\n        sampler = KDiffusionSampler(model, \"euler_ancestral\")\n    elif sampler_name == \"k_euler\":\n        sampler = KDiffusionSampler(model, \"euler\")\n    elif sampler_name == \"k_heun\":\n        sampler = KDiffusionSampler(model, \"heun\")\n    elif sampler_name == \"k_lms\":\n        sampler = KDiffusionSampler(model, \"lms\")\n    else:\n        raise Exception(\"Unknown sampler: \" + sampler_name)\n\n    if image_editor_mode == \"Mask\":\n        init_img = init_info_mask[\"image\"]\n        init_img_transparency = (\n            ImageOps.invert(init_img.split()[-1])\n            .convert(\"L\")\n            .point(lambda x: 255 if x > 0 else 0, mode=\"1\")\n        )\n        init_img = init_img.convert(\"RGB\")\n        init_img = resize_image(resize_mode, init_img, width, height)\n        init_img = init_img.convert(\"RGB\")\n        init_mask = init_info_mask[\"mask\"]\n        init_mask = ImageChops.lighter(\n            init_img_transparency, init_mask.convert(\"L\")\n        ).convert(\"RGBA\")\n        init_mask = init_mask.convert(\"RGB\")\n        init_mask = resize_image(resize_mode, init_mask, width, height)\n        init_mask = init_mask.convert(\"RGB\")\n        keep_mask = mask_mode == 0\n        init_mask = init_mask if keep_mask else ImageOps.invert(init_mask)\n    else:\n        init_img = init_info\n        init_mask = None\n        keep_mask = False\n\n    assert 0.0 <= denoising_strength <= 1.0, \"can only work with strength in [0.0, 1.0]\"\n    t_enc = int(denoising_strength * ddim_steps)\n\n    def init():\n        image = init_img.convert(\"RGB\")\n        image = resize_image(resize_mode, image, width, height)\n        # image = image.convert(\"RGB\")\n        image = np.array(image).astype(np.float32) / 255.0\n        image = image[None].transpose(0, 3, 1, 2)\n        image = torch.from_numpy(image)\n\n        mask_channel = None\n        if image_editor_mode == \"Mask\":\n            alpha = init_mask.convert(\"RGBA\")\n            alpha = resize_image(resize_mode, alpha, width // 8, height // 8)\n            mask_channel = alpha.split()[1]\n\n        mask = None\n        if mask_channel is not None:\n            mask = np.array(mask_channel).astype(np.float32) / 255.0\n            mask = 1 - mask\n            mask = np.tile(mask, (4, 1, 1))\n            mask = mask[None].transpose(0, 1, 2, 3)\n            mask = torch.from_numpy(mask).to(device)\n        if opt.optimized:\n            modelFS.to(device)\n\n        # let's try and find where init_image is 0's\n        # shape is probably (3,width,height)?\n\n        if image_editor_mode == \"Uncrop\":\n            _image = image.numpy()[0]\n            _mask = np.ones((_image.shape[1], _image.shape[2]))\n\n            # compute bounding box\n            cmax = np.max(_image, axis=0)\n            rowmax = np.max(cmax, axis=0)\n            colmax = np.max(cmax, axis=1)\n            rowwhere = np.where(rowmax > 0)[0]\n            colwhere = np.where(colmax > 0)[0]\n            rowstart = rowwhere[0]\n            rowend = rowwhere[-1] + 1\n            colstart = colwhere[0]\n            colend = colwhere[-1] + 1\n            print(\"bounding box: \", rowstart, rowend, colstart, colend)\n\n            # this is where noise will get added\n            PAD_IMG = 16\n            boundingbox = np.zeros(shape=(height, width))\n            boundingbox[\n                colstart + PAD_IMG : colend - PAD_IMG,\n                rowstart + PAD_IMG : rowend - PAD_IMG,\n            ] = 1\n            boundingbox = blurArr(boundingbox, 4)\n\n            # this is the mask for outpainting\n            PAD_MASK = 24\n            boundingbox2 = np.zeros(shape=(height, width))\n            boundingbox2[\n                colstart + PAD_MASK : colend - PAD_MASK,\n                rowstart + PAD_MASK : rowend - PAD_MASK,\n            ] = 1\n            boundingbox2 = blurArr(boundingbox2, 4)\n\n            # noise=np.random.randn(*_image.shape)\n            noise = np.array(\n                [perlinNoise(height, width, height / 64, width / 64) for i in range(3)]\n            )\n            _mask *= 1 - boundingbox2\n\n            # convert 0,1 to -1,1\n            _image = 2.0 * _image - 1.0\n\n            # add noise\n            boundingbox = np.tile(boundingbox, (3, 1, 1))\n            _image = _image * boundingbox + noise * (1 - boundingbox)\n\n            # resize mask\n            _mask = (\n                np.array(\n                    resize_image(\n                        resize_mode,\n                        Image.fromarray(_mask * 255),\n                        width // 8,\n                        height // 8,\n                    )\n                )\n                / 255\n            )\n\n            # convert back to torch tensor\n            init_image = torch.from_numpy(\n                np.expand_dims(_image, axis=0).astype(np.float32)\n            ).to(device)\n            mask = torch.from_numpy(_mask.astype(np.float32)).to(device)\n\n        else:\n            init_image = 2.0 * image - 1.0\n\n        init_image = init_image.to(device)\n        init_image = repeat(init_image, \"1 ... -> b ...\", b=batch_size)\n        init_latent = (\n            model if not opt.optimized else modelFS\n        ).get_first_stage_encoding(\n            (model if not opt.optimized else modelFS).encode_first_stage(init_image)\n        )  # move to latent space\n\n        if opt.optimized:\n            mem = torch.cuda.memory_allocated() / 1e6\n            modelFS.to(\"cpu\")\n            while torch.cuda.memory_allocated() / 1e6 >= mem:\n                time.sleep(1)\n\n        return (\n            init_latent,\n            mask,\n        )\n\n    def sample(\n        init_data,\n        x,\n        conditioning,\n        unconditional_conditioning,\n        sampler_name,\n        img_callback: Callable = None,\n    ):\n        t_enc_steps = t_enc\n        obliterate = False\n        if ddim_steps == t_enc_steps:\n            t_enc_steps = t_enc_steps - 1\n            obliterate = True\n\n        if sampler_name != \"DDIM\":\n            x0, z_mask = init_data\n\n            sigmas = sampler.model_wrap.get_sigmas(ddim_steps)\n            noise = x * sigmas[ddim_steps - t_enc_steps - 1]\n\n            xi = x0 + noise\n\n            # Obliterate masked image\n            if z_mask is not None and obliterate:\n                random = torch.randn(z_mask.shape, device=xi.device)\n                xi = (z_mask * noise) + ((1 - z_mask) * xi)\n\n            sigma_sched = sigmas[ddim_steps - t_enc_steps - 1 :]\n            model_wrap_cfg = CFGMaskedDenoiser(sampler.model_wrap)\n            samples_ddim = K.sampling.__dict__[f\"sample_{sampler.get_sampler_name()}\"](\n                model_wrap_cfg,\n                xi,\n                sigma_sched,\n                extra_args={\n                    \"cond\": conditioning,\n                    \"uncond\": unconditional_conditioning,\n                    \"cond_scale\": cfg_scale,\n                    \"mask\": z_mask,\n                    \"x0\": x0,\n                    \"xi\": xi,\n                },\n                disable=False,\n                callback=partial(KDiffusionSampler.img_callback_wrapper, img_callback),\n            )\n        else:\n            x0, z_mask = init_data\n\n            sampler.make_schedule(\n                ddim_num_steps=ddim_steps, ddim_eta=0.0, verbose=False\n            )\n            z_enc = sampler.stochastic_encode(\n                x0, torch.tensor([t_enc_steps] * batch_size).to(device)\n            )\n\n            # Obliterate masked image\n            if z_mask is not None and obliterate:\n                random = torch.randn(z_mask.shape, device=z_enc.device)\n                z_enc = (z_mask * random) + ((1 - z_mask) * z_enc)\n\n                # decode it\n            samples_ddim = sampler.decode(\n                z_enc,\n                conditioning,\n                t_enc_steps,\n                unconditional_guidance_scale=cfg_scale,\n                unconditional_conditioning=unconditional_conditioning,\n                z_mask=z_mask,\n                x0=x0,\n            )\n        return samples_ddim\n\n    correction_target = None\n    if loopback:\n        output_images, info = None, None\n        history = []\n        initial_seed = None\n\n        # turn on color correction for loopback to prevent known issue of color drift\n        do_color_correction = True\n\n        for i in range(n_iter):\n            if do_color_correction and i == 0:\n                correction_target = cv2.cvtColor(\n                    np.asarray(init_img.copy()), cv2.COLOR_RGB2LAB\n                )\n\n            output_images, seed, info, stats = process_images(\n                outpath=outpath,\n                func_init=init,\n                func_sample=sample,\n                prompt=prompt,\n                seed=seed,\n                sampler_name=sampler_name,\n                skip_save=skip_save,\n                skip_grid=skip_grid,\n                batch_size=1,\n                n_iter=1,\n                steps=ddim_steps,\n                cfg_scale=cfg_scale,\n                width=width,\n                height=height,\n                prompt_matrix=prompt_matrix,\n                filter_nsfw=filter_nsfw,\n                use_GFPGAN=use_GFPGAN,\n                use_RealESRGAN=False,  # Forcefully disable upscaling when using loopback\n                realesrgan_model_name=realesrgan_model_name,\n                fp=fp,\n                do_not_save_grid=True,\n                normalize_prompt_weights=normalize_prompt_weights,\n                init_img=init_img,\n                init_mask=init_mask,\n                keep_mask=keep_mask,\n                mask_blur_strength=mask_blur_strength,\n                mask_restore=mask_restore,\n                denoising_strength=denoising_strength,\n                resize_mode=resize_mode,\n                uses_loopback=loopback,\n                uses_random_seed_loopback=random_seed_loopback,\n                sort_samples=sort_samples,\n                write_info_files=write_info_files,\n                write_sample_info_to_log_file=write_sample_info_to_log_file,\n                jpg_sample=jpg_sample,\n                job_info=job_info,\n                do_color_correction=do_color_correction,\n                correction_target=correction_target,\n            )\n\n            if initial_seed is None:\n                initial_seed = seed\n\n            init_img = output_images[0]\n\n            if not random_seed_loopback:\n                seed = seed + 1\n            else:\n                seed = seed_to_int(None)\n            denoising_strength = max(denoising_strength * 0.95, 0.1)\n            history.append(init_img)\n\n        if not skip_grid:\n            grid_count = get_next_sequence_number(outpath, \"grid-\")\n            grid = image_grid(history, batch_size, force_n_rows=1)\n            grid_file = f\"grid-{grid_count:05}-{seed}_{prompt.replace(' ', '_').translate({ord(x): '' for x in invalid_filename_chars})[:128]}.{grid_ext}\"\n            grid.save(\n                os.path.join(outpath, grid_file),\n                grid_format,\n                quality=grid_quality,\n                lossless=grid_lossless,\n                optimize=True,\n            )\n\n        output_images = history\n        seed = initial_seed\n\n    else:\n        if do_color_correction:\n            correction_target = cv2.cvtColor(\n                np.asarray(init_img.copy()), cv2.COLOR_RGB2LAB\n            )\n\n        output_images, seed, info, stats = process_images(\n            outpath=outpath,\n            func_init=init,\n            func_sample=sample,\n            prompt=prompt,\n            seed=seed,\n            sampler_name=sampler_name,\n            skip_save=skip_save,\n            skip_grid=skip_grid,\n            batch_size=batch_size,\n            n_iter=n_iter,\n            steps=ddim_steps,\n            cfg_scale=cfg_scale,\n            width=width,\n            height=height,\n            prompt_matrix=prompt_matrix,\n            filter_nsfw=filter_nsfw,\n            use_GFPGAN=use_GFPGAN,\n            use_RealESRGAN=use_RealESRGAN,\n            realesrgan_model_name=realesrgan_model_name,\n            fp=fp,\n            normalize_prompt_weights=normalize_prompt_weights,\n            init_img=init_img,\n            init_mask=init_mask,\n            keep_mask=keep_mask,\n            mask_blur_strength=mask_blur_strength,\n            denoising_strength=denoising_strength,\n            mask_restore=mask_restore,\n            resize_mode=resize_mode,\n            uses_loopback=loopback,\n            sort_samples=sort_samples,\n            write_info_files=write_info_files,\n            write_sample_info_to_log_file=write_sample_info_to_log_file,\n            jpg_sample=jpg_sample,\n            job_info=job_info,\n            do_color_correction=do_color_correction,\n            correction_target=correction_target,\n        )\n\n    del sampler\n\n    return output_images, seed, info, stats\n\n\nprompt_parser = re.compile(\n    \"\"\"\n    (?P<prompt>     # capture group for 'prompt'\n    (?:\\\\\\:|[^:])+  # match one or more non ':' characters or escaped colons '\\:'\n    )               # end 'prompt'\n    (?:             # non-capture group\n    :+              # match one or more ':' characters\n    (?P<weight>     # capture group for 'weight'\n    -?\\d*\\.{0,1}\\d+ # match positive or negative integer or decimal number\n    )?              # end weight capture group, make optional\n    \\s*             # strip spaces after weight\n    |               # OR\n    $               # else, if no ':' then match end of line\n    )               # end non-capture group\n\"\"\",\n    re.VERBOSE,\n)\n\n\n# grabs all text up to the first occurrence of ':' as sub-prompt\n# takes the value following ':' as weight\n# if ':' has no value defined, defaults to 1.0\n# repeats until no text remaining\ndef split_weighted_subprompts(input_string, normalize=True):\n    parsed_prompts = [\n        (match.group(\"prompt\").replace(\"\\\\:\", \":\"), float(match.group(\"weight\") or 1))\n        for match in re.finditer(prompt_parser, input_string)\n    ]\n    if not normalize:\n        return parsed_prompts\n    weight_sum = sum(map(lambda x: x[1], parsed_prompts))\n    if weight_sum == 0:\n        print(\n            \"Warning: Subprompt weights add up to zero. Discarding and using even weights instead.\"\n        )\n        equal_weight = 1 / (len(parsed_prompts) or 1)\n        return [(x[0], equal_weight) for x in parsed_prompts]\n    return [(x[0], x[1] / weight_sum) for x in parsed_prompts]\n\n\ndef slerp(device, t, v0: torch.Tensor, v1: torch.Tensor, DOT_THRESHOLD=0.9995):\n    v0 = v0.detach().cpu().numpy()\n    v1 = v1.detach().cpu().numpy()\n\n    dot = np.sum(v0 * v1 / (np.linalg.norm(v0) * np.linalg.norm(v1)))\n    if np.abs(dot) > DOT_THRESHOLD:\n        v2 = (1 - t) * v0 + t * v1\n    else:\n        theta_0 = np.arccos(dot)\n        sin_theta_0 = np.sin(theta_0)\n        theta_t = theta_0 * t\n        sin_theta_t = np.sin(theta_t)\n        s0 = np.sin(theta_0 - theta_t) / sin_theta_0\n        s1 = sin_theta_t / sin_theta_0\n        v2 = s0 * v0 + s1 * v1\n\n    v2 = torch.from_numpy(v2).to(device)\n\n    return v2\n\n\ndef imgproc(\n    image,\n    image_batch,\n    imgproc_prompt,\n    imgproc_toggles,\n    imgproc_upscale_toggles,\n    imgproc_realesrgan_model_name,\n    imgproc_sampling,\n    imgproc_steps,\n    imgproc_height,\n    imgproc_width,\n    imgproc_cfg,\n    imgproc_denoising,\n    imgproc_seed,\n    imgproc_gfpgan_strength,\n    imgproc_ldsr_steps,\n    imgproc_ldsr_pre_downSample,\n    imgproc_ldsr_post_downSample,\n):\n    outpath = opt.outdir_imglab or opt.outdir or \"outputs/imglab-samples\"\n    output = []\n    images = []\n\n    def processGFPGAN(image, strength):\n        image = image.convert(\"RGB\")\n        metadata = ImageMetadata.get_from_image(image)\n        cropped_faces, restored_faces, restored_img = GFPGAN.enhance(\n            np.array(image, dtype=np.uint8),\n            has_aligned=False,\n            only_center_face=False,\n            paste_back=True,\n        )\n        result = Image.fromarray(restored_img)\n        if metadata:\n            metadata.GFPGAN = True\n            ImageMetadata.set_on_image(image, metadata)\n\n        if strength < 1.0:\n            result = Image.blend(image, result, strength)\n\n        return result\n\n    def processRealESRGAN(image):\n        if \"x2\" in imgproc_realesrgan_model_name:\n            # downscale to 1/2 size\n            modelMode = imgproc_realesrgan_model_name.replace(\"x2\", \"x4\")\n        else:\n            modelMode = imgproc_realesrgan_model_name\n        image = image.convert(\"RGB\")\n        metadata = ImageMetadata.get_from_image(image)\n        RealESRGAN = load_RealESRGAN(modelMode)\n        result, res = RealESRGAN.enhance(np.array(image, dtype=np.uint8))\n        result = Image.fromarray(result)\n        ImageMetadata.set_on_image(result, metadata)\n        if \"x2\" in imgproc_realesrgan_model_name:\n            # downscale to 1/2 size\n            result = result.resize((result.width // 2, result.height // 2), LANCZOS)\n\n        return result\n\n    def processGoBig(image):\n        metadata = ImageMetadata.get_from_image(image)\n        result = processRealESRGAN(\n            image,\n        )\n        if \"x4\" in imgproc_realesrgan_model_name:\n            # downscale to 1/2 size\n            result = result.resize((result.width // 2, result.height // 2), LANCZOS)\n\n        # make sense of parameters\n        n_iter = 1\n        batch_size = 1\n        seed = seed_to_int(imgproc_seed)\n        ddim_steps = int(imgproc_steps)\n        resize_mode = 0  # need to add resize mode to form, or infer correct resolution from file name\n        width = int(imgproc_width)\n        height = int(imgproc_height)\n        cfg_scale = float(imgproc_cfg)\n        denoising_strength = float(imgproc_denoising)\n        skip_save = True\n        skip_grid = True\n        prompt = imgproc_prompt\n        t_enc = int(denoising_strength * ddim_steps)\n        sampler_name = imgproc_sampling\n\n        if sampler_name == \"DDIM\":\n            sampler = DDIMSampler(model)\n        elif sampler_name == \"k_dpm_2_a\":\n            sampler = KDiffusionSampler(model, \"dpm_2_ancestral\")\n        elif sampler_name == \"k_dpm_2\":\n            sampler = KDiffusionSampler(model, \"dpm_2\")\n        elif sampler_name == \"k_euler_a\":\n            sampler = KDiffusionSampler(model, \"euler_ancestral\")\n        elif sampler_name == \"k_euler\":\n            sampler = KDiffusionSampler(model, \"euler\")\n        elif sampler_name == \"k_heun\":\n            sampler = KDiffusionSampler(model, \"heun\")\n        elif sampler_name == \"k_lms\":\n            sampler = KDiffusionSampler(model, \"lms\")\n        else:\n            raise Exception(\"Unknown sampler: \" + sampler_name)\n            pass\n        init_img = result\n        mask_restore = False\n        assert (\n            0.0 <= denoising_strength <= 1.0\n        ), \"can only work with strength in [0.0, 1.0]\"\n\n        def init():\n            image = init_img.convert(\"RGB\")\n            image = resize_image(resize_mode, image, width, height)\n            image = np.array(image).astype(np.float32) / 255.0\n            image = image[None].transpose(0, 3, 1, 2)\n            image = torch.from_numpy(image)\n\n            if opt.optimized:\n                modelFS.to(device)\n\n            init_image = 2.0 * image - 1.0\n            init_image = init_image.to(device)\n            init_image = repeat(init_image, \"1 ... -> b ...\", b=batch_size)\n            init_latent = (\n                model if not opt.optimized else modelFS\n            ).get_first_stage_encoding(\n                (model if not opt.optimized else modelFS).encode_first_stage(init_image)\n            )  # move to latent space\n\n            if opt.optimized:\n                mem = torch.cuda.memory_allocated() / 1e6\n                modelFS.to(\"cpu\")\n                while torch.cuda.memory_allocated() / 1e6 >= mem:\n                    time.sleep(1)\n\n            return (init_latent,)\n\n        def sample(\n            init_data,\n            x,\n            conditioning,\n            unconditional_conditioning,\n            sampler_name,\n            img_callback: Callable = None,\n        ):\n            if sampler_name != \"DDIM\":\n                (x0,) = init_data\n\n                sigmas = sampler.model_wrap.get_sigmas(ddim_steps)\n                noise = x * sigmas[ddim_steps - t_enc - 1]\n\n                xi = x0 + noise\n                sigma_sched = sigmas[ddim_steps - t_enc - 1 :]\n                model_wrap_cfg = CFGDenoiser(sampler.model_wrap)\n                samples_ddim = K.sampling.__dict__[\n                    f\"sample_{sampler.get_sampler_name()}\"\n                ](\n                    model_wrap_cfg,\n                    xi,\n                    sigma_sched,\n                    extra_args={\n                        \"cond\": conditioning,\n                        \"uncond\": unconditional_conditioning,\n                        \"cond_scale\": cfg_scale,\n                    },\n                    disable=False,\n                    callback=partial(\n                        KDiffusionSampler.img_callback_wrapper, img_callback\n                    ),\n                )\n            else:\n                (x0,) = init_data\n                sampler.make_schedule(\n                    ddim_num_steps=ddim_steps, ddim_eta=0.0, verbose=False\n                )\n                z_enc = sampler.stochastic_encode(\n                    x0, torch.tensor([t_enc] * batch_size).to(device)\n                )\n                # decode it\n                samples_ddim = sampler.decode(\n                    z_enc,\n                    conditioning,\n                    t_enc,\n                    unconditional_guidance_scale=cfg_scale,\n                    unconditional_conditioning=unconditional_conditioning,\n                )\n            return samples_ddim\n\n        def split_grid(image, tile_w=512, tile_h=512, overlap=64):\n            Grid = namedtuple(\n                \"Grid\", [\"tiles\", \"tile_w\", \"tile_h\", \"image_w\", \"image_h\", \"overlap\"]\n            )\n            w = image.width\n            h = image.height\n\n            now = tile_w - overlap  # non-overlap width\n            noh = tile_h - overlap\n\n            cols = math.ceil((w - overlap) / now)\n            rows = math.ceil((h - overlap) / noh)\n\n            grid = Grid([], tile_w, tile_h, w, h, overlap)\n            for row in range(rows):\n                row_images = []\n\n                y = row * noh\n\n                if y + tile_h >= h:\n                    y = h - tile_h\n\n                for col in range(cols):\n                    x = col * now\n\n                    if x + tile_w >= w:\n                        x = w - tile_w\n\n                    tile = image.crop((x, y, x + tile_w, y + tile_h))\n\n                    row_images.append([x, tile_w, tile])\n\n                grid.tiles.append([y, tile_h, row_images])\n\n            return grid\n\n        def combine_grid(grid):\n            def make_mask_image(r):\n                r = r * 255 / grid.overlap\n                r = r.astype(np.uint8)\n                return Image.fromarray(r, \"L\")\n\n            mask_w = make_mask_image(\n                np.arange(grid.overlap, dtype=np.float)\n                .reshape((1, grid.overlap))\n                .repeat(grid.tile_h, axis=0)\n            )\n            mask_h = make_mask_image(\n                np.arange(grid.overlap, dtype=np.float)\n                .reshape((grid.overlap, 1))\n                .repeat(grid.image_w, axis=1)\n            )\n\n            combined_image = Image.new(\"RGB\", (grid.image_w, grid.image_h))\n            for y, h, row in grid.tiles:\n                combined_row = Image.new(\"RGB\", (grid.image_w, h))\n                for x, w, tile in row:\n                    if x == 0:\n                        combined_row.paste(tile, (0, 0))\n                        continue\n\n                    combined_row.paste(\n                        tile.crop((0, 0, grid.overlap, h)), (x, 0), mask=mask_w\n                    )\n                    combined_row.paste(\n                        tile.crop((grid.overlap, 0, w, h)), (x + grid.overlap, 0)\n                    )\n\n                if y == 0:\n                    combined_image.paste(combined_row, (0, 0))\n                    continue\n\n                combined_image.paste(\n                    combined_row.crop((0, 0, combined_row.width, grid.overlap)),\n                    (0, y),\n                    mask=mask_h,\n                )\n                combined_image.paste(\n                    combined_row.crop((0, grid.overlap, combined_row.width, h)),\n                    (0, y + grid.overlap),\n                )\n\n            return combined_image\n\n        grid = split_grid(result, tile_w=width, tile_h=height, overlap=64)\n        work = []\n        work_results = []\n\n        for y, h, row in grid.tiles:\n            for tiledata in row:\n                work.append(tiledata[2])\n        batch_count = math.ceil(len(work) / batch_size)\n        print(\n            f\"GoBig upscaling will process a total of {len(work)} images tiled as {len(grid.tiles[0][2])}x{len(grid.tiles)} in a total of {batch_count} batches.\"\n        )\n        for i in range(batch_count):\n            init_img = work[i * batch_size : (i + 1) * batch_size][0]\n            output_images, seed, info, stats = process_images(\n                outpath=outpath,\n                func_init=init,\n                func_sample=sample,\n                prompt=prompt,\n                seed=seed,\n                sampler_name=sampler_name,\n                skip_save=skip_save,\n                skip_grid=skip_grid,\n                batch_size=batch_size,\n                n_iter=n_iter,\n                steps=ddim_steps,\n                cfg_scale=cfg_scale,\n                width=width,\n                height=height,\n                prompt_matrix=None,\n                filter_nsfw=False,\n                use_GFPGAN=None,\n                use_RealESRGAN=None,\n                realesrgan_model_name=None,\n                fp=None,\n                normalize_prompt_weights=False,\n                init_img=init_img,\n                init_mask=None,\n                keep_mask=False,\n                mask_blur_strength=None,\n                denoising_strength=denoising_strength,\n                mask_restore=mask_restore,\n                resize_mode=resize_mode,\n                uses_loopback=False,\n                sort_samples=True,\n                write_info_files=True,\n                write_sample_info_to_log_file=False,\n                jpg_sample=False,\n                imgProcessorTask=True,\n            )\n            # if initial_seed is None:\n            #    initial_seed = seed\n            # seed = seed + 1\n\n            work_results.append(output_images[0])\n        image_index = 0\n        for y, h, row in grid.tiles:\n            for tiledata in row:\n                tiledata[2] = work_results[image_index]\n                image_index += 1\n\n        combined_image = combine_grid(grid)\n        len(os.listdir(outpath)) - 1\n        del sampler\n\n        torch.cuda.empty_cache()\n        ImageMetadata.set_on_image(combined_image, metadata)\n        return combined_image\n\n    def processLDSR(image):\n        metadata = ImageMetadata.get_from_image(image)\n        result = LDSR.superResolution(\n            image,\n            int(imgproc_ldsr_steps),\n            str(imgproc_ldsr_pre_downSample),\n            str(imgproc_ldsr_post_downSample),\n        )\n        ImageMetadata.set_on_image(result, metadata)\n        return result\n\n    if image_batch is not None:\n        if image is not None:\n            print(\n                \"Batch detected and single image detected, please only use one of the two. Aborting.\"\n            )\n            return None\n        # convert file to pillow image\n        for img in image_batch:\n            image = Image.fromarray(np.array(Image.open(img)))\n            images.append(image)\n\n    elif image is not None:\n        if image_batch is not None:\n            print(\n                \"Batch detected and single image detected, please only use one of the two. Aborting.\"\n            )\n            return None\n        else:\n            images.append(image)\n\n    if len(images) > 0:\n        print(\"Processing images...\")\n        # pre load models not in loop\n        if 0 in imgproc_toggles:\n            ModelLoader([\"RealESGAN\", \"LDSR\"], False, True)  # Unload unused models\n            ModelLoader([\"GFPGAN\"], True, False)  # Load used models\n        if 1 in imgproc_toggles:\n            if imgproc_upscale_toggles == 0:\n                ModelLoader([\"GFPGAN\", \"LDSR\"], False, True)  # Unload unused models\n                ModelLoader(\n                    [\"RealESGAN\"], True, False, imgproc_realesrgan_model_name\n                )  # Load used models\n            elif imgproc_upscale_toggles == 1:\n                ModelLoader([\"GFPGAN\", \"LDSR\"], False, True)  # Unload unused models\n                ModelLoader([\"RealESGAN\", \"model\"], True, False)  # Load used models\n            elif imgproc_upscale_toggles == 2:\n                ModelLoader(\n                    [\"model\", \"GFPGAN\", \"RealESGAN\"], False, True\n                )  # Unload unused models\n                ModelLoader([\"LDSR\"], True, False)  # Load used models\n            elif imgproc_upscale_toggles == 3:\n                ModelLoader([\"GFPGAN\", \"LDSR\"], False, True)  # Unload unused models\n                ModelLoader(\n                    [\"RealESGAN\", \"model\"], True, False, imgproc_realesrgan_model_name\n                )  # Load used models\n        for image in images:\n            metadata = ImageMetadata.get_from_image(image)\n            if 0 in imgproc_toggles:\n                # recheck if GFPGAN is loaded since it's the only model that can be loaded in the loop as well\n                ModelLoader([\"GFPGAN\"], True, False)  # Load used models\n                image = processGFPGAN(image, imgproc_gfpgan_strength)\n                if metadata:\n                    metadata.GFPGAN = True\n                ImageMetadata.set_on_image(image, metadata)\n                outpathDir = os.path.join(outpath, \"GFPGAN\")\n                os.makedirs(outpathDir, exist_ok=True)\n                batchNumber = get_next_sequence_number(outpathDir)\n                outFilename = str(batchNumber) + \"-\" + \"result\"\n\n                if 1 not in imgproc_toggles:\n                    output.append(image)\n                    save_sample(\n                        image,\n                        outpathDir,\n                        outFilename,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                    )\n            if 1 in imgproc_toggles:\n                if imgproc_upscale_toggles == 0:\n                    image = processRealESRGAN(image)\n                    ImageMetadata.set_on_image(image, metadata)\n                    outpathDir = os.path.join(outpath, \"RealESRGAN\")\n                    os.makedirs(outpathDir, exist_ok=True)\n                    batchNumber = get_next_sequence_number(outpathDir)\n                    outFilename = str(batchNumber) + \"-\" + \"result\"\n                    output.append(image)\n                    save_sample(\n                        image,\n                        outpathDir,\n                        outFilename,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                    )\n\n                elif imgproc_upscale_toggles == 1:\n                    image = processGoBig(image)\n                    ImageMetadata.set_on_image(image, metadata)\n                    outpathDir = os.path.join(outpath, \"GoBig\")\n                    os.makedirs(outpathDir, exist_ok=True)\n                    batchNumber = get_next_sequence_number(outpathDir)\n                    outFilename = str(batchNumber) + \"-\" + \"result\"\n                    output.append(image)\n                    save_sample(\n                        image,\n                        outpathDir,\n                        outFilename,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                    )\n\n                elif imgproc_upscale_toggles == 2:\n                    image = processLDSR(image)\n                    ImageMetadata.set_on_image(image, metadata)\n                    outpathDir = os.path.join(outpath, \"LDSR\")\n                    os.makedirs(outpathDir, exist_ok=True)\n                    batchNumber = get_next_sequence_number(outpathDir)\n                    outFilename = str(batchNumber) + \"-\" + \"result\"\n                    output.append(image)\n                    save_sample(\n                        image,\n                        outpathDir,\n                        outFilename,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                    )\n\n                elif imgproc_upscale_toggles == 3:\n                    image = processGoBig(image)\n                    ModelLoader(\n                        [\"model\", \"GFPGAN\", \"RealESGAN\"], False, True\n                    )  # Unload unused models\n                    ModelLoader([\"LDSR\"], True, False)  # Load used models\n                    image = processLDSR(image)\n                    ImageMetadata.set_on_image(image, metadata)\n                    outpathDir = os.path.join(outpath, \"GoLatent\")\n                    os.makedirs(outpathDir, exist_ok=True)\n                    batchNumber = get_next_sequence_number(outpathDir)\n                    outFilename = str(batchNumber) + \"-\" + \"result\"\n                    output.append(image)\n\n                    save_sample(\n                        image,\n                        outpathDir,\n                        outFilename,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        None,\n                        False,\n                    )\n\n    # LDSR is always unloaded to avoid memory issues\n    # ModelLoader(['LDSR'],False,True)\n    # print(\"Reloading default models...\")\n    # ModelLoader(['model','RealESGAN','GFPGAN'],True,False) # load back models\n    print(\"Done.\")\n    return output\n\n\ndef ModelLoader(\n    models, load=False, unload=False, imgproc_realesrgan_model_name=\"RealESRGAN_x4plus\"\n):\n    # get global variables\n    global_vars = globals()\n    # check if m is in globals\n    if unload:\n        for m in models:\n            if m in global_vars:\n                # if it is, delete it\n                del global_vars[m]\n                if opt.optimized:\n                    if m == \"model\":\n                        del global_vars[m + \"FS\"]\n                        del global_vars[m + \"CS\"]\n                if m == \"model\":\n                    m = \"Stable Diffusion\"\n                print(\"Unloaded \" + m)\n    if load:\n        for m in models:\n            if (\n                m not in global_vars\n                or m in global_vars\n                and type(global_vars[m]) == bool\n            ):\n                # if it isn't, load it\n                if m == \"GFPGAN\":\n                    global_vars[m] = load_GFPGAN()\n                elif m == \"model\":\n                    sdLoader = load_SD_model()\n                    global_vars[m] = sdLoader[0]\n                    if opt.optimized:\n                        global_vars[m + \"CS\"] = sdLoader[1]\n                        global_vars[m + \"FS\"] = sdLoader[2]\n                elif m == \"RealESRGAN\":\n                    global_vars[m] = load_RealESRGAN(imgproc_realesrgan_model_name)\n                elif m == \"LDSR\":\n                    global_vars[m] = load_LDSR()\n                if m == \"model\":\n                    m = \"Stable Diffusion\"\n                print(\"Loaded \" + m)\n    torch_gc()\n\n\ndef run_GFPGAN(image, strength):\n    ModelLoader([\"LDSR\", \"RealESRGAN\"], False, True)\n    ModelLoader([\"GFPGAN\"], True, False)\n    metadata = ImageMetadata.get_from_image(image)\n    image = image.convert(\"RGB\")\n\n    cropped_faces, restored_faces, restored_img = GFPGAN.enhance(\n        np.array(image, dtype=np.uint8),\n        has_aligned=False,\n        only_center_face=False,\n        paste_back=True,\n    )\n    res = Image.fromarray(restored_img)\n    metadata.GFPGAN = True\n    ImageMetadata.set_on_image(res, metadata)\n\n    if strength < 1.0:\n        res = Image.blend(image, res, strength)\n\n    return res\n\n\ndef run_RealESRGAN(image, model_name: str):\n    ModelLoader([\"GFPGAN\", \"LDSR\"], False, True)\n    ModelLoader([\"RealESRGAN\"], True, False)\n    if RealESRGAN.model.name != model_name:\n        try_loading_RealESRGAN(model_name)\n\n    metadata = ImageMetadata.get_from_image(image)\n    image = image.convert(\"RGB\")\n\n    output, img_mode = RealESRGAN.enhance(np.array(image, dtype=np.uint8))\n    res = Image.fromarray(output)\n    ImageMetadata.set_on_image(res, metadata)\n\n    return res\n\n\nif opt.defaults is not None and os.path.isfile(opt.defaults):\n    try:\n        with open(opt.defaults, \"r\", encoding=\"utf8\") as f:\n            user_defaults = yaml.safe_load(f)\n    except (OSError, yaml.YAMLError) as e:\n        print(f\"Error loading defaults file {opt.defaults}:\", e, file=sys.stderr)\n        print(\"Falling back to program defaults.\", file=sys.stderr)\n        user_defaults = {}\nelse:\n    user_defaults = {}\n\n# make sure these indicies line up at the top of txt2img()\ntxt2img_toggles = [\n    \"Create prompt matrix (separate multiple prompts using |, and get all combinations of them)\",\n    \"Normalize Prompt Weights (ensure sum of weights add up to 1.0)\",\n    \"Save individual images\",\n    \"Save grid\",\n    \"Sort samples by prompt\",\n    \"Write sample info files\",\n    \"write sample info to log file\",\n    \"jpg samples\",\n    \"Filter NSFW content\",\n]\n\nif GFPGAN is not None:\n    txt2img_toggles.append(\"Fix faces using GFPGAN\")\nif RealESRGAN is not None:\n    txt2img_toggles.append(\"Upscale images using RealESRGAN\")\n\ntxt2img_defaults = {\n    \"prompt\": \"\",\n    \"ddim_steps\": 50,\n    \"toggles\": [1, 2, 3],\n    \"sampler_name\": \"k_lms\",\n    \"ddim_eta\": 0.0,\n    \"n_iter\": 1,\n    \"batch_size\": 1,\n    \"cfg_scale\": 7.5,\n    \"seed\": \"\",\n    \"height\": 512,\n    \"width\": 512,\n    \"fp\": None,\n    \"variant_amount\": 0.0,\n    \"variant_seed\": \"\",\n    \"submit_on_enter\": \"Yes\",\n    \"realesrgan_model_name\": \"RealESRGAN_x4plus\",\n}\n\nif \"txt2img\" in user_defaults:\n    txt2img_defaults.update(user_defaults[\"txt2img\"])\n\ntxt2img_toggle_defaults = [txt2img_toggles[i] for i in txt2img_defaults[\"toggles\"]]\n\nimgproc_defaults = {\n    \"prompt\": \"\",\n    \"ddim_steps\": 50,\n    \"sampler_name\": \"k_lms\",\n    \"cfg_scale\": 7.5,\n    \"seed\": \"\",\n    \"height\": 512,\n    \"width\": 512,\n    \"denoising_strength\": 0.30,\n}\nimgproc_mode_toggles = [\"Fix Faces\", \"Upscale\"]\n\n# sample_img2img = \"assets/stable-samples/img2img/sketch-mountains-input.jpg\"\n# sample_img2img = sample_img2img if os.path.exists(sample_img2img) else None\nsample_img2img = None\n# make sure these indicies line up at the top of img2img()\nimg2img_toggles = [\n    \"Create prompt matrix (separate multiple prompts using |, and get all combinations of them)\",\n    \"Normalize Prompt Weights (ensure sum of weights add up to 1.0)\",\n    \"Loopback (use images from previous batch when creating next batch)\",\n    \"Random loopback seed\",\n    \"Save individual images\",\n    \"Save grid\",\n    \"Sort samples by prompt\",\n    \"Write sample info files\",\n    \"Write sample info to one file\",\n    \"jpg samples\",\n    \"Color correction (always enabled on loopback mode)\",\n    \"Filter NSFW content\",\n]\n# removed for now becuase of Image Lab implementation\nif GFPGAN is not None:\n    img2img_toggles.append(\"Fix faces using GFPGAN\")\nif RealESRGAN is not None:\n    img2img_toggles.append(\"Upscale images using RealESRGAN\")\n\nimg2img_mask_modes = [\n    \"Keep masked area\",\n    \"Regenerate only masked area\",\n]\n\nimg2img_resize_modes = [\n    \"Just resize\",\n    \"Crop and resize\",\n    \"Resize and fill\",\n]\n\nimg2img_defaults = {\n    \"prompt\": \"\",\n    \"ddim_steps\": 50,\n    \"toggles\": [1, 4, 5],\n    \"sampler_name\": \"k_lms\",\n    \"ddim_eta\": 0.0,\n    \"n_iter\": 1,\n    \"batch_size\": 1,\n    \"cfg_scale\": 5.0,\n    \"denoising_strength\": 0.75,\n    \"mask_mode\": 0,\n    \"mask_restore\": False,\n    \"resize_mode\": 0,\n    \"seed\": \"\",\n    \"height\": 512,\n    \"width\": 512,\n    \"fp\": None,\n    \"mask_blur_strength\": 1,\n    \"realesrgan_model_name\": \"RealESRGAN_x4plus\",\n    \"image_editor_mode\": \"Mask\",\n}\n\nif \"img2img\" in user_defaults:\n    img2img_defaults.update(user_defaults[\"img2img\"])\n\nimg2img_toggle_defaults = [img2img_toggles[i] for i in img2img_defaults[\"toggles\"]]\nimg2img_image_mode = \"sketch\"\n\nfrom scn2img import get_scn2img, scn2img_define_args\n\n# avoid circular import, by passing all necessary types, functions\n# and variables to get_scn2img, which will return scn2img function.\nscn2img = get_scn2img(\n    MemUsageMonitor,\n    save_sample,\n    get_next_sequence_number,\n    seed_to_int,\n    txt2img,\n    txt2img_defaults,\n    img2img,\n    img2img_defaults,\n    opt,\n)\n\nscn2img_toggles = [\n    \"Clear Cache\",\n    \"Output intermediate images\",\n    \"Save individual images\",\n    \"Write sample info files\",\n    \"Write sample info to one file\",\n    \"jpg samples\",\n]\nscn2img_defaults = {\"prompt\": \"\", \"seed\": \"\", \"toggles\": [1, 2, 3]}\n\nif \"scn2img\" in user_defaults:\n    scn2img_defaults.update(user_defaults[\"scn2img\"])\n\nscn2img_toggle_defaults = [scn2img_toggles[i] for i in scn2img_defaults[\"toggles\"]]\n\nhelp_text = \"\"\"\n    ## Mask/Crop\n    * The masking/cropping is very temperamental.\n    * It may take some time for the image to show when switching from Crop to Mask.\n    * If the image doesn't appear after switching to Mask, switch back to Crop and then back again to Mask\n    * If the mask appears distorted (the brush is weirdly shaped instead of round), switch back to Crop and then back again to Mask.\n\n    ## Advanced Editor\n    * For now the button needs to be clicked twice the first time.\n    * Once you have edited your image, you _need_ to click the save button for the next step to work.\n    * Clear the image from the crop editor (click the x)\n    * Click \"Get Image from Advanced Editor\" to get the image you saved. If it doesn't work, try opening the editor and saving again.\n\n    If it keeps not working, try switching modes again, switch tabs, clear the image or reload.\n\"\"\"\n\n\ndef show_help():\n    return [\n        gr.update(visible=False),\n        gr.update(visible=True),\n        gr.update(value=help_text),\n    ]\n\n\ndef hide_help():\n    return [gr.update(visible=True), gr.update(visible=False), gr.update(value=\"\")]\n\n\ndemo = draw_gradio_ui(\n    opt,\n    user_defaults=user_defaults,\n    txt2img=txt2img,\n    img2img=img2img,\n    imgproc=imgproc,\n    scn2img=scn2img,\n    txt2img_defaults=txt2img_defaults,\n    txt2img_toggles=txt2img_toggles,\n    txt2img_toggle_defaults=txt2img_toggle_defaults,\n    show_embeddings=hasattr(model, \"embedding_manager\"),\n    img2img_defaults=img2img_defaults,\n    img2img_toggles=img2img_toggles,\n    img2img_toggle_defaults=img2img_toggle_defaults,\n    img2img_mask_modes=img2img_mask_modes,\n    img2img_resize_modes=img2img_resize_modes,\n    sample_img2img=sample_img2img,\n    imgproc_defaults=imgproc_defaults,\n    imgproc_mode_toggles=imgproc_mode_toggles,\n    scn2img_defaults=scn2img_defaults,\n    scn2img_toggles=scn2img_toggles,\n    scn2img_toggle_defaults=scn2img_toggle_defaults,\n    scn2img_define_args=scn2img_define_args,\n    RealESRGAN=RealESRGAN,\n    GFPGAN=GFPGAN,\n    LDSR=LDSR,\n    run_GFPGAN=run_GFPGAN,\n    run_RealESRGAN=run_RealESRGAN,\n    job_manager=job_manager,\n)\n\n\nclass ServerLauncher(threading.Thread):\n    def __init__(self, demo):\n        threading.Thread.__init__(self)\n        self.name = \"Gradio Server Thread\"\n        self.demo = demo\n\n    def run(self):\n        loop = asyncio.new_event_loop()\n        asyncio.set_event_loop(loop)\n        gradio_params = {\n            \"inbrowser\": opt.inbrowser,\n            \"server_name\": \"0.0.0.0\",\n            \"server_port\": opt.port,\n            \"share\": opt.share,\n            \"show_error\": True,\n        }\n        if not opt.share:\n            demo.queue(concurrency_count=opt.max_jobs)\n        if opt.share and opt.share_password:\n            gradio_params[\"auth\"] = (\"webui\", opt.share_password)\n\n        # Check to see if Port 7860 is open\n        port_status = 1\n        while port_status != 0:\n            try:\n                self.demo.launch(**gradio_params)\n            except OSError:\n                print(\n                    f\"Error: Port: {opt.port} is not open yet. Please wait, this may take upwards of 60 seconds...\"\n                )\n                time.sleep(10)\n            else:\n                port_status = 0\n\n    def stop(self):\n        self.demo.close()  # this tends to hang\n\n\ndef launch_server():\n    server_thread = ServerLauncher(demo)\n    server_thread.start()\n\n    try:\n        while server_thread.is_alive():\n            time.sleep(60)\n    except (KeyboardInterrupt, OSError) as e:\n        crash(e, \"Shutting down...\")\n\n\ndef run_headless():\n    with open(opt.cli, \"r\", encoding=\"utf8\") as f:\n        kwargs = yaml.safe_load(f)\n    target = kwargs.pop(\"target\")\n    if target == \"txt2img\":\n        target_func = txt2img\n    elif target == \"img2img\":\n        target_func = img2img\n        raise NotImplementedError()\n    else:\n        raise ValueError(f\"Unknown target: {target}\")\n    prompts = kwargs.pop(\"prompt\")\n    prompts = prompts if type(prompts) is list else [prompts]\n    for i, prompt_i in enumerate(prompts):\n        print(f\"===== Prompt {i+1}/{len(prompts)}: {prompt_i} =====\")\n        output_images, seed, info, stats = target_func(prompt=prompt_i, **kwargs)\n        print(f\"Seed: {seed}\")\n        print(info)\n        print(stats)\n        print()\n\n\n@logger.catch\ndef run_bridge(\n    interval,\n    api_key,\n    horde_name,\n    horde_url,\n    priority_usernames,\n    horde_max_pixels,\n    horde_nsfw,\n    horde_censor_nsfw,\n    horde_blacklist,\n    horde_censorlist,\n):\n    current_id = None\n    current_payload = None\n    loop_retry = 0\n    while True:\n        if loop_retry > 10 and current_id:\n            logger.error(\n                f\"Exceeded retry count {loop_retry} for generation id {current_id}. Aborting generation!\"\n            )\n            current_id = None\n            current_payload = None\n            current_generation = None\n            loop_retry = 0\n        elif current_id:\n            logger.debug(\n                f\"Retrying ({loop_retry}/10) for generation id {current_id}...\"\n            )\n        gen_dict = {\n            \"name\": horde_name,\n            \"max_pixels\": horde_max_pixels,\n            \"priority_usernames\": priority_usernames,\n            \"nsfw\": horde_nsfw,\n            \"blacklist\": horde_blacklist,\n        }\n        headers = {\"apikey\": api_key}\n        if current_id:\n            loop_retry += 1\n        else:\n            try:\n                pop_req = requests.post(\n                    horde_url + \"/api/v2/generate/pop\", json=gen_dict, headers=headers\n                )\n            except requests.exceptions.ConnectionError:\n                logger.warning(\n                    f\"Server {horde_url} unavailable during pop. Waiting 10 seconds...\"\n                )\n                time.sleep(10)\n                continue\n            except requests.exceptions.JSONDecodeError():\n                logger.warning(\n                    f\"Server {horde_url} unavailable during pop. Waiting 10 seconds...\"\n                )\n                time.sleep(10)\n                continue\n            try:\n                pop = pop_req.json()\n            except json.decoder.JSONDecodeError:\n                logger.error(\n                    f\"Could not decode response from {horde_url} as json. Please inform its administrator!\"\n                )\n                time.sleep(interval)\n                continue\n            if pop is None:\n                logger.error(\n                    f\"Something has gone wrong with {horde_url}. Please inform its administrator!\"\n                )\n                time.sleep(interval)\n                continue\n            if not pop_req.ok:\n                pop[\"message\"]\n                logger.warning(\n                    f\"During gen pop, server {horde_url} responded with status code {pop_req.status_code}: {pop['message']}. Waiting for 10 seconds...\"\n                )\n                if \"errors\" in pop:\n                    logger.warning(f\"Detailed Request Errors: {pop['errors']}\")\n                time.sleep(10)\n                continue\n            if not pop.get(\"id\"):\n                skipped_info = pop.get(\"skipped\")\n                if skipped_info and len(skipped_info):\n                    skipped_info = f\" Skipped Info: {skipped_info}.\"\n                else:\n                    skipped_info = \"\"\n                logger.debug(\n                    f\"Server {horde_url} has no valid generations to do for us.{skipped_info}\"\n                )\n                time.sleep(interval)\n                continue\n            current_id = pop[\"id\"]\n            logger.debug(f\"Request with id {current_id} picked up. Initiating work...\")\n            current_payload = pop[\"payload\"]\n            if \"toggles\" in current_payload and current_payload[\"toggles\"] is None:\n                logger.error(f\"Received Bad payload: {pop}\")\n                current_id = None\n                current_payload = None\n                current_generation = None\n                loop_retry = 0\n                time.sleep(10)\n                continue\n        current_payload[\"toggles\"] = current_payload.get(\"toggles\", [1, 4])\n        # In bridge-mode, matrix is prepared on the horde and split in multiple nodes\n        if 0 in current_payload[\"toggles\"]:\n            current_payload[\"toggles\"].remove(0)\n        if 8 not in current_payload[\"toggles\"]:\n            if horde_censor_nsfw and not horde_nsfw:\n                current_payload[\"toggles\"].append(8)\n            elif any(word in current_payload[\"prompt\"] for word in horde_censorlist):\n                current_payload[\"toggles\"].append(8)\n        images, seed, info, stats = txt2img(**current_payload)\n        buffer = BytesIO()\n        # We send as WebP to avoid using all the horde bandwidth\n        images[0].save(buffer, format=\"WebP\", quality=90)\n        # logger.info(info)\n        submit_dict = {\n            \"id\": current_id,\n            \"generation\": base64.b64encode(buffer.getvalue()).decode(\"utf8\"),\n            \"api_key\": api_key,\n            \"seed\": seed,\n            \"max_pixels\": horde_max_pixels,\n        }\n        current_generation = seed\n        while current_id and current_generation is not None:\n            try:\n                submit_req = requests.post(\n                    horde_url + \"/api/v2/generate/submit\",\n                    json=submit_dict,\n                    headers=headers,\n                )\n                try:\n                    submit = submit_req.json()\n                except json.decoder.JSONDecodeError:\n                    logger.error(\n                        f\"Something has gone wrong with {horde_url} during submit. Please inform its administrator!  (Retry {loop_retry}/10)\"\n                    )\n                    time.sleep(interval)\n                    continue\n                if submit_req.status_code == 404:\n                    logger.warning(\n                        \"The generation we were working on got stale. Aborting!\"\n                    )\n                elif not submit_req.ok:\n                    logger.warning(\n                        f\"During gen submit, server {horde_url} responded with status code {submit_req.status_code}: {submit['message']}. Waiting for 10 seconds...  (Retry {loop_retry}/10)\"\n                    )\n                    if \"errors\" in submit:\n                        logger.warning(f\"Detailed Request Errors: {submit['errors']}\")\n                    time.sleep(10)\n                    continue\n                else:\n                    logger.info(\n                        f'Submitted generation with id {current_id} and contributed for {submit_req.json()[\"reward\"]}'\n                    )\n                current_id = None\n                current_payload = None\n                current_generation = None\n                loop_retry = 0\n            except requests.exceptions.ConnectionError:\n                logger.warning(\n                    f\"Server {horde_url} unavailable during submit. Waiting 10 seconds...  (Retry {loop_retry}/10)\"\n                )\n                time.sleep(10)\n                continue\n        time.sleep(interval)\n\n\nif __name__ == \"__main__\":\n    set_logger_verbosity(opt.verbosity)\n    quiesce_logger(opt.quiet)\n    if opt.cli:\n        run_headless()\n    if opt.bridge:\n        try:\n            import bridgeData as cd\n        except ModuleNotFoundError as e:\n            logger.warning(\n                \"No bridgeData found. Falling back to default where no CLI args are set.\"\n            )\n            logger.warning(str(e))\n        except SyntaxError as e:\n            logger.warning(\n                \"bridgeData found, but is malformed. Falling back to default where no CLI args are set.\"\n            )\n            logger.warning(str(e))\n        except Exception as e:\n            logger.warning(\"No bridgeData found, use default where no CLI args are set\")\n            logger.warning(str(e))\n        finally:\n            try:  # check if cd exists (i.e. bridgeData loaded properly)\n                cd\n            except:  # if not, create defaults\n\n                class temp(object):\n                    def __init__(self):\n                        random.seed()\n                        self.horde_url = \"https://stablehorde.net\"\n                        # Give a cool name to your instance\n                        self.horde_name = f\"Automated Instance #{random.randint(-100000000, 100000000)}\"\n                        # The api_key identifies a unique user in the horde\n                        self.horde_api_key = \"0000000000\"\n                        # Put other users whose prompts you want to prioritize.\n                        # The owner's username is always included so you don't need to add it here, unless you want it to have lower priority than another user\n                        self.horde_priority_usernames = []\n                        self.horde_max_power = 8\n                        self.nsfw = True\n\n                cd = temp()\n        horde_api_key = opt.horde_api_key if opt.horde_api_key else cd.horde_api_key\n        horde_name = opt.horde_name if opt.horde_name else cd.horde_name\n        horde_url = opt.horde_url if opt.horde_url else cd.horde_url\n        horde_priority_usernames = (\n            opt.horde_priority_usernames\n            if opt.horde_priority_usernames\n            else cd.horde_priority_usernames\n        )\n        horde_max_power = (\n            opt.horde_max_power if opt.horde_max_power else cd.horde_max_power\n        )\n        try:\n            horde_nsfw = not opt.horde_sfw if opt.horde_sfw else cd.horde_nsfw\n        except AttributeError:\n            horde_nsfw = True\n        try:\n            horde_censor_nsfw = (\n                opt.horde_censor_nsfw if opt.horde_censor_nsfw else cd.horde_censor_nsfw\n            )\n        except AttributeError:\n            horde_censor_nsfw = False\n        try:\n            horde_blacklist = (\n                opt.horde_blacklist if opt.horde_blacklist else cd.horde_blacklist\n            )\n        except AttributeError:\n            horde_blacklist = []\n        try:\n            horde_censorlist = (\n                opt.horde_censorlist if opt.horde_censorlist else cd.horde_censorlist\n            )\n        except AttributeError:\n            horde_censorlist = []\n        if horde_max_power < 2:\n            horde_max_power = 2\n        horde_max_pixels = 64 * 64 * 8 * horde_max_power\n        logger.info(\n            f\"Joining Horde with parameters: API Key '{horde_api_key}'. Server Name '{horde_name}'. Horde URL '{horde_url}'. Max Pixels {horde_max_pixels}\"\n        )\n        try:\n            run_bridge(\n                1,\n                horde_api_key,\n                horde_name,\n                horde_url,\n                horde_priority_usernames,\n                horde_max_pixels,\n                horde_nsfw,\n                horde_censor_nsfw,\n                horde_blacklist,\n                horde_censorlist,\n            )\n        except KeyboardInterrupt:\n            logger.info(\"Keyboard Interrupt Received. Ending Bridge\")\n    else:\n        launch_server()\n"
  },
  {
    "path": "scripts/webui_streamlit.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# base webui import and utils.\n# import streamlit as st\n\n# We import hydralit like this to replace the previous stuff\n# we had with native streamlit as it lets ur replace things 1:1\nfrom sd_utils import (\n    st,\n    hc,\n    load_configs,\n    load_css,\n    # set_logger_verbosity,\n    logger,\n    # quiesce_logger,\n    set_page_title,\n    threading,\n    random,\n)\n\n# streamlit imports\n\n# streamlit components section\n# from st_on_hover_tabs import on_hover_tabs\nfrom streamlit_server_state import server_state, server_state_lock\n\n# other imports\nimport argparse\nfrom sd_utils.bridge import run_bridge\n\n# import custom components\nfrom custom_components import draggable_number_input\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nload_configs()\n\nhelp = \"\"\"\nA double dash (`--`) is used to separate streamlit arguments from app arguments.\nAs a result using \"streamlit run webui_streamlit.py --headless\"\nwill show the help for streamlit itself and not pass any argument to our app,\nwe need to use \"streamlit run webui_streamlit.py -- --headless\"\nin order to pass a command argument to this app.\"\"\"\nparser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n\nparser.add_argument(\n    \"--headless\",\n    action=\"store_true\",\n    help=\"Don't launch web server, util if you just want to run the stable horde bridge.\",\n    default=False,\n)\n\nparser.add_argument(\n    \"--bridge\",\n    action=\"store_true\",\n    help=\"don't launch web server, but make this instance into a Horde bridge.\",\n    default=False,\n)\nparser.add_argument(\n    \"--horde_api_key\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The API key corresponding to the owner of this Horde instance\",\n)\nparser.add_argument(\n    \"--horde_name\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The server name for the Horde. It will be shown to the world and there can be only one.\",\n)\nparser.add_argument(\n    \"--horde_url\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The SH Horde URL. Where the bridge will pickup prompts and send the finished generations.\",\n)\nparser.add_argument(\n    \"--horde_priority_usernames\",\n    type=str,\n    action=\"append\",\n    required=False,\n    help=\"Usernames which get priority use in this horde instance. The owner's username is always in this list.\",\n)\nparser.add_argument(\n    \"--horde_max_power\",\n    type=int,\n    required=False,\n    help=\"How much power this instance has to generate pictures. Min: 2\",\n)\nparser.add_argument(\n    \"--horde_sfw\",\n    action=\"store_true\",\n    required=False,\n    help=\"Set to true if you do not want this worker generating NSFW images.\",\n)\nparser.add_argument(\n    \"--horde_blacklist\",\n    nargs=\"+\",\n    required=False,\n    help=\"List the words that you want to blacklist.\",\n)\nparser.add_argument(\n    \"--horde_censorlist\",\n    nargs=\"+\",\n    required=False,\n    help=\"List the words that you want to censor.\",\n)\nparser.add_argument(\n    \"--horde_censor_nsfw\",\n    action=\"store_true\",\n    required=False,\n    help=\"Set to true if you want this bridge worker to censor NSFW images.\",\n)\nparser.add_argument(\n    \"--horde_model\",\n    action=\"store\",\n    required=False,\n    help=\"Which model to run on this horde.\",\n)\nparser.add_argument(\n    \"-v\",\n    \"--verbosity\",\n    action=\"count\",\n    default=0,\n    help=\"The default logging level is ERROR or higher. This value increases the amount of logging seen in your screen\",\n)\nparser.add_argument(\n    \"-q\",\n    \"--quiet\",\n    action=\"count\",\n    default=0,\n    help=\"The default logging level is ERROR or higher. This value decreases the amount of logging seen in your screen\",\n)\nopt = parser.parse_args()\n\nwith server_state_lock[\"bridge\"]:\n    server_state[\"bridge\"] = opt.bridge\n\n\n@logger.catch(reraise=True)\ndef layout():\n    \"\"\"Layout functions to define all the streamlit layout here.\"\"\"\n    if not st.session_state[\"defaults\"].debug.enable_hydralit:\n        st.set_page_config(\n            page_title=\"Stable Diffusion Playground\",\n            layout=\"wide\",\n            initial_sidebar_state=\"collapsed\",\n        )\n\n    # app = st.HydraApp(title='Stable Diffusion WebUI', favicon=\"\", sidebar_state=\"expanded\", layout=\"wide\",\n    # hide_streamlit_markers=False, allow_url_nav=True , clear_cross_app_sessions=False)\n\n    # load css as an external file, function has an option to local or remote url. Potential use when running from cloud infra that might not have access to local path.\n    load_css(True, \"frontend/css/streamlit.main.css\")\n\n    #\n    # specify the primary menu definition\n    menu_data = [\n        {\n            \"id\": \"Stable Diffusion\",\n            \"label\": \"Stable Diffusion\",\n            \"icon\": \"bi bi-grid-1x2-fill\",\n        },\n        {\n            \"id\": \"Train\",\n            \"label\": \"Train\",\n            \"icon\": \"bi bi-lightbulb-fill\",\n            \"submenu\": [\n                {\n                    \"id\": \"Textual Inversion\",\n                    \"label\": \"Textual Inversion\",\n                    \"icon\": \"bi bi-lightbulb-fill\",\n                },\n                {\n                    \"id\": \"Fine Tunning\",\n                    \"label\": \"Fine Tunning\",\n                    \"icon\": \"bi bi-lightbulb-fill\",\n                },\n            ],\n        },\n        {\n            \"id\": \"Model Manager\",\n            \"label\": \"Model Manager\",\n            \"icon\": \"bi bi-cloud-arrow-down-fill\",\n        },\n        {\n            \"id\": \"Tools\",\n            \"label\": \"Tools\",\n            \"icon\": \"bi bi-tools\",\n            \"submenu\": [\n                {\"id\": \"API Server\", \"label\": \"API Server\", \"icon\": \"bi bi-server\"},\n                {\n                    \"id\": \"Barfi/BaklavaJS\",\n                    \"label\": \"Barfi/BaklavaJS\",\n                    \"icon\": \"bi bi-diagram-3-fill\",\n                },\n                # {'id': 'API Server', 'label': 'API Server', 'icon': 'bi bi-server'},\n            ],\n        },\n        {\"id\": \"Settings\", \"label\": \"Settings\", \"icon\": \"bi bi-gear-fill\"},\n    ]\n\n    over_theme = {\"txc_inactive\": \"#FFFFFF\", \"menu_background\": \"#000000\"}\n\n    menu_id = hc.nav_bar(\n        menu_definition=menu_data,\n        # home_name='Home',\n        # login_name='Logout',\n        hide_streamlit_markers=False,\n        override_theme=over_theme,\n        sticky_nav=True,\n        sticky_mode=\"pinned\",\n    )\n\n    #\n    # if menu_id == \"Home\":\n    # st.info(\"Under Construction. :construction_worker:\")\n\n    if menu_id == \"Stable Diffusion\":\n        # set the page url and title\n        # st.experimental_set_query_params(page='stable-diffusion')\n        try:\n            set_page_title(\"Stable Diffusion Playground\")\n        except NameError:\n            st.experimental_rerun()\n\n        (\n            txt2img_tab,\n            img2img_tab,\n            txt2vid_tab,\n            img2txt_tab,\n            post_processing_tab,\n            concept_library_tab,\n        ) = st.tabs(\n            [\n                \"Text-to-Image\",\n                \"Image-to-Image\",\n                # \"Inpainting\",\n                \"Text-to-Video\",\n                \"Image-To-Text\",\n                \"Post-Processing\",\n                \"Concept Library\",\n            ]\n        )\n        # with home_tab:\n        # from home import layout\n        # layout()\n\n        with txt2img_tab:\n            from txt2img import layout\n\n            layout()\n\n        with img2img_tab:\n            from img2img import layout\n\n            layout()\n\n        # with inpainting_tab:\n        # from inpainting import layout\n        # layout()\n\n        with txt2vid_tab:\n            from txt2vid import layout\n\n            layout()\n\n        with img2txt_tab:\n            from img2txt import layout\n\n            layout()\n\n        with post_processing_tab:\n            from post_processing import layout\n\n            layout()\n\n        with concept_library_tab:\n            from sd_concept_library import layout\n\n            layout()\n\n    #\n    elif menu_id == \"Model Manager\":\n        set_page_title(\"Model Manager - Stable Diffusion Playground\")\n\n        from ModelManager import layout\n\n        layout()\n\n    elif menu_id == \"Textual Inversion\":\n        from textual_inversion import layout\n\n        layout()\n\n    elif menu_id == \"Fine Tunning\":\n        # from textual_inversion import layout\n        # layout()\n        st.info(\"Under Construction. :construction_worker:\")\n\n    elif menu_id == \"API Server\":\n        set_page_title(\"API Server - Stable Diffusion Playground\")\n        from APIServer import layout\n\n        layout()\n\n    elif menu_id == \"Barfi/BaklavaJS\":\n        set_page_title(\"Barfi/BaklavaJS - Stable Diffusion Playground\")\n        from barfi_baklavajs import layout\n\n        layout()\n\n    elif menu_id == \"Settings\":\n        set_page_title(\"Settings - Stable Diffusion Playground\")\n\n        from Settings import layout\n\n        layout()\n\n    # calling dragable input component module at the end, so it works on all pages\n    draggable_number_input.load()\n\n\nif __name__ == \"__main__\":\n    # set_logger_verbosity(opt.verbosity)\n    # quiesce_logger(opt.quiet)\n\n    if not opt.headless:\n        layout()\n\n    with server_state_lock[\"bridge\"]:\n        if server_state[\"bridge\"]:\n            try:\n                import bridgeData as cd\n            except ModuleNotFoundError as e:\n                logger.warning(\n                    \"No bridgeData found. Falling back to default where no CLI args are set.\"\n                )\n                logger.debug(str(e))\n            except SyntaxError as e:\n                logger.warning(\n                    \"bridgeData found, but is malformed. Falling back to default where no CLI args are set.\"\n                )\n                logger.debug(str(e))\n            except Exception as e:\n                logger.warning(\n                    \"No bridgeData found, use default where no CLI args are set\"\n                )\n                logger.debug(str(e))\n            finally:\n                try:  # check if cd exists (i.e. bridgeData loaded properly)\n                    cd\n                except:  # if not, create defaults\n\n                    class temp(object):\n                        def __init__(self):\n                            random.seed()\n                            self.horde_url = \"https://stablehorde.net\"\n                            # Give a cool name to your instance\n                            self.horde_name = f\"Automated Instance #{random.randint(-100000000, 100000000)}\"\n                            # The api_key identifies a unique user in the horde\n                            self.horde_api_key = \"0000000000\"\n                            # Put other users whose prompts you want to prioritize.\n                            # The owner's username is always included so you don't need to add it here, unless you want it to have lower priority than another user\n                            self.horde_priority_usernames = []\n                            self.horde_max_power = 8\n                            self.nsfw = True\n                            self.censor_nsfw = False\n                            self.blacklist = []\n                            self.censorlist = []\n                            self.models_to_load = [\"stable_diffusion\"]\n\n                    cd = temp()\n            horde_api_key = opt.horde_api_key if opt.horde_api_key else cd.horde_api_key\n            horde_name = opt.horde_name if opt.horde_name else cd.horde_name\n            horde_url = opt.horde_url if opt.horde_url else cd.horde_url\n            horde_priority_usernames = (\n                opt.horde_priority_usernames\n                if opt.horde_priority_usernames\n                else cd.horde_priority_usernames\n            )\n            horde_max_power = (\n                opt.horde_max_power if opt.horde_max_power else cd.horde_max_power\n            )\n            # Not used yet\n            horde_models = [opt.horde_model] if opt.horde_model else cd.models_to_load\n            try:\n                horde_nsfw = not opt.horde_sfw if opt.horde_sfw else cd.horde_nsfw\n            except AttributeError:\n                horde_nsfw = True\n            try:\n                horde_censor_nsfw = (\n                    opt.horde_censor_nsfw\n                    if opt.horde_censor_nsfw\n                    else cd.horde_censor_nsfw\n                )\n            except AttributeError:\n                horde_censor_nsfw = False\n            try:\n                horde_blacklist = (\n                    opt.horde_blacklist if opt.horde_blacklist else cd.horde_blacklist\n                )\n            except AttributeError:\n                horde_blacklist = []\n            try:\n                horde_censorlist = (\n                    opt.horde_censorlist\n                    if opt.horde_censorlist\n                    else cd.horde_censorlist\n                )\n            except AttributeError:\n                horde_censorlist = []\n            if horde_max_power < 2:\n                horde_max_power = 2\n            horde_max_pixels = 64 * 64 * 8 * horde_max_power\n            logger.info(\n                f\"Joining Horde with parameters: Server Name '{horde_name}'. Horde URL '{horde_url}'. Max Pixels {horde_max_pixels}\"\n            )\n\n            try:\n                thread = threading.Thread(\n                    target=run_bridge(\n                        1,\n                        horde_api_key,\n                        horde_name,\n                        horde_url,\n                        horde_priority_usernames,\n                        horde_max_pixels,\n                        horde_nsfw,\n                        horde_censor_nsfw,\n                        horde_blacklist,\n                        horde_censorlist,\n                    ),\n                    args=(),\n                )\n                thread.daemon = True\n                thread.start()\n                # run_bridge(1, horde_api_key, horde_name, horde_url, horde_priority_usernames, horde_max_pixels, horde_nsfw, horde_censor_nsfw, horde_blacklist, horde_censorlist)\n            except KeyboardInterrupt:\n                print(\"Keyboard Interrupt Received. Ending Bridge\")\n"
  },
  {
    "path": "scripts/webui_streamlit_new.py",
    "content": ""
  },
  {
    "path": "setup.py",
    "content": "from setuptools import setup, find_packages\n\nsetup(\n    name=\"sygil-webui\",\n    version=\"0.0.1\",\n    description=\"\",\n    packages=find_packages(),\n    install_requires=[\n        \"torch\",\n        \"numpy\",\n        \"tqdm\",\n    ],\n)\n"
  },
  {
    "path": "sidebars.js",
    "content": "/**\n * Creating a sidebar enables you to:\n - create an ordered group of docs\n - render a sidebar for each doc of that group\n - provide next/previous navigation\n\n The sidebars can be generated from the filesystem, or explicitly defined here.\n\n Create as many sidebars as you want.\n */\n\n// @ts-check\n\n/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */\nconst sidebars = {\n  // By default, Docusaurus generates a sidebar from the docs folder structure\n  tutorialSidebar: [{type: 'autogenerated', dirName: '.'}],\n\n  // But you can create a sidebar manually\n  /*\n  tutorialSidebar: [\n    'intro',\n    'hello',\n    {\n      type: 'category',\n      label: 'Tutorial',\n      items: ['tutorial-basics/create-a-document'],\n    },\n  ],\n   */\n};\n\nmodule.exports = sidebars;\n"
  },
  {
    "path": "streamlit_webview.py",
    "content": "import os, webview\nfrom streamlit.web import bootstrap\nfrom streamlit import config as _config\n\nwebview.create_window(\n    \"Sygil\", \"http://localhost:8501\", width=1000, height=800, min_size=(500, 500)\n)\nwebview.start()\n\ndirname = os.path.dirname(__file__)\nfilename = os.path.join(dirname, \"scripts/webui_streamlit.py\")\n\n_config.set_option(\"server.headless\", True)\nargs = []\n\n# streamlit.cli.main_run(filename, args)\nbootstrap.run(filename, \"\", args, flag_options={})\n"
  },
  {
    "path": "webui/flet/assets/manifest.json",
    "content": "{\n  \"name\": \"Sygil\",\n  \"short_name\": \"Sygil\",\n  \"start_url\": \".\",\n  \"display\": \"standalone\",\n  \"background_color\": \"#ffffff\",\n  \"theme_color\": \"#5175C2\",\n  \"description\": \"This is a customized Flet app description.\",\n  \"orientation\": \"natural\",\n  \"prefer_related_applications\": false,\n  \"icons\": [\n    {\n      \"src\": \"icons/icon-192.png\",\n      \"sizes\": \"192x192\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"icons/icon-512.png\",\n      \"sizes\": \"512x512\",\n      \"type\": \"image/png\"\n    },\n    {\n      \"src\": \"icons/icon-maskable-192.png\",\n      \"sizes\": \"192x192\",\n      \"type\": \"image/png\",\n      \"purpose\": \"maskable\"\n    },\n    {\n      \"src\": \"icons/icon-maskable-512.png\",\n      \"sizes\": \"512x512\",\n      \"type\": \"image/png\",\n      \"purpose\": \"maskable\"\n    }\n  ]\n}\n"
  },
  {
    "path": "webui/flet/scripts/__init__.py",
    "content": "# other imports\n"
  },
  {
    "path": "webui/flet/scripts/flet_asset_manager.py",
    "content": "# flet_layer_manager.py\n\n# Flet imports\nimport flet as ft\n\n# utils imports\n\n\nclass AssetManager(ft.Container):\n    def setup(self):\n        self.width = self.page.left_panel_width\n        self.bgcolor = self.page.primary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n\n        self.set_tab_text_size(self.page.text_size)\n        self.set_tab_bgcolor(self.page.secondary_color)\n        self.set_tab_padding(self.page.container_padding)\n        self.set_tab_margin(self.page.container_margin)\n\n        self.dragbar.content.width = self.page.vertical_divider_width\n        self.dragbar.content.color = self.page.tertiary_color\n\n    def on_page_change(self):\n        self.width = self.page.left_panel_width\n        self.bgcolor = self.page.primary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n\n        self.set_tab_text_size(self.page.text_size)\n        self.set_tab_bgcolor(self.page.secondary_color)\n        self.set_tab_padding(self.page.container_padding)\n        self.set_tab_margin(self.page.container_margin)\n\n        self.dragbar.content.width = self.page.vertical_divider_width\n        self.dragbar.content.color = self.page.tertiary_color\n\n        if self.page.active_layer is not None:\n            self.page.active_layer.handle.color = self.page.tertiary_color\n\n    def add_image_as_layer(self, image):\n        return self.layer_panel.add_image_as_layer(image)\n\n    def add_images_as_layers(self, images):\n        return self.layer_panel.add_images_as_layers(images)\n\n    def set_tab_text_size(self, size):\n        for tab in self.tabs:\n            tab.tab_content.size = size\n\n    def set_tab_bgcolor(self, color):\n        for tab in self.tabs:\n            tab.content.bgcolor = color\n\n    def set_tab_padding(self, padding):\n        for tab in self.tabs:\n            tab.content.padding = padding\n\n    def set_tab_margin(self, margin):\n        for tab in self.tabs:\n            tab.content.margin = margin\n\n    def resize_asset_manager(self, e: ft.DragUpdateEvent):\n        self.page.left_panel_width = max(250, self.page.left_panel_width + e.delta_x)\n        self.width = self.page.left_panel_width\n        self.page.update()\n\n    def refresh_layers(self):\n        self.layer_panel.refresh_layers()\n\n\nclass AssetPanel(ft.Container):\n    pass\n\n\nclass LayerPanel(ft.Container):\n    def refresh_layers(self):\n        self.layers = self.content.content.controls\n        self.refresh_layer_indexes()\n        self.refresh_visible_layers()\n        self.update()\n\n    def refresh_layer_indexes(self):\n        count = 0\n        for layer in self.layers:\n            layer.index = count\n            count += 1\n\n    def refresh_visible_layers(self):\n        self.page.visible_layers = []\n        for layer in self.layers:\n            if not layer.disabled:\n                self.page.visible_layers.append(layer)\n\n    def refresh_layer_name(self, e):\n        self.page.refresh_layers()\n\n    def make_layer_active(self, index):\n        for i, layer in enumerate(self.layers):\n            layer.active = False\n            layer.handle.color = None\n            if i == index:\n                layer.active = True\n                layer.handle.color = self.page.tertiary_color\n                self.page.set_active_layer(layer)\n\n    def add_layer_slot(self, image):\n        label = ft.TextField(\n            value=image.filename,\n            focused_border_color=self.page.tertiary_color,\n            text_size=self.page.text_size,\n            content_padding=ft.padding.only(left=12, top=0, right=0, bottom=0),\n            expand=True,\n            on_submit=self.refresh_layer_name,\n        )\n        handle = ft.Icon(\n            name=ft.icons.DRAG_HANDLE,\n            color=None,\n            tooltip=\"drag to move\",\n        )\n        layer_slot = LayerSlot(\n            content=ft.Row(\n                controls=[\n                    label,\n                    handle,\n                ],\n                expand=True,\n            ),\n            height=self.page.layer_height,\n            padding=0,\n            margin=0,\n        )\n        layer_slot.label = label\n        layer_slot.handle = handle\n        layer_slot.index = 0\n        layer_slot.disabled = False\n        layer_slot.active = False\n        layer_slot.image = image\n        layer_slot.layer_image = None\n        self.content.content.controls.insert(0, layer_slot)\n        self.layers = self.content.content.controls\n        self.refresh_layer_indexes()\n        self.make_layer_active(0)\n        return layer_slot\n\n    def add_image_as_layer(self, image):\n        return self.add_layer_slot(image)\n\n    def add_images_as_layers(self, images):\n        layer_slots = []\n        for image in images:\n            layer_slots.append(self.add_image_as_layer(image))\n        return layer_slots\n\n    def get_layer_index_from_position(self, pos):\n        index = int(pos / self.page.layer_height)\n        return index\n\n    def move_layer(self, layer, index):\n        if index > len(self.layers):\n            layer = self.layers.pop(layer.index)\n            self.layers.append(layer)\n        if layer.index < index:\n            index -= 1\n        layer = self.layers.pop(layer.index)\n        self.layers.insert(index, layer)\n        self.page.refresh_layers()\n\n    def delete_layer(self, layer):\n        if not layer:\n            return\n        self.layers.pop(layer.index)\n\n\nclass LayerSlot(ft.Container):\n    pass\n\n\nclass LayerActionMenu(ft.Card):\n    def show_menu(self):\n        self.visible = True\n        self.update()\n\n    def hide_menu(self):\n        self.visible = False\n        self.update()\n\n\ndef close_menu(e):\n    layer_action_menu.hide_menu()\n\n\ndef show_hide_layer(e):\n    e.page.active_layer.disabled = False if e.page.active_layer.disabled else True\n    e.page.refresh_layers()\n    close_menu(e)\n\n\ndef move_layer_to_top(e):\n    layer_panel.move_layer(e.page.active_layer, 0)\n    close_menu(e)\n\n\ndef move_layer_up(e):\n    layer_panel.move_layer(e.page.active_layer, e.page.active_layer.index - 1)\n    close_menu(e)\n\n\ndef move_layer_down(e):\n    layer_panel.move_layer(e.page.active_layer, e.page.active_layer.index + 2)\n    close_menu(e)\n\n\ndef delete_layer(e):\n    layer_panel.delete_layer(e.page.active_layer)\n    e.page.active_layer = None\n    e.page.refresh_layers()\n    close_menu(e)\n\n\nclass LayerAction:\n    def __init__(self, text, on_click):\n        self.text = text\n        self.on_click = on_click\n\n\nlayer_action_list = [\n    LayerAction(\"Show/Hide Layer\", show_hide_layer),\n    LayerAction(\"Move Layer To Top\", move_layer_to_top),\n    LayerAction(\"Move Layer Up\", move_layer_up),\n    LayerAction(\"Move Layer Down\", move_layer_down),\n    LayerAction(\"Delete Layer\", delete_layer),\n]\n\n\ndef make_action_buttons(action_list):\n    button_list = []\n    for action in action_list:\n        button_list.append(\n            ft.TextButton(\n                text=action.text,\n                on_click=action.on_click,\n            )\n        )\n    return button_list\n\n\n# LayerActionMenu == ft.Card\nlayer_action_menu = LayerActionMenu(\n    content=ft.GestureDetector(\n        content=ft.Column(\n            controls=make_action_buttons(layer_action_list),\n            expand=False,\n            spacing=0,\n            alignment=\"start\",\n            tight=True,\n        ),\n        on_exit=close_menu,\n    ),\n    margin=0,\n    visible=False,\n)\n\n\ndef layer_left_click(e: ft.TapEvent):\n    index = layer_panel.get_layer_index_from_position(e.local_y)\n    if index >= len(layer_panel.layers):\n        return\n    layer_panel.make_layer_active(index)\n    layer_panel.update()\n\n\ndef layer_right_click(e: ft.TapEvent):\n    index = layer_panel.get_layer_index_from_position(e.local_y)\n    if index >= len(layer_panel.layers):\n        return\n    layer_panel.make_layer_active(index)\n    layer_panel.update()\n    layer_action_menu.left = e.global_x\n    layer_action_menu.top = e.global_y\n    layer_action_menu.show_menu()\n\n\ndef pickup_layer(e: ft.DragStartEvent):\n    index = layer_panel.get_layer_index_from_position(e.local_y)\n    if index >= len(layer_panel.layers):\n        return\n    layer_panel.layer_being_moved = layer_panel.layers[index]\n    layer_panel.make_layer_active(layer_panel.layer_being_moved.index)\n    layer_panel.update()\n\n\ndef on_layer_drag(e: ft.DragUpdateEvent):\n    if not layer_panel.layer_being_moved:\n        return\n    index = layer_panel.get_layer_index_from_position(e.local_y)\n    if index == layer_panel.layer_being_moved.index:\n        return\n    layer_panel.move_layer(layer_panel.layer_being_moved, index)\n\n\ndef drop_layer(e: ft.DragEndEvent):\n    e.page.refresh_layers()\n    layer_panel.layer_being_moved = None\n\n\n# LayerPanel == ft.Container\nlayer_panel = LayerPanel(\n    content=ft.GestureDetector(\n        content=ft.Column(\n            controls=[],\n            alignment=\"start\",\n            expand=True,\n            spacing=0,\n            scroll=\"hidden\",\n        ),\n        drag_interval=10,\n        on_tap_down=layer_left_click,\n        on_secondary_tap_down=layer_right_click,\n        on_vertical_drag_start=pickup_layer,\n        on_vertical_drag_update=on_layer_drag,\n        on_vertical_drag_end=drop_layer,\n    ),\n)\n\nlayer_panel.layers = []\nlayer_panel.layer_being_moved = None\nlayer_panel.layer_last_index = 0\n\n\n# AssetPanel == ft.Container\nasset_panel = AssetPanel(\n    content=ft.Column(\n        controls=[\n            ft.Text(\"Under Construction\"),\n        ],\n    ),\n)\n\n\ndef resize_asset_manager(e):\n    asset_manager.resize_asset_manager(e)\n\n\ndef realign_canvas(e):\n    e.page.align_canvas()\n\n\nasset_manager_dragbar = ft.GestureDetector(\n    mouse_cursor=ft.MouseCursor.RESIZE_COLUMN,\n    drag_interval=50,\n    on_pan_update=resize_asset_manager,\n    on_pan_end=realign_canvas,\n    content=ft.VerticalDivider(),\n)\n\n\n# AssetManager == ft.Container\nasset_manager = AssetManager(\n    content=ft.Row(\n        controls=[\n            ft.Column(\n                controls=[\n                    ft.Tabs(\n                        selected_index=0,\n                        animation_duration=300,\n                        tabs=[\n                            ft.Tab(\n                                content=layer_panel,\n                                tab_content=ft.Text(\n                                    value=\"Layers\",\n                                ),\n                            ),\n                            ft.Tab(\n                                content=asset_panel,\n                                tab_content=ft.Text(\n                                    value=\"Assets\",\n                                ),\n                            ),\n                        ],\n                    ),\n                ],\n                alignment=\"start\",\n                expand=True,\n            ),\n            asset_manager_dragbar,\n        ],\n        expand=True,\n    ),\n    clip_behavior=\"antiAlias\",\n)\n\nasset_manager.tabs = asset_manager.content.controls[0].controls[0].tabs\nasset_manager.layer_panel = layer_panel\nasset_manager.asset_panel = asset_panel\nasset_manager.dragbar = asset_manager_dragbar\n\n\"\"\"\n\t# keep track of which layers are visible\n\tdef show_hide_layer(self, e):\n\t\tparent = e.control.data['parent']\n\t\tif parent.data['visible']:\n\t\t\tparent.data['visible'] = False\n\t\t\tparent.opacity = 0.5\n\t\t\te.control.icon = ft.icons.VISIBILITY_OFF\n\t\telse:\n\t\t\tparent.data['visible'] = True\n\t\t\tparent.opacity = 1.0\n\t\t\te.control.icon = ft.icons.VISIBILITY\n\t\tself.update_visible_layer_list()\n\t\tparent.update()\n\t\tself.page.refresh_canvas()\n\n\tdef update_visible_layer_list(self):\n\t\tself.page.visible_layer_list = []\n\t\tlayer_list = self.page.layer_list\n\t\tfor layer in layer_list:\n\t\t\tif layer.data['type'] == 'slot':\n\t\t\t\tif layer.content.content.controls[1].data['visible']:\n\t\t\t\t\tself.page.visible_layer_list.append(layer)\n\n\t# keep track of which layers are active\n\tdef lock_unlock_layer(self, e):\n\t\tparent = e.control.data['parent']\n\t\tif parent.data['locked']:\n\t\t\tparent.data['locked'] = False\n\t\t\te.control.icon = ft.icons.LOCK_OPEN_OUTLINED\n\t\telse:\n\t\t\tparent.data['locked'] = True\n\t\t\te.control.icon = ft.icons.LOCK_OUTLINED\n\t\tself.update_active_layer_list()\n\t\tparent.update()\n\n\tdef update_active_layer_list(self):\n\t\tself.page.active_layer_list = []\n\t\tlayer_list = self.page.layer_list\n\t\tfor layer in layer_list:\n\t\t\tif layer.data['type'] == 'slot':\n\t\t\t\tif not layer.content.content.controls[1].data['locked']:\n\t\t\t\t\tself.page.active_layer_list.append(layer)\n\n\n\"\"\"\n"
  },
  {
    "path": "webui/flet/scripts/flet_canvas.py",
    "content": "# flet_canvas.py\n\n# Flet imports\nimport flet as ft\n\n# utils imports\nfrom scripts import flet_utils\n\n\nclass Canvas(ft.Container):\n    def setup(self):\n        self.bgcolor = self.page.secondary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n\n        self.overlay.tools.center.icon_size = self.page.icon_size\n        self.overlay.tools.zoom_in.icon_size = self.page.icon_size\n        self.overlay.tools.zoom_out.icon_size = self.page.icon_size\n\n        self.overlay.size_display.content.color = self.page.text_color\n        self.overlay.size_display.content.size = self.page.text_size\n        self.add_canvas_background()\n        self.center_canvas()\n        self.refresh_canvas()\n\n    def on_page_change(self):\n        self.bgcolor = self.page.secondary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n\n        self.overlay.tools.center.icon_size = self.page.icon_size\n        self.overlay.tools.zoom_in.icon_size = self.page.icon_size\n        self.overlay.tools.zoom_out.icon_size = self.page.icon_size\n\n        self.overlay.size_display.content.color = self.page.text_color\n        self.overlay.size_display.content.size = self.page.text_size\n        self.refresh_canvas()\n\n    def refresh_canvas(self):\n        self.image_stack.refresh_stack()\n        self.align_canvas()\n        self.overlay.refresh_canvas_overlay()\n\n    def set_current_tool(self, tool):\n        self.page.current_tool = tool\n\n    def add_canvas_background(self):\n        self.image_stack.add_canvas_background()\n\n    def add_layer_image(self, image):\n        return self.image_stack.add_layer_image(image)\n\n    def get_image_stack_preview(self):\n        return self.image_stack.get_preview()\n\n    def center_canvas(self):\n        width, height = self.page.get_viewport_size()\n        self.image_stack.offset_x = 0\n        self.image_stack.offset_y = 0\n        self.image_stack.left = (width * 0.5) - (self.image_stack.width * 0.5)\n        self.image_stack.top = (height * 0.5) - (self.image_stack.height * 0.5)\n        self.overlay.frame.left = self.image_stack.left\n        self.overlay.frame.top = self.image_stack.top\n        self.update()\n\n    def align_canvas(self):\n        width, height = self.page.get_viewport_size()\n        self.image_stack.left = (\n            (width * 0.5) - (self.image_stack.width * 0.5) + self.image_stack.offset_x\n        )\n        self.image_stack.top = (\n            (height * 0.5) - (self.image_stack.height * 0.5) + self.image_stack.offset_y\n        )\n        self.overlay.frame.left = self.image_stack.left\n        self.overlay.frame.top = self.image_stack.top\n        self.overlay.frame.scale = self.image_stack.scale\n        self.update()\n\n    def pan_canvas(self, e: ft.DragUpdateEvent):\n        self.image_stack.offset_x += e.delta_x\n        self.image_stack.offset_y += e.delta_y\n        width, height = self.page.get_viewport_size()\n        self.image_stack.offset_x = max(\n            self.image_stack.offset_x, (width - self.image_stack.width) * 0.5\n        )\n        self.image_stack.offset_y = max(\n            self.image_stack.offset_y, (height - self.image_stack.height) * 0.5\n        )\n        self.image_stack.offset_x = min(\n            self.image_stack.offset_x, (self.image_stack.width - width) * 0.5\n        )\n        self.image_stack.offset_y = min(\n            self.image_stack.offset_y, (self.image_stack.height - height) * 0.5\n        )\n        self.align_canvas()\n\n    def zoom_in(self, e):\n        if self.image_stack.scale >= 4.0:\n            self.image_stack.scale = 4.0\n        else:\n            self.image_stack.scale += 0.05\n        self.image_stack.get_scaled_size()\n        self.overlay.frame.scale = self.image_stack.scale\n        self.align_canvas()\n\n    def zoom_out(self, e):\n        if self.image_stack.scale <= 0.1:\n            self.image_stack.scale = 0.1\n        else:\n            self.image_stack.scale -= 0.05\n        self.overlay.frame.scale = self.image_stack.scale\n        self.image_stack.get_scaled_size()\n        self.align_canvas()\n\n    def clear_tools(self):\n        self.overlay.clear_tools()\n\n    def set_current_tool(self, tool):\n        if tool == \"pan\":\n            self.overlay.controls.pop(2)\n            self.overlay.controls.insert(2, pan_tool)\n        elif tool == \"move\":\n            self.overlay.controls.pop(2)\n            self.overlay.controls.insert(2, move_tool)\n        elif tool == \"box_select\":\n            self.overlay.controls.pop(2)\n            self.overlay.controls.insert(2, box_select_tool)\n        elif tool == \"brush\":\n            self.overlay.controls.pop(2)\n            self.overlay.controls.insert(2, brush_tool)\n        elif tool == \"fill\":\n            self.overlay.controls.pop(2)\n            self.overlay.controls.insert(2, fill_tool)\n        else:\n            pass\n        self.update()\n\n\nclass ImageStack(ft.Container):\n    def add_canvas_background(self):\n        image = self.page.canvas_background\n        canvas_bg = LayerImage(\n            left=0,\n            top=0,\n            width=self.width,\n            height=self.height,\n            content=ft.Image(\n                src_base64=flet_utils.convert_image_to_base64(image),\n                width=256,\n                height=256,\n                repeat=\"repeat\",\n                gapless_playback=True,\n            ),\n        )\n        canvas_bg.image = image\n        canvas_bg.offset_x = 0\n        canvas_bg.offset_y = 0\n        self.canvas_bg = canvas_bg\n        self.content.controls.append(canvas_bg)\n\n    def add_layer_image(self, image):\n        layer_image = None\n        if image.path is None:\n            layer_image = LayerImage(\n                left=0,\n                top=0,\n                width=image.width,\n                height=image.height,\n                content=ft.Image(\n                    src_base64=flet_utils.convert_image_to_base64(image),\n                    width=image.width,\n                    height=image.height,\n                    gapless_playback=True,\n                ),\n            )\n        else:\n            layer_image = LayerImage(\n                left=0,\n                top=0,\n                width=image.width,\n                height=image.height,\n                content=ft.Image(\n                    src=f\"{image.path}\",\n                    width=image.width,\n                    height=image.height,\n                    gapless_playback=True,\n                ),\n            )\n        layer_image.image = image\n        layer_image.offset_x = 0\n        layer_image.offset_y = 0\n        self.center_layer(layer_image)\n        self.content.controls.append(layer_image)\n        return layer_image\n\n    def get_preview(self):\n        stack = self.content.controls\n        return flet_utils.get_preview_from_stack(self.page.canvas_size, stack)\n\n    def refresh_stack(self):\n        self.content.controls.clear()\n        for slot in self.page.visible_layers:\n            self.content.controls.insert(0, slot.layer_image)\n        self.content.controls.insert(0, self.canvas_bg)\n        self.update()\n\n    def get_scaled_size(self):\n        self.scaled_width = self.width * self.scale\n        self.scaled_height = self.height * self.scale\n\n    def center_layer(self, layer_image):\n        layer_image.offset_x = 0\n        layer_image.offset_y = 0\n        layer_image.left = (self.width * 0.5) - (layer_image.width * 0.5)\n        layer_image.top = (self.height * 0.5) - (layer_image.height * 0.5)\n\n    def align_layer(self, layer_image):\n        layer_image.left = (\n            (self.width - layer_image.width) * 0.5\n        ) + layer_image.offset_x\n        layer_image.top = (\n            (self.height - layer_image.height) * 0.5\n        ) + layer_image.offset_y\n\n    def move_layer(self, e: ft.DragUpdateEvent):\n        layer = self.page.active_layer.layer_image\n        layer.offset_x += e.delta_x\n        layer.offset_y += e.delta_y\n        self.align_layer(layer)\n        self.update()\n\n    def finish_move_layer(self, e: ft.DragEndEvent):\n        canvas.refresh_canvas()\n\n    def resize_layer(self, e: ft.DragUpdateEvent):\n        pass\n\n    def box_select(self, e):\n        pass\n\n    def bucket_fill(self, e):\n        pass\n\n\nclass LayerImage(ft.Container):\n    pass\n\n\nclass CanvasGestures(ft.GestureDetector):\n    pass\n\n\nclass CanvasOverlay(ft.Stack):\n    def refresh_canvas_overlay(self):\n        self.refresh_canvas_size_display()\n        self.page.refresh_canvas_preview()\n\n    def refresh_canvas_size_display(self):\n        self.size_display.content.value = str(self.page.canvas_size)\n        self.update()\n\n    def clear_tools(self):\n        for tool in canvas_tools.content.controls:\n            tool.selected = False\n\n\n# ImageStack == ft.Container\nimage_stack = ImageStack(\n    width=4096,\n    height=4096,\n    left=0,\n    top=0,\n    scale=1.0,\n    content=ft.Stack(),\n)\n\nimage_stack.offset_x = 0\nimage_stack.offset_y = 0\nimage_stack.scaled_width = image_stack.width\nimage_stack.scaled_height = image_stack.height\n\ncanvas_frame = ft.Container(\n    width=4096,\n    height=4096,\n    top=0,\n    left=0,\n    scale=1.0,\n    image_fit=\"cover\",\n    alignment=ft.alignment.center,\n    content=ft.Image(\n        src_base64=flet_utils.get_canvas_frame((512, 512)),\n        gapless_playback=True,\n    ),\n)\n\n\n# CanvasGestures == ft.GestureDetector\ndef pan_canvas(e):\n    canvas.pan_canvas(e)\n\n\npan_tool = CanvasGestures(\n    mouse_cursor=ft.MouseCursor.GRAB,\n    drag_interval=10,\n    on_pan_update=pan_canvas,\n)\n\n\ndef select_layer(e):\n    pass\n\n\ndef move_layer(e):\n    image_stack.move_layer(e)\n\n\ndef finish_move_layer(e):\n    image_stack.finish_move_layer(e)\n\n\nmove_tool = CanvasGestures(\n    mouse_cursor=ft.MouseCursor.MOVE,\n    drag_interval=10,\n    on_pan_start=select_layer,\n    on_pan_update=move_layer,\n    on_pan_end=finish_move_layer,\n)\n\n\ndef set_select_start(e):\n    pass\n\n\ndef draw_select_box(e):\n    pass\n\n\ndef get_box_select(e):\n    pass\n\n\nbox_select_tool = CanvasGestures(\n    mouse_cursor=ft.MouseCursor.GRAB,\n    drag_interval=10,\n    on_pan_start=set_select_start,\n    on_pan_update=draw_select_box,\n    on_pan_end=get_box_select,\n)\n\n\ndef draw_on_layer(e):\n    pass\n\n\nbrush_tool = CanvasGestures(\n    mouse_cursor=ft.MouseCursor.GRAB,\n    drag_interval=10,\n    on_pan_update=draw_on_layer,\n)\n\n\ndef fill_selection(e):\n    pass\n\n\nfill_tool = CanvasGestures(\n    mouse_cursor=ft.MouseCursor.GRAB,\n    drag_interval=10,\n    on_tap=fill_selection,\n)\n\ncanvas_size_display = ft.Container(\n    content=ft.Text(\n        value=\"test\",\n    ),\n    left=4,\n    bottom=4,\n    padding=4,\n    border_radius=10,\n    opacity=0.5,\n    bgcolor=\"black\",\n)\n\n\ndef center_canvas(e):\n    canvas.center_canvas()\n\n\ncenter_canvas_button = ft.IconButton(\n    content=ft.Icon(ft.icons.FILTER_CENTER_FOCUS_OUTLINED),\n    tooltip=\"center canvas\",\n    on_click=center_canvas,\n)\n\n\ndef set_pan_tool(e):\n    e.page.set_current_tool(e)\n\n\npan_canvas_button = ft.IconButton(\n    content=ft.Icon(ft.icons.PAN_TOOL_OUTLINED),\n    tooltip=\"pan canvas\",\n    on_click=set_pan_tool,\n    selected=True,\n    data={\"label\": \"pan\"},\n)\n\n\ndef zoom_in_canvas(e):\n    canvas.zoom_in(e)\n\n\nzoom_in_button = ft.IconButton(\n    content=ft.Icon(ft.icons.ZOOM_IN_OUTLINED),\n    tooltip=\"zoom in canvas\",\n    on_click=zoom_in_canvas,\n)\n\n\ndef zoom_out_canvas(e):\n    canvas.zoom_out(e)\n\n\nzoom_out_button = ft.IconButton(\n    content=ft.Icon(ft.icons.ZOOM_OUT_OUTLINED),\n    tooltip=\"zoom out canvas\",\n    on_click=zoom_out_canvas,\n)\n\ncanvas_tools = ft.Container(\n    content=ft.Column(\n        controls=[\n            center_canvas_button,\n            pan_canvas_button,\n            zoom_in_button,\n            zoom_out_button,\n        ],\n        horizontal_alignment=\"end\",\n    ),\n    top=4,\n    right=4,\n    padding=4,\n    border_radius=10,\n    opacity=0.5,\n    bgcolor=\"black\",\n    disabled=False,\n)\n\ncanvas_tools.center = center_canvas_button\ncanvas_tools.zoom_in = zoom_in_button\ncanvas_tools.zoom_out = zoom_out_button\n\n\n# CanvasOverlay == ft.Stack\ncanvas_overlay = CanvasOverlay(\n    [\n        canvas_frame,\n        pan_tool,\n        canvas_size_display,\n        canvas_tools,\n    ],\n)\n\ncanvas_overlay.frame = canvas_frame\ncanvas_overlay.size_display = canvas_size_display\ncanvas_overlay.tools = canvas_tools\n\n\n# Canvas = ft.Container\ncanvas = Canvas(\n    content=ft.Stack(\n        [\n            image_stack,\n            canvas_overlay,\n        ],\n    ),\n    clip_behavior=\"antiAlias\",\n    alignment=ft.alignment.center,\n    expand=True,\n)\n\ncanvas.image_stack = image_stack\ncanvas.overlay = canvas_overlay\n"
  },
  {
    "path": "webui/flet/scripts/flet_file_manager.py",
    "content": "# flet_file_manager.py\n\n# Flet imports\nimport flet as ft\n\n# other imports\nfrom typing import Dict\n\n# utils imports\nfrom scripts import flet_utils\n\n\nclass UploadWindow(ft.AlertDialog):\n    def upload_file(self, e):\n        if file_picker.result is not None and file_picker.result.files is not None:\n            file_list = []\n            for f in file_picker.result.files:\n                upload_url = e.page.get_upload_url(f.name, 600)\n                img = ft.FilePickerUploadFile(f.name, upload_url)\n                file_list.append(img)\n            file_picker.upload(file_list)\n\n    def upload_complete(self, e):\n        self.progress_bars.clear()\n        self.selected_files.controls.clear()\n        e.page.close_uploads(e)\n        e.page.add_images_as_layers(file_picker.images)\n        file_picker.images.clear()\n        e.page.message(\"File upload(s) complete.\")\n\n    def get_image_from_uploads(self, name):\n        return flet_utils.get_image_from_uploads(name)\n\n    def get_file_display(self, name, progress):\n        display = ft.Row(\n            controls=[\n                progress,\n                ft.Text(name),\n            ],\n        )\n        return display\n\n\nclass ImportWindow(ft.AlertDialog):\n    pass\n\n\nselected_files = ft.Column(\n    scroll=\"auto\",\n    tight=True,\n    controls=[],\n)\n\nprogress_bars: Dict[str, ft.ProgressBar] = {}\n\n\ndef upload_file(e):\n    uploads.upload_file(e)\n\n\ndef close_upload_window(e):\n    e.page.close_uploads(e)\n\n\nuploads = UploadWindow(\n    title=ft.Text(\"Confirm file upload(s)\"),\n    content=selected_files,\n    actions_alignment=\"center\",\n    actions=[\n        ft.ElevatedButton(\"UPLOAD\", on_click=upload_file),\n        ft.TextButton(\"CANCEL\", on_click=close_upload_window),\n    ],\n)\n\nuploads.selected_files = selected_files\nuploads.progress_bars = progress_bars\n\n\ndef import_file(e):\n    e.page.close_imports(e)\n\n\ndef close_import_window(e):\n    e.page.close_imports(e)\n\n\nimports = ImportWindow(\n    title=ft.Text(\"Confirm file import(s)\"),\n    content=selected_files,\n    actions_alignment=\"center\",\n    actions=[\n        ft.ElevatedButton(\"IMPORT\", on_click=import_file),\n        ft.TextButton(\"CANCEL\", on_click=close_import_window),\n    ],\n)\n\nimports.selected_files = selected_files\nimports.progress_bars = progress_bars\n\n\ndef pick_images(e: ft.FilePickerResultEvent):\n    progress_bars.clear()\n    selected_files.controls.clear()\n    file_picker.images.clear()\n    # check to see if files or directory were chosen\n    if e.files is not None and e.path is None:\n        for f in e.files:\n            prog = ft.ProgressRing(\n                width=12,\n                height=12,\n                stroke_width=2,\n                value=0,\n                color=\"blue\",\n            )\n            progress_bars[f.name] = prog\n            selected_files.controls.append(uploads.get_file_display(f.name, prog))\n            file_picker.pending += 1\n        # upload if remote, import if local\n        if e.page.web:\n            e.page.open_uploads(e)\n        else:\n            e.page.open_imports(e)\n\n\ndef on_image_upload(e: ft.FilePickerUploadEvent):\n    if e.error:\n        e.page.message(f\"Upload error occurred! Failed to fetch '{e.file_name}'.\", 1)\n        file_picker.pending -= 1\n    else:\n        # update progress bars\n        progress_bars[e.file_name].value = e.progress\n        progress_bars[e.file_name].update()\n        if e.progress >= 1:\n            file_picker.pending -= 1\n            file_picker.images.append(uploads.get_image_from_uploads(e.file_name))\n        if file_picker.pending <= 0:\n            file_picker.pending = 0\n            uploads.upload_complete(e)\n\n\nfile_picker = ft.FilePicker(on_result=pick_images, on_upload=on_image_upload)\n\nfile_picker.pending = 0\nfile_picker.images = []\n"
  },
  {
    "path": "webui/flet/scripts/flet_gallery_window.py",
    "content": "# flet_gallery_window.py\n\n# Flet imports\nimport flet as ft\n\n# utils imports\nfrom scripts import flet_utils\n\n\nclass GalleryWindow(ft.AlertDialog):\n    def setup(self):\n        self.refresh_galleries()\n\n    def refresh_galleries(self):\n        self.refresh_gallery(\"uploads\")\n        self.refresh_gallery(\"outputs\")\n\n    def refresh_gallery(self, gallery_name):\n        if gallery_name == \"uploads\":\n            self.uploads_gallery.get_gallery_display(gallery_name)\n        elif gallery_name == \"outputs\":\n            self.outputs_gallery.get_gallery_display(gallery_name)\n        else:\n            page.message(f\"{gallery_name} gallery not found.\", 1)\n            return None\n\n    def get_gallery_images(self, gallery_name):\n        return flet_utils.get_gallery_images(gallery_name)\n\n    def select_image(self, e):\n        if e.control.border:\n            e.control.border = None\n            if e.control.image in self.selected_images:\n                self.selected_images.remove(e.control.image)\n            e.control.update()\n        else:\n            e.control.border = ft.border.all(2, e.page.tertiary_color)\n            self.selected_images.append(e.control.image)\n            e.control.update()\n\n\nclass GalleryDisplay(ft.Container):\n    def get_gallery_display(self, gallery_name):\n        self.content = ft.GridView(\n            controls=None,\n            padding=0,\n            runs_count=3,\n            run_spacing=12,\n            spacing=12,\n            expand=True,\n        )\n        gallery = gallery_window.get_gallery_images(gallery_name)\n        if not gallery:\n            self.content.controls.append(\n                ft.Image(\n                    src=\"/images/chickens.jpg\",\n                    tooltip=\"Nothing here but us chickens!\",\n                    gapless_playback=True,\n                )\n            )\n            return\n\n        for image in gallery:\n            gallery_image = GalleryImage(\n                content=ft.Image(\n                    src=image.path,\n                    tooltip=image.filename,\n                    width=image.width,\n                    height=image.height,\n                    gapless_playback=True,\n                ),\n                image_fit=\"contain\",\n                height=image.height,\n                width=image.width,\n                padding=0,\n                margin=0,\n                border=None,\n                on_click=gallery_window.select_image,\n            )\n            gallery_image.image = image\n            self.content.controls.append(gallery_image)\n\n\nclass GalleryImage(ft.Container):\n    pass\n\n\ndef add_as_new_layer(e):\n    if gallery_window.selected_images:\n        e.page.add_images_as_layers(gallery_window.selected_images)\n        gallery_window.selected_images.clear()\n        for tab in gallery_window.content.content.tabs:\n            for image in tab.content.content.controls:\n                image.border = None\n                image.update()\n\n\ndef save_to_disk(e):\n    pass\n\n\ndef remove_from_gallery(e):\n    pass\n\n\nuploads_gallery = GalleryDisplay(\n    content=None,\n    clip_behavior=\"antiAlias\",\n)\n\noutputs_gallery = GalleryDisplay(\n    content=None,\n    clip_behavior=\"antiAlias\",\n)\n\n# GalleryWindow == ft.AlertDialog\ngallery_window = GalleryWindow(\n    title=ft.Text(\"Gallery\"),\n    content=ft.Container(\n        content=ft.Tabs(\n            selected_index=0,\n            animation_duration=300,\n            tabs=[\n                ft.Tab(\n                    text=\"Uploads\",\n                    content=uploads_gallery,\n                ),\n                ft.Tab(\n                    text=\"Outputs\",\n                    content=outputs_gallery,\n                ),\n            ],\n        ),\n    ),\n    actions=[\n        ft.ElevatedButton(\n            text=\"Add As New Layer(s)\",\n            icon=ft.icons.ADD_OUTLINED,\n            on_click=add_as_new_layer,\n        ),\n        ft.ElevatedButton(\n            text=\"Save\",\n            icon=ft.icons.SAVE_OUTLINED,\n            on_click=save_to_disk,\n        ),\n        ft.ElevatedButton(\n            text=\"Discard\",\n            icon=ft.icons.DELETE_OUTLINED,\n            on_click=remove_from_gallery,\n        ),\n    ],\n    actions_alignment=\"end\",\n)\n\ngallery_window.uploads_gallery = uploads_gallery\ngallery_window.outputs_gallery = outputs_gallery\ngallery_window.selected_images = []\n"
  },
  {
    "path": "webui/flet/scripts/flet_messages.py",
    "content": "# flet_messages.py\n\n# Flet imports\nimport flet as ft\n\n# utils imports\nfrom scripts import flet_utils\n\n\nclass Messages(ft.Container):\n    def setup(self):\n        self.height = self.page.bottom_panel_height\n        self.bgcolor = self.page.primary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n\n        self.set_tab_text_size(self.page.text_size)\n        self.set_tab_bgcolor(self.page.secondary_color)\n        self.set_tab_padding(self.page.container_padding)\n        self.set_tab_margin(self.page.container_margin)\n\n        self.dragbar.content.height = self.page.divider_height\n        self.dragbar.content.color = self.page.tertiary_color\n\n    def on_page_change(self):\n        self.height = self.page.bottom_panel_height\n        self.bgcolor = self.page.primary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n\n        self.set_tab_text_size(self.page.text_size)\n        self.set_tab_bgcolor(self.page.secondary_color)\n        self.set_tab_padding(self.page.container_padding)\n        self.set_tab_margin(self.page.container_margin)\n\n        self.dragbar.content.height = self.page.divider_height\n        self.dragbar.content.color = self.page.tertiary_color\n\n    def set_tab_text_size(self, size):\n        for tab in self.tabs:\n            tab.tab_content.size = size\n\n    def set_tab_bgcolor(self, color):\n        for tab in self.tabs:\n            tab.content.bgcolor = color\n\n    def set_tab_padding(self, padding):\n        for tab in self.tabs:\n            tab.content.padding = padding\n\n    def set_tab_margin(self, margin):\n        for tab in self.tabs:\n            tab.content.margin = margin\n\n    def resize_messages(self, e: ft.DragUpdateEvent):\n        self.page.bottom_panel_height = max(\n            100, self.page.bottom_panel_height - e.delta_y\n        )\n        self.height = self.page.bottom_panel_height\n        self.page.update()\n\n    def message(self, text, err=0):\n        if err:\n            text = \"ERROR:  \" + text\n        self.add_message_to_messages(err, text)\n        flet_utils.log_message(text)\n\n    def prune_messages(self):\n        if len(message_list.controls) > self.page.max_message_history:\n            message_list.controls.pop(0)\n        message_list.update()\n\n    def add_message_to_messages(self, err, text):\n        if err:\n            msg = ft.Text(value=text, color=ft.colors.RED)\n        else:\n            msg = ft.Text(value=text)\n        message_list.controls.append(msg)\n        self.prune_messages()\n\n\nmessage_list = ft.ListView(\n    spacing=4,\n    auto_scroll=True,\n    controls=[],\n)\n\nmessages_panel = ft.Container(\n    content=message_list,\n)\n\nvideo_editor_panel = ft.Column(expand=True, controls=[ft.Text(\"Under Construction\")])\n\n\ndef resize_messages(e):\n    messages.resize_messages(e)\n\n\ndef realign_canvas(e):\n    e.page.align_canvas()\n\n\nmessages_dragbar = ft.GestureDetector(\n    mouse_cursor=ft.MouseCursor.RESIZE_ROW,\n    drag_interval=50,\n    on_pan_update=resize_messages,\n    on_pan_end=realign_canvas,\n    content=ft.Divider(),\n)\n\nmessages = Messages(\n    content=ft.Stack(\n        controls=[\n            messages_dragbar,\n            ft.Tabs(\n                selected_index=0,\n                animation_duration=300,\n                tabs=[\n                    ft.Tab(\n                        content=messages_panel,\n                        tab_content=ft.Text(\n                            value=\"Messages\",\n                        ),\n                    ),\n                    ft.Tab(\n                        content=video_editor_panel,\n                        tab_content=ft.Text(\n                            value=\"Video Editor\",\n                        ),\n                    ),\n                ],\n            ),\n        ],\n    ),\n    clip_behavior=\"antiAlias\",\n)\n\nmessages.dragbar = messages_dragbar\nmessages.tabs = messages.content.controls[1].tabs\nmessages.messages_panel = messages_panel\nmessages.video_editor_panel = video_editor_panel\nmessages.message_list = message_list\n"
  },
  {
    "path": "webui/flet/scripts/flet_property_manager.py",
    "content": "# flet_property_manager.py\n\n# Flet imports\nimport flet as ft\n\n# utils imports\nfrom scripts import flet_utils\n\n\nclass PropertyManager(ft.Container):\n    def setup(self):\n        self.width = self.page.right_panel_width\n        self.bgcolor = self.page.primary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n        self.set_tab_text_size(self.page.text_size)\n        self.set_tab_bgcolor(self.page.secondary_color)\n        self.set_tab_padding(self.page.container_padding)\n        self.set_tab_margin(self.page.container_margin)\n        self.dragbar.content.width = self.page.vertical_divider_width\n        self.dragbar.content.color = self.page.tertiary_color\n        self.property_panel.preview.width = self.page.right_panel_width\n        self.property_panel.preview_dragbar.content.content.height = (\n            self.page.divider_height\n        )\n        self.property_panel.preview_dragbar.content.content.color = (\n            self.page.tertiary_color\n        )\n        self.property_panel.canvas_properties_divider.content.height = (\n            self.page.divider_height\n        )\n        self.property_panel.canvas_properties_divider.content.color = (\n            self.page.tertiary_color\n        )\n        self.property_panel.layer_properties_divider.content.height = (\n            self.page.divider_height\n        )\n        self.property_panel.layer_properties_divider.content.color = (\n            self.page.tertiary_color\n        )\n\n        self.page.refresh_canvas_preview()\n        self.refresh_canvas_properties()\n\n    def on_page_change(self):\n        self.width = self.page.right_panel_width\n        self.bgcolor = self.page.primary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n        self.set_tab_text_size(self.page.text_size)\n        self.set_tab_bgcolor(self.page.secondary_color)\n        self.set_tab_padding(self.page.container_padding)\n        self.set_tab_margin(self.page.container_margin)\n        self.dragbar.content.width = self.page.vertical_divider_width\n        self.dragbar.content.color = self.page.tertiary_color\n        self.property_panel.preview.width = self.page.right_panel_width\n        self.property_panel.preview_dragbar.content.content.height = (\n            self.page.divider_height\n        )\n        self.property_panel.preview_dragbar.content.content.color = (\n            self.page.tertiary_color\n        )\n        self.property_panel.canvas_properties_divider.content.height = (\n            self.page.divider_height\n        )\n        self.property_panel.canvas_properties_divider.content.color = (\n            self.page.tertiary_color\n        )\n        self.property_panel.layer_properties_divider.content.height = (\n            self.page.divider_height\n        )\n        self.property_panel.layer_properties_divider.content.color = (\n            self.page.tertiary_color\n        )\n\n    def set_tab_text_size(self, size):\n        for tab in self.tabs:\n            tab.tab_content.size = size\n\n    def set_tab_bgcolor(self, color):\n        for tab in self.tabs:\n            tab.content.content.bgcolor = color\n\n    def set_tab_padding(self, padding):\n        for tab in self.tabs:\n            tab.content.padding = padding\n\n    def set_tab_margin(self, margin):\n        for tab in self.tabs:\n            tab.content.margin = margin\n\n    def set_preview_size(self, width):\n        self.property_panel.preview.width = width\n\n    def set_preview_image(self, image):\n        self.property_panel.preview.content.src_base64 = (\n            flet_utils.convert_image_to_base64(image)\n        )\n        self.property_panel.update()\n\n    def refresh_canvas_properties(self):\n        self.property_panel.refresh_canvas_properties()\n\n    def refresh_layer_properties(self):\n        self.property_panel.refresh_layer_properties()\n\n    def resize_property_manager(self, e: ft.DragUpdateEvent):\n        self.page.right_panel_width = max(250, self.page.right_panel_width - e.delta_x)\n        self.width = self.page.right_panel_width\n        self.property_panel.preview.width = self.page.right_panel_width\n        self.page.update()\n\n\nclass PropertyPanel(ft.Container):\n    def resize_preview(self, e):\n        self.preview.height = max(200, self.preview.height + e.delta_y)\n        self.update()\n\n    def refresh_canvas_properties(self):\n        self.canvas_properties.controls[0].controls[1].value = self.page.canvas_size[0]\n        self.canvas_properties.controls[0].controls[3].value = self.page.canvas_size[1]\n        self.canvas_properties.update()\n\n    def refresh_layer_properties(self):\n        active = True if self.page.active_layer else False\n        if active:\n            self.layer_property_header.disabled = False\n            self.layer_property_header.open = True\n            self.layer_property_header.icon = ft.icons.ARROW_DROP_DOWN\n            self.layer_property_header.icon_color = self.page.tertiary_color\n            self.layer_properties.visible = True\n            self.layer_properties.controls[0].controls[\n                0\n            ].value = self.page.active_layer.label.value\n            self.layer_properties.controls[1].controls[\n                0\n            ].value = self.page.active_layer.image.width\n            self.layer_properties.controls[1].controls[\n                1\n            ].value = self.page.active_layer.image.height\n        else:\n            self.layer_property_header.disabled = True\n            self.layer_property_header.open = False\n            self.layer_property_header.icon = ft.icons.ARROW_RIGHT\n            self.layer_property_header.icon_color = None\n            self.layer_properties.visible = False\n        self.update()\n\n\npreview_pane = ft.Container(\n    content=ft.Image(\n        src_base64=None,\n        gapless_playback=True,\n    ),\n    image_fit=\"contain\",\n    bgcolor=\"black\",\n    height=200,\n    padding=0,\n    margin=0,\n)\n\n\ndef resize_preview(e):\n    property_panel.resize_preview(e)\n\n\npreview_dragbar = ft.GestureDetector(\n    mouse_cursor=ft.MouseCursor.RESIZE_ROW,\n    drag_interval=50,\n    on_pan_update=resize_preview,\n    content=ft.Container(\n        content=ft.Divider(),\n        margin=0,\n        padding=0,\n    ),\n)\n\n\ndef open_close_canvas_properties(e):\n    if canvas_property_header.open:\n        e.control.icon = ft.icons.ARROW_RIGHT\n        e.control.icon_color = None\n        canvas_property_header.open = False\n        canvas_properties.visible = False\n        property_panel.update()\n    else:\n        e.control.icon = ft.icons.ARROW_DROP_DOWN\n        e.control.icon_color = e.page.tertiary_color\n        canvas_property_header.open = True\n        canvas_properties.visible = True\n        property_panel.update()\n\n\ncanvas_property_header = ft.Column(\n    controls=[\n        ft.TextButton(\n            text=\"Canvas Properties\",\n            icon=ft.icons.ARROW_RIGHT,\n            on_click=open_close_canvas_properties,\n        ),\n    ],\n)\n\ncanvas_property_header.open = False\n\ncanvas_properties = ft.Column(\n    visible=False,\n    controls=[\n        ft.Row(\n            controls=[\n                ft.Text(\n                    value=\"Width:\",\n                    text_align=\"center\",\n                    no_wrap=True,\n                    expand=2,\n                ),\n                ft.Text(\n                    value=0,\n                    text_align=\"start\",\n                    expand=1,\n                ),\n                ft.Text(\n                    value=\"Height:\",\n                    text_align=\"start\",\n                    no_wrap=True,\n                    expand=2,\n                ),\n                ft.Text(\n                    value=0,\n                    text_align=\"center\",\n                    expand=1,\n                ),\n            ],\n        ),\n    ],\n)\n\ncanvas_property_divider = ft.Container(\n    content=ft.Divider(),\n    margin=0,\n    padding=0,\n)\n\n\ndef open_close_layer_properties(e):\n    if layer_property_header.open:\n        e.control.icon = ft.icons.ARROW_RIGHT\n        e.control.icon_color = None\n        layer_property_header.open = False\n        layer_properties.visible = False\n        property_panel.update()\n    else:\n        e.control.icon = ft.icons.ARROW_DROP_DOWN\n        e.control.icon_color = e.page.tertiary_color\n        layer_property_header.open = True\n        layer_properties.visible = True\n        property_panel.update()\n\n\nlayer_property_header = ft.TextButton(\n    text=\"Layer Properties\",\n    icon=ft.icons.ARROW_RIGHT,\n    on_click=open_close_layer_properties,\n    disabled=True,\n)\n\nlayer_property_header.open = False\n\n\ndef update_layer_name(e):\n    e.page.active_layer.label.value = e.control.value\n    e.page.asset_manager.update()\n\n\nlayer_properties = ft.Column(\n    visible=False,\n    controls=[\n        ft.Row(\n            controls=[\n                ft.TextField(\n                    label=\"Layer Name\",\n                    value=\"\",\n                    text_align=\"center\",\n                    content_padding=0,\n                    expand=1,\n                    on_submit=update_layer_name,\n                ),\n            ],\n        ),\n        ft.Row(\n            controls=[\n                ft.TextField(\n                    label=\"Width\",\n                    value=0,\n                    text_align=\"center\",\n                    content_padding=0,\n                    expand=1,\n                ),\n                ft.TextField(\n                    label=\"Height\",\n                    value=0,\n                    text_align=\"center\",\n                    content_padding=0,\n                    expand=1,\n                ),\n            ],\n        ),\n    ],\n)\n\nlayer_property_divider = ft.Container(\n    content=ft.Divider(),\n    margin=0,\n    padding=0,\n)\n\n\nproperty_panel = PropertyPanel(\n    content=ft.Column(\n        controls=[\n            preview_pane,\n            preview_dragbar,\n            canvas_property_header,\n            canvas_properties,\n            canvas_property_divider,\n            layer_property_header,\n            layer_properties,\n            layer_property_divider,\n        ],\n    ),\n)\n\nproperty_panel.preview = preview_pane\nproperty_panel.preview_dragbar = preview_dragbar\nproperty_panel.canvas_property_header = canvas_property_header\nproperty_panel.canvas_properties_divider = canvas_property_divider\nproperty_panel.canvas_properties = canvas_properties\nproperty_panel.layer_property_header = layer_property_header\nproperty_panel.layer_properties = layer_properties\nproperty_panel.layer_properties_divider = layer_property_divider\n\noutput_panel = PropertyPanel(\n    content=ft.Column(\n        controls=[\n            ft.Text(\"Under Construction.\"),\n        ],\n    ),\n)\n\n\ndef resize_property_manager(e):\n    property_manager.resize_property_manager(e)\n\n\ndef realign_canvas(e):\n    e.page.align_canvas()\n\n\nproperty_manager_dragbar = ft.GestureDetector(\n    mouse_cursor=ft.MouseCursor.RESIZE_COLUMN,\n    drag_interval=50,\n    on_pan_update=resize_property_manager,\n    on_pan_end=realign_canvas,\n    content=ft.VerticalDivider(),\n)\n\nproperty_manager = PropertyManager(\n    content=ft.Row(\n        controls=[\n            property_manager_dragbar,\n            ft.Column(\n                controls=[\n                    ft.Tabs(\n                        selected_index=0,\n                        animation_duration=300,\n                        tabs=[\n                            ft.Tab(\n                                content=property_panel,\n                                tab_content=ft.Text(\n                                    value=\"Properties\",\n                                ),\n                            ),\n                            ft.Tab(\n                                content=output_panel,\n                                tab_content=ft.Text(\n                                    value=\"Output\",\n                                ),\n                            ),\n                        ],\n                    ),\n                ],\n                alignment=\"start\",\n                expand=True,\n            ),\n            ft.VerticalDivider(\n                width=4,\n                opacity=0,\n            ),\n        ],\n        expand=True,\n    ),\n    clip_behavior=\"antiAlias\",\n)\n\nproperty_manager.tabs = property_manager.content.controls[1].controls[0].tabs\nproperty_manager.dragbar = property_manager_dragbar\nproperty_manager.property_panel = property_panel\nproperty_manager.output_panel = output_panel\n"
  },
  {
    "path": "webui/flet/scripts/flet_settings_window.py",
    "content": "# flet_settings_window.py\n\n# Flet imports\nimport flet as ft\n\n# utils imports\n\n\nclass SettingsWindow(ft.AlertDialog):\n    def setup(self, settings):\n        self.get_settings_window_tabs(settings)\n\n    def get_settings_window_tab_page_setting_slider(\n        self, settings, section, setting, display_width\n    ):\n        setting_slider = []\n        setting_value = None\n        if settings[setting][\"value_type\"] == \"int\":\n            setting_value = int(settings[setting][\"value\"])\n        elif settings[setting][\"value_type\"] == \"float\":\n            setting_value = float(settings[setting][\"value\"])\n        else:\n            setting_value = settings[setting][\"value\"]\n        label = ft.Text(\n            value=setting,\n            text_align=\"center\",\n        )\n        row = SettingsDisplay(\n            width=display_width,\n            data=[self, section, setting],\n            controls=[],\n        )\n        slider = ft.Slider(\n            value=setting_value,\n            label=\"{value}\",\n            min=settings[setting][\"min\"],\n            max=settings[setting][\"max\"],\n            divisions=int(\n                (settings[setting][\"max\"] - settings[setting][\"min\"])\n                / settings[setting][\"step\"]\n            ),\n            on_change=row.settings_window_tab_slider_changed,\n            data=row,\n            expand=4,\n        )\n        value = ft.TextField(\n            value=setting_value,\n            on_submit=row.settings_window_tab_slider_changed,\n            data=row,\n            content_padding=10,\n            expand=1,\n        )\n        row.controls.extend([slider, value])\n        setting_slider.extend([label, row])\n        return setting_slider\n\n    def get_settings_window_tab_settings(self, settings, section):\n        settings = settings[section]\n        section_settings = [ft.Divider(height=10, color=\"gray\")]\n        display_width = (self.content.width * 0.5) - 5\n        for setting in settings:\n            if \"value\" not in settings[setting]:\n                continue\n            new_row = SettingsDisplay()\n            new_row\n            display = None\n            display_type = settings[setting][\"display\"]\n            if display_type == \"dropdown\":\n                option_list = []\n                for i in range(len(settings[setting][\"option_list\"])):\n                    item = ft.dropdown.Option(text=settings[setting][\"option_list\"][i])\n                    option_list.append(item)\n                display = ft.Dropdown(\n                    label=setting,\n                    value=settings[setting][\"value\"],\n                    options=option_list,\n                    on_change=new_row.settings_window_tab_setting_changed,\n                    data=section,\n                    content_padding=10,\n                    width=display_width,\n                )\n            elif display_type == \"textinput\":\n                display = ft.TextField(\n                    label=setting,\n                    value=settings[setting][\"value\"],\n                    on_submit=new_row.settings_window_tab_setting_changed,\n                    data=section,\n                    content_padding=10,\n                    width=display_width,\n                )\n            elif display_type == \"bool\":\n                display = ft.Switch(\n                    label=setting,\n                    value=settings[setting][\"value\"],\n                    on_change=new_row.settings_window_tab_setting_changed,\n                    data=section,\n                    width=display_width,\n                )\n            elif display_type == \"slider\":\n                display = ft.Column(\n                    controls=self.get_settings_window_tab_page_setting_slider(\n                        settings, section, setting, display_width\n                    ),\n                )\n            else:\n                continue\n            new_row.data = [self, section, setting]\n            new_row.controls.append(display)\n            section_settings.append(new_row)\n        return section_settings\n\n    def get_settings_window_tab_page(self, settings, section):\n        settings_window_tab_page = ft.Column(\n            alignment=\"start\",\n            scroll=\"auto\",\n            controls=self.get_settings_window_tab_settings(settings, section),\n        )\n        return settings_window_tab_page\n\n    def get_settings_window_tabs(self, settings):\n        tabs = []\n        for section in settings:\n            if section.endswith(\"_page\"):\n                tab = ft.Tab(\n                    text=section.split(\"_\")[0],\n                    content=self.get_settings_window_tab_page(settings, section),\n                )\n                tabs.append(tab)\n        self.content.content.tabs = tabs\n\n    def update_settings_window_tab(self, section):\n        settings = self.page.session.get(\"settings\")\n        for i, tab in enumerate(self.content.content.tabs):\n            if section.startswith(tab.text):\n                self.content.content.tabs[\n                    i\n                ].content = self.get_settings_window_tab_page(settings, section)\n                return\n\n    def update_settings_window(self):\n        self.get_settings_window_tabs(self.page.session.get(\"settings\"))\n        self.page.update()\n\n\nclass SettingsDisplay(ft.Row):\n    def settings_window_tab_setting_changed(self, e):\n        settings = self.page.session.get(\"settings\")\n        settings[e.control.data][e.control.label][\"value\"] = e.control.value\n        update_settings_window_tab(e.control.data)\n        self.page.update()\n\n    def settings_window_tab_slider_changed(self, e):\n        settings = self.page.session.get(\"settings\")\n        parent = e.control.data\n        setting = settings[parent.data[1]][parent.data[2]]\n        setting_value = None\n        if setting[\"value_type\"] == \"int\":\n            setting_value = int(e.control.value)\n        elif setting[\"value_type\"] == \"float\":\n            setting_value = float(e.control.value)\n        else:\n            setting_value = e.control.value\n        setting[\"value\"] = setting_value\n        parent.controls[0].value = setting_value\n        parent.controls[1].value = str(setting_value)\n        parent.data[0].update_settings_window_tab(parent.data[1])\n        self.page.update()\n\n\ndef apply_settings(e):\n    settings_window.update_settings_window()\n\n\ndef save_settings(e):\n    save_settings_to_config()\n    settings_window.update_settings_window()\n\n\ndef reset_settings(e):\n    reset_settings_from_config()\n    settings_window.update_settings_window()\n\n\n# SettingsWindow == ft.AlertDialog\nsettings_window = SettingsWindow(\n    title=ft.Text(\"Settings\"),\n    content=ft.Container(\n        content=ft.Tabs(\n            selected_index=0,\n            animation_duration=300,\n            tabs=None,\n        ),\n    ),\n    actions=[\n        ft.ElevatedButton(\n            text=\"Apply\",\n            icon=ft.icons.CHECK_CIRCLE,\n            on_click=apply_settings,\n        ),\n        ft.ElevatedButton(\n            text=\"Save\",\n            icon=ft.icons.SAVE,\n            on_click=save_settings,\n        ),\n        ft.ElevatedButton(\n            text=\"Restore Defaults\",\n            icon=ft.icons.RESTORE_FROM_TRASH_ROUNDED,\n            on_click=reset_settings,\n        ),\n    ],\n    actions_alignment=\"end\",\n)\n"
  },
  {
    "path": "webui/flet/scripts/flet_titlebar.py",
    "content": "# flet_appbar.py\n\n# Flet imports\nimport flet as ft\n\n# utils imports\n\n\nclass TitleBar(ft.Container):\n    def setup(self):\n        self.width = self.page.width\n        self.height = self.page.titlebar_height\n\n        self.title.size = self.page.titlebar_height * 0.5\n        self.title.color = self.page.tertiary_color\n\n        self.prompt.text_size = max(12, self.page.titlebar_height * 0.25)\n        self.prompt.focused_border_color = self.page.tertiary_color\n\n        self.layout_menu.controls[0].text_size = self.page.text_size\n\n        self.theme_switcher.size = self.page.titlebar_height\n        self.theme_switcher.icon_size = self.page.titlebar_height * 0.5\n        self.theme_switcher.tooltip = f\"Click to change between the light and dark themes. Current {'(Light theme)' if self.page.theme_mode == 'light' else '(Dark theme)'}\"\n        self.theme_switcher.on_click = self.page.change_theme_mode\n\n        self.settings_button.size = self.page.titlebar_height\n        self.settings_button.icon_size = self.page.titlebar_height * 0.5\n        self.settings_button.on_click = self.page.open_settings\n\n    def on_page_change(self):\n        self.width = self.page.width\n        self.height = self.page.titlebar_height\n\n        self.title.size = self.page.titlebar_height * 0.5\n        self.title.color = self.page.tertiary_color\n\n        self.prompt.text_size = max(12, self.page.titlebar_height * 0.25)\n        self.prompt.focused_border_color = self.page.tertiary_color\n\n        self.layout_menu.controls[0].text_size = self.page.text_size\n\n        self.theme_switcher.size = self.page.titlebar_height\n        self.theme_switcher.icon_size = self.page.titlebar_height * 0.5\n        self.theme_switcher.tooltip = f\"Click to change between the light and dark themes. Current {'(Light theme)' if self.page.theme_mode == 'light' else '(Dark theme)'}\"\n\n        self.settings_button.size = self.page.titlebar_height\n        self.settings_button.icon_size = self.page.titlebar_height * 0.5\n\n\ntitle = ft.Text(\n    value=\"  Sygil  \",\n    text_align=\"center\",\n)\n\nprompt = ft.TextField(\n    value=\"\",\n    min_lines=1,\n    max_lines=1,\n    content_padding=ft.padding.only(left=12, top=0, right=0, bottom=0),\n    shift_enter=True,\n    autofocus=True,\n    expand=True,\n    tooltip=\"Prompt to use for generation.\",\n    hint_text=\"A corgi wearing a top hat as an oil painting.\",\n)\n\ngenerate_button = ft.ElevatedButton(\n    text=\"Generate\",\n    on_click=None,\n)\n\n\ndef set_layout(e):\n    e.page.set_layout(e)\n\n\nlayout_menu = ft.Row(\n    alignment=\"start\",\n    controls=[\n        ft.Dropdown(\n            options=[\n                ft.dropdown.Option(text=\"Default\"),\n                ft.dropdown.Option(text=\"Textual Inversion\"),\n                ft.dropdown.Option(text=\"Node Editor\"),\n            ],\n            value=\"Default\",\n            text_size=20,\n            # \t\t\t\t\t\talignment = ft.alignment.center,\n            content_padding=ft.padding.only(left=12, top=0, right=0, bottom=0),\n            tooltip=\"Switch between different workspaces\",\n            on_change=set_layout,\n        )\n    ],\n)\n\nlayout_menu.text_size = layout_menu.controls[0].text_size\n\ntheme_switcher = ft.IconButton(\n    ft.icons.WB_SUNNY_OUTLINED,\n)\n\nsettings_button = ft.IconButton(\n    icon=ft.icons.SETTINGS,\n)\n\noption_list = ft.Row(\n    controls=[\n        ft.Container(content=layout_menu),\n        ft.Container(content=theme_switcher),\n        ft.Container(content=settings_button),\n    ],\n    alignment=\"end\",\n)\n\n\n# TitleBar == ft.Container\ntitlebar = TitleBar(\n    content=ft.Row(\n        controls=[\n            title,\n            prompt,\n            # generate_button,\n            option_list,\n        ],\n    ),\n)\n\ntitlebar.title = title\ntitlebar.prompt = prompt\ntitlebar.generate_button = generate_button\ntitlebar.layout_menu = layout_menu\ntitlebar.theme_switcher = theme_switcher\ntitlebar.settings_button = settings_button\n"
  },
  {
    "path": "webui/flet/scripts/flet_tool_manager.py",
    "content": "# flet_tool_manager.py\n\n# Flet imports\nimport flet as ft\n\n# utils imports\n\n\ndef open_gallery(e):\n    e.page.open_gallery(e)\n\n\ndef blank_layer(e):\n    e.page.add_blank_layer()\n\n\ndef load_images(e):\n    e.page.load_images()\n\n\ndef tool_select(e):\n    e.page.set_current_tool(e)\n\n\nclass Action:\n    def __init__(self, label, icon, tooltip, on_click):\n        self.label = label\n        self.icon = icon\n        self.tooltip = tooltip\n        self.on_click = on_click\n        self.disabled = False\n\n\naction_list = [\n    Action(\"gallery\", ft.icons.DASHBOARD_OUTLINED, \"Gallery\", open_gallery),\n    Action(\"blank layer\", ft.icons.ADD_OUTLINED, \"Add blank layer\", blank_layer),\n    Action(\"load image\", ft.icons.IMAGE_OUTLINED, \"Load image as layer\", load_images),\n]\n\n\nclass Tool:\n    def __init__(self, label, icon, tooltip):\n        self.label = label\n        self.icon = icon\n        self.tooltip = tooltip\n        self.on_click = tool_select\n        self.disabled = True\n\n\ntool_list = [\n    Tool(\"move\", ft.icons.OPEN_WITH_OUTLINED, \"Move layer(s)\"),\n    Tool(\"select\", ft.icons.HIGHLIGHT_ALT_OUTLINED, \"Select tool\"),\n    Tool(\"brush\", ft.icons.BRUSH_OUTLINED, \"Brush tool\"),\n    Tool(\"fill\", ft.icons.FORMAT_COLOR_FILL_OUTLINED, \"Fill tool\"),\n]\n\n\nclass ToolManager(ft.Container):\n    def setup(self):\n        self.toolbox.get_tools()\n        self.width = self.page.tool_manager_width\n        self.bgcolor = self.page.primary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n\n        self.toolbox.bgcolor = self.page.secondary_color\n        self.toolbox.padding = self.page.container_padding\n        self.toolbox.margin = self.page.container_margin\n\n        self.tool_divider.height = self.page.divider_height\n        self.tool_divider.color = self.page.tertiary_color\n\n        self.tool_properties.bgcolor = self.page.secondary_color\n        self.tool_properties.padding = self.page.container_padding\n        self.tool_properties.margin = self.page.container_margin\n\n        self.dragbar.width = self.page.vertical_divider_width\n        self.dragbar.color = self.page.tertiary_color\n\n    def on_page_change(self):\n        self.width = self.page.tool_manager_width\n        self.bgcolor = self.page.primary_color\n        self.padding = self.page.container_padding\n        self.margin = self.page.container_margin\n\n        self.toolbox.bgcolor = self.page.secondary_color\n        self.toolbox.padding = self.page.container_padding\n        self.toolbox.margin = self.page.container_margin\n\n        self.tool_divider.height = self.page.divider_height\n        self.tool_divider.color = self.page.tertiary_color\n\n        self.tool_properties.bgcolor = self.page.secondary_color\n        self.tool_properties.padding = self.page.container_padding\n        self.tool_properties.margin = self.page.container_margin\n\n        self.dragbar.width = self.page.vertical_divider_width\n        self.dragbar.color = self.page.tertiary_color\n\n    def resize_tool_manager(self, e: ft.DragUpdateEvent):\n        self.page.tool_manager_width = max(50, self.page.tool_manager_width + e.delta_x)\n        tool_manager.width = self.page.tool_manager_width\n        self.page.update()\n\n    def resize_toolbox(self, e: ft.DragUpdateEvent):\n        min_height = self.page.tool_manager_button_size * 2\n        self.page.toolbox_height = max(min_height, self.page.toolbox_height + e.delta_y)\n        toolbox.height = self.page.toolbox_height\n        self.update()\n\n    def enable_tools(self):\n        for tool in self.toolbox.content.controls:\n            try:\n                if tool.on_click == tool_select:\n                    tool.disabled = False\n            except AttributeError:\n                continue  # is divider\n        self.update()\n\n    def disable_tools(self):\n        for tool in self.toolbox.content.controls:\n            try:\n                if tool.on_click == tool_select:\n                    tool.disabled = True\n            except AttributeError:\n                continue  # is divider\n        self.update()\n\n    def clear_tools(self):\n        self.toolbox.clear_tools()\n\n\nclass ToolBox(ft.Container):\n    def get_tools(self):\n        for action in action_list:\n            self.content.controls.append(self.make_button(action))\n        divider = ft.Container(\n            content=ft.Divider(\n                height=self.page.divider_height,\n                color=self.page.tertiary_color,\n            ),\n            margin=0,\n            padding=ft.padding.only(left=10, top=0, right=0, bottom=0),\n        )\n        self.content.controls.append(divider)\n        for tool in tool_list:\n            self.content.controls.append(self.make_button(tool))\n        tool_manager.update()\n\n    def make_button(self, button_info):\n        button = ft.IconButton(\n            width=self.page.icon_size * 2,\n            icon_size=self.page.icon_size,\n            content=ft.Icon(button_info.icon),\n            selected=False,\n            selected_icon_color=self.page.tertiary_color,\n            tooltip=button_info.tooltip,\n            data={\"label\": button_info.label},\n            on_click=button_info.on_click,\n            disabled=button_info.disabled,\n        )\n        return button\n\n    def clear_tools(self):\n        for control in self.content.controls:\n            control.selected = False\n\n\nclass ToolPropertyPanel(ft.Container):\n    pass\n\n\n# ToolBox == ft.Container\ntoolbox = ToolBox(\n    clip_behavior=\"antiAlias\",\n    content=ft.Row(\n        alignment=\"start\",\n        wrap=True,\n        spacing=0,\n        run_spacing=0,\n        controls=[],\n    ),\n    margin=0,\n    padding=ft.padding.only(left=15, top=0, right=0, bottom=0),\n)\n\n\ndef resize_toolbox(e):\n    tool_manager.resize_toolbox(e)\n\n\ntool_divider = ft.GestureDetector(\n    mouse_cursor=ft.MouseCursor.RESIZE_ROW,\n    drag_interval=50,\n    on_pan_update=resize_toolbox,\n    content=ft.Container(\n        content=ft.Divider(),\n        margin=0,\n        padding=ft.padding.only(left=10, top=0, right=0, bottom=0),\n    ),\n)\n\n\n# ToolPropertyPanel == ft.Container\ntool_properties = ToolPropertyPanel(\n    content=ft.Column(\n        controls=[],\n    )\n)\n\n\ndef resize_tool_manager(e):\n    tool_manager.resize_tool_manager(e)\n\n\ndef realign_canvas(e):\n    e.page.align_canvas()\n\n\ntool_manager_dragbar = ft.GestureDetector(\n    mouse_cursor=ft.MouseCursor.RESIZE_COLUMN,\n    drag_interval=50,\n    on_pan_update=resize_tool_manager,\n    on_pan_end=realign_canvas,\n    content=ft.VerticalDivider(),\n)\n\n\n# ToolManager = ft.Container\ntool_manager = ToolManager(\n    content=ft.Row(\n        controls=[\n            ft.Column(\n                controls=[\n                    toolbox,\n                    tool_divider,\n                    tool_properties,\n                ],\n                alignment=\"start\",\n                expand=True,\n            ),\n            tool_manager_dragbar,\n        ],\n        expand=True,\n    ),\n    clip_behavior=\"antiAlias\",\n)\n\ntool_manager.toolbox = toolbox\ntool_manager.tool_divider = tool_divider.content.content\ntool_manager.tool_properties = tool_properties\ntool_manager.dragbar = tool_manager_dragbar.content\n"
  },
  {
    "path": "webui/flet/scripts/flet_utils.py",
    "content": "# flet_utils.py\n\n# imports\nimport os, yaml, base64\nfrom PIL import Image\nfrom io import BytesIO\nfrom datetime import datetime\n\n\n# logging\ndef log_message(message):\n    log_file = None\n    # get time and format message\n    prefix = datetime.now()\n    msg_prefix = prefix.strftime(\"%Y/%m/%d %H:%M:%S\")\n    message = msg_prefix + \"  \" + message\n    # check to see if we're appending to current logfile or making a new one'\n    try:\n        log_file = log_message.log\n    except AttributeError:\n        log_prefix = prefix.strftime(\"%Y%m%d_%H%M%S\")\n        os.makedirs(\"log/webui/flet\", exist_ok=True)\n        log_message.log = os.path.join(\"log/webui/flet\", log_prefix + \"webui_flet.log\")\n        log_file = log_message.log\n    # write message to logfile\n    with open(log_file, \"a+\") as log:\n        log.write(message)\n\n\n# settings\npath_to_default_config = \"configs/webui/webui_flet.yaml\"\npath_to_user_config = \"configs/webui/userconfig_flet.yaml\"\n\n\ndef get_default_settings_from_config():\n    with open(path_to_default_config) as f:\n        default_settings = yaml.safe_load(f)\n    return default_settings\n\n\ndef get_user_settings_from_config():\n    # get default settings\n    settings = get_default_settings_from_config()\n    # check to see if userconfig exists\n    if os.path.exists(path_to_user_config):\n        # compare to see which is newer\n        default_time = os.path.getmtime(path_to_default_config)\n        user_time = os.path.getmtime(path_to_user_config)\n        # if default is newer, save over userconfig and exit early\n        if default_time > user_time:\n            save_user_settings_to_config(settings)\n            return settings\n        # else, load userconfig\n        with open(path_to_user_config) as f:\n            user_settings = yaml.safe_load(f)\n        settings.update(user_settings)\n    # regardless, return settings as dict\n    return settings\n\n\ndef save_user_settings_to_config(settings):\n    with open(path_to_user_config, \"w+\") as f:\n        yaml.dump(settings, f, default_flow_style=False)\n\n\n# image handling\npath_to_assets = \"webui/flet/assets\"\npath_to_uploads = \"webui/flet/assets/uploads\"\npath_to_outputs = \"webui/flet/assets/outputs\"\n\n\n# creates blank image   (to do: take size as arg)\ndef create_blank_image(size):\n    try:\n        create_blank_image.count += 1\n    except AttributeError:\n        create_blank_image.count = 1\n    name = \"blank_layer_\" + str(create_blank_image.count).zfill(2)\n    img = Image.new(\"RGBA\", size, (0, 0, 0, 0))\n    img.filename = name\n    img.path = None\n    return img\n\n\n# takes name of image\n# returns dict\n#   name of image : image handle\ndef get_image_from_uploads(name):\n    path_to_image = os.path.join(path_to_uploads, name)\n    if os.path.exists(path_to_image):\n        image = Image.open(path_to_image)\n        image = image.convert(\"RGBA\")\n        image.filename = name\n        image.path = path_to_image\n        return image\n    else:\n        log_message(f'image not found: \"{name}\"')\n        return None\n\n\ndef get_canvas_background(path):\n    image = Image.open(path)\n    image = image.convert(\"RGBA\")\n    return image\n\n\n# make canvas frame\ndef get_canvas_frame(canvas_size):\n    image = Image.new(\"RGBA\", (4096, 4096), (0, 0, 0, 127))\n    canvas_width = canvas_size[0]\n    canvas_height = canvas_size[1]\n    x0 = int((image.width - canvas_width) * 0.5)\n    y0 = int((image.height - canvas_height) * 0.5)\n    x1 = x0 + canvas_width\n    y1 = y0 + canvas_height\n    box = (x0, y0, x1, y1)\n    image.paste((0, 0, 0, 0), box)\n    return convert_image_to_base64(image)\n\n\n# takes list of Image(s) as arg\n# returns single composite of all images\ndef get_preview_from_stack(size, stack):\n    preview = Image.new(\"RGBA\", size, (0, 0, 0, 0))\n    canvas_width = size[0]\n    canvas_height = size[1]\n    for layer in stack:\n        image = layer.image\n        # need to crop images for composite\n        x0 = ((image.width - canvas_width) * 0.5) - layer.offset_x\n        y0 = ((image.height - canvas_height) * 0.5) - layer.offset_y\n        x1 = x0 + canvas_width\n        y1 = y0 + canvas_height\n        box = (x0, y0, x1, y1)\n        cropped_image = image.crop(box)\n        preview = Image.alpha_composite(preview, cropped_image)\n    return preview\n\n\n# converts Image to base64 string\ndef convert_image_to_base64(image):\n    image_buffer = BytesIO()\n    image.save(image_buffer, format=\"PNG\")\n    image_buffer.seek(0)\n    image_bytes = image_buffer.getvalue()\n    return base64.b64encode(image_bytes).decode()\n\n\n# takes name of gallery as arg ('assets','output','uploads')\n# returns list of dicts\n#       name of image:\n#           'img_path' : path_to_image\n#           'info_path' : path_to_yaml\ndef get_gallery_images(gallery_name):\n    path_to_gallery = None\n    images = []\n    files = []\n    if gallery_name == \"uploads\":\n        path_to_gallery = path_to_uploads\n    elif gallery_name == \"outputs\":\n        path_to_gallery = path_to_outputs\n    else:\n        log_message(f'gallery not found: \"{gallery_name}\"')\n        return images\n    if os.path.exists(path_to_gallery):\n        files = os.listdir(path_to_gallery)\n    else:\n        return None\n    for f in files:\n        if f.endswith((\".jpg\", \".jpeg\", \".png\")):\n            image = Image.open(os.path.join(path_to_gallery, f))\n            image = image.convert(\"RGBA\")\n            image.filename = f\n            image.path = os.path.join(gallery_name, f)\n            images.append(image)\n    return images\n\n\n# textual inversion\ntextual_inversion_grid_row_list = [\n    \"model\",\n    \"medium\",\n    \"artist\",\n    \"trending\",\n    \"movement\",\n    \"flavors\",\n    \"techniques\",\n    \"tags\",\n]\n\n\ndef run_textual_inversion(args):\n    pass\n"
  },
  {
    "path": "webui/flet/webui_flet.py",
    "content": "# Flet imports\nimport flet as ft\n\n# other imports\nimport os\nfrom loguru import logger\n\n# logging.basicConfig(level=logging.DEBUG)\n\n# utils imports\nfrom scripts import flet_utils\nfrom scripts.flet_settings_window import settings_window\nfrom scripts.flet_gallery_window import gallery_window\nfrom scripts.flet_file_manager import file_picker, uploads, imports\nfrom scripts.flet_titlebar import titlebar\nfrom scripts.flet_tool_manager import tool_manager\nfrom scripts.flet_asset_manager import asset_manager, layer_action_menu\nfrom scripts.flet_canvas import canvas\nfrom scripts.flet_messages import messages\nfrom scripts.flet_property_manager import property_manager\n\n# for debugging\n\nos.environ[\"FLET_WS_MAX_MESSAGE_SIZE\"] = \"8000000\"\n\n\n# \tmain ###############################################################\n@logger.catch(reraise=True)\ndef main(page: ft.Page):\n    # \tinit ###############################################################\n    # messages\n    page.messages = messages\n    page.message = messages.message\n    page.max_message_history = 50\n\n    # ui\n    page.current_layout = \"Default\"\n    page.titlebar_height = 50\n    page.bottom_panel_height = page.height * 0.2\n    page.toolbox_height = 250\n    page.tool_manager_width = 50\n    page.tool_manager_button_size = 40\n    page.left_panel_width = 200\n    page.right_panel_width = 250\n\n    page.background_color = None\n    page.primary_color = None\n    page.secondary_color = \"white_10\"\n    page.tertiary_color = \"blue\"\n\n    page.text_color = None\n    page.text_size = 14\n    page.icon_size = 20\n\n    page.padding = 0\n    page.margin = 0\n    page.container_padding = 0\n    page.container_margin = 0\n\n    page.tab_color = \"white_10\"\n    page.tab_padding = ft.padding.only(left=2, top=12, right=2, bottom=8)\n    page.tab_margin = 0\n\n    page.divider_height = 10\n    page.vertical_divider_width = 10\n\n    # titlebar\n    page.titlebar = titlebar\n\n    def change_theme_mode(e):\n        page.theme_mode = \"dark\" if page.theme_mode == \"light\" else \"light\"\n\n        if \"(Light theme)\" in titlebar.theme_switcher.tooltip:\n            titlebar.theme_switcher.tooltip = titlebar.theme_switcher.tooltip.replace(\n                \"(Light theme)\", \"\"\n            )\n\n        if \"(Dark theme)\" in titlebar.theme_switcher.tooltip:\n            titlebar.theme_switcher.tooltip = titlebar.theme_switcher.tooltip.replace(\n                \"(Dark theme)\", \"\"\n            )\n\n        titlebar.theme_switcher.tooltip += (\n            \"(Light theme)\" if page.theme_mode == \"light\" else \"(Dark theme)\"\n        )\n        page.update()\n\n    page.change_theme_mode = change_theme_mode\n\n    # tools\n    page.tool_manager = tool_manager\n    page.current_tool = \"pan\"\n\n    def enable_tools():\n        page.tool_manager.enable_tools()\n\n    page.enable_tools = enable_tools\n\n    def disable_tools():\n        page.tool_manager.disable_tools()\n\n    page.disable_tools = disable_tools\n\n    def set_current_tool(e):\n        page.tool_manager.clear_tools()\n        page.canvas.clear_tools()\n        e.control.selected = True\n        page.current_tool = e.control.data[\"label\"]\n        page.canvas.set_current_tool(e.control.data[\"label\"])\n        page.update()\n\n    page.set_current_tool = set_current_tool\n\n    # asset manager\n    page.asset_manager = asset_manager\n    page.active_layer = None\n    page.visible_layers = []\n    page.layer_height = 50\n\n    def set_active_layer(layer_slot):\n        if page.active_layer == layer_slot:\n            return\n        page.active_layer = layer_slot\n        page.enable_tools()\n        page.property_manager.refresh_layer_properties()\n\n    page.set_active_layer = set_active_layer\n\n    def add_blank_layer():\n        image = flet_utils.create_blank_image(page.canvas_size)\n        layer_slot = page.asset_manager.add_image_as_layer(image)\n        layer_slot.layer_image = page.canvas.add_layer_image(image)\n        page.message(\"added blank layer to canvas\")\n        page.refresh_layers()\n\n    page.add_blank_layer = add_blank_layer\n\n    def add_images_as_layers(images):\n        layer_slots = page.asset_manager.add_images_as_layers(images)\n        for slot in layer_slots:\n            slot.layer_image = page.canvas.add_layer_image(slot.image)\n            page.message(f'added \"{slot.image.filename}\" as layer')\n        page.refresh_layers()\n\n    page.add_images_as_layers = add_images_as_layers\n\n    def load_images():\n        page.file_picker.pick_files(file_type=\"image\", allow_multiple=True)\n\n    page.load_images = load_images\n\n    # canvas\n    page.canvas = canvas\n    page.canvas_background = flet_utils.get_canvas_background(\n        \"webui/flet/assets/images/default_grid_texture.png\"\n    )\n    page.canvas_size = [512, 512]\n\n    def get_viewport_size():\n        viewport_width = page.width - (\n            page.tool_manager_width\n            + (page.vertical_divider_width * 3)\n            + page.left_panel_width\n            + page.right_panel_width\n        )\n        viewport_height = (\n            page.height - (page.titlebar_height * 2) - page.bottom_panel_height\n        )\n        return viewport_width, viewport_height\n\n    page.get_viewport_size = get_viewport_size\n\n    def align_canvas():\n        page.canvas.align_canvas()\n\n    page.align_canvas = align_canvas\n\n    # property manager\n    page.property_manager = property_manager\n\n    def refresh_canvas_preview():\n        preview = page.canvas.get_image_stack_preview()\n        page.property_manager.set_preview_image(preview)\n\n    page.refresh_canvas_preview = refresh_canvas_preview\n\n    def refresh_layers():\n        if page.active_layer is None:\n            page.disable_tools()\n        else:\n            page.enable_tools()\n        page.asset_manager.refresh_layers()\n        page.canvas.refresh_canvas()\n        page.refresh_canvas_preview()\n        page.property_manager.refresh_layer_properties()\n        page.update()\n\n    page.refresh_layers = refresh_layers\n\n    # layouts\n    def set_layout(e):\n        page.current_layout = e.control.value\n        page.update()\n\n    page.set_layout = set_layout\n\n    def on_page_change(e):\n        page.titlebar.on_page_change()\n        page.tool_manager.on_page_change()\n        page.asset_manager.on_page_change()\n        page.canvas.on_page_change()\n        page.messages.on_page_change()\n        page.property_manager.on_page_change()\n        full_page.width = page.width\n        full_page.height = page.height\n        page.update()\n\n    page.on_resize = on_page_change\n\n    def on_window_change(e):\n        if e.data == \"minimize\" or e.data == \"close\":\n            return\n        else:\n            page.on_page_change(e)\n\n    page.on_window_event = on_window_change\n\n    # settings\n    def load_settings():\n        settings = flet_utils.get_user_settings_from_config()\n        page.session.set(\"settings\", settings)\n        page.update()\n\n    def save_settings_to_config():\n        settings = page.session.get(\"settings\")\n        flet_utils.save_user_settings_to_config(settings)\n\n    def reset_settings_from_config():\n        settings = flet_utils.get_default_settings_from_config()\n        page.session.remove(\"settings\")\n        page.session.set(\"settings\", settings)\n        save_settings_to_config()\n\n    if not page.session.contains_key(\"settings\"):\n        load_settings()\n        settings = page.session.get(\"settings\")\n        try:\n            ui_settings = settings[\"webui_page\"]\n            page.theme_mode = ui_settings[\"default_theme\"][\"value\"]\n            ui_settings[\"max_message_history\"][\"value\"]\n        except AttributeError:\n            page.message(\"Config load error: missing setting.\", 1)\n\n        page.session.set(\"layout\", \"default\")\n\n    # \tsettings window ####################################################\n\n    def close_settings_window(e):\n        settings_window.open = False\n        page.update()\n\n    page.close_settings = close_settings_window\n\n    def open_settings_window(e):\n        page.dialog = settings_window\n        settings_window.open = True\n        page.update()\n\n    page.open_settings = open_settings_window\n\n    page.settings_window = settings_window\n    settings_window.content.width = page.width * 0.50\n    settings_window.content.bgcolor = page.primary_color\n    settings_window.content.padding = page.container_padding\n    settings_window.content.margin = page.container_margin\n\n    # \tgallery window #####################################################\n\n    def close_gallery_window(e):\n        gallery_window.open = False\n        page.update()\n\n    page.close_gallery = close_gallery_window\n\n    def open_gallery_window(e):\n        page.dialog = gallery_window\n        gallery_window.open = True\n        page.update()\n\n    page.open_gallery = open_gallery_window\n\n    page.gallery_window = gallery_window\n    page.refresh_gallery = gallery_window.refresh_gallery\n    gallery_window.content.width = page.width * 0.5\n    gallery_window.content.bgcolor = page.primary_color\n    gallery_window.content.padding = page.container_padding\n    gallery_window.content.margin = page.container_margin\n\n    gallery_window.outputs_gallery.height = page.height * 0.75\n    gallery_window.outputs_gallery.bgcolor = page.primary_color\n    gallery_window.outputs_gallery.padding = page.container_padding\n    gallery_window.outputs_gallery.margin = page.container_margin\n\n    gallery_window.uploads_gallery.height = page.height * 0.75\n    gallery_window.uploads_gallery.bgcolor = page.primary_color\n    gallery_window.uploads_gallery.padding = page.container_padding\n    gallery_window.uploads_gallery.margin = page.container_margin\n\n    # \tfile manager #######################################################\n\n    def close_upload_window(e):\n        uploads.open = False\n        page.update()\n\n    page.close_uploads = close_upload_window\n\n    def open_upload_window(e):\n        page.dialog = uploads\n        uploads.open = True\n        page.update()\n\n    page.open_uploads = open_upload_window\n\n    def close_import_window(e):\n        imports.open = False\n        page.update()\n\n    page.close_imports = close_import_window\n\n    def open_import_window(e):\n        page.dialog = imports\n        imports.open = True\n        page.update()\n\n    page.open_imports = open_import_window\n\n    page.uploads = uploads\n    page.imports = imports\n    page.file_picker = file_picker\n    page.overlay.append(file_picker)\n\n    # \tcenter panel #############################################################\n\n    text_editor = ft.Container(\n        content=ft.Text(\"Under Construction.\"),\n        bgcolor=page.secondary_color,\n        expand=True,\n    )\n\n    viewport = ft.Container(\n        bgcolor=page.primary_color,\n        padding=page.container_padding,\n        margin=page.container_margin,\n        content=ft.Tabs(\n            selected_index=0,\n            animation_duration=300,\n            tabs=[\n                ft.Tab(\n                    content=canvas,\n                    tab_content=ft.Text(\n                        value=\"Canvas\",\n                        size=page.text_size,\n                    ),\n                ),\n                ft.Tab(\n                    text=\"Text Editor\",\n                    content=text_editor,\n                    tab_content=ft.Text(\n                        value=\"Text Editor\",\n                        size=page.text_size,\n                    ),\n                ),\n            ],\n        ),\n        expand=True,\n    )\n\n    center_panel = ft.Container(\n        content=ft.Column(\n            controls=[\n                viewport,\n                messages,\n            ],\n        ),\n        bgcolor=page.primary_color,\n        padding=page.container_padding,\n        margin=page.container_margin,\n        expand=True,\n    )\n\n    # \tlayouts ############################################################\n\n    default_layout = ft.Row(\n        controls=[\n            tool_manager,\n            asset_manager,\n            center_panel,\n            property_manager,\n        ],\n        expand=True,\n    )\n\n    current_layout = default_layout\n\n    # \tworkspace ##########################################################\n\n    workspace = ft.Column(\n        controls=[\n            titlebar,\n            current_layout,\n        ],\n        expand=True,\n    )\n\n    page.workspace = workspace\n\n    full_page = ft.Stack(\n        expand=True,\n        controls=[\n            workspace,\n            layer_action_menu,\n        ],\n        height=page.height,\n        width=page.width,\n    )\n\n    page.full_page = full_page\n\n    page.title = \"Stable Diffusion Playground\"\n    page.add(full_page)\n\n    page.settings_window.setup(page.session.get(\"settings\"))\n    page.gallery_window.setup()\n    page.titlebar.setup()\n    page.tool_manager.setup()\n    page.asset_manager.setup()\n    page.canvas.setup()\n    page.messages.setup()\n    page.property_manager.setup()\n    page.update()\n\n\nft.app(\n    target=main,\n    route_url_strategy=\"path\",\n    port=8505,\n    assets_dir=\"assets\",\n    upload_dir=\"assets/uploads\",\n)\n"
  },
  {
    "path": "webui/streamlit/frontend/css/streamlit.main.css",
    "content": "/*\nThis file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\nCopyright 2022 Sygil-Dev team.\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program.  If not, see <http://www.gnu.org/licenses/>.\n*/\n\n/***********************************************************\n* Additional CSS for streamlit builtin components          *\n************************************************************/\n\n/* Tab name (e.g. Text-to-Image) //improve legibility*/\nbutton[data-baseweb=\"tab\"] {\n  font-size: 25px;\n}\n\n/* Image Container (only appear after run finished)//center the image, especially better looks in wide screen */\n.css-1kyxreq{\n\tjustify-content: center;\n}\n\n\n/* Streamlit header */\n.css-1avcm0n {\n  background-color: transparent;\n}\n\n/* Main streamlit container (below header) //reduce the empty spaces*/\n.css-18e3th9 {\n  padding-top: 1rem;\n}\n\n\n\n/***********************************************************\n* Additional CSS for streamlit custom/3rd party components *\n************************************************************/\n/* For stream_on_hover */\nsection[data-testid=\"stSidebar\"] > div:nth-of-type(1) {\n  background-color: #111;\n}\n\nbutton[kind=\"header\"] {\n  background-color: transparent;\n  color: rgb(180, 167, 141);\n}\n\n@media (hover) {\n  /* header element */\n  header[data-testid=\"stHeader\"] {\n    /* display: none;*/ /*suggested behavior by streamlit hover components*/\n    pointer-events: none; /* disable interaction of the transparent background */\n  }\n\n  /* The button on the streamlit navigation menu  */\n  button[kind=\"header\"] {\n    /* display: none;*/ /*suggested behavior by streamlit hover components*/\n    pointer-events: auto; /* enable interaction of the button even if parents intereaction disabled */\n  }\n\n  /* added to avoid main sectors (all element to the right of sidebar from) moving */\n  section[data-testid=\"stSidebar\"] {\n    width: 3.5% !important;\n    min-width: 3.5% !important;\n  }\n\n  /* The navigation menu specs and size */\n  section[data-testid=\"stSidebar\"] > div {\n    height: 100%;\n    width: 2% !important;\n    min-width: 100% !important;\n    position: relative;\n    z-index: 1;\n    top: 0;\n    left: 0;\n    background-color: #111;\n    overflow-x: hidden;\n    transition: 0.5s ease-in-out;\n    padding-top: 0px;\n    white-space: nowrap;\n  }\n\n  /* The navigation menu open and close on hover and size */\n  section[data-testid=\"stSidebar\"] > div:hover {\n    width: 300px !important;\n  }\n}\n\n@media (max-width: 272px) {\n  section[data-testid=\"stSidebar\"] > div {\n    width: 15rem;\n  }\n}\n\n/***********************************************************\n*  Additional CSS for other elements\n************************************************************/\nbutton[data-baseweb=\"tab\"] {\n  font-size: 20px;\n}\n\n@media (min-width: 1200px){\nh1 {\n    font-size: 1.75rem;\n}\n}\n#tabs-1-tabpanel-0 > div:nth-child(1) > div > div.stTabs.css-0.exp6ofz0 {\n  width: 50rem;\n  align-self: center;\n}\ndiv.gallery:hover {\n  border: 1px solid #777;\n}\n.css-dg4u6x p {\n  font-size: 0.8rem;\n  text-align: center;\n  position: relative;\n  top: 6px;\n}\n\n.row-widget.stButton {\n  text-align: center;\n}\n\n/********************************************************************\n    Hide anchor links on titles\n*********************************************************************/\n/*\n.css-15zrgzn {\n\tdisplay: none\n\t}\n.css-eczf16 {\n\tdisplay: none\n\t}\n.css-jn99sy {\n\tdisplay: none\n\t}\n\n/* Make the text area widget have a similar height as the text input field */\n.st-dy{\n\theight: 54px;\n\tmin-height: 25px;\n}\n.css-17useex{\n\tgap: 3px;\n\n}\n\n/* Remove some empty spaces to make the UI more compact. */\n.css-18e3th9{\n\tpadding-left: 10px;\n\tpadding-right: 30px;\n\tposition: unset !important; /* Fixes the layout/page going up when an expander or another item is expanded and then collapsed */\n}\n.css-k1vhr4{\n\tpadding-top: initial;\n}\n.css-ret2ud{\n\tpadding-left: 10px;\n\tpadding-right: 30px;\n\tgap: initial;\n\tdisplay: initial;\n}\n\n.css-w5z5an{\n\tgap: 1px;\n}\n"
  },
  {
    "path": "webui/streamlit/scripts/APIServer.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from sd_utils import *\nfrom sd_utils import st\n\n# streamlit imports\n\n# streamlit components section\n\n# other imports\n# from fastapi import FastAPI\n# import uvicorn\n\n# Temp imports\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\ndef layout():\n    st.info(\"Under Construction. :construction_worker:\")\n"
  },
  {
    "path": "webui/streamlit/scripts/ModelManager.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import st, logger\n\n# streamlit imports\n\n\n# other imports\nimport os, requests\nfrom requests.auth import HTTPBasicAuth\nfrom requests import HTTPError\nfrom stqdm import stqdm\n\n# Temp imports\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\ndef download_file(file_name, file_path, file_url):\n    if not os.path.exists(file_path):\n        os.makedirs(file_path)\n\n    if not os.path.exists(os.path.join(file_path, file_name)):\n        print(\"Downloading \" + file_name + \"...\")\n        # TODO - add progress bar in streamlit\n        # download file with `requests``\n        if file_name == \"Stable Diffusion v1.5\":\n            if (\n                \"huggingface_token\" not in st.session_state\n                or st.session_state[\"defaults\"].general.huggingface_token == \"None\"\n            ):\n                if \"progress_bar_text\" in st.session_state:\n                    st.session_state[\"progress_bar_text\"].error(\n                        \"You need a huggingface token in order to use the Text to Video tab. Use the Settings page from the sidebar on the left to add your token.\"\n                    )\n                raise OSError(\n                    \"You need a huggingface token in order to use the Text to Video tab. Use the Settings page from the sidebar on the left to add your token.\"\n                )\n\n        try:\n            with requests.get(\n                file_url,\n                auth=HTTPBasicAuth(\n                    \"token\", st.session_state.defaults.general.huggingface_token\n                )\n                if \"huggingface.co\" in file_url\n                else None,\n                stream=True,\n            ) as r:\n                r.raise_for_status()\n                with open(os.path.join(file_path, file_name), \"wb\") as f:\n                    for chunk in stqdm(\n                        r.iter_content(chunk_size=8192), backend=True, unit=\"kb\"\n                    ):\n                        f.write(chunk)\n        except HTTPError as e:\n            if \"huggingface.co\" in file_url:\n                if \"resolve\" in file_url:\n                    repo_url = file_url.split(\"resolve\")[0]\n\n                    st.session_state[\"progress_bar_text\"].error(\n                        f\"You need to accept the license for the model in order to be able to download it. \"\n                        f\"Please visit {repo_url} and accept the lincense there, then try again to download the model.\"\n                    )\n\n            logger.error(e)\n\n    else:\n        print(file_name + \" already exists.\")\n\n\ndef download_model(models, model_name):\n    \"\"\"Download all files from model_list[model_name]\"\"\"\n    for file in models[model_name]:\n        download_file(file[\"file_name\"], file[\"file_path\"], file[\"file_url\"])\n    return\n\n\ndef layout():\n    # search = st.text_input(label=\"Search\", placeholder=\"Type the name of the model you want to search for.\", help=\"\")\n\n    colms = st.columns((1, 3, 3, 5, 5))\n    columns = [\"№\", \"Model Name\", \"Save Location\", \"Download\", \"Download Link\"]\n\n    models = st.session_state[\"defaults\"].model_manager.models\n\n    for col, field_name in zip(colms, columns):\n        # table header\n        col.write(field_name)\n\n    for x, model_name in enumerate(models):\n        col1, col2, col3, col4, col5 = st.columns((1, 3, 3, 3, 6))\n        col1.write(x)  # index\n        col2.write(models[model_name][\"model_name\"])\n        col3.write(models[model_name][\"save_location\"])\n        with col4:\n            files_exist = 0\n            for file in models[model_name][\"files\"]:\n                if \"save_location\" in models[model_name][\"files\"][file]:\n                    os.path.exists(\n                        os.path.join(\n                            models[model_name][\"files\"][file][\"save_location\"],\n                            models[model_name][\"files\"][file][\"file_name\"],\n                        )\n                    )\n                    files_exist += 1\n                elif os.path.exists(\n                    os.path.join(\n                        models[model_name][\"save_location\"],\n                        models[model_name][\"files\"][file][\"file_name\"],\n                    )\n                ):\n                    files_exist += 1\n            files_needed = []\n            for file in models[model_name][\"files\"]:\n                if \"save_location\" in models[model_name][\"files\"][file]:\n                    if not os.path.exists(\n                        os.path.join(\n                            models[model_name][\"files\"][file][\"save_location\"],\n                            models[model_name][\"files\"][file][\"file_name\"],\n                        )\n                    ):\n                        files_needed.append(file)\n                elif not os.path.exists(\n                    os.path.join(\n                        models[model_name][\"save_location\"],\n                        models[model_name][\"files\"][file][\"file_name\"],\n                    )\n                ):\n                    files_needed.append(file)\n            if len(files_needed) > 0:\n                if st.button(\n                    \"Download\",\n                    key=models[model_name][\"model_name\"],\n                    help=\"Download \" + models[model_name][\"model_name\"],\n                ):\n                    for file in files_needed:\n                        if \"save_location\" in models[model_name][\"files\"][file]:\n                            download_file(\n                                models[model_name][\"files\"][file][\"file_name\"],\n                                models[model_name][\"files\"][file][\"save_location\"],\n                                models[model_name][\"files\"][file][\"download_link\"],\n                            )\n                        else:\n                            download_file(\n                                models[model_name][\"files\"][file][\"file_name\"],\n                                models[model_name][\"save_location\"],\n                                models[model_name][\"files\"][file][\"download_link\"],\n                            )\n                    st.experimental_rerun()\n                else:\n                    st.empty()\n            else:\n                st.write(\"✅\")\n\n        #\n"
  },
  {
    "path": "webui/streamlit/scripts/Settings.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import st, custom_models_available, logger, human_readable_size\n\n# streamlit imports\n\n# streamlit components section\nfrom streamlit_server_state import server_state\n\n# other imports\nfrom omegaconf import OmegaConf\nimport torch\nimport os, toml\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\n@logger.catch(reraise=True)\ndef layout():\n    # st.header(\"Settings\")\n\n    with st.form(\"Settings\"):\n        (\n            general_tab,\n            txt2img_tab,\n            img2img_tab,\n            img2txt_tab,\n            txt2vid_tab,\n            image_processing,\n            textual_inversion_tab,\n            concepts_library_tab,\n        ) = st.tabs(\n            [\n                \"General\",\n                \"Text-To-Image\",\n                \"Image-To-Image\",\n                \"Image-To-Text\",\n                \"Text-To-Video\",\n                \"Image processing\",\n                \"Textual Inversion\",\n                \"Concepts Library\",\n            ]\n        )\n\n        with general_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"large\")\n\n            device_list = []\n            device_properties = [\n                (i, torch.cuda.get_device_properties(i))\n                for i in range(torch.cuda.device_count())\n            ]\n            for device in device_properties:\n                id = device[0]\n                name = device[1].name\n                total_memory = device[1].total_memory\n\n                device_list.append(\n                    f\"{id}: {name} ({human_readable_size(total_memory, decimal_places=0)})\"\n                )\n\n            with col1:\n                st.title(\"General\")\n                st.session_state[\"defaults\"].general.gpu = int(\n                    st.selectbox(\n                        \"GPU\",\n                        device_list,\n                        index=st.session_state[\"defaults\"].general.gpu,\n                        help=f\"Select which GPU to use. Default: {device_list[0]}\",\n                    ).split(\":\")[0]\n                )\n\n                st.session_state[\"defaults\"].general.outdir = str(\n                    st.text_input(\n                        \"Output directory\",\n                        value=st.session_state[\"defaults\"].general.outdir,\n                        help=\"Relative directory on which the output images after a generation will be placed. Default: 'outputs'\",\n                    )\n                )\n\n                # If we have custom models available on the \"models/custom\"\n                # folder then we show a menu to select which model we want to use, otherwise we use the main model for SD\n                custom_models_available()\n\n                if server_state[\"CustomModel_available\"]:\n                    st.session_state.defaults.general.default_model = st.selectbox(\n                        \"Default Model:\",\n                        server_state[\"custom_models\"],\n                        index=server_state[\"custom_models\"].index(\n                            st.session_state[\"defaults\"].general.default_model\n                        ),\n                        help=\"Select the model you want to use. If you have placed custom models \\\n                                                                  on your 'models/custom' folder they will be shown here as well. The model name that will be shown here \\\n                                                                  is the same as the name the file for the model has on said folder, \\\n                                                                  it is recommended to give the .ckpt file a name that \\\n                                                                  will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.4\",\n                    )\n                else:\n                    st.session_state.defaults.general.default_model = st.selectbox(\n                        \"Default Model:\",\n                        [st.session_state[\"defaults\"].general.default_model],\n                        help=\"Select the model you want to use. If you have placed custom models \\\n                                                                  on your 'models/custom' folder they will be shown here as well. \\\n                                                                  The model name that will be shown here is the same as the name\\\n                                                                  the file for the model has on said folder, it is recommended to give the .ckpt file a name that \\\n                                                                  will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.4\",\n                    )\n\n                st.session_state[\n                    \"defaults\"\n                ].general.default_model_config = st.text_input(\n                    \"Default Model Config\",\n                    value=st.session_state[\"defaults\"].general.default_model_config,\n                    help=\"Default model config file for inference. Default: 'configs/stable-diffusion/v1-inference.yaml'\",\n                )\n\n                st.session_state[\"defaults\"].general.default_model_path = st.text_input(\n                    \"Default Model Config\",\n                    value=st.session_state[\"defaults\"].general.default_model_path,\n                    help=\"Default model path. Default: 'models/ldm/stable-diffusion-v1/model.ckpt'\",\n                )\n\n                st.session_state[\"defaults\"].general.GFPGAN_dir = st.text_input(\n                    \"Default GFPGAN directory\",\n                    value=st.session_state[\"defaults\"].general.GFPGAN_dir,\n                    help=\"Default GFPGAN directory. Default: './models/gfpgan'\",\n                )\n\n                st.session_state[\"defaults\"].general.RealESRGAN_dir = st.text_input(\n                    \"Default RealESRGAN directory\",\n                    value=st.session_state[\"defaults\"].general.RealESRGAN_dir,\n                    help=\"Default GFPGAN directory. Default: './models/realesrgan'\",\n                )\n\n                RealESRGAN_model_list = [\n                    \"RealESRGAN_x4plus\",\n                    \"RealESRGAN_x4plus_anime_6B\",\n                ]\n                st.session_state[\"defaults\"].general.RealESRGAN_model = st.selectbox(\n                    \"RealESRGAN model\",\n                    RealESRGAN_model_list,\n                    index=RealESRGAN_model_list.index(\n                        st.session_state[\"defaults\"].general.RealESRGAN_model\n                    ),\n                    help=\"Default RealESRGAN model. Default: 'RealESRGAN_x4plus'\",\n                )\n                Upscaler_list = [\"RealESRGAN\", \"LDSR\"]\n                st.session_state[\"defaults\"].general.upscaling_method = st.selectbox(\n                    \"Upscaler\",\n                    Upscaler_list,\n                    index=Upscaler_list.index(\n                        st.session_state[\"defaults\"].general.upscaling_method\n                    ),\n                    help=\"Default upscaling method. Default: 'RealESRGAN'\",\n                )\n\n            with col2:\n                st.title(\"Performance\")\n\n                st.session_state[\"defaults\"].general.gfpgan_cpu = st.checkbox(\n                    \"GFPGAN - CPU\",\n                    value=st.session_state[\"defaults\"].general.gfpgan_cpu,\n                    help=\"Run GFPGAN on the cpu. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.esrgan_cpu = st.checkbox(\n                    \"ESRGAN - CPU\",\n                    value=st.session_state[\"defaults\"].general.esrgan_cpu,\n                    help=\"Run ESRGAN on the cpu. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.extra_models_cpu = st.checkbox(\n                    \"Extra Models - CPU\",\n                    value=st.session_state[\"defaults\"].general.extra_models_cpu,\n                    help=\"Run extra models (GFGPAN/ESRGAN) on cpu. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.extra_models_gpu = st.checkbox(\n                    \"Extra Models - GPU\",\n                    value=st.session_state[\"defaults\"].general.extra_models_gpu,\n                    help=\"Run extra models (GFGPAN/ESRGAN) on gpu. \\\n                                                                                    Check and save in order to be able to select the GPU that each model will use. Default: False\",\n                )\n                if st.session_state[\"defaults\"].general.extra_models_gpu:\n                    st.session_state[\"defaults\"].general.gfpgan_gpu = int(\n                        st.selectbox(\n                            \"GFGPAN GPU\",\n                            device_list,\n                            index=st.session_state[\"defaults\"].general.gfpgan_gpu,\n                            help=f\"Select which GPU to use. Default: {device_list[st.session_state['defaults'].general.gfpgan_gpu]}\",\n                            key=\"gfpgan_gpu\",\n                        ).split(\":\")[0]\n                    )\n\n                    st.session_state[\"defaults\"].general.esrgan_gpu = int(\n                        st.selectbox(\n                            \"ESRGAN - GPU\",\n                            device_list,\n                            index=st.session_state[\"defaults\"].general.esrgan_gpu,\n                            help=f\"Select which GPU to use. Default: {device_list[st.session_state['defaults'].general.esrgan_gpu]}\",\n                            key=\"esrgan_gpu\",\n                        ).split(\":\")[0]\n                    )\n\n                st.session_state[\"defaults\"].general.no_half = st.checkbox(\n                    \"No Half\",\n                    value=st.session_state[\"defaults\"].general.no_half,\n                    help=\"DO NOT switch the model to 16-bit floats. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.use_cudnn = st.checkbox(\n                    \"Use cudnn\",\n                    value=st.session_state[\"defaults\"].general.use_cudnn,\n                    help=\"Switch the pytorch backend to use cudnn, this should help with fixing Nvidia 16xx cards getting\"\n                    \"a black or green image. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.use_float16 = st.checkbox(\n                    \"Use float16\",\n                    value=st.session_state[\"defaults\"].general.use_float16,\n                    help=\"Switch the model to 16-bit floats. Default: False\",\n                )\n\n                precision_list = [\"full\", \"autocast\"]\n                st.session_state[\"defaults\"].general.precision = st.selectbox(\n                    \"Precision\",\n                    precision_list,\n                    index=precision_list.index(\n                        st.session_state[\"defaults\"].general.precision\n                    ),\n                    help=\"Evaluates at this precision. Default: autocast\",\n                )\n\n                st.session_state[\"defaults\"].general.optimized = st.checkbox(\n                    \"Optimized Mode\",\n                    value=st.session_state[\"defaults\"].general.optimized,\n                    help=\"Loads the model onto the device piecemeal instead of all at once to reduce VRAM usage\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t   at the cost of performance. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.optimized_turbo = st.checkbox(\n                    \"Optimized Turbo Mode\",\n                    value=st.session_state[\"defaults\"].general.optimized_turbo,\n                    help=\"Alternative optimization mode that does not save as much VRAM but \\\n                                                                                   runs siginificantly faster. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.optimized_config = st.text_input(\n                    \"Optimized Config\",\n                    value=st.session_state[\"defaults\"].general.optimized_config,\n                    help=\"Loads alternative optimized configuration for inference. \\\n                                                                                      Default: optimizedSD/v1-inference.yaml\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].general.enable_attention_slicing = st.checkbox(\n                    \"Enable Attention Slicing\",\n                    value=st.session_state[\"defaults\"].general.enable_attention_slicing,\n                    help=\"Enable sliced attention computation. When this option is enabled, the attention module will \\\n                                                                                            split the input tensor in slices, to compute attention in several steps. This is useful to save some \\\n                                                                                            memory in exchange for a small speed decrease. Only works the txt2vid tab right now. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].general.enable_minimal_memory_usage = st.checkbox(\n                    \"Enable Minimal Memory Usage\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].general.enable_minimal_memory_usage,\n                    help=\"Moves only unet to fp16 and to CUDA, while keepping lighter models on CPUs \\\n                                                                                               (Not properly implemented and currently not working, check this \\\n                                                                                               link 'https://github.com/huggingface/diffusers/pull/537' for more information on it ). Default: False\",\n                )\n\n                # st.session_state[\"defaults\"].general.update_preview = st.checkbox(\"Update Preview Image\", value=st.session_state['defaults'].general.update_preview,\n                # help=\"Enables the preview image to be updated and shown to the user on the UI during the generation.\\\n                # If checked, once you save the settings an option to specify the frequency at which the image is updated\\\n                # in steps will be shown, this is helpful to reduce the negative effect this option has on performance. \\\n                # Default: True\")\n                st.session_state[\"defaults\"].general.update_preview = True\n                st.session_state[\n                    \"defaults\"\n                ].general.update_preview_frequency = st.number_input(\n                    \"Update Preview Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].general.update_preview_frequency,\n                    help=\"Specify the frequency at which the image is updated in steps, this is helpful to reduce the \\\n                                                                                                negative effect updating the preview image has on performance. Default: 10\",\n                )\n\n            with col3:\n                st.title(\"Others\")\n                st.session_state[\n                    \"defaults\"\n                ].general.use_sd_concepts_library = st.checkbox(\n                    \"Use the Concepts Library\",\n                    value=st.session_state[\"defaults\"].general.use_sd_concepts_library,\n                    help=\"Use the embeds Concepts Library, if checked, once the settings are saved an option will\\\n                                                                                           appear to specify the directory where the concepts are stored. Default: True)\",\n                )\n\n                if st.session_state[\"defaults\"].general.use_sd_concepts_library:\n                    st.session_state[\n                        \"defaults\"\n                    ].general.sd_concepts_library_folder = st.text_input(\n                        \"Concepts Library Folder\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].general.sd_concepts_library_folder,\n                        help=\"Relative folder on which the concepts library embeds are stored. \\\n                                                                                                    Default: 'models/custom/sd-concepts-library'\",\n                    )\n\n                st.session_state[\"defaults\"].general.LDSR_dir = st.text_input(\n                    \"LDSR Folder\",\n                    value=st.session_state[\"defaults\"].general.LDSR_dir,\n                    help=\"Folder where LDSR is located. Default: './models/ldsr'\",\n                )\n\n                st.session_state[\"defaults\"].general.save_metadata = st.checkbox(\n                    \"Save Metadata\",\n                    value=st.session_state[\"defaults\"].general.save_metadata,\n                    help=\"Save metadata on the output image. Default: True\",\n                )\n                save_format_list = [\"png\", \"jpg\", \"jpeg\", \"webp\"]\n                st.session_state[\"defaults\"].general.save_format = st.selectbox(\n                    \"Save Format\",\n                    save_format_list,\n                    index=save_format_list.index(\n                        st.session_state[\"defaults\"].general.save_format\n                    ),\n                    help=\"Format that will be used whens saving the output images. Default: 'png'\",\n                )\n\n                st.session_state[\"defaults\"].general.skip_grid = st.checkbox(\n                    \"Skip Grid\",\n                    value=st.session_state[\"defaults\"].general.skip_grid,\n                    help=\"Skip saving the grid output image. Default: False\",\n                )\n                if not st.session_state[\"defaults\"].general.skip_grid:\n                    st.session_state[\"defaults\"].general.grid_quality = st.number_input(\n                        \"Grid Quality\",\n                        value=st.session_state[\"defaults\"].general.grid_quality,\n                        help=\"Format for saving the grid output image. Default: 95\",\n                    )\n\n                st.session_state[\"defaults\"].general.skip_save = st.checkbox(\n                    \"Skip Save\",\n                    value=st.session_state[\"defaults\"].general.skip_save,\n                    help=\"Skip saving the output image. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].general.n_rows = st.number_input(\n                    \"Number of Grid Rows\",\n                    value=st.session_state[\"defaults\"].general.n_rows,\n                    help=\"Number of rows the grid wil have when saving the grid output image. Default: '-1'\",\n                )\n\n                st.session_state[\"defaults\"].general.no_verify_input = st.checkbox(\n                    \"Do not Verify Input\",\n                    value=st.session_state[\"defaults\"].general.no_verify_input,\n                    help=\"Do not verify input to check if it's too long. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].general.show_percent_in_tab_title = st.checkbox(\n                    \"Show Percent in tab title\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].general.show_percent_in_tab_title,\n                    help=\"Add the progress percent value to the page title on the tab on your browser. \"\n                    \"This is useful in case you need to know how the generation is going while doign something else\"\n                    \"in another tab on your browser. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].general.enable_suggestions = st.checkbox(\n                    \"Enable Suggestions Box\",\n                    value=st.session_state[\"defaults\"].general.enable_suggestions,\n                    help=\"Adds a suggestion box under the prompt when clicked. Default: True\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].daisi_app.running_on_daisi_io = st.checkbox(\n                    \"Running on Daisi.io?\",\n                    value=st.session_state[\"defaults\"].daisi_app.running_on_daisi_io,\n                    help=\"Specify if we are running on app.Daisi.io . Default: False\",\n                )\n\n            with col4:\n                st.title(\"Streamlit Config\")\n\n                default_theme_list = [\"light\", \"dark\"]\n                st.session_state[\"defaults\"].general.default_theme = st.selectbox(\n                    \"Default Theme\",\n                    default_theme_list,\n                    index=default_theme_list.index(\n                        st.session_state[\"defaults\"].general.default_theme\n                    ),\n                    help=\"Defaut theme to use as base for streamlit. Default: dark\",\n                )\n                st.session_state[\"streamlit_config\"][\"theme\"][\n                    \"base\"\n                ] = st.session_state[\"defaults\"].general.default_theme\n\n                if not st.session_state[\"defaults\"].admin.hide_server_setting:\n                    with st.expander(\"Server\", True):\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"headless\"\n                        ] = st.checkbox(\n                            \"Run Headless\",\n                            help=\"If false, will attempt to open a browser window on start.  \\\n                                                                                                 Default: false unless (1) we are on a Linux box where DISPLAY is unset, \\\n                                                                                                 or (2) we are running in the Streamlit Atom plugin.\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"port\"\n                        ] = st.number_input(\n                            \"Port\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"port\"\n                            ],\n                            help=\"The port where the server will listen for browser connections. Default: 8501\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"baseUrlPath\"\n                        ] = st.text_input(\n                            \"Base Url Path\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"baseUrlPath\"\n                            ],\n                            help=\"The base path for the URL where Streamlit should be served from. Default: '' \",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"enableCORS\"\n                        ] = st.checkbox(\n                            \"Enable CORS\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"enableCORS\"\n                            ],\n                            help=\"Enables support for Cross-Origin Request Sharing (CORS) protection, for added security. \\\n                                                                                                   Due to conflicts between CORS and XSRF, if `server.enableXsrfProtection` is on and `server.enableCORS` \\\n                                                                                                   is off at the same time, we will prioritize `server.enableXsrfProtection`. Default: true\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"enableXsrfProtection\"\n                        ] = st.checkbox(\n                            \"Enable Xsrf Protection\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"enableXsrfProtection\"\n                            ],\n                            help=\"Enables support for Cross-Site Request Forgery (XSRF) protection, \\\n                                                                                                             for added security. Due to conflicts between CORS and XSRF, \\\n                                                                                                             if `server.enableXsrfProtection` is on and `server.enableCORS` is off at \\\n                                                                                                             the same time, we will prioritize `server.enableXsrfProtection`. Default: true\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"maxUploadSize\"\n                        ] = st.number_input(\n                            \"Max Upload Size\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"maxUploadSize\"\n                            ],\n                            help=\"Max size, in megabytes, for files uploaded with the file_uploader. Default: 200\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"maxMessageSize\"\n                        ] = st.number_input(\n                            \"Max Message Size\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"maxUploadSize\"\n                            ],\n                            help=\"Max size, in megabytes, of messages that can be sent via the WebSocket connection. Default: 200\",\n                        )\n\n                        st.session_state[\"streamlit_config\"][\"server\"][\n                            \"enableWebsocketCompression\"\n                        ] = st.checkbox(\n                            \"Enable Websocket Compression\",\n                            value=st.session_state[\"streamlit_config\"][\"server\"][\n                                \"enableWebsocketCompression\"\n                            ],\n                            help=\" Enables support for websocket compression. Default: false\",\n                        )\n                if not st.session_state[\"defaults\"].admin.hide_browser_setting:\n                    with st.expander(\"Browser\", expanded=True):\n                        st.session_state[\"streamlit_config\"][\"browser\"][\n                            \"serverAddress\"\n                        ] = st.text_input(\n                            \"Server Address\",\n                            value=st.session_state[\"streamlit_config\"][\"browser\"][\n                                \"serverAddress\"\n                            ]\n                            if \"serverAddress\" in st.session_state[\"streamlit_config\"]\n                            else \"localhost\",\n                            help=\"Internet address where users should point their browsers in order \\\n                                                                                                       to connect to the app. Can be IP address or DNS name and path.\\\n                                                                                                       This is used to: - Set the correct URL for CORS and XSRF protection purposes. \\\n                                                                                                       - Show the URL on the terminal - Open the browser. Default: 'localhost'\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].general.streamlit_telemetry = st.checkbox(\n                            \"Enable Telemetry\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].general.streamlit_telemetry,\n                            help=\"Enables or Disables streamlit telemetry. Default: False\",\n                        )\n                        st.session_state[\"streamlit_config\"][\"browser\"][\n                            \"gatherUsageStats\"\n                        ] = st.session_state[\"defaults\"].general.streamlit_telemetry\n\n                        st.session_state[\"streamlit_config\"][\"browser\"][\n                            \"serverPort\"\n                        ] = st.number_input(\n                            \"Server Port\",\n                            value=st.session_state[\"streamlit_config\"][\"browser\"][\n                                \"serverPort\"\n                            ],\n                            help=\"Port where users should point their browsers in order to connect to the app. \\\n                                                                                                 This is used to: - Set the correct URL for CORS and XSRF protection purposes. \\\n                                                                                                 - Show the URL on the terminal - Open the browser \\\n                                                                                                 Default: whatever value is set in server.port.\",\n                        )\n\n            with col5:\n                st.title(\"Huggingface\")\n                st.session_state[\"defaults\"].general.huggingface_token = st.text_input(\n                    \"Huggingface Token\",\n                    value=st.session_state[\"defaults\"].general.huggingface_token,\n                    type=\"password\",\n                    help=\"Your Huggingface Token, it's used to download the model for the diffusers library which \\\n                                                                                       is used on the Text To Video tab. This token will be saved to your user config file\\\n                                                                                       and WILL NOT be share with us or anyone. You can get your access token \\\n                                                                                       at https://huggingface.co/settings/tokens. Default: None\",\n                )\n\n                st.title(\"Stable Horde\")\n                st.session_state[\"defaults\"].general.stable_horde_api = st.text_input(\n                    \"Stable Horde Api\",\n                    value=st.session_state[\"defaults\"].general.stable_horde_api,\n                    type=\"password\",\n                    help=\"First Register an account at https://stablehorde.net/register which will generate for you \\\n                                                                                      an API key. Store that key somewhere safe. \\n \\\n                                                                                      If you do not want to register, you can use `0000000000` as api_key to connect anonymously.\\\n                                                                                      However anonymous accounts have the lowest priority when there's too many concurrent requests! \\\n                                                                                      To increase your priority you will need a unique API key and then to increase your Kudos \\\n                                                                                      read more about them at https://dbzer0.com/blog/the-kudos-based-economy-for-the-koboldai-horde/.\",\n                )\n\n        with txt2img_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"medium\")\n\n            with col1:\n                st.title(\"Slider Parameters\")\n\n                # Width\n                st.session_state[\"defaults\"].txt2img.width.value = st.number_input(\n                    \"Default Image Width\",\n                    value=st.session_state[\"defaults\"].txt2img.width.value,\n                    help=\"Set the default width for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.width.min_value = st.number_input(\n                    \"Minimum Image Width\",\n                    value=st.session_state[\"defaults\"].txt2img.width.min_value,\n                    help=\"Set the default minimum value for the width slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.width.max_value = st.number_input(\n                    \"Maximum Image Width\",\n                    value=st.session_state[\"defaults\"].txt2img.width.max_value,\n                    help=\"Set the default maximum value for the width slider. Default is: 2048\",\n                )\n\n                # Height\n                st.session_state[\"defaults\"].txt2img.height.value = st.number_input(\n                    \"Default Image Height\",\n                    value=st.session_state[\"defaults\"].txt2img.height.value,\n                    help=\"Set the default height for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.height.min_value = st.number_input(\n                    \"Minimum Image Height\",\n                    value=st.session_state[\"defaults\"].txt2img.height.min_value,\n                    help=\"Set the default minimum value for the height slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.height.max_value = st.number_input(\n                    \"Maximum Image Height\",\n                    value=st.session_state[\"defaults\"].txt2img.height.max_value,\n                    help=\"Set the default maximum value for the height slider. Default is: 2048\",\n                )\n\n                with col2:\n                    # CFG\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.cfg_scale.value = st.number_input(\n                        \"Default CFG Scale\",\n                        value=st.session_state[\"defaults\"].txt2img.cfg_scale.value,\n                        help=\"Set the default value for the CFG Scale. Default is: 7.5\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.cfg_scale.min_value = st.number_input(\n                        \"Minimum CFG Scale Value\",\n                        value=st.session_state[\"defaults\"].txt2img.cfg_scale.min_value,\n                        help=\"Set the default minimum value for the CFG scale slider. Default is: 1\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.cfg_scale.step = st.number_input(\n                        \"CFG Slider Steps\",\n                        value=st.session_state[\"defaults\"].txt2img.cfg_scale.step,\n                        help=\"Set the default value for the number of steps on the CFG scale slider. Default is: 0.5\",\n                    )\n                    # Sampling Steps\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.sampling_steps.value = st.number_input(\n                        \"Default Sampling Steps\",\n                        value=st.session_state[\"defaults\"].txt2img.sampling_steps.value,\n                        help=\"Set the default number of sampling steps to use. Default is: 30 (with k_euler)\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.sampling_steps.min_value = st.number_input(\n                        \"Minimum Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.sampling_steps.min_value,\n                        help=\"Set the default minimum value for the sampling steps slider. Default is: 1\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2img.sampling_steps.step = st.number_input(\n                        \"Sampling Slider Steps\",\n                        value=st.session_state[\"defaults\"].txt2img.sampling_steps.step,\n                        help=\"Set the default value for the number of steps on the sampling steps slider. Default is: 10\",\n                    )\n\n            with col3:\n                st.title(\"General Parameters\")\n\n                # Batch Count\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.batch_count.value = st.number_input(\n                    \"Batch count\",\n                    value=st.session_state[\"defaults\"].txt2img.batch_count.value,\n                    help=\"How many iterations or batches of images to generate in total.\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.batch_size.value = st.number_input(\n                    \"Batch size\",\n                    value=st.session_state.defaults.txt2img.batch_size.value,\n                    help=\"How many images are at once in a batch.\\\n                                                                                        It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it \\\n                                                                                        takes to finish generation as more images are generated at once.\\\n                                                                                        Default: 1\",\n                )\n\n                default_sampler_list = [\n                    \"k_lms\",\n                    \"k_euler\",\n                    \"k_euler_a\",\n                    \"k_dpm_2\",\n                    \"k_dpm_2_a\",\n                    \"k_heun\",\n                    \"PLMS\",\n                    \"DDIM\",\n                ]\n                st.session_state[\"defaults\"].txt2img.default_sampler = st.selectbox(\n                    \"Default Sampler\",\n                    default_sampler_list,\n                    index=default_sampler_list.index(\n                        st.session_state[\"defaults\"].txt2img.default_sampler\n                    ),\n                    help=\"Defaut sampler to use for txt2img. Default: k_euler\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.seed = st.text_input(\n                    \"Default Seed\",\n                    value=st.session_state[\"defaults\"].txt2img.seed,\n                    help=\"Default seed.\",\n                )\n\n            with col4:\n                st.session_state[\"defaults\"].txt2img.separate_prompts = st.checkbox(\n                    \"Separate Prompts\",\n                    value=st.session_state[\"defaults\"].txt2img.separate_prompts,\n                    help=\"Separate Prompts. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.normalize_prompt_weights = st.checkbox(\n                    \"Normalize Prompt Weights\",\n                    value=st.session_state[\"defaults\"].txt2img.normalize_prompt_weights,\n                    help=\"Choose to normalize prompt weights. Default: True\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.save_individual_images = st.checkbox(\n                    \"Save Individual Images\",\n                    value=st.session_state[\"defaults\"].txt2img.save_individual_images,\n                    help=\"Choose to save individual images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.save_grid = st.checkbox(\n                    \"Save Grid Images\",\n                    value=st.session_state[\"defaults\"].txt2img.save_grid,\n                    help=\"Choose to save the grid images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.group_by_prompt = st.checkbox(\n                    \"Group By Prompt\",\n                    value=st.session_state[\"defaults\"].txt2img.group_by_prompt,\n                    help=\"Choose to save images grouped by their prompt. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.save_as_jpg = st.checkbox(\n                    \"Save As JPG\",\n                    value=st.session_state[\"defaults\"].txt2img.save_as_jpg,\n                    help=\"Choose to save images as jpegs. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.write_info_files = st.checkbox(\n                    \"Write Info Files For Images\",\n                    value=st.session_state[\"defaults\"].txt2img.write_info_files,\n                    help=\"Choose to write the info files along with the generated images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.use_GFPGAN = st.checkbox(\n                    \"Use GFPGAN\",\n                    value=st.session_state[\"defaults\"].txt2img.use_GFPGAN,\n                    help=\"Choose to use GFPGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.use_upscaling = st.checkbox(\n                    \"Use Upscaling\",\n                    value=st.session_state[\"defaults\"].txt2img.use_upscaling,\n                    help=\"Choose to turn on upscaling by default. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.update_preview = True\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.update_preview_frequency = st.number_input(\n                    \"Preview Image Update Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].txt2img.update_preview_frequency,\n                    help=\"Set the default value for the frrquency of the preview image updates. Default is: 10\",\n                )\n\n            with col5:\n                st.title(\"Variation Parameters\")\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.variant_amount.value = st.number_input(\n                    \"Default Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_amount.value,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.variant_amount.min_value = st.number_input(\n                    \"Minimum Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_amount.min_value,\n                    help=\"Set the default minimum value for the variation slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.variant_amount.max_value = st.number_input(\n                    \"Maximum Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_amount.max_value,\n                    help=\"Set the default maximum value for the variation slider. Default is: 1.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2img.variant_amount.step = st.number_input(\n                    \"Variation Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_amount.step,\n                    help=\"Set the default value for the number of steps on the variation slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2img.variant_seed = st.text_input(\n                    \"Default Variation Seed\",\n                    value=st.session_state[\"defaults\"].txt2img.variant_seed,\n                    help=\"Default variation seed.\",\n                )\n\n        with img2img_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"medium\")\n\n            with col1:\n                st.title(\"Image Editing\")\n\n                # Denoising\n                st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.value = st.number_input(\n                    \"Default Denoising Amount\",\n                    value=st.session_state[\"defaults\"].img2img.denoising_strength.value,\n                    help=\"Set the default denoising to use. Default is: 0.75\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.min_value = st.number_input(\n                    \"Minimum Denoising Amount\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].img2img.denoising_strength.min_value,\n                    help=\"Set the default minimum value for the denoising slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.max_value = st.number_input(\n                    \"Maximum Denoising Amount\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].img2img.denoising_strength.max_value,\n                    help=\"Set the default maximum value for the denoising slider. Default is: 1.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.step = st.number_input(\n                    \"Denoising Slider Steps\",\n                    value=st.session_state[\"defaults\"].img2img.denoising_strength.step,\n                    help=\"Set the default value for the number of steps on the denoising slider. Default is: 0.01\",\n                )\n\n                # Masking\n                st.session_state[\"defaults\"].img2img.mask_mode = st.number_input(\n                    \"Default Mask Mode\",\n                    value=st.session_state[\"defaults\"].img2img.mask_mode,\n                    help=\"Set the default mask mode to use. 0 = Keep Masked Area, 1 = Regenerate Masked Area. Default is: 0\",\n                )\n\n                st.session_state[\"defaults\"].img2img.mask_restore = st.checkbox(\n                    \"Default Mask Restore\",\n                    value=st.session_state[\"defaults\"].img2img.mask_restore,\n                    help=\"Mask Restore. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.resize_mode = st.number_input(\n                    \"Default Resize Mode\",\n                    value=st.session_state[\"defaults\"].img2img.resize_mode,\n                    help=\"Set the default resizing mode. 0 = Just Resize, 1 = Crop and Resize, 3 = Resize and Fill. Default is: 0\",\n                )\n\n            with col2:\n                st.title(\"Slider Parameters\")\n\n                # Width\n                st.session_state[\"defaults\"].img2img.width.value = st.number_input(\n                    \"Default Outputted Image Width\",\n                    value=st.session_state[\"defaults\"].img2img.width.value,\n                    help=\"Set the default width for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].img2img.width.min_value = st.number_input(\n                    \"Minimum Outputted Image Width\",\n                    value=st.session_state[\"defaults\"].img2img.width.min_value,\n                    help=\"Set the default minimum value for the width slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].img2img.width.max_value = st.number_input(\n                    \"Maximum Outputted Image Width\",\n                    value=st.session_state[\"defaults\"].img2img.width.max_value,\n                    help=\"Set the default maximum value for the width slider. Default is: 2048\",\n                )\n\n                # Height\n                st.session_state[\"defaults\"].img2img.height.value = st.number_input(\n                    \"Default Outputted Image Height\",\n                    value=st.session_state[\"defaults\"].img2img.height.value,\n                    help=\"Set the default height for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].img2img.height.min_value = st.number_input(\n                    \"Minimum Outputted Image Height\",\n                    value=st.session_state[\"defaults\"].img2img.height.min_value,\n                    help=\"Set the default minimum value for the height slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].img2img.height.max_value = st.number_input(\n                    \"Maximum Outputted Image Height\",\n                    value=st.session_state[\"defaults\"].img2img.height.max_value,\n                    help=\"Set the default maximum value for the height slider. Default is: 2048\",\n                )\n\n                # CFG\n                st.session_state[\"defaults\"].img2img.cfg_scale.value = st.number_input(\n                    \"Default Img2Img CFG Scale\",\n                    value=st.session_state[\"defaults\"].img2img.cfg_scale.value,\n                    help=\"Set the default value for the CFG Scale. Default is: 7.5\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.cfg_scale.min_value = st.number_input(\n                    \"Minimum Img2Img CFG Scale Value\",\n                    value=st.session_state[\"defaults\"].img2img.cfg_scale.min_value,\n                    help=\"Set the default minimum value for the CFG scale slider. Default is: 1\",\n                )\n\n                with col3:\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.cfg_scale.step = st.number_input(\n                        \"Img2Img CFG Slider Steps\",\n                        value=st.session_state[\"defaults\"].img2img.cfg_scale.step,\n                        help=\"Set the default value for the number of steps on the CFG scale slider. Default is: 0.5\",\n                    )\n\n                    # Sampling Steps\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.sampling_steps.value = st.number_input(\n                        \"Default Img2Img Sampling Steps\",\n                        value=st.session_state[\"defaults\"].img2img.sampling_steps.value,\n                        help=\"Set the default number of sampling steps to use. Default is: 30 (with k_euler)\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.sampling_steps.min_value = st.number_input(\n                        \"Minimum Img2Img Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].img2img.sampling_steps.min_value,\n                        help=\"Set the default minimum value for the sampling steps slider. Default is: 1\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.sampling_steps.step = st.number_input(\n                        \"Img2Img Sampling Slider Steps\",\n                        value=st.session_state[\"defaults\"].img2img.sampling_steps.step,\n                        help=\"Set the default value for the number of steps on the sampling steps slider. Default is: 10\",\n                    )\n\n                    # Batch Count\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.batch_count.value = st.number_input(\n                        \"Img2img Batch count\",\n                        value=st.session_state[\"defaults\"].img2img.batch_count.value,\n                        help=\"How many iterations or batches of images to generate in total.\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].img2img.batch_size.value = st.number_input(\n                        \"Img2img Batch size\",\n                        value=st.session_state[\"defaults\"].img2img.batch_size.value,\n                        help=\"How many images are at once in a batch.\\\n                                                                                            It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it \\\n                                                                                            takes to finish generation as more images are generated at once.\\\n                                                                                            Default: 1\",\n                    )\n                    with col4:\n                        # Inference Steps\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.num_inference_steps.value = st.number_input(\n                            \"Default Inference Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.num_inference_steps.value,\n                            help=\"Set the default number of inference steps to use. Default is: 200\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.num_inference_steps.min_value = st.number_input(\n                            \"Minimum Sampling Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.num_inference_steps.min_value,\n                            help=\"Set the default minimum value for the inference steps slider. Default is: 10\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.num_inference_steps.max_value = st.number_input(\n                            \"Maximum Sampling Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.num_inference_steps.max_value,\n                            help=\"Set the default maximum value for the inference steps slider. Default is: 500\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.num_inference_steps.step = st.number_input(\n                            \"Inference Slider Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.num_inference_steps.step,\n                            help=\"Set the default value for the number of steps on the inference steps slider.\\\n                                                                                                        Default is: 10\",\n                        )\n\n                        # Find Noise Steps\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.find_noise_steps.value = st.number_input(\n                            \"Default Find Noise Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.find_noise_steps.value,\n                            help=\"Set the default number of find noise steps to use. Default is: 100\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.find_noise_steps.min_value = st.number_input(\n                            \"Minimum Find Noise Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.find_noise_steps.min_value,\n                            help=\"Set the default minimum value for the find noise steps slider. Default is: 0\",\n                        )\n\n                        st.session_state[\n                            \"defaults\"\n                        ].img2img.find_noise_steps.step = st.number_input(\n                            \"Find Noise Slider Steps\",\n                            value=st.session_state[\n                                \"defaults\"\n                            ].img2img.find_noise_steps.step,\n                            help=\"Set the default value for the number of steps on the find noise steps slider. \\\n                                                                                                     Default is: 100\",\n                        )\n\n            with col5:\n                st.title(\"General Parameters\")\n\n                default_sampler_list = [\n                    \"k_lms\",\n                    \"k_euler\",\n                    \"k_euler_a\",\n                    \"k_dpm_2\",\n                    \"k_dpm_2_a\",\n                    \"k_heun\",\n                    \"PLMS\",\n                    \"DDIM\",\n                ]\n                st.session_state[\"defaults\"].img2img.sampler_name = st.selectbox(\n                    \"Default Img2Img Sampler\",\n                    default_sampler_list,\n                    index=default_sampler_list.index(\n                        st.session_state[\"defaults\"].img2img.sampler_name\n                    ),\n                    help=\"Defaut sampler to use for img2img. Default: k_euler\",\n                )\n\n                st.session_state[\"defaults\"].img2img.seed = st.text_input(\n                    \"Default Img2Img Seed\",\n                    value=st.session_state[\"defaults\"].img2img.seed,\n                    help=\"Default seed.\",\n                )\n\n                st.session_state[\"defaults\"].img2img.separate_prompts = st.checkbox(\n                    \"Separate Img2Img Prompts\",\n                    value=st.session_state[\"defaults\"].img2img.separate_prompts,\n                    help=\"Separate Prompts. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.normalize_prompt_weights = st.checkbox(\n                    \"Normalize Img2Img Prompt Weights\",\n                    value=st.session_state[\"defaults\"].img2img.normalize_prompt_weights,\n                    help=\"Choose to normalize prompt weights. Default: True\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].img2img.save_individual_images = st.checkbox(\n                    \"Save Individual Img2Img Images\",\n                    value=st.session_state[\"defaults\"].img2img.save_individual_images,\n                    help=\"Choose to save individual images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].img2img.save_grid = st.checkbox(\n                    \"Save Img2Img Grid Images\",\n                    value=st.session_state[\"defaults\"].img2img.save_grid,\n                    help=\"Choose to save the grid images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].img2img.group_by_prompt = st.checkbox(\n                    \"Group By Img2Img Prompt\",\n                    value=st.session_state[\"defaults\"].img2img.group_by_prompt,\n                    help=\"Choose to save images grouped by their prompt. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.save_as_jpg = st.checkbox(\n                    \"Save Img2Img As JPG\",\n                    value=st.session_state[\"defaults\"].img2img.save_as_jpg,\n                    help=\"Choose to save images as jpegs. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.write_info_files = st.checkbox(\n                    \"Write Info Files For Img2Img Images\",\n                    value=st.session_state[\"defaults\"].img2img.write_info_files,\n                    help=\"Choose to write the info files along with the generated images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].img2img.use_GFPGAN = st.checkbox(\n                    \"Img2Img Use GFPGAN\",\n                    value=st.session_state[\"defaults\"].img2img.use_GFPGAN,\n                    help=\"Choose to use GFPGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.use_RealESRGAN = st.checkbox(\n                    \"Img2Img Use RealESRGAN\",\n                    value=st.session_state[\"defaults\"].img2img.use_RealESRGAN,\n                    help=\"Choose to use RealESRGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].img2img.update_preview = True\n                st.session_state[\n                    \"defaults\"\n                ].img2img.update_preview_frequency = st.number_input(\n                    \"Img2Img Preview Image Update Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].img2img.update_preview_frequency,\n                    help=\"Set the default value for the frrquency of the preview image updates. Default is: 10\",\n                )\n\n                st.title(\"Variation Parameters\")\n\n                st.session_state[\"defaults\"].img2img.variant_amount = st.number_input(\n                    \"Default Img2Img Variation Amount\",\n                    value=st.session_state[\"defaults\"].img2img.variant_amount,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                # I THINK THESE ARE MISSING FROM THE CONFIG FILE\n                # st.session_state[\"defaults\"].img2img.variant_amount.min_value = st.number_input(\"Minimum Img2Img Variation Amount\",\n                # value=st.session_state['defaults'].img2img.variant_amount.min_value, help=\"Set the default minimum value for the variation slider. Default is: 0.0\"))\n\n                # st.session_state[\"defaults\"].img2img.variant_amount.max_value = st.number_input(\"Maximum Img2Img Variation Amount\",\n                # value=st.session_state['defaults'].img2img.variant_amount.max_value, help=\"Set the default maximum value for the variation slider. Default is: 1.0\"))\n\n                # st.session_state[\"defaults\"].img2img.variant_amount.step = st.number_input(\"Img2Img Variation Slider Steps\",\n                # value=st.session_state['defaults'].img2img.variant_amount.step, help=\"Set the default value for the number of steps on the variation slider. Default is: 1\"))\n\n                st.session_state[\"defaults\"].img2img.variant_seed = st.text_input(\n                    \"Default Img2Img Variation Seed\",\n                    value=st.session_state[\"defaults\"].img2img.variant_seed,\n                    help=\"Default variation seed.\",\n                )\n\n        with img2txt_tab:\n            col1 = st.columns(1, gap=\"large\")\n\n            st.title(\"Image-To-Text\")\n\n            st.session_state[\"defaults\"].img2txt.batch_size = st.number_input(\n                \"Default Img2Txt Batch Size\",\n                value=st.session_state[\"defaults\"].img2txt.batch_size,\n                help=\"Set the default batch size for Img2Txt. Default is: 420?\",\n            )\n\n            st.session_state[\"defaults\"].img2txt.blip_image_eval_size = st.number_input(\n                \"Default Blip Image Size Evaluation\",\n                value=st.session_state[\"defaults\"].img2txt.blip_image_eval_size,\n                help=\"Set the default value for the blip image evaluation size. Default is: 512\",\n            )\n\n        with txt2vid_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"medium\")\n\n            with col1:\n                st.title(\"Slider Parameters\")\n\n                # Width\n                st.session_state[\"defaults\"].txt2vid.width.value = st.number_input(\n                    \"Default txt2vid Image Width\",\n                    value=st.session_state[\"defaults\"].txt2vid.width.value,\n                    help=\"Set the default width for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.width.min_value = st.number_input(\n                    \"Minimum txt2vid Image Width\",\n                    value=st.session_state[\"defaults\"].txt2vid.width.min_value,\n                    help=\"Set the default minimum value for the width slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.width.max_value = st.number_input(\n                    \"Maximum txt2vid Image Width\",\n                    value=st.session_state[\"defaults\"].txt2vid.width.max_value,\n                    help=\"Set the default maximum value for the width slider. Default is: 2048\",\n                )\n\n                # Height\n                st.session_state[\"defaults\"].txt2vid.height.value = st.number_input(\n                    \"Default txt2vid Image Height\",\n                    value=st.session_state[\"defaults\"].txt2vid.height.value,\n                    help=\"Set the default height for the generated image. Default is: 512\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.height.min_value = st.number_input(\n                    \"Minimum txt2vid Image Height\",\n                    value=st.session_state[\"defaults\"].txt2vid.height.min_value,\n                    help=\"Set the default minimum value for the height slider. Default is: 64\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.height.max_value = st.number_input(\n                    \"Maximum txt2vid Image Height\",\n                    value=st.session_state[\"defaults\"].txt2vid.height.max_value,\n                    help=\"Set the default maximum value for the height slider. Default is: 2048\",\n                )\n\n                # CFG\n                st.session_state[\"defaults\"].txt2vid.cfg_scale.value = st.number_input(\n                    \"Default txt2vid CFG Scale\",\n                    value=st.session_state[\"defaults\"].txt2vid.cfg_scale.value,\n                    help=\"Set the default value for the CFG Scale. Default is: 7.5\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.cfg_scale.min_value = st.number_input(\n                    \"Minimum txt2vid CFG Scale Value\",\n                    value=st.session_state[\"defaults\"].txt2vid.cfg_scale.min_value,\n                    help=\"Set the default minimum value for the CFG scale slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.cfg_scale.step = st.number_input(\n                    \"txt2vid CFG Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2vid.cfg_scale.step,\n                    help=\"Set the default value for the number of steps on the CFG scale slider. Default is: 0.5\",\n                )\n\n                with col2:\n                    # Sampling Steps\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.sampling_steps.value = st.number_input(\n                        \"Default txt2vid Sampling Steps\",\n                        value=st.session_state[\"defaults\"].txt2vid.sampling_steps.value,\n                        help=\"Set the default number of sampling steps to use. Default is: 30 (with k_euler)\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.sampling_steps.min_value = st.number_input(\n                        \"Minimum txt2vid Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.sampling_steps.min_value,\n                        help=\"Set the default minimum value for the sampling steps slider. Default is: 1\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.sampling_steps.step = st.number_input(\n                        \"txt2vid Sampling Slider Steps\",\n                        value=st.session_state[\"defaults\"].txt2vid.sampling_steps.step,\n                        help=\"Set the default value for the number of steps on the sampling steps slider. Default is: 10\",\n                    )\n\n                    # Batch Count\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.batch_count.value = st.number_input(\n                        \"txt2vid Batch count\",\n                        value=st.session_state[\"defaults\"].txt2vid.batch_count.value,\n                        help=\"How many iterations or batches of images to generate in total.\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.batch_size.value = st.number_input(\n                        \"txt2vid Batch size\",\n                        value=st.session_state.defaults.txt2vid.batch_size.value,\n                        help=\"How many images are at once in a batch.\\\n                                                                                            It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it \\\n                                                                                            takes to finish generation as more images are generated at once.\\\n                                                                                            Default: 1\",\n                    )\n\n                    # Inference Steps\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.num_inference_steps.value = st.number_input(\n                        \"Default Txt2Vid Inference Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.num_inference_steps.value,\n                        help=\"Set the default number of inference steps to use. Default is: 200\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.num_inference_steps.min_value = st.number_input(\n                        \"Minimum Txt2Vid Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.num_inference_steps.min_value,\n                        help=\"Set the default minimum value for the inference steps slider. Default is: 10\",\n                    )\n\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.num_inference_steps.max_value = st.number_input(\n                        \"Maximum Txt2Vid Sampling Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.num_inference_steps.max_value,\n                        help=\"Set the default maximum value for the inference steps slider. Default is: 500\",\n                    )\n                    st.session_state[\n                        \"defaults\"\n                    ].txt2vid.num_inference_steps.step = st.number_input(\n                        \"Txt2Vid Inference Slider Steps\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2vid.num_inference_steps.step,\n                        help=\"Set the default value for the number of steps on the inference steps slider. Default is: 10\",\n                    )\n\n            with col3:\n                st.title(\"General Parameters\")\n\n                st.session_state[\"defaults\"].txt2vid.default_model = st.text_input(\n                    \"Default Txt2Vid Model\",\n                    value=st.session_state[\"defaults\"].txt2vid.default_model,\n                    help=\"Default: CompVis/stable-diffusion-v1-4\",\n                )\n\n                # INSERT CUSTOM_MODELS_LIST HERE\n\n                default_sampler_list = [\n                    \"k_lms\",\n                    \"k_euler\",\n                    \"k_euler_a\",\n                    \"k_dpm_2\",\n                    \"k_dpm_2_a\",\n                    \"k_heun\",\n                    \"PLMS\",\n                    \"DDIM\",\n                ]\n                st.session_state[\"defaults\"].txt2vid.default_sampler = st.selectbox(\n                    \"Default txt2vid Sampler\",\n                    default_sampler_list,\n                    index=default_sampler_list.index(\n                        st.session_state[\"defaults\"].txt2vid.default_sampler\n                    ),\n                    help=\"Defaut sampler to use for txt2vid. Default: k_euler\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.seed = st.text_input(\n                    \"Default txt2vid Seed\",\n                    value=st.session_state[\"defaults\"].txt2vid.seed,\n                    help=\"Default seed.\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.scheduler_name = st.text_input(\n                    \"Default Txt2Vid Scheduler\",\n                    value=st.session_state[\"defaults\"].txt2vid.scheduler_name,\n                    help=\"Default scheduler.\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.separate_prompts = st.checkbox(\n                    \"Separate txt2vid Prompts\",\n                    value=st.session_state[\"defaults\"].txt2vid.separate_prompts,\n                    help=\"Separate Prompts. Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.normalize_prompt_weights = st.checkbox(\n                    \"Normalize txt2vid Prompt Weights\",\n                    value=st.session_state[\"defaults\"].txt2vid.normalize_prompt_weights,\n                    help=\"Choose to normalize prompt weights. Default: True\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.save_individual_images = st.checkbox(\n                    \"Save Individual txt2vid Images\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_individual_images,\n                    help=\"Choose to save individual images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.save_video = st.checkbox(\n                    \"Save Txt2Vid Video\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_video,\n                    help=\"Choose to save the Txt2Vid video. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.save_video_on_stop = st.checkbox(\n                    \"Save video on Stop\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_video_on_stop,\n                    help=\"Save a video with all the images generated as frames when we hit the stop button \\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t  during a generation.\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.group_by_prompt = st.checkbox(\n                    \"Group By txt2vid Prompt\",\n                    value=st.session_state[\"defaults\"].txt2vid.group_by_prompt,\n                    help=\"Choose to save images grouped by their prompt. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.save_as_jpg = st.checkbox(\n                    \"Save txt2vid As JPG\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_as_jpg,\n                    help=\"Choose to save images as jpegs. Default: False\",\n                )\n\n                # Need more info for the Help dialog...\n                st.session_state[\"defaults\"].txt2vid.do_loop = st.checkbox(\n                    \"Loop Generations\",\n                    value=st.session_state[\"defaults\"].txt2vid.do_loop,\n                    help=\"Choose to loop or something, IDK.... Default: False\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.max_duration_in_seconds = st.number_input(\n                    \"Txt2Vid Max Duration in Seconds\",\n                    value=st.session_state[\"defaults\"].txt2vid.max_duration_in_seconds,\n                    help=\"Set the default value for the max duration in seconds for the video generated. Default is: 30\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.write_info_files = st.checkbox(\n                    \"Write Info Files For txt2vid Images\",\n                    value=st.session_state[\"defaults\"].txt2vid.write_info_files,\n                    help=\"Choose to write the info files along with the generated images. Default: True\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.use_GFPGAN = st.checkbox(\n                    \"txt2vid Use GFPGAN\",\n                    value=st.session_state[\"defaults\"].txt2vid.use_GFPGAN,\n                    help=\"Choose to use GFPGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.use_RealESRGAN = st.checkbox(\n                    \"txt2vid Use RealESRGAN\",\n                    value=st.session_state[\"defaults\"].txt2vid.use_RealESRGAN,\n                    help=\"Choose to use RealESRGAN. Default: False\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.update_preview = True\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.update_preview_frequency = st.number_input(\n                    \"txt2vid Preview Image Update Frequency\",\n                    value=st.session_state[\"defaults\"].txt2vid.update_preview_frequency,\n                    help=\"Set the default value for the frrquency of the preview image updates. Default is: 10\",\n                )\n\n            with col4:\n                st.title(\"Variation Parameters\")\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.variant_amount.value = st.number_input(\n                    \"Default txt2vid Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.value,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.variant_amount.min_value = st.number_input(\n                    \"Minimum txt2vid Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.min_value,\n                    help=\"Set the default minimum value for the variation slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.variant_amount.max_value = st.number_input(\n                    \"Maximum txt2vid Variation Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.max_value,\n                    help=\"Set the default maximum value for the variation slider. Default is: 1.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.variant_amount.step = st.number_input(\n                    \"txt2vid Variation Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.step,\n                    help=\"Set the default value for the number of steps on the variation slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.variant_seed = st.text_input(\n                    \"Default txt2vid Variation Seed\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_seed,\n                    help=\"Default variation seed.\",\n                )\n\n            with col5:\n                st.title(\"Beta Parameters\")\n\n                # Beta Start\n                st.session_state[\"defaults\"].txt2vid.beta_start.value = st.number_input(\n                    \"Default txt2vid Beta Start Value\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.value,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.beta_start.min_value = st.number_input(\n                    \"Minimum txt2vid Beta Start Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.min_value,\n                    help=\"Set the default minimum value for the variation slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.beta_start.max_value = st.number_input(\n                    \"Maximum txt2vid Beta Start Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.max_value,\n                    help=\"Set the default maximum value for the variation slider. Default is: 1.0\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.beta_start.step = st.number_input(\n                    \"txt2vid Beta Start Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.step,\n                    help=\"Set the default value for the number of steps on the variation slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.beta_start.format = st.text_input(\n                    \"Default txt2vid Beta Start Format\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.format,\n                    help=\"Set the default Beta Start Format. Default is: %.5\\f\",\n                )\n\n                # Beta End\n                st.session_state[\"defaults\"].txt2vid.beta_end.value = st.number_input(\n                    \"Default txt2vid Beta End Value\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_end.value,\n                    help=\"Set the default variation to use. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.beta_end.min_value = st.number_input(\n                    \"Minimum txt2vid Beta End Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_end.min_value,\n                    help=\"Set the default minimum value for the variation slider. Default is: 0.0\",\n                )\n\n                st.session_state[\n                    \"defaults\"\n                ].txt2vid.beta_end.max_value = st.number_input(\n                    \"Maximum txt2vid Beta End Amount\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_end.max_value,\n                    help=\"Set the default maximum value for the variation slider. Default is: 1.0\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.beta_end.step = st.number_input(\n                    \"txt2vid Beta End Slider Steps\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_end.step,\n                    help=\"Set the default value for the number of steps on the variation slider. Default is: 1\",\n                )\n\n                st.session_state[\"defaults\"].txt2vid.beta_end.format = st.text_input(\n                    \"Default txt2vid Beta End Format\",\n                    value=st.session_state[\"defaults\"].txt2vid.beta_start.format,\n                    help=\"Set the default Beta Start Format. Default is: %.5\\f\",\n                )\n\n        with image_processing:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"large\")\n\n            with col1:\n                st.title(\"GFPGAN\")\n\n                st.session_state[\"defaults\"].gfpgan.strength = st.number_input(\n                    \"Default Img2Txt Batch Size\",\n                    value=st.session_state[\"defaults\"].gfpgan.strength,\n                    help=\"Set the default global strength for GFPGAN. Default is: 100\",\n                )\n            with col2:\n                st.title(\"GoBig\")\n            with col3:\n                st.title(\"RealESRGAN\")\n            with col4:\n                st.title(\"LDSR\")\n            with col5:\n                st.title(\"GoLatent\")\n\n        with textual_inversion_tab:\n            st.title(\"Textual Inversion\")\n\n            st.session_state[\n                \"defaults\"\n            ].textual_inversion.pretrained_model_name_or_path = st.text_input(\n                \"Default Textual Inversion Model Path\",\n                value=st.session_state[\n                    \"defaults\"\n                ].textual_inversion.pretrained_model_name_or_path,\n                help=\"Default: models/ldm/stable-diffusion-v1-4\",\n            )\n\n            st.session_state[\n                \"defaults\"\n            ].textual_inversion.tokenizer_name = st.text_input(\n                \"Default Img2Img Variation Seed\",\n                value=st.session_state[\"defaults\"].textual_inversion.tokenizer_name,\n                help=\"Default tokenizer seed.\",\n            )\n\n        with concepts_library_tab:\n            st.title(\"Concepts Library\")\n            # st.info(\"Under Construction. :construction_worker:\")\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"large\")\n            with col1:\n                st.session_state[\n                    \"defaults\"\n                ].concepts_library.concepts_per_page = st.number_input(\n                    \"Concepts Per Page\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].concepts_library.concepts_per_page,\n                    help=\"Number of concepts per page to show on the Concepts Library. Default: '12'\",\n                )\n\n        # add space for the buttons at the bottom\n        st.markdown(\"---\")\n\n        # We need a submit button to save the Settings\n        # as well as one to reset them to the defaults, just in case.\n        _, _, save_button_col, reset_button_col, _, _ = st.columns(\n            [1, 1, 1, 1, 1, 1], gap=\"large\"\n        )\n        with save_button_col:\n            save_button = st.form_submit_button(\"Save\")\n\n        with reset_button_col:\n            reset_button = st.form_submit_button(\"Reset\")\n\n        if save_button:\n            OmegaConf.save(\n                config=st.session_state.defaults,\n                f=\"configs/webui/userconfig_streamlit.yaml\",\n            )\n            loaded = OmegaConf.load(\"configs/webui/userconfig_streamlit.yaml\")\n            assert st.session_state.defaults == loaded\n\n            #\n            if os.path.exists(\".streamlit/config.toml\"):\n                with open(\".streamlit/config.toml\", \"w\") as toml_file:\n                    toml.dump(st.session_state[\"streamlit_config\"], toml_file)\n\n        if reset_button:\n            st.session_state[\"defaults\"] = OmegaConf.load(\n                \"configs/webui/webui_streamlit.yaml\"\n            )\n            st.experimental_rerun()\n"
  },
  {
    "path": "webui/streamlit/scripts/barfi_baklavajs.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sandbox-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from sd_utils import *\nfrom sd_utils import st\n\n# streamlit imports\n\n# streamlit components section\n\n# other imports\nfrom barfi import st_barfi, barfi_schemas, Block\n\n# Temp imports\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\ndef layout():\n    # st.info(\"Under Construction. :construction_worker:\")\n\n    # from barfi import st_barfi, Block\n\n    # add = Block(name='Addition')\n    # sub = Block(name='Subtraction')\n    # mul = Block(name='Multiplication')\n    # div = Block(name='Division')\n\n    # barfi_result = st_barfi(base_blocks= [add, sub, mul, div])\n    # or if you want to use a category to organise them in the frontend sub-menu\n    # barfi_result = st_barfi(base_blocks= {'Op 1': [add, sub], 'Op 2': [mul, div]})\n\n    col1, col2, col3 = st.columns([1, 8, 1])\n\n    with col2:\n        feed = Block(name=\"Feed\")\n        feed.add_output()\n\n        def feed_func(self):\n            self.set_interface(name=\"Output 1\", value=4)\n\n        feed.add_compute(feed_func)\n\n        splitter = Block(name=\"Splitter\")\n        splitter.add_input()\n        splitter.add_output()\n        splitter.add_output()\n\n        def splitter_func(self):\n            in_1 = self.get_interface(name=\"Input 1\")\n            value = in_1 / 2\n            self.set_interface(name=\"Output 1\", value=value)\n            self.set_interface(name=\"Output 2\", value=value)\n\n        splitter.add_compute(splitter_func)\n\n        mixer = Block(name=\"Mixer\")\n        mixer.add_input()\n        mixer.add_input()\n        mixer.add_output()\n\n        def mixer_func(self):\n            in_1 = self.get_interface(name=\"Input 1\")\n            in_2 = self.get_interface(name=\"Input 2\")\n            value = in_1 + in_2\n            self.set_interface(name=\"Output 1\", value=value)\n\n        mixer.add_compute(mixer_func)\n\n        result = Block(name=\"Result\")\n        result.add_input()\n\n        def result_func(self):\n            self.get_interface(name=\"Input 1\")\n\n        result.add_compute(result_func)\n\n        load_schema = st.selectbox(\"Select a saved schema:\", barfi_schemas())\n\n        compute_engine = st.checkbox(\"Activate barfi compute engine\", value=False)\n\n        barfi_result = st_barfi(\n            base_blocks=[feed, result, mixer, splitter],\n            compute_engine=compute_engine,\n            load_schema=load_schema,\n        )\n\n        if barfi_result:\n            st.write(barfi_result)\n"
  },
  {
    "path": "webui/streamlit/scripts/custom_components/dragable_number_input/index.html",
    "content": "<html>\n\t<head>\n\t\t<style>\n\t\t\t/* our style while dragging */\n\t\t\t.value-dragging\n\t\t\t{\n\t\t\t\tbackground-color: lightblue;\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<!-- our fields -->\n\t\t<input type=\"number\" value=\"0\" min=0 max=200 step=10>\n\t\t<input type=\"number\" value=\"0\" min=-50 max=200 step=10>\n\n\t\t<script>\n\t\t\t// iframe parent\n\t\t\t// var parentDoc = window.parent.document\n\n\t\t\t// check for mouse pointer locking support, not a requirement but improves the overall experience\n\t\t\tvar havePointerLock = 'pointerLockElement' in document ||\n\t\t\t  'mozPointerLockElement' in document ||\n\t\t\t  'webkitPointerLockElement' in document;\n\n\t\t\t// the pointer locking exit function\n\t\t\tdocument.exitPointerLock = document.exitPointerLock || document.mozExitPointerLock || document.webkitExitPointerLock;\n\n\t\t\t// how far should the mouse travel for a step 50 pixel\n\t\t\tvar pixelPerStep = 50;\n\n\t\t\t// how many steps did the mouse move in as float\n\t\t\tvar movementDelta = 0.0;\n\t\t\t// value when drag started\n\t\t\tvar lockedValue = 0;\n\t\t\t// minimum value from field\n\t\t\tvar lockedMin = 0;\n\t\t\t// maximum value from field\n\t\t\tvar lockedMax = 0;\n\t\t\t// how big should the field steps be\n\t\t\tvar lockedStep = 0;\n\t\t\t// the currently locked in field\n\t\t\tvar lockedField = null;\n\n\t\t\t// register events and pointer locking on field\n\t\t\tRegisterField = (field) => {\n\t\t\t\tif(havePointerLock)\n\t\t\t\t\tfield.requestPointerLock = field.requestPointerLock || field.mozRequestPointerLock || field.webkitRequestPointerLock;\n\n\t\t\t\tfield.title = \"Click and hold middle mouse button\\nmove mouse left to decrease\\nmove right to increase\";\n\n\t\t\t\tfield.addEventListener('mousedown', (e) => {\n\t\t\t\t  onDragStart(e)\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tonDragStart = (e) => {\n\t\t\t\t// if middle mouse is down\n\t\t\t\tif(e.button === 1)\n\t\t\t\t{\n\t\t\t\t\t// save current field\n\t\t\t\t\tlockedField = e.target;\n\t\t\t\t\t// add class for styling\n\t\t\t\t\tlockedField.classList.add(\"value-dragging\");\n\t\t\t\t\t// reset movement delta\n\t\t\t\t\tmovementDelta = 0.0;\n\t\t\t\t\t// set to 0 if field is empty\n\t\t\t\t\tif(lockedField.value === '')\n\t\t\t\t\t\tlockedField.value = '0';\n\n\t\t\t\t\t// save current field value\n\t\t\t\t\tlockedValue = parseInt(lockedField.value);\n\n\t\t\t\t\tif(lockedField.min === '')\n\t\t\t\t\t\tlockedField.min = '-99999999';\n\n\t\t\t\t\tif(lockedField.max === '')\n\t\t\t\t\t\tlockedField.max = '99999999';\n\n\t\t\t\t\tif(lockedField.step === '')\n\t\t\t\t\t\tlockedField.step = '10';\n\n\t\t\t\t\tlockedMin = parseInt(lockedField.min);\n\t\t\t\t\tlockedMax = parseInt(lockedField.max);\n\n\t\t\t\t\tlockedStep = parseInt(lockedField.step);\n\n\t\t\t\t\t// lock pointer if available\n\t\t\t\t\tif(havePointerLock)\n\t\t\t\t\t\tlockedField.requestPointerLock();\n\n\t\t\t\t\t// add drag event\n\t\t\t\t\tdocument.addEventListener(\"mousemove\", onDrag, false);\n\t\t\t\t\t// prevent event propagation\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tonDrag = (e) => {\n\t\t\t\tif(lockedField !== null)\n\t\t\t\t{\n\t\t\t\t\t// add movement to delta\n\t\t\t\t\tmovementDelta += e.movementX / pixelPerStep;\n\t\t\t\t\t// set new value\n\t\t\t\t\tlet value = lockedValue + Math.floor(Math.abs(movementDelta)) * lockedStep * Math.sign(movementDelta);\n\t\t\t\t\tlockedField.value = Math.min(Math.max(value, lockedMin), lockedMax);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tdocument.addEventListener('mouseup', (e) => {\n\t\t\t\t// if middle mouse is up\n\t\t\t\tif(e.button === 1)\n\t\t\t\t{\n\t\t\t\t\t// release pointer lock if available\n\t\t\t\t\tif(havePointerLock)\n\t\t\t\t\t\tdocument.exitPointerLock();\n\n\t\t\t\t\tif(lockedField !== null)\n\t\t\t\t\t{\n\t\t\t\t\t\t// stop drag event\n\t\t\t\t\t\tdocument.removeEventListener(\"mousemove\", onDrag, false);\n\t\t\t\t\t\t// remove class for styling\n\t\t\t\t\t\tlockedField.classList.remove(\"value-dragging\");\n\t\t\t\t\t\t// remove reference\n\t\t\t\t\t\tlockedField = null;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t// find and register all input fields of type=number\n\t\t\tvar list = document.querySelectorAll('input[type=\"number\"]');\n\t\t\tlist.forEach(RegisterField);\n\t\t</script>\n\t</body>\n</html>\n"
  },
  {
    "path": "webui/streamlit/scripts/custom_components/draggable_number_input/__init__.py",
    "content": "import os\nimport streamlit.components.v1 as components\n\n\ndef load(pixel_per_step=50):\n    parent_dir = os.path.dirname(os.path.abspath(__file__))\n    file = os.path.join(parent_dir, \"main.js\")\n\n    with open(file) as f:\n        javascript_main = f.read()\n        javascript_main = javascript_main.replace(\n            \"%%pixelPerStep%%\", str(pixel_per_step)\n        )\n        components.html(f\"<script>{javascript_main}</script>\")\n"
  },
  {
    "path": "webui/streamlit/scripts/custom_components/draggable_number_input/main.js",
    "content": "// iframe parent\nvar parentDoc = window.parent.document\n\n// check for mouse pointer locking support, not a requirement but improves the overall experience\nvar havePointerLock = 'pointerLockElement' in parentDoc ||\n  'mozPointerLockElement' in parentDoc ||\n  'webkitPointerLockElement' in parentDoc;\n\n// the pointer locking exit function\nparentDoc.exitPointerLock = parentDoc.exitPointerLock || parentDoc.mozExitPointerLock || parentDoc.webkitExitPointerLock;\n\n// how far should the mouse travel for a step in pixel\nvar pixelPerStep = %%pixelPerStep%%;\n// how many steps did the mouse move in as float\nvar movementDelta = 0.0;\n// value when drag started\nvar lockedValue = 0.0;\n// minimum value from field\nvar lockedMin = 0.0;\n// maximum value from field\nvar lockedMax = 0.0;\n// how big should the field steps be\nvar lockedStep = 0.0;\n// the currently locked in field\nvar lockedField = null;\n\n// lock box to just request pointer lock for one element\nvar lockBox = document.createElement(\"div\");\nlockBox.classList.add(\"lockbox\");\nparentDoc.body.appendChild(lockBox);\nlockBox.requestPointerLock = lockBox.requestPointerLock || lockBox.mozRequestPointerLock || lockBox.webkitRequestPointerLock;\n\nfunction Lock(field)\n{\n\tvar rect = field.getBoundingClientRect();\n\tlockBox.style.left = (rect.left-2.5)+\"px\";\n\tlockBox.style.top = (rect.top-2.5)+\"px\";\n\n\tlockBox.style.width = (rect.width+2.5)+\"px\";\n\tlockBox.style.height = (rect.height+5)+\"px\";\n\n\tlockBox.requestPointerLock();\n}\n\nfunction Unlock()\n{\n\tparentDoc.exitPointerLock();\n\tlockBox.style.left = \"0px\";\n\tlockBox.style.top = \"0px\";\n\n\tlockBox.style.width = \"0px\";\n\tlockBox.style.height = \"0px\";\n\tlockedField.focus();\n}\n\nparentDoc.addEventListener('mousedown', (e) => {\n\t// if middle is down\n\tif(e.button === 1)\n\t{\n\t\tif(e.target.tagName === 'INPUT' && e.target.type === 'number')\n\t\t{\n\t\t\te.preventDefault();\n\t\t\tvar field = e.target;\n\t\t\tif(havePointerLock)\n\t\t\t\tLock(field);\n\n\t\t\t// save current field\n\t\t\tlockedField = e.target;\n\t\t\t// add class for styling\n\t\t\tlockedField.classList.add(\"value-dragging\");\n\t\t\t// reset movement delta\n\t\t\tmovementDelta = 0.0;\n\t\t\t// set to 0 if field is empty\n\t\t\tif(lockedField.value === '')\n\t\t\t\tlockedField.value = 0.0;\n\n\t\t\t// save current field value\n\t\t\tlockedValue = parseFloat(lockedField.value);\n\n\t\t\tif(lockedField.min === '' || lockedField.min === '-Infinity')\n\t\t\t\tlockedMin = -99999999.0;\n\t\t\telse\n\t\t\t\tlockedMin = parseFloat(lockedField.min);\n\n\t\t\tif(lockedField.max === '' || lockedField.max === 'Infinity')\n\t\t\t\tlockedMax = 99999999.0;\n\t\t\telse\n\t\t\t\tlockedMax = parseFloat(lockedField.max);\n\n\t\t\tif(lockedField.step === '' || lockedField.step === 'Infinity')\n\t\t\t\tlockedStep = 1.0;\n\t\t\telse\n\t\t\t\tlockedStep = parseFloat(lockedField.step);\n\n\t\t\t// lock pointer if available\n\t\t\tif(havePointerLock)\n\t\t\t\tLock(lockedField);\n\n\t\t\t// add drag event\n\t\t\tparentDoc.addEventListener(\"mousemove\", onDrag, false);\n\t\t}\n\t}\n});\n\nfunction onDrag(e)\n{\n\tif(lockedField !== null)\n\t{\n\t\t// add movement to delta\n\t\tmovementDelta += e.movementX / pixelPerStep;\n\t\tif(lockedField === NaN)\n\t\t\treturn;\n\t\t// set new value\n\t\tlet value = lockedValue + Math.floor(Math.abs(movementDelta)) * lockedStep * Math.sign(movementDelta);\n\t\tlockedField.focus();\n\t\tlockedField.select();\n\t\tparentDoc.execCommand('insertText', false /*no UI*/, Math.min(Math.max(value, lockedMin), lockedMax));\n\t}\n}\n\nparentDoc.addEventListener('mouseup', (e) => {\n\t// if mouse is up\n\tif(e.button === 1)\n\t{\n\t\t// release pointer lock if available\n\t\tif(havePointerLock)\n\t\t\tUnlock();\n\n\t\tif(lockedField !== null && lockedField !== NaN)\n\t\t{\n\t\t\t// stop drag event\n\t\t\tparentDoc.removeEventListener(\"mousemove\", onDrag, false);\n\t\t\t// remove class for styling\n\t\t\tlockedField.classList.remove(\"value-dragging\");\n\t\t\t// remove reference\n\t\t\tlockedField = null;\n\t\t}\n\t}\n});\n\n// only execute once (even though multiple iframes exist)\nif(!parentDoc.hasOwnProperty(\"dragableInitialized\"))\n{\n\tvar parentCSS =\n`\n/* Make input-instruction not block mouse events */\n.input-instructions,.input-instructions > *{\n\tpointer-events: none;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n}\n\n.lockbox {\n\tbackground-color: transparent;\n\tposition: absolute;\n\tpointer-events: none;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n\tborder-left: dotted 2px rgb(255,75,75);\n\tborder-top: dotted 2px rgb(255,75,75);\n\tborder-bottom: dotted 2px rgb(255,75,75);\n\tborder-right: dotted 1px rgba(255,75,75,0.2);\n\tborder-top-left-radius: 0.25rem;\n\tborder-bottom-left-radius: 0.25rem;\n\tz-index: 1000;\n}\n`;\n\n\t// get parent document head\n\tvar head = parentDoc.getElementsByTagName('head')[0];\n\t// add style tag\n\tvar s = document.createElement('style');\n    // set type attribute\n\ts.setAttribute('type', 'text/css');\n    // add css forwarded from python\n\tif (s.styleSheet) {   // IE\n        s.styleSheet.cssText = parentCSS;\n    } else {                // the world\n        s.appendChild(document.createTextNode(parentCSS));\n    }\n\t// add style to head\n    head.appendChild(s);\n\t// set flag so this only runs once\n\tparentDoc[\"dragableInitialized\"] = true;\n}\n"
  },
  {
    "path": "webui/streamlit/scripts/custom_components/sygil_suggestions/__init__.py",
    "content": "import os\nimport streamlit.components.v1 as components\n\n# where to save the downloaded key_phrases\nkey_phrases_file = \"data/tags/key_phrases.json\"\n# the loaded key phrase json as text\nkey_phrases_json = \"\"\n# where to save the downloaded key_phrases\nthumbnails_file = \"data/tags/thumbnails.json\"\n# the loaded key phrase json as text\nthumbnails_json = \"\"\n\n\ndef init():\n    global key_phrases_json, thumbnails_json\n    with open(key_phrases_file) as f:\n        key_phrases_json = f.read()\n    with open(thumbnails_file) as f:\n        thumbnails_json = f.read()\n\n\ndef suggestion_area(placeholder):\n    # get component path\n    parent_dir = os.path.dirname(os.path.abspath(__file__))\n    # get file paths\n    javascript_file = os.path.join(parent_dir, \"main.js\")\n    stylesheet_file = os.path.join(parent_dir, \"main.css\")\n    parent_stylesheet_file = os.path.join(parent_dir, \"parent.css\")\n\n    # load file texts\n    with open(javascript_file) as f:\n        javascript_main = f.read()\n    with open(stylesheet_file) as f:\n        stylesheet_main = f.read()\n    with open(parent_stylesheet_file) as f:\n        parent_stylesheet = f.read()\n\n    # add suggestion area div box\n    html = \"<div id='scroll_area' class='st-bg'><div id='suggestion_area'>javascript failed</div></div>\"\n    # add loaded style\n    html += f\"<style>{stylesheet_main}</style>\"\n    # set default variables\n    html += f\"<script>var thumbnails = {thumbnails_json};\\nvar keyPhrases = {key_phrases_json};\\nvar parentCSS = `{parent_stylesheet}`;\\nvar placeholder='{placeholder}';</script>\"\n    # add main java script\n    html += f\"\\n<script>{javascript_main}</script>\"\n    # add component to site\n    components.html(html, width=None, height=None, scrolling=True)\n"
  },
  {
    "path": "webui/streamlit/scripts/custom_components/sygil_suggestions/main.css",
    "content": "*\n{\n\tpadding: 0px;\n\tmargin: 0px;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n}\n\nbody\n{\n\twidth: 100%;\n\theight: 100%;\n\tpadding-left: calc( 1em - 1px );\n\tpadding-top: calc( 1em - 1px );\n\toverflow: hidden;\n}\n\n/* width */\n::-webkit-scrollbar {\n  width: 7px;\n}\n\n/* Track */\n::-webkit-scrollbar-track {\n  background: rgb(10, 13, 19);\n}\n\n/* Handle */\n::-webkit-scrollbar-thumb {\n  background: #6c6e72;\n  border-radius: 3px;\n}\n\n/* Handle on hover */\n::-webkit-scrollbar-thumb:hover {\n  background: #6c6e72;\n}\n\n#scroll_area\n{\n\tdisplay: flex;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n}\n\n#suggestion_area\n{\n\toverflow-x: hidden;\n\twidth: calc( 100% - 2em - 2px );\n\tmargin-bottom: calc( 1em + 13px );\n\tmin-height: 50px;\n}\n\nspan\n{\n\tborder: 1px solid rgba(250, 250, 250, 0.2);\n\tborder-radius: 0.25rem;\n\tfont-size: 1rem;\n\tfont-family: \"Source Sans Pro\", sans-serif;\n\n\tbackground-color: rgb(38, 39, 48);\n\tcolor: white;\n\tdisplay: inline-block;\n\tpadding: 0.5rem;\n\tmargin-right: 3px;\n\tcursor: pointer;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n}\n\nspan:hover\n{\n\tcolor: rgb(255,75,75);\n\tborder-color: rgb(255,75,75);\n}\n"
  },
  {
    "path": "webui/streamlit/scripts/custom_components/sygil_suggestions/main.js",
    "content": "\n// parent document\nvar parentDoc = window.parent.document;\n// iframe element in parent document\nvar frame = window.frameElement;\n// the area to put the suggestions in\nvar suggestionArea = document.getElementById('suggestion_area');\nvar scrollArea = document.getElementById('scroll_area');\n// button height is read when the first button gets created\nvar buttonHeight = -1;\n// the maximum size of the iframe in buttons (3 x buttons height)\nvar maxHeightInButtons = 3;\n// the prompt field connected to this iframe\nvar promptField = null;\n// the category of suggestions\nvar activeCategory = contextCategory;\n\nvar conditionalButtons = null;\n\nvar contextCategory = \"[context]\";\n\nvar frameHeight = \"calc( 3em - 3px + {} )\";\n\nvar filterGroups = {nsfw_mild: \"nsfw_mild\", nsfw_basic: \"nsfw_basic\", nsfw_strict: \"nsfw_strict\", gore_mild: \"gore_mild\", gore_basic: \"gore_basic\", gore_strict: \"gore_strict\"};\nvar activeFilters = [filterGroups.nsfw_mild, filterGroups.nsfw_basic, filterGroups.gore_mild];\n\nvar triggers = {empty: \"empty\", nsfw: \"nsfw\", nude: \"nude\"};\nvar activeContext = [];\n\nvar triggerIndex = {};\n\nvar wordMap = {};\nvar tagMap = {};\n\n// could pass in an array of specific stylesheets for optimization\nfunction getAllCSSVariableNames(styleSheets = parentDoc.styleSheets){\n   var cssVars = [];\n   // loop each stylesheet\n   for(var i = 0; i < styleSheets.length; i++){\n      // loop stylesheet's cssRules\n      try{ // try/catch used because 'hasOwnProperty' doesn't work\n         for( var j = 0; j < styleSheets[i].cssRules.length; j++){\n            try{\n\t\t\t\t//console.log(styleSheets[i].cssRules[j].selectorText);\n               // loop stylesheet's cssRules' style (property names)\n               for(var k = 0; k < styleSheets[i].cssRules[j].style.length; k++){\n                  let name = styleSheets[i].cssRules[j].style[k];\n                  // test name for css variable signiture and uniqueness\n                  if(name.startsWith('--') && cssVars.indexOf(name) == -1){\n                     cssVars.push(name);\n                  }\n               }\n            } catch (error) {}\n         }\n      } catch (error) {}\n   }\n   return cssVars;\n}\n\nfunction currentFrameAbsolutePosition() {\n  let currentWindow = window;\n  let currentParentWindow;\n  let positions = [];\n  let rect;\n\n  while (currentWindow !== window.top) {\n    currentParentWindow = currentWindow.parent;\n    for (let idx = 0; idx < currentParentWindow.frames.length; idx++)\n      if (currentParentWindow.frames[idx] === currentWindow) {\n        for (let frameElement of currentParentWindow.document.getElementsByTagName('iframe')) {\n          if (frameElement.contentWindow === currentWindow) {\n            rect = frameElement.getBoundingClientRect();\n            positions.push({x: rect.x, y: rect.y});\n          }\n        }\n        currentWindow = currentParentWindow;\n        break;\n      }\n  }\n  return positions.reduce((accumulator, currentValue) => {\n    return {\n      x: accumulator.x + currentValue.x,\n      y: accumulator.y + currentValue.y\n    };\n  }, { x: 0, y: 0 });\n}\n\n// check if element is visible\nfunction isVisible(e) {\n    return !!( e.offsetWidth || e.offsetHeight || e.getClientRects().length );\n}\n\n// remove everything from the suggestion area\nfunction ClearSuggestionArea(text = \"\")\n{\n\tsuggestionArea.innerHTML = text;\n\tconditionalButtons = [];\n}\n\n// update iframe size depending on button rows\nfunction UpdateSize()\n{\n\t// calculate maximum height\n\tvar maxHeight = buttonHeight * maxHeightInButtons;\n\n\tvar height = suggestionArea.lastChild.offsetTop + buttonHeight;\n\t// apply height to iframe\n\tframe.style.height = frameHeight.replace(\"{}\", Math.min(height,maxHeight)+\"px\");\n\tscrollArea.style.height = frame.style.height;\n}\n\n// add a button to the suggestion area\nfunction AddButton(label, action, dataTooltip = null, tooltipImage = null, pattern = null, data = null)\n{\n\t// create span\n\tvar button = document.createElement(\"span\");\n\t// label it\n\tbutton.innerHTML = label;\n\tif(data != null)\n\t{\n\t\t// add category attribute to button, will be read on click\n\t\tbutton.setAttribute(\"data\",data);\n\t}\n\tif(pattern != null)\n\t{\n\t\t// add category attribute to button, will be read on click\n\t\tbutton.setAttribute(\"pattern\",pattern);\n\t}\n\tif(dataTooltip != null)\n\t{\n\t\t// add category attribute to button, will be read on click\n\t\tbutton.setAttribute(\"tooltip-text\",dataTooltip);\n\t}\n\tif(tooltipImage != null)\n\t{\n\t\t// add category attribute to button, will be read on click\n\t\tbutton.setAttribute(\"tooltip-image\",tooltipImage);\n\t}\n\t// add button function\n\tbutton.addEventListener('click', action, false);\n\tbutton.addEventListener('mouseover', ButtonHoverEnter);\n\tbutton.addEventListener('mouseout', ButtonHoverExit);\n\t// add button to suggestion area\n\tsuggestionArea.appendChild(button);\n\t// get buttonHeight if not set\n\tif(buttonHeight < 0)\n\t\tbuttonHeight = button.offsetHeight;\n\treturn button;\n}\n\n// find visible prompt field to connect to this iframe\nfunction GetPromptField()\n{\n\t// get all prompt fields, the %% placeholder %% is set in python\n\tvar all = parentDoc.querySelectorAll('textarea[placeholder=\"'+placeholder+'\"]');\n\t// filter visible\n\tfor(var i = 0; i < all.length; i++)\n\t{\n\t\tif(isVisible(all[i]))\n\t\t{\n\t\t\tpromptField = all[i];\n\t\t\tpromptField.addEventListener('input', OnChange, false);\n\t\t\tpromptField.addEventListener('click', OnClick, false);\n\t\t\tpromptField.addEventListener('keyup', OnKey, false);\n\t\t\tbreak;\n\t\t}\n\t}\n}\n\nfunction OnChange(e)\n{\n\tButtonConditions();\n\tButtonUpdateContext(true);\n}\n\nfunction OnClick(e)\n{\n\tButtonUpdateContext(true);\n}\n\nfunction OnKey(e)\n{\n\tif (e.keyCode == '37' || e.keyCode == '38' || e.keyCode == '39' || e.keyCode == '40') {\n\t\tButtonUpdateContext(false);\n\t}\n}\n\nfunction getCaretPosition(ctrl) {\n    // IE < 9 Support\n    if (document.selection) {\n        ctrl.focus();\n        var range = document.selection.createRange();\n        var rangelen = range.text.length;\n        range.moveStart('character', -ctrl.value.length);\n        var start = range.text.length - rangelen;\n        return {\n            'start': start,\n            'end': start + rangelen\n        };\n    } // IE >=9 and other browsers\n    else if (ctrl.selectionStart || ctrl.selectionStart == '0') {\n        return {\n            'start': ctrl.selectionStart,\n            'end': ctrl.selectionEnd\n        };\n    } else {\n        return {\n            'start': 0,\n            'end': 0\n        };\n    }\n}\n\nfunction setCaretPosition(ctrl, start, end) {\n    // IE >= 9 and other browsers\n    if (ctrl.setSelectionRange) {\n        ctrl.focus();\n        ctrl.setSelectionRange(start, end);\n    }\n    // IE < 9\n    else if (ctrl.createTextRange) {\n        var range = ctrl.createTextRange();\n        range.collapse(true);\n        range.moveEnd('character', end);\n        range.moveStart('character', start);\n        range.select();\n    }\n}\n\nfunction isEmptyOrSpaces(str){\n    return str === null || str.match(/^ *$/) !== null;\n}\n\nfunction ButtonUpdateContext(changeCategory)\n{\n\tlet targetCategory = contextCategory;\n\tlet text = promptField.value;\n\tif(document.activeElement === promptField)\n\t{\n\t\tvar pos = getCaretPosition(promptField).end;\n\t\ttext = promptField.value.slice(0, pos);\n\t}\n\n\tactiveContext = [];\n\n\tvar parts = text.split(/[\\.?!,]/);\n\tif(activeCategory == \"Artists\" && !isEmptyOrSpaces(parts[parts.length-1]))\n\t{\n\t\treturn;\n\t}\n\tif(text == \"\")\n\t{\n\t\tactiveContext.push(triggers.empty);\n\t}\n\tif(text.endsWith(\"by\"))\n\t{\n\t\tchangeCategory = true;\n\t\ttargetCategory = \"Artists\";\n\t\tactiveContext.push(\"Artists\");\n\t}\n\telse\n\t{\n\t\tvar parts = text.split(/[\\.,!?;]/);\n\t\tparts = parts.reverse();\n\n\t\tparts.forEach( part =>\n\t\t{\n\t\t\tvar words = part.split(\" \");\n\t\t\twords = words.reverse();\n\t\t\twords.forEach( word =>\n\t\t\t{\n\t\t\t\tword = word.replace(/[^a-zA-Z0-9 \\._\\-]/g, '').trim().toLowerCase();\n\t\t\t\tword = WordToKey(word);\n\t\t\t\tif(wordMap.hasOwnProperty(word))\n\t\t\t\t{\n\t\t\t\t\tactiveContext = activeContext.concat(wordMap[word]).unique();\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\t}\n\n\tif(activeContext.length == 0)\n\t{\n\t\tif(activeCategory == contextCategory)\n\t\t{\n\t\t\tactiveCategory = \"\";\n\t\t\tShowMenu();\n\t\t}\n\t}\n\telse if(changeCategory)\n\t{\n\t\tactiveCategory = targetCategory;\n\t\tShowMenu();\n\t}\n\telse if(activeCategory == contextCategory)\n\t\tShowMenu();\n}\n\n// when pressing a button, give the focus back to the prompt field\nfunction KeepFocus(e)\n{\n\te.preventDefault();\n\tpromptField.focus();\n}\n\nfunction selectCategory(e)\n{\n\tKeepFocus(e);\n\t// set category from attribute\n\tactiveCategory = e.target.getAttribute(\"data\");\n\t// rebuild menu\n\tShowMenu();\n}\n\nfunction leaveCategory(e)\n{\n\tKeepFocus(e);\n\tactiveCategory = \"\";\n\t// rebuild menu\n\tShowMenu();\n}\n\n// [...]=block \"...\"=requirement ...=add {|}=cursor {}=insert .,!?;=start\n// [{} {|}]\n// [,by {}{|}][\"by \"* and by {}{|}]\n// [, {}{|}]\n\nfunction PatternWalk(text, pattern)\n{\n\tvar parts = text.split(/[\\,!?;]/);\n\tvar part = parts[parts.length - 1];\n\n\tvar indent = 0;\n\tvar outPattern = \"\";\n\tvar requirement = \"\"\n\tvar mode = \"\";\n\tvar patternFailed = false;\n\tvar partIndex = 0;\n\tfor( let i = 0; i < pattern.length; i++)\n\t{\n\t\tif(mode == \"\")\n\t\t{\n\t\t\tif(pattern[i] == \"[\")\n\t\t\t{\n\t\t\t\tindent++;\n\t\t\t\tmode = \"pattern\";\n\t\t\t\tconsole.log(\"pattern start:\");\n\t\t\t}\n\t\t}\n\t\telse if(indent > 0)\n\t\t{\n\t\t\tif(pattern[i] == \"[\")\n\t\t\t{\n\t\t\t\tindent++;\n\t\t\t}\n\t\t\telse if(mode == \"pattern\")\n\t\t\t{\n\t\t\t\tif(patternFailed)\n\t\t\t\t{\n\t\t\t\t\tif(pattern[i] == \"]\")\n\t\t\t\t\t{\n\t\t\t\t\t\tindent--;\n\t\t\t\t\t\tif(indent == 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmode = \"\";\n\t\t\t\t\t\t\toutPattern = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t\tpatternFailed = false;\n\t\t\t\t\t\t\tpart = parts[parts.length - 1];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tif(pattern[i] == \"\\\"\")\n\t\t\t\t\t{\n\t\t\t\t\t\tmode = \"requirement\";\n\t\t\t\t\t}\n\t\t\t\t\telse if(pattern[i] == \"]\")\n\t\t\t\t\t{\n\t\t\t\t\t\tindent--;\n\t\t\t\t\t\tif(indent == 0)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmode = \"\";\n\t\t\t\t\t\t\treturn outPattern;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if(pattern[i] == \",\" || pattern[i] == \"!\" || pattern[i] == \"?\" || pattern[i] == \";\" )\n\t\t\t\t\t{\n\t\t\t\t\t\tlet textToCheck = (text+outPattern).trim();\n\n\t\t\t\t\t\tif(textToCheck.endsWith(\"and\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += \"{_}\";\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"with\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += \"{_}\";\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"of\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += \"{_}\";\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"at\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += \"{_}\";\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"and a\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"with a\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"of a\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"at a\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"and an\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"with an\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"of an\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(textToCheck.endsWith(\"at an\"))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(!textToCheck.endsWith(pattern[i]))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t\t\t\tpart = \"\";\n\t\t\t\t\t\t\tpartIndex = 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse if(pattern[i] == \"{\")\n\t\t\t\t\t{\n\t\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t\t\tmode = \"write\";\n\t\t\t\t\t}\n\t\t\t\t\telse if(pattern[i] == \".\" && pattern[i+1] == \"*\" || pattern[i] == \"*\")\n\t\t\t\t\t{\n\t\t\t\t\t\tlet minLength = false;\n\t\t\t\t\t\tif(pattern[i] == \".\" && pattern[i+1] == \"*\")\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tminLength = true;\n\t\t\t\t\t\t\ti++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar o = pattern.slice(i+1).search(/[^\\w\\s]/);\n\t\t\t\t\t\tvar subpattern = pattern.slice(i+1,i+1+o);\n\n\t\t\t\t\t\tvar index = part.lastIndexOf(subpattern);\n\t\t\t\t\t\tvar subPatternIndex = subpattern.length;\n\t\t\t\t\t\twhile(index == -1)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(subPatternIndex <= 1)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpatternFailed = true;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tsubPatternIndex--;\n\t\t\t\t\t\t\tvar slice = subpattern.slice(0,subPatternIndex);\n\t\t\t\t\t\t\tindex = part.lastIndexOf(slice);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif(!patternFailed)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tif(minLength && index == 0)\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tpatternFailed = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpartIndex += index;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tif(partIndex >= part.length)\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse if(part[partIndex] == pattern[i])\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpartIndex++;\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tpatternFailed = true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(mode == \"requirement\")\n\t\t\t{\n\t\t\t\tif(pattern[i] == \"\\\"\")\n\t\t\t\t{\n\t\t\t\t\tif(!part.includes(requirement))\n\t\t\t\t\t{\n\t\t\t\t\t\tpatternFailed = true;\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tpartIndex = part.indexOf(requirement)+requirement.length;\n\t\t\t\t\t}\n\t\t\t\t\tmode = \"pattern\";\n\t\t\t\t\trequirement = \"\";\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\trequirement += pattern[i];\n\t\t\t\t}\n\t\t\t}\n\t\t\telse if(mode == \"write\")\n\t\t\t{\n\t\t\t\tif(pattern[i] == \"}\")\n\t\t\t\t{\n\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t\tmode = \"pattern\";\n\t\t\t\t}\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\toutPattern += pattern[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\telse if(pattern[i] == \"[\")\n\t\t\tindent++;\n\t}\n\t// fallback\n\treturn \", {}\";\n}\n\nfunction InsertPhrase(phrase, pattern)\n{\n\tvar text = promptField.value ?? \"\";\n\tif(document.activeElement === promptField)\n\t{\n\t\tvar pos = getCaretPosition(promptField).end;\n\t\ttext = promptField.value.slice(0, pos);\n\t}\n\tvar insert = PatternWalk(text,pattern);\n\tinsert = insert.replace('{}',phrase);\n\n\tlet firstLetter = phrase.trim()[0];\n\n\tif(firstLetter == \"a\" || firstLetter == \"e\" || firstLetter == \"i\" || firstLetter == \"o\" || firstLetter == \"u\")\n\t\tinsert = insert.replace('{_}',\"an\");\n\telse\n\t\tinsert = insert.replace('{_}',\"a\");\n\n\tinsert = insert.replace(/{[^|]/,\"\");\n\tinsert = insert.replace(/[^|]}/,\"\");\n\n\tvar caret = (text+insert).indexOf(\"{|}\");\n\tinsert = insert.replace('{|}',\"\");\n\t// inserting via execCommand is required, this triggers all native browser functionality as if the user wrote into the prompt field.\n\tparentDoc.execCommand('insertText', false, insert);\n\tsetCaretPosition(promptField, caret, caret);\n}\n\nfunction SelectPhrase(e)\n{\n\tKeepFocus(e);\n\tvar pattern = e.target.getAttribute(\"pattern\");\n\tvar phrase = e.target.getAttribute(\"data\");\n\n\tInsertPhrase(phrase,pattern);\n}\n\nfunction CheckButtonCondition(condition)\n{\n\tvar pos = getCaretPosition(promptField).end;\n\tvar text = promptField.value.slice(0, pos);\n\tif(condition === \"empty\")\n\t{\n\t\treturn text == \"\";\n\t}\n}\n\nfunction ButtonConditions()\n{\n\tconditionalButtons.forEach(entry =>\n\t{\n\t\tlet filtered = !CheckButtonCondition(entry.condition);\n\n\t\tif(entry.filterGroup != null)\n\t\t{\n\t\t\tentry.filterGroup.split(\",\").forEach( (group) =>\n\t\t\t{\n\n\t\t\t\tif(activeFilters.includes(group.trim().toLowerCase()))\n\t\t\t\t{\n\t\t\t\t\tfiltered = filtered || true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif(filtered)\n\t\t\tentry.element.style.display = \"none\";\n\t\telse\n\t\t\tentry.element.style.display = \"inline-block\";\n\t});\n}\n\nfunction ButtonHoverEnter(e)\n{\n\tvar text = e.target.getAttribute(\"tooltip-text\");\n\tvar image = e.target.getAttribute(\"tooltip-image\");\n\tShowTooltip(text, e.target, image)\n}\n\nfunction ButtonHoverExit(e)\n{\n\tHideTooltip();\n}\n\nfunction ShowTooltip(text, target, image = \"\")\n{\n\tvar cleanedName = image == null? null : image.replace(/[^a-zA-Z0-9 \\._\\-]/g, '');\n\tif((text == \"\" || text == null) && (image == \"\" || image == null || thumbnails[cleanedName] === undefined))\n\t\treturn;\n\n\tvar currentFramePosition = currentFrameAbsolutePosition();\n\tvar rect = target.getBoundingClientRect();\n\tvar element = parentDoc[\"phraseTooltip\"];\n\telement.innerText = text;\n\tif(image != \"\" && image != null && thumbnails[cleanedName] !== undefined)\n\t{\n\n\t\tvar img = parentDoc.createElement('img');\n\t\timg.src = GetThumbnailURL(cleanedName);\n\t\telement.appendChild(img)\n\t}\n\telement.style.display = \"flex\";\n\telement.style.top = (rect.bottom+currentFramePosition.y)+\"px\";\n\telement.style.left = (rect.right+currentFramePosition.x)+\"px\";\n\telement.style.width = \"inherit\";\n\telement.style.height = \"inherit\";\n}\n\nfunction base64toBlob(base64Data, contentType) {\n    contentType = contentType || '';\n    var sliceSize = 1024;\n    var byteCharacters = atob(base64Data);\n    var bytesLength = byteCharacters.length;\n    var slicesCount = Math.ceil(bytesLength / sliceSize);\n    var byteArrays = new Array(slicesCount);\n\n    for (var sliceIndex = 0; sliceIndex < slicesCount; ++sliceIndex) {\n        var begin = sliceIndex * sliceSize;\n        var end = Math.min(begin + sliceSize, bytesLength);\n\n        var bytes = new Array(end - begin);\n        for (var offset = begin, i = 0; offset < end; ++i, ++offset) {\n            bytes[i] = byteCharacters[offset].charCodeAt(0);\n        }\n        byteArrays[sliceIndex] = new Uint8Array(bytes);\n    }\n    return new Blob(byteArrays, { type: contentType });\n}\n\nfunction GetThumbnailURL(image)\n{\n\tif(parentDoc[\"keyPhraseSuggestionsLoadedBlobs\"].hasOwnProperty(image))\n\t{\n\t\treturn parentDoc[\"keyPhraseSuggestionsLoadedBlobs\"][image];\n\t}\n\telse\n\t{\n\t\tlet url = URL.createObjectURL(GetThumbnail(image));\n\t\tparentDoc[\"keyPhraseSuggestionsLoadedBlobs\"][image] = url;\n\t\treturn url;\n\t}\n}\n\nfunction GetThumbnail(image)\n{\n\treturn base64toBlob(thumbnails[image], 'image/webp');\n}\n\nfunction HideTooltip()\n{\n\tvar element = parentDoc[\"phraseTooltip\"];\n\telement.style.display= \"none\";\n\telement.innerHTML = \"\";\n\telement.style.top = \"0px\";\n\telement.style.left = \"0px\";\n\telement.style.width = \"0px\";\n\telement.style.height = \"0px\";\n}\n\nfunction RemoveDouble(str, symbol)\n{\n\tlet doubleSymbole = symbol+symbol;\n\twhile(str.includes(doubleSymbole))\n\t{\n\t\tstr = str.replace(doubleSymbole, symbol);\n\t}\n\treturn str;\n}\n\nfunction ReplaceAll(str, toReplace, seperator, symbol)\n{\n\ttoReplace.split(seperator).forEach( (replaceSymbol) =>\n\t{\n\t\tstr = str.replace(replaceSymbol, symbol);\n\t});\n\treturn str;\n}\n\nfunction WordToKey(word)\n{\n\tif(word.endsWith(\"s\"))\n\t\tword = word.slice(0, -1);\n\tword = word.replace(\"'\", \"\");\n\tif(word.endsWith(\"s\"))\n\t\tword = word.slice(0, -1);\n\tword = ReplaceAll(word, \"sch;sh;ch;ll;gg;r;l;j;g\", ';', 'h');\n\tword = ReplaceAll(word, \"sw;ss;zz;qu;kk;k;z;q;s;x\", ';','c');\n\tword = ReplaceAll(word, \"pp;bb;tt;th;ff;p;t;b;f;v\", ';','d');\n\tword = ReplaceAll(word, \"yu;yo;oo;u;y;w\", ';','o');\n\tword = ReplaceAll(word, \"ee;ie;a;i\", ';','e');\n\tword = ReplaceAll(word, \"mm;nn;n\", ';','n');\n\tword = RemoveDouble(word, \"l\");\n\tword = RemoveDouble(word, \"c\");\n\tword = RemoveDouble(word, \"e\");\n\tword = RemoveDouble(word, \"m\");\n\tword = RemoveDouble(word, \"j\");\n\tword = RemoveDouble(word, \"o\");\n\tword = RemoveDouble(word, \"d\");\n\tword = RemoveDouble(word, \"f\");\n\treturn word;\n}\n\nArray.prototype.unique = function() {\n    var a = this.concat();\n    for(var i=0; i<a.length; ++i) {\n        for(var j=i+1; j<a.length; ++j) {\n            if(a[i] == a[j])\n                a.splice(j--, 1);\n        }\n    }\n\n    return a;\n};\n\n\nfunction BuildTriggerIndex()\n{\n\ttriggerIndex = {};\n\twordMap = {};\n\ttagMap = {};\n\tfor (let category in keyPhrases)\n\t{\n\t\tlet count = keyPhrases[category][\"entries\"].length;\n\t\tfor(let i = 0; i < count; i++)\n\t\t{\n\t\t\tlet entry = keyPhrases[category][\"entries\"][i];\n\t\t\tif(entry[\"trigger\"] != null && entry[\"trigger\"] != \"\")\n\t\t\t{\n\t\t\t\tlet entryTriggers = entry[\"trigger\"].split(\",\");\n\t\t\t\tentryTriggers.forEach( trigger =>\n\t\t\t\t{\n\t\t\t\t\ttrigger = trigger.replace(/[^a-zA-Z0-9 \\._\\-]/g, '').trim().toLowerCase();\n\t\t\t\t\tif(!triggers.hasOwnProperty(trigger))\n\t\t\t\t\t{\n\t\t\t\t\t\ttrigger = WordToKey(trigger);\n\t\t\t\t\t}\n\t\t\t\t\tif(triggerIndex.hasOwnProperty(trigger))\n\t\t\t\t\t{\n\t\t\t\t\t\ttriggerIndex[trigger].push( { category: category, index: i });\n\t\t\t\t\t}\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\ttriggerIndex[trigger] = [];\n\t\t\t\t\t\ttriggerIndex[trigger].push( { category: category, index: i });\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\t/*let words = entry[\"phrase\"].split(\" \");\n\t\t\tlet wordCount = words.length;\n\t\t\tfor(let e = 0; e < wordCount; e++)\n\t\t\t{\n\t\t\t\tlet wordKey = WordToKey(words[e].replace(/[^a-zA-Z0-9 \\._\\-]/g, '').trim().toLowerCase());\n\n\t\t\t\tif(wordKey.length < 2)\n\t\t\t\t\tcontinue;\n\n\t\t\t\tif(!wordMap.hasOwnProperty(wordKey))\n\t\t\t\t{\n\t\t\t\t\twordMap[wordKey] = [];\n\t\t\t\t}\n\n\t\t\t\tlet entrySearchTags = entry[\"search_tags\"].split(\",\");\n\t\t\t\tentrySearchTags.push(category);\n\t\t\t\tentrySearchTags.forEach( search_tag =>\n\t\t\t\t{\n\t\t\t\t\tif(search_tag != null && search_tag != \"\")\n\t\t\t\t\t{\n\t\t\t\t\t\tif(search_tag.endsWith(\"'s\"))\n\t\t\t\t\t\t\tsearch_tag = search_tag.slice(0, -2);\n\t\t\t\t\t\tif(search_tag.endsWith(\"s\"))\n\t\t\t\t\t\t\tsearch_tag = search_tag.slice(0, -1);\n\t\t\t\t\t\tsearch_tag = search_tag.replace(/[^a-zA-Z0-9 \\._\\-]/g, '').trim().toLowerCase();\n\t\t\t\t\t\twordMap[wordKey].push(search_tag);\n\t\t\t\t\t\tif(!tagMap.hasOwnProperty(search_tag))\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttagMap[search_tag] = [];\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagMap[search_tag].push({ category: category, index: i });\n\t\t\t\t\t\ttagMap[search_tag] = tagMap[search_tag].unique();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\twordMap[wordKey] = wordMap[wordKey].unique();\n\t\t\t}*/\n\t\t}\n\t}\n}\n\nfunction ConditionalButton(entry, button)\n{\n\tif(entry[\"show_if\"] != \"\" || entry[\"filter_group\"] != \"\")\n\t\tconditionalButtons.push({element:button,condition:entry[\"show_if\"], filterGroup:entry[\"filter_group\"]});\n}\n\n// generate menu in suggestion area\nfunction ShowMenu()\n{\n\t// clear all buttons from menu\n\tClearSuggestionArea();\n\tHideTooltip();\n\n\t// if no chategory is selected\n\tif(activeCategory == \"\")\n\t{\n\t\tif(activeContext.length != 0)\n\t\t{\n\t\t\tAddButton(\"Context\", selectCategory, \"A dynamicly updating category based on the current prompt.\", null, null, contextCategory);\n\t\t}\n\t\tfor (var category in keyPhrases)\n\t\t{\n\t\t\tAddButton(category, selectCategory, keyPhrases[category][\"description\"], null, null, category);\n\t\t}\n\t\t// change iframe size after buttons have been added\n\t\tUpdateSize();\n\t}\n\telse if(activeCategory == contextCategory)\n\t{\n\t\t// add a button to leave the chategory\n\t\tvar backbutton = AddButton(\"&#x2191; back\", leaveCategory);\n\t\tactiveContext.forEach( context =>\n\t\t{\n\t\t\tif(tagMap.hasOwnProperty(context))\n\t\t\t{\n\t\t\t\tvar words = tagMap[context].unique();\n\t\t\t\twords.forEach( word =>\n\t\t\t\t{\n\t\t\t\t\tvar entry = keyPhrases[word.category][\"entries\"][word.index];\n\t\t\t\t\tvar tempPattern = keyPhrases[word.category][\"pattern\"];\n\n\t\t\t\t\tif(entry[\"pattern_override\"] != \"\")\n\t\t\t\t\t{\n\t\t\t\t\t\ttempPattern = entry[\"pattern_override\"];\n\t\t\t\t\t}\n\n\t\t\t\t\tvar button = AddButton(entry[\"phrase\"], SelectPhrase, entry[\"description\"], entry[\"phrase\"],tempPattern, entry[\"phrase\"]);\n\n\t\t\t\t\tConditionalButton(entry, button);\n\t\t\t\t});\n\t\t\t}\n\t\t\tif(triggerIndex.hasOwnProperty(context))\n\t\t\t{\n\t\t\t\tvar triggered = triggerIndex[context];\n\t\t\t\ttriggered.forEach( trigger =>\n\t\t\t\t{\n\t\t\t\t\tvar entry = keyPhrases[trigger.category][\"entries\"][trigger.index];\n\t\t\t\t\tvar tempPattern = keyPhrases[trigger.category][\"pattern\"];\n\n\t\t\t\t\tif(entry[\"pattern_override\"] != \"\")\n\t\t\t\t\t{\n\t\t\t\t\t\ttempPattern = entry[\"pattern_override\"];\n\t\t\t\t\t}\n\n\t\t\t\t\tvar button = AddButton(entry[\"phrase\"], SelectPhrase, entry[\"description\"], entry[\"phrase\"],tempPattern, entry[\"phrase\"]);\n\n\t\t\t\t\tConditionalButton(entry, button);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\n\t\tButtonConditions();\n\t\t// change iframe size after buttons have been added\n\t\tUpdateSize();\n\t}\n\t// if a chategory is selected\n\telse\n\t{\n\t\t// add a button to leave the chategory\n\t\tvar backbutton = AddButton(\"&#x2191; back\", leaveCategory);\n\t\tvar pattern = keyPhrases[activeCategory][\"pattern\"];\n\t\tkeyPhrases[activeCategory][\"entries\"].forEach(entry =>\n\t\t{\n\t\t\tvar tempPattern = pattern;\n\t\t\tif(entry[\"pattern_override\"] != \"\")\n\t\t\t{\n\t\t\t\ttempPattern = entry[\"pattern_override\"];\n\t\t\t}\n\n\t\t\tvar button = AddButton(entry[\"phrase\"], SelectPhrase, entry[\"description\"], entry[\"phrase\"],tempPattern, entry[\"phrase\"]);\n\n\t\t\tConditionalButton(entry, button);\n\t\t});\n\t\tButtonConditions();\n\t\t// change iframe size after buttons have been added\n\t\tUpdateSize();\n\t}\n}\n\n// listen for clicks on the prompt field\nparentDoc.addEventListener(\"click\", (e) =>\n{\n\t// skip if this frame is not visible\n\tif(!isVisible(frame))\n\t\treturn;\n\n\t// if the iframes prompt field is not set, get it and set it\n\tif(promptField === null)\n\t{\n\t\tGetPromptField();\n\t\tButtonUpdateContext(true);\n\t}\n\n\t// get the field with focus\n\tvar target = parentDoc.activeElement;\n\n\t// if the field with focus is a prompt field, the %% placeholder %% is set in python\n\tif(\ttarget.placeholder === placeholder)\n\t{\n\t\t// generate menu\n\t\tShowMenu();\n\t\tframe.style.borderBottomWidth = '13px';\n\t}\n\telse\n\t{\n\t\t// else hide the iframe\n\t\tframe.style.height = \"0px\";\n\t\tframe.style.borderBottomWidth = '0px';\n\t}\n});\n\nfunction AppendStyle(targetDoc, id, content)\n{\n\t  // get parent document head\n\tvar head = targetDoc.getElementsByTagName('head')[0];\n\n\t// add style tag\n\tvar style = targetDoc.createElement('style');\n    // set type attribute\n\tstyle.setAttribute('type', 'text/css');\n\tstyle.id = id;\n    // add css forwarded from python\n\tif (style.styleSheet) {   // IE\n        style.styleSheet.cssText = content;\n    } else {                // the world\n        style.appendChild(parentDoc.createTextNode(content));\n    }\n\t// add style to head\n    head.appendChild(style);\n}\n\n// Transfer all styles\nvar head = document.getElementsByTagName(\"head\")[0];\nvar parentStyle = parentDoc.getElementsByTagName(\"style\");\nfor (var i = 0; i < parentStyle.length; i++)\n\thead.appendChild(parentStyle[i].cloneNode(true));\nvar parentLinks = parentDoc.querySelectorAll('link[rel=\"stylesheet\"]');\nfor (var i = 0; i < parentLinks.length; i++)\n\thead.appendChild(parentLinks[i].cloneNode(true));\n\n// add custom style to iframe\nframe.classList.add(\"suggestion-frame\");\n// clear suggestion area to remove the \"javascript failed\" message\nClearSuggestionArea();\n// collapse the iframe by default\nframe.style.height = \"0px\";\nframe.style.borderBottomWidth = '0px';\n\nBuildTriggerIndex();\n\n// only execute once (even though multiple iframes exist)\nif(!parentDoc.hasOwnProperty('keyPhraseSuggestionsInitialized'))\n{\n\tAppendStyle(parentDoc, \"key-phrase-suggestions\", parentCSS);\n\n\tvar tooltip = parentDoc.createElement('div');\n\ttooltip.id = \"phrase-tooltip\";\n\tparentDoc.body.appendChild(tooltip);\n\tparentDoc[\"phraseTooltip\"] = tooltip;\n\t// set flag so this only runs once\n\tparentDoc[\"keyPhraseSuggestionsLoadedBlobs\"] = {};\n\tparentDoc[\"keyPhraseSuggestionsInitialized\"] = true;\n\n\tvar cssVars = getAllCSSVariableNames();\n\tcomputedStyle = getComputedStyle(parentDoc.documentElement);\n\n\tparentDoc[\"keyPhraseSuggestionsCSSvariables\"] = \":root{\";\n\n\tcssVars.forEach( (rule) =>\n\t{\n\t\tparentDoc[\"keyPhraseSuggestionsCSSvariables\"] += rule+\": \"+computedStyle.getPropertyValue(rule)+\";\";\n\t});\n\tparentDoc[\"keyPhraseSuggestionsCSSvariables\"] += \"}\";\n}\n\nAppendStyle(document, \"variables\", parentDoc[\"keyPhraseSuggestionsCSSvariables\"]);\n"
  },
  {
    "path": "webui/streamlit/scripts/custom_components/sygil_suggestions/parent.css",
    "content": ".suggestion-frame\n{\n\tposition: absolute;\n\n\t/* make as small as possible */\n\tmargin: 0px;\n\tpadding: 0px;\n\tmin-height: 0px;\n\tline-height: 0;\n\n\t/* animate transitions of the height property */\n\t-webkit-transition: height 1s;\n\t-moz-transition: height 1s;\n\t-ms-transition: height 1s;\n\t-o-transition: height 1s;\n\ttransition: height 1s, border-bottom-width 1s;\n\n\t/* block selection */\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n\n\tz-index: 700;\n\n\toutline: 1px solid rgba(250, 250, 250, 0.2);\n\toutline-offset: 0px;\n\tborder-radius: 0.25rem;\n\tbackground: rgb(14, 17, 23);\n\n\tbox-sizing: border-box;\n    -moz-box-sizing: border-box;\n    -webkit-box-sizing: border-box;\n\tborder-bottom: solid 13px rgb(14, 17, 23) !important;\n\tborder-left: solid 13px rgb(14, 17, 23) !important;\n}\n\n#phrase-tooltip\n{\n\tdisplay: none;\n\tpointer-events: none;\n\tposition: absolute;\n\tborder-bottom-left-radius: 0.5rem;\n\tborder-top-right-radius: 0.5rem;\n\tborder-bottom-right-radius: 0.5rem;\n\tborder: solid rgb(255,75,75) 2px;\n\tbackground-color: rgb(38, 39, 48);\n\tcolor: rgb(255,75,75);\n\tfont-size: 1rem;\n\tfont-family: \"Source Sans Pro\", sans-serif;\n\tpadding: 0.5rem;\n\n\tcursor: default;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n\tz-index: 1000;\n}\n\n#phrase-tooltip:has(img)\n{\n\ttransform: scale(1.25, 1.25);\n\t-ms-transform: scale(1.25, 1.25);\n\t-webkit-transform: scale(1.25, 1.25);\n}\n\n#phrase-tooltip>img\n{\n\tpointer-events: none;\n\tborder-bottom-left-radius: 0.5rem;\n\tborder-top-right-radius: 0.5rem;\n\tborder-bottom-right-radius: 0.5rem;\n\n\tcursor: default;\n\tuser-select: none;\n\t-moz-user-select: none;\n\t-khtml-user-select: none;\n\t-webkit-user-select: none;\n\t-o-user-select: none;\n\tz-index: 1500;\n}\n"
  },
  {
    "path": "webui/streamlit/scripts/img2img.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import (\n    st,\n    server_state,\n    no_rerun,\n    custom_models_available,\n    RealESRGAN_available,\n    GFPGAN_available,\n    LDSR_available,\n)\n\n# generation_callback, process_images, KDiffusionSampler, \\\n# load_models, hc, seed_to_int, logger, \\\n# resize_image, get_matched_noise, CFGMaskedDenoiser, ImageFilter, set_page_title\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\n\n# other imports\nimport cv2\nfrom PIL import Image, ImageOps\nimport torch\nimport k_diffusion as K\nimport numpy as np\nimport time\nimport torch\nimport skimage\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom ldm.models.diffusion.plms import PLMSSampler\n\n# streamlit components\nfrom custom_components import sygil_suggestions\nfrom streamlit_drawable_canvas import st_canvas\n\n# Temp imports\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nsygil_suggestions.init()\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n\ndef img2img(\n    prompt: str = \"\",\n    init_info: any = None,\n    init_info_mask: any = None,\n    mask_mode: int = 0,\n    mask_blur_strength: int = 3,\n    mask_restore: bool = False,\n    ddim_steps: int = 50,\n    sampler_name: str = \"DDIM\",\n    n_iter: int = 1,\n    cfg_scale: float = 7.5,\n    denoising_strength: float = 0.8,\n    seed: int = -1,\n    noise_mode: int = 0,\n    find_noise_steps: str = \"\",\n    height: int = 512,\n    width: int = 512,\n    resize_mode: int = 0,\n    fp=None,\n    variant_amount: float = 0.0,\n    variant_seed: int = None,\n    ddim_eta: float = 0.0,\n    write_info_files: bool = True,\n    separate_prompts: bool = False,\n    normalize_prompt_weights: bool = True,\n    save_individual_images: bool = True,\n    save_grid: bool = True,\n    group_by_prompt: bool = True,\n    save_as_jpg: bool = True,\n    use_GFPGAN: bool = True,\n    GFPGAN_model: str = \"GFPGANv1.4\",\n    use_RealESRGAN: bool = True,\n    RealESRGAN_model: str = \"RealESRGAN_x4plus_anime_6B\",\n    use_LDSR: bool = True,\n    LDSR_model: str = \"model\",\n    loopback: bool = False,\n    random_seed_loopback: bool = False,\n):\n    outpath = st.session_state[\"defaults\"].general.outdir_img2img\n    seed = seed_to_int(seed)\n\n    batch_size = 1\n\n    if sampler_name == \"PLMS\":\n        sampler = PLMSSampler(server_state[\"model\"])\n    elif sampler_name == \"DDIM\":\n        sampler = DDIMSampler(server_state[\"model\"])\n    elif sampler_name == \"k_dpm_2_a\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"dpm_2_ancestral\")\n    elif sampler_name == \"k_dpm_2\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"dpm_2\")\n    elif sampler_name == \"k_dpmpp_2m\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"dpmpp_2m\")\n    elif sampler_name == \"k_euler_a\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"euler_ancestral\")\n    elif sampler_name == \"k_euler\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"euler\")\n    elif sampler_name == \"k_heun\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"heun\")\n    elif sampler_name == \"k_lms\":\n        sampler = KDiffusionSampler(server_state[\"model\"], \"lms\")\n    else:\n        raise Exception(\"Unknown sampler: \" + sampler_name)\n\n    def process_init_mask(init_mask: Image):\n        if init_mask.mode == \"RGBA\":\n            init_mask = init_mask.convert(\"RGBA\")\n            background = Image.new(\"RGBA\", init_mask.size, (0, 0, 0))\n            init_mask = Image.alpha_composite(background, init_mask)\n            init_mask = init_mask.convert(\"RGB\")\n        return init_mask\n\n    init_img = init_info\n    init_mask = None\n    if mask_mode == 0:\n        if init_info_mask:\n            init_mask = process_init_mask(init_info_mask)\n    elif mask_mode == 1:\n        if init_info_mask:\n            init_mask = process_init_mask(init_info_mask)\n            init_mask = ImageOps.invert(init_mask)\n    elif mask_mode == 2:\n        init_img_transparency = init_img.split()[-1].convert(\n            \"L\"\n        )  # .point(lambda x: 255 if x > 0 else 0, mode='1')\n        init_mask = init_img_transparency\n        init_mask = init_mask.convert(\"RGB\")\n        init_mask = resize_image(resize_mode, init_mask, width, height)\n        init_mask = init_mask.convert(\"RGB\")\n\n    assert 0.0 <= denoising_strength <= 1.0, \"can only work with strength in [0.0, 1.0]\"\n    t_enc = int(denoising_strength * ddim_steps)\n\n    if (\n        init_mask is not None\n        and (noise_mode == 2 or noise_mode == 3)\n        and init_img is not None\n    ):\n        noise_q = 0.99\n        color_variation = 0.0\n        mask_blend_factor = 1.0\n\n        np_init = (np.asarray(init_img.convert(\"RGB\")) / 255.0).astype(\n            np.float64\n        )  # annoyingly complex mask fixing\n        np_mask_rgb = 1.0 - (\n            np.asarray(ImageOps.invert(init_mask).convert(\"RGB\")) / 255.0\n        ).astype(np.float64)\n        np_mask_rgb -= np.min(np_mask_rgb)\n        np_mask_rgb /= np.max(np_mask_rgb)\n        np_mask_rgb = 1.0 - np_mask_rgb\n        np_mask_rgb_hardened = 1.0 - (np_mask_rgb < 0.99).astype(np.float64)\n        blurred = skimage.filters.gaussian(\n            np_mask_rgb_hardened[:], sigma=16.0, channel_axis=2, truncate=32.0\n        )\n        blurred2 = skimage.filters.gaussian(\n            np_mask_rgb_hardened[:], sigma=16.0, channel_axis=2, truncate=32.0\n        )\n        # np_mask_rgb_dilated = np_mask_rgb + blurred  # fixup mask todo: derive magic constants\n        # np_mask_rgb = np_mask_rgb + blurred\n        np_mask_rgb_dilated = np.clip((np_mask_rgb + blurred2) * 0.7071, 0.0, 1.0)\n        np_mask_rgb = np.clip((np_mask_rgb + blurred) * 0.7071, 0.0, 1.0)\n\n        noise_rgb = get_matched_noise(np_init, np_mask_rgb, noise_q, color_variation)\n        blend_mask_rgb = np.clip(np_mask_rgb_dilated, 0.0, 1.0) ** (mask_blend_factor)\n        noised = noise_rgb[:]\n        blend_mask_rgb **= 2.0\n        noised = np_init[:] * (1.0 - blend_mask_rgb) + noised * blend_mask_rgb\n\n        np_mask_grey = np.sum(np_mask_rgb, axis=2) / 3.0\n        ref_mask = np_mask_grey < 1e-3\n\n        all_mask = np.ones((height, width), dtype=bool)\n        noised[all_mask, :] = skimage.exposure.match_histograms(\n            noised[all_mask, :] ** 1.0, noised[ref_mask, :], channel_axis=1\n        )\n\n        init_img = Image.fromarray(\n            np.clip(noised * 255.0, 0.0, 255.0).astype(np.uint8), mode=\"RGB\"\n        )\n        st.session_state[\"editor_image\"].image(init_img)  # debug\n\n    def init():\n        image = init_img.convert(\"RGB\")\n        image = np.array(image).astype(np.float32) / 255.0\n        image = image[None].transpose(0, 3, 1, 2)\n        image = torch.from_numpy(image)\n\n        mask_channel = None\n        if init_mask:\n            alpha = resize_image(resize_mode, init_mask, width // 8, height // 8)\n            mask_channel = alpha.split()[-1]\n\n        mask = None\n        if mask_channel is not None:\n            mask = np.array(mask_channel).astype(np.float32) / 255.0\n            mask = 1 - mask\n            mask = np.tile(mask, (4, 1, 1))\n            mask = mask[None].transpose(0, 1, 2, 3)\n            mask = torch.from_numpy(mask).to(server_state[\"device\"])\n\n        if st.session_state[\"defaults\"].general.optimized:\n            server_state[\"modelFS\"].to(server_state[\"device\"])\n\n        init_image = 2.0 * image - 1.0\n        init_image = init_image.to(server_state[\"device\"])\n        init_latent = (\n            server_state[\"model\"]\n            if not st.session_state[\"defaults\"].general.optimized\n            else server_state[\"modelFS\"]\n        ).get_first_stage_encoding(\n            (\n                server_state[\"model\"]\n                if not st.session_state[\"defaults\"].general.optimized\n                else server_state[\"modelFS\"]\n            ).encode_first_stage(init_image)\n        )  # move to latent space\n\n        if st.session_state[\"defaults\"].general.optimized:\n            mem = torch.cuda.memory_allocated() / 1e6\n            server_state[\"modelFS\"].to(\"cpu\")\n            while torch.cuda.memory_allocated() / 1e6 >= mem:\n                time.sleep(1)\n\n        return (\n            init_latent,\n            mask,\n        )\n\n    def sample(init_data, x, conditioning, unconditional_conditioning, sampler_name):\n        t_enc_steps = t_enc\n        obliterate = False\n        if ddim_steps == t_enc_steps:\n            t_enc_steps = t_enc_steps - 1\n            obliterate = True\n\n        if sampler_name != \"DDIM\":\n            x0, z_mask = init_data\n\n            sigmas = sampler.model_wrap.get_sigmas(ddim_steps)\n            noise = x * sigmas[ddim_steps - t_enc_steps - 1]\n\n            xi = x0 + noise\n\n            # Obliterate masked image\n            if z_mask is not None and obliterate:\n                random = torch.randn(z_mask.shape, device=xi.device)\n                xi = (z_mask * noise) + ((1 - z_mask) * xi)\n\n            sigma_sched = sigmas[ddim_steps - t_enc_steps - 1 :]\n            model_wrap_cfg = CFGMaskedDenoiser(sampler.model_wrap)\n            samples_ddim = K.sampling.__dict__[f\"sample_{sampler.get_sampler_name()}\"](\n                model_wrap_cfg,\n                xi,\n                sigma_sched,\n                extra_args={\n                    \"cond\": conditioning,\n                    \"uncond\": unconditional_conditioning,\n                    \"cond_scale\": cfg_scale,\n                    \"mask\": z_mask,\n                    \"x0\": x0,\n                    \"xi\": xi,\n                },\n                disable=False,\n                callback=generation_callback if not server_state[\"bridge\"] else None,\n            )\n        else:\n            x0, z_mask = init_data\n\n            sampler.make_schedule(\n                ddim_num_steps=ddim_steps, ddim_eta=0.0, verbose=False\n            )\n            z_enc = sampler.stochastic_encode(\n                x0, torch.tensor([t_enc_steps] * batch_size).to(server_state[\"device\"])\n            )\n\n            # Obliterate masked image\n            if z_mask is not None and obliterate:\n                random = torch.randn(z_mask.shape, device=z_enc.device)\n                z_enc = (z_mask * random) + ((1 - z_mask) * z_enc)\n\n                # decode it\n            samples_ddim = sampler.decode(\n                z_enc,\n                conditioning,\n                t_enc_steps,\n                unconditional_guidance_scale=cfg_scale,\n                unconditional_conditioning=unconditional_conditioning,\n                z_mask=z_mask,\n                x0=x0,\n            )\n        return samples_ddim\n\n    if loopback:\n        output_images, info = None, None\n        history = []\n        initial_seed = None\n\n        do_color_correction = False\n        try:\n            from skimage import exposure\n\n            do_color_correction = True\n        except:\n            logger.error(\"Install scikit-image to perform color correction on loopback\")\n\n        for i in range(n_iter):\n            if do_color_correction and i == 0:\n                correction_target = cv2.cvtColor(\n                    np.asarray(init_img.copy()), cv2.COLOR_RGB2LAB\n                )\n\n            # RealESRGAN can only run on the final iteration\n            is_final_iteration = i == n_iter - 1\n\n            output_images, seed, info, stats = process_images(\n                outpath=outpath,\n                func_init=init,\n                func_sample=sample,\n                prompt=prompt,\n                seed=seed,\n                sampler_name=sampler_name,\n                save_grid=save_grid,\n                batch_size=1,\n                n_iter=1,\n                steps=ddim_steps,\n                cfg_scale=cfg_scale,\n                width=width,\n                height=height,\n                prompt_matrix=separate_prompts,\n                use_GFPGAN=use_GFPGAN,\n                GFPGAN_model=GFPGAN_model,\n                use_RealESRGAN=use_RealESRGAN\n                and is_final_iteration,  # Forcefully disable upscaling when using loopback\n                realesrgan_model_name=RealESRGAN_model,\n                use_LDSR=use_LDSR,\n                LDSR_model_name=LDSR_model,\n                normalize_prompt_weights=normalize_prompt_weights,\n                save_individual_images=save_individual_images,\n                init_img=init_img,\n                init_mask=init_mask,\n                mask_blur_strength=mask_blur_strength,\n                mask_restore=mask_restore,\n                denoising_strength=denoising_strength,\n                noise_mode=noise_mode,\n                find_noise_steps=find_noise_steps,\n                resize_mode=resize_mode,\n                uses_loopback=loopback,\n                uses_random_seed_loopback=random_seed_loopback,\n                sort_samples=group_by_prompt,\n                write_info_files=write_info_files,\n                jpg_sample=save_as_jpg,\n            )\n\n            if initial_seed is None:\n                initial_seed = seed\n\n            input_image = init_img\n            init_img = output_images[0]\n\n            if do_color_correction and correction_target is not None:\n                init_img = Image.fromarray(\n                    cv2.cvtColor(\n                        exposure.match_histograms(\n                            cv2.cvtColor(np.asarray(init_img), cv2.COLOR_RGB2LAB),\n                            correction_target,\n                            channel_axis=2,\n                        ),\n                        cv2.COLOR_LAB2RGB,\n                    ).astype(\"uint8\")\n                )\n                if mask_restore is True and init_mask is not None:\n                    color_mask = init_mask.filter(\n                        ImageFilter.GaussianBlur(mask_blur_strength)\n                    )\n                    color_mask = color_mask.convert(\"L\")\n                    source_image = input_image.convert(\"RGB\")\n                    target_image = init_img.convert(\"RGB\")\n\n                    init_img = Image.composite(source_image, target_image, color_mask)\n\n            if not random_seed_loopback:\n                seed = seed + 1\n            else:\n                seed = seed_to_int(None)\n\n            denoising_strength = max(denoising_strength * 0.95, 0.1)\n            history.append(init_img)\n\n        output_images = history\n        seed = initial_seed\n\n    else:\n        output_images, seed, info, stats = process_images(\n            outpath=outpath,\n            func_init=init,\n            func_sample=sample,\n            prompt=prompt,\n            seed=seed,\n            sampler_name=sampler_name,\n            save_grid=save_grid,\n            batch_size=batch_size,\n            n_iter=n_iter,\n            steps=ddim_steps,\n            cfg_scale=cfg_scale,\n            width=width,\n            height=height,\n            prompt_matrix=separate_prompts,\n            use_GFPGAN=use_GFPGAN,\n            GFPGAN_model=GFPGAN_model,\n            use_RealESRGAN=use_RealESRGAN,\n            realesrgan_model_name=RealESRGAN_model,\n            use_LDSR=use_LDSR,\n            LDSR_model_name=LDSR_model,\n            normalize_prompt_weights=normalize_prompt_weights,\n            save_individual_images=save_individual_images,\n            init_img=init_img,\n            init_mask=init_mask,\n            mask_blur_strength=mask_blur_strength,\n            denoising_strength=denoising_strength,\n            noise_mode=noise_mode,\n            find_noise_steps=find_noise_steps,\n            mask_restore=mask_restore,\n            resize_mode=resize_mode,\n            uses_loopback=loopback,\n            sort_samples=group_by_prompt,\n            write_info_files=write_info_files,\n            jpg_sample=save_as_jpg,\n        )\n\n    del sampler\n\n    return output_images, seed, info, stats\n\n\n#\ndef layout():\n    with st.form(\"img2img-inputs\"):\n        st.session_state[\"generation_mode\"] = \"img2img\"\n\n        img2img_input_col, img2img_generate_col = st.columns([10, 1])\n        with img2img_input_col:\n            # prompt = st.text_area(\"Input Text\",\"\")\n            placeholder = \"A corgi wearing a top hat as an oil painting.\"\n            prompt = st.text_area(\"Input Text\", \"\", placeholder=placeholder, height=54)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].general.enable_suggestions:\n                    sygil_suggestions.suggestion_area(placeholder)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].admin.global_negative_prompt:\n                    prompt += f\"### {st.session_state['defaults'].admin.global_negative_prompt}\"\n\n        # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n        img2img_generate_col.write(\"\")\n        img2img_generate_col.write(\"\")\n        generate_button = img2img_generate_col.form_submit_button(\"Generate\")\n\n        # creating the page layout using columns\n        col1_img2img_layout, col2_img2img_layout, col3_img2img_layout = st.columns(\n            [2, 4, 4], gap=\"medium\"\n        )\n\n        with col1_img2img_layout:\n            # If we have custom models available on the \"models/custom\"\n            # folder then we show a menu to select which model we want to use, otherwise we use the main model for SD\n            custom_models_available()\n            if server_state[\"CustomModel_available\"]:\n                st.session_state[\"custom_model\"] = st.selectbox(\n                    \"Custom Model:\",\n                    server_state[\"custom_models\"],\n                    index=server_state[\"custom_models\"].index(\n                        st.session_state[\"defaults\"].general.default_model\n                    ),\n                    help=\"Select the model you want to use. This option is only available if you have custom models \\\n\t\t\t\t\t\t\t    on your 'models/custom' folder. The model name that will be shown here is the same as the name\\\n\t\t\t\t\t\t\t    the file for the model has on said folder, it is recommended to give the .ckpt file a name that \\\n\t\t\t\t\t\t\t    will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.5\",\n                )\n            else:\n                st.session_state[\"custom_model\"] = \"Stable Diffusion v1.5\"\n\n            st.session_state[\"sampling_steps\"] = st.number_input(\n                \"Sampling Steps\",\n                value=st.session_state[\"defaults\"].img2img.sampling_steps.value,\n                min_value=st.session_state[\"defaults\"].img2img.sampling_steps.min_value,\n                step=st.session_state[\"defaults\"].img2img.sampling_steps.step,\n            )\n\n            sampler_name_list = [\n                \"k_lms\",\n                \"k_euler\",\n                \"k_euler_a\",\n                \"k_dpm_2\",\n                \"k_dpm_2_a\",\n                \"k_dpmpp_2m\",\n                \"k_heun\",\n                \"PLMS\",\n                \"DDIM\",\n            ]\n            st.session_state[\"sampler_name\"] = st.selectbox(\n                \"Sampling method\",\n                sampler_name_list,\n                index=sampler_name_list.index(\n                    st.session_state[\"defaults\"].img2img.sampler_name\n                ),\n                help=\"Sampling method to use.\",\n            )\n\n            width = st.slider(\n                \"Width:\",\n                min_value=st.session_state[\"defaults\"].img2img.width.min_value,\n                max_value=st.session_state[\"defaults\"].img2img.width.max_value,\n                value=st.session_state[\"defaults\"].img2img.width.value,\n                step=st.session_state[\"defaults\"].img2img.width.step,\n            )\n            height = st.slider(\n                \"Height:\",\n                min_value=st.session_state[\"defaults\"].img2img.height.min_value,\n                max_value=st.session_state[\"defaults\"].img2img.height.max_value,\n                value=st.session_state[\"defaults\"].img2img.height.value,\n                step=st.session_state[\"defaults\"].img2img.height.step,\n            )\n            seed = st.text_input(\n                \"Seed:\",\n                value=st.session_state[\"defaults\"].img2img.seed,\n                help=\" The seed to use, if left blank a random seed will be generated.\",\n            )\n\n            cfg_scale = st.number_input(\n                \"CFG (Classifier Free Guidance Scale):\",\n                min_value=st.session_state[\"defaults\"].img2img.cfg_scale.min_value,\n                value=st.session_state[\"defaults\"].img2img.cfg_scale.value,\n                step=st.session_state[\"defaults\"].img2img.cfg_scale.step,\n                help=\"How strongly the image should follow the prompt.\",\n            )\n\n            st.session_state[\"denoising_strength\"] = st.slider(\n                \"Denoising Strength:\",\n                value=st.session_state[\"defaults\"].img2img.denoising_strength.value,\n                min_value=st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.min_value,\n                max_value=st.session_state[\n                    \"defaults\"\n                ].img2img.denoising_strength.max_value,\n                step=st.session_state[\"defaults\"].img2img.denoising_strength.step,\n            )\n\n            mask_expander = st.empty()\n            with mask_expander.expander(\"Inpainting/Outpainting\"):\n                mask_mode_list = [\"Outpainting\", \"Inpainting\", \"Image alpha\"]\n                mask_mode = st.selectbox(\n                    \"Painting Mode\",\n                    mask_mode_list,\n                    index=st.session_state[\"defaults\"].img2img.mask_mode,\n                    help='Select how you want your image to be masked/painted.\"Inpainting\" modifies the image where the mask is white.\\n\\\n\t\t\t\t\t\t\t \"Inverted mask\" modifies the image where the mask is black. \"Image alpha\" modifies the image where the image is transparent.',\n                )\n                mask_mode = mask_mode_list.index(mask_mode)\n\n                noise_mode_list = [\n                    \"Seed\",\n                    \"Find Noise\",\n                    \"Matched Noise\",\n                    \"Find+Matched Noise\",\n                ]\n                noise_mode = st.selectbox(\n                    \"Noise Mode\",\n                    noise_mode_list,\n                    index=noise_mode_list.index(\n                        st.session_state[\"defaults\"].img2img.noise_mode\n                    ),\n                    help=\"\",\n                )\n                # noise_mode = noise_mode_list.index(noise_mode)\n                find_noise_steps = st.number_input(\n                    \"Find Noise Steps\",\n                    value=st.session_state[\"defaults\"].img2img.find_noise_steps.value,\n                    min_value=st.session_state[\n                        \"defaults\"\n                    ].img2img.find_noise_steps.min_value,\n                    step=st.session_state[\"defaults\"].img2img.find_noise_steps.step,\n                )\n\n                # Specify canvas parameters in application\n                drawing_mode = st.selectbox(\n                    \"Drawing tool:\",\n                    (\n                        \"freedraw\",\n                        \"transform\",\n                        # \"line\",\n                        \"rect\",\n                        \"circle\",\n                        # \"polygon\",\n                    ),\n                )\n\n                stroke_width = st.slider(\"Stroke width: \", 1, 100, 50)\n                stroke_color = st.color_picker(\"Stroke color hex: \", value=\"#EEEEEE\")\n                bg_color = st.color_picker(\"Background color hex: \", \"#7B6E6E\")\n\n                display_toolbar = st.checkbox(\"Display toolbar\", True)\n                # realtime_update = st.checkbox(\"Update in realtime\", True)\n\n            with st.expander(\"Batch Options\"):\n                st.session_state[\"batch_count\"] = st.number_input(\n                    \"Batch count.\",\n                    value=st.session_state[\"defaults\"].img2img.batch_count.value,\n                    help=\"How many iterations or batches of images to generate in total.\",\n                )\n\n                st.session_state[\"batch_size\"] = st.number_input(\n                    \"Batch size\",\n                    value=st.session_state.defaults.img2img.batch_size.value,\n                    help=\"How many images are at once in a batch.\\\n\t\t\t\t\t\t\t\t\t\t It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it takes to finish generation as more images are generated at once.\\\n\t\t\t\t\t\t\t\t\t\t Default: 1\",\n                )\n\n            with st.expander(\"Preview Settings\"):\n                st.session_state[\"update_preview\"] = st.session_state[\n                    \"defaults\"\n                ].general.update_preview\n                st.session_state[\"update_preview_frequency\"] = st.number_input(\n                    \"Update Image Preview Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].img2img.update_preview_frequency,\n                    help=\"Frequency in steps at which the the preview image is updated. By default the frequency \\\n\t\t\t\t\t\t\t\t\t\t\t       is set to 1 step.\",\n                )\n            #\n            with st.expander(\"Advanced\"):\n                with st.expander(\"Output Settings\"):\n                    separate_prompts = st.checkbox(\n                        \"Create Prompt Matrix.\",\n                        value=st.session_state[\"defaults\"].img2img.separate_prompts,\n                        help=\"Separate multiple prompts using the `|` character, and get all combinations of them.\",\n                    )\n                    normalize_prompt_weights = st.checkbox(\n                        \"Normalize Prompt Weights.\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].img2img.normalize_prompt_weights,\n                        help=\"Ensure the sum of all weights add up to 1.0\",\n                    )\n                    loopback = st.checkbox(\n                        \"Loopback.\",\n                        value=st.session_state[\"defaults\"].img2img.loopback,\n                        help=\"Use images from previous batch when creating next batch.\",\n                    )\n                    st.checkbox(\n                        \"Random loopback seed.\",\n                        value=st.session_state[\"defaults\"].img2img.random_seed_loopback,\n                        help=\"Random loopback seed\",\n                    )\n                    img2img_mask_restore = st.checkbox(\n                        \"Only modify regenerated parts of image\",\n                        value=st.session_state[\"defaults\"].img2img.mask_restore,\n                        help=\"Enable to restore the unmasked parts of the image with the input, may not blend as well but preserves detail\",\n                    )\n                    save_individual_images = st.checkbox(\n                        \"Save individual images.\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].img2img.save_individual_images,\n                        help=\"Save each image generated before any filter or enhancement is applied.\",\n                    )\n                    save_grid = st.checkbox(\n                        \"Save grid\",\n                        value=st.session_state[\"defaults\"].img2img.save_grid,\n                        help=\"Save a grid with all the images generated into a single image.\",\n                    )\n                    group_by_prompt = st.checkbox(\n                        \"Group results by prompt\",\n                        value=st.session_state[\"defaults\"].img2img.group_by_prompt,\n                        help=\"Saves all the images with the same prompt into the same folder. \\\n\t\t\t\t\t\t                      When using a prompt matrix each prompt combination will have its own folder.\",\n                    )\n                    write_info_files = st.checkbox(\n                        \"Write Info file\",\n                        value=st.session_state[\"defaults\"].img2img.write_info_files,\n                        help=\"Save a file next to the image with informartion about the generation.\",\n                    )\n                    save_as_jpg = st.checkbox(\n                        \"Save samples as jpg\",\n                        value=st.session_state[\"defaults\"].img2img.save_as_jpg,\n                        help=\"Saves the images as jpg instead of png.\",\n                    )\n\n                #\n                # check if GFPGAN, RealESRGAN and LDSR are available.\n                if \"GFPGAN_available\" not in st.session_state:\n                    GFPGAN_available()\n\n                if \"RealESRGAN_available\" not in st.session_state:\n                    RealESRGAN_available()\n\n                if \"LDSR_available\" not in st.session_state:\n                    LDSR_available()\n\n                if (\n                    st.session_state[\"GFPGAN_available\"]\n                    or st.session_state[\"RealESRGAN_available\"]\n                    or st.session_state[\"LDSR_available\"]\n                ):\n                    with st.expander(\"Post-Processing\"):\n                        face_restoration_tab, upscaling_tab = st.tabs(\n                            [\"Face Restoration\", \"Upscaling\"]\n                        )\n                        with face_restoration_tab:\n                            # GFPGAN used for face restoration\n                            if st.session_state[\"GFPGAN_available\"]:\n                                # with st.expander(\"Face Restoration\"):\n                                # if st.session_state[\"GFPGAN_available\"]:\n                                # with st.expander(\"GFPGAN\"):\n                                st.session_state[\"use_GFPGAN\"] = st.checkbox(\n                                    \"Use GFPGAN\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].img2img.use_GFPGAN,\n                                    help=\"Uses the GFPGAN model to improve faces after the generation.\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t This greatly improve the quality and consistency of faces but uses\\\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t extra VRAM. Disable if you need the extra VRAM.\",\n                                )\n\n                                st.session_state[\"GFPGAN_model\"] = st.selectbox(\n                                    \"GFPGAN model\",\n                                    st.session_state[\"GFPGAN_models\"],\n                                    index=st.session_state[\"GFPGAN_models\"].index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.GFPGAN_model\n                                    ),\n                                )\n\n                                # st.session_state[\"GFPGAN_strenght\"] = st.slider(\"Effect Strenght\", min_value=1, max_value=100, value=1, step=1, help='')\n\n                            else:\n                                st.session_state[\"use_GFPGAN\"] = False\n\n                        with upscaling_tab:\n                            st.session_state[\"us_upscaling\"] = st.checkbox(\n                                \"Use Upscaling\",\n                                value=st.session_state[\n                                    \"defaults\"\n                                ].img2img.use_upscaling,\n                            )\n\n                            # RealESRGAN and LDSR used for upscaling.\n                            if (\n                                st.session_state[\"RealESRGAN_available\"]\n                                or st.session_state[\"LDSR_available\"]\n                            ):\n                                upscaling_method_list = []\n                                if st.session_state[\"RealESRGAN_available\"]:\n                                    upscaling_method_list.append(\"RealESRGAN\")\n                                if st.session_state[\"LDSR_available\"]:\n                                    upscaling_method_list.append(\"LDSR\")\n\n                                st.session_state[\"upscaling_method\"] = st.selectbox(\n                                    \"Upscaling Method\",\n                                    upscaling_method_list,\n                                    index=upscaling_method_list.index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.upscaling_method\n                                    )\n                                    if st.session_state[\n                                        \"defaults\"\n                                    ].general.upscaling_method\n                                    in upscaling_method_list\n                                    else 0,\n                                )\n\n                                if st.session_state[\"RealESRGAN_available\"]:\n                                    with st.expander(\"RealESRGAN\"):\n                                        if (\n                                            st.session_state[\"upscaling_method\"]\n                                            == \"RealESRGAN\"\n                                            and st.session_state[\"us_upscaling\"]\n                                        ):\n                                            st.session_state[\"use_RealESRGAN\"] = True\n                                        else:\n                                            st.session_state[\"use_RealESRGAN\"] = False\n\n                                        st.session_state[\n                                            \"RealESRGAN_model\"\n                                        ] = st.selectbox(\n                                            \"RealESRGAN model\",\n                                            st.session_state[\"RealESRGAN_models\"],\n                                            index=st.session_state[\n                                                \"RealESRGAN_models\"\n                                            ].index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].general.RealESRGAN_model\n                                            ),\n                                        )\n                                else:\n                                    st.session_state[\"use_RealESRGAN\"] = False\n                                    st.session_state[\n                                        \"RealESRGAN_model\"\n                                    ] = \"RealESRGAN_x4plus\"\n\n                                #\n                                if st.session_state[\"LDSR_available\"]:\n                                    with st.expander(\"LDSR\"):\n                                        if (\n                                            st.session_state[\"upscaling_method\"]\n                                            == \"LDSR\"\n                                            and st.session_state[\"us_upscaling\"]\n                                        ):\n                                            st.session_state[\"use_LDSR\"] = True\n                                        else:\n                                            st.session_state[\"use_LDSR\"] = False\n\n                                        st.session_state[\"LDSR_model\"] = st.selectbox(\n                                            \"LDSR model\",\n                                            st.session_state[\"LDSR_models\"],\n                                            index=st.session_state[\"LDSR_models\"].index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].general.LDSR_model\n                                            ),\n                                        )\n\n                                        st.session_state[\n                                            \"ldsr_sampling_steps\"\n                                        ] = st.number_input(\n                                            \"Sampling Steps\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].img2img.LDSR_config.sampling_steps,\n                                            help=\"\",\n                                        )\n\n                                        st.session_state[\n                                            \"preDownScale\"\n                                        ] = st.number_input(\n                                            \"PreDownScale\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].img2img.LDSR_config.preDownScale,\n                                            help=\"\",\n                                        )\n\n                                        st.session_state[\n                                            \"postDownScale\"\n                                        ] = st.number_input(\n                                            \"postDownScale\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].img2img.LDSR_config.postDownScale,\n                                            help=\"\",\n                                        )\n\n                                        downsample_method_list = [\"Nearest\", \"Lanczos\"]\n                                        st.session_state[\n                                            \"downsample_method\"\n                                        ] = st.selectbox(\n                                            \"Downsample Method\",\n                                            downsample_method_list,\n                                            index=downsample_method_list.index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].img2img.LDSR_config.downsample_method\n                                            ),\n                                        )\n\n                                else:\n                                    st.session_state[\"use_LDSR\"] = False\n                                    st.session_state[\"LDSR_model\"] = \"model\"\n\n                with st.expander(\"Variant\"):\n                    variant_amount = st.slider(\n                        \"Variant Amount:\",\n                        value=st.session_state[\"defaults\"].img2img.variant_amount,\n                        min_value=0.0,\n                        max_value=1.0,\n                        step=0.01,\n                    )\n                    variant_seed = st.text_input(\n                        \"Variant Seed:\",\n                        value=st.session_state[\"defaults\"].img2img.variant_seed,\n                        help=\"The seed to use when generating a variant, if left blank a random seed will be generated.\",\n                    )\n\n        with col2_img2img_layout:\n            st.tabs([\"Editor\"])\n\n            editor_image = st.empty()\n            st.session_state[\"editor_image\"] = editor_image\n\n            st.form_submit_button(\"Refresh\")\n\n            # if \"canvas\" not in st.session_state:\n            st.session_state[\"canvas\"] = st.empty()\n\n            st.empty()\n            st.empty()\n\n            uploaded_images = st.file_uploader(\n                \"Upload Image\",\n                accept_multiple_files=False,\n                type=[\"png\", \"jpg\", \"jpeg\", \"webp\", \"jfif\"],\n                help=\"Upload an image which will be used for the image to image generation.\",\n            )\n            if uploaded_images:\n                image = Image.open(uploaded_images).convert(\"RGB\")\n                new_img = image.resize((width, height))\n                # image_holder.image(new_img)\n\n            # mask_holder = st.empty()\n\n            # uploaded_masks = st.file_uploader(\n            # \"Upload Mask\", accept_multiple_files=False, type=[\"png\", \"jpg\", \"jpeg\", \"webp\", 'jfif'],\n            # help=\"Upload an mask image which will be used for masking the image to image generation.\",\n            # )\n\n            #\n            # Create a canvas component\n            with st.session_state[\"canvas\"]:\n                st.session_state[\"uploaded_masks\"] = st_canvas(\n                    fill_color=\"rgba(255, 165, 0, 0.3)\",  # Fixed fill color with some opacity\n                    stroke_width=stroke_width,\n                    stroke_color=stroke_color,\n                    background_color=bg_color,\n                    background_image=image if uploaded_images else None,\n                    update_streamlit=True,\n                    width=width,\n                    height=height,\n                    drawing_mode=drawing_mode,\n                    initial_drawing=st.session_state[\"uploaded_masks\"].json_data\n                    if \"uploaded_masks\" in st.session_state\n                    else None,\n                    display_toolbar=display_toolbar,\n                    key=\"full_app\",\n                )\n\n                # try:\n                ##print (type(st.session_state[\"uploaded_masks\"]))\n                # if st.session_state[\"uploaded_masks\"] != None:\n                # mask_expander.expander(\"Mask\", expanded=True)\n                # mask = Image.fromarray(st.session_state[\"uploaded_masks\"].image_data)\n\n                # st.image(mask)\n\n                # if mask.mode == \"RGBA\":\n                # mask = mask.convert('RGBA')\n                # background = Image.new('RGBA', mask.size, (0, 0, 0))\n                # mask = Image.alpha_composite(background, mask)\n                # mask = mask.resize((width, height))\n                # except AttributeError:\n                # pass\n\n            with col3_img2img_layout:\n                st.tabs([\"Result\"])\n\n                # create an empty container for the image, progress bar, etc so we can update it later and use session_state to hold them globally.\n                preview_image = st.empty()\n                st.session_state[\"preview_image\"] = preview_image\n\n                # st.session_state[\"loading\"] = st.empty()\n\n                st.session_state[\"progress_bar_text\"] = st.empty()\n                st.session_state[\"progress_bar\"] = st.empty()\n\n                message = st.empty()\n\n                # if uploaded_images:\n                # image = Image.open(uploaded_images).convert('RGB')\n                ##img_array = np.array(image) # if you want to pass it to OpenCV\n                # new_img = image.resize((width, height))\n                # st.image(new_img, use_column_width=True)\n\n        if generate_button:\n            # print(\"Loading models\")\n            # load the models when we hit the generate button for the first time, it wont be loaded after that so dont worry.\n            with col3_img2img_layout:\n                with no_rerun:\n                    with hc.HyLoader(\n                        \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n                    ):\n                        load_models(\n                            use_LDSR=st.session_state[\"use_LDSR\"],\n                            LDSR_model=st.session_state[\"LDSR_model\"],\n                            use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                            GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                            use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                            RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                            CustomModel_available=server_state[\"CustomModel_available\"],\n                            custom_model=st.session_state[\"custom_model\"],\n                        )\n\n            if uploaded_images:\n                # image = Image.fromarray(image).convert('RGBA')\n                # new_img = image.resize((width, height))\n                ###img_array = np.array(image) # if you want to pass it to OpenCV\n                # image_holder.image(new_img)\n                new_mask = None\n\n                if st.session_state[\"uploaded_masks\"]:\n                    mask = Image.fromarray(\n                        st.session_state[\"uploaded_masks\"].image_data\n                    )\n                    new_mask = mask.resize((width, height))\n\n                    # masked_image_holder.image(new_mask)\n                try:\n                    output_images, seed, info, stats = img2img(\n                        prompt=prompt,\n                        init_info=new_img,\n                        init_info_mask=new_mask,\n                        mask_mode=mask_mode,\n                        mask_restore=img2img_mask_restore,\n                        ddim_steps=st.session_state[\"sampling_steps\"],\n                        sampler_name=st.session_state[\"sampler_name\"],\n                        n_iter=st.session_state[\"batch_count\"],\n                        cfg_scale=cfg_scale,\n                        denoising_strength=st.session_state[\"denoising_strength\"],\n                        variant_seed=variant_seed,\n                        seed=seed,\n                        noise_mode=noise_mode,\n                        find_noise_steps=find_noise_steps,\n                        width=width,\n                        height=height,\n                        variant_amount=variant_amount,\n                        ddim_eta=st.session_state.defaults.img2img.ddim_eta,\n                        write_info_files=write_info_files,\n                        separate_prompts=separate_prompts,\n                        normalize_prompt_weights=normalize_prompt_weights,\n                        save_individual_images=save_individual_images,\n                        save_grid=save_grid,\n                        group_by_prompt=group_by_prompt,\n                        save_as_jpg=save_as_jpg,\n                        use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                        GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                        use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                        RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                        use_LDSR=st.session_state[\"use_LDSR\"],\n                        LDSR_model=st.session_state[\"LDSR_model\"],\n                        loopback=loopback,\n                    )\n\n                    # show a message when the generation is complete.\n                    message.success(\n                        \"Render Complete: \" + info + \"; Stats: \" + stats, icon=\"✅\"\n                    )\n\n                except (\n                    StopException,\n                    # KeyError\n                ):\n                    logger.info(\"Received Streamlit StopException\")\n                    # reset the page title so the percent doesnt stay on it confusing the user.\n                    set_page_title(\"Stable Diffusion Playground\")\n\n                # this will render all the images at the end of the generation but its better if its moved to a second tab inside col2 and shown as a gallery.\n                # use the current col2 first tab to show the preview_img and update it as its generated.\n                # preview_image.image(output_images, width=750)\n\n\n# on import run init\n"
  },
  {
    "path": "webui/streamlit/scripts/img2txt.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# ---------------------------------------------------------------------------------------------------------------------------------------------------\n\"\"\"\nCLIP Interrogator made by @pharmapsychotic modified to work with our WebUI.\n\n# CLIP Interrogator by @pharmapsychotic\nTwitter: https://twitter.com/pharmapsychotic\nGithub: https://github.com/pharmapsychotic/clip-interrogator\n\nDescription:\nWhat do the different OpenAI CLIP models see in an image? What might be a good text prompt to create similar images using CLIP guided diffusion\nor another text to image model? The CLIP Interrogator is here to get you answers!\n\nPlease consider buying him a coffee via [ko-fi](https://ko-fi.com/pharmapsychotic) or following him on [twitter](https://twitter.com/pharmapsychotic).\n\nAnd if you're looking for more Ai art tools check out my [Ai generative art tools list](https://pharmapsychotic.com/tools.html).\n\n\"\"\"\n# ---------------------------------------------------------------------------------------------------------------------------------------------------\n\n# base webui import and utils.\nfrom sd_utils import st, logger, server_state, server_state_lock, random\n\n# streamlit imports\n\n# streamlit components section\n\n# other imports\n\nimport clip\nimport open_clip\nimport gc\nimport os\nimport pandas as pd\n\n# import requests\nimport torch\nfrom PIL import Image\nfrom torchvision import transforms\nfrom torchvision.transforms.functional import InterpolationMode\nfrom ldm.models.blip import blip_decoder\n\n# import hashlib\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\ndevice = torch.device(\"cuda:0\" if torch.cuda.is_available() else \"cpu\")\nblip_image_eval_size = 512\n\nst.session_state[\"log\"] = []\n\n\ndef load_blip_model():\n    logger.info(\"Loading BLIP Model\")\n    if \"log\" not in st.session_state:\n        st.session_state[\"log\"] = []\n\n    st.session_state[\"log\"].append(\"Loading BLIP Model\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n\n    if \"blip_model\" not in server_state:\n        with server_state_lock[\"blip_model\"]:\n            server_state[\"blip_model\"] = blip_decoder(\n                pretrained=\"models/blip/model__base_caption.pth\",\n                image_size=blip_image_eval_size,\n                vit=\"base\",\n                med_config=\"configs/blip/med_config.json\",\n            )\n\n            server_state[\"blip_model\"] = server_state[\"blip_model\"].eval()\n\n            server_state[\"blip_model\"] = server_state[\"blip_model\"].to(device).half()\n\n            logger.info(\"BLIP Model Loaded\")\n            st.session_state[\"log\"].append(\"BLIP Model Loaded\")\n            st.session_state[\"log_message\"].code(\n                \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n            )\n    else:\n        logger.info(\"BLIP Model already loaded\")\n        st.session_state[\"log\"].append(\"BLIP Model already loaded\")\n        st.session_state[\"log_message\"].code(\n            \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n        )\n\n\ndef generate_caption(pil_image):\n    load_blip_model()\n\n    gpu_image = (\n        transforms.Compose(\n            [  # type: ignore\n                transforms.Resize((blip_image_eval_size, blip_image_eval_size), interpolation=InterpolationMode.BICUBIC),  # type: ignore\n                transforms.ToTensor(),  # type: ignore\n                transforms.Normalize((0.48145466, 0.4578275, 0.40821073), (0.26862954, 0.26130258, 0.27577711)),  # type: ignore\n            ]\n        )(pil_image)\n        .unsqueeze(0)\n        .to(device)\n        .half()\n    )\n\n    with torch.no_grad():\n        caption = server_state[\"blip_model\"].generate(\n            gpu_image, sample=False, num_beams=3, max_length=20, min_length=5\n        )\n\n    return caption[0]\n\n\ndef load_list(filename):\n    with open(filename, \"r\", encoding=\"utf-8\", errors=\"replace\") as f:\n        items = [line.strip() for line in f.readlines()]\n        return items\n\n\ndef rank(model, image_features, text_array, top_count=1):\n    top_count = min(top_count, len(text_array))\n    text_tokens = clip.tokenize([text for text in text_array]).cuda()\n    with torch.no_grad():\n        text_features = model.encode_text(text_tokens).float()\n    text_features /= text_features.norm(dim=-1, keepdim=True)\n\n    similarity = torch.zeros((1, len(text_array))).to(device)\n    for i in range(image_features.shape[0]):\n        similarity += (\n            100.0 * image_features[i].unsqueeze(0) @ text_features.T\n        ).softmax(dim=-1)\n    similarity /= image_features.shape[0]\n\n    top_probs, top_labels = similarity.cpu().topk(top_count, dim=-1)\n    return [\n        (text_array[top_labels[0][i].numpy()], (top_probs[0][i].numpy() * 100))\n        for i in range(top_count)\n    ]\n\n\ndef clear_cuda():\n    torch.cuda.empty_cache()\n    gc.collect()\n\n\ndef batch_rank(\n    model,\n    image_features,\n    text_array,\n    batch_size=st.session_state[\"defaults\"].img2txt.batch_size,\n):\n    batch_size = min(batch_size, len(text_array))\n    batch_count = int(len(text_array) / batch_size)\n    batches = [\n        text_array[i * batch_size : (i + 1) * batch_size] for i in range(batch_count)\n    ]\n    ranks = []\n    for batch in batches:\n        ranks += rank(model, image_features, batch)\n    return ranks\n\n\ndef interrogate(image, models):\n    load_blip_model()\n\n    logger.info(\"Generating Caption\")\n    st.session_state[\"log\"].append(\"Generating Caption\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n    caption = generate_caption(image)\n\n    if st.session_state[\"defaults\"].general.optimized:\n        del server_state[\"blip_model\"]\n        clear_cuda()\n\n    logger.info(\"Caption Generated\")\n    st.session_state[\"log\"].append(\"Caption Generated\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n\n    if len(models) == 0:\n        logger.info(f\"\\n\\n{caption}\")\n        return\n\n    table = []\n    bests = [[(\"\", 0)]] * 7\n\n    logger.info(\"Ranking Text\")\n    st.session_state[\"log\"].append(\"Ranking Text\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n\n    for model_name in models:\n        with torch.no_grad(), torch.autocast(\"cuda\", dtype=torch.float16):\n            logger.info(f\"Interrogating with {model_name}...\")\n            st.session_state[\"log\"].append(f\"Interrogating with {model_name}...\")\n            st.session_state[\"log_message\"].code(\n                \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n            )\n\n            if model_name not in server_state[\"clip_models\"]:\n                if not st.session_state[\"defaults\"].img2txt.keep_all_models_loaded:\n                    model_to_delete = []\n                    for model in server_state[\"clip_models\"]:\n                        if model != model_name:\n                            model_to_delete.append(model)\n                    for model in model_to_delete:\n                        del server_state[\"clip_models\"][model]\n                        del server_state[\"preprocesses\"][model]\n                        clear_cuda()\n                if model_name == \"ViT-H-14\":\n                    (\n                        server_state[\"clip_models\"][model_name],\n                        _,\n                        server_state[\"preprocesses\"][model_name],\n                    ) = open_clip.create_model_and_transforms(\n                        model_name,\n                        pretrained=\"laion2b_s32b_b79k\",\n                        cache_dir=\"models/clip\",\n                    )\n                elif model_name == \"ViT-g-14\":\n                    (\n                        server_state[\"clip_models\"][model_name],\n                        _,\n                        server_state[\"preprocesses\"][model_name],\n                    ) = open_clip.create_model_and_transforms(\n                        model_name,\n                        pretrained=\"laion2b_s12b_b42k\",\n                        cache_dir=\"models/clip\",\n                    )\n                else:\n                    (\n                        server_state[\"clip_models\"][model_name],\n                        server_state[\"preprocesses\"][model_name],\n                    ) = clip.load(\n                        model_name, device=device, download_root=\"models/clip\"\n                    )\n                server_state[\"clip_models\"][model_name] = (\n                    server_state[\"clip_models\"][model_name].cuda().eval()\n                )\n\n            images = server_state[\"preprocesses\"][model_name](image).unsqueeze(0).cuda()\n\n            image_features = (\n                server_state[\"clip_models\"][model_name].encode_image(images).float()\n            )\n\n            image_features /= image_features.norm(dim=-1, keepdim=True)\n\n            if st.session_state[\"defaults\"].general.optimized:\n                clear_cuda()\n\n            ranks = []\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"mediums\"],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    [\"by \" + artist for artist in server_state[\"artists\"]],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"trending_list\"],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"movements\"],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"flavors\"],\n                )\n            )\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"domains\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"subreddits\"]))\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"techniques\"],\n                )\n            )\n            ranks.append(\n                batch_rank(\n                    server_state[\"clip_models\"][model_name],\n                    image_features,\n                    server_state[\"tags\"],\n                )\n            )\n\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"genres\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"styles\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"subjects\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"colors\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"moods\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"themes\"]))\n            # ranks.append(batch_rank(server_state[\"clip_models\"][model_name], image_features, server_state[\"keywords\"]))\n\n            # print (bests)\n            # print (ranks)\n\n            for i in range(len(ranks)):\n                confidence_sum = 0\n                for ci in range(len(ranks[i])):\n                    confidence_sum += ranks[i][ci][1]\n                if confidence_sum > sum(bests[i][t][1] for t in range(len(bests[i]))):\n                    bests[i] = ranks[i]\n\n            for best in bests:\n                best.sort(key=lambda x: x[1], reverse=True)\n                # prune to 3\n                best = best[:3]\n\n            row = [model_name]\n\n            for r in ranks:\n                row.append(\", \".join([f\"{x[0]} ({x[1]:0.1f}%)\" for x in r]))\n\n            # for rank in ranks:\n            #    rank.sort(key=lambda x: x[1], reverse=True)\n            #    row.append(f'{rank[0][0]} {rank[0][1]:.2f}%')\n\n            table.append(row)\n\n            if st.session_state[\"defaults\"].general.optimized:\n                del server_state[\"clip_models\"][model_name]\n                gc.collect()\n\n    st.session_state[\"prediction_table\"][\n        st.session_state[\"processed_image_count\"]\n    ].dataframe(\n        pd.DataFrame(\n            table,\n            columns=[\n                \"Model\",\n                \"Medium\",\n                \"Artist\",\n                \"Trending\",\n                \"Movement\",\n                \"Flavors\",\n                \"Techniques\",\n                \"Tags\",\n            ],\n        )\n    )\n\n    medium = bests[0][0][0]\n    artist = bests[1][0][0]\n    trending = bests[2][0][0]\n    movement = bests[3][0][0]\n    flavors = bests[4][0][0]\n    # domains = bests[5][0][0]\n    # subreddits = bests[6][0][0]\n    techniques = bests[5][0][0]\n    tags = bests[6][0][0]\n\n    if caption.startswith(medium):\n        st.session_state[\"text_result\"][st.session_state[\"processed_image_count\"]].code(\n            f\"\\n\\n{caption} {artist}, {trending}, {movement}, {techniques}, {flavors}, {tags}\",\n            language=\"\",\n        )\n    else:\n        st.session_state[\"text_result\"][st.session_state[\"processed_image_count\"]].code(\n            f\"\\n\\n{caption}, {medium} {artist}, {trending}, {movement}, {techniques}, {flavors}, {tags}\",\n            language=\"\",\n        )\n\n    logger.info(\"Finished Interrogating.\")\n    st.session_state[\"log\"].append(\"Finished Interrogating.\")\n    st.session_state[\"log_message\"].code(\n        \"\\n\".join(st.session_state[\"log\"]), language=\"\"\n    )\n\n\ndef img2txt():\n    models = []\n\n    if st.session_state[\"ViT-L/14\"]:\n        models.append(\"ViT-L/14\")\n    if st.session_state[\"ViT-H-14\"]:\n        models.append(\"ViT-H-14\")\n    if st.session_state[\"ViT-g-14\"]:\n        models.append(\"ViT-g-14\")\n\n    if st.session_state[\"ViTB32\"]:\n        models.append(\"ViT-B/32\")\n    if st.session_state[\"ViTB16\"]:\n        models.append(\"ViT-B/16\")\n\n    if st.session_state[\"ViTL14_336px\"]:\n        models.append(\"ViT-L/14@336px\")\n    if st.session_state[\"RN101\"]:\n        models.append(\"RN101\")\n    if st.session_state[\"RN50\"]:\n        models.append(\"RN50\")\n    if st.session_state[\"RN50x4\"]:\n        models.append(\"RN50x4\")\n    if st.session_state[\"RN50x16\"]:\n        models.append(\"RN50x16\")\n    if st.session_state[\"RN50x64\"]:\n        models.append(\"RN50x64\")\n\n    # if str(image_path_or_url).startswith('http://') or str(image_path_or_url).startswith('https://'):\n    # image = Image.open(requests.get(image_path_or_url, stream=True).raw).convert('RGB')\n    # else:\n    # image = Image.open(image_path_or_url).convert('RGB')\n\n    # thumb = st.session_state[\"uploaded_image\"].image.copy()\n    # thumb.thumbnail([blip_image_eval_size, blip_image_eval_size])\n    # display(thumb)\n\n    st.session_state[\"processed_image_count\"] = 0\n\n    for i in range(len(st.session_state[\"uploaded_image\"])):\n        interrogate(st.session_state[\"uploaded_image\"][i].pil_image, models=models)\n        # increase counter.\n        st.session_state[\"processed_image_count\"] += 1\n\n\n#\n\n\ndef layout():\n    # set_page_title(\"Image-to-Text - Stable Diffusion WebUI\")\n    # st.info(\"Under Construction. :construction_worker:\")\n    #\n    if \"clip_models\" not in server_state:\n        server_state[\"clip_models\"] = {}\n    if \"preprocesses\" not in server_state:\n        server_state[\"preprocesses\"] = {}\n    data_path = \"data/\"\n    if \"artists\" not in server_state:\n        server_state[\"artists\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"artists.txt\")\n        )\n    if \"flavors\" not in server_state:\n        server_state[\"flavors\"] = random.choices(\n            load_list(os.path.join(data_path, \"img2txt\", \"flavors.txt\")), k=2000\n        )\n    if \"mediums\" not in server_state:\n        server_state[\"mediums\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"mediums.txt\")\n        )\n    if \"movements\" not in server_state:\n        server_state[\"movements\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"movements.txt\")\n        )\n    if \"sites\" not in server_state:\n        server_state[\"sites\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"sites.txt\")\n        )\n    # server_state[\"domains\"] = load_list(os.path.join(data_path, 'img2txt', 'domains.txt'))\n    # server_state[\"subreddits\"] = load_list(os.path.join(data_path, 'img2txt', 'subreddits.txt'))\n    if \"techniques\" not in server_state:\n        server_state[\"techniques\"] = load_list(\n            os.path.join(data_path, \"img2txt\", \"techniques.txt\")\n        )\n    if \"tags\" not in server_state:\n        server_state[\"tags\"] = load_list(os.path.join(data_path, \"img2txt\", \"tags.txt\"))\n    # server_state[\"genres\"] = load_list(os.path.join(data_path, 'img2txt', 'genres.txt'))\n    # server_state[\"styles\"] = load_list(os.path.join(data_path, 'img2txt', 'styles.txt'))\n    # server_state[\"subjects\"] = load_list(os.path.join(data_path, 'img2txt', 'subjects.txt'))\n    if \"trending_list\" not in server_state:\n        server_state[\"trending_list\"] = [site for site in server_state[\"sites\"]]\n        server_state[\"trending_list\"].extend(\n            [\"trending on \" + site for site in server_state[\"sites\"]]\n        )\n        server_state[\"trending_list\"].extend(\n            [\"featured on \" + site for site in server_state[\"sites\"]]\n        )\n        server_state[\"trending_list\"].extend(\n            [site + \" contest winner\" for site in server_state[\"sites\"]]\n        )\n    with st.form(\"img2txt-inputs\"):\n        st.session_state[\"generation_mode\"] = \"img2txt\"\n\n        # st.write(\"---\")\n        # creating the page layout using columns\n        col1, col2 = st.columns([1, 4], gap=\"large\")\n\n        with col1:\n            st.session_state[\"uploaded_image\"] = st.file_uploader(\n                \"Input Image\",\n                type=[\"png\", \"jpg\", \"jpeg\", \"jfif\", \"webp\"],\n                accept_multiple_files=True,\n            )\n\n            with st.expander(\"CLIP models\", expanded=True):\n                st.session_state[\"ViT-L/14\"] = st.checkbox(\n                    \"ViT-L/14\", value=True, help=\"ViT-L/14 model.\"\n                )\n                st.session_state[\"ViT-H-14\"] = st.checkbox(\n                    \"ViT-H-14\", value=False, help=\"ViT-H-14 model.\"\n                )\n                st.session_state[\"ViT-g-14\"] = st.checkbox(\n                    \"ViT-g-14\", value=False, help=\"ViT-g-14 model.\"\n                )\n\n            with st.expander(\"Others\"):\n                st.info(\n                    \"For DiscoDiffusion and JAX enable all the same models here as you intend to use when generating your images.\"\n                )\n\n                st.session_state[\"ViTL14_336px\"] = st.checkbox(\n                    \"ViTL14_336px\", value=False, help=\"ViTL14_336px model.\"\n                )\n                st.session_state[\"ViTB16\"] = st.checkbox(\n                    \"ViTB16\", value=False, help=\"ViTB16 model.\"\n                )\n                st.session_state[\"ViTB32\"] = st.checkbox(\n                    \"ViTB32\", value=False, help=\"ViTB32 model.\"\n                )\n                st.session_state[\"RN50\"] = st.checkbox(\n                    \"RN50\", value=False, help=\"RN50 model.\"\n                )\n                st.session_state[\"RN50x4\"] = st.checkbox(\n                    \"RN50x4\", value=False, help=\"RN50x4 model.\"\n                )\n                st.session_state[\"RN50x16\"] = st.checkbox(\n                    \"RN50x16\", value=False, help=\"RN50x16 model.\"\n                )\n                st.session_state[\"RN50x64\"] = st.checkbox(\n                    \"RN50x64\", value=False, help=\"RN50x64 model.\"\n                )\n                st.session_state[\"RN101\"] = st.checkbox(\n                    \"RN101\", value=False, help=\"RN101 model.\"\n                )\n\n            #\n            # st.subheader(\"Logs:\")\n\n            st.session_state[\"log_message\"] = st.empty()\n            st.session_state[\"log_message\"].code(\"\", language=\"\")\n\n        with col2:\n            st.subheader(\"Image\")\n\n            image_col1, image_col2 = st.columns([10, 25])\n            with image_col1:\n                st.form_submit_button(\n                    \"Update Preview Image\",\n                    help=\"Refresh the image preview to show your uploaded image instead of the default placeholder.\",\n                )\n\n            if st.session_state[\"uploaded_image\"]:\n                # print (type(st.session_state[\"uploaded_image\"]))\n                # if len(st.session_state[\"uploaded_image\"]) == 1:\n                st.session_state[\"input_image_preview\"] = []\n                st.session_state[\"input_image_preview_container\"] = []\n                st.session_state[\"prediction_table\"] = []\n                st.session_state[\"text_result\"] = []\n\n                for i in range(len(st.session_state[\"uploaded_image\"])):\n                    st.session_state[\"input_image_preview_container\"].append(i)\n                    st.session_state[\"input_image_preview_container\"][i] = st.empty()\n\n                    with st.session_state[\"input_image_preview_container\"][\n                        i\n                    ].container():\n                        col1_output, col2_output = st.columns([2, 10], gap=\"medium\")\n                        with col1_output:\n                            st.session_state[\"input_image_preview\"].append(i)\n                            st.session_state[\"input_image_preview\"][i] = st.empty()\n                            st.session_state[\"uploaded_image\"][\n                                i\n                            ].pil_image = Image.open(\n                                st.session_state[\"uploaded_image\"][i]\n                            ).convert(\n                                \"RGB\"\n                            )\n\n                            st.session_state[\"input_image_preview\"][i].image(\n                                st.session_state[\"uploaded_image\"][i].pil_image,\n                                use_column_width=True,\n                                clamp=True,\n                            )\n\n                    with st.session_state[\"input_image_preview_container\"][\n                        i\n                    ].container():\n                        with col2_output:\n                            st.session_state[\"prediction_table\"].append(i)\n                            st.session_state[\"prediction_table\"][i] = st.empty()\n                            st.session_state[\"prediction_table\"][i].table()\n\n                            st.session_state[\"text_result\"].append(i)\n                            st.session_state[\"text_result\"][i] = st.empty()\n                            st.session_state[\"text_result\"][i].code(\"\", language=\"\")\n\n            else:\n                # st.session_state[\"input_image_preview\"].code('', language=\"\")\n                st.image(\"images/streamlit/img2txt_placeholder.png\", clamp=True)\n\n        with image_col2:\n            #\n            # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n            # generate_col1.title(\"\")\n            # generate_col1.title(\"\")\n            generate_button = st.form_submit_button(\n                \"Generate!\",\n                help=\"Start interrogating the images to generate a prompt from each of the selected images\",\n            )\n\n    if generate_button:\n        # if model, pipe, RealESRGAN or GFPGAN is in st.session_state remove the model and pipe form session_state so that they are reloaded.\n        if \"model\" in server_state and st.session_state[\"defaults\"].general.optimized:\n            del server_state[\"model\"]\n        if \"pipe\" in server_state and st.session_state[\"defaults\"].general.optimized:\n            del server_state[\"pipe\"]\n        if (\n            \"RealESRGAN\" in server_state\n            and st.session_state[\"defaults\"].general.optimized\n        ):\n            del server_state[\"RealESRGAN\"]\n        if \"GFPGAN\" in server_state and st.session_state[\"defaults\"].general.optimized:\n            del server_state[\"GFPGAN\"]\n\n        # run clip interrogator\n        img2txt()\n"
  },
  {
    "path": "webui/streamlit/scripts/post_processing.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sandbox-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from sd_utils import *\nfrom sd_utils import (\n    st,\n    server_state,\n    RealESRGAN_available,\n    GFPGAN_available,\n    LDSR_available,\n)\n\n# streamlit imports\n\n# streamlit components section\nimport hydralit_components as hc\n\n# other imports\nimport os\nfrom PIL import Image\nimport torch\n\n# Temp imports\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\ndef post_process(\n    use_GFPGAN=True,\n    GFPGAN_model=\"\",\n    use_RealESRGAN=False,\n    realesrgan_model_name=\"\",\n    use_LDSR=False,\n    LDSR_model_name=\"\",\n):\n    for i in range(len(st.session_state[\"uploaded_image\"])):\n        # st.session_state[\"uploaded_image\"][i].pil_image\n\n        if (\n            use_GFPGAN\n            and server_state[\"GFPGAN\"] is not None\n            and not use_RealESRGAN\n            and not use_LDSR\n        ):\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running GFPGAN on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            if server_state[\"GFPGAN\"].name != GFPGAN_model:\n                load_models(\n                    use_LDSR=use_LDSR,\n                    LDSR_model=LDSR_model_name,\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            torch_gc()\n\n            with torch.autocast(\"cuda\"):\n                cropped_faces, restored_faces, restored_img = server_state[\n                    \"GFPGAN\"\n                ].enhance(\n                    st.session_state[\"uploaded_image\"][i].pil_image,\n                    has_aligned=False,\n                    only_center_face=False,\n                    paste_back=True,\n                )\n\n            gfpgan_sample = restored_img[:, :, ::-1]\n            gfpgan_image = Image.fromarray(gfpgan_sample)\n\n            # if st.session_state[\"GFPGAN_strenght\"]:\n            # gfpgan_sample = Image.blend(image, gfpgan_image, st.session_state[\"GFPGAN_strenght\"])\n\n            gfpgan_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0] + \"-gfpgan\"\n            )\n\n            gfpgan_image.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{gfpgan_filename}.png\",\n                )\n            )\n\n        #\n        elif (\n            use_RealESRGAN and server_state[\"RealESRGAN\"] is not None and not use_GFPGAN\n        ):\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running RealESRGAN on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            torch_gc()\n\n            if server_state[\"RealESRGAN\"].model.name != realesrgan_model_name:\n                # try_loading_RealESRGAN(realesrgan_model_name)\n                load_models(\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                st.session_state[\"uploaded_image\"][i].pil_image\n            )\n            esrgan_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0] + \"-esrgan4x\"\n            )\n            esrgan_sample = output[:, :, ::-1]\n            esrgan_image = Image.fromarray(esrgan_sample)\n\n            esrgan_image.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{esrgan_filename}.png\",\n                )\n            )\n\n        #\n        elif use_LDSR and \"LDSR\" in server_state and not use_GFPGAN:\n            logger.info(\n                \"Running LDSR on image %d of %d...\"\n                % (i + 1, len(st.session_state[\"uploaded_image\"]))\n            )\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running LDSR on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            torch_gc()\n\n            if server_state[\"LDSR\"].name != LDSR_model_name:\n                # try_loading_RealESRGAN(realesrgan_model_name)\n                load_models(\n                    use_LDSR=use_LDSR,\n                    LDSR_model=LDSR_model_name,\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            result = server_state[\"LDSR\"].superResolution(\n                st.session_state[\"uploaded_image\"][i].pil_image,\n                ddimSteps=st.session_state[\"ldsr_sampling_steps\"],\n                preDownScale=st.session_state[\"preDownScale\"],\n                postDownScale=st.session_state[\"postDownScale\"],\n                downsample_method=st.session_state[\"downsample_method\"],\n            )\n\n            ldsr_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0] + \"-ldsr4x\"\n            )\n\n            result.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{ldsr_filename}.png\",\n                )\n            )\n\n        #\n        elif (\n            use_LDSR\n            and \"LDSR\" in server_state\n            and use_GFPGAN\n            and \"GFPGAN\" in server_state\n        ):\n            logger.info(\n                \"Running GFPGAN+LDSR on image %d of %d...\"\n                % (i + 1, len(st.session_state[\"uploaded_image\"]))\n            )\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running GFPGAN+LDSR on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            if server_state[\"GFPGAN\"].name != GFPGAN_model:\n                load_models(\n                    use_LDSR=use_LDSR,\n                    LDSR_model=LDSR_model_name,\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            torch_gc()\n            cropped_faces, restored_faces, restored_img = server_state[\n                \"GFPGAN\"\n            ].enhance(\n                st.session_state[\"uploaded_image\"][i].pil_image,\n                has_aligned=False,\n                only_center_face=False,\n                paste_back=True,\n            )\n\n            gfpgan_sample = restored_img[:, :, ::-1]\n            gfpgan_image = Image.fromarray(gfpgan_sample)\n\n            if server_state[\"LDSR\"].name != LDSR_model_name:\n                # try_loading_RealESRGAN(realesrgan_model_name)\n                load_models(\n                    use_LDSR=use_LDSR,\n                    LDSR_model=LDSR_model_name,\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            # LDSR.superResolution(gfpgan_image, ddimSteps=100, preDownScale='None', postDownScale='None', downsample_method=\"Lanczos\")\n            result = server_state[\"LDSR\"].superResolution(\n                gfpgan_image,\n                ddimSteps=st.session_state[\"ldsr_sampling_steps\"],\n                preDownScale=st.session_state[\"preDownScale\"],\n                postDownScale=st.session_state[\"postDownScale\"],\n                downsample_method=st.session_state[\"downsample_method\"],\n            )\n\n            ldsr_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0]\n                + \"-gfpgan-ldsr2x\"\n            )\n\n            result.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{ldsr_filename}.png\",\n                )\n            )\n\n        elif (\n            use_RealESRGAN\n            and server_state[\"RealESRGAN\"] is not None\n            and use_GFPGAN\n            and server_state[\"GFPGAN\"] is not None\n        ):\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    \"Running GFPGAN+RealESRGAN on image %d of %d...\"\n                    % (i + 1, len(st.session_state[\"uploaded_image\"]))\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    int(\n                        100\n                        * float(\n                            i + 1\n                            if i + 1 < len(st.session_state[\"uploaded_image\"])\n                            else len(st.session_state[\"uploaded_image\"])\n                        )\n                        / float(len(st.session_state[\"uploaded_image\"]))\n                    )\n                )\n\n            torch_gc()\n            cropped_faces, restored_faces, restored_img = server_state[\n                \"GFPGAN\"\n            ].enhance(\n                st.session_state[\"uploaded_image\"][i].pil_image,\n                has_aligned=False,\n                only_center_face=False,\n                paste_back=True,\n            )\n            gfpgan_sample = restored_img[:, :, ::-1]\n\n            if server_state[\"RealESRGAN\"].model.name != realesrgan_model_name:\n                # try_loading_RealESRGAN(realesrgan_model_name)\n                load_models(\n                    use_GFPGAN=use_GFPGAN,\n                    use_RealESRGAN=use_RealESRGAN,\n                    RealESRGAN_model=realesrgan_model_name,\n                )\n\n            output, img_mode = server_state[\"RealESRGAN\"].enhance(\n                gfpgan_sample[:, :, ::-1]\n            )\n            gfpgan_esrgan_filename = (\n                st.session_state[\"uploaded_image\"][i].name.split(\".\")[0]\n                + \"-gfpgan-esrgan4x\"\n            )\n            gfpgan_esrgan_sample = output[:, :, ::-1]\n            gfpgan_esrgan_image = Image.fromarray(gfpgan_esrgan_sample)\n\n            gfpgan_esrgan_image.save(\n                os.path.join(\n                    st.session_state[\"defaults\"].post_processing.outdir_post_processing,\n                    f\"{gfpgan_esrgan_filename}.png\",\n                )\n            )\n\n\ndef layout():\n    # st.info(\"Under Construction. :construction_worker:\")\n    st.session_state[\"progress_bar_text\"] = st.empty()\n    # st.session_state[\"progress_bar_text\"].info(\"Nothing but crickets here, try generating something first.\")\n\n    st.session_state[\"progress_bar\"] = st.empty()\n\n    with st.form(\"post-processing-inputs\"):\n        # creating the page layout using columns\n        col1, col2 = st.columns([1, 4], gap=\"medium\")\n\n        with col1:\n            st.session_state[\"uploaded_image\"] = st.file_uploader(\n                \"Input Image\",\n                type=[\"png\", \"jpg\", \"jpeg\", \"jfif\", \"webp\"],\n                accept_multiple_files=True,\n            )\n\n            # check if GFPGAN, RealESRGAN and LDSR are available.\n            # if \"GFPGAN_available\" not in st.session_state:\n            GFPGAN_available()\n\n            # if \"RealESRGAN_available\" not in st.session_state:\n            RealESRGAN_available()\n\n            # if \"LDSR_available\" not in st.session_state:\n            LDSR_available()\n\n            if (\n                st.session_state[\"GFPGAN_available\"]\n                or st.session_state[\"RealESRGAN_available\"]\n                or st.session_state[\"LDSR_available\"]\n            ):\n                face_restoration_tab, upscaling_tab = st.tabs(\n                    [\"Face Restoration\", \"Upscaling\"]\n                )\n                with face_restoration_tab:\n                    # GFPGAN used for face restoration\n                    if st.session_state[\"GFPGAN_available\"]:\n                        # with st.expander(\"Face Restoration\"):\n                        # if st.session_state[\"GFPGAN_available\"]:\n                        # with st.expander(\"GFPGAN\"):\n                        st.session_state[\"use_GFPGAN\"] = st.checkbox(\n                            \"Use GFPGAN\",\n                            value=st.session_state[\"defaults\"].txt2img.use_GFPGAN,\n                            help=\"Uses the GFPGAN model to improve faces after the generation.\\\n                                                                         This greatly improve the quality and consistency of faces but uses\\\n                                                                         extra VRAM. Disable if you need the extra VRAM.\",\n                        )\n\n                        st.session_state[\"GFPGAN_model\"] = st.selectbox(\n                            \"GFPGAN model\",\n                            st.session_state[\"GFPGAN_models\"],\n                            index=st.session_state[\"GFPGAN_models\"].index(\n                                st.session_state[\"defaults\"].general.GFPGAN_model\n                            ),\n                        )\n\n                    # st.session_state[\"GFPGAN_strenght\"] = st.slider(\"Effect Strenght\", min_value=1, max_value=100, value=1, step=1, help='')\n\n                    else:\n                        st.session_state[\"use_GFPGAN\"] = False\n\n                with upscaling_tab:\n                    st.session_state[\"use_upscaling\"] = st.checkbox(\n                        \"Use Upscaling\",\n                        value=st.session_state[\"defaults\"].txt2img.use_upscaling,\n                    )\n\n                    # RealESRGAN and LDSR used for upscaling.\n                    if (\n                        st.session_state[\"RealESRGAN_available\"]\n                        or st.session_state[\"LDSR_available\"]\n                    ):\n                        upscaling_method_list = []\n                        if st.session_state[\"RealESRGAN_available\"]:\n                            upscaling_method_list.append(\"RealESRGAN\")\n                        if st.session_state[\"LDSR_available\"]:\n                            upscaling_method_list.append(\"LDSR\")\n\n                        # print (st.session_state[\"RealESRGAN_available\"])\n                        st.session_state[\"upscaling_method\"] = st.selectbox(\n                            \"Upscaling Method\",\n                            upscaling_method_list,\n                            index=upscaling_method_list.index(\n                                st.session_state[\"defaults\"].general.upscaling_method\n                            )\n                            if st.session_state[\"defaults\"].general.upscaling_method\n                            in upscaling_method_list\n                            else 0,\n                        )\n\n                        if st.session_state[\"RealESRGAN_available\"]:\n                            with st.expander(\"RealESRGAN\"):\n                                if (\n                                    st.session_state[\"upscaling_method\"] == \"RealESRGAN\"\n                                    and st.session_state[\"use_upscaling\"]\n                                ):\n                                    st.session_state[\"use_RealESRGAN\"] = True\n                                else:\n                                    st.session_state[\"use_RealESRGAN\"] = False\n\n                                st.session_state[\"RealESRGAN_model\"] = st.selectbox(\n                                    \"RealESRGAN model\",\n                                    st.session_state[\"RealESRGAN_models\"],\n                                    index=st.session_state[\"RealESRGAN_models\"].index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.RealESRGAN_model\n                                    ),\n                                )\n                        else:\n                            st.session_state[\"use_RealESRGAN\"] = False\n                            st.session_state[\"RealESRGAN_model\"] = \"RealESRGAN_x4plus\"\n\n                        #\n                        if st.session_state[\"LDSR_available\"]:\n                            with st.expander(\"LDSR\"):\n                                if (\n                                    st.session_state[\"upscaling_method\"] == \"LDSR\"\n                                    and st.session_state[\"use_upscaling\"]\n                                ):\n                                    st.session_state[\"use_LDSR\"] = True\n                                else:\n                                    st.session_state[\"use_LDSR\"] = False\n\n                                st.session_state[\"LDSR_model\"] = st.selectbox(\n                                    \"LDSR model\",\n                                    st.session_state[\"LDSR_models\"],\n                                    index=st.session_state[\"LDSR_models\"].index(\n                                        st.session_state[\"defaults\"].general.LDSR_model\n                                    ),\n                                )\n\n                                st.session_state[\n                                    \"ldsr_sampling_steps\"\n                                ] = st.number_input(\n                                    \"Sampling Steps\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].txt2img.LDSR_config.sampling_steps,\n                                    help=\"\",\n                                )\n\n                                st.session_state[\"preDownScale\"] = st.number_input(\n                                    \"PreDownScale\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].txt2img.LDSR_config.preDownScale,\n                                    help=\"\",\n                                )\n\n                                st.session_state[\"postDownScale\"] = st.number_input(\n                                    \"postDownScale\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].txt2img.LDSR_config.postDownScale,\n                                    help=\"\",\n                                )\n\n                                downsample_method_list = [\"Nearest\", \"Lanczos\"]\n                                st.session_state[\"downsample_method\"] = st.selectbox(\n                                    \"Downsample Method\",\n                                    downsample_method_list,\n                                    index=downsample_method_list.index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].txt2img.LDSR_config.downsample_method\n                                    ),\n                                )\n\n                        else:\n                            st.session_state[\"use_LDSR\"] = False\n                            st.session_state[\"LDSR_model\"] = \"model\"\n\n            # process = st.form_submit_button(\"Process Images\", help=\"\")\n\n            #\n            with st.expander(\"Output Settings\", True):\n                # st.session_state['defaults'].post_processing.save_original_images = st.checkbox(\"Save input images.\", value=st.session_state['defaults'].post_processing.save_original_images,\n                # help=\"Save each original/input image next to the Post Processed image. \"\n                # \"This might be helpful for comparing the before and after images.\")\n\n                st.session_state[\n                    \"defaults\"\n                ].post_processing.outdir_post_processing = st.text_input(\n                    \"Output Dir\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].post_processing.outdir_post_processing,\n                    help=\"Folder where the images will be saved after post processing.\",\n                )\n\n        with col2:\n            st.subheader(\"Image\")\n\n            image_col1, image_col2, image_col3 = st.columns([2, 2, 2], gap=\"small\")\n            with image_col1:\n                st.form_submit_button(\n                    \"Refresh\",\n                    help=\"Refresh the image preview to show your uploaded image.\",\n                )\n\n            if st.session_state[\"uploaded_image\"]:\n                # print (type(st.session_state[\"uploaded_image\"]))\n                # if len(st.session_state[\"uploaded_image\"]) == 1:\n                st.session_state[\"input_image_preview\"] = []\n                st.session_state[\"input_image_caption\"] = []\n                st.session_state[\"output_image_preview\"] = []\n                st.session_state[\"output_image_caption\"] = []\n                st.session_state[\"input_image_preview_container\"] = []\n                st.session_state[\"prediction_table\"] = []\n                st.session_state[\"text_result\"] = []\n\n                for i in range(len(st.session_state[\"uploaded_image\"])):\n                    st.session_state[\"input_image_preview_container\"].append(i)\n                    st.session_state[\"input_image_preview_container\"][i] = st.empty()\n\n                    with st.session_state[\"input_image_preview_container\"][\n                        i\n                    ].container():\n                        col1_output, col2_output, col3_output = st.columns(\n                            [2, 2, 2], gap=\"medium\"\n                        )\n                        with col1_output:\n                            st.session_state[\"output_image_caption\"].append(i)\n                            st.session_state[\"output_image_caption\"][i] = st.empty()\n                            # st.session_state[\"output_image_caption\"][i] = st.session_state[\"uploaded_image\"][i].name\n\n                            st.session_state[\"input_image_caption\"].append(i)\n                            st.session_state[\"input_image_caption\"][i] = st.empty()\n                            # st.session_state[\"input_image_caption\"][i].caption(\")\n\n                            st.session_state[\"input_image_preview\"].append(i)\n                            st.session_state[\"input_image_preview\"][i] = st.empty()\n                            st.session_state[\"uploaded_image\"][\n                                i\n                            ].pil_image = Image.open(\n                                st.session_state[\"uploaded_image\"][i]\n                            ).convert(\n                                \"RGB\"\n                            )\n\n                            st.session_state[\"input_image_preview\"][i].image(\n                                st.session_state[\"uploaded_image\"][i].pil_image,\n                                use_column_width=True,\n                                clamp=True,\n                            )\n\n                        with col2_output:\n                            st.session_state[\"output_image_preview\"].append(i)\n                            st.session_state[\"output_image_preview\"][i] = st.empty()\n\n                            st.session_state[\"output_image_preview\"][i].image(\n                                st.session_state[\"uploaded_image\"][i].pil_image,\n                                use_column_width=True,\n                                clamp=True,\n                            )\n\n                    with st.session_state[\"input_image_preview_container\"][\n                        i\n                    ].container():\n                        with col3_output:\n                            # st.session_state[\"prediction_table\"].append(i)\n                            # st.session_state[\"prediction_table\"][i] = st.empty()\n                            # st.session_state[\"prediction_table\"][i].table(pd.DataFrame(columns=[\"Model\", \"Filename\", \"Progress\"]))\n\n                            st.session_state[\"text_result\"].append(i)\n                            st.session_state[\"text_result\"][i] = st.empty()\n                            st.session_state[\"text_result\"][i].code(\"\", language=\"\")\n\n            # else:\n            ##st.session_state[\"input_image_preview\"].code('', language=\"\")\n            # st.image(\"images/streamlit/img2txt_placeholder.png\", clamp=True)\n\n        with image_col3:\n            # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n            process = st.form_submit_button(\"Process Images!\")\n\n        if process:\n            with hc.HyLoader(\n                \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n            ):\n                # load_models(use_LDSR=st.session_state[\"use_LDSR\"], LDSR_model=st.session_state[\"LDSR_model\"],\n                # use_GFPGAN=st.session_state[\"use_GFPGAN\"], GFPGAN_model=st.session_state[\"GFPGAN_model\"] ,\n                # use_RealESRGAN=st.session_state[\"use_RealESRGAN\"], RealESRGAN_model=st.session_state[\"RealESRGAN_model\"])\n\n                if st.session_state[\"use_GFPGAN\"]:\n                    load_GFPGAN(model_name=st.session_state[\"GFPGAN_model\"])\n\n                if st.session_state[\"use_RealESRGAN\"]:\n                    load_RealESRGAN(st.session_state[\"RealESRGAN_model\"])\n\n                if st.session_state[\"use_LDSR\"]:\n                    load_LDSR(st.session_state[\"LDSR_model\"])\n\n            post_process(\n                use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                realesrgan_model_name=st.session_state[\"RealESRGAN_model\"],\n                use_LDSR=st.session_state[\"use_LDSR\"],\n                LDSR_model_name=st.session_state[\"LDSR_model\"],\n            )\n"
  },
  {
    "path": "webui/streamlit/scripts/sd_concept_library.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import st\n\n# streamlit imports\nimport streamlit.components.v1 as components\n\n# other imports\n\nimport os, math\nfrom PIL import Image\n\n# Temp imports\n# from basicsr.utils.registry import ARCH_REGISTRY\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n# Init Vuejs component\n_component_func = components.declare_component(\n    \"sd-concepts-browser\", \"./frontend/dists/concept-browser/dist\"\n)\n\n\ndef sdConceptsBrowser(concepts, key=None):\n    component_value = _component_func(concepts=concepts, key=key, default=\"\")\n    return component_value\n\n\n@st.experimental_memo(persist=\"disk\", show_spinner=False, suppress_st_warning=True)\ndef getConceptsFromPath(page, conceptPerPage, searchText=\"\"):\n    # print(\"getConceptsFromPath\", \"page:\", page, \"conceptPerPage:\", conceptPerPage, \"searchText:\", searchText)\n    # get the path where the concepts are stored\n    path = os.path.join(\n        os.getcwd(), st.session_state[\"defaults\"].general.sd_concepts_library_folder\n    )\n    acceptedExtensions = (\"jpeg\", \"jpg\", \"png\")\n    concepts = []\n\n    if os.path.exists(path):\n        # List all folders (concepts) in the path\n        folders = [f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))]\n        filteredFolders = folders\n\n        # Filter the folders by the search text\n        if searchText != \"\":\n            filteredFolders = [f for f in folders if searchText.lower() in f.lower()]\n    else:\n        filteredFolders = []\n\n    conceptIndex = 1\n    for folder in filteredFolders:\n        # handle pagination\n        if conceptIndex > (page * conceptPerPage):\n            continue\n        if conceptIndex <= ((page - 1) * conceptPerPage):\n            conceptIndex += 1\n            continue\n\n        concept = {\n            \"name\": folder,\n            \"token\": \"<\" + folder + \">\",\n            \"images\": [],\n            \"type\": \"\",\n        }\n\n        # type of concept is inside type_of_concept.txt\n        typePath = os.path.join(path, folder, \"type_of_concept.txt\")\n        binFile = os.path.join(path, folder, \"learned_embeds.bin\")\n\n        # Continue if the concept is not valid or the download has failed (no type_of_concept.txt or no binFile)\n        if not os.path.exists(typePath) or not os.path.exists(binFile):\n            continue\n\n        with open(typePath, \"r\") as f:\n            concept[\"type\"] = f.read()\n\n        # List all files in the concept/concept_images folder\n        files = [\n            f\n            for f in os.listdir(os.path.join(path, folder, \"concept_images\"))\n            if os.path.isfile(os.path.join(path, folder, \"concept_images\", f))\n        ]\n        # Retrieve only the 4 first images\n        for file in files:\n            # Skip if we already have 4 images\n            if len(concept[\"images\"]) >= 4:\n                break\n\n            if file.endswith(acceptedExtensions):\n                try:\n                    # Add a copy of the image to avoid file locking\n                    originalImage = Image.open(\n                        os.path.join(path, folder, \"concept_images\", file)\n                    )\n\n                    # Maintain the aspect ratio (max 200x200)\n                    resizedImage = originalImage.copy()\n                    resizedImage.thumbnail((200, 200), Image.Resampling.LANCZOS)\n\n                    # concept[\"images\"].append(resizedImage)\n\n                    concept[\"images\"].append(imageToBase64(resizedImage))\n                    # Close original image\n                    originalImage.close()\n                except:\n                    print(\n                        \"Error while loading image\",\n                        file,\n                        \"in concept\",\n                        folder,\n                        \"(The file may be corrupted). Skipping it.\",\n                    )\n\n        concepts.append(concept)\n        conceptIndex += 1\n    # print all concepts name\n    # print(\"Results:\", [c[\"name\"] for c in concepts])\n    return concepts\n\n\n@st.cache(\n    persist=True,\n    allow_output_mutation=True,\n    show_spinner=False,\n    suppress_st_warning=True,\n)\ndef imageToBase64(image):\n    import io\n    import base64\n\n    buffered = io.BytesIO()\n    image.save(buffered, format=\"PNG\")\n    img_str = base64.b64encode(buffered.getvalue()).decode(\"utf-8\")\n    return img_str\n\n\n@st.experimental_memo(persist=\"disk\", show_spinner=False, suppress_st_warning=True)\ndef getTotalNumberOfConcepts(searchText=\"\"):\n    # get the path where the concepts are stored\n    path = os.path.join(\n        os.getcwd(), st.session_state[\"defaults\"].general.sd_concepts_library_folder\n    )\n\n    if os.path.exists(path):\n        # List all folders (concepts) in the path\n        folders = [f for f in os.listdir(path) if os.path.isdir(os.path.join(path, f))]\n        filteredFolders = folders\n\n        # Filter the folders by the search text\n        if searchText != \"\":\n            filteredFolders = [f for f in folders if searchText.lower() in f.lower()]\n    else:\n        filteredFolders = []\n    return len(filteredFolders)\n\n\ndef layout():\n    # 2 tabs, one for Concept Library and one for the Download Manager\n    tab_library, tab_downloader = st.tabs([\"Library\", \"Download Manager\"])\n\n    # Concept Library\n    with tab_library:\n        downloaded_concepts_count = getTotalNumberOfConcepts()\n        concepts_per_page = st.session_state[\n            \"defaults\"\n        ].concepts_library.concepts_per_page\n\n        if \"results\" not in st.session_state:\n            st.session_state[\"results\"] = getConceptsFromPath(1, concepts_per_page, \"\")\n\n        # Pagination controls\n        if \"cl_current_page\" not in st.session_state:\n            st.session_state[\"cl_current_page\"] = 1\n\n        # Search\n        if \"cl_search_text\" not in st.session_state:\n            st.session_state[\"cl_search_text\"] = \"\"\n\n        if \"cl_search_results_count\" not in st.session_state:\n            st.session_state[\"cl_search_results_count\"] = downloaded_concepts_count\n\n        # Search bar\n        _search_col, _refresh_col = st.columns([10, 2])\n        with _search_col:\n            search_text_input = st.text_input(\n                \"Search\",\n                \"\",\n                placeholder=f\"Search for a concept ({downloaded_concepts_count} available)\",\n                label_visibility=\"hidden\",\n            )\n            if search_text_input != st.session_state[\"cl_search_text\"]:\n                # Search text has changed\n                st.session_state[\"cl_search_text\"] = search_text_input\n                st.session_state[\"cl_current_page\"] = 1\n                st.session_state[\"cl_search_results_count\"] = getTotalNumberOfConcepts(\n                    st.session_state[\"cl_search_text\"]\n                )\n                st.session_state[\"results\"] = getConceptsFromPath(\n                    1, concepts_per_page, st.session_state[\"cl_search_text\"]\n                )\n\n        with _refresh_col:\n            # Super weird fix to align the refresh button with the search bar ( Please streamlit, add css support..  )\n            _refresh_col.write(\"\")\n            _refresh_col.write(\"\")\n            if st.button(\n                \"Refresh concepts\",\n                key=\"refresh_concepts\",\n                help=\"Refresh the concepts folders. Use this if you have added new concepts manually or deleted some.\",\n            ):\n                getTotalNumberOfConcepts.clear()\n                getConceptsFromPath.clear()\n                st.experimental_rerun()\n\n        # Show results\n        results_empty = st.empty()\n\n        # Pagination\n        pagination_empty = st.empty()\n\n        # Layouts\n        with pagination_empty:\n            with st.container():\n                if len(st.session_state[\"results\"]) > 0:\n                    last_page = math.ceil(\n                        st.session_state[\"cl_search_results_count\"] / concepts_per_page\n                    )\n                    (\n                        _1,\n                        _2,\n                        _3,\n                        _4,\n                        _previous_page,\n                        _current_page,\n                        _next_page,\n                        _9,\n                        _10,\n                        _11,\n                        _12,\n                    ) = st.columns([1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1])\n\n                    # Previous page\n                    with _previous_page:\n                        if st.button(\"Previous\", key=\"cl_previous_page\"):\n                            st.session_state[\"cl_current_page\"] -= 1\n                            if st.session_state[\"cl_current_page\"] <= 0:\n                                st.session_state[\"cl_current_page\"] = last_page\n                            st.session_state[\"results\"] = getConceptsFromPath(\n                                st.session_state[\"cl_current_page\"],\n                                concepts_per_page,\n                                st.session_state[\"cl_search_text\"],\n                            )\n\n                    # Current page\n                    with _current_page:\n                        _current_page_container = st.empty()\n\n                    # Next page\n                    with _next_page:\n                        if st.button(\"Next\", key=\"cl_next_page\"):\n                            st.session_state[\"cl_current_page\"] += 1\n                            if st.session_state[\"cl_current_page\"] > last_page:\n                                st.session_state[\"cl_current_page\"] = 1\n                            st.session_state[\"results\"] = getConceptsFromPath(\n                                st.session_state[\"cl_current_page\"],\n                                concepts_per_page,\n                                st.session_state[\"cl_search_text\"],\n                            )\n\n                    # Current page\n                    with _current_page_container:\n                        st.markdown(\n                            f'<p style=\"text-align: center\">Page {st.session_state[\"cl_current_page\"]} of {last_page}</p>',\n                            unsafe_allow_html=True,\n                        )\n                        # st.write(f\"Page {st.session_state['cl_current_page']} of {last_page}\", key=\"cl_current_page\")\n\n        with results_empty:\n            with st.container():\n                if downloaded_concepts_count == 0:\n                    st.write(\"You don't have any concepts in your library \")\n                    st.markdown(\n                        \"To add concepts to your library, download some from the [sd-concepts-library](https://github.com/Sygil-Dev/sd-concepts-library) \\\n\t\t\t\t\t\trepository and save the content of `sd-concepts-library` into ```./models/custom/sd-concepts-library``` or just create your own concepts :wink:.\",\n                        unsafe_allow_html=False,\n                    )\n                else:\n                    if len(st.session_state[\"results\"]) == 0:\n                        st.write(\n                            \"No concept found in the library matching your search: \"\n                            + st.session_state[\"cl_search_text\"]\n                        )\n                    else:\n                        # display number of results\n                        if st.session_state[\"cl_search_text\"]:\n                            st.write(\n                                f\"Found {st.session_state['cl_search_results_count']} {'concepts' if st.session_state['cl_search_results_count'] > 1 else 'concept' } matching your search\"\n                            )\n                        sdConceptsBrowser(st.session_state[\"results\"], key=\"results\")\n\n    with tab_downloader:\n        st.write(\"Not implemented yet\")\n\n    return False\n"
  },
  {
    "path": "webui/streamlit/scripts/sd_utils/__init__.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n# from webui_streamlit import st\nimport hydralit as st\n\n# streamlit imports\n# from streamlit.runtime.scriptrunner import script_run_context\n\n# streamlit components section\nfrom streamlit_server_state import server_state, server_state_lock\n\n# from streamlitextras.threader import lock, trigger_rerun, \\\n# streamlit_thread, get_thread, \\\n# last_trigger_time\n\n# other imports\n\nimport warnings\n\nimport os, time, toml\nimport torch\nimport mimetypes\nimport pynvml\nimport threading\nimport torch\nfrom omegaconf import OmegaConf\n\n# from abc import ABC, abstractmethod\nfrom packaging import version\nimport shutup\n\n# import librosa\nfrom nataili.util.logger import logger\n\n\n# try:\n# from realesrgan import RealESRGANer\n# from basicsr.archs.rrdbnet_arch import RRDBNet\n# except ImportError as e:\n# logger.error(\"You tried to import realesrgan without having it installed properly. To install Real-ESRGAN, run:\\n\\n\"\n# \"pip install realesrgan\")\n\n# Temp imports\n# from basicsr.utils.registry import ARCH_REGISTRY\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n# remove all the annoying python warnings.\nshutup.please()\n\n# the following lines should help fixing an issue with nvidia 16xx cards.\nif \"defaults\" in st.session_state:\n    if st.session_state[\"defaults\"].general.use_cudnn:\n        torch.backends.cudnn.benchmark = True\n        torch.backends.cudnn.enabled = True\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n# disable diffusers telemetry\nos.environ[\"DISABLE_TELEMETRY\"] = \"YES\"\n\n# remove some annoying deprecation warnings that show every now and then.\nwarnings.filterwarnings(\"ignore\", category=DeprecationWarning)\nwarnings.filterwarnings(\"ignore\", category=UserWarning)\n\n# this is a fix for Windows users. Without it, javascript files will be served with text/html content-type and the bowser will not show any UI\nmimetypes.init()\nmimetypes.add_type(\"application/javascript\", \".js\")\n\n# some of those options should not be changed at all because they would break the model, so I removed them from options.\nopt_C = 4\nopt_f = 8\n\n# The model manager loads and unloads the SD models and has features to download them or find their location\n# model_manager = ModelManager()\n\n\ndef load_configs():\n    if \"defaults\" not in st.session_state:\n        st.session_state[\"defaults\"] = {}\n\n    st.session_state[\"defaults\"] = OmegaConf.load(\"configs/webui/webui_streamlit.yaml\")\n\n    if os.path.exists(\"configs/webui/userconfig_streamlit.yaml\"):\n        user_defaults = OmegaConf.load(\"configs/webui/userconfig_streamlit.yaml\")\n\n        if \"version\" in user_defaults.general:\n            if version.parse(user_defaults.general.version) < version.parse(\n                st.session_state[\"defaults\"].general.version\n            ):\n                logger.error(\n                    \"The version of the user config file is older than the version on the defaults config file. \"\n                    \"This means there were big changes we made on the config.\"\n                    \"We are removing this file and recreating it from the defaults in order to make sure things work properly.\"\n                )\n                os.remove(\"configs/webui/userconfig_streamlit.yaml\")\n                st.experimental_rerun()\n        else:\n            logger.error(\n                \"The version of the user config file is older than the version on the defaults config file. \"\n                \"This means there were big changes we made on the config.\"\n                \"We are removing this file and recreating it from the defaults in order to make sure things work properly.\"\n            )\n            os.remove(\"configs/webui/userconfig_streamlit.yaml\")\n            st.experimental_rerun()\n\n        try:\n            st.session_state[\"defaults\"] = OmegaConf.merge(\n                st.session_state[\"defaults\"], user_defaults\n            )\n        except KeyError:\n            st.experimental_rerun()\n    else:\n        OmegaConf.save(\n            config=st.session_state.defaults,\n            f=\"configs/webui/userconfig_streamlit.yaml\",\n        )\n        loaded = OmegaConf.load(\"configs/webui/userconfig_streamlit.yaml\")\n        assert st.session_state.defaults == loaded\n\n    if os.path.exists(\".streamlit/config.toml\"):\n        st.session_state[\"streamlit_config\"] = toml.load(\".streamlit/config.toml\")\n\n    # if st.session_state[\"defaults\"].daisi_app.running_on_daisi_io:\n    # if os.path.exists(\"scripts/modeldownload.py\"):\n    # import modeldownload\n    # modeldownload.updateModels()\n\n    if \"keep_all_models_loaded\" in st.session_state.defaults.general:\n        with server_state_lock[\"keep_all_models_loaded\"]:\n            server_state[\"keep_all_models_loaded\"] = st.session_state[\n                \"defaults\"\n            ].general.keep_all_models_loaded\n    else:\n        st.session_state[\"defaults\"].general.keep_all_models_loaded = False\n        with server_state_lock[\"keep_all_models_loaded\"]:\n            server_state[\"keep_all_models_loaded\"] = st.session_state[\n                \"defaults\"\n            ].general.keep_all_models_loaded\n\n\nload_configs()\n\n#\n# if st.session_state[\"defaults\"].debug.enable_hydralit:\n# navbar_theme = {'txc_inactive': '#FFFFFF','menu_background':'#0e1117','txc_active':'black','option_active':'red'}\n# app = st.HydraApp(title='Stable Diffusion WebUI', favicon=\"\", use_cookie_cache=False, sidebar_state=\"expanded\", layout=\"wide\", navbar_theme=navbar_theme,\n# hide_streamlit_markers=False, allow_url_nav=True , clear_cross_app_sessions=False, use_loader=False)\n# else:\n# app = None\n\n#\ngrid_format = st.session_state[\"defaults\"].general.save_format\ngrid_lossless = False\ngrid_quality = st.session_state[\"defaults\"].general.grid_quality\nif grid_format == \"png\":\n    grid_ext = \"png\"\n    grid_format = \"png\"\nelif grid_format in [\"jpg\", \"jpeg\"]:\n    grid_quality = int(grid_format) if len(grid_format) > 1 else 100\n    grid_ext = \"jpg\"\n    grid_format = \"jpeg\"\nelif grid_format[0] == \"webp\":\n    grid_quality = int(grid_format) if len(grid_format) > 1 else 100\n    grid_ext = \"webp\"\n    grid_format = \"webp\"\n    if grid_quality < 0:  # e.g. webp:-100 for lossless mode\n        grid_lossless = True\n        grid_quality = abs(grid_quality)\n\n#\nsave_format = st.session_state[\"defaults\"].general.save_format\nsave_lossless = False\nsave_quality = 100\nif save_format == \"png\":\n    save_ext = \"png\"\n    save_format = \"png\"\nelif save_format in [\"jpg\", \"jpeg\"]:\n    save_quality = int(save_format) if len(save_format) > 1 else 100\n    save_ext = \"jpg\"\n    save_format = \"jpeg\"\nelif save_format == \"webp\":\n    save_quality = int(save_format) if len(save_format) > 1 else 100\n    save_ext = \"webp\"\n    save_format = \"webp\"\n    if save_quality < 0:  # e.g. webp:-100 for lossless mode\n        save_lossless = True\n        save_quality = abs(save_quality)\n\n# this should force GFPGAN and RealESRGAN onto the selected gpu as well\nos.environ[\"CUDA_DEVICE_ORDER\"] = \"PCI_BUS_ID\"  # see issue #152\nos.environ[\"CUDA_VISIBLE_DEVICES\"] = str(st.session_state[\"defaults\"].general.gpu)\n\n\n# functions to load css locally OR remotely starts here. Options exist for future flexibility. Called as st.markdown with unsafe_allow_html as css injection\n# TODO, maybe look into async loading the file especially for remote fetching\ndef local_css(file_name):\n    with open(file_name) as f:\n        st.markdown(f\"<style>{f.read()}</style>\", unsafe_allow_html=True)\n\n\ndef remote_css(url):\n    st.markdown(f'<link href=\"{url}\" rel=\"stylesheet\">', unsafe_allow_html=True)\n\n\ndef load_css(isLocal, nameOrURL):\n    if isLocal:\n        local_css(nameOrURL)\n    else:\n        remote_css(nameOrURL)\n\n\ndef set_page_title(title):\n    \"\"\"\n    Simple function to allows us to change the title dynamically.\n    Normally you can use `st.set_page_config` to change the title but it can only be used once per app.\n    \"\"\"\n\n    st.sidebar.markdown(\n        unsafe_allow_html=True,\n        body=f\"\"\"\n                            <iframe height=0 srcdoc=\"<script>\n                            const title = window.parent.document.querySelector('title') \\\n\n                            const oldObserver = window.parent.titleObserver\n                            if (oldObserver) {{\n                            oldObserver.disconnect()\n                            }} \\\n\n                            const newObserver = new MutationObserver(function(mutations) {{\n                            const target = mutations[0].target\n                            if (target.text !== '{title}') {{\n                            target.text = '{title}'\n                            }}\n                            }}) \\\n\n                            newObserver.observe(title, {{ childList: true }})\n                            window.parent.titleObserver = newObserver \\\n\n                            title.text = '{title}'\n                            </script>\" />\n                            \"\"\",\n    )\n\n\nclass MemUsageMonitor(threading.Thread):\n    stop_flag = False\n    max_usage = 0\n    total = -1\n\n    def __init__(self, name):\n        threading.Thread.__init__(self)\n        self.name = name\n\n    def run(self):\n        try:\n            pynvml.nvmlInit()\n        except:\n            logger.debug(\n                f\"[{self.name}] Unable to initialize NVIDIA management. No memory stats. \\n\"\n            )\n            return\n        logger.info(f\"[{self.name}] Recording memory usage...\\n\")\n        # Missing context\n        # handle = pynvml.nvmlDeviceGetHandleByIndex(st.session_state['defaults'].general.gpu)\n        handle = pynvml.nvmlDeviceGetHandleByIndex(0)\n        self.total = pynvml.nvmlDeviceGetMemoryInfo(handle).total\n        while not self.stop_flag:\n            m = pynvml.nvmlDeviceGetMemoryInfo(handle)\n            self.max_usage = max(self.max_usage, m.used)\n            # logger.info(self.max_usage)\n            time.sleep(0.1)\n        logger.info(f\"[{self.name}] Stopped recording.\\n\")\n        pynvml.nvmlShutdown()\n\n    def read(self):\n        return self.max_usage, self.total\n\n    def stop(self):\n        self.stop_flag = True\n\n    def read_and_stop(self):\n        self.stop_flag = True\n        return self.max_usage, self.total\n\n\n#\ndef custom_models_available():\n    with server_state_lock[\"custom_models\"]:\n        #\n        # Allow for custom models to be used instead of the default one,\n        # an example would be Waifu-Diffusion or any other fine tune of stable diffusion\n        server_state[\"custom_models\"]: sorted = []\n\n        for root, dirs, files in os.walk(os.path.join(\"models\", \"custom\")):\n            for file in files:\n                if os.path.splitext(file)[1] == \".ckpt\":\n                    server_state[\"custom_models\"].append(os.path.splitext(file)[0])\n\n        with server_state_lock[\"CustomModel_available\"]:\n            if len(server_state[\"custom_models\"]) > 0:\n                server_state[\"CustomModel_available\"] = True\n                server_state[\"custom_models\"].append(\"Stable Diffusion v1.5\")\n            else:\n                server_state[\"CustomModel_available\"] = False\n\n\n#\ndef GFPGAN_available():\n    # with server_state_lock[\"GFPGAN_models\"]:\n    #\n\n    st.session_state[\"GFPGAN_models\"]: sorted = []\n    model = st.session_state[\"defaults\"].model_manager.models.gfpgan\n\n    files_available = 0\n\n    for file in model[\"files\"]:\n        if \"save_location\" in model[\"files\"][file]:\n            if os.path.exists(\n                os.path.join(\n                    model[\"files\"][file][\"save_location\"],\n                    model[\"files\"][file][\"file_name\"],\n                )\n            ):\n                files_available += 1\n\n        elif os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            if \"GFPGANv\" in base_name:\n                st.session_state[\"GFPGAN_models\"].append(base_name)\n            files_available += 1\n\n    # we need to show the other models from previous verions that we have on the\n    # same directory in case we want to see how they perform vs each other.\n    for root, dirs, files in os.walk(st.session_state[\"defaults\"].general.GFPGAN_dir):\n        for file in files:\n            if os.path.splitext(file)[1] == \".pth\":\n                if os.path.splitext(file)[0] not in st.session_state[\"GFPGAN_models\"]:\n                    st.session_state[\"GFPGAN_models\"].append(os.path.splitext(file)[0])\n\n    if len(st.session_state[\"GFPGAN_models\"]) > 0 and files_available == len(\n        model[\"files\"]\n    ):\n        st.session_state[\"GFPGAN_available\"] = True\n    else:\n        st.session_state[\"GFPGAN_available\"] = False\n        st.session_state[\"use_GFPGAN\"] = False\n        st.session_state[\"GFPGAN_model\"] = \"GFPGANv1.4\"\n\n\n#\ndef RealESRGAN_available():\n    # with server_state_lock[\"RealESRGAN_models\"]:\n\n    st.session_state[\"RealESRGAN_models\"]: sorted = []\n    model = st.session_state[\"defaults\"].model_manager.models.realesrgan\n    for file in model[\"files\"]:\n        if os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            st.session_state[\"RealESRGAN_models\"].append(base_name)\n\n    if len(st.session_state[\"RealESRGAN_models\"]) > 0:\n        st.session_state[\"RealESRGAN_available\"] = True\n    else:\n        st.session_state[\"RealESRGAN_available\"] = False\n        st.session_state[\"use_RealESRGAN\"] = False\n        st.session_state[\"RealESRGAN_model\"] = \"RealESRGAN_x4plus\"\n\n\n#\ndef LDSR_available():\n    st.session_state[\"LDSR_models\"]: sorted = []\n    files_available = 0\n    model = st.session_state[\"defaults\"].model_manager.models.ldsr\n    for file in model[\"files\"]:\n        if os.path.exists(\n            os.path.join(model[\"save_location\"], model[\"files\"][file][\"file_name\"])\n        ):\n            base_name = os.path.splitext(model[\"files\"][file][\"file_name\"])[0]\n            extension = os.path.splitext(model[\"files\"][file][\"file_name\"])[1]\n            if extension == \".ckpt\":\n                st.session_state[\"LDSR_models\"].append(base_name)\n            files_available += 1\n    if files_available == len(model[\"files\"]):\n        st.session_state[\"LDSR_available\"] = True\n    else:\n        st.session_state[\"LDSR_available\"] = False\n        st.session_state[\"use_LDSR\"] = False\n        st.session_state[\"LDSR_model\"] = \"model\"\n"
  },
  {
    "path": "webui/streamlit/scripts/sd_utils/bridge.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# base webui import and utils.\n# import streamlit as st\n\n# We import hydralit like this to replace the previous stuff\n# we had with native streamlit as it lets ur replace things 1:1\nfrom nataili.util import logger\n\n# streamlit imports\n\n# streamlit components section\n\n# other imports\nimport requests, time, json, base64\nfrom io import BytesIO\n\n# import custom components\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\n\n@logger.catch(reraise=True)\ndef run_bridge(\n    interval,\n    api_key,\n    horde_name,\n    horde_url,\n    priority_usernames,\n    horde_max_pixels,\n    horde_nsfw,\n    horde_censor_nsfw,\n    horde_blacklist,\n    horde_censorlist,\n):\n    current_id = None\n    current_payload = None\n    loop_retry = 0\n    # load the model for stable horde if its not in memory already\n    # we should load it after we get the request from the API in\n    # case the model is different from the loaded in memory but\n    # for now we can load it here so its read right away.\n    load_models(use_GFPGAN=True)\n    while True:\n        if loop_retry > 10 and current_id:\n            logger.info(\n                f\"Exceeded retry count {loop_retry} for generation id {current_id}. Aborting generation!\"\n            )\n            current_id = None\n            current_payload = None\n            current_generation = None\n            loop_retry = 0\n        elif current_id:\n            logger.info(f\"Retrying ({loop_retry}/10) for generation id {current_id}...\")\n        gen_dict = {\n            \"name\": horde_name,\n            \"max_pixels\": horde_max_pixels,\n            \"priority_usernames\": priority_usernames,\n            \"nsfw\": horde_nsfw,\n            \"blacklist\": horde_blacklist,\n            \"models\": [\"stable_diffusion\"],\n        }\n        headers = {\"apikey\": api_key}\n        if current_id:\n            loop_retry += 1\n        else:\n            try:\n                pop_req = requests.post(\n                    horde_url + \"/api/v2/generate/pop\", json=gen_dict, headers=headers\n                )\n            except requests.exceptions.ConnectionError:\n                logger.warning(\n                    f\"Server {horde_url} unavailable during pop. Waiting 10 seconds...\"\n                )\n                time.sleep(10)\n                continue\n            except requests.exceptions.JSONDecodeError():\n                logger.warning(\n                    f\"Server {horde_url} unavailable during pop. Waiting 10 seconds...\"\n                )\n                time.sleep(10)\n                continue\n            try:\n                pop = pop_req.json()\n            except json.decoder.JSONDecodeError:\n                logger.warning(\n                    f\"Could not decode response from {horde_url} as json. Please inform its administrator!\"\n                )\n                time.sleep(interval)\n                continue\n            if pop is None:\n                logger.warning(\n                    f\"Something has gone wrong with {horde_url}. Please inform its administrator!\"\n                )\n                time.sleep(interval)\n                continue\n            if not pop_req.ok:\n                pop[\"message\"]\n                logger.warning(\n                    f\"During gen pop, server {horde_url} responded with status code {pop_req.status_code}: {pop['message']}. Waiting for 10 seconds...\"\n                )\n                if \"errors\" in pop:\n                    logger.debug(f\"Detailed Request Errors: {pop['errors']}\")\n                time.sleep(10)\n                continue\n            if not pop.get(\"id\"):\n                skipped_info = pop.get(\"skipped\")\n                if skipped_info and len(skipped_info):\n                    skipped_info = f\" Skipped Info: {skipped_info}.\"\n                else:\n                    skipped_info = \"\"\n                logger.info(\n                    f\"Server {horde_url} has no valid generations to do for us.{skipped_info}\"\n                )\n                time.sleep(interval)\n                continue\n            current_id = pop[\"id\"]\n            logger.info(f\"Request with id {current_id} picked up. Initiating work...\")\n            current_payload = pop[\"payload\"]\n            if \"toggles\" in current_payload and current_payload[\"toggles\"] is None:\n                logger.error(f\"Received Bad payload: {pop}\")\n                current_id = None\n                current_payload = None\n                current_generation = None\n                loop_retry = 0\n                time.sleep(10)\n                continue\n\n        logger.debug(current_payload)\n        current_payload[\"toggles\"] = current_payload.get(\"toggles\", [1, 4])\n        # In bridge-mode, matrix is prepared on the horde and split in multiple nodes\n        if 0 in current_payload[\"toggles\"]:\n            current_payload[\"toggles\"].remove(0)\n        if 8 not in current_payload[\"toggles\"]:\n            if horde_censor_nsfw and not horde_nsfw:\n                current_payload[\"toggles\"].append(8)\n            elif any(word in current_payload[\"prompt\"] for word in horde_censorlist):\n                current_payload[\"toggles\"].append(8)\n\n        from txt2img import txt2img\n\n        \"\"\"{'prompt': 'Centred Husky, inside spiral with circular patterns, trending on dribbble, knotwork, spirals, key patterns,\n        zoomorphics, ', 'ddim_steps': 30, 'n_iter': 1, 'sampler_name': 'DDIM', 'cfg_scale': 16.0, 'seed': '3405278433', 'height': 512, 'width': 512}\"\"\"\n\n        # images, seed, info, stats = txt2img(**current_payload)\n        images, seed, info, stats = txt2img(\n            str(current_payload[\"prompt\"]),\n            int(current_payload[\"ddim_steps\"]),\n            str(current_payload[\"sampler_name\"]),\n            int(current_payload[\"n_iter\"]),\n            1,\n            float(current_payload[\"cfg_scale\"]),\n            str(current_payload[\"seed\"]),\n            int(current_payload[\"height\"]),\n            int(current_payload[\"width\"]),\n            save_grid=False,\n            group_by_prompt=False,\n            save_individual_images=False,\n            write_info_files=False,\n        )\n\n        buffer = BytesIO()\n        # We send as WebP to avoid using all the horde bandwidth\n        images[0].save(buffer, format=\"WebP\", quality=90)\n        # logger.info(info)\n        submit_dict = {\n            \"id\": current_id,\n            \"generation\": base64.b64encode(buffer.getvalue()).decode(\"utf8\"),\n            \"api_key\": api_key,\n            \"seed\": seed,\n            \"max_pixels\": horde_max_pixels,\n        }\n        current_generation = seed\n        while current_id and current_generation is not None:\n            try:\n                submit_req = requests.post(\n                    horde_url + \"/api/v2/generate/submit\",\n                    json=submit_dict,\n                    headers=headers,\n                )\n                try:\n                    submit = submit_req.json()\n                except json.decoder.JSONDecodeError:\n                    logger.error(\n                        f\"Something has gone wrong with {horde_url} during submit. Please inform its administrator!  (Retry {loop_retry}/10)\"\n                    )\n                    time.sleep(interval)\n                    continue\n                if submit_req.status_code == 404:\n                    logger.info(\n                        \"The generation we were working on got stale. Aborting!\"\n                    )\n                elif not submit_req.ok:\n                    logger.error(\n                        f\"During gen submit, server {horde_url} responded with status code {submit_req.status_code}: {submit['message']}. Waiting for 10 seconds...  (Retry {loop_retry}/10)\"\n                    )\n                    if \"errors\" in submit:\n                        logger.debug(f\"Detailed Request Errors: {submit['errors']}\")\n                    time.sleep(10)\n                    continue\n                else:\n                    logger.info(\n                        f'Submitted generation with id {current_id} and contributed for {submit_req.json()[\"reward\"]}'\n                    )\n                current_id = None\n                current_payload = None\n                current_generation = None\n                loop_retry = 0\n            except requests.exceptions.ConnectionError:\n                logger.warning(\n                    f\"Server {horde_url} unavailable during submit. Waiting 10 seconds...  (Retry {loop_retry}/10)\"\n                )\n                time.sleep(10)\n                continue\n        time.sleep(interval)\n"
  },
  {
    "path": "webui/streamlit/scripts/textual_inversion.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import st, set_page_title, seed_to_int\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\nfrom streamlit_tensorboard import st_tensorboard\n\n# streamlit components section\nfrom streamlit_server_state import server_state\n\n# other imports\nfrom transformers import CLIPTextModel, CLIPTokenizer\n\n# Temp imports\n\nimport itertools\nimport math\nimport os\nimport random\n\n# import datetime\n# from pathlib import Path\n# from typing import Optional\n\nimport numpy as np\nimport torch\nimport torch.nn.functional as F\nimport torch.utils.checkpoint\nfrom torch.utils.data import Dataset\n\nimport PIL\nfrom accelerate import Accelerator\nfrom accelerate.logging import get_logger\nfrom accelerate.utils import set_seed\nfrom diffusers import (\n    AutoencoderKL,\n    DDPMScheduler,\n    LMSDiscreteScheduler,\n    StableDiffusionPipeline,\n    UNet2DConditionModel,\n)  # , PNDMScheduler\nfrom diffusers.optimization import get_scheduler\n\n# from diffusers.pipelines.stable_diffusion import StableDiffusionSafetyChecker\nfrom pipelines.stable_diffusion.no_check import NoCheck\nfrom PIL import Image\nfrom torchvision import transforms\nfrom tqdm.auto import tqdm\nfrom transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer\nfrom slugify import slugify\nimport json\nimport os  # , subprocess\n\n# from io import StringIO\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nlogger = get_logger(__name__)\n\nimagenet_templates_small = [\n    \"a photo of a {}\",\n    \"a rendering of a {}\",\n    \"a cropped photo of the {}\",\n    \"the photo of a {}\",\n    \"a photo of a clean {}\",\n    \"a photo of a dirty {}\",\n    \"a dark photo of the {}\",\n    \"a photo of my {}\",\n    \"a photo of the cool {}\",\n    \"a close-up photo of a {}\",\n    \"a bright photo of the {}\",\n    \"a cropped photo of a {}\",\n    \"a photo of the {}\",\n    \"a good photo of the {}\",\n    \"a photo of one {}\",\n    \"a close-up photo of the {}\",\n    \"a rendition of the {}\",\n    \"a photo of the clean {}\",\n    \"a rendition of a {}\",\n    \"a photo of a nice {}\",\n    \"a good photo of a {}\",\n    \"a photo of the nice {}\",\n    \"a photo of the small {}\",\n    \"a photo of the weird {}\",\n    \"a photo of the large {}\",\n    \"a photo of a cool {}\",\n    \"a photo of a small {}\",\n]\n\nimagenet_style_templates_small = [\n    \"a painting in the style of {}\",\n    \"a rendering in the style of {}\",\n    \"a cropped painting in the style of {}\",\n    \"the painting in the style of {}\",\n    \"a clean painting in the style of {}\",\n    \"a dirty painting in the style of {}\",\n    \"a dark painting in the style of {}\",\n    \"a picture in the style of {}\",\n    \"a cool painting in the style of {}\",\n    \"a close-up painting in the style of {}\",\n    \"a bright painting in the style of {}\",\n    \"a cropped painting in the style of {}\",\n    \"a good painting in the style of {}\",\n    \"a close-up painting in the style of {}\",\n    \"a rendition in the style of {}\",\n    \"a nice painting in the style of {}\",\n    \"a small painting in the style of {}\",\n    \"a weird painting in the style of {}\",\n    \"a large painting in the style of {}\",\n]\n\n\nclass TextualInversionDataset(Dataset):\n    def __init__(\n        self,\n        data_root,\n        tokenizer,\n        learnable_property=\"object\",  # [object, style]\n        size=512,\n        repeats=100,\n        interpolation=\"bicubic\",\n        set=\"train\",\n        placeholder_token=\"*\",\n        center_crop=False,\n        templates=None,\n    ):\n        self.data_root = data_root\n        self.tokenizer = tokenizer\n        self.learnable_property = learnable_property\n        self.size = size\n        self.placeholder_token = placeholder_token\n        self.center_crop = center_crop\n\n        self.image_paths = [\n            os.path.join(self.data_root, file_path)\n            for file_path in os.listdir(self.data_root)\n            if file_path.lower().endswith((\".png\", \".jpg\", \".jpeg\"))\n        ]\n\n        self.num_images = len(self.image_paths)\n        self._length = self.num_images\n\n        if set == \"train\":\n            self._length = self.num_images * repeats\n\n        self.interpolation = {\n            \"linear\": PIL.Image.LINEAR,\n            \"bilinear\": PIL.Image.Resampling.BILINEAR,\n            \"bicubic\": PIL.Image.Resampling.BICUBIC,\n            \"lanczos\": PIL.Image.Resampling.LANCZOS,\n        }[interpolation]\n\n        self.templates = templates\n        self.cache = {}\n        self.tokenized_templates = [\n            self.tokenizer(\n                text.format(self.placeholder_token),\n                padding=\"max_length\",\n                truncation=True,\n                max_length=self.tokenizer.model_max_length,\n                return_tensors=\"pt\",\n            ).input_ids[0]\n            for text in self.templates\n        ]\n\n    def __len__(self):\n        return self._length\n\n    def get_example(self, image_path, flipped):\n        if image_path in self.cache:\n            return self.cache[image_path]\n\n        example = {}\n        image = Image.open(image_path)\n\n        if not image.mode == \"RGB\":\n            image = image.convert(\"RGB\")\n\n        # default to score-sde preprocessing\n        img = np.array(image).astype(np.uint8)\n        if self.center_crop:\n            crop = min(img.shape[0], img.shape[1])\n            (\n                h,\n                w,\n            ) = (\n                img.shape[0],\n                img.shape[1],\n            )\n            img = img[\n                (h - crop) // 2 : (h + crop) // 2, (w - crop) // 2 : (w + crop) // 2\n            ]\n        image = Image.fromarray(img)\n        image = image.resize((self.size, self.size), resample=self.interpolation)\n        image = transforms.RandomHorizontalFlip(p=1 if flipped else 0)(image)\n        image = np.array(image).astype(np.uint8)\n        image = (image / 127.5 - 1.0).astype(np.float32)\n        example[\"key\"] = \"-\".join([image_path, \"-\", str(flipped)])\n        example[\"pixel_values\"] = torch.from_numpy(image).permute(2, 0, 1)\n\n        self.cache[image_path] = example\n        return example\n\n    def __getitem__(self, i):\n        flipped = random.choice([False, True])\n        example = self.get_example(self.image_paths[i % self.num_images], flipped)\n        example[\"input_ids\"] = random.choice(self.tokenized_templates)\n        return example\n\n\ndef freeze_params(params):\n    for param in params:\n        param.requires_grad = False\n\n\ndef save_resume_file(basepath, extra={}, config=\"\"):\n    info = {\"args\": config[\"args\"]}\n    info[\"args\"].update(extra)\n\n    with open(f\"{os.path.join(basepath, 'resume.json')}\", \"w\") as f:\n        # print (info)\n        json.dump(info, f, indent=4)\n\n    with open(f\"{basepath}/token_identifier.txt\", \"w\") as f:\n        f.write(f\"{config['args']['placeholder_token']}\")\n\n    with open(f\"{basepath}/type_of_concept.txt\", \"w\") as f:\n        f.write(f\"{config['args']['learnable_property']}\")\n\n    config[\"args\"] = info[\"args\"]\n\n    return config[\"args\"]\n\n\nclass Checkpointer:\n    def __init__(\n        self,\n        accelerator,\n        vae,\n        unet,\n        tokenizer,\n        placeholder_token,\n        placeholder_token_id,\n        templates,\n        output_dir,\n        random_sample_batches,\n        sample_batch_size,\n        stable_sample_batches,\n        seed,\n    ):\n        self.accelerator = accelerator\n        self.vae = vae\n        self.unet = unet\n        self.tokenizer = tokenizer\n        self.placeholder_token = placeholder_token\n        self.placeholder_token_id = placeholder_token_id\n        self.templates = templates\n        self.output_dir = output_dir\n        self.seed = seed\n        self.random_sample_batches = random_sample_batches\n        self.sample_batch_size = sample_batch_size\n        self.stable_sample_batches = stable_sample_batches\n\n    @torch.no_grad()\n    def checkpoint(self, step, text_encoder, save_samples=True, path=None):\n        print(\"Saving checkpoint for step %d...\" % step)\n        with torch.autocast(\"cuda\"):\n            if path is None:\n                checkpoints_path = f\"{self.output_dir}/checkpoints\"\n                os.makedirs(checkpoints_path, exist_ok=True)\n\n            unwrapped = self.accelerator.unwrap_model(text_encoder)\n\n            # Save a checkpoint\n            learned_embeds = unwrapped.get_input_embeddings().weight[\n                self.placeholder_token_id\n            ]\n            learned_embeds_dict = {\n                self.placeholder_token: learned_embeds.detach().cpu()\n            }\n\n            filename = \"%s_%d.bin\" % (slugify(self.placeholder_token), step)\n            if path is not None:\n                torch.save(learned_embeds_dict, path)\n            else:\n                torch.save(learned_embeds_dict, f\"{checkpoints_path}/{filename}\")\n                torch.save(learned_embeds_dict, f\"{checkpoints_path}/last.bin\")\n\n            del unwrapped\n            del learned_embeds\n\n    @torch.no_grad()\n    def save_samples(\n        self,\n        step,\n        text_encoder,\n        height,\n        width,\n        guidance_scale,\n        eta,\n        num_inference_steps,\n    ):\n        samples_path = f\"{self.output_dir}/concept_images\"\n        os.makedirs(samples_path, exist_ok=True)\n\n        # if \"checker\" not in server_state['textual_inversion']:\n        # with server_state_lock['textual_inversion'][\"checker\"]:\n        server_state[\"textual_inversion\"][\"checker\"] = NoCheck()\n\n        # if \"unwrapped\" not in server_state['textual_inversion']:\n        # \twith server_state_lock['textual_inversion'][\"unwrapped\"]:\n        server_state[\"textual_inversion\"][\"unwrapped\"] = self.accelerator.unwrap_model(\n            text_encoder\n        )\n\n        # if \"pipeline\" not in server_state['textual_inversion']:\n        # \twith server_state_lock['textual_inversion'][\"pipeline\"]:\n        # Save a sample image\n        server_state[\"textual_inversion\"][\"pipeline\"] = StableDiffusionPipeline(\n            text_encoder=server_state[\"textual_inversion\"][\"unwrapped\"],\n            vae=self.vae,\n            unet=self.unet,\n            tokenizer=self.tokenizer,\n            scheduler=LMSDiscreteScheduler(\n                beta_start=0.00085, beta_end=0.012, beta_schedule=\"scaled_linear\"\n            ),\n            safety_checker=NoCheck(),\n            feature_extractor=CLIPFeatureExtractor.from_pretrained(\n                \"openai/clip-vit-base-patch32\"\n            ),\n        ).to(\"cuda\")\n\n        server_state[\"textual_inversion\"][\"pipeline\"].enable_attention_slicing()\n\n        if self.stable_sample_batches > 0:\n            stable_latents = torch.randn(\n                (\n                    self.sample_batch_size,\n                    server_state[\"textual_inversion\"][\"pipeline\"].unet.in_channels,\n                    height // 8,\n                    width // 8,\n                ),\n                device=server_state[\"textual_inversion\"][\"pipeline\"].device,\n                generator=torch.Generator(\n                    device=server_state[\"textual_inversion\"][\"pipeline\"].device\n                ).manual_seed(self.seed),\n            )\n\n            stable_prompts = [\n                choice.format(self.placeholder_token)\n                for choice in (self.templates * self.sample_batch_size)[\n                    : self.sample_batch_size\n                ]\n            ]\n\n            # Generate and save stable samples\n            for i in range(0, self.stable_sample_batches):\n                samples = server_state[\"textual_inversion\"][\"pipeline\"](\n                    prompt=stable_prompts,\n                    height=384,\n                    latents=stable_latents,\n                    width=384,\n                    guidance_scale=guidance_scale,\n                    eta=eta,\n                    num_inference_steps=num_inference_steps,\n                    output_type=\"pil\",\n                )[\"sample\"]\n\n                for idx, im in enumerate(samples):\n                    filename = \"stable_sample_%d_%d_step_%d.png\" % (\n                        i + 1,\n                        idx + 1,\n                        step,\n                    )\n                    im.save(f\"{samples_path}/{filename}\")\n                del samples\n            del stable_latents\n\n        prompts = [\n            choice.format(self.placeholder_token)\n            for choice in random.choices(self.templates, k=self.sample_batch_size)\n        ]\n        # Generate and save random samples\n        for i in range(0, self.random_sample_batches):\n            samples = server_state[\"textual_inversion\"][\"pipeline\"](\n                prompt=prompts,\n                height=384,\n                width=384,\n                guidance_scale=guidance_scale,\n                eta=eta,\n                num_inference_steps=num_inference_steps,\n                output_type=\"pil\",\n            )[\"sample\"]\n            for idx, im in enumerate(samples):\n                filename = \"step_%d_sample_%d_%d.png\" % (step, i + 1, idx + 1)\n                im.save(f\"{samples_path}/{filename}\")\n            del samples\n\n        del server_state[\"textual_inversion\"][\"checker\"]\n        del server_state[\"textual_inversion\"][\"unwrapped\"]\n        del server_state[\"textual_inversion\"][\"pipeline\"]\n        torch.cuda.empty_cache()\n\n\n# @retry(RuntimeError, tries=5)\ndef textual_inversion(config):\n    print(\"Running textual inversion.\")\n\n    # if \"pipeline\" in server_state[\"textual_inversion\"]:\n    # del server_state['textual_inversion'][\"checker\"]\n    # del server_state['textual_inversion'][\"unwrapped\"]\n    # del server_state['textual_inversion'][\"pipeline\"]\n    # torch.cuda.empty_cache()\n\n    global_step_offset = 0\n\n    # print(config['args']['resume_from'])\n    if config[\"args\"][\"resume_from\"]:\n        try:\n            basepath = f\"{config['args']['resume_from']}\"\n\n            with open(f\"{basepath}/resume.json\", \"r\") as f:\n                state = json.load(f)\n\n            global_step_offset = state[\"args\"].get(\"global_step\", 0)\n\n            print(\"Resuming state from %s\" % config[\"args\"][\"resume_from\"])\n            print(\"We've trained %d steps so far\" % global_step_offset)\n\n        except json.decoder.JSONDecodeError:\n            pass\n    else:\n        basepath = f\"{config['args']['output_dir']}/{slugify(config['args']['placeholder_token'])}\"\n        os.makedirs(basepath, exist_ok=True)\n\n    accelerator = Accelerator(\n        gradient_accumulation_steps=config[\"args\"][\"gradient_accumulation_steps\"],\n        mixed_precision=config[\"args\"][\"mixed_precision\"],\n    )\n\n    # If passed along, set the training seed.\n    if config[\"args\"][\"seed\"]:\n        set_seed(config[\"args\"][\"seed\"])\n\n    # if \"tokenizer\" not in server_state[\"textual_inversion\"]:\n    # Load the tokenizer and add the placeholder token as a additional special token\n    # with server_state_lock['textual_inversion'][\"tokenizer\"]:\n    if config[\"args\"][\"tokenizer_name\"]:\n        server_state[\"textual_inversion\"][\"tokenizer\"] = CLIPTokenizer.from_pretrained(\n            config[\"args\"][\"tokenizer_name\"]\n        )\n    elif config[\"args\"][\"pretrained_model_name_or_path\"]:\n        server_state[\"textual_inversion\"][\"tokenizer\"] = CLIPTokenizer.from_pretrained(\n            config[\"args\"][\"pretrained_model_name_or_path\"] + \"/tokenizer\"\n        )\n\n    # Add the placeholder token in tokenizer\n    num_added_tokens = server_state[\"textual_inversion\"][\"tokenizer\"].add_tokens(\n        config[\"args\"][\"placeholder_token\"]\n    )\n    if num_added_tokens == 0:\n        st.error(\n            f\"The tokenizer already contains the token {config['args']['placeholder_token']}. Please pass a different\"\n            \" `placeholder_token` that is not already in the tokenizer.\"\n        )\n\n    # Convert the initializer_token, placeholder_token to ids\n    token_ids = server_state[\"textual_inversion\"][\"tokenizer\"].encode(\n        config[\"args\"][\"initializer_token\"], add_special_tokens=False\n    )\n    # Check if initializer_token is a single token or a sequence of tokens\n    if len(token_ids) > 1:\n        st.error(\"The initializer token must be a single token.\")\n\n    initializer_token_id = token_ids[0]\n    placeholder_token_id = server_state[\"textual_inversion\"][\n        \"tokenizer\"\n    ].convert_tokens_to_ids(config[\"args\"][\"placeholder_token\"])\n\n    # if \"text_encoder\" not in server_state['textual_inversion']:\n    # Load models and create wrapper for stable diffusion\n    # with server_state_lock['textual_inversion'][\"text_encoder\"]:\n    server_state[\"textual_inversion\"][\"text_encoder\"] = CLIPTextModel.from_pretrained(\n        config[\"args\"][\"pretrained_model_name_or_path\"] + \"/text_encoder\",\n    )\n\n    # if \"vae\" not in server_state['textual_inversion']:\n    # with server_state_lock['textual_inversion'][\"vae\"]:\n    server_state[\"textual_inversion\"][\"vae\"] = AutoencoderKL.from_pretrained(\n        config[\"args\"][\"pretrained_model_name_or_path\"] + \"/vae\",\n    )\n\n    # if \"unet\" not in server_state['textual_inversion']:\n    # with server_state_lock['textual_inversion'][\"unet\"]:\n    server_state[\"textual_inversion\"][\"unet\"] = UNet2DConditionModel.from_pretrained(\n        config[\"args\"][\"pretrained_model_name_or_path\"] + \"/unet\",\n    )\n\n    base_templates = (\n        imagenet_style_templates_small\n        if config[\"args\"][\"learnable_property\"] == \"style\"\n        else imagenet_templates_small\n    )\n    if config[\"args\"][\"custom_templates\"]:\n        templates = config[\"args\"][\"custom_templates\"].split(\";\")\n    else:\n        templates = base_templates\n\n    slice_size = (\n        server_state[\"textual_inversion\"][\"unet\"].config.attention_head_dim // 2\n    )\n    server_state[\"textual_inversion\"][\"unet\"].set_attention_slice(slice_size)\n\n    # Resize the token embeddings as we are adding new special tokens to the tokenizer\n    server_state[\"textual_inversion\"][\"text_encoder\"].resize_token_embeddings(\n        len(server_state[\"textual_inversion\"][\"tokenizer\"])\n    )\n\n    # Initialise the newly added placeholder token with the embeddings of the initializer token\n    token_embeds = (\n        server_state[\"textual_inversion\"][\"text_encoder\"]\n        .get_input_embeddings()\n        .weight.data\n    )\n\n    if \"resume_checkpoint\" in config[\"args\"]:\n        if config[\"args\"][\"resume_checkpoint\"] is not None:\n            token_embeds[placeholder_token_id] = torch.load(\n                config[\"args\"][\"resume_checkpoint\"]\n            )[config[\"args\"][\"placeholder_token\"]]\n    else:\n        token_embeds[placeholder_token_id] = token_embeds[initializer_token_id]\n\n    # Freeze vae and unet\n    freeze_params(server_state[\"textual_inversion\"][\"vae\"].parameters())\n    freeze_params(server_state[\"textual_inversion\"][\"unet\"].parameters())\n    # Freeze all parameters except for the token embeddings in text encoder\n    params_to_freeze = itertools.chain(\n        server_state[\"textual_inversion\"][\n            \"text_encoder\"\n        ].text_model.encoder.parameters(),\n        server_state[\"textual_inversion\"][\n            \"text_encoder\"\n        ].text_model.final_layer_norm.parameters(),\n        server_state[\"textual_inversion\"][\n            \"text_encoder\"\n        ].text_model.embeddings.position_embedding.parameters(),\n    )\n    freeze_params(params_to_freeze)\n\n    checkpointer = Checkpointer(\n        accelerator=accelerator,\n        vae=server_state[\"textual_inversion\"][\"vae\"],\n        unet=server_state[\"textual_inversion\"][\"unet\"],\n        tokenizer=server_state[\"textual_inversion\"][\"tokenizer\"],\n        placeholder_token=config[\"args\"][\"placeholder_token\"],\n        placeholder_token_id=placeholder_token_id,\n        templates=templates,\n        output_dir=basepath,\n        sample_batch_size=config[\"args\"][\"sample_batch_size\"],\n        random_sample_batches=config[\"args\"][\"random_sample_batches\"],\n        stable_sample_batches=config[\"args\"][\"stable_sample_batches\"],\n        seed=config[\"args\"][\"seed\"],\n    )\n\n    if config[\"args\"][\"scale_lr\"]:\n        config[\"args\"][\"learning_rate\"] = (\n            config[\"args\"][\"learning_rate\"]\n            * config[\"args\"][\"gradient_accumulation_steps\"]\n            * config[\"args\"][\"train_batch_size\"]\n            * accelerator.num_processes\n        )\n\n    # Initialize the optimizer\n    optimizer = torch.optim.AdamW(\n        server_state[\"textual_inversion\"][\"text_encoder\"]\n        .get_input_embeddings()\n        .parameters(),  # only optimize the embeddings\n        lr=config[\"args\"][\"learning_rate\"],\n        betas=(config[\"args\"][\"adam_beta1\"], config[\"args\"][\"adam_beta2\"]),\n        weight_decay=config[\"args\"][\"adam_weight_decay\"],\n        eps=config[\"args\"][\"adam_epsilon\"],\n    )\n\n    # TODO (patil-suraj): load scheduler using args\n    noise_scheduler = DDPMScheduler(\n        beta_start=0.00085,\n        beta_end=0.012,\n        beta_schedule=\"scaled_linear\",\n        num_train_timesteps=1000,\n        tensor_format=\"pt\",\n    )\n\n    train_dataset = TextualInversionDataset(\n        data_root=config[\"args\"][\"train_data_dir\"],\n        tokenizer=server_state[\"textual_inversion\"][\"tokenizer\"],\n        size=config[\"args\"][\"resolution\"],\n        placeholder_token=config[\"args\"][\"placeholder_token\"],\n        repeats=config[\"args\"][\"repeats\"],\n        learnable_property=config[\"args\"][\"learnable_property\"],\n        center_crop=config[\"args\"][\"center_crop\"],\n        set=\"train\",\n        templates=templates,\n    )\n    train_dataloader = torch.utils.data.DataLoader(\n        train_dataset, batch_size=config[\"args\"][\"train_batch_size\"], shuffle=True\n    )\n\n    # Scheduler and math around the number of training steps.\n    overrode_max_train_steps = False\n    num_update_steps_per_epoch = math.ceil(\n        len(train_dataloader) / config[\"args\"][\"gradient_accumulation_steps\"]\n    )\n    if config[\"args\"][\"max_train_steps\"] is None:\n        config[\"args\"][\"max_train_steps\"] = (\n            config[\"args\"][\"num_train_epochs\"] * num_update_steps_per_epoch\n        )\n        overrode_max_train_steps = True\n\n    lr_scheduler = get_scheduler(\n        config[\"args\"][\"lr_scheduler\"],\n        optimizer=optimizer,\n        num_warmup_steps=config[\"args\"][\"lr_warmup_steps\"]\n        * config[\"args\"][\"gradient_accumulation_steps\"],\n        num_training_steps=config[\"args\"][\"max_train_steps\"]\n        * config[\"args\"][\"gradient_accumulation_steps\"],\n    )\n\n    (\n        server_state[\"textual_inversion\"][\"text_encoder\"],\n        optimizer,\n        train_dataloader,\n        lr_scheduler,\n    ) = accelerator.prepare(\n        server_state[\"textual_inversion\"][\"text_encoder\"],\n        optimizer,\n        train_dataloader,\n        lr_scheduler,\n    )\n\n    # Move vae and unet to device\n    server_state[\"textual_inversion\"][\"vae\"].to(accelerator.device)\n    server_state[\"textual_inversion\"][\"unet\"].to(accelerator.device)\n\n    # Keep vae and unet in eval mode as we don't train these\n    server_state[\"textual_inversion\"][\"vae\"].eval()\n    server_state[\"textual_inversion\"][\"unet\"].eval()\n\n    # We need to recalculate our total training steps as the size of the training dataloader may have changed.\n    num_update_steps_per_epoch = math.ceil(\n        len(train_dataloader) / config[\"args\"][\"gradient_accumulation_steps\"]\n    )\n    if overrode_max_train_steps:\n        config[\"args\"][\"max_train_steps\"] = (\n            config[\"args\"][\"num_train_epochs\"] * num_update_steps_per_epoch\n        )\n    # Afterwards we recalculate our number of training epochs\n    config[\"args\"][\"num_train_epochs\"] = math.ceil(\n        config[\"args\"][\"max_train_steps\"] / num_update_steps_per_epoch\n    )\n\n    # We need to initialize the trackers we use, and also store our configuration.\n    # The trackers initializes automatically on the main process.\n    if accelerator.is_main_process:\n        accelerator.init_trackers(\"textual_inversion\", config=config[\"args\"])\n\n    # Train!\n    total_batch_size = (\n        config[\"args\"][\"train_batch_size\"]\n        * accelerator.num_processes\n        * st.session_state[\"textual_inversion\"][\"args\"][\"gradient_accumulation_steps\"]\n    )\n\n    logger.info(\"***** Running training *****\")\n    logger.info(f\"  Num examples = {len(train_dataset)}\")\n    logger.info(f\"  Num Epochs = {config['args']['num_train_epochs']}\")\n    logger.info(\n        f\"  Instantaneous batch size per device = {config['args']['train_batch_size']}\"\n    )\n    logger.info(\n        f\"  Total train batch size (w. parallel, distributed & accumulation) = {total_batch_size}\"\n    )\n    logger.info(\n        f\"  Gradient Accumulation steps = {config['args']['gradient_accumulation_steps']}\"\n    )\n    logger.info(f\"  Total optimization steps = {config['args']['max_train_steps']}\")\n    # Only show the progress bar once on each machine.\n    progress_bar = tqdm(\n        range(config[\"args\"][\"max_train_steps\"]),\n        disable=not accelerator.is_local_main_process,\n    )\n    progress_bar.set_description(\"Steps\")\n    global_step = 0\n    encoded_pixel_values_cache = {}\n\n    try:\n        for epoch in range(config[\"args\"][\"num_train_epochs\"]):\n            server_state[\"textual_inversion\"][\"text_encoder\"].train()\n            for step, batch in enumerate(train_dataloader):\n                with accelerator.accumulate(\n                    server_state[\"textual_inversion\"][\"text_encoder\"]\n                ):\n                    # Convert images to latent space\n                    key = \"|\".join(batch[\"key\"])\n                    if encoded_pixel_values_cache.get(key, None) is None:\n                        encoded_pixel_values_cache[key] = (\n                            server_state[\"textual_inversion\"][\"vae\"]\n                            .encode(batch[\"pixel_values\"])\n                            .latent_dist\n                        )\n                    latents = (\n                        encoded_pixel_values_cache[key].sample().detach().half()\n                        * 0.18215\n                    )\n\n                    # Sample noise that we'll add to the latents\n                    noise = torch.randn(latents.shape).to(latents.device)\n                    bsz = latents.shape[0]\n                    # Sample a random timestep for each image\n                    timesteps = torch.randint(\n                        0,\n                        noise_scheduler.num_train_timesteps,\n                        (bsz,),\n                        device=latents.device,\n                    ).long()\n\n                    # Add noise to the latents according to the noise magnitude at each timestep\n                    # (this is the forward diffusion process)\n                    noisy_latents = noise_scheduler.add_noise(latents, noise, timesteps)\n\n                    # Get the text embedding for conditioning\n                    encoder_hidden_states = server_state[\"textual_inversion\"][\n                        \"text_encoder\"\n                    ](batch[\"input_ids\"])[0]\n\n                    # Predict the noise residual\n                    noise_pred = server_state[\"textual_inversion\"][\"unet\"](\n                        noisy_latents, timesteps, encoder_hidden_states\n                    ).sample\n\n                    loss = (\n                        F.mse_loss(noise_pred, noise, reduction=\"none\")\n                        .mean([1, 2, 3])\n                        .mean()\n                    )\n                    accelerator.backward(loss)\n\n                    # Zero out the gradients for all token embeddings except the newly added\n                    # embeddings for the concept, as we only want to optimize the concept embeddings\n                    if accelerator.num_processes > 1:\n                        grads = (\n                            server_state[\"textual_inversion\"][\"text_encoder\"]\n                            .module.get_input_embeddings()\n                            .weight.grad\n                        )\n                    else:\n                        grads = (\n                            server_state[\"textual_inversion\"][\"text_encoder\"]\n                            .get_input_embeddings()\n                            .weight.grad\n                        )\n                    # Get the index for tokens that we want to zero the grads for\n                    index_grads_to_zero = (\n                        torch.arange(\n                            len(server_state[\"textual_inversion\"][\"tokenizer\"])\n                        )\n                        != placeholder_token_id\n                    )\n                    grads.data[index_grads_to_zero, :] = grads.data[\n                        index_grads_to_zero, :\n                    ].fill_(0)\n\n                    optimizer.step()\n                    lr_scheduler.step()\n                    optimizer.zero_grad()\n\n                # try:\n                # Checks if the accelerator has performed an optimization step behind the scenes\n                if accelerator.sync_gradients:\n                    progress_bar.update(1)\n                    global_step += 1\n\n                    if (\n                        global_step % config[\"args\"][\"checkpoint_frequency\"] == 0\n                        and global_step > 0\n                        and accelerator.is_main_process\n                    ):\n                        checkpointer.checkpoint(\n                            global_step + global_step_offset,\n                            server_state[\"textual_inversion\"][\"text_encoder\"],\n                        )\n                        save_resume_file(\n                            basepath,\n                            {\n                                \"global_step\": global_step + global_step_offset,\n                                \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                            },\n                            config,\n                        )\n\n                        checkpointer.save_samples(\n                            global_step + global_step_offset,\n                            server_state[\"textual_inversion\"][\"text_encoder\"],\n                            config[\"args\"][\"resolution\"],\n                            config[\"args\"][\"resolution\"],\n                            7.5,\n                            0.0,\n                            config[\"args\"][\"sample_steps\"],\n                        )\n\n                        checkpointer.checkpoint(\n                            global_step + global_step_offset,\n                            server_state[\"textual_inversion\"][\"text_encoder\"],\n                            path=f\"{basepath}/learned_embeds.bin\",\n                        )\n                # except KeyError:\n                # raise StopException\n\n                logs = {\n                    \"loss\": loss.detach().item(),\n                    \"lr\": lr_scheduler.get_last_lr()[0],\n                }\n                progress_bar.set_postfix(**logs)\n\n                # accelerator.log(logs, step=global_step)\n\n                # try:\n                if global_step >= config[\"args\"][\"max_train_steps\"]:\n                    break\n                # except:\n                # pass\n\n            accelerator.wait_for_everyone()\n\n        # Create the pipeline using the trained modules and save it.\n        if accelerator.is_main_process:\n            print(\"Finished! Saving final checkpoint and resume state.\")\n            checkpointer.checkpoint(\n                global_step + global_step_offset,\n                server_state[\"textual_inversion\"][\"text_encoder\"],\n                path=f\"{basepath}/learned_embeds.bin\",\n            )\n\n            save_resume_file(\n                basepath,\n                {\n                    \"global_step\": global_step + global_step_offset,\n                    \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                },\n                config,\n            )\n\n            accelerator.end_training()\n\n    except (KeyboardInterrupt, StopException):\n        print(\"Received Streamlit StopException or KeyboardInterrupt\")\n\n        if accelerator.is_main_process:\n            print(\"Interrupted, saving checkpoint and resume state...\")\n            checkpointer.checkpoint(\n                global_step + global_step_offset,\n                server_state[\"textual_inversion\"][\"text_encoder\"],\n            )\n\n            config[\"args\"] = save_resume_file(\n                basepath,\n                {\n                    \"global_step\": global_step + global_step_offset,\n                    \"resume_checkpoint\": f\"{basepath}/checkpoints/last.bin\",\n                },\n                config,\n            )\n\n            checkpointer.checkpoint(\n                global_step + global_step_offset,\n                server_state[\"textual_inversion\"][\"text_encoder\"],\n                path=f\"{basepath}/learned_embeds.bin\",\n            )\n\n        quit()\n\n\ndef layout():\n    with st.form(\"textual-inversion\"):\n        # st.info(\"Under Construction. :construction_worker:\")\n        # parser = argparse.ArgumentParser(description=\"Simple example of a training script.\")\n\n        set_page_title(\"Textual Inversion - Stable Diffusion Playground\")\n\n        config_tab, output_tab, tensorboard_tab = st.tabs(\n            [\"Textual Inversion Config\", \"Ouput\", \"TensorBoard\"]\n        )\n\n        with config_tab:\n            col1, col2, col3, col4, col5 = st.columns(5, gap=\"large\")\n\n            if \"textual_inversion\" not in st.session_state:\n                st.session_state[\"textual_inversion\"] = {}\n\n            if \"textual_inversion\" not in server_state:\n                server_state[\"textual_inversion\"] = {}\n\n            if \"args\" not in st.session_state[\"textual_inversion\"]:\n                st.session_state[\"textual_inversion\"][\"args\"] = {}\n\n            with col1:\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"pretrained_model_name_or_path\"\n                ] = st.text_input(\n                    \"Pretrained Model Path\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].textual_inversion.pretrained_model_name_or_path,\n                    help=\"Path to pretrained model or model identifier from huggingface.co/models.\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"tokenizer_name\"\n                ] = st.text_input(\n                    \"Tokenizer Name\",\n                    value=st.session_state[\"defaults\"].textual_inversion.tokenizer_name,\n                    help=\"Pretrained tokenizer name or path if not the same as model_name\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"train_data_dir\"\n                ] = st.text_input(\n                    \"train_data_dir\",\n                    value=\"\",\n                    help=\"A folder containing the training data.\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"placeholder_token\"\n                ] = st.text_input(\n                    \"Placeholder Token\",\n                    value=\"\",\n                    help=\"A token to use as a placeholder for the concept.\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"initializer_token\"\n                ] = st.text_input(\n                    \"Initializer Token\",\n                    value=\"\",\n                    help=\"A token to use as initializer word.\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"learnable_property\"\n                ] = st.selectbox(\n                    \"Learnable Property\",\n                    [\"object\", \"style\"],\n                    index=0,\n                    help=\"Choose between 'object' and 'style'\",\n                )\n\n                st.session_state[\"textual_inversion\"][\"args\"][\"repeats\"] = int(\n                    st.text_input(\n                        \"Number of times to Repeat\",\n                        value=100,\n                        help=\"How many times to repeat the training data.\",\n                    )\n                )\n\n                with col2:\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"output_dir\"\n                    ] = st.text_input(\n                        \"Output Directory\",\n                        value=str(os.path.join(\"outputs\", \"textual_inversion\")),\n                        help=\"The output directory where the model predictions and checkpoints will be written.\",\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\"seed\"] = seed_to_int(\n                        st.text_input(\n                            \"Seed\",\n                            value=0,\n                            help=\"A seed for reproducible training, if left empty a random one will be generated. Default: 0\",\n                        )\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\"resolution\"] = int(\n                        st.text_input(\n                            \"Resolution\",\n                            value=512,\n                            help=\"The resolution for input images, all the images in the train/validation dataset will be resized to this resolution\",\n                        )\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"center_crop\"\n                    ] = st.checkbox(\n                        \"Center Image\",\n                        value=True,\n                        help=\"Whether to center crop images before resizing to resolution\",\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"train_batch_size\"\n                    ] = int(\n                        st.text_input(\n                            \"Train Batch Size\",\n                            value=1,\n                            help=\"Batch size (per device) for the training dataloader.\",\n                        )\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"num_train_epochs\"\n                    ] = int(\n                        st.text_input(\n                            \"Number of Steps to Train\",\n                            value=100,\n                            help=\"Number of steps to train.\",\n                        )\n                    )\n\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"max_train_steps\"\n                    ] = int(\n                        st.text_input(\n                            \"Max Number of Steps to Train\",\n                            value=5000,\n                            help=\"Total number of training steps to perform.  If provided, overrides 'Number of Steps to Train'.\",\n                        )\n                    )\n\n                    with col3:\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"gradient_accumulation_steps\"\n                        ] = int(\n                            st.text_input(\n                                \"Gradient Accumulation Steps\",\n                                value=1,\n                                help=\"Number of updates steps to accumulate before performing a backward/update pass.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"learning_rate\"\n                        ] = float(\n                            st.text_input(\n                                \"Learning Rate\",\n                                value=5.0e-04,\n                                help=\"Initial learning rate (after the potential warmup period) to use.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"scale_lr\"\n                        ] = st.checkbox(\n                            \"Scale Learning Rate\",\n                            value=True,\n                            help=\"Scale the learning rate by the number of GPUs, gradient accumulation steps, and batch size.\",\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"lr_scheduler\"\n                        ] = st.text_input(\n                            \"Learning Rate Scheduler\",\n                            value=\"constant\",\n                            help=(\n                                \"The scheduler type to use. Choose between ['linear', 'cosine', 'cosine_with_restarts', 'polynomial',\"\n                                \" 'constant', 'constant_with_warmup']\"\n                            ),\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"lr_warmup_steps\"\n                        ] = int(\n                            st.text_input(\n                                \"Learning Rate Warmup Steps\",\n                                value=500,\n                                help=\"Number of steps for the warmup in the lr scheduler.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"adam_beta1\"\n                        ] = float(\n                            st.text_input(\n                                \"Adam Beta 1\",\n                                value=0.9,\n                                help=\"The beta1 parameter for the Adam optimizer.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"adam_beta2\"\n                        ] = float(\n                            st.text_input(\n                                \"Adam Beta 2\",\n                                value=0.999,\n                                help=\"The beta2 parameter for the Adam optimizer.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"adam_weight_decay\"\n                        ] = float(\n                            st.text_input(\n                                \"Adam Weight Decay\",\n                                value=1e-2,\n                                help=\"Weight decay to use.\",\n                            )\n                        )\n\n                        st.session_state[\"textual_inversion\"][\"args\"][\n                            \"adam_epsilon\"\n                        ] = float(\n                            st.text_input(\n                                \"Adam Epsilon\",\n                                value=1e-08,\n                                help=\"Epsilon value for the Adam optimizer\",\n                            )\n                        )\n\n                        with col4:\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"mixed_precision\"\n                            ] = st.selectbox(\n                                \"Mixed Precision\",\n                                [\"no\", \"fp16\", \"bf16\"],\n                                index=1,\n                                help=\"Whether to use mixed precision. Choose\"\n                                \"between fp16 and bf16 (bfloat16). Bf16 requires PyTorch >= 1.10.\"\n                                \"and an Nvidia Ampere GPU.\",\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"local_rank\"\n                            ] = int(\n                                st.text_input(\n                                    \"Local Rank\",\n                                    value=1,\n                                    help=\"For distributed training: local_rank\",\n                                )\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"checkpoint_frequency\"\n                            ] = int(\n                                st.text_input(\n                                    \"Checkpoint Frequency\",\n                                    value=500,\n                                    help=\"How often to save a checkpoint and sample image\",\n                                )\n                            )\n\n                            # stable_sample_batches is crashing when saving the samples so for now I will disable it util its fixed.\n                            # st.session_state[\"textual_inversion\"][\"args\"][\"stable_sample_batches\"] = int(st.text_input(\"Stable Sample Batches\",  value=0,\n                            # help=\"Number of fixed seed sample batches to generate per checkpoint\"))\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"stable_sample_batches\"\n                            ] = 0\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"random_sample_batches\"\n                            ] = int(\n                                st.text_input(\n                                    \"Random Sample Batches\",\n                                    value=2,\n                                    help=\"Number of random seed sample batches to generate per checkpoint\",\n                                )\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"sample_batch_size\"\n                            ] = int(\n                                st.text_input(\n                                    \"Sample Batch Size\",\n                                    value=1,\n                                    help=\"Number of samples to generate per batch\",\n                                )\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"sample_steps\"\n                            ] = int(\n                                st.text_input(\n                                    \"Sample Steps\",\n                                    value=100,\n                                    help=\"Number of steps for sample generation. Higher values will result in more detailed samples, but longer runtimes.\",\n                                )\n                            )\n\n                            st.session_state[\"textual_inversion\"][\"args\"][\n                                \"custom_templates\"\n                            ] = st.text_input(\n                                \"Custom Templates\",\n                                value=\"\",\n                                help=\"A semicolon-delimited list of custom template to use for samples, using {} as a placeholder for the concept.\",\n                            )\n                            with col5:\n                                st.session_state[\"textual_inversion\"][\"args\"][\n                                    \"resume\"\n                                ] = st.checkbox(\n                                    label=\"Resume Previous Run?\",\n                                    value=False,\n                                    help=\"Resume previous run, if a valid resume.json file is on the output dir \\\n\t\t\t\t\t\t\t\t                                                                      it will be used, otherwise if the 'Resume From' field bellow contains a valid resume.json file \\\n\t\t\t\t\t\t\t\t                                                                      that one will be used.\",\n                                )\n\n                                st.session_state[\"textual_inversion\"][\"args\"][\n                                    \"resume_from\"\n                                ] = st.text_input(\n                                    label=\"Resume From\",\n                                    help=\"Path to a directory to resume training from (ie, logs/token_name)\",\n                                )\n\n                                # st.session_state[\"textual_inversion\"][\"args\"][\"resume_checkpoint\"] = st.file_uploader(\"Resume Checkpoint\", type=[\"bin\"],\n                                # help=\"Path to a specific checkpoint to resume training from (ie, logs/token_name/checkpoints/something.bin).\")\n\n                                # st.session_state[\"textual_inversion\"][\"args\"][\"st.session_state[\"textual_inversion\"]\"] = st.file_uploader(\"st.session_state[\"textual_inversion\"] File\",  type=[\"json\"],\n                                # help=\"Path to a JSON st.session_state[\"textual_inversion\"]uration file containing arguments for invoking this script.\"\n                                # \"If resume_from is given, its resume.json takes priority over this.\")\n            #\n            # print (os.path.join(st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],st.session_state[\"textual_inversion\"][\"args\"][\"placeholder_token\"].strip(\"<>\"),\"resume.json\"))\n            # print (os.path.exists(os.path.join(st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],st.session_state[\"textual_inversion\"][\"args\"][\"placeholder_token\"].strip(\"<>\"),\"resume.json\")))\n            if os.path.exists(\n                os.path.join(\n                    st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"placeholder_token\"\n                    ].strip(\"<>\"),\n                    \"resume.json\",\n                )\n            ):\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"resume_from\"\n                ] = os.path.join(\n                    st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"placeholder_token\"\n                    ].strip(\"<>\"),\n                )\n                # print (st.session_state[\"textual_inversion\"][\"args\"][\"resume_from\"])\n\n            if os.path.exists(\n                os.path.join(\n                    st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"placeholder_token\"\n                    ].strip(\"<>\"),\n                    \"checkpoints\",\n                    \"last.bin\",\n                )\n            ):\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"resume_checkpoint\"\n                ] = os.path.join(\n                    st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"],\n                    st.session_state[\"textual_inversion\"][\"args\"][\n                        \"placeholder_token\"\n                    ].strip(\"<>\"),\n                    \"checkpoints\",\n                    \"last.bin\",\n                )\n\n            # if \"resume_from\" in st.session_state[\"textual_inversion\"][\"args\"]:\n            # if st.session_state[\"textual_inversion\"][\"args\"][\"resume_from\"]:\n            # if os.path.exists(os.path.join(st.session_state[\"textual_inversion\"]['args']['resume_from'], \"resume.json\")):\n            # with open(os.path.join(st.session_state[\"textual_inversion\"]['args']['resume_from'], \"resume.json\"), 'rt') as f:\n            # try:\n            # resume_json = json.load(f)[\"args\"]\n            # st.session_state[\"textual_inversion\"][\"args\"] = OmegaConf.merge(st.session_state[\"textual_inversion\"][\"args\"], resume_json)\n            # st.session_state[\"textual_inversion\"][\"args\"][\"resume_from\"] = os.path.join(\n            # st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"], st.session_state[\"textual_inversion\"][\"args\"][\"placeholder_token\"].strip(\"<>\"))\n            # except json.decoder.JSONDecodeError:\n            # pass\n\n            # print(st.session_state[\"textual_inversion\"][\"args\"])\n            # print(st.session_state[\"textual_inversion\"][\"args\"]['resume_from'])\n\n            # elif st.session_state[\"textual_inversion\"][\"args\"][\"st.session_state[\"textual_inversion\"]\"] is not None:\n            # with open(st.session_state[\"textual_inversion\"][\"args\"][\"st.session_state[\"textual_inversion\"]\"], 'rt') as f:\n            # args = parser.parse_args(namespace=argparse.Namespace(**json.load(f)[\"args\"]))\n\n            env_local_rank = int(os.environ.get(\"LOCAL_RANK\", -1))\n            if (\n                env_local_rank != -1\n                and env_local_rank\n                != st.session_state[\"textual_inversion\"][\"args\"][\"local_rank\"]\n            ):\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"local_rank\"\n                ] = env_local_rank\n\n            if st.session_state[\"textual_inversion\"][\"args\"][\"train_data_dir\"] is None:\n                st.error(\"You must specify --train_data_dir\")\n\n            if (\n                st.session_state[\"textual_inversion\"][\"args\"][\n                    \"pretrained_model_name_or_path\"\n                ]\n                is None\n            ):\n                st.error(\"You must specify --pretrained_model_name_or_path\")\n\n            if (\n                st.session_state[\"textual_inversion\"][\"args\"][\"placeholder_token\"]\n                is None\n            ):\n                st.error(\"You must specify --placeholder_token\")\n\n            if (\n                st.session_state[\"textual_inversion\"][\"args\"][\"initializer_token\"]\n                is None\n            ):\n                st.error(\"You must specify --initializer_token\")\n\n            if st.session_state[\"textual_inversion\"][\"args\"][\"output_dir\"] is None:\n                st.error(\"You must specify --output_dir\")\n\n            # add a spacer and the submit button for the form.\n\n            st.session_state[\"textual_inversion\"][\"message\"] = st.empty()\n            st.session_state[\"textual_inversion\"][\"progress_bar\"] = st.empty()\n\n            st.write(\"---\")\n\n            submit = st.form_submit_button(\"Run\", help=\"\")\n            if submit:\n                if \"pipe\" in st.session_state:\n                    del st.session_state[\"pipe\"]\n                if \"model\" in st.session_state:\n                    del st.session_state[\"model\"]\n\n                set_page_title(\"Running Textual Inversion - Stable Diffusion WebUI\")\n                # st.session_state[\"textual_inversion\"][\"message\"].info(\"Textual Inversion Running. For more info check the progress on your console or the Ouput Tab.\")\n\n                try:\n                    # try:\n                    # run textual inversion.\n                    config = st.session_state[\"textual_inversion\"]\n                    textual_inversion(config)\n                    # except RuntimeError:\n                    # if \"pipeline\" in server_state[\"textual_inversion\"]:\n                    # del server_state['textual_inversion'][\"checker\"]\n                    # del server_state['textual_inversion'][\"unwrapped\"]\n                    # del server_state['textual_inversion'][\"pipeline\"]\n\n                    # run textual inversion.\n                    # config = st.session_state['textual_inversion']\n                    # textual_inversion(config)\n\n                    set_page_title(\"Textual Inversion - Stable Diffusion WebUI\")\n\n                except StopException:\n                    set_page_title(\"Textual Inversion - Stable Diffusion WebUI\")\n                    print(\"Received Streamlit StopException\")\n\n                st.session_state[\"textual_inversion\"][\"message\"].empty()\n\n        #\n        with output_tab:\n            st.info(\"Under Construction. :construction_worker:\")\n\n            # st.info(\"Nothing to show yet. Maybe try running some training first.\")\n\n            # st.session_state[\"textual_inversion\"][\"preview_image\"] = st.empty()\n            # st.session_state[\"textual_inversion\"][\"progress_bar\"] = st.empty()\n\n        with tensorboard_tab:\n            # st.info(\"Under Construction. :construction_worker:\")\n\n            # Start TensorBoard\n            st_tensorboard(\n                logdir=os.path.join(\"outputs\", \"textual_inversion\"), port=8888\n            )\n"
  },
  {
    "path": "webui/streamlit/scripts/txt2img.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\nfrom sd_utils import (\n    st,\n    MemUsageMonitor,\n    server_state,\n    no_rerun,\n    logger,\n    set_page_title,\n    custom_models_available,\n    RealESRGAN_available,\n    GFPGAN_available,\n    LDSR_available,\n)\n\n# load_models, hc, seed_to_int, \\\n# get_next_sequence_number, check_prompt_length, torch_gc, \\\n# save_sample, generation_callback, process_images, \\\n# KDiffusionSampler, \\\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\n\n# streamlit components section\n\n# from streamlit.elements import image as STImage\nimport streamlit.components.v1 as components\n\n# from streamlit.runtime.media_file_manager  import media_file_manager\nfrom streamlit.elements.image import image_to_url\n\n# other imports\n\nimport base64, uuid\nimport os, sys, datetime, time\nfrom PIL import Image\nimport requests\nfrom slugify import slugify\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom typing import Union\nfrom io import BytesIO\nfrom ldm.models.diffusion.ddim import DDIMSampler\nfrom ldm.models.diffusion.plms import PLMSSampler\n\n\n# streamlit components\nfrom custom_components import sygil_suggestions\n\n# Temp imports\n\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nsygil_suggestions.init()\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n#\n# Dev mode (server)\n# _component_func = components.declare_component(\n#         \"sd-gallery\",\n#         url=\"http://localhost:3001\",\n#     )\n\n# Init Vuejs component\n_component_func = components.declare_component(\n    \"sd-gallery\", \"./frontend/dists/sd-gallery/dist\"\n)\n\n\ndef sdGallery(images=[], key=None):\n    component_value = _component_func(images=imgsToGallery(images), key=key, default=\"\")\n    return component_value\n\n\ndef imgsToGallery(images):\n    urls = []\n    for i in images:\n        # random string for id\n        random_id = str(uuid.uuid4())\n        url = image_to_url(\n            image=i,\n            image_id=random_id,\n            width=i.width,\n            clamp=False,\n            channels=\"RGB\",\n            output_format=\"PNG\",\n        )\n        # image_io = BytesIO()\n        # i.save(image_io, 'PNG')\n        # width, height = i.size\n        # image_id = \"%s\" % (str(images.index(i)))\n        # (data, mimetype) = STImage._normalize_to_bytes(image_io.getvalue(), width, 'auto')\n        # this_file = media_file_manager.add(data, mimetype, image_id)\n        # img_str = this_file.url\n        urls.append(url)\n\n    return urls\n\n\nclass plugin_info:\n    plugname = \"txt2img\"\n    description = \"Text to Image\"\n    isTab = True\n    displayPriority = 1\n\n\n@logger.catch(reraise=True)\ndef stable_horde(\n    outpath,\n    prompt,\n    seed,\n    sampler_name,\n    save_grid,\n    batch_size,\n    n_iter,\n    steps,\n    cfg_scale,\n    width,\n    height,\n    prompt_matrix,\n    use_GFPGAN,\n    GFPGAN_model,\n    use_RealESRGAN,\n    realesrgan_model_name,\n    use_LDSR,\n    LDSR_model_name,\n    ddim_eta,\n    normalize_prompt_weights,\n    save_individual_images,\n    sort_samples,\n    write_info_files,\n    jpg_sample,\n    variant_amount,\n    variant_seed,\n    api_key,\n    nsfw=True,\n    censor_nsfw=False,\n):\n    log = []\n\n    log.append(\"Generating image with Stable Horde.\")\n\n    st.session_state[\"progress_bar_text\"].code(\"\\n\".join(log), language=\"\")\n\n    # start time after garbage collection (or before?)\n    start_time = time.time()\n\n    # We will use this date here later for the folder name, need to start_time if not need\n    datetime.datetime.now()\n\n    mem_mon = MemUsageMonitor(\"MemMon\")\n    mem_mon.start()\n\n    os.makedirs(outpath, exist_ok=True)\n\n    sample_path = os.path.join(outpath, \"samples\")\n    os.makedirs(sample_path, exist_ok=True)\n\n    params = {\n        \"sampler_name\": \"k_euler\",\n        \"toggles\": [1, 4],\n        \"cfg_scale\": cfg_scale,\n        \"seed\": str(seed),\n        \"width\": width,\n        \"height\": height,\n        \"seed_variation\": variant_seed if variant_seed else 1,\n        \"steps\": int(steps),\n        \"n\": int(n_iter)\n        # You can put extra params here if you wish\n    }\n\n    final_submit_dict = {\n        \"prompt\": prompt,\n        \"params\": params,\n        \"nsfw\": nsfw,\n        \"censor_nsfw\": censor_nsfw,\n        \"trusted_workers\": True,\n        \"workers\": [],\n    }\n    log.append(final_submit_dict)\n\n    headers = {\"apikey\": api_key}\n    logger.debug(final_submit_dict)\n    st.session_state[\"progress_bar_text\"].code(\"\\n\".join(str(log)), language=\"\")\n\n    horde_url = \"https://stablehorde.net\"\n\n    submit_req = requests.post(\n        f\"{horde_url}/api/v2/generate/async\", json=final_submit_dict, headers=headers\n    )\n    if submit_req.ok:\n        submit_results = submit_req.json()\n        logger.debug(submit_results)\n\n        log.append(submit_results)\n        st.session_state[\"progress_bar_text\"].code(\"\".join(str(log)), language=\"\")\n\n        req_id = submit_results[\"id\"]\n        is_done = False\n        while not is_done:\n            chk_req = requests.get(f\"{horde_url}/api/v2/generate/check/{req_id}\")\n            if not chk_req.ok:\n                logger.error(chk_req.text)\n                return\n            chk_results = chk_req.json()\n            logger.info(chk_results)\n            is_done = chk_results[\"done\"]\n            time.sleep(1)\n        retrieve_req = requests.get(f\"{horde_url}/api/v2/generate/status/{req_id}\")\n        if not retrieve_req.ok:\n            logger.error(retrieve_req.text)\n            return\n        results_json = retrieve_req.json()\n        # logger.debug(results_json)\n        results = results_json[\"generations\"]\n\n        output_images = []\n        comments = []\n\n        if not st.session_state[\"defaults\"].general.no_verify_input:\n            try:\n                check_prompt_length(prompt, comments)\n            except:\n                import traceback\n\n                logger.info(\"Error verifying input:\", file=sys.stderr)\n                logger.info(traceback.format_exc(), file=sys.stderr)\n\n        all_prompts = batch_size * n_iter * [prompt]\n        all_seeds = [seed + x for x in range(len(all_prompts))]\n\n        for iter in range(len(results)):\n            b64img = results[iter][\"img\"]\n            base64_bytes = b64img.encode(\"utf-8\")\n            img_bytes = base64.b64decode(base64_bytes)\n            img = Image.open(BytesIO(img_bytes))\n\n            sanitized_prompt = slugify(prompt)\n\n            prompts = all_prompts[iter * batch_size : (iter + 1) * batch_size]\n            # captions = prompt_matrix_parts[n * batch_size:(n + 1) * batch_size]\n            seeds = all_seeds[iter * batch_size : (iter + 1) * batch_size]\n\n            if sort_samples:\n                full_path = os.path.join(os.getcwd(), sample_path, sanitized_prompt)\n\n                sanitized_prompt = sanitized_prompt[: 200 - len(full_path)]\n                sample_path_i = os.path.join(sample_path, sanitized_prompt)\n\n                # print(f\"output folder length: {len(os.path.join(os.getcwd(), sample_path_i))}\")\n                # print(os.path.join(os.getcwd(), sample_path_i))\n\n                os.makedirs(sample_path_i, exist_ok=True)\n                base_count = get_next_sequence_number(sample_path_i)\n                filename = f\"{base_count:05}-{steps}_{sampler_name}_{seeds[iter]}\"\n            else:\n                full_path = os.path.join(os.getcwd(), sample_path)\n                sample_path_i = sample_path\n                base_count = get_next_sequence_number(sample_path_i)\n                filename = (\n                    f\"{base_count:05}-{steps}_{sampler_name}_{seed}_{sanitized_prompt}\"[\n                        : 200 - len(full_path)\n                    ]\n                )  # same as before\n\n            save_sample(\n                img,\n                sample_path_i,\n                filename,\n                jpg_sample,\n                prompts,\n                seeds,\n                width,\n                height,\n                steps,\n                cfg_scale,\n                normalize_prompt_weights,\n                use_GFPGAN,\n                write_info_files,\n                prompt_matrix,\n                init_img=None,\n                denoising_strength=0.75,\n                resize_mode=None,\n                uses_loopback=False,\n                uses_random_seed_loopback=False,\n                save_grid=save_grid,\n                sort_samples=sampler_name,\n                sampler_name=sampler_name,\n                ddim_eta=ddim_eta,\n                n_iter=n_iter,\n                batch_size=batch_size,\n                i=iter,\n                save_individual_images=save_individual_images,\n                model_name=\"Stable Diffusion v1.5\",\n            )\n\n            output_images.append(img)\n\n            # update image on the UI so we can see the progress\n            if \"preview_image\" in st.session_state:\n                st.session_state[\"preview_image\"].image(img)\n\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].empty()\n\n            # if len(results) > 1:\n            # final_filename = f\"{iter}_{filename}\"\n            # img.save(final_filename)\n            # logger.info(f\"Saved {final_filename}\")\n    else:\n        if \"progress_bar_text\" in st.session_state:\n            st.session_state[\"progress_bar_text\"].error(submit_req.text)\n\n        logger.error(submit_req.text)\n\n    mem_max_used, mem_total = mem_mon.read_and_stop()\n    time_diff = time.time() - start_time\n\n    info = f\"\"\"\n            {prompt}\n            Steps: {steps}, Sampler: {sampler_name}, CFG scale: {cfg_scale}, Seed: {seed}{', GFPGAN' if use_GFPGAN else ''}{', '+realesrgan_model_name if use_RealESRGAN else ''}\n            {', Prompt Matrix Mode.' if prompt_matrix else ''}\"\"\".strip()\n\n    stats = f\"\"\"\n            Took { round(time_diff, 2) }s total ({ round(time_diff/(len(all_prompts)),2) }s per image)\n            Peak memory usage: { -(mem_max_used // -1_048_576) } MiB / { -(mem_total // -1_048_576) } MiB / { round(mem_max_used/mem_total*100, 3) }%\"\"\"\n\n    for comment in comments:\n        info += \"\\n\\n\" + comment\n\n    # mem_mon.stop()\n    # del mem_mon\n    torch_gc()\n\n    return output_images, seed, info, stats\n\n\n#\n@logger.catch(reraise=True)\ndef txt2img(\n    prompt: str,\n    ddim_steps: int,\n    sampler_name: str,\n    n_iter: int,\n    batch_size: int,\n    cfg_scale: float,\n    seed: Union[int, str, None],\n    height: int,\n    width: int,\n    separate_prompts: bool = False,\n    normalize_prompt_weights: bool = True,\n    save_individual_images: bool = True,\n    save_grid: bool = True,\n    group_by_prompt: bool = True,\n    save_as_jpg: bool = True,\n    use_GFPGAN: bool = True,\n    GFPGAN_model: str = \"GFPGANv1.3\",\n    use_RealESRGAN: bool = False,\n    RealESRGAN_model: str = \"RealESRGAN_x4plus_anime_6B\",\n    use_LDSR: bool = True,\n    LDSR_model: str = \"model\",\n    fp=None,\n    variant_amount: float = 0.0,\n    variant_seed: int = None,\n    ddim_eta: float = 0.0,\n    write_info_files: bool = True,\n    use_stable_horde: bool = False,\n    stable_horde_key: str = \"0000000000\",\n):\n    outpath = st.session_state[\"defaults\"].general.outdir_txt2img\n\n    seed = seed_to_int(seed)\n\n    if not use_stable_horde:\n        if sampler_name == \"PLMS\":\n            sampler = PLMSSampler(server_state[\"model\"])\n        elif sampler_name == \"DDIM\":\n            sampler = DDIMSampler(server_state[\"model\"])\n        elif sampler_name == \"k_dpm_2_a\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"dpm_2_ancestral\")\n        elif sampler_name == \"k_dpm_2\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"dpm_2\")\n        elif sampler_name == \"k_dpmpp_2m\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"dpmpp_2m\")\n        elif sampler_name == \"k_euler_a\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"euler_ancestral\")\n        elif sampler_name == \"k_euler\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"euler\")\n        elif sampler_name == \"k_heun\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"heun\")\n        elif sampler_name == \"k_lms\":\n            sampler = KDiffusionSampler(server_state[\"model\"], \"lms\")\n        else:\n            raise Exception(\"Unknown sampler: \" + sampler_name)\n\n        def init():\n            pass\n\n        def sample(\n            init_data, x, conditioning, unconditional_conditioning, sampler_name\n        ):\n            samples_ddim, _ = sampler.sample(\n                S=ddim_steps,\n                conditioning=conditioning,\n                batch_size=int(x.shape[0]),\n                shape=x[0].shape,\n                verbose=False,\n                unconditional_guidance_scale=cfg_scale,\n                unconditional_conditioning=unconditional_conditioning,\n                eta=ddim_eta,\n                x_T=x,\n                img_callback=generation_callback\n                if not server_state[\"bridge\"]\n                else None,\n                log_every_t=int(\n                    st.session_state.update_preview_frequency\n                    if not server_state[\"bridge\"]\n                    else 100\n                ),\n            )\n\n            return samples_ddim\n\n    if use_stable_horde:\n        output_images, seed, info, stats = stable_horde(\n            prompt=prompt,\n            seed=seed,\n            outpath=outpath,\n            sampler_name=sampler_name,\n            save_grid=save_grid,\n            batch_size=batch_size,\n            n_iter=n_iter,\n            steps=ddim_steps,\n            cfg_scale=cfg_scale,\n            width=width,\n            height=height,\n            prompt_matrix=separate_prompts,\n            use_GFPGAN=use_GFPGAN,\n            GFPGAN_model=GFPGAN_model,\n            use_RealESRGAN=use_RealESRGAN,\n            realesrgan_model_name=RealESRGAN_model,\n            use_LDSR=use_LDSR,\n            LDSR_model_name=LDSR_model,\n            ddim_eta=ddim_eta,\n            normalize_prompt_weights=normalize_prompt_weights,\n            save_individual_images=save_individual_images,\n            sort_samples=group_by_prompt,\n            write_info_files=write_info_files,\n            jpg_sample=save_as_jpg,\n            variant_amount=variant_amount,\n            variant_seed=variant_seed,\n            api_key=stable_horde_key,\n        )\n    else:\n        # try:\n        output_images, seed, info, stats = process_images(\n            outpath=outpath,\n            func_init=init,\n            func_sample=sample,\n            prompt=prompt,\n            seed=seed,\n            sampler_name=sampler_name,\n            save_grid=save_grid,\n            batch_size=batch_size,\n            n_iter=n_iter,\n            steps=ddim_steps,\n            cfg_scale=cfg_scale,\n            width=width,\n            height=height,\n            prompt_matrix=separate_prompts,\n            use_GFPGAN=use_GFPGAN,\n            GFPGAN_model=GFPGAN_model,\n            use_RealESRGAN=use_RealESRGAN,\n            realesrgan_model_name=RealESRGAN_model,\n            use_LDSR=use_LDSR,\n            LDSR_model_name=LDSR_model,\n            ddim_eta=ddim_eta,\n            normalize_prompt_weights=normalize_prompt_weights,\n            save_individual_images=save_individual_images,\n            sort_samples=group_by_prompt,\n            write_info_files=write_info_files,\n            jpg_sample=save_as_jpg,\n            variant_amount=variant_amount,\n            variant_seed=variant_seed,\n        )\n\n        del sampler\n\n    return output_images, seed, info, stats\n\n    # except RuntimeError as e:\n    # err = e\n    # err_msg = f'CRASHED:<br><textarea rows=\"5\" style=\"color:white;background: black;width: -webkit-fill-available;font-family: monospace;font-size: small;font-weight: bold;\">{str(e)}</textarea><br><br>Please wait while the program restarts.'\n    # stats = err_msg\n    # return [], seed, 'err', stats\n\n\n#\n@logger.catch(reraise=True)\ndef layout():\n    with st.form(\"txt2img-inputs\"):\n        st.session_state[\"generation_mode\"] = \"txt2img\"\n\n        input_col1, generate_col1 = st.columns([10, 1])\n\n        with input_col1:\n            # prompt = st.text_area(\"Input Text\",\"\")\n            placeholder = \"A corgi wearing a top hat as an oil painting.\"\n            prompt = st.text_area(\"Input Text\", \"\", placeholder=placeholder, height=54)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].general.enable_suggestions:\n                    sygil_suggestions.suggestion_area(placeholder)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].admin.global_negative_prompt:\n                    prompt += f\"### {st.session_state['defaults'].admin.global_negative_prompt}\"\n\n            # print(prompt)\n\n        # creating the page layout using columns\n        col1, col2, col3 = st.columns([2, 5, 2], gap=\"large\")\n\n        with col1:\n            width = st.slider(\n                \"Width:\",\n                min_value=st.session_state[\"defaults\"].txt2img.width.min_value,\n                max_value=st.session_state[\"defaults\"].txt2img.width.max_value,\n                value=st.session_state[\"defaults\"].txt2img.width.value,\n                step=st.session_state[\"defaults\"].txt2img.width.step,\n            )\n            height = st.slider(\n                \"Height:\",\n                min_value=st.session_state[\"defaults\"].txt2img.height.min_value,\n                max_value=st.session_state[\"defaults\"].txt2img.height.max_value,\n                value=st.session_state[\"defaults\"].txt2img.height.value,\n                step=st.session_state[\"defaults\"].txt2img.height.step,\n            )\n            cfg_scale = st.number_input(\n                \"CFG (Classifier Free Guidance Scale):\",\n                min_value=st.session_state[\"defaults\"].txt2img.cfg_scale.min_value,\n                value=st.session_state[\"defaults\"].txt2img.cfg_scale.value,\n                step=st.session_state[\"defaults\"].txt2img.cfg_scale.step,\n                help=\"How strongly the image should follow the prompt.\",\n            )\n\n            seed = st.text_input(\n                \"Seed:\",\n                value=st.session_state[\"defaults\"].txt2img.seed,\n                help=\" The seed to use, if left blank a random seed will be generated.\",\n            )\n\n            with st.expander(\"Batch Options\"):\n                # batch_count = st.slider(\"Batch count.\", min_value=st.session_state['defaults'].txt2img.batch_count.min_value, max_value=st.session_state['defaults'].txt2img.batch_count.max_value,\n                # value=st.session_state['defaults'].txt2img.batch_count.value, step=st.session_state['defaults'].txt2img.batch_count.step,\n                # help=\"How many iterations or batches of images to generate in total.\")\n\n                # batch_size = st.slider(\"Batch size\", min_value=st.session_state['defaults'].txt2img.batch_size.min_value, max_value=st.session_state['defaults'].txt2img.batch_size.max_value,\n                # value=st.session_state.defaults.txt2img.batch_size.value, step=st.session_state.defaults.txt2img.batch_size.step,\n                # help=\"How many images are at once in a batch.\\\n                # It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it takes to finish generation as more images are generated at once.\\\n                # Default: 1\")\n\n                st.session_state[\"batch_count\"] = st.number_input(\n                    \"Batch count.\",\n                    value=st.session_state[\"defaults\"].txt2img.batch_count.value,\n                    help=\"How many iterations or batches of images to generate in total.\",\n                )\n\n                st.session_state[\"batch_size\"] = st.number_input(\n                    \"Batch size\",\n                    value=st.session_state.defaults.txt2img.batch_size.value,\n                    help=\"How many images are at once in a batch.\\\n                                                                   It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it takes \\\n                                                                   to finish generation as more images are generated at once.\\\n                                                                   Default: 1\",\n                )\n\n            with st.expander(\"Preview Settings\"):\n                st.session_state[\"update_preview\"] = st.session_state[\n                    \"defaults\"\n                ].general.update_preview\n                st.session_state[\"update_preview_frequency\"] = st.number_input(\n                    \"Update Image Preview Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].txt2img.update_preview_frequency,\n                    help=\"Frequency in steps at which the the preview image is updated. By default the frequency \\\n                                                                               is set to 10 step.\",\n                )\n\n        with col2:\n            preview_tab, gallery_tab = st.tabs([\"Preview\", \"Gallery\"])\n\n            with preview_tab:\n                # st.write(\"Image\")\n                # Image for testing\n                # image = Image.open(requests.get(\"https://icon-library.com/images/image-placeholder-icon/image-placeholder-icon-13.jpg\", stream=True).raw).convert('RGB')\n                # new_image = image.resize((175, 240))\n                # preview_image = st.image(image)\n\n                # create an empty container for the image, progress bar, etc so we can update it later and use session_state to hold them globally.\n                st.session_state[\"preview_image\"] = st.empty()\n\n                st.session_state[\"progress_bar_text\"] = st.empty()\n                st.session_state[\"progress_bar_text\"].info(\n                    \"Nothing but crickets here, try generating something first.\"\n                )\n\n                st.session_state[\"progress_bar\"] = st.empty()\n\n                message = st.empty()\n\n            with gallery_tab:\n                st.session_state[\"gallery\"] = st.empty()\n                # st.session_state[\"gallery\"].info(\"Nothing but crickets here, try generating something first.\")\n\n        with col3:\n            # If we have custom models available on the \"models/custom\"\n            # folder then we show a menu to select which model we want to use, otherwise we use the main model for SD\n            custom_models_available()\n\n            if server_state[\"CustomModel_available\"]:\n                st.session_state[\"custom_model\"] = st.selectbox(\n                    \"Custom Model:\",\n                    server_state[\"custom_models\"],\n                    index=server_state[\"custom_models\"].index(\n                        st.session_state[\"defaults\"].general.default_model\n                    ),\n                    help=\"Select the model you want to use. This option is only available if you have custom models \\\n                                                                on your 'models/custom' folder. The model name that will be shown here is the same as the name\\\n                                                                the file for the model has on said folder, it is recommended to give the .ckpt file a name that \\\n                                                                will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.5\",\n                )\n\n            st.session_state.sampling_steps = st.number_input(\n                \"Sampling Steps\",\n                value=st.session_state.defaults.txt2img.sampling_steps.value,\n                min_value=st.session_state.defaults.txt2img.sampling_steps.min_value,\n                step=st.session_state[\"defaults\"].txt2img.sampling_steps.step,\n                help=\"Set the default number of sampling steps to use. Default is: 30 (with k_euler)\",\n            )\n\n            sampler_name_list = [\n                \"k_lms\",\n                \"k_euler\",\n                \"k_euler_a\",\n                \"k_dpm_2\",\n                \"k_dpm_2_a\",\n                \"k_dpmpp_2m\",\n                \"k_heun\",\n                \"PLMS\",\n                \"DDIM\",\n            ]\n            sampler_name = st.selectbox(\n                \"Sampling method\",\n                sampler_name_list,\n                index=sampler_name_list.index(\n                    st.session_state[\"defaults\"].txt2img.default_sampler\n                ),\n                help=\"Sampling method to use. Default: k_euler\",\n            )\n\n            with st.expander(\"Advanced\"):\n                with st.expander(\"Stable Horde\"):\n                    use_stable_horde = st.checkbox(\n                        \"Use Stable Horde\",\n                        value=False,\n                        help=\"Use the Stable Horde to generate images. More info can be found at https://stablehorde.net/\",\n                    )\n                    stable_horde_key = st.text_input(\n                        \"Stable Horde Api Key\",\n                        value=st.session_state[\"defaults\"].general.stable_horde_api,\n                        type=\"password\",\n                        help=\"Optional Api Key used for the Stable Horde Bridge, if no api key is added the horde will be used anonymously.\",\n                    )\n\n                with st.expander(\"Output Settings\"):\n                    separate_prompts = st.checkbox(\n                        \"Create Prompt Matrix.\",\n                        value=st.session_state[\"defaults\"].txt2img.separate_prompts,\n                        help=\"Separate multiple prompts using the `|` character, and get all combinations of them.\",\n                    )\n\n                    normalize_prompt_weights = st.checkbox(\n                        \"Normalize Prompt Weights.\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.normalize_prompt_weights,\n                        help=\"Ensure the sum of all weights add up to 1.0\",\n                    )\n\n                    save_individual_images = st.checkbox(\n                        \"Save individual images.\",\n                        value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.save_individual_images,\n                        help=\"Save each image generated before any filter or enhancement is applied.\",\n                    )\n\n                    save_grid = st.checkbox(\n                        \"Save grid\",\n                        value=st.session_state[\"defaults\"].txt2img.save_grid,\n                        help=\"Save a grid with all the images generated into a single image.\",\n                    )\n                    group_by_prompt = st.checkbox(\n                        \"Group results by prompt\",\n                        value=st.session_state[\"defaults\"].txt2img.group_by_prompt,\n                        help=\"Saves all the images with the same prompt into the same folder. When using a prompt matrix each prompt combination will have its own folder.\",\n                    )\n\n                    write_info_files = st.checkbox(\n                        \"Write Info file\",\n                        value=st.session_state[\"defaults\"].txt2img.write_info_files,\n                        help=\"Save a file next to the image with informartion about the generation.\",\n                    )\n\n                    save_as_jpg = st.checkbox(\n                        \"Save samples as jpg\",\n                        value=st.session_state[\"defaults\"].txt2img.save_as_jpg,\n                        help=\"Saves the images as jpg instead of png.\",\n                    )\n\n                # check if GFPGAN, RealESRGAN and LDSR are available.\n                # if \"GFPGAN_available\" not in st.session_state:\n                GFPGAN_available()\n\n                # if \"RealESRGAN_available\" not in st.session_state:\n                RealESRGAN_available()\n\n                # if \"LDSR_available\" not in st.session_state:\n                LDSR_available()\n\n                if (\n                    st.session_state[\"GFPGAN_available\"]\n                    or st.session_state[\"RealESRGAN_available\"]\n                    or st.session_state[\"LDSR_available\"]\n                ):\n                    with st.expander(\"Post-Processing\"):\n                        face_restoration_tab, upscaling_tab = st.tabs(\n                            [\"Face Restoration\", \"Upscaling\"]\n                        )\n                        with face_restoration_tab:\n                            # GFPGAN used for face restoration\n                            if st.session_state[\"GFPGAN_available\"]:\n                                # with st.expander(\"Face Restoration\"):\n                                # if st.session_state[\"GFPGAN_available\"]:\n                                # with st.expander(\"GFPGAN\"):\n                                st.session_state[\"use_GFPGAN\"] = st.checkbox(\n                                    \"Use GFPGAN\",\n                                    value=st.session_state[\n                                        \"defaults\"\n                                    ].txt2img.use_GFPGAN,\n                                    help=\"Uses the GFPGAN model to improve faces after the generation.\\\n                                                                                 This greatly improve the quality and consistency of faces but uses\\\n                                                                                 extra VRAM. Disable if you need the extra VRAM.\",\n                                )\n\n                                st.session_state[\"GFPGAN_model\"] = st.selectbox(\n                                    \"GFPGAN model\",\n                                    st.session_state[\"GFPGAN_models\"],\n                                    index=st.session_state[\"GFPGAN_models\"].index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.GFPGAN_model\n                                    ),\n                                )\n\n                            # st.session_state[\"GFPGAN_strenght\"] = st.slider(\"Effect Strenght\", min_value=1, max_value=100, value=1, step=1, help='')\n\n                            else:\n                                st.session_state[\"use_GFPGAN\"] = False\n\n                        with upscaling_tab:\n                            st.session_state[\"use_upscaling\"] = st.checkbox(\n                                \"Use Upscaling\",\n                                value=st.session_state[\n                                    \"defaults\"\n                                ].txt2img.use_upscaling,\n                            )\n\n                            # RealESRGAN and LDSR used for upscaling.\n                            if (\n                                st.session_state[\"RealESRGAN_available\"]\n                                or st.session_state[\"LDSR_available\"]\n                            ):\n                                upscaling_method_list = []\n                                if st.session_state[\"RealESRGAN_available\"]:\n                                    upscaling_method_list.append(\"RealESRGAN\")\n                                if st.session_state[\"LDSR_available\"]:\n                                    upscaling_method_list.append(\"LDSR\")\n\n                                # print (st.session_state[\"RealESRGAN_available\"])\n                                st.session_state[\"upscaling_method\"] = st.selectbox(\n                                    \"Upscaling Method\",\n                                    upscaling_method_list,\n                                    index=upscaling_method_list.index(\n                                        st.session_state[\n                                            \"defaults\"\n                                        ].general.upscaling_method\n                                    )\n                                    if st.session_state[\n                                        \"defaults\"\n                                    ].general.upscaling_method\n                                    in upscaling_method_list\n                                    else 0,\n                                )\n\n                                if st.session_state[\"RealESRGAN_available\"]:\n                                    with st.expander(\"RealESRGAN\"):\n                                        if (\n                                            st.session_state[\"upscaling_method\"]\n                                            == \"RealESRGAN\"\n                                            and st.session_state[\"use_upscaling\"]\n                                        ):\n                                            st.session_state[\"use_RealESRGAN\"] = True\n                                        else:\n                                            st.session_state[\"use_RealESRGAN\"] = False\n\n                                        st.session_state[\n                                            \"RealESRGAN_model\"\n                                        ] = st.selectbox(\n                                            \"RealESRGAN model\",\n                                            st.session_state[\"RealESRGAN_models\"],\n                                            index=st.session_state[\n                                                \"RealESRGAN_models\"\n                                            ].index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].general.RealESRGAN_model\n                                            ),\n                                        )\n                                else:\n                                    st.session_state[\"use_RealESRGAN\"] = False\n                                    st.session_state[\n                                        \"RealESRGAN_model\"\n                                    ] = \"RealESRGAN_x4plus\"\n\n                                #\n                                if st.session_state[\"LDSR_available\"]:\n                                    with st.expander(\"LDSR\"):\n                                        if (\n                                            st.session_state[\"upscaling_method\"]\n                                            == \"LDSR\"\n                                            and st.session_state[\"use_upscaling\"]\n                                        ):\n                                            st.session_state[\"use_LDSR\"] = True\n                                        else:\n                                            st.session_state[\"use_LDSR\"] = False\n\n                                        st.session_state[\"LDSR_model\"] = st.selectbox(\n                                            \"LDSR model\",\n                                            st.session_state[\"LDSR_models\"],\n                                            index=st.session_state[\"LDSR_models\"].index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].general.LDSR_model\n                                            ),\n                                        )\n\n                                        st.session_state[\n                                            \"ldsr_sampling_steps\"\n                                        ] = st.number_input(\n                                            \"Sampling Steps\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].txt2img.LDSR_config.sampling_steps,\n                                            help=\"\",\n                                        )\n\n                                        st.session_state[\n                                            \"preDownScale\"\n                                        ] = st.number_input(\n                                            \"PreDownScale\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].txt2img.LDSR_config.preDownScale,\n                                            help=\"\",\n                                        )\n\n                                        st.session_state[\n                                            \"postDownScale\"\n                                        ] = st.number_input(\n                                            \"postDownScale\",\n                                            value=st.session_state[\n                                                \"defaults\"\n                                            ].txt2img.LDSR_config.postDownScale,\n                                            help=\"\",\n                                        )\n\n                                        downsample_method_list = [\"Nearest\", \"Lanczos\"]\n                                        st.session_state[\n                                            \"downsample_method\"\n                                        ] = st.selectbox(\n                                            \"Downsample Method\",\n                                            downsample_method_list,\n                                            index=downsample_method_list.index(\n                                                st.session_state[\n                                                    \"defaults\"\n                                                ].txt2img.LDSR_config.downsample_method\n                                            ),\n                                        )\n\n                                else:\n                                    st.session_state[\"use_LDSR\"] = False\n                                    st.session_state[\"LDSR_model\"] = \"model\"\n\n                with st.expander(\"Variant\"):\n                    variant_amount = st.slider(\n                        \"Variant Amount:\",\n                        value=st.session_state[\"defaults\"].txt2img.variant_amount.value,\n                        min_value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.variant_amount.min_value,\n                        max_value=st.session_state[\n                            \"defaults\"\n                        ].txt2img.variant_amount.max_value,\n                        step=st.session_state[\"defaults\"].txt2img.variant_amount.step,\n                    )\n                    variant_seed = st.text_input(\n                        \"Variant Seed:\",\n                        value=st.session_state[\"defaults\"].txt2img.seed,\n                        help=\"The seed to use when generating a variant, if left blank a random seed will be generated.\",\n                    )\n\n            # galleryCont = st.empty()\n\n        # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n        generate_col1.write(\"\")\n        generate_col1.write(\"\")\n        generate_button = generate_col1.form_submit_button(\"Generate\")\n\n        #\n        if generate_button:\n            with col2:\n                with no_rerun:\n                    if not use_stable_horde:\n                        with hc.HyLoader(\n                            \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n                        ):\n                            load_models(\n                                use_LDSR=st.session_state[\"use_LDSR\"],\n                                LDSR_model=st.session_state[\"LDSR_model\"],\n                                use_GFPGAN=st.session_state[\"use_GFPGAN\"],\n                                GFPGAN_model=st.session_state[\"GFPGAN_model\"],\n                                use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                                RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                                CustomModel_available=server_state[\n                                    \"CustomModel_available\"\n                                ],\n                                custom_model=st.session_state[\"custom_model\"],\n                            )\n\n                # print(st.session_state['use_RealESRGAN'])\n                # print(st.session_state['use_LDSR'])\n                try:\n                    output_images, seeds, info, stats = txt2img(\n                        prompt,\n                        st.session_state.sampling_steps,\n                        sampler_name,\n                        st.session_state[\"batch_count\"],\n                        st.session_state[\"batch_size\"],\n                        cfg_scale,\n                        seed,\n                        height,\n                        width,\n                        separate_prompts,\n                        normalize_prompt_weights,\n                        save_individual_images,\n                        save_grid,\n                        group_by_prompt,\n                        save_as_jpg,\n                        st.session_state[\"use_GFPGAN\"],\n                        st.session_state[\"GFPGAN_model\"],\n                        use_RealESRGAN=st.session_state[\"use_RealESRGAN\"],\n                        RealESRGAN_model=st.session_state[\"RealESRGAN_model\"],\n                        use_LDSR=st.session_state[\"use_LDSR\"],\n                        LDSR_model=st.session_state[\"LDSR_model\"],\n                        variant_amount=variant_amount,\n                        variant_seed=variant_seed,\n                        write_info_files=write_info_files,\n                        use_stable_horde=use_stable_horde,\n                        stable_horde_key=stable_horde_key,\n                    )\n\n                    message.success(\n                        \"Render Complete: \" + info + \"; Stats: \" + stats, icon=\"✅\"\n                    )\n\n                    with gallery_tab:\n                        logger.info(seeds)\n                        st.session_state[\"gallery\"].text = \"\"\n                        sdGallery(output_images)\n\n                except (\n                    StopException,\n                    # KeyError\n                ):\n                    print(\"Received Streamlit StopException\")\n\n                    # reset the page title so the percent doesnt stay on it confusing the user.\n                    set_page_title(\"Stable Diffusion Playground\")\n\n                    # this will render all the images at the end of the generation but its better if its moved to a second tab inside col2 and shown as a gallery.\n                    # use the current col2 first tab to show the preview_img and update it as its generated.\n                    # preview_image.image(output_images)\n"
  },
  {
    "path": "webui/streamlit/scripts/txt2vid.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# base webui import and utils.\n\n\"\"\"\nImplementation of Text to Video based on the\nhttps://github.com/nateraw/stable-diffusion-videos\nrepo and the original gist script from\nhttps://gist.github.com/karpathy/00103b0037c5aaea32fe1da1af553355\n\"\"\"\nfrom sd_utils import (\n    st,\n    MemUsageMonitor,\n    server_state,\n    no_rerun,\n    custom_models_available,\n    RealESRGAN_available,\n    GFPGAN_available,\n    LDSR_available,\n    hc,\n    logger,\n)\n\n# seed_to_int, logger, slerp, optimize_update_preview_frequency, \\\n# load_learned_embed_in_clip, load_GFPGAN, RealESRGANModel, set_page_title\n\n\n# streamlit imports\nfrom streamlit.runtime.scriptrunner import StopException\n\n# from streamlit.elements import image as STImage\n\n# streamlit components section\nfrom streamlit_server_state import server_state, server_state_lock\n\n# from streamlitextras.threader import lock, trigger_rerun, \\\n# streamlit_thread, get_thread, \\\n# last_trigger_time\n\n# other imports\n\nimport os, sys, json, re, random, datetime, time, warnings, mimetypes\nfrom PIL import Image\nimport torch\nimport numpy as np\nimport time, inspect, timeit\nimport torch\nfrom torch import autocast\n\n# from io import BytesIO\nimport imageio\nfrom slugify import slugify\n\nfrom diffusers import StableDiffusionPipeline, DiffusionPipeline\n\n# from stable_diffusion_videos import StableDiffusionWalkPipeline\n\nfrom diffusers.schedulers import (\n    DDIMScheduler,\n    LMSDiscreteScheduler,\n    PNDMScheduler,\n    DDPMScheduler,\n)\n\nfrom diffusers.configuration_utils import FrozenDict\nfrom diffusers.models import AutoencoderKL, UNet2DConditionModel\nfrom diffusers.pipelines.stable_diffusion.safety_checker import (\n    StableDiffusionSafetyChecker,\n)\nfrom diffusers.utils import deprecate\nfrom diffusers.pipelines.stable_diffusion import StableDiffusionPipelineOutput\nfrom transformers import CLIPFeatureExtractor, CLIPTextModel, CLIPTokenizer\nfrom typing import Callable, List, Optional, Union\nfrom pathlib import Path\nfrom torchvision.transforms.functional import pil_to_tensor\nfrom torchvision import transforms\nimport librosa\nfrom PIL import Image\nfrom torchvision.io import write_video\nfrom torchvision import transforms\nimport torch.nn as nn\nfrom uuid import uuid4\n\n\n# streamlit components\nfrom custom_components import sygil_suggestions\n\n# Temp imports\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nsygil_suggestions.init()\n\ntry:\n    # this silences the annoying \"Some weights of the model checkpoint were not used when initializing...\" message at start.\n    from transformers import logging\n\n    logging.set_verbosity_error()\nexcept:\n    pass\n\n# remove some annoying deprecation warnings that show every now and then.\nwarnings.filterwarnings(\"ignore\", category=DeprecationWarning)\nwarnings.filterwarnings(\"ignore\", category=UserWarning)\n\n# this is a fix for Windows users. Without it, javascript files will be served with text/html content-type and the bowser will not show any UI\nmimetypes.init()\nmimetypes.add_type(\"application/javascript\", \".js\")\n\n\nclass plugin_info:\n    plugname = \"txt2vid\"\n    description = \"Text to Image\"\n    isTab = True\n    displayPriority = 1\n\n\n#\n# -----------------------------------------------------------------------------\n\n\ndef txt2vid_generation_callback(step: int, timestep: int, latents: torch.FloatTensor):\n    # print (\"test\")\n    # scale and decode the image latents with vae\n    cond_latents_2 = 1 / 0.18215 * latents\n    image = server_state[\"pipe\"].vae.decode(cond_latents_2)\n\n    # generate output numpy image as uint8\n    image = torch.clamp((image[\"sample\"] + 1.0) / 2.0, min=0.0, max=1.0)\n    image2 = transforms.ToPILImage()(image.squeeze_(0))\n\n    st.session_state[\"preview_image\"].image(image2)\n\n\ndef get_timesteps_arr(audio_filepath, offset, duration, fps=30, margin=1.0, smooth=0.0):\n    y, sr = librosa.load(audio_filepath, offset=offset, duration=duration)\n\n    # librosa.stft hardcoded defaults...\n    # n_fft defaults to 2048\n    # hop length is win_length // 4\n    # win_length defaults to n_fft\n    D = librosa.stft(y, n_fft=2048, hop_length=2048 // 4, win_length=2048)\n\n    # Extract percussive elements\n    D_harmonic, D_percussive = librosa.decompose.hpss(D, margin=margin)\n    y_percussive = librosa.istft(D_percussive, length=len(y))\n\n    # Get normalized melspectrogram\n    spec_raw = librosa.feature.melspectrogram(y=y_percussive, sr=sr)\n    spec_max = np.amax(spec_raw, axis=0)\n    spec_norm = (spec_max - np.min(spec_max)) / np.ptp(spec_max)\n\n    # Resize cumsum of spec norm to our desired number of interpolation frames\n    x_norm = np.linspace(0, spec_norm.shape[-1], spec_norm.shape[-1])\n    y_norm = np.cumsum(spec_norm)\n    y_norm /= y_norm[-1]\n    x_resize = np.linspace(0, y_norm.shape[-1], int(duration * fps))\n\n    T = np.interp(x_resize, x_norm, y_norm)\n\n    # Apply smoothing\n    return T * (1 - smooth) + np.linspace(0.0, 1.0, T.shape[0]) * smooth\n\n\n#\ndef make_video_pyav(\n    frames_or_frame_dir: Union[str, Path, torch.Tensor],\n    audio_filepath: Union[str, Path] = None,\n    fps: int = 30,\n    audio_offset: int = 0,\n    audio_duration: int = 2,\n    sr: int = 22050,\n    output_filepath: Union[str, Path] = \"output.mp4\",\n    glob_pattern: str = \"*.png\",\n):\n    \"\"\"\n    TODO - docstring here\n\n    frames_or_frame_dir: (Union[str, Path, torch.Tensor]):\n        Either a directory of images, or a tensor of shape (T, C, H, W) in range [0, 255].\n    \"\"\"\n\n    # Torchvision write_video doesn't support pathlib paths\n    output_filepath = str(output_filepath)\n\n    if isinstance(frames_or_frame_dir, (str, Path)):\n        frames = None\n        for img in sorted(Path(frames_or_frame_dir).glob(glob_pattern)):\n            frame = pil_to_tensor(Image.open(img)).unsqueeze(0)\n            frames = frame if frames is None else torch.cat([frames, frame])\n    else:\n        frames = frames_or_frame_dir\n\n    # TCHW -> THWC\n    frames = frames.permute(0, 2, 3, 1)\n\n    if audio_filepath:\n        # Read audio, convert to tensor\n        audio, sr = librosa.load(\n            audio_filepath,\n            sr=sr,\n            mono=True,\n            offset=audio_offset,\n            duration=audio_duration,\n        )\n        audio_tensor = torch.tensor(audio).unsqueeze(0)\n\n        write_video(\n            output_filepath,\n            frames,\n            fps=fps,\n            audio_array=audio_tensor,\n            audio_fps=sr,\n            audio_codec=\"aac\",\n            options={\"crf\": \"10\", \"pix_fmt\": \"yuv420p\"},\n        )\n    else:\n        write_video(\n            output_filepath,\n            frames,\n            fps=fps,\n            options={\"crf\": \"10\", \"pix_fmt\": \"yuv420p\"},\n        )\n\n    return output_filepath\n\n\nclass StableDiffusionWalkPipeline(DiffusionPipeline):\n    r\"\"\"\n    Pipeline for generating videos by interpolating  Stable Diffusion's latent space.\n    This model inherits from [`DiffusionPipeline`]. Check the superclass documentation for the generic methods the\n    library implements for all the pipelines (such as downloading or saving, running on a particular device, etc.)\n    Args:\n        vae ([`AutoencoderKL`]):\n            Variational Auto-Encoder (VAE) Model to encode and decode images to and from latent representations.\n        text_encoder ([`CLIPTextModel`]):\n            Frozen text-encoder. Stable Diffusion uses the text portion of\n            [CLIP](https://huggingface.co/docs/transformers/model_doc/clip#transformers.CLIPTextModel), specifically\n            the [clip-vit-large-patch14](https://huggingface.co/openai/clip-vit-large-patch14) variant.\n        tokenizer (`CLIPTokenizer`):\n            Tokenizer of class\n            [CLIPTokenizer](https://huggingface.co/docs/transformers/v4.21.0/en/model_doc/clip#transformers.CLIPTokenizer).\n        unet ([`UNet2DConditionModel`]): Conditional U-Net architecture to denoise the encoded image latents.\n        scheduler ([`SchedulerMixin`]):\n            A scheduler to be used in combination with `unet` to denoise the encoded image latens. Can be one of\n            [`DDIMScheduler`], [`LMSDiscreteScheduler`], or [`PNDMScheduler`].\n        safety_checker ([`StableDiffusionSafetyChecker`]):\n            Classification module that estimates whether generated images could be considered offensive or harmful.\n            Please, refer to the [model card](https://huggingface.co/CompVis/stable-diffusion-v1-4) for details.\n        feature_extractor ([`CLIPFeatureExtractor`]):\n            Model that extracts features from generated images to be used as inputs for the `safety_checker`.\n    \"\"\"\n\n    def __init__(\n        self,\n        vae: AutoencoderKL,\n        text_encoder: CLIPTextModel,\n        tokenizer: CLIPTokenizer,\n        unet: UNet2DConditionModel,\n        scheduler: Union[DDIMScheduler, PNDMScheduler, LMSDiscreteScheduler],\n        safety_checker: StableDiffusionSafetyChecker,\n        feature_extractor: CLIPFeatureExtractor,\n    ):\n        super().__init__()\n\n        if (\n            hasattr(scheduler.config, \"steps_offset\")\n            and scheduler.config.steps_offset != 1\n        ):\n            deprecation_message = (\n                f\"The configuration file of this scheduler: {scheduler} is outdated. `steps_offset`\"\n                f\" should be set to 1 instead of {scheduler.config.steps_offset}. Please make sure \"\n                \"to update the config accordingly as leaving `steps_offset` might led to incorrect results\"\n                \" in future versions. If you have downloaded this checkpoint from the Hugging Face Hub,\"\n                \" it would be very nice if you could open a Pull request for the `scheduler/scheduler_config.json`\"\n                \" file\"\n            )\n            deprecate(\n                \"steps_offset!=1\", \"1.0.0\", deprecation_message, standard_warn=False\n            )\n            new_config = dict(scheduler.config)\n            new_config[\"steps_offset\"] = 1\n            scheduler._internal_dict = FrozenDict(new_config)\n\n        self.register_modules(\n            vae=vae,\n            text_encoder=text_encoder,\n            tokenizer=tokenizer,\n            unet=unet,\n            scheduler=scheduler,\n            safety_checker=safety_checker,\n            feature_extractor=feature_extractor,\n        )\n\n    def enable_attention_slicing(self, slice_size: Optional[Union[str, int]] = \"auto\"):\n        r\"\"\"\n        Enable sliced attention computation.\n        When this option is enabled, the attention module will split the input tensor in slices, to compute attention\n        in several steps. This is useful to save some memory in exchange for a small speed decrease.\n        Args:\n            slice_size (`str` or `int`, *optional*, defaults to `\"auto\"`):\n                When `\"auto\"`, halves the input to the attention heads, so attention will be computed in two steps. If\n                a number is provided, uses as many slices as `attention_head_dim // slice_size`. In this case,\n                `attention_head_dim` must be a multiple of `slice_size`.\n        \"\"\"\n        if slice_size == \"auto\":\n            # half the attention head size is usually a good trade-off between\n            # speed and memory\n            slice_size = self.unet.config.attention_head_dim // 2\n        self.unet.set_attention_slice(slice_size)\n\n    def disable_attention_slicing(self):\n        r\"\"\"\n        Disable sliced attention computation. If `enable_attention_slicing` was previously invoked, this method will go\n        back to computing attention in one step.\n        \"\"\"\n        # set slice_size = `None` to disable `attention slicing`\n        self.enable_attention_slicing(None)\n\n    @torch.no_grad()\n    def __call__(\n        self,\n        prompt: Optional[Union[str, List[str]]] = None,\n        height: int = 512,\n        width: int = 512,\n        num_inference_steps: int = 50,\n        guidance_scale: float = 7.5,\n        negative_prompt: Optional[Union[str, List[str]]] = None,\n        num_images_per_prompt: Optional[int] = 1,\n        eta: float = 0.0,\n        generator: Optional[torch.Generator] = None,\n        latents: Optional[torch.FloatTensor] = None,\n        output_type: Optional[str] = \"pil\",\n        return_dict: bool = True,\n        callback: Optional[Callable[[int, int, torch.FloatTensor], None]] = None,\n        callback_steps: Optional[int] = 1,\n        text_embeddings: Optional[torch.FloatTensor] = None,\n        **kwargs,\n    ):\n        r\"\"\"\n        Function invoked when calling the pipeline for generation.\n        Args:\n            prompt (`str` or `List[str]`, *optional*, defaults to `None`):\n                The prompt or prompts to guide the image generation. If not provided, `text_embeddings` is required.\n            height (`int`, *optional*, defaults to 512):\n                The height in pixels of the generated image.\n            width (`int`, *optional*, defaults to 512):\n                The width in pixels of the generated image.\n            num_inference_steps (`int`, *optional*, defaults to 50):\n                The number of denoising steps. More denoising steps usually lead to a higher quality image at the\n                expense of slower inference.\n            guidance_scale (`float`, *optional*, defaults to 7.5):\n                Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).\n                `guidance_scale` is defined as `w` of equation 2. of [Imagen\n                Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale >\n                1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`,\n                usually at the expense of lower image quality.\n            negative_prompt (`str` or `List[str]`, *optional*):\n                The prompt or prompts not to guide the image generation. Ignored when not using guidance (i.e., ignored\n                if `guidance_scale` is less than `1`).\n            num_images_per_prompt (`int`, *optional*, defaults to 1):\n                The number of images to generate per prompt.\n            eta (`float`, *optional*, defaults to 0.0):\n                Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to\n                [`schedulers.DDIMScheduler`], will be ignored for others.\n            generator (`torch.Generator`, *optional*):\n                A [torch generator](https://pytorch.org/docs/stable/generated/torch.Generator.html) to make generation\n                deterministic.\n            latents (`torch.FloatTensor`, *optional*):\n                Pre-generated noisy latents, sampled from a Gaussian distribution, to be used as inputs for image\n                generation. Can be used to tweak the same generation with different prompts. If not provided, a latents\n                tensor will ge generated by sampling using the supplied random `generator`.\n            output_type (`str`, *optional*, defaults to `\"pil\"`):\n                The output format of the generate image. Choose between\n                [PIL](https://pillow.readthedocs.io/en/stable/): `PIL.Image.Image` or `np.array`.\n            return_dict (`bool`, *optional*, defaults to `True`):\n                Whether or not to return a [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] instead of a\n                plain tuple.\n            callback (`Callable`, *optional*):\n                A function that will be called every `callback_steps` steps during inference. The function will be\n                called with the following arguments: `callback(step: int, timestep: int, latents: torch.FloatTensor)`.\n            callback_steps (`int`, *optional*, defaults to 1):\n                The frequency at which the `callback` function will be called. If not specified, the callback will be\n                called at every step.\n            text_embeddings (`torch.FloatTensor`, *optional*, defaults to `None`):\n                Pre-generated text embeddings to be used as inputs for image generation. Can be used in place of\n                `prompt` to avoid re-computing the embeddings. If not provided, the embeddings will be generated from\n                the supplied `prompt`.\n        Returns:\n            [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] or `tuple`:\n            [`~pipelines.stable_diffusion.StableDiffusionPipelineOutput`] if `return_dict` is True, otherwise a `tuple.\n            When returning a tuple, the first element is a list with the generated images, and the second element is a\n            list of `bool`s denoting whether the corresponding generated image likely represents \"not-safe-for-work\"\n            (nsfw) content, according to the `safety_checker`.\n        \"\"\"\n\n        if height % 8 != 0 or width % 8 != 0:\n            raise ValueError(\n                f\"`height` and `width` have to be divisible by 8 but are {height} and {width}.\"\n            )\n\n        if (callback_steps is None) or (\n            callback_steps is not None\n            and (not isinstance(callback_steps, int) or callback_steps <= 0)\n        ):\n            raise ValueError(\n                f\"`callback_steps` has to be a positive integer but is {callback_steps} of type\"\n                f\" {type(callback_steps)}.\"\n            )\n\n        if text_embeddings is None:\n            if isinstance(prompt, str):\n                batch_size = 1\n            elif isinstance(prompt, list):\n                batch_size = len(prompt)\n            else:\n                raise ValueError(\n                    f\"`prompt` has to be of type `str` or `list` but is {type(prompt)}\"\n                )\n\n            # get prompt text embeddings\n            text_inputs = self.tokenizer(\n                prompt,\n                padding=\"max_length\",\n                max_length=self.tokenizer.model_max_length,\n                return_tensors=\"pt\",\n            )\n            text_input_ids = text_inputs.input_ids\n\n            if text_input_ids.shape[-1] > self.tokenizer.model_max_length:\n                removed_text = self.tokenizer.batch_decode(\n                    text_input_ids[:, self.tokenizer.model_max_length :]\n                )\n                print(\n                    \"The following part of your input was truncated because CLIP can only handle sequences up to\"\n                    f\" {self.tokenizer.model_max_length} tokens: {removed_text}\"\n                )\n                text_input_ids = text_input_ids[:, : self.tokenizer.model_max_length]\n            text_embeddings = self.text_encoder(text_input_ids.to(self.device))[0]\n        else:\n            batch_size = text_embeddings.shape[0]\n\n        # duplicate text embeddings for each generation per prompt, using mps friendly method\n        bs_embed, seq_len, _ = text_embeddings.shape\n        text_embeddings = text_embeddings.repeat(1, num_images_per_prompt, 1)\n        text_embeddings = text_embeddings.view(\n            bs_embed * num_images_per_prompt, seq_len, -1\n        )\n\n        # here `guidance_scale` is defined analog to the guidance weight `w` of equation (2)\n        # of the Imagen paper: https://arxiv.org/pdf/2205.11487.pdf . `guidance_scale = 1`\n        # corresponds to doing no classifier free guidance.\n        do_classifier_free_guidance = guidance_scale > 1.0\n        # get unconditional embeddings for classifier free guidance\n        if do_classifier_free_guidance:\n            uncond_tokens: List[str]\n            if negative_prompt is None:\n                uncond_tokens = [\"\"]\n            elif type(prompt) is not type(negative_prompt):\n                raise TypeError(\n                    f\"`negative_prompt` should be the same type to `prompt`, but got {type(negative_prompt)} !=\"\n                    f\" {type(prompt)}.\"\n                )\n            elif isinstance(negative_prompt, str):\n                uncond_tokens = [negative_prompt]\n            elif batch_size != len(negative_prompt):\n                raise ValueError(\n                    f\"`negative_prompt`: {negative_prompt} has batch size {len(negative_prompt)}, but `prompt`:\"\n                    f\" {prompt} has batch size {batch_size}. Please make sure that passed `negative_prompt` matches\"\n                    \" the batch size of `prompt`.\"\n                )\n            else:\n                uncond_tokens = negative_prompt\n\n            max_length = self.tokenizer.model_max_length\n            uncond_input = self.tokenizer(\n                uncond_tokens,\n                padding=\"max_length\",\n                max_length=max_length,\n                truncation=True,\n                return_tensors=\"pt\",\n            )\n            uncond_embeddings = self.text_encoder(\n                uncond_input.input_ids.to(self.device)\n            )[0]\n\n            # duplicate unconditional embeddings for each generation per prompt, using mps friendly method\n            seq_len = uncond_embeddings.shape[1]\n            uncond_embeddings = uncond_embeddings.repeat(\n                batch_size, num_images_per_prompt, 1\n            )\n            uncond_embeddings = uncond_embeddings.view(\n                batch_size * num_images_per_prompt, seq_len, -1\n            )\n\n            # For classifier free guidance, we need to do two forward passes.\n            # Here we concatenate the unconditional and text embeddings into a single batch\n            # to avoid doing two forward passes\n            text_embeddings = torch.cat([uncond_embeddings, text_embeddings])\n\n        # get the initial random noise unless the user supplied it\n\n        # Unlike in other pipelines, latents need to be generated in the target device\n        # for 1-to-1 results reproducibility with the CompVis implementation.\n        # However this currently doesn't work in `mps`.\n        latents_shape = (\n            batch_size * num_images_per_prompt,\n            self.unet.in_channels,\n            height // 8,\n            width // 8,\n        )\n        latents_dtype = text_embeddings.dtype\n        if latents is None:\n            if self.device.type == \"mps\":\n                # randn does not exist on mps\n                latents = torch.randn(\n                    latents_shape,\n                    generator=generator,\n                    device=\"cpu\",\n                    dtype=latents_dtype,\n                ).to(self.device)\n            else:\n                latents = torch.randn(\n                    latents_shape,\n                    generator=generator,\n                    device=self.device,\n                    dtype=latents_dtype,\n                )\n        else:\n            if latents.shape != latents_shape:\n                raise ValueError(\n                    f\"Unexpected latents shape, got {latents.shape}, expected {latents_shape}\"\n                )\n            latents = latents.to(self.device)\n\n        # set timesteps\n        self.scheduler.set_timesteps(num_inference_steps)\n\n        # Some schedulers like PNDM have timesteps as arrays\n        # It's more optimized to move all timesteps to correct device beforehand\n        timesteps_tensor = self.scheduler.timesteps.to(self.device)\n\n        # scale the initial noise by the standard deviation required by the scheduler\n        latents = latents * self.scheduler.init_noise_sigma\n\n        # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature\n        # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.\n        # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502\n        # and should be between [0, 1]\n        accepts_eta = \"eta\" in set(\n            inspect.signature(self.scheduler.step).parameters.keys()\n        )\n        extra_step_kwargs = {}\n        if accepts_eta:\n            extra_step_kwargs[\"eta\"] = eta\n\n        for i, t in enumerate(self.progress_bar(timesteps_tensor)):\n            # expand the latents if we are doing classifier free guidance\n            latent_model_input = (\n                torch.cat([latents] * 2) if do_classifier_free_guidance else latents\n            )\n            latent_model_input = self.scheduler.scale_model_input(latent_model_input, t)\n\n            # predict the noise residual\n            noise_pred = self.unet(\n                latent_model_input, t, encoder_hidden_states=text_embeddings\n            ).sample\n\n            # perform guidance\n            if do_classifier_free_guidance:\n                noise_pred_uncond, noise_pred_text = noise_pred.chunk(2)\n                noise_pred = noise_pred_uncond + guidance_scale * (\n                    noise_pred_text - noise_pred_uncond\n                )\n\n            # compute the previous noisy sample x_t -> x_t-1\n            latents = self.scheduler.step(\n                noise_pred, t, latents, **extra_step_kwargs\n            ).prev_sample\n\n            # call the callback, if provided\n            if callback is not None and i % callback_steps == 0:\n                callback(i, t, latents)\n            print(\"test\")\n\n        latents = 1 / 0.18215 * latents\n        image = self.vae.decode(latents).sample\n\n        image = (image / 2 + 0.5).clamp(0, 1)\n\n        # we always cast to float32 as this does not cause significant overhead and is compatible with bfloa16\n        image = image.cpu().permute(0, 2, 3, 1).float().numpy()\n\n        if self.safety_checker is not None:\n            safety_checker_input = self.feature_extractor(\n                self.numpy_to_pil(image), return_tensors=\"pt\"\n            ).to(self.device)\n            image, has_nsfw_concept = self.safety_checker(\n                images=image,\n                clip_input=safety_checker_input.pixel_values.to(text_embeddings.dtype),\n            )\n        else:\n            has_nsfw_concept = None\n\n        if output_type == \"pil\":\n            image = self.numpy_to_pil(image)\n\n        if not return_dict:\n            return (image, has_nsfw_concept)\n\n        return StableDiffusionPipelineOutput(\n            images=image, nsfw_content_detected=has_nsfw_concept\n        )\n\n    def generate_inputs(\n        self, prompt_a, prompt_b, seed_a, seed_b, noise_shape, T, batch_size\n    ):\n        embeds_a = self.embed_text(prompt_a)\n        embeds_b = self.embed_text(prompt_b)\n\n        latents_a = self.init_noise(seed_a, noise_shape)\n        latents_b = self.init_noise(seed_b, noise_shape)\n\n        batch_idx = 0\n        embeds_batch, noise_batch = None, None\n        for i, t in enumerate(T):\n            embeds = torch.lerp(embeds_a, embeds_b, t)\n            noise = slerp(\n                device=\"cuda\",\n                t=float(t),\n                v0=latents_a,\n                v1=latents_b,\n                DOT_THRESHOLD=0.9995,\n            )\n\n            embeds_batch = (\n                embeds if embeds_batch is None else torch.cat([embeds_batch, embeds])\n            )\n            noise_batch = (\n                noise if noise_batch is None else torch.cat([noise_batch, noise])\n            )\n            batch_is_ready = embeds_batch.shape[0] == batch_size or i + 1 == T.shape[0]\n            if not batch_is_ready:\n                continue\n            yield batch_idx, embeds_batch, noise_batch\n            batch_idx += 1\n            del embeds_batch, noise_batch\n            torch.cuda.empty_cache()\n            embeds_batch, noise_batch = None, None\n\n    def make_clip_frames(\n        self,\n        prompt_a: str,\n        prompt_b: str,\n        seed_a: int,\n        seed_b: int,\n        num_interpolation_steps: int = 5,\n        save_path: Union[str, Path] = \"outputs/\",\n        num_inference_steps: int = 50,\n        guidance_scale: float = 7.5,\n        eta: float = 0.0,\n        height: int = 512,\n        width: int = 512,\n        upsample: bool = False,\n        batch_size: int = 1,\n        image_file_ext: str = \".png\",\n        T: np.ndarray = None,\n        skip: int = 0,\n        callback=None,\n        callback_steps: int = 1,\n    ):\n        save_path = Path(save_path)\n        save_path.mkdir(parents=True, exist_ok=True)\n\n        T = T if T is not None else np.linspace(0.0, 1.0, num_interpolation_steps)\n        if T.shape[0] != num_interpolation_steps:\n            raise ValueError(\n                f\"Unexpected T shape, got {T.shape}, expected dim 0 to be {num_interpolation_steps}\"\n            )\n\n        if upsample:\n            if getattr(self, \"upsampler\", None) is None:\n                self.upsampler = RealESRGANModel.from_pretrained(\"nateraw/real-esrgan\")\n            self.upsampler.to(self.device)\n\n        batch_generator = self.generate_inputs(\n            prompt_a,\n            prompt_b,\n            seed_a,\n            seed_b,\n            (1, self.unet.in_channels, height // 8, width // 8),\n            T[skip:],\n            batch_size,\n        )\n\n        frame_index = skip\n        for _, embeds_batch, noise_batch in batch_generator:\n            with torch.autocast(\"cuda\"):\n                outputs = self(\n                    latents=noise_batch,\n                    text_embeddings=embeds_batch,\n                    height=height,\n                    width=width,\n                    guidance_scale=guidance_scale,\n                    eta=eta,\n                    num_inference_steps=num_inference_steps,\n                    output_type=\"pil\" if not upsample else \"numpy\",\n                    callback=callback,\n                    callback_steps=callback_steps,\n                )[\"images\"]\n\n                for image in outputs:\n                    frame_filepath = save_path / (\n                        f\"frame%06d{image_file_ext}\" % frame_index\n                    )\n                    image = image if not upsample else self.upsampler(image)\n                    image.save(frame_filepath)\n                    frame_index += 1\n\n    def walk(\n        self,\n        prompt: Optional[List[str]] = None,\n        seeds: Optional[List[int]] = None,\n        num_interpolation_steps: Optional[\n            Union[int, List[int]]\n        ] = 5,  # int or list of int\n        output_dir: Optional[str] = \"./dreams\",\n        name: Optional[str] = None,\n        image_file_ext: Optional[str] = \".png\",\n        fps: Optional[int] = 30,\n        num_inference_steps: Optional[int] = 50,\n        guidance_scale: Optional[float] = 7.5,\n        eta: Optional[float] = 0.0,\n        height: Optional[int] = 512,\n        width: Optional[int] = 512,\n        upsample: Optional[bool] = False,\n        batch_size: Optional[int] = 1,\n        resume: Optional[bool] = False,\n        audio_filepath: str = None,\n        audio_start_sec: Optional[Union[int, float]] = None,\n        margin: Optional[float] = 1.0,\n        smooth: Optional[float] = 0.0,\n        callback=None,\n        callback_steps=1,\n    ):\n        \"\"\"Generate a video from a sequence of prompts and seeds. Optionally, add audio to the\n        video to interpolate to the intensity of the audio.\n\n        Args:\n            prompts (Optional[List[str]], optional):\n                list of text prompts. Defaults to None.\n            seeds (Optional[List[int]], optional):\n                list of random seeds corresponding to prompts. Defaults to None.\n            num_interpolation_steps (Union[int, List[int]], *optional*):\n                How many interpolation steps between each prompt. Defaults to None.\n            output_dir (Optional[str], optional):\n                Where to save the video. Defaults to './dreams'.\n            name (Optional[str], optional):\n                Name of the subdirectory of output_dir. Defaults to None.\n            image_file_ext (Optional[str], *optional*, defaults to '.png'):\n                The extension to use when writing video frames.\n            fps (Optional[int], *optional*, defaults to 30):\n                The frames per second in the resulting output videos.\n            num_inference_steps (Optional[int], *optional*, defaults to 50):\n                The number of denoising steps. More denoising steps usually lead to a higher quality image at the\n                expense of slower inference.\n            guidance_scale (Optional[float], *optional*, defaults to 7.5):\n                Guidance scale as defined in [Classifier-Free Diffusion Guidance](https://arxiv.org/abs/2207.12598).\n                `guidance_scale` is defined as `w` of equation 2. of [Imagen\n                Paper](https://arxiv.org/pdf/2205.11487.pdf). Guidance scale is enabled by setting `guidance_scale >\n                1`. Higher guidance scale encourages to generate images that are closely linked to the text `prompt`,\n                usually at the expense of lower image quality.\n            eta (Optional[float], *optional*, defaults to 0.0):\n                Corresponds to parameter eta (η) in the DDIM paper: https://arxiv.org/abs/2010.02502. Only applies to\n                [`schedulers.DDIMScheduler`], will be ignored for others.\n            height (Optional[int], *optional*, defaults to 512):\n                height of the images to generate.\n            width (Optional[int], *optional*, defaults to 512):\n                width of the images to generate.\n            upsample (Optional[bool], *optional*, defaults to False):\n                When True, upsamples images with realesrgan.\n            batch_size (Optional[int], *optional*, defaults to 1):\n                Number of images to generate at once.\n            resume (Optional[bool], *optional*, defaults to False):\n                When True, resumes from the last frame in the output directory based\n                on available prompt config. Requires you to provide the `name` argument.\n            audio_filepath (str, *optional*, defaults to None):\n                Optional path to an audio file to influence the interpolation rate.\n            audio_start_sec (Optional[Union[int, float]], *optional*, defaults to 0):\n                Global start time of the provided audio_filepath.\n            margin (Optional[float], *optional*, defaults to 1.0):\n                Margin from librosa hpss to use for audio interpolation.\n            smooth (Optional[float], *optional*, defaults to 0.0):\n                Smoothness of the audio interpolation. 1.0 means linear interpolation.\n\n        This function will create sub directories for each prompt and seed pair.\n\n        For example, if you provide the following prompts and seeds:\n\n        ```\n        prompts = ['a dog', 'a cat', 'a bird']\n        seeds = [1, 2, 3]\n        num_interpolation_steps = 5\n        output_dir = 'output_dir'\n        name = 'name'\n        fps = 5\n        ```\n\n        Then the following directories will be created:\n\n        ```\n        output_dir\n        ├── name\n        │   ├── name_000000\n        │   │   ├── frame000000.png\n        │   │   ├── ...\n        │   │   ├── frame000004.png\n        │   │   ├── name_000000.mp4\n        │   ├── name_000001\n        │   │   ├── frame000000.png\n        │   │   ├── ...\n        │   │   ├── frame000004.png\n        │   │   ├── name_000001.mp4\n        │   ├── ...\n        │   ├── name.mp4\n        |   |── prompt_config.json\n        ```\n\n        Returns:\n            str: The resulting video filepath. This video includes all sub directories' video clips.\n        \"\"\"\n        if (callback_steps is None) or (\n            callback_steps is not None\n            and (not isinstance(callback_steps, int) or callback_steps <= 0)\n        ):\n            raise ValueError(\n                f\"`callback_steps` has to be a positive integer but is {callback_steps} of type\"\n                f\" {type(callback_steps)}.\"\n            )\n\n        # init the output dir\n        if type(prompts) == str:\n            sanitized_prompt = slugify(prompts)\n        else:\n            sanitized_prompt = slugify(prompts[0])\n\n        full_path = os.path.join(str(output_dir), str(sanitized_prompt))\n\n        if len(full_path) > 220:\n            sanitized_prompt = sanitized_prompt[: 220 - len(full_path)]\n            full_path = os.path.join(output_dir, sanitized_prompt)\n\n        os.makedirs(full_path, exist_ok=True)\n\n        # Where the final video of all the clips combined will be saved\n        output_filepath = os.path.join(full_path, f\"{sanitized_prompt}.mp4\")\n\n        # If using same number of interpolation steps between, we turn into list\n        if not resume and isinstance(num_interpolation_steps, int):\n            num_interpolation_steps = [num_interpolation_steps] * (len(prompts) - 1)\n\n        if not resume:\n            audio_start_sec = audio_start_sec or 0\n\n        # Save/reload prompt config\n        prompt_config_path = Path(os.path.join(full_path, \"prompt_config.json\"))\n        if not resume:\n            prompt_config_path.write_text(\n                json.dumps(\n                    dict(\n                        prompts=prompts,\n                        seeds=seeds,\n                        num_interpolation_steps=num_interpolation_steps,\n                        fps=fps,\n                        num_inference_steps=num_inference_steps,\n                        guidance_scale=guidance_scale,\n                        eta=eta,\n                        upsample=upsample,\n                        height=height,\n                        width=width,\n                        audio_filepath=audio_filepath,\n                        audio_start_sec=audio_start_sec,\n                    ),\n                    indent=2,\n                    sort_keys=False,\n                )\n            )\n        else:\n            data = json.load(open(prompt_config_path))\n            prompts = data[\"prompts\"]\n            seeds = data[\"seeds\"]\n            num_interpolation_steps = data[\"num_interpolation_steps\"]\n            fps = data[\"fps\"]\n            num_inference_steps = data[\"num_inference_steps\"]\n            guidance_scale = data[\"guidance_scale\"]\n            eta = data[\"eta\"]\n            upsample = data[\"upsample\"]\n            height = data[\"height\"]\n            width = data[\"width\"]\n            audio_filepath = data[\"audio_filepath\"]\n            audio_start_sec = data[\"audio_start_sec\"]\n\n        for i, (prompt_a, prompt_b, seed_a, seed_b, num_step) in enumerate(\n            zip(prompts, prompts[1:], seeds, seeds[1:], num_interpolation_steps)\n        ):\n            # {name}_000000 / {name}_000001 / ...\n            save_path = Path(f\"{full_path}/{name}_{i:06d}\")\n\n            # Where the individual clips will be saved\n            step_output_filepath = Path(f\"{save_path}/{name}_{i:06d}.mp4\")\n\n            # Determine if we need to resume from a previous run\n            skip = 0\n            if resume:\n                if step_output_filepath.exists():\n                    print(f\"Skipping {save_path} because frames already exist\")\n                    continue\n\n                existing_frames = sorted(save_path.glob(f\"*{image_file_ext}\"))\n                if existing_frames:\n                    skip = int(existing_frames[-1].stem[-6:]) + 1\n                    if skip + 1 >= num_step:\n                        print(f\"Skipping {save_path} because frames already exist\")\n                        continue\n                    print(f\"Resuming {save_path.name} from frame {skip}\")\n\n            audio_offset = audio_start_sec + sum(num_interpolation_steps[:i]) / fps\n            audio_duration = num_step / fps\n\n            self.make_clip_frames(\n                prompt_a,\n                prompt_b,\n                seed_a,\n                seed_b,\n                num_interpolation_steps=num_step,\n                save_path=save_path,\n                num_inference_steps=num_inference_steps,\n                guidance_scale=guidance_scale,\n                eta=eta,\n                height=height,\n                width=width,\n                upsample=upsample,\n                batch_size=batch_size,\n                skip=skip,\n                T=get_timesteps_arr(\n                    audio_filepath,\n                    offset=audio_offset,\n                    duration=audio_duration,\n                    fps=fps,\n                    margin=margin,\n                    smooth=smooth,\n                    callback=callback,\n                    callback_steps=callback_steps,\n                )\n                if audio_filepath\n                else None,\n            )\n            make_video_pyav(\n                save_path,\n                audio_filepath=audio_filepath,\n                fps=fps,\n                output_filepath=step_output_filepath,\n                glob_pattern=f\"*{image_file_ext}\",\n                audio_offset=audio_offset,\n                audio_duration=audio_duration,\n                sr=44100,\n            )\n\n        return make_video_pyav(\n            full_path,\n            audio_filepath=audio_filepath,\n            fps=fps,\n            audio_offset=audio_start_sec,\n            audio_duration=sum(num_interpolation_steps) / fps,\n            output_filepath=output_filepath,\n            glob_pattern=f\"**/*{image_file_ext}\",\n            sr=44100,\n        )\n\n    def embed_text(self, text):\n        \"\"\"Helper to embed some text\"\"\"\n        with torch.autocast(\"cuda\"):\n            text_input = self.tokenizer(\n                text,\n                padding=\"max_length\",\n                max_length=self.tokenizer.model_max_length,\n                truncation=True,\n                return_tensors=\"pt\",\n            )\n            with torch.no_grad():\n                embed = self.text_encoder(text_input.input_ids.to(self.device))[0]\n        return embed\n\n    def init_noise(self, seed, noise_shape):\n        \"\"\"Helper to initialize noise\"\"\"\n        # randn does not exist on mps, so we create noise on CPU here and move it to the device after initialization\n        if self.device.type == \"mps\":\n            noise = torch.randn(\n                noise_shape,\n                device=\"cpu\",\n                generator=torch.Generator(device=\"cpu\").manual_seed(seed),\n            ).to(self.device)\n        else:\n            noise = torch.randn(\n                noise_shape,\n                device=self.device,\n                generator=torch.Generator(device=self.device).manual_seed(seed),\n            )\n        return noise\n\n    @classmethod\n    def from_pretrained(cls, *args, tiled=False, **kwargs):\n        \"\"\"Same as diffusers `from_pretrained` but with tiled option, which makes images tilable\"\"\"\n        if tiled:\n\n            def patch_conv(**patch):\n                cls = nn.Conv2d\n                init = cls.__init__\n\n                def __init__(self, *args, **kwargs):\n                    return init(self, *args, **kwargs, **patch)\n\n                cls.__init__ = __init__\n\n            patch_conv(padding_mode=\"circular\")\n\n        pipeline = super().from_pretrained(*args, **kwargs)\n        pipeline.tiled = tiled\n        return pipeline\n\n\n@torch.no_grad()\ndef diffuse(\n    pipe,\n    cond_embeddings,  # text conditioning, should be (1, 77, 768)\n    cond_latents,  # image conditioning, should be (1, 4, 64, 64)\n    num_inference_steps,\n    cfg_scale,\n    eta,\n    fps=30,\n):\n    torch_device = cond_latents.get_device()\n\n    # classifier guidance: add the unconditional embedding\n    max_length = cond_embeddings.shape[1]  # 77\n    uncond_input = pipe.tokenizer(\n        [\"\"], padding=\"max_length\", max_length=max_length, return_tensors=\"pt\"\n    )\n    uncond_embeddings = pipe.text_encoder(uncond_input.input_ids.to(torch_device))[0]\n    text_embeddings = torch.cat([uncond_embeddings, cond_embeddings])\n\n    # if we use LMSDiscreteScheduler, let's make sure latents are mulitplied by sigmas\n    if isinstance(pipe.scheduler, LMSDiscreteScheduler):\n        cond_latents = cond_latents * pipe.scheduler.sigmas[0]\n\n    # init the scheduler\n    accepts_offset = \"offset\" in set(\n        inspect.signature(pipe.scheduler.set_timesteps).parameters.keys()\n    )\n    extra_set_kwargs = {}\n    if accepts_offset:\n        extra_set_kwargs[\"offset\"] = 1\n\n    pipe.scheduler.set_timesteps(\n        num_inference_steps + st.session_state.sampling_steps, **extra_set_kwargs\n    )\n    # prepare extra kwargs for the scheduler step, since not all schedulers have the same signature\n    # eta (η) is only used with the DDIMScheduler, it will be ignored for other schedulers.\n    # eta corresponds to η in DDIM paper: https://arxiv.org/abs/2010.02502\n    # and should be between [0, 1]\n    accepts_eta = \"eta\" in set(inspect.signature(pipe.scheduler.step).parameters.keys())\n    extra_step_kwargs = {}\n    if accepts_eta:\n        extra_step_kwargs[\"eta\"] = eta\n\n    step_counter = 0\n    inference_counter = 0\n\n    if \"current_chunk_speed\" not in st.session_state:\n        st.session_state[\"current_chunk_speed\"] = 0\n\n    if \"previous_chunk_speed_list\" not in st.session_state:\n        st.session_state[\"previous_chunk_speed_list\"] = [0]\n        st.session_state[\"previous_chunk_speed_list\"].append(\n            st.session_state[\"current_chunk_speed\"]\n        )\n\n    if \"update_preview_frequency_list\" not in st.session_state:\n        st.session_state[\"update_preview_frequency_list\"] = [0]\n        st.session_state[\"update_preview_frequency_list\"].append(\n            st.session_state[\"update_preview_frequency\"]\n        )\n\n    try:\n        # diffuse!\n        for i, t in enumerate(pipe.scheduler.timesteps):\n            start = timeit.default_timer()\n\n            # status_text.text(f\"Running step: {step_counter}{total_number_steps} {percent} | {duration:.2f}{speed}\")\n\n            # expand the latents for classifier free guidance\n            latent_model_input = torch.cat([cond_latents] * 2)\n            if isinstance(pipe.scheduler, LMSDiscreteScheduler):\n                sigma = pipe.scheduler.sigmas[i]\n                latent_model_input = latent_model_input / ((sigma**2 + 1) ** 0.5)\n\n            # predict the noise residual\n            noise_pred = pipe.unet(\n                latent_model_input, t, encoder_hidden_states=text_embeddings\n            )[\"sample\"]\n\n            # cfg\n            noise_pred_uncond, noise_pred_text = noise_pred.chunk(2)\n            noise_pred = noise_pred_uncond + cfg_scale * (\n                noise_pred_text - noise_pred_uncond\n            )\n\n            # compute the previous noisy sample x_t -> x_t-1\n            if isinstance(pipe.scheduler, LMSDiscreteScheduler):\n                cond_latents = pipe.scheduler.step(\n                    noise_pred, i, cond_latents, **extra_step_kwargs\n                )[\"prev_sample\"]\n            else:\n                cond_latents = pipe.scheduler.step(\n                    noise_pred, t, cond_latents, **extra_step_kwargs\n                )[\"prev_sample\"]\n\n            # update the preview image if it is enabled and the frequency matches the step_counter\n            if st.session_state[\"update_preview\"]:\n                step_counter += 1\n\n                if step_counter == st.session_state[\"update_preview_frequency\"]:\n                    if st.session_state.dynamic_preview_frequency:\n                        st.session_state[\"current_chunk_speed\"],\n                        st.session_state[\"previous_chunk_speed_list\"],\n                        st.session_state[\"update_preview_frequency\"],\n                        st.session_state[\n                            \"avg_update_preview_frequency\"\n                        ] = optimize_update_preview_frequency(\n                            st.session_state[\"current_chunk_speed\"],\n                            st.session_state[\"previous_chunk_speed_list\"],\n                            st.session_state[\"update_preview_frequency\"],\n                            st.session_state[\"update_preview_frequency_list\"],\n                        )\n\n                    # scale and decode the image latents with vae\n                    cond_latents_2 = 1 / 0.18215 * cond_latents\n                    image = pipe.vae.decode(cond_latents_2)\n\n                    # generate output numpy image as uint8\n                    image = torch.clamp((image[\"sample\"] + 1.0) / 2.0, min=0.0, max=1.0)\n                    image2 = transforms.ToPILImage()(image.squeeze_(0))\n\n                    st.session_state[\"preview_image\"].image(image2)\n\n                    step_counter = 0\n\n            duration = timeit.default_timer() - start\n\n            st.session_state[\"current_chunk_speed\"] = duration\n\n            if duration >= 1:\n                speed = \"s/it\"\n            else:\n                speed = \"it/s\"\n                duration = 1 / duration\n\n            total_frames = st.session_state.max_duration_in_seconds * fps\n            st.session_state.sampling_steps + st.session_state.num_inference_steps\n\n            if i > st.session_state.sampling_steps:\n                inference_counter += 1\n                inference_percent = int(\n                    100\n                    * float(\n                        inference_counter + 1\n                        if inference_counter < num_inference_steps\n                        else num_inference_steps\n                    )\n                    / float(num_inference_steps)\n                )\n                inference_progress = f\"{inference_counter + 1 if inference_counter < num_inference_steps else num_inference_steps}/{num_inference_steps} {inference_percent}% \"\n            else:\n                inference_progress = \"\"\n\n            total_percent = int(\n                100\n                * float(\n                    i + 1\n                    if i + 1 < (num_inference_steps + st.session_state.sampling_steps)\n                    else (num_inference_steps + st.session_state.sampling_steps)\n                )\n                / float((num_inference_steps + st.session_state.sampling_steps))\n            )\n\n            percent = int(\n                100\n                * float(\n                    i + 1\n                    if i + 1 < num_inference_steps\n                    else st.session_state.sampling_steps\n                )\n                / float(st.session_state.sampling_steps)\n            )\n            frames_percent = int(\n                100\n                * float(\n                    st.session_state.current_frame\n                    if st.session_state.current_frame < total_frames\n                    else total_frames\n                )\n                / float(total_frames)\n            )\n\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].text(\n                    f\"Running step: {i+1 if i+1 < st.session_state.sampling_steps else st.session_state.sampling_steps}/{st.session_state.sampling_steps} \"\n                    f\"{percent if percent < 100 else 100}% {inference_progress}{duration:.2f}{speed} | \"\n                    f\"Frame: {st.session_state.current_frame + 1 if st.session_state.current_frame < total_frames else total_frames}/{total_frames} \"\n                    f\"{frames_percent if frames_percent < 100 else 100}% {st.session_state.frame_duration:.2f}{st.session_state.frame_speed}\"\n                )\n\n            if \"progress_bar\" in st.session_state:\n                st.session_state[\"progress_bar\"].progress(\n                    total_percent if total_percent < 100 else 100\n                )\n\n                if st.session_state[\"defaults\"].general.show_percent_in_tab_title:\n                    set_page_title(\n                        f\"({percent if percent < 100 else 100}%) Stable Diffusion Playground\"\n                    )\n\n    except KeyError:\n        raise StopException\n\n    # scale and decode the image latents with vae\n    cond_latents_2 = 1 / 0.18215 * cond_latents\n    image = pipe.vae.decode(cond_latents_2)\n\n    # generate output numpy image as uint8\n    image = torch.clamp((image[\"sample\"] + 1.0) / 2.0, min=0.0, max=1.0)\n    image2 = transforms.ToPILImage()(image.squeeze_(0))\n\n    return image2\n\n\n#\ndef load_diffusers_model(weights_path, torch_device):\n    with server_state_lock[\"model\"]:\n        if \"model\" in server_state:\n            del server_state[\"model\"]\n\n    if \"textual_inversion\" in st.session_state:\n        del st.session_state[\"textual_inversion\"]\n\n    try:\n        with server_state_lock[\"pipe\"]:\n            if \"pipe\" not in server_state:\n                if (\n                    \"weights_path\" in st.session_state\n                    and st.session_state[\"weights_path\"] != weights_path\n                ):\n                    del st.session_state[\"weights_path\"]\n\n                st.session_state[\"weights_path\"] = weights_path\n                server_state[\"float16\"] = st.session_state[\n                    \"defaults\"\n                ].general.use_float16\n                server_state[\"no_half\"] = st.session_state[\"defaults\"].general.no_half\n                server_state[\"optimized\"] = st.session_state[\n                    \"defaults\"\n                ].general.optimized\n\n                # if folder \"models/diffusers/stable-diffusion-v1-4\" exists, load the model from there\n                if weights_path == \"CompVis/stable-diffusion-v1-4\":\n                    model_path = os.path.join(\n                        \"models\", \"diffusers\", \"stable-diffusion-v1-4\"\n                    )\n\n                if weights_path == \"runwayml/stable-diffusion-v1-5\":\n                    model_path = os.path.join(\n                        \"models\", \"diffusers\", \"stable-diffusion-v1-5\"\n                    )\n                else:\n                    model_path = weights_path\n\n                if not os.path.exists(model_path + \"/model_index.json\"):\n                    server_state[\"pipe\"] = StableDiffusionPipeline.from_pretrained(\n                        weights_path,\n                        # use_local_file=True,\n                        use_auth_token=st.session_state[\n                            \"defaults\"\n                        ].general.huggingface_token,\n                        torch_dtype=torch.float16\n                        if st.session_state[\"defaults\"].general.use_float16\n                        else None,\n                        revision=\"fp16\"\n                        if not st.session_state[\"defaults\"].general.no_half\n                        else None,\n                        safety_checker=None,  # Very important for videos...lots of false positives while interpolating\n                        # custom_pipeline=\"interpolate_stable_diffusion\",\n                    )\n\n                    StableDiffusionPipeline.save_pretrained(\n                        server_state[\"pipe\"], model_path\n                    )\n                else:\n                    server_state[\"pipe\"] = StableDiffusionPipeline.from_pretrained(\n                        model_path,\n                        # use_local_file=True,\n                        torch_dtype=torch.float16\n                        if st.session_state[\"defaults\"].general.use_float16\n                        else None,\n                        revision=\"fp16\"\n                        if not st.session_state[\"defaults\"].general.no_half\n                        else None,\n                        safety_checker=None,  # Very important for videos...lots of false positives while interpolating\n                        # custom_pipeline=\"interpolate_stable_diffusion\",\n                    )\n\n                server_state[\"pipe\"].unet.to(torch_device)\n                server_state[\"pipe\"].vae.to(torch_device)\n                server_state[\"pipe\"].text_encoder.to(torch_device)\n\n                # if st.session_state.defaults.general.enable_attention_slicing:\n                server_state[\"pipe\"].enable_attention_slicing()\n\n                if st.session_state.defaults.general.enable_minimal_memory_usage:\n                    server_state[\"pipe\"].enable_minimal_memory_usage()\n\n                logger.info(\"Tx2Vid Model Loaded\")\n            else:\n                # if the float16 or no_half options have changed since the last time the model was loaded then we need to reload the model.\n                if (\n                    (\n                        \"float16\" in server_state\n                        and server_state[\"float16\"]\n                        != st.session_state[\"defaults\"].general.use_float16\n                    )\n                    or (\n                        \"no_half\" in server_state\n                        and server_state[\"no_half\"]\n                        != st.session_state[\"defaults\"].general.no_half\n                    )\n                    or (\n                        \"optimized\" in server_state\n                        and server_state[\"optimized\"]\n                        != st.session_state[\"defaults\"].general.optimized\n                    )\n                ):\n                    del server_state[\"float16\"]\n                    del server_state[\"no_half\"]\n                    with server_state_lock[\"pipe\"]:\n                        del server_state[\"pipe\"]\n                        torch_gc()\n\n                    del server_state[\"optimized\"]\n\n                    server_state[\"float16\"] = st.session_state[\n                        \"defaults\"\n                    ].general.use_float16\n                    server_state[\"no_half\"] = st.session_state[\n                        \"defaults\"\n                    ].general.no_half\n                    server_state[\"optimized\"] = st.session_state[\n                        \"defaults\"\n                    ].general.optimized\n\n                    # with no_rerun:\n                    load_diffusers_model(weights_path, torch_device)\n                else:\n                    logger.info(\"Tx2Vid Model already Loaded\")\n\n    except (EnvironmentError, OSError) as e:\n        if (\n            \"huggingface_token\" not in st.session_state\n            or st.session_state[\"defaults\"].general.huggingface_token == \"None\"\n        ):\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].error(\n                    \"You need a huggingface token in order to use the Text to Video tab. Use the Settings page to add your token under the Huggingface section. \"\n                    \"Make sure you save your settings after adding it.\"\n                )\n            raise OSError(\n                \"You need a huggingface token in order to use the Text to Video tab. Use the Settings page to add your token under the Huggingface section. \"\n                \"Make sure you save your settings after adding it.\"\n            )\n        else:\n            if \"progress_bar_text\" in st.session_state:\n                st.session_state[\"progress_bar_text\"].error(e)\n\n\n#\ndef save_video_to_disk(\n    frames, seeds, sanitized_prompt, fps=30, save_video=True, outdir=\"outputs\"\n):\n    if save_video:\n        # write video to memory\n        # output = io.BytesIO()\n        # writer = imageio.get_writer(os.path.join(os.getcwd(), st.session_state['defaults'].general.outdir, \"txt2vid\"), im, extension=\".mp4\", fps=30)\n        # try:\n        video_path = os.path.join(\n            os.getcwd(),\n            outdir,\n            \"txt2vid\",\n            f\"{seeds}_{sanitized_prompt}{datetime.datetime.now().strftime('%Y%m-%d%H-%M%S-') + str(uuid4())[:8]}.mp4\",\n        )\n        writer = imageio.get_writer(video_path, fps=fps)\n        for frame in frames:\n            writer.append_data(frame)\n\n        writer.close()\n        # except:\n        # \tprint(\"Can't save video, skipping.\")\n\n    return video_path\n\n\n#\ndef txt2vid(\n    # --------------------------------------\n    # args you probably want to change\n    prompts=[\"blueberry spaghetti\", \"strawberry spaghetti\"],  # prompt to dream about\n    gpu: int = st.session_state[\"defaults\"].general.gpu,  # id of the gpu to run on\n    # name:str = 'test', # name of this project, for the output directory\n    # rootdir:str = st.session_state['defaults'].general.outdir,\n    num_steps: int = 200,  # number of steps between each pair of sampled points\n    max_duration_in_seconds: int = 30,  # number of frames to write and then exit the script\n    num_inference_steps: int = 50,  # more (e.g. 100, 200 etc) can create slightly better images\n    cfg_scale: float = 5.0,  # can depend on the prompt. usually somewhere between 3-10 is good\n    save_video=True,\n    save_video_on_stop=False,\n    outdir=\"outputs\",\n    do_loop=False,\n    use_lerp_for_text=False,\n    seeds=None,\n    quality: int = 100,  # for jpeg compression of the output images\n    eta: float = 0.0,\n    width: int = 256,\n    height: int = 256,\n    weights_path=\"runwayml/stable-diffusion-v1-5\",\n    scheduler=\"klms\",  # choices: default, ddim, klms\n    disable_tqdm=False,\n    # -----------------------------------------------\n    beta_start=0.0001,\n    beta_end=0.00012,\n    beta_schedule=\"scaled_linear\",\n    starting_image=None,\n    # -----------------------------------------------\n    # from new version\n    image_file_ext: Optional[str] = \".png\",\n    fps: Optional[int] = 30,\n    upsample: Optional[bool] = False,\n    batch_size: Optional[int] = 1,\n    resume: Optional[bool] = False,\n    audio_filepath: str = None,\n    audio_start_sec: Optional[Union[int, float]] = None,\n    margin: Optional[float] = 1.0,\n    smooth: Optional[float] = 0.0,\n):\n    \"\"\"\n    prompt = [\"blueberry spaghetti\", \"strawberry spaghetti\"], # prompt to dream about\n    gpu:int = st.session_state['defaults'].general.gpu, # id of the gpu to run on\n    #name:str = 'test', # name of this project, for the output directory\n    #rootdir:str = st.session_state['defaults'].general.outdir,\n    num_steps:int = 200, # number of steps between each pair of sampled points\n    max_duration_in_seconds:int = 10000, # number of frames to write and then exit the script\n    num_inference_steps:int = 50, # more (e.g. 100, 200 etc) can create slightly better images\n    cfg_scale:float = 5.0, # can depend on the prompt. usually somewhere between 3-10 is good\n    do_loop = False,\n    use_lerp_for_text = False,\n    seed = None,\n    quality:int = 100, # for jpeg compression of the output images\n    eta:float = 0.0,\n    width:int = 256,\n    height:int = 256,\n    weights_path = \"runwayml/stable-diffusion-v1-5\",\n    scheduler=\"klms\",  # choices: default, ddim, klms\n    disable_tqdm = False,\n    beta_start = 0.0001,\n    beta_end = 0.00012,\n    beta_schedule = \"scaled_linear\"\n    \"\"\"\n    mem_mon = MemUsageMonitor(\"MemMon\")\n    mem_mon.start()\n\n    seeds = seed_to_int(seeds)\n\n    # We add an extra frame because most\n    # of the time the first frame is just the noise.\n    # max_duration_in_seconds +=1\n\n    assert torch.cuda.is_available()\n    assert height % 8 == 0 and width % 8 == 0\n    torch.manual_seed(seeds)\n    torch_device = f\"cuda:{gpu}\"\n\n    if type(seeds) == list:\n        prompts = [prompts] * len(seeds)\n    else:\n        seeds = [seeds, random.randint(0, 2**32 - 1)]\n\n    if type(prompts) == list:\n        # init the output dir\n        sanitized_prompt = slugify(prompts[0])\n    else:\n        # init the output dir\n        sanitized_prompt = slugify(prompts)\n\n    full_path = os.path.join(\n        os.getcwd(),\n        st.session_state[\"defaults\"].general.outdir,\n        \"txt2vid\",\n        \"samples\",\n        sanitized_prompt,\n    )\n\n    if len(full_path) > 220:\n        sanitized_prompt = sanitized_prompt[: 220 - len(full_path)]\n        full_path = os.path.join(\n            os.getcwd(),\n            st.session_state[\"defaults\"].general.outdir,\n            \"txt2vid\",\n            \"samples\",\n            sanitized_prompt,\n        )\n\n    os.makedirs(full_path, exist_ok=True)\n\n    # Write prompt info to file in output dir so we can keep track of what we did\n    if st.session_state.write_info_files:\n        with open(\n            os.path.join(\n                full_path,\n                f\"{slugify(str(seeds))}_config.json\"\n                if len(prompts) > 1\n                else \"prompts_config.json\",\n            ),\n            \"w\",\n        ) as outfile:\n            outfile.write(\n                json.dumps(\n                    dict(\n                        prompts=prompts,\n                        gpu=gpu,\n                        num_steps=num_steps,\n                        max_duration_in_seconds=max_duration_in_seconds,\n                        num_inference_steps=num_inference_steps,\n                        cfg_scale=cfg_scale,\n                        do_loop=do_loop,\n                        use_lerp_for_text=use_lerp_for_text,\n                        seeds=seeds,\n                        quality=quality,\n                        eta=eta,\n                        width=width,\n                        height=height,\n                        weights_path=weights_path,\n                        scheduler=scheduler,\n                        disable_tqdm=disable_tqdm,\n                        beta_start=beta_start,\n                        beta_end=beta_end,\n                        beta_schedule=beta_schedule,\n                    ),\n                    indent=2,\n                    sort_keys=False,\n                )\n            )\n\n    # print(scheduler)\n    default_scheduler = PNDMScheduler(\n        beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    )\n    # ------------------------------------------------------------------------------\n    # Schedulers\n    ddim_scheduler = DDIMScheduler(\n        beta_start=beta_start,\n        beta_end=beta_end,\n        beta_schedule=beta_schedule,\n        clip_sample=False,\n        set_alpha_to_one=False,\n    )\n\n    klms_scheduler = LMSDiscreteScheduler(\n        beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    )\n\n    # flaxddims_scheduler = FlaxDDIMScheduler(\n    # beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    # )\n\n    # flaxddpms_scheduler = FlaxDDPMScheduler(\n    # beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    # )\n\n    # flaxpndms_scheduler = FlaxPNDMScheduler(\n    # beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    # )\n\n    ddpms_scheduler = DDPMScheduler(\n        beta_start=beta_start, beta_end=beta_end, beta_schedule=beta_schedule\n    )\n\n    SCHEDULERS = dict(\n        default=default_scheduler,\n        ddim=ddim_scheduler,\n        klms=klms_scheduler,\n        ddpms=ddpms_scheduler,\n        # flaxddims=flaxddims_scheduler,\n        # flaxddpms=flaxddpms_scheduler,\n        # flaxpndms=flaxpndms_scheduler,\n    )\n\n    with no_rerun:\n        with st.session_state[\"progress_bar_text\"].container():\n            with hc.HyLoader(\n                \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n            ):\n                load_diffusers_model(weights_path, torch_device)\n\n    if \"pipe\" not in server_state:\n        logger.error(\"wtf\")\n\n    server_state[\"pipe\"].scheduler = SCHEDULERS[scheduler]\n\n    server_state[\"pipe\"].use_multiprocessing_for_evaluation = False\n    server_state[\"pipe\"].use_multiprocessed_decoding = False\n\n    # if do_loop:\n    ##Makes the last prompt loop back to first prompt\n    # prompts = [prompts, prompts]\n    # seeds = [seeds, seeds]\n    # first_seed, *seeds = seeds\n    # prompts.append(prompts)\n    # seeds.append(first_seed)\n\n    with torch.autocast(\"cuda\"):\n        # get the conditional text embeddings based on the prompt\n        text_input = server_state[\"pipe\"].tokenizer(\n            prompts,\n            padding=\"max_length\",\n            max_length=server_state[\"pipe\"].tokenizer.model_max_length,\n            truncation=True,\n            return_tensors=\"pt\",\n        )\n        cond_embeddings = server_state[\"pipe\"].text_encoder(\n            text_input.input_ids.to(torch_device)\n        )[0]\n\n    #\n    if st.session_state.defaults.general.use_sd_concepts_library:\n        prompt_tokens = re.findall(\"<([a-zA-Z0-9-]+)>\", str(prompts))\n\n        if prompt_tokens:\n            # compviz\n            # tokenizer = (st.session_state[\"model\"] if not st.session_state['defaults'].general.optimized else st.session_state.modelCS).cond_stage_model.tokenizer\n            # text_encoder = (st.session_state[\"model\"] if not st.session_state['defaults'].general.optimized else st.session_state.modelCS).cond_stage_model.transformer\n\n            # diffusers\n            tokenizer = st.session_state.pipe.tokenizer\n            text_encoder = st.session_state.pipe.text_encoder\n\n            ext = (\"pt\", \"bin\")\n            # print (prompt_tokens)\n\n            if len(prompt_tokens) > 1:\n                for token_name in prompt_tokens:\n                    embedding_path = os.path.join(\n                        st.session_state[\"defaults\"].general.sd_concepts_library_folder,\n                        token_name,\n                    )\n                    if os.path.exists(embedding_path):\n                        for files in os.listdir(embedding_path):\n                            if files.endswith(ext):\n                                load_learned_embed_in_clip(\n                                    f\"{os.path.join(embedding_path, files)}\",\n                                    text_encoder,\n                                    tokenizer,\n                                    f\"<{token_name}>\",\n                                )\n            else:\n                embedding_path = os.path.join(\n                    st.session_state[\"defaults\"].general.sd_concepts_library_folder,\n                    prompt_tokens[0],\n                )\n                if os.path.exists(embedding_path):\n                    for files in os.listdir(embedding_path):\n                        if files.endswith(ext):\n                            load_learned_embed_in_clip(\n                                f\"{os.path.join(embedding_path, files)}\",\n                                text_encoder,\n                                tokenizer,\n                                f\"<{prompt_tokens[0]}>\",\n                            )\n\n    # sample a source\n    init1 = torch.randn(\n        (1, server_state[\"pipe\"].unet.in_channels, height // 8, width // 8),\n        device=torch_device,\n    )\n\n    # iterate the loop\n    frames = []\n    frame_index = 0\n\n    st.session_state[\"total_frames_avg_duration\"] = []\n    st.session_state[\"total_frames_avg_speed\"] = []\n\n    try:\n        # code for the new StableDiffusionWalkPipeline implementation.\n        start = timeit.default_timer()\n\n        # preview image works but its not the right way to use this, this also do not work properly as it only makes one image and then exits.\n        # with torch.autocast(\"cuda\"):\n        # StableDiffusionWalkPipeline.__call__(self=server_state[\"pipe\"],\n        # prompt=prompts, height=height, width=width, num_inference_steps=num_inference_steps, guidance_scale=cfg_scale,\n        # negative_prompt=\"\", num_images_per_prompt=1, eta=0.0,\n        # callback=txt2vid_generation_callback, callback_steps=1,\n        # num_interpolation_steps=num_steps,\n        # fps=30,\n        # image_file_ext = \".png\",\n        # output_dir=full_path,        # Where images/videos will be saved\n        ##name='animals_test',        # Subdirectory of output_dir where images/videos will be saved\n        # upsample = False,\n        ##do_loop=do_loop,           # Change to True if you want last prompt to loop back to first prompt\n        # resume = False,\n        # audio_filepath = None,\n        # audio_start_sec = None,\n        # margin = 1.0,\n        # smooth = 0.0,                                                             )\n\n        # works correctly generating all frames but do not show the preview image\n        # we also do not have control over the generation and cant stop it until the end of it.\n        # with torch.autocast(\"cuda\"):\n        # print (prompts)\n        # video_path = server_state[\"pipe\"].walk(\n        # prompt=prompts,\n        # seeds=seeds,\n        # num_interpolation_steps=num_steps,\n        # height=height,  # use multiples of 64 if > 512. Multiples of 8 if < 512.\n        # width=width,   # use multiples of 64 if > 512. Multiples of 8 if < 512.\n        # batch_size=4,\n        # fps=30,\n        # image_file_ext = \".png\",\n        # eta = 0.0,\n        # output_dir=full_path,        # Where images/videos will be saved\n        ##name='test',        # Subdirectory of output_dir where images/videos will be saved\n        # guidance_scale=cfg_scale,         # Higher adheres to prompt more, lower lets model take the wheel\n        # num_inference_steps=num_inference_steps,     # Number of diffusion steps per image generated. 50 is good default\n        # upsample = False,\n        ##do_loop=do_loop,           # Change to True if you want last prompt to loop back to first prompt\n        # resume = False,\n        # audio_filepath = None,\n        # audio_start_sec = None,\n        # margin = 1.0,\n        # smooth = 0.0,\n        # callback=txt2vid_generation_callback, # our callback function will be called with the arguments callback(step, timestep, latents)\n        # callback_steps=1 # our callback function will be called once this many steps are processed in a single frame\n        # )\n\n        # old code\n        total_frames = st.session_state.max_duration_in_seconds * fps\n\n        while frame_index + 1 <= total_frames:\n            st.session_state[\"frame_duration\"] = 0\n            st.session_state[\"frame_speed\"] = 0\n            st.session_state[\"current_frame\"] = frame_index\n\n            # print(f\"Second: {second_count+1}/{max_duration_in_seconds}\")\n\n            # sample the destination\n            init2 = torch.randn(\n                (1, server_state[\"pipe\"].unet.in_channels, height // 8, width // 8),\n                device=torch_device,\n            )\n\n            for i, t in enumerate(np.linspace(0, 1, num_steps)):\n                start = timeit.default_timer()\n                logger.info(f\"COUNT: {frame_index+1}/{total_frames}\")\n\n                if use_lerp_for_text:\n                    init = torch.lerp(init1, init2, float(t))\n                else:\n                    init = slerp(gpu, float(t), init1, init2)\n\n                # init = slerp(gpu, float(t), init1, init2)\n\n                with autocast(\"cuda\"):\n                    image = diffuse(\n                        server_state[\"pipe\"],\n                        cond_embeddings,\n                        init,\n                        num_inference_steps,\n                        cfg_scale,\n                        eta,\n                        fps=fps,\n                    )\n\n                if (\n                    st.session_state[\"save_individual_images\"]\n                    and not st.session_state[\"use_GFPGAN\"]\n                    and not st.session_state[\"use_RealESRGAN\"]\n                ):\n                    # im = Image.fromarray(image)\n                    outpath = os.path.join(full_path, \"frame%06d.png\" % frame_index)\n                    image.save(outpath, quality=quality)\n\n                    # send the image to the UI to update it\n                    # st.session_state[\"preview_image\"].image(im)\n\n                    # append the frames to the frames list so we can use them later.\n                    frames.append(np.asarray(image))\n\n                #\n                # try:\n                # if st.session_state[\"use_GFPGAN\"] and server_state[\"GFPGAN\"] is not None and not st.session_state[\"use_RealESRGAN\"]:\n                if (\n                    st.session_state[\"use_GFPGAN\"]\n                    and server_state[\"GFPGAN\"] is not None\n                ):\n                    # print(\"Running GFPGAN on image ...\")\n                    if \"progress_bar_text\" in st.session_state:\n                        st.session_state[\"progress_bar_text\"].text(\n                            \"Running GFPGAN on image ...\"\n                        )\n                    # skip_save = True # #287 >_>\n                    torch_gc()\n                    cropped_faces, restored_faces, restored_img = server_state[\n                        \"GFPGAN\"\n                    ].enhance(\n                        np.array(image)[:, :, ::-1],\n                        has_aligned=False,\n                        only_center_face=False,\n                        paste_back=True,\n                    )\n                    gfpgan_sample = restored_img[:, :, ::-1]\n                    gfpgan_image = Image.fromarray(gfpgan_sample)\n\n                    outpath = os.path.join(full_path, \"frame%06d.png\" % frame_index)\n                    gfpgan_image.save(outpath, quality=quality)\n\n                    # append the frames to the frames list so we can use them later.\n                    frames.append(np.asarray(gfpgan_image))\n                    try:\n                        st.session_state[\"preview_image\"].image(gfpgan_image)\n                    except KeyError:\n                        logger.error(\"Cant get session_state, skipping image preview.\")\n                # except (AttributeError, KeyError):\n                # print(\"Cant perform GFPGAN, skipping.\")\n\n                # increase frame_index counter.\n                frame_index += 1\n\n                st.session_state[\"current_frame\"] = frame_index\n\n                duration = timeit.default_timer() - start\n\n                if duration >= 1:\n                    speed = \"s/it\"\n                else:\n                    speed = \"it/s\"\n                    duration = 1 / duration\n\n                st.session_state[\"frame_duration\"] = duration\n                st.session_state[\"frame_speed\"] = speed\n                if frame_index + 1 > total_frames:\n                    break\n\n            init1 = init2\n\n        # save the video after the generation is done.\n        video_path = save_video_to_disk(\n            frames, seeds, sanitized_prompt, save_video=save_video, outdir=outdir\n        )\n\n    except StopException:\n        # reset the page title so the percent doesnt stay on it confusing the user.\n        set_page_title(\"Stable Diffusion Playground\")\n\n        if save_video_on_stop:\n            logger.info(\"Streamlit Stop Exception Received. Saving video\")\n            video_path = save_video_to_disk(\n                frames, seeds, sanitized_prompt, save_video=save_video, outdir=outdir\n            )\n        else:\n            video_path = None\n\n    # if video_path and \"preview_video\" in st.session_state:\n    ## show video preview on the UI\n    # st.session_state[\"preview_video\"].video(open(video_path, 'rb').read())\n\n    mem_max_used, mem_total = mem_mon.read_and_stop()\n    time_diff = time.time() - start\n\n    info = f\"\"\"\n        {prompts}\n        Sampling Steps: {num_steps}, Sampler: {scheduler}, CFG scale: {cfg_scale}, Seed: {seeds}, Max Duration In Seconds: {max_duration_in_seconds}\"\"\".strip()\n    stats = f\"\"\"\n        Took { round(time_diff, 2) }s total ({ round(time_diff/(max_duration_in_seconds),2) }s per image)\n        Peak memory usage: { -(mem_max_used // -1_048_576) } MiB / { -(mem_total // -1_048_576) } MiB / { round(mem_max_used/mem_total*100, 3) }%\"\"\"\n\n    return video_path, seeds, info, stats\n\n\n#\ndef layout():\n    with st.form(\"txt2vid-inputs\"):\n        st.session_state[\"generation_mode\"] = \"txt2vid\"\n\n        input_col1, generate_col1 = st.columns([10, 1])\n        with input_col1:\n            # prompt = st.text_area(\"Input Text\",\"\")\n            placeholder = \"A corgi wearing a top hat as an oil painting.\"\n            prompt = st.text_area(\"Input Text\", \"\", placeholder=placeholder, height=54)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].general.enable_suggestions:\n                    sygil_suggestions.suggestion_area(placeholder)\n\n            if \"defaults\" in st.session_state:\n                if st.session_state[\"defaults\"].admin.global_negative_prompt:\n                    prompt += f\"### {st.session_state['defaults'].admin.global_negative_prompt}\"\n\n        # Every form must have a submit button, the extra blank spaces is a temp way to align it with the input field. Needs to be done in CSS or some other way.\n        generate_col1.write(\"\")\n        generate_col1.write(\"\")\n        generate_button = generate_col1.form_submit_button(\"Generate\")\n\n        # creating the page layout using columns\n        col1, col2, col3 = st.columns([2, 5, 2], gap=\"large\")\n\n        with col1:\n            width = st.slider(\n                \"Width:\",\n                min_value=st.session_state[\"defaults\"].txt2vid.width.min_value,\n                max_value=st.session_state[\"defaults\"].txt2vid.width.max_value,\n                value=st.session_state[\"defaults\"].txt2vid.width.value,\n                step=st.session_state[\"defaults\"].txt2vid.width.step,\n            )\n            height = st.slider(\n                \"Height:\",\n                min_value=st.session_state[\"defaults\"].txt2vid.height.min_value,\n                max_value=st.session_state[\"defaults\"].txt2vid.height.max_value,\n                value=st.session_state[\"defaults\"].txt2vid.height.value,\n                step=st.session_state[\"defaults\"].txt2vid.height.step,\n            )\n            cfg_scale = st.number_input(\n                \"CFG (Classifier Free Guidance Scale):\",\n                min_value=st.session_state[\"defaults\"].txt2vid.cfg_scale.min_value,\n                value=st.session_state[\"defaults\"].txt2vid.cfg_scale.value,\n                step=st.session_state[\"defaults\"].txt2vid.cfg_scale.step,\n                help=\"How strongly the image should follow the prompt.\",\n            )\n\n            # uploaded_images = st.file_uploader(\"Upload Image\", accept_multiple_files=False, type=[\"png\", \"jpg\", \"jpeg\", \"webp\"],\n            # help=\"Upload an image which will be used for the image to image generation.\")\n            seed = st.text_input(\n                \"Seed:\",\n                value=st.session_state[\"defaults\"].txt2vid.seed,\n                help=\" The seed to use, if left blank a random seed will be generated.\",\n            )\n            # batch_count = st.slider(\"Batch count.\", min_value=1, max_value=100, value=st.session_state['defaults'].txt2vid.batch_count,\n            # step=1, help=\"How many iterations or batches of images to generate in total.\")\n            # batch_size = st.slider(\"Batch size\", min_value=1, max_value=250, value=st.session_state['defaults'].txt2vid.batch_size, step=1,\n            # help=\"How many images are at once in a batch.\\\n            # It increases the VRAM usage a lot but if you have enough VRAM it can reduce the time it takes to finish generation as more images are generated at once.\\\n            # Default: 1\")\n\n            st.session_state[\"max_duration_in_seconds\"] = st.number_input(\n                \"Max Duration In Seconds:\",\n                value=st.session_state[\"defaults\"].txt2vid.max_duration_in_seconds,\n                help=\"Specify the max duration in seconds you want your video to be.\",\n            )\n\n            st.session_state[\"fps\"] = st.number_input(\n                \"Frames per Second (FPS):\",\n                value=st.session_state[\"defaults\"].txt2vid.fps,\n                help=\"Specify the frame rate of the video.\",\n            )\n\n            with st.expander(\"Preview Settings\"):\n                # st.session_state[\"update_preview\"] = st.checkbox(\"Update Image Preview\", value=st.session_state['defaults'].txt2vid.update_preview,\n                # help=\"If enabled the image preview will be updated during the generation instead of at the end. \\\n                # You can use the Update Preview \\Frequency option bellow to customize how frequent it's updated. \\\n                # By default this is enabled and the frequency is set to 1 step.\")\n\n                st.session_state[\"update_preview\"] = st.session_state[\n                    \"defaults\"\n                ].general.update_preview\n                st.session_state[\"update_preview_frequency\"] = st.number_input(\n                    \"Update Image Preview Frequency\",\n                    min_value=0,\n                    value=st.session_state[\"defaults\"].txt2vid.update_preview_frequency,\n                    help=\"Frequency in steps at which the the preview image is updated. By default the frequency \\\n\t\t\t\t                                                               is set to 1 step.\",\n                )\n\n                st.session_state[\"dynamic_preview_frequency\"] = st.checkbox(\n                    \"Dynamic Preview Frequency\",\n                    value=st.session_state[\n                        \"defaults\"\n                    ].txt2vid.dynamic_preview_frequency,\n                    help=\"This option tries to find the best value at which we can update \\\n\t\t\t\t\t                                               the preview image during generation while minimizing the impact it has in performance. Default: True\",\n                )\n\n            #\n\n    with col2:\n        preview_tab, gallery_tab = st.tabs([\"Preview\", \"Gallery\"])\n\n        with preview_tab:\n            # st.write(\"Image\")\n            # Image for testing\n            # image = Image.open(requests.get(\"https://icon-library.com/images/image-placeholder-icon/image-placeholder-icon-13.jpg\", stream=True).raw).convert('RGB')\n            # new_image = image.resize((175, 240))\n            # preview_image = st.image(image)\n\n            # create an empty container for the image, progress bar, etc so we can update it later and use session_state to hold them globally.\n            st.session_state[\"preview_image\"] = st.empty()\n\n            st.session_state[\"loading\"] = st.empty()\n\n            st.session_state[\"progress_bar_text\"] = st.empty()\n            st.session_state[\"progress_bar\"] = st.empty()\n\n            # generate_video = st.empty()\n            st.session_state[\"preview_video\"] = st.empty()\n            preview_video = st.session_state[\"preview_video\"]\n\n            message = st.empty()\n\n        with gallery_tab:\n            st.write(\n                \"Here should be the image gallery, if I could make a grid in streamlit.\"\n            )\n\n    with col3:\n        # If we have custom models available on the \"models/custom\"\n        # folder then we show a menu to select which model we want to use, otherwise we use the main model for SD\n        custom_models_available()\n        if server_state[\"CustomModel_available\"]:\n            custom_model = st.selectbox(\n                \"Custom Model:\",\n                st.session_state[\"defaults\"].txt2vid.custom_models_list,\n                index=st.session_state[\"defaults\"].txt2vid.custom_models_list.index(\n                    st.session_state[\"defaults\"].txt2vid.default_model\n                ),\n                help=\"Select the model you want to use. This option is only available if you have custom models \\\n\t\t\t\t                            on your 'models/custom' folder. The model name that will be shown here is the same as the name\\\n\t\t\t\t                            the file for the model has on said folder, it is recommended to give the .ckpt file a name that \\\n\t\t\t\t                        will make it easier for you to distinguish it from other models. Default: Stable Diffusion v1.5\",\n            )\n        else:\n            custom_model = \"runwayml/stable-diffusion-v1-5\"\n\n        # st.session_state[\"weights_path\"] = custom_model\n        # else:\n        # custom_model = \"runwayml/stable-diffusion-v1-5\"\n        # st.session_state[\"weights_path\"] = f\"CompVis/{slugify(custom_model.lower())}\"\n\n        st.session_state.sampling_steps = st.number_input(\n            \"Sampling Steps\",\n            value=st.session_state[\"defaults\"].txt2vid.sampling_steps.value,\n            min_value=st.session_state[\"defaults\"].txt2vid.sampling_steps.min_value,\n            step=st.session_state[\"defaults\"].txt2vid.sampling_steps.step,\n            help=\"Number of steps between each pair of sampled points\",\n        )\n\n        st.session_state.num_inference_steps = st.number_input(\n            \"Inference Steps:\",\n            value=st.session_state[\"defaults\"].txt2vid.num_inference_steps.value,\n            min_value=st.session_state[\n                \"defaults\"\n            ].txt2vid.num_inference_steps.min_value,\n            step=st.session_state[\"defaults\"].txt2vid.num_inference_steps.step,\n            help=\"Higher values (e.g. 100, 200 etc) can create better images.\",\n        )\n\n        # sampler_name_list = [\"k_lms\", \"k_euler\", \"k_euler_a\", \"k_dpm_2\", \"k_dpm_2_a\",  \"k_heun\", \"PLMS\", \"DDIM\"]\n        # sampler_name = st.selectbox(\"Sampling method\", sampler_name_list,\n        # index=sampler_name_list.index(st.session_state['defaults'].txt2vid.default_sampler), help=\"Sampling method to use. Default: k_euler\")\n        scheduler_name_list = [\n            \"klms\",\n            \"ddim\",\n            \"ddpms\",\n            # \"flaxddims\", \"flaxddpms\", \"flaxpndms\"\n        ]\n        scheduler_name = st.selectbox(\n            \"Scheduler:\",\n            scheduler_name_list,\n            index=scheduler_name_list.index(\n                st.session_state[\"defaults\"].txt2vid.scheduler_name\n            ),\n            help=\"Scheduler to use. Default: klms\",\n        )\n\n        beta_scheduler_type_list = [\"scaled_linear\", \"linear\"]\n        beta_scheduler_type = st.selectbox(\n            \"Beta Schedule Type:\",\n            beta_scheduler_type_list,\n            index=beta_scheduler_type_list.index(\n                st.session_state[\"defaults\"].txt2vid.beta_scheduler_type\n            ),\n            help=\"Schedule Type to use. Default: linear\",\n        )\n\n        # basic_tab, advanced_tab = st.tabs([\"Basic\", \"Advanced\"])\n\n        # with basic_tab:\n        # summit_on_enter = st.radio(\"Submit on enter?\", (\"Yes\", \"No\"), horizontal=True,\n        # help=\"Press the Enter key to summit, when 'No' is selected you can use the Enter key to write multiple lines.\")\n\n        with st.expander(\"Advanced\"):\n            with st.expander(\"Output Settings\"):\n                st.session_state[\"separate_prompts\"] = st.checkbox(\n                    \"Create Prompt Matrix.\",\n                    value=st.session_state[\"defaults\"].txt2vid.separate_prompts,\n                    help=\"Separate multiple prompts using the `|` character, and get all combinations of them.\",\n                )\n                st.session_state[\"normalize_prompt_weights\"] = st.checkbox(\n                    \"Normalize Prompt Weights.\",\n                    value=st.session_state[\"defaults\"].txt2vid.normalize_prompt_weights,\n                    help=\"Ensure the sum of all weights add up to 1.0\",\n                )\n\n                st.session_state[\"save_individual_images\"] = st.checkbox(\n                    \"Save individual images.\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_individual_images,\n                    help=\"Save each image generated before any filter or enhancement is applied.\",\n                )\n\n                st.session_state[\"save_video\"] = st.checkbox(\n                    \"Save video\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_video,\n                    help=\"Save a video with all the images generated as frames at the end of the generation.\",\n                )\n\n                save_video_on_stop = st.checkbox(\n                    \"Save video on Stop\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_video_on_stop,\n                    help=\"Save a video with all the images generated as frames when we hit the stop button during a generation.\",\n                )\n\n                st.session_state[\"group_by_prompt\"] = st.checkbox(\n                    \"Group results by prompt\",\n                    value=st.session_state[\"defaults\"].txt2vid.group_by_prompt,\n                    help=\"Saves all the images with the same prompt into the same folder. When using a prompt \\\n\t\t\t\t                                                  matrix each prompt combination will have its own folder.\",\n                )\n\n                st.session_state[\"write_info_files\"] = st.checkbox(\n                    \"Write Info file\",\n                    value=st.session_state[\"defaults\"].txt2vid.write_info_files,\n                    help=\"Save a file next to the image with informartion about the generation.\",\n                )\n\n                st.session_state[\"do_loop\"] = st.checkbox(\n                    \"Do Loop\",\n                    value=st.session_state[\"defaults\"].txt2vid.do_loop,\n                    help=\"Loop the prompt making two prompts from a single one.\",\n                )\n\n                st.session_state[\"use_lerp_for_text\"] = st.checkbox(\n                    \"Use Lerp Instead of Slerp\",\n                    value=st.session_state[\"defaults\"].txt2vid.use_lerp_for_text,\n                    help=\"Uses torch.lerp() instead of slerp. When interpolating between related prompts. \\\n\t\t\t\t                                                    e.g. 'a lion in a grassy meadow' -> 'a bear in a grassy meadow' tends to keep the meadow \\\n\t\t\t\t                                                    the whole way through when lerped, but slerping will often find a path where the meadow \\\n\t\t\t\t                                                    disappears in the middle\",\n                )\n\n                st.session_state[\"save_as_jpg\"] = st.checkbox(\n                    \"Save samples as jpg\",\n                    value=st.session_state[\"defaults\"].txt2vid.save_as_jpg,\n                    help=\"Saves the images as jpg instead of png.\",\n                )\n\n            #\n            if \"GFPGAN_available\" not in st.session_state:\n                GFPGAN_available()\n\n            if \"RealESRGAN_available\" not in st.session_state:\n                RealESRGAN_available()\n\n            if \"LDSR_available\" not in st.session_state:\n                LDSR_available()\n\n            if (\n                st.session_state[\"GFPGAN_available\"]\n                or st.session_state[\"RealESRGAN_available\"]\n                or st.session_state[\"LDSR_available\"]\n            ):\n                with st.expander(\"Post-Processing\"):\n                    face_restoration_tab, upscaling_tab = st.tabs(\n                        [\"Face Restoration\", \"Upscaling\"]\n                    )\n                    with face_restoration_tab:\n                        # GFPGAN used for face restoration\n                        if st.session_state[\"GFPGAN_available\"]:\n                            # with st.expander(\"Face Restoration\"):\n                            # if st.session_state[\"GFPGAN_available\"]:\n                            # with st.expander(\"GFPGAN\"):\n                            st.session_state[\"use_GFPGAN\"] = st.checkbox(\n                                \"Use GFPGAN\",\n                                value=st.session_state[\"defaults\"].txt2vid.use_GFPGAN,\n                                help=\"Uses the GFPGAN model to improve faces after the generation.\\\n\t\t\t\t\t\t                                                                 This greatly improve the quality and consistency of faces but uses\\\n\t\t\t\t\t\t                                                                 extra VRAM. Disable if you need the extra VRAM.\",\n                            )\n\n                            st.session_state[\"GFPGAN_model\"] = st.selectbox(\n                                \"GFPGAN model\",\n                                st.session_state[\"GFPGAN_models\"],\n                                index=st.session_state[\"GFPGAN_models\"].index(\n                                    st.session_state[\"defaults\"].general.GFPGAN_model\n                                ),\n                            )\n\n                            # st.session_state[\"GFPGAN_strenght\"] = st.slider(\"Effect Strenght\", min_value=1, max_value=100, value=1, step=1, help='')\n\n                        else:\n                            st.session_state[\"use_GFPGAN\"] = False\n\n                    with upscaling_tab:\n                        st.session_state[\"us_upscaling\"] = st.checkbox(\n                            \"Use Upscaling\",\n                            value=st.session_state[\"defaults\"].txt2vid.use_upscaling,\n                        )\n                        # RealESRGAN and LDSR used for upscaling.\n                        if (\n                            st.session_state[\"RealESRGAN_available\"]\n                            or st.session_state[\"LDSR_available\"]\n                        ):\n                            upscaling_method_list = []\n                            if st.session_state[\"RealESRGAN_available\"]:\n                                upscaling_method_list.append(\"RealESRGAN\")\n                            if st.session_state[\"LDSR_available\"]:\n                                upscaling_method_list.append(\"LDSR\")\n\n                            st.session_state[\"upscaling_method\"] = st.selectbox(\n                                \"Upscaling Method\",\n                                upscaling_method_list,\n                                index=upscaling_method_list.index(\n                                    st.session_state[\n                                        \"defaults\"\n                                    ].general.upscaling_method\n                                )\n                                if st.session_state[\"defaults\"].general.upscaling_method\n                                in upscaling_method_list\n                                else 0,\n                            )\n\n                            if st.session_state[\"RealESRGAN_available\"]:\n                                with st.expander(\"RealESRGAN\"):\n                                    if (\n                                        st.session_state[\"upscaling_method\"]\n                                        == \"RealESRGAN\"\n                                        and st.session_state[\"us_upscaling\"]\n                                    ):\n                                        st.session_state[\"use_RealESRGAN\"] = True\n                                    else:\n                                        st.session_state[\"use_RealESRGAN\"] = False\n\n                                    st.session_state[\"RealESRGAN_model\"] = st.selectbox(\n                                        \"RealESRGAN model\",\n                                        st.session_state[\"RealESRGAN_models\"],\n                                        index=st.session_state[\n                                            \"RealESRGAN_models\"\n                                        ].index(\n                                            st.session_state[\n                                                \"defaults\"\n                                            ].general.RealESRGAN_model\n                                        ),\n                                    )\n                            else:\n                                st.session_state[\"use_RealESRGAN\"] = False\n                                st.session_state[\n                                    \"RealESRGAN_model\"\n                                ] = \"RealESRGAN_x4plus\"\n\n                            #\n                            if st.session_state[\"LDSR_available\"]:\n                                with st.expander(\"LDSR\"):\n                                    if (\n                                        st.session_state[\"upscaling_method\"] == \"LDSR\"\n                                        and st.session_state[\"us_upscaling\"]\n                                    ):\n                                        st.session_state[\"use_LDSR\"] = True\n                                    else:\n                                        st.session_state[\"use_LDSR\"] = False\n\n                                    st.session_state[\"LDSR_model\"] = st.selectbox(\n                                        \"LDSR model\",\n                                        st.session_state[\"LDSR_models\"],\n                                        index=st.session_state[\"LDSR_models\"].index(\n                                            st.session_state[\n                                                \"defaults\"\n                                            ].general.LDSR_model\n                                        ),\n                                    )\n\n                                    st.session_state[\n                                        \"ldsr_sampling_steps\"\n                                    ] = st.number_input(\n                                        \"Sampling Steps\",\n                                        value=st.session_state[\n                                            \"defaults\"\n                                        ].txt2vid.LDSR_config.sampling_steps,\n                                        help=\"\",\n                                    )\n\n                                    st.session_state[\"preDownScale\"] = st.number_input(\n                                        \"PreDownScale\",\n                                        value=st.session_state[\n                                            \"defaults\"\n                                        ].txt2vid.LDSR_config.preDownScale,\n                                        help=\"\",\n                                    )\n\n                                    st.session_state[\"postDownScale\"] = st.number_input(\n                                        \"postDownScale\",\n                                        value=st.session_state[\n                                            \"defaults\"\n                                        ].txt2vid.LDSR_config.postDownScale,\n                                        help=\"\",\n                                    )\n\n                                    downsample_method_list = [\"Nearest\", \"Lanczos\"]\n                                    st.session_state[\n                                        \"downsample_method\"\n                                    ] = st.selectbox(\n                                        \"Downsample Method\",\n                                        downsample_method_list,\n                                        index=downsample_method_list.index(\n                                            st.session_state[\n                                                \"defaults\"\n                                            ].txt2vid.LDSR_config.downsample_method\n                                        ),\n                                    )\n\n                            else:\n                                st.session_state[\"use_LDSR\"] = False\n                                st.session_state[\"LDSR_model\"] = \"model\"\n\n            with st.expander(\"Variant\"):\n                st.session_state[\"variant_amount\"] = st.number_input(\n                    \"Variant Amount:\",\n                    value=st.session_state[\"defaults\"].txt2vid.variant_amount.value,\n                    min_value=st.session_state[\n                        \"defaults\"\n                    ].txt2vid.variant_amount.min_value,\n                    max_value=st.session_state[\n                        \"defaults\"\n                    ].txt2vid.variant_amount.max_value,\n                    step=st.session_state[\"defaults\"].txt2vid.variant_amount.step,\n                )\n\n                st.session_state[\"variant_seed\"] = st.text_input(\n                    \"Variant Seed:\",\n                    value=st.session_state[\"defaults\"].txt2vid.seed,\n                    help=\"The seed to use when generating a variant, if left blank a random seed will be generated.\",\n                )\n\n            # st.session_state[\"beta_start\"] = st.slider(\"Beta Start:\", value=st.session_state['defaults'].txt2vid.beta_start.value,\n            # min_value=st.session_state['defaults'].txt2vid.beta_start.min_value,\n            # max_value=st.session_state['defaults'].txt2vid.beta_start.max_value,\n            # step=st.session_state['defaults'].txt2vid.beta_start.step, format=st.session_state['defaults'].txt2vid.beta_start.format)\n            # st.session_state[\"beta_end\"] = st.slider(\"Beta End:\", value=st.session_state['defaults'].txt2vid.beta_end.value,\n            # min_value=st.session_state['defaults'].txt2vid.beta_end.min_value, max_value=st.session_state['defaults'].txt2vid.beta_end.max_value,\n            # step=st.session_state['defaults'].txt2vid.beta_end.step, format=st.session_state['defaults'].txt2vid.beta_end.format)\n\n    if generate_button:\n        # print(\"Loading models\")\n        # load the models when we hit the generate button for the first time, it wont be loaded after that so dont worry.\n        # load_models(False, st.session_state[\"use_GFPGAN\"], True, st.session_state[\"RealESRGAN_model\"])\n        # with no_rerun:\n        if st.session_state[\"use_GFPGAN\"]:\n            if \"GFPGAN\" in server_state:\n                logger.info(\"GFPGAN already loaded\")\n            else:\n                with col2:\n                    with hc.HyLoader(\n                        \"Loading Models...\", hc.Loaders.standard_loaders, index=[0]\n                    ):\n                        # Load GFPGAN\n                        if os.path.exists(\n                            st.session_state[\"defaults\"].general.GFPGAN_dir\n                        ):\n                            try:\n                                load_GFPGAN()\n                                logger.info(\"Loaded GFPGAN\")\n                            except Exception:\n                                import traceback\n\n                                logger.error(\"Error loading GFPGAN:\", file=sys.stderr)\n                                logger.error(traceback.format_exc(), file=sys.stderr)\n        else:\n            if \"GFPGAN\" in server_state:\n                del server_state[\"GFPGAN\"]\n\n        # try:\n        # run video generation\n        video, seed, info, stats = txt2vid(\n            prompts=prompt,\n            gpu=st.session_state[\"defaults\"].general.gpu,\n            num_steps=st.session_state.sampling_steps,\n            max_duration_in_seconds=st.session_state.max_duration_in_seconds,\n            num_inference_steps=st.session_state.num_inference_steps,\n            cfg_scale=cfg_scale,\n            save_video_on_stop=save_video_on_stop,\n            outdir=st.session_state[\"defaults\"].general.outdir,\n            do_loop=st.session_state[\"do_loop\"],\n            use_lerp_for_text=st.session_state[\"use_lerp_for_text\"],\n            seeds=seed,\n            quality=100,\n            eta=0.0,\n            width=width,\n            height=height,\n            weights_path=custom_model,\n            scheduler=scheduler_name,\n            disable_tqdm=False,\n            beta_start=st.session_state[\"defaults\"].txt2vid.beta_start.value,\n            beta_end=st.session_state[\"defaults\"].txt2vid.beta_end.value,\n            beta_schedule=beta_scheduler_type,\n            starting_image=None,\n            fps=st.session_state.fps,\n        )\n\n        if video and save_video_on_stop:\n            if os.path.exists(video):  # temporary solution to bypass exception\n                # show video preview on the UI after we hit the stop button\n                # currently not working as session_state is cleared on StopException\n                preview_video.video(open(video, \"rb\").read())\n\n        # message.success('Done!', icon=\"✅\")\n        message.success(\"Render Complete: \" + info + \"; Stats: \" + stats, icon=\"✅\")\n\n        # history_tab,col1,col2,col3,PlaceHolder,col1_cont,col2_cont,col3_cont = st.session_state['historyTab']\n\n        # if 'latestVideos' in st.session_state:\n        # for i in video:\n        ##push the new image to the list of latest images and remove the oldest one\n        ##remove the last index from the list\\\n        # st.session_state['latestVideos'].pop()\n        ##add the new image to the start of the list\n        # st.session_state['latestVideos'].insert(0, i)\n        # PlaceHolder.empty()\n\n        # with PlaceHolder.container():\n        # col1, col2, col3 = st.columns(3)\n        # col1_cont = st.container()\n        # col2_cont = st.container()\n        # col3_cont = st.container()\n\n        # with col1_cont:\n        # with col1:\n        # st.image(st.session_state['latestVideos'][0])\n        # st.image(st.session_state['latestVideos'][3])\n        # st.image(st.session_state['latestVideos'][6])\n        # with col2_cont:\n        # with col2:\n        # st.image(st.session_state['latestVideos'][1])\n        # st.image(st.session_state['latestVideos'][4])\n        # st.image(st.session_state['latestVideos'][7])\n        # with col3_cont:\n        # with col3:\n        # st.image(st.session_state['latestVideos'][2])\n        # st.image(st.session_state['latestVideos'][5])\n        # st.image(st.session_state['latestVideos'][8])\n        # historyGallery = st.empty()\n\n        ## check if output_images length is the same as seeds length\n        # with gallery_tab:\n        # st.markdown(createHTMLGallery(video,seed), unsafe_allow_html=True)\n\n        # st.session_state['historyTab'] = [history_tab,col1,col2,col3,PlaceHolder,col1_cont,col2_cont,col3_cont]\n\n        # except (StopException, KeyError):\n        # print(f\"Received Streamlit StopException\")\n"
  },
  {
    "path": "webui/streamlit/scripts/webui_streamlit.py",
    "content": "# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\n# base webui import and utils.\n# import streamlit as st\n\n# We import hydralit like this to replace the previous stuff\n# we had with native streamlit as it lets ur replace things 1:1\nfrom sd_utils import (\n    st,\n    hc,\n    load_configs,\n    load_css,\n    set_logger_verbosity,\n    logger,\n    quiesce_logger,\n    set_page_title,\n)\n\n# streamlit imports\n\n# streamlit components section\n# from st_on_hover_tabs import on_hover_tabs\n# from streamlit_server_state import server_state, server_state_lock\n\n# other imports\nimport argparse\n\n# from sd_utils.bridge import run_bridge\n\n# import custom components\nfrom custom_components import draggable_number_input\n\n# end of imports\n# ---------------------------------------------------------------------------------------------------------------\n\nload_configs()\n\nhelp = \"\"\"\nA double dash (`--`) is used to separate streamlit arguments from app arguments.\nAs a result using \"streamlit run webui_streamlit.py --headless\"\nwill show the help for streamlit itself and not pass any argument to our app,\nwe need to use \"streamlit run webui_streamlit.py -- --headless\"\nin order to pass a command argument to this app.\"\"\"\nparser = argparse.ArgumentParser(formatter_class=argparse.ArgumentDefaultsHelpFormatter)\n\nparser.add_argument(\n    \"--headless\",\n    action=\"store_true\",\n    help=\"Don't launch web server, util if you just want to run the stable horde bridge.\",\n    default=False,\n)\n\nparser.add_argument(\n    \"--bridge\",\n    action=\"store_true\",\n    help=\"don't launch web server, but make this instance into a Horde bridge.\",\n    default=False,\n)\nparser.add_argument(\n    \"--horde_api_key\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The API key corresponding to the owner of this Horde instance\",\n)\nparser.add_argument(\n    \"--horde_name\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The server name for the Horde. It will be shown to the world and there can be only one.\",\n)\nparser.add_argument(\n    \"--horde_url\",\n    action=\"store\",\n    required=False,\n    type=str,\n    help=\"The SH Horde URL. Where the bridge will pickup prompts and send the finished generations.\",\n)\nparser.add_argument(\n    \"--horde_priority_usernames\",\n    type=str,\n    action=\"append\",\n    required=False,\n    help=\"Usernames which get priority use in this horde instance. The owner's username is always in this list.\",\n)\nparser.add_argument(\n    \"--horde_max_power\",\n    type=int,\n    required=False,\n    help=\"How much power this instance has to generate pictures. Min: 2\",\n)\nparser.add_argument(\n    \"--horde_sfw\",\n    action=\"store_true\",\n    required=False,\n    help=\"Set to true if you do not want this worker generating NSFW images.\",\n)\nparser.add_argument(\n    \"--horde_blacklist\",\n    nargs=\"+\",\n    required=False,\n    help=\"List the words that you want to blacklist.\",\n)\nparser.add_argument(\n    \"--horde_censorlist\",\n    nargs=\"+\",\n    required=False,\n    help=\"List the words that you want to censor.\",\n)\nparser.add_argument(\n    \"--horde_censor_nsfw\",\n    action=\"store_true\",\n    required=False,\n    help=\"Set to true if you want this bridge worker to censor NSFW images.\",\n)\nparser.add_argument(\n    \"--horde_model\",\n    action=\"store\",\n    required=False,\n    help=\"Which model to run on this horde.\",\n)\nparser.add_argument(\n    \"-v\",\n    \"--verbosity\",\n    action=\"count\",\n    default=0,\n    help=\"The default logging level is ERROR or higher. This value increases the amount of logging seen in your screen\",\n)\nparser.add_argument(\n    \"-q\",\n    \"--quiet\",\n    action=\"count\",\n    default=0,\n    help=\"The default logging level is ERROR or higher. This value decreases the amount of logging seen in your screen\",\n)\nopt = parser.parse_args()\n\n# with server_state_lock[\"bridge\"]:\n# server_state[\"bridge\"] = opt.bridge\n\n\n@logger.catch(reraise=True)\ndef layout():\n    \"\"\"Layout functions to define all the streamlit layout here.\"\"\"\n    if not st.session_state[\"defaults\"].debug.enable_hydralit:\n        st.set_page_config(\n            page_title=\"Stable Diffusion Playground\",\n            layout=\"wide\",\n            initial_sidebar_state=\"collapsed\",\n        )\n\n    # app = st.HydraApp(title='Stable Diffusion WebUI', favicon=\"\", sidebar_state=\"expanded\", layout=\"wide\",\n    # hide_streamlit_markers=False, allow_url_nav=True , clear_cross_app_sessions=False)\n\n    # load css as an external file, function has an option to local or remote url. Potential use when running from cloud infra that might not have access to local path.\n    load_css(True, \"frontend/css/streamlit.main.css\")\n\n    #\n    # specify the primary menu definition\n    menu_data = [\n        {\n            \"id\": \"Stable Diffusion\",\n            \"label\": \"Stable Diffusion\",\n            \"icon\": \"bi bi-grid-1x2-fill\",\n        },\n        {\n            \"id\": \"Train\",\n            \"label\": \"Train\",\n            \"icon\": \"bi bi-lightbulb-fill\",\n            \"submenu\": [\n                {\n                    \"id\": \"Textual Inversion\",\n                    \"label\": \"Textual Inversion\",\n                    \"icon\": \"bi bi-lightbulb-fill\",\n                },\n                {\n                    \"id\": \"Fine Tunning\",\n                    \"label\": \"Fine Tunning\",\n                    \"icon\": \"bi bi-lightbulb-fill\",\n                },\n            ],\n        },\n        {\n            \"id\": \"Model Manager\",\n            \"label\": \"Model Manager\",\n            \"icon\": \"bi bi-cloud-arrow-down-fill\",\n        },\n        {\n            \"id\": \"Tools\",\n            \"label\": \"Tools\",\n            \"icon\": \"bi bi-tools\",\n            \"submenu\": [\n                {\"id\": \"API Server\", \"label\": \"API Server\", \"icon\": \"bi bi-server\"},\n                {\n                    \"id\": \"Barfi/BaklavaJS\",\n                    \"label\": \"Barfi/BaklavaJS\",\n                    \"icon\": \"bi bi-diagram-3-fill\",\n                },\n                # {'id': 'API Server', 'label': 'API Server', 'icon': 'bi bi-server'},\n            ],\n        },\n        {\"id\": \"Settings\", \"label\": \"Settings\", \"icon\": \"bi bi-gear-fill\"},\n    ]\n\n    over_theme = {\"txc_inactive\": \"#FFFFFF\", \"menu_background\": \"#000000\"}\n\n    menu_id = hc.nav_bar(\n        menu_definition=menu_data,\n        # home_name='Home',\n        # login_name='Logout',\n        hide_streamlit_markers=False,\n        override_theme=over_theme,\n        sticky_nav=True,\n        sticky_mode=\"pinned\",\n    )\n\n    #\n    # if menu_id == \"Home\":\n    # st.info(\"Under Construction. :construction_worker:\")\n\n    if menu_id == \"Stable Diffusion\":\n        # set the page url and title\n        # st.experimental_set_query_params(page='stable-diffusion')\n        try:\n            set_page_title(\"Stable Diffusion Playground\")\n        except NameError:\n            st.experimental_rerun()\n\n        (\n            txt2img_tab,\n            img2img_tab,\n            txt2vid_tab,\n            img2txt_tab,\n            post_processing_tab,\n            concept_library_tab,\n        ) = st.tabs(\n            [\n                \"Text-to-Image\",\n                \"Image-to-Image\",\n                # \"Inpainting\",\n                \"Text-to-Video\",\n                \"Image-To-Text\",\n                \"Post-Processing\",\n                \"Concept Library\",\n            ]\n        )\n        # with home_tab:\n        # from home import layout\n        # layout()\n\n        with txt2img_tab:\n            from txt2img import layout\n\n            layout()\n\n        with img2img_tab:\n            from img2img import layout\n\n            layout()\n\n        # with inpainting_tab:\n        # from inpainting import layout\n        # layout()\n\n        with txt2vid_tab:\n            from txt2vid import layout\n\n            layout()\n\n        with img2txt_tab:\n            from img2txt import layout\n\n            layout()\n\n        with post_processing_tab:\n            from post_processing import layout\n\n            layout()\n\n        with concept_library_tab:\n            from sd_concept_library import layout\n\n            layout()\n\n    #\n    elif menu_id == \"Model Manager\":\n        set_page_title(\"Model Manager - Stable Diffusion Playground\")\n\n        from ModelManager import layout\n\n        layout()\n\n    elif menu_id == \"Textual Inversion\":\n        from textual_inversion import layout\n\n        layout()\n\n    elif menu_id == \"Fine Tunning\":\n        # from textual_inversion import layout\n        # layout()\n        st.info(\"Under Construction. :construction_worker:\")\n\n    elif menu_id == \"API Server\":\n        set_page_title(\"API Server - Stable Diffusion Playground\")\n        from APIServer import layout\n\n        layout()\n\n    elif menu_id == \"Barfi/BaklavaJS\":\n        set_page_title(\"Barfi/BaklavaJS - Stable Diffusion Playground\")\n        from barfi_baklavajs import layout\n\n        layout()\n\n    elif menu_id == \"Settings\":\n        set_page_title(\"Settings - Stable Diffusion Playground\")\n\n        from Settings import layout\n\n        layout()\n\n    # calling dragable input component module at the end, so it works on all pages\n    draggable_number_input.load()\n\n\nif __name__ == \"__main__\":\n    set_logger_verbosity(opt.verbosity)\n    quiesce_logger(opt.quiet)\n\n    if not opt.headless:\n        layout()\n\n    # with server_state_lock[\"bridge\"]:\n    # if server_state[\"bridge\"]:\n    # try:\n    # import bridgeData as cd\n    # except ModuleNotFoundError as e:\n    # logger.warning(\"No bridgeData found. Falling back to default where no CLI args are set.\")\n    # logger.debug(str(e))\n    # except SyntaxError as e:\n    # logger.warning(\"bridgeData found, but is malformed. Falling back to default where no CLI args are set.\")\n    # logger.debug(str(e))\n    # except Exception as e:\n    # logger.warning(\"No bridgeData found, use default where no CLI args are set\")\n    # logger.debug(str(e))\n    # finally:\n    # try: # check if cd exists (i.e. bridgeData loaded properly)\n    # cd\n    # except: # if not, create defaults\n    # class temp(object):\n    # def __init__(self):\n    # random.seed()\n    # self.horde_url = \"https://stablehorde.net\"\n    ## Give a cool name to your instance\n    # self.horde_name = f\"Automated Instance #{random.randint(-100000000, 100000000)}\"\n    ## The api_key identifies a unique user in the horde\n    # self.horde_api_key = \"0000000000\"\n    ## Put other users whose prompts you want to prioritize.\n    ## The owner's username is always included so you don't need to add it here, unless you want it to have lower priority than another user\n    # self.horde_priority_usernames = []\n    # self.horde_max_power = 8\n    # self.nsfw = True\n    # self.censor_nsfw = False\n    # self.blacklist = []\n    # self.censorlist = []\n    # self.models_to_load = [\"stable_diffusion\"]\n    # cd = temp()\n    # horde_api_key = opt.horde_api_key if opt.horde_api_key else cd.horde_api_key\n    # horde_name = opt.horde_name if opt.horde_name else cd.horde_name\n    # horde_url = opt.horde_url if opt.horde_url else cd.horde_url\n    # horde_priority_usernames = opt.horde_priority_usernames if opt.horde_priority_usernames else cd.horde_priority_usernames\n    # horde_max_power = opt.horde_max_power if opt.horde_max_power else cd.horde_max_power\n    ## Not used yet\n    # horde_models = [opt.horde_model] if opt.horde_model else cd.models_to_load\n    # try:\n    # horde_nsfw = not opt.horde_sfw if opt.horde_sfw else cd.horde_nsfw\n    # except AttributeError:\n    # horde_nsfw = True\n    # try:\n    # horde_censor_nsfw = opt.horde_censor_nsfw if opt.horde_censor_nsfw else cd.horde_censor_nsfw\n    # except AttributeError:\n    # horde_censor_nsfw = False\n    # try:\n    # horde_blacklist = opt.horde_blacklist if opt.horde_blacklist else cd.horde_blacklist\n    # except AttributeError:\n    # horde_blacklist = []\n    # try:\n    # horde_censorlist = opt.horde_censorlist if opt.horde_censorlist else cd.horde_censorlist\n    # except AttributeError:\n    # horde_censorlist = []\n    # if horde_max_power < 2:\n    # horde_max_power = 2\n    # horde_max_pixels = 64*64*8*horde_max_power\n    # logger.info(f\"Joining Horde with parameters: Server Name '{horde_name}'. Horde URL '{horde_url}'. Max Pixels {horde_max_pixels}\")\n\n    # try:\n    # thread = threading.Thread(target=run_bridge(1, horde_api_key, horde_name, horde_url,\n    # horde_priority_usernames, horde_max_pixels,\n    # horde_nsfw, horde_censor_nsfw, horde_blacklist,\n    # horde_censorlist), args=())\n    # thread.daemon = True\n    # thread.start()\n    ##run_bridge(1, horde_api_key, horde_name, horde_url, horde_priority_usernames, horde_max_pixels, horde_nsfw, horde_censor_nsfw, horde_blacklist, horde_censorlist)\n    # except KeyboardInterrupt:\n    # print(f\"Keyboard Interrupt Received. Ending Bridge\")\n"
  },
  {
    "path": "webui.cmd",
    "content": "@echo off\n:: This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n::\n:: Copyright 2022 Sygil-Dev team.\n:: This program is free software: you can redistribute it and/or modify\n:: it under the terms of the GNU Affero General Public License as published by\n:: the Free Software Foundation, either version 3 of the License, or\n:: (at your option) any later version.\n::\n:: This program is distributed in the hope that it will be useful,\n:: but WITHOUT ANY WARRANTY; without even the implied warranty of\n:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n:: GNU Affero General Public License for more details.\n::\n:: You should have received a copy of the GNU Affero General Public License\n:: along with this program.  If not, see <http://www.gnu.org/licenses/>.\n:: Run all commands using this script's directory as the working directory\ncd %~dp0\n\n:: copy over the first line from environment.yaml, e.g. name: ldm, and take the second word after splitting by \":\" delimiter\nfor /F \"tokens=2 delims=: \" %%i in (environment.yaml) DO (\n  set v_conda_env_name=%%i\n  goto EOL\n)\n:EOL\n\necho Environment name is set as %v_conda_env_name% as per environment.yaml\n\n:: Put the path to conda directory in a file called \"custom-conda-path.txt\" if it's installed at non-standard path\nIF EXIST custom-conda-path.txt (\n  FOR /F %%i IN (custom-conda-path.txt) DO set v_custom_path=%%i\n)\n\nset INSTALL_ENV_DIR=%cd%\\installer_files\\env\nset PATH=%INSTALL_ENV_DIR%;%INSTALL_ENV_DIR%\\Library\\bin;%INSTALL_ENV_DIR%\\Scripts;%INSTALL_ENV_DIR%\\Library\\usr\\bin;%PATH%\n\nset v_paths=%INSTALL_ENV_DIR%\nset v_paths=%v_paths%;%ProgramData%\\miniconda3\nset v_paths=%v_paths%;%USERPROFILE%\\miniconda3\nset v_paths=%v_paths%;%ProgramData%\\anaconda3\nset v_paths=%v_paths%;%USERPROFILE%\\anaconda3\n\nfor %%a in (%v_paths%) do (\n  IF NOT \"%v_custom_path%\"==\"\" (\n    set v_paths=%v_custom_path%;%v_paths%\n  )\n)\n\nfor %%a in (%v_paths%) do (\n  if EXIST \"%%a\\Scripts\\activate.bat\" (\n    SET v_conda_path=%%a\n    echo anaconda3/miniconda3 detected in %%a\n    goto :CONDA_FOUND\n  )\n)\n\nIF \"%v_conda_path%\"==\"\" (\n  echo anaconda3/miniconda3 not found. Install from here https://docs.conda.io/en/latest/miniconda.html\n  pause\n  exit /b 1\n)\n\n:CONDA_FOUND\necho Stashing local changes and pulling latest update...\ngit status --porcelain=1 -uno | findstr . && set \"HasChanges=1\" || set \"HasChanges=0\"\ncall git stash\ncall git pull\nIF \"%HasChanges%\" == \"0\" GOTO SKIP_RESTORE\n\nset /P restore=\"Do you want to restore changes you made before updating? (Y/N): \"\nIF /I \"%restore%\" == \"N\" (\n  echo Removing changes...\n  call git stash drop\n  echo Changes removed\n) ELSE IF /I \"%restore%\" == \"Y\" (\n  echo Restoring changes...\n  call git stash pop --quiet\n  echo Changes restored\n)\n\n:SKIP_RESTORE\ncall \"%v_conda_path%\\Scripts\\activate.bat\"\n\nfor /f \"delims=\" %%a in ('git log -1 --format^=\"%%H\" -- environment.yaml')  DO set v_cur_hash=%%a\nset /p \"v_last_hash=\"<\"z_version_env.tmp\"\necho %v_cur_hash%>z_version_env.tmp\n\necho Current  environment.yaml hash: %v_cur_hash%\necho Previous environment.yaml hash: %v_last_hash%\n\nif \"%v_last_hash%\" == \"%v_cur_hash%\" (\n  echo environment.yaml unchanged. dependencies should be up to date.\n  echo if you still have unresolved dependencies, delete \"z_version_env.tmp\"\n) else (\n  echo environment.yaml changed. updating dependencies\n  call conda env create --name \"%v_conda_env_name%\" -f environment.yaml\n  call conda env update --name \"%v_conda_env_name%\" -f environment.yaml\n)\n\n\ncall \"%v_conda_path%\\Scripts\\activate.bat\" \"%v_conda_env_name%\"\n\n:PROMPT\nset SETUPTOOLS_USE_DISTUTILS=stdlib\nIF EXIST \"models\\ldm\\stable-diffusion-v1\\Stable Diffusion v1.5.ckpt\" (\n  python -m streamlit run scripts\\webui_streamlit.py --theme.base dark\n) ELSE (\n  echo Your model file does not exist! Once the WebUI launches please visit the Model Manager page and download the models by using the Download button for each model.\n  python -m streamlit run scripts\\webui_streamlit.py --theme.base dark\n)\n\n::cmd /k\n"
  },
  {
    "path": "webui.sh",
    "content": "#!/bin/bash -i\n\n# This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n# Copyright 2022 Sygil-Dev team.\n# This program is free software: you can redistribute it and/or modify\n# it under the terms of the GNU Affero General Public License as published by\n# the Free Software Foundation, either version 3 of the License, or\n# (at your option) any later version.\n\n# This program is distributed in the hope that it will be useful,\n# but WITHOUT ANY WARRANTY; without even the implied warranty of\n# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n# GNU Affero General Public License for more details.\n\n# You should have received a copy of the GNU Affero General Public License\n# along with this program.  If not, see <http://www.gnu.org/licenses/>.\n# Start the Stable Diffusion WebUI for Linux Users\n\nDIRECTORY=\".\"\nENV_FILE=\"environment.yaml\"\nENV_NAME=\"ldm\"\nENV_MODIFIED=$(date -r $ENV_FILE \"+%s\")\nENV_MODIFED_FILE=\".env_updated\"\nENV_UPDATED=0\n\nINSTALL_ENV_DIR=\"$(pwd)/../installer_files/env\" # since linux-sd.sh clones the repo into a subfolder\nif [ -e \"$INSTALL_ENV_DIR\" ]; then export PATH=\"$INSTALL_ENV_DIR/bin:$PATH\"; fi\n\n# Models used for upscaling\nGFPGAN_MODEL=\"https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth\"\nLATENT_DIFFUSION_REPO=\"https://github.com/devilismyfriend/latent-diffusion.git\"\nLSDR_CONFIG=\"https://heibox.uni-heidelberg.de/f/31a76b13ea27482981b4/?dl=1\"\nLSDR_MODEL=\"https://heibox.uni-heidelberg.de/f/578df07c8fc04ffbadf3/?dl=1\"\nREALESRGAN_MODEL=\"https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth\"\nREALESRGAN_ANIME_MODEL=\"https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth\"\nSD_CONCEPT_REPO=\"https://github.com/Sygil-Dev/sd-concepts-library/archive/refs/heads/main.zip\"\n\n\nif [[ -f $ENV_MODIFED_FILE ]]; then\n    ENV_MODIFIED_CACHED=$(<${ENV_MODIFED_FILE})\nelse\n    ENV_MODIFIED_CACHED=0\nfi\n\n# Setup the Conda env for the project. This will also handle updating the env as needed too.\nconda_env_setup () {\n    # Set conda path if it is not already in default environment\n    CUSTOM_CONDA_PATH=\n\n    # Allow setting custom path via file to allow updates of this script without undoing custom path\n    if [ -f custom-conda-path.txt ]; then\n        CUSTOM_CONDA_PATH=$(cat custom-conda-path.txt)\n    fi\n\n    # If a custom conda isn't specified, and the installer downloaded conda for the user, then use that\n    if [ -f \"$INSTALL_ENV_DIR/etc/profile.d/conda.sh\" ] && [ \"$CUSTOM_CONDA_PATH\" == \"\" ]; then\n        . \"$INSTALL_ENV_DIR/etc/profile.d/conda.sh\"\n    fi\n\n    # If custom path is set above, try to setup conda environment\n    if [ -f \"${CUSTOM_CONDA_PATH}/etc/profile.d/conda.sh\" ]; then\n        . \"${CUSTOM_CONDA_PATH}/etc/profile.d/conda.sh\"\n    elif [ -n \"${CUSTOM_CONDA_PATH}\" ] && [ -f \"${CUSTOM_CONDA_PATH}/bin\" ]; then\n        export PATH=\"${CUSTOM_CONDA_PATH}/bin:$PATH\"\n    fi\n\n    if ! command -v conda >/dev/null; then\n        printf \"Anaconda3 not found. Install from here https://www.anaconda.com/products/distribution\\n\"\n        exit 1\n    fi\n\n    # Create/update conda env if needed\n    if ! conda env list | grep \".*${ENV_NAME}.*\" >/dev/null 2>&1; then\n        printf \"Could not find conda env: ${ENV_NAME} ... creating ... \\n\\n\"\n        conda env create -f $ENV_FILE\n        ENV_UPDATED=1\n    elif [[ ! -z $CONDA_FORCE_UPDATE && $CONDA_FORCE_UPDATE == \"true\" ]] || (( $ENV_MODIFIED > $ENV_MODIFIED_CACHED )); then\n        printf \"Updating conda env: ${ENV_NAME} ...\\n\\n\"\n        PIP_EXISTS_ACTION=w conda env update --file $ENV_FILE --prune\n        ENV_UPDATED=1\n    fi\n\n    # Clear artifacts from conda after create/update\n    if (( $ENV_UPDATED > 0 )); then\n        conda clean --all\n        echo -n $ENV_MODIFIED > $ENV_MODIFED_FILE\n    fi\n}\n\n# Activate conda environment\nconda_env_activation () {\n    conda activate $ENV_NAME\n    conda info | grep active\n}\n\n# Checks to see if the upscaling models exist in their correct locations. If they do not they will be downloaded as required\npost_processor_model_loading () {\n    # Check to see if GFPGAN has been added yet, if not it will download it and place it in the proper directory\n    if [ -f \"$DIRECTORY/models/gfpgan/GFPGANv1.3.pth\" ]; then\n        printf \"GFPGAN already exists. Continuing...\\n\\n\"\n    else\n        printf \"Downloading GFPGAN model. Please wait...\\n\"\n        wget $GFPGAN_MODEL -P $DIRECTORY/models/gfpgan\n    fi\n\n    # Check to see if realESRGAN has been added yet, if not it will download it and place it in the proper directory\n    if [ -f \"$DIRECTORY/models/realesrgan/RealESRGAN_x4plus.pth\" ]; then\n        printf \"realESRGAN already exists. Continuing...\\n\\n\"\n    else\n        printf \"Downloading realESRGAN model. Please wait...\\n\"\n        wget $REALESRGAN_MODEL -P $DIRECTORY/models/realesrgan\n        wget $REALESRGAN_ANIME_MODEL -P $DIRECTORY/models/realesrgan\n    fi\n\n    # Check to see if LDSR has been added yet, if not it will be cloned and its models downloaded to the correct directory\n    if [ -f \"$DIRECTORY/models/ldsr/model.ckpt\" ]; then\n        printf \"LDSR already exists. Continuing...\\n\\n\"\n    else\n        printf \"Cloning LDSR and downloading model. Please wait...\\n\"\n        git clone $LATENT_DIFFUSION_REPO\n        mv latent-diffusion $DIRECTORY/models/ldsr\n        mkdir $DIRECTORY/models/ldsr/experiments\n        mkdir $DIRECTORY/models/ldsr\n        wget $LSDR_CONFIG -P $DIRECTORY/models/ldsr\n        mv $DIRECTORY/models/ldsr/index.html?dl=1 $DIRECTORY/models/ldsr/project.yaml\n        wget $LSDR_MODEL -P $DIRECTORY/models/ldsr\n        mv $DIRECTORY/models/ldsr/index.html?dl=1 $DIRECTORY/models/ldsr/model.ckpt\n    fi\n\n    # Check to see if SD Concepts has been added yet, if not it will download it and place it in the proper directory\n    if [ -d \"$DIRECTORY/models/custom/sd-concepts-library\" ]; then\n        printf \"SD Concepts Library already exists. Continuing...\\n\\n\"\n    else\n        printf \"Downloading and Extracting SD Concepts Library model. Please wait...\\n\"\n        mkdir $DIRECTORY/models/custom\n        wget $SD_CONCEPT_REPO\n        if ! command -v unzip &> /dev/null\n        then\n            printf \"Warning: unzip could not be found. \\nPlease install 'unzip' from your package manager and rerun this program.\\n\"\n            exit 1\n        fi\n        unzip main.zip\n        mv sd-concepts-library-main/sd-concepts-library $DIRECTORY/models/custom\n    fi\n}\n\n# Show the user a prompt asking them which version of the WebUI they wish to use, Streamlit or Gradio\nlaunch_webui () {\n    # skip the prompt if --bridge command-line argument is detected\n    for arg in \"$@\"; do\n        if [ \"$arg\" == \"--bridge\" ]; then\n           python -u scripts/relauncher.py \"$@\"\n           return\n        fi\n    done\n    printf \"\\n\\n########## LAUNCH USING STREAMLIT OR GRADIO? ##########\\n\\n\"\n    printf \"Do you wish to run the WebUI using the Gradio or StreamLit Interface?\\n\\n\"\n    printf \"Streamlit: \\nHas A More Modern UI \\nMore Features Planned \\nWill Be The Main UI Going Forward \\nCurrently In Active Development \\n\\n\"\n    printf \"Gradio: \\nCurrently Feature Complete \\nUses An Older Interface Style \\nWill Not Receive Major Updates\\n\\n\"\n    printf \"Which Version of the WebUI Interface do you wish to use?\\n\"\n    select yn in \"Streamlit\" \"Gradio\"; do\n        case $yn in\n            Streamlit ) printf \"\\nStarting Stable Diffusion WebUI: Streamlit Interface. Please Wait...\\n\"; python -m streamlit run scripts/webui_streamlit.py; break;;\n            Gradio ) printf \"\\nStarting Stable Diffusion WebUI: Gradio Interface. Please Wait...\\n\"; python scripts/relauncher.py \"$@\"; break;;\n        esac\n    done\n}\n\n# Function to initialize the other functions\nstart_initialization () {\n    conda_env_setup\n    sd_model_loading\n    post_processor_model_loading\n    conda_env_activation\n    if [ ! -e \"models/ldm/stable-diffusion-v1/*.ckpt\" ]; then\n        echo \"Your model file does not exist! Streamlit will handle this automatically, however Gradio still requires this file be placed manually. If you intend to use the Gradio interface, place it in 'models/ldm/stable-diffusion-v1' with the name 'model.ckpt'.\"\n        read -p \"Once you have sd-v1-4.ckpt in the project root, if you are going to use Gradio, Press Enter...\\n\\n\"\n    fi\n    launch_webui \"$@\"\n\n}\n\nstart_initialization \"$@\"\n"
  },
  {
    "path": "webui_legacy.cmd",
    "content": "@echo off\n:: This file is part of sygil-webui (https://github.com/Sygil-Dev/sygil-webui/).\n\n:: Copyright 2022 Sygil-Dev team.\n:: This program is free software: you can redistribute it and/or modify\n:: it under the terms of the GNU Affero General Public License as published by\n:: the Free Software Foundation, either version 3 of the License, or\n:: (at your option) any later version.\n\n:: This program is distributed in the hope that it will be useful,\n:: but WITHOUT ANY WARRANTY; without even the implied warranty of\n:: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n:: GNU Affero General Public License for more details.\n\n:: You should have received a copy of the GNU Affero General Public License\n:: along with this program.  If not, see <http://www.gnu.org/licenses/>.\n:: Run all commands using this script's directory as the working directory\ncd %~dp0\n\n:: copy over the first line from environment.yaml, e.g. name: ldm, and take the second word after splitting by \":\" delimiter\nfor /F \"tokens=2 delims=: \" %%i in (environment.yaml) DO (\n  set v_conda_env_name=%%i\n  goto EOL\n)\n:EOL\n\necho Environment name is set as %v_conda_env_name% as per environment.yaml\n\n:: Put the path to conda directory in a file called \"custom-conda-path.txt\" if it's installed at non-standard path\nIF EXIST custom-conda-path.txt (\n  FOR /F %%i IN (custom-conda-path.txt) DO set v_custom_path=%%i\n)\n\nset v_paths=%ProgramData%\\miniconda3\nset v_paths=%v_paths%;%USERPROFILE%\\miniconda3\nset v_paths=%v_paths%;%ProgramData%\\anaconda3\nset v_paths=%v_paths%;%USERPROFILE%\\anaconda3\n\nfor %%a in (%v_paths%) do (\n  IF NOT \"%v_custom_path%\"==\"\" (\n    set v_paths=%v_custom_path%;%v_paths%\n  )\n)\n\nfor %%a in (%v_paths%) do (\n  if EXIST \"%%a\\Scripts\\activate.bat\" (\n    SET v_conda_path=%%a\n    echo anaconda3/miniconda3 detected in %%a\n    goto :CONDA_FOUND\n  )\n)\n\nIF \"%v_conda_path%\"==\"\" (\n  echo anaconda3/miniconda3 not found. Install from here https://docs.conda.io/en/latest/miniconda.html\n  pause\n  exit /b 1\n)\n\n:CONDA_FOUND\necho Stashing local changes and pulling latest update...\ngit status --porcelain=1 -uno | findstr . && set \"HasChanges=1\" || set \"HasChanges=0\"\ncall git stash\ncall git pull\nIF \"%HasChanges%\" == \"0\" GOTO SKIP_RESTORE\n\nset /P restore=\"Do you want to restore changes you made before updating? (Y/N): \"\nIF /I \"%restore%\" == \"N\" (\n  echo Removing changes...\n  call git stash drop\n  echo Changes removed\n) ELSE IF /I \"%restore%\" == \"Y\" (\n  echo Restoring changes...\n  call git stash pop --quiet\n  echo Changes restored\n)\n\n:SKIP_RESTORE\ncall \"%v_conda_path%\\Scripts\\activate.bat\"\n\nfor /f \"delims=\" %%a in ('git log -1 --format^=\"%%H\" -- environment.yaml')  DO set v_cur_hash=%%a\nset /p \"v_last_hash=\"<\"z_version_env.tmp\"\necho %v_cur_hash%>z_version_env.tmp\n\necho Current  environment.yaml hash: %v_cur_hash%\necho Previous environment.yaml hash: %v_last_hash%\n\nif \"%v_last_hash%\" == \"%v_cur_hash%\" (\n  echo environment.yaml unchanged. dependencies should be up to date.\n  echo if you still have unresolved dependencies, delete \"z_version_env.tmp\"\n) else (\n  echo environment.yaml changed. updating dependencies\n  call conda env create --name \"%v_conda_env_name%\" -f environment.yaml\n  call conda env update --name \"%v_conda_env_name%\" -f environment.yaml\n)\n\n\ncall \"%v_conda_path%\\Scripts\\activate.bat\" \"%v_conda_env_name%\"\n\n:PROMPT\nset SETUPTOOLS_USE_DISTUTILS=stdlib\nIF EXIST \"models\\ldm\\stable-diffusion-v1\\model.ckpt\" (\n  set \"PYTHONPATH=%~dp0\"\n  python scripts\\relauncher.py %*\n) ELSE (\n  echo Your model file does not exist! Place it in 'models\\ldm\\stable-diffusion-v1' with the name 'model.ckpt'.\n  pause\n)\n\n::cmd /k\n"
  }
]